home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.bin / banner / banner.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-04-17  |  73.1 KB  |  1,183 lines

  1. /*
  2.  * Copyright (c) 1980 The Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice, this list of conditions and the following disclaimer.
  10.  * 2. Redistributions in binary form must reproduce the above copyright
  11.  *    notice, this list of conditions and the following disclaimer in the
  12.  *    documentation and/or other materials provided with the distribution.
  13.  * 3. All advertising materials mentioning features or use of this software
  14.  *    must display the following acknowledgement:
  15.  *    This product includes software developed by the University of
  16.  *    California, Berkeley and its contributors.
  17.  * 4. Neither the name of the University nor the names of its contributors
  18.  *    may be used to endorse or promote products derived from this software
  19.  *    without specific prior written permission.
  20.  *
  21.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  25.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  26.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  27.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  29.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  30.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31.  * SUCH DAMAGE.
  32.  */
  33.  
  34. #ifndef lint
  35. char copyright[] =
  36. "@(#) Copyright (c) 1980 The Regents of the University of California.\n\
  37.  All rights reserved.\n";
  38. #endif /* not lint */
  39.  
  40. #ifndef lint
  41. static char sccsid[] = "@(#)banner.c    4.3 (Berkeley) 6/1/90";
  42. #endif /* not lint */
  43.  
  44. /*
  45.  * banner - prints large signs
  46.  * banner [-w#] [-d] [-t] message ...
  47.  */
  48.  
  49. #include <stdio.h>
  50.  
  51. #define MAXMSG 1024
  52. #define DWIDTH 132
  53. #define NCHARS 128
  54. #define NBYTES 9271
  55.  
  56. /* Pointers into data_table for each ASCII char */
  57. int asc_ptr[NCHARS] = {
  58. /* ^@ */   0,      0,      0,      0,      0,      0,      0,      0,
  59. /* ^H */   0,      0,      0,      0,      0,      0,      0,      0,
  60. /* ^P */   0,      0,      0,      0,      0,      0,      0,      0,
  61. /* ^X */   0,      0,      0,      0,      0,      0,      0,      0,
  62. /*    */   1,      3,     50,     81,    104,    281,    483,    590,
  63. /*  ( */ 621,    685,    749,    851,    862,    893,    898,    921,
  64. /*  0 */1019,   1150,   1200,   1419,   1599,   1744,   1934,   2111,
  65. /*  8 */2235,   2445,   2622,   2659,      0,   2708,      0,   2715,
  66. /*  @ */2857,   3072,   3273,   3403,   3560,   3662,   3730,   3785,
  67. /*  H */3965,   4000,   4015,   4115,   4281,   4314,   4432,   4548,
  68. /*  P */4709,   4790,   4999,   5188,   5397,   5448,   5576,   5710,
  69. /*  X */5892,   6106,   6257,      0,      0,      0,      0,      0,
  70. /*  ` */  50,   6503,   6642,   6733,   6837,   6930,   7073,   7157,
  71. /*  h */7380,   7452,   7499,   7584,   7689,   7702,   7797,   7869,
  72. /*  p */7978,   8069,   8160,   8222,   8381,   8442,   8508,   8605,
  73. /*  x */8732,   8888,   9016,      0,      0,      0,      0,      0
  74. };
  75.  
  76. /*
  77.  * Table of stuff to print. Format:
  78.  * 128+n -> print current line n times.
  79.  * 64+n  -> this is last byte of char.
  80.  * else, put m chars at position n (where m
  81.  * is the next elt in array) and goto second
  82.  * next element in array.
  83.  */
  84. char data_table[NBYTES] = {
  85. /*             0     1     2     3     4     5     6     7     8     9 */
  86. /*    0 */   129,  227,  130,   34,    6,   90,   19,  129,   32,   10, 
  87. /*   10 */    74,   40,  129,   31,   12,   64,   53,  129,   30,   14, 
  88. /*   20 */    54,   65,  129,   30,   14,   53,   67,  129,   30,   14, 
  89. /*   30 */    54,   65,  129,   31,   12,   64,   53,  129,   32,   10, 
  90. /*   40 */    74,   40,  129,   34,    6,   90,   19,  129,  194,  130, 
  91. /*   50 */    99,    9,  129,   97,   14,  129,   96,   18,  129,   95, 
  92. /*   60 */    22,  129,   95,   16,  117,    2,  129,   95,   14,  129, 
  93. /*   70 */    96,   11,  129,   97,    9,  129,   99,    6,  129,  194, 
  94. /*   80 */   129,   87,    4,  101,    4,  131,   82,   28,  131,   87, 
  95. /*   90 */     4,  101,    4,  133,   82,   28,  131,   87,    4,  101, 
  96. /*  100 */     4,  131,  193,  129,   39,    1,   84,   27,  129,   38, 
  97. /*  110 */     3,   81,   32,  129,   37,    5,   79,   35,  129,   36, 
  98. /*  120 */     5,   77,   38,  129,   35,    5,   76,   40,  129,   34, 
  99. /*  130 */     5,   75,   21,  103,   14,  129,   33,    5,   74,   19, 
  100. /*  140 */   107,   11,  129,   32,    5,   73,   17,  110,    9,  129, 
  101. /*  150 */    32,    4,   73,   16,  112,    7,  129,   31,    4,   72, 
  102. /*  160 */    15,  114,    6,  129,   31,    4,   72,   14,  115,    5, 
  103. /*  170 */   129,   30,    4,   71,   15,  116,    5,  129,   27,   97, 
  104. /*  180 */   131,   30,    4,   69,   14,  117,    4,  129,   30,    4, 
  105. /*  190 */    68,   15,  117,    4,  132,   30,    4,   68,   14,  117, 
  106. /*  200 */     4,  129,   27,   97,  131,   30,    5,   65,   15,  116, 
  107. /*  210 */     5,  129,   31,    4,   65,   14,  116,    4,  129,   31, 
  108. /*  220 */     6,   64,   15,  116,    4,  129,   32,    7,   62,   16, 
  109. /*  230 */   115,    4,  129,   32,    9,   61,   17,  114,    5,  129, 
  110. /*  240 */    33,   11,   58,   19,  113,    5,  129,   34,   14,   55, 
  111. /*  250 */    21,  112,    5,  129,   35,   40,  111,    5,  129,   36, 
  112. /*  260 */    38,  110,    5,  129,   37,   35,  109,    5,  129,   38, 
  113. /*  270 */    32,  110,    3,  129,   40,   27,  111,    1,  129,  193, 
  114. /*  280 */   129,   30,    4,  103,    9,  129,   30,    7,  100,   15, 
  115. /*  290 */   129,   30,   10,   99,   17,  129,   33,   10,   97,    6, 
  116. /*  300 */   112,    6,  129,   36,   10,   96,    5,  114,    5,  129, 
  117. /*  310 */    39,   10,   96,    4,  115,    4,  129,   42,   10,   95, 
  118. /*  320 */     4,  116,    4,  129,   45,   10,   95,    3,  117,    3, 
  119. /*  330 */   129,   48,   10,   95,    3,  117,    3,  129,   51,   10, 
  120. /*  340 */    95,    4,  116,    4,  129,   54,   10,   96,    4,  115, 
  121. /*  350 */     4,  129,   57,   10,   96,    5,  114,    5,  129,   60, 
  122. /*  360 */    10,   97,    6,  112,    6,  129,   63,   10,   99,   17, 
  123. /*  370 */   129,   66,   10,  100,   15,  129,   69,   10,  103,    9, 
  124. /*  380 */   129,   39,    9,   72,   10,  129,   36,   15,   75,   10, 
  125. /*  390 */   129,   35,   17,   78,   10,  129,   33,    6,   48,    6, 
  126. /*  400 */    81,   10,  129,   32,    5,   50,    5,   84,   10,  129, 
  127. /*  410 */    32,    4,   51,    4,   87,   10,  129,   31,    4,   52, 
  128. /*  420 */     4,   90,   10,  129,   31,    3,   53,    3,   93,   10, 
  129. /*  430 */   129,   31,    3,   53,    3,   96,   10,  129,   31,    4, 
  130. /*  440 */    52,    4,   99,   10,  129,   32,    4,   51,    4,  102, 
  131. /*  450 */    10,  129,   32,    5,   50,    5,  105,   10,  129,   33, 
  132. /*  460 */     6,   48,    6,  108,   10,  129,   35,   17,  111,   10, 
  133. /*  470 */   129,   36,   15,  114,    7,  129,   40,    9,  118,    4, 
  134. /*  480 */   129,  193,  129,   48,   18,  129,   43,   28,  129,   41, 
  135. /*  490 */    32,  129,   39,   36,  129,   37,   40,  129,   35,   44, 
  136. /*  500 */   129,   34,   46,  129,   33,   13,   68,   13,  129,   32, 
  137. /*  510 */     9,   73,    9,  129,   32,    7,   75,    7,  129,   31, 
  138. /*  520 */     6,   77,    6,  129,   31,    5,   78,    5,  129,   30, 
  139. /*  530 */     5,   79,    5,  129,   20,   74,  132,   30,    4,   80, 
  140. /*  540 */     4,  129,   31,    3,   79,    4,  129,   31,    4,   79, 
  141. /*  550 */     4,  129,   32,    3,   78,    4,  129,   32,    4,   76, 
  142. /*  560 */     6,  129,   33,    4,   74,    7,  129,   34,    4,   72, 
  143. /*  570 */     8,  129,   35,    5,   72,    7,  129,   37,    5,   73, 
  144. /*  580 */     4,  129,   39,    4,   74,    1,  129,  129,  193,  130, 
  145. /*  590 */   111,    6,  129,  109,   10,  129,  108,   12,  129,  107, 
  146. /*  600 */    14,  129,   97,    2,  105,   16,  129,   99,   22,  129, 
  147. /*  610 */   102,   18,  129,  105,   14,  129,  108,    9,  129,  194, 
  148. /*  620 */   130,   63,   25,  129,   57,   37,  129,   52,   47,  129, 
  149. /*  630 */    48,   55,  129,   44,   63,  129,   41,   69,  129,   38, 
  150. /*  640 */    75,  129,   36,   79,  129,   34,   83,  129,   33,   28, 
  151. /*  650 */    90,   28,  129,   32,   23,   96,   23,  129,   32,   17, 
  152. /*  660 */   102,   17,  129,   31,   13,  107,   13,  129,   30,    9, 
  153. /*  670 */   112,    9,  129,   30,    5,  116,    5,  129,   30,    1, 
  154. /*  680 */   120,    1,  129,  194,  130,   30,    1,  120,    1,  129, 
  155. /*  690 */    30,    5,  116,    5,  129,   30,    9,  112,    9,  129, 
  156. /*  700 */    31,   13,  107,   13,  129,   32,   17,  102,   17,  129, 
  157. /*  710 */    32,   23,   96,   23,  129,   33,   28,   90,   28,  129, 
  158. /*  720 */    34,   83,  129,   36,   79,  129,   38,   75,  129,   41, 
  159. /*  730 */    69,  129,   44,   63,  129,   48,   55,  129,   52,   47, 
  160. /*  740 */   129,   57,   37,  129,   63,   25,  129,  194,  129,   80, 
  161. /*  750 */     4,  130,   80,    4,  129,   68,    2,   80,    4,   94, 
  162. /*  760 */     2,  129,   66,    6,   80,    4,   92,    6,  129,   67, 
  163. /*  770 */     7,   80,    4,   90,    7,  129,   69,    7,   80,    4, 
  164. /*  780 */    88,    7,  129,   71,    6,   80,    4,   87,    6,  129, 
  165. /*  790 */    72,   20,  129,   74,   16,  129,   76,   12,  129,   62, 
  166. /*  800 */    40,  131,   76,   12,  129,   74,   16,  129,   72,   20, 
  167. /*  810 */   129,   71,    6,   80,    4,   87,    6,  129,   69,    7, 
  168. /*  820 */    80,    4,   88,    7,  129,   67,    7,   80,    4,   90, 
  169. /*  830 */     7,  129,   66,    6,   80,    4,   92,    6,  129,   68, 
  170. /*  840 */     2,   80,    4,   94,    2,  129,   80,    4,  130,  193, 
  171. /*  850 */   129,   60,    4,  139,   41,   42,  131,   60,    4,  139, 
  172. /*  860 */   193,  130,   34,    6,  129,   32,   10,  129,   31,   12, 
  173. /*  870 */   129,   30,   14,  129,   20,    2,   28,   16,  129,   22, 
  174. /*  880 */    22,  129,   24,   19,  129,   27,   15,  129,   31,    9, 
  175. /*  890 */   129,  194,  129,   60,    4,  152,  193,  130,   34,    6, 
  176. /*  900 */   129,   32,   10,  129,   31,   12,  129,   30,   14,  131, 
  177. /*  910 */    31,   12,  129,   32,   10,  129,   34,    6,  129,  194, 
  178. /*  920 */   129,   30,    4,  129,   30,    7,  129,   30,   10,  129, 
  179. /*  930 */    33,   10,  129,   36,   10,  129,   39,   10,  129,   42, 
  180. /*  940 */    10,  129,   45,   10,  129,   48,   10,  129,   51,   10, 
  181. /*  950 */   129,   54,   10,  129,   57,   10,  129,   60,   10,  129, 
  182. /*  960 */    63,   10,  129,   66,   10,  129,   69,   10,  129,   72, 
  183. /*  970 */    10,  129,   75,   10,  129,   78,   10,  129,   81,   10, 
  184. /*  980 */   129,   84,   10,  129,   87,   10,  129,   90,   10,  129, 
  185. /*  990 */    93,   10,  129,   96,   10,  129,   99,   10,  129,  102, 
  186. /* 1000 */    10,  129,  105,   10,  129,  108,   10,  129,  111,   10, 
  187. /* 1010 */   129,  114,    7,  129,  117,    4,  129,  193,  129,   60, 
  188. /* 1020 */    31,  129,   53,   45,  129,   49,   53,  129,   46,   59, 
  189. /* 1030 */   129,   43,   65,  129,   41,   69,  129,   39,   73,  129, 
  190. /* 1040 */    37,   77,  129,   36,   79,  129,   35,   15,  101,   15, 
  191. /* 1050 */   129,   34,   11,  106,   11,  129,   33,    9,  109,    9, 
  192. /* 1060 */   129,   32,    7,  112,    7,  129,   31,    6,  114,    6, 
  193. /* 1070 */   129,   31,    5,  115,    5,  129,   30,    5,  116,    5, 
  194. /* 1080 */   129,   30,    4,  117,    4,  132,   30,    5,  116,    5, 
  195. /* 1090 */   129,   31,    5,  115,    5,  129,   31,    6,  114,    6, 
  196. /* 1100 */   129,   32,    7,  112,    7,  129,   33,    9,  109,    9, 
  197. /* 1110 */   129,   34,   11,  106,   11,  129,   35,   15,  101,   15, 
  198. /* 1120 */   129,   36,   79,  129,   37,   77,  129,   39,   73,  129, 
  199. /* 1130 */    41,   69,  129,   43,   65,  129,   46,   59,  129,   49, 
  200. /* 1140 */    53,  129,   53,   45,  129,   60,   31,  129,  193,  129, 
  201. /* 1150 */    30,    4,  129,   30,    4,  100,    1,  129,   30,    4, 
  202. /* 1160 */   100,    3,  129,   30,    4,  100,    5,  129,   30,   76, 
  203. /* 1170 */   129,   30,   78,  129,   30,   80,  129,   30,   82,  129, 
  204. /* 1180 */    30,   83,  129,   30,   85,  129,   30,   87,  129,   30, 
  205. /* 1190 */    89,  129,   30,   91,  129,   30,    4,  132,  193,  129, 
  206. /* 1200 */    30,    3,  129,   30,    7,  129,   30,   10,  112,    1, 
  207. /* 1210 */   129,   30,   13,  112,    2,  129,   30,   16,  112,    3, 
  208. /* 1220 */   129,   30,   18,  111,    5,  129,   30,   21,  111,    6, 
  209. /* 1230 */   129,   30,   23,  112,    6,  129,   30,   14,   47,    8, 
  210. /* 1240 */   113,    6,  129,   30,   14,   49,    8,  114,    5,  129, 
  211. /* 1250 */    30,   14,   51,    8,  115,    5,  129,   30,   14,   53, 
  212. /* 1260 */     8,  116,    4,  129,   30,   14,   55,    8,  116,    5, 
  213. /* 1270 */   129,   30,   14,   56,    9,  117,    4,  129,   30,   14, 
  214. /* 1280 */    57,    9,  117,    4,  129,   30,   14,   58,   10,  117, 
  215. /* 1290 */     4,  129,   30,   14,   59,   10,  117,    4,  129,   30, 
  216. /* 1300 */    14,   60,   11,  117,    4,  129,   30,   14,   61,   11, 
  217. /* 1310 */   116,    5,  129,   30,   14,   62,   11,  116,    5,  129, 
  218. /* 1320 */    30,   14,   63,   12,  115,    6,  129,   30,   14,   64, 
  219. /* 1330 */    13,  114,    7,  129,   30,   14,   65,   13,  113,    8, 
  220. /* 1340 */   129,   30,   14,   65,   15,  111,    9,  129,   30,   14, 
  221. /* 1350 */    66,   16,  109,   11,  129,   30,   14,   67,   17,  107, 
  222. /* 1360 */    12,  129,   30,   14,   68,   20,  103,   16,  129,   30, 
  223. /* 1370 */    14,   69,   49,  129,   30,   14,   70,   47,  129,   30, 
  224. /* 1380 */    14,   71,   45,  129,   30,   14,   73,   42,  129,   30, 
  225. /* 1390 */    15,   75,   38,  129,   33,   12,   77,   34,  129,   36, 
  226. /* 1400 */    10,   79,   30,  129,   40,    6,   82,   23,  129,   44, 
  227. /* 1410 */     3,   86,   15,  129,   47,    1,  129,  193,  129,  129, 
  228. /* 1420 */    38,    3,  129,   37,    5,  111,    1,  129,   36,    7, 
  229. /* 1430 */   111,    2,  129,   35,    9,  110,    5,  129,   34,    8, 
  230. /* 1440 */   110,    6,  129,   33,    7,  109,    8,  129,   32,    7, 
  231. /* 1450 */   110,    8,  129,   32,    6,  112,    7,  129,   31,    6, 
  232. /* 1460 */   113,    6,  129,   31,    5,  114,    6,  129,   30,    5, 
  233. /* 1470 */   115,    5,  129,   30,    5,  116,    4,  129,   30,    4, 
  234. /* 1480 */   117,    4,  131,   30,    4,  117,    4,  129,   30,    4, 
  235. /* 1490 */    79,    2,  117,    4,  129,   30,    5,   78,    4,  117, 
  236. /* 1500 */     4,  129,   30,    5,   77,    6,  116,    5,  129,   30, 
  237. /* 1510 */     6,   76,    8,  115,    6,  129,   30,    7,   75,   11, 
  238. /* 1520 */   114,    6,  129,   30,    8,   73,   15,  112,    8,  129, 
  239. /* 1530 */    31,    9,   71,   19,  110,    9,  129,   31,   11,   68, 
  240. /* 1540 */    26,  107,   12,  129,   32,   13,   65,   14,   82,   36, 
  241. /* 1550 */   129,   32,   16,   61,   17,   83,   34,  129,   33,   44, 
  242. /* 1560 */    84,   32,  129,   34,   42,   85,   30,  129,   35,   40, 
  243. /* 1570 */    87,   27,  129,   36,   38,   89,   23,  129,   38,   34, 
  244. /* 1580 */    92,   17,  129,   40,   30,   95,   11,  129,   42,   26, 
  245. /* 1590 */   129,   45,   20,  129,   49,   11,  129,  193,  129,   49, 
  246. /* 1600 */     1,  129,   49,    4,  129,   49,    6,  129,   49,    8, 
  247. /* 1610 */   129,   49,   10,  129,   49,   12,  129,   49,   14,  129, 
  248. /* 1620 */    49,   17,  129,   49,   19,  129,   49,   21,  129,   49, 
  249. /* 1630 */    23,  129,   49,   14,   65,    9,  129,   49,   14,   67, 
  250. /* 1640 */     9,  129,   49,   14,   69,    9,  129,   49,   14,   71, 
  251. /* 1650 */    10,  129,   49,   14,   74,    9,  129,   49,   14,   76, 
  252. /* 1660 */     9,  129,   49,   14,   78,    9,  129,   49,   14,   80, 
  253. /* 1670 */     9,  129,   49,   14,   82,    9,  129,   49,   14,   84, 
  254. /* 1680 */     9,  129,   30,    4,   49,   14,   86,   10,  129,   30, 
  255. /* 1690 */     4,   49,   14,   89,    9,  129,   30,    4,   49,   14, 
  256. /* 1700 */    91,    9,  129,   30,    4,   49,   14,   93,    9,  129, 
  257. /* 1710 */    30,   74,  129,   30,   76,  129,   30,   78,  129,   30, 
  258. /* 1720 */    81,  129,   30,   83,  129,   30,   85,  129,   30,   87, 
  259. /* 1730 */   129,   30,   89,  129,   30,   91,  129,   30,    4,   49, 
  260. /* 1740 */    14,  132,  193,  129,   37,    1,  129,   36,    3,   77, 
  261. /* 1750 */     3,  129,   35,    5,   78,   11,  129,   34,    7,   78, 
  262. /* 1760 */    21,  129,   33,    7,   79,   29,  129,   32,    7,   79, 
  263. /* 1770 */    38,  129,   32,    6,   80,    4,   92,   29,  129,   31, 
  264. /* 1780 */     6,   80,    5,  102,   19,  129,   31,    5,   80,    6, 
  265. /* 1790 */   107,   14,  129,   31,    4,   81,    5,  107,   14,  129, 
  266. /* 1800 */    30,    5,   81,    6,  107,   14,  129,   30,    4,   81, 
  267. /* 1810 */     6,  107,   14,  130,   30,    4,   81,    7,  107,   14, 
  268. /* 1820 */   129,   30,    4,   80,    8,  107,   14,  130,   30,    5, 
  269. /* 1830 */    80,    8,  107,   14,  129,   30,    5,   79,    9,  107, 
  270. /* 1840 */    14,  129,   31,    5,   79,    9,  107,   14,  129,   31, 
  271. /* 1850 */     6,   78,   10,  107,   14,  129,   32,    6,   76,   11, 
  272. /* 1860 */   107,   14,  129,   32,    8,   74,   13,  107,   14,  129, 
  273. /* 1870 */    33,   10,   71,   16,  107,   14,  129,   33,   15,   67, 
  274. /* 1880 */    19,  107,   14,  129,   34,   51,  107,   14,  129,   35, 
  275. /* 1890 */    49,  107,   14,  129,   36,   47,  107,   14,  129,   37, 
  276. /* 1900 */    45,  107,   14,  129,   39,   41,  107,   14,  129,   41, 
  277. /* 1910 */    37,  107,   14,  129,   44,   32,  107,   14,  129,   47, 
  278. /* 1920 */    25,  111,   10,  129,   51,   16,  115,    6,  129,  119, 
  279. /* 1930 */     2,  129,  193,  129,   56,   39,  129,   51,   49,  129, 
  280. /* 1940 */    47,   57,  129,   44,   63,  129,   42,   67,  129,   40, 
  281. /* 1950 */    71,  129,   38,   75,  129,   37,   77,  129,   35,   81, 
  282. /* 1960 */   129,   34,   16,   74,    5,  101,   16,  129,   33,   11, 
  283. /* 1970 */    76,    5,  107,   11,  129,   32,    9,   77,    5,  110, 
  284. /* 1980 */     9,  129,   32,    7,   79,    4,  112,    7,  129,   31, 
  285. /* 1990 */     6,   80,    4,  114,    6,  129,   31,    5,   81,    4, 
  286. /* 2000 */   115,    5,  129,   30,    5,   82,    4,  116,    5,  129, 
  287. /* 2010 */    30,    4,   82,    4,  116,    5,  129,   30,    4,   82, 
  288. /* 2020 */     5,  117,    4,  131,   30,    5,   82,    5,  117,    4, 
  289. /* 2030 */   129,   31,    5,   81,    6,  117,    4,  129,   31,    6, 
  290. /* 2040 */    80,    7,  117,    4,  129,   32,    7,   79,    8,  117, 
  291. /* 2050 */     4,  129,   32,    9,   77,    9,  116,    5,  129,   33, 
  292. /* 2060 */    11,   75,   11,  116,    4,  129,   34,   16,   69,   16, 
  293. /* 2070 */   115,    5,  129,   35,   49,  114,    5,  129,   37,   46, 
  294. /* 2080 */   113,    5,  129,   38,   44,  112,    6,  129,   40,   41, 
  295. /* 2090 */   112,    5,  129,   42,   37,  113,    3,  129,   44,   33, 
  296. /* 2100 */   114,    1,  129,   47,   27,  129,   51,   17,  129,  193, 
  297. /* 2110 */   129,  103,    2,  129,  103,    6,  129,  104,    9,  129, 
  298. /* 2120 */   105,   12,  129,  106,   15,  129,  107,   14,  135,   30, 
  299. /* 2130 */    10,  107,   14,  129,   30,   17,  107,   14,  129,   30, 
  300. /* 2140 */    25,  107,   14,  129,   30,   31,  107,   14,  129,   30, 
  301. /* 2150 */    37,  107,   14,  129,   30,   42,  107,   14,  129,   30, 
  302. /* 2160 */    46,  107,   14,  129,   30,   50,  107,   14,  129,   30, 
  303. /* 2170 */    54,  107,   14,  129,   30,   58,  107,   14,  129,   59, 
  304. /* 2180 */    32,  107,   14,  129,   64,   30,  107,   14,  129,   74, 
  305. /* 2190 */    23,  107,   14,  129,   81,   18,  107,   14,  129,   86, 
  306. /* 2200 */    16,  107,   14,  129,   91,   14,  107,   14,  129,   96, 
  307. /* 2210 */    25,  129,  100,   21,  129,  104,   17,  129,  107,   14, 
  308. /* 2220 */   129,  111,   10,  129,  114,    7,  129,  117,    4,  129, 
  309. /* 2230 */   120,    1,  129,  193,  129,   48,   13,  129,   44,   21, 
  310. /* 2240 */   129,   42,   26,  129,   40,   30,   92,   12,  129,   38, 
  311. /* 2250 */    34,   88,   20,  129,   36,   37,   86,   25,  129,   35, 
  312. /* 2260 */    39,   84,   29,  129,   34,   13,   63,   12,   82,   33, 
  313. /* 2270 */   129,   33,   11,   67,    9,   80,   36,  129,   32,    9, 
  314. /* 2280 */    70,    7,   79,   38,  129,   31,    8,   72,   46,  129, 
  315. /* 2290 */    30,    7,   74,   22,  108,   11,  129,   30,    6,   75, 
  316. /* 2300 */    19,  111,    9,  129,   30,    5,   75,   17,  113,    7, 
  317. /* 2310 */   129,   30,    5,   74,   16,  114,    6,  129,   30,    4, 
  318. /* 2320 */    73,   16,  115,    6,  129,   30,    4,   72,   16,  116, 
  319. /* 2330 */     5,  129,   30,    4,   72,   15,  117,    4,  129,   30, 
  320. /* 2340 */     4,   71,   16,  117,    4,  129,   30,    5,   70,   16, 
  321. /* 2350 */   117,    4,  129,   30,    5,   70,   15,  117,    4,  129, 
  322. /* 2360 */    30,    6,   69,   15,  116,    5,  129,   30,    7,   68, 
  323. /* 2370 */    17,  115,    5,  129,   30,    9,   67,   19,  114,    6, 
  324. /* 2380 */   129,   30,   10,   65,   22,  113,    6,  129,   31,   12, 
  325. /* 2390 */    63,   27,  110,    9,  129,   32,   14,   60,   21,   84, 
  326. /* 2400 */     9,  106,   12,  129,   33,   47,   85,   32,  129,   34, 
  327. /* 2410 */    45,   86,   30,  129,   35,   43,   88,   26,  129,   36, 
  328. /* 2420 */    40,   90,   22,  129,   38,   36,   93,   17,  129,   40, 
  329. /* 2430 */    32,   96,   10,  129,   42,   28,  129,   44,   23,  129, 
  330. /* 2440 */    48,   15,  129,  193,  129,   83,   17,  129,   77,   27, 
  331. /* 2450 */   129,   36,    1,   74,   33,  129,   35,    3,   72,   37, 
  332. /* 2460 */   129,   34,    5,   70,   41,  129,   33,    6,   69,   44, 
  333. /* 2470 */   129,   33,    5,   68,   46,  129,   32,    5,   67,   49, 
  334. /* 2480 */   129,   31,    5,   66,   17,  101,   16,  129,   31,    5, 
  335. /* 2490 */    66,   11,  108,   10,  129,   30,    4,   65,    9,  110, 
  336. /* 2500 */     9,  129,   30,    4,   64,    8,  112,    7,  129,   30, 
  337. /* 2510 */     4,   64,    7,  114,    6,  129,   30,    4,   64,    6, 
  338. /* 2520 */   115,    5,  129,   30,    4,   64,    5,  116,    5,  129, 
  339. /* 2530 */    30,    4,   64,    5,  117,    4,  131,   30,    4,   65, 
  340. /* 2540 */     4,  117,    4,  129,   30,    5,   65,    4,  116,    5, 
  341. /* 2550 */   129,   31,    5,   66,    4,  115,    5,  129,   31,    6, 
  342. /* 2560 */    67,    4,  114,    6,  129,   32,    7,   68,    4,  112, 
  343. /* 2570 */     7,  129,   32,    9,   69,    5,  110,    9,  129,   33, 
  344. /* 2580 */    11,   70,    5,  107,   11,  129,   34,   16,   72,    5, 
  345. /* 2590 */   101,   16,  129,   35,   81,  129,   37,   77,  129,   38, 
  346. /* 2600 */    75,  129,   40,   71,  129,   42,   67,  129,   44,   63, 
  347. /* 2610 */   129,   47,   57,  129,   51,   49,  129,   56,   39,  129, 
  348. /* 2620 */   193,  130,   34,    6,   74,    6,  129,   32,   10,   72, 
  349. /* 2630 */    10,  129,   31,   12,   71,   12,  129,   30,   14,   70, 
  350. /* 2640 */    14,  131,   31,   12,   71,   12,  129,   32,   10,   72, 
  351. /* 2650 */    10,  129,   34,    6,   74,    6,  129,  194,  130,   34, 
  352. /* 2660 */     6,   74,    6,  129,   32,   10,   72,   10,  129,   31, 
  353. /* 2670 */    12,   71,   12,  129,   30,   14,   70,   14,  129,   20, 
  354. /* 2680 */     2,   28,   16,   70,   14,  129,   22,   22,   70,   14, 
  355. /* 2690 */   129,   24,   19,   71,   12,  129,   27,   15,   72,   10, 
  356. /* 2700 */   129,   31,    9,   74,    6,  129,  194,  129,   53,    4, 
  357. /* 2710 */    63,    4,  152,  193,  130,   99,    7,  129,   97,   13, 
  358. /* 2720 */   129,   96,   16,  129,   96,   18,  129,   96,   19,  129, 
  359. /* 2730 */    97,   19,  129,   99,    6,  110,    7,  129,  112,    6, 
  360. /* 2740 */   129,  114,    5,  129,   34,    6,   57,    5,  115,    4, 
  361. /* 2750 */   129,   32,   10,   54,   12,  116,    4,  129,   31,   12, 
  362. /* 2760 */    53,   16,  117,    3,  129,   30,   14,   52,   20,  117, 
  363. /* 2770 */     4,  129,   30,   14,   52,   23,  117,    4,  129,   30, 
  364. /* 2780 */    14,   52,   25,  117,    4,  129,   31,   12,   52,   27, 
  365. /* 2790 */   117,    4,  129,   32,   10,   53,   10,   70,   11,  116, 
  366. /* 2800 */     5,  129,   34,    6,   55,    5,   73,   10,  115,    6, 
  367. /* 2810 */   129,   74,   11,  114,    7,  129,   75,   12,  112,    9, 
  368. /* 2820 */   129,   76,   13,  110,   10,  129,   77,   16,  106,   14, 
  369. /* 2830 */   129,   78,   41,  129,   80,   38,  129,   81,   36,  129, 
  370. /* 2840 */    82,   34,  129,   84,   30,  129,   86,   26,  129,   88, 
  371. /* 2850 */    22,  129,   92,   14,  129,  194,  129,   55,   15,  129, 
  372. /* 2860 */    50,   25,  129,   47,   32,  129,   45,   13,   70,   12, 
  373. /* 2870 */   129,   43,    9,   76,   10,  129,   42,    6,   79,    8, 
  374. /* 2880 */   129,   41,    5,   81,    7,  129,   40,    4,   84,    6, 
  375. /* 2890 */   129,   39,    4,   59,   12,   85,    6,  129,   38,    4, 
  376. /* 2900 */    55,   19,   87,    5,  129,   37,    4,   53,   23,   88, 
  377. /* 2910 */     4,  129,   36,    4,   51,    8,   71,    6,   89,    4, 
  378. /* 2920 */   129,   36,    4,   51,    6,   73,    4,   89,    4,  129, 
  379. /* 2930 */    36,    4,   50,    6,   74,    4,   90,    3,  129,   35, 
  380. /* 2940 */     4,   50,    5,   75,    3,   90,    4,  129,   35,    4, 
  381. /* 2950 */    50,    4,   75,    4,   90,    4,  131,   35,    4,   50, 
  382. /* 2960 */     5,   75,    4,   90,    4,  129,   36,    4,   51,    5, 
  383. /* 2970 */    75,    4,   90,    4,  129,   36,    4,   51,    6,   75, 
  384. /* 2980 */     4,   90,    4,  129,   36,    4,   53,   26,   90,    4, 
  385. /* 2990 */   129,   37,    4,   54,   25,   90,    4,  129,   37,    4, 
  386. /* 3000 */    52,   27,   90,    3,  129,   38,    4,   52,    4,   89, 
  387. /* 3010 */     4,  129,   39,    4,   51,    4,   88,    4,  129,   40, 
  388. /* 3020 */     4,   50,    4,   87,    5,  129,   41,    4,   50,    4, 
  389. /* 3030 */    86,    5,  129,   42,    4,   50,    4,   85,    5,  129, 
  390. /* 3040 */    43,    3,   50,    4,   83,    6,  129,   44,    2,   51, 
  391. /* 3050 */     5,   80,    7,  129,   46,    1,   52,    6,   76,    9, 
  392. /* 3060 */   129,   54,   28,  129,   56,   23,  129,   60,   16,  129, 
  393. /* 3070 */   193,  129,   30,    4,  132,   30,    5,  129,   30,    8, 
  394. /* 3080 */   129,   30,   12,  129,   30,   16,  129,   30,    4,   37, 
  395. /* 3090 */    12,  129,   30,    4,   41,   12,  129,   30,    4,   44, 
  396. /* 3100 */    13,  129,   30,    4,   48,   13,  129,   52,   13,  129, 
  397. /* 3110 */    56,   12,  129,   58,   14,  129,   58,    4,   64,   12, 
  398. /* 3120 */   129,   58,    4,   68,   12,  129,   58,    4,   72,   12, 
  399. /* 3130 */   129,   58,    4,   75,   13,  129,   58,    4,   79,   13, 
  400. /* 3140 */   129,   58,    4,   83,   13,  129,   58,    4,   87,   13, 
  401. /* 3150 */   129,   58,    4,   91,   12,  129,   58,    4,   95,   12, 
  402. /* 3160 */   129,   58,    4,   96,   15,  129,   58,    4,   93,   22, 
  403. /* 3170 */   129,   58,    4,   89,   30,  129,   58,    4,   85,   36, 
  404. /* 3180 */   129,   58,    4,   81,   38,  129,   58,    4,   77,   38, 
  405. /* 3190 */   129,   58,    4,   73,   38,  129,   58,    4,   70,   37, 
  406. /* 3200 */   129,   58,    4,   66,   37,  129,   58,   41,  129,   58, 
  407. /* 3210 */    37,  129,   54,   38,  129,   30,    4,   50,   38,  129, 
  408. /* 3220 */    30,    4,   46,   38,  129,   30,    4,   42,   38,  129, 
  409. /* 3230 */    30,    4,   38,   39,  129,   30,   43,  129,   30,   39, 
  410. /* 3240 */   129,   30,   35,  129,   30,   31,  129,   30,   27,  129, 
  411. /* 3250 */    30,   24,  129,   30,   20,  129,   30,   16,  129,   30, 
  412. /* 3260 */    12,  129,   30,    8,  129,   30,    5,  129,   30,    4, 
  413. /* 3270 */   132,  193,  129,   30,    4,  117,    4,  132,   30,   91, 
  414. /* 3280 */   137,   30,    4,   80,    4,  117,    4,  138,   30,    4, 
  415. /* 3290 */    80,    5,  116,    5,  129,   30,    5,   79,    6,  116, 
  416. /* 3300 */     5,  130,   30,    6,   78,    8,  115,    6,  129,   31, 
  417. /* 3310 */     6,   77,    9,  115,    6,  129,   31,    7,   76,   11, 
  418. /* 3320 */   114,    6,  129,   31,    8,   75,   14,  112,    8,  129, 
  419. /* 3330 */    32,    8,   74,   16,  111,    9,  129,   32,    9,   73, 
  420. /* 3340 */    19,  109,   10,  129,   33,   10,   71,   24,  106,   13, 
  421. /* 3350 */   129,   33,   13,   68,   12,   83,   35,  129,   34,   16, 
  422. /* 3360 */    64,   15,   84,   33,  129,   35,   43,   85,   31,  129, 
  423. /* 3370 */    36,   41,   86,   29,  129,   37,   39,   88,   25,  129, 
  424. /* 3380 */    38,   37,   90,   21,  129,   40,   33,   93,   15,  129, 
  425. /* 3390 */    42,   29,   96,    9,  129,   45,   24,  129,   49,   16, 
  426. /* 3400 */   129,  193,  129,   63,   25,  129,   57,   37,  129,   53, 
  427. /* 3410 */    45,  129,   50,   51,  129,   47,   57,  129,   45,   61, 
  428. /* 3420 */   129,   43,   65,  129,   41,   69,  129,   39,   73,  129, 
  429. /* 3430 */    38,   25,   92,   21,  129,   36,   21,   97,   18,  129, 
  430. /* 3440 */    35,   18,  102,   14,  129,   34,   16,  106,   11,  129, 
  431. /* 3450 */    33,   14,  108,   10,  129,   32,   12,  111,    8,  129, 
  432. /* 3460 */    32,   10,  113,    6,  129,   31,   10,  114,    6,  129, 
  433. /* 3470 */    31,    8,  115,    5,  129,   30,    8,  116,    5,  129, 
  434. /* 3480 */    30,    7,  116,    5,  129,   30,    6,  117,    4,  130, 
  435. /* 3490 */    30,    5,  117,    4,  131,   31,    4,  116,    5,  129, 
  436. /* 3500 */    32,    4,  116,    4,  129,   32,    5,  115,    5,  129, 
  437. /* 3510 */    33,    4,  114,    5,  129,   34,    4,  112,    6,  129, 
  438. /* 3520 */    35,    4,  110,    7,  129,   37,    4,  107,    9,  129, 
  439. /* 3530 */    39,    4,  103,   12,  129,   41,    4,  103,   18,  129, 
  440. /* 3540 */    43,    4,  103,   18,  129,   45,    5,  103,   18,  129, 
  441. /* 3550 */    48,    5,  103,   18,  129,   51,    1,  129,  193,  129, 
  442. /* 3560 */    30,    4,  117,    4,  132,   30,   91,  137,   30,    4, 
  443. /* 3570 */   117,    4,  135,   30,    5,  116,    5,  130,   30,    6, 
  444. /* 3580 */   115,    6,  130,   31,    6,  114,    6,  129,   31,    7, 
  445. /* 3590 */   113,    7,  129,   32,    7,  112,    7,  129,   32,    8, 
  446. /* 3600 */   111,    8,  129,   33,    9,  109,    9,  129,   33,   12, 
  447. /* 3610 */   106,   12,  129,   34,   13,  104,   13,  129,   35,   15, 
  448. /* 3620 */   101,   15,  129,   36,   19,   96,   19,  129,   37,   24, 
  449. /* 3630 */    90,   24,  129,   39,   73,  129,   40,   71,  129,   42, 
  450. /* 3640 */    67,  129,   44,   63,  129,   46,   59,  129,   49,   53, 
  451. /* 3650 */   129,   52,   47,  129,   56,   39,  129,   61,   29,  129, 
  452. /* 3660 */   193,  129,   30,    4,  117,    4,  132,   30,   91,  137, 
  453. /* 3670 */    30,    4,   80,    4,  117,    4,  140,   30,    4,   79, 
  454. /* 3680 */     6,  117,    4,  129,   30,    4,   77,   10,  117,    4, 
  455. /* 3690 */   129,   30,    4,   73,   18,  117,    4,  132,   30,    4, 
  456. /* 3700 */   117,    4,  130,   30,    5,  116,    5,  130,   30,    7, 
  457. /* 3710 */   114,    7,  129,   30,    8,  113,    8,  129,   30,   11, 
  458. /* 3720 */   110,   11,  129,   30,   18,  103,   18,  132,  193,  129, 
  459. /* 3730 */    30,    4,  117,    4,  132,   30,   91,  137,   30,    4, 
  460. /* 3740 */    80,    4,  117,    4,  132,   80,    4,  117,    4,  136, 
  461. /* 3750 */    79,    6,  117,    4,  129,   77,   10,  117,    4,  129, 
  462. /* 3760 */    73,   18,  117,    4,  132,  117,    4,  130,  116,    5, 
  463. /* 3770 */   130,  114,    7,  129,  113,    8,  129,  110,   11,  129, 
  464. /* 3780 */   103,   18,  132,  193,  129,   63,   25,  129,   57,   37, 
  465. /* 3790 */   129,   53,   45,  129,   50,   51,  129,   47,   57,  129, 
  466. /* 3800 */    45,   61,  129,   43,   65,  129,   41,   69,  129,   39, 
  467. /* 3810 */    73,  129,   38,   25,   92,   21,  129,   36,   21,   97, 
  468. /* 3820 */    18,  129,   35,   18,  102,   14,  129,   34,   16,  106, 
  469. /* 3830 */    11,  129,   33,   14,  108,   10,  129,   32,   12,  111, 
  470. /* 3840 */     8,  129,   32,   10,  113,    6,  129,   31,   10,  114, 
  471. /* 3850 */     6,  129,   31,    8,  115,    5,  129,   30,    8,  116, 
  472. /* 3860 */     5,  129,   30,    7,  116,    5,  129,   30,    6,  117, 
  473. /* 3870 */     4,  130,   30,    5,  117,    4,  131,   30,    5,   75, 
  474. /* 3880 */     4,  116,    5,  129,   31,    5,   75,    4,  116,    4, 
  475. /* 3890 */   129,   31,    6,   75,    4,  115,    5,  129,   32,    7, 
  476. /* 3900 */    75,    4,  114,    5,  129,   32,    9,   75,    4,  112, 
  477. /* 3910 */     6,  129,   33,   11,   75,    4,  110,    7,  129,   34, 
  478. /* 3920 */    15,   75,    4,  107,    9,  129,   35,   44,  103,   12, 
  479. /* 3930 */   129,   36,   43,  103,   18,  129,   38,   41,  103,   18, 
  480. /* 3940 */   129,   39,   40,  103,   18,  129,   41,   38,  103,   18, 
  481. /* 3950 */   129,   44,   35,  129,   48,   31,  129,   52,   27,  129, 
  482. /* 3960 */    61,   18,  129,  193,  129,   30,    4,  117,    4,  132, 
  483. /* 3970 */    30,   91,  137,   30,    4,   80,    4,  117,    4,  132, 
  484. /* 3980 */    80,    4,  140,   30,    4,   80,    4,  117,    4,  132, 
  485. /* 3990 */    30,   91,  137,   30,    4,  117,    4,  132,  193,  129, 
  486. /* 4000 */    30,    4,  117,    4,  132,   30,   91,  137,   30,    4, 
  487. /* 4010 */   117,    4,  132,  193,  129,   44,    7,  129,   40,   13, 
  488. /* 4020 */   129,   37,   17,  129,   35,   20,  129,   34,   22,  129, 
  489. /* 4030 */    33,   23,  129,   32,   24,  129,   32,   23,  129,   31, 
  490. /* 4040 */     6,   41,   13,  129,   31,    5,   42,   11,  129,   30, 
  491. /* 4050 */     5,   44,    7,  129,   30,    4,  132,   30,    5,  130, 
  492. /* 4060 */    31,    5,  129,   31,    6,  117,    4,  129,   31,    8, 
  493. /* 4070 */   117,    4,  129,   32,    9,  117,    4,  129,   33,   11, 
  494. /* 4080 */   117,    4,  129,   34,   87,  129,   35,   86,  129,   36, 
  495. /* 4090 */    85,  129,   37,   84,  129,   38,   83,  129,   40,   81, 
  496. /* 4100 */   129,   42,   79,  129,   45,   76,  129,   50,   71,  129, 
  497. /* 4110 */   117,    4,  132,  193,  129,   30,    4,  117,    4,  132, 
  498. /* 4120 */    30,   91,  137,   30,    4,   76,    8,  117,    4,  129, 
  499. /* 4130 */    30,    4,   73,   13,  117,    4,  129,   30,    4,   70, 
  500. /* 4140 */    18,  117,    4,  129,   30,    4,   67,   23,  117,    4, 
  501. /* 4150 */   129,   65,   26,  129,   62,   31,  129,   59,   35,  129, 
  502. /* 4160 */    56,   29,   89,    7,  129,   53,   29,   91,    7,  129, 
  503. /* 4170 */    50,   29,   93,    7,  129,   47,   29,   95,    6,  129, 
  504. /* 4180 */    30,    4,   45,   29,   96,    7,  129,   30,    4,   42, 
  505. /* 4190 */    29,   98,    7,  129,   30,    4,   39,   30,  100,    6, 
  506. /* 4200 */   129,   30,    4,   36,   30,  101,    7,  129,   30,   33, 
  507. /* 4210 */   103,    7,  117,    4,  129,   30,   30,  105,    6,  117, 
  508. /* 4220 */     4,  129,   30,   27,  106,    7,  117,    4,  129,   30, 
  509. /* 4230 */    25,  108,    7,  117,    4,  129,   30,   22,  110,   11, 
  510. /* 4240 */   129,   30,   19,  111,   10,  129,   30,   16,  113,    8, 
  511. /* 4250 */   129,   30,   13,  115,    6,  129,   30,   11,  116,    5, 
  512. /* 4260 */   129,   30,    8,  117,    4,  129,   30,    5,  117,    4, 
  513. /* 4270 */   129,   30,    4,  117,    4,  130,   30,    4,  130,  193, 
  514. /* 4280 */   129,   30,    4,  117,    4,  132,   30,   91,  137,   30, 
  515. /* 4290 */     4,  117,    4,  132,   30,    4,  144,   30,    5,  130, 
  516. /* 4300 */    30,    7,  129,   30,    8,  129,   30,   11,  129,   30, 
  517. /* 4310 */    18,  132,  193,  129,   30,    4,  117,    4,  132,   30, 
  518. /* 4320 */    91,  132,   30,    4,  103,   18,  129,   30,    4,   97, 
  519. /* 4330 */    24,  129,   30,    4,   92,   29,  129,   30,    4,   87, 
  520. /* 4340 */    34,  129,   81,   40,  129,   76,   45,  129,   70,   49, 
  521. /* 4350 */   129,   65,   49,  129,   60,   49,  129,   55,   49,  129, 
  522. /* 4360 */    50,   48,  129,   44,   49,  129,   39,   48,  129,   33, 
  523. /* 4370 */    49,  129,   30,   47,  129,   34,   37,  129,   40,   26, 
  524. /* 4380 */   129,   46,   19,  129,   52,   19,  129,   58,   19,  129, 
  525. /* 4390 */    64,   19,  129,   70,   19,  129,   76,   19,  129,   82, 
  526. /* 4400 */    19,  129,   30,    4,   88,   18,  129,   30,    4,   94, 
  527. /* 4410 */    18,  129,   30,    4,  100,   18,  129,   30,    4,  106, 
  528. /* 4420 */    15,  129,   30,   91,  137,   30,    4,  117,    4,  132, 
  529. /* 4430 */   193,  129,   30,    4,  117,    4,  132,   30,   91,  132, 
  530. /* 4440 */    30,    4,  107,   14,  129,   30,    4,  104,   17,  129, 
  531. /* 4450 */    30,    4,  101,   20,  129,   30,    4,   99,   22,  129, 
  532. /* 4460 */    96,   25,  129,   93,   28,  129,   91,   28,  129,   88, 
  533. /* 4470 */    29,  129,   85,   29,  129,   82,   29,  129,   79,   29, 
  534. /* 4480 */   129,   76,   29,  129,   74,   29,  129,   71,   29,  129, 
  535. /* 4490 */    68,   29,  129,   65,   29,  129,   62,   29,  129,   60, 
  536. /* 4500 */    29,  129,   57,   29,  129,   54,   29,  129,   51,   29, 
  537. /* 4510 */   129,   49,   28,  129,   46,   29,  129,   43,   29,  129, 
  538. /* 4520 */    40,   29,  117,    4,  129,   37,   29,  117,    4,  129, 
  539. /* 4530 */    35,   29,  117,    4,  129,   32,   29,  117,    4,  129, 
  540. /* 4540 */    30,   91,  132,  117,    4,  132,  193,  129,   63,   25, 
  541. /* 4550 */   129,   57,   37,  129,   53,   45,  129,   50,   51,  129, 
  542. /* 4560 */    47,   57,  129,   45,   61,  129,   43,   65,  129,   41, 
  543. /* 4570 */    69,  129,   39,   73,  129,   38,   21,   92,   21,  129, 
  544. /* 4580 */    36,   18,   97,   18,  129,   35,   14,  102,   14,  129, 
  545. /* 4590 */    34,   11,  106,   11,  129,   33,   10,  108,   10,  129, 
  546. /* 4600 */    32,    8,  111,    8,  129,   32,    6,  113,    6,  129, 
  547. /* 4610 */    31,    6,  114,    6,  129,   31,    5,  115,    5,  129, 
  548. /* 4620 */    30,    5,  116,    5,  130,   30,    4,  117,    4,  132, 
  549. /* 4630 */    30,    5,  116,    5,  130,   31,    5,  115,    5,  129, 
  550. /* 4640 */    31,    6,  114,    6,  129,   32,    6,  113,    6,  129, 
  551. /* 4650 */    32,    8,  111,    8,  129,   33,   10,  108,   10,  129, 
  552. /* 4660 */    34,   11,  106,   11,  129,   35,   14,  102,   14,  129, 
  553. /* 4670 */    36,   18,   97,   18,  129,   38,   21,   92,   21,  129, 
  554. /* 4680 */    39,   73,  129,   41,   69,  129,   43,   65,  129,   45, 
  555. /* 4690 */    61,  129,   47,   57,  129,   50,   51,  129,   53,   45, 
  556. /* 4700 */   129,   57,   37,  129,   63,   25,  129,  193,  129,   30, 
  557. /* 4710 */     4,  117,    4,  132,   30,   91,  137,   30,    4,   80, 
  558. /* 4720 */     4,  117,    4,  132,   80,    4,  117,    4,  134,   80, 
  559. /* 4730 */     5,  116,    5,  131,   80,    6,  115,    6,  130,   81, 
  560. /* 4740 */     6,  114,    6,  129,   81,    8,  112,    8,  129,   81, 
  561. /* 4750 */     9,  111,    9,  129,   82,   10,  109,   10,  129,   82, 
  562. /* 4760 */    13,  106,   13,  129,   83,   35,  129,   84,   33,  129, 
  563. /* 4770 */    85,   31,  129,   86,   29,  129,   88,   25,  129,   90, 
  564. /* 4780 */    21,  129,   93,   15,  129,   96,    9,  129,  193,  129, 
  565. /* 4790 */    63,   25,  129,   57,   37,  129,   53,   45,  129,   50, 
  566. /* 4800 */    51,  129,   47,   57,  129,   45,   61,  129,   43,   65, 
  567. /* 4810 */   129,   41,   69,  129,   39,   73,  129,   38,   21,   92, 
  568. /* 4820 */    21,  129,   36,   18,   97,   18,  129,   35,   14,  102, 
  569. /* 4830 */    14,  129,   34,   11,  106,   11,  129,   33,   10,  108, 
  570. /* 4840 */    10,  129,   32,    8,  111,    8,  129,   32,    6,  113, 
  571. /* 4850 */     6,  129,   31,    6,  114,    6,  129,   31,    5,  115, 
  572. /* 4860 */     5,  129,   30,    5,  116,    5,  130,   30,    4,   39, 
  573. /* 4870 */     2,  117,    4,  129,   30,    4,   40,    4,  117,    4, 
  574. /* 4880 */   129,   30,    4,   41,    5,  117,    4,  129,   30,    4, 
  575. /* 4890 */    41,    6,  117,    4,  129,   30,    5,   40,    8,  116, 
  576. /* 4900 */     5,  129,   30,    5,   39,   10,  116,    5,  129,   31, 
  577. /* 4910 */     5,   38,   11,  115,    5,  129,   31,   18,  114,    6, 
  578. /* 4920 */   129,   32,   17,  113,    6,  129,   32,   16,  111,    8, 
  579. /* 4930 */   129,   33,   15,  108,   10,  129,   33,   14,  106,   11, 
  580. /* 4940 */   129,   32,   17,  102,   14,  129,   31,   23,   97,   18, 
  581. /* 4950 */   129,   31,   28,   92,   21,  129,   30,   82,  129,   30, 
  582. /* 4960 */    80,  129,   30,   11,   43,   65,  129,   30,   10,   45, 
  583. /* 4970 */    61,  129,   31,    8,   47,   57,  129,   32,    6,   50, 
  584. /* 4980 */    51,  129,   33,    5,   53,   45,  129,   35,    4,   57, 
  585. /* 4990 */    37,  129,   38,    2,   63,   25,  129,  193,  129,   30, 
  586. /* 5000 */     4,  117,    4,  132,   30,   91,  137,   30,    4,   76, 
  587. /* 5010 */     8,  117,    4,  129,   30,    4,   73,   11,  117,    4, 
  588. /* 5020 */   129,   30,    4,   70,   14,  117,    4,  129,   30,    4, 
  589. /* 5030 */    67,   17,  117,    4,  129,   65,   19,  117,    4,  129, 
  590. /* 5040 */    62,   22,  117,    4,  129,   59,   25,  117,    4,  129, 
  591. /* 5050 */    56,   28,  117,    4,  129,   53,   31,  117,    4,  129, 
  592. /* 5060 */    50,   34,  117,    4,  129,   47,   29,   80,    5,  116, 
  593. /* 5070 */     5,  129,   30,    4,   45,   29,   80,    5,  116,    5, 
  594. /* 5080 */   129,   30,    4,   42,   29,   80,    5,  116,    5,  129, 
  595. /* 5090 */    30,    4,   39,   30,   80,    6,  115,    6,  129,   30, 
  596. /* 5100 */     4,   36,   30,   80,    6,  115,    6,  129,   30,   33, 
  597. /* 5110 */    81,    6,  114,    6,  129,   30,   30,   81,    8,  112, 
  598. /* 5120 */     8,  129,   30,   27,   81,    9,  111,    9,  129,   30, 
  599. /* 5130 */    25,   82,   10,  109,   10,  129,   30,   22,   82,   13, 
  600. /* 5140 */   106,   13,  129,   30,   19,   83,   35,  129,   30,   16, 
  601. /* 5150 */    84,   33,  129,   30,   13,   85,   31,  129,   30,   11, 
  602. /* 5160 */    86,   29,  129,   30,    8,   88,   25,  129,   30,    5, 
  603. /* 5170 */    90,   21,  129,   30,    4,   93,   15,  129,   30,    4, 
  604. /* 5180 */    96,    9,  129,   30,    4,  130,  193,  129,   30,   18, 
  605. /* 5190 */   130,   30,   18,   89,   15,  129,   30,   18,   85,   23, 
  606. /* 5200 */   129,   34,   11,   83,   27,  129,   34,    9,   81,   31, 
  607. /* 5210 */   129,   33,    8,   79,   35,  129,   33,    6,   78,   16, 
  608. /* 5220 */   106,    9,  129,   32,    6,   77,   15,  109,    7,  129, 
  609. /* 5230 */    32,    5,   76,   14,  111,    6,  129,   31,    5,   75, 
  610. /* 5240 */    14,  113,    5,  129,   31,    4,   74,   15,  114,    5, 
  611. /* 5250 */   129,   31,    4,   74,   14,  115,    4,  129,   30,    4, 
  612. /* 5260 */    73,   15,  116,    4,  129,   30,    4,   73,   14,  116, 
  613. /* 5270 */     4,  129,   30,    4,   73,   14,  117,    4,  129,   30, 
  614. /* 5280 */     4,   72,   15,  117,    4,  130,   30,    4,   71,   15, 
  615. /* 5290 */   117,    4,  130,   30,    4,   70,   15,  117,    4,  129, 
  616. /* 5300 */    30,    5,   70,   15,  117,    4,  129,   30,    5,   69, 
  617. /* 5310 */    15,  116,    5,  129,   30,    6,   68,   16,  115,    5, 
  618. /* 5320 */   129,   31,    6,   67,   16,  114,    6,  129,   31,    7, 
  619. /* 5330 */    66,   17,  113,    6,  129,   32,    7,   64,   18,  111, 
  620. /* 5340 */     8,  129,   32,    8,   62,   19,  109,    9,  129,   33, 
  621. /* 5350 */     9,   60,   20,  107,   10,  129,   34,   11,   57,   22, 
  622. /* 5360 */   103,   13,  129,   35,   43,  103,   18,  129,   36,   41, 
  623. /* 5370 */   103,   18,  129,   38,   38,  103,   18,  129,   39,   35, 
  624. /* 5380 */   103,   18,  129,   41,   31,  129,   43,   27,  129,   46, 
  625. /* 5390 */    22,  129,   49,   14,  129,  193,  129,  103,   18,  132, 
  626. /* 5400 */   110,   11,  129,  113,    8,  129,  114,    7,  129,  116, 
  627. /* 5410 */     5,  130,  117,    4,  132,   30,    4,  117,    4,  132, 
  628. /* 5420 */    30,   91,  137,   30,    4,  117,    4,  132,  117,    4, 
  629. /* 5430 */   132,  116,    5,  130,  114,    7,  129,  113,    8,  129, 
  630. /* 5440 */   110,   11,  129,  103,   18,  132,  193,  129,  117,    4, 
  631. /* 5450 */   132,   56,   65,  129,   50,   71,  129,   46,   75,  129, 
  632. /* 5460 */    44,   77,  129,   42,   79,  129,   40,   81,  129,   38, 
  633. /* 5470 */    83,  129,   36,   85,  129,   35,   86,  129,   34,   20, 
  634. /* 5480 */   117,    4,  129,   33,   17,  117,    4,  129,   32,   15, 
  635. /* 5490 */   117,    4,  129,   32,   13,  117,    4,  129,   31,   12, 
  636. /* 5500 */   129,   31,   10,  129,   31,    9,  129,   30,    9,  129, 
  637. /* 5510 */    30,    8,  130,   30,    7,  132,   31,    6,  130,   31, 
  638. /* 5520 */     7,  129,   32,    6,  129,   32,    7,  129,   33,    7, 
  639. /* 5530 */   129,   34,    7,  129,   35,    8,  129,   36,    9,  117, 
  640. /* 5540 */     4,  129,   38,    9,  117,    4,  129,   40,   10,  117, 
  641. /* 5550 */     4,  129,   42,   12,  117,    4,  129,   44,   77,  129, 
  642. /* 5560 */    46,   75,  129,   50,   71,  129,   56,   43,  100,   21, 
  643. /* 5570 */   129,  117,    4,  132,  193,  129,  117,    4,  132,  115, 
  644. /* 5580 */     6,  129,  110,   11,  129,  105,   16,  129,  101,   20, 
  645. /* 5590 */   129,   96,   25,  129,   92,   29,  129,   87,   34,  129, 
  646. /* 5600 */    83,   38,  129,   78,   43,  129,   74,   47,  129,   70, 
  647. /* 5610 */    42,  117,    4,  129,   65,   42,  117,    4,  129,   60, 
  648. /* 5620 */    43,  117,    4,  129,   56,   42,  129,   51,   42,  129, 
  649. /* 5630 */    46,   43,  129,   42,   43,  129,   37,   44,  129,   33, 
  650. /* 5640 */    43,  129,   30,   42,  129,   33,   34,  129,   38,   25, 
  651. /* 5650 */   129,   42,   16,  129,   47,   15,  129,   52,   15,  129, 
  652. /* 5660 */    57,   15,  129,   61,   16,  129,   66,   16,  129,   71, 
  653. /* 5670 */    16,  129,   76,   16,  129,   80,   16,  129,   85,   16, 
  654. /* 5680 */   117,    4,  129,   90,   16,  117,    4,  129,   95,   16, 
  655. /* 5690 */   117,    4,  129,  100,   21,  129,  105,   16,  129,  110, 
  656. /* 5700 */    11,  129,  114,    7,  129,  117,    4,  132,  193,  129, 
  657. /* 5710 */   117,    4,  132,  115,    6,  129,  110,   11,  129,  105, 
  658. /* 5720 */    16,  129,  101,   20,  129,   96,   25,  129,   92,   29, 
  659. /* 5730 */   129,   87,   34,  129,   83,   38,  129,   78,   43,  129, 
  660. /* 5740 */    74,   47,  129,   70,   42,  117,    4,  129,   65,   42, 
  661. /* 5750 */   117,    4,  129,   60,   43,  117,    4,  129,   56,   42, 
  662. /* 5760 */   129,   51,   42,  129,   46,   43,  129,   42,   43,  129, 
  663. /* 5770 */    37,   44,  129,   33,   43,  129,   30,   42,  129,   33, 
  664. /* 5780 */    34,  129,   38,   25,  129,   42,   16,  129,   47,   15, 
  665. /* 5790 */   129,   52,   15,  129,   57,   15,  129,   61,   16,  129, 
  666. /* 5800 */    65,   17,  129,   60,   27,  129,   56,   36,  129,   51, 
  667. /* 5810 */    42,  129,   46,   43,  129,   42,   43,  129,   37,   44, 
  668. /* 5820 */   129,   33,   43,  129,   30,   42,  129,   33,   34,  129, 
  669. /* 5830 */    38,   25,  129,   42,   16,  129,   47,   15,  129,   52, 
  670. /* 5840 */    15,  129,   57,   15,  129,   61,   16,  129,   66,   16, 
  671. /* 5850 */   129,   71,   16,  129,   76,   16,  129,   80,   16,  129, 
  672. /* 5860 */    85,   16,  117,    4,  129,   90,   16,  117,    4,  129, 
  673. /* 5870 */    95,   16,  117,    4,  129,  100,   21,  129,  105,   16, 
  674. /* 5880 */   129,  110,   11,  129,  114,    7,  129,  117,    4,  132, 
  675. /* 5890 */   193,  129,   30,    4,  117,    4,  132,   30,    4,  115, 
  676. /* 5900 */     6,  129,   30,    4,  112,    9,  129,   30,    6,  109, 
  677. /* 5910 */    12,  129,   30,    9,  106,   15,  129,   30,   11,  103, 
  678. /* 5920 */    18,  129,   30,   14,  100,   21,  129,   30,    4,   38, 
  679. /* 5930 */     9,   98,   23,  129,   30,    4,   40,   10,   95,   26, 
  680. /* 5940 */   129,   30,    4,   43,    9,   92,   29,  129,   46,    9, 
  681. /* 5950 */    89,   32,  129,   49,    8,   86,   28,  117,    4,  129, 
  682. /* 5960 */    51,    9,   83,   28,  117,    4,  129,   54,    9,   80, 
  683. /* 5970 */    28,  117,    4,  129,   57,    8,   77,   28,  117,    4, 
  684. /* 5980 */   129,   59,    9,   74,   28,  129,   62,   37,  129,   64, 
  685. /* 5990 */    33,  129,   66,   28,  129,   63,   28,  129,   60,   28, 
  686. /* 6000 */   129,   57,   28,  129,   54,   33,  129,   51,   39,  129, 
  687. /* 6010 */    48,   29,   83,    9,  129,   30,    4,   45,   29,   86, 
  688. /* 6020 */     9,  129,   30,    4,   42,   29,   89,    9,  129,   30, 
  689. /* 6030 */     4,   39,   29,   92,    8,  129,   30,    4,   36,   29, 
  690. /* 6040 */    94,    9,  129,   30,   32,   97,    9,  129,   30,   29, 
  691. /* 6050 */   100,    8,  117,    4,  129,   30,   26,  103,    8,  117, 
  692. /* 6060 */     4,  129,   30,   23,  105,    9,  117,    4,  129,   30, 
  693. /* 6070 */    20,  108,   13,  129,   30,   18,  111,   10,  129,   30, 
  694. /* 6080 */    15,  113,    8,  129,   30,   12,  116,    5,  129,   30, 
  695. /* 6090 */     9,  117,    4,  129,   30,    6,  117,    4,  129,   30, 
  696. /* 6100 */     4,  117,    4,  132,  193,  129,  117,    4,  132,  114, 
  697. /* 6110 */     7,  129,  111,   10,  129,  108,   13,  129,  105,   16, 
  698. /* 6120 */   129,  102,   19,  129,  100,   21,  129,   96,   25,  129, 
  699. /* 6130 */    93,   28,  129,   90,   31,  129,   87,   34,  129,   84, 
  700. /* 6140 */    30,  117,    4,  129,   30,    4,   81,   30,  117,    4, 
  701. /* 6150 */   129,   30,    4,   78,   30,  117,    4,  129,   30,    4, 
  702. /* 6160 */    75,   30,  117,    4,  129,   30,    4,   72,   30,  129, 
  703. /* 6170 */    30,   69,  129,   30,   66,  129,   30,   63,  129,   30, 
  704. /* 6180 */    60,  129,   30,   57,  129,   30,   54,  129,   30,   51, 
  705. /* 6190 */   129,   30,   48,  129,   30,   51,  129,   30,    4,   73, 
  706. /* 6200 */    12,  129,   30,    4,   76,   12,  129,   30,    4,   80, 
  707. /* 6210 */    12,  129,   30,    4,   83,   12,  129,   87,   12,  129, 
  708. /* 6220 */    90,   12,  117,    4,  129,   94,   11,  117,    4,  129, 
  709. /* 6230 */    97,   12,  117,    4,  129,  101,   12,  117,    4,  129, 
  710. /* 6240 */   104,   17,  129,  108,   13,  129,  111,   10,  129,  115, 
  711. /* 6250 */     6,  129,  117,    4,  134,  193,  129,   30,    1,  103, 
  712. /* 6260 */    18,  129,   30,    4,  103,   18,  129,   30,    7,  103, 
  713. /* 6270 */    18,  129,   30,    9,  103,   18,  129,   30,   12,  110, 
  714. /* 6280 */    11,  129,   30,   15,  113,    8,  129,   30,   18,  114, 
  715. /* 6290 */     7,  129,   30,   21,  116,    5,  129,   30,   24,  116, 
  716. /* 6300 */     5,  129,   30,   27,  117,    4,  129,   30,   30,  117, 
  717. /* 6310 */     4,  129,   30,   33,  117,    4,  129,   30,    4,   37, 
  718. /* 6320 */    28,  117,    4,  129,   30,    4,   40,   28,  117,    4, 
  719. /* 6330 */   129,   30,    4,   42,   29,  117,    4,  129,   30,    4, 
  720. /* 6340 */    45,   29,  117,    4,  129,   30,    4,   48,   29,  117, 
  721. /* 6350 */     4,  129,   30,    4,   51,   29,  117,    4,  129,   30, 
  722. /* 6360 */     4,   54,   29,  117,    4,  129,   30,    4,   57,   29, 
  723. /* 6370 */   117,    4,  129,   30,    4,   59,   30,  117,    4,  129, 
  724. /* 6380 */    30,    4,   62,   30,  117,    4,  129,   30,    4,   65, 
  725. /* 6390 */    30,  117,    4,  129,   30,    4,   68,   30,  117,    4, 
  726. /* 6400 */   129,   30,    4,   71,   30,  117,    4,  129,   30,    4, 
  727. /* 6410 */    74,   30,  117,    4,  129,   30,    4,   77,   30,  117, 
  728. /* 6420 */     4,  129,   30,    4,   80,   30,  117,    4,  129,   30, 
  729. /* 6430 */     4,   83,   30,  117,    4,  129,   30,    4,   86,   35, 
  730. /* 6440 */   129,   30,    4,   89,   32,  129,   30,    4,   91,   30, 
  731. /* 6450 */   129,   30,    4,   94,   27,  129,   30,    5,   97,   24, 
  732. /* 6460 */   129,   30,    5,  100,   21,  129,   30,    7,  103,   18, 
  733. /* 6470 */   129,   30,    8,  106,   15,  129,   30,   11,  109,   12, 
  734. /* 6480 */   129,   30,   18,  112,    9,  129,   30,   18,  115,    6, 
  735. /* 6490 */   129,   30,   18,  117,    4,  129,   30,   18,  120,    1, 
  736. /* 6500 */   129,  193,  129,   42,    8,  129,   38,   16,  129,   36, 
  737. /* 6510 */    20,  129,   34,   24,   71,    5,  129,   33,   26,   69, 
  738. /* 6520 */    10,  129,   32,   28,   68,   13,  129,   31,   30,   68, 
  739. /* 6530 */    14,  129,   31,    9,   52,    9,   68,   15,  129,   30, 
  740. /* 6540 */     8,   54,    8,   69,   14,  129,   30,    7,   55,    7, 
  741. /* 6550 */    71,    4,   78,    6,  129,   30,    6,   56,    6,   79, 
  742. /* 6560 */     5,  129,   30,    6,   56,    6,   80,    4,  130,   31, 
  743. /* 6570 */     5,   56,    5,   80,    4,  129,   31,    5,   56,    5, 
  744. /* 6580 */    79,    5,  129,   32,    5,   55,    5,   78,    6,  129, 
  745. /* 6590 */    33,    5,   54,    5,   77,    7,  129,   34,    6,   52, 
  746. /* 6600 */     6,   74,    9,  129,   35,   48,  129,   33,   49,  129, 
  747. /* 6610 */    32,   49,  129,   31,   49,  129,   30,   49,  129,   30, 
  748. /* 6620 */    47,  129,   30,   45,  129,   30,   41,  129,   30,    6, 
  749. /* 6630 */   129,   30,    4,  129,   30,    3,  129,   30,    2,  129, 
  750. /* 6640 */   193,  129,   30,    4,  117,    4,  130,   31,   90,  136, 
  751. /* 6650 */    37,    5,   72,    5,  129,   35,    5,   74,    5,  129, 
  752. /* 6660 */    33,    5,   76,    5,  129,   32,    5,   77,    5,  129, 
  753. /* 6670 */    31,    5,   78,    5,  129,   31,    4,   79,    4,  129, 
  754. /* 6680 */    30,    5,   79,    5,  131,   30,    6,   78,    6,  129, 
  755. /* 6690 */    30,    7,   77,    7,  129,   31,    8,   75,    8,  129, 
  756. /* 6700 */    31,   11,   72,   11,  129,   32,   15,   67,   15,  129, 
  757. /* 6710 */    33,   48,  129,   34,   46,  129,   35,   44,  129,   37, 
  758. /* 6720 */    40,  129,   39,   36,  129,   42,   30,  129,   46,   22, 
  759. /* 6730 */   129,  193,  129,   48,   18,  129,   43,   28,  129,   41, 
  760. /* 6740 */    32,  129,   39,   36,  129,   37,   40,  129,   35,   44, 
  761. /* 6750 */   129,   34,   46,  129,   33,   13,   68,   13,  129,   32, 
  762. /* 6760 */     9,   73,    9,  129,   32,    7,   75,    7,  129,   31, 
  763. /* 6770 */     6,   77,    6,  129,   31,    5,   78,    5,  129,   30, 
  764. /* 6780 */     5,   79,    5,  129,   30,    4,   80,    4,  133,   31, 
  765. /* 6790 */     3,   79,    4,  129,   31,    4,   79,    4,  129,   32, 
  766. /* 6800 */     3,   78,    4,  129,   32,    4,   76,    6,  129,   33, 
  767. /* 6810 */     4,   74,    7,  129,   34,    4,   72,    8,  129,   35, 
  768. /* 6820 */     5,   72,    7,  129,   37,    5,   73,    4,  129,   39, 
  769. /* 6830 */     4,   74,    1,  129,  129,  193,  129,   46,   22,  129, 
  770. /* 6840 */    42,   30,  129,   39,   36,  129,   37,   40,  129,   35, 
  771. /* 6850 */    44,  129,   34,   46,  129,   33,   48,  129,   32,   15, 
  772. /* 6860 */    67,   15,  129,   31,   11,   72,   11,  129,   31,    8, 
  773. /* 6870 */    75,    8,  129,   30,    7,   77,    7,  129,   30,    6, 
  774. /* 6880 */    78,    6,  129,   30,    5,   79,    5,  131,   31,    4, 
  775. /* 6890 */    79,    4,  129,   31,    5,   78,    5,  129,   32,    5, 
  776. /* 6900 */    77,    5,  129,   33,    5,   76,    5,  129,   35,    5, 
  777. /* 6910 */    74,    5,  117,    4,  129,   37,    5,   72,    5,  117, 
  778. /* 6920 */     4,  129,   30,   91,  136,   30,    4,  130,  193,  129, 
  779. /* 6930 */    48,   18,  129,   43,   28,  129,   41,   32,  129,   39, 
  780. /* 6940 */    36,  129,   37,   40,  129,   35,   44,  129,   34,   46, 
  781. /* 6950 */   129,   33,   13,   55,    4,   68,   13,  129,   32,    9, 
  782. /* 6960 */    55,    4,   73,    9,  129,   32,    7,   55,    4,   75, 
  783. /* 6970 */     7,  129,   31,    6,   55,    4,   77,    6,  129,   31, 
  784. /* 6980 */     5,   55,    4,   78,    5,  129,   30,    5,   55,    4, 
  785. /* 6990 */    79,    5,  129,   30,    4,   55,    4,   80,    4,  132, 
  786. /* 7000 */    30,    4,   55,    4,   79,    5,  129,   31,    3,   55, 
  787. /* 7010 */     4,   78,    5,  129,   31,    4,   55,    4,   77,    6, 
  788. /* 7020 */   129,   32,    3,   55,    4,   75,    7,  129,   32,    4, 
  789. /* 7030 */    55,    4,   73,    9,  129,   33,    4,   55,    4,   68, 
  790. /* 7040 */    13,  129,   34,    4,   55,   25,  129,   35,    5,   55, 
  791. /* 7050 */    24,  129,   37,    5,   55,   22,  129,   39,    4,   55, 
  792. /* 7060 */    20,  129,   55,   18,  129,   55,   16,  129,   55,   11, 
  793. /* 7070 */   129,  193,  129,   80,    4,  129,   30,    4,   80,    4, 
  794. /* 7080 */   130,   30,   78,  129,   30,   82,  129,   30,   85,  129, 
  795. /* 7090 */    30,   87,  129,   30,   88,  129,   30,   89,  129,   30, 
  796. /* 7100 */    90,  130,   30,    4,   80,    4,  115,    6,  129,   30, 
  797. /* 7110 */     4,   80,    4,  117,    4,  129,   80,    4,  105,    6, 
  798. /* 7120 */   117,    4,  129,   80,    4,  103,   10,  116,    5,  129, 
  799. /* 7130 */    80,    4,  102,   19,  129,   80,    4,  101,   19,  129, 
  800. /* 7140 */   101,   19,  129,  101,   18,  129,  102,   16,  129,  103, 
  801. /* 7150 */    12,  129,  105,    6,  129,  193,  129,   12,   10,   59, 
  802. /* 7160 */    11,  129,    9,   16,   55,   19,  129,    7,   20,   53, 
  803. /* 7170 */    23,  129,    6,    7,   23,    5,   32,    6,   51,   27, 
  804. /* 7180 */   129,    4,    7,   25,   16,   50,   29,  129,    3,    6, 
  805. /* 7190 */    27,   16,   49,   31,  129,    2,    6,   28,   16,   48, 
  806. /* 7200 */    33,  129,    1,    6,   27,   18,   47,   35,  129,    1, 
  807. /* 7210 */     6,   27,   31,   71,   12,  129,    1,    5,   26,   15, 
  808. /* 7220 */    44,   10,   75,    8,  129,    1,    5,   25,   14,   45, 
  809. /* 7230 */     7,   77,    7,  129,    1,    5,   25,   13,   45,    5, 
  810. /* 7240 */    79,    5,  129,    1,    5,   24,   14,   45,    4,   80, 
  811. /* 7250 */     4,  129,    1,    5,   24,   13,   45,    4,   80,    4, 
  812. /* 7260 */   129,    1,    5,   23,   14,   45,    4,   80,    4,  129, 
  813. /* 7270 */     1,    5,   23,   13,   45,    4,   80,    4,  129,    1, 
  814. /* 7280 */     6,   22,   13,   45,    5,   79,    5,  129,    1,    6, 
  815. /* 7290 */    21,   14,   45,    7,   77,    7,  129,    1,    7,   21, 
  816. /* 7300 */    13,   46,    8,   75,    8,  129,    1,    8,   20,   13, 
  817. /* 7310 */    46,   12,   71,   12,  129,    1,   10,   18,   15,   47, 
  818. /* 7320 */    35,  129,    2,   30,   48,   33,  129,    3,   29,   49, 
  819. /* 7330 */    32,  129,    4,   27,   50,   31,  129,    5,   25,   51, 
  820. /* 7340 */    27,   80,    2,   86,    4,  129,    7,   21,   53,   23, 
  821. /* 7350 */    80,    3,   85,    6,  129,    9,   17,   55,   19,   80, 
  822. /* 7360 */    12,  129,   12,   12,   59,   11,   81,   11,  129,   82, 
  823. /* 7370 */    10,  129,   84,    7,  129,   86,    4,  129,  193,  129, 
  824. /* 7380 */    30,    4,  117,    4,  130,   30,   91,  136,   30,    4, 
  825. /* 7390 */    72,    5,  129,   30,    4,   74,    5,  129,   75,    5, 
  826. /* 7400 */   129,   76,    5,  129,   76,    6,  129,   77,    6,  130, 
  827. /* 7410 */    77,    7,  130,   76,    8,  129,   30,    4,   75,    9, 
  828. /* 7420 */   129,   30,    4,   72,   12,  129,   30,   54,  129,   30, 
  829. /* 7430 */    53,  130,   30,   52,  129,   30,   51,  129,   30,   49, 
  830. /* 7440 */   129,   30,   46,  129,   30,   42,  129,   30,    4,  130, 
  831. /* 7450 */   193,  129,   30,    4,   80,    4,  129,   30,    4,   80, 
  832. /* 7460 */     4,  100,    6,  129,   30,   54,   98,   10,  129,   30, 
  833. /* 7470 */    54,   97,   12,  129,   30,   54,   96,   14,  131,   30, 
  834. /* 7480 */    54,   97,   12,  129,   30,   54,   98,   10,  129,   30, 
  835. /* 7490 */    54,  100,    6,  129,   30,    4,  130,  193,  129,    7, 
  836. /* 7500 */     6,  129,    4,   11,  129,    3,   13,  129,    2,   14, 
  837. /* 7510 */   129,    1,   15,  130,    1,    3,    6,    9,  129,    1, 
  838. /* 7520 */     3,    7,    6,  129,    1,    3,  130,    1,    4,  129, 
  839. /* 7530 */     1,    5,   80,    4,  129,    1,    7,   80,    4,  100, 
  840. /* 7540 */     6,  129,    2,   82,   98,   10,  129,    3,   81,   97, 
  841. /* 7550 */    12,  129,    4,   80,   96,   14,  129,    5,   79,   96, 
  842. /* 7560 */    14,  129,    7,   77,   96,   14,  129,   10,   74,   97, 
  843. /* 7570 */    12,  129,   14,   70,   98,   10,  129,   19,   65,  100, 
  844. /* 7580 */     6,  129,  193,  129,   30,    4,  117,    4,  130,   30, 
  845. /* 7590 */    91,  136,   30,    4,   57,    9,  129,   30,    4,   55, 
  846. /* 7600 */    12,  129,   52,   17,  129,   50,   20,  129,   48,   24, 
  847. /* 7610 */   129,   46,   27,  129,   44,   21,   69,    6,  129,   41, 
  848. /* 7620 */    22,   70,    6,   80,    4,  129,   30,    4,   39,   21, 
  849. /* 7630 */    72,    6,   80,    4,  129,   30,    4,   36,   22,   73, 
  850. /* 7640 */    11,  129,   30,   26,   75,    9,  129,   30,   23,   76, 
  851. /* 7650 */     8,  129,   30,   21,   78,    6,  129,   30,   19,   79, 
  852. /* 7660 */     5,  129,   30,   16,   80,    4,  129,   30,   14,   80, 
  853. /* 7670 */     4,  129,   30,   12,  129,   30,   10,  129,   30,    7, 
  854. /* 7680 */   129,   30,    5,  129,   30,    4,  130,  193,  129,   30, 
  855. /* 7690 */     4,  117,    4,  130,   30,   91,  136,   30,    4,  130, 
  856. /* 7700 */   193,  129,   30,    4,   80,    4,  130,   30,   54,  136, 
  857. /* 7710 */    30,    4,   72,    5,  129,   30,    4,   74,    5,  129, 
  858. /* 7720 */    75,    5,  129,   76,    5,  129,   30,    4,   75,    7, 
  859. /* 7730 */   129,   30,    4,   74,    9,  129,   30,   54,  132,   30, 
  860. /* 7740 */    53,  129,   30,   52,  129,   30,   51,  129,   30,   48, 
  861. /* 7750 */   129,   30,    4,   72,    5,  129,   30,    4,   74,    5, 
  862. /* 7760 */   129,   75,    5,  129,   76,    5,  129,   30,    4,   75, 
  863. /* 7770 */     7,  129,   30,    4,   74,    9,  129,   30,   54,  132, 
  864. /* 7780 */    30,   53,  129,   30,   52,  129,   30,   51,  129,   30, 
  865. /* 7790 */    48,  129,   30,    4,  130,  193,  129,   30,    4,   80, 
  866. /* 7800 */     4,  130,   30,   54,  136,   30,    4,   72,    5,  129, 
  867. /* 7810 */    30,    4,   74,    5,  129,   75,    5,  129,   76,    5, 
  868. /* 7820 */   129,   76,    6,  129,   77,    6,  130,   77,    7,  130, 
  869. /* 7830 */    76,    8,  129,   30,    4,   75,    9,  129,   30,    4, 
  870. /* 7840 */    72,   12,  129,   30,   54,  129,   30,   53,  130,   30, 
  871. /* 7850 */    52,  129,   30,   51,  129,   30,   49,  129,   30,   46, 
  872. /* 7860 */   129,   30,   42,  129,   30,    4,  130,  193,  129,   48, 
  873. /* 7870 */    18,  129,   43,   28,  129,   41,   32,  129,   39,   36, 
  874. /* 7880 */   129,   37,   40,  129,   35,   44,  129,   34,   46,  129, 
  875. /* 7890 */    33,   13,   68,   13,  129,   32,    9,   73,    9,  129, 
  876. /* 7900 */    32,    7,   75,    7,  129,   31,    6,   77,    6,  129, 
  877. /* 7910 */    31,    5,   78,    5,  129,   30,    5,   79,    5,  129, 
  878. /* 7920 */    30,    4,   80,    4,  132,   30,    5,   79,    5,  130, 
  879. /* 7930 */    31,    5,   78,    5,  129,   31,    6,   77,    6,  129, 
  880. /* 7940 */    32,    7,   75,    7,  129,   32,    9,   73,    9,  129, 
  881. /* 7950 */    33,   13,   68,   13,  129,   34,   46,  129,   35,   44, 
  882. /* 7960 */   129,   37,   40,  129,   39,   36,  129,   41,   32,  129, 
  883. /* 7970 */    43,   28,  129,   48,   18,  129,  193,  129,    1,    3, 
  884. /* 7980 */    80,    4,  130,    1,   83,  137,   37,    5,   72,    5, 
  885. /* 7990 */   129,   35,    5,   74,    5,  129,   33,    5,   76,    5, 
  886. /* 8000 */   129,   32,    5,   77,    5,  129,   31,    5,   78,    5, 
  887. /* 8010 */   129,   31,    4,   79,    4,  129,   30,    5,   79,    5, 
  888. /* 8020 */   131,   30,    6,   78,    6,  129,   30,    7,   77,    7, 
  889. /* 8030 */   129,   31,    8,   75,    8,  129,   31,   11,   72,   11, 
  890. /* 8040 */   129,   32,   15,   67,   15,  129,   33,   48,  129,   34, 
  891. /* 8050 */    46,  129,   35,   44,  129,   37,   40,  129,   39,   36, 
  892. /* 8060 */   129,   42,   30,  129,   46,   22,  129,  193,  129,   46, 
  893. /* 8070 */    22,  129,   42,   30,  129,   39,   36,  129,   37,   40, 
  894. /* 8080 */   129,   35,   44,  129,   34,   46,  129,   33,   48,  129, 
  895. /* 8090 */    32,   15,   67,   15,  129,   31,   11,   72,   11,  129, 
  896. /* 8100 */    31,    8,   75,    8,  129,   30,    7,   77,    7,  129, 
  897. /* 8110 */    30,    6,   78,    6,  129,   30,    5,   79,    5,  131, 
  898. /* 8120 */    31,    4,   79,    4,  129,   31,    5,   78,    5,  129, 
  899. /* 8130 */    32,    5,   77,    5,  129,   33,    5,   76,    5,  129, 
  900. /* 8140 */    35,    5,   74,    5,  129,   37,    5,   72,    5,  129, 
  901. /* 8150 */     1,   83,  136,    1,    3,   80,    4,  130,  193,  129, 
  902. /* 8160 */    30,    4,   80,    4,  130,   30,   54,  136,   30,    4, 
  903. /* 8170 */    68,    6,  129,   30,    4,   70,    6,  129,   71,    7, 
  904. /* 8180 */   129,   72,    7,  129,   73,    7,  129,   74,    7,  129, 
  905. /* 8190 */    74,    8,  129,   75,    8,  130,   69,   15,  129,   67, 
  906. /* 8200 */    17,  129,   66,   18,  129,   65,   19,  130,   65,   18, 
  907. /* 8210 */   130,   66,   16,  129,   67,   13,  129,   69,    8,  129, 
  908. /* 8220 */   193,  129,   30,   13,   64,    8,  129,   30,   13,   61, 
  909. /* 8230 */    14,  129,   30,   13,   59,   18,  129,   30,   13,   57, 
  910. /* 8240 */    22,  129,   33,    8,   56,   24,  129,   32,    7,   55, 
  911. /* 8250 */    26,  129,   32,    6,   54,   28,  129,   31,    6,   53, 
  912. /* 8260 */    16,   77,    6,  129,   31,    5,   53,   14,   79,    4, 
  913. /* 8270 */   129,   30,    5,   52,   14,   80,    4,  129,   30,    5, 
  914. /* 8280 */    52,   13,   80,    4,  129,   30,    4,   52,   13,   80, 
  915. /* 8290 */     4,  129,   30,    4,   52,   12,   80,    4,  129,   30, 
  916. /* 8300 */     4,   51,   13,   80,    4,  130,   30,    4,   50,   13, 
  917. /* 8310 */    79,    5,  129,   30,    4,   50,   13,   78,    5,  129, 
  918. /* 8320 */    30,    5,   49,   14,   77,    6,  129,   31,    4,   49, 
  919. /* 8330 */    13,   76,    6,  129,   31,    5,   48,   14,   75,    7, 
  920. /* 8340 */   129,   32,    5,   47,   14,   73,    8,  129,   32,    6, 
  921. /* 8350 */    45,   16,   71,   13,  129,   33,   27,   71,   13,  129, 
  922. /* 8360 */    34,   26,   71,   13,  129,   35,   24,   71,   13,  129, 
  923. /* 8370 */    37,   20,  129,   39,   16,  129,   43,    9,  129,  193, 
  924. /* 8380 */   129,   80,    4,  131,   41,   56,  129,   37,   60,  129, 
  925. /* 8390 */    35,   62,  129,   33,   64,  129,   32,   65,  129,   31, 
  926. /* 8400 */    66,  129,   30,   67,  130,   30,   11,   80,    4,  129, 
  927. /* 8410 */    30,    9,   80,    4,  129,   30,    8,   80,    4,  129, 
  928. /* 8420 */    31,    7,   80,    4,  129,   31,    6,  129,   32,    5, 
  929. /* 8430 */   129,   33,    5,  129,   35,    4,  129,   38,    3,  129, 
  930. /* 8440 */   193,  129,   80,    4,  130,   42,   42,  129,   38,   46, 
  931. /* 8450 */   129,   35,   49,  129,   33,   51,  129,   32,   52,  129, 
  932. /* 8460 */    31,   53,  130,   30,   54,  129,   30,   12,  129,   30, 
  933. /* 8470 */     9,  129,   30,    8,  129,   30,    7,  130,   31,    6, 
  934. /* 8480 */   130,   32,    6,  129,   33,    5,  129,   34,    5,  129, 
  935. /* 8490 */    35,    5,   80,    4,  129,   37,    5,   80,    4,  129, 
  936. /* 8500 */    30,   54,  136,   30,    4,  130,  193,  129,   80,    4, 
  937. /* 8510 */   130,   77,    7,  129,   74,   10,  129,   70,   14,  129, 
  938. /* 8520 */    66,   18,  129,   62,   22,  129,   59,   25,  129,   55, 
  939. /* 8530 */    29,  129,   51,   33,  129,   47,   37,  129,   44,   32, 
  940. /* 8540 */    80,    4,  129,   40,   32,   80,    4,  129,   36,   32, 
  941. /* 8550 */   129,   32,   33,  129,   30,   31,  129,   33,   24,  129, 
  942. /* 8560 */    36,   17,  129,   40,   12,  129,   44,   12,  129,   48, 
  943. /* 8570 */    12,  129,   51,   13,  129,   55,   13,  129,   59,   13, 
  944. /* 8580 */    80,    4,  129,   63,   13,   80,    4,  129,   67,   17, 
  945. /* 8590 */   129,   71,   13,  129,   74,   10,  129,   78,    6,  129, 
  946. /* 8600 */    80,    4,  131,  193,  129,   80,    4,  130,   77,    7, 
  947. /* 8610 */   129,   74,   10,  129,   70,   14,  129,   66,   18,  129, 
  948. /* 8620 */    62,   22,  129,   59,   25,  129,   55,   29,  129,   51, 
  949. /* 8630 */    33,  129,   47,   37,  129,   44,   32,   80,    4,  129, 
  950. /* 8640 */    40,   32,   80,    4,  129,   36,   32,  129,   32,   33, 
  951. /* 8650 */   129,   30,   31,  129,   33,   24,  129,   36,   17,  129, 
  952. /* 8660 */    40,   12,  129,   44,   12,  129,   47,   13,  129,   44, 
  953. /* 8670 */    20,  129,   40,   28,  129,   36,   31,  129,   32,   32, 
  954. /* 8680 */   129,   30,   30,  129,   33,   24,  129,   36,   17,  129, 
  955. /* 8690 */    40,   12,  129,   44,   12,  129,   48,   12,  129,   51, 
  956. /* 8700 */    13,  129,   55,   13,  129,   59,   13,   80,    4,  129, 
  957. /* 8710 */    63,   13,   80,    4,  129,   67,   17,  129,   71,   13, 
  958. /* 8720 */   129,   74,   10,  129,   78,    6,  129,   80,    4,  131, 
  959. /* 8730 */   193,  129,   30,    4,   80,    4,  130,   30,    4,   79, 
  960. /* 8740 */     5,  129,   30,    5,   77,    7,  129,   30,    6,   74, 
  961. /* 8750 */    10,  129,   30,    8,   72,   12,  129,   30,   11,   69, 
  962. /* 8760 */    15,  129,   30,   13,   67,   17,  129,   30,    4,   37, 
  963. /* 8770 */     8,   64,   20,  129,   30,    4,   39,    8,   62,   22, 
  964. /* 8780 */   129,   41,    8,   59,   25,  129,   43,    8,   57,   27, 
  965. /* 8790 */   129,   45,    8,   55,   22,   80,    4,  129,   47,   27, 
  966. /* 8800 */    80,    4,  129,   49,   23,  129,   47,   22,  129,   44, 
  967. /* 8810 */    23,  129,   42,   22,  129,   30,    4,   39,   27,  129, 
  968. /* 8820 */    30,    4,   37,   31,  129,   30,   27,   62,    8,  129, 
  969. /* 8830 */    30,   25,   64,    8,  129,   30,   22,   66,    8,   80, 
  970. /* 8840 */     4,  129,   30,   20,   68,    8,   80,    4,  129,   30, 
  971. /* 8850 */    17,   70,    8,   80,    4,  129,   30,   15,   73,   11, 
  972. /* 8860 */   129,   30,   12,   75,    9,  129,   30,   10,   77,    7, 
  973. /* 8870 */   129,   30,    7,   79,    5,  129,   30,    5,   80,    4, 
  974. /* 8880 */   129,   30,    4,   80,    4,  130,  193,  129,    4,    5, 
  975. /* 8890 */    80,    4,  129,    2,    9,   80,    4,  129,    1,   11, 
  976. /* 8900 */    77,    7,  129,    1,   12,   74,   10,  129,    1,   12, 
  977. /* 8910 */    70,   14,  129,    1,   12,   66,   18,  129,    1,   11, 
  978. /* 8920 */    62,   22,  129,    2,    9,   59,   25,  129,    4,   11, 
  979. /* 8930 */    55,   29,  129,    7,   12,   51,   33,  129,   10,   12, 
  980. /* 8940 */    47,   37,  129,   14,   12,   44,   32,   80,    4,  129, 
  981. /* 8950 */    17,   13,   40,   32,   80,    4,  129,   21,   13,   36, 
  982. /* 8960 */    32,  129,   25,   40,  129,   29,   32,  129,   33,   24, 
  983. /* 8970 */   129,   36,   17,  129,   40,   12,  129,   44,   12,  129, 
  984. /* 8980 */    48,   12,  129,   51,   13,  129,   55,   13,  129,   59, 
  985. /* 8990 */    13,   80,    4,  129,   63,   13,   80,    4,  129,   67, 
  986. /* 9000 */    17,  129,   71,   13,  129,   74,   10,  129,   78,    6, 
  987. /* 9010 */   129,   80,    4,  131,  193,  129,   30,    1,   71,   13, 
  988. /* 9020 */   129,   30,    3,   71,   13,  129,   30,    6,   71,   13, 
  989. /* 9030 */   129,   30,    9,   75,    9,  129,   30,   11,   77,    7, 
  990. /* 9040 */   129,   30,   14,   79,    5,  129,   30,   17,   79,    5, 
  991. /* 9050 */   129,   30,   19,   80,    4,  129,   30,   22,   80,    4, 
  992. /* 9060 */   129,   30,   25,   80,    4,  129,   30,   27,   80,    4, 
  993. /* 9070 */   129,   30,    4,   36,   24,   80,    4,  129,   30,    4, 
  994. /* 9080 */    38,   25,   80,    4,  129,   30,    4,   41,   24,   80, 
  995. /* 9090 */     4,  129,   30,    4,   44,   24,   80,    4,  129,   30, 
  996. /* 9100 */     4,   46,   25,   80,    4,  129,   30,    4,   49,   25, 
  997. /* 9110 */    80,    4,  129,   30,    4,   52,   24,   80,    4,  129, 
  998. /* 9120 */    30,    4,   54,   30,  129,   30,    4,   57,   27,  129, 
  999. /* 9130 */    30,    4,   59,   25,  129,   30,    4,   62,   22,  129, 
  1000. /* 9140 */    30,    4,   65,   19,  129,   30,    5,   67,   17,  129, 
  1001. /* 9150 */    30,    5,   70,   14,  129,   30,    7,   73,   11,  129, 
  1002. /* 9160 */    30,    9,   76,    8,  129,   30,   13,   78,    6,  129, 
  1003. /* 9170 */    30,   13,   81,    3,  129,   30,   13,  129,  193,    2, 
  1004. /* 9180 */     9,   59,   25,  129,    4,   11,   55,   29,  129,    7, 
  1005. /* 9190 */    12,   51,   33,  129,   10,   12,   47,   37,  129,   14, 
  1006. /* 9200 */    12,   44,   32,   80,    4,  129,   17,   13,   40,   32, 
  1007. /* 9210 */    80,    4,  129,   21,   13,   36,   32,  129,   25,   40, 
  1008. /* 9220 */   129,   29,   32,  129,   33,   24,  129,   36,   17,  129, 
  1009. /* 9230 */    40,   12,  129,   44,   12,  129,   48,   12,  129,   51, 
  1010. /* 9240 */    13,  129,   55,   13,  129,   59,   13,   80,    4,  129, 
  1011. /* 9250 */    63,   13,   80,    4,  129,   67,   17,  129,   71,   13, 
  1012. /* 9260 */   129,   74,   10,  129,   78,    6,  129,   80,    4,  131, 
  1013. /* 9270 */   193
  1014. };
  1015.  
  1016. int i,j;
  1017. int width = DWIDTH;    /* -w option: scrunch letters to 80 columns */
  1018. int debug;
  1019. int trace;
  1020. char line[DWIDTH];
  1021. char print[DWIDTH];
  1022. char message[MAXMSG];
  1023. int nchars;
  1024. int linen;
  1025. int x,y;
  1026. int term;
  1027. int pc;
  1028. int max;
  1029.  
  1030. main(argc, argv)
  1031.     int argc;
  1032.     char **argv;
  1033.     extern char *optarg;
  1034.     extern int optind;
  1035.     int ch;
  1036.     char *strcpy(), *strcat();
  1037.  
  1038.     while ((ch = getopt(argc, argv, "w:td")) != EOF)
  1039.         switch((char)ch) {
  1040.         case 'w':
  1041.             width = atoi(optarg);
  1042.             if (width <= 0)
  1043.                 width = 80;
  1044.             break;
  1045.         case 'd':
  1046.             debug = 1;
  1047.             break;
  1048.         case 't':
  1049.             trace = 1;
  1050.             break;
  1051.         case '?':
  1052.         default:
  1053.             fprintf(stderr, "usage: banner [-w width]\n");
  1054.             exit(1);
  1055.         }
  1056.     argc -= optind;
  1057.     argv += optind;
  1058.  
  1059.     for (i=0; i<width; i++) {
  1060.         j = i * 132 / width;
  1061.         print[j] = 1;
  1062.     }
  1063.  
  1064. #ifdef notdef
  1065.     {
  1066. #define dir(f) "/e1/mrh/ucb/lib/f"
  1067. #define INDTBL dir(ban.dat.indtbl)
  1068. #define OBJECT dir(ban.dat.object)
  1069.         FILE *fd;
  1070.  
  1071.         fd = fopen(INDTBL, "r");
  1072.         for (i=0; i<NCHARS; i++) {
  1073.             fscanf(fd, "%d", &asc_ptr[i]);
  1074.         }
  1075.         fclose(fd);
  1076.  
  1077.         fd = fopen(OBJECT, "r");
  1078.         fread(data_table, 1, NBYTES, fd);
  1079.         fclose(fd);
  1080.     }
  1081. #endif
  1082.  
  1083.     /* Have now read in the data. Next get the message to be printed. */
  1084.     if (*argv) {
  1085.         strcpy(message, *argv);
  1086.         while (*++argv) {
  1087.             strcat(message, " ");
  1088.             strcat(message, *argv);
  1089.         }
  1090.         nchars = strlen(message);
  1091.     } else {
  1092.         fprintf(stderr,"Message: ");
  1093.         (void)fgets(message, sizeof(message), stdin);
  1094.         nchars = strlen(message);
  1095.         message[nchars--] = '\0';    /* get rid of newline */
  1096.     }
  1097.  
  1098.     /* some debugging print statements */
  1099.     if (debug) {
  1100.         printf("int asc_ptr[128] = {\n");
  1101.         for (i=0; i<128; i++) {
  1102.             printf("%4d,   ",asc_ptr[i]);
  1103.             if ((i+1) % 8 == 0)
  1104.                 printf("\n");
  1105.         }
  1106.         printf("};\nchar data_table[NBYTES] = {\n");
  1107.         printf("  /*   ");
  1108.         for (i=0; i<10; i++) printf(" %3d  ",i);
  1109.         printf("   */\n");
  1110.         for (i=0; i<NBYTES; i += 10) {
  1111.             printf("/* %4d */  ",i);
  1112.             for (j=i; j<i+10; j++) { 
  1113.                 x = data_table[j] & 0377;
  1114.                 printf(" %3d, ",x);
  1115.             }
  1116.             putchar('\n');
  1117.         }
  1118.         printf("};\n");
  1119.     }
  1120.  
  1121.     /* check message to make sure it's legal */
  1122.     j = 0;
  1123.     for (i=0; i<nchars; i++)
  1124.         if (asc_ptr[message[i]] == 0) {
  1125.             printf("The character '%c' is not in my character set.\n",message[i]);
  1126.             j++;
  1127.         }
  1128.     if (j) exit(1);
  1129.  
  1130.     if (trace)
  1131.         printf("Message '%s' is OK\n",message);
  1132.     /* Now have message. Print it one character at a time.  */
  1133.  
  1134.     for (i=0; i<nchars; i++) {
  1135.         if (trace)
  1136.             printf("Char #%d: %c\n", i, message[i]);
  1137.         for (j=0; j<DWIDTH; j++) line[j] = ' ';
  1138.         pc = asc_ptr[message[i]];
  1139.         term = 0;
  1140.         max = 0;
  1141.         linen = 0;
  1142.         while ( !term ) {
  1143.             if (pc<0 || pc > NBYTES) {
  1144.                 printf("bad pc: %d\n",pc);
  1145.                 exit(1);
  1146.             }
  1147.             x = data_table[pc] & 0377;
  1148.             if (trace)
  1149.                 printf("pc=%d, term=%d, max=%d, linen=%d, x=%d\n",pc,term,max,linen,x);
  1150.             if (x >= 128) {
  1151.                 if (x>192) term++;
  1152.                 x = x & 63;
  1153.                 while (x--) {
  1154.                     if (print[linen++]) {
  1155.                         for (j=0; j<=max; j++)
  1156.                             if (print[j])
  1157.                                 putchar(line[j]);
  1158.                         putchar('\n');
  1159.                     }
  1160.                 }
  1161.                 for (j=0; j<DWIDTH; j++) line[j] = ' ';
  1162.                 pc++;
  1163.             }
  1164.             else {
  1165.                 y = data_table[pc+1];
  1166.                 /* compensate for narrow teminals */
  1167. #ifdef notdef
  1168.                 x = (x*width + (DWIDTH/2)) / DWIDTH;
  1169.                 y = (y*width + (DWIDTH/2)) / DWIDTH;
  1170. #endif
  1171.                 max = x+y;
  1172.                 while (x < max) line[x++] = '#';
  1173.                 pc += 2;
  1174.                 if (trace)
  1175.                     printf("x=%d, y=%d, max=%d\n",x,y,max);
  1176.             }
  1177.         }
  1178.     }
  1179.  
  1180.     exit(0);
  1181. }
  1182.