File size: 26,026 Bytes
da43f5e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 |
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: ProcessFlowDiagram Pages: 1 -->
<svg width="1218pt" height="1813pt"
viewBox="0.00 0.00 1218.34 1813.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(36 1777)">
<title>ProcessFlowDiagram</title>
<polygon fill="white" stroke="transparent" points="-36,36 -36,-1777 1182.34,-1777 1182.34,36 -36,36"/>
<!-- Start Registration Process -->
<g id="node1" class="node">
<title>Start Registration Process</title>
<ellipse fill="#a8e6cf" stroke="black" cx="708.34" cy="-1723" rx="133.78" ry="18"/>
<text text-anchor="middle" x="708.34" y="-1719.3" font-family="Times,serif" font-size="14.00">Start Registration Process</text>
</g>
<!-- user_access_form -->
<g id="node2" class="node">
<title>user_access_form</title>
<path fill="#b8d4f1" stroke="black" d="M938.43,-1636C938.43,-1636 577.32,-1636 577.32,-1636 571.32,-1636 559.68,-1633.95 554.04,-1631.9 554.04,-1631.9 477.53,-1604.1 477.53,-1604.1 471.89,-1602.05 472.25,-1600 478.25,-1600 478.25,-1600 839.36,-1600 839.36,-1600 845.36,-1600 857,-1602.05 862.64,-1604.1 862.64,-1604.1 939.16,-1631.9 939.16,-1631.9 944.79,-1633.95 944.43,-1636 938.43,-1636"/>
<text text-anchor="middle" x="708.34" y="-1614.3" font-family="Times,serif" font-size="14.00">User Accesses Registration Form</text>
</g>
<!-- Start Registration Process->user_access_form -->
<g id="edge1" class="edge">
<title>Start Registration Process->user_access_form</title>
<path fill="none" stroke="#4a4a4a" d="M708.34,-1704.71C708.34,-1704.71 708.34,-1646.08 708.34,-1646.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="711.84,-1646.08 708.34,-1636.08 704.84,-1646.08 711.84,-1646.08"/>
<text text-anchor="middle" x="743.34" y="-1668" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">User Request</text>
</g>
<!-- collect_user_data -->
<g id="node3" class="node">
<title>collect_user_data</title>
<path fill="#bebebe" stroke="black" d="M794.84,-1531C794.84,-1531 621.84,-1531 621.84,-1531 615.84,-1531 609.84,-1525 609.84,-1519 609.84,-1519 609.84,-1507 609.84,-1507 609.84,-1501 615.84,-1495 621.84,-1495 621.84,-1495 794.84,-1495 794.84,-1495 800.84,-1495 806.84,-1501 806.84,-1507 806.84,-1507 806.84,-1519 806.84,-1519 806.84,-1525 800.84,-1531 794.84,-1531"/>
<text text-anchor="middle" x="708.34" y="-1509.3" font-family="Times,serif" font-size="14.00">Collect Registration Data</text>
</g>
<!-- user_access_form->collect_user_data -->
<g id="edge2" class="edge">
<title>user_access_form->collect_user_data</title>
<path fill="none" stroke="#4a4a4a" d="M708.34,-1599.71C708.34,-1599.71 708.34,-1541.08 708.34,-1541.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="711.84,-1541.08 708.34,-1531.08 704.84,-1541.08 711.84,-1541.08"/>
<text text-anchor="middle" x="749.34" y="-1563" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Form Displayed</text>
</g>
<!-- validate_input_format -->
<g id="node4" class="node">
<title>validate_input_format</title>
<path fill="#bebebe" stroke="black" d="M782.84,-1426C782.84,-1426 633.84,-1426 633.84,-1426 627.84,-1426 621.84,-1420 621.84,-1414 621.84,-1414 621.84,-1402 621.84,-1402 621.84,-1396 627.84,-1390 633.84,-1390 633.84,-1390 782.84,-1390 782.84,-1390 788.84,-1390 794.84,-1396 794.84,-1402 794.84,-1402 794.84,-1414 794.84,-1414 794.84,-1420 788.84,-1426 782.84,-1426"/>
<text text-anchor="middle" x="708.34" y="-1404.3" font-family="Times,serif" font-size="14.00">Validate Input Format</text>
</g>
<!-- collect_user_data->validate_input_format -->
<g id="edge3" class="edge">
<title>collect_user_data->validate_input_format</title>
<path fill="none" stroke="#4a4a4a" d="M708.34,-1494.71C708.34,-1494.71 708.34,-1436.08 708.34,-1436.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="711.84,-1436.08 708.34,-1426.08 704.84,-1436.08 711.84,-1436.08"/>
<text text-anchor="middle" x="748.84" y="-1458" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Data Submitted</text>
</g>
<!-- is_format_valid -->
<g id="node5" class="node">
<title>is_format_valid</title>
<path fill="#fff9c4" stroke="black" d="M696.47,-1319.26C696.47,-1319.26 597.72,-1304.74 597.72,-1304.74 591.78,-1303.87 591.78,-1302.13 597.72,-1301.26 597.72,-1301.26 696.47,-1286.74 696.47,-1286.74 702.4,-1285.87 714.28,-1285.87 720.21,-1286.74 720.21,-1286.74 818.96,-1301.26 818.96,-1301.26 824.9,-1302.13 824.9,-1303.87 818.96,-1304.74 818.96,-1304.74 720.21,-1319.26 720.21,-1319.26 714.28,-1320.13 702.4,-1320.13 696.47,-1319.26"/>
<text text-anchor="middle" x="708.34" y="-1299.3" font-family="Times,serif" font-size="14.00">Is Format Valid?</text>
</g>
<!-- validate_input_format->is_format_valid -->
<g id="edge4" class="edge">
<title>validate_input_format->is_format_valid</title>
<path fill="none" stroke="#4a4a4a" d="M708.34,-1389.71C708.34,-1389.71 708.34,-1331.08 708.34,-1331.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="711.84,-1331.08 708.34,-1321.08 704.84,-1331.08 711.84,-1331.08"/>
<text text-anchor="middle" x="759.84" y="-1353" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Validation Complete</text>
</g>
<!-- check_email_exists -->
<g id="node6" class="node">
<title>check_email_exists</title>
<path fill="#bebebe" stroke="black" d="M701.34,-1216C701.34,-1216 497.34,-1216 497.34,-1216 491.34,-1216 485.34,-1210 485.34,-1204 485.34,-1204 485.34,-1192 485.34,-1192 485.34,-1186 491.34,-1180 497.34,-1180 497.34,-1180 701.34,-1180 701.34,-1180 707.34,-1180 713.34,-1186 713.34,-1192 713.34,-1192 713.34,-1204 713.34,-1204 713.34,-1210 707.34,-1216 701.34,-1216"/>
<text text-anchor="middle" x="599.34" y="-1194.3" font-family="Times,serif" font-size="14.00">Check if Email Already Exists</text>
</g>
<!-- is_format_valid->check_email_exists -->
<g id="edge5" class="edge">
<title>is_format_valid->check_email_exists</title>
<path fill="none" stroke="#4a4a4a" d="M649.72,-1293.31C649.72,-1293.31 649.72,-1226.02 649.72,-1226.02"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="653.22,-1226.02 649.72,-1216.02 646.22,-1226.02 653.22,-1226.02"/>
<text text-anchor="middle" x="694.84" y="-1248" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Valid Format</text>
</g>
<!-- rate_limit_check -->
<g id="node21" class="node">
<title>rate_limit_check</title>
<path fill="#fff9c4" stroke="black" d="M885.38,-1005C885.38,-1005 694.97,-989 694.97,-989 688.99,-988.5 688.99,-987.5 694.97,-987 694.97,-987 885.38,-971 885.38,-971 891.36,-970.5 903.32,-970.5 909.3,-971 909.3,-971 1099.71,-987 1099.71,-987 1105.69,-987.5 1105.69,-988.5 1099.71,-989 1099.71,-989 909.3,-1005 909.3,-1005 903.32,-1005.5 891.36,-1005.5 885.38,-1005"/>
<text text-anchor="middle" x="897.34" y="-984.3" font-family="Times,serif" font-size="14.00">Check Registration Rate Limit</text>
</g>
<!-- is_format_valid->rate_limit_check -->
<g id="edge6" class="edge">
<title>is_format_valid->rate_limit_check</title>
<path fill="none" stroke="#4a4a4a" d="M771.96,-1294.25C771.96,-1294.25 771.96,-1005.7 771.96,-1005.7"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="775.46,-1005.7 771.96,-995.7 768.46,-1005.7 775.46,-1005.7"/>
<text text-anchor="middle" x="835.34" y="-1143" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Invalid Format</text>
</g>
<!-- email_already_exists -->
<g id="node7" class="node">
<title>email_already_exists</title>
<path fill="#fff9c4" stroke="black" d="M430.39,-1109.87C430.39,-1109.87 264.26,-1094.13 264.26,-1094.13 258.28,-1093.57 258.28,-1092.43 264.26,-1091.87 264.26,-1091.87 430.39,-1076.13 430.39,-1076.13 436.37,-1075.57 448.31,-1075.57 454.29,-1076.13 454.29,-1076.13 620.43,-1091.87 620.43,-1091.87 626.4,-1092.43 626.4,-1093.57 620.43,-1094.13 620.43,-1094.13 454.29,-1109.87 454.29,-1109.87 448.31,-1110.43 436.37,-1110.43 430.39,-1109.87"/>
<text text-anchor="middle" x="442.34" y="-1089.3" font-family="Times,serif" font-size="14.00">Email Already Registered?</text>
</g>
<!-- check_email_exists->email_already_exists -->
<g id="edge9" class="edge">
<title>check_email_exists->email_already_exists</title>
<path fill="none" stroke="#4a4a4a" d="M558.97,-1179.71C558.97,-1179.71 558.97,-1110.26 558.97,-1110.26"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="562.47,-1110.26 558.97,-1100.26 555.47,-1110.26 562.47,-1110.26"/>
<text text-anchor="middle" x="602.84" y="-1143" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Database Check</text>
</g>
<!-- hash_password -->
<g id="node8" class="node">
<title>hash_password</title>
<path fill="#bebebe" stroke="black" d="M188.84,-1006C188.84,-1006 47.84,-1006 47.84,-1006 41.84,-1006 35.84,-1000 35.84,-994 35.84,-994 35.84,-982 35.84,-982 35.84,-976 41.84,-970 47.84,-970 47.84,-970 188.84,-970 188.84,-970 194.84,-970 200.84,-976 200.84,-982 200.84,-982 200.84,-994 200.84,-994 200.84,-1000 194.84,-1006 188.84,-1006"/>
<text text-anchor="middle" x="118.34" y="-984.3" font-family="Times,serif" font-size="14.00">Hash User Password</text>
</g>
<!-- email_already_exists->hash_password -->
<g id="edge10" class="edge">
<title>email_already_exists->hash_password</title>
<path fill="none" stroke="#4a4a4a" d="M251.99,-1093C181.47,-1093 118.34,-1093 118.34,-1093 118.34,-1093 118.34,-1016.29 118.34,-1016.29"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="121.84,-1016.29 118.34,-1006.29 114.84,-1016.29 121.84,-1016.29"/>
<text text-anchor="middle" x="256.34" y="-1038" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">New Email</text>
</g>
<!-- show_duplicate_error -->
<g id="node18" class="node">
<title>show_duplicate_error</title>
<path fill="#b8d4f1" stroke="black" d="M628.76,-1006C628.76,-1006 337.12,-1006 337.12,-1006 331.12,-1006 319.63,-1003.57 314.15,-1001.14 314.15,-1001.14 254.89,-974.86 254.89,-974.86 249.4,-972.43 249.92,-970 255.92,-970 255.92,-970 547.56,-970 547.56,-970 553.56,-970 565.05,-972.43 570.53,-974.86 570.53,-974.86 629.79,-1001.14 629.79,-1001.14 635.28,-1003.57 634.76,-1006 628.76,-1006"/>
<text text-anchor="middle" x="442.34" y="-984.3" font-family="Times,serif" font-size="14.00">Display Email Exists Error</text>
</g>
<!-- email_already_exists->show_duplicate_error -->
<g id="edge11" class="edge">
<title>email_already_exists->show_duplicate_error</title>
<path fill="none" stroke="#4a4a4a" d="M442.34,-1074.71C442.34,-1074.71 442.34,-1016.08 442.34,-1016.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="445.84,-1016.08 442.34,-1006.08 438.84,-1016.08 445.84,-1016.08"/>
<text text-anchor="middle" x="483.34" y="-1038" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Duplicate Email</text>
</g>
<!-- create_user_record -->
<g id="node9" class="node">
<title>create_user_record</title>
<path fill="#bebebe" stroke="black" d="M278.34,-901C278.34,-901 72.34,-901 72.34,-901 66.34,-901 60.34,-895 60.34,-889 60.34,-889 60.34,-877 60.34,-877 60.34,-871 66.34,-865 72.34,-865 72.34,-865 278.34,-865 278.34,-865 284.34,-865 290.34,-871 290.34,-877 290.34,-877 290.34,-889 290.34,-889 290.34,-895 284.34,-901 278.34,-901"/>
<text text-anchor="middle" x="175.34" y="-879.3" font-family="Times,serif" font-size="14.00">Create User Database Record</text>
</g>
<!-- hash_password->create_user_record -->
<g id="edge14" class="edge">
<title>hash_password->create_user_record</title>
<path fill="none" stroke="#4a4a4a" d="M130.59,-969.71C130.59,-969.71 130.59,-911.08 130.59,-911.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="134.09,-911.08 130.59,-901.08 127.09,-911.08 134.09,-911.08"/>
<text text-anchor="middle" x="184.34" y="-933" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Password Secured</text>
</g>
<!-- generate_verification_token -->
<g id="node10" class="node">
<title>generate_verification_token</title>
<path fill="#bebebe" stroke="black" d="M293.34,-771C293.34,-771 57.34,-771 57.34,-771 51.34,-771 45.34,-765 45.34,-759 45.34,-759 45.34,-747 45.34,-747 45.34,-741 51.34,-735 57.34,-735 57.34,-735 293.34,-735 293.34,-735 299.34,-735 305.34,-741 305.34,-747 305.34,-747 305.34,-759 305.34,-759 305.34,-765 299.34,-771 293.34,-771"/>
<text text-anchor="middle" x="175.34" y="-749.3" font-family="Times,serif" font-size="14.00">Generate Email Verification Token</text>
</g>
<!-- create_user_record->generate_verification_token -->
<g id="edge15" class="edge">
<title>create_user_record->generate_verification_token</title>
<path fill="none" stroke="#4a4a4a" d="M175.34,-864.92C175.34,-864.92 175.34,-781.34 175.34,-781.34"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="178.84,-781.34 175.34,-771.34 171.84,-781.34 178.84,-781.34"/>
<text text-anchor="middle" x="209.34" y="-815.5" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">User Created</text>
</g>
<!-- send_verification_email -->
<g id="node11" class="node">
<title>send_verification_email</title>
<path fill="#b8d4f1" stroke="black" d="M338.52,-666C338.52,-666 83.85,-666 83.85,-666 77.85,-666 66.49,-663.31 61.12,-660.61 61.12,-660.61 10.88,-635.39 10.88,-635.39 5.52,-632.69 6.16,-630 12.16,-630 12.16,-630 266.83,-630 266.83,-630 272.83,-630 284.2,-632.69 289.56,-635.39 289.56,-635.39 339.8,-660.61 339.8,-660.61 345.16,-663.31 344.52,-666 338.52,-666"/>
<text text-anchor="middle" x="175.34" y="-644.3" font-family="Times,serif" font-size="14.00">Send Verification Email</text>
</g>
<!-- generate_verification_token->send_verification_email -->
<g id="edge16" class="edge">
<title>generate_verification_token->send_verification_email</title>
<path fill="none" stroke="#4a4a4a" d="M175.34,-734.71C175.34,-734.71 175.34,-676.08 175.34,-676.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="178.84,-676.08 175.34,-666.08 171.84,-676.08 178.84,-676.08"/>
<text text-anchor="middle" x="208.84" y="-698" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Token Ready</text>
</g>
<!-- create_user_profile -->
<g id="node12" class="node">
<title>create_user_profile</title>
<polygon fill="#f0f8ff" stroke="black" points="285.34,-561 59.34,-561 59.34,-525 291.34,-525 291.34,-555 285.34,-561"/>
<polyline fill="none" stroke="black" points="285.34,-561 285.34,-555 "/>
<polyline fill="none" stroke="black" points="291.34,-555 285.34,-555 "/>
<text text-anchor="middle" x="175.34" y="-539.3" font-family="Times,serif" font-size="14.00">Create User Profile Document</text>
</g>
<!-- send_verification_email->create_user_profile -->
<g id="edge17" class="edge">
<title>send_verification_email->create_user_profile</title>
<path fill="none" stroke="#4a4a4a" d="M175.34,-629.71C175.34,-629.71 175.34,-571.08 175.34,-571.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="178.84,-571.08 175.34,-561.08 171.84,-571.08 178.84,-571.08"/>
<text text-anchor="middle" x="203.34" y="-593" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Email Sent</text>
</g>
<!-- setup_default_preferences -->
<g id="node13" class="node">
<title>setup_default_preferences</title>
<path fill="#bebebe" stroke="black" d="M286.84,-456C286.84,-456 65.84,-456 65.84,-456 59.84,-456 53.84,-450 53.84,-444 53.84,-444 53.84,-432 53.84,-432 53.84,-426 59.84,-420 65.84,-420 65.84,-420 286.84,-420 286.84,-420 292.84,-420 298.84,-426 298.84,-432 298.84,-432 298.84,-444 298.84,-444 298.84,-450 292.84,-456 286.84,-456"/>
<text text-anchor="middle" x="176.34" y="-434.3" font-family="Times,serif" font-size="14.00">Setup Default User Preferences</text>
</g>
<!-- create_user_profile->setup_default_preferences -->
<g id="edge18" class="edge">
<title>create_user_profile->setup_default_preferences</title>
<path fill="none" stroke="#4a4a4a" d="M175.34,-524.71C175.34,-524.71 175.34,-466.08 175.34,-466.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="178.84,-466.08 175.34,-456.08 171.84,-466.08 178.84,-466.08"/>
<text text-anchor="middle" x="213.84" y="-488" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Profile Created</text>
</g>
<!-- log_registration_event -->
<g id="node14" class="node">
<title>log_registration_event</title>
<polygon fill="#f0f8ff" stroke="black" points="273.84,-351 84.84,-351 84.84,-315 279.84,-315 279.84,-345 273.84,-351"/>
<polyline fill="none" stroke="black" points="273.84,-351 273.84,-345 "/>
<polyline fill="none" stroke="black" points="279.84,-345 273.84,-345 "/>
<text text-anchor="middle" x="182.34" y="-329.3" font-family="Times,serif" font-size="14.00">Log Registration Activity</text>
</g>
<!-- setup_default_preferences->log_registration_event -->
<g id="edge19" class="edge">
<title>setup_default_preferences->log_registration_event</title>
<path fill="none" stroke="#4a4a4a" d="M182.34,-419.71C182.34,-419.71 182.34,-361.08 182.34,-361.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="185.84,-361.08 182.34,-351.08 178.84,-361.08 185.84,-361.08"/>
<text text-anchor="middle" x="218.84" y="-383" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Preferences Set</text>
</g>
<!-- send_welcome_notification -->
<g id="node15" class="node">
<title>send_welcome_notification</title>
<path fill="#b8d4f1" stroke="black" d="M373.65,-246C373.65,-246 112.41,-246 112.41,-246 106.41,-246 95.02,-243.36 89.64,-240.71 89.64,-240.71 37.81,-215.29 37.81,-215.29 32.42,-212.64 33.04,-210 39.04,-210 39.04,-210 300.27,-210 300.27,-210 306.27,-210 317.66,-212.64 323.04,-215.29 323.04,-215.29 374.87,-240.71 374.87,-240.71 380.26,-243.36 379.65,-246 373.65,-246"/>
<text text-anchor="middle" x="206.34" y="-224.3" font-family="Times,serif" font-size="14.00">Send Welcome Message</text>
</g>
<!-- log_registration_event->send_welcome_notification -->
<g id="edge20" class="edge">
<title>log_registration_event->send_welcome_notification</title>
<path fill="none" stroke="#4a4a4a" d="M182.34,-314.71C182.34,-314.71 182.34,-256.08 182.34,-256.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="185.84,-256.08 182.34,-246.08 178.84,-256.08 185.84,-256.08"/>
<text text-anchor="middle" x="226.84" y="-278" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Event Logged</text>
</g>
<!-- redirect_to_verification -->
<g id="node16" class="node">
<title>redirect_to_verification</title>
<path fill="#b8d4f1" stroke="black" d="M498.04,-141C498.04,-141 186.86,-141 186.86,-141 180.86,-141 169.33,-138.69 163.79,-136.38 163.79,-136.38 99.72,-109.62 99.72,-109.62 94.18,-107.31 94.64,-105 100.64,-105 100.64,-105 411.82,-105 411.82,-105 417.82,-105 429.35,-107.31 434.89,-109.62 434.89,-109.62 498.97,-136.38 498.97,-136.38 504.5,-138.69 504.04,-141 498.04,-141"/>
<text text-anchor="middle" x="299.34" y="-119.3" font-family="Times,serif" font-size="14.00">Redirect to Verification Page</text>
</g>
<!-- send_welcome_notification->redirect_to_verification -->
<g id="edge21" class="edge">
<title>send_welcome_notification->redirect_to_verification</title>
<path fill="none" stroke="#4a4a4a" d="M237.12,-209.71C237.12,-209.71 237.12,-151.08 237.12,-151.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="240.62,-151.08 237.12,-141.08 233.62,-151.08 240.62,-151.08"/>
<text text-anchor="middle" x="273.84" y="-173" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Welcome Sent</text>
</g>
<!-- end_registration_process -->
<g id="node23" class="node">
<title>end_registration_process</title>
<ellipse fill="#ffb3ba" stroke="black" cx="631.34" cy="-18" rx="128.88" ry="18"/>
<text text-anchor="middle" x="631.34" y="-14.3" font-family="Times,serif" font-size="14.00">End Registration Process</text>
</g>
<!-- redirect_to_verification->end_registration_process -->
<g id="edge22" class="edge">
<title>redirect_to_verification->end_registration_process</title>
<path fill="none" stroke="#4a4a4a" d="M506.3,-122.92C506.3,-122.92 506.3,-32.38 506.3,-32.38"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="509.8,-32.38 506.3,-22.38 502.8,-32.38 509.8,-32.38"/>
<text text-anchor="middle" x="451.84" y="-68" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Success Path</text>
</g>
<!-- show_format_error -->
<g id="node17" class="node">
<title>show_format_error</title>
<path fill="#b8d4f1" stroke="black" d="M1003.03,-901C1003.03,-901 668.01,-901 668.01,-901 662.01,-901 650.42,-898.82 644.83,-896.64 644.83,-896.64 574.83,-869.36 574.83,-869.36 569.24,-867.18 569.65,-865 575.65,-865 575.65,-865 910.68,-865 910.68,-865 916.68,-865 928.27,-867.18 933.86,-869.36 933.86,-869.36 1003.85,-896.64 1003.85,-896.64 1009.44,-898.82 1009.03,-901 1003.03,-901"/>
<text text-anchor="middle" x="789.34" y="-879.3" font-family="Times,serif" font-size="14.00">Display Format Error Message</text>
</g>
<!-- log_failed_attempt -->
<g id="node20" class="node">
<title>log_failed_attempt</title>
<polygon fill="#f0f8ff" stroke="black" points="717.34,-771 539.34,-771 539.34,-735 723.34,-735 723.34,-765 717.34,-771"/>
<polyline fill="none" stroke="black" points="717.34,-771 717.34,-765 "/>
<polyline fill="none" stroke="black" points="723.34,-765 717.34,-765 "/>
<text text-anchor="middle" x="631.34" y="-749.3" font-family="Times,serif" font-size="14.00">Log Failed Registration</text>
</g>
<!-- show_format_error->log_failed_attempt -->
<g id="edge23" class="edge">
<title>show_format_error->log_failed_attempt</title>
<path fill="none" stroke="#4a4a4a" d="M643.42,-864.92C643.42,-864.92 643.42,-781.34 643.42,-781.34"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="646.92,-781.34 643.42,-771.34 639.92,-781.34 646.92,-781.34"/>
<text text-anchor="middle" x="778.34" y="-815.5" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Error Displayed</text>
</g>
<!-- suggest_login -->
<g id="node19" class="node">
<title>suggest_login</title>
<path fill="#bebebe" stroke="black" d="M508.84,-901C508.84,-901 355.84,-901 355.84,-901 349.84,-901 343.84,-895 343.84,-889 343.84,-889 343.84,-877 343.84,-877 343.84,-871 349.84,-865 355.84,-865 355.84,-865 508.84,-865 508.84,-865 514.84,-865 520.84,-871 520.84,-877 520.84,-877 520.84,-889 520.84,-889 520.84,-895 514.84,-901 508.84,-901"/>
<text text-anchor="middle" x="432.34" y="-879.3" font-family="Times,serif" font-size="14.00">Suggest Login Instead</text>
</g>
<!-- show_duplicate_error->suggest_login -->
<g id="edge12" class="edge">
<title>show_duplicate_error->suggest_login</title>
<path fill="none" stroke="#4a4a4a" d="M432.34,-969.71C432.34,-969.71 432.34,-911.08 432.34,-911.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="435.84,-911.08 432.34,-901.08 428.84,-911.08 435.84,-911.08"/>
<text text-anchor="middle" x="469.84" y="-933" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Error Shown</text>
</g>
<!-- suggest_login->log_failed_attempt -->
<g id="edge13" class="edge">
<title>suggest_login->log_failed_attempt</title>
<path fill="none" stroke="#4a4a4a" d="M515.39,-864.92C515.39,-829.2 515.39,-753 515.39,-753 515.39,-753 529.13,-753 529.13,-753"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="529.13,-756.5 539.13,-753 529.13,-749.5 529.13,-756.5"/>
<text text-anchor="middle" x="535.34" y="-815.5" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Alternative Provided</text>
</g>
<!-- log_failed_attempt->end_registration_process -->
<g id="edge24" class="edge">
<title>log_failed_attempt->end_registration_process</title>
<path fill="none" stroke="#4a4a4a" d="M631.34,-734.83C631.34,-734.83 631.34,-46.19 631.34,-46.19"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="634.84,-46.19 631.34,-36.19 627.84,-46.19 634.84,-46.19"/>
<text text-anchor="middle" x="670.34" y="-383" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Failure Logged</text>
</g>
<!-- rate_limit_check->show_format_error -->
<g id="edge7" class="edge">
<title>rate_limit_check->show_format_error</title>
<path fill="none" stroke="#4a4a4a" d="M849.18,-973.84C849.18,-973.84 849.18,-911.15 849.18,-911.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="852.68,-911.15 849.18,-901.15 845.68,-911.15 852.68,-911.15"/>
<text text-anchor="middle" x="877.34" y="-933" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Within Limits</text>
</g>
<!-- block_registration -->
<g id="node22" class="node">
<title>block_registration</title>
<path fill="#bebebe" stroke="black" d="M1124.34,-836C1124.34,-836 936.34,-836 936.34,-836 930.34,-836 924.34,-830 924.34,-824 924.34,-824 924.34,-812 924.34,-812 924.34,-806 930.34,-800 936.34,-800 936.34,-800 1124.34,-800 1124.34,-800 1130.34,-800 1136.34,-806 1136.34,-812 1136.34,-812 1136.34,-824 1136.34,-824 1136.34,-830 1130.34,-836 1124.34,-836"/>
<text text-anchor="middle" x="1030.34" y="-814.3" font-family="Times,serif" font-size="14.00">Block Registration Attempt</text>
</g>
<!-- rate_limit_check->block_registration -->
<g id="edge8" class="edge">
<title>rate_limit_check->block_registration</title>
<path fill="none" stroke="#4a4a4a" d="M1063.35,-983.8C1063.35,-983.8 1063.35,-846.26 1063.35,-846.26"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1066.85,-846.26 1063.35,-836.26 1059.85,-846.26 1066.85,-846.26"/>
<text text-anchor="middle" x="1113.34" y="-933" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Rate Limited</text>
</g>
<!-- block_registration->end_registration_process -->
<g id="edge25" class="edge">
<title>block_registration->end_registration_process</title>
<path fill="none" stroke="#4a4a4a" d="M924.09,-818C841.78,-818 741.69,-818 741.69,-818 741.69,-818 741.69,-37.54 741.69,-37.54"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="745.19,-37.54 741.69,-27.54 738.19,-37.54 745.19,-37.54"/>
<text text-anchor="middle" x="932.84" y="-435.5" font-family="Times,serif" font-size="10.00" fill="#4a4a4a">Blocked</text>
</g>
</g>
</svg>
|