giuliomoro Sounds great, it reminds me of 70's pitch-to-CV interfaces, e.g.:
it basically is the same principle.
turn input wave into a pulse, load a capacitor "rpole~" on pulses, and create a sawtooth wave this way. measure the amplitude of the sawtooth to get the frequency. since it all stays in tilde objects there is no counting going on it just dynamically adapts to a new frequency (hence the subtle portamento). it is derived directly from the gr-300 schematic.
on the input i high and lowpass filter the input 100 to 600 hz, this still allows me to track up to my highest singing note (about 1500hz i guess) but eliminates quite some overtones. additionally there is a switching filter that turns off the higher octaves (lp at 200hz) when there are low notes sung (look at the patch to get the idea) i switch the two filter stages bases on the env~ readings i get from the two stages. there is still room for improvement on the filtering side, but it works already very nicely! note that you should sing "uuu" and not "aaa" since "aaa" has much more overtones...
find the patch below, it is a mess and a couple of objects will not load, mainly a reverb abstraction. you will also need some of the hv pd sub patches (compressor and band limited oscillators). the main frequency extraction is all heavy-vanilla though. also the whole preset loading saving will need a custom render.cpp as discussed in the other thread. i use a quneo as an UI.
#N canvas 45 13 1336 730 10;
#X obj 1076 1148 dac~;
#X obj 964 379 samphold~;
#X obj 978 314 *~;
#X obj 1196 305 rpole~;
#X obj 1214 38 *~ 1e+07;
#X obj 1209 333 samphold~;
#X obj 1184 264 *~ -1;
#X obj 1194 283 +~ 1;
#X obj 1179 886 /~;
#X obj 1148 286 sig~ 1;
#X obj 1315 350 samphold~;
#X obj 1215 80 biquad~ 0 0 1 -1 0;
#X obj 1335 309 rpole~;
#X obj 1297 284 sig~ 1;
#X obj 1363 262 *~ -1;
#X obj 1363 283 +~ 1;
#X obj 1214 397 +~;
#X obj 1412 403 mtof;
#X obj 1414 432 / 220;
#X obj 1411 380 + 57;
#X floatatom 1413 306 5 0 0 0 - - -;
#X obj 1214 59 clip~ 0 1;
#X obj 1244 488 /~;
#X obj 1246 440 sig~;
#X obj 1272 422 samplerate~;
#X obj 1175 155 -~;
#X obj 1175 180 clip~ -1e-37 0;
#X obj 1175 222 *~ 1e+37;
#X obj 1175 130 min~;
#X obj 1175 201 +~ 1e-37;
#X obj 1207 104 sig~ 1;
#X obj 1308 151 -~;
#X obj 1308 176 clip~ -1e-37 0;
#X obj 1308 218 *~ 1e+37;
#X obj 1308 126 min~;
#X obj 1308 197 +~ 1e-37;
#X obj 1340 100 sig~ -1;
#X obj 1210 365 -~ 1;
#X obj 1317 240 *~ 1;
#X obj 1178 242 *~ 1;
#X obj 1297 375 -~ 2;
#X floatatom 955 166 5 0 0 0 - - -;
#X obj 1128 1192 *~;
#X obj 950 232 line~;
#X obj 1438 195 loadbang;
#X msg 948 207 \$1 3;
#X obj 981 1236 dattorroplate;
#X obj 1409 1055 *~ 2;
#X obj 1052 219 phasor~ 4800;
#X msg 1441 276 -12;
#X obj 649 88 * 60;
#X obj 656 133 + 1500;
#X text 712 146 samplerate;
#X obj 1006 1265 *~;
#X obj 1077 1256 *~;
#X msg 657 153 \$1 30;
#X obj 656 175 line~;
#X msg 699 345 \$1 30;
#X obj 698 367 line~;
#X floatatom 711 250 5 0 0 0 - - -;
#X obj 983 430 *~;
#X text 747 259 reverb;
#X msg 599 378 \$1 30;
#X obj 598 400 line~;
#X floatatom 597 255 5 0 0 0 - - -;
#X text 634 254 lpc;
#X msg 842 336 \$1 30;
#X obj 841 358 line~;
#X floatatom 840 241 5 0 0 0 - - -;
#X text 878 240 synth;
#X obj 1177 1078 *~ 0.4;
#X obj 1151 1140 *~;
#X obj 1446 100 select 0 1 2 3 4 5;
#X msg 1440 143 -36;
#X msg 1474 143 -24;
#X msg 1504 143 -12;
#X msg 1534 144 0;
#X msg 1564 144 12;
#X msg 1595 143 24;
#X floatatom 1446 22 5 0 0 0 - - -;
#X obj 1446 69 i;
#X obj 1445 47 / 22;
#X text 1487 22 ringmod octave;
#X obj 456 -214 ctlin;
#X obj 447 -179 pack f f f;
#X msg 446 -157 \$3 \$2 \$1;
#X obj 446 -136 route 1;
#X obj 364 112 f;
#X obj 491 -110 route 0 1 2 3 4 5 6 7 8 9;
#X obj 389 112 f;
#X obj 414 112 f;
#X obj 439 113 f;
#X obj 464 112 f;
#X obj 489 112 f;
#X obj 514 112 f;
#X obj 539 113 f;
#X obj 565 114 f;
#X obj 590 115 f;
#X obj 271 -128 f;
#X obj 309 -128 + 1;
#X obj 332 -54 t f f;
#X obj 610 -203 tabread presets;
#X msg 332 -79 0;
#X obj 362 -31 +;
#X floatatom 378 -93 5 0 0 0 - - -;
#X text 376 -117 presetnr;
#X obj 275 -153 until;
#X obj 558 -137 pack;
#X obj 524 -315 f;
#X obj 562 -315 + 1;
#X msg 585 -266 0;
#X obj 523 -335 until;
#X obj 612 -226 +;
#X floatatom 666 -283 5 0 0 0 - - -;
#X obj 530 -261 t f f;
#X text 403 -357 preset loading;
#X text 153 -212 preset saving;
#X text 665 -306 preset nr.;
#X obj 709 -124 route 0 1 2 3 4 5 6 7 8 9;
#X text 872 -3 quneo lightshow;
#X obj 439 -529 notein;
#X obj 519 -395 - 36;
#X obj 522 -376 t b f;
#X obj 437 -480 moses 36;
#X obj 331 -397 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
1 1;
#X obj 438 -501 spigot;
#X obj 312 -360 * 127;
#X obj 353 -398 - 1;
#X obj 377 -398 abs;
#X obj 405 -397 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj 522 -413 spigot;
#X obj 249 -452 loadbang;
#X msg 258 -423 1;
#X obj 506 -449 moses 52;
#X obj 284 -230 - 36;
#X obj 287 -248 spigot;
#X msg 592 161 0;
#X obj 1078 1172 / 127;
#X obj 1041 1174 / 127;
#X obj 1004 1175 / 127;
#X obj 1171 1103 vcf~ 2;
#X msg 890 113 \$1 20;
#X obj 903 38 mtof;
#X obj 897 63 + 10;
#X obj 907 149 line~;
#X floatatom 486 452 5 0 0 0 - - -;
#X obj 486 430 i;
#X obj 489 359 clip 0 127;
#X obj 488 337 - 4;
#X obj 489 387 / 11;
#X text 358 452 choose synth preset;
#X msg 206 610 0.999;
#X msg 291 611 0.95;
#X obj 206 630 s p1;
#X obj 250 632 s p2;
#X obj 291 633 s p3;
#X obj 330 634 s p4;
#X obj 1478 830 r p3;
#X obj 1531 832 r p4;
#X msg 328 612 1.001;
#X msg 247 611 1.05;
#X obj 1185 1045 *~ 0.5;
#X obj 396 487 route 0 1 2 3 4 5 6 7 8 9 10 11;
#X obj 209 584 s p1;
#X obj 253 586 s p2;
#X obj 294 587 s p3;
#X obj 333 588 s p4;
#X msg 209 564 1;
#X msg 250 565 1;
#X msg 294 565 1;
#X msg 331 566 1;
#X msg 209 656 0.999;
#X msg 294 657 0.95;
#X obj 209 676 s p1;
#X obj 253 678 s p2;
#X obj 294 679 s p3;
#X obj 333 680 s p4;
#X msg 331 658 1.001;
#X msg 250 657 1.05;
#X obj 1411 930 hv.osc saw;
#X obj 1212 969 hv.osc square;
#X obj 1344 930 hv.osc saw;
#X obj 1276 926 hv.osc saw;
#X obj 1209 924 hv.osc saw;
#X msg 428 564 1;
#X obj 431 588 s goriginal;
#X obj 1102 901 r goriginal;
#X msg 1104 931 \$1 5;
#X obj 1107 952 line~;
#X obj 1156 1038 *~;
#X obj 1364 565 +~;
#X obj 1373 543 *~;
#X obj 1390 479 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X text 1412 481 filter pitch tracking;
#X obj 1297 968 hv.osc square;
#X obj 1384 970 hv.osc square;
#X obj 1469 970 hv.osc square;
#X obj 505 588 s sqsaw1;
#X obj 561 588 s sqsaw2;
#X obj 618 587 s sqsaw3;
#X obj 676 586 s sqsaw4;
#X obj 1635 903 - 1;
#X obj 1635 922 abs;
#X obj 1639 872 r sqsaw4;
#X obj 1411 949 *~;
#X obj 1468 989 *~;
#X msg 1638 946 \$1 10;
#X msg 1679 951 \$1 10;
#X obj 1676 971 line~;
#X obj 1636 973 line~;
#X obj 1632 1025 - 1;
#X obj 1632 1044 abs;
#X msg 1635 1068 \$1 10;
#X msg 1676 1073 \$1 10;
#X obj 1673 1093 line~;
#X obj 1633 1095 line~;
#X obj 1636 994 r sqsaw3;
#X obj 1344 949 *~;
#X obj 1381 987 *~;
#X obj 1499 1131 - 1;
#X obj 1499 1150 abs;
#X msg 1489 1173 \$1 10;
#X msg 1530 1178 \$1 10;
#X obj 1527 1198 line~;
#X obj 1487 1200 line~;
#X obj 1276 947 *~;
#X obj 1281 1132 *~;
#X obj 1503 1100 r sqsaw2;
#X obj 1627 1167 - 1;
#X obj 1627 1186 abs;
#X msg 1630 1210 \$1 10;
#X msg 1671 1215 \$1 10;
#X obj 1668 1235 line~;
#X obj 1628 1237 line~;
#X obj 1644 1137 r sqsaw1;
#X obj 1210 943 *~;
#X obj 1208 1020 *~;
#X msg 685 564 0;
#X msg 563 564 0;
#X msg 626 565 0;
#X msg 504 565 0;
#X msg 435 613 1;
#X obj 438 637 s goriginal;
#X obj 512 637 s sqsaw1;
#X obj 568 637 s sqsaw2;
#X obj 625 636 s sqsaw3;
#X obj 683 635 s sqsaw4;
#X msg 692 613 0;
#X msg 570 613 0;
#X msg 633 614 0;
#X msg 511 614 0;
#X obj 441 683 s goriginal;
#X obj 515 683 s sqsaw1;
#X obj 571 683 s sqsaw2;
#X obj 628 682 s sqsaw3;
#X obj 686 681 s sqsaw4;
#X msg 514 660 1;
#X msg 573 659 1;
#X msg 636 660 1;
#X msg 695 659 1;
#X obj 184 -382 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj 183 -362 * 127;
#X obj 617 115 f;
#X obj 369 39 select 0 1 2 3 4 5 6 7 8 9 10;
#X obj 376 -57 * 11;
#X obj 307 -102 select 10;
#X msg 276 -173 11;
#X obj 664 -247 * 11;
#X obj 560 -289 select 10;
#X msg 524 -355 11;
#X obj 872 -125 route 10;
#X obj 705 -380 table presets 176;
#X msg 438 659 0;
#X obj 207 730 s p1;
#X obj 251 732 s p2;
#X obj 292 733 s p3;
#X obj 331 734 s p4;
#X obj 439 737 s goriginal;
#X obj 513 737 s sqsaw1;
#X obj 569 737 s sqsaw2;
#X obj 626 736 s sqsaw3;
#X obj 684 735 s sqsaw4;
#X msg 512 714 1;
#X msg 571 713 1;
#X msg 634 714 1;
#X msg 693 713 1;
#X msg 436 713 0;
#X msg 207 710 1.5;
#X msg 329 712 0.5;
#X msg 292 711 2;
#X msg 248 711 1;
#X msg 1386 500 \$1 20;
#X obj 1389 520 line~;
#X obj 213 800 s p1;
#X obj 257 802 s p2;
#X obj 298 803 s p3;
#X obj 337 804 s p4;
#X obj 445 807 s goriginal;
#X obj 519 807 s sqsaw1;
#X obj 575 807 s sqsaw2;
#X obj 632 806 s sqsaw3;
#X obj 690 805 s sqsaw4;
#X msg 699 783 1;
#X msg 213 780 0.5;
#X msg 335 782 0.25;
#X msg 254 781 0.5;
#X msg 298 781 1;
#X msg 442 783 1;
#X msg 518 784 0;
#X msg 577 783 0;
#X msg 640 784 0;
#X obj 204 857 s p1;
#X obj 248 859 s p2;
#X obj 289 860 s p3;
#X obj 328 861 s p4;
#X obj 436 864 s goriginal;
#X obj 510 864 s sqsaw1;
#X obj 566 864 s sqsaw2;
#X obj 623 863 s sqsaw3;
#X obj 681 862 s sqsaw4;
#X msg 690 840 1;
#X msg 631 841 1;
#X msg 568 840 1;
#X msg 509 841 1;
#X msg 433 840 0;
#X msg 326 839 0.125;
#X msg 289 838 0.5;
#X msg 245 838 0.25;
#X msg 204 837 0.25;
#X obj 185 912 s p1;
#X obj 251 913 s p2;
#X obj 292 914 s p3;
#X obj 331 915 s p4;
#X obj 439 918 s goriginal;
#X obj 513 918 s sqsaw1;
#X obj 569 918 s sqsaw2;
#X obj 626 917 s sqsaw3;
#X obj 684 916 s sqsaw4;
#X msg 693 894 1;
#X msg 634 895 1;
#X msg 571 894 1;
#X msg 512 895 1;
#X msg 436 894 1;
#X msg 292 892 1.5;
#X msg 329 893 1;
#X obj 368 250 / 127;
#X obj 368 274 tabwrite presets;
#X obj 609 -183 * 127.1;
#X obj 606 -162 i;
#X obj 281 -211 t b b f;
#X obj 99 -126 send save_table @hv_param;
#X obj 178 -303 unpack f f f;
#X obj 1347 822 sig~;
#X obj 1265 879 *~;
#X obj 1009 288 osc~ 40;
#X obj 732 30 unpack f f f;
#X msg 172 -332 45 \$1 1;
#X msg 256 -332 33 \$1 1;
#X obj 133 -233 noteout;
#X obj 730 61 ctlout;
#X msg 922 -35 \$1 4 1;
#X msg 873 -35 \$1 3 1;
#X msg 823 -38 \$1 2 1;
#X msg 773 -38 \$1 1 1;
#X msg 885 -70 \$1 7 1;
#X msg 837 -71 \$1 6 1;
#X msg 789 -72 \$1 8 1;
#X msg 738 -72 \$1 9 1;
#X msg 684 -73 \$1 10 1;
#X msg 633 -73 \$1 11 1;
#X obj 1009 -292 noteout;
#X obj 1007 -471 f;
#X msg 1099 -410 stop;
#X msg 1008 -380 \$1 127 1;
#X obj 1007 -342 unpack f f f;
#X obj 1008 -527 loadbang;
#X obj 1144 -464 f;
#X msg 1236 -403 stop;
#X msg 1145 -373 \$1 0 1;
#X msg 1086 -371 bang;
#X text 1240 -475 fancy startup graphics :-);
#X obj 1175 -463 + 2;
#X obj 1038 -470 + 2;
#X obj 1172 -403 select 30;
#X obj 1008 -504 metro 80;
#X obj 1019 -409 select 30 16;
#X obj 1145 -497 metro 60;
#X msg 185 892 1.88775;
#X msg 248 892 1.25;
#X obj 187 965 s p1;
#X obj 253 966 s p2;
#X obj 294 967 s p3;
#X obj 333 968 s p4;
#X obj 441 971 s goriginal;
#X obj 515 971 s sqsaw1;
#X obj 571 971 s sqsaw2;
#X obj 628 970 s sqsaw3;
#X obj 686 969 s sqsaw4;
#X msg 695 947 1;
#X msg 636 948 1;
#X msg 573 947 1;
#X msg 514 948 1;
#X msg 438 947 1;
#X msg 294 945 1.5;
#X msg 331 946 1;
#X msg 250 945 1.2;
#X msg 187 945 1.75;
#X obj 187 1010 s p1;
#X obj 253 1011 s p2;
#X obj 294 1012 s p3;
#X obj 352 1014 s p4;
#X obj 441 1016 s goriginal;
#X obj 515 1016 s sqsaw1;
#X obj 571 1016 s sqsaw2;
#X obj 628 1015 s sqsaw3;
#X obj 686 1014 s sqsaw4;
#X msg 695 992 1;
#X msg 636 993 1;
#X msg 573 992 1;
#X msg 514 993 1;
#X msg 438 992 1;
#X msg 354 990 1;
#X msg 294 990 1.33333;
#X msg 250 990 1.75;
#X msg 187 990 2.2;
#X obj 194 1063 s p1;
#X obj 260 1064 s p2;
#X obj 301 1065 s p3;
#X obj 359 1067 s p4;
#X obj 448 1069 s goriginal;
#X obj 522 1069 s sqsaw1;
#X obj 578 1069 s sqsaw2;
#X obj 635 1068 s sqsaw3;
#X obj 693 1067 s sqsaw4;
#X msg 702 1045 1;
#X msg 643 1046 1;
#X msg 580 1045 1;
#X msg 521 1046 1;
#X msg 445 1045 1;
#X msg 361 1043 1.5;
#X msg 301 1043 2.25;
#X msg 257 1043 3.375;
#X msg 194 1043 5.0625;
#X obj 186 1119 s p1;
#X obj 252 1120 s p2;
#X obj 293 1121 s p3;
#X obj 351 1123 s p4;
#X obj 440 1125 s goriginal;
#X obj 514 1125 s sqsaw1;
#X obj 570 1125 s sqsaw2;
#X obj 627 1124 s sqsaw3;
#X obj 685 1123 s sqsaw4;
#X msg 437 1101 1;
#X msg 513 1102 0;
#X msg 572 1101 0;
#X msg 635 1102 0;
#X msg 694 1101 0;
#X msg 353 1099 1;
#X msg 293 1099 1.42222;
#X msg 249 1099 1;
#X msg 186 1099 1.42222;
#X obj 186 1163 s p1;
#X obj 252 1164 s p2;
#X obj 293 1165 s p3;
#X obj 351 1167 s p4;
#X obj 440 1169 s goriginal;
#X obj 514 1169 s sqsaw1;
#X obj 570 1169 s sqsaw2;
#X obj 627 1168 s sqsaw3;
#X obj 685 1167 s sqsaw4;
#X msg 437 1145 1;
#X msg 513 1146 0;
#X msg 572 1145 0;
#X msg 635 1146 0;
#X msg 694 1145 0;
#X msg 353 1143 1;
#X msg 293 1143 1.12246;
#X msg 249 1143 1.25992;
#X msg 186 1143 1.41421;
#X obj 1523 873 line~;
#X obj 1408 895 *~;
#X msg 1530 853 \$1 5;
#X obj 1461 871 line~;
#X msg 1468 851 \$1 5;
#X obj 1342 892 *~;
#X obj 1384 862 line~;
#X msg 1391 842 \$1 5;
#X obj 1401 821 r p2;
#X obj 1301 892 *~;
#X obj 1147 817 line~;
#X msg 1154 797 \$1 5;
#X obj 1164 776 r p1;
#X obj 1234 897 *~;
#X obj 333 -422 select 24 19 11;
#X obj 1017 -268 adc~;
#X obj 956 134 > 85;
#X obj 970 23 *~ 8;
#X obj 594 288 / 500;
#X obj 703 293 / 127;
#X obj 837 274 / 127;
#X obj 1015 -107 hv.compressor 75 4;
#X obj 1012 153 *~ 20;
#X obj 1011 -239 hip~ 80;
#X obj 1011 -218 hip~ 80;
#X obj 1012 -197 hip~ 80;
#X obj 1012 -176 hip~ 80;
#X obj 1016 -82 lop~ 600;
#X obj 1017 -58 lop~ 600;
#X obj 1018 -36 lop~ 600;
#X obj 1016 -16 lop~ 600;
#X obj 1388 -228 <;
#X obj 1379 -181 line~;
#X msg 1376 -201 \$1 5;
#X obj 1339 -70 *~;
#X obj 1385 -271 env~ 1024;
#X obj 1339 -23 +~;
#X obj 955 115 env~ 256;
#X obj 1298 -235 - 19;
#X obj 1385 -343 lop~ 150;
#X obj 1384 -320 lop~ 150;
#X obj 1385 -294 lop~ 150;
#X obj 1300 -347 hip~ 220;
#X obj 1298 -316 hip~ 220;
#X obj 1297 -289 hip~ 220;
#X obj 1298 -267 env~ 1024;
#X obj 1433 634 wrap~;
#X obj 1417 655 -~;
#X obj 1423 611 ftom~;
#X obj 1417 676 mtof~;
#X obj 1512 380 - 1;
#X obj 1512 399 abs;
#X msg 1502 422 \$1 10;
#X msg 1543 427 \$1 10;
#X obj 1540 447 line~;
#X obj 1500 449 line~;
#X obj 1513 323 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj 1213 615 *~;
#X obj 1402 725 *~;
#X text 1538 322 quantize;
#X obj 363 -330 * 127;
#X msg 307 -302 36 \$1 1;
#X obj 403 -330 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X connect 1 0 60 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 3 0 8 0;
#X connect 4 0 21 0;
#X connect 5 0 37 0;
#X connect 6 0 7 0;
#X connect 7 0 3 1;
#X connect 8 0 189 0;
#X connect 9 0 3 0;
#X connect 10 0 40 0;
#X connect 11 0 28 0;
#X connect 11 0 31 1;
#X connect 11 0 34 0;
#X connect 12 0 10 0;
#X connect 13 0 12 0;
#X connect 14 0 15 0;
#X connect 15 0 12 1;
#X connect 16 0 8 1;
#X connect 16 0 22 1;
#X connect 17 0 18 0;
#X connect 18 0 352 0;
#X connect 19 0 17 0;
#X connect 21 0 5 1;
#X connect 21 0 11 0;
#X connect 22 0 527 0;
#X connect 22 0 536 0;
#X connect 23 0 22 0;
#X connect 24 0 23 0;
#X connect 25 0 26 0;
#X connect 26 0 29 0;
#X connect 27 0 39 0;
#X connect 28 0 25 0;
#X connect 29 0 27 0;
#X connect 30 0 28 1;
#X connect 30 0 25 1;
#X connect 31 0 32 0;
#X connect 32 0 35 0;
#X connect 33 0 38 0;
#X connect 34 0 31 0;
#X connect 35 0 33 0;
#X connect 36 0 34 1;
#X connect 37 0 16 0;
#X connect 38 0 14 0;
#X connect 39 0 6 0;
#X connect 39 0 10 1;
#X connect 40 0 16 1;
#X connect 41 0 45 0;
#X connect 42 0 0 0;
#X connect 42 0 46 0;
#X connect 42 0 0 1;
#X connect 43 0 42 1;
#X connect 44 0 49 0;
#X connect 44 0 24 0;
#X connect 45 0 43 0;
#X connect 46 0 53 0;
#X connect 46 1 54 0;
#X connect 47 0 70 0;
#X connect 48 0 1 1;
#X connect 50 0 51 0;
#X connect 51 0 55 0;
#X connect 53 0 0 0;
#X connect 54 0 0 1;
#X connect 55 0 56 0;
#X connect 56 0 48 0;
#X connect 57 0 58 0;
#X connect 58 0 53 1;
#X connect 58 0 54 1;
#X connect 59 0 498 0;
#X connect 60 0 42 0;
#X connect 62 0 63 0;
#X connect 63 0 60 1;
#X connect 64 0 497 0;
#X connect 66 0 67 0;
#X connect 67 0 71 1;
#X connect 68 0 499 0;
#X connect 70 0 140 0;
#X connect 71 0 42 0;
#X connect 72 0 73 0;
#X connect 72 1 74 0;
#X connect 72 2 75 0;
#X connect 72 3 76 0;
#X connect 72 4 77 0;
#X connect 72 5 78 0;
#X connect 73 0 19 0;
#X connect 74 0 19 0;
#X connect 75 0 19 0;
#X connect 76 0 19 0;
#X connect 77 0 19 0;
#X connect 78 0 19 0;
#X connect 79 0 81 0;
#X connect 80 0 72 0;
#X connect 81 0 80 0;
#X connect 83 0 84 0;
#X connect 83 1 84 1;
#X connect 83 2 84 2;
#X connect 84 0 85 0;
#X connect 85 0 86 0;
#X connect 86 0 88 0;
#X connect 87 0 345 0;
#X connect 88 0 50 0;
#X connect 88 0 87 1;
#X connect 88 1 64 0;
#X connect 88 1 89 1;
#X connect 88 2 68 0;
#X connect 88 2 90 1;
#X connect 88 3 91 1;
#X connect 88 3 142 0;
#X connect 88 4 79 0;
#X connect 88 4 92 1;
#X connect 88 5 93 1;
#X connect 88 5 148 0;
#X connect 88 6 94 1;
#X connect 88 6 139 0;
#X connect 88 7 95 1;
#X connect 88 7 138 0;
#X connect 88 8 96 1;
#X connect 88 8 137 0;
#X connect 88 9 97 1;
#X connect 88 9 59 0;
#X connect 89 0 345 0;
#X connect 90 0 345 0;
#X connect 91 0 345 0;
#X connect 92 0 345 0;
#X connect 93 0 345 0;
#X connect 94 0 345 0;
#X connect 95 0 345 0;
#X connect 96 0 345 0;
#X connect 97 0 345 0;
#X connect 98 0 99 0;
#X connect 98 0 100 0;
#X connect 98 0 265 0;
#X connect 99 0 98 1;
#X connect 100 0 263 0;
#X connect 100 1 103 0;
#X connect 101 0 347 0;
#X connect 102 0 98 1;
#X connect 103 0 346 1;
#X connect 104 0 264 0;
#X connect 106 0 98 0;
#X connect 107 0 88 0;
#X connect 107 0 118 0;
#X connect 107 0 270 0;
#X connect 108 0 109 0;
#X connect 108 0 114 0;
#X connect 108 0 268 0;
#X connect 109 0 108 1;
#X connect 110 0 108 1;
#X connect 111 0 108 0;
#X connect 112 0 101 0;
#X connect 113 0 267 0;
#X connect 114 0 107 0;
#X connect 114 1 112 0;
#X connect 118 0 369 0;
#X connect 118 1 368 0;
#X connect 118 2 367 0;
#X connect 118 3 366 0;
#X connect 118 4 365 0;
#X connect 118 5 364 0;
#X connect 118 6 363 0;
#X connect 118 7 362 0;
#X connect 118 8 361 0;
#X connect 118 9 360 0;
#X connect 120 0 125 0;
#X connect 120 1 125 1;
#X connect 121 0 122 0;
#X connect 122 0 269 0;
#X connect 122 1 113 0;
#X connect 123 0 493 0;
#X connect 123 1 133 0;
#X connect 124 0 126 0;
#X connect 124 0 127 0;
#X connect 124 0 135 1;
#X connect 125 0 123 0;
#X connect 126 0 357 0;
#X connect 127 0 128 0;
#X connect 128 0 129 0;
#X connect 129 0 130 1;
#X connect 130 0 121 0;
#X connect 131 0 132 0;
#X connect 132 0 129 0;
#X connect 133 0 130 0;
#X connect 133 0 135 0;
#X connect 134 0 349 0;
#X connect 135 0 134 0;
#X connect 136 0 124 0;
#X connect 137 0 46 3;
#X connect 138 0 46 2;
#X connect 139 0 46 1;
#X connect 140 1 71 0;
#X connect 141 0 144 0;
#X connect 142 0 143 0;
#X connect 143 0 141 0;
#X connect 144 0 190 0;
#X connect 145 0 162 0;
#X connect 146 0 145 0;
#X connect 147 0 149 0;
#X connect 148 0 147 0;
#X connect 149 0 146 0;
#X connect 151 0 153 0;
#X connect 152 0 155 0;
#X connect 157 0 483 0;
#X connect 158 0 481 0;
#X connect 159 0 156 0;
#X connect 160 0 154 0;
#X connect 161 0 70 0;
#X connect 162 0 167 0;
#X connect 162 0 170 0;
#X connect 162 0 169 0;
#X connect 162 0 168 0;
#X connect 162 0 184 0;
#X connect 162 0 240 0;
#X connect 162 0 239 0;
#X connect 162 0 238 0;
#X connect 162 0 237 0;
#X connect 162 1 151 0;
#X connect 162 1 160 0;
#X connect 162 1 159 0;
#X connect 162 1 152 0;
#X connect 162 1 241 0;
#X connect 162 1 250 0;
#X connect 162 1 249 0;
#X connect 162 1 248 0;
#X connect 162 1 247 0;
#X connect 162 2 259 0;
#X connect 162 2 258 0;
#X connect 162 2 257 0;
#X connect 162 2 256 0;
#X connect 162 2 272 0;
#X connect 162 2 178 0;
#X connect 162 2 177 0;
#X connect 162 2 172 0;
#X connect 162 2 171 0;
#X connect 162 3 290 0;
#X connect 162 3 289 0;
#X connect 162 3 288 0;
#X connect 162 3 287 0;
#X connect 162 3 286 0;
#X connect 162 3 285 0;
#X connect 162 3 284 0;
#X connect 162 3 283 0;
#X connect 162 3 282 0;
#X connect 162 4 304 0;
#X connect 162 4 305 0;
#X connect 162 4 306 0;
#X connect 162 4 303 0;
#X connect 162 4 307 0;
#X connect 162 4 302 0;
#X connect 162 4 310 0;
#X connect 162 4 309 0;
#X connect 162 4 308 0;
#X connect 162 5 328 0;
#X connect 162 5 327 0;
#X connect 162 5 326 0;
#X connect 162 5 325 0;
#X connect 162 5 324 0;
#X connect 162 5 323 0;
#X connect 162 5 322 0;
#X connect 162 5 321 0;
#X connect 162 5 320 0;
#X connect 162 6 343 0;
#X connect 162 6 387 0;
#X connect 162 6 344 0;
#X connect 162 6 388 0;
#X connect 162 6 342 0;
#X connect 162 6 341 0;
#X connect 162 6 340 0;
#X connect 162 6 339 0;
#X connect 162 6 338 0;
#X connect 162 7 404 0;
#X connect 162 7 405 0;
#X connect 162 7 406 0;
#X connect 162 7 403 0;
#X connect 162 7 402 0;
#X connect 162 7 401 0;
#X connect 162 7 400 0;
#X connect 162 7 399 0;
#X connect 162 7 398 0;
#X connect 162 8 421 0;
#X connect 162 8 424 0;
#X connect 162 8 423 0;
#X connect 162 8 422 0;
#X connect 162 8 420 0;
#X connect 162 8 419 0;
#X connect 162 8 418 0;
#X connect 162 8 417 0;
#X connect 162 8 416 0;
#X connect 162 9 441 0;
#X connect 162 9 442 0;
#X connect 162 9 440 0;
#X connect 162 9 439 0;
#X connect 162 9 438 0;
#X connect 162 9 437 0;
#X connect 162 9 436 0;
#X connect 162 9 435 0;
#X connect 162 9 434 0;
#X connect 162 10 460 0;
#X connect 162 10 459 0;
#X connect 162 10 458 0;
#X connect 162 10 457 0;
#X connect 162 10 456 0;
#X connect 162 10 455 0;
#X connect 162 10 454 0;
#X connect 162 10 453 0;
#X connect 162 10 452 0;
#X connect 162 11 475 0;
#X connect 162 11 478 0;
#X connect 162 11 477 0;
#X connect 162 11 476 0;
#X connect 162 11 474 0;
#X connect 162 11 473 0;
#X connect 162 11 472 0;
#X connect 162 11 471 0;
#X connect 162 11 470 0;
#X connect 167 0 163 0;
#X connect 168 0 164 0;
#X connect 169 0 165 0;
#X connect 170 0 166 0;
#X connect 171 0 173 0;
#X connect 172 0 175 0;
#X connect 177 0 176 0;
#X connect 178 0 174 0;
#X connect 179 0 204 0;
#X connect 180 0 236 0;
#X connect 181 0 217 0;
#X connect 182 0 225 0;
#X connect 183 0 235 0;
#X connect 184 0 185 0;
#X connect 186 0 187 0;
#X connect 187 0 188 0;
#X connect 188 0 189 1;
#X connect 189 0 70 0;
#X connect 190 0 140 1;
#X connect 191 0 190 1;
#X connect 192 0 291 0;
#X connect 194 0 226 0;
#X connect 195 0 218 0;
#X connect 196 0 205 0;
#X connect 201 0 202 0;
#X connect 202 0 206 0;
#X connect 203 0 201 0;
#X connect 203 0 207 0;
#X connect 204 0 47 0;
#X connect 205 0 47 0;
#X connect 206 0 209 0;
#X connect 207 0 208 0;
#X connect 208 0 205 1;
#X connect 209 0 204 1;
#X connect 210 0 211 0;
#X connect 211 0 212 0;
#X connect 212 0 215 0;
#X connect 213 0 214 0;
#X connect 214 0 218 1;
#X connect 215 0 217 1;
#X connect 216 0 210 0;
#X connect 216 0 213 0;
#X connect 217 0 70 0;
#X connect 218 0 70 0;
#X connect 219 0 220 0;
#X connect 220 0 221 0;
#X connect 221 0 224 0;
#X connect 222 0 223 0;
#X connect 223 0 226 1;
#X connect 224 0 225 1;
#X connect 225 0 70 0;
#X connect 226 0 70 0;
#X connect 227 0 219 0;
#X connect 227 0 222 0;
#X connect 228 0 229 0;
#X connect 229 0 230 0;
#X connect 230 0 233 0;
#X connect 231 0 232 0;
#X connect 232 0 236 1;
#X connect 233 0 235 1;
#X connect 234 0 228 0;
#X connect 234 0 231 0;
#X connect 235 0 161 0;
#X connect 236 0 161 0;
#X connect 237 0 200 0;
#X connect 238 0 198 0;
#X connect 239 0 199 0;
#X connect 240 0 197 0;
#X connect 241 0 242 0;
#X connect 247 0 246 0;
#X connect 248 0 244 0;
#X connect 249 0 245 0;
#X connect 250 0 243 0;
#X connect 256 0 252 0;
#X connect 257 0 253 0;
#X connect 258 0 254 0;
#X connect 259 0 255 0;
#X connect 260 0 261 0;
#X connect 260 0 192 0;
#X connect 260 0 262 1;
#X connect 261 0 356 0;
#X connect 262 0 345 0;
#X connect 263 0 87 0;
#X connect 263 1 89 0;
#X connect 263 2 90 0;
#X connect 263 3 91 0;
#X connect 263 4 92 0;
#X connect 263 5 93 0;
#X connect 263 6 94 0;
#X connect 263 7 95 0;
#X connect 263 8 96 0;
#X connect 263 9 97 0;
#X connect 263 9 136 0;
#X connect 263 10 262 0;
#X connect 264 0 103 1;
#X connect 265 0 102 0;
#X connect 266 0 106 0;
#X connect 267 0 112 1;
#X connect 268 0 110 0;
#X connect 269 0 111 0;
#X connect 270 0 260 0;
#X connect 272 0 251 0;
#X connect 282 0 278 0;
#X connect 283 0 279 0;
#X connect 284 0 280 0;
#X connect 285 0 281 0;
#X connect 286 0 277 0;
#X connect 287 0 273 0;
#X connect 288 0 276 0;
#X connect 289 0 275 0;
#X connect 290 0 274 0;
#X connect 291 0 292 0;
#X connect 292 0 191 1;
#X connect 302 0 301 0;
#X connect 303 0 293 0;
#X connect 304 0 296 0;
#X connect 305 0 294 0;
#X connect 306 0 295 0;
#X connect 307 0 297 0;
#X connect 308 0 298 0;
#X connect 309 0 299 0;
#X connect 310 0 300 0;
#X connect 320 0 319 0;
#X connect 321 0 318 0;
#X connect 322 0 317 0;
#X connect 323 0 316 0;
#X connect 324 0 315 0;
#X connect 325 0 314 0;
#X connect 326 0 313 0;
#X connect 327 0 312 0;
#X connect 328 0 311 0;
#X connect 338 0 337 0;
#X connect 339 0 336 0;
#X connect 340 0 335 0;
#X connect 341 0 334 0;
#X connect 342 0 333 0;
#X connect 343 0 331 0;
#X connect 344 0 332 0;
#X connect 345 0 346 0;
#X connect 347 0 348 0;
#X connect 348 0 107 1;
#X connect 349 0 350 0;
#X connect 349 1 266 0;
#X connect 349 2 104 0;
#X connect 351 0 358 0;
#X connect 351 1 358 1;
#X connect 351 2 358 2;
#X connect 352 0 353 1;
#X connect 353 0 354 0;
#X connect 354 0 2 1;
#X connect 355 0 359 0;
#X connect 355 1 359 1;
#X connect 355 2 359 2;
#X connect 356 0 351 0;
#X connect 357 0 351 0;
#X connect 360 0 355 0;
#X connect 361 0 355 0;
#X connect 362 0 355 0;
#X connect 363 0 355 0;
#X connect 364 0 355 0;
#X connect 365 0 355 0;
#X connect 366 0 355 0;
#X connect 367 0 355 0;
#X connect 368 0 355 0;
#X connect 369 0 355 0;
#X connect 371 0 382 0;
#X connect 371 0 373 0;
#X connect 371 0 385 0;
#X connect 372 0 384 0;
#X connect 373 0 374 0;
#X connect 374 0 370 0;
#X connect 374 1 370 1;
#X connect 374 2 370 2;
#X connect 375 0 384 0;
#X connect 376 0 381 0;
#X connect 376 0 378 0;
#X connect 376 0 383 0;
#X connect 377 0 386 0;
#X connect 378 0 374 0;
#X connect 379 0 386 0;
#X connect 381 0 376 1;
#X connect 382 0 371 1;
#X connect 383 0 377 0;
#X connect 384 0 371 0;
#X connect 385 0 372 0;
#X connect 385 1 379 0;
#X connect 386 0 376 0;
#X connect 387 0 329 0;
#X connect 388 0 330 0;
#X connect 398 0 397 0;
#X connect 399 0 396 0;
#X connect 400 0 395 0;
#X connect 401 0 394 0;
#X connect 402 0 393 0;
#X connect 403 0 391 0;
#X connect 404 0 392 0;
#X connect 405 0 390 0;
#X connect 406 0 389 0;
#X connect 416 0 415 0;
#X connect 417 0 414 0;
#X connect 418 0 413 0;
#X connect 419 0 412 0;
#X connect 420 0 411 0;
#X connect 421 0 410 0;
#X connect 422 0 409 0;
#X connect 423 0 408 0;
#X connect 424 0 407 0;
#X connect 434 0 433 0;
#X connect 435 0 432 0;
#X connect 436 0 431 0;
#X connect 437 0 430 0;
#X connect 438 0 429 0;
#X connect 439 0 428 0;
#X connect 440 0 427 0;
#X connect 441 0 426 0;
#X connect 442 0 425 0;
#X connect 452 0 447 0;
#X connect 453 0 448 0;
#X connect 454 0 449 0;
#X connect 455 0 450 0;
#X connect 456 0 451 0;
#X connect 457 0 446 0;
#X connect 458 0 445 0;
#X connect 459 0 444 0;
#X connect 460 0 443 0;
#X connect 470 0 465 0;
#X connect 471 0 466 0;
#X connect 472 0 467 0;
#X connect 473 0 468 0;
#X connect 474 0 469 0;
#X connect 475 0 464 0;
#X connect 476 0 463 0;
#X connect 477 0 462 0;
#X connect 478 0 461 0;
#X connect 479 0 480 1;
#X connect 480 0 179 0;
#X connect 480 0 196 0;
#X connect 481 0 479 0;
#X connect 482 0 484 1;
#X connect 483 0 482 0;
#X connect 484 0 181 0;
#X connect 484 0 195 0;
#X connect 485 0 488 1;
#X connect 486 0 485 0;
#X connect 487 0 486 0;
#X connect 488 0 182 0;
#X connect 488 0 194 0;
#X connect 489 0 492 1;
#X connect 490 0 489 0;
#X connect 491 0 490 0;
#X connect 492 0 183 0;
#X connect 492 0 180 0;
#X connect 493 0 124 0;
#X connect 493 1 260 0;
#X connect 493 2 539 0;
#X connect 493 2 541 0;
#X connect 494 0 502 0;
#X connect 495 0 41 0;
#X connect 496 0 516 0;
#X connect 497 0 62 0;
#X connect 498 0 57 0;
#X connect 499 0 66 0;
#X connect 500 0 501 0;
#X connect 500 0 506 0;
#X connect 501 0 2 0;
#X connect 502 0 503 0;
#X connect 503 0 504 0;
#X connect 504 0 505 0;
#X connect 505 0 496 0;
#X connect 505 0 518 0;
#X connect 505 0 521 0;
#X connect 506 0 507 0;
#X connect 507 0 508 0;
#X connect 508 0 509 0;
#X connect 509 0 4 0;
#X connect 510 0 512 0;
#X connect 511 0 513 1;
#X connect 512 0 511 0;
#X connect 513 0 515 0;
#X connect 514 0 510 0;
#X connect 515 0 500 0;
#X connect 516 0 495 0;
#X connect 517 0 510 1;
#X connect 518 0 519 0;
#X connect 519 0 520 0;
#X connect 520 0 514 0;
#X connect 520 0 515 1;
#X connect 521 0 522 0;
#X connect 522 0 523 0;
#X connect 523 0 513 0;
#X connect 523 0 524 0;
#X connect 524 0 517 0;
#X connect 525 0 526 1;
#X connect 526 0 528 0;
#X connect 527 0 525 0;
#X connect 527 0 526 0;
#X connect 528 0 537 0;
#X connect 529 0 530 0;
#X connect 530 0 531 0;
#X connect 531 0 534 0;
#X connect 532 0 533 0;
#X connect 533 0 537 1;
#X connect 534 0 536 1;
#X connect 535 0 529 0;
#X connect 535 0 532 0;
#X connect 536 0 492 0;
#X connect 536 0 353 0;
#X connect 536 0 488 0;
#X connect 536 0 484 0;
#X connect 536 0 480 0;
#X connect 536 0 191 0;
#X connect 537 0 480 0;
#X connect 537 0 484 0;
#X connect 537 0 488 0;
#X connect 537 0 353 0;
#X connect 537 0 492 0;
#X connect 537 0 191 0;
#X connect 539 0 540 0;
#X connect 540 0 351 0;
#X connect 541 0 535 0;