<?php
namespace IsoCodes;
interface IsoCodeInterface
{
/**
* @param mixed $value
*
* @return bool
*/
public static function validate($value);
}
/**
* @example :
* // Generate a SSN for California
* echo "\n" . Ssn::generate('AK');
* echo "\n" . Ssn::generate('AL');
* echo "\n" . Ssn::generate('AR');
* echo "\n" . Ssn::generate('AZ');
* echo "\n" . Ssn::generate('CA');
* echo "\n" . Ssn::generate('CO');
* echo '--';
* // Validate a SSN
* echo Ssn::validate('557-26-9048');
*
* @source : http://haxorfreek.15.forumer.com/a/us-social-security-number-ssn-generator_post1847.html
*/
class Ssn implements IsoCodeInterface
{
private static $initialized = false;
// Populate this variable with the high group list provided by the Social Security Administration:
// http://www.ssa.gov/employer/ssnvhighgroup.htm
// We only want the numbers. Omit the explanatory text at the beginning of the file.
// This list is from September 2007
public static $highgroup = <<<EOT
001 06 002 04 003 04 004 08 005 08 006 08
007 06 008 90 009 90 010 90 011 90 012 90
013 90 014 90 015 90 016 90 017 90 018 90
019 90 020 90 021 90 022 90 023 90 024 90
025 90 026 90 027 90* 028 88 029 88 030 88
031 88 032 88 033 88 034 88 035 72 036 72
037 72 038 72 039 70 040 11 041 11 042 11
043 11 044 11 045 11 046 11 047 11 048 08
049 08 050 96 051 96 052 96 053 96 054 96
055 96 056 96 057 96 058 96 059 96 060 96
061 96 062 96 063 96 064 96 065 96 066 96
067 96 068 96 069 96 070 96 071 96 072 96
073 96 074 96 075 96 076 96 077 96 078 96
079 96 080 96 081 96 082 96 083 96 084 96
085 96 086 96 087 96 088 96 089 96 090 96
091 96 092 96 093 96 094 96 095 96 096 96
097 96 098 96 099 96 100 96 101 96 102 96
103 96 104 96 105 96 106 96 107 96 108 96
109 96 110 96* 111 96* 112 96* 113 96* 114 94
115 94 116 94 117 94 118 94 119 94 120 94
121 94 122 94 123 94 124 94 125 94 126 94
127 94 128 94 129 94 130 94 131 94 132 94
133 94 134 94 135 19 136 19 137 19 138 19
139 19 140 19 141 19 142 19* 143 19* 144 17
145 17 146 17 147 17 148 17 149 17 150 17
151 17 152 17 153 17 154 17 155 17 156 17
157 17 158 17 159 84 160 84 161 84 162 84
163 84 164 84 165 84 166 84 167 84 168 84
169 84 170 84 171 84 172 84 173 84 174 84
175 84 176 84 177 84 178 84* 179 84* 180 82
181 82 182 82 183 82 184 82 185 82 186 82
187 82 188 82 189 82 190 82 191 82 192 82
193 82 194 82 195 82 196 82 197 82 198 82
199 82 200 82 201 82 202 82 203 82 204 82
205 82 206 82 207 82 208 82 209 82 210 82
211 82 212 79 213 79 214 79 215 79 216 79
217 79* 218 77 219 77 220 77 221 06 222 04
223 99 224 99 225 99 226 99 227 99 228 99
229 99 230 99 231 99 232 53 233 53 234 53
235 53 236 53 237 99 238 99 239 99 240 99
241 99 242 99 243 99 244 99 245 99 246 99
247 99 248 99 249 99 250 99 251 99 252 99
253 99 254 99 255 99 256 99 257 99 258 99
259 99 260 99 261 99 262 99 263 99 264 99
265 99 266 99 267 99 268 13 269 13 270 13
271 13 272 13 273 13 274 13 275 13 276 13
277 13 278 13 279 13 280 13 281 13 282 13
283 13 284 13* 285 13* 286 11 287 11 288 11
289 11 290 11 291 11 292 11 293 11 294 11
295 11 296 11 297 11 298 11 299 11 300 11
301 11 302 11 303 33* 304 31 305 31 306 31
307 31 308 31 309 31 310 31 311 31 312 31
313 31 314 31 315 31 316 31 317 31 318 06
319 06 320 06 321 06 322 06 323 06 324 06
325 06 326 06 327 06 328 06 329 06 330 06
331 06 332 06 333 06 334 06 335 06 336 06
337 06 338 06 339 06 340 06 341 06 342 06
343 06 344 06 345 06 346 06 347 06* 348 06*
349 04 350 04 351 04 352 04 353 04 354 04
355 04 356 04 357 04 358 04 359 04 360 04
361 04 362 35 363 35* 364 35* 365 33 366 33
367 33 368 33 369 33 370 33 371 33 372 33
373 33 374 33 375 33 376 33 377 33 378 33
379 33 380 33 381 33 382 33 383 33 384 33
385 33 386 33 387 29 388 29 389 29 390 29
391 29 392 29 393 27 394 27 395 27 396 27
397 27 398 27 399 27 400 67 401 67 402 67
403 67 404 67 405 67 406 67* 407 65 408 99
409 99 410 99 411 99 412 99 413 99 414 99
415 99 416 61 417 61 418 61 419 61 420 61
421 61 422 61 423 61 424 61 425 99 426 99
427 99 428 99 429 99 430 99 431 99 432 99
433 99 434 99 435 99 436 99 437 99 438 99
439 99 440 23 441 23 442 23 443 23 444 23
445 23 446 23* 447 21 448 21 449 99 450 99
451 99 452 99 453 99 454 99 455 99 456 99
457 99 458 99 459 99 460 99 461 99 462 99
463 99 464 99 465 99 466 99 467 99 468 51
469 51* 470 49 471 49 472 49 473 49 474 49
475 49 476 49 477 49 478 37 479 37 480 37
481 37 482 37 483 37 484 37 485 35 486 25
487 25 488 25 489 25 490 25 491 25 492 25
493 25 494 25 495 25* 496 23 497 23 498 23
499 23 500 23 501 33 502 33* 503 41 504 39
505 53 506 51 507 51 508 51 509 27 510 27
511 27 512 27 513 27 514 27 515 27* 516 45
517 43 518 77 519 77 520 53 521 99 522 99
523 99 524 99 525 99 526 99 527 99 528 99
529 99 530 99 531 63* 532 61 533 61 534 61
535 61 536 61 537 61 538 61 539 61* 540 73
541 73 542 73 543 73 544 73 545 99 546 99
547 99 548 99 549 99 550 99 551 99 552 99
553 99 554 99 555 99 556 99 557 99 558 99
559 99 560 99 561 99 562 99 563 99 564 99
565 99 566 99 567 99 568 99 569 99 570 99
571 99 572 99 573 99 574 49 575 99 576 99
577 45 578 45* 579 43 580 37 581 99 582 99
583 99 584 99 585 99 586 61 587 99 588 03
589 99 590 99 591 99 592 99 593 99 594 99
595 99 596 84 597 84 598 84* 599 82 600 99
601 99 602 65 603 65 604 65 605 65 606 65
607 65* 608 65* 609 65* 610 65* 611 65* 612 65*
613 65* 614 65* 615 63 616 63 617 63 618 63
619 63 620 63 621 63 622 63 623 63 624 63
625 63 626 63 627 11 628 11 629 11 630 11
631 11* 632 11* 633 11* 634 11* 635 11* 636 11*
637 08 638 08 639 08 640 08 641 08 642 08
643 08 644 08 645 08 646 96 647 94 648 44
649 44 650 46 651 46* 652 44 653 44 654 26
655 26 656 26 657 26 658 24 659 16 660 16*
661 14 662 14 663 14 664 14 665 14 667 34
668 34 669 34 670 34 671 34 672 34* 673 34*
674 32 675 32 676 14 677 14* 678 12 679 12
680 90* 681 14* 682 12 683 12 684 12 685 12
686 12 687 12 688 12 689 12 690 12 691 07
692 07 693 07 694 07 695 07 696 07 697 07
698 07 699 07* 700 18 701 18 702 18 703 18
704 18 705 18 706 18 707 18 708 18 709 18
710 18 711 18 712 18 713 18 714 18 715 18
716 18 717 18 718 18 719 18 720 18 721 18
722 18 723 18 724 28 725 18 726 18 727 10
728 14 729 10 730 10 731 10 732 09 733 09
750 09 751 07 752 01 753 01 756 05 757 05
758 05 759 05 760 05* 761 03 762 03 763 03
764 80 765 80* 766 64* 767 64* 768 62 769 62
770 62 771 62 772 62*
EOT;
// This information is obtained from:
// http://www.ssa.gov/employer/stateweb.htm
public static $statePrefixes = array(
'AK' => array(574),
'AL' => array(416, 417, 418, 419, 420, 421, 422, 423, 424),
'AR' => array(429, 430, 431, 432, 676, 677, 678, 679),
'AZ' => array(526, 527, 600, 601, 764, 765),
'CA' => array(545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626),
'CO' => array(521, 522, 523, 524, 650, 651, 652, 653),
'CT' => array(40, 41, 42, 43, 44, 45, 46, 47, 48, 49),
'DC' => array(577, 578, 579),
'DE' => array(221, 222),
'FL' => array(261, 262, 263, 264, 265, 266, 267, 589, 590, 591, 592, 593, 594, 595, 766, 767, 768, 769, 770, 771, 772),
'GA' => array(252, 253, 254, 255, 256, 257, 258, 259, 260, 667, 668, 669, 670, 671, 672, 673, 674, 675),
'HI' => array(575, 576, 750, 751),
'IA' => array(478, 479, 480, 481, 482, 483, 484, 485),
'ID' => array(518, 519),
'IL' => array(318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361),
'IN' => array(303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317),
'KS' => array(509, 510, 511, 512, 513, 514, 515),
'KY' => array(400, 401, 402, 403, 404, 405, 406, 407),
'LA' => array(433, 434, 435, 436, 437, 438, 439, 659, 660, 661, 662, 663, 664, 665),
'MA' => array(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),
'MD' => array(212, 213, 214, 215, 216, 217, 218, 219, 220),
'ME' => array(4, 5, 6, 7),
'MI' => array(362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386),
'MN' => array(468, 469, 470, 471, 472, 473, 474, 475, 476, 477),
'MO' => array(486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500),
'MS' => array(425, 426, 427, 428, 587),
'MT' => array(516, 517),
'NC' => array(237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690),
'ND' => array(501, 502),
'NE' => array(505, 506, 507, 508),
'NH' => array(1, 2, 3),
'NJ' => array(135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158),
'NM' => array(525, 585, 648, 649),
'NV' => array(530, 680),
'NY' => array(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),
'OH' => array(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),
'OK' => array(440, 441, 442, 443, 444, 445, 446, 447, 448),
'OR' => array(540, 541, 542, 543, 544),
'PA' => array(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),
'RI' => array(35, 36, 37, 38, 39),
'SC' => array(247, 248, 249, 250, 251, 654, 655, 656, 657, 658),
'SD' => array(503, 504),
'TN' => array(408, 409, 410, 411, 412, 413, 414, 415, 756, 757, 758, 759, 760, 761, 762, 763),
'TX' => array(449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645),
'UT' => array(528, 529, 646, 647),
'VA' => array(223, 224, 225, 226, 227, 228, 229, 230, 231, 691, 692, 693, 694, 695, 696, 697, 698, 699),
'VT' => array(8, 9),
'WA' => array(531, 532, 533, 534, 535, 536, 537, 538, 539),
'WI' => array(387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399),
'WV' => array(232, 233, 234, 235, 236),
'WY' => array(520),
);
public static $states = array('AK', 'AL', 'AR', 'AZ', 'CA', 'CO', 'CT', 'DC', 'DE', 'FL', 'GA', 'HI', 'IA', 'ID', 'IL', 'IN', 'KS', 'KY', 'LA', 'MA', 'MD', 'ME', 'MI', 'MN', 'MO', 'MS', 'MT', 'NC', 'ND', 'NE', 'NH', 'NJ', 'NM', 'NV', 'NY', 'OH', 'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VA', 'VT', 'WA', 'WI', 'WV', 'WY');
// The SSA uses a funky method of figuring out what group number to use next. This area has them in the proper order and makes it easier to generate a SSN.
public static $possibleGroups = array(1, 3, 5, 7, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 2, 4, 6, 8, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99);
/**
* Cleans the high group number list so it is useful.
*/
private static function initialize()
{
$highgroup = self::$highgroup;
// Trim the high group list and remove asterisks, fix space/tabs, and replace new lines with tabs.
// The data isn't formatted well so we have to do quite a bit of random replacing.
$highgroup = trim((string) $highgroup);
$highgroup = str_replace(array('*', " \t", "\n", ' '), array('', "\t", "\t", "\t"), $highgroup);
// Explode on tab. This should give us an array of prefixes and group numbers, IE '203 82', '204 82', etc
$highgroup = explode("\t", $highgroup);
// Make array useful by splitting the prefix and group number
// We also convert the string to an int for easier handling later down the road
$cleangroup = array();
foreach ($highgroup as $value) {
if (trim($value) != '') {
$temp = explode(' ', $value);
if (isset($temp[1])) {
$cleangroup[(int) trim($temp[0])] = (int) trim($temp[1]);
self::$highgroup = (string) $cleangroup;
}
}
}
}
/**
* Generate an SSN based on state.
*
* @param mixed $state
* @param string $separator
*
* @return false|string (false: bad state found)
*/
public static function generate($state = false, $separator = '-')
{
if (!self::$initialized) {
self::initialize();
self::$initialized = true;
}
$states = self::$states;
$statePrefixes = self::$statePrefixes;
$highgroup = self::$highgroup;
$possibleGroups = self::$possibleGroups;
if ($state === false) {
$state = $states[mt_rand(0, count($states) - 1)];
}
$state = strtoupper($state);
// Sanity check: is this a valid state?
if (!isset($statePrefixes[$state])) {
return false;
}
// Generate area number
$area = $statePrefixes[$state][array_rand($statePrefixes[$state])];
// Generate group number
$group = $possibleGroups[mt_rand(0, array_search($highgroup[$area], $possibleGroups))]; // Generate valid group number
// Generate last four
$lastfour = sprintf('%04s', trim(mt_rand(0, 9999)));
return sprintf('%03s', $area).$separator.sprintf('%02s', $group).$separator.$lastfour;
}
/**
* Validate a SSN.
*
* @param mixed $ssn
*
* @return bool : false, or two letter state abbreviation if it is valid
*/
public static function validate($ssn)
{
if (!self::$initialized) {
self::initialize();
self::$initialized = true;
}
if (!is_string($ssn)) {
return false;
}
if (trim($ssn) === '') {
return false;
}
$statePrefixes = self::$statePrefixes;
$highgroup = self::$highgroup;
$possibleGroups = self::$possibleGroups;
// Split up the SSN
// If not 9 or 11 long, then return false
$length = strlen($ssn);
if ($length == 9) {
$areaNumber = substr($ssn, 0, 3);
$groupNumber = substr($ssn, 3, 2);
$lastFour = substr($ssn, 5);
} elseif ($length == 11) {
$areaNumber = substr($ssn, 0, 3);
$groupNumber = substr($ssn, 4, 2);
$lastFour = substr($ssn, 7);
} else {
return false;
}
// Strip leading zeros
$areaNumber = ltrim($areaNumber, 0);
$groupNumber = ltrim($groupNumber, 0);
// Check if parts are numeric
if (!is_numeric($areaNumber) || !is_numeric($groupNumber) || !is_numeric($lastFour)) {
return false;
}
foreach ($statePrefixes as $numbers) {
// Search for the area number in the state list
if (in_array($areaNumber, $numbers)) {
// Make sure the group number is valid
if (array_search($highgroup[$areaNumber], $possibleGroups) >= array_search($groupNumber, $possibleGroups)) {
//return $state => must use "as $state => numbers" in the foreach loop;
return true;
} else {
return false;
}
}
}
return false;
}
}
$ssn = new Ssn();
echo "\n" . $ssn->generate('AK');
echo "\n" . $ssn->generate('AL');
echo "\n" . $ssn->generate('AR');
echo "\n" . $ssn->generate('AZ');
echo "\n" . $ssn->generate('CA');
echo "\n" . $ssn->generate('CO');
echo '--';
// Validate a SSN
var_export($ssn->validate('557-26-9048'));
- Output for 8.0.11
- 574-01-1348
416-03-4276
432-01-3066
765-01-2637
551-01-7043
650-01-7036--false
- Output for 8.0.10
- 574-01-7813
423-05-6707
679-01-8208
601-01-4691
603-03-5542
521-01-4952--false
- Output for 8.0.9
- 574-01-9432
418-01-6373
429-01-1781
527-68-7003
611-01-9085
652-03-3492--false
- Output for 8.0.8
- 574-01-1908
418-01-7750
678-01-8595
600-01-1425
613-01-8136
653-01-9243--false
- Output for 8.0.7
- 574-01-0009
421-01-3974
431-03-7205
527-16-9498
623-05-9654
524-84-3025--false
- Output for 8.0.6
- 574-01-9302
420-32-4325
678-01-3138
526-05-6947
609-05-8548
521-01-2075--false
- Output for 8.0.5
- 574-01-9798
421-01-5526
677-66-6852
601-01-7900
622-01-6367
522-01-4519--false
- Output for 8.0.3
- 574-01-0328
417-01-1547
431-01-7050
601-01-7717
615-01-5135
650-01-4630--false
- Output for 8.0.2
- 574-01-2562
423-01-5708
432-01-9566
527-38-2866
616-07-0578
521-01-0801--false
- Output for 8.0.1
- 574-01-4010
421-01-2128
429-01-1487
764-01-3132
620-04-2478
523-28-2789--false
- Output for 8.0.0
- 574-01-5846
417-01-4299
431-01-1395
765-01-1174
610-03-4130
651-01-3870--false
- Output for 7.4.24
- 574-01-2460
417-01-5877
429-01-7658
600-01-7256
560-07-1569
522-01-0901--false
- Output for 7.4.23
- 574-01-8076
417-01-0038
432-01-6930
526-05-5550
561-01-6713
524-72-6212--false
- Output for 7.4.22
- 574-01-1539
424-90-2683
676-01-7648
765-01-9816
566-40-4389
653-01-4914--false
- Output for 7.4.21
- 574-01-5413
419-09-9096
430-03-3018
527-62-4724
557-01-3355
521-01-1099--false
- Output for 7.4.20
- 574-01-3468
416-03-7621
429-01-8624
765-01-8164
613-86-6355
651-01-9438--false
- Output for 7.4.16
- 574-01-9691
422-01-5764
430-05-0674
765-01-1347
623-07-3736
524-36-9320--false
- Output for 7.4.15
- 574-01-0070
421-01-8710
679-01-9690
764-01-8040
618-01-9955
651-01-5532--false
- Output for 7.4.14
- 574-01-4299
417-01-6069
676-05-6119
764-01-5114
571-01-6889
652-05-9759--false
- Output for 7.4.13
- 574-01-9222
421-01-6886
678-01-1857
764-01-5911
569-09-6298
521-01-6013--false
- Output for 7.4.12
- 574-01-2769
424-50-9018
429-01-4929
526-07-9198
617-05-6663
650-01-5071--false
- Output for 7.4.11
- 574-01-4492
423-05-5294
432-01-7896
600-01-3959
608-01-5443
650-01-2818--false
- Output for 7.4.10
- 574-01-0093
420-24-8554
432-01-0837
600-01-3520
617-01-8513
652-05-1337--false
- Output for 7.4.9
- 574-01-3479
423-03-9186
432-01-9611
527-98-7079
555-05-5898
521-01-7156--false
- Output for 7.4.8
- 574-01-9749
424-62-3771
679-01-8845
600-01-0957
556-64-0957
651-01-4068--false
- Output for 7.4.7
- 574-01-6221
419-07-2066
676-03-9914
527-34-7888
610-88-7963
521-01-2675--false
- Output for 7.4.6
- 574-01-9913
422-01-6225
429-01-8462
600-01-9102
555-01-9933
521-01-7730--false
- Output for 7.4.5
- 574-01-4108
417-01-2795
430-03-4087
600-01-5396
625-01-6704
653-03-0667--false
- Output for 7.4.4
- 574-01-0465
422-01-6614
676-07-6723
600-01-7844
605-07-1510
651-01-8145--false
- Output for 7.4.3
- 574-01-0548
424-10-8860
678-01-5958
600-01-9834
547-01-0308
651-01-3714--false
- Output for 7.4.0
- 574-01-9497
424-26-7797
676-05-8697
600-01-9316
612-03-8207
523-03-5126--false
- Output for 7.3.30
- 574-01-3492
419-01-3764
431-03-1963
601-01-2822
561-01-6549
651-01-0998--false
- Output for 7.3.29
- 574-01-4290
422-01-0582
679-01-8082
601-01-3813
572-01-2809
522-01-1797--false
- Output for 7.3.28
- 574-01-2807
422-01-0200
431-01-8451
765-01-1741
609-03-8756
524-18-6264--false
- Output for 7.3.27
- 574-01-3437
424-60-0849
432-01-0885
526-01-3702
568-01-5357
652-03-4723--false
- Output for 7.3.26
- 574-01-5978
418-01-1729
431-01-8955
527-18-6922
562-07-7109
652-01-0306--false
- Output for 7.3.25
- 574-01-1800
421-01-1431
678-01-6375
601-01-2602
564-01-2097
651-01-2703--false
- Output for 7.3.24
- 574-01-0196
422-01-7328
676-09-4997
764-01-9455
560-88-3423
523-56-7641--false
- Output for 7.3.23
- 574-01-7698
418-01-2244
677-03-9591
765-01-9046
569-07-0154
524-72-0611--false
- Output for 7.3.21
- 574-01-8943
421-01-7127
679-01-0013
527-94-8302
607-01-7555
524-82-4072--false
- Output for 7.3.20
- 574-01-9027
418-01-9335
679-01-9306
764-01-5612
553-05-1472
652-05-4167--false
- Output for 7.3.19
- 574-01-1724
421-01-5508
432-01-1298
527-24-8284
606-38-4922
651-01-0146--false
- Output for 7.3.18
- 574-01-4597
422-01-9215
431-03-5169
765-01-4926
612-07-3027
651-01-1036--false
- Output for 7.3.17
- 574-01-1414
423-05-6264
429-01-9712
527-50-5084
554-01-4523
522-01-7425--false
- Output for 7.3.16
- 574-01-2851
420-01-6708
429-01-2254
527-40-7978
611-01-2104
523-74-8713--false
- Output for 7.3.12
- 574-01-1355
424-42-8513
679-01-6150
764-01-3830
560-16-8940
650-01-3261--false
- Output for 7.3.11
- 574-01-9285
419-01-2703
676-07-6890
600-01-5067
626-05-7410
521-01-8387--false
- Output for 7.3.10
- 574-01-1745
416-05-9594
432-01-5234
765-01-9902
603-03-0845
652-01-7234--false
- Output for 7.3.9
- 574-01-4844
421-01-5875
431-03-1168
601-01-1363
567-03-1858
524-70-1464--false
- Output for 7.3.8
- 574-01-1922
418-01-4996
431-01-1726
527-96-4539
567-01-0659
650-01-4812--false
- Output for 7.3.7
- 574-01-0493
419-07-5321
432-01-9352
764-01-8477
618-01-0852
524-56-6983--false
- Output for 7.3.6
- 574-01-1305
417-01-4911
431-03-3560
600-01-2672
603-03-4737
523-36-7729--false
- Output for 7.3.5
- 574-01-8568
420-44-1135
430-01-8659
601-01-5059
622-01-3815
651-01-0937--false
- Output for 7.3.4
- 574-01-6773
418-01-7778
678-01-7801
526-05-3686
564-01-5558
651-01-0652--false
- Output for 7.3.3
- 574-01-5712
418-01-2988
430-05-5204
526-05-1414
556-76-6390
651-01-0038--false
- Output for 7.3.2
- 574-01-2269
424-38-0423
679-01-0555
601-01-1821
619-01-0824
652-07-4446--false
- Output for 7.3.1
- 574-01-9421
420-03-2031
432-01-4357
764-01-5445
569-09-6420
524-22-1841--false
- Output for 7.3.0
- 574-01-2612
422-01-2846
679-01-2793
765-01-2203
617-05-3159
524-02-5760--false
- Output for 7.2.33
- 574-01-8007
418-01-2367
676-07-0780
764-01-5626
561-01-3178
651-01-6307--false
- Output for 7.2.32
- 574-01-9843
423-05-0415
431-03-9871
600-01-5017
548-01-6342
522-01-3152--false
- Output for 7.2.31
- 574-01-3478
421-01-8648
429-01-8223
601-01-9428
558-01-0674
521-01-8040--false
- Output for 7.2.30
- 574-01-4084
421-01-0462
679-01-7292
764-01-3442
610-20-9339
523-64-1537--false
- Output for 7.2.29
- 574-01-5839
417-01-2768
431-03-0670
526-07-0038
545-01-5466
653-07-5114--false
- Output for 7.2.25
- 574-01-9402
423-01-1772
679-01-3325
765-01-2143
562-03-1228
522-01-5671--false
- Output for 7.2.24
- 574-01-3508
421-01-4750
679-01-3891
526-05-9501
612-01-2649
651-01-2371--false
- Output for 7.2.23
- 574-01-0441
416-03-4125
676-01-4215
601-01-8955
564-01-9417
522-01-9494--false
- Output for 7.2.22
- 574-01-2550
418-01-9560
676-01-8602
600-01-1713
555-05-8937
521-01-8057--false
- Output for 7.2.21
- 574-01-7672
417-01-0641
676-09-6992
600-01-7888
556-60-9374
653-03-9487--false
- Output for 7.2.20
- 574-01-5065
420-90-1767
679-01-5926
526-09-3283
566-80-3807
522-01-9627--false
- Output for 7.2.19
- 574-01-1799
424-90-6131
430-05-4881
526-05-7108
608-01-8630
653-03-9712--false
- Output for 7.2.18
- 574-01-2833
418-01-9598
679-01-4421
527-98-3308
605-07-5037
651-01-3758--false
- Output for 7.2.17
- 574-01-7499
420-22-6346
676-01-8494
764-01-7833
565-01-1661
650-01-3946--false
- Output for 7.2.6
- 574-01-7395
420-10-0234
432-01-5149
526-01-7335
547-01-5788
524-38-4601--false
- Output for 7.2.0
- 574-01-7300
417-01-5812
679-01-6091
600-01-2546
552-68-2596
522-01-2769--false
- Output for 7.1.33
- 574-01-1833
419-05-1715
676-01-8730
764-01-1408
571-01-6060
524-16-8232--false
- Output for 7.1.32
- 574-01-9465
418-01-8038
678-01-6324
764-01-2550
564-01-8209
523-56-8281--false
- Output for 7.1.31
- 574-01-7394
416-01-6284
679-01-6842
527-04-4890
626-07-2188
650-01-4927--false
- Output for 7.1.30
- 574-01-3427
422-01-5661
430-01-6696
601-01-1735
554-01-0865
653-05-8807--false
- Output for 7.1.29
- 574-01-0852
419-01-5889
679-01-1373
765-01-6167
607-01-5770
651-01-2340--false
- Output for 7.1.28
- 574-01-7103
421-01-8026
432-01-8361
601-01-3894
608-01-1270
523-16-6294--false
- Output for 7.1.27
- 574-01-8027
416-03-2552
678-01-4120
601-01-9253
602-03-4077
524-50-2943--false
- Output for 7.1.26
- 574-01-3079
416-05-0022
676-09-2789
601-01-4866
626-09-8498
523-54-0899--false
- Output for 7.1.20
- 574-01-9790
416-01-6549
430-01-6690
526-01-9297
623-01-9565
521-01-3967--false
- Output for 7.1.10
- 574-01-5102
418-01-6867
432-01-9676
601-01-5795
565-01-8241
523-84-9343--false
- Output for 7.1.7
- 574-01-0624
419-03-3232
676-01-1008
526-01-2513
547-01-0769
652-03-8602--false
- Output for 7.1.6
- 574-01-0554
422-01-3699
676-03-9946
600-01-4658
561-01-4842
523-94-5807--false
- Output for 7.1.5
- 574-01-7534
422-01-2218
678-01-1472
764-01-1950
547-01-0596
521-01-6910--false
- Output for 7.1.0
- 574-01-5997
418-01-8746
676-09-8074
764-01-6086
623-01-4168
521-01-6051--false
- Output for 7.0.20
- 574-01-9167
418-01-0420
679-01-4588
527-03-9297
615-01-1872
523-94-3904--false
- Output for 7.0.6
- 574-01-7466
418-01-1813
432-01-4356
600-01-3538
608-01-5898
650-01-6289--false
- Output for 7.0.5
- 574-01-2173
421-01-5254
430-03-8969
527-14-6537
563-18-1550
653-09-2607--false
- Output for 7.0.4
- 574-01-8019
418-01-4412
429-01-9841
526-03-6179
556-32-1896
523-03-9012--false
- Output for 7.0.3
- 574-01-0270
417-01-9931
676-05-0220
764-01-0250
569-07-1504
521-01-9133--false
- Output for 7.0.2
- 574-01-5545
421-01-1805
676-01-4593
526-07-2451
546-01-1627
653-05-5476--false
- Output for 7.0.1
- 574-01-4552
424-32-9925
432-01-6708
764-01-7873
622-01-7137
522-01-9654--false
- Output for 7.0.0
- 574-01-4241
424-02-1692
676-07-2755
526-09-0046
567-09-9463
653-03-4934--false
- Output for 5.6.28
- 574-01-8855
416-03-7637
430-03-8007
765-01-7652
610-58-8851
651-01-7660--false
- Output for 5.6.21
- 574-01-0501
417-01-4046
677-32-7763
764-01-0156
569-03-4030
651-01-3495--false
- Output for 5.6.20
- 574-01-0076
421-01-0988
678-01-8397
764-01-9779
551-01-8075
652-01-7111--false
- Output for 5.6.19
- 574-01-1198
420-70-1852
431-01-5780
527-80-1671
562-07-2470
522-01-6702--false
- Output for 5.6.18
- 574-01-5204
422-01-1977
429-01-6484
527-50-0083
614-01-5209
653-09-8765--false
- Output for 5.6.17
- 574-01-3497
420-01-0083
432-01-9660
527-92-2339
559-30-6952
522-01-1328--false
- Output for 5.6.16
- 574-01-4803
422-01-9923
676-03-7336
765-01-1349
621-01-5308
523-18-6404--false
- Output for 5.6.15
- 574-01-1969
423-03-7481
678-01-0715
600-01-2870
554-01-1672
521-01-5822--false
- Output for 5.6.14
- 574-01-5270
418-01-3729
679-01-8908
526-07-8473
613-30-5341
651-01-2969--false
- Output for 5.6.13
- 574-01-5712
424-05-4005
429-01-5965
600-01-9016
607-01-2907
523-32-9861--false
- Output for 5.6.12
- 574-01-1547
422-01-9615
430-01-1887
601-01-1099
556-78-1327
652-01-0784--false
- Output for 5.6.11
- 574-01-7346
421-01-3916
430-01-2189
527-88-2273
555-07-1587
523-76-4846--false
- Output for 5.6.10
- 574-01-2019
419-07-8980
429-01-2966
527-92-4212
545-01-1452
521-01-5626--false
- Output for 5.6.9
- 574-01-2378
423-05-2585
676-07-7498
601-01-6103
551-01-6680
651-01-3776--false
- Output for 5.6.8
- 574-01-3514
418-01-1295
432-01-3887
765-01-0038
624-16-5120
524-28-6179--false
- Output for 5.6.7
- 574-01-9959
424-56-5822
679-01-7772
764-01-9738
611-01-6291
523-58-6274--false
- Output for 5.5.35
- 574-01-2201
420-10-1927
430-01-6450
527-74-0436
561-01-7861
524-22-1927--false
- Output for 5.5.34
- 574-01-8420
422-01-9864
677-06-1253
601-01-5721
572-01-0157
650-01-0931--false
- Output for 5.5.33
- 574-01-8669
420-84-9006
676-07-0352
526-09-9857
545-01-1557
650-01-7809--false
- Output for 5.5.32
- 574-01-1370
422-01-0508
432-01-6080
527-40-5633
623-01-2605
521-01-7159--false
- Output for 5.5.31
- 574-01-4226
423-05-0716
431-01-1003
526-07-5046
618-01-6784
653-09-5918--false
- Output for 5.5.30
- 574-01-4565
419-05-0871
432-01-7435
764-01-2339
604-01-0410
522-01-7154--false
- Output for 5.5.29
- 574-01-1765
418-01-4476
429-01-2827
526-09-5416
572-01-6295
524-80-2939--false
- Output for 5.5.28
- 574-01-9393
416-05-3055
430-01-0521
764-01-4900
620-56-9475
651-01-0505--false
- Output for 5.5.27
- 574-01-4168
418-01-7302
679-01-7188
764-01-7429
566-66-4051
524-92-4742--false
- Output for 5.5.26
- 574-01-2812
421-01-9511
677-88-5217
600-01-7107
602-05-1977
651-01-6460--false
- Output for 5.5.25
- 574-01-8969
423-05-8593
679-01-8971
527-52-9321
609-07-2456
651-01-0618--false
- Output for 5.5.24
- 574-01-2144
424-92-2811
678-01-5401
526-03-5051
567-03-7049
650-01-1969--false
- Output for 5.4.45
- 574-01-4150
423-01-6894
432-01-5496
600-01-7668
623-03-9705
652-03-4181--false
- Output for 5.4.44
- 574-01-9266
417-01-1819
678-01-1512
765-01-5208
615-01-6720
653-07-1238--false
- Output for 5.4.43
- 574-01-7915
419-05-1199
679-01-8286
764-01-2596
552-02-3524
652-01-6441--false
- Output for 5.4.42
- 574-01-1914
423-03-7711
677-72-0447
600-01-1652
560-46-8441
652-03-0482--false
- Output for 5.4.41
- 574-01-2998
422-01-4806
431-01-6213
764-01-0837
624-34-9891
652-07-6080--false
- Output for 5.4.40
- 574-01-1715
418-01-3225
432-01-7662
601-01-8235
560-12-9799
650-01-7626--false
- Output for 5.4.39
- 574-01-4767
416-01-2861
676-03-9809
601-01-0007
551-01-7454
653-09-7793--false
- Output for 5.4.38
- 574-01-7801
416-03-1396
430-01-5859
526-03-9279
554-01-1447
523-68-1700--false
- Output for 5.4.37
- 574-01-1799
422-01-7563
677-72-2644
765-01-3913
610-40-6080
653-09-0658--false
- Output for 5.4.36
- 574-01-9291
423-01-7300
432-01-6458
526-01-8361
569-05-6434
650-01-8490--false
- Output for 5.4.35
- 574-01-6797
418-01-8601
429-01-4416
765-01-1650
609-07-6704
524-52-3669--false
- Output for 5.4.34
- 574-01-8172
419-05-6705
678-01-1707
764-01-1680
551-01-5696
651-01-2834--false
- Output for 5.4.32
- 574-01-7169
419-09-3970
677-48-3269
765-01-4006
611-01-5517
651-01-9185--false
- Output for 5.4.31
- 574-01-1167
422-01-0564
430-03-5353
526-03-2217
616-01-1504
652-07-6302--false
- Output for 5.4.30
- 574-01-5869
419-05-3207
677-98-4221
600-01-8943
623-01-9647
651-01-5310--false
- Output for 5.4.29
- 574-01-5645
417-01-4327
676-09-8800
765-01-9999
610-26-0919
522-01-2426--false
- Output for 5.4.28
- 574-01-5379
422-01-2051
431-03-5069
526-09-9150
549-01-7294
522-01-7027--false
- Output for 5.4.27
- 574-01-3261
423-05-5554
430-01-5262
600-01-6766
570-98-7198
651-01-3651--false
- Output for 5.4.26
- 574-01-8980
423-01-5285
432-01-9678
765-01-2592
562-07-1832
650-01-8590--false
- Output for 5.4.25
- 574-01-5462
423-03-0099
677-48-7534
601-01-8738
552-62-9637
653-03-0458--false
- Output for 5.4.24
- 574-01-2287
421-01-5284
431-01-0296
601-01-1526
555-03-9388
651-01-8394--false
- Output for 5.4.23
- 574-01-5965
422-01-2190
676-09-6745
600-01-5399
559-48-5131
652-05-5342--false
- Output for 5.4.22
- 574-01-3469
421-01-9579
677-50-9307
526-07-9291
563-86-7446
653-01-8998--false
- Output for 5.4.21
- 574-01-7620
421-01-3303
429-01-6609
526-03-9041
554-01-8903
651-01-2433--false
- Output for 5.4.20
- 574-01-1754
422-01-3025
429-01-5338
600-01-8190
623-05-7252
521-01-3320--false
- Output for 5.4.19
- 574-01-5940
418-01-7839
430-05-7056
527-62-3396
548-01-0574
650-01-1182--false
- Output for 5.4.18
- 574-01-4225
421-01-4509
677-32-4273
526-01-5879
610-88-9023
653-03-0713--false
- Output for 5.4.17
- 574-01-8114
420-82-3465
678-01-4355
526-05-6672
616-01-2624
524-74-4835--false
- Output for 5.4.16
- 574-01-7733
424-42-7277
431-01-1534
601-01-5256
565-01-3664
653-01-3823--false
- Output for 5.4.15
- 574-01-8334
423-05-3852
429-01-4664
600-01-0045
562-09-0136
524-14-8019--false
- Output for 5.4.14
- 574-01-2918
424-68-0076
429-01-2586
601-01-8807
611-01-0027
522-01-6548--false
- Output for 5.4.13
- 574-01-1682
416-03-0145
432-01-0792
601-01-6223
622-01-3939
650-01-7657--false
- Output for 5.4.12
- 574-01-1474
419-05-2417
431-03-1603
526-01-5420
558-01-8325
523-56-5608--false
- Output for 5.4.11
- 574-01-3599
419-07-3580
431-03-8409
601-01-3052
561-01-8401
523-96-6957--false
- Output for 5.4.10
- 574-01-7915
417-01-3721
432-01-9402
765-01-9917
625-01-5883
522-01-5306--false
- Output for 5.4.9
- 574-01-2971
420-84-4644
431-03-6392
765-01-7474
558-01-2867
651-01-5568--false
- Output for 5.4.8
- 574-01-8419
421-01-4758
679-01-7947
601-01-0287
608-01-2522
523-26-3756--false
- Output for 5.4.7
- 574-01-2920
416-05-9162
678-01-2650
527-48-0197
552-50-6150
523-14-1208--false
- Output for 5.4.6
- 574-01-2508
419-05-1018
679-01-8131
526-03-5319
567-07-0711
653-05-2361--false
- Output for 5.4.5
- 574-01-1200
417-01-6457
679-01-3458
765-01-5453
625-01-3361
522-01-1510--false
- Output for 5.4.4
- 574-01-9320
421-01-6932
679-01-3012
526-09-5006
558-01-8979
650-01-6478--false
- Output for 5.4.3
- 574-01-3405
420-56-5164
431-03-8600
527-68-1724
620-88-1936
651-01-2224--false
- Output for 5.4.2
- 574-01-5858
423-03-6386
432-01-2988
527-98-4004
561-01-4578
522-01-2825--false
preferences:
172.01 ms | 401 KiB | 172 Q