OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [include/] [java-chartables.h] - Blame information for rev 790

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 757 jeremybenn
/* java-chartables.h -- Character tables for java.lang.Character -*- c++ -*-
2
   Copyright (C) 2002, 2006 Free Software Foundation, Inc.
3
   *** This file is generated by scripts/unicode_to_chartables.pl ***
4
 
5
This file is part of GNU Classpath.
6
 
7
GNU Classpath is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 2, or (at your option)
10
any later version.
11
 
12
GNU Classpath is distributed in the hope that it will be useful, but
13
WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15
General Public License for more details.
16
 
17
You should have received a copy of the GNU General Public License
18
along with GNU Classpath; see the file COPYING.  If not, write to the
19
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20
02110-1301 USA.
21
 
22
Linking this library statically or dynamically with other modules is
23
making a combined work based on this library.  Thus, the terms and
24
conditions of the GNU General Public License cover the whole
25
combination.
26
 
27
As a special exception, the copyright holders of this library give you
28
permission to link this library with independent modules to produce an
29
executable, regardless of the license terms of these independent
30
modules, and to copy and distribute the resulting executable under
31
terms of your choice, provided that you also meet, for each linked
32
independent module, the terms and conditions of the license of that
33
module.  An independent module is a module which is not derived from
34
or based on this library.  If you modify this library, you may extend
35
this exception to your version of the library, but you are not
36
obligated to do so.  If you do not wish to do so, delete this
37
exception statement from your version. */
38
 
39
#ifndef __JAVA_CHARTABLES_H__
40
#define __JAVA_CHARTABLES_H__
41
 
42
// These tables are automatically generated by scripts/unicode_to_chartables.pl.
43
// The Unicode data comes from www.unicode.org; this header is based on
44
// UnicodeData-4.0.0.txt. JDK 1.5 uses Unicode version 4.0.0.
45
// DO NOT EDIT the tables.  Instead, fix the upstream scripts and run
46
// them again.
47
 
48
// The data is stored in C style arrays of the appropriate CNI types, to
49
// guarantee that the data is constant and non-relocatable.  The field
50
// <code>blocks</code> stores the offset of a block of 2<sup>SHIFT</sup>
51
// characters within <code>data</code>. The data field, in turn, stores
52
// information about each character in the low order bits, and an offset
53
// into the attribute tables <code>upper</code>, <code>lower</code>,
54
// <code>numValue</code>, and <code>direction</code>.  Notice that the
55
// attribute tables are much smaller than 0xffff entries; as many characters
56
// in Unicode share common attributes.  Finally, there is a listing for
57
// <code>title</code> exceptions (most characters just have the same title
58
// case as upper case).
59
 
60
// This file should only be included by natCharacter.cc
61
 
62
/**
63
 * The array containing the numeric values that are too large to be stored as
64
 * chars in NUM_VALUE.  NUM_VALUE in this case will contain a negative integer
65
 * N such that LARGENUMS[-N - 3] contains the correct numeric value.
66
 */
67
static const jint largenums[] = {
68
    40000, 50000, 60000, 70000, 80000, 90000, };
69
 
70
/**
71
 * The character shift amount to look up the block offset. In other words,
72
 * <code>(char) (blocks[p][off >> SHIFT[p]] + off)</code> is the index where
73
 * <code>ch</code> is described in <code>data</code>, where <code>off</code>
74
 * is ch & 0xffff and <code>p</code> is the plane the character belongs to.
75
 */
76
static const int shift[] = {
77
    4, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 8, 8, };
78
 
79
/**
80
 * The mapping of character blocks to their location in <code>data</code>.
81
 * Each entry has been adjusted so that a modulo 16 sum with the desired
82
 * character gives the actual index into <code>data</code>.
83
 */
