Coverage Report

Created: 2026-07-16 06:43

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/moddable/xs/sources/xsString.c
Line
Count
Source
1
/*
2
 * Copyright (c) 2016-2025  Moddable Tech, Inc.
3
 *
4
 *   This file is part of the Moddable SDK Runtime.
5
 * 
6
 *   The Moddable SDK Runtime is free software: you can redistribute it and/or modify
7
 *   it under the terms of the GNU Lesser General Public License as published by
8
 *   the Free Software Foundation, either version 3 of the License, or
9
 *   (at your option) any later version.
10
 * 
11
 *   The Moddable SDK Runtime is distributed in the hope that it will be useful,
12
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 *   GNU Lesser General Public License for more details.
15
 * 
16
 *   You should have received a copy of the GNU Lesser General Public License
17
 *   along with the Moddable SDK Runtime.  If not, see <http://www.gnu.org/licenses/>.
18
 *
19
 * This file incorporates work covered by the following copyright and  
20
 * permission notice:  
21
 *
22
 *       Copyright (C) 2010-2016 Marvell International Ltd.
23
 *       Copyright (C) 2002-2010 Kinoma, Inc.
24
 *
25
 *       Licensed under the Apache License, Version 2.0 (the "License");
26
 *       you may not use this file except in compliance with the License.
27
 *       You may obtain a copy of the License at
28
 *
29
 *        http://www.apache.org/licenses/LICENSE-2.0
30
 *
31
 *       Unless required by applicable law or agreed to in writing, software
32
 *       distributed under the License is distributed on an "AS IS" BASIS,
33
 *       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34
 *       See the License for the specific language governing permissions and
35
 *       limitations under the License.
36
 */
37
38
#include "xsAll.h"
39
40
#if mxStringInfoCacheLength
41
42
typedef struct sxStringInfo txStringInfo;
43
typedef struct sxStringInfoCache txStringInfoCache;
44
45
struct sxStringInfo {
46
  txString string;
47
  txSize unicodeLength;
48
  txSize utf8Length;
49
  txSize unicodeOffset;
50
  txSize utf8Offset;
51
  txBoolean ascii;
52
};
53
54
struct sxStringInfoCache {
55
  txInteger count;
56
  txInteger head;
57
  txInteger tail;
58
  txStringInfo infos[1];
59
};
60
61
static txStringInfo* fxCacheStringInfo(txMachine* the, txString string);
62
63
void fxAllocateStringInfoCache(txMachine* the)
64
31.9k
{
65
31.9k
  txStringInfoCache* cache = c_malloc(sizeof(txStringInfoCache) + ((mxStringInfoCacheLength - 1) * sizeof(txStringInfo)));
66
31.9k
  if (cache == C_NULL)
67
0
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
68
31.9k
  cache->count = mxStringInfoCacheLength;
69
31.9k
  cache->head = 0;
70
31.9k
  cache->tail = 0;
71
31.9k
  the->stringInfoCache = cache;
72
31.9k
}
73
74
void fxFreeStringInfoCache(txMachine* the)
75
31.9k
{
76
31.9k
  txStringInfoCache* cache = the->stringInfoCache;
77
31.9k
  if (cache)
78
31.9k
    c_free(cache);  
79
31.9k
}
80
81
void fxInvalidateStringInfoCache(txMachine* the)
82
42.7k
{
83
42.7k
  txStringInfoCache* cache = the->stringInfoCache;
84
42.7k
  if (cache) {
85
42.7k
    cache->head = 0;
86
42.7k
    cache->tail = 0;
87
42.7k
  }
88
42.7k
}
89
90
txStringInfo* fxCacheStringInfo(txMachine* the, txString string)
91
142M
{
92
142M
  txStringInfoCache* cache = the->stringInfoCache;
93
142M
  txStringInfo* info = C_NULL;
94
142M
  if (cache) {
95
142M
    txInteger count = cache->count;
96
142M
    txInteger head = cache->head;
97
142M
    txInteger tail = cache->tail;
98
142M
    txInteger i;
99
142M
    i = head - 1;
100
142M
    info = cache->infos + i;
101
148M
    while (i >= 0) {
102
115M
      if (info->string == string)
103
110M
        return info;
104
5.42M
      i--;
105
5.42M
      info--;
106
5.42M
    }
107
32.6M
    i = tail - 1;
108
32.6M
    info = cache->infos + i;
109
39.8M
    while (i >= head) {
110
37.4M
      if (info->string == string)
111
30.2M
        return info;
112
7.14M
      i--;
113
7.14M
      info--;
114
7.14M
    }
115
2.41M
    if (tail < count)
116
57.7k
      tail++;
117
2.41M
    info = cache->infos + head;
118
2.41M
    head++;
119
2.41M
    if (head == count)
120
593k
      head = 0;
121
2.41M
    cache->head = head; 
122
2.41M
    cache->tail = tail; 
123
2.41M
    info->string = string;
124
2.41M
    info->unicodeLength = fxUnicodeLength(string, &info->utf8Length);
125
2.41M
    info->unicodeOffset = 0;
126
2.41M
    info->utf8Offset = 0;
127
2.41M
    info->ascii = (info->unicodeLength == info->utf8Length) ? 1 : 0;
128
2.41M
  }
129
2.41M
  return info;
130
142M
}
131
132
txSize fxCacheUTF8Length(txMachine* the, txString string)
133
9.18M
{
134
9.18M
  txStringInfo* info = fxCacheStringInfo(the, string);
135
9.18M
  if (info) 
136
9.18M
    return info->utf8Length;
137
0
  return (txSize)c_strlen(string);
138
9.18M
}
139
140
txSize fxCacheUTF8ToUnicodeOffset(txMachine* the, txString string, txSize offset)
141
16.7M
{
142
16.7M
  txStringInfo* info;
143
16.7M
  if (offset <= 0)
144
214k
    return offset ? -1 : 0;  
145
16.4M
  info = fxCacheStringInfo(the, string);
146
16.4M
  if (info) {
147
16.4M
    txSize delta, sign, unicodeOffset, utf8Offset;
148
16.4M
    txU1* p;
149
16.4M
    if (/* (offset < 0) || */ (info->utf8Length < offset))
150
0
      return -1;
151
16.4M
    if ((info->ascii) /* || (offset == 0) */)
152
47.2k
      return offset;
153
16.4M
    if (offset == info->utf8Length)
154
259k
      return info->unicodeLength;
155
16.1M
    delta = offset - info->utf8Offset;
156
16.1M
    if (delta == 0)
157
7.10M
      return info->unicodeOffset;
158
9.08M
    if (delta > 0) {
159
8.04M
      if (delta < info->utf8Length - offset) {
160
7.83M
        sign = 1;
161
7.83M
        unicodeOffset = info->unicodeOffset + 1;
162
7.83M
        utf8Offset = info->utf8Offset + 1;
163
7.83M
      }
164
212k
      else {
165
212k
        sign = -1;
166
212k
        unicodeOffset = info->unicodeLength - 1;
167
212k
        utf8Offset = info->utf8Length - 1;
168
212k
      }
169
8.04M
    }
170
1.03M
    else {
171
1.03M
      if (0 - delta < offset) {
172
962k
        sign = -1;
173
962k
        unicodeOffset = info->unicodeOffset - 1;
174
962k
        utf8Offset = info->utf8Offset - 1;
175
962k
      }
176
75.5k
      else {
177
75.5k
        sign = 1;
178
75.5k
        unicodeOffset = 1;
179
75.5k
        utf8Offset = 1;
180
75.5k
      }
181
1.03M
    }
182
9.08M
    p = (txU1*)string + utf8Offset;
183
46.0M
    for (;;) {
184
46.0M
      if ((*p & 0xC0) != 0x80) {
185
25.8M
        if (utf8Offset == offset)
186
9.08M
          break;
187
16.7M
        unicodeOffset += sign;
188
16.7M
      }
189
37.0M
      p += sign;
190
37.0M
      utf8Offset += sign;
191
37.0M
    }
192
9.08M
    info->utf8Offset = utf8Offset;
193
9.08M
    info->unicodeOffset = unicodeOffset;
194
9.08M
    return unicodeOffset;
195
16.1M
  }
196
0
  return fxUTF8ToUnicodeOffset(string, offset);
197
16.4M
}
198
199
txSize fxCacheUnicodeLength(txMachine* the, txString string)
200
53.5M
{
201
53.5M
  txStringInfo* info = fxCacheStringInfo(the, string);
202
53.5M
  if (info) 
203
53.5M
    return info->unicodeLength;
204
0
  return fxUnicodeLength(string, C_NULL);
205
53.5M
}
206
207
txSize fxCacheUnicodeToUTF8Offset(txMachine* the, txString string, txSize offset)
208
64.9M
{
209
64.9M
  txStringInfo* info;
210
64.9M
  if (offset <= 0)
211
1.41M
    return offset ? -1 : 0;  
212
63.5M
  info = fxCacheStringInfo(the, string);
213
63.5M
  if (info) {
214
63.5M
    txSize delta, sign, unicodeOffset, utf8Offset;
215
63.5M
    txU1* p;
216
63.5M
    if ((offset < 0) || (info->unicodeLength < offset))
217
150k
      return -1;
218
63.3M
    if ((info->ascii) || (offset == 0))
219
43.7k
      return offset;
220
63.3M
    if (offset == info->unicodeLength)
221
136k
      return info->utf8Length;
222
63.1M
    delta = offset - info->unicodeOffset;
223
63.1M
    if (delta == 0)
224
33.1M
      return info->utf8Offset;
225
30.0M
    if (delta > 0) {
226
28.2M
      if (delta < info->unicodeLength - offset) {
227
27.4M
        sign = 1;
228
27.4M
        unicodeOffset = info->unicodeOffset + 1;
229
27.4M
        utf8Offset = info->utf8Offset + 1;
230
27.4M
      }
231
759k
      else {
232
759k
        sign = -1;
233
759k
        unicodeOffset = info->unicodeLength - 1;
234
759k
        utf8Offset = info->utf8Length - 1;
235
759k
      }
236
28.2M
    }
237
1.79M
    else {
238
1.79M
      if (0 - delta < offset) {
239
1.74M
        sign = -1;
240
1.74M
        unicodeOffset = info->unicodeOffset - 1;
241
1.74M
        utf8Offset = info->utf8Offset - 1;
242
1.74M
      }
243
49.4k
      else {
244
49.4k
        sign = 1;
245
49.4k
        unicodeOffset = 1;
246
49.4k
        utf8Offset = 1;
247
49.4k
      }
248
1.79M
    }
249
30.0M
    p = (txU1*)string + utf8Offset;
250
95.8M
    for (;;) {
251
95.8M
      if ((*p & 0xC0) != 0x80) {
252
56.1M
        if (unicodeOffset == offset)
253
30.0M
          break;
254
26.0M
        unicodeOffset += sign;
255
26.0M
      }
256
65.8M
      p += sign;
257
65.8M
      utf8Offset += sign;
258
65.8M
    }
259
30.0M
    info->utf8Offset = utf8Offset;
260
30.0M
    info->unicodeOffset = unicodeOffset;
261
30.0M
    return utf8Offset;
262
63.1M
  }
263
0
  return fxUnicodeToUTF8Offset(string, offset);
264
63.5M
}
265
#endif
266
267
1.05M
#define mxStringInstanceLength(INSTANCE) ((txIndex)fxUnicodeLength(instance->next->value.string, C_NULL))
268
44.9M
#define mxCacheStringInstanceLength(INSTANCE) ((txIndex)fxCacheUnicodeLength(the, instance->next->value.string))
269
270
static txString fx_String_prototype_includes_aux(txMachine* the, txString string, txSize stringLength, txString searchString, txSize searchLength);
271
static txInteger fx_String_prototype_indexOf_aux(txMachine* the, txString theString, txInteger theLength, txInteger theOffset, txString theSubString, txInteger theSubLength, txInteger* theOffsets);
272
static void fx_String_prototype_replaceAux(txMachine* the, txInteger size, txInteger offset, txSlot* function, txSlot* match, txInteger matchLength, txSlot* replace);
273
static txSlot* fx_String_prototype_split_aux(txMachine* the, txSlot* theString, txSlot* theArray, txSlot* theItem, txInteger theStart, txInteger theStop);
274
275
static txSlot* fxCheckString(txMachine* the, txSlot* it);
276
static txString fxCoerceToString(txMachine* the, txSlot* theSlot);
277
static txInteger fxArgToPosition(txMachine* the, txInteger i, txInteger index, txInteger length);
278
static void fx_String_prototype_pad(txMachine* the, txBoolean flag);
279
static void fx_String_prototype_trimAux(txMachine* the, txBoolean trimStart, txBoolean trimEnd);
280
static txBoolean fx_String_prototype_withRegexp(txMachine* the, txID id, txBoolean global, txInteger count);
281
static void fx_String_prototype_withoutRegexp(txMachine* the, txID id, txBoolean global, txInteger count);
282
283
static txBoolean fxStringDeleteProperty(txMachine* the, txSlot* instance, txID id, txIndex index);
284
static txBoolean fxStringDefineOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot, txFlag mask);
285
static txBoolean fxStringGetOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot);
286
static txSlot* fxStringGetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag);
287
static txBoolean fxStringHasProperty(txMachine* the, txSlot* instance, txID id, txIndex index);
288
static void fxStringOwnKeys(txMachine* the, txSlot* instance, txFlag flag, txSlot* keys);
289
static txSlot* fxStringSetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag);
290
291
#ifdef mxStringNormalize
292
static void fxNormalizeString(txMachine* the, txSlot* string, txFlag form);
293
#endif
294
295
const txBehavior ICACHE_FLASH_ATTR gxStringBehavior = {
296
  fxStringGetProperty,
297
  fxStringSetProperty,
298
  fxOrdinaryCall,
299
  fxOrdinaryConstruct,
300
  fxStringDefineOwnProperty,
301
  fxStringDeleteProperty,
302
  fxStringGetOwnProperty,
303
  fxOrdinaryGetPropertyValue,
304
  fxOrdinaryGetPrototype,
305
  fxStringHasProperty,
306
  fxOrdinaryIsExtensible,
307
  fxStringOwnKeys,
308
  fxOrdinaryPreventExtensions,
309
  fxOrdinarySetPropertyValue,
310
  fxOrdinarySetPrototype,
311
};
312
313
void fxBuildString(txMachine* the)
314
31.9k
{
315
31.9k
  txSlot* instance;
316
31.9k
  txSlot* property;
317
31.9k
  txSlot* slot;
318
  
319
31.9k
  mxPush(mxObjectPrototype);
320
31.9k
  instance = fxNewStringInstance(the);
321
  
322
31.9k
  fxNewHostFunction(the, mxCallback(fxStringAccessorGetter), 0, XS_NO_ID, XS_NO_ID);
323
31.9k
  property = mxFunctionInstanceHome(the->stack->value.reference);
324
31.9k
  property->value.home.object = instance;
325
31.9k
  fxNewHostFunction(the, mxCallback(fxStringAccessorSetter), 1, XS_NO_ID, XS_NO_ID);
326
31.9k
  property = mxFunctionInstanceHome(the->stack->value.reference);
327
31.9k
  property->value.home.object = instance;
328
31.9k
  mxPushUndefined();
329
31.9k
  the->stack->flag = XS_DONT_DELETE_FLAG;
330
31.9k
  the->stack->kind = XS_ACCESSOR_KIND;
331
31.9k
  the->stack->value.accessor.getter = (the->stack + 2)->value.reference;
332
31.9k
  the->stack->value.accessor.setter = (the->stack + 1)->value.reference;
333
31.9k
  mxPull(mxStringAccessor);
334
31.9k
  mxPop();
335
31.9k
  mxPop();
336
  
337
31.9k
  slot = fxLastProperty(the, instance);
338
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_at), 1, mxID(_at), XS_DONT_ENUM_FLAG);
339
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charAt), 1, mxID(_charAt), XS_DONT_ENUM_FLAG);
340
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charCodeAt), 1, mxID(_charCodeAt), XS_DONT_ENUM_FLAG);
341
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_codePointAt), 1, mxID(_codePointAt), XS_DONT_ENUM_FLAG);
342
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_compare), 1, mxID(_compare), XS_DONT_ENUM_FLAG);
343
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_concat), 1, mxID(_concat), XS_DONT_ENUM_FLAG);
344
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_endsWith), 1, mxID(_endsWith), XS_DONT_ENUM_FLAG);
345
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_includes), 1, mxID(_includes), XS_DONT_ENUM_FLAG);
346
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_indexOf), 1, mxID(_indexOf), XS_DONT_ENUM_FLAG);
347
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_lastIndexOf), 1, mxID(_lastIndexOf), XS_DONT_ENUM_FLAG);
348
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_localeCompare), 1, mxID(_localeCompare), XS_DONT_ENUM_FLAG);
349
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_normalize), 0, mxID(_normalize), XS_DONT_ENUM_FLAG);
350
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padEnd), 1, mxID(_padEnd), XS_DONT_ENUM_FLAG);
351
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padStart), 1, mxID(_padStart), XS_DONT_ENUM_FLAG);
352
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_repeat), 1, mxID(_repeat), XS_DONT_ENUM_FLAG);
353
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replace), 2, mxID(_replace), XS_DONT_ENUM_FLAG);
354
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replaceAll), 2, mxID(_replaceAll), XS_DONT_ENUM_FLAG);
355
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_slice), 2, mxID(_slice), XS_DONT_ENUM_FLAG);
356
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_split), 2, mxID(_split), XS_DONT_ENUM_FLAG);
357
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_startsWith), 1, mxID(_startsWith), XS_DONT_ENUM_FLAG);
358
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substr), 2, mxID(_substr), XS_DONT_ENUM_FLAG);
359
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substring), 2, mxID(_substring), XS_DONT_ENUM_FLAG);
360
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLocaleLowerCase), XS_DONT_ENUM_FLAG);
361
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toLocaleUpperCase), XS_DONT_ENUM_FLAG);
362
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLowerCase), XS_DONT_ENUM_FLAG);
363
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_toString), XS_DONT_ENUM_FLAG);
364
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toUpperCase), XS_DONT_ENUM_FLAG);
365
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trim), 0, mxID(_trim), XS_DONT_ENUM_FLAG);
366
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimEnd), 0, mxID(_trimEnd), XS_DONT_ENUM_FLAG);
367
31.9k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimRight), XS_DONT_ENUM_FLAG);
368
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimStart), 0, mxID(_trimStart), XS_DONT_ENUM_FLAG);
369
31.9k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimLeft), XS_DONT_ENUM_FLAG);
370
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_valueOf), XS_DONT_ENUM_FLAG);
371
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator), 0, mxID(_Symbol_iterator), XS_DONT_ENUM_FLAG);
372
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_match), 1, mxID(_match), XS_DONT_ENUM_FLAG);
373
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_matchAll), 1, mxID(_matchAll), XS_DONT_ENUM_FLAG);
374
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_search), 1, mxID(_search), XS_DONT_ENUM_FLAG);
375
31.9k
#if mxECMAScript2024
376
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_isWellFormed), 0, mxID(_isWellFormed), XS_DONT_ENUM_FLAG);
377
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toWellFormed), 0, mxID(_toWellFormed), XS_DONT_ENUM_FLAG);
378
31.9k
#endif
379
31.9k
  mxStringPrototype = *the->stack;
380
31.9k
  slot = fxBuildHostConstructor(the, mxCallback(fx_String), 1, mxID(_String));
381
31.9k
  mxStringConstructor = *the->stack;
382
31.9k
  slot = fxLastProperty(the, slot);
383
#ifndef mxCESU8
384
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromArrayBuffer), 1, mxID(_fromArrayBuffer), XS_DONT_ENUM_FLAG);
385
#endif
386
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCharCode), 1, mxID(_fromCharCode), XS_DONT_ENUM_FLAG);
387
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCodePoint), 1, mxID(_fromCodePoint), XS_DONT_ENUM_FLAG);
388
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_raw), 1, mxID(_raw), XS_DONT_ENUM_FLAG);
389
31.9k
  mxPop();
390
391
31.9k
  mxPush(mxIteratorPrototype);
392
31.9k
  slot = fxLastProperty(the, fxNewObjectInstance(the));
393
31.9k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator_next), 0, mxID(_next), XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG);
394
31.9k
  slot = fxNextStringXProperty(the, slot, "String Iterator", mxID(_Symbol_toStringTag), XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG);
395
31.9k
  mxPull(mxStringIteratorPrototype);
396
31.9k
}
397
398
txSlot* fxNewStringInstance(txMachine* the)
399
9.86M
{
400
9.86M
  txSlot* instance;
401
9.86M
  instance = fxNewObjectInstance(the);
402
9.86M
  instance->flag |= XS_EXOTIC_FLAG;
403
9.86M
  fxNextSlotProperty(the, instance, &mxEmptyString, XS_STRING_BEHAVIOR, XS_INTERNAL_FLAG);
404
9.86M
  return instance;
405
9.86M
}
406
407
void fxStringAccessorGetter(txMachine* the)
408
19.2M
{
409
19.2M
  txSlot* string = C_NULL;
410
19.2M
  txID id = the->scratch.value.at.id;
411
19.2M
  txIndex index = the->scratch.value.at.index;
412
19.2M
  if ((mxThis->kind == XS_STRING_KIND) || (mxThis->kind == XS_STRING_X_KIND))
413
82.3k
    string = mxThis;
414
19.1M
  else {
415
19.1M
    txSlot* instance = fxToInstance(the, mxThis);
416
19.1M
    while (instance) {
417
19.1M
      if ((instance->flag & XS_EXOTIC_FLAG) && (instance->next->ID == XS_STRING_BEHAVIOR)) {
418
19.1M
        string = instance->next;
419
19.1M
        break;
420
19.1M
      }
421
0
      instance = fxGetPrototype(the, instance);
422
0
    }
423
19.1M
  }
424
19.2M
  if (string) {
425
19.2M
    if (id == mxID(_length)) {
426
35.0k
      mxResult->value.integer = fxCacheUnicodeLength(the, string->value.string);
427
35.0k
      mxResult->kind = XS_INTEGER_KIND;
428
35.0k
    }
429
19.1M
    else {
430
19.1M
      txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.string, index);
431
19.1M
      if (from >= 0) {
432
19.1M
        txInteger to = fxUnicodeToUTF8Offset(string->value.string + from, 1);
433
19.1M
        if (to >= 0) {
434
19.1M
          to += from;
435
19.1M
          mxResult->value.string = fxNewChunk(the, to - from + 1);
436
19.1M
          c_memcpy(mxResult->value.string, string->value.string + from, to - from);
437
19.1M
          mxResult->value.string[to - from] = 0;
438
19.1M
          mxResult->kind = XS_STRING_KIND;
439
19.1M
        }
440
19.1M
      }
441
19.1M
    }
442
19.2M
  }
443
19.2M
}
444
445
void fxStringAccessorSetter(txMachine* the)
446
0
{
447
0
}
448
449
txBoolean fxStringDefineOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot, txFlag mask)
450
1.46k
{
451
1.46k
  if (id == mxID(_length)) {
452
53
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
453
0
      return 0;
454
53
    if ((mask & XS_DONT_ENUM_FLAG) && !(slot->flag & XS_DONT_ENUM_FLAG))
455
0
      return 0;
456
53
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
457
0
      return 0;
458
53
    if (slot->kind != XS_UNINITIALIZED_KIND)
459
0
      return 0;
460
53
    return 1;
461
53
  }
462
1.41k
  if (!id && (mxStringInstanceLength(instance) > index)) {
463
431
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
464
0
      return 0;
465
431
    if ((mask & XS_DONT_ENUM_FLAG) && (slot->flag & XS_DONT_ENUM_FLAG))
466
0
      return 0;
467
431
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
468
0
      return 0;
469
431
    if (slot->kind != XS_UNINITIALIZED_KIND)
470
3
      return 0;
471
428
    return 1;
472
431
  }
473
985
  return fxOrdinaryDefineOwnProperty(the, instance, id, index, slot, mask);
474
1.41k
}
475
476
txBoolean fxStringDeleteProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
477
1.40k
{
478
1.40k
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
479
556
    return 0;
480
852
  return fxOrdinaryDeleteProperty(the, instance, id, index);
481
1.40k
}
482
483
txBoolean fxStringGetOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* descriptor)
484
29.0M
{
485
29.0M
  if (id == mxID(_length)) {
486
435k
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG;
487
435k
    descriptor->ID = id;
488
435k
    descriptor->kind = XS_INTEGER_KIND;
489
435k
    descriptor->value.integer = mxStringInstanceLength(instance);
490
435k
    return 1;
491
435k
  }
492
28.5M
  if (!id && (mxCacheStringInstanceLength(instance) > index)) {
493
25.2M
    txSlot* string = instance->next;
494
25.2M
    txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.key.string, index);
495
25.2M
    txInteger length = fxUnicodeToUTF8Offset(string->value.key.string + from, 1);
496
25.2M
    descriptor->value.string = fxNewChunk(the, length + 1);
497
25.2M
    c_memcpy(descriptor->value.string, string->value.key.string + from, length);
498
25.2M
    descriptor->value.string[length] = 0;
499
25.2M
    descriptor->kind = XS_STRING_KIND;
500
25.2M
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_SET_FLAG;
501
25.2M
    return 1;
502
25.2M
  }
503
3.32M
  return fxOrdinaryGetOwnProperty(the, instance, id, index, descriptor);
504
28.5M
}
505
506
txSlot* fxStringGetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
507
43.0M
{
508
43.0M
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index))) {
509
19.2M
    the->scratch.value.at.id = id;
510
19.2M
    the->scratch.value.at.index = index;
511
19.2M
    return &mxStringAccessor;
512
19.2M
  }
513
23.8M
  return fxOrdinaryGetProperty(the, instance, id, index, flag);
514
43.0M
}
515
516
txBoolean fxStringHasProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
517
73.6k
{
518
73.6k
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index)))
519
33.1k
    return 1;
520
40.4k
  return fxOrdinaryHasProperty(the, instance, id, index);
521
73.6k
}
522
523
void fxStringOwnKeys(txMachine* the, txSlot* instance, txFlag flag, txSlot* keys)
524
437k
{
525
437k
  txSlot* property = instance->next;
526
437k
  if (flag & XS_EACH_NAME_FLAG) {
527
437k
    txIndex length = mxStringInstanceLength(instance), index;
528
25.9M
    for (index = 0; index < length; index++)
529
25.4M
      keys = fxQueueKey(the, 0, index, keys);
530
437k
  }
531
437k
  property = property->next;
532
437k
  if (property && (property->kind == XS_ARRAY_KIND)) {
533
2.22k
    keys = fxQueueIndexKeys(the, property, flag, keys);
534
2.22k
    property = property->next;
535
2.22k
  }
536
437k
  if (flag & XS_EACH_NAME_FLAG)
537
437k
    keys = fxQueueKey(the, mxID(_length), 0, keys);
538
437k
  fxQueueIDKeys(the, property, flag, keys);
539
437k
}
540
541
txSlot* fxStringSetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
542
1.15M
{
543
1.15M
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
544
42.6k
    return C_NULL;
545
1.11M
  return fxOrdinarySetProperty(the, instance, id, index, flag);
546
1.15M
}
547
548
void fx_String(txMachine* the)
549
111k
{
550
111k
  txSlot* slot;
551
111k
  txSlot* instance;
552
111k
  if (mxArgc > 0) {
553
102k
    slot = mxArgv(0);
554
102k
    if (!mxHasTarget && (slot->kind == XS_SYMBOL_KIND)) {
555
35
      fxSymbolToString(the, slot);
556
35
      *mxResult = *slot;
557
35
      return;
558
35
    }
559
102k
    fxToString(the, slot);
560
102k
  }
561
8.94k
  else {
562
8.94k
    slot = &mxEmptyString;
563
8.94k
  }
564
111k
  if (!mxHasTarget) {
565
100k
    *mxResult = *slot;
566
100k
    return;
567
100k
  }
568
11.4k
  mxPushSlot(mxTarget);
569
11.4k
  fxGetPrototypeFromConstructor(the, &mxStringPrototype);
570
11.4k
  instance = fxNewStringInstance(the);
571
11.4k
  instance->next->kind = slot->kind; // @@
572
11.4k
  instance->next->value.key.string = slot->value.string;
573
11.4k
  mxPullSlot(mxResult);
574
11.4k
}
575
576
#ifndef mxCESU8
577
void fx_String_fromArrayBuffer(txMachine* the)
578
{
579
  txSlot* slot;
580
  txSlot* arrayBuffer = C_NULL, *sharedArrayBuffer = C_NULL;
581
  txSlot* bufferInfo;
582
  txInteger limit, offset;
583
  txInteger inLength, outLength = 0, nulls = 0;
584
  unsigned char *in;
585
  txString string;
586
  if (mxArgc < 1)
587
    mxTypeError("no argument");
588
  slot = mxArgv(0);
589
  if (slot->kind == XS_REFERENCE_KIND) {
590
    slot = slot->value.reference->next;
591
    if (slot) {
592
      bufferInfo = slot->next;
593
      if (slot->kind == XS_ARRAY_BUFFER_KIND)
594
        arrayBuffer = slot;
595
      else if (slot->kind == XS_HOST_KIND) {
596
        if (!(slot->flag & XS_HOST_CHUNK_FLAG) && bufferInfo && (bufferInfo->kind == XS_BUFFER_INFO_KIND))
597
          sharedArrayBuffer = slot;
598
      }
599
    }
600
  }
601
  if (!arrayBuffer && !sharedArrayBuffer)
602
    mxTypeError("argument: not an ArrayBuffer instance");
603
  limit = bufferInfo->value.bufferInfo.length;
604
  offset = fxArgToByteLength(the, 1, 0);
605
  if (limit < offset)
606
    mxRangeError("invalid byteOffset %ld", offset);
607
  inLength = fxArgToByteLength(the, 2, limit - offset);
608
  if ((limit < (offset + inLength)) || ((offset + inLength) < offset))
609
    mxRangeError("invalid byteLength %ld", inLength);
610
611
  in = offset + (unsigned char *)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data);
612
  while (inLength > 0) {
613
    unsigned char first = c_read8(in++), clen;
614
    if (first < 0x80){
615
      if (0 == first)
616
        nulls += 1;
617
      inLength -= 1;
618
      outLength += 1;
619
      continue;
620
    }
621
622
    if (0xC0 == (first & 0xE0))
623
      clen = 2;
624
    else if (0xE0 == (first & 0xF0))
625
      clen = 3;
626
    else if (0xF0 == (first & 0xF0))
627
      clen = 4;
628
    else
629
      goto badUTF8;
630
631
    inLength -= clen;
632
    if (inLength < 0)
633
      goto badUTF8;
634
635
    outLength += clen;
636
    clen -= 1;
637
    do {
638
      if (0x80 != (0xc0 & c_read8(in++)))
639
        goto badUTF8;
640
    } while (--clen > 0);
641
  }
642
643
  string = fxNewChunk(the, outLength + nulls + 1);
644
  if (!nulls)
645
    c_memcpy(string, offset + (txString)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data), outLength);
646
  else {
647
    txString c = string, end = c + outLength + nulls;
648
    txString buf = offset + (txString)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data);
649
    while (c < end) {
650
      txByte b = c_read8(buf++);
651
      if (b)
652
        *c++ = b;
653
      else {
654
        *c++ = 0xC0;
655
        *c++ = 0x80;
656
      }
657
    }
658
  }
659
  string[outLength + nulls] = 0;
660
  mxResult->value.string = string;
661
  mxResult->kind = XS_STRING_KIND;
662
663
  return;
664
665
badUTF8:
666
  mxTypeError("invalid UTF-8");
667
}
668
#endif
669
670
void fx_String_fromCharCode(txMachine* the)
671
479k
{
672
479k
  txInteger length = 0;
673
479k
  txInteger count = mxArgc;
674
479k
  txInteger index = 0;
675
479k
  txInteger c; 
676
479k
  txString p;
677
1.04M
  while (index < count) {
678
561k
    txSlot *slot = mxArgv(index);
679
561k
    if (XS_INTEGER_KIND != slot->kind) {
680
177k
      txNumber number = fxToNumber(the, slot);
681
177k
      switch (c_fpclassify(number)) {
682
16
      case C_FP_INFINITE:
683
2.98k
      case C_FP_NAN:
684
2.99k
      case C_FP_ZERO:
685
2.99k
        slot->value.integer = 0;
686
2.99k
        break;
687
174k
      default:
688
345k
        #define MODULO 65536.0
689
174k
        number = c_fmod(c_trunc(number), MODULO);
690
174k
        if (number < 0)
691
171k
          number += MODULO;
692
174k
        slot->value.integer = (txInteger)number;
693
174k
        break;
694
177k
      }
695
177k
      slot->kind = XS_INTEGER_KIND;
696
177k
    }
697
384k
    else {
698
384k
      txInteger integer = slot->value.integer % 65536;
699
384k
      if (integer < 0)
700
366
        integer += 65536;
701
384k
      slot->value.integer = integer;
702
384k
    }
703
561k
    index++;
704
561k
  }
705
479k
  index = 0;
706
1.04M
  while (index < count) {
707
561k
    c = mxArgv(index)->value.integer;
708
561k
    index++;
709
561k
    if (index < count) {
710
81.8k
      txInteger d = mxArgv(index)->value.integer;
711
81.8k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
712
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
713
0
        index++;
714
0
      }
715
81.8k
    }  
716
561k
    length += mxStringByteLength(c);
717
561k
  }    
718
479k
  mxMeterSome(count);
719
479k
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
720
479k
  mxResult->kind = XS_STRING_KIND;
721
479k
  p = mxResult->value.string;
722
479k
  index = 0;
723
1.04M
  while (index < count) {
724
561k
    c = mxArgv(index)->value.integer;
725
561k
    index++;
726
561k
    if (index < count) {
727
81.8k
      txInteger d = mxArgv(index)->value.integer;
728
81.8k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
729
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
730
0
        index++;
731
0
      }
732
81.8k
    }  
733
561k
    p = mxStringByteEncode(p, c);
734
561k
  }  
735
479k
  *p = 0;
736
479k
}
737
738
void fx_String_fromCodePoint(txMachine* the)
739
63
{
740
63
  txInteger length = 0;
741
63
  txInteger count = mxArgc;
742
63
  txInteger index = 0;
743
63
  txInteger character; 
744
63
  txString p;
745
120
  while (index < count) {
746
83
    txNumber number = fxToNumber(the, mxArgv(index));
747
83
    txNumber check = c_trunc(number);
748
83
    if (number != check)
749
12
      mxRangeError("invalid code point %lf", number);
750
71
    if ((number < 0) || (0x10FFFF < number))
751
14
      mxRangeError("invalid code point %lf", number);
752
57
    mxArgv(index)->value.integer = (txInteger)number;
753
57
    mxArgv(index)->kind = XS_INTEGER_KIND;
754
57
    index++;
755
57
  }
756
37
  index = 0;
757
85
  while (index < count) {
758
48
    character = mxArgv(index)->value.integer;
759
48
    length += mxStringByteLength(character);
760
48
    index++;
761
48
  }
762
37
  mxMeterSome(count);
763
37
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
764
37
  mxResult->kind = XS_STRING_KIND;
765
37
  p = mxResult->value.string;
766
37
  index = 0;
767
85
  while (index < count) {
768
48
    character = mxArgv(index)->value.integer;
769
48
    p = mxStringByteEncode(p, character);
770
48
    index++;
771
48
  }  
772
37
  *p = 0;
773
37
}
774
775
void fx_String_raw(txMachine* the)
776
29
{
777
29
  txInteger argCount = mxArgc;
778
29
  txSlot* raw;
779
29
  txInteger rawCount;
780
29
  if (argCount > 0)
781
28
    fxToInstance(the, mxArgv(0));
782
1
  else
783
1
    mxTypeError("cannot coerce undefined to object");
784
28
  mxPushSlot(mxArgv(0));
785
28
  mxGetID(mxID(_raw));
786
28
  raw = the->stack;
787
28
  mxPushSlot(raw);
788
28
  mxGetID(mxID(_length));
789
28
  rawCount = fxToInteger(the, the->stack);
790
28
  mxPop();
791
28
  if (rawCount <= 0) {
792
11
    mxResult->value = mxEmptyString.value;
793
11
    mxResult->kind = mxEmptyString.kind;
794
11
  }
795
17
  else {
796
17
    txSlot* list;
797
17
    txInteger index = 0;
798
17
    txSlot* item;
799
17
    txInteger size;
800
17
    list = item = fxNewInstance(the);
801
17
    mxPushSlot(list);
802
53
    for (;;) {
803
53
      mxPushSlot(raw);
804
53
      mxGetIndex(index);
805
53
      fxToString(the, the->stack);
806
53
      item = item->next = fxNewSlot(the);
807
53
      mxPullSlot(item);
808
53
      index++;
809
53
      if (index == rawCount)
810
13
        break;
811
40
      if (index < argCount) {
812
17
        mxPushSlot(mxArgv(index));
813
17
        fxToString(the, the->stack);
814
17
      }
815
23
      else
816
23
        mxPush(mxEmptyString);
817
40
      item = item->next = fxNewSlot(the);
818
40
      mxPullSlot(item);
819
40
    }
820
17
    size = 0;
821
17
    item = list->next;
822
104
    while (item) {
823
87
      item->value.key.sum = mxStringLength(item->value.string);
824
87
      size += item->value.key.sum;
825
87
      item = item->next;
826
87
    }
827
17
    size++;
828
17
    mxResult->value.string = (txString)fxNewChunk(the, size);
829
17
    size = 0;
830
17
    item = list->next;
831
104
    while (item) {
832
87
      c_memcpy(mxResult->value.string + size, item->value.string, item->value.key.sum);
833
87
      size += item->value.key.sum;
834
87
      item = item->next;
835
87
    }
836
17
    mxResult->value.string[size] = 0;
837
17
    mxPop();
838
17
    mxResult->kind = XS_STRING_KIND;
839
17
  }
840
28
  mxPop();
841
28
}
842
843
void fx_String_prototype_at(txMachine* the)
844
5.95k
{
845
5.95k
  txNumber index;
846
847
5.95k
  fxCoerceToString(the, mxThis);
848
5.95k
  index = (mxArgc > 0) ? c_trunc(fxToNumber(the, mxArgv(0))) : C_NAN;
849
5.95k
  if (c_isnan(index) || (index == 0))
850
3.82k
    index = 0;
851
2.12k
  else if (index < 0) {
852
1.80k
    index += fxCacheUnicodeLength(the, mxThis->value.string);
853
1.80k
    if (index < 0)
854
1.51k
      return;
855
1.80k
  }
856
4.43k
  txInteger from = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txSize)index);
857
4.43k
  if (from >= 0) {
858
4.12k
    txInteger to = fxUnicodeToUTF8Offset(mxThis->value.string + from, 1);
859
4.12k
    if (to >= 0) {
860
3.63k
      to += from;
861
3.63k
      mxResult->value.string = fxNewChunk(the, to - from + 1);
862
3.63k
      c_memcpy(mxResult->value.string, mxThis->value.string + from, to - from);
863
3.63k
      mxResult->value.string[to - from] = 0;
864
3.63k
      mxResult->kind = XS_STRING_KIND;
865
3.63k
    }
866
4.12k
  }
867
4.43k
}
868
869
void fx_String_prototype_charAt(txMachine* the)
870
181k
{
871
181k
  txInteger anOffset;
872
181k
  txInteger aLength;
873
  
874
181k
  fxCoerceToString(the, mxThis);
875
181k
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
876
76.5k
    anOffset = fxToInteger(the, mxArgv(0));
877
76.5k
    if (anOffset < 0) goto fail;
878
76.5k
  }
879
105k
  else
880
105k
    anOffset = 0;
881
882
181k
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
883
181k
  if (anOffset < 0) goto fail;
884
885
105k
  aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
886
105k
  if (aLength < 0) goto fail;
887
888
105k
  mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
889
105k
  c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
890
105k
  mxResult->value.string[aLength] = 0;
891
105k
  mxResult->kind = XS_STRING_KIND;
892
105k
  return;
893
894
76.5k
fail:
895
76.5k
  mxResult->value.string = mxEmptyString.value.string;
896
76.5k
  mxResult->kind = mxEmptyString.kind;
897
76.5k
}
898
899
void fx_String_prototype_charCodeAt(txMachine* the)
900
127
{
901
127
  txInteger anOffset;
902
903
127
  fxCoerceToString(the, mxThis);
904
127
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
905
118
    anOffset = fxToInteger(the, mxArgv(0));
906
118
    if (anOffset < 0) goto fail;
907
118
  }
908
9
  else
909
9
    anOffset = 0;
910
911
123
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
912
123
  if (anOffset < 0) goto fail;
913
914
119
  if (fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1) < 0)
915
1
    goto fail;
916
917
118
  fxUTF8Decode(mxThis->value.string + anOffset, &mxResult->value.integer);
918
118
  mxResult->kind = XS_INTEGER_KIND;
919
118
  return;
920
921
9
fail:
922
9
  mxResult->value.number = C_NAN;
923
9
  mxResult->kind = XS_NUMBER_KIND;
924
9
}
925
926
void fx_String_prototype_compare(txMachine* the)
927
0
{
928
0
  fxReport(the, "# Use standard String.prototype.localeCompare instead of soon obsolete String.prototype.compare\n");
929
0
  fx_String_prototype_localeCompare(the);
930
0
}
931
932
void fx_String_prototype_codePointAt(txMachine* the)
933
3.86k
{
934
3.86k
  txString string = fxCoerceToString(the, mxThis);
935
3.86k
  txInteger length = fxCacheUnicodeLength(the, string);
936
3.86k
  txNumber at = (mxArgc > 0) ? fxToNumber(the, mxArgv(0)) : 0;
937
3.86k
  if (c_isnan(at))
938
673
    at = 0;
939
3.86k
  if ((0 <= at) && (at < (txNumber)length)) {
940
2.34k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)at);
941
2.34k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
942
2.34k
    if ((offset >= 0) && (length > 0)) {
943
2.34k
      mxStringByteDecode(mxThis->value.string + offset, &mxResult->value.integer);
944
2.34k
      mxResult->kind = XS_INTEGER_KIND;
945
2.34k
    }
946
2.34k
  }
947
3.86k
}
948
949
void fx_String_prototype_concat(txMachine* the)
950
87.3k
{
951
87.3k
  txInteger aCount;
952
87.3k
  txInteger aLength;
953
87.3k
  txInteger anIndex;
954
  
955
87.3k
  fxCoerceToString(the, mxThis);
956
87.3k
  aCount = mxArgc;
957
87.3k
  aLength = mxStringLength(mxThis->value.string);
958
182k
  for (anIndex = 0; anIndex < aCount; anIndex++)
959
94.7k
    aLength = fxAddChunkSizes(the, aLength, mxStringLength(fxToString(the, mxArgv(anIndex))));
960
87.3k
  mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, aLength, 1));
961
87.3k
  mxResult->kind = XS_STRING_KIND;
962
87.3k
  c_strcpy(mxResult->value.string, mxThis->value.string);
963
182k
  for (anIndex = 0; anIndex < aCount; anIndex++)
964
94.7k
    c_strcat(mxResult->value.string, mxArgv(anIndex)->value.string);
965
87.3k
  mxMeterSome(aCount);
966
87.3k
}
967
968
void fx_String_prototype_endsWith(txMachine* the)
969
2.23k
{
970
2.23k
  txString string = fxCoerceToString(the, mxThis);
971
2.23k
  txInteger length = fxCacheUnicodeLength(the, string);
972
2.23k
  txString searchString;
973
2.23k
  txInteger searchLength;
974
2.23k
  txInteger offset;
975
2.23k
  mxResult->kind = XS_BOOLEAN_KIND;
976
2.23k
  mxResult->value.boolean = 0;
977
2.23k
  if (mxArgc < 1)
978
1
    return;
979
2.22k
  if (fxIsRegExp(the, mxArgv(0)))
980
1
    mxTypeError("future editions");
981
2.22k
  searchString = fxToString(the, mxArgv(0));
982
2.22k
  offset = fxArgToPosition(the, 1, length, length);
983
2.22k
  string = mxThis->value.string;
984
2.22k
  searchString = mxArgv(0)->value.string;
985
2.22k
  searchLength = mxStringLength(searchString);
986
2.22k
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
987
2.22k
  if (offset < searchLength)
988
1.09k
    return;
989
1.13k
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
990
1.13k
  if (!c_strncmp(string + offset - searchLength, searchString, searchLength))
991
61
    mxResult->value.boolean = 1;
992
1.13k
}
993
994
void fx_String_prototype_includes(txMachine* the)
995
106
{
996
106
  txString string = fxCoerceToString(the, mxThis);
997
106
  txInteger length = fxCacheUnicodeLength(the, string);
998
106
  txString searchString;
999
106
  txInteger searchLength;
1000
106
  txInteger offset;
1001
106
  mxResult->kind = XS_BOOLEAN_KIND;
1002
106
  mxResult->value.boolean = 0;
1003
106
  if (mxArgc < 1)
1004
1
    return;
1005
105
  if (fxIsRegExp(the, mxArgv(0)))
1006
1
    mxTypeError("future editions");
1007
104
  searchString = fxToString(the, mxArgv(0));
1008
104
  offset = fxArgToPosition(the, 1, 0, length);
1009
104
  string = mxThis->value.string;
1010
104
  length = fxCacheUTF8Length(the, string);
1011
104
  searchString = mxArgv(0)->value.string;
1012
104
  searchLength = mxStringLength(searchString);
1013
104
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1014
104
  if (fx_String_prototype_includes_aux(the, string + offset, length - offset, searchString, searchLength))
1015
26
    mxResult->value.boolean = 1;
1016
104
}
1017
1018
txString fx_String_prototype_includes_aux(txMachine* the, txString string, txSize stringLength, txString searchString, txSize searchLength)
1019
1.43M
{
1020
1.43M
  if (stringLength >= searchLength) {
1021
1.14M
    txString result = string;
1022
1.14M
    txString limit = string + stringLength - searchLength;
1023
260M
    while (result <= limit) {
1024
259M
      txU1 c;
1025
259M
      txU1* p = (txU1*)result;
1026
259M
      txU1* q = (txU1*)searchString;
1027
259M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1028
359k
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1029
359k
        p++;
1030
359k
        q++;
1031
359k
      }
1032
259M
      if (c)
1033
259M
        result++;
1034
762
      else
1035
762
        return result;
1036
259M
      mxCheckMetering();
1037
259M
    }
1038
1.14M
  }
1039
1.42M
  return C_NULL;
1040
1.43M
}
1041
1042
void fx_String_prototype_indexOf(txMachine* the)
1043
211k
{
1044
211k
  txString aString;
1045
211k
  txString aSubString;
1046
211k
  txInteger aLength;
1047
211k
  txInteger aSubLength;
1048
211k
  txInteger anOffset;
1049
211k
  txNumber aNumber;
1050
211k
  txInteger aLimit;
1051
  
1052
211k
  aString = fxCoerceToString(the, mxThis);
1053
211k
  if (mxArgc < 1) {
1054
1
    mxResult->value.integer = -1;
1055
1
    mxResult->kind = XS_INTEGER_KIND;
1056
1
    return;
1057
1
  }
1058
211k
  aSubString = fxToString(the, mxArgv(0));
1059
211k
  aString = mxThis->value.string;
1060
211k
  aLength = fxCacheUnicodeLength(the, aString);
1061
211k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1062
211k
  anOffset = 0;
1063
211k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1064
126k
    aNumber = fxToNumber(the, mxArgv(1));
1065
126k
    anOffset = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1066
1067
126k
    aString = mxThis->value.string;
1068
126k
    aSubString = mxArgv(0)->value.string;
1069
126k
  }
1070
211k
  if (anOffset + aSubLength <= aLength) {
1071
171k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset);
1072
171k
    aLimit = fxCacheUTF8Length(the, aString) - mxStringLength(aSubString);
1073
61.8M
    while (anOffset <= aLimit) {
1074
61.7M
      txU1 c;
1075
61.7M
      txU1* p = (txU1*)aString + anOffset;
1076
61.7M
      txU1* q = (txU1*)aSubString;
1077
73.4M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1078
11.7M
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1079
11.7M
        p++;
1080
11.7M
        q++;
1081
11.7M
      }
1082
61.7M
      if (c)
1083
61.6M
        anOffset++;
1084
40.0k
      else
1085
40.0k
        break;
1086
61.6M
      mxCheckMetering();
1087
61.6M
    }
1088
171k
    if (anOffset <= aLimit)
1089
40.0k
      anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1090
131k
    else
1091
131k
      anOffset = -1;
1092
171k
  }
1093
40.6k
  else
1094
40.6k
    anOffset = -1;
1095
211k
  mxResult->value.integer = anOffset;
1096
211k
  mxResult->kind = XS_INTEGER_KIND;
1097
211k
}
1098
1099
static txInteger fx_String_prototype_indexOf_aux(txMachine* the, txString theString, 
1100
    txInteger theLength, txInteger theOffset,
1101
    txString theSubString, txInteger theSubLength, txInteger* theOffsets)
1102
281k
{
1103
281k
  theOffsets[0] = theOffset;
1104
281k
  theOffsets[1] = theOffset + theSubLength;
1105
64.1M
  while (theOffsets[1] <= theLength) {
1106
64.1M
    txU1 c;
1107
64.1M
    txU1* p = (txU1*)theString + theOffsets[0];
1108
64.1M
    txU1* q = (txU1*)theSubString;
1109
64.4M
    while ((c = c_read8(q)) && (c_read8(p) == c)) {
1110
287k
      mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1111
287k
      p++;
1112
287k
      q++;
1113
287k
    }
1114
64.1M
    if (c) {
1115
63.8M
      theOffsets[0]++;
1116
63.8M
      theOffsets[1]++;
1117
63.8M
    }
1118
263k
    else
1119
263k
      return 1;
1120
64.1M
  }
1121
18.0k
  return 0;
1122
281k
}
1123
1124
void fx_String_prototype_isWellFormed(txMachine* the)
1125
56
{
1126
56
  txString p = fxCoerceToString(the, mxThis);
1127
56
  mxResult->kind = XS_BOOLEAN_KIND;
1128
56
  mxResult->value.boolean = 1;
1129
559
  while (c_read8(p)) {
1130
529
    txInteger c;
1131
529
    p = mxStringByteDecode(p, &c);
1132
529
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF)) {
1133
26
      mxResult->value.boolean = 0;
1134
26
      break;
1135
26
    }
1136
529
  }
1137
56
}
1138
1139
void fx_String_prototype_lastIndexOf(txMachine* the)
1140
195k
{
1141
195k
  txString aString;
1142
195k
  txString aSubString;
1143
195k
  txInteger aLength;
1144
195k
  txInteger aSubLength;
1145
195k
  txInteger anOffset;
1146
195k
  txNumber aNumber;
1147
1148
195k
  aString = fxCoerceToString(the, mxThis);
1149
195k
  if (mxArgc < 1) {
1150
9.27k
    mxResult->value.integer = -1;
1151
9.27k
    mxResult->kind = XS_INTEGER_KIND;
1152
9.27k
    return;
1153
9.27k
  }
1154
186k
  aSubString = fxToString(the, mxArgv(0));
1155
186k
  aString = mxThis->value.string;
1156
186k
  aLength = fxCacheUnicodeLength(the, aString);
1157
186k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1158
186k
  anOffset = aLength;
1159
186k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1160
1.25k
    aNumber = fxToNumber(the, mxArgv(1));
1161
1.25k
    anOffset = (c_isnan(aNumber)) ? aLength : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1162
1.25k
    anOffset += aSubLength;
1163
1.25k
    if (anOffset > aLength)
1164
1.08k
      anOffset = aLength;
1165
1166
1.25k
    aString = mxThis->value.string;
1167
1.25k
    aSubString = mxArgv(0)->value.string;
1168
1.25k
  }
1169
186k
  if (anOffset - aSubLength >= 0) {
1170
185k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset - aSubLength);
1171
970k
    while (anOffset >= 0) {
1172
965k
      txU1 c;
1173
965k
      txU1* p = (txU1*)aString + anOffset;
1174
965k
      txU1* q = (txU1*)aSubString;
1175
1.14M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1176
180k
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1177
180k
        p++;
1178
180k
        q++;
1179
180k
      }
1180
965k
      if (c)
1181
785k
        anOffset--;
1182
179k
      else
1183
179k
        break;
1184
785k
      mxCheckMetering();
1185
785k
    }    
1186
185k
    anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1187
185k
  }
1188
914
  else
1189
914
    anOffset = -1;
1190
186k
  mxResult->value.integer = anOffset;
1191
186k
  mxResult->kind = XS_INTEGER_KIND;
1192
186k
}
1193
1194
void fx_String_prototype_localeCompare(txMachine* the)
1195
234k
{
1196
234k
  txString aString;
1197
234k
  txString bString;
1198
1199
234k
  if (mxArgc < 1) {
1200
117k
    aString = fxCoerceToString(the, mxThis);
1201
117k
    bString = "undefined";
1202
117k
  }
1203
117k
  else {
1204
117k
    fxToString(the, mxArgv(0));
1205
117k
    aString = fxCoerceToString(the, mxThis);
1206
117k
    bString = mxArgv(0)->value.string;
1207
117k
  }
1208
234k
#ifdef mxMetering
1209
234k
  {
1210
234k
    txSize aLength = fxUnicodeLength(aString, C_NULL);
1211
234k
    txSize bLength = fxUnicodeLength(bString, C_NULL);
1212
234k
    if (aLength < bLength) {
1213
234k
      the->meterIndex += aLength * XS_STRING_METERING;
1214
234k
    }
1215
61
    else {
1216
61
      the->meterIndex += bLength * XS_STRING_METERING;
1217
61
    }
1218
234k
  }
1219
234k
#endif  
1220
234k
  mxResult->value.integer = fxUTF8Compare(aString, bString);
1221
234k
  mxResult->kind = XS_INTEGER_KIND;
1222
234k
}
1223
1224
void fx_String_prototype_match(txMachine* the)
1225
89.4k
{ 
1226
89.4k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_match), 0, 1))
1227
22.3k
    return;
1228
67.0k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_match), 0, 1);
1229
67.0k
}
1230
1231
void fx_String_prototype_matchAll(txMachine* the)
1232
6.45k
{ 
1233
6.45k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_matchAll), 1, 1))
1234
320
    return;
1235
6.13k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_matchAll), 1, 1);
1236
6.13k
}
1237
1238
void fx_String_prototype_normalize(txMachine* the)
1239
1.37M
{
1240
1.37M
  txFlag form;
1241
1.37M
  fxCoerceToString(the, mxThis);
1242
1.37M
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND))
1243
1.00M
    form = 2;
1244
365k
  else {
1245
365k
    txString string = fxToString(the, mxArgv(0));
1246
365k
    if (!c_strcmp(string, "NFC"))
1247
139k
      form = 2;
1248
226k
    else if (!c_strcmp(string, "NFD"))
1249
12
      form = 0;
1250
226k
    else if (!c_strcmp(string, "NFKC"))
1251
226k
      form = 3;
1252
26
    else if (!c_strcmp(string, "NFKD"))
1253
7
      form = 1;
1254
19
    else
1255
19
      mxRangeError("invalid form");
1256
365k
  }
1257
1.37M
  mxMeterSome(fxUnicodeLength(mxThis->value.string, C_NULL));
1258
1.37M
  mxResult->value.string = mxThis->value.string;
1259
1.37M
  mxResult->kind = mxThis->kind;
1260
1.37M
#ifdef mxStringNormalize
1261
1.37M
  fxNormalizeString(the, mxResult, form);
1262
#else 
1263
  {
1264
    txInteger max = 0;
1265
    txString string = mxResult->value.string;
1266
    for (;;) {
1267
      txInteger c;
1268
      string = mxStringByteDecode(string, &c);
1269
      if (c == C_EOF)
1270
        break;
1271
      if (max < c)
1272
        max = c;
1273
    }
1274
    if (max < 128) {
1275
    }
1276
    else if ((max < 256) && (form == 2)) {
1277
    }
1278
    else {
1279
      mxRangeError("not built-in");
1280
    }
1281
  }
1282
#endif
1283
1.37M
}
1284
1285
void fx_String_prototype_pad(txMachine* the, txBoolean flag)
1286
132k
{
1287
132k
  txString string = fxCoerceToString(the, mxThis), filler;
1288
132k
  txInteger stringLength = mxStringLength(string), fillerLength;
1289
132k
  txInteger stringSize = fxUnicodeLength(string, C_NULL), fillerSize;
1290
132k
  txInteger resultSize = (txInteger)fxArgToRange(the, 0, 0, 0, 0x7FFFFFFF);
1291
132k
  *mxResult = *mxThis;
1292
132k
  if (resultSize > stringSize) {
1293
101
    if ((mxArgc <= 1) || (mxIsUndefined(mxArgv(1))))
1294
10
      mxPushStringX(" ");
1295
91
    else
1296
91
      mxPushSlot(mxArgv(1));
1297
101
    filler = fxToString(the, the->stack);
1298
101
    fillerSize = fxUnicodeLength(filler, &fillerLength);
1299
101
    if (fillerSize > 0) {
1300
97
      txInteger delta = resultSize - stringSize;
1301
97
      txInteger count = delta / fillerSize;
1302
97
      txInteger rest = fxUnicodeToUTF8Offset(filler, delta % fillerSize);
1303
97
      txString result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxAddChunkSizes(the, stringLength, fxMultiplyChunkSizes(the, fillerLength, count)), rest + 1));
1304
97
      mxResult->kind = XS_STRING_KIND;
1305
97
      string = fxToString(the, mxThis);
1306
97
      filler = fxToString(the, the->stack);
1307
97
      if (flag) {
1308
23
        c_memcpy(result, string, stringLength);
1309
23
        result += stringLength;
1310
23
      }
1311
97
      mxMeterSome(count);
1312
465k
      while (count) {
1313
465k
        c_memcpy(result, filler, fillerLength);
1314
465k
        count--;
1315
465k
        result += fillerLength;
1316
465k
      }
1317
97
      if (rest) {
1318
26
        mxMeterSome(1);
1319
26
        c_memcpy(result, filler, rest);
1320
26
        result += rest;
1321
26
      }
1322
97
      if (!flag) {
1323
72
        c_memcpy(result, string, stringLength);
1324
72
        result += stringLength;
1325
72
      }
1326
97
      *result = 0;
1327
97
    }
1328
101
    mxPop();
1329
101
  }
1330
132k
}
1331
1332
void fx_String_prototype_padEnd(txMachine* the)
1333
132k
{
1334
132k
  fx_String_prototype_pad(the, 1);
1335
132k
}
1336
1337
void fx_String_prototype_padStart(txMachine* the)
1338
187
{
1339
187
  fx_String_prototype_pad(the, 0);
1340
187
}
1341
1342
void fx_String_prototype_repeat(txMachine* the)
1343
41.8k
{
1344
41.8k
  txString string = fxCoerceToString(the, mxThis), result;
1345
41.8k
  txInteger length = mxStringLength(string);
1346
41.8k
  txInteger count = 0;
1347
41.8k
  txSlot *arg = mxArgv(0);
1348
41.8k
  if ((mxArgc > 0) && (arg->kind != XS_UNDEFINED_KIND)) {
1349
15.0k
    if (XS_INTEGER_KIND == arg->kind) {
1350
69
      count = arg->value.integer;
1351
69
      if (count < 0)
1352
6
        mxRangeError("count < 0");
1353
69
    }
1354
14.9k
    else {
1355
14.9k
      txNumber value = c_trunc(fxToNumber(the, arg));
1356
14.9k
      if (c_isnan(value))
1357
3.96k
        count = 0;
1358
10.9k
      else {
1359
10.9k
        if (value < 0)
1360
757
          mxRangeError("count < 0");
1361
10.2k
        if (0x7FFFFFFF < value)
1362
9.76k
          mxRangeError("count too big");
1363
454
        count = (txInteger)value;
1364
454
      }
1365
14.9k
    }
1366
15.0k
  }
1367
31.3k
  mxMeterSome(count);
1368
31.3k
  result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxMultiplyChunkSizes(the, length, count), 1));
1369
31.3k
  mxResult->kind = XS_STRING_KIND;
1370
31.3k
  string = fxToString(the, mxThis);
1371
31.3k
  if (length) {
1372
47.6M
    while (count) {
1373
47.6M
      c_memcpy(result, string, length);
1374
47.6M
      count--;
1375
47.6M
      result += length;
1376
47.6M
    }
1377
30.7k
  }
1378
31.3k
  *result = 0;
1379
31.3k
}
1380
1381
void fx_String_prototype_replace(txMachine* the)
1382
785k
{
1383
785k
  txString string;
1384
785k
  txSlot* match;
1385
785k
  txSize size;
1386
785k
  txSize matchLength;
1387
785k
  txSlot* function;
1388
785k
  txSlot* replace;
1389
1390
785k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 0, 2))
1391
118k
    return;
1392
666k
  fxToString(the, mxThis);
1393
666k
  if (mxArgc <= 0)
1394
665k
    mxPushUndefined();
1395
241
  else
1396
241
    mxPushSlot(mxArgv(0));
1397
666k
  match = the->stack;
1398
666k
  fxToString(the, match);
1399
666k
  if (mxArgc <= 1)
1400
665k
    mxPushUndefined();
1401
164
  else
1402
164
    mxPushSlot(mxArgv(1));
1403
666k
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1404
5
    function = the->stack;
1405
5
    replace = C_NULL;
1406
5
  }
1407
666k
  else {   
1408
666k
    replace = the->stack;
1409
666k
    fxToString(the, replace);
1410
666k
    function = C_NULL;
1411
666k
  }
1412
666k
  size = mxStringLength(mxThis->value.string);
1413
666k
  matchLength = mxStringLength(match->value.string);
1414
666k
  string = fx_String_prototype_includes_aux(the, mxThis->value.string, size, match->value.string, matchLength);
1415
666k
  if (string) {
1416
99
    txSize offset = mxPtrDiff(string - mxThis->value.string);
1417
99
    txSize replaceLength;
1418
99
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1419
99
    replaceLength = mxStringLength(the->stack->value.string);
1420
99
    mxResult->value.string = (txString)fxNewChunk(the, size - matchLength + replaceLength + 1);
1421
99
    c_memcpy(mxResult->value.string, mxThis->value.string, offset);
1422
99
    c_memcpy(mxResult->value.string + offset, the->stack->value.string, replaceLength);
1423
99
    c_memcpy(mxResult->value.string + offset + replaceLength, mxThis->value.string + offset + matchLength, size - (offset + matchLength));
1424
99
    mxResult->value.string[size - matchLength + replaceLength] = 0;
1425
99
    mxResult->kind = XS_STRING_KIND;
1426
99
    mxPop();
1427
99
  }
1428
666k
  else
1429
666k
    *mxResult = *mxThis;
1430
666k
  mxPop();
1431
666k
  mxPop();
1432
666k
}
1433
1434
void fx_String_prototype_replaceAll(txMachine* the)
1435
813k
{
1436
813k
  txSlot* match;
1437
813k
  txSlot* function;
1438
813k
  txSlot* replace;
1439
813k
  txInteger size;
1440
813k
  txInteger matchLength;
1441
813k
  txInteger resultSize = 0;
1442
813k
  txSlot* list;
1443
813k
  txSlot* item;
1444
813k
  txInteger offset = 0;
1445
813k
  txBoolean flag = 0;
1446
1447
813k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 1, 2))
1448
62
    return;
1449
813k
  fxToString(the, mxThis);
1450
813k
  if (mxArgc <= 0)
1451
10
    mxPushUndefined();
1452
813k
  else
1453
813k
    mxPushSlot(mxArgv(0));
1454
813k
  match = the->stack;
1455
813k
  fxToString(the, match);
1456
813k
  if (mxArgc <= 1)
1457
573k
    mxPushUndefined();
1458
240k
  else
1459
240k
    mxPushSlot(mxArgv(1));
1460
813k
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1461
240k
    function = the->stack;
1462
240k
    replace = C_NULL;
1463
240k
  }
1464
573k
  else {   
1465
573k
    replace = the->stack;
1466
573k
    fxToString(the, replace);
1467
573k
    function = C_NULL;
1468
573k
  }
1469
813k
  size = mxStringLength(mxThis->value.string);
1470
813k
  matchLength = mxStringLength(match->value.string);
1471
  
1472
813k
  list = item = fxNewInstance(the);
1473
813k
  mxPushSlot(list);
1474
  
1475
813k
  if (!matchLength) {
1476
49.6k
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1477
49.6k
    item = item->next = fxNewSlot(the);
1478
49.6k
    mxPullSlot(item);
1479
49.6k
    item->value.key.sum = mxStringLength(item->value.string);
1480
49.6k
    resultSize += item->value.key.sum;
1481
49.6k
    flag = 1;
1482
49.6k
  }
1483
1.92M
  while (offset < size) {
1484
1.11M
    txInteger current;
1485
1.11M
    if (!matchLength) {
1486
347k
      current = offset + fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
1487
347k
    }
1488
764k
    else {
1489
764k
      txString string = fx_String_prototype_includes_aux(the, mxThis->value.string + offset, size - offset, match->value.string, matchLength);
1490
764k
            if (string)
1491
637
        current = mxPtrDiff(string - mxThis->value.string);
1492
763k
      else
1493
763k
        current = size;
1494
764k
    }
1495
1.11M
    if (offset < current) {
1496
1.11M
      txInteger length = current - offset;
1497
1.11M
      item = item->next = fxNewSlot(the);
1498
1.11M
      item->value.dataView.offset = offset;
1499
1.11M
      item->value.dataView.size = length;
1500
1.11M
      item->kind = XS_DATA_VIEW_KIND;
1501
1.11M
      resultSize += length;
1502
1.11M
    }
1503
1.11M
    if ((!matchLength) || (current < size)) {
1504
348k
      fx_String_prototype_replaceAux(the, size, current, function, match, matchLength, replace);
1505
348k
      item = item->next = fxNewSlot(the);
1506
348k
            mxPullSlot(item);
1507
348k
      item->value.key.sum = mxStringLength(item->value.string);
1508
348k
      resultSize += item->value.key.sum;
1509
348k
      flag = 1;
1510
348k
    }
1511
1.11M
    offset = current + matchLength;
1512
1.11M
  }    
1513
813k
  if (flag) {
1514
49.7k
    resultSize++;
1515
49.7k
    mxResult->value.string = (txString)fxNewChunk(the, resultSize);
1516
49.7k
    offset = 0;
1517
49.7k
    item = list->next;
1518
795k
    while (item) {
1519
745k
      if (item->kind == XS_DATA_VIEW_KIND) {
1520
347k
        c_memcpy(mxResult->value.string + offset, mxThis->value.string + item->value.dataView.offset, item->value.dataView.size);
1521
347k
        offset += item->value.dataView.size;
1522
347k
      }
1523
397k
      else {
1524
397k
        c_memcpy(mxResult->value.string + offset, item->value.string, item->value.key.sum);
1525
397k
        offset += item->value.key.sum;
1526
397k
      }
1527
745k
      item = item->next;
1528
745k
    }
1529
49.7k
    mxResult->value.string[offset] = 0;
1530
49.7k
    mxResult->kind = XS_STRING_KIND;
1531
49.7k
  }
1532
763k
  else {
1533
763k
    mxResult->value = mxThis->value;
1534
763k
    mxResult->kind = mxThis->kind;
1535
763k
  }
1536
  
1537
813k
  mxPop();
1538
  
1539
813k
  mxPop();
1540
813k
  mxPop();
1541
813k
}
1542
1543
void fx_String_prototype_replaceAux(txMachine* the, txInteger size, txInteger offset, txSlot* function, txSlot* match, txInteger matchLength, txSlot* replace)
1544
397k
{
1545
397k
  if (function) {
1546
397k
    mxPushUndefined();
1547
397k
    mxPushSlot(function);
1548
397k
    mxCall();
1549
397k
    mxPushSlot(match);
1550
397k
    mxPushInteger(fxUTF8ToUnicodeOffset(mxThis->value.string, offset));
1551
397k
    mxPushSlot(mxThis);
1552
397k
    mxRunCount(3);
1553
397k
    fxToString(the, the->stack);
1554
397k
  }
1555
751
  else
1556
751
    fxPushSubstitutionString(the, mxThis, size, offset, match, matchLength, 0, C_NULL, C_NULL, replace);
1557
397k
}
1558
1559
void fx_String_prototype_search(txMachine* the)
1560
928
{
1561
928
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_search), 0, 1))
1562
41
    return;
1563
887
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_search), 0, 1);
1564
887
}
1565
1566
void fx_String_prototype_slice(txMachine* the)
1567
50.5k
{
1568
50.5k
  txString string = fxCoerceToString(the, mxThis);
1569
50.5k
  txInteger length = fxCacheUnicodeLength(the, string);
1570
50.5k
  txNumber start = fxArgToIndex(the, 0, 0, length);
1571
50.5k
  txNumber end = fxArgToIndex(the, 1, length, length);
1572
50.5k
  if (start < end) {
1573
17.0k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)start);
1574
17.0k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, (txInteger)(end - start));
1575
17.0k
    if ((offset >= 0) && (length > 0)) {
1576
17.0k
      mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1577
17.0k
      c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1578
17.0k
      mxResult->value.string[length] = 0;
1579
17.0k
      mxResult->kind = XS_STRING_KIND;
1580
17.0k
      return;
1581
17.0k
    }
1582
17.0k
  }
1583
33.4k
  mxResult->value.string = mxEmptyString.value.string;
1584
33.4k
  mxResult->kind = mxEmptyString.kind;
1585
33.4k
}
1586
1587
void fx_String_prototype_split(txMachine* the)
1588
792k
{
1589
792k
  txString aString;
1590
792k
  txInteger aLength;
1591
792k
  txIndex aLimit;
1592
792k
  txSlot* anArray;
1593
792k
  txSlot* anItem;
1594
792k
  txInteger anOffset;
1595
792k
  txInteger aCount;
1596
792k
  txString aSubString;
1597
792k
  txInteger aSubLength;
1598
792k
  txInteger aSubOffset;
1599
792k
  txInteger subOffsets[2];
1600
1601
792k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_split), 0, 2))
1602
65.4k
    return;
1603
726k
  aString = fxToString(the, mxThis);
1604
726k
  aLength = mxStringLength(aString);
1605
726k
  aLimit = ((mxArgc > 1) && (!mxIsUndefined(mxArgv(1)))) ? (txIndex)fxToUnsigned(the, mxArgv(1)) : 0xFFFFFFFF;
1606
726k
  mxPush(mxArrayPrototype);
1607
726k
  anArray = fxNewArrayInstance(the);
1608
726k
  mxPullSlot(mxResult);
1609
726k
  fxGetInstance(the, mxResult);
1610
726k
  anItem = fxLastProperty(the, anArray);
1611
726k
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND)) {
1612
839
    if (!aLimit)
1613
57
      goto bail;
1614
782
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, aLength);
1615
782
    goto bail;
1616
839
  }
1617
726k
  aSubString = fxToString(the, mxArgv(0));
1618
726k
  aSubLength = mxStringLength(aSubString);
1619
726k
  if (!aLimit)
1620
1.18k
    goto bail;
1621
724k
  if (aSubLength == 0) {
1622
704k
    anOffset = 0;
1623
32.4M
    while (anOffset < aLength) {
1624
31.7M
      aSubOffset = anOffset + fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
1625
31.7M
      anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aSubOffset);
1626
31.7M
      if (anArray->next->value.array.length >= aLimit)
1627
0
        goto bail;
1628
31.7M
      anOffset = aSubOffset;
1629
31.7M
    }
1630
704k
  }
1631
20.2k
  else if (aLength == 0) {
1632
555
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, 0);
1633
555
  }
1634
19.7k
  else {
1635
19.7k
    anOffset = 0;
1636
281k
    for (;;) {
1637
281k
      aCount = fx_String_prototype_indexOf_aux(the, mxThis->value.string, aLength, anOffset, mxArgv(0)->value.string, aSubLength, subOffsets);
1638
281k
      if (aCount <= 0)
1639
18.0k
        break;
1640
263k
      if (anOffset <= subOffsets[0]) {
1641
263k
        anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, subOffsets[0]);
1642
263k
        if (anArray->next->value.array.length >= aLimit)
1643
1.36k
          goto bail;
1644
263k
      }
1645
261k
      anOffset = subOffsets[1];
1646
261k
    }
1647
18.3k
    if (anOffset <= aLength)
1648
18.0k
      fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aLength);
1649
18.3k
  }
1650
726k
bail:
1651
726k
  fxCacheArray(the, anArray);
1652
726k
}
1653
1654
txSlot* fx_String_prototype_split_aux(txMachine* the, txSlot* theString, txSlot* theArray, txSlot* theItem, txInteger theStart, txInteger theStop)
1655
32.0M
{
1656
32.0M
  theStop -= theStart;
1657
32.0M
  theItem->next = fxNewSlot(the);
1658
32.0M
  theItem = theItem->next;
1659
32.0M
  theItem->next = C_NULL;
1660
32.0M
  if (theStart >= 0) {
1661
32.0M
    theItem->value.string = (txString)fxNewChunk(the, theStop + 1);
1662
32.0M
    c_memcpy(theItem->value.string, theString->value.string + theStart, theStop);
1663
32.0M
    theItem->value.string[theStop] = 0;
1664
32.0M
    theItem->kind = XS_STRING_KIND;
1665
32.0M
  }
1666
32.0M
  theArray->next->value.array.length++;
1667
32.0M
  return theItem;
1668
32.0M
}
1669
1670
void fx_String_prototype_startsWith(txMachine* the)
1671
228
{
1672
228
  txString string = fxCoerceToString(the, mxThis);
1673
228
  txInteger length = fxCacheUnicodeLength(the, string);
1674
228
  txString searchString;
1675
228
  txInteger searchLength;
1676
228
  txInteger offset;
1677
228
  mxResult->kind = XS_BOOLEAN_KIND;
1678
228
  mxResult->value.boolean = 0;
1679
228
  if (mxArgc < 1)
1680
1
    return;
1681
227
  if (fxIsRegExp(the, mxArgv(0)))
1682
1
    mxTypeError("future editions");
1683
226
  searchString = fxToString(the, mxArgv(0));
1684
226
  offset = fxArgToPosition(the, 1, 0, length);
1685
226
  string = mxThis->value.string;
1686
226
  length = fxCacheUTF8Length(the, string);
1687
226
  searchString = mxArgv(0)->value.string;
1688
226
  searchLength = mxStringLength(searchString);
1689
226
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1690
226
  if (length - offset < searchLength)
1691
111
    return;
1692
115
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
1693
115
  if (!c_strncmp(string + offset, searchString, searchLength))
1694
26
    mxResult->value.boolean = 1;
1695
115
}
1696
1697
void fx_String_prototype_substr(txMachine* the)
1698
926k
{
1699
926k
  txString string = fxCoerceToString(the, mxThis);
1700
926k
  txInteger size = fxCacheUnicodeLength(the, string);
1701
926k
  txInteger start = fxArgToIndexInteger(the, 0, 0, size);
1702
926k
  txInteger stop = size;
1703
926k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1704
920k
    stop = start + fxToInteger(the, mxArgv(1));
1705
920k
    if (stop > size)
1706
759k
      stop = size;
1707
920k
  }  
1708
926k
  if (start < stop) {
1709
6.51k
    txInteger length;
1710
6.51k
    start = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, start);
1711
6.51k
    stop = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, stop);
1712
6.51k
    length = stop - start;
1713
6.51k
    mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1714
6.51k
    c_memcpy(mxResult->value.string, mxThis->value.string + start, length);
1715
6.51k
    mxResult->value.string[length] = 0;
1716
6.51k
    mxResult->kind = XS_STRING_KIND;
1717
6.51k
  }
1718
920k
  else {
1719
920k
    mxResult->value.string = mxEmptyString.value.string;
1720
920k
    mxResult->kind = mxEmptyString.kind;
1721
920k
  }
1722
926k
}
1723
1724
void fx_String_prototype_substring(txMachine* the)
1725
76.5k
{
1726
76.5k
  txString aString;
1727
76.5k
  txInteger aLength;
1728
76.5k
  txNumber aNumber;
1729
76.5k
  txInteger aStart;
1730
76.5k
  txInteger aStop;
1731
76.5k
  txInteger anOffset;
1732
1733
76.5k
  aString = fxCoerceToString(the, mxThis);
1734
76.5k
  aLength = fxCacheUnicodeLength(the, aString);
1735
76.5k
  aStart = 0;
1736
76.5k
  aStop = aLength;
1737
76.5k
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
1738
76.5k
    aNumber = fxToNumber(the, mxArgv(0));
1739
76.5k
    aStart = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1740
76.5k
  }
1741
76.5k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1742
21
    aNumber = fxToNumber(the, mxArgv(1));
1743
21
    aStop = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1744
21
  }
1745
76.5k
  if (aStart > aStop) {
1746
1
    aLength = aStart;
1747
1
    aStart = aStop;
1748
1
    aStop = aLength;
1749
1
  }
1750
76.5k
  if (aStart < aStop) {
1751
17
    anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, aStart);
1752
17
    aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, aStop - aStart);
1753
17
    if ((anOffset >= 0) && (aLength > 0)) {
1754
17
      mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
1755
17
      c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
1756
17
      mxResult->value.string[aLength] = 0;
1757
17
      mxResult->kind = XS_STRING_KIND;
1758
17
    }
1759
0
    else {
1760
0
      mxResult->value.string = mxEmptyString.value.string;
1761
0
      mxResult->kind = mxEmptyString.kind;
1762
0
    }
1763
17
  }
1764
76.5k
  else {
1765
76.5k
    mxResult->value.string = mxEmptyString.value.string;
1766
76.5k
    mxResult->kind = mxEmptyString.kind;
1767
76.5k
  }
1768
76.5k
}
1769
1770
void fx_String_prototype_toLowerCase(txMachine* the)
1771
203
{
1772
203
  fxCoerceToString(the, mxThis);
1773
203
  fx_String_prototype_toCase(the, 0);
1774
203
}
1775
1776
void fx_String_prototype_toUpperCase(txMachine* the)
1777
229
{
1778
229
  fxCoerceToString(the, mxThis);
1779
229
  fx_String_prototype_toCase(the, 1);
1780
229
}
1781
1782
void fx_String_prototype_toWellFormed(txMachine* the)
1783
68
{
1784
68
  txString string = fxCoerceToString(the, mxThis);
1785
68
  txSize length = mxStringLength(string);
1786
68
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1787
68
  mxResult->kind = XS_STRING_KIND;
1788
68
  txString p = mxThis->value.string;
1789
68
  txString q = mxResult->value.string;
1790
517
  while (c_read8(p)) {
1791
449
    txInteger c;
1792
449
    p = mxStringByteDecode(p, &c);
1793
449
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF))
1794
40
      c = 0x0000FFFD;
1795
449
    q = mxStringByteEncode(q, c);
1796
449
  }
1797
68
  *q = 0;
1798
68
}
1799
1800
void fx_String_prototype_trim(txMachine* the)
1801
28
{
1802
28
  fx_String_prototype_trimAux(the, 1, 1);
1803
28
}
1804
1805
void fx_String_prototype_trimAux(txMachine* the, txBoolean trimStart, txBoolean trimEnd)
1806
52
{
1807
52
  txString string = fxCoerceToString(the, mxThis), start;
1808
52
  txInteger offset, length, trimmed = 0;
1809
52
  if (trimStart) {
1810
37
    start = fxSkipSpaces(string);
1811
37
    offset = mxPtrDiff(start - string);
1812
37
    mxMeterSome(offset);
1813
37
    trimmed = offset > 0;
1814
37
  }
1815
15
  else {
1816
15
    start = string;
1817
15
    offset = 0;
1818
15
  }
1819
52
  if (trimEnd) {
1820
37
    txString end = start;
1821
37
    txString current = fxSkipSpaces(end);
1822
639
    while (c_read8(current)) {
1823
602
      end = current + 1;
1824
602
      current = fxSkipSpaces(end);
1825
602
    }
1826
37
    length = mxPtrDiff(end - start);
1827
37
    mxMeterSome(length);
1828
37
    trimmed = trimmed || (end < current);
1829
37
  }
1830
15
  else
1831
15
    length = mxStringLength(start);
1832
52
  if (trimmed) {
1833
10
    mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1834
10
    c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1835
10
    mxResult->value.string[length] = 0;
1836
10
    mxResult->kind = XS_STRING_KIND;
1837
10
  }
1838
42
  else {
1839
42
    mxResult->value.string = mxThis->value.string;
1840
42
    mxResult->kind = mxThis->kind;
1841
42
  }
1842
52
}
1843
1844
void fx_String_prototype_trimEnd(txMachine* the)
1845
11
{
1846
11
  fx_String_prototype_trimAux(the, 0, 1);
1847
11
}
1848
1849
void fx_String_prototype_trimStart(txMachine* the)
1850
13
{
1851
13
  fx_String_prototype_trimAux(the, 1, 0);
1852
13
}
1853
1854
void fx_String_prototype_valueOf(txMachine* the)
1855
288k
{
1856
288k
  txSlot* slot = fxCheckString(the, mxThis);
1857
288k
  if (!slot) mxTypeError("this: not a string");
1858
287k
  mxResult->kind = slot->kind;
1859
287k
  mxResult->value = slot->value;
1860
287k
}
1861
1862
txBoolean fx_String_prototype_withRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1863
2.48M
{
1864
2.48M
  if (mxIsUndefined(mxThis))
1865
1.32k
    mxTypeError("this: undefined");
1866
2.48M
  if (mxIsNull(mxThis))
1867
1
    mxTypeError("this: null");
1868
2.48M
  if (mxArgc > 0) {
1869
1.81M
    txSlot* regexp = mxArgv(0);
1870
1.81M
    if (mxIsReference(regexp)) {
1871
953k
      if (global && fxIsRegExp(the, regexp)) {
1872
402
        mxPushSlot(regexp);
1873
402
        mxGetID(mxID(_flags));
1874
402
        if (!c_strchr(fxToString(the, the->stack), 'g'))
1875
12
          mxTypeError("regexp has no g flag");
1876
390
        mxPop();
1877
390
      }
1878
953k
      mxPushSlot(regexp);
1879
953k
      mxPushSlot(regexp);
1880
953k
      mxGetID(id);
1881
953k
      if (!mxIsUndefined(the->stack) && !mxIsNull(the->stack)) {
1882
207k
        mxCall();
1883
207k
        mxPushSlot(mxThis);
1884
207k
        if (count > 1) {
1885
184k
          if (mxArgc > 1)
1886
119k
            mxPushSlot(mxArgv(1));
1887
65.4k
          else
1888
65.4k
            mxPushUndefined();
1889
184k
        }
1890
207k
        mxRunCount(count);
1891
207k
        mxPullSlot(mxResult);
1892
207k
        return 1;
1893
207k
      }
1894
745k
      mxPop();
1895
745k
      mxPop();
1896
745k
    }
1897
1.81M
  }
1898
2.27M
  return 0;
1899
2.48M
}
1900
1901
void fx_String_prototype_withoutRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1902
72.7k
{
1903
72.7k
  fxToString(the, mxThis);
1904
72.7k
  mxPush(mxRegExpPrototype);
1905
72.7k
  fxNewRegExpInstance(the);
1906
72.7k
  mxPush(mxInitializeRegExpFunction);
1907
72.7k
  mxCall();
1908
72.7k
  if (mxArgc > 0)
1909
70.8k
    mxPushSlot(mxArgv(0));
1910
1.95k
  else
1911
1.95k
    mxPushUndefined();
1912
72.7k
  if (global)
1913
6.12k
    mxPushStringX("g");
1914
66.6k
  else
1915
66.6k
    mxPushUndefined();
1916
72.7k
  mxRunCount(2);
1917
72.7k
  mxDub();
1918
72.7k
  mxGetID(id);
1919
72.7k
  mxCall();
1920
72.7k
  mxPushSlot(mxThis);
1921
72.7k
  if (count > 1) {
1922
0
    if (mxArgc > 1)
1923
0
      mxPushSlot(mxArgv(1));
1924
0
    else
1925
0
      mxPushUndefined();
1926
0
  }
1927
72.7k
  mxRunCount(count);
1928
72.7k
  mxPullSlot(mxResult);
1929
72.7k
}
1930
1931
txSlot* fxCheckString(txMachine* the, txSlot* it)
1932
288k
{
1933
288k
  txSlot* result = C_NULL;
1934
288k
  if ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND))
1935
74
    result = it;
1936
287k
  else if (it->kind == XS_REFERENCE_KIND) {
1937
287k
    it = it->value.reference->next;
1938
287k
    if (it && (it->flag & XS_INTERNAL_FLAG) && ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND)))
1939
287k
      result = it;
1940
287k
  }
1941
288k
  return result;
1942
288k
}
1943
1944
txString fxCoerceToString(txMachine* the, txSlot* theSlot)
1945
3.93M
{
1946
3.93M
  if (theSlot->kind == XS_UNDEFINED_KIND)
1947
105k
    mxTypeError("this: undefined");
1948
3.83M
  if (theSlot->kind == XS_NULL_KIND)
1949
25
    mxTypeError("this: null");
1950
3.83M
  return fxToString(the, theSlot);
1951
3.83M
}
1952
1953
void fx_String_prototype_iterator(txMachine* the)
1954
416k
{
1955
416k
  txSlot* property;
1956
416k
  fxCoerceToString(the, mxThis);
1957
416k
  mxPush(mxStringIteratorPrototype);
1958
416k
  property = fxLastProperty(the, fxNewIteratorInstance(the, mxThis, mxID(_String)));
1959
416k
  property = fxNextIntegerProperty(the, property, (txInteger)c_strlen(mxThis->value.string), XS_NO_ID, XS_INTERNAL_FLAG);
1960
416k
  mxPullSlot(mxResult);
1961
416k
}
1962
1963
void fx_String_prototype_iterator_next(txMachine* the)
1964
5.84M
{
1965
5.84M
  txSlot* iterator = fxCheckIteratorInstance(the, mxThis, mxID(_String));
1966
5.84M
  txSlot* result = iterator->next;
1967
5.84M
  txSlot* iterable = result->next;
1968
5.84M
  txSlot* index = iterable->next;
1969
5.84M
  txSlot* length = index->next;
1970
5.84M
  txSlot* value = fxCheckIteratorResult(the, result);
1971
5.84M
  txSlot* done = value->next;
1972
5.84M
  if (index->value.integer < length->value.integer) {
1973
5.42M
    txInteger character, size;
1974
5.42M
    txString string = mxStringByteDecode(iterable->value.string + index->value.integer, &character);
1975
5.42M
    index->value.integer = mxPtrDiff(string - iterable->value.string);
1976
5.42M
    size = mxStringByteLength(character);
1977
5.42M
    value->value.string = (txString)fxNewChunk(the, size + 1);
1978
5.42M
    string = mxStringByteEncode(value->value.string, character);
1979
5.42M
    *string = 0;
1980
5.42M
    value->kind = XS_STRING_KIND;
1981
5.42M
  }
1982
416k
  else {
1983
416k
    value->kind = XS_UNDEFINED_KIND;
1984
416k
    done->value.boolean = 1;
1985
416k
  }
1986
5.84M
  mxResult->kind = result->kind;
1987
5.84M
  mxResult->value = result->value;
1988
5.84M
}
1989
1990
txInteger fxArgToPosition(txMachine* the, txInteger argi, txInteger index, txInteger length)
1991
2.55k
{
1992
2.55k
  if ((mxArgc > argi) && (mxArgv(argi)->kind != XS_UNDEFINED_KIND)) {
1993
256
    txNumber i = c_trunc(fxToNumber(the, mxArgv(argi)));
1994
256
    if (c_isnan(i))
1995
32
      i = 0;
1996
256
    if (i < 0)
1997
25
      index = 0;
1998
231
    else if (i > (txNumber)length)
1999
23
      index = length;
2000
208
    else
2001
208
      index = (txInteger)i;
2002
256
  }
2003
2.55k
  return index;
2004
2.55k
}
2005
2006
void fxPushSubstitutionString(txMachine* the, txSlot* string, txInteger size, txInteger offset, txSlot* match, txInteger length, txInteger count, txSlot* captures, txSlot* groups, txSlot* replace)
2007
2.15M
{
2008
2.15M
  txString r;
2009
2.15M
  txInteger m;
2010
2.15M
  txInteger l;
2011
2.15M
  txBoolean flag;
2012
2.15M
  txByte c, d;
2013
2.15M
  txInteger i, j;
2014
2.15M
  txSlot* capture;
2015
2.15M
  txString s;
2016
2.15M
  r = replace->value.string;
2017
2.15M
  m = 0;
2018
2.15M
  l = 0;
2019
2.15M
  flag = 0;
2020
169M
  while ((c = c_read8(r++))) {
2021
167M
    if (m <= l)
2022
167M
      m = l;
2023
1
    else
2024
1
      fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
2025
167M
    if (c == '$') {
2026
132M
      c = c_read8(r++);
2027
132M
      switch (c) {
2028
84.1k
      case '$':
2029
84.1k
        l++;
2030
84.1k
        flag = 1;
2031
84.1k
        break;
2032
367
      case '&':
2033
367
        l += length;
2034
367
        flag = 1;
2035
367
        break;
2036
2.86k
      case '`':
2037
2.86k
        l += offset;
2038
2.86k
        flag = 1;
2039
2.86k
        break;
2040
2.05k
      case '\'':
2041
2.05k
        l += size - (offset + length);
2042
2.05k
        flag = 1;
2043
2.05k
        break;
2044
76.7k
      case '<':
2045
76.7k
        if (groups && mxIsReference(groups)) {
2046
2.65k
          txString t = r;
2047
52.1k
          while ((d = c_read8(r))) {
2048
50.9k
            if (d == '>')
2049
1.45k
              break;
2050
49.5k
            r++;
2051
49.5k
          }
2052
2.65k
          if (d) {
2053
1.45k
            txInteger n = mxPtrDiff(r - t);
2054
1.45k
            txID name;
2055
1.45k
            if (n > 255)
2056
1
              fxJump(the);
2057
1.45k
            c_memcpy(the->nameBuffer, t, n);
2058
1.45k
            the->nameBuffer[n] = 0;
2059
1.45k
            name = fxFindName(the, the->nameBuffer);
2060
1.45k
            if (name) {
2061
188
              mxPushSlot(groups);
2062
188
              mxGetID(name);
2063
188
              if (!mxIsUndefined(the->stack)) {
2064
99
                fxToString(the, the->stack);
2065
99
                l = fxAddChunkSizes(the, l, mxStringLength(the->stack->value.string));
2066
99
              }
2067
188
              mxPop();
2068
188
            }
2069
1.45k
            r++;
2070
1.45k
            flag = 1;
2071
1.45k
          }
2072
1.19k
          else {
2073
1.19k
            r = t;
2074
1.19k
            l += 2;
2075
1.19k
          }
2076
2.65k
        }
2077
74.0k
        else {
2078
74.0k
          l += 2;
2079
74.0k
        }
2080
76.6k
        break;
2081
132M
      default:
2082
132M
        if (('0' <= c) && (c <= '9')) {
2083
132M
          i = c - '0';
2084
132M
          d = c_read8(r);
2085
132M
          if (('0' <= d) && (d <= '9')) {
2086
29.5k
            j = (i * 10) + d - '0';
2087
29.5k
            if ((0 < j) && (j <= count)) {
2088
744
              i = j;
2089
744
              r++;
2090
744
            }
2091
28.7k
            else
2092
28.7k
              d = 0;
2093
29.5k
          }
2094
132M
          else
2095
132M
            d = 0;
2096
132M
          if ((0 < i) && (i <= count)) {
2097
223k
            capture = (captures + count - i);
2098
223k
            if (capture->kind != XS_UNDEFINED_KIND)
2099
222k
              l = fxAddChunkSizes(the, l, mxStringLength(capture->value.string));
2100
223k
            flag = 1;
2101
223k
          }
2102
132M
          else {
2103
132M
            l++;
2104
132M
            l++;
2105
132M
            if (d)
2106
0
              l++;
2107
132M
          }
2108
132M
        }
2109
3.96k
        else {
2110
3.96k
          l++;
2111
3.96k
          if (c)
2112
2.54k
            l++;
2113
3.96k
        }
2114
132M
        break;
2115
132M
      }
2116
132M
      if (!c)
2117
1.42k
        break;
2118
132M
    }
2119
34.9M
    else
2120
34.9M
      l++;
2121
167M
  }
2122
2.15M
  if (m > l)
2123
1
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
2124
2.15M
  if (flag) {
2125
81.6k
    mxPushUndefined();
2126
81.6k
    the->stack->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, l, 1));
2127
81.6k
    the->stack->kind = XS_STRING_KIND;
2128
81.6k
    r = replace->value.string;
2129
81.6k
    s = the->stack->value.string;
2130
3.41M
    while ((c = c_read8(r++))) {
2131
3.33M
      if (c == '$') {
2132
233k
        c = c_read8(r++);
2133
233k
        switch (c) {
2134
84.1k
        case '$':
2135
84.1k
          *s++ = c;
2136
84.1k
          break;
2137
367
        case '&':
2138
367
          l = length;
2139
367
          c_memcpy(s, match->value.string, l);
2140
367
          s += l;
2141
367
          break;
2142
2.86k
        case '`':
2143
2.86k
          l = offset;
2144
2.86k
          c_memcpy(s, string->value.string, l);
2145
2.86k
          s += l;
2146
2.86k
          break;
2147
2.05k
        case '\'':
2148
2.05k
          l = size - (offset + length);
2149
2.05k
                    if (l > 0) {
2150
2.03k
                        c_memcpy(s, string->value.string + offset + length, l);
2151
2.03k
                        s += l;
2152
2.03k
                    }
2153
2.05k
          break;
2154
76.3k
        case '<':
2155
76.3k
          if (groups && mxIsReference(groups)) {
2156
2.61k
            txString t = r;
2157
51.4k
            while ((d = c_read8(r))) {
2158
50.3k
              if (d == '>')
2159
1.45k
                break;
2160
48.8k
              r++;
2161
48.8k
            }
2162
2.61k
            if (d) {
2163
1.45k
              txInteger n = mxPtrDiff(r - t);
2164
1.45k
              txID name;
2165
1.45k
              if (n > 255)
2166
0
                fxJump(the);
2167
1.45k
              c_memcpy(the->nameBuffer, t, n);
2168
1.45k
              the->nameBuffer[n] = 0;
2169
1.45k
              name = fxFindName(the, the->nameBuffer);
2170
1.45k
              if (name) {
2171
188
                mxPushSlot(groups);
2172
188
                mxGetID(name);
2173
188
                if (!mxIsUndefined(the->stack)) {
2174
99
                  fxToString(the, the->stack);
2175
99
                  l = mxStringLength(the->stack->value.string);
2176
99
                  c_memcpy(s, the->stack->value.string, l);
2177
99
                  s += l;
2178
99
                }
2179
188
                mxPop();
2180
188
              }
2181
1.45k
              r++;
2182
1.45k
            }
2183
1.15k
            else {
2184
1.15k
              r = t;
2185
1.15k
              *s++ = '$';
2186
1.15k
              *s++ = '<';
2187
1.15k
            }
2188
2.61k
          }
2189
73.7k
          else {
2190
73.7k
            *s++ = '$';
2191
73.7k
            *s++ = '<';
2192
73.7k
          }
2193
76.3k
          break;
2194
76.3k
        default:
2195
67.4k
          if (('0' <= c) && (c <= '9')) {
2196
63.7k
            i = c - '0';
2197
63.7k
            d = c_read8(r);
2198
63.7k
            if (('0' <= d) && (d <= '9')) {
2199
29.2k
              j = (i * 10) + d - '0';
2200
29.2k
              if ((0 < j) && (j <= count)) {
2201
744
                i = j;
2202
744
                r++;
2203
744
              }
2204
28.4k
              else
2205
28.4k
                d = 0;
2206
29.2k
            }
2207
34.5k
            else
2208
34.5k
              d = 0;
2209
63.7k
            if ((0 < i) && (i <= count)) {
2210
59.7k
              capture = (captures + count - i);
2211
59.7k
              if (capture->kind != XS_UNDEFINED_KIND) {
2212
59.0k
                l = mxStringLength(capture->value.string);
2213
59.0k
                c_memcpy(s, capture->value.string, l);
2214
59.0k
                s += l;
2215
59.0k
              }
2216
59.7k
            }
2217
3.98k
            else {
2218
3.98k
              *s++ = '$';
2219
3.98k
              *s++ = c;
2220
3.98k
              if (d)
2221
0
                *s++ = d;
2222
3.98k
            }
2223
63.7k
          }
2224
3.71k
          else {
2225
3.71k
            *s++ = '$';
2226
3.71k
            if (c)
2227
2.45k
              *s++ = c;
2228
3.71k
          }
2229
67.4k
          break;
2230
233k
        }
2231
233k
        if (!c)
2232
1.25k
          break;
2233
233k
      }
2234
3.10M
      else
2235
3.10M
        *s++ = c;
2236
3.33M
    }
2237
81.6k
    *s = 0;
2238
81.6k
  }
2239
2.07M
  else
2240
2.07M
    mxPushSlot(replace);
2241
2.15M
}
2242
2243
#ifdef mxStringNormalize
2244
2245
typedef struct {
2246
  txSlot* slot;
2247
  txInteger* address;
2248
  txInteger count;
2249
  txInteger starterIndex;
2250
} txNormalizeBuffer;
2251
2252
typedef struct {
2253
  txU2 code;
2254
  txU1 count;
2255
  txU1 order;
2256
} txCombination;
2257
2258
60.2M
#define mxCombinationCount0 300
2259
static const txCombination gxCombinationIndex0[mxCombinationCount0] ICACHE_XS6RO_ATTR = {
2260
  {0x0300,21,230},{0x0315,1,232},{0x0316,4,220},{0x031A,1,232},{0x031B,1,216},{0x031C,5,220},{0x0321,2,202},{0x0323,4,220},
2261
  {0x0327,2,202},{0x0329,11,220},{0x0334,5,1},{0x0339,4,220},{0x033D,8,230},{0x0345,1,240},{0x0346,1,230},{0x0347,3,220},
2262
  {0x034A,3,230},{0x034D,2,220},{0x0350,3,230},{0x0353,4,220},{0x0357,1,230},{0x0358,1,232},{0x0359,2,220},{0x035B,1,230},
2263
  {0x035C,1,233},{0x035D,2,234},{0x035F,1,233},{0x0360,2,234},{0x0362,1,233},{0x0363,13,230},{0x0483,5,230},{0x0591,1,220},
2264
  {0x0592,4,230},{0x0596,1,220},{0x0597,3,230},{0x059A,1,222},{0x059B,1,220},{0x059C,6,230},{0x05A2,6,220},{0x05A8,2,230},
2265
  {0x05AA,1,220},{0x05AB,2,230},{0x05AD,1,222},{0x05AE,1,228},{0x05AF,1,230},{0x05B0,1,10},{0x05B1,1,11},{0x05B2,1,12},
2266
  {0x05B3,1,13},{0x05B4,1,14},{0x05B5,1,15},{0x05B6,1,16},{0x05B7,1,17},{0x05B8,1,18},{0x05B9,2,19},{0x05BB,1,20},
2267
  {0x05BC,1,21},{0x05BD,1,22},{0x05BF,1,23},{0x05C1,1,24},{0x05C2,1,25},{0x05C4,1,230},{0x05C5,1,220},{0x05C7,1,18},
2268
  {0x0610,8,230},{0x0618,1,30},{0x0619,1,31},{0x061A,1,32},{0x064B,1,27},{0x064C,1,28},{0x064D,1,29},{0x064E,1,30},
2269
  {0x064F,1,31},{0x0650,1,32},{0x0651,1,33},{0x0652,1,34},{0x0653,2,230},{0x0655,2,220},{0x0657,5,230},{0x065C,1,220},
2270
  {0x065D,2,230},{0x065F,1,220},{0x0670,1,35},{0x06D6,7,230},{0x06DF,4,230},{0x06E3,1,220},{0x06E4,1,230},{0x06E7,2,230},
2271
  {0x06EA,1,220},{0x06EB,2,230},{0x06ED,1,220},{0x0711,1,36},{0x0730,1,230},{0x0731,1,220},{0x0732,2,230},{0x0734,1,220},
2272
  {0x0735,2,230},{0x0737,3,220},{0x073A,1,230},{0x073B,2,220},{0x073D,1,230},{0x073E,1,220},{0x073F,3,230},{0x0742,1,220},
2273
  {0x0743,1,230},{0x0744,1,220},{0x0745,1,230},{0x0746,1,220},{0x0747,1,230},{0x0748,1,220},{0x0749,2,230},{0x07EB,7,230},
2274
  {0x07F2,1,220},{0x07F3,1,230},{0x07FD,1,220},{0x0816,4,230},{0x081B,9,230},{0x0825,3,230},{0x0829,5,230},{0x0859,3,220},
2275
  {0x0897,2,230},{0x0899,3,220},{0x089C,4,230},{0x08CA,5,230},{0x08CF,5,220},{0x08D4,14,230},{0x08E3,1,220},{0x08E4,2,230},
2276
  {0x08E6,1,220},{0x08E7,2,230},{0x08E9,1,220},{0x08EA,3,230},{0x08ED,3,220},{0x08F0,1,27},{0x08F1,1,28},{0x08F2,1,29},
2277
  {0x08F3,3,230},{0x08F6,1,220},{0x08F7,2,230},{0x08F9,2,220},{0x08FB,5,230},{0x093C,1,7},{0x094D,1,9},{0x0951,1,230},
2278
  {0x0952,1,220},{0x0953,2,230},{0x09BC,1,7},{0x09CD,1,9},{0x09FE,1,230},{0x0A3C,1,7},{0x0A4D,1,9},{0x0ABC,1,7},
2279
  {0x0ACD,1,9},{0x0B3C,1,7},{0x0B4D,1,9},{0x0BCD,1,9},{0x0C3C,1,7},{0x0C4D,1,9},{0x0C55,1,84},{0x0C56,1,91},
2280
  {0x0CBC,1,7},{0x0CCD,1,9},{0x0D3B,2,9},{0x0D4D,1,9},{0x0DCA,1,9},{0x0E38,2,103},{0x0E3A,1,9},{0x0E48,4,107},
2281
  {0x0EB8,2,118},{0x0EBA,1,9},{0x0EC8,4,122},{0x0F18,2,220},{0x0F35,1,220},{0x0F37,1,220},{0x0F39,1,216},{0x0F71,1,129},
2282
  {0x0F72,1,130},{0x0F74,1,132},{0x0F7A,4,130},{0x0F80,1,130},{0x0F82,2,230},{0x0F84,1,9},{0x0F86,2,230},{0x0FC6,1,220},
2283
  {0x1037,1,7},{0x1039,2,9},{0x108D,1,220},{0x135D,3,230},{0x1714,2,9},{0x1734,1,9},{0x17D2,1,9},{0x17DD,1,230},
2284
  {0x18A9,1,228},{0x1939,1,222},{0x193A,1,230},{0x193B,1,220},{0x1A17,1,230},{0x1A18,1,220},{0x1A60,1,9},{0x1A75,8,230},
2285
  {0x1A7F,1,220},{0x1AB0,5,230},{0x1AB5,6,220},{0x1ABB,2,230},{0x1ABD,1,220},{0x1ABF,2,220},{0x1AC1,2,230},{0x1AC3,2,220},
2286
  {0x1AC5,5,230},{0x1ACA,1,220},{0x1ACB,18,230},{0x1ADD,1,220},{0x1AE0,6,230},{0x1AE6,1,220},{0x1AE7,4,230},{0x1AEB,1,234},
2287
  {0x1B34,1,7},{0x1B44,1,9},{0x1B6B,1,230},{0x1B6C,1,220},{0x1B6D,7,230},{0x1BAA,2,9},{0x1BE6,1,7},{0x1BF2,2,9},
2288
  {0x1C37,1,7},{0x1CD0,3,230},{0x1CD4,1,1},{0x1CD5,5,220},{0x1CDA,2,230},{0x1CDC,4,220},{0x1CE0,1,230},{0x1CE2,7,1},
2289
  {0x1CED,1,220},{0x1CF4,1,230},{0x1CF8,2,230},{0x1DC0,2,230},{0x1DC2,1,220},{0x1DC3,7,230},{0x1DCA,1,220},{0x1DCB,2,230},
2290
  {0x1DCD,1,234},{0x1DCE,1,214},{0x1DCF,1,220},{0x1DD0,1,202},{0x1DD1,37,230},{0x1DF6,1,232},{0x1DF7,2,228},{0x1DF9,1,220},
2291
  {0x1DFA,1,218},{0x1DFB,1,230},{0x1DFC,1,233},{0x1DFD,1,220},{0x1DFE,1,230},{0x1DFF,1,220},{0x20D0,2,230},{0x20D2,2,1},
2292
  {0x20D4,4,230},{0x20D8,3,1},{0x20DB,2,230},{0x20E1,1,230},{0x20E5,2,1},{0x20E7,1,230},{0x20E8,1,220},{0x20E9,1,230},
2293
  {0x20EA,2,1},{0x20EC,4,220},{0x20F0,1,230},{0x2CEF,3,230},{0x2D7F,1,9},{0x2DE0,32,230},{0x302A,1,218},{0x302B,1,228},
2294
  {0x302C,1,232},{0x302D,1,222},{0x302E,2,224},{0x3099,2,8},{0xA66F,1,230},{0xA674,10,230},{0xA69E,2,230},{0xA6F0,2,230},
2295
  {0xA806,1,9},{0xA82C,1,9},{0xA8C4,1,9},{0xA8E0,18,230},{0xA92B,3,220},{0xA953,1,9},{0xA9B3,1,7},{0xA9C0,1,9},
2296
  {0xAAB0,1,230},{0xAAB2,2,230},{0xAAB4,1,220},{0xAAB7,2,230},{0xAABE,2,230},{0xAAC1,1,230},{0xAAF6,1,9},{0xABED,1,9},
2297
  {0xFB1E,1,26},{0xFE20,7,230},{0xFE27,7,220},{0xFE2E,2,230},
2298
};
2299
174k
#define mxCombinationCount1 103
2300
static const txCombination gxCombinationIndex1[mxCombinationCount1] ICACHE_XS6RO_ATTR = {
2301
  {0x01FD,1,220},{0x02E0,1,220},{0x0376,5,230},{0x0A0D,1,220},{0x0A0F,1,230},{0x0A38,1,230},{0x0A39,1,1},{0x0A3A,1,220},
2302
  {0x0A3F,1,9},{0x0AE5,1,230},{0x0AE6,1,220},{0x0D24,4,230},{0x0D69,5,230},{0x0EAB,2,230},{0x0EFA,2,220},{0x0EFD,3,220},
2303
  {0x0F46,2,220},{0x0F48,3,230},{0x0F4B,1,220},{0x0F4C,1,230},{0x0F4D,4,220},{0x0F82,1,230},{0x0F83,1,220},{0x0F84,1,230},
2304
  {0x0F85,1,220},{0x1046,1,9},{0x1070,1,9},{0x107F,1,9},{0x10B9,1,9},{0x10BA,1,7},{0x1100,3,230},{0x1133,2,9},
2305
  {0x1173,1,7},{0x11C0,1,9},{0x11CA,1,7},{0x1235,1,9},{0x1236,1,7},{0x12E9,1,7},{0x12EA,1,9},{0x133B,2,7},
2306
  {0x134D,1,9},{0x1366,7,230},{0x1370,5,230},{0x13CE,3,9},{0x1442,1,9},{0x1446,1,7},{0x145E,1,230},{0x14C2,1,9},
2307
  {0x14C3,1,7},{0x15BF,1,9},{0x15C0,1,7},{0x163F,1,9},{0x16B6,1,9},{0x16B7,1,7},{0x172B,1,9},{0x1839,1,9},
2308
  {0x183A,1,7},{0x193D,2,9},{0x1943,1,7},{0x19E0,1,9},{0x1A34,1,9},{0x1A47,1,9},{0x1A99,1,9},{0x1C3F,1,9},
2309
  {0x1D42,1,7},{0x1D44,2,9},{0x1D97,1,9},{0x1F41,2,9},{0x612F,1,9},{0x6AF0,5,1},{0x6B30,7,230},{0x6FF0,2,6},
2310
  {0xBC9E,1,1},{0xD165,2,216},{0xD167,3,1},{0xD16D,1,226},{0xD16E,5,216},{0xD17B,8,220},{0xD185,5,230},{0xD18A,2,220},
2311
  {0xD1AA,4,230},{0xD242,3,230},{0xE000,7,230},{0xE008,17,230},{0xE01B,7,230},{0xE023,2,230},{0xE026,5,230},{0xE08F,1,230},
2312
  {0xE130,7,230},{0xE2AE,1,230},{0xE2EC,4,230},{0xE4EC,2,232},{0xE4EE,1,220},{0xE4EF,1,230},{0xE5EE,1,230},{0xE5EF,1,220},
2313
  {0xE6E3,1,230},{0xE6E6,1,230},{0xE6EE,2,230},{0xE6F5,1,230},{0xE8D0,7,220},{0xE944,6,230},{0xE94A,1,7},
2314
};
2315
#define mxCompositionSize0 1860
2316
static const txU2 gxCompositionData0[mxCompositionSize0] ICACHE_XS6RO_ATTR = {
2317
  0x0041,0x00C0,0x0045,0x00C8,0x0049,0x00CC,0x004E,0x01F8,0x004F,0x00D2,0x0055,0x00D9,0x0057,0x1E80,0x0059,0x1EF2,0x0061,0x00E0,0x0065,0x00E8,0x0069,0x00EC,0x006E,0x01F9,0x006F,0x00F2,0x0075,0x00F9,0x0077,0x1E81,0x0079,0x1EF3,
2318
  0x00A8,0x1FED,0x00C2,0x1EA6,0x00CA,0x1EC0,0x00D4,0x1ED2,0x00DC,0x01DB,0x00E2,0x1EA7,0x00EA,0x1EC1,0x00F4,0x1ED3,0x00FC,0x01DC,0x0102,0x1EB0,0x0103,0x1EB1,0x0112,0x1E14,0x0113,0x1E15,0x014C,0x1E50,0x014D,0x1E51,0x01A0,0x1EDC,
2319
  0x01A1,0x1EDD,0x01AF,0x1EEA,0x01B0,0x1EEB,0x0391,0x1FBA,0x0395,0x1FC8,0x0397,0x1FCA,0x0399,0x1FDA,0x039F,0x1FF8,0x03A5,0x1FEA,0x03A9,0x1FFA,0x03B1,0x1F70,0x03B5,0x1F72,0x03B7,0x1F74,0x03B9,0x1F76,0x03BF,0x1F78,0x03C5,0x1F7A,
2320
  0x03C9,0x1F7C,0x03CA,0x1FD2,0x03CB,0x1FE2,0x0415,0x0400,0x0418,0x040D,0x0435,0x0450,0x0438,0x045D,0x1F00,0x1F02,0x1F01,0x1F03,0x1F08,0x1F0A,0x1F09,0x1F0B,0x1F10,0x1F12,0x1F11,0x1F13,0x1F18,0x1F1A,0x1F19,0x1F1B,0x1F20,0x1F22,
2321
  0x1F21,0x1F23,0x1F28,0x1F2A,0x1F29,0x1F2B,0x1F30,0x1F32,0x1F31,0x1F33,0x1F38,0x1F3A,0x1F39,0x1F3B,0x1F40,0x1F42,0x1F41,0x1F43,0x1F48,0x1F4A,0x1F49,0x1F4B,0x1F50,0x1F52,0x1F51,0x1F53,0x1F59,0x1F5B,0x1F60,0x1F62,0x1F61,0x1F63,
2322
  0x1F68,0x1F6A,0x1F69,0x1F6B,0x1FBF,0x1FCD,0x1FFE,0x1FDD,0x0041,0x00C1,0x0043,0x0106,0x0045,0x00C9,0x0047,0x01F4,0x0049,0x00CD,0x004B,0x1E30,0x004C,0x0139,0x004D,0x1E3E,0x004E,0x0143,0x004F,0x00D3,0x0050,0x1E54,0x0052,0x0154,
2323
  0x0053,0x015A,0x0055,0x00DA,0x0057,0x1E82,0x0059,0x00DD,0x005A,0x0179,0x0061,0x00E1,0x0063,0x0107,0x0065,0x00E9,0x0067,0x01F5,0x0069,0x00ED,0x006B,0x1E31,0x006C,0x013A,0x006D,0x1E3F,0x006E,0x0144,0x006F,0x00F3,0x0070,0x1E55,
2324
  0x0072,0x0155,0x0073,0x015B,0x0075,0x00FA,0x0077,0x1E83,0x0079,0x00FD,0x007A,0x017A,0x00A8,0x0385,0x00C2,0x1EA4,0x00C5,0x01FA,0x00C6,0x01FC,0x00C7,0x1E08,0x00CA,0x1EBE,0x00CF,0x1E2E,0x00D4,0x1ED0,0x00D5,0x1E4C,0x00D8,0x01FE,
2325
  0x00DC,0x01D7,0x00E2,0x1EA5,0x00E5,0x01FB,0x00E6,0x01FD,0x00E7,0x1E09,0x00EA,0x1EBF,0x00EF,0x1E2F,0x00F4,0x1ED1,0x00F5,0x1E4D,0x00F8,0x01FF,0x00FC,0x01D8,0x0102,0x1EAE,0x0103,0x1EAF,0x0112,0x1E16,0x0113,0x1E17,0x014C,0x1E52,
2326
  0x014D,0x1E53,0x0168,0x1E78,0x0169,0x1E79,0x01A0,0x1EDA,0x01A1,0x1EDB,0x01AF,0x1EE8,0x01B0,0x1EE9,0x0391,0x0386,0x0395,0x0388,0x0397,0x0389,0x0399,0x038A,0x039F,0x038C,0x03A5,0x038E,0x03A9,0x038F,0x03B1,0x03AC,0x03B5,0x03AD,
2327
  0x03B7,0x03AE,0x03B9,0x03AF,0x03BF,0x03CC,0x03C5,0x03CD,0x03C9,0x03CE,0x03CA,0x0390,0x03CB,0x03B0,0x03D2,0x03D3,0x0413,0x0403,0x041A,0x040C,0x0433,0x0453,0x043A,0x045C,0x1F00,0x1F04,0x1F01,0x1F05,0x1F08,0x1F0C,0x1F09,0x1F0D,
2328
  0x1F10,0x1F14,0x1F11,0x1F15,0x1F18,0x1F1C,0x1F19,0x1F1D,0x1F20,0x1F24,0x1F21,0x1F25,0x1F28,0x1F2C,0x1F29,0x1F2D,0x1F30,0x1F34,0x1F31,0x1F35,0x1F38,0x1F3C,0x1F39,0x1F3D,0x1F40,0x1F44,0x1F41,0x1F45,0x1F48,0x1F4C,0x1F49,0x1F4D,
2329
  0x1F50,0x1F54,0x1F51,0x1F55,0x1F59,0x1F5D,0x1F60,0x1F64,0x1F61,0x1F65,0x1F68,0x1F6C,0x1F69,0x1F6D,0x1FBF,0x1FCE,0x1FFE,0x1FDE,0x0041,0x00C2,0x0043,0x0108,0x0045,0x00CA,0x0047,0x011C,0x0048,0x0124,0x0049,0x00CE,0x004A,0x0134,
2330
  0x004F,0x00D4,0x0053,0x015C,0x0055,0x00DB,0x0057,0x0174,0x0059,0x0176,0x005A,0x1E90,0x0061,0x00E2,0x0063,0x0109,0x0065,0x00EA,0x0067,0x011D,0x0068,0x0125,0x0069,0x00EE,0x006A,0x0135,0x006F,0x00F4,0x0073,0x015D,0x0075,0x00FB,
2331
  0x0077,0x0175,0x0079,0x0177,0x007A,0x1E91,0x1EA0,0x1EAC,0x1EA1,0x1EAD,0x1EB8,0x1EC6,0x1EB9,0x1EC7,0x1ECC,0x1ED8,0x1ECD,0x1ED9,0x0041,0x00C3,0x0045,0x1EBC,0x0049,0x0128,0x004E,0x00D1,0x004F,0x00D5,0x0055,0x0168,0x0056,0x1E7C,
2332
  0x0059,0x1EF8,0x0061,0x00E3,0x0065,0x1EBD,0x0069,0x0129,0x006E,0x00F1,0x006F,0x00F5,0x0075,0x0169,0x0076,0x1E7D,0x0079,0x1EF9,0x00C2,0x1EAA,0x00CA,0x1EC4,0x00D4,0x1ED6,0x00E2,0x1EAB,0x00EA,0x1EC5,0x00F4,0x1ED7,0x0102,0x1EB4,
2333
  0x0103,0x1EB5,0x01A0,0x1EE0,0x01A1,0x1EE1,0x01AF,0x1EEE,0x01B0,0x1EEF,0x0041,0x0100,0x0045,0x0112,0x0047,0x1E20,0x0049,0x012A,0x004F,0x014C,0x0055,0x016A,0x0059,0x0232,0x0061,0x0101,0x0065,0x0113,0x0067,0x1E21,0x0069,0x012B,
2334
  0x006F,0x014D,0x0075,0x016B,0x0079,0x0233,0x00C4,0x01DE,0x00C6,0x01E2,0x00D5,0x022C,0x00D6,0x022A,0x00DC,0x01D5,0x00E4,0x01DF,0x00E6,0x01E3,0x00F5,0x022D,0x00F6,0x022B,0x00FC,0x01D6,0x01EA,0x01EC,0x01EB,0x01ED,0x0226,0x01E0,
2335
  0x0227,0x01E1,0x022E,0x0230,0x022F,0x0231,0x0391,0x1FB9,0x0399,0x1FD9,0x03A5,0x1FE9,0x03B1,0x1FB1,0x03B9,0x1FD1,0x03C5,0x1FE1,0x0418,0x04E2,0x0423,0x04EE,0x0438,0x04E3,0x0443,0x04EF,0x1E36,0x1E38,0x1E37,0x1E39,0x1E5A,0x1E5C,
2336
  0x1E5B,0x1E5D,0x0041,0x0102,0x0045,0x0114,0x0047,0x011E,0x0049,0x012C,0x004F,0x014E,0x0055,0x016C,0x0061,0x0103,0x0065,0x0115,0x0067,0x011F,0x0069,0x012D,0x006F,0x014F,0x0075,0x016D,0x0228,0x1E1C,0x0229,0x1E1D,0x0391,0x1FB8,
2337
  0x0399,0x1FD8,0x03A5,0x1FE8,0x03B1,0x1FB0,0x03B9,0x1FD0,0x03C5,0x1FE0,0x0410,0x04D0,0x0415,0x04D6,0x0416,0x04C1,0x0418,0x0419,0x0423,0x040E,0x0430,0x04D1,0x0435,0x04D7,0x0436,0x04C2,0x0438,0x0439,0x0443,0x045E,0x1EA0,0x1EB6,
2338
  0x1EA1,0x1EB7,0x0041,0x0226,0x0042,0x1E02,0x0043,0x010A,0x0044,0x1E0A,0x0045,0x0116,0x0046,0x1E1E,0x0047,0x0120,0x0048,0x1E22,0x0049,0x0130,0x004D,0x1E40,0x004E,0x1E44,0x004F,0x022E,0x0050,0x1E56,0x0052,0x1E58,0x0053,0x1E60,
2339
  0x0054,0x1E6A,0x0057,0x1E86,0x0058,0x1E8A,0x0059,0x1E8E,0x005A,0x017B,0x0061,0x0227,0x0062,0x1E03,0x0063,0x010B,0x0064,0x1E0B,0x0065,0x0117,0x0066,0x1E1F,0x0067,0x0121,0x0068,0x1E23,0x006D,0x1E41,0x006E,0x1E45,0x006F,0x022F,
2340
  0x0070,0x1E57,0x0072,0x1E59,0x0073,0x1E61,0x0074,0x1E6B,0x0077,0x1E87,0x0078,0x1E8B,0x0079,0x1E8F,0x007A,0x017C,0x015A,0x1E64,0x015B,0x1E65,0x0160,0x1E66,0x0161,0x1E67,0x017F,0x1E9B,0x1E62,0x1E68,0x1E63,0x1E69,0x05D2,0x05C9,
2341
  0x05DA,0x05E4,0x0041,0x00C4,0x0045,0x00CB,0x0048,0x1E26,0x0049,0x00CF,0x004F,0x00D6,0x0055,0x00DC,0x0057,0x1E84,0x0058,0x1E8C,0x0059,0x0178,0x0061,0x00E4,0x0065,0x00EB,0x0068,0x1E27,0x0069,0x00EF,0x006F,0x00F6,0x0074,0x1E97,
2342
  0x0075,0x00FC,0x0077,0x1E85,0x0078,0x1E8D,0x0079,0x00FF,0x00D5,0x1E4E,0x00F5,0x1E4F,0x016A,0x1E7A,0x016B,0x1E7B,0x0399,0x03AA,0x03A5,0x03AB,0x03B9,0x03CA,0x03C5,0x03CB,0x03D2,0x03D4,0x0406,0x0407,0x0410,0x04D2,0x0415,0x0401,
2343
  0x0416,0x04DC,0x0417,0x04DE,0x0418,0x04E4,0x041E,0x04E6,0x0423,0x04F0,0x0427,0x04F4,0x042B,0x04F8,0x042D,0x04EC,0x0430,0x04D3,0x0435,0x0451,0x0436,0x04DD,0x0437,0x04DF,0x0438,0x04E5,0x043E,0x04E7,0x0443,0x04F1,0x0447,0x04F5,
2344
  0x044B,0x04F9,0x044D,0x04ED,0x0456,0x0457,0x04D8,0x04DA,0x04D9,0x04DB,0x04E8,0x04EA,0x04E9,0x04EB,0x0041,0x1EA2,0x0045,0x1EBA,0x0049,0x1EC8,0x004F,0x1ECE,0x0055,0x1EE6,0x0059,0x1EF6,0x0061,0x1EA3,0x0065,0x1EBB,0x0069,0x1EC9,
2345
  0x006F,0x1ECF,0x0075,0x1EE7,0x0079,0x1EF7,0x00C2,0x1EA8,0x00CA,0x1EC2,0x00D4,0x1ED4,0x00E2,0x1EA9,0x00EA,0x1EC3,0x00F4,0x1ED5,0x0102,0x1EB2,0x0103,0x1EB3,0x01A0,0x1EDE,0x01A1,0x1EDF,0x01AF,0x1EEC,0x01B0,0x1EED,0x0041,0x00C5,
2346
  0x0055,0x016E,0x0061,0x00E5,0x0075,0x016F,0x0077,0x1E98,0x0079,0x1E99,0x004F,0x0150,0x0055,0x0170,0x006F,0x0151,0x0075,0x0171,0x0423,0x04F2,0x0443,0x04F3,0x0041,0x01CD,0x0043,0x010C,0x0044,0x010E,0x0045,0x011A,0x0047,0x01E6,
2347
  0x0048,0x021E,0x0049,0x01CF,0x004B,0x01E8,0x004C,0x013D,0x004E,0x0147,0x004F,0x01D1,0x0052,0x0158,0x0053,0x0160,0x0054,0x0164,0x0055,0x01D3,0x005A,0x017D,0x0061,0x01CE,0x0063,0x010D,0x0064,0x010F,0x0065,0x011B,0x0067,0x01E7,
2348
  0x0068,0x021F,0x0069,0x01D0,0x006A,0x01F0,0x006B,0x01E9,0x006C,0x013E,0x006E,0x0148,0x006F,0x01D2,0x0072,0x0159,0x0073,0x0161,0x0074,0x0165,0x0075,0x01D4,0x007A,0x017E,0x00DC,0x01D9,0x00FC,0x01DA,0x01B7,0x01EE,0x0292,0x01EF,
2349
  0x0041,0x0200,0x0045,0x0204,0x0049,0x0208,0x004F,0x020C,0x0052,0x0210,0x0055,0x0214,0x0061,0x0201,0x0065,0x0205,0x0069,0x0209,0x006F,0x020D,0x0072,0x0211,0x0075,0x0215,0x0474,0x0476,0x0475,0x0477,0x0041,0x0202,0x0045,0x0206,
2350
  0x0049,0x020A,0x004F,0x020E,0x0052,0x0212,0x0055,0x0216,0x0061,0x0203,0x0065,0x0207,0x0069,0x020B,0x006F,0x020F,0x0072,0x0213,0x0075,0x0217,0x0391,0x1F08,0x0395,0x1F18,0x0397,0x1F28,0x0399,0x1F38,0x039F,0x1F48,0x03A9,0x1F68,
2351
  0x03B1,0x1F00,0x03B5,0x1F10,0x03B7,0x1F20,0x03B9,0x1F30,0x03BF,0x1F40,0x03C1,0x1FE4,0x03C5,0x1F50,0x03C9,0x1F60,0x0391,0x1F09,0x0395,0x1F19,0x0397,0x1F29,0x0399,0x1F39,0x039F,0x1F49,0x03A1,0x1FEC,0x03A5,0x1F59,0x03A9,0x1F69,
2352
  0x03B1,0x1F01,0x03B5,0x1F11,0x03B7,0x1F21,0x03B9,0x1F31,0x03BF,0x1F41,0x03C1,0x1FE5,0x03C5,0x1F51,0x03C9,0x1F61,0x004F,0x01A0,0x0055,0x01AF,0x006F,0x01A1,0x0075,0x01B0,0x0041,0x1EA0,0x0042,0x1E04,0x0044,0x1E0C,0x0045,0x1EB8,
2353
  0x0048,0x1E24,0x0049,0x1ECA,0x004B,0x1E32,0x004C,0x1E36,0x004D,0x1E42,0x004E,0x1E46,0x004F,0x1ECC,0x0052,0x1E5A,0x0053,0x1E62,0x0054,0x1E6C,0x0055,0x1EE4,0x0056,0x1E7E,0x0057,0x1E88,0x0059,0x1EF4,0x005A,0x1E92,0x0061,0x1EA1,
2354
  0x0062,0x1E05,0x0064,0x1E0D,0x0065,0x1EB9,0x0068,0x1E25,0x0069,0x1ECB,0x006B,0x1E33,0x006C,0x1E37,0x006D,0x1E43,0x006E,0x1E47,0x006F,0x1ECD,0x0072,0x1E5B,0x0073,0x1E63,0x0074,0x1E6D,0x0075,0x1EE5,0x0076,0x1E7F,0x0077,0x1E89,
2355
  0x0079,0x1EF5,0x007A,0x1E93,0x01A0,0x1EE2,0x01A1,0x1EE3,0x01AF,0x1EF0,0x01B0,0x1EF1,0x0055,0x1E72,0x0075,0x1E73,0x0041,0x1E00,0x0061,0x1E01,0x0053,0x0218,0x0054,0x021A,0x0073,0x0219,0x0074,0x021B,0x0043,0x00C7,0x0044,0x1E10,
2356
  0x0045,0x0228,0x0047,0x0122,0x0048,0x1E28,0x004B,0x0136,0x004C,0x013B,0x004E,0x0145,0x0052,0x0156,0x0053,0x015E,0x0054,0x0162,0x0063,0x00E7,0x0064,0x1E11,0x0065,0x0229,0x0067,0x0123,0x0068,0x1E29,0x006B,0x0137,0x006C,0x013C,
2357
  0x006E,0x0146,0x0072,0x0157,0x0073,0x015F,0x0074,0x0163,0x0041,0x0104,0x0045,0x0118,0x0049,0x012E,0x004F,0x01EA,0x0055,0x0172,0x0061,0x0105,0x0065,0x0119,0x0069,0x012F,0x006F,0x01EB,0x0075,0x0173,0x0044,0x1E12,0x0045,0x1E18,
2358
  0x004C,0x1E3C,0x004E,0x1E4A,0x0054,0x1E70,0x0055,0x1E76,0x0064,0x1E13,0x0065,0x1E19,0x006C,0x1E3D,0x006E,0x1E4B,0x0074,0x1E71,0x0075,0x1E77,0x0048,0x1E2A,0x0068,0x1E2B,0x0045,0x1E1A,0x0049,0x1E2C,0x0055,0x1E74,0x0065,0x1E1B,
2359
  0x0069,0x1E2D,0x0075,0x1E75,0x0042,0x1E06,0x0044,0x1E0E,0x004B,0x1E34,0x004C,0x1E3A,0x004E,0x1E48,0x0052,0x1E5E,0x0054,0x1E6E,0x005A,0x1E94,0x0062,0x1E07,0x0064,0x1E0F,0x0068,0x1E96,0x006B,0x1E35,0x006C,0x1E3B,0x006E,0x1E49,
2360
  0x0072,0x1E5F,0x0074,0x1E6F,0x007A,0x1E95,0x003C,0x226E,0x003D,0x2260,0x003E,0x226F,0x2190,0x219A,0x2192,0x219B,0x2194,0x21AE,0x21D0,0x21CD,0x21D2,0x21CF,0x21D4,0x21CE,0x2203,0x2204,0x2208,0x2209,0x220B,0x220C,0x2223,0x2224,
2361
  0x2225,0x2226,0x223C,0x2241,0x2243,0x2244,0x2245,0x2247,0x2248,0x2249,0x224D,0x226D,0x2261,0x2262,0x2264,0x2270,0x2265,0x2271,0x2272,0x2274,0x2273,0x2275,0x2276,0x2278,0x2277,0x2279,0x227A,0x2280,0x227B,0x2281,0x227C,0x22E0,
2362
  0x227D,0x22E1,0x2282,0x2284,0x2283,0x2285,0x2286,0x2288,0x2287,0x2289,0x2291,0x22E2,0x2292,0x22E3,0x22A2,0x22AC,0x22A8,0x22AD,0x22A9,0x22AE,0x22AB,0x22AF,0x22B2,0x22EA,0x22B3,0x22EB,0x22B4,0x22EC,0x22B5,0x22ED,0x00A8,0x1FC1,
2363
  0x03B1,0x1FB6,0x03B7,0x1FC6,0x03B9,0x1FD6,0x03C5,0x1FE6,0x03C9,0x1FF6,0x03CA,0x1FD7,0x03CB,0x1FE7,0x1F00,0x1F06,0x1F01,0x1F07,0x1F08,0x1F0E,0x1F09,0x1F0F,0x1F20,0x1F26,0x1F21,0x1F27,0x1F28,0x1F2E,0x1F29,0x1F2F,0x1F30,0x1F36,
2364
  0x1F31,0x1F37,0x1F38,0x1F3E,0x1F39,0x1F3F,0x1F50,0x1F56,0x1F51,0x1F57,0x1F59,0x1F5F,0x1F60,0x1F66,0x1F61,0x1F67,0x1F68,0x1F6E,0x1F69,0x1F6F,0x1FBF,0x1FCF,0x1FFE,0x1FDF,0x0391,0x1FBC,0x0397,0x1FCC,0x03A9,0x1FFC,0x03AC,0x1FB4,
2365
  0x03AE,0x1FC4,0x03B1,0x1FB3,0x03B7,0x1FC3,0x03C9,0x1FF3,0x03CE,0x1FF4,0x1F00,0x1F80,0x1F01,0x1F81,0x1F02,0x1F82,0x1F03,0x1F83,0x1F04,0x1F84,0x1F05,0x1F85,0x1F06,0x1F86,0x1F07,0x1F87,0x1F08,0x1F88,0x1F09,0x1F89,0x1F0A,0x1F8A,
2366
  0x1F0B,0x1F8B,0x1F0C,0x1F8C,0x1F0D,0x1F8D,0x1F0E,0x1F8E,0x1F0F,0x1F8F,0x1F20,0x1F90,0x1F21,0x1F91,0x1F22,0x1F92,0x1F23,0x1F93,0x1F24,0x1F94,0x1F25,0x1F95,0x1F26,0x1F96,0x1F27,0x1F97,0x1F28,0x1F98,0x1F29,0x1F99,0x1F2A,0x1F9A,
2367
  0x1F2B,0x1F9B,0x1F2C,0x1F9C,0x1F2D,0x1F9D,0x1F2E,0x1F9E,0x1F2F,0x1F9F,0x1F60,0x1FA0,0x1F61,0x1FA1,0x1F62,0x1FA2,0x1F63,0x1FA3,0x1F64,0x1FA4,0x1F65,0x1FA5,0x1F66,0x1FA6,0x1F67,0x1FA7,0x1F68,0x1FA8,0x1F69,0x1FA9,0x1F6A,0x1FAA,
2368
  0x1F6B,0x1FAB,0x1F6C,0x1FAC,0x1F6D,0x1FAD,0x1F6E,0x1FAE,0x1F6F,0x1FAF,0x1F70,0x1FB2,0x1F74,0x1FC2,0x1F7C,0x1FF2,0x1FB6,0x1FB7,0x1FC6,0x1FC7,0x1FF6,0x1FF7,0x0627,0x0622,0x0627,0x0623,0x0648,0x0624,0x064A,0x0626,0x06C1,0x06C2,
2369
  0x06D2,0x06D3,0x06D5,0x06C0,0x0627,0x0625,0x0928,0x0929,0x0930,0x0931,0x0933,0x0934,0x09C7,0x09CB,0x09C7,0x09CC,0x0B47,0x0B4B,0x0B47,0x0B48,0x0B47,0x0B4C,0x0BC6,0x0BCA,0x0BC7,0x0BCB,0x0B92,0x0B94,0x0BC6,0x0BCC,0x0C46,0x0C48,
2370
  0x0CC6,0x0CCA,0x0CBF,0x0CC0,0x0CC6,0x0CC7,0x0CCA,0x0CCB,0x0CC6,0x0CC8,0x0D46,0x0D4A,0x0D47,0x0D4B,0x0D46,0x0D4C,0x0DD9,0x0DDA,0x0DDC,0x0DDD,0x0DD9,0x0DDC,0x0DD9,0x0DDE,0x1025,0x1026,0x1B05,0x1B06,0x1B07,0x1B08,0x1B09,0x1B0A,
2371
  0x1B0B,0x1B0C,0x1B0D,0x1B0E,0x1B11,0x1B12,0x1B3A,0x1B3B,0x1B3C,0x1B3D,0x1B3E,0x1B40,0x1B3F,0x1B41,0x1B42,0x1B43,0x3046,0x3094,0x304B,0x304C,0x304D,0x304E,0x304F,0x3050,0x3051,0x3052,0x3053,0x3054,0x3055,0x3056,0x3057,0x3058,
2372
  0x3059,0x305A,0x305B,0x305C,0x305D,0x305E,0x305F,0x3060,0x3061,0x3062,0x3064,0x3065,0x3066,0x3067,0x3068,0x3069,0x306F,0x3070,0x3072,0x3073,0x3075,0x3076,0x3078,0x3079,0x307B,0x307C,0x309D,0x309E,0x30A6,0x30F4,0x30AB,0x30AC,
2373
  0x30AD,0x30AE,0x30AF,0x30B0,0x30B1,0x30B2,0x30B3,0x30B4,0x30B5,0x30B6,0x30B7,0x30B8,0x30B9,0x30BA,0x30BB,0x30BC,0x30BD,0x30BE,0x30BF,0x30C0,0x30C1,0x30C2,0x30C4,0x30C5,0x30C6,0x30C7,0x30C8,0x30C9,0x30CF,0x30D0,0x30D2,0x30D3,
2374
  0x30D5,0x30D6,0x30D8,0x30D9,0x30DB,0x30DC,0x30EF,0x30F7,0x30F0,0x30F8,0x30F1,0x30F9,0x30F2,0x30FA,0x30FD,0x30FE,0x306F,0x3071,0x3072,0x3074,0x3075,0x3077,0x3078,0x307A,0x307B,0x307D,0x30CF,0x30D1,0x30D2,0x30D4,0x30D5,0x30D7,
2375
  0x30D8,0x30DA,0x30DB,0x30DD,
2376
};
2377
56.5M
#define mxCompositionCount0 110
2378
static const txU2 gxCompositionIndex0[mxCompositionCount0] ICACHE_XS6RO_ATTR = {
2379
  0x0300,0,0x0301,84,0x0302,201,0x0303,233,0x0304,261,0x0306,305,0x0307,337,0x0308,385,0x0309,439,0x030A,463,0x030B,469,0x030C,475,0x030F,512,0x0311,526,0x0313,538,0x0314,552,
2380
  0x031B,568,0x0323,572,0x0324,614,0x0325,616,0x0326,618,0x0327,622,0x0328,644,0x032D,654,0x032E,666,0x0330,668,0x0331,674,0x0338,691,0x0342,735,0x0345,764,0x0653,827,0x0654,828,
2381
  0x0655,834,0x093C,835,0x09BE,838,0x09D7,839,0x0B3E,840,0x0B56,841,0x0B57,842,0x0BBE,843,0x0BD7,845,0x0C56,847,0x0CC2,848,0x0CD5,849,0x0CD6,852,0x0D3E,853,0x0D57,855,0x0DCA,856,
2382
  0x0DCF,858,0x0DDF,859,0x102E,860,0x1B35,861,0x3099,872,0x309A,920,0xFFFF,930,
2383
};
2384
#define mxCompositionSize1 62
2385
static const txU2 gxCompositionData1[mxCompositionSize1] ICACHE_XS6RO_ATTR = {
2386
  0x1099,0x109A,0x109B,0x109C,0x10A5,0x10AB,0x1131,0x112E,0x1132,0x112F,0x1347,0x134B,0x1347,0x134C,0x13C2,0x13C7,0x1384,0x1385,0x138B,0x138E,0x13C2,0x13C5,0x1382,0x1383,0x1390,0x1391,0x13C2,0x13C8,0x14B9,0x14BC,0x14B9,0x14BB,
2387
  0x14B9,0x14BE,0x15B8,0x15BA,0x15B9,0x15BB,0x1935,0x1938,0x611E,0x6121,0x611E,0x6123,0x6121,0x6126,0x6122,0x6127,0x6129,0x6124,0x611E,0x6125,0x6121,0x6128,0x611E,0x6122,0x6D63,0x6D69,0x6D67,0x6D68,0x6D69,0x6D6A,
2388
};
2389
174k
#define mxCompositionCount1 38
2390
static const txU2 gxCompositionIndex1[mxCompositionCount1] ICACHE_XS6RO_ATTR = {
2391
  0x10BA,0,0x1127,3,0x133E,5,0x1357,6,0x13B8,7,0x13BB,8,0x13C2,9,0x13C9,11,0x14B0,14,0x14BA,15,0x14BD,16,0x15AF,17,0x1930,19,0x611E,20,0x611F,21,0x6120,25,
2392
  0x6129,27,0x6D67,28,0xFFFF,31,
2393
};
2394
#define mxDecompositionSize0 13559
2395
const txU1 gxDecompositionData0[mxDecompositionSize0] ICACHE_XS6RO_ATTR = {
2396
  0x20,0x20,0xcc,0x88,0x61,0x20,0xcc,0x84,0x32,0x33,0x20,0xcc,0x81,0xce,0xbc,0x20,0xcc,0xa7,0x31,0x6f,0x31,0xe2,0x81,0x84,0x34,0x31,0xe2,0x81,0x84,0x32,0x33,0xe2,
2397
  0x81,0x84,0x34,0x41,0xcc,0x80,0x41,0xcc,0x81,0x41,0xcc,0x82,0x41,0xcc,0x83,0x41,0xcc,0x88,0x41,0xcc,0x8a,0x43,0xcc,0xa7,0x45,0xcc,0x80,0x45,0xcc,0x81,0x45,0xcc,
2398
  0x82,0x45,0xcc,0x88,0x49,0xcc,0x80,0x49,0xcc,0x81,0x49,0xcc,0x82,0x49,0xcc,0x88,0x4e,0xcc,0x83,0x4f,0xcc,0x80,0x4f,0xcc,0x81,0x4f,0xcc,0x82,0x4f,0xcc,0x83,0x4f,
2399
  0xcc,0x88,0x55,0xcc,0x80,0x55,0xcc,0x81,0x55,0xcc,0x82,0x55,0xcc,0x88,0x59,0xcc,0x81,0x61,0xcc,0x80,0x61,0xcc,0x81,0x61,0xcc,0x82,0x61,0xcc,0x83,0x61,0xcc,0x88,
2400
  0x61,0xcc,0x8a,0x63,0xcc,0xa7,0x65,0xcc,0x80,0x65,0xcc,0x81,0x65,0xcc,0x82,0x65,0xcc,0x88,0x69,0xcc,0x80,0x69,0xcc,0x81,0x69,0xcc,0x82,0x69,0xcc,0x88,0x6e,0xcc,
2401
  0x83,0x6f,0xcc,0x80,0x6f,0xcc,0x81,0x6f,0xcc,0x82,0x6f,0xcc,0x83,0x6f,0xcc,0x88,0x75,0xcc,0x80,0x75,0xcc,0x81,0x75,0xcc,0x82,0x75,0xcc,0x88,0x79,0xcc,0x81,0x79,
2402
  0xcc,0x88,0x41,0xcc,0x84,0x61,0xcc,0x84,0x41,0xcc,0x86,0x61,0xcc,0x86,0x41,0xcc,0xa8,0x61,0xcc,0xa8,0x43,0xcc,0x81,0x63,0xcc,0x81,0x43,0xcc,0x82,0x63,0xcc,0x82,
2403
  0x43,0xcc,0x87,0x63,0xcc,0x87,0x43,0xcc,0x8c,0x63,0xcc,0x8c,0x44,0xcc,0x8c,0x64,0xcc,0x8c,0x45,0xcc,0x84,0x65,0xcc,0x84,0x45,0xcc,0x86,0x65,0xcc,0x86,0x45,0xcc,
2404
  0x87,0x65,0xcc,0x87,0x45,0xcc,0xa8,0x65,0xcc,0xa8,0x45,0xcc,0x8c,0x65,0xcc,0x8c,0x47,0xcc,0x82,0x67,0xcc,0x82,0x47,0xcc,0x86,0x67,0xcc,0x86,0x47,0xcc,0x87,0x67,
2405
  0xcc,0x87,0x47,0xcc,0xa7,0x67,0xcc,0xa7,0x48,0xcc,0x82,0x68,0xcc,0x82,0x49,0xcc,0x83,0x69,0xcc,0x83,0x49,0xcc,0x84,0x69,0xcc,0x84,0x49,0xcc,0x86,0x69,0xcc,0x86,
2406
  0x49,0xcc,0xa8,0x69,0xcc,0xa8,0x49,0xcc,0x87,0x49,0x4a,0x69,0x6a,0x4a,0xcc,0x82,0x6a,0xcc,0x82,0x4b,0xcc,0xa7,0x6b,0xcc,0xa7,0x4c,0xcc,0x81,0x6c,0xcc,0x81,0x4c,
2407
  0xcc,0xa7,0x6c,0xcc,0xa7,0x4c,0xcc,0x8c,0x6c,0xcc,0x8c,0x4c,0xc2,0xb7,0x6c,0xc2,0xb7,0x4e,0xcc,0x81,0x6e,0xcc,0x81,0x4e,0xcc,0xa7,0x6e,0xcc,0xa7,0x4e,0xcc,0x8c,
2408
  0x6e,0xcc,0x8c,0xca,0xbc,0x6e,0x4f,0xcc,0x84,0x6f,0xcc,0x84,0x4f,0xcc,0x86,0x6f,0xcc,0x86,0x4f,0xcc,0x8b,0x6f,0xcc,0x8b,0x52,0xcc,0x81,0x72,0xcc,0x81,0x52,0xcc,
2409
  0xa7,0x72,0xcc,0xa7,0x52,0xcc,0x8c,0x72,0xcc,0x8c,0x53,0xcc,0x81,0x73,0xcc,0x81,0x53,0xcc,0x82,0x73,0xcc,0x82,0x53,0xcc,0xa7,0x73,0xcc,0xa7,0x53,0xcc,0x8c,0x73,
2410
  0xcc,0x8c,0x54,0xcc,0xa7,0x74,0xcc,0xa7,0x54,0xcc,0x8c,0x74,0xcc,0x8c,0x55,0xcc,0x83,0x75,0xcc,0x83,0x55,0xcc,0x84,0x75,0xcc,0x84,0x55,0xcc,0x86,0x75,0xcc,0x86,
2411
  0x55,0xcc,0x8a,0x75,0xcc,0x8a,0x55,0xcc,0x8b,0x75,0xcc,0x8b,0x55,0xcc,0xa8,0x75,0xcc,0xa8,0x57,0xcc,0x82,0x77,0xcc,0x82,0x59,0xcc,0x82,0x79,0xcc,0x82,0x59,0xcc,
2412
  0x88,0x5a,0xcc,0x81,0x7a,0xcc,0x81,0x5a,0xcc,0x87,0x7a,0xcc,0x87,0x5a,0xcc,0x8c,0x7a,0xcc,0x8c,0x73,0x4f,0xcc,0x9b,0x6f,0xcc,0x9b,0x55,0xcc,0x9b,0x75,0xcc,0x9b,
2413
  0x44,0xc5,0xbd,0x44,0xc5,0xbe,0x64,0xc5,0xbe,0x4c,0x4a,0x4c,0x6a,0x6c,0x6a,0x4e,0x4a,0x4e,0x6a,0x6e,0x6a,0x41,0xcc,0x8c,0x61,0xcc,0x8c,0x49,0xcc,0x8c,0x69,0xcc,
2414
  0x8c,0x4f,0xcc,0x8c,0x6f,0xcc,0x8c,0x55,0xcc,0x8c,0x75,0xcc,0x8c,0xc3,0x9c,0xcc,0x84,0xc3,0xbc,0xcc,0x84,0xc3,0x9c,0xcc,0x81,0xc3,0xbc,0xcc,0x81,0xc3,0x9c,0xcc,
2415
  0x8c,0xc3,0xbc,0xcc,0x8c,0xc3,0x9c,0xcc,0x80,0xc3,0xbc,0xcc,0x80,0xc3,0x84,0xcc,0x84,0xc3,0xa4,0xcc,0x84,0xc8,0xa6,0xcc,0x84,0xc8,0xa7,0xcc,0x84,0xc3,0x86,0xcc,
2416
  0x84,0xc3,0xa6,0xcc,0x84,0x47,0xcc,0x8c,0x67,0xcc,0x8c,0x4b,0xcc,0x8c,0x6b,0xcc,0x8c,0x4f,0xcc,0xa8,0x6f,0xcc,0xa8,0xc7,0xaa,0xcc,0x84,0xc7,0xab,0xcc,0x84,0xc6,
2417
  0xb7,0xcc,0x8c,0xca,0x92,0xcc,0x8c,0x6a,0xcc,0x8c,0x44,0x5a,0x44,0x7a,0x64,0x7a,0x47,0xcc,0x81,0x67,0xcc,0x81,0x4e,0xcc,0x80,0x6e,0xcc,0x80,0xc3,0x85,0xcc,0x81,
2418
  0xc3,0xa5,0xcc,0x81,0xc3,0x86,0xcc,0x81,0xc3,0xa6,0xcc,0x81,0xc3,0x98,0xcc,0x81,0xc3,0xb8,0xcc,0x81,0x41,0xcc,0x8f,0x61,0xcc,0x8f,0x41,0xcc,0x91,0x61,0xcc,0x91,
2419
  0x45,0xcc,0x8f,0x65,0xcc,0x8f,0x45,0xcc,0x91,0x65,0xcc,0x91,0x49,0xcc,0x8f,0x69,0xcc,0x8f,0x49,0xcc,0x91,0x69,0xcc,0x91,0x4f,0xcc,0x8f,0x6f,0xcc,0x8f,0x4f,0xcc,
2420
  0x91,0x6f,0xcc,0x91,0x52,0xcc,0x8f,0x72,0xcc,0x8f,0x52,0xcc,0x91,0x72,0xcc,0x91,0x55,0xcc,0x8f,0x75,0xcc,0x8f,0x55,0xcc,0x91,0x75,0xcc,0x91,0x53,0xcc,0xa6,0x73,
2421
  0xcc,0xa6,0x54,0xcc,0xa6,0x74,0xcc,0xa6,0x48,0xcc,0x8c,0x68,0xcc,0x8c,0x41,0xcc,0x87,0x61,0xcc,0x87,0x45,0xcc,0xa7,0x65,0xcc,0xa7,0xc3,0x96,0xcc,0x84,0xc3,0xb6,
2422
  0xcc,0x84,0xc3,0x95,0xcc,0x84,0xc3,0xb5,0xcc,0x84,0x4f,0xcc,0x87,0x6f,0xcc,0x87,0xc8,0xae,0xcc,0x84,0xc8,0xaf,0xcc,0x84,0x59,0xcc,0x84,0x79,0xcc,0x84,0x68,0xc9,
2423
  0xa6,0x6a,0x72,0xc9,0xb9,0xc9,0xbb,0xca,0x81,0x77,0x79,0x20,0xcc,0x86,0x20,0xcc,0x87,0x20,0xcc,0x8a,0x20,0xcc,0xa8,0x20,0xcc,0x83,0x20,0xcc,0x8b,0xc9,0xa3,0x6c,
2424
  0x73,0x78,0xca,0x95,0xcc,0x80,0xcc,0x81,0xcc,0x93,0xcc,0x88,0xcc,0x81,0xca,0xb9,0x20,0xcd,0x85,0x3b,0x20,0xcc,0x81,0xc2,0xa8,0xcc,0x81,0xce,0x91,0xcc,0x81,0xc2,
2425
  0xb7,0xce,0x95,0xcc,0x81,0xce,0x97,0xcc,0x81,0xce,0x99,0xcc,0x81,0xce,0x9f,0xcc,0x81,0xce,0xa5,0xcc,0x81,0xce,0xa9,0xcc,0x81,0xcf,0x8a,0xcc,0x81,0xce,0x99,0xcc,
2426
  0x88,0xce,0xa5,0xcc,0x88,0xce,0xb1,0xcc,0x81,0xce,0xb5,0xcc,0x81,0xce,0xb7,0xcc,0x81,0xce,0xb9,0xcc,0x81,0xcf,0x8b,0xcc,0x81,0xce,0xb9,0xcc,0x88,0xcf,0x85,0xcc,
2427
  0x88,0xce,0xbf,0xcc,0x81,0xcf,0x85,0xcc,0x81,0xcf,0x89,0xcc,0x81,0xce,0xb2,0xce,0xb8,0xce,0xa5,0xcf,0x92,0xcc,0x81,0xcf,0x92,0xcc,0x88,0xcf,0x86,0xcf,0x80,0xce,
2428
  0xba,0xcf,0x81,0xcf,0x82,0xce,0x98,0xce,0xb5,0xce,0xa3,0xd0,0x95,0xcc,0x80,0xd0,0x95,0xcc,0x88,0xd0,0x93,0xcc,0x81,0xd0,0x86,0xcc,0x88,0xd0,0x9a,0xcc,0x81,0xd0,
2429
  0x98,0xcc,0x80,0xd0,0xa3,0xcc,0x86,0xd0,0x98,0xcc,0x86,0xd0,0xb8,0xcc,0x86,0xd0,0xb5,0xcc,0x80,0xd0,0xb5,0xcc,0x88,0xd0,0xb3,0xcc,0x81,0xd1,0x96,0xcc,0x88,0xd0,
2430
  0xba,0xcc,0x81,0xd0,0xb8,0xcc,0x80,0xd1,0x83,0xcc,0x86,0xd1,0xb4,0xcc,0x8f,0xd1,0xb5,0xcc,0x8f,0xd0,0x96,0xcc,0x86,0xd0,0xb6,0xcc,0x86,0xd0,0x90,0xcc,0x86,0xd0,
2431
  0xb0,0xcc,0x86,0xd0,0x90,0xcc,0x88,0xd0,0xb0,0xcc,0x88,0xd0,0x95,0xcc,0x86,0xd0,0xb5,0xcc,0x86,0xd3,0x98,0xcc,0x88,0xd3,0x99,0xcc,0x88,0xd0,0x96,0xcc,0x88,0xd0,
2432
  0xb6,0xcc,0x88,0xd0,0x97,0xcc,0x88,0xd0,0xb7,0xcc,0x88,0xd0,0x98,0xcc,0x84,0xd0,0xb8,0xcc,0x84,0xd0,0x98,0xcc,0x88,0xd0,0xb8,0xcc,0x88,0xd0,0x9e,0xcc,0x88,0xd0,
2433
  0xbe,0xcc,0x88,0xd3,0xa8,0xcc,0x88,0xd3,0xa9,0xcc,0x88,0xd0,0xad,0xcc,0x88,0xd1,0x8d,0xcc,0x88,0xd0,0xa3,0xcc,0x84,0xd1,0x83,0xcc,0x84,0xd0,0xa3,0xcc,0x88,0xd1,
2434
  0x83,0xcc,0x88,0xd0,0xa3,0xcc,0x8b,0xd1,0x83,0xcc,0x8b,0xd0,0xa7,0xcc,0x88,0xd1,0x87,0xcc,0x88,0xd0,0xab,0xcc,0x88,0xd1,0x8b,0xcc,0x88,0xd5,0xa5,0xd6,0x82,0xd8,
2435
  0xa7,0xd9,0x93,0xd8,0xa7,0xd9,0x94,0xd9,0x88,0xd9,0x94,0xd8,0xa7,0xd9,0x95,0xd9,0x8a,0xd9,0x94,0xd8,0xa7,0xd9,0xb4,0xd9,0x88,0xd9,0xb4,0xdb,0x87,0xd9,0xb4,0xd9,
2436
  0x8a,0xd9,0xb4,0xdb,0x95,0xd9,0x94,0xdb,0x81,0xd9,0x94,0xdb,0x92,0xd9,0x94,0xe0,0xa4,0xa8,0xe0,0xa4,0xbc,0xe0,0xa4,0xb0,0xe0,0xa4,0xbc,0xe0,0xa4,0xb3,0xe0,0xa4,
2437
  0xbc,0xe0,0xa4,0x95,0xe0,0xa4,0xbc,0xe0,0xa4,0x96,0xe0,0xa4,0xbc,0xe0,0xa4,0x97,0xe0,0xa4,0xbc,0xe0,0xa4,0x9c,0xe0,0xa4,0xbc,0xe0,0xa4,0xa1,0xe0,0xa4,0xbc,0xe0,
2438
  0xa4,0xa2,0xe0,0xa4,0xbc,0xe0,0xa4,0xab,0xe0,0xa4,0xbc,0xe0,0xa4,0xaf,0xe0,0xa4,0xbc,0xe0,0xa7,0x87,0xe0,0xa6,0xbe,0xe0,0xa7,0x87,0xe0,0xa7,0x97,0xe0,0xa6,0xa1,
2439
  0xe0,0xa6,0xbc,0xe0,0xa6,0xa2,0xe0,0xa6,0xbc,0xe0,0xa6,0xaf,0xe0,0xa6,0xbc,0xe0,0xa8,0xb2,0xe0,0xa8,0xbc,0xe0,0xa8,0xb8,0xe0,0xa8,0xbc,0xe0,0xa8,0x96,0xe0,0xa8,
2440
  0xbc,0xe0,0xa8,0x97,0xe0,0xa8,0xbc,0xe0,0xa8,0x9c,0xe0,0xa8,0xbc,0xe0,0xa8,0xab,0xe0,0xa8,0xbc,0xe0,0xad,0x87,0xe0,0xad,0x96,0xe0,0xad,0x87,0xe0,0xac,0xbe,0xe0,
2441
  0xad,0x87,0xe0,0xad,0x97,0xe0,0xac,0xa1,0xe0,0xac,0xbc,0xe0,0xac,0xa2,0xe0,0xac,0xbc,0xe0,0xae,0x92,0xe0,0xaf,0x97,0xe0,0xaf,0x86,0xe0,0xae,0xbe,0xe0,0xaf,0x87,
2442
  0xe0,0xae,0xbe,0xe0,0xaf,0x86,0xe0,0xaf,0x97,0xe0,0xb1,0x86,0xe0,0xb1,0x96,0xe0,0xb2,0xbf,0xe0,0xb3,0x95,0xe0,0xb3,0x86,0xe0,0xb3,0x95,0xe0,0xb3,0x86,0xe0,0xb3,
2443
  0x96,0xe0,0xb3,0x86,0xe0,0xb3,0x82,0xe0,0xb3,0x8a,0xe0,0xb3,0x95,0xe0,0xb5,0x86,0xe0,0xb4,0xbe,0xe0,0xb5,0x87,0xe0,0xb4,0xbe,0xe0,0xb5,0x86,0xe0,0xb5,0x97,0xe0,
2444
  0xb7,0x99,0xe0,0xb7,0x8a,0xe0,0xb7,0x99,0xe0,0xb7,0x8f,0xe0,0xb7,0x9c,0xe0,0xb7,0x8a,0xe0,0xb7,0x99,0xe0,0xb7,0x9f,0xe0,0xb9,0x8d,0xe0,0xb8,0xb2,0xe0,0xbb,0x8d,
2445
  0xe0,0xba,0xb2,0xe0,0xba,0xab,0xe0,0xba,0x99,0xe0,0xba,0xab,0xe0,0xba,0xa1,0xe0,0xbc,0x8b,0xe0,0xbd,0x82,0xe0,0xbe,0xb7,0xe0,0xbd,0x8c,0xe0,0xbe,0xb7,0xe0,0xbd,
2446
  0x91,0xe0,0xbe,0xb7,0xe0,0xbd,0x96,0xe0,0xbe,0xb7,0xe0,0xbd,0x9b,0xe0,0xbe,0xb7,0xe0,0xbd,0x80,0xe0,0xbe,0xb5,0xe0,0xbd,0xb1,0xe0,0xbd,0xb2,0xe0,0xbd,0xb1,0xe0,
2447
  0xbd,0xb4,0xe0,0xbe,0xb2,0xe0,0xbe,0x80,0xe0,0xbe,0xb2,0xe0,0xbe,0x81,0xe0,0xbe,0xb3,0xe0,0xbe,0x80,0xe0,0xbe,0xb3,0xe0,0xbe,0x81,0xe0,0xbd,0xb1,0xe0,0xbe,0x80,
2448
  0xe0,0xbe,0x92,0xe0,0xbe,0xb7,0xe0,0xbe,0x9c,0xe0,0xbe,0xb7,0xe0,0xbe,0xa1,0xe0,0xbe,0xb7,0xe0,0xbe,0xa6,0xe0,0xbe,0xb7,0xe0,0xbe,0xab,0xe0,0xbe,0xb7,0xe0,0xbe,
2449
  0x90,0xe0,0xbe,0xb5,0xe1,0x80,0xa5,0xe1,0x80,0xae,0xe1,0x83,0x9c,0xe1,0xac,0x85,0xe1,0xac,0xb5,0xe1,0xac,0x87,0xe1,0xac,0xb5,0xe1,0xac,0x89,0xe1,0xac,0xb5,0xe1,
2450
  0xac,0x8b,0xe1,0xac,0xb5,0xe1,0xac,0x8d,0xe1,0xac,0xb5,0xe1,0xac,0x91,0xe1,0xac,0xb5,0xe1,0xac,0xba,0xe1,0xac,0xb5,0xe1,0xac,0xbc,0xe1,0xac,0xb5,0xe1,0xac,0xbe,
2451
  0xe1,0xac,0xb5,0xe1,0xac,0xbf,0xe1,0xac,0xb5,0xe1,0xad,0x82,0xe1,0xac,0xb5,0x41,0xc3,0x86,0x42,0x44,0x45,0xc6,0x8e,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
2452
  0xc8,0xa2,0x50,0x52,0x54,0x55,0x57,0x61,0xc9,0x90,0xc9,0x91,0xe1,0xb4,0x82,0x62,0x64,0x65,0xc9,0x99,0xc9,0x9b,0xc9,0x9c,0x67,0x6b,0x6d,0xc5,0x8b,0x6f,0xc9,0x94,
2453
  0xe1,0xb4,0x96,0xe1,0xb4,0x97,0x70,0x74,0x75,0xe1,0xb4,0x9d,0xc9,0xaf,0x76,0xe1,0xb4,0xa5,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xcf,0x86,0xcf,0x87,0x69,0x72,0x75,0x76,
2454
  0xce,0xb2,0xce,0xb3,0xcf,0x81,0xcf,0x86,0xcf,0x87,0xd0,0xbd,0xc9,0x92,0x63,0xc9,0x95,0xc3,0xb0,0xc9,0x9c,0x66,0xc9,0x9f,0xc9,0xa1,0xc9,0xa5,0xc9,0xa8,0xc9,0xa9,
2455
  0xc9,0xaa,0xe1,0xb5,0xbb,0xca,0x9d,0xc9,0xad,0xe1,0xb6,0x85,0xca,0x9f,0xc9,0xb1,0xc9,0xb0,0xc9,0xb2,0xc9,0xb3,0xc9,0xb4,0xc9,0xb5,0xc9,0xb8,0xca,0x82,0xca,0x83,
2456
  0xc6,0xab,0xca,0x89,0xca,0x8a,0xe1,0xb4,0x9c,0xca,0x8b,0xca,0x8c,0x7a,0xca,0x90,0xca,0x91,0xca,0x92,0xce,0xb8,0x41,0xcc,0xa5,0x61,0xcc,0xa5,0x42,0xcc,0x87,0x62,
2457
  0xcc,0x87,0x42,0xcc,0xa3,0x62,0xcc,0xa3,0x42,0xcc,0xb1,0x62,0xcc,0xb1,0xc3,0x87,0xcc,0x81,0xc3,0xa7,0xcc,0x81,0x44,0xcc,0x87,0x64,0xcc,0x87,0x44,0xcc,0xa3,0x64,
2458
  0xcc,0xa3,0x44,0xcc,0xb1,0x64,0xcc,0xb1,0x44,0xcc,0xa7,0x64,0xcc,0xa7,0x44,0xcc,0xad,0x64,0xcc,0xad,0xc4,0x92,0xcc,0x80,0xc4,0x93,0xcc,0x80,0xc4,0x92,0xcc,0x81,
2459
  0xc4,0x93,0xcc,0x81,0x45,0xcc,0xad,0x65,0xcc,0xad,0x45,0xcc,0xb0,0x65,0xcc,0xb0,0xc8,0xa8,0xcc,0x86,0xc8,0xa9,0xcc,0x86,0x46,0xcc,0x87,0x66,0xcc,0x87,0x47,0xcc,
2460
  0x84,0x67,0xcc,0x84,0x48,0xcc,0x87,0x68,0xcc,0x87,0x48,0xcc,0xa3,0x68,0xcc,0xa3,0x48,0xcc,0x88,0x68,0xcc,0x88,0x48,0xcc,0xa7,0x68,0xcc,0xa7,0x48,0xcc,0xae,0x68,
2461
  0xcc,0xae,0x49,0xcc,0xb0,0x69,0xcc,0xb0,0xc3,0x8f,0xcc,0x81,0xc3,0xaf,0xcc,0x81,0x4b,0xcc,0x81,0x6b,0xcc,0x81,0x4b,0xcc,0xa3,0x6b,0xcc,0xa3,0x4b,0xcc,0xb1,0x6b,
2462
  0xcc,0xb1,0x4c,0xcc,0xa3,0x6c,0xcc,0xa3,0xe1,0xb8,0xb6,0xcc,0x84,0xe1,0xb8,0xb7,0xcc,0x84,0x4c,0xcc,0xb1,0x6c,0xcc,0xb1,0x4c,0xcc,0xad,0x6c,0xcc,0xad,0x4d,0xcc,
2463
  0x81,0x6d,0xcc,0x81,0x4d,0xcc,0x87,0x6d,0xcc,0x87,0x4d,0xcc,0xa3,0x6d,0xcc,0xa3,0x4e,0xcc,0x87,0x6e,0xcc,0x87,0x4e,0xcc,0xa3,0x6e,0xcc,0xa3,0x4e,0xcc,0xb1,0x6e,
2464
  0xcc,0xb1,0x4e,0xcc,0xad,0x6e,0xcc,0xad,0xc3,0x95,0xcc,0x81,0xc3,0xb5,0xcc,0x81,0xc3,0x95,0xcc,0x88,0xc3,0xb5,0xcc,0x88,0xc5,0x8c,0xcc,0x80,0xc5,0x8d,0xcc,0x80,
2465
  0xc5,0x8c,0xcc,0x81,0xc5,0x8d,0xcc,0x81,0x50,0xcc,0x81,0x70,0xcc,0x81,0x50,0xcc,0x87,0x70,0xcc,0x87,0x52,0xcc,0x87,0x72,0xcc,0x87,0x52,0xcc,0xa3,0x72,0xcc,0xa3,
2466
  0xe1,0xb9,0x9a,0xcc,0x84,0xe1,0xb9,0x9b,0xcc,0x84,0x52,0xcc,0xb1,0x72,0xcc,0xb1,0x53,0xcc,0x87,0x73,0xcc,0x87,0x53,0xcc,0xa3,0x73,0xcc,0xa3,0xc5,0x9a,0xcc,0x87,
2467
  0xc5,0x9b,0xcc,0x87,0xc5,0xa0,0xcc,0x87,0xc5,0xa1,0xcc,0x87,0xe1,0xb9,0xa2,0xcc,0x87,0xe1,0xb9,0xa3,0xcc,0x87,0x54,0xcc,0x87,0x74,0xcc,0x87,0x54,0xcc,0xa3,0x74,
2468
  0xcc,0xa3,0x54,0xcc,0xb1,0x74,0xcc,0xb1,0x54,0xcc,0xad,0x74,0xcc,0xad,0x55,0xcc,0xa4,0x75,0xcc,0xa4,0x55,0xcc,0xb0,0x75,0xcc,0xb0,0x55,0xcc,0xad,0x75,0xcc,0xad,
2469
  0xc5,0xa8,0xcc,0x81,0xc5,0xa9,0xcc,0x81,0xc5,0xaa,0xcc,0x88,0xc5,0xab,0xcc,0x88,0x56,0xcc,0x83,0x76,0xcc,0x83,0x56,0xcc,0xa3,0x76,0xcc,0xa3,0x57,0xcc,0x80,0x77,
2470
  0xcc,0x80,0x57,0xcc,0x81,0x77,0xcc,0x81,0x57,0xcc,0x88,0x77,0xcc,0x88,0x57,0xcc,0x87,0x77,0xcc,0x87,0x57,0xcc,0xa3,0x77,0xcc,0xa3,0x58,0xcc,0x87,0x78,0xcc,0x87,
2471
  0x58,0xcc,0x88,0x78,0xcc,0x88,0x59,0xcc,0x87,0x79,0xcc,0x87,0x5a,0xcc,0x82,0x7a,0xcc,0x82,0x5a,0xcc,0xa3,0x7a,0xcc,0xa3,0x5a,0xcc,0xb1,0x7a,0xcc,0xb1,0x68,0xcc,
2472
  0xb1,0x74,0xcc,0x88,0x77,0xcc,0x8a,0x79,0xcc,0x8a,0x61,0xca,0xbe,0xc5,0xbf,0xcc,0x87,0x41,0xcc,0xa3,0x61,0xcc,0xa3,0x41,0xcc,0x89,0x61,0xcc,0x89,0xc3,0x82,0xcc,
2473
  0x81,0xc3,0xa2,0xcc,0x81,0xc3,0x82,0xcc,0x80,0xc3,0xa2,0xcc,0x80,0xc3,0x82,0xcc,0x89,0xc3,0xa2,0xcc,0x89,0xc3,0x82,0xcc,0x83,0xc3,0xa2,0xcc,0x83,0xe1,0xba,0xa0,
2474
  0xcc,0x82,0xe1,0xba,0xa1,0xcc,0x82,0xc4,0x82,0xcc,0x81,0xc4,0x83,0xcc,0x81,0xc4,0x82,0xcc,0x80,0xc4,0x83,0xcc,0x80,0xc4,0x82,0xcc,0x89,0xc4,0x83,0xcc,0x89,0xc4,
2475
  0x82,0xcc,0x83,0xc4,0x83,0xcc,0x83,0xe1,0xba,0xa0,0xcc,0x86,0xe1,0xba,0xa1,0xcc,0x86,0x45,0xcc,0xa3,0x65,0xcc,0xa3,0x45,0xcc,0x89,0x65,0xcc,0x89,0x45,0xcc,0x83,
2476
  0x65,0xcc,0x83,0xc3,0x8a,0xcc,0x81,0xc3,0xaa,0xcc,0x81,0xc3,0x8a,0xcc,0x80,0xc3,0xaa,0xcc,0x80,0xc3,0x8a,0xcc,0x89,0xc3,0xaa,0xcc,0x89,0xc3,0x8a,0xcc,0x83,0xc3,
2477
  0xaa,0xcc,0x83,0xe1,0xba,0xb8,0xcc,0x82,0xe1,0xba,0xb9,0xcc,0x82,0x49,0xcc,0x89,0x69,0xcc,0x89,0x49,0xcc,0xa3,0x69,0xcc,0xa3,0x4f,0xcc,0xa3,0x6f,0xcc,0xa3,0x4f,
2478
  0xcc,0x89,0x6f,0xcc,0x89,0xc3,0x94,0xcc,0x81,0xc3,0xb4,0xcc,0x81,0xc3,0x94,0xcc,0x80,0xc3,0xb4,0xcc,0x80,0xc3,0x94,0xcc,0x89,0xc3,0xb4,0xcc,0x89,0xc3,0x94,0xcc,
2479
  0x83,0xc3,0xb4,0xcc,0x83,0xe1,0xbb,0x8c,0xcc,0x82,0xe1,0xbb,0x8d,0xcc,0x82,0xc6,0xa0,0xcc,0x81,0xc6,0xa1,0xcc,0x81,0xc6,0xa0,0xcc,0x80,0xc6,0xa1,0xcc,0x80,0xc6,
2480
  0xa0,0xcc,0x89,0xc6,0xa1,0xcc,0x89,0xc6,0xa0,0xcc,0x83,0xc6,0xa1,0xcc,0x83,0xc6,0xa0,0xcc,0xa3,0xc6,0xa1,0xcc,0xa3,0x55,0xcc,0xa3,0x75,0xcc,0xa3,0x55,0xcc,0x89,
2481
  0x75,0xcc,0x89,0xc6,0xaf,0xcc,0x81,0xc6,0xb0,0xcc,0x81,0xc6,0xaf,0xcc,0x80,0xc6,0xb0,0xcc,0x80,0xc6,0xaf,0xcc,0x89,0xc6,0xb0,0xcc,0x89,0xc6,0xaf,0xcc,0x83,0xc6,
2482
  0xb0,0xcc,0x83,0xc6,0xaf,0xcc,0xa3,0xc6,0xb0,0xcc,0xa3,0x59,0xcc,0x80,0x79,0xcc,0x80,0x59,0xcc,0xa3,0x79,0xcc,0xa3,0x59,0xcc,0x89,0x79,0xcc,0x89,0x59,0xcc,0x83,
2483
  0x79,0xcc,0x83,0xce,0xb1,0xcc,0x93,0xce,0xb1,0xcc,0x94,0xe1,0xbc,0x80,0xcc,0x80,0xe1,0xbc,0x81,0xcc,0x80,0xe1,0xbc,0x80,0xcc,0x81,0xe1,0xbc,0x81,0xcc,0x81,0xe1,
2484
  0xbc,0x80,0xcd,0x82,0xe1,0xbc,0x81,0xcd,0x82,0xce,0x91,0xcc,0x93,0xce,0x91,0xcc,0x94,0xe1,0xbc,0x88,0xcc,0x80,0xe1,0xbc,0x89,0xcc,0x80,0xe1,0xbc,0x88,0xcc,0x81,
2485
  0xe1,0xbc,0x89,0xcc,0x81,0xe1,0xbc,0x88,0xcd,0x82,0xe1,0xbc,0x89,0xcd,0x82,0xce,0xb5,0xcc,0x93,0xce,0xb5,0xcc,0x94,0xe1,0xbc,0x90,0xcc,0x80,0xe1,0xbc,0x91,0xcc,
2486
  0x80,0xe1,0xbc,0x90,0xcc,0x81,0xe1,0xbc,0x91,0xcc,0x81,0xce,0x95,0xcc,0x93,0xce,0x95,0xcc,0x94,0xe1,0xbc,0x98,0xcc,0x80,0xe1,0xbc,0x99,0xcc,0x80,0xe1,0xbc,0x98,
2487
  0xcc,0x81,0xe1,0xbc,0x99,0xcc,0x81,0xce,0xb7,0xcc,0x93,0xce,0xb7,0xcc,0x94,0xe1,0xbc,0xa0,0xcc,0x80,0xe1,0xbc,0xa1,0xcc,0x80,0xe1,0xbc,0xa0,0xcc,0x81,0xe1,0xbc,
2488
  0xa1,0xcc,0x81,0xe1,0xbc,0xa0,0xcd,0x82,0xe1,0xbc,0xa1,0xcd,0x82,0xce,0x97,0xcc,0x93,0xce,0x97,0xcc,0x94,0xe1,0xbc,0xa8,0xcc,0x80,0xe1,0xbc,0xa9,0xcc,0x80,0xe1,
2489
  0xbc,0xa8,0xcc,0x81,0xe1,0xbc,0xa9,0xcc,0x81,0xe1,0xbc,0xa8,0xcd,0x82,0xe1,0xbc,0xa9,0xcd,0x82,0xce,0xb9,0xcc,0x93,0xce,0xb9,0xcc,0x94,0xe1,0xbc,0xb0,0xcc,0x80,
2490
  0xe1,0xbc,0xb1,0xcc,0x80,0xe1,0xbc,0xb0,0xcc,0x81,0xe1,0xbc,0xb1,0xcc,0x81,0xe1,0xbc,0xb0,0xcd,0x82,0xe1,0xbc,0xb1,0xcd,0x82,0xce,0x99,0xcc,0x93,0xce,0x99,0xcc,
2491
  0x94,0xe1,0xbc,0xb8,0xcc,0x80,0xe1,0xbc,0xb9,0xcc,0x80,0xe1,0xbc,0xb8,0xcc,0x81,0xe1,0xbc,0xb9,0xcc,0x81,0xe1,0xbc,0xb8,0xcd,0x82,0xe1,0xbc,0xb9,0xcd,0x82,0xce,
2492
  0xbf,0xcc,0x93,0xce,0xbf,0xcc,0x94,0xe1,0xbd,0x80,0xcc,0x80,0xe1,0xbd,0x81,0xcc,0x80,0xe1,0xbd,0x80,0xcc,0x81,0xe1,0xbd,0x81,0xcc,0x81,0xce,0x9f,0xcc,0x93,0xce,
2493
  0x9f,0xcc,0x94,0xe1,0xbd,0x88,0xcc,0x80,0xe1,0xbd,0x89,0xcc,0x80,0xe1,0xbd,0x88,0xcc,0x81,0xe1,0xbd,0x89,0xcc,0x81,0xcf,0x85,0xcc,0x93,0xcf,0x85,0xcc,0x94,0xe1,
2494
  0xbd,0x90,0xcc,0x80,0xe1,0xbd,0x91,0xcc,0x80,0xe1,0xbd,0x90,0xcc,0x81,0xe1,0xbd,0x91,0xcc,0x81,0xe1,0xbd,0x90,0xcd,0x82,0xe1,0xbd,0x91,0xcd,0x82,0xce,0xa5,0xcc,
2495
  0x94,0xe1,0xbd,0x99,0xcc,0x80,0xe1,0xbd,0x99,0xcc,0x81,0xe1,0xbd,0x99,0xcd,0x82,0xcf,0x89,0xcc,0x93,0xcf,0x89,0xcc,0x94,0xe1,0xbd,0xa0,0xcc,0x80,0xe1,0xbd,0xa1,
2496
  0xcc,0x80,0xe1,0xbd,0xa0,0xcc,0x81,0xe1,0xbd,0xa1,0xcc,0x81,0xe1,0xbd,0xa0,0xcd,0x82,0xe1,0xbd,0xa1,0xcd,0x82,0xce,0xa9,0xcc,0x93,0xce,0xa9,0xcc,0x94,0xe1,0xbd,
2497
  0xa8,0xcc,0x80,0xe1,0xbd,0xa9,0xcc,0x80,0xe1,0xbd,0xa8,0xcc,0x81,0xe1,0xbd,0xa9,0xcc,0x81,0xe1,0xbd,0xa8,0xcd,0x82,0xe1,0xbd,0xa9,0xcd,0x82,0xce,0xb1,0xcc,0x80,
2498
  0xce,0xac,0xce,0xb5,0xcc,0x80,0xce,0xad,0xce,0xb7,0xcc,0x80,0xce,0xae,0xce,0xb9,0xcc,0x80,0xce,0xaf,0xce,0xbf,0xcc,0x80,0xcf,0x8c,0xcf,0x85,0xcc,0x80,0xcf,0x8d,
2499
  0xcf,0x89,0xcc,0x80,0xcf,0x8e,0xe1,0xbc,0x80,0xcd,0x85,0xe1,0xbc,0x81,0xcd,0x85,0xe1,0xbc,0x82,0xcd,0x85,0xe1,0xbc,0x83,0xcd,0x85,0xe1,0xbc,0x84,0xcd,0x85,0xe1,
2500
  0xbc,0x85,0xcd,0x85,0xe1,0xbc,0x86,0xcd,0x85,0xe1,0xbc,0x87,0xcd,0x85,0xe1,0xbc,0x88,0xcd,0x85,0xe1,0xbc,0x89,0xcd,0x85,0xe1,0xbc,0x8a,0xcd,0x85,0xe1,0xbc,0x8b,
2501
  0xcd,0x85,0xe1,0xbc,0x8c,0xcd,0x85,0xe1,0xbc,0x8d,0xcd,0x85,0xe1,0xbc,0x8e,0xcd,0x85,0xe1,0xbc,0x8f,0xcd,0x85,0xe1,0xbc,0xa0,0xcd,0x85,0xe1,0xbc,0xa1,0xcd,0x85,
2502
  0xe1,0xbc,0xa2,0xcd,0x85,0xe1,0xbc,0xa3,0xcd,0x85,0xe1,0xbc,0xa4,0xcd,0x85,0xe1,0xbc,0xa5,0xcd,0x85,0xe1,0xbc,0xa6,0xcd,0x85,0xe1,0xbc,0xa7,0xcd,0x85,0xe1,0xbc,
2503
  0xa8,0xcd,0x85,0xe1,0xbc,0xa9,0xcd,0x85,0xe1,0xbc,0xaa,0xcd,0x85,0xe1,0xbc,0xab,0xcd,0x85,0xe1,0xbc,0xac,0xcd,0x85,0xe1,0xbc,0xad,0xcd,0x85,0xe1,0xbc,0xae,0xcd,
2504
  0x85,0xe1,0xbc,0xaf,0xcd,0x85,0xe1,0xbd,0xa0,0xcd,0x85,0xe1,0xbd,0xa1,0xcd,0x85,0xe1,0xbd,0xa2,0xcd,0x85,0xe1,0xbd,0xa3,0xcd,0x85,0xe1,0xbd,0xa4,0xcd,0x85,0xe1,
2505
  0xbd,0xa5,0xcd,0x85,0xe1,0xbd,0xa6,0xcd,0x85,0xe1,0xbd,0xa7,0xcd,0x85,0xe1,0xbd,0xa8,0xcd,0x85,0xe1,0xbd,0xa9,0xcd,0x85,0xe1,0xbd,0xaa,0xcd,0x85,0xe1,0xbd,0xab,
2506
  0xcd,0x85,0xe1,0xbd,0xac,0xcd,0x85,0xe1,0xbd,0xad,0xcd,0x85,0xe1,0xbd,0xae,0xcd,0x85,0xe1,0xbd,0xaf,0xcd,0x85,0xce,0xb1,0xcc,0x86,0xce,0xb1,0xcc,0x84,0xe1,0xbd,
2507
  0xb0,0xcd,0x85,0xce,0xb1,0xcd,0x85,0xce,0xac,0xcd,0x85,0xce,0xb1,0xcd,0x82,0xe1,0xbe,0xb6,0xcd,0x85,0xce,0x91,0xcc,0x86,0xce,0x91,0xcc,0x84,0xce,0x91,0xcc,0x80,
2508
  0xce,0x86,0xce,0x91,0xcd,0x85,0x20,0xcc,0x93,0xce,0xb9,0x20,0xcc,0x93,0x20,0xcd,0x82,0xc2,0xa8,0xcd,0x82,0xe1,0xbd,0xb4,0xcd,0x85,0xce,0xb7,0xcd,0x85,0xce,0xae,
2509
  0xcd,0x85,0xce,0xb7,0xcd,0x82,0xe1,0xbf,0x86,0xcd,0x85,0xce,0x95,0xcc,0x80,0xce,0x88,0xce,0x97,0xcc,0x80,0xce,0x89,0xce,0x97,0xcd,0x85,0xe1,0xbe,0xbf,0xcc,0x80,
2510
  0xe1,0xbe,0xbf,0xcc,0x81,0xe1,0xbe,0xbf,0xcd,0x82,0xce,0xb9,0xcc,0x86,0xce,0xb9,0xcc,0x84,0xcf,0x8a,0xcc,0x80,0xce,0x90,0xce,0xb9,0xcd,0x82,0xcf,0x8a,0xcd,0x82,
2511
  0xce,0x99,0xcc,0x86,0xce,0x99,0xcc,0x84,0xce,0x99,0xcc,0x80,0xce,0x8a,0xe1,0xbf,0xbe,0xcc,0x80,0xe1,0xbf,0xbe,0xcc,0x81,0xe1,0xbf,0xbe,0xcd,0x82,0xcf,0x85,0xcc,
2512
  0x86,0xcf,0x85,0xcc,0x84,0xcf,0x8b,0xcc,0x80,0xce,0xb0,0xcf,0x81,0xcc,0x93,0xcf,0x81,0xcc,0x94,0xcf,0x85,0xcd,0x82,0xcf,0x8b,0xcd,0x82,0xce,0xa5,0xcc,0x86,0xce,
2513
  0xa5,0xcc,0x84,0xce,0xa5,0xcc,0x80,0xce,0x8e,0xce,0xa1,0xcc,0x94,0xc2,0xa8,0xcc,0x80,0xce,0x85,0x60,0xe1,0xbd,0xbc,0xcd,0x85,0xcf,0x89,0xcd,0x85,0xcf,0x8e,0xcd,
2514
  0x85,0xcf,0x89,0xcd,0x82,0xe1,0xbf,0xb6,0xcd,0x85,0xce,0x9f,0xcc,0x80,0xce,0x8c,0xce,0xa9,0xcc,0x80,0xce,0x8f,0xce,0xa9,0xcd,0x85,0xc2,0xb4,0x20,0xcc,0x94,0xe2,
2515
  0x80,0x82,0xe2,0x80,0x83,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x80,0x90,0x20,0xcc,0xb3,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x20,0xe2,0x80,0xb2,0xe2,0x80,
2516
  0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0x21,0x21,0x20,0xcc,0x85,0x3f,0x3f,
2517
  0x3f,0x21,0x21,0x3f,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0x20,0x30,0x69,0x34,0x35,0x36,0x37,0x38,0x39,0x2b,0xe2,0x88,0x92,0x3d,0x28,0x29,
2518
  0x6e,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2b,0xe2,0x88,0x92,0x3d,0x28,0x29,0x61,0x65,0x6f,0x78,0xc9,0x99,0x68,0x6b,0x6c,0x6d,0x6e,0x70,0x73,0x74,
2519
  0x52,0x73,0x61,0x2f,0x63,0x61,0x2f,0x73,0x43,0xc2,0xb0,0x43,0x63,0x2f,0x6f,0x63,0x2f,0x75,0xc6,0x90,0xc2,0xb0,0x46,0x67,0x48,0x48,0x48,0x68,0xc4,0xa7,0x49,0x49,
2520
  0x4c,0x6c,0x4e,0x4e,0x6f,0x50,0x51,0x52,0x52,0x52,0x53,0x4d,0x54,0x45,0x4c,0x54,0x4d,0x5a,0xce,0xa9,0x5a,0x4b,0xc3,0x85,0x42,0x43,0x65,0x45,0x46,0x4d,0x6f,0xd7,
2521
  0x90,0xd7,0x91,0xd7,0x92,0xd7,0x93,0x69,0x46,0x41,0x58,0xcf,0x80,0xce,0xb3,0xce,0x93,0xce,0xa0,0xe2,0x88,0x91,0x44,0x64,0x65,0x69,0x6a,0x31,0xe2,0x81,0x84,0x37,
2522
  0x31,0xe2,0x81,0x84,0x39,0x31,0xe2,0x81,0x84,0x31,0x30,0x31,0xe2,0x81,0x84,0x33,0x32,0xe2,0x81,0x84,0x33,0x31,0xe2,0x81,0x84,0x35,0x32,0xe2,0x81,0x84,0x35,0x33,
2523
  0xe2,0x81,0x84,0x35,0x34,0xe2,0x81,0x84,0x35,0x31,0xe2,0x81,0x84,0x36,0x35,0xe2,0x81,0x84,0x36,0x31,0xe2,0x81,0x84,0x38,0x33,0xe2,0x81,0x84,0x38,0x35,0xe2,0x81,
2524
  0x84,0x38,0x37,0xe2,0x81,0x84,0x38,0x31,0xe2,0x81,0x84,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x56,0x56,0x56,0x49,0x56,0x49,0x49,0x56,0x49,0x49,0x49,0x49,0x58,0x58,
2525
  0x58,0x49,0x58,0x49,0x49,0x4c,0x43,0x44,0x4d,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x76,0x76,0x76,0x69,0x76,0x69,0x69,0x76,0x69,0x69,0x69,0x69,0x78,0x78,0x78,0x69,
2526
  0x78,0x69,0x69,0x6c,0x63,0x64,0x6d,0x30,0xe2,0x81,0x84,0x33,0xe2,0x86,0x90,0xcc,0xb8,0xe2,0x86,0x92,0xcc,0xb8,0xe2,0x86,0x94,0xcc,0xb8,0xe2,0x87,0x90,0xcc,0xb8,
2527
  0xe2,0x87,0x94,0xcc,0xb8,0xe2,0x87,0x92,0xcc,0xb8,0xe2,0x88,0x83,0xcc,0xb8,0xe2,0x88,0x88,0xcc,0xb8,0xe2,0x88,0x8b,0xcc,0xb8,0xe2,0x88,0xa3,0xcc,0xb8,0xe2,0x88,
2528
  0xa5,0xcc,0xb8,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,
2529
  0xae,0xe2,0x88,0xbc,0xcc,0xb8,0xe2,0x89,0x83,0xcc,0xb8,0xe2,0x89,0x85,0xcc,0xb8,0xe2,0x89,0x88,0xcc,0xb8,0x3d,0xcc,0xb8,0xe2,0x89,0xa1,0xcc,0xb8,0xe2,0x89,0x8d,
2530
  0xcc,0xb8,0x3c,0xcc,0xb8,0x3e,0xcc,0xb8,0xe2,0x89,0xa4,0xcc,0xb8,0xe2,0x89,0xa5,0xcc,0xb8,0xe2,0x89,0xb2,0xcc,0xb8,0xe2,0x89,0xb3,0xcc,0xb8,0xe2,0x89,0xb6,0xcc,
2531
  0xb8,0xe2,0x89,0xb7,0xcc,0xb8,0xe2,0x89,0xba,0xcc,0xb8,0xe2,0x89,0xbb,0xcc,0xb8,0xe2,0x8a,0x82,0xcc,0xb8,0xe2,0x8a,0x83,0xcc,0xb8,0xe2,0x8a,0x86,0xcc,0xb8,0xe2,
2532
  0x8a,0x87,0xcc,0xb8,0xe2,0x8a,0xa2,0xcc,0xb8,0xe2,0x8a,0xa8,0xcc,0xb8,0xe2,0x8a,0xa9,0xcc,0xb8,0xe2,0x8a,0xab,0xcc,0xb8,0xe2,0x89,0xbc,0xcc,0xb8,0xe2,0x89,0xbd,
2533
  0xcc,0xb8,0xe2,0x8a,0x91,0xcc,0xb8,0xe2,0x8a,0x92,0xcc,0xb8,0xe2,0x8a,0xb2,0xcc,0xb8,0xe2,0x8a,0xb3,0xcc,0xb8,0xe2,0x8a,0xb4,0xcc,0xb8,0xe2,0x8a,0xb5,0xcc,0xb8,
2534
  0xe3,0x80,0x88,0xe3,0x80,0x89,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x31,0x30,0x31,0x31,0x31,0x32,0x31,0x33,0x31,0x34,0x31,0x35,0x31,0x36,0x31,0x37,0x31,
2535
  0x38,0x31,0x39,0x32,0x30,0x28,0x31,0x29,0x28,0x32,0x29,0x28,0x33,0x29,0x28,0x34,0x29,0x28,0x35,0x29,0x28,0x36,0x29,0x28,0x37,0x29,0x28,0x38,0x29,0x28,0x39,0x29,
2536
  0x28,0x31,0x30,0x29,0x28,0x31,0x31,0x29,0x28,0x31,0x32,0x29,0x28,0x31,0x33,0x29,0x28,0x31,0x34,0x29,0x28,0x31,0x35,0x29,0x28,0x31,0x36,0x29,0x28,0x31,0x37,0x29,
2537
  0x28,0x31,0x38,0x29,0x28,0x31,0x39,0x29,0x28,0x32,0x30,0x29,0x31,0x2e,0x32,0x2e,0x33,0x2e,0x34,0x2e,0x35,0x2e,0x36,0x2e,0x37,0x2e,0x38,0x2e,0x39,0x2e,0x31,0x30,
2538
  0x2e,0x31,0x31,0x2e,0x31,0x32,0x2e,0x31,0x33,0x2e,0x31,0x34,0x2e,0x31,0x35,0x2e,0x31,0x36,0x2e,0x31,0x37,0x2e,0x31,0x38,0x2e,0x31,0x39,0x2e,0x32,0x30,0x2e,0x28,
2539
  0x61,0x29,0x28,0x62,0x29,0x28,0x63,0x29,0x28,0x64,0x29,0x28,0x65,0x29,0x28,0x66,0x29,0x28,0x67,0x29,0x28,0x68,0x29,0x28,0x69,0x29,0x28,0x6a,0x29,0x28,0x6b,0x29,
2540
  0x28,0x6c,0x29,0x28,0x6d,0x29,0x28,0x6e,0x29,0x28,0x6f,0x29,0x28,0x70,0x29,0x28,0x71,0x29,0x28,0x72,0x29,0x28,0x73,0x29,0x28,0x74,0x29,0x28,0x75,0x29,0x28,0x76,
2541
  0x29,0x28,0x77,0x29,0x28,0x78,0x29,0x28,0x79,0x29,0x28,0x7a,0x29,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,
2542
  0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,
2543
  0x7a,0x30,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0x3a,0x3a,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0xe2,0xab,0x9d,0xcc,0xb8,0x6a,0x56,0xe2,0xb5,0xa1,
2544
  0xe6,0xaf,0x8d,0xe9,0xbe,0x9f,0xe4,0xb8,0x80,0xe4,0xb8,0xa8,0xe4,0xb8,0xb6,0xe4,0xb8,0xbf,0xe4,0xb9,0x99,0xe4,0xba,0x85,0xe4,0xba,0x8c,0xe4,0xba,0xa0,0xe4,0xba,
2545
  0xba,0xe5,0x84,0xbf,0xe5,0x85,0xa5,0xe5,0x85,0xab,0xe5,0x86,0x82,0xe5,0x86,0x96,0xe5,0x86,0xab,0xe5,0x87,0xa0,0xe5,0x87,0xb5,0xe5,0x88,0x80,0xe5,0x8a,0x9b,0xe5,
2546
  0x8b,0xb9,0xe5,0x8c,0x95,0xe5,0x8c,0x9a,0xe5,0x8c,0xb8,0xe5,0x8d,0x81,0xe5,0x8d,0x9c,0xe5,0x8d,0xa9,0xe5,0x8e,0x82,0xe5,0x8e,0xb6,0xe5,0x8f,0x88,0xe5,0x8f,0xa3,
2547
  0xe5,0x9b,0x97,0xe5,0x9c,0x9f,0xe5,0xa3,0xab,0xe5,0xa4,0x82,0xe5,0xa4,0x8a,0xe5,0xa4,0x95,0xe5,0xa4,0xa7,0xe5,0xa5,0xb3,0xe5,0xad,0x90,0xe5,0xae,0x80,0xe5,0xaf,
2548
  0xb8,0xe5,0xb0,0x8f,0xe5,0xb0,0xa2,0xe5,0xb0,0xb8,0xe5,0xb1,0xae,0xe5,0xb1,0xb1,0xe5,0xb7,0x9b,0xe5,0xb7,0xa5,0xe5,0xb7,0xb1,0xe5,0xb7,0xbe,0xe5,0xb9,0xb2,0xe5,
2549
  0xb9,0xba,0xe5,0xb9,0xbf,0xe5,0xbb,0xb4,0xe5,0xbb,0xbe,0xe5,0xbc,0x8b,0xe5,0xbc,0x93,0xe5,0xbd,0x90,0xe5,0xbd,0xa1,0xe5,0xbd,0xb3,0xe5,0xbf,0x83,0xe6,0x88,0x88,
2550
  0xe6,0x88,0xb6,0xe6,0x89,0x8b,0xe6,0x94,0xaf,0xe6,0x94,0xb4,0xe6,0x96,0x87,0xe6,0x96,0x97,0xe6,0x96,0xa4,0xe6,0x96,0xb9,0xe6,0x97,0xa0,0xe6,0x97,0xa5,0xe6,0x9b,
2551
  0xb0,0xe6,0x9c,0x88,0xe6,0x9c,0xa8,0xe6,0xac,0xa0,0xe6,0xad,0xa2,0xe6,0xad,0xb9,0xe6,0xae,0xb3,0xe6,0xaf,0x8b,0xe6,0xaf,0x94,0xe6,0xaf,0x9b,0xe6,0xb0,0x8f,0xe6,
2552
  0xb0,0x94,0xe6,0xb0,0xb4,0xe7,0x81,0xab,0xe7,0x88,0xaa,0xe7,0x88,0xb6,0xe7,0x88,0xbb,0xe7,0x88,0xbf,0xe7,0x89,0x87,0xe7,0x89,0x99,0xe7,0x89,0x9b,0xe7,0x8a,0xac,
2553
  0xe7,0x8e,0x84,0xe7,0x8e,0x89,0xe7,0x93,0x9c,0xe7,0x93,0xa6,0xe7,0x94,0x98,0xe7,0x94,0x9f,0xe7,0x94,0xa8,0xe7,0x94,0xb0,0xe7,0x96,0x8b,0xe7,0x96,0x92,0xe7,0x99,
2554
  0xb6,0xe7,0x99,0xbd,0xe7,0x9a,0xae,0xe7,0x9a,0xbf,0xe7,0x9b,0xae,0xe7,0x9f,0x9b,0xe7,0x9f,0xa2,0xe7,0x9f,0xb3,0xe7,0xa4,0xba,0xe7,0xa6,0xb8,0xe7,0xa6,0xbe,0xe7,
2555
  0xa9,0xb4,0xe7,0xab,0x8b,0xe7,0xab,0xb9,0xe7,0xb1,0xb3,0xe7,0xb3,0xb8,0xe7,0xbc,0xb6,0xe7,0xbd,0x91,0xe7,0xbe,0x8a,0xe7,0xbe,0xbd,0xe8,0x80,0x81,0xe8,0x80,0x8c,
2556
  0xe8,0x80,0x92,0xe8,0x80,0xb3,0xe8,0x81,0xbf,0xe8,0x82,0x89,0xe8,0x87,0xa3,0xe8,0x87,0xaa,0xe8,0x87,0xb3,0xe8,0x87,0xbc,0xe8,0x88,0x8c,0xe8,0x88,0x9b,0xe8,0x88,
2557
  0x9f,0xe8,0x89,0xae,0xe8,0x89,0xb2,0xe8,0x89,0xb8,0xe8,0x99,0x8d,0xe8,0x99,0xab,0xe8,0xa1,0x80,0xe8,0xa1,0x8c,0xe8,0xa1,0xa3,0xe8,0xa5,0xbe,0xe8,0xa6,0x8b,0xe8,
2558
  0xa7,0x92,0xe8,0xa8,0x80,0xe8,0xb0,0xb7,0xe8,0xb1,0x86,0xe8,0xb1,0x95,0xe8,0xb1,0xb8,0xe8,0xb2,0x9d,0xe8,0xb5,0xa4,0xe8,0xb5,0xb0,0xe8,0xb6,0xb3,0xe8,0xba,0xab,
2559
  0xe8,0xbb,0x8a,0xe8,0xbe,0x9b,0xe8,0xbe,0xb0,0xe8,0xbe,0xb5,0xe9,0x82,0x91,0xe9,0x85,0x89,0xe9,0x87,0x86,0xe9,0x87,0x8c,0xe9,0x87,0x91,0xe9,0x95,0xb7,0xe9,0x96,
2560
  0x80,0xe9,0x98,0x9c,0xe9,0x9a,0xb6,0xe9,0x9a,0xb9,0xe9,0x9b,0xa8,0xe9,0x9d,0x91,0xe9,0x9d,0x9e,0xe9,0x9d,0xa2,0xe9,0x9d,0xa9,0xe9,0x9f,0x8b,0xe9,0x9f,0xad,0xe9,
2561
  0x9f,0xb3,0xe9,0xa0,0x81,0xe9,0xa2,0xa8,0xe9,0xa3,0x9b,0xe9,0xa3,0x9f,0xe9,0xa6,0x96,0xe9,0xa6,0x99,0xe9,0xa6,0xac,0xe9,0xaa,0xa8,0xe9,0xab,0x98,0xe9,0xab,0x9f,
2562
  0xe9,0xac,0xa5,0xe9,0xac,0xaf,0xe9,0xac,0xb2,0xe9,0xac,0xbc,0xe9,0xad,0x9a,0xe9,0xb3,0xa5,0xe9,0xb9,0xb5,0xe9,0xb9,0xbf,0xe9,0xba,0xa5,0xe9,0xba,0xbb,0xe9,0xbb,
2563
  0x83,0xe9,0xbb,0x8d,0xe9,0xbb,0x91,0xe9,0xbb,0xb9,0xe9,0xbb,0xbd,0xe9,0xbc,0x8e,0xe9,0xbc,0x93,0xe9,0xbc,0xa0,0xe9,0xbc,0xbb,0xe9,0xbd,0x8a,0xe9,0xbd,0x92,0xe9,
2564
  0xbe,0x8d,0xe9,0xbe,0x9c,0xe9,0xbe,0xa0,0x20,0xe3,0x80,0x92,0xe5,0x8d,0x81,0xe5,0x8d,0x84,0xe5,0x8d,0x85,0xe3,0x81,0x8b,0xe3,0x82,0x99,0xe3,0x81,0x8d,0xe3,0x82,
2565
  0x99,0xe3,0x81,0x8f,0xe3,0x82,0x99,0xe3,0x81,0x91,0xe3,0x82,0x99,0xe3,0x81,0x93,0xe3,0x82,0x99,0xe3,0x81,0x95,0xe3,0x82,0x99,0xe3,0x81,0x97,0xe3,0x82,0x99,0xe3,
2566
  0x81,0x99,0xe3,0x82,0x99,0xe3,0x81,0x9b,0xe3,0x82,0x99,0xe3,0x81,0x9d,0xe3,0x82,0x99,0xe3,0x81,0x9f,0xe3,0x82,0x99,0xe3,0x81,0xa1,0xe3,0x82,0x99,0xe3,0x81,0xa4,
2567
  0xe3,0x82,0x99,0xe3,0x81,0xa6,0xe3,0x82,0x99,0xe3,0x81,0xa8,0xe3,0x82,0x99,0xe3,0x81,0xaf,0xe3,0x82,0x99,0xe3,0x81,0xaf,0xe3,0x82,0x9a,0xe3,0x81,0xb2,0xe3,0x82,
2568
  0x99,0xe3,0x81,0xb2,0xe3,0x82,0x9a,0xe3,0x81,0xb5,0xe3,0x82,0x99,0xe3,0x81,0xb5,0xe3,0x82,0x9a,0xe3,0x81,0xb8,0xe3,0x82,0x99,0xe3,0x81,0xb8,0xe3,0x82,0x9a,0xe3,
2569
  0x81,0xbb,0xe3,0x82,0x99,0xe3,0x81,0xbb,0xe3,0x82,0x9a,0xe3,0x81,0x86,0xe3,0x82,0x99,0x20,0xe3,0x82,0x99,0x20,0xe3,0x82,0x9a,0xe3,0x82,0x9d,0xe3,0x82,0x99,0xe3,
2570
  0x82,0x88,0xe3,0x82,0x8a,0xe3,0x82,0xab,0xe3,0x82,0x99,0xe3,0x82,0xad,0xe3,0x82,0x99,0xe3,0x82,0xaf,0xe3,0x82,0x99,0xe3,0x82,0xb1,0xe3,0x82,0x99,0xe3,0x82,0xb3,
2571
  0xe3,0x82,0x99,0xe3,0x82,0xb5,0xe3,0x82,0x99,0xe3,0x82,0xb7,0xe3,0x82,0x99,0xe3,0x82,0xb9,0xe3,0x82,0x99,0xe3,0x82,0xbb,0xe3,0x82,0x99,0xe3,0x82,0xbd,0xe3,0x82,
2572
  0x99,0xe3,0x82,0xbf,0xe3,0x82,0x99,0xe3,0x83,0x81,0xe3,0x82,0x99,0xe3,0x83,0x84,0xe3,0x82,0x99,0xe3,0x83,0x86,0xe3,0x82,0x99,0xe3,0x83,0x88,0xe3,0x82,0x99,0xe3,
2573
  0x83,0x8f,0xe3,0x82,0x99,0xe3,0x83,0x8f,0xe3,0x82,0x9a,0xe3,0x83,0x92,0xe3,0x82,0x99,0xe3,0x83,0x92,0xe3,0x82,0x9a,0xe3,0x83,0x95,0xe3,0x82,0x99,0xe3,0x83,0x95,
2574
  0xe3,0x82,0x9a,0xe3,0x83,0x98,0xe3,0x82,0x99,0xe3,0x83,0x98,0xe3,0x82,0x9a,0xe3,0x83,0x9b,0xe3,0x82,0x99,0xe3,0x83,0x9b,0xe3,0x82,0x9a,0xe3,0x82,0xa6,0xe3,0x82,
2575
  0x99,0xe3,0x83,0xaf,0xe3,0x82,0x99,0xe3,0x83,0xb0,0xe3,0x82,0x99,0xe3,0x83,0xb1,0xe3,0x82,0x99,0xe3,0x83,0xb2,0xe3,0x82,0x99,0xe3,0x83,0xbd,0xe3,0x82,0x99,0xe3,
2576
  0x82,0xb3,0xe3,0x83,0x88,0xe1,0x84,0x80,0xe1,0x84,0x81,0xe1,0x86,0xaa,0xe1,0x84,0x82,0xe1,0x86,0xac,0xe1,0x86,0xad,0xe1,0x84,0x83,0xe1,0x84,0x84,0xe1,0x84,0x85,
2577
  0xe1,0x86,0xb0,0xe1,0x86,0xb1,0xe1,0x86,0xb2,0xe1,0x86,0xb3,0xe1,0x86,0xb4,0xe1,0x86,0xb5,0xe1,0x84,0x9a,0xe1,0x84,0x86,0xe1,0x84,0x87,0xe1,0x84,0x88,0xe1,0x84,
2578
  0xa1,0xe1,0x84,0x89,0xe1,0x84,0x8a,0xe1,0x84,0x8b,0xe1,0x84,0x8c,0xe1,0x84,0x8d,0xe1,0x84,0x8e,0xe1,0x84,0x8f,0xe1,0x84,0x90,0xe1,0x84,0x91,0xe1,0x84,0x92,0xe1,
2579
  0x85,0xa1,0xe1,0x85,0xa2,0xe1,0x85,0xa3,0xe1,0x85,0xa4,0xe1,0x85,0xa5,0xe1,0x85,0xa6,0xe1,0x85,0xa7,0xe1,0x85,0xa8,0xe1,0x85,0xa9,0xe1,0x85,0xaa,0xe1,0x85,0xab,
2580
  0xe1,0x85,0xac,0xe1,0x85,0xad,0xe1,0x85,0xae,0xe1,0x85,0xaf,0xe1,0x85,0xb0,0xe1,0x85,0xb1,0xe1,0x85,0xb2,0xe1,0x85,0xb3,0xe1,0x85,0xb4,0xe1,0x85,0xb5,0xe1,0x85,
2581
  0xa0,0xe1,0x84,0x94,0xe1,0x84,0x95,0xe1,0x87,0x87,0xe1,0x87,0x88,0xe1,0x87,0x8c,0xe1,0x87,0x8e,0xe1,0x87,0x93,0xe1,0x87,0x97,0xe1,0x87,0x99,0xe1,0x84,0x9c,0xe1,
2582
  0x87,0x9d,0xe1,0x87,0x9f,0xe1,0x84,0x9d,0xe1,0x84,0x9e,0xe1,0x84,0xa0,0xe1,0x84,0xa2,0xe1,0x84,0xa3,0xe1,0x84,0xa7,0xe1,0x84,0xa9,0xe1,0x84,0xab,0xe1,0x84,0xac,
2583
  0xe1,0x84,0xad,0xe1,0x84,0xae,0xe1,0x84,0xaf,0xe1,0x84,0xb2,0xe1,0x84,0xb6,0xe1,0x85,0x80,0xe1,0x85,0x87,0xe1,0x85,0x8c,0xe1,0x87,0xb1,0xe1,0x87,0xb2,0xe1,0x85,
2584
  0x97,0xe1,0x85,0x98,0xe1,0x85,0x99,0xe1,0x86,0x84,0xe1,0x86,0x85,0xe1,0x86,0x88,0xe1,0x86,0x91,0xe1,0x86,0x92,0xe1,0x86,0x94,0xe1,0x86,0x9e,0xe1,0x86,0xa1,0xe4,
2585
  0xb8,0x80,0xe4,0xba,0x8c,0xe4,0xb8,0x89,0xe5,0x9b,0x9b,0xe4,0xb8,0x8a,0xe4,0xb8,0xad,0xe4,0xb8,0x8b,0xe7,0x94,0xb2,0xe4,0xb9,0x99,0xe4,0xb8,0x99,0xe4,0xb8,0x81,
2586
  0xe5,0xa4,0xa9,0xe5,0x9c,0xb0,0xe4,0xba,0xba,0x28,0xe1,0x84,0x80,0x29,0x28,0xe1,0x84,0x82,0x29,0x28,0xe1,0x84,0x83,0x29,0x28,0xe1,0x84,0x85,0x29,0x28,0xe1,0x84,
2587
  0x86,0x29,0x28,0xe1,0x84,0x87,0x29,0x28,0xe1,0x84,0x89,0x29,0x28,0xe1,0x84,0x8b,0x29,0x28,0xe1,0x84,0x8c,0x29,0x28,0xe1,0x84,0x8e,0x29,0x28,0xe1,0x84,0x8f,0x29,
2588
  0x28,0xe1,0x84,0x90,0x29,0x28,0xe1,0x84,0x91,0x29,0x28,0xe1,0x84,0x92,0x29,0x28,0xe1,0x84,0x80,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x82,0xe1,0x85,0xa1,0x29,0x28,
2589
  0xe1,0x84,0x83,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x85,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x86,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x87,0xe1,0x85,0xa1,0x29,0x28,
2590
  0xe1,0x84,0x89,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8c,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0x29,0x28,
2591
  0xe1,0x84,0x8f,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x90,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x91,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x92,0xe1,0x85,0xa1,0x29,0x28,
2592
  0xe1,0x84,0x8c,0xe1,0x85,0xae,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa9,0xe1,0x84,0x8c,0xe1,0x85,0xa5,0xe1,0x86,0xab,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa9,0xe1,
2593
  0x84,0x92,0xe1,0x85,0xae,0x29,0x28,0xe4,0xb8,0x80,0x29,0x28,0xe4,0xba,0x8c,0x29,0x28,0xe4,0xb8,0x89,0x29,0x28,0xe5,0x9b,0x9b,0x29,0x28,0xe4,0xba,0x94,0x29,0x28,
2594
  0xe5,0x85,0xad,0x29,0x28,0xe4,0xb8,0x83,0x29,0x28,0xe5,0x85,0xab,0x29,0x28,0xe4,0xb9,0x9d,0x29,0x28,0xe5,0x8d,0x81,0x29,0x28,0xe6,0x9c,0x88,0x29,0x28,0xe7,0x81,
2595
  0xab,0x29,0x28,0xe6,0xb0,0xb4,0x29,0x28,0xe6,0x9c,0xa8,0x29,0x28,0xe9,0x87,0x91,0x29,0x28,0xe5,0x9c,0x9f,0x29,0x28,0xe6,0x97,0xa5,0x29,0x28,0xe6,0xa0,0xaa,0x29,
2596
  0x28,0xe6,0x9c,0x89,0x29,0x28,0xe7,0xa4,0xbe,0x29,0x28,0xe5,0x90,0x8d,0x29,0x28,0xe7,0x89,0xb9,0x29,0x28,0xe8,0xb2,0xa1,0x29,0x28,0xe7,0xa5,0x9d,0x29,0x28,0xe5,
2597
  0x8a,0xb4,0x29,0x28,0xe4,0xbb,0xa3,0x29,0x28,0xe5,0x91,0xbc,0x29,0x28,0xe5,0xad,0xa6,0x29,0x28,0xe7,0x9b,0xa3,0x29,0x28,0xe4,0xbc,0x81,0x29,0x28,0xe8,0xb3,0x87,
2598
  0x29,0x28,0xe5,0x8d,0x94,0x29,0x28,0xe7,0xa5,0xad,0x29,0x28,0xe4,0xbc,0x91,0x29,0x28,0xe8,0x87,0xaa,0x29,0x28,0xe8,0x87,0xb3,0x29,0xe5,0x95,0x8f,0xe5,0xb9,0xbc,
2599
  0xe6,0x96,0x87,0xe7,0xae,0x8f,0x50,0x54,0x45,0x32,0x31,0x32,0x32,0x32,0x33,0x32,0x34,0x32,0x35,0x32,0x36,0x32,0x37,0x32,0x38,0x32,0x39,0x33,0x30,0x33,0x31,0x33,
2600
  0x32,0x33,0x33,0x33,0x34,0x33,0x35,0xe1,0x84,0x80,0xe1,0x84,0x82,0xe1,0x84,0x83,0xe1,0x84,0x85,0xe1,0x84,0x86,0xe1,0x84,0x87,0xe1,0x84,0x89,0xe1,0x84,0x8b,0xe1,
2601
  0x84,0x8c,0xe1,0x84,0x8e,0xe1,0x84,0x8f,0xe1,0x84,0x90,0xe1,0x84,0x91,0xe1,0x84,0x92,0xe1,0x84,0x80,0xe1,0x85,0xa1,0xe1,0x84,0x82,0xe1,0x85,0xa1,0xe1,0x84,0x83,
2602
  0xe1,0x85,0xa1,0xe1,0x84,0x85,0xe1,0x85,0xa1,0xe1,0x84,0x86,0xe1,0x85,0xa1,0xe1,0x84,0x87,0xe1,0x85,0xa1,0xe1,0x84,0x89,0xe1,0x85,0xa1,0xe1,0x84,0x8b,0xe1,0x85,
2603
  0xa1,0xe1,0x84,0x8c,0xe1,0x85,0xa1,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0xe1,0x84,0x8f,0xe1,0x85,0xa1,0xe1,0x84,0x90,0xe1,0x85,0xa1,0xe1,0x84,0x91,0xe1,0x85,0xa1,0xe1,
2604
  0x84,0x92,0xe1,0x85,0xa1,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0xe1,0x86,0xb7,0xe1,0x84,0x80,0xe1,0x85,0xa9,0xe1,0x84,0x8c,0xe1,0x85,0xae,0xe1,0x84,0x8b,0xe1,0x85,0xb4,
2605
  0xe1,0x84,0x8b,0xe1,0x85,0xae,0xe4,0xb8,0x80,0xe4,0xba,0x8c,0xe4,0xb8,0x89,0xe5,0x9b,0x9b,0xe4,0xba,0x94,0xe5,0x85,0xad,0xe4,0xb8,0x83,0xe5,0x85,0xab,0xe4,0xb9,
2606
  0x9d,0xe5,0x8d,0x81,0xe6,0x9c,0x88,0xe7,0x81,0xab,0xe6,0xb0,0xb4,0xe6,0x9c,0xa8,0xe9,0x87,0x91,0xe5,0x9c,0x9f,0xe6,0x97,0xa5,0xe6,0xa0,0xaa,0xe6,0x9c,0x89,0xe7,
2607
  0xa4,0xbe,0xe5,0x90,0x8d,0xe7,0x89,0xb9,0xe8,0xb2,0xa1,0xe7,0xa5,0x9d,0xe5,0x8a,0xb4,0xe7,0xa7,0x98,0xe7,0x94,0xb7,0xe5,0xa5,0xb3,0xe9,0x81,0xa9,0xe5,0x84,0xaa,
2608
  0xe5,0x8d,0xb0,0xe6,0xb3,0xa8,0xe9,0xa0,0x85,0xe4,0xbc,0x91,0xe5,0x86,0x99,0xe6,0xad,0xa3,0xe4,0xb8,0x8a,0xe4,0xb8,0xad,0xe4,0xb8,0x8b,0xe5,0xb7,0xa6,0xe5,0x8f,
2609
  0xb3,0xe5,0x8c,0xbb,0xe5,0xae,0x97,0xe5,0xad,0xa6,0xe7,0x9b,0xa3,0xe4,0xbc,0x81,0xe8,0xb3,0x87,0xe5,0x8d,0x94,0xe5,0xa4,0x9c,0x33,0x36,0x33,0x37,0x33,0x38,0x33,
2610
  0x39,0x34,0x30,0x34,0x31,0x34,0x32,0x34,0x33,0x34,0x34,0x34,0x35,0x34,0x36,0x34,0x37,0x34,0x38,0x34,0x39,0x35,0x30,0x31,0xe6,0x9c,0x88,0x32,0xe6,0x9c,0x88,0x33,
2611
  0xe6,0x9c,0x88,0x34,0xe6,0x9c,0x88,0x35,0xe6,0x9c,0x88,0x36,0xe6,0x9c,0x88,0x37,0xe6,0x9c,0x88,0x38,0xe6,0x9c,0x88,0x39,0xe6,0x9c,0x88,0x31,0x30,0xe6,0x9c,0x88,
2612
  0x31,0x31,0xe6,0x9c,0x88,0x31,0x32,0xe6,0x9c,0x88,0x48,0x67,0x65,0x72,0x67,0x65,0x56,0x4c,0x54,0x44,0xe3,0x82,0xa2,0xe3,0x82,0xa4,0xe3,0x82,0xa6,0xe3,0x82,0xa8,
2613
  0xe3,0x82,0xaa,0xe3,0x82,0xab,0xe3,0x82,0xad,0xe3,0x82,0xaf,0xe3,0x82,0xb1,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe3,0x82,0xb7,0xe3,0x82,0xb9,0xe3,0x82,0xbb,0xe3,0x82,
2614
  0xbd,0xe3,0x82,0xbf,0xe3,0x83,0x81,0xe3,0x83,0x84,0xe3,0x83,0x86,0xe3,0x83,0x88,0xe3,0x83,0x8a,0xe3,0x83,0x8b,0xe3,0x83,0x8c,0xe3,0x83,0x8d,0xe3,0x83,0x8e,0xe3,
2615
  0x83,0x8f,0xe3,0x83,0x92,0xe3,0x83,0x95,0xe3,0x83,0x98,0xe3,0x83,0x9b,0xe3,0x83,0x9e,0xe3,0x83,0x9f,0xe3,0x83,0xa0,0xe3,0x83,0xa1,0xe3,0x83,0xa2,0xe3,0x83,0xa4,
2616
  0xe3,0x83,0xa6,0xe3,0x83,0xa8,0xe3,0x83,0xa9,0xe3,0x83,0xaa,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0xb0,0xe3,0x83,0xb1,0xe3,0x83,
2617
  0xb2,0xe4,0xbb,0xa4,0xe5,0x92,0x8c,0xe3,0x82,0xa2,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x82,0xa2,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x82,0xa1,0xe3,
2618
  0x82,0xa2,0xe3,0x83,0xb3,0xe3,0x83,0x9a,0xe3,0x82,0xa2,0xe3,0x82,0xa2,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x82,0xa4,0xe3,0x83,0x8b,0xe3,0x83,0xb3,0xe3,0x82,0xb0,
2619
  0xe3,0x82,0xa4,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x82,0xa6,0xe3,0x82,0xa9,0xe3,0x83,0xb3,0xe3,0x82,0xa8,0xe3,0x82,0xb9,0xe3,0x82,0xaf,0xe3,0x83,0xbc,0xe3,0x83,
2620
  0x89,0xe3,0x82,0xa8,0xe3,0x83,0xbc,0xe3,0x82,0xab,0xe3,0x83,0xbc,0xe3,0x82,0xaa,0xe3,0x83,0xb3,0xe3,0x82,0xb9,0xe3,0x82,0xaa,0xe3,0x83,0xbc,0xe3,0x83,0xa0,0xe3,
2621
  0x82,0xab,0xe3,0x82,0xa4,0xe3,0x83,0xaa,0xe3,0x82,0xab,0xe3,0x83,0xa9,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x82,0xab,0xe3,0x83,0xad,0xe3,0x83,0xaa,0xe3,0x83,0xbc,
2622
  0xe3,0x82,0xac,0xe3,0x83,0xad,0xe3,0x83,0xb3,0xe3,0x82,0xac,0xe3,0x83,0xb3,0xe3,0x83,0x9e,0xe3,0x82,0xae,0xe3,0x82,0xac,0xe3,0x82,0xae,0xe3,0x83,0x8b,0xe3,0x83,
2623
  0xbc,0xe3,0x82,0xad,0xe3,0x83,0xa5,0xe3,0x83,0xaa,0xe3,0x83,0xbc,0xe3,0x82,0xae,0xe3,0x83,0xab,0xe3,0x83,0x80,0xe3,0x83,0xbc,0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,
2624
  0x82,0xad,0xe3,0x83,0xad,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,0xa0,0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,0x83,0xa1,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0xab,
2625
  0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,0xa0,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,
2626
  0xa0,0xe3,0x83,0x88,0xe3,0x83,0xb3,0xe3,0x82,0xaf,0xe3,0x83,0xab,0xe3,0x82,0xbc,0xe3,0x82,0xa4,0xe3,0x83,0xad,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0xbc,0xe3,
2627
  0x83,0x8d,0xe3,0x82,0xb1,0xe3,0x83,0xbc,0xe3,0x82,0xb9,0xe3,0x82,0xb3,0xe3,0x83,0xab,0xe3,0x83,0x8a,0xe3,0x82,0xb3,0xe3,0x83,0xbc,0xe3,0x83,0x9d,0xe3,0x82,0xb5,
2628
  0xe3,0x82,0xa4,0xe3,0x82,0xaf,0xe3,0x83,0xab,0xe3,0x82,0xb5,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x83,0xbc,0xe3,0x83,0xa0,0xe3,0x82,0xb7,0xe3,0x83,0xaa,0xe3,0x83,
2629
  0xb3,0xe3,0x82,0xb0,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x80,0xe3,0x83,0xbc,0xe3,0x82,0xb9,0xe3,
2630
  0x83,0x87,0xe3,0x82,0xb7,0xe3,0x83,0x89,0xe3,0x83,0xab,0xe3,0x83,0x88,0xe3,0x83,0xb3,0xe3,0x83,0x8a,0xe3,0x83,0x8e,0xe3,0x83,0x8e,0xe3,0x83,0x83,0xe3,0x83,0x88,
2631
  0xe3,0x83,0x8f,0xe3,0x82,0xa4,0xe3,0x83,0x84,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x83,
2632
  0x84,0xe3,0x83,0x90,0xe3,0x83,0xbc,0xe3,0x83,0xac,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,0x82,0xa2,0xe3,0x82,0xb9,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,
2633
  0x82,0xaf,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,0x82,0xb3,0xe3,0x83,0x93,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x82,0xa1,0xe3,0x83,0xa9,0xe3,0x83,0x83,0xe3,0x83,0x89,
2634
  0xe3,0x83,0x95,0xe3,0x82,0xa3,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0x96,0xe3,0x83,0x83,0xe3,0x82,0xb7,0xe3,0x82,0xa7,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x83,
2635
  0xa9,0xe3,0x83,0xb3,0xe3,0x83,0x98,0xe3,0x82,0xaf,0xe3,0x82,0xbf,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0x9a,0xe3,0x82,0xbd,0xe3,0x83,0x9a,0xe3,0x83,0x8b,0xe3,
2636
  0x83,0x92,0xe3,0x83,0x98,0xe3,0x83,0xab,0xe3,0x83,0x84,0xe3,0x83,0x9a,0xe3,0x83,0xb3,0xe3,0x82,0xb9,0xe3,0x83,0x9a,0xe3,0x83,0xbc,0xe3,0x82,0xb8,0xe3,0x83,0x99,
2637
  0xe3,0x83,0xbc,0xe3,0x82,0xbf,0xe3,0x83,0x9d,0xe3,0x82,0xa4,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x9c,0xe3,0x83,0xab,0xe3,0x83,0x88,0xe3,0x83,0x9b,0xe3,0x83,
2638
  0xb3,0xe3,0x83,0x9d,0xe3,0x83,0xb3,0xe3,0x83,0x89,0xe3,0x83,0x9b,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0x9b,0xe3,0x83,0xbc,0xe3,0x83,0xb3,0xe3,0x83,0x9e,0xe3,
2639
  0x82,0xa4,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0x9e,0xe3,0x82,0xa4,0xe3,0x83,0xab,0xe3,0x83,0x9e,0xe3,0x83,0x83,0xe3,0x83,0x8f,0xe3,0x83,0x9e,0xe3,0x83,0xab,
2640
  0xe3,0x82,0xaf,0xe3,0x83,0x9e,0xe3,0x83,0xb3,0xe3,0x82,0xb7,0xe3,0x83,0xa7,0xe3,0x83,0xb3,0xe3,0x83,0x9f,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0xb3,0xe3,0x83,
2641
  0x9f,0xe3,0x83,0xaa,0xe3,0x83,0x9f,0xe3,0x83,0xaa,0xe3,0x83,0x90,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0xa1,0xe3,0x82,0xac,0xe3,0x83,0xa1,0xe3,0x82,0xac,0xe3,
2642
  0x83,0x88,0xe3,0x83,0xb3,0xe3,0x83,0xa1,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0xa4,0xe3,0x83,0xbc,0xe3,0x83,0x89,0xe3,0x83,0xa4,0xe3,0x83,0xbc,
2643
  0xe3,0x83,0xab,0xe3,0x83,0xa6,0xe3,0x82,0xa2,0xe3,0x83,0xb3,0xe3,0x83,0xaa,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0xaa,0xe3,0x83,0xa9,0xe3,0x83,
2644
  0xab,0xe3,0x83,0x94,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0xbc,0xe3,0x83,0x96,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xa0,0xe3,0x83,0xac,0xe3,0x83,0xb3,0xe3,
2645
  0x83,0x88,0xe3,0x82,0xb2,0xe3,0x83,0xb3,0xe3,0x83,0xaf,0xe3,0x83,0x83,0xe3,0x83,0x88,0x30,0xe7,0x82,0xb9,0x31,0xe7,0x82,0xb9,0x32,0xe7,0x82,0xb9,0x33,0xe7,0x82,
2646
  0xb9,0x34,0xe7,0x82,0xb9,0x35,0xe7,0x82,0xb9,0x36,0xe7,0x82,0xb9,0x37,0xe7,0x82,0xb9,0x38,0xe7,0x82,0xb9,0x39,0xe7,0x82,0xb9,0x31,0x30,0xe7,0x82,0xb9,0x31,0x31,
2647
  0xe7,0x82,0xb9,0x31,0x32,0xe7,0x82,0xb9,0x31,0x33,0xe7,0x82,0xb9,0x31,0x34,0xe7,0x82,0xb9,0x31,0x35,0xe7,0x82,0xb9,0x31,0x36,0xe7,0x82,0xb9,0x31,0x37,0xe7,0x82,
2648
  0xb9,0x31,0x38,0xe7,0x82,0xb9,0x31,0x39,0xe7,0x82,0xb9,0x32,0x30,0xe7,0x82,0xb9,0x32,0x31,0xe7,0x82,0xb9,0x32,0x32,0xe7,0x82,0xb9,0x32,0x33,0xe7,0x82,0xb9,0x32,
2649
  0x34,0xe7,0x82,0xb9,0x68,0x50,0x61,0x64,0x61,0x41,0x55,0x62,0x61,0x72,0x6f,0x56,0x70,0x63,0x64,0x6d,0x64,0x6d,0xc2,0xb2,0x64,0x6d,0xc2,0xb3,0x49,0x55,0xe5,0xb9,
2650
  0xb3,0xe6,0x88,0x90,0xe6,0x98,0xad,0xe5,0x92,0x8c,0xe5,0xa4,0xa7,0xe6,0xad,0xa3,0xe6,0x98,0x8e,0xe6,0xb2,0xbb,0xe6,0xa0,0xaa,0xe5,0xbc,0x8f,0xe4,0xbc,0x9a,0xe7,
2651
  0xa4,0xbe,0x70,0x41,0x6e,0x41,0xce,0xbc,0x41,0x6d,0x41,0x6b,0x41,0x4b,0x42,0x4d,0x42,0x47,0x42,0x63,0x61,0x6c,0x6b,0x63,0x61,0x6c,0x70,0x46,0x6e,0x46,0xce,0xbc,
2652
  0x46,0xce,0xbc,0x67,0x6d,0x67,0x6b,0x67,0x48,0x7a,0x6b,0x48,0x7a,0x4d,0x48,0x7a,0x47,0x48,0x7a,0x54,0x48,0x7a,0xce,0xbc,0xe2,0x84,0x93,0x6d,0xe2,0x84,0x93,0x64,
2653
  0xe2,0x84,0x93,0x6b,0xe2,0x84,0x93,0x66,0x6d,0x6e,0x6d,0xce,0xbc,0x6d,0x6d,0x6d,0x63,0x6d,0x6b,0x6d,0x6d,0x6d,0xc2,0xb2,0x63,0x6d,0xc2,0xb2,0x6d,0xc2,0xb2,0x6b,
2654
  0x6d,0xc2,0xb2,0x6d,0x6d,0xc2,0xb3,0x63,0x6d,0xc2,0xb3,0x6d,0xc2,0xb3,0x6b,0x6d,0xc2,0xb3,0x6d,0xe2,0x88,0x95,0x73,0x6d,0xe2,0x88,0x95,0x73,0xc2,0xb2,0x50,0x61,
2655
  0x6b,0x50,0x61,0x4d,0x50,0x61,0x47,0x50,0x61,0x72,0x61,0x64,0x72,0x61,0x64,0xe2,0x88,0x95,0x73,0x72,0x61,0x64,0xe2,0x88,0x95,0x73,0xc2,0xb2,0x70,0x73,0x6e,0x73,
2656
  0xce,0xbc,0x73,0x6d,0x73,0x70,0x56,0x6e,0x56,0xce,0xbc,0x56,0x6d,0x56,0x6b,0x56,0x4d,0x56,0x70,0x57,0x6e,0x57,0xce,0xbc,0x57,0x6d,0x57,0x6b,0x57,0x4d,0x57,0x6b,
2657
  0xce,0xa9,0x4d,0xce,0xa9,0x61,0x2e,0x6d,0x2e,0x42,0x71,0x63,0x63,0x63,0x64,0x43,0xe2,0x88,0x95,0x6b,0x67,0x43,0x6f,0x2e,0x64,0x42,0x47,0x79,0x68,0x61,0x48,0x50,
2658
  0x69,0x6e,0x4b,0x4b,0x4b,0x4d,0x6b,0x74,0x6c,0x6d,0x6c,0x6e,0x6c,0x6f,0x67,0x6c,0x78,0x6d,0x62,0x6d,0x69,0x6c,0x6d,0x6f,0x6c,0x50,0x48,0x70,0x2e,0x6d,0x2e,0x50,
2659
  0x50,0x4d,0x50,0x52,0x73,0x72,0x53,0x76,0x57,0x62,0x56,0xe2,0x88,0x95,0x6d,0x41,0xe2,0x88,0x95,0x6d,0x31,0xe6,0x97,0xa5,0x32,0xe6,0x97,0xa5,0x33,0xe6,0x97,0xa5,
2660
  0x34,0xe6,0x97,0xa5,0x35,0xe6,0x97,0xa5,0x36,0xe6,0x97,0xa5,0x37,0xe6,0x97,0xa5,0x38,0xe6,0x97,0xa5,0x39,0xe6,0x97,0xa5,0x31,0x30,0xe6,0x97,0xa5,0x31,0x31,0xe6,
2661
  0x97,0xa5,0x31,0x32,0xe6,0x97,0xa5,0x31,0x33,0xe6,0x97,0xa5,0x31,0x34,0xe6,0x97,0xa5,0x31,0x35,0xe6,0x97,0xa5,0x31,0x36,0xe6,0x97,0xa5,0x31,0x37,0xe6,0x97,0xa5,
2662
  0x31,0x38,0xe6,0x97,0xa5,0x31,0x39,0xe6,0x97,0xa5,0x32,0x30,0xe6,0x97,0xa5,0x32,0x31,0xe6,0x97,0xa5,0x32,0x32,0xe6,0x97,0xa5,0x32,0x33,0xe6,0x97,0xa5,0x32,0x34,
2663
  0xe6,0x97,0xa5,0x32,0x35,0xe6,0x97,0xa5,0x32,0x36,0xe6,0x97,0xa5,0x32,0x37,0xe6,0x97,0xa5,0x32,0x38,0xe6,0x97,0xa5,0x32,0x39,0xe6,0x97,0xa5,0x33,0x30,0xe6,0x97,
2664
  0xa5,0x33,0x31,0xe6,0x97,0xa5,0x67,0x61,0x6c,0xd1,0x8a,0xd1,0x8c,0xea,0x9d,0xaf,0x53,0x43,0x46,0x51,0xc4,0xa6,0xc5,0x93,0xea,0x9c,0xa7,0xea,0xac,0xb7,0xc9,0xab,
2665
  0xea,0xad,0x92,0xca,0x8d,0xe8,0xb1,0x88,0xe6,0x9b,0xb4,0xe8,0xbb,0x8a,0xe8,0xb3,0x88,0xe6,0xbb,0x91,0xe4,0xb8,0xb2,0xe5,0x8f,0xa5,0xe9,0xbe,0x9c,0xe9,0xbe,0x9c,
2666
  0xe5,0xa5,0x91,0xe9,0x87,0x91,0xe5,0x96,0x87,0xe5,0xa5,0x88,0xe6,0x87,0xb6,0xe7,0x99,0xa9,0xe7,0xbe,0x85,0xe8,0x98,0xbf,0xe8,0x9e,0xba,0xe8,0xa3,0xb8,0xe9,0x82,
2667
  0x8f,0xe6,0xa8,0x82,0xe6,0xb4,0x9b,0xe7,0x83,0x99,0xe7,0x8f,0x9e,0xe8,0x90,0xbd,0xe9,0x85,0xaa,0xe9,0xa7,0xb1,0xe4,0xba,0x82,0xe5,0x8d,0xb5,0xe6,0xac,0x84,0xe7,
2668
  0x88,0x9b,0xe8,0x98,0xad,0xe9,0xb8,0x9e,0xe5,0xb5,0x90,0xe6,0xbf,0xab,0xe8,0x97,0x8d,0xe8,0xa5,0xa4,0xe6,0x8b,0x89,0xe8,0x87,0x98,0xe8,0xa0,0x9f,0xe5,0xbb,0x8a,
2669
  0xe6,0x9c,0x97,0xe6,0xb5,0xaa,0xe7,0x8b,0xbc,0xe9,0x83,0x8e,0xe4,0xbe,0x86,0xe5,0x86,0xb7,0xe5,0x8b,0x9e,0xe6,0x93,0x84,0xe6,0xab,0x93,0xe7,0x88,0x90,0xe7,0x9b,
2670
  0xa7,0xe8,0x80,0x81,0xe8,0x98,0x86,0xe8,0x99,0x9c,0xe8,0xb7,0xaf,0xe9,0x9c,0xb2,0xe9,0xad,0xaf,0xe9,0xb7,0xba,0xe7,0xa2,0x8c,0xe7,0xa5,0xbf,0xe7,0xb6,0xa0,0xe8,
2671
  0x8f,0x89,0xe9,0x8c,0x84,0xe9,0xb9,0xbf,0xe8,0xab,0x96,0xe5,0xa3,0x9f,0xe5,0xbc,0x84,0xe7,0xb1,0xa0,0xe8,0x81,0xbe,0xe7,0x89,0xa2,0xe7,0xa3,0x8a,0xe8,0xb3,0x82,
2672
  0xe9,0x9b,0xb7,0xe5,0xa3,0x98,0xe5,0xb1,0xa2,0xe6,0xa8,0x93,0xe6,0xb7,0x9a,0xe6,0xbc,0x8f,0xe7,0xb4,0xaf,0xe7,0xb8,0xb7,0xe9,0x99,0x8b,0xe5,0x8b,0x92,0xe8,0x82,
2673
  0x8b,0xe5,0x87,0x9c,0xe5,0x87,0x8c,0xe7,0xa8,0x9c,0xe7,0xb6,0xbe,0xe8,0x8f,0xb1,0xe9,0x99,0xb5,0xe8,0xae,0x80,0xe6,0x8b,0x8f,0xe6,0xa8,0x82,0xe8,0xab,0xbe,0xe4,
2674
  0xb8,0xb9,0xe5,0xaf,0xa7,0xe6,0x80,0x92,0xe7,0x8e,0x87,0xe7,0x95,0xb0,0xe5,0x8c,0x97,0xe7,0xa3,0xbb,0xe4,0xbe,0xbf,0xe5,0xbe,0xa9,0xe4,0xb8,0x8d,0xe6,0xb3,0x8c,
2675
  0xe6,0x95,0xb8,0xe7,0xb4,0xa2,0xe5,0x8f,0x83,0xe5,0xa1,0x9e,0xe7,0x9c,0x81,0xe8,0x91,0x89,0xe8,0xaa,0xaa,0xe6,0xae,0xba,0xe8,0xbe,0xb0,0xe6,0xb2,0x88,0xe6,0x8b,
2676
  0xbe,0xe8,0x8b,0xa5,0xe6,0x8e,0xa0,0xe7,0x95,0xa5,0xe4,0xba,0xae,0xe5,0x85,0xa9,0xe5,0x87,0x89,0xe6,0xa2,0x81,0xe7,0xb3,0xa7,0xe8,0x89,0xaf,0xe8,0xab,0x92,0xe9,
2677
  0x87,0x8f,0xe5,0x8b,0xb5,0xe5,0x91,0x82,0xe5,0xa5,0xb3,0xe5,0xbb,0xac,0xe6,0x97,0x85,0xe6,0xbf,0xbe,0xe7,0xa4,0xaa,0xe9,0x96,0xad,0xe9,0xa9,0xaa,0xe9,0xba,0x97,
2678
  0xe9,0xbb,0x8e,0xe5,0x8a,0x9b,0xe6,0x9b,0x86,0xe6,0xad,0xb7,0xe8,0xbd,0xa2,0xe5,0xb9,0xb4,0xe6,0x86,0x90,0xe6,0x88,0x80,0xe6,0x92,0x9a,0xe6,0xbc,0xa3,0xe7,0x85,
2679
  0x89,0xe7,0x92,0x89,0xe7,0xa7,0x8a,0xe7,0xb7,0xb4,0xe8,0x81,0xaf,0xe8,0xbc,0xa6,0xe8,0x93,0xae,0xe9,0x80,0xa3,0xe9,0x8d,0x8a,0xe5,0x88,0x97,0xe5,0x8a,0xa3,0xe5,
2680
  0x92,0xbd,0xe7,0x83,0x88,0xe8,0xa3,0x82,0xe8,0xaa,0xaa,0xe5,0xbb,0x89,0xe5,0xbf,0xb5,0xe6,0x8d,0xbb,0xe6,0xae,0xae,0xe7,0xb0,0xbe,0xe7,0x8d,0xb5,0xe4,0xbb,0xa4,
2681
  0xe5,0x9b,0xb9,0xe5,0xaf,0xa7,0xe5,0xb6,0xba,0xe6,0x80,0x9c,0xe7,0x8e,0xb2,0xe7,0x91,0xa9,0xe7,0xbe,0x9a,0xe8,0x81,0x86,0xe9,0x88,0xb4,0xe9,0x9b,0xb6,0xe9,0x9d,
2682
  0x88,0xe9,0xa0,0x98,0xe4,0xbe,0x8b,0xe7,0xa6,0xae,0xe9,0x86,0xb4,0xe9,0x9a,0xb8,0xe6,0x83,0xa1,0xe4,0xba,0x86,0xe5,0x83,0x9a,0xe5,0xaf,0xae,0xe5,0xb0,0xbf,0xe6,
2683
  0x96,0x99,0xe6,0xa8,0x82,0xe7,0x87,0x8e,0xe7,0x99,0x82,0xe8,0x93,0xbc,0xe9,0x81,0xbc,0xe9,0xbe,0x8d,0xe6,0x9a,0x88,0xe9,0x98,0xae,0xe5,0x8a,0x89,0xe6,0x9d,0xbb,
2684
  0xe6,0x9f,0xb3,0xe6,0xb5,0x81,0xe6,0xba,0x9c,0xe7,0x90,0x89,0xe7,0x95,0x99,0xe7,0xa1,0xab,0xe7,0xb4,0x90,0xe9,0xa1,0x9e,0xe5,0x85,0xad,0xe6,0x88,0xae,0xe9,0x99,
2685
  0xb8,0xe5,0x80,0xab,0xe5,0xb4,0x99,0xe6,0xb7,0xaa,0xe8,0xbc,0xaa,0xe5,0xbe,0x8b,0xe6,0x85,0x84,0xe6,0xa0,0x97,0xe7,0x8e,0x87,0xe9,0x9a,0x86,0xe5,0x88,0xa9,0xe5,
2686
  0x90,0x8f,0xe5,0xb1,0xa5,0xe6,0x98,0x93,0xe6,0x9d,0x8e,0xe6,0xa2,0xa8,0xe6,0xb3,0xa5,0xe7,0x90,0x86,0xe7,0x97,0xa2,0xe7,0xbd,0xb9,0xe8,0xa3,0x8f,0xe8,0xa3,0xa1,
2687
  0xe9,0x87,0x8c,0xe9,0x9b,0xa2,0xe5,0x8c,0xbf,0xe6,0xba,0xba,0xe5,0x90,0x9d,0xe7,0x87,0x90,0xe7,0x92,0x98,0xe8,0x97,0xba,0xe9,0x9a,0xa3,0xe9,0xb1,0x97,0xe9,0xba,
2688
  0x9f,0xe6,0x9e,0x97,0xe6,0xb7,0x8b,0xe8,0x87,0xa8,0xe7,0xab,0x8b,0xe7,0xac,0xa0,0xe7,0xb2,0x92,0xe7,0x8b,0x80,0xe7,0x82,0x99,0xe8,0xad,0x98,0xe4,0xbb,0x80,0xe8,
2689
  0x8c,0xb6,0xe5,0x88,0xba,0xe5,0x88,0x87,0xe5,0xba,0xa6,0xe6,0x8b,0x93,0xe7,0xb3,0x96,0xe5,0xae,0x85,0xe6,0xb4,0x9e,0xe6,0x9a,0xb4,0xe8,0xbc,0xbb,0xe8,0xa1,0x8c,
2690
  0xe9,0x99,0x8d,0xe8,0xa6,0x8b,0xe5,0xbb,0x93,0xe5,0x85,0x80,0xe5,0x97,0x80,0xe5,0xa1,0x9a,0xe6,0x99,0xb4,0xe5,0x87,0x9e,0xe7,0x8c,0xaa,0xe7,0x9b,0x8a,0xe7,0xa4,
2691
  0xbc,0xe7,0xa5,0x9e,0xe7,0xa5,0xa5,0xe7,0xa6,0x8f,0xe9,0x9d,0x96,0xe7,0xb2,0xbe,0xe7,0xbe,0xbd,0xe8,0x98,0x92,0xe8,0xab,0xb8,0xe9,0x80,0xb8,0xe9,0x83,0xbd,0xe9,
2692
  0xa3,0xaf,0xe9,0xa3,0xbc,0xe9,0xa4,0xa8,0xe9,0xb6,0xb4,0xe9,0x83,0x9e,0xe9,0x9a,0xb7,0xe4,0xbe,0xae,0xe5,0x83,0xa7,0xe5,0x85,0x8d,0xe5,0x8b,0x89,0xe5,0x8b,0xa4,
2693
  0xe5,0x8d,0x91,0xe5,0x96,0x9d,0xe5,0x98,0x86,0xe5,0x99,0xa8,0xe5,0xa1,0x80,0xe5,0xa2,0xa8,0xe5,0xb1,0xa4,0xe5,0xb1,0xae,0xe6,0x82,0x94,0xe6,0x85,0xa8,0xe6,0x86,
2694
  0x8e,0xe6,0x87,0xb2,0xe6,0x95,0x8f,0xe6,0x97,0xa2,0xe6,0x9a,0x91,0xe6,0xa2,0x85,0xe6,0xb5,0xb7,0xe6,0xb8,0x9a,0xe6,0xbc,0xa2,0xe7,0x85,0xae,0xe7,0x88,0xab,0xe7,
2695
  0x90,0xa2,0xe7,0xa2,0x91,0xe7,0xa4,0xbe,0xe7,0xa5,0x89,0xe7,0xa5,0x88,0xe7,0xa5,0x90,0xe7,0xa5,0x96,0xe7,0xa5,0x9d,0xe7,0xa6,0x8d,0xe7,0xa6,0x8e,0xe7,0xa9,0x80,
2696
  0xe7,0xaa,0x81,0xe7,0xaf,0x80,0xe7,0xb7,0xb4,0xe7,0xb8,0x89,0xe7,0xb9,0x81,0xe7,0xbd,0xb2,0xe8,0x80,0x85,0xe8,0x87,0xad,0xe8,0x89,0xb9,0xe8,0x89,0xb9,0xe8,0x91,
2697
  0x97,0xe8,0xa4,0x90,0xe8,0xa6,0x96,0xe8,0xac,0x81,0xe8,0xac,0xb9,0xe8,0xb3,0x93,0xe8,0xb4,0x88,0xe8,0xbe,0xb6,0xe9,0x80,0xb8,0xe9,0x9b,0xa3,0xe9,0x9f,0xbf,0xe9,
2698
  0xa0,0xbb,0xe6,0x81,0xb5,0xf0,0xa4,0x8b,0xae,0xe8,0x88,0x98,0xe4,0xb8,0xa6,0xe5,0x86,0xb5,0xe5,0x85,0xa8,0xe4,0xbe,0x80,0xe5,0x85,0x85,0xe5,0x86,0x80,0xe5,0x8b,
2699
  0x87,0xe5,0x8b,0xba,0xe5,0x96,0x9d,0xe5,0x95,0x95,0xe5,0x96,0x99,0xe5,0x97,0xa2,0xe5,0xa1,0x9a,0xe5,0xa2,0xb3,0xe5,0xa5,0x84,0xe5,0xa5,0x94,0xe5,0xa9,0xa2,0xe5,
2700
  0xac,0xa8,0xe5,0xbb,0x92,0xe5,0xbb,0x99,0xe5,0xbd,0xa9,0xe5,0xbe,0xad,0xe6,0x83,0x98,0xe6,0x85,0x8e,0xe6,0x84,0x88,0xe6,0x86,0x8e,0xe6,0x85,0xa0,0xe6,0x87,0xb2,
2701
  0xe6,0x88,0xb4,0xe6,0x8f,0x84,0xe6,0x90,0x9c,0xe6,0x91,0x92,0xe6,0x95,0x96,0xe6,0x99,0xb4,0xe6,0x9c,0x97,0xe6,0x9c,0x9b,0xe6,0x9d,0x96,0xe6,0xad,0xb9,0xe6,0xae,
2702
  0xba,0xe6,0xb5,0x81,0xe6,0xbb,0x9b,0xe6,0xbb,0x8b,0xe6,0xbc,0xa2,0xe7,0x80,0x9e,0xe7,0x85,0xae,0xe7,0x9e,0xa7,0xe7,0x88,0xb5,0xe7,0x8a,0xaf,0xe7,0x8c,0xaa,0xe7,
2703
  0x91,0xb1,0xe7,0x94,0x86,0xe7,0x94,0xbb,0xe7,0x98,0x9d,0xe7,0x98,0x9f,0xe7,0x9b,0x8a,0xe7,0x9b,0x9b,0xe7,0x9b,0xb4,0xe7,0x9d,0x8a,0xe7,0x9d,0x80,0xe7,0xa3,0x8c,
2704
  0xe7,0xaa,0xb1,0xe7,0xaf,0x80,0xe7,0xb1,0xbb,0xe7,0xb5,0x9b,0xe7,0xb7,0xb4,0xe7,0xbc,0xbe,0xe8,0x80,0x85,0xe8,0x8d,0x92,0xe8,0x8f,0xaf,0xe8,0x9d,0xb9,0xe8,0xa5,
2705
  0x81,0xe8,0xa6,0x86,0xe8,0xa6,0x96,0xe8,0xaa,0xbf,0xe8,0xab,0xb8,0xe8,0xab,0x8b,0xe8,0xac,0x81,0xe8,0xab,0xbe,0xe8,0xab,0xad,0xe8,0xac,0xb9,0xe8,0xae,0x8a,0xe8,
2706
  0xb4,0x88,0xe8,0xbc,0xb8,0xe9,0x81,0xb2,0xe9,0x86,0x99,0xe9,0x89,0xb6,0xe9,0x99,0xbc,0xe9,0x9b,0xa3,0xe9,0x9d,0x96,0xe9,0x9f,0x9b,0xe9,0x9f,0xbf,0xe9,0xa0,0x8b,
2707
  0xe9,0xa0,0xbb,0xe9,0xac,0x92,0xe9,0xbe,0x9c,0xf0,0xa2,0xa1,0x8a,0xf0,0xa2,0xa1,0x84,0xf0,0xa3,0x8f,0x95,0xe3,0xae,0x9d,0xe4,0x80,0x98,0xe4,0x80,0xb9,0xf0,0xa5,
2708
  0x89,0x89,0xf0,0xa5,0xb3,0x90,0xf0,0xa7,0xbb,0x93,0xe9,0xbd,0x83,0xe9,0xbe,0x8e,0x66,0x66,0x66,0x69,0x66,0x6c,0x66,0x66,0x69,0x66,0x66,0x6c,0xc5,0xbf,0x74,0x73,
2709
  0x74,0xd5,0xb4,0xd5,0xb6,0xd5,0xb4,0xd5,0xa5,0xd5,0xb4,0xd5,0xab,0xd5,0xbe,0xd5,0xb6,0xd5,0xb4,0xd5,0xad,0xd7,0x99,0xd6,0xb4,0xd7,0xb2,0xd6,0xb7,0xd7,0xa2,0xd7,
2710
  0x90,0xd7,0x93,0xd7,0x94,0xd7,0x9b,0xd7,0x9c,0xd7,0x9d,0xd7,0xa8,0xd7,0xaa,0x2b,0xd7,0xa9,0xd7,0x81,0xd7,0xa9,0xd7,0x82,0xef,0xad,0x89,0xd7,0x81,0xef,0xad,0x89,
2711
  0xd7,0x82,0xd7,0x90,0xd6,0xb7,0xd7,0x90,0xd6,0xb8,0xd7,0x90,0xd6,0xbc,0xd7,0x91,0xd6,0xbc,0xd7,0x92,0xd6,0xbc,0xd7,0x93,0xd6,0xbc,0xd7,0x94,0xd6,0xbc,0xd7,0x95,
2712
  0xd6,0xbc,0xd7,0x96,0xd6,0xbc,0xd7,0x98,0xd6,0xbc,0xd7,0x99,0xd6,0xbc,0xd7,0x9a,0xd6,0xbc,0xd7,0x9b,0xd6,0xbc,0xd7,0x9c,0xd6,0xbc,0xd7,0x9e,0xd6,0xbc,0xd7,0xa0,
2713
  0xd6,0xbc,0xd7,0xa1,0xd6,0xbc,0xd7,0xa3,0xd6,0xbc,0xd7,0xa4,0xd6,0xbc,0xd7,0xa6,0xd6,0xbc,0xd7,0xa7,0xd6,0xbc,0xd7,0xa8,0xd6,0xbc,0xd7,0xa9,0xd6,0xbc,0xd7,0xaa,
2714
  0xd6,0xbc,0xd7,0x95,0xd6,0xb9,0xd7,0x91,0xd6,0xbf,0xd7,0x9b,0xd6,0xbf,0xd7,0xa4,0xd6,0xbf,0xd7,0x90,0xd7,0x9c,0xd9,0xb1,0xd9,0xb1,0xd9,0xbb,0xd9,0xbb,0xd9,0xbb,
2715
  0xd9,0xbb,0xd9,0xbe,0xd9,0xbe,0xd9,0xbe,0xd9,0xbe,0xda,0x80,0xda,0x80,0xda,0x80,0xda,0x80,0xd9,0xba,0xd9,0xba,0xd9,0xba,0xd9,0xba,0xd9,0xbf,0xd9,0xbf,0xd9,0xbf,
2716
  0xd9,0xbf,0xd9,0xb9,0xd9,0xb9,0xd9,0xb9,0xd9,0xb9,0xda,0xa4,0xda,0xa4,0xda,0xa4,0xda,0xa4,0xda,0xa6,0xda,0xa6,0xda,0xa6,0xda,0xa6,0xda,0x84,0xda,0x84,0xda,0x84,
2717
  0xda,0x84,0xda,0x83,0xda,0x83,0xda,0x83,0xda,0x83,0xda,0x86,0xda,0x86,0xda,0x86,0xda,0x86,0xda,0x87,0xda,0x87,0xda,0x87,0xda,0x87,0xda,0x8d,0xda,0x8d,0xda,0x8c,
2718
  0xda,0x8c,0xda,0x8e,0xda,0x8e,0xda,0x88,0xda,0x88,0xda,0x98,0xda,0x98,0xda,0x91,0xda,0x91,0xda,0xa9,0xda,0xa9,0xda,0xa9,0xda,0xa9,0xda,0xaf,0xda,0xaf,0xda,0xaf,
2719
  0xda,0xaf,0xda,0xb3,0xda,0xb3,0xda,0xb3,0xda,0xb3,0xda,0xb1,0xda,0xb1,0xda,0xb1,0xda,0xb1,0xda,0xba,0xda,0xba,0xda,0xbb,0xda,0xbb,0xda,0xbb,0xda,0xbb,0xdb,0x80,
2720
  0xdb,0x80,0xdb,0x81,0xdb,0x81,0xdb,0x81,0xdb,0x81,0xda,0xbe,0xda,0xbe,0xda,0xbe,0xda,0xbe,0xdb,0x92,0xdb,0x92,0xdb,0x93,0xdb,0x93,0xda,0xad,0xda,0xad,0xda,0xad,
2721
  0xda,0xad,0xdb,0x87,0xdb,0x87,0xdb,0x86,0xdb,0x86,0xdb,0x88,0xdb,0x88,0xd9,0xb7,0xdb,0x8b,0xdb,0x8b,0xdb,0x85,0xdb,0x85,0xdb,0x89,0xdb,0x89,0xdb,0x90,0xdb,0x90,
2722
  0xdb,0x90,0xdb,0x90,0xd9,0x89,0xd9,0x89,0xd8,0xa6,0xd8,0xa7,0xd8,0xa6,0xd8,0xa7,0xd8,0xa6,0xdb,0x95,0xd8,0xa6,0xdb,0x95,0xd8,0xa6,0xd9,0x88,0xd8,0xa6,0xd9,0x88,
2723
  0xd8,0xa6,0xdb,0x87,0xd8,0xa6,0xdb,0x87,0xd8,0xa6,0xdb,0x86,0xd8,0xa6,0xdb,0x86,0xd8,0xa6,0xdb,0x88,0xd8,0xa6,0xdb,0x88,0xd8,0xa6,0xdb,0x90,0xd8,0xa6,0xdb,0x90,
2724
  0xd8,0xa6,0xdb,0x90,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x89,0xdb,0x8c,0xdb,0x8c,0xdb,0x8c,0xdb,0x8c,0xd8,0xa6,0xd8,0xac,0xd8,0xa6,0xd8,0xad,
2725
  0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x8a,0xd8,0xa8,0xd8,0xac,0xd8,0xa8,0xd8,0xad,0xd8,0xa8,0xd8,0xae,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x89,
2726
  0xd8,0xa8,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xaa,0xd8,0xae,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x89,0xd8,0xaa,0xd9,0x8a,0xd8,0xab,0xd8,0xac,
2727
  0xd8,0xab,0xd9,0x85,0xd8,0xab,0xd9,0x89,0xd8,0xab,0xd9,0x8a,0xd8,0xac,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd8,0xac,
2728
  0xd8,0xae,0xd8,0xad,0xd8,0xae,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,0xd8,0xb3,0xd9,0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xb5,0xd9,0x85,
2729
  0xd8,0xb6,0xd8,0xac,0xd8,0xb6,0xd8,0xad,0xd8,0xb6,0xd8,0xae,0xd8,0xb6,0xd9,0x85,0xd8,0xb7,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd8,0xb8,0xd9,0x85,0xd8,0xb9,0xd8,0xac,
2730
  0xd8,0xb9,0xd9,0x85,0xd8,0xba,0xd8,0xac,0xd8,0xba,0xd9,0x85,0xd9,0x81,0xd8,0xac,0xd9,0x81,0xd8,0xad,0xd9,0x81,0xd8,0xae,0xd9,0x81,0xd9,0x85,0xd9,0x81,0xd9,0x89,
2731
  0xd9,0x81,0xd9,0x8a,0xd9,0x82,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x82,0xd9,0x89,0xd9,0x82,0xd9,0x8a,0xd9,0x83,0xd8,0xa7,0xd9,0x83,0xd8,0xac,0xd9,0x83,0xd8,0xad,
2732
  0xd9,0x83,0xd8,0xae,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x83,0xd9,0x89,0xd9,0x83,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x84,0xd8,0xad,0xd9,0x84,0xd8,0xae,
2733
  0xd9,0x84,0xd9,0x85,0xd9,0x84,0xd9,0x89,0xd9,0x84,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x89,
2734
  0xd9,0x85,0xd9,0x8a,0xd9,0x86,0xd8,0xac,0xd9,0x86,0xd8,0xad,0xd9,0x86,0xd8,0xae,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x89,0xd9,0x86,0xd9,0x8a,0xd9,0x87,0xd8,0xac,
2735
  0xd9,0x87,0xd9,0x85,0xd9,0x87,0xd9,0x89,0xd9,0x87,0xd9,0x8a,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd8,0xae,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x89,
2736
  0xd9,0x8a,0xd9,0x8a,0xd8,0xb0,0xd9,0xb0,0xd8,0xb1,0xd9,0xb0,0xd9,0x89,0xd9,0xb0,0x20,0xd9,0x8c,0xd9,0x91,0x20,0xd9,0x8d,0xd9,0x91,0x20,0xd9,0x8e,0xd9,0x91,0x20,
2737
  0xd9,0x8f,0xd9,0x91,0x20,0xd9,0x90,0xd9,0x91,0x20,0xd9,0x91,0xd9,0xb0,0xd8,0xa6,0xd8,0xb1,0xd8,0xa6,0xd8,0xb2,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x86,0xd8,0xa6,
2738
  0xd9,0x89,0xd8,0xa6,0xd9,0x8a,0xd8,0xa8,0xd8,0xb1,0xd8,0xa8,0xd8,0xb2,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x86,0xd8,0xa8,0xd9,0x89,0xd8,0xa8,0xd9,0x8a,0xd8,0xaa,
2739
  0xd8,0xb1,0xd8,0xaa,0xd8,0xb2,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x86,0xd8,0xaa,0xd9,0x89,0xd8,0xaa,0xd9,0x8a,0xd8,0xab,0xd8,0xb1,0xd8,0xab,0xd8,0xb2,0xd8,0xab,
2740
  0xd9,0x85,0xd8,0xab,0xd9,0x86,0xd8,0xab,0xd9,0x89,0xd8,0xab,0xd9,0x8a,0xd9,0x81,0xd9,0x89,0xd9,0x81,0xd9,0x8a,0xd9,0x82,0xd9,0x89,0xd9,0x82,0xd9,0x8a,0xd9,0x83,
2741
  0xd8,0xa7,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x83,0xd9,0x89,0xd9,0x83,0xd9,0x8a,0xd9,0x84,0xd9,0x85,0xd9,0x84,0xd9,0x89,0xd9,0x84,0xd9,0x8a,0xd9,0x85,
2742
  0xd8,0xa7,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xb1,0xd9,0x86,0xd8,0xb2,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x89,0xd9,0x86,0xd9,0x8a,0xd9,0x89,
2743
  0xd9,0xb0,0xd9,0x8a,0xd8,0xb1,0xd9,0x8a,0xd8,0xb2,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x86,0xd9,0x8a,0xd9,0x89,0xd9,0x8a,0xd9,0x8a,0xd8,0xa6,0xd8,0xac,0xd8,0xa6,
2744
  0xd8,0xad,0xd8,0xa6,0xd8,0xae,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x87,0xd8,0xa8,0xd8,0xac,0xd8,0xa8,0xd8,0xad,0xd8,0xa8,0xd8,0xae,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,
2745
  0xd9,0x87,0xd8,0xaa,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xaa,0xd8,0xae,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x87,0xd8,0xab,0xd9,0x85,0xd8,0xac,0xd8,0xad,0xd8,0xac,
2746
  0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd8,0xae,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,0xd8,0xb3,
2747
  0xd9,0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xb5,0xd8,0xae,0xd8,0xb5,0xd9,0x85,0xd8,0xb6,0xd8,0xac,0xd8,0xb6,0xd8,0xad,0xd8,0xb6,0xd8,0xae,0xd8,0xb6,0xd9,0x85,0xd8,0xb7,
2748
  0xd8,0xad,0xd8,0xb8,0xd9,0x85,0xd8,0xb9,0xd8,0xac,0xd8,0xb9,0xd9,0x85,0xd8,0xba,0xd8,0xac,0xd8,0xba,0xd9,0x85,0xd9,0x81,0xd8,0xac,0xd9,0x81,0xd8,0xad,0xd9,0x81,
2749
  0xd8,0xae,0xd9,0x81,0xd9,0x85,0xd9,0x82,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x83,0xd8,0xac,0xd9,0x83,0xd8,0xad,0xd9,0x83,0xd8,0xae,0xd9,0x83,0xd9,0x84,0xd9,0x83,
2750
  0xd9,0x85,0xd9,0x84,0xd8,0xac,0xd9,0x84,0xd8,0xad,0xd9,0x84,0xd8,0xae,0xd9,0x84,0xd9,0x85,0xd9,0x84,0xd9,0x87,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,
2751
  0xd8,0xae,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xac,0xd9,0x86,0xd8,0xad,0xd9,0x86,0xd8,0xae,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x87,0xd9,0x87,0xd8,0xac,0xd9,0x87,
2752
  0xd9,0x85,0xd9,0x87,0xd9,0xb0,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd8,0xae,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x87,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,
2753
  0xd9,0x87,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x87,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x87,0xd8,0xab,0xd9,0x85,0xd8,0xab,0xd9,0x87,0xd8,0xb3,0xd9,0x85,0xd8,0xb3,
2754
  0xd9,0x87,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd9,0x87,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x87,0xd9,0x8a,
2755
  0xd9,0x85,0xd9,0x8a,0xd9,0x87,0xd9,0x80,0xd9,0x8e,0xd9,0x91,0xd9,0x80,0xd9,0x8f,0xd9,0x91,0xd9,0x80,0xd9,0x90,0xd9,0x91,0xd8,0xb7,0xd9,0x89,0xd8,0xb7,0xd9,0x8a,
2756
  0xd8,0xb9,0xd9,0x89,0xd8,0xb9,0xd9,0x8a,0xd8,0xba,0xd9,0x89,0xd8,0xba,0xd9,0x8a,0xd8,0xb3,0xd9,0x89,0xd8,0xb3,0xd9,0x8a,0xd8,0xb4,0xd9,0x89,0xd8,0xb4,0xd9,0x8a,
2757
  0xd8,0xad,0xd9,0x89,0xd8,0xad,0xd9,0x8a,0xd8,0xac,0xd9,0x89,0xd8,0xac,0xd9,0x8a,0xd8,0xae,0xd9,0x89,0xd8,0xae,0xd9,0x8a,0xd8,0xb5,0xd9,0x89,0xd8,0xb5,0xd9,0x8a,
2758
  0xd8,0xb6,0xd9,0x89,0xd8,0xb6,0xd9,0x8a,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd8,0xb1,0xd8,0xb3,0xd8,0xb1,
2759
  0xd8,0xb5,0xd8,0xb1,0xd8,0xb6,0xd8,0xb1,0xd8,0xb7,0xd9,0x89,0xd8,0xb7,0xd9,0x8a,0xd8,0xb9,0xd9,0x89,0xd8,0xb9,0xd9,0x8a,0xd8,0xba,0xd9,0x89,0xd8,0xba,0xd9,0x8a,
2760
  0xd8,0xb3,0xd9,0x89,0xd8,0xb3,0xd9,0x8a,0xd8,0xb4,0xd9,0x89,0xd8,0xb4,0xd9,0x8a,0xd8,0xad,0xd9,0x89,0xd8,0xad,0xd9,0x8a,0xd8,0xac,0xd9,0x89,0xd8,0xac,0xd9,0x8a,
2761
  0xd8,0xae,0xd9,0x89,0xd8,0xae,0xd9,0x8a,0xd8,0xb5,0xd9,0x89,0xd8,0xb5,0xd9,0x8a,0xd8,0xb6,0xd9,0x89,0xd8,0xb6,0xd9,0x8a,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,
2762
  0xd8,0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd8,0xb1,0xd8,0xb3,0xd8,0xb1,0xd8,0xb5,0xd8,0xb1,0xd8,0xb6,0xd8,0xb1,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,
2763
  0xd8,0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb3,0xd9,0x87,0xd8,0xb4,0xd9,0x87,0xd8,0xb7,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,
2764
  0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,0xb4,0xd8,0xae,0xd8,0xb7,0xd9,0x85,0xd8,0xb8,0xd9,0x85,0xd8,0xa7,0xd9,0x8b,0xd8,0xa7,0xd9,0x8b,0xd8,0xaa,0xd8,0xac,
2765
  0xd9,0x85,0xd8,0xaa,0xd8,0xad,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd9,0x85,0xd8,0xaa,0xd8,0xae,0xd9,0x85,0xd8,0xaa,0xd9,0x85,0xd8,0xac,
2766
  0xd8,0xaa,0xd9,0x85,0xd8,0xad,0xd8,0xaa,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xad,0xd9,0x85,0xd9,0x8a,0xd8,0xad,
2767
  0xd9,0x85,0xd9,0x89,0xd8,0xb3,0xd8,0xad,0xd8,0xac,0xd8,0xb3,0xd8,0xac,0xd8,0xad,0xd8,0xb3,0xd8,0xac,0xd9,0x89,0xd8,0xb3,0xd9,0x85,0xd8,0xad,0xd8,0xb3,0xd9,0x85,
2768
  0xd8,0xad,0xd8,0xb3,0xd9,0x85,0xd8,0xac,0xd8,0xb3,0xd9,0x85,0xd9,0x85,0xd8,0xb3,0xd9,0x85,0xd9,0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xad,0xd8,0xb5,0xd8,0xad,0xd8,0xad,
2769
  0xd8,0xb5,0xd9,0x85,0xd9,0x85,0xd8,0xb4,0xd8,0xad,0xd9,0x85,0xd8,0xb4,0xd8,0xad,0xd9,0x85,0xd8,0xb4,0xd8,0xac,0xd9,0x8a,0xd8,0xb4,0xd9,0x85,0xd8,0xae,0xd8,0xb4,
2770
  0xd9,0x85,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd9,0x85,0xd8,0xb4,0xd9,0x85,0xd9,0x85,0xd8,0xb6,0xd8,0xad,0xd9,0x89,0xd8,0xb6,0xd8,0xae,0xd9,0x85,0xd8,0xb6,0xd8,0xae,
2771
  0xd9,0x85,0xd8,0xb7,0xd9,0x85,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd9,0x85,0xd8,0xb7,0xd9,0x85,0xd9,0x8a,0xd8,0xb9,0xd8,0xac,0xd9,0x85,
2772
  0xd8,0xb9,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x89,0xd8,0xba,0xd9,0x85,0xd9,0x85,0xd8,0xba,0xd9,0x85,0xd9,0x8a,0xd8,0xba,
2773
  0xd9,0x85,0xd9,0x89,0xd9,0x81,0xd8,0xae,0xd9,0x85,0xd9,0x81,0xd8,0xae,0xd9,0x85,0xd9,0x82,0xd9,0x85,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x85,0xd9,0x84,0xd8,0xad,
2774
  0xd9,0x85,0xd9,0x84,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd8,0xad,0xd9,0x89,0xd9,0x84,0xd8,0xac,0xd8,0xac,0xd9,0x84,0xd8,0xac,0xd8,0xac,0xd9,0x84,0xd8,0xae,0xd9,0x85,
2775
  0xd9,0x84,0xd8,0xae,0xd9,0x85,0xd9,0x84,0xd9,0x85,0xd8,0xad,0xd9,0x84,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd9,0x85,
2776
  0xd8,0xad,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd9,0x85,0xd8,0xae,0xd9,0x85,0xd9,0x85,0xd8,0xac,
2777
  0xd8,0xae,0xd9,0x87,0xd9,0x85,0xd8,0xac,0xd9,0x87,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xad,0xd9,0x85,0xd9,0x86,0xd8,0xad,0xd9,0x89,0xd9,0x86,0xd8,0xac,0xd9,0x85,
2778
  0xd9,0x86,0xd8,0xac,0xd9,0x85,0xd9,0x86,0xd8,0xac,0xd9,0x89,0xd9,0x86,0xd9,0x85,0xd9,0x8a,0xd9,0x86,0xd9,0x85,0xd9,0x89,0xd9,0x8a,0xd9,0x85,0xd9,0x85,0xd9,0x8a,
2779
  0xd9,0x85,0xd9,0x85,0xd8,0xa8,0xd8,0xae,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd9,0x89,0xd8,0xaa,0xd8,0xae,0xd9,0x8a,0xd8,0xaa,0xd8,0xae,
2780
  0xd9,0x89,0xd8,0xaa,0xd9,0x85,0xd9,0x8a,0xd8,0xaa,0xd9,0x85,0xd9,0x89,0xd8,0xac,0xd9,0x85,0xd9,0x8a,0xd8,0xac,0xd8,0xad,0xd9,0x89,0xd8,0xac,0xd9,0x85,0xd9,0x89,
2781
  0xd8,0xb3,0xd8,0xae,0xd9,0x89,0xd8,0xb5,0xd8,0xad,0xd9,0x8a,0xd8,0xb4,0xd8,0xad,0xd9,0x8a,0xd8,0xb6,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x8a,0xd9,0x84,
2782
  0xd9,0x85,0xd9,0x8a,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x85,0xd9,0x85,0xd9,0x8a,0xd9,0x82,0xd9,0x85,
2783
  0xd9,0x8a,0xd9,0x86,0xd8,0xad,0xd9,0x8a,0xd9,0x82,0xd9,0x85,0xd8,0xad,0xd9,0x84,0xd8,0xad,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x8a,
2784
  0xd9,0x86,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x85,0xd9,0x83,0xd9,0x85,0xd9,0x85,0xd9,0x84,0xd8,0xac,0xd9,0x85,0xd9,0x86,
2785
  0xd8,0xac,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x8a,0xd8,0xad,0xd8,0xac,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd9,0x8a,0xd9,0x81,0xd9,0x85,0xd9,0x8a,0xd8,0xa8,0xd8,0xad,
2786
  0xd9,0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd8,0xac,0xd9,0x85,0xd8,0xb5,0xd9,0x85,0xd9,0x85,0xd8,0xb3,0xd8,0xae,0xd9,0x8a,0xd9,0x86,0xd8,0xac,0xd9,0x8a,
2787
  0xd8,0xb5,0xd9,0x84,0xdb,0x92,0xd9,0x82,0xd9,0x84,0xdb,0x92,0xd8,0xa7,0xd9,0x84,0xd9,0x84,0xd9,0x87,0xd8,0xa7,0xd9,0x83,0xd8,0xa8,0xd8,0xb1,0xd9,0x85,0xd8,0xad,
2788
  0xd9,0x85,0xd8,0xaf,0xd8,0xb5,0xd9,0x84,0xd8,0xb9,0xd9,0x85,0xd8,0xb1,0xd8,0xb3,0xd9,0x88,0xd9,0x84,0xd8,0xb9,0xd9,0x84,0xd9,0x8a,0xd9,0x87,0xd9,0x88,0xd8,0xb3,
2789
  0xd9,0x84,0xd9,0x85,0xd8,0xb5,0xd9,0x84,0xd9,0x89,0xd8,0xb5,0xd9,0x84,0xd9,0x89,0x20,0xd8,0xa7,0xd9,0x84,0xd9,0x84,0xd9,0x87,0x20,0xd8,0xb9,0xd9,0x84,0xd9,0x8a,
2790
  0xd9,0x87,0x20,0xd9,0x88,0xd8,0xb3,0xd9,0x84,0xd9,0x85,0xd8,0xac,0xd9,0x84,0x20,0xd8,0xac,0xd9,0x84,0xd8,0xa7,0xd9,0x84,0xd9,0x87,0xd8,0xb1,0xdb,0x8c,0xd8,0xa7,
2791
  0xd9,0x84,0x2c,0xe3,0x80,0x81,0xe3,0x80,0x82,0x3a,0x3b,0x21,0x3f,0xe3,0x80,0x96,0xe3,0x80,0x97,0xe2,0x80,0xa6,0xe2,0x80,0xa5,0xe2,0x80,0x94,0xe2,0x80,0x93,0x5f,
2792
  0x5f,0x28,0x29,0x7b,0x7d,0xe3,0x80,0x94,0xe3,0x80,0x95,0xe3,0x80,0x90,0xe3,0x80,0x91,0xe3,0x80,0x8a,0xe3,0x80,0x8b,0xe3,0x80,0x88,0xe3,0x80,0x89,0xe3,0x80,0x8c,
2793
  0xe3,0x80,0x8d,0xe3,0x80,0x8e,0xe3,0x80,0x8f,0x5b,0x5d,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0x5f,0x5f,0x5f,0x2c,0xe3,0x80,0x81,0x2e,0x3b,
2794
  0x3a,0x3f,0x21,0xe2,0x80,0x94,0x28,0x29,0x7b,0x7d,0xe3,0x80,0x94,0xe3,0x80,0x95,0x23,0x26,0x2a,0x2b,0x2d,0x3c,0x3e,0x3d,0x5c,0x24,0x25,0x40,0x20,0xd9,0x8b,0xd9,
2795
  0x80,0xd9,0x8b,0x20,0xd9,0x8c,0x20,0xd9,0x8d,0x20,0xd9,0x8e,0xd9,0x80,0xd9,0x8e,0x20,0xd9,0x8f,0xd9,0x80,0xd9,0x8f,0x20,0xd9,0x90,0xd9,0x80,0xd9,0x90,0x20,0xd9,
2796
  0x91,0xd9,0x80,0xd9,0x91,0x20,0xd9,0x92,0xd9,0x80,0xd9,0x92,0xd8,0xa1,0xd8,0xa2,0xd8,0xa2,0xd8,0xa3,0xd8,0xa3,0xd8,0xa4,0xd8,0xa4,0xd8,0xa5,0xd8,0xa5,0xd8,0xa6,
2797
  0xd8,0xa6,0xd8,0xa6,0xd8,0xa6,0xd8,0xa7,0xd8,0xa7,0xd8,0xa8,0xd8,0xa8,0xd8,0xa8,0xd8,0xa8,0xd8,0xa9,0xd8,0xa9,0xd8,0xaa,0xd8,0xaa,0xd8,0xaa,0xd8,0xaa,0xd8,0xab,
2798
  0xd8,0xab,0xd8,0xab,0xd8,0xab,0xd8,0xac,0xd8,0xac,0xd8,0xac,0xd8,0xac,0xd8,0xad,0xd8,0xad,0xd8,0xad,0xd8,0xad,0xd8,0xae,0xd8,0xae,0xd8,0xae,0xd8,0xae,0xd8,0xaf,
2799
  0xd8,0xaf,0xd8,0xb0,0xd8,0xb0,0xd8,0xb1,0xd8,0xb1,0xd8,0xb2,0xd8,0xb2,0xd8,0xb3,0xd8,0xb3,0xd8,0xb3,0xd8,0xb3,0xd8,0xb4,0xd8,0xb4,0xd8,0xb4,0xd8,0xb4,0xd8,0xb5,
2800
  0xd8,0xb5,0xd8,0xb5,0xd8,0xb5,0xd8,0xb6,0xd8,0xb6,0xd8,0xb6,0xd8,0xb6,0xd8,0xb7,0xd8,0xb7,0xd8,0xb7,0xd8,0xb7,0xd8,0xb8,0xd8,0xb8,0xd8,0xb8,0xd8,0xb8,0xd8,0xb9,
2801
  0xd8,0xb9,0xd8,0xb9,0xd8,0xb9,0xd8,0xba,0xd8,0xba,0xd8,0xba,0xd8,0xba,0xd9,0x81,0xd9,0x81,0xd9,0x81,0xd9,0x81,0xd9,0x82,0xd9,0x82,0xd9,0x82,0xd9,0x82,0xd9,0x83,
2802
  0xd9,0x83,0xd9,0x83,0xd9,0x83,0xd9,0x84,0xd9,0x84,0xd9,0x84,0xd9,0x84,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x87,
2803
  0xd9,0x87,0xd9,0x87,0xd9,0x87,0xd9,0x88,0xd9,0x88,0xd9,0x89,0xd9,0x89,0xd9,0x8a,0xd9,0x8a,0xd9,0x8a,0xd9,0x8a,0xd9,0x84,0xd8,0xa2,0xd9,0x84,0xd8,0xa2,0xd9,0x84,
2804
  0xd8,0xa3,0xd9,0x84,0xd8,0xa3,0xd9,0x84,0xd8,0xa5,0xd9,0x84,0xd8,0xa5,0xd9,0x84,0xd8,0xa7,0xd9,0x84,0xd8,0xa7,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,
2805
  0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,
2806
  0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,
2807
  0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0xe2,0xa6,0x85,0xe2,0xa6,0x86,0xe3,0x80,0x82,0xe3,0x80,0x8c,
2808
  0xe3,0x80,0x8d,0xe3,0x80,0x81,0xe3,0x83,0xbb,0xe3,0x83,0xb2,0xe3,0x82,0xa1,0xe3,0x82,0xa3,0xe3,0x82,0xa5,0xe3,0x82,0xa7,0xe3,0x82,0xa9,0xe3,0x83,0xa3,0xe3,0x83,
2809
  0xa5,0xe3,0x83,0xa7,0xe3,0x83,0x83,0xe3,0x83,0xbc,0xe3,0x82,0xa2,0xe3,0x82,0xa4,0xe3,0x82,0xa6,0xe3,0x82,0xa8,0xe3,0x82,0xaa,0xe3,0x82,0xab,0xe3,0x82,0xad,0xe3,
2810
  0x82,0xaf,0xe3,0x82,0xb1,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe3,0x82,0xb7,0xe3,0x82,0xb9,0xe3,0x82,0xbb,0xe3,0x82,0xbd,0xe3,0x82,0xbf,0xe3,0x83,0x81,0xe3,0x83,0x84,
2811
  0xe3,0x83,0x86,0xe3,0x83,0x88,0xe3,0x83,0x8a,0xe3,0x83,0x8b,0xe3,0x83,0x8c,0xe3,0x83,0x8d,0xe3,0x83,0x8e,0xe3,0x83,0x8f,0xe3,0x83,0x92,0xe3,0x83,0x95,0xe3,0x83,
2812
  0x98,0xe3,0x83,0x9b,0xe3,0x83,0x9e,0xe3,0x83,0x9f,0xe3,0x83,0xa0,0xe3,0x83,0xa1,0xe3,0x83,0xa2,0xe3,0x83,0xa4,0xe3,0x83,0xa6,0xe3,0x83,0xa8,0xe3,0x83,0xa9,0xe3,
2813
  0x83,0xaa,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0xb3,0xe3,0x82,0x99,0xe3,0x82,0x9a,0xe3,0x85,0xa4,0xe3,0x84,0xb1,0xe3,0x84,0xb2,
2814
  0xe3,0x84,0xb3,0xe3,0x84,0xb4,0xe3,0x84,0xb5,0xe3,0x84,0xb6,0xe3,0x84,0xb7,0xe3,0x84,0xb8,0xe3,0x84,0xb9,0xe3,0x84,0xba,0xe3,0x84,0xbb,0xe3,0x84,0xbc,0xe3,0x84,
2815
  0xbd,0xe3,0x84,0xbe,0xe3,0x84,0xbf,0xe3,0x85,0x80,0xe3,0x85,0x81,0xe3,0x85,0x82,0xe3,0x85,0x83,0xe3,0x85,0x84,0xe3,0x85,0x85,0xe3,0x85,0x86,0xe3,0x85,0x87,0xe3,
2816
  0x85,0x88,0xe3,0x85,0x89,0xe3,0x85,0x8a,0xe3,0x85,0x8b,0xe3,0x85,0x8c,0xe3,0x85,0x8d,0xe3,0x85,0x8e,0xe3,0x85,0x8f,0xe3,0x85,0x90,0xe3,0x85,0x91,0xe3,0x85,0x92,
2817
  0xe3,0x85,0x93,0xe3,0x85,0x94,0xe3,0x85,0x95,0xe3,0x85,0x96,0xe3,0x85,0x97,0xe3,0x85,0x98,0xe3,0x85,0x99,0xe3,0x85,0x9a,0xe3,0x85,0x9b,0xe3,0x85,0x9c,0xe3,0x85,
2818
  0x9d,0xe3,0x85,0x9e,0xe3,0x85,0x9f,0xe3,0x85,0xa0,0xe3,0x85,0xa1,0xe3,0x85,0xa2,0xe3,0x85,0xa3,0xc2,0xa2,0xc2,0xa3,0xc2,0xac,0xc2,0xaf,0xc2,0xa6,0xc2,0xa5,0xe2,
2819
  0x82,0xa9,0xe2,0x94,0x82,0xe2,0x86,0x90,0xe2,0x86,0x91,0xe2,0x86,0x92,0xe2,0x86,0x93,0xe2,0x96,0xa0,0xe2,0x97,0x8b,
2820
};
2821
58.1M
#define mxDecompositionCount0 7780
2822
static const txU2 gxDecompositionIndex0[mxDecompositionCount0] ICACHE_XS6RO_ATTR = {
2823
  0x00A0,0x8000,0x00A8,0x8001,0x00AA,0x8004,0x00AF,0x8005,0x00B2,0x8008,0x00B3,0x8009,0x00B4,0x800A,0x00B5,0x800D,0x00B8,0x800F,0x00B9,0x8012,0x00BA,0x8013,0x00BC,0x8014,0x00BD,0x8019,0x00BE,0x801E,0x00C0,0x0023,0x00C1,0x0026,
2824
  0x00C2,0x0029,0x00C3,0x002C,0x00C4,0x002F,0x00C5,0x0032,0x00C7,0x0035,0x00C8,0x0038,0x00C9,0x003B,0x00CA,0x003E,0x00CB,0x0041,0x00CC,0x0044,0x00CD,0x0047,0x00CE,0x004A,0x00CF,0x004D,0x00D1,0x0050,0x00D2,0x0053,0x00D3,0x0056,
2825
  0x00D4,0x0059,0x00D5,0x005C,0x00D6,0x005F,0x00D9,0x0062,0x00DA,0x0065,0x00DB,0x0068,0x00DC,0x006B,0x00DD,0x006E,0x00E0,0x0071,0x00E1,0x0074,0x00E2,0x0077,0x00E3,0x007A,0x00E4,0x007D,0x00E5,0x0080,0x00E7,0x0083,0x00E8,0x0086,
2826
  0x00E9,0x0089,0x00EA,0x008C,0x00EB,0x008F,0x00EC,0x0092,0x00ED,0x0095,0x00EE,0x0098,0x00EF,0x009B,0x00F1,0x009E,0x00F2,0x00A1,0x00F3,0x00A4,0x00F4,0x00A7,0x00F5,0x00AA,0x00F6,0x00AD,0x00F9,0x00B0,0x00FA,0x00B3,0x00FB,0x00B6,
2827
  0x00FC,0x00B9,0x00FD,0x00BC,0x00FF,0x00BF,0x0100,0x00C2,0x0101,0x00C5,0x0102,0x00C8,0x0103,0x00CB,0x0104,0x00CE,0x0105,0x00D1,0x0106,0x00D4,0x0107,0x00D7,0x0108,0x00DA,0x0109,0x00DD,0x010A,0x00E0,0x010B,0x00E3,0x010C,0x00E6,
2828
  0x010D,0x00E9,0x010E,0x00EC,0x010F,0x00EF,0x0112,0x00F2,0x0113,0x00F5,0x0114,0x00F8,0x0115,0x00FB,0x0116,0x00FE,0x0117,0x0101,0x0118,0x0104,0x0119,0x0107,0x011A,0x010A,0x011B,0x010D,0x011C,0x0110,0x011D,0x0113,0x011E,0x0116,
2829
  0x011F,0x0119,0x0120,0x011C,0x0121,0x011F,0x0122,0x0122,0x0123,0x0125,0x0124,0x0128,0x0125,0x012B,0x0128,0x012E,0x0129,0x0131,0x012A,0x0134,0x012B,0x0137,0x012C,0x013A,0x012D,0x013D,0x012E,0x0140,0x012F,0x0143,0x0130,0x0146,
2830
  0x0132,0x8149,0x0133,0x814B,0x0134,0x014D,0x0135,0x0150,0x0136,0x0153,0x0137,0x0156,0x0139,0x0159,0x013A,0x015C,0x013B,0x015F,0x013C,0x0162,0x013D,0x0165,0x013E,0x0168,0x013F,0x816B,0x0140,0x816E,0x0143,0x0171,0x0144,0x0174,
2831
  0x0145,0x0177,0x0146,0x017A,0x0147,0x017D,0x0148,0x0180,0x0149,0x8183,0x014C,0x0186,0x014D,0x0189,0x014E,0x018C,0x014F,0x018F,0x0150,0x0192,0x0151,0x0195,0x0154,0x0198,0x0155,0x019B,0x0156,0x019E,0x0157,0x01A1,0x0158,0x01A4,
2832
  0x0159,0x01A7,0x015A,0x01AA,0x015B,0x01AD,0x015C,0x01B0,0x015D,0x01B3,0x015E,0x01B6,0x015F,0x01B9,0x0160,0x01BC,0x0161,0x01BF,0x0162,0x01C2,0x0163,0x01C5,0x0164,0x01C8,0x0165,0x01CB,0x0168,0x01CE,0x0169,0x01D1,0x016A,0x01D4,
2833
  0x016B,0x01D7,0x016C,0x01DA,0x016D,0x01DD,0x016E,0x01E0,0x016F,0x01E3,0x0170,0x01E6,0x0171,0x01E9,0x0172,0x01EC,0x0173,0x01EF,0x0174,0x01F2,0x0175,0x01F5,0x0176,0x01F8,0x0177,0x01FB,0x0178,0x01FE,0x0179,0x0201,0x017A,0x0204,
2834
  0x017B,0x0207,0x017C,0x020A,0x017D,0x020D,0x017E,0x0210,0x017F,0x8213,0x01A0,0x0214,0x01A1,0x0217,0x01AF,0x021A,0x01B0,0x021D,0x01C4,0x8220,0x01C5,0x8223,0x01C6,0x8226,0x01C7,0x8229,0x01C8,0x822B,0x01C9,0x822D,0x01CA,0x822F,
2835
  0x01CB,0x8231,0x01CC,0x8233,0x01CD,0x0235,0x01CE,0x0238,0x01CF,0x023B,0x01D0,0x023E,0x01D1,0x0241,0x01D2,0x0244,0x01D3,0x0247,0x01D4,0x024A,0x01D5,0x024D,0x01D6,0x0251,0x01D7,0x0255,0x01D8,0x0259,0x01D9,0x025D,0x01DA,0x0261,
2836
  0x01DB,0x0265,0x01DC,0x0269,0x01DE,0x026D,0x01DF,0x0271,0x01E0,0x0275,0x01E1,0x0279,0x01E2,0x027D,0x01E3,0x0281,0x01E6,0x0285,0x01E7,0x0288,0x01E8,0x028B,0x01E9,0x028E,0x01EA,0x0291,0x01EB,0x0294,0x01EC,0x0297,0x01ED,0x029B,
2837
  0x01EE,0x029F,0x01EF,0x02A3,0x01F0,0x02A7,0x01F1,0x82AA,0x01F2,0x82AC,0x01F3,0x82AE,0x01F4,0x02B0,0x01F5,0x02B3,0x01F8,0x02B6,0x01F9,0x02B9,0x01FA,0x02BC,0x01FB,0x02C0,0x01FC,0x02C4,0x01FD,0x02C8,0x01FE,0x02CC,0x01FF,0x02D0,
2838
  0x0200,0x02D4,0x0201,0x02D7,0x0202,0x02DA,0x0203,0x02DD,0x0204,0x02E0,0x0205,0x02E3,0x0206,0x02E6,0x0207,0x02E9,0x0208,0x02EC,0x0209,0x02EF,0x020A,0x02F2,0x020B,0x02F5,0x020C,0x02F8,0x020D,0x02FB,0x020E,0x02FE,0x020F,0x0301,
2839
  0x0210,0x0304,0x0211,0x0307,0x0212,0x030A,0x0213,0x030D,0x0214,0x0310,0x0215,0x0313,0x0216,0x0316,0x0217,0x0319,0x0218,0x031C,0x0219,0x031F,0x021A,0x0322,0x021B,0x0325,0x021E,0x0328,0x021F,0x032B,0x0226,0x032E,0x0227,0x0331,
2840
  0x0228,0x0334,0x0229,0x0337,0x022A,0x033A,0x022B,0x033E,0x022C,0x0342,0x022D,0x0346,0x022E,0x034A,0x022F,0x034D,0x0230,0x0350,0x0231,0x0354,0x0232,0x0358,0x0233,0x035B,0x02B0,0x835E,0x02B1,0x835F,0x02B2,0x8361,0x02B3,0x8362,
2841
  0x02B4,0x8363,0x02B5,0x8365,0x02B6,0x8367,0x02B7,0x8369,0x02B8,0x836A,0x02D8,0x836B,0x02D9,0x836E,0x02DA,0x8371,0x02DB,0x8374,0x02DC,0x8377,0x02DD,0x837A,0x02E0,0x837D,0x02E1,0x837F,0x02E2,0x8380,0x02E3,0x8381,0x02E4,0x8382,
2842
  0x0340,0x0384,0x0341,0x0386,0x0343,0x0388,0x0344,0x038A,0x0374,0x038E,0x037A,0x8390,0x037E,0x0393,0x0384,0x8394,0x0385,0x0397,0x0386,0x039B,0x0387,0x039F,0x0388,0x03A1,0x0389,0x03A5,0x038A,0x03A9,0x038C,0x03AD,0x038E,0x03B1,
2843
  0x038F,0x03B5,0x0390,0x03B9,0x03AA,0x03BD,0x03AB,0x03C1,0x03AC,0x03C5,0x03AD,0x03C9,0x03AE,0x03CD,0x03AF,0x03D1,0x03B0,0x03D5,0x03CA,0x03D9,0x03CB,0x03DD,0x03CC,0x03E1,0x03CD,0x03E5,0x03CE,0x03E9,0x03D0,0x83ED,0x03D1,0x83EF,
2844
  0x03D2,0x83F1,0x03D3,0x03F3,0x03D4,0x03F7,0x03D5,0x83FB,0x03D6,0x83FD,0x03F0,0x83FF,0x03F1,0x8401,0x03F2,0x8403,0x03F4,0x8405,0x03F5,0x8407,0x03F9,0x8409,0x0400,0x040B,0x0401,0x040F,0x0403,0x0413,0x0407,0x0417,0x040C,0x041B,
2845
  0x040D,0x041F,0x040E,0x0423,0x0419,0x0427,0x0439,0x042B,0x0450,0x042F,0x0451,0x0433,0x0453,0x0437,0x0457,0x043B,0x045C,0x043F,0x045D,0x0443,0x045E,0x0447,0x0476,0x044B,0x0477,0x044F,0x04C1,0x0453,0x04C2,0x0457,0x04D0,0x045B,
2846
  0x04D1,0x045F,0x04D2,0x0463,0x04D3,0x0467,0x04D6,0x046B,0x04D7,0x046F,0x04DA,0x0473,0x04DB,0x0477,0x04DC,0x047B,0x04DD,0x047F,0x04DE,0x0483,0x04DF,0x0487,0x04E2,0x048B,0x04E3,0x048F,0x04E4,0x0493,0x04E5,0x0497,0x04E6,0x049B,
2847
  0x04E7,0x049F,0x04EA,0x04A3,0x04EB,0x04A7,0x04EC,0x04AB,0x04ED,0x04AF,0x04EE,0x04B3,0x04EF,0x04B7,0x04F0,0x04BB,0x04F1,0x04BF,0x04F2,0x04C3,0x04F3,0x04C7,0x04F4,0x04CB,0x04F5,0x04CF,0x04F8,0x04D3,0x04F9,0x04D7,0x0587,0x84DB,
2848
  0x0622,0x04DF,0x0623,0x04E3,0x0624,0x04E7,0x0625,0x04EB,0x0626,0x04EF,0x0675,0x84F3,0x0676,0x84F7,0x0677,0x84FB,0x0678,0x84FF,0x06C0,0x0503,0x06C2,0x0507,0x06D3,0x050B,0x0929,0x050F,0x0931,0x0515,0x0934,0x051B,0x0958,0x0521,
2849
  0x0959,0x0527,0x095A,0x052D,0x095B,0x0533,0x095C,0x0539,0x095D,0x053F,0x095E,0x0545,0x095F,0x054B,0x09CB,0x0551,0x09CC,0x0557,0x09DC,0x055D,0x09DD,0x0563,0x09DF,0x0569,0x0A33,0x056F,0x0A36,0x0575,0x0A59,0x057B,0x0A5A,0x0581,
2850
  0x0A5B,0x0587,0x0A5E,0x058D,0x0B48,0x0593,0x0B4B,0x0599,0x0B4C,0x059F,0x0B5C,0x05A5,0x0B5D,0x05AB,0x0B94,0x05B1,0x0BCA,0x05B7,0x0BCB,0x05BD,0x0BCC,0x05C3,0x0C48,0x05C9,0x0CC0,0x05CF,0x0CC7,0x05D5,0x0CC8,0x05DB,0x0CCA,0x05E1,
2851
  0x0CCB,0x05E7,0x0D4A,0x05ED,0x0D4B,0x05F3,0x0D4C,0x05F9,0x0DDA,0x05FF,0x0DDC,0x0605,0x0DDD,0x060B,0x0DDE,0x0611,0x0E33,0x8617,0x0EB3,0x861D,0x0EDC,0x8623,0x0EDD,0x8629,0x0F0C,0x862F,0x0F43,0x0632,0x0F4D,0x0638,0x0F52,0x063E,
2852
  0x0F57,0x0644,0x0F5C,0x064A,0x0F69,0x0650,0x0F73,0x0656,0x0F75,0x065C,0x0F76,0x0662,0x0F77,0x8668,0x0F78,0x066E,0x0F79,0x8674,0x0F81,0x067A,0x0F93,0x0680,0x0F9D,0x0686,0x0FA2,0x068C,0x0FA7,0x0692,0x0FAC,0x0698,0x0FB9,0x069E,
2853
  0x1026,0x06A4,0x10FC,0x86AA,0x1B06,0x06AD,0x1B08,0x06B3,0x1B0A,0x06B9,0x1B0C,0x06BF,0x1B0E,0x06C5,0x1B12,0x06CB,0x1B3B,0x06D1,0x1B3D,0x06D7,0x1B40,0x06DD,0x1B41,0x06E3,0x1B43,0x06E9,0x1D2C,0x86EF,0x1D2D,0x86F0,0x1D2E,0x86F2,
2854
  0x1D30,0x86F3,0x1D31,0x86F4,0x1D32,0x86F5,0x1D33,0x86F7,0x1D34,0x86F8,0x1D35,0x86F9,0x1D36,0x86FA,0x1D37,0x86FB,0x1D38,0x86FC,0x1D39,0x86FD,0x1D3A,0x86FE,0x1D3C,0x86FF,0x1D3D,0x8700,0x1D3E,0x8702,0x1D3F,0x8703,0x1D40,0x8704,
2855
  0x1D41,0x8705,0x1D42,0x8706,0x1D43,0x8707,0x1D44,0x8708,0x1D45,0x870A,0x1D46,0x870C,0x1D47,0x870F,0x1D48,0x8710,0x1D49,0x8711,0x1D4A,0x8712,0x1D4B,0x8714,0x1D4C,0x8716,0x1D4D,0x8718,0x1D4F,0x8719,0x1D50,0x871A,0x1D51,0x871B,
2856
  0x1D52,0x871D,0x1D53,0x871E,0x1D54,0x8720,0x1D55,0x8723,0x1D56,0x8726,0x1D57,0x8727,0x1D58,0x8728,0x1D59,0x8729,0x1D5A,0x872C,0x1D5B,0x872E,0x1D5C,0x872F,0x1D5D,0x8732,0x1D5E,0x8734,0x1D5F,0x8736,0x1D60,0x8738,0x1D61,0x873A,
2857
  0x1D62,0x873C,0x1D63,0x873D,0x1D64,0x873E,0x1D65,0x873F,0x1D66,0x8740,0x1D67,0x8742,0x1D68,0x8744,0x1D69,0x8746,0x1D6A,0x8748,0x1D78,0x874A,0x1D9B,0x874C,0x1D9C,0x874E,0x1D9D,0x874F,0x1D9E,0x8751,0x1D9F,0x8753,0x1DA0,0x8755,
2858
  0x1DA1,0x8756,0x1DA2,0x8758,0x1DA3,0x875A,0x1DA4,0x875C,0x1DA5,0x875E,0x1DA6,0x8760,0x1DA7,0x8762,0x1DA8,0x8765,0x1DA9,0x8767,0x1DAA,0x8769,0x1DAB,0x876C,0x1DAC,0x876E,0x1DAD,0x8770,0x1DAE,0x8772,0x1DAF,0x8774,0x1DB0,0x8776,
2859
  0x1DB1,0x8778,0x1DB2,0x877A,0x1DB3,0x877C,0x1DB4,0x877E,0x1DB5,0x8780,0x1DB6,0x8782,0x1DB7,0x8784,0x1DB8,0x8786,0x1DB9,0x8789,0x1DBA,0x878B,0x1DBB,0x878D,0x1DBC,0x878E,0x1DBD,0x8790,0x1DBE,0x8792,0x1DBF,0x8794,0x1E00,0x0796,
2860
  0x1E01,0x0799,0x1E02,0x079C,0x1E03,0x079F,0x1E04,0x07A2,0x1E05,0x07A5,0x1E06,0x07A8,0x1E07,0x07AB,0x1E08,0x07AE,0x1E09,0x07B2,0x1E0A,0x07B6,0x1E0B,0x07B9,0x1E0C,0x07BC,0x1E0D,0x07BF,0x1E0E,0x07C2,0x1E0F,0x07C5,0x1E10,0x07C8,
2861
  0x1E11,0x07CB,0x1E12,0x07CE,0x1E13,0x07D1,0x1E14,0x07D4,0x1E15,0x07D8,0x1E16,0x07DC,0x1E17,0x07E0,0x1E18,0x07E4,0x1E19,0x07E7,0x1E1A,0x07EA,0x1E1B,0x07ED,0x1E1C,0x07F0,0x1E1D,0x07F4,0x1E1E,0x07F8,0x1E1F,0x07FB,0x1E20,0x07FE,
2862
  0x1E21,0x0801,0x1E22,0x0804,0x1E23,0x0807,0x1E24,0x080A,0x1E25,0x080D,0x1E26,0x0810,0x1E27,0x0813,0x1E28,0x0816,0x1E29,0x0819,0x1E2A,0x081C,0x1E2B,0x081F,0x1E2C,0x0822,0x1E2D,0x0825,0x1E2E,0x0828,0x1E2F,0x082C,0x1E30,0x0830,
2863
  0x1E31,0x0833,0x1E32,0x0836,0x1E33,0x0839,0x1E34,0x083C,0x1E35,0x083F,0x1E36,0x0842,0x1E37,0x0845,0x1E38,0x0848,0x1E39,0x084D,0x1E3A,0x0852,0x1E3B,0x0855,0x1E3C,0x0858,0x1E3D,0x085B,0x1E3E,0x085E,0x1E3F,0x0861,0x1E40,0x0864,
2864
  0x1E41,0x0867,0x1E42,0x086A,0x1E43,0x086D,0x1E44,0x0870,0x1E45,0x0873,0x1E46,0x0876,0x1E47,0x0879,0x1E48,0x087C,0x1E49,0x087F,0x1E4A,0x0882,0x1E4B,0x0885,0x1E4C,0x0888,0x1E4D,0x088C,0x1E4E,0x0890,0x1E4F,0x0894,0x1E50,0x0898,
2865
  0x1E51,0x089C,0x1E52,0x08A0,0x1E53,0x08A4,0x1E54,0x08A8,0x1E55,0x08AB,0x1E56,0x08AE,0x1E57,0x08B1,0x1E58,0x08B4,0x1E59,0x08B7,0x1E5A,0x08BA,0x1E5B,0x08BD,0x1E5C,0x08C0,0x1E5D,0x08C5,0x1E5E,0x08CA,0x1E5F,0x08CD,0x1E60,0x08D0,
2866
  0x1E61,0x08D3,0x1E62,0x08D6,0x1E63,0x08D9,0x1E64,0x08DC,0x1E65,0x08E0,0x1E66,0x08E4,0x1E67,0x08E8,0x1E68,0x08EC,0x1E69,0x08F1,0x1E6A,0x08F6,0x1E6B,0x08F9,0x1E6C,0x08FC,0x1E6D,0x08FF,0x1E6E,0x0902,0x1E6F,0x0905,0x1E70,0x0908,
2867
  0x1E71,0x090B,0x1E72,0x090E,0x1E73,0x0911,0x1E74,0x0914,0x1E75,0x0917,0x1E76,0x091A,0x1E77,0x091D,0x1E78,0x0920,0x1E79,0x0924,0x1E7A,0x0928,0x1E7B,0x092C,0x1E7C,0x0930,0x1E7D,0x0933,0x1E7E,0x0936,0x1E7F,0x0939,0x1E80,0x093C,
2868
  0x1E81,0x093F,0x1E82,0x0942,0x1E83,0x0945,0x1E84,0x0948,0x1E85,0x094B,0x1E86,0x094E,0x1E87,0x0951,0x1E88,0x0954,0x1E89,0x0957,0x1E8A,0x095A,0x1E8B,0x095D,0x1E8C,0x0960,0x1E8D,0x0963,0x1E8E,0x0966,0x1E8F,0x0969,0x1E90,0x096C,
2869
  0x1E91,0x096F,0x1E92,0x0972,0x1E93,0x0975,0x1E94,0x0978,0x1E95,0x097B,0x1E96,0x097E,0x1E97,0x0981,0x1E98,0x0984,0x1E99,0x0987,0x1E9A,0x898A,0x1E9B,0x098D,0x1EA0,0x0991,0x1EA1,0x0994,0x1EA2,0x0997,0x1EA3,0x099A,0x1EA4,0x099D,
2870
  0x1EA5,0x09A1,0x1EA6,0x09A5,0x1EA7,0x09A9,0x1EA8,0x09AD,0x1EA9,0x09B1,0x1EAA,0x09B5,0x1EAB,0x09B9,0x1EAC,0x09BD,0x1EAD,0x09C2,0x1EAE,0x09C7,0x1EAF,0x09CB,0x1EB0,0x09CF,0x1EB1,0x09D3,0x1EB2,0x09D7,0x1EB3,0x09DB,0x1EB4,0x09DF,
2871
  0x1EB5,0x09E3,0x1EB6,0x09E7,0x1EB7,0x09EC,0x1EB8,0x09F1,0x1EB9,0x09F4,0x1EBA,0x09F7,0x1EBB,0x09FA,0x1EBC,0x09FD,0x1EBD,0x0A00,0x1EBE,0x0A03,0x1EBF,0x0A07,0x1EC0,0x0A0B,0x1EC1,0x0A0F,0x1EC2,0x0A13,0x1EC3,0x0A17,0x1EC4,0x0A1B,
2872
  0x1EC5,0x0A1F,0x1EC6,0x0A23,0x1EC7,0x0A28,0x1EC8,0x0A2D,0x1EC9,0x0A30,0x1ECA,0x0A33,0x1ECB,0x0A36,0x1ECC,0x0A39,0x1ECD,0x0A3C,0x1ECE,0x0A3F,0x1ECF,0x0A42,0x1ED0,0x0A45,0x1ED1,0x0A49,0x1ED2,0x0A4D,0x1ED3,0x0A51,0x1ED4,0x0A55,
2873
  0x1ED5,0x0A59,0x1ED6,0x0A5D,0x1ED7,0x0A61,0x1ED8,0x0A65,0x1ED9,0x0A6A,0x1EDA,0x0A6F,0x1EDB,0x0A73,0x1EDC,0x0A77,0x1EDD,0x0A7B,0x1EDE,0x0A7F,0x1EDF,0x0A83,0x1EE0,0x0A87,0x1EE1,0x0A8B,0x1EE2,0x0A8F,0x1EE3,0x0A93,0x1EE4,0x0A97,
2874
  0x1EE5,0x0A9A,0x1EE6,0x0A9D,0x1EE7,0x0AA0,0x1EE8,0x0AA3,0x1EE9,0x0AA7,0x1EEA,0x0AAB,0x1EEB,0x0AAF,0x1EEC,0x0AB3,0x1EED,0x0AB7,0x1EEE,0x0ABB,0x1EEF,0x0ABF,0x1EF0,0x0AC3,0x1EF1,0x0AC7,0x1EF2,0x0ACB,0x1EF3,0x0ACE,0x1EF4,0x0AD1,
2875
  0x1EF5,0x0AD4,0x1EF6,0x0AD7,0x1EF7,0x0ADA,0x1EF8,0x0ADD,0x1EF9,0x0AE0,0x1F00,0x0AE3,0x1F01,0x0AE7,0x1F02,0x0AEB,0x1F03,0x0AF0,0x1F04,0x0AF5,0x1F05,0x0AFA,0x1F06,0x0AFF,0x1F07,0x0B04,0x1F08,0x0B09,0x1F09,0x0B0D,0x1F0A,0x0B11,
2876
  0x1F0B,0x0B16,0x1F0C,0x0B1B,0x1F0D,0x0B20,0x1F0E,0x0B25,0x1F0F,0x0B2A,0x1F10,0x0B2F,0x1F11,0x0B33,0x1F12,0x0B37,0x1F13,0x0B3C,0x1F14,0x0B41,0x1F15,0x0B46,0x1F18,0x0B4B,0x1F19,0x0B4F,0x1F1A,0x0B53,0x1F1B,0x0B58,0x1F1C,0x0B5D,
2877
  0x1F1D,0x0B62,0x1F20,0x0B67,0x1F21,0x0B6B,0x1F22,0x0B6F,0x1F23,0x0B74,0x1F24,0x0B79,0x1F25,0x0B7E,0x1F26,0x0B83,0x1F27,0x0B88,0x1F28,0x0B8D,0x1F29,0x0B91,0x1F2A,0x0B95,0x1F2B,0x0B9A,0x1F2C,0x0B9F,0x1F2D,0x0BA4,0x1F2E,0x0BA9,
2878
  0x1F2F,0x0BAE,0x1F30,0x0BB3,0x1F31,0x0BB7,0x1F32,0x0BBB,0x1F33,0x0BC0,0x1F34,0x0BC5,0x1F35,0x0BCA,0x1F36,0x0BCF,0x1F37,0x0BD4,0x1F38,0x0BD9,0x1F39,0x0BDD,0x1F3A,0x0BE1,0x1F3B,0x0BE6,0x1F3C,0x0BEB,0x1F3D,0x0BF0,0x1F3E,0x0BF5,
2879
  0x1F3F,0x0BFA,0x1F40,0x0BFF,0x1F41,0x0C03,0x1F42,0x0C07,0x1F43,0x0C0C,0x1F44,0x0C11,0x1F45,0x0C16,0x1F48,0x0C1B,0x1F49,0x0C1F,0x1F4A,0x0C23,0x1F4B,0x0C28,0x1F4C,0x0C2D,0x1F4D,0x0C32,0x1F50,0x0C37,0x1F51,0x0C3B,0x1F52,0x0C3F,
2880
  0x1F53,0x0C44,0x1F54,0x0C49,0x1F55,0x0C4E,0x1F56,0x0C53,0x1F57,0x0C58,0x1F59,0x0C5D,0x1F5B,0x0C61,0x1F5D,0x0C66,0x1F5F,0x0C6B,0x1F60,0x0C70,0x1F61,0x0C74,0x1F62,0x0C78,0x1F63,0x0C7D,0x1F64,0x0C82,0x1F65,0x0C87,0x1F66,0x0C8C,
2881
  0x1F67,0x0C91,0x1F68,0x0C96,0x1F69,0x0C9A,0x1F6A,0x0C9E,0x1F6B,0x0CA3,0x1F6C,0x0CA8,0x1F6D,0x0CAD,0x1F6E,0x0CB2,0x1F6F,0x0CB7,0x1F70,0x0CBC,0x1F71,0x0CC0,0x1F72,0x0CC2,0x1F73,0x0CC6,0x1F74,0x0CC8,0x1F75,0x0CCC,0x1F76,0x0CCE,
2882
  0x1F77,0x0CD2,0x1F78,0x0CD4,0x1F79,0x0CD8,0x1F7A,0x0CDA,0x1F7B,0x0CDE,0x1F7C,0x0CE0,0x1F7D,0x0CE4,0x1F80,0x0CE6,0x1F81,0x0CEB,0x1F82,0x0CF0,0x1F83,0x0CF5,0x1F84,0x0CFA,0x1F85,0x0CFF,0x1F86,0x0D04,0x1F87,0x0D09,0x1F88,0x0D0E,
2883
  0x1F89,0x0D13,0x1F8A,0x0D18,0x1F8B,0x0D1D,0x1F8C,0x0D22,0x1F8D,0x0D27,0x1F8E,0x0D2C,0x1F8F,0x0D31,0x1F90,0x0D36,0x1F91,0x0D3B,0x1F92,0x0D40,0x1F93,0x0D45,0x1F94,0x0D4A,0x1F95,0x0D4F,0x1F96,0x0D54,0x1F97,0x0D59,0x1F98,0x0D5E,
2884
  0x1F99,0x0D63,0x1F9A,0x0D68,0x1F9B,0x0D6D,0x1F9C,0x0D72,0x1F9D,0x0D77,0x1F9E,0x0D7C,0x1F9F,0x0D81,0x1FA0,0x0D86,0x1FA1,0x0D8B,0x1FA2,0x0D90,0x1FA3,0x0D95,0x1FA4,0x0D9A,0x1FA5,0x0D9F,0x1FA6,0x0DA4,0x1FA7,0x0DA9,0x1FA8,0x0DAE,
2885
  0x1FA9,0x0DB3,0x1FAA,0x0DB8,0x1FAB,0x0DBD,0x1FAC,0x0DC2,0x1FAD,0x0DC7,0x1FAE,0x0DCC,0x1FAF,0x0DD1,0x1FB0,0x0DD6,0x1FB1,0x0DDA,0x1FB2,0x0DDE,0x1FB3,0x0DE3,0x1FB4,0x0DE7,0x1FB6,0x0DEB,0x1FB7,0x0DEF,0x1FB8,0x0DF4,0x1FB9,0x0DF8,
2886
  0x1FBA,0x0DFC,0x1FBB,0x0E00,0x1FBC,0x0E02,0x1FBD,0x8E06,0x1FBE,0x0E09,0x1FBF,0x8E0B,0x1FC0,0x8E0E,0x1FC1,0x0E11,0x1FC2,0x0E15,0x1FC3,0x0E1A,0x1FC4,0x0E1E,0x1FC6,0x0E22,0x1FC7,0x0E26,0x1FC8,0x0E2B,0x1FC9,0x0E2F,0x1FCA,0x0E31,
2887
  0x1FCB,0x0E35,0x1FCC,0x0E37,0x1FCD,0x0E3B,0x1FCE,0x0E40,0x1FCF,0x0E45,0x1FD0,0x0E4A,0x1FD1,0x0E4E,0x1FD2,0x0E52,0x1FD3,0x0E56,0x1FD6,0x0E58,0x1FD7,0x0E5C,0x1FD8,0x0E60,0x1FD9,0x0E64,0x1FDA,0x0E68,0x1FDB,0x0E6C,0x1FDD,0x0E6E,
2888
  0x1FDE,0x0E73,0x1FDF,0x0E78,0x1FE0,0x0E7D,0x1FE1,0x0E81,0x1FE2,0x0E85,0x1FE3,0x0E89,0x1FE4,0x0E8B,0x1FE5,0x0E8F,0x1FE6,0x0E93,0x1FE7,0x0E97,0x1FE8,0x0E9B,0x1FE9,0x0E9F,0x1FEA,0x0EA3,0x1FEB,0x0EA7,0x1FEC,0x0EA9,0x1FED,0x0EAD,
2889
  0x1FEE,0x0EB1,0x1FEF,0x0EB3,0x1FF2,0x0EB4,0x1FF3,0x0EB9,0x1FF4,0x0EBD,0x1FF6,0x0EC1,0x1FF7,0x0EC5,0x1FF8,0x0ECA,0x1FF9,0x0ECE,0x1FFA,0x0ED0,0x1FFB,0x0ED4,0x1FFC,0x0ED6,0x1FFD,0x0EDA,0x1FFE,0x8EDC,0x2000,0x0EDF,0x2001,0x0EE2,
2890
  0x2002,0x8EE5,0x2003,0x8EE6,0x2004,0x8EE7,0x2005,0x8EE8,0x2006,0x8EE9,0x2007,0x8EEA,0x2008,0x8EEB,0x2009,0x8EEC,0x200A,0x8EED,0x2011,0x8EEE,0x2017,0x8EF1,0x2024,0x8EF4,0x2025,0x8EF5,0x2026,0x8EF7,0x202F,0x8EFA,0x2033,0x8EFB,
2891
  0x2034,0x8F01,0x2036,0x8F0A,0x2037,0x8F10,0x203C,0x8F19,0x203E,0x8F1B,0x2047,0x8F1E,0x2048,0x8F20,0x2049,0x8F22,0x2057,0x8F24,0x205F,0x8F30,0x2070,0x8F31,0x2071,0x8F32,0x2074,0x8F33,0x2075,0x8F34,0x2076,0x8F35,0x2077,0x8F36,
2892
  0x2078,0x8F37,0x2079,0x8F38,0x207A,0x8F39,0x207B,0x8F3A,0x207C,0x8F3D,0x207D,0x8F3E,0x207E,0x8F3F,0x207F,0x8F40,0x2080,0x8F41,0x2081,0x8F42,0x2082,0x8F43,0x2083,0x8F44,0x2084,0x8F45,0x2085,0x8F46,0x2086,0x8F47,0x2087,0x8F48,
2893
  0x2088,0x8F49,0x2089,0x8F4A,0x208A,0x8F4B,0x208B,0x8F4C,0x208C,0x8F4F,0x208D,0x8F50,0x208E,0x8F51,0x2090,0x8F52,0x2091,0x8F53,0x2092,0x8F54,0x2093,0x8F55,0x2094,0x8F56,0x2095,0x8F58,0x2096,0x8F59,0x2097,0x8F5A,0x2098,0x8F5B,
2894
  0x2099,0x8F5C,0x209A,0x8F5D,0x209B,0x8F5E,0x209C,0x8F5F,0x20A8,0x8F60,0x2100,0x8F62,0x2101,0x8F65,0x2102,0x8F68,0x2103,0x8F69,0x2105,0x8F6C,0x2106,0x8F6F,0x2107,0x8F72,0x2109,0x8F74,0x210A,0x8F77,0x210B,0x8F78,0x210C,0x8F79,
2895
  0x210D,0x8F7A,0x210E,0x8F7B,0x210F,0x8F7C,0x2110,0x8F7E,0x2111,0x8F7F,0x2112,0x8F80,0x2113,0x8F81,0x2115,0x8F82,0x2116,0x8F83,0x2119,0x8F85,0x211A,0x8F86,0x211B,0x8F87,0x211C,0x8F88,0x211D,0x8F89,0x2120,0x8F8A,0x2121,0x8F8C,
2896
  0x2122,0x8F8F,0x2124,0x8F91,0x2126,0x0F92,0x2128,0x8F94,0x212A,0x0F95,0x212B,0x0F96,0x212C,0x8F98,0x212D,0x8F99,0x212F,0x8F9A,0x2130,0x8F9B,0x2131,0x8F9C,0x2133,0x8F9D,0x2134,0x8F9E,0x2135,0x8F9F,0x2136,0x8FA1,0x2137,0x8FA3,
2897
  0x2138,0x8FA5,0x2139,0x8FA7,0x213B,0x8FA8,0x213C,0x8FAB,0x213D,0x8FAD,0x213E,0x8FAF,0x213F,0x8FB1,0x2140,0x8FB3,0x2145,0x8FB6,0x2146,0x8FB7,0x2147,0x8FB8,0x2148,0x8FB9,0x2149,0x8FBA,0x2150,0x8FBB,0x2151,0x8FC0,0x2152,0x8FC5,
2898
  0x2153,0x8FCB,0x2154,0x8FD0,0x2155,0x8FD5,0x2156,0x8FDA,0x2157,0x8FDF,0x2158,0x8FE4,0x2159,0x8FE9,0x215A,0x8FEE,0x215B,0x8FF3,0x215C,0x8FF8,0x215D,0x8FFD,0x215E,0x9002,0x215F,0x9007,0x2160,0x900B,0x2161,0x900C,0x2162,0x900E,
2899
  0x2163,0x9011,0x2164,0x9013,0x2165,0x9014,0x2166,0x9016,0x2167,0x9019,0x2168,0x901D,0x2169,0x901F,0x216A,0x9020,0x216B,0x9022,0x216C,0x9025,0x216D,0x9026,0x216E,0x9027,0x216F,0x9028,0x2170,0x9029,0x2171,0x902A,0x2172,0x902C,
2900
  0x2173,0x902F,0x2174,0x9031,0x2175,0x9032,0x2176,0x9034,0x2177,0x9037,0x2178,0x903B,0x2179,0x903D,0x217A,0x903E,0x217B,0x9040,0x217C,0x9043,0x217D,0x9044,0x217E,0x9045,0x217F,0x9046,0x2189,0x9047,0x219A,0x104C,0x219B,0x1051,
2901
  0x21AE,0x1056,0x21CD,0x105B,0x21CE,0x1060,0x21CF,0x1065,0x2204,0x106A,0x2209,0x106F,0x220C,0x1074,0x2224,0x1079,0x2226,0x107E,0x222C,0x9083,0x222D,0x9089,0x222F,0x9092,0x2230,0x9098,0x2241,0x10A1,0x2244,0x10A6,0x2247,0x10AB,
2902
  0x2249,0x10B0,0x2260,0x10B5,0x2262,0x10B8,0x226D,0x10BD,0x226E,0x10C2,0x226F,0x10C5,0x2270,0x10C8,0x2271,0x10CD,0x2274,0x10D2,0x2275,0x10D7,0x2278,0x10DC,0x2279,0x10E1,0x2280,0x10E6,0x2281,0x10EB,0x2284,0x10F0,0x2285,0x10F5,
2903
  0x2288,0x10FA,0x2289,0x10FF,0x22AC,0x1104,0x22AD,0x1109,0x22AE,0x110E,0x22AF,0x1113,0x22E0,0x1118,0x22E1,0x111D,0x22E2,0x1122,0x22E3,0x1127,0x22EA,0x112C,0x22EB,0x1131,0x22EC,0x1136,0x22ED,0x113B,0x2329,0x1140,0x232A,0x1143,
2904
  0x2460,0x9146,0x2461,0x9147,0x2462,0x9148,0x2463,0x9149,0x2464,0x914A,0x2465,0x914B,0x2466,0x914C,0x2467,0x914D,0x2468,0x914E,0x2469,0x914F,0x246A,0x9151,0x246B,0x9153,0x246C,0x9155,0x246D,0x9157,0x246E,0x9159,0x246F,0x915B,
2905
  0x2470,0x915D,0x2471,0x915F,0x2472,0x9161,0x2473,0x9163,0x2474,0x9165,0x2475,0x9168,0x2476,0x916B,0x2477,0x916E,0x2478,0x9171,0x2479,0x9174,0x247A,0x9177,0x247B,0x917A,0x247C,0x917D,0x247D,0x9180,0x247E,0x9184,0x247F,0x9188,
2906
  0x2480,0x918C,0x2481,0x9190,0x2482,0x9194,0x2483,0x9198,0x2484,0x919C,0x2485,0x91A0,0x2486,0x91A4,0x2487,0x91A8,0x2488,0x91AC,0x2489,0x91AE,0x248A,0x91B0,0x248B,0x91B2,0x248C,0x91B4,0x248D,0x91B6,0x248E,0x91B8,0x248F,0x91BA,
2907
  0x2490,0x91BC,0x2491,0x91BE,0x2492,0x91C1,0x2493,0x91C4,0x2494,0x91C7,0x2495,0x91CA,0x2496,0x91CD,0x2497,0x91D0,0x2498,0x91D3,0x2499,0x91D6,0x249A,0x91D9,0x249B,0x91DC,0x249C,0x91DF,0x249D,0x91E2,0x249E,0x91E5,0x249F,0x91E8,
2908
  0x24A0,0x91EB,0x24A1,0x91EE,0x24A2,0x91F1,0x24A3,0x91F4,0x24A4,0x91F7,0x24A5,0x91FA,0x24A6,0x91FD,0x24A7,0x9200,0x24A8,0x9203,0x24A9,0x9206,0x24AA,0x9209,0x24AB,0x920C,0x24AC,0x920F,0x24AD,0x9212,0x24AE,0x9215,0x24AF,0x9218,
2909
  0x24B0,0x921B,0x24B1,0x921E,0x24B2,0x9221,0x24B3,0x9224,0x24B4,0x9227,0x24B5,0x922A,0x24B6,0x922D,0x24B7,0x922E,0x24B8,0x922F,0x24B9,0x9230,0x24BA,0x9231,0x24BB,0x9232,0x24BC,0x9233,0x24BD,0x9234,0x24BE,0x9235,0x24BF,0x9236,
2910
  0x24C0,0x9237,0x24C1,0x9238,0x24C2,0x9239,0x24C3,0x923A,0x24C4,0x923B,0x24C5,0x923C,0x24C6,0x923D,0x24C7,0x923E,0x24C8,0x923F,0x24C9,0x9240,0x24CA,0x9241,0x24CB,0x9242,0x24CC,0x9243,0x24CD,0x9244,0x24CE,0x9245,0x24CF,0x9246,
2911
  0x24D0,0x9247,0x24D1,0x9248,0x24D2,0x9249,0x24D3,0x924A,0x24D4,0x924B,0x24D5,0x924C,0x24D6,0x924D,0x24D7,0x924E,0x24D8,0x924F,0x24D9,0x9250,0x24DA,0x9251,0x24DB,0x9252,0x24DC,0x9253,0x24DD,0x9254,0x24DE,0x9255,0x24DF,0x9256,
2912
  0x24E0,0x9257,0x24E1,0x9258,0x24E2,0x9259,0x24E3,0x925A,0x24E4,0x925B,0x24E5,0x925C,0x24E6,0x925D,0x24E7,0x925E,0x24E8,0x925F,0x24E9,0x9260,0x24EA,0x9261,0x2A0C,0x9262,0x2A74,0x926E,0x2A75,0x9271,0x2A76,0x9273,0x2ADC,0x1276,
2913
  0x2C7C,0x927B,0x2C7D,0x927C,0x2D6F,0x927D,0x2E9F,0x9280,0x2EF3,0x9283,0x2F00,0x9286,0x2F01,0x9289,0x2F02,0x928C,0x2F03,0x928F,0x2F04,0x9292,0x2F05,0x9295,0x2F06,0x9298,0x2F07,0x929B,0x2F08,0x929E,0x2F09,0x92A1,0x2F0A,0x92A4,
2914
  0x2F0B,0x92A7,0x2F0C,0x92AA,0x2F0D,0x92AD,0x2F0E,0x92B0,0x2F0F,0x92B3,0x2F10,0x92B6,0x2F11,0x92B9,0x2F12,0x92BC,0x2F13,0x92BF,0x2F14,0x92C2,0x2F15,0x92C5,0x2F16,0x92C8,0x2F17,0x92CB,0x2F18,0x92CE,0x2F19,0x92D1,0x2F1A,0x92D4,
2915
  0x2F1B,0x92D7,0x2F1C,0x92DA,0x2F1D,0x92DD,0x2F1E,0x92E0,0x2F1F,0x92E3,0x2F20,0x92E6,0x2F21,0x92E9,0x2F22,0x92EC,0x2F23,0x92EF,0x2F24,0x92F2,0x2F25,0x92F5,0x2F26,0x92F8,0x2F27,0x92FB,0x2F28,0x92FE,0x2F29,0x9301,0x2F2A,0x9304,
2916
  0x2F2B,0x9307,0x2F2C,0x930A,0x2F2D,0x930D,0x2F2E,0x9310,0x2F2F,0x9313,0x2F30,0x9316,0x2F31,0x9319,0x2F32,0x931C,0x2F33,0x931F,0x2F34,0x9322,0x2F35,0x9325,0x2F36,0x9328,0x2F37,0x932B,0x2F38,0x932E,0x2F39,0x9331,0x2F3A,0x9334,
2917
  0x2F3B,0x9337,0x2F3C,0x933A,0x2F3D,0x933D,0x2F3E,0x9340,0x2F3F,0x9343,0x2F40,0x9346,0x2F41,0x9349,0x2F42,0x934C,0x2F43,0x934F,0x2F44,0x9352,0x2F45,0x9355,0x2F46,0x9358,0x2F47,0x935B,0x2F48,0x935E,0x2F49,0x9361,0x2F4A,0x9364,
2918
  0x2F4B,0x9367,0x2F4C,0x936A,0x2F4D,0x936D,0x2F4E,0x9370,0x2F4F,0x9373,0x2F50,0x9376,0x2F51,0x9379,0x2F52,0x937C,0x2F53,0x937F,0x2F54,0x9382,0x2F55,0x9385,0x2F56,0x9388,0x2F57,0x938B,0x2F58,0x938E,0x2F59,0x9391,0x2F5A,0x9394,
2919
  0x2F5B,0x9397,0x2F5C,0x939A,0x2F5D,0x939D,0x2F5E,0x93A0,0x2F5F,0x93A3,0x2F60,0x93A6,0x2F61,0x93A9,0x2F62,0x93AC,0x2F63,0x93AF,0x2F64,0x93B2,0x2F65,0x93B5,0x2F66,0x93B8,0x2F67,0x93BB,0x2F68,0x93BE,0x2F69,0x93C1,0x2F6A,0x93C4,
2920
  0x2F6B,0x93C7,0x2F6C,0x93CA,0x2F6D,0x93CD,0x2F6E,0x93D0,0x2F6F,0x93D3,0x2F70,0x93D6,0x2F71,0x93D9,0x2F72,0x93DC,0x2F73,0x93DF,0x2F74,0x93E2,0x2F75,0x93E5,0x2F76,0x93E8,0x2F77,0x93EB,0x2F78,0x93EE,0x2F79,0x93F1,0x2F7A,0x93F4,
2921
  0x2F7B,0x93F7,0x2F7C,0x93FA,0x2F7D,0x93FD,0x2F7E,0x9400,0x2F7F,0x9403,0x2F80,0x9406,0x2F81,0x9409,0x2F82,0x940C,0x2F83,0x940F,0x2F84,0x9412,0x2F85,0x9415,0x2F86,0x9418,0x2F87,0x941B,0x2F88,0x941E,0x2F89,0x9421,0x2F8A,0x9424,
2922
  0x2F8B,0x9427,0x2F8C,0x942A,0x2F8D,0x942D,0x2F8E,0x9430,0x2F8F,0x9433,0x2F90,0x9436,0x2F91,0x9439,0x2F92,0x943C,0x2F93,0x943F,0x2F94,0x9442,0x2F95,0x9445,0x2F96,0x9448,0x2F97,0x944B,0x2F98,0x944E,0x2F99,0x9451,0x2F9A,0x9454,
2923
  0x2F9B,0x9457,0x2F9C,0x945A,0x2F9D,0x945D,0x2F9E,0x9460,0x2F9F,0x9463,0x2FA0,0x9466,0x2FA1,0x9469,0x2FA2,0x946C,0x2FA3,0x946F,0x2FA4,0x9472,0x2FA5,0x9475,0x2FA6,0x9478,0x2FA7,0x947B,0x2FA8,0x947E,0x2FA9,0x9481,0x2FAA,0x9484,
2924
  0x2FAB,0x9487,0x2FAC,0x948A,0x2FAD,0x948D,0x2FAE,0x9490,0x2FAF,0x9493,0x2FB0,0x9496,0x2FB1,0x9499,0x2FB2,0x949C,0x2FB3,0x949F,0x2FB4,0x94A2,0x2FB5,0x94A5,0x2FB6,0x94A8,0x2FB7,0x94AB,0x2FB8,0x94AE,0x2FB9,0x94B1,0x2FBA,0x94B4,
2925
  0x2FBB,0x94B7,0x2FBC,0x94BA,0x2FBD,0x94BD,0x2FBE,0x94C0,0x2FBF,0x94C3,0x2FC0,0x94C6,0x2FC1,0x94C9,0x2FC2,0x94CC,0x2FC3,0x94CF,0x2FC4,0x94D2,0x2FC5,0x94D5,0x2FC6,0x94D8,0x2FC7,0x94DB,0x2FC8,0x94DE,0x2FC9,0x94E1,0x2FCA,0x94E4,
2926
  0x2FCB,0x94E7,0x2FCC,0x94EA,0x2FCD,0x94ED,0x2FCE,0x94F0,0x2FCF,0x94F3,0x2FD0,0x94F6,0x2FD1,0x94F9,0x2FD2,0x94FC,0x2FD3,0x94FF,0x2FD4,0x9502,0x2FD5,0x9505,0x3000,0x9508,0x3036,0x9509,0x3038,0x950C,0x3039,0x950F,0x303A,0x9512,
2927
  0x304C,0x1515,0x304E,0x151B,0x3050,0x1521,0x3052,0x1527,0x3054,0x152D,0x3056,0x1533,0x3058,0x1539,0x305A,0x153F,0x305C,0x1545,0x305E,0x154B,0x3060,0x1551,0x3062,0x1557,0x3065,0x155D,0x3067,0x1563,0x3069,0x1569,0x3070,0x156F,
2928
  0x3071,0x1575,0x3073,0x157B,0x3074,0x1581,0x3076,0x1587,0x3077,0x158D,0x3079,0x1593,0x307A,0x1599,0x307C,0x159F,0x307D,0x15A5,0x3094,0x15AB,0x309B,0x95B1,0x309C,0x95B5,0x309E,0x15B9,0x309F,0x95BF,0x30AC,0x15C5,0x30AE,0x15CB,
2929
  0x30B0,0x15D1,0x30B2,0x15D7,0x30B4,0x15DD,0x30B6,0x15E3,0x30B8,0x15E9,0x30BA,0x15EF,0x30BC,0x15F5,0x30BE,0x15FB,0x30C0,0x1601,0x30C2,0x1607,0x30C5,0x160D,0x30C7,0x1613,0x30C9,0x1619,0x30D0,0x161F,0x30D1,0x1625,0x30D3,0x162B,
2930
  0x30D4,0x1631,0x30D6,0x1637,0x30D7,0x163D,0x30D9,0x1643,0x30DA,0x1649,0x30DC,0x164F,0x30DD,0x1655,0x30F4,0x165B,0x30F7,0x1661,0x30F8,0x1667,0x30F9,0x166D,0x30FA,0x1673,0x30FE,0x1679,0x30FF,0x967F,0x3131,0x9685,0x3132,0x9688,
2931
  0x3133,0x968B,0x3134,0x968E,0x3135,0x9691,0x3136,0x9694,0x3137,0x9697,0x3138,0x969A,0x3139,0x969D,0x313A,0x96A0,0x313B,0x96A3,0x313C,0x96A6,0x313D,0x96A9,0x313E,0x96AC,0x313F,0x96AF,0x3140,0x96B2,0x3141,0x96B5,0x3142,0x96B8,
2932
  0x3143,0x96BB,0x3144,0x96BE,0x3145,0x96C1,0x3146,0x96C4,0x3147,0x96C7,0x3148,0x96CA,0x3149,0x96CD,0x314A,0x96D0,0x314B,0x96D3,0x314C,0x96D6,0x314D,0x96D9,0x314E,0x96DC,0x314F,0x96DF,0x3150,0x96E2,0x3151,0x96E5,0x3152,0x96E8,
2933
  0x3153,0x96EB,0x3154,0x96EE,0x3155,0x96F1,0x3156,0x96F4,0x3157,0x96F7,0x3158,0x96FA,0x3159,0x96FD,0x315A,0x9700,0x315B,0x9703,0x315C,0x9706,0x315D,0x9709,0x315E,0x970C,0x315F,0x970F,0x3160,0x9712,0x3161,0x9715,0x3162,0x9718,
2934
  0x3163,0x971B,0x3164,0x971E,0x3165,0x9721,0x3166,0x9724,0x3167,0x9727,0x3168,0x972A,0x3169,0x972D,0x316A,0x9730,0x316B,0x9733,0x316C,0x9736,0x316D,0x9739,0x316E,0x973C,0x316F,0x973F,0x3170,0x9742,0x3171,0x9745,0x3172,0x9748,
2935
  0x3173,0x974B,0x3174,0x974E,0x3175,0x9751,0x3176,0x9754,0x3177,0x9757,0x3178,0x975A,0x3179,0x975D,0x317A,0x9760,0x317B,0x9763,0x317C,0x9766,0x317D,0x9769,0x317E,0x976C,0x317F,0x976F,0x3180,0x9772,0x3181,0x9775,0x3182,0x9778,
2936
  0x3183,0x977B,0x3184,0x977E,0x3185,0x9781,0x3186,0x9784,0x3187,0x9787,0x3188,0x978A,0x3189,0x978D,0x318A,0x9790,0x318B,0x9793,0x318C,0x9796,0x318D,0x9799,0x318E,0x979C,0x3192,0x979F,0x3193,0x97A2,0x3194,0x97A5,0x3195,0x97A8,
2937
  0x3196,0x97AB,0x3197,0x97AE,0x3198,0x97B1,0x3199,0x97B4,0x319A,0x97B7,0x319B,0x97BA,0x319C,0x97BD,0x319D,0x97C0,0x319E,0x97C3,0x319F,0x97C6,0x3200,0x97C9,0x3201,0x97CE,0x3202,0x97D3,0x3203,0x97D8,0x3204,0x97DD,0x3205,0x97E2,
2938
  0x3206,0x97E7,0x3207,0x97EC,0x3208,0x97F1,0x3209,0x97F6,0x320A,0x97FB,0x320B,0x9800,0x320C,0x9805,0x320D,0x980A,0x320E,0x980F,0x320F,0x9817,0x3210,0x981F,0x3211,0x9827,0x3212,0x982F,0x3213,0x9837,0x3214,0x983F,0x3215,0x9847,
2939
  0x3216,0x984F,0x3217,0x9857,0x3218,0x985F,0x3219,0x9867,0x321A,0x986F,0x321B,0x9877,0x321C,0x987F,0x321D,0x9887,0x321E,0x9898,0x3220,0x98A6,0x3221,0x98AB,0x3222,0x98B0,0x3223,0x98B5,0x3224,0x98BA,0x3225,0x98BF,0x3226,0x98C4,
2940
  0x3227,0x98C9,0x3228,0x98CE,0x3229,0x98D3,0x322A,0x98D8,0x322B,0x98DD,0x322C,0x98E2,0x322D,0x98E7,0x322E,0x98EC,0x322F,0x98F1,0x3230,0x98F6,0x3231,0x98FB,0x3232,0x9900,0x3233,0x9905,0x3234,0x990A,0x3235,0x990F,0x3236,0x9914,
2941
  0x3237,0x9919,0x3238,0x991E,0x3239,0x9923,0x323A,0x9928,0x323B,0x992D,0x323C,0x9932,0x323D,0x9937,0x323E,0x993C,0x323F,0x9941,0x3240,0x9946,0x3241,0x994B,0x3242,0x9950,0x3243,0x9955,0x3244,0x995A,0x3245,0x995D,0x3246,0x9960,
2942
  0x3247,0x9963,0x3250,0x9966,0x3251,0x9969,0x3252,0x996B,0x3253,0x996D,0x3254,0x996F,0x3255,0x9971,0x3256,0x9973,0x3257,0x9975,0x3258,0x9977,0x3259,0x9979,0x325A,0x997B,0x325B,0x997D,0x325C,0x997F,0x325D,0x9981,0x325E,0x9983,
2943
  0x325F,0x9985,0x3260,0x9987,0x3261,0x998A,0x3262,0x998D,0x3263,0x9990,0x3264,0x9993,0x3265,0x9996,0x3266,0x9999,0x3267,0x999C,0x3268,0x999F,0x3269,0x99A2,0x326A,0x99A5,0x326B,0x99A8,0x326C,0x99AB,0x326D,0x99AE,0x326E,0x99B1,
2944
  0x326F,0x99B7,0x3270,0x99BD,0x3271,0x99C3,0x3272,0x99C9,0x3273,0x99CF,0x3274,0x99D5,0x3275,0x99DB,0x3276,0x99E1,0x3277,0x99E7,0x3278,0x99ED,0x3279,0x99F3,0x327A,0x99F9,0x327B,0x99FF,0x327C,0x9A05,0x327D,0x9A14,0x327E,0x9A20,
2945
  0x3280,0x9A26,0x3281,0x9A29,0x3282,0x9A2C,0x3283,0x9A2F,0x3284,0x9A32,0x3285,0x9A35,0x3286,0x9A38,0x3287,0x9A3B,0x3288,0x9A3E,0x3289,0x9A41,0x328A,0x9A44,0x328B,0x9A47,0x328C,0x9A4A,0x328D,0x9A4D,0x328E,0x9A50,0x328F,0x9A53,
2946
  0x3290,0x9A56,0x3291,0x9A59,0x3292,0x9A5C,0x3293,0x9A5F,0x3294,0x9A62,0x3295,0x9A65,0x3296,0x9A68,0x3297,0x9A6B,0x3298,0x9A6E,0x3299,0x9A71,0x329A,0x9A74,0x329B,0x9A77,0x329C,0x9A7A,0x329D,0x9A7D,0x329E,0x9A80,0x329F,0x9A83,
2947
  0x32A0,0x9A86,0x32A1,0x9A89,0x32A2,0x9A8C,0x32A3,0x9A8F,0x32A4,0x9A92,0x32A5,0x9A95,0x32A6,0x9A98,0x32A7,0x9A9B,0x32A8,0x9A9E,0x32A9,0x9AA1,0x32AA,0x9AA4,0x32AB,0x9AA7,0x32AC,0x9AAA,0x32AD,0x9AAD,0x32AE,0x9AB0,0x32AF,0x9AB3,
2948
  0x32B0,0x9AB6,0x32B1,0x9AB9,0x32B2,0x9ABB,0x32B3,0x9ABD,0x32B4,0x9ABF,0x32B5,0x9AC1,0x32B6,0x9AC3,0x32B7,0x9AC5,0x32B8,0x9AC7,0x32B9,0x9AC9,0x32BA,0x9ACB,0x32BB,0x9ACD,0x32BC,0x9ACF,0x32BD,0x9AD1,0x32BE,0x9AD3,0x32BF,0x9AD5,
2949
  0x32C0,0x9AD7,0x32C1,0x9ADB,0x32C2,0x9ADF,0x32C3,0x9AE3,0x32C4,0x9AE7,0x32C5,0x9AEB,0x32C6,0x9AEF,0x32C7,0x9AF3,0x32C8,0x9AF7,0x32C9,0x9AFB,0x32CA,0x9B00,0x32CB,0x9B05,0x32CC,0x9B0A,0x32CD,0x9B0C,0x32CE,0x9B0F,0x32CF,0x9B11,
2950
  0x32D0,0x9B14,0x32D1,0x9B17,0x32D2,0x9B1A,0x32D3,0x9B1D,0x32D4,0x9B20,0x32D5,0x9B23,0x32D6,0x9B26,0x32D7,0x9B29,0x32D8,0x9B2C,0x32D9,0x9B2F,0x32DA,0x9B32,0x32DB,0x9B35,0x32DC,0x9B38,0x32DD,0x9B3B,0x32DE,0x9B3E,0x32DF,0x9B41,
2951
  0x32E0,0x9B44,0x32E1,0x9B47,0x32E2,0x9B4A,0x32E3,0x9B4D,0x32E4,0x9B50,0x32E5,0x9B53,0x32E6,0x9B56,0x32E7,0x9B59,0x32E8,0x9B5C,0x32E9,0x9B5F,0x32EA,0x9B62,0x32EB,0x9B65,0x32EC,0x9B68,0x32ED,0x9B6B,0x32EE,0x9B6E,0x32EF,0x9B71,
2952
  0x32F0,0x9B74,0x32F1,0x9B77,0x32F2,0x9B7A,0x32F3,0x9B7D,0x32F4,0x9B80,0x32F5,0x9B83,0x32F6,0x9B86,0x32F7,0x9B89,0x32F8,0x9B8C,0x32F9,0x9B8F,0x32FA,0x9B92,0x32FB,0x9B95,0x32FC,0x9B98,0x32FD,0x9B9B,0x32FE,0x9B9E,0x32FF,0x9BA1,
2953
  0x3300,0x9BA7,0x3301,0x9BB3,0x3302,0x9BBF,0x3303,0x9BCB,0x3304,0x9BD4,0x3305,0x9BE0,0x3306,0x9BE9,0x3307,0x9BF2,0x3308,0x9C01,0x3309,0x9C0D,0x330A,0x9C16,0x330B,0x9C1F,0x330C,0x9C28,0x330D,0x9C34,0x330E,0x9C40,0x330F,0x9C49,
2954
  0x3310,0x9C52,0x3311,0x9C58,0x3312,0x9C61,0x3313,0x9C6D,0x3314,0x9C79,0x3315,0x9C7F,0x3316,0x9C8E,0x3317,0x9CA0,0x3318,0x9CAF,0x3319,0x9CB8,0x331A,0x9CC7,0x331B,0x9CD6,0x331C,0x9CE2,0x331D,0x9CEB,0x331E,0x9CF4,0x331F,0x9CFD,
2955
  0x3320,0x9D09,0x3321,0x9D18,0x3322,0x9D24,0x3323,0x9D2D,0x3324,0x9D36,0x3325,0x9D3F,0x3326,0x9D45,0x3327,0x9D4B,0x3328,0x9D51,0x3329,0x9D57,0x332A,0x9D60,0x332B,0x9D69,0x332C,0x9D78,0x332D,0x9D81,0x332E,0x9D8D,0x332F,0x9D9C,
2956
  0x3330,0x9DA5,0x3331,0x9DAB,0x3332,0x9DB1,0x3333,0x9DC0,0x3334,0x9DCC,0x3335,0x9DDB,0x3336,0x9DE4,0x3337,0x9DF3,0x3338,0x9DF9,0x3339,0x9E02,0x333A,0x9E0B,0x333B,0x9E14,0x333C,0x9E1D,0x333D,0x9E26,0x333E,0x9E32,0x333F,0x9E3B,
2957
  0x3340,0x9E41,0x3341,0x9E4A,0x3342,0x9E53,0x3343,0x9E5C,0x3344,0x9E68,0x3345,0x9E71,0x3346,0x9E7A,0x3347,0x9E83,0x3348,0x9E92,0x3349,0x9E9E,0x334A,0x9EA4,0x334B,0x9EB3,0x334C,0x9EB9,0x334D,0x9EC5,0x334E,0x9ED1,0x334F,0x9EDA,
2958
  0x3350,0x9EE3,0x3351,0x9EEC,0x3352,0x9EF8,0x3353,0x9EFE,0x3354,0x9F07,0x3355,0x9F13,0x3356,0x9F19,0x3357,0x9F28,0x3358,0x9F31,0x3359,0x9F35,0x335A,0x9F39,0x335B,0x9F3D,0x335C,0x9F41,0x335D,0x9F45,0x335E,0x9F49,0x335F,0x9F4D,
2959
  0x3360,0x9F51,0x3361,0x9F55,0x3362,0x9F59,0x3363,0x9F5E,0x3364,0x9F63,0x3365,0x9F68,0x3366,0x9F6D,0x3367,0x9F72,0x3368,0x9F77,0x3369,0x9F7C,0x336A,0x9F81,0x336B,0x9F86,0x336C,0x9F8B,0x336D,0x9F90,0x336E,0x9F95,0x336F,0x9F9A,
2960
  0x3370,0x9F9F,0x3371,0x9FA4,0x3372,0x9FA7,0x3373,0x9FA9,0x3374,0x9FAB,0x3375,0x9FAE,0x3376,0x9FB0,0x3377,0x9FB2,0x3378,0x9FB4,0x3379,0x9FB8,0x337A,0x9FBC,0x337B,0x9FBE,0x337C,0x9FC4,0x337D,0x9FCA,0x337E,0x9FD0,0x337F,0x9FD6,
2961
  0x3380,0x9FE2,0x3381,0x9FE4,0x3382,0x9FE6,0x3383,0x9FE9,0x3384,0x9FEB,0x3385,0x9FED,0x3386,0x9FEF,0x3387,0x9FF1,0x3388,0x9FF3,0x3389,0x9FF6,0x338A,0x9FFA,0x338B,0x9FFC,0x338C,0x9FFE,0x338D,0xA001,0x338E,0xA004,0x338F,0xA006,
2962
  0x3390,0xA008,0x3391,0xA00A,0x3392,0xA00D,0x3393,0xA010,0x3394,0xA013,0x3395,0xA016,0x3396,0xA01B,0x3397,0xA01F,0x3398,0xA023,0x3399,0xA027,0x339A,0xA029,0x339B,0xA02B,0x339C,0xA02E,0x339D,0xA030,0x339E,0xA032,0x339F,0xA034,
2963
  0x33A0,0xA038,0x33A1,0xA03C,0x33A2,0xA03F,0x33A3,0xA043,0x33A4,0xA047,0x33A5,0xA04B,0x33A6,0xA04E,0x33A7,0xA052,0x33A8,0xA057,0x33A9,0xA05E,0x33AA,0xA060,0x33AB,0xA063,0x33AC,0xA066,0x33AD,0xA069,0x33AE,0xA06C,0x33AF,0xA073,
2964
  0x33B0,0xA07C,0x33B1,0xA07E,0x33B2,0xA080,0x33B3,0xA083,0x33B4,0xA085,0x33B5,0xA087,0x33B6,0xA089,0x33B7,0xA08C,0x33B8,0xA08E,0x33B9,0xA090,0x33BA,0xA092,0x33BB,0xA094,0x33BC,0xA096,0x33BD,0xA099,0x33BE,0xA09B,0x33BF,0xA09D,
2965
  0x33C0,0xA09F,0x33C1,0xA0A2,0x33C2,0xA0A5,0x33C3,0xA0A9,0x33C4,0xA0AB,0x33C5,0xA0AD,0x33C6,0xA0AF,0x33C7,0xA0B5,0x33C8,0xA0B8,0x33C9,0xA0BA,0x33CA,0xA0BC,0x33CB,0xA0BE,0x33CC,0xA0C0,0x33CD,0xA0C2,0x33CE,0xA0C4,0x33CF,0xA0C6,
2966
  0x33D0,0xA0C8,0x33D1,0xA0CA,0x33D2,0xA0CC,0x33D3,0xA0CF,0x33D4,0xA0D1,0x33D5,0xA0D3,0x33D6,0xA0D6,0x33D7,0xA0D9,0x33D8,0xA0DB,0x33D9,0xA0DF,0x33DA,0xA0E2,0x33DB,0xA0E4,0x33DC,0xA0E6,0x33DD,0xA0E8,0x33DE,0xA0EA,0x33DF,0xA0EF,
2967
  0x33E0,0xA0F4,0x33E1,0xA0F8,0x33E2,0xA0FC,0x33E3,0xA100,0x33E4,0xA104,0x33E5,0xA108,0x33E6,0xA10C,0x33E7,0xA110,0x33E8,0xA114,0x33E9,0xA118,0x33EA,0xA11D,0x33EB,0xA122,0x33EC,0xA127,0x33ED,0xA12C,0x33EE,0xA131,0x33EF,0xA136,
2968
  0x33F0,0xA13B,0x33F1,0xA140,0x33F2,0xA145,0x33F3,0xA14A,0x33F4,0xA14F,0x33F5,0xA154,0x33F6,0xA159,0x33F7,0xA15E,0x33F8,0xA163,0x33F9,0xA168,0x33FA,0xA16D,0x33FB,0xA172,0x33FC,0xA177,0x33FD,0xA17C,0x33FE,0xA181,0x33FF,0xA186,
2969
  0xA69C,0xA189,0xA69D,0xA18B,0xA770,0xA18D,0xA7F1,0xA190,0xA7F2,0xA191,0xA7F3,0xA192,0xA7F4,0xA193,0xA7F8,0xA194,0xA7F9,0xA196,0xAB5C,0xA198,0xAB5D,0xA19B,0xAB5E,0xA19E,0xAB5F,0xA1A0,0xAB69,0xA1A3,0xF900,0x21A5,0xF901,0x21A8,
2970
  0xF902,0x21AB,0xF903,0x21AE,0xF904,0x21B1,0xF905,0x21B4,0xF906,0x21B7,0xF907,0x21BA,0xF908,0x21BD,0xF909,0x21C0,0xF90A,0x21C3,0xF90B,0x21C6,0xF90C,0x21C9,0xF90D,0x21CC,0xF90E,0x21CF,0xF90F,0x21D2,0xF910,0x21D5,0xF911,0x21D8,
2971
  0xF912,0x21DB,0xF913,0x21DE,0xF914,0x21E1,0xF915,0x21E4,0xF916,0x21E7,0xF917,0x21EA,0xF918,0x21ED,0xF919,0x21F0,0xF91A,0x21F3,0xF91B,0x21F6,0xF91C,0x21F9,0xF91D,0x21FC,0xF91E,0x21FF,0xF91F,0x2202,0xF920,0x2205,0xF921,0x2208,
2972
  0xF922,0x220B,0xF923,0x220E,0xF924,0x2211,0xF925,0x2214,0xF926,0x2217,0xF927,0x221A,0xF928,0x221D,0xF929,0x2220,0xF92A,0x2223,0xF92B,0x2226,0xF92C,0x2229,0xF92D,0x222C,0xF92E,0x222F,0xF92F,0x2232,0xF930,0x2235,0xF931,0x2238,
2973
  0xF932,0x223B,0xF933,0x223E,0xF934,0x2241,0xF935,0x2244,0xF936,0x2247,0xF937,0x224A,0xF938,0x224D,0xF939,0x2250,0xF93A,0x2253,0xF93B,0x2256,0xF93C,0x2259,0xF93D,0x225C,0xF93E,0x225F,0xF93F,0x2262,0xF940,0x2265,0xF941,0x2268,
2974
  0xF942,0x226B,0xF943,0x226E,0xF944,0x2271,0xF945,0x2274,0xF946,0x2277,0xF947,0x227A,0xF948,0x227D,0xF949,0x2280,0xF94A,0x2283,0xF94B,0x2286,0xF94C,0x2289,0xF94D,0x228C,0xF94E,0x228F,0xF94F,0x2292,0xF950,0x2295,0xF951,0x2298,
2975
  0xF952,0x229B,0xF953,0x229E,0xF954,0x22A1,0xF955,0x22A4,0xF956,0x22A7,0xF957,0x22AA,0xF958,0x22AD,0xF959,0x22B0,0xF95A,0x22B3,0xF95B,0x22B6,0xF95C,0x22B9,0xF95D,0x22BC,0xF95E,0x22BF,0xF95F,0x22C2,0xF960,0x22C5,0xF961,0x22C8,
2976
  0xF962,0x22CB,0xF963,0x22CE,0xF964,0x22D1,0xF965,0x22D4,0xF966,0x22D7,0xF967,0x22DA,0xF968,0x22DD,0xF969,0x22E0,0xF96A,0x22E3,0xF96B,0x22E6,0xF96C,0x22E9,0xF96D,0x22EC,0xF96E,0x22EF,0xF96F,0x22F2,0xF970,0x22F5,0xF971,0x22F8,
2977
  0xF972,0x22FB,0xF973,0x22FE,0xF974,0x2301,0xF975,0x2304,0xF976,0x2307,0xF977,0x230A,0xF978,0x230D,0xF979,0x2310,0xF97A,0x2313,0xF97B,0x2316,0xF97C,0x2319,0xF97D,0x231C,0xF97E,0x231F,0xF97F,0x2322,0xF980,0x2325,0xF981,0x2328,
2978
  0xF982,0x232B,0xF983,0x232E,0xF984,0x2331,0xF985,0x2334,0xF986,0x2337,0xF987,0x233A,0xF988,0x233D,0xF989,0x2340,0xF98A,0x2343,0xF98B,0x2346,0xF98C,0x2349,0xF98D,0x234C,0xF98E,0x234F,0xF98F,0x2352,0xF990,0x2355,0xF991,0x2358,
2979
  0xF992,0x235B,0xF993,0x235E,0xF994,0x2361,0xF995,0x2364,0xF996,0x2367,0xF997,0x236A,0xF998,0x236D,0xF999,0x2370,0xF99A,0x2373,0xF99B,0x2376,0xF99C,0x2379,0xF99D,0x237C,0xF99E,0x237F,0xF99F,0x2382,0xF9A0,0x2385,0xF9A1,0x2388,
2980
  0xF9A2,0x238B,0xF9A3,0x238E,0xF9A4,0x2391,0xF9A5,0x2394,0xF9A6,0x2397,0xF9A7,0x239A,0xF9A8,0x239D,0xF9A9,0x23A0,0xF9AA,0x23A3,0xF9AB,0x23A6,0xF9AC,0x23A9,0xF9AD,0x23AC,0xF9AE,0x23AF,0xF9AF,0x23B2,0xF9B0,0x23B5,0xF9B1,0x23B8,
2981
  0xF9B2,0x23BB,0xF9B3,0x23BE,0xF9B4,0x23C1,0xF9B5,0x23C4,0xF9B6,0x23C7,0xF9B7,0x23CA,0xF9B8,0x23CD,0xF9B9,0x23D0,0xF9BA,0x23D3,0xF9BB,0x23D6,0xF9BC,0x23D9,0xF9BD,0x23DC,0xF9BE,0x23DF,0xF9BF,0x23E2,0xF9C0,0x23E5,0xF9C1,0x23E8,
2982
  0xF9C2,0x23EB,0xF9C3,0x23EE,0xF9C4,0x23F1,0xF9C5,0x23F4,0xF9C6,0x23F7,0xF9C7,0x23FA,0xF9C8,0x23FD,0xF9C9,0x2400,0xF9CA,0x2403,0xF9CB,0x2406,0xF9CC,0x2409,0xF9CD,0x240C,0xF9CE,0x240F,0xF9CF,0x2412,0xF9D0,0x2415,0xF9D1,0x2418,
2983
  0xF9D2,0x241B,0xF9D3,0x241E,0xF9D4,0x2421,0xF9D5,0x2424,0xF9D6,0x2427,0xF9D7,0x242A,0xF9D8,0x242D,0xF9D9,0x2430,0xF9DA,0x2433,0xF9DB,0x2436,0xF9DC,0x2439,0xF9DD,0x243C,0xF9DE,0x243F,0xF9DF,0x2442,0xF9E0,0x2445,0xF9E1,0x2448,
2984
  0xF9E2,0x244B,0xF9E3,0x244E,0xF9E4,0x2451,0xF9E5,0x2454,0xF9E6,0x2457,0xF9E7,0x245A,0xF9E8,0x245D,0xF9E9,0x2460,0xF9EA,0x2463,0xF9EB,0x2466,0xF9EC,0x2469,0xF9ED,0x246C,0xF9EE,0x246F,0xF9EF,0x2472,0xF9F0,0x2475,0xF9F1,0x2478,
2985
  0xF9F2,0x247B,0xF9F3,0x247E,0xF9F4,0x2481,0xF9F5,0x2484,0xF9F6,0x2487,0xF9F7,0x248A,0xF9F8,0x248D,0xF9F9,0x2490,0xF9FA,0x2493,0xF9FB,0x2496,0xF9FC,0x2499,0xF9FD,0x249C,0xF9FE,0x249F,0xF9FF,0x24A2,0xFA00,0x24A5,0xFA01,0x24A8,
2986
  0xFA02,0x24AB,0xFA03,0x24AE,0xFA04,0x24B1,0xFA05,0x24B4,0xFA06,0x24B7,0xFA07,0x24BA,0xFA08,0x24BD,0xFA09,0x24C0,0xFA0A,0x24C3,0xFA0B,0x24C6,0xFA0C,0x24C9,0xFA0D,0x24CC,0xFA10,0x24CF,0xFA12,0x24D2,0xFA15,0x24D5,0xFA16,0x24D8,
2987
  0xFA17,0x24DB,0xFA18,0x24DE,0xFA19,0x24E1,0xFA1A,0x24E4,0xFA1B,0x24E7,0xFA1C,0x24EA,0xFA1D,0x24ED,0xFA1E,0x24F0,0xFA20,0x24F3,0xFA22,0x24F6,0xFA25,0x24F9,0xFA26,0x24FC,0xFA2A,0x24FF,0xFA2B,0x2502,0xFA2C,0x2505,0xFA2D,0x2508,
2988
  0xFA2E,0x250B,0xFA2F,0x250E,0xFA30,0x2511,0xFA31,0x2514,0xFA32,0x2517,0xFA33,0x251A,0xFA34,0x251D,0xFA35,0x2520,0xFA36,0x2523,0xFA37,0x2526,0xFA38,0x2529,0xFA39,0x252C,0xFA3A,0x252F,0xFA3B,0x2532,0xFA3C,0x2535,0xFA3D,0x2538,
2989
  0xFA3E,0x253B,0xFA3F,0x253E,0xFA40,0x2541,0xFA41,0x2544,0xFA42,0x2547,0xFA43,0x254A,0xFA44,0x254D,0xFA45,0x2550,0xFA46,0x2553,0xFA47,0x2556,0xFA48,0x2559,0xFA49,0x255C,0xFA4A,0x255F,0xFA4B,0x2562,0xFA4C,0x2565,0xFA4D,0x2568,
2990
  0xFA4E,0x256B,0xFA4F,0x256E,0xFA50,0x2571,0xFA51,0x2574,0xFA52,0x2577,0xFA53,0x257A,0xFA54,0x257D,0xFA55,0x2580,0xFA56,0x2583,0xFA57,0x2586,0xFA58,0x2589,0xFA59,0x258C,0xFA5A,0x258F,0xFA5B,0x2592,0xFA5C,0x2595,0xFA5D,0x2598,
2991
  0xFA5E,0x259B,0xFA5F,0x259E,0xFA60,0x25A1,0xFA61,0x25A4,0xFA62,0x25A7,0xFA63,0x25AA,0xFA64,0x25AD,0xFA65,0x25B0,0xFA66,0x25B3,0xFA67,0x25B6,0xFA68,0x25B9,0xFA69,0x25BC,0xFA6A,0x25BF,0xFA6B,0x25C2,0xFA6C,0x25C5,0xFA6D,0x25C9,
2992
  0xFA70,0x25CC,0xFA71,0x25CF,0xFA72,0x25D2,0xFA73,0x25D5,0xFA74,0x25D8,0xFA75,0x25DB,0xFA76,0x25DE,0xFA77,0x25E1,0xFA78,0x25E4,0xFA79,0x25E7,0xFA7A,0x25EA,0xFA7B,0x25ED,0xFA7C,0x25F0,0xFA7D,0x25F3,0xFA7E,0x25F6,0xFA7F,0x25F9,
2993
  0xFA80,0x25FC,0xFA81,0x25FF,0xFA82,0x2602,0xFA83,0x2605,0xFA84,0x2608,0xFA85,0x260B,0xFA86,0x260E,0xFA87,0x2611,0xFA88,0x2614,0xFA89,0x2617,0xFA8A,0x261A,0xFA8B,0x261D,0xFA8C,0x2620,0xFA8D,0x2623,0xFA8E,0x2626,0xFA8F,0x2629,
2994
  0xFA90,0x262C,0xFA91,0x262F,0xFA92,0x2632,0xFA93,0x2635,0xFA94,0x2638,0xFA95,0x263B,0xFA96,0x263E,0xFA97,0x2641,0xFA98,0x2644,0xFA99,0x2647,0xFA9A,0x264A,0xFA9B,0x264D,0xFA9C,0x2650,0xFA9D,0x2653,0xFA9E,0x2656,0xFA9F,0x2659,
2995
  0xFAA0,0x265C,0xFAA1,0x265F,0xFAA2,0x2662,0xFAA3,0x2665,0xFAA4,0x2668,0xFAA5,0x266B,0xFAA6,0x266E,0xFAA7,0x2671,0xFAA8,0x2674,0xFAA9,0x2677,0xFAAA,0x267A,0xFAAB,0x267D,0xFAAC,0x2680,0xFAAD,0x2683,0xFAAE,0x2686,0xFAAF,0x2689,
2996
  0xFAB0,0x268C,0xFAB1,0x268F,0xFAB2,0x2692,0xFAB3,0x2695,0xFAB4,0x2698,0xFAB5,0x269B,0xFAB6,0x269E,0xFAB7,0x26A1,0xFAB8,0x26A4,0xFAB9,0x26A7,0xFABA,0x26AA,0xFABB,0x26AD,0xFABC,0x26B0,0xFABD,0x26B3,0xFABE,0x26B6,0xFABF,0x26B9,
2997
  0xFAC0,0x26BC,0xFAC1,0x26BF,0xFAC2,0x26C2,0xFAC3,0x26C5,0xFAC4,0x26C8,0xFAC5,0x26CB,0xFAC6,0x26CE,0xFAC7,0x26D1,0xFAC8,0x26D4,0xFAC9,0x26D7,0xFACA,0x26DA,0xFACB,0x26DD,0xFACC,0x26E0,0xFACD,0x26E3,0xFACE,0x26E6,0xFACF,0x26E9,
2998
  0xFAD0,0x26ED,0xFAD1,0x26F1,0xFAD2,0x26F5,0xFAD3,0x26F8,0xFAD4,0x26FB,0xFAD5,0x26FE,0xFAD6,0x2702,0xFAD7,0x2706,0xFAD8,0x270A,0xFAD9,0x270D,0xFB00,0xA710,0xFB01,0xA712,0xFB02,0xA714,0xFB03,0xA716,0xFB04,0xA719,0xFB05,0xA71C,
2999
  0xFB06,0xA71F,0xFB13,0xA721,0xFB14,0xA725,0xFB15,0xA729,0xFB16,0xA72D,0xFB17,0xA731,0xFB1D,0x2735,0xFB1F,0x2739,0xFB20,0xA73D,0xFB21,0xA73F,0xFB22,0xA741,0xFB23,0xA743,0xFB24,0xA745,0xFB25,0xA747,0xFB26,0xA749,0xFB27,0xA74B,
3000
  0xFB28,0xA74D,0xFB29,0xA74F,0xFB2A,0x2750,0xFB2B,0x2754,0xFB2C,0x2758,0xFB2D,0x275D,0xFB2E,0x2762,0xFB2F,0x2766,0xFB30,0x276A,0xFB31,0x276E,0xFB32,0x2772,0xFB33,0x2776,0xFB34,0x277A,0xFB35,0x277E,0xFB36,0x2782,0xFB38,0x2786,
3001
  0xFB39,0x278A,0xFB3A,0x278E,0xFB3B,0x2792,0xFB3C,0x2796,0xFB3E,0x279A,0xFB40,0x279E,0xFB41,0x27A2,0xFB43,0x27A6,0xFB44,0x27AA,0xFB46,0x27AE,0xFB47,0x27B2,0xFB48,0x27B6,0xFB49,0x27BA,0xFB4A,0x27BE,0xFB4B,0x27C2,0xFB4C,0x27C6,
3002
  0xFB4D,0x27CA,0xFB4E,0x27CE,0xFB4F,0xA7D2,0xFB50,0xA7D6,0xFB51,0xA7D8,0xFB52,0xA7DA,0xFB53,0xA7DC,0xFB54,0xA7DE,0xFB55,0xA7E0,0xFB56,0xA7E2,0xFB57,0xA7E4,0xFB58,0xA7E6,0xFB59,0xA7E8,0xFB5A,0xA7EA,0xFB5B,0xA7EC,0xFB5C,0xA7EE,
3003
  0xFB5D,0xA7F0,0xFB5E,0xA7F2,0xFB5F,0xA7F4,0xFB60,0xA7F6,0xFB61,0xA7F8,0xFB62,0xA7FA,0xFB63,0xA7FC,0xFB64,0xA7FE,0xFB65,0xA800,0xFB66,0xA802,0xFB67,0xA804,0xFB68,0xA806,0xFB69,0xA808,0xFB6A,0xA80A,0xFB6B,0xA80C,0xFB6C,0xA80E,
3004
  0xFB6D,0xA810,0xFB6E,0xA812,0xFB6F,0xA814,0xFB70,0xA816,0xFB71,0xA818,0xFB72,0xA81A,0xFB73,0xA81C,0xFB74,0xA81E,0xFB75,0xA820,0xFB76,0xA822,0xFB77,0xA824,0xFB78,0xA826,0xFB79,0xA828,0xFB7A,0xA82A,0xFB7B,0xA82C,0xFB7C,0xA82E,
3005
  0xFB7D,0xA830,0xFB7E,0xA832,0xFB7F,0xA834,0xFB80,0xA836,0xFB81,0xA838,0xFB82,0xA83A,0xFB83,0xA83C,0xFB84,0xA83E,0xFB85,0xA840,0xFB86,0xA842,0xFB87,0xA844,0xFB88,0xA846,0xFB89,0xA848,0xFB8A,0xA84A,0xFB8B,0xA84C,0xFB8C,0xA84E,
3006
  0xFB8D,0xA850,0xFB8E,0xA852,0xFB8F,0xA854,0xFB90,0xA856,0xFB91,0xA858,0xFB92,0xA85A,0xFB93,0xA85C,0xFB94,0xA85E,0xFB95,0xA860,0xFB96,0xA862,0xFB97,0xA864,0xFB98,0xA866,0xFB99,0xA868,0xFB9A,0xA86A,0xFB9B,0xA86C,0xFB9C,0xA86E,
3007
  0xFB9D,0xA870,0xFB9E,0xA872,0xFB9F,0xA874,0xFBA0,0xA876,0xFBA1,0xA878,0xFBA2,0xA87A,0xFBA3,0xA87C,0xFBA4,0xA87E,0xFBA5,0xA880,0xFBA6,0xA882,0xFBA7,0xA884,0xFBA8,0xA886,0xFBA9,0xA888,0xFBAA,0xA88A,0xFBAB,0xA88C,0xFBAC,0xA88E,
3008
  0xFBAD,0xA890,0xFBAE,0xA892,0xFBAF,0xA894,0xFBB0,0xA896,0xFBB1,0xA898,0xFBD3,0xA89A,0xFBD4,0xA89C,0xFBD5,0xA89E,0xFBD6,0xA8A0,0xFBD7,0xA8A2,0xFBD8,0xA8A4,0xFBD9,0xA8A6,0xFBDA,0xA8A8,0xFBDB,0xA8AA,0xFBDC,0xA8AC,0xFBDD,0xA8AE,
3009
  0xFBDE,0xA8B0,0xFBDF,0xA8B2,0xFBE0,0xA8B4,0xFBE1,0xA8B6,0xFBE2,0xA8B8,0xFBE3,0xA8BA,0xFBE4,0xA8BC,0xFBE5,0xA8BE,0xFBE6,0xA8C0,0xFBE7,0xA8C2,0xFBE8,0xA8C4,0xFBE9,0xA8C6,0xFBEA,0xA8C8,0xFBEB,0xA8CC,0xFBEC,0xA8D0,0xFBED,0xA8D4,
3010
  0xFBEE,0xA8D8,0xFBEF,0xA8DC,0xFBF0,0xA8E0,0xFBF1,0xA8E4,0xFBF2,0xA8E8,0xFBF3,0xA8EC,0xFBF4,0xA8F0,0xFBF5,0xA8F4,0xFBF6,0xA8F8,0xFBF7,0xA8FC,0xFBF8,0xA900,0xFBF9,0xA904,0xFBFA,0xA908,0xFBFB,0xA90C,0xFBFC,0xA910,0xFBFD,0xA912,
3011
  0xFBFE,0xA914,0xFBFF,0xA916,0xFC00,0xA918,0xFC01,0xA91C,0xFC02,0xA920,0xFC03,0xA924,0xFC04,0xA928,0xFC05,0xA92C,0xFC06,0xA930,0xFC07,0xA934,0xFC08,0xA938,0xFC09,0xA93C,0xFC0A,0xA940,0xFC0B,0xA944,0xFC0C,0xA948,0xFC0D,0xA94C,
3012
  0xFC0E,0xA950,0xFC0F,0xA954,0xFC10,0xA958,0xFC11,0xA95C,0xFC12,0xA960,0xFC13,0xA964,0xFC14,0xA968,0xFC15,0xA96C,0xFC16,0xA970,0xFC17,0xA974,0xFC18,0xA978,0xFC19,0xA97C,0xFC1A,0xA980,0xFC1B,0xA984,0xFC1C,0xA988,0xFC1D,0xA98C,
3013
  0xFC1E,0xA990,0xFC1F,0xA994,0xFC20,0xA998,0xFC21,0xA99C,0xFC22,0xA9A0,0xFC23,0xA9A4,0xFC24,0xA9A8,0xFC25,0xA9AC,0xFC26,0xA9B0,0xFC27,0xA9B4,0xFC28,0xA9B8,0xFC29,0xA9BC,0xFC2A,0xA9C0,0xFC2B,0xA9C4,0xFC2C,0xA9C8,0xFC2D,0xA9CC,
3014
  0xFC2E,0xA9D0,0xFC2F,0xA9D4,0xFC30,0xA9D8,0xFC31,0xA9DC,0xFC32,0xA9E0,0xFC33,0xA9E4,0xFC34,0xA9E8,0xFC35,0xA9EC,0xFC36,0xA9F0,0xFC37,0xA9F4,0xFC38,0xA9F8,0xFC39,0xA9FC,0xFC3A,0xAA00,0xFC3B,0xAA04,0xFC3C,0xAA08,0xFC3D,0xAA0C,
3015
  0xFC3E,0xAA10,0xFC3F,0xAA14,0xFC40,0xAA18,0xFC41,0xAA1C,0xFC42,0xAA20,0xFC43,0xAA24,0xFC44,0xAA28,0xFC45,0xAA2C,0xFC46,0xAA30,0xFC47,0xAA34,0xFC48,0xAA38,0xFC49,0xAA3C,0xFC4A,0xAA40,0xFC4B,0xAA44,0xFC4C,0xAA48,0xFC4D,0xAA4C,
3016
  0xFC4E,0xAA50,0xFC4F,0xAA54,0xFC50,0xAA58,0xFC51,0xAA5C,0xFC52,0xAA60,0xFC53,0xAA64,0xFC54,0xAA68,0xFC55,0xAA6C,0xFC56,0xAA70,0xFC57,0xAA74,0xFC58,0xAA78,0xFC59,0xAA7C,0xFC5A,0xAA80,0xFC5B,0xAA84,0xFC5C,0xAA88,0xFC5D,0xAA8C,
3017
  0xFC5E,0xAA90,0xFC5F,0xAA95,0xFC60,0xAA9A,0xFC61,0xAA9F,0xFC62,0xAAA4,0xFC63,0xAAA9,0xFC64,0xAAAE,0xFC65,0xAAB2,0xFC66,0xAAB6,0xFC67,0xAABA,0xFC68,0xAABE,0xFC69,0xAAC2,0xFC6A,0xAAC6,0xFC6B,0xAACA,0xFC6C,0xAACE,0xFC6D,0xAAD2,
3018
  0xFC6E,0xAAD6,0xFC6F,0xAADA,0xFC70,0xAADE,0xFC71,0xAAE2,0xFC72,0xAAE6,0xFC73,0xAAEA,0xFC74,0xAAEE,0xFC75,0xAAF2,0xFC76,0xAAF6,0xFC77,0xAAFA,0xFC78,0xAAFE,0xFC79,0xAB02,0xFC7A,0xAB06,0xFC7B,0xAB0A,0xFC7C,0xAB0E,0xFC7D,0xAB12,
3019
  0xFC7E,0xAB16,0xFC7F,0xAB1A,0xFC80,0xAB1E,0xFC81,0xAB22,0xFC82,0xAB26,0xFC83,0xAB2A,0xFC84,0xAB2E,0xFC85,0xAB32,0xFC86,0xAB36,0xFC87,0xAB3A,0xFC88,0xAB3E,0xFC89,0xAB42,0xFC8A,0xAB46,0xFC8B,0xAB4A,0xFC8C,0xAB4E,0xFC8D,0xAB52,
3020
  0xFC8E,0xAB56,0xFC8F,0xAB5A,0xFC90,0xAB5E,0xFC91,0xAB62,0xFC92,0xAB66,0xFC93,0xAB6A,0xFC94,0xAB6E,0xFC95,0xAB72,0xFC96,0xAB76,0xFC97,0xAB7A,0xFC98,0xAB7E,0xFC99,0xAB82,0xFC9A,0xAB86,0xFC9B,0xAB8A,0xFC9C,0xAB8E,0xFC9D,0xAB92,
3021
  0xFC9E,0xAB96,0xFC9F,0xAB9A,0xFCA0,0xAB9E,0xFCA1,0xABA2,0xFCA2,0xABA6,0xFCA3,0xABAA,0xFCA4,0xABAE,0xFCA5,0xABB2,0xFCA6,0xABB6,0xFCA7,0xABBA,0xFCA8,0xABBE,0xFCA9,0xABC2,0xFCAA,0xABC6,0xFCAB,0xABCA,0xFCAC,0xABCE,0xFCAD,0xABD2,
3022
  0xFCAE,0xABD6,0xFCAF,0xABDA,0xFCB0,0xABDE,0xFCB1,0xABE2,0xFCB2,0xABE6,0xFCB3,0xABEA,0xFCB4,0xABEE,0xFCB5,0xABF2,0xFCB6,0xABF6,0xFCB7,0xABFA,0xFCB8,0xABFE,0xFCB9,0xAC02,0xFCBA,0xAC06,0xFCBB,0xAC0A,0xFCBC,0xAC0E,0xFCBD,0xAC12,
3023
  0xFCBE,0xAC16,0xFCBF,0xAC1A,0xFCC0,0xAC1E,0xFCC1,0xAC22,0xFCC2,0xAC26,0xFCC3,0xAC2A,0xFCC4,0xAC2E,0xFCC5,0xAC32,0xFCC6,0xAC36,0xFCC7,0xAC3A,0xFCC8,0xAC3E,0xFCC9,0xAC42,0xFCCA,0xAC46,0xFCCB,0xAC4A,0xFCCC,0xAC4E,0xFCCD,0xAC52,
3024
  0xFCCE,0xAC56,0xFCCF,0xAC5A,0xFCD0,0xAC5E,0xFCD1,0xAC62,0xFCD2,0xAC66,0xFCD3,0xAC6A,0xFCD4,0xAC6E,0xFCD5,0xAC72,0xFCD6,0xAC76,0xFCD7,0xAC7A,0xFCD8,0xAC7E,0xFCD9,0xAC82,0xFCDA,0xAC86,0xFCDB,0xAC8A,0xFCDC,0xAC8E,0xFCDD,0xAC92,
3025
  0xFCDE,0xAC96,0xFCDF,0xAC9A,0xFCE0,0xAC9E,0xFCE1,0xACA2,0xFCE2,0xACA6,0xFCE3,0xACAA,0xFCE4,0xACAE,0xFCE5,0xACB2,0xFCE6,0xACB6,0xFCE7,0xACBA,0xFCE8,0xACBE,0xFCE9,0xACC2,0xFCEA,0xACC6,0xFCEB,0xACCA,0xFCEC,0xACCE,0xFCED,0xACD2,
3026
  0xFCEE,0xACD6,0xFCEF,0xACDA,0xFCF0,0xACDE,0xFCF1,0xACE2,0xFCF2,0xACE6,0xFCF3,0xACEC,0xFCF4,0xACF2,0xFCF5,0xACF8,0xFCF6,0xACFC,0xFCF7,0xAD00,0xFCF8,0xAD04,0xFCF9,0xAD08,0xFCFA,0xAD0C,0xFCFB,0xAD10,0xFCFC,0xAD14,0xFCFD,0xAD18,
3027
  0xFCFE,0xAD1C,0xFCFF,0xAD20,0xFD00,0xAD24,0xFD01,0xAD28,0xFD02,0xAD2C,0xFD03,0xAD30,0xFD04,0xAD34,0xFD05,0xAD38,0xFD06,0xAD3C,0xFD07,0xAD40,0xFD08,0xAD44,0xFD09,0xAD48,0xFD0A,0xAD4C,0xFD0B,0xAD50,0xFD0C,0xAD54,0xFD0D,0xAD58,
3028
  0xFD0E,0xAD5C,0xFD0F,0xAD60,0xFD10,0xAD64,0xFD11,0xAD68,0xFD12,0xAD6C,0xFD13,0xAD70,0xFD14,0xAD74,0xFD15,0xAD78,0xFD16,0xAD7C,0xFD17,0xAD80,0xFD18,0xAD84,0xFD19,0xAD88,0xFD1A,0xAD8C,0xFD1B,0xAD90,0xFD1C,0xAD94,0xFD1D,0xAD98,
3029
  0xFD1E,0xAD9C,0xFD1F,0xADA0,0xFD20,0xADA4,0xFD21,0xADA8,0xFD22,0xADAC,0xFD23,0xADB0,0xFD24,0xADB4,0xFD25,0xADB8,0xFD26,0xADBC,0xFD27,0xADC0,0xFD28,0xADC4,0xFD29,0xADC8,0xFD2A,0xADCC,0xFD2B,0xADD0,0xFD2C,0xADD4,0xFD2D,0xADD8,
3030
  0xFD2E,0xADDC,0xFD2F,0xADE0,0xFD30,0xADE4,0xFD31,0xADE8,0xFD32,0xADEC,0xFD33,0xADF0,0xFD34,0xADF4,0xFD35,0xADF8,0xFD36,0xADFC,0xFD37,0xAE00,0xFD38,0xAE04,0xFD39,0xAE08,0xFD3A,0xAE0C,0xFD3B,0xAE10,0xFD3C,0xAE14,0xFD3D,0xAE18,
3031
  0xFD50,0xAE1C,0xFD51,0xAE22,0xFD52,0xAE28,0xFD53,0xAE2E,0xFD54,0xAE34,0xFD55,0xAE3A,0xFD56,0xAE40,0xFD57,0xAE46,0xFD58,0xAE4C,0xFD59,0xAE52,0xFD5A,0xAE58,0xFD5B,0xAE5E,0xFD5C,0xAE64,0xFD5D,0xAE6A,0xFD5E,0xAE70,0xFD5F,0xAE76,
3032
  0xFD60,0xAE7C,0xFD61,0xAE82,0xFD62,0xAE88,0xFD63,0xAE8E,0xFD64,0xAE94,0xFD65,0xAE9A,0xFD66,0xAEA0,0xFD67,0xAEA6,0xFD68,0xAEAC,0xFD69,0xAEB2,0xFD6A,0xAEB8,0xFD6B,0xAEBE,0xFD6C,0xAEC4,0xFD6D,0xAECA,0xFD6E,0xAED0,0xFD6F,0xAED6,
3033
  0xFD70,0xAEDC,0xFD71,0xAEE2,0xFD72,0xAEE8,0xFD73,0xAEEE,0xFD74,0xAEF4,0xFD75,0xAEFA,0xFD76,0xAF00,0xFD77,0xAF06,0xFD78,0xAF0C,0xFD79,0xAF12,0xFD7A,0xAF18,0xFD7B,0xAF1E,0xFD7C,0xAF24,0xFD7D,0xAF2A,0xFD7E,0xAF30,0xFD7F,0xAF36,
3034
  0xFD80,0xAF3C,0xFD81,0xAF42,0xFD82,0xAF48,0xFD83,0xAF4E,0xFD84,0xAF54,0xFD85,0xAF5A,0xFD86,0xAF60,0xFD87,0xAF66,0xFD88,0xAF6C,0xFD89,0xAF72,0xFD8A,0xAF78,0xFD8B,0xAF7E,0xFD8C,0xAF84,0xFD8D,0xAF8A,0xFD8E,0xAF90,0xFD8F,0xAF96,
3035
  0xFD92,0xAF9C,0xFD93,0xAFA2,0xFD94,0xAFA8,0xFD95,0xAFAE,0xFD96,0xAFB4,0xFD97,0xAFBA,0xFD98,0xAFC0,0xFD99,0xAFC6,0xFD9A,0xAFCC,0xFD9B,0xAFD2,0xFD9C,0xAFD8,0xFD9D,0xAFDE,0xFD9E,0xAFE4,0xFD9F,0xAFEA,0xFDA0,0xAFF0,0xFDA1,0xAFF6,
3036
  0xFDA2,0xAFFC,0xFDA3,0xB002,0xFDA4,0xB008,0xFDA5,0xB00E,0xFDA6,0xB014,0xFDA7,0xB01A,0xFDA8,0xB020,0xFDA9,0xB026,0xFDAA,0xB02C,0xFDAB,0xB032,0xFDAC,0xB038,0xFDAD,0xB03E,0xFDAE,0xB044,0xFDAF,0xB04A,0xFDB0,0xB050,0xFDB1,0xB056,
3037
  0xFDB2,0xB05C,0xFDB3,0xB062,0xFDB4,0xB068,0xFDB5,0xB06E,0xFDB6,0xB074,0xFDB7,0xB07A,0xFDB8,0xB080,0xFDB9,0xB086,0xFDBA,0xB08C,0xFDBB,0xB092,0xFDBC,0xB098,0xFDBD,0xB09E,0xFDBE,0xB0A4,0xFDBF,0xB0AA,0xFDC0,0xB0B0,0xFDC1,0xB0B6,
3038
  0xFDC2,0xB0BC,0xFDC3,0xB0C2,0xFDC4,0xB0C8,0xFDC5,0xB0CE,0xFDC6,0xB0D4,0xFDC7,0xB0DA,0xFDF0,0xB0E0,0xFDF1,0xB0E6,0xFDF2,0xB0EC,0xFDF3,0xB0F4,0xFDF4,0xB0FC,0xFDF5,0xB104,0xFDF6,0xB10C,0xFDF7,0xB114,0xFDF8,0xB11C,0xFDF9,0xB124,
3039
  0xFDFA,0xB12A,0xFDFB,0xB14B,0xFDFC,0xB15A,0xFE10,0xB162,0xFE11,0xB163,0xFE12,0xB166,0xFE13,0xB169,0xFE14,0xB16A,0xFE15,0xB16B,0xFE16,0xB16C,0xFE17,0xB16D,0xFE18,0xB170,0xFE19,0xB173,0xFE30,0xB176,0xFE31,0xB179,0xFE32,0xB17C,
3040
  0xFE33,0xB17F,0xFE34,0xB180,0xFE35,0xB181,0xFE36,0xB182,0xFE37,0xB183,0xFE38,0xB184,0xFE39,0xB185,0xFE3A,0xB188,0xFE3B,0xB18B,0xFE3C,0xB18E,0xFE3D,0xB191,0xFE3E,0xB194,0xFE3F,0xB197,0xFE40,0xB19A,0xFE41,0xB19D,0xFE42,0xB1A0,
3041
  0xFE43,0xB1A3,0xFE44,0xB1A6,0xFE47,0xB1A9,0xFE48,0xB1AA,0xFE49,0xB1AB,0xFE4A,0xB1AE,0xFE4B,0xB1B1,0xFE4C,0xB1B4,0xFE4D,0xB1B7,0xFE4E,0xB1B8,0xFE4F,0xB1B9,0xFE50,0xB1BA,0xFE51,0xB1BB,0xFE52,0xB1BE,0xFE54,0xB1BF,0xFE55,0xB1C0,
3042
  0xFE56,0xB1C1,0xFE57,0xB1C2,0xFE58,0xB1C3,0xFE59,0xB1C6,0xFE5A,0xB1C7,0xFE5B,0xB1C8,0xFE5C,0xB1C9,0xFE5D,0xB1CA,0xFE5E,0xB1CD,0xFE5F,0xB1D0,0xFE60,0xB1D1,0xFE61,0xB1D2,0xFE62,0xB1D3,0xFE63,0xB1D4,0xFE64,0xB1D5,0xFE65,0xB1D6,
3043
  0xFE66,0xB1D7,0xFE68,0xB1D8,0xFE69,0xB1D9,0xFE6A,0xB1DA,0xFE6B,0xB1DB,0xFE70,0xB1DC,0xFE71,0xB1DF,0xFE72,0xB1E3,0xFE74,0xB1E6,0xFE76,0xB1E9,0xFE77,0xB1EC,0xFE78,0xB1F0,0xFE79,0xB1F3,0xFE7A,0xB1F7,0xFE7B,0xB1FA,0xFE7C,0xB1FE,
3044
  0xFE7D,0xB201,0xFE7E,0xB205,0xFE7F,0xB208,0xFE80,0xB20C,0xFE81,0xB20E,0xFE82,0xB210,0xFE83,0xB212,0xFE84,0xB214,0xFE85,0xB216,0xFE86,0xB218,0xFE87,0xB21A,0xFE88,0xB21C,0xFE89,0xB21E,0xFE8A,0xB220,0xFE8B,0xB222,0xFE8C,0xB224,
3045
  0xFE8D,0xB226,0xFE8E,0xB228,0xFE8F,0xB22A,0xFE90,0xB22C,0xFE91,0xB22E,0xFE92,0xB230,0xFE93,0xB232,0xFE94,0xB234,0xFE95,0xB236,0xFE96,0xB238,0xFE97,0xB23A,0xFE98,0xB23C,0xFE99,0xB23E,0xFE9A,0xB240,0xFE9B,0xB242,0xFE9C,0xB244,
3046
  0xFE9D,0xB246,0xFE9E,0xB248,0xFE9F,0xB24A,0xFEA0,0xB24C,0xFEA1,0xB24E,0xFEA2,0xB250,0xFEA3,0xB252,0xFEA4,0xB254,0xFEA5,0xB256,0xFEA6,0xB258,0xFEA7,0xB25A,0xFEA8,0xB25C,0xFEA9,0xB25E,0xFEAA,0xB260,0xFEAB,0xB262,0xFEAC,0xB264,
3047
  0xFEAD,0xB266,0xFEAE,0xB268,0xFEAF,0xB26A,0xFEB0,0xB26C,0xFEB1,0xB26E,0xFEB2,0xB270,0xFEB3,0xB272,0xFEB4,0xB274,0xFEB5,0xB276,0xFEB6,0xB278,0xFEB7,0xB27A,0xFEB8,0xB27C,0xFEB9,0xB27E,0xFEBA,0xB280,0xFEBB,0xB282,0xFEBC,0xB284,
3048
  0xFEBD,0xB286,0xFEBE,0xB288,0xFEBF,0xB28A,0xFEC0,0xB28C,0xFEC1,0xB28E,0xFEC2,0xB290,0xFEC3,0xB292,0xFEC4,0xB294,0xFEC5,0xB296,0xFEC6,0xB298,0xFEC7,0xB29A,0xFEC8,0xB29C,0xFEC9,0xB29E,0xFECA,0xB2A0,0xFECB,0xB2A2,0xFECC,0xB2A4,
3049
  0xFECD,0xB2A6,0xFECE,0xB2A8,0xFECF,0xB2AA,0xFED0,0xB2AC,0xFED1,0xB2AE,0xFED2,0xB2B0,0xFED3,0xB2B2,0xFED4,0xB2B4,0xFED5,0xB2B6,0xFED6,0xB2B8,0xFED7,0xB2BA,0xFED8,0xB2BC,0xFED9,0xB2BE,0xFEDA,0xB2C0,0xFEDB,0xB2C2,0xFEDC,0xB2C4,
3050
  0xFEDD,0xB2C6,0xFEDE,0xB2C8,0xFEDF,0xB2CA,0xFEE0,0xB2CC,0xFEE1,0xB2CE,0xFEE2,0xB2D0,0xFEE3,0xB2D2,0xFEE4,0xB2D4,0xFEE5,0xB2D6,0xFEE6,0xB2D8,0xFEE7,0xB2DA,0xFEE8,0xB2DC,0xFEE9,0xB2DE,0xFEEA,0xB2E0,0xFEEB,0xB2E2,0xFEEC,0xB2E4,
3051
  0xFEED,0xB2E6,0xFEEE,0xB2E8,0xFEEF,0xB2EA,0xFEF0,0xB2EC,0xFEF1,0xB2EE,0xFEF2,0xB2F0,0xFEF3,0xB2F2,0xFEF4,0xB2F4,0xFEF5,0xB2F6,0xFEF6,0xB2FA,0xFEF7,0xB2FE,0xFEF8,0xB302,0xFEF9,0xB306,0xFEFA,0xB30A,0xFEFB,0xB30E,0xFEFC,0xB312,
3052
  0xFF01,0xB316,0xFF02,0xB317,0xFF03,0xB318,0xFF04,0xB319,0xFF05,0xB31A,0xFF06,0xB31B,0xFF07,0xB31C,0xFF08,0xB31D,0xFF09,0xB31E,0xFF0A,0xB31F,0xFF0B,0xB320,0xFF0C,0xB321,0xFF0D,0xB322,0xFF0E,0xB323,0xFF0F,0xB324,0xFF10,0xB325,
3053
  0xFF11,0xB326,0xFF12,0xB327,0xFF13,0xB328,0xFF14,0xB329,0xFF15,0xB32A,0xFF16,0xB32B,0xFF17,0xB32C,0xFF18,0xB32D,0xFF19,0xB32E,0xFF1A,0xB32F,0xFF1B,0xB330,0xFF1C,0xB331,0xFF1D,0xB332,0xFF1E,0xB333,0xFF1F,0xB334,0xFF20,0xB335,
3054
  0xFF21,0xB336,0xFF22,0xB337,0xFF23,0xB338,0xFF24,0xB339,0xFF25,0xB33A,0xFF26,0xB33B,0xFF27,0xB33C,0xFF28,0xB33D,0xFF29,0xB33E,0xFF2A,0xB33F,0xFF2B,0xB340,0xFF2C,0xB341,0xFF2D,0xB342,0xFF2E,0xB343,0xFF2F,0xB344,0xFF30,0xB345,
3055
  0xFF31,0xB346,0xFF32,0xB347,0xFF33,0xB348,0xFF34,0xB349,0xFF35,0xB34A,0xFF36,0xB34B,0xFF37,0xB34C,0xFF38,0xB34D,0xFF39,0xB34E,0xFF3A,0xB34F,0xFF3B,0xB350,0xFF3C,0xB351,0xFF3D,0xB352,0xFF3E,0xB353,0xFF3F,0xB354,0xFF40,0xB355,
3056
  0xFF41,0xB356,0xFF42,0xB357,0xFF43,0xB358,0xFF44,0xB359,0xFF45,0xB35A,0xFF46,0xB35B,0xFF47,0xB35C,0xFF48,0xB35D,0xFF49,0xB35E,0xFF4A,0xB35F,0xFF4B,0xB360,0xFF4C,0xB361,0xFF4D,0xB362,0xFF4E,0xB363,0xFF4F,0xB364,0xFF50,0xB365,
3057
  0xFF51,0xB366,0xFF52,0xB367,0xFF53,0xB368,0xFF54,0xB369,0xFF55,0xB36A,0xFF56,0xB36B,0xFF57,0xB36C,0xFF58,0xB36D,0xFF59,0xB36E,0xFF5A,0xB36F,0xFF5B,0xB370,0xFF5C,0xB371,0xFF5D,0xB372,0xFF5E,0xB373,0xFF5F,0xB374,0xFF60,0xB377,
3058
  0xFF61,0xB37A,0xFF62,0xB37D,0xFF63,0xB380,0xFF64,0xB383,0xFF65,0xB386,0xFF66,0xB389,0xFF67,0xB38C,0xFF68,0xB38F,0xFF69,0xB392,0xFF6A,0xB395,0xFF6B,0xB398,0xFF6C,0xB39B,0xFF6D,0xB39E,0xFF6E,0xB3A1,0xFF6F,0xB3A4,0xFF70,0xB3A7,
3059
  0xFF71,0xB3AA,0xFF72,0xB3AD,0xFF73,0xB3B0,0xFF74,0xB3B3,0xFF75,0xB3B6,0xFF76,0xB3B9,0xFF77,0xB3BC,0xFF78,0xB3BF,0xFF79,0xB3C2,0xFF7A,0xB3C5,0xFF7B,0xB3C8,0xFF7C,0xB3CB,0xFF7D,0xB3CE,0xFF7E,0xB3D1,0xFF7F,0xB3D4,0xFF80,0xB3D7,
3060
  0xFF81,0xB3DA,0xFF82,0xB3DD,0xFF83,0xB3E0,0xFF84,0xB3E3,0xFF85,0xB3E6,0xFF86,0xB3E9,0xFF87,0xB3EC,0xFF88,0xB3EF,0xFF89,0xB3F2,0xFF8A,0xB3F5,0xFF8B,0xB3F8,0xFF8C,0xB3FB,0xFF8D,0xB3FE,0xFF8E,0xB401,0xFF8F,0xB404,0xFF90,0xB407,
3061
  0xFF91,0xB40A,0xFF92,0xB40D,0xFF93,0xB410,0xFF94,0xB413,0xFF95,0xB416,0xFF96,0xB419,0xFF97,0xB41C,0xFF98,0xB41F,0xFF99,0xB422,0xFF9A,0xB425,0xFF9B,0xB428,0xFF9C,0xB42B,0xFF9D,0xB42E,0xFF9E,0xB431,0xFF9F,0xB434,0xFFA0,0xB437,
3062
  0xFFA1,0xB43A,0xFFA2,0xB43D,0xFFA3,0xB440,0xFFA4,0xB443,0xFFA5,0xB446,0xFFA6,0xB449,0xFFA7,0xB44C,0xFFA8,0xB44F,0xFFA9,0xB452,0xFFAA,0xB455,0xFFAB,0xB458,0xFFAC,0xB45B,0xFFAD,0xB45E,0xFFAE,0xB461,0xFFAF,0xB464,0xFFB0,0xB467,
3063
  0xFFB1,0xB46A,0xFFB2,0xB46D,0xFFB3,0xB470,0xFFB4,0xB473,0xFFB5,0xB476,0xFFB6,0xB479,0xFFB7,0xB47C,0xFFB8,0xB47F,0xFFB9,0xB482,0xFFBA,0xB485,0xFFBB,0xB488,0xFFBC,0xB48B,0xFFBD,0xB48E,0xFFBE,0xB491,0xFFC2,0xB494,0xFFC3,0xB497,
3064
  0xFFC4,0xB49A,0xFFC5,0xB49D,0xFFC6,0xB4A0,0xFFC7,0xB4A3,0xFFCA,0xB4A6,0xFFCB,0xB4A9,0xFFCC,0xB4AC,0xFFCD,0xB4AF,0xFFCE,0xB4B2,0xFFCF,0xB4B5,0xFFD2,0xB4B8,0xFFD3,0xB4BB,0xFFD4,0xB4BE,0xFFD5,0xB4C1,0xFFD6,0xB4C4,0xFFD7,0xB4C7,
3065
  0xFFDA,0xB4CA,0xFFDB,0xB4CD,0xFFDC,0xB4D0,0xFFE0,0xB4D3,0xFFE1,0xB4D5,0xFFE2,0xB4D7,0xFFE3,0xB4D9,0xFFE4,0xB4DB,0xFFE5,0xB4DD,0xFFE6,0xB4DF,0xFFE8,0xB4E2,0xFFE9,0xB4E5,0xFFEA,0xB4E8,0xFFEB,0xB4EB,0xFFEC,0xB4EE,0xFFED,0xB4F1,
3066
  0xFFEE,0xB4F4,0xFFFF,0x34F7,
3067
};
3068
#define mxDecompositionSize1 2640
3069
const txU1 gxDecompositionData1[mxDecompositionSize1] ICACHE_XS6RO_ATTR = {
3070
  0xf0,0x90,0x97,0x92,0xcc,0x87,0xf0,0x90,0x97,0x9a,0xcc,0x87,0xcb,0x90,0xcb,0x91,0xc3,0xa6,0xca,0x99,0xc9,0x93,0xca,0xa3,0xea,0xad,0xa6,0xca,0xa5,0xca,0xa4,0xc9,
3071
  0x96,0xc9,0x97,0xe1,0xb6,0x91,0xc9,0x98,0xc9,0x9e,0xca,0xa9,0xc9,0xa4,0xc9,0xa2,0xc9,0xa0,0xca,0x9b,0xc4,0xa7,0xca,0x9c,0xc9,0xa7,0xca,0x84,0xca,0xaa,0xca,0xab,
3072
  0xc9,0xac,0xf0,0x9d,0xbc,0x84,0xea,0x9e,0x8e,0xc9,0xae,0xf0,0x9d,0xbc,0x85,0xca,0x8e,0xf0,0x9d,0xbc,0x86,0xc3,0xb8,0xc9,0xb6,0xc9,0xb7,0x71,0xc9,0xba,0xf0,0x9d,
3073
  0xbc,0x88,0xc9,0xbd,0xc9,0xbe,0xca,0x80,0xca,0xa8,0xca,0xa6,0xea,0xad,0xa7,0xca,0xa7,0xca,0x88,0xe2,0xb1,0xb1,0xca,0x8f,0xca,0xa1,0xca,0xa2,0xca,0x98,0xc7,0x80,
3074
  0xc7,0x81,0xc7,0x82,0xf0,0x9d,0xbc,0x8a,0xf0,0x9d,0xbc,0x9e,0xf0,0x91,0x82,0x99,0xf0,0x91,0x82,0xba,0xf0,0x91,0x82,0x9b,0xf0,0x91,0x82,0xba,0xf0,0x91,0x82,0xa5,
3075
  0xf0,0x91,0x82,0xba,0xf0,0x91,0x84,0xb1,0xf0,0x91,0x84,0xa7,0xf0,0x91,0x84,0xb2,0xf0,0x91,0x84,0xa7,0xf0,0x91,0x8d,0x87,0xf0,0x91,0x8c,0xbe,0xf0,0x91,0x8d,0x87,
3076
  0xf0,0x91,0x8d,0x97,0xf0,0x91,0x8e,0x82,0xf0,0x91,0x8f,0x89,0xf0,0x91,0x8e,0x84,0xf0,0x91,0x8e,0xbb,0xf0,0x91,0x8e,0x8b,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8e,0x90,
3077
  0xf0,0x91,0x8f,0x89,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8e,0xb8,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8f,0x89,0xf0,0x91,0x92,0xb9,
3078
  0xf0,0x91,0x92,0xba,0xf0,0x91,0x92,0xb9,0xf0,0x91,0x92,0xb0,0xf0,0x91,0x92,0xb9,0xf0,0x91,0x92,0xbd,0xf0,0x91,0x96,0xb8,0xf0,0x91,0x96,0xaf,0xf0,0x91,0x96,0xb9,
3079
  0xf0,0x91,0x96,0xaf,0xf0,0x91,0xa4,0xb5,0xf0,0x91,0xa4,0xb0,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0xa9,0xf0,0x96,0x84,0x9e,
3080
  0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0xa9,0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0xa0,0xf0,0x96,0x84,0xa1,0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0xa2,
3081
  0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0xa1,0xf0,0x96,0x84,0xa0,0xf0,0x96,0xb5,0xa7,0xf0,0x96,0xb5,0xa7,0xf0,0x96,0xb5,0xa3,0xf0,0x96,0xb5,0xa7,0xf0,0x96,0xb5,0xa9,
3082
  0xf0,0x96,0xb5,0xa7,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x30,0x31,
3083
  0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xf0,0x9d,0x85,0x97,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x85,0x98,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xae,
3084
  0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xaf,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb0,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb1,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb2,
3085
  0xf0,0x9d,0x86,0xb9,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x86,0xba,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x86,0xbb,0xf0,0x9d,0x85,0xae,0xf0,0x9d,0x86,0xbc,0xf0,0x9d,0x85,0xae,
3086
  0xf0,0x9d,0x86,0xbb,0xf0,0x9d,0x85,0xaf,0xf0,0x9d,0x86,0xbc,0xf0,0x9d,0x85,0xaf,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,
3087
  0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,
3088
  0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,
3089
  0x63,0x64,0x65,0x66,0x67,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,
3090
  0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
3091
  0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x43,0x44,0x47,0x4a,0x4b,0x4e,0x4f,0x50,0x51,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,
3092
  0x64,0x66,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,
3093
  0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,
3094
  0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x44,0x45,0x46,0x47,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x61,0x62,0x63,
3095
  0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x44,0x45,0x46,0x47,0x49,0x4a,0x4b,
3096
  0x4c,0x4d,0x4f,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,
3097
  0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,
3098
  0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,
3099
  0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,
3100
  0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,
3101
  0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,
3102
  0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,
3103
  0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,
3104
  0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,
3105
  0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,
3106
  0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0xc4,0xb1,0xc8,0xb7,
3107
  0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,
3108
  0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,
3109
  0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,
3110
  0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,
3111
  0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,
3112
  0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,
3113
  0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,
3114
  0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,
3115
  0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,
3116
  0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,
3117
  0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,
3118
  0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,
3119
  0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,
3120
  0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,
3121
  0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,
3122
  0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,
3123
  0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,
3124
  0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,
3125
  0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xcf,0x9c,0xcf,0x9d,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,
3126
  0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,
3127
  0x36,0x37,0x38,0x39,0xd0,0xb0,0xd0,0xb1,0xd0,0xb2,0xd0,0xb3,0xd0,0xb4,0xd0,0xb5,0xd0,0xb6,0xd0,0xb7,0xd0,0xb8,0xd0,0xba,0xd0,0xbb,0xd0,0xbc,0xd0,0xbe,0xd0,0xbf,
3128
  0xd1,0x80,0xd1,0x81,0xd1,0x82,0xd1,0x83,0xd1,0x84,0xd1,0x85,0xd1,0x86,0xd1,0x87,0xd1,0x88,0xd1,0x8b,0xd1,0x8d,0xd1,0x8e,0xea,0x9a,0x89,0xd3,0x99,0xd1,0x96,0xd1,
3129
  0x98,0xd3,0xa9,0xd2,0xaf,0xd3,0x8f,0xd0,0xb0,0xd0,0xb1,0xd0,0xb2,0xd0,0xb3,0xd0,0xb4,0xd0,0xb5,0xd0,0xb6,0xd0,0xb7,0xd0,0xb8,0xd0,0xba,0xd0,0xbb,0xd0,0xbe,0xd0,
3130
  0xbf,0xd1,0x81,0xd1,0x83,0xd1,0x84,0xd1,0x85,0xd1,0x86,0xd1,0x87,0xd1,0x88,0xd1,0x8a,0xd1,0x8b,0xd2,0x91,0xd1,0x96,0xd1,0x95,0xd1,0x9f,0xd2,0xab,0xea,0x99,0x91,
3131
  0xd2,0xb1,0xd8,0xa7,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x88,0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x83,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,
3132
  0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd9,0xae,0xda,0xba,0xda,0xa1,0xd9,0xaf,
3133
  0xd8,0xa8,0xd8,0xac,0xd9,0x87,0xd8,0xad,0xd9,0x8a,0xd9,0x83,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb4,0xd8,0xaa,
3134
  0xd8,0xab,0xd8,0xae,0xd8,0xb6,0xd8,0xba,0xd8,0xac,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd8,0xb5,0xd9,0x82,0xd8,0xb4,0xd8,0xae,0xd8,0xb6,
3135
  0xd8,0xba,0xda,0xba,0xd9,0xaf,0xd8,0xa8,0xd8,0xac,0xd9,0x87,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,
3136
  0xd9,0x82,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd9,0xae,0xda,0xa1,0xd8,0xa7,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x87,0xd9,0x88,
3137
  0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,
3138
  0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x88,0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x84,0xd9,0x85,0xd9,0x86,
3139
  0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0x30,0x2e,0x30,0x2c,
3140
  0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x38,0x2c,0x39,0x2c,0x28,0x41,0x29,0x28,0x42,0x29,0x28,0x43,0x29,0x28,0x44,0x29,0x28,0x45,
3141
  0x29,0x28,0x46,0x29,0x28,0x47,0x29,0x28,0x48,0x29,0x28,0x49,0x29,0x28,0x4a,0x29,0x28,0x4b,0x29,0x28,0x4c,0x29,0x28,0x4d,0x29,0x28,0x4e,0x29,0x28,0x4f,0x29,0x28,
3142
  0x50,0x29,0x28,0x51,0x29,0x28,0x52,0x29,0x28,0x53,0x29,0x28,0x54,0x29,0x28,0x55,0x29,0x28,0x56,0x29,0x28,0x57,0x29,0x28,0x58,0x29,0x28,0x59,0x29,0x28,0x5a,0x29,
3143
  0xe3,0x80,0x94,0x53,0xe3,0x80,0x95,0x43,0x52,0x43,0x44,0x57,0x5a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,
3144
  0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x48,0x56,0x4d,0x56,0x53,0x44,0x53,0x53,0x50,0x50,0x56,0x57,0x43,0x4d,0x43,0x4d,0x44,0x4d,0x52,0x44,0x4a,0xe3,0x81,0xbb,0xe3,
3145
  0x81,0x8b,0xe3,0x82,0xb3,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe6,0x89,0x8b,0xe5,0xad,0x97,0xe5,0x8f,0x8c,0xe3,0x83,0x87,0xe4,0xba,0x8c,0xe5,0xa4,0x9a,0xe8,0xa7,0xa3,
3146
  0xe5,0xa4,0xa9,0xe4,0xba,0xa4,0xe6,0x98,0xa0,0xe7,0x84,0xa1,0xe6,0x96,0x99,0xe5,0x89,0x8d,0xe5,0xbe,0x8c,0xe5,0x86,0x8d,0xe6,0x96,0xb0,0xe5,0x88,0x9d,0xe7,0xb5,
3147
  0x82,0xe7,0x94,0x9f,0xe8,0xb2,0xa9,0xe5,0xa3,0xb0,0xe5,0x90,0xb9,0xe6,0xbc,0x94,0xe6,0x8a,0x95,0xe6,0x8d,0x95,0xe4,0xb8,0x80,0xe4,0xb8,0x89,0xe9,0x81,0x8a,0xe5,
3148
  0xb7,0xa6,0xe4,0xb8,0xad,0xe5,0x8f,0xb3,0xe6,0x8c,0x87,0xe8,0xb5,0xb0,0xe6,0x89,0x93,0xe7,0xa6,0x81,0xe7,0xa9,0xba,0xe5,0x90,0x88,0xe6,0xba,0x80,0xe6,0x9c,0x89,
3149
  0xe6,0x9c,0x88,0xe7,0x94,0xb3,0xe5,0x89,0xb2,0xe5,0x96,0xb6,0xe9,0x85,0x8d,0xe3,0x80,0x94,0xe6,0x9c,0xac,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe4,0xb8,0x89,0xe3,0x80,
3150
  0x95,0xe3,0x80,0x94,0xe4,0xba,0x8c,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe5,0xae,0x89,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe7,0x82,0xb9,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe6,
3151
  0x89,0x93,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe7,0x9b,0x97,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe5,0x8b,0x9d,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe6,0x95,0x97,0xe3,0x80,0x95,
3152
  0xe5,0xbe,0x97,0xe5,0x8f,0xaf,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
3153
};
3154
413
#define mxDecompositionCount1 2968
3155
static const txU2 gxDecompositionIndex1[mxDecompositionCount1] ICACHE_XS6RO_ATTR = {
3156
  0x05C9,0x0000,0x05E4,0x0006,0x0781,0x800C,0x0782,0x800E,0x0783,0x8010,0x0784,0x8012,0x0785,0x8014,0x0787,0x8016,0x0788,0x8018,0x0789,0x801B,0x078A,0x801D,0x078B,0x801F,0x078C,0x8021,0x078D,0x8023,0x078E,0x8026,0x078F,0x8028,
3157
  0x0790,0x802A,0x0791,0x802C,0x0792,0x802E,0x0793,0x8030,0x0794,0x8032,0x0795,0x8034,0x0796,0x8036,0x0797,0x8038,0x0798,0x803A,0x0799,0x803C,0x079A,0x803E,0x079B,0x8040,0x079C,0x8042,0x079D,0x8046,0x079E,0x8049,0x079F,0x804B,
3158
  0x07A0,0x804F,0x07A1,0x8051,0x07A2,0x8055,0x07A3,0x8057,0x07A4,0x8059,0x07A5,0x805B,0x07A6,0x805C,0x07A7,0x805E,0x07A8,0x8062,0x07A9,0x8064,0x07AA,0x8066,0x07AB,0x8068,0x07AC,0x806A,0x07AD,0x806C,0x07AE,0x806F,0x07AF,0x8071,
3159
  0x07B0,0x8073,0x07B2,0x8076,0x07B3,0x8078,0x07B4,0x807A,0x07B5,0x807C,0x07B6,0x807E,0x07B7,0x8080,0x07B8,0x8082,0x07B9,0x8084,0x07BA,0x8088,0x109A,0x008C,0x109C,0x0094,0x10AB,0x009C,0x112E,0x00A4,0x112F,0x00AC,0x134B,0x00B4,
3160
  0x134C,0x00BC,0x1383,0x00C4,0x1385,0x00CC,0x138E,0x00D4,0x1391,0x00DC,0x13C5,0x00E4,0x13C7,0x00EC,0x13C8,0x00F4,0x14BB,0x00FC,0x14BC,0x0104,0x14BE,0x010C,0x15BA,0x0114,0x15BB,0x011C,0x1938,0x0124,0x6121,0x012C,0x6122,0x0134,
3161
  0x6123,0x013C,0x6124,0x0144,0x6125,0x014C,0x6126,0x0154,0x6127,0x015C,0x6128,0x0164,0x6D68,0x016C,0x6D69,0x0174,0x6D6A,0x017C,0xCCD6,0x8184,0xCCD7,0x8185,0xCCD8,0x8186,0xCCD9,0x8187,0xCCDA,0x8188,0xCCDB,0x8189,0xCCDC,0x818A,
3162
  0xCCDD,0x818B,0xCCDE,0x818C,0xCCDF,0x818D,0xCCE0,0x818E,0xCCE1,0x818F,0xCCE2,0x8190,0xCCE3,0x8191,0xCCE4,0x8192,0xCCE5,0x8193,0xCCE6,0x8194,0xCCE7,0x8195,0xCCE8,0x8196,0xCCE9,0x8197,0xCCEA,0x8198,0xCCEB,0x8199,0xCCEC,0x819A,
3163
  0xCCED,0x819B,0xCCEE,0x819C,0xCCEF,0x819D,0xCCF0,0x819E,0xCCF1,0x819F,0xCCF2,0x81A0,0xCCF3,0x81A1,0xCCF4,0x81A2,0xCCF5,0x81A3,0xCCF6,0x81A4,0xCCF7,0x81A5,0xCCF8,0x81A6,0xCCF9,0x81A7,0xD15E,0x01A8,0xD15F,0x01B0,0xD160,0x01B8,
3164
  0xD161,0x01C0,0xD162,0x01C8,0xD163,0x01D0,0xD164,0x01D8,0xD1BB,0x01E0,0xD1BC,0x01E8,0xD1BD,0x01F0,0xD1BE,0x01F8,0xD1BF,0x0200,0xD1C0,0x0208,0xD400,0x8210,0xD401,0x8211,0xD402,0x8212,0xD403,0x8213,0xD404,0x8214,0xD405,0x8215,
3165
  0xD406,0x8216,0xD407,0x8217,0xD408,0x8218,0xD409,0x8219,0xD40A,0x821A,0xD40B,0x821B,0xD40C,0x821C,0xD40D,0x821D,0xD40E,0x821E,0xD40F,0x821F,0xD410,0x8220,0xD411,0x8221,0xD412,0x8222,0xD413,0x8223,0xD414,0x8224,0xD415,0x8225,
3166
  0xD416,0x8226,0xD417,0x8227,0xD418,0x8228,0xD419,0x8229,0xD41A,0x822A,0xD41B,0x822B,0xD41C,0x822C,0xD41D,0x822D,0xD41E,0x822E,0xD41F,0x822F,0xD420,0x8230,0xD421,0x8231,0xD422,0x8232,0xD423,0x8233,0xD424,0x8234,0xD425,0x8235,
3167
  0xD426,0x8236,0xD427,0x8237,0xD428,0x8238,0xD429,0x8239,0xD42A,0x823A,0xD42B,0x823B,0xD42C,0x823C,0xD42D,0x823D,0xD42E,0x823E,0xD42F,0x823F,0xD430,0x8240,0xD431,0x8241,0xD432,0x8242,0xD433,0x8243,0xD434,0x8244,0xD435,0x8245,
3168
  0xD436,0x8246,0xD437,0x8247,0xD438,0x8248,0xD439,0x8249,0xD43A,0x824A,0xD43B,0x824B,0xD43C,0x824C,0xD43D,0x824D,0xD43E,0x824E,0xD43F,0x824F,0xD440,0x8250,0xD441,0x8251,0xD442,0x8252,0xD443,0x8253,0xD444,0x8254,0xD445,0x8255,
3169
  0xD446,0x8256,0xD447,0x8257,0xD448,0x8258,0xD449,0x8259,0xD44A,0x825A,0xD44B,0x825B,0xD44C,0x825C,0xD44D,0x825D,0xD44E,0x825E,0xD44F,0x825F,0xD450,0x8260,0xD451,0x8261,0xD452,0x8262,0xD453,0x8263,0xD454,0x8264,0xD456,0x8265,
3170
  0xD457,0x8266,0xD458,0x8267,0xD459,0x8268,0xD45A,0x8269,0xD45B,0x826A,0xD45C,0x826B,0xD45D,0x826C,0xD45E,0x826D,0xD45F,0x826E,0xD460,0x826F,0xD461,0x8270,0xD462,0x8271,0xD463,0x8272,0xD464,0x8273,0xD465,0x8274,0xD466,0x8275,
3171
  0xD467,0x8276,0xD468,0x8277,0xD469,0x8278,0xD46A,0x8279,0xD46B,0x827A,0xD46C,0x827B,0xD46D,0x827C,0xD46E,0x827D,0xD46F,0x827E,0xD470,0x827F,0xD471,0x8280,0xD472,0x8281,0xD473,0x8282,0xD474,0x8283,0xD475,0x8284,0xD476,0x8285,
3172
  0xD477,0x8286,0xD478,0x8287,0xD479,0x8288,0xD47A,0x8289,0xD47B,0x828A,0xD47C,0x828B,0xD47D,0x828C,0xD47E,0x828D,0xD47F,0x828E,0xD480,0x828F,0xD481,0x8290,0xD482,0x8291,0xD483,0x8292,0xD484,0x8293,0xD485,0x8294,0xD486,0x8295,
3173
  0xD487,0x8296,0xD488,0x8297,0xD489,0x8298,0xD48A,0x8299,0xD48B,0x829A,0xD48C,0x829B,0xD48D,0x829C,0xD48E,0x829D,0xD48F,0x829E,0xD490,0x829F,0xD491,0x82A0,0xD492,0x82A1,0xD493,0x82A2,0xD494,0x82A3,0xD495,0x82A4,0xD496,0x82A5,
3174
  0xD497,0x82A6,0xD498,0x82A7,0xD499,0x82A8,0xD49A,0x82A9,0xD49B,0x82AA,0xD49C,0x82AB,0xD49E,0x82AC,0xD49F,0x82AD,0xD4A2,0x82AE,0xD4A5,0x82AF,0xD4A6,0x82B0,0xD4A9,0x82B1,0xD4AA,0x82B2,0xD4AB,0x82B3,0xD4AC,0x82B4,0xD4AE,0x82B5,
3175
  0xD4AF,0x82B6,0xD4B0,0x82B7,0xD4B1,0x82B8,0xD4B2,0x82B9,0xD4B3,0x82BA,0xD4B4,0x82BB,0xD4B5,0x82BC,0xD4B6,0x82BD,0xD4B7,0x82BE,0xD4B8,0x82BF,0xD4B9,0x82C0,0xD4BB,0x82C1,0xD4BD,0x82C2,0xD4BE,0x82C3,0xD4BF,0x82C4,0xD4C0,0x82C5,
3176
  0xD4C1,0x82C6,0xD4C2,0x82C7,0xD4C3,0x82C8,0xD4C5,0x82C9,0xD4C6,0x82CA,0xD4C7,0x82CB,0xD4C8,0x82CC,0xD4C9,0x82CD,0xD4CA,0x82CE,0xD4CB,0x82CF,0xD4CC,0x82D0,0xD4CD,0x82D1,0xD4CE,0x82D2,0xD4CF,0x82D3,0xD4D0,0x82D4,0xD4D1,0x82D5,
3177
  0xD4D2,0x82D6,0xD4D3,0x82D7,0xD4D4,0x82D8,0xD4D5,0x82D9,0xD4D6,0x82DA,0xD4D7,0x82DB,0xD4D8,0x82DC,0xD4D9,0x82DD,0xD4DA,0x82DE,0xD4DB,0x82DF,0xD4DC,0x82E0,0xD4DD,0x82E1,0xD4DE,0x82E2,0xD4DF,0x82E3,0xD4E0,0x82E4,0xD4E1,0x82E5,
3178
  0xD4E2,0x82E6,0xD4E3,0x82E7,0xD4E4,0x82E8,0xD4E5,0x82E9,0xD4E6,0x82EA,0xD4E7,0x82EB,0xD4E8,0x82EC,0xD4E9,0x82ED,0xD4EA,0x82EE,0xD4EB,0x82EF,0xD4EC,0x82F0,0xD4ED,0x82F1,0xD4EE,0x82F2,0xD4EF,0x82F3,0xD4F0,0x82F4,0xD4F1,0x82F5,
3179
  0xD4F2,0x82F6,0xD4F3,0x82F7,0xD4F4,0x82F8,0xD4F5,0x82F9,0xD4F6,0x82FA,0xD4F7,0x82FB,0xD4F8,0x82FC,0xD4F9,0x82FD,0xD4FA,0x82FE,0xD4FB,0x82FF,0xD4FC,0x8300,0xD4FD,0x8301,0xD4FE,0x8302,0xD4FF,0x8303,0xD500,0x8304,0xD501,0x8305,
3180
  0xD502,0x8306,0xD503,0x8307,0xD504,0x8308,0xD505,0x8309,0xD507,0x830A,0xD508,0x830B,0xD509,0x830C,0xD50A,0x830D,0xD50D,0x830E,0xD50E,0x830F,0xD50F,0x8310,0xD510,0x8311,0xD511,0x8312,0xD512,0x8313,0xD513,0x8314,0xD514,0x8315,
3181
  0xD516,0x8316,0xD517,0x8317,0xD518,0x8318,0xD519,0x8319,0xD51A,0x831A,0xD51B,0x831B,0xD51C,0x831C,0xD51E,0x831D,0xD51F,0x831E,0xD520,0x831F,0xD521,0x8320,0xD522,0x8321,0xD523,0x8322,0xD524,0x8323,0xD525,0x8324,0xD526,0x8325,
3182
  0xD527,0x8326,0xD528,0x8327,0xD529,0x8328,0xD52A,0x8329,0xD52B,0x832A,0xD52C,0x832B,0xD52D,0x832C,0xD52E,0x832D,0xD52F,0x832E,0xD530,0x832F,0xD531,0x8330,0xD532,0x8331,0xD533,0x8332,0xD534,0x8333,0xD535,0x8334,0xD536,0x8335,
3183
  0xD537,0x8336,0xD538,0x8337,0xD539,0x8338,0xD53B,0x8339,0xD53C,0x833A,0xD53D,0x833B,0xD53E,0x833C,0xD540,0x833D,0xD541,0x833E,0xD542,0x833F,0xD543,0x8340,0xD544,0x8341,0xD546,0x8342,0xD54A,0x8343,0xD54B,0x8344,0xD54C,0x8345,
3184
  0xD54D,0x8346,0xD54E,0x8347,0xD54F,0x8348,0xD550,0x8349,0xD552,0x834A,0xD553,0x834B,0xD554,0x834C,0xD555,0x834D,0xD556,0x834E,0xD557,0x834F,0xD558,0x8350,0xD559,0x8351,0xD55A,0x8352,0xD55B,0x8353,0xD55C,0x8354,0xD55D,0x8355,
3185
  0xD55E,0x8356,0xD55F,0x8357,0xD560,0x8358,0xD561,0x8359,0xD562,0x835A,0xD563,0x835B,0xD564,0x835C,0xD565,0x835D,0xD566,0x835E,0xD567,0x835F,0xD568,0x8360,0xD569,0x8361,0xD56A,0x8362,0xD56B,0x8363,0xD56C,0x8364,0xD56D,0x8365,
3186
  0xD56E,0x8366,0xD56F,0x8367,0xD570,0x8368,0xD571,0x8369,0xD572,0x836A,0xD573,0x836B,0xD574,0x836C,0xD575,0x836D,0xD576,0x836E,0xD577,0x836F,0xD578,0x8370,0xD579,0x8371,0xD57A,0x8372,0xD57B,0x8373,0xD57C,0x8374,0xD57D,0x8375,
3187
  0xD57E,0x8376,0xD57F,0x8377,0xD580,0x8378,0xD581,0x8379,0xD582,0x837A,0xD583,0x837B,0xD584,0x837C,0xD585,0x837D,0xD586,0x837E,0xD587,0x837F,0xD588,0x8380,0xD589,0x8381,0xD58A,0x8382,0xD58B,0x8383,0xD58C,0x8384,0xD58D,0x8385,
3188
  0xD58E,0x8386,0xD58F,0x8387,0xD590,0x8388,0xD591,0x8389,0xD592,0x838A,0xD593,0x838B,0xD594,0x838C,0xD595,0x838D,0xD596,0x838E,0xD597,0x838F,0xD598,0x8390,0xD599,0x8391,0xD59A,0x8392,0xD59B,0x8393,0xD59C,0x8394,0xD59D,0x8395,
3189
  0xD59E,0x8396,0xD59F,0x8397,0xD5A0,0x8398,0xD5A1,0x8399,0xD5A2,0x839A,0xD5A3,0x839B,0xD5A4,0x839C,0xD5A5,0x839D,0xD5A6,0x839E,0xD5A7,0x839F,0xD5A8,0x83A0,0xD5A9,0x83A1,0xD5AA,0x83A2,0xD5AB,0x83A3,0xD5AC,0x83A4,0xD5AD,0x83A5,
3190
  0xD5AE,0x83A6,0xD5AF,0x83A7,0xD5B0,0x83A8,0xD5B1,0x83A9,0xD5B2,0x83AA,0xD5B3,0x83AB,0xD5B4,0x83AC,0xD5B5,0x83AD,0xD5B6,0x83AE,0xD5B7,0x83AF,0xD5B8,0x83B0,0xD5B9,0x83B1,0xD5BA,0x83B2,0xD5BB,0x83B3,0xD5BC,0x83B4,0xD5BD,0x83B5,
3191
  0xD5BE,0x83B6,0xD5BF,0x83B7,0xD5C0,0x83B8,0xD5C1,0x83B9,0xD5C2,0x83BA,0xD5C3,0x83BB,0xD5C4,0x83BC,0xD5C5,0x83BD,0xD5C6,0x83BE,0xD5C7,0x83BF,0xD5C8,0x83C0,0xD5C9,0x83C1,0xD5CA,0x83C2,0xD5CB,0x83C3,0xD5CC,0x83C4,0xD5CD,0x83C5,
3192
  0xD5CE,0x83C6,0xD5CF,0x83C7,0xD5D0,0x83C8,0xD5D1,0x83C9,0xD5D2,0x83CA,0xD5D3,0x83CB,0xD5D4,0x83CC,0xD5D5,0x83CD,0xD5D6,0x83CE,0xD5D7,0x83CF,0xD5D8,0x83D0,0xD5D9,0x83D1,0xD5DA,0x83D2,0xD5DB,0x83D3,0xD5DC,0x83D4,0xD5DD,0x83D5,
3193
  0xD5DE,0x83D6,0xD5DF,0x83D7,0xD5E0,0x83D8,0xD5E1,0x83D9,0xD5E2,0x83DA,0xD5E3,0x83DB,0xD5E4,0x83DC,0xD5E5,0x83DD,0xD5E6,0x83DE,0xD5E7,0x83DF,0xD5E8,0x83E0,0xD5E9,0x83E1,0xD5EA,0x83E2,0xD5EB,0x83E3,0xD5EC,0x83E4,0xD5ED,0x83E5,
3194
  0xD5EE,0x83E6,0xD5EF,0x83E7,0xD5F0,0x83E8,0xD5F1,0x83E9,0xD5F2,0x83EA,0xD5F3,0x83EB,0xD5F4,0x83EC,0xD5F5,0x83ED,0xD5F6,0x83EE,0xD5F7,0x83EF,0xD5F8,0x83F0,0xD5F9,0x83F1,0xD5FA,0x83F2,0xD5FB,0x83F3,0xD5FC,0x83F4,0xD5FD,0x83F5,
3195
  0xD5FE,0x83F6,0xD5FF,0x83F7,0xD600,0x83F8,0xD601,0x83F9,0xD602,0x83FA,0xD603,0x83FB,0xD604,0x83FC,0xD605,0x83FD,0xD606,0x83FE,0xD607,0x83FF,0xD608,0x8400,0xD609,0x8401,0xD60A,0x8402,0xD60B,0x8403,0xD60C,0x8404,0xD60D,0x8405,
3196
  0xD60E,0x8406,0xD60F,0x8407,0xD610,0x8408,0xD611,0x8409,0xD612,0x840A,0xD613,0x840B,0xD614,0x840C,0xD615,0x840D,0xD616,0x840E,0xD617,0x840F,0xD618,0x8410,0xD619,0x8411,0xD61A,0x8412,0xD61B,0x8413,0xD61C,0x8414,0xD61D,0x8415,
3197
  0xD61E,0x8416,0xD61F,0x8417,0xD620,0x8418,0xD621,0x8419,0xD622,0x841A,0xD623,0x841B,0xD624,0x841C,0xD625,0x841D,0xD626,0x841E,0xD627,0x841F,0xD628,0x8420,0xD629,0x8421,0xD62A,0x8422,0xD62B,0x8423,0xD62C,0x8424,0xD62D,0x8425,
3198
  0xD62E,0x8426,0xD62F,0x8427,0xD630,0x8428,0xD631,0x8429,0xD632,0x842A,0xD633,0x842B,0xD634,0x842C,0xD635,0x842D,0xD636,0x842E,0xD637,0x842F,0xD638,0x8430,0xD639,0x8431,0xD63A,0x8432,0xD63B,0x8433,0xD63C,0x8434,0xD63D,0x8435,
3199
  0xD63E,0x8436,0xD63F,0x8437,0xD640,0x8438,0xD641,0x8439,0xD642,0x843A,0xD643,0x843B,0xD644,0x843C,0xD645,0x843D,0xD646,0x843E,0xD647,0x843F,0xD648,0x8440,0xD649,0x8441,0xD64A,0x8442,0xD64B,0x8443,0xD64C,0x8444,0xD64D,0x8445,
3200
  0xD64E,0x8446,0xD64F,0x8447,0xD650,0x8448,0xD651,0x8449,0xD652,0x844A,0xD653,0x844B,0xD654,0x844C,0xD655,0x844D,0xD656,0x844E,0xD657,0x844F,0xD658,0x8450,0xD659,0x8451,0xD65A,0x8452,0xD65B,0x8453,0xD65C,0x8454,0xD65D,0x8455,
3201
  0xD65E,0x8456,0xD65F,0x8457,0xD660,0x8458,0xD661,0x8459,0xD662,0x845A,0xD663,0x845B,0xD664,0x845C,0xD665,0x845D,0xD666,0x845E,0xD667,0x845F,0xD668,0x8460,0xD669,0x8461,0xD66A,0x8462,0xD66B,0x8463,0xD66C,0x8464,0xD66D,0x8465,
3202
  0xD66E,0x8466,0xD66F,0x8467,0xD670,0x8468,0xD671,0x8469,0xD672,0x846A,0xD673,0x846B,0xD674,0x846C,0xD675,0x846D,0xD676,0x846E,0xD677,0x846F,0xD678,0x8470,0xD679,0x8471,0xD67A,0x8472,0xD67B,0x8473,0xD67C,0x8474,0xD67D,0x8475,
3203
  0xD67E,0x8476,0xD67F,0x8477,0xD680,0x8478,0xD681,0x8479,0xD682,0x847A,0xD683,0x847B,0xD684,0x847C,0xD685,0x847D,0xD686,0x847E,0xD687,0x847F,0xD688,0x8480,0xD689,0x8481,0xD68A,0x8482,0xD68B,0x8483,0xD68C,0x8484,0xD68D,0x8485,
3204
  0xD68E,0x8486,0xD68F,0x8487,0xD690,0x8488,0xD691,0x8489,0xD692,0x848A,0xD693,0x848B,0xD694,0x848C,0xD695,0x848D,0xD696,0x848E,0xD697,0x848F,0xD698,0x8490,0xD699,0x8491,0xD69A,0x8492,0xD69B,0x8493,0xD69C,0x8494,0xD69D,0x8495,
3205
  0xD69E,0x8496,0xD69F,0x8497,0xD6A0,0x8498,0xD6A1,0x8499,0xD6A2,0x849A,0xD6A3,0x849B,0xD6A4,0x849C,0xD6A5,0x849E,0xD6A8,0x84A0,0xD6A9,0x84A2,0xD6AA,0x84A4,0xD6AB,0x84A6,0xD6AC,0x84A8,0xD6AD,0x84AA,0xD6AE,0x84AC,0xD6AF,0x84AE,
3206
  0xD6B0,0x84B0,0xD6B1,0x84B2,0xD6B2,0x84B4,0xD6B3,0x84B6,0xD6B4,0x84B8,0xD6B5,0x84BA,0xD6B6,0x84BC,0xD6B7,0x84BE,0xD6B8,0x84C0,0xD6B9,0x84C2,0xD6BA,0x84C4,0xD6BB,0x84C6,0xD6BC,0x84C8,0xD6BD,0x84CA,0xD6BE,0x84CC,0xD6BF,0x84CE,
3207
  0xD6C0,0x84D0,0xD6C1,0x84D2,0xD6C2,0x84D5,0xD6C3,0x84D7,0xD6C4,0x84D9,0xD6C5,0x84DB,0xD6C6,0x84DD,0xD6C7,0x84DF,0xD6C8,0x84E1,0xD6C9,0x84E3,0xD6CA,0x84E5,0xD6CB,0x84E7,0xD6CC,0x84E9,0xD6CD,0x84EB,0xD6CE,0x84ED,0xD6CF,0x84EF,
3208
  0xD6D0,0x84F1,0xD6D1,0x84F3,0xD6D2,0x84F5,0xD6D3,0x84F7,0xD6D4,0x84F9,0xD6D5,0x84FB,0xD6D6,0x84FD,0xD6D7,0x84FF,0xD6D8,0x8501,0xD6D9,0x8503,0xD6DA,0x8505,0xD6DB,0x8507,0xD6DC,0x850A,0xD6DD,0x850C,0xD6DE,0x850E,0xD6DF,0x8510,
3209
  0xD6E0,0x8512,0xD6E1,0x8514,0xD6E2,0x8516,0xD6E3,0x8518,0xD6E4,0x851A,0xD6E5,0x851C,0xD6E6,0x851E,0xD6E7,0x8520,0xD6E8,0x8522,0xD6E9,0x8524,0xD6EA,0x8526,0xD6EB,0x8528,0xD6EC,0x852A,0xD6ED,0x852C,0xD6EE,0x852E,0xD6EF,0x8530,
3210
  0xD6F0,0x8532,0xD6F1,0x8534,0xD6F2,0x8536,0xD6F3,0x8538,0xD6F4,0x853A,0xD6F5,0x853C,0xD6F6,0x853E,0xD6F7,0x8540,0xD6F8,0x8542,0xD6F9,0x8544,0xD6FA,0x8546,0xD6FB,0x8548,0xD6FC,0x854B,0xD6FD,0x854D,0xD6FE,0x854F,0xD6FF,0x8551,
3211
  0xD700,0x8553,0xD701,0x8555,0xD702,0x8557,0xD703,0x8559,0xD704,0x855B,0xD705,0x855D,0xD706,0x855F,0xD707,0x8561,0xD708,0x8563,0xD709,0x8565,0xD70A,0x8567,0xD70B,0x8569,0xD70C,0x856B,0xD70D,0x856D,0xD70E,0x856F,0xD70F,0x8571,
3212
  0xD710,0x8573,0xD711,0x8575,0xD712,0x8577,0xD713,0x8579,0xD714,0x857B,0xD715,0x857D,0xD716,0x8580,0xD717,0x8582,0xD718,0x8584,0xD719,0x8586,0xD71A,0x8588,0xD71B,0x858A,0xD71C,0x858C,0xD71D,0x858E,0xD71E,0x8590,0xD71F,0x8592,
3213
  0xD720,0x8594,0xD721,0x8596,0xD722,0x8598,0xD723,0x859A,0xD724,0x859C,0xD725,0x859E,0xD726,0x85A0,0xD727,0x85A2,0xD728,0x85A4,0xD729,0x85A6,0xD72A,0x85A8,0xD72B,0x85AA,0xD72C,0x85AC,0xD72D,0x85AE,0xD72E,0x85B0,0xD72F,0x85B2,
3214
  0xD730,0x85B4,0xD731,0x85B6,0xD732,0x85B8,0xD733,0x85BA,0xD734,0x85BC,0xD735,0x85BE,0xD736,0x85C1,0xD737,0x85C3,0xD738,0x85C5,0xD739,0x85C7,0xD73A,0x85C9,0xD73B,0x85CB,0xD73C,0x85CD,0xD73D,0x85CF,0xD73E,0x85D1,0xD73F,0x85D3,
3215
  0xD740,0x85D5,0xD741,0x85D7,0xD742,0x85D9,0xD743,0x85DB,0xD744,0x85DD,0xD745,0x85DF,0xD746,0x85E1,0xD747,0x85E3,0xD748,0x85E5,0xD749,0x85E7,0xD74A,0x85E9,0xD74B,0x85EB,0xD74C,0x85ED,0xD74D,0x85EF,0xD74E,0x85F1,0xD74F,0x85F3,
3216
  0xD750,0x85F6,0xD751,0x85F8,0xD752,0x85FA,0xD753,0x85FC,0xD754,0x85FE,0xD755,0x8600,0xD756,0x8602,0xD757,0x8604,0xD758,0x8606,0xD759,0x8608,0xD75A,0x860A,0xD75B,0x860C,0xD75C,0x860E,0xD75D,0x8610,0xD75E,0x8612,0xD75F,0x8614,
3217
  0xD760,0x8616,0xD761,0x8618,0xD762,0x861A,0xD763,0x861C,0xD764,0x861E,0xD765,0x8620,0xD766,0x8622,0xD767,0x8624,0xD768,0x8626,0xD769,0x8628,0xD76A,0x862A,0xD76B,0x862C,0xD76C,0x862E,0xD76D,0x8630,0xD76E,0x8632,0xD76F,0x8634,
3218
  0xD770,0x8637,0xD771,0x8639,0xD772,0x863B,0xD773,0x863D,0xD774,0x863F,0xD775,0x8641,0xD776,0x8643,0xD777,0x8645,0xD778,0x8647,0xD779,0x8649,0xD77A,0x864B,0xD77B,0x864D,0xD77C,0x864F,0xD77D,0x8651,0xD77E,0x8653,0xD77F,0x8655,
3219
  0xD780,0x8657,0xD781,0x8659,0xD782,0x865B,0xD783,0x865D,0xD784,0x865F,0xD785,0x8661,0xD786,0x8663,0xD787,0x8665,0xD788,0x8667,0xD789,0x8669,0xD78A,0x866C,0xD78B,0x866E,0xD78C,0x8670,0xD78D,0x8672,0xD78E,0x8674,0xD78F,0x8676,
3220
  0xD790,0x8678,0xD791,0x867A,0xD792,0x867C,0xD793,0x867E,0xD794,0x8680,0xD795,0x8682,0xD796,0x8684,0xD797,0x8686,0xD798,0x8688,0xD799,0x868A,0xD79A,0x868C,0xD79B,0x868E,0xD79C,0x8690,0xD79D,0x8692,0xD79E,0x8694,0xD79F,0x8696,
3221
  0xD7A0,0x8698,0xD7A1,0x869A,0xD7A2,0x869C,0xD7A3,0x869E,0xD7A4,0x86A0,0xD7A5,0x86A2,0xD7A6,0x86A4,0xD7A7,0x86A6,0xD7A8,0x86A8,0xD7A9,0x86AA,0xD7AA,0x86AD,0xD7AB,0x86AF,0xD7AC,0x86B1,0xD7AD,0x86B3,0xD7AE,0x86B5,0xD7AF,0x86B7,
3222
  0xD7B0,0x86B9,0xD7B1,0x86BB,0xD7B2,0x86BD,0xD7B3,0x86BF,0xD7B4,0x86C1,0xD7B5,0x86C3,0xD7B6,0x86C5,0xD7B7,0x86C7,0xD7B8,0x86C9,0xD7B9,0x86CB,0xD7BA,0x86CD,0xD7BB,0x86CF,0xD7BC,0x86D1,0xD7BD,0x86D3,0xD7BE,0x86D5,0xD7BF,0x86D7,
3223
  0xD7C0,0x86D9,0xD7C1,0x86DB,0xD7C2,0x86DD,0xD7C3,0x86DF,0xD7C4,0x86E2,0xD7C5,0x86E4,0xD7C6,0x86E6,0xD7C7,0x86E8,0xD7C8,0x86EA,0xD7C9,0x86EC,0xD7CA,0x86EE,0xD7CB,0x86F0,0xD7CE,0x86F2,0xD7CF,0x86F3,0xD7D0,0x86F4,0xD7D1,0x86F5,
3224
  0xD7D2,0x86F6,0xD7D3,0x86F7,0xD7D4,0x86F8,0xD7D5,0x86F9,0xD7D6,0x86FA,0xD7D7,0x86FB,0xD7D8,0x86FC,0xD7D9,0x86FD,0xD7DA,0x86FE,0xD7DB,0x86FF,0xD7DC,0x8700,0xD7DD,0x8701,0xD7DE,0x8702,0xD7DF,0x8703,0xD7E0,0x8704,0xD7E1,0x8705,
3225
  0xD7E2,0x8706,0xD7E3,0x8707,0xD7E4,0x8708,0xD7E5,0x8709,0xD7E6,0x870A,0xD7E7,0x870B,0xD7E8,0x870C,0xD7E9,0x870D,0xD7EA,0x870E,0xD7EB,0x870F,0xD7EC,0x8710,0xD7ED,0x8711,0xD7EE,0x8712,0xD7EF,0x8713,0xD7F0,0x8714,0xD7F1,0x8715,
3226
  0xD7F2,0x8716,0xD7F3,0x8717,0xD7F4,0x8718,0xD7F5,0x8719,0xD7F6,0x871A,0xD7F7,0x871B,0xD7F8,0x871C,0xD7F9,0x871D,0xD7FA,0x871E,0xD7FB,0x871F,0xD7FC,0x8720,0xD7FD,0x8721,0xD7FE,0x8722,0xD7FF,0x8723,0xE030,0x8724,0xE031,0x8726,
3227
  0xE032,0x8728,0xE033,0x872A,0xE034,0x872C,0xE035,0x872E,0xE036,0x8730,0xE037,0x8732,0xE038,0x8734,0xE039,0x8736,0xE03A,0x8738,0xE03B,0x873A,0xE03C,0x873C,0xE03D,0x873E,0xE03E,0x8740,0xE03F,0x8742,0xE040,0x8744,0xE041,0x8746,
3228
  0xE042,0x8748,0xE043,0x874A,0xE044,0x874C,0xE045,0x874E,0xE046,0x8750,0xE047,0x8752,0xE048,0x8754,0xE049,0x8756,0xE04A,0x8758,0xE04B,0x875B,0xE04C,0x875D,0xE04D,0x875F,0xE04E,0x8761,0xE04F,0x8763,0xE050,0x8765,0xE051,0x8767,
3229
  0xE052,0x8769,0xE053,0x876B,0xE054,0x876D,0xE055,0x876F,0xE056,0x8771,0xE057,0x8773,0xE058,0x8775,0xE059,0x8777,0xE05A,0x8779,0xE05B,0x877B,0xE05C,0x877D,0xE05D,0x877F,0xE05E,0x8781,0xE05F,0x8783,0xE060,0x8785,0xE061,0x8787,
3230
  0xE062,0x8789,0xE063,0x878B,0xE064,0x878D,0xE065,0x878F,0xE066,0x8791,0xE067,0x8793,0xE068,0x8795,0xE069,0x8797,0xE06A,0x8799,0xE06B,0x879B,0xE06C,0x879D,0xE06D,0x87A0,0xEE00,0x87A2,0xEE01,0x87A4,0xEE02,0x87A6,0xEE03,0x87A8,
3231
  0xEE05,0x87AA,0xEE06,0x87AC,0xEE07,0x87AE,0xEE08,0x87B0,0xEE09,0x87B2,0xEE0A,0x87B4,0xEE0B,0x87B6,0xEE0C,0x87B8,0xEE0D,0x87BA,0xEE0E,0x87BC,0xEE0F,0x87BE,0xEE10,0x87C0,0xEE11,0x87C2,0xEE12,0x87C4,0xEE13,0x87C6,0xEE14,0x87C8,
3232
  0xEE15,0x87CA,0xEE16,0x87CC,0xEE17,0x87CE,0xEE18,0x87D0,0xEE19,0x87D2,0xEE1A,0x87D4,0xEE1B,0x87D6,0xEE1C,0x87D8,0xEE1D,0x87DA,0xEE1E,0x87DC,0xEE1F,0x87DE,0xEE21,0x87E0,0xEE22,0x87E2,0xEE24,0x87E4,0xEE27,0x87E6,0xEE29,0x87E8,
3233
  0xEE2A,0x87EA,0xEE2B,0x87EC,0xEE2C,0x87EE,0xEE2D,0x87F0,0xEE2E,0x87F2,0xEE2F,0x87F4,0xEE30,0x87F6,0xEE31,0x87F8,0xEE32,0x87FA,0xEE34,0x87FC,0xEE35,0x87FE,0xEE36,0x8800,0xEE37,0x8802,0xEE39,0x8804,0xEE3B,0x8806,0xEE42,0x8808,
3234
  0xEE47,0x880A,0xEE49,0x880C,0xEE4B,0x880E,0xEE4D,0x8810,0xEE4E,0x8812,0xEE4F,0x8814,0xEE51,0x8816,0xEE52,0x8818,0xEE54,0x881A,0xEE57,0x881C,0xEE59,0x881E,0xEE5B,0x8820,0xEE5D,0x8822,0xEE5F,0x8824,0xEE61,0x8826,0xEE62,0x8828,
3235
  0xEE64,0x882A,0xEE67,0x882C,0xEE68,0x882E,0xEE69,0x8830,0xEE6A,0x8832,0xEE6C,0x8834,0xEE6D,0x8836,0xEE6E,0x8838,0xEE6F,0x883A,0xEE70,0x883C,0xEE71,0x883E,0xEE72,0x8840,0xEE74,0x8842,0xEE75,0x8844,0xEE76,0x8846,0xEE77,0x8848,
3236
  0xEE79,0x884A,0xEE7A,0x884C,0xEE7B,0x884E,0xEE7C,0x8850,0xEE7E,0x8852,0xEE80,0x8854,0xEE81,0x8856,0xEE82,0x8858,0xEE83,0x885A,0xEE84,0x885C,0xEE85,0x885E,0xEE86,0x8860,0xEE87,0x8862,0xEE88,0x8864,0xEE89,0x8866,0xEE8B,0x8868,
3237
  0xEE8C,0x886A,0xEE8D,0x886C,0xEE8E,0x886E,0xEE8F,0x8870,0xEE90,0x8872,0xEE91,0x8874,0xEE92,0x8876,0xEE93,0x8878,0xEE94,0x887A,0xEE95,0x887C,0xEE96,0x887E,0xEE97,0x8880,0xEE98,0x8882,0xEE99,0x8884,0xEE9A,0x8886,0xEE9B,0x8888,
3238
  0xEEA1,0x888A,0xEEA2,0x888C,0xEEA3,0x888E,0xEEA5,0x8890,0xEEA6,0x8892,0xEEA7,0x8894,0xEEA8,0x8896,0xEEA9,0x8898,0xEEAB,0x889A,0xEEAC,0x889C,0xEEAD,0x889E,0xEEAE,0x88A0,0xEEAF,0x88A2,0xEEB0,0x88A4,0xEEB1,0x88A6,0xEEB2,0x88A8,
3239
  0xEEB3,0x88AA,0xEEB4,0x88AC,0xEEB5,0x88AE,0xEEB6,0x88B0,0xEEB7,0x88B2,0xEEB8,0x88B4,0xEEB9,0x88B6,0xEEBA,0x88B8,0xEEBB,0x88BA,0xF100,0x88BC,0xF101,0x88BE,0xF102,0x88C0,0xF103,0x88C2,0xF104,0x88C4,0xF105,0x88C6,0xF106,0x88C8,
3240
  0xF107,0x88CA,0xF108,0x88CC,0xF109,0x88CE,0xF10A,0x88D0,0xF110,0x88D2,0xF111,0x88D5,0xF112,0x88D8,0xF113,0x88DB,0xF114,0x88DE,0xF115,0x88E1,0xF116,0x88E4,0xF117,0x88E7,0xF118,0x88EA,0xF119,0x88ED,0xF11A,0x88F0,0xF11B,0x88F3,
3241
  0xF11C,0x88F6,0xF11D,0x88F9,0xF11E,0x88FC,0xF11F,0x88FF,0xF120,0x8902,0xF121,0x8905,0xF122,0x8908,0xF123,0x890B,0xF124,0x890E,0xF125,0x8911,0xF126,0x8914,0xF127,0x8917,0xF128,0x891A,0xF129,0x891D,0xF12A,0x8920,0xF12B,0x8927,
3242
  0xF12C,0x8928,0xF12D,0x8929,0xF12E,0x892B,0xF130,0x892D,0xF131,0x892E,0xF132,0x892F,0xF133,0x8930,0xF134,0x8931,0xF135,0x8932,0xF136,0x8933,0xF137,0x8934,0xF138,0x8935,0xF139,0x8936,0xF13A,0x8937,0xF13B,0x8938,0xF13C,0x8939,
3243
  0xF13D,0x893A,0xF13E,0x893B,0xF13F,0x893C,0xF140,0x893D,0xF141,0x893E,0xF142,0x893F,0xF143,0x8940,0xF144,0x8941,0xF145,0x8942,0xF146,0x8943,0xF147,0x8944,0xF148,0x8945,0xF149,0x8946,0xF14A,0x8947,0xF14B,0x8949,0xF14C,0x894B,
3244
  0xF14D,0x894D,0xF14E,0x894F,0xF14F,0x8952,0xF16A,0x8954,0xF16B,0x8956,0xF16C,0x8958,0xF190,0x895A,0xF200,0x895C,0xF201,0x8962,0xF202,0x8968,0xF210,0x896B,0xF211,0x896E,0xF212,0x8971,0xF213,0x8974,0xF214,0x8977,0xF215,0x897A,
3245
  0xF216,0x897D,0xF217,0x8980,0xF218,0x8983,0xF219,0x8986,0xF21A,0x8989,0xF21B,0x898C,0xF21C,0x898F,0xF21D,0x8992,0xF21E,0x8995,0xF21F,0x8998,0xF220,0x899B,0xF221,0x899E,0xF222,0x89A1,0xF223,0x89A4,0xF224,0x89A7,0xF225,0x89AA,
3246
  0xF226,0x89AD,0xF227,0x89B0,0xF228,0x89B3,0xF229,0x89B6,0xF22A,0x89B9,0xF22B,0x89BC,0xF22C,0x89BF,0xF22D,0x89C2,0xF22E,0x89C5,0xF22F,0x89C8,0xF230,0x89CB,0xF231,0x89CE,0xF232,0x89D1,0xF233,0x89D4,0xF234,0x89D7,0xF235,0x89DA,
3247
  0xF236,0x89DD,0xF237,0x89E0,0xF238,0x89E3,0xF239,0x89E6,0xF23A,0x89E9,0xF23B,0x89EC,0xF240,0x89EF,0xF241,0x89F8,0xF242,0x8A01,0xF243,0x8A0A,0xF244,0x8A13,0xF245,0x8A1C,0xF246,0x8A25,0xF247,0x8A2E,0xF248,0x8A37,0xF250,0x8A40,
3248
  0xF251,0x8A43,0xFBF0,0x8A46,0xFBF1,0x8A47,0xFBF2,0x8A48,0xFBF3,0x8A49,0xFBF4,0x8A4A,0xFBF5,0x8A4B,0xFBF6,0x8A4C,0xFBF7,0x8A4D,0xFBF8,0x8A4E,0xFBF9,0x8A4F,0xFFFF,0x0A50,
3249
};
3250
#define mxDecompositionSize2 1731
3251
const txU1 gxDecompositionData2[mxDecompositionSize2] ICACHE_XS6RO_ATTR = {
3252
  0xe4,0xb8,0xbd,0xe4,0xb8,0xb8,0xe4,0xb9,0x81,0xf0,0xa0,0x84,0xa2,0xe4,0xbd,0xa0,0xe4,0xbe,0xae,0xe4,0xbe,0xbb,0xe5,0x80,0x82,0xe5,0x81,0xba,0xe5,0x82,0x99,0xe5,
3253
  0x83,0xa7,0xe5,0x83,0x8f,0xe3,0x92,0x9e,0xf0,0xa0,0x98,0xba,0xe5,0x85,0x8d,0xe5,0x85,0x94,0xe5,0x85,0xa4,0xe5,0x85,0xb7,0xf0,0xa0,0x94,0x9c,0xe3,0x92,0xb9,0xe5,
3254
  0x85,0xa7,0xe5,0x86,0x8d,0xf0,0xa0,0x95,0x8b,0xe5,0x86,0x97,0xe5,0x86,0xa4,0xe4,0xbb,0x8c,0xe5,0x86,0xac,0xe5,0x86,0xb5,0xf0,0xa9,0x87,0x9f,0xe5,0x87,0xb5,0xe5,
3255
  0x88,0x83,0xe3,0x93,0x9f,0xe5,0x88,0xbb,0xe5,0x89,0x86,0xe5,0x89,0xb2,0xe5,0x89,0xb7,0xe3,0x94,0x95,0xe5,0x8b,0x87,0xe5,0x8b,0x89,0xe5,0x8b,0xa4,0xe5,0x8b,0xba,
3256
  0xe5,0x8c,0x85,0xe5,0x8c,0x86,0xe5,0x8c,0x97,0xe5,0x8d,0x89,0xe5,0x8d,0x91,0xe5,0x8d,0x9a,0xe5,0x8d,0xb3,0xe5,0x8d,0xbd,0xe5,0x8d,0xbf,0xe5,0x8d,0xbf,0xe5,0x8d,
3257
  0xbf,0xf0,0xa0,0xa8,0xac,0xe7,0x81,0xb0,0xe5,0x8f,0x8a,0xe5,0x8f,0x9f,0xf0,0xa0,0xad,0xa3,0xe5,0x8f,0xab,0xe5,0x8f,0xb1,0xe5,0x90,0x86,0xe5,0x92,0x9e,0xe5,0x90,
3258
  0xb8,0xe5,0x91,0x88,0xe5,0x91,0xa8,0xe5,0x92,0xa2,0xe5,0x93,0xb6,0xe5,0x94,0x90,0xe5,0x95,0x93,0xe5,0x95,0xa3,0xe5,0x96,0x84,0xe5,0x96,0x84,0xe5,0x96,0x99,0xe5,
3259
  0x96,0xab,0xe5,0x96,0xb3,0xe5,0x97,0x82,0xe5,0x9c,0x96,0xe5,0x98,0x86,0xe5,0x9c,0x97,0xe5,0x99,0x91,0xe5,0x99,0xb4,0xe5,0x88,0x87,0xe5,0xa3,0xae,0xe5,0x9f,0x8e,
3260
  0xe5,0x9f,0xb4,0xe5,0xa0,0x8d,0xe5,0x9e,0x8b,0xe5,0xa0,0xb2,0xe5,0xa0,0xb1,0xe5,0xa2,0xac,0xf0,0xa1,0x93,0xa4,0xe5,0xa3,0xb2,0xe5,0xa3,0xb7,0xe5,0xa4,0x86,0xe5,
3261
  0xa4,0x9a,0xe5,0xa4,0xa2,0xe5,0xa5,0xa2,0xf0,0xa1,0x9a,0xa8,0xf0,0xa1,0x9b,0xaa,0xe5,0xa7,0xac,0xe5,0xa8,0x9b,0xe5,0xa8,0xa7,0xe5,0xa7,0x98,0xe5,0xa9,0xa6,0xe3,
3262
  0x9b,0xae,0xe3,0x9b,0xbc,0xe5,0xac,0x88,0xe5,0xac,0xbe,0xe5,0xac,0xbe,0xf0,0xa1,0xa7,0x88,0xe5,0xaf,0x83,0xe5,0xaf,0x98,0xe5,0xaf,0xa7,0xe5,0xaf,0xb3,0xf0,0xa1,
3263
  0xac,0x98,0xe5,0xaf,0xbf,0xe5,0xb0,0x86,0xe5,0xbd,0x93,0xe5,0xb0,0xa2,0xe3,0x9e,0x81,0xe5,0xb1,0xa0,0xe5,0xb1,0xae,0xe5,0xb3,0x80,0xe5,0xb2,0x8d,0xf0,0xa1,0xb7,
3264
  0xa4,0xe5,0xb5,0x83,0xf0,0xa1,0xb7,0xa6,0xe5,0xb5,0xae,0xe5,0xb5,0xab,0xe5,0xb5,0xbc,0xe5,0xb7,0xa1,0xe5,0xb7,0xa2,0xe3,0xa0,0xaf,0xe5,0xb7,0xbd,0xe5,0xb8,0xa8,
3265
  0xe5,0xb8,0xbd,0xe5,0xb9,0xa9,0xe3,0xa1,0xa2,0xf0,0xa2,0x86,0x83,0xe3,0xa1,0xbc,0xe5,0xba,0xb0,0xe5,0xba,0xb3,0xe5,0xba,0xb6,0xe5,0xbb,0x8a,0xf0,0xaa,0x8e,0x92,
3266
  0xe5,0xbb,0xbe,0xf0,0xa2,0x8c,0xb1,0xf0,0xa2,0x8c,0xb1,0xe8,0x88,0x81,0xe5,0xbc,0xa2,0xe5,0xbc,0xa2,0xe3,0xa3,0x87,0xf0,0xa3,0x8a,0xb8,0xf0,0xa6,0x87,0x9a,0xe5,
3267
  0xbd,0xa2,0xe5,0xbd,0xab,0xe3,0xa3,0xa3,0xe5,0xbe,0x9a,0xe5,0xbf,0x8d,0xe5,0xbf,0x97,0xe5,0xbf,0xb9,0xe6,0x82,0x81,0xe3,0xa4,0xba,0xe3,0xa4,0x9c,0xe6,0x82,0x94,
3268
  0xf0,0xa2,0x9b,0x94,0xe6,0x83,0x87,0xe6,0x85,0x88,0xe6,0x85,0x8c,0xe6,0x85,0x8e,0xe6,0x85,0x8c,0xe6,0x85,0xba,0xe6,0x86,0x8e,0xe6,0x86,0xb2,0xe6,0x86,0xa4,0xe6,
3269
  0x86,0xaf,0xe6,0x87,0x9e,0xe6,0x87,0xb2,0xe6,0x87,0xb6,0xe6,0x88,0x90,0xe6,0x88,0x9b,0xe6,0x89,0x9d,0xe6,0x8a,0xb1,0xe6,0x8b,0x94,0xe6,0x8d,0x90,0xf0,0xa2,0xac,
3270
  0x8c,0xe6,0x8c,0xbd,0xe6,0x8b,0xbc,0xe6,0x8d,0xa8,0xe6,0x8e,0x83,0xe6,0x8f,0xa4,0xf0,0xa2,0xaf,0xb1,0xe6,0x90,0xa2,0xe6,0x8f,0x85,0xe6,0x8e,0xa9,0xe3,0xa8,0xae,
3271
  0xe6,0x91,0xa9,0xe6,0x91,0xbe,0xe6,0x92,0x9d,0xe6,0x91,0xb7,0xe3,0xa9,0xac,0xe6,0x95,0x8f,0xe6,0x95,0xac,0xf0,0xa3,0x80,0x8a,0xe6,0x97,0xa3,0xe6,0x9b,0xb8,0xe6,
3272
  0x99,0x89,0xe3,0xac,0x99,0xe6,0x9a,0x91,0xe3,0xac,0x88,0xe3,0xab,0xa4,0xe5,0x86,0x92,0xe5,0x86,0x95,0xe6,0x9c,0x80,0xe6,0x9a,0x9c,0xe8,0x82,0xad,0xe4,0x8f,0x99,
3273
  0xe6,0x9c,0x97,0xe6,0x9c,0x9b,0xe6,0x9c,0xa1,0xe6,0x9d,0x9e,0xe6,0x9d,0x93,0xf0,0xa3,0x8f,0x83,0xe3,0xad,0x89,0xe6,0x9f,0xba,0xe6,0x9e,0x85,0xe6,0xa1,0x92,0xe6,
3274
  0xa2,0x85,0xf0,0xa3,0x91,0xad,0xe6,0xa2,0x8e,0xe6,0xa0,0x9f,0xe6,0xa4,0x94,0xe3,0xae,0x9d,0xe6,0xa5,0x82,0xe6,0xa6,0xa3,0xe6,0xa7,0xaa,0xe6,0xaa,0xa8,0xf0,0xa3,
3275
  0x9a,0xa3,0xe6,0xab,0x9b,0xe3,0xb0,0x98,0xe6,0xac,0xa1,0xf0,0xa3,0xa2,0xa7,0xe6,0xad,0x94,0xe3,0xb1,0x8e,0xe6,0xad,0xb2,0xe6,0xae,0x9f,0xe6,0xae,0xba,0xe6,0xae,
3276
  0xbb,0xf0,0xa3,0xaa,0x8d,0xf0,0xa1,0xb4,0x8b,0xf0,0xa3,0xab,0xba,0xe6,0xb1,0x8e,0xf0,0xa3,0xb2,0xbc,0xe6,0xb2,0xbf,0xe6,0xb3,0x8d,0xe6,0xb1,0xa7,0xe6,0xb4,0x96,
3277
  0xe6,0xb4,0xbe,0xe6,0xb5,0xb7,0xe6,0xb5,0x81,0xe6,0xb5,0xa9,0xe6,0xb5,0xb8,0xe6,0xb6,0x85,0xf0,0xa3,0xb4,0x9e,0xe6,0xb4,0xb4,0xe6,0xb8,0xaf,0xe6,0xb9,0xae,0xe3,
3278
  0xb4,0xb3,0xe6,0xbb,0x8b,0xe6,0xbb,0x87,0xf0,0xa3,0xbb,0x91,0xe6,0xb7,0xb9,0xe6,0xbd,0xae,0xf0,0xa3,0xbd,0x9e,0xf0,0xa3,0xbe,0x8e,0xe6,0xbf,0x86,0xe7,0x80,0xb9,
3279
  0xe7,0x80,0x9e,0xe7,0x80,0x9b,0xe3,0xb6,0x96,0xe7,0x81,0x8a,0xe7,0x81,0xbd,0xe7,0x81,0xb7,0xe7,0x82,0xad,0xf0,0xa0,0x94,0xa5,0xe7,0x85,0x85,0xf0,0xa4,0x89,0xa3,
3280
  0xe7,0x86,0x9c,0xf0,0xa4,0x8e,0xab,0xe7,0x88,0xa8,0xe7,0x88,0xb5,0xe7,0x89,0x90,0xf0,0xa4,0x98,0x88,0xe7,0x8a,0x80,0xe7,0x8a,0x95,0xf0,0xa4,0x9c,0xb5,0xf0,0xa4,
3281
  0xa0,0x94,0xe7,0x8d,0xba,0xe7,0x8e,0x8b,0xe3,0xba,0xac,0xe7,0x8e,0xa5,0xe3,0xba,0xb8,0xe3,0xba,0xb8,0xe7,0x91,0x87,0xe7,0x91,0x9c,0xe7,0x91,0xb1,0xe7,0x92,0x85,
3282
  0xe7,0x93,0x8a,0xe3,0xbc,0x9b,0xe7,0x94,0xa4,0xf0,0xa4,0xb0,0xb6,0xe7,0x94,0xbe,0xf0,0xa4,0xb2,0x92,0xe7,0x95,0xb0,0xf0,0xa2,0x86,0x9f,0xe7,0x98,0x90,0xf0,0xa4,
3283
  0xbe,0xa1,0xf0,0xa4,0xbe,0xb8,0xf0,0xa5,0x81,0x84,0xe3,0xbf,0xbc,0xe4,0x80,0x88,0xe7,0x9b,0xb4,0xf0,0xa5,0x83,0xb3,0xf0,0xa5,0x83,0xb2,0xf0,0xa5,0x84,0x99,0xf0,
3284
  0xa5,0x84,0xb3,0xe7,0x9c,0x9e,0xe7,0x9c,0x9f,0xe7,0x9c,0x9f,0xe7,0x9d,0x8a,0xe4,0x80,0xb9,0xe7,0x9e,0x8b,0xe4,0x81,0x86,0xe4,0x82,0x96,0xf0,0xa5,0x90,0x9d,0xe7,
3285
  0xa1,0x8e,0xe7,0xa2,0x8c,0xe7,0xa3,0x8c,0xe4,0x83,0xa3,0xf0,0xa5,0x98,0xa6,0xe7,0xa5,0x96,0xf0,0xa5,0x9a,0x9a,0xf0,0xa5,0x9b,0x85,0xe7,0xa6,0x8f,0xe7,0xa7,0xab,
3286
  0xe4,0x84,0xaf,0xe7,0xa9,0x80,0xe7,0xa9,0x8a,0xe7,0xa9,0x8f,0xf0,0xa5,0xa5,0xbc,0xf0,0xa5,0xaa,0xa7,0xf0,0xa5,0xaa,0xa7,0xe7,0xab,0xae,0xe4,0x88,0x82,0xf0,0xa5,
3287
  0xae,0xab,0xe7,0xaf,0x86,0xe7,0xaf,0x89,0xe4,0x88,0xa7,0xf0,0xa5,0xb2,0x80,0xe7,0xb3,0x92,0xe4,0x8a,0xa0,0xe7,0xb3,0xa8,0xe7,0xb3,0xa3,0xe7,0xb4,0x80,0xf0,0xa5,
3288
  0xbe,0x86,0xe7,0xb5,0xa3,0xe4,0x8c,0x81,0xe7,0xb7,0x87,0xe7,0xb8,0x82,0xe7,0xb9,0x85,0xe4,0x8c,0xb4,0xf0,0xa6,0x88,0xa8,0xf0,0xa6,0x89,0x87,0xe4,0x8d,0x99,0xf0,
3289
  0xa6,0x8b,0x99,0xe7,0xbd,0xba,0xf0,0xa6,0x8c,0xbe,0xe7,0xbe,0x95,0xe7,0xbf,0xba,0xe8,0x80,0x85,0xf0,0xa6,0x93,0x9a,0xf0,0xa6,0x94,0xa3,0xe8,0x81,0xa0,0xf0,0xa6,
3290
  0x96,0xa8,0xe8,0x81,0xb0,0xf0,0xa3,0x8d,0x9f,0xe4,0x8f,0x95,0xe8,0x82,0xb2,0xe8,0x84,0x83,0xe4,0x90,0x8b,0xe8,0x84,0xbe,0xe5,0xaa,0xb5,0xf0,0xa6,0x9e,0xa7,0xf0,
3291
  0xa6,0x9e,0xb5,0xf0,0xa3,0x8e,0x93,0xf0,0xa3,0x8e,0x9c,0xe8,0x88,0x81,0xe8,0x88,0x84,0xe8,0xbe,0x9e,0xe4,0x91,0xab,0xe8,0x8a,0x91,0xe8,0x8a,0x8b,0xe8,0x8a,0x9d,
3292
  0xe5,0x8a,0xb3,0xe8,0x8a,0xb1,0xe8,0x8a,0xb3,0xe8,0x8a,0xbd,0xe8,0x8b,0xa6,0xf0,0xa6,0xac,0xbc,0xe8,0x8b,0xa5,0xe8,0x8c,0x9d,0xe8,0x8d,0xa3,0xe8,0x8e,0xad,0xe8,
3293
  0x8c,0xa3,0xe8,0x8e,0xbd,0xe8,0x8f,0xa7,0xe8,0x91,0x97,0xe8,0x8d,0x93,0xe8,0x8f,0x8a,0xe8,0x8f,0x8c,0xe8,0x8f,0x9c,0xf0,0xa6,0xb0,0xb6,0xf0,0xa6,0xb5,0xab,0xf0,
3294
  0xa6,0xb3,0x95,0xe4,0x94,0xab,0xe8,0x93,0xb1,0xe8,0x93,0xb3,0xe8,0x94,0x96,0xf0,0xa7,0x8f,0x8a,0xe8,0x95,0xa4,0xf0,0xa6,0xbc,0xac,0xe4,0x95,0x9d,0xe4,0x95,0xa1,
3295
  0xf0,0xa6,0xbe,0xb1,0xf0,0xa7,0x83,0x92,0xe4,0x95,0xab,0xe8,0x99,0x90,0xe8,0x99,0x9c,0xe8,0x99,0xa7,0xe8,0x99,0xa9,0xe8,0x9a,0xa9,0xe8,0x9a,0x88,0xe8,0x9c,0x8e,
3296
  0xe8,0x9b,0xa2,0xe8,0x9d,0xb9,0xe8,0x9c,0xa8,0xe8,0x9d,0xab,0xe8,0x9e,0x86,0xe4,0x97,0x97,0xe8,0x9f,0xa1,0xe8,0xa0,0x81,0xe4,0x97,0xb9,0xe8,0xa1,0xa0,0xe8,0xa1,
3297
  0xa3,0xf0,0xa7,0x99,0xa7,0xe8,0xa3,0x97,0xe8,0xa3,0x9e,0xe4,0x98,0xb5,0xe8,0xa3,0xba,0xe3,0x92,0xbb,0xf0,0xa7,0xa2,0xae,0xf0,0xa7,0xa5,0xa6,0xe4,0x9a,0xbe,0xe4,
3298
  0x9b,0x87,0xe8,0xaa,0xa0,0xe8,0xab,0xad,0xe8,0xae,0x8a,0xe8,0xb1,0x95,0xf0,0xa7,0xb2,0xa8,0xe8,0xb2,0xab,0xe8,0xb3,0x81,0xe8,0xb4,0x9b,0xe8,0xb5,0xb7,0xf0,0xa7,
3299
  0xbc,0xaf,0xf0,0xa0,0xa0,0x84,0xe8,0xb7,0x8b,0xe8,0xb6,0xbc,0xe8,0xb7,0xb0,0xf0,0xa0,0xa3,0x9e,0xe8,0xbb,0x94,0xe8,0xbc,0xb8,0xf0,0xa8,0x97,0x92,0xf0,0xa8,0x97,
3300
  0xad,0xe9,0x82,0x94,0xe9,0x83,0xb1,0xe9,0x84,0x91,0xf0,0xa8,0x9c,0xae,0xe9,0x84,0x9b,0xe9,0x88,0xb8,0xe9,0x8b,0x97,0xe9,0x8b,0x98,0xe9,0x89,0xbc,0xe9,0x8f,0xb9,
3301
  0xe9,0x90,0x95,0xf0,0xa8,0xaf,0xba,0xe9,0x96,0x8b,0xe4,0xa6,0x95,0xe9,0x96,0xb7,0xf0,0xa8,0xb5,0xb7,0xe4,0xa7,0xa6,0xe9,0x9b,0x83,0xe5,0xb6,0xb2,0xe9,0x9c,0xa3,
3302
  0xf0,0xa9,0x85,0x85,0xf0,0xa9,0x88,0x9a,0xe4,0xa9,0xae,0xe4,0xa9,0xb6,0xe9,0x9f,0xa0,0xf0,0xa9,0x90,0x8a,0xe4,0xaa,0xb2,0xf0,0xa9,0x92,0x96,0xe9,0xa0,0x8b,0xe9,
3303
  0xa0,0x8b,0xe9,0xa0,0xa9,0xf0,0xa9,0x96,0xb6,0xe9,0xa3,0xa2,0xe4,0xac,0xb3,0xe9,0xa4,0xa9,0xe9,0xa6,0xa7,0xe9,0xa7,0x82,0xe9,0xa7,0xbe,0xe4,0xaf,0x8e,0xf0,0xa9,
3304
  0xac,0xb0,0xe9,0xac,0x92,0xe9,0xb1,0x80,0xe9,0xb3,0xbd,0xe4,0xb3,0x8e,0xe4,0xb3,0xad,0xe9,0xb5,0xa7,0xf0,0xaa,0x83,0x8e,0xe4,0xb3,0xb8,0xf0,0xaa,0x84,0x85,0xf0,
3305
  0xaa,0x88,0x8e,0xf0,0xaa,0x8a,0x91,0xe9,0xba,0xbb,0xe4,0xb5,0x96,0xe9,0xbb,0xb9,0xe9,0xbb,0xbe,0xe9,0xbc,0x85,0xe9,0xbc,0x8f,0xe9,0xbc,0x96,0xe9,0xbc,0xbb,0xf0,
3306
  0xaa,0x98,0x80,
3307
};
3308
173k
#define mxDecompositionCount2 1086
3309
static const txU2 gxDecompositionIndex2[mxDecompositionCount2] ICACHE_XS6RO_ATTR = {
3310
  0xF800,0x0000,0xF801,0x0003,0xF802,0x0006,0xF803,0x0009,0xF804,0x000D,0xF805,0x0010,0xF806,0x0013,0xF807,0x0016,0xF808,0x0019,0xF809,0x001C,0xF80A,0x001F,0xF80B,0x0022,0xF80C,0x0025,0xF80D,0x0028,0xF80E,0x002C,0xF80F,0x002F,
3311
  0xF810,0x0032,0xF811,0x0035,0xF812,0x0038,0xF813,0x003C,0xF814,0x003F,0xF815,0x0042,0xF816,0x0045,0xF817,0x0049,0xF818,0x004C,0xF819,0x004F,0xF81A,0x0052,0xF81B,0x0055,0xF81C,0x0058,0xF81D,0x005C,0xF81E,0x005F,0xF81F,0x0062,
3312
  0xF820,0x0065,0xF821,0x0068,0xF822,0x006B,0xF823,0x006E,0xF824,0x0071,0xF825,0x0074,0xF826,0x0077,0xF827,0x007A,0xF828,0x007D,0xF829,0x0080,0xF82A,0x0083,0xF82B,0x0086,0xF82C,0x0089,0xF82D,0x008C,0xF82E,0x008F,0xF82F,0x0092,
3313
  0xF830,0x0095,0xF831,0x0098,0xF832,0x009B,0xF833,0x009E,0xF834,0x00A1,0xF835,0x00A5,0xF836,0x00A8,0xF837,0x00AB,0xF838,0x00AE,0xF839,0x00B2,0xF83A,0x00B5,0xF83B,0x00B8,0xF83C,0x00BB,0xF83D,0x00BE,0xF83E,0x00C1,0xF83F,0x00C4,
3314
  0xF840,0x00C7,0xF841,0x00CA,0xF842,0x00CD,0xF843,0x00D0,0xF844,0x00D3,0xF845,0x00D6,0xF846,0x00D9,0xF847,0x00DC,0xF848,0x00DF,0xF849,0x00E2,0xF84A,0x00E5,0xF84B,0x00E8,0xF84C,0x00EB,0xF84D,0x00EE,0xF84E,0x00F1,0xF84F,0x00F4,
3315
  0xF850,0x00F7,0xF851,0x00FA,0xF852,0x00FD,0xF853,0x0100,0xF854,0x0103,0xF855,0x0106,0xF856,0x0109,0xF857,0x010C,0xF858,0x010F,0xF859,0x0112,0xF85A,0x0116,0xF85B,0x0119,0xF85C,0x011C,0xF85D,0x011F,0xF85E,0x0122,0xF85F,0x0125,
3316
  0xF860,0x0128,0xF861,0x012C,0xF862,0x0130,0xF863,0x0133,0xF864,0x0136,0xF865,0x0139,0xF866,0x013C,0xF867,0x013F,0xF868,0x0142,0xF869,0x0145,0xF86A,0x0148,0xF86B,0x014B,0xF86C,0x014E,0xF86D,0x0152,0xF86E,0x0155,0xF86F,0x0158,
3317
  0xF870,0x015B,0xF871,0x015E,0xF872,0x0162,0xF873,0x0165,0xF874,0x0168,0xF875,0x016B,0xF876,0x016E,0xF877,0x0171,0xF878,0x0174,0xF879,0x0177,0xF87A,0x017A,0xF87B,0x017D,0xF87C,0x0181,0xF87D,0x0184,0xF87E,0x0188,0xF87F,0x018B,
3318
  0xF880,0x018E,0xF881,0x0191,0xF882,0x0194,0xF883,0x0197,0xF884,0x019A,0xF885,0x019D,0xF886,0x01A0,0xF887,0x01A3,0xF888,0x01A6,0xF889,0x01A9,0xF88A,0x01AD,0xF88B,0x01B0,0xF88C,0x01B3,0xF88D,0x01B6,0xF88E,0x01B9,0xF88F,0x01BC,
3319
  0xF890,0x01C0,0xF891,0x01C3,0xF892,0x01C7,0xF893,0x01CB,0xF894,0x01CE,0xF895,0x01D1,0xF896,0x01D4,0xF897,0x01D7,0xF898,0x01DB,0xF899,0x01DF,0xF89A,0x01E2,0xF89B,0x01E5,0xF89C,0x01E8,0xF89D,0x01EB,0xF89E,0x01EE,0xF89F,0x01F1,
3320
  0xF8A0,0x01F4,0xF8A1,0x01F7,0xF8A2,0x01FA,0xF8A3,0x01FD,0xF8A4,0x0200,0xF8A5,0x0204,0xF8A6,0x0207,0xF8A7,0x020A,0xF8A8,0x020D,0xF8A9,0x0210,0xF8AA,0x0213,0xF8AB,0x0216,0xF8AC,0x0219,0xF8AD,0x021C,0xF8AE,0x021F,0xF8AF,0x0222,
3321
  0xF8B0,0x0225,0xF8B1,0x0228,0xF8B2,0x022B,0xF8B3,0x022E,0xF8B4,0x0231,0xF8B5,0x0234,0xF8B6,0x0237,0xF8B7,0x023A,0xF8B8,0x023D,0xF8B9,0x0241,0xF8BA,0x0244,0xF8BB,0x0247,0xF8BC,0x024A,0xF8BD,0x024D,0xF8BE,0x0250,0xF8BF,0x0254,
3322
  0xF8C0,0x0257,0xF8C1,0x025A,0xF8C2,0x025D,0xF8C3,0x0260,0xF8C4,0x0263,0xF8C5,0x0266,0xF8C6,0x0269,0xF8C7,0x026C,0xF8C8,0x026F,0xF8C9,0x0272,0xF8CA,0x0275,0xF8CB,0x0279,0xF8CC,0x027C,0xF8CD,0x027F,0xF8CE,0x0282,0xF8CF,0x0285,
3323
  0xF8D0,0x0288,0xF8D1,0x028B,0xF8D2,0x028E,0xF8D3,0x0291,0xF8D4,0x0294,0xF8D5,0x0297,0xF8D6,0x029A,0xF8D7,0x029D,0xF8D8,0x02A0,0xF8D9,0x02A3,0xF8DA,0x02A6,0xF8DB,0x02A9,0xF8DC,0x02AC,0xF8DD,0x02AF,0xF8DE,0x02B3,0xF8DF,0x02B6,
3324
  0xF8E0,0x02B9,0xF8E1,0x02BC,0xF8E2,0x02BF,0xF8E3,0x02C2,0xF8E4,0x02C6,0xF8E5,0x02C9,0xF8E6,0x02CC,0xF8E7,0x02CF,0xF8E8,0x02D2,0xF8E9,0x02D5,0xF8EA,0x02D8,0xF8EB,0x02DB,0xF8EC,0x02DE,0xF8ED,0x02E2,0xF8EE,0x02E5,0xF8EF,0x02E8,
3325
  0xF8F0,0x02EB,0xF8F1,0x02EF,0xF8F2,0x02F2,0xF8F3,0x02F5,0xF8F4,0x02F8,0xF8F5,0x02FB,0xF8F6,0x02FE,0xF8F7,0x0301,0xF8F8,0x0305,0xF8F9,0x0309,0xF8FA,0x030D,0xF8FB,0x0310,0xF8FC,0x0314,0xF8FD,0x0317,0xF8FE,0x031A,0xF8FF,0x031D,
3326
  0xF900,0x0320,0xF901,0x0323,0xF902,0x0326,0xF903,0x0329,0xF904,0x032C,0xF905,0x032F,0xF906,0x0332,0xF907,0x0336,0xF908,0x0339,0xF909,0x033C,0xF90A,0x033F,0xF90B,0x0342,0xF90C,0x0345,0xF90D,0x0348,0xF90E,0x034C,0xF90F,0x034F,
3327
  0xF910,0x0352,0xF911,0x0356,0xF912,0x035A,0xF913,0x035D,0xF914,0x0360,0xF915,0x0363,0xF916,0x0366,0xF917,0x0369,0xF918,0x036C,0xF919,0x036F,0xF91A,0x0372,0xF91B,0x0375,0xF91C,0x0379,0xF91D,0x037C,0xF91E,0x0380,0xF91F,0x0383,
3328
  0xF920,0x0387,0xF921,0x038A,0xF922,0x038D,0xF923,0x0390,0xF924,0x0394,0xF925,0x0397,0xF926,0x039A,0xF927,0x039E,0xF928,0x03A2,0xF929,0x03A5,0xF92A,0x03A8,0xF92B,0x03AB,0xF92C,0x03AE,0xF92D,0x03B1,0xF92E,0x03B4,0xF92F,0x03B7,
3329
  0xF930,0x03BA,0xF931,0x03BD,0xF932,0x03C0,0xF933,0x03C3,0xF934,0x03C6,0xF935,0x03C9,0xF936,0x03CD,0xF937,0x03D0,0xF938,0x03D4,0xF939,0x03D7,0xF93A,0x03DB,0xF93B,0x03DE,0xF93C,0x03E2,0xF93D,0x03E6,0xF93E,0x03EA,0xF93F,0x03ED,
3330
  0xF940,0x03F0,0xF941,0x03F3,0xF942,0x03F7,0xF943,0x03FB,0xF944,0x03FF,0xF945,0x0403,0xF946,0x0406,0xF947,0x0409,0xF948,0x040C,0xF949,0x040F,0xF94A,0x0412,0xF94B,0x0415,0xF94C,0x0418,0xF94D,0x041B,0xF94E,0x041F,0xF94F,0x0422,
3331
  0xF950,0x0425,0xF951,0x0428,0xF952,0x042B,0xF953,0x042F,0xF954,0x0432,0xF955,0x0436,0xF956,0x043A,0xF957,0x043D,0xF958,0x0440,0xF959,0x0443,0xF95A,0x0446,0xF95B,0x0449,0xF95C,0x044C,0xF95D,0x0450,0xF95E,0x0454,0xF95F,0x0458,
3332
  0xF960,0x045B,0xF961,0x045E,0xF962,0x0462,0xF963,0x0465,0xF964,0x0468,0xF965,0x046B,0xF966,0x046F,0xF967,0x0472,0xF968,0x0475,0xF969,0x0478,0xF96A,0x047B,0xF96B,0x047E,0xF96C,0x0482,0xF96D,0x0485,0xF96E,0x0488,0xF96F,0x048B,
3333
  0xF970,0x048E,0xF971,0x0491,0xF972,0x0494,0xF973,0x0498,0xF974,0x049C,0xF975,0x049F,0xF976,0x04A3,0xF977,0x04A6,0xF978,0x04AA,0xF979,0x04AD,0xF97A,0x04B0,0xF97B,0x04B3,0xF97C,0x04B7,0xF97D,0x04BB,0xF97E,0x04BE,0xF97F,0x04C2,
3334
  0xF980,0x04C5,0xF981,0x04C9,0xF982,0x04CC,0xF983,0x04CF,0xF984,0x04D2,0xF985,0x04D5,0xF986,0x04D8,0xF987,0x04DB,0xF988,0x04DF,0xF989,0x04E3,0xF98A,0x04E7,0xF98B,0x04EB,0xF98C,0x04EE,0xF98D,0x04F1,0xF98E,0x04F4,0xF98F,0x04F7,
3335
  0xF990,0x04FA,0xF991,0x04FD,0xF992,0x0500,0xF993,0x0503,0xF994,0x0506,0xF995,0x0509,0xF996,0x050C,0xF997,0x050F,0xF998,0x0513,0xF999,0x0516,0xF99A,0x0519,0xF99B,0x051C,0xF99C,0x051F,0xF99D,0x0522,0xF99E,0x0525,0xF99F,0x0528,
3336
  0xF9A0,0x052B,0xF9A1,0x052E,0xF9A2,0x0531,0xF9A3,0x0534,0xF9A4,0x0537,0xF9A5,0x053B,0xF9A6,0x053F,0xF9A7,0x0543,0xF9A8,0x0546,0xF9A9,0x0549,0xF9AA,0x054C,0xF9AB,0x054F,0xF9AC,0x0553,0xF9AD,0x0556,0xF9AE,0x055A,0xF9AF,0x055D,
3337
  0xF9B0,0x0560,0xF9B1,0x0564,0xF9B2,0x0568,0xF9B3,0x056B,0xF9B4,0x056E,0xF9B5,0x0571,0xF9B6,0x0574,0xF9B7,0x0577,0xF9B8,0x057A,0xF9B9,0x057D,0xF9BA,0x0580,0xF9BB,0x0583,0xF9BC,0x0586,0xF9BD,0x0589,0xF9BE,0x058C,0xF9BF,0x058F,
3338
  0xF9C0,0x0592,0xF9C1,0x0595,0xF9C2,0x0598,0xF9C3,0x059B,0xF9C4,0x059E,0xF9C5,0x05A1,0xF9C6,0x05A5,0xF9C7,0x05A8,0xF9C8,0x05AB,0xF9C9,0x05AE,0xF9CA,0x05B1,0xF9CB,0x05B4,0xF9CC,0x05B8,0xF9CD,0x05BC,0xF9CE,0x05BF,0xF9CF,0x05C2,
3339
  0xF9D0,0x05C5,0xF9D1,0x05C8,0xF9D2,0x05CB,0xF9D3,0x05CE,0xF9D4,0x05D2,0xF9D5,0x05D5,0xF9D6,0x05D8,0xF9D7,0x05DB,0xF9D8,0x05DE,0xF9D9,0x05E2,0xF9DA,0x05E6,0xF9DB,0x05E9,0xF9DC,0x05EC,0xF9DD,0x05EF,0xF9DE,0x05F3,0xF9DF,0x05F6,
3340
  0xF9E0,0x05F9,0xF9E1,0x05FD,0xF9E2,0x0601,0xF9E3,0x0604,0xF9E4,0x0607,0xF9E5,0x060A,0xF9E6,0x060E,0xF9E7,0x0611,0xF9E8,0x0614,0xF9E9,0x0617,0xF9EA,0x061A,0xF9EB,0x061D,0xF9EC,0x0620,0xF9ED,0x0623,0xF9EE,0x0627,0xF9EF,0x062A,
3341
  0xF9F0,0x062D,0xF9F1,0x0630,0xF9F2,0x0634,0xF9F3,0x0637,0xF9F4,0x063A,0xF9F5,0x063D,0xF9F6,0x0640,0xF9F7,0x0644,0xF9F8,0x0648,0xF9F9,0x064B,0xF9FA,0x064E,0xF9FB,0x0651,0xF9FC,0x0655,0xF9FD,0x0658,0xF9FE,0x065C,0xF9FF,0x065F,
3342
  0xFA00,0x0662,0xFA01,0x0665,0xFA02,0x0669,0xFA03,0x066C,0xFA04,0x066F,0xFA05,0x0672,0xFA06,0x0675,0xFA07,0x0678,0xFA08,0x067B,0xFA09,0x067E,0xFA0A,0x0682,0xFA0B,0x0685,0xFA0C,0x0688,0xFA0D,0x068B,0xFA0E,0x068E,0xFA0F,0x0691,
3343
  0xFA10,0x0694,0xFA11,0x0698,0xFA12,0x069B,0xFA13,0x069F,0xFA14,0x06A3,0xFA15,0x06A7,0xFA16,0x06AA,0xFA17,0x06AD,0xFA18,0x06B0,0xFA19,0x06B3,0xFA1A,0x06B6,0xFA1B,0x06B9,0xFA1C,0x06BC,0xFA1D,0x06BF,0xFFFF,0x06C3,
3344
};
3345
#define mxDecompositionBufferCount 18
3346
3347
63.0M
#define mxSourceBufferCount 32
3348
3349
81.1M
#define mxHangulSBase 0xAC00
3350
21.9M
#define mxHangulSCount 11172
3351
476k
#define mxHangulLBase 0x1100
3352
119k
#define mxHangulLCount 19
3353
79.3M
#define mxHangulVBase 0x1161
3354
21.9M
#define mxHangulVCount 21
3355
79.1M
#define mxHangulTBase 0x11A7
3356
22.3M
#define mxHangulTCount 28
3357
357k
#define mxHangulNCount 588
3358
3359
static int fxCompareCombination(const void *p1, const void *p2);
3360
static int fxCompareComposition(const void *p1, const void *p2);
3361
static txInteger fxGetCombinationOrder(txInteger character);
3362
static txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount);
3363
static txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount);
3364
static txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible);
3365
static void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code);
3366
static void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer);
3367
static void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible);
3368
3369
int fxCompareCombination(const void *p1, const void *p2)
3370
519M
{
3371
519M
  txCombination* c1 = (txCombination*)p1;
3372
519M
  txCombination* c2 = (txCombination*)p2;
3373
519M
  if (c1->code + c1->count <= c2->code)
3374
337M
    return -1;
3375
182M
  if (c1->code >= c2->code + c2->count)
3376
181M
    return 1;
3377
1.37M
  return 0;
3378
182M
}
3379
3380
int fxCompareComposition(const void *p1, const void *p2)
3381
997M
{
3382
997M
  txU2 c1 = *((txU2*)p1);
3383
997M
  txU2 c2 = *((txU2*)p2);
3384
997M
  if (c1 < c2)
3385
643M
    return -1;
3386
354M
  if (c1 > c2)
3387
353M
    return 1;
3388
914k
  return 0;
3389
354M
}
3390
3391
txInteger fxGetCombinationOrder(txInteger character)
3392
60.4M
{
3393
60.4M
  txInteger count;
3394
60.4M
  txCombination *index, *it;
3395
60.4M
  txCombination combination;
3396
60.4M
  if (character < 0x10000) {
3397
60.2M
    count = mxCombinationCount0;
3398
60.2M
    index = (txCombination*)gxCombinationIndex0;
3399
60.2M
    combination.code = (txU2)character;
3400
60.2M
  }
3401
174k
  else {
3402
174k
    count = mxCombinationCount1;
3403
174k
    index = (txCombination*)gxCombinationIndex1;
3404
174k
    combination.code = (txU2)(character & 0xFFFF);
3405
174k
  }
3406
60.4M
  combination.count = 1;
3407
60.4M
  combination.order = 0;
3408
60.4M
  it = (txCombination*)c_bsearch(&combination, index, count, sizeof(txCombination), fxCompareCombination);
3409
60.4M
  if (it)
3410
1.37M
    return it->order;
3411
59.0M
  return 0;
3412
60.4M
}
3413
3414
txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount)
3415
56.7M
{
3416
56.7M
  txInteger count;
3417
56.7M
  txU2 *index, *data, code, *it;
3418
56.7M
  if (character < 0x10000) {
3419
56.5M
    count = mxCompositionCount0;
3420
56.5M
    index = (txU2*)gxCompositionIndex0;
3421
56.5M
    data = (txU2*)gxCompositionData0;
3422
56.5M
    code = (txU2)character;
3423
56.5M
  }
3424
174k
  else {
3425
174k
    count = mxCompositionCount1;
3426
174k
    index =(txU2*)gxCompositionIndex1;
3427
174k
    data = (txU2*)gxCompositionData1;
3428
174k
    code = (txU2)(character & 0xFFFF);
3429
174k
  }
3430
56.7M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3431
56.7M
  if (it) {
3432
475k
    *pairs = data + (it[1] << 1);
3433
475k
    *pairCount = it[3] - it[1];
3434
475k
    return 1;
3435
475k
  }
3436
56.2M
  return 0;
3437
56.7M
}
3438
3439
txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount)
3440
427k
{
3441
427k
  txU2 code, *it;
3442
427k
  txInteger plane;
3443
427k
  if (character < 0x10000) {
3444
426k
    code = (txU2)character;
3445
426k
    plane = 0;
3446
426k
  }
3447
326
  else {
3448
326
    code = (txU2)(character & 0xFFFF);
3449
326
    plane = 0x10000;
3450
326
  }
3451
427k
  it = (txU2*)c_bsearch(&code, pairs, pairCount, sizeof(txU2) << 1, fxCompareComposition);
3452
427k
  if (it)
3453
170k
    return ((txInteger)it[1]) | plane;
3454
256k
  return 0;
3455
427k
}
3456
3457
txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible)
3458
58.3M
{
3459
58.3M
  txInteger count;
3460
58.3M
  txU2 *index, code, *it;
3461
58.3M
  txString data;
3462
58.3M
  if (character < 0x10000) {
3463
58.1M
    count = mxDecompositionCount0;
3464
58.1M
    index = (txU2*)gxDecompositionIndex0;
3465
58.1M
    data = (txString)gxDecompositionData0;
3466
58.1M
    code = (txU2)character;
3467
58.1M
  }
3468
174k
  else if (character < 0x20000) {
3469
413
    count = mxDecompositionCount1;
3470
413
    index = (txU2*)gxDecompositionIndex1;
3471
413
    data = (txString)gxDecompositionData1;
3472
413
    code = (txU2)(character & 0xFFFF);
3473
413
  }
3474
173k
  else {
3475
173k
    count = mxDecompositionCount2;
3476
173k
    index = (txU2*)gxDecompositionIndex2;
3477
173k
    data = (txString)gxDecompositionData2;
3478
173k
    code = (txU2)(character & 0xFFFF);
3479
173k
  }
3480
58.3M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3481
58.3M
  if (it) {
3482
268k
    txInteger offset = it[1];
3483
268k
    txString p, q;
3484
268k
    txInteger* r;
3485
268k
    if (offset & 0x8000) {
3486
49.5k
      if (!compatible)
3487
48.7k
        return 0;
3488
767
      offset &= 0x7FFF;
3489
767
    }
3490
219k
    p = data + offset;
3491
219k
    q = p + ((it[3] & 0x7FFF) - offset);
3492
219k
    r = buffer;
3493
658k
    while (p < q)
3494
438k
      p = fxUTF8Decode(p, r++);
3495
219k
    return mxPtrDiff(r - buffer);
3496
268k
  }
3497
58.0M
  return 0;
3498
58.3M
}
3499
3500
void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code)
3501
58.4M
{
3502
58.4M
  txInteger resultLength = fxGetArrayBufferLength(the, buffer->slot);
3503
58.4M
  if (buffer->count == resultLength >> 2) {
3504
3.05M
    fxSetArrayBufferLength(the, the->stack, resultLength + 64);
3505
3.05M
    buffer->address = fxToArrayBuffer(the, the->stack);
3506
3.05M
  }
3507
58.4M
  if (at < buffer->count)
3508
97.1k
    c_memmove(buffer->address + at + 1, buffer->address + at, (buffer->count - at) << 2);
3509
58.4M
  buffer->address[at] = code;
3510
58.4M
  buffer->count++;
3511
58.4M
}
3512
3513
void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer)
3514
1.37M
{
3515
1.37M
  txInteger fromIndex = 1;
3516
1.37M
  txInteger toIndex = 1;
3517
1.37M
  if (buffer->count < 2)
3518
115k
    return;
3519
58.4M
  while (fromIndex < buffer->count) {
3520
57.2M
    txBoolean flag = 1;
3521
57.2M
    txInteger code = buffer->address[fromIndex];
3522
57.2M
    txU2* pairs;
3523
57.2M
    txInteger pairCount;
3524
57.2M
    txInteger pairFlag;
3525
57.2M
    if ((mxHangulVBase <= code) && (code < mxHangulVBase + mxHangulVCount))
3526
119k
      pairFlag = 3;
3527
57.0M
    else if ((mxHangulTBase <= code) && (code < mxHangulTBase + mxHangulTCount))
3528
371k
      pairFlag = 2;
3529
56.7M
    else
3530
56.7M
      pairFlag = fxGetCompositionPairs(code, &pairs, &pairCount);
3531
57.2M
    if (pairFlag) {
3532
966k
      txInteger order = fxGetCombinationOrder(code);
3533
966k
      txInteger starterIndex = toIndex - 1;
3534
1.01M
      while (starterIndex >= 0) {
3535
1.01M
        txInteger starterCode = buffer->address[starterIndex];
3536
1.01M
        txInteger starterOrder = fxGetCombinationOrder(starterCode);
3537
1.01M
        if (starterOrder == 0) {
3538
917k
          if (pairFlag == 3) {
3539
119k
            if ((mxHangulLBase <= starterCode) && (starterCode < mxHangulLBase + mxHangulLCount)) {
3540
119k
              starterCode -= mxHangulLBase;
3541
119k
              code -= mxHangulVBase;
3542
119k
              buffer->address[starterIndex] = mxHangulSBase + (starterCode * mxHangulNCount) + (code * mxHangulTCount);
3543
119k
              flag = 0;
3544
119k
            }
3545
119k
          }
3546
798k
          else if (pairFlag == 2) {
3547
371k
            if ((mxHangulSBase <= starterCode) && (starterCode < mxHangulSBase + mxHangulSCount) 
3548
118k
                && ((starterCode - mxHangulSBase) % mxHangulTCount == 0)) {
3549
118k
              buffer->address[starterIndex] = starterCode + code - mxHangulTBase;
3550
118k
              flag = 0;
3551
118k
            }
3552
371k
          }
3553
427k
          else {
3554
427k
            starterCode = fxGetCompositionStarterCode(starterCode, pairs, pairCount);
3555
427k
            if (starterCode) {
3556
170k
              buffer->address[starterIndex] = starterCode;
3557
170k
              flag = 0;
3558
170k
            }
3559
427k
          }
3560
917k
          break;
3561
917k
        }
3562
97.2k
        if (starterOrder >= order)
3563
48.6k
          break;
3564
48.5k
        starterIndex--;
3565
48.5k
      }
3566
966k
    }
3567
57.2M
    if (flag) {
3568
56.7M
      buffer->address[toIndex] = code;
3569
56.7M
      toIndex++;
3570
56.7M
    }
3571
57.2M
    fromIndex++;
3572
57.2M
  }
3573
1.25M
  buffer->count = toIndex;
3574
1.25M
}
3575
3576
void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible)
3577
2.61M
{
3578
2.61M
  txInteger i;
3579
61.0M
  for (i = 0; i < c; i++) {
3580
58.4M
    txInteger code = source[i];
3581
58.4M
    if ((mxHangulSBase <= code) && (code < mxHangulSBase + mxHangulSCount)) {
3582
119k
      txInteger sIndex = code - mxHangulSBase;
3583
119k
      txInteger lIndex = sIndex / mxHangulNCount;
3584
119k
      txInteger vIndex = (sIndex % mxHangulNCount) / mxHangulTCount;
3585
119k
      txInteger tIndex = sIndex % mxHangulTCount;
3586
119k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulLBase + lIndex);
3587
119k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulVBase + vIndex);
3588
119k
      if (tIndex > 0)
3589
118k
        fxInsertDecomposition(the, buffer, buffer->count, mxHangulTBase + tIndex);
3590
119k
      buffer->starterIndex = buffer->count;
3591
119k
    }
3592
58.3M
    else {
3593
58.3M
      txInteger decompositionBuffer[mxDecompositionBufferCount];
3594
58.3M
      txInteger decompositionCount = fxGetDecompositionBuffer(code, decompositionBuffer, compatible);
3595
58.3M
      if (decompositionCount == 0) {
3596
58.1M
        txInteger order = fxGetCombinationOrder(code);
3597
58.1M
        if (order == 0) {
3598
57.6M
          fxInsertDecomposition(the, buffer, buffer->count, code);
3599
57.6M
          buffer->starterIndex = buffer->count;
3600
57.6M
        }
3601
476k
        else {
3602
476k
          txInteger bufferIndex = buffer->count - 1;
3603
476k
          txInteger starterIndex = buffer->starterIndex - 1;
3604
670k
          while (bufferIndex > starterIndex) {
3605
326k
            txInteger starterCode = buffer->address[bufferIndex];
3606
326k
            txInteger starterOrder = fxGetCombinationOrder(starterCode);
3607
326k
            if (starterOrder <= order) {
3608
132k
              fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3609
132k
              break;
3610
132k
            }
3611
194k
            bufferIndex--;
3612
194k
          }
3613
476k
          if (bufferIndex == starterIndex)
3614
344k
            fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3615
476k
        }
3616
58.1M
      }
3617
219k
      else
3618
219k
        fxNormalizeDecomposition(the, buffer, decompositionBuffer, decompositionCount, compatible);
3619
58.3M
    }
3620
58.4M
  }
3621
2.61M
}
3622
3623
void fxNormalizeString(txMachine* the, txSlot* string, txFlag form)
3624
1.37M
{
3625
1.37M
  txNormalizeBuffer _buffer;
3626
1.37M
  txNormalizeBuffer* buffer = &_buffer;
3627
1.37M
  txInteger source[mxSourceBufferCount];
3628
1.37M
  txString p;
3629
3630
1.37M
  mxPushUndefined();
3631
1.37M
  buffer->slot = the->stack;
3632
1.37M
  buffer->address = fxArrayBuffer(the, the->stack, C_NULL, 64, 0x7FFFFFFF);
3633
1.37M
  buffer->count = 0;
3634
1.37M
  buffer->starterIndex = 0;
3635
3636
1.37M
  p = string->value.string;
3637
2.50M
  for (;;) {
3638
2.50M
    txInteger* sourceAddress = source;
3639
2.50M
    txInteger sourceIndex = 0;
3640
60.5M
    while (sourceIndex < mxSourceBufferCount) {
3641
59.3M
      p = mxStringByteDecode(p, sourceAddress);
3642
59.3M
      if (*sourceAddress == C_EOF)
3643
1.37M
        break;
3644
58.0M
      sourceAddress++;
3645
58.0M
      sourceIndex++;
3646
58.0M
    }
3647
2.50M
    if (sourceIndex) {
3648
2.39M
      txInteger offset = mxPtrDiff(p - string->value.string);
3649
2.39M
      fxNormalizeDecomposition(the, buffer, source, sourceIndex, form & 1);
3650
2.39M
      p = string->value.string + offset;
3651
2.39M
    }
3652
2.50M
    if (sourceIndex < mxSourceBufferCount)
3653
1.37M
      break;
3654
2.50M
  }
3655
1.37M
  if (form & 2)
3656
1.37M
    fxNormalizeComposition(the, buffer);
3657
1.37M
  if (buffer->count) {
3658
1.25M
    txInteger resultIndex;
3659
1.25M
    txInteger stringLength = 0;
3660
59.3M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3661
58.0M
      stringLength += mxStringByteLength(buffer->address[resultIndex]);
3662
1.25M
    stringLength++;
3663
1.25M
    p = string->value.string = fxNewChunk(the, stringLength);
3664
1.25M
    buffer->address = fxToArrayBuffer(the, the->stack);
3665
59.3M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3666
58.0M
      p = mxStringByteEncode(p, buffer->address[resultIndex]);
3667
1.25M
    *p = 0;
3668
1.25M
  }
3669
  
3670
1.37M
  mxPop();
3671
1.37M
}
3672
3673
#endif