1 /********************************************************************** 2 * File: imgunpk.h (Formerly unpack.h) 3 * Description: Definitions of fast unpacking look-up tables for images.c. 4 * Author: Ray Smith 5 * Created: Mon Jun 11 18:06:34 BST 1990 6 * 7 * (C) Copyright 1990, Hewlett-Packard Ltd. 8 ** Licensed under the Apache License, Version 2.0 (the "License"); 9 ** you may not use this file except in compliance with the License. 10 ** You may obtain a copy of the License at 11 ** http://www.apache.org/licenses/LICENSE-2.0 12 ** Unless required by applicable law or agreed to in writing, software 13 ** distributed under the License is distributed on an "AS IS" BASIS, 14 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 ** See the License for the specific language governing permissions and 16 ** limitations under the License. 17 * 18 **********************************************************************/ 19 20 #ifndef IMGUNPK_H 21 #define IMGUNPK_H 22 23 #include "host.h" 24 25 uinT8 bpp4table[256][2] = { /*4 bit converter */ 26 {0, 0} 27 , {0, 1} 28 , {0, 2} 29 , {0, 3} 30 , 31 {0, 4} 32 , {0, 5} 33 , {0, 6} 34 , {0, 7} 35 , 36 {0, 8} 37 , {0, 9} 38 , {0, 10} 39 , {0, 11} 40 , 41 {0, 12} 42 , {0, 13} 43 , {0, 14} 44 , {0, 15} 45 , 46 {1, 0} 47 , {1, 1} 48 , {1, 2} 49 , {1, 3} 50 , 51 {1, 4} 52 , {1, 5} 53 , {1, 6} 54 , {1, 7} 55 , 56 {1, 8} 57 , {1, 9} 58 , {1, 10} 59 , {1, 11} 60 , 61 {1, 12} 62 , {1, 13} 63 , {1, 14} 64 , {1, 15} 65 , 66 {2, 0} 67 , {2, 1} 68 , {2, 2} 69 , {2, 3} 70 , 71 {2, 4} 72 , {2, 5} 73 , {2, 6} 74 , {2, 7} 75 , 76 {2, 8} 77 , {2, 9} 78 , {2, 10} 79 , {2, 11} 80 , 81 {2, 12} 82 , {2, 13} 83 , {2, 14} 84 , {2, 15} 85 , 86 {3, 0} 87 , {3, 1} 88 , {3, 2} 89 , {3, 3} 90 , 91 {3, 4} 92 , {3, 5} 93 , {3, 6} 94 , {3, 7} 95 , 96 {3, 8} 97 , {3, 9} 98 , {3, 10} 99 , {3, 11} 100 , 101 {3, 12} 102 , {3, 13} 103 , {3, 14} 104 , {3, 15} 105 , 106 {4, 0} 107 , {4, 1} 108 , {4, 2} 109 , {4, 3} 110 , 111 {4, 4} 112 , {4, 5} 113 , {4, 6} 114 , {4, 7} 115 , 116 {4, 8} 117 , {4, 9} 118 , {4, 10} 119 , {4, 11} 120 , 121 {4, 12} 122 , {4, 13} 123 , {4, 14} 124 , {4, 15} 125 , 126 {5, 0} 127 , {5, 1} 128 , {5, 2} 129 , {5, 3} 130 , 131 {5, 4} 132 , {5, 5} 133 , {5, 6} 134 , {5, 7} 135 , 136 {5, 8} 137 , {5, 9} 138 , {5, 10} 139 , {5, 11} 140 , 141 {5, 12} 142 , {5, 13} 143 , {5, 14} 144 , {5, 15} 145 , 146 {6, 0} 147 , {6, 1} 148 , {6, 2} 149 , {6, 3} 150 , 151 {6, 4} 152 , {6, 5} 153 , {6, 6} 154 , {6, 7} 155 , 156 {6, 8} 157 , {6, 9} 158 , {6, 10} 159 , {6, 11} 160 , 161 {6, 12} 162 , {6, 13} 163 , {6, 14} 164 , {6, 15} 165 , 166 {7, 0} 167 , {7, 1} 168 , {7, 2} 169 , {7, 3} 170 , 171 {7, 4} 172 , {7, 5} 173 , {7, 6} 174 , {7, 7} 175 , 176 {7, 8} 177 , {7, 9} 178 , {7, 10} 179 , {7, 11} 180 , 181 {7, 12} 182 , {7, 13} 183 , {7, 14} 184 , {7, 15} 185 , 186 {8, 0} 187 , {8, 1} 188 , {8, 2} 189 , {8, 3} 190 , 191 {8, 4} 192 , {8, 5} 193 , {8, 6} 194 , {8, 7} 195 , 196 {8, 8} 197 , {8, 9} 198 , {8, 10} 199 , {8, 11} 200 , 201 {8, 12} 202 , {8, 13} 203 , {8, 14} 204 , {8, 15} 205 , 206 {9, 0} 207 , {9, 1} 208 , {9, 2} 209 , {9, 3} 210 , 211 {9, 4} 212 , {9, 5} 213 , {9, 6} 214 , {9, 7} 215 , 216 {9, 8} 217 , {9, 9} 218 , {9, 10} 219 , {9, 11} 220 , 221 {9, 12} 222 , {9, 13} 223 , {9, 14} 224 , {9, 15} 225 , 226 {10, 0} 227 , {10, 1} 228 , {10, 2} 229 , {10, 3} 230 , 231 {10, 4} 232 , {10, 5} 233 , {10, 6} 234 , {10, 7} 235 , 236 {10, 8} 237 , {10, 9} 238 , {10, 10} 239 , {10, 11} 240 , 241 {10, 12} 242 , {10, 13} 243 , {10, 14} 244 , {10, 15} 245 , 246 {11, 0} 247 , {11, 1} 248 , {11, 2} 249 , {11, 3} 250 , 251 {11, 4} 252 , {11, 5} 253 , {11, 6} 254 , {11, 7} 255 , 256 {11, 8} 257 , {11, 9} 258 , {11, 10} 259 , {11, 11} 260 , 261 {11, 12} 262 , {11, 13} 263 , {11, 14} 264 , {11, 15} 265 , 266 {12, 0} 267 , {12, 1} 268 , {12, 2} 269 , {12, 3} 270 , 271 {12, 4} 272 , {12, 5} 273 , {12, 6} 274 , {12, 7} 275 , 276 {12, 8} 277 , {12, 9} 278 , {12, 10} 279 , {12, 11} 280 , 281 {12, 12} 282 , {12, 13} 283 , {12, 14} 284 , {12, 15} 285 , 286 {13, 0} 287 , {13, 1} 288 , {13, 2} 289 , {13, 3} 290 , 291 {13, 4} 292 , {13, 5} 293 , {13, 6} 294 , {13, 7} 295 , 296 {13, 8} 297 , {13, 9} 298 , {13, 10} 299 , {13, 11} 300 , 301 {13, 12} 302 , {13, 13} 303 , {13, 14} 304 , {13, 15} 305 , 306 {14, 0} 307 , {14, 1} 308 , {14, 2} 309 , {14, 3} 310 , 311 {14, 4} 312 , {14, 5} 313 , {14, 6} 314 , {14, 7} 315 , 316 {14, 8} 317 , {14, 9} 318 , {14, 10} 319 , {14, 11} 320 , 321 {14, 12} 322 , {14, 13} 323 , {14, 14} 324 , {14, 15} 325 , 326 {15, 0} 327 , {15, 1} 328 , {15, 2} 329 , {15, 3} 330 , 331 {15, 4} 332 , {15, 5} 333 , {15, 6} 334 , {15, 7} 335 , 336 {15, 8} 337 , {15, 9} 338 , {15, 10} 339 , {15, 11} 340 , 341 {15, 12} 342 , {15, 13} 343 , {15, 14} 344 , {15, 15} 345 , 346 }; 347 348 uinT8 bpp2table[256][4] = { /*2bpp converter */ 349 {0, 0, 0, 0} 350 , 351 {0, 0, 0, 1} 352 , 353 {0, 0, 0, 2} 354 , 355 {0, 0, 0, 3} 356 , 357 {0, 0, 1, 0} 358 , 359 {0, 0, 1, 1} 360 , 361 {0, 0, 1, 2} 362 , 363 {0, 0, 1, 3} 364 , 365 {0, 0, 2, 0} 366 , 367 {0, 0, 2, 1} 368 , 369 {0, 0, 2, 2} 370 , 371 {0, 0, 2, 3} 372 , 373 {0, 0, 3, 0} 374 , 375 {0, 0, 3, 1} 376 , 377 {0, 0, 3, 2} 378 , 379 {0, 0, 3, 3} 380 , 381 {0, 1, 0, 0} 382 , 383 {0, 1, 0, 1} 384 , 385 {0, 1, 0, 2} 386 , 387 {0, 1, 0, 3} 388 , 389 {0, 1, 1, 0} 390 , 391 {0, 1, 1, 1} 392 , 393 {0, 1, 1, 2} 394 , 395 {0, 1, 1, 3} 396 , 397 {0, 1, 2, 0} 398 , 399 {0, 1, 2, 1} 400 , 401 {0, 1, 2, 2} 402 , 403 {0, 1, 2, 3} 404 , 405 {0, 1, 3, 0} 406 , 407 {0, 1, 3, 1} 408 , 409 {0, 1, 3, 2} 410 , 411 {0, 1, 3, 3} 412 , 413 {0, 2, 0, 0} 414 , 415 {0, 2, 0, 1} 416 , 417 {0, 2, 0, 2} 418 , 419 {0, 2, 0, 3} 420 , 421 {0, 2, 1, 0} 422 , 423 {0, 2, 1, 1} 424 , 425 {0, 2, 1, 2} 426 , 427 {0, 2, 1, 3} 428 , 429 {0, 2, 2, 0} 430 , 431 {0, 2, 2, 1} 432 , 433 {0, 2, 2, 2} 434 , 435 {0, 2, 2, 3} 436 , 437 {0, 2, 3, 0} 438 , 439 {0, 2, 3, 1} 440 , 441 {0, 2, 3, 2} 442 , 443 {0, 2, 3, 3} 444 , 445 {0, 3, 0, 0} 446 , 447 {0, 3, 0, 1} 448 , 449 {0, 3, 0, 2} 450 , 451 {0, 3, 0, 3} 452 , 453 {0, 3, 1, 0} 454 , 455 {0, 3, 1, 1} 456 , 457 {0, 3, 1, 2} 458 , 459 {0, 3, 1, 3} 460 , 461 {0, 3, 2, 0} 462 , 463 {0, 3, 2, 1} 464 , 465 {0, 3, 2, 2} 466 , 467 {0, 3, 2, 3} 468 , 469 {0, 3, 3, 0} 470 , 471 {0, 3, 3, 1} 472 , 473 {0, 3, 3, 2} 474 , 475 {0, 3, 3, 3} 476 , 477 {1, 0, 0, 0} 478 , 479 {1, 0, 0, 1} 480 , 481 {1, 0, 0, 2} 482 , 483 {1, 0, 0, 3} 484 , 485 {1, 0, 1, 0} 486 , 487 {1, 0, 1, 1} 488 , 489 {1, 0, 1, 2} 490 , 491 {1, 0, 1, 3} 492 , 493 {1, 0, 2, 0} 494 , 495 {1, 0, 2, 1} 496 , 497 {1, 0, 2, 2} 498 , 499 {1, 0, 2, 3} 500 , 501 {1, 0, 3, 0} 502 , 503 {1, 0, 3, 1} 504 , 505 {1, 0, 3, 2} 506 , 507 {1, 0, 3, 3} 508 , 509 {1, 1, 0, 0} 510 , 511 {1, 1, 0, 1} 512 , 513 {1, 1, 0, 2} 514 , 515 {1, 1, 0, 3} 516 , 517 {1, 1, 1, 0} 518 , 519 {1, 1, 1, 1} 520 , 521 {1, 1, 1, 2} 522 , 523 {1, 1, 1, 3} 524 , 525 {1, 1, 2, 0} 526 , 527 {1, 1, 2, 1} 528 , 529 {1, 1, 2, 2} 530 , 531 {1, 1, 2, 3} 532 , 533 {1, 1, 3, 0} 534 , 535 {1, 1, 3, 1} 536 , 537 {1, 1, 3, 2} 538 , 539 {1, 1, 3, 3} 540 , 541 {1, 2, 0, 0} 542 , 543 {1, 2, 0, 1} 544 , 545 {1, 2, 0, 2} 546 , 547 {1, 2, 0, 3} 548 , 549 {1, 2, 1, 0} 550 , 551 {1, 2, 1, 1} 552 , 553 {1, 2, 1, 2} 554 , 555 {1, 2, 1, 3} 556 , 557 {1, 2, 2, 0} 558 , 559 {1, 2, 2, 1} 560 , 561 {1, 2, 2, 2} 562 , 563 {1, 2, 2, 3} 564 , 565 {1, 2, 3, 0} 566 , 567 {1, 2, 3, 1} 568 , 569 {1, 2, 3, 2} 570 , 571 {1, 2, 3, 3} 572 , 573 {1, 3, 0, 0} 574 , 575 {1, 3, 0, 1} 576 , 577 {1, 3, 0, 2} 578 , 579 {1, 3, 0, 3} 580 , 581 {1, 3, 1, 0} 582 , 583 {1, 3, 1, 1} 584 , 585 {1, 3, 1, 2} 586 , 587 {1, 3, 1, 3} 588 , 589 {1, 3, 2, 0} 590 , 591 {1, 3, 2, 1} 592 , 593 {1, 3, 2, 2} 594 , 595 {1, 3, 2, 3} 596 , 597 {1, 3, 3, 0} 598 , 599 {1, 3, 3, 1} 600 , 601 {1, 3, 3, 2} 602 , 603 {1, 3, 3, 3} 604 , 605 {2, 0, 0, 0} 606 , 607 {2, 0, 0, 1} 608 , 609 {2, 0, 0, 2} 610 , 611 {2, 0, 0, 3} 612 , 613 {2, 0, 1, 0} 614 , 615 {2, 0, 1, 1} 616 , 617 {2, 0, 1, 2} 618 , 619 {2, 0, 1, 3} 620 , 621 {2, 0, 2, 0} 622 , 623 {2, 0, 2, 1} 624 , 625 {2, 0, 2, 2} 626 , 627 {2, 0, 2, 3} 628 , 629 {2, 0, 3, 0} 630 , 631 {2, 0, 3, 1} 632 , 633 {2, 0, 3, 2} 634 , 635 {2, 0, 3, 3} 636 , 637 {2, 1, 0, 0} 638 , 639 {2, 1, 0, 1} 640 , 641 {2, 1, 0, 2} 642 , 643 {2, 1, 0, 3} 644 , 645 {2, 1, 1, 0} 646 , 647 {2, 1, 1, 1} 648 , 649 {2, 1, 1, 2} 650 , 651 {2, 1, 1, 3} 652 , 653 {2, 1, 2, 0} 654 , 655 {2, 1, 2, 1} 656 , 657 {2, 1, 2, 2} 658 , 659 {2, 1, 2, 3} 660 , 661 {2, 1, 3, 0} 662 , 663 {2, 1, 3, 1} 664 , 665 {2, 1, 3, 2} 666 , 667 {2, 1, 3, 3} 668 , 669 {2, 2, 0, 0} 670 , 671 {2, 2, 0, 1} 672 , 673 {2, 2, 0, 2} 674 , 675 {2, 2, 0, 3} 676 , 677 {2, 2, 1, 0} 678 , 679 {2, 2, 1, 1} 680 , 681 {2, 2, 1, 2} 682 , 683 {2, 2, 1, 3} 684 , 685 {2, 2, 2, 0} 686 , 687 {2, 2, 2, 1} 688 , 689 {2, 2, 2, 2} 690 , 691 {2, 2, 2, 3} 692 , 693 {2, 2, 3, 0} 694 , 695 {2, 2, 3, 1} 696 , 697 {2, 2, 3, 2} 698 , 699 {2, 2, 3, 3} 700 , 701 {2, 3, 0, 0} 702 , 703 {2, 3, 0, 1} 704 , 705 {2, 3, 0, 2} 706 , 707 {2, 3, 0, 3} 708 , 709 {2, 3, 1, 0} 710 , 711 {2, 3, 1, 1} 712 , 713 {2, 3, 1, 2} 714 , 715 {2, 3, 1, 3} 716 , 717 {2, 3, 2, 0} 718 , 719 {2, 3, 2, 1} 720 , 721 {2, 3, 2, 2} 722 , 723 {2, 3, 2, 3} 724 , 725 {2, 3, 3, 0} 726 , 727 {2, 3, 3, 1} 728 , 729 {2, 3, 3, 2} 730 , 731 {2, 3, 3, 3} 732 , 733 {3, 0, 0, 0} 734 , 735 {3, 0, 0, 1} 736 , 737 {3, 0, 0, 2} 738 , 739 {3, 0, 0, 3} 740 , 741 {3, 0, 1, 0} 742 , 743 {3, 0, 1, 1} 744 , 745 {3, 0, 1, 2} 746 , 747 {3, 0, 1, 3} 748 , 749 {3, 0, 2, 0} 750 , 751 {3, 0, 2, 1} 752 , 753 {3, 0, 2, 2} 754 , 755 {3, 0, 2, 3} 756 , 757 {3, 0, 3, 0} 758 , 759 {3, 0, 3, 1} 760 , 761 {3, 0, 3, 2} 762 , 763 {3, 0, 3, 3} 764 , 765 {3, 1, 0, 0} 766 , 767 {3, 1, 0, 1} 768 , 769 {3, 1, 0, 2} 770 , 771 {3, 1, 0, 3} 772 , 773 {3, 1, 1, 0} 774 , 775 {3, 1, 1, 1} 776 , 777 {3, 1, 1, 2} 778 , 779 {3, 1, 1, 3} 780 , 781 {3, 1, 2, 0} 782 , 783 {3, 1, 2, 1} 784 , 785 {3, 1, 2, 2} 786 , 787 {3, 1, 2, 3} 788 , 789 {3, 1, 3, 0} 790 , 791 {3, 1, 3, 1} 792 , 793 {3, 1, 3, 2} 794 , 795 {3, 1, 3, 3} 796 , 797 {3, 2, 0, 0} 798 , 799 {3, 2, 0, 1} 800 , 801 {3, 2, 0, 2} 802 , 803 {3, 2, 0, 3} 804 , 805 {3, 2, 1, 0} 806 , 807 {3, 2, 1, 1} 808 , 809 {3, 2, 1, 2} 810 , 811 {3, 2, 1, 3} 812 , 813 {3, 2, 2, 0} 814 , 815 {3, 2, 2, 1} 816 , 817 {3, 2, 2, 2} 818 , 819 {3, 2, 2, 3} 820 , 821 {3, 2, 3, 0} 822 , 823 {3, 2, 3, 1} 824 , 825 {3, 2, 3, 2} 826 , 827 {3, 2, 3, 3} 828 , 829 {3, 3, 0, 0} 830 , 831 {3, 3, 0, 1} 832 , 833 {3, 3, 0, 2} 834 , 835 {3, 3, 0, 3} 836 , 837 {3, 3, 1, 0} 838 , 839 {3, 3, 1, 1} 840 , 841 {3, 3, 1, 2} 842 , 843 {3, 3, 1, 3} 844 , 845 {3, 3, 2, 0} 846 , 847 {3, 3, 2, 1} 848 , 849 {3, 3, 2, 2} 850 , 851 {3, 3, 2, 3} 852 , 853 {3, 3, 3, 0} 854 , 855 {3, 3, 3, 1} 856 , 857 {3, 3, 3, 2} 858 , 859 {3, 3, 3, 3} 860 , 861 }; 862 863 uinT8 bpp1table[256][8] = { /*1bpp converter */ 864 {0, 0, 0, 0, 0, 0, 0, 0} 865 , 866 {0, 0, 0, 0, 0, 0, 0, 1} 867 , 868 {0, 0, 0, 0, 0, 0, 1, 0} 869 , 870 {0, 0, 0, 0, 0, 0, 1, 1} 871 , 872 {0, 0, 0, 0, 0, 1, 0, 0} 873 , 874 {0, 0, 0, 0, 0, 1, 0, 1} 875 , 876 {0, 0, 0, 0, 0, 1, 1, 0} 877 , 878 {0, 0, 0, 0, 0, 1, 1, 1} 879 , 880 {0, 0, 0, 0, 1, 0, 0, 0} 881 , 882 {0, 0, 0, 0, 1, 0, 0, 1} 883 , 884 {0, 0, 0, 0, 1, 0, 1, 0} 885 , 886 {0, 0, 0, 0, 1, 0, 1, 1} 887 , 888 {0, 0, 0, 0, 1, 1, 0, 0} 889 , 890 {0, 0, 0, 0, 1, 1, 0, 1} 891 , 892 {0, 0, 0, 0, 1, 1, 1, 0} 893 , 894 {0, 0, 0, 0, 1, 1, 1, 1} 895 , 896 {0, 0, 0, 1, 0, 0, 0, 0} 897 , 898 {0, 0, 0, 1, 0, 0, 0, 1} 899 , 900 {0, 0, 0, 1, 0, 0, 1, 0} 901 , 902 {0, 0, 0, 1, 0, 0, 1, 1} 903 , 904 {0, 0, 0, 1, 0, 1, 0, 0} 905 , 906 {0, 0, 0, 1, 0, 1, 0, 1} 907 , 908 {0, 0, 0, 1, 0, 1, 1, 0} 909 , 910 {0, 0, 0, 1, 0, 1, 1, 1} 911 , 912 {0, 0, 0, 1, 1, 0, 0, 0} 913 , 914 {0, 0, 0, 1, 1, 0, 0, 1} 915 , 916 {0, 0, 0, 1, 1, 0, 1, 0} 917 , 918 {0, 0, 0, 1, 1, 0, 1, 1} 919 , 920 {0, 0, 0, 1, 1, 1, 0, 0} 921 , 922 {0, 0, 0, 1, 1, 1, 0, 1} 923 , 924 {0, 0, 0, 1, 1, 1, 1, 0} 925 , 926 {0, 0, 0, 1, 1, 1, 1, 1} 927 , 928 {0, 0, 1, 0, 0, 0, 0, 0} 929 , 930 {0, 0, 1, 0, 0, 0, 0, 1} 931 , 932 {0, 0, 1, 0, 0, 0, 1, 0} 933 , 934 {0, 0, 1, 0, 0, 0, 1, 1} 935 , 936 {0, 0, 1, 0, 0, 1, 0, 0} 937 , 938 {0, 0, 1, 0, 0, 1, 0, 1} 939 , 940 {0, 0, 1, 0, 0, 1, 1, 0} 941 , 942 {0, 0, 1, 0, 0, 1, 1, 1} 943 , 944 {0, 0, 1, 0, 1, 0, 0, 0} 945 , 946 {0, 0, 1, 0, 1, 0, 0, 1} 947 , 948 {0, 0, 1, 0, 1, 0, 1, 0} 949 , 950 {0, 0, 1, 0, 1, 0, 1, 1} 951 , 952 {0, 0, 1, 0, 1, 1, 0, 0} 953 , 954 {0, 0, 1, 0, 1, 1, 0, 1} 955 , 956 {0, 0, 1, 0, 1, 1, 1, 0} 957 , 958 {0, 0, 1, 0, 1, 1, 1, 1} 959 , 960 {0, 0, 1, 1, 0, 0, 0, 0} 961 , 962 {0, 0, 1, 1, 0, 0, 0, 1} 963 , 964 {0, 0, 1, 1, 0, 0, 1, 0} 965 , 966 {0, 0, 1, 1, 0, 0, 1, 1} 967 , 968 {0, 0, 1, 1, 0, 1, 0, 0} 969 , 970 {0, 0, 1, 1, 0, 1, 0, 1} 971 , 972 {0, 0, 1, 1, 0, 1, 1, 0} 973 , 974 {0, 0, 1, 1, 0, 1, 1, 1} 975 , 976 {0, 0, 1, 1, 1, 0, 0, 0} 977 , 978 {0, 0, 1, 1, 1, 0, 0, 1} 979 , 980 {0, 0, 1, 1, 1, 0, 1, 0} 981 , 982 {0, 0, 1, 1, 1, 0, 1, 1} 983 , 984 {0, 0, 1, 1, 1, 1, 0, 0} 985 , 986 {0, 0, 1, 1, 1, 1, 0, 1} 987 , 988 {0, 0, 1, 1, 1, 1, 1, 0} 989 , 990 {0, 0, 1, 1, 1, 1, 1, 1} 991 , 992 {0, 1, 0, 0, 0, 0, 0, 0} 993 , 994 {0, 1, 0, 0, 0, 0, 0, 1} 995 , 996 {0, 1, 0, 0, 0, 0, 1, 0} 997 , 998 {0, 1, 0, 0, 0, 0, 1, 1} 999 , 1000 {0, 1, 0, 0, 0, 1, 0, 0} 1001 , 1002 {0, 1, 0, 0, 0, 1, 0, 1} 1003 , 1004 {0, 1, 0, 0, 0, 1, 1, 0} 1005 , 1006 {0, 1, 0, 0, 0, 1, 1, 1} 1007 , 1008 {0, 1, 0, 0, 1, 0, 0, 0} 1009 , 1010 {0, 1, 0, 0, 1, 0, 0, 1} 1011 , 1012 {0, 1, 0, 0, 1, 0, 1, 0} 1013 , 1014 {0, 1, 0, 0, 1, 0, 1, 1} 1015 , 1016 {0, 1, 0, 0, 1, 1, 0, 0} 1017 , 1018 {0, 1, 0, 0, 1, 1, 0, 1} 1019 , 1020 {0, 1, 0, 0, 1, 1, 1, 0} 1021 , 1022 {0, 1, 0, 0, 1, 1, 1, 1} 1023 , 1024 {0, 1, 0, 1, 0, 0, 0, 0} 1025 , 1026 {0, 1, 0, 1, 0, 0, 0, 1} 1027 , 1028 {0, 1, 0, 1, 0, 0, 1, 0} 1029 , 1030 {0, 1, 0, 1, 0, 0, 1, 1} 1031 , 1032 {0, 1, 0, 1, 0, 1, 0, 0} 1033 , 1034 {0, 1, 0, 1, 0, 1, 0, 1} 1035 , 1036 {0, 1, 0, 1, 0, 1, 1, 0} 1037 , 1038 {0, 1, 0, 1, 0, 1, 1, 1} 1039 , 1040 {0, 1, 0, 1, 1, 0, 0, 0} 1041 , 1042 {0, 1, 0, 1, 1, 0, 0, 1} 1043 , 1044 {0, 1, 0, 1, 1, 0, 1, 0} 1045 , 1046 {0, 1, 0, 1, 1, 0, 1, 1} 1047 , 1048 {0, 1, 0, 1, 1, 1, 0, 0} 1049 , 1050 {0, 1, 0, 1, 1, 1, 0, 1} 1051 , 1052 {0, 1, 0, 1, 1, 1, 1, 0} 1053 , 1054 {0, 1, 0, 1, 1, 1, 1, 1} 1055 , 1056 {0, 1, 1, 0, 0, 0, 0, 0} 1057 , 1058 {0, 1, 1, 0, 0, 0, 0, 1} 1059 , 1060 {0, 1, 1, 0, 0, 0, 1, 0} 1061 , 1062 {0, 1, 1, 0, 0, 0, 1, 1} 1063 , 1064 {0, 1, 1, 0, 0, 1, 0, 0} 1065 , 1066 {0, 1, 1, 0, 0, 1, 0, 1} 1067 , 1068 {0, 1, 1, 0, 0, 1, 1, 0} 1069 , 1070 {0, 1, 1, 0, 0, 1, 1, 1} 1071 , 1072 {0, 1, 1, 0, 1, 0, 0, 0} 1073 , 1074 {0, 1, 1, 0, 1, 0, 0, 1} 1075 , 1076 {0, 1, 1, 0, 1, 0, 1, 0} 1077 , 1078 {0, 1, 1, 0, 1, 0, 1, 1} 1079 , 1080 {0, 1, 1, 0, 1, 1, 0, 0} 1081 , 1082 {0, 1, 1, 0, 1, 1, 0, 1} 1083 , 1084 {0, 1, 1, 0, 1, 1, 1, 0} 1085 , 1086 {0, 1, 1, 0, 1, 1, 1, 1} 1087 , 1088 {0, 1, 1, 1, 0, 0, 0, 0} 1089 , 1090 {0, 1, 1, 1, 0, 0, 0, 1} 1091 , 1092 {0, 1, 1, 1, 0, 0, 1, 0} 1093 , 1094 {0, 1, 1, 1, 0, 0, 1, 1} 1095 , 1096 {0, 1, 1, 1, 0, 1, 0, 0} 1097 , 1098 {0, 1, 1, 1, 0, 1, 0, 1} 1099 , 1100 {0, 1, 1, 1, 0, 1, 1, 0} 1101 , 1102 {0, 1, 1, 1, 0, 1, 1, 1} 1103 , 1104 {0, 1, 1, 1, 1, 0, 0, 0} 1105 , 1106 {0, 1, 1, 1, 1, 0, 0, 1} 1107 , 1108 {0, 1, 1, 1, 1, 0, 1, 0} 1109 , 1110 {0, 1, 1, 1, 1, 0, 1, 1} 1111 , 1112 {0, 1, 1, 1, 1, 1, 0, 0} 1113 , 1114 {0, 1, 1, 1, 1, 1, 0, 1} 1115 , 1116 {0, 1, 1, 1, 1, 1, 1, 0} 1117 , 1118 {0, 1, 1, 1, 1, 1, 1, 1} 1119 , 1120 {1, 0, 0, 0, 0, 0, 0, 0} 1121 , 1122 {1, 0, 0, 0, 0, 0, 0, 1} 1123 , 1124 {1, 0, 0, 0, 0, 0, 1, 0} 1125 , 1126 {1, 0, 0, 0, 0, 0, 1, 1} 1127 , 1128 {1, 0, 0, 0, 0, 1, 0, 0} 1129 , 1130 {1, 0, 0, 0, 0, 1, 0, 1} 1131 , 1132 {1, 0, 0, 0, 0, 1, 1, 0} 1133 , 1134 {1, 0, 0, 0, 0, 1, 1, 1} 1135 , 1136 {1, 0, 0, 0, 1, 0, 0, 0} 1137 , 1138 {1, 0, 0, 0, 1, 0, 0, 1} 1139 , 1140 {1, 0, 0, 0, 1, 0, 1, 0} 1141 , 1142 {1, 0, 0, 0, 1, 0, 1, 1} 1143 , 1144 {1, 0, 0, 0, 1, 1, 0, 0} 1145 , 1146 {1, 0, 0, 0, 1, 1, 0, 1} 1147 , 1148 {1, 0, 0, 0, 1, 1, 1, 0} 1149 , 1150 {1, 0, 0, 0, 1, 1, 1, 1} 1151 , 1152 {1, 0, 0, 1, 0, 0, 0, 0} 1153 , 1154 {1, 0, 0, 1, 0, 0, 0, 1} 1155 , 1156 {1, 0, 0, 1, 0, 0, 1, 0} 1157 , 1158 {1, 0, 0, 1, 0, 0, 1, 1} 1159 , 1160 {1, 0, 0, 1, 0, 1, 0, 0} 1161 , 1162 {1, 0, 0, 1, 0, 1, 0, 1} 1163 , 1164 {1, 0, 0, 1, 0, 1, 1, 0} 1165 , 1166 {1, 0, 0, 1, 0, 1, 1, 1} 1167 , 1168 {1, 0, 0, 1, 1, 0, 0, 0} 1169 , 1170 {1, 0, 0, 1, 1, 0, 0, 1} 1171 , 1172 {1, 0, 0, 1, 1, 0, 1, 0} 1173 , 1174 {1, 0, 0, 1, 1, 0, 1, 1} 1175 , 1176 {1, 0, 0, 1, 1, 1, 0, 0} 1177 , 1178 {1, 0, 0, 1, 1, 1, 0, 1} 1179 , 1180 {1, 0, 0, 1, 1, 1, 1, 0} 1181 , 1182 {1, 0, 0, 1, 1, 1, 1, 1} 1183 , 1184 {1, 0, 1, 0, 0, 0, 0, 0} 1185 , 1186 {1, 0, 1, 0, 0, 0, 0, 1} 1187 , 1188 {1, 0, 1, 0, 0, 0, 1, 0} 1189 , 1190 {1, 0, 1, 0, 0, 0, 1, 1} 1191 , 1192 {1, 0, 1, 0, 0, 1, 0, 0} 1193 , 1194 {1, 0, 1, 0, 0, 1, 0, 1} 1195 , 1196 {1, 0, 1, 0, 0, 1, 1, 0} 1197 , 1198 {1, 0, 1, 0, 0, 1, 1, 1} 1199 , 1200 {1, 0, 1, 0, 1, 0, 0, 0} 1201 , 1202 {1, 0, 1, 0, 1, 0, 0, 1} 1203 , 1204 {1, 0, 1, 0, 1, 0, 1, 0} 1205 , 1206 {1, 0, 1, 0, 1, 0, 1, 1} 1207 , 1208 {1, 0, 1, 0, 1, 1, 0, 0} 1209 , 1210 {1, 0, 1, 0, 1, 1, 0, 1} 1211 , 1212 {1, 0, 1, 0, 1, 1, 1, 0} 1213 , 1214 {1, 0, 1, 0, 1, 1, 1, 1} 1215 , 1216 {1, 0, 1, 1, 0, 0, 0, 0} 1217 , 1218 {1, 0, 1, 1, 0, 0, 0, 1} 1219 , 1220 {1, 0, 1, 1, 0, 0, 1, 0} 1221 , 1222 {1, 0, 1, 1, 0, 0, 1, 1} 1223 , 1224 {1, 0, 1, 1, 0, 1, 0, 0} 1225 , 1226 {1, 0, 1, 1, 0, 1, 0, 1} 1227 , 1228 {1, 0, 1, 1, 0, 1, 1, 0} 1229 , 1230 {1, 0, 1, 1, 0, 1, 1, 1} 1231 , 1232 {1, 0, 1, 1, 1, 0, 0, 0} 1233 , 1234 {1, 0, 1, 1, 1, 0, 0, 1} 1235 , 1236 {1, 0, 1, 1, 1, 0, 1, 0} 1237 , 1238 {1, 0, 1, 1, 1, 0, 1, 1} 1239 , 1240 {1, 0, 1, 1, 1, 1, 0, 0} 1241 , 1242 {1, 0, 1, 1, 1, 1, 0, 1} 1243 , 1244 {1, 0, 1, 1, 1, 1, 1, 0} 1245 , 1246 {1, 0, 1, 1, 1, 1, 1, 1} 1247 , 1248 {1, 1, 0, 0, 0, 0, 0, 0} 1249 , 1250 {1, 1, 0, 0, 0, 0, 0, 1} 1251 , 1252 {1, 1, 0, 0, 0, 0, 1, 0} 1253 , 1254 {1, 1, 0, 0, 0, 0, 1, 1} 1255 , 1256 {1, 1, 0, 0, 0, 1, 0, 0} 1257 , 1258 {1, 1, 0, 0, 0, 1, 0, 1} 1259 , 1260 {1, 1, 0, 0, 0, 1, 1, 0} 1261 , 1262 {1, 1, 0, 0, 0, 1, 1, 1} 1263 , 1264 {1, 1, 0, 0, 1, 0, 0, 0} 1265 , 1266 {1, 1, 0, 0, 1, 0, 0, 1} 1267 , 1268 {1, 1, 0, 0, 1, 0, 1, 0} 1269 , 1270 {1, 1, 0, 0, 1, 0, 1, 1} 1271 , 1272 {1, 1, 0, 0, 1, 1, 0, 0} 1273 , 1274 {1, 1, 0, 0, 1, 1, 0, 1} 1275 , 1276 {1, 1, 0, 0, 1, 1, 1, 0} 1277 , 1278 {1, 1, 0, 0, 1, 1, 1, 1} 1279 , 1280 {1, 1, 0, 1, 0, 0, 0, 0} 1281 , 1282 {1, 1, 0, 1, 0, 0, 0, 1} 1283 , 1284 {1, 1, 0, 1, 0, 0, 1, 0} 1285 , 1286 {1, 1, 0, 1, 0, 0, 1, 1} 1287 , 1288 {1, 1, 0, 1, 0, 1, 0, 0} 1289 , 1290 {1, 1, 0, 1, 0, 1, 0, 1} 1291 , 1292 {1, 1, 0, 1, 0, 1, 1, 0} 1293 , 1294 {1, 1, 0, 1, 0, 1, 1, 1} 1295 , 1296 {1, 1, 0, 1, 1, 0, 0, 0} 1297 , 1298 {1, 1, 0, 1, 1, 0, 0, 1} 1299 , 1300 {1, 1, 0, 1, 1, 0, 1, 0} 1301 , 1302 {1, 1, 0, 1, 1, 0, 1, 1} 1303 , 1304 {1, 1, 0, 1, 1, 1, 0, 0} 1305 , 1306 {1, 1, 0, 1, 1, 1, 0, 1} 1307 , 1308 {1, 1, 0, 1, 1, 1, 1, 0} 1309 , 1310 {1, 1, 0, 1, 1, 1, 1, 1} 1311 , 1312 {1, 1, 1, 0, 0, 0, 0, 0} 1313 , 1314 {1, 1, 1, 0, 0, 0, 0, 1} 1315 , 1316 {1, 1, 1, 0, 0, 0, 1, 0} 1317 , 1318 {1, 1, 1, 0, 0, 0, 1, 1} 1319 , 1320 {1, 1, 1, 0, 0, 1, 0, 0} 1321 , 1322 {1, 1, 1, 0, 0, 1, 0, 1} 1323 , 1324 {1, 1, 1, 0, 0, 1, 1, 0} 1325 , 1326 {1, 1, 1, 0, 0, 1, 1, 1} 1327 , 1328 {1, 1, 1, 0, 1, 0, 0, 0} 1329 , 1330 {1, 1, 1, 0, 1, 0, 0, 1} 1331 , 1332 {1, 1, 1, 0, 1, 0, 1, 0} 1333 , 1334 {1, 1, 1, 0, 1, 0, 1, 1} 1335 , 1336 {1, 1, 1, 0, 1, 1, 0, 0} 1337 , 1338 {1, 1, 1, 0, 1, 1, 0, 1} 1339 , 1340 {1, 1, 1, 0, 1, 1, 1, 0} 1341 , 1342 {1, 1, 1, 0, 1, 1, 1, 1} 1343 , 1344 {1, 1, 1, 1, 0, 0, 0, 0} 1345 , 1346 {1, 1, 1, 1, 0, 0, 0, 1} 1347 , 1348 {1, 1, 1, 1, 0, 0, 1, 0} 1349 , 1350 {1, 1, 1, 1, 0, 0, 1, 1} 1351 , 1352 {1, 1, 1, 1, 0, 1, 0, 0} 1353 , 1354 {1, 1, 1, 1, 0, 1, 0, 1} 1355 , 1356 {1, 1, 1, 1, 0, 1, 1, 0} 1357 , 1358 {1, 1, 1, 1, 0, 1, 1, 1} 1359 , 1360 {1, 1, 1, 1, 1, 0, 0, 0} 1361 , 1362 {1, 1, 1, 1, 1, 0, 0, 1} 1363 , 1364 {1, 1, 1, 1, 1, 0, 1, 0} 1365 , 1366 {1, 1, 1, 1, 1, 0, 1, 1} 1367 , 1368 {1, 1, 1, 1, 1, 1, 0, 0} 1369 , 1370 {1, 1, 1, 1, 1, 1, 0, 1} 1371 , 1372 {1, 1, 1, 1, 1, 1, 1, 0} 1373 , 1374 {1, 1, 1, 1, 1, 1, 1, 1} 1375 , 1376 }; 1377 #endif 1378