84
static const jchar blocks0[] = {
85
    15, 23, 53, 7, 52, 52, 90, 65424, 65437, 65427,
86
    11, 65461, 11, 4, 28, 21, 23, 7, 65527, 173,
87
    269, 65479, 65463, 65403, 273, 273, 183, 257, 65500, 65354,
88
    65335, 65267, 65303, 65287, 65269, 65401, 220, 50, 321, 5,
89
    65511, 317, 304, 311, 355, 355, 274, 325, 358, 342,
90
    326, 310, 65409, 401, 262, 65156, 458, 64826, 442, 64843,
91
    426, 65140, 64823, 334, 435, 64699, 64683, 64716, 64700, 371,
92
    64695, 64679, 64680, 64647, 64631, 64615, 275, 64583, 64567, 64578,
93
    64535, 65036, 65020, 64723, 64708, 64701, 65034, 65019, 65012, 65237,
94
    65219, 64791, 64789, 138, 127, 181, 64945, 220, 64878, 249,
95
    203, 65507, 107, 249, 64783, 64767, 64751, 64735, 64719, 9,
96
    171, 105, 65531, 88, 64623, 64822, 65494, 64460, 64444, 64428,
97
    64527, 64511, 65392, 65529, 64348, 64332, 64316, 64300, 64284, 64268,
98
    64252, 64236, 64220, 64204, 64188, 64172, 64156, 64140, 64124, 64108,
99
    64092, 64076, 64060, 64044, 65249, 64259, 64243, 65267, 64724, 65291,
100
    65299, 63915, 64394, 63482, 64105, 64485, 64366, 63758, 65193, 65199,
101
    64377, 63354, 63977, 63687, 65020, 63328, 64386, 65087, 63204, 63872,
102
    63849, 63246, 64454, 63332, 64937, 64989, 64010, 63098, 63721, 64328,
103
    63117, 62956, 64913, 63171, 63428, 63323, 63407, 63323, 63803, 64222,
104
    64347, 64791, 63236, 63489, 63465, 64420, 64727, 63279, 64657, 63148,
105
    64331, 63361, 63337, 64631, 64369, 63898, 64529, 63020, 64203, 63233,
106
    63209, 64143, 64503, 63838, 64401, 62892, 64468, 62443, 63091, 63450,
107
    64391, 63538, 62780, 62759, 62994, 62979, 62963, 64143, 64157, 64041,
108
    62652, 62636, 62151, 63220, 63096, 64185, 64185, 63935, 62524, 62508,
109
    64137, 62218, 63176, 63172, 62666, 62659, 63643, 62845, 63847, 62669,
110
    62662, 62649, 62052, 62284, 62268, 62252, 62483, 62467, 62722, 63849,
111
    63671, 63833, 62140, 62124, 62108, 62092, 63783, 63767, 63761, 62275,
112
    62259, 63347, 62227, 62211, 62195, 62179, 62163, 63148, 62131, 62115,
113
    62099, 62083, 63075, 62051, 62035, 62019, 62003, 63473, 61963, 61955,
114
    61939, 61923, 61227, 61211, 61875, 61859, 61163, 61827, 61795, 61123,
115
    61107, 61755, 61731, 61731, 61699, 61027, 61683, 61667, 61643, 62635,
116
    62147, 62425, 61340, 61324, 61555, 61539, 61523, 61507, 61491, 62966,
117
    61458, 61443, 61427, 61411, 61395, 61379, 61363, 61347, 61331, 61315,
118
    61299, 61283, 61267, 61251, 61235, 61219, 61203, 61187, 61171, 61155,
119
    61139, 61123, 61107, 61091, 61075, 61059, 61043, 61027, 61011, 60995,
120
    60979, 60963, 60947, 60931, 60915, 60899, 60883, 60867, 60205, 62324,
121
    61814, 61782, 60787, 60771, 60755, 60739, 62073, 62215, 60677, 62199,
122
    60659, 62183, 60627, 62167, 60581, 62151, 60563, 60547, 60531, 62103,
123
    61004, 62098, 60246, 62097, 62097, 60198, 60403, 60387, 61402, 60355,
124
    60339, 61811, 60307, 60291, 61953, 60012, 59996, 59980, 59964, 59948,
125
    60179, 61161, 61746, 60531, 59888, 60099, 61080, 61558, 59804, 59788,
126
    59772, 59756, 59740, 59724, 61668, 61652, 59676, 59660, 59644, 59628,
127
    59612, 59596, 59580, 59564, 59548, 59532, 59516, 59500, 59484, 59468,
128
    59452, 59436, 59420, 59404, 59388, 59372, 59356, 59340, 59324, 59308,
129
    59292, 59276, 59260, 59244, 59228, 59212, 59196, 59180, 59164, 59148,
130
    59132, 59116, 59100, 59084, 59068, 59052, 59036, 59020, 59004, 58988,
131
    58972, 58956, 58940, 58924, 59088, 59072, 59060, 59056, 59040, 59024,
132
    61022, 58796, 58780, 58764, 58748, 58732, 58716, 58700, 58684, 58668,
133
    58135, 58119, 58103, 58087, 58071, 58055, 58039, 58023, 58007, 58200,
134
    57975, 57959, 57943, 57927, 57911, 59112, 60622, 60622, 60590, 60574,
135
    60574, 60574, 60526, 60558, 60558, 60542, 60526, 60526, 58499, 60510,
136
    60510, 57701, 60494, 60494, 57467, 60493, 57427, 57334, 59163, 60445,
137
    60445, 57996, 60429, 60427, 57948, 60411, 58887, 57900, 58047, 59809,
138
    60046, 59529, 60439, 58731, 60423, 60423, 60423, 59922, 60407, 59668,
139
    59654, 59631, 59620, 59616, 59751, 60187, 60182, 59602, 60111, 60058,
140
    59577, 60060, 59602, 59637, 60006, 60003, 59952, 59516, 59950, 59932,
141
    60070, 59316, 60048, 60043, 60033, 60017, 60001, 57613, 59204, 57620,
142
    59188, 57600, 59140, 59945, 57148, 57132, 59076, 59060, 59859, 57068,
143
    59823, 57036, 59825, 59805, 59785, 59785, 59681, 59818, 59808, 59808,
144
    59798, 58754, 58820, 58804, 58788, 58772, 58756, 58740, 58724, 58708,
145
    58692, 58676, 58660, 59374, 58626, 58612, 58596, 58588, 58564, 57001,
146
    58532, 58516, 58500, 58484, 58469, 59260, 58436, 59240, 59224, 56428,
147
    56412, 56396, 56380, 56364, 56728, 58292, 56729, 58260, 56650, 59204,
148
    56673, 56667, 56657, 58964, 58148, 58939, 56156, 58635, 59076, 58084,
149
    58052, 58036, 58020, 58004, 57988, 57972, 57956, 57940, 57924, 57908,
150
    57892, 57876, 57860, 57844, 57828, 57812, 57812, 57796, 57780, 57764,
151
    57748, 57732, 57716, 57700, 57710, 57702, 58220, 57822, 57775, 58235,
152
    57679, 57584, 57562, 58161, 57661, 57673, 57492, 57671, 58045, 57561,
153
    57996, 57980, 57473, 57948, 57932, 57405, 57879, 57420, 58092, 55308,
154
    55292, 55276, 55260, 55244, 55228, 55212, 55196, 55180, 55164, 55148,
155
    55132, 55116, 55100, 55084, 55068, 55052, 55036, 55020, 55004, 54988,
156
    54972, 54956, 54940, 54924, 54908, 54892, 54876, 54860, 54844, 54828,
157
    54812, 54796, 54780, 54764, 54748, 54732, 54716, 54700, 54684, 54668,
158
    54652, 54636, 54620, 54604, 54588, 54572, 54556, 54540, 54524, 54508,
159
    54492, 54476, 54460, 54444, 56388, 54823, 56356, 56340, 56324, 56308,
160
    56292, 57094, 56260, 56244, 56228, 56212, 56196, 56180, 56164, 56148,
161
    56132, 56116, 56100, 56084, 56068, 56868, 54076, 56830, 57012, 57010,
162
    54323, 56918, 54226, 54211, 54195, 54179, 54163, 55228, 54114, 54115,
163
    54099, 54083, 54067, 55067, 55046, 54019, 55001, 53986, 53971, 53955,
164
    53939, 53923, 53891, 53991, 53875, 55347, 53596, 53580, 53564, 53795,
165
    56257, 56244, 56368, 56209, 56320, 56450, 56161, 56149, 56272, 56113,
166
    56097, 56100, 56165, 56049, 56033, 56133, 56001, 55985, 55969, 55953,
167
    55937, 55921, 55905, 55994, 55873, 55857, 55841, 55825, 55809, 55795,
168
    55777, 55762, 53267, 53251, 53235, 53219, 53203, 53187, 53171, 53155,
169
    53139, 53123, 53107, 53091, 53075, 53059, 53043, 53027, 53011, 52995,
170
    52979, 52963, 52947, 52931, 52915, 52899, 52883, 52867, 52851, 52835,
171
    52819, 52803, 52787, 52771, 52755, 52739, 52723, 52707, 52691, 52675,
172
    52659, 52643, 52627, 52611, 52595, 52579, 52563, 52547, 52531, 52515,
173
    52499, 52483, 52467, 52451, 52435, 52419, 52403, 52387, 52371, 52355,
174
    52339, 52323, 52307, 52291, 52275, 52259, 52243, 52227, 52211, 52195,
175
    52179, 52163, 52147, 52131, 52115, 52099, 52083, 52067, 52051, 52035,
176
    52019, 52003, 51987, 51971, 51955, 51939, 51923, 51907, 51891, 51875,
177
    51859, 51843, 51827, 51811, 51795, 51779, 51763, 51747, 51731, 51715,
178
    51699, 51683, 51667, 51651, 51635, 51619, 51603, 51587, 51571, 51555,
179
    51539, 51523, 51507, 51491, 51475, 51459, 51443, 51427, 51411, 51395,
180
    51379, 51363, 51347, 51331, 51315, 51299, 51283, 51267, 51251, 51235,
181
    51219, 51203, 51187, 51171, 51155, 51139, 51123, 51107, 51091, 51075,
182
    51059, 51043, 51027, 51011, 50995, 50979, 50963, 50947, 50931, 50915,
183
    50899, 50883, 50867, 50851, 50835, 50819, 50803, 50787, 50771, 50755,
184
    50739, 50723, 50707, 50691, 50675, 50659, 50643, 50627, 50611, 50595,
185
    50579, 50563, 50547, 50531, 50515, 50499, 50483, 50467, 50451, 50435,
186
    50419, 50403, 50387, 50371, 50355, 50339, 50323, 50307, 50291, 50275,
187
    50259, 50243, 50227, 50211, 50195, 50179, 50163, 50147, 50131, 50115,
188
    50099, 50083, 50067, 50051, 50035, 50019, 50003, 49987, 49971, 49955,
189
    49939, 49923, 49907, 49891, 49875, 49859, 49843, 49827, 49811, 49795,
190
    49779, 49763, 49747, 49731, 49715, 49699, 49683, 49667, 49651, 49635,
191
    49619, 49603, 49587, 49571, 49555, 49539, 49523, 49507, 49491, 49475,
192
    49459, 49443, 49427, 49411, 49395, 49379, 49363, 49347, 49331, 49315,
193
    49299, 49283, 49267, 49251, 49235, 49219, 49203, 49187, 49171, 49155,
194
    49139, 49123, 49107, 49091, 49075, 49059, 49043, 49027, 49011, 48995,
195
    48979, 48963, 48947, 48931, 48915, 48899, 48883, 48867, 48851, 48835,
196
    48819, 48803, 48787, 48771, 48755, 48739, 48723, 48707, 48691, 48675,
197
    48659, 48643, 48627, 48611, 48595, 48579, 48563, 48547, 48531, 48515,
198
    48499, 48483, 48467, 48451, 48435, 48419, 48403, 48387, 48371, 48355,
199
    48339, 48323, 48307, 48291, 48275, 48259, 48243, 48227, 48211, 48195,
200
    48179, 48163, 48147, 48131, 48115, 48099, 48083, 48067, 48051, 48035,
201
    48019, 48003, 47987, 47971, 47955, 47939, 47923, 47907, 47891, 47875,
202
    47859, 47843, 47827, 47811, 47795, 47779, 47763, 47747, 47731, 47715,
203
    47699, 47683, 47667, 47651, 47635, 47619, 47603, 47587, 47571, 47555,
204
    47539, 47523, 47507, 47491, 47475, 47459, 47443, 47427, 47411, 47395,
205
    47379, 47363, 47347, 47331, 47315, 47299, 47283, 47267, 47251, 47235,
206
    47219, 47203, 47187, 47171, 47155, 47139, 47123, 47107, 47091, 47075,
207
    47059, 47043, 47027, 47011, 46995, 46979, 46963, 46947, 46931, 46915,
208
    46899, 46883, 46867, 46851, 46835, 46819, 46803, 46787, 46771, 46755,
209
    46739, 46723, 46707, 48181, 48388, 48372, 48356, 48340, 46611, 46595,
210
    46579, 46563, 46547, 46531, 46515, 46499, 46483, 46467, 46451, 46435,
211
    46419, 46403, 46387, 46371, 46355, 46339, 46323, 46307, 46291, 46275,
212
    46259, 46243, 46227, 46211, 46195, 46179, 46163, 46147, 46131, 46115,
213
    46099, 46083, 46067, 46051, 46035, 46019, 46003, 45987, 45971, 45955,
214
    45939, 45923, 45907, 45891, 45875, 45859, 45843, 45827, 45811, 45795,
215
    45779, 45763, 45747, 45731, 45715, 45699, 45683, 45667, 45651, 45635,
216
    45619, 45603, 45587, 45571, 45555, 45539, 45523, 45507, 45491, 45475,
217
    45459, 45443, 45427, 45411, 45395, 45379, 45363, 45347, 45331, 45315,
218
    45299, 45283, 45267, 45251, 45235, 45219, 45203, 45187, 45171, 45155,
219
    45139, 45123, 45107, 45091, 45075, 45059, 45043, 45027, 45011, 44995,
220
    44979, 44963, 44947, 44931, 44915, 44899, 44883, 44867, 44851, 44835,
221
    44819, 44803, 44787, 44771, 44755, 44739, 44723, 44707, 44691, 44675,
222
    44659, 44643, 44627, 44611, 44595, 44579, 44563, 44547, 44531, 44515,
223
    44499, 44483, 44467, 44451, 44435, 44419, 44403, 44387, 44371, 44355,
224
    44339, 44323, 44307, 44291, 44275, 44259, 44243, 44227, 44211, 44195,
225
    44179, 44163, 44147, 44131, 44115, 44099, 44083, 44067, 44051, 44035,
226
    44019, 44003, 43987, 43971, 43955, 43939, 43923, 43907, 43891, 43875,
227
    43859, 43843, 43827, 43811, 43795, 43779, 43763, 43747, 43731, 43715,
228
    43699, 43683, 43667, 43651, 43635, 43619, 43603, 43587, 43571, 43555,
229
    43539, 43523, 43507, 43491, 43475, 43459, 43443, 43427, 43411, 43395,
230
    43379, 43363, 43347, 43331, 43315, 43299, 43283, 43267, 43251, 43235,
231
    43219, 43203, 43187, 43171, 43155, 43139, 43123, 43107, 43091, 43075,
232
    43059, 43043, 43027, 43011, 42995, 42979, 42963, 42947, 42931, 42915,
233
    42899, 42883, 42867, 42851, 42835, 42819, 42803, 42787, 42771, 42755,
234
    42739, 42723, 42707, 42691, 42675, 42659, 42643, 42627, 42611, 42595,
235
    42579, 42563, 42547, 42531, 42515, 42499, 42483, 42467, 42451, 42435,
236
    42419, 42403, 42387, 42371, 42355, 42339, 42323, 42307, 42291, 42275,
237
    42259, 42243, 42227, 42211, 42195, 42179, 42163, 42147, 42131, 42115,
238
    42099, 42083, 42067, 42051, 42035, 42019, 42003, 41987, 41971, 41955,
239
    41939, 41923, 41907, 41891, 41875, 41859, 41843, 41827, 41811, 41795,
240
    41779, 41763, 41747, 41731, 41715, 41699, 41683, 41667, 41651, 41635,
241
    41619, 41603, 41587, 41571, 41555, 41539, 41523, 41507, 41491, 41475,
242
    41459, 41443, 41427, 41411, 41395, 41379, 41363, 41347, 41331, 41315,
243
    41299, 41283, 41267, 41251, 41235, 41219, 41203, 41187, 41171, 41155,
244
    41139, 41123, 41107, 41091, 41075, 41059, 41043, 41027, 41011, 40995,
245
    40979, 40963, 40947, 40931, 40915, 40899, 40883, 40867, 40851, 40835,
246
    40819, 40803, 40787, 40771, 40755, 40739, 40723, 40707, 40691, 40675,
247
    40659, 40643, 40627, 40611, 40595, 40579, 40563, 40547, 40531, 40515,
248
    40499, 40483, 40467, 40451, 40435, 40419, 40403, 40387, 40371, 40355,
249
    40339, 40323, 40307, 40291, 40275, 40259, 40243, 40227, 40211, 40195,
250
    40179, 40163, 40147, 40131, 40115, 40099, 40083, 40067, 40051, 40035,
251
    40019, 40003, 39987, 39971, 39955, 39939, 39923, 39907, 39891, 39875,
252
    39859, 39843, 39827, 39811, 39795, 39779, 39763, 39747, 39731, 39715,
253
    39699, 39683, 39667, 39651, 39635, 39619, 39603, 39587, 39571, 39555,
254
    39539, 39523, 39507, 39491, 39475, 39459, 39443, 39427, 39411, 39395,
255
    39379, 39363, 39347, 39331, 39315, 39299, 39283, 39267, 39251, 39235,
256
    39219, 39203, 39187, 39171, 39155, 39139, 39123, 39107, 39091, 39075,
257
    39059, 39043, 39027, 39011, 38995, 38979, 38963, 38947, 38931, 38915,
258
    38899, 38883, 38867, 38851, 38835, 38819, 38803, 38787, 38771, 38755,
259
    38739, 38723, 38707, 38691, 38675, 38659, 38643, 38627, 38611, 38595,
260
    38579, 38563, 38547, 38531, 38515, 38499, 38483, 38467, 38451, 38435,
261
    38419, 38403, 38387, 38371, 38355, 38339, 38323, 38307, 38291, 38275,
262
    38259, 38243, 38227, 38211, 38195, 38179, 38163, 38147, 38131, 38115,
263
    38099, 38083, 38067, 38051, 38035, 38019, 38003, 37987, 37971, 37955,
264
    37939, 37923, 37907, 37891, 37875, 37859, 37843, 37827, 37811, 37795,
265
    37779, 37763, 37747, 37731, 37715, 37699, 37683, 37667, 37651, 37635,
266
    37619, 37603, 37587, 37571, 37555, 37539, 37523, 37507, 37491, 37475,
267
    37459, 37443, 37427, 37411, 37395, 37379, 37363, 37347, 37331, 37315,
268
    37299, 37283, 37267, 37251, 37235, 37219, 37203, 37187, 37171, 37155,
269
    37139, 37123, 37107, 37091, 37075, 37059, 37043, 37027, 37011, 36995,
270
    36979, 36963, 36947, 36931, 36915, 36899, 36883, 36867, 36851, 36835,
271
    36819, 36803, 36787, 36771, 36755, 36739, 36723, 36707, 36691, 36675,
272
    36659, 36643, 36627, 36611, 36595, 36579, 36563, 36547, 36531, 36515,
273
    36499, 36483, 36467, 36451, 36435, 36419, 36403, 36387, 36371, 36355,
274
    36339, 36323, 36307, 36291, 36275, 36259, 36243, 36227, 36211, 36195,
275
    36179, 36163, 36147, 36131, 36115, 36099, 36083, 36067, 36051, 36035,
276
    36019, 36003, 35987, 35971, 35955, 35939, 35923, 35907, 35891, 35875,
277
    35859, 35843, 35827, 35811, 35795, 35779, 35763, 35747, 35731, 35715,
278
    35699, 35683, 35667, 35651, 35635, 35619, 35603, 35587, 35571, 35555,
279
    35539, 35523, 35507, 35491, 35475, 35459, 35443, 35427, 35411, 35395,
280
    35379, 35363, 35347, 35331, 35315, 35299, 35283, 35267, 35251, 35235,
281
    35219, 35203, 35187, 35171, 35155, 35139, 35123, 35107, 35091, 35075,
282
    35059, 35043, 35027, 35011, 34995, 34979, 34963, 34947, 34931, 34915,
283
    34899, 34883, 34867, 34851, 34835, 34819, 34803, 34787, 34771, 34755,
284
    34739, 34723, 34707, 34691, 34675, 34659, 34643, 34627, 34611, 34595,
285
    34579, 34563, 34547, 34531, 34515, 34499, 34483, 34467, 34451, 34435,
286
    34419, 34403, 34387, 34371, 34355, 34339, 34323, 34307, 34291, 34275,
287
    34259, 34243, 34227, 34211, 34195, 34179, 34163, 34147, 34131, 34115,
288
    34099, 34083, 34067, 34051, 34035, 34019, 34003, 33987, 33971, 33955,
289
    33939, 33923, 33907, 33891, 33875, 33859, 33843, 33827, 33811, 33795,
290
    33779, 33763, 33747, 33731, 33715, 33699, 33683, 33667, 33651, 33635,
291
    33619, 33603, 33587, 33571, 33555, 33539, 33523, 33507, 33491, 33475,
292
    33459, 33443, 33427, 33411, 33395, 33379, 33363, 33347, 33331, 33315,
293
    33299, 33283, 33267, 33251, 33235, 33219, 33203, 33187, 33171, 33155,
294
    33139, 33123, 33107, 33091, 33075, 33059, 33043, 33027, 33011, 32995,
295
    32979, 32963, 32947, 32931, 32915, 32899, 32883, 32867, 32851, 32835,
296
    32819, 32803, 32787, 32771, 32755, 32739, 32723, 32707, 32691, 32675,
297
    32659, 32643, 32627, 32611, 32595, 32579, 32563, 32547, 32531, 32515,
298
    32499, 32483, 32467, 32451, 32435, 32419, 32403, 32387, 32371, 32355,
299
    32339, 32323, 32307, 32291, 32275, 32259, 32243, 32227, 32211, 32195,
300
    32179, 32163, 32147, 32131, 32115, 32099, 32083, 32067, 32051, 32035,
301
    32019, 32003, 31987, 31971, 31955, 31939, 31923, 31907, 31891, 31875,
302
    31859, 31843, 31827, 31811, 31795, 31779, 31763, 31747, 31731, 31715,
303
    31699, 31683, 31667, 31651, 31635, 31619, 31603, 31587, 31571, 31555,
304
    31539, 31523, 31507, 31491, 31475, 31459, 31443, 31427, 31411, 31395,
305
    31379, 31363, 31347, 31331, 31315, 31299, 31283, 31267, 31251, 31235,
306
    31219, 31203, 31187, 31171, 31155, 31139, 31123, 31107, 31091, 31075,
307
    31059, 31043, 31027, 31011, 30995, 30979, 30963, 30947, 30931, 30915,
308
    30899, 30883, 30867, 30851, 30835, 30819, 30803, 30787, 30771, 30755,
309
    30739, 30723, 30707, 30691, 30675, 30659, 30643, 30627, 30611, 30595,
310
    30579, 30563, 30547, 30531, 30515, 30499, 30483, 30467, 30451, 30435,
311
    30419, 30403, 30387, 30371, 30355, 30339, 30323, 30307, 30291, 30275,
312
    30259, 30243, 30227, 30211, 30195, 30179, 30163, 30147, 30131, 30115,
313
    30099, 30083, 30067, 30051, 30035, 30019, 30003, 29987, 29971, 29955,
314
    29939, 29923, 29907, 29891, 29875, 29859, 29843, 29827, 29811, 29795,
315
    29779, 29763, 29747, 29731, 29715, 29699, 29683, 29667, 29651, 29635,
316
    29619, 29603, 29587, 29571, 29555, 29539, 29523, 29507, 29491, 29475,
317
    29459, 29443, 29427, 29411, 29395, 29379, 29363, 29347, 29331, 29315,
318
    29299, 29283, 29267, 29251, 29235, 29219, 29203, 29187, 29171, 29155,
319
    29139, 29123, 29107, 29091, 29075, 29059, 29043, 29027, 29011, 28995,
320
    28979, 28963, 28947, 28931, 28915, 28899, 28883, 28867, 28851, 28835,
321
    28819, 28803, 28787, 28771, 28755, 28739, 28723, 28707, 28691, 28675,
322
    28659, 28643, 28627, 28611, 28595, 28579, 28563, 28547, 28531, 28515,
323
    28499, 28483, 28467, 28451, 28435, 28419, 28403, 28387, 28371, 28355,
324
    28339, 28323, 28307, 28291, 28275, 28259, 28243, 28227, 28211, 28195,
325
    28179, 28163, 28147, 28131, 28115, 28099, 28083, 28067, 28051, 28035,
326
    28019, 28003, 27987, 27971, 27955, 27939, 27923, 27907, 27891, 27875,
327
    27859, 27843, 27827, 27811, 27795, 27779, 27763, 27747, 27731, 27715,
328
    27699, 27683, 27667, 27651, 27635, 27619, 27603, 27587, 27571, 27555,
329
    27539, 27523, 27507, 27491, 27475, 27459, 27443, 27427, 27411, 27395,
330
    27379, 27363, 27347, 27331, 27315, 27299, 27283, 27267, 27251, 27235,
331
    27219, 27203, 27187, 27171, 27155, 27139, 27123, 27107, 27091, 27075,
332
    27059, 27043, 27027, 27011, 26995, 26979, 26963, 26947, 26931, 26915,
333
    26899, 26883, 26867, 26851, 26835, 26819, 26803, 26787, 26771, 26755,
334
    26739, 26723, 26707, 26691, 26675, 26659, 26643, 26627, 26611, 26595,
335
    26579, 26563, 26547, 26531, 26515, 26499, 26483, 26467, 26451, 26435,
336
    26419, 26403, 26387, 26371, 26355, 26339, 26323, 26307, 26291, 26275,
337
    26259, 26243, 26227, 26211, 26195, 26179, 26163, 26147, 26131, 26115,
338
    26099, 26083, 26067, 26051, 26035, 26019, 26003, 25987, 25971, 25955,
339
    25939, 25923, 25907, 25891, 25875, 25859, 25843, 25827, 25811, 25795,
340
    25779, 25763, 25747, 25731, 27205, 25452, 25436, 25420, 25404, 25388,
341
    25619, 25603, 25587, 25571, 25555, 25539, 25523, 25507, 25491, 25475,
342
    25459, 25443, 25427, 25411, 25395, 25379, 25363, 25347, 25331, 25315,
343
    25299, 25283, 25267, 25251, 25235, 25219, 25203, 25187, 25171, 25155,
344
    25139, 25123, 25107, 25091, 25075, 25059, 25043, 25027, 25011, 24995,
345
    24979, 24963, 24947, 24931, 24915, 24899, 24883, 24867, 24851, 24835,
346
    24819, 24803, 24787, 24771, 24755, 24739, 24723, 24707, 24691, 24675,
347
    24659, 24643, 24627, 24611, 24595, 24579, 24563, 24547, 24531, 24515,
348
    24499, 24483, 25465, 26164, 26148, 26132, 26931, 24140, 24124, 24108,
349
    24092, 24076, 24060, 24044, 24028, 24012, 23996, 23980, 23964, 23948,
350
    23932, 23916, 23900, 23884, 23868, 23852, 23836, 23820, 23804, 23788,
351
    23772, 23756, 23740, 23724, 23708, 23692, 23676, 23660, 23644, 23628,
352
    23612, 23596, 23580, 23564, 23548, 23532, 23516, 23500, 23484, 23468,
353
    23452, 23436, 23420, 23404, 23388, 23372, 23356, 23340, 23324, 23308,
354
    23292, 23276, 23260, 23244, 23228, 23212, 23196, 23180, 23164, 23148,
355
    23132, 23116, 23100, 23084, 23068, 23052, 23036, 23020, 23004, 22988,
356
    22972, 22956, 22940, 22924, 22908, 22892, 22876, 22860, 22844, 22828,
357
    22812, 22796, 22780, 22764, 22748, 22732, 22716, 22700, 22684, 22668,
358
    22652, 22636, 22620, 22604, 22588, 22572, 22556, 22540, 22524, 22508,
359
    22492, 22476, 22460, 22444, 22428, 22412, 22396, 22380, 22364, 22348,
360
    22332, 22316, 22547, 22531, 22515, 22499, 22483, 22467, 22451, 22435,
361
    22419, 22403, 22387, 22371, 22355, 22339, 22323, 22307, 22291, 22275,
362
    22259, 22243, 22227, 22211, 22195, 22179, 22163, 22147, 22131, 22115,
363
    22099, 22083, 22067, 22051, 22035, 22019, 22003, 21987, 21971, 21955,
364
    21939, 21923, 21907, 21891, 21875, 21859, 21843, 21827, 21811, 21795,
365
    21779, 21763, 21747, 21731, 21715, 21699, 21683, 21667, 21651, 21635,
366
    21619, 21603, 21587, 21571, 21555, 21539, 21523, 21507, 21491, 21475,
367
    21459, 21443, 21427, 21411, 21395, 21379, 21363, 21347, 21331, 21315,
368
    21299, 21283, 21267, 21251, 21235, 21219, 21203, 21187, 21171, 21155,
369
    21139, 21123, 21107, 21091, 21075, 21059, 21043, 21027, 21011, 20995,
370
    20979, 20963, 20947, 20931, 20915, 20899, 20883, 20867, 20851, 20835,
371
    20819, 20803, 20787, 20771, 20755, 20739, 20723, 20707, 20691, 20675,
372
    20659, 20643, 20627, 20611, 20595, 20579, 20563, 20547, 20531, 20515,
373
    20499, 20483, 20467, 20451, 20435, 20419, 20403, 20387, 20371, 20355,
374
    20339, 20323, 20307, 20291, 20275, 20259, 20243, 20227, 20211, 20195,
375
    20179, 20163, 20147, 20131, 20115, 20099, 20083, 20067, 20051, 20035,
376
    20019, 20003, 19987, 19971, 19955, 19939, 19923, 19907, 19891, 19875,
377
    19859, 19843, 19827, 19811, 19795, 19779, 19763, 19747, 19731, 19715,
378
    19699, 19683, 19667, 19651, 19635, 19619, 19603, 19587, 19571, 19555,
379
    19539, 19523, 19507, 19491, 19475, 19459, 19443, 19427, 19411, 19395,
380
    19379, 19363, 19347, 19331, 19315, 19299, 19283, 19267, 19251, 19235,
381
    19219, 19203, 19187, 19171, 19155, 19139, 19123, 19107, 19091, 19075,
382
    19059, 19043, 19027, 19011, 18995, 18979, 18963, 18947, 18931, 18915,
383
    18899, 18883, 18867, 18851, 18835, 18819, 18803, 18787, 18771, 18755,
384
    18739, 18723, 18707, 18691, 18675, 18659, 18643, 18627, 18611, 18595,
385
    18579, 18563, 18547, 18531, 18515, 18499, 18483, 18467, 18451, 18435,
386
    18419, 18403, 18387, 18371, 18355, 18339, 18323, 18307, 18291, 18275,
387
    18259, 18243, 18227, 18211, 18195, 18179, 18163, 18147, 18131, 18115,
388
    18099, 18083, 18067, 18051, 18035, 18019, 18003, 17987, 17971, 17955,
389
    17939, 17923, 17907, 17891, 17875, 17859, 17843, 17827, 17811, 17795,
390
    17779, 17763, 17747, 17731, 17715, 17699, 17683, 17667, 17651, 17635,
391
    17619, 17603, 17587, 17571, 17555, 17539, 17523, 17507, 17491, 17475,
392
    17459, 17443, 17427, 17411, 17395, 17379, 17363, 17347, 17331, 17315,
393
    17299, 17283, 17267, 17251, 17235, 17219, 17203, 17187, 17171, 17155,
394
    17139, 17123, 17107, 17091, 17075, 17059, 17043, 17027, 17011, 16995,
395
    16979, 16963, 16947, 16931, 16915, 16899, 16883, 16867, 16851, 16835,
396
    16819, 16803, 16787, 16771, 16755, 16739, 16723, 16707, 16691, 16675,
397
    16659, 16643, 16627, 16611, 16595, 16579, 16563, 16547, 16531, 16515,
398
    16499, 16483, 16467, 16451, 16435, 16419, 16403, 16387, 16371, 16355,
399
    16339, 16323, 16307, 16291, 16275, 16259, 16243, 16227, 16211, 16195,
400
    16179, 16163, 16147, 16131, 16115, 16099, 16083, 16067, 16051, 16035,
401
    16019, 16003, 15987, 15971, 15955, 15939, 15923, 15907, 15891, 15875,
402
    15859, 15843, 15827, 15811, 15795, 15779, 15763, 15747, 15731, 15715,
403
    15699, 15683, 15667, 15651, 15635, 15619, 15603, 15587, 15571, 15555,
404
    15539, 15523, 15507, 15491, 15475, 15459, 15443, 15427, 15411, 15395,
405
    15379, 15363, 15347, 15331, 15315, 15299, 15283, 15267, 15251, 15235,
406
    15219, 15203, 15187, 15171, 15155, 15139, 15123, 15107, 15091, 15075,
407
    15059, 15043, 15027, 15011, 14995, 14979, 14963, 14947, 14931, 14915,
408
    14899, 14883, 14867, 14851, 14835, 14819, 14803, 14787, 14771, 14755,
409
    14739, 14723, 14707, 14691, 14675, 14659, 14643, 14627, 14611, 14595,
410
    14579, 14563, 14547, 14531, 14515, 14499, 14483, 14467, 14451, 14435,
411
    14419, 14403, 14387, 14371, 14355, 14339, 14323, 14307, 14291, 14275,
412
    14259, 14243, 14227, 14211, 14195, 14179, 14163, 14147, 14131, 14115,
413
    14099, 14083, 14067, 14051, 14035, 14019, 14003, 13987, 13971, 13955,
414
    13939, 13923, 13907, 13891, 13875, 13859, 13843, 13827, 13811, 13795,
415
    13779, 13763, 13747, 13731, 13715, 13699, 13683, 13667, 13651, 13635,
416
    13619, 13603, 13587, 13571, 13555, 13539, 13523, 13507, 13491, 13475,
417
    13459, 13443, 13427, 13411, 13395, 13379, 13363, 13347, 13331, 13315,
418
    13299, 13283, 13267, 13251, 13235, 13219, 13203, 13187, 13171, 13155,
419
    13139, 13123, 13107, 13091, 13075, 13059, 13043, 13027, 13011, 12995,
420
    12979, 12963, 12947, 12931, 12915, 12899, 12883, 12867, 12851, 12835,
421
    12819, 12803, 12787, 12771, 12755, 12739, 12723, 12707, 12691, 12675,
422
    12659, 12643, 12627, 12611, 12595, 12579, 12563, 12547, 12531, 12515,
423
    12499, 12483, 12467, 12451, 12435, 12419, 12403, 12387, 12371, 12355,
424
    12339, 12323, 12307, 12291, 12275, 12259, 12243, 12227, 12211, 12195,
425
    12179, 12163, 12147, 12131, 12115, 12099, 12083, 12067, 12051, 12035,
426
    12019, 12003, 11987, 11971, 11955, 11939, 11923, 11907, 11891, 11875,
427
    11859, 11843, 11827, 11811, 11795, 11779, 11763, 11747, 11731, 11715,
428
    11699, 11683, 11667, 11651, 11635, 11619, 11603, 11587, 11571, 11555,
429
    11539, 11523, 11507, 11491, 11475, 11459, 11443, 11427, 11411, 11395,
430
    12871, 11116, 11100, 11084, 11068, 11052, 14050, 14034, 14018, 14002,
431
    13986, 13970, 13954, 13938, 13922, 13906, 13890, 13874, 13858, 13842,
432
    13826, 13810, 13794, 13778, 13762, 13746, 13730, 13714, 13698, 13682,
433
    13666, 13650, 13634, 13618, 13602, 13586, 13570, 13554, 13538, 13522,
434
    13506, 13490, 13474, 13458, 13442, 13426, 13410, 13394, 13378, 13362,
435
    13346, 13330, 13314, 13298, 13282, 13266, 13250, 13234, 13218, 13202,
436
    13186, 13170, 13154, 13138, 13122, 13106, 13090, 13074, 13058, 13042,
437
    13026, 13010, 12994, 12978, 12962, 12946, 12930, 12914, 12898, 12882,
438
    12866, 12850, 12834, 12818, 12802, 12786, 12770, 12754, 12738, 12722,
439
    12706, 12690, 12674, 12658, 12642, 12626, 12610, 12594, 12578, 12562,
440
    12546, 12530, 12514, 12498, 12482, 12466, 12450, 12434, 12418, 12402,
441
    12386, 12370, 12354, 12338, 12322, 12306, 12290, 12274, 12258, 12242,
442
    12226, 12210, 12194, 12178, 12162, 12146, 12130, 12114, 12098, 12082,
443
    12066, 12050, 12034, 12018, 12018, 12002, 11986, 11970, 11954, 11938,
444
    11922, 11906, 11890, 11874, 11858, 11842, 11826, 11810, 11794, 11778,
445
    11762, 11746, 11730, 11714, 11698, 11682, 11666, 11650, 11634, 11618,
446
    11602, 11586, 11570, 11554, 11538, 11522, 11506, 11490, 11474, 11458,
447
    11442, 11426, 11410, 11394, 11378, 11362, 11346, 11330, 11314, 11298,
448
    11282, 11266, 11250, 11234, 11218, 11202, 11186, 11170, 11154, 11138,
449
    11122, 11106, 11090, 11074, 11058, 11042, 11026, 11010, 10994, 10978,
450
    10962, 10946, 10930, 10914, 10898, 10882, 10866, 10850, 10834, 10818,
451
    10802, 10786, 10770, 10754, 10738, 10722, 10706, 10690, 10674, 10658,
452
    10642, 10626, 10610, 10594, 10578, 10562, 10546, 10530, 10514, 10498,
453
    10482, 10466, 10450, 10434, 10418, 10402, 10386, 10370, 10354, 10338,
454
    10322, 10306, 10290, 10274, 10258, 10242, 10226, 10210, 10194, 10178,
455
    10162, 10146, 10130, 10114, 10098, 10082, 10066, 10050, 10034, 10018,
456
    10002, 9986, 9970, 9954, 9938, 9922, 9906, 9890, 9874, 9858,
457
    9842, 9826, 9810, 9794, 9778, 9762, 9746, 9730, 9714, 9698,
458
    9682, 9666, 9650, 9634, 9618, 9602, 9586, 9570, 9554, 9538,
459
    9522, 9506, 9490, 9474, 9458, 9442, 9426, 9410, 9394, 9378,
460
    9362, 9346, 9330, 9314, 9298, 9282, 9266, 9250, 9234, 9218,
461
    9202, 9186, 9170, 9154, 9138, 9122, 9106, 9090, 9074, 9058,
462
    9042, 9026, 9010, 8994, 8978, 8962, 8946, 8930, 8914, 8898,
463
    8882, 8866, 8850, 8834, 8818, 8802, 8786, 8770, 8754, 8738,
464
    8722, 8706, 8690, 8674, 8658, 8642, 8626, 8610, 8594, 8578,
465
    8562, 8546, 8530, 8514, 8498, 8482, 8466, 8450, 8434, 8418,
466
    8402, 8386, 8370, 8354, 8338, 8322, 8306, 8290, 8274, 8258,
467
    8242, 8226, 8210, 8194, 8178, 8162, 8146, 8130, 8114, 8098,
468
    8082, 8066, 8050, 8034, 8018, 8002, 7986, 7970, 7954, 7938,
469
    7922, 7906, 7890, 7874, 7858, 7842, 7826, 7810, 7794, 7778,
470
    7762, 7746, 7730, 7714, 7698, 7682, 7666, 7650, 7634, 7618,
471
    7602, 7586, 7570, 7554, 7538, 7522, 7506, 7490, 7474, 7458,
472
    7442, 7426, 7410, 7394, 7378, 7362, 7346, 7330, 7314, 7298,
473
    7282, 7266, 7250, 7234, 7218, 7202, 7186, 7170, 7154, 7138,
474
    7122, 7106, 7090, 7074, 7058, 7042, 7026, 7010, 6994, 6978,
475
    6962, 6946, 6930, 6914, 6898, 6882, 6866, 6850, 6834, 6818,
476
    6802, 6786, 6770, 6754, 6738, 6722, 6706, 6690, 6674, 6658,
477
    6642, 6626, 6610, 6594, 6578, 6562, 6546, 6530, 6514, 6498,
478
    6482, 6466, 6450, 6434, 6418, 6402, 6386, 6370, 6354, 6338,
479
    6322, 6306, 6290, 6274, 6258, 6242, 6226, 6210, 6194, 6178,
480
    6162, 6146, 6130, 6114, 6098, 6082, 6066, 6050, 6034, 6018,
481
    6002, 5986, 5970, 5954, 5938, 5922, 5906, 5890, 5874, 5858,
482
    5842, 5826, 5810, 5794, 5778, 5762, 5746, 5730, 5714, 5698,
483
    5682, 5666, 5650, 5634, 2835, 2819, 2803, 2787, 2771, 2755,
484
    2739, 2723, 2707, 2691, 2675, 2659, 2643, 2627, 2611, 2595,
485
    2579, 2563, 3544, 2531, 2515, 2499, 3483, 2220, 2204, 2188,
486
    2172, 2156, 2140, 2124, 2108, 2092, 5122, 2869, 5106, 5100,
487
    2836, 2111, 2095, 2079, 2063, 2047, 2031, 2946, 1884, 1980,
488
    1967, 1951, 1935, 1919, 1903, 1887, 1871, 1855, 1839, 1823,
489
    1807, 1791, 1775, 1759, 1743, 1727, 1711, 1695, 1679, 1663,
490
    1647, 1633, 1500, 1599, 1583, 1567, 1551, 1533, 1519, 1503,
491
    2412, 1356, 1340, 2473, 1638, 1292, 2072, 4348, 4344, 3614,
492
    4328, 2227, 1295, 1279, 1263, 1247, 1231, 1215, 1199, 2172,
493
    1941, 295, 340, 340, 378, 4104, 2137, 2221, 1171, 1157,
494
    1139, 1107, 451, 907, 3976, 819,
495
};
496
 
