Merge pull request #544 from svick/missing-awaits
[mono.git] / mcs / class / corlib / Test / System / CharCategoryTest.cs
1 //
2 // CharCategoryTest.cs
3 //
4 // Author:
5 //      Atsushi Enomoto <atsushi@ximian.com>
6 //
7 // (C)2004 Novell Inc.
8 //
9 // Brute force tests for Char.IsXXX() static methods.
10 // The result string is generated by the short program, which ran under MS.NET.
11 // (See the bottom of this file.)
12 //
13
14 using NUnit.Framework;
15 using System;
16 using System.IO;
17 using System.Reflection;
18
19 namespace MonoTests.System
20 {
21         public delegate bool ComparisonMethod (char c);
22
23         [TestFixture]
24         public class CharCategoryTest 
25         {
26                 private void CompareWithDump (ComparisonMethod cm, string dump, bool testTrue)
27                 {
28                         string testDump = CharCategoryUtils.GenerateDump (cm, testTrue);
29
30 //                      string filename = Assembly.GetAssembly (typeof (Char)).Location + "/resources/" + dumpfile;
31 //                      StreamReader sr = new StreamReader (filename);
32 //                      dump = sr.ReadToEnd ();
33 //                      sr.Close ();
34                         Assert.AreEqual (dump, testDump);
35                 }
36
37                 [Test]
38                 public void IsControl ()
39                 {
40                         CompareWithDump (new ComparisonMethod (Char.IsControl), controls, true);
41                 }
42
43                 [Test]
44                 public void IsDigit ()
45                 {
46                         CompareWithDump (new ComparisonMethod (Char.IsDigit), digits, true);
47                 }
48
49                 [Test]
50                 [Ignore ("The dump file is huge, so avoided this test way.")]
51                 public void IsLetter ()
52                 {
53                         CompareWithDump (new ComparisonMethod (Char.IsLetter), letters, false);
54                 }
55
56                 [Test]
57                 [Ignore ("The dump file is huge, so avoided this test way.")]
58                 public void IsLetterOrDigit ()
59                 {
60                         CompareWithDump (new ComparisonMethod (Char.IsLetterOrDigit), letterOrDigits, false);
61                 }
62
63                 [Test]
64                 public void IsLower ()
65                 {
66                         CompareWithDump (new ComparisonMethod (Char.IsLower), lowerChars, true);
67                 }
68
69                 [Test]
70                 public void IsNumber ()
71                 {
72                         CompareWithDump (new ComparisonMethod (Char.IsNumber), numbers, true);
73                 }
74
75                 [Test]
76                 public void IsPunctuation ()
77                 {
78                         CompareWithDump (new ComparisonMethod (Char.IsPunctuation), puncts, true);
79                 }
80
81                 [Test]
82                 public void IsSeparator ()
83                 {
84                         CompareWithDump (new ComparisonMethod (Char.IsSeparator), separators, true);
85                 }
86
87                 [Test]
88                 public void IsSurrogate ()
89                 {
90                         CompareWithDump (new ComparisonMethod (Char.IsSurrogate), surrogateChars, true);
91                 }
92
93                 [Test]
94                 public void IsSymbol ()
95                 {
96                         CompareWithDump (new ComparisonMethod (Char.IsSymbol), symbolChars, true);
97                 }
98
99                 [Test]
100                 public void IsUpper ()
101                 {
102                         CompareWithDump (new ComparisonMethod (Char.IsUpper), upperChars, true);
103                 }
104
105                 [Test]
106                 public void IsWhiteSpace ()
107                 {
108                         CompareWithDump (new ComparisonMethod (Char.IsWhiteSpace), whitespaceChars, true);
109                 }
110
111 #if NET_4_0
112                 string controls = "0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 "
113                 + "13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 7f 80 81 82 83 84 "
114                 + "85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 "
115                 + "98 99 9a 9b 9c 9d 9e 9f found 65 chars.";
116
117                 string digits = "30 31 32 33 34 35 36 37 38 39 660 661 662 "
118                 + "663 664 665 666 667 668 669 6f0 6f1 6f2 6f3 6f4 6f5 6f6 "
119                 + "6f7 6f8 6f9 7c0 7c1 7c2 7c3 7c4 7c5 7c6 7c7 7c8 7c9 966 "
120                 + "967 968 969 96a 96b 96c 96d 96e 96f 9e6 9e7 9e8 9e9 9ea "
121                 + "9eb 9ec 9ed 9ee 9ef a66 a67 a68 a69 a6a a6b a6c a6d a6e "
122                 + "a6f ae6 ae7 ae8 ae9 aea aeb aec aed aee aef b66 b67 b68 "
123                 + "b69 b6a b6b b6c b6d b6e b6f be6 be7 be8 be9 bea beb bec "
124                 + "bed bee bef c66 c67 c68 c69 c6a c6b c6c c6d c6e c6f ce6 "
125                 + "ce7 ce8 ce9 cea ceb cec ced cee cef d66 d67 d68 d69 d6a "
126                 + "d6b d6c d6d d6e d6f e50 e51 e52 e53 e54 e55 e56 e57 e58 "
127                 + "e59 ed0 ed1 ed2 ed3 ed4 ed5 ed6 ed7 ed8 ed9 f20 f21 f22 "
128                 + "f23 f24 f25 f26 f27 f28 f29 1040 1041 1042 1043 1044 1045 "
129                 + "1046 1047 1048 1049 1090 1091 1092 1093 1094 1095 1096 "
130                 + "1097 1098 1099 17e0 17e1 17e2 17e3 17e4 17e5 17e6 17e7 "
131                 + "17e8 17e9 1810 1811 1812 1813 1814 1815 1816 1817 1818 "
132                 + "1819 1946 1947 1948 1949 194a 194b 194c 194d 194e 194f "
133                 + "19d0 19d1 19d2 19d3 19d4 19d5 19d6 19d7 19d8 19d9 1b50 "
134                 + "1b51 1b52 1b53 1b54 1b55 1b56 1b57 1b58 1b59 1bb0 1bb1 "
135                 + "1bb2 1bb3 1bb4 1bb5 1bb6 1bb7 1bb8 1bb9 1c40 1c41 1c42 "
136                 + "1c43 1c44 1c45 1c46 1c47 1c48 1c49 1c50 1c51 1c52 1c53 "
137                 + "1c54 1c55 1c56 1c57 1c58 1c59 a620 a621 a622 a623 a624 "
138                 + "a625 a626 a627 a628 a629 a8d0 a8d1 a8d2 a8d3 a8d4 a8d5 "
139                 + "a8d6 a8d7 a8d8 a8d9 a900 a901 a902 a903 a904 a905 a906 "
140                 + "a907 a908 a909 aa50 aa51 aa52 aa53 aa54 aa55 aa56 aa57 "
141                 + "aa58 aa59 ff10 ff11 ff12 ff13 ff14 ff15 ff16 ff17 ff18 "
142                 + "ff19 found 310 chars.";
143
144                 string lowerChars = "61 62 63 64 65 66 67 68 69 6a 6b 6c 6d "
145                 + "6e 6f 70 71 72 73 74 75 76 77 78 79 7a aa b5 ba df e0 e1 "
146                 + "e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 "
147                 + "f5 f6 f8 f9 fa fb fc fd fe ff 101 103 105 107 109 10b 10d "
148                 + "10f 111 113 115 117 119 11b 11d 11f 121 123 125 127 129 "
149                 + "12b 12d 12f 131 133 135 137 138 13a 13c 13e 140 142 144 "
150                 + "146 148 149 14b 14d 14f 151 153 155 157 159 15b 15d 15f "
151                 + "161 163 165 167 169 16b 16d 16f 171 173 175 177 17a 17c "
152                 + "17e 17f 180 183 185 188 18c 18d 192 195 199 19a 19b 19e "
153                 + "1a1 1a3 1a5 1a8 1aa 1ab 1ad 1b0 1b4 1b6 1b9 1ba 1bd 1be "
154                 + "1bf 1c6 1c9 1cc 1ce 1d0 1d2 1d4 1d6 1d8 1da 1dc 1dd 1df "
155                 + "1e1 1e3 1e5 1e7 1e9 1eb 1ed 1ef 1f0 1f3 1f5 1f9 1fb 1fd "
156                 + "1ff 201 203 205 207 209 20b 20d 20f 211 213 215 217 219 "
157                 + "21b 21d 21f 221 223 225 227 229 22b 22d 22f 231 233 234 "
158                 + "235 236 237 238 239 23c 23f 240 242 247 249 24b 24d 24f "
159                 + "250 251 252 253 254 255 256 257 258 259 25a 25b 25c 25d "
160                 + "25e 25f 260 261 262 263 264 265 266 267 268 269 26a 26b "
161                 + "26c 26d 26e 26f 270 271 272 273 274 275 276 277 278 279 "
162                 + "27a 27b 27c 27d 27e 27f 280 281 282 283 284 285 286 287 "
163                 + "288 289 28a 28b 28c 28d 28e 28f 290 291 292 293 295 296 "
164                 + "297 298 299 29a 29b 29c 29d 29e 29f 2a0 2a1 2a2 2a3 2a4 "
165                 + "2a5 2a6 2a7 2a8 2a9 2aa 2ab 2ac 2ad 2ae 2af 371 373 377 "
166                 + "37b 37c 37d 390 3ac 3ad 3ae 3af 3b0 3b1 3b2 3b3 3b4 3b5 "
167                 + "3b6 3b7 3b8 3b9 3ba 3bb 3bc 3bd 3be 3bf 3c0 3c1 3c2 3c3 "
168                 + "3c4 3c5 3c6 3c7 3c8 3c9 3ca 3cb 3cc 3cd 3ce 3d0 3d1 3d5 "
169                 + "3d6 3d7 3d9 3db 3dd 3df 3e1 3e3 3e5 3e7 3e9 3eb 3ed 3ef "
170                 + "3f0 3f1 3f2 3f3 3f5 3f8 3fb 3fc 430 431 432 433 434 435 "
171                 + "436 437 438 439 43a 43b 43c 43d 43e 43f 440 441 442 443 "
172                 + "444 445 446 447 448 449 44a 44b 44c 44d 44e 44f 450 451 "
173                 + "452 453 454 455 456 457 458 459 45a 45b 45c 45d 45e 45f "
174                 + "461 463 465 467 469 46b 46d 46f 471 473 475 477 479 47b "
175                 + "47d 47f 481 48b 48d 48f 491 493 495 497 499 49b 49d 49f "
176                 + "4a1 4a3 4a5 4a7 4a9 4ab 4ad 4af 4b1 4b3 4b5 4b7 4b9 4bb "
177                 + "4bd 4bf 4c2 4c4 4c6 4c8 4ca 4cc 4ce 4cf 4d1 4d3 4d5 4d7 "
178                 + "4d9 4db 4dd 4df 4e1 4e3 4e5 4e7 4e9 4eb 4ed 4ef 4f1 4f3 "
179                 + "4f5 4f7 4f9 4fb 4fd 4ff 501 503 505 507 509 50b 50d 50f "
180                 + "511 513 515 517 519 51b 51d 51f 521 523 561 562 563 564 "
181                 + "565 566 567 568 569 56a 56b 56c 56d 56e 56f 570 571 572 "
182                 + "573 574 575 576 577 578 579 57a 57b 57c 57d 57e 57f 580 "
183                 + "581 582 583 584 585 586 587 1d00 1d01 1d02 1d03 1d04 1d05 "
184                 + "1d06 1d07 1d08 1d09 1d0a 1d0b 1d0c 1d0d 1d0e 1d0f 1d10 "
185                 + "1d11 1d12 1d13 1d14 1d15 1d16 1d17 1d18 1d19 1d1a 1d1b "
186                 + "1d1c 1d1d 1d1e 1d1f 1d20 1d21 1d22 1d23 1d24 1d25 1d26 "
187                 + "1d27 1d28 1d29 1d2a 1d2b 1d62 1d63 1d64 1d65 1d66 1d67 "
188                 + "1d68 1d69 1d6a 1d6b 1d6c 1d6d 1d6e 1d6f 1d70 1d71 1d72 "
189                 + "1d73 1d74 1d75 1d76 1d77 1d79 1d7a 1d7b 1d7c 1d7d 1d7e "
190                 + "1d7f 1d80 1d81 1d82 1d83 1d84 1d85 1d86 1d87 1d88 1d89 "
191                 + "1d8a 1d8b 1d8c 1d8d 1d8e 1d8f 1d90 1d91 1d92 1d93 1d94 "
192                 + "1d95 1d96 1d97 1d98 1d99 1d9a 1e01 1e03 1e05 1e07 1e09 "
193                 + "1e0b 1e0d 1e0f 1e11 1e13 1e15 1e17 1e19 1e1b 1e1d 1e1f "
194                 + "1e21 1e23 1e25 1e27 1e29 1e2b 1e2d 1e2f 1e31 1e33 1e35 "
195                 + "1e37 1e39 1e3b 1e3d 1e3f 1e41 1e43 1e45 1e47 1e49 1e4b "
196                 + "1e4d 1e4f 1e51 1e53 1e55 1e57 1e59 1e5b 1e5d 1e5f 1e61 "
197                 + "1e63 1e65 1e67 1e69 1e6b 1e6d 1e6f 1e71 1e73 1e75 1e77 "
198                 + "1e79 1e7b 1e7d 1e7f 1e81 1e83 1e85 1e87 1e89 1e8b 1e8d "
199                 + "1e8f 1e91 1e93 1e95 1e96 1e97 1e98 1e99 1e9a 1e9b 1e9c "
200                 + "1e9d 1e9f 1ea1 1ea3 1ea5 1ea7 1ea9 1eab 1ead 1eaf 1eb1 "
201                 + "1eb3 1eb5 1eb7 1eb9 1ebb 1ebd 1ebf 1ec1 1ec3 1ec5 1ec7 "
202                 + "1ec9 1ecb 1ecd 1ecf 1ed1 1ed3 1ed5 1ed7 1ed9 1edb 1edd "
203                 + "1edf 1ee1 1ee3 1ee5 1ee7 1ee9 1eeb 1eed 1eef 1ef1 1ef3 "
204                 + "1ef5 1ef7 1ef9 1efb 1efd 1eff 1f00 1f01 1f02 1f03 1f04 "
205                 + "1f05 1f06 1f07 1f10 1f11 1f12 1f13 1f14 1f15 1f20 1f21 "
206                 + "1f22 1f23 1f24 1f25 1f26 1f27 1f30 1f31 1f32 1f33 1f34 "
207                 + "1f35 1f36 1f37 1f40 1f41 1f42 1f43 1f44 1f45 1f50 1f51 "
208                 + "1f52 1f53 1f54 1f55 1f56 1f57 1f60 1f61 1f62 1f63 1f64 "
209                 + "1f65 1f66 1f67 1f70 1f71 1f72 1f73 1f74 1f75 1f76 1f77 "
210                 + "1f78 1f79 1f7a 1f7b 1f7c 1f7d 1f80 1f81 1f82 1f83 1f84 "
211                 + "1f85 1f86 1f87 1f90 1f91 1f92 1f93 1f94 1f95 1f96 1f97 "
212                 + "1fa0 1fa1 1fa2 1fa3 1fa4 1fa5 1fa6 1fa7 1fb0 1fb1 1fb2 "
213                 + "1fb3 1fb4 1fb6 1fb7 1fbe 1fc2 1fc3 1fc4 1fc6 1fc7 1fd0 "
214                 + "1fd1 1fd2 1fd3 1fd6 1fd7 1fe0 1fe1 1fe2 1fe3 1fe4 1fe5 "
215                 + "1fe6 1fe7 1ff2 1ff3 1ff4 1ff6 1ff7 2071 207f 210a 210e "
216                 + "210f 2113 212f 2134 2139 213c 213d 2146 2147 2148 2149 "
217                 + "214e 2184 2c30 2c31 2c32 2c33 2c34 2c35 2c36 2c37 2c38 "
218                 + "2c39 2c3a 2c3b 2c3c 2c3d 2c3e 2c3f 2c40 2c41 2c42 2c43 "
219                 + "2c44 2c45 2c46 2c47 2c48 2c49 2c4a 2c4b 2c4c 2c4d 2c4e "
220                 + "2c4f 2c50 2c51 2c52 2c53 2c54 2c55 2c56 2c57 2c58 2c59 "
221                 + "2c5a 2c5b 2c5c 2c5d 2c5e 2c61 2c65 2c66 2c68 2c6a 2c6c "
222                 + "2c71 2c73 2c74 2c76 2c77 2c78 2c79 2c7a 2c7b 2c7c 2c81 "
223                 + "2c83 2c85 2c87 2c89 2c8b 2c8d 2c8f 2c91 2c93 2c95 2c97 "
224                 + "2c99 2c9b 2c9d 2c9f 2ca1 2ca3 2ca5 2ca7 2ca9 2cab 2cad "
225                 + "2caf 2cb1 2cb3 2cb5 2cb7 2cb9 2cbb 2cbd 2cbf 2cc1 2cc3 "
226                 + "2cc5 2cc7 2cc9 2ccb 2ccd 2ccf 2cd1 2cd3 2cd5 2cd7 2cd9 "
227                 + "2cdb 2cdd 2cdf 2ce1 2ce3 2ce4 2d00 2d01 2d02 2d03 2d04 "
228                 + "2d05 2d06 2d07 2d08 2d09 2d0a 2d0b 2d0c 2d0d 2d0e 2d0f "
229                 + "2d10 2d11 2d12 2d13 2d14 2d15 2d16 2d17 2d18 2d19 2d1a "
230                 + "2d1b 2d1c 2d1d 2d1e 2d1f 2d20 2d21 2d22 2d23 2d24 2d25 "
231                 + "a641 a643 a645 a647 a649 a64b a64d a64f a651 a653 a655 "
232                 + "a657 a659 a65b a65d a65f a663 a665 a667 a669 a66b a66d "
233                 + "a681 a683 a685 a687 a689 a68b a68d a68f a691 a693 a695 "
234                 + "a697 a723 a725 a727 a729 a72b a72d a72f a730 a731 a733 "
235                 + "a735 a737 a739 a73b a73d a73f a741 a743 a745 a747 a749 "
236                 + "a74b a74d a74f a751 a753 a755 a757 a759 a75b a75d a75f "
237                 + "a761 a763 a765 a767 a769 a76b a76d a76f a771 a772 a773 "
238                 + "a774 a775 a776 a777 a778 a77a a77c a77f a781 a783 a785 "
239                 + "a787 a78c fb00 fb01 fb02 fb03 fb04 fb05 fb06 fb13 fb14 "
240                 + "fb15 fb16 fb17 ff41 ff42 ff43 ff44 ff45 ff46 ff47 ff48 "
241                 + "ff49 ff4a ff4b ff4c ff4d ff4e ff4f ff50 ff51 ff52 ff53 "
242                 + "ff54 ff55 ff56 ff57 ff58 ff59 ff5a found 1216 chars.";
243
244                 string numbers = "30 31 32 33 34 35 36 37 38 39 b2 b3 b9 bc "
245                 + "bd be 660 661 662 663 664 665 666 667 668 669 6f0 6f1 6f2 "
246                 + "6f3 6f4 6f5 6f6 6f7 6f8 6f9 7c0 7c1 7c2 7c3 7c4 7c5 7c6 "
247                 + "7c7 7c8 7c9 966 967 968 969 96a 96b 96c 96d 96e 96f 9e6 "
248                 + "9e7 9e8 9e9 9ea 9eb 9ec 9ed 9ee 9ef 9f4 9f5 9f6 9f7 9f8 "
249                 + "9f9 a66 a67 a68 a69 a6a a6b a6c a6d a6e a6f ae6 ae7 ae8 "
250                 + "ae9 aea aeb aec aed aee aef b66 b67 b68 b69 b6a b6b b6c "
251                 + "b6d b6e b6f be6 be7 be8 be9 bea beb bec bed bee bef bf0 "
252                 + "bf1 bf2 c66 c67 c68 c69 c6a c6b c6c c6d c6e c6f c78 c79 "
253                 + "c7a c7b c7c c7d c7e ce6 ce7 ce8 ce9 cea ceb cec ced cee "
254                 + "cef d66 d67 d68 d69 d6a d6b d6c d6d d6e d6f d70 d71 d72 "
255                 + "d73 d74 d75 e50 e51 e52 e53 e54 e55 e56 e57 e58 e59 ed0 "
256                 + "ed1 ed2 ed3 ed4 ed5 ed6 ed7 ed8 ed9 f20 f21 f22 f23 f24 "
257                 + "f25 f26 f27 f28 f29 f2a f2b f2c f2d f2e f2f f30 f31 f32 "
258                 + "f33 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1090 "
259                 + "1091 1092 1093 1094 1095 1096 1097 1098 1099 1369 136a "
260                 + "136b 136c 136d 136e 136f 1370 1371 1372 1373 1374 1375 "
261                 + "1376 1377 1378 1379 137a 137b 137c 16ee 16ef 16f0 17e0 "
262                 + "17e1 17e2 17e3 17e4 17e5 17e6 17e7 17e8 17e9 17f0 17f1 "
263                 + "17f2 17f3 17f4 17f5 17f6 17f7 17f8 17f9 1810 1811 1812 "
264                 + "1813 1814 1815 1816 1817 1818 1819 1946 1947 1948 1949 "
265                 + "194a 194b 194c 194d 194e 194f 19d0 19d1 19d2 19d3 19d4 "
266                 + "19d5 19d6 19d7 19d8 19d9 1b50 1b51 1b52 1b53 1b54 1b55 "
267                 + "1b56 1b57 1b58 1b59 1bb0 1bb1 1bb2 1bb3 1bb4 1bb5 1bb6 "
268                 + "1bb7 1bb8 1bb9 1c40 1c41 1c42 1c43 1c44 1c45 1c46 1c47 "
269                 + "1c48 1c49 1c50 1c51 1c52 1c53 1c54 1c55 1c56 1c57 1c58 "
270                 + "1c59 2070 2074 2075 2076 2077 2078 2079 2080 2081 2082 "
271                 + "2083 2084 2085 2086 2087 2088 2089 2153 2154 2155 2156 "
272                 + "2157 2158 2159 215a 215b 215c 215d 215e 215f 2160 2161 "
273                 + "2162 2163 2164 2165 2166 2167 2168 2169 216a 216b 216c "
274                 + "216d 216e 216f 2170 2171 2172 2173 2174 2175 2176 2177 "
275                 + "2178 2179 217a 217b 217c 217d 217e 217f 2180 2181 2182 "
276                 + "2185 2186 2187 2188 2460 2461 2462 2463 2464 2465 2466 "
277                 + "2467 2468 2469 246a 246b 246c 246d 246e 246f 2470 2471 "
278                 + "2472 2473 2474 2475 2476 2477 2478 2479 247a 247b 247c "
279                 + "247d 247e 247f 2480 2481 2482 2483 2484 2485 2486 2487 "
280                 + "2488 2489 248a 248b 248c 248d 248e 248f 2490 2491 2492 "
281                 + "2493 2494 2495 2496 2497 2498 2499 249a 249b 24ea 24eb "
282                 + "24ec 24ed 24ee 24ef 24f0 24f1 24f2 24f3 24f4 24f5 24f6 "
283                 + "24f7 24f8 24f9 24fa 24fb 24fc 24fd 24fe 24ff 2776 2777 "
284                 + "2778 2779 277a 277b 277c 277d 277e 277f 2780 2781 2782 "
285                 + "2783 2784 2785 2786 2787 2788 2789 278a 278b 278c 278d "
286                 + "278e 278f 2790 2791 2792 2793 2cfd 3007 3021 3022 3023 "
287                 + "3024 3025 3026 3027 3028 3029 3038 3039 303a 3192 3193 "
288                 + "3194 3195 3220 3221 3222 3223 3224 3225 3226 3227 3228 "
289                 + "3229 3251 3252 3253 3254 3255 3256 3257 3258 3259 325a "
290                 + "325b 325c 325d 325e 325f 3280 3281 3282 3283 3284 3285 "
291                 + "3286 3287 3288 3289 32b1 32b2 32b3 32b4 32b5 32b6 32b7 "
292                 + "32b8 32b9 32ba 32bb 32bc 32bd 32be 32bf a620 a621 a622 "
293                 + "a623 a624 a625 a626 a627 a628 a629 a8d0 a8d1 a8d2 a8d3 "
294                 + "a8d4 a8d5 a8d6 a8d7 a8d8 a8d9 a900 a901 a902 a903 a904 "
295                 + "a905 a906 a907 a908 a909 aa50 aa51 aa52 aa53 aa54 aa55 "
296                 + "aa56 aa57 aa58 aa59 ff10 ff11 ff12 ff13 ff14 ff15 ff16 "
297                 + "ff17 ff18 ff19 found 630 chars.";
298
299                 string puncts = "21 22 23 25 26 27 28 29 2a 2c 2d 2e 2f 3a 3b "
300                 + "3f 40 5b 5c 5d 5f 7b 7d a1 ab ad b7 bb bf 37e 387 55a 55b "
301                 + "55c 55d 55e 55f 589 58a 5be 5c0 5c3 5c6 5f3 5f4 609 60a "
302                 + "60c 60d 61b 61e 61f 66a 66b 66c 66d 6d4 700 701 702 703 "
303                 + "704 705 706 707 708 709 70a 70b 70c 70d 7f7 7f8 7f9 964 "
304                 + "965 970 df4 e4f e5a e5b f04 f05 f06 f07 f08 f09 f0a f0b "
305                 + "f0c f0d f0e f0f f10 f11 f12 f3a f3b f3c f3d f85 fd0 fd1 "
306                 + "fd2 fd3 fd4 104a 104b 104c 104d 104e 104f 10fb 1361 1362 "
307                 + "1363 1364 1365 1366 1367 1368 166d 166e 169b 169c 16eb "
308                 + "16ec 16ed 1735 1736 17d4 17d5 17d6 17d8 17d9 17da 1800 "
309                 + "1801 1802 1803 1804 1805 1806 1807 1808 1809 180a 1944 "
310                 + "1945 19de 19df 1a1e 1a1f 1b5a 1b5b 1b5c 1b5d 1b5e 1b5f "
311                 + "1b60 1c3b 1c3c 1c3d 1c3e 1c3f 1c7e 1c7f 2010 2011 2012 "
312                 + "2013 2014 2015 2016 2017 2018 2019 201a 201b 201c 201d "
313                 + "201e 201f 2020 2021 2022 2023 2024 2025 2026 2027 2030 "
314                 + "2031 2032 2033 2034 2035 2036 2037 2038 2039 203a 203b "
315                 + "203c 203d 203e 203f 2040 2041 2042 2043 2045 2046 2047 "
316                 + "2048 2049 204a 204b 204c 204d 204e 204f 2050 2051 2053 "
317                 + "2054 2055 2056 2057 2058 2059 205a 205b 205c 205d 205e "
318                 + "207d 207e 208d 208e 2329 232a 2768 2769 276a 276b 276c "
319                 + "276d 276e 276f 2770 2771 2772 2773 2774 2775 27c5 27c6 "
320                 + "27e6 27e7 27e8 27e9 27ea 27eb 27ec 27ed 27ee 27ef 2983 "
321                 + "2984 2985 2986 2987 2988 2989 298a 298b 298c 298d 298e "
322                 + "298f 2990 2991 2992 2993 2994 2995 2996 2997 2998 29d8 "
323                 + "29d9 29da 29db 29fc 29fd 2cf9 2cfa 2cfb 2cfc 2cfe 2cff "
324                 + "2e00 2e01 2e02 2e03 2e04 2e05 2e06 2e07 2e08 2e09 2e0a "
325                 + "2e0b 2e0c 2e0d 2e0e 2e0f 2e10 2e11 2e12 2e13 2e14 2e15 "
326                 + "2e16 2e17 2e18 2e19 2e1a 2e1b 2e1c 2e1d 2e1e 2e1f 2e20 "
327                 + "2e21 2e22 2e23 2e24 2e25 2e26 2e27 2e28 2e29 2e2a 2e2b "
328                 + "2e2c 2e2d 2e2e 2e30 3001 3002 3003 3008 3009 300a 300b "
329                 + "300c 300d 300e 300f 3010 3011 3014 3015 3016 3017 3018 "
330                 + "3019 301a 301b 301c 301d 301e 301f 3030 303d 30a0 30fb "
331                 + "a60d a60e a60f a673 a67e a874 a875 a876 a877 a8ce a8cf "
332                 + "a92e a92f a95f aa5c aa5d aa5e aa5f fd3e fd3f fe10 fe11 "
333                 + "fe12 fe13 fe14 fe15 fe16 fe17 fe18 fe19 fe30 fe31 fe32 "
334                 + "fe33 fe34 fe35 fe36 fe37 fe38 fe39 fe3a fe3b fe3c fe3d "
335                 + "fe3e fe3f fe40 fe41 fe42 fe43 fe44 fe45 fe46 fe47 fe48 "
336                 + "fe49 fe4a fe4b fe4c fe4d fe4e fe4f fe50 fe51 fe52 fe54 "
337                 + "fe55 fe56 fe57 fe58 fe59 fe5a fe5b fe5c fe5d fe5e fe5f "
338                 + "fe60 fe61 fe63 fe68 fe6a fe6b ff01 ff02 ff03 ff05 ff06 "
339                 + "ff07 ff08 ff09 ff0a ff0c ff0d ff0e ff0f ff1a ff1b ff1f "
340                 + "ff20 ff3b ff3c ff3d ff3f ff5b ff5d ff5f ff60 ff61 ff62 "
341                 + "ff63 ff64 ff65 found 492 chars.";
342
343                 string separators = "20 a0 1680 180e 2000 2001 2002 2003 2004 "
344                 + "2005 2006 2007 2008 2009 200a 2028 2029 202f 205f 3000 "
345                 + "found 20 chars.";
346
347                 string surrogateChars = "d800 d801 d802 d803 d804 d805 d806 "
348                 + "d807 d808 d809 d80a d80b d80c d80d d80e d80f d810 d811 "
349                 + "d812 d813 d814 d815 d816 d817 d818 d819 d81a d81b d81c "
350                 + "d81d d81e d81f d820 d821 d822 d823 d824 d825 d826 d827 "
351                 + "d828 d829 d82a d82b d82c d82d d82e d82f d830 d831 d832 "
352                 + "d833 d834 d835 d836 d837 d838 d839 d83a d83b d83c d83d "
353                 + "d83e d83f d840 d841 d842 d843 d844 d845 d846 d847 d848 "
354                 + "d849 d84a d84b d84c d84d d84e d84f d850 d851 d852 d853 "
355                 + "d854 d855 d856 d857 d858 d859 d85a d85b d85c d85d d85e "
356                 + "d85f d860 d861 d862 d863 d864 d865 d866 d867 d868 d869 "
357                 + "d86a d86b d86c d86d d86e d86f d870 d871 d872 d873 d874 "
358                 + "d875 d876 d877 d878 d879 d87a d87b d87c d87d d87e d87f "
359                 + "d880 d881 d882 d883 d884 d885 d886 d887 d888 d889 d88a "
360                 + "d88b d88c d88d d88e d88f d890 d891 d892 d893 d894 d895 "
361                 + "d896 d897 d898 d899 d89a d89b d89c d89d d89e d89f d8a0 "
362                 + "d8a1 d8a2 d8a3 d8a4 d8a5 d8a6 d8a7 d8a8 d8a9 d8aa d8ab "
363                 + "d8ac d8ad d8ae d8af d8b0 d8b1 d8b2 d8b3 d8b4 d8b5 d8b6 "
364                 + "d8b7 d8b8 d8b9 d8ba d8bb d8bc d8bd d8be d8bf d8c0 d8c1 "
365                 + "d8c2 d8c3 d8c4 d8c5 d8c6 d8c7 d8c8 d8c9 d8ca d8cb d8cc "
366                 + "d8cd d8ce d8cf d8d0 d8d1 d8d2 d8d3 d8d4 d8d5 d8d6 d8d7 "
367                 + "d8d8 d8d9 d8da d8db d8dc d8dd d8de d8df d8e0 d8e1 d8e2 "
368                 + "d8e3 d8e4 d8e5 d8e6 d8e7 d8e8 d8e9 d8ea d8eb d8ec d8ed "
369                 + "d8ee d8ef d8f0 d8f1 d8f2 d8f3 d8f4 d8f5 d8f6 d8f7 d8f8 "
370                 + "d8f9 d8fa d8fb d8fc d8fd d8fe d8ff d900 d901 d902 d903 "
371                 + "d904 d905 d906 d907 d908 d909 d90a d90b d90c d90d d90e "
372                 + "d90f d910 d911 d912 d913 d914 d915 d916 d917 d918 d919 "
373                 + "d91a d91b d91c d91d d91e d91f d920 d921 d922 d923 d924 "
374                 + "d925 d926 d927 d928 d929 d92a d92b d92c d92d d92e d92f "
375                 + "d930 d931 d932 d933 d934 d935 d936 d937 d938 d939 d93a "
376                 + "d93b d93c d93d d93e d93f d940 d941 d942 d943 d944 d945 "
377                 + "d946 d947 d948 d949 d94a d94b d94c d94d d94e d94f d950 "
378                 + "d951 d952 d953 d954 d955 d956 d957 d958 d959 d95a d95b "
379                 + "d95c d95d d95e d95f d960 d961 d962 d963 d964 d965 d966 "
380                 + "d967 d968 d969 d96a d96b d96c d96d d96e d96f d970 d971 "
381                 + "d972 d973 d974 d975 d976 d977 d978 d979 d97a d97b d97c "
382                 + "d97d d97e d97f d980 d981 d982 d983 d984 d985 d986 d987 "
383                 + "d988 d989 d98a d98b d98c d98d d98e d98f d990 d991 d992 "
384                 + "d993 d994 d995 d996 d997 d998 d999 d99a d99b d99c d99d "
385                 + "d99e d99f d9a0 d9a1 d9a2 d9a3 d9a4 d9a5 d9a6 d9a7 d9a8 "
386                 + "d9a9 d9aa d9ab d9ac d9ad d9ae d9af d9b0 d9b1 d9b2 d9b3 "
387                 + "d9b4 d9b5 d9b6 d9b7 d9b8 d9b9 d9ba d9bb d9bc d9bd d9be "
388                 + "d9bf d9c0 d9c1 d9c2 d9c3 d9c4 d9c5 d9c6 d9c7 d9c8 d9c9 "
389                 + "d9ca d9cb d9cc d9cd d9ce d9cf d9d0 d9d1 d9d2 d9d3 d9d4 "
390                 + "d9d5 d9d6 d9d7 d9d8 d9d9 d9da d9db d9dc d9dd d9de d9df "
391                 + "d9e0 d9e1 d9e2 d9e3 d9e4 d9e5 d9e6 d9e7 d9e8 d9e9 d9ea "
392                 + "d9eb d9ec d9ed d9ee d9ef d9f0 d9f1 d9f2 d9f3 d9f4 d9f5 "
393                 + "d9f6 d9f7 d9f8 d9f9 d9fa d9fb d9fc d9fd d9fe d9ff da00 "
394                 + "da01 da02 da03 da04 da05 da06 da07 da08 da09 da0a da0b "
395                 + "da0c da0d da0e da0f da10 da11 da12 da13 da14 da15 da16 "
396                 + "da17 da18 da19 da1a da1b da1c da1d da1e da1f da20 da21 "
397                 + "da22 da23 da24 da25 da26 da27 da28 da29 da2a da2b da2c "
398                 + "da2d da2e da2f da30 da31 da32 da33 da34 da35 da36 da37 "
399                 + "da38 da39 da3a da3b da3c da3d da3e da3f da40 da41 da42 "
400                 + "da43 da44 da45 da46 da47 da48 da49 da4a da4b da4c da4d "
401                 + "da4e da4f da50 da51 da52 da53 da54 da55 da56 da57 da58 "
402                 + "da59 da5a da5b da5c da5d da5e da5f da60 da61 da62 da63 "
403                 + "da64 da65 da66 da67 da68 da69 da6a da6b da6c da6d da6e "
404                 + "da6f da70 da71 da72 da73 da74 da75 da76 da77 da78 da79 "
405                 + "da7a da7b da7c da7d da7e da7f da80 da81 da82 da83 da84 "
406                 + "da85 da86 da87 da88 da89 da8a da8b da8c da8d da8e da8f "
407                 + "da90 da91 da92 da93 da94 da95 da96 da97 da98 da99 da9a "
408                 + "da9b da9c da9d da9e da9f daa0 daa1 daa2 daa3 daa4 daa5 "
409                 + "daa6 daa7 daa8 daa9 daaa daab daac daad daae daaf dab0 "
410                 + "dab1 dab2 dab3 dab4 dab5 dab6 dab7 dab8 dab9 daba dabb "
411                 + "dabc dabd dabe dabf dac0 dac1 dac2 dac3 dac4 dac5 dac6 "
412                 + "dac7 dac8 dac9 daca dacb dacc dacd dace dacf dad0 dad1 "
413                 + "dad2 dad3 dad4 dad5 dad6 dad7 dad8 dad9 dada dadb dadc "
414                 + "dadd dade dadf dae0 dae1 dae2 dae3 dae4 dae5 dae6 dae7 "
415                 + "dae8 dae9 daea daeb daec daed daee daef daf0 daf1 daf2 "
416                 + "daf3 daf4 daf5 daf6 daf7 daf8 daf9 dafa dafb dafc dafd "
417                 + "dafe daff db00 db01 db02 db03 db04 db05 db06 db07 db08 "
418                 + "db09 db0a db0b db0c db0d db0e db0f db10 db11 db12 db13 "
419                 + "db14 db15 db16 db17 db18 db19 db1a db1b db1c db1d db1e "
420                 + "db1f db20 db21 db22 db23 db24 db25 db26 db27 db28 db29 "
421                 + "db2a db2b db2c db2d db2e db2f db30 db31 db32 db33 db34 "
422                 + "db35 db36 db37 db38 db39 db3a db3b db3c db3d db3e db3f "
423                 + "db40 db41 db42 db43 db44 db45 db46 db47 db48 db49 db4a "
424                 + "db4b db4c db4d db4e db4f db50 db51 db52 db53 db54 db55 "
425                 + "db56 db57 db58 db59 db5a db5b db5c db5d db5e db5f db60 "
426                 + "db61 db62 db63 db64 db65 db66 db67 db68 db69 db6a db6b "
427                 + "db6c db6d db6e db6f db70 db71 db72 db73 db74 db75 db76 "
428                 + "db77 db78 db79 db7a db7b db7c db7d db7e db7f db80 db81 "
429                 + "db82 db83 db84 db85 db86 db87 db88 db89 db8a db8b db8c "
430                 + "db8d db8e db8f db90 db91 db92 db93 db94 db95 db96 db97 "
431                 + "db98 db99 db9a db9b db9c db9d db9e db9f dba0 dba1 dba2 "
432                 + "dba3 dba4 dba5 dba6 dba7 dba8 dba9 dbaa dbab dbac dbad "
433                 + "dbae dbaf dbb0 dbb1 dbb2 dbb3 dbb4 dbb5 dbb6 dbb7 dbb8 "
434                 + "dbb9 dbba dbbb dbbc dbbd dbbe dbbf dbc0 dbc1 dbc2 dbc3 "
435                 + "dbc4 dbc5 dbc6 dbc7 dbc8 dbc9 dbca dbcb dbcc dbcd dbce "
436                 + "dbcf dbd0 dbd1 dbd2 dbd3 dbd4 dbd5 dbd6 dbd7 dbd8 dbd9 "
437                 + "dbda dbdb dbdc dbdd dbde dbdf dbe0 dbe1 dbe2 dbe3 dbe4 "
438                 + "dbe5 dbe6 dbe7 dbe8 dbe9 dbea dbeb dbec dbed dbee dbef "
439                 + "dbf0 dbf1 dbf2 dbf3 dbf4 dbf5 dbf6 dbf7 dbf8 dbf9 dbfa "
440                 + "dbfb dbfc dbfd dbfe dbff dc00 dc01 dc02 dc03 dc04 dc05 "
441                 + "dc06 dc07 dc08 dc09 dc0a dc0b dc0c dc0d dc0e dc0f dc10 "
442                 + "dc11 dc12 dc13 dc14 dc15 dc16 dc17 dc18 dc19 dc1a dc1b "
443                 + "dc1c dc1d dc1e dc1f dc20 dc21 dc22 dc23 dc24 dc25 dc26 "
444                 + "dc27 dc28 dc29 dc2a dc2b dc2c dc2d dc2e dc2f dc30 dc31 "
445                 + "dc32 dc33 dc34 dc35 dc36 dc37 dc38 dc39 dc3a dc3b dc3c "
446                 + "dc3d dc3e dc3f dc40 dc41 dc42 dc43 dc44 dc45 dc46 dc47 "
447                 + "dc48 dc49 dc4a dc4b dc4c dc4d dc4e dc4f dc50 dc51 dc52 "
448                 + "dc53 dc54 dc55 dc56 dc57 dc58 dc59 dc5a dc5b dc5c dc5d "
449                 + "dc5e dc5f dc60 dc61 dc62 dc63 dc64 dc65 dc66 dc67 dc68 "
450                 + "dc69 dc6a dc6b dc6c dc6d dc6e dc6f dc70 dc71 dc72 dc73 "
451                 + "dc74 dc75 dc76 dc77 dc78 dc79 dc7a dc7b dc7c dc7d dc7e "
452                 + "dc7f dc80 dc81 dc82 dc83 dc84 dc85 dc86 dc87 dc88 dc89 "
453                 + "dc8a dc8b dc8c dc8d dc8e dc8f dc90 dc91 dc92 dc93 dc94 "
454                 + "dc95 dc96 dc97 dc98 dc99 dc9a dc9b dc9c dc9d dc9e dc9f "
455                 + "dca0 dca1 dca2 dca3 dca4 dca5 dca6 dca7 dca8 dca9 dcaa "
456                 + "dcab dcac dcad dcae dcaf dcb0 dcb1 dcb2 dcb3 dcb4 dcb5 "
457                 + "dcb6 dcb7 dcb8 dcb9 dcba dcbb dcbc dcbd dcbe dcbf dcc0 "
458                 + "dcc1 dcc2 dcc3 dcc4 dcc5 dcc6 dcc7 dcc8 dcc9 dcca dccb "
459                 + "dccc dccd dcce dccf dcd0 dcd1 dcd2 dcd3 dcd4 dcd5 dcd6 "
460                 + "dcd7 dcd8 dcd9 dcda dcdb dcdc dcdd dcde dcdf dce0 dce1 "
461                 + "dce2 dce3 dce4 dce5 dce6 dce7 dce8 dce9 dcea dceb dcec "
462                 + "dced dcee dcef dcf0 dcf1 dcf2 dcf3 dcf4 dcf5 dcf6 dcf7 "
463                 + "dcf8 dcf9 dcfa dcfb dcfc dcfd dcfe dcff dd00 dd01 dd02 "
464                 + "dd03 dd04 dd05 dd06 dd07 dd08 dd09 dd0a dd0b dd0c dd0d "
465                 + "dd0e dd0f dd10 dd11 dd12 dd13 dd14 dd15 dd16 dd17 dd18 "
466                 + "dd19 dd1a dd1b dd1c dd1d dd1e dd1f dd20 dd21 dd22 dd23 "
467                 + "dd24 dd25 dd26 dd27 dd28 dd29 dd2a dd2b dd2c dd2d dd2e "
468                 + "dd2f dd30 dd31 dd32 dd33 dd34 dd35 dd36 dd37 dd38 dd39 "
469                 + "dd3a dd3b dd3c dd3d dd3e dd3f dd40 dd41 dd42 dd43 dd44 "
470                 + "dd45 dd46 dd47 dd48 dd49 dd4a dd4b dd4c dd4d dd4e dd4f "
471                 + "dd50 dd51 dd52 dd53 dd54 dd55 dd56 dd57 dd58 dd59 dd5a "
472                 + "dd5b dd5c dd5d dd5e dd5f dd60 dd61 dd62 dd63 dd64 dd65 "
473                 + "dd66 dd67 dd68 dd69 dd6a dd6b dd6c dd6d dd6e dd6f dd70 "
474                 + "dd71 dd72 dd73 dd74 dd75 dd76 dd77 dd78 dd79 dd7a dd7b "
475                 + "dd7c dd7d dd7e dd7f dd80 dd81 dd82 dd83 dd84 dd85 dd86 "
476                 + "dd87 dd88 dd89 dd8a dd8b dd8c dd8d dd8e dd8f dd90 dd91 "
477                 + "dd92 dd93 dd94 dd95 dd96 dd97 dd98 dd99 dd9a dd9b dd9c "
478                 + "dd9d dd9e dd9f dda0 dda1 dda2 dda3 dda4 dda5 dda6 dda7 "
479                 + "dda8 dda9 ddaa ddab ddac ddad ddae ddaf ddb0 ddb1 ddb2 "
480                 + "ddb3 ddb4 ddb5 ddb6 ddb7 ddb8 ddb9 ddba ddbb ddbc ddbd "
481                 + "ddbe ddbf ddc0 ddc1 ddc2 ddc3 ddc4 ddc5 ddc6 ddc7 ddc8 "
482                 + "ddc9 ddca ddcb ddcc ddcd ddce ddcf ddd0 ddd1 ddd2 ddd3 "
483                 + "ddd4 ddd5 ddd6 ddd7 ddd8 ddd9 ddda dddb dddc dddd ddde "
484                 + "dddf dde0 dde1 dde2 dde3 dde4 dde5 dde6 dde7 dde8 dde9 "
485                 + "ddea ddeb ddec dded ddee ddef ddf0 ddf1 ddf2 ddf3 ddf4 "
486                 + "ddf5 ddf6 ddf7 ddf8 ddf9 ddfa ddfb ddfc ddfd ddfe ddff "
487                 + "de00 de01 de02 de03 de04 de05 de06 de07 de08 de09 de0a "
488                 + "de0b de0c de0d de0e de0f de10 de11 de12 de13 de14 de15 "
489                 + "de16 de17 de18 de19 de1a de1b de1c de1d de1e de1f de20 "
490                 + "de21 de22 de23 de24 de25 de26 de27 de28 de29 de2a de2b "
491                 + "de2c de2d de2e de2f de30 de31 de32 de33 de34 de35 de36 "
492                 + "de37 de38 de39 de3a de3b de3c de3d de3e de3f de40 de41 "
493                 + "de42 de43 de44 de45 de46 de47 de48 de49 de4a de4b de4c "
494                 + "de4d de4e de4f de50 de51 de52 de53 de54 de55 de56 de57 "
495                 + "de58 de59 de5a de5b de5c de5d de5e de5f de60 de61 de62 "
496                 + "de63 de64 de65 de66 de67 de68 de69 de6a de6b de6c de6d "
497                 + "de6e de6f de70 de71 de72 de73 de74 de75 de76 de77 de78 "
498                 + "de79 de7a de7b de7c de7d de7e de7f de80 de81 de82 de83 "
499                 + "de84 de85 de86 de87 de88 de89 de8a de8b de8c de8d de8e "
500                 + "de8f de90 de91 de92 de93 de94 de95 de96 de97 de98 de99 "
501                 + "de9a de9b de9c de9d de9e de9f dea0 dea1 dea2 dea3 dea4 "
502                 + "dea5 dea6 dea7 dea8 dea9 deaa deab deac dead deae deaf "
503                 + "deb0 deb1 deb2 deb3 deb4 deb5 deb6 deb7 deb8 deb9 deba "
504                 + "debb debc debd debe debf dec0 dec1 dec2 dec3 dec4 dec5 "
505                 + "dec6 dec7 dec8 dec9 deca decb decc decd dece decf ded0 "
506                 + "ded1 ded2 ded3 ded4 ded5 ded6 ded7 ded8 ded9 deda dedb "
507                 + "dedc dedd dede dedf dee0 dee1 dee2 dee3 dee4 dee5 dee6 "
508                 + "dee7 dee8 dee9 deea deeb deec deed deee deef def0 def1 "
509                 + "def2 def3 def4 def5 def6 def7 def8 def9 defa defb defc "
510                 + "defd defe deff df00 df01 df02 df03 df04 df05 df06 df07 "
511                 + "df08 df09 df0a df0b df0c df0d df0e df0f df10 df11 df12 "
512                 + "df13 df14 df15 df16 df17 df18 df19 df1a df1b df1c df1d "
513                 + "df1e df1f df20 df21 df22 df23 df24 df25 df26 df27 df28 "
514                 + "df29 df2a df2b df2c df2d df2e df2f df30 df31 df32 df33 "
515                 + "df34 df35 df36 df37 df38 df39 df3a df3b df3c df3d df3e "
516                 + "df3f df40 df41 df42 df43 df44 df45 df46 df47 df48 df49 "
517                 + "df4a df4b df4c df4d df4e df4f df50 df51 df52 df53 df54 "
518                 + "df55 df56 df57 df58 df59 df5a df5b df5c df5d df5e df5f "
519                 + "df60 df61 df62 df63 df64 df65 df66 df67 df68 df69 df6a "
520                 + "df6b df6c df6d df6e df6f df70 df71 df72 df73 df74 df75 "
521                 + "df76 df77 df78 df79 df7a df7b df7c df7d df7e df7f df80 "
522                 + "df81 df82 df83 df84 df85 df86 df87 df88 df89 df8a df8b "
523                 + "df8c df8d df8e df8f df90 df91 df92 df93 df94 df95 df96 "
524                 + "df97 df98 df99 df9a df9b df9c df9d df9e df9f dfa0 dfa1 "
525                 + "dfa2 dfa3 dfa4 dfa5 dfa6 dfa7 dfa8 dfa9 dfaa dfab dfac "
526                 + "dfad dfae dfaf dfb0 dfb1 dfb2 dfb3 dfb4 dfb5 dfb6 dfb7 "
527                 + "dfb8 dfb9 dfba dfbb dfbc dfbd dfbe dfbf dfc0 dfc1 dfc2 "
528                 + "dfc3 dfc4 dfc5 dfc6 dfc7 dfc8 dfc9 dfca dfcb dfcc dfcd "
529                 + "dfce dfcf dfd0 dfd1 dfd2 dfd3 dfd4 dfd5 dfd6 dfd7 dfd8 "
530                 + "dfd9 dfda dfdb dfdc dfdd dfde dfdf dfe0 dfe1 dfe2 dfe3 "
531                 + "dfe4 dfe5 dfe6 dfe7 dfe8 dfe9 dfea dfeb dfec dfed dfee "
532                 + "dfef dff0 dff1 dff2 dff3 dff4 dff5 dff6 dff7 dff8 dff9 "
533                 + "dffa dffb dffc dffd dffe dfff found 2048 chars.";
534
535                 string symbolChars = "24 2b 3c 3d 3e 5e 60 7c 7e a2 a3 a4 a5 "
536                 + "a6 a7 a8 a9 ac ae af b0 b1 b4 b6 b8 d7 f7 2c2 2c3 2c4 2c5 "
537                 + "2d2 2d3 2d4 2d5 2d6 2d7 2d8 2d9 2da 2db 2dc 2dd 2de 2df "
538                 + "2e5 2e6 2e7 2e8 2e9 2ea 2eb 2ed 2ef 2f0 2f1 2f2 2f3 2f4 "
539                 + "2f5 2f6 2f7 2f8 2f9 2fa 2fb 2fc 2fd 2fe 2ff 375 384 385 "
540                 + "3f6 482 606 607 608 60b 60e 60f 6e9 6fd 6fe 7f6 9f2 9f3 "
541                 + "9fa af1 b70 bf3 bf4 bf5 bf6 bf7 bf8 bf9 bfa c7f cf1 cf2 "
542                 + "d79 e3f f01 f02 f03 f13 f14 f15 f16 f17 f1a f1b f1c f1d "
543                 + "f1e f1f f34 f36 f38 fbe fbf fc0 fc1 fc2 fc3 fc4 fc5 fc7 "
544                 + "fc8 fc9 fca fcb fcc fce fcf 109e 109f 1360 1390 1391 1392 "
545                 + "1393 1394 1395 1396 1397 1398 1399 17db 1940 19e0 19e1 "
546                 + "19e2 19e3 19e4 19e5 19e6 19e7 19e8 19e9 19ea 19eb 19ec "
547                 + "19ed 19ee 19ef 19f0 19f1 19f2 19f3 19f4 19f5 19f6 19f7 "
548                 + "19f8 19f9 19fa 19fb 19fc 19fd 19fe 19ff 1b61 1b62 1b63 "
549                 + "1b64 1b65 1b66 1b67 1b68 1b69 1b6a 1b74 1b75 1b76 1b77 "
550                 + "1b78 1b79 1b7a 1b7b 1b7c 1fbd 1fbf 1fc0 1fc1 1fcd 1fce "
551                 + "1fcf 1fdd 1fde 1fdf 1fed 1fee 1fef 1ffd 1ffe 2044 2052 "
552                 + "207a 207b 207c 208a 208b 208c 20a0 20a1 20a2 20a3 20a4 "
553                 + "20a5 20a6 20a7 20a8 20a9 20aa 20ab 20ac 20ad 20ae 20af "
554                 + "20b0 20b1 20b2 20b3 20b4 20b5 2100 2101 2103 2104 2105 "
555                 + "2106 2108 2109 2114 2116 2117 2118 211e 211f 2120 2121 "
556                 + "2122 2123 2125 2127 2129 212e 213a 213b 2140 2141 2142 "
557                 + "2143 2144 214a 214b 214c 214d 214f 2190 2191 2192 2193 "
558                 + "2194 2195 2196 2197 2198 2199 219a 219b 219c 219d 219e "
559                 + "219f 21a0 21a1 21a2 21a3 21a4 21a5 21a6 21a7 21a8 21a9 "
560                 + "21aa 21ab 21ac 21ad 21ae 21af 21b0 21b1 21b2 21b3 21b4 "
561                 + "21b5 21b6 21b7 21b8 21b9 21ba 21bb 21bc 21bd 21be 21bf "
562                 + "21c0 21c1 21c2 21c3 21c4 21c5 21c6 21c7 21c8 21c9 21ca "
563                 + "21cb 21cc 21cd 21ce 21cf 21d0 21d1 21d2 21d3 21d4 21d5 "
564                 + "21d6 21d7 21d8 21d9 21da 21db 21dc 21dd 21de 21df 21e0 "
565                 + "21e1 21e2 21e3 21e4 21e5 21e6 21e7 21e8 21e9 21ea 21eb "
566                 + "21ec 21ed 21ee 21ef 21f0 21f1 21f2 21f3 21f4 21f5 21f6 "
567                 + "21f7 21f8 21f9 21fa 21fb 21fc 21fd 21fe 21ff 2200 2201 "
568                 + "2202 2203 2204 2205 2206 2207 2208 2209 220a 220b 220c "
569                 + "220d 220e 220f 2210 2211 2212 2213 2214 2215 2216 2217 "
570                 + "2218 2219 221a 221b 221c 221d 221e 221f 2220 2221 2222 "
571                 + "2223 2224 2225 2226 2227 2228 2229 222a 222b 222c 222d "
572                 + "222e 222f 2230 2231 2232 2233 2234 2235 2236 2237 2238 "
573                 + "2239 223a 223b 223c 223d 223e 223f 2240 2241 2242 2243 "
574                 + "2244 2245 2246 2247 2248 2249 224a 224b 224c 224d 224e "
575                 + "224f 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 "
576                 + "225a 225b 225c 225d 225e 225f 2260 2261 2262 2263 2264 "
577                 + "2265 2266 2267 2268 2269 226a 226b 226c 226d 226e 226f "
578                 + "2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 227a "
579                 + "227b 227c 227d 227e 227f 2280 2281 2282 2283 2284 2285 "
580                 + "2286 2287 2288 2289 228a 228b 228c 228d 228e 228f 2290 "
581                 + "2291 2292 2293 2294 2295 2296 2297 2298 2299 229a 229b "
582                 + "229c 229d 229e 229f 22a0 22a1 22a2 22a3 22a4 22a5 22a6 "
583                 + "22a7 22a8 22a9 22aa 22ab 22ac 22ad 22ae 22af 22b0 22b1 "
584                 + "22b2 22b3 22b4 22b5 22b6 22b7 22b8 22b9 22ba 22bb 22bc "
585                 + "22bd 22be 22bf 22c0 22c1 22c2 22c3 22c4 22c5 22c6 22c7 "
586                 + "22c8 22c9 22ca 22cb 22cc 22cd 22ce 22cf 22d0 22d1 22d2 "
587                 + "22d3 22d4 22d5 22d6 22d7 22d8 22d9 22da 22db 22dc 22dd "
588                 + "22de 22df 22e0 22e1 22e2 22e3 22e4 22e5 22e6 22e7 22e8 "
589                 + "22e9 22ea 22eb 22ec 22ed 22ee 22ef 22f0 22f1 22f2 22f3 "
590                 + "22f4 22f5 22f6 22f7 22f8 22f9 22fa 22fb 22fc 22fd 22fe "
591                 + "22ff 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 "
592                 + "230a 230b 230c 230d 230e 230f 2310 2311 2312 2313 2314 "
593                 + "2315 2316 2317 2318 2319 231a 231b 231c 231d 231e 231f "
594                 + "2320 2321 2322 2323 2324 2325 2326 2327 2328 232b 232c "
595                 + "232d 232e 232f 2330 2331 2332 2333 2334 2335 2336 2337 "
596                 + "2338 2339 233a 233b 233c 233d 233e 233f 2340 2341 2342 "
597                 + "2343 2344 2345 2346 2347 2348 2349 234a 234b 234c 234d "
598                 + "234e 234f 2350 2351 2352 2353 2354 2355 2356 2357 2358 "
599                 + "2359 235a 235b 235c 235d 235e 235f 2360 2361 2362 2363 "
600                 + "2364 2365 2366 2367 2368 2369 236a 236b 236c 236d 236e "
601                 + "236f 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 "
602                 + "237a 237b 237c 237d 237e 237f 2380 2381 2382 2383 2384 "
603                 + "2385 2386 2387 2388 2389 238a 238b 238c 238d 238e 238f "
604                 + "2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 239a "
605                 + "239b 239c 239d 239e 239f 23a0 23a1 23a2 23a3 23a4 23a5 "
606                 + "23a6 23a7 23a8 23a9 23aa 23ab 23ac 23ad 23ae 23af 23b0 "
607                 + "23b1 23b2 23b3 23b4 23b5 23b6 23b7 23b8 23b9 23ba 23bb "
608                 + "23bc 23bd 23be 23bf 23c0 23c1 23c2 23c3 23c4 23c5 23c6 "
609                 + "23c7 23c8 23c9 23ca 23cb 23cc 23cd 23ce 23cf 23d0 23d1 "
610                 + "23d2 23d3 23d4 23d5 23d6 23d7 23d8 23d9 23da 23db 23dc "
611                 + "23dd 23de 23df 23e0 23e1 23e2 23e3 23e4 23e5 23e6 23e7 "
612                 + "2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 240a "
613                 + "240b 240c 240d 240e 240f 2410 2411 2412 2413 2414 2415 "
614                 + "2416 2417 2418 2419 241a 241b 241c 241d 241e 241f 2420 "
615                 + "2421 2422 2423 2424 2425 2426 2440 2441 2442 2443 2444 "
616                 + "2445 2446 2447 2448 2449 244a 249c 249d 249e 249f 24a0 "
617                 + "24a1 24a2 24a3 24a4 24a5 24a6 24a7 24a8 24a9 24aa 24ab "
618                 + "24ac 24ad 24ae 24af 24b0 24b1 24b2 24b3 24b4 24b5 24b6 "
619                 + "24b7 24b8 24b9 24ba 24bb 24bc 24bd 24be 24bf 24c0 24c1 "
620                 + "24c2 24c3 24c4 24c5 24c6 24c7 24c8 24c9 24ca 24cb 24cc "
621                 + "24cd 24ce 24cf 24d0 24d1 24d2 24d3 24d4 24d5 24d6 24d7 "
622                 + "24d8 24d9 24da 24db 24dc 24dd 24de 24df 24e0 24e1 24e2 "
623                 + "24e3 24e4 24e5 24e6 24e7 24e8 24e9 2500 2501 2502 2503 "
624                 + "2504 2505 2506 2507 2508 2509 250a 250b 250c 250d 250e "
625                 + "250f 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 "
626                 + "251a 251b 251c 251d 251e 251f 2520 2521 2522 2523 2524 "
627                 + "2525 2526 2527 2528 2529 252a 252b 252c 252d 252e 252f "
628                 + "2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 253a "
629                 + "253b 253c 253d 253e 253f 2540 2541 2542 2543 2544 2545 "
630                 + "2546 2547 2548 2549 254a 254b 254c 254d 254e 254f 2550 "
631                 + "2551 2552 2553 2554 2555 2556 2557 2558 2559 255a 255b "
632                 + "255c 255d 255e 255f 2560 2561 2562 2563 2564 2565 2566 "
633                 + "2567 2568 2569 256a 256b 256c 256d 256e 256f 2570 2571 "
634                 + "2572 2573 2574 2575 2576 2577 2578 2579 257a 257b 257c "
635                 + "257d 257e 257f 2580 2581 2582 2583 2584 2585 2586 2587 "
636                 + "2588 2589 258a 258b 258c 258d 258e 258f 2590 2591 2592 "
637                 + "2593 2594 2595 2596 2597 2598 2599 259a 259b 259c 259d "
638                 + "259e 259f 25a0 25a1 25a2 25a3 25a4 25a5 25a6 25a7 25a8 "
639                 + "25a9 25aa 25ab 25ac 25ad 25ae 25af 25b0 25b1 25b2 25b3 "
640                 + "25b4 25b5 25b6 25b7 25b8 25b9 25ba 25bb 25bc 25bd 25be "
641                 + "25bf 25c0 25c1 25c2 25c3 25c4 25c5 25c6 25c7 25c8 25c9 "
642                 + "25ca 25cb 25cc 25cd 25ce 25cf 25d0 25d1 25d2 25d3 25d4 "
643                 + "25d5 25d6 25d7 25d8 25d9 25da 25db 25dc 25dd 25de 25df "
644                 + "25e0 25e1 25e2 25e3 25e4 25e5 25e6 25e7 25e8 25e9 25ea "
645                 + "25eb 25ec 25ed 25ee 25ef 25f0 25f1 25f2 25f3 25f4 25f5 "
646                 + "25f6 25f7 25f8 25f9 25fa 25fb 25fc 25fd 25fe 25ff 2600 "
647                 + "2601 2602 2603 2604 2605 2606 2607 2608 2609 260a 260b "
648                 + "260c 260d 260e 260f 2610 2611 2612 2613 2614 2615 2616 "
649                 + "2617 2618 2619 261a 261b 261c 261d 261e 261f 2620 2621 "
650                 + "2622 2623 2624 2625 2626 2627 2628 2629 262a 262b 262c "
651                 + "262d 262e 262f 2630 2631 2632 2633 2634 2635 2636 2637 "
652                 + "2638 2639 263a 263b 263c 263d 263e 263f 2640 2641 2642 "
653                 + "2643 2644 2645 2646 2647 2648 2649 264a 264b 264c 264d "
654                 + "264e 264f 2650 2651 2652 2653 2654 2655 2656 2657 2658 "
655                 + "2659 265a 265b 265c 265d 265e 265f 2660 2661 2662 2663 "
656                 + "2664 2665 2666 2667 2668 2669 266a 266b 266c 266d 266e "
657                 + "266f 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 "
658                 + "267a 267b 267c 267d 267e 267f 2680 2681 2682 2683 2684 "
659                 + "2685 2686 2687 2688 2689 268a 268b 268c 268d 268e 268f "
660                 + "2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 269a "
661                 + "269b 269c 269d 26a0 26a1 26a2 26a3 26a4 26a5 26a6 26a7 "
662                 + "26a8 26a9 26aa 26ab 26ac 26ad 26ae 26af 26b0 26b1 26b2 "
663                 + "26b3 26b4 26b5 26b6 26b7 26b8 26b9 26ba 26bb 26bc 26c0 "
664                 + "26c1 26c2 26c3 2701 2702 2703 2704 2706 2707 2708 2709 "
665                 + "270c 270d 270e 270f 2710 2711 2712 2713 2714 2715 2716 "
666                 + "2717 2718 2719 271a 271b 271c 271d 271e 271f 2720 2721 "
667                 + "2722 2723 2724 2725 2726 2727 2729 272a 272b 272c 272d "
668                 + "272e 272f 2730 2731 2732 2733 2734 2735 2736 2737 2738 "
669                 + "2739 273a 273b 273c 273d 273e 273f 2740 2741 2742 2743 "
670                 + "2744 2745 2746 2747 2748 2749 274a 274b 274d 274f 2750 "
671                 + "2751 2752 2756 2758 2759 275a 275b 275c 275d 275e 2761 "
672                 + "2762 2763 2764 2765 2766 2767 2794 2798 2799 279a 279b "
673                 + "279c 279d 279e 279f 27a0 27a1 27a2 27a3 27a4 27a5 27a6 "
674                 + "27a7 27a8 27a9 27aa 27ab 27ac 27ad 27ae 27af 27b1 27b2 "
675                 + "27b3 27b4 27b5 27b6 27b7 27b8 27b9 27ba 27bb 27bc 27bd "
676                 + "27be 27c0 27c1 27c2 27c3 27c4 27c7 27c8 27c9 27ca 27cc "
677                 + "27d0 27d1 27d2 27d3 27d4 27d5 27d6 27d7 27d8 27d9 27da "
678                 + "27db 27dc 27dd 27de 27df 27e0 27e1 27e2 27e3 27e4 27e5 "
679                 + "27f0 27f1 27f2 27f3 27f4 27f5 27f6 27f7 27f8 27f9 27fa "
680                 + "27fb 27fc 27fd 27fe 27ff 2800 2801 2802 2803 2804 2805 "
681                 + "2806 2807 2808 2809 280a 280b 280c 280d 280e 280f 2810 "
682                 + "2811 2812 2813 2814 2815 2816 2817 2818 2819 281a 281b "
683                 + "281c 281d 281e 281f 2820 2821 2822 2823 2824 2825 2826 "
684                 + "2827 2828 2829 282a 282b 282c 282d 282e 282f 2830 2831 "
685                 + "2832 2833 2834 2835 2836 2837 2838 2839 283a 283b 283c "
686                 + "283d 283e 283f 2840 2841 2842 2843 2844 2845 2846 2847 "
687                 + "2848 2849 284a 284b 284c 284d 284e 284f 2850 2851 2852 "
688                 + "2853 2854 2855 2856 2857 2858 2859 285a 285b 285c 285d "
689                 + "285e 285f 2860 2861 2862 2863 2864 2865 2866 2867 2868 "
690                 + "2869 286a 286b 286c 286d 286e 286f 2870 2871 2872 2873 "
691                 + "2874 2875 2876 2877 2878 2879 287a 287b 287c 287d 287e "
692                 + "287f 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 "
693                 + "288a 288b 288c 288d 288e 288f 2890 2891 2892 2893 2894 "
694                 + "2895 2896 2897 2898 2899 289a 289b 289c 289d 289e 289f "
695                 + "28a0 28a1 28a2 28a3 28a4 28a5 28a6 28a7 28a8 28a9 28aa "
696                 + "28ab 28ac 28ad 28ae 28af 28b0 28b1 28b2 28b3 28b4 28b5 "
697                 + "28b6 28b7 28b8 28b9 28ba 28bb 28bc 28bd 28be 28bf 28c0 "
698                 + "28c1 28c2 28c3 28c4 28c5 28c6 28c7 28c8 28c9 28ca 28cb "
699                 + "28cc 28cd 28ce 28cf 28d0 28d1 28d2 28d3 28d4 28d5 28d6 "
700                 + "28d7 28d8 28d9 28da 28db 28dc 28dd 28de 28df 28e0 28e1 "
701                 + "28e2 28e3 28e4 28e5 28e6 28e7 28e8 28e9 28ea 28eb 28ec "
702                 + "28ed 28ee 28ef 28f0 28f1 28f2 28f3 28f4 28f5 28f6 28f7 "
703                 + "28f8 28f9 28fa 28fb 28fc 28fd 28fe 28ff 2900 2901 2902 "
704                 + "2903 2904 2905 2906 2907 2908 2909 290a 290b 290c 290d "
705                 + "290e 290f 2910 2911 2912 2913 2914 2915 2916 2917 2918 "
706                 + "2919 291a 291b 291c 291d 291e 291f 2920 2921 2922 2923 "
707                 + "2924 2925 2926 2927 2928 2929 292a 292b 292c 292d 292e "
708                 + "292f 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 "
709                 + "293a 293b 293c 293d 293e 293f 2940 2941 2942 2943 2944 "
710                 + "2945 2946 2947 2948 2949 294a 294b 294c 294d 294e 294f "
711                 + "2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 295a "
712                 + "295b 295c 295d 295e 295f 2960 2961 2962 2963 2964 2965 "
713                 + "2966 2967 2968 2969 296a 296b 296c 296d 296e 296f 2970 "
714                 + "2971 2972 2973 2974 2975 2976 2977 2978 2979 297a 297b "
715                 + "297c 297d 297e 297f 2980 2981 2982 2999 299a 299b 299c "
716                 + "299d 299e 299f 29a0 29a1 29a2 29a3 29a4 29a5 29a6 29a7 "
717                 + "29a8 29a9 29aa 29ab 29ac 29ad 29ae 29af 29b0 29b1 29b2 "
718                 + "29b3 29b4 29b5 29b6 29b7 29b8 29b9 29ba 29bb 29bc 29bd "
719                 + "29be 29bf 29c0 29c1 29c2 29c3 29c4 29c5 29c6 29c7 29c8 "
720                 + "29c9 29ca 29cb 29cc 29cd 29ce 29cf 29d0 29d1 29d2 29d3 "
721                 + "29d4 29d5 29d6 29d7 29dc 29dd 29de 29df 29e0 29e1 29e2 "
722                 + "29e3 29e4 29e5 29e6 29e7 29e8 29e9 29ea 29eb 29ec 29ed "
723                 + "29ee 29ef 29f0 29f1 29f2 29f3 29f4 29f5 29f6 29f7 29f8 "
724                 + "29f9 29fa 29fb 29fe 29ff 2a00 2a01 2a02 2a03 2a04 2a05 "
725                 + "2a06 2a07 2a08 2a09 2a0a 2a0b 2a0c 2a0d 2a0e 2a0f 2a10 "
726                 + "2a11 2a12 2a13 2a14 2a15 2a16 2a17 2a18 2a19 2a1a 2a1b "
727                 + "2a1c 2a1d 2a1e 2a1f 2a20 2a21 2a22 2a23 2a24 2a25 2a26 "
728                 + "2a27 2a28 2a29 2a2a 2a2b 2a2c 2a2d 2a2e 2a2f 2a30 2a31 "
729                 + "2a32 2a33 2a34 2a35 2a36 2a37 2a38 2a39 2a3a 2a3b 2a3c "
730                 + "2a3d 2a3e 2a3f 2a40 2a41 2a42 2a43 2a44 2a45 2a46 2a47 "
731                 + "2a48 2a49 2a4a 2a4b 2a4c 2a4d 2a4e 2a4f 2a50 2a51 2a52 "
732                 + "2a53 2a54 2a55 2a56 2a57 2a58 2a59 2a5a 2a5b 2a5c 2a5d "
733                 + "2a5e 2a5f 2a60 2a61 2a62 2a63 2a64 2a65 2a66 2a67 2a68 "
734                 + "2a69 2a6a 2a6b 2a6c 2a6d 2a6e 2a6f 2a70 2a71 2a72 2a73 "
735                 + "2a74 2a75 2a76 2a77 2a78 2a79 2a7a 2a7b 2a7c 2a7d 2a7e "
736                 + "2a7f 2a80 2a81 2a82 2a83 2a84 2a85 2a86 2a87 2a88 2a89 "
737                 + "2a8a 2a8b 2a8c 2a8d 2a8e 2a8f 2a90 2a91 2a92 2a93 2a94 "
738                 + "2a95 2a96 2a97 2a98 2a99 2a9a 2a9b 2a9c 2a9d 2a9e 2a9f "
739                 + "2aa0 2aa1 2aa2 2aa3 2aa4 2aa5 2aa6 2aa7 2aa8 2aa9 2aaa "
740                 + "2aab 2aac 2aad 2aae 2aaf 2ab0 2ab1 2ab2 2ab3 2ab4 2ab5 "
741                 + "2ab6 2ab7 2ab8 2ab9 2aba 2abb 2abc 2abd 2abe 2abf 2ac0 "
742                 + "2ac1 2ac2 2ac3 2ac4 2ac5 2ac6 2ac7 2ac8 2ac9 2aca 2acb "
743                 + "2acc 2acd 2ace 2acf 2ad0 2ad1 2ad2 2ad3 2ad4 2ad5 2ad6 "
744                 + "2ad7 2ad8 2ad9 2ada 2adb 2adc 2add 2ade 2adf 2ae0 2ae1 "
745                 + "2ae2 2ae3 2ae4 2ae5 2ae6 2ae7 2ae8 2ae9 2aea 2aeb 2aec "
746                 + "2aed 2aee 2aef 2af0 2af1 2af2 2af3 2af4 2af5 2af6 2af7 "
747                 + "2af8 2af9 2afa 2afb 2afc 2afd 2afe 2aff 2b00 2b01 2b02 "
748                 + "2b03 2b04 2b05 2b06 2b07 2b08 2b09 2b0a 2b0b 2b0c 2b0d "
749                 + "2b0e 2b0f 2b10 2b11 2b12 2b13 2b14 2b15 2b16 2b17 2b18 "
750                 + "2b19 2b1a 2b1b 2b1c 2b1d 2b1e 2b1f 2b20 2b21 2b22 2b23 "
751                 + "2b24 2b25 2b26 2b27 2b28 2b29 2b2a 2b2b 2b2c 2b2d 2b2e "
752                 + "2b2f 2b30 2b31 2b32 2b33 2b34 2b35 2b36 2b37 2b38 2b39 "
753                 + "2b3a 2b3b 2b3c 2b3d 2b3e 2b3f 2b40 2b41 2b42 2b43 2b44 "
754                 + "2b45 2b46 2b47 2b48 2b49 2b4a 2b4b 2b4c 2b50 2b51 2b52 "
755                 + "2b53 2b54 2ce5 2ce6 2ce7 2ce8 2ce9 2cea 2e80 2e81 2e82 "
756                 + "2e83 2e84 2e85 2e86 2e87 2e88 2e89 2e8a 2e8b 2e8c 2e8d "
757                 + "2e8e 2e8f 2e90 2e91 2e92 2e93 2e94 2e95 2e96 2e97 2e98 "
758                 + "2e99 2e9b 2e9c 2e9d 2e9e 2e9f 2ea0 2ea1 2ea2 2ea3 2ea4 "
759                 + "2ea5 2ea6 2ea7 2ea8 2ea9 2eaa 2eab 2eac 2ead 2eae 2eaf "
760                 + "2eb0 2eb1 2eb2 2eb3 2eb4 2eb5 2eb6 2eb7 2eb8 2eb9 2eba "
761                 + "2ebb 2ebc 2ebd 2ebe 2ebf 2ec0 2ec1 2ec2 2ec3 2ec4 2ec5 "
762                 + "2ec6 2ec7 2ec8 2ec9 2eca 2ecb 2ecc 2ecd 2ece 2ecf 2ed0 "
763                 + "2ed1 2ed2 2ed3 2ed4 2ed5 2ed6 2ed7 2ed8 2ed9 2eda 2edb "
764                 + "2edc 2edd 2ede 2edf 2ee0 2ee1 2ee2 2ee3 2ee4 2ee5 2ee6 "
765                 + "2ee7 2ee8 2ee9 2eea 2eeb 2eec 2eed 2eee 2eef 2ef0 2ef1 "
766                 + "2ef2 2ef3 2f00 2f01 2f02 2f03 2f04 2f05 2f06 2f07 2f08 "
767                 + "2f09 2f0a 2f0b 2f0c 2f0d 2f0e 2f0f 2f10 2f11 2f12 2f13 "
768                 + "2f14 2f15 2f16 2f17 2f18 2f19 2f1a 2f1b 2f1c 2f1d 2f1e "
769                 + "2f1f 2f20 2f21 2f22 2f23 2f24 2f25 2f26 2f27 2f28 2f29 "
770                 + "2f2a 2f2b 2f2c 2f2d 2f2e 2f2f 2f30 2f31 2f32 2f33 2f34 "
771                 + "2f35 2f36 2f37 2f38 2f39 2f3a 2f3b 2f3c 2f3d 2f3e 2f3f "
772                 + "2f40 2f41 2f42 2f43 2f44 2f45 2f46 2f47 2f48 2f49 2f4a "
773                 + "2f4b 2f4c 2f4d 2f4e 2f4f 2f50 2f51 2f52 2f53 2f54 2f55 "
774                 + "2f56 2f57 2f58 2f59 2f5a 2f5b 2f5c 2f5d 2f5e 2f5f 2f60 "
775                 + "2f61 2f62 2f63 2f64 2f65 2f66 2f67 2f68 2f69 2f6a 2f6b "
776                 + "2f6c 2f6d 2f6e 2f6f 2f70 2f71 2f72 2f73 2f74 2f75 2f76 "
777                 + "2f77 2f78 2f79 2f7a 2f7b 2f7c 2f7d 2f7e 2f7f 2f80 2f81 "
778                 + "2f82 2f83 2f84 2f85 2f86 2f87 2f88 2f89 2f8a 2f8b 2f8c "
779                 + "2f8d 2f8e 2f8f 2f90 2f91 2f92 2f93 2f94 2f95 2f96 2f97 "
780                 + "2f98 2f99 2f9a 2f9b 2f9c 2f9d 2f9e 2f9f 2fa0 2fa1 2fa2 "
781                 + "2fa3 2fa4 2fa5 2fa6 2fa7 2fa8 2fa9 2faa 2fab 2fac 2fad "
782                 + "2fae 2faf 2fb0 2fb1 2fb2 2fb3 2fb4 2fb5 2fb6 2fb7 2fb8 "
783                 + "2fb9 2fba 2fbb 2fbc 2fbd 2fbe 2fbf 2fc0 2fc1 2fc2 2fc3 "
784                 + "2fc4 2fc5 2fc6 2fc7 2fc8 2fc9 2fca 2fcb 2fcc 2fcd 2fce "
785                 + "2fcf 2fd0 2fd1 2fd2 2fd3 2fd4 2fd5 2ff0 2ff1 2ff2 2ff3 "
786                 + "2ff4 2ff5 2ff6 2ff7 2ff8 2ff9 2ffa 2ffb 3004 3012 3013 "
787                 + "3020 3036 3037 303e 303f 309b 309c 3190 3191 3196 3197 "
788                 + "3198 3199 319a 319b 319c 319d 319e 319f 31c0 31c1 31c2 "
789                 + "31c3 31c4 31c5 31c6 31c7 31c8 31c9 31ca 31cb 31cc 31cd "
790                 + "31ce 31cf 31d0 31d1 31d2 31d3 31d4 31d5 31d6 31d7 31d8 "
791                 + "31d9 31da 31db 31dc 31dd 31de 31df 31e0 31e1 31e2 31e3 "
792                 + "3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 320a "
793                 + "320b 320c 320d 320e 320f 3210 3211 3212 3213 3214 3215 "
794                 + "3216 3217 3218 3219 321a 321b 321c 321d 321e 322a 322b "
795                 + "322c 322d 322e 322f 3230 3231 3232 3233 3234 3235 3236 "
796                 + "3237 3238 3239 323a 323b 323c 323d 323e 323f 3240 3241 "
797                 + "3242 3243 3250 3260 3261 3262 3263 3264 3265 3266 3267 "
798                 + "3268 3269 326a 326b 326c 326d 326e 326f 3270 3271 3272 "
799                 + "3273 3274 3275 3276 3277 3278 3279 327a 327b 327c 327d "
800                 + "327e 327f 328a 328b 328c 328d 328e 328f 3290 3291 3292 "
801                 + "3293 3294 3295 3296 3297 3298 3299 329a 329b 329c 329d "
802                 + "329e 329f 32a0 32a1 32a2 32a3 32a4 32a5 32a6 32a7 32a8 "
803                 + "32a9 32aa 32ab 32ac 32ad 32ae 32af 32b0 32c0 32c1 32c2 "
804                 + "32c3 32c4 32c5 32c6 32c7 32c8 32c9 32ca 32cb 32cc 32cd "
805                 + "32ce 32cf 32d0 32d1 32d2 32d3 32d4 32d5 32d6 32d7 32d8 "
806                 + "32d9 32da 32db 32dc 32dd 32de 32df 32e0 32e1 32e2 32e3 "
807                 + "32e4 32e5 32e6 32e7 32e8 32e9 32ea 32eb 32ec 32ed 32ee "
808                 + "32ef 32f0 32f1 32f2 32f3 32f4 32f5 32f6 32f7 32f8 32f9 "
809                 + "32fa 32fb 32fc 32fd 32fe 3300 3301 3302 3303 3304 3305 "
810                 + "3306 3307 3308 3309 330a 330b 330c 330d 330e 330f 3310 "
811                 + "3311 3312 3313 3314 3315 3316 3317 3318 3319 331a 331b "
812                 + "331c 331d 331e 331f 3320 3321 3322 3323 3324 3325 3326 "
813                 + "3327 3328 3329 332a 332b 332c 332d 332e 332f 3330 3331 "
814                 + "3332 3333 3334 3335 3336 3337 3338 3339 333a 333b 333c "
815                 + "333d 333e 333f 3340 3341 3342 3343 3344 3345 3346 3347 "
816                 + "3348 3349 334a 334b 334c 334d 334e 334f 3350 3351 3352 "
817                 + "3353 3354 3355 3356 3357 3358 3359 335a 335b 335c 335d "
818                 + "335e 335f 3360 3361 3362 3363 3364 3365 3366 3367 3368 "
819                 + "3369 336a 336b 336c 336d 336e 336f 3370 3371 3372 3373 "
820                 + "3374 3375 3376 3377 3378 3379 337a 337b 337c 337d 337e "
821                 + "337f 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 "
822                 + "338a 338b 338c 338d 338e 338f 3390 3391 3392 3393 3394 "
823                 + "3395 3396 3397 3398 3399 339a 339b 339c 339d 339e 339f "
824                 + "33a0 33a1 33a2 33a3 33a4 33a5 33a6 33a7 33a8 33a9 33aa "
825                 + "33ab 33ac 33ad 33ae 33af 33b0 33b1 33b2 33b3 33b4 33b5 "
826                 + "33b6 33b7 33b8 33b9 33ba 33bb 33bc 33bd 33be 33bf 33c0 "
827                 + "33c1 33c2 33c3 33c4 33c5 33c6 33c7 33c8 33c9 33ca 33cb "
828                 + "33cc 33cd 33ce 33cf 33d0 33d1 33d2 33d3 33d4 33d5 33d6 "
829                 + "33d7 33d8 33d9 33da 33db 33dc 33dd 33de 33df 33e0 33e1 "
830                 + "33e2 33e3 33e4 33e5 33e6 33e7 33e8 33e9 33ea 33eb 33ec "
831                 + "33ed 33ee 33ef 33f0 33f1 33f2 33f3 33f4 33f5 33f6 33f7 "
832                 + "33f8 33f9 33fa 33fb 33fc 33fd 33fe 33ff 4dc0 4dc1 4dc2 "
833                 + "4dc3 4dc4 4dc5 4dc6 4dc7 4dc8 4dc9 4dca 4dcb 4dcc 4dcd "
834                 + "4dce 4dcf 4dd0 4dd1 4dd2 4dd3 4dd4 4dd5 4dd6 4dd7 4dd8 "
835                 + "4dd9 4dda 4ddb 4ddc 4ddd 4dde 4ddf 4de0 4de1 4de2 4de3 "
836                 + "4de4 4de5 4de6 4de7 4de8 4de9 4dea 4deb 4dec 4ded 4dee "
837                 + "4def 4df0 4df1 4df2 4df3 4df4 4df5 4df6 4df7 4df8 4df9 "
838                 + "4dfa 4dfb 4dfc 4dfd 4dfe 4dff a490 a491 a492 a493 a494 "
839                 + "a495 a496 a497 a498 a499 a49a a49b a49c a49d a49e a49f "
840                 + "a4a0 a4a1 a4a2 a4a3 a4a4 a4a5 a4a6 a4a7 a4a8 a4a9 a4aa "
841                 + "a4ab a4ac a4ad a4ae a4af a4b0 a4b1 a4b2 a4b3 a4b4 a4b5 "
842                 + "a4b6 a4b7 a4b8 a4b9 a4ba a4bb a4bc a4bd a4be a4bf a4c0 "
843                 + "a4c1 a4c2 a4c3 a4c4 a4c5 a4c6 a700 a701 a702 a703 a704 "
844                 + "a705 a706 a707 a708 a709 a70a a70b a70c a70d a70e a70f "
845                 + "a710 a711 a712 a713 a714 a715 a716 a720 a721 a789 a78a "
846                 + "a828 a829 a82a a82b fb29 fdfc fdfd fe62 fe64 fe65 fe66 "
847                 + "fe69 ff04 ff0b ff1c ff1d ff1e ff3e ff40 ff5c ff5e ffe0 "
848                 + "ffe1 ffe2 ffe3 ffe4 ffe5 ffe6 ffe8 ffe9 ffea ffeb ffec "
849                 + "ffed ffee fffc fffd found 3490 chars.";
850
851                 string upperChars = "41 42 43 44 45 46 47 48 49 4a 4b 4c 4d "
852                 + "4e 4f 50 51 52 53 54 55 56 57 58 59 5a c0 c1 c2 c3 c4 c5 "
853                 + "c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d8 d9 "
854                 + "da db dc dd de 100 102 104 106 108 10a 10c 10e 110 112 114 "
855                 + "116 118 11a 11c 11e 120 122 124 126 128 12a 12c 12e 130 "
856                 + "132 134 136 139 13b 13d 13f 141 143 145 147 14a 14c 14e "
857                 + "150 152 154 156 158 15a 15c 15e 160 162 164 166 168 16a "
858                 + "16c 16e 170 172 174 176 178 179 17b 17d 181 182 184 186 "
859                 + "187 189 18a 18b 18e 18f 190 191 193 194 196 197 198 19c "
860                 + "19d 19f 1a0 1a2 1a4 1a6 1a7 1a9 1ac 1ae 1af 1b1 1b2 1b3 "
861                 + "1b5 1b7 1b8 1bc 1c4 1c7 1ca 1cd 1cf 1d1 1d3 1d5 1d7 1d9 "
862                 + "1db 1de 1e0 1e2 1e4 1e6 1e8 1ea 1ec 1ee 1f1 1f4 1f6 1f7 "
863                 + "1f8 1fa 1fc 1fe 200 202 204 206 208 20a 20c 20e 210 212 "
864                 + "214 216 218 21a 21c 21e 220 222 224 226 228 22a 22c 22e "
865                 + "230 232 23a 23b 23d 23e 241 243 244 245 246 248 24a 24c "
866                 + "24e 370 372 376 386 388 389 38a 38c 38e 38f 391 392 393 "
867                 + "394 395 396 397 398 399 39a 39b 39c 39d 39e 39f 3a0 3a1 "
868                 + "3a3 3a4 3a5 3a6 3a7 3a8 3a9 3aa 3ab 3cf 3d2 3d3 3d4 3d8 "
869                 + "3da 3dc 3de 3e0 3e2 3e4 3e6 3e8 3ea 3ec 3ee 3f4 3f7 3f9 "
870                 + "3fa 3fd 3fe 3ff 400 401 402 403 404 405 406 407 408 409 "
871                 + "40a 40b 40c 40d 40e 40f 410 411 412 413 414 415 416 417 "
872                 + "418 419 41a 41b 41c 41d 41e 41f 420 421 422 423 424 425 "
873                 + "426 427 428 429 42a 42b 42c 42d 42e 42f 460 462 464 466 "
874                 + "468 46a 46c 46e 470 472 474 476 478 47a 47c 47e 480 48a "
875                 + "48c 48e 490 492 494 496 498 49a 49c 49e 4a0 4a2 4a4 4a6 "
876                 + "4a8 4aa 4ac 4ae 4b0 4b2 4b4 4b6 4b8 4ba 4bc 4be 4c0 4c1 "
877                 + "4c3 4c5 4c7 4c9 4cb 4cd 4d0 4d2 4d4 4d6 4d8 4da 4dc 4de "
878                 + "4e0 4e2 4e4 4e6 4e8 4ea 4ec 4ee 4f0 4f2 4f4 4f6 4f8 4fa "
879                 + "4fc 4fe 500 502 504 506 508 50a 50c 50e 510 512 514 516 "
880                 + "518 51a 51c 51e 520 522 531 532 533 534 535 536 537 538 "
881                 + "539 53a 53b 53c 53d 53e 53f 540 541 542 543 544 545 546 "
882                 + "547 548 549 54a 54b 54c 54d 54e 54f 550 551 552 553 554 "
883                 + "555 556 10a0 10a1 10a2 10a3 10a4 10a5 10a6 10a7 10a8 10a9 "
884                 + "10aa 10ab 10ac 10ad 10ae 10af 10b0 10b1 10b2 10b3 10b4 "
885                 + "10b5 10b6 10b7 10b8 10b9 10ba 10bb 10bc 10bd 10be 10bf "
886                 + "10c0 10c1 10c2 10c3 10c4 10c5 1e00 1e02 1e04 1e06 1e08 "
887                 + "1e0a 1e0c 1e0e 1e10 1e12 1e14 1e16 1e18 1e1a 1e1c 1e1e "
888                 + "1e20 1e22 1e24 1e26 1e28 1e2a 1e2c 1e2e 1e30 1e32 1e34 "
889                 + "1e36 1e38 1e3a 1e3c 1e3e 1e40 1e42 1e44 1e46 1e48 1e4a "
890                 + "1e4c 1e4e 1e50 1e52 1e54 1e56 1e58 1e5a 1e5c 1e5e 1e60 "
891                 + "1e62 1e64 1e66 1e68 1e6a 1e6c 1e6e 1e70 1e72 1e74 1e76 "
892                 + "1e78 1e7a 1e7c 1e7e 1e80 1e82 1e84 1e86 1e88 1e8a 1e8c "
893                 + "1e8e 1e90 1e92 1e94 1e9e 1ea0 1ea2 1ea4 1ea6 1ea8 1eaa "
894                 + "1eac 1eae 1eb0 1eb2 1eb4 1eb6 1eb8 1eba 1ebc 1ebe 1ec0 "
895                 + "1ec2 1ec4 1ec6 1ec8 1eca 1ecc 1ece 1ed0 1ed2 1ed4 1ed6 "
896                 + "1ed8 1eda 1edc 1ede 1ee0 1ee2 1ee4 1ee6 1ee8 1eea 1eec "
897                 + "1eee 1ef0 1ef2 1ef4 1ef6 1ef8 1efa 1efc 1efe 1f08 1f09 "
898                 + "1f0a 1f0b 1f0c 1f0d 1f0e 1f0f 1f18 1f19 1f1a 1f1b 1f1c "
899                 + "1f1d 1f28 1f29 1f2a 1f2b 1f2c 1f2d 1f2e 1f2f 1f38 1f39 "
900                 + "1f3a 1f3b 1f3c 1f3d 1f3e 1f3f 1f48 1f49 1f4a 1f4b 1f4c "
901                 + "1f4d 1f59 1f5b 1f5d 1f5f 1f68 1f69 1f6a 1f6b 1f6c 1f6d "
902                 + "1f6e 1f6f 1fb8 1fb9 1fba 1fbb 1fc8 1fc9 1fca 1fcb 1fd8 "
903                 + "1fd9 1fda 1fdb 1fe8 1fe9 1fea 1feb 1fec 1ff8 1ff9 1ffa "
904                 + "1ffb 2102 2107 210b 210c 210d 2110 2111 2112 2115 2119 "
905                 + "211a 211b 211c 211d 2124 2126 2128 212a 212b 212c 212d "
906                 + "2130 2131 2132 2133 213e 213f 2145 2183 2c00 2c01 2c02 "
907                 + "2c03 2c04 2c05 2c06 2c07 2c08 2c09 2c0a 2c0b 2c0c 2c0d "
908                 + "2c0e 2c0f 2c10 2c11 2c12 2c13 2c14 2c15 2c16 2c17 2c18 "
909                 + "2c19 2c1a 2c1b 2c1c 2c1d 2c1e 2c1f 2c20 2c21 2c22 2c23 "
910                 + "2c24 2c25 2c26 2c27 2c28 2c29 2c2a 2c2b 2c2c 2c2d 2c2e "
911                 + "2c60 2c62 2c63 2c64 2c67 2c69 2c6b 2c6d 2c6e 2c6f 2c72 "
912                 + "2c75 2c80 2c82 2c84 2c86 2c88 2c8a 2c8c 2c8e 2c90 2c92 "
913                 + "2c94 2c96 2c98 2c9a 2c9c 2c9e 2ca0 2ca2 2ca4 2ca6 2ca8 "
914                 + "2caa 2cac 2cae 2cb0 2cb2 2cb4 2cb6 2cb8 2cba 2cbc 2cbe "
915                 + "2cc0 2cc2 2cc4 2cc6 2cc8 2cca 2ccc 2cce 2cd0 2cd2 2cd4 "
916                 + "2cd6 2cd8 2cda 2cdc 2cde 2ce0 2ce2 a640 a642 a644 a646 "
917                 + "a648 a64a a64c a64e a650 a652 a654 a656 a658 a65a a65c "
918                 + "a65e a662 a664 a666 a668 a66a a66c a680 a682 a684 a686 "
919                 + "a688 a68a a68c a68e a690 a692 a694 a696 a722 a724 a726 "
920                 + "a728 a72a a72c a72e a732 a734 a736 a738 a73a a73c a73e "
921                 + "a740 a742 a744 a746 a748 a74a a74c a74e a750 a752 a754 "
922                 + "a756 a758 a75a a75c a75e a760 a762 a764 a766 a768 a76a "
923                 + "a76c a76e a779 a77b a77d a77e a780 a782 a784 a786 a78b "
924                 + "ff21 ff22 ff23 ff24 ff25 ff26 ff27 ff28 ff29 ff2a ff2b "
925                 + "ff2c ff2d ff2e ff2f ff30 ff31 ff32 ff33 ff34 ff35 ff36 "
926                 + "ff37 ff38 ff39 ff3a found 937 chars.";
927
928                 string whitespaceChars = "9 a b c d 20 85 a0 1680 180e 2000 "
929                 + "2001 2002 2003 2004 2005 2006 2007 2008 2009 200a 2028 "
930                 + "2029 202f 205f 3000 found 26 chars.";
931
932 #elif !NET_4_0
933
934                 string controls = "0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 "
935                 + "13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 7f 80 81 82 83 84 "
936                 + "85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 "
937                 + "98 99 9a 9b 9c 9d 9e 9f found 65 chars.";
938
939                 string digits = "30 31 32 33 34 35 36 37 38 39 660 661 662 "
940                 + "663 664 665 666 667 668 669 6f0 6f1 6f2 6f3 6f4 6f5 6f6 "
941                 + "6f7 6f8 6f9 7c0 7c1 7c2 7c3 7c4 7c5 7c6 7c7 7c8 7c9 966 "
942                 + "967 968 969 96a 96b 96c 96d 96e 96f 9e6 9e7 9e8 9e9 9ea "
943                 + "9eb 9ec 9ed 9ee 9ef a66 a67 a68 a69 a6a a6b a6c a6d a6e "
944                 + "a6f ae6 ae7 ae8 ae9 aea aeb aec aed aee aef b66 b67 b68 "
945                 + "b69 b6a b6b b6c b6d b6e b6f be6 be7 be8 be9 bea beb bec "
946                 + "bed bee bef c66 c67 c68 c69 c6a c6b c6c c6d c6e c6f ce6 "
947                 + "ce7 ce8 ce9 cea ceb cec ced cee cef d66 d67 d68 d69 d6a "
948                 + "d6b d6c d6d d6e d6f e50 e51 e52 e53 e54 e55 e56 e57 e58 "
949                 + "e59 ed0 ed1 ed2 ed3 ed4 ed5 ed6 ed7 ed8 ed9 f20 f21 f22 "
950                 + "f23 f24 f25 f26 f27 f28 f29 1040 1041 1042 1043 1044 1045 "
951                 + "1046 1047 1048 1049 17e0 17e1 17e2 17e3 17e4 17e5 17e6 "
952                 + "17e7 17e8 17e9 1810 1811 1812 1813 1814 1815 1816 1817 "
953                 + "1818 1819 1946 1947 1948 1949 194a 194b 194c 194d 194e "
954                 + "194f 19d0 19d1 19d2 19d3 19d4 19d5 19d6 19d7 19d8 19d9 "
955                 + "1b50 1b51 1b52 1b53 1b54 1b55 1b56 1b57 1b58 1b59 ff10 "
956                 + "ff11 ff12 ff13 ff14 ff15 ff16 ff17 ff18 ff19 found 230 "
957                 + "chars.";
958
959                 string lowerChars = "61 62 63 64 65 66 67 68 69 6a 6b 6c 6d "
960                 + "6e 6f 70 71 72 73 74 75 76 77 78 79 7a aa b5 ba df e0 e1 "
961                 + "e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 "
962                 + "f5 f6 f8 f9 fa fb fc fd fe ff 101 103 105 107 109 10b 10d "
963                 + "10f 111 113 115 117 119 11b 11d 11f 121 123 125 127 129 "
964                 + "12b 12d 12f 131 133 135 137 138 13a 13c 13e 140 142 144 "
965                 + "146 148 149 14b 14d 14f 151 153 155 157 159 15b 15d 15f "
966                 + "161 163 165 167 169 16b 16d 16f 171 173 175 177 17a 17c "
967                 + "17e 17f 180 183 185 188 18c 18d 192 195 199 19a 19b 19e "
968                 + "1a1 1a3 1a5 1a8 1aa 1ab 1ad 1b0 1b4 1b6 1b9 1ba 1bd 1be "
969                 + "1bf 1c6 1c9 1cc 1ce 1d0 1d2 1d4 1d6 1d8 1da 1dc 1dd 1df "
970                 + "1e1 1e3 1e5 1e7 1e9 1eb 1ed 1ef 1f0 1f3 1f5 1f9 1fb 1fd "
971                 + "1ff 201 203 205 207 209 20b 20d 20f 211 213 215 217 219 "
972                 + "21b 21d 21f 221 223 225 227 229 22b 22d 22f 231 233 234 "
973                 + "235 236 237 238 239 23c 23f 240 242 247 249 24b 24d 24f "
974                 + "250 251 252 253 254 255 256 257 258 259 25a 25b 25c 25d "
975                 + "25e 25f 260 261 262 263 264 265 266 267 268 269 26a 26b "
976                 + "26c 26d 26e 26f 270 271 272 273 274 275 276 277 278 279 "
977                 + "27a 27b 27c 27d 27e 27f 280 281 282 283 284 285 286 287 "
978                 + "288 289 28a 28b 28c 28d 28e 28f 290 291 292 293 295 296 "
979                 + "297 298 299 29a 29b 29c 29d 29e 29f 2a0 2a1 2a2 2a3 2a4 "
980                 + "2a5 2a6 2a7 2a8 2a9 2aa 2ab 2ac 2ad 2ae 2af 37b 37c 37d "
981                 + "390 3ac 3ad 3ae 3af 3b0 3b1 3b2 3b3 3b4 3b5 3b6 3b7 3b8 "
982                 + "3b9 3ba 3bb 3bc 3bd 3be 3bf 3c0 3c1 3c2 3c3 3c4 3c5 3c6 "
983                 + "3c7 3c8 3c9 3ca 3cb 3cc 3cd 3ce 3d0 3d1 3d5 3d6 3d7 3d9 "
984                 + "3db 3dd 3df 3e1 3e3 3e5 3e7 3e9 3eb 3ed 3ef 3f0 3f1 3f2 "
985                 + "3f3 3f5 3f8 3fb 3fc 430 431 432 433 434 435 436 437 438 "
986                 + "439 43a 43b 43c 43d 43e 43f 440 441 442 443 444 445 446 "
987                 + "447 448 449 44a 44b 44c 44d 44e 44f 450 451 452 453 454 "
988                 + "455 456 457 458 459 45a 45b 45c 45d 45e 45f 461 463 465 "
989                 + "467 469 46b 46d 46f 471 473 475 477 479 47b 47d 47f 481 "
990                 + "48b 48d 48f 491 493 495 497 499 49b 49d 49f 4a1 4a3 4a5 "
991                 + "4a7 4a9 4ab 4ad 4af 4b1 4b3 4b5 4b7 4b9 4bb 4bd 4bf 4c2 "
992                 + "4c4 4c6 4c8 4ca 4cc 4ce 4cf 4d1 4d3 4d5 4d7 4d9 4db 4dd "
993                 + "4df 4e1 4e3 4e5 4e7 4e9 4eb 4ed 4ef 4f1 4f3 4f5 4f7 4f9 "
994                 + "4fb 4fd 4ff 501 503 505 507 509 50b 50d 50f 511 513 561 "
995                 + "562 563 564 565 566 567 568 569 56a 56b 56c 56d 56e 56f "
996                 + "570 571 572 573 574 575 576 577 578 579 57a 57b 57c 57d "
997                 + "57e 57f 580 581 582 583 584 585 586 587 1d00 1d01 1d02 "
998                 + "1d03 1d04 1d05 1d06 1d07 1d08 1d09 1d0a 1d0b 1d0c 1d0d "
999                 + "1d0e 1d0f 1d10 1d11 1d12 1d13 1d14 1d15 1d16 1d17 1d18 "
1000                 + "1d19 1d1a 1d1b 1d1c 1d1d 1d1e 1d1f 1d20 1d21 1d22 1d23 "
1001                 + "1d24 1d25 1d26 1d27 1d28 1d29 1d2a 1d2b 1d62 1d63 1d64 "
1002                 + "1d65 1d66 1d67 1d68 1d69 1d6a 1d6b 1d6c 1d6d 1d6e 1d6f "
1003                 + "1d70 1d71 1d72 1d73 1d74 1d75 1d76 1d77 1d79 1d7a 1d7b "
1004                 + "1d7c 1d7d 1d7e 1d7f 1d80 1d81 1d82 1d83 1d84 1d85 1d86 "
1005                 + "1d87 1d88 1d89 1d8a 1d8b 1d8c 1d8d 1d8e 1d8f 1d90 1d91 "
1006                 + "1d92 1d93 1d94 1d95 1d96 1d97 1d98 1d99 1d9a 1e01 1e03 "
1007                 + "1e05 1e07 1e09 1e0b 1e0d 1e0f 1e11 1e13 1e15 1e17 1e19 "
1008                 + "1e1b 1e1d 1e1f 1e21 1e23 1e25 1e27 1e29 1e2b 1e2d 1e2f "
1009                 + "1e31 1e33 1e35 1e37 1e39 1e3b 1e3d 1e3f 1e41 1e43 1e45 "
1010                 + "1e47 1e49 1e4b 1e4d 1e4f 1e51 1e53 1e55 1e57 1e59 1e5b "
1011                 + "1e5d 1e5f 1e61 1e63 1e65 1e67 1e69 1e6b 1e6d 1e6f 1e71 "
1012                 + "1e73 1e75 1e77 1e79 1e7b 1e7d 1e7f 1e81 1e83 1e85 1e87 "
1013                 + "1e89 1e8b 1e8d 1e8f 1e91 1e93 1e95 1e96 1e97 1e98 1e99 "
1014                 + "1e9a 1e9b 1ea1 1ea3 1ea5 1ea7 1ea9 1eab 1ead 1eaf 1eb1 "
1015                 + "1eb3 1eb5 1eb7 1eb9 1ebb 1ebd 1ebf 1ec1 1ec3 1ec5 1ec7 "
1016                 + "1ec9 1ecb 1ecd 1ecf 1ed1 1ed3 1ed5 1ed7 1ed9 1edb 1edd "
1017                 + "1edf 1ee1 1ee3 1ee5 1ee7 1ee9 1eeb 1eed 1eef 1ef1 1ef3 "
1018                 + "1ef5 1ef7 1ef9 1f00 1f01 1f02 1f03 1f04 1f05 1f06 1f07 "
1019                 + "1f10 1f11 1f12 1f13 1f14 1f15 1f20 1f21 1f22 1f23 1f24 "
1020                 + "1f25 1f26 1f27 1f30 1f31 1f32 1f33 1f34 1f35 1f36 1f37 "
1021                 + "1f40 1f41 1f42 1f43 1f44 1f45 1f50 1f51 1f52 1f53 1f54 "
1022                 + "1f55 1f56 1f57 1f60 1f61 1f62 1f63 1f64 1f65 1f66 1f67 "
1023                 + "1f70 1f71 1f72 1f73 1f74 1f75 1f76 1f77 1f78 1f79 1f7a "
1024                 + "1f7b 1f7c 1f7d 1f80 1f81 1f82 1f83 1f84 1f85 1f86 1f87 "
1025                 + "1f90 1f91 1f92 1f93 1f94 1f95 1f96 1f97 1fa0 1fa1 1fa2 "
1026                 + "1fa3 1fa4 1fa5 1fa6 1fa7 1fb0 1fb1 1fb2 1fb3 1fb4 1fb6 "
1027                 + "1fb7 1fbe 1fc2 1fc3 1fc4 1fc6 1fc7 1fd0 1fd1 1fd2 1fd3 "
1028                 + "1fd6 1fd7 1fe0 1fe1 1fe2 1fe3 1fe4 1fe5 1fe6 1fe7 1ff2 "
1029                 + "1ff3 1ff4 1ff6 1ff7 2071 207f 210a 210e 210f 2113 212f "
1030                 + "2134 2139 213c 213d 2146 2147 2148 2149 214e 2184 2c30 "
1031                 + "2c31 2c32 2c33 2c34 2c35 2c36 2c37 2c38 2c39 2c3a 2c3b "
1032                 + "2c3c 2c3d 2c3e 2c3f 2c40 2c41 2c42 2c43 2c44 2c45 2c46 "
1033                 + "2c47 2c48 2c49 2c4a 2c4b 2c4c 2c4d 2c4e 2c4f 2c50 2c51 "
1034                 + "2c52 2c53 2c54 2c55 2c56 2c57 2c58 2c59 2c5a 2c5b 2c5c "
1035                 + "2c5d 2c5e 2c61 2c65 2c66 2c68 2c6a 2c6c 2c74 2c76 2c77 "
1036                 + "2c81 2c83 2c85 2c87 2c89 2c8b 2c8d 2c8f 2c91 2c93 2c95 "
1037                 + "2c97 2c99 2c9b 2c9d 2c9f 2ca1 2ca3 2ca5 2ca7 2ca9 2cab "
1038                 + "2cad 2caf 2cb1 2cb3 2cb5 2cb7 2cb9 2cbb 2cbd 2cbf 2cc1 "
1039                 + "2cc3 2cc5 2cc7 2cc9 2ccb 2ccd 2ccf 2cd1 2cd3 2cd5 2cd7 "
1040                 + "2cd9 2cdb 2cdd 2cdf 2ce1 2ce3 2ce4 2d00 2d01 2d02 2d03 "
1041                 + "2d04 2d05 2d06 2d07 2d08 2d09 2d0a 2d0b 2d0c 2d0d 2d0e "
1042                 + "2d0f 2d10 2d11 2d12 2d13 2d14 2d15 2d16 2d17 2d18 2d19 "
1043                 + "2d1a 2d1b 2d1c 2d1d 2d1e 2d1f 2d20 2d21 2d22 2d23 2d24 "
1044                 + "2d25 fb00 fb01 fb02 fb03 fb04 fb05 fb06 fb13 fb14 fb15 "
1045                 + "fb16 fb17 ff41 ff42 ff43 ff44 ff45 ff46 ff47 ff48 ff49 "
1046                 + "ff4a ff4b ff4c ff4d ff4e ff4f ff50 ff51 ff52 ff53 ff54 "
1047                 + "ff55 ff56 ff57 ff58 ff59 ff5a found 1102 chars.";
1048
1049                 string numbers = "30 31 32 33 34 35 36 37 38 39 b2 b3 b9 bc "
1050                 + "bd be 660 661 662 663 664 665 666 667 668 669 6f0 6f1 6f2 "
1051                 + "6f3 6f4 6f5 6f6 6f7 6f8 6f9 7c0 7c1 7c2 7c3 7c4 7c5 7c6 "
1052                 + "7c7 7c8 7c9 966 967 968 969 96a 96b 96c 96d 96e 96f 9e6 "
1053                 + "9e7 9e8 9e9 9ea 9eb 9ec 9ed 9ee 9ef 9f4 9f5 9f6 9f7 9f8 "
1054                 + "9f9 a66 a67 a68 a69 a6a a6b a6c a6d a6e a6f ae6 ae7 ae8 "
1055                 + "ae9 aea aeb aec aed aee aef b66 b67 b68 b69 b6a b6b b6c "
1056                 + "b6d b6e b6f be6 be7 be8 be9 bea beb bec bed bee bef bf0 "
1057                 + "bf1 bf2 c66 c67 c68 c69 c6a c6b c6c c6d c6e c6f ce6 ce7 "
1058                 + "ce8 ce9 cea ceb cec ced cee cef d66 d67 d68 d69 d6a d6b "
1059                 + "d6c d6d d6e d6f e50 e51 e52 e53 e54 e55 e56 e57 e58 e59 "
1060                 + "ed0 ed1 ed2 ed3 ed4 ed5 ed6 ed7 ed8 ed9 f20 f21 f22 f23 "
1061                 + "f24 f25 f26 f27 f28 f29 f2a f2b f2c f2d f2e f2f f30 f31 "
1062                 + "f32 f33 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 "
1063                 + "1369 136a 136b 136c 136d 136e 136f 1370 1371 1372 1373 "
1064                 + "1374 1375 1376 1377 1378 1379 137a 137b 137c 16ee 16ef "
1065                 + "16f0 17e0 17e1 17e2 17e3 17e4 17e5 17e6 17e7 17e8 17e9 "
1066                 + "17f0 17f1 17f2 17f3 17f4 17f5 17f6 17f7 17f8 17f9 1810 "
1067                 + "1811 1812 1813 1814 1815 1816 1817 1818 1819 1946 1947 "
1068                 + "1948 1949 194a 194b 194c 194d 194e 194f 19d0 19d1 19d2 "
1069                 + "19d3 19d4 19d5 19d6 19d7 19d8 19d9 1b50 1b51 1b52 1b53 "
1070                 + "1b54 1b55 1b56 1b57 1b58 1b59 2070 2074 2075 2076 2077 "
1071                 + "2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 "
1072                 + "2089 2153 2154 2155 2156 2157 2158 2159 215a 215b 215c "
1073                 + "215d 215e 215f 2160 2161 2162 2163 2164 2165 2166 2167 "
1074                 + "2168 2169 216a 216b 216c 216d 216e 216f 2170 2171 2172 "
1075                 + "2173 2174 2175 2176 2177 2178 2179 217a 217b 217c 217d "
1076                 + "217e 217f 2180 2181 2182 2460 2461 2462 2463 2464 2465 "
1077                 + "2466 2467 2468 2469 246a 246b 246c 246d 246e 246f 2470 "
1078                 + "2471 2472 2473 2474 2475 2476 2477 2478 2479 247a 247b "
1079                 + "247c 247d 247e 247f 2480 2481 2482 2483 2484 2485 2486 "
1080                 + "2487 2488 2489 248a 248b 248c 248d 248e 248f 2490 2491 "
1081                 + "2492 2493 2494 2495 2496 2497 2498 2499 249a 249b 24ea "
1082                 + "24eb 24ec 24ed 24ee 24ef 24f0 24f1 24f2 24f3 24f4 24f5 "
1083                 + "24f6 24f7 24f8 24f9 24fa 24fb 24fc 24fd 24fe 24ff 2776 "
1084                 + "2777 2778 2779 277a 277b 277c 277d 277e 277f 2780 2781 "
1085                 + "2782 2783 2784 2785 2786 2787 2788 2789 278a 278b 278c "
1086                 + "278d 278e 278f 2790 2791 2792 2793 2cfd 3007 3021 3022 "
1087                 + "3023 3024 3025 3026 3027 3028 3029 3038 3039 303a 3192 "
1088                 + "3193 3194 3195 3220 3221 3222 3223 3224 3225 3226 3227 "
1089                 + "3228 3229 3251 3252 3253 3254 3255 3256 3257 3258 3259 "
1090                 + "325a 325b 325c 325d 325e 325f 3280 3281 3282 3283 3284 "
1091                 + "3285 3286 3287 3288 3289 32b1 32b2 32b3 32b4 32b5 32b6 "
1092                 + "32b7 32b8 32b9 32ba 32bb 32bc 32bd 32be 32bf ff10 ff11 "
1093                 + "ff12 ff13 ff14 ff15 ff16 ff17 ff18 ff19 found 533 chars.";
1094
1095                 string puncts = "21 22 23 25 26 27 28 29 2a 2c 2d 2e 2f 3a 3b "
1096                 + "3f 40 5b 5c 5d 5f 7b 7d a1 ab ad b7 bb bf 37e 387 55a 55b "
1097                 + "55c 55d 55e 55f 589 58a 5be 5c0 5c3 5c6 5f3 5f4 60c 60d "
1098                 + "61b 61e 61f 66a 66b 66c 66d 6d4 700 701 702 703 704 705 "
1099                 + "706 707 708 709 70a 70b 70c 70d 7f7 7f8 7f9 964 965 970 "
1100                 + "df4 e4f e5a e5b f04 f05 f06 f07 f08 f09 f0a f0b f0c f0d "
1101                 + "f0e f0f f10 f11 f12 f3a f3b f3c f3d f85 fd0 fd1 104a 104b "
1102                 + "104c 104d 104e 104f 10fb 1361 1362 1363 1364 1365 1366 "
1103                 + "1367 1368 166d 166e 169b 169c 16eb 16ec 16ed 1735 1736 "
1104                 + "17d4 17d5 17d6 17d8 17d9 17da 1800 1801 1802 1803 1804 "
1105                 + "1805 1806 1807 1808 1809 180a 1944 1945 19de 19df 1a1e "
1106                 + "1a1f 1b5a 1b5b 1b5c 1b5d 1b5e 1b5f 1b60 2010 2011 2012 "
1107                 + "2013 2014 2015 2016 2017 2018 2019 201a 201b 201c 201d "
1108                 + "201e 201f 2020 2021 2022 2023 2024 2025 2026 2027 2030 "
1109                 + "2031 2032 2033 2034 2035 2036 2037 2038 2039 203a 203b "
1110                 + "203c 203d 203e 203f 2040 2041 2042 2043 2045 2046 2047 "
1111                 + "2048 2049 204a 204b 204c 204d 204e 204f 2050 2051 2053 "
1112                 + "2054 2055 2056 2057 2058 2059 205a 205b 205c 205d 205e "
1113                 + "207d 207e 208d 208e 2329 232a 2768 2769 276a 276b 276c "
1114                 + "276d 276e 276f 2770 2771 2772 2773 2774 2775 27c5 27c6 "
1115                 + "27e6 27e7 27e8 27e9 27ea 27eb 2983 2984 2985 2986 2987 "
1116                 + "2988 2989 298a 298b 298c 298d 298e 298f 2990 2991 2992 "
1117                 + "2993 2994 2995 2996 2997 2998 29d8 29d9 29da 29db 29fc "
1118                 + "29fd 2cf9 2cfa 2cfb 2cfc 2cfe 2cff 2e00 2e01 2e02 2e03 "
1119                 + "2e04 2e05 2e06 2e07 2e08 2e09 2e0a 2e0b 2e0c 2e0d 2e0e "
1120                 + "2e0f 2e10 2e11 2e12 2e13 2e14 2e15 2e16 2e17 2e1c 2e1d "
1121                 + "3001 3002 3003 3008 3009 300a 300b 300c 300d 300e 300f "
1122                 + "3010 3011 3014 3015 3016 3017 3018 3019 301a 301b 301c "
1123                 + "301d 301e 301f 3030 303d 30a0 30fb a874 a875 a876 a877 "
1124                 + "fd3e fd3f fe10 fe11 fe12 fe13 fe14 fe15 fe16 fe17 fe18 "
1125                 + "fe19 fe30 fe31 fe32 fe33 fe34 fe35 fe36 fe37 fe38 fe39 "
1126                 + "fe3a fe3b fe3c fe3d fe3e fe3f fe40 fe41 fe42 fe43 fe44 "
1127                 + "fe45 fe46 fe47 fe48 fe49 fe4a fe4b fe4c fe4d fe4e fe4f "
1128                 + "fe50 fe51 fe52 fe54 fe55 fe56 fe57 fe58 fe59 fe5a fe5b "
1129                 + "fe5c fe5d fe5e fe5f fe60 fe61 fe63 fe68 fe6a fe6b ff01 "
1130                 + "ff02 ff03 ff05 ff06 ff07 ff08 ff09 ff0a ff0c ff0d ff0e "
1131                 + "ff0f ff1a ff1b ff1f ff20 ff3b ff3c ff3d ff3f ff5b ff5d "
1132                 + "ff5f ff60 ff61 ff62 ff63 ff64 ff65 found 440 chars.";
1133
1134                 string separators = "20 a0 1680 180e 2000 2001 2002 2003 2004 "
1135                 + "2005 2006 2007 2008 2009 200a 2028 2029 202f 205f 3000 "
1136                 + "found 20 chars.";
1137
1138                 string surrogateChars = "d800 d801 d802 d803 d804 d805 d806 "
1139                 + "d807 d808 d809 d80a d80b d80c d80d d80e d80f d810 d811 "
1140                 + "d812 d813 d814 d815 d816 d817 d818 d819 d81a d81b d81c "
1141                 + "d81d d81e d81f d820 d821 d822 d823 d824 d825 d826 d827 "
1142                 + "d828 d829 d82a d82b d82c d82d d82e d82f d830 d831 d832 "
1143                 + "d833 d834 d835 d836 d837 d838 d839 d83a d83b d83c d83d "
1144                 + "d83e d83f d840 d841 d842 d843 d844 d845 d846 d847 d848 "
1145                 + "d849 d84a d84b d84c d84d d84e d84f d850 d851 d852 d853 "
1146                 + "d854 d855 d856 d857 d858 d859 d85a d85b d85c d85d d85e "
1147                 + "d85f d860 d861 d862 d863 d864 d865 d866 d867 d868 d869 "
1148                 + "d86a d86b d86c d86d d86e d86f d870 d871 d872 d873 d874 "
1149                 + "d875 d876 d877 d878 d879 d87a d87b d87c d87d d87e d87f "
1150                 + "d880 d881 d882 d883 d884 d885 d886 d887 d888 d889 d88a "
1151                 + "d88b d88c d88d d88e d88f d890 d891 d892 d893 d894 d895 "
1152                 + "d896 d897 d898 d899 d89a d89b d89c d89d d89e d89f d8a0 "
1153                 + "d8a1 d8a2 d8a3 d8a4 d8a5 d8a6 d8a7 d8a8 d8a9 d8aa d8ab "
1154                 + "d8ac d8ad d8ae d8af d8b0 d8b1 d8b2 d8b3 d8b4 d8b5 d8b6 "
1155                 + "d8b7 d8b8 d8b9 d8ba d8bb d8bc d8bd d8be d8bf d8c0 d8c1 "
1156                 + "d8c2 d8c3 d8c4 d8c5 d8c6 d8c7 d8c8 d8c9 d8ca d8cb d8cc "
1157                 + "d8cd d8ce d8cf d8d0 d8d1 d8d2 d8d3 d8d4 d8d5 d8d6 d8d7 "
1158                 + "d8d8 d8d9 d8da d8db d8dc d8dd d8de d8df d8e0 d8e1 d8e2 "
1159                 + "d8e3 d8e4 d8e5 d8e6 d8e7 d8e8 d8e9 d8ea d8eb d8ec d8ed "
1160                 + "d8ee d8ef d8f0 d8f1 d8f2 d8f3 d8f4 d8f5 d8f6 d8f7 d8f8 "
1161                 + "d8f9 d8fa d8fb d8fc d8fd d8fe d8ff d900 d901 d902 d903 "
1162                 + "d904 d905 d906 d907 d908 d909 d90a d90b d90c d90d d90e "
1163                 + "d90f d910 d911 d912 d913 d914 d915 d916 d917 d918 d919 "
1164                 + "d91a d91b d91c d91d d91e d91f d920 d921 d922 d923 d924 "
1165                 + "d925 d926 d927 d928 d929 d92a d92b d92c d92d d92e d92f "
1166                 + "d930 d931 d932 d933 d934 d935 d936 d937 d938 d939 d93a "
1167                 + "d93b d93c d93d d93e d93f d940 d941 d942 d943 d944 d945 "
1168                 + "d946 d947 d948 d949 d94a d94b d94c d94d d94e d94f d950 "
1169                 + "d951 d952 d953 d954 d955 d956 d957 d958 d959 d95a d95b "
1170                 + "d95c d95d d95e d95f d960 d961 d962 d963 d964 d965 d966 "
1171                 + "d967 d968 d969 d96a d96b d96c d96d d96e d96f d970 d971 "
1172                 + "d972 d973 d974 d975 d976 d977 d978 d979 d97a d97b d97c "
1173                 + "d97d d97e d97f d980 d981 d982 d983 d984 d985 d986 d987 "
1174                 + "d988 d989 d98a d98b d98c d98d d98e d98f d990 d991 d992 "
1175                 + "d993 d994 d995 d996 d997 d998 d999 d99a d99b d99c d99d "
1176                 + "d99e d99f d9a0 d9a1 d9a2 d9a3 d9a4 d9a5 d9a6 d9a7 d9a8 "
1177                 + "d9a9 d9aa d9ab d9ac d9ad d9ae d9af d9b0 d9b1 d9b2 d9b3 "
1178                 + "d9b4 d9b5 d9b6 d9b7 d9b8 d9b9 d9ba d9bb d9bc d9bd d9be "
1179                 + "d9bf d9c0 d9c1 d9c2 d9c3 d9c4 d9c5 d9c6 d9c7 d9c8 d9c9 "
1180                 + "d9ca d9cb d9cc d9cd d9ce d9cf d9d0 d9d1 d9d2 d9d3 d9d4 "
1181                 + "d9d5 d9d6 d9d7 d9d8 d9d9 d9da d9db d9dc d9dd d9de d9df "
1182                 + "d9e0 d9e1 d9e2 d9e3 d9e4 d9e5 d9e6 d9e7 d9e8 d9e9 d9ea "
1183                 + "d9eb d9ec d9ed d9ee d9ef d9f0 d9f1 d9f2 d9f3 d9f4 d9f5 "
1184                 + "d9f6 d9f7 d9f8 d9f9 d9fa d9fb d9fc d9fd d9fe d9ff da00 "
1185                 + "da01 da02 da03 da04 da05 da06 da07 da08 da09 da0a da0b "
1186                 + "da0c da0d da0e da0f da10 da11 da12 da13 da14 da15 da16 "
1187                 + "da17 da18 da19 da1a da1b da1c da1d da1e da1f da20 da21 "
1188                 + "da22 da23 da24 da25 da26 da27 da28 da29 da2a da2b da2c "
1189                 + "da2d da2e da2f da30 da31 da32 da33 da34 da35 da36 da37 "
1190                 + "da38 da39 da3a da3b da3c da3d da3e da3f da40 da41 da42 "
1191                 + "da43 da44 da45 da46 da47 da48 da49 da4a da4b da4c da4d "
1192                 + "da4e da4f da50 da51 da52 da53 da54 da55 da56 da57 da58 "
1193                 + "da59 da5a da5b da5c da5d da5e da5f da60 da61 da62 da63 "
1194                 + "da64 da65 da66 da67 da68 da69 da6a da6b da6c da6d da6e "
1195                 + "da6f da70 da71 da72 da73 da74 da75 da76 da77 da78 da79 "
1196                 + "da7a da7b da7c da7d da7e da7f da80 da81 da82 da83 da84 "
1197                 + "da85 da86 da87 da88 da89 da8a da8b da8c da8d da8e da8f "
1198                 + "da90 da91 da92 da93 da94 da95 da96 da97 da98 da99 da9a "
1199                 + "da9b da9c da9d da9e da9f daa0 daa1 daa2 daa3 daa4 daa5 "
1200                 + "daa6 daa7 daa8 daa9 daaa daab daac daad daae daaf dab0 "
1201                 + "dab1 dab2 dab3 dab4 dab5 dab6 dab7 dab8 dab9 daba dabb "
1202                 + "dabc dabd dabe dabf dac0 dac1 dac2 dac3 dac4 dac5 dac6 "
1203                 + "dac7 dac8 dac9 daca dacb dacc dacd dace dacf dad0 dad1 "
1204                 + "dad2 dad3 dad4 dad5 dad6 dad7 dad8 dad9 dada dadb dadc "
1205                 + "dadd dade dadf dae0 dae1 dae2 dae3 dae4 dae5 dae6 dae7 "
1206                 + "dae8 dae9 daea daeb daec daed daee daef daf0 daf1 daf2 "
1207                 + "daf3 daf4 daf5 daf6 daf7 daf8 daf9 dafa dafb dafc dafd "
1208                 + "dafe daff db00 db01 db02 db03 db04 db05 db06 db07 db08 "
1209                 + "db09 db0a db0b db0c db0d db0e db0f db10 db11 db12 db13 "
1210                 + "db14 db15 db16 db17 db18 db19 db1a db1b db1c db1d db1e "
1211                 + "db1f db20 db21 db22 db23 db24 db25 db26 db27 db28 db29 "
1212                 + "db2a db2b db2c db2d db2e db2f db30 db31 db32 db33 db34 "
1213                 + "db35 db36 db37 db38 db39 db3a db3b db3c db3d db3e db3f "
1214                 + "db40 db41 db42 db43 db44 db45 db46 db47 db48 db49 db4a "
1215                 + "db4b db4c db4d db4e db4f db50 db51 db52 db53 db54 db55 "
1216                 + "db56 db57 db58 db59 db5a db5b db5c db5d db5e db5f db60 "
1217                 + "db61 db62 db63 db64 db65 db66 db67 db68 db69 db6a db6b "
1218                 + "db6c db6d db6e db6f db70 db71 db72 db73 db74 db75 db76 "
1219                 + "db77 db78 db79 db7a db7b db7c db7d db7e db7f db80 db81 "
1220                 + "db82 db83 db84 db85 db86 db87 db88 db89 db8a db8b db8c "
1221                 + "db8d db8e db8f db90 db91 db92 db93 db94 db95 db96 db97 "
1222                 + "db98 db99 db9a db9b db9c db9d db9e db9f dba0 dba1 dba2 "
1223                 + "dba3 dba4 dba5 dba6 dba7 dba8 dba9 dbaa dbab dbac dbad "
1224                 + "dbae dbaf dbb0 dbb1 dbb2 dbb3 dbb4 dbb5 dbb6 dbb7 dbb8 "
1225                 + "dbb9 dbba dbbb dbbc dbbd dbbe dbbf dbc0 dbc1 dbc2 dbc3 "
1226                 + "dbc4 dbc5 dbc6 dbc7 dbc8 dbc9 dbca dbcb dbcc dbcd dbce "
1227                 + "dbcf dbd0 dbd1 dbd2 dbd3 dbd4 dbd5 dbd6 dbd7 dbd8 dbd9 "
1228                 + "dbda dbdb dbdc dbdd dbde dbdf dbe0 dbe1 dbe2 dbe3 dbe4 "
1229                 + "dbe5 dbe6 dbe7 dbe8 dbe9 dbea dbeb dbec dbed dbee dbef "
1230                 + "dbf0 dbf1 dbf2 dbf3 dbf4 dbf5 dbf6 dbf7 dbf8 dbf9 dbfa "
1231                 + "dbfb dbfc dbfd dbfe dbff dc00 dc01 dc02 dc03 dc04 dc05 "
1232                 + "dc06 dc07 dc08 dc09 dc0a dc0b dc0c dc0d dc0e dc0f dc10 "
1233                 + "dc11 dc12 dc13 dc14 dc15 dc16 dc17 dc18 dc19 dc1a dc1b "
1234                 + "dc1c dc1d dc1e dc1f dc20 dc21 dc22 dc23 dc24 dc25 dc26 "
1235                 + "dc27 dc28 dc29 dc2a dc2b dc2c dc2d dc2e dc2f dc30 dc31 "
1236                 + "dc32 dc33 dc34 dc35 dc36 dc37 dc38 dc39 dc3a dc3b dc3c "
1237                 + "dc3d dc3e dc3f dc40 dc41 dc42 dc43 dc44 dc45 dc46 dc47 "
1238                 + "dc48 dc49 dc4a dc4b dc4c dc4d dc4e dc4f dc50 dc51 dc52 "
1239                 + "dc53 dc54 dc55 dc56 dc57 dc58 dc59 dc5a dc5b dc5c dc5d "
1240                 + "dc5e dc5f dc60 dc61 dc62 dc63 dc64 dc65 dc66 dc67 dc68 "
1241                 + "dc69 dc6a dc6b dc6c dc6d dc6e dc6f dc70 dc71 dc72 dc73 "
1242                 + "dc74 dc75 dc76 dc77 dc78 dc79 dc7a dc7b dc7c dc7d dc7e "
1243                 + "dc7f dc80 dc81 dc82 dc83 dc84 dc85 dc86 dc87 dc88 dc89 "
1244                 + "dc8a dc8b dc8c dc8d dc8e dc8f dc90 dc91 dc92 dc93 dc94 "
1245                 + "dc95 dc96 dc97 dc98 dc99 dc9a dc9b dc9c dc9d dc9e dc9f "
1246                 + "dca0 dca1 dca2 dca3 dca4 dca5 dca6 dca7 dca8 dca9 dcaa "
1247                 + "dcab dcac dcad dcae dcaf dcb0 dcb1 dcb2 dcb3 dcb4 dcb5 "
1248                 + "dcb6 dcb7 dcb8 dcb9 dcba dcbb dcbc dcbd dcbe dcbf dcc0 "
1249                 + "dcc1 dcc2 dcc3 dcc4 dcc5 dcc6 dcc7 dcc8 dcc9 dcca dccb "
1250                 + "dccc dccd dcce dccf dcd0 dcd1 dcd2 dcd3 dcd4 dcd5 dcd6 "
1251                 + "dcd7 dcd8 dcd9 dcda dcdb dcdc dcdd dcde dcdf dce0 dce1 "
1252                 + "dce2 dce3 dce4 dce5 dce6 dce7 dce8 dce9 dcea dceb dcec "
1253                 + "dced dcee dcef dcf0 dcf1 dcf2 dcf3 dcf4 dcf5 dcf6 dcf7 "
1254                 + "dcf8 dcf9 dcfa dcfb dcfc dcfd dcfe dcff dd00 dd01 dd02 "
1255                 + "dd03 dd04 dd05 dd06 dd07 dd08 dd09 dd0a dd0b dd0c dd0d "
1256                 + "dd0e dd0f dd10 dd11 dd12 dd13 dd14 dd15 dd16 dd17 dd18 "
1257                 + "dd19 dd1a dd1b dd1c dd1d dd1e dd1f dd20 dd21 dd22 dd23 "
1258                 + "dd24 dd25 dd26 dd27 dd28 dd29 dd2a dd2b dd2c dd2d dd2e "
1259                 + "dd2f dd30 dd31 dd32 dd33 dd34 dd35 dd36 dd37 dd38 dd39 "
1260                 + "dd3a dd3b dd3c dd3d dd3e dd3f dd40 dd41 dd42 dd43 dd44 "
1261                 + "dd45 dd46 dd47 dd48 dd49 dd4a dd4b dd4c dd4d dd4e dd4f "
1262                 + "dd50 dd51 dd52 dd53 dd54 dd55 dd56 dd57 dd58 dd59 dd5a "
1263                 + "dd5b dd5c dd5d dd5e dd5f dd60 dd61 dd62 dd63 dd64 dd65 "
1264                 + "dd66 dd67 dd68 dd69 dd6a dd6b dd6c dd6d dd6e dd6f dd70 "
1265                 + "dd71 dd72 dd73 dd74 dd75 dd76 dd77 dd78 dd79 dd7a dd7b "
1266                 + "dd7c dd7d dd7e dd7f dd80 dd81 dd82 dd83 dd84 dd85 dd86 "
1267                 + "dd87 dd88 dd89 dd8a dd8b dd8c dd8d dd8e dd8f dd90 dd91 "
1268                 + "dd92 dd93 dd94 dd95 dd96 dd97 dd98 dd99 dd9a dd9b dd9c "
1269                 + "dd9d dd9e dd9f dda0 dda1 dda2 dda3 dda4 dda5 dda6 dda7 "
1270                 + "dda8 dda9 ddaa ddab ddac ddad ddae ddaf ddb0 ddb1 ddb2 "
1271                 + "ddb3 ddb4 ddb5 ddb6 ddb7 ddb8 ddb9 ddba ddbb ddbc ddbd "
1272                 + "ddbe ddbf ddc0 ddc1 ddc2 ddc3 ddc4 ddc5 ddc6 ddc7 ddc8 "
1273                 + "ddc9 ddca ddcb ddcc ddcd ddce ddcf ddd0 ddd1 ddd2 ddd3 "
1274                 + "ddd4 ddd5 ddd6 ddd7 ddd8 ddd9 ddda dddb dddc dddd ddde "
1275                 + "dddf dde0 dde1 dde2 dde3 dde4 dde5 dde6 dde7 dde8 dde9 "
1276                 + "ddea ddeb ddec dded ddee ddef ddf0 ddf1 ddf2 ddf3 ddf4 "
1277                 + "ddf5 ddf6 ddf7 ddf8 ddf9 ddfa ddfb ddfc ddfd ddfe ddff "
1278                 + "de00 de01 de02 de03 de04 de05 de06 de07 de08 de09 de0a "
1279                 + "de0b de0c de0d de0e de0f de10 de11 de12 de13 de14 de15 "
1280                 + "de16 de17 de18 de19 de1a de1b de1c de1d de1e de1f de20 "
1281                 + "de21 de22 de23 de24 de25 de26 de27 de28 de29 de2a de2b "
1282                 + "de2c de2d de2e de2f de30 de31 de32 de33 de34 de35 de36 "
1283                 + "de37 de38 de39 de3a de3b de3c de3d de3e de3f de40 de41 "
1284                 + "de42 de43 de44 de45 de46 de47 de48 de49 de4a de4b de4c "
1285                 + "de4d de4e de4f de50 de51 de52 de53 de54 de55 de56 de57 "
1286                 + "de58 de59 de5a de5b de5c de5d de5e de5f de60 de61 de62 "
1287                 + "de63 de64 de65 de66 de67 de68 de69 de6a de6b de6c de6d "
1288                 + "de6e de6f de70 de71 de72 de73 de74 de75 de76 de77 de78 "
1289                 + "de79 de7a de7b de7c de7d de7e de7f de80 de81 de82 de83 "
1290                 + "de84 de85 de86 de87 de88 de89 de8a de8b de8c de8d de8e "
1291                 + "de8f de90 de91 de92 de93 de94 de95 de96 de97 de98 de99 "
1292                 + "de9a de9b de9c de9d de9e de9f dea0 dea1 dea2 dea3 dea4 "
1293                 + "dea5 dea6 dea7 dea8 dea9 deaa deab deac dead deae deaf "
1294                 + "deb0 deb1 deb2 deb3 deb4 deb5 deb6 deb7 deb8 deb9 deba "
1295                 + "debb debc debd debe debf dec0 dec1 dec2 dec3 dec4 dec5 "
1296                 + "dec6 dec7 dec8 dec9 deca decb decc decd dece decf ded0 "
1297                 + "ded1 ded2 ded3 ded4 ded5 ded6 ded7 ded8 ded9 deda dedb "
1298                 + "dedc dedd dede dedf dee0 dee1 dee2 dee3 dee4 dee5 dee6 "
1299                 + "dee7 dee8 dee9 deea deeb deec deed deee deef def0 def1 "
1300                 + "def2 def3 def4 def5 def6 def7 def8 def9 defa defb defc "
1301                 + "defd defe deff df00 df01 df02 df03 df04 df05 df06 df07 "
1302                 + "df08 df09 df0a df0b df0c df0d df0e df0f df10 df11 df12 "
1303                 + "df13 df14 df15 df16 df17 df18 df19 df1a df1b df1c df1d "
1304                 + "df1e df1f df20 df21 df22 df23 df24 df25 df26 df27 df28 "
1305                 + "df29 df2a df2b df2c df2d df2e df2f df30 df31 df32 df33 "
1306                 + "df34 df35 df36 df37 df38 df39 df3a df3b df3c df3d df3e "
1307                 + "df3f df40 df41 df42 df43 df44 df45 df46 df47 df48 df49 "
1308                 + "df4a df4b df4c df4d df4e df4f df50 df51 df52 df53 df54 "
1309                 + "df55 df56 df57 df58 df59 df5a df5b df5c df5d df5e df5f "
1310                 + "df60 df61 df62 df63 df64 df65 df66 df67 df68 df69 df6a "
1311                 + "df6b df6c df6d df6e df6f df70 df71 df72 df73 df74 df75 "
1312                 + "df76 df77 df78 df79 df7a df7b df7c df7d df7e df7f df80 "
1313                 + "df81 df82 df83 df84 df85 df86 df87 df88 df89 df8a df8b "
1314                 + "df8c df8d df8e df8f df90 df91 df92 df93 df94 df95 df96 "
1315                 + "df97 df98 df99 df9a df9b df9c df9d df9e df9f dfa0 dfa1 "
1316                 + "dfa2 dfa3 dfa4 dfa5 dfa6 dfa7 dfa8 dfa9 dfaa dfab dfac "
1317                 + "dfad dfae dfaf dfb0 dfb1 dfb2 dfb3 dfb4 dfb5 dfb6 dfb7 "
1318                 + "dfb8 dfb9 dfba dfbb dfbc dfbd dfbe dfbf dfc0 dfc1 dfc2 "
1319                 + "dfc3 dfc4 dfc5 dfc6 dfc7 dfc8 dfc9 dfca dfcb dfcc dfcd "
1320                 + "dfce dfcf dfd0 dfd1 dfd2 dfd3 dfd4 dfd5 dfd6 dfd7 dfd8 "
1321                 + "dfd9 dfda dfdb dfdc dfdd dfde dfdf dfe0 dfe1 dfe2 dfe3 "
1322                 + "dfe4 dfe5 dfe6 dfe7 dfe8 dfe9 dfea dfeb dfec dfed dfee "
1323                 + "dfef dff0 dff1 dff2 dff3 dff4 dff5 dff6 dff7 dff8 dff9 "
1324                 + "dffa dffb dffc dffd dffe dfff found 2048 chars.";
1325
1326                 string symbolChars = "24 2b 3c 3d 3e 5e 60 7c 7e a2 a3 a4 a5 "
1327                 + "a6 a7 a8 a9 ac ae af b0 b1 b4 b6 b8 d7 f7 2c2 2c3 2c4 2c5 "
1328                 + "2d2 2d3 2d4 2d5 2d6 2d7 2d8 2d9 2da 2db 2dc 2dd 2de 2df "
1329                 + "2e5 2e6 2e7 2e8 2e9 2ea 2eb 2ec 2ed 2ef 2f0 2f1 2f2 2f3 "
1330                 + "2f4 2f5 2f6 2f7 2f8 2f9 2fa 2fb 2fc 2fd 2fe 2ff 374 375 "
1331                 + "384 385 3f6 482 60b 60e 60f 6e9 6fd 6fe 7f6 9f2 9f3 9fa "
1332                 + "af1 b70 bf3 bf4 bf5 bf6 bf7 bf8 bf9 bfa cf1 cf2 e3f f01 "
1333                 + "f02 f03 f13 f14 f15 f16 f17 f1a f1b f1c f1d f1e f1f f34 "
1334                 + "f36 f38 fbe fbf fc0 fc1 fc2 fc3 fc4 fc5 fc7 fc8 fc9 fca "
1335                 + "fcb fcc fcf 1360 1390 1391 1392 1393 1394 1395 1396 1397 "
1336                 + "1398 1399 17db 1940 19e0 19e1 19e2 19e3 19e4 19e5 19e6 "
1337                 + "19e7 19e8 19e9 19ea 19eb 19ec 19ed 19ee 19ef 19f0 19f1 "
1338                 + "19f2 19f3 19f4 19f5 19f6 19f7 19f8 19f9 19fa 19fb 19fc "
1339                 + "19fd 19fe 19ff 1b61 1b62 1b63 1b64 1b65 1b66 1b67 1b68 "
1340                 + "1b69 1b6a 1b74 1b75 1b76 1b77 1b78 1b79 1b7a 1b7b 1b7c "
1341                 + "1fbd 1fbf 1fc0 1fc1 1fcd 1fce 1fcf 1fdd 1fde 1fdf 1fed "
1342                 + "1fee 1fef 1ffd 1ffe 2044 2052 207a 207b 207c 208a 208b "
1343                 + "208c 20a0 20a1 20a2 20a3 20a4 20a5 20a6 20a7 20a8 20a9 "
1344                 + "20aa 20ab 20ac 20ad 20ae 20af 20b0 20b1 20b2 20b3 20b4 "
1345                 + "20b5 2100 2101 2103 2104 2105 2106 2108 2109 2114 2116 "
1346                 + "2117 2118 211e 211f 2120 2121 2122 2123 2125 2127 2129 "
1347                 + "212e 213a 213b 2140 2141 2142 2143 2144 214a 214b 214c "
1348                 + "214d 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 "
1349                 + "219a 219b 219c 219d 219e 219f 21a0 21a1 21a2 21a3 21a4 "
1350                 + "21a5 21a6 21a7 21a8 21a9 21aa 21ab 21ac 21ad 21ae 21af "
1351                 + "21b0 21b1 21b2 21b3 21b4 21b5 21b6 21b7 21b8 21b9 21ba "
1352                 + "21bb 21bc 21bd 21be 21bf 21c0 21c1 21c2 21c3 21c4 21c5 "
1353                 + "21c6 21c7 21c8 21c9 21ca 21cb 21cc 21cd 21ce 21cf 21d0 "
1354                 + "21d1 21d2 21d3 21d4 21d5 21d6 21d7 21d8 21d9 21da 21db "
1355                 + "21dc 21dd 21de 21df 21e0 21e1 21e2 21e3 21e4 21e5 21e6 "
1356                 + "21e7 21e8 21e9 21ea 21eb 21ec 21ed 21ee 21ef 21f0 21f1 "
1357                 + "21f2 21f3 21f4 21f5 21f6 21f7 21f8 21f9 21fa 21fb 21fc "
1358                 + "21fd 21fe 21ff 2200 2201 2202 2203 2204 2205 2206 2207 "
1359                 + "2208 2209 220a 220b 220c 220d 220e 220f 2210 2211 2212 "
1360                 + "2213 2214 2215 2216 2217 2218 2219 221a 221b 221c 221d "
1361                 + "221e 221f 2220 2221 2222 2223 2224 2225 2226 2227 2228 "
1362                 + "2229 222a 222b 222c 222d 222e 222f 2230 2231 2232 2233 "
1363                 + "2234 2235 2236 2237 2238 2239 223a 223b 223c 223d 223e "
1364                 + "223f 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 "
1365                 + "224a 224b 224c 224d 224e 224f 2250 2251 2252 2253 2254 "
1366                 + "2255 2256 2257 2258 2259 225a 225b 225c 225d 225e 225f "
1367                 + "2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 226a "
1368                 + "226b 226c 226d 226e 226f 2270 2271 2272 2273 2274 2275 "
1369                 + "2276 2277 2278 2279 227a 227b 227c 227d 227e 227f 2280 "
1370                 + "2281 2282 2283 2284 2285 2286 2287 2288 2289 228a 228b "
1371                 + "228c 228d 228e 228f 2290 2291 2292 2293 2294 2295 2296 "
1372                 + "2297 2298 2299 229a 229b 229c 229d 229e 229f 22a0 22a1 "
1373                 + "22a2 22a3 22a4 22a5 22a6 22a7 22a8 22a9 22aa 22ab 22ac "
1374                 + "22ad 22ae 22af 22b0 22b1 22b2 22b3 22b4 22b5 22b6 22b7 "
1375                 + "22b8 22b9 22ba 22bb 22bc 22bd 22be 22bf 22c0 22c1 22c2 "
1376                 + "22c3 22c4 22c5 22c6 22c7 22c8 22c9 22ca 22cb 22cc 22cd "
1377                 + "22ce 22cf 22d0 22d1 22d2 22d3 22d4 22d5 22d6 22d7 22d8 "
1378                 + "22d9 22da 22db 22dc 22dd 22de 22df 22e0 22e1 22e2 22e3 "
1379                 + "22e4 22e5 22e6 22e7 22e8 22e9 22ea 22eb 22ec 22ed 22ee "
1380                 + "22ef 22f0 22f1 22f2 22f3 22f4 22f5 22f6 22f7 22f8 22f9 "
1381                 + "22fa 22fb 22fc 22fd 22fe 22ff 2300 2301 2302 2303 2304 "
1382                 + "2305 2306 2307 2308 2309 230a 230b 230c 230d 230e 230f "
1383                 + "2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 231a "
1384                 + "231b 231c 231d 231e 231f 2320 2321 2322 2323 2324 2325 "
1385                 + "2326 2327 2328 232b 232c 232d 232e 232f 2330 2331 2332 "
1386                 + "2333 2334 2335 2336 2337 2338 2339 233a 233b 233c 233d "
1387                 + "233e 233f 2340 2341 2342 2343 2344 2345 2346 2347 2348 "
1388                 + "2349 234a 234b 234c 234d 234e 234f 2350 2351 2352 2353 "
1389                 + "2354 2355 2356 2357 2358 2359 235a 235b 235c 235d 235e "
1390                 + "235f 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 "
1391                 + "236a 236b 236c 236d 236e 236f 2370 2371 2372 2373 2374 "
1392                 + "2375 2376 2377 2378 2379 237a 237b 237c 237d 237e 237f "
1393                 + "2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 238a "
1394                 + "238b 238c 238d 238e 238f 2390 2391 2392 2393 2394 2395 "
1395                 + "2396 2397 2398 2399 239a 239b 239c 239d 239e 239f 23a0 "
1396                 + "23a1 23a2 23a3 23a4 23a5 23a6 23a7 23a8 23a9 23aa 23ab "
1397                 + "23ac 23ad 23ae 23af 23b0 23b1 23b2 23b3 23b4 23b5 23b6 "
1398                 + "23b7 23b8 23b9 23ba 23bb 23bc 23bd 23be 23bf 23c0 23c1 "
1399                 + "23c2 23c3 23c4 23c5 23c6 23c7 23c8 23c9 23ca 23cb 23cc "
1400                 + "23cd 23ce 23cf 23d0 23d1 23d2 23d3 23d4 23d5 23d6 23d7 "
1401                 + "23d8 23d9 23da 23db 23dc 23dd 23de 23df 23e0 23e1 23e2 "
1402                 + "23e3 23e4 23e5 23e6 23e7 2400 2401 2402 2403 2404 2405 "
1403                 + "2406 2407 2408 2409 240a 240b 240c 240d 240e 240f 2410 "
1404                 + "2411 2412 2413 2414 2415 2416 2417 2418 2419 241a 241b "
1405                 + "241c 241d 241e 241f 2420 2421 2422 2423 2424 2425 2426 "
1406                 + "2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 244a "
1407                 + "249c 249d 249e 249f 24a0 24a1 24a2 24a3 24a4 24a5 24a6 "
1408                 + "24a7 24a8 24a9 24aa 24ab 24ac 24ad 24ae 24af 24b0 24b1 "
1409                 + "24b2 24b3 24b4 24b5 24b6 24b7 24b8 24b9 24ba 24bb 24bc "
1410                 + "24bd 24be 24bf 24c0 24c1 24c2 24c3 24c4 24c5 24c6 24c7 "
1411                 + "24c8 24c9 24ca 24cb 24cc 24cd 24ce 24cf 24d0 24d1 24d2 "
1412                 + "24d3 24d4 24d5 24d6 24d7 24d8 24d9 24da 24db 24dc 24dd "
1413                 + "24de 24df 24e0 24e1 24e2 24e3 24e4 24e5 24e6 24e7 24e8 "
1414                 + "24e9 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 "
1415                 + "250a 250b 250c 250d 250e 250f 2510 2511 2512 2513 2514 "
1416                 + "2515 2516 2517 2518 2519 251a 251b 251c 251d 251e 251f "
1417                 + "2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 252a "
1418                 + "252b 252c 252d 252e 252f 2530 2531 2532 2533 2534 2535 "
1419                 + "2536 2537 2538 2539 253a 253b 253c 253d 253e 253f 2540 "
1420                 + "2541 2542 2543 2544 2545 2546 2547 2548 2549 254a 254b "
1421                 + "254c 254d 254e 254f 2550 2551 2552 2553 2554 2555 2556 "
1422                 + "2557 2558 2559 255a 255b 255c 255d 255e 255f 2560 2561 "
1423                 + "2562 2563 2564 2565 2566 2567 2568 2569 256a 256b 256c "
1424                 + "256d 256e 256f 2570 2571 2572 2573 2574 2575 2576 2577 "
1425                 + "2578 2579 257a 257b 257c 257d 257e 257f 2580 2581 2582 "
1426                 + "2583 2584 2585 2586 2587 2588 2589 258a 258b 258c 258d "
1427                 + "258e 258f 2590 2591 2592 2593 2594 2595 2596 2597 2598 "
1428                 + "2599 259a 259b 259c 259d 259e 259f 25a0 25a1 25a2 25a3 "
1429                 + "25a4 25a5 25a6 25a7 25a8 25a9 25aa 25ab 25ac 25ad 25ae "
1430                 + "25af 25b0 25b1 25b2 25b3 25b4 25b5 25b6 25b7 25b8 25b9 "
1431                 + "25ba 25bb 25bc 25bd 25be 25bf 25c0 25c1 25c2 25c3 25c4 "
1432                 + "25c5 25c6 25c7 25c8 25c9 25ca 25cb 25cc 25cd 25ce 25cf "
1433                 + "25d0 25d1 25d2 25d3 25d4 25d5 25d6 25d7 25d8 25d9 25da "
1434                 + "25db 25dc 25dd 25de 25df 25e0 25e1 25e2 25e3 25e4 25e5 "
1435                 + "25e6 25e7 25e8 25e9 25ea 25eb 25ec 25ed 25ee 25ef 25f0 "
1436                 + "25f1 25f2 25f3 25f4 25f5 25f6 25f7 25f8 25f9 25fa 25fb "
1437                 + "25fc 25fd 25fe 25ff 2600 2601 2602 2603 2604 2605 2606 "
1438                 + "2607 2608 2609 260a 260b 260c 260d 260e 260f 2610 2611 "
1439                 + "2612 2613 2614 2615 2616 2617 2618 2619 261a 261b 261c "
1440                 + "261d 261e 261f 2620 2621 2622 2623 2624 2625 2626 2627 "
1441                 + "2628 2629 262a 262b 262c 262d 262e 262f 2630 2631 2632 "
1442                 + "2633 2634 2635 2636 2637 2638 2639 263a 263b 263c 263d "
1443                 + "263e 263f 2640 2641 2642 2643 2644 2645 2646 2647 2648 "
1444                 + "2649 264a 264b 264c 264d 264e 264f 2650 2651 2652 2653 "
1445                 + "2654 2655 2656 2657 2658 2659 265a 265b 265c 265d 265e "
1446                 + "265f 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 "
1447                 + "266a 266b 266c 266d 266e 266f 2670 2671 2672 2673 2674 "
1448                 + "2675 2676 2677 2678 2679 267a 267b 267c 267d 267e 267f "
1449                 + "2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 268a "
1450                 + "268b 268c 268d 268e 268f 2690 2691 2692 2693 2694 2695 "
1451                 + "2696 2697 2698 2699 269a 269b 269c 26a0 26a1 26a2 26a3 "
1452                 + "26a4 26a5 26a6 26a7 26a8 26a9 26aa 26ab 26ac 26ad 26ae "
1453                 + "26af 26b0 26b1 26b2 2701 2702 2703 2704 2706 2707 2708 "
1454                 + "2709 270c 270d 270e 270f 2710 2711 2712 2713 2714 2715 "
1455                 + "2716 2717 2718 2719 271a 271b 271c 271d 271e 271f 2720 "
1456                 + "2721 2722 2723 2724 2725 2726 2727 2729 272a 272b 272c "
1457                 + "272d 272e 272f 2730 2731 2732 2733 2734 2735 2736 2737 "
1458                 + "2738 2739 273a 273b 273c 273d 273e 273f 2740 2741 2742 "
1459                 + "2743 2744 2745 2746 2747 2748 2749 274a 274b 274d 274f "
1460                 + "2750 2751 2752 2756 2758 2759 275a 275b 275c 275d 275e "
1461                 + "2761 2762 2763 2764 2765 2766 2767 2794 2798 2799 279a "
1462                 + "279b 279c 279d 279e 279f 27a0 27a1 27a2 27a3 27a4 27a5 "
1463                 + "27a6 27a7 27a8 27a9 27aa 27ab 27ac 27ad 27ae 27af 27b1 "
1464                 + "27b2 27b3 27b4 27b5 27b6 27b7 27b8 27b9 27ba 27bb 27bc "
1465                 + "27bd 27be 27c0 27c1 27c2 27c3 27c4 27c7 27c8 27c9 27ca "
1466                 + "27d0 27d1 27d2 27d3 27d4 27d5 27d6 27d7 27d8 27d9 27da "
1467                 + "27db 27dc 27dd 27de 27df 27e0 27e1 27e2 27e3 27e4 27e5 "
1468                 + "27f0 27f1 27f2 27f3 27f4 27f5 27f6 27f7 27f8 27f9 27fa "
1469                 + "27fb 27fc 27fd 27fe 27ff 2800 2801 2802 2803 2804 2805 "
1470                 + "2806 2807 2808 2809 280a 280b 280c 280d 280e 280f 2810 "
1471                 + "2811 2812 2813 2814 2815 2816 2817 2818 2819 281a 281b "
1472                 + "281c 281d 281e 281f 2820 2821 2822 2823 2824 2825 2826 "
1473                 + "2827 2828 2829 282a 282b 282c 282d 282e 282f 2830 2831 "
1474                 + "2832 2833 2834 2835 2836 2837 2838 2839 283a 283b 283c "
1475                 + "283d 283e 283f 2840 2841 2842 2843 2844 2845 2846 2847 "
1476                 + "2848 2849 284a 284b 284c 284d 284e 284f 2850 2851 2852 "
1477                 + "2853 2854 2855 2856 2857 2858 2859 285a 285b 285c 285d "
1478                 + "285e 285f 2860 2861 2862 2863 2864 2865 2866 2867 2868 "
1479                 + "2869 286a 286b 286c 286d 286e 286f 2870 2871 2872 2873 "
1480                 + "2874 2875 2876 2877 2878 2879 287a 287b 287c 287d 287e "
1481                 + "287f 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 "
1482                 + "288a 288b 288c 288d 288e 288f 2890 2891 2892 2893 2894 "
1483                 + "2895 2896 2897 2898 2899 289a 289b 289c 289d 289e 289f "
1484                 + "28a0 28a1 28a2 28a3 28a4 28a5 28a6 28a7 28a8 28a9 28aa "
1485                 + "28ab 28ac 28ad 28ae 28af 28b0 28b1 28b2 28b3 28b4 28b5 "
1486                 + "28b6 28b7 28b8 28b9 28ba 28bb 28bc 28bd 28be 28bf 28c0 "
1487                 + "28c1 28c2 28c3 28c4 28c5 28c6 28c7 28c8 28c9 28ca 28cb "
1488                 + "28cc 28cd 28ce 28cf 28d0 28d1 28d2 28d3 28d4 28d5 28d6 "
1489                 + "28d7 28d8 28d9 28da 28db 28dc 28dd 28de 28df 28e0 28e1 "
1490                 + "28e2 28e3 28e4 28e5 28e6 28e7 28e8 28e9 28ea 28eb 28ec "
1491                 + "28ed 28ee 28ef 28f0 28f1 28f2 28f3 28f4 28f5 28f6 28f7 "
1492                 + "28f8 28f9 28fa 28fb 28fc 28fd 28fe 28ff 2900 2901 2902 "
1493                 + "2903 2904 2905 2906 2907 2908 2909 290a 290b 290c 290d "
1494                 + "290e 290f 2910 2911 2912 2913 2914 2915 2916 2917 2918 "
1495                 + "2919 291a 291b 291c 291d 291e 291f 2920 2921 2922 2923 "
1496                 + "2924 2925 2926 2927 2928 2929 292a 292b 292c 292d 292e "
1497                 + "292f 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 "
1498                 + "293a 293b 293c 293d 293e 293f 2940 2941 2942 2943 2944 "
1499                 + "2945 2946 2947 2948 2949 294a 294b 294c 294d 294e 294f "
1500                 + "2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 295a "
1501                 + "295b 295c 295d 295e 295f 2960 2961 2962 2963 2964 2965 "
1502                 + "2966 2967 2968 2969 296a 296b 296c 296d 296e 296f 2970 "
1503                 + "2971 2972 2973 2974 2975 2976 2977 2978 2979 297a 297b "
1504                 + "297c 297d 297e 297f 2980 2981 2982 2999 299a 299b 299c "
1505                 + "299d 299e 299f 29a0 29a1 29a2 29a3 29a4 29a5 29a6 29a7 "
1506                 + "29a8 29a9 29aa 29ab 29ac 29ad 29ae 29af 29b0 29b1 29b2 "
1507                 + "29b3 29b4 29b5 29b6 29b7 29b8 29b9 29ba 29bb 29bc 29bd "
1508                 + "29be 29bf 29c0 29c1 29c2 29c3 29c4 29c5 29c6 29c7 29c8 "
1509                 + "29c9 29ca 29cb 29cc 29cd 29ce 29cf 29d0 29d1 29d2 29d3 "
1510                 + "29d4 29d5 29d6 29d7 29dc 29dd 29de 29df 29e0 29e1 29e2 "
1511                 + "29e3 29e4 29e5 29e6 29e7 29e8 29e9 29ea 29eb 29ec 29ed "
1512                 + "29ee 29ef 29f0 29f1 29f2 29f3 29f4 29f5 29f6 29f7 29f8 "
1513                 + "29f9 29fa 29fb 29fe 29ff 2a00 2a01 2a02 2a03 2a04 2a05 "
1514                 + "2a06 2a07 2a08 2a09 2a0a 2a0b 2a0c 2a0d 2a0e 2a0f 2a10 "
1515                 + "2a11 2a12 2a13 2a14 2a15 2a16 2a17 2a18 2a19 2a1a 2a1b "
1516                 + "2a1c 2a1d 2a1e 2a1f 2a20 2a21 2a22 2a23 2a24 2a25 2a26 "
1517                 + "2a27 2a28 2a29 2a2a 2a2b 2a2c 2a2d 2a2e 2a2f 2a30 2a31 "
1518                 + "2a32 2a33 2a34 2a35 2a36 2a37 2a38 2a39 2a3a 2a3b 2a3c "
1519                 + "2a3d 2a3e 2a3f 2a40 2a41 2a42 2a43 2a44 2a45 2a46 2a47 "
1520                 + "2a48 2a49 2a4a 2a4b 2a4c 2a4d 2a4e 2a4f 2a50 2a51 2a52 "
1521                 + "2a53 2a54 2a55 2a56 2a57 2a58 2a59 2a5a 2a5b 2a5c 2a5d "
1522                 + "2a5e 2a5f 2a60 2a61 2a62 2a63 2a64 2a65 2a66 2a67 2a68 "
1523                 + "2a69 2a6a 2a6b 2a6c 2a6d 2a6e 2a6f 2a70 2a71 2a72 2a73 "
1524                 + "2a74 2a75 2a76 2a77 2a78 2a79 2a7a 2a7b 2a7c 2a7d 2a7e "
1525                 + "2a7f 2a80 2a81 2a82 2a83 2a84 2a85 2a86 2a87 2a88 2a89 "
1526                 + "2a8a 2a8b 2a8c 2a8d 2a8e 2a8f 2a90 2a91 2a92 2a93 2a94 "
1527                 + "2a95 2a96 2a97 2a98 2a99 2a9a 2a9b 2a9c 2a9d 2a9e 2a9f "
1528                 + "2aa0 2aa1 2aa2 2aa3 2aa4 2aa5 2aa6 2aa7 2aa8 2aa9 2aaa "
1529                 + "2aab 2aac 2aad 2aae 2aaf 2ab0 2ab1 2ab2 2ab3 2ab4 2ab5 "
1530                 + "2ab6 2ab7 2ab8 2ab9 2aba 2abb 2abc 2abd 2abe 2abf 2ac0 "
1531                 + "2ac1 2ac2 2ac3 2ac4 2ac5 2ac6 2ac7 2ac8 2ac9 2aca 2acb "
1532                 + "2acc 2acd 2ace 2acf 2ad0 2ad1 2ad2 2ad3 2ad4 2ad5 2ad6 "
1533                 + "2ad7 2ad8 2ad9 2ada 2adb 2adc 2add 2ade 2adf 2ae0 2ae1 "
1534                 + "2ae2 2ae3 2ae4 2ae5 2ae6 2ae7 2ae8 2ae9 2aea 2aeb 2aec "
1535                 + "2aed 2aee 2aef 2af0 2af1 2af2 2af3 2af4 2af5 2af6 2af7 "
1536                 + "2af8 2af9 2afa 2afb 2afc 2afd 2afe 2aff 2b00 2b01 2b02 "
1537                 + "2b03 2b04 2b05 2b06 2b07 2b08 2b09 2b0a 2b0b 2b0c 2b0d "
1538                 + "2b0e 2b0f 2b10 2b11 2b12 2b13 2b14 2b15 2b16 2b17 2b18 "
1539                 + "2b19 2b1a 2b20 2b21 2b22 2b23 2ce5 2ce6 2ce7 2ce8 2ce9 "
1540                 + "2cea 2e80 2e81 2e82 2e83 2e84 2e85 2e86 2e87 2e88 2e89 "
1541                 + "2e8a 2e8b 2e8c 2e8d 2e8e 2e8f 2e90 2e91 2e92 2e93 2e94 "
1542                 + "2e95 2e96 2e97 2e98 2e99 2e9b 2e9c 2e9d 2e9e 2e9f 2ea0 "
1543                 + "2ea1 2ea2 2ea3 2ea4 2ea5 2ea6 2ea7 2ea8 2ea9 2eaa 2eab "
1544                 + "2eac 2ead 2eae 2eaf 2eb0 2eb1 2eb2 2eb3 2eb4 2eb5 2eb6 "
1545                 + "2eb7 2eb8 2eb9 2eba 2ebb 2ebc 2ebd 2ebe 2ebf 2ec0 2ec1 "
1546                 + "2ec2 2ec3 2ec4 2ec5 2ec6 2ec7 2ec8 2ec9 2eca 2ecb 2ecc "
1547                 + "2ecd 2ece 2ecf 2ed0 2ed1 2ed2 2ed3 2ed4 2ed5 2ed6 2ed7 "
1548                 + "2ed8 2ed9 2eda 2edb 2edc 2edd 2ede 2edf 2ee0 2ee1 2ee2 "
1549                 + "2ee3 2ee4 2ee5 2ee6 2ee7 2ee8 2ee9 2eea 2eeb 2eec 2eed "
1550                 + "2eee 2eef 2ef0 2ef1 2ef2 2ef3 2f00 2f01 2f02 2f03 2f04 "
1551                 + "2f05 2f06 2f07 2f08 2f09 2f0a 2f0b 2f0c 2f0d 2f0e 2f0f "
1552                 + "2f10 2f11 2f12 2f13 2f14 2f15 2f16 2f17 2f18 2f19 2f1a "
1553                 + "2f1b 2f1c 2f1d 2f1e 2f1f 2f20 2f21 2f22 2f23 2f24 2f25 "
1554                 + "2f26 2f27 2f28 2f29 2f2a 2f2b 2f2c 2f2d 2f2e 2f2f 2f30 "
1555                 + "2f31 2f32 2f33 2f34 2f35 2f36 2f37 2f38 2f39 2f3a 2f3b "
1556                 + "2f3c 2f3d 2f3e 2f3f 2f40 2f41 2f42 2f43 2f44 2f45 2f46 "
1557                 + "2f47 2f48 2f49 2f4a 2f4b 2f4c 2f4d 2f4e 2f4f 2f50 2f51 "
1558                 + "2f52 2f53 2f54 2f55 2f56 2f57 2f58 2f59 2f5a 2f5b 2f5c "
1559                 + "2f5d 2f5e 2f5f 2f60 2f61 2f62 2f63 2f64 2f65 2f66 2f67 "
1560                 + "2f68 2f69 2f6a 2f6b 2f6c 2f6d 2f6e 2f6f 2f70 2f71 2f72 "
1561                 + "2f73 2f74 2f75 2f76 2f77 2f78 2f79 2f7a 2f7b 2f7c 2f7d "
1562                 + "2f7e 2f7f 2f80 2f81 2f82 2f83 2f84 2f85 2f86 2f87 2f88 "
1563                 + "2f89 2f8a 2f8b 2f8c 2f8d 2f8e 2f8f 2f90 2f91 2f92 2f93 "
1564                 + "2f94 2f95 2f96 2f97 2f98 2f99 2f9a 2f9b 2f9c 2f9d 2f9e "
1565                 + "2f9f 2fa0 2fa1 2fa2 2fa3 2fa4 2fa5 2fa6 2fa7 2fa8 2fa9 "
1566                 + "2faa 2fab 2fac 2fad 2fae 2faf 2fb0 2fb1 2fb2 2fb3 2fb4 "
1567                 + "2fb5 2fb6 2fb7 2fb8 2fb9 2fba 2fbb 2fbc 2fbd 2fbe 2fbf "
1568                 + "2fc0 2fc1 2fc2 2fc3 2fc4 2fc5 2fc6 2fc7 2fc8 2fc9 2fca "
1569                 + "2fcb 2fcc 2fcd 2fce 2fcf 2fd0 2fd1 2fd2 2fd3 2fd4 2fd5 "
1570                 + "2ff0 2ff1 2ff2 2ff3 2ff4 2ff5 2ff6 2ff7 2ff8 2ff9 2ffa "
1571                 + "2ffb 3004 3012 3013 3020 3036 3037 303e 303f 309b 309c "
1572                 + "3190 3191 3196 3197 3198 3199 319a 319b 319c 319d 319e "
1573                 + "319f 31c0 31c1 31c2 31c3 31c4 31c5 31c6 31c7 31c8 31c9 "
1574                 + "31ca 31cb 31cc 31cd 31ce 31cf 3200 3201 3202 3203 3204 "
1575                 + "3205 3206 3207 3208 3209 320a 320b 320c 320d 320e 320f "
1576                 + "3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 321a "
1577                 + "321b 321c 321d 321e 322a 322b 322c 322d 322e 322f 3230 "
1578                 + "3231 3232 3233 3234 3235 3236 3237 3238 3239 323a 323b "
1579                 + "323c 323d 323e 323f 3240 3241 3242 3243 3250 3260 3261 "
1580                 + "3262 3263 3264 3265 3266 3267 3268 3269 326a 326b 326c "
1581                 + "326d 326e 326f 3270 3271 3272 3273 3274 3275 3276 3277 "
1582                 + "3278 3279 327a 327b 327c 327d 327e 327f 328a 328b 328c "
1583                 + "328d 328e 328f 3290 3291 3292 3293 3294 3295 3296 3297 "
1584                 + "3298 3299 329a 329b 329c 329d 329e 329f 32a0 32a1 32a2 "
1585                 + "32a3 32a4 32a5 32a6 32a7 32a8 32a9 32aa 32ab 32ac 32ad "
1586                 + "32ae 32af 32b0 32c0 32c1 32c2 32c3 32c4 32c5 32c6 32c7 "
1587                 + "32c8 32c9 32ca 32cb 32cc 32cd 32ce 32cf 32d0 32d1 32d2 "
1588                 + "32d3 32d4 32d5 32d6 32d7 32d8 32d9 32da 32db 32dc 32dd "
1589                 + "32de 32df 32e0 32e1 32e2 32e3 32e4 32e5 32e6 32e7 32e8 "
1590                 + "32e9 32ea 32eb 32ec 32ed 32ee 32ef 32f0 32f1 32f2 32f3 "
1591                 + "32f4 32f5 32f6 32f7 32f8 32f9 32fa 32fb 32fc 32fd 32fe "
1592                 + "3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 330a "
1593                 + "330b 330c 330d 330e 330f 3310 3311 3312 3313 3314 3315 "
1594                 + "3316 3317 3318 3319 331a 331b 331c 331d 331e 331f 3320 "
1595                 + "3321 3322 3323 3324 3325 3326 3327 3328 3329 332a 332b "
1596                 + "332c 332d 332e 332f 3330 3331 3332 3333 3334 3335 3336 "
1597                 + "3337 3338 3339 333a 333b 333c 333d 333e 333f 3340 3341 "
1598                 + "3342 3343 3344 3345 3346 3347 3348 3349 334a 334b 334c "
1599                 + "334d 334e 334f 3350 3351 3352 3353 3354 3355 3356 3357 "
1600                 + "3358 3359 335a 335b 335c 335d 335e 335f 3360 3361 3362 "
1601                 + "3363 3364 3365 3366 3367 3368 3369 336a 336b 336c 336d "
1602                 + "336e 336f 3370 3371 3372 3373 3374 3375 3376 3377 3378 "
1603                 + "3379 337a 337b 337c 337d 337e 337f 3380 3381 3382 3383 "
1604                 + "3384 3385 3386 3387 3388 3389 338a 338b 338c 338d 338e "
1605                 + "338f 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 "
1606                 + "339a 339b 339c 339d 339e 339f 33a0 33a1 33a2 33a3 33a4 "
1607                 + "33a5 33a6 33a7 33a8 33a9 33aa 33ab 33ac 33ad 33ae 33af "
1608                 + "33b0 33b1 33b2 33b3 33b4 33b5 33b6 33b7 33b8 33b9 33ba "
1609                 + "33bb 33bc 33bd 33be 33bf 33c0 33c1 33c2 33c3 33c4 33c5 "
1610                 + "33c6 33c7 33c8 33c9 33ca 33cb 33cc 33cd 33ce 33cf 33d0 "
1611                 + "33d1 33d2 33d3 33d4 33d5 33d6 33d7 33d8 33d9 33da 33db "
1612                 + "33dc 33dd 33de 33df 33e0 33e1 33e2 33e3 33e4 33e5 33e6 "
1613                 + "33e7 33e8 33e9 33ea 33eb 33ec 33ed 33ee 33ef 33f0 33f1 "
1614                 + "33f2 33f3 33f4 33f5 33f6 33f7 33f8 33f9 33fa 33fb 33fc "
1615                 + "33fd 33fe 33ff 4dc0 4dc1 4dc2 4dc3 4dc4 4dc5 4dc6 4dc7 "
1616                 + "4dc8 4dc9 4dca 4dcb 4dcc 4dcd 4dce 4dcf 4dd0 4dd1 4dd2 "
1617                 + "4dd3 4dd4 4dd5 4dd6 4dd7 4dd8 4dd9 4dda 4ddb 4ddc 4ddd "
1618                 + "4dde 4ddf 4de0 4de1 4de2 4de3 4de4 4de5 4de6 4de7 4de8 "
1619                 + "4de9 4dea 4deb 4dec 4ded 4dee 4def 4df0 4df1 4df2 4df3 "
1620                 + "4df4 4df5 4df6 4df7 4df8 4df9 4dfa 4dfb 4dfc 4dfd 4dfe "
1621                 + "4dff a490 a491 a492 a493 a494 a495 a496 a497 a498 a499 "
1622                 + "a49a a49b a49c a49d a49e a49f a4a0 a4a1 a4a2 a4a3 a4a4 "
1623                 + "a4a5 a4a6 a4a7 a4a8 a4a9 a4aa a4ab a4ac a4ad a4ae a4af "
1624                 + "a4b0 a4b1 a4b2 a4b3 a4b4 a4b5 a4b6 a4b7 a4b8 a4b9 a4ba "
1625                 + "a4bb a4bc a4bd a4be a4bf a4c0 a4c1 a4c2 a4c3 a4c4 a4c5 "
1626                 + "a4c6 a700 a701 a702 a703 a704 a705 a706 a707 a708 a709 "
1627                 + "a70a a70b a70c a70d a70e a70f a710 a711 a712 a713 a714 "
1628                 + "a715 a716 a720 a721 a828 a829 a82a a82b fb29 fdfc fdfd "
1629                 + "fe62 fe64 fe65 fe66 fe69 ff04 ff0b ff1c ff1d ff1e ff3e "
1630                 + "ff40 ff5c ff5e ffe0 ffe1 ffe2 ffe3 ffe4 ffe5 ffe6 ffe8 "
1631                 + "ffe9 ffea ffeb ffec ffed ffee fffc fffd found 3394 chars.";
1632
1633                 string upperChars = "41 42 43 44 45 46 47 48 49 4a 4b 4c 4d "
1634                 + "4e 4f 50 51 52 53 54 55 56 57 58 59 5a c0 c1 c2 c3 c4 c5 "
1635                 + "c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d8 d9 "
1636                 + "da db dc dd de 100 102 104 106 108 10a 10c 10e 110 112 114 "
1637                 + "116 118 11a 11c 11e 120 122 124 126 128 12a 12c 12e 130 "
1638                 + "132 134 136 139 13b 13d 13f 141 143 145 147 14a 14c 14e "
1639                 + "150 152 154 156 158 15a 15c 15e 160 162 164 166 168 16a "
1640                 + "16c 16e 170 172 174 176 178 179 17b 17d 181 182 184 186 "
1641                 + "187 189 18a 18b 18e 18f 190 191 193 194 196 197 198 19c "
1642                 + "19d 19f 1a0 1a2 1a4 1a6 1a7 1a9 1ac 1ae 1af 1b1 1b2 1b3 "
1643                 + "1b5 1b7 1b8 1bc 1c4 1c7 1ca 1cd 1cf 1d1 1d3 1d5 1d7 1d9 "
1644                 + "1db 1de 1e0 1e2 1e4 1e6 1e8 1ea 1ec 1ee 1f1 1f4 1f6 1f7 "
1645                 + "1f8 1fa 1fc 1fe 200 202 204 206 208 20a 20c 20e 210 212 "
1646                 + "214 216 218 21a 21c 21e 220 222 224 226 228 22a 22c 22e "
1647                 + "230 232 23a 23b 23d 23e 241 243 244 245 246 248 24a 24c "
1648                 + "24e 386 388 389 38a 38c 38e 38f 391 392 393 394 395 396 "
1649                 + "397 398 399 39a 39b 39c 39d 39e 39f 3a0 3a1 3a3 3a4 3a5 "
1650                 + "3a6 3a7 3a8 3a9 3aa 3ab 3d2 3d3 3d4 3d8 3da 3dc 3de 3e0 "
1651                 + "3e2 3e4 3e6 3e8 3ea 3ec 3ee 3f4 3f7 3f9 3fa 3fd 3fe 3ff "
1652                 + "400 401 402 403 404 405 406 407 408 409 40a 40b 40c 40d "
1653                 + "40e 40f 410 411 412 413 414 415 416 417 418 419 41a 41b "
1654                 + "41c 41d 41e 41f 420 421 422 423 424 425 426 427 428 429 "
1655                 + "42a 42b 42c 42d 42e 42f 460 462 464 466 468 46a 46c 46e "
1656                 + "470 472 474 476 478 47a 47c 47e 480 48a 48c 48e 490 492 "
1657                 + "494 496 498 49a 49c 49e 4a0 4a2 4a4 4a6 4a8 4aa 4ac 4ae "
1658                 + "4b0 4b2 4b4 4b6 4b8 4ba 4bc 4be 4c0 4c1 4c3 4c5 4c7 4c9 "
1659                 + "4cb 4cd 4d0 4d2 4d4 4d6 4d8 4da 4dc 4de 4e0 4e2 4e4 4e6 "
1660                 + "4e8 4ea 4ec 4ee 4f0 4f2 4f4 4f6 4f8 4fa 4fc 4fe 500 502 "
1661                 + "504 506 508 50a 50c 50e 510 512 531 532 533 534 535 536 "
1662                 + "537 538 539 53a 53b 53c 53d 53e 53f 540 541 542 543 544 "
1663                 + "545 546 547 548 549 54a 54b 54c 54d 54e 54f 550 551 552 "
1664                 + "553 554 555 556 10a0 10a1 10a2 10a3 10a4 10a5 10a6 10a7 "
1665                 + "10a8 10a9 10aa 10ab 10ac 10ad 10ae 10af 10b0 10b1 10b2 "
1666                 + "10b3 10b4 10b5 10b6 10b7 10b8 10b9 10ba 10bb 10bc 10bd "
1667                 + "10be 10bf 10c0 10c1 10c2 10c3 10c4 10c5 1e00 1e02 1e04 "
1668                 + "1e06 1e08 1e0a 1e0c 1e0e 1e10 1e12 1e14 1e16 1e18 1e1a "
1669                 + "1e1c 1e1e 1e20 1e22 1e24 1e26 1e28 1e2a 1e2c 1e2e 1e30 "
1670                 + "1e32 1e34 1e36 1e38 1e3a 1e3c 1e3e 1e40 1e42 1e44 1e46 "
1671                 + "1e48 1e4a 1e4c 1e4e 1e50 1e52 1e54 1e56 1e58 1e5a 1e5c "
1672                 + "1e5e 1e60 1e62 1e64 1e66 1e68 1e6a 1e6c 1e6e 1e70 1e72 "
1673                 + "1e74 1e76 1e78 1e7a 1e7c 1e7e 1e80 1e82 1e84 1e86 1e88 "
1674                 + "1e8a 1e8c 1e8e 1e90 1e92 1e94 1ea0 1ea2 1ea4 1ea6 1ea8 "
1675                 + "1eaa 1eac 1eae 1eb0 1eb2 1eb4 1eb6 1eb8 1eba 1ebc 1ebe "
1676                 + "1ec0 1ec2 1ec4 1ec6 1ec8 1eca 1ecc 1ece 1ed0 1ed2 1ed4 "
1677                 + "1ed6 1ed8 1eda 1edc 1ede 1ee0 1ee2 1ee4 1ee6 1ee8 1eea "
1678                 + "1eec 1eee 1ef0 1ef2 1ef4 1ef6 1ef8 1f08 1f09 1f0a 1f0b "
1679                 + "1f0c 1f0d 1f0e 1f0f 1f18 1f19 1f1a 1f1b 1f1c 1f1d 1f28 "
1680                 + "1f29 1f2a 1f2b 1f2c 1f2d 1f2e 1f2f 1f38 1f39 1f3a 1f3b "
1681                 + "1f3c 1f3d 1f3e 1f3f 1f48 1f49 1f4a 1f4b 1f4c 1f4d 1f59 "
1682                 + "1f5b 1f5d 1f5f 1f68 1f69 1f6a 1f6b 1f6c 1f6d 1f6e 1f6f "
1683                 + "1fb8 1fb9 1fba 1fbb 1fc8 1fc9 1fca 1fcb 1fd8 1fd9 1fda "
1684                 + "1fdb 1fe8 1fe9 1fea 1feb 1fec 1ff8 1ff9 1ffa 1ffb 2102 "
1685                 + "2107 210b 210c 210d 2110 2111 2112 2115 2119 211a 211b "
1686                 + "211c 211d 2124 2126 2128 212a 212b 212c 212d 2130 2131 "
1687                 + "2132 2133 213e 213f 2145 2183 2c00 2c01 2c02 2c03 2c04 "
1688                 + "2c05 2c06 2c07 2c08 2c09 2c0a 2c0b 2c0c 2c0d 2c0e 2c0f "
1689                 + "2c10 2c11 2c12 2c13 2c14 2c15 2c16 2c17 2c18 2c19 2c1a "
1690                 + "2c1b 2c1c 2c1d 2c1e 2c1f 2c20 2c21 2c22 2c23 2c24 2c25 "
1691                 + "2c26 2c27 2c28 2c29 2c2a 2c2b 2c2c 2c2d 2c2e 2c60 2c62 "
1692                 + "2c63 2c64 2c67 2c69 2c6b 2c75 2c80 2c82 2c84 2c86 2c88 "
1693                 + "2c8a 2c8c 2c8e 2c90 2c92 2c94 2c96 2c98 2c9a 2c9c 2c9e "
1694                 + "2ca0 2ca2 2ca4 2ca6 2ca8 2caa 2cac 2cae 2cb0 2cb2 2cb4 "
1695                 + "2cb6 2cb8 2cba 2cbc 2cbe 2cc0 2cc2 2cc4 2cc6 2cc8 2cca "
1696                 + "2ccc 2cce 2cd0 2cd2 2cd4 2cd6 2cd8 2cda 2cdc 2cde 2ce0 "
1697                 + "2ce2 ff21 ff22 ff23 ff24 ff25 ff26 ff27 ff28 ff29 ff2a "
1698                 + "ff2b ff2c ff2d ff2e ff2f ff30 ff31 ff32 ff33 ff34 ff35 "
1699                 + "ff36 ff37 ff38 ff39 ff3a found 836 chars.";
1700
1701                 string whitespaceChars = "9 a b c d 20 85 a0 1680 180e 2000 "
1702                 + "2001 2002 2003 2004 2005 2006 2007 2008 2009 200a 2028 "
1703                 + "2029 202f 205f 3000 found 26 chars.";
1704 #endif
1705
1706                 string letters = "";
1707                 string letterOrDigits = "";
1708         }
1709
1710         public class CharCategoryUtils
1711         {
1712 #if false
1713                 // Usage:
1714                 //   If you want to re-generate the dumps on your box,
1715                 //   run this program *under MS.NET*. The resulting
1716                 //   text files will be used in corlib nunit test.
1717                 //
1718                 //   BE CAREFUL: if you ran compile and ran this
1719                 //   program *under Mono* and overwrote them, it might
1720                 //   break the purpose of the test!!
1721                 //
1722                 // Categories:
1723                 //-  controls digits letters letterOrDigits lowerChars
1724                 //-  numbers puncts separators surrogateChars
1725                 //-  symbolChars upperChars whitespaceChars
1726                 public static void Main (string[] args)
1727                 {
1728                         bool text_dump = false;
1729
1730                         for (int i = 0; i < args.Length; i++) {
1731                                 string arg = args [i];
1732                                 string dump = null;
1733
1734                                 switch (arg) {
1735                                 case "controls":
1736                                         dump = GenerateDump (new ComparisonMethod (Char.IsControl), true);
1737                                         break;
1738                                 case "digits":
1739                                         dump = GenerateDump (new ComparisonMethod (Char.IsDigit), true);
1740                                         break;
1741                                 case "letters":
1742                                         dump = GenerateDump (new ComparisonMethod (Char.IsLetter), false);
1743                                         break;
1744                                 case "letterOrDigits":
1745                                         dump = GenerateDump (new ComparisonMethod (Char.IsLetterOrDigit), false);
1746                                         break;
1747                                 case "lowerChars":
1748                                         dump = GenerateDump (new ComparisonMethod (Char.IsLower), true);
1749                                         break;
1750                                 case "numbers":
1751                                         dump = GenerateDump (new ComparisonMethod (Char.IsNumber), true);
1752                                         break;
1753                                 case "puncts":
1754                                         dump = GenerateDump (new ComparisonMethod (Char.IsPunctuation), true);
1755                                         break;
1756                                 case "separators":
1757                                         dump = GenerateDump (new ComparisonMethod (Char.IsSeparator), true);
1758                                         break;
1759                                 case "surrogateChars":
1760                                         dump = GenerateDump (new ComparisonMethod (Char.IsSurrogate), true);
1761                                         break;
1762                                 case "symbolChars":
1763                                         dump = GenerateDump (new ComparisonMethod (Char.IsSymbol), true);
1764                                         break;
1765                                 case "upperChars":
1766                                         dump = GenerateDump (new ComparisonMethod (Char.IsUpper), true);
1767                                         break;
1768                                 case "whitespaceChars":
1769                                         dump = GenerateDump (new ComparisonMethod (Char.IsWhiteSpace), true);
1770                                         break;
1771                                 case "--text":
1772                                         text_dump = true;
1773                                         break;
1774                                 case "--vars":
1775                                         text_dump = false;
1776                                         break;
1777                                 default:
1778                                         throw new ArgumentException ("Unrecognized argument '" + arg + "'");
1779                                 }
1780
1781                                 if (dump == null)
1782                                         continue;
1783
1784                                 if (i > 0)
1785                                         Console.WriteLine ();
1786
1787                                 if (text_dump)
1788                                         Console.WriteLine (dump);
1789                                 else
1790                                         WriteVarInit (arg, dump, 79);
1791                         }
1792                 }
1793 #endif
1794                 // NOTE: This method doesn't perform any escaping!
1795                 private static void WriteVarInit (string name, string value, int cut_at)
1796                 {
1797                         string leader = "\t\tstring " + name + " = ";
1798                         Console.Write (leader);
1799
1800                         for (int pos = 0; pos < value.Length; ) {
1801                                 // Assuming two tabs.
1802                                 int space = cut_at - (leader.Length - 2 + 16) - 2;
1803                                 int remainder = value.Length - pos;
1804
1805                                 if (remainder < space) {
1806                                         Console.Write ("\"{0}\"", value.Substring (pos));
1807                                         break;
1808                                 } else {
1809                                         int next_pos = pos + space;
1810                                         while (!Char.IsWhiteSpace(value[next_pos - 1]))
1811                                                 next_pos--;
1812
1813                                         Console.WriteLine ("\"{0}\"", value.Substring (pos, next_pos - pos));
1814
1815                                         leader = "\t\t+ ";
1816                                         Console.Write (leader);
1817
1818                                         pos = next_pos;
1819                                 }
1820                         }
1821
1822                         Console.WriteLine (";");
1823                 }
1824
1825                 public static String GenerateDump (ComparisonMethod cm, bool testTrue)
1826                 {
1827                         StringWriter sw = new StringWriter ();
1828                         int total = 0;
1829
1830                         for (int i = 0; i <= Char.MaxValue; i++) {
1831                                 if (cm ((char) i) == testTrue) {
1832                                         sw.Write (i.ToString ("x"));
1833                                         sw.Write (' ');
1834                                         total++;
1835                                 }
1836                         }
1837
1838                         sw.Write ("found " + total + " chars.");
1839                         return sw.ToString();
1840                 }
1841         }
1842 }