@maci-protocol/website 0.0.0-ci.bab2f09 → 0.0.0-ci.bd42e06

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 (52) 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 +5 -5
  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 +3 -3
  30. package/versioned_docs/version-v3.x/core-concepts/polls.md +4 -4
  31. package/versioned_docs/version-v3.x/core-concepts/spec.md +41 -107
  32. package/versioned_docs/version-v3.x/core-concepts/state-leaf.md +2 -2
  33. package/versioned_docs/version-v3.x/guides/compile-circuits.md +7 -7
  34. package/versioned_docs/version-v3.x/guides/integrating.md +9 -9
  35. package/versioned_docs/version-v3.x/guides/testing/testing-in-detail.md +1 -1
  36. package/versioned_docs/version-v3.x/guides/troubleshooting.md +11 -11
  37. package/versioned_docs/version-v3.x/quick-start.md +29 -21
  38. package/versioned_docs/version-v3.x/security/audit.md +2 -2
  39. package/versioned_docs/version-v3.x/supported-networks/deployed-contracts.md +8 -8
  40. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MACI.md +6 -6
  41. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MessageProcessor.md +1 -1
  42. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Params.md +2 -2
  43. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Poll.md +8 -8
  44. package/versioned_docs/version-v3.x/technical-references/smart-contracts/PollFactory.md +1 -1
  45. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Tally.md +3 -3
  46. package/versioned_docs/version-v3.x/technical-references/smart-contracts/VkRegistry.md +5 -5
  47. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/joinPoll.md +3 -4
  48. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/processMessages.md +12 -12
  49. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/setup.md +1 -1
  50. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/tallyVotes.md +3 -3
  51. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/utilities.md +7 -7
  52. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +1 -1
@@ -18,4 +18,4 @@
18
18
  </style>
19
19
 
20
20
  </defs>