497
static const jchar blocks1[] = {
498
    0, 65535, 63, 4, 4, 253, 189, 125, 61, 65533,
499
    65469, 65405, 65405, 65266, 65325, 65149, 64639, 64623, 65133, 64893,
500
    64829, 64765, 64701, 64637, 64573, 64509, 64445, 64381, 64317, 64253,
501
    64189, 64125, 64301, 63997, 63933, 63869, 63805, 63741, 63677, 63613,
502
    63549, 63485, 63421, 63357, 63293, 63229, 63165, 63101, 63037, 62973,
503
    62909, 62845, 62781, 62717, 62653, 62589, 62525, 62461, 62397, 62333,
504
    62269, 62205, 62141, 62077, 62013, 61949, 61885, 61821, 61757, 61693,
505
    61629, 61565, 61501, 61437, 61373, 61309, 61245, 61181, 61117, 61053,
506
    60989, 60925, 60861, 60797, 60733, 60669, 60605, 60541, 60477, 60413,
507
    60349, 60285, 60221, 60157, 60093, 60029, 59965, 59901, 59837, 59773,
508
    59709, 59645, 59581, 59517, 59453, 59389, 59325, 59261, 59197, 59133,
509
    59069, 59005, 58941, 58877, 58813, 58749, 58685, 58621, 58557, 58493,
510
    58429, 58365, 58301, 58237, 58173, 58109, 58045, 57981, 57917, 57853,
511
    57789, 57725, 57661, 57597, 57533, 57469, 57405, 57341, 57277, 57213,
512
    57149, 57085, 57021, 56957, 56893, 56829, 56765, 56701, 56637, 56573,
513
    56509, 56445, 56381, 56317, 56253, 56189, 56125, 56061, 55997, 55933,
514
    55869, 55805, 55741, 55677, 55613, 55549, 55485, 55421, 55357, 55293,
515
    55229, 55165, 55101, 55037, 54973, 54909, 54845, 54781, 54717, 54653,
516
    54589, 54525, 54461, 54397, 54333, 54269, 54205, 54141, 54077, 54013,
517
    53949, 53885, 53821, 53757, 53693, 53629, 53565, 53501, 53437, 53373,
518
    53309, 53245, 53181, 53117, 53053, 52989, 52925, 52861, 52797, 52733,
519
    52669, 52605, 52541, 52477, 52413, 52349, 52285, 52221, 52157, 52093,
520
    52029, 51965, 51901, 51837, 51773, 51709, 51645, 51581, 51517, 51453,
521
    51389, 51325, 51261, 51197, 51133, 51069, 51005, 50941, 50877, 50813,
522
    50749, 50685, 50621, 50557, 50493, 50429, 50365, 50301, 50237, 50173,
523
    50109, 50045, 49981, 49917, 49853, 49789, 49725, 49661, 49597, 49533,
524
    49469, 49405, 49341, 49277, 49213, 49149, 49085, 49021, 48957, 48893,
525
    48829, 48765, 48701, 48637, 48573, 48509, 48445, 48381, 48317, 48253,
526
    48189, 48125, 48061, 47997, 47933, 47869, 47805, 47741, 47677, 47613,
527
    47549, 47485, 47421, 47357, 47293, 47229, 47165, 47101, 47037, 46973,
528
    46909, 46845, 46781, 46717, 46653, 46589, 46525, 46461, 46397, 46333,
529
    46269, 46205, 46141, 46077, 46013, 45949, 45885, 45821, 45757, 45693,
530
    45629, 45565, 45501, 45437, 45373, 45309, 45245, 45181, 45117, 45053,
531
    44989, 44925, 44861, 44797, 44733, 44669, 44605, 44541, 44477, 44413,
532
    44349, 44285, 44221, 44157, 44093, 44029, 43965, 43901, 43837, 43773,
533
    43709, 43645, 43581, 43517, 43453, 43389, 43325, 43261, 43197, 43133,
534
    43069, 43005, 42941, 42877, 42813, 42749, 42685, 42621, 42557, 42493,
535
    42429, 42365, 42301, 42237, 42173, 42109, 42045, 41981, 41917, 41853,
536
    41789, 41725, 41661, 41597, 41533, 41469, 41405, 41341, 41277, 41213,
537
    41149, 41085, 41021, 40957, 40893, 40829, 40765, 40701, 40637, 40573,
538
    40509, 40445, 40381, 40317, 40253, 40189, 40125, 40061, 39997, 39933,
539
    39869, 39805, 39741, 39677, 39613, 39549, 39485, 39421, 39357, 39293,
540
    39229, 39165, 39101, 39037, 38973, 38909, 38845, 38781, 38717, 38653,
541
    38589, 38525, 38461, 38397, 38333, 38269, 38205, 38141, 38077, 38013,
542
    37949, 37885, 37821, 37757, 37693, 37629, 37565, 37501, 37437, 37373,
543
    37309, 37245, 37181, 37117, 37053, 36989, 36925, 36861, 36797, 36733,
544
    36669, 36605, 36541, 36477, 36413, 36349, 36285, 36221, 36157, 36093,
545
    36029, 35965, 35901, 35837, 35773, 35709, 35645, 35581, 35517, 35453,
546
    35389, 35325, 35261, 35197, 35133, 35069, 35005, 34941, 34877, 34813,
547
    34749, 34685, 34621, 34557, 34493, 34429, 34365, 34301, 34237, 34173,
548
    34109, 34045, 33981, 33917, 33853, 33789, 33725, 33661, 33597, 33533,
549
    33469, 33405, 33341, 33277, 33213, 33149, 33085, 33021, 32957, 32893,
550
    32829, 32765, 32701, 32637, 32573, 32509, 32445, 32381, 32317, 32253,
551
    32189, 32125, 32061, 31997, 31933, 31869, 31805, 31741, 31677, 31613,
552
    31549, 31485, 31421, 31357, 31293, 31229, 31165, 31101, 31037, 30973,
553
    30909, 30845, 30781, 30717, 30653, 30589, 30525, 30461, 30397, 30333,
554
    30269, 30205, 30141, 30077, 30013, 29949, 29885, 29821, 29757, 29693,
555
    29629, 29565, 29501, 29437, 29373, 29309, 29245, 29181, 29117, 29053,
556
    28989, 28925, 28861, 28797, 28733, 28669, 28605, 28541, 28477, 28413,
557
    28349, 28285, 28221, 28157, 28093, 28029, 27965, 27901, 27837, 27773,
558
    27709, 27645, 27581, 27517, 27453, 27389, 27325, 27261, 27197, 27133,
559
    27069, 27005, 26941, 26877, 26813, 26749, 26685, 26621, 26557, 26493,
560
    26429, 26365, 26301, 26237, 26173, 26109, 26045, 25981, 25917, 25853,
561
    25789, 25725, 25661, 25597, 25533, 25469, 25405, 25341, 25277, 25213,
562
    25149, 25085, 25021, 24957, 24893, 24829, 24765, 24701, 24637, 24573,
563
    24509, 24445, 24381, 24317, 24253, 24189, 24125, 24061, 23997, 23933,
564
    23869, 23805, 23741, 23677, 23613, 23549, 23485, 23421, 23357, 23293,
565
    23229, 23165, 23101, 23037, 22973, 22909, 22845, 22781, 22717, 22653,
566
    22589, 22525, 22461, 22397, 22333, 22269, 22205, 22141, 22077, 22013,
567
    21949, 21885, 21821, 21757, 21693, 21629, 21565, 21501, 21437, 21373,
568
    21309, 21245, 21181, 21117, 21053, 20989, 20925, 20861, 20797, 20733,
569
    20669, 20605, 20541, 20477, 20413, 20349, 20285, 20221, 20157, 20093,
570
    20029, 19965, 19901, 19837, 19773, 19709, 19645, 19581, 19517, 19453,
571
    19389, 19325, 19261, 19197, 19133, 19069, 19005, 18941, 18877, 18813,
572
    18749, 18685, 18621, 18557, 18493, 18429, 18365, 18301, 18237, 18173,
573
    18109, 18045, 17981, 17917, 17853, 17789, 17725, 17661, 17597, 17533,
574
    17469, 17405, 17341, 17277, 17213, 17149, 17085, 17021, 16957, 16893,
575
    16829, 16765, 16701, 16637, 16573, 16509, 16445, 16381, 16317, 16253,
576
    16189, 16125, 16061, 15997, 15933, 15869, 15805, 15741, 15677, 15613,
577
    15549, 15485, 15421, 15357, 15293, 15229, 15165, 15101, 15037, 14973,
578
    14909, 14845, 14781, 14717, 14653, 14589, 14525, 14461, 14397, 14333,
579
    14269, 14205, 14141, 14077, 14013, 13949, 13885, 13821, 13757, 13693,
580
    13629, 13565, 13501, 13437, 13373, 13309, 13245, 13181, 13117, 13053,
581
    12989, 12925, 12752, 12688, 12624, 12570, 12454, 12283, 12280, 12338,
582
    12349, 12285, 12221, 12157, 12397, 12374, 11965, 11901, 12340, 12394,
583
    12451, 12132, 12384, 12197, 11976, 11924, 11820, 11768, 11768, 11542,
584
    11484, 11426, 11368, 11744, 10813, 10749, 10685, 10621, 10557, 10493,
585
    10429, 10365, 10301, 10237, 10173, 10109, 10045, 9981, 9917, 9853,
586
    9789, 9725, 9661, 9597, 9533, 9469, 9405, 9341, 9277, 9213,
587
    9149, 9085, 9021, 8957, 8893, 8829, 8765, 8701, 8637, 8573,
588
    8509, 8445, 8381, 8317, 8253, 8189, 8125, 8061, 7997, 7933,
589
    7869, 7805, 7741, 7677, 7613, 7549, 7485, 7421, 7357, 7293,
590
    7229, 7165, 7101, 7037, 6973, 6909, 6845, 6781, 6717, 6653,
591
    6589, 6525, 6461, 6397, 6333, 6269, 6205, 6141, 6077, 6013,
592
    5949, 5885, 5821, 5757, 5693, 5629, 5565, 5501, 5437, 5373,
593
    5309, 5245, 5181, 5117, 5053, 4989, 4925, 4861, 4797, 4733,
594
    4669, 4605, 4541, 4477, 4413, 4349, 4285, 4221, 4157, 4093,
595
    4029, 3965, 3901, 3837, 3773, 3709, 3645, 3581, 3517, 3453,
596
    3389, 3325, 3261, 3197, 3133, 3069, 3005, 2941, 2877, 2813,
597
    2749, 2685, 2621, 2557, 2493, 2429, 2365, 2301, 2237, 2173,
598
    2109, 2045, 1981, 1917, 1853, 1789, 1725, 1661, 1597, 1533,
599
    1469, 1405, 1341, 1277, 1213, 1149, 1085, 1021, 957, 893,
600
    829, 765, 701, 637,
601
};
602
 
