Subversion Repositories QNX 8.QNX8 utilities

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. // linear framebuffer driver for QNX 8.0 by Pierre-Marie Baty <pm@pmbaty.com>
  2.  
  3. // compile and link with: cc -Wall fbwrite.c -lpng -o fbwrite
  4.  
  5.  
  6. // standard C includes
  7. #include <stdint.h>
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <string.h>
  11. #include <errno.h>
  12. #include <assert.h>
  13. #include <ctype.h>
  14.  
  15. // platform-specific includes
  16. #include <unistd.h> // POSIX
  17. #include <sys/mman.h> // POSIX
  18. #ifdef __QNXNTO__
  19. #include <sys/neutrino.h> // QNX
  20. #include <hw/inout.h> // QNX
  21. #endif // __QNXNTO__
  22.  
  23. // the PNG library
  24. #include <png.h>
  25.  
  26.  
  27. /* codepage 837
  28. ================
  29.  ☺☻♥♦♣♠•◘○◙♂♀♪♫☼
  30. ►◄↕‼¶§▬↨↑↓→←∟↔▲▼
  31.  !"#$%&'()*+,-./
  32. 0123456789:;<=>?
  33. @ABCDEFGHIJKLMNO
  34. PQRSTUVWXYZ[\]^_
  35. `abcdefghijklmno
  36. pqrstuvwxyz{|}~⌂
  37. ÇüéâäàåçêëèïîìÄÅ
  38. ÉæÆôöòûùÿÖÜ¢£¥₧ƒ
  39. áíóúñѪº¿⌐¬½¼¡«»
  40. ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐
  41. └┴┬├─┼╞╟╚╔╩╦╠═╬╧
  42. ╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀
  43. αßΓπΣσµτΦΘΩδ∞φε∩
  44. ≡±≥≤⌠⌡÷≈°∙·√ⁿ²■
  45. ================ */
  46.  
  47.  
  48. // character tables
  49. #define CHAR_PIXELS_W 8
  50. #define CHAR_PIXELS_H 16
  51. #define _ 0x00,
  52. #define B 0xff,
  53. static const uint8_t characters_table_16x16_8x16_bold[] = // https://www.youtube.com/watch?v=Tl7VfKYbRjg
  54. {
  55.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  56.         B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  57.         B _ B _ _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ B B B B _ _ _ B B B B _ _ _ _ B B B B B B _ B B B B B B B _ _ _ _ _ _ _ _
  58.         B _ B _ _ _ _ _ B _ _ _ _ _ _ B B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ B B B _ _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ B B _ _ _
  59.         B _ B _ _ _ _ _ B _ B _ _ B _ B B B _ B B _ B B _ B B _ B B _ _ _ _ _ B _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ B B _ B _ _ B B _ _ B B _ _ _ B B B B B B _ B B B B B B B _ _ _ B B _ _ _
  60.         _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B B B B B B B B B B B B B B _ _ _ B B B _ _ _ _ _ B B B B _ _ _ B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ B B B B _ _ B B _ _ _ _ B B _ _ B B _ _ B _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ B B B B _ B B _ B B
  61.         _ _ B _ B _ _ _ B _ _ _ _ _ _ B B B B B B B B B B B B B B B B _ _ B B B B B _ _ B B B _ _ B B B B B B B B B B B _ _ _ B B _ _ _ B B B _ _ B B B _ B B _ _ B B _ B _ _ B B _ _ B _ B B B B _ _ _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ B B B B _ _
  62.         _ _ B _ B _ _ _ B _ B B B B _ B B B _ _ _ _ B B B B B B B B B _ B B B B B B B _ B B B _ _ B B B B B B B B B B B _ _ B B B B _ _ B B _ _ _ _ B B _ B _ _ _ _ B _ B _ B B B B _ B B B _ _ B B _ _ _ _ B B B B _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B B B B _ _ B B B
  63.         _ _ B _ B _ _ _ B _ _ B B _ _ B B B B _ _ B B B B B B B B B B _ _ B B B B B _ _ B B B _ _ B B B _ B B B B B B _ _ _ B B B B _ _ B B _ _ _ _ B B _ B _ _ _ _ B _ B _ B B B B _ B B B _ _ B B _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ B B B B _ _
  64.         _ _ _ B B _ _ _ B _ _ _ _ _ _ B B B B B B B B B _ B B B B B _ _ _ _ B B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B _ _ B B B _ B B _ _ B B _ B _ _ B B _ _ B B B _ _ B B _ _ _ B B B B B B _ _ B B B _ _ _ _ _ B B _ _ B B B B B _ B B _ B B
  65.         _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B B B B B B B _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ B B B B _ _ B B _ _ _ _ B B B B _ _ B B _ _ _ _ _ B B _ _ _ B B B B _ _ _ _ B B B _ _ B B B _ _ _ B B _ _ _
  66.         _ _ _ _ B _ _ _ _ B B B B B B _ _ B B B B B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ B B B B _ _ _ _ _ _ B B _ _ _ B B B _ _ _ _ _ B B B _ _ B B _ _ _ _ B B _ _ _
  67.         _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _
  68.         _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  69.         _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  70.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  71.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  72.         B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  73.         B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B B B B B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  74.         B B B _ _ _ _ _ _ _ _ _ B B B _ _ _ B B B B _ _ _ B B _ _ B B _ B B _ B B _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  75.         B B B B _ _ _ _ _ _ _ B B B B _ _ B B B B B B _ _ B B _ _ B B _ B B _ B B _ B B _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B B B B B B B _
  76.         B B B B B _ _ _ _ _ B B B B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ B B _ B B _ B B _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ B _ _ _ _ _ B B B _ _ _ B B B B B B B _
  77.         B B B B B B B _ B B B B B B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B B B _ B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B B _ _ _ _ B B B B B _ _
  78.         B B B B B _ _ _ _ _ B B B B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B B B B _ B B B B B B B _ B B _ _ _ _ _ _ B B B B B B B _ _ B B B B B _ _ _ B B B B B _ _
  79.         B B B B _ _ _ _ _ _ _ B B B B _ _ B B B B B B _ _ B B _ _ B B _ _ _ _ B B _ B B _ B B _ B B _ _ B B B B B B B _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ B B B B B _ _ _ _ B B B _ _ _
  80.         B B B _ _ _ _ _ _ _ _ _ B B B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ B B B _ _ _ B B B B B B B _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ B B B B B B B _ _ _ B _ B _ _ _ B B B B B B B _ _ _ B B B _ _ _
  81.         B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ B B _ _ _ _ B B _ _ B B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ B _ _ _ _
  82.         B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ B B _ B B B B _ _ _ B B _ B B B B B B B _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  83.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  84.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  85.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  86.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  87.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  88.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  89.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  90.         _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  91.         _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B _ _ B _ _ _ B B _ B B _ _ B B _ _ _ _ B _ B B _ _ _ _ B _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _
  92.         _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ B B B B B B B _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _
  93.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B B B B _ _ _ _ _ _ B B _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _
  94.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ B B _ B B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B B B B B B B _ B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  95.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _
  96.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ B _ _ _ _ B B _ _ B B _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _
  97.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ _
  98.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B B B B _ _ B _ _ _ _ B B _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B _ _ _ _ _ _ _
  99.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  100.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  101.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  102.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  103.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  104.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  105.         _ _ B B B _ _ _ _ _ _ B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ _ B B _ _ B B B B B B B _ _ _ B B B _ _ _ B B B B B B B _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _
  106.         _ B B _ B B _ _ _ _ B B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B B _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _
  107.         B B _ _ _ B B _ _ B B B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ B B _
  108.         B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ B B _ B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _
  109.         B B _ B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B B B _ _ B B _ _ B B _ _ B B B B B B _ _ B B B B B B _ _ _ _ _ _ B B _ _ _ B B B B B _ _ _ B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _
  110.         B B _ B _ B B _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ B B B B B B B _ _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _
  111.         B B _ _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B B B B B _ _ _ _ _ B B _ _ _ _ _ B B _ _ _
  112.         B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  113.         _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _
  114.         _ _ B B B _ _ _ _ B B B B B B _ B B B B B B B _ _ B B B B B _ _ _ _ _ B B B B _ _ B B B B B _ _ _ B B B B B _ _ _ _ B B _ _ _ _ _ B B B B B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _
  115.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  116.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  117.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  118.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  119.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  120.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  121.         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B B B B B B _ _ _ _ B B B B _ _ B B B B B _ _ _ B B B B B B B _ B B B B B B B _ _ _ B B B B _ _ B B _ _ _ B B _ _ _ B B B B _ _ _ _ _ B B B B _ B B B _ _ B B _ B B B B _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B B B B _ _
  122.         _ B B B B B _ _ _ _ B B B _ _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ B B B _ B B B _ B B B _ _ B B _ B B _ _ _ B B _
  123.         B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ _ _ B _ _ B B _ _ B B _ _ B B _ _ _ B _ _ B B _ _ _ B _ B B _ _ _ _ B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ B B B B B B B _ B B B B _ B B _ B B _ _ _ B B _
  124.         B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ B _ _ _ _ B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ B B B B B B B _ B B B B B B B _ B B _ _ _ B B _
  125.         B B _ B B B B _ B B _ _ _ B B _ _ B B B B B _ _ B B _ _ _ _ _ _ _ B B _ _ B B _ _ B B B B _ _ _ _ B B B B _ _ _ B B _ _ _ _ _ _ B B B B B B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B B B _ _ _ _ B B _ _ _ _ _ B B _ B _ B B _ B B _ B B B B _ B B _ _ _ B B _
  126.         B B _ B B B B _ B B B B B B B _ _ B B _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ B _ _ _ _ B B _ B _ _ _ B B _ B B B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B B B _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ B B B _ B B _ _ _ B B _
  127.         B B _ B B B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _
  128.         B B _ B B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ _ B _ _ B B _ _ B B _ _ B B _ _ _ B _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _
  129.         B B _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _
  130.         _ B B B B B _ _ B B _ _ _ B B _ B B B B B B _ _ _ _ B B B B _ _ B B B B B _ _ _ B B B B B B B _ B B B B _ _ _ _ _ _ B B B _ B _ B B _ _ _ B B _ _ _ B B B B _ _ _ B B B B _ _ _ B B B _ _ B B _ B B B B B B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B B B B _ _
  131.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  132.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  133.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  134.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  135.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _
  136.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _
  137.         B B B B B B _ _ _ B B B B B _ _ B B B B B B _ _ _ B B B B B _ _ _ B B B B B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B B B B B B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _
  138.         _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B B B B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _
  139.         _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ B _ B B _ B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B _ _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  140.         _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B B B B _ _ _ B B _ _ B B _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ B B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  141.         _ B B B B B _ _ B B _ _ _ B B _ _ B B B B B _ _ _ _ B B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ B _ B B _ _ _ B B B _ _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ B B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  142.         _ B B _ _ _ _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ B _ B B _ _ _ B B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  143.         _ B B _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ B _ B B _ _ B B B B B _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  144.         _ B B _ _ _ _ _ B B _ B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ B B _ _ B B _ B B _ _ B B B B B B B _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ _ B _ _ _ B B _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  145.         _ B B _ _ _ _ _ B B _ B B B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ B B B _ _ _ B B B _ B B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  146.         B B B B _ _ _ _ _ B B B B B _ _ B B B _ _ B B _ _ B B B B B _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ _ B _ _ _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ _ B B B B _ _ B B B B B B B _ _ _ B B B B _ _ _ _ _ _ _ _ B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  147.         _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  148.         _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B
  149.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  150.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  151.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  152.         _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  153.         _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ B B B _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  154.         _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  155.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  156.         _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B B _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ B B _ _ _ _ _ B B B _ B B _ _ B B _ B B _ _ _ _ B B B _ _ _ _ _ _ _ B B B _ _ B B _ _ B B _ _ _ _ B B _ _ _ B B B _ B B _ _ B B _ B B B _ _ _ B B B B B _ _
  157.         _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B B B _ _ _ B B _ _ B B _ _ _ B B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B B B B B B _ _ B B _ _ B B _ B B _ _ _ B B _
  158.         _ _ _ _ _ _ _ _ _ B B B B B _ _ _ B B _ _ B B _ B B _ _ _ _ _ _ B B _ _ B B _ _ B B B B B B B _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B B B _ _ _ _ _ _ B B _ _ _ B B _ B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _
  159.         _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B B B _ _ _ _ _ _ B B _ _ _ B B _ B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _
  160.         _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _
  161.         _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ _ B B _ _ _ B B _ B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _
  162.         _ _ _ _ _ _ _ _ _ B B B _ B B _ _ B B B B B _ _ _ B B B B B _ _ _ B B B _ B B _ _ B B B B B _ _ _ B B B B _ _ _ _ B B B B B _ _ B B B _ _ B B _ _ _ B B B B _ _ _ _ _ _ _ B B _ B B B _ _ B B _ _ _ B B B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ B B B B B _ _
  163.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  164.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  165.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  166.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  167.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  168.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _
  169.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ B B _ _ _ _ B B B _ _ _ _ B B _ B B B _ _ _ _ _ _ _ _ _ _
  170.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  171.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _
  172.         B B _ B B B _ _ _ B B B _ B B _ B B _ B B B _ _ _ B B B B B _ _ B B B B B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _
  173.         _ B B _ _ B B _ B B _ _ B B _ _ _ B B B _ B B _ B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ _
  174.         _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ B _ B B _ _ _ B B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _
  175.         _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ B B B _ _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ B _ B B _ _ _ B B B _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _
  176.         _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ B _ B B _ _ _ B B B _ _ _ B B _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _
  177.         _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ B B _ _ B B _ _ _ B B _ B B _ _ B B B B B B B _ _ B B _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _
  178.         _ B B B B B _ _ _ B B B B B _ _ B B B B _ _ _ _ _ B B B B B _ _ _ _ _ B B B _ _ _ B B B _ B B _ _ _ B B B _ _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B B B B B _ B B B B B B B _ _ _ _ _ B B B _ _ _ _ B B _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  179.         _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  180.         _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  181.         B B B B _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  182.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  183.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _
  184.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ B B _ B B _ _
  185.         _ _ B B B B _ _ B B _ _ B B _ _ _ _ _ B B _ _ _ _ _ B B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ B B _ _ _ B B B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _
  186.         _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _
  187.         B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _
  188.         B B _ _ _ _ _ _ B B _ _ B B _ _ _ B B B B B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ B B _ B B _ _ _ B B _ B B _ _
  189.         B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _
  190.         B B _ _ _ _ _ _ B B _ _ B B _ _ B B B B B B B _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B _ _ _ _ _ _ B B B B B B B _ B B B B B B B _ B B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B B B B B B _
  191.         B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B B B B _ B B _ _ _ B B _
  192.         B B _ _ _ _ B _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _
  193.         _ B B _ _ B B _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _
  194.         _ _ B B B B _ _ _ B B B _ B B _ _ B B B B B _ _ _ B B B _ B B _ _ B B B _ B B _ _ B B B _ B B _ _ B B B _ B B _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ B B _ _ _ B B _ B B _ _ _ B B _
  195.         _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  196.         _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  197.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  198.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  199.         _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  200.         _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ B B B _
  201.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ B B B _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ B B _ _ _ _ _ B B _ B B
  202.         B B B B B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ B B _ _ _ B B _ _ B B B B B _ _ _ B B _ _ B _ _ _ B B _ _ B B _ B B _ _ B B _ _ _ _ _ B B _ _ _
  203.         _ B B _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ _ _ _ _ _ B B B B _ _ B B B B B _ _ _ _ _ _ B B _ _ _
  204.         _ B B _ _ _ B _ B B B _ B B _ _ B B _ _ B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ B _ _ _ _ _ B B _ _ _
  205.         _ B B _ B _ _ _ _ _ B B _ B B _ B B B B B B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B B B B B _ B B _ _ B B _ _ _ B B B B B B _
  206.         _ B B B B _ _ _ _ _ B B _ B B _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B B B _ _ _ _ B B _ _ _
  207.         _ B B _ B _ _ _ _ B B B B B B _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ _ _ _ _ B B B B B B _ B B _ _ B B _ _ _ _ _ B B _ _ _
  208.         _ B B _ _ _ B _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B B B B _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ _ _ B B _ _ _
  209.         _ B B _ _ B B _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B B _ _ B B _ _ _ _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _
  210.         B B B B B B B _ _ B B _ B B B _ B B _ _ B B B _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B _ B B _ _ B B B _ B B _ _ B B B B B B _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ B B _ _ _ B B B B B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ _ B B B _ _ _ _
  211.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  212.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  213.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  214.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  215.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  216.         _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  217.         _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  218.         _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B _ _ B B _ _ _ B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  219.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ B B _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  220.         _ B B B B _ _ _ _ _ B B B _ _ _ _ B B B B B _ _ B B _ _ B B _ _ B B _ B B B _ _ B B B B _ B B _ _ _ B B B B B _ _ _ B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ B B _ B B _ _ _
  221.         _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B B B B B B _ B B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B B _ B B _ _
  222.         _ B B B B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ B B B B _ _ B B B B B B _ _ B B B B B _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ B B _ B B _
  223.         B B _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ B B _ _ _ B B B B _ _ _ B B _ B B _ _ _ B B _ B B _ _
  224.         B B _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ B B B _ _ B B _ _ B B B _ _ _ B B B B _ _ _ _ B B _ B B _ B B _ B B _ _ _
  225.         B B _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B _ _ _ _ B B _ B _ _ B B _ B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  226.         _ B B B _ B B _ _ _ B B B B _ _ _ B B B B B _ _ _ B B B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  227.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  228.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  229.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  230.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  231.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  232.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  233.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  234.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  235.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  236.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ B B B B B _ _ _ B B B B _ B B _ _ _ B B _ B B _ B B B B B B B _ B B B B _ B B _ _ _ B B _ B B _ B B B B B _ _ _ _ _ _ _ _ _ _ _
  237.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  238.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B _ B B _ B B B B B B B _ B B B B B _ _ _ B B B B _ B B _ _ _ B B _ B B _ B B B B _ B B _ B B B B B B B _ B B B B B B B _ B B B B B _ _ _ B B B B B _ _ _
  239.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  240.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  241.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  242.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  243.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  244.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  245.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  246.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  247.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _
  248.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _
  249.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _
  250.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _
  251.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _
  252.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B B B B _ _ B B _ B B _ _ _ B B _ B B B _ _ B B B B B B B B B B _ B B B B B B B B B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B B B B B B B B B
  253.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  254.         _ _ _ B B B B B B B B B B B B B B B B B B B B B _ _ _ B B B B B B B B B B B B B B B B B B B B B _ _ _ B B B B B _ _ B B _ B B B _ _ B B B B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B B B B B B B B B
  255.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  256.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  257.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  258.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  259.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  260.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  261.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  262.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  263.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  264.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  265.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  266.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  267.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  268.         _ _ B B _ B B _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ B B B B B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  269.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  270.         B B B B B B B B B B B B B B B B B B B B B B B B _ _ B B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B B B B B B B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ B B B B B B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  271.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  272.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  273.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  274.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  275.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  276.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  277.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  278.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  279.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  280.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  281.         _ _ _ _ _ _ _ _ _ B B B B _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _
  282.         _ _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ B B B B B _ _
  283.         _ _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ B B _ _ _ B B B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ B B _ _ _ B B _
  284.         _ B B B _ B B _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B B B B B B _ _ _ B B _ _ _ _ _ B B B B B B _ _ B B _ _ B B _ B B _ B B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ B B B B B B _ _ B B B B B B _ _ B B _ _ _ _ _ B B _ _ _ B B _
  285.         B B _ B B B _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ B B B B B B B _ B B _ _ _ B B _ _ _ B B B B B _ B B _ B B _ B B B B _ B B _ B B _ B B B B B _ _ B B _ _ _ B B _
  286.         B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ B B _ B B B B _ B B _ B B _ B B _ _ _ _ _ B B _ _ _ B B _
  287.         B B _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ B B _ B B B B B B _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B _
  288.         B B _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ B B B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B B B B B _ _ B B B B B B _ _ B B _ _ _ _ _ B B _ _ _ B B _
  289.         B B _ B B B _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ B B _ _ B B _ _ _ B B _ B B _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ B B _
  290.         _ B B B _ B B _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ B B B B B B B _ _ B B B _ _ _ _ _ B B B B B _ _ _ _ _ B B _ _ _ _ B B B B B B _ _ _ B B B _ _ _ B B B _ B B B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ B B B _ _ B B _ _ _ B B _
  291.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  292.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  293.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  294.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  295.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  296.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ B B _ B B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _
  297.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _
  298.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _
  299.         B B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ B B B B B B _ B B B _ _ _ _ _
  300.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B B _ _ B _ _ B B B B B B _ _ _ _ _ _ _ _ _
  301.         _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ B B B B B B _ _ B B B B B B _ _ _ _ B _ _ _ _
  302.         B B B B B B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ B _ B _ _ _
  303.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ B _ B _ _ _
  304.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ B B _ _ _ B B _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ B _ _ _ _
  305.         B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ _ _ _ _ _
  306.         _ _ _ _ _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ B B B B B B _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _
  307.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _
  308.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _
  309.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _
  310.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  311. };
  312. static const uint8_t characters_table_16x16_8x16_light[] =
  313. {
  314.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  315.         B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  316.         B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  317.         B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ B B B B _ _ _ B B B B _ _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ B _ _ _ _
  318.         B _ B _ _ _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B _ B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ B B _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ B _ _ _ B _ B _ _ B _ _ B _
  319.         _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ B B B B B B B _ B _ _ B _ _ B _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ _ B B _ _ _ B B B _ B B B _ _ _ B B B B _ _ B B _ _ _ B B _ _ _ _ _ B _ B _ _ B _ _ _ _ B _ _ _ _ B B B B _ _ _ B B B B B _ _ B _ B _ B _ _
  320.         _ _ B _ B _ _ _ B _ B _ B _ B _ B B _ B _ B B _ B _ _ B _ _ B _ _ B _ _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ B B B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ B _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ _ B B B _ _ _
  321.         _ _ B _ B _ _ _ B _ _ _ _ _ B _ B B B B B B B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B _ B _ B _ _ B _ _ _ _ _ B _ _ _ B B B B _ _ B B _ _ _ B B _ _ B _ _ _ _ B _ B _ B B B _ B _ _ B B B B _ _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ B _ B B B _ B B B _
  322.         _ _ B _ B _ _ _ B _ B B B _ B _ B B B B B B B _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ B _ B B B _ B _ B _ B B B _ B _ _ _ _ B B _ _ _ B B B _ B B B _ _ B _ _ _ _ B _ B _ B B B _ B _ B _ _ _ _ B _ _ _ _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ _ B B B _ _ _
  323.         _ _ _ B B _ _ _ B _ _ B _ _ B _ B B _ _ _ B B _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ B _ B _ B _ _ _ B _ B _ B _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ B B _ _ B B _ B _ _ B _ _ B _ B _ _ _ _ B _ _ _ B B B B B B _ _ B B B _ _ _ _ _ _ B _ B B B _ _ B _ B _ B _ _
  324.         _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ B B B _ B B B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ B B B B _ _ B B _ _ _ B B _ B _ _ _ _ B _ _ _ _ _ B B _ _ _ B B B B _ _ _ _ B B B _ B B B _ B _ _ B _ _ B _
  325.         _ _ _ _ B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ B B B B _ _ _ _ _ _ B B _ _ _ B B B _ _ _ _ _ B B B _ B B _ _ _ _ _ B _ _ _ _
  326.         _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _
  327.         _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  328.         _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  329.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  330.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  331.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B
  332.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B
  333.         _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ B B B B B B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _
  334.         _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _
  335.         _ B B B _ _ _ _ _ _ _ _ B B B _ _ B _ B _ B _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ B _ B _ B _ _ _ B _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _
  336.         _ B B B B _ _ _ _ _ _ B B B B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B B _ _
  337.         _ B B B B B _ _ _ _ B B B B B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ B B B _ _ B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ B _ _ _ _ _ _ B B B B B B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _
  338.         _ B B B B _ _ _ _ _ _ B B B B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _
  339.         _ B B B _ _ _ _ _ _ _ _ B B B _ _ B _ B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B B B B _ _ _ B B B B B B B _ _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ B _ B _ B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ B B B B B B _ _ _ B _ _ B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _
  340.         _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ B B B B B B B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _
  341.         _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ B _ B _ _ _ _ B _ _ B B B B B B B _ _ B B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ _ _ _ _ _
  342.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ _ _ _ _ _
  343.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _
  344.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _
  345.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  346.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  347.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  348.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  349.         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B B _ _ _ B B _ _ B _ _ _ B _ _ _ _ B B B B _ _ B B B _ _ _ B _ _ _ B B B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _
  350.         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B B _ _ _ B B _ _ B _ _ _ B _ _ _ B _ _ B _ B _ B _ B _ _ B _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _
  351.         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ B B B B B B B _ _ B _ _ B _ _ _ B B B _ B _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _
  352.         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ B B B B B B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _
  353.         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ B _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B B B _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _
  354.         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _
  355.         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ B _ B _ _ B _ _ _ B _ B B B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _
  356.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ B _ B _ _ B _ _ B _ _ B _ B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _
  357.         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ B B B B _ _ B _ _ _ B B B _ _ B B B B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _
  358.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  359.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  360.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  361.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  362.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  363.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  364.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  365.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B B B B B _ _
  366.         _ _ B B B B _ _ _ _ _ _ B _ _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ _ _ _ B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B B B B B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ B _
  367.         _ B _ _ _ _ B _ _ _ _ B B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _
  368.         _ B _ _ _ _ B _ _ _ B _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ B B B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B B _ _
  369.         _ B _ B B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ B B B B _ _ _ _ B _ _ _ B _ _ _ B B B B _ _ _ B B B B B _ _ _ _ _ _ B _ _ _ _ _ B B B B _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _
  370.         _ B _ B B _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ B _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _
  371.         _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ B B B B B B B _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B B B B B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _
  372.         _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _
  373.         _ _ B B B B _ _ _ _ B B B B B _ _ B B B B B B _ _ B B B B B _ _ _ _ _ _ _ _ B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _
  374.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  375.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  376.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  377.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  378.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  379.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  380.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  381.         _ B B B B B _ _ _ _ _ B B _ _ _ _ B B B B B _ _ _ _ B B B B _ _ _ B B B B _ _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B _ _ _ _ B _ _ _ _ B B B _ _ _ _ B B B B B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B B B B _ _
  382.         B _ _ _ _ _ B _ _ _ B _ _ B _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ B _ _ B _ _ _ _ B _
  383.         B _ B B B _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ B B _ B _ _ B _ B _ _ B _ _ B _ _ _ _ B _
  384.         B _ B _ B _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ _ B _ _ _ _ _ _ B _ B B _ B _ _ B _ _ B _ B _ _ B _ _ _ _ B _
  385.         B _ B _ B _ B _ _ B _ _ _ _ B _ _ B B B B B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B B B B B _ _ _ B B B B B _ _ B _ _ B B B _ _ B B B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ B B _ _ B _ _ _ _ B _
  386.         B _ B _ B _ B _ _ B B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _
  387.         B _ _ B B B _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _
  388.         B _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _
  389.         _ B B B B B _ _ _ B _ _ _ _ B _ _ B B B B B _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ B B B B B _ _ _ B _ _ _ _ _ _ _ B B B B B _ _ B _ _ _ _ B _ _ _ _ B B B _ _ _ _ B B _ _ _ _ _ B _ _ _ _ B _ _ _ B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B B B B _ _
  390.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  391.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  392.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  393.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  394.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  395.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  396.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _
  397.         _ B B B B B _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ B B B B _ _ _ B B B B B B B _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B B B B B B _ _ _ B B B B _ _ _ B _ _ _ _ _ _ _ _ B B B B _ _ _ _ B _ B _ _ _ _ _ _ _ _ _ _ _
  398.         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _
  399.         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  400.         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ B _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  401.         _ B B B B B _ _ _ B _ _ _ _ B _ _ B B B B B _ _ _ _ _ B B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ B B _ B _ _ _ _ _ B _ _ _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  402.         _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ B B _ B _ _ _ _ B _ B _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  403.         _ B _ _ _ _ _ _ _ B _ _ B _ B _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ B B _ B _ _ _ B _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  404.         _ B _ _ _ _ _ _ _ B _ _ B _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ B _ _ B _ _ _ B B _ _ B B _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  405.         _ B _ _ _ _ _ _ _ _ B B B B _ _ _ B _ _ _ _ B _ _ _ B B B B _ _ _ _ _ _ B _ _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B B B B B B _ _ _ B B B B _ _ _ _ _ _ _ B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  406.         _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  407.         _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  408.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  409.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B
  410.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  411.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  412.         _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  413.         _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  414.         _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  415.         _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ B _ B B B _ _ _ _ B B B B _ _ _ _ B B B _ B _ _ _ B B B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ B _ B B B _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B B B _ B B _ _ _ B B B B B _ _ _ _ B B B B _ _
  416.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B B _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ B B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B B _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _
  417.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B B B B _ _ _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _
  418.         _ _ _ _ _ _ _ _ _ _ B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B B B B B B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _
  419.         _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ B B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _
  420.         _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _
  421.         _ _ _ _ _ _ _ _ _ _ B B B B B _ _ B B B B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B B B B B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ B B B B B _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ _ B B B B _ _
  422.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  423.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  424.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  425.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  426.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  427.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  428.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  429.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  430.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  431.         _ B _ B B B _ _ _ _ B B B B B _ _ _ B _ B B _ _ _ _ B B B B B _ _ B B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B B B B B B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _
  432.         _ B B _ _ _ B _ _ B _ _ _ _ B _ _ _ B B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ B B _ _ _ B _ _ _ B _ B _ _ _
  433.         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ _ B _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B _ _ B _ _ B _ _ _ B _ _
  434.         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ _ _ B B _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ B B _ _ B _ _ _ _ _ B _
  435.         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ _ B _ _ B _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _
  436.         _ B _ _ _ _ B _ _ B _ _ _ B B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ _ B B B B B _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _
  437.         _ B B B B B _ _ _ _ B B B _ B _ _ _ B _ _ _ _ _ _ B B B B B _ _ _ _ _ _ B B B _ _ _ B B B B B _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ B B B B B B _ _ _ _ _ B B _ _ _ _ _ B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  438.         _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  439.         _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  440.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  441.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  442.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  443.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ B B B _ _ _
  444.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _
  445.         _ _ B B B B _ _ _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ B _ B _ _ _ _ _ _ B _ _ _ _ _ _ B B B B _ _ _ _ B B B _ _ _
  446.         _ B _ _ _ _ B _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _
  447.         _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ B B B B B _ _
  448.         _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ B _
  449.         _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B B B B B B _ B _ _ _ _ _ B _
  450.         _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B _ _ _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ B B B B B B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ B B B B B B B _
  451.         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ B _
  452.         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ B _
  453.         _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ B _
  454.         _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  455.         _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  456.         _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  457.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  458.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  459.         _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  460.         _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B _ _ _ B _ _ _ _ _ B _ B B B B B _ _ _ _ _ _ _ _ _ _ _
  461.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ B _ _ _ B B B B B _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _
  462.         _ B B B B B _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B B B B B _ _ _ B _ _ _ B _ _ _ _ B _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _
  463.         _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _
  464.         _ B _ _ _ _ _ _ _ B B _ B B _ _ B _ _ _ B _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ B _ _ _ _ B B B B B _ _ _ _ _ _ B _ _ _ _
  465.         _ B B B B _ _ _ _ _ _ B _ _ B _ B B B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B B B B B _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _
  466.         _ B _ _ _ _ _ _ _ B B B B B _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B B B _ _ _ _ B _ _ _ _
  467.         _ B _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B B B B B _ _ _ B B _ _ _ _ _ _ B B B B B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _
  468.         _ B _ _ _ _ _ _ B _ _ B _ _ B _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B B _ B _ B B _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _
  469.         _ B B B B B _ _ _ B B B B B _ _ B _ _ _ B B B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ B _ _ _ _ B B _ _ B B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _
  470.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _
  471.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  472.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  473.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  474.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  475.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  476.         _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  477.         _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B B _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B _ _ B B _ _ B _ _ _ _
  478.         _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ B B _ _ B _ _ _ _ _ B _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B B _ _ _ _ _ _ B _ _ B _ _ B _ _ B _ _ _
  479.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _
  480.         _ _ B B B B _ _ _ _ B B _ _ _ _ _ _ B B B B _ _ _ B _ _ _ _ B _ _ B B B B B _ _ B _ B _ _ _ B _ _ _ B B B B B _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B B _ _ _ _ B _ _ B _ _ _ _ _ _ B _ _ B _
  481.         _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B B _ _ _ B _ _ B _ _ _ _ _ _ _ _ B _ _ B
  482.         _ _ B B B B B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ B _ B _ _ B B B B B B _ _ B B B B B B _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ B B _ _ _ _ B _ _ B _ _ _ _ _ _ B _ _ B _
  483.         _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B B _ _ _ B _ _ _ B B _ _ _ _ B B _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _
  484.         _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B _ B _ _ _ B _ B _ _ _ _ B B _ _ _ _ _ _ B _ _ B _ _ B _ _ B _ _ _
  485.         _ _ B B B B B _ _ _ _ B _ _ _ _ _ _ B B B B _ _ _ _ B B B B B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B B B B _ _ _ _ B B _ _ _ _ _ _ _ B _ _ B B _ _ B _ _ _ _
  486.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  487.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  488.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  489.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  490.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  491.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  492.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  493.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  494.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  495.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  496.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ B B B B B _ _ _ B B B B _ B B _ _ _ B B _ B B _ B B B B B B B _ B B B B _ B B _ _ _ B B _ B B _ B B B B B _ _ _ _ _ _ _ _ _ _ _
  497.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _
  498.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B _ B B _ B B B B B B B _ B B B B B _ _ _ B B B B _ B B _ _ _ B B _ B B _ B B B B _ B B _ B B B B B B B _ B B B B B B B _ B B B B B _ _ _ B B B B B _ _ _
  499.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  500.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  501.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  502.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  503.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  504.         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  505.         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _
  506.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _
  507.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _
  508.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _
  509.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _
  510.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _
  511.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _
  512.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B B B B _ _ B B _ B B _ _ _ B B _ B B B _ _ B B B B B B B B B B _ B B B B B B B B B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B B B B B B B B B
  513.         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  514.         _ _ _ B B B B B B B B B B B B B B B B B B B B B _ _ _ B B B B B B B B B B B B B B B B B B B B B _ _ _ B B B B B _ _ B B _ B B B _ _ B B B B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B B B B B B B B B
  515.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  516.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  517.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  518.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  519.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  520.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  521.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _
  522.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  523.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  524.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  525.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  526.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  527.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  528.         _ _ B B _ B B _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ B B B B B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  529.         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B
  530.         B B B B B B B B B B B B B B B B B B B B B B B B _ _ B B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B B B B B B B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ B B B B B B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  531.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  532.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  533.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  534.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  535.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  536.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  537.         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _
  538.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  539.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  540.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  541.         _ _ _ _ _ _ _ _ _ _ _ B B B _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  542.         _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  543.         _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ B _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _
  544.         _ B B B _ B B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B B B B B B _ _ _ B _ _ _ _ _ _ _ B B B B B _ _ B _ _ _ _ B _ _ B B B B B B _ B _ _ B _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ B _ _ _ B _ B _ _ _ B B B B B _ B _ _ _ _ _ B _
  545.         B _ _ _ B _ _ _ _ B B B B B _ _ _ B _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ B _ B B B B B B B _ B _ _ _ _ _ B _ _ _ _ B B _ _ _ B _ B _ B _ B _ B _ _ B _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ _ B _
  546.         B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ B _ B _ B _ _ _ B _ _ B B B B B _ _ B _ _ _ _ _ B _
  547.         B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ B _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ B _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ B _ B _ B _ B _ _ B _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ B _
  548.         _ B B B _ B B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B B _ _ B _ _ B _ _ _ _ _ B _ _ _ B B B _ _ _ _ B B B B B _ _ _ _ _ B _ _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ B B _ _ _ B B _ _ B _ _ _ _ B _ _ B _ _ _ B _ _ B _ B B B _ _ _ _ _ B B B B B _ B _ _ _ _ _ B _
  549.         _ _ _ _ _ _ _ _ _ B B B B B _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _
  550.         _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  551.         _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  552.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  553.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  554.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  555.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _
  556.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _
  557.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B _ _ _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _
  558.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B _ _ B _ _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _
  559.         B B B B B B B _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  560.         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _
  561.         B B B B B B B _ _ B B B B B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B B B B _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ B _ _ _ _ B B B B _ _ _ _ _ B B B B _ _ _ _ B _ B _ _ _
  562.         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B _ B _ _ _
  563.         B B B B B B B _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _
  564.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  565.         _ _ _ _ _ _ _ _ _ B B B B B _ _ _ B B B B B B _ _ B B B B B B _ _ _ _ B B _ _ _ B _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _
  566.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _
  567.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _
  568.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _
  569.         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  570. };
  571. #undef B
  572. #undef _
  573.  
  574.  
  575. // text styles
  576. #define TEXTSTYLE_NONE          0
  577. #define TEXTSTYLE_BOLD          (1 << 0)
  578. #define TEXTSTYLE_DIM           (1 << 1)
  579. #define TEXTSTYLE_ITALIC        (1 << 2)
  580. #define TEXTSTYLE_UNDERLINE1    (1 << 3)
  581. #define TEXTSTYLE_UNDERLINE2    (1 << 4)
  582. #define TEXTSTYLE_STRIKETHROUGH (1 << 5)
  583.  
  584.  
  585. // handy macros
  586. #define ROUND_TO_MULTIPLE_OF_32(num) (((num) + 31) & -32) // this macro is valid for all multiples that are powers of 2
  587. #define GET_NEXT_CHARACTER() (repeat_count > 0 ? (repeat_count--, current_char) : (accumulated_character_count > 0 ? accumulated_characters[(--accumulated_character_count, accumulated_character_index++)] : ((int) (accumulated_character_index = 0), getchar ())))
  588.  
  589.  
  590. #if (SIZE_MAX != UINTPTR_MAX) // compile-time assertion
  591. #error size_t is not aligned with natural integer size on this platform!
  592. #endif
  593.  
  594.  
  595. int main (int argc, char **argv)
  596. {
  597.         // program entrypoint
  598.  
  599.         typedef struct rbgtriple_s
  600.         {
  601.                 int r;
  602.                 int g;
  603.                 int b;
  604.         } rbgtriple_t;
  605.  
  606.         static const rbgtriple_t ansi_colors_normal[10] =
  607.         {
  608.                 {   0,   0,   0 }, // 0: black
  609.                 { 153,   0,   0 }, // 1: red
  610.                 {   0, 166,   0 }, // 2: green
  611.                 { 153, 153,   0 }, // 3: yellow
  612.                 {   0,   0, 178 }, // 4: blue
  613.                 { 178,   0, 178 }, // 5: magenta
  614.                 {   0, 166, 178 }, // 6: cyan
  615.                 { 191, 191, 191 }, // 7: white
  616.         };
  617.         static const rbgtriple_t ansi_colors_bright[10] =
  618.         {
  619.                 { 102, 102, 102 }, // 0: black
  620.                 { 230,   0,   0 }, // 1: red
  621.                 {   0, 217,   0 }, // 2: green
  622.                 { 230, 230,   0 }, // 3: yellow
  623.                 {   0,   0, 255 }, // 4: blue
  624.                 { 230,   0, 230 }, // 5: magenta
  625.                 {   0, 230, 230 }, // 6: cyan
  626.                 { 230, 230, 230 }, // 7: white
  627.         };
  628.         static const rbgtriple_t ansi_256_colors[256] = // regular 8-bit ANSI colors table
  629.         {
  630.                 // standard colors
  631.                 { 0x00, 0x00, 0x00 }, { 0x80, 0x00, 0x00 }, { 0x00, 0x80, 0x00 }, { 0x80, 0x80, 0x00 }, { 0x00, 0x00, 0x80 }, { 0x80, 0x00, 0x80 }, { 0x00, 0x80, 0x80 }, { 0xc0, 0xc0, 0xc0 }, // 0-7
  632.                 // high intensity colors
  633.                 { 0x80, 0x80, 0x80 }, { 0xff, 0x00, 0x00 }, { 0x00, 0xff, 0x00 }, { 0xff, 0xff, 0x00 }, { 0x00, 0x00, 0xff }, { 0xff, 0x00, 0xff }, { 0x00, 0xff, 0xff }, { 0xff, 0xff, 0xff }, // 8-15
  634.                 // color cubes
  635.                 { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x5f }, { 0x00, 0x00, 0x87 }, { 0x00, 0x00, 0xaf }, { 0x00, 0x00, 0xd7 }, { 0x00, 0x00, 0xff }, // 16-21
  636.                 { 0x00, 0x5f, 0x00 }, { 0x00, 0x5f, 0x5f }, { 0x00, 0x5f, 0x87 }, { 0x00, 0x5f, 0xaf }, { 0x00, 0x5f, 0xd7 }, { 0x00, 0x5f, 0xff }, // 22-27
  637.                 { 0x00, 0x87, 0x00 }, { 0x00, 0x87, 0x5f }, { 0x00, 0x87, 0x87 }, { 0x00, 0x87, 0xaf }, { 0x00, 0x87, 0xd7 }, { 0x00, 0x87, 0xff }, // 28-33
  638.                 { 0x00, 0xaf, 0x00 }, { 0x00, 0xaf, 0x5f }, { 0x00, 0xaf, 0x87 }, { 0x00, 0xaf, 0xaf }, { 0x00, 0xaf, 0xd7 }, { 0x00, 0xaf, 0xff }, // 34-39
  639.                 { 0x00, 0xd7, 0x00 }, { 0x00, 0xd7, 0x5f }, { 0x00, 0xd7, 0x87 }, { 0x00, 0xd7, 0xaf }, { 0x00, 0xd7, 0xd7 }, { 0x00, 0xd7, 0xff }, // 40-45
  640.                 { 0x00, 0xff, 0x00 }, { 0x00, 0xff, 0x5f }, { 0x00, 0xff, 0x87 }, { 0x00, 0xff, 0xaf }, { 0x00, 0xff, 0xd7 }, { 0x00, 0xff, 0xff }, // 46-51
  641.                 { 0x5f, 0x00, 0x00 }, { 0x5f, 0x00, 0x5f }, { 0x5f, 0x00, 0x87 }, { 0x5f, 0x00, 0xaf }, { 0x5f, 0x00, 0xd7 }, { 0x5f, 0x00, 0xff }, // 52-57
  642.                 { 0x5f, 0x5f, 0x00 }, { 0x5f, 0x5f, 0x5f }, { 0x5f, 0x5f, 0x87 }, { 0x5f, 0x5f, 0xaf }, { 0x5f, 0x5f, 0xd7 }, { 0x5f, 0x5f, 0xff }, // 58-63
  643.                 { 0x5f, 0x87, 0x00 }, { 0x5f, 0x87, 0x5f }, { 0x5f, 0x87, 0x87 }, { 0x5f, 0x87, 0xaf }, { 0x5f, 0x87, 0xd7 }, { 0x5f, 0x87, 0xff }, // 64-69
  644.                 { 0x5f, 0xaf, 0x00 }, { 0x5f, 0xaf, 0x5f }, { 0x5f, 0xaf, 0x87 }, { 0x5f, 0xaf, 0xaf }, { 0x5f, 0xaf, 0xd7 }, { 0x5f, 0xaf, 0xff }, // 70-75
  645.                 { 0x5f, 0xd7, 0x00 }, { 0x5f, 0xd7, 0x5f }, { 0x5f, 0xd7, 0x87 }, { 0x5f, 0xd7, 0xaf }, { 0x5f, 0xd7, 0xd7 }, { 0x5f, 0xd7, 0xff }, // 76-81
  646.                 { 0x5f, 0xff, 0x00 }, { 0x5f, 0xff, 0x5f }, { 0x5f, 0xff, 0x87 }, { 0x5f, 0xff, 0xaf }, { 0x5f, 0xff, 0xd7 }, { 0x5f, 0xff, 0xff }, // 82-87
  647.                 { 0x87, 0x00, 0x00 }, { 0x87, 0x00, 0x5f }, { 0x87, 0x00, 0x87 }, { 0x87, 0x00, 0xaf }, { 0x87, 0x00, 0xd7 }, { 0x87, 0x00, 0xff }, // 88-93
  648.                 { 0x87, 0x5f, 0x00 }, { 0x87, 0x5f, 0x5f }, { 0x87, 0x5f, 0x87 }, { 0x87, 0x5f, 0xaf }, { 0x87, 0x5f, 0xd7 }, { 0x87, 0x5f, 0xff }, // 94-99
  649.                 { 0x87, 0x87, 0x00 }, { 0x87, 0x87, 0x5f }, { 0x87, 0x87, 0x87 }, { 0x87, 0x87, 0xaf }, { 0x87, 0x87, 0xd7 }, { 0x87, 0x87, 0xff }, // 100-105
  650.                 { 0x87, 0xaf, 0x00 }, { 0x87, 0xaf, 0x5f }, { 0x87, 0xaf, 0x87 }, { 0x87, 0xaf, 0xaf }, { 0x87, 0xaf, 0xd7 }, { 0x87, 0xaf, 0xff }, // 106-111
  651.                 { 0x87, 0xd7, 0x00 }, { 0x87, 0xd7, 0x5f }, { 0x87, 0xd7, 0x87 }, { 0x87, 0xd7, 0xaf }, { 0x87, 0xd7, 0xd7 }, { 0x87, 0xd7, 0xff }, // 112-117
  652.                 { 0x87, 0xff, 0x00 }, { 0x87, 0xff, 0x5f }, { 0x87, 0xff, 0x87 }, { 0x87, 0xff, 0xaf }, { 0x87, 0xff, 0xd7 }, { 0x87, 0xff, 0xff }, // 118-123
  653.                 { 0xaf, 0x00, 0x00 }, { 0xaf, 0x00, 0x5f }, { 0xaf, 0x00, 0x87 }, { 0xaf, 0x00, 0xaf }, { 0xaf, 0x00, 0xd7 }, { 0xaf, 0x00, 0xff }, // 124-129
  654.                 { 0xaf, 0x5f, 0x00 }, { 0xaf, 0x5f, 0x5f }, { 0xaf, 0x5f, 0x87 }, { 0xaf, 0x5f, 0xaf }, { 0xaf, 0x5f, 0xd7 }, { 0xaf, 0x5f, 0xff }, // 130-135
  655.                 { 0xaf, 0x87, 0x00 }, { 0xaf, 0x87, 0x5f }, { 0xaf, 0x87, 0x87 }, { 0xaf, 0x87, 0xaf }, { 0xaf, 0x87, 0xd7 }, { 0xaf, 0x87, 0xff }, // 136-141
  656.                 { 0xaf, 0xaf, 0x00 }, { 0xaf, 0xaf, 0x5f }, { 0xaf, 0xaf, 0x87 }, { 0xaf, 0xaf, 0xaf }, { 0xaf, 0xaf, 0xd7 }, { 0xaf, 0xaf, 0xff }, // 142-147
  657.                 { 0xaf, 0xd7, 0x00 }, { 0xaf, 0xd7, 0x5f }, { 0xaf, 0xd7, 0x87 }, { 0xaf, 0xd7, 0xaf }, { 0xaf, 0xd7, 0xd7 }, { 0xaf, 0xd7, 0xff }, // 148-153
  658.                 { 0xaf, 0xff, 0x00 }, { 0xaf, 0xff, 0x5f }, { 0xaf, 0xff, 0x87 }, { 0xaf, 0xff, 0xaf }, { 0xaf, 0xff, 0xd7 }, { 0xaf, 0xff, 0xff }, // 154-159
  659.                 { 0xd7, 0x00, 0x00 }, { 0xd7, 0x00, 0x5f }, { 0xd7, 0x00, 0x87 }, { 0xd7, 0x00, 0xaf }, { 0xd7, 0x00, 0xd7 }, { 0xd7, 0x00, 0xff }, // 160-165
  660.                 { 0xd7, 0x5f, 0x00 }, { 0xd7, 0x5f, 0x5f }, { 0xd7, 0x5f, 0x87 }, { 0xd7, 0x5f, 0xaf }, { 0xd7, 0x5f, 0xd7 }, { 0xd7, 0x5f, 0xff }, // 166-171
  661.                 { 0xd7, 0x87, 0x00 }, { 0xd7, 0x87, 0x5f }, { 0xd7, 0x87, 0x87 }, { 0xd7, 0x87, 0xaf }, { 0xd7, 0x87, 0xd7 }, { 0xd7, 0x87, 0xff }, // 172-177
  662.                 { 0xd7, 0xaf, 0x00 }, { 0xd7, 0xaf, 0x5f }, { 0xd7, 0xaf, 0x87 }, { 0xd7, 0xaf, 0xaf }, { 0xd7, 0xaf, 0xd7 }, { 0xd7, 0xaf, 0xff }, // 178-183
  663.                 { 0xd7, 0xd7, 0x00 }, { 0xd7, 0xd7, 0x5f }, { 0xd7, 0xd7, 0x87 }, { 0xd7, 0xd7, 0xaf }, { 0xd7, 0xd7, 0xd7 }, { 0xd7, 0xd7, 0xff }, // 184-189
  664.                 { 0xd7, 0xff, 0x00 }, { 0xd7, 0xff, 0x5f }, { 0xd7, 0xff, 0x87 }, { 0xd7, 0xff, 0xaf }, { 0xd7, 0xff, 0xd7 }, { 0xd7, 0xff, 0xff }, // 190-195
  665.                 { 0xff, 0x00, 0x00 }, { 0xff, 0x00, 0x5f }, { 0xff, 0x00, 0x87 }, { 0xff, 0x00, 0xaf }, { 0xff, 0x00, 0xd7 }, { 0xff, 0x00, 0xff }, // 196-201
  666.                 { 0xff, 0x5f, 0x00 }, { 0xff, 0x5f, 0x5f }, { 0xff, 0x5f, 0x87 }, { 0xff, 0x5f, 0xaf }, { 0xff, 0x5f, 0xd7 }, { 0xff, 0x5f, 0xff }, // 202-207
  667.                 { 0xff, 0x87, 0x00 }, { 0xff, 0x87, 0x5f }, { 0xff, 0x87, 0x87 }, { 0xff, 0x87, 0xaf }, { 0xff, 0x87, 0xd7 }, { 0xff, 0x87, 0xff }, // 208-213
  668.                 { 0xff, 0xaf, 0x00 }, { 0xff, 0xaf, 0x5f }, { 0xff, 0xaf, 0x87 }, { 0xff, 0xaf, 0xaf }, { 0xff, 0xaf, 0xd7 }, { 0xff, 0xaf, 0xff }, // 214-219
  669.                 { 0xff, 0xd7, 0x00 }, { 0xff, 0xd7, 0x5f }, { 0xff, 0xd7, 0x87 }, { 0xff, 0xd7, 0xaf }, { 0xff, 0xd7, 0xd7 }, { 0xff, 0xd7, 0xff }, // 220-225
  670.                 { 0xff, 0xff, 0x00 }, { 0xff, 0xff, 0x5f }, { 0xff, 0xff, 0x87 }, { 0xff, 0xff, 0xaf }, { 0xff, 0xff, 0xd7 }, { 0xff, 0xff, 0xff }, // 226-231
  671.                 // grayscale
  672.                 { 0x08, 0x08, 0x08 }, { 0x12, 0x12, 0x12 }, { 0x1c, 0x1c, 0x1c }, { 0x26, 0x26, 0x26 }, { 0x30, 0x30, 0x30 }, { 0x3a, 0x3a, 0x3a }, // 232-
  673.                 { 0x44, 0x44, 0x44 }, { 0x4e, 0x4e, 0x4e }, { 0x58, 0x58, 0x58 }, { 0x60, 0x60, 0x60 }, { 0x66, 0x66, 0x66 }, { 0x76, 0x76, 0x76 }, //
  674.                 { 0x80, 0x80, 0x80 }, { 0x8a, 0x8a, 0x8a }, { 0x94, 0x94, 0x94 }, { 0x9e, 0x9e, 0x9e }, { 0xa8, 0xa8, 0xa8 }, { 0xb2, 0xb2, 0xb2 }, //
  675.                 { 0xbc, 0xbc, 0xbc }, { 0xc6, 0xc6, 0xc6 }, { 0xd0, 0xd0, 0xd0 }, { 0xda, 0xda, 0xda }, { 0xe4, 0xe4, 0xe4 }, { 0xee, 0xee, 0xee }  // -255
  676.         };
  677.         const rbgtriple_t default_foreground_color = { 127, 127, 127 }; // gray
  678.         const rbgtriple_t default_background_color = {   0,   0,   0 }; // black
  679.         const rbgtriple_t transparent_color        = {  -1,  -1,  -1 }; // transparent
  680.         rbgtriple_t custom_foreground_color        = { 127, 127, 127 }; // gray
  681.         rbgtriple_t custom_background_color        = {   0,   0,   0 }; // black
  682.         const rbgtriple_t *fg_color = &default_foreground_color; // gray
  683.         const rbgtriple_t *bg_color = &default_background_color; // black
  684.         struct framebuffer_s
  685.         {
  686.                 size_t base_address; // user-supplied
  687.                 size_t size_in_bytes; // user-supplied
  688.                 size_t width_in_pixels; // user-supplied
  689.                 size_t height_in_pixels; // user-supplied
  690.                 char pixel_format[5]; // user-supplied
  691.  
  692.                 uint8_t *virtual_address; // calculated (result of mmap)
  693.                 rbgtriple_t pixel_indices; // red, green and blue pixel indices in a pixel DWORD (0, 1, 2 or 3) -- calculated out of a user-supplied format string
  694.                 size_t pixel_size_in_bytes; // calculated
  695.                 size_t stride_in_pixels; // calculated
  696.                 size_t stride_in_bytes; // calculated
  697.  
  698.                 size_t max_character_lines; // calculated
  699.                 size_t max_character_columns; // calculated
  700.                 int cursor_line; // calculated
  701.                 int cursor_column; // calculated
  702.                 const uint8_t *characters_table_16x16_8x16; // calculated
  703.                 int text_style; // calculated
  704.         } fb = { 0 };
  705.  
  706.         static char accumulated_characters[4096];
  707.         size_t accumulated_character_index = 0;
  708.         size_t accumulated_character_count = 0;
  709.         size_t accumulated_character_startidx;
  710.         size_t column_offset_in_framebuffer;
  711.         size_t line_offset_in_framebuffer;
  712.         size_t char_row_in_chartable;
  713.         size_t char_col_in_chartable;
  714.         size_t offset_in_framebuffer;
  715.         size_t offset_in_chartable;
  716.         size_t char_index;
  717.         size_t char_curx;
  718.         size_t char_cury;
  719.         int current_char;
  720.         int next_char;
  721.         int escseq_integers[5];
  722.         int final_taint;
  723.         int character;
  724.         int want_debuginfo;
  725.         int is_pixel_lit;
  726.         int is_backspace = 0;
  727.         int repeat_count = 0;
  728.         int code_count;
  729.         int code_index;
  730.         int row_index;
  731.         png_struct *png;
  732.         png_info *png_info_struct;
  733.         char image_color_type;
  734.         char image_bit_depth;
  735.         char *confstr_word;
  736.         int image_height;
  737.         int image_width;
  738.         int pixel_index;
  739.         int is_eos;
  740.         uint8_t *image_row;
  741.         FILE *fp;
  742.  
  743.         // tell if we want debug info by looking for the presence of a FRAMEBUFFER_DEBUG environment variable
  744.         want_debuginfo = (getenv ("FRAMEBUFFER_DEBUG") != NULL);
  745.  
  746.         // check that we have all that we need
  747.         if (argc == 6)
  748.         {
  749.                 // collect linear framebuffer parameters from command-line arguments if available
  750.                 fb.base_address     = strtoul (argv[1], NULL, 0);
  751.                 fb.size_in_bytes    = strtoul (argv[2], NULL, 0);
  752.                 fb.width_in_pixels  = strtoul (argv[3], NULL, 0);
  753.                 fb.height_in_pixels = strtoul (argv[4], NULL, 0);
  754.                 strcpy (fb.pixel_format, argv[5]);
  755.         }
  756. #ifdef _CS_GRAPHICS
  757.         else if (confstr (_CS_GRAPHICS, accumulated_characters, sizeof (accumulated_characters)) > 0)
  758.         {
  759.                 // else (if not supplied from the command line) read them from the _CS_GRAPHICS confstr if available
  760.                 confstr_word = accumulated_characters; // parse _CS_GRAPHICS configuration string value and stop at each word separator
  761.                 for (char_index = 0; char_index < sizeof (accumulated_characters); char_index++)
  762.                         if ((strchr (" \t_", accumulated_characters[char_index]) != NULL) || (accumulated_characters[char_index] == 0))
  763.                         {
  764.                                 is_eos = (accumulated_characters[char_index] == 0); // see if we're at end of string
  765.                                 accumulated_characters[char_index] = 0; // split the conf string at each word separation
  766.                                 if      (fb.base_address     == 0) fb.base_address     = strtoul (confstr_word, NULL, 0);
  767.                                 else if (fb.size_in_bytes    == 0) fb.size_in_bytes    = strtoul (confstr_word, NULL, 0);
  768.                                 else if (fb.width_in_pixels  == 0) fb.width_in_pixels  = strtoul (confstr_word, NULL, 0);
  769.                                 else if (fb.height_in_pixels == 0) fb.height_in_pixels = strtoul (confstr_word, NULL, 0);
  770.                                 else if (fb.pixel_format[0]  == 0) strcpy (fb.pixel_format, confstr_word);
  771.                                 if (is_eos)
  772.                                         break; // if end of string is reached, stop parsing
  773.                                 confstr_word = &accumulated_characters[char_index + 1]; // else remember where the next word starts
  774.                         }
  775.         }
  776. #endif // _CS_GRAPHICS
  777.  
  778.         // do we have NO framebuffer specification ?
  779.         if (fb.base_address == 0)
  780.         {
  781.                 if ((argc < 2) || ((strcmp (argv[1], "-?") != 0) && (strcmp (argv[1], "--help") != 0)))
  782.                         fprintf (stderr, "error: must specify framebuffer address, size, and pixel format (or set the _CS_GRAPHICS configuration string to 'fbaddr_fbsize_width_height_pixfmt')\n");
  783.                 else
  784.                         fprintf (stdout, "Linear framebuffer printer for QNX 8.0 by Pierre-Marie Baty <pm@pmbaty.com>\n");
  785.                        
  786.                 fprintf (stdout, "\n");
  787.                 fprintf (stdout, "usage (_CS_GRAPHICS set to 'fbaddr_fbsize_width_height_pixfmt'):\n");
  788.                 fprintf (stdout, "   <pipe>|fbwrite\n");
  789.                 fprintf (stdout, "usage (_CS_GRAPHICS not set):\n");
  790.                 fprintf (stdout, "   <pipe>|fbwrite <fbaddr> <fbsize> <width> <height> <pixfmt>\n");
  791.                 fprintf (stdout, "example:\n");
  792.                 fprintf (stdout, "   printf 'Hello world!'|fbwrite 0x400000000 1920000 800 600 BGRx\n");
  793.                 fprintf (stdout, "Most control chars and ANSI escape sequences are supported, with additions.\n");
  794.                 fprintf (stdout, "   addition: transparent foreground color:  ESC[38;5;256m\n");
  795.                 fprintf (stdout, "   addition: transparent background color:  ESC[48;5;256m\n");
  796.                 fprintf (stdout, "   addition: draw image at cursor location: ESC]1;<image_pathname>BEL\n");
  797.                 fprintf (stdout, "Debug info is printed if the FRAMEBUFFER_DEBUG environment variable is present.\n");
  798.                 exit (EXIT_FAILURE);
  799.         }
  800.  
  801.         // consistency checks
  802.         if ((fb.size_in_bytes == 0) || (fb.width_in_pixels == 0) || (fb.height_in_pixels == 0))
  803.         {
  804.                 fprintf (stderr, "error: neither the framebuffer size in bytes, nor width in pixels nor height in pixels can be zero\n");
  805.                 exit (EXIT_FAILURE);
  806.         }
  807.  
  808.         // compute framebuffer stride based on byte size and pixel height
  809.         fb.pixel_size_in_bytes = strlen (fb.pixel_format);
  810.         if ((fb.pixel_size_in_bytes < 1) || (fb.pixel_size_in_bytes > 4))
  811.         {
  812.                 fprintf (stderr, "error: invalid/unsupported pixel size (%zd) from pixel format '%s'\n", fb.pixel_size_in_bytes, fb.pixel_format);
  813.                 exit (EXIT_FAILURE);
  814.         }
  815.         fb.stride_in_bytes  = fb.size_in_bytes / fb.height_in_pixels;
  816.         fb.stride_in_pixels = fb.stride_in_bytes / fb.pixel_size_in_bytes;
  817.  
  818.         // compute max character lines and columns in framebuffer
  819.         fb.max_character_lines = fb.height_in_pixels / CHAR_PIXELS_H;
  820.         fb.max_character_columns = fb.width_in_pixels / CHAR_PIXELS_W;
  821.  
  822.         // compute red, green and blue offsets in a single pixel
  823.         for (char_index = 0; char_index < fb.pixel_size_in_bytes; char_index++)
  824.         {
  825.                 character = fb.pixel_format[char_index];
  826.                 if      ((character == 'R') || (character == 'r')) fb.pixel_indices.r = char_index;
  827.                 else if ((character == 'G') || (character == 'g')) fb.pixel_indices.g = char_index;
  828.                 else if ((character == 'B') || (character == 'b')) fb.pixel_indices.b = char_index;
  829.         }
  830.  
  831.         // make the light font the default font
  832.         fb.characters_table_16x16_8x16 = characters_table_16x16_8x16_light;
  833.  
  834.         // map the passed physical address to a virtual memory region
  835.         fb.virtual_address = mmap (NULL, fb.size_in_bytes, PROT_READ | PROT_WRITE | PROT_NOCACHE, MAP_SHARED | MAP_PHYS, NOFD, fb.base_address);
  836.         if (fb.virtual_address == NULL)
  837.         {
  838.                 fprintf (stderr, "fatal: can't mmap() %zd bytes of framebuffer at 0x%zx\n", fb.size_in_bytes, fb.base_address);
  839.                 while (getchar () != EOF)
  840.                         ; // when we die because of a mmap() failure, we don't want to break the input pipe as this would terminate all feeding processes, so sink everything into oblivion
  841.                 exit (EXIT_FAILURE); // once we've received a hangup signal, we can safely commit suicide in a low-carbon, green and Earth-friendly manner.
  842.         }
  843.  
  844.         // dump framebuffer info if requested
  845.         if (want_debuginfo)
  846.         {
  847.                 fprintf (stderr, "Framebuffer info:\n");
  848.                 fprintf (stderr, "      base address: 0x%zx\n", fb.base_address);
  849.                 fprintf (stderr, "      size in bytes: %zd\n", fb.size_in_bytes);
  850.                 fprintf (stderr, "      width in pixels: %zd\n", fb.width_in_pixels);
  851.                 fprintf (stderr, "      height in pixels: %zd\n", fb.height_in_pixels);
  852.                 fprintf (stderr, "      pixel format: '%s'\n", fb.pixel_format);
  853.                 fprintf (stderr, "      red pixel index: %d\n", fb.pixel_indices.r); // calculated
  854.                 fprintf (stderr, "      red pixel index: %d\n", fb.pixel_indices.g); // calculated
  855.                 fprintf (stderr, "      red pixel index: %d\n", fb.pixel_indices.b); // calculated
  856.                 fprintf (stderr, "      virtual address: 0x%zx\n", (size_t) fb.virtual_address); // calculated (result of mmap)
  857.                 fprintf (stderr, "      pixel size in bytes: %zd\n", fb.pixel_size_in_bytes); // calculated
  858.                 fprintf (stderr, "      stride in pixels: %zd\n", fb.stride_in_pixels); // calculated
  859.                 fprintf (stderr, "      stride in bytes: %zd\n", fb.stride_in_bytes); // calculated
  860.                 fprintf (stderr, "      max character lines: %zd\n", fb.max_character_lines); // calculated
  861.                 fprintf (stderr, "      max character columns: %zd\n", fb.max_character_columns); // calculated
  862.                 fprintf (stderr, "      cursor line: %d\n", fb.cursor_line); // calculated
  863.                 fprintf (stderr, "      cursor column: %d\n", fb.cursor_column); // calculated
  864.         }
  865.  
  866.         // read characters, either repeating the current one, or unwinding the accumulator, or from stdin
  867.         while ((current_char = GET_NEXT_CHARACTER ()) != EOF)
  868.         {
  869.                 // is it a special character ?
  870.                 if (current_char == '\x07') // bell
  871.                 {
  872. #ifdef __QNXNTO__
  873.                         static size_t pit = 0;
  874.                         static size_t kbd = 0;
  875.                         uint8_t byte;
  876.                         if (pit == 0)
  877.                         {
  878.                                 ThreadCtl (_NTO_TCTL_IO_LEVEL, (void *) _NTO_IO_LEVEL_1); // give ourselves hardware I/O privileges
  879.                                 pit = mmap_device_io (sizeof (size_t), 0x40); // map 8 bytes at address 0x40 (programmable interrupt timer)
  880.                                 kbd = mmap_device_io (sizeof (size_t), 0x60); // map 8 bytes at address 0x60 (keyboard controller)
  881.                         }
  882.                         out8 (pit + 3, 0xb6); // set the PC speaker to output a square wave PCM
  883.                         out8 (pit + 2, (uint8_t) ((uint16_t) (1193180 / 440) >> 0)); // set the PC speaker period: low byte
  884.                         out8 (pit + 2, (uint8_t) ((uint16_t) (1193180 / 440) >> 8)); // set the PC speaker period: high byte
  885.                         byte = in8 (kbd + 1); // read PC speaker state
  886.                         if (byte != (byte | 3))
  887.                                 out8 (kbd + 1, byte | 3); // start beeping if necessary
  888.                         usleep (100 * 1000); // wait 100 milliseconds
  889.                         out8 (kbd + 1, in8 (kbd + 1) & 0xfc); // stop the PC speaker
  890. #endif // __QNXNTO__
  891.                         if (want_debuginfo)
  892.                                 fprintf (stderr, "Received bell\n");
  893.                         continue; // and proceed to the next character
  894.                 }
  895.                 else if (current_char == '\x08') // backspace
  896.                 {
  897.                         if (fb.cursor_column == 0) // back up one character with line wraparound
  898.                         {
  899.                                 if (fb.cursor_line > 0) // can we move to the previous line?
  900.                                 {
  901.                                         fb.cursor_line--; // move one line up
  902.                                         fb.cursor_column = fb.max_character_columns - 1; // position at end of line
  903.                                 }
  904.                         }
  905.                         else
  906.                                 fb.cursor_column--; // back up one character
  907.                         current_char = ' '; // and erase it
  908.                         is_backspace = 1; // remember not to advance the cursor
  909.                         if (want_debuginfo)
  910.                                 fprintf (stderr, "Received backspace\n");
  911.                 }
  912.                 else if (current_char == '\t') // tab
  913.                 {
  914.                         current_char = ' '; // turn tabs to spaces
  915.                         repeat_count = 7; // and repeat them 8 times
  916.                         if (want_debuginfo)
  917.                                 fprintf (stderr, "Received tab\n");
  918.                 }
  919.                 else if (current_char == '\n') // line feed
  920.                 {
  921.                         fb.cursor_line++; // jump down to next line
  922.                         fb.cursor_column = 0; // reset cursor to beginning of line
  923.                         if (want_debuginfo)
  924.                                 fprintf (stderr, "Received newline\n");
  925.                         continue; // and proceed to the next character
  926.                 }
  927.                 else if (current_char == '\x0c') // form feed
  928.                 {
  929.                         memset (fb.virtual_address, 0, fb.size_in_bytes); // clear entire scren
  930.                         fb.cursor_line = 0; // move cursor vertically to top of screen
  931.                         if (want_debuginfo)
  932.                                 fprintf (stderr, "Received form feed\n");
  933.                         continue; // and proceed to the next character
  934.                 }
  935.                 else if (current_char == '\r') // carriage return
  936.                 {
  937.                         fb.cursor_column = 0; // if so, reset cursor to beginning of line
  938.                         if (want_debuginfo)
  939.                                 fprintf (stderr, "Received carriage return\n");
  940.                         continue; // and proceed to the next character
  941.                 }
  942.                 else if (current_char == '\x1b') // possible sequence
  943.                 {
  944.                         next_char = getchar (); // read one character in advance
  945.                         if (next_char == EOF)
  946.                                 break; // end of stream
  947.                         else if (accumulated_character_count < sizeof (accumulated_characters))
  948.                         {
  949.                                 accumulated_character_startidx = accumulated_character_count; // remember where the accumulated data starts
  950.                                 accumulated_characters[accumulated_character_count++] = next_char; // accumulate it
  951.  
  952.                                 if (next_char == ']') // possible OSC sequence
  953.                                 {
  954.                                         if (want_debuginfo)
  955.                                                 fprintf (stderr, "Received possible OSC escape sequence\n");
  956.        
  957.                                         // read characters in the accumulator until we find a BEL (in case of OSC sequences the terminator is a BEL code)
  958.                                         while (((next_char = getchar ()) != EOF) && (next_char != 0x07) && (accumulated_character_count + 1 < sizeof (accumulated_characters)))
  959.                                                 accumulated_characters[accumulated_character_count++] = next_char; // accumulate it
  960.                                         if (next_char == EOF)
  961.                                                 break; // end of stream
  962.                                         else if (accumulated_character_count + 1 == sizeof (accumulated_characters))
  963.                                                 fprintf (stderr, "warning: character accumulator full while reading possible OSC escape sequence. Unwinding.\n");
  964.                                         else // it's a BEL and the accumulator is not full yet
  965.                                         {
  966.                                                 accumulated_characters[accumulated_character_count] = 0; // terminate the accumulated string ourselves
  967.  
  968.                                                 // see what sort of OSC sequence this is
  969.                                                 if (strncmp (&accumulated_characters[accumulated_character_startidx], "]1;", 3) == 0) // set icon name (i.e. background picture name)
  970.                                                 {
  971.                                                         fp = fopen (&accumulated_characters[accumulated_character_startidx + 3], "rb"); // attempt to open the icon file
  972.                                                         if (fp != NULL)
  973.                                                         {
  974.                                                                 image_row = NULL;
  975.                                                                 png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
  976.                                                                 png_info_struct = png_create_info_struct (png);
  977.                                                                 if ((png != NULL) && (png_info_struct != NULL) && (setjmp (png_jmpbuf (png)) == 0))
  978.                                                                 {
  979.                                                                         png_init_io (png, fp); // read and convert any color_type into 8bit depth, RGBA format - see http://www.libpng.org/pub/png/libpng-manual.txt
  980.                                                                         png_read_info (png, png_info_struct);
  981.                                                                         image_color_type = png_get_color_type (png, png_info_struct);
  982.                                                                         image_bit_depth = png_get_bit_depth (png, png_info_struct);
  983.                                                                         if (image_bit_depth == 16)
  984.                                                                                 png_set_strip_16 (png); // convert all 16-bit samples to 8-bit
  985.                                                                         if (image_color_type == PNG_COLOR_TYPE_PALETTE)
  986.                                                                                 png_set_palette_to_rgb (png); // convert all palette indexes to RGB colors
  987.                                                                         if ((image_color_type == PNG_COLOR_TYPE_GRAY) && (image_bit_depth < 8))
  988.                                                                                 png_set_expand_gray_1_2_4_to_8 (png); // convert all low bit depth grayscales to 8 bits (note: PNG_COLOR_TYPE_GRAY_ALPHA is always 8 or 16bit depth)
  989.                                                                         if (png_get_valid (png, png_info_struct, PNG_INFO_tRNS))
  990.                                                                                 png_set_tRNS_to_alpha (png); // convert all tRNS transparency chunks to an alpha channel
  991.                                                                         if ((image_color_type == PNG_COLOR_TYPE_RGB) || (image_color_type == PNG_COLOR_TYPE_GRAY) || (image_color_type == PNG_COLOR_TYPE_PALETTE))
  992.                                                                                 png_set_filler (png, 0xFF, PNG_FILLER_AFTER); // set 0xff as the alpha value of all color types that don't have an alpha channel
  993.                                                                         if ((image_color_type == PNG_COLOR_TYPE_GRAY) || (image_color_type == PNG_COLOR_TYPE_GRAY_ALPHA))
  994.                                                                                 png_set_gray_to_rgb (png); // convert all grayscale color types to RGB
  995.                                                                         png_read_update_info (png, png_info_struct); // commit our changes to the PNG info structure
  996.                                                                         image_width = png_get_image_width (png, png_info_struct);
  997.                                                                         image_height = png_get_image_height (png, png_info_struct);
  998.                                                                         image_row = (uint8_t *) malloc (png_get_rowbytes (png, png_info_struct)); // we'll be reading one row at a time: allocate space for one
  999.                                                                         if (image_row != NULL)
  1000.                                                                         {
  1001.                                                                                 if ((fb.cursor_column * CHAR_PIXELS_W) + image_width > fb.width_in_pixels)
  1002.                                                                                         image_width = fb.width_in_pixels - fb.cursor_column; // cap image width so that it doesn't extend past the framebuffer on the right
  1003.                                                                                 for (row_index = 0; row_index < image_height; row_index++)
  1004.                                                                                 {
  1005.                                                                                         // compute the offset of the concerned line in the framebuffer
  1006.                                                                                         line_offset_in_framebuffer = ((fb.cursor_line * CHAR_PIXELS_H) + row_index) * fb.stride_in_bytes;
  1007.                                                                                         if (line_offset_in_framebuffer > fb.size_in_bytes)
  1008.                                                                                                 break; // don't draw past the bottom of the framebuffer
  1009.                                                                                         png_read_row (png, image_row, NULL); // read one scanline at a time and draw it onto the framebuffer
  1010.                                                                                         for (pixel_index = 0; pixel_index < image_width; pixel_index++)
  1011.                                                                                         {
  1012.                                                                                                 // compute the offset of the concerned column in the framebuffer and draw the pixel
  1013.                                                                                                 column_offset_in_framebuffer = ((fb.cursor_column * CHAR_PIXELS_W) + pixel_index) * fb.pixel_size_in_bytes;
  1014.                                                                                                 offset_in_framebuffer = line_offset_in_framebuffer + column_offset_in_framebuffer;
  1015.                                                                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.r] = image_row[4 * pixel_index + 0]; // red
  1016.                                                                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.g] = image_row[4 * pixel_index + 1]; // green
  1017.                                                                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.b] = image_row[4 * pixel_index + 2]; // blue
  1018.                                                                                         }
  1019.                                                                                 }
  1020.                                                                         }
  1021.                                                                         else
  1022.                                                                                 fprintf (stderr, "error: can't allocate enough memory for PNG row\n");
  1023.                                                                 }
  1024.                                                                 else
  1025.                                                                         fprintf (stderr, "error: can't read '%s': invalid/unsupported PNG image\n", &accumulated_characters[accumulated_character_startidx + 3]);
  1026.                                                                 if (image_row != NULL)
  1027.                                                                         free (image_row); // free the single scanline buffer
  1028.                                                                 fclose (fp); // close the input file
  1029.                                                         }
  1030.                                                         else
  1031.                                                                 fprintf (stderr, "error: can't open '%s': %s\n", &accumulated_characters[accumulated_character_startidx + 3], strerror (errno));
  1032.  
  1033.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1034.                                                         continue; // and proceed to the next character
  1035.                                                 }
  1036.                                                 else
  1037.                                                         accumulated_characters[accumulated_character_count++] = next_char; // not a supported OSC sequence, restore BEL terminator into the accumulator
  1038.                                         }
  1039.                                 }
  1040.                                 else if (next_char == '[') // possible ANSI escape sequence
  1041.                                 {
  1042.                                         if (want_debuginfo)
  1043.                                                 fprintf (stderr, "Received possible ANSI escape sequence\n");
  1044.  
  1045.                                         // read characters in the accumulator until we find a something that's NOT a number nor a semicolon (in case of ANSI sequences the terminator is a letter)
  1046.                                         while (((next_char = getchar ()) != EOF) && (isdigit (next_char) || (next_char == ';')) && (accumulated_character_count + 1 < sizeof (accumulated_characters)))
  1047.                                                 accumulated_characters[accumulated_character_count++] = next_char; // accumulate it
  1048.                                         if (next_char == EOF)
  1049.                                                 break; // end of stream
  1050.                                         else if (accumulated_character_count + 1 == sizeof (accumulated_characters))
  1051.                                                 fprintf (stderr, "warning: character accumulator full while reading possible ANSI escape sequence. Unwinding.\n");
  1052.                                         else // it's a terminator character and the accumulator is not full yet
  1053.                                         {
  1054.                                                 accumulated_characters[accumulated_character_count] = 0; // terminate the accumulated string ourselves
  1055.  
  1056.                                                 // see what sort of ANSI escape sequence this is
  1057.                                                 if (next_char == 'A') // CUU: move cursor up
  1058.                                                 {
  1059.                                                         if (sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d", &escseq_integers[0]) != 1)
  1060.                                                                 escseq_integers[0] = 1; // read optional value (default to 1)
  1061.                                                         if (want_debuginfo)
  1062.                                                                 fprintf (stderr, "Identified CUU:%d escape sequence\n", escseq_integers[0]);
  1063.                                                         fb.cursor_line = (escseq_integers[0] > fb.cursor_line ? 0 : fb.cursor_line - escseq_integers[0]); // move cursor up N lines
  1064.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1065.                                                         continue; // and proceed to next character
  1066.                                                 }
  1067.                                                 else if (next_char == 'B') // CUD: move cursor down
  1068.                                                 {
  1069.                                                         if (sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d", &escseq_integers[0]) != 1)
  1070.                                                                 escseq_integers[0] = 1; // read optional value (default to 1)
  1071.                                                         if (want_debuginfo)
  1072.                                                                 fprintf (stderr, "Identified CUD:%d escape sequence\n", escseq_integers[0]);
  1073.                                                         fb.cursor_line = (fb.cursor_line + escseq_integers[0] < fb.max_character_lines - 1 ? fb.cursor_line + escseq_integers[0] : fb.max_character_lines - 1); // move cursor down N lines
  1074.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1075.                                                         continue; // and proceed to next character
  1076.                                                 }
  1077.                                                 else if (next_char == 'C') // CUF: move cursor forward
  1078.                                                 {
  1079.                                                         if (sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d", &escseq_integers[0]) != 1)
  1080.                                                                 escseq_integers[0] = 1; // read optional value (default to 1)
  1081.                                                         if (want_debuginfo)
  1082.                                                                 fprintf (stderr, "Identified CUF:%d escape sequence\n", escseq_integers[0]);
  1083.                                                         fb.cursor_column = (fb.cursor_column + escseq_integers[0] < fb.max_character_columns - 1 ? fb.cursor_column + escseq_integers[0] : fb.max_character_columns - 1); // move cursor right N columns
  1084.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1085.                                                         continue; // and proceed to next character
  1086.                                                 }
  1087.                                                 else if (next_char == 'D') // CUB: move cursor backwards
  1088.                                                 {
  1089.                                                         if (sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d", &escseq_integers[0]) != 1)
  1090.                                                                 escseq_integers[0] = 1; // read optional value (default to 1)
  1091.                                                         if (want_debuginfo)
  1092.                                                                 fprintf (stderr, "Identified CUB:%d escape sequence\n", escseq_integers[0]);
  1093.                                                         fb.cursor_column = (escseq_integers[0] > fb.cursor_column ? 0 : fb.cursor_column - escseq_integers[0]); // move cursor left N columns
  1094.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1095.                                                         continue; // and proceed to next character
  1096.                                                 }
  1097.                                                 else if (next_char == 'E') // CNL: move cursor at beginning of next line
  1098.                                                 {
  1099.                                                         if (sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d", &escseq_integers[0]) != 1)
  1100.                                                                 escseq_integers[0] = 1; // read optional value (default to 1)
  1101.                                                         if (want_debuginfo)
  1102.                                                                 fprintf (stderr, "Identified CNL:%d escape sequence\n", escseq_integers[0]);
  1103.                                                         fb.cursor_line = (fb.cursor_line + escseq_integers[0] < fb.max_character_lines - 1 ? fb.cursor_line + escseq_integers[0] : fb.max_character_lines - 1); // move cursor one line down
  1104.                                                         fb.cursor_column = 0; // set cursor at beginning of line
  1105.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1106.                                                         continue; // and proceed to next character
  1107.                                                 }
  1108.                                                 else if (next_char == 'F') // CPL: move cursor at beginning of previous line
  1109.                                                 {
  1110.                                                         if (sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d", &escseq_integers[0]) != 1)
  1111.                                                                 escseq_integers[0] = 1; // read optional value (default to 1)
  1112.                                                         if (want_debuginfo)
  1113.                                                                 fprintf (stderr, "Identified CPL:%d escape sequence\n", escseq_integers[0]);
  1114.                                                         fb.cursor_line = (escseq_integers[0] > fb.cursor_line ? 0 : fb.cursor_line - escseq_integers[0]); // move cursor one line up
  1115.                                                         fb.cursor_column = 0; // set cursor at beginning of line
  1116.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1117.                                                         continue; // and proceed to next character
  1118.                                                 }
  1119.                                                 else if (next_char == 'G') // CHA: move cursor at horizontal absolute position
  1120.                                                 {
  1121.                                                         if (sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d", &escseq_integers[0]) != 1)
  1122.                                                                 escseq_integers[0] = 1; // read optional value (default to 1)
  1123.                                                         if (want_debuginfo)
  1124.                                                                 fprintf (stderr, "Identified CHA:%d escape sequence\n", escseq_integers[0]);
  1125.                                                         fb.cursor_column = (escseq_integers[0] - 1 < fb.max_character_columns - 1 ? escseq_integers[0] - 1 : fb.max_character_columns - 1); // move cursor at the desired column
  1126.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1127.                                                         continue; // and proceed to next character
  1128.                                                 }
  1129.                                                 else if (next_char == 'H') // CUP: move cursor at absolute position
  1130.                                                 {
  1131.                                                         if (sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d;%d", &escseq_integers[0], &escseq_integers[1]) != 1)
  1132.                                                         {
  1133.                                                                 escseq_integers[1] = 1; // read optional value (default to 1)
  1134.                                                                 if (sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d", &escseq_integers[0]) != 1)
  1135.                                                                         escseq_integers[0] = 1; // read optional value (default to 1)
  1136.                                                         }
  1137.                                                         if (want_debuginfo)
  1138.                                                                 fprintf (stderr, "Identified CUP:%d:%d escape sequence\n", escseq_integers[0], escseq_integers[0]);
  1139.                                                         fb.cursor_line   = (escseq_integers[0] - 1 < fb.max_character_lines   - 1 ? escseq_integers[0] - 1 : fb.max_character_lines   - 1); // move cursor at the desired line
  1140.                                                         fb.cursor_column = (escseq_integers[1] - 1 < fb.max_character_columns - 1 ? escseq_integers[1] - 1 : fb.max_character_columns - 1); // move cursor at the desired column
  1141.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1142.                                                         continue; // and proceed to next character
  1143.                                                 }
  1144.                                                 else if (next_char == 'J') // ED: erase part of display
  1145.                                                 {
  1146.                                                         if (sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d", &escseq_integers[0]) != 1)
  1147.                                                                 escseq_integers[0] = 0; // read optional value (default to 1)
  1148.                                                         if (want_debuginfo)
  1149.                                                                 fprintf (stderr, "Identified ED:%d escape sequence\n", escseq_integers[0]);
  1150.                                                         if (escseq_integers[0] == 0)
  1151.                                                         {
  1152.                                                                 for (row_index = 0; row_index < CHAR_PIXELS_H; row_index++)
  1153.                                                                 {
  1154.                                                                         line_offset_in_framebuffer = (fb.cursor_line * CHAR_PIXELS_H + row_index) * fb.stride_in_bytes; // line offset of cursor
  1155.                                                                         column_offset_in_framebuffer = (fb.cursor_column * CHAR_PIXELS_W) * fb.pixel_size_in_bytes; // column offset of cursor
  1156.                                                                         memset (&fb.virtual_address[line_offset_in_framebuffer + column_offset_in_framebuffer], 0, fb.stride_in_bytes - column_offset_in_framebuffer); // erase from cursor to end of line
  1157.                                                                 }
  1158.                                                                 offset_in_framebuffer = (fb.cursor_line + 1) * CHAR_PIXELS_H * fb.stride_in_bytes; // offset of next character line
  1159.                                                                 memset (&fb.virtual_address[offset_in_framebuffer], 0, fb.size_in_bytes - offset_in_framebuffer); // erase from next line to end of screen
  1160.                                                         }
  1161.                                                         else if (escseq_integers[0] == 1)
  1162.                                                         {
  1163.                                                                 offset_in_framebuffer = fb.cursor_line * CHAR_PIXELS_H * fb.stride_in_bytes; // offset of beginning of current line
  1164.                                                                 memset (&fb.virtual_address[0], 0, offset_in_framebuffer); // erase from start of screen to beginning of current line
  1165.                                                                 for (row_index = 0; row_index < CHAR_PIXELS_H; row_index++)
  1166.                                                                 {
  1167.                                                                         line_offset_in_framebuffer = (fb.cursor_line * CHAR_PIXELS_H + row_index) * fb.stride_in_bytes; // line offset of cursor
  1168.                                                                         column_offset_in_framebuffer = (fb.cursor_column * CHAR_PIXELS_W) * fb.pixel_size_in_bytes; // column offset of cursor
  1169.                                                                         memset (&fb.virtual_address[line_offset_in_framebuffer], 0, column_offset_in_framebuffer); // erase from beginning of line to cursor
  1170.                                                                 }
  1171.                                                         }
  1172.                                                         else if ((escseq_integers[0] == 2) || (escseq_integers[0] == 3))
  1173.                                                                 memset (fb.virtual_address, 0, fb.size_in_bytes); // clear entire scren
  1174.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1175.                                                         continue; // and proceed to next character
  1176.                                                 }
  1177.                                                 else if (next_char == 'K') // EL: erase part of line
  1178.                                                 {
  1179.                                                         if (sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d", &escseq_integers[0]) != 1)
  1180.                                                                 escseq_integers[0] = 0; // read optional value (default to 1)
  1181.                                                         if (want_debuginfo)
  1182.                                                                 fprintf (stderr, "Identified EL:%d escape sequence\n", escseq_integers[0]);
  1183.                                                         if (escseq_integers[0] == 0)
  1184.                                                         {
  1185.                                                                 for (row_index = 0; row_index < CHAR_PIXELS_H; row_index++)
  1186.                                                                 {
  1187.                                                                         line_offset_in_framebuffer = (fb.cursor_line * CHAR_PIXELS_H + row_index) * fb.stride_in_bytes; // line offset of cursor
  1188.                                                                         column_offset_in_framebuffer = (fb.cursor_column * CHAR_PIXELS_W) * fb.pixel_size_in_bytes; // column offset of cursor
  1189.                                                                         memset (&fb.virtual_address[line_offset_in_framebuffer + column_offset_in_framebuffer], 0, fb.stride_in_bytes - column_offset_in_framebuffer); // erase from cursor to end of line
  1190.                                                                 }
  1191.                                                         }
  1192.                                                         else if (escseq_integers[0] == 1)
  1193.                                                         {
  1194.                                                                 for (row_index = 0; row_index < CHAR_PIXELS_H; row_index++)
  1195.                                                                 {
  1196.                                                                         line_offset_in_framebuffer = (fb.cursor_line * CHAR_PIXELS_H + row_index) * fb.stride_in_bytes; // line offset of cursor
  1197.                                                                         column_offset_in_framebuffer = (fb.cursor_column * CHAR_PIXELS_W) * fb.pixel_size_in_bytes; // column offset of cursor
  1198.                                                                         memset (&fb.virtual_address[line_offset_in_framebuffer], 0, column_offset_in_framebuffer); // erase from beginning of line to cursor
  1199.                                                                 }
  1200.                                                         }
  1201.                                                         else if ((escseq_integers[0] == 2) || (escseq_integers[0] == 3))
  1202.                                                         {
  1203.                                                                 for (row_index = 0; row_index < CHAR_PIXELS_H; row_index++)
  1204.                                                                 {
  1205.                                                                         line_offset_in_framebuffer = (fb.cursor_line * CHAR_PIXELS_H + row_index) * fb.stride_in_bytes; // line offset of cursor
  1206.                                                                         memset (&fb.virtual_address[line_offset_in_framebuffer], 0, fb.stride_in_bytes); // clear entire line
  1207.                                                                 }
  1208.                                                         }
  1209.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1210.                                                         continue; // and proceed to next character
  1211.                                                 }
  1212.                                                 else if (next_char == 'm') // SGR: select graphics rendition
  1213.                                                 {
  1214.                                                         if (   ((code_count = sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d;%d;%d;%d;%d", &escseq_integers[0], &escseq_integers[1], &escseq_integers[2], &escseq_integers[3], &escseq_integers[4])) == 4)
  1215.                                                             || ((code_count = sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d;%d;%d;%d", &escseq_integers[0], &escseq_integers[1], &escseq_integers[2], &escseq_integers[3])) == 4)
  1216.                                                             || ((code_count = sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d;%d;%d", &escseq_integers[0], &escseq_integers[1], &escseq_integers[2])) == 3)
  1217.                                                             || ((code_count = sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d;%d", &escseq_integers[0], &escseq_integers[1])) == 2)
  1218.                                                             || ((code_count = sscanf (&accumulated_characters[accumulated_character_startidx + 1], "%d", &escseq_integers[0])) == 1)
  1219.                                                             || (code_count == 0))
  1220.                                                         {
  1221.                                                                 if (code_count == 0)
  1222.                                                                 {
  1223.                                                                         escseq_integers[0] = 0; // default to reset
  1224.                                                                         code_count = 1;
  1225.                                                                 }
  1226.                                                                 for (code_index = 0; code_index < code_count; code_index++)
  1227.                                                                         if (escseq_integers[code_index] == 0)
  1228.                                                                         {
  1229.                                                                                 fg_color = &default_foreground_color; // reset color: default foreground
  1230.                                                                                 if ((bg_color->r != -1) || (bg_color->g != -1) || (bg_color->b != -1))
  1231.                                                                                         bg_color = &default_background_color; // reset color: default background (unless it's transparent)
  1232.                                                                                 fb.text_style = TEXTSTYLE_NONE; // reset effects
  1233.                                                                                 fb.characters_table_16x16_8x16 = characters_table_16x16_8x16_light; // normal font
  1234.                                                                         }
  1235.                                                                         else if (escseq_integers[code_index] == 1)
  1236.                                                                                 fb.text_style = (fb.text_style & ~TEXTSTYLE_DIM) | TEXTSTYLE_BOLD; // increase intensity
  1237.                                                                         else if (escseq_integers[code_index] == 2)
  1238.                                                                                 fb.text_style = (fb.text_style & ~TEXTSTYLE_BOLD) | TEXTSTYLE_DIM; // decrease intensity
  1239.                                                                         else if (escseq_integers[code_index] == 3)
  1240.                                                                                 fb.text_style |= TEXTSTYLE_ITALIC; // enable italics
  1241.                                                                         else if (escseq_integers[code_index] == 4)
  1242.                                                                                 fb.text_style |= TEXTSTYLE_UNDERLINE1; // enable underline
  1243.                                                                         else if (escseq_integers[code_index] == 9)
  1244.                                                                                 fb.text_style |= TEXTSTYLE_STRIKETHROUGH; // enable strikethrough
  1245.                                                                         else if (escseq_integers[code_index] == 20)
  1246.                                                                                 fb.characters_table_16x16_8x16 = characters_table_16x16_8x16_bold; // gothic font
  1247.                                                                         else if (escseq_integers[code_index] == 21)
  1248.                                                                                 fb.text_style |= TEXTSTYLE_UNDERLINE1 | TEXTSTYLE_UNDERLINE2; // enable double underline
  1249.                                                                         else if (escseq_integers[code_index] == 22)
  1250.                                                                                 fb.text_style &= ~TEXTSTYLE_BOLD; // normal intensity
  1251.                                                                         else if (escseq_integers[code_index] == 23)
  1252.                                                                         {
  1253.                                                                                 fb.text_style &= ~TEXTSTYLE_ITALIC; // disable italics and gothic font
  1254.                                                                                 fb.characters_table_16x16_8x16 = characters_table_16x16_8x16_light; // normal font
  1255.                                                                         }
  1256.                                                                         else if (escseq_integers[code_index] == 24)
  1257.                                                                                 fb.text_style &= ~(TEXTSTYLE_UNDERLINE1 | TEXTSTYLE_UNDERLINE2); // disable underlines
  1258.                                                                         else if (escseq_integers[code_index] == 29)
  1259.                                                                                 fb.text_style &= ~TEXTSTYLE_STRIKETHROUGH; // disable strikethrough
  1260.                                                                         else if ((escseq_integers[code_index] >= 30) && (escseq_integers[code_index] <= 37))
  1261.                                                                                 fg_color = &ansi_colors_normal[escseq_integers[code_index] - 30]; // normal foreground
  1262.                                                                         else if ((escseq_integers[code_index] == 38) && (code_index + 3 == code_count) && (escseq_integers[code_index + 1] == 5))
  1263.                                                                         {
  1264.                                                                                 if (escseq_integers[code_index + 2] < 256)
  1265.                                                                                 {
  1266.                                                                                         custom_foreground_color.r = ansi_256_colors[escseq_integers[code_index + 2]].r;
  1267.                                                                                         custom_foreground_color.g = ansi_256_colors[escseq_integers[code_index + 2]].g;
  1268.                                                                                         custom_foreground_color.b = ansi_256_colors[escseq_integers[code_index + 2]].b;
  1269.                                                                                         fg_color = &custom_foreground_color; // 256-colors table indexed foreground color
  1270.                                                                                 }
  1271.                                                                                 else
  1272.                                                                                         fg_color = &transparent_color; // not in the ANSI standard ;)
  1273.                                                                         }
  1274.                                                                         else if ((escseq_integers[code_index] == 38) && (code_index + 5 == code_count) && (escseq_integers[code_index + 1] == 2))
  1275.                                                                         {
  1276.                                                                                 custom_foreground_color.r = escseq_integers[code_index + 2];
  1277.                                                                                 custom_foreground_color.g = escseq_integers[code_index + 3];
  1278.                                                                                 custom_foreground_color.b = escseq_integers[code_index + 4];
  1279.                                                                                 fg_color = &custom_foreground_color; // 24-bit foreground color
  1280.                                                                         }
  1281.                                                                         else if (escseq_integers[code_index] == 39)
  1282.                                                                                 fg_color = &default_foreground_color; // default foreground color
  1283.                                                                         else if ((escseq_integers[code_index] >= 40) && (escseq_integers[code_index] <= 47))
  1284.                                                                                 bg_color = &ansi_colors_normal[escseq_integers[code_index] - 40]; // normal background
  1285.                                                                         else if ((escseq_integers[code_index] == 48) && (code_index + 3 == code_count) && (escseq_integers[code_index + 1] == 5))
  1286.                                                                         {
  1287.                                                                                 if (escseq_integers[code_index + 2] < 256)
  1288.                                                                                 {
  1289.                                                                                         custom_foreground_color.r = ansi_256_colors[escseq_integers[code_index + 2]].r;
  1290.                                                                                         custom_foreground_color.g = ansi_256_colors[escseq_integers[code_index + 2]].g;
  1291.                                                                                         custom_foreground_color.b = ansi_256_colors[escseq_integers[code_index + 2]].b;
  1292.                                                                                         bg_color = &custom_foreground_color; // 256-colors table indexed background color
  1293.                                                                                 }
  1294.                                                                                 else
  1295.                                                                                         bg_color = &transparent_color; // not in the ANSI standard ;)
  1296.                                                                         }
  1297.                                                                         else if ((escseq_integers[code_index] == 48) && (code_index + 5 == code_count) && (escseq_integers[code_index + 1] == 2))
  1298.                                                                         {
  1299.                                                                                 custom_background_color.r = escseq_integers[code_index + 2];
  1300.                                                                                 custom_background_color.g = escseq_integers[code_index + 3];
  1301.                                                                                 custom_background_color.b = escseq_integers[code_index + 4];
  1302.                                                                                 bg_color = &custom_background_color; // 24-bit background color
  1303.                                                                         }
  1304.                                                                         else if (escseq_integers[code_index] == 49)
  1305.                                                                                 bg_color = &default_background_color; // default background color
  1306.                                                                         else if ((escseq_integers[code_index] >= 90) && (escseq_integers[code_index] <= 97))
  1307.                                                                                 fg_color = &ansi_colors_bright[escseq_integers[code_index] - 90]; // bright foreground
  1308.                                                                         else if ((escseq_integers[code_index] >= 100) && (escseq_integers[code_index] <= 107))
  1309.                                                                                 bg_color = &ansi_colors_bright[escseq_integers[code_index] - 100]; // bright background
  1310.                                                         }
  1311.                                                         if (want_debuginfo)
  1312.                                                                 fprintf (stderr, "Identified SGR (color) escape sequence\n");
  1313.                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator
  1314.                                                         continue; // and proceed to next character
  1315.                                                 }
  1316.                                                 else
  1317.                                                         accumulated_characters[accumulated_character_count++] = next_char; // not a supported ANSI escape sequence, restore terminator character into the accumulator
  1318.                                         }
  1319.                                 }
  1320.                         } // end if "accumulator is not full yet"
  1321.                 } // end if "current character is ESC"
  1322.  
  1323.                 // compute row and column in character table
  1324.                 char_row_in_chartable = current_char / 16;
  1325.                 char_col_in_chartable = current_char % 16;
  1326.  
  1327.                 // if debug output is enabled, print the character that's about to be written
  1328.                 if (want_debuginfo)
  1329.                         fprintf (stderr, "Will draw char '%c' at screen pos %d,%d at position in the table: row=%zd col=%zd\n", current_char, fb.cursor_line, fb.cursor_column, char_row_in_chartable, char_col_in_chartable);
  1330.  
  1331.                 // for each of the 16 rows of this character, then for each of the 16 columns of it...
  1332.                 for (char_cury = 0; char_cury < CHAR_PIXELS_H; char_cury++)
  1333.                 {
  1334.                         // compute the offset of the concerned line in the framebuffer
  1335.                         line_offset_in_framebuffer = ((CHAR_PIXELS_H * fb.cursor_line) + char_cury) * fb.stride_in_bytes;
  1336.  
  1337.                         for (char_curx = 0; char_curx < CHAR_PIXELS_W; char_curx++)
  1338.                         {
  1339.                                 // compute pixel offset in character table and determine if this pixel should be lit
  1340.                                 offset_in_chartable = (char_row_in_chartable * (16 * CHAR_PIXELS_W) * CHAR_PIXELS_H) + (char_cury * (16 * CHAR_PIXELS_W)) + char_col_in_chartable * CHAR_PIXELS_W + char_curx;
  1341.                                 assert (offset_in_chartable < sizeof (characters_table_16x16_8x16_light) && "offset in chartable beyond end of table");
  1342.                                 is_pixel_lit = (fb.characters_table_16x16_8x16[offset_in_chartable] != 0);
  1343.  
  1344.                                 // if debug output is enabled, print whether this pixel is lit
  1345.                                 if (want_debuginfo)
  1346.                                         fprintf (stderr, "%c", (is_pixel_lit ? 'B' : ' '));
  1347.  
  1348.                                 // compute the offset of the concerned column in the framebuffer
  1349.                                 column_offset_in_framebuffer = ((CHAR_PIXELS_W * fb.cursor_column) + char_curx) * fb.pixel_size_in_bytes;
  1350.                                 if (fb.text_style & TEXTSTYLE_ITALIC)
  1351.                                 {
  1352.                                         // characters which have the italic style are bent rightways (TODO: smooth grayscale blending instead of blocky Bresenham here)
  1353.                                         if (char_cury < 1 * CHAR_PIXELS_H / 4)
  1354.                                         {
  1355.                                                 if (line_offset_in_framebuffer + column_offset_in_framebuffer + 3 * fb.pixel_size_in_bytes < fb.size_in_bytes)
  1356.                                                         column_offset_in_framebuffer += 3 * fb.pixel_size_in_bytes;
  1357.                                         }
  1358.                                         else if (char_cury < 2 * CHAR_PIXELS_H / 4)
  1359.                                         {
  1360.                                                 if (line_offset_in_framebuffer + column_offset_in_framebuffer + 2 * fb.pixel_size_in_bytes < fb.size_in_bytes)
  1361.                                                         column_offset_in_framebuffer += 2 * fb.pixel_size_in_bytes;
  1362.                                         }
  1363.                                         else if (char_cury < 3 * CHAR_PIXELS_H / 4)
  1364.                                         {
  1365.                                                 if (line_offset_in_framebuffer + column_offset_in_framebuffer + 1 * fb.pixel_size_in_bytes < fb.size_in_bytes)
  1366.                                                         column_offset_in_framebuffer += 1 * fb.pixel_size_in_bytes;
  1367.                                         }
  1368.                                 }
  1369.  
  1370.                                 // compute the framebuffer offset of this pixel
  1371.                                 offset_in_framebuffer = line_offset_in_framebuffer + column_offset_in_framebuffer;
  1372.                                 assert (offset_in_framebuffer < fb.size_in_bytes && "offset in framebuffer beyond end of buffer");
  1373.  
  1374.                                 // smack this bitch up?
  1375.                                 if (is_pixel_lit
  1376.                                     || ((fb.text_style & TEXTSTYLE_STRIKETHROUGH) && (char_cury == CHAR_PIXELS_H / 2))
  1377.                                     || ((fb.text_style & TEXTSTYLE_UNDERLINE2)    && (char_cury == CHAR_PIXELS_H - 3))
  1378.                                     || ((fb.text_style & TEXTSTYLE_UNDERLINE1)    && (char_cury == CHAR_PIXELS_H - 1)))
  1379.                                 {
  1380.                                         if (fg_color->r != -1) // is its red component NOT an explicit transparent color ?
  1381.                                         {
  1382.                                                 final_taint = fg_color->r;
  1383.                                                 if (fb.text_style & TEXTSTYLE_BOLD)
  1384.                                                         final_taint += 76; // if the current character style is bold, increase lightness
  1385.                                                 else if (fb.text_style & TEXTSTYLE_DIM)
  1386.                                                         final_taint -= 76; // else if it's dim, decrease lightness
  1387.                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.r] = (final_taint < 0 ? 0 : (final_taint < 255 ? final_taint : 255)); // clamp it between 0 and 255 and paint it (red component)
  1388.                                         }
  1389.                                         if (fg_color->g != -1) // is its green component NOT an explicit transparent color ?
  1390.                                         {
  1391.                                                 final_taint = fg_color->g;
  1392.                                                 if (fb.text_style & TEXTSTYLE_BOLD)
  1393.                                                         final_taint += 76;
  1394.                                                 else if (fb.text_style & TEXTSTYLE_DIM)
  1395.                                                         final_taint -= 76;
  1396.                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.g] = (final_taint < 0 ? 0 : (final_taint < 255 ? final_taint : 255)); // clamp it between 0 and 255 and paint it (blue component)
  1397.                                         }
  1398.                                         if (fg_color->b != -1) // is its blue component NOT an explicit transparent color ?
  1399.                                         {
  1400.                                                 final_taint = fg_color->b;
  1401.                                                 if (fb.text_style & TEXTSTYLE_BOLD)
  1402.                                                         final_taint += 76;
  1403.                                                 else if (fb.text_style & TEXTSTYLE_DIM)
  1404.                                                         final_taint -= 76;
  1405.                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.b] = (final_taint < 0 ? 0 : (final_taint < 255 ? final_taint : 255)); // clamp it between 0 and 255 and paint it (green component)
  1406.                                         }
  1407.                                 }
  1408.                                 else // this pixel should be extinct
  1409.                                 {
  1410.                                         if (bg_color->r != -1)
  1411.                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.r] = (bg_color->r & 0xff); // paint background color (red component) unless it's transparent
  1412.                                         if (bg_color->g != -1)
  1413.                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.g] = (bg_color->g & 0xff); // paint background color (green component) unless it's transparent
  1414.                                         if (bg_color->b != -1)
  1415.                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.b] = (bg_color->b & 0xff); // paint background color (blue component) unless it's transparent
  1416.                                 }
  1417.                         }
  1418.  
  1419.                         // if debug output is enabled, print the framebuffer offsets concerned at the end of the character scanline
  1420.                         if (want_debuginfo)
  1421.                                 fprintf (stderr, "|   offsets 0x%zx-0x%zx\n", line_offset_in_framebuffer + ((CHAR_PIXELS_W * fb.cursor_column) + 0) * fb.pixel_size_in_bytes, line_offset_in_framebuffer + ((CHAR_PIXELS_W * fb.cursor_column) + char_curx) * fb.pixel_size_in_bytes);
  1422.                 }
  1423.  
  1424.                 // advance cursor by one column, and wraparound if necessary
  1425.                 if (is_backspace)
  1426.                         is_backspace = 0; // that was a backspace: don't advance this time, but remember to advance next time
  1427.                 else
  1428.                 {
  1429.                         fb.cursor_column++; // advance the cursor by one column
  1430.                         if (fb.cursor_column == fb.max_character_columns)
  1431.                         {
  1432.                                 fb.cursor_line++; // wraparound: move one line down
  1433.                                 fb.cursor_column = 0; // and position the cursor at the beginning of the line
  1434.                         }
  1435.                 }
  1436.  
  1437.                 // if we should make the console scroll up, do so
  1438.                 if (fb.cursor_line == fb.max_character_lines)
  1439.                 {
  1440.                         offset_in_framebuffer = CHAR_PIXELS_H * fb.stride_in_bytes; // offset of second character line
  1441.                         memmove (&fb.virtual_address[0], &fb.virtual_address[offset_in_framebuffer], fb.size_in_bytes - offset_in_framebuffer); // move (max - 1) lines up
  1442.                         offset_in_framebuffer = (fb.max_character_lines - 1) * CHAR_PIXELS_H * fb.stride_in_bytes; // offset of last character line
  1443.                         memset (&fb.virtual_address[offset_in_framebuffer], 0, fb.size_in_bytes - offset_in_framebuffer); // erase last character line
  1444.                         fb.cursor_line = fb.max_character_lines - 1; // and jump back it
  1445.                 }
  1446.         }
  1447.  
  1448.         // finished, cleanup
  1449.         munmap (fb.virtual_address, fb.size_in_bytes);
  1450.  
  1451.         exit (EXIT_SUCCESS); // *stamp* glory to Arstotzka!
  1452. }
  1453.