21
- <rect x="0" y="0" width="1661.2121931184993" height="925.9417364201454" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(317.97030764025294 332.6192072857632) rotate(0 114.33810379333909 33.800522136203085)"><path d="M16.9 0 C84.57 -0.25, 156.17 -0.52, 211.78 0 M16.9 0 C94.58 -0.08, 171.56 0.88, 211.78 0 M211.78 0 C221.47 -1.29, 229.02 4.96, 228.68 16.9 M211.78 0 C222.55 -1.55, 229.14 4.05, 228.68 16.9 M228.68 16.9 C228.42 31.65, 230.23 43.99, 228.68 50.7 M228.68 16.9 C229.27 31.38, 228.62 43.93, 228.68 50.7 M228.68 50.7 C227.43 60.23, 222.54 67.96, 211.78 67.6 M228.68 50.7 C228.19 61.36, 222.6 66.19, 211.78 67.6 M211.78 67.6 C147.03 68.89, 83.9 69.66, 16.9 67.6 M211.78 67.6 C150.66 68.65, 90.69 68.44, 16.9 67.6 M16.9 67.6 C6.37 66.97, 1.4 63.35, 0 50.7 M16.9 67.6 C3.38 66.78, 0.24 60.69, 0 50.7 M0 50.7 C-0.88 39.25, 1.39 29.82, 0 16.9 M0 50.7 C0.75 39.35, -0.4 26.18, 0 16.9 M0 16.9 C-1.14 5.26, 5.22 -1.99, 16.9 0 M0 16.9 C-1.84 4.33, 3.82 0, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(401.6884468339822 353.91972942196617) rotate(0 30.619964599609375 12.5)"><text x="30.619964599609375" 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">Splicer</text></g><g stroke-linecap="round" transform="translate(449.18206115463545 187.0279473224166) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C84.99 -0.5, 149.42 -0.91, 204.03 0 M16.09 0 C60.59 -1.34, 106.84 -1.03, 204.03 0 M204.03 0 C214.32 -1.35, 220.52 3.99, 220.12 16.09 M204.03 0 C216.57 -0.66, 222.32 5.18, 220.12 16.09 M220.12 16.09 C222.38 30.13, 222.14 42.38, 220.12 48.27 M220.12 16.09 C219.41 27.97, 219.78 41.77, 220.12 48.27 M220.12 48.27 C219.69 58.46, 214.37 63.13, 204.03 64.35 M220.12 48.27 C220.73 58.78, 216.14 63.08, 204.03 64.35 M204.03 64.35 C146.81 63.18, 89.26 63.58, 16.09 64.35 M204.03 64.35 C129.4 65.5, 54.74 66.51, 16.09 64.35 M16.09 64.35 C3.4 63.65, 0.21 57.88, 0 48.27 M16.09 64.35 C4.96 64.9, -0.06 58.07, 0 48.27 M0 48.27 C1.04 42.77, 0.4 36.93, 0 16.09 M0 48.27 C-0.5 35.38, -0.14 21.87, 0 16.09 M0 16.09 C-1.6 4.23, 3.79 0, 16.09 0 M0 16.09 C-1.33 7.46, 6 -0.29, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(456.7397162395455 194.20536387329253) 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">numItems)</text></g><g stroke-linecap="round"><g transform="translate(419.55349741992904 282.9496010902087) rotate(0 -0.44580281989510695 19.782500132839004)"><path d="M-0.03 -0.32 C-0.27 6.33, -1.13 33.18, -1.34 39.77 M-0.71 0.7 C-0.79 7.2, -0.42 32.42, -0.34 38.91" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(419.55349741992904 282.9496010902087) rotate(0 -0.44580281989510695 19.782500132839004)"><path d="M-7.35 20.4 C-5.75 25.42, -2.6 31.27, -0.34 38.91 M-7.35 20.4 C-5.79 24.44, -3.93 28.8, -0.34 38.91" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(419.55349741992904 282.9496010902087) rotate(0 -0.44580281989510695 19.782500132839004)"><path d="M6.18 20.23 C3.52 25.29, 2.42 31.2, -0.34 38.91 M6.18 20.23 C4.56 24.28, 3.22 28.68, -0.34 38.91" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(10 336.01546262869283) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C72.13 -0.04, 125.4 1.88, 204.03 0 M16.09 0 C66.33 0.58, 116.97 0.98, 204.03 0 M204.03 0 C216.67 -0.16, 222.05 7.02, 220.12 16.09 M204.03 0 C216.43 2.3, 221.59 7.39, 220.12 16.09 M220.12 16.09 C220.4 25.72, 218.69 37.33, 220.12 48.27 M220.12 16.09 C219.85 25.71, 220.31 36.47, 220.12 48.27 M220.12 48.27 C221.33 57.88, 214.86 63.74, 204.03 64.35 M220.12 48.27 C221.13 59.21, 212.45 64.42, 204.03 64.35 M204.03 64.35 C164.24 64.22, 120.72 64.88, 16.09 64.35 M204.03 64.35 C134.72 63.13, 65.02 63.92, 16.09 64.35 M16.09 64.35 C5.31 63.55, -1.9 60.46, 0 48.27 M16.09 64.35 C3.33 65.82, 1.28 59.72, 0 48.27 M0 48.27 C-0.15 34.47, -0.68 22.53, 0 16.09 M0 48.27 C-0.53 41.82, -0.32 36.28, 0 16.09 M0 16.09 C0.55 5.11, 5.12 0.52, 16.09 0 M0 16.09 C1.87 3.82, 7.54 0.9, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(17.837661493601445 355.69287917956876) rotate(0 102.21990966796875 12.5)"><text x="102.21990966796875" 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: numItems</text></g><g transform="translate(464.95521238312176 285.496456089053) 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(476.24144849512413 434.0633637955491) 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(415.2605813764967 432.79301002546003) rotate(0 0.22290140994755347 20.511057519056408)"><path d="M0.11 -0.38 C0.28 6.49, 0.74 33.97, 0.88 40.86 M-0.5 0.62 C-0.35 7.6, 0.44 34.66, 0.67 41.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(415.2605813764967 432.79301002546003) rotate(0 0.22290140994755347 20.511057519056408)"><path d="M-6.94 22.44 C-5.57 28.52, -3.05 34, 0.67 41.48 M-6.94 22.44 C-4.26 28.47, -2.08 33.97, 0.67 41.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(415.2605813764967 432.79301002546003) rotate(0 0.22290140994755347 20.511057519056408)"><path d="M7.08 22 C4.55 28.22, 3.16 33.82, 0.67 41.48 M7.08 22 C5.67 28.22, 3.75 33.85, 0.67 41.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(318.2396275262654 499.6911423923523) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C75.68 0.43, 136.26 0.45, 204.03 0 M16.09 0 C88.64 -1, 160.3 -0.92, 204.03 0 M204.03 0 C214.21 -0.02, 218.87 3.63, 220.12 16.09 M204.03 0 C214.17 0.42, 219.63 4.76, 220.12 16.09 M220.12 16.09 C219.74 26.33, 218.81 34.26, 220.12 48.27 M220.12 16.09 C219.26 24.78, 219.46 34.4, 220.12 48.27 M220.12 48.27 C219.19 60.55, 215.49 63.73, 204.03 64.35 M220.12 48.27 C221.72 60.59, 212.5 63.54, 204.03 64.35 M204.03 64.35 C146.16 63.97, 86.56 62.13, 16.09 64.35 M204.03 64.35 C134.44 65.87, 64.67 66.5, 16.09 64.35 M16.09 64.35 C4.94 64.51, -1.14 58.62, 0 48.27 M16.09 64.35 C4.89 62.07, -1.84 57.69, 0 48.27 M0 48.27 C1.83 41.7, -0.26 33.79, 0 16.09 M0 48.27 C0.68 38.16, -0.02 28.27, 0 16.09 M0 16.09 C-0.82 3.62, 4.53 -1.22, 16.09 0 M0 16.09 C-1.45 3.51, 4.07 2.18, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(330.95727101449575 506.8685589432282) rotate(0 97.33992767333984 25)"><text x="97.33992767333984" 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">output array of </text><text x="97.33992767333984" 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">length numItems + 1</text></g><g stroke-linecap="round"><g transform="translate(245.41484743370165 369.4796940524359) rotate(0 24.516584875629633 -0.23062704764174669)"><path d="M0.53 0.45 C8.68 0.48, 41.29 0.16, 49.43 0.09 M0.14 0.21 C8.21 0.1, 41.03 -0.43, 49.21 -0.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.41484743370165 369.4796940524359) rotate(0 24.516584875629633 -0.23062704764174669)"><path d="M26.32 8.2 C36.22 5.34, 45.45 1.76, 49.21 -0.59 M26.32 8.2 C35.05 4.67, 43.75 0.83, 49.21 -0.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.41484743370165 369.4796940524359) rotate(0 24.516584875629633 -0.23062704764174669)"><path d="M26.02 -8.57 C36.03 -4.79, 45.39 -1.72, 49.21 -0.59 M26.02 -8.57 C34.9 -5.59, 43.72 -2.93, 49.21 -0.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(758.986193153969 14.166409573042756) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C92.64 -0.09, 166.96 -0.61, 204.03 0 M16.09 0 C89.94 -0.85, 164.78 0.2, 204.03 0 M204.03 0 C214.33 -0.53, 219.73 4.14, 220.12 16.09 M204.03 0 C215.36 -0.21, 221.51 4.08, 220.12 16.09 M220.12 16.09 C220.21 23.92, 220.08 34.15, 220.12 48.27 M220.12 16.09 C220.33 28.62, 220.67 42.46, 220.12 48.27 M220.12 48.27 C218.15 58.28, 214.96 63.24, 204.03 64.35 M220.12 48.27 C219.72 59.53, 214.69 63.43, 204.03 64.35 M204.03 64.35 C166.74 63.8, 127.53 64.56, 16.09 64.35 M204.03 64.35 C129.29 64.31, 55.49 63.5, 16.09 64.35 M16.09 64.35 C3.76 63.22, -1.58 58.99, 0 48.27 M16.09 64.35 C4.03 66.46, 0.64 58.7, 0 48.27 M0 48.27 C-1.42 40.89, 0.7 30.22, 0 16.09 M0 48.27 C-0.28 34.8, -0.5 21.75, 0 16.09 M0 16.09 C-1.12 7.26, 6.25 0.46, 16.09 0 M0 16.09 C0.02 5.37, 4.34 1.78, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(777.4938299283322 21.34382612391869) rotate(0 91.54993438720703 25)"><text x="91.54993438720703" 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 </text><text x="91.54993438720703" 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">numItems + 1</text></g><g transform="translate(603.0517117358013 311.0190766332371) 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.8750994757429 371.6533977702295) rotate(0 54.049464108376924 -0.8482636989667753)"><path d="M-0.3 0.22 C17.8 0.06, 89.82 -1.57, 107.85 -2.01 M1.74 -0.71 C19.72 -0.61, 89.23 -0.51, 106.77 -0.64" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(585.8750994757429 371.6533977702295) rotate(0 54.049464108376924 -0.8482636989667753)"><path d="M78.6 9.68 C85.75 6.88, 91.56 4.45, 106.77 -0.64 M78.6 9.68 C85.9 6.69, 92.08 4.47, 106.77 -0.64" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(585.8750994757429 371.6533977702295) rotate(0 54.049464108376924 -0.8482636989667753)"><path d="M78.55 -10.84 C85.54 -8.76, 91.36 -6.3, 106.77 -0.64 M78.55 -10.84 C85.92 -8.93, 92.11 -6.25, 106.77 -0.64" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(206.28010490124143 185.44706760984673) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C67.21 0.01, 118.16 0.93, 204.03 0 M16.09 0 C70.82 0.74, 125.88 1.14, 204.03 0 M204.03 0 C212.75 0.06, 218.51 7.34, 220.12 16.09 M204.03 0 C213.69 1.79, 220.96 4.64, 220.12 16.09 M220.12 16.09 C219.63 28.2, 219.23 39.54, 220.12 48.27 M220.12 16.09 C219.16 27.23, 219.22 37.55, 220.12 48.27 M220.12 48.27 C221.23 59.63, 216.62 66.25, 204.03 64.35 M220.12 48.27 C219.62 59.17, 213.45 63.92, 204.03 64.35 M204.03 64.35 C150.41 61.27, 99.06 61.7, 16.09 64.35 M204.03 64.35 C130.35 64.38, 57.74 63.45, 16.09 64.35 M16.09 64.35 C7.26 65.14, 0.49 60.98, 0 48.27 M16.09 64.35 C4.42 62.35, -0.96 57.59, 0 48.27 M0 48.27 C2.15 41.52, 0.72 33.03, 0 16.09 M0 48.27 C-0.76 39.4, 0.19 29.21, 0 16.09 M0 16.09 C0.15 4.35, 5.09 -1.84, 16.09 0 M0 16.09 C-0.13 5.68, 4.27 1.04, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(296.7076940681827 205.12448416072266) rotate(0 19.629981994628906 12.5)"><text x="19.629981994628906" 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">leaf</text></g><g stroke-linecap="round" transform="translate(328.0691399267289 100.45920892080494) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C84.82 0.58, 157.21 0.17, 204.03 0 M16.09 0 C87.13 -0.5, 160.85 -0.1, 204.03 0 M204.03 0 C213.48 -0.02, 220.29 4.41, 220.12 16.09 M204.03 0 C215.66 0.44, 220.74 6.11, 220.12 16.09 M220.12 16.09 C220.94 27.96, 219.49 39.69, 220.12 48.27 M220.12 16.09 C219.39 27.97, 220.65 39.39, 220.12 48.27 M220.12 48.27 C218.62 60.96, 216.38 65.02, 204.03 64.35 M220.12 48.27 C220.57 57.97, 212.9 64.1, 204.03 64.35 M204.03 64.35 C140.49 62.92, 80.07 61.1, 16.09 64.35 M204.03 64.35 C139.51 64.43, 72.72 64.06, 16.09 64.35 M16.09 64.35 C6.83 64.17, -0.75 58.7, 0 48.27 M16.09 64.35 C5.2 64.3, -0.14 60.65, 0 48.27 M0 48.27 C-1.04 36.85, 0.77 22.14, 0 16.09 M0 48.27 C-0.88 40.92, 0.59 32.98, 0 16.09 M0 16.09 C-1.78 6.2, 6.42 0.06, 16.09 0 M0 16.09 C-0.3 3.29, 6.74 -0.9, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(414.48673458683425 120.13662547168087) 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(756.1797517744817 108.38070020391842) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C80.18 0.22, 142.25 -1.16, 198.87 0 M21.25 0 C73.85 -0.59, 124.13 -1.34, 198.87 0 M198.87 0 C213.78 -1.86, 221.26 8.05, 220.12 21.25 M198.87 0 C212.7 0.5, 218.39 5.86, 220.12 21.25 M220.12 21.25 C217.82 30.44, 219.56 40.15, 220.12 63.75 M220.12 21.25 C219.61 30.86, 221.09 39.16, 220.12 63.75 M220.12 63.75 C219.63 77.8, 213.06 83.77, 198.87 85 M220.12 63.75 C222.09 79.28, 214.62 82.95, 198.87 85 M198.87 85 C158.67 86.76, 115.11 85.13, 21.25 85 M198.87 85 C157.12 83.04, 114.49 82.95, 21.25 85 M21.25 85 C6.07 83.17, 0.28 78.24, 0 63.75 M21.25 85 C5.75 84.59, -0.49 78.51, 0 63.75 M0 63.75 C-1 53.48, 0.23 44.14, 0 21.25 M0 63.75 C0.72 47.09, 0.63 29.88, 0 21.25 M0 21.25 C0.83 8.8, 6.18 -1.23, 21.25 0 M0 21.25 C-1.25 7.35, 5.58 0.46, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(769.0274077749191 113.38070020391842) rotate(0 97.20991516113281 37.5)"><text x="97.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. compare input </text><text x="97.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">index with the loop </text><text x="97.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">index (i) </text></g><g stroke-linecap="round" transform="translate(750.2785129572394 205.91811713901166) rotate(0 129.40052343244815 67.5)"><path d="M32 0 C90.32 -3.5, 144.23 -0.19, 226.8 0 M32 0 C73.76 0.77, 113.86 0.76, 226.8 0 M226.8 0 C248.25 0.42, 258.53 10.73, 258.8 32 M226.8 0 C248.66 1.94, 257.93 11.88, 258.8 32 M258.8 32 C259.96 48.74, 257.52 62.45, 258.8 103 M258.8 32 C259.07 56.91, 260.15 81.68, 258.8 103 M258.8 103 C256.87 122.99, 249.45 133, 226.8 135 M258.8 103 C258.71 125.37, 248.31 134.27, 226.8 135 M226.8 135 C172.77 136.52, 119.28 136.71, 32 135 M226.8 135 C177.81 134.65, 127.36 133.66, 32 135 M32 135 C10.23 133.23, 0.95 125.13, 0 103 M32 135 C12.44 132.78, 1.79 123.99, 0 103 M0 103 C0.85 87.29, 2.2 71.81, 0 32 M0 103 C0.69 79.2, 0.25 54.66, 0 32 M0 32 C-0.43 10.42, 12.3 -1.91, 32 0 M0 32 C-0.87 9.51, 9.7 -1.01, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(756.6591465581441 223.41811713901166) rotate(0 123.01988983154297 50)"><text x="123.01988983154297" 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. use QuinSelector to </text><text x="123.01988983154297" 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">get the item at position</text><text x="123.01988983154297" 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">i - </text><text x="123.01988983154297" 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">SafeGreaterThan.output</text></g><g stroke-linecap="round" transform="translate(1084.300893945141 10) rotate(0 75.13977420504852 92.5)"><path d="M32 0 C51.65 -1.95, 73.01 1.08, 118.28 0 M32 0 C50.88 -0.06, 70.59 -0.87, 118.28 0 M118.28 0 C137.75 1.79, 148.52 10.7, 150.28 32 M118.28 0 C141.88 1.99, 151.5 9.84, 150.28 32 M150.28 32 C150.69 67.62, 151.84 103.44, 150.28 153 M150.28 32 C150.38 63.07, 151.47 92.58, 150.28 153 M150.28 153 C148.56 175.89, 138.17 185.79, 118.28 185 M150.28 153 C152.54 175.41, 141.11 183.71, 118.28 185 M118.28 185 C93.34 184.66, 67.41 187.41, 32 185 M118.28 185 C84.47 184.02, 49.16 183.94, 32 185 M32 185 C10.49 183.91, -1.14 173.29, 0 153 M32 185 C9.97 186.94, -0.12 176.47, 0 153 M0 153 C0.02 119.42, 1.26 89.85, 0 32 M0 153 C-0.27 116.04, -0.16 78.15, 0 32 M0 32 C-0.56 11.57, 12.27 0.85, 32 0 M0 32 C1.57 11.48, 10.11 -1.73, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1092.26072888017 15) rotate(0 67.17993927001953 87.5)"><text x="67.17993927001953" 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 </text><text x="67.17993927001953" 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">SafeGreater</text><text x="67.17993927001953" 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">Than with </text><text x="67.17993927001953" 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">inputs i and </text><text x="67.17993927001953" 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">index to </text><text x="67.17993927001953" y="125" 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</text><text x="67.17993927001953" y="150" 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">i &gt; index</text></g><g stroke-linecap="round"><g transform="translate(987.3984043562268 138.42669543005127) rotate(0 40.18022924569368 -14.669761092601334)"><path d="M-0.07 -0.39 C13.14 -5.24, 66.48 -25.08, 79.88 -29.81 M-1.57 -1.63 C11.39 -6.26, 65.16 -23.66, 78.67 -28.52" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(987.3984043562268 138.42669543005127) rotate(0 40.18022924569368 -14.669761092601334)"><path d="M55.28 -9.74 C62.92 -17.1, 70.95 -22.95, 78.67 -28.52 M55.28 -9.74 C62.99 -17.35, 70.65 -22.21, 78.67 -28.52" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(987.3984043562268 138.42669543005127) rotate(0 40.18022924569368 -14.669761092601334)"><path d="M48.68 -29.17 C58.51 -29.73, 68.85 -28.8, 78.67 -28.52 M48.68 -29.17 C58.66 -30.06, 68.62 -28.16, 78.67 -28.52" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1076.2054654773992 204.6119361823212) rotate(0 131.73044373868015 80)"><path d="M32 0 C73.4 -0.63, 110.87 0.07, 231.46 0 M32 0 C102.79 -0.45, 175.39 1.03, 231.46 0 M231.46 0 C254.07 -0.06, 261.69 10.68, 263.46 32 M231.46 0 C250.88 1.57, 261.58 10.52, 263.46 32 M263.46 32 C264.68 53.47, 265.49 77.83, 263.46 128 M263.46 32 C264.94 64.08, 264.91 97.26, 263.46 128 M263.46 128 C264.54 148.09, 253.54 159.72, 231.46 160 M263.46 128 C262.81 150, 252.73 160.79, 231.46 160 M231.46 160 C186.74 161.22, 138.99 161.09, 32 160 M231.46 160 C177.45 162.17, 124.88 162.83, 32 160 M32 160 C8.92 160.66, -1.98 149.39, 0 128 M32 160 C8.95 159.18, 1.39 147.67, 0 128 M0 128 C1.01 102.77, -0.01 78.34, 0 32 M0 128 C-0.64 99.92, -1.13 72.99, 0 32 M0 32 C1.06 9.3, 11.75 0.26, 32 0 M0 32 C0.29 8.49, 9.98 -1.56, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1085.9060096189114 209.6119361823212) rotate(0 122.02989959716797 75)"><text x="122.02989959716797" 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">if i &gt; index</text><text x="122.02989959716797" 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">QuinSelector index == i -</text><text x="122.02989959716797" 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"> 1</text><text x="122.02989959716797" 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">else </text><text x="122.02989959716797" 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">index == i - 0</text><text x="122.02989959716797" y="125" 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(1359.3924297874382 213.66365968804803) rotate(0 145.90988166553052 67.5)"><path d="M32 0 C113.1 0.29, 193.35 0.51, 259.82 0 M32 0 C119.33 -1.16, 206.29 -1.19, 259.82 0 M259.82 0 C280.03 -1.42, 289.93 10.1, 291.82 32 M259.82 0 C278.95 0.27, 293.51 10.12, 291.82 32 M291.82 32 C291.55 58.14, 291.75 83.15, 291.82 103 M291.82 32 C293.05 52.52, 292.78 73.7, 291.82 103 M291.82 103 C293.14 122.4, 282.21 136.63, 259.82 135 M291.82 103 C293.24 122.33, 281.64 135.08, 259.82 135 M259.82 135 C199.53 137.84, 136.87 137.19, 32 135 M259.82 135 C213.02 134.08, 166.14 134.19, 32 135 M32 135 C12.22 136.94, 0.19 124.35, 0 103 M32 135 C11.17 135.72, -2.17 122.11, 0 103 M0 103 C-0.14 83.36, 1.28 66.59, 0 32 M0 103 C0.34 79.07, 0.37 55.4, 0 32 M0 32 C0.98 9.28, 11.23 1.28, 32 0 M0 32 C-0.55 9.71, 10.98 1.63, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1367.0724377957422 218.66365968804803) rotate(0 138.22987365722656 62.5)"><text x="138.22987365722656" 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"> if i is greater than the </text><text x="138.22987365722656" 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, the selected item will</text><text x="138.22987365722656" 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">be one position to the left </text><text x="138.22987365722656" 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">of the current position in </text><text x="138.22987365722656" 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">the input array</text></g><g stroke-linecap="round"><g transform="translate(1021.443455986926 258.10821345077966) rotate(0 20.35269890637801 2.331826851129563)"><path d="M0.34 0.28 C7.11 1.13, 33.65 4.03, 40.42 4.82 M-0.14 -0.05 C6.82 0.65, 34.69 3.23, 41.51 3.93" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1021.443455986926 258.10821345077966) rotate(0 20.35269890637801 2.331826851129563)"><path d="M21.67 9.05 C27.52 7.09, 32.63 6.71, 41.51 3.93 M21.67 9.05 C28.83 7.22, 35.77 4.85, 41.51 3.93" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1021.443455986926 258.10821345077966) rotate(0 20.35269890637801 2.331826851129563)"><path d="M23.02 -4.9 C28.47 -3.1, 33.22 0.27, 41.51 3.93 M23.02 -4.9 C29.62 -1.65, 36.07 1.04, 41.51 3.93" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(747.9719038383319 369.6488128553551) rotate(0 129.40052343244815 67.5)"><path d="M32 0 C91.89 -1.71, 153.26 -1.72, 226.8 0 M32 0 C80.87 0.3, 130.33 0.78, 226.8 0 M226.8 0 C249.21 0.38, 259.17 9.61, 258.8 32 M226.8 0 C247.25 2.06, 257.95 9.65, 258.8 32 M258.8 32 C256.73 48.62, 260.09 63.83, 258.8 103 M258.8 32 C258.21 50.47, 258.81 70.53, 258.8 103 M258.8 103 C259 122.35, 248.96 136.59, 226.8 135 M258.8 103 C259.54 125.86, 246.08 132.74, 226.8 135 M226.8 135 C183.57 137.99, 145.15 136.39, 32 135 M226.8 135 C152.19 134.92, 76.47 134.09, 32 135 M32 135 C10.61 136.83, -0.97 126.19, 0 103 M32 135 C8.86 136.9, -2 126.63, 0 103 M0 103 C1.6 86.62, 0.43 70.46, 0 32 M0 103 C-0.64 81.19, -0.12 57.53, 0 32 M0 32 C1.33 11.24, 9.34 0.93, 32 0 M0 32 C2.07 10.04, 11.84 -1.92, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(754.23252706326 374.6488128553551) rotate(0 123.13990020751953 62.5)"><text x="123.13990020751953" 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. Inner loop through all</text><text x="123.13990020751953" 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">items and pass them to </text><text x="123.13990020751953" 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">QuinSelector as inputs </text><text x="123.13990020751953" 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 last item will be </text><text x="123.13990020751953" 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">zero (position numItems)</text></g><g stroke-linecap="round" transform="translate(745.5052399869246 525.1414082493746) rotate(0 129.40052343244815 67.5)"><path d="M32 0 C97.27 0.21, 164.37 -0.38, 226.8 0 M32 0 C106.46 -1.58, 181.86 -0.98, 226.8 0 M226.8 0 C249.65 1.04, 257.27 12.34, 258.8 32 M226.8 0 C246.38 -1.14, 259.62 11.72, 258.8 32 M258.8 32 C257.36 48.6, 258.6 63.32, 258.8 103 M258.8 32 C259.59 58.22, 258.09 85.17, 258.8 103 M258.8 103 C260.63 125.59, 248.85 134.93, 226.8 135 M258.8 103 C256.67 123.28, 246.68 135.8, 226.8 135 M226.8 135 C180.36 134.05, 134.02 135.93, 32 135 M226.8 135 C151.48 136.07, 76.69 136.27, 32 135 M32 135 C10.79 133.51, 0.02 126.32, 0 103 M32 135 C11.74 134.9, 1.79 126.36, 0 103 M0 103 C1.74 90.22, 1.22 73.71, 0 32 M0 103 C0.62 79.76, 0.1 55.51, 0 32 M0 32 C1.37 10, 11.2 -1.74, 32 0 M0 32 C1.2 9.45, 10.99 -0.31, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(751.1158540565793 567.6414082493746) rotate(0 123.78990936279297 25)"><text x="123.78990936279297" 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. Using IsEqual check if</text><text x="123.78990936279297" 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">i == index</text></g><g stroke-linecap="round" transform="translate(1098.6201762016244 552.7385743922013) rotate(0 142.09401926954797 30)"><path d="M15 0 C83.53 -2.43, 152.29 -0.77, 269.19 0 M15 0 C80.64 -0.66, 146.6 -0.01, 269.19 0 M269.19 0 C277.47 -0.54, 286.08 3.9, 284.19 15 M269.19 0 C280.59 -2.05, 283.77 3.02, 284.19 15 M284.19 15 C282.87 24.05, 284.42 34.42, 284.19 45 M284.19 15 C285.2 24.34, 284.9 33.01, 284.19 45 M284.19 45 C282.34 56.05, 278.04 59.59, 269.19 60 M284.19 45 C284.79 53.36, 279.69 58.17, 269.19 60 M269.19 60 C190.69 61.5, 115.01 61.29, 15 60 M269.19 60 C172.26 62.18, 76.84 60.87, 15 60 M15 60 C3.1 58.4, 1.45 54.67, 0 45 M15 60 C3.3 60.3, 2.08 55.94, 0 45 M0 45 C1.35 37.37, 1.1 26.11, 0 15 M0 45 C0.55 37.14, -0.22 28.2, 0 15 M0 15 C0.57 4.88, 6.82 -0.26, 15 0 M0 15 C0.13 3.95, 5.64 -0.77, 15 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1117.0342943481255 557.7385743922013) rotate(0 123.67990112304688 25)"><text x="123.67990112304688" 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">if i == index output is 1 </text><text x="123.67990112304688" 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">else 0</text></g><g stroke-linecap="round"><g transform="translate(1020.3062868518218 587.0115570605581) rotate(0 31.156944674901297 -5.347403980994386)"><path d="M-0.4 -0.8 C9.84 -2.57, 51.64 -8.46, 62.26 -9.97 M1.59 1.39 C11.6 -0.77, 51.04 -9.51, 61.29 -11.71" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1020.3062868518218 587.0115570605581) rotate(0 31.156944674901297 -5.347403980994386)"><path d="M35.93 4.33 C43.82 -1.56, 55.68 -5.68, 61.29 -11.71 M35.93 4.33 C44.88 -1.44, 55.28 -6.95, 61.29 -11.71" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1020.3062868518218 587.0115570605581) rotate(0 31.156944674901297 -5.347403980994386)"><path d="M31.56 -15.72 C41.15 -14.23, 54.62 -11, 61.29 -11.71 M31.56 -15.72 C42.17 -14.12, 54.19 -12.23, 61.29 -11.71" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(752.8152005218626 679.8891038504536) rotate(0 286.1716097449503 51.79037207797484)"><path d="M25.9 0 C162.69 1.34, 298.79 1.33, 546.45 0 M25.9 0 C135.94 -1.71, 245.6 -1.46, 546.45 0 M546.45 0 C564.05 -0.78, 572.41 7.45, 572.34 25.9 M546.45 0 C564.42 -1.04, 571.66 10.63, 572.34 25.9 M572.34 25.9 C571.17 44.33, 572.86 61.43, 572.34 77.69 M572.34 25.9 C571.75 39.88, 572.42 54.31, 572.34 77.69 M572.34 77.69 C572.96 95.99, 564.21 104.71, 546.45 103.58 M572.34 77.69 C573.81 94.69, 563.04 104.92, 546.45 103.58 M546.45 103.58 C390.69 102.19, 235.68 102.28, 25.9 103.58 M546.45 103.58 C393.28 104.51, 239.57 104.26, 25.9 103.58 M25.9 103.58 C7.68 104.46, 1.86 95.02, 0 77.69 M25.9 103.58 C6.89 101.33, 1.26 93.61, 0 77.69 M0 77.69 C0.56 62.33, -1.5 43.55, 0 25.9 M0 77.69 C0.5 57.32, 0.32 37.81, 0 25.9 M0 25.9 C0.34 7.33, 9.28 0.9, 25.9 0 M0 25.9 C-0.66 8.11, 9.97 -0.06, 25.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(759.8870483039218 694.1794759284284) rotate(0 279.0997619628906 37.5)"><text x="279.0997619628906" 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. Use a Mux component to select either the output of</text><text x="279.0997619628906" 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 QuinSelector component or the leaf, based on the </text><text x="279.0997619628906" 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 above (i == index)</text></g><g stroke-linecap="round" transform="translate(752.3650576403224 802.3985870181622) rotate(0 133.96821733427623 56.77157470099161)"><path d="M28.39 0 C92.52 2.95, 154.31 -0.2, 239.55 0 M28.39 0 C100.48 -1.89, 172.47 -0.25, 239.55 0 M239.55 0 C256.84 1.96, 267.13 11.03, 267.94 28.39 M239.55 0 C256.39 -1.96, 266.61 7.54, 267.94 28.39 M267.94 28.39 C269.47 47.6, 269.34 67.9, 267.94 85.16 M267.94 28.39 C267.24 50.25, 268.03 71.72, 267.94 85.16 M267.94 85.16 C267.86 106.01, 258.62 113.69, 239.55 113.54 M267.94 85.16 C267.94 105.97, 256.48 114.46, 239.55 113.54 M239.55 113.54 C196.03 111.49, 155.19 111.66, 28.39 113.54 M239.55 113.54 C159.53 113.81, 78.07 112.72, 28.39 113.54 M28.39 113.54 C10.72 113.19, 0.35 104.2, 0 85.16 M28.39 113.54 C8.5 112.69, 1.21 104.37, 0 85.16 M0 85.16 C-0.74 63.25, -0.7 40.17, 0 28.39 M0 85.16 C-1.26 65.89, -0.25 48.13, 0 28.39 M0 28.39 C1.64 11.43, 8.59 0.24, 28.39 0 M0 28.39 C-2.18 10.24, 9.39 -0.11, 28.39 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(758.1433946035049 821.6701617191538) rotate(0 128.18988037109375 37.5)"><text x="128.18988037109375" 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">7. Wire the output of the</text><text x="128.18988037109375" 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">Mux to the output array</text><text x="128.18988037109375" 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">at position i </text></g><g stroke-linecap="round" transform="translate(1106.1389616361093 376.33936569124626) rotate(0 145.90988166553052 80)"><path d="M32 0 C120.26 0.43, 206.47 0.62, 259.82 0 M32 0 C85.51 1.22, 139.7 1.5, 259.82 0 M259.82 0 C279.23 1.66, 291.33 11.79, 291.82 32 M259.82 0 C280.25 -2.21, 292.92 10.07, 291.82 32 M291.82 32 C291.63 60.29, 292.24 87.01, 291.82 128 M291.82 32 C292.58 64.14, 291.98 97.3, 291.82 128 M291.82 128 C291.11 149.42, 280.35 160.65, 259.82 160 M291.82 128 C291.95 150.82, 281.94 159.47, 259.82 160 M259.82 160 C204.99 161.48, 149.42 161.62, 32 160 M259.82 160 C183.98 158.28, 107.64 157.87, 32 160 M32 160 C12.33 158.98, 0.78 148.94, 0 128 M32 160 C8.49 157.98, 0.62 148.89, 0 128 M0 128 C-0.88 107.36, -1.42 87.3, 0 32 M0 128 C0.3 109.39, 0.92 88.5, 0 32 M0 32 C-0.63 9.16, 11.76 1.4, 32 0 M0 32 C-0.22 8.94, 10.71 -1.94, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1115.9989470614055 381.33936569124637) rotate(0 136.04989624023438 75)"><text x="136.04989624023438" 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 last item is zero </text><text x="136.04989624023438" 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">because the output array </text><text x="136.04989624023438" 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">has 1 extra item compared </text><text x="136.04989624023438" 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">to the input array, and </text><text x="136.04989624023438" 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">they need to be of the </text><text x="136.04989624023438" y="125" 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">same length</text></g><g stroke-linecap="round"><g transform="translate(1035.4572025971438 440.6995186385069) rotate(0 20.892970254659303 -0.1444174200888142)"><path d="M-0.33 -0.37 C6.73 -0.51, 35.16 -0.78, 42.15 -0.69 M0.5 0.63 C7.53 0.53, 35.13 0.02, 41.9 -0.19" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1035.4572025971438 440.6995186385069) rotate(0 20.892970254659303 -0.1444174200888142)"><path d="M22.44 7.42 C26.84 6.15, 31.87 3.12, 41.9 -0.19 M22.44 7.42 C29.63 4.72, 37.85 1.29, 41.9 -0.19" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1035.4572025971438 440.6995186385069) rotate(0 20.892970254659303 -0.1444174200888142)"><path d="M22.1 -6.86 C26.61 -4.41, 31.72 -3.7, 41.9 -0.19 M22.1 -6.86 C29.35 -4.09, 37.7 -2.03, 41.9 -0.19" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask></svg>
21
+ <rect x="0" y="0" width="1661.2121931184993" height="925.9417364201454" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(317.97030764025294 332.6192072857632) rotate(0 114.33810379333909 33.800522136203085)"><path d="M16.9 0 C84.57 -0.25, 156.17 -0.52, 211.78 0 M16.9 0 C94.58 -0.08, 171.56 0.88, 211.78 0 M211.78 0 C221.47 -1.29, 229.02 4.96, 228.68 16.9 M211.78 0 C222.55 -1.55, 229.14 4.05, 228.68 16.9 M228.68 16.9 C228.42 31.65, 230.23 43.99, 228.68 50.7 M228.68 16.9 C229.27 31.38, 228.62 43.93, 228.68 50.7 M228.68 50.7 C227.43 60.23, 222.54 67.96, 211.78 67.6 M228.68 50.7 C228.19 61.36, 222.6 66.19, 211.78 67.6 M211.78 67.6 C147.03 68.89, 83.9 69.66, 16.9 67.6 M211.78 67.6 C150.66 68.65, 90.69 68.44, 16.9 67.6 M16.9 67.6 C6.37 66.97, 1.4 63.35, 0 50.7 M16.9 67.6 C3.38 66.78, 0.24 60.69, 0 50.7 M0 50.7 C-0.88 39.25, 1.39 29.82, 0 16.9 M0 50.7 C0.75 39.35, -0.4 26.18, 0 16.9 M0 16.9 C-1.14 5.26, 5.22 -1.99, 16.9 0 M0 16.9 C-1.84 4.33, 3.82 0, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(401.6884468339822 353.91972942196617) rotate(0 30.619964599609375 12.5)"><text x="30.619964599609375" 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">Splicer</text></g><g stroke-linecap="round" transform="translate(449.18206115463545 187.0279473224166) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C84.99 -0.5, 149.42 -0.91, 204.03 0 M16.09 0 C60.59 -1.34, 106.84 -1.03, 204.03 0 M204.03 0 C214.32 -1.35, 220.52 3.99, 220.12 16.09 M204.03 0 C216.57 -0.66, 222.32 5.18, 220.12 16.09 M220.12 16.09 C222.38 30.13, 222.14 42.38, 220.12 48.27 M220.12 16.09 C219.41 27.97, 219.78 41.77, 220.12 48.27 M220.12 48.27 C219.69 58.46, 214.37 63.13, 204.03 64.35 M220.12 48.27 C220.73 58.78, 216.14 63.08, 204.03 64.35 M204.03 64.35 C146.81 63.18, 89.26 63.58, 16.09 64.35 M204.03 64.35 C129.4 65.5, 54.74 66.51, 16.09 64.35 M16.09 64.35 C3.4 63.65, 0.21 57.88, 0 48.27 M16.09 64.35 C4.96 64.9, -0.06 58.07, 0 48.27 M0 48.27 C1.04 42.77, 0.4 36.93, 0 16.09 M0 48.27 C-0.5 35.38, -0.14 21.87, 0 16.09 M0 16.09 C-1.6 4.23, 3.79 0, 16.09 0 M0 16.09 C-1.33 7.46, 6 -0.29, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(456.7397162395455 194.20536387329253) 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">numItems)</text></g><g stroke-linecap="round"><g transform="translate(419.55349741992904 282.9496010902087) rotate(0 -0.44580281989510695 19.782500132839004)"><path d="M-0.03 -0.32 C-0.27 6.33, -1.13 33.18, -1.34 39.77 M-0.71 0.7 C-0.79 7.2, -0.42 32.42, -0.34 38.91" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(419.55349741992904 282.9496010902087) rotate(0 -0.44580281989510695 19.782500132839004)"><path d="M-7.35 20.4 C-5.75 25.42, -2.6 31.27, -0.34 38.91 M-7.35 20.4 C-5.79 24.44, -3.93 28.8, -0.34 38.91" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(419.55349741992904 282.9496010902087) rotate(0 -0.44580281989510695 19.782500132839004)"><path d="M6.18 20.23 C3.52 25.29, 2.42 31.2, -0.34 38.91 M6.18 20.23 C4.56 24.28, 3.22 28.68, -0.34 38.91" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(10 336.01546262869283) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C72.13 -0.04, 125.4 1.88, 204.03 0 M16.09 0 C66.33 0.58, 116.97 0.98, 204.03 0 M204.03 0 C216.67 -0.16, 222.05 7.02, 220.12 16.09 M204.03 0 C216.43 2.3, 221.59 7.39, 220.12 16.09 M220.12 16.09 C220.4 25.72, 218.69 37.33, 220.12 48.27 M220.12 16.09 C219.85 25.71, 220.31 36.47, 220.12 48.27 M220.12 48.27 C221.33 57.88, 214.86 63.74, 204.03 64.35 M220.12 48.27 C221.13 59.21, 212.45 64.42, 204.03 64.35 M204.03 64.35 C164.24 64.22, 120.72 64.88, 16.09 64.35 M204.03 64.35 C134.72 63.13, 65.02 63.92, 16.09 64.35 M16.09 64.35 C5.31 63.55, -1.9 60.46, 0 48.27 M16.09 64.35 C3.33 65.82, 1.28 59.72, 0 48.27 M0 48.27 C-0.15 34.47, -0.68 22.53, 0 16.09 M0 48.27 C-0.53 41.82, -0.32 36.28, 0 16.09 M0 16.09 C0.55 5.11, 5.12 0.52, 16.09 0 M0 16.09 C1.87 3.82, 7.54 0.9, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(17.837661493601445 355.69287917956876) rotate(0 102.21990966796875 12.5)"><text x="102.21990966796875" 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: numItems</text></g><g transform="translate(464.95521238312176 285.496456089053) 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(476.24144849512413 434.0633637955491) 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(415.2605813764967 432.79301002546003) rotate(0 0.22290140994755347 20.511057519056408)"><path d="M0.11 -0.38 C0.28 6.49, 0.74 33.97, 0.88 40.86 M-0.5 0.62 C-0.35 7.6, 0.44 34.66, 0.67 41.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(415.2605813764967 432.79301002546003) rotate(0 0.22290140994755347 20.511057519056408)"><path d="M-6.94 22.44 C-5.57 28.52, -3.05 34, 0.67 41.48 M-6.94 22.44 C-4.26 28.47, -2.08 33.97, 0.67 41.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(415.2605813764967 432.79301002546003) rotate(0 0.22290140994755347 20.511057519056408)"><path d="M7.08 22 C4.55 28.22, 3.16 33.82, 0.67 41.48 M7.08 22 C5.67 28.22, 3.75 33.85, 0.67 41.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(318.2396275262654 499.6911423923523) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C75.68 0.43, 136.26 0.45, 204.03 0 M16.09 0 C88.64 -1, 160.3 -0.92, 204.03 0 M204.03 0 C214.21 -0.02, 218.87 3.63, 220.12 16.09 M204.03 0 C214.17 0.42, 219.63 4.76, 220.12 16.09 M220.12 16.09 C219.74 26.33, 218.81 34.26, 220.12 48.27 M220.12 16.09 C219.26 24.78, 219.46 34.4, 220.12 48.27 M220.12 48.27 C219.19 60.55, 215.49 63.73, 204.03 64.35 M220.12 48.27 C221.72 60.59, 212.5 63.54, 204.03 64.35 M204.03 64.35 C146.16 63.97, 86.56 62.13, 16.09 64.35 M204.03 64.35 C134.44 65.87, 64.67 66.5, 16.09 64.35 M16.09 64.35 C4.94 64.51, -1.14 58.62, 0 48.27 M16.09 64.35 C4.89 62.07, -1.84 57.69, 0 48.27 M0 48.27 C1.83 41.7, -0.26 33.79, 0 16.09 M0 48.27 C0.68 38.16, -0.02 28.27, 0 16.09 M0 16.09 C-0.82 3.62, 4.53 -1.22, 16.09 0 M0 16.09 C-1.45 3.51, 4.07 2.18, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(330.95727101449575 506.8685589432282) rotate(0 97.33992767333984 25)"><text x="97.33992767333984" 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">output array of </text><text x="97.33992767333984" 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">length numItems + 1</text></g><g stroke-linecap="round"><g transform="translate(245.41484743370165 369.4796940524359) rotate(0 24.516584875629633 -0.23062704764174669)"><path d="M0.53 0.45 C8.68 0.48, 41.29 0.16, 49.43 0.09 M0.14 0.21 C8.21 0.1, 41.03 -0.43, 49.21 -0.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.41484743370165 369.4796940524359) rotate(0 24.516584875629633 -0.23062704764174669)"><path d="M26.32 8.2 C36.22 5.34, 45.45 1.76, 49.21 -0.59 M26.32 8.2 C35.05 4.67, 43.75 0.83, 49.21 -0.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.41484743370165 369.4796940524359) rotate(0 24.516584875629633 -0.23062704764174669)"><path d="M26.02 -8.57 C36.03 -4.79, 45.39 -1.72, 49.21 -0.59 M26.02 -8.57 C34.9 -5.59, 43.72 -2.93, 49.21 -0.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(758.986193153969 14.166409573042756) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C92.64 -0.09, 166.96 -0.61, 204.03 0 M16.09 0 C89.94 -0.85, 164.78 0.2, 204.03 0 M204.03 0 C214.33 -0.53, 219.73 4.14, 220.12 16.09 M204.03 0 C215.36 -0.21, 221.51 4.08, 220.12 16.09 M220.12 16.09 C220.21 23.92, 220.08 34.15, 220.12 48.27 M220.12 16.09 C220.33 28.62, 220.67 42.46, 220.12 48.27 M220.12 48.27 C218.15 58.28, 214.96 63.24, 204.03 64.35 M220.12 48.27 C219.72 59.53, 214.69 63.43, 204.03 64.35 M204.03 64.35 C166.74 63.8, 127.53 64.56, 16.09 64.35 M204.03 64.35 C129.29 64.31, 55.49 63.5, 16.09 64.35 M16.09 64.35 C3.76 63.22, -1.58 58.99, 0 48.27 M16.09 64.35 C4.03 66.46, 0.64 58.7, 0 48.27 M0 48.27 C-1.42 40.89, 0.7 30.22, 0 16.09 M0 48.27 C-0.28 34.8, -0.5 21.75, 0 16.09 M0 16.09 C-1.12 7.26, 6.25 0.46, 16.09 0 M0 16.09 C0.02 5.37, 4.34 1.78, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(777.4938299283322 21.34382612391869) rotate(0 91.54993438720703 25)"><text x="91.54993438720703" 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 </text><text x="91.54993438720703" 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">numItems + 1</text></g><g transform="translate(603.0517117358013 311.0190766332371) 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.8750994757429 371.6533977702295) rotate(0 54.049464108376924 -0.8482636989667753)"><path d="M-0.3 0.22 C17.8 0.06, 89.82 -1.57, 107.85 -2.01 M1.74 -0.71 C19.72 -0.61, 89.23 -0.51, 106.77 -0.64" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(585.8750994757429 371.6533977702295) rotate(0 54.049464108376924 -0.8482636989667753)"><path d="M78.6 9.68 C85.75 6.88, 91.56 4.45, 106.77 -0.64 M78.6 9.68 C85.9 6.69, 92.08 4.47, 106.77 -0.64" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(585.8750994757429 371.6533977702295) rotate(0 54.049464108376924 -0.8482636989667753)"><path d="M78.55 -10.84 C85.54 -8.76, 91.36 -6.3, 106.77 -0.64 M78.55 -10.84 C85.92 -8.93, 92.11 -6.25, 106.77 -0.64" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(206.28010490124143 185.44706760984673) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C67.21 0.01, 118.16 0.93, 204.03 0 M16.09 0 C70.82 0.74, 125.88 1.14, 204.03 0 M204.03 0 C212.75 0.06, 218.51 7.34, 220.12 16.09 M204.03 0 C213.69 1.79, 220.96 4.64, 220.12 16.09 M220.12 16.09 C219.63 28.2, 219.23 39.54, 220.12 48.27 M220.12 16.09 C219.16 27.23, 219.22 37.55, 220.12 48.27 M220.12 48.27 C221.23 59.63, 216.62 66.25, 204.03 64.35 M220.12 48.27 C219.62 59.17, 213.45 63.92, 204.03 64.35 M204.03 64.35 C150.41 61.27, 99.06 61.7, 16.09 64.35 M204.03 64.35 C130.35 64.38, 57.74 63.45, 16.09 64.35 M16.09 64.35 C7.26 65.14, 0.49 60.98, 0 48.27 M16.09 64.35 C4.42 62.35, -0.96 57.59, 0 48.27 M0 48.27 C2.15 41.52, 0.72 33.03, 0 16.09 M0 48.27 C-0.76 39.4, 0.19 29.21, 0 16.09 M0 16.09 C0.15 4.35, 5.09 -1.84, 16.09 0 M0 16.09 C-0.13 5.68, 4.27 1.04, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(296.7076940681827 205.12448416072266) rotate(0 19.629981994628906 12.5)"><text x="19.629981994628906" 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">leaf</text></g><g stroke-linecap="round" transform="translate(328.0691399267289 100.45920892080494) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C84.82 0.58, 157.21 0.17, 204.03 0 M16.09 0 C87.13 -0.5, 160.85 -0.1, 204.03 0 M204.03 0 C213.48 -0.02, 220.29 4.41, 220.12 16.09 M204.03 0 C215.66 0.44, 220.74 6.11, 220.12 16.09 M220.12 16.09 C220.94 27.96, 219.49 39.69, 220.12 48.27 M220.12 16.09 C219.39 27.97, 220.65 39.39, 220.12 48.27 M220.12 48.27 C218.62 60.96, 216.38 65.02, 204.03 64.35 M220.12 48.27 C220.57 57.97, 212.9 64.1, 204.03 64.35 M204.03 64.35 C140.49 62.92, 80.07 61.1, 16.09 64.35 M204.03 64.35 C139.51 64.43, 72.72 64.06, 16.09 64.35 M16.09 64.35 C6.83 64.17, -0.75 58.7, 0 48.27 M16.09 64.35 C5.2 64.3, -0.14 60.65, 0 48.27 M0 48.27 C-1.04 36.85, 0.77 22.14, 0 16.09 M0 48.27 C-0.88 40.92, 0.59 32.98, 0 16.09 M0 16.09 C-1.78 6.2, 6.42 0.06, 16.09 0 M0 16.09 C-0.3 3.29, 6.74 -0.9, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(414.48673458683425 120.13662547168087) 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(756.1797517744817 108.38070020391842) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C80.18 0.22, 142.25 -1.16, 198.87 0 M21.25 0 C73.85 -0.59, 124.13 -1.34, 198.87 0 M198.87 0 C213.78 -1.86, 221.26 8.05, 220.12 21.25 M198.87 0 C212.7 0.5, 218.39 5.86, 220.12 21.25 M220.12 21.25 C217.82 30.44, 219.56 40.15, 220.12 63.75 M220.12 21.25 C219.61 30.86, 221.09 39.16, 220.12 63.75 M220.12 63.75 C219.63 77.8, 213.06 83.77, 198.87 85 M220.12 63.75 C222.09 79.28, 214.62 82.95, 198.87 85 M198.87 85 C158.67 86.76, 115.11 85.13, 21.25 85 M198.87 85 C157.12 83.04, 114.49 82.95, 21.25 85 M21.25 85 C6.07 83.17, 0.28 78.24, 0 63.75 M21.25 85 C5.75 84.59, -0.49 78.51, 0 63.75 M0 63.75 C-1 53.48, 0.23 44.14, 0 21.25 M0 63.75 C0.72 47.09, 0.63 29.88, 0 21.25 M0 21.25 C0.83 8.8, 6.18 -1.23, 21.25 0 M0 21.25 C-1.25 7.35, 5.58 0.46, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(769.0274077749191 113.38070020391842) rotate(0 97.20991516113281 37.5)"><text x="97.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. compare input </text><text x="97.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">index with the loop </text><text x="97.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">index (i) </text></g><g stroke-linecap="round" transform="translate(750.2785129572394 205.91811713901166) rotate(0 129.40052343244815 67.5)"><path d="M32 0 C90.32 -3.5, 144.23 -0.19, 226.8 0 M32 0 C73.76 0.77, 113.86 0.76, 226.8 0 M226.8 0 C248.25 0.42, 258.53 10.73, 258.8 32 M226.8 0 C248.66 1.94, 257.93 11.88, 258.8 32 M258.8 32 C259.96 48.74, 257.52 62.45, 258.8 103 M258.8 32 C259.07 56.91, 260.15 81.68, 258.8 103 M258.8 103 C256.87 122.99, 249.45 133, 226.8 135 M258.8 103 C258.71 125.37, 248.31 134.27, 226.8 135 M226.8 135 C172.77 136.52, 119.28 136.71, 32 135 M226.8 135 C177.81 134.65, 127.36 133.66, 32 135 M32 135 C10.23 133.23, 0.95 125.13, 0 103 M32 135 C12.44 132.78, 1.79 123.99, 0 103 M0 103 C0.85 87.29, 2.2 71.81, 0 32 M0 103 C0.69 79.2, 0.25 54.66, 0 32 M0 32 C-0.43 10.42, 12.3 -1.91, 32 0 M0 32 C-0.87 9.51, 9.7 -1.01, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(756.6591465581441 223.41811713901166) rotate(0 123.01988983154297 50)"><text x="123.01988983154297" 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. use QuinarySelector to </text><text x="123.01988983154297" 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">get the item at position</text><text x="123.01988983154297" 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">i - </text><text x="123.01988983154297" 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">SafeGreaterThan.output</text></g><g stroke-linecap="round" transform="translate(1084.300893945141 10) rotate(0 75.13977420504852 92.5)"><path d="M32 0 C51.65 -1.95, 73.01 1.08, 118.28 0 M32 0 C50.88 -0.06, 70.59 -0.87, 118.28 0 M118.28 0 C137.75 1.79, 148.52 10.7, 150.28 32 M118.28 0 C141.88 1.99, 151.5 9.84, 150.28 32 M150.28 32 C150.69 67.62, 151.84 103.44, 150.28 153 M150.28 32 C150.38 63.07, 151.47 92.58, 150.28 153 M150.28 153 C148.56 175.89, 138.17 185.79, 118.28 185 M150.28 153 C152.54 175.41, 141.11 183.71, 118.28 185 M118.28 185 C93.34 184.66, 67.41 187.41, 32 185 M118.28 185 C84.47 184.02, 49.16 183.94, 32 185 M32 185 C10.49 183.91, -1.14 173.29, 0 153 M32 185 C9.97 186.94, -0.12 176.47, 0 153 M0 153 C0.02 119.42, 1.26 89.85, 0 32 M0 153 C-0.27 116.04, -0.16 78.15, 0 32 M0 32 C-0.56 11.57, 12.27 0.85, 32 0 M0 32 C1.57 11.48, 10.11 -1.73, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1092.26072888017 15) rotate(0 67.17993927001953 87.5)"><text x="67.17993927001953" 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 </text><text x="67.17993927001953" 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">SafeGreater</text><text x="67.17993927001953" 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">Than with </text><text x="67.17993927001953" 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">inputs i and </text><text x="67.17993927001953" 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">index to </text><text x="67.17993927001953" y="125" 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</text><text x="67.17993927001953" y="150" 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">i &gt; index</text></g><g stroke-linecap="round"><g transform="translate(987.3984043562268 138.42669543005127) rotate(0 40.18022924569368 -14.669761092601334)"><path d="M-0.07 -0.39 C13.14 -5.24, 66.48 -25.08, 79.88 -29.81 M-1.57 -1.63 C11.39 -6.26, 65.16 -23.66, 78.67 -28.52" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(987.3984043562268 138.42669543005127) rotate(0 40.18022924569368 -14.669761092601334)"><path d="M55.28 -9.74 C62.92 -17.1, 70.95 -22.95, 78.67 -28.52 M55.28 -9.74 C62.99 -17.35, 70.65 -22.21, 78.67 -28.52" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(987.3984043562268 138.42669543005127) rotate(0 40.18022924569368 -14.669761092601334)"><path d="M48.68 -29.17 C58.51 -29.73, 68.85 -28.8, 78.67 -28.52 M48.68 -29.17 C58.66 -30.06, 68.62 -28.16, 78.67 -28.52" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1076.2054654773992 204.6119361823212) rotate(0 131.73044373868015 80)"><path d="M32 0 C73.4 -0.63, 110.87 0.07, 231.46 0 M32 0 C102.79 -0.45, 175.39 1.03, 231.46 0 M231.46 0 C254.07 -0.06, 261.69 10.68, 263.46 32 M231.46 0 C250.88 1.57, 261.58 10.52, 263.46 32 M263.46 32 C264.68 53.47, 265.49 77.83, 263.46 128 M263.46 32 C264.94 64.08, 264.91 97.26, 263.46 128 M263.46 128 C264.54 148.09, 253.54 159.72, 231.46 160 M263.46 128 C262.81 150, 252.73 160.79, 231.46 160 M231.46 160 C186.74 161.22, 138.99 161.09, 32 160 M231.46 160 C177.45 162.17, 124.88 162.83, 32 160 M32 160 C8.92 160.66, -1.98 149.39, 0 128 M32 160 C8.95 159.18, 1.39 147.67, 0 128 M0 128 C1.01 102.77, -0.01 78.34, 0 32 M0 128 C-0.64 99.92, -1.13 72.99, 0 32 M0 32 C1.06 9.3, 11.75 0.26, 32 0 M0 32 C0.29 8.49, 9.98 -1.56, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1085.9060096189114 209.6119361823212) rotate(0 122.02989959716797 75)"><text x="122.02989959716797" 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">if i &gt; index</text><text x="122.02989959716797" 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">QuinarySelector index == i -</text><text x="122.02989959716797" 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"> 1</text><text x="122.02989959716797" 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">else </text><text x="122.02989959716797" 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">index == i - 0</text><text x="122.02989959716797" y="125" 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(1359.3924297874382 213.66365968804803) rotate(0 145.90988166553052 67.5)"><path d="M32 0 C113.1 0.29, 193.35 0.51, 259.82 0 M32 0 C119.33 -1.16, 206.29 -1.19, 259.82 0 M259.82 0 C280.03 -1.42, 289.93 10.1, 291.82 32 M259.82 0 C278.95 0.27, 293.51 10.12, 291.82 32 M291.82 32 C291.55 58.14, 291.75 83.15, 291.82 103 M291.82 32 C293.05 52.52, 292.78 73.7, 291.82 103 M291.82 103 C293.14 122.4, 282.21 136.63, 259.82 135 M291.82 103 C293.24 122.33, 281.64 135.08, 259.82 135 M259.82 135 C199.53 137.84, 136.87 137.19, 32 135 M259.82 135 C213.02 134.08, 166.14 134.19, 32 135 M32 135 C12.22 136.94, 0.19 124.35, 0 103 M32 135 C11.17 135.72, -2.17 122.11, 0 103 M0 103 C-0.14 83.36, 1.28 66.59, 0 32 M0 103 C0.34 79.07, 0.37 55.4, 0 32 M0 32 C0.98 9.28, 11.23 1.28, 32 0 M0 32 C-0.55 9.71, 10.98 1.63, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1367.0724377957422 218.66365968804803) rotate(0 138.22987365722656 62.5)"><text x="138.22987365722656" 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"> if i is greater than the </text><text x="138.22987365722656" 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, the selected item will</text><text x="138.22987365722656" 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">be one position to the left </text><text x="138.22987365722656" 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">of the current position in </text><text x="138.22987365722656" 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">the input array</text></g><g stroke-linecap="round"><g transform="translate(1021.443455986926 258.10821345077966) rotate(0 20.35269890637801 2.331826851129563)"><path d="M0.34 0.28 C7.11 1.13, 33.65 4.03, 40.42 4.82 M-0.14 -0.05 C6.82 0.65, 34.69 3.23, 41.51 3.93" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1021.443455986926 258.10821345077966) rotate(0 20.35269890637801 2.331826851129563)"><path d="M21.67 9.05 C27.52 7.09, 32.63 6.71, 41.51 3.93 M21.67 9.05 C28.83 7.22, 35.77 4.85, 41.51 3.93" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1021.443455986926 258.10821345077966) rotate(0 20.35269890637801 2.331826851129563)"><path d="M23.02 -4.9 C28.47 -3.1, 33.22 0.27, 41.51 3.93 M23.02 -4.9 C29.62 -1.65, 36.07 1.04, 41.51 3.93" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(747.9719038383319 369.6488128553551) rotate(0 129.40052343244815 67.5)"><path d="M32 0 C91.89 -1.71, 153.26 -1.72, 226.8 0 M32 0 C80.87 0.3, 130.33 0.78, 226.8 0 M226.8 0 C249.21 0.38, 259.17 9.61, 258.8 32 M226.8 0 C247.25 2.06, 257.95 9.65, 258.8 32 M258.8 32 C256.73 48.62, 260.09 63.83, 258.8 103 M258.8 32 C258.21 50.47, 258.81 70.53, 258.8 103 M258.8 103 C259 122.35, 248.96 136.59, 226.8 135 M258.8 103 C259.54 125.86, 246.08 132.74, 226.8 135 M226.8 135 C183.57 137.99, 145.15 136.39, 32 135 M226.8 135 C152.19 134.92, 76.47 134.09, 32 135 M32 135 C10.61 136.83, -0.97 126.19, 0 103 M32 135 C8.86 136.9, -2 126.63, 0 103 M0 103 C1.6 86.62, 0.43 70.46, 0 32 M0 103 C-0.64 81.19, -0.12 57.53, 0 32 M0 32 C1.33 11.24, 9.34 0.93, 32 0 M0 32 C2.07 10.04, 11.84 -1.92, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(754.23252706326 374.6488128553551) rotate(0 123.13990020751953 62.5)"><text x="123.13990020751953" 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. Inner loop through all</text><text x="123.13990020751953" 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">items and pass them to </text><text x="123.13990020751953" 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">QuinarySelector as inputs </text><text x="123.13990020751953" 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 last item will be </text><text x="123.13990020751953" 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">zero (position numItems)</text></g><g stroke-linecap="round" transform="translate(745.5052399869246 525.1414082493746) rotate(0 129.40052343244815 67.5)"><path d="M32 0 C97.27 0.21, 164.37 -0.38, 226.8 0 M32 0 C106.46 -1.58, 181.86 -0.98, 226.8 0 M226.8 0 C249.65 1.04, 257.27 12.34, 258.8 32 M226.8 0 C246.38 -1.14, 259.62 11.72, 258.8 32 M258.8 32 C257.36 48.6, 258.6 63.32, 258.8 103 M258.8 32 C259.59 58.22, 258.09 85.17, 258.8 103 M258.8 103 C260.63 125.59, 248.85 134.93, 226.8 135 M258.8 103 C256.67 123.28, 246.68 135.8, 226.8 135 M226.8 135 C180.36 134.05, 134.02 135.93, 32 135 M226.8 135 C151.48 136.07, 76.69 136.27, 32 135 M32 135 C10.79 133.51, 0.02 126.32, 0 103 M32 135 C11.74 134.9, 1.79 126.36, 0 103 M0 103 C1.74 90.22, 1.22 73.71, 0 32 M0 103 C0.62 79.76, 0.1 55.51, 0 32 M0 32 C1.37 10, 11.2 -1.74, 32 0 M0 32 C1.2 9.45, 10.99 -0.31, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(751.1158540565793 567.6414082493746) rotate(0 123.78990936279297 25)"><text x="123.78990936279297" 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. Using IsEqual check if</text><text x="123.78990936279297" 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">i == index</text></g><g stroke-linecap="round" transform="translate(1098.6201762016244 552.7385743922013) rotate(0 142.09401926954797 30)"><path d="M15 0 C83.53 -2.43, 152.29 -0.77, 269.19 0 M15 0 C80.64 -0.66, 146.6 -0.01, 269.19 0 M269.19 0 C277.47 -0.54, 286.08 3.9, 284.19 15 M269.19 0 C280.59 -2.05, 283.77 3.02, 284.19 15 M284.19 15 C282.87 24.05, 284.42 34.42, 284.19 45 M284.19 15 C285.2 24.34, 284.9 33.01, 284.19 45 M284.19 45 C282.34 56.05, 278.04 59.59, 269.19 60 M284.19 45 C284.79 53.36, 279.69 58.17, 269.19 60 M269.19 60 C190.69 61.5, 115.01 61.29, 15 60 M269.19 60 C172.26 62.18, 76.84 60.87, 15 60 M15 60 C3.1 58.4, 1.45 54.67, 0 45 M15 60 C3.3 60.3, 2.08 55.94, 0 45 M0 45 C1.35 37.37, 1.1 26.11, 0 15 M0 45 C0.55 37.14, -0.22 28.2, 0 15 M0 15 C0.57 4.88, 6.82 -0.26, 15 0 M0 15 C0.13 3.95, 5.64 -0.77, 15 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1117.0342943481255 557.7385743922013) rotate(0 123.67990112304688 25)"><text x="123.67990112304688" 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">if i == index output is 1 </text><text x="123.67990112304688" 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">else 0</text></g><g stroke-linecap="round"><g transform="translate(1020.3062868518218 587.0115570605581) rotate(0 31.156944674901297 -5.347403980994386)"><path d="M-0.4 -0.8 C9.84 -2.57, 51.64 -8.46, 62.26 -9.97 M1.59 1.39 C11.6 -0.77, 51.04 -9.51, 61.29 -11.71" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1020.3062868518218 587.0115570605581) rotate(0 31.156944674901297 -5.347403980994386)"><path d="M35.93 4.33 C43.82 -1.56, 55.68 -5.68, 61.29 -11.71 M35.93 4.33 C44.88 -1.44, 55.28 -6.95, 61.29 -11.71" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1020.3062868518218 587.0115570605581) rotate(0 31.156944674901297 -5.347403980994386)"><path d="M31.56 -15.72 C41.15 -14.23, 54.62 -11, 61.29 -11.71 M31.56 -15.72 C42.17 -14.12, 54.19 -12.23, 61.29 -11.71" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(752.8152005218626 679.8891038504536) rotate(0 286.1716097449503 51.79037207797484)"><path d="M25.9 0 C162.69 1.34, 298.79 1.33, 546.45 0 M25.9 0 C135.94 -1.71, 245.6 -1.46, 546.45 0 M546.45 0 C564.05 -0.78, 572.41 7.45, 572.34 25.9 M546.45 0 C564.42 -1.04, 571.66 10.63, 572.34 25.9 M572.34 25.9 C571.17 44.33, 572.86 61.43, 572.34 77.69 M572.34 25.9 C571.75 39.88, 572.42 54.31, 572.34 77.69 M572.34 77.69 C572.96 95.99, 564.21 104.71, 546.45 103.58 M572.34 77.69 C573.81 94.69, 563.04 104.92, 546.45 103.58 M546.45 103.58 C390.69 102.19, 235.68 102.28, 25.9 103.58 M546.45 103.58 C393.28 104.51, 239.57 104.26, 25.9 103.58 M25.9 103.58 C7.68 104.46, 1.86 95.02, 0 77.69 M25.9 103.58 C6.89 101.33, 1.26 93.61, 0 77.69 M0 77.69 C0.56 62.33, -1.5 43.55, 0 25.9 M0 77.69 C0.5 57.32, 0.32 37.81, 0 25.9 M0 25.9 C0.34 7.33, 9.28 0.9, 25.9 0 M0 25.9 C-0.66 8.11, 9.97 -0.06, 25.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(759.8870483039218 694.1794759284284) rotate(0 279.0997619628906 37.5)"><text x="279.0997619628906" 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. Use a Mux component to select either the output of</text><text x="279.0997619628906" 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 QuinarySelector component or the leaf, based on the </text><text x="279.0997619628906" 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 above (i == index)</text></g><g stroke-linecap="round" transform="translate(752.3650576403224 802.3985870181622) rotate(0 133.96821733427623 56.77157470099161)"><path d="M28.39 0 C92.52 2.95, 154.31 -0.2, 239.55 0 M28.39 0 C100.48 -1.89, 172.47 -0.25, 239.55 0 M239.55 0 C256.84 1.96, 267.13 11.03, 267.94 28.39 M239.55 0 C256.39 -1.96, 266.61 7.54, 267.94 28.39 M267.94 28.39 C269.47 47.6, 269.34 67.9, 267.94 85.16 M267.94 28.39 C267.24 50.25, 268.03 71.72, 267.94 85.16 M267.94 85.16 C267.86 106.01, 258.62 113.69, 239.55 113.54 M267.94 85.16 C267.94 105.97, 256.48 114.46, 239.55 113.54 M239.55 113.54 C196.03 111.49, 155.19 111.66, 28.39 113.54 M239.55 113.54 C159.53 113.81, 78.07 112.72, 28.39 113.54 M28.39 113.54 C10.72 113.19, 0.35 104.2, 0 85.16 M28.39 113.54 C8.5 112.69, 1.21 104.37, 0 85.16 M0 85.16 C-0.74 63.25, -0.7 40.17, 0 28.39 M0 85.16 C-1.26 65.89, -0.25 48.13, 0 28.39 M0 28.39 C1.64 11.43, 8.59 0.24, 28.39 0 M0 28.39 C-2.18 10.24, 9.39 -0.11, 28.39 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(758.1433946035049 821.6701617191538) rotate(0 128.18988037109375 37.5)"><text x="128.18988037109375" 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">7. Wire the output of the</text><text x="128.18988037109375" 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">Mux to the output array</text><text x="128.18988037109375" 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">at position i </text></g><g stroke-linecap="round" transform="translate(1106.1389616361093 376.33936569124626) rotate(0 145.90988166553052 80)"><path d="M32 0 C120.26 0.43, 206.47 0.62, 259.82 0 M32 0 C85.51 1.22, 139.7 1.5, 259.82 0 M259.82 0 C279.23 1.66, 291.33 11.79, 291.82 32 M259.82 0 C280.25 -2.21, 292.92 10.07, 291.82 32 M291.82 32 C291.63 60.29, 292.24 87.01, 291.82 128 M291.82 32 C292.58 64.14, 291.98 97.3, 291.82 128 M291.82 128 C291.11 149.42, 280.35 160.65, 259.82 160 M291.82 128 C291.95 150.82, 281.94 159.47, 259.82 160 M259.82 160 C204.99 161.48, 149.42 161.62, 32 160 M259.82 160 C183.98 158.28, 107.64 157.87, 32 160 M32 160 C12.33 158.98, 0.78 148.94, 0 128 M32 160 C8.49 157.98, 0.62 148.89, 0 128 M0 128 C-0.88 107.36, -1.42 87.3, 0 32 M0 128 C0.3 109.39, 0.92 88.5, 0 32 M0 32 C-0.63 9.16, 11.76 1.4, 32 0 M0 32 C-0.22 8.94, 10.71 -1.94, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1115.9989470614055 381.33936569124637) rotate(0 136.04989624023438 75)"><text x="136.04989624023438" 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 last item is zero </text><text x="136.04989624023438" 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">because the output array </text><text x="136.04989624023438" 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">has 1 extra item compared </text><text x="136.04989624023438" 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">to the input array, and </text><text x="136.04989624023438" 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">they need to be of the </text><text x="136.04989624023438" y="125" 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">same length</text></g><g stroke-linecap="round"><g transform="translate(1035.4572025971438 440.6995186385069) rotate(0 20.892970254659303 -0.1444174200888142)"><path d="M-0.33 -0.37 C6.73 -0.51, 35.16 -0.78, 42.15 -0.69 M0.5 0.63 C7.53 0.53, 35.13 0.02, 41.9 -0.19" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1035.4572025971438 440.6995186385069) rotate(0 20.892970254659303 -0.1444174200888142)"><path d="M22.44 7.42 C26.84 6.15, 31.87 3.12, 41.9 -0.19 M22.44 7.42 C29.63 4.72, 37.85 1.29, 41.9 -0.19" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1035.4572025971438 440.6995186385069) rotate(0 20.892970254659303 -0.1444174200888142)"><path d="M22.1 -6.86 C26.61 -4.41, 31.72 -3.7, 41.9 -0.19 M22.1 -6.86 C29.35 -4.09, 37.7 -2.03, 41.9 -0.19" 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="1493.3537606210123" height="411.5604845778562" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(294.40926691448794 170.81402033509562) rotate(0 129.27623258310302 33.800522136203085)"><path d="M16.9 0 C99.78 1.66, 184.71 1.7, 241.65 0 M16.9 0 C64.33 0.18, 111.71 0.53, 241.65 0 M241.65 0 C254.06 0.57, 258.51 6.13, 258.55 16.9 M241.65 0 C255.18 1.11, 258.99 4.59, 258.55 16.9 M258.55 16.9 C259.09 29.5, 259.61 38.17, 258.55 50.7 M258.55 16.9 C258.26 30.76, 259.11 43.58, 258.55 50.7 M258.55 50.7 C258.05 63.26, 252.9 67.46, 241.65 67.6 M258.55 50.7 C260.36 62.99, 254.55 69.45, 241.65 67.6 M241.65 67.6 C194.67 70.41, 149.05 69.02, 16.9 67.6 M241.65 67.6 C163.96 67.17, 87.42 67.91, 16.9 67.6 M16.9 67.6 C4.92 66.7, 0.69 63.1, 0 50.7 M16.9 67.6 C4.29 69.71, -0.84 63.25, 0 50.7 M0 50.7 C1.8 38.9, 1.05 27.55, 0 16.9 M0 50.7 C0.24 43.88, -0.02 35.02, 0 16.9 M0 16.9 C-0.1 5.63, 4.26 -1.51, 16.9 0 M0 16.9 C-1.98 6.02, 4.78 0.81, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(313.0656035625324 192.1145424712986) rotate(0 110.6198959350586 12.5)"><text x="110.6198959350586" 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">TallyVotesInputHasher</text></g><g stroke-linecap="round" transform="translate(10 10) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C86.77 -2.57, 160.04 -2.34, 204.03 0 M16.09 0 C57.66 1.05, 98.07 1.01, 204.03 0 M204.03 0 C216.72 0.97, 220.49 4.45, 220.12 16.09 M204.03 0 C215.35 0.13, 219.87 5.95, 220.12 16.09 M220.12 16.09 C222.07 30.23, 219.53 39.25, 220.12 48.27 M220.12 16.09 C219.94 28.63, 220.18 39.81, 220.12 48.27 M220.12 48.27 C221.68 59.88, 216.17 65.96, 204.03 64.35 M220.12 48.27 C217.96 57.95, 216.69 63.58, 204.03 64.35 M204.03 64.35 C135.53 64.67, 65.52 62.74, 16.09 64.35 M204.03 64.35 C161.17 64.13, 119.37 65.15, 16.09 64.35 M16.09 64.35 C4.19 66.18, -0.73 60.1, 0 48.27 M16.09 64.35 C5.73 64.87, 1.13 61.15, 0 48.27 M0 48.27 C-1.57 40.07, 0.35 32.92, 0 16.09 M0 48.27 C-0.02 35.48, -0.66 21.95, 0 16.09 M0 16.09 C-1.72 5.7, 4.62 0.7, 16.09 0 M0 16.09 C0.02 5.38, 4.23 1.1, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(54.94763921576896 29.677416550875932) rotate(0 65.10993194580078 12.5)"><text x="65.10993194580078" 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">sbCommitment</text></g><g stroke-linecap="round"><g transform="translate(385.0214741061509 97.43477122007062) rotate(0 1.5956212533027951 21.722771252156463)"><path d="M-0.19 -0.45 C0.32 6.8, 2.17 35.88, 2.78 43.22 M0.71 0.51 C1.41 7.85, 3.37 36.79, 3.81 43.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(385.0214741061509 97.43477122007062) rotate(0 1.5956212533027951 21.722771252156463)"><path d="M-4.97 23.87 C-3.6 28.21, -0.96 34.59, 3.81 43.81 M-4.97 23.87 C-1.6 30.65, 0.89 36.74, 3.81 43.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(385.0214741061509 97.43477122007062) rotate(0 1.5956212533027951 21.722771252156463)"><path d="M9.9 22.89 C7.48 27.46, 6.35 34.08, 3.81 43.81 M9.9 22.89 C8.39 30.02, 5.99 36.42, 3.81 43.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(471.2704292368853 125.75873117477454) 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(482.5566653488877 274.70738765460897) rotate(0 40.27995300292969 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">Outputs</text></g><g stroke-linecap="round"><g transform="translate(421.57579823026026 273.4370338845199) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M0.1 -0.25 C0.11 6.55, 0.54 34.15, 0.59 41.05 M-0.51 0.81 C-0.6 7.68, 0.15 34.93, 0.23 41.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(421.57579823026026 273.4370338845199) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-7.18 22.64 C-4.63 30.51, -1.17 37.77, 0.23 41.77 M-7.18 22.64 C-4.88 29.3, -1.79 34.9, 0.23 41.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(421.57579823026026 273.4370338845199) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M6.85 22.35 C3.81 30.35, 1.68 37.72, 0.23 41.77 M6.85 22.35 C4.58 29.14, 3.1 34.83, 0.23 41.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(325.01614578217686 337.2056514761043) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C76.14 -0.7, 136.48 1.09, 204.03 0 M16.09 0 C83.23 -2.05, 147.81 -0.98, 204.03 0 M204.03 0 C215.21 0.71, 219.62 6.65, 220.12 16.09 M204.03 0 C214.73 -0.16, 221.92 6.39, 220.12 16.09 M220.12 16.09 C219.47 29.71, 219.7 41.33, 220.12 48.27 M220.12 16.09 C220.35 26.26, 219.38 35.48, 220.12 48.27 M220.12 48.27 C220 59.24, 214.04 63.45, 204.03 64.35 M220.12 48.27 C220.91 60.3, 213.4 66.46, 204.03 64.35 M204.03 64.35 C154.96 65.64, 106.88 63.54, 16.09 64.35 M204.03 64.35 C136.89 63.32, 70.28 64.02, 16.09 64.35 M16.09 64.35 C5.2 64.15, -0.1 58.98, 0 48.27 M16.09 64.35 C3.78 62.62, -1.98 59.38, 0 48.27 M0 48.27 C-0.1 38.82, 0.84 30, 0 16.09 M0 48.27 C-0.5 39.8, -0.3 29.42, 0 16.09 M0 16.09 C1.9 6.97, 3.57 -1.71, 16.09 0 M0 16.09 C0.88 5.93, 7.43 -0.7, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(384.403772180563 356.88306802698025) rotate(0 50.669944763183594 12.5)"><text x="50.669944763183594" 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">numSignups</text></g><g stroke-linecap="round" transform="translate(255.71407860060526 14.325375601543328) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C60.38 1.04, 107.75 2.08, 204.03 0 M16.09 0 C90.89 -1.11, 164.19 0.08, 204.03 0 M204.03 0 C214.75 0.63, 221.02 4.92, 220.12 16.09 M204.03 0 C215.19 0.85, 219.98 5.94, 220.12 16.09 M220.12 16.09 C221.24 28.95, 220.01 41.79, 220.12 48.27 M220.12 16.09 C220.46 27.98, 219.37 38.96, 220.12 48.27 M220.12 48.27 C219.34 57.27, 215.32 65.1, 204.03 64.35 M220.12 48.27 C222.29 60.17, 215.63 62.52, 204.03 64.35 M204.03 64.35 C159.11 65.96, 114.63 65.98, 16.09 64.35 M204.03 64.35 C159.74 63.55, 114.79 64.74, 16.09 64.35 M16.09 64.35 C6.82 62.55, 1.24 58.97, 0 48.27 M16.09 64.35 C5.58 62.49, -1.75 59.21, 0 48.27 M0 48.27 C0.4 36.43, 0.19 24.87, 0 16.09 M0 48.27 C0.95 41.34, -0.63 33.52, 0 16.09 M0 16.09 C1.77 5.99, 7.19 -2, 16.09 0 M0 16.09 C-1.3 3.32, 5.45 -2.14, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(261.74175016500703 21.50279215241926) rotate(0 104.02989959716797 25)"><text x="104.02989959716797" 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">currentTallyCommitme</text><text x="104.02989959716797" 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">nt</text></g><g stroke-linecap="round" transform="translate(508.00472555008196 14.286553692389589) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C64.81 0.95, 111.26 -2.57, 204.03 0 M16.09 0 C73.5 1.31, 128.51 1.15, 204.03 0 M204.03 0 C214.84 1.93, 218.78 3.62, 220.12 16.09 M204.03 0 C212.75 -1.93, 221.12 7.46, 220.12 16.09 M220.12 16.09 C221.85 24.3, 220.23 34.73, 220.12 48.27 M220.12 16.09 C220.32 21.85, 219.73 29.09, 220.12 48.27 M220.12 48.27 C220.93 58.02, 214.78 64.23, 204.03 64.35 M220.12 48.27 C221.77 59.25, 213.29 64.55, 204.03 64.35 M204.03 64.35 C163.08 64.06, 123.4 64.58, 16.09 64.35 M204.03 64.35 C161.14 66.29, 116.43 65.85, 16.09 64.35 M16.09 64.35 C7 66.02, -1.17 57.12, 0 48.27 M16.09 64.35 C3.48 63.1, -2.21 57.91, 0 48.27 M0 48.27 C0.04 37.17, 0.57 29.68, 0 16.09 M0 48.27 C-0.52 39.34, -0.26 28.68, 0 16.09 M0 16.09 C1.65 5.62, 6.43 1.87, 16.09 0 M0 16.09 C0.88 5.21, 6.72 0.89, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(522.572382771222 33.96397024326552) rotate(0 95.48991394042969 12.5)"><text x="95.48991394042969" 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">newTallyCommitment</text></g><g stroke-linecap="round" transform="translate(752.5762828962881 14.985348057145302) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C81.91 -0.55, 151.62 -0.51, 204.03 0 M16.09 0 C72.92 0.72, 129.25 2.01, 204.03 0 M204.03 0 C215.9 0.44, 219.38 3.37, 220.12 16.09 M204.03 0 C216.94 -0.29, 218.4 3.6, 220.12 16.09 M220.12 16.09 C219.28 22.8, 220.99 31.71, 220.12 48.27 M220.12 16.09 C219.79 23.93, 220.58 32.2, 220.12 48.27 M220.12 48.27 C219.48 59.2, 214.69 65.59, 204.03 64.35 M220.12 48.27 C219.86 56.88, 216.45 66.36, 204.03 64.35 M204.03 64.35 C159.53 62.83, 117.88 65.24, 16.09 64.35 M204.03 64.35 C159.91 65.08, 116.09 65.35, 16.09 64.35 M16.09 64.35 C7.08 65.44, 0.53 59.08, 0 48.27 M16.09 64.35 C3.23 63.14, 0.86 57.74, 0 48.27 M0 48.27 C-0.9 39.28, -1.03 31.38, 0 16.09 M0 48.27 C-0.01 39.95, 0.8 30.47, 0 16.09 M0 16.09 C-0.12 5.59, 6.91 -0.8, 16.09 0 M0 16.09 C-0.95 3.52, 4.17 0.19, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(810.0838967824673 34.662764608021234) rotate(0 52.549957275390625 12.5)"><text x="52.549957275390625" 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">packedVals</text></g><g stroke-linecap="round" transform="translate(563.3269904098835 342.18670710146375) rotate(0 110.05757116156974 17.5)"><path d="M8.75 0 C79.99 -0.19, 151.85 -1.64, 211.37 0 M8.75 0 C52.2 -2.57, 93.28 -1.6, 211.37 0 M211.37 0 C217.56 0.58, 218.73 3.98, 220.12 8.75 M211.37 0 C217.23 -1.93, 218.68 1.6, 220.12 8.75 M220.12 8.75 C221.37 11.44, 221.23 15.44, 220.12 26.25 M220.12 8.75 C220.86 13.96, 221 19.2, 220.12 26.25 M220.12 26.25 C221.26 32.53, 216.86 36.54, 211.37 35 M220.12 26.25 C218.47 32.21, 219.18 36.22, 211.37 35 M211.37 35 C153.56 35.9, 94.85 33.87, 8.75 35 M211.37 35 C134.26 36.56, 56.11 37.63, 8.75 35 M8.75 35 C2.22 35.46, -1.88 33.66, 0 26.25 M8.75 35 C2.37 34.93, 1.76 33.66, 0 26.25 M0 26.25 C1.17 20.01, -0.69 14.38, 0 8.75 M0 26.25 C-0.1 21.56, -0.5 17.24, 0 8.75 M0 8.75 C1.52 3.41, 4.47 1.49, 8.75 0 M0 8.75 C-2.09 3.72, 0.64 1.72, 8.75 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(609.4946155875665 347.18670710146375) rotate(0 63.88994598388672 12.5)"><text x="63.88994598388672" 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">batch number</text></g><g stroke-linecap="round" transform="translate(92.05212273505936 342.2376202745236) rotate(0 110.05757116156974 17.5)"><path d="M8.75 0 C87.8 1.47, 163.73 0.03, 211.37 0 M8.75 0 C80.33 1.32, 150.99 1.31, 211.37 0 M211.37 0 C217.29 1.89, 220.21 2.84, 220.12 8.75 M211.37 0 C216.45 0.06, 218.98 2.15, 220.12 8.75 M220.12 8.75 C220.91 15.34, 218.88 23.68, 220.12 26.25 M220.12 8.75 C219.53 13.76, 220.44 19.44, 220.12 26.25 M220.12 26.25 C221.21 32.93, 217.95 36.33, 211.37 35 M220.12 26.25 C217.92 33.43, 218.98 36.82, 211.37 35 M211.37 35 C143.51 34.44, 74.02 35, 8.75 35 M211.37 35 C131.56 34.14, 53.58 33.46, 8.75 35 M8.75 35 C1.81 36.98, 0.7 33.6, 0 26.25 M8.75 35 C2.1 34.43, 1.06 31.74, 0 26.25 M0 26.25 C-1.28 20.9, 0.87 17.15, 0 8.75 M0 26.25 C0.47 22.37, 0.55 16.2, 0 8.75 M0 8.75 C0.54 4.14, 4.21 0.3, 8.75 0 M0 8.75 C0.91 2.34, 2.54 1.86, 8.75 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(180.1297134278791 347.2376202745236) rotate(0 21.97998046875 12.5)"><text x="21.97998046875" 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">hash</text></g><g stroke-linecap="round"><g transform="translate(606.8514310658963 201.4631287988518) rotate(0 108.38376029738589 0.46191284466056004)"><path d="M-0.42 0.96 C35.67 1.31, 181.12 1.18, 217.48 1.01 M1.56 0.41 C37.47 1.07, 180.92 2.54, 216.9 2.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(606.8514310658963 201.4631287988518) rotate(0 108.38376029738589 0.46191284466056004)"><path d="M193.35 10.99 C203.92 9.08, 211.37 6.33, 216.9 2.59 M193.35 10.99 C197.49 9.23, 203 6.78, 216.9 2.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(606.8514310658963 201.4631287988518) rotate(0 108.38376029738589 0.46191284466056004)"><path d="M193.47 -6.12 C203.83 -1.56, 211.24 2.15, 216.9 2.59 M193.47 -6.12 C197.72 -4.2, 203.2 -2.98, 216.9 2.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(647.8887406336343 152.29703720881002) 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" transform="translate(850.3843537270727 131.33946292169503) rotate(0 121.49070339472077 34.20563317567928)"><path d="M17.1 0 C77.13 -0.25, 140.02 1.38, 225.88 0 M17.1 0 C84.36 0.77, 152.69 1.7, 225.88 0 M225.88 0 C235.37 1.26, 243.04 5.88, 242.98 17.1 M225.88 0 C236.79 -1.92, 241.9 7.18, 242.98 17.1 M242.98 17.1 C241.58 25.82, 241.99 32.3, 242.98 51.31 M242.98 17.1 C242.69 24.04, 242.3 31.26, 242.98 51.31 M242.98 51.31 C243.13 63.41, 238.81 68.87, 225.88 68.41 M242.98 51.31 C242.93 61.45, 235.7 68.68, 225.88 68.41 M225.88 68.41 C181.45 69.21, 131.82 67.12, 17.1 68.41 M225.88 68.41 C181.35 67.73, 136.7 68.68, 17.1 68.41 M17.1 68.41 C4.73 69.09, 0.66 62.01, 0 51.31 M17.1 68.41 C5.73 69.94, -0.42 62.82, 0 51.31 M0 51.31 C-1.27 38.99, -0.66 25.94, 0 17.1 M0 51.31 C0.77 41.45, 0.32 32.18, 0 17.1 M0 17.1 C-0.76 6.63, 7.48 -1.24, 17.1 0 M0 17.1 C-2.19 4.4, 4.07 0.09, 17.1 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(902.0650977101724 140.54509609737443) rotate(0 69.8099594116211 25)"><text x="69.8099594116211" 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. Unpack the </text><text x="69.8099594116211" 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">packedVals</text></g><g stroke-linecap="round" transform="translate(1197.2614826843608 117.14330183429206) rotate(0 143.04613896832575 47.61936899927218)"><path d="M23.81 0 C82.07 0.17, 139.61 0.19, 262.28 0 M23.81 0 C86.83 2.28, 148.09 1.35, 262.28 0 M262.28 0 C278.35 0.92, 286.89 9.63, 286.09 23.81 M262.28 0 C277.07 -1.96, 287.1 7.63, 286.09 23.81 M286.09 23.81 C288.06 35.11, 284.76 47.94, 286.09 71.43 M286.09 23.81 C286.32 34.75, 285.25 43.73, 286.09 71.43 M286.09 71.43 C284.38 86.09, 278.46 96.41, 262.28 95.24 M286.09 71.43 C287.89 89.29, 276.19 94.71, 262.28 95.24 M262.28 95.24 C201.69 96.91, 139.12 95.9, 23.81 95.24 M262.28 95.24 C174.34 93.83, 85.75 94.52, 23.81 95.24 M23.81 95.24 C7.24 95.21, -1.65 88.16, 0 71.43 M23.81 95.24 C6.33 94.52, -0.99 88.59, 0 71.43 M0 71.43 C0.6 58.43, -1.35 48.64, 0 23.81 M0 71.43 C-0.3 59.99, -0.77 48.81, 0 23.81 M0 23.81 C-0.42 7.52, 8.11 -1.84, 23.81 0 M0 23.81 C0.51 9.93, 9.02 1, 23.81 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1211.9477278538584 139.76267083356424) rotate(0 128.35989379882812 25)"><text x="128.35989379882812" 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">This is the batch number </text><text x="128.35989379882812" 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 the number of signups</text></g><g stroke-linecap="round"><g transform="translate(1130.2937187664036 169.30603841698075) rotate(0 15.46634491356258 -0.1900694001952843)"><path d="M-0.07 0.17 C5.19 0.05, 26.11 -0.5, 31.19 -0.62 M-0.77 -0.22 C4.47 -0.28, 25.52 -0.07, 30.9 -0.05" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1130.2937187664036 169.30603841698075) rotate(0 15.46634491356258 -0.1900694001952843)"><path d="M16.32 5.14 C19.95 4.31, 22.76 2.04, 30.9 -0.05 M16.32 5.14 C19.85 3.96, 24.36 2.39, 30.9 -0.05" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1130.2937187664036 169.30603841698075) rotate(0 15.46634491356258 -0.1900694001952843)"><path d="M16.4 -5.44 C20.02 -3.81, 22.81 -3.62, 30.9 -0.05 M16.4 -5.44 C19.92 -3.79, 24.42 -2.51, 30.9 -0.05" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(830.5441914983394 236.61006188457782) rotate(0 134.74171867676966 52.76127373882025)"><path d="M26.38 0 C98.96 -1.38, 172.72 1.64, 243.1 0 M26.38 0 C100.19 -0.22, 173.74 -0.44, 243.1 0 M243.1 0 C262.35 -1.18, 268.6 10.13, 269.48 26.38 M243.1 0 C259.91 -0.37, 271.34 6.71, 269.48 26.38 M269.48 26.38 C269.58 42.95, 268.91 63.47, 269.48 79.14 M269.48 26.38 C269.42 37.41, 268.71 50.34, 269.48 79.14 M269.48 79.14 C268.44 97.52, 260.15 104.87, 243.1 105.52 M269.48 79.14 C268.33 97.18, 261.41 106.25, 243.1 105.52 M243.1 105.52 C178.56 105.81, 112.06 105.31, 26.38 105.52 M243.1 105.52 C169.21 105.87, 95.06 105.07, 26.38 105.52 M26.38 105.52 C7.44 106.82, 1.92 95.36, 0 79.14 M26.38 105.52 C8.2 103.39, -1.67 96.16, 0 79.14 M0 79.14 C0.65 66.23, 1.58 55.05, 0 26.38 M0 79.14 C-0.08 67.19, -0.23 54.14, 0 26.38 M0 26.38 C1.96 7.45, 7.4 -0.07, 26.38 0 M0 26.38 C-1.59 6.85, 8.55 1.11, 26.38 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(837.2260041692497 251.87133562339818) rotate(0 128.05990600585938 37.5)"><text x="128.05990600585938" 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. Use a sha256 hasher </text><text x="128.05990600585938" 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 to hash the </text><text x="128.05990600585938" 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">values</text></g><g stroke-linecap="round" transform="translate(1189.182622877517 247.09786764752926) rotate(0 136.7999829552739 76.49551632667442)"><path d="M32 0 C100.02 -0.45, 167.49 0.63, 241.6 0 M32 0 C99.24 -0.83, 167.12 -0.22, 241.6 0 M241.6 0 C263.61 1.64, 271.62 11.64, 273.6 32 M241.6 0 C261.36 -1.37, 273.5 12.2, 273.6 32 M273.6 32 C273.93 62.81, 275.15 95.57, 273.6 120.99 M273.6 32 C272.65 63.76, 271.88 95.49, 273.6 120.99 M273.6 120.99 C275.25 144.08, 262.53 153.51, 241.6 152.99 M273.6 120.99 C275.19 142.47, 262.52 153.68, 241.6 152.99 M241.6 152.99 C175.68 150.67, 105.98 151.96, 32 152.99 M241.6 152.99 C184.61 151.46, 128.4 151.79, 32 152.99 M32 152.99 C11.22 151.47, -0.33 143.54, 0 120.99 M32 152.99 C9.9 150.69, 2.2 141.46, 0 120.99 M0 120.99 C-2.13 93.05, 0.12 65.07, 0 32 M0 120.99 C0 94.63, -0.24 68.31, 0 32 M0 32 C-0.85 10.48, 12.61 -0.57, 32 0 M0 32 C-1.16 12.23, 9.31 1.09, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1204.062714475369 273.59338397420356) rotate(0 121.91989135742188 50)"><text x="121.91989135742188" 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: packedValues, </text><text x="121.91989135742188" 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">sbCommitment, </text><text x="121.91989135742188" 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">currentTallyCommitment, </text><text x="121.91989135742188" 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">newTallyCommitment</text></g><g stroke-linecap="round"><g transform="translate(1128.8686996605634 281.27010371267875) rotate(0 17.254973246360578 0.19478672632124017)"><path d="M-0.45 0.03 C5.32 0.19, 28.73 0.7, 34.64 0.72 M0.33 -0.42 C6.03 -0.41, 28.51 -0.25, 34.28 -0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1128.8686996605634 281.27010371267875) rotate(0 17.254973246360578 0.19478672632124017)"><path d="M17.97 5.55 C23.08 4.08, 28.6 2.95, 34.28 -0.08 M17.97 5.55 C22.55 4.13, 25.96 2.96, 34.28 -0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1128.8686996605634 281.27010371267875) rotate(0 17.254973246360578 0.19478672632124017)"><path d="M18.17 -6.25 C23.2 -4.07, 28.65 -1.55, 34.28 -0.08 M18.17 -6.25 C22.74 -4.63, 26.09 -2.76, 34.28 -0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask></svg>
21
+ <rect x="0" y="0" width="1493.3537606210123" height="411.5604845778562" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(294.40926691448794 170.81402033509562) rotate(0 129.27623258310302 33.800522136203085)"><path d="M16.9 0 C99.78 1.66, 184.71 1.7, 241.65 0 M16.9 0 C64.33 0.18, 111.71 0.53, 241.65 0 M241.65 0 C254.06 0.57, 258.51 6.13, 258.55 16.9 M241.65 0 C255.18 1.11, 258.99 4.59, 258.55 16.9 M258.55 16.9 C259.09 29.5, 259.61 38.17, 258.55 50.7 M258.55 16.9 C258.26 30.76, 259.11 43.58, 258.55 50.7 M258.55 50.7 C258.05 63.26, 252.9 67.46, 241.65 67.6 M258.55 50.7 C260.36 62.99, 254.55 69.45, 241.65 67.6 M241.65 67.6 C194.67 70.41, 149.05 69.02, 16.9 67.6 M241.65 67.6 C163.96 67.17, 87.42 67.91, 16.9 67.6 M16.9 67.6 C4.92 66.7, 0.69 63.1, 0 50.7 M16.9 67.6 C4.29 69.71, -0.84 63.25, 0 50.7 M0 50.7 C1.8 38.9, 1.05 27.55, 0 16.9 M0 50.7 C0.24 43.88, -0.02 35.02, 0 16.9 M0 16.9 C-0.1 5.63, 4.26 -1.51, 16.9 0 M0 16.9 C-1.98 6.02, 4.78 0.81, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(313.0656035625324 192.1145424712986) rotate(0 110.6198959350586 12.5)"><text x="110.6198959350586" 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">TallyVotesInputHasher</text></g><g stroke-linecap="round" transform="translate(10 10) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C86.77 -2.57, 160.04 -2.34, 204.03 0 M16.09 0 C57.66 1.05, 98.07 1.01, 204.03 0 M204.03 0 C216.72 0.97, 220.49 4.45, 220.12 16.09 M204.03 0 C215.35 0.13, 219.87 5.95, 220.12 16.09 M220.12 16.09 C222.07 30.23, 219.53 39.25, 220.12 48.27 M220.12 16.09 C219.94 28.63, 220.18 39.81, 220.12 48.27 M220.12 48.27 C221.68 59.88, 216.17 65.96, 204.03 64.35 M220.12 48.27 C217.96 57.95, 216.69 63.58, 204.03 64.35 M204.03 64.35 C135.53 64.67, 65.52 62.74, 16.09 64.35 M204.03 64.35 C161.17 64.13, 119.37 65.15, 16.09 64.35 M16.09 64.35 C4.19 66.18, -0.73 60.1, 0 48.27 M16.09 64.35 C5.73 64.87, 1.13 61.15, 0 48.27 M0 48.27 C-1.57 40.07, 0.35 32.92, 0 16.09 M0 48.27 C-0.02 35.48, -0.66 21.95, 0 16.09 M0 16.09 C-1.72 5.7, 4.62 0.7, 16.09 0 M0 16.09 C0.02 5.38, 4.23 1.1, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(54.94763921576896 29.677416550875932) rotate(0 65.10993194580078 12.5)"><text x="65.10993194580078" 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">sbCommitment</text></g><g stroke-linecap="round"><g transform="translate(385.0214741061509 97.43477122007062) rotate(0 1.5956212533027951 21.722771252156463)"><path d="M-0.19 -0.45 C0.32 6.8, 2.17 35.88, 2.78 43.22 M0.71 0.51 C1.41 7.85, 3.37 36.79, 3.81 43.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(385.0214741061509 97.43477122007062) rotate(0 1.5956212533027951 21.722771252156463)"><path d="M-4.97 23.87 C-3.6 28.21, -0.96 34.59, 3.81 43.81 M-4.97 23.87 C-1.6 30.65, 0.89 36.74, 3.81 43.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(385.0214741061509 97.43477122007062) rotate(0 1.5956212533027951 21.722771252156463)"><path d="M9.9 22.89 C7.48 27.46, 6.35 34.08, 3.81 43.81 M9.9 22.89 C8.39 30.02, 5.99 36.42, 3.81 43.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(471.2704292368853 125.75873117477454) 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(482.5566653488877 274.70738765460897) rotate(0 40.27995300292969 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">Outputs</text></g><g stroke-linecap="round"><g transform="translate(421.57579823026026 273.4370338845199) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M0.1 -0.25 C0.11 6.55, 0.54 34.15, 0.59 41.05 M-0.51 0.81 C-0.6 7.68, 0.15 34.93, 0.23 41.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(421.57579823026026 273.4370338845199) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-7.18 22.64 C-4.63 30.51, -1.17 37.77, 0.23 41.77 M-7.18 22.64 C-4.88 29.3, -1.79 34.9, 0.23 41.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(421.57579823026026 273.4370338845199) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M6.85 22.35 C3.81 30.35, 1.68 37.72, 0.23 41.77 M6.85 22.35 C4.58 29.14, 3.1 34.83, 0.23 41.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(325.01614578217686 337.2056514761043) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C76.14 -0.7, 136.48 1.09, 204.03 0 M16.09 0 C83.23 -2.05, 147.81 -0.98, 204.03 0 M204.03 0 C215.21 0.71, 219.62 6.65, 220.12 16.09 M204.03 0 C214.73 -0.16, 221.92 6.39, 220.12 16.09 M220.12 16.09 C219.47 29.71, 219.7 41.33, 220.12 48.27 M220.12 16.09 C220.35 26.26, 219.38 35.48, 220.12 48.27 M220.12 48.27 C220 59.24, 214.04 63.45, 204.03 64.35 M220.12 48.27 C220.91 60.3, 213.4 66.46, 204.03 64.35 M204.03 64.35 C154.96 65.64, 106.88 63.54, 16.09 64.35 M204.03 64.35 C136.89 63.32, 70.28 64.02, 16.09 64.35 M16.09 64.35 C5.2 64.15, -0.1 58.98, 0 48.27 M16.09 64.35 C3.78 62.62, -1.98 59.38, 0 48.27 M0 48.27 C-0.1 38.82, 0.84 30, 0 16.09 M0 48.27 C-0.5 39.8, -0.3 29.42, 0 16.09 M0 16.09 C1.9 6.97, 3.57 -1.71, 16.09 0 M0 16.09 C0.88 5.93, 7.43 -0.7, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(384.403772180563 356.88306802698025) rotate(0 50.669944763183594 12.5)"><text x="50.669944763183594" 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">totalSignups</text></g><g stroke-linecap="round" transform="translate(255.71407860060526 14.325375601543328) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C60.38 1.04, 107.75 2.08, 204.03 0 M16.09 0 C90.89 -1.11, 164.19 0.08, 204.03 0 M204.03 0 C214.75 0.63, 221.02 4.92, 220.12 16.09 M204.03 0 C215.19 0.85, 219.98 5.94, 220.12 16.09 M220.12 16.09 C221.24 28.95, 220.01 41.79, 220.12 48.27 M220.12 16.09 C220.46 27.98, 219.37 38.96, 220.12 48.27 M220.12 48.27 C219.34 57.27, 215.32 65.1, 204.03 64.35 M220.12 48.27 C222.29 60.17, 215.63 62.52, 204.03 64.35 M204.03 64.35 C159.11 65.96, 114.63 65.98, 16.09 64.35 M204.03 64.35 C159.74 63.55, 114.79 64.74, 16.09 64.35 M16.09 64.35 C6.82 62.55, 1.24 58.97, 0 48.27 M16.09 64.35 C5.58 62.49, -1.75 59.21, 0 48.27 M0 48.27 C0.4 36.43, 0.19 24.87, 0 16.09 M0 48.27 C0.95 41.34, -0.63 33.52, 0 16.09 M0 16.09 C1.77 5.99, 7.19 -2, 16.09 0 M0 16.09 C-1.3 3.32, 5.45 -2.14, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(261.74175016500703 21.50279215241926) rotate(0 104.02989959716797 25)"><text x="104.02989959716797" 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">currentTallyCommitme</text><text x="104.02989959716797" 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">nt</text></g><g stroke-linecap="round" transform="translate(508.00472555008196 14.286553692389589) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C64.81 0.95, 111.26 -2.57, 204.03 0 M16.09 0 C73.5 1.31, 128.51 1.15, 204.03 0 M204.03 0 C214.84 1.93, 218.78 3.62, 220.12 16.09 M204.03 0 C212.75 -1.93, 221.12 7.46, 220.12 16.09 M220.12 16.09 C221.85 24.3, 220.23 34.73, 220.12 48.27 M220.12 16.09 C220.32 21.85, 219.73 29.09, 220.12 48.27 M220.12 48.27 C220.93 58.02, 214.78 64.23, 204.03 64.35 M220.12 48.27 C221.77 59.25, 213.29 64.55, 204.03 64.35 M204.03 64.35 C163.08 64.06, 123.4 64.58, 16.09 64.35 M204.03 64.35 C161.14 66.29, 116.43 65.85, 16.09 64.35 M16.09 64.35 C7 66.02, -1.17 57.12, 0 48.27 M16.09 64.35 C3.48 63.1, -2.21 57.91, 0 48.27 M0 48.27 C0.04 37.17, 0.57 29.68, 0 16.09 M0 48.27 C-0.52 39.34, -0.26 28.68, 0 16.09 M0 16.09 C1.65 5.62, 6.43 1.87, 16.09 0 M0 16.09 C0.88 5.21, 6.72 0.89, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(522.572382771222 33.96397024326552) rotate(0 95.48991394042969 12.5)"><text x="95.48991394042969" 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">newTallyCommitment</text></g><g stroke-linecap="round" transform="translate(752.5762828962881 14.985348057145302) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C81.91 -0.55, 151.62 -0.51, 204.03 0 M16.09 0 C72.92 0.72, 129.25 2.01, 204.03 0 M204.03 0 C215.9 0.44, 219.38 3.37, 220.12 16.09 M204.03 0 C216.94 -0.29, 218.4 3.6, 220.12 16.09 M220.12 16.09 C219.28 22.8, 220.99 31.71, 220.12 48.27 M220.12 16.09 C219.79 23.93, 220.58 32.2, 220.12 48.27 M220.12 48.27 C219.48 59.2, 214.69 65.59, 204.03 64.35 M220.12 48.27 C219.86 56.88, 216.45 66.36, 204.03 64.35 M204.03 64.35 C159.53 62.83, 117.88 65.24, 16.09 64.35 M204.03 64.35 C159.91 65.08, 116.09 65.35, 16.09 64.35 M16.09 64.35 C7.08 65.44, 0.53 59.08, 0 48.27 M16.09 64.35 C3.23 63.14, 0.86 57.74, 0 48.27 M0 48.27 C-0.9 39.28, -1.03 31.38, 0 16.09 M0 48.27 C-0.01 39.95, 0.8 30.47, 0 16.09 M0 16.09 C-0.12 5.59, 6.91 -0.8, 16.09 0 M0 16.09 C-0.95 3.52, 4.17 0.19, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(810.0838967824673 34.662764608021234) rotate(0 52.549957275390625 12.5)"><text x="52.549957275390625" 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">packedVals</text></g><g stroke-linecap="round" transform="translate(563.3269904098835 342.18670710146375) rotate(0 110.05757116156974 17.5)"><path d="M8.75 0 C79.99 -0.19, 151.85 -1.64, 211.37 0 M8.75 0 C52.2 -2.57, 93.28 -1.6, 211.37 0 M211.37 0 C217.56 0.58, 218.73 3.98, 220.12 8.75 M211.37 0 C217.23 -1.93, 218.68 1.6, 220.12 8.75 M220.12 8.75 C221.37 11.44, 221.23 15.44, 220.12 26.25 M220.12 8.75 C220.86 13.96, 221 19.2, 220.12 26.25 M220.12 26.25 C221.26 32.53, 216.86 36.54, 211.37 35 M220.12 26.25 C218.47 32.21, 219.18 36.22, 211.37 35 M211.37 35 C153.56 35.9, 94.85 33.87, 8.75 35 M211.37 35 C134.26 36.56, 56.11 37.63, 8.75 35 M8.75 35 C2.22 35.46, -1.88 33.66, 0 26.25 M8.75 35 C2.37 34.93, 1.76 33.66, 0 26.25 M0 26.25 C1.17 20.01, -0.69 14.38, 0 8.75 M0 26.25 C-0.1 21.56, -0.5 17.24, 0 8.75 M0 8.75 C1.52 3.41, 4.47 1.49, 8.75 0 M0 8.75 C-2.09 3.72, 0.64 1.72, 8.75 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(609.4946155875665 347.18670710146375) rotate(0 63.88994598388672 12.5)"><text x="63.88994598388672" 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">batch number</text></g><g stroke-linecap="round" transform="translate(92.05212273505936 342.2376202745236) rotate(0 110.05757116156974 17.5)"><path d="M8.75 0 C87.8 1.47, 163.73 0.03, 211.37 0 M8.75 0 C80.33 1.32, 150.99 1.31, 211.37 0 M211.37 0 C217.29 1.89, 220.21 2.84, 220.12 8.75 M211.37 0 C216.45 0.06, 218.98 2.15, 220.12 8.75 M220.12 8.75 C220.91 15.34, 218.88 23.68, 220.12 26.25 M220.12 8.75 C219.53 13.76, 220.44 19.44, 220.12 26.25 M220.12 26.25 C221.21 32.93, 217.95 36.33, 211.37 35 M220.12 26.25 C217.92 33.43, 218.98 36.82, 211.37 35 M211.37 35 C143.51 34.44, 74.02 35, 8.75 35 M211.37 35 C131.56 34.14, 53.58 33.46, 8.75 35 M8.75 35 C1.81 36.98, 0.7 33.6, 0 26.25 M8.75 35 C2.1 34.43, 1.06 31.74, 0 26.25 M0 26.25 C-1.28 20.9, 0.87 17.15, 0 8.75 M0 26.25 C0.47 22.37, 0.55 16.2, 0 8.75 M0 8.75 C0.54 4.14, 4.21 0.3, 8.75 0 M0 8.75 C0.91 2.34, 2.54 1.86, 8.75 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(180.1297134278791 347.2376202745236) rotate(0 21.97998046875 12.5)"><text x="21.97998046875" 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">hash</text></g><g stroke-linecap="round"><g transform="translate(606.8514310658963 201.4631287988518) rotate(0 108.38376029738589 0.46191284466056004)"><path d="M-0.42 0.96 C35.67 1.31, 181.12 1.18, 217.48 1.01 M1.56 0.41 C37.47 1.07, 180.92 2.54, 216.9 2.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(606.8514310658963 201.4631287988518) rotate(0 108.38376029738589 0.46191284466056004)"><path d="M193.35 10.99 C203.92 9.08, 211.37 6.33, 216.9 2.59 M193.35 10.99 C197.49 9.23, 203 6.78, 216.9 2.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(606.8514310658963 201.4631287988518) rotate(0 108.38376029738589 0.46191284466056004)"><path d="M193.47 -6.12 C203.83 -1.56, 211.24 2.15, 216.9 2.59 M193.47 -6.12 C197.72 -4.2, 203.2 -2.98, 216.9 2.59" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(647.8887406336343 152.29703720881002) 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" transform="translate(850.3843537270727 131.33946292169503) rotate(0 121.49070339472077 34.20563317567928)"><path d="M17.1 0 C77.13 -0.25, 140.02 1.38, 225.88 0 M17.1 0 C84.36 0.77, 152.69 1.7, 225.88 0 M225.88 0 C235.37 1.26, 243.04 5.88, 242.98 17.1 M225.88 0 C236.79 -1.92, 241.9 7.18, 242.98 17.1 M242.98 17.1 C241.58 25.82, 241.99 32.3, 242.98 51.31 M242.98 17.1 C242.69 24.04, 242.3 31.26, 242.98 51.31 M242.98 51.31 C243.13 63.41, 238.81 68.87, 225.88 68.41 M242.98 51.31 C242.93 61.45, 235.7 68.68, 225.88 68.41 M225.88 68.41 C181.45 69.21, 131.82 67.12, 17.1 68.41 M225.88 68.41 C181.35 67.73, 136.7 68.68, 17.1 68.41 M17.1 68.41 C4.73 69.09, 0.66 62.01, 0 51.31 M17.1 68.41 C5.73 69.94, -0.42 62.82, 0 51.31 M0 51.31 C-1.27 38.99, -0.66 25.94, 0 17.1 M0 51.31 C0.77 41.45, 0.32 32.18, 0 17.1 M0 17.1 C-0.76 6.63, 7.48 -1.24, 17.1 0 M0 17.1 C-2.19 4.4, 4.07 0.09, 17.1 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(902.0650977101724 140.54509609737443) rotate(0 69.8099594116211 25)"><text x="69.8099594116211" 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. Unpack the </text><text x="69.8099594116211" 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">packedVals</text></g><g stroke-linecap="round" transform="translate(1197.2614826843608 117.14330183429206) rotate(0 143.04613896832575 47.61936899927218)"><path d="M23.81 0 C82.07 0.17, 139.61 0.19, 262.28 0 M23.81 0 C86.83 2.28, 148.09 1.35, 262.28 0 M262.28 0 C278.35 0.92, 286.89 9.63, 286.09 23.81 M262.28 0 C277.07 -1.96, 287.1 7.63, 286.09 23.81 M286.09 23.81 C288.06 35.11, 284.76 47.94, 286.09 71.43 M286.09 23.81 C286.32 34.75, 285.25 43.73, 286.09 71.43 M286.09 71.43 C284.38 86.09, 278.46 96.41, 262.28 95.24 M286.09 71.43 C287.89 89.29, 276.19 94.71, 262.28 95.24 M262.28 95.24 C201.69 96.91, 139.12 95.9, 23.81 95.24 M262.28 95.24 C174.34 93.83, 85.75 94.52, 23.81 95.24 M23.81 95.24 C7.24 95.21, -1.65 88.16, 0 71.43 M23.81 95.24 C6.33 94.52, -0.99 88.59, 0 71.43 M0 71.43 C0.6 58.43, -1.35 48.64, 0 23.81 M0 71.43 C-0.3 59.99, -0.77 48.81, 0 23.81 M0 23.81 C-0.42 7.52, 8.11 -1.84, 23.81 0 M0 23.81 C0.51 9.93, 9.02 1, 23.81 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1211.9477278538584 139.76267083356424) rotate(0 128.35989379882812 25)"><text x="128.35989379882812" 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">This is the batch number </text><text x="128.35989379882812" 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 the number of signups</text></g><g stroke-linecap="round"><g transform="translate(1130.2937187664036 169.30603841698075) rotate(0 15.46634491356258 -0.1900694001952843)"><path d="M-0.07 0.17 C5.19 0.05, 26.11 -0.5, 31.19 -0.62 M-0.77 -0.22 C4.47 -0.28, 25.52 -0.07, 30.9 -0.05" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1130.2937187664036 169.30603841698075) rotate(0 15.46634491356258 -0.1900694001952843)"><path d="M16.32 5.14 C19.95 4.31, 22.76 2.04, 30.9 -0.05 M16.32 5.14 C19.85 3.96, 24.36 2.39, 30.9 -0.05" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1130.2937187664036 169.30603841698075) rotate(0 15.46634491356258 -0.1900694001952843)"><path d="M16.4 -5.44 C20.02 -3.81, 22.81 -3.62, 30.9 -0.05 M16.4 -5.44 C19.92 -3.79, 24.42 -2.51, 30.9 -0.05" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(830.5441914983394 236.61006188457782) rotate(0 134.74171867676966 52.76127373882025)"><path d="M26.38 0 C98.96 -1.38, 172.72 1.64, 243.1 0 M26.38 0 C100.19 -0.22, 173.74 -0.44, 243.1 0 M243.1 0 C262.35 -1.18, 268.6 10.13, 269.48 26.38 M243.1 0 C259.91 -0.37, 271.34 6.71, 269.48 26.38 M269.48 26.38 C269.58 42.95, 268.91 63.47, 269.48 79.14 M269.48 26.38 C269.42 37.41, 268.71 50.34, 269.48 79.14 M269.48 79.14 C268.44 97.52, 260.15 104.87, 243.1 105.52 M269.48 79.14 C268.33 97.18, 261.41 106.25, 243.1 105.52 M243.1 105.52 C178.56 105.81, 112.06 105.31, 26.38 105.52 M243.1 105.52 C169.21 105.87, 95.06 105.07, 26.38 105.52 M26.38 105.52 C7.44 106.82, 1.92 95.36, 0 79.14 M26.38 105.52 C8.2 103.39, -1.67 96.16, 0 79.14 M0 79.14 C0.65 66.23, 1.58 55.05, 0 26.38 M0 79.14 C-0.08 67.19, -0.23 54.14, 0 26.38 M0 26.38 C1.96 7.45, 7.4 -0.07, 26.38 0 M0 26.38 C-1.59 6.85, 8.55 1.11, 26.38 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(837.2260041692497 251.87133562339818) rotate(0 128.05990600585938 37.5)"><text x="128.05990600585938" 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. Use a sha256 hasher </text><text x="128.05990600585938" 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 to hash the </text><text x="128.05990600585938" 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">values</text></g><g stroke-linecap="round" transform="translate(1189.182622877517 247.09786764752926) rotate(0 136.7999829552739 76.49551632667442)"><path d="M32 0 C100.02 -0.45, 167.49 0.63, 241.6 0 M32 0 C99.24 -0.83, 167.12 -0.22, 241.6 0 M241.6 0 C263.61 1.64, 271.62 11.64, 273.6 32 M241.6 0 C261.36 -1.37, 273.5 12.2, 273.6 32 M273.6 32 C273.93 62.81, 275.15 95.57, 273.6 120.99 M273.6 32 C272.65 63.76, 271.88 95.49, 273.6 120.99 M273.6 120.99 C275.25 144.08, 262.53 153.51, 241.6 152.99 M273.6 120.99 C275.19 142.47, 262.52 153.68, 241.6 152.99 M241.6 152.99 C175.68 150.67, 105.98 151.96, 32 152.99 M241.6 152.99 C184.61 151.46, 128.4 151.79, 32 152.99 M32 152.99 C11.22 151.47, -0.33 143.54, 0 120.99 M32 152.99 C9.9 150.69, 2.2 141.46, 0 120.99 M0 120.99 C-2.13 93.05, 0.12 65.07, 0 32 M0 120.99 C0 94.63, -0.24 68.31, 0 32 M0 32 C-0.85 10.48, 12.61 -0.57, 32 0 M0 32 C-1.16 12.23, 9.31 1.09, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1204.062714475369 273.59338397420356) rotate(0 121.91989135742188 50)"><text x="121.91989135742188" 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: packedValues, </text><text x="121.91989135742188" 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">sbCommitment, </text><text x="121.91989135742188" 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">currentTallyCommitment, </text><text x="121.91989135742188" 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">newTallyCommitment</text></g><g stroke-linecap="round"><g transform="translate(1128.8686996605634 281.27010371267875) rotate(0 17.254973246360578 0.19478672632124017)"><path d="M-0.45 0.03 C5.32 0.19, 28.73 0.7, 34.64 0.72 M0.33 -0.42 C6.03 -0.41, 28.51 -0.25, 34.28 -0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1128.8686996605634 281.27010371267875) rotate(0 17.254973246360578 0.19478672632124017)"><path d="M17.97 5.55 C23.08 4.08, 28.6 2.95, 34.28 -0.08 M17.97 5.55 C22.55 4.13, 25.96 2.96, 34.28 -0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1128.8686996605634 281.27010371267875) rotate(0 17.254973246360578 0.19478672632124017)"><path d="M18.17 -6.25 C23.2 -4.07, 28.65 -1.55, 34.28 -0.08 M18.17 -6.25 C22.74 -4.63, 26.09 -2.76, 34.28 -0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask></svg>