603
static const jchar blocks2[] = {
604
    0, 65408, 65280, 65152, 65024, 64896, 64768, 64640, 64512, 64384,
605
    64256, 64128, 64000, 63872, 63744, 63616, 63488, 63360, 63232, 63104,
606
    62976, 62848, 62720, 62592, 62464, 62336, 62208, 62080, 61952, 61824,
607
    61696, 61568, 61440, 61312, 61184, 61056, 60928, 60800, 60672, 60544,
608
    60416, 60288, 60160, 60032, 59904, 59776, 59648, 59520, 59392, 59264,
609
    59136, 59008, 58880, 58752, 58624, 58496, 58368, 58240, 58112, 57984,
610
    57856, 57728, 57600, 57472, 57344, 57216, 57088, 56960, 56832, 56704,
611
    56576, 56448, 56320, 56192, 56064, 55936, 55808, 55680, 55552, 55424,
612
    55296, 55168, 55040, 54912, 54784, 54656, 54528, 54400, 54272, 54144,
613
    54016, 53888, 53760, 53632, 53504, 53376, 53248, 53120, 52992, 52864,
614
    52736, 52608, 52480, 52352, 52224, 52096, 51968, 51840, 51712, 51584,
615
    51456, 51328, 51200, 51072, 50944, 50816, 50688, 50560, 50432, 50304,
616
    50176, 50048, 49920, 49792, 49664, 49536, 49408, 49280, 49152, 49024,
617
    48896, 48768, 48640, 48512, 48384, 48256, 48128, 48000, 47872, 47744,
618
    47616, 47488, 47360, 47232, 47104, 46976, 46848, 46720, 46592, 46464,
619
    46336, 46208, 46080, 45952, 45824, 45696, 45568, 45440, 45312, 45184,
620
    45056, 44928, 44800, 44672, 44544, 44416, 44288, 44160, 44032, 43904,
621
    43776, 43648, 43520, 43392, 43264, 43136, 43008, 42880, 42752, 42624,
622
    42496, 42368, 42240, 42112, 41984, 41856, 41728, 41600, 41472, 41344,
623
    41216, 41088, 40960, 40832, 40704, 40576, 40448, 40320, 40192, 40064,
624
    39936, 39808, 39680, 39552, 39424, 39296, 39168, 39040, 38912, 38784,
625
    38656, 38528, 38400, 38272, 38144, 38016, 37888, 37760, 37632, 37504,
626
    37376, 37248, 37120, 36992, 36864, 36736, 36608, 36480, 36352, 36224,
627
    36096, 35968, 35840, 35712, 35584, 35456, 35328, 35200, 35072, 34944,
628
    34816, 34688, 34560, 34432, 34304, 34176, 34048, 33920, 33792, 33664,
629
    33536, 33408, 33280, 33152, 33024, 32896, 32768, 32640, 32512, 32384,
630
    32256, 32128, 32000, 31872, 31744, 31616, 31488, 31360, 31232, 31104,
631
    30976, 30848, 30720, 30592, 30464, 30336, 30208, 30080, 29952, 29824,
632
    29696, 29568, 29440, 29312, 29184, 29056, 28928, 28800, 28672, 28544,
633
    28416, 28288, 28160, 28032, 27904, 27776, 27648, 27520, 27392, 27264,
634
    27136, 27008, 26880, 26752, 26624, 26496, 26368, 26240, 26112, 25984,
635
    25856, 25728, 25600, 25472, 25344, 25216, 25088, 24960, 24832, 24704,
636
    24576, 24448, 24320, 24192, 24064, 23936, 23808, 23680, 23552, 23424,
637
    23296, 23168, 23040, 22953, 22912, 22784, 22656, 22528, 22400, 22272,
638
    22144, 22016, 21888, 21760, 21632, 21504, 21376, 21248, 21120, 20992,
639
    20864, 20736, 20608, 20480, 20352, 20224, 20096, 19968, 19840, 19712,
640
    19584, 19456, 19328, 19200, 19072, 18944, 18816, 18688, 18560, 18432,
641
    18304, 18176, 18048, 17920, 17792, 17664, 17536, 17408, 17280, 17152,
642
    17024, 16896, 16768, 16640, 16512, 16384, 16256, 16128, 16000, 15872,
643
    15744, 15616, 15488, 15360, 15232, 15104, 14976, 14848, 14720, 14592,
644
    14464, 14336, 14208, 14080, 13952, 13824, 13696, 13568, 13440, 13312,
645
    13184, 13056, 12928, 12800, 12672, 12544, 12416, 12288, 12160, 12032,
646
    11904, 11776, 11648, 11520, 11392, 11264, 11136, 11008, 10880, 10752,
647
    10624, 10496, 10368, 10240, 10112, 9984, 9856, 9728, 9600, 9472,
648
    9344, 9216, 9088, 8960, 8832, 8704, 8576, 8448, 8320, 8192,
649
    8064, 7936, 7808, 7680, 7552, 7424, 7296, 7168, 7040, 6912,
650
    6784, 6656, 6528, 6400, 6272, 6144, 6016, 5888, 5760, 5632,
651
    5504, 5376, 5248, 5120, 4992, 4864, 4736, 4608, 4480, 4352,
652
    4224, 4096, 3968, 3840, 3712, 3584, 3456, 3328, 3200, 3072,
653
    2944, 2816, 2688, 2560, 2432, 2304, 2048, 1920, 1792, 1664,
654
    1634, 1536, 1408, 1280, 1152, 1024, 896, 768, 640, 512,
655
    384, 256,
656
};
657
 
658
static const jchar blocks14[] = {
659
    255, 0, 65280, 65168, 65152, 65024, 64896, 64768, 64640, 64512,
660
    64384, 64256, 64128, 64000, 63872, 63744, 63616, 63488, 63360, 63232,
661
    63104, 62976, 62848, 62720, 62592, 62464, 62336, 62208, 62080, 61952,
662
    61824, 61696, 61568, 61440, 61312, 61184, 61056, 60928, 60800, 60672,
663
    60544, 60416, 60288, 60160, 60032, 59904, 59776, 59648, 59520, 59392,
664
    59264, 59136, 59008, 58880, 58752, 58624, 58496, 58368, 58240, 58112,
665
    57984, 57856, 57728, 57600, 57472, 57344, 57216, 57088, 56960, 56832,
666
    56704, 56576, 56448, 56320, 56192, 56064, 55936, 55808, 55680, 55552,
667
    55424, 55296, 55168, 55040, 54912, 54784, 54656, 54528, 54400, 54272,
668
    54144, 54016, 53888, 53760, 53632, 53504, 53376, 53248, 53120, 52992,
669
    52864, 52736, 52608, 52480, 52352, 52224, 52096, 51968, 51840, 51712,
670
    51584, 51456, 51328, 51200, 51072, 50944, 50816, 50688, 50560, 50432,
671
    50304, 50176, 50048, 49920, 49792, 49664, 49536, 49408, 49280, 49152,
672
    49024, 48896, 48768, 48640, 48512, 48384, 48256, 48128, 48000, 47872,
673
    47744, 47616, 47488, 47360, 47232, 47104, 46976, 46848, 46720, 46592,
674
    46464, 46336, 46208, 46080, 45952, 45824, 45696, 45568, 45440, 45312,
675
    45184, 45056, 44928, 44800, 44672, 44544, 44416, 44288, 44160, 44032,
676
    43904, 43776, 43648, 43520, 43392, 43264, 43136, 43008, 42880, 42752,
677
    42624, 42496, 42368, 42240, 42112, 41984, 41856, 41728, 41600, 41472,
678
    41344, 41216, 41088, 40960, 40832, 40704, 40576, 40448, 40320, 40192,
679
    40064, 39936, 39808, 39680, 39552, 39424, 39296, 39168, 39040, 38912,
680
    38784, 38656, 38528, 38400, 38272, 38144, 38016, 37888, 37760, 37632,
681
    37504, 37376, 37248, 37120, 36992, 36864, 36736, 36608, 36480, 36352,
682
    36224, 36096, 35968, 35840, 35712, 35584, 35456, 35328, 35200, 35072,
683
    34944, 34816, 34688, 34560, 34432, 34304, 34176, 34048, 33920, 33792,
684
    33664, 33536, 33408, 33280, 33152, 33024, 32896, 32768, 32640, 32512,
685
    32384, 32256, 32128, 32000, 31872, 31744, 31616, 31488, 31360, 31232,
686
    31104, 30976, 30848, 30720, 30592, 30464, 30336, 30208, 30080, 29952,
687
    29824, 29696, 29568, 29440, 29312, 29184, 29056, 28928, 28800, 28672,
688
    28544, 28416, 28288, 28160, 28032, 27904, 27776, 27648, 27520, 27392,
689
    27264, 27136, 27008, 26880, 26752, 26624, 26496, 26368, 26240, 26112,
690
    25984, 25856, 25728, 25600, 25472, 25344, 25216, 25088, 24960, 24832,
691
    24704, 24576, 24448, 24320, 24192, 24064, 23936, 23808, 23680, 23552,
692
    23424, 23296, 23168, 23040, 22912, 22784, 22656, 22528, 22400, 22272,
693
    22144, 22016, 21888, 21760, 21632, 21504, 21376, 21248, 21120, 20992,
694
    20864, 20736, 20608, 20480, 20352, 20224, 20096, 19968, 19840, 19712,
695
    19584, 19456, 19328, 19200, 19072, 18944, 18816, 18688, 18560, 18432,
696
    18304, 18176, 18048, 17920, 17792, 17664, 17536, 17408, 17280, 17152,
697
    17024, 16896, 16768, 16640, 16512, 16384, 16256, 16128, 16000, 15872,
698
    15744, 15616, 15488, 15360, 15232, 15104, 14976, 14848, 14720, 14592,
699
    14464, 14336, 14208, 14080, 13952, 13824, 13696, 13568, 13440, 13312,
700
    13184, 13056, 12928, 12800, 12672, 12544, 12416, 12288, 12160, 12032,
701
    11904, 11776, 11648, 11520, 11392, 11264, 11136, 11008, 10880, 10752,
702
    10624, 10496, 10368, 10240, 10112, 9984, 9856, 9728, 9600, 9472,
703
    9344, 9216, 9088, 8960, 8832, 8704, 8576, 8448, 8320, 8192,
704
    8064, 7936, 7808, 7680, 7552, 7424, 7296, 7168, 7040, 6912,
705
    6784, 6656, 6528, 6400, 6272, 6144, 6016, 5888, 5760, 5632,
706
    5504, 5376, 5248, 5120, 4992, 4864, 4736, 4608, 4480, 4352,
707
    4224, 4096, 3968, 3840, 3712, 3584, 3456, 3328, 3200, 3072,
708
    2944, 2816, 2688, 2560, 2432, 2304, 2176, 2048, 1920, 1792,
709
    1664, 1536, 1408, 1280, 1152, 1024, 896, 768, 640, 512,
710
    384, 256,
711
};
712
 
713
static const int blocks_length[] = {
714
    4096, 1024, 512, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 512, -1, -1, };
715
static const jchar* blocks[] = {
716
    blocks0, blocks1, blocks2, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
717
    NULL, NULL, NULL, NULL, blocks14, NULL, NULL};
718
 
719
/**
720
 * Information about each character.  The low order 5 bits form the
721
 * character type, the next bit is a flag for non-breaking spaces, and the
722
 * next bit is a flag for mirrored directionality.  The high order 9 bits
723
 * form the offset into the attribute tables.  Note that this limits the
724
 * number of unique character attributes per plane to 512, which is not a
725
 * problem as of Unicode version 4.0.0, but may soon become one.
726
 */
727
static const jchar data0[] = {
728
    8834, 8962, 9090, 9218, 9346, 9474, 9602, 9730, 9858, 9986,
729
    10114, 1109, 3225, 1238, 3225, 15, 15, 15, 15, 15,
730
    15, 15, 15, 15, 143, 271, 143, 399, 271, 15,
731
    15, 15, 15, 15, 271, 15, 15, 15, 15, 15,
732
    15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
733
    15, 271, 271, 271, 143, 1801, 1929, 2057, 2185, 2313,
734
    2441, 2569, 2697, 2825, 2953, 1432, 664, 3161, 3225, 3161,
735
    664, 664, 3225, 664, 6807, 16256, 16256, 664, 16256, 16256,
736
    16256, 16256, 16256, 16256, 16256, 524, 664, 664, 792, 922,
737
    792, 664, 664, 1109, 1238, 664, 1305, 1432, 1556, 1432,
738
    1688, 10908, 1305, 11019, 11147, 6683, 11266, 10396, 664, 6683,
739
    11403, 10498, 11614, 11659, 11659, 11659, 664, 3329, 3457, 3585,
740
    3713, 3841, 3969, 4097, 4225, 4353, 4481, 4609, 4737, 4865,
741
    4993, 5121, 5249, 5377, 5505, 5633, 5761, 5889, 6017, 6145,
742
    6273, 6401, 6529, 1109, 664, 1238, 6683, 6807, 664, 664,
743
    664, 3225, 1109, 1238, 664, 664, 664, 664, 664, 664,
744
    664, 664, 664, 34189, 34318, 34448, 34576, 34704, 34832, 34960,
745
    33452, 10284, 664, 922, 922, 922, 922, 10396, 10396, 6683,
746
    10396, 10498, 10717, 3225, 10768, 10396, 6683, 6914, 7042, 7170,
747
    7298, 7426, 7554, 7682, 7810, 7938, 8066, 8194, 8322, 8450,
748
    8578, 8706, 19074, 11777, 11777, 11777, 11777, 11777, 11777, 11777,
749
    11777, 11777, 11777, 11777, 11777, 11777, 11777, 11777, 11777, 3225,
750
    11777, 11777, 11777, 11777, 11777, 11777, 11777, 11906, 15361, 15491,
751
    15618, 12289, 12418, 15873, 16001, 12289, 12418, 12289, 12418, 12289,
752
    12418, 12289, 12418, 12801, 12289, 12418, 12289, 12418, 12289, 12418,
753
    12930, 19074, 12034, 12034, 12034, 12034, 12034, 12034, 12034, 12034,
754
    12034, 12034, 12034, 12034, 12034, 12034, 12034, 12034, 3225, 12034,
755
    12034, 12034, 12034, 12034, 12034, 12034, 12162, 16129, 10498, 12289,
756
    12418, 12289, 12418, 12289, 12418, 12289, 12418, 12289, 12418, 12289,
757
    12418, 12289, 12418, 12289, 12418, 15746, 12289, 12418, 21404, 18310,
758
    18310, 18310, 18310, 16256, 21511, 21511, 12289, 12418, 12289, 12418,
759
    12289, 12418, 16256, 16256, 12289, 12418, 16256, 16256, 16256, 16256,
760
    16256, 16256, 18310, 24584, 16256, 16256, 16256, 16256, 15109, 15109,
761
    16256, 15109, 16256, 16256, 15109, 15109, 16256, 15109, 16256, 16256,
762
    15109, 16256, 16256, 11906, 32258, 11906, 16256, 11906, 19074, 33153,
763
    33153, 33281, 33281, 32515, 6683, 6683, 16256, 18310, 18310, 24584,
764
    16256, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
765
    16256, 15109, 16256, 15109, 15109, 15109, 15109, 16256, 16256, 15109,
766
    15109, 15109, 15109, 15109, 15109, 15109, 16256, 16256, 16256, 15109,
767
    15109, 15109, 15109, 15109, 15109, 16256, 16256, 15109, 15109, 15109,
768
    15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
769
    21784, 21784, 15109, 15109, 15109, 15109, 15361, 15491, 15618, 15361,
770
    15491, 15618, 15361, 15491, 15618, 12289, 12418, 12289, 12418, 10498,
771
    10498, 10498, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
772
    16256, 15109, 15109, 15109, 15109, 16256, 15109, 16256, 15109, 15109,
773
    16256, 15109, 15109, 15109, 15109, 15109, 16256, 16256, 18310, 15109,
774
    24584, 24584, 18310, 18310, 18310, 16256, 16256, 16256, 24584, 24584,
775
    16256, 16256, 24584, 24584, 18310, 16256, 16256, 12545, 12674, 12289,
776
    12418, 12289, 12418, 12289, 12418, 10498, 12289, 12418, 12289, 12418,
777
    12289, 12418, 12289, 12418, 11906, 11906, 11906, 11906, 11906, 30850,
778
    16256, 16256, 16256, 16256, 6683, 6683, 16256, 16256, 16256, 16256,
779
    18052, 16256, 16256, 16256, 664, 16256, 21633, 21633, 21633, 21633,
780
    21633, 21633, 21633, 21633, 21633, 21633, 21633, 21633, 21633, 21633,
781
    21633, 21633, 16256, 16256, 18052, 21784, 21784, 21784, 21784, 21784,
782
    21784, 21404, 21404, 21404, 21404, 21404, 18310, 18310, 21404, 21404,
783
    21404, 21404, 21404, 21404, 18310, 21404, 21404, 21404, 21404, 21404,
784
    21404, 16256, 16256, 21404, 15109, 16256, 16256, 16256, 16256, 16256,
785
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
786
    19842, 19970, 20097, 20097, 20097, 20226, 20354, 10498, 12289, 12418,
787
    12289, 12418, 12289, 12418, 12289, 12418, 12289, 12418, 11906, 12289,
788
    12418, 12289, 12418, 12289, 12418, 14721, 12289, 12418, 14721, 10498,
789
    10498, 12289, 12418, 14721, 12289, 17666, 10498, 10498, 17666, 10498,
790
    10498, 10498, 10498, 17666, 10498, 17794, 17794, 10498, 10498, 10498,
791
    10498, 17410, 10498, 10498, 17538, 10498, 10498, 10498, 10498, 10498,
792
    10498, 10498, 10498, 10498, 10498, 16386, 16514, 10498, 16642, 16642,
793
    10498, 16770, 10498, 16898, 10498, 10498, 10498, 10498, 13057, 12289,
794
    12418, 12289, 12418, 13185, 12289, 12418, 13313, 13313, 12289, 12418,
795
    10498, 13441, 13569, 13697, 12289, 12418, 13313, 13825, 13954, 14081,
796
    14209, 12289, 12418, 10498, 10498, 14081, 14337, 14466, 14593, 12418,
797
    14849, 14849, 12289, 12418, 12289, 12418, 14977, 12289, 12418, 10498,
798
    15109, 12289, 12418, 10498, 15234, 18310, 18310, 18310, 18310, 18310,
799
    18438, 18310, 18310, 18310, 18310, 18310, 18310, 18310, 18310, 18310,
800
    18310, 16256, 18310, 18310, 18310, 22168, 18310, 18310, 22168, 18310,
801
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
802
    16256, 24584, 16256, 16256, 16256, 16256, 15109, 15109, 16256, 15109,
803
    15109, 15109, 15109, 16256, 16256, 16256, 15109, 15109, 16256, 15109,
804
    16256, 15109, 15109, 16256, 15109, 15109, 16256, 15109, 15109, 16256,
805
    16256, 18310, 16256, 24584, 24584, 24584, 16256, 15109, 15109, 15109,
806
    15109, 15109, 15109, 15109, 15109, 16256, 15109, 15109, 15109, 16256,
807
    16256, 16256, 16256, 24584, 24584, 21784, 16256, 16256, 16256, 16256,
808
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
809
    16256, 16256, 24464, 24464, 24464, 10396, 10396, 16256, 16256, 16256,
810
    664, 664, 24713, 24841, 24969, 25097, 25225, 25353, 25481, 25609,
811
    25737, 25865, 16256, 16256, 16256, 16256, 16256, 16256, 18310, 15109,
812
    16256, 15109, 15109, 15109, 15109, 15109, 15109, 16256, 16256, 16256,
813
    15109, 15109, 16256, 16256, 16256, 15109, 15109, 15109, 16256, 16256,
814
    16256, 15109, 15109, 15109, 15109, 15109, 15109, 16256, 16256, 15109,
815
    15109, 15109, 16256, 16256, 16256, 21890, 21890, 21890, 21890, 21890,
816
    21890, 21890, 21890, 21890, 21890, 21890, 21890, 21890, 21890, 21890,
817
    21890, 11906, 16256, 21784, 22036, 16256, 16256, 16256, 16256, 16256,
818
    18310, 18310, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
819
    16256, 22661, 22661, 22661, 22661, 22661, 22661, 22661, 22661, 22661,
820
    22661, 22661, 22661, 22661, 22661, 22661, 22661, 27541, 27670, 16642,
821
    10498, 10498, 17026, 10498, 10498, 10498, 10498, 17154, 17282, 10498,
822
    10498, 10498, 10498, 10498, 17282, 22416, 22416, 22416, 22416, 16256,
823
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 1432, 22552, 10396,
824
    10396, 20097, 10396, 10396, 10396, 10396, 20097, 10396, 10396, 10498,
825
    20097, 20097, 20097, 10498, 10498, 17922, 10498, 10498, 10498, 10498,
826
    10498, 10498, 10498, 10498, 10498, 10498, 10498, 10498, 10498, 10498,
827
    10498, 10498, 18052, 18052, 18052, 18052, 18052, 18052, 18052, 18052,
828
    18052, 18052, 18052, 18052, 18052, 18052, 18052, 18052, 18180, 18180,
829
    18052, 18052, 18052, 18052, 18052, 6683, 6683, 6683, 6683, 6683,
830
    6683, 6683, 6683, 6683, 18052, 6683, 22036, 15109, 15109, 15109,
831
    15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
832
    15109, 15109, 16256, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
833
    15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 18052,
834
    18052, 6683, 6683, 6683, 6683, 18180, 18180, 18180, 18180, 18180,
835
    18180, 18180, 18180, 18180, 18180, 18052, 18052, 6683, 6683, 6683,
836
    6683, 6683, 6683, 6683, 6683, 6683, 6683, 6683, 6683, 6683,
837
    6683, 6683, 6683, 11906, 32258, 11906, 16256, 11906, 19074, 32769,
838
    32769, 32769, 32769, 32515, 6683, 6683, 6683, 10396, 44170, 44298,
839
    44426, 44554, 44682, 44810, 44938, 45066, 45194, 18310, 18310, 18310,
840
    18310, 18310, 18310, 18310, 18310, 16256, 18310, 18310, 18310, 18310,
841
    18310, 18310, 18310, 18310, 18310, 18310, 18310, 18310, 18310, 18310,
842
    18310, 18310, 16256, 21404, 21404, 25995, 26123, 26251, 26379, 21404,
843
    21404, 21404, 21404, 21404, 21404, 21404, 21404, 21404, 21404, 21404,
844
    10396, 3225, 10396, 10396, 10396, 10396, 10396, 10396, 10396, 10396,
845
    10396, 10396, 10396, 10396, 16256, 10396, 16256, 10396, 10396, 10396,
846
    10396, 16256, 10396, 10396, 10396, 10396, 16256, 16256, 10396, 10396,
847
    10396, 10396, 10396, 21404, 10396, 10396, 10396, 10396, 10396, 3225,
848
    3225, 3225, 3225, 3225, 27541, 27670, 664, 10396, 10396, 10396,
849
    10396, 10396, 10396, 10396, 10396, 10396, 10396, 16256, 10396, 10396,
850
    10396, 10396, 10396, 10396, 10396, 1109, 1238, 1109, 1238, 1109,
851
    1238, 1109, 1238, 29579, 29707, 29835, 29963, 30091, 30219, 30347,
852
    30475, 30603, 43915, 29579, 29707, 29835, 29963, 30091, 30219, 18310,
853
    18310, 18310, 18310, 18310, 18310, 18310, 18310, 16256, 16256, 16256,
854
    16256, 16256, 18310, 18310, 18310, 18310, 18310, 18310, 18310, 18310,
855
    18310, 18310, 18310, 18310, 18310, 18310, 24584, 24584, 16256, 16256,
856
    16256, 24584, 24584, 24584, 16256, 24584, 24584, 24584, 18310, 16256,
857
    16256, 18310, 24584, 24584, 16256, 15109, 15109, 15109, 15109, 15109,
858
    15109, 15109, 15109, 16256, 16256, 15109, 15109, 15109, 16256, 15109,
859
    16256, 15109, 16256, 16256, 15109, 15109, 16256, 15109, 15109, 15109,
860
    15109, 15109, 16256, 15109, 15109, 16256, 24584, 18310, 18310, 18310,
861
    18310, 16256, 16256, 24584, 24584, 16256, 16256, 24584, 24584, 18310,
862
    16256, 16256, 20482, 20610, 20738, 10498, 20865, 20994, 3225, 12289,
863
    12418, 21121, 12289, 12418, 16256, 16256, 16256, 16256, 6683, 6683,
864
    18561, 664, 18689, 18689, 18689, 16256, 18817, 16256, 18945, 18945,
865
    11777, 11777, 16256, 11777, 11777, 11777, 11777, 11777, 11777, 11777,
866
    11777, 11777, 19202, 19330, 19330, 19330, 12034, 12034, 19458, 12034,
867
    12034, 12034, 12034, 12034, 12034, 12034, 12034, 12034, 19586, 19714,
868
    19714, 16256, 18310, 18310, 24584, 16256, 15109, 15109, 15109, 15109,
869
    15109, 15109, 16256, 16256, 16256, 16256, 15109, 15109, 15109, 15109,
870
    16256, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
871
    16256, 15109, 16256, 16256, 16256, 15109, 15109, 15109, 15109, 16256,
872
    16256, 18310, 15109, 24584, 24584, 18310, 24584, 24584, 24584, 24584,
873
    24584, 24584, 18310, 18310, 18310, 16256, 16256, 16256, 16256, 21249,
874
    21249, 21249, 21249, 21249, 21249, 21249, 21249, 21249, 21249, 21249,
875
    21249, 21249, 21249, 21249, 21249, 20610, 20610, 20610, 20610, 20610,
876
    20610, 20610, 20610, 20610, 20610, 20610, 20610, 20610, 20610, 20610,
877
    20610, 20097, 12289, 12418, 12289, 12418, 12289, 12418, 12289, 12418,
878
    12289, 12418, 12289, 12418, 12289, 12418, 16256, 16256, 16256, 16256,
879
    16256, 16256, 24713, 24841, 24969, 25097, 25225, 25353, 25481, 25609,
880
    25737, 25865, 27403, 27403, 27403, 27403, 27403, 27403, 21404, 18310,
881
    21404, 18310, 21404, 18310, 27541, 27670, 27541, 27670, 24584, 24584,
882
    18310, 18310, 18310, 16256, 18310, 16256, 24584, 24584, 24584, 24584,
883
    24584, 24584, 24584, 24584, 18310, 24584, 24584, 18310, 18310, 18310,
884
    18310, 18310, 18310, 18310, 18310, 24584, 24584, 24584, 24584, 18310,
885
    16256, 16256, 21784, 21784, 21784, 21784, 21784, 21784, 21784, 21784,
886
    24841, 24969, 25097, 25225, 25353, 25481, 25609, 18310, 18310, 18310,
887
    18310, 18310, 18310, 18310, 18310, 18310, 16256, 16256, 16256, 16256,
888
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 11906, 11906,
889
    11906, 11906, 11906, 16256, 16256, 16256, 16256, 16256, 22277, 18310,
890
    22277, 22277, 16256, 22277, 22277, 16256, 22277, 22277, 22277, 22277,
891
    22277, 22277, 22277, 22277, 22277, 22277, 22277, 22277, 22277, 22277,
892
    22277, 22277, 16256, 16256, 16256, 16256, 16256, 24584, 24584, 16256,
893
    16256, 16256, 16256, 16256, 16256, 16256, 15109, 16256, 15109, 15109,
894
    16256, 15109, 15109, 15109, 15109, 15109, 16256, 16256, 18310, 15109,
895
    24584, 18310, 18310, 18310, 18310, 18310, 16256, 18310, 18310, 24584,
896
    16256, 24584, 24584, 18310, 16256, 16256, 664, 664, 792, 922,
897
    792, 664, 664, 1109, 1238, 664, 1305, 1432, 1556, 1432,
898
    1688, 22277, 22277, 22277, 22168, 22168, 16256, 16256, 16256, 16256,
899
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 24584, 16256, 16256,
900
    16256, 16256, 16256, 16256, 16256, 16256, 11659, 11659, 11659, 11659,
901
    11659, 11659, 11659, 11659, 11659, 11659, 11659, 11659, 29579, 22921,
902
    23049, 23177, 23305, 23433, 23561, 23689, 23817, 23945, 24073, 792,
903
    24216, 24216, 22552, 22661, 22661, 22661, 22661, 22552, 22661, 18310,
904
    18310, 18310, 18310, 18310, 18310, 18310, 22416, 21511, 18310, 21511,
905
    21511, 21511, 18310, 18310, 18310, 18310, 18310, 18310, 16256, 16256,
906
    16256, 16256, 16256, 22552, 16256, 16256, 16256, 22552, 22552, 22552,
907
    22552, 22552, 22552, 22552, 22552, 22552, 22552, 22552, 22552, 22552,
908
    22552, 16256, 24464, 22788, 22661, 22661, 22661, 22661, 22661, 22661,
909
    22661, 22661, 22661, 22661, 18310, 18310, 18310, 18310, 18310, 18310,
910
    18310, 18310, 18310, 18310, 18310, 16256, 16256, 22661, 22661, 22661,
911
    22661, 22661, 16256, 22661, 22661, 22661, 22661, 22661, 22661, 22661,
912
    22661, 22661, 22661, 22661, 16256, 16256, 16256, 16256, 16256, 16256,
913
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 24841, 24969,
914
    25097, 25225, 25353, 25481, 25609, 25737, 25865, 26763, 27787, 27915,
915
    28043, 28171, 28299, 28427, 28555, 28683, 26891, 28811, 16256, 16256,
916
    16256, 1801, 1929, 2057, 2185, 2313, 2441, 2569, 2697, 2825,
917
    2953, 22661, 22661, 22661, 24348, 24348, 22661, 18310, 22661, 22661,
918
    22661, 22661, 22661, 22661, 22661, 22661, 22661, 22661, 22661, 22661,
919
    22661, 22661, 22661, 16256, 16256, 24464, 24464, 24464, 24464, 16256,
920
    16256, 16256, 16256, 16256, 16256, 24464, 24464, 24464, 24464, 24464,
921
    24464, 18310, 18310, 18310, 18310, 18310, 22788, 22788, 18310, 18310,
922
    10396, 18310, 18310, 18310, 18310, 22661, 22661, 22661, 22661, 22661,
923
    22661, 22661, 22661, 22661, 22661, 22661, 22661, 50458, 10396, 16256,
924
    16256, 18310, 22661, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
925
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 1238, 664, 1109,
926
    1238, 664, 6807, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
927
    15109, 15109, 15109, 16256, 16256, 16256, 16256, 24584, 24584, 16256,
928
    15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 16256, 15109,
929
    15109, 15109, 15109, 15109, 16256, 16256, 16256, 16256, 18310, 18310,
930
    24584, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
931
    15109, 15109, 15109, 27541, 27670, 16256, 16256, 16256, 524, 15109,
932
    15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
933
    15109, 15109, 15109, 15109, 16256, 16256, 16256, 16256, 16256, 15109,
934
    15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
935
    6807, 18052, 18052, 18052, 15109, 15109, 15109, 18052, 15109, 15109,
936
    15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
937
    15109, 15109, 15109, 16256, 16256, 18310, 15109, 24584, 24584, 24584,
938
    24584, 24584, 16256, 27142, 24584, 24584, 16256, 24584, 24584, 18310,
939
    18310, 16256, 16256, 16256, 16256, 18310, 18310, 16256, 16256, 18310,
940
    18310, 18310, 16256, 16256, 15109, 15109, 15109, 15109, 15109, 15109,
941
    15109, 16256, 16256, 18310, 18310, 6683, 6683, 18052, 18052, 15109,
942
    18310, 18310, 18310, 18310, 16256, 16256, 16256, 15109, 15109, 15109,
943
    15109, 15109, 15109, 15109, 15109, 15109, 16256, 16256, 21784, 16256,
944
    16256, 16256, 16256, 15109, 15109, 18310, 18310, 21784, 21784, 24713,
945
    24841, 24969, 25097, 25225, 25353, 25481, 25609, 25737, 25865, 21784,
946
    21784, 16256, 16256, 16256, 16256, 15109, 15109, 18310, 18310, 16256,
947
    16256, 24713, 24841, 24969, 25097, 25225, 25353, 25481, 25609, 25737,
948
    25865, 16256, 16256, 15109, 15109, 16256, 16256, 15109, 15109, 922,
949
    922, 25995, 26123, 26251, 26379, 26507, 26635, 21404, 16256, 16256,
950
    16256, 16256, 16256, 18310, 18310, 15109, 15109, 15109, 16256, 16256,
951
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 15109,
952
    18310, 15109, 15109, 18310, 18310, 18310, 18310, 18310, 18310, 18310,
953
    16256, 16256, 16256, 16256, 922, 16256, 16256, 16256, 16256, 16256,
954
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 15109,
955
    15109, 15109, 15109, 15109, 15109, 18052, 18310, 18310, 18310, 18310,
956
    18310, 18310, 18310, 18310, 21784, 18310, 18310, 15109, 15109, 15109,
957
    15109, 16256, 16256, 16256, 16256, 24713, 24841, 24969, 25097, 25225,
958
    25353, 25481, 25609, 25737, 25865, 21784, 21784, 21784, 21784, 21784,
959
    21784, 26763, 26891, 27019, 10396, 10396, 10396, 10396, 10396, 10396,
960
    922, 10396, 16256, 16256, 16256, 16256, 16256, 18310, 24584, 24584,
961
    24584, 24584, 16256, 18310, 18310, 18310, 16256, 18310, 18310, 18310,
962
    18310, 16256, 16256, 15109, 15109, 15109, 15109, 16256, 15109, 15109,
963
    15109, 15109, 15109, 16256, 16256, 18310, 15109, 24584, 27142, 24584,
964
    18310, 18310, 18310, 16256, 16256, 24584, 24584, 24584, 16256, 24584,
965
    24584, 24584, 18310, 16256, 16256, 15109, 15109, 15109, 15109, 15109,
966
    15109, 15109, 16256, 16256, 16256, 18310, 16256, 16256, 16256, 16256,
967
    24584, 24584, 16256, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
968
    15109, 15109, 15109, 15109, 21784, 21784, 21784, 28938, 29066, 15109,
969
    18310, 15109, 15109, 18310, 18310, 18310, 18310, 18310, 18310, 16256,
970
    18310, 18310, 15109, 16256, 16256, 15109, 15109, 15109, 15109, 15109,
971
    16256, 18052, 16256, 18310, 18310, 18310, 18310, 18310, 18310, 16256,
972
    16256, 15109, 21404, 21404, 21404, 21784, 21784, 21784, 21784, 21784,
973
    21784, 21784, 21784, 27320, 21784, 21784, 21784, 18310, 24584, 18310,
974
    16256, 16256, 16256, 18310, 18310, 24584, 18310, 16256, 16256, 16256,
975
    16256, 16256, 16256, 15109, 15109, 15109, 15109, 15109, 15109, 24584,
976
    24584, 18310, 18310, 16256, 16256, 16256, 16256, 16256, 16256, 20097,
977
    20097, 10396, 20097, 10498, 15109, 15109, 15109, 15109, 10498, 10396,
978
    10396, 16256, 10498, 20097, 20097, 20097, 20097, 20097, 20097, 20097,
979
    20097, 20097, 20097, 20097, 20097, 20097, 20097, 20097, 20097, 16256,
980
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 15109,
981
    15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 16256,
982
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
983
    16256, 29194, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
984
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 15109, 15109, 18310,
985
    18310, 18310, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
986
    16256, 16256, 16256, 15109, 15109, 18310, 18310, 18310, 21784, 21784,
987
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 15109,
988
    15109, 18310, 18310, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
989
    16256, 16256, 16256, 16256, 16256, 15109, 16256, 18310, 18310, 16256,
990
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
991
    16256, 15109, 15109, 15109, 15109, 29328, 29328, 24584, 18310, 18310,
992
    18310, 18310, 18310, 18310, 18310, 24584, 24584, 24584, 24584, 18310,
993
    18310, 30728, 30728, 30728, 16256, 16256, 16256, 16256, 18310, 18310,
994
    18310, 18310, 21784, 21784, 21784, 18052, 21784, 21784, 21784, 922,
995
    15109, 18310, 16256, 16256, 43275, 43403, 43531, 43659, 43787, 29579,
996
    29707, 29835, 29963, 30091, 30219, 30347, 30475, 30603, 43915, 29451,
997
    29579, 29707, 29835, 29963, 30091, 30219, 30347, 30475, 30603, 16256,
998
    16256, 16256, 16256, 16256, 16256, 664, 664, 664, 664, 664,
999
    664, 22036, 664, 664, 664, 664, 18310, 18310, 18310, 524,
1000
    16256, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109, 15109,
1001
    18310, 16256, 16256, 16256, 16256, 16256, 16256, 20097, 20097, 20097,
1002
    10498, 10396, 20097, 10396, 10396, 10396, 20097, 20097, 20097, 20097,
1003
    20097, 10396, 10396, 3225, 10396, 3225, 10396, 10396, 10396, 10396,
1004
    10396, 10396, 10396, 10396, 10396, 10396, 10396, 10396, 10396, 10396,
1005
    10396, 10396, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225,
1006
    3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3161, 3161,
1007
    3161, 3161, 3161, 3161, 3225, 3225, 1109, 1238, 3225, 3225,
1008
    3225, 1109, 1238, 1109, 1238, 1109, 1238, 1109, 1238, 1109,
1009
    1238, 1109, 1238, 1109, 1238, 3225, 3225, 3161, 3161, 3161,
1010
    3161, 3161, 3225, 3225, 3225, 3225, 3225, 3161, 3225, 3161,
1011
    3161, 3161, 3161, 3161, 3161, 3161, 3225, 3225, 3225, 3225,
1012
    3225, 3161, 3225, 3161, 3225, 3161, 3161, 3161, 3161, 3161,
1013
    3161, 3161, 3161, 3225, 3225, 3161, 3161, 3161, 3161, 3161,
1014
    3161, 3161, 3161, 3225, 3161, 3225, 3161, 3161, 3161, 3225,
1015
    3225, 3161, 3161, 3225, 3225, 3225, 3225, 3225, 3225, 3161,
1016
    3225, 3225, 3225, 3161, 3161, 3161, 3161, 3161, 3225, 3161,
1017
    3225, 3225, 3161, 3161, 3225, 3225, 3225, 3225, 3161, 3161,
1018
    3161, 3161, 3161, 3161, 3161, 3161, 3161, 3161, 3161, 3161,
1019
    3161, 3225, 3225, 3161, 3225, 3161, 3225, 3225, 3161, 3225,
1020
    3161, 3161, 3161, 3161, 3225, 3225, 3225, 3161, 3161, 3161,
1021
    3161, 3161, 3161, 3225, 3225, 3225, 3161, 3225, 3225, 3225,
1022
    3225, 3161, 3161, 3225, 3225, 3225, 3225, 3225, 3225, 3161,
1023
    3161, 3161, 3225, 3225, 3225, 3225, 3225, 3161, 3225, 3225,
1024
    3225, 3225, 3225, 3225, 3225, 3225, 3161, 3225, 3225, 3225,
1025
    3225, 3225, 3225, 3225, 3161, 3161, 3225, 3225, 3225, 3225,
1026
    3225, 3225, 3225, 10396, 10396, 10396, 10396, 10396, 3225, 3225,
1027
    10396, 10396, 10396, 10396, 20097, 10396, 35969, 10396, 20097, 10396,
1028
    36097, 36225, 20097, 20097, 10908, 10498, 18052, 18052, 10498, 10498,
1029
    10498, 10498, 10498, 10498, 10498, 10498, 10498, 10498, 16256, 16256,
1030
    16256, 16256, 30978, 30978, 30978, 30978, 30978, 30978, 30978, 30978,
1031
    31105, 31105, 31105, 31105, 31105, 31105, 31105, 31105, 30978, 30978,
1032
    30978, 30978, 30978, 30978, 16256, 16256, 31105, 31105, 31105, 31105,
1033
    31105, 31105, 16256, 16256, 11906, 30978, 19074, 30978, 19074, 30978,
1034
    19074, 30978, 16256, 31105, 16256, 31105, 16256, 31105, 16256, 31105,
1035
    31234, 31234, 31362, 31362, 31362, 31362, 31490, 31490, 31618, 31618,
1036
    31746, 31746, 31874, 31874, 16256, 16256, 32002, 32002, 32002, 32002,
1037
    32002, 32002, 32002, 32002, 32131, 32131, 32131, 32131, 32131, 32131,
1038
    32131, 32131, 30978, 30978, 11906, 32258, 11906, 16256, 11906, 19074,
1039
    31105, 31105, 32385, 32385, 32515, 6683, 32642, 6683, 30978, 30978,
1040
    19074, 19074, 16256, 16256, 11906, 19074, 31105, 31105, 32897, 32897,
1041
    16256, 6683, 6683, 6683, 30978, 30978, 19074, 19074, 11906, 20738,
1042
    11906, 19074, 31105, 31105, 33025, 33025, 21121, 6683, 6683, 6683,
1043
    524, 524, 524, 524, 524, 524, 524, 33452, 524, 524,
1044
    524, 33548, 24464, 24464, 29328, 33680, 22036, 33844, 22036, 22036,
1045
    22036, 22036, 664, 664, 33949, 34078, 27541, 33949, 33949, 34078,
1046
    27541, 33949, 1432, 664, 1432, 16256, 664, 1432, 664, 664,
1047
    22036, 27541, 27670, 27541, 27670, 27541, 27670, 792, 792, 792,
1048
    792, 792, 664, 664, 664, 664, 10717, 11614, 664, 664,
1049
    664, 664, 6807, 35083, 10498, 16256, 16256, 35211, 35339, 35467,
1050
    35595, 35723, 35851, 1305, 1305, 3225, 1109, 1238, 10498, 35083,
1051
    11403, 11019, 11147, 35211, 35339, 35467, 35595, 35723, 35851, 1305,
1052
    1305, 3225, 1109, 1238, 16256, 922, 922, 922, 922, 922,
1053
    922, 922, 922, 922, 922, 922, 922, 922, 922, 922,
1054
    922, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
1055
    16256, 16256, 16256, 16256, 16256, 18310, 18310, 18310, 18310, 18310,
1056
    18310, 18310, 18310, 18310, 18310, 18310, 18310, 18310, 21511, 21511,
1057
    21511, 3225, 3225, 3225, 3161, 3161, 3161, 3161, 3225, 3225,
1058
    3225, 3225, 3225, 3161, 3161, 3161, 3225, 3225, 3161, 3161,
1059
    3161, 3161, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225,
1060
    3225, 3161, 3161, 3161, 3161, 3161, 3225, 3225, 3225, 3225,
1061
    3225, 3161, 3161, 3161, 3225, 3225, 3161, 3161, 3225, 3225,
1062
    3161, 3161, 3161, 3161, 3161, 3161, 3161, 3161, 3161, 3161,
1063
    3161, 3161, 3161, 3161, 3161, 3161, 3225, 3225, 3225, 3225,
1064
    3225, 3161, 3161, 3225, 3225, 3225, 3225, 3161, 3161, 3161,
1065
    3161, 3225, 3161, 1305, 1305, 3225, 3161, 3161, 3225, 3225,
1066
    3225, 3161, 3161, 3161, 3161, 3225, 3161, 3225, 3161, 3225,
1067
    3225, 3225, 3225, 3161, 3161, 3161, 3161, 3161, 3161, 3161,
1068
    3161, 3161, 3161, 3161, 3161, 3161, 3225, 3161, 3161, 3225,
1069
    3225, 1109, 1238, 1109, 1238, 3161, 3225, 3225, 3225, 3225,
1070
    20097, 10498, 10498, 10498, 10498, 10396, 3225, 16256, 16256, 16256,
1071
    16256, 36362, 36490, 36618, 36746, 36874, 37002, 37130, 37258, 37386,
1072
    37514, 37642, 37770, 37898, 38026, 38154, 38282, 38410, 38538, 38666,
1073
    38794, 38922, 39050, 39178, 39306, 39434, 39562, 39690, 39818, 39946,
1074
    40074, 40202, 40330, 40458, 40586, 40714, 40842, 16256, 16256, 16256,
1075
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 3225,
1076
    10396, 10396, 3225, 10396, 10396, 3225, 10396, 10396, 10396, 10396,
1077
    10396, 10396, 10396, 3225, 10396, 10396, 10396, 10396, 10396, 10396,
1078
    10396, 10396, 3161, 3161, 3161, 3161, 10396, 10396, 10396, 10396,
1079
    10396, 10396, 10396, 1109, 1238, 10396, 10396, 10396, 10396, 10396,
1080
    10396, 21404, 21404, 21404, 21404, 21404, 21404, 21404, 21404, 21404,
1081
    21404, 21404, 21404, 21404, 21404, 21404, 21404, 10396, 10396, 16256,
1082
    21404, 48267, 48395, 48523, 48651, 48779, 48907, 49035, 49163, 49291,
1083
    49419, 49547, 49675, 49803, 49931, 50059, 30347, 30475, 30603, 43915,
1084
    10396, 16256, 16256, 16256, 10396, 10396, 10396, 10396, 10396, 10396,
1085
    10396, 10396, 10396, 10396, 10396, 10396, 10396, 10396, 16256, 16256,
1086
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
1087
    16256, 16256, 16256, 41355, 41483, 41611, 41739, 41867, 41995, 42123,
1088
    42251, 11403, 11019, 11147, 35211, 35339, 35467, 35595, 35723, 35851,
1089
    40971, 41099, 41227, 41355, 41483, 41611, 41739, 41867, 41995, 42123,
1090
    42251, 21404, 21404, 21404, 21404, 21404, 21404, 21404, 21404, 21404,
1091
    21404, 21404, 21404, 10396, 10396, 10396, 10396, 21404, 21404, 21404,
1092
    21404, 21404, 21404, 21404, 21404, 21404, 21404, 21404, 21404, 21404,
1093
    21404, 21404, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256,
1094
    16256, 16256, 16256, 16256, 25995, 26123, 26251, 26379, 45707, 45835,
1095
    45963, 46091, 46219, 26763, 21404, 21404, 21404, 21404, 21404, 21404,
1096
    42396, 42396, 42396, 42396, 42396, 42396, 42396, 42396, 42396, 42396,
1097
    42396, 42396, 42396, 42396, 42396, 42396, 42524, 42524, 42524, 42524,
1098
    42524, 42524, 42524, 42524, 42524, 42524, 42524, 42524, 42524, 42524,
1099
    42524, 42524, 35083, 42635, 42763, 42891, 43019, 43147, 22036, 18052,
1100
    18052, 18052, 18052, 18052, 10396, 10396, 45322, 45450, 45578, 18052,
1101
    15109, 664, 10396, 10396, 10396, 16256, 16256, 16256, 10396, 16256,
1102
    10396, 10396, 10396, 10396, 10396, 10396, 10396, 16256, 3225, 3225,
1103
    3161, 3161, 3161, 3161, 1109, 1238, 1109, 1238, 1109, 1238,
1104
    16256, 16256, 16256, 16256, 524, 664, 664, 664, 10396, 18052,
1105
    15109, 44042, 1109, 1238, 1109, 1238, 1109, 1238, 1109, 1238,
1106
    10396, 10396, 1109, 1238, 1109, 1238, 1109, 1238, 1109, 1238,
1107
    22036, 27541, 27670, 27670, 10396, 46347, 46475, 46603, 46731, 46859,
1108
    46987, 47115, 47243, 47371, 47499, 47627, 47755, 47883, 48011, 48139,
1109
    50195, 50195, 50195, 50195, 50195, 50195, 50195, 50195, 50195, 50195,
1110
    50195, 50195, 50195, 50195, 50195, 50195, 50322, 50322, 50322, 50322,
1111
    50322, 50322, 50322, 50322, 50322, 50322, 50322, 50322, 50322, 50322,
1112
    50322, 50322, 11906, 11906, 11906, 19074, 19074, 11906, 11906, 16256,
1113
    16256, 16256, 16256, 16256, 16256, 16256, 16256, 16256, 22277, 22277,
1114
    22277, 22277, 22277, 22277, 22277, 22277, 22277, 1305, 22277, 22277,
1115
    22277, 22277, 22277, 22277, 22277, 16256, 22277, 22277, 22277, 22277,
1116
    22277, 16256, 22277, 16256, 664, 22036, 22036, 6807, 6807, 27541,
1117
    27670, 27541, 27670, 27541, 27670, 27541, 27670, 27541, 27670, 27541,
1118
    27670, 664, 664, 27541, 27670, 664, 664, 664, 664, 6807,
1119
    6807, 6807, 664, 664, 1305, 1556, 3225, 3225, 3225, 16256,
1120
    664, 922, 792, 664, 16256, 16256, 16256, 16256, 8834, 8962,
1121
    9090, 9218, 9346, 9474, 9602, 9730, 9858, 9986, 10114, 1109,
1122
    3225, 1238, 3225, 1109, 922, 922, 3225, 6683, 10396, 922,
1123
    922, 16256, 10396, 3225, 3225, 3225, 3225, 10396, 10396, 16256,
1124
};
1125
 
1126
static const jchar data1[] = {
1127
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1128
    5, 5, 128, 5, 5, 5, 5, 5, 5, 5,
1129
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1130
    5, 5, 5, 5, 5, 5, 5, 5, 5, 128,
1131
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1132
    5, 5, 5, 5, 5, 5, 5, 5, 5, 128,
1133
    5, 5, 128, 5, 5, 5, 5, 5, 5, 5,
1134
    5, 5, 5, 5, 5, 5, 5, 128, 128, 5,
1135
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1136
    5, 5, 5, 128, 128, 128, 128, 128, 128, 128,
1137
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1138
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1139
    128, 128, 128, 128, 128, 128, 128, 6529, 6529, 6529,
1140
    6529, 6529, 6529, 6529, 6529, 6529, 6529, 6529, 6529, 6529,
1141
    6529, 6529, 6529, 6529, 6529, 6529, 6529, 6529, 6529, 6529,
1142
    6529, 6529, 6529, 6529, 6529, 6529, 6529, 6529, 6529, 6529,
1143
    6529, 6529, 6529, 6529, 6529, 6529, 6529, 6658, 6658, 6658,
1144
    6658, 6658, 6658, 6658, 6658, 6658, 6658, 6658, 6658, 6658,
1145
    6658, 6658, 6658, 6658, 6658, 6658, 6658, 6658, 6658, 6658,
1146
    6658, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1147
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1148
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1149
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1150
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1151
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1152
    5, 5, 5, 5, 5, 128, 128, 128, 128, 128,
1153
    280, 408, 540, 128, 128, 128, 128, 651, 779, 907,
1154
    1035, 1163, 1291, 1419, 1547, 1675, 1803, 1931, 2059, 2187,
1155
    2315, 2443, 2571, 2699, 2827, 2955, 3083, 3211, 3339, 3467,
1156
    3595, 3723, 3851, 3979, 4107, 4235, 4363, 4491, 4619, 4747,
1157
    4875, 5003, 5131, 5259, 5387, 5515, 5643, 5771, 5899, 6027,
1158
    6155, 6283, 128, 128, 128, 540, 540, 540, 540, 540,
1159
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1160
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1161
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1162
    540, 540, 8200, 8200, 8326, 8326, 8326, 540, 540, 540,
1163
    8200, 8200, 8200, 8200, 8200, 8200, 8464, 8464, 8464, 8464,
1164
    8464, 8464, 8464, 8464, 8326, 8326, 8326, 8326, 8326, 540,
1165
    540, 8326, 8326, 8326, 8326, 8326, 8326, 8326, 540, 540,
1166
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1167
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1168
    540, 540, 540, 540, 540, 540, 540, 540, 8326, 8326,
1169
    8326, 8326, 540, 540, 540, 540, 540, 540, 540, 540,
1170
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1171
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1172
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1173
    540, 128, 128, 128, 540, 540, 540, 540, 540, 540,
1174
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1175
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1176
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1177
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1178
    540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
1179
    540, 540, 540, 540, 540, 540, 540, 540, 128, 128,
1180
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1181
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1182
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1183
    128, 128, 5, 5, 5, 5, 5, 5, 5, 5,
1184
    5, 5, 6410, 128, 128, 128, 128, 128, 128, 128,
1185
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1186
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1187
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1188
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1189
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1190
    128, 128, 128, 128, 128, 128, 128, 5, 5, 5,
1191
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1192
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1193
    5, 5, 5, 5, 5, 5, 5, 5, 128, 651,
1194
    1163, 1803, 2315, 128, 128, 128, 128, 128, 128, 128,
1195
    128, 128, 128, 128, 128, 5, 5, 5, 5, 5,
1196
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1197
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1198
    5, 5, 5, 5, 5, 128, 280, 128, 128, 128,
1199
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1200
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1201
    128, 128, 128, 128, 128, 128, 128, 128, 128, 5,
1202
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1203
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1204
    5, 5, 5, 5, 5, 5, 5, 5, 5, 128,
1205
    128, 6793, 6921, 7049, 7177, 7305, 7433, 7561, 7689, 7817,
1206
    7945, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1207
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1208
    128, 128, 128, 8069, 8069, 8069, 8069, 8069, 8069, 128,
1209
    128, 8069, 128, 8069, 8069, 8069, 8069, 8069, 8069, 8069,
1210
    8069, 8069, 8069, 8069, 8069, 8069, 8069, 8069, 8069, 8069,
1211
    8069, 8069, 8069, 8069, 8069, 8069, 8069, 8069, 8069, 8069,
1212
    8069, 8069, 8069, 8069, 8069, 8069, 8069, 8069, 8069, 8069,
1213
    8069, 8069, 8069, 8069, 8069, 8069, 8069, 128, 8069, 8069,
1214
    128, 128, 128, 8069, 128, 128, 8069, 8604, 8604, 8604,
1215
    8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604,
1216
    8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604,
1217
    8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604,
1218
    8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604,
1219
    8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604,
1220
    8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604, 8604,
1221
    8604, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1222
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1223
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1224
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1225
    128, 128, 8705, 8985, 8834, 8834, 8834, 8834, 8834, 8834,
1226
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1227
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8985,
1228
    8834, 8834, 8834, 8834, 8834, 8834, 8705, 8705, 8705, 8705,
1229
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705,
1230
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705,
1231
    8705, 8985, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1232
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1233
    8834, 8834, 8834, 8834, 128, 8834, 8834, 8834, 8834, 8834,
1234
    8834, 8834, 8834, 8834, 8834, 8834, 8705, 8705, 8705, 8705,
1235
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705,
1236
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705,
1237
    8705, 8705, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1238
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1239
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8705, 8705,
1240
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705,
1241
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705,
1242
    8705, 8705, 8705, 8705, 8834, 8834, 8834, 8834, 8834, 8834,
1243
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1244
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1245
    128, 128, 128, 128, 8705, 8705, 8705, 8705, 8705, 8705,
1246
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705,
1247
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8834, 8834,
1248
    8834, 8834, 8834, 8834, 8834, 128, 8834, 8834, 8834, 8834,
1249
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1250
    8834, 8834, 8834, 8834, 8705, 8705, 8705, 8705, 8705, 8705,
1251
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705,
1252
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 128, 8705,
1253
    128, 128, 128, 8705, 8705, 8705, 8705, 8705, 8705, 8705,
1254
    128, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1255
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1256
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8705, 8705, 8705,
1257
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705,
1258
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 8834, 8834, 8834,
1259
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1260
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1261
    8834, 8834, 8834, 8705, 128, 8705, 8705, 128, 128, 8705,
1262
    128, 128, 8705, 8705, 128, 128, 8705, 8705, 8705, 8705,
1263
    128, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8705, 8834,
1264
    8834, 8834, 8834, 128, 8834, 128, 8834, 8834, 8834, 8834,
1265
    8705, 8705, 128, 8705, 8705, 8705, 8705, 128, 128, 8705,
1266
    8705, 8705, 8705, 8705, 8705, 8705, 8705, 128, 8705, 8705,
1267
    8705, 8705, 8705, 8705, 8705, 128, 8834, 8834, 8834, 8834,
1268
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1269
    8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834,
1270
    8834, 8834, 8705, 8705, 128, 8705, 8705, 8705, 8705, 128,
1271
    8834, 8834, 8834, 8985, 8834, 8834, 8834, 8834, 8834, 8834,
1272
    128, 128, 128, 128, 9097, 9225, 9353, 9481, 9609, 9737,
1273
    9865, 9993, 10121, 10249, 9097, 9225, 9353, 9481, 9609, 9737,
1274
    9865, 9993, 10121, 10249, 9097, 9225, 9353, 9481, 9609, 9737,
1275
    9865, 9993, 10121, 10249, 9097, 9225, 9353, 9481, 9609, 9737,
1276
    9865, 9993, 10121, 10249, 9097, 9225, 9353, 9481, 9609, 9737,
1277
    9865, 9993, 10121, 10249,
1278
};
1279
 
1280
static const jchar data2[] = {
1281
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1282
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1283
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1284
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1285
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1286
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1287
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1288
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1289
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1290
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1291
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1292
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1293
    5, 5, 5, 5, 5, 5, 5, 5, 128, 128,
1294
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1295
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1296
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1297
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1298
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1299
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1300
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1301
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1302
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1303
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1304
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1305
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1306
    128, 128, 128, 128, 128, 128,
1307
};
1308
 
1309
static const jchar data14[] = {
1310
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1311
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1312
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1313
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1314
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1315
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1316
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1317
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1318
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1319
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1320
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1321
    262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1322
    262, 262, 262, 262, 262, 262, 262, 262, 0, 0,
1323
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1324
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1325
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1326
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1327
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1328
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1329
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1330
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1331
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1332
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1333
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1334
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1335
    0, 0, 0, 0, 0, 0, 144, 0, 0, 0,
1336
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1337
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1338
    0, 0, 0, 0, 0, 0, 0, 144, 144, 144,
1339
    144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1340
    144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1341
    144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1342
    144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1343
    144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1344
    144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1345
    144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1346
    144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1347
    144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1348
    144, 144, 144,
1349
};
1350
 
1351
static const int data_length[] = {
1352
    3960, 1504, 256, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 383, -1, -1, };
1353
static const jchar* data[] = {
1354
    data0, data1, data2, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1355
    NULL, NULL, NULL, NULL, data14, NULL, NULL};
1356
 
1357
 
1358
/**
1359
 * This is the attribute table for computing the numeric value of a
1360
 * character.  The value is -1 if Unicode does not define a value, -2
1361
 * if the value is not a positive integer, otherwise it is the value.
1362
 */
1363
static const jshort numValue0[] = {
1364
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1365
    -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1,
1366
    10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1367
    23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1368
    -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1369
    21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1370
    34, 35, -1, -1, -1, -1, -1, -1, 2, 3, -1, 1, -1,
1371
    -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1372
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1373
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1374
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1375
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1376
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1377
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2,
1378
    3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, 0, 1,
1379
    2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, -1,
1380
    16, 10, 100, 1000, -1, -1, -2, -1, -1, 20, 30, 40, 50,
1381
    60, 70, 80, 90, 10000, 17, 18, 19, -1, 0, 1, 2, 3,
1382
    4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, -1,
1383
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1384
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1385
    -1, 0, 4, 5, 6, 7, 8, 9, -1, -1, -1, 1, 2,
1386
    3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 50, 100, 500,
1387
    1000, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1388
    50, 100, 500, 1000, 1000, 5000, 10000, -1, 10, 11, 12, 13, 14,
1389
    15, 16, 17, 18, 19, 20, -1, -1, 11, 12, 13, 14, 15,
1390
    16, 17, 18, 19, 20, 10, 0, 1, 2, 3, 4, 5, 6,
1391
    7, 8, 9, 10, 20, 30, 5, 6, 7, 8, 9, 21, 22,
1392
    23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1393
    36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1394
    49, 50, -1, -1, -1,
1395
};
1396
 
1397
static const jshort numValue1[] = {
1398
    -1, -1, -1, -1, -1, 1, 2, 3, 4, 5, 6, 7, 8,
1399
    9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300,
1400
    400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000,
1401
    8000, 9000, 10000, 20000, 30000, -3, -4, -5, -6, -7, -8, -1, -1,
1402
    -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1,
1403
    -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6,
1404
    7, 8, 9,
1405
};
1406
 
1407
static const jshort numValue2[] = {
1408
    -1, -1,
1409
};
1410
 
1411
static const jshort numValue14[] = {
1412
    -1, -1, -1,
1413
};
1414
 
1415
static const int numValue_length[] = {
1416
    395, 81, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, };
1417
static const jshort* numValue[] = {
1418
    numValue0, numValue1, numValue2, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1419
    NULL, NULL, NULL, NULL, numValue14, NULL, NULL};
1420
 
1421
 
1422
 
1423
/**
1424
 * This is the attribute table for computing the uppercase representation
1425
 * of a character.  The value is the difference between the character and
1426
 * its uppercase version.
1427
 */
1428
static const jshort upper0[] = {
1429
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1431
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1433
    0, 0, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1434
    -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1435
    -32, -32, 0, 0, 0, 0, 0, 0, 0, 0, 743, 0, 0,
1436
    0, 0, 0, -32, 121, 0, -1, 0, -232, 0, -300, 0, 0,
1437
    0, 0, 0, 0, 0, 97, 0, 0, 0, 130, 0, 0, 0,
1438
    0, 0, 56, 0, -1, -2, -79, 0, 0, 0, 0, -210, -206,
1439
    -205, -202, -203, -207, -209, -211, -213, -214, -218, -217, -219, 0, 0,
1440
    0, 84, 0, 0, 0, 0, 0, -38, -37, -31, -64, -63, -62,
1441
    -57, 0, -47, -54, -86, -80, 7, 0, -96, 0, 0, 0, 0,
1442
    0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1443
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1444
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1445
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1446
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1447
    0, 0, 0, 0, 0, 0, 0, -59, 8, 0, 74, 86, 100,
1448
    128, 112, 126, 8, 0, 9, 0, 0, -7205, 0, 0, 0, 0,
1449
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1450
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1452
    0, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
1453
    -16, -16, -16, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454
    0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0,
1455
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1456
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1457
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1458
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1459
    0, 0, 0, 0, 0,
1460
};
1461
 
1462
static const jshort upper1[] = {
1463
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1464
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1466
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467
    -40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1469
    0, 0, 0,
1470
};
1471
 
1472
static const jshort upper2[] = {
1473
    0, 0,
1474
};
1475
 
1476
static const jshort upper14[] = {
1477
    0, 0, 0,
1478
};
1479
 
1480
static const int upper_length[] = {
1481
    395, 81, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, };
1482
static const jshort* upper[] = {
1483
    upper0, upper1, upper2, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1484
    NULL, NULL, NULL, NULL, upper14, NULL, NULL};
1485
 
1486
 
1487
/**
1488
 * This is the attribute table for computing the lowercase representation
1489
 * of a character.  The value is the difference between the character and
1490
 * its lowercase version.
1491
 */
1492
static const jshort lower0[] = {
1493
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1495
    32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
1496
    32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
1497
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1498
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1499
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1500
    0, 32, 0, 0, 0, 1, 0, -199, 0, -121, 0, 210, 206,
1501
    205, 79, 202, 203, 207, 0, 211, 209, 213, 0, 214, 218, 217,
1502
    219, 0, 0, 2, 1, 0, 0, -97, -56, -130, 0, 0, 0,
1503
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1504
    0, 0, 38, 37, 64, 63, 0, 0, 0, 0, 0, 0, 0,
1505
    0, 0, 0, 0, 0, 0, 0, -60, 0, -7, 80, 0, 0,
1506
    48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1508
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1509
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1510
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1511
    0, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0,
1512
    0, 0, 0, 0, -8, 0, -74, -9, 0, -86, -100, -112, -128,
1513
    -126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1514
    0, 0, 0, 0, 0, 0, 0, 0, -7517, -8383, -8262, 16, 16,
1515
    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
1516
    16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1517
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1518
    0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0,
1519
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1521
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1522
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1523
    0, 0, 0, 0, 0,
1524
};
1525
 
1526
static const jshort lower1[] = {
1527
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1528
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1529
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1530
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
1531
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1532
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1533
    0, 0, 0,
1534
};
1535
 
1536
static const jshort lower2[] = {
1537
    0, 0,
1538
};
1539
 
1540
static const jshort lower14[] = {
1541
    0, 0, 0,
1542
};
1543
 
1544
static const int lower_length[] = {
1545
    395, 81, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, };
1546
static const jshort* lower[] = {
1547
    lower0, lower1, lower2, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1548
    NULL, NULL, NULL, NULL, lower14, NULL, NULL};
1549
 
1550
 
1551
/**
1552
 * This is the attribute table for computing the directionality class
1553
 * of a character.  At present, the value is in the range 0 - 18 if the
1554
 * character has a direction, otherwise it is -1.
1555
 */
1556
static const jbyte direction0[] = {
1557
    9, 11, 10, 12, 12, 13, 5, 5, 13, 13, 5, 7, 5, 4, 3, 3, 3, 3, 3,
1558
    3, 3, 3, 3, 3, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1559
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 0, 0, 0,
1560
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1561
    0, 0, 0, 0, 7, 13, 0, 13, 13, 5, 3, 3, 0, 3, 13, 13, 0, 0, 0,
1562
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1563
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
1564
    0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 8, 8, 0, 0, 0, 0, 0, 0, 0,
1565
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0,
1566
    0, 13, 1, 1, 2, 2, 2, 2, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
1567
    2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1568
    0, 0, 0, 0, 0, 0, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569
    0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 8, 0, 0, 0, 0, 0, 0,
1570
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 9, 1, 13, 13,
1571
    13, 12, 10, 14, 16, 18, 15, 17, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0,
1572
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1573
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3,
1574
    3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1575
    13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1576
    0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1577
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 2,
1578
};
1579
 
1580
static const jbyte direction1[] = {
1581
    0, -1, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1582
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1583
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1584
    0, 0, 0, 0, 0, 0, 1, 0, 8, 9, 13, 0, 0, 0, 3, 3, 3, 3, 3,
1585
    3, 3, 3, 3, 3,
1586
};
1587
 
1588
static const jbyte direction2[] = {
1589
    0, -1,
1590
};
1591
 
1592
static const jbyte direction14[] = {
1593
    -1, 9, 8,
1594
};
1595
 
1596
static const int direction_length[] = {
1597
    395, 81, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, };
1598
static const jbyte* direction[] = {
1599
    direction0, direction1, direction2, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1600
    NULL, NULL, NULL, NULL, direction14, NULL, NULL};
1601
 
1602
 
1603
/**
1604
 * This is the listing of titlecase special cases (all other character
1605
 * can use <code>upper</code> to determine their titlecase).  The listing
1606
 * is a sequence of character pairs; converting the first character of the
1607
 * pair to titlecase produces the second character.
1608
 */
1609
static const jchar title[] = {
1610
    452, 453, 453, 453, 454, 453, 455, 456, 456, 456,
1611
    457, 456, 458, 459, 459, 459, 460, 459, 497, 498,
1612
    498, 498, 499, 498,
1613
  };
1614
/** Length of title. */
1615
static const int title_length = 24;
1616
 
1617
#endif /* __JAVA_CHARTABLES_H__ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.