From fa095a4504cbe668e4244547e2c141597bea4ecf Mon Sep 17 00:00:00 2001 From: Andreas Rottmann Date: Mon, 14 Sep 2009 12:32:44 +0200 Subject: Imported Upstream version 0.9.1 --- tests/Makefile.am | 39 + tests/Makefile.gnulib | 3200 ++ tests/Makefile.in | 6709 ++++ tests/error.c | 338 + tests/error.h | 65 + tests/exitfail.c | 24 + tests/exitfail.h | 18 + tests/gettext.h | 279 + tests/intprops.h | 77 + tests/locale.in.h | 36 + tests/nan.h | 60 + tests/progname.c | 63 + tests/progname.h | 60 + tests/setenv.c | 330 + tests/strerror.c | 347 + tests/test-alloca-opt.c | 62 + tests/test-array-mergesort.c | 395 + tests/test-c-ctype.c | 398 + tests/test-c-strcase.sh | 21 + tests/test-c-strcasecmp.c | 77 + tests/test-c-strncasecmp.c | 91 + tests/test-environ.c | 44 + tests/test-errno.c | 117 + tests/test-frexpl.c | 233 + tests/test-fseterr.c | 44 + tests/test-iconv.c | 149 + tests/test-isnand-nolibm.c | 22 + tests/test-isnand.h | 78 + tests/test-isnanf-nolibm.c | 21 + tests/test-isnanf.h | 80 + tests/test-isnanl-nolibm.c | 23 + tests/test-isnanl.h | 154 + tests/test-locale.c | 44 + tests/test-localename.c | 122 + tests/test-malloca.c | 59 + tests/test-math.c | 53 + tests/test-mbrtowc.c | 330 + tests/test-mbrtowc1.sh | 15 + tests/test-mbrtowc2.sh | 15 + tests/test-mbrtowc3.sh | 15 + tests/test-mbrtowc4.sh | 15 + tests/test-mbsinit.c | 62 + tests/test-mbsinit.sh | 15 + tests/test-memchr.c | 130 + tests/test-printf-frexp.c | 131 + tests/test-printf-frexpl.c | 147 + tests/test-signbit.c | 204 + tests/test-stdbool.c | 95 + tests/test-stdint.c | 360 + tests/test-stdlib.c | 43 + tests/test-strerror.c | 65 + tests/test-striconveh.c | 922 + tests/test-striconveha.c | 609 + tests/test-string.c | 33 + tests/test-unistd.c | 56 + tests/test-wchar.c | 31 + tests/test-wctype.c | 46 + tests/test-wcwidth.c | 91 + tests/unicase/test-casecmp.h | 69 + tests/unicase/test-cased.c | 135 + tests/unicase/test-ignorable.c | 246 + tests/unicase/test-is-cased.h | 58 + tests/unicase/test-is-casefolded.h | 43 + tests/unicase/test-is-lowercase.h | 95 + tests/unicase/test-is-titlecase.h | 95 + tests/unicase/test-is-uppercase.h | 95 + tests/unicase/test-locale-language.c | 56 + tests/unicase/test-locale-language.sh | 30 + tests/unicase/test-mapping-part1.h | 45 + tests/unicase/test-mapping-part2.h | 37 + tests/unicase/test-predicate-part1.h | 45 + tests/unicase/test-predicate-part2.h | 37 + tests/unicase/test-u16-casecmp.c | 336 + tests/unicase/test-u16-casecoll.c | 54 + tests/unicase/test-u16-casefold.c | 214 + tests/unicase/test-u16-is-cased.c | 51 + tests/unicase/test-u16-is-casefolded.c | 65 + tests/unicase/test-u16-is-lowercase.c | 93 + tests/unicase/test-u16-is-titlecase.c | 51 + tests/unicase/test-u16-is-uppercase.c | 93 + tests/unicase/test-u16-tolower.c | 251 + tests/unicase/test-u16-totitle.c | 211 + tests/unicase/test-u16-toupper.c | 211 + tests/unicase/test-u32-casecmp.c | 336 + tests/unicase/test-u32-casecoll.c | 54 + tests/unicase/test-u32-casefold.c | 214 + tests/unicase/test-u32-is-cased.c | 51 + tests/unicase/test-u32-is-casefolded.c | 65 + tests/unicase/test-u32-is-lowercase.c | 93 + tests/unicase/test-u32-is-titlecase.c | 51 + tests/unicase/test-u32-is-uppercase.c | 93 + tests/unicase/test-u32-tolower.c | 251 + tests/unicase/test-u32-totitle.c | 211 + tests/unicase/test-u32-toupper.c | 211 + tests/unicase/test-u8-casecmp.c | 345 + tests/unicase/test-u8-casecoll.c | 54 + tests/unicase/test-u8-casefold.c | 220 + tests/unicase/test-u8-is-cased.c | 51 + tests/unicase/test-u8-is-casefolded.c | 65 + tests/unicase/test-u8-is-lowercase.c | 93 + tests/unicase/test-u8-is-titlecase.c | 51 + tests/unicase/test-u8-is-uppercase.c | 93 + tests/unicase/test-u8-tolower.c | 257 + tests/unicase/test-u8-totitle.c | 217 + tests/unicase/test-u8-toupper.c | 217 + tests/unicase/test-uc_tolower.c | 1047 + tests/unicase/test-uc_totitle.c | 1055 + tests/unicase/test-uc_toupper.c | 1055 + tests/unicase/test-ulc-casecmp.c | 408 + tests/unicase/test-ulc-casecmp1.sh | 15 + tests/unicase/test-ulc-casecmp2.sh | 15 + tests/unicase/test-ulc-casecoll.c | 59 + tests/unicase/test-ulc-casecoll1.sh | 15 + tests/unicase/test-ulc-casecoll2.sh | 15 + tests/uniconv/test-u16-conv-from-enc.c | 232 + tests/uniconv/test-u16-conv-to-enc.c | 188 + tests/uniconv/test-u16-strconv-from-enc.c | 132 + tests/uniconv/test-u16-strconv-to-enc.c | 121 + tests/uniconv/test-u32-conv-from-enc.c | 232 + tests/uniconv/test-u32-conv-to-enc.c | 163 + tests/uniconv/test-u32-strconv-from-enc.c | 132 + tests/uniconv/test-u32-strconv-to-enc.c | 108 + tests/uniconv/test-u8-conv-from-enc.c | 218 + tests/uniconv/test-u8-conv-to-enc.c | 193 + tests/uniconv/test-u8-strconv-from-enc.c | 114 + tests/uniconv/test-u8-strconv-to-enc.c | 112 + tests/unictype/test-bidi_byname.c | 44 + tests/unictype/test-bidi_name.c | 44 + tests/unictype/test-bidi_of.c | 45 + tests/unictype/test-bidi_test.c | 60 + tests/unictype/test-block_list.c | 62 + tests/unictype/test-block_of.c | 79 + tests/unictype/test-block_test.c | 54 + tests/unictype/test-categ_C.c | 469 + tests/unictype/test-categ_Cc.c | 24 + tests/unictype/test-categ_Cf.c | 36 + tests/unictype/test-categ_Cn.c | 467 + tests/unictype/test-categ_Co.c | 25 + tests/unictype/test-categ_Cs.c | 23 + tests/unictype/test-categ_L.c | 412 + tests/unictype/test-categ_Ll.c | 620 + tests/unictype/test-categ_Lm.c | 61 + tests/unictype/test-categ_Lo.c | 304 + tests/unictype/test-categ_Lt.c | 32 + tests/unictype/test-categ_Lu.c | 613 + tests/unictype/test-categ_M.c | 183 + tests/unictype/test-categ_Mc.c | 107 + tests/unictype/test-categ_Me.c | 27 + tests/unictype/test-categ_Mn.c | 182 + tests/unictype/test-categ_N.c | 91 + tests/unictype/test-categ_Nd.c | 55 + tests/unictype/test-categ_Nl.c | 33 + tests/unictype/test-categ_No.c | 52 + tests/unictype/test-categ_P.c | 134 + tests/unictype/test-categ_Pc.c | 28 + tests/unictype/test-categ_Pd.c | 36 + tests/unictype/test-categ_Pe.c | 92 + tests/unictype/test-categ_Pf.c | 32 + tests/unictype/test-categ_Pi.c | 33 + tests/unictype/test-categ_Po.c | 130 + tests/unictype/test-categ_Ps.c | 94 + tests/unictype/test-categ_S.c | 201 + tests/unictype/test-categ_Sc.c | 36 + tests/unictype/test-categ_Sk.c | 48 + tests/unictype/test-categ_Sm.c | 87 + tests/unictype/test-categ_So.c | 156 + tests/unictype/test-categ_Z.c | 31 + tests/unictype/test-categ_Zl.c | 23 + tests/unictype/test-categ_Zp.c | 23 + tests/unictype/test-categ_Zs.c | 30 + tests/unictype/test-categ_and.c | 51 + tests/unictype/test-categ_and_not.c | 51 + tests/unictype/test-categ_byname.c | 62 + tests/unictype/test-categ_name.c | 45 + tests/unictype/test-categ_none.c | 47 + tests/unictype/test-categ_of.c | 67 + tests/unictype/test-categ_or.c | 48 + tests/unictype/test-categ_test_withtable.c | 50 + tests/unictype/test-combining.c | 47 + tests/unictype/test-ctype_alnum.c | 439 + tests/unictype/test-ctype_alpha.c | 438 + tests/unictype/test-ctype_blank.c | 30 + tests/unictype/test-ctype_cntrl.c | 25 + tests/unictype/test-ctype_digit.c | 23 + tests/unictype/test-ctype_graph.c | 471 + tests/unictype/test-ctype_lower.c | 592 + tests/unictype/test-ctype_print.c | 469 + tests/unictype/test-ctype_punct.c | 354 + tests/unictype/test-ctype_space.c | 31 + tests/unictype/test-ctype_upper.c | 576 + tests/unictype/test-ctype_xdigit.c | 25 + tests/unictype/test-decdigit.c | 62 + tests/unictype/test-decdigit.h | 373 + tests/unictype/test-digit.c | 62 + tests/unictype/test-digit.h | 471 + tests/unictype/test-mirror.c | 53 + tests/unictype/test-numeric.c | 72 + tests/unictype/test-numeric.h | 939 + tests/unictype/test-pr_alphabetic.c | 465 + tests/unictype/test-pr_ascii_hex_digit.c | 25 + tests/unictype/test-pr_bidi_arabic_digit.c | 26 + tests/unictype/test-pr_bidi_arabic_right_to_left.c | 47 + tests/unictype/test-pr_bidi_block_separator.c | 27 + tests/unictype/test-pr_bidi_boundary_neutral.c | 53 + tests/unictype/test-pr_bidi_common_separator.c | 35 + tests/unictype/test-pr_bidi_control.c | 24 + .../unictype/test-pr_bidi_embedding_or_override.c | 24 + tests/unictype/test-pr_bidi_eur_num_separator.c | 31 + tests/unictype/test-pr_bidi_eur_num_terminator.c | 41 + tests/unictype/test-pr_bidi_european_digit.c | 32 + tests/unictype/test-pr_bidi_hebrew_right_to_left.c | 42 + tests/unictype/test-pr_bidi_left_to_right.c | 295 + tests/unictype/test-pr_bidi_non_spacing_mark.c | 178 + tests/unictype/test-pr_bidi_other_neutral.c | 175 + tests/unictype/test-pr_bidi_pdf.c | 23 + tests/unictype/test-pr_bidi_segment_separator.c | 25 + tests/unictype/test-pr_bidi_whitespace.c | 30 + tests/unictype/test-pr_byname.c | 54 + tests/unictype/test-pr_combining.c | 183 + tests/unictype/test-pr_composite.c | 291 + tests/unictype/test-pr_currency_symbol.c | 36 + tests/unictype/test-pr_dash.c | 40 + tests/unictype/test-pr_decimal_digit.c | 55 + .../test-pr_default_ignorable_code_point.c | 37 + tests/unictype/test-pr_deprecated.c | 28 + tests/unictype/test-pr_diacritic.c | 124 + tests/unictype/test-pr_extender.c | 38 + tests/unictype/test-pr_format_control.c | 30 + tests/unictype/test-pr_grapheme_base.c | 524 + tests/unictype/test-pr_grapheme_extend.c | 194 + tests/unictype/test-pr_grapheme_link.c | 44 + tests/unictype/test-pr_hex_digit.c | 28 + tests/unictype/test-pr_hyphen.c | 32 + tests/unictype/test-pr_id_continue.c | 499 + tests/unictype/test-pr_id_start.c | 414 + tests/unictype/test-pr_ideographic.c | 32 + tests/unictype/test-pr_ids_binary_operator.c | 24 + tests/unictype/test-pr_ids_trinary_operator.c | 23 + tests/unictype/test-pr_ignorable_control.c | 40 + tests/unictype/test-pr_iso_control.c | 24 + tests/unictype/test-pr_join_control.c | 23 + tests/unictype/test-pr_left_of_pair.c | 63 + tests/unictype/test-pr_line_separator.c | 23 + tests/unictype/test-pr_logical_order_exception.c | 24 + tests/unictype/test-pr_lowercase.c | 623 + tests/unictype/test-pr_math.c | 127 + tests/unictype/test-pr_non_break.c | 32 + tests/unictype/test-pr_not_a_character.c | 40 + tests/unictype/test-pr_numeric.c | 101 + tests/unictype/test-pr_other_alphabetic.c | 144 + .../test-pr_other_default_ignorable_code_point.c | 32 + tests/unictype/test-pr_other_grapheme_extend.c | 38 + tests/unictype/test-pr_other_id_continue.c | 25 + tests/unictype/test-pr_other_id_start.c | 25 + tests/unictype/test-pr_other_lowercase.c | 35 + tests/unictype/test-pr_other_math.c | 121 + tests/unictype/test-pr_other_uppercase.c | 24 + tests/unictype/test-pr_paired_punctuation.c | 49 + tests/unictype/test-pr_paragraph_separator.c | 23 + tests/unictype/test-pr_pattern_syntax.c | 50 + tests/unictype/test-pr_pattern_white_space.c | 27 + tests/unictype/test-pr_private_use.c | 25 + tests/unictype/test-pr_punctuation.c | 134 + tests/unictype/test-pr_quotation_mark.c | 34 + tests/unictype/test-pr_radical.c | 25 + tests/unictype/test-pr_sentence_terminal.c | 59 + tests/unictype/test-pr_soft_dotted.c | 53 + tests/unictype/test-pr_space.c | 30 + tests/unictype/test-pr_terminal_punctuation.c | 77 + tests/unictype/test-pr_test.c | 47 + tests/unictype/test-pr_titlecase.c | 32 + tests/unictype/test-pr_unassigned_code_value.c | 476 + tests/unictype/test-pr_unified_ideograph.c | 32 + tests/unictype/test-pr_uppercase.c | 615 + tests/unictype/test-pr_variation_selector.c | 25 + tests/unictype/test-pr_white_space.c | 33 + tests/unictype/test-pr_xid_continue.c | 506 + tests/unictype/test-pr_xid_start.c | 421 + tests/unictype/test-pr_zero_width.c | 36 + tests/unictype/test-predicate-part1.h | 45 + tests/unictype/test-predicate-part2.h | 37 + tests/unictype/test-scripts.c | 86 + tests/unictype/test-sy_c_ident.c | 50 + tests/unictype/test-sy_c_whitespace.c | 24 + tests/unictype/test-sy_java_ident.c | 50 + tests/unictype/test-sy_java_whitespace.c | 25 + tests/unilbrk/test-u16-possible-linebreaks.c | 96 + tests/unilbrk/test-u16-width-linebreaks.c | 86 + tests/unilbrk/test-u32-possible-linebreaks.c | 96 + tests/unilbrk/test-u32-width-linebreaks.c | 86 + tests/unilbrk/test-u8-possible-linebreaks.c | 90 + tests/unilbrk/test-u8-width-linebreaks.c | 80 + tests/unilbrk/test-ulc-possible-linebreaks.c | 66 + tests/unilbrk/test-ulc-width-linebreaks.c | 65 + tests/uniname/UnicodeDataNames.txt | 30423 +++++++++++++++++++ tests/uniname/test-uninames.c | 261 + tests/uniname/test-uninames.sh | 2 + tests/uninorm/NormalizationTest.txt | 17819 +++++++++++ tests/uninorm/test-canonical-decomposition.c | 156 + tests/uninorm/test-compat-decomposition.c | 198 + tests/uninorm/test-composition.c | 66 + tests/uninorm/test-decomposing-form.c | 47 + tests/uninorm/test-decomposition.c | 220 + tests/uninorm/test-nfc.c | 44 + tests/uninorm/test-nfd.c | 44 + tests/uninorm/test-nfkc.c | 44 + tests/uninorm/test-nfkd.c | 44 + tests/uninorm/test-u16-nfc.c | 345 + tests/uninorm/test-u16-nfd.c | 329 + tests/uninorm/test-u16-nfkc.c | 393 + tests/uninorm/test-u16-nfkd.c | 349 + tests/uninorm/test-u16-normcmp.c | 130 + tests/uninorm/test-u16-normcmp.h | 69 + tests/uninorm/test-u16-normcoll.c | 49 + tests/uninorm/test-u32-nfc-big.c | 125 + tests/uninorm/test-u32-nfc-big.sh | 2 + tests/uninorm/test-u32-nfc.c | 345 + tests/uninorm/test-u32-nfd-big.c | 125 + tests/uninorm/test-u32-nfd-big.sh | 2 + tests/uninorm/test-u32-nfd.c | 329 + tests/uninorm/test-u32-nfkc-big.c | 122 + tests/uninorm/test-u32-nfkc-big.sh | 2 + tests/uninorm/test-u32-nfkc.c | 393 + tests/uninorm/test-u32-nfkd-big.c | 122 + tests/uninorm/test-u32-nfkd-big.sh | 2 + tests/uninorm/test-u32-nfkd.c | 349 + tests/uninorm/test-u32-normalize-big.c | 315 + tests/uninorm/test-u32-normalize-big.h | 70 + tests/uninorm/test-u32-normcmp.c | 130 + tests/uninorm/test-u32-normcmp.h | 69 + tests/uninorm/test-u32-normcoll.c | 49 + tests/uninorm/test-u8-nfc.c | 375 + tests/uninorm/test-u8-nfd.c | 358 + tests/uninorm/test-u8-nfkc.c | 427 + tests/uninorm/test-u8-nfkd.c | 379 + tests/uninorm/test-u8-normcmp.c | 130 + tests/uninorm/test-u8-normcmp.h | 69 + tests/uninorm/test-u8-normcoll.c | 49 + tests/uninorm/test-uninorm-filter-nfc.c | 122 + tests/unistdio/test-u16-asnprintf1.c | 59 + tests/unistdio/test-u16-asnprintf1.h | 60 + tests/unistdio/test-u16-printf1.h | 941 + tests/unistdio/test-u16-vasnprintf1.c | 88 + tests/unistdio/test-u16-vasnprintf2.c | 132 + tests/unistdio/test-u16-vasnprintf2.sh | 21 + tests/unistdio/test-u16-vasnprintf3.c | 132 + tests/unistdio/test-u16-vasnprintf3.sh | 21 + tests/unistdio/test-u16-vasprintf1.c | 75 + tests/unistdio/test-u16-vsnprintf1.c | 84 + tests/unistdio/test-u16-vsprintf1.c | 84 + tests/unistdio/test-u32-asnprintf1.c | 59 + tests/unistdio/test-u32-asnprintf1.h | 60 + tests/unistdio/test-u32-printf1.h | 941 + tests/unistdio/test-u32-vasnprintf1.c | 88 + tests/unistdio/test-u32-vasnprintf2.c | 132 + tests/unistdio/test-u32-vasnprintf2.sh | 21 + tests/unistdio/test-u32-vasnprintf3.c | 132 + tests/unistdio/test-u32-vasnprintf3.sh | 21 + tests/unistdio/test-u32-vasprintf1.c | 75 + tests/unistdio/test-u32-vsnprintf1.c | 84 + tests/unistdio/test-u32-vsprintf1.c | 84 + tests/unistdio/test-u8-asnprintf1.c | 59 + tests/unistdio/test-u8-asnprintf1.h | 57 + tests/unistdio/test-u8-printf1.h | 704 + tests/unistdio/test-u8-vasnprintf1.c | 88 + tests/unistdio/test-u8-vasnprintf2.c | 122 + tests/unistdio/test-u8-vasnprintf2.sh | 21 + tests/unistdio/test-u8-vasnprintf3.c | 122 + tests/unistdio/test-u8-vasnprintf3.sh | 21 + tests/unistdio/test-u8-vasprintf1.c | 75 + tests/unistdio/test-u8-vsnprintf1.c | 84 + tests/unistdio/test-u8-vsprintf1.c | 84 + tests/unistdio/test-ulc-asnprintf1.c | 56 + tests/unistdio/test-ulc-asnprintf1.h | 54 + tests/unistdio/test-ulc-printf1.h | 498 + tests/unistdio/test-ulc-vasnprintf1.c | 85 + tests/unistdio/test-ulc-vasnprintf2.c | 258 + tests/unistdio/test-ulc-vasnprintf2.sh | 21 + tests/unistdio/test-ulc-vasnprintf3.c | 246 + tests/unistdio/test-ulc-vasnprintf3.sh | 21 + tests/unistdio/test-ulc-vasprintf1.c | 72 + tests/unistdio/test-ulc-vsnprintf1.c | 77 + tests/unistdio/test-ulc-vsprintf1.c | 77 + tests/uniwbrk/test-u16-wordbreaks.c | 106 + tests/uniwbrk/test-u32-wordbreaks.c | 106 + tests/uniwbrk/test-u8-wordbreaks.c | 97 + tests/uniwbrk/test-ulc-wordbreaks.c | 74 + tests/uniwbrk/test-ulc-wordbreaks.sh | 15 + tests/uniwidth/test-u16-strwidth.c | 71 + tests/uniwidth/test-u16-width.c | 77 + tests/uniwidth/test-u32-strwidth.c | 71 + tests/uniwidth/test-u32-width.c | 77 + tests/uniwidth/test-u8-strwidth.c | 66 + tests/uniwidth/test-u8-width.c | 75 + tests/uniwidth/test-uc_width.c | 69 + tests/uniwidth/test-uc_width2.c | 97 + tests/uniwidth/test-uc_width2.sh | 382 + tests/unsetenv.c | 90 + tests/wctob.c | 37 + tests/xalloc-die.c | 41 + tests/xalloc.h | 280 + tests/xmalloc.c | 118 + tests/zerosize-ptr.h | 68 + 403 files changed, 113879 insertions(+) create mode 100644 tests/Makefile.am create mode 100644 tests/Makefile.gnulib create mode 100644 tests/Makefile.in create mode 100644 tests/error.c create mode 100644 tests/error.h create mode 100644 tests/exitfail.c create mode 100644 tests/exitfail.h create mode 100644 tests/gettext.h create mode 100644 tests/intprops.h create mode 100644 tests/locale.in.h create mode 100644 tests/nan.h create mode 100644 tests/progname.c create mode 100644 tests/progname.h create mode 100644 tests/setenv.c create mode 100644 tests/strerror.c create mode 100644 tests/test-alloca-opt.c create mode 100644 tests/test-array-mergesort.c create mode 100644 tests/test-c-ctype.c create mode 100755 tests/test-c-strcase.sh create mode 100644 tests/test-c-strcasecmp.c create mode 100644 tests/test-c-strncasecmp.c create mode 100644 tests/test-environ.c create mode 100644 tests/test-errno.c create mode 100644 tests/test-frexpl.c create mode 100644 tests/test-fseterr.c create mode 100644 tests/test-iconv.c create mode 100644 tests/test-isnand-nolibm.c create mode 100644 tests/test-isnand.h create mode 100644 tests/test-isnanf-nolibm.c create mode 100644 tests/test-isnanf.h create mode 100644 tests/test-isnanl-nolibm.c create mode 100644 tests/test-isnanl.h create mode 100644 tests/test-locale.c create mode 100644 tests/test-localename.c create mode 100644 tests/test-malloca.c create mode 100644 tests/test-math.c create mode 100644 tests/test-mbrtowc.c create mode 100755 tests/test-mbrtowc1.sh create mode 100755 tests/test-mbrtowc2.sh create mode 100755 tests/test-mbrtowc3.sh create mode 100755 tests/test-mbrtowc4.sh create mode 100644 tests/test-mbsinit.c create mode 100755 tests/test-mbsinit.sh create mode 100644 tests/test-memchr.c create mode 100644 tests/test-printf-frexp.c create mode 100644 tests/test-printf-frexpl.c create mode 100644 tests/test-signbit.c create mode 100644 tests/test-stdbool.c create mode 100644 tests/test-stdint.c create mode 100644 tests/test-stdlib.c create mode 100644 tests/test-strerror.c create mode 100644 tests/test-striconveh.c create mode 100644 tests/test-striconveha.c create mode 100644 tests/test-string.c create mode 100644 tests/test-unistd.c create mode 100644 tests/test-wchar.c create mode 100644 tests/test-wctype.c create mode 100644 tests/test-wcwidth.c create mode 100644 tests/unicase/test-casecmp.h create mode 100644 tests/unicase/test-cased.c create mode 100644 tests/unicase/test-ignorable.c create mode 100644 tests/unicase/test-is-cased.h create mode 100644 tests/unicase/test-is-casefolded.h create mode 100644 tests/unicase/test-is-lowercase.h create mode 100644 tests/unicase/test-is-titlecase.h create mode 100644 tests/unicase/test-is-uppercase.h create mode 100644 tests/unicase/test-locale-language.c create mode 100755 tests/unicase/test-locale-language.sh create mode 100644 tests/unicase/test-mapping-part1.h create mode 100644 tests/unicase/test-mapping-part2.h create mode 100644 tests/unicase/test-predicate-part1.h create mode 100644 tests/unicase/test-predicate-part2.h create mode 100644 tests/unicase/test-u16-casecmp.c create mode 100644 tests/unicase/test-u16-casecoll.c create mode 100644 tests/unicase/test-u16-casefold.c create mode 100644 tests/unicase/test-u16-is-cased.c create mode 100644 tests/unicase/test-u16-is-casefolded.c create mode 100644 tests/unicase/test-u16-is-lowercase.c create mode 100644 tests/unicase/test-u16-is-titlecase.c create mode 100644 tests/unicase/test-u16-is-uppercase.c create mode 100644 tests/unicase/test-u16-tolower.c create mode 100644 tests/unicase/test-u16-totitle.c create mode 100644 tests/unicase/test-u16-toupper.c create mode 100644 tests/unicase/test-u32-casecmp.c create mode 100644 tests/unicase/test-u32-casecoll.c create mode 100644 tests/unicase/test-u32-casefold.c create mode 100644 tests/unicase/test-u32-is-cased.c create mode 100644 tests/unicase/test-u32-is-casefolded.c create mode 100644 tests/unicase/test-u32-is-lowercase.c create mode 100644 tests/unicase/test-u32-is-titlecase.c create mode 100644 tests/unicase/test-u32-is-uppercase.c create mode 100644 tests/unicase/test-u32-tolower.c create mode 100644 tests/unicase/test-u32-totitle.c create mode 100644 tests/unicase/test-u32-toupper.c create mode 100644 tests/unicase/test-u8-casecmp.c create mode 100644 tests/unicase/test-u8-casecoll.c create mode 100644 tests/unicase/test-u8-casefold.c create mode 100644 tests/unicase/test-u8-is-cased.c create mode 100644 tests/unicase/test-u8-is-casefolded.c create mode 100644 tests/unicase/test-u8-is-lowercase.c create mode 100644 tests/unicase/test-u8-is-titlecase.c create mode 100644 tests/unicase/test-u8-is-uppercase.c create mode 100644 tests/unicase/test-u8-tolower.c create mode 100644 tests/unicase/test-u8-totitle.c create mode 100644 tests/unicase/test-u8-toupper.c create mode 100644 tests/unicase/test-uc_tolower.c create mode 100644 tests/unicase/test-uc_totitle.c create mode 100644 tests/unicase/test-uc_toupper.c create mode 100644 tests/unicase/test-ulc-casecmp.c create mode 100755 tests/unicase/test-ulc-casecmp1.sh create mode 100755 tests/unicase/test-ulc-casecmp2.sh create mode 100644 tests/unicase/test-ulc-casecoll.c create mode 100755 tests/unicase/test-ulc-casecoll1.sh create mode 100755 tests/unicase/test-ulc-casecoll2.sh create mode 100644 tests/uniconv/test-u16-conv-from-enc.c create mode 100644 tests/uniconv/test-u16-conv-to-enc.c create mode 100644 tests/uniconv/test-u16-strconv-from-enc.c create mode 100644 tests/uniconv/test-u16-strconv-to-enc.c create mode 100644 tests/uniconv/test-u32-conv-from-enc.c create mode 100644 tests/uniconv/test-u32-conv-to-enc.c create mode 100644 tests/uniconv/test-u32-strconv-from-enc.c create mode 100644 tests/uniconv/test-u32-strconv-to-enc.c create mode 100644 tests/uniconv/test-u8-conv-from-enc.c create mode 100644 tests/uniconv/test-u8-conv-to-enc.c create mode 100644 tests/uniconv/test-u8-strconv-from-enc.c create mode 100644 tests/uniconv/test-u8-strconv-to-enc.c create mode 100644 tests/unictype/test-bidi_byname.c create mode 100644 tests/unictype/test-bidi_name.c create mode 100644 tests/unictype/test-bidi_of.c create mode 100644 tests/unictype/test-bidi_test.c create mode 100644 tests/unictype/test-block_list.c create mode 100644 tests/unictype/test-block_of.c create mode 100644 tests/unictype/test-block_test.c create mode 100644 tests/unictype/test-categ_C.c create mode 100644 tests/unictype/test-categ_Cc.c create mode 100644 tests/unictype/test-categ_Cf.c create mode 100644 tests/unictype/test-categ_Cn.c create mode 100644 tests/unictype/test-categ_Co.c create mode 100644 tests/unictype/test-categ_Cs.c create mode 100644 tests/unictype/test-categ_L.c create mode 100644 tests/unictype/test-categ_Ll.c create mode 100644 tests/unictype/test-categ_Lm.c create mode 100644 tests/unictype/test-categ_Lo.c create mode 100644 tests/unictype/test-categ_Lt.c create mode 100644 tests/unictype/test-categ_Lu.c create mode 100644 tests/unictype/test-categ_M.c create mode 100644 tests/unictype/test-categ_Mc.c create mode 100644 tests/unictype/test-categ_Me.c create mode 100644 tests/unictype/test-categ_Mn.c create mode 100644 tests/unictype/test-categ_N.c create mode 100644 tests/unictype/test-categ_Nd.c create mode 100644 tests/unictype/test-categ_Nl.c create mode 100644 tests/unictype/test-categ_No.c create mode 100644 tests/unictype/test-categ_P.c create mode 100644 tests/unictype/test-categ_Pc.c create mode 100644 tests/unictype/test-categ_Pd.c create mode 100644 tests/unictype/test-categ_Pe.c create mode 100644 tests/unictype/test-categ_Pf.c create mode 100644 tests/unictype/test-categ_Pi.c create mode 100644 tests/unictype/test-categ_Po.c create mode 100644 tests/unictype/test-categ_Ps.c create mode 100644 tests/unictype/test-categ_S.c create mode 100644 tests/unictype/test-categ_Sc.c create mode 100644 tests/unictype/test-categ_Sk.c create mode 100644 tests/unictype/test-categ_Sm.c create mode 100644 tests/unictype/test-categ_So.c create mode 100644 tests/unictype/test-categ_Z.c create mode 100644 tests/unictype/test-categ_Zl.c create mode 100644 tests/unictype/test-categ_Zp.c create mode 100644 tests/unictype/test-categ_Zs.c create mode 100644 tests/unictype/test-categ_and.c create mode 100644 tests/unictype/test-categ_and_not.c create mode 100644 tests/unictype/test-categ_byname.c create mode 100644 tests/unictype/test-categ_name.c create mode 100644 tests/unictype/test-categ_none.c create mode 100644 tests/unictype/test-categ_of.c create mode 100644 tests/unictype/test-categ_or.c create mode 100644 tests/unictype/test-categ_test_withtable.c create mode 100644 tests/unictype/test-combining.c create mode 100644 tests/unictype/test-ctype_alnum.c create mode 100644 tests/unictype/test-ctype_alpha.c create mode 100644 tests/unictype/test-ctype_blank.c create mode 100644 tests/unictype/test-ctype_cntrl.c create mode 100644 tests/unictype/test-ctype_digit.c create mode 100644 tests/unictype/test-ctype_graph.c create mode 100644 tests/unictype/test-ctype_lower.c create mode 100644 tests/unictype/test-ctype_print.c create mode 100644 tests/unictype/test-ctype_punct.c create mode 100644 tests/unictype/test-ctype_space.c create mode 100644 tests/unictype/test-ctype_upper.c create mode 100644 tests/unictype/test-ctype_xdigit.c create mode 100644 tests/unictype/test-decdigit.c create mode 100644 tests/unictype/test-decdigit.h create mode 100644 tests/unictype/test-digit.c create mode 100644 tests/unictype/test-digit.h create mode 100644 tests/unictype/test-mirror.c create mode 100644 tests/unictype/test-numeric.c create mode 100644 tests/unictype/test-numeric.h create mode 100644 tests/unictype/test-pr_alphabetic.c create mode 100644 tests/unictype/test-pr_ascii_hex_digit.c create mode 100644 tests/unictype/test-pr_bidi_arabic_digit.c create mode 100644 tests/unictype/test-pr_bidi_arabic_right_to_left.c create mode 100644 tests/unictype/test-pr_bidi_block_separator.c create mode 100644 tests/unictype/test-pr_bidi_boundary_neutral.c create mode 100644 tests/unictype/test-pr_bidi_common_separator.c create mode 100644 tests/unictype/test-pr_bidi_control.c create mode 100644 tests/unictype/test-pr_bidi_embedding_or_override.c create mode 100644 tests/unictype/test-pr_bidi_eur_num_separator.c create mode 100644 tests/unictype/test-pr_bidi_eur_num_terminator.c create mode 100644 tests/unictype/test-pr_bidi_european_digit.c create mode 100644 tests/unictype/test-pr_bidi_hebrew_right_to_left.c create mode 100644 tests/unictype/test-pr_bidi_left_to_right.c create mode 100644 tests/unictype/test-pr_bidi_non_spacing_mark.c create mode 100644 tests/unictype/test-pr_bidi_other_neutral.c create mode 100644 tests/unictype/test-pr_bidi_pdf.c create mode 100644 tests/unictype/test-pr_bidi_segment_separator.c create mode 100644 tests/unictype/test-pr_bidi_whitespace.c create mode 100644 tests/unictype/test-pr_byname.c create mode 100644 tests/unictype/test-pr_combining.c create mode 100644 tests/unictype/test-pr_composite.c create mode 100644 tests/unictype/test-pr_currency_symbol.c create mode 100644 tests/unictype/test-pr_dash.c create mode 100644 tests/unictype/test-pr_decimal_digit.c create mode 100644 tests/unictype/test-pr_default_ignorable_code_point.c create mode 100644 tests/unictype/test-pr_deprecated.c create mode 100644 tests/unictype/test-pr_diacritic.c create mode 100644 tests/unictype/test-pr_extender.c create mode 100644 tests/unictype/test-pr_format_control.c create mode 100644 tests/unictype/test-pr_grapheme_base.c create mode 100644 tests/unictype/test-pr_grapheme_extend.c create mode 100644 tests/unictype/test-pr_grapheme_link.c create mode 100644 tests/unictype/test-pr_hex_digit.c create mode 100644 tests/unictype/test-pr_hyphen.c create mode 100644 tests/unictype/test-pr_id_continue.c create mode 100644 tests/unictype/test-pr_id_start.c create mode 100644 tests/unictype/test-pr_ideographic.c create mode 100644 tests/unictype/test-pr_ids_binary_operator.c create mode 100644 tests/unictype/test-pr_ids_trinary_operator.c create mode 100644 tests/unictype/test-pr_ignorable_control.c create mode 100644 tests/unictype/test-pr_iso_control.c create mode 100644 tests/unictype/test-pr_join_control.c create mode 100644 tests/unictype/test-pr_left_of_pair.c create mode 100644 tests/unictype/test-pr_line_separator.c create mode 100644 tests/unictype/test-pr_logical_order_exception.c create mode 100644 tests/unictype/test-pr_lowercase.c create mode 100644 tests/unictype/test-pr_math.c create mode 100644 tests/unictype/test-pr_non_break.c create mode 100644 tests/unictype/test-pr_not_a_character.c create mode 100644 tests/unictype/test-pr_numeric.c create mode 100644 tests/unictype/test-pr_other_alphabetic.c create mode 100644 tests/unictype/test-pr_other_default_ignorable_code_point.c create mode 100644 tests/unictype/test-pr_other_grapheme_extend.c create mode 100644 tests/unictype/test-pr_other_id_continue.c create mode 100644 tests/unictype/test-pr_other_id_start.c create mode 100644 tests/unictype/test-pr_other_lowercase.c create mode 100644 tests/unictype/test-pr_other_math.c create mode 100644 tests/unictype/test-pr_other_uppercase.c create mode 100644 tests/unictype/test-pr_paired_punctuation.c create mode 100644 tests/unictype/test-pr_paragraph_separator.c create mode 100644 tests/unictype/test-pr_pattern_syntax.c create mode 100644 tests/unictype/test-pr_pattern_white_space.c create mode 100644 tests/unictype/test-pr_private_use.c create mode 100644 tests/unictype/test-pr_punctuation.c create mode 100644 tests/unictype/test-pr_quotation_mark.c create mode 100644 tests/unictype/test-pr_radical.c create mode 100644 tests/unictype/test-pr_sentence_terminal.c create mode 100644 tests/unictype/test-pr_soft_dotted.c create mode 100644 tests/unictype/test-pr_space.c create mode 100644 tests/unictype/test-pr_terminal_punctuation.c create mode 100644 tests/unictype/test-pr_test.c create mode 100644 tests/unictype/test-pr_titlecase.c create mode 100644 tests/unictype/test-pr_unassigned_code_value.c create mode 100644 tests/unictype/test-pr_unified_ideograph.c create mode 100644 tests/unictype/test-pr_uppercase.c create mode 100644 tests/unictype/test-pr_variation_selector.c create mode 100644 tests/unictype/test-pr_white_space.c create mode 100644 tests/unictype/test-pr_xid_continue.c create mode 100644 tests/unictype/test-pr_xid_start.c create mode 100644 tests/unictype/test-pr_zero_width.c create mode 100644 tests/unictype/test-predicate-part1.h create mode 100644 tests/unictype/test-predicate-part2.h create mode 100644 tests/unictype/test-scripts.c create mode 100644 tests/unictype/test-sy_c_ident.c create mode 100644 tests/unictype/test-sy_c_whitespace.c create mode 100644 tests/unictype/test-sy_java_ident.c create mode 100644 tests/unictype/test-sy_java_whitespace.c create mode 100644 tests/unilbrk/test-u16-possible-linebreaks.c create mode 100644 tests/unilbrk/test-u16-width-linebreaks.c create mode 100644 tests/unilbrk/test-u32-possible-linebreaks.c create mode 100644 tests/unilbrk/test-u32-width-linebreaks.c create mode 100644 tests/unilbrk/test-u8-possible-linebreaks.c create mode 100644 tests/unilbrk/test-u8-width-linebreaks.c create mode 100644 tests/unilbrk/test-ulc-possible-linebreaks.c create mode 100644 tests/unilbrk/test-ulc-width-linebreaks.c create mode 100644 tests/uniname/UnicodeDataNames.txt create mode 100644 tests/uniname/test-uninames.c create mode 100755 tests/uniname/test-uninames.sh create mode 100644 tests/uninorm/NormalizationTest.txt create mode 100644 tests/uninorm/test-canonical-decomposition.c create mode 100644 tests/uninorm/test-compat-decomposition.c create mode 100644 tests/uninorm/test-composition.c create mode 100644 tests/uninorm/test-decomposing-form.c create mode 100644 tests/uninorm/test-decomposition.c create mode 100644 tests/uninorm/test-nfc.c create mode 100644 tests/uninorm/test-nfd.c create mode 100644 tests/uninorm/test-nfkc.c create mode 100644 tests/uninorm/test-nfkd.c create mode 100644 tests/uninorm/test-u16-nfc.c create mode 100644 tests/uninorm/test-u16-nfd.c create mode 100644 tests/uninorm/test-u16-nfkc.c create mode 100644 tests/uninorm/test-u16-nfkd.c create mode 100644 tests/uninorm/test-u16-normcmp.c create mode 100644 tests/uninorm/test-u16-normcmp.h create mode 100644 tests/uninorm/test-u16-normcoll.c create mode 100644 tests/uninorm/test-u32-nfc-big.c create mode 100755 tests/uninorm/test-u32-nfc-big.sh create mode 100644 tests/uninorm/test-u32-nfc.c create mode 100644 tests/uninorm/test-u32-nfd-big.c create mode 100755 tests/uninorm/test-u32-nfd-big.sh create mode 100644 tests/uninorm/test-u32-nfd.c create mode 100644 tests/uninorm/test-u32-nfkc-big.c create mode 100755 tests/uninorm/test-u32-nfkc-big.sh create mode 100644 tests/uninorm/test-u32-nfkc.c create mode 100644 tests/uninorm/test-u32-nfkd-big.c create mode 100755 tests/uninorm/test-u32-nfkd-big.sh create mode 100644 tests/uninorm/test-u32-nfkd.c create mode 100644 tests/uninorm/test-u32-normalize-big.c create mode 100644 tests/uninorm/test-u32-normalize-big.h create mode 100644 tests/uninorm/test-u32-normcmp.c create mode 100644 tests/uninorm/test-u32-normcmp.h create mode 100644 tests/uninorm/test-u32-normcoll.c create mode 100644 tests/uninorm/test-u8-nfc.c create mode 100644 tests/uninorm/test-u8-nfd.c create mode 100644 tests/uninorm/test-u8-nfkc.c create mode 100644 tests/uninorm/test-u8-nfkd.c create mode 100644 tests/uninorm/test-u8-normcmp.c create mode 100644 tests/uninorm/test-u8-normcmp.h create mode 100644 tests/uninorm/test-u8-normcoll.c create mode 100644 tests/uninorm/test-uninorm-filter-nfc.c create mode 100644 tests/unistdio/test-u16-asnprintf1.c create mode 100644 tests/unistdio/test-u16-asnprintf1.h create mode 100644 tests/unistdio/test-u16-printf1.h create mode 100644 tests/unistdio/test-u16-vasnprintf1.c create mode 100644 tests/unistdio/test-u16-vasnprintf2.c create mode 100755 tests/unistdio/test-u16-vasnprintf2.sh create mode 100644 tests/unistdio/test-u16-vasnprintf3.c create mode 100755 tests/unistdio/test-u16-vasnprintf3.sh create mode 100644 tests/unistdio/test-u16-vasprintf1.c create mode 100644 tests/unistdio/test-u16-vsnprintf1.c create mode 100644 tests/unistdio/test-u16-vsprintf1.c create mode 100644 tests/unistdio/test-u32-asnprintf1.c create mode 100644 tests/unistdio/test-u32-asnprintf1.h create mode 100644 tests/unistdio/test-u32-printf1.h create mode 100644 tests/unistdio/test-u32-vasnprintf1.c create mode 100644 tests/unistdio/test-u32-vasnprintf2.c create mode 100755 tests/unistdio/test-u32-vasnprintf2.sh create mode 100644 tests/unistdio/test-u32-vasnprintf3.c create mode 100755 tests/unistdio/test-u32-vasnprintf3.sh create mode 100644 tests/unistdio/test-u32-vasprintf1.c create mode 100644 tests/unistdio/test-u32-vsnprintf1.c create mode 100644 tests/unistdio/test-u32-vsprintf1.c create mode 100644 tests/unistdio/test-u8-asnprintf1.c create mode 100644 tests/unistdio/test-u8-asnprintf1.h create mode 100644 tests/unistdio/test-u8-printf1.h create mode 100644 tests/unistdio/test-u8-vasnprintf1.c create mode 100644 tests/unistdio/test-u8-vasnprintf2.c create mode 100755 tests/unistdio/test-u8-vasnprintf2.sh create mode 100644 tests/unistdio/test-u8-vasnprintf3.c create mode 100755 tests/unistdio/test-u8-vasnprintf3.sh create mode 100644 tests/unistdio/test-u8-vasprintf1.c create mode 100644 tests/unistdio/test-u8-vsnprintf1.c create mode 100644 tests/unistdio/test-u8-vsprintf1.c create mode 100644 tests/unistdio/test-ulc-asnprintf1.c create mode 100644 tests/unistdio/test-ulc-asnprintf1.h create mode 100644 tests/unistdio/test-ulc-printf1.h create mode 100644 tests/unistdio/test-ulc-vasnprintf1.c create mode 100644 tests/unistdio/test-ulc-vasnprintf2.c create mode 100755 tests/unistdio/test-ulc-vasnprintf2.sh create mode 100644 tests/unistdio/test-ulc-vasnprintf3.c create mode 100755 tests/unistdio/test-ulc-vasnprintf3.sh create mode 100644 tests/unistdio/test-ulc-vasprintf1.c create mode 100644 tests/unistdio/test-ulc-vsnprintf1.c create mode 100644 tests/unistdio/test-ulc-vsprintf1.c create mode 100644 tests/uniwbrk/test-u16-wordbreaks.c create mode 100644 tests/uniwbrk/test-u32-wordbreaks.c create mode 100644 tests/uniwbrk/test-u8-wordbreaks.c create mode 100644 tests/uniwbrk/test-ulc-wordbreaks.c create mode 100755 tests/uniwbrk/test-ulc-wordbreaks.sh create mode 100644 tests/uniwidth/test-u16-strwidth.c create mode 100644 tests/uniwidth/test-u16-width.c create mode 100644 tests/uniwidth/test-u32-strwidth.c create mode 100644 tests/uniwidth/test-u32-width.c create mode 100644 tests/uniwidth/test-u8-strwidth.c create mode 100644 tests/uniwidth/test-u8-width.c create mode 100644 tests/uniwidth/test-uc_width.c create mode 100644 tests/uniwidth/test-uc_width2.c create mode 100755 tests/uniwidth/test-uc_width2.sh create mode 100644 tests/unsetenv.c create mode 100644 tests/wctob.c create mode 100644 tests/xalloc-die.c create mode 100644 tests/xalloc.h create mode 100644 tests/xmalloc.c create mode 100644 tests/zerosize-ptr.h (limited to 'tests') diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 00000000..08ee6413 --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,39 @@ +## Makefile for the tests subdirectory of GNU libunistring. +## Copyright (C) 2009 Free Software Foundation, Inc. +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . + +## Process this file with automake to produce Makefile.in. + +# Rules generated and collected by gnulib-tool. +include Makefile.gnulib + +AUTOMAKE_OPTIONS += 1.11 subdir-objects color-tests + +# Ensure that ../lib/config.h is seen before ../config.h. +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/lib -I$(top_builddir) + +# The test suite uses the 'localcharset' module. +TESTS_ENVIRONMENT += @LOCALCHARSET_TESTS_ENVIRONMENT@ + + +# For debugging memory leaks and memory allocation bugs. +# You should build with --disable-shared when using valgrind. +CHECKER = +#CHECKER = valgrind --tool=memcheck --suppressions=$(srcdir)/../lib/malloca.valgrind --num-callers=20 --leak-check=yes --leak-resolution=high --show-reachable=yes +#CHECKER = valgrind --tool=massif --format=html --depth=10 --alloc-fn=xmalloc --alloc-fn=xrealloc --stacks=no +CHECKER_END_OF_COMMENTS = + +# This must be the last thing that gets added to TESTS_ENVIRONMENT. +TESTS_ENVIRONMENT += $(SHELL) $(top_srcdir)/build-aux/run-test '$(CHECKER)' diff --git a/tests/Makefile.gnulib b/tests/Makefile.gnulib new file mode 100644 index 00000000..454cfe7d --- /dev/null +++ b/tests/Makefile.gnulib @@ -0,0 +1,3200 @@ +## DO NOT EDIT! GENERATED AUTOMATICALLY! +## Process this file with automake to produce Makefile.in. +# Copyright (C) 2002-2009 Free Software Foundation, Inc. +# +# This file is free software, distributed under the terms of the GNU +# General Public License. As a special exception to the GNU General +# Public License, this file may be distributed as part of a program +# that contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. + +AUTOMAKE_OPTIONS = 1.5 foreign + +SUBDIRS = +TESTS = +TESTS_ENVIRONMENT = +noinst_PROGRAMS = +check_PROGRAMS = +noinst_HEADERS = +noinst_LIBRARIES = +check_LIBRARIES = libtests.a +EXTRA_DIST = +BUILT_SOURCES = +SUFFIXES = +MOSTLYCLEANFILES = core *.stackdump +MOSTLYCLEANDIRS = +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = + +AM_CPPFLAGS = \ + -I. -I$(srcdir) \ + -I.. -I$(srcdir)/.. \ + -I../lib -I$(srcdir)/../lib + +LDADD = libtests.a ../lib/libunistring.la libtests.a $(LIBTESTS_LIBDEPS) + +libtests_a_SOURCES = +libtests_a_LIBADD = $(gltests_LIBOBJS) +libtests_a_DEPENDENCIES = $(gltests_LIBOBJS) +EXTRA_libtests_a_SOURCES = +AM_LIBTOOLFLAGS = --preserve-dup-deps + +## begin gnulib module alloca-opt-tests + +TESTS += test-alloca-opt +check_PROGRAMS += test-alloca-opt + +EXTRA_DIST += test-alloca-opt.c + +## end gnulib module alloca-opt-tests + +## begin gnulib module array-mergesort-tests + +TESTS += test-array-mergesort +check_PROGRAMS += test-array-mergesort +EXTRA_DIST += test-array-mergesort.c + +## end gnulib module array-mergesort-tests + +## begin gnulib module c-ctype-tests + +TESTS += test-c-ctype +check_PROGRAMS += test-c-ctype + +EXTRA_DIST += test-c-ctype.c + +## end gnulib module c-ctype-tests + +## begin gnulib module c-strcase-tests + +TESTS += test-c-strcase.sh +TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' +check_PROGRAMS += test-c-strcasecmp test-c-strncasecmp +EXTRA_DIST += test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c + +## end gnulib module c-strcase-tests + +## begin gnulib module environ-tests + +TESTS += test-environ +check_PROGRAMS += test-environ + +EXTRA_DIST += test-environ.c + +## end gnulib module environ-tests + +## begin gnulib module errno-tests + +TESTS += test-errno +check_PROGRAMS += test-errno + +EXTRA_DIST += test-errno.c + +## end gnulib module errno-tests + +## begin gnulib module error + + +EXTRA_DIST += error.c error.h + +EXTRA_libtests_a_SOURCES += error.c + +## end gnulib module error + +## begin gnulib module exitfail + + +EXTRA_DIST += exitfail.c exitfail.h + +EXTRA_libtests_a_SOURCES += exitfail.c + +## end gnulib module exitfail + +## begin gnulib module frexpl-nolibm-tests + +TESTS += test-frexpl-nolibm +check_PROGRAMS += test-frexpl-nolibm +test_frexpl_nolibm_SOURCES = test-frexpl.c + +EXTRA_DIST += test-frexpl.c + +## end gnulib module frexpl-nolibm-tests + +## begin gnulib module fseterr-tests + +TESTS += test-fseterr +check_PROGRAMS += test-fseterr + +EXTRA_DIST += test-fseterr.c + +## end gnulib module fseterr-tests + +## begin gnulib module gettext-h + +libtests_a_SOURCES += gettext.h + +## end gnulib module gettext-h + +## begin gnulib module iconv-tests + +TESTS += test-iconv +check_PROGRAMS += test-iconv +test_iconv_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += test-iconv.c + +## end gnulib module iconv-tests + +## begin gnulib module intprops + + +EXTRA_DIST += intprops.h + +## end gnulib module intprops + +## begin gnulib module isnand-nolibm-tests + +TESTS += test-isnand-nolibm +check_PROGRAMS += test-isnand-nolibm + +EXTRA_DIST += test-isnand-nolibm.c test-isnand.h nan.h + +## end gnulib module isnand-nolibm-tests + +## begin gnulib module isnanf-nolibm-tests + +TESTS += test-isnanf-nolibm +check_PROGRAMS += test-isnanf-nolibm + +EXTRA_DIST += test-isnanf-nolibm.c test-isnanf.h nan.h + +## end gnulib module isnanf-nolibm-tests + +## begin gnulib module isnanl-nolibm-tests + +TESTS += test-isnanl-nolibm +check_PROGRAMS += test-isnanl-nolibm + +EXTRA_DIST += test-isnanl-nolibm.c test-isnanl.h nan.h + +## end gnulib module isnanl-nolibm-tests + +## begin gnulib module locale + +BUILT_SOURCES += $(LOCALE_H) + +# We need the following in order to create when the system +# doesn't have one that provides all definitions. +locale.h: locale.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ + < $(srcdir)/locale.in.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += locale.h locale.h-t + +EXTRA_DIST += locale.in.h + +## end gnulib module locale + +## begin gnulib module locale-tests + +TESTS += test-locale +check_PROGRAMS += test-locale + +EXTRA_DIST += test-locale.c + +## end gnulib module locale-tests + +## begin gnulib module localename-tests + +TESTS += test-localename +check_PROGRAMS += test-localename +test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ + +EXTRA_DIST += test-localename.c + +## end gnulib module localename-tests + +## begin gnulib module malloca-tests + +TESTS += test-malloca +check_PROGRAMS += test-malloca + +EXTRA_DIST += test-malloca.c + +## end gnulib module malloca-tests + +## begin gnulib module math-tests + +TESTS += test-math +check_PROGRAMS += test-math + +EXTRA_DIST += test-math.c + +## end gnulib module math-tests + +## begin gnulib module mbrtowc-tests + +TESTS += test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.sh +TESTS_ENVIRONMENT += \ + EXEEXT='@EXEEXT@' \ + LOCALE_FR='@LOCALE_FR@' \ + LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ + LOCALE_JA='@LOCALE_JA@' \ + LOCALE_ZH_CN='@LOCALE_ZH_CN@' +check_PROGRAMS += test-mbrtowc + +EXTRA_DIST += test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc.c + +## end gnulib module mbrtowc-tests + +## begin gnulib module mbsinit-tests + +TESTS += test-mbsinit.sh +TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' +check_PROGRAMS += test-mbsinit + +EXTRA_DIST += test-mbsinit.sh test-mbsinit.c + +## end gnulib module mbsinit-tests + +## begin gnulib module memchr-tests + +TESTS += test-memchr +check_PROGRAMS += test-memchr +EXTRA_DIST += test-memchr.c zerosize-ptr.h + +## end gnulib module memchr-tests + +## begin gnulib module printf-frexp-tests + +TESTS += test-printf-frexp +check_PROGRAMS += test-printf-frexp + +EXTRA_DIST += test-printf-frexp.c + +## end gnulib module printf-frexp-tests + +## begin gnulib module printf-frexpl-tests + +TESTS += test-printf-frexpl +check_PROGRAMS += test-printf-frexpl + +EXTRA_DIST += test-printf-frexpl.c + +## end gnulib module printf-frexpl-tests + +## begin gnulib module progname + +libtests_a_SOURCES += progname.h progname.c + +## end gnulib module progname + +## begin gnulib module setenv + + +EXTRA_DIST += setenv.c + +EXTRA_libtests_a_SOURCES += setenv.c + +## end gnulib module setenv + +## begin gnulib module signbit-tests + +TESTS += test-signbit +check_PROGRAMS += test-signbit + +EXTRA_DIST += test-signbit.c + +## end gnulib module signbit-tests + +## begin gnulib module stdbool-tests + +TESTS += test-stdbool +check_PROGRAMS += test-stdbool + +EXTRA_DIST += test-stdbool.c + +## end gnulib module stdbool-tests + +## begin gnulib module stdint-tests + +TESTS += test-stdint +check_PROGRAMS += test-stdint + +EXTRA_DIST += test-stdint.c + +## end gnulib module stdint-tests + +## begin gnulib module stdlib-tests + +TESTS += test-stdlib +check_PROGRAMS += test-stdlib + +EXTRA_DIST += test-stdlib.c + +## end gnulib module stdlib-tests + +## begin gnulib module strerror + + +EXTRA_DIST += strerror.c + +EXTRA_libtests_a_SOURCES += strerror.c + +## end gnulib module strerror + +## begin gnulib module strerror-tests + +TESTS += test-strerror +check_PROGRAMS += test-strerror +EXTRA_DIST += test-strerror.c + +## end gnulib module strerror-tests + +## begin gnulib module striconveh-tests + +TESTS += test-striconveh +check_PROGRAMS += test-striconveh +test_striconveh_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += test-striconveh.c + +## end gnulib module striconveh-tests + +## begin gnulib module striconveha-tests + +TESTS += test-striconveha +check_PROGRAMS += test-striconveha +test_striconveha_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += test-striconveha.c + +## end gnulib module striconveha-tests + +## begin gnulib module string-tests + +TESTS += test-string +check_PROGRAMS += test-string + +EXTRA_DIST += test-string.c + +## end gnulib module string-tests + +## begin gnulib module unicase/cased-tests + +TESTS += test-cased +check_PROGRAMS += test-cased +test_cased_SOURCES = unicase/test-cased.c + +EXTRA_DIST += unicase/test-cased.c unicase/test-predicate-part1.h unicase/test-predicate-part2.h + +## end gnulib module unicase/cased-tests + +## begin gnulib module unicase/ignorable-tests + +TESTS += test-ignorable +check_PROGRAMS += test-ignorable +test_ignorable_SOURCES = unicase/test-ignorable.c + +EXTRA_DIST += unicase/test-ignorable.c unicase/test-predicate-part1.h unicase/test-predicate-part2.h + +## end gnulib module unicase/ignorable-tests + +## begin gnulib module unicase/locale-language-tests + +TESTS += unicase/test-locale-language.sh +TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_JA='@LOCALE_JA@' LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' +check_PROGRAMS += test-locale-language +test_locale_language_SOURCES = unicase/test-locale-language.c +test_locale_language_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ +EXTRA_DIST += unicase/test-locale-language.sh unicase/test-locale-language.c + +## end gnulib module unicase/locale-language-tests + +## begin gnulib module unicase/tolower-tests + +TESTS += test-uc_tolower +check_PROGRAMS += test-uc_tolower +test_uc_tolower_SOURCES = unicase/test-uc_tolower.c + +EXTRA_DIST += unicase/test-uc_tolower.c unicase/test-mapping-part1.h unicase/test-mapping-part2.h + +## end gnulib module unicase/tolower-tests + +## begin gnulib module unicase/totitle-tests + +TESTS += test-uc_totitle +check_PROGRAMS += test-uc_totitle +test_uc_totitle_SOURCES = unicase/test-uc_totitle.c + +EXTRA_DIST += unicase/test-uc_totitle.c unicase/test-mapping-part1.h unicase/test-mapping-part2.h + +## end gnulib module unicase/totitle-tests + +## begin gnulib module unicase/toupper-tests + +TESTS += test-uc_toupper +check_PROGRAMS += test-uc_toupper +test_uc_toupper_SOURCES = unicase/test-uc_toupper.c + +EXTRA_DIST += unicase/test-uc_toupper.c unicase/test-mapping-part1.h unicase/test-mapping-part2.h + +## end gnulib module unicase/toupper-tests + +## begin gnulib module unicase/u16-casecmp-tests + +TESTS += test-u16-casecmp +check_PROGRAMS += test-u16-casecmp +test_u16_casecmp_SOURCES = unicase/test-u16-casecmp.c + +EXTRA_DIST += unicase/test-u16-casecmp.c unicase/test-casecmp.h + +## end gnulib module unicase/u16-casecmp-tests + +## begin gnulib module unicase/u16-casecoll-tests + +TESTS += test-u16-casecoll +check_PROGRAMS += test-u16-casecoll +test_u16_casecoll_SOURCES = unicase/test-u16-casecoll.c +test_u16_casecoll_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += unicase/test-u16-casecoll.c unicase/test-casecmp.h + +## end gnulib module unicase/u16-casecoll-tests + +## begin gnulib module unicase/u16-casefold-tests + +TESTS += test-u16-casefold +check_PROGRAMS += test-u16-casefold +test_u16_casefold_SOURCES = unicase/test-u16-casefold.c + +EXTRA_DIST += unicase/test-u16-casefold.c + +## end gnulib module unicase/u16-casefold-tests + +## begin gnulib module unicase/u16-is-cased-tests + +TESTS += test-u16-is-cased +check_PROGRAMS += test-u16-is-cased +test_u16_is_cased_SOURCES = unicase/test-u16-is-cased.c + +EXTRA_DIST += unicase/test-u16-is-cased.c unicase/test-is-cased.h + +## end gnulib module unicase/u16-is-cased-tests + +## begin gnulib module unicase/u16-is-casefolded-tests + +TESTS += test-u16-is-casefolded +check_PROGRAMS += test-u16-is-casefolded +test_u16_is_casefolded_SOURCES = unicase/test-u16-is-casefolded.c + +EXTRA_DIST += unicase/test-u16-is-casefolded.c unicase/test-is-casefolded.h + +## end gnulib module unicase/u16-is-casefolded-tests + +## begin gnulib module unicase/u16-is-lowercase-tests + +TESTS += test-u16-is-lowercase +check_PROGRAMS += test-u16-is-lowercase +test_u16_is_lowercase_SOURCES = unicase/test-u16-is-lowercase.c + +EXTRA_DIST += unicase/test-u16-is-lowercase.c unicase/test-is-lowercase.h + +## end gnulib module unicase/u16-is-lowercase-tests + +## begin gnulib module unicase/u16-is-titlecase-tests + +TESTS += test-u16-is-titlecase +check_PROGRAMS += test-u16-is-titlecase +test_u16_is_titlecase_SOURCES = unicase/test-u16-is-titlecase.c + +EXTRA_DIST += unicase/test-u16-is-titlecase.c unicase/test-is-titlecase.h + +## end gnulib module unicase/u16-is-titlecase-tests + +## begin gnulib module unicase/u16-is-uppercase-tests + +TESTS += test-u16-is-uppercase +check_PROGRAMS += test-u16-is-uppercase +test_u16_is_uppercase_SOURCES = unicase/test-u16-is-uppercase.c + +EXTRA_DIST += unicase/test-u16-is-uppercase.c unicase/test-is-uppercase.h + +## end gnulib module unicase/u16-is-uppercase-tests + +## begin gnulib module unicase/u16-tolower-tests + +TESTS += test-u16-tolower +check_PROGRAMS += test-u16-tolower +test_u16_tolower_SOURCES = unicase/test-u16-tolower.c + +EXTRA_DIST += unicase/test-u16-tolower.c + +## end gnulib module unicase/u16-tolower-tests + +## begin gnulib module unicase/u16-totitle-tests + +TESTS += test-u16-totitle +check_PROGRAMS += test-u16-totitle +test_u16_totitle_SOURCES = unicase/test-u16-totitle.c + +EXTRA_DIST += unicase/test-u16-totitle.c + +## end gnulib module unicase/u16-totitle-tests + +## begin gnulib module unicase/u16-toupper-tests + +TESTS += test-u16-toupper +check_PROGRAMS += test-u16-toupper +test_u16_toupper_SOURCES = unicase/test-u16-toupper.c + +EXTRA_DIST += unicase/test-u16-toupper.c + +## end gnulib module unicase/u16-toupper-tests + +## begin gnulib module unicase/u32-casecmp-tests + +TESTS += test-u32-casecmp +check_PROGRAMS += test-u32-casecmp +test_u32_casecmp_SOURCES = unicase/test-u32-casecmp.c + +EXTRA_DIST += unicase/test-u32-casecmp.c unicase/test-casecmp.h + +## end gnulib module unicase/u32-casecmp-tests + +## begin gnulib module unicase/u32-casecoll-tests + +TESTS += test-u32-casecoll +check_PROGRAMS += test-u32-casecoll +test_u32_casecoll_SOURCES = unicase/test-u32-casecoll.c +test_u32_casecoll_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += unicase/test-u32-casecoll.c unicase/test-casecmp.h + +## end gnulib module unicase/u32-casecoll-tests + +## begin gnulib module unicase/u32-casefold-tests + +TESTS += test-u32-casefold +check_PROGRAMS += test-u32-casefold +test_u32_casefold_SOURCES = unicase/test-u32-casefold.c + +EXTRA_DIST += unicase/test-u32-casefold.c + +## end gnulib module unicase/u32-casefold-tests + +## begin gnulib module unicase/u32-is-cased-tests + +TESTS += test-u32-is-cased +check_PROGRAMS += test-u32-is-cased +test_u32_is_cased_SOURCES = unicase/test-u32-is-cased.c + +EXTRA_DIST += unicase/test-u32-is-cased.c unicase/test-is-cased.h + +## end gnulib module unicase/u32-is-cased-tests + +## begin gnulib module unicase/u32-is-casefolded-tests + +TESTS += test-u32-is-casefolded +check_PROGRAMS += test-u32-is-casefolded +test_u32_is_casefolded_SOURCES = unicase/test-u32-is-casefolded.c + +EXTRA_DIST += unicase/test-u32-is-casefolded.c unicase/test-is-casefolded.h + +## end gnulib module unicase/u32-is-casefolded-tests + +## begin gnulib module unicase/u32-is-lowercase-tests + +TESTS += test-u32-is-lowercase +check_PROGRAMS += test-u32-is-lowercase +test_u32_is_lowercase_SOURCES = unicase/test-u32-is-lowercase.c + +EXTRA_DIST += unicase/test-u32-is-lowercase.c unicase/test-is-lowercase.h + +## end gnulib module unicase/u32-is-lowercase-tests + +## begin gnulib module unicase/u32-is-titlecase-tests + +TESTS += test-u32-is-titlecase +check_PROGRAMS += test-u32-is-titlecase +test_u32_is_titlecase_SOURCES = unicase/test-u32-is-titlecase.c + +EXTRA_DIST += unicase/test-u32-is-titlecase.c unicase/test-is-titlecase.h + +## end gnulib module unicase/u32-is-titlecase-tests + +## begin gnulib module unicase/u32-is-uppercase-tests + +TESTS += test-u32-is-uppercase +check_PROGRAMS += test-u32-is-uppercase +test_u32_is_uppercase_SOURCES = unicase/test-u32-is-uppercase.c + +EXTRA_DIST += unicase/test-u32-is-uppercase.c unicase/test-is-uppercase.h + +## end gnulib module unicase/u32-is-uppercase-tests + +## begin gnulib module unicase/u32-tolower-tests + +TESTS += test-u32-tolower +check_PROGRAMS += test-u32-tolower +test_u32_tolower_SOURCES = unicase/test-u32-tolower.c + +EXTRA_DIST += unicase/test-u32-tolower.c + +## end gnulib module unicase/u32-tolower-tests + +## begin gnulib module unicase/u32-totitle-tests + +TESTS += test-u32-totitle +check_PROGRAMS += test-u32-totitle +test_u32_totitle_SOURCES = unicase/test-u32-totitle.c + +EXTRA_DIST += unicase/test-u32-totitle.c + +## end gnulib module unicase/u32-totitle-tests + +## begin gnulib module unicase/u32-toupper-tests + +TESTS += test-u32-toupper +check_PROGRAMS += test-u32-toupper +test_u32_toupper_SOURCES = unicase/test-u32-toupper.c + +EXTRA_DIST += unicase/test-u32-toupper.c + +## end gnulib module unicase/u32-toupper-tests + +## begin gnulib module unicase/u8-casecmp-tests + +TESTS += test-u8-casecmp +check_PROGRAMS += test-u8-casecmp +test_u8_casecmp_SOURCES = unicase/test-u8-casecmp.c + +EXTRA_DIST += unicase/test-u8-casecmp.c unicase/test-casecmp.h + +## end gnulib module unicase/u8-casecmp-tests + +## begin gnulib module unicase/u8-casecoll-tests + +TESTS += test-u8-casecoll +check_PROGRAMS += test-u8-casecoll +test_u8_casecoll_SOURCES = unicase/test-u8-casecoll.c +test_u8_casecoll_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += unicase/test-u8-casecoll.c unicase/test-casecmp.h + +## end gnulib module unicase/u8-casecoll-tests + +## begin gnulib module unicase/u8-casefold-tests + +TESTS += test-u8-casefold +check_PROGRAMS += test-u8-casefold +test_u8_casefold_SOURCES = unicase/test-u8-casefold.c + +EXTRA_DIST += unicase/test-u8-casefold.c + +## end gnulib module unicase/u8-casefold-tests + +## begin gnulib module unicase/u8-is-cased-tests + +TESTS += test-u8-is-cased +check_PROGRAMS += test-u8-is-cased +test_u8_is_cased_SOURCES = unicase/test-u8-is-cased.c + +EXTRA_DIST += unicase/test-u8-is-cased.c unicase/test-is-cased.h + +## end gnulib module unicase/u8-is-cased-tests + +## begin gnulib module unicase/u8-is-casefolded-tests + +TESTS += test-u8-is-casefolded +check_PROGRAMS += test-u8-is-casefolded +test_u8_is_casefolded_SOURCES = unicase/test-u8-is-casefolded.c + +EXTRA_DIST += unicase/test-u8-is-casefolded.c unicase/test-is-casefolded.h + +## end gnulib module unicase/u8-is-casefolded-tests + +## begin gnulib module unicase/u8-is-lowercase-tests + +TESTS += test-u8-is-lowercase +check_PROGRAMS += test-u8-is-lowercase +test_u8_is_lowercase_SOURCES = unicase/test-u8-is-lowercase.c + +EXTRA_DIST += unicase/test-u8-is-lowercase.c unicase/test-is-lowercase.h + +## end gnulib module unicase/u8-is-lowercase-tests + +## begin gnulib module unicase/u8-is-titlecase-tests + +TESTS += test-u8-is-titlecase +check_PROGRAMS += test-u8-is-titlecase +test_u8_is_titlecase_SOURCES = unicase/test-u8-is-titlecase.c + +EXTRA_DIST += unicase/test-u8-is-titlecase.c unicase/test-is-titlecase.h + +## end gnulib module unicase/u8-is-titlecase-tests + +## begin gnulib module unicase/u8-is-uppercase-tests + +TESTS += test-u8-is-uppercase +check_PROGRAMS += test-u8-is-uppercase +test_u8_is_uppercase_SOURCES = unicase/test-u8-is-uppercase.c + +EXTRA_DIST += unicase/test-u8-is-uppercase.c unicase/test-is-uppercase.h + +## end gnulib module unicase/u8-is-uppercase-tests + +## begin gnulib module unicase/u8-tolower-tests + +TESTS += test-u8-tolower +check_PROGRAMS += test-u8-tolower +test_u8_tolower_SOURCES = unicase/test-u8-tolower.c + +EXTRA_DIST += unicase/test-u8-tolower.c + +## end gnulib module unicase/u8-tolower-tests + +## begin gnulib module unicase/u8-totitle-tests + +TESTS += test-u8-totitle +check_PROGRAMS += test-u8-totitle +test_u8_totitle_SOURCES = unicase/test-u8-totitle.c + +EXTRA_DIST += unicase/test-u8-totitle.c + +## end gnulib module unicase/u8-totitle-tests + +## begin gnulib module unicase/u8-toupper-tests + +TESTS += test-u8-toupper +check_PROGRAMS += test-u8-toupper +test_u8_toupper_SOURCES = unicase/test-u8-toupper.c + +EXTRA_DIST += unicase/test-u8-toupper.c + +## end gnulib module unicase/u8-toupper-tests + +## begin gnulib module unicase/ulc-casecmp-tests + +TESTS += unicase/test-ulc-casecmp1.sh unicase/test-ulc-casecmp2.sh +TESTS_ENVIRONMENT += \ + EXEEXT='@EXEEXT@' \ + LOCALE_FR='@LOCALE_FR@' \ + LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' +check_PROGRAMS += test-ulc-casecmp +test_ulc_casecmp_SOURCES = unicase/test-ulc-casecmp.c +test_ulc_casecmp_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += unicase/test-ulc-casecmp1.sh unicase/test-ulc-casecmp2.sh unicase/test-ulc-casecmp.c unicase/test-casecmp.h + +## end gnulib module unicase/ulc-casecmp-tests + +## begin gnulib module unicase/ulc-casecoll-tests + +TESTS += unicase/test-ulc-casecoll1.sh unicase/test-ulc-casecoll2.sh +TESTS_ENVIRONMENT += \ + EXEEXT='@EXEEXT@' \ + LOCALE_FR='@LOCALE_FR@' \ + LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' +check_PROGRAMS += test-ulc-casecoll +test_ulc_casecoll_SOURCES = unicase/test-ulc-casecoll.c +test_ulc_casecoll_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += unicase/test-ulc-casecoll1.sh unicase/test-ulc-casecoll2.sh unicase/test-ulc-casecoll.c unicase/test-casecmp.h + +## end gnulib module unicase/ulc-casecoll-tests + +## begin gnulib module uniconv/u16-conv-from-enc-tests + +TESTS += test-u16-conv-from-enc +check_PROGRAMS += test-u16-conv-from-enc +test_u16_conv_from_enc_SOURCES = uniconv/test-u16-conv-from-enc.c +test_u16_conv_from_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u16-conv-from-enc.c + +## end gnulib module uniconv/u16-conv-from-enc-tests + +## begin gnulib module uniconv/u16-conv-to-enc-tests + +TESTS += test-u16-conv-to-enc +check_PROGRAMS += test-u16-conv-to-enc +test_u16_conv_to_enc_SOURCES = uniconv/test-u16-conv-to-enc.c +test_u16_conv_to_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u16-conv-to-enc.c + +## end gnulib module uniconv/u16-conv-to-enc-tests + +## begin gnulib module uniconv/u16-strconv-from-enc-tests + +TESTS += test-u16-strconv-from-enc +check_PROGRAMS += test-u16-strconv-from-enc +test_u16_strconv_from_enc_SOURCES = uniconv/test-u16-strconv-from-enc.c +test_u16_strconv_from_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u16-strconv-from-enc.c + +## end gnulib module uniconv/u16-strconv-from-enc-tests + +## begin gnulib module uniconv/u16-strconv-to-enc-tests + +TESTS += test-u16-strconv-to-enc +check_PROGRAMS += test-u16-strconv-to-enc +test_u16_strconv_to_enc_SOURCES = uniconv/test-u16-strconv-to-enc.c +test_u16_strconv_to_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u16-strconv-to-enc.c + +## end gnulib module uniconv/u16-strconv-to-enc-tests + +## begin gnulib module uniconv/u32-conv-from-enc-tests + +TESTS += test-u32-conv-from-enc +check_PROGRAMS += test-u32-conv-from-enc +test_u32_conv_from_enc_SOURCES = uniconv/test-u32-conv-from-enc.c +test_u32_conv_from_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u32-conv-from-enc.c + +## end gnulib module uniconv/u32-conv-from-enc-tests + +## begin gnulib module uniconv/u32-conv-to-enc-tests + +TESTS += test-u32-conv-to-enc +check_PROGRAMS += test-u32-conv-to-enc +test_u32_conv_to_enc_SOURCES = uniconv/test-u32-conv-to-enc.c +test_u32_conv_to_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u32-conv-to-enc.c + +## end gnulib module uniconv/u32-conv-to-enc-tests + +## begin gnulib module uniconv/u32-strconv-from-enc-tests + +TESTS += test-u32-strconv-from-enc +check_PROGRAMS += test-u32-strconv-from-enc +test_u32_strconv_from_enc_SOURCES = uniconv/test-u32-strconv-from-enc.c +test_u32_strconv_from_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u32-strconv-from-enc.c + +## end gnulib module uniconv/u32-strconv-from-enc-tests + +## begin gnulib module uniconv/u32-strconv-to-enc-tests + +TESTS += test-u32-strconv-to-enc +check_PROGRAMS += test-u32-strconv-to-enc +test_u32_strconv_to_enc_SOURCES = uniconv/test-u32-strconv-to-enc.c +test_u32_strconv_to_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u32-strconv-to-enc.c + +## end gnulib module uniconv/u32-strconv-to-enc-tests + +## begin gnulib module uniconv/u8-conv-from-enc-tests + +TESTS += test-u8-conv-from-enc +check_PROGRAMS += test-u8-conv-from-enc +test_u8_conv_from_enc_SOURCES = uniconv/test-u8-conv-from-enc.c +test_u8_conv_from_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u8-conv-from-enc.c + +## end gnulib module uniconv/u8-conv-from-enc-tests + +## begin gnulib module uniconv/u8-conv-to-enc-tests + +TESTS += test-u8-conv-to-enc +check_PROGRAMS += test-u8-conv-to-enc +test_u8_conv_to_enc_SOURCES = uniconv/test-u8-conv-to-enc.c +test_u8_conv_to_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u8-conv-to-enc.c + +## end gnulib module uniconv/u8-conv-to-enc-tests + +## begin gnulib module uniconv/u8-strconv-from-enc-tests + +TESTS += test-u8-strconv-from-enc +check_PROGRAMS += test-u8-strconv-from-enc +test_u8_strconv_from_enc_SOURCES = uniconv/test-u8-strconv-from-enc.c +test_u8_strconv_from_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u8-strconv-from-enc.c + +## end gnulib module uniconv/u8-strconv-from-enc-tests + +## begin gnulib module uniconv/u8-strconv-to-enc-tests + +TESTS += test-u8-strconv-to-enc +check_PROGRAMS += test-u8-strconv-to-enc +test_u8_strconv_to_enc_SOURCES = uniconv/test-u8-strconv-to-enc.c +test_u8_strconv_to_enc_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniconv/test-u8-strconv-to-enc.c + +## end gnulib module uniconv/u8-strconv-to-enc-tests + +## begin gnulib module unictype/bidicategory-byname-tests + +TESTS += test-bidi_byname +check_PROGRAMS += test-bidi_byname +test_bidi_byname_SOURCES = unictype/test-bidi_byname.c + +EXTRA_DIST += unictype/test-bidi_byname.c + +## end gnulib module unictype/bidicategory-byname-tests + +## begin gnulib module unictype/bidicategory-name-tests + +TESTS += test-bidi_name +check_PROGRAMS += test-bidi_name +test_bidi_name_SOURCES = unictype/test-bidi_name.c + +EXTRA_DIST += unictype/test-bidi_name.c + +## end gnulib module unictype/bidicategory-name-tests + +## begin gnulib module unictype/bidicategory-of-tests + +TESTS += test-bidi_of +check_PROGRAMS += test-bidi_of +test_bidi_of_SOURCES = unictype/test-bidi_of.c + +EXTRA_DIST += unictype/test-bidi_of.c + +## end gnulib module unictype/bidicategory-of-tests + +## begin gnulib module unictype/bidicategory-test-tests + +TESTS += test-bidi_test +check_PROGRAMS += test-bidi_test +test_bidi_test_SOURCES = unictype/test-bidi_test.c + +EXTRA_DIST += unictype/test-bidi_test.c + +## end gnulib module unictype/bidicategory-test-tests + +## begin gnulib module unictype/block-list-tests + +TESTS += test-block_list +check_PROGRAMS += test-block_list +test_block_list_SOURCES = unictype/test-block_list.c + +EXTRA_DIST += unictype/test-block_list.c + +## end gnulib module unictype/block-list-tests + +## begin gnulib module unictype/block-of-tests + +TESTS += test-block_of +check_PROGRAMS += test-block_of +test_block_of_SOURCES = unictype/test-block_of.c + +EXTRA_DIST += unictype/test-block_of.c + +## end gnulib module unictype/block-of-tests + +## begin gnulib module unictype/block-test-tests + +TESTS += test-block_test +check_PROGRAMS += test-block_test +test_block_test_SOURCES = unictype/test-block_test.c + +EXTRA_DIST += unictype/test-block_test.c + +## end gnulib module unictype/block-test-tests + +## begin gnulib module unictype/category-C-tests + +TESTS += test-categ_C +check_PROGRAMS += test-categ_C +test_categ_C_SOURCES = unictype/test-categ_C.c + +EXTRA_DIST += unictype/test-categ_C.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-C-tests + +## begin gnulib module unictype/category-Cc-tests + +TESTS += test-categ_Cc +check_PROGRAMS += test-categ_Cc +test_categ_Cc_SOURCES = unictype/test-categ_Cc.c + +EXTRA_DIST += unictype/test-categ_Cc.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Cc-tests + +## begin gnulib module unictype/category-Cf-tests + +TESTS += test-categ_Cf +check_PROGRAMS += test-categ_Cf +test_categ_Cf_SOURCES = unictype/test-categ_Cf.c + +EXTRA_DIST += unictype/test-categ_Cf.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Cf-tests + +## begin gnulib module unictype/category-Cn-tests + +TESTS += test-categ_Cn +check_PROGRAMS += test-categ_Cn +test_categ_Cn_SOURCES = unictype/test-categ_Cn.c + +EXTRA_DIST += unictype/test-categ_Cn.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Cn-tests + +## begin gnulib module unictype/category-Co-tests + +TESTS += test-categ_Co +check_PROGRAMS += test-categ_Co +test_categ_Co_SOURCES = unictype/test-categ_Co.c + +EXTRA_DIST += unictype/test-categ_Co.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Co-tests + +## begin gnulib module unictype/category-Cs-tests + +TESTS += test-categ_Cs +check_PROGRAMS += test-categ_Cs +test_categ_Cs_SOURCES = unictype/test-categ_Cs.c + +EXTRA_DIST += unictype/test-categ_Cs.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Cs-tests + +## begin gnulib module unictype/category-L-tests + +TESTS += test-categ_L +check_PROGRAMS += test-categ_L +test_categ_L_SOURCES = unictype/test-categ_L.c + +EXTRA_DIST += unictype/test-categ_L.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-L-tests + +## begin gnulib module unictype/category-Ll-tests + +TESTS += test-categ_Ll +check_PROGRAMS += test-categ_Ll +test_categ_Ll_SOURCES = unictype/test-categ_Ll.c + +EXTRA_DIST += unictype/test-categ_Ll.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Ll-tests + +## begin gnulib module unictype/category-Lm-tests + +TESTS += test-categ_Lm +check_PROGRAMS += test-categ_Lm +test_categ_Lm_SOURCES = unictype/test-categ_Lm.c + +EXTRA_DIST += unictype/test-categ_Lm.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Lm-tests + +## begin gnulib module unictype/category-Lo-tests + +TESTS += test-categ_Lo +check_PROGRAMS += test-categ_Lo +test_categ_Lo_SOURCES = unictype/test-categ_Lo.c + +EXTRA_DIST += unictype/test-categ_Lo.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Lo-tests + +## begin gnulib module unictype/category-Lt-tests + +TESTS += test-categ_Lt +check_PROGRAMS += test-categ_Lt +test_categ_Lt_SOURCES = unictype/test-categ_Lt.c + +EXTRA_DIST += unictype/test-categ_Lt.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Lt-tests + +## begin gnulib module unictype/category-Lu-tests + +TESTS += test-categ_Lu +check_PROGRAMS += test-categ_Lu +test_categ_Lu_SOURCES = unictype/test-categ_Lu.c + +EXTRA_DIST += unictype/test-categ_Lu.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Lu-tests + +## begin gnulib module unictype/category-M-tests + +TESTS += test-categ_M +check_PROGRAMS += test-categ_M +test_categ_M_SOURCES = unictype/test-categ_M.c + +EXTRA_DIST += unictype/test-categ_M.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-M-tests + +## begin gnulib module unictype/category-Mc-tests + +TESTS += test-categ_Mc +check_PROGRAMS += test-categ_Mc +test_categ_Mc_SOURCES = unictype/test-categ_Mc.c + +EXTRA_DIST += unictype/test-categ_Mc.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Mc-tests + +## begin gnulib module unictype/category-Me-tests + +TESTS += test-categ_Me +check_PROGRAMS += test-categ_Me +test_categ_Me_SOURCES = unictype/test-categ_Me.c + +EXTRA_DIST += unictype/test-categ_Me.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Me-tests + +## begin gnulib module unictype/category-Mn-tests + +TESTS += test-categ_Mn +check_PROGRAMS += test-categ_Mn +test_categ_Mn_SOURCES = unictype/test-categ_Mn.c + +EXTRA_DIST += unictype/test-categ_Mn.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Mn-tests + +## begin gnulib module unictype/category-N-tests + +TESTS += test-categ_N +check_PROGRAMS += test-categ_N +test_categ_N_SOURCES = unictype/test-categ_N.c + +EXTRA_DIST += unictype/test-categ_N.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-N-tests + +## begin gnulib module unictype/category-Nd-tests + +TESTS += test-categ_Nd +check_PROGRAMS += test-categ_Nd +test_categ_Nd_SOURCES = unictype/test-categ_Nd.c + +EXTRA_DIST += unictype/test-categ_Nd.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Nd-tests + +## begin gnulib module unictype/category-Nl-tests + +TESTS += test-categ_Nl +check_PROGRAMS += test-categ_Nl +test_categ_Nl_SOURCES = unictype/test-categ_Nl.c + +EXTRA_DIST += unictype/test-categ_Nl.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Nl-tests + +## begin gnulib module unictype/category-No-tests + +TESTS += test-categ_No +check_PROGRAMS += test-categ_No +test_categ_No_SOURCES = unictype/test-categ_No.c + +EXTRA_DIST += unictype/test-categ_No.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-No-tests + +## begin gnulib module unictype/category-P-tests + +TESTS += test-categ_P +check_PROGRAMS += test-categ_P +test_categ_P_SOURCES = unictype/test-categ_P.c + +EXTRA_DIST += unictype/test-categ_P.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-P-tests + +## begin gnulib module unictype/category-Pc-tests + +TESTS += test-categ_Pc +check_PROGRAMS += test-categ_Pc +test_categ_Pc_SOURCES = unictype/test-categ_Pc.c + +EXTRA_DIST += unictype/test-categ_Pc.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Pc-tests + +## begin gnulib module unictype/category-Pd-tests + +TESTS += test-categ_Pd +check_PROGRAMS += test-categ_Pd +test_categ_Pd_SOURCES = unictype/test-categ_Pd.c + +EXTRA_DIST += unictype/test-categ_Pd.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Pd-tests + +## begin gnulib module unictype/category-Pe-tests + +TESTS += test-categ_Pe +check_PROGRAMS += test-categ_Pe +test_categ_Pe_SOURCES = unictype/test-categ_Pe.c + +EXTRA_DIST += unictype/test-categ_Pe.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Pe-tests + +## begin gnulib module unictype/category-Pf-tests + +TESTS += test-categ_Pf +check_PROGRAMS += test-categ_Pf +test_categ_Pf_SOURCES = unictype/test-categ_Pf.c + +EXTRA_DIST += unictype/test-categ_Pf.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Pf-tests + +## begin gnulib module unictype/category-Pi-tests + +TESTS += test-categ_Pi +check_PROGRAMS += test-categ_Pi +test_categ_Pi_SOURCES = unictype/test-categ_Pi.c + +EXTRA_DIST += unictype/test-categ_Pi.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Pi-tests + +## begin gnulib module unictype/category-Po-tests + +TESTS += test-categ_Po +check_PROGRAMS += test-categ_Po +test_categ_Po_SOURCES = unictype/test-categ_Po.c + +EXTRA_DIST += unictype/test-categ_Po.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Po-tests + +## begin gnulib module unictype/category-Ps-tests + +TESTS += test-categ_Ps +check_PROGRAMS += test-categ_Ps +test_categ_Ps_SOURCES = unictype/test-categ_Ps.c + +EXTRA_DIST += unictype/test-categ_Ps.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Ps-tests + +## begin gnulib module unictype/category-S-tests + +TESTS += test-categ_S +check_PROGRAMS += test-categ_S +test_categ_S_SOURCES = unictype/test-categ_S.c + +EXTRA_DIST += unictype/test-categ_S.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-S-tests + +## begin gnulib module unictype/category-Sc-tests + +TESTS += test-categ_Sc +check_PROGRAMS += test-categ_Sc +test_categ_Sc_SOURCES = unictype/test-categ_Sc.c + +EXTRA_DIST += unictype/test-categ_Sc.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Sc-tests + +## begin gnulib module unictype/category-Sk-tests + +TESTS += test-categ_Sk +check_PROGRAMS += test-categ_Sk +test_categ_Sk_SOURCES = unictype/test-categ_Sk.c + +EXTRA_DIST += unictype/test-categ_Sk.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Sk-tests + +## begin gnulib module unictype/category-Sm-tests + +TESTS += test-categ_Sm +check_PROGRAMS += test-categ_Sm +test_categ_Sm_SOURCES = unictype/test-categ_Sm.c + +EXTRA_DIST += unictype/test-categ_Sm.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Sm-tests + +## begin gnulib module unictype/category-So-tests + +TESTS += test-categ_So +check_PROGRAMS += test-categ_So +test_categ_So_SOURCES = unictype/test-categ_So.c + +EXTRA_DIST += unictype/test-categ_So.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-So-tests + +## begin gnulib module unictype/category-Z-tests + +TESTS += test-categ_Z +check_PROGRAMS += test-categ_Z +test_categ_Z_SOURCES = unictype/test-categ_Z.c + +EXTRA_DIST += unictype/test-categ_Z.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Z-tests + +## begin gnulib module unictype/category-Zl-tests + +TESTS += test-categ_Zl +check_PROGRAMS += test-categ_Zl +test_categ_Zl_SOURCES = unictype/test-categ_Zl.c + +EXTRA_DIST += unictype/test-categ_Zl.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Zl-tests + +## begin gnulib module unictype/category-Zp-tests + +TESTS += test-categ_Zp +check_PROGRAMS += test-categ_Zp +test_categ_Zp_SOURCES = unictype/test-categ_Zp.c + +EXTRA_DIST += unictype/test-categ_Zp.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Zp-tests + +## begin gnulib module unictype/category-Zs-tests + +TESTS += test-categ_Zs +check_PROGRAMS += test-categ_Zs +test_categ_Zs_SOURCES = unictype/test-categ_Zs.c + +EXTRA_DIST += unictype/test-categ_Zs.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/category-Zs-tests + +## begin gnulib module unictype/category-and-not-tests + +TESTS += test-categ_and_not +check_PROGRAMS += test-categ_and_not +test_categ_and_not_SOURCES = unictype/test-categ_and_not.c + +EXTRA_DIST += unictype/test-categ_and_not.c + +## end gnulib module unictype/category-and-not-tests + +## begin gnulib module unictype/category-and-tests + +TESTS += test-categ_and +check_PROGRAMS += test-categ_and +test_categ_and_SOURCES = unictype/test-categ_and.c + +EXTRA_DIST += unictype/test-categ_and.c + +## end gnulib module unictype/category-and-tests + +## begin gnulib module unictype/category-byname-tests + +TESTS += test-categ_byname +check_PROGRAMS += test-categ_byname +test_categ_byname_SOURCES = unictype/test-categ_byname.c + +EXTRA_DIST += unictype/test-categ_byname.c + +## end gnulib module unictype/category-byname-tests + +## begin gnulib module unictype/category-name-tests + +TESTS += test-categ_name +check_PROGRAMS += test-categ_name +test_categ_name_SOURCES = unictype/test-categ_name.c + +EXTRA_DIST += unictype/test-categ_name.c + +## end gnulib module unictype/category-name-tests + +## begin gnulib module unictype/category-none-tests + +if !WOE32DLL +TESTS += test-categ_none +check_PROGRAMS += test-categ_none +test_categ_none_SOURCES = unictype/test-categ_none.c +endif + +EXTRA_DIST += unictype/test-categ_none.c + +## end gnulib module unictype/category-none-tests + +## begin gnulib module unictype/category-of-tests + +TESTS += test-categ_of +check_PROGRAMS += test-categ_of +test_categ_of_SOURCES = unictype/test-categ_of.c + +EXTRA_DIST += unictype/test-categ_of.c + +## end gnulib module unictype/category-of-tests + +## begin gnulib module unictype/category-or-tests + +TESTS += test-categ_or +check_PROGRAMS += test-categ_or +test_categ_or_SOURCES = unictype/test-categ_or.c + +EXTRA_DIST += unictype/test-categ_or.c + +## end gnulib module unictype/category-or-tests + +## begin gnulib module unictype/category-test-withtable-tests + +TESTS += test-categ_test_withtable +check_PROGRAMS += test-categ_test_withtable +test_categ_test_withtable_SOURCES = unictype/test-categ_test_withtable.c + +EXTRA_DIST += unictype/test-categ_test_withtable.c + +## end gnulib module unictype/category-test-withtable-tests + +## begin gnulib module unictype/combining-class-tests + +TESTS += test-combining +check_PROGRAMS += test-combining +test_combining_SOURCES = unictype/test-combining.c + +EXTRA_DIST += unictype/test-combining.c + +## end gnulib module unictype/combining-class-tests + +## begin gnulib module unictype/ctype-alnum-tests + +TESTS += test-ctype_alnum +check_PROGRAMS += test-ctype_alnum +test_ctype_alnum_SOURCES = unictype/test-ctype_alnum.c + +EXTRA_DIST += unictype/test-ctype_alnum.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-alnum-tests + +## begin gnulib module unictype/ctype-alpha-tests + +TESTS += test-ctype_alpha +check_PROGRAMS += test-ctype_alpha +test_ctype_alpha_SOURCES = unictype/test-ctype_alpha.c + +EXTRA_DIST += unictype/test-ctype_alpha.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-alpha-tests + +## begin gnulib module unictype/ctype-blank-tests + +TESTS += test-ctype_blank +check_PROGRAMS += test-ctype_blank +test_ctype_blank_SOURCES = unictype/test-ctype_blank.c + +EXTRA_DIST += unictype/test-ctype_blank.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-blank-tests + +## begin gnulib module unictype/ctype-cntrl-tests + +TESTS += test-ctype_cntrl +check_PROGRAMS += test-ctype_cntrl +test_ctype_cntrl_SOURCES = unictype/test-ctype_cntrl.c + +EXTRA_DIST += unictype/test-ctype_cntrl.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-cntrl-tests + +## begin gnulib module unictype/ctype-digit-tests + +TESTS += test-ctype_digit +check_PROGRAMS += test-ctype_digit +test_ctype_digit_SOURCES = unictype/test-ctype_digit.c + +EXTRA_DIST += unictype/test-ctype_digit.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-digit-tests + +## begin gnulib module unictype/ctype-graph-tests + +TESTS += test-ctype_graph +check_PROGRAMS += test-ctype_graph +test_ctype_graph_SOURCES = unictype/test-ctype_graph.c + +EXTRA_DIST += unictype/test-ctype_graph.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-graph-tests + +## begin gnulib module unictype/ctype-lower-tests + +TESTS += test-ctype_lower +check_PROGRAMS += test-ctype_lower +test_ctype_lower_SOURCES = unictype/test-ctype_lower.c + +EXTRA_DIST += unictype/test-ctype_lower.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-lower-tests + +## begin gnulib module unictype/ctype-print-tests + +TESTS += test-ctype_print +check_PROGRAMS += test-ctype_print +test_ctype_print_SOURCES = unictype/test-ctype_print.c + +EXTRA_DIST += unictype/test-ctype_print.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-print-tests + +## begin gnulib module unictype/ctype-punct-tests + +TESTS += test-ctype_punct +check_PROGRAMS += test-ctype_punct +test_ctype_punct_SOURCES = unictype/test-ctype_punct.c + +EXTRA_DIST += unictype/test-ctype_punct.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-punct-tests + +## begin gnulib module unictype/ctype-space-tests + +TESTS += test-ctype_space +check_PROGRAMS += test-ctype_space +test_ctype_space_SOURCES = unictype/test-ctype_space.c + +EXTRA_DIST += unictype/test-ctype_space.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-space-tests + +## begin gnulib module unictype/ctype-upper-tests + +TESTS += test-ctype_upper +check_PROGRAMS += test-ctype_upper +test_ctype_upper_SOURCES = unictype/test-ctype_upper.c + +EXTRA_DIST += unictype/test-ctype_upper.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-upper-tests + +## begin gnulib module unictype/ctype-xdigit-tests + +TESTS += test-ctype_xdigit +check_PROGRAMS += test-ctype_xdigit +test_ctype_xdigit_SOURCES = unictype/test-ctype_xdigit.c + +EXTRA_DIST += unictype/test-ctype_xdigit.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/ctype-xdigit-tests + +## begin gnulib module unictype/decimal-digit-tests + +TESTS += test-decdigit +check_PROGRAMS += test-decdigit +test_decdigit_SOURCES = unictype/test-decdigit.c + +EXTRA_DIST += unictype/test-decdigit.c unictype/test-decdigit.h + +## end gnulib module unictype/decimal-digit-tests + +## begin gnulib module unictype/digit-tests + +TESTS += test-digit +check_PROGRAMS += test-digit +test_digit_SOURCES = unictype/test-digit.c + +EXTRA_DIST += unictype/test-digit.c unictype/test-digit.h + +## end gnulib module unictype/digit-tests + +## begin gnulib module unictype/mirror-tests + +TESTS += test-mirror +check_PROGRAMS += test-mirror +test_mirror_SOURCES = unictype/test-mirror.c + +EXTRA_DIST += unictype/test-mirror.c + +## end gnulib module unictype/mirror-tests + +## begin gnulib module unictype/numeric-tests + +TESTS += test-numeric +check_PROGRAMS += test-numeric +test_numeric_SOURCES = unictype/test-numeric.c + +EXTRA_DIST += unictype/test-numeric.c unictype/test-numeric.h + +## end gnulib module unictype/numeric-tests + +## begin gnulib module unictype/property-alphabetic-tests + +TESTS += test-pr_alphabetic +check_PROGRAMS += test-pr_alphabetic +test_pr_alphabetic_SOURCES = unictype/test-pr_alphabetic.c + +EXTRA_DIST += unictype/test-pr_alphabetic.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-alphabetic-tests + +## begin gnulib module unictype/property-ascii-hex-digit-tests + +TESTS += test-pr_ascii_hex_digit +check_PROGRAMS += test-pr_ascii_hex_digit +test_pr_ascii_hex_digit_SOURCES = unictype/test-pr_ascii_hex_digit.c + +EXTRA_DIST += unictype/test-pr_ascii_hex_digit.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-ascii-hex-digit-tests + +## begin gnulib module unictype/property-bidi-arabic-digit-tests + +TESTS += test-pr_bidi_arabic_digit +check_PROGRAMS += test-pr_bidi_arabic_digit +test_pr_bidi_arabic_digit_SOURCES = unictype/test-pr_bidi_arabic_digit.c + +EXTRA_DIST += unictype/test-pr_bidi_arabic_digit.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-arabic-digit-tests + +## begin gnulib module unictype/property-bidi-arabic-right-to-left-tests + +TESTS += test-pr_bidi_arabic_right_to_left +check_PROGRAMS += test-pr_bidi_arabic_right_to_left +test_pr_bidi_arabic_right_to_left_SOURCES = unictype/test-pr_bidi_arabic_right_to_left.c + +EXTRA_DIST += unictype/test-pr_bidi_arabic_right_to_left.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-arabic-right-to-left-tests + +## begin gnulib module unictype/property-bidi-block-separator-tests + +TESTS += test-pr_bidi_block_separator +check_PROGRAMS += test-pr_bidi_block_separator +test_pr_bidi_block_separator_SOURCES = unictype/test-pr_bidi_block_separator.c + +EXTRA_DIST += unictype/test-pr_bidi_block_separator.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-block-separator-tests + +## begin gnulib module unictype/property-bidi-boundary-neutral-tests + +TESTS += test-pr_bidi_boundary_neutral +check_PROGRAMS += test-pr_bidi_boundary_neutral +test_pr_bidi_boundary_neutral_SOURCES = unictype/test-pr_bidi_boundary_neutral.c + +EXTRA_DIST += unictype/test-pr_bidi_boundary_neutral.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-boundary-neutral-tests + +## begin gnulib module unictype/property-bidi-common-separator-tests + +TESTS += test-pr_bidi_common_separator +check_PROGRAMS += test-pr_bidi_common_separator +test_pr_bidi_common_separator_SOURCES = unictype/test-pr_bidi_common_separator.c + +EXTRA_DIST += unictype/test-pr_bidi_common_separator.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-common-separator-tests + +## begin gnulib module unictype/property-bidi-control-tests + +TESTS += test-pr_bidi_control +check_PROGRAMS += test-pr_bidi_control +test_pr_bidi_control_SOURCES = unictype/test-pr_bidi_control.c + +EXTRA_DIST += unictype/test-pr_bidi_control.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-control-tests + +## begin gnulib module unictype/property-bidi-embedding-or-override-tests + +TESTS += test-pr_bidi_embedding_or_override +check_PROGRAMS += test-pr_bidi_embedding_or_override +test_pr_bidi_embedding_or_override_SOURCES = unictype/test-pr_bidi_embedding_or_override.c + +EXTRA_DIST += unictype/test-pr_bidi_embedding_or_override.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-embedding-or-override-tests + +## begin gnulib module unictype/property-bidi-eur-num-separator-tests + +TESTS += test-pr_bidi_eur_num_separator +check_PROGRAMS += test-pr_bidi_eur_num_separator +test_pr_bidi_eur_num_separator_SOURCES = unictype/test-pr_bidi_eur_num_separator.c + +EXTRA_DIST += unictype/test-pr_bidi_eur_num_separator.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-eur-num-separator-tests + +## begin gnulib module unictype/property-bidi-eur-num-terminator-tests + +TESTS += test-pr_bidi_eur_num_terminator +check_PROGRAMS += test-pr_bidi_eur_num_terminator +test_pr_bidi_eur_num_terminator_SOURCES = unictype/test-pr_bidi_eur_num_terminator.c + +EXTRA_DIST += unictype/test-pr_bidi_eur_num_terminator.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-eur-num-terminator-tests + +## begin gnulib module unictype/property-bidi-european-digit-tests + +TESTS += test-pr_bidi_european_digit +check_PROGRAMS += test-pr_bidi_european_digit +test_pr_bidi_european_digit_SOURCES = unictype/test-pr_bidi_european_digit.c + +EXTRA_DIST += unictype/test-pr_bidi_european_digit.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-european-digit-tests + +## begin gnulib module unictype/property-bidi-hebrew-right-to-left-tests + +TESTS += test-pr_bidi_hebrew_right_to_left +check_PROGRAMS += test-pr_bidi_hebrew_right_to_left +test_pr_bidi_hebrew_right_to_left_SOURCES = unictype/test-pr_bidi_hebrew_right_to_left.c + +EXTRA_DIST += unictype/test-pr_bidi_hebrew_right_to_left.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-hebrew-right-to-left-tests + +## begin gnulib module unictype/property-bidi-left-to-right-tests + +TESTS += test-pr_bidi_left_to_right +check_PROGRAMS += test-pr_bidi_left_to_right +test_pr_bidi_left_to_right_SOURCES = unictype/test-pr_bidi_left_to_right.c + +EXTRA_DIST += unictype/test-pr_bidi_left_to_right.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-left-to-right-tests + +## begin gnulib module unictype/property-bidi-non-spacing-mark-tests + +TESTS += test-pr_bidi_non_spacing_mark +check_PROGRAMS += test-pr_bidi_non_spacing_mark +test_pr_bidi_non_spacing_mark_SOURCES = unictype/test-pr_bidi_non_spacing_mark.c + +EXTRA_DIST += unictype/test-pr_bidi_non_spacing_mark.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-non-spacing-mark-tests + +## begin gnulib module unictype/property-bidi-other-neutral-tests + +TESTS += test-pr_bidi_other_neutral +check_PROGRAMS += test-pr_bidi_other_neutral +test_pr_bidi_other_neutral_SOURCES = unictype/test-pr_bidi_other_neutral.c + +EXTRA_DIST += unictype/test-pr_bidi_other_neutral.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-other-neutral-tests + +## begin gnulib module unictype/property-bidi-pdf-tests + +TESTS += test-pr_bidi_pdf +check_PROGRAMS += test-pr_bidi_pdf +test_pr_bidi_pdf_SOURCES = unictype/test-pr_bidi_pdf.c + +EXTRA_DIST += unictype/test-pr_bidi_pdf.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-pdf-tests + +## begin gnulib module unictype/property-bidi-segment-separator-tests + +TESTS += test-pr_bidi_segment_separator +check_PROGRAMS += test-pr_bidi_segment_separator +test_pr_bidi_segment_separator_SOURCES = unictype/test-pr_bidi_segment_separator.c + +EXTRA_DIST += unictype/test-pr_bidi_segment_separator.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-segment-separator-tests + +## begin gnulib module unictype/property-bidi-whitespace-tests + +TESTS += test-pr_bidi_whitespace +check_PROGRAMS += test-pr_bidi_whitespace +test_pr_bidi_whitespace_SOURCES = unictype/test-pr_bidi_whitespace.c + +EXTRA_DIST += unictype/test-pr_bidi_whitespace.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-bidi-whitespace-tests + +## begin gnulib module unictype/property-byname-tests + +TESTS += test-pr_byname +check_PROGRAMS += test-pr_byname +test_pr_byname_SOURCES = unictype/test-pr_byname.c + +EXTRA_DIST += unictype/test-pr_byname.c + +## end gnulib module unictype/property-byname-tests + +## begin gnulib module unictype/property-combining-tests + +TESTS += test-pr_combining +check_PROGRAMS += test-pr_combining +test_pr_combining_SOURCES = unictype/test-pr_combining.c + +EXTRA_DIST += unictype/test-pr_combining.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-combining-tests + +## begin gnulib module unictype/property-composite-tests + +TESTS += test-pr_composite +check_PROGRAMS += test-pr_composite +test_pr_composite_SOURCES = unictype/test-pr_composite.c + +EXTRA_DIST += unictype/test-pr_composite.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-composite-tests + +## begin gnulib module unictype/property-currency-symbol-tests + +TESTS += test-pr_currency_symbol +check_PROGRAMS += test-pr_currency_symbol +test_pr_currency_symbol_SOURCES = unictype/test-pr_currency_symbol.c + +EXTRA_DIST += unictype/test-pr_currency_symbol.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-currency-symbol-tests + +## begin gnulib module unictype/property-dash-tests + +TESTS += test-pr_dash +check_PROGRAMS += test-pr_dash +test_pr_dash_SOURCES = unictype/test-pr_dash.c + +EXTRA_DIST += unictype/test-pr_dash.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-dash-tests + +## begin gnulib module unictype/property-decimal-digit-tests + +TESTS += test-pr_decimal_digit +check_PROGRAMS += test-pr_decimal_digit +test_pr_decimal_digit_SOURCES = unictype/test-pr_decimal_digit.c + +EXTRA_DIST += unictype/test-pr_decimal_digit.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-decimal-digit-tests + +## begin gnulib module unictype/property-default-ignorable-code-point-tests + +TESTS += test-pr_default_ignorable_code_point +check_PROGRAMS += test-pr_default_ignorable_code_point +test_pr_default_ignorable_code_point_SOURCES = unictype/test-pr_default_ignorable_code_point.c + +EXTRA_DIST += unictype/test-pr_default_ignorable_code_point.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-default-ignorable-code-point-tests + +## begin gnulib module unictype/property-deprecated-tests + +TESTS += test-pr_deprecated +check_PROGRAMS += test-pr_deprecated +test_pr_deprecated_SOURCES = unictype/test-pr_deprecated.c + +EXTRA_DIST += unictype/test-pr_deprecated.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-deprecated-tests + +## begin gnulib module unictype/property-diacritic-tests + +TESTS += test-pr_diacritic +check_PROGRAMS += test-pr_diacritic +test_pr_diacritic_SOURCES = unictype/test-pr_diacritic.c + +EXTRA_DIST += unictype/test-pr_diacritic.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-diacritic-tests + +## begin gnulib module unictype/property-extender-tests + +TESTS += test-pr_extender +check_PROGRAMS += test-pr_extender +test_pr_extender_SOURCES = unictype/test-pr_extender.c + +EXTRA_DIST += unictype/test-pr_extender.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-extender-tests + +## begin gnulib module unictype/property-format-control-tests + +TESTS += test-pr_format_control +check_PROGRAMS += test-pr_format_control +test_pr_format_control_SOURCES = unictype/test-pr_format_control.c + +EXTRA_DIST += unictype/test-pr_format_control.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-format-control-tests + +## begin gnulib module unictype/property-grapheme-base-tests + +TESTS += test-pr_grapheme_base +check_PROGRAMS += test-pr_grapheme_base +test_pr_grapheme_base_SOURCES = unictype/test-pr_grapheme_base.c + +EXTRA_DIST += unictype/test-pr_grapheme_base.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-grapheme-base-tests + +## begin gnulib module unictype/property-grapheme-extend-tests + +TESTS += test-pr_grapheme_extend +check_PROGRAMS += test-pr_grapheme_extend +test_pr_grapheme_extend_SOURCES = unictype/test-pr_grapheme_extend.c + +EXTRA_DIST += unictype/test-pr_grapheme_extend.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-grapheme-extend-tests + +## begin gnulib module unictype/property-grapheme-link-tests + +TESTS += test-pr_grapheme_link +check_PROGRAMS += test-pr_grapheme_link +test_pr_grapheme_link_SOURCES = unictype/test-pr_grapheme_link.c + +EXTRA_DIST += unictype/test-pr_grapheme_link.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-grapheme-link-tests + +## begin gnulib module unictype/property-hex-digit-tests + +TESTS += test-pr_hex_digit +check_PROGRAMS += test-pr_hex_digit +test_pr_hex_digit_SOURCES = unictype/test-pr_hex_digit.c + +EXTRA_DIST += unictype/test-pr_hex_digit.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-hex-digit-tests + +## begin gnulib module unictype/property-hyphen-tests + +TESTS += test-pr_hyphen +check_PROGRAMS += test-pr_hyphen +test_pr_hyphen_SOURCES = unictype/test-pr_hyphen.c + +EXTRA_DIST += unictype/test-pr_hyphen.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-hyphen-tests + +## begin gnulib module unictype/property-id-continue-tests + +TESTS += test-pr_id_continue +check_PROGRAMS += test-pr_id_continue +test_pr_id_continue_SOURCES = unictype/test-pr_id_continue.c + +EXTRA_DIST += unictype/test-pr_id_continue.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-id-continue-tests + +## begin gnulib module unictype/property-id-start-tests + +TESTS += test-pr_id_start +check_PROGRAMS += test-pr_id_start +test_pr_id_start_SOURCES = unictype/test-pr_id_start.c + +EXTRA_DIST += unictype/test-pr_id_start.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-id-start-tests + +## begin gnulib module unictype/property-ideographic-tests + +TESTS += test-pr_ideographic +check_PROGRAMS += test-pr_ideographic +test_pr_ideographic_SOURCES = unictype/test-pr_ideographic.c + +EXTRA_DIST += unictype/test-pr_ideographic.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-ideographic-tests + +## begin gnulib module unictype/property-ids-binary-operator-tests + +TESTS += test-pr_ids_binary_operator +check_PROGRAMS += test-pr_ids_binary_operator +test_pr_ids_binary_operator_SOURCES = unictype/test-pr_ids_binary_operator.c + +EXTRA_DIST += unictype/test-pr_ids_binary_operator.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-ids-binary-operator-tests + +## begin gnulib module unictype/property-ids-trinary-operator-tests + +TESTS += test-pr_ids_trinary_operator +check_PROGRAMS += test-pr_ids_trinary_operator +test_pr_ids_trinary_operator_SOURCES = unictype/test-pr_ids_trinary_operator.c + +EXTRA_DIST += unictype/test-pr_ids_trinary_operator.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-ids-trinary-operator-tests + +## begin gnulib module unictype/property-ignorable-control-tests + +TESTS += test-pr_ignorable_control +check_PROGRAMS += test-pr_ignorable_control +test_pr_ignorable_control_SOURCES = unictype/test-pr_ignorable_control.c + +EXTRA_DIST += unictype/test-pr_ignorable_control.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-ignorable-control-tests + +## begin gnulib module unictype/property-iso-control-tests + +TESTS += test-pr_iso_control +check_PROGRAMS += test-pr_iso_control +test_pr_iso_control_SOURCES = unictype/test-pr_iso_control.c + +EXTRA_DIST += unictype/test-pr_iso_control.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-iso-control-tests + +## begin gnulib module unictype/property-join-control-tests + +TESTS += test-pr_join_control +check_PROGRAMS += test-pr_join_control +test_pr_join_control_SOURCES = unictype/test-pr_join_control.c + +EXTRA_DIST += unictype/test-pr_join_control.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-join-control-tests + +## begin gnulib module unictype/property-left-of-pair-tests + +TESTS += test-pr_left_of_pair +check_PROGRAMS += test-pr_left_of_pair +test_pr_left_of_pair_SOURCES = unictype/test-pr_left_of_pair.c + +EXTRA_DIST += unictype/test-pr_left_of_pair.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-left-of-pair-tests + +## begin gnulib module unictype/property-line-separator-tests + +TESTS += test-pr_line_separator +check_PROGRAMS += test-pr_line_separator +test_pr_line_separator_SOURCES = unictype/test-pr_line_separator.c + +EXTRA_DIST += unictype/test-pr_line_separator.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-line-separator-tests + +## begin gnulib module unictype/property-logical-order-exception-tests + +TESTS += test-pr_logical_order_exception +check_PROGRAMS += test-pr_logical_order_exception +test_pr_logical_order_exception_SOURCES = unictype/test-pr_logical_order_exception.c + +EXTRA_DIST += unictype/test-pr_logical_order_exception.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-logical-order-exception-tests + +## begin gnulib module unictype/property-lowercase-tests + +TESTS += test-pr_lowercase +check_PROGRAMS += test-pr_lowercase +test_pr_lowercase_SOURCES = unictype/test-pr_lowercase.c + +EXTRA_DIST += unictype/test-pr_lowercase.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-lowercase-tests + +## begin gnulib module unictype/property-math-tests + +TESTS += test-pr_math +check_PROGRAMS += test-pr_math +test_pr_math_SOURCES = unictype/test-pr_math.c + +EXTRA_DIST += unictype/test-pr_math.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-math-tests + +## begin gnulib module unictype/property-non-break-tests + +TESTS += test-pr_non_break +check_PROGRAMS += test-pr_non_break +test_pr_non_break_SOURCES = unictype/test-pr_non_break.c + +EXTRA_DIST += unictype/test-pr_non_break.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-non-break-tests + +## begin gnulib module unictype/property-not-a-character-tests + +TESTS += test-pr_not_a_character +check_PROGRAMS += test-pr_not_a_character +test_pr_not_a_character_SOURCES = unictype/test-pr_not_a_character.c + +EXTRA_DIST += unictype/test-pr_not_a_character.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-not-a-character-tests + +## begin gnulib module unictype/property-numeric-tests + +TESTS += test-pr_numeric +check_PROGRAMS += test-pr_numeric +test_pr_numeric_SOURCES = unictype/test-pr_numeric.c + +EXTRA_DIST += unictype/test-pr_numeric.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-numeric-tests + +## begin gnulib module unictype/property-other-alphabetic-tests + +TESTS += test-pr_other_alphabetic +check_PROGRAMS += test-pr_other_alphabetic +test_pr_other_alphabetic_SOURCES = unictype/test-pr_other_alphabetic.c + +EXTRA_DIST += unictype/test-pr_other_alphabetic.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-other-alphabetic-tests + +## begin gnulib module unictype/property-other-default-ignorable-code-point-tests + +TESTS += test-pr_other_default_ignorable_code_point +check_PROGRAMS += test-pr_other_default_ignorable_code_point +test_pr_other_default_ignorable_code_point_SOURCES = unictype/test-pr_other_default_ignorable_code_point.c + +EXTRA_DIST += unictype/test-pr_other_default_ignorable_code_point.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-other-default-ignorable-code-point-tests + +## begin gnulib module unictype/property-other-grapheme-extend-tests + +TESTS += test-pr_other_grapheme_extend +check_PROGRAMS += test-pr_other_grapheme_extend +test_pr_other_grapheme_extend_SOURCES = unictype/test-pr_other_grapheme_extend.c + +EXTRA_DIST += unictype/test-pr_other_grapheme_extend.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-other-grapheme-extend-tests + +## begin gnulib module unictype/property-other-id-continue-tests + +TESTS += test-pr_other_id_continue +check_PROGRAMS += test-pr_other_id_continue +test_pr_other_id_continue_SOURCES = unictype/test-pr_other_id_continue.c + +EXTRA_DIST += unictype/test-pr_other_id_continue.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-other-id-continue-tests + +## begin gnulib module unictype/property-other-id-start-tests + +TESTS += test-pr_other_id_start +check_PROGRAMS += test-pr_other_id_start +test_pr_other_id_start_SOURCES = unictype/test-pr_other_id_start.c + +EXTRA_DIST += unictype/test-pr_other_id_start.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-other-id-start-tests + +## begin gnulib module unictype/property-other-lowercase-tests + +TESTS += test-pr_other_lowercase +check_PROGRAMS += test-pr_other_lowercase +test_pr_other_lowercase_SOURCES = unictype/test-pr_other_lowercase.c + +EXTRA_DIST += unictype/test-pr_other_lowercase.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-other-lowercase-tests + +## begin gnulib module unictype/property-other-math-tests + +TESTS += test-pr_other_math +check_PROGRAMS += test-pr_other_math +test_pr_other_math_SOURCES = unictype/test-pr_other_math.c + +EXTRA_DIST += unictype/test-pr_other_math.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-other-math-tests + +## begin gnulib module unictype/property-other-uppercase-tests + +TESTS += test-pr_other_uppercase +check_PROGRAMS += test-pr_other_uppercase +test_pr_other_uppercase_SOURCES = unictype/test-pr_other_uppercase.c + +EXTRA_DIST += unictype/test-pr_other_uppercase.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-other-uppercase-tests + +## begin gnulib module unictype/property-paired-punctuation-tests + +TESTS += test-pr_paired_punctuation +check_PROGRAMS += test-pr_paired_punctuation +test_pr_paired_punctuation_SOURCES = unictype/test-pr_paired_punctuation.c + +EXTRA_DIST += unictype/test-pr_paired_punctuation.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-paired-punctuation-tests + +## begin gnulib module unictype/property-paragraph-separator-tests + +TESTS += test-pr_paragraph_separator +check_PROGRAMS += test-pr_paragraph_separator +test_pr_paragraph_separator_SOURCES = unictype/test-pr_paragraph_separator.c + +EXTRA_DIST += unictype/test-pr_paragraph_separator.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-paragraph-separator-tests + +## begin gnulib module unictype/property-pattern-syntax-tests + +TESTS += test-pr_pattern_syntax +check_PROGRAMS += test-pr_pattern_syntax +test_pr_pattern_syntax_SOURCES = unictype/test-pr_pattern_syntax.c + +EXTRA_DIST += unictype/test-pr_pattern_syntax.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-pattern-syntax-tests + +## begin gnulib module unictype/property-pattern-white-space-tests + +TESTS += test-pr_pattern_white_space +check_PROGRAMS += test-pr_pattern_white_space +test_pr_pattern_white_space_SOURCES = unictype/test-pr_pattern_white_space.c + +EXTRA_DIST += unictype/test-pr_pattern_white_space.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-pattern-white-space-tests + +## begin gnulib module unictype/property-private-use-tests + +TESTS += test-pr_private_use +check_PROGRAMS += test-pr_private_use +test_pr_private_use_SOURCES = unictype/test-pr_private_use.c + +EXTRA_DIST += unictype/test-pr_private_use.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-private-use-tests + +## begin gnulib module unictype/property-punctuation-tests + +TESTS += test-pr_punctuation +check_PROGRAMS += test-pr_punctuation +test_pr_punctuation_SOURCES = unictype/test-pr_punctuation.c + +EXTRA_DIST += unictype/test-pr_punctuation.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-punctuation-tests + +## begin gnulib module unictype/property-quotation-mark-tests + +TESTS += test-pr_quotation_mark +check_PROGRAMS += test-pr_quotation_mark +test_pr_quotation_mark_SOURCES = unictype/test-pr_quotation_mark.c + +EXTRA_DIST += unictype/test-pr_quotation_mark.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-quotation-mark-tests + +## begin gnulib module unictype/property-radical-tests + +TESTS += test-pr_radical +check_PROGRAMS += test-pr_radical +test_pr_radical_SOURCES = unictype/test-pr_radical.c + +EXTRA_DIST += unictype/test-pr_radical.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-radical-tests + +## begin gnulib module unictype/property-sentence-terminal-tests + +TESTS += test-pr_sentence_terminal +check_PROGRAMS += test-pr_sentence_terminal +test_pr_sentence_terminal_SOURCES = unictype/test-pr_sentence_terminal.c + +EXTRA_DIST += unictype/test-pr_sentence_terminal.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-sentence-terminal-tests + +## begin gnulib module unictype/property-soft-dotted-tests + +TESTS += test-pr_soft_dotted +check_PROGRAMS += test-pr_soft_dotted +test_pr_soft_dotted_SOURCES = unictype/test-pr_soft_dotted.c + +EXTRA_DIST += unictype/test-pr_soft_dotted.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-soft-dotted-tests + +## begin gnulib module unictype/property-space-tests + +TESTS += test-pr_space +check_PROGRAMS += test-pr_space +test_pr_space_SOURCES = unictype/test-pr_space.c + +EXTRA_DIST += unictype/test-pr_space.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-space-tests + +## begin gnulib module unictype/property-terminal-punctuation-tests + +TESTS += test-pr_terminal_punctuation +check_PROGRAMS += test-pr_terminal_punctuation +test_pr_terminal_punctuation_SOURCES = unictype/test-pr_terminal_punctuation.c + +EXTRA_DIST += unictype/test-pr_terminal_punctuation.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-terminal-punctuation-tests + +## begin gnulib module unictype/property-test-tests + +TESTS += test-pr_test +check_PROGRAMS += test-pr_test +test_pr_test_SOURCES = unictype/test-pr_test.c + +EXTRA_DIST += unictype/test-pr_test.c + +## end gnulib module unictype/property-test-tests + +## begin gnulib module unictype/property-titlecase-tests + +TESTS += test-pr_titlecase +check_PROGRAMS += test-pr_titlecase +test_pr_titlecase_SOURCES = unictype/test-pr_titlecase.c + +EXTRA_DIST += unictype/test-pr_titlecase.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-titlecase-tests + +## begin gnulib module unictype/property-unassigned-code-value-tests + +TESTS += test-pr_unassigned_code_value +check_PROGRAMS += test-pr_unassigned_code_value +test_pr_unassigned_code_value_SOURCES = unictype/test-pr_unassigned_code_value.c + +EXTRA_DIST += unictype/test-pr_unassigned_code_value.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-unassigned-code-value-tests + +## begin gnulib module unictype/property-unified-ideograph-tests + +TESTS += test-pr_unified_ideograph +check_PROGRAMS += test-pr_unified_ideograph +test_pr_unified_ideograph_SOURCES = unictype/test-pr_unified_ideograph.c + +EXTRA_DIST += unictype/test-pr_unified_ideograph.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-unified-ideograph-tests + +## begin gnulib module unictype/property-uppercase-tests + +TESTS += test-pr_uppercase +check_PROGRAMS += test-pr_uppercase +test_pr_uppercase_SOURCES = unictype/test-pr_uppercase.c + +EXTRA_DIST += unictype/test-pr_uppercase.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-uppercase-tests + +## begin gnulib module unictype/property-variation-selector-tests + +TESTS += test-pr_variation_selector +check_PROGRAMS += test-pr_variation_selector +test_pr_variation_selector_SOURCES = unictype/test-pr_variation_selector.c + +EXTRA_DIST += unictype/test-pr_variation_selector.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-variation-selector-tests + +## begin gnulib module unictype/property-white-space-tests + +TESTS += test-pr_white_space +check_PROGRAMS += test-pr_white_space +test_pr_white_space_SOURCES = unictype/test-pr_white_space.c + +EXTRA_DIST += unictype/test-pr_white_space.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-white-space-tests + +## begin gnulib module unictype/property-xid-continue-tests + +TESTS += test-pr_xid_continue +check_PROGRAMS += test-pr_xid_continue +test_pr_xid_continue_SOURCES = unictype/test-pr_xid_continue.c + +EXTRA_DIST += unictype/test-pr_xid_continue.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-xid-continue-tests + +## begin gnulib module unictype/property-xid-start-tests + +TESTS += test-pr_xid_start +check_PROGRAMS += test-pr_xid_start +test_pr_xid_start_SOURCES = unictype/test-pr_xid_start.c + +EXTRA_DIST += unictype/test-pr_xid_start.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-xid-start-tests + +## begin gnulib module unictype/property-zero-width-tests + +TESTS += test-pr_zero_width +check_PROGRAMS += test-pr_zero_width +test_pr_zero_width_SOURCES = unictype/test-pr_zero_width.c + +EXTRA_DIST += unictype/test-pr_zero_width.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/property-zero-width-tests + +## begin gnulib module unictype/scripts-tests + +TESTS += test-scripts +check_PROGRAMS += test-scripts +test_scripts_SOURCES = unictype/test-scripts.c + +EXTRA_DIST += unictype/test-scripts.c + +## end gnulib module unictype/scripts-tests + +## begin gnulib module unictype/syntax-c-ident-tests + +TESTS += test-sy_c_ident +check_PROGRAMS += test-sy_c_ident +test_sy_c_ident_SOURCES = unictype/test-sy_c_ident.c + +EXTRA_DIST += unictype/test-sy_c_ident.c + +## end gnulib module unictype/syntax-c-ident-tests + +## begin gnulib module unictype/syntax-c-whitespace-tests + +TESTS += test-sy_c_whitespace +check_PROGRAMS += test-sy_c_whitespace +test_sy_c_whitespace_SOURCES = unictype/test-sy_c_whitespace.c + +EXTRA_DIST += unictype/test-sy_c_whitespace.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/syntax-c-whitespace-tests + +## begin gnulib module unictype/syntax-java-ident-tests + +TESTS += test-sy_java_ident +check_PROGRAMS += test-sy_java_ident +test_sy_java_ident_SOURCES = unictype/test-sy_java_ident.c + +EXTRA_DIST += unictype/test-sy_java_ident.c + +## end gnulib module unictype/syntax-java-ident-tests + +## begin gnulib module unictype/syntax-java-whitespace-tests + +TESTS += test-sy_java_whitespace +check_PROGRAMS += test-sy_java_whitespace +test_sy_java_whitespace_SOURCES = unictype/test-sy_java_whitespace.c + +EXTRA_DIST += unictype/test-sy_java_whitespace.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h + +## end gnulib module unictype/syntax-java-whitespace-tests + +## begin gnulib module unilbrk/u16-possible-linebreaks-tests + +TESTS += test-u16-possible-linebreaks +check_PROGRAMS += test-u16-possible-linebreaks +test_u16_possible_linebreaks_SOURCES = unilbrk/test-u16-possible-linebreaks.c + +EXTRA_DIST += unilbrk/test-u16-possible-linebreaks.c + +## end gnulib module unilbrk/u16-possible-linebreaks-tests + +## begin gnulib module unilbrk/u16-width-linebreaks-tests + +TESTS += test-u16-width-linebreaks +check_PROGRAMS += test-u16-width-linebreaks +test_u16_width_linebreaks_SOURCES = unilbrk/test-u16-width-linebreaks.c + +EXTRA_DIST += unilbrk/test-u16-width-linebreaks.c + +## end gnulib module unilbrk/u16-width-linebreaks-tests + +## begin gnulib module unilbrk/u32-possible-linebreaks-tests + +TESTS += test-u32-possible-linebreaks +check_PROGRAMS += test-u32-possible-linebreaks +test_u32_possible_linebreaks_SOURCES = unilbrk/test-u32-possible-linebreaks.c + +EXTRA_DIST += unilbrk/test-u32-possible-linebreaks.c + +## end gnulib module unilbrk/u32-possible-linebreaks-tests + +## begin gnulib module unilbrk/u32-width-linebreaks-tests + +TESTS += test-u32-width-linebreaks +check_PROGRAMS += test-u32-width-linebreaks +test_u32_width_linebreaks_SOURCES = unilbrk/test-u32-width-linebreaks.c + +EXTRA_DIST += unilbrk/test-u32-width-linebreaks.c + +## end gnulib module unilbrk/u32-width-linebreaks-tests + +## begin gnulib module unilbrk/u8-possible-linebreaks-tests + +TESTS += test-u8-possible-linebreaks +check_PROGRAMS += test-u8-possible-linebreaks +test_u8_possible_linebreaks_SOURCES = unilbrk/test-u8-possible-linebreaks.c + +EXTRA_DIST += unilbrk/test-u8-possible-linebreaks.c + +## end gnulib module unilbrk/u8-possible-linebreaks-tests + +## begin gnulib module unilbrk/u8-width-linebreaks-tests + +TESTS += test-u8-width-linebreaks +check_PROGRAMS += test-u8-width-linebreaks +test_u8_width_linebreaks_SOURCES = unilbrk/test-u8-width-linebreaks.c + +EXTRA_DIST += unilbrk/test-u8-width-linebreaks.c + +## end gnulib module unilbrk/u8-width-linebreaks-tests + +## begin gnulib module unilbrk/ulc-possible-linebreaks-tests + +TESTS += test-ulc-possible-linebreaks +check_PROGRAMS += test-ulc-possible-linebreaks +test_ulc_possible_linebreaks_SOURCES = unilbrk/test-ulc-possible-linebreaks.c +test_ulc_possible_linebreaks_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += unilbrk/test-ulc-possible-linebreaks.c + +## end gnulib module unilbrk/ulc-possible-linebreaks-tests + +## begin gnulib module unilbrk/ulc-width-linebreaks-tests + +TESTS += test-ulc-width-linebreaks +check_PROGRAMS += test-ulc-width-linebreaks +test_ulc_width_linebreaks_SOURCES = unilbrk/test-ulc-width-linebreaks.c +test_ulc_width_linebreaks_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += unilbrk/test-ulc-width-linebreaks.c + +## end gnulib module unilbrk/ulc-width-linebreaks-tests + +## begin gnulib module uniname/uniname-tests + +TESTS += uniname/test-uninames.sh +TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)' +check_PROGRAMS += test-uninames +test_uninames_SOURCES = uniname/test-uninames.c +test_uninames_LDADD = $(LDADD) @LIBINTL@ + +EXTRA_DIST += uniname/test-uninames.sh uniname/test-uninames.c uniname/UnicodeDataNames.txt + +## end gnulib module uniname/uniname-tests + +## begin gnulib module uninorm/canonical-decomposition-tests + +TESTS += test-canonical-decomposition +check_PROGRAMS += test-canonical-decomposition +test_canonical_decomposition_SOURCES = uninorm/test-canonical-decomposition.c + +EXTRA_DIST += uninorm/test-canonical-decomposition.c + +## end gnulib module uninorm/canonical-decomposition-tests + +## begin gnulib module uninorm/compat-decomposition-tests + +TESTS += test-compat-decomposition +check_PROGRAMS += test-compat-decomposition +test_compat_decomposition_SOURCES = uninorm/test-compat-decomposition.c + +EXTRA_DIST += uninorm/test-compat-decomposition.c + +## end gnulib module uninorm/compat-decomposition-tests + +## begin gnulib module uninorm/composition-tests + +TESTS += test-composition +check_PROGRAMS += test-composition +test_composition_SOURCES = uninorm/test-composition.c + +EXTRA_DIST += uninorm/test-composition.c + +## end gnulib module uninorm/composition-tests + +## begin gnulib module uninorm/decomposing-form-tests + +TESTS += test-decomposing-form +check_PROGRAMS += test-decomposing-form +test_decomposing_form_SOURCES = uninorm/test-decomposing-form.c + +EXTRA_DIST += uninorm/test-decomposing-form.c + +## end gnulib module uninorm/decomposing-form-tests + +## begin gnulib module uninorm/decomposition-tests + +TESTS += test-decomposition +check_PROGRAMS += test-decomposition +test_decomposition_SOURCES = uninorm/test-decomposition.c + +EXTRA_DIST += uninorm/test-decomposition.c + +## end gnulib module uninorm/decomposition-tests + +## begin gnulib module uninorm/filter-tests + +TESTS += test-uninorm-filter-nfc +check_PROGRAMS += test-uninorm-filter-nfc +test_uninorm_filter_nfc_SOURCES = uninorm/test-uninorm-filter-nfc.c + +EXTRA_DIST += uninorm/test-uninorm-filter-nfc.c + +## end gnulib module uninorm/filter-tests + +## begin gnulib module uninorm/nfc-tests + +TESTS += test-nfc uninorm/test-u32-nfc-big.sh +check_PROGRAMS += test-nfc test-u32-nfc-big +test_nfc_SOURCES = \ + uninorm/test-nfc.c \ + uninorm/test-u8-nfc.c \ + uninorm/test-u16-nfc.c \ + uninorm/test-u32-nfc.c +test_u32_nfc_big_SOURCES = \ + uninorm/test-u32-nfc-big.c \ + uninorm/test-u32-normalize-big.c +test_u32_nfc_big_LDADD = $(LDADD) @LIBINTL@ +EXTRA_DIST += uninorm/test-nfc.c uninorm/test-u8-nfc.c uninorm/test-u16-nfc.c uninorm/test-u32-nfc.c uninorm/test-u32-nfc-big.sh uninorm/test-u32-nfc-big.c uninorm/test-u32-normalize-big.h uninorm/test-u32-normalize-big.c uninorm/NormalizationTest.txt + +## end gnulib module uninorm/nfc-tests + +## begin gnulib module uninorm/nfd-tests + +TESTS += test-nfd uninorm/test-u32-nfd-big.sh +check_PROGRAMS += test-nfd test-u32-nfd-big +test_nfd_SOURCES = \ + uninorm/test-nfd.c \ + uninorm/test-u8-nfd.c \ + uninorm/test-u16-nfd.c \ + uninorm/test-u32-nfd.c +test_u32_nfd_big_SOURCES = \ + uninorm/test-u32-nfd-big.c \ + uninorm/test-u32-normalize-big.c +test_u32_nfd_big_LDADD = $(LDADD) @LIBINTL@ + +EXTRA_DIST += uninorm/test-nfd.c uninorm/test-u8-nfd.c uninorm/test-u16-nfd.c uninorm/test-u32-nfd.c uninorm/test-u32-nfd-big.sh uninorm/test-u32-nfd-big.c uninorm/test-u32-normalize-big.h uninorm/test-u32-normalize-big.c uninorm/NormalizationTest.txt + +## end gnulib module uninorm/nfd-tests + +## begin gnulib module uninorm/nfkc-tests + +TESTS += test-nfkc uninorm/test-u32-nfkc-big.sh +check_PROGRAMS += test-nfkc test-u32-nfkc-big +test_nfkc_SOURCES = \ + uninorm/test-nfkc.c \ + uninorm/test-u8-nfkc.c \ + uninorm/test-u16-nfkc.c \ + uninorm/test-u32-nfkc.c +test_u32_nfkc_big_SOURCES = \ + uninorm/test-u32-nfkc-big.c \ + uninorm/test-u32-normalize-big.c +test_u32_nfkc_big_LDADD = $(LDADD) @LIBINTL@ + +EXTRA_DIST += uninorm/test-nfkc.c uninorm/test-u8-nfkc.c uninorm/test-u16-nfkc.c uninorm/test-u32-nfkc.c uninorm/test-u32-nfkc-big.sh uninorm/test-u32-nfkc-big.c uninorm/test-u32-normalize-big.h uninorm/test-u32-normalize-big.c uninorm/NormalizationTest.txt + +## end gnulib module uninorm/nfkc-tests + +## begin gnulib module uninorm/nfkd-tests + +TESTS += test-nfkd uninorm/test-u32-nfkd-big.sh +check_PROGRAMS += test-nfkd test-u32-nfkd-big +test_nfkd_SOURCES = \ + uninorm/test-nfkd.c \ + uninorm/test-u8-nfkd.c \ + uninorm/test-u16-nfkd.c \ + uninorm/test-u32-nfkd.c +test_u32_nfkd_big_SOURCES = \ + uninorm/test-u32-nfkd-big.c \ + uninorm/test-u32-normalize-big.c +test_u32_nfkd_big_LDADD = $(LDADD) @LIBINTL@ + +EXTRA_DIST += uninorm/test-nfkd.c uninorm/test-u8-nfkd.c uninorm/test-u16-nfkd.c uninorm/test-u32-nfkd.c uninorm/test-u32-nfkd-big.sh uninorm/test-u32-nfkd-big.c uninorm/test-u32-normalize-big.h uninorm/test-u32-normalize-big.c uninorm/NormalizationTest.txt + +## end gnulib module uninorm/nfkd-tests + +## begin gnulib module uninorm/u16-normcmp-tests + +TESTS += test-u16-normcmp +check_PROGRAMS += test-u16-normcmp +test_u16_normcmp_SOURCES = uninorm/test-u16-normcmp.c + +EXTRA_DIST += uninorm/test-u16-normcmp.c uninorm/test-u16-normcmp.h + +## end gnulib module uninorm/u16-normcmp-tests + +## begin gnulib module uninorm/u16-normcoll-tests + +TESTS += test-u16-normcoll +check_PROGRAMS += test-u16-normcoll +test_u16_normcoll_SOURCES = uninorm/test-u16-normcoll.c +test_u16_normcoll_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uninorm/test-u16-normcoll.c uninorm/test-u16-normcmp.h + +## end gnulib module uninorm/u16-normcoll-tests + +## begin gnulib module uninorm/u32-normcmp-tests + +TESTS += test-u32-normcmp +check_PROGRAMS += test-u32-normcmp +test_u32_normcmp_SOURCES = uninorm/test-u32-normcmp.c + +EXTRA_DIST += uninorm/test-u32-normcmp.c uninorm/test-u32-normcmp.h + +## end gnulib module uninorm/u32-normcmp-tests + +## begin gnulib module uninorm/u32-normcoll-tests + +TESTS += test-u32-normcoll +check_PROGRAMS += test-u32-normcoll +test_u32_normcoll_SOURCES = uninorm/test-u32-normcoll.c +test_u32_normcoll_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uninorm/test-u32-normcoll.c uninorm/test-u32-normcmp.h + +## end gnulib module uninorm/u32-normcoll-tests + +## begin gnulib module uninorm/u8-normcmp-tests + +TESTS += test-u8-normcmp +check_PROGRAMS += test-u8-normcmp +test_u8_normcmp_SOURCES = uninorm/test-u8-normcmp.c + +EXTRA_DIST += uninorm/test-u8-normcmp.c uninorm/test-u8-normcmp.h + +## end gnulib module uninorm/u8-normcmp-tests + +## begin gnulib module uninorm/u8-normcoll-tests + +TESTS += test-u8-normcoll +check_PROGRAMS += test-u8-normcoll +test_u8_normcoll_SOURCES = uninorm/test-u8-normcoll.c +test_u8_normcoll_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uninorm/test-u8-normcoll.c uninorm/test-u8-normcmp.h + +## end gnulib module uninorm/u8-normcoll-tests + +## begin gnulib module unistd-tests + +TESTS += test-unistd +check_PROGRAMS += test-unistd + +EXTRA_DIST += test-unistd.c + +## end gnulib module unistd-tests + +## begin gnulib module unistdio/u16-asnprintf-tests + +TESTS += test-u16-asnprintf1 +check_PROGRAMS += test-u16-asnprintf1 +test_u16_asnprintf1_SOURCES = unistdio/test-u16-asnprintf1.c +test_u16_asnprintf1_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-u16-asnprintf1.c unistdio/test-u16-asnprintf1.h unistdio/test-u16-printf1.h + +## end gnulib module unistdio/u16-asnprintf-tests + +## begin gnulib module unistdio/u16-vasnprintf-tests + +TESTS += test-u16-vasnprintf1 unistdio/test-u16-vasnprintf2.sh unistdio/test-u16-vasnprintf3.sh +TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' +check_PROGRAMS += test-u16-vasnprintf1 test-u16-vasnprintf2 test-u16-vasnprintf3 +test_u16_vasnprintf1_SOURCES = unistdio/test-u16-vasnprintf1.c +test_u16_vasnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u16_vasnprintf2_SOURCES = unistdio/test-u16-vasnprintf2.c +test_u16_vasnprintf2_LDADD = $(LDADD) @LIBICONV@ +test_u16_vasnprintf3_SOURCES = unistdio/test-u16-vasnprintf3.c +test_u16_vasnprintf3_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-u16-vasnprintf1.c unistdio/test-u16-asnprintf1.h unistdio/test-u16-printf1.h unistdio/test-u16-vasnprintf2.sh unistdio/test-u16-vasnprintf2.c unistdio/test-u16-vasnprintf3.sh unistdio/test-u16-vasnprintf3.c + +## end gnulib module unistdio/u16-vasnprintf-tests + +## begin gnulib module unistdio/u16-vasprintf-tests + +TESTS += test-u16-vasprintf1 +check_PROGRAMS += test-u16-vasprintf1 +test_u16_vasprintf1_SOURCES = unistdio/test-u16-vasprintf1.c +test_u16_vasprintf1_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-u16-vasprintf1.c unistdio/test-u16-printf1.h + +## end gnulib module unistdio/u16-vasprintf-tests + +## begin gnulib module unistdio/u16-vsnprintf-tests + +TESTS += test-u16-vsnprintf1 +check_PROGRAMS += test-u16-vsnprintf1 +test_u16_vsnprintf1_SOURCES = unistdio/test-u16-vsnprintf1.c +test_u16_vsnprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +EXTRA_DIST += unistdio/test-u16-vsnprintf1.c unistdio/test-u16-printf1.h + +## end gnulib module unistdio/u16-vsnprintf-tests + +## begin gnulib module unistdio/u16-vsprintf-tests + +TESTS += test-u16-vsprintf1 +check_PROGRAMS += test-u16-vsprintf1 +test_u16_vsprintf1_SOURCES = unistdio/test-u16-vsprintf1.c +test_u16_vsprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +EXTRA_DIST += unistdio/test-u16-vsprintf1.c unistdio/test-u16-printf1.h + +## end gnulib module unistdio/u16-vsprintf-tests + +## begin gnulib module unistdio/u32-asnprintf-tests + +TESTS += test-u32-asnprintf1 +check_PROGRAMS += test-u32-asnprintf1 +test_u32_asnprintf1_SOURCES = unistdio/test-u32-asnprintf1.c +test_u32_asnprintf1_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-u32-asnprintf1.c unistdio/test-u32-asnprintf1.h unistdio/test-u32-printf1.h + +## end gnulib module unistdio/u32-asnprintf-tests + +## begin gnulib module unistdio/u32-vasnprintf-tests + +TESTS += test-u32-vasnprintf1 unistdio/test-u32-vasnprintf2.sh unistdio/test-u32-vasnprintf3.sh +TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' +check_PROGRAMS += test-u32-vasnprintf1 test-u32-vasnprintf2 test-u32-vasnprintf3 +test_u32_vasnprintf1_SOURCES = unistdio/test-u32-vasnprintf1.c +test_u32_vasnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u32_vasnprintf2_SOURCES = unistdio/test-u32-vasnprintf2.c +test_u32_vasnprintf2_LDADD = $(LDADD) @LIBICONV@ +test_u32_vasnprintf3_SOURCES = unistdio/test-u32-vasnprintf3.c +test_u32_vasnprintf3_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-u32-vasnprintf1.c unistdio/test-u32-asnprintf1.h unistdio/test-u32-printf1.h unistdio/test-u32-vasnprintf2.sh unistdio/test-u32-vasnprintf2.c unistdio/test-u32-vasnprintf3.sh unistdio/test-u32-vasnprintf3.c + +## end gnulib module unistdio/u32-vasnprintf-tests + +## begin gnulib module unistdio/u32-vasprintf-tests + +TESTS += test-u32-vasprintf1 +check_PROGRAMS += test-u32-vasprintf1 +test_u32_vasprintf1_SOURCES = unistdio/test-u32-vasprintf1.c +test_u32_vasprintf1_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-u32-vasprintf1.c unistdio/test-u32-printf1.h + +## end gnulib module unistdio/u32-vasprintf-tests + +## begin gnulib module unistdio/u32-vsnprintf-tests + +TESTS += test-u32-vsnprintf1 +check_PROGRAMS += test-u32-vsnprintf1 +test_u32_vsnprintf1_SOURCES = unistdio/test-u32-vsnprintf1.c +test_u32_vsnprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +EXTRA_DIST += unistdio/test-u32-vsnprintf1.c unistdio/test-u32-printf1.h + +## end gnulib module unistdio/u32-vsnprintf-tests + +## begin gnulib module unistdio/u32-vsprintf-tests + +TESTS += test-u32-vsprintf1 +check_PROGRAMS += test-u32-vsprintf1 +test_u32_vsprintf1_SOURCES = unistdio/test-u32-vsprintf1.c +test_u32_vsprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +EXTRA_DIST += unistdio/test-u32-vsprintf1.c unistdio/test-u32-printf1.h + +## end gnulib module unistdio/u32-vsprintf-tests + +## begin gnulib module unistdio/u8-asnprintf-tests + +TESTS += test-u8-asnprintf1 +check_PROGRAMS += test-u8-asnprintf1 +test_u8_asnprintf1_SOURCES = unistdio/test-u8-asnprintf1.c +test_u8_asnprintf1_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-u8-asnprintf1.c unistdio/test-u8-asnprintf1.h unistdio/test-u8-printf1.h + +## end gnulib module unistdio/u8-asnprintf-tests + +## begin gnulib module unistdio/u8-vasnprintf-tests + +TESTS += test-u8-vasnprintf1 unistdio/test-u8-vasnprintf2.sh unistdio/test-u8-vasnprintf3.sh +TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' +check_PROGRAMS += test-u8-vasnprintf1 test-u8-vasnprintf2 test-u8-vasnprintf3 +test_u8_vasnprintf1_SOURCES = unistdio/test-u8-vasnprintf1.c +test_u8_vasnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u8_vasnprintf2_SOURCES = unistdio/test-u8-vasnprintf2.c +test_u8_vasnprintf2_LDADD = $(LDADD) @LIBICONV@ +test_u8_vasnprintf3_SOURCES = unistdio/test-u8-vasnprintf3.c +test_u8_vasnprintf3_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-u8-vasnprintf1.c unistdio/test-u8-asnprintf1.h unistdio/test-u8-printf1.h unistdio/test-u8-vasnprintf2.sh unistdio/test-u8-vasnprintf2.c unistdio/test-u8-vasnprintf3.sh unistdio/test-u8-vasnprintf3.c + +## end gnulib module unistdio/u8-vasnprintf-tests + +## begin gnulib module unistdio/u8-vasprintf-tests + +TESTS += test-u8-vasprintf1 +check_PROGRAMS += test-u8-vasprintf1 +test_u8_vasprintf1_SOURCES = unistdio/test-u8-vasprintf1.c +test_u8_vasprintf1_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-u8-vasprintf1.c unistdio/test-u8-printf1.h + +## end gnulib module unistdio/u8-vasprintf-tests + +## begin gnulib module unistdio/u8-vsnprintf-tests + +TESTS += test-u8-vsnprintf1 +check_PROGRAMS += test-u8-vsnprintf1 +test_u8_vsnprintf1_SOURCES = unistdio/test-u8-vsnprintf1.c +test_u8_vsnprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +EXTRA_DIST += unistdio/test-u8-vsnprintf1.c unistdio/test-u8-printf1.h + +## end gnulib module unistdio/u8-vsnprintf-tests + +## begin gnulib module unistdio/u8-vsprintf-tests + +TESTS += test-u8-vsprintf1 +check_PROGRAMS += test-u8-vsprintf1 +test_u8_vsprintf1_SOURCES = unistdio/test-u8-vsprintf1.c +test_u8_vsprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +EXTRA_DIST += unistdio/test-u8-vsprintf1.c unistdio/test-u8-printf1.h + +## end gnulib module unistdio/u8-vsprintf-tests + +## begin gnulib module unistdio/ulc-asnprintf-tests + +TESTS += test-ulc-asnprintf1 +check_PROGRAMS += test-ulc-asnprintf1 +test_ulc_asnprintf1_SOURCES = unistdio/test-ulc-asnprintf1.c +test_ulc_asnprintf1_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-ulc-asnprintf1.c unistdio/test-ulc-asnprintf1.h unistdio/test-ulc-printf1.h + +## end gnulib module unistdio/ulc-asnprintf-tests + +## begin gnulib module unistdio/ulc-vasnprintf-tests + +TESTS += test-ulc-vasnprintf1 unistdio/test-ulc-vasnprintf2.sh unistdio/test-ulc-vasnprintf3.sh +TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' +check_PROGRAMS += test-ulc-vasnprintf1 test-ulc-vasnprintf2 test-ulc-vasnprintf3 +test_ulc_vasnprintf1_SOURCES = unistdio/test-ulc-vasnprintf1.c +test_ulc_vasnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_ulc_vasnprintf2_SOURCES = unistdio/test-ulc-vasnprintf2.c +test_ulc_vasnprintf2_LDADD = $(LDADD) @LIBICONV@ +test_ulc_vasnprintf3_SOURCES = unistdio/test-ulc-vasnprintf3.c +test_ulc_vasnprintf3_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-ulc-vasnprintf1.c unistdio/test-ulc-asnprintf1.h unistdio/test-ulc-printf1.h unistdio/test-ulc-vasnprintf2.sh unistdio/test-ulc-vasnprintf2.c unistdio/test-ulc-vasnprintf3.sh unistdio/test-ulc-vasnprintf3.c + +## end gnulib module unistdio/ulc-vasnprintf-tests + +## begin gnulib module unistdio/ulc-vasprintf-tests + +TESTS += test-ulc-vasprintf1 +check_PROGRAMS += test-ulc-vasprintf1 +test_ulc_vasprintf1_SOURCES = unistdio/test-ulc-vasprintf1.c +test_ulc_vasprintf1_LDADD = $(LDADD) @LIBICONV@ +EXTRA_DIST += unistdio/test-ulc-vasprintf1.c unistdio/test-ulc-printf1.h + +## end gnulib module unistdio/ulc-vasprintf-tests + +## begin gnulib module unistdio/ulc-vsnprintf-tests + +TESTS += test-ulc-vsnprintf1 +check_PROGRAMS += test-ulc-vsnprintf1 +test_ulc_vsnprintf1_SOURCES = unistdio/test-ulc-vsnprintf1.c +test_ulc_vsnprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +EXTRA_DIST += unistdio/test-ulc-vsnprintf1.c unistdio/test-ulc-printf1.h + +## end gnulib module unistdio/ulc-vsnprintf-tests + +## begin gnulib module unistdio/ulc-vsprintf-tests + +TESTS += test-ulc-vsprintf1 +check_PROGRAMS += test-ulc-vsprintf1 +test_ulc_vsprintf1_SOURCES = unistdio/test-ulc-vsprintf1.c +test_ulc_vsprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +EXTRA_DIST += unistdio/test-ulc-vsprintf1.c unistdio/test-ulc-printf1.h + +## end gnulib module unistdio/ulc-vsprintf-tests + +## begin gnulib module uniwbrk/u16-wordbreaks-tests + +TESTS += test-u16-wordbreaks +check_PROGRAMS += test-u16-wordbreaks +test_u16_wordbreaks_SOURCES = uniwbrk/test-u16-wordbreaks.c + +EXTRA_DIST += uniwbrk/test-u16-wordbreaks.c + +## end gnulib module uniwbrk/u16-wordbreaks-tests + +## begin gnulib module uniwbrk/u32-wordbreaks-tests + +TESTS += test-u32-wordbreaks +check_PROGRAMS += test-u32-wordbreaks +test_u32_wordbreaks_SOURCES = uniwbrk/test-u32-wordbreaks.c + +EXTRA_DIST += uniwbrk/test-u32-wordbreaks.c + +## end gnulib module uniwbrk/u32-wordbreaks-tests + +## begin gnulib module uniwbrk/u8-wordbreaks-tests + +TESTS += test-u8-wordbreaks +check_PROGRAMS += test-u8-wordbreaks +test_u8_wordbreaks_SOURCES = uniwbrk/test-u8-wordbreaks.c + +EXTRA_DIST += uniwbrk/test-u8-wordbreaks.c + +## end gnulib module uniwbrk/u8-wordbreaks-tests + +## begin gnulib module uniwbrk/ulc-wordbreaks-tests + +TESTS += uniwbrk/test-ulc-wordbreaks.sh +TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' +check_PROGRAMS += test-ulc-wordbreaks +test_ulc_wordbreaks_SOURCES = uniwbrk/test-ulc-wordbreaks.c +test_ulc_wordbreaks_LDADD = $(LDADD) @LIBICONV@ + +EXTRA_DIST += uniwbrk/test-ulc-wordbreaks.sh uniwbrk/test-ulc-wordbreaks.c + +## end gnulib module uniwbrk/ulc-wordbreaks-tests + +## begin gnulib module uniwidth/u16-strwidth-tests + +TESTS += test-u16-strwidth +check_PROGRAMS += test-u16-strwidth +test_u16_strwidth_SOURCES = uniwidth/test-u16-strwidth.c + +EXTRA_DIST += uniwidth/test-u16-strwidth.c + +## end gnulib module uniwidth/u16-strwidth-tests + +## begin gnulib module uniwidth/u16-width-tests + +TESTS += test-u16-width +check_PROGRAMS += test-u16-width +test_u16_width_SOURCES = uniwidth/test-u16-width.c + +EXTRA_DIST += uniwidth/test-u16-width.c + +## end gnulib module uniwidth/u16-width-tests + +## begin gnulib module uniwidth/u32-strwidth-tests + +TESTS += test-u32-strwidth +check_PROGRAMS += test-u32-strwidth +test_u32_strwidth_SOURCES = uniwidth/test-u32-strwidth.c + +EXTRA_DIST += uniwidth/test-u32-strwidth.c + +## end gnulib module uniwidth/u32-strwidth-tests + +## begin gnulib module uniwidth/u32-width-tests + +TESTS += test-u32-width +check_PROGRAMS += test-u32-width +test_u32_width_SOURCES = uniwidth/test-u32-width.c + +EXTRA_DIST += uniwidth/test-u32-width.c + +## end gnulib module uniwidth/u32-width-tests + +## begin gnulib module uniwidth/u8-strwidth-tests + +TESTS += test-u8-strwidth +check_PROGRAMS += test-u8-strwidth +test_u8_strwidth_SOURCES = uniwidth/test-u8-strwidth.c + +EXTRA_DIST += uniwidth/test-u8-strwidth.c + +## end gnulib module uniwidth/u8-strwidth-tests + +## begin gnulib module uniwidth/u8-width-tests + +TESTS += test-u8-width +check_PROGRAMS += test-u8-width +test_u8_width_SOURCES = uniwidth/test-u8-width.c + +EXTRA_DIST += uniwidth/test-u8-width.c + +## end gnulib module uniwidth/u8-width-tests + +## begin gnulib module uniwidth/width-tests + +TESTS += test-uc_width uniwidth/test-uc_width2.sh +TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' +check_PROGRAMS += test-uc_width test-uc_width2 +test_uc_width_SOURCES = uniwidth/test-uc_width.c +test_uc_width2_SOURCES = uniwidth/test-uc_width2.c + +EXTRA_DIST += uniwidth/test-uc_width.c uniwidth/test-uc_width2.c uniwidth/test-uc_width2.sh + +## end gnulib module uniwidth/width-tests + +## begin gnulib module unsetenv + + +EXTRA_DIST += unsetenv.c + +EXTRA_libtests_a_SOURCES += unsetenv.c + +## end gnulib module unsetenv + +## begin gnulib module wchar-tests + +TESTS += test-wchar +check_PROGRAMS += test-wchar + +EXTRA_DIST += test-wchar.c + +## end gnulib module wchar-tests + +## begin gnulib module wctob + + +EXTRA_DIST += wctob.c + +EXTRA_libtests_a_SOURCES += wctob.c + +## end gnulib module wctob + +## begin gnulib module wctype-tests + +TESTS += test-wctype +check_PROGRAMS += test-wctype + +EXTRA_DIST += test-wctype.c + +## end gnulib module wctype-tests + +## begin gnulib module wcwidth-tests + +TESTS += test-wcwidth +check_PROGRAMS += test-wcwidth + +EXTRA_DIST += test-wcwidth.c + +## end gnulib module wcwidth-tests + +## begin gnulib module xalloc + + +EXTRA_DIST += xalloc.h xmalloc.c + +EXTRA_libtests_a_SOURCES += xmalloc.c + +## end gnulib module xalloc + +## begin gnulib module xalloc-die + +libtests_a_SOURCES += xalloc-die.c + +## end gnulib module xalloc-die + +# Clean up after Solaris cc. +clean-local: + rm -rf SunWS_cache + +mostlyclean-local: mostlyclean-generic + @for dir in '' $(MOSTLYCLEANDIRS); do \ + if test -n "$$dir" && test -d $$dir; then \ + echo "rmdir $$dir"; rmdir $$dir; \ + fi; \ + done; \ + : diff --git a/tests/Makefile.in b/tests/Makefile.in new file mode 100644 index 00000000..fa734572 --- /dev/null +++ b/tests/Makefile.in @@ -0,0 +1,6709 @@ +# Makefile.in generated by automake 1.11 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# Copyright (C) 2002-2009 Free Software Foundation, Inc. +# +# This file is free software, distributed under the terms of the GNU +# General Public License. As a special exception to the GNU General +# Public License, this file may be distributed as part of a program +# that contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. + + + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.gnulib $(srcdir)/Makefile.in +TESTS = test-alloca-opt$(EXEEXT) test-array-mergesort$(EXEEXT) \ + test-c-ctype$(EXEEXT) test-c-strcase.sh test-environ$(EXEEXT) \ + test-errno$(EXEEXT) test-frexpl-nolibm$(EXEEXT) \ + test-fseterr$(EXEEXT) test-iconv$(EXEEXT) \ + test-isnand-nolibm$(EXEEXT) test-isnanf-nolibm$(EXEEXT) \ + test-isnanl-nolibm$(EXEEXT) test-locale$(EXEEXT) \ + test-localename$(EXEEXT) test-malloca$(EXEEXT) \ + test-math$(EXEEXT) test-mbrtowc1.sh test-mbrtowc2.sh \ + test-mbrtowc3.sh test-mbrtowc4.sh test-mbsinit.sh \ + test-memchr$(EXEEXT) test-printf-frexp$(EXEEXT) \ + test-printf-frexpl$(EXEEXT) test-signbit$(EXEEXT) \ + test-stdbool$(EXEEXT) test-stdint$(EXEEXT) \ + test-stdlib$(EXEEXT) test-strerror$(EXEEXT) \ + test-striconveh$(EXEEXT) test-striconveha$(EXEEXT) \ + test-string$(EXEEXT) test-cased$(EXEEXT) \ + test-ignorable$(EXEEXT) unicase/test-locale-language.sh \ + test-uc_tolower$(EXEEXT) test-uc_totitle$(EXEEXT) \ + test-uc_toupper$(EXEEXT) test-u16-casecmp$(EXEEXT) \ + test-u16-casecoll$(EXEEXT) test-u16-casefold$(EXEEXT) \ + test-u16-is-cased$(EXEEXT) test-u16-is-casefolded$(EXEEXT) \ + test-u16-is-lowercase$(EXEEXT) test-u16-is-titlecase$(EXEEXT) \ + test-u16-is-uppercase$(EXEEXT) test-u16-tolower$(EXEEXT) \ + test-u16-totitle$(EXEEXT) test-u16-toupper$(EXEEXT) \ + test-u32-casecmp$(EXEEXT) test-u32-casecoll$(EXEEXT) \ + test-u32-casefold$(EXEEXT) test-u32-is-cased$(EXEEXT) \ + test-u32-is-casefolded$(EXEEXT) test-u32-is-lowercase$(EXEEXT) \ + test-u32-is-titlecase$(EXEEXT) test-u32-is-uppercase$(EXEEXT) \ + test-u32-tolower$(EXEEXT) test-u32-totitle$(EXEEXT) \ + test-u32-toupper$(EXEEXT) test-u8-casecmp$(EXEEXT) \ + test-u8-casecoll$(EXEEXT) test-u8-casefold$(EXEEXT) \ + test-u8-is-cased$(EXEEXT) test-u8-is-casefolded$(EXEEXT) \ + test-u8-is-lowercase$(EXEEXT) test-u8-is-titlecase$(EXEEXT) \ + test-u8-is-uppercase$(EXEEXT) test-u8-tolower$(EXEEXT) \ + test-u8-totitle$(EXEEXT) test-u8-toupper$(EXEEXT) \ + unicase/test-ulc-casecmp1.sh unicase/test-ulc-casecmp2.sh \ + unicase/test-ulc-casecoll1.sh unicase/test-ulc-casecoll2.sh \ + test-u16-conv-from-enc$(EXEEXT) test-u16-conv-to-enc$(EXEEXT) \ + test-u16-strconv-from-enc$(EXEEXT) \ + test-u16-strconv-to-enc$(EXEEXT) \ + test-u32-conv-from-enc$(EXEEXT) test-u32-conv-to-enc$(EXEEXT) \ + test-u32-strconv-from-enc$(EXEEXT) \ + test-u32-strconv-to-enc$(EXEEXT) \ + test-u8-conv-from-enc$(EXEEXT) test-u8-conv-to-enc$(EXEEXT) \ + test-u8-strconv-from-enc$(EXEEXT) \ + test-u8-strconv-to-enc$(EXEEXT) test-bidi_byname$(EXEEXT) \ + test-bidi_name$(EXEEXT) test-bidi_of$(EXEEXT) \ + test-bidi_test$(EXEEXT) test-block_list$(EXEEXT) \ + test-block_of$(EXEEXT) test-block_test$(EXEEXT) \ + test-categ_C$(EXEEXT) test-categ_Cc$(EXEEXT) \ + test-categ_Cf$(EXEEXT) test-categ_Cn$(EXEEXT) \ + test-categ_Co$(EXEEXT) test-categ_Cs$(EXEEXT) \ + test-categ_L$(EXEEXT) test-categ_Ll$(EXEEXT) \ + test-categ_Lm$(EXEEXT) test-categ_Lo$(EXEEXT) \ + test-categ_Lt$(EXEEXT) test-categ_Lu$(EXEEXT) \ + test-categ_M$(EXEEXT) test-categ_Mc$(EXEEXT) \ + test-categ_Me$(EXEEXT) test-categ_Mn$(EXEEXT) \ + test-categ_N$(EXEEXT) test-categ_Nd$(EXEEXT) \ + test-categ_Nl$(EXEEXT) test-categ_No$(EXEEXT) \ + test-categ_P$(EXEEXT) test-categ_Pc$(EXEEXT) \ + test-categ_Pd$(EXEEXT) test-categ_Pe$(EXEEXT) \ + test-categ_Pf$(EXEEXT) test-categ_Pi$(EXEEXT) \ + test-categ_Po$(EXEEXT) test-categ_Ps$(EXEEXT) \ + test-categ_S$(EXEEXT) test-categ_Sc$(EXEEXT) \ + test-categ_Sk$(EXEEXT) test-categ_Sm$(EXEEXT) \ + test-categ_So$(EXEEXT) test-categ_Z$(EXEEXT) \ + test-categ_Zl$(EXEEXT) test-categ_Zp$(EXEEXT) \ + test-categ_Zs$(EXEEXT) test-categ_and_not$(EXEEXT) \ + test-categ_and$(EXEEXT) test-categ_byname$(EXEEXT) \ + test-categ_name$(EXEEXT) $(am__EXEEXT_1) \ + test-categ_of$(EXEEXT) test-categ_or$(EXEEXT) \ + test-categ_test_withtable$(EXEEXT) test-combining$(EXEEXT) \ + test-ctype_alnum$(EXEEXT) test-ctype_alpha$(EXEEXT) \ + test-ctype_blank$(EXEEXT) test-ctype_cntrl$(EXEEXT) \ + test-ctype_digit$(EXEEXT) test-ctype_graph$(EXEEXT) \ + test-ctype_lower$(EXEEXT) test-ctype_print$(EXEEXT) \ + test-ctype_punct$(EXEEXT) test-ctype_space$(EXEEXT) \ + test-ctype_upper$(EXEEXT) test-ctype_xdigit$(EXEEXT) \ + test-decdigit$(EXEEXT) test-digit$(EXEEXT) \ + test-mirror$(EXEEXT) test-numeric$(EXEEXT) \ + test-pr_alphabetic$(EXEEXT) test-pr_ascii_hex_digit$(EXEEXT) \ + test-pr_bidi_arabic_digit$(EXEEXT) \ + test-pr_bidi_arabic_right_to_left$(EXEEXT) \ + test-pr_bidi_block_separator$(EXEEXT) \ + test-pr_bidi_boundary_neutral$(EXEEXT) \ + test-pr_bidi_common_separator$(EXEEXT) \ + test-pr_bidi_control$(EXEEXT) \ + test-pr_bidi_embedding_or_override$(EXEEXT) \ + test-pr_bidi_eur_num_separator$(EXEEXT) \ + test-pr_bidi_eur_num_terminator$(EXEEXT) \ + test-pr_bidi_european_digit$(EXEEXT) \ + test-pr_bidi_hebrew_right_to_left$(EXEEXT) \ + test-pr_bidi_left_to_right$(EXEEXT) \ + test-pr_bidi_non_spacing_mark$(EXEEXT) \ + test-pr_bidi_other_neutral$(EXEEXT) test-pr_bidi_pdf$(EXEEXT) \ + test-pr_bidi_segment_separator$(EXEEXT) \ + test-pr_bidi_whitespace$(EXEEXT) test-pr_byname$(EXEEXT) \ + test-pr_combining$(EXEEXT) test-pr_composite$(EXEEXT) \ + test-pr_currency_symbol$(EXEEXT) test-pr_dash$(EXEEXT) \ + test-pr_decimal_digit$(EXEEXT) \ + test-pr_default_ignorable_code_point$(EXEEXT) \ + test-pr_deprecated$(EXEEXT) test-pr_diacritic$(EXEEXT) \ + test-pr_extender$(EXEEXT) test-pr_format_control$(EXEEXT) \ + test-pr_grapheme_base$(EXEEXT) \ + test-pr_grapheme_extend$(EXEEXT) \ + test-pr_grapheme_link$(EXEEXT) test-pr_hex_digit$(EXEEXT) \ + test-pr_hyphen$(EXEEXT) test-pr_id_continue$(EXEEXT) \ + test-pr_id_start$(EXEEXT) test-pr_ideographic$(EXEEXT) \ + test-pr_ids_binary_operator$(EXEEXT) \ + test-pr_ids_trinary_operator$(EXEEXT) \ + test-pr_ignorable_control$(EXEEXT) \ + test-pr_iso_control$(EXEEXT) test-pr_join_control$(EXEEXT) \ + test-pr_left_of_pair$(EXEEXT) test-pr_line_separator$(EXEEXT) \ + test-pr_logical_order_exception$(EXEEXT) \ + test-pr_lowercase$(EXEEXT) test-pr_math$(EXEEXT) \ + test-pr_non_break$(EXEEXT) test-pr_not_a_character$(EXEEXT) \ + test-pr_numeric$(EXEEXT) test-pr_other_alphabetic$(EXEEXT) \ + test-pr_other_default_ignorable_code_point$(EXEEXT) \ + test-pr_other_grapheme_extend$(EXEEXT) \ + test-pr_other_id_continue$(EXEEXT) \ + test-pr_other_id_start$(EXEEXT) \ + test-pr_other_lowercase$(EXEEXT) test-pr_other_math$(EXEEXT) \ + test-pr_other_uppercase$(EXEEXT) \ + test-pr_paired_punctuation$(EXEEXT) \ + test-pr_paragraph_separator$(EXEEXT) \ + test-pr_pattern_syntax$(EXEEXT) \ + test-pr_pattern_white_space$(EXEEXT) \ + test-pr_private_use$(EXEEXT) test-pr_punctuation$(EXEEXT) \ + test-pr_quotation_mark$(EXEEXT) test-pr_radical$(EXEEXT) \ + test-pr_sentence_terminal$(EXEEXT) \ + test-pr_soft_dotted$(EXEEXT) test-pr_space$(EXEEXT) \ + test-pr_terminal_punctuation$(EXEEXT) test-pr_test$(EXEEXT) \ + test-pr_titlecase$(EXEEXT) \ + test-pr_unassigned_code_value$(EXEEXT) \ + test-pr_unified_ideograph$(EXEEXT) test-pr_uppercase$(EXEEXT) \ + test-pr_variation_selector$(EXEEXT) \ + test-pr_white_space$(EXEEXT) test-pr_xid_continue$(EXEEXT) \ + test-pr_xid_start$(EXEEXT) test-pr_zero_width$(EXEEXT) \ + test-scripts$(EXEEXT) test-sy_c_ident$(EXEEXT) \ + test-sy_c_whitespace$(EXEEXT) test-sy_java_ident$(EXEEXT) \ + test-sy_java_whitespace$(EXEEXT) \ + test-u16-possible-linebreaks$(EXEEXT) \ + test-u16-width-linebreaks$(EXEEXT) \ + test-u32-possible-linebreaks$(EXEEXT) \ + test-u32-width-linebreaks$(EXEEXT) \ + test-u8-possible-linebreaks$(EXEEXT) \ + test-u8-width-linebreaks$(EXEEXT) \ + test-ulc-possible-linebreaks$(EXEEXT) \ + test-ulc-width-linebreaks$(EXEEXT) uniname/test-uninames.sh \ + test-canonical-decomposition$(EXEEXT) \ + test-compat-decomposition$(EXEEXT) test-composition$(EXEEXT) \ + test-decomposing-form$(EXEEXT) test-decomposition$(EXEEXT) \ + test-uninorm-filter-nfc$(EXEEXT) test-nfc$(EXEEXT) \ + uninorm/test-u32-nfc-big.sh test-nfd$(EXEEXT) \ + uninorm/test-u32-nfd-big.sh test-nfkc$(EXEEXT) \ + uninorm/test-u32-nfkc-big.sh test-nfkd$(EXEEXT) \ + uninorm/test-u32-nfkd-big.sh test-u16-normcmp$(EXEEXT) \ + test-u16-normcoll$(EXEEXT) test-u32-normcmp$(EXEEXT) \ + test-u32-normcoll$(EXEEXT) test-u8-normcmp$(EXEEXT) \ + test-u8-normcoll$(EXEEXT) test-unistd$(EXEEXT) \ + test-u16-asnprintf1$(EXEEXT) test-u16-vasnprintf1$(EXEEXT) \ + unistdio/test-u16-vasnprintf2.sh \ + unistdio/test-u16-vasnprintf3.sh test-u16-vasprintf1$(EXEEXT) \ + test-u16-vsnprintf1$(EXEEXT) test-u16-vsprintf1$(EXEEXT) \ + test-u32-asnprintf1$(EXEEXT) test-u32-vasnprintf1$(EXEEXT) \ + unistdio/test-u32-vasnprintf2.sh \ + unistdio/test-u32-vasnprintf3.sh test-u32-vasprintf1$(EXEEXT) \ + test-u32-vsnprintf1$(EXEEXT) test-u32-vsprintf1$(EXEEXT) \ + test-u8-asnprintf1$(EXEEXT) test-u8-vasnprintf1$(EXEEXT) \ + unistdio/test-u8-vasnprintf2.sh \ + unistdio/test-u8-vasnprintf3.sh test-u8-vasprintf1$(EXEEXT) \ + test-u8-vsnprintf1$(EXEEXT) test-u8-vsprintf1$(EXEEXT) \ + test-ulc-asnprintf1$(EXEEXT) test-ulc-vasnprintf1$(EXEEXT) \ + unistdio/test-ulc-vasnprintf2.sh \ + unistdio/test-ulc-vasnprintf3.sh test-ulc-vasprintf1$(EXEEXT) \ + test-ulc-vsnprintf1$(EXEEXT) test-ulc-vsprintf1$(EXEEXT) \ + test-u16-wordbreaks$(EXEEXT) test-u32-wordbreaks$(EXEEXT) \ + test-u8-wordbreaks$(EXEEXT) uniwbrk/test-ulc-wordbreaks.sh \ + test-u16-strwidth$(EXEEXT) test-u16-width$(EXEEXT) \ + test-u32-strwidth$(EXEEXT) test-u32-width$(EXEEXT) \ + test-u8-strwidth$(EXEEXT) test-u8-width$(EXEEXT) \ + test-uc_width$(EXEEXT) uniwidth/test-uc_width2.sh \ + test-wchar$(EXEEXT) test-wctype$(EXEEXT) test-wcwidth$(EXEEXT) +noinst_PROGRAMS = +check_PROGRAMS = test-alloca-opt$(EXEEXT) \ + test-array-mergesort$(EXEEXT) test-c-ctype$(EXEEXT) \ + test-c-strcasecmp$(EXEEXT) test-c-strncasecmp$(EXEEXT) \ + test-environ$(EXEEXT) test-errno$(EXEEXT) \ + test-frexpl-nolibm$(EXEEXT) test-fseterr$(EXEEXT) \ + test-iconv$(EXEEXT) test-isnand-nolibm$(EXEEXT) \ + test-isnanf-nolibm$(EXEEXT) test-isnanl-nolibm$(EXEEXT) \ + test-locale$(EXEEXT) test-localename$(EXEEXT) \ + test-malloca$(EXEEXT) test-math$(EXEEXT) test-mbrtowc$(EXEEXT) \ + test-mbsinit$(EXEEXT) test-memchr$(EXEEXT) \ + test-printf-frexp$(EXEEXT) test-printf-frexpl$(EXEEXT) \ + test-signbit$(EXEEXT) test-stdbool$(EXEEXT) \ + test-stdint$(EXEEXT) test-stdlib$(EXEEXT) \ + test-strerror$(EXEEXT) test-striconveh$(EXEEXT) \ + test-striconveha$(EXEEXT) test-string$(EXEEXT) \ + test-cased$(EXEEXT) test-ignorable$(EXEEXT) \ + test-locale-language$(EXEEXT) test-uc_tolower$(EXEEXT) \ + test-uc_totitle$(EXEEXT) test-uc_toupper$(EXEEXT) \ + test-u16-casecmp$(EXEEXT) test-u16-casecoll$(EXEEXT) \ + test-u16-casefold$(EXEEXT) test-u16-is-cased$(EXEEXT) \ + test-u16-is-casefolded$(EXEEXT) test-u16-is-lowercase$(EXEEXT) \ + test-u16-is-titlecase$(EXEEXT) test-u16-is-uppercase$(EXEEXT) \ + test-u16-tolower$(EXEEXT) test-u16-totitle$(EXEEXT) \ + test-u16-toupper$(EXEEXT) test-u32-casecmp$(EXEEXT) \ + test-u32-casecoll$(EXEEXT) test-u32-casefold$(EXEEXT) \ + test-u32-is-cased$(EXEEXT) test-u32-is-casefolded$(EXEEXT) \ + test-u32-is-lowercase$(EXEEXT) test-u32-is-titlecase$(EXEEXT) \ + test-u32-is-uppercase$(EXEEXT) test-u32-tolower$(EXEEXT) \ + test-u32-totitle$(EXEEXT) test-u32-toupper$(EXEEXT) \ + test-u8-casecmp$(EXEEXT) test-u8-casecoll$(EXEEXT) \ + test-u8-casefold$(EXEEXT) test-u8-is-cased$(EXEEXT) \ + test-u8-is-casefolded$(EXEEXT) test-u8-is-lowercase$(EXEEXT) \ + test-u8-is-titlecase$(EXEEXT) test-u8-is-uppercase$(EXEEXT) \ + test-u8-tolower$(EXEEXT) test-u8-totitle$(EXEEXT) \ + test-u8-toupper$(EXEEXT) test-ulc-casecmp$(EXEEXT) \ + test-ulc-casecoll$(EXEEXT) test-u16-conv-from-enc$(EXEEXT) \ + test-u16-conv-to-enc$(EXEEXT) \ + test-u16-strconv-from-enc$(EXEEXT) \ + test-u16-strconv-to-enc$(EXEEXT) \ + test-u32-conv-from-enc$(EXEEXT) test-u32-conv-to-enc$(EXEEXT) \ + test-u32-strconv-from-enc$(EXEEXT) \ + test-u32-strconv-to-enc$(EXEEXT) \ + test-u8-conv-from-enc$(EXEEXT) test-u8-conv-to-enc$(EXEEXT) \ + test-u8-strconv-from-enc$(EXEEXT) \ + test-u8-strconv-to-enc$(EXEEXT) test-bidi_byname$(EXEEXT) \ + test-bidi_name$(EXEEXT) test-bidi_of$(EXEEXT) \ + test-bidi_test$(EXEEXT) test-block_list$(EXEEXT) \ + test-block_of$(EXEEXT) test-block_test$(EXEEXT) \ + test-categ_C$(EXEEXT) test-categ_Cc$(EXEEXT) \ + test-categ_Cf$(EXEEXT) test-categ_Cn$(EXEEXT) \ + test-categ_Co$(EXEEXT) test-categ_Cs$(EXEEXT) \ + test-categ_L$(EXEEXT) test-categ_Ll$(EXEEXT) \ + test-categ_Lm$(EXEEXT) test-categ_Lo$(EXEEXT) \ + test-categ_Lt$(EXEEXT) test-categ_Lu$(EXEEXT) \ + test-categ_M$(EXEEXT) test-categ_Mc$(EXEEXT) \ + test-categ_Me$(EXEEXT) test-categ_Mn$(EXEEXT) \ + test-categ_N$(EXEEXT) test-categ_Nd$(EXEEXT) \ + test-categ_Nl$(EXEEXT) test-categ_No$(EXEEXT) \ + test-categ_P$(EXEEXT) test-categ_Pc$(EXEEXT) \ + test-categ_Pd$(EXEEXT) test-categ_Pe$(EXEEXT) \ + test-categ_Pf$(EXEEXT) test-categ_Pi$(EXEEXT) \ + test-categ_Po$(EXEEXT) test-categ_Ps$(EXEEXT) \ + test-categ_S$(EXEEXT) test-categ_Sc$(EXEEXT) \ + test-categ_Sk$(EXEEXT) test-categ_Sm$(EXEEXT) \ + test-categ_So$(EXEEXT) test-categ_Z$(EXEEXT) \ + test-categ_Zl$(EXEEXT) test-categ_Zp$(EXEEXT) \ + test-categ_Zs$(EXEEXT) test-categ_and_not$(EXEEXT) \ + test-categ_and$(EXEEXT) test-categ_byname$(EXEEXT) \ + test-categ_name$(EXEEXT) $(am__EXEEXT_1) \ + test-categ_of$(EXEEXT) test-categ_or$(EXEEXT) \ + test-categ_test_withtable$(EXEEXT) test-combining$(EXEEXT) \ + test-ctype_alnum$(EXEEXT) test-ctype_alpha$(EXEEXT) \ + test-ctype_blank$(EXEEXT) test-ctype_cntrl$(EXEEXT) \ + test-ctype_digit$(EXEEXT) test-ctype_graph$(EXEEXT) \ + test-ctype_lower$(EXEEXT) test-ctype_print$(EXEEXT) \ + test-ctype_punct$(EXEEXT) test-ctype_space$(EXEEXT) \ + test-ctype_upper$(EXEEXT) test-ctype_xdigit$(EXEEXT) \ + test-decdigit$(EXEEXT) test-digit$(EXEEXT) \ + test-mirror$(EXEEXT) test-numeric$(EXEEXT) \ + test-pr_alphabetic$(EXEEXT) test-pr_ascii_hex_digit$(EXEEXT) \ + test-pr_bidi_arabic_digit$(EXEEXT) \ + test-pr_bidi_arabic_right_to_left$(EXEEXT) \ + test-pr_bidi_block_separator$(EXEEXT) \ + test-pr_bidi_boundary_neutral$(EXEEXT) \ + test-pr_bidi_common_separator$(EXEEXT) \ + test-pr_bidi_control$(EXEEXT) \ + test-pr_bidi_embedding_or_override$(EXEEXT) \ + test-pr_bidi_eur_num_separator$(EXEEXT) \ + test-pr_bidi_eur_num_terminator$(EXEEXT) \ + test-pr_bidi_european_digit$(EXEEXT) \ + test-pr_bidi_hebrew_right_to_left$(EXEEXT) \ + test-pr_bidi_left_to_right$(EXEEXT) \ + test-pr_bidi_non_spacing_mark$(EXEEXT) \ + test-pr_bidi_other_neutral$(EXEEXT) test-pr_bidi_pdf$(EXEEXT) \ + test-pr_bidi_segment_separator$(EXEEXT) \ + test-pr_bidi_whitespace$(EXEEXT) test-pr_byname$(EXEEXT) \ + test-pr_combining$(EXEEXT) test-pr_composite$(EXEEXT) \ + test-pr_currency_symbol$(EXEEXT) test-pr_dash$(EXEEXT) \ + test-pr_decimal_digit$(EXEEXT) \ + test-pr_default_ignorable_code_point$(EXEEXT) \ + test-pr_deprecated$(EXEEXT) test-pr_diacritic$(EXEEXT) \ + test-pr_extender$(EXEEXT) test-pr_format_control$(EXEEXT) \ + test-pr_grapheme_base$(EXEEXT) \ + test-pr_grapheme_extend$(EXEEXT) \ + test-pr_grapheme_link$(EXEEXT) test-pr_hex_digit$(EXEEXT) \ + test-pr_hyphen$(EXEEXT) test-pr_id_continue$(EXEEXT) \ + test-pr_id_start$(EXEEXT) test-pr_ideographic$(EXEEXT) \ + test-pr_ids_binary_operator$(EXEEXT) \ + test-pr_ids_trinary_operator$(EXEEXT) \ + test-pr_ignorable_control$(EXEEXT) \ + test-pr_iso_control$(EXEEXT) test-pr_join_control$(EXEEXT) \ + test-pr_left_of_pair$(EXEEXT) test-pr_line_separator$(EXEEXT) \ + test-pr_logical_order_exception$(EXEEXT) \ + test-pr_lowercase$(EXEEXT) test-pr_math$(EXEEXT) \ + test-pr_non_break$(EXEEXT) test-pr_not_a_character$(EXEEXT) \ + test-pr_numeric$(EXEEXT) test-pr_other_alphabetic$(EXEEXT) \ + test-pr_other_default_ignorable_code_point$(EXEEXT) \ + test-pr_other_grapheme_extend$(EXEEXT) \ + test-pr_other_id_continue$(EXEEXT) \ + test-pr_other_id_start$(EXEEXT) \ + test-pr_other_lowercase$(EXEEXT) test-pr_other_math$(EXEEXT) \ + test-pr_other_uppercase$(EXEEXT) \ + test-pr_paired_punctuation$(EXEEXT) \ + test-pr_paragraph_separator$(EXEEXT) \ + test-pr_pattern_syntax$(EXEEXT) \ + test-pr_pattern_white_space$(EXEEXT) \ + test-pr_private_use$(EXEEXT) test-pr_punctuation$(EXEEXT) \ + test-pr_quotation_mark$(EXEEXT) test-pr_radical$(EXEEXT) \ + test-pr_sentence_terminal$(EXEEXT) \ + test-pr_soft_dotted$(EXEEXT) test-pr_space$(EXEEXT) \ + test-pr_terminal_punctuation$(EXEEXT) test-pr_test$(EXEEXT) \ + test-pr_titlecase$(EXEEXT) \ + test-pr_unassigned_code_value$(EXEEXT) \ + test-pr_unified_ideograph$(EXEEXT) test-pr_uppercase$(EXEEXT) \ + test-pr_variation_selector$(EXEEXT) \ + test-pr_white_space$(EXEEXT) test-pr_xid_continue$(EXEEXT) \ + test-pr_xid_start$(EXEEXT) test-pr_zero_width$(EXEEXT) \ + test-scripts$(EXEEXT) test-sy_c_ident$(EXEEXT) \ + test-sy_c_whitespace$(EXEEXT) test-sy_java_ident$(EXEEXT) \ + test-sy_java_whitespace$(EXEEXT) \ + test-u16-possible-linebreaks$(EXEEXT) \ + test-u16-width-linebreaks$(EXEEXT) \ + test-u32-possible-linebreaks$(EXEEXT) \ + test-u32-width-linebreaks$(EXEEXT) \ + test-u8-possible-linebreaks$(EXEEXT) \ + test-u8-width-linebreaks$(EXEEXT) \ + test-ulc-possible-linebreaks$(EXEEXT) \ + test-ulc-width-linebreaks$(EXEEXT) test-uninames$(EXEEXT) \ + test-canonical-decomposition$(EXEEXT) \ + test-compat-decomposition$(EXEEXT) test-composition$(EXEEXT) \ + test-decomposing-form$(EXEEXT) test-decomposition$(EXEEXT) \ + test-uninorm-filter-nfc$(EXEEXT) test-nfc$(EXEEXT) \ + test-u32-nfc-big$(EXEEXT) test-nfd$(EXEEXT) \ + test-u32-nfd-big$(EXEEXT) test-nfkc$(EXEEXT) \ + test-u32-nfkc-big$(EXEEXT) test-nfkd$(EXEEXT) \ + test-u32-nfkd-big$(EXEEXT) test-u16-normcmp$(EXEEXT) \ + test-u16-normcoll$(EXEEXT) test-u32-normcmp$(EXEEXT) \ + test-u32-normcoll$(EXEEXT) test-u8-normcmp$(EXEEXT) \ + test-u8-normcoll$(EXEEXT) test-unistd$(EXEEXT) \ + test-u16-asnprintf1$(EXEEXT) test-u16-vasnprintf1$(EXEEXT) \ + test-u16-vasnprintf2$(EXEEXT) test-u16-vasnprintf3$(EXEEXT) \ + test-u16-vasprintf1$(EXEEXT) test-u16-vsnprintf1$(EXEEXT) \ + test-u16-vsprintf1$(EXEEXT) test-u32-asnprintf1$(EXEEXT) \ + test-u32-vasnprintf1$(EXEEXT) test-u32-vasnprintf2$(EXEEXT) \ + test-u32-vasnprintf3$(EXEEXT) test-u32-vasprintf1$(EXEEXT) \ + test-u32-vsnprintf1$(EXEEXT) test-u32-vsprintf1$(EXEEXT) \ + test-u8-asnprintf1$(EXEEXT) test-u8-vasnprintf1$(EXEEXT) \ + test-u8-vasnprintf2$(EXEEXT) test-u8-vasnprintf3$(EXEEXT) \ + test-u8-vasprintf1$(EXEEXT) test-u8-vsnprintf1$(EXEEXT) \ + test-u8-vsprintf1$(EXEEXT) test-ulc-asnprintf1$(EXEEXT) \ + test-ulc-vasnprintf1$(EXEEXT) test-ulc-vasnprintf2$(EXEEXT) \ + test-ulc-vasnprintf3$(EXEEXT) test-ulc-vasprintf1$(EXEEXT) \ + test-ulc-vsnprintf1$(EXEEXT) test-ulc-vsprintf1$(EXEEXT) \ + test-u16-wordbreaks$(EXEEXT) test-u32-wordbreaks$(EXEEXT) \ + test-u8-wordbreaks$(EXEEXT) test-ulc-wordbreaks$(EXEEXT) \ + test-u16-strwidth$(EXEEXT) test-u16-width$(EXEEXT) \ + test-u32-strwidth$(EXEEXT) test-u32-width$(EXEEXT) \ + test-u8-strwidth$(EXEEXT) test-u8-width$(EXEEXT) \ + test-uc_width$(EXEEXT) test-uc_width2$(EXEEXT) \ + test-wchar$(EXEEXT) test-wctype$(EXEEXT) test-wcwidth$(EXEEXT) +@WOE32DLL_FALSE@am__append_1 = test-categ_none +@WOE32DLL_FALSE@am__append_2 = test-categ_none +subdir = tests +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \ + $(top_srcdir)/gnulib-m4/alloca.m4 \ + $(top_srcdir)/gnulib-m4/codeset.m4 \ + $(top_srcdir)/gnulib-m4/eealloc.m4 \ + $(top_srcdir)/gnulib-m4/environ.m4 \ + $(top_srcdir)/gnulib-m4/errno_h.m4 \ + $(top_srcdir)/gnulib-m4/error.m4 \ + $(top_srcdir)/gnulib-m4/exitfail.m4 \ + $(top_srcdir)/gnulib-m4/exponentd.m4 \ + $(top_srcdir)/gnulib-m4/exponentf.m4 \ + $(top_srcdir)/gnulib-m4/exponentl.m4 \ + $(top_srcdir)/gnulib-m4/extensions.m4 \ + $(top_srcdir)/gnulib-m4/float_h.m4 \ + $(top_srcdir)/gnulib-m4/fpieee.m4 \ + $(top_srcdir)/gnulib-m4/frexp.m4 \ + $(top_srcdir)/gnulib-m4/frexpl.m4 \ + $(top_srcdir)/gnulib-m4/getpagesize.m4 \ + $(top_srcdir)/gnulib-m4/glibc21.m4 \ + $(top_srcdir)/gnulib-m4/gnulib-common.m4 \ + $(top_srcdir)/gnulib-m4/gnulib-comp.m4 \ + $(top_srcdir)/gnulib-m4/iconv.m4 \ + $(top_srcdir)/gnulib-m4/iconv_h.m4 \ + $(top_srcdir)/gnulib-m4/iconv_open.m4 \ + $(top_srcdir)/gnulib-m4/include_next.m4 \ + $(top_srcdir)/gnulib-m4/inline.m4 \ + $(top_srcdir)/gnulib-m4/intlmacosx.m4 \ + $(top_srcdir)/gnulib-m4/intmax_t.m4 \ + $(top_srcdir)/gnulib-m4/inttypes_h.m4 \ + $(top_srcdir)/gnulib-m4/isnand.m4 \ + $(top_srcdir)/gnulib-m4/isnanf.m4 \ + $(top_srcdir)/gnulib-m4/isnanl.m4 \ + $(top_srcdir)/gnulib-m4/lcmessage.m4 \ + $(top_srcdir)/gnulib-m4/ldexpl.m4 \ + $(top_srcdir)/gnulib-m4/lib-ld.m4 \ + $(top_srcdir)/gnulib-m4/lib-link.m4 \ + $(top_srcdir)/gnulib-m4/lib-prefix.m4 \ + $(top_srcdir)/gnulib-m4/localcharset.m4 \ + $(top_srcdir)/gnulib-m4/locale-fr.m4 \ + $(top_srcdir)/gnulib-m4/locale-ja.m4 \ + $(top_srcdir)/gnulib-m4/locale-tr.m4 \ + $(top_srcdir)/gnulib-m4/locale-zh.m4 \ + $(top_srcdir)/gnulib-m4/locale_h.m4 \ + $(top_srcdir)/gnulib-m4/localename.m4 \ + $(top_srcdir)/gnulib-m4/longlong.m4 \ + $(top_srcdir)/gnulib-m4/malloc.m4 \ + $(top_srcdir)/gnulib-m4/malloca.m4 \ + $(top_srcdir)/gnulib-m4/math_h.m4 \ + $(top_srcdir)/gnulib-m4/mbchar.m4 \ + $(top_srcdir)/gnulib-m4/mbiter.m4 \ + $(top_srcdir)/gnulib-m4/mbrtowc.m4 \ + $(top_srcdir)/gnulib-m4/mbsinit.m4 \ + $(top_srcdir)/gnulib-m4/mbstate_t.m4 \ + $(top_srcdir)/gnulib-m4/memchr.m4 \ + $(top_srcdir)/gnulib-m4/minmax.m4 \ + $(top_srcdir)/gnulib-m4/mmap-anon.m4 \ + $(top_srcdir)/gnulib-m4/multiarch.m4 \ + $(top_srcdir)/gnulib-m4/nocrash.m4 \ + $(top_srcdir)/gnulib-m4/printf-frexp.m4 \ + $(top_srcdir)/gnulib-m4/printf-frexpl.m4 \ + $(top_srcdir)/gnulib-m4/printf.m4 \ + $(top_srcdir)/gnulib-m4/relocatable-lib.m4 \ + $(top_srcdir)/gnulib-m4/setenv.m4 \ + $(top_srcdir)/gnulib-m4/signbit.m4 \ + $(top_srcdir)/gnulib-m4/size_max.m4 \ + $(top_srcdir)/gnulib-m4/stdbool.m4 \ + $(top_srcdir)/gnulib-m4/stdint.m4 \ + $(top_srcdir)/gnulib-m4/stdint_h.m4 \ + $(top_srcdir)/gnulib-m4/stdlib_h.m4 \ + $(top_srcdir)/gnulib-m4/strerror.m4 \ + $(top_srcdir)/gnulib-m4/string_h.m4 \ + $(top_srcdir)/gnulib-m4/unistd_h.m4 \ + $(top_srcdir)/gnulib-m4/vasnprintf.m4 \ + $(top_srcdir)/gnulib-m4/wchar.m4 \ + $(top_srcdir)/gnulib-m4/wchar_t.m4 \ + $(top_srcdir)/gnulib-m4/wctob.m4 \ + $(top_srcdir)/gnulib-m4/wctype.m4 \ + $(top_srcdir)/gnulib-m4/wcwidth.m4 \ + $(top_srcdir)/gnulib-m4/wint_t.m4 \ + $(top_srcdir)/gnulib-m4/xalloc.m4 \ + $(top_srcdir)/gnulib-m4/xsize.m4 $(top_srcdir)/m4/exported.m4 \ + $(top_srcdir)/m4/init-package-version.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/woe32-dll.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +AM_V_AR = $(am__v_AR_$(V)) +am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) +am__v_AR_0 = @echo " AR " $@; +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +libtests_a_AR = $(AR) $(ARFLAGS) +am__DEPENDENCIES_1 = +am_libtests_a_OBJECTS = progname.$(OBJEXT) xalloc-die.$(OBJEXT) +libtests_a_OBJECTS = $(am_libtests_a_OBJECTS) +@WOE32DLL_FALSE@am__EXEEXT_1 = test-categ_none$(EXEEXT) +PROGRAMS = $(noinst_PROGRAMS) +test_alloca_opt_SOURCES = test-alloca-opt.c +test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT) +test_alloca_opt_LDADD = $(LDADD) +test_alloca_opt_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +test_array_mergesort_SOURCES = test-array-mergesort.c +test_array_mergesort_OBJECTS = test-array-mergesort.$(OBJEXT) +test_array_mergesort_LDADD = $(LDADD) +test_array_mergesort_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am__dirstamp = $(am__leading_dot)dirstamp +am_test_bidi_byname_OBJECTS = unictype/test-bidi_byname.$(OBJEXT) +test_bidi_byname_OBJECTS = $(am_test_bidi_byname_OBJECTS) +test_bidi_byname_LDADD = $(LDADD) +test_bidi_byname_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_bidi_name_OBJECTS = unictype/test-bidi_name.$(OBJEXT) +test_bidi_name_OBJECTS = $(am_test_bidi_name_OBJECTS) +test_bidi_name_LDADD = $(LDADD) +test_bidi_name_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_bidi_of_OBJECTS = unictype/test-bidi_of.$(OBJEXT) +test_bidi_of_OBJECTS = $(am_test_bidi_of_OBJECTS) +test_bidi_of_LDADD = $(LDADD) +test_bidi_of_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_bidi_test_OBJECTS = unictype/test-bidi_test.$(OBJEXT) +test_bidi_test_OBJECTS = $(am_test_bidi_test_OBJECTS) +test_bidi_test_LDADD = $(LDADD) +test_bidi_test_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_block_list_OBJECTS = unictype/test-block_list.$(OBJEXT) +test_block_list_OBJECTS = $(am_test_block_list_OBJECTS) +test_block_list_LDADD = $(LDADD) +test_block_list_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_block_of_OBJECTS = unictype/test-block_of.$(OBJEXT) +test_block_of_OBJECTS = $(am_test_block_of_OBJECTS) +test_block_of_LDADD = $(LDADD) +test_block_of_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_block_test_OBJECTS = unictype/test-block_test.$(OBJEXT) +test_block_test_OBJECTS = $(am_test_block_test_OBJECTS) +test_block_test_LDADD = $(LDADD) +test_block_test_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_c_ctype_SOURCES = test-c-ctype.c +test_c_ctype_OBJECTS = test-c-ctype.$(OBJEXT) +test_c_ctype_LDADD = $(LDADD) +test_c_ctype_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_c_strcasecmp_SOURCES = test-c-strcasecmp.c +test_c_strcasecmp_OBJECTS = test-c-strcasecmp.$(OBJEXT) +test_c_strcasecmp_LDADD = $(LDADD) +test_c_strcasecmp_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_c_strncasecmp_SOURCES = test-c-strncasecmp.c +test_c_strncasecmp_OBJECTS = test-c-strncasecmp.$(OBJEXT) +test_c_strncasecmp_LDADD = $(LDADD) +test_c_strncasecmp_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_canonical_decomposition_OBJECTS = \ + uninorm/test-canonical-decomposition.$(OBJEXT) +test_canonical_decomposition_OBJECTS = \ + $(am_test_canonical_decomposition_OBJECTS) +test_canonical_decomposition_LDADD = $(LDADD) +test_canonical_decomposition_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_cased_OBJECTS = unicase/test-cased.$(OBJEXT) +test_cased_OBJECTS = $(am_test_cased_OBJECTS) +test_cased_LDADD = $(LDADD) +test_cased_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \ + $(am__DEPENDENCIES_1) +am_test_categ_C_OBJECTS = unictype/test-categ_C.$(OBJEXT) +test_categ_C_OBJECTS = $(am_test_categ_C_OBJECTS) +test_categ_C_LDADD = $(LDADD) +test_categ_C_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Cc_OBJECTS = unictype/test-categ_Cc.$(OBJEXT) +test_categ_Cc_OBJECTS = $(am_test_categ_Cc_OBJECTS) +test_categ_Cc_LDADD = $(LDADD) +test_categ_Cc_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Cf_OBJECTS = unictype/test-categ_Cf.$(OBJEXT) +test_categ_Cf_OBJECTS = $(am_test_categ_Cf_OBJECTS) +test_categ_Cf_LDADD = $(LDADD) +test_categ_Cf_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Cn_OBJECTS = unictype/test-categ_Cn.$(OBJEXT) +test_categ_Cn_OBJECTS = $(am_test_categ_Cn_OBJECTS) +test_categ_Cn_LDADD = $(LDADD) +test_categ_Cn_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Co_OBJECTS = unictype/test-categ_Co.$(OBJEXT) +test_categ_Co_OBJECTS = $(am_test_categ_Co_OBJECTS) +test_categ_Co_LDADD = $(LDADD) +test_categ_Co_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Cs_OBJECTS = unictype/test-categ_Cs.$(OBJEXT) +test_categ_Cs_OBJECTS = $(am_test_categ_Cs_OBJECTS) +test_categ_Cs_LDADD = $(LDADD) +test_categ_Cs_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_L_OBJECTS = unictype/test-categ_L.$(OBJEXT) +test_categ_L_OBJECTS = $(am_test_categ_L_OBJECTS) +test_categ_L_LDADD = $(LDADD) +test_categ_L_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Ll_OBJECTS = unictype/test-categ_Ll.$(OBJEXT) +test_categ_Ll_OBJECTS = $(am_test_categ_Ll_OBJECTS) +test_categ_Ll_LDADD = $(LDADD) +test_categ_Ll_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Lm_OBJECTS = unictype/test-categ_Lm.$(OBJEXT) +test_categ_Lm_OBJECTS = $(am_test_categ_Lm_OBJECTS) +test_categ_Lm_LDADD = $(LDADD) +test_categ_Lm_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Lo_OBJECTS = unictype/test-categ_Lo.$(OBJEXT) +test_categ_Lo_OBJECTS = $(am_test_categ_Lo_OBJECTS) +test_categ_Lo_LDADD = $(LDADD) +test_categ_Lo_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Lt_OBJECTS = unictype/test-categ_Lt.$(OBJEXT) +test_categ_Lt_OBJECTS = $(am_test_categ_Lt_OBJECTS) +test_categ_Lt_LDADD = $(LDADD) +test_categ_Lt_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Lu_OBJECTS = unictype/test-categ_Lu.$(OBJEXT) +test_categ_Lu_OBJECTS = $(am_test_categ_Lu_OBJECTS) +test_categ_Lu_LDADD = $(LDADD) +test_categ_Lu_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_M_OBJECTS = unictype/test-categ_M.$(OBJEXT) +test_categ_M_OBJECTS = $(am_test_categ_M_OBJECTS) +test_categ_M_LDADD = $(LDADD) +test_categ_M_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Mc_OBJECTS = unictype/test-categ_Mc.$(OBJEXT) +test_categ_Mc_OBJECTS = $(am_test_categ_Mc_OBJECTS) +test_categ_Mc_LDADD = $(LDADD) +test_categ_Mc_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Me_OBJECTS = unictype/test-categ_Me.$(OBJEXT) +test_categ_Me_OBJECTS = $(am_test_categ_Me_OBJECTS) +test_categ_Me_LDADD = $(LDADD) +test_categ_Me_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Mn_OBJECTS = unictype/test-categ_Mn.$(OBJEXT) +test_categ_Mn_OBJECTS = $(am_test_categ_Mn_OBJECTS) +test_categ_Mn_LDADD = $(LDADD) +test_categ_Mn_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_N_OBJECTS = unictype/test-categ_N.$(OBJEXT) +test_categ_N_OBJECTS = $(am_test_categ_N_OBJECTS) +test_categ_N_LDADD = $(LDADD) +test_categ_N_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Nd_OBJECTS = unictype/test-categ_Nd.$(OBJEXT) +test_categ_Nd_OBJECTS = $(am_test_categ_Nd_OBJECTS) +test_categ_Nd_LDADD = $(LDADD) +test_categ_Nd_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Nl_OBJECTS = unictype/test-categ_Nl.$(OBJEXT) +test_categ_Nl_OBJECTS = $(am_test_categ_Nl_OBJECTS) +test_categ_Nl_LDADD = $(LDADD) +test_categ_Nl_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_No_OBJECTS = unictype/test-categ_No.$(OBJEXT) +test_categ_No_OBJECTS = $(am_test_categ_No_OBJECTS) +test_categ_No_LDADD = $(LDADD) +test_categ_No_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_P_OBJECTS = unictype/test-categ_P.$(OBJEXT) +test_categ_P_OBJECTS = $(am_test_categ_P_OBJECTS) +test_categ_P_LDADD = $(LDADD) +test_categ_P_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Pc_OBJECTS = unictype/test-categ_Pc.$(OBJEXT) +test_categ_Pc_OBJECTS = $(am_test_categ_Pc_OBJECTS) +test_categ_Pc_LDADD = $(LDADD) +test_categ_Pc_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Pd_OBJECTS = unictype/test-categ_Pd.$(OBJEXT) +test_categ_Pd_OBJECTS = $(am_test_categ_Pd_OBJECTS) +test_categ_Pd_LDADD = $(LDADD) +test_categ_Pd_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Pe_OBJECTS = unictype/test-categ_Pe.$(OBJEXT) +test_categ_Pe_OBJECTS = $(am_test_categ_Pe_OBJECTS) +test_categ_Pe_LDADD = $(LDADD) +test_categ_Pe_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Pf_OBJECTS = unictype/test-categ_Pf.$(OBJEXT) +test_categ_Pf_OBJECTS = $(am_test_categ_Pf_OBJECTS) +test_categ_Pf_LDADD = $(LDADD) +test_categ_Pf_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Pi_OBJECTS = unictype/test-categ_Pi.$(OBJEXT) +test_categ_Pi_OBJECTS = $(am_test_categ_Pi_OBJECTS) +test_categ_Pi_LDADD = $(LDADD) +test_categ_Pi_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Po_OBJECTS = unictype/test-categ_Po.$(OBJEXT) +test_categ_Po_OBJECTS = $(am_test_categ_Po_OBJECTS) +test_categ_Po_LDADD = $(LDADD) +test_categ_Po_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Ps_OBJECTS = unictype/test-categ_Ps.$(OBJEXT) +test_categ_Ps_OBJECTS = $(am_test_categ_Ps_OBJECTS) +test_categ_Ps_LDADD = $(LDADD) +test_categ_Ps_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_S_OBJECTS = unictype/test-categ_S.$(OBJEXT) +test_categ_S_OBJECTS = $(am_test_categ_S_OBJECTS) +test_categ_S_LDADD = $(LDADD) +test_categ_S_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Sc_OBJECTS = unictype/test-categ_Sc.$(OBJEXT) +test_categ_Sc_OBJECTS = $(am_test_categ_Sc_OBJECTS) +test_categ_Sc_LDADD = $(LDADD) +test_categ_Sc_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Sk_OBJECTS = unictype/test-categ_Sk.$(OBJEXT) +test_categ_Sk_OBJECTS = $(am_test_categ_Sk_OBJECTS) +test_categ_Sk_LDADD = $(LDADD) +test_categ_Sk_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Sm_OBJECTS = unictype/test-categ_Sm.$(OBJEXT) +test_categ_Sm_OBJECTS = $(am_test_categ_Sm_OBJECTS) +test_categ_Sm_LDADD = $(LDADD) +test_categ_Sm_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_So_OBJECTS = unictype/test-categ_So.$(OBJEXT) +test_categ_So_OBJECTS = $(am_test_categ_So_OBJECTS) +test_categ_So_LDADD = $(LDADD) +test_categ_So_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Z_OBJECTS = unictype/test-categ_Z.$(OBJEXT) +test_categ_Z_OBJECTS = $(am_test_categ_Z_OBJECTS) +test_categ_Z_LDADD = $(LDADD) +test_categ_Z_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Zl_OBJECTS = unictype/test-categ_Zl.$(OBJEXT) +test_categ_Zl_OBJECTS = $(am_test_categ_Zl_OBJECTS) +test_categ_Zl_LDADD = $(LDADD) +test_categ_Zl_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Zp_OBJECTS = unictype/test-categ_Zp.$(OBJEXT) +test_categ_Zp_OBJECTS = $(am_test_categ_Zp_OBJECTS) +test_categ_Zp_LDADD = $(LDADD) +test_categ_Zp_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_Zs_OBJECTS = unictype/test-categ_Zs.$(OBJEXT) +test_categ_Zs_OBJECTS = $(am_test_categ_Zs_OBJECTS) +test_categ_Zs_LDADD = $(LDADD) +test_categ_Zs_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_and_OBJECTS = unictype/test-categ_and.$(OBJEXT) +test_categ_and_OBJECTS = $(am_test_categ_and_OBJECTS) +test_categ_and_LDADD = $(LDADD) +test_categ_and_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_and_not_OBJECTS = unictype/test-categ_and_not.$(OBJEXT) +test_categ_and_not_OBJECTS = $(am_test_categ_and_not_OBJECTS) +test_categ_and_not_LDADD = $(LDADD) +test_categ_and_not_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_byname_OBJECTS = unictype/test-categ_byname.$(OBJEXT) +test_categ_byname_OBJECTS = $(am_test_categ_byname_OBJECTS) +test_categ_byname_LDADD = $(LDADD) +test_categ_byname_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_name_OBJECTS = unictype/test-categ_name.$(OBJEXT) +test_categ_name_OBJECTS = $(am_test_categ_name_OBJECTS) +test_categ_name_LDADD = $(LDADD) +test_categ_name_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am__test_categ_none_SOURCES_DIST = unictype/test-categ_none.c +@WOE32DLL_FALSE@am_test_categ_none_OBJECTS = \ +@WOE32DLL_FALSE@ unictype/test-categ_none.$(OBJEXT) +test_categ_none_OBJECTS = $(am_test_categ_none_OBJECTS) +test_categ_none_LDADD = $(LDADD) +test_categ_none_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_of_OBJECTS = unictype/test-categ_of.$(OBJEXT) +test_categ_of_OBJECTS = $(am_test_categ_of_OBJECTS) +test_categ_of_LDADD = $(LDADD) +test_categ_of_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_or_OBJECTS = unictype/test-categ_or.$(OBJEXT) +test_categ_or_OBJECTS = $(am_test_categ_or_OBJECTS) +test_categ_or_LDADD = $(LDADD) +test_categ_or_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_categ_test_withtable_OBJECTS = \ + unictype/test-categ_test_withtable.$(OBJEXT) +test_categ_test_withtable_OBJECTS = \ + $(am_test_categ_test_withtable_OBJECTS) +test_categ_test_withtable_LDADD = $(LDADD) +test_categ_test_withtable_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_combining_OBJECTS = unictype/test-combining.$(OBJEXT) +test_combining_OBJECTS = $(am_test_combining_OBJECTS) +test_combining_LDADD = $(LDADD) +test_combining_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_compat_decomposition_OBJECTS = \ + uninorm/test-compat-decomposition.$(OBJEXT) +test_compat_decomposition_OBJECTS = \ + $(am_test_compat_decomposition_OBJECTS) +test_compat_decomposition_LDADD = $(LDADD) +test_compat_decomposition_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_composition_OBJECTS = uninorm/test-composition.$(OBJEXT) +test_composition_OBJECTS = $(am_test_composition_OBJECTS) +test_composition_LDADD = $(LDADD) +test_composition_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_alnum_OBJECTS = unictype/test-ctype_alnum.$(OBJEXT) +test_ctype_alnum_OBJECTS = $(am_test_ctype_alnum_OBJECTS) +test_ctype_alnum_LDADD = $(LDADD) +test_ctype_alnum_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_alpha_OBJECTS = unictype/test-ctype_alpha.$(OBJEXT) +test_ctype_alpha_OBJECTS = $(am_test_ctype_alpha_OBJECTS) +test_ctype_alpha_LDADD = $(LDADD) +test_ctype_alpha_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_blank_OBJECTS = unictype/test-ctype_blank.$(OBJEXT) +test_ctype_blank_OBJECTS = $(am_test_ctype_blank_OBJECTS) +test_ctype_blank_LDADD = $(LDADD) +test_ctype_blank_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_cntrl_OBJECTS = unictype/test-ctype_cntrl.$(OBJEXT) +test_ctype_cntrl_OBJECTS = $(am_test_ctype_cntrl_OBJECTS) +test_ctype_cntrl_LDADD = $(LDADD) +test_ctype_cntrl_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_digit_OBJECTS = unictype/test-ctype_digit.$(OBJEXT) +test_ctype_digit_OBJECTS = $(am_test_ctype_digit_OBJECTS) +test_ctype_digit_LDADD = $(LDADD) +test_ctype_digit_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_graph_OBJECTS = unictype/test-ctype_graph.$(OBJEXT) +test_ctype_graph_OBJECTS = $(am_test_ctype_graph_OBJECTS) +test_ctype_graph_LDADD = $(LDADD) +test_ctype_graph_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_lower_OBJECTS = unictype/test-ctype_lower.$(OBJEXT) +test_ctype_lower_OBJECTS = $(am_test_ctype_lower_OBJECTS) +test_ctype_lower_LDADD = $(LDADD) +test_ctype_lower_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_print_OBJECTS = unictype/test-ctype_print.$(OBJEXT) +test_ctype_print_OBJECTS = $(am_test_ctype_print_OBJECTS) +test_ctype_print_LDADD = $(LDADD) +test_ctype_print_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_punct_OBJECTS = unictype/test-ctype_punct.$(OBJEXT) +test_ctype_punct_OBJECTS = $(am_test_ctype_punct_OBJECTS) +test_ctype_punct_LDADD = $(LDADD) +test_ctype_punct_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_space_OBJECTS = unictype/test-ctype_space.$(OBJEXT) +test_ctype_space_OBJECTS = $(am_test_ctype_space_OBJECTS) +test_ctype_space_LDADD = $(LDADD) +test_ctype_space_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_upper_OBJECTS = unictype/test-ctype_upper.$(OBJEXT) +test_ctype_upper_OBJECTS = $(am_test_ctype_upper_OBJECTS) +test_ctype_upper_LDADD = $(LDADD) +test_ctype_upper_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ctype_xdigit_OBJECTS = unictype/test-ctype_xdigit.$(OBJEXT) +test_ctype_xdigit_OBJECTS = $(am_test_ctype_xdigit_OBJECTS) +test_ctype_xdigit_LDADD = $(LDADD) +test_ctype_xdigit_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_decdigit_OBJECTS = unictype/test-decdigit.$(OBJEXT) +test_decdigit_OBJECTS = $(am_test_decdigit_OBJECTS) +test_decdigit_LDADD = $(LDADD) +test_decdigit_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_decomposing_form_OBJECTS = \ + uninorm/test-decomposing-form.$(OBJEXT) +test_decomposing_form_OBJECTS = $(am_test_decomposing_form_OBJECTS) +test_decomposing_form_LDADD = $(LDADD) +test_decomposing_form_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_decomposition_OBJECTS = uninorm/test-decomposition.$(OBJEXT) +test_decomposition_OBJECTS = $(am_test_decomposition_OBJECTS) +test_decomposition_LDADD = $(LDADD) +test_decomposition_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_digit_OBJECTS = unictype/test-digit.$(OBJEXT) +test_digit_OBJECTS = $(am_test_digit_OBJECTS) +test_digit_LDADD = $(LDADD) +test_digit_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \ + $(am__DEPENDENCIES_1) +test_environ_SOURCES = test-environ.c +test_environ_OBJECTS = test-environ.$(OBJEXT) +test_environ_LDADD = $(LDADD) +test_environ_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_errno_SOURCES = test-errno.c +test_errno_OBJECTS = test-errno.$(OBJEXT) +test_errno_LDADD = $(LDADD) +test_errno_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \ + $(am__DEPENDENCIES_1) +am_test_frexpl_nolibm_OBJECTS = test-frexpl.$(OBJEXT) +test_frexpl_nolibm_OBJECTS = $(am_test_frexpl_nolibm_OBJECTS) +test_frexpl_nolibm_LDADD = $(LDADD) +test_frexpl_nolibm_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_fseterr_SOURCES = test-fseterr.c +test_fseterr_OBJECTS = test-fseterr.$(OBJEXT) +test_fseterr_LDADD = $(LDADD) +test_fseterr_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_iconv_SOURCES = test-iconv.c +test_iconv_OBJECTS = test-iconv.$(OBJEXT) +am__DEPENDENCIES_2 = libtests.a ../lib/libunistring.la libtests.a \ + $(am__DEPENDENCIES_1) +test_iconv_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ignorable_OBJECTS = unicase/test-ignorable.$(OBJEXT) +test_ignorable_OBJECTS = $(am_test_ignorable_OBJECTS) +test_ignorable_LDADD = $(LDADD) +test_ignorable_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_isnand_nolibm_SOURCES = test-isnand-nolibm.c +test_isnand_nolibm_OBJECTS = test-isnand-nolibm.$(OBJEXT) +test_isnand_nolibm_LDADD = $(LDADD) +test_isnand_nolibm_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_isnanf_nolibm_SOURCES = test-isnanf-nolibm.c +test_isnanf_nolibm_OBJECTS = test-isnanf-nolibm.$(OBJEXT) +test_isnanf_nolibm_LDADD = $(LDADD) +test_isnanf_nolibm_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_isnanl_nolibm_SOURCES = test-isnanl-nolibm.c +test_isnanl_nolibm_OBJECTS = test-isnanl-nolibm.$(OBJEXT) +test_isnanl_nolibm_LDADD = $(LDADD) +test_isnanl_nolibm_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_locale_SOURCES = test-locale.c +test_locale_OBJECTS = test-locale.$(OBJEXT) +test_locale_LDADD = $(LDADD) +test_locale_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_locale_language_OBJECTS = \ + unicase/test-locale-language.$(OBJEXT) +test_locale_language_OBJECTS = $(am_test_locale_language_OBJECTS) +test_locale_language_DEPENDENCIES = $(am__DEPENDENCIES_2) +test_localename_SOURCES = test-localename.c +test_localename_OBJECTS = test-localename.$(OBJEXT) +test_localename_DEPENDENCIES = $(am__DEPENDENCIES_2) +test_malloca_SOURCES = test-malloca.c +test_malloca_OBJECTS = test-malloca.$(OBJEXT) +test_malloca_LDADD = $(LDADD) +test_malloca_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_math_SOURCES = test-math.c +test_math_OBJECTS = test-math.$(OBJEXT) +test_math_LDADD = $(LDADD) +test_math_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \ + $(am__DEPENDENCIES_1) +test_mbrtowc_SOURCES = test-mbrtowc.c +test_mbrtowc_OBJECTS = test-mbrtowc.$(OBJEXT) +test_mbrtowc_LDADD = $(LDADD) +test_mbrtowc_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_mbsinit_SOURCES = test-mbsinit.c +test_mbsinit_OBJECTS = test-mbsinit.$(OBJEXT) +test_mbsinit_LDADD = $(LDADD) +test_mbsinit_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_memchr_SOURCES = test-memchr.c +test_memchr_OBJECTS = test-memchr.$(OBJEXT) +test_memchr_LDADD = $(LDADD) +test_memchr_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_mirror_OBJECTS = unictype/test-mirror.$(OBJEXT) +test_mirror_OBJECTS = $(am_test_mirror_OBJECTS) +test_mirror_LDADD = $(LDADD) +test_mirror_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_nfc_OBJECTS = uninorm/test-nfc.$(OBJEXT) \ + uninorm/test-u8-nfc.$(OBJEXT) uninorm/test-u16-nfc.$(OBJEXT) \ + uninorm/test-u32-nfc.$(OBJEXT) +test_nfc_OBJECTS = $(am_test_nfc_OBJECTS) +test_nfc_LDADD = $(LDADD) +test_nfc_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \ + $(am__DEPENDENCIES_1) +am_test_nfd_OBJECTS = uninorm/test-nfd.$(OBJEXT) \ + uninorm/test-u8-nfd.$(OBJEXT) uninorm/test-u16-nfd.$(OBJEXT) \ + uninorm/test-u32-nfd.$(OBJEXT) +test_nfd_OBJECTS = $(am_test_nfd_OBJECTS) +test_nfd_LDADD = $(LDADD) +test_nfd_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \ + $(am__DEPENDENCIES_1) +am_test_nfkc_OBJECTS = uninorm/test-nfkc.$(OBJEXT) \ + uninorm/test-u8-nfkc.$(OBJEXT) uninorm/test-u16-nfkc.$(OBJEXT) \ + uninorm/test-u32-nfkc.$(OBJEXT) +test_nfkc_OBJECTS = $(am_test_nfkc_OBJECTS) +test_nfkc_LDADD = $(LDADD) +test_nfkc_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \ + $(am__DEPENDENCIES_1) +am_test_nfkd_OBJECTS = uninorm/test-nfkd.$(OBJEXT) \ + uninorm/test-u8-nfkd.$(OBJEXT) uninorm/test-u16-nfkd.$(OBJEXT) \ + uninorm/test-u32-nfkd.$(OBJEXT) +test_nfkd_OBJECTS = $(am_test_nfkd_OBJECTS) +test_nfkd_LDADD = $(LDADD) +test_nfkd_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \ + $(am__DEPENDENCIES_1) +am_test_numeric_OBJECTS = unictype/test-numeric.$(OBJEXT) +test_numeric_OBJECTS = $(am_test_numeric_OBJECTS) +test_numeric_LDADD = $(LDADD) +test_numeric_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_alphabetic_OBJECTS = unictype/test-pr_alphabetic.$(OBJEXT) +test_pr_alphabetic_OBJECTS = $(am_test_pr_alphabetic_OBJECTS) +test_pr_alphabetic_LDADD = $(LDADD) +test_pr_alphabetic_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_ascii_hex_digit_OBJECTS = \ + unictype/test-pr_ascii_hex_digit.$(OBJEXT) +test_pr_ascii_hex_digit_OBJECTS = \ + $(am_test_pr_ascii_hex_digit_OBJECTS) +test_pr_ascii_hex_digit_LDADD = $(LDADD) +test_pr_ascii_hex_digit_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_arabic_digit_OBJECTS = \ + unictype/test-pr_bidi_arabic_digit.$(OBJEXT) +test_pr_bidi_arabic_digit_OBJECTS = \ + $(am_test_pr_bidi_arabic_digit_OBJECTS) +test_pr_bidi_arabic_digit_LDADD = $(LDADD) +test_pr_bidi_arabic_digit_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_arabic_right_to_left_OBJECTS = \ + unictype/test-pr_bidi_arabic_right_to_left.$(OBJEXT) +test_pr_bidi_arabic_right_to_left_OBJECTS = \ + $(am_test_pr_bidi_arabic_right_to_left_OBJECTS) +test_pr_bidi_arabic_right_to_left_LDADD = $(LDADD) +test_pr_bidi_arabic_right_to_left_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_block_separator_OBJECTS = \ + unictype/test-pr_bidi_block_separator.$(OBJEXT) +test_pr_bidi_block_separator_OBJECTS = \ + $(am_test_pr_bidi_block_separator_OBJECTS) +test_pr_bidi_block_separator_LDADD = $(LDADD) +test_pr_bidi_block_separator_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_boundary_neutral_OBJECTS = \ + unictype/test-pr_bidi_boundary_neutral.$(OBJEXT) +test_pr_bidi_boundary_neutral_OBJECTS = \ + $(am_test_pr_bidi_boundary_neutral_OBJECTS) +test_pr_bidi_boundary_neutral_LDADD = $(LDADD) +test_pr_bidi_boundary_neutral_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_common_separator_OBJECTS = \ + unictype/test-pr_bidi_common_separator.$(OBJEXT) +test_pr_bidi_common_separator_OBJECTS = \ + $(am_test_pr_bidi_common_separator_OBJECTS) +test_pr_bidi_common_separator_LDADD = $(LDADD) +test_pr_bidi_common_separator_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_control_OBJECTS = \ + unictype/test-pr_bidi_control.$(OBJEXT) +test_pr_bidi_control_OBJECTS = $(am_test_pr_bidi_control_OBJECTS) +test_pr_bidi_control_LDADD = $(LDADD) +test_pr_bidi_control_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_embedding_or_override_OBJECTS = \ + unictype/test-pr_bidi_embedding_or_override.$(OBJEXT) +test_pr_bidi_embedding_or_override_OBJECTS = \ + $(am_test_pr_bidi_embedding_or_override_OBJECTS) +test_pr_bidi_embedding_or_override_LDADD = $(LDADD) +test_pr_bidi_embedding_or_override_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_eur_num_separator_OBJECTS = \ + unictype/test-pr_bidi_eur_num_separator.$(OBJEXT) +test_pr_bidi_eur_num_separator_OBJECTS = \ + $(am_test_pr_bidi_eur_num_separator_OBJECTS) +test_pr_bidi_eur_num_separator_LDADD = $(LDADD) +test_pr_bidi_eur_num_separator_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_eur_num_terminator_OBJECTS = \ + unictype/test-pr_bidi_eur_num_terminator.$(OBJEXT) +test_pr_bidi_eur_num_terminator_OBJECTS = \ + $(am_test_pr_bidi_eur_num_terminator_OBJECTS) +test_pr_bidi_eur_num_terminator_LDADD = $(LDADD) +test_pr_bidi_eur_num_terminator_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_european_digit_OBJECTS = \ + unictype/test-pr_bidi_european_digit.$(OBJEXT) +test_pr_bidi_european_digit_OBJECTS = \ + $(am_test_pr_bidi_european_digit_OBJECTS) +test_pr_bidi_european_digit_LDADD = $(LDADD) +test_pr_bidi_european_digit_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_hebrew_right_to_left_OBJECTS = \ + unictype/test-pr_bidi_hebrew_right_to_left.$(OBJEXT) +test_pr_bidi_hebrew_right_to_left_OBJECTS = \ + $(am_test_pr_bidi_hebrew_right_to_left_OBJECTS) +test_pr_bidi_hebrew_right_to_left_LDADD = $(LDADD) +test_pr_bidi_hebrew_right_to_left_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_left_to_right_OBJECTS = \ + unictype/test-pr_bidi_left_to_right.$(OBJEXT) +test_pr_bidi_left_to_right_OBJECTS = \ + $(am_test_pr_bidi_left_to_right_OBJECTS) +test_pr_bidi_left_to_right_LDADD = $(LDADD) +test_pr_bidi_left_to_right_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_non_spacing_mark_OBJECTS = \ + unictype/test-pr_bidi_non_spacing_mark.$(OBJEXT) +test_pr_bidi_non_spacing_mark_OBJECTS = \ + $(am_test_pr_bidi_non_spacing_mark_OBJECTS) +test_pr_bidi_non_spacing_mark_LDADD = $(LDADD) +test_pr_bidi_non_spacing_mark_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_other_neutral_OBJECTS = \ + unictype/test-pr_bidi_other_neutral.$(OBJEXT) +test_pr_bidi_other_neutral_OBJECTS = \ + $(am_test_pr_bidi_other_neutral_OBJECTS) +test_pr_bidi_other_neutral_LDADD = $(LDADD) +test_pr_bidi_other_neutral_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_pdf_OBJECTS = unictype/test-pr_bidi_pdf.$(OBJEXT) +test_pr_bidi_pdf_OBJECTS = $(am_test_pr_bidi_pdf_OBJECTS) +test_pr_bidi_pdf_LDADD = $(LDADD) +test_pr_bidi_pdf_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_segment_separator_OBJECTS = \ + unictype/test-pr_bidi_segment_separator.$(OBJEXT) +test_pr_bidi_segment_separator_OBJECTS = \ + $(am_test_pr_bidi_segment_separator_OBJECTS) +test_pr_bidi_segment_separator_LDADD = $(LDADD) +test_pr_bidi_segment_separator_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_bidi_whitespace_OBJECTS = \ + unictype/test-pr_bidi_whitespace.$(OBJEXT) +test_pr_bidi_whitespace_OBJECTS = \ + $(am_test_pr_bidi_whitespace_OBJECTS) +test_pr_bidi_whitespace_LDADD = $(LDADD) +test_pr_bidi_whitespace_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_byname_OBJECTS = unictype/test-pr_byname.$(OBJEXT) +test_pr_byname_OBJECTS = $(am_test_pr_byname_OBJECTS) +test_pr_byname_LDADD = $(LDADD) +test_pr_byname_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_combining_OBJECTS = unictype/test-pr_combining.$(OBJEXT) +test_pr_combining_OBJECTS = $(am_test_pr_combining_OBJECTS) +test_pr_combining_LDADD = $(LDADD) +test_pr_combining_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_composite_OBJECTS = unictype/test-pr_composite.$(OBJEXT) +test_pr_composite_OBJECTS = $(am_test_pr_composite_OBJECTS) +test_pr_composite_LDADD = $(LDADD) +test_pr_composite_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_currency_symbol_OBJECTS = \ + unictype/test-pr_currency_symbol.$(OBJEXT) +test_pr_currency_symbol_OBJECTS = \ + $(am_test_pr_currency_symbol_OBJECTS) +test_pr_currency_symbol_LDADD = $(LDADD) +test_pr_currency_symbol_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_dash_OBJECTS = unictype/test-pr_dash.$(OBJEXT) +test_pr_dash_OBJECTS = $(am_test_pr_dash_OBJECTS) +test_pr_dash_LDADD = $(LDADD) +test_pr_dash_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_decimal_digit_OBJECTS = \ + unictype/test-pr_decimal_digit.$(OBJEXT) +test_pr_decimal_digit_OBJECTS = $(am_test_pr_decimal_digit_OBJECTS) +test_pr_decimal_digit_LDADD = $(LDADD) +test_pr_decimal_digit_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_default_ignorable_code_point_OBJECTS = \ + unictype/test-pr_default_ignorable_code_point.$(OBJEXT) +test_pr_default_ignorable_code_point_OBJECTS = \ + $(am_test_pr_default_ignorable_code_point_OBJECTS) +test_pr_default_ignorable_code_point_LDADD = $(LDADD) +test_pr_default_ignorable_code_point_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_deprecated_OBJECTS = unictype/test-pr_deprecated.$(OBJEXT) +test_pr_deprecated_OBJECTS = $(am_test_pr_deprecated_OBJECTS) +test_pr_deprecated_LDADD = $(LDADD) +test_pr_deprecated_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_diacritic_OBJECTS = unictype/test-pr_diacritic.$(OBJEXT) +test_pr_diacritic_OBJECTS = $(am_test_pr_diacritic_OBJECTS) +test_pr_diacritic_LDADD = $(LDADD) +test_pr_diacritic_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_extender_OBJECTS = unictype/test-pr_extender.$(OBJEXT) +test_pr_extender_OBJECTS = $(am_test_pr_extender_OBJECTS) +test_pr_extender_LDADD = $(LDADD) +test_pr_extender_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_format_control_OBJECTS = \ + unictype/test-pr_format_control.$(OBJEXT) +test_pr_format_control_OBJECTS = $(am_test_pr_format_control_OBJECTS) +test_pr_format_control_LDADD = $(LDADD) +test_pr_format_control_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_grapheme_base_OBJECTS = \ + unictype/test-pr_grapheme_base.$(OBJEXT) +test_pr_grapheme_base_OBJECTS = $(am_test_pr_grapheme_base_OBJECTS) +test_pr_grapheme_base_LDADD = $(LDADD) +test_pr_grapheme_base_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_grapheme_extend_OBJECTS = \ + unictype/test-pr_grapheme_extend.$(OBJEXT) +test_pr_grapheme_extend_OBJECTS = \ + $(am_test_pr_grapheme_extend_OBJECTS) +test_pr_grapheme_extend_LDADD = $(LDADD) +test_pr_grapheme_extend_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_grapheme_link_OBJECTS = \ + unictype/test-pr_grapheme_link.$(OBJEXT) +test_pr_grapheme_link_OBJECTS = $(am_test_pr_grapheme_link_OBJECTS) +test_pr_grapheme_link_LDADD = $(LDADD) +test_pr_grapheme_link_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_hex_digit_OBJECTS = unictype/test-pr_hex_digit.$(OBJEXT) +test_pr_hex_digit_OBJECTS = $(am_test_pr_hex_digit_OBJECTS) +test_pr_hex_digit_LDADD = $(LDADD) +test_pr_hex_digit_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_hyphen_OBJECTS = unictype/test-pr_hyphen.$(OBJEXT) +test_pr_hyphen_OBJECTS = $(am_test_pr_hyphen_OBJECTS) +test_pr_hyphen_LDADD = $(LDADD) +test_pr_hyphen_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_id_continue_OBJECTS = \ + unictype/test-pr_id_continue.$(OBJEXT) +test_pr_id_continue_OBJECTS = $(am_test_pr_id_continue_OBJECTS) +test_pr_id_continue_LDADD = $(LDADD) +test_pr_id_continue_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_id_start_OBJECTS = unictype/test-pr_id_start.$(OBJEXT) +test_pr_id_start_OBJECTS = $(am_test_pr_id_start_OBJECTS) +test_pr_id_start_LDADD = $(LDADD) +test_pr_id_start_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_ideographic_OBJECTS = \ + unictype/test-pr_ideographic.$(OBJEXT) +test_pr_ideographic_OBJECTS = $(am_test_pr_ideographic_OBJECTS) +test_pr_ideographic_LDADD = $(LDADD) +test_pr_ideographic_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_ids_binary_operator_OBJECTS = \ + unictype/test-pr_ids_binary_operator.$(OBJEXT) +test_pr_ids_binary_operator_OBJECTS = \ + $(am_test_pr_ids_binary_operator_OBJECTS) +test_pr_ids_binary_operator_LDADD = $(LDADD) +test_pr_ids_binary_operator_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_ids_trinary_operator_OBJECTS = \ + unictype/test-pr_ids_trinary_operator.$(OBJEXT) +test_pr_ids_trinary_operator_OBJECTS = \ + $(am_test_pr_ids_trinary_operator_OBJECTS) +test_pr_ids_trinary_operator_LDADD = $(LDADD) +test_pr_ids_trinary_operator_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_ignorable_control_OBJECTS = \ + unictype/test-pr_ignorable_control.$(OBJEXT) +test_pr_ignorable_control_OBJECTS = \ + $(am_test_pr_ignorable_control_OBJECTS) +test_pr_ignorable_control_LDADD = $(LDADD) +test_pr_ignorable_control_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_iso_control_OBJECTS = \ + unictype/test-pr_iso_control.$(OBJEXT) +test_pr_iso_control_OBJECTS = $(am_test_pr_iso_control_OBJECTS) +test_pr_iso_control_LDADD = $(LDADD) +test_pr_iso_control_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_join_control_OBJECTS = \ + unictype/test-pr_join_control.$(OBJEXT) +test_pr_join_control_OBJECTS = $(am_test_pr_join_control_OBJECTS) +test_pr_join_control_LDADD = $(LDADD) +test_pr_join_control_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_left_of_pair_OBJECTS = \ + unictype/test-pr_left_of_pair.$(OBJEXT) +test_pr_left_of_pair_OBJECTS = $(am_test_pr_left_of_pair_OBJECTS) +test_pr_left_of_pair_LDADD = $(LDADD) +test_pr_left_of_pair_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_line_separator_OBJECTS = \ + unictype/test-pr_line_separator.$(OBJEXT) +test_pr_line_separator_OBJECTS = $(am_test_pr_line_separator_OBJECTS) +test_pr_line_separator_LDADD = $(LDADD) +test_pr_line_separator_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_logical_order_exception_OBJECTS = \ + unictype/test-pr_logical_order_exception.$(OBJEXT) +test_pr_logical_order_exception_OBJECTS = \ + $(am_test_pr_logical_order_exception_OBJECTS) +test_pr_logical_order_exception_LDADD = $(LDADD) +test_pr_logical_order_exception_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_lowercase_OBJECTS = unictype/test-pr_lowercase.$(OBJEXT) +test_pr_lowercase_OBJECTS = $(am_test_pr_lowercase_OBJECTS) +test_pr_lowercase_LDADD = $(LDADD) +test_pr_lowercase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_math_OBJECTS = unictype/test-pr_math.$(OBJEXT) +test_pr_math_OBJECTS = $(am_test_pr_math_OBJECTS) +test_pr_math_LDADD = $(LDADD) +test_pr_math_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_non_break_OBJECTS = unictype/test-pr_non_break.$(OBJEXT) +test_pr_non_break_OBJECTS = $(am_test_pr_non_break_OBJECTS) +test_pr_non_break_LDADD = $(LDADD) +test_pr_non_break_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_not_a_character_OBJECTS = \ + unictype/test-pr_not_a_character.$(OBJEXT) +test_pr_not_a_character_OBJECTS = \ + $(am_test_pr_not_a_character_OBJECTS) +test_pr_not_a_character_LDADD = $(LDADD) +test_pr_not_a_character_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_numeric_OBJECTS = unictype/test-pr_numeric.$(OBJEXT) +test_pr_numeric_OBJECTS = $(am_test_pr_numeric_OBJECTS) +test_pr_numeric_LDADD = $(LDADD) +test_pr_numeric_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_other_alphabetic_OBJECTS = \ + unictype/test-pr_other_alphabetic.$(OBJEXT) +test_pr_other_alphabetic_OBJECTS = \ + $(am_test_pr_other_alphabetic_OBJECTS) +test_pr_other_alphabetic_LDADD = $(LDADD) +test_pr_other_alphabetic_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_other_default_ignorable_code_point_OBJECTS = \ + unictype/test-pr_other_default_ignorable_code_point.$(OBJEXT) +test_pr_other_default_ignorable_code_point_OBJECTS = \ + $(am_test_pr_other_default_ignorable_code_point_OBJECTS) +test_pr_other_default_ignorable_code_point_LDADD = $(LDADD) +test_pr_other_default_ignorable_code_point_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_other_grapheme_extend_OBJECTS = \ + unictype/test-pr_other_grapheme_extend.$(OBJEXT) +test_pr_other_grapheme_extend_OBJECTS = \ + $(am_test_pr_other_grapheme_extend_OBJECTS) +test_pr_other_grapheme_extend_LDADD = $(LDADD) +test_pr_other_grapheme_extend_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_other_id_continue_OBJECTS = \ + unictype/test-pr_other_id_continue.$(OBJEXT) +test_pr_other_id_continue_OBJECTS = \ + $(am_test_pr_other_id_continue_OBJECTS) +test_pr_other_id_continue_LDADD = $(LDADD) +test_pr_other_id_continue_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_other_id_start_OBJECTS = \ + unictype/test-pr_other_id_start.$(OBJEXT) +test_pr_other_id_start_OBJECTS = $(am_test_pr_other_id_start_OBJECTS) +test_pr_other_id_start_LDADD = $(LDADD) +test_pr_other_id_start_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_other_lowercase_OBJECTS = \ + unictype/test-pr_other_lowercase.$(OBJEXT) +test_pr_other_lowercase_OBJECTS = \ + $(am_test_pr_other_lowercase_OBJECTS) +test_pr_other_lowercase_LDADD = $(LDADD) +test_pr_other_lowercase_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_other_math_OBJECTS = unictype/test-pr_other_math.$(OBJEXT) +test_pr_other_math_OBJECTS = $(am_test_pr_other_math_OBJECTS) +test_pr_other_math_LDADD = $(LDADD) +test_pr_other_math_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_other_uppercase_OBJECTS = \ + unictype/test-pr_other_uppercase.$(OBJEXT) +test_pr_other_uppercase_OBJECTS = \ + $(am_test_pr_other_uppercase_OBJECTS) +test_pr_other_uppercase_LDADD = $(LDADD) +test_pr_other_uppercase_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_paired_punctuation_OBJECTS = \ + unictype/test-pr_paired_punctuation.$(OBJEXT) +test_pr_paired_punctuation_OBJECTS = \ + $(am_test_pr_paired_punctuation_OBJECTS) +test_pr_paired_punctuation_LDADD = $(LDADD) +test_pr_paired_punctuation_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_paragraph_separator_OBJECTS = \ + unictype/test-pr_paragraph_separator.$(OBJEXT) +test_pr_paragraph_separator_OBJECTS = \ + $(am_test_pr_paragraph_separator_OBJECTS) +test_pr_paragraph_separator_LDADD = $(LDADD) +test_pr_paragraph_separator_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_pattern_syntax_OBJECTS = \ + unictype/test-pr_pattern_syntax.$(OBJEXT) +test_pr_pattern_syntax_OBJECTS = $(am_test_pr_pattern_syntax_OBJECTS) +test_pr_pattern_syntax_LDADD = $(LDADD) +test_pr_pattern_syntax_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_pattern_white_space_OBJECTS = \ + unictype/test-pr_pattern_white_space.$(OBJEXT) +test_pr_pattern_white_space_OBJECTS = \ + $(am_test_pr_pattern_white_space_OBJECTS) +test_pr_pattern_white_space_LDADD = $(LDADD) +test_pr_pattern_white_space_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_private_use_OBJECTS = \ + unictype/test-pr_private_use.$(OBJEXT) +test_pr_private_use_OBJECTS = $(am_test_pr_private_use_OBJECTS) +test_pr_private_use_LDADD = $(LDADD) +test_pr_private_use_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_punctuation_OBJECTS = \ + unictype/test-pr_punctuation.$(OBJEXT) +test_pr_punctuation_OBJECTS = $(am_test_pr_punctuation_OBJECTS) +test_pr_punctuation_LDADD = $(LDADD) +test_pr_punctuation_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_quotation_mark_OBJECTS = \ + unictype/test-pr_quotation_mark.$(OBJEXT) +test_pr_quotation_mark_OBJECTS = $(am_test_pr_quotation_mark_OBJECTS) +test_pr_quotation_mark_LDADD = $(LDADD) +test_pr_quotation_mark_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_radical_OBJECTS = unictype/test-pr_radical.$(OBJEXT) +test_pr_radical_OBJECTS = $(am_test_pr_radical_OBJECTS) +test_pr_radical_LDADD = $(LDADD) +test_pr_radical_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_sentence_terminal_OBJECTS = \ + unictype/test-pr_sentence_terminal.$(OBJEXT) +test_pr_sentence_terminal_OBJECTS = \ + $(am_test_pr_sentence_terminal_OBJECTS) +test_pr_sentence_terminal_LDADD = $(LDADD) +test_pr_sentence_terminal_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_soft_dotted_OBJECTS = \ + unictype/test-pr_soft_dotted.$(OBJEXT) +test_pr_soft_dotted_OBJECTS = $(am_test_pr_soft_dotted_OBJECTS) +test_pr_soft_dotted_LDADD = $(LDADD) +test_pr_soft_dotted_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_space_OBJECTS = unictype/test-pr_space.$(OBJEXT) +test_pr_space_OBJECTS = $(am_test_pr_space_OBJECTS) +test_pr_space_LDADD = $(LDADD) +test_pr_space_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_terminal_punctuation_OBJECTS = \ + unictype/test-pr_terminal_punctuation.$(OBJEXT) +test_pr_terminal_punctuation_OBJECTS = \ + $(am_test_pr_terminal_punctuation_OBJECTS) +test_pr_terminal_punctuation_LDADD = $(LDADD) +test_pr_terminal_punctuation_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_test_OBJECTS = unictype/test-pr_test.$(OBJEXT) +test_pr_test_OBJECTS = $(am_test_pr_test_OBJECTS) +test_pr_test_LDADD = $(LDADD) +test_pr_test_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_titlecase_OBJECTS = unictype/test-pr_titlecase.$(OBJEXT) +test_pr_titlecase_OBJECTS = $(am_test_pr_titlecase_OBJECTS) +test_pr_titlecase_LDADD = $(LDADD) +test_pr_titlecase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_unassigned_code_value_OBJECTS = \ + unictype/test-pr_unassigned_code_value.$(OBJEXT) +test_pr_unassigned_code_value_OBJECTS = \ + $(am_test_pr_unassigned_code_value_OBJECTS) +test_pr_unassigned_code_value_LDADD = $(LDADD) +test_pr_unassigned_code_value_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_unified_ideograph_OBJECTS = \ + unictype/test-pr_unified_ideograph.$(OBJEXT) +test_pr_unified_ideograph_OBJECTS = \ + $(am_test_pr_unified_ideograph_OBJECTS) +test_pr_unified_ideograph_LDADD = $(LDADD) +test_pr_unified_ideograph_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_uppercase_OBJECTS = unictype/test-pr_uppercase.$(OBJEXT) +test_pr_uppercase_OBJECTS = $(am_test_pr_uppercase_OBJECTS) +test_pr_uppercase_LDADD = $(LDADD) +test_pr_uppercase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_variation_selector_OBJECTS = \ + unictype/test-pr_variation_selector.$(OBJEXT) +test_pr_variation_selector_OBJECTS = \ + $(am_test_pr_variation_selector_OBJECTS) +test_pr_variation_selector_LDADD = $(LDADD) +test_pr_variation_selector_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_pr_white_space_OBJECTS = \ + unictype/test-pr_white_space.$(OBJEXT) +test_pr_white_space_OBJECTS = $(am_test_pr_white_space_OBJECTS) +test_pr_white_space_LDADD = $(LDADD) +test_pr_white_space_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_xid_continue_OBJECTS = \ + unictype/test-pr_xid_continue.$(OBJEXT) +test_pr_xid_continue_OBJECTS = $(am_test_pr_xid_continue_OBJECTS) +test_pr_xid_continue_LDADD = $(LDADD) +test_pr_xid_continue_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_xid_start_OBJECTS = unictype/test-pr_xid_start.$(OBJEXT) +test_pr_xid_start_OBJECTS = $(am_test_pr_xid_start_OBJECTS) +test_pr_xid_start_LDADD = $(LDADD) +test_pr_xid_start_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_pr_zero_width_OBJECTS = unictype/test-pr_zero_width.$(OBJEXT) +test_pr_zero_width_OBJECTS = $(am_test_pr_zero_width_OBJECTS) +test_pr_zero_width_LDADD = $(LDADD) +test_pr_zero_width_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_printf_frexp_SOURCES = test-printf-frexp.c +test_printf_frexp_OBJECTS = test-printf-frexp.$(OBJEXT) +test_printf_frexp_LDADD = $(LDADD) +test_printf_frexp_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_printf_frexpl_SOURCES = test-printf-frexpl.c +test_printf_frexpl_OBJECTS = test-printf-frexpl.$(OBJEXT) +test_printf_frexpl_LDADD = $(LDADD) +test_printf_frexpl_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_scripts_OBJECTS = unictype/test-scripts.$(OBJEXT) +test_scripts_OBJECTS = $(am_test_scripts_OBJECTS) +test_scripts_LDADD = $(LDADD) +test_scripts_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_signbit_SOURCES = test-signbit.c +test_signbit_OBJECTS = test-signbit.$(OBJEXT) +test_signbit_LDADD = $(LDADD) +test_signbit_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_stdbool_SOURCES = test-stdbool.c +test_stdbool_OBJECTS = test-stdbool.$(OBJEXT) +test_stdbool_LDADD = $(LDADD) +test_stdbool_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_stdint_SOURCES = test-stdint.c +test_stdint_OBJECTS = test-stdint.$(OBJEXT) +test_stdint_LDADD = $(LDADD) +test_stdint_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_stdlib_SOURCES = test-stdlib.c +test_stdlib_OBJECTS = test-stdlib.$(OBJEXT) +test_stdlib_LDADD = $(LDADD) +test_stdlib_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_strerror_SOURCES = test-strerror.c +test_strerror_OBJECTS = test-strerror.$(OBJEXT) +test_strerror_LDADD = $(LDADD) +test_strerror_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_striconveh_SOURCES = test-striconveh.c +test_striconveh_OBJECTS = test-striconveh.$(OBJEXT) +test_striconveh_DEPENDENCIES = $(am__DEPENDENCIES_2) +test_striconveha_SOURCES = test-striconveha.c +test_striconveha_OBJECTS = test-striconveha.$(OBJEXT) +test_striconveha_DEPENDENCIES = $(am__DEPENDENCIES_2) +test_string_SOURCES = test-string.c +test_string_OBJECTS = test-string.$(OBJEXT) +test_string_LDADD = $(LDADD) +test_string_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_sy_c_ident_OBJECTS = unictype/test-sy_c_ident.$(OBJEXT) +test_sy_c_ident_OBJECTS = $(am_test_sy_c_ident_OBJECTS) +test_sy_c_ident_LDADD = $(LDADD) +test_sy_c_ident_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_sy_c_whitespace_OBJECTS = \ + unictype/test-sy_c_whitespace.$(OBJEXT) +test_sy_c_whitespace_OBJECTS = $(am_test_sy_c_whitespace_OBJECTS) +test_sy_c_whitespace_LDADD = $(LDADD) +test_sy_c_whitespace_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_sy_java_ident_OBJECTS = unictype/test-sy_java_ident.$(OBJEXT) +test_sy_java_ident_OBJECTS = $(am_test_sy_java_ident_OBJECTS) +test_sy_java_ident_LDADD = $(LDADD) +test_sy_java_ident_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_sy_java_whitespace_OBJECTS = \ + unictype/test-sy_java_whitespace.$(OBJEXT) +test_sy_java_whitespace_OBJECTS = \ + $(am_test_sy_java_whitespace_OBJECTS) +test_sy_java_whitespace_LDADD = $(LDADD) +test_sy_java_whitespace_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_u16_asnprintf1_OBJECTS = \ + unistdio/test-u16-asnprintf1.$(OBJEXT) +test_u16_asnprintf1_OBJECTS = $(am_test_u16_asnprintf1_OBJECTS) +test_u16_asnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_casecmp_OBJECTS = unicase/test-u16-casecmp.$(OBJEXT) +test_u16_casecmp_OBJECTS = $(am_test_u16_casecmp_OBJECTS) +test_u16_casecmp_LDADD = $(LDADD) +test_u16_casecmp_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_casecoll_OBJECTS = unicase/test-u16-casecoll.$(OBJEXT) +test_u16_casecoll_OBJECTS = $(am_test_u16_casecoll_OBJECTS) +test_u16_casecoll_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_casefold_OBJECTS = unicase/test-u16-casefold.$(OBJEXT) +test_u16_casefold_OBJECTS = $(am_test_u16_casefold_OBJECTS) +test_u16_casefold_LDADD = $(LDADD) +test_u16_casefold_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_conv_from_enc_OBJECTS = \ + uniconv/test-u16-conv-from-enc.$(OBJEXT) +test_u16_conv_from_enc_OBJECTS = $(am_test_u16_conv_from_enc_OBJECTS) +test_u16_conv_from_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_conv_to_enc_OBJECTS = \ + uniconv/test-u16-conv-to-enc.$(OBJEXT) +test_u16_conv_to_enc_OBJECTS = $(am_test_u16_conv_to_enc_OBJECTS) +test_u16_conv_to_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_is_cased_OBJECTS = unicase/test-u16-is-cased.$(OBJEXT) +test_u16_is_cased_OBJECTS = $(am_test_u16_is_cased_OBJECTS) +test_u16_is_cased_LDADD = $(LDADD) +test_u16_is_cased_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_is_casefolded_OBJECTS = \ + unicase/test-u16-is-casefolded.$(OBJEXT) +test_u16_is_casefolded_OBJECTS = $(am_test_u16_is_casefolded_OBJECTS) +test_u16_is_casefolded_LDADD = $(LDADD) +test_u16_is_casefolded_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_u16_is_lowercase_OBJECTS = \ + unicase/test-u16-is-lowercase.$(OBJEXT) +test_u16_is_lowercase_OBJECTS = $(am_test_u16_is_lowercase_OBJECTS) +test_u16_is_lowercase_LDADD = $(LDADD) +test_u16_is_lowercase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_is_titlecase_OBJECTS = \ + unicase/test-u16-is-titlecase.$(OBJEXT) +test_u16_is_titlecase_OBJECTS = $(am_test_u16_is_titlecase_OBJECTS) +test_u16_is_titlecase_LDADD = $(LDADD) +test_u16_is_titlecase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_is_uppercase_OBJECTS = \ + unicase/test-u16-is-uppercase.$(OBJEXT) +test_u16_is_uppercase_OBJECTS = $(am_test_u16_is_uppercase_OBJECTS) +test_u16_is_uppercase_LDADD = $(LDADD) +test_u16_is_uppercase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_normcmp_OBJECTS = uninorm/test-u16-normcmp.$(OBJEXT) +test_u16_normcmp_OBJECTS = $(am_test_u16_normcmp_OBJECTS) +test_u16_normcmp_LDADD = $(LDADD) +test_u16_normcmp_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_normcoll_OBJECTS = uninorm/test-u16-normcoll.$(OBJEXT) +test_u16_normcoll_OBJECTS = $(am_test_u16_normcoll_OBJECTS) +test_u16_normcoll_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_possible_linebreaks_OBJECTS = \ + unilbrk/test-u16-possible-linebreaks.$(OBJEXT) +test_u16_possible_linebreaks_OBJECTS = \ + $(am_test_u16_possible_linebreaks_OBJECTS) +test_u16_possible_linebreaks_LDADD = $(LDADD) +test_u16_possible_linebreaks_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_u16_strconv_from_enc_OBJECTS = \ + uniconv/test-u16-strconv-from-enc.$(OBJEXT) +test_u16_strconv_from_enc_OBJECTS = \ + $(am_test_u16_strconv_from_enc_OBJECTS) +test_u16_strconv_from_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_strconv_to_enc_OBJECTS = \ + uniconv/test-u16-strconv-to-enc.$(OBJEXT) +test_u16_strconv_to_enc_OBJECTS = \ + $(am_test_u16_strconv_to_enc_OBJECTS) +test_u16_strconv_to_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_strwidth_OBJECTS = uniwidth/test-u16-strwidth.$(OBJEXT) +test_u16_strwidth_OBJECTS = $(am_test_u16_strwidth_OBJECTS) +test_u16_strwidth_LDADD = $(LDADD) +test_u16_strwidth_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_tolower_OBJECTS = unicase/test-u16-tolower.$(OBJEXT) +test_u16_tolower_OBJECTS = $(am_test_u16_tolower_OBJECTS) +test_u16_tolower_LDADD = $(LDADD) +test_u16_tolower_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_totitle_OBJECTS = unicase/test-u16-totitle.$(OBJEXT) +test_u16_totitle_OBJECTS = $(am_test_u16_totitle_OBJECTS) +test_u16_totitle_LDADD = $(LDADD) +test_u16_totitle_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_toupper_OBJECTS = unicase/test-u16-toupper.$(OBJEXT) +test_u16_toupper_OBJECTS = $(am_test_u16_toupper_OBJECTS) +test_u16_toupper_LDADD = $(LDADD) +test_u16_toupper_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_vasnprintf1_OBJECTS = \ + unistdio/test-u16-vasnprintf1.$(OBJEXT) +test_u16_vasnprintf1_OBJECTS = $(am_test_u16_vasnprintf1_OBJECTS) +test_u16_vasnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_vasnprintf2_OBJECTS = \ + unistdio/test-u16-vasnprintf2.$(OBJEXT) +test_u16_vasnprintf2_OBJECTS = $(am_test_u16_vasnprintf2_OBJECTS) +test_u16_vasnprintf2_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_vasnprintf3_OBJECTS = \ + unistdio/test-u16-vasnprintf3.$(OBJEXT) +test_u16_vasnprintf3_OBJECTS = $(am_test_u16_vasnprintf3_OBJECTS) +test_u16_vasnprintf3_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_vasprintf1_OBJECTS = \ + unistdio/test-u16-vasprintf1.$(OBJEXT) +test_u16_vasprintf1_OBJECTS = $(am_test_u16_vasprintf1_OBJECTS) +test_u16_vasprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_vsnprintf1_OBJECTS = \ + unistdio/test-u16-vsnprintf1.$(OBJEXT) +test_u16_vsnprintf1_OBJECTS = $(am_test_u16_vsnprintf1_OBJECTS) +test_u16_vsnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_vsprintf1_OBJECTS = unistdio/test-u16-vsprintf1.$(OBJEXT) +test_u16_vsprintf1_OBJECTS = $(am_test_u16_vsprintf1_OBJECTS) +test_u16_vsprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u16_width_OBJECTS = uniwidth/test-u16-width.$(OBJEXT) +test_u16_width_OBJECTS = $(am_test_u16_width_OBJECTS) +test_u16_width_LDADD = $(LDADD) +test_u16_width_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u16_width_linebreaks_OBJECTS = \ + unilbrk/test-u16-width-linebreaks.$(OBJEXT) +test_u16_width_linebreaks_OBJECTS = \ + $(am_test_u16_width_linebreaks_OBJECTS) +test_u16_width_linebreaks_LDADD = $(LDADD) +test_u16_width_linebreaks_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_u16_wordbreaks_OBJECTS = \ + uniwbrk/test-u16-wordbreaks.$(OBJEXT) +test_u16_wordbreaks_OBJECTS = $(am_test_u16_wordbreaks_OBJECTS) +test_u16_wordbreaks_LDADD = $(LDADD) +test_u16_wordbreaks_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_asnprintf1_OBJECTS = \ + unistdio/test-u32-asnprintf1.$(OBJEXT) +test_u32_asnprintf1_OBJECTS = $(am_test_u32_asnprintf1_OBJECTS) +test_u32_asnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_casecmp_OBJECTS = unicase/test-u32-casecmp.$(OBJEXT) +test_u32_casecmp_OBJECTS = $(am_test_u32_casecmp_OBJECTS) +test_u32_casecmp_LDADD = $(LDADD) +test_u32_casecmp_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_casecoll_OBJECTS = unicase/test-u32-casecoll.$(OBJEXT) +test_u32_casecoll_OBJECTS = $(am_test_u32_casecoll_OBJECTS) +test_u32_casecoll_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_casefold_OBJECTS = unicase/test-u32-casefold.$(OBJEXT) +test_u32_casefold_OBJECTS = $(am_test_u32_casefold_OBJECTS) +test_u32_casefold_LDADD = $(LDADD) +test_u32_casefold_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_conv_from_enc_OBJECTS = \ + uniconv/test-u32-conv-from-enc.$(OBJEXT) +test_u32_conv_from_enc_OBJECTS = $(am_test_u32_conv_from_enc_OBJECTS) +test_u32_conv_from_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_conv_to_enc_OBJECTS = \ + uniconv/test-u32-conv-to-enc.$(OBJEXT) +test_u32_conv_to_enc_OBJECTS = $(am_test_u32_conv_to_enc_OBJECTS) +test_u32_conv_to_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_is_cased_OBJECTS = unicase/test-u32-is-cased.$(OBJEXT) +test_u32_is_cased_OBJECTS = $(am_test_u32_is_cased_OBJECTS) +test_u32_is_cased_LDADD = $(LDADD) +test_u32_is_cased_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_is_casefolded_OBJECTS = \ + unicase/test-u32-is-casefolded.$(OBJEXT) +test_u32_is_casefolded_OBJECTS = $(am_test_u32_is_casefolded_OBJECTS) +test_u32_is_casefolded_LDADD = $(LDADD) +test_u32_is_casefolded_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_u32_is_lowercase_OBJECTS = \ + unicase/test-u32-is-lowercase.$(OBJEXT) +test_u32_is_lowercase_OBJECTS = $(am_test_u32_is_lowercase_OBJECTS) +test_u32_is_lowercase_LDADD = $(LDADD) +test_u32_is_lowercase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_is_titlecase_OBJECTS = \ + unicase/test-u32-is-titlecase.$(OBJEXT) +test_u32_is_titlecase_OBJECTS = $(am_test_u32_is_titlecase_OBJECTS) +test_u32_is_titlecase_LDADD = $(LDADD) +test_u32_is_titlecase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_is_uppercase_OBJECTS = \ + unicase/test-u32-is-uppercase.$(OBJEXT) +test_u32_is_uppercase_OBJECTS = $(am_test_u32_is_uppercase_OBJECTS) +test_u32_is_uppercase_LDADD = $(LDADD) +test_u32_is_uppercase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_nfc_big_OBJECTS = uninorm/test-u32-nfc-big.$(OBJEXT) \ + uninorm/test-u32-normalize-big.$(OBJEXT) +test_u32_nfc_big_OBJECTS = $(am_test_u32_nfc_big_OBJECTS) +test_u32_nfc_big_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_nfd_big_OBJECTS = uninorm/test-u32-nfd-big.$(OBJEXT) \ + uninorm/test-u32-normalize-big.$(OBJEXT) +test_u32_nfd_big_OBJECTS = $(am_test_u32_nfd_big_OBJECTS) +test_u32_nfd_big_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_nfkc_big_OBJECTS = uninorm/test-u32-nfkc-big.$(OBJEXT) \ + uninorm/test-u32-normalize-big.$(OBJEXT) +test_u32_nfkc_big_OBJECTS = $(am_test_u32_nfkc_big_OBJECTS) +test_u32_nfkc_big_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_nfkd_big_OBJECTS = uninorm/test-u32-nfkd-big.$(OBJEXT) \ + uninorm/test-u32-normalize-big.$(OBJEXT) +test_u32_nfkd_big_OBJECTS = $(am_test_u32_nfkd_big_OBJECTS) +test_u32_nfkd_big_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_normcmp_OBJECTS = uninorm/test-u32-normcmp.$(OBJEXT) +test_u32_normcmp_OBJECTS = $(am_test_u32_normcmp_OBJECTS) +test_u32_normcmp_LDADD = $(LDADD) +test_u32_normcmp_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_normcoll_OBJECTS = uninorm/test-u32-normcoll.$(OBJEXT) +test_u32_normcoll_OBJECTS = $(am_test_u32_normcoll_OBJECTS) +test_u32_normcoll_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_possible_linebreaks_OBJECTS = \ + unilbrk/test-u32-possible-linebreaks.$(OBJEXT) +test_u32_possible_linebreaks_OBJECTS = \ + $(am_test_u32_possible_linebreaks_OBJECTS) +test_u32_possible_linebreaks_LDADD = $(LDADD) +test_u32_possible_linebreaks_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_u32_strconv_from_enc_OBJECTS = \ + uniconv/test-u32-strconv-from-enc.$(OBJEXT) +test_u32_strconv_from_enc_OBJECTS = \ + $(am_test_u32_strconv_from_enc_OBJECTS) +test_u32_strconv_from_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_strconv_to_enc_OBJECTS = \ + uniconv/test-u32-strconv-to-enc.$(OBJEXT) +test_u32_strconv_to_enc_OBJECTS = \ + $(am_test_u32_strconv_to_enc_OBJECTS) +test_u32_strconv_to_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_strwidth_OBJECTS = uniwidth/test-u32-strwidth.$(OBJEXT) +test_u32_strwidth_OBJECTS = $(am_test_u32_strwidth_OBJECTS) +test_u32_strwidth_LDADD = $(LDADD) +test_u32_strwidth_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_tolower_OBJECTS = unicase/test-u32-tolower.$(OBJEXT) +test_u32_tolower_OBJECTS = $(am_test_u32_tolower_OBJECTS) +test_u32_tolower_LDADD = $(LDADD) +test_u32_tolower_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_totitle_OBJECTS = unicase/test-u32-totitle.$(OBJEXT) +test_u32_totitle_OBJECTS = $(am_test_u32_totitle_OBJECTS) +test_u32_totitle_LDADD = $(LDADD) +test_u32_totitle_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_toupper_OBJECTS = unicase/test-u32-toupper.$(OBJEXT) +test_u32_toupper_OBJECTS = $(am_test_u32_toupper_OBJECTS) +test_u32_toupper_LDADD = $(LDADD) +test_u32_toupper_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_vasnprintf1_OBJECTS = \ + unistdio/test-u32-vasnprintf1.$(OBJEXT) +test_u32_vasnprintf1_OBJECTS = $(am_test_u32_vasnprintf1_OBJECTS) +test_u32_vasnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_vasnprintf2_OBJECTS = \ + unistdio/test-u32-vasnprintf2.$(OBJEXT) +test_u32_vasnprintf2_OBJECTS = $(am_test_u32_vasnprintf2_OBJECTS) +test_u32_vasnprintf2_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_vasnprintf3_OBJECTS = \ + unistdio/test-u32-vasnprintf3.$(OBJEXT) +test_u32_vasnprintf3_OBJECTS = $(am_test_u32_vasnprintf3_OBJECTS) +test_u32_vasnprintf3_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_vasprintf1_OBJECTS = \ + unistdio/test-u32-vasprintf1.$(OBJEXT) +test_u32_vasprintf1_OBJECTS = $(am_test_u32_vasprintf1_OBJECTS) +test_u32_vasprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_vsnprintf1_OBJECTS = \ + unistdio/test-u32-vsnprintf1.$(OBJEXT) +test_u32_vsnprintf1_OBJECTS = $(am_test_u32_vsnprintf1_OBJECTS) +test_u32_vsnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_vsprintf1_OBJECTS = unistdio/test-u32-vsprintf1.$(OBJEXT) +test_u32_vsprintf1_OBJECTS = $(am_test_u32_vsprintf1_OBJECTS) +test_u32_vsprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u32_width_OBJECTS = uniwidth/test-u32-width.$(OBJEXT) +test_u32_width_OBJECTS = $(am_test_u32_width_OBJECTS) +test_u32_width_LDADD = $(LDADD) +test_u32_width_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u32_width_linebreaks_OBJECTS = \ + unilbrk/test-u32-width-linebreaks.$(OBJEXT) +test_u32_width_linebreaks_OBJECTS = \ + $(am_test_u32_width_linebreaks_OBJECTS) +test_u32_width_linebreaks_LDADD = $(LDADD) +test_u32_width_linebreaks_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_u32_wordbreaks_OBJECTS = \ + uniwbrk/test-u32-wordbreaks.$(OBJEXT) +test_u32_wordbreaks_OBJECTS = $(am_test_u32_wordbreaks_OBJECTS) +test_u32_wordbreaks_LDADD = $(LDADD) +test_u32_wordbreaks_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_asnprintf1_OBJECTS = unistdio/test-u8-asnprintf1.$(OBJEXT) +test_u8_asnprintf1_OBJECTS = $(am_test_u8_asnprintf1_OBJECTS) +test_u8_asnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_casecmp_OBJECTS = unicase/test-u8-casecmp.$(OBJEXT) +test_u8_casecmp_OBJECTS = $(am_test_u8_casecmp_OBJECTS) +test_u8_casecmp_LDADD = $(LDADD) +test_u8_casecmp_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_casecoll_OBJECTS = unicase/test-u8-casecoll.$(OBJEXT) +test_u8_casecoll_OBJECTS = $(am_test_u8_casecoll_OBJECTS) +test_u8_casecoll_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_casefold_OBJECTS = unicase/test-u8-casefold.$(OBJEXT) +test_u8_casefold_OBJECTS = $(am_test_u8_casefold_OBJECTS) +test_u8_casefold_LDADD = $(LDADD) +test_u8_casefold_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_conv_from_enc_OBJECTS = \ + uniconv/test-u8-conv-from-enc.$(OBJEXT) +test_u8_conv_from_enc_OBJECTS = $(am_test_u8_conv_from_enc_OBJECTS) +test_u8_conv_from_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_conv_to_enc_OBJECTS = \ + uniconv/test-u8-conv-to-enc.$(OBJEXT) +test_u8_conv_to_enc_OBJECTS = $(am_test_u8_conv_to_enc_OBJECTS) +test_u8_conv_to_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_is_cased_OBJECTS = unicase/test-u8-is-cased.$(OBJEXT) +test_u8_is_cased_OBJECTS = $(am_test_u8_is_cased_OBJECTS) +test_u8_is_cased_LDADD = $(LDADD) +test_u8_is_cased_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_is_casefolded_OBJECTS = \ + unicase/test-u8-is-casefolded.$(OBJEXT) +test_u8_is_casefolded_OBJECTS = $(am_test_u8_is_casefolded_OBJECTS) +test_u8_is_casefolded_LDADD = $(LDADD) +test_u8_is_casefolded_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_is_lowercase_OBJECTS = \ + unicase/test-u8-is-lowercase.$(OBJEXT) +test_u8_is_lowercase_OBJECTS = $(am_test_u8_is_lowercase_OBJECTS) +test_u8_is_lowercase_LDADD = $(LDADD) +test_u8_is_lowercase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_is_titlecase_OBJECTS = \ + unicase/test-u8-is-titlecase.$(OBJEXT) +test_u8_is_titlecase_OBJECTS = $(am_test_u8_is_titlecase_OBJECTS) +test_u8_is_titlecase_LDADD = $(LDADD) +test_u8_is_titlecase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_is_uppercase_OBJECTS = \ + unicase/test-u8-is-uppercase.$(OBJEXT) +test_u8_is_uppercase_OBJECTS = $(am_test_u8_is_uppercase_OBJECTS) +test_u8_is_uppercase_LDADD = $(LDADD) +test_u8_is_uppercase_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_normcmp_OBJECTS = uninorm/test-u8-normcmp.$(OBJEXT) +test_u8_normcmp_OBJECTS = $(am_test_u8_normcmp_OBJECTS) +test_u8_normcmp_LDADD = $(LDADD) +test_u8_normcmp_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_normcoll_OBJECTS = uninorm/test-u8-normcoll.$(OBJEXT) +test_u8_normcoll_OBJECTS = $(am_test_u8_normcoll_OBJECTS) +test_u8_normcoll_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_possible_linebreaks_OBJECTS = \ + unilbrk/test-u8-possible-linebreaks.$(OBJEXT) +test_u8_possible_linebreaks_OBJECTS = \ + $(am_test_u8_possible_linebreaks_OBJECTS) +test_u8_possible_linebreaks_LDADD = $(LDADD) +test_u8_possible_linebreaks_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_u8_strconv_from_enc_OBJECTS = \ + uniconv/test-u8-strconv-from-enc.$(OBJEXT) +test_u8_strconv_from_enc_OBJECTS = \ + $(am_test_u8_strconv_from_enc_OBJECTS) +test_u8_strconv_from_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_strconv_to_enc_OBJECTS = \ + uniconv/test-u8-strconv-to-enc.$(OBJEXT) +test_u8_strconv_to_enc_OBJECTS = $(am_test_u8_strconv_to_enc_OBJECTS) +test_u8_strconv_to_enc_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_strwidth_OBJECTS = uniwidth/test-u8-strwidth.$(OBJEXT) +test_u8_strwidth_OBJECTS = $(am_test_u8_strwidth_OBJECTS) +test_u8_strwidth_LDADD = $(LDADD) +test_u8_strwidth_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_tolower_OBJECTS = unicase/test-u8-tolower.$(OBJEXT) +test_u8_tolower_OBJECTS = $(am_test_u8_tolower_OBJECTS) +test_u8_tolower_LDADD = $(LDADD) +test_u8_tolower_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_totitle_OBJECTS = unicase/test-u8-totitle.$(OBJEXT) +test_u8_totitle_OBJECTS = $(am_test_u8_totitle_OBJECTS) +test_u8_totitle_LDADD = $(LDADD) +test_u8_totitle_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_toupper_OBJECTS = unicase/test-u8-toupper.$(OBJEXT) +test_u8_toupper_OBJECTS = $(am_test_u8_toupper_OBJECTS) +test_u8_toupper_LDADD = $(LDADD) +test_u8_toupper_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_vasnprintf1_OBJECTS = \ + unistdio/test-u8-vasnprintf1.$(OBJEXT) +test_u8_vasnprintf1_OBJECTS = $(am_test_u8_vasnprintf1_OBJECTS) +test_u8_vasnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_vasnprintf2_OBJECTS = \ + unistdio/test-u8-vasnprintf2.$(OBJEXT) +test_u8_vasnprintf2_OBJECTS = $(am_test_u8_vasnprintf2_OBJECTS) +test_u8_vasnprintf2_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_vasnprintf3_OBJECTS = \ + unistdio/test-u8-vasnprintf3.$(OBJEXT) +test_u8_vasnprintf3_OBJECTS = $(am_test_u8_vasnprintf3_OBJECTS) +test_u8_vasnprintf3_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_vasprintf1_OBJECTS = unistdio/test-u8-vasprintf1.$(OBJEXT) +test_u8_vasprintf1_OBJECTS = $(am_test_u8_vasprintf1_OBJECTS) +test_u8_vasprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_vsnprintf1_OBJECTS = unistdio/test-u8-vsnprintf1.$(OBJEXT) +test_u8_vsnprintf1_OBJECTS = $(am_test_u8_vsnprintf1_OBJECTS) +test_u8_vsnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_vsprintf1_OBJECTS = unistdio/test-u8-vsprintf1.$(OBJEXT) +test_u8_vsprintf1_OBJECTS = $(am_test_u8_vsprintf1_OBJECTS) +test_u8_vsprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_u8_width_OBJECTS = uniwidth/test-u8-width.$(OBJEXT) +test_u8_width_OBJECTS = $(am_test_u8_width_OBJECTS) +test_u8_width_LDADD = $(LDADD) +test_u8_width_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_u8_width_linebreaks_OBJECTS = \ + unilbrk/test-u8-width-linebreaks.$(OBJEXT) +test_u8_width_linebreaks_OBJECTS = \ + $(am_test_u8_width_linebreaks_OBJECTS) +test_u8_width_linebreaks_LDADD = $(LDADD) +test_u8_width_linebreaks_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +am_test_u8_wordbreaks_OBJECTS = uniwbrk/test-u8-wordbreaks.$(OBJEXT) +test_u8_wordbreaks_OBJECTS = $(am_test_u8_wordbreaks_OBJECTS) +test_u8_wordbreaks_LDADD = $(LDADD) +test_u8_wordbreaks_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_uc_tolower_OBJECTS = unicase/test-uc_tolower.$(OBJEXT) +test_uc_tolower_OBJECTS = $(am_test_uc_tolower_OBJECTS) +test_uc_tolower_LDADD = $(LDADD) +test_uc_tolower_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_uc_totitle_OBJECTS = unicase/test-uc_totitle.$(OBJEXT) +test_uc_totitle_OBJECTS = $(am_test_uc_totitle_OBJECTS) +test_uc_totitle_LDADD = $(LDADD) +test_uc_totitle_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_uc_toupper_OBJECTS = unicase/test-uc_toupper.$(OBJEXT) +test_uc_toupper_OBJECTS = $(am_test_uc_toupper_OBJECTS) +test_uc_toupper_LDADD = $(LDADD) +test_uc_toupper_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_uc_width_OBJECTS = uniwidth/test-uc_width.$(OBJEXT) +test_uc_width_OBJECTS = $(am_test_uc_width_OBJECTS) +test_uc_width_LDADD = $(LDADD) +test_uc_width_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_uc_width2_OBJECTS = uniwidth/test-uc_width2.$(OBJEXT) +test_uc_width2_OBJECTS = $(am_test_uc_width2_OBJECTS) +test_uc_width2_LDADD = $(LDADD) +test_uc_width2_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +am_test_ulc_asnprintf1_OBJECTS = \ + unistdio/test-ulc-asnprintf1.$(OBJEXT) +test_ulc_asnprintf1_OBJECTS = $(am_test_ulc_asnprintf1_OBJECTS) +test_ulc_asnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ulc_casecmp_OBJECTS = unicase/test-ulc-casecmp.$(OBJEXT) +test_ulc_casecmp_OBJECTS = $(am_test_ulc_casecmp_OBJECTS) +test_ulc_casecmp_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ulc_casecoll_OBJECTS = unicase/test-ulc-casecoll.$(OBJEXT) +test_ulc_casecoll_OBJECTS = $(am_test_ulc_casecoll_OBJECTS) +test_ulc_casecoll_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ulc_possible_linebreaks_OBJECTS = \ + unilbrk/test-ulc-possible-linebreaks.$(OBJEXT) +test_ulc_possible_linebreaks_OBJECTS = \ + $(am_test_ulc_possible_linebreaks_OBJECTS) +test_ulc_possible_linebreaks_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ulc_vasnprintf1_OBJECTS = \ + unistdio/test-ulc-vasnprintf1.$(OBJEXT) +test_ulc_vasnprintf1_OBJECTS = $(am_test_ulc_vasnprintf1_OBJECTS) +test_ulc_vasnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ulc_vasnprintf2_OBJECTS = \ + unistdio/test-ulc-vasnprintf2.$(OBJEXT) +test_ulc_vasnprintf2_OBJECTS = $(am_test_ulc_vasnprintf2_OBJECTS) +test_ulc_vasnprintf2_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ulc_vasnprintf3_OBJECTS = \ + unistdio/test-ulc-vasnprintf3.$(OBJEXT) +test_ulc_vasnprintf3_OBJECTS = $(am_test_ulc_vasnprintf3_OBJECTS) +test_ulc_vasnprintf3_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ulc_vasprintf1_OBJECTS = \ + unistdio/test-ulc-vasprintf1.$(OBJEXT) +test_ulc_vasprintf1_OBJECTS = $(am_test_ulc_vasprintf1_OBJECTS) +test_ulc_vasprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ulc_vsnprintf1_OBJECTS = \ + unistdio/test-ulc-vsnprintf1.$(OBJEXT) +test_ulc_vsnprintf1_OBJECTS = $(am_test_ulc_vsnprintf1_OBJECTS) +test_ulc_vsnprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ulc_vsprintf1_OBJECTS = unistdio/test-ulc-vsprintf1.$(OBJEXT) +test_ulc_vsprintf1_OBJECTS = $(am_test_ulc_vsprintf1_OBJECTS) +test_ulc_vsprintf1_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ulc_width_linebreaks_OBJECTS = \ + unilbrk/test-ulc-width-linebreaks.$(OBJEXT) +test_ulc_width_linebreaks_OBJECTS = \ + $(am_test_ulc_width_linebreaks_OBJECTS) +test_ulc_width_linebreaks_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_ulc_wordbreaks_OBJECTS = \ + uniwbrk/test-ulc-wordbreaks.$(OBJEXT) +test_ulc_wordbreaks_OBJECTS = $(am_test_ulc_wordbreaks_OBJECTS) +test_ulc_wordbreaks_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_uninames_OBJECTS = uniname/test-uninames.$(OBJEXT) +test_uninames_OBJECTS = $(am_test_uninames_OBJECTS) +test_uninames_DEPENDENCIES = $(am__DEPENDENCIES_2) +am_test_uninorm_filter_nfc_OBJECTS = \ + uninorm/test-uninorm-filter-nfc.$(OBJEXT) +test_uninorm_filter_nfc_OBJECTS = \ + $(am_test_uninorm_filter_nfc_OBJECTS) +test_uninorm_filter_nfc_LDADD = $(LDADD) +test_uninorm_filter_nfc_DEPENDENCIES = libtests.a \ + ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1) +test_unistd_SOURCES = test-unistd.c +test_unistd_OBJECTS = test-unistd.$(OBJEXT) +test_unistd_LDADD = $(LDADD) +test_unistd_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_wchar_SOURCES = test-wchar.c +test_wchar_OBJECTS = test-wchar.$(OBJEXT) +test_wchar_LDADD = $(LDADD) +test_wchar_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \ + $(am__DEPENDENCIES_1) +test_wctype_SOURCES = test-wctype.c +test_wctype_OBJECTS = test-wctype.$(OBJEXT) +test_wctype_LDADD = $(LDADD) +test_wctype_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +test_wcwidth_SOURCES = test-wcwidth.c +test_wcwidth_OBJECTS = test-wcwidth.$(OBJEXT) +test_wcwidth_LDADD = $(LDADD) +test_wcwidth_DEPENDENCIES = libtests.a ../lib/libunistring.la \ + libtests.a $(am__DEPENDENCIES_1) +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_$(V)) +am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +am__v_CC_0 = @echo " CC " $@; +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_$(V)) +am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CCLD_0 = @echo " CCLD " $@; +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \ + test-alloca-opt.c test-array-mergesort.c \ + $(test_bidi_byname_SOURCES) $(test_bidi_name_SOURCES) \ + $(test_bidi_of_SOURCES) $(test_bidi_test_SOURCES) \ + $(test_block_list_SOURCES) $(test_block_of_SOURCES) \ + $(test_block_test_SOURCES) test-c-ctype.c test-c-strcasecmp.c \ + test-c-strncasecmp.c $(test_canonical_decomposition_SOURCES) \ + $(test_cased_SOURCES) $(test_categ_C_SOURCES) \ + $(test_categ_Cc_SOURCES) $(test_categ_Cf_SOURCES) \ + $(test_categ_Cn_SOURCES) $(test_categ_Co_SOURCES) \ + $(test_categ_Cs_SOURCES) $(test_categ_L_SOURCES) \ + $(test_categ_Ll_SOURCES) $(test_categ_Lm_SOURCES) \ + $(test_categ_Lo_SOURCES) $(test_categ_Lt_SOURCES) \ + $(test_categ_Lu_SOURCES) $(test_categ_M_SOURCES) \ + $(test_categ_Mc_SOURCES) $(test_categ_Me_SOURCES) \ + $(test_categ_Mn_SOURCES) $(test_categ_N_SOURCES) \ + $(test_categ_Nd_SOURCES) $(test_categ_Nl_SOURCES) \ + $(test_categ_No_SOURCES) $(test_categ_P_SOURCES) \ + $(test_categ_Pc_SOURCES) $(test_categ_Pd_SOURCES) \ + $(test_categ_Pe_SOURCES) $(test_categ_Pf_SOURCES) \ + $(test_categ_Pi_SOURCES) $(test_categ_Po_SOURCES) \ + $(test_categ_Ps_SOURCES) $(test_categ_S_SOURCES) \ + $(test_categ_Sc_SOURCES) $(test_categ_Sk_SOURCES) \ + $(test_categ_Sm_SOURCES) $(test_categ_So_SOURCES) \ + $(test_categ_Z_SOURCES) $(test_categ_Zl_SOURCES) \ + $(test_categ_Zp_SOURCES) $(test_categ_Zs_SOURCES) \ + $(test_categ_and_SOURCES) $(test_categ_and_not_SOURCES) \ + $(test_categ_byname_SOURCES) $(test_categ_name_SOURCES) \ + $(test_categ_none_SOURCES) $(test_categ_of_SOURCES) \ + $(test_categ_or_SOURCES) $(test_categ_test_withtable_SOURCES) \ + $(test_combining_SOURCES) $(test_compat_decomposition_SOURCES) \ + $(test_composition_SOURCES) $(test_ctype_alnum_SOURCES) \ + $(test_ctype_alpha_SOURCES) $(test_ctype_blank_SOURCES) \ + $(test_ctype_cntrl_SOURCES) $(test_ctype_digit_SOURCES) \ + $(test_ctype_graph_SOURCES) $(test_ctype_lower_SOURCES) \ + $(test_ctype_print_SOURCES) $(test_ctype_punct_SOURCES) \ + $(test_ctype_space_SOURCES) $(test_ctype_upper_SOURCES) \ + $(test_ctype_xdigit_SOURCES) $(test_decdigit_SOURCES) \ + $(test_decomposing_form_SOURCES) $(test_decomposition_SOURCES) \ + $(test_digit_SOURCES) test-environ.c test-errno.c \ + $(test_frexpl_nolibm_SOURCES) test-fseterr.c test-iconv.c \ + $(test_ignorable_SOURCES) test-isnand-nolibm.c \ + test-isnanf-nolibm.c test-isnanl-nolibm.c test-locale.c \ + $(test_locale_language_SOURCES) test-localename.c \ + test-malloca.c test-math.c test-mbrtowc.c test-mbsinit.c \ + test-memchr.c $(test_mirror_SOURCES) $(test_nfc_SOURCES) \ + $(test_nfd_SOURCES) $(test_nfkc_SOURCES) $(test_nfkd_SOURCES) \ + $(test_numeric_SOURCES) $(test_pr_alphabetic_SOURCES) \ + $(test_pr_ascii_hex_digit_SOURCES) \ + $(test_pr_bidi_arabic_digit_SOURCES) \ + $(test_pr_bidi_arabic_right_to_left_SOURCES) \ + $(test_pr_bidi_block_separator_SOURCES) \ + $(test_pr_bidi_boundary_neutral_SOURCES) \ + $(test_pr_bidi_common_separator_SOURCES) \ + $(test_pr_bidi_control_SOURCES) \ + $(test_pr_bidi_embedding_or_override_SOURCES) \ + $(test_pr_bidi_eur_num_separator_SOURCES) \ + $(test_pr_bidi_eur_num_terminator_SOURCES) \ + $(test_pr_bidi_european_digit_SOURCES) \ + $(test_pr_bidi_hebrew_right_to_left_SOURCES) \ + $(test_pr_bidi_left_to_right_SOURCES) \ + $(test_pr_bidi_non_spacing_mark_SOURCES) \ + $(test_pr_bidi_other_neutral_SOURCES) \ + $(test_pr_bidi_pdf_SOURCES) \ + $(test_pr_bidi_segment_separator_SOURCES) \ + $(test_pr_bidi_whitespace_SOURCES) $(test_pr_byname_SOURCES) \ + $(test_pr_combining_SOURCES) $(test_pr_composite_SOURCES) \ + $(test_pr_currency_symbol_SOURCES) $(test_pr_dash_SOURCES) \ + $(test_pr_decimal_digit_SOURCES) \ + $(test_pr_default_ignorable_code_point_SOURCES) \ + $(test_pr_deprecated_SOURCES) $(test_pr_diacritic_SOURCES) \ + $(test_pr_extender_SOURCES) $(test_pr_format_control_SOURCES) \ + $(test_pr_grapheme_base_SOURCES) \ + $(test_pr_grapheme_extend_SOURCES) \ + $(test_pr_grapheme_link_SOURCES) $(test_pr_hex_digit_SOURCES) \ + $(test_pr_hyphen_SOURCES) $(test_pr_id_continue_SOURCES) \ + $(test_pr_id_start_SOURCES) $(test_pr_ideographic_SOURCES) \ + $(test_pr_ids_binary_operator_SOURCES) \ + $(test_pr_ids_trinary_operator_SOURCES) \ + $(test_pr_ignorable_control_SOURCES) \ + $(test_pr_iso_control_SOURCES) $(test_pr_join_control_SOURCES) \ + $(test_pr_left_of_pair_SOURCES) \ + $(test_pr_line_separator_SOURCES) \ + $(test_pr_logical_order_exception_SOURCES) \ + $(test_pr_lowercase_SOURCES) $(test_pr_math_SOURCES) \ + $(test_pr_non_break_SOURCES) \ + $(test_pr_not_a_character_SOURCES) $(test_pr_numeric_SOURCES) \ + $(test_pr_other_alphabetic_SOURCES) \ + $(test_pr_other_default_ignorable_code_point_SOURCES) \ + $(test_pr_other_grapheme_extend_SOURCES) \ + $(test_pr_other_id_continue_SOURCES) \ + $(test_pr_other_id_start_SOURCES) \ + $(test_pr_other_lowercase_SOURCES) \ + $(test_pr_other_math_SOURCES) \ + $(test_pr_other_uppercase_SOURCES) \ + $(test_pr_paired_punctuation_SOURCES) \ + $(test_pr_paragraph_separator_SOURCES) \ + $(test_pr_pattern_syntax_SOURCES) \ + $(test_pr_pattern_white_space_SOURCES) \ + $(test_pr_private_use_SOURCES) $(test_pr_punctuation_SOURCES) \ + $(test_pr_quotation_mark_SOURCES) $(test_pr_radical_SOURCES) \ + $(test_pr_sentence_terminal_SOURCES) \ + $(test_pr_soft_dotted_SOURCES) $(test_pr_space_SOURCES) \ + $(test_pr_terminal_punctuation_SOURCES) \ + $(test_pr_test_SOURCES) $(test_pr_titlecase_SOURCES) \ + $(test_pr_unassigned_code_value_SOURCES) \ + $(test_pr_unified_ideograph_SOURCES) \ + $(test_pr_uppercase_SOURCES) \ + $(test_pr_variation_selector_SOURCES) \ + $(test_pr_white_space_SOURCES) $(test_pr_xid_continue_SOURCES) \ + $(test_pr_xid_start_SOURCES) $(test_pr_zero_width_SOURCES) \ + test-printf-frexp.c test-printf-frexpl.c \ + $(test_scripts_SOURCES) test-signbit.c test-stdbool.c \ + test-stdint.c test-stdlib.c test-strerror.c test-striconveh.c \ + test-striconveha.c test-string.c $(test_sy_c_ident_SOURCES) \ + $(test_sy_c_whitespace_SOURCES) $(test_sy_java_ident_SOURCES) \ + $(test_sy_java_whitespace_SOURCES) \ + $(test_u16_asnprintf1_SOURCES) $(test_u16_casecmp_SOURCES) \ + $(test_u16_casecoll_SOURCES) $(test_u16_casefold_SOURCES) \ + $(test_u16_conv_from_enc_SOURCES) \ + $(test_u16_conv_to_enc_SOURCES) $(test_u16_is_cased_SOURCES) \ + $(test_u16_is_casefolded_SOURCES) \ + $(test_u16_is_lowercase_SOURCES) \ + $(test_u16_is_titlecase_SOURCES) \ + $(test_u16_is_uppercase_SOURCES) $(test_u16_normcmp_SOURCES) \ + $(test_u16_normcoll_SOURCES) \ + $(test_u16_possible_linebreaks_SOURCES) \ + $(test_u16_strconv_from_enc_SOURCES) \ + $(test_u16_strconv_to_enc_SOURCES) \ + $(test_u16_strwidth_SOURCES) $(test_u16_tolower_SOURCES) \ + $(test_u16_totitle_SOURCES) $(test_u16_toupper_SOURCES) \ + $(test_u16_vasnprintf1_SOURCES) \ + $(test_u16_vasnprintf2_SOURCES) \ + $(test_u16_vasnprintf3_SOURCES) $(test_u16_vasprintf1_SOURCES) \ + $(test_u16_vsnprintf1_SOURCES) $(test_u16_vsprintf1_SOURCES) \ + $(test_u16_width_SOURCES) $(test_u16_width_linebreaks_SOURCES) \ + $(test_u16_wordbreaks_SOURCES) $(test_u32_asnprintf1_SOURCES) \ + $(test_u32_casecmp_SOURCES) $(test_u32_casecoll_SOURCES) \ + $(test_u32_casefold_SOURCES) $(test_u32_conv_from_enc_SOURCES) \ + $(test_u32_conv_to_enc_SOURCES) $(test_u32_is_cased_SOURCES) \ + $(test_u32_is_casefolded_SOURCES) \ + $(test_u32_is_lowercase_SOURCES) \ + $(test_u32_is_titlecase_SOURCES) \ + $(test_u32_is_uppercase_SOURCES) $(test_u32_nfc_big_SOURCES) \ + $(test_u32_nfd_big_SOURCES) $(test_u32_nfkc_big_SOURCES) \ + $(test_u32_nfkd_big_SOURCES) $(test_u32_normcmp_SOURCES) \ + $(test_u32_normcoll_SOURCES) \ + $(test_u32_possible_linebreaks_SOURCES) \ + $(test_u32_strconv_from_enc_SOURCES) \ + $(test_u32_strconv_to_enc_SOURCES) \ + $(test_u32_strwidth_SOURCES) $(test_u32_tolower_SOURCES) \ + $(test_u32_totitle_SOURCES) $(test_u32_toupper_SOURCES) \ + $(test_u32_vasnprintf1_SOURCES) \ + $(test_u32_vasnprintf2_SOURCES) \ + $(test_u32_vasnprintf3_SOURCES) $(test_u32_vasprintf1_SOURCES) \ + $(test_u32_vsnprintf1_SOURCES) $(test_u32_vsprintf1_SOURCES) \ + $(test_u32_width_SOURCES) $(test_u32_width_linebreaks_SOURCES) \ + $(test_u32_wordbreaks_SOURCES) $(test_u8_asnprintf1_SOURCES) \ + $(test_u8_casecmp_SOURCES) $(test_u8_casecoll_SOURCES) \ + $(test_u8_casefold_SOURCES) $(test_u8_conv_from_enc_SOURCES) \ + $(test_u8_conv_to_enc_SOURCES) $(test_u8_is_cased_SOURCES) \ + $(test_u8_is_casefolded_SOURCES) \ + $(test_u8_is_lowercase_SOURCES) \ + $(test_u8_is_titlecase_SOURCES) \ + $(test_u8_is_uppercase_SOURCES) $(test_u8_normcmp_SOURCES) \ + $(test_u8_normcoll_SOURCES) \ + $(test_u8_possible_linebreaks_SOURCES) \ + $(test_u8_strconv_from_enc_SOURCES) \ + $(test_u8_strconv_to_enc_SOURCES) $(test_u8_strwidth_SOURCES) \ + $(test_u8_tolower_SOURCES) $(test_u8_totitle_SOURCES) \ + $(test_u8_toupper_SOURCES) $(test_u8_vasnprintf1_SOURCES) \ + $(test_u8_vasnprintf2_SOURCES) $(test_u8_vasnprintf3_SOURCES) \ + $(test_u8_vasprintf1_SOURCES) $(test_u8_vsnprintf1_SOURCES) \ + $(test_u8_vsprintf1_SOURCES) $(test_u8_width_SOURCES) \ + $(test_u8_width_linebreaks_SOURCES) \ + $(test_u8_wordbreaks_SOURCES) $(test_uc_tolower_SOURCES) \ + $(test_uc_totitle_SOURCES) $(test_uc_toupper_SOURCES) \ + $(test_uc_width_SOURCES) $(test_uc_width2_SOURCES) \ + $(test_ulc_asnprintf1_SOURCES) $(test_ulc_casecmp_SOURCES) \ + $(test_ulc_casecoll_SOURCES) \ + $(test_ulc_possible_linebreaks_SOURCES) \ + $(test_ulc_vasnprintf1_SOURCES) \ + $(test_ulc_vasnprintf2_SOURCES) \ + $(test_ulc_vasnprintf3_SOURCES) $(test_ulc_vasprintf1_SOURCES) \ + $(test_ulc_vsnprintf1_SOURCES) $(test_ulc_vsprintf1_SOURCES) \ + $(test_ulc_width_linebreaks_SOURCES) \ + $(test_ulc_wordbreaks_SOURCES) $(test_uninames_SOURCES) \ + $(test_uninorm_filter_nfc_SOURCES) test-unistd.c test-wchar.c \ + test-wctype.c test-wcwidth.c +DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \ + test-alloca-opt.c test-array-mergesort.c \ + $(test_bidi_byname_SOURCES) $(test_bidi_name_SOURCES) \ + $(test_bidi_of_SOURCES) $(test_bidi_test_SOURCES) \ + $(test_block_list_SOURCES) $(test_block_of_SOURCES) \ + $(test_block_test_SOURCES) test-c-ctype.c test-c-strcasecmp.c \ + test-c-strncasecmp.c $(test_canonical_decomposition_SOURCES) \ + $(test_cased_SOURCES) $(test_categ_C_SOURCES) \ + $(test_categ_Cc_SOURCES) $(test_categ_Cf_SOURCES) \ + $(test_categ_Cn_SOURCES) $(test_categ_Co_SOURCES) \ + $(test_categ_Cs_SOURCES) $(test_categ_L_SOURCES) \ + $(test_categ_Ll_SOURCES) $(test_categ_Lm_SOURCES) \ + $(test_categ_Lo_SOURCES) $(test_categ_Lt_SOURCES) \ + $(test_categ_Lu_SOURCES) $(test_categ_M_SOURCES) \ + $(test_categ_Mc_SOURCES) $(test_categ_Me_SOURCES) \ + $(test_categ_Mn_SOURCES) $(test_categ_N_SOURCES) \ + $(test_categ_Nd_SOURCES) $(test_categ_Nl_SOURCES) \ + $(test_categ_No_SOURCES) $(test_categ_P_SOURCES) \ + $(test_categ_Pc_SOURCES) $(test_categ_Pd_SOURCES) \ + $(test_categ_Pe_SOURCES) $(test_categ_Pf_SOURCES) \ + $(test_categ_Pi_SOURCES) $(test_categ_Po_SOURCES) \ + $(test_categ_Ps_SOURCES) $(test_categ_S_SOURCES) \ + $(test_categ_Sc_SOURCES) $(test_categ_Sk_SOURCES) \ + $(test_categ_Sm_SOURCES) $(test_categ_So_SOURCES) \ + $(test_categ_Z_SOURCES) $(test_categ_Zl_SOURCES) \ + $(test_categ_Zp_SOURCES) $(test_categ_Zs_SOURCES) \ + $(test_categ_and_SOURCES) $(test_categ_and_not_SOURCES) \ + $(test_categ_byname_SOURCES) $(test_categ_name_SOURCES) \ + $(am__test_categ_none_SOURCES_DIST) $(test_categ_of_SOURCES) \ + $(test_categ_or_SOURCES) $(test_categ_test_withtable_SOURCES) \ + $(test_combining_SOURCES) $(test_compat_decomposition_SOURCES) \ + $(test_composition_SOURCES) $(test_ctype_alnum_SOURCES) \ + $(test_ctype_alpha_SOURCES) $(test_ctype_blank_SOURCES) \ + $(test_ctype_cntrl_SOURCES) $(test_ctype_digit_SOURCES) \ + $(test_ctype_graph_SOURCES) $(test_ctype_lower_SOURCES) \ + $(test_ctype_print_SOURCES) $(test_ctype_punct_SOURCES) \ + $(test_ctype_space_SOURCES) $(test_ctype_upper_SOURCES) \ + $(test_ctype_xdigit_SOURCES) $(test_decdigit_SOURCES) \ + $(test_decomposing_form_SOURCES) $(test_decomposition_SOURCES) \ + $(test_digit_SOURCES) test-environ.c test-errno.c \ + $(test_frexpl_nolibm_SOURCES) test-fseterr.c test-iconv.c \ + $(test_ignorable_SOURCES) test-isnand-nolibm.c \ + test-isnanf-nolibm.c test-isnanl-nolibm.c test-locale.c \ + $(test_locale_language_SOURCES) test-localename.c \ + test-malloca.c test-math.c test-mbrtowc.c test-mbsinit.c \ + test-memchr.c $(test_mirror_SOURCES) $(test_nfc_SOURCES) \ + $(test_nfd_SOURCES) $(test_nfkc_SOURCES) $(test_nfkd_SOURCES) \ + $(test_numeric_SOURCES) $(test_pr_alphabetic_SOURCES) \ + $(test_pr_ascii_hex_digit_SOURCES) \ + $(test_pr_bidi_arabic_digit_SOURCES) \ + $(test_pr_bidi_arabic_right_to_left_SOURCES) \ + $(test_pr_bidi_block_separator_SOURCES) \ + $(test_pr_bidi_boundary_neutral_SOURCES) \ + $(test_pr_bidi_common_separator_SOURCES) \ + $(test_pr_bidi_control_SOURCES) \ + $(test_pr_bidi_embedding_or_override_SOURCES) \ + $(test_pr_bidi_eur_num_separator_SOURCES) \ + $(test_pr_bidi_eur_num_terminator_SOURCES) \ + $(test_pr_bidi_european_digit_SOURCES) \ + $(test_pr_bidi_hebrew_right_to_left_SOURCES) \ + $(test_pr_bidi_left_to_right_SOURCES) \ + $(test_pr_bidi_non_spacing_mark_SOURCES) \ + $(test_pr_bidi_other_neutral_SOURCES) \ + $(test_pr_bidi_pdf_SOURCES) \ + $(test_pr_bidi_segment_separator_SOURCES) \ + $(test_pr_bidi_whitespace_SOURCES) $(test_pr_byname_SOURCES) \ + $(test_pr_combining_SOURCES) $(test_pr_composite_SOURCES) \ + $(test_pr_currency_symbol_SOURCES) $(test_pr_dash_SOURCES) \ + $(test_pr_decimal_digit_SOURCES) \ + $(test_pr_default_ignorable_code_point_SOURCES) \ + $(test_pr_deprecated_SOURCES) $(test_pr_diacritic_SOURCES) \ + $(test_pr_extender_SOURCES) $(test_pr_format_control_SOURCES) \ + $(test_pr_grapheme_base_SOURCES) \ + $(test_pr_grapheme_extend_SOURCES) \ + $(test_pr_grapheme_link_SOURCES) $(test_pr_hex_digit_SOURCES) \ + $(test_pr_hyphen_SOURCES) $(test_pr_id_continue_SOURCES) \ + $(test_pr_id_start_SOURCES) $(test_pr_ideographic_SOURCES) \ + $(test_pr_ids_binary_operator_SOURCES) \ + $(test_pr_ids_trinary_operator_SOURCES) \ + $(test_pr_ignorable_control_SOURCES) \ + $(test_pr_iso_control_SOURCES) $(test_pr_join_control_SOURCES) \ + $(test_pr_left_of_pair_SOURCES) \ + $(test_pr_line_separator_SOURCES) \ + $(test_pr_logical_order_exception_SOURCES) \ + $(test_pr_lowercase_SOURCES) $(test_pr_math_SOURCES) \ + $(test_pr_non_break_SOURCES) \ + $(test_pr_not_a_character_SOURCES) $(test_pr_numeric_SOURCES) \ + $(test_pr_other_alphabetic_SOURCES) \ + $(test_pr_other_default_ignorable_code_point_SOURCES) \ + $(test_pr_other_grapheme_extend_SOURCES) \ + $(test_pr_other_id_continue_SOURCES) \ + $(test_pr_other_id_start_SOURCES) \ + $(test_pr_other_lowercase_SOURCES) \ + $(test_pr_other_math_SOURCES) \ + $(test_pr_other_uppercase_SOURCES) \ + $(test_pr_paired_punctuation_SOURCES) \ + $(test_pr_paragraph_separator_SOURCES) \ + $(test_pr_pattern_syntax_SOURCES) \ + $(test_pr_pattern_white_space_SOURCES) \ + $(test_pr_private_use_SOURCES) $(test_pr_punctuation_SOURCES) \ + $(test_pr_quotation_mark_SOURCES) $(test_pr_radical_SOURCES) \ + $(test_pr_sentence_terminal_SOURCES) \ + $(test_pr_soft_dotted_SOURCES) $(test_pr_space_SOURCES) \ + $(test_pr_terminal_punctuation_SOURCES) \ + $(test_pr_test_SOURCES) $(test_pr_titlecase_SOURCES) \ + $(test_pr_unassigned_code_value_SOURCES) \ + $(test_pr_unified_ideograph_SOURCES) \ + $(test_pr_uppercase_SOURCES) \ + $(test_pr_variation_selector_SOURCES) \ + $(test_pr_white_space_SOURCES) $(test_pr_xid_continue_SOURCES) \ + $(test_pr_xid_start_SOURCES) $(test_pr_zero_width_SOURCES) \ + test-printf-frexp.c test-printf-frexpl.c \ + $(test_scripts_SOURCES) test-signbit.c test-stdbool.c \ + test-stdint.c test-stdlib.c test-strerror.c test-striconveh.c \ + test-striconveha.c test-string.c $(test_sy_c_ident_SOURCES) \ + $(test_sy_c_whitespace_SOURCES) $(test_sy_java_ident_SOURCES) \ + $(test_sy_java_whitespace_SOURCES) \ + $(test_u16_asnprintf1_SOURCES) $(test_u16_casecmp_SOURCES) \ + $(test_u16_casecoll_SOURCES) $(test_u16_casefold_SOURCES) \ + $(test_u16_conv_from_enc_SOURCES) \ + $(test_u16_conv_to_enc_SOURCES) $(test_u16_is_cased_SOURCES) \ + $(test_u16_is_casefolded_SOURCES) \ + $(test_u16_is_lowercase_SOURCES) \ + $(test_u16_is_titlecase_SOURCES) \ + $(test_u16_is_uppercase_SOURCES) $(test_u16_normcmp_SOURCES) \ + $(test_u16_normcoll_SOURCES) \ + $(test_u16_possible_linebreaks_SOURCES) \ + $(test_u16_strconv_from_enc_SOURCES) \ + $(test_u16_strconv_to_enc_SOURCES) \ + $(test_u16_strwidth_SOURCES) $(test_u16_tolower_SOURCES) \ + $(test_u16_totitle_SOURCES) $(test_u16_toupper_SOURCES) \ + $(test_u16_vasnprintf1_SOURCES) \ + $(test_u16_vasnprintf2_SOURCES) \ + $(test_u16_vasnprintf3_SOURCES) $(test_u16_vasprintf1_SOURCES) \ + $(test_u16_vsnprintf1_SOURCES) $(test_u16_vsprintf1_SOURCES) \ + $(test_u16_width_SOURCES) $(test_u16_width_linebreaks_SOURCES) \ + $(test_u16_wordbreaks_SOURCES) $(test_u32_asnprintf1_SOURCES) \ + $(test_u32_casecmp_SOURCES) $(test_u32_casecoll_SOURCES) \ + $(test_u32_casefold_SOURCES) $(test_u32_conv_from_enc_SOURCES) \ + $(test_u32_conv_to_enc_SOURCES) $(test_u32_is_cased_SOURCES) \ + $(test_u32_is_casefolded_SOURCES) \ + $(test_u32_is_lowercase_SOURCES) \ + $(test_u32_is_titlecase_SOURCES) \ + $(test_u32_is_uppercase_SOURCES) $(test_u32_nfc_big_SOURCES) \ + $(test_u32_nfd_big_SOURCES) $(test_u32_nfkc_big_SOURCES) \ + $(test_u32_nfkd_big_SOURCES) $(test_u32_normcmp_SOURCES) \ + $(test_u32_normcoll_SOURCES) \ + $(test_u32_possible_linebreaks_SOURCES) \ + $(test_u32_strconv_from_enc_SOURCES) \ + $(test_u32_strconv_to_enc_SOURCES) \ + $(test_u32_strwidth_SOURCES) $(test_u32_tolower_SOURCES) \ + $(test_u32_totitle_SOURCES) $(test_u32_toupper_SOURCES) \ + $(test_u32_vasnprintf1_SOURCES) \ + $(test_u32_vasnprintf2_SOURCES) \ + $(test_u32_vasnprintf3_SOURCES) $(test_u32_vasprintf1_SOURCES) \ + $(test_u32_vsnprintf1_SOURCES) $(test_u32_vsprintf1_SOURCES) \ + $(test_u32_width_SOURCES) $(test_u32_width_linebreaks_SOURCES) \ + $(test_u32_wordbreaks_SOURCES) $(test_u8_asnprintf1_SOURCES) \ + $(test_u8_casecmp_SOURCES) $(test_u8_casecoll_SOURCES) \ + $(test_u8_casefold_SOURCES) $(test_u8_conv_from_enc_SOURCES) \ + $(test_u8_conv_to_enc_SOURCES) $(test_u8_is_cased_SOURCES) \ + $(test_u8_is_casefolded_SOURCES) \ + $(test_u8_is_lowercase_SOURCES) \ + $(test_u8_is_titlecase_SOURCES) \ + $(test_u8_is_uppercase_SOURCES) $(test_u8_normcmp_SOURCES) \ + $(test_u8_normcoll_SOURCES) \ + $(test_u8_possible_linebreaks_SOURCES) \ + $(test_u8_strconv_from_enc_SOURCES) \ + $(test_u8_strconv_to_enc_SOURCES) $(test_u8_strwidth_SOURCES) \ + $(test_u8_tolower_SOURCES) $(test_u8_totitle_SOURCES) \ + $(test_u8_toupper_SOURCES) $(test_u8_vasnprintf1_SOURCES) \ + $(test_u8_vasnprintf2_SOURCES) $(test_u8_vasnprintf3_SOURCES) \ + $(test_u8_vasprintf1_SOURCES) $(test_u8_vsnprintf1_SOURCES) \ + $(test_u8_vsprintf1_SOURCES) $(test_u8_width_SOURCES) \ + $(test_u8_width_linebreaks_SOURCES) \ + $(test_u8_wordbreaks_SOURCES) $(test_uc_tolower_SOURCES) \ + $(test_uc_totitle_SOURCES) $(test_uc_toupper_SOURCES) \ + $(test_uc_width_SOURCES) $(test_uc_width2_SOURCES) \ + $(test_ulc_asnprintf1_SOURCES) $(test_ulc_casecmp_SOURCES) \ + $(test_ulc_casecoll_SOURCES) \ + $(test_ulc_possible_linebreaks_SOURCES) \ + $(test_ulc_vasnprintf1_SOURCES) \ + $(test_ulc_vasnprintf2_SOURCES) \ + $(test_ulc_vasnprintf3_SOURCES) $(test_ulc_vasprintf1_SOURCES) \ + $(test_ulc_vsnprintf1_SOURCES) $(test_ulc_vsprintf1_SOURCES) \ + $(test_ulc_width_linebreaks_SOURCES) \ + $(test_ulc_wordbreaks_SOURCES) $(test_uninames_SOURCES) \ + $(test_uninorm_filter_nfc_SOURCES) test-unistd.c test-wchar.c \ + test-wctype.c test-wcwidth.c +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +HEADERS = $(noinst_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir +ETAGS = etags +CTAGS = ctags +# If stdout is a non-dumb tty, use colors. If test -t is not supported, +# then this fails; a conservative approach. Of course do not redirect +# stdout here, just stderr. +am__tty_colors = \ +red=; grn=; lgn=; blu=; std=; \ +test "X$(AM_COLOR_TESTS)" != Xno \ +&& test "X$$TERM" != Xdumb \ +&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \ +&& { \ + red=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + std=''; \ +} +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +ALLOCA_H = @ALLOCA_H@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DLL_VARIABLE = @DLL_VARIABLE@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +DVIPS = @DVIPS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ +EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ +ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ +ENOLINK_VALUE = @ENOLINK_VALUE@ +EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ +EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ +ERRNO_H = @ERRNO_H@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FLOAT_H = @FLOAT_H@ +GLIBC21 = @GLIBC21@ +GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@ +GNULIB_ATOLL = @GNULIB_ATOLL@ +GNULIB_BTOWC = @GNULIB_BTOWC@ +GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ +GNULIB_CEILF = @GNULIB_CEILF@ +GNULIB_CEILL = @GNULIB_CEILL@ +GNULIB_CHOWN = @GNULIB_CHOWN@ +GNULIB_CLOSE = @GNULIB_CLOSE@ +GNULIB_DUP2 = @GNULIB_DUP2@ +GNULIB_ENVIRON = @GNULIB_ENVIRON@ +GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ +GNULIB_FCHDIR = @GNULIB_FCHDIR@ +GNULIB_FLOORF = @GNULIB_FLOORF@ +GNULIB_FLOORL = @GNULIB_FLOORL@ +GNULIB_FREXP = @GNULIB_FREXP@ +GNULIB_FREXPL = @GNULIB_FREXPL@ +GNULIB_FSYNC = @GNULIB_FSYNC@ +GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ +GNULIB_GETCWD = @GNULIB_GETCWD@ +GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ +GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ +GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ +GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ +GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ +GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ +GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ +GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ +GNULIB_ISFINITE = @GNULIB_ISFINITE@ +GNULIB_ISINF = @GNULIB_ISINF@ +GNULIB_ISNAN = @GNULIB_ISNAN@ +GNULIB_ISNAND = @GNULIB_ISNAND@ +GNULIB_ISNANF = @GNULIB_ISNANF@ +GNULIB_ISNANL = @GNULIB_ISNANL@ +GNULIB_LCHOWN = @GNULIB_LCHOWN@ +GNULIB_LDEXPL = @GNULIB_LDEXPL@ +GNULIB_LINK = @GNULIB_LINK@ +GNULIB_LSEEK = @GNULIB_LSEEK@ +GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ +GNULIB_MATHL = @GNULIB_MATHL@ +GNULIB_MBRLEN = @GNULIB_MBRLEN@ +GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ +GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ +GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ +GNULIB_MBSCHR = @GNULIB_MBSCHR@ +GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ +GNULIB_MBSINIT = @GNULIB_MBSINIT@ +GNULIB_MBSLEN = @GNULIB_MBSLEN@ +GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ +GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ +GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ +GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ +GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ +GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ +GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ +GNULIB_MBSSEP = @GNULIB_MBSSEP@ +GNULIB_MBSSPN = @GNULIB_MBSSPN@ +GNULIB_MBSSTR = @GNULIB_MBSSTR@ +GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ +GNULIB_MEMCHR = @GNULIB_MEMCHR@ +GNULIB_MEMMEM = @GNULIB_MEMMEM@ +GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ +GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ +GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ +GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ +GNULIB_PUTENV = @GNULIB_PUTENV@ +GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ +GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READLINK = @GNULIB_READLINK@ +GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ +GNULIB_ROUND = @GNULIB_ROUND@ +GNULIB_ROUNDF = @GNULIB_ROUNDF@ +GNULIB_ROUNDL = @GNULIB_ROUNDL@ +GNULIB_RPMATCH = @GNULIB_RPMATCH@ +GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ +GNULIB_SLEEP = @GNULIB_SLEEP@ +GNULIB_STPCPY = @GNULIB_STPCPY@ +GNULIB_STPNCPY = @GNULIB_STPNCPY@ +GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ +GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ +GNULIB_STRDUP = @GNULIB_STRDUP@ +GNULIB_STRERROR = @GNULIB_STRERROR@ +GNULIB_STRNDUP = @GNULIB_STRNDUP@ +GNULIB_STRNLEN = @GNULIB_STRNLEN@ +GNULIB_STRPBRK = @GNULIB_STRPBRK@ +GNULIB_STRSEP = @GNULIB_STRSEP@ +GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ +GNULIB_STRSTR = @GNULIB_STRSTR@ +GNULIB_STRTOD = @GNULIB_STRTOD@ +GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLL = @GNULIB_STRTOLL@ +GNULIB_STRTOULL = @GNULIB_STRTOULL@ +GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ +GNULIB_TRUNC = @GNULIB_TRUNC@ +GNULIB_TRUNCF = @GNULIB_TRUNCF@ +GNULIB_TRUNCL = @GNULIB_TRUNCL@ +GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ +GNULIB_UNSETENV = @GNULIB_UNSETENV@ +GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ +GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ +GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ +GNULIB_WCTOB = @GNULIB_WCTOB@ +GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ +GNULIB_WRITE = @GNULIB_WRITE@ +GREP = @GREP@ +HAVE_ATOLL = @HAVE_ATOLL@ +HAVE_BTOWC = @HAVE_BTOWC@ +HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ +HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ +HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ +HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ +HAVE_DECL_COSL = @HAVE_DECL_COSL@ +HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ +HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ +HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ +HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ +HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ +HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ +HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ +HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ +HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ +HAVE_DECL_SINL = @HAVE_DECL_SINL@ +HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ +HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ +HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ +HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ +HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ +HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ +HAVE_DECL_TANL = @HAVE_DECL_TANL@ +HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ +HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ +HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ +HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DUP2 = @HAVE_DUP2@ +HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_FSYNC = @HAVE_FSYNC@ +HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ +HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ +HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ +HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ +HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ +HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ +HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@ +HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_ISNAND = @HAVE_ISNAND@ +HAVE_ISNANF = @HAVE_ISNANF@ +HAVE_ISNANL = @HAVE_ISNANL@ +HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ +HAVE_LINK = @HAVE_LINK@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ +HAVE_MBRLEN = @HAVE_MBRLEN@ +HAVE_MBRTOWC = @HAVE_MBRTOWC@ +HAVE_MBSINIT = @HAVE_MBSINIT@ +HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ +HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MKDTEMP = @HAVE_MKDTEMP@ +HAVE_OS_H = @HAVE_OS_H@ +HAVE_RANDOM_H = @HAVE_RANDOM_H@ +HAVE_RANDOM_R = @HAVE_RANDOM_R@ +HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READLINK = @HAVE_READLINK@ +HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ +HAVE_RPMATCH = @HAVE_RPMATCH@ +HAVE_SETENV = @HAVE_SETENV@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SLEEP = @HAVE_SLEEP@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_STPCPY = @HAVE_STPCPY@ +HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASESTR = @HAVE_STRCASESTR@ +HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRNDUP = @HAVE_STRNDUP@ +HAVE_STRPBRK = @HAVE_STRPBRK@ +HAVE_STRSEP = @HAVE_STRSEP@ +HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLL = @HAVE_STRTOLL@ +HAVE_STRTOULL = @HAVE_STRTOULL@ +HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ +HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ +HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNSETENV = @HAVE_UNSETENV@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE_WCRTOMB = @HAVE_WCRTOMB@ +HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ +HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ +HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ +HAVE_WINT_T = @HAVE_WINT_T@ +HAVE__BOOL = @HAVE__BOOL@ +HEXVERSION = @HEXVERSION@ +ICONV_H = @ICONV_H@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ +LOCALE_FR = @LOCALE_FR@ +LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ +LOCALE_H = @LOCALE_H@ +LOCALE_JA = @LOCALE_JA@ +LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ +LOCALE_ZH_CN = @LOCALE_ZH_CN@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NAMESPACING = @NAMESPACING@ +NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ +NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ +NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ +NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ +NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ +NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ +NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ +NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ +NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ +NEXT_ERRNO_H = @NEXT_ERRNO_H@ +NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_ICONV_H = @NEXT_ICONV_H@ +NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_MATH_H = @NEXT_MATH_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRING_H = @NEXT_STRING_H@ +NEXT_UNISTD_H = @NEXT_UNISTD_H@ +NEXT_WCHAR_H = @NEXT_WCHAR_H@ +NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +RANLIB = @RANLIB@ +RC = @RC@ +RELOCATABLE = @RELOCATABLE@ +REPLACE_BTOWC = @REPLACE_BTOWC@ +REPLACE_CEILF = @REPLACE_CEILF@ +REPLACE_CEILL = @REPLACE_CEILL@ +REPLACE_CHOWN = @REPLACE_CHOWN@ +REPLACE_CLOSE = @REPLACE_CLOSE@ +REPLACE_FCHDIR = @REPLACE_FCHDIR@ +REPLACE_FLOORF = @REPLACE_FLOORF@ +REPLACE_FLOORL = @REPLACE_FLOORL@ +REPLACE_FREXP = @REPLACE_FREXP@ +REPLACE_FREXPL = @REPLACE_FREXPL@ +REPLACE_GETCWD = @REPLACE_GETCWD@ +REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ +REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ +REPLACE_ICONV = @REPLACE_ICONV@ +REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ +REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ +REPLACE_ISFINITE = @REPLACE_ISFINITE@ +REPLACE_ISINF = @REPLACE_ISINF@ +REPLACE_ISNAN = @REPLACE_ISNAN@ +REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LDEXPL = @REPLACE_LDEXPL@ +REPLACE_LSEEK = @REPLACE_LSEEK@ +REPLACE_MBRLEN = @REPLACE_MBRLEN@ +REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ +REPLACE_MBSINIT = @REPLACE_MBSINIT@ +REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ +REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ +REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ +REPLACE_MEMCHR = @REPLACE_MEMCHR@ +REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_NAN = @REPLACE_NAN@ +REPLACE_PUTENV = @REPLACE_PUTENV@ +REPLACE_ROUND = @REPLACE_ROUND@ +REPLACE_ROUNDF = @REPLACE_ROUNDF@ +REPLACE_ROUNDL = @REPLACE_ROUNDL@ +REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ +REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ +REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRDUP = @REPLACE_STRDUP@ +REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ +REPLACE_STRSTR = @REPLACE_STRSTR@ +REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_TRUNCL = @REPLACE_TRUNCL@ +REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ +REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ +REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ +REPLACE_WCTOB = @REPLACE_WCTOB@ +REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ +REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDBOOL_H = @STDBOOL_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +TEXI2DVI = @TEXI2DVI@ +UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +VERSION = @VERSION@ +VOID_UNSETENV = @VOID_UNSETENV@ +WCHAR_H = @WCHAR_H@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WCTYPE_H = @WCTYPE_H@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ + +# Rules generated and collected by gnulib-tool. +AUTOMAKE_OPTIONS = 1.5 foreign 1.11 subdir-objects color-tests +SUBDIRS = + +# The test suite uses the 'localcharset' module. + +# This must be the last thing that gets added to TESTS_ENVIRONMENT. +TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' \ + LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' EXEEXT='@EXEEXT@' \ + LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ + LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \ + EXEEXT='@EXEEXT@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ + EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' \ + LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_JA='@LOCALE_JA@' \ + LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' \ + LOCALE_ZH_CN='@LOCALE_ZH_CN@' EXEEXT='@EXEEXT@' \ + LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ + EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' \ + LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' EXEEXT='@EXEEXT@' \ + srcdir='$(srcdir)' EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' \ + LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' EXEEXT='@EXEEXT@' \ + LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ + EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' \ + LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' EXEEXT='@EXEEXT@' \ + LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ + EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' EXEEXT='@EXEEXT@' \ + @LOCALCHARSET_TESTS_ENVIRONMENT@ $(SHELL) \ + $(top_srcdir)/build-aux/run-test '$(CHECKER)' +noinst_HEADERS = +noinst_LIBRARIES = +check_LIBRARIES = libtests.a +EXTRA_DIST = test-alloca-opt.c test-array-mergesort.c test-c-ctype.c \ + test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c \ + test-environ.c test-errno.c error.c error.h exitfail.c \ + exitfail.h test-frexpl.c test-fseterr.c test-iconv.c \ + intprops.h test-isnand-nolibm.c test-isnand.h nan.h \ + test-isnanf-nolibm.c test-isnanf.h nan.h test-isnanl-nolibm.c \ + test-isnanl.h nan.h locale.in.h test-locale.c \ + test-localename.c test-malloca.c test-math.c test-mbrtowc1.sh \ + test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.sh \ + test-mbrtowc.c test-mbsinit.sh test-mbsinit.c test-memchr.c \ + zerosize-ptr.h test-printf-frexp.c test-printf-frexpl.c \ + setenv.c test-signbit.c test-stdbool.c test-stdint.c \ + test-stdlib.c strerror.c test-strerror.c test-striconveh.c \ + test-striconveha.c test-string.c unicase/test-cased.c \ + unicase/test-predicate-part1.h unicase/test-predicate-part2.h \ + unicase/test-ignorable.c unicase/test-predicate-part1.h \ + unicase/test-predicate-part2.h unicase/test-locale-language.sh \ + unicase/test-locale-language.c unicase/test-uc_tolower.c \ + unicase/test-mapping-part1.h unicase/test-mapping-part2.h \ + unicase/test-uc_totitle.c unicase/test-mapping-part1.h \ + unicase/test-mapping-part2.h unicase/test-uc_toupper.c \ + unicase/test-mapping-part1.h unicase/test-mapping-part2.h \ + unicase/test-u16-casecmp.c unicase/test-casecmp.h \ + unicase/test-u16-casecoll.c unicase/test-casecmp.h \ + unicase/test-u16-casefold.c unicase/test-u16-is-cased.c \ + unicase/test-is-cased.h unicase/test-u16-is-casefolded.c \ + unicase/test-is-casefolded.h unicase/test-u16-is-lowercase.c \ + unicase/test-is-lowercase.h unicase/test-u16-is-titlecase.c \ + unicase/test-is-titlecase.h unicase/test-u16-is-uppercase.c \ + unicase/test-is-uppercase.h unicase/test-u16-tolower.c \ + unicase/test-u16-totitle.c unicase/test-u16-toupper.c \ + unicase/test-u32-casecmp.c unicase/test-casecmp.h \ + unicase/test-u32-casecoll.c unicase/test-casecmp.h \ + unicase/test-u32-casefold.c unicase/test-u32-is-cased.c \ + unicase/test-is-cased.h unicase/test-u32-is-casefolded.c \ + unicase/test-is-casefolded.h unicase/test-u32-is-lowercase.c \ + unicase/test-is-lowercase.h unicase/test-u32-is-titlecase.c \ + unicase/test-is-titlecase.h unicase/test-u32-is-uppercase.c \ + unicase/test-is-uppercase.h unicase/test-u32-tolower.c \ + unicase/test-u32-totitle.c unicase/test-u32-toupper.c \ + unicase/test-u8-casecmp.c unicase/test-casecmp.h \ + unicase/test-u8-casecoll.c unicase/test-casecmp.h \ + unicase/test-u8-casefold.c unicase/test-u8-is-cased.c \ + unicase/test-is-cased.h unicase/test-u8-is-casefolded.c \ + unicase/test-is-casefolded.h unicase/test-u8-is-lowercase.c \ + unicase/test-is-lowercase.h unicase/test-u8-is-titlecase.c \ + unicase/test-is-titlecase.h unicase/test-u8-is-uppercase.c \ + unicase/test-is-uppercase.h unicase/test-u8-tolower.c \ + unicase/test-u8-totitle.c unicase/test-u8-toupper.c \ + unicase/test-ulc-casecmp1.sh unicase/test-ulc-casecmp2.sh \ + unicase/test-ulc-casecmp.c unicase/test-casecmp.h \ + unicase/test-ulc-casecoll1.sh unicase/test-ulc-casecoll2.sh \ + unicase/test-ulc-casecoll.c unicase/test-casecmp.h \ + uniconv/test-u16-conv-from-enc.c \ + uniconv/test-u16-conv-to-enc.c \ + uniconv/test-u16-strconv-from-enc.c \ + uniconv/test-u16-strconv-to-enc.c \ + uniconv/test-u32-conv-from-enc.c \ + uniconv/test-u32-conv-to-enc.c \ + uniconv/test-u32-strconv-from-enc.c \ + uniconv/test-u32-strconv-to-enc.c \ + uniconv/test-u8-conv-from-enc.c uniconv/test-u8-conv-to-enc.c \ + uniconv/test-u8-strconv-from-enc.c \ + uniconv/test-u8-strconv-to-enc.c unictype/test-bidi_byname.c \ + unictype/test-bidi_name.c unictype/test-bidi_of.c \ + unictype/test-bidi_test.c unictype/test-block_list.c \ + unictype/test-block_of.c unictype/test-block_test.c \ + unictype/test-categ_C.c unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Cc.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Cf.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Cn.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Co.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Cs.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_L.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Ll.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Lm.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Lo.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Lt.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Lu.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_M.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Mc.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Me.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Mn.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_N.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Nd.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Nl.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_No.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_P.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Pc.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Pd.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Pe.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Pf.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Pi.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Po.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Ps.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_S.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Sc.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Sk.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Sm.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_So.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Z.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Zl.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Zp.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_Zs.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-categ_and_not.c \ + unictype/test-categ_and.c unictype/test-categ_byname.c \ + unictype/test-categ_name.c unictype/test-categ_none.c \ + unictype/test-categ_of.c unictype/test-categ_or.c \ + unictype/test-categ_test_withtable.c unictype/test-combining.c \ + unictype/test-ctype_alnum.c unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-ctype_alpha.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-ctype_blank.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-ctype_cntrl.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-ctype_digit.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-ctype_graph.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-ctype_lower.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-ctype_print.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-ctype_punct.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-ctype_space.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-ctype_upper.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-ctype_xdigit.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-decdigit.c \ + unictype/test-decdigit.h unictype/test-digit.c \ + unictype/test-digit.h unictype/test-mirror.c \ + unictype/test-numeric.c unictype/test-numeric.h \ + unictype/test-pr_alphabetic.c unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_ascii_hex_digit.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_arabic_digit.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_arabic_right_to_left.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_block_separator.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_boundary_neutral.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_common_separator.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_control.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_embedding_or_override.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_eur_num_separator.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_eur_num_terminator.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_european_digit.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_hebrew_right_to_left.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_left_to_right.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_non_spacing_mark.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_other_neutral.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_bidi_pdf.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_segment_separator.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_bidi_whitespace.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_byname.c \ + unictype/test-pr_combining.c unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_composite.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_currency_symbol.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_dash.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_decimal_digit.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_default_ignorable_code_point.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_deprecated.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_diacritic.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_extender.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_format_control.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_grapheme_base.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_grapheme_extend.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_grapheme_link.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_hex_digit.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_hyphen.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_id_continue.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_id_start.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_ideographic.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_ids_binary_operator.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_ids_trinary_operator.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_ignorable_control.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_iso_control.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_join_control.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_left_of_pair.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_line_separator.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_logical_order_exception.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_lowercase.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_math.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_non_break.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_not_a_character.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_numeric.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_other_alphabetic.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_other_default_ignorable_code_point.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_other_grapheme_extend.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_other_id_continue.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_other_id_start.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_other_lowercase.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_other_math.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_other_uppercase.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_paired_punctuation.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_paragraph_separator.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_pattern_syntax.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_pattern_white_space.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_private_use.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_punctuation.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_quotation_mark.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_radical.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_sentence_terminal.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_soft_dotted.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_space.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_terminal_punctuation.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_test.c \ + unictype/test-pr_titlecase.c unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_unassigned_code_value.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_unified_ideograph.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_uppercase.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_variation_selector.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_white_space.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unictype/test-pr_xid_continue.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_xid_start.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-pr_zero_width.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-scripts.c \ + unictype/test-sy_c_ident.c unictype/test-sy_c_whitespace.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h unictype/test-sy_java_ident.c \ + unictype/test-sy_java_whitespace.c \ + unictype/test-predicate-part1.h \ + unictype/test-predicate-part2.h \ + unilbrk/test-u16-possible-linebreaks.c \ + unilbrk/test-u16-width-linebreaks.c \ + unilbrk/test-u32-possible-linebreaks.c \ + unilbrk/test-u32-width-linebreaks.c \ + unilbrk/test-u8-possible-linebreaks.c \ + unilbrk/test-u8-width-linebreaks.c \ + unilbrk/test-ulc-possible-linebreaks.c \ + unilbrk/test-ulc-width-linebreaks.c uniname/test-uninames.sh \ + uniname/test-uninames.c uniname/UnicodeDataNames.txt \ + uninorm/test-canonical-decomposition.c \ + uninorm/test-compat-decomposition.c uninorm/test-composition.c \ + uninorm/test-decomposing-form.c uninorm/test-decomposition.c \ + uninorm/test-uninorm-filter-nfc.c uninorm/test-nfc.c \ + uninorm/test-u8-nfc.c uninorm/test-u16-nfc.c \ + uninorm/test-u32-nfc.c uninorm/test-u32-nfc-big.sh \ + uninorm/test-u32-nfc-big.c uninorm/test-u32-normalize-big.h \ + uninorm/test-u32-normalize-big.c uninorm/NormalizationTest.txt \ + uninorm/test-nfd.c uninorm/test-u8-nfd.c \ + uninorm/test-u16-nfd.c uninorm/test-u32-nfd.c \ + uninorm/test-u32-nfd-big.sh uninorm/test-u32-nfd-big.c \ + uninorm/test-u32-normalize-big.h \ + uninorm/test-u32-normalize-big.c uninorm/NormalizationTest.txt \ + uninorm/test-nfkc.c uninorm/test-u8-nfkc.c \ + uninorm/test-u16-nfkc.c uninorm/test-u32-nfkc.c \ + uninorm/test-u32-nfkc-big.sh uninorm/test-u32-nfkc-big.c \ + uninorm/test-u32-normalize-big.h \ + uninorm/test-u32-normalize-big.c uninorm/NormalizationTest.txt \ + uninorm/test-nfkd.c uninorm/test-u8-nfkd.c \ + uninorm/test-u16-nfkd.c uninorm/test-u32-nfkd.c \ + uninorm/test-u32-nfkd-big.sh uninorm/test-u32-nfkd-big.c \ + uninorm/test-u32-normalize-big.h \ + uninorm/test-u32-normalize-big.c uninorm/NormalizationTest.txt \ + uninorm/test-u16-normcmp.c uninorm/test-u16-normcmp.h \ + uninorm/test-u16-normcoll.c uninorm/test-u16-normcmp.h \ + uninorm/test-u32-normcmp.c uninorm/test-u32-normcmp.h \ + uninorm/test-u32-normcoll.c uninorm/test-u32-normcmp.h \ + uninorm/test-u8-normcmp.c uninorm/test-u8-normcmp.h \ + uninorm/test-u8-normcoll.c uninorm/test-u8-normcmp.h \ + test-unistd.c unistdio/test-u16-asnprintf1.c \ + unistdio/test-u16-asnprintf1.h unistdio/test-u16-printf1.h \ + unistdio/test-u16-vasnprintf1.c unistdio/test-u16-asnprintf1.h \ + unistdio/test-u16-printf1.h unistdio/test-u16-vasnprintf2.sh \ + unistdio/test-u16-vasnprintf2.c \ + unistdio/test-u16-vasnprintf3.sh \ + unistdio/test-u16-vasnprintf3.c unistdio/test-u16-vasprintf1.c \ + unistdio/test-u16-printf1.h unistdio/test-u16-vsnprintf1.c \ + unistdio/test-u16-printf1.h unistdio/test-u16-vsprintf1.c \ + unistdio/test-u16-printf1.h unistdio/test-u32-asnprintf1.c \ + unistdio/test-u32-asnprintf1.h unistdio/test-u32-printf1.h \ + unistdio/test-u32-vasnprintf1.c unistdio/test-u32-asnprintf1.h \ + unistdio/test-u32-printf1.h unistdio/test-u32-vasnprintf2.sh \ + unistdio/test-u32-vasnprintf2.c \ + unistdio/test-u32-vasnprintf3.sh \ + unistdio/test-u32-vasnprintf3.c unistdio/test-u32-vasprintf1.c \ + unistdio/test-u32-printf1.h unistdio/test-u32-vsnprintf1.c \ + unistdio/test-u32-printf1.h unistdio/test-u32-vsprintf1.c \ + unistdio/test-u32-printf1.h unistdio/test-u8-asnprintf1.c \ + unistdio/test-u8-asnprintf1.h unistdio/test-u8-printf1.h \ + unistdio/test-u8-vasnprintf1.c unistdio/test-u8-asnprintf1.h \ + unistdio/test-u8-printf1.h unistdio/test-u8-vasnprintf2.sh \ + unistdio/test-u8-vasnprintf2.c unistdio/test-u8-vasnprintf3.sh \ + unistdio/test-u8-vasnprintf3.c unistdio/test-u8-vasprintf1.c \ + unistdio/test-u8-printf1.h unistdio/test-u8-vsnprintf1.c \ + unistdio/test-u8-printf1.h unistdio/test-u8-vsprintf1.c \ + unistdio/test-u8-printf1.h unistdio/test-ulc-asnprintf1.c \ + unistdio/test-ulc-asnprintf1.h unistdio/test-ulc-printf1.h \ + unistdio/test-ulc-vasnprintf1.c unistdio/test-ulc-asnprintf1.h \ + unistdio/test-ulc-printf1.h unistdio/test-ulc-vasnprintf2.sh \ + unistdio/test-ulc-vasnprintf2.c \ + unistdio/test-ulc-vasnprintf3.sh \ + unistdio/test-ulc-vasnprintf3.c unistdio/test-ulc-vasprintf1.c \ + unistdio/test-ulc-printf1.h unistdio/test-ulc-vsnprintf1.c \ + unistdio/test-ulc-printf1.h unistdio/test-ulc-vsprintf1.c \ + unistdio/test-ulc-printf1.h uniwbrk/test-u16-wordbreaks.c \ + uniwbrk/test-u32-wordbreaks.c uniwbrk/test-u8-wordbreaks.c \ + uniwbrk/test-ulc-wordbreaks.sh uniwbrk/test-ulc-wordbreaks.c \ + uniwidth/test-u16-strwidth.c uniwidth/test-u16-width.c \ + uniwidth/test-u32-strwidth.c uniwidth/test-u32-width.c \ + uniwidth/test-u8-strwidth.c uniwidth/test-u8-width.c \ + uniwidth/test-uc_width.c uniwidth/test-uc_width2.c \ + uniwidth/test-uc_width2.sh unsetenv.c test-wchar.c wctob.c \ + test-wctype.c test-wcwidth.c xalloc.h xmalloc.c +BUILT_SOURCES = $(LOCALE_H) +SUFFIXES = +MOSTLYCLEANFILES = core *.stackdump locale.h locale.h-t +MOSTLYCLEANDIRS = +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = +AM_CPPFLAGS = \ + -I. -I$(srcdir) \ + -I.. -I$(srcdir)/.. \ + -I../lib -I$(srcdir)/../lib + +LDADD = libtests.a ../lib/libunistring.la libtests.a $(LIBTESTS_LIBDEPS) +libtests_a_SOURCES = gettext.h progname.h progname.c xalloc-die.c +libtests_a_LIBADD = $(gltests_LIBOBJS) +libtests_a_DEPENDENCIES = $(gltests_LIBOBJS) +EXTRA_libtests_a_SOURCES = error.c exitfail.c setenv.c strerror.c \ + unsetenv.c wctob.c xmalloc.c +AM_LIBTOOLFLAGS = --preserve-dup-deps +test_frexpl_nolibm_SOURCES = test-frexpl.c +test_iconv_LDADD = $(LDADD) @LIBICONV@ +test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ +test_striconveh_LDADD = $(LDADD) @LIBICONV@ +test_striconveha_LDADD = $(LDADD) @LIBICONV@ +test_cased_SOURCES = unicase/test-cased.c +test_ignorable_SOURCES = unicase/test-ignorable.c +test_locale_language_SOURCES = unicase/test-locale-language.c +test_locale_language_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ +test_uc_tolower_SOURCES = unicase/test-uc_tolower.c +test_uc_totitle_SOURCES = unicase/test-uc_totitle.c +test_uc_toupper_SOURCES = unicase/test-uc_toupper.c +test_u16_casecmp_SOURCES = unicase/test-u16-casecmp.c +test_u16_casecoll_SOURCES = unicase/test-u16-casecoll.c +test_u16_casecoll_LDADD = $(LDADD) @LIBICONV@ +test_u16_casefold_SOURCES = unicase/test-u16-casefold.c +test_u16_is_cased_SOURCES = unicase/test-u16-is-cased.c +test_u16_is_casefolded_SOURCES = unicase/test-u16-is-casefolded.c +test_u16_is_lowercase_SOURCES = unicase/test-u16-is-lowercase.c +test_u16_is_titlecase_SOURCES = unicase/test-u16-is-titlecase.c +test_u16_is_uppercase_SOURCES = unicase/test-u16-is-uppercase.c +test_u16_tolower_SOURCES = unicase/test-u16-tolower.c +test_u16_totitle_SOURCES = unicase/test-u16-totitle.c +test_u16_toupper_SOURCES = unicase/test-u16-toupper.c +test_u32_casecmp_SOURCES = unicase/test-u32-casecmp.c +test_u32_casecoll_SOURCES = unicase/test-u32-casecoll.c +test_u32_casecoll_LDADD = $(LDADD) @LIBICONV@ +test_u32_casefold_SOURCES = unicase/test-u32-casefold.c +test_u32_is_cased_SOURCES = unicase/test-u32-is-cased.c +test_u32_is_casefolded_SOURCES = unicase/test-u32-is-casefolded.c +test_u32_is_lowercase_SOURCES = unicase/test-u32-is-lowercase.c +test_u32_is_titlecase_SOURCES = unicase/test-u32-is-titlecase.c +test_u32_is_uppercase_SOURCES = unicase/test-u32-is-uppercase.c +test_u32_tolower_SOURCES = unicase/test-u32-tolower.c +test_u32_totitle_SOURCES = unicase/test-u32-totitle.c +test_u32_toupper_SOURCES = unicase/test-u32-toupper.c +test_u8_casecmp_SOURCES = unicase/test-u8-casecmp.c +test_u8_casecoll_SOURCES = unicase/test-u8-casecoll.c +test_u8_casecoll_LDADD = $(LDADD) @LIBICONV@ +test_u8_casefold_SOURCES = unicase/test-u8-casefold.c +test_u8_is_cased_SOURCES = unicase/test-u8-is-cased.c +test_u8_is_casefolded_SOURCES = unicase/test-u8-is-casefolded.c +test_u8_is_lowercase_SOURCES = unicase/test-u8-is-lowercase.c +test_u8_is_titlecase_SOURCES = unicase/test-u8-is-titlecase.c +test_u8_is_uppercase_SOURCES = unicase/test-u8-is-uppercase.c +test_u8_tolower_SOURCES = unicase/test-u8-tolower.c +test_u8_totitle_SOURCES = unicase/test-u8-totitle.c +test_u8_toupper_SOURCES = unicase/test-u8-toupper.c +test_ulc_casecmp_SOURCES = unicase/test-ulc-casecmp.c +test_ulc_casecmp_LDADD = $(LDADD) @LIBICONV@ +test_ulc_casecoll_SOURCES = unicase/test-ulc-casecoll.c +test_ulc_casecoll_LDADD = $(LDADD) @LIBICONV@ +test_u16_conv_from_enc_SOURCES = uniconv/test-u16-conv-from-enc.c +test_u16_conv_from_enc_LDADD = $(LDADD) @LIBICONV@ +test_u16_conv_to_enc_SOURCES = uniconv/test-u16-conv-to-enc.c +test_u16_conv_to_enc_LDADD = $(LDADD) @LIBICONV@ +test_u16_strconv_from_enc_SOURCES = uniconv/test-u16-strconv-from-enc.c +test_u16_strconv_from_enc_LDADD = $(LDADD) @LIBICONV@ +test_u16_strconv_to_enc_SOURCES = uniconv/test-u16-strconv-to-enc.c +test_u16_strconv_to_enc_LDADD = $(LDADD) @LIBICONV@ +test_u32_conv_from_enc_SOURCES = uniconv/test-u32-conv-from-enc.c +test_u32_conv_from_enc_LDADD = $(LDADD) @LIBICONV@ +test_u32_conv_to_enc_SOURCES = uniconv/test-u32-conv-to-enc.c +test_u32_conv_to_enc_LDADD = $(LDADD) @LIBICONV@ +test_u32_strconv_from_enc_SOURCES = uniconv/test-u32-strconv-from-enc.c +test_u32_strconv_from_enc_LDADD = $(LDADD) @LIBICONV@ +test_u32_strconv_to_enc_SOURCES = uniconv/test-u32-strconv-to-enc.c +test_u32_strconv_to_enc_LDADD = $(LDADD) @LIBICONV@ +test_u8_conv_from_enc_SOURCES = uniconv/test-u8-conv-from-enc.c +test_u8_conv_from_enc_LDADD = $(LDADD) @LIBICONV@ +test_u8_conv_to_enc_SOURCES = uniconv/test-u8-conv-to-enc.c +test_u8_conv_to_enc_LDADD = $(LDADD) @LIBICONV@ +test_u8_strconv_from_enc_SOURCES = uniconv/test-u8-strconv-from-enc.c +test_u8_strconv_from_enc_LDADD = $(LDADD) @LIBICONV@ +test_u8_strconv_to_enc_SOURCES = uniconv/test-u8-strconv-to-enc.c +test_u8_strconv_to_enc_LDADD = $(LDADD) @LIBICONV@ +test_bidi_byname_SOURCES = unictype/test-bidi_byname.c +test_bidi_name_SOURCES = unictype/test-bidi_name.c +test_bidi_of_SOURCES = unictype/test-bidi_of.c +test_bidi_test_SOURCES = unictype/test-bidi_test.c +test_block_list_SOURCES = unictype/test-block_list.c +test_block_of_SOURCES = unictype/test-block_of.c +test_block_test_SOURCES = unictype/test-block_test.c +test_categ_C_SOURCES = unictype/test-categ_C.c +test_categ_Cc_SOURCES = unictype/test-categ_Cc.c +test_categ_Cf_SOURCES = unictype/test-categ_Cf.c +test_categ_Cn_SOURCES = unictype/test-categ_Cn.c +test_categ_Co_SOURCES = unictype/test-categ_Co.c +test_categ_Cs_SOURCES = unictype/test-categ_Cs.c +test_categ_L_SOURCES = unictype/test-categ_L.c +test_categ_Ll_SOURCES = unictype/test-categ_Ll.c +test_categ_Lm_SOURCES = unictype/test-categ_Lm.c +test_categ_Lo_SOURCES = unictype/test-categ_Lo.c +test_categ_Lt_SOURCES = unictype/test-categ_Lt.c +test_categ_Lu_SOURCES = unictype/test-categ_Lu.c +test_categ_M_SOURCES = unictype/test-categ_M.c +test_categ_Mc_SOURCES = unictype/test-categ_Mc.c +test_categ_Me_SOURCES = unictype/test-categ_Me.c +test_categ_Mn_SOURCES = unictype/test-categ_Mn.c +test_categ_N_SOURCES = unictype/test-categ_N.c +test_categ_Nd_SOURCES = unictype/test-categ_Nd.c +test_categ_Nl_SOURCES = unictype/test-categ_Nl.c +test_categ_No_SOURCES = unictype/test-categ_No.c +test_categ_P_SOURCES = unictype/test-categ_P.c +test_categ_Pc_SOURCES = unictype/test-categ_Pc.c +test_categ_Pd_SOURCES = unictype/test-categ_Pd.c +test_categ_Pe_SOURCES = unictype/test-categ_Pe.c +test_categ_Pf_SOURCES = unictype/test-categ_Pf.c +test_categ_Pi_SOURCES = unictype/test-categ_Pi.c +test_categ_Po_SOURCES = unictype/test-categ_Po.c +test_categ_Ps_SOURCES = unictype/test-categ_Ps.c +test_categ_S_SOURCES = unictype/test-categ_S.c +test_categ_Sc_SOURCES = unictype/test-categ_Sc.c +test_categ_Sk_SOURCES = unictype/test-categ_Sk.c +test_categ_Sm_SOURCES = unictype/test-categ_Sm.c +test_categ_So_SOURCES = unictype/test-categ_So.c +test_categ_Z_SOURCES = unictype/test-categ_Z.c +test_categ_Zl_SOURCES = unictype/test-categ_Zl.c +test_categ_Zp_SOURCES = unictype/test-categ_Zp.c +test_categ_Zs_SOURCES = unictype/test-categ_Zs.c +test_categ_and_not_SOURCES = unictype/test-categ_and_not.c +test_categ_and_SOURCES = unictype/test-categ_and.c +test_categ_byname_SOURCES = unictype/test-categ_byname.c +test_categ_name_SOURCES = unictype/test-categ_name.c +@WOE32DLL_FALSE@test_categ_none_SOURCES = unictype/test-categ_none.c +test_categ_of_SOURCES = unictype/test-categ_of.c +test_categ_or_SOURCES = unictype/test-categ_or.c +test_categ_test_withtable_SOURCES = unictype/test-categ_test_withtable.c +test_combining_SOURCES = unictype/test-combining.c +test_ctype_alnum_SOURCES = unictype/test-ctype_alnum.c +test_ctype_alpha_SOURCES = unictype/test-ctype_alpha.c +test_ctype_blank_SOURCES = unictype/test-ctype_blank.c +test_ctype_cntrl_SOURCES = unictype/test-ctype_cntrl.c +test_ctype_digit_SOURCES = unictype/test-ctype_digit.c +test_ctype_graph_SOURCES = unictype/test-ctype_graph.c +test_ctype_lower_SOURCES = unictype/test-ctype_lower.c +test_ctype_print_SOURCES = unictype/test-ctype_print.c +test_ctype_punct_SOURCES = unictype/test-ctype_punct.c +test_ctype_space_SOURCES = unictype/test-ctype_space.c +test_ctype_upper_SOURCES = unictype/test-ctype_upper.c +test_ctype_xdigit_SOURCES = unictype/test-ctype_xdigit.c +test_decdigit_SOURCES = unictype/test-decdigit.c +test_digit_SOURCES = unictype/test-digit.c +test_mirror_SOURCES = unictype/test-mirror.c +test_numeric_SOURCES = unictype/test-numeric.c +test_pr_alphabetic_SOURCES = unictype/test-pr_alphabetic.c +test_pr_ascii_hex_digit_SOURCES = unictype/test-pr_ascii_hex_digit.c +test_pr_bidi_arabic_digit_SOURCES = unictype/test-pr_bidi_arabic_digit.c +test_pr_bidi_arabic_right_to_left_SOURCES = unictype/test-pr_bidi_arabic_right_to_left.c +test_pr_bidi_block_separator_SOURCES = unictype/test-pr_bidi_block_separator.c +test_pr_bidi_boundary_neutral_SOURCES = unictype/test-pr_bidi_boundary_neutral.c +test_pr_bidi_common_separator_SOURCES = unictype/test-pr_bidi_common_separator.c +test_pr_bidi_control_SOURCES = unictype/test-pr_bidi_control.c +test_pr_bidi_embedding_or_override_SOURCES = unictype/test-pr_bidi_embedding_or_override.c +test_pr_bidi_eur_num_separator_SOURCES = unictype/test-pr_bidi_eur_num_separator.c +test_pr_bidi_eur_num_terminator_SOURCES = unictype/test-pr_bidi_eur_num_terminator.c +test_pr_bidi_european_digit_SOURCES = unictype/test-pr_bidi_european_digit.c +test_pr_bidi_hebrew_right_to_left_SOURCES = unictype/test-pr_bidi_hebrew_right_to_left.c +test_pr_bidi_left_to_right_SOURCES = unictype/test-pr_bidi_left_to_right.c +test_pr_bidi_non_spacing_mark_SOURCES = unictype/test-pr_bidi_non_spacing_mark.c +test_pr_bidi_other_neutral_SOURCES = unictype/test-pr_bidi_other_neutral.c +test_pr_bidi_pdf_SOURCES = unictype/test-pr_bidi_pdf.c +test_pr_bidi_segment_separator_SOURCES = unictype/test-pr_bidi_segment_separator.c +test_pr_bidi_whitespace_SOURCES = unictype/test-pr_bidi_whitespace.c +test_pr_byname_SOURCES = unictype/test-pr_byname.c +test_pr_combining_SOURCES = unictype/test-pr_combining.c +test_pr_composite_SOURCES = unictype/test-pr_composite.c +test_pr_currency_symbol_SOURCES = unictype/test-pr_currency_symbol.c +test_pr_dash_SOURCES = unictype/test-pr_dash.c +test_pr_decimal_digit_SOURCES = unictype/test-pr_decimal_digit.c +test_pr_default_ignorable_code_point_SOURCES = unictype/test-pr_default_ignorable_code_point.c +test_pr_deprecated_SOURCES = unictype/test-pr_deprecated.c +test_pr_diacritic_SOURCES = unictype/test-pr_diacritic.c +test_pr_extender_SOURCES = unictype/test-pr_extender.c +test_pr_format_control_SOURCES = unictype/test-pr_format_control.c +test_pr_grapheme_base_SOURCES = unictype/test-pr_grapheme_base.c +test_pr_grapheme_extend_SOURCES = unictype/test-pr_grapheme_extend.c +test_pr_grapheme_link_SOURCES = unictype/test-pr_grapheme_link.c +test_pr_hex_digit_SOURCES = unictype/test-pr_hex_digit.c +test_pr_hyphen_SOURCES = unictype/test-pr_hyphen.c +test_pr_id_continue_SOURCES = unictype/test-pr_id_continue.c +test_pr_id_start_SOURCES = unictype/test-pr_id_start.c +test_pr_ideographic_SOURCES = unictype/test-pr_ideographic.c +test_pr_ids_binary_operator_SOURCES = unictype/test-pr_ids_binary_operator.c +test_pr_ids_trinary_operator_SOURCES = unictype/test-pr_ids_trinary_operator.c +test_pr_ignorable_control_SOURCES = unictype/test-pr_ignorable_control.c +test_pr_iso_control_SOURCES = unictype/test-pr_iso_control.c +test_pr_join_control_SOURCES = unictype/test-pr_join_control.c +test_pr_left_of_pair_SOURCES = unictype/test-pr_left_of_pair.c +test_pr_line_separator_SOURCES = unictype/test-pr_line_separator.c +test_pr_logical_order_exception_SOURCES = unictype/test-pr_logical_order_exception.c +test_pr_lowercase_SOURCES = unictype/test-pr_lowercase.c +test_pr_math_SOURCES = unictype/test-pr_math.c +test_pr_non_break_SOURCES = unictype/test-pr_non_break.c +test_pr_not_a_character_SOURCES = unictype/test-pr_not_a_character.c +test_pr_numeric_SOURCES = unictype/test-pr_numeric.c +test_pr_other_alphabetic_SOURCES = unictype/test-pr_other_alphabetic.c +test_pr_other_default_ignorable_code_point_SOURCES = unictype/test-pr_other_default_ignorable_code_point.c +test_pr_other_grapheme_extend_SOURCES = unictype/test-pr_other_grapheme_extend.c +test_pr_other_id_continue_SOURCES = unictype/test-pr_other_id_continue.c +test_pr_other_id_start_SOURCES = unictype/test-pr_other_id_start.c +test_pr_other_lowercase_SOURCES = unictype/test-pr_other_lowercase.c +test_pr_other_math_SOURCES = unictype/test-pr_other_math.c +test_pr_other_uppercase_SOURCES = unictype/test-pr_other_uppercase.c +test_pr_paired_punctuation_SOURCES = unictype/test-pr_paired_punctuation.c +test_pr_paragraph_separator_SOURCES = unictype/test-pr_paragraph_separator.c +test_pr_pattern_syntax_SOURCES = unictype/test-pr_pattern_syntax.c +test_pr_pattern_white_space_SOURCES = unictype/test-pr_pattern_white_space.c +test_pr_private_use_SOURCES = unictype/test-pr_private_use.c +test_pr_punctuation_SOURCES = unictype/test-pr_punctuation.c +test_pr_quotation_mark_SOURCES = unictype/test-pr_quotation_mark.c +test_pr_radical_SOURCES = unictype/test-pr_radical.c +test_pr_sentence_terminal_SOURCES = unictype/test-pr_sentence_terminal.c +test_pr_soft_dotted_SOURCES = unictype/test-pr_soft_dotted.c +test_pr_space_SOURCES = unictype/test-pr_space.c +test_pr_terminal_punctuation_SOURCES = unictype/test-pr_terminal_punctuation.c +test_pr_test_SOURCES = unictype/test-pr_test.c +test_pr_titlecase_SOURCES = unictype/test-pr_titlecase.c +test_pr_unassigned_code_value_SOURCES = unictype/test-pr_unassigned_code_value.c +test_pr_unified_ideograph_SOURCES = unictype/test-pr_unified_ideograph.c +test_pr_uppercase_SOURCES = unictype/test-pr_uppercase.c +test_pr_variation_selector_SOURCES = unictype/test-pr_variation_selector.c +test_pr_white_space_SOURCES = unictype/test-pr_white_space.c +test_pr_xid_continue_SOURCES = unictype/test-pr_xid_continue.c +test_pr_xid_start_SOURCES = unictype/test-pr_xid_start.c +test_pr_zero_width_SOURCES = unictype/test-pr_zero_width.c +test_scripts_SOURCES = unictype/test-scripts.c +test_sy_c_ident_SOURCES = unictype/test-sy_c_ident.c +test_sy_c_whitespace_SOURCES = unictype/test-sy_c_whitespace.c +test_sy_java_ident_SOURCES = unictype/test-sy_java_ident.c +test_sy_java_whitespace_SOURCES = unictype/test-sy_java_whitespace.c +test_u16_possible_linebreaks_SOURCES = unilbrk/test-u16-possible-linebreaks.c +test_u16_width_linebreaks_SOURCES = unilbrk/test-u16-width-linebreaks.c +test_u32_possible_linebreaks_SOURCES = unilbrk/test-u32-possible-linebreaks.c +test_u32_width_linebreaks_SOURCES = unilbrk/test-u32-width-linebreaks.c +test_u8_possible_linebreaks_SOURCES = unilbrk/test-u8-possible-linebreaks.c +test_u8_width_linebreaks_SOURCES = unilbrk/test-u8-width-linebreaks.c +test_ulc_possible_linebreaks_SOURCES = unilbrk/test-ulc-possible-linebreaks.c +test_ulc_possible_linebreaks_LDADD = $(LDADD) @LIBICONV@ +test_ulc_width_linebreaks_SOURCES = unilbrk/test-ulc-width-linebreaks.c +test_ulc_width_linebreaks_LDADD = $(LDADD) @LIBICONV@ +test_uninames_SOURCES = uniname/test-uninames.c +test_uninames_LDADD = $(LDADD) @LIBINTL@ +test_canonical_decomposition_SOURCES = uninorm/test-canonical-decomposition.c +test_compat_decomposition_SOURCES = uninorm/test-compat-decomposition.c +test_composition_SOURCES = uninorm/test-composition.c +test_decomposing_form_SOURCES = uninorm/test-decomposing-form.c +test_decomposition_SOURCES = uninorm/test-decomposition.c +test_uninorm_filter_nfc_SOURCES = uninorm/test-uninorm-filter-nfc.c +test_nfc_SOURCES = \ + uninorm/test-nfc.c \ + uninorm/test-u8-nfc.c \ + uninorm/test-u16-nfc.c \ + uninorm/test-u32-nfc.c + +test_u32_nfc_big_SOURCES = \ + uninorm/test-u32-nfc-big.c \ + uninorm/test-u32-normalize-big.c + +test_u32_nfc_big_LDADD = $(LDADD) @LIBINTL@ +test_nfd_SOURCES = \ + uninorm/test-nfd.c \ + uninorm/test-u8-nfd.c \ + uninorm/test-u16-nfd.c \ + uninorm/test-u32-nfd.c + +test_u32_nfd_big_SOURCES = \ + uninorm/test-u32-nfd-big.c \ + uninorm/test-u32-normalize-big.c + +test_u32_nfd_big_LDADD = $(LDADD) @LIBINTL@ +test_nfkc_SOURCES = \ + uninorm/test-nfkc.c \ + uninorm/test-u8-nfkc.c \ + uninorm/test-u16-nfkc.c \ + uninorm/test-u32-nfkc.c + +test_u32_nfkc_big_SOURCES = \ + uninorm/test-u32-nfkc-big.c \ + uninorm/test-u32-normalize-big.c + +test_u32_nfkc_big_LDADD = $(LDADD) @LIBINTL@ +test_nfkd_SOURCES = \ + uninorm/test-nfkd.c \ + uninorm/test-u8-nfkd.c \ + uninorm/test-u16-nfkd.c \ + uninorm/test-u32-nfkd.c + +test_u32_nfkd_big_SOURCES = \ + uninorm/test-u32-nfkd-big.c \ + uninorm/test-u32-normalize-big.c + +test_u32_nfkd_big_LDADD = $(LDADD) @LIBINTL@ +test_u16_normcmp_SOURCES = uninorm/test-u16-normcmp.c +test_u16_normcoll_SOURCES = uninorm/test-u16-normcoll.c +test_u16_normcoll_LDADD = $(LDADD) @LIBICONV@ +test_u32_normcmp_SOURCES = uninorm/test-u32-normcmp.c +test_u32_normcoll_SOURCES = uninorm/test-u32-normcoll.c +test_u32_normcoll_LDADD = $(LDADD) @LIBICONV@ +test_u8_normcmp_SOURCES = uninorm/test-u8-normcmp.c +test_u8_normcoll_SOURCES = uninorm/test-u8-normcoll.c +test_u8_normcoll_LDADD = $(LDADD) @LIBICONV@ +test_u16_asnprintf1_SOURCES = unistdio/test-u16-asnprintf1.c +test_u16_asnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u16_vasnprintf1_SOURCES = unistdio/test-u16-vasnprintf1.c +test_u16_vasnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u16_vasnprintf2_SOURCES = unistdio/test-u16-vasnprintf2.c +test_u16_vasnprintf2_LDADD = $(LDADD) @LIBICONV@ +test_u16_vasnprintf3_SOURCES = unistdio/test-u16-vasnprintf3.c +test_u16_vasnprintf3_LDADD = $(LDADD) @LIBICONV@ +test_u16_vasprintf1_SOURCES = unistdio/test-u16-vasprintf1.c +test_u16_vasprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u16_vsnprintf1_SOURCES = unistdio/test-u16-vsnprintf1.c +test_u16_vsnprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +test_u16_vsprintf1_SOURCES = unistdio/test-u16-vsprintf1.c +test_u16_vsprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +test_u32_asnprintf1_SOURCES = unistdio/test-u32-asnprintf1.c +test_u32_asnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u32_vasnprintf1_SOURCES = unistdio/test-u32-vasnprintf1.c +test_u32_vasnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u32_vasnprintf2_SOURCES = unistdio/test-u32-vasnprintf2.c +test_u32_vasnprintf2_LDADD = $(LDADD) @LIBICONV@ +test_u32_vasnprintf3_SOURCES = unistdio/test-u32-vasnprintf3.c +test_u32_vasnprintf3_LDADD = $(LDADD) @LIBICONV@ +test_u32_vasprintf1_SOURCES = unistdio/test-u32-vasprintf1.c +test_u32_vasprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u32_vsnprintf1_SOURCES = unistdio/test-u32-vsnprintf1.c +test_u32_vsnprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +test_u32_vsprintf1_SOURCES = unistdio/test-u32-vsprintf1.c +test_u32_vsprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +test_u8_asnprintf1_SOURCES = unistdio/test-u8-asnprintf1.c +test_u8_asnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u8_vasnprintf1_SOURCES = unistdio/test-u8-vasnprintf1.c +test_u8_vasnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u8_vasnprintf2_SOURCES = unistdio/test-u8-vasnprintf2.c +test_u8_vasnprintf2_LDADD = $(LDADD) @LIBICONV@ +test_u8_vasnprintf3_SOURCES = unistdio/test-u8-vasnprintf3.c +test_u8_vasnprintf3_LDADD = $(LDADD) @LIBICONV@ +test_u8_vasprintf1_SOURCES = unistdio/test-u8-vasprintf1.c +test_u8_vasprintf1_LDADD = $(LDADD) @LIBICONV@ +test_u8_vsnprintf1_SOURCES = unistdio/test-u8-vsnprintf1.c +test_u8_vsnprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +test_u8_vsprintf1_SOURCES = unistdio/test-u8-vsprintf1.c +test_u8_vsprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +test_ulc_asnprintf1_SOURCES = unistdio/test-ulc-asnprintf1.c +test_ulc_asnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_ulc_vasnprintf1_SOURCES = unistdio/test-ulc-vasnprintf1.c +test_ulc_vasnprintf1_LDADD = $(LDADD) @LIBICONV@ +test_ulc_vasnprintf2_SOURCES = unistdio/test-ulc-vasnprintf2.c +test_ulc_vasnprintf2_LDADD = $(LDADD) @LIBICONV@ +test_ulc_vasnprintf3_SOURCES = unistdio/test-ulc-vasnprintf3.c +test_ulc_vasnprintf3_LDADD = $(LDADD) @LIBICONV@ +test_ulc_vasprintf1_SOURCES = unistdio/test-ulc-vasprintf1.c +test_ulc_vasprintf1_LDADD = $(LDADD) @LIBICONV@ +test_ulc_vsnprintf1_SOURCES = unistdio/test-ulc-vsnprintf1.c +test_ulc_vsnprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +test_ulc_vsprintf1_SOURCES = unistdio/test-ulc-vsprintf1.c +test_ulc_vsprintf1_LDADD = $(LDADD) @LIBINTL@ @LIBICONV@ +test_u16_wordbreaks_SOURCES = uniwbrk/test-u16-wordbreaks.c +test_u32_wordbreaks_SOURCES = uniwbrk/test-u32-wordbreaks.c +test_u8_wordbreaks_SOURCES = uniwbrk/test-u8-wordbreaks.c +test_ulc_wordbreaks_SOURCES = uniwbrk/test-ulc-wordbreaks.c +test_ulc_wordbreaks_LDADD = $(LDADD) @LIBICONV@ +test_u16_strwidth_SOURCES = uniwidth/test-u16-strwidth.c +test_u16_width_SOURCES = uniwidth/test-u16-width.c +test_u32_strwidth_SOURCES = uniwidth/test-u32-strwidth.c +test_u32_width_SOURCES = uniwidth/test-u32-width.c +test_u8_strwidth_SOURCES = uniwidth/test-u8-strwidth.c +test_u8_width_SOURCES = uniwidth/test-u8-width.c +test_uc_width_SOURCES = uniwidth/test-uc_width.c +test_uc_width2_SOURCES = uniwidth/test-uc_width2.c + +# Ensure that ../lib/config.h is seen before ../config.h. +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/lib -I$(top_builddir) + +# For debugging memory leaks and memory allocation bugs. +# You should build with --disable-shared when using valgrind. +CHECKER = +#CHECKER = valgrind --tool=memcheck --suppressions=$(srcdir)/../lib/malloca.valgrind --num-callers=20 --leak-check=yes --leak-resolution=high --show-reachable=yes +#CHECKER = valgrind --tool=massif --format=html --depth=10 --alloc-fn=xmalloc --alloc-fn=xrealloc --stacks=no +CHECKER_END_OF_COMMENTS = +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makefile.gnulib $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign tests/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-checkLIBRARIES: + -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES) + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) + $(AM_V_at)-rm -f libtests.a + $(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD) + $(AM_V_at)$(RANLIB) libtests.a + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES) + @rm -f test-alloca-opt$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_alloca_opt_OBJECTS) $(test_alloca_opt_LDADD) $(LIBS) +test-array-mergesort$(EXEEXT): $(test_array_mergesort_OBJECTS) $(test_array_mergesort_DEPENDENCIES) + @rm -f test-array-mergesort$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_array_mergesort_OBJECTS) $(test_array_mergesort_LDADD) $(LIBS) +unictype/$(am__dirstamp): + @$(MKDIR_P) unictype + @: > unictype/$(am__dirstamp) +unictype/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) unictype/$(DEPDIR) + @: > unictype/$(DEPDIR)/$(am__dirstamp) +unictype/test-bidi_byname.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-bidi_byname$(EXEEXT): $(test_bidi_byname_OBJECTS) $(test_bidi_byname_DEPENDENCIES) + @rm -f test-bidi_byname$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_bidi_byname_OBJECTS) $(test_bidi_byname_LDADD) $(LIBS) +unictype/test-bidi_name.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-bidi_name$(EXEEXT): $(test_bidi_name_OBJECTS) $(test_bidi_name_DEPENDENCIES) + @rm -f test-bidi_name$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_bidi_name_OBJECTS) $(test_bidi_name_LDADD) $(LIBS) +unictype/test-bidi_of.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-bidi_of$(EXEEXT): $(test_bidi_of_OBJECTS) $(test_bidi_of_DEPENDENCIES) + @rm -f test-bidi_of$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_bidi_of_OBJECTS) $(test_bidi_of_LDADD) $(LIBS) +unictype/test-bidi_test.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-bidi_test$(EXEEXT): $(test_bidi_test_OBJECTS) $(test_bidi_test_DEPENDENCIES) + @rm -f test-bidi_test$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_bidi_test_OBJECTS) $(test_bidi_test_LDADD) $(LIBS) +unictype/test-block_list.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-block_list$(EXEEXT): $(test_block_list_OBJECTS) $(test_block_list_DEPENDENCIES) + @rm -f test-block_list$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_block_list_OBJECTS) $(test_block_list_LDADD) $(LIBS) +unictype/test-block_of.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-block_of$(EXEEXT): $(test_block_of_OBJECTS) $(test_block_of_DEPENDENCIES) + @rm -f test-block_of$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_block_of_OBJECTS) $(test_block_of_LDADD) $(LIBS) +unictype/test-block_test.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-block_test$(EXEEXT): $(test_block_test_OBJECTS) $(test_block_test_DEPENDENCIES) + @rm -f test-block_test$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_block_test_OBJECTS) $(test_block_test_LDADD) $(LIBS) +test-c-ctype$(EXEEXT): $(test_c_ctype_OBJECTS) $(test_c_ctype_DEPENDENCIES) + @rm -f test-c-ctype$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_c_ctype_OBJECTS) $(test_c_ctype_LDADD) $(LIBS) +test-c-strcasecmp$(EXEEXT): $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_DEPENDENCIES) + @rm -f test-c-strcasecmp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_LDADD) $(LIBS) +test-c-strncasecmp$(EXEEXT): $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_DEPENDENCIES) + @rm -f test-c-strncasecmp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_LDADD) $(LIBS) +uninorm/$(am__dirstamp): + @$(MKDIR_P) uninorm + @: > uninorm/$(am__dirstamp) +uninorm/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) uninorm/$(DEPDIR) + @: > uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-canonical-decomposition.$(OBJEXT): \ + uninorm/$(am__dirstamp) uninorm/$(DEPDIR)/$(am__dirstamp) +test-canonical-decomposition$(EXEEXT): $(test_canonical_decomposition_OBJECTS) $(test_canonical_decomposition_DEPENDENCIES) + @rm -f test-canonical-decomposition$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_canonical_decomposition_OBJECTS) $(test_canonical_decomposition_LDADD) $(LIBS) +unicase/$(am__dirstamp): + @$(MKDIR_P) unicase + @: > unicase/$(am__dirstamp) +unicase/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) unicase/$(DEPDIR) + @: > unicase/$(DEPDIR)/$(am__dirstamp) +unicase/test-cased.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-cased$(EXEEXT): $(test_cased_OBJECTS) $(test_cased_DEPENDENCIES) + @rm -f test-cased$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_cased_OBJECTS) $(test_cased_LDADD) $(LIBS) +unictype/test-categ_C.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_C$(EXEEXT): $(test_categ_C_OBJECTS) $(test_categ_C_DEPENDENCIES) + @rm -f test-categ_C$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_C_OBJECTS) $(test_categ_C_LDADD) $(LIBS) +unictype/test-categ_Cc.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Cc$(EXEEXT): $(test_categ_Cc_OBJECTS) $(test_categ_Cc_DEPENDENCIES) + @rm -f test-categ_Cc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Cc_OBJECTS) $(test_categ_Cc_LDADD) $(LIBS) +unictype/test-categ_Cf.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Cf$(EXEEXT): $(test_categ_Cf_OBJECTS) $(test_categ_Cf_DEPENDENCIES) + @rm -f test-categ_Cf$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Cf_OBJECTS) $(test_categ_Cf_LDADD) $(LIBS) +unictype/test-categ_Cn.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Cn$(EXEEXT): $(test_categ_Cn_OBJECTS) $(test_categ_Cn_DEPENDENCIES) + @rm -f test-categ_Cn$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Cn_OBJECTS) $(test_categ_Cn_LDADD) $(LIBS) +unictype/test-categ_Co.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Co$(EXEEXT): $(test_categ_Co_OBJECTS) $(test_categ_Co_DEPENDENCIES) + @rm -f test-categ_Co$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Co_OBJECTS) $(test_categ_Co_LDADD) $(LIBS) +unictype/test-categ_Cs.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Cs$(EXEEXT): $(test_categ_Cs_OBJECTS) $(test_categ_Cs_DEPENDENCIES) + @rm -f test-categ_Cs$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Cs_OBJECTS) $(test_categ_Cs_LDADD) $(LIBS) +unictype/test-categ_L.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_L$(EXEEXT): $(test_categ_L_OBJECTS) $(test_categ_L_DEPENDENCIES) + @rm -f test-categ_L$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_L_OBJECTS) $(test_categ_L_LDADD) $(LIBS) +unictype/test-categ_Ll.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Ll$(EXEEXT): $(test_categ_Ll_OBJECTS) $(test_categ_Ll_DEPENDENCIES) + @rm -f test-categ_Ll$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Ll_OBJECTS) $(test_categ_Ll_LDADD) $(LIBS) +unictype/test-categ_Lm.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Lm$(EXEEXT): $(test_categ_Lm_OBJECTS) $(test_categ_Lm_DEPENDENCIES) + @rm -f test-categ_Lm$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Lm_OBJECTS) $(test_categ_Lm_LDADD) $(LIBS) +unictype/test-categ_Lo.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Lo$(EXEEXT): $(test_categ_Lo_OBJECTS) $(test_categ_Lo_DEPENDENCIES) + @rm -f test-categ_Lo$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Lo_OBJECTS) $(test_categ_Lo_LDADD) $(LIBS) +unictype/test-categ_Lt.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Lt$(EXEEXT): $(test_categ_Lt_OBJECTS) $(test_categ_Lt_DEPENDENCIES) + @rm -f test-categ_Lt$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Lt_OBJECTS) $(test_categ_Lt_LDADD) $(LIBS) +unictype/test-categ_Lu.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Lu$(EXEEXT): $(test_categ_Lu_OBJECTS) $(test_categ_Lu_DEPENDENCIES) + @rm -f test-categ_Lu$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Lu_OBJECTS) $(test_categ_Lu_LDADD) $(LIBS) +unictype/test-categ_M.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_M$(EXEEXT): $(test_categ_M_OBJECTS) $(test_categ_M_DEPENDENCIES) + @rm -f test-categ_M$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_M_OBJECTS) $(test_categ_M_LDADD) $(LIBS) +unictype/test-categ_Mc.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Mc$(EXEEXT): $(test_categ_Mc_OBJECTS) $(test_categ_Mc_DEPENDENCIES) + @rm -f test-categ_Mc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Mc_OBJECTS) $(test_categ_Mc_LDADD) $(LIBS) +unictype/test-categ_Me.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Me$(EXEEXT): $(test_categ_Me_OBJECTS) $(test_categ_Me_DEPENDENCIES) + @rm -f test-categ_Me$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Me_OBJECTS) $(test_categ_Me_LDADD) $(LIBS) +unictype/test-categ_Mn.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Mn$(EXEEXT): $(test_categ_Mn_OBJECTS) $(test_categ_Mn_DEPENDENCIES) + @rm -f test-categ_Mn$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Mn_OBJECTS) $(test_categ_Mn_LDADD) $(LIBS) +unictype/test-categ_N.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_N$(EXEEXT): $(test_categ_N_OBJECTS) $(test_categ_N_DEPENDENCIES) + @rm -f test-categ_N$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_N_OBJECTS) $(test_categ_N_LDADD) $(LIBS) +unictype/test-categ_Nd.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Nd$(EXEEXT): $(test_categ_Nd_OBJECTS) $(test_categ_Nd_DEPENDENCIES) + @rm -f test-categ_Nd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Nd_OBJECTS) $(test_categ_Nd_LDADD) $(LIBS) +unictype/test-categ_Nl.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Nl$(EXEEXT): $(test_categ_Nl_OBJECTS) $(test_categ_Nl_DEPENDENCIES) + @rm -f test-categ_Nl$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Nl_OBJECTS) $(test_categ_Nl_LDADD) $(LIBS) +unictype/test-categ_No.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_No$(EXEEXT): $(test_categ_No_OBJECTS) $(test_categ_No_DEPENDENCIES) + @rm -f test-categ_No$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_No_OBJECTS) $(test_categ_No_LDADD) $(LIBS) +unictype/test-categ_P.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_P$(EXEEXT): $(test_categ_P_OBJECTS) $(test_categ_P_DEPENDENCIES) + @rm -f test-categ_P$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_P_OBJECTS) $(test_categ_P_LDADD) $(LIBS) +unictype/test-categ_Pc.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Pc$(EXEEXT): $(test_categ_Pc_OBJECTS) $(test_categ_Pc_DEPENDENCIES) + @rm -f test-categ_Pc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Pc_OBJECTS) $(test_categ_Pc_LDADD) $(LIBS) +unictype/test-categ_Pd.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Pd$(EXEEXT): $(test_categ_Pd_OBJECTS) $(test_categ_Pd_DEPENDENCIES) + @rm -f test-categ_Pd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Pd_OBJECTS) $(test_categ_Pd_LDADD) $(LIBS) +unictype/test-categ_Pe.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Pe$(EXEEXT): $(test_categ_Pe_OBJECTS) $(test_categ_Pe_DEPENDENCIES) + @rm -f test-categ_Pe$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Pe_OBJECTS) $(test_categ_Pe_LDADD) $(LIBS) +unictype/test-categ_Pf.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Pf$(EXEEXT): $(test_categ_Pf_OBJECTS) $(test_categ_Pf_DEPENDENCIES) + @rm -f test-categ_Pf$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Pf_OBJECTS) $(test_categ_Pf_LDADD) $(LIBS) +unictype/test-categ_Pi.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Pi$(EXEEXT): $(test_categ_Pi_OBJECTS) $(test_categ_Pi_DEPENDENCIES) + @rm -f test-categ_Pi$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Pi_OBJECTS) $(test_categ_Pi_LDADD) $(LIBS) +unictype/test-categ_Po.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Po$(EXEEXT): $(test_categ_Po_OBJECTS) $(test_categ_Po_DEPENDENCIES) + @rm -f test-categ_Po$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Po_OBJECTS) $(test_categ_Po_LDADD) $(LIBS) +unictype/test-categ_Ps.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Ps$(EXEEXT): $(test_categ_Ps_OBJECTS) $(test_categ_Ps_DEPENDENCIES) + @rm -f test-categ_Ps$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Ps_OBJECTS) $(test_categ_Ps_LDADD) $(LIBS) +unictype/test-categ_S.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_S$(EXEEXT): $(test_categ_S_OBJECTS) $(test_categ_S_DEPENDENCIES) + @rm -f test-categ_S$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_S_OBJECTS) $(test_categ_S_LDADD) $(LIBS) +unictype/test-categ_Sc.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Sc$(EXEEXT): $(test_categ_Sc_OBJECTS) $(test_categ_Sc_DEPENDENCIES) + @rm -f test-categ_Sc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Sc_OBJECTS) $(test_categ_Sc_LDADD) $(LIBS) +unictype/test-categ_Sk.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Sk$(EXEEXT): $(test_categ_Sk_OBJECTS) $(test_categ_Sk_DEPENDENCIES) + @rm -f test-categ_Sk$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Sk_OBJECTS) $(test_categ_Sk_LDADD) $(LIBS) +unictype/test-categ_Sm.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Sm$(EXEEXT): $(test_categ_Sm_OBJECTS) $(test_categ_Sm_DEPENDENCIES) + @rm -f test-categ_Sm$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Sm_OBJECTS) $(test_categ_Sm_LDADD) $(LIBS) +unictype/test-categ_So.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_So$(EXEEXT): $(test_categ_So_OBJECTS) $(test_categ_So_DEPENDENCIES) + @rm -f test-categ_So$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_So_OBJECTS) $(test_categ_So_LDADD) $(LIBS) +unictype/test-categ_Z.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Z$(EXEEXT): $(test_categ_Z_OBJECTS) $(test_categ_Z_DEPENDENCIES) + @rm -f test-categ_Z$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Z_OBJECTS) $(test_categ_Z_LDADD) $(LIBS) +unictype/test-categ_Zl.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Zl$(EXEEXT): $(test_categ_Zl_OBJECTS) $(test_categ_Zl_DEPENDENCIES) + @rm -f test-categ_Zl$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Zl_OBJECTS) $(test_categ_Zl_LDADD) $(LIBS) +unictype/test-categ_Zp.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Zp$(EXEEXT): $(test_categ_Zp_OBJECTS) $(test_categ_Zp_DEPENDENCIES) + @rm -f test-categ_Zp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Zp_OBJECTS) $(test_categ_Zp_LDADD) $(LIBS) +unictype/test-categ_Zs.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_Zs$(EXEEXT): $(test_categ_Zs_OBJECTS) $(test_categ_Zs_DEPENDENCIES) + @rm -f test-categ_Zs$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_Zs_OBJECTS) $(test_categ_Zs_LDADD) $(LIBS) +unictype/test-categ_and.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_and$(EXEEXT): $(test_categ_and_OBJECTS) $(test_categ_and_DEPENDENCIES) + @rm -f test-categ_and$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_and_OBJECTS) $(test_categ_and_LDADD) $(LIBS) +unictype/test-categ_and_not.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_and_not$(EXEEXT): $(test_categ_and_not_OBJECTS) $(test_categ_and_not_DEPENDENCIES) + @rm -f test-categ_and_not$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_and_not_OBJECTS) $(test_categ_and_not_LDADD) $(LIBS) +unictype/test-categ_byname.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_byname$(EXEEXT): $(test_categ_byname_OBJECTS) $(test_categ_byname_DEPENDENCIES) + @rm -f test-categ_byname$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_byname_OBJECTS) $(test_categ_byname_LDADD) $(LIBS) +unictype/test-categ_name.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_name$(EXEEXT): $(test_categ_name_OBJECTS) $(test_categ_name_DEPENDENCIES) + @rm -f test-categ_name$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_name_OBJECTS) $(test_categ_name_LDADD) $(LIBS) +unictype/test-categ_none.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_none$(EXEEXT): $(test_categ_none_OBJECTS) $(test_categ_none_DEPENDENCIES) + @rm -f test-categ_none$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_none_OBJECTS) $(test_categ_none_LDADD) $(LIBS) +unictype/test-categ_of.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_of$(EXEEXT): $(test_categ_of_OBJECTS) $(test_categ_of_DEPENDENCIES) + @rm -f test-categ_of$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_of_OBJECTS) $(test_categ_of_LDADD) $(LIBS) +unictype/test-categ_or.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_or$(EXEEXT): $(test_categ_or_OBJECTS) $(test_categ_or_DEPENDENCIES) + @rm -f test-categ_or$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_or_OBJECTS) $(test_categ_or_LDADD) $(LIBS) +unictype/test-categ_test_withtable.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-categ_test_withtable$(EXEEXT): $(test_categ_test_withtable_OBJECTS) $(test_categ_test_withtable_DEPENDENCIES) + @rm -f test-categ_test_withtable$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_categ_test_withtable_OBJECTS) $(test_categ_test_withtable_LDADD) $(LIBS) +unictype/test-combining.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-combining$(EXEEXT): $(test_combining_OBJECTS) $(test_combining_DEPENDENCIES) + @rm -f test-combining$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_combining_OBJECTS) $(test_combining_LDADD) $(LIBS) +uninorm/test-compat-decomposition.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-compat-decomposition$(EXEEXT): $(test_compat_decomposition_OBJECTS) $(test_compat_decomposition_DEPENDENCIES) + @rm -f test-compat-decomposition$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_compat_decomposition_OBJECTS) $(test_compat_decomposition_LDADD) $(LIBS) +uninorm/test-composition.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-composition$(EXEEXT): $(test_composition_OBJECTS) $(test_composition_DEPENDENCIES) + @rm -f test-composition$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_composition_OBJECTS) $(test_composition_LDADD) $(LIBS) +unictype/test-ctype_alnum.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_alnum$(EXEEXT): $(test_ctype_alnum_OBJECTS) $(test_ctype_alnum_DEPENDENCIES) + @rm -f test-ctype_alnum$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_alnum_OBJECTS) $(test_ctype_alnum_LDADD) $(LIBS) +unictype/test-ctype_alpha.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_alpha$(EXEEXT): $(test_ctype_alpha_OBJECTS) $(test_ctype_alpha_DEPENDENCIES) + @rm -f test-ctype_alpha$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_alpha_OBJECTS) $(test_ctype_alpha_LDADD) $(LIBS) +unictype/test-ctype_blank.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_blank$(EXEEXT): $(test_ctype_blank_OBJECTS) $(test_ctype_blank_DEPENDENCIES) + @rm -f test-ctype_blank$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_blank_OBJECTS) $(test_ctype_blank_LDADD) $(LIBS) +unictype/test-ctype_cntrl.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_cntrl$(EXEEXT): $(test_ctype_cntrl_OBJECTS) $(test_ctype_cntrl_DEPENDENCIES) + @rm -f test-ctype_cntrl$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_cntrl_OBJECTS) $(test_ctype_cntrl_LDADD) $(LIBS) +unictype/test-ctype_digit.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_digit$(EXEEXT): $(test_ctype_digit_OBJECTS) $(test_ctype_digit_DEPENDENCIES) + @rm -f test-ctype_digit$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_digit_OBJECTS) $(test_ctype_digit_LDADD) $(LIBS) +unictype/test-ctype_graph.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_graph$(EXEEXT): $(test_ctype_graph_OBJECTS) $(test_ctype_graph_DEPENDENCIES) + @rm -f test-ctype_graph$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_graph_OBJECTS) $(test_ctype_graph_LDADD) $(LIBS) +unictype/test-ctype_lower.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_lower$(EXEEXT): $(test_ctype_lower_OBJECTS) $(test_ctype_lower_DEPENDENCIES) + @rm -f test-ctype_lower$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_lower_OBJECTS) $(test_ctype_lower_LDADD) $(LIBS) +unictype/test-ctype_print.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_print$(EXEEXT): $(test_ctype_print_OBJECTS) $(test_ctype_print_DEPENDENCIES) + @rm -f test-ctype_print$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_print_OBJECTS) $(test_ctype_print_LDADD) $(LIBS) +unictype/test-ctype_punct.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_punct$(EXEEXT): $(test_ctype_punct_OBJECTS) $(test_ctype_punct_DEPENDENCIES) + @rm -f test-ctype_punct$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_punct_OBJECTS) $(test_ctype_punct_LDADD) $(LIBS) +unictype/test-ctype_space.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_space$(EXEEXT): $(test_ctype_space_OBJECTS) $(test_ctype_space_DEPENDENCIES) + @rm -f test-ctype_space$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_space_OBJECTS) $(test_ctype_space_LDADD) $(LIBS) +unictype/test-ctype_upper.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_upper$(EXEEXT): $(test_ctype_upper_OBJECTS) $(test_ctype_upper_DEPENDENCIES) + @rm -f test-ctype_upper$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_upper_OBJECTS) $(test_ctype_upper_LDADD) $(LIBS) +unictype/test-ctype_xdigit.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-ctype_xdigit$(EXEEXT): $(test_ctype_xdigit_OBJECTS) $(test_ctype_xdigit_DEPENDENCIES) + @rm -f test-ctype_xdigit$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ctype_xdigit_OBJECTS) $(test_ctype_xdigit_LDADD) $(LIBS) +unictype/test-decdigit.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-decdigit$(EXEEXT): $(test_decdigit_OBJECTS) $(test_decdigit_DEPENDENCIES) + @rm -f test-decdigit$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_decdigit_OBJECTS) $(test_decdigit_LDADD) $(LIBS) +uninorm/test-decomposing-form.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-decomposing-form$(EXEEXT): $(test_decomposing_form_OBJECTS) $(test_decomposing_form_DEPENDENCIES) + @rm -f test-decomposing-form$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_decomposing_form_OBJECTS) $(test_decomposing_form_LDADD) $(LIBS) +uninorm/test-decomposition.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-decomposition$(EXEEXT): $(test_decomposition_OBJECTS) $(test_decomposition_DEPENDENCIES) + @rm -f test-decomposition$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_decomposition_OBJECTS) $(test_decomposition_LDADD) $(LIBS) +unictype/test-digit.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-digit$(EXEEXT): $(test_digit_OBJECTS) $(test_digit_DEPENDENCIES) + @rm -f test-digit$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_digit_OBJECTS) $(test_digit_LDADD) $(LIBS) +test-environ$(EXEEXT): $(test_environ_OBJECTS) $(test_environ_DEPENDENCIES) + @rm -f test-environ$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_environ_OBJECTS) $(test_environ_LDADD) $(LIBS) +test-errno$(EXEEXT): $(test_errno_OBJECTS) $(test_errno_DEPENDENCIES) + @rm -f test-errno$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_errno_OBJECTS) $(test_errno_LDADD) $(LIBS) +test-frexpl-nolibm$(EXEEXT): $(test_frexpl_nolibm_OBJECTS) $(test_frexpl_nolibm_DEPENDENCIES) + @rm -f test-frexpl-nolibm$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_frexpl_nolibm_OBJECTS) $(test_frexpl_nolibm_LDADD) $(LIBS) +test-fseterr$(EXEEXT): $(test_fseterr_OBJECTS) $(test_fseterr_DEPENDENCIES) + @rm -f test-fseterr$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_fseterr_OBJECTS) $(test_fseterr_LDADD) $(LIBS) +test-iconv$(EXEEXT): $(test_iconv_OBJECTS) $(test_iconv_DEPENDENCIES) + @rm -f test-iconv$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_iconv_OBJECTS) $(test_iconv_LDADD) $(LIBS) +unicase/test-ignorable.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-ignorable$(EXEEXT): $(test_ignorable_OBJECTS) $(test_ignorable_DEPENDENCIES) + @rm -f test-ignorable$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ignorable_OBJECTS) $(test_ignorable_LDADD) $(LIBS) +test-isnand-nolibm$(EXEEXT): $(test_isnand_nolibm_OBJECTS) $(test_isnand_nolibm_DEPENDENCIES) + @rm -f test-isnand-nolibm$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_isnand_nolibm_OBJECTS) $(test_isnand_nolibm_LDADD) $(LIBS) +test-isnanf-nolibm$(EXEEXT): $(test_isnanf_nolibm_OBJECTS) $(test_isnanf_nolibm_DEPENDENCIES) + @rm -f test-isnanf-nolibm$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_isnanf_nolibm_OBJECTS) $(test_isnanf_nolibm_LDADD) $(LIBS) +test-isnanl-nolibm$(EXEEXT): $(test_isnanl_nolibm_OBJECTS) $(test_isnanl_nolibm_DEPENDENCIES) + @rm -f test-isnanl-nolibm$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_isnanl_nolibm_OBJECTS) $(test_isnanl_nolibm_LDADD) $(LIBS) +test-locale$(EXEEXT): $(test_locale_OBJECTS) $(test_locale_DEPENDENCIES) + @rm -f test-locale$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_locale_OBJECTS) $(test_locale_LDADD) $(LIBS) +unicase/test-locale-language.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-locale-language$(EXEEXT): $(test_locale_language_OBJECTS) $(test_locale_language_DEPENDENCIES) + @rm -f test-locale-language$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_locale_language_OBJECTS) $(test_locale_language_LDADD) $(LIBS) +test-localename$(EXEEXT): $(test_localename_OBJECTS) $(test_localename_DEPENDENCIES) + @rm -f test-localename$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_localename_OBJECTS) $(test_localename_LDADD) $(LIBS) +test-malloca$(EXEEXT): $(test_malloca_OBJECTS) $(test_malloca_DEPENDENCIES) + @rm -f test-malloca$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_malloca_OBJECTS) $(test_malloca_LDADD) $(LIBS) +test-math$(EXEEXT): $(test_math_OBJECTS) $(test_math_DEPENDENCIES) + @rm -f test-math$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_math_OBJECTS) $(test_math_LDADD) $(LIBS) +test-mbrtowc$(EXEEXT): $(test_mbrtowc_OBJECTS) $(test_mbrtowc_DEPENDENCIES) + @rm -f test-mbrtowc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_mbrtowc_OBJECTS) $(test_mbrtowc_LDADD) $(LIBS) +test-mbsinit$(EXEEXT): $(test_mbsinit_OBJECTS) $(test_mbsinit_DEPENDENCIES) + @rm -f test-mbsinit$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_mbsinit_OBJECTS) $(test_mbsinit_LDADD) $(LIBS) +test-memchr$(EXEEXT): $(test_memchr_OBJECTS) $(test_memchr_DEPENDENCIES) + @rm -f test-memchr$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_memchr_OBJECTS) $(test_memchr_LDADD) $(LIBS) +unictype/test-mirror.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-mirror$(EXEEXT): $(test_mirror_OBJECTS) $(test_mirror_DEPENDENCIES) + @rm -f test-mirror$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_mirror_OBJECTS) $(test_mirror_LDADD) $(LIBS) +uninorm/test-nfc.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u8-nfc.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u16-nfc.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u32-nfc.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-nfc$(EXEEXT): $(test_nfc_OBJECTS) $(test_nfc_DEPENDENCIES) + @rm -f test-nfc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_nfc_OBJECTS) $(test_nfc_LDADD) $(LIBS) +uninorm/test-nfd.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u8-nfd.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u16-nfd.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u32-nfd.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-nfd$(EXEEXT): $(test_nfd_OBJECTS) $(test_nfd_DEPENDENCIES) + @rm -f test-nfd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_nfd_OBJECTS) $(test_nfd_LDADD) $(LIBS) +uninorm/test-nfkc.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u8-nfkc.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u16-nfkc.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u32-nfkc.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-nfkc$(EXEEXT): $(test_nfkc_OBJECTS) $(test_nfkc_DEPENDENCIES) + @rm -f test-nfkc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_nfkc_OBJECTS) $(test_nfkc_LDADD) $(LIBS) +uninorm/test-nfkd.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u8-nfkd.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u16-nfkd.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u32-nfkd.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-nfkd$(EXEEXT): $(test_nfkd_OBJECTS) $(test_nfkd_DEPENDENCIES) + @rm -f test-nfkd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_nfkd_OBJECTS) $(test_nfkd_LDADD) $(LIBS) +unictype/test-numeric.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-numeric$(EXEEXT): $(test_numeric_OBJECTS) $(test_numeric_DEPENDENCIES) + @rm -f test-numeric$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_numeric_OBJECTS) $(test_numeric_LDADD) $(LIBS) +unictype/test-pr_alphabetic.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_alphabetic$(EXEEXT): $(test_pr_alphabetic_OBJECTS) $(test_pr_alphabetic_DEPENDENCIES) + @rm -f test-pr_alphabetic$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_alphabetic_OBJECTS) $(test_pr_alphabetic_LDADD) $(LIBS) +unictype/test-pr_ascii_hex_digit.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_ascii_hex_digit$(EXEEXT): $(test_pr_ascii_hex_digit_OBJECTS) $(test_pr_ascii_hex_digit_DEPENDENCIES) + @rm -f test-pr_ascii_hex_digit$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_ascii_hex_digit_OBJECTS) $(test_pr_ascii_hex_digit_LDADD) $(LIBS) +unictype/test-pr_bidi_arabic_digit.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_arabic_digit$(EXEEXT): $(test_pr_bidi_arabic_digit_OBJECTS) $(test_pr_bidi_arabic_digit_DEPENDENCIES) + @rm -f test-pr_bidi_arabic_digit$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_arabic_digit_OBJECTS) $(test_pr_bidi_arabic_digit_LDADD) $(LIBS) +unictype/test-pr_bidi_arabic_right_to_left.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_arabic_right_to_left$(EXEEXT): $(test_pr_bidi_arabic_right_to_left_OBJECTS) $(test_pr_bidi_arabic_right_to_left_DEPENDENCIES) + @rm -f test-pr_bidi_arabic_right_to_left$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_arabic_right_to_left_OBJECTS) $(test_pr_bidi_arabic_right_to_left_LDADD) $(LIBS) +unictype/test-pr_bidi_block_separator.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_block_separator$(EXEEXT): $(test_pr_bidi_block_separator_OBJECTS) $(test_pr_bidi_block_separator_DEPENDENCIES) + @rm -f test-pr_bidi_block_separator$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_block_separator_OBJECTS) $(test_pr_bidi_block_separator_LDADD) $(LIBS) +unictype/test-pr_bidi_boundary_neutral.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_boundary_neutral$(EXEEXT): $(test_pr_bidi_boundary_neutral_OBJECTS) $(test_pr_bidi_boundary_neutral_DEPENDENCIES) + @rm -f test-pr_bidi_boundary_neutral$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_boundary_neutral_OBJECTS) $(test_pr_bidi_boundary_neutral_LDADD) $(LIBS) +unictype/test-pr_bidi_common_separator.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_common_separator$(EXEEXT): $(test_pr_bidi_common_separator_OBJECTS) $(test_pr_bidi_common_separator_DEPENDENCIES) + @rm -f test-pr_bidi_common_separator$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_common_separator_OBJECTS) $(test_pr_bidi_common_separator_LDADD) $(LIBS) +unictype/test-pr_bidi_control.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_control$(EXEEXT): $(test_pr_bidi_control_OBJECTS) $(test_pr_bidi_control_DEPENDENCIES) + @rm -f test-pr_bidi_control$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_control_OBJECTS) $(test_pr_bidi_control_LDADD) $(LIBS) +unictype/test-pr_bidi_embedding_or_override.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_embedding_or_override$(EXEEXT): $(test_pr_bidi_embedding_or_override_OBJECTS) $(test_pr_bidi_embedding_or_override_DEPENDENCIES) + @rm -f test-pr_bidi_embedding_or_override$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_embedding_or_override_OBJECTS) $(test_pr_bidi_embedding_or_override_LDADD) $(LIBS) +unictype/test-pr_bidi_eur_num_separator.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_eur_num_separator$(EXEEXT): $(test_pr_bidi_eur_num_separator_OBJECTS) $(test_pr_bidi_eur_num_separator_DEPENDENCIES) + @rm -f test-pr_bidi_eur_num_separator$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_eur_num_separator_OBJECTS) $(test_pr_bidi_eur_num_separator_LDADD) $(LIBS) +unictype/test-pr_bidi_eur_num_terminator.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_eur_num_terminator$(EXEEXT): $(test_pr_bidi_eur_num_terminator_OBJECTS) $(test_pr_bidi_eur_num_terminator_DEPENDENCIES) + @rm -f test-pr_bidi_eur_num_terminator$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_eur_num_terminator_OBJECTS) $(test_pr_bidi_eur_num_terminator_LDADD) $(LIBS) +unictype/test-pr_bidi_european_digit.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_european_digit$(EXEEXT): $(test_pr_bidi_european_digit_OBJECTS) $(test_pr_bidi_european_digit_DEPENDENCIES) + @rm -f test-pr_bidi_european_digit$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_european_digit_OBJECTS) $(test_pr_bidi_european_digit_LDADD) $(LIBS) +unictype/test-pr_bidi_hebrew_right_to_left.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_hebrew_right_to_left$(EXEEXT): $(test_pr_bidi_hebrew_right_to_left_OBJECTS) $(test_pr_bidi_hebrew_right_to_left_DEPENDENCIES) + @rm -f test-pr_bidi_hebrew_right_to_left$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_hebrew_right_to_left_OBJECTS) $(test_pr_bidi_hebrew_right_to_left_LDADD) $(LIBS) +unictype/test-pr_bidi_left_to_right.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_left_to_right$(EXEEXT): $(test_pr_bidi_left_to_right_OBJECTS) $(test_pr_bidi_left_to_right_DEPENDENCIES) + @rm -f test-pr_bidi_left_to_right$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_left_to_right_OBJECTS) $(test_pr_bidi_left_to_right_LDADD) $(LIBS) +unictype/test-pr_bidi_non_spacing_mark.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_non_spacing_mark$(EXEEXT): $(test_pr_bidi_non_spacing_mark_OBJECTS) $(test_pr_bidi_non_spacing_mark_DEPENDENCIES) + @rm -f test-pr_bidi_non_spacing_mark$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_non_spacing_mark_OBJECTS) $(test_pr_bidi_non_spacing_mark_LDADD) $(LIBS) +unictype/test-pr_bidi_other_neutral.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_other_neutral$(EXEEXT): $(test_pr_bidi_other_neutral_OBJECTS) $(test_pr_bidi_other_neutral_DEPENDENCIES) + @rm -f test-pr_bidi_other_neutral$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_other_neutral_OBJECTS) $(test_pr_bidi_other_neutral_LDADD) $(LIBS) +unictype/test-pr_bidi_pdf.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_pdf$(EXEEXT): $(test_pr_bidi_pdf_OBJECTS) $(test_pr_bidi_pdf_DEPENDENCIES) + @rm -f test-pr_bidi_pdf$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_pdf_OBJECTS) $(test_pr_bidi_pdf_LDADD) $(LIBS) +unictype/test-pr_bidi_segment_separator.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_segment_separator$(EXEEXT): $(test_pr_bidi_segment_separator_OBJECTS) $(test_pr_bidi_segment_separator_DEPENDENCIES) + @rm -f test-pr_bidi_segment_separator$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_segment_separator_OBJECTS) $(test_pr_bidi_segment_separator_LDADD) $(LIBS) +unictype/test-pr_bidi_whitespace.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_bidi_whitespace$(EXEEXT): $(test_pr_bidi_whitespace_OBJECTS) $(test_pr_bidi_whitespace_DEPENDENCIES) + @rm -f test-pr_bidi_whitespace$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_bidi_whitespace_OBJECTS) $(test_pr_bidi_whitespace_LDADD) $(LIBS) +unictype/test-pr_byname.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_byname$(EXEEXT): $(test_pr_byname_OBJECTS) $(test_pr_byname_DEPENDENCIES) + @rm -f test-pr_byname$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_byname_OBJECTS) $(test_pr_byname_LDADD) $(LIBS) +unictype/test-pr_combining.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_combining$(EXEEXT): $(test_pr_combining_OBJECTS) $(test_pr_combining_DEPENDENCIES) + @rm -f test-pr_combining$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_combining_OBJECTS) $(test_pr_combining_LDADD) $(LIBS) +unictype/test-pr_composite.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_composite$(EXEEXT): $(test_pr_composite_OBJECTS) $(test_pr_composite_DEPENDENCIES) + @rm -f test-pr_composite$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_composite_OBJECTS) $(test_pr_composite_LDADD) $(LIBS) +unictype/test-pr_currency_symbol.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_currency_symbol$(EXEEXT): $(test_pr_currency_symbol_OBJECTS) $(test_pr_currency_symbol_DEPENDENCIES) + @rm -f test-pr_currency_symbol$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_currency_symbol_OBJECTS) $(test_pr_currency_symbol_LDADD) $(LIBS) +unictype/test-pr_dash.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_dash$(EXEEXT): $(test_pr_dash_OBJECTS) $(test_pr_dash_DEPENDENCIES) + @rm -f test-pr_dash$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_dash_OBJECTS) $(test_pr_dash_LDADD) $(LIBS) +unictype/test-pr_decimal_digit.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_decimal_digit$(EXEEXT): $(test_pr_decimal_digit_OBJECTS) $(test_pr_decimal_digit_DEPENDENCIES) + @rm -f test-pr_decimal_digit$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_decimal_digit_OBJECTS) $(test_pr_decimal_digit_LDADD) $(LIBS) +unictype/test-pr_default_ignorable_code_point.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_default_ignorable_code_point$(EXEEXT): $(test_pr_default_ignorable_code_point_OBJECTS) $(test_pr_default_ignorable_code_point_DEPENDENCIES) + @rm -f test-pr_default_ignorable_code_point$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_default_ignorable_code_point_OBJECTS) $(test_pr_default_ignorable_code_point_LDADD) $(LIBS) +unictype/test-pr_deprecated.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_deprecated$(EXEEXT): $(test_pr_deprecated_OBJECTS) $(test_pr_deprecated_DEPENDENCIES) + @rm -f test-pr_deprecated$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_deprecated_OBJECTS) $(test_pr_deprecated_LDADD) $(LIBS) +unictype/test-pr_diacritic.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_diacritic$(EXEEXT): $(test_pr_diacritic_OBJECTS) $(test_pr_diacritic_DEPENDENCIES) + @rm -f test-pr_diacritic$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_diacritic_OBJECTS) $(test_pr_diacritic_LDADD) $(LIBS) +unictype/test-pr_extender.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_extender$(EXEEXT): $(test_pr_extender_OBJECTS) $(test_pr_extender_DEPENDENCIES) + @rm -f test-pr_extender$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_extender_OBJECTS) $(test_pr_extender_LDADD) $(LIBS) +unictype/test-pr_format_control.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_format_control$(EXEEXT): $(test_pr_format_control_OBJECTS) $(test_pr_format_control_DEPENDENCIES) + @rm -f test-pr_format_control$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_format_control_OBJECTS) $(test_pr_format_control_LDADD) $(LIBS) +unictype/test-pr_grapheme_base.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_grapheme_base$(EXEEXT): $(test_pr_grapheme_base_OBJECTS) $(test_pr_grapheme_base_DEPENDENCIES) + @rm -f test-pr_grapheme_base$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_grapheme_base_OBJECTS) $(test_pr_grapheme_base_LDADD) $(LIBS) +unictype/test-pr_grapheme_extend.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_grapheme_extend$(EXEEXT): $(test_pr_grapheme_extend_OBJECTS) $(test_pr_grapheme_extend_DEPENDENCIES) + @rm -f test-pr_grapheme_extend$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_grapheme_extend_OBJECTS) $(test_pr_grapheme_extend_LDADD) $(LIBS) +unictype/test-pr_grapheme_link.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_grapheme_link$(EXEEXT): $(test_pr_grapheme_link_OBJECTS) $(test_pr_grapheme_link_DEPENDENCIES) + @rm -f test-pr_grapheme_link$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_grapheme_link_OBJECTS) $(test_pr_grapheme_link_LDADD) $(LIBS) +unictype/test-pr_hex_digit.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_hex_digit$(EXEEXT): $(test_pr_hex_digit_OBJECTS) $(test_pr_hex_digit_DEPENDENCIES) + @rm -f test-pr_hex_digit$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_hex_digit_OBJECTS) $(test_pr_hex_digit_LDADD) $(LIBS) +unictype/test-pr_hyphen.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_hyphen$(EXEEXT): $(test_pr_hyphen_OBJECTS) $(test_pr_hyphen_DEPENDENCIES) + @rm -f test-pr_hyphen$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_hyphen_OBJECTS) $(test_pr_hyphen_LDADD) $(LIBS) +unictype/test-pr_id_continue.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_id_continue$(EXEEXT): $(test_pr_id_continue_OBJECTS) $(test_pr_id_continue_DEPENDENCIES) + @rm -f test-pr_id_continue$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_id_continue_OBJECTS) $(test_pr_id_continue_LDADD) $(LIBS) +unictype/test-pr_id_start.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_id_start$(EXEEXT): $(test_pr_id_start_OBJECTS) $(test_pr_id_start_DEPENDENCIES) + @rm -f test-pr_id_start$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_id_start_OBJECTS) $(test_pr_id_start_LDADD) $(LIBS) +unictype/test-pr_ideographic.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_ideographic$(EXEEXT): $(test_pr_ideographic_OBJECTS) $(test_pr_ideographic_DEPENDENCIES) + @rm -f test-pr_ideographic$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_ideographic_OBJECTS) $(test_pr_ideographic_LDADD) $(LIBS) +unictype/test-pr_ids_binary_operator.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_ids_binary_operator$(EXEEXT): $(test_pr_ids_binary_operator_OBJECTS) $(test_pr_ids_binary_operator_DEPENDENCIES) + @rm -f test-pr_ids_binary_operator$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_ids_binary_operator_OBJECTS) $(test_pr_ids_binary_operator_LDADD) $(LIBS) +unictype/test-pr_ids_trinary_operator.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_ids_trinary_operator$(EXEEXT): $(test_pr_ids_trinary_operator_OBJECTS) $(test_pr_ids_trinary_operator_DEPENDENCIES) + @rm -f test-pr_ids_trinary_operator$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_ids_trinary_operator_OBJECTS) $(test_pr_ids_trinary_operator_LDADD) $(LIBS) +unictype/test-pr_ignorable_control.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_ignorable_control$(EXEEXT): $(test_pr_ignorable_control_OBJECTS) $(test_pr_ignorable_control_DEPENDENCIES) + @rm -f test-pr_ignorable_control$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_ignorable_control_OBJECTS) $(test_pr_ignorable_control_LDADD) $(LIBS) +unictype/test-pr_iso_control.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_iso_control$(EXEEXT): $(test_pr_iso_control_OBJECTS) $(test_pr_iso_control_DEPENDENCIES) + @rm -f test-pr_iso_control$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_iso_control_OBJECTS) $(test_pr_iso_control_LDADD) $(LIBS) +unictype/test-pr_join_control.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_join_control$(EXEEXT): $(test_pr_join_control_OBJECTS) $(test_pr_join_control_DEPENDENCIES) + @rm -f test-pr_join_control$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_join_control_OBJECTS) $(test_pr_join_control_LDADD) $(LIBS) +unictype/test-pr_left_of_pair.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_left_of_pair$(EXEEXT): $(test_pr_left_of_pair_OBJECTS) $(test_pr_left_of_pair_DEPENDENCIES) + @rm -f test-pr_left_of_pair$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_left_of_pair_OBJECTS) $(test_pr_left_of_pair_LDADD) $(LIBS) +unictype/test-pr_line_separator.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_line_separator$(EXEEXT): $(test_pr_line_separator_OBJECTS) $(test_pr_line_separator_DEPENDENCIES) + @rm -f test-pr_line_separator$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_line_separator_OBJECTS) $(test_pr_line_separator_LDADD) $(LIBS) +unictype/test-pr_logical_order_exception.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_logical_order_exception$(EXEEXT): $(test_pr_logical_order_exception_OBJECTS) $(test_pr_logical_order_exception_DEPENDENCIES) + @rm -f test-pr_logical_order_exception$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_logical_order_exception_OBJECTS) $(test_pr_logical_order_exception_LDADD) $(LIBS) +unictype/test-pr_lowercase.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_lowercase$(EXEEXT): $(test_pr_lowercase_OBJECTS) $(test_pr_lowercase_DEPENDENCIES) + @rm -f test-pr_lowercase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_lowercase_OBJECTS) $(test_pr_lowercase_LDADD) $(LIBS) +unictype/test-pr_math.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_math$(EXEEXT): $(test_pr_math_OBJECTS) $(test_pr_math_DEPENDENCIES) + @rm -f test-pr_math$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_math_OBJECTS) $(test_pr_math_LDADD) $(LIBS) +unictype/test-pr_non_break.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_non_break$(EXEEXT): $(test_pr_non_break_OBJECTS) $(test_pr_non_break_DEPENDENCIES) + @rm -f test-pr_non_break$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_non_break_OBJECTS) $(test_pr_non_break_LDADD) $(LIBS) +unictype/test-pr_not_a_character.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_not_a_character$(EXEEXT): $(test_pr_not_a_character_OBJECTS) $(test_pr_not_a_character_DEPENDENCIES) + @rm -f test-pr_not_a_character$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_not_a_character_OBJECTS) $(test_pr_not_a_character_LDADD) $(LIBS) +unictype/test-pr_numeric.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_numeric$(EXEEXT): $(test_pr_numeric_OBJECTS) $(test_pr_numeric_DEPENDENCIES) + @rm -f test-pr_numeric$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_numeric_OBJECTS) $(test_pr_numeric_LDADD) $(LIBS) +unictype/test-pr_other_alphabetic.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_other_alphabetic$(EXEEXT): $(test_pr_other_alphabetic_OBJECTS) $(test_pr_other_alphabetic_DEPENDENCIES) + @rm -f test-pr_other_alphabetic$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_other_alphabetic_OBJECTS) $(test_pr_other_alphabetic_LDADD) $(LIBS) +unictype/test-pr_other_default_ignorable_code_point.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_other_default_ignorable_code_point$(EXEEXT): $(test_pr_other_default_ignorable_code_point_OBJECTS) $(test_pr_other_default_ignorable_code_point_DEPENDENCIES) + @rm -f test-pr_other_default_ignorable_code_point$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_other_default_ignorable_code_point_OBJECTS) $(test_pr_other_default_ignorable_code_point_LDADD) $(LIBS) +unictype/test-pr_other_grapheme_extend.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_other_grapheme_extend$(EXEEXT): $(test_pr_other_grapheme_extend_OBJECTS) $(test_pr_other_grapheme_extend_DEPENDENCIES) + @rm -f test-pr_other_grapheme_extend$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_other_grapheme_extend_OBJECTS) $(test_pr_other_grapheme_extend_LDADD) $(LIBS) +unictype/test-pr_other_id_continue.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_other_id_continue$(EXEEXT): $(test_pr_other_id_continue_OBJECTS) $(test_pr_other_id_continue_DEPENDENCIES) + @rm -f test-pr_other_id_continue$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_other_id_continue_OBJECTS) $(test_pr_other_id_continue_LDADD) $(LIBS) +unictype/test-pr_other_id_start.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_other_id_start$(EXEEXT): $(test_pr_other_id_start_OBJECTS) $(test_pr_other_id_start_DEPENDENCIES) + @rm -f test-pr_other_id_start$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_other_id_start_OBJECTS) $(test_pr_other_id_start_LDADD) $(LIBS) +unictype/test-pr_other_lowercase.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_other_lowercase$(EXEEXT): $(test_pr_other_lowercase_OBJECTS) $(test_pr_other_lowercase_DEPENDENCIES) + @rm -f test-pr_other_lowercase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_other_lowercase_OBJECTS) $(test_pr_other_lowercase_LDADD) $(LIBS) +unictype/test-pr_other_math.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_other_math$(EXEEXT): $(test_pr_other_math_OBJECTS) $(test_pr_other_math_DEPENDENCIES) + @rm -f test-pr_other_math$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_other_math_OBJECTS) $(test_pr_other_math_LDADD) $(LIBS) +unictype/test-pr_other_uppercase.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_other_uppercase$(EXEEXT): $(test_pr_other_uppercase_OBJECTS) $(test_pr_other_uppercase_DEPENDENCIES) + @rm -f test-pr_other_uppercase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_other_uppercase_OBJECTS) $(test_pr_other_uppercase_LDADD) $(LIBS) +unictype/test-pr_paired_punctuation.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_paired_punctuation$(EXEEXT): $(test_pr_paired_punctuation_OBJECTS) $(test_pr_paired_punctuation_DEPENDENCIES) + @rm -f test-pr_paired_punctuation$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_paired_punctuation_OBJECTS) $(test_pr_paired_punctuation_LDADD) $(LIBS) +unictype/test-pr_paragraph_separator.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_paragraph_separator$(EXEEXT): $(test_pr_paragraph_separator_OBJECTS) $(test_pr_paragraph_separator_DEPENDENCIES) + @rm -f test-pr_paragraph_separator$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_paragraph_separator_OBJECTS) $(test_pr_paragraph_separator_LDADD) $(LIBS) +unictype/test-pr_pattern_syntax.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_pattern_syntax$(EXEEXT): $(test_pr_pattern_syntax_OBJECTS) $(test_pr_pattern_syntax_DEPENDENCIES) + @rm -f test-pr_pattern_syntax$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_pattern_syntax_OBJECTS) $(test_pr_pattern_syntax_LDADD) $(LIBS) +unictype/test-pr_pattern_white_space.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_pattern_white_space$(EXEEXT): $(test_pr_pattern_white_space_OBJECTS) $(test_pr_pattern_white_space_DEPENDENCIES) + @rm -f test-pr_pattern_white_space$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_pattern_white_space_OBJECTS) $(test_pr_pattern_white_space_LDADD) $(LIBS) +unictype/test-pr_private_use.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_private_use$(EXEEXT): $(test_pr_private_use_OBJECTS) $(test_pr_private_use_DEPENDENCIES) + @rm -f test-pr_private_use$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_private_use_OBJECTS) $(test_pr_private_use_LDADD) $(LIBS) +unictype/test-pr_punctuation.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_punctuation$(EXEEXT): $(test_pr_punctuation_OBJECTS) $(test_pr_punctuation_DEPENDENCIES) + @rm -f test-pr_punctuation$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_punctuation_OBJECTS) $(test_pr_punctuation_LDADD) $(LIBS) +unictype/test-pr_quotation_mark.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_quotation_mark$(EXEEXT): $(test_pr_quotation_mark_OBJECTS) $(test_pr_quotation_mark_DEPENDENCIES) + @rm -f test-pr_quotation_mark$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_quotation_mark_OBJECTS) $(test_pr_quotation_mark_LDADD) $(LIBS) +unictype/test-pr_radical.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_radical$(EXEEXT): $(test_pr_radical_OBJECTS) $(test_pr_radical_DEPENDENCIES) + @rm -f test-pr_radical$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_radical_OBJECTS) $(test_pr_radical_LDADD) $(LIBS) +unictype/test-pr_sentence_terminal.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_sentence_terminal$(EXEEXT): $(test_pr_sentence_terminal_OBJECTS) $(test_pr_sentence_terminal_DEPENDENCIES) + @rm -f test-pr_sentence_terminal$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_sentence_terminal_OBJECTS) $(test_pr_sentence_terminal_LDADD) $(LIBS) +unictype/test-pr_soft_dotted.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_soft_dotted$(EXEEXT): $(test_pr_soft_dotted_OBJECTS) $(test_pr_soft_dotted_DEPENDENCIES) + @rm -f test-pr_soft_dotted$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_soft_dotted_OBJECTS) $(test_pr_soft_dotted_LDADD) $(LIBS) +unictype/test-pr_space.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_space$(EXEEXT): $(test_pr_space_OBJECTS) $(test_pr_space_DEPENDENCIES) + @rm -f test-pr_space$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_space_OBJECTS) $(test_pr_space_LDADD) $(LIBS) +unictype/test-pr_terminal_punctuation.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_terminal_punctuation$(EXEEXT): $(test_pr_terminal_punctuation_OBJECTS) $(test_pr_terminal_punctuation_DEPENDENCIES) + @rm -f test-pr_terminal_punctuation$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_terminal_punctuation_OBJECTS) $(test_pr_terminal_punctuation_LDADD) $(LIBS) +unictype/test-pr_test.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_test$(EXEEXT): $(test_pr_test_OBJECTS) $(test_pr_test_DEPENDENCIES) + @rm -f test-pr_test$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_test_OBJECTS) $(test_pr_test_LDADD) $(LIBS) +unictype/test-pr_titlecase.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_titlecase$(EXEEXT): $(test_pr_titlecase_OBJECTS) $(test_pr_titlecase_DEPENDENCIES) + @rm -f test-pr_titlecase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_titlecase_OBJECTS) $(test_pr_titlecase_LDADD) $(LIBS) +unictype/test-pr_unassigned_code_value.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_unassigned_code_value$(EXEEXT): $(test_pr_unassigned_code_value_OBJECTS) $(test_pr_unassigned_code_value_DEPENDENCIES) + @rm -f test-pr_unassigned_code_value$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_unassigned_code_value_OBJECTS) $(test_pr_unassigned_code_value_LDADD) $(LIBS) +unictype/test-pr_unified_ideograph.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_unified_ideograph$(EXEEXT): $(test_pr_unified_ideograph_OBJECTS) $(test_pr_unified_ideograph_DEPENDENCIES) + @rm -f test-pr_unified_ideograph$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_unified_ideograph_OBJECTS) $(test_pr_unified_ideograph_LDADD) $(LIBS) +unictype/test-pr_uppercase.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_uppercase$(EXEEXT): $(test_pr_uppercase_OBJECTS) $(test_pr_uppercase_DEPENDENCIES) + @rm -f test-pr_uppercase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_uppercase_OBJECTS) $(test_pr_uppercase_LDADD) $(LIBS) +unictype/test-pr_variation_selector.$(OBJEXT): \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_variation_selector$(EXEEXT): $(test_pr_variation_selector_OBJECTS) $(test_pr_variation_selector_DEPENDENCIES) + @rm -f test-pr_variation_selector$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_variation_selector_OBJECTS) $(test_pr_variation_selector_LDADD) $(LIBS) +unictype/test-pr_white_space.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_white_space$(EXEEXT): $(test_pr_white_space_OBJECTS) $(test_pr_white_space_DEPENDENCIES) + @rm -f test-pr_white_space$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_white_space_OBJECTS) $(test_pr_white_space_LDADD) $(LIBS) +unictype/test-pr_xid_continue.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_xid_continue$(EXEEXT): $(test_pr_xid_continue_OBJECTS) $(test_pr_xid_continue_DEPENDENCIES) + @rm -f test-pr_xid_continue$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_xid_continue_OBJECTS) $(test_pr_xid_continue_LDADD) $(LIBS) +unictype/test-pr_xid_start.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_xid_start$(EXEEXT): $(test_pr_xid_start_OBJECTS) $(test_pr_xid_start_DEPENDENCIES) + @rm -f test-pr_xid_start$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_xid_start_OBJECTS) $(test_pr_xid_start_LDADD) $(LIBS) +unictype/test-pr_zero_width.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-pr_zero_width$(EXEEXT): $(test_pr_zero_width_OBJECTS) $(test_pr_zero_width_DEPENDENCIES) + @rm -f test-pr_zero_width$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pr_zero_width_OBJECTS) $(test_pr_zero_width_LDADD) $(LIBS) +test-printf-frexp$(EXEEXT): $(test_printf_frexp_OBJECTS) $(test_printf_frexp_DEPENDENCIES) + @rm -f test-printf-frexp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_printf_frexp_OBJECTS) $(test_printf_frexp_LDADD) $(LIBS) +test-printf-frexpl$(EXEEXT): $(test_printf_frexpl_OBJECTS) $(test_printf_frexpl_DEPENDENCIES) + @rm -f test-printf-frexpl$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_printf_frexpl_OBJECTS) $(test_printf_frexpl_LDADD) $(LIBS) +unictype/test-scripts.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-scripts$(EXEEXT): $(test_scripts_OBJECTS) $(test_scripts_DEPENDENCIES) + @rm -f test-scripts$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_scripts_OBJECTS) $(test_scripts_LDADD) $(LIBS) +test-signbit$(EXEEXT): $(test_signbit_OBJECTS) $(test_signbit_DEPENDENCIES) + @rm -f test-signbit$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_signbit_OBJECTS) $(test_signbit_LDADD) $(LIBS) +test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES) + @rm -f test-stdbool$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS) +test-stdint$(EXEEXT): $(test_stdint_OBJECTS) $(test_stdint_DEPENDENCIES) + @rm -f test-stdint$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_stdint_OBJECTS) $(test_stdint_LDADD) $(LIBS) +test-stdlib$(EXEEXT): $(test_stdlib_OBJECTS) $(test_stdlib_DEPENDENCIES) + @rm -f test-stdlib$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_stdlib_OBJECTS) $(test_stdlib_LDADD) $(LIBS) +test-strerror$(EXEEXT): $(test_strerror_OBJECTS) $(test_strerror_DEPENDENCIES) + @rm -f test-strerror$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_strerror_OBJECTS) $(test_strerror_LDADD) $(LIBS) +test-striconveh$(EXEEXT): $(test_striconveh_OBJECTS) $(test_striconveh_DEPENDENCIES) + @rm -f test-striconveh$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_striconveh_OBJECTS) $(test_striconveh_LDADD) $(LIBS) +test-striconveha$(EXEEXT): $(test_striconveha_OBJECTS) $(test_striconveha_DEPENDENCIES) + @rm -f test-striconveha$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_striconveha_OBJECTS) $(test_striconveha_LDADD) $(LIBS) +test-string$(EXEEXT): $(test_string_OBJECTS) $(test_string_DEPENDENCIES) + @rm -f test-string$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_string_OBJECTS) $(test_string_LDADD) $(LIBS) +unictype/test-sy_c_ident.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-sy_c_ident$(EXEEXT): $(test_sy_c_ident_OBJECTS) $(test_sy_c_ident_DEPENDENCIES) + @rm -f test-sy_c_ident$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_sy_c_ident_OBJECTS) $(test_sy_c_ident_LDADD) $(LIBS) +unictype/test-sy_c_whitespace.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-sy_c_whitespace$(EXEEXT): $(test_sy_c_whitespace_OBJECTS) $(test_sy_c_whitespace_DEPENDENCIES) + @rm -f test-sy_c_whitespace$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_sy_c_whitespace_OBJECTS) $(test_sy_c_whitespace_LDADD) $(LIBS) +unictype/test-sy_java_ident.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-sy_java_ident$(EXEEXT): $(test_sy_java_ident_OBJECTS) $(test_sy_java_ident_DEPENDENCIES) + @rm -f test-sy_java_ident$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_sy_java_ident_OBJECTS) $(test_sy_java_ident_LDADD) $(LIBS) +unictype/test-sy_java_whitespace.$(OBJEXT): unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +test-sy_java_whitespace$(EXEEXT): $(test_sy_java_whitespace_OBJECTS) $(test_sy_java_whitespace_DEPENDENCIES) + @rm -f test-sy_java_whitespace$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_sy_java_whitespace_OBJECTS) $(test_sy_java_whitespace_LDADD) $(LIBS) +unistdio/$(am__dirstamp): + @$(MKDIR_P) unistdio + @: > unistdio/$(am__dirstamp) +unistdio/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) unistdio/$(DEPDIR) + @: > unistdio/$(DEPDIR)/$(am__dirstamp) +unistdio/test-u16-asnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u16-asnprintf1$(EXEEXT): $(test_u16_asnprintf1_OBJECTS) $(test_u16_asnprintf1_DEPENDENCIES) + @rm -f test-u16-asnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_asnprintf1_OBJECTS) $(test_u16_asnprintf1_LDADD) $(LIBS) +unicase/test-u16-casecmp.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u16-casecmp$(EXEEXT): $(test_u16_casecmp_OBJECTS) $(test_u16_casecmp_DEPENDENCIES) + @rm -f test-u16-casecmp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_casecmp_OBJECTS) $(test_u16_casecmp_LDADD) $(LIBS) +unicase/test-u16-casecoll.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u16-casecoll$(EXEEXT): $(test_u16_casecoll_OBJECTS) $(test_u16_casecoll_DEPENDENCIES) + @rm -f test-u16-casecoll$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_casecoll_OBJECTS) $(test_u16_casecoll_LDADD) $(LIBS) +unicase/test-u16-casefold.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u16-casefold$(EXEEXT): $(test_u16_casefold_OBJECTS) $(test_u16_casefold_DEPENDENCIES) + @rm -f test-u16-casefold$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_casefold_OBJECTS) $(test_u16_casefold_LDADD) $(LIBS) +uniconv/$(am__dirstamp): + @$(MKDIR_P) uniconv + @: > uniconv/$(am__dirstamp) +uniconv/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) uniconv/$(DEPDIR) + @: > uniconv/$(DEPDIR)/$(am__dirstamp) +uniconv/test-u16-conv-from-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u16-conv-from-enc$(EXEEXT): $(test_u16_conv_from_enc_OBJECTS) $(test_u16_conv_from_enc_DEPENDENCIES) + @rm -f test-u16-conv-from-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_conv_from_enc_OBJECTS) $(test_u16_conv_from_enc_LDADD) $(LIBS) +uniconv/test-u16-conv-to-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u16-conv-to-enc$(EXEEXT): $(test_u16_conv_to_enc_OBJECTS) $(test_u16_conv_to_enc_DEPENDENCIES) + @rm -f test-u16-conv-to-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_conv_to_enc_OBJECTS) $(test_u16_conv_to_enc_LDADD) $(LIBS) +unicase/test-u16-is-cased.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u16-is-cased$(EXEEXT): $(test_u16_is_cased_OBJECTS) $(test_u16_is_cased_DEPENDENCIES) + @rm -f test-u16-is-cased$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_is_cased_OBJECTS) $(test_u16_is_cased_LDADD) $(LIBS) +unicase/test-u16-is-casefolded.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u16-is-casefolded$(EXEEXT): $(test_u16_is_casefolded_OBJECTS) $(test_u16_is_casefolded_DEPENDENCIES) + @rm -f test-u16-is-casefolded$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_is_casefolded_OBJECTS) $(test_u16_is_casefolded_LDADD) $(LIBS) +unicase/test-u16-is-lowercase.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u16-is-lowercase$(EXEEXT): $(test_u16_is_lowercase_OBJECTS) $(test_u16_is_lowercase_DEPENDENCIES) + @rm -f test-u16-is-lowercase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_is_lowercase_OBJECTS) $(test_u16_is_lowercase_LDADD) $(LIBS) +unicase/test-u16-is-titlecase.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u16-is-titlecase$(EXEEXT): $(test_u16_is_titlecase_OBJECTS) $(test_u16_is_titlecase_DEPENDENCIES) + @rm -f test-u16-is-titlecase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_is_titlecase_OBJECTS) $(test_u16_is_titlecase_LDADD) $(LIBS) +unicase/test-u16-is-uppercase.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u16-is-uppercase$(EXEEXT): $(test_u16_is_uppercase_OBJECTS) $(test_u16_is_uppercase_DEPENDENCIES) + @rm -f test-u16-is-uppercase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_is_uppercase_OBJECTS) $(test_u16_is_uppercase_LDADD) $(LIBS) +uninorm/test-u16-normcmp.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-u16-normcmp$(EXEEXT): $(test_u16_normcmp_OBJECTS) $(test_u16_normcmp_DEPENDENCIES) + @rm -f test-u16-normcmp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_normcmp_OBJECTS) $(test_u16_normcmp_LDADD) $(LIBS) +uninorm/test-u16-normcoll.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-u16-normcoll$(EXEEXT): $(test_u16_normcoll_OBJECTS) $(test_u16_normcoll_DEPENDENCIES) + @rm -f test-u16-normcoll$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_normcoll_OBJECTS) $(test_u16_normcoll_LDADD) $(LIBS) +unilbrk/$(am__dirstamp): + @$(MKDIR_P) unilbrk + @: > unilbrk/$(am__dirstamp) +unilbrk/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) unilbrk/$(DEPDIR) + @: > unilbrk/$(DEPDIR)/$(am__dirstamp) +unilbrk/test-u16-possible-linebreaks.$(OBJEXT): \ + unilbrk/$(am__dirstamp) unilbrk/$(DEPDIR)/$(am__dirstamp) +test-u16-possible-linebreaks$(EXEEXT): $(test_u16_possible_linebreaks_OBJECTS) $(test_u16_possible_linebreaks_DEPENDENCIES) + @rm -f test-u16-possible-linebreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_possible_linebreaks_OBJECTS) $(test_u16_possible_linebreaks_LDADD) $(LIBS) +uniconv/test-u16-strconv-from-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u16-strconv-from-enc$(EXEEXT): $(test_u16_strconv_from_enc_OBJECTS) $(test_u16_strconv_from_enc_DEPENDENCIES) + @rm -f test-u16-strconv-from-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_strconv_from_enc_OBJECTS) $(test_u16_strconv_from_enc_LDADD) $(LIBS) +uniconv/test-u16-strconv-to-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u16-strconv-to-enc$(EXEEXT): $(test_u16_strconv_to_enc_OBJECTS) $(test_u16_strconv_to_enc_DEPENDENCIES) + @rm -f test-u16-strconv-to-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_strconv_to_enc_OBJECTS) $(test_u16_strconv_to_enc_LDADD) $(LIBS) +uniwidth/$(am__dirstamp): + @$(MKDIR_P) uniwidth + @: > uniwidth/$(am__dirstamp) +uniwidth/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) uniwidth/$(DEPDIR) + @: > uniwidth/$(DEPDIR)/$(am__dirstamp) +uniwidth/test-u16-strwidth.$(OBJEXT): uniwidth/$(am__dirstamp) \ + uniwidth/$(DEPDIR)/$(am__dirstamp) +test-u16-strwidth$(EXEEXT): $(test_u16_strwidth_OBJECTS) $(test_u16_strwidth_DEPENDENCIES) + @rm -f test-u16-strwidth$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_strwidth_OBJECTS) $(test_u16_strwidth_LDADD) $(LIBS) +unicase/test-u16-tolower.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u16-tolower$(EXEEXT): $(test_u16_tolower_OBJECTS) $(test_u16_tolower_DEPENDENCIES) + @rm -f test-u16-tolower$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_tolower_OBJECTS) $(test_u16_tolower_LDADD) $(LIBS) +unicase/test-u16-totitle.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u16-totitle$(EXEEXT): $(test_u16_totitle_OBJECTS) $(test_u16_totitle_DEPENDENCIES) + @rm -f test-u16-totitle$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_totitle_OBJECTS) $(test_u16_totitle_LDADD) $(LIBS) +unicase/test-u16-toupper.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u16-toupper$(EXEEXT): $(test_u16_toupper_OBJECTS) $(test_u16_toupper_DEPENDENCIES) + @rm -f test-u16-toupper$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_toupper_OBJECTS) $(test_u16_toupper_LDADD) $(LIBS) +unistdio/test-u16-vasnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u16-vasnprintf1$(EXEEXT): $(test_u16_vasnprintf1_OBJECTS) $(test_u16_vasnprintf1_DEPENDENCIES) + @rm -f test-u16-vasnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_vasnprintf1_OBJECTS) $(test_u16_vasnprintf1_LDADD) $(LIBS) +unistdio/test-u16-vasnprintf2.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u16-vasnprintf2$(EXEEXT): $(test_u16_vasnprintf2_OBJECTS) $(test_u16_vasnprintf2_DEPENDENCIES) + @rm -f test-u16-vasnprintf2$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_vasnprintf2_OBJECTS) $(test_u16_vasnprintf2_LDADD) $(LIBS) +unistdio/test-u16-vasnprintf3.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u16-vasnprintf3$(EXEEXT): $(test_u16_vasnprintf3_OBJECTS) $(test_u16_vasnprintf3_DEPENDENCIES) + @rm -f test-u16-vasnprintf3$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_vasnprintf3_OBJECTS) $(test_u16_vasnprintf3_LDADD) $(LIBS) +unistdio/test-u16-vasprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u16-vasprintf1$(EXEEXT): $(test_u16_vasprintf1_OBJECTS) $(test_u16_vasprintf1_DEPENDENCIES) + @rm -f test-u16-vasprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_vasprintf1_OBJECTS) $(test_u16_vasprintf1_LDADD) $(LIBS) +unistdio/test-u16-vsnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u16-vsnprintf1$(EXEEXT): $(test_u16_vsnprintf1_OBJECTS) $(test_u16_vsnprintf1_DEPENDENCIES) + @rm -f test-u16-vsnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_vsnprintf1_OBJECTS) $(test_u16_vsnprintf1_LDADD) $(LIBS) +unistdio/test-u16-vsprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u16-vsprintf1$(EXEEXT): $(test_u16_vsprintf1_OBJECTS) $(test_u16_vsprintf1_DEPENDENCIES) + @rm -f test-u16-vsprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_vsprintf1_OBJECTS) $(test_u16_vsprintf1_LDADD) $(LIBS) +uniwidth/test-u16-width.$(OBJEXT): uniwidth/$(am__dirstamp) \ + uniwidth/$(DEPDIR)/$(am__dirstamp) +test-u16-width$(EXEEXT): $(test_u16_width_OBJECTS) $(test_u16_width_DEPENDENCIES) + @rm -f test-u16-width$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_width_OBJECTS) $(test_u16_width_LDADD) $(LIBS) +unilbrk/test-u16-width-linebreaks.$(OBJEXT): unilbrk/$(am__dirstamp) \ + unilbrk/$(DEPDIR)/$(am__dirstamp) +test-u16-width-linebreaks$(EXEEXT): $(test_u16_width_linebreaks_OBJECTS) $(test_u16_width_linebreaks_DEPENDENCIES) + @rm -f test-u16-width-linebreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_width_linebreaks_OBJECTS) $(test_u16_width_linebreaks_LDADD) $(LIBS) +uniwbrk/$(am__dirstamp): + @$(MKDIR_P) uniwbrk + @: > uniwbrk/$(am__dirstamp) +uniwbrk/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) uniwbrk/$(DEPDIR) + @: > uniwbrk/$(DEPDIR)/$(am__dirstamp) +uniwbrk/test-u16-wordbreaks.$(OBJEXT): uniwbrk/$(am__dirstamp) \ + uniwbrk/$(DEPDIR)/$(am__dirstamp) +test-u16-wordbreaks$(EXEEXT): $(test_u16_wordbreaks_OBJECTS) $(test_u16_wordbreaks_DEPENDENCIES) + @rm -f test-u16-wordbreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u16_wordbreaks_OBJECTS) $(test_u16_wordbreaks_LDADD) $(LIBS) +unistdio/test-u32-asnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u32-asnprintf1$(EXEEXT): $(test_u32_asnprintf1_OBJECTS) $(test_u32_asnprintf1_DEPENDENCIES) + @rm -f test-u32-asnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_asnprintf1_OBJECTS) $(test_u32_asnprintf1_LDADD) $(LIBS) +unicase/test-u32-casecmp.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u32-casecmp$(EXEEXT): $(test_u32_casecmp_OBJECTS) $(test_u32_casecmp_DEPENDENCIES) + @rm -f test-u32-casecmp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_casecmp_OBJECTS) $(test_u32_casecmp_LDADD) $(LIBS) +unicase/test-u32-casecoll.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u32-casecoll$(EXEEXT): $(test_u32_casecoll_OBJECTS) $(test_u32_casecoll_DEPENDENCIES) + @rm -f test-u32-casecoll$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_casecoll_OBJECTS) $(test_u32_casecoll_LDADD) $(LIBS) +unicase/test-u32-casefold.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u32-casefold$(EXEEXT): $(test_u32_casefold_OBJECTS) $(test_u32_casefold_DEPENDENCIES) + @rm -f test-u32-casefold$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_casefold_OBJECTS) $(test_u32_casefold_LDADD) $(LIBS) +uniconv/test-u32-conv-from-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u32-conv-from-enc$(EXEEXT): $(test_u32_conv_from_enc_OBJECTS) $(test_u32_conv_from_enc_DEPENDENCIES) + @rm -f test-u32-conv-from-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_conv_from_enc_OBJECTS) $(test_u32_conv_from_enc_LDADD) $(LIBS) +uniconv/test-u32-conv-to-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u32-conv-to-enc$(EXEEXT): $(test_u32_conv_to_enc_OBJECTS) $(test_u32_conv_to_enc_DEPENDENCIES) + @rm -f test-u32-conv-to-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_conv_to_enc_OBJECTS) $(test_u32_conv_to_enc_LDADD) $(LIBS) +unicase/test-u32-is-cased.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u32-is-cased$(EXEEXT): $(test_u32_is_cased_OBJECTS) $(test_u32_is_cased_DEPENDENCIES) + @rm -f test-u32-is-cased$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_is_cased_OBJECTS) $(test_u32_is_cased_LDADD) $(LIBS) +unicase/test-u32-is-casefolded.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u32-is-casefolded$(EXEEXT): $(test_u32_is_casefolded_OBJECTS) $(test_u32_is_casefolded_DEPENDENCIES) + @rm -f test-u32-is-casefolded$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_is_casefolded_OBJECTS) $(test_u32_is_casefolded_LDADD) $(LIBS) +unicase/test-u32-is-lowercase.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u32-is-lowercase$(EXEEXT): $(test_u32_is_lowercase_OBJECTS) $(test_u32_is_lowercase_DEPENDENCIES) + @rm -f test-u32-is-lowercase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_is_lowercase_OBJECTS) $(test_u32_is_lowercase_LDADD) $(LIBS) +unicase/test-u32-is-titlecase.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u32-is-titlecase$(EXEEXT): $(test_u32_is_titlecase_OBJECTS) $(test_u32_is_titlecase_DEPENDENCIES) + @rm -f test-u32-is-titlecase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_is_titlecase_OBJECTS) $(test_u32_is_titlecase_LDADD) $(LIBS) +unicase/test-u32-is-uppercase.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u32-is-uppercase$(EXEEXT): $(test_u32_is_uppercase_OBJECTS) $(test_u32_is_uppercase_DEPENDENCIES) + @rm -f test-u32-is-uppercase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_is_uppercase_OBJECTS) $(test_u32_is_uppercase_LDADD) $(LIBS) +uninorm/test-u32-nfc-big.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/test-u32-normalize-big.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-u32-nfc-big$(EXEEXT): $(test_u32_nfc_big_OBJECTS) $(test_u32_nfc_big_DEPENDENCIES) + @rm -f test-u32-nfc-big$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_nfc_big_OBJECTS) $(test_u32_nfc_big_LDADD) $(LIBS) +uninorm/test-u32-nfd-big.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-u32-nfd-big$(EXEEXT): $(test_u32_nfd_big_OBJECTS) $(test_u32_nfd_big_DEPENDENCIES) + @rm -f test-u32-nfd-big$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_nfd_big_OBJECTS) $(test_u32_nfd_big_LDADD) $(LIBS) +uninorm/test-u32-nfkc-big.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-u32-nfkc-big$(EXEEXT): $(test_u32_nfkc_big_OBJECTS) $(test_u32_nfkc_big_DEPENDENCIES) + @rm -f test-u32-nfkc-big$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_nfkc_big_OBJECTS) $(test_u32_nfkc_big_LDADD) $(LIBS) +uninorm/test-u32-nfkd-big.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-u32-nfkd-big$(EXEEXT): $(test_u32_nfkd_big_OBJECTS) $(test_u32_nfkd_big_DEPENDENCIES) + @rm -f test-u32-nfkd-big$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_nfkd_big_OBJECTS) $(test_u32_nfkd_big_LDADD) $(LIBS) +uninorm/test-u32-normcmp.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-u32-normcmp$(EXEEXT): $(test_u32_normcmp_OBJECTS) $(test_u32_normcmp_DEPENDENCIES) + @rm -f test-u32-normcmp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_normcmp_OBJECTS) $(test_u32_normcmp_LDADD) $(LIBS) +uninorm/test-u32-normcoll.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-u32-normcoll$(EXEEXT): $(test_u32_normcoll_OBJECTS) $(test_u32_normcoll_DEPENDENCIES) + @rm -f test-u32-normcoll$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_normcoll_OBJECTS) $(test_u32_normcoll_LDADD) $(LIBS) +unilbrk/test-u32-possible-linebreaks.$(OBJEXT): \ + unilbrk/$(am__dirstamp) unilbrk/$(DEPDIR)/$(am__dirstamp) +test-u32-possible-linebreaks$(EXEEXT): $(test_u32_possible_linebreaks_OBJECTS) $(test_u32_possible_linebreaks_DEPENDENCIES) + @rm -f test-u32-possible-linebreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_possible_linebreaks_OBJECTS) $(test_u32_possible_linebreaks_LDADD) $(LIBS) +uniconv/test-u32-strconv-from-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u32-strconv-from-enc$(EXEEXT): $(test_u32_strconv_from_enc_OBJECTS) $(test_u32_strconv_from_enc_DEPENDENCIES) + @rm -f test-u32-strconv-from-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_strconv_from_enc_OBJECTS) $(test_u32_strconv_from_enc_LDADD) $(LIBS) +uniconv/test-u32-strconv-to-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u32-strconv-to-enc$(EXEEXT): $(test_u32_strconv_to_enc_OBJECTS) $(test_u32_strconv_to_enc_DEPENDENCIES) + @rm -f test-u32-strconv-to-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_strconv_to_enc_OBJECTS) $(test_u32_strconv_to_enc_LDADD) $(LIBS) +uniwidth/test-u32-strwidth.$(OBJEXT): uniwidth/$(am__dirstamp) \ + uniwidth/$(DEPDIR)/$(am__dirstamp) +test-u32-strwidth$(EXEEXT): $(test_u32_strwidth_OBJECTS) $(test_u32_strwidth_DEPENDENCIES) + @rm -f test-u32-strwidth$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_strwidth_OBJECTS) $(test_u32_strwidth_LDADD) $(LIBS) +unicase/test-u32-tolower.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u32-tolower$(EXEEXT): $(test_u32_tolower_OBJECTS) $(test_u32_tolower_DEPENDENCIES) + @rm -f test-u32-tolower$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_tolower_OBJECTS) $(test_u32_tolower_LDADD) $(LIBS) +unicase/test-u32-totitle.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u32-totitle$(EXEEXT): $(test_u32_totitle_OBJECTS) $(test_u32_totitle_DEPENDENCIES) + @rm -f test-u32-totitle$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_totitle_OBJECTS) $(test_u32_totitle_LDADD) $(LIBS) +unicase/test-u32-toupper.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u32-toupper$(EXEEXT): $(test_u32_toupper_OBJECTS) $(test_u32_toupper_DEPENDENCIES) + @rm -f test-u32-toupper$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_toupper_OBJECTS) $(test_u32_toupper_LDADD) $(LIBS) +unistdio/test-u32-vasnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u32-vasnprintf1$(EXEEXT): $(test_u32_vasnprintf1_OBJECTS) $(test_u32_vasnprintf1_DEPENDENCIES) + @rm -f test-u32-vasnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_vasnprintf1_OBJECTS) $(test_u32_vasnprintf1_LDADD) $(LIBS) +unistdio/test-u32-vasnprintf2.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u32-vasnprintf2$(EXEEXT): $(test_u32_vasnprintf2_OBJECTS) $(test_u32_vasnprintf2_DEPENDENCIES) + @rm -f test-u32-vasnprintf2$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_vasnprintf2_OBJECTS) $(test_u32_vasnprintf2_LDADD) $(LIBS) +unistdio/test-u32-vasnprintf3.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u32-vasnprintf3$(EXEEXT): $(test_u32_vasnprintf3_OBJECTS) $(test_u32_vasnprintf3_DEPENDENCIES) + @rm -f test-u32-vasnprintf3$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_vasnprintf3_OBJECTS) $(test_u32_vasnprintf3_LDADD) $(LIBS) +unistdio/test-u32-vasprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u32-vasprintf1$(EXEEXT): $(test_u32_vasprintf1_OBJECTS) $(test_u32_vasprintf1_DEPENDENCIES) + @rm -f test-u32-vasprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_vasprintf1_OBJECTS) $(test_u32_vasprintf1_LDADD) $(LIBS) +unistdio/test-u32-vsnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u32-vsnprintf1$(EXEEXT): $(test_u32_vsnprintf1_OBJECTS) $(test_u32_vsnprintf1_DEPENDENCIES) + @rm -f test-u32-vsnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_vsnprintf1_OBJECTS) $(test_u32_vsnprintf1_LDADD) $(LIBS) +unistdio/test-u32-vsprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u32-vsprintf1$(EXEEXT): $(test_u32_vsprintf1_OBJECTS) $(test_u32_vsprintf1_DEPENDENCIES) + @rm -f test-u32-vsprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_vsprintf1_OBJECTS) $(test_u32_vsprintf1_LDADD) $(LIBS) +uniwidth/test-u32-width.$(OBJEXT): uniwidth/$(am__dirstamp) \ + uniwidth/$(DEPDIR)/$(am__dirstamp) +test-u32-width$(EXEEXT): $(test_u32_width_OBJECTS) $(test_u32_width_DEPENDENCIES) + @rm -f test-u32-width$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_width_OBJECTS) $(test_u32_width_LDADD) $(LIBS) +unilbrk/test-u32-width-linebreaks.$(OBJEXT): unilbrk/$(am__dirstamp) \ + unilbrk/$(DEPDIR)/$(am__dirstamp) +test-u32-width-linebreaks$(EXEEXT): $(test_u32_width_linebreaks_OBJECTS) $(test_u32_width_linebreaks_DEPENDENCIES) + @rm -f test-u32-width-linebreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_width_linebreaks_OBJECTS) $(test_u32_width_linebreaks_LDADD) $(LIBS) +uniwbrk/test-u32-wordbreaks.$(OBJEXT): uniwbrk/$(am__dirstamp) \ + uniwbrk/$(DEPDIR)/$(am__dirstamp) +test-u32-wordbreaks$(EXEEXT): $(test_u32_wordbreaks_OBJECTS) $(test_u32_wordbreaks_DEPENDENCIES) + @rm -f test-u32-wordbreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u32_wordbreaks_OBJECTS) $(test_u32_wordbreaks_LDADD) $(LIBS) +unistdio/test-u8-asnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u8-asnprintf1$(EXEEXT): $(test_u8_asnprintf1_OBJECTS) $(test_u8_asnprintf1_DEPENDENCIES) + @rm -f test-u8-asnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_asnprintf1_OBJECTS) $(test_u8_asnprintf1_LDADD) $(LIBS) +unicase/test-u8-casecmp.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u8-casecmp$(EXEEXT): $(test_u8_casecmp_OBJECTS) $(test_u8_casecmp_DEPENDENCIES) + @rm -f test-u8-casecmp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_casecmp_OBJECTS) $(test_u8_casecmp_LDADD) $(LIBS) +unicase/test-u8-casecoll.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u8-casecoll$(EXEEXT): $(test_u8_casecoll_OBJECTS) $(test_u8_casecoll_DEPENDENCIES) + @rm -f test-u8-casecoll$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_casecoll_OBJECTS) $(test_u8_casecoll_LDADD) $(LIBS) +unicase/test-u8-casefold.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u8-casefold$(EXEEXT): $(test_u8_casefold_OBJECTS) $(test_u8_casefold_DEPENDENCIES) + @rm -f test-u8-casefold$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_casefold_OBJECTS) $(test_u8_casefold_LDADD) $(LIBS) +uniconv/test-u8-conv-from-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u8-conv-from-enc$(EXEEXT): $(test_u8_conv_from_enc_OBJECTS) $(test_u8_conv_from_enc_DEPENDENCIES) + @rm -f test-u8-conv-from-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_conv_from_enc_OBJECTS) $(test_u8_conv_from_enc_LDADD) $(LIBS) +uniconv/test-u8-conv-to-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u8-conv-to-enc$(EXEEXT): $(test_u8_conv_to_enc_OBJECTS) $(test_u8_conv_to_enc_DEPENDENCIES) + @rm -f test-u8-conv-to-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_conv_to_enc_OBJECTS) $(test_u8_conv_to_enc_LDADD) $(LIBS) +unicase/test-u8-is-cased.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u8-is-cased$(EXEEXT): $(test_u8_is_cased_OBJECTS) $(test_u8_is_cased_DEPENDENCIES) + @rm -f test-u8-is-cased$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_is_cased_OBJECTS) $(test_u8_is_cased_LDADD) $(LIBS) +unicase/test-u8-is-casefolded.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u8-is-casefolded$(EXEEXT): $(test_u8_is_casefolded_OBJECTS) $(test_u8_is_casefolded_DEPENDENCIES) + @rm -f test-u8-is-casefolded$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_is_casefolded_OBJECTS) $(test_u8_is_casefolded_LDADD) $(LIBS) +unicase/test-u8-is-lowercase.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u8-is-lowercase$(EXEEXT): $(test_u8_is_lowercase_OBJECTS) $(test_u8_is_lowercase_DEPENDENCIES) + @rm -f test-u8-is-lowercase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_is_lowercase_OBJECTS) $(test_u8_is_lowercase_LDADD) $(LIBS) +unicase/test-u8-is-titlecase.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u8-is-titlecase$(EXEEXT): $(test_u8_is_titlecase_OBJECTS) $(test_u8_is_titlecase_DEPENDENCIES) + @rm -f test-u8-is-titlecase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_is_titlecase_OBJECTS) $(test_u8_is_titlecase_LDADD) $(LIBS) +unicase/test-u8-is-uppercase.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u8-is-uppercase$(EXEEXT): $(test_u8_is_uppercase_OBJECTS) $(test_u8_is_uppercase_DEPENDENCIES) + @rm -f test-u8-is-uppercase$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_is_uppercase_OBJECTS) $(test_u8_is_uppercase_LDADD) $(LIBS) +uninorm/test-u8-normcmp.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-u8-normcmp$(EXEEXT): $(test_u8_normcmp_OBJECTS) $(test_u8_normcmp_DEPENDENCIES) + @rm -f test-u8-normcmp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_normcmp_OBJECTS) $(test_u8_normcmp_LDADD) $(LIBS) +uninorm/test-u8-normcoll.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-u8-normcoll$(EXEEXT): $(test_u8_normcoll_OBJECTS) $(test_u8_normcoll_DEPENDENCIES) + @rm -f test-u8-normcoll$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_normcoll_OBJECTS) $(test_u8_normcoll_LDADD) $(LIBS) +unilbrk/test-u8-possible-linebreaks.$(OBJEXT): \ + unilbrk/$(am__dirstamp) unilbrk/$(DEPDIR)/$(am__dirstamp) +test-u8-possible-linebreaks$(EXEEXT): $(test_u8_possible_linebreaks_OBJECTS) $(test_u8_possible_linebreaks_DEPENDENCIES) + @rm -f test-u8-possible-linebreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_possible_linebreaks_OBJECTS) $(test_u8_possible_linebreaks_LDADD) $(LIBS) +uniconv/test-u8-strconv-from-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u8-strconv-from-enc$(EXEEXT): $(test_u8_strconv_from_enc_OBJECTS) $(test_u8_strconv_from_enc_DEPENDENCIES) + @rm -f test-u8-strconv-from-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_strconv_from_enc_OBJECTS) $(test_u8_strconv_from_enc_LDADD) $(LIBS) +uniconv/test-u8-strconv-to-enc.$(OBJEXT): uniconv/$(am__dirstamp) \ + uniconv/$(DEPDIR)/$(am__dirstamp) +test-u8-strconv-to-enc$(EXEEXT): $(test_u8_strconv_to_enc_OBJECTS) $(test_u8_strconv_to_enc_DEPENDENCIES) + @rm -f test-u8-strconv-to-enc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_strconv_to_enc_OBJECTS) $(test_u8_strconv_to_enc_LDADD) $(LIBS) +uniwidth/test-u8-strwidth.$(OBJEXT): uniwidth/$(am__dirstamp) \ + uniwidth/$(DEPDIR)/$(am__dirstamp) +test-u8-strwidth$(EXEEXT): $(test_u8_strwidth_OBJECTS) $(test_u8_strwidth_DEPENDENCIES) + @rm -f test-u8-strwidth$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_strwidth_OBJECTS) $(test_u8_strwidth_LDADD) $(LIBS) +unicase/test-u8-tolower.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u8-tolower$(EXEEXT): $(test_u8_tolower_OBJECTS) $(test_u8_tolower_DEPENDENCIES) + @rm -f test-u8-tolower$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_tolower_OBJECTS) $(test_u8_tolower_LDADD) $(LIBS) +unicase/test-u8-totitle.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u8-totitle$(EXEEXT): $(test_u8_totitle_OBJECTS) $(test_u8_totitle_DEPENDENCIES) + @rm -f test-u8-totitle$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_totitle_OBJECTS) $(test_u8_totitle_LDADD) $(LIBS) +unicase/test-u8-toupper.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-u8-toupper$(EXEEXT): $(test_u8_toupper_OBJECTS) $(test_u8_toupper_DEPENDENCIES) + @rm -f test-u8-toupper$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_toupper_OBJECTS) $(test_u8_toupper_LDADD) $(LIBS) +unistdio/test-u8-vasnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u8-vasnprintf1$(EXEEXT): $(test_u8_vasnprintf1_OBJECTS) $(test_u8_vasnprintf1_DEPENDENCIES) + @rm -f test-u8-vasnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_vasnprintf1_OBJECTS) $(test_u8_vasnprintf1_LDADD) $(LIBS) +unistdio/test-u8-vasnprintf2.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u8-vasnprintf2$(EXEEXT): $(test_u8_vasnprintf2_OBJECTS) $(test_u8_vasnprintf2_DEPENDENCIES) + @rm -f test-u8-vasnprintf2$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_vasnprintf2_OBJECTS) $(test_u8_vasnprintf2_LDADD) $(LIBS) +unistdio/test-u8-vasnprintf3.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u8-vasnprintf3$(EXEEXT): $(test_u8_vasnprintf3_OBJECTS) $(test_u8_vasnprintf3_DEPENDENCIES) + @rm -f test-u8-vasnprintf3$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_vasnprintf3_OBJECTS) $(test_u8_vasnprintf3_LDADD) $(LIBS) +unistdio/test-u8-vasprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u8-vasprintf1$(EXEEXT): $(test_u8_vasprintf1_OBJECTS) $(test_u8_vasprintf1_DEPENDENCIES) + @rm -f test-u8-vasprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_vasprintf1_OBJECTS) $(test_u8_vasprintf1_LDADD) $(LIBS) +unistdio/test-u8-vsnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u8-vsnprintf1$(EXEEXT): $(test_u8_vsnprintf1_OBJECTS) $(test_u8_vsnprintf1_DEPENDENCIES) + @rm -f test-u8-vsnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_vsnprintf1_OBJECTS) $(test_u8_vsnprintf1_LDADD) $(LIBS) +unistdio/test-u8-vsprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-u8-vsprintf1$(EXEEXT): $(test_u8_vsprintf1_OBJECTS) $(test_u8_vsprintf1_DEPENDENCIES) + @rm -f test-u8-vsprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_vsprintf1_OBJECTS) $(test_u8_vsprintf1_LDADD) $(LIBS) +uniwidth/test-u8-width.$(OBJEXT): uniwidth/$(am__dirstamp) \ + uniwidth/$(DEPDIR)/$(am__dirstamp) +test-u8-width$(EXEEXT): $(test_u8_width_OBJECTS) $(test_u8_width_DEPENDENCIES) + @rm -f test-u8-width$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_width_OBJECTS) $(test_u8_width_LDADD) $(LIBS) +unilbrk/test-u8-width-linebreaks.$(OBJEXT): unilbrk/$(am__dirstamp) \ + unilbrk/$(DEPDIR)/$(am__dirstamp) +test-u8-width-linebreaks$(EXEEXT): $(test_u8_width_linebreaks_OBJECTS) $(test_u8_width_linebreaks_DEPENDENCIES) + @rm -f test-u8-width-linebreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_width_linebreaks_OBJECTS) $(test_u8_width_linebreaks_LDADD) $(LIBS) +uniwbrk/test-u8-wordbreaks.$(OBJEXT): uniwbrk/$(am__dirstamp) \ + uniwbrk/$(DEPDIR)/$(am__dirstamp) +test-u8-wordbreaks$(EXEEXT): $(test_u8_wordbreaks_OBJECTS) $(test_u8_wordbreaks_DEPENDENCIES) + @rm -f test-u8-wordbreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_u8_wordbreaks_OBJECTS) $(test_u8_wordbreaks_LDADD) $(LIBS) +unicase/test-uc_tolower.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-uc_tolower$(EXEEXT): $(test_uc_tolower_OBJECTS) $(test_uc_tolower_DEPENDENCIES) + @rm -f test-uc_tolower$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_uc_tolower_OBJECTS) $(test_uc_tolower_LDADD) $(LIBS) +unicase/test-uc_totitle.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-uc_totitle$(EXEEXT): $(test_uc_totitle_OBJECTS) $(test_uc_totitle_DEPENDENCIES) + @rm -f test-uc_totitle$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_uc_totitle_OBJECTS) $(test_uc_totitle_LDADD) $(LIBS) +unicase/test-uc_toupper.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-uc_toupper$(EXEEXT): $(test_uc_toupper_OBJECTS) $(test_uc_toupper_DEPENDENCIES) + @rm -f test-uc_toupper$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_uc_toupper_OBJECTS) $(test_uc_toupper_LDADD) $(LIBS) +uniwidth/test-uc_width.$(OBJEXT): uniwidth/$(am__dirstamp) \ + uniwidth/$(DEPDIR)/$(am__dirstamp) +test-uc_width$(EXEEXT): $(test_uc_width_OBJECTS) $(test_uc_width_DEPENDENCIES) + @rm -f test-uc_width$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_uc_width_OBJECTS) $(test_uc_width_LDADD) $(LIBS) +uniwidth/test-uc_width2.$(OBJEXT): uniwidth/$(am__dirstamp) \ + uniwidth/$(DEPDIR)/$(am__dirstamp) +test-uc_width2$(EXEEXT): $(test_uc_width2_OBJECTS) $(test_uc_width2_DEPENDENCIES) + @rm -f test-uc_width2$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_uc_width2_OBJECTS) $(test_uc_width2_LDADD) $(LIBS) +unistdio/test-ulc-asnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-ulc-asnprintf1$(EXEEXT): $(test_ulc_asnprintf1_OBJECTS) $(test_ulc_asnprintf1_DEPENDENCIES) + @rm -f test-ulc-asnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_asnprintf1_OBJECTS) $(test_ulc_asnprintf1_LDADD) $(LIBS) +unicase/test-ulc-casecmp.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-ulc-casecmp$(EXEEXT): $(test_ulc_casecmp_OBJECTS) $(test_ulc_casecmp_DEPENDENCIES) + @rm -f test-ulc-casecmp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_casecmp_OBJECTS) $(test_ulc_casecmp_LDADD) $(LIBS) +unicase/test-ulc-casecoll.$(OBJEXT): unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +test-ulc-casecoll$(EXEEXT): $(test_ulc_casecoll_OBJECTS) $(test_ulc_casecoll_DEPENDENCIES) + @rm -f test-ulc-casecoll$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_casecoll_OBJECTS) $(test_ulc_casecoll_LDADD) $(LIBS) +unilbrk/test-ulc-possible-linebreaks.$(OBJEXT): \ + unilbrk/$(am__dirstamp) unilbrk/$(DEPDIR)/$(am__dirstamp) +test-ulc-possible-linebreaks$(EXEEXT): $(test_ulc_possible_linebreaks_OBJECTS) $(test_ulc_possible_linebreaks_DEPENDENCIES) + @rm -f test-ulc-possible-linebreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_possible_linebreaks_OBJECTS) $(test_ulc_possible_linebreaks_LDADD) $(LIBS) +unistdio/test-ulc-vasnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-ulc-vasnprintf1$(EXEEXT): $(test_ulc_vasnprintf1_OBJECTS) $(test_ulc_vasnprintf1_DEPENDENCIES) + @rm -f test-ulc-vasnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_vasnprintf1_OBJECTS) $(test_ulc_vasnprintf1_LDADD) $(LIBS) +unistdio/test-ulc-vasnprintf2.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-ulc-vasnprintf2$(EXEEXT): $(test_ulc_vasnprintf2_OBJECTS) $(test_ulc_vasnprintf2_DEPENDENCIES) + @rm -f test-ulc-vasnprintf2$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_vasnprintf2_OBJECTS) $(test_ulc_vasnprintf2_LDADD) $(LIBS) +unistdio/test-ulc-vasnprintf3.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-ulc-vasnprintf3$(EXEEXT): $(test_ulc_vasnprintf3_OBJECTS) $(test_ulc_vasnprintf3_DEPENDENCIES) + @rm -f test-ulc-vasnprintf3$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_vasnprintf3_OBJECTS) $(test_ulc_vasnprintf3_LDADD) $(LIBS) +unistdio/test-ulc-vasprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-ulc-vasprintf1$(EXEEXT): $(test_ulc_vasprintf1_OBJECTS) $(test_ulc_vasprintf1_DEPENDENCIES) + @rm -f test-ulc-vasprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_vasprintf1_OBJECTS) $(test_ulc_vasprintf1_LDADD) $(LIBS) +unistdio/test-ulc-vsnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-ulc-vsnprintf1$(EXEEXT): $(test_ulc_vsnprintf1_OBJECTS) $(test_ulc_vsnprintf1_DEPENDENCIES) + @rm -f test-ulc-vsnprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_vsnprintf1_OBJECTS) $(test_ulc_vsnprintf1_LDADD) $(LIBS) +unistdio/test-ulc-vsprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \ + unistdio/$(DEPDIR)/$(am__dirstamp) +test-ulc-vsprintf1$(EXEEXT): $(test_ulc_vsprintf1_OBJECTS) $(test_ulc_vsprintf1_DEPENDENCIES) + @rm -f test-ulc-vsprintf1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_vsprintf1_OBJECTS) $(test_ulc_vsprintf1_LDADD) $(LIBS) +unilbrk/test-ulc-width-linebreaks.$(OBJEXT): unilbrk/$(am__dirstamp) \ + unilbrk/$(DEPDIR)/$(am__dirstamp) +test-ulc-width-linebreaks$(EXEEXT): $(test_ulc_width_linebreaks_OBJECTS) $(test_ulc_width_linebreaks_DEPENDENCIES) + @rm -f test-ulc-width-linebreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_width_linebreaks_OBJECTS) $(test_ulc_width_linebreaks_LDADD) $(LIBS) +uniwbrk/test-ulc-wordbreaks.$(OBJEXT): uniwbrk/$(am__dirstamp) \ + uniwbrk/$(DEPDIR)/$(am__dirstamp) +test-ulc-wordbreaks$(EXEEXT): $(test_ulc_wordbreaks_OBJECTS) $(test_ulc_wordbreaks_DEPENDENCIES) + @rm -f test-ulc-wordbreaks$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_ulc_wordbreaks_OBJECTS) $(test_ulc_wordbreaks_LDADD) $(LIBS) +uniname/$(am__dirstamp): + @$(MKDIR_P) uniname + @: > uniname/$(am__dirstamp) +uniname/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) uniname/$(DEPDIR) + @: > uniname/$(DEPDIR)/$(am__dirstamp) +uniname/test-uninames.$(OBJEXT): uniname/$(am__dirstamp) \ + uniname/$(DEPDIR)/$(am__dirstamp) +test-uninames$(EXEEXT): $(test_uninames_OBJECTS) $(test_uninames_DEPENDENCIES) + @rm -f test-uninames$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_uninames_OBJECTS) $(test_uninames_LDADD) $(LIBS) +uninorm/test-uninorm-filter-nfc.$(OBJEXT): uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +test-uninorm-filter-nfc$(EXEEXT): $(test_uninorm_filter_nfc_OBJECTS) $(test_uninorm_filter_nfc_DEPENDENCIES) + @rm -f test-uninorm-filter-nfc$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_uninorm_filter_nfc_OBJECTS) $(test_uninorm_filter_nfc_LDADD) $(LIBS) +test-unistd$(EXEEXT): $(test_unistd_OBJECTS) $(test_unistd_DEPENDENCIES) + @rm -f test-unistd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_unistd_OBJECTS) $(test_unistd_LDADD) $(LIBS) +test-wchar$(EXEEXT): $(test_wchar_OBJECTS) $(test_wchar_DEPENDENCIES) + @rm -f test-wchar$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_wchar_OBJECTS) $(test_wchar_LDADD) $(LIBS) +test-wctype$(EXEEXT): $(test_wctype_OBJECTS) $(test_wctype_DEPENDENCIES) + @rm -f test-wctype$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_wctype_OBJECTS) $(test_wctype_LDADD) $(LIBS) +test-wcwidth$(EXEEXT): $(test_wcwidth_OBJECTS) $(test_wcwidth_DEPENDENCIES) + @rm -f test-wcwidth$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_wcwidth_OBJECTS) $(test_wcwidth_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f unicase/test-cased.$(OBJEXT) + -rm -f unicase/test-ignorable.$(OBJEXT) + -rm -f unicase/test-locale-language.$(OBJEXT) + -rm -f unicase/test-u16-casecmp.$(OBJEXT) + -rm -f unicase/test-u16-casecoll.$(OBJEXT) + -rm -f unicase/test-u16-casefold.$(OBJEXT) + -rm -f unicase/test-u16-is-cased.$(OBJEXT) + -rm -f unicase/test-u16-is-casefolded.$(OBJEXT) + -rm -f unicase/test-u16-is-lowercase.$(OBJEXT) + -rm -f unicase/test-u16-is-titlecase.$(OBJEXT) + -rm -f unicase/test-u16-is-uppercase.$(OBJEXT) + -rm -f unicase/test-u16-tolower.$(OBJEXT) + -rm -f unicase/test-u16-totitle.$(OBJEXT) + -rm -f unicase/test-u16-toupper.$(OBJEXT) + -rm -f unicase/test-u32-casecmp.$(OBJEXT) + -rm -f unicase/test-u32-casecoll.$(OBJEXT) + -rm -f unicase/test-u32-casefold.$(OBJEXT) + -rm -f unicase/test-u32-is-cased.$(OBJEXT) + -rm -f unicase/test-u32-is-casefolded.$(OBJEXT) + -rm -f unicase/test-u32-is-lowercase.$(OBJEXT) + -rm -f unicase/test-u32-is-titlecase.$(OBJEXT) + -rm -f unicase/test-u32-is-uppercase.$(OBJEXT) + -rm -f unicase/test-u32-tolower.$(OBJEXT) + -rm -f unicase/test-u32-totitle.$(OBJEXT) + -rm -f unicase/test-u32-toupper.$(OBJEXT) + -rm -f unicase/test-u8-casecmp.$(OBJEXT) + -rm -f unicase/test-u8-casecoll.$(OBJEXT) + -rm -f unicase/test-u8-casefold.$(OBJEXT) + -rm -f unicase/test-u8-is-cased.$(OBJEXT) + -rm -f unicase/test-u8-is-casefolded.$(OBJEXT) + -rm -f unicase/test-u8-is-lowercase.$(OBJEXT) + -rm -f unicase/test-u8-is-titlecase.$(OBJEXT) + -rm -f unicase/test-u8-is-uppercase.$(OBJEXT) + -rm -f unicase/test-u8-tolower.$(OBJEXT) + -rm -f unicase/test-u8-totitle.$(OBJEXT) + -rm -f unicase/test-u8-toupper.$(OBJEXT) + -rm -f unicase/test-uc_tolower.$(OBJEXT) + -rm -f unicase/test-uc_totitle.$(OBJEXT) + -rm -f unicase/test-uc_toupper.$(OBJEXT) + -rm -f unicase/test-ulc-casecmp.$(OBJEXT) + -rm -f unicase/test-ulc-casecoll.$(OBJEXT) + -rm -f uniconv/test-u16-conv-from-enc.$(OBJEXT) + -rm -f uniconv/test-u16-conv-to-enc.$(OBJEXT) + -rm -f uniconv/test-u16-strconv-from-enc.$(OBJEXT) + -rm -f uniconv/test-u16-strconv-to-enc.$(OBJEXT) + -rm -f uniconv/test-u32-conv-from-enc.$(OBJEXT) + -rm -f uniconv/test-u32-conv-to-enc.$(OBJEXT) + -rm -f uniconv/test-u32-strconv-from-enc.$(OBJEXT) + -rm -f uniconv/test-u32-strconv-to-enc.$(OBJEXT) + -rm -f uniconv/test-u8-conv-from-enc.$(OBJEXT) + -rm -f uniconv/test-u8-conv-to-enc.$(OBJEXT) + -rm -f uniconv/test-u8-strconv-from-enc.$(OBJEXT) + -rm -f uniconv/test-u8-strconv-to-enc.$(OBJEXT) + -rm -f unictype/test-bidi_byname.$(OBJEXT) + -rm -f unictype/test-bidi_name.$(OBJEXT) + -rm -f unictype/test-bidi_of.$(OBJEXT) + -rm -f unictype/test-bidi_test.$(OBJEXT) + -rm -f unictype/test-block_list.$(OBJEXT) + -rm -f unictype/test-block_of.$(OBJEXT) + -rm -f unictype/test-block_test.$(OBJEXT) + -rm -f unictype/test-categ_C.$(OBJEXT) + -rm -f unictype/test-categ_Cc.$(OBJEXT) + -rm -f unictype/test-categ_Cf.$(OBJEXT) + -rm -f unictype/test-categ_Cn.$(OBJEXT) + -rm -f unictype/test-categ_Co.$(OBJEXT) + -rm -f unictype/test-categ_Cs.$(OBJEXT) + -rm -f unictype/test-categ_L.$(OBJEXT) + -rm -f unictype/test-categ_Ll.$(OBJEXT) + -rm -f unictype/test-categ_Lm.$(OBJEXT) + -rm -f unictype/test-categ_Lo.$(OBJEXT) + -rm -f unictype/test-categ_Lt.$(OBJEXT) + -rm -f unictype/test-categ_Lu.$(OBJEXT) + -rm -f unictype/test-categ_M.$(OBJEXT) + -rm -f unictype/test-categ_Mc.$(OBJEXT) + -rm -f unictype/test-categ_Me.$(OBJEXT) + -rm -f unictype/test-categ_Mn.$(OBJEXT) + -rm -f unictype/test-categ_N.$(OBJEXT) + -rm -f unictype/test-categ_Nd.$(OBJEXT) + -rm -f unictype/test-categ_Nl.$(OBJEXT) + -rm -f unictype/test-categ_No.$(OBJEXT) + -rm -f unictype/test-categ_P.$(OBJEXT) + -rm -f unictype/test-categ_Pc.$(OBJEXT) + -rm -f unictype/test-categ_Pd.$(OBJEXT) + -rm -f unictype/test-categ_Pe.$(OBJEXT) + -rm -f unictype/test-categ_Pf.$(OBJEXT) + -rm -f unictype/test-categ_Pi.$(OBJEXT) + -rm -f unictype/test-categ_Po.$(OBJEXT) + -rm -f unictype/test-categ_Ps.$(OBJEXT) + -rm -f unictype/test-categ_S.$(OBJEXT) + -rm -f unictype/test-categ_Sc.$(OBJEXT) + -rm -f unictype/test-categ_Sk.$(OBJEXT) + -rm -f unictype/test-categ_Sm.$(OBJEXT) + -rm -f unictype/test-categ_So.$(OBJEXT) + -rm -f unictype/test-categ_Z.$(OBJEXT) + -rm -f unictype/test-categ_Zl.$(OBJEXT) + -rm -f unictype/test-categ_Zp.$(OBJEXT) + -rm -f unictype/test-categ_Zs.$(OBJEXT) + -rm -f unictype/test-categ_and.$(OBJEXT) + -rm -f unictype/test-categ_and_not.$(OBJEXT) + -rm -f unictype/test-categ_byname.$(OBJEXT) + -rm -f unictype/test-categ_name.$(OBJEXT) + -rm -f unictype/test-categ_none.$(OBJEXT) + -rm -f unictype/test-categ_of.$(OBJEXT) + -rm -f unictype/test-categ_or.$(OBJEXT) + -rm -f unictype/test-categ_test_withtable.$(OBJEXT) + -rm -f unictype/test-combining.$(OBJEXT) + -rm -f unictype/test-ctype_alnum.$(OBJEXT) + -rm -f unictype/test-ctype_alpha.$(OBJEXT) + -rm -f unictype/test-ctype_blank.$(OBJEXT) + -rm -f unictype/test-ctype_cntrl.$(OBJEXT) + -rm -f unictype/test-ctype_digit.$(OBJEXT) + -rm -f unictype/test-ctype_graph.$(OBJEXT) + -rm -f unictype/test-ctype_lower.$(OBJEXT) + -rm -f unictype/test-ctype_print.$(OBJEXT) + -rm -f unictype/test-ctype_punct.$(OBJEXT) + -rm -f unictype/test-ctype_space.$(OBJEXT) + -rm -f unictype/test-ctype_upper.$(OBJEXT) + -rm -f unictype/test-ctype_xdigit.$(OBJEXT) + -rm -f unictype/test-decdigit.$(OBJEXT) + -rm -f unictype/test-digit.$(OBJEXT) + -rm -f unictype/test-mirror.$(OBJEXT) + -rm -f unictype/test-numeric.$(OBJEXT) + -rm -f unictype/test-pr_alphabetic.$(OBJEXT) + -rm -f unictype/test-pr_ascii_hex_digit.$(OBJEXT) + -rm -f unictype/test-pr_bidi_arabic_digit.$(OBJEXT) + -rm -f unictype/test-pr_bidi_arabic_right_to_left.$(OBJEXT) + -rm -f unictype/test-pr_bidi_block_separator.$(OBJEXT) + -rm -f unictype/test-pr_bidi_boundary_neutral.$(OBJEXT) + -rm -f unictype/test-pr_bidi_common_separator.$(OBJEXT) + -rm -f unictype/test-pr_bidi_control.$(OBJEXT) + -rm -f unictype/test-pr_bidi_embedding_or_override.$(OBJEXT) + -rm -f unictype/test-pr_bidi_eur_num_separator.$(OBJEXT) + -rm -f unictype/test-pr_bidi_eur_num_terminator.$(OBJEXT) + -rm -f unictype/test-pr_bidi_european_digit.$(OBJEXT) + -rm -f unictype/test-pr_bidi_hebrew_right_to_left.$(OBJEXT) + -rm -f unictype/test-pr_bidi_left_to_right.$(OBJEXT) + -rm -f unictype/test-pr_bidi_non_spacing_mark.$(OBJEXT) + -rm -f unictype/test-pr_bidi_other_neutral.$(OBJEXT) + -rm -f unictype/test-pr_bidi_pdf.$(OBJEXT) + -rm -f unictype/test-pr_bidi_segment_separator.$(OBJEXT) + -rm -f unictype/test-pr_bidi_whitespace.$(OBJEXT) + -rm -f unictype/test-pr_byname.$(OBJEXT) + -rm -f unictype/test-pr_combining.$(OBJEXT) + -rm -f unictype/test-pr_composite.$(OBJEXT) + -rm -f unictype/test-pr_currency_symbol.$(OBJEXT) + -rm -f unictype/test-pr_dash.$(OBJEXT) + -rm -f unictype/test-pr_decimal_digit.$(OBJEXT) + -rm -f unictype/test-pr_default_ignorable_code_point.$(OBJEXT) + -rm -f unictype/test-pr_deprecated.$(OBJEXT) + -rm -f unictype/test-pr_diacritic.$(OBJEXT) + -rm -f unictype/test-pr_extender.$(OBJEXT) + -rm -f unictype/test-pr_format_control.$(OBJEXT) + -rm -f unictype/test-pr_grapheme_base.$(OBJEXT) + -rm -f unictype/test-pr_grapheme_extend.$(OBJEXT) + -rm -f unictype/test-pr_grapheme_link.$(OBJEXT) + -rm -f unictype/test-pr_hex_digit.$(OBJEXT) + -rm -f unictype/test-pr_hyphen.$(OBJEXT) + -rm -f unictype/test-pr_id_continue.$(OBJEXT) + -rm -f unictype/test-pr_id_start.$(OBJEXT) + -rm -f unictype/test-pr_ideographic.$(OBJEXT) + -rm -f unictype/test-pr_ids_binary_operator.$(OBJEXT) + -rm -f unictype/test-pr_ids_trinary_operator.$(OBJEXT) + -rm -f unictype/test-pr_ignorable_control.$(OBJEXT) + -rm -f unictype/test-pr_iso_control.$(OBJEXT) + -rm -f unictype/test-pr_join_control.$(OBJEXT) + -rm -f unictype/test-pr_left_of_pair.$(OBJEXT) + -rm -f unictype/test-pr_line_separator.$(OBJEXT) + -rm -f unictype/test-pr_logical_order_exception.$(OBJEXT) + -rm -f unictype/test-pr_lowercase.$(OBJEXT) + -rm -f unictype/test-pr_math.$(OBJEXT) + -rm -f unictype/test-pr_non_break.$(OBJEXT) + -rm -f unictype/test-pr_not_a_character.$(OBJEXT) + -rm -f unictype/test-pr_numeric.$(OBJEXT) + -rm -f unictype/test-pr_other_alphabetic.$(OBJEXT) + -rm -f unictype/test-pr_other_default_ignorable_code_point.$(OBJEXT) + -rm -f unictype/test-pr_other_grapheme_extend.$(OBJEXT) + -rm -f unictype/test-pr_other_id_continue.$(OBJEXT) + -rm -f unictype/test-pr_other_id_start.$(OBJEXT) + -rm -f unictype/test-pr_other_lowercase.$(OBJEXT) + -rm -f unictype/test-pr_other_math.$(OBJEXT) + -rm -f unictype/test-pr_other_uppercase.$(OBJEXT) + -rm -f unictype/test-pr_paired_punctuation.$(OBJEXT) + -rm -f unictype/test-pr_paragraph_separator.$(OBJEXT) + -rm -f unictype/test-pr_pattern_syntax.$(OBJEXT) + -rm -f unictype/test-pr_pattern_white_space.$(OBJEXT) + -rm -f unictype/test-pr_private_use.$(OBJEXT) + -rm -f unictype/test-pr_punctuation.$(OBJEXT) + -rm -f unictype/test-pr_quotation_mark.$(OBJEXT) + -rm -f unictype/test-pr_radical.$(OBJEXT) + -rm -f unictype/test-pr_sentence_terminal.$(OBJEXT) + -rm -f unictype/test-pr_soft_dotted.$(OBJEXT) + -rm -f unictype/test-pr_space.$(OBJEXT) + -rm -f unictype/test-pr_terminal_punctuation.$(OBJEXT) + -rm -f unictype/test-pr_test.$(OBJEXT) + -rm -f unictype/test-pr_titlecase.$(OBJEXT) + -rm -f unictype/test-pr_unassigned_code_value.$(OBJEXT) + -rm -f unictype/test-pr_unified_ideograph.$(OBJEXT) + -rm -f unictype/test-pr_uppercase.$(OBJEXT) + -rm -f unictype/test-pr_variation_selector.$(OBJEXT) + -rm -f unictype/test-pr_white_space.$(OBJEXT) + -rm -f unictype/test-pr_xid_continue.$(OBJEXT) + -rm -f unictype/test-pr_xid_start.$(OBJEXT) + -rm -f unictype/test-pr_zero_width.$(OBJEXT) + -rm -f unictype/test-scripts.$(OBJEXT) + -rm -f unictype/test-sy_c_ident.$(OBJEXT) + -rm -f unictype/test-sy_c_whitespace.$(OBJEXT) + -rm -f unictype/test-sy_java_ident.$(OBJEXT) + -rm -f unictype/test-sy_java_whitespace.$(OBJEXT) + -rm -f unilbrk/test-u16-possible-linebreaks.$(OBJEXT) + -rm -f unilbrk/test-u16-width-linebreaks.$(OBJEXT) + -rm -f unilbrk/test-u32-possible-linebreaks.$(OBJEXT) + -rm -f unilbrk/test-u32-width-linebreaks.$(OBJEXT) + -rm -f unilbrk/test-u8-possible-linebreaks.$(OBJEXT) + -rm -f unilbrk/test-u8-width-linebreaks.$(OBJEXT) + -rm -f unilbrk/test-ulc-possible-linebreaks.$(OBJEXT) + -rm -f unilbrk/test-ulc-width-linebreaks.$(OBJEXT) + -rm -f uniname/test-uninames.$(OBJEXT) + -rm -f uninorm/test-canonical-decomposition.$(OBJEXT) + -rm -f uninorm/test-compat-decomposition.$(OBJEXT) + -rm -f uninorm/test-composition.$(OBJEXT) + -rm -f uninorm/test-decomposing-form.$(OBJEXT) + -rm -f uninorm/test-decomposition.$(OBJEXT) + -rm -f uninorm/test-nfc.$(OBJEXT) + -rm -f uninorm/test-nfd.$(OBJEXT) + -rm -f uninorm/test-nfkc.$(OBJEXT) + -rm -f uninorm/test-nfkd.$(OBJEXT) + -rm -f uninorm/test-u16-nfc.$(OBJEXT) + -rm -f uninorm/test-u16-nfd.$(OBJEXT) + -rm -f uninorm/test-u16-nfkc.$(OBJEXT) + -rm -f uninorm/test-u16-nfkd.$(OBJEXT) + -rm -f uninorm/test-u16-normcmp.$(OBJEXT) + -rm -f uninorm/test-u16-normcoll.$(OBJEXT) + -rm -f uninorm/test-u32-nfc-big.$(OBJEXT) + -rm -f uninorm/test-u32-nfc.$(OBJEXT) + -rm -f uninorm/test-u32-nfd-big.$(OBJEXT) + -rm -f uninorm/test-u32-nfd.$(OBJEXT) + -rm -f uninorm/test-u32-nfkc-big.$(OBJEXT) + -rm -f uninorm/test-u32-nfkc.$(OBJEXT) + -rm -f uninorm/test-u32-nfkd-big.$(OBJEXT) + -rm -f uninorm/test-u32-nfkd.$(OBJEXT) + -rm -f uninorm/test-u32-normalize-big.$(OBJEXT) + -rm -f uninorm/test-u32-normcmp.$(OBJEXT) + -rm -f uninorm/test-u32-normcoll.$(OBJEXT) + -rm -f uninorm/test-u8-nfc.$(OBJEXT) + -rm -f uninorm/test-u8-nfd.$(OBJEXT) + -rm -f uninorm/test-u8-nfkc.$(OBJEXT) + -rm -f uninorm/test-u8-nfkd.$(OBJEXT) + -rm -f uninorm/test-u8-normcmp.$(OBJEXT) + -rm -f uninorm/test-u8-normcoll.$(OBJEXT) + -rm -f uninorm/test-uninorm-filter-nfc.$(OBJEXT) + -rm -f unistdio/test-u16-asnprintf1.$(OBJEXT) + -rm -f unistdio/test-u16-vasnprintf1.$(OBJEXT) + -rm -f unistdio/test-u16-vasnprintf2.$(OBJEXT) + -rm -f unistdio/test-u16-vasnprintf3.$(OBJEXT) + -rm -f unistdio/test-u16-vasprintf1.$(OBJEXT) + -rm -f unistdio/test-u16-vsnprintf1.$(OBJEXT) + -rm -f unistdio/test-u16-vsprintf1.$(OBJEXT) + -rm -f unistdio/test-u32-asnprintf1.$(OBJEXT) + -rm -f unistdio/test-u32-vasnprintf1.$(OBJEXT) + -rm -f unistdio/test-u32-vasnprintf2.$(OBJEXT) + -rm -f unistdio/test-u32-vasnprintf3.$(OBJEXT) + -rm -f unistdio/test-u32-vasprintf1.$(OBJEXT) + -rm -f unistdio/test-u32-vsnprintf1.$(OBJEXT) + -rm -f unistdio/test-u32-vsprintf1.$(OBJEXT) + -rm -f unistdio/test-u8-asnprintf1.$(OBJEXT) + -rm -f unistdio/test-u8-vasnprintf1.$(OBJEXT) + -rm -f unistdio/test-u8-vasnprintf2.$(OBJEXT) + -rm -f unistdio/test-u8-vasnprintf3.$(OBJEXT) + -rm -f unistdio/test-u8-vasprintf1.$(OBJEXT) + -rm -f unistdio/test-u8-vsnprintf1.$(OBJEXT) + -rm -f unistdio/test-u8-vsprintf1.$(OBJEXT) + -rm -f unistdio/test-ulc-asnprintf1.$(OBJEXT) + -rm -f unistdio/test-ulc-vasnprintf1.$(OBJEXT) + -rm -f unistdio/test-ulc-vasnprintf2.$(OBJEXT) + -rm -f unistdio/test-ulc-vasnprintf3.$(OBJEXT) + -rm -f unistdio/test-ulc-vasprintf1.$(OBJEXT) + -rm -f unistdio/test-ulc-vsnprintf1.$(OBJEXT) + -rm -f unistdio/test-ulc-vsprintf1.$(OBJEXT) + -rm -f uniwbrk/test-u16-wordbreaks.$(OBJEXT) + -rm -f uniwbrk/test-u32-wordbreaks.$(OBJEXT) + -rm -f uniwbrk/test-u8-wordbreaks.$(OBJEXT) + -rm -f uniwbrk/test-ulc-wordbreaks.$(OBJEXT) + -rm -f uniwidth/test-u16-strwidth.$(OBJEXT) + -rm -f uniwidth/test-u16-width.$(OBJEXT) + -rm -f uniwidth/test-u32-strwidth.$(OBJEXT) + -rm -f uniwidth/test-u32-width.$(OBJEXT) + -rm -f uniwidth/test-u8-strwidth.$(OBJEXT) + -rm -f uniwidth/test-u8-width.$(OBJEXT) + -rm -f uniwidth/test-uc_width.$(OBJEXT) + -rm -f uniwidth/test-uc_width2.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exitfail.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progname.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-array-mergesort.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-ctype.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strcasecmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strncasecmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-environ.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-errno.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-frexpl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseterr.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iconv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnand-nolibm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnanf-nolibm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnanl-nolibm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-locale.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localename.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloca.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-math.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbrtowc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbsinit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-memchr.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-printf-frexp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-printf-frexpl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signbit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdint.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdlib.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strerror.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-striconveh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-striconveha.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-string.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unistd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wchar.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wctype.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wcwidth.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctob.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xalloc-die.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-cased.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-ignorable.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-locale-language.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u16-casecmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u16-casecoll.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u16-casefold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u16-is-cased.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u16-is-casefolded.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u16-is-lowercase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u16-is-titlecase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u16-is-uppercase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u16-tolower.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u16-totitle.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u16-toupper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u32-casecmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u32-casecoll.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u32-casefold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u32-is-cased.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u32-is-casefolded.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u32-is-lowercase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u32-is-titlecase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u32-is-uppercase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u32-tolower.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u32-totitle.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u32-toupper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u8-casecmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u8-casecoll.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u8-casefold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u8-is-cased.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u8-is-casefolded.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u8-is-lowercase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u8-is-titlecase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u8-is-uppercase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u8-tolower.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u8-totitle.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-u8-toupper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-uc_tolower.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-uc_totitle.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-uc_toupper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-ulc-casecmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/test-ulc-casecoll.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u16-conv-from-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u16-conv-to-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u16-strconv-from-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u16-strconv-to-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u32-conv-from-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u32-conv-to-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u32-strconv-from-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u32-strconv-to-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u8-conv-from-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u8-conv-to-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u8-strconv-from-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u8-strconv-to-enc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-bidi_byname.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-bidi_name.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-bidi_of.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-bidi_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-block_list.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-block_of.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-block_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_C.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Cc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Cf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Cn.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Co.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Cs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_L.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Ll.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Lm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Lo.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Lt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Lu.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_M.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Mc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Me.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Mn.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_N.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Nd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Nl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_No.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_P.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Pc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Pd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Pe.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Pf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Pi.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Po.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Ps.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_S.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Sc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Sk.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Sm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_So.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Z.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Zl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Zp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_Zs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_and.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_and_not.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_byname.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_name.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_none.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_of.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_or.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-categ_test_withtable.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-combining.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_alnum.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_alpha.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_blank.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_cntrl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_digit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_graph.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_lower.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_print.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_punct.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_space.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_upper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_xdigit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-decdigit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-digit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-mirror.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-numeric.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_alphabetic.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_ascii_hex_digit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_arabic_digit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_arabic_right_to_left.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_block_separator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_boundary_neutral.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_common_separator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_control.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_embedding_or_override.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_eur_num_separator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_eur_num_terminator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_european_digit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_hebrew_right_to_left.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_left_to_right.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_non_spacing_mark.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_other_neutral.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_pdf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_segment_separator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_bidi_whitespace.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_byname.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_combining.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_composite.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_currency_symbol.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_dash.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_decimal_digit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_default_ignorable_code_point.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_deprecated.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_diacritic.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_extender.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_format_control.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_grapheme_base.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_grapheme_extend.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_grapheme_link.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_hex_digit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_hyphen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_id_continue.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_id_start.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_ideographic.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_ids_binary_operator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_ids_trinary_operator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_ignorable_control.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_iso_control.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_join_control.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_left_of_pair.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_line_separator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_logical_order_exception.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_lowercase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_math.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_non_break.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_not_a_character.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_numeric.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_other_alphabetic.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_other_default_ignorable_code_point.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_other_grapheme_extend.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_other_id_continue.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_other_id_start.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_other_lowercase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_other_math.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_other_uppercase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_paired_punctuation.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_paragraph_separator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_pattern_syntax.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_pattern_white_space.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_private_use.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_punctuation.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_quotation_mark.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_radical.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_sentence_terminal.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_soft_dotted.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_space.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_terminal_punctuation.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_titlecase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_unassigned_code_value.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_unified_ideograph.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_uppercase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_variation_selector.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_white_space.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_xid_continue.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_xid_start.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_zero_width.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-scripts.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-sy_c_ident.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-sy_c_whitespace.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-sy_java_ident.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-sy_java_whitespace.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-u16-possible-linebreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-u16-width-linebreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-u32-possible-linebreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-u32-width-linebreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-u8-possible-linebreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-u8-width-linebreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-ulc-possible-linebreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-ulc-width-linebreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniname/$(DEPDIR)/test-uninames.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-canonical-decomposition.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-compat-decomposition.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-composition.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-decomposing-form.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-decomposition.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-nfc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-nfd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-nfkc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-nfkd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u16-nfc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u16-nfd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u16-nfkc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u16-nfkd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u16-normcmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u16-normcoll.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u32-nfc-big.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u32-nfc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u32-nfd-big.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u32-nfd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u32-nfkc-big.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u32-nfkc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u32-nfkd-big.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u32-nfkd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u32-normalize-big.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u32-normcmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u32-normcoll.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u8-nfc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u8-nfd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u8-nfkc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u8-nfkd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u8-normcmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-u8-normcoll.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-uninorm-filter-nfc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u16-asnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u16-vasnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u16-vasnprintf2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u16-vasnprintf3.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u16-vasprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u16-vsnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u16-vsprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u32-asnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u32-vasnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u32-vasnprintf2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u32-vasnprintf3.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u32-vasprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u32-vsnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u32-vsprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u8-asnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u8-vasnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u8-vasnprintf2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u8-vasnprintf3.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u8-vasprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u8-vsnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-u8-vsprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-ulc-asnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-ulc-vasnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-ulc-vasnprintf2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-ulc-vasnprintf3.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-ulc-vasprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-ulc-vsnprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistdio/$(DEPDIR)/test-ulc-vsprintf1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwbrk/$(DEPDIR)/test-u16-wordbreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwbrk/$(DEPDIR)/test-u32-wordbreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwbrk/$(DEPDIR)/test-u8-wordbreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwbrk/$(DEPDIR)/test-ulc-wordbreaks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/test-u16-strwidth.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/test-u16-width.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/test-u32-strwidth.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/test-u32-width.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/test-u8-strwidth.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/test-u8-width.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/test-uc_width.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/test-uc_width2.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +check-TESTS: $(TESTS) + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + srcdir=$(srcdir); export srcdir; \ + list=' $(TESTS) '; \ + $(am__tty_colors); \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ + elif test -f $$tst; then dir=; \ + else dir="$(srcdir)/"; fi; \ + if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + col=$$red; res=XPASS; \ + ;; \ + *) \ + col=$$grn; res=PASS; \ + ;; \ + esac; \ + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xfail=`expr $$xfail + 1`; \ + col=$$lgn; res=XFAIL; \ + ;; \ + *) \ + failed=`expr $$failed + 1`; \ + col=$$red; res=FAIL; \ + ;; \ + esac; \ + else \ + skip=`expr $$skip + 1`; \ + col=$$blu; res=SKIP; \ + fi; \ + echo "$${col}$$res$${std}: $$tst"; \ + done; \ + if test "$$all" -eq 1; then \ + tests="test"; \ + All=""; \ + else \ + tests="tests"; \ + All="All "; \ + fi; \ + if test "$$failed" -eq 0; then \ + if test "$$xfail" -eq 0; then \ + banner="$$All$$all $$tests passed"; \ + else \ + if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ + banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ + fi; \ + else \ + if test "$$xpass" -eq 0; then \ + banner="$$failed of $$all $$tests failed"; \ + else \ + if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ + banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ + fi; \ + fi; \ + dashes="$$banner"; \ + skipped=""; \ + if test "$$skip" -ne 0; then \ + if test "$$skip" -eq 1; then \ + skipped="($$skip test was not run)"; \ + else \ + skipped="($$skip tests were not run)"; \ + fi; \ + test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$skipped"; \ + fi; \ + report=""; \ + if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ + report="Please report to $(PACKAGE_BUGREPORT)"; \ + test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$report"; \ + fi; \ + dashes=`echo "$$dashes" | sed s/./=/g`; \ + if test "$$failed" -eq 0; then \ + echo "$$grn$$dashes"; \ + else \ + echo "$$red$$dashes"; \ + fi; \ + echo "$$banner"; \ + test -z "$$skipped" || echo "$$skipped"; \ + test -z "$$report" || echo "$$report"; \ + echo "$$dashes$$std"; \ + test "$$failed" -eq 0; \ + else :; fi + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f unicase/$(DEPDIR)/$(am__dirstamp) + -rm -f unicase/$(am__dirstamp) + -rm -f uniconv/$(DEPDIR)/$(am__dirstamp) + -rm -f uniconv/$(am__dirstamp) + -rm -f unictype/$(DEPDIR)/$(am__dirstamp) + -rm -f unictype/$(am__dirstamp) + -rm -f unilbrk/$(DEPDIR)/$(am__dirstamp) + -rm -f unilbrk/$(am__dirstamp) + -rm -f uniname/$(DEPDIR)/$(am__dirstamp) + -rm -f uniname/$(am__dirstamp) + -rm -f uninorm/$(DEPDIR)/$(am__dirstamp) + -rm -f uninorm/$(am__dirstamp) + -rm -f unistdio/$(DEPDIR)/$(am__dirstamp) + -rm -f unistdio/$(am__dirstamp) + -rm -f uniwbrk/$(DEPDIR)/$(am__dirstamp) + -rm -f uniwbrk/$(am__dirstamp) + -rm -f uniwidth/$(DEPDIR)/$(am__dirstamp) + -rm -f uniwidth/$(am__dirstamp) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-recursive + +clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \ + clean-libtool clean-local clean-noinstLIBRARIES \ + clean-noinstPROGRAMS mostlyclean-am + +distclean: distclean-recursive + -rm -rf ./$(DEPDIR) unicase/$(DEPDIR) uniconv/$(DEPDIR) unictype/$(DEPDIR) unilbrk/$(DEPDIR) uniname/$(DEPDIR) uninorm/$(DEPDIR) unistdio/$(DEPDIR) uniwbrk/$(DEPDIR) uniwidth/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -rf ./$(DEPDIR) unicase/$(DEPDIR) uniconv/$(DEPDIR) unictype/$(DEPDIR) unilbrk/$(DEPDIR) uniname/$(DEPDIR) uninorm/$(DEPDIR) unistdio/$(DEPDIR) uniwbrk/$(DEPDIR) uniwidth/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-local + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ + check-am ctags-recursive install install-am install-strip \ + tags-recursive + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-TESTS check-am clean \ + clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \ + clean-libtool clean-local clean-noinstLIBRARIES \ + clean-noinstPROGRAMS ctags ctags-recursive distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \ + tags-recursive uninstall uninstall-am + + +# We need the following in order to create when the system +# doesn't have one that provides all definitions. +locale.h: locale.in.h + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ + < $(srcdir)/locale.in.h; \ + } > $@-t + mv $@-t $@ + +# Clean up after Solaris cc. +clean-local: + rm -rf SunWS_cache + +mostlyclean-local: mostlyclean-generic + @for dir in '' $(MOSTLYCLEANDIRS); do \ + if test -n "$$dir" && test -d $$dir; then \ + echo "rmdir $$dir"; rmdir $$dir; \ + fi; \ + done; \ + : + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/tests/error.c b/tests/error.c new file mode 100644 index 00000000..3177bd5d --- /dev/null +++ b/tests/error.c @@ -0,0 +1,338 @@ +/* Error handler for noninteractive utilities + Copyright (C) 1990-1998, 2000-2007 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by David MacKenzie . */ + +#if !_LIBC +# include +#endif + +#include "error.h" + +#include +#include +#include +#include + +#if !_LIBC && ENABLE_NLS +# include "gettext.h" +# define _(msgid) gettext (msgid) +#endif + +#ifdef _LIBC +# include +# include +# include +# include +# define mbsrtowcs __mbsrtowcs +#endif + +#if USE_UNLOCKED_IO +# include "unlocked-io.h" +#endif + +#ifndef _ +# define _(String) String +#endif + +/* If NULL, error will flush stdout, then print on stderr the program + name, a colon and a space. Otherwise, error will call this + function without parameters instead. */ +void (*error_print_progname) (void); + +/* This variable is incremented each time `error' is called. */ +unsigned int error_message_count; + +#ifdef _LIBC +/* In the GNU C library, there is a predefined variable for this. */ + +# define program_name program_invocation_name +# include +# include +# include + +/* In GNU libc we want do not want to use the common name `error' directly. + Instead make it a weak alias. */ +extern void __error (int status, int errnum, const char *message, ...) + __attribute__ ((__format__ (__printf__, 3, 4))); +extern void __error_at_line (int status, int errnum, const char *file_name, + unsigned int line_number, const char *message, + ...) + __attribute__ ((__format__ (__printf__, 5, 6)));; +# define error __error +# define error_at_line __error_at_line + +# include +# define fflush(s) INTUSE(_IO_fflush) (s) +# undef putc +# define putc(c, fp) INTUSE(_IO_putc) (c, fp) + +# include + +#else /* not _LIBC */ + +# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P +# ifndef HAVE_DECL_STRERROR_R +"this configure-time declaration test was not run" +# endif +char *strerror_r (); +# endif + +/* The calling program should define program_name and set it to the + name of the executing program. */ +extern char *program_name; + +# if HAVE_STRERROR_R || defined strerror_r +# define __strerror_r strerror_r +# endif /* HAVE_STRERROR_R || defined strerror_r */ +#endif /* not _LIBC */ + +static void +print_errno_message (int errnum) +{ + char const *s; + +#if defined HAVE_STRERROR_R || _LIBC + char errbuf[1024]; +# if STRERROR_R_CHAR_P || _LIBC + s = __strerror_r (errnum, errbuf, sizeof errbuf); +# else + if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0) + s = errbuf; + else + s = 0; +# endif +#else + s = strerror (errnum); +#endif + +#if !_LIBC + if (! s) + s = _("Unknown system error"); +#endif + +#if _LIBC + __fxprintf (NULL, ": %s", s); +#else + fprintf (stderr, ": %s", s); +#endif +} + +static void +error_tail (int status, int errnum, const char *message, va_list args) +{ +#if _LIBC + if (_IO_fwide (stderr, 0) > 0) + { +# define ALLOCA_LIMIT 2000 + size_t len = strlen (message) + 1; + wchar_t *wmessage = NULL; + mbstate_t st; + size_t res; + const char *tmp; + bool use_malloc = false; + + while (1) + { + if (__libc_use_alloca (len * sizeof (wchar_t))) + wmessage = (wchar_t *) alloca (len * sizeof (wchar_t)); + else + { + if (!use_malloc) + wmessage = NULL; + + wchar_t *p = (wchar_t *) realloc (wmessage, + len * sizeof (wchar_t)); + if (p == NULL) + { + free (wmessage); + fputws_unlocked (L"out of memory\n", stderr); + return; + } + wmessage = p; + use_malloc = true; + } + + memset (&st, '\0', sizeof (st)); + tmp = message; + + res = mbsrtowcs (wmessage, &tmp, len, &st); + if (res != len) + break; + + if (__builtin_expect (len >= SIZE_MAX / 2, 0)) + { + /* This really should not happen if everything is fine. */ + res = (size_t) -1; + break; + } + + len *= 2; + } + + if (res == (size_t) -1) + { + /* The string cannot be converted. */ + if (use_malloc) + { + free (wmessage); + use_malloc = false; + } + wmessage = (wchar_t *) L"???"; + } + + __vfwprintf (stderr, wmessage, args); + + if (use_malloc) + free (wmessage); + } + else +#endif + vfprintf (stderr, message, args); + va_end (args); + + ++error_message_count; + if (errnum) + print_errno_message (errnum); +#if _LIBC + __fxprintf (NULL, "\n"); +#else + putc ('\n', stderr); +#endif + fflush (stderr); + if (status) + exit (status); +} + + +/* Print the program name and error message MESSAGE, which is a printf-style + format string with optional args. + If ERRNUM is nonzero, print its corresponding system error message. + Exit with status STATUS if it is nonzero. */ +void +error (int status, int errnum, const char *message, ...) +{ + va_list args; + +#if defined _LIBC && defined __libc_ptf_call + /* We do not want this call to be cut short by a thread + cancellation. Therefore disable cancellation for now. */ + int state = PTHREAD_CANCEL_ENABLE; + __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state), + 0); +#endif + + fflush (stdout); +#ifdef _LIBC + _IO_flockfile (stderr); +#endif + if (error_print_progname) + (*error_print_progname) (); + else + { +#if _LIBC + __fxprintf (NULL, "%s: ", program_name); +#else + fprintf (stderr, "%s: ", program_name); +#endif + } + + va_start (args, message); + error_tail (status, errnum, message, args); + +#ifdef _LIBC + _IO_funlockfile (stderr); +# ifdef __libc_ptf_call + __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0); +# endif +#endif +} + +/* Sometimes we want to have at most one error per line. This + variable controls whether this mode is selected or not. */ +int error_one_per_line; + +void +error_at_line (int status, int errnum, const char *file_name, + unsigned int line_number, const char *message, ...) +{ + va_list args; + + if (error_one_per_line) + { + static const char *old_file_name; + static unsigned int old_line_number; + + if (old_line_number == line_number + && (file_name == old_file_name + || strcmp (old_file_name, file_name) == 0)) + /* Simply return and print nothing. */ + return; + + old_file_name = file_name; + old_line_number = line_number; + } + +#if defined _LIBC && defined __libc_ptf_call + /* We do not want this call to be cut short by a thread + cancellation. Therefore disable cancellation for now. */ + int state = PTHREAD_CANCEL_ENABLE; + __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state), + 0); +#endif + + fflush (stdout); +#ifdef _LIBC + _IO_flockfile (stderr); +#endif + if (error_print_progname) + (*error_print_progname) (); + else + { +#if _LIBC + __fxprintf (NULL, "%s:", program_name); +#else + fprintf (stderr, "%s:", program_name); +#endif + } + +#if _LIBC + __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ", + file_name, line_number); +#else + fprintf (stderr, file_name != NULL ? "%s:%d: " : " ", + file_name, line_number); +#endif + + va_start (args, message); + error_tail (status, errnum, message, args); + +#ifdef _LIBC + _IO_funlockfile (stderr); +# ifdef __libc_ptf_call + __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0); +# endif +#endif +} + +#ifdef _LIBC +/* Make the weak alias. */ +# undef error +# undef error_at_line +weak_alias (__error, error) +weak_alias (__error_at_line, error_at_line) +#endif diff --git a/tests/error.h b/tests/error.h new file mode 100644 index 00000000..6d496811 --- /dev/null +++ b/tests/error.h @@ -0,0 +1,65 @@ +/* Declaration for error-reporting function + Copyright (C) 1995, 1996, 1997, 2003, 2006, 2008 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _ERROR_H +#define _ERROR_H 1 + +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) +# define __attribute__(Spec) /* empty */ +# endif +/* The __-protected variants of `format' and `printf' attributes + are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) +# define __format__ format +# define __printf__ printf +# endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Print a message with `fprintf (stderr, FORMAT, ...)'; + if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). + If STATUS is nonzero, terminate the program with `exit (STATUS)'. */ + +extern void error (int __status, int __errnum, const char *__format, ...) + __attribute__ ((__format__ (__printf__, 3, 4))); + +extern void error_at_line (int __status, int __errnum, const char *__fname, + unsigned int __lineno, const char *__format, ...) + __attribute__ ((__format__ (__printf__, 5, 6))); + +/* If NULL, error will flush stdout, then print on stderr the program + name, a colon and a space. Otherwise, error will call this + function without parameters instead. */ +extern void (*error_print_progname) (void); + +/* This variable is incremented each time `error' is called. */ +extern unsigned int error_message_count; + +/* Sometimes we want to have at most one error per line. This + variable controls whether this mode is selected or not. */ +extern int error_one_per_line; + +#ifdef __cplusplus +} +#endif + +#endif /* error.h */ diff --git a/tests/exitfail.c b/tests/exitfail.c new file mode 100644 index 00000000..6d1fe4ae --- /dev/null +++ b/tests/exitfail.c @@ -0,0 +1,24 @@ +/* Failure exit status + + Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "exitfail.h" + +#include + +int volatile exit_failure = EXIT_FAILURE; diff --git a/tests/exitfail.h b/tests/exitfail.h new file mode 100644 index 00000000..713f2591 --- /dev/null +++ b/tests/exitfail.h @@ -0,0 +1,18 @@ +/* Failure exit status + + Copyright (C) 2002 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +extern int volatile exit_failure; diff --git a/tests/gettext.h b/tests/gettext.h new file mode 100644 index 00000000..8cf2dca0 --- /dev/null +++ b/tests/gettext.h @@ -0,0 +1,279 @@ +/* Convenience header for conditional use of GNU . + Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _LIBGETTEXT_H +#define _LIBGETTEXT_H 1 + +/* NLS can be disabled through the configure --disable-nls option. */ +#if ENABLE_NLS + +/* Get declarations of GNU message catalog functions. */ +# include + +/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by + the gettext() and ngettext() macros. This is an alternative to calling + textdomain(), and is useful for libraries. */ +# ifdef DEFAULT_TEXT_DOMAIN +# undef gettext +# define gettext(Msgid) \ + dgettext (DEFAULT_TEXT_DOMAIN, Msgid) +# undef ngettext +# define ngettext(Msgid1, Msgid2, N) \ + dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) +# endif + +#else + +/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which + chokes if dcgettext is defined as a macro. So include it now, to make + later inclusions of a NOP. We don't include + as well because people using "gettext.h" will not include , + and also including would fail on SunOS 4, whereas + is OK. */ +#if defined(__sun) +# include +#endif + +/* Many header files from the libstdc++ coming with g++ 3.3 or newer include + , which chokes if dcgettext is defined as a macro. So include + it now, to make later inclusions of a NOP. */ +#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) +# include +# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H +# include +# endif +#endif + +/* Disabled NLS. + The casts to 'const char *' serve the purpose of producing warnings + for invalid uses of the value returned from these functions. + On pre-ANSI systems without 'const', the config.h file is supposed to + contain "#define const". */ +# undef gettext +# define gettext(Msgid) ((const char *) (Msgid)) +# undef dgettext +# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) +# undef dcgettext +# define dcgettext(Domainname, Msgid, Category) \ + ((void) (Category), dgettext (Domainname, Msgid)) +# undef ngettext +# define ngettext(Msgid1, Msgid2, N) \ + ((N) == 1 \ + ? ((void) (Msgid2), (const char *) (Msgid1)) \ + : ((void) (Msgid1), (const char *) (Msgid2))) +# undef dngettext +# define dngettext(Domainname, Msgid1, Msgid2, N) \ + ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) +# undef dcngettext +# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ + ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N)) +# undef textdomain +# define textdomain(Domainname) ((const char *) (Domainname)) +# undef bindtextdomain +# define bindtextdomain(Domainname, Dirname) \ + ((void) (Domainname), (const char *) (Dirname)) +# undef bind_textdomain_codeset +# define bind_textdomain_codeset(Domainname, Codeset) \ + ((void) (Domainname), (const char *) (Codeset)) + +#endif + +/* A pseudo function call that serves as a marker for the automated + extraction of messages, but does not call gettext(). The run-time + translation is done at a different place in the code. + The argument, String, should be a literal string. Concatenated strings + and other string expressions won't work. + The macro's expansion is not parenthesized, so that it is suitable as + initializer for static 'char[]' or 'const char[]' variables. */ +#define gettext_noop(String) String + +/* The separator between msgctxt and msgid in a .mo file. */ +#define GETTEXT_CONTEXT_GLUE "\004" + +/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a + MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be + short and rarely need to change. + The letter 'p' stands for 'particular' or 'special'. */ +#ifdef DEFAULT_TEXT_DOMAIN +# define pgettext(Msgctxt, Msgid) \ + pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#else +# define pgettext(Msgctxt, Msgid) \ + pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#endif +#define dpgettext(Domainname, Msgctxt, Msgid) \ + pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ + pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) +#ifdef DEFAULT_TEXT_DOMAIN +# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#else +# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#endif +#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ + npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +pgettext_aux (const char *domain, + const char *msg_ctxt_id, const char *msgid, + int category) +{ + const char *translation = dcgettext (domain, msg_ctxt_id, category); + if (translation == msg_ctxt_id) + return msgid; + else + return translation; +} + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +npgettext_aux (const char *domain, + const char *msg_ctxt_id, const char *msgid, + const char *msgid_plural, unsigned long int n, + int category) +{ + const char *translation = + dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); + if (translation == msg_ctxt_id || translation == msgid_plural) + return (n == 1 ? msgid : msgid_plural); + else + return translation; +} + +/* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID + can be arbitrary expressions. But for string literals these macros are + less efficient than those above. */ + +#include + +#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \ + (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \ + /* || __STDC_VERSION__ >= 199901L */ ) + +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS +#include +#endif + +#define pgettext_expr(Msgctxt, Msgid) \ + dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES) +#define dpgettext_expr(Domainname, Msgctxt, Msgid) \ + dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +dcpgettext_expr (const char *domain, + const char *msgctxt, const char *msgid, + int category) +{ + size_t msgctxt_len = strlen (msgctxt) + 1; + size_t msgid_len = strlen (msgid) + 1; + const char *translation; +#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + char msg_ctxt_id[msgctxt_len + msgid_len]; +#else + char buf[1024]; + char *msg_ctxt_id = + (msgctxt_len + msgid_len <= sizeof (buf) + ? buf + : (char *) malloc (msgctxt_len + msgid_len)); + if (msg_ctxt_id != NULL) +#endif + { + memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); + msg_ctxt_id[msgctxt_len - 1] = '\004'; + memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); + translation = dcgettext (domain, msg_ctxt_id, category); +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + if (msg_ctxt_id != buf) + free (msg_ctxt_id); +#endif + if (translation != msg_ctxt_id) + return translation; + } + return msgid; +} + +#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \ + dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) +#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ + dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +dcnpgettext_expr (const char *domain, + const char *msgctxt, const char *msgid, + const char *msgid_plural, unsigned long int n, + int category) +{ + size_t msgctxt_len = strlen (msgctxt) + 1; + size_t msgid_len = strlen (msgid) + 1; + const char *translation; +#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + char msg_ctxt_id[msgctxt_len + msgid_len]; +#else + char buf[1024]; + char *msg_ctxt_id = + (msgctxt_len + msgid_len <= sizeof (buf) + ? buf + : (char *) malloc (msgctxt_len + msgid_len)); + if (msg_ctxt_id != NULL) +#endif + { + memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); + msg_ctxt_id[msgctxt_len - 1] = '\004'; + memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); + translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + if (msg_ctxt_id != buf) + free (msg_ctxt_id); +#endif + if (!(translation == msg_ctxt_id || translation == msgid_plural)) + return translation; + } + return (n == 1 ? msgid : msgid_plural); +} + +#endif /* _LIBGETTEXT_H */ diff --git a/tests/intprops.h b/tests/intprops.h new file mode 100644 index 00000000..002161ee --- /dev/null +++ b/tests/intprops.h @@ -0,0 +1,77 @@ +/* intprops.h -- properties of integer types + + Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert. */ + +#include + +/* The extra casts in the following macros work around compiler bugs, + e.g., in Cray C 5.0.3.0. */ + +/* True if the arithmetic type T is an integer type. bool counts as + an integer. */ +#define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) + +/* True if negative values of the signed integer type T use two's + complement, ones' complement, or signed magnitude representation, + respectively. Much GNU code assumes two's complement, but some + people like to be portable to all possible C hosts. */ +#define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) +#define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0) +#define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1) + +/* True if the arithmetic type T is signed. */ +#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) + +/* The maximum and minimum values for the integer type T. These + macros have undefined behavior if T is signed and has padding bits. + If this is a problem for you, please let us know how to fix it for + your host. */ +#define TYPE_MINIMUM(t) \ + ((t) (! TYPE_SIGNED (t) \ + ? (t) 0 \ + : TYPE_SIGNED_MAGNITUDE (t) \ + ? ~ (t) 0 \ + : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) +#define TYPE_MAXIMUM(t) \ + ((t) (! TYPE_SIGNED (t) \ + ? (t) -1 \ + : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) + +/* Return zero if T can be determined to be an unsigned type. + Otherwise, return 1. + When compiling with GCC, INT_STRLEN_BOUND uses this macro to obtain a + tighter bound. Otherwise, it overestimates the true bound by one byte + when applied to unsigned types of size 2, 4, 16, ... bytes. + The symbol signed_type_or_expr__ is private to this header file. */ +#if __GNUC__ >= 2 +# define signed_type_or_expr__(t) TYPE_SIGNED (__typeof__ (t)) +#else +# define signed_type_or_expr__(t) 1 +#endif + +/* Bound on length of the string representing an integer type or expression T. + Subtract 1 for the sign bit if T is signed; log10 (2.0) < 146/485; + add 1 for integer division truncation; add 1 more for a minus sign + if needed. */ +#define INT_STRLEN_BOUND(t) \ + ((sizeof (t) * CHAR_BIT - signed_type_or_expr__ (t)) * 146 / 485 \ + + signed_type_or_expr__ (t) + 1) + +/* Bound on buffer size needed to represent an integer type or expression T, + including the terminating null. */ +#define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1) diff --git a/tests/locale.in.h b/tests/locale.in.h new file mode 100644 index 00000000..10629f6c --- /dev/null +++ b/tests/locale.in.h @@ -0,0 +1,36 @@ +/* A POSIX . + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _GL_LOCALE_H + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_LOCALE_H@ + +#ifndef _GL_LOCALE_H +#define _GL_LOCALE_H + +/* The LC_MESSAGES locale category is specified in POSIX, but not in ISO C. + On systems that don't define it, use the same value as GNU libintl. */ +#if !defined LC_MESSAGES +# define LC_MESSAGES 1729 +#endif + +#endif /* _GL_LOCALE_H */ +#endif /* _GL_LOCALE_H */ diff --git a/tests/nan.h b/tests/nan.h new file mode 100644 index 00000000..8aa8bf00 --- /dev/null +++ b/tests/nan.h @@ -0,0 +1,60 @@ +/* Macros for not-a-number. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + + +/* NaNf () returns a 'float' not-a-number. */ + +/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */ +#ifdef __DECC +static float +NaNf () +{ + static float zero = 0.0f; + return zero / zero; +} +#else +# define NaNf() (0.0f / 0.0f) +#endif + + +/* NaNd () returns a 'double' not-a-number. */ + +/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */ +#ifdef __DECC +static double +NaNd () +{ + static double zero = 0.0; + return zero / zero; +} +#else +# define NaNd() (0.0 / 0.0) +#endif + + +/* NaNl () returns a 'long double' not-a-number. */ + +/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the + runtime type conversion. */ +#ifdef __sgi +static long double NaNl () +{ + double zero = 0.0; + return zero / zero; +} +#else +# define NaNl() (0.0L / 0.0L) +#endif diff --git a/tests/progname.c b/tests/progname.c new file mode 100644 index 00000000..9854b5e7 --- /dev/null +++ b/tests/progname.c @@ -0,0 +1,63 @@ +/* Program name management. + Copyright (C) 2001-2003, 2005-2009 Free Software Foundation, Inc. + Written by Bruno Haible , 2001. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + + +#include + +/* Specification. */ +#undef ENABLE_RELOCATABLE /* avoid defining set_program_name as a macro */ +#include "progname.h" + +#include + + +/* String containing name the program is called with. + To be initialized by main(). */ +const char *program_name = NULL; + +/* Set program_name, based on argv[0]. */ +void +set_program_name (const char *argv0) +{ + /* libtool creates a temporary executable whose name is sometimes prefixed + with "lt-" (depends on the platform). It also makes argv[0] absolute. + But the name of the temporary executable is a detail that should not be + visible to the end user and to the test suite. + Remove this "/.libs/" or "/.libs/lt-" prefix here. */ + const char *slash; + const char *base; + + slash = strrchr (argv0, '/'); + base = (slash != NULL ? slash + 1 : argv0); + if (base - argv0 >= 7 && strncmp (base - 7, "/.libs/", 7) == 0) + { + argv0 = base; + if (strncmp (base, "lt-", 3) == 0) + argv0 = base + 3; + } + + /* But don't strip off a leading / in general, because when the user + runs + /some/hidden/place/bin/cp foo foo + he should get the error message + /some/hidden/place/bin/cp: `foo' and `foo' are the same file + not + cp: `foo' and `foo' are the same file + */ + + program_name = argv0; +} diff --git a/tests/progname.h b/tests/progname.h new file mode 100644 index 00000000..82615c6b --- /dev/null +++ b/tests/progname.h @@ -0,0 +1,60 @@ +/* Program name management. + Copyright (C) 2001-2004, 2006 Free Software Foundation, Inc. + Written by Bruno Haible , 2001. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _PROGNAME_H +#define _PROGNAME_H + +/* Programs using this file should do the following in main(): + set_program_name (argv[0]); + */ + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* String containing name the program is called with. */ +extern const char *program_name; + +/* Set program_name, based on argv[0]. */ +extern void set_program_name (const char *argv0); + +#if ENABLE_RELOCATABLE + +/* Set program_name, based on argv[0], and original installation prefix and + directory, for relocatability. */ +extern void set_program_name_and_installdir (const char *argv0, + const char *orig_installprefix, + const char *orig_installdir); +#undef set_program_name +#define set_program_name(ARG0) \ + set_program_name_and_installdir (ARG0, INSTALLPREFIX, INSTALLDIR) + +/* Return the full pathname of the current executable, based on the earlier + call to set_program_name_and_installdir. Return NULL if unknown. */ +extern char *get_full_program_name (void); + +#endif + + +#ifdef __cplusplus +} +#endif + + +#endif /* _PROGNAME_H */ diff --git a/tests/setenv.c b/tests/setenv.c new file mode 100644 index 00000000..83b52b88 --- /dev/null +++ b/tests/setenv.c @@ -0,0 +1,330 @@ +/* Copyright (C) 1992,1995-1999,2000-2003,2005-2008 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#if !_LIBC +# include +#endif +#include + +/* Specification. */ +#include + +#include +#ifndef __set_errno +# define __set_errno(ev) ((errno) = (ev)) +#endif + +#include +#if _LIBC || HAVE_UNISTD_H +# include +#endif + +#if _LIBC || !HAVE_SETENV + +#if !_LIBC +# include "malloca.h" +#endif + +#if !_LIBC +# define __environ environ +#endif + +#if _LIBC +/* This lock protects against simultaneous modifications of `environ'. */ +# include +__libc_lock_define_initialized (static, envlock) +# define LOCK __libc_lock_lock (envlock) +# define UNLOCK __libc_lock_unlock (envlock) +#else +# define LOCK +# define UNLOCK +#endif + +/* In the GNU C library we must keep the namespace clean. */ +#ifdef _LIBC +# define setenv __setenv +# define clearenv __clearenv +# define tfind __tfind +# define tsearch __tsearch +#endif + +/* In the GNU C library implementation we try to be more clever and + allow arbitrarily many changes of the environment given that the used + values are from a small set. Outside glibc this will eat up all + memory after a while. */ +#if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \ + && defined __GNUC__) +# define USE_TSEARCH 1 +# include +typedef int (*compar_fn_t) (const void *, const void *); + +/* This is a pointer to the root of the search tree with the known + values. */ +static void *known_values; + +# define KNOWN_VALUE(Str) \ + ({ \ + void *value = tfind (Str, &known_values, (compar_fn_t) strcmp); \ + value != NULL ? *(char **) value : NULL; \ + }) +# define STORE_VALUE(Str) \ + tsearch (Str, &known_values, (compar_fn_t) strcmp) + +#else +# undef USE_TSEARCH + +# define KNOWN_VALUE(Str) NULL +# define STORE_VALUE(Str) do { } while (0) + +#endif + + +/* If this variable is not a null pointer we allocated the current + environment. */ +static char **last_environ; + + +/* This function is used by `setenv' and `putenv'. The difference between + the two functions is that for the former must create a new string which + is then placed in the environment, while the argument of `putenv' + must be used directly. This is all complicated by the fact that we try + to reuse values once generated for a `setenv' call since we can never + free the strings. */ +int +__add_to_environ (const char *name, const char *value, const char *combined, + int replace) +{ + register char **ep; + register size_t size; + const size_t namelen = strlen (name); + const size_t vallen = value != NULL ? strlen (value) + 1 : 0; + + LOCK; + + /* We have to get the pointer now that we have the lock and not earlier + since another thread might have created a new environment. */ + ep = __environ; + + size = 0; + if (ep != NULL) + { + for (; *ep != NULL; ++ep) + if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=') + break; + else + ++size; + } + + if (ep == NULL || *ep == NULL) + { + char **new_environ; +#ifdef USE_TSEARCH + char *new_value; +#endif + + /* We allocated this space; we can extend it. */ + new_environ = + (char **) (last_environ == NULL + ? malloc ((size + 2) * sizeof (char *)) + : realloc (last_environ, (size + 2) * sizeof (char *))); + if (new_environ == NULL) + { + UNLOCK; + return -1; + } + + /* If the whole entry is given add it. */ + if (combined != NULL) + /* We must not add the string to the search tree since it belongs + to the user. */ + new_environ[size] = (char *) combined; + else + { + /* See whether the value is already known. */ +#ifdef USE_TSEARCH +# ifdef _LIBC + new_value = (char *) alloca (namelen + 1 + vallen); + __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1), + value, vallen); +# else + new_value = (char *) malloca (namelen + 1 + vallen); + if (new_value == NULL) + { + __set_errno (ENOMEM); + UNLOCK; + return -1; + } + memcpy (new_value, name, namelen); + new_value[namelen] = '='; + memcpy (&new_value[namelen + 1], value, vallen); +# endif + + new_environ[size] = KNOWN_VALUE (new_value); + if (new_environ[size] == NULL) +#endif + { + new_environ[size] = (char *) malloc (namelen + 1 + vallen); + if (new_environ[size] == NULL) + { +#if defined USE_TSEARCH && !defined _LIBC + freea (new_value); +#endif + __set_errno (ENOMEM); + UNLOCK; + return -1; + } + +#ifdef USE_TSEARCH + memcpy (new_environ[size], new_value, namelen + 1 + vallen); +#else + memcpy (new_environ[size], name, namelen); + new_environ[size][namelen] = '='; + memcpy (&new_environ[size][namelen + 1], value, vallen); +#endif + /* And save the value now. We cannot do this when we remove + the string since then we cannot decide whether it is a + user string or not. */ + STORE_VALUE (new_environ[size]); + } +#if defined USE_TSEARCH && !defined _LIBC + freea (new_value); +#endif + } + + if (__environ != last_environ) + memcpy ((char *) new_environ, (char *) __environ, + size * sizeof (char *)); + + new_environ[size + 1] = NULL; + + last_environ = __environ = new_environ; + } + else if (replace) + { + char *np; + + /* Use the user string if given. */ + if (combined != NULL) + np = (char *) combined; + else + { +#ifdef USE_TSEARCH + char *new_value; +# ifdef _LIBC + new_value = alloca (namelen + 1 + vallen); + __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1), + value, vallen); +# else + new_value = malloca (namelen + 1 + vallen); + if (new_value == NULL) + { + __set_errno (ENOMEM); + UNLOCK; + return -1; + } + memcpy (new_value, name, namelen); + new_value[namelen] = '='; + memcpy (&new_value[namelen + 1], value, vallen); +# endif + + np = KNOWN_VALUE (new_value); + if (np == NULL) +#endif + { + np = malloc (namelen + 1 + vallen); + if (np == NULL) + { +#if defined USE_TSEARCH && !defined _LIBC + freea (new_value); +#endif + __set_errno (ENOMEM); + UNLOCK; + return -1; + } + +#ifdef USE_TSEARCH + memcpy (np, new_value, namelen + 1 + vallen); +#else + memcpy (np, name, namelen); + np[namelen] = '='; + memcpy (&np[namelen + 1], value, vallen); +#endif + /* And remember the value. */ + STORE_VALUE (np); + } +#if defined USE_TSEARCH && !defined _LIBC + freea (new_value); +#endif + } + + *ep = np; + } + + UNLOCK; + + return 0; +} + +int +setenv (const char *name, const char *value, int replace) +{ + return __add_to_environ (name, value, NULL, replace); +} + +/* The `clearenv' was planned to be added to POSIX.1 but probably + never made it. Nevertheless the POSIX.9 standard (POSIX bindings + for Fortran 77) requires this function. */ +int +clearenv (void) +{ + LOCK; + + if (__environ == last_environ && __environ != NULL) + { + /* We allocated this environment so we can free it. */ + free (__environ); + last_environ = NULL; + } + + /* Clear the environment pointer removes the whole environment. */ + __environ = NULL; + + UNLOCK; + + return 0; +} + +#ifdef _LIBC +static void +free_mem (void) +{ + /* Remove all traces. */ + clearenv (); + + /* Now remove the search tree. */ + __tdestroy (known_values, free); + known_values = NULL; +} +text_set_element (__libc_subfreeres, free_mem); + + +# undef setenv +# undef clearenv +weak_alias (__setenv, setenv) +weak_alias (__clearenv, clearenv) +#endif + +#endif /* _LIBC || !HAVE_SETENV */ diff --git a/tests/strerror.c b/tests/strerror.c new file mode 100644 index 00000000..dfe6c25f --- /dev/null +++ b/tests/strerror.c @@ -0,0 +1,347 @@ +/* strerror.c --- POSIX compatible system error routine + + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#if REPLACE_STRERROR + +# include +# include + +# if GNULIB_defined_ESOCK /* native Windows platforms */ +# if HAVE_WINSOCK2_H +# include +# endif +# endif + +# include "intprops.h" + +# undef strerror +# if ! HAVE_DECL_STRERROR +# define strerror(n) NULL +# endif + +char * +rpl_strerror (int n) +{ + char const *msg = NULL; + /* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */ + switch (n) + { +# if GNULIB_defined_ETXTBSY + case ETXTBSY: + msg = "Text file busy"; + break; +# endif + +# if GNULIB_defined_ESOCK /* native Windows platforms */ + /* EWOULDBLOCK is the same as EAGAIN. */ + case EINPROGRESS: + msg = "Operation now in progress"; + break; + case EALREADY: + msg = "Operation already in progress"; + break; + case ENOTSOCK: + msg = "Socket operation on non-socket"; + break; + case EDESTADDRREQ: + msg = "Destination address required"; + break; + case EMSGSIZE: + msg = "Message too long"; + break; + case EPROTOTYPE: + msg = "Protocol wrong type for socket"; + break; + case ENOPROTOOPT: + msg = "Protocol not available"; + break; + case EPROTONOSUPPORT: + msg = "Protocol not supported"; + break; + case ESOCKTNOSUPPORT: + msg = "Socket type not supported"; + break; + case EOPNOTSUPP: + msg = "Operation not supported"; + break; + case EPFNOSUPPORT: + msg = "Protocol family not supported"; + break; + case EAFNOSUPPORT: + msg = "Address family not supported by protocol"; + break; + case EADDRINUSE: + msg = "Address already in use"; + break; + case EADDRNOTAVAIL: + msg = "Cannot assign requested address"; + break; + case ENETDOWN: + msg = "Network is down"; + break; + case ENETUNREACH: + msg = "Network is unreachable"; + break; + case ENETRESET: + msg = "Network dropped connection on reset"; + break; + case ECONNABORTED: + msg = "Software caused connection abort"; + break; + case ECONNRESET: + msg = "Connection reset by peer"; + break; + case ENOBUFS: + msg = "No buffer space available"; + break; + case EISCONN: + msg = "Transport endpoint is already connected"; + break; + case ENOTCONN: + msg = "Transport endpoint is not connected"; + break; + case ESHUTDOWN: + msg = "Cannot send after transport endpoint shutdown"; + break; + case ETOOMANYREFS: + msg = "Too many references: cannot splice"; + break; + case ETIMEDOUT: + msg = "Connection timed out"; + break; + case ECONNREFUSED: + msg = "Connection refused"; + break; + case ELOOP: + msg = "Too many levels of symbolic links"; + break; + case EHOSTDOWN: + msg = "Host is down"; + break; + case EHOSTUNREACH: + msg = "No route to host"; + break; + case EPROCLIM: + msg = "Too many processes"; + break; + case EUSERS: + msg = "Too many users"; + break; + case EDQUOT: + msg = "Disk quota exceeded"; + break; + case ESTALE: + msg = "Stale NFS file handle"; + break; + case EREMOTE: + msg = "Object is remote"; + break; +# if HAVE_WINSOCK2_H + /* WSA_INVALID_HANDLE maps to EBADF */ + /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */ + /* WSA_INVALID_PARAMETER maps to EINVAL */ + case WSA_OPERATION_ABORTED: + msg = "Overlapped operation aborted"; + break; + case WSA_IO_INCOMPLETE: + msg = "Overlapped I/O event object not in signaled state"; + break; + case WSA_IO_PENDING: + msg = "Overlapped operations will complete later"; + break; + /* WSAEINTR maps to EINTR */ + /* WSAEBADF maps to EBADF */ + /* WSAEACCES maps to EACCES */ + /* WSAEFAULT maps to EFAULT */ + /* WSAEINVAL maps to EINVAL */ + /* WSAEMFILE maps to EMFILE */ + /* WSAEWOULDBLOCK maps to EWOULDBLOCK */ + /* WSAEINPROGRESS is EINPROGRESS */ + /* WSAEALREADY is EALREADY */ + /* WSAENOTSOCK is ENOTSOCK */ + /* WSAEDESTADDRREQ is EDESTADDRREQ */ + /* WSAEMSGSIZE is EMSGSIZE */ + /* WSAEPROTOTYPE is EPROTOTYPE */ + /* WSAENOPROTOOPT is ENOPROTOOPT */ + /* WSAEPROTONOSUPPORT is EPROTONOSUPPORT */ + /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */ + /* WSAEOPNOTSUPP is EOPNOTSUPP */ + /* WSAEPFNOSUPPORT is EPFNOSUPPORT */ + /* WSAEAFNOSUPPORT is EAFNOSUPPORT */ + /* WSAEADDRINUSE is EADDRINUSE */ + /* WSAEADDRNOTAVAIL is EADDRNOTAVAIL */ + /* WSAENETDOWN is ENETDOWN */ + /* WSAENETUNREACH is ENETUNREACH */ + /* WSAENETRESET is ENETRESET */ + /* WSAECONNABORTED is ECONNABORTED */ + /* WSAECONNRESET is ECONNRESET */ + /* WSAENOBUFS is ENOBUFS */ + /* WSAEISCONN is EISCONN */ + /* WSAENOTCONN is ENOTCONN */ + /* WSAESHUTDOWN is ESHUTDOWN */ + /* WSAETOOMANYREFS is ETOOMANYREFS */ + /* WSAETIMEDOUT is ETIMEDOUT */ + /* WSAECONNREFUSED is ECONNREFUSED */ + /* WSAELOOP is ELOOP */ + /* WSAENAMETOOLONG maps to ENAMETOOLONG */ + /* WSAEHOSTDOWN is EHOSTDOWN */ + /* WSAEHOSTUNREACH is EHOSTUNREACH */ + /* WSAENOTEMPTY maps to ENOTEMPTY */ + /* WSAEPROCLIM is EPROCLIM */ + /* WSAEUSERS is EUSERS */ + /* WSAEDQUOT is EDQUOT */ + /* WSAESTALE is ESTALE */ + /* WSAEREMOTE is EREMOTE */ + case WSASYSNOTREADY: + msg = "Network subsystem is unavailable"; + break; + case WSAVERNOTSUPPORTED: + msg = "Winsock.dll version out of range"; + break; + case WSANOTINITIALISED: + msg = "Successful WSAStartup not yet performed"; + break; + case WSAEDISCON: + msg = "Graceful shutdown in progress"; + break; + case WSAENOMORE: case WSA_E_NO_MORE: + msg = "No more results"; + break; + case WSAECANCELLED: case WSA_E_CANCELLED: + msg = "Call was canceled"; + break; + case WSAEINVALIDPROCTABLE: + msg = "Procedure call table is invalid"; + break; + case WSAEINVALIDPROVIDER: + msg = "Service provider is invalid"; + break; + case WSAEPROVIDERFAILEDINIT: + msg = "Service provider failed to initialize"; + break; + case WSASYSCALLFAILURE: + msg = "System call failure"; + break; + case WSASERVICE_NOT_FOUND: + msg = "Service not found"; + break; + case WSATYPE_NOT_FOUND: + msg = "Class type not found"; + break; + case WSAEREFUSED: + msg = "Database query was refused"; + break; + case WSAHOST_NOT_FOUND: + msg = "Host not found"; + break; + case WSATRY_AGAIN: + msg = "Nonauthoritative host not found"; + break; + case WSANO_RECOVERY: + msg = "Nonrecoverable error"; + break; + case WSANO_DATA: + msg = "Valid name, no data record of requested type"; + break; + /* WSA_QOS_* omitted */ +# endif +# endif + +# if GNULIB_defined_ENOMSG + case ENOMSG: + msg = "No message of desired type"; + break; +# endif + +# if GNULIB_defined_EIDRM + case EIDRM: + msg = "Identifier removed"; + break; +# endif + +# if GNULIB_defined_ENOLINK + case ENOLINK: + msg = "Link has been severed"; + break; +# endif + +# if GNULIB_defined_EPROTO + case EPROTO: + msg = "Protocol error"; + break; +# endif + +# if GNULIB_defined_EMULTIHOP + case EMULTIHOP: + msg = "Multihop attempted"; + break; +# endif + +# if GNULIB_defined_EBADMSG + case EBADMSG: + msg = "Bad message"; + break; +# endif + +# if GNULIB_defined_EOVERFLOW + case EOVERFLOW: + msg = "Value too large for defined data type"; + break; +# endif + +# if GNULIB_defined_ENOTSUP + case ENOTSUP: + msg = "Not supported"; + break; +# endif + +# if GNULIB_defined_ESTALE + case ESTALE: + msg = "Stale NFS file handle"; + break; +# endif + +# if GNULIB_defined_ECANCELED + case ECANCELED: + msg = "Operation canceled"; + break; +# endif + } + + if (msg) + return (char *) msg; + + { + char *result = strerror (n); + + if (result == NULL || result[0] == '\0') + { + static char const fmt[] = "Unknown error (%d)"; + static char msg_buf[sizeof fmt + INT_STRLEN_BOUND (n)]; + sprintf (msg_buf, fmt, n); + return msg_buf; + } + + return result; + } +} + +#endif diff --git a/tests/test-alloca-opt.c b/tests/test-alloca-opt.c new file mode 100644 index 00000000..68d906d8 --- /dev/null +++ b/tests/test-alloca-opt.c @@ -0,0 +1,62 @@ +/* Test of optional automatic memory allocation. + Copyright (C) 2005, 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +#if HAVE_ALLOCA + +static void +do_allocation (int n) +{ + void *ptr = alloca (n); + (void) ptr; +} + +void (*func) (int) = do_allocation; + +#endif + +int +main () +{ +#if HAVE_ALLOCA + int i; + + /* Repeat a lot of times, to make sure there's no memory leak. */ + for (i = 0; i < 100000; i++) + { + /* Try various values. + n = 0 gave a crash on Alpha with gcc-2.5.8. + Some versions of MacOS X have a stack size limit of 512 KB. */ + func (34); + func (134); + func (399); + func (510823); + func (129321); + func (0); + func (4070); + func (4095); + func (1); + func (16582); + } +#endif + + return 0; +} diff --git a/tests/test-array-mergesort.c b/tests/test-array-mergesort.c new file mode 100644 index 00000000..8a47b676 --- /dev/null +++ b/tests/test-array-mergesort.c @@ -0,0 +1,395 @@ +/* Test of stable-sorting of an array using mergesort. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +#include + +struct foo { double x; double index; }; +#define ELEMENT struct foo +#define COMPARE(a,b) ((a)->x < (b)->x ? -1 : (a)->x > (b)->x ? 1 : 0) +#define STATIC static +#include "array-mergesort.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define NMAX 257 +static const struct foo data[NMAX] = +{ + { 2, 0 }, + { 28, 1 }, + { 36, 2 }, + { 43, 3 }, + { 20, 4 }, + { 37, 5 }, + { 19, 6 }, + { 37, 7 }, + { 30, 8 }, + { 18, 9 }, + { 30, 10 }, + { 49, 11 }, + { 16, 12 }, + { 22, 13 }, + { 23, 14 }, + { 3, 15 }, + { 39, 16 }, + { 48, 17 }, + { 18, 18 }, + { 18, 19 }, + { 45, 20 }, + { 39, 21 }, + { 1, 22 }, + { 44, 23 }, + { 24, 24 }, + { 21, 25 }, + { 29, 26 }, + { 3, 27 }, + { 34, 28 }, + { 15, 29 }, + { 39, 30 }, + { 11, 31 }, + { 29, 32 }, + { 27, 33 }, + { 43, 34 }, + { 31, 35 }, + { 28, 36 }, + { 12, 37 }, + { 16, 38 }, + { 34, 39 }, + { 25, 40 }, + { 31, 41 }, + { 29, 42 }, + { 36, 43 }, + { 17, 44 }, + { 18, 45 }, + { 44, 46 }, + { 22, 47 }, + { 23, 48 }, + { 32, 49 }, + { 16, 50 }, + { 47, 51 }, + { 28, 52 }, + { 46, 53 }, + { 49, 54 }, + { 24, 55 }, + { 0, 56 }, + { 20, 57 }, + { 25, 58 }, + { 42, 59 }, + { 48, 60 }, + { 16, 61 }, + { 26, 62 }, + { 32, 63 }, + { 24, 64 }, + { 17, 65 }, + { 47, 66 }, + { 47, 67 }, + { 12, 68 }, + { 33, 69 }, + { 41, 70 }, + { 36, 71 }, + { 8, 72 }, + { 15, 73 }, + { 0, 74 }, + { 32, 75 }, + { 28, 76 }, + { 11, 77 }, + { 46, 78 }, + { 34, 79 }, + { 5, 80 }, + { 20, 81 }, + { 47, 82 }, + { 25, 83 }, + { 7, 84 }, + { 29, 85 }, + { 40, 86 }, + { 5, 87 }, + { 12, 88 }, + { 30, 89 }, + { 1, 90 }, + { 22, 91 }, + { 29, 92 }, + { 42, 93 }, + { 49, 94 }, + { 30, 95 }, + { 40, 96 }, + { 33, 97 }, + { 36, 98 }, + { 12, 99 }, + { 8, 100 }, + { 33, 101 }, + { 5, 102 }, + { 31, 103 }, + { 27, 104 }, + { 19, 105 }, + { 43, 106 }, + { 37, 107 }, + { 9, 108 }, + { 40, 109 }, + { 0, 110 }, + { 35, 111 }, + { 32, 112 }, + { 6, 113 }, + { 27, 114 }, + { 28, 115 }, + { 30, 116 }, + { 37, 117 }, + { 32, 118 }, + { 41, 119 }, + { 14, 120 }, + { 44, 121 }, + { 22, 122 }, + { 26, 123 }, + { 2, 124 }, + { 43, 125 }, + { 20, 126 }, + { 32, 127 }, + { 24, 128 }, + { 33, 129 }, + { 7, 130 }, + { 17, 131 }, + { 10, 132 }, + { 47, 133 }, + { 14, 134 }, + { 29, 135 }, + { 19, 136 }, + { 25, 137 }, + { 25, 138 }, + { 13, 139 }, + { 25, 140 }, + { 32, 141 }, + { 8, 142 }, + { 37, 143 }, + { 31, 144 }, + { 32, 145 }, + { 5, 146 }, + { 45, 147 }, + { 35, 148 }, + { 47, 149 }, + { 3, 150 }, + { 4, 151 }, + { 37, 152 }, + { 43, 153 }, + { 39, 154 }, + { 18, 155 }, + { 13, 156 }, + { 15, 157 }, + { 41, 158 }, + { 34, 159 }, + { 4, 160 }, + { 33, 161 }, + { 20, 162 }, + { 4, 163 }, + { 38, 164 }, + { 47, 165 }, + { 30, 166 }, + { 41, 167 }, + { 23, 168 }, + { 40, 169 }, + { 23, 170 }, + { 35, 171 }, + { 47, 172 }, + { 32, 173 }, + { 15, 174 }, + { 15, 175 }, + { 41, 176 }, + { 35, 177 }, + { 6, 178 }, + { 18, 179 }, + { 35, 180 }, + { 39, 181 }, + { 34, 182 }, + { 6, 183 }, + { 34, 184 }, + { 37, 185 }, + { 15, 186 }, + { 6, 187 }, + { 12, 188 }, + { 39, 189 }, + { 9, 190 }, + { 48, 191 }, + { 37, 192 }, + { 28, 193 }, + { 32, 194 }, + { 1, 195 }, + { 45, 196 }, + { 21, 197 }, + { 11, 198 }, + { 32, 199 }, + { 43, 200 }, + { 35, 201 }, + { 25, 202 }, + { 4, 203 }, + { 20, 204 }, + { 10, 205 }, + { 22, 206 }, + { 44, 207 }, + { 30, 208 }, + { 16, 209 }, + { 42, 210 }, + { 13, 211 }, + { 29, 212 }, + { 23, 213 }, + { 30, 214 }, + { 25, 215 }, + { 49, 216 }, + { 0, 217 }, + { 49, 218 }, + { 29, 219 }, + { 37, 220 }, + { 6, 221 }, + { 27, 222 }, + { 31, 223 }, + { 17, 224 }, + { 45, 225 }, + { 25, 226 }, + { 15, 227 }, + { 34, 228 }, + { 7, 229 }, + { 7, 230 }, + { 4, 231 }, + { 31, 232 }, + { 40, 233 }, + { 17, 234 }, + { 2, 235 }, + { 34, 236 }, + { 17, 237 }, + { 25, 238 }, + { 5, 239 }, + { 48, 240 }, + { 31, 241 }, + { 41, 242 }, + { 45, 243 }, + { 33, 244 }, + { 46, 245 }, + { 19, 246 }, + { 17, 247 }, + { 38, 248 }, + { 43, 249 }, + { 16, 250 }, + { 5, 251 }, + { 21, 252 }, + { 0, 253 }, + { 47, 254 }, + { 40, 255 }, + { 22, 256 } +}; + +static int +cmp_double (const void *a, const void *b) +{ + return (*(const double *)a < *(const double *)b ? -1 : + *(const double *)a > *(const double *)b ? 1 : + 0); +} + +int +main () +{ + size_t n; + + /* Test merge_sort_fromto. */ + for (n = 1; n <= NMAX; n++) + { + struct foo *dst; + struct foo *tmp; + double *qsort_result; + size_t i; + + dst = (struct foo *) malloc ((n + 1) * sizeof (struct foo)); + dst[n].x = 0x4A6A71FE; /* canary */ + tmp = (struct foo *) malloc ((n / 2 + 1) * sizeof (struct foo)); + tmp[n / 2].x = 0x587EF149; /* canary */ + + merge_sort_fromto (data, dst, n, tmp); + + /* Verify the canaries. */ + ASSERT (dst[n].x == 0x4A6A71FE); + ASSERT (tmp[n / 2].x == 0x587EF149); + + /* Verify the result. */ + qsort_result = (double *) malloc (n * sizeof (double)); + for (i = 0; i < n; i++) + qsort_result[i] = data[i].x; + qsort (qsort_result, n, sizeof (double), cmp_double); + for (i = 0; i < n; i++) + ASSERT (dst[i].x == qsort_result[i]); + + /* Verify the stability. */ + for (i = 0; i < n; i++) + if (i > 0 && dst[i - 1].x == dst[i].x) + ASSERT (dst[i - 1].index < dst[i].index); + + free (qsort_result); + free (tmp); + free (dst); + } + + /* Test merge_sort_inplace. */ + for (n = 1; n <= NMAX; n++) + { + struct foo *src; + struct foo *tmp; + double *qsort_result; + size_t i; + + src = (struct foo *) malloc ((n + 1) * sizeof (struct foo)); + src[n].x = 0x4A6A71FE; /* canary */ + tmp = (struct foo *) malloc ((n + 1) * sizeof (struct foo)); + tmp[n].x = 0x587EF149; /* canary */ + + for (i = 0; i < n; i++) + src[i] = data[i]; + + merge_sort_inplace (src, n, tmp); + + /* Verify the canaries. */ + ASSERT (src[n].x == 0x4A6A71FE); + ASSERT (tmp[n].x == 0x587EF149); + + /* Verify the result. */ + qsort_result = (double *) malloc (n * sizeof (double)); + for (i = 0; i < n; i++) + qsort_result[i] = data[i].x; + qsort (qsort_result, n, sizeof (double), cmp_double); + for (i = 0; i < n; i++) + ASSERT (src[i].x == qsort_result[i]); + + /* Verify the stability. */ + for (i = 0; i < n; i++) + if (i > 0 && src[i - 1].x == src[i].x) + ASSERT (src[i - 1].index < src[i].index); + + free (qsort_result); + free (tmp); + free (src); + } + + return 0; +} diff --git a/tests/test-c-ctype.c b/tests/test-c-ctype.c new file mode 100644 index 00000000..6d7fe1b7 --- /dev/null +++ b/tests/test-c-ctype.c @@ -0,0 +1,398 @@ +/* Test of character handling in C locale. + Copyright (C) 2005, 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2005. */ + +#include + +#include "c-ctype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static void +test_all (void) +{ + int c; + + for (c = -0x80; c < 0x100; c++) + { + ASSERT (c_isascii (c) == (c >= 0 && c < 0x80)); + + switch (c) + { + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': + case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': + case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': + case 'Y': case 'Z': + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': + case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': + case 's': case 't': case 'u': case 'v': case 'w': case 'x': + case 'y': case 'z': + case '0': case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': + ASSERT (c_isalnum (c) == 1); + break; + default: + ASSERT (c_isalnum (c) == 0); + break; + } + + switch (c) + { + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': + case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': + case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': + case 'Y': case 'Z': + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': + case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': + case 's': case 't': case 'u': case 'v': case 'w': case 'x': + case 'y': case 'z': + ASSERT (c_isalpha (c) == 1); + break; + default: + ASSERT (c_isalpha (c) == 0); + break; + } + + switch (c) + { + case '\t': case ' ': + ASSERT (c_isblank (c) == 1); + break; + default: + ASSERT (c_isblank (c) == 0); + break; + } + + ASSERT (c_iscntrl (c) == ((c >= 0 && c < 0x20) || c == 0x7f)); + + switch (c) + { + case '0': case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': + ASSERT (c_isdigit (c) == 1); + break; + default: + ASSERT (c_isdigit (c) == 0); + break; + } + + switch (c) + { + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': + case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': + case 's': case 't': case 'u': case 'v': case 'w': case 'x': + case 'y': case 'z': + ASSERT (c_islower (c) == 1); + break; + default: + ASSERT (c_islower (c) == 0); + break; + } + + ASSERT (c_isgraph (c) == ((c >= 0x20 && c < 0x7f) && c != ' ')); + + ASSERT (c_isprint (c) == (c >= 0x20 && c < 0x7f)); + + ASSERT (c_ispunct (c) == (c_isgraph (c) && !c_isalnum (c))); + + switch (c) + { + case ' ': case '\t': case '\n': case '\v': case '\f': case '\r': + ASSERT (c_isspace (c) == 1); + break; + default: + ASSERT (c_isspace (c) == 0); + break; + } + + switch (c) + { + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': + case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': + case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': + case 'Y': case 'Z': + ASSERT (c_isupper (c) == 1); + break; + default: + ASSERT (c_isupper (c) == 0); + break; + } + + switch (c) + { + case '0': case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + ASSERT (c_isxdigit (c) == 1); + break; + default: + ASSERT (c_isxdigit (c) == 0); + break; + } + + switch (c) + { + case 'A': + ASSERT (c_tolower (c) == 'a'); + ASSERT (c_toupper (c) == c); + break; + case 'B': + ASSERT (c_tolower (c) == 'b'); + ASSERT (c_toupper (c) == c); + break; + case 'C': + ASSERT (c_tolower (c) == 'c'); + ASSERT (c_toupper (c) == c); + break; + case 'D': + ASSERT (c_tolower (c) == 'd'); + ASSERT (c_toupper (c) == c); + break; + case 'E': + ASSERT (c_tolower (c) == 'e'); + ASSERT (c_toupper (c) == c); + break; + case 'F': + ASSERT (c_tolower (c) == 'f'); + ASSERT (c_toupper (c) == c); + break; + case 'G': + ASSERT (c_tolower (c) == 'g'); + ASSERT (c_toupper (c) == c); + break; + case 'H': + ASSERT (c_tolower (c) == 'h'); + ASSERT (c_toupper (c) == c); + break; + case 'I': + ASSERT (c_tolower (c) == 'i'); + ASSERT (c_toupper (c) == c); + break; + case 'J': + ASSERT (c_tolower (c) == 'j'); + ASSERT (c_toupper (c) == c); + break; + case 'K': + ASSERT (c_tolower (c) == 'k'); + ASSERT (c_toupper (c) == c); + break; + case 'L': + ASSERT (c_tolower (c) == 'l'); + ASSERT (c_toupper (c) == c); + break; + case 'M': + ASSERT (c_tolower (c) == 'm'); + ASSERT (c_toupper (c) == c); + break; + case 'N': + ASSERT (c_tolower (c) == 'n'); + ASSERT (c_toupper (c) == c); + break; + case 'O': + ASSERT (c_tolower (c) == 'o'); + ASSERT (c_toupper (c) == c); + break; + case 'P': + ASSERT (c_tolower (c) == 'p'); + ASSERT (c_toupper (c) == c); + break; + case 'Q': + ASSERT (c_tolower (c) == 'q'); + ASSERT (c_toupper (c) == c); + break; + case 'R': + ASSERT (c_tolower (c) == 'r'); + ASSERT (c_toupper (c) == c); + break; + case 'S': + ASSERT (c_tolower (c) == 's'); + ASSERT (c_toupper (c) == c); + break; + case 'T': + ASSERT (c_tolower (c) == 't'); + ASSERT (c_toupper (c) == c); + break; + case 'U': + ASSERT (c_tolower (c) == 'u'); + ASSERT (c_toupper (c) == c); + break; + case 'V': + ASSERT (c_tolower (c) == 'v'); + ASSERT (c_toupper (c) == c); + break; + case 'W': + ASSERT (c_tolower (c) == 'w'); + ASSERT (c_toupper (c) == c); + break; + case 'X': + ASSERT (c_tolower (c) == 'x'); + ASSERT (c_toupper (c) == c); + break; + case 'Y': + ASSERT (c_tolower (c) == 'y'); + ASSERT (c_toupper (c) == c); + break; + case 'Z': + ASSERT (c_tolower (c) == 'z'); + ASSERT (c_toupper (c) == c); + break; + case 'a': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'A'); + break; + case 'b': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'B'); + break; + case 'c': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'C'); + break; + case 'd': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'D'); + break; + case 'e': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'E'); + break; + case 'f': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'F'); + break; + case 'g': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'G'); + break; + case 'h': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'H'); + break; + case 'i': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'I'); + break; + case 'j': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'J'); + break; + case 'k': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'K'); + break; + case 'l': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'L'); + break; + case 'm': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'M'); + break; + case 'n': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'N'); + break; + case 'o': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'O'); + break; + case 'p': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'P'); + break; + case 'q': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'Q'); + break; + case 'r': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'R'); + break; + case 's': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'S'); + break; + case 't': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'T'); + break; + case 'u': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'U'); + break; + case 'v': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'V'); + break; + case 'w': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'W'); + break; + case 'x': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'X'); + break; + case 'y': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'Y'); + break; + case 'z': + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == 'Z'); + break; + default: + ASSERT (c_tolower (c) == c); + ASSERT (c_toupper (c) == c); + break; + } + } +} + +int +main () +{ + test_all (); + + setlocale (LC_ALL, "de_DE"); + test_all (); + + setlocale (LC_ALL, "ja_JP.EUC-JP"); + test_all (); + + return 0; +} diff --git a/tests/test-c-strcase.sh b/tests/test-c-strcase.sh new file mode 100755 index 00000000..5fcf906b --- /dev/null +++ b/tests/test-c-strcase.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Test in the C locale. +./test-c-strcasecmp${EXEEXT} || exit 1 +./test-c-strncasecmp${EXEEXT} || exit 1 + +# Test in an ISO-8859-1 or ISO-8859-15 locale. +: ${LOCALE_FR=fr_FR} +if test $LOCALE_FR != none; then + LC_ALL=$LOCALE_FR ./test-c-strcasecmp${EXEEXT} locale || exit 1 + LC_ALL=$LOCALE_FR ./test-c-strncasecmp${EXEEXT} locale || exit 1 +fi + +# Test in a Turkish UTF-8 locale. +: ${LOCALE_TR_UTF8=tr_TR.UTF-8} +if test $LOCALE_TR_UTF8 != none; then + LC_ALL=$LOCALE_TR_UTF8 ./test-c-strcasecmp${EXEEXT} locale || exit 1 + LC_ALL=$LOCALE_TR_UTF8 ./test-c-strncasecmp${EXEEXT} locale || exit 1 +fi + +exit 0 diff --git a/tests/test-c-strcasecmp.c b/tests/test-c-strcasecmp.c new file mode 100644 index 00000000..16244b9f --- /dev/null +++ b/tests/test-c-strcasecmp.c @@ -0,0 +1,77 @@ +/* Test of case-insensitive string comparison function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "c-strcase.h" + +#include +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main (int argc, char *argv[]) +{ + if (argc > 1) + { + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + } + + ASSERT (c_strcasecmp ("paragraph", "Paragraph") == 0); + + ASSERT (c_strcasecmp ("paragrapH", "parAgRaph") == 0); + + ASSERT (c_strcasecmp ("paragraph", "paraLyzed") < 0); + ASSERT (c_strcasecmp ("paraLyzed", "paragraph") > 0); + + ASSERT (c_strcasecmp ("para", "paragraph") < 0); + ASSERT (c_strcasecmp ("paragraph", "para") > 0); + + /* The following tests shows how c_strcasecmp() is different from + strcasecmp(). */ + + ASSERT (c_strcasecmp ("\311mile", "\351mile") < 0); + ASSERT (c_strcasecmp ("\351mile", "\311mile") > 0); + + /* The following tests shows how c_strcasecmp() is different from + mbscasecmp(). */ + + ASSERT (c_strcasecmp ("\303\266zg\303\274r", "\303\226ZG\303\234R") > 0); /* özgür */ + ASSERT (c_strcasecmp ("\303\226ZG\303\234R", "\303\266zg\303\274r") < 0); /* özgür */ + + /* This test shows how strings of different size cannot compare equal. */ + ASSERT (c_strcasecmp ("turkish", "TURK\304\260SH") < 0); + ASSERT (c_strcasecmp ("TURK\304\260SH", "turkish") > 0); + + return 0; +} diff --git a/tests/test-c-strncasecmp.c b/tests/test-c-strncasecmp.c new file mode 100644 index 00000000..7d6dbf50 --- /dev/null +++ b/tests/test-c-strncasecmp.c @@ -0,0 +1,91 @@ +/* Test of case-insensitive string comparison function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "c-strcase.h" + +#include +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main (int argc, char *argv[]) +{ + if (argc > 1) + { + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + } + + ASSERT (c_strncasecmp ("paragraph", "Paragraph", 1000000) == 0); + ASSERT (c_strncasecmp ("paragraph", "Paragraph", 9) == 0); + + ASSERT (c_strncasecmp ("paragrapH", "parAgRaph", 1000000) == 0); + ASSERT (c_strncasecmp ("paragrapH", "parAgRaph", 9) == 0); + + ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 10) < 0); + ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 9) < 0); + ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 5) < 0); + ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 4) == 0); + ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 10) > 0); + ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 9) > 0); + ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 5) > 0); + ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 4) == 0); + + ASSERT (c_strncasecmp ("para", "paragraph", 10) < 0); + ASSERT (c_strncasecmp ("para", "paragraph", 9) < 0); + ASSERT (c_strncasecmp ("para", "paragraph", 5) < 0); + ASSERT (c_strncasecmp ("para", "paragraph", 4) == 0); + ASSERT (c_strncasecmp ("paragraph", "para", 10) > 0); + ASSERT (c_strncasecmp ("paragraph", "para", 9) > 0); + ASSERT (c_strncasecmp ("paragraph", "para", 5) > 0); + ASSERT (c_strncasecmp ("paragraph", "para", 4) == 0); + + /* The following tests shows how c_strncasecmp() is different from + strncasecmp(). */ + + ASSERT (c_strncasecmp ("\311mily", "\351mile", 4) < 0); + ASSERT (c_strncasecmp ("\351mile", "\311mily", 4) > 0); + + /* The following tests shows how c_strncasecmp() is different from + mbsncasecmp(). */ + + ASSERT (c_strncasecmp ("\303\266zg\303\274r", "\303\226ZG\303\234R", 99) > 0); /* özgür */ + ASSERT (c_strncasecmp ("\303\226ZG\303\234R", "\303\266zg\303\274r", 99) < 0); /* özgür */ + + /* This test shows how strings of different size cannot compare equal. */ + ASSERT (c_strncasecmp ("turkish", "TURK\304\260SH", 7) < 0); + ASSERT (c_strncasecmp ("TURK\304\260SH", "turkish", 7) > 0); + + return 0; +} diff --git a/tests/test-environ.c b/tests/test-environ.c new file mode 100644 index 00000000..d9501bbd --- /dev/null +++ b/tests/test-environ.c @@ -0,0 +1,44 @@ +/* Test of environ variable. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include + +#include + +int +main () +{ + /* The environment variables that are set even in the weirdest situations + are HOME and PATH. + POSIX says that HOME is initialized by the system, and that PATH may be + unset. But in practice it's more frequent to see HOME unset and PATH + set. So we test the presence of PATH. */ + char **remaining_variables = environ; + char *string; + + for (; (string = *remaining_variables) != NULL; remaining_variables++) + { + if (strncmp (string, "PATH=", 5) == 0) + /* Found the PATH environment variable. */ + return 0; + } + /* Failed to find the PATH environment variable. */ + return 1; +} diff --git a/tests/test-errno.c b/tests/test-errno.c new file mode 100644 index 00000000..4642027d --- /dev/null +++ b/tests/test-errno.c @@ -0,0 +1,117 @@ +/* Test of substitute. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include + +/* Verify that the POSIX mandated errno values exist and can be used as + initializers outside of a function. + The variable names happen to match the Linux/x86 error numbers. */ +int e1 = EPERM; +int e2 = ENOENT; +int e3 = ESRCH; +int e4 = EINTR; +int e5 = EIO; +int e6 = ENXIO; +int e7 = E2BIG; +int e8 = ENOEXEC; +int e9 = EBADF; +int e10 = ECHILD; +int e11 = EAGAIN; +int e11a = EWOULDBLOCK; +int e12 = ENOMEM; +int e13 = EACCES; +int e14 = EFAULT; +int e16 = EBUSY; +int e17 = EEXIST; +int e18 = EXDEV; +int e19 = ENODEV; +int e20 = ENOTDIR; +int e21 = EISDIR; +int e22 = EINVAL; +int e23 = ENFILE; +int e24 = EMFILE; +int e25 = ENOTTY; +int e26 = ETXTBSY; +int e27 = EFBIG; +int e28 = ENOSPC; +int e29 = ESPIPE; +int e30 = EROFS; +int e31 = EMLINK; +int e32 = EPIPE; +int e33 = EDOM; +int e34 = ERANGE; +int e35 = EDEADLK; +int e36 = ENAMETOOLONG; +int e37 = ENOLCK; +int e38 = ENOSYS; +int e39 = ENOTEMPTY; +int e40 = ELOOP; +int e42 = ENOMSG; +int e43 = EIDRM; +int e67 = ENOLINK; +int e71 = EPROTO; +int e72 = EMULTIHOP; +int e74 = EBADMSG; +int e75 = EOVERFLOW; +int e84 = EILSEQ; +int e88 = ENOTSOCK; +int e89 = EDESTADDRREQ; +int e90 = EMSGSIZE; +int e91 = EPROTOTYPE; +int e92 = ENOPROTOOPT; +int e93 = EPROTONOSUPPORT; +int e95 = EOPNOTSUPP; +int e95a = ENOTSUP; +int e97 = EAFNOSUPPORT; +int e98 = EADDRINUSE; +int e99 = EADDRNOTAVAIL; +int e100 = ENETDOWN; +int e101 = ENETUNREACH; +int e102 = ENETRESET; +int e103 = ECONNABORTED; +int e104 = ECONNRESET; +int e105 = ENOBUFS; +int e106 = EISCONN; +int e107 = ENOTCONN; +int e110 = ETIMEDOUT; +int e111 = ECONNREFUSED; +int e113 = EHOSTUNREACH; +int e114 = EALREADY; +int e115 = EINPROGRESS; +int e116 = ESTALE; +int e122 = EDQUOT; +int e125 = ECANCELED; + +/* Don't verify that these errno values are all different, except for possibly + EWOULDBLOCK == EAGAIN. Even Linux/x86 does not pass this check: it has + ENOTSUP == EOPNOTSUPP. */ + +int +main () +{ + /* Verify that errno can be assigned. */ + errno = EOVERFLOW; + + /* snprintf() callers want to distinguish EINVAL and EOVERFLOW. */ + if (errno == EINVAL) + return 1; + + return 0; +} diff --git a/tests/test-frexpl.c b/tests/test-frexpl.c new file mode 100644 index 00000000..d4babb88 --- /dev/null +++ b/tests/test-frexpl.c @@ -0,0 +1,233 @@ +/* Test of splitting a 'long double' into fraction and mantissa. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +#include +#include +#include + +#include "fpucw.h" +#include "isnanl-nolibm.h" +#include "nan.h" + +/* Avoid some warnings from "gcc -Wshadow". + This file doesn't use the exp() function. */ +#undef exp +#define exp exponent + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* On MIPS IRIX machines, LDBL_MIN_EXP is -1021, but the smallest reliable + exponent for 'long double' is -964. Similarly, on PowerPC machines, + LDBL_MIN_EXP is -1021, but the smallest reliable exponent for 'long double' + is -968. For exponents below that, the precision may be truncated to the + precision used for 'double'. */ +#ifdef __sgi +# define MIN_NORMAL_EXP (LDBL_MIN_EXP + 57) +#elif defined __ppc || defined __ppc__ || defined __powerpc || defined __powerpc__ +# define MIN_NORMAL_EXP (LDBL_MIN_EXP + 53) +#else +# define MIN_NORMAL_EXP LDBL_MIN_EXP +#endif + +/* On HP-UX 10.20, negating 0.0L does not yield -0.0L. + So we use minus_zero instead. + IRIX cc can't put -0.0L into .data, but can compute at runtime. + Note that the expression -LDBL_MIN * LDBL_MIN does not work on other + platforms, such as when cross-compiling to PowerPC on MacOS X 10.5. */ +#if defined __hpux || defined __sgi +static long double +compute_minus_zero (void) +{ + return -LDBL_MIN * LDBL_MIN; +} +# define minus_zero compute_minus_zero () +#else +long double minus_zero = -0.0L; +#endif + +static long double +my_ldexp (long double x, int d) +{ + for (; d > 0; d--) + x *= 2.0L; + for (; d < 0; d++) + x *= 0.5L; + return x; +} + +int +main () +{ + int i; + long double x; + DECL_LONG_DOUBLE_ROUNDING + + BEGIN_LONG_DOUBLE_ROUNDING (); + + { /* NaN. */ + int exp = -9999; + long double mantissa; + x = NaNl (); + mantissa = frexpl (x, &exp); + ASSERT (isnanl (mantissa)); + } + + { /* Positive infinity. */ + int exp = -9999; + long double mantissa; + x = 1.0L / 0.0L; + mantissa = frexpl (x, &exp); + ASSERT (mantissa == x); + } + + { /* Negative infinity. */ + int exp = -9999; + long double mantissa; + x = -1.0L / 0.0L; + mantissa = frexpl (x, &exp); + ASSERT (mantissa == x); + } + + { /* Positive zero. */ + int exp = -9999; + long double mantissa; + x = 0.0L; + mantissa = frexpl (x, &exp); + ASSERT (exp == 0); + ASSERT (mantissa == x); + ASSERT (!signbit (mantissa)); + } + + { /* Negative zero. */ + int exp = -9999; + long double mantissa; + x = minus_zero; + mantissa = frexpl (x, &exp); + ASSERT (exp == 0); + ASSERT (mantissa == x); + ASSERT (signbit (mantissa)); + } + + for (i = 1, x = 1.0L; i <= LDBL_MAX_EXP; i++, x *= 2.0L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.5L); + } + for (i = 1, x = 1.0L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.5L); + } + for (; i >= LDBL_MIN_EXP - 100 && x > 0.0L; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.5L); + } + + for (i = 1, x = -1.0L; i <= LDBL_MAX_EXP; i++, x *= 2.0L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == -0.5L); + } + for (i = 1, x = -1.0L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == -0.5L); + } + for (; i >= LDBL_MIN_EXP - 100 && x < 0.0L; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == -0.5L); + } + + for (i = 1, x = 1.01L; i <= LDBL_MAX_EXP; i++, x *= 2.0L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.505L); + } + for (i = 1, x = 1.01L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.505L); + } + for (; i >= LDBL_MIN_EXP - 100 && x > 0.0L; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa >= 0.5L); + ASSERT (mantissa < 1.0L); + ASSERT (mantissa == my_ldexp (x, - exp)); + } + + for (i = 1, x = 1.73205L; i <= LDBL_MAX_EXP; i++, x *= 2.0L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.866025L); + } + for (i = 1, x = 1.73205L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i); + ASSERT (mantissa == 0.866025L); + } + for (; i >= LDBL_MIN_EXP - 100 && x > 0.0L; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = frexpl (x, &exp); + ASSERT (exp == i || exp == i + 1); + ASSERT (mantissa >= 0.5L); + ASSERT (mantissa < 1.0L); + ASSERT (mantissa == my_ldexp (x, - exp)); + } + + return 0; +} diff --git a/tests/test-fseterr.c b/tests/test-fseterr.c new file mode 100644 index 00000000..475979b0 --- /dev/null +++ b/tests/test-fseterr.c @@ -0,0 +1,44 @@ +/* Test setting the error indicator of a stream. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "fseterr.h" + +#include +#include + +int +main () +{ + /* All streams are initially created with the error indicator cleared. */ + if (ferror (stdout)) + abort (); + + /* Verify that fseterr() works. */ + fseterr (stdout); + if (!ferror (stdout)) + abort (); + + /* Verify fseterr's effect can be undone by clearerr(). */ + clearerr (stdout); + if (ferror (stdout)) + abort (); + + return 0; +} diff --git a/tests/test-iconv.c b/tests/test-iconv.c new file mode 100644 index 00000000..8bac1764 --- /dev/null +++ b/tests/test-iconv.c @@ -0,0 +1,149 @@ +/* Test of character set conversion. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#if HAVE_ICONV +# include +#endif + +#include +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + and UTF-8. */ + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + iconv_t cd_utf8_to_88591 = iconv_open ("ISO-8859-1", "UTF-8"); + + ASSERT (cd_88591_to_utf8 != (iconv_t)(-1)); + ASSERT (cd_utf8_to_88591 != (iconv_t)(-1)); + + /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ + { + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + char buf[50]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + (ICONV_CONST char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + ASSERT (res == 0 && inbytesleft == 0); + ASSERT (outptr == buf + strlen (expected)); + ASSERT (memcmp (buf, expected, strlen (expected)) == 0); + } + + /* Test conversion from ISO-8859-1 to UTF-8 with E2BIG. */ + { + static const char input[] = "\304"; + static char buf[2] = { (char)0xDE, (char)0xAD }; + const char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = 1; + size_t res = iconv (cd_88591_to_utf8, + (ICONV_CONST char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + ASSERT (res == (size_t)(-1) && errno == E2BIG); + ASSERT (inbytesleft == 1); + ASSERT (outbytesleft == 1); + ASSERT ((unsigned char) buf[1] == 0xAD); + ASSERT ((unsigned char) buf[0] == 0xDE); + } + + /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ + { + static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + (ICONV_CONST char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + ASSERT (res == 0 && inbytesleft == 0); + ASSERT (outptr == buf + strlen (expected)); + ASSERT (memcmp (buf, expected, strlen (expected)) == 0); + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ + { + static const char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + (ICONV_CONST char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == (size_t)(-1)) + { + ASSERT (errno == EILSEQ); + ASSERT (inbytesleft == strlen (input) && outptr == buf); + } + else + { + ASSERT (res == 1); + ASSERT (inbytesleft == 0); + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ + { + static const char input[] = "\342"; + char buf[10]; + const char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + (ICONV_CONST char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + ASSERT (res == (size_t)(-1) && errno == EINVAL); + ASSERT (inbytesleft == 1 && outptr == buf); + } + + iconv_close (cd_88591_to_utf8); + iconv_close (cd_utf8_to_88591); +#endif + + return 0; +} diff --git a/tests/test-isnand-nolibm.c b/tests/test-isnand-nolibm.c new file mode 100644 index 00000000..fd739ca3 --- /dev/null +++ b/tests/test-isnand-nolibm.c @@ -0,0 +1,22 @@ +/* Test of isnand() substitute. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "isnand-nolibm.h" + +#include "test-isnand.h" + diff --git a/tests/test-isnand.h b/tests/test-isnand.h new file mode 100644 index 00000000..09c5e977 --- /dev/null +++ b/tests/test-isnand.h @@ -0,0 +1,78 @@ +/* Test of isnand() substitute. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include +#include +#include + +#include "nan.h" + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. + So we use -zero instead. */ +double zero = 0.0; + +int +main () +{ + /* Finite values. */ + ASSERT (!isnand (3.141)); + ASSERT (!isnand (3.141e30)); + ASSERT (!isnand (3.141e-30)); + ASSERT (!isnand (-2.718)); + ASSERT (!isnand (-2.718e30)); + ASSERT (!isnand (-2.718e-30)); + ASSERT (!isnand (0.0)); + ASSERT (!isnand (-zero)); + /* Infinite values. */ + ASSERT (!isnand (1.0 / 0.0)); + ASSERT (!isnand (-1.0 / 0.0)); + /* Quiet NaN. */ + ASSERT (isnand (NaNd ())); +#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT + /* Signalling NaN. */ + { + #define NWORDS \ + ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) + typedef union { double value; unsigned int word[NWORDS]; } memory_double; + memory_double m; + m.value = NaNd (); +# if DBL_EXPBIT0_BIT > 0 + m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1); +# else + m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] + ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); +# endif + m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] + |= (unsigned int) 1 << DBL_EXPBIT0_BIT; + ASSERT (isnand (m.value)); + } +#endif + return 0; +} diff --git a/tests/test-isnanf-nolibm.c b/tests/test-isnanf-nolibm.c new file mode 100644 index 00000000..0105ce9c --- /dev/null +++ b/tests/test-isnanf-nolibm.c @@ -0,0 +1,21 @@ +/* Test of isnanf() substitute. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "isnanf-nolibm.h" + +#include "test-isnanf.h" diff --git a/tests/test-isnanf.h b/tests/test-isnanf.h new file mode 100644 index 00000000..f3f387c4 --- /dev/null +++ b/tests/test-isnanf.h @@ -0,0 +1,80 @@ +/* Test of isnanf() substitute. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include +#include +#include + +#include "nan.h" + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0f. + So we use -zero instead. */ +float zero = 0.0f; + +int +main () +{ + /* Finite values. */ + ASSERT (!isnanf (3.141f)); + ASSERT (!isnanf (3.141e30f)); + ASSERT (!isnanf (3.141e-30f)); + ASSERT (!isnanf (-2.718f)); + ASSERT (!isnanf (-2.718e30f)); + ASSERT (!isnanf (-2.718e-30f)); + ASSERT (!isnanf (0.0f)); + ASSERT (!isnanf (-zero)); + /* Infinite values. */ + ASSERT (!isnanf (1.0f / 0.0f)); + ASSERT (!isnanf (-1.0f / 0.0f)); + /* Quiet NaN. */ + ASSERT (isnanf (NaNf ())); +#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT + /* Signalling NaN. */ + { + #define NWORDS \ + ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) + typedef union { float value; unsigned int word[NWORDS]; } memory_float; + memory_float m; + m.value = NaNf (); +# if FLT_EXPBIT0_BIT > 0 + m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1); +# else + m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] + ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); +# endif + if (FLT_EXPBIT0_WORD < NWORDS / 2) + m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT; + else + m.word[0] |= (unsigned int) 1; + ASSERT (isnanf (m.value)); + } +#endif + return 0; +} diff --git a/tests/test-isnanl-nolibm.c b/tests/test-isnanl-nolibm.c new file mode 100644 index 00000000..70c984d5 --- /dev/null +++ b/tests/test-isnanl-nolibm.c @@ -0,0 +1,23 @@ +/* Test of isnanl() substitute. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "isnanl-nolibm.h" + +#include "test-isnanl.h" diff --git a/tests/test-isnanl.h b/tests/test-isnanl.h new file mode 100644 index 00000000..baf04db0 --- /dev/null +++ b/tests/test-isnanl.h @@ -0,0 +1,154 @@ +/* Test of isnanl() substitute. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include +#include +#include +#include + +#include "nan.h" + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* On HP-UX 10.20, negating 0.0L does not yield -0.0L. + So we use minus_zero instead. + IRIX cc can't put -0.0L into .data, but can compute at runtime. + Note that the expression -LDBL_MIN * LDBL_MIN does not work on other + platforms, such as when cross-compiling to PowerPC on MacOS X 10.5. */ +#if defined __hpux || defined __sgi +static long double +compute_minus_zero (void) +{ + return -LDBL_MIN * LDBL_MIN; +} +# define minus_zero compute_minus_zero () +#else +long double minus_zero = -0.0L; +#endif + +int +main () +{ + #define NWORDS \ + ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) + typedef union { unsigned int word[NWORDS]; long double value; } + memory_long_double; + + /* Finite values. */ + ASSERT (!isnanl (3.141L)); + ASSERT (!isnanl (3.141e30L)); + ASSERT (!isnanl (3.141e-30L)); + ASSERT (!isnanl (-2.718L)); + ASSERT (!isnanl (-2.718e30L)); + ASSERT (!isnanl (-2.718e-30L)); + ASSERT (!isnanl (0.0L)); + ASSERT (!isnanl (minus_zero)); + /* Infinite values. */ + ASSERT (!isnanl (1.0L / 0.0L)); + ASSERT (!isnanl (-1.0L / 0.0L)); + /* Quiet NaN. */ + ASSERT (isnanl (NaNl ())); + +#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT + /* A bit pattern that is different from a Quiet NaN. With a bit of luck, + it's a Signalling NaN. */ + { + memory_long_double m; + m.value = NaNl (); +# if LDBL_EXPBIT0_BIT > 0 + m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1); +# else + m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] + ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); +# endif + m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] + |= (unsigned int) 1 << LDBL_EXPBIT0_BIT; + ASSERT (isnanl (m.value)); + } +#endif + +#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +/* Representation of an 80-bit 'long double' as an initializer for a sequence + of 'unsigned int' words. */ +# ifdef WORDS_BIGENDIAN +# define LDBL80_WORDS(exponent,manthi,mantlo) \ + { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ + ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ + (unsigned int) (mantlo) << 16 \ + } +# else +# define LDBL80_WORDS(exponent,manthi,mantlo) \ + { mantlo, manthi, exponent } +# endif + { /* Quiet NaN. */ + static memory_long_double x = + { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; + ASSERT (isnanl (x.value)); + } + { + /* Signalling NaN. */ + static memory_long_double x = + { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; + ASSERT (isnanl (x.value)); + } + /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, + Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in + Intel IA-64 Architecture Software Developer's Manual, Volume 1: + Application Architecture. + Table 5-2 "Floating-Point Register Encodings" + Figure 5-6 "Memory to Floating-Point Register Data Translation" + */ + { /* Pseudo-NaN. */ + static memory_long_double x = + { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; + ASSERT (isnanl (x.value)); + } + { /* Pseudo-Infinity. */ + static memory_long_double x = + { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; + ASSERT (isnanl (x.value)); + } + { /* Pseudo-Zero. */ + static memory_long_double x = + { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; + ASSERT (isnanl (x.value)); + } + { /* Unnormalized number. */ + static memory_long_double x = + { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; + ASSERT (isnanl (x.value)); + } + { /* Pseudo-Denormal. */ + static memory_long_double x = + { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; + ASSERT (isnanl (x.value)); + } +#endif + + return 0; +} diff --git a/tests/test-locale.c b/tests/test-locale.c new file mode 100644 index 00000000..625cc43d --- /dev/null +++ b/tests/test-locale.c @@ -0,0 +1,44 @@ +/* Test of substitute. + Copyright (C) 2007, 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +#include "verify.h" + +int a[] = + { + LC_ALL, + LC_COLLATE, + LC_CTYPE, + LC_MESSAGES, + LC_MONETARY, + LC_NUMERIC, + LC_TIME + }; + +/* Check that NULL can be passed through varargs as a pointer type, + per POSIX 2008. */ +verify (sizeof NULL == sizeof (void *)); + +int +main () +{ + return 0; +} diff --git a/tests/test-localename.c b/tests/test-localename.c new file mode 100644 index 00000000..82f786bb --- /dev/null +++ b/tests/test-localename.c @@ -0,0 +1,122 @@ +/* Test of gl_locale_name function. + Copyright (C) 2007, 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "localename.h" + +#include +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Check that gl_locale_name returns non-NULL. */ + ASSERT (gl_locale_name (LC_MESSAGES, "LC_MESSAGES") != NULL); + + /* Check that when all environment variables are unset, + gl_locale_name_posix returns NULL. */ + unsetenv ("LC_ALL"); + unsetenv ("LC_CTYPE"); + unsetenv ("LC_MESSAGES"); + unsetenv ("LC_NUMERIC"); + unsetenv ("LANG"); + setlocale (LC_ALL, ""); + ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), + gl_locale_name_default ()) == 0); + ASSERT (strcmp (gl_locale_name (LC_NUMERIC, "LC_NUMERIC"), + gl_locale_name_default ()) == 0); + + /* Check that an empty environment variable is treated like an unset + environment variable. */ + + setenv ("LC_ALL", "", 1); + unsetenv ("LC_CTYPE"); + unsetenv ("LC_MESSAGES"); + unsetenv ("LANG"); + setlocale (LC_ALL, ""); + ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), + gl_locale_name_default ()) == 0); + + unsetenv ("LC_ALL"); + setenv ("LC_CTYPE", "", 1); + unsetenv ("LC_MESSAGES"); + unsetenv ("LANG"); + setlocale (LC_ALL, ""); + ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), + gl_locale_name_default ()) == 0); + + unsetenv ("LC_ALL"); + unsetenv ("LC_CTYPE"); + setenv ("LC_MESSAGES", "", 1); + unsetenv ("LANG"); + setlocale (LC_ALL, ""); + ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), + gl_locale_name_default ()) == 0); + + unsetenv ("LC_ALL"); + unsetenv ("LC_CTYPE"); + unsetenv ("LC_MESSAGES"); + setenv ("LANG", "", 1); + setlocale (LC_ALL, ""); + ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), + gl_locale_name_default ()) == 0); + + /* Check that LC_ALL overrides the others, and LANG is overridden by the + others. */ + + setenv ("LC_ALL", "C", 1); + unsetenv ("LC_CTYPE"); + unsetenv ("LC_MESSAGES"); + unsetenv ("LANG"); + setlocale (LC_ALL, ""); + ASSERT (strcmp (gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"), "C") == 0); + ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0); + + unsetenv ("LC_ALL"); + setenv ("LC_CTYPE", "C", 1); + setenv ("LC_MESSAGES", "C", 1); + unsetenv ("LANG"); + setlocale (LC_ALL, ""); + ASSERT (strcmp (gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"), "C") == 0); + ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0); + + unsetenv ("LC_ALL"); + unsetenv ("LC_CTYPE"); + unsetenv ("LC_MESSAGES"); + setenv ("LANG", "C", 1); + setlocale (LC_ALL, ""); + ASSERT (strcmp (gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"), "C") == 0); + ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0); + + return 0; +} diff --git a/tests/test-malloca.c b/tests/test-malloca.c new file mode 100644 index 00000000..7de6c68a --- /dev/null +++ b/tests/test-malloca.c @@ -0,0 +1,59 @@ +/* Test of safe automatic memory allocation. + Copyright (C) 2005, 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2005. */ + +#include + +#include "malloca.h" + +#include + +static void +do_allocation (int n) +{ + void *ptr = malloca (n); + freea (ptr); + ptr = safe_alloca (n); +} + +void (*func) (int) = do_allocation; + +int +main () +{ + int i; + + /* Repeat a lot of times, to make sure there's no memory leak. */ + for (i = 0; i < 50000; i++) + { + /* Try various values. + n = 0 gave a crash on Alpha with gcc-2.5.8. + Some versions of MacOS X have a stack size limit of 512 KB. */ + func (34); + func (134); + func (399); + func (510823); + func (129321); + func (0); + func (4070); + func (4095); + func (1); + func (16582); + } + + return 0; +} diff --git a/tests/test-math.c b/tests/test-math.c new file mode 100644 index 00000000..aa51f858 --- /dev/null +++ b/tests/test-math.c @@ -0,0 +1,53 @@ +/* Test of substitute. + Copyright (C) 2007, 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +#ifndef NAN +# error NAN should be defined +choke me +#endif + +#if 0 +/* Check that NAN expands into a constant expression. */ +static float n = NAN; +#endif + +/* Compare two numbers with ==. + This is a separate function because IRIX 6.5 "cc -O" miscompiles an + 'x == x' test. */ +static int +numeric_equal (double x, double y) +{ + return x == y; +} + +int +main () +{ + double d = NAN; + double zero = 0.0; + if (numeric_equal (d, d)) + return 1; + d = HUGE_VAL; + if (!numeric_equal (d, 1.0 / zero)) + return 1; + return 0; +} diff --git a/tests/test-mbrtowc.c b/tests/test-mbrtowc.c new file mode 100644 index 00000000..8f1f1bec --- /dev/null +++ b/tests/test-mbrtowc.c @@ -0,0 +1,330 @@ +/* Test of conversion of multibyte character to wide character. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include + +#include +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main (int argc, char *argv[]) +{ + mbstate_t state; + wchar_t wc; + size_t ret; + + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + /* Test zero-length input. */ + { + memset (&state, '\0', sizeof (mbstate_t)); + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, "x", 0, &state); + /* gnulib's implementation returns (size_t)(-2). + The AIX 5.1 implementation returns (size_t)(-1). + glibc's implementation returns 0. */ + ASSERT (ret == (size_t)(-2) || ret == (size_t)(-1) || ret == 0); + ASSERT (mbsinit (&state)); + } + + /* Test NUL byte input. */ + { + memset (&state, '\0', sizeof (mbstate_t)); + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, "", 1, &state); + ASSERT (ret == 0); + ASSERT (wc == 0); + ASSERT (mbsinit (&state)); + ret = mbrtowc (NULL, "", 1, &state); + ASSERT (ret == 0); + ASSERT (mbsinit (&state)); + } + + /* Test single-byte input. */ + { + int c; + char buf[1]; + + memset (&state, '\0', sizeof (mbstate_t)); + for (c = 0; c < 0x100; c++) + switch (c) + { + case '\t': case '\v': case '\f': + case ' ': case '!': case '"': case '#': case '%': + case '&': case '\'': case '(': case ')': case '*': + case '+': case ',': case '-': case '.': case '/': + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + case ':': case ';': case '<': case '=': case '>': + case '?': + case 'A': case 'B': case 'C': case 'D': case 'E': + case 'F': case 'G': case 'H': case 'I': case 'J': + case 'K': case 'L': case 'M': case 'N': case 'O': + case 'P': case 'Q': case 'R': case 'S': case 'T': + case 'U': case 'V': case 'W': case 'X': case 'Y': + case 'Z': + case '[': case '\\': case ']': case '^': case '_': + case 'a': case 'b': case 'c': case 'd': case 'e': + case 'f': case 'g': case 'h': case 'i': case 'j': + case 'k': case 'l': case 'm': case 'n': case 'o': + case 'p': case 'q': case 'r': case 's': case 't': + case 'u': case 'v': case 'w': case 'x': case 'y': + case 'z': case '{': case '|': case '}': case '~': + /* c is in the ISO C "basic character set". */ + buf[0] = c; + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, buf, 1, &state); + ASSERT (ret == 1); + ASSERT (wc == c); + ASSERT (mbsinit (&state)); + ret = mbrtowc (NULL, buf, 1, &state); + ASSERT (ret == 1); + ASSERT (mbsinit (&state)); + break; + } + } + + /* Test special calling convention, passing a NULL pointer. */ + { + memset (&state, '\0', sizeof (mbstate_t)); + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, NULL, 5, &state); + ASSERT (ret == 0); + ASSERT (wc == (wchar_t) 0xBADFACE); + ASSERT (mbsinit (&state)); + } + + if (argc > 1) + switch (argv[1][0]) + { + case '1': + /* Locale encoding is ISO-8859-1 or ISO-8859-15. */ + { + char input[] = "B\374\337er"; /* "Büßer" */ + memset (&state, '\0', sizeof (mbstate_t)); + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input, 1, &state); + ASSERT (ret == 1); + ASSERT (wc == 'B'); + ASSERT (mbsinit (&state)); + input[0] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 1, 1, &state); + ASSERT (ret == 1); + ASSERT (wctob (wc) == (unsigned char) '\374'); + ASSERT (mbsinit (&state)); + input[1] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 2, 3, &state); + ASSERT (ret == 1); + ASSERT (wctob (wc) == (unsigned char) '\337'); + ASSERT (mbsinit (&state)); + input[2] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 3, 2, &state); + ASSERT (ret == 1); + ASSERT (wc == 'e'); + ASSERT (mbsinit (&state)); + input[3] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 4, 1, &state); + ASSERT (ret == 1); + ASSERT (wc == 'r'); + ASSERT (mbsinit (&state)); + } + return 0; + + case '2': + /* Locale encoding is UTF-8. */ + { + char input[] = "B\303\274\303\237er"; /* "Büßer" */ + memset (&state, '\0', sizeof (mbstate_t)); + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input, 1, &state); + ASSERT (ret == 1); + ASSERT (wc == 'B'); + ASSERT (mbsinit (&state)); + input[0] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 1, 1, &state); + ASSERT (ret == (size_t)(-2)); + ASSERT (wc == (wchar_t) 0xBADFACE); + ASSERT (!mbsinit (&state)); + input[1] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 2, 5, &state); + ASSERT (ret == 1); + ASSERT (wctob (wc) == EOF); + ASSERT (mbsinit (&state)); + input[2] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 3, 4, &state); + ASSERT (ret == 2); + ASSERT (wctob (wc) == EOF); + ASSERT (mbsinit (&state)); + input[3] = '\0'; + input[4] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 5, 2, &state); + ASSERT (ret == 1); + ASSERT (wc == 'e'); + ASSERT (mbsinit (&state)); + input[5] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 6, 1, &state); + ASSERT (ret == 1); + ASSERT (wc == 'r'); + ASSERT (mbsinit (&state)); + } + return 0; + + case '3': + /* Locale encoding is EUC-JP. */ + { + char input[] = "<\306\374\313\334\270\354>"; /* "<日本語>" */ + memset (&state, '\0', sizeof (mbstate_t)); + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input, 1, &state); + ASSERT (ret == 1); + ASSERT (wc == '<'); + ASSERT (mbsinit (&state)); + input[0] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 1, 2, &state); + ASSERT (ret == 2); + ASSERT (wctob (wc) == EOF); + ASSERT (mbsinit (&state)); + input[1] = '\0'; + input[2] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 3, 1, &state); + ASSERT (ret == (size_t)(-2)); + ASSERT (wc == (wchar_t) 0xBADFACE); + ASSERT (!mbsinit (&state)); + input[3] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 4, 4, &state); + ASSERT (ret == 1); + ASSERT (wctob (wc) == EOF); + ASSERT (mbsinit (&state)); + input[4] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 5, 3, &state); + ASSERT (ret == 2); + ASSERT (wctob (wc) == EOF); + ASSERT (mbsinit (&state)); + input[5] = '\0'; + input[6] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 7, 1, &state); + ASSERT (ret == 1); + ASSERT (wc == '>'); + ASSERT (mbsinit (&state)); + } + return 0; + + case '4': + /* Locale encoding is GB18030. */ + { + char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ + memset (&state, '\0', sizeof (mbstate_t)); + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input, 1, &state); + ASSERT (ret == 1); + ASSERT (wc == 'B'); + ASSERT (mbsinit (&state)); + input[0] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 1, 1, &state); + ASSERT (ret == (size_t)(-2)); + ASSERT (wc == (wchar_t) 0xBADFACE); + ASSERT (!mbsinit (&state)); + input[1] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 2, 7, &state); + ASSERT (ret == 1); + ASSERT (wctob (wc) == EOF); + ASSERT (mbsinit (&state)); + input[2] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 3, 6, &state); + ASSERT (ret == 4); + ASSERT (wctob (wc) == EOF); + ASSERT (mbsinit (&state)); + input[3] = '\0'; + input[4] = '\0'; + input[5] = '\0'; + input[6] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 7, 2, &state); + ASSERT (ret == 1); + ASSERT (wc == 'e'); + ASSERT (mbsinit (&state)); + input[5] = '\0'; + + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input + 8, 1, &state); + ASSERT (ret == 1); + ASSERT (wc == 'r'); + ASSERT (mbsinit (&state)); + } + return 0; + } + + return 1; +} diff --git a/tests/test-mbrtowc1.sh b/tests/test-mbrtowc1.sh new file mode 100755 index 00000000..3becba3a --- /dev/null +++ b/tests/test-mbrtowc1.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Test in an ISO-8859-1 or ISO-8859-15 locale. +: ${LOCALE_FR=fr_FR} +if test $LOCALE_FR = none; then + if test -f /usr/bin/localedef; then + echo "Skipping test: no traditional french locale is installed" + else + echo "Skipping test: no traditional french locale is supported" + fi + exit 77 +fi + +LC_ALL=$LOCALE_FR \ +./test-mbrtowc${EXEEXT} 1 diff --git a/tests/test-mbrtowc2.sh b/tests/test-mbrtowc2.sh new file mode 100755 index 00000000..0405abaf --- /dev/null +++ b/tests/test-mbrtowc2.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Test whether a specific UTF-8 locale is installed. +: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +if test $LOCALE_FR_UTF8 = none; then + if test -f /usr/bin/localedef; then + echo "Skipping test: no french Unicode locale is installed" + else + echo "Skipping test: no french Unicode locale is supported" + fi + exit 77 +fi + +LC_ALL=$LOCALE_FR_UTF8 \ +./test-mbrtowc${EXEEXT} 2 diff --git a/tests/test-mbrtowc3.sh b/tests/test-mbrtowc3.sh new file mode 100755 index 00000000..63a89a2e --- /dev/null +++ b/tests/test-mbrtowc3.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Test whether a specific EUC-JP locale is installed. +: ${LOCALE_JA=ja_JP} +if test $LOCALE_JA = none; then + if test -f /usr/bin/localedef; then + echo "Skipping test: no traditional japanese locale is installed" + else + echo "Skipping test: no traditional japanese locale is supported" + fi + exit 77 +fi + +LC_ALL=$LOCALE_JA \ +./test-mbrtowc${EXEEXT} 3 diff --git a/tests/test-mbrtowc4.sh b/tests/test-mbrtowc4.sh new file mode 100755 index 00000000..b299a2c4 --- /dev/null +++ b/tests/test-mbrtowc4.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Test whether a specific GB18030 locale is installed. +: ${LOCALE_ZH_CN=zh_CN.GB18030} +if test $LOCALE_ZH_CN = none; then + if test -f /usr/bin/localedef; then + echo "Skipping test: no transitional chinese locale is installed" + else + echo "Skipping test: no transitional chinese locale is supported" + fi + exit 77 +fi + +LC_ALL=$LOCALE_ZH_CN \ +./test-mbrtowc${EXEEXT} 4 diff --git a/tests/test-mbsinit.c b/tests/test-mbsinit.c new file mode 100644 index 00000000..5d4c9c3a --- /dev/null +++ b/tests/test-mbsinit.c @@ -0,0 +1,62 @@ +/* Test of test for initial conversion state. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main (int argc, char *argv[]) +{ + static mbstate_t state; + + ASSERT (mbsinit (&state)); + + if (argc > 1) + { + static const char input[1] = "\303"; + wchar_t wc; + size_t ret; + + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + ret = mbrtowc (&wc, input, 1, &state); + ASSERT (ret == (size_t)(-2)); + ASSERT (!mbsinit (&state)); + } + + return 0; +} diff --git a/tests/test-mbsinit.sh b/tests/test-mbsinit.sh new file mode 100755 index 00000000..bbda48d2 --- /dev/null +++ b/tests/test-mbsinit.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Test whether a specific UTF-8 locale is installed. +: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +if test $LOCALE_FR_UTF8 = none; then + if test -f /usr/bin/localedef; then + echo "Skipping test: no french Unicode locale is installed" + else + echo "Skipping test: no french Unicode locale is supported" + fi + exit 77 +fi + +LC_ALL=$LOCALE_FR_UTF8 \ +./test-mbsinit${EXEEXT} diff --git a/tests/test-memchr.c b/tests/test-memchr.c new file mode 100644 index 00000000..1124f8b5 --- /dev/null +++ b/tests/test-memchr.c @@ -0,0 +1,130 @@ +/* + * Copyright (C) 2008-2009 Free Software Foundation + * Written by Eric Blake and Bruno Haible + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ + +#include + +#include + +#include +#include + +#include "zerosize-ptr.h" + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* Calculating void * + int is not portable, so this wrapper converts + to char * to make the tests easier to write. */ +#define MEMCHR (char *) memchr + +int +main () +{ + size_t n = 0x100000; + char *input = malloc (n); + ASSERT (input); + + input[0] = 'a'; + input[1] = 'b'; + memset (input + 2, 'c', 1024); + memset (input + 1026, 'd', n - 1028); + input[n - 2] = 'e'; + input[n - 1] = 'a'; + + /* Basic behavior tests. */ + ASSERT (MEMCHR (input, 'a', n) == input); + + ASSERT (MEMCHR (input, 'a', 0) == NULL); + ASSERT (MEMCHR (zerosize_ptr (), 'a', 0) == NULL); + + ASSERT (MEMCHR (input, 'b', n) == input + 1); + ASSERT (MEMCHR (input, 'c', n) == input + 2); + ASSERT (MEMCHR (input, 'd', n) == input + 1026); + + ASSERT (MEMCHR (input + 1, 'a', n - 1) == input + n - 1); + ASSERT (MEMCHR (input + 1, 'e', n - 1) == input + n - 2); + + ASSERT (MEMCHR (input, 'f', n) == NULL); + ASSERT (MEMCHR (input, '\0', n) == NULL); + + /* Check that a very long haystack is handled quickly if the byte is + found near the beginning. */ + { + size_t repeat = 10000; + for (; repeat > 0; repeat--) + { + ASSERT (MEMCHR (input, 'c', n) == input + 2); + } + } + + /* Alignment tests. */ + { + int i, j; + for (i = 0; i < 32; i++) + { + for (j = 0; j < 256; j++) + input[i + j] = j; + for (j = 0; j < 256; j++) + { + ASSERT (MEMCHR (input + i, j, 256) == input + i + j); + } + } + } + + /* Check that memchr() does not read past the first occurrence of the + byte being searched. See the Austin Group's clarification + . */ + { + char *page_boundary = (char *) zerosize_ptr (); + + if (page_boundary != NULL) + { + int n; + + for (n = 1; n <= 500; n++) + { + char *mem = page_boundary - n; + memset (mem, 'X', n); + ASSERT (MEMCHR (mem, 'U', n) == NULL); + + { + int i; + + for (i = 0; i < n; i++) + { + mem[i] = 'U'; + ASSERT (MEMCHR (mem, 'U', 4000) == mem + i); + mem[i] = 'X'; + } + } + } + } + } + + free (input); + + return 0; +} diff --git a/tests/test-printf-frexp.c b/tests/test-printf-frexp.c new file mode 100644 index 00000000..8ba93488 --- /dev/null +++ b/tests/test-printf-frexp.c @@ -0,0 +1,131 @@ +/* Test of splitting a double into fraction and mantissa. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "printf-frexp.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static double +my_ldexp (double x, int d) +{ + for (; d > 0; d--) + x *= 2.0; + for (; d < 0; d++) + x *= 0.5; + return x; +} + +int +main () +{ + int i; + /* The use of 'volatile' guarantees that excess precision bits are dropped + when dealing with denormalized numbers. It is necessary on x86 systems + where double-floats are not IEEE compliant by default, to avoid that the + results become platform and compiler option dependent. 'volatile' is a + portable alternative to gcc's -ffloat-store option. */ + volatile double x; + + for (i = 1, x = 1.0; i <= DBL_MAX_EXP; i++, x *= 2.0) + { + int exp = -9999; + double mantissa = printf_frexp (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.0); + } + for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5) + { + int exp = -9999; + double mantissa = printf_frexp (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.0); + } + for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5) + { + int exp = -9999; + double mantissa = printf_frexp (x, &exp); + ASSERT (exp == DBL_MIN_EXP - 1); + ASSERT (mantissa == my_ldexp (1.0, i - DBL_MIN_EXP)); + } + + for (i = 1, x = 1.01; i <= DBL_MAX_EXP; i++, x *= 2.0) + { + int exp = -9999; + double mantissa = printf_frexp (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.01); + } + for (i = 1, x = 1.01; i >= DBL_MIN_EXP; i--, x *= 0.5) + { + int exp = -9999; + double mantissa = printf_frexp (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.01); + } + for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5) + { + int exp = -9999; + double mantissa = printf_frexp (x, &exp); + ASSERT (exp == DBL_MIN_EXP - 1); + ASSERT (mantissa >= my_ldexp (1.0, i - DBL_MIN_EXP)); + ASSERT (mantissa <= my_ldexp (2.0, i - DBL_MIN_EXP)); + ASSERT (mantissa == my_ldexp (x, - exp)); + } + + for (i = 1, x = 1.73205; i <= DBL_MAX_EXP; i++, x *= 2.0) + { + int exp = -9999; + double mantissa = printf_frexp (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.73205); + } + for (i = 1, x = 1.73205; i >= DBL_MIN_EXP; i--, x *= 0.5) + { + int exp = -9999; + double mantissa = printf_frexp (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.73205); + } + for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5) + { + int exp = -9999; + double mantissa = printf_frexp (x, &exp); + ASSERT (exp == DBL_MIN_EXP - 1); + ASSERT (mantissa >= my_ldexp (1.0, i - DBL_MIN_EXP)); + ASSERT (mantissa <= my_ldexp (2.0, i - DBL_MIN_EXP)); + ASSERT (mantissa == my_ldexp (x, - exp)); + } + + return 0; +} diff --git a/tests/test-printf-frexpl.c b/tests/test-printf-frexpl.c new file mode 100644 index 00000000..c4c156a9 --- /dev/null +++ b/tests/test-printf-frexpl.c @@ -0,0 +1,147 @@ +/* Test of splitting a 'long double' into fraction and mantissa. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "printf-frexpl.h" + +#include +#include +#include + +#include "fpucw.h" + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* On MIPS IRIX machines, LDBL_MIN_EXP is -1021, but the smallest reliable + exponent for 'long double' is -964. Similarly, on PowerPC machines, + LDBL_MIN_EXP is -1021, but the smallest reliable exponent for 'long double' + is -968. For exponents below that, the precision may be truncated to the + precision used for 'double'. */ +#ifdef __sgi +# define MIN_NORMAL_EXP (LDBL_MIN_EXP + 57) +# define MIN_SUBNORMAL_EXP MIN_NORMAL_EXP +#elif defined __ppc || defined __ppc__ || defined __powerpc || defined __powerpc__ +# define MIN_NORMAL_EXP (LDBL_MIN_EXP + 53) +# define MIN_SUBNORMAL_EXP MIN_NORMAL_EXP +#else +# define MIN_NORMAL_EXP LDBL_MIN_EXP +# define MIN_SUBNORMAL_EXP (LDBL_MIN_EXP - 100) +#endif + +static long double +my_ldexp (long double x, int d) +{ + for (; d > 0; d--) + x *= 2.0L; + for (; d < 0; d++) + x *= 0.5L; + return x; +} + +int +main () +{ + int i; + long double x; + DECL_LONG_DOUBLE_ROUNDING + + BEGIN_LONG_DOUBLE_ROUNDING (); + + for (i = 1, x = 1.0L; i <= LDBL_MAX_EXP; i++, x *= 2.0L) + { + int exp = -9999; + long double mantissa = printf_frexpl (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.0L); + } + for (i = 1, x = 1.0L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = printf_frexpl (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.0L); + } + for (; i >= MIN_SUBNORMAL_EXP && x > 0.0L; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = printf_frexpl (x, &exp); + ASSERT (exp == LDBL_MIN_EXP - 1); + ASSERT (mantissa == my_ldexp (1.0L, i - LDBL_MIN_EXP)); + } + + for (i = 1, x = 1.01L; i <= LDBL_MAX_EXP; i++, x *= 2.0L) + { + int exp = -9999; + long double mantissa = printf_frexpl (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.01L); + } + for (i = 1, x = 1.01L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = printf_frexpl (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.01L); + } + for (; i >= MIN_SUBNORMAL_EXP && x > 0.0L; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = printf_frexpl (x, &exp); + ASSERT (exp == LDBL_MIN_EXP - 1); + ASSERT (mantissa >= my_ldexp (1.0L, i - LDBL_MIN_EXP)); + ASSERT (mantissa <= my_ldexp (2.0L, i - LDBL_MIN_EXP)); + ASSERT (mantissa == my_ldexp (x, - exp)); + } + + for (i = 1, x = 1.73205L; i <= LDBL_MAX_EXP; i++, x *= 2.0L) + { + int exp = -9999; + long double mantissa = printf_frexpl (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.73205L); + } + for (i = 1, x = 1.73205L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = printf_frexpl (x, &exp); + ASSERT (exp == i - 1); + ASSERT (mantissa == 1.73205L); + } + for (; i >= MIN_SUBNORMAL_EXP && x > 0.0L; i--, x *= 0.5L) + { + int exp = -9999; + long double mantissa = printf_frexpl (x, &exp); + ASSERT (exp == LDBL_MIN_EXP - 1); + ASSERT (mantissa >= my_ldexp (1.0L, i - LDBL_MIN_EXP)); + ASSERT (mantissa <= my_ldexp (2.0L, i - LDBL_MIN_EXP)); + ASSERT (mantissa == my_ldexp (x, - exp)); + } + + return 0; +} diff --git a/tests/test-signbit.c b/tests/test-signbit.c new file mode 100644 index 00000000..97f68e6a --- /dev/null +++ b/tests/test-signbit.c @@ -0,0 +1,204 @@ +/* Test of signbit() substitute. + Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +#include +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +float zerof = 0.0f; +double zerod = 0.0; +long double zerol = 0.0L; + +/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0f. + So we use -zerof instead. */ + +/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. + So we use -zerod instead. */ + +/* On HP-UX 10.20, negating 0.0L does not yield -0.0L. + So we use minus_zerol instead. + IRIX cc can't put -0.0L into .data, but can compute at runtime. + Note that the expression -LDBL_MIN * LDBL_MIN does not work on other + platforms, such as when cross-compiling to PowerPC on MacOS X 10.5. */ +#if defined __hpux || defined __sgi +static long double +compute_minus_zerol (void) +{ + return -LDBL_MIN * LDBL_MIN; +} +# define minus_zerol compute_minus_zerol () +#else +long double minus_zerol = -0.0L; +#endif + +static void +test_signbitf () +{ + /* Finite values. */ + ASSERT (!signbit (3.141f)); + ASSERT (!signbit (3.141e30f)); + ASSERT (!signbit (3.141e-30f)); + ASSERT (signbit (-2.718f)); + ASSERT (signbit (-2.718e30f)); + ASSERT (signbit (-2.718e-30f)); + /* Zeros. */ + ASSERT (!signbit (0.0f)); + if (1.0f / -zerof < 0) + ASSERT (signbit (-zerof)); + else + ASSERT (!signbit (-zerof)); + /* Infinite values. */ + ASSERT (!signbit (1.0f / 0.0f)); + ASSERT (signbit (-1.0f / 0.0f)); + /* Quiet NaN. */ + (void) signbit (zerof / zerof); +#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT + /* Signalling NaN. */ + { + #define NWORDS \ + ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) + typedef union { float value; unsigned int word[NWORDS]; } memory_float; + memory_float m; + m.value = zerof / zerof; +# if FLT_EXPBIT0_BIT > 0 + m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1); +# else + m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] + ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); +# endif + if (FLT_EXPBIT0_WORD < NWORDS / 2) + m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT; + else + m.word[0] |= (unsigned int) 1; + (void) signbit (m.value); + #undef NWORDS + } +#endif +} + +static void +test_signbitd () +{ + /* Finite values. */ + ASSERT (!signbit (3.141)); + ASSERT (!signbit (3.141e30)); + ASSERT (!signbit (3.141e-30)); + ASSERT (signbit (-2.718)); + ASSERT (signbit (-2.718e30)); + ASSERT (signbit (-2.718e-30)); + /* Zeros. */ + ASSERT (!signbit (0.0)); + if (1.0 / -zerod < 0) + ASSERT (signbit (-zerod)); + else + ASSERT (!signbit (-zerod)); + /* Infinite values. */ + ASSERT (!signbit (1.0 / 0.0)); + ASSERT (signbit (-1.0 / 0.0)); + /* Quiet NaN. */ + (void) signbit (zerod / zerod); +#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT + /* Signalling NaN. */ + { + #define NWORDS \ + ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) + typedef union { double value; unsigned int word[NWORDS]; } memory_double; + memory_double m; + m.value = zerod / zerod; +# if DBL_EXPBIT0_BIT > 0 + m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1); +# else + m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] + ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); +# endif + m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] + |= (unsigned int) 1 << DBL_EXPBIT0_BIT; + (void) signbit (m.value); + #undef NWORDS + } +#endif +} + +static void +test_signbitl () +{ + /* Finite values. */ + ASSERT (!signbit (3.141L)); + ASSERT (!signbit (3.141e30L)); + ASSERT (!signbit (3.141e-30L)); + ASSERT (signbit (-2.718L)); + ASSERT (signbit (-2.718e30L)); + ASSERT (signbit (-2.718e-30L)); + /* Zeros. */ + ASSERT (!signbit (0.0L)); + if (1.0L / minus_zerol < 0) + ASSERT (signbit (minus_zerol)); + else + ASSERT (!signbit (minus_zerol)); + /* Infinite values. */ + ASSERT (!signbit (1.0L / 0.0L)); + ASSERT (signbit (-1.0L / 0.0L)); + /* Quiet NaN. */ + (void) signbit (zerol / zerol); +#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT + /* Signalling NaN. */ + { + #define NWORDS \ + ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) + typedef union { long double value; unsigned int word[NWORDS]; } memory_long_double; + memory_long_double m; + m.value = zerol / zerol; +# if LDBL_EXPBIT0_BIT > 0 + m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1); +# else + m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] + ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); +# endif + m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] + |= (unsigned int) 1 << LDBL_EXPBIT0_BIT; + (void) signbit (m.value); + #undef NWORDS + } +#endif +} + +int +main () +{ + test_signbitf (); + test_signbitd (); + test_signbitl (); + return 0; +} diff --git a/tests/test-stdbool.c b/tests/test-stdbool.c new file mode 100644 index 00000000..30d53217 --- /dev/null +++ b/tests/test-stdbool.c @@ -0,0 +1,95 @@ +/* Test of substitute. + Copyright (C) 2002-2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +#ifndef bool + "error: bool is not defined" +#endif +#ifndef false + "error: false is not defined" +#endif +#if false + "error: false is not 0" +#endif +#ifndef true + "error: true is not defined" +#endif +#if true != 1 + "error: true is not 1" +#endif +#ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" +#endif + +#if 0 /* Cannot be guaranteed with gnulib's . */ +struct s { _Bool s: 1; _Bool t; } s; +#endif + +char a[true == 1 ? 1 : -1]; +char b[false == 0 ? 1 : -1]; +char c[__bool_true_false_are_defined == 1 ? 1 : -1]; +#if 0 /* Cannot be guaranteed with gnulib's . */ +char d[(bool) 0.5 == true ? 1 : -1]; +bool e = &s; +#endif +char f[(_Bool) 0.0 == false ? 1 : -1]; +char g[true]; +char h[sizeof (_Bool)]; +#if 0 /* See above. */ +char i[sizeof s.t]; +#endif +enum { j = false, k = true, l = false * true, m = true * 256 }; +_Bool n[m]; +char o[sizeof n == m * sizeof n[0] ? 1 : -1]; +char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; +#if 0 /* Cannot be guaranteed with gnulib's . */ +#if defined __xlc__ || defined __GNUC__ + /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 + reported by James Lemley on 2005-10-05; see + http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html + This test is not quite right, since xlc is allowed to + reject this program, as the initializer for xlcbug is + not one of the forms that C requires support for. + However, doing the test right would require a run-time + test, and that would make cross-compilation harder. + Let us hope that IBM fixes the xlc bug, and also adds + support for this kind of constant expression. In the + meantime, this test will reject xlc, which is OK, since + our stdbool.h substitute should suffice. We also test + this with GCC, where it should work, to detect more + quickly whether someone messes up the test in the + future. */ + char digs[] = "0123456789"; + int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); +#endif +#endif +/* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ +_Bool q = true; +_Bool *pq = &q; + +int +main () +{ + return 0; +} diff --git a/tests/test-stdint.c b/tests/test-stdint.c new file mode 100644 index 00000000..a2bf42ac --- /dev/null +++ b/tests/test-stdint.c @@ -0,0 +1,360 @@ +/* Test of substitute. + Copyright (C) 2006-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2006. */ + +#include + +/* Whether to enable pedantic checks. */ +#define DO_PEDANTIC 0 + +#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ +#include + +#include "verify.h" +#include "intprops.h" + +#if __GNUC__ >= 2 && DO_PEDANTIC +# define verify_same_types(expr1,expr2) \ + extern void _verify_func(__LINE__) (__typeof__ (expr1) *); \ + extern void _verify_func(__LINE__) (__typeof__ (expr2) *); +# define _verify_func(line) _verify_func2(line) +# define _verify_func2(line) verify_func_ ## line +#else +# define verify_same_types(expr1,expr2) extern void verify_func (int) +#endif + +/* 7.18.1.1. Exact-width integer types */ +/* 7.18.2.1. Limits of exact-width integer types */ + +int8_t a1[3] = { INT8_C (17), INT8_MIN, INT8_MAX }; +verify (TYPE_MINIMUM (int8_t) == INT8_MIN); +verify (TYPE_MAXIMUM (int8_t) == INT8_MAX); +verify_same_types (INT8_MIN, (int8_t) 0 + 0); +verify_same_types (INT8_MAX, (int8_t) 0 + 0); + +int16_t a2[3] = { INT16_C (17), INT16_MIN, INT16_MAX }; +verify (TYPE_MINIMUM (int16_t) == INT16_MIN); +verify (TYPE_MAXIMUM (int16_t) == INT16_MAX); +verify_same_types (INT16_MIN, (int16_t) 0 + 0); +verify_same_types (INT16_MAX, (int16_t) 0 + 0); + +int32_t a3[3] = { INT32_C (17), INT32_MIN, INT32_MAX }; +verify (TYPE_MINIMUM (int32_t) == INT32_MIN); +verify (TYPE_MAXIMUM (int32_t) == INT32_MAX); +verify_same_types (INT32_MIN, (int32_t) 0 + 0); +verify_same_types (INT32_MAX, (int32_t) 0 + 0); + +#ifdef INT64_MAX +int64_t a4[3] = { INT64_C (17), INT64_MIN, INT64_MAX }; +verify (TYPE_MINIMUM (int64_t) == INT64_MIN); +verify (TYPE_MAXIMUM (int64_t) == INT64_MAX); +verify_same_types (INT64_MIN, (int64_t) 0 + 0); +verify_same_types (INT64_MAX, (int64_t) 0 + 0); +#endif + +uint8_t b1[2] = { UINT8_C (17), UINT8_MAX }; +verify (TYPE_MAXIMUM (uint8_t) == UINT8_MAX); +verify_same_types (UINT8_MAX, (uint8_t) 0 + 0); + +uint16_t b2[2] = { UINT16_C (17), UINT16_MAX }; +verify (TYPE_MAXIMUM (uint16_t) == UINT16_MAX); +verify_same_types (UINT16_MAX, (uint16_t) 0 + 0); + +uint32_t b3[2] = { UINT32_C (17), UINT32_MAX }; +verify (TYPE_MAXIMUM (uint32_t) == UINT32_MAX); +verify_same_types (UINT32_MAX, (uint32_t) 0 + 0); + +#ifdef UINT64_MAX +uint64_t b4[2] = { UINT64_C (17), UINT64_MAX }; +verify (TYPE_MAXIMUM (uint64_t) == UINT64_MAX); +verify_same_types (UINT64_MAX, (uint64_t) 0 + 0); +#endif + +#if INT8_MIN && INT8_MAX && INT16_MIN && INT16_MAX && INT32_MIN && INT32_MAX +/* ok */ +#else +err or; +#endif + +#if UINT8_MAX && UINT16_MAX && UINT32_MAX +/* ok */ +#else +err or; +#endif + +/* 7.18.1.2. Minimum-width integer types */ +/* 7.18.2.2. Limits of minimum-width integer types */ + +int_least8_t c1[3] = { 17, INT_LEAST8_MIN, INT_LEAST8_MAX }; +verify (TYPE_MINIMUM (int_least8_t) == INT_LEAST8_MIN); +verify (TYPE_MAXIMUM (int_least8_t) == INT_LEAST8_MAX); +verify_same_types (INT_LEAST8_MIN, (int_least8_t) 0 + 0); +verify_same_types (INT_LEAST8_MAX, (int_least8_t) 0 + 0); + +int_least16_t c2[3] = { 17, INT_LEAST16_MIN, INT_LEAST16_MAX }; +verify (TYPE_MINIMUM (int_least16_t) == INT_LEAST16_MIN); +verify (TYPE_MAXIMUM (int_least16_t) == INT_LEAST16_MAX); +verify_same_types (INT_LEAST16_MIN, (int_least16_t) 0 + 0); +verify_same_types (INT_LEAST16_MAX, (int_least16_t) 0 + 0); + +int_least32_t c3[3] = { 17, INT_LEAST32_MIN, INT_LEAST32_MAX }; +verify (TYPE_MINIMUM (int_least32_t) == INT_LEAST32_MIN); +verify (TYPE_MAXIMUM (int_least32_t) == INT_LEAST32_MAX); +verify_same_types (INT_LEAST32_MIN, (int_least32_t) 0 + 0); +verify_same_types (INT_LEAST32_MAX, (int_least32_t) 0 + 0); + +#ifdef INT_LEAST64_MAX +int_least64_t c4[3] = { 17, INT_LEAST64_MIN, INT_LEAST64_MAX }; +verify (TYPE_MINIMUM (int_least64_t) == INT_LEAST64_MIN); +verify (TYPE_MAXIMUM (int_least64_t) == INT_LEAST64_MAX); +verify_same_types (INT_LEAST64_MIN, (int_least64_t) 0 + 0); +verify_same_types (INT_LEAST64_MAX, (int_least64_t) 0 + 0); +#endif + +uint_least8_t d1[2] = { 17, UINT_LEAST8_MAX }; +verify (TYPE_MAXIMUM (uint_least8_t) == UINT_LEAST8_MAX); +verify_same_types (UINT_LEAST8_MAX, (uint_least8_t) 0 + 0); + +uint_least16_t d2[2] = { 17, UINT_LEAST16_MAX }; +verify (TYPE_MAXIMUM (uint_least16_t) == UINT_LEAST16_MAX); +verify_same_types (UINT_LEAST16_MAX, (uint_least16_t) 0 + 0); + +uint_least32_t d3[2] = { 17, UINT_LEAST32_MAX }; +verify (TYPE_MAXIMUM (uint_least32_t) == UINT_LEAST32_MAX); +verify_same_types (UINT_LEAST32_MAX, (uint_least32_t) 0 + 0); + +#ifdef UINT_LEAST64_MAX +uint_least64_t d4[2] = { 17, UINT_LEAST64_MAX }; +verify (TYPE_MAXIMUM (uint_least64_t) == UINT_LEAST64_MAX); +verify_same_types (UINT_LEAST64_MAX, (uint_least64_t) 0 + 0); +#endif + +#if INT_LEAST8_MIN && INT_LEAST8_MAX && INT_LEAST16_MIN && INT_LEAST16_MAX && INT_LEAST32_MIN && INT_LEAST32_MAX +/* ok */ +#else +err or; +#endif + +#if UINT_LEAST8_MAX && UINT_LEAST16_MAX && UINT_LEAST32_MAX +/* ok */ +#else +err or; +#endif + +/* 7.18.1.3. Fastest minimum-width integer types */ +/* 7.18.2.3. Limits of fastest minimum-width integer types */ + +int_fast8_t e1[3] = { 17, INT_FAST8_MIN, INT_FAST8_MAX }; +verify (TYPE_MINIMUM (int_fast8_t) == INT_FAST8_MIN); +verify (TYPE_MAXIMUM (int_fast8_t) == INT_FAST8_MAX); +verify_same_types (INT_FAST8_MIN, (int_fast8_t) 0 + 0); +verify_same_types (INT_FAST8_MAX, (int_fast8_t) 0 + 0); + +int_fast16_t e2[3] = { 17, INT_FAST16_MIN, INT_FAST16_MAX }; +verify (TYPE_MINIMUM (int_fast16_t) == INT_FAST16_MIN); +verify (TYPE_MAXIMUM (int_fast16_t) == INT_FAST16_MAX); +verify_same_types (INT_FAST16_MIN, (int_fast16_t) 0 + 0); +verify_same_types (INT_FAST16_MAX, (int_fast16_t) 0 + 0); + +int_fast32_t e3[3] = { 17, INT_FAST32_MIN, INT_FAST32_MAX }; +verify (TYPE_MINIMUM (int_fast32_t) == INT_FAST32_MIN); +verify (TYPE_MAXIMUM (int_fast32_t) == INT_FAST32_MAX); +verify_same_types (INT_FAST32_MIN, (int_fast32_t) 0 + 0); +verify_same_types (INT_FAST32_MAX, (int_fast32_t) 0 + 0); + +#ifdef INT_FAST64_MAX +int_fast64_t e4[3] = { 17, INT_FAST64_MIN, INT_FAST64_MAX }; +verify (TYPE_MINIMUM (int_fast64_t) == INT_FAST64_MIN); +verify (TYPE_MAXIMUM (int_fast64_t) == INT_FAST64_MAX); +verify_same_types (INT_FAST64_MIN, (int_fast64_t) 0 + 0); +verify_same_types (INT_FAST64_MAX, (int_fast64_t) 0 + 0); +#endif + +uint_fast8_t f1[2] = { 17, UINT_FAST8_MAX }; +verify (TYPE_MAXIMUM (uint_fast8_t) == UINT_FAST8_MAX); +verify_same_types (UINT_FAST8_MAX, (uint_fast8_t) 0 + 0); + +uint_fast16_t f2[2] = { 17, UINT_FAST16_MAX }; +verify (TYPE_MAXIMUM (uint_fast16_t) == UINT_FAST16_MAX); +verify_same_types (UINT_FAST16_MAX, (uint_fast16_t) 0 + 0); + +uint_fast32_t f3[2] = { 17, UINT_FAST32_MAX }; +verify (TYPE_MAXIMUM (uint_fast32_t) == UINT_FAST32_MAX); +verify_same_types (UINT_FAST32_MAX, (uint_fast32_t) 0 + 0); + +#ifdef UINT_FAST64_MAX +uint_fast64_t f4[2] = { 17, UINT_FAST64_MAX }; +verify (TYPE_MAXIMUM (uint_fast64_t) == UINT_FAST64_MAX); +verify_same_types (UINT_FAST64_MAX, (uint_fast64_t) 0 + 0); +#endif + +#if INT_FAST8_MIN && INT_FAST8_MAX && INT_FAST16_MIN && INT_FAST16_MAX && INT_FAST32_MIN && INT_FAST32_MAX +/* ok */ +#else +err or; +#endif + +#if UINT_FAST8_MAX && UINT_FAST16_MAX && UINT_FAST32_MAX +/* ok */ +#else +err or; +#endif + +/* 7.18.1.4. Integer types capable of holding object pointers */ +/* 7.18.2.4. Limits of integer types capable of holding object pointers */ + +intptr_t g[3] = { 17, INTPTR_MIN, INTPTR_MAX }; +verify (TYPE_MINIMUM (intptr_t) == INTPTR_MIN); +verify (TYPE_MAXIMUM (intptr_t) == INTPTR_MAX); +verify_same_types (INTPTR_MIN, (intptr_t) 0 + 0); +verify_same_types (INTPTR_MAX, (intptr_t) 0 + 0); + +uintptr_t h[2] = { 17, UINTPTR_MAX }; +verify (TYPE_MAXIMUM (uintptr_t) == UINTPTR_MAX); +verify_same_types (UINTPTR_MAX, (uintptr_t) 0 + 0); + +#if INTPTR_MIN && INTPTR_MAX && UINTPTR_MAX +/* ok */ +#else +err or; +#endif + +/* 7.18.1.5. Greatest-width integer types */ +/* 7.18.2.5. Limits of greatest-width integer types */ + +intmax_t i[3] = { INTMAX_C (17), INTMAX_MIN, INTMAX_MAX }; +verify (TYPE_MINIMUM (intmax_t) == INTMAX_MIN); +verify (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX); +verify_same_types (INTMAX_MIN, (intmax_t) 0 + 0); +verify_same_types (INTMAX_MAX, (intmax_t) 0 + 0); + +uintmax_t j[2] = { UINTMAX_C (17), UINTMAX_MAX }; +verify (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX); +verify_same_types (UINTMAX_MAX, (uintmax_t) 0 + 0); + +/* As of 2007, Sun C and HP-UX 10.20 cc don't support 'long long' constants in + the preprocessor. */ +#if !(defined __SUNPRO_C || (defined __hpux && !defined __GNUC__)) +#if INTMAX_MIN && INTMAX_MAX && UINTMAX_MAX +/* ok */ +#else +err or; +#endif +#endif + +/* 7.18.3. Limits of other integer types */ + +#include + +verify (TYPE_MINIMUM (ptrdiff_t) == PTRDIFF_MIN); +verify (TYPE_MAXIMUM (ptrdiff_t) == PTRDIFF_MAX); +verify_same_types (PTRDIFF_MIN, (ptrdiff_t) 0 + 0); +verify_same_types (PTRDIFF_MAX, (ptrdiff_t) 0 + 0); + +#if PTRDIFF_MIN && PTRDIFF_MAX +/* ok */ +#else +err or; +#endif + +#include + +verify (TYPE_MINIMUM (sig_atomic_t) == SIG_ATOMIC_MIN); +verify (TYPE_MAXIMUM (sig_atomic_t) == SIG_ATOMIC_MAX); +verify_same_types (SIG_ATOMIC_MIN, (sig_atomic_t) 0 + 0); +verify_same_types (SIG_ATOMIC_MAX, (sig_atomic_t) 0 + 0); + +#if SIG_ATOMIC_MIN != 17 && SIG_ATOMIC_MAX +/* ok */ +#else +err or; +#endif + +verify (TYPE_MAXIMUM (size_t) == SIZE_MAX); +verify_same_types (SIZE_MAX, (size_t) 0 + 0); + +#if SIZE_MAX +/* ok */ +#else +err or; +#endif + +#if HAVE_WCHAR_T +verify (TYPE_MINIMUM (wchar_t) == WCHAR_MIN); +verify (TYPE_MAXIMUM (wchar_t) == WCHAR_MAX); +verify_same_types (WCHAR_MIN, (wchar_t) 0 + 0); +verify_same_types (WCHAR_MAX, (wchar_t) 0 + 0); + +# if WCHAR_MIN != 17 && WCHAR_MAX +/* ok */ +# else +err or; +# endif +#endif + +#if HAVE_WINT_T +# include + +verify (TYPE_MINIMUM (wint_t) == WINT_MIN); +verify (TYPE_MAXIMUM (wint_t) == WINT_MAX); +verify_same_types (WINT_MIN, (wint_t) 0 + 0); +verify_same_types (WINT_MAX, (wint_t) 0 + 0); + +# if WINT_MIN != 17 && WINT_MAX +/* ok */ +# else +err or; +# endif +#endif + +/* 7.18.4. Macros for integer constants */ + +verify (INT8_C (17) == 17); +verify_same_types (INT8_C (17), (int_least8_t)0 + 0); +verify (UINT8_C (17) == 17); +verify_same_types (UINT8_C (17), (uint_least8_t)0 + 0); + +verify (INT16_C (17) == 17); +verify_same_types (INT16_C (17), (int_least16_t)0 + 0); +verify (UINT16_C (17) == 17); +verify_same_types (UINT16_C (17), (uint_least16_t)0 + 0); + +verify (INT32_C (17) == 17); +verify_same_types (INT32_C (17), (int_least32_t)0 + 0); +verify (UINT32_C (17) == 17); +verify_same_types (UINT32_C (17), (uint_least32_t)0 + 0); + +#ifdef INT64_C +verify (INT64_C (17) == 17); +verify_same_types (INT64_C (17), (int_least64_t)0 + 0); +#endif +#ifdef UINT64_C +verify (UINT64_C (17) == 17); +verify_same_types (UINT64_C (17), (uint_least64_t)0 + 0); +#endif + +verify (INTMAX_C (17) == 17); +verify_same_types (INTMAX_C (17), (intmax_t)0 + 0); +verify (UINTMAX_C (17) == 17); +verify_same_types (UINTMAX_C (17), (uintmax_t)0 + 0); + + +int +main () +{ + return 0; +} diff --git a/tests/test-stdlib.c b/tests/test-stdlib.c new file mode 100644 index 00000000..ae46ba16 --- /dev/null +++ b/tests/test-stdlib.c @@ -0,0 +1,43 @@ +/* Test of substitute. + Copyright (C) 2007, 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +#include "verify.h" + +int exitcode; + +/* Check that NULL can be passed through varargs as a pointer type, + per POSIX 2008. */ +verify (sizeof NULL == sizeof (void *)); + +int +main () +{ + /* Check that some macros are defined and different integer constants. */ + switch (exitcode) + { + case EXIT_SUCCESS: + case EXIT_FAILURE: + break; + } + + return 0; +} diff --git a/tests/test-strerror.c b/tests/test-strerror.c new file mode 100644 index 00000000..3d9814d5 --- /dev/null +++ b/tests/test-strerror.c @@ -0,0 +1,65 @@ +/* Test of strerror() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Written by Eric Blake , 2007. */ + +#include + +#include +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main (int argc, char **argv) +{ + char *str; + + str = strerror (EACCES); + ASSERT (str); + ASSERT (*str); + + str = strerror (ETIMEDOUT); + ASSERT (str); + ASSERT (*str); + + str = strerror (EOVERFLOW); + ASSERT (str); + ASSERT (*str); + + str = strerror (0); + ASSERT (str); + ASSERT (*str); + + str = strerror (-3); + ASSERT (str); + ASSERT (*str); + + return 0; +} diff --git a/tests/test-striconveh.c b/tests/test-striconveh.c new file mode 100644 index 00000000..16a16f46 --- /dev/null +++ b/tests/test-striconveh.c @@ -0,0 +1,922 @@ +/* Test of character set conversion with error handling. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "striconveh.h" + +#if HAVE_ICONV +# include +#endif + +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* Magic number for detecting bounds violations. */ +#define MAGIC 0x1983EFF1 + +static size_t * +new_offsets (size_t n) +{ + size_t *offsets = (size_t *) malloc ((n + 1) * sizeof (size_t)); + offsets[n] = MAGIC; + return offsets; +} + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + size_t o; + size_t i; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + iconv_t cd_88591_to_88592 = iconv_open ("ISO-8859-2", "ISO-8859-1"); + iconv_t cd_88592_to_88591 = iconv_open ("ISO-8859-1", "ISO-8859-2"); + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + iconv_t cd_utf8_to_88591 = iconv_open ("ISO-8859-1", "UTF-8"); + iconv_t cd_88592_to_utf8 = iconv_open ("UTF-8", "ISO-8859-2"); + iconv_t cd_utf8_to_88592 = iconv_open ("ISO-8859-2", "UTF-8"); + iconv_t cd_utf7_to_utf8 = iconv_open ("UTF-8", "UTF-7"); + + ASSERT (cd_88591_to_utf8 != (iconv_t)(-1)); + ASSERT (cd_utf8_to_88591 != (iconv_t)(-1)); + ASSERT (cd_88592_to_utf8 != (iconv_t)(-1)); + ASSERT (cd_utf8_to_88592 != (iconv_t)(-1)); + + /* ------------------------ Test mem_cd_iconveh() ------------------------ */ + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_cd_iconveh (input, strlen (input), + cd_88592_to_88591, + cd_88592_to_utf8, cd_utf8_to_88591, + handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 37; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[37] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_cd_iconveh (input, strlen (input), + cd_88592_to_88591, + cd_88592_to_utf8, cd_utf8_to_88591, + handler, + offsets, + &result, &length); + switch (handler) + { + case iconveh_error: + ASSERT (retval == -1 && errno == EILSEQ); + ASSERT (result == NULL); + if (o) + free (offsets); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i + 5)); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + break; + } + } + } + + /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_cd_iconveh (input, strlen (input), + cd_88591_to_utf8, + cd_88591_to_utf8, (iconv_t)(-1), + handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 37; i++) + ASSERT (offsets[i] == (i < 1 ? i : + i < 12 ? i + 1 : + i < 18 ? i + 2 : + i + 3)); + ASSERT (offsets[37] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_cd_iconveh (input, strlen (input), + cd_utf8_to_88591, + (iconv_t)(-1), cd_utf8_to_88591, + handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 41; i++) + ASSERT (offsets[i] == (i < 1 ? i : + i == 1 ? (size_t)(-1) : + i < 13 ? i - 1 : + i == 13 ? (size_t)(-1) : + i < 20 ? i - 2 : + i == 20 ? (size_t)(-1) : + i < 40 ? i - 3 : + (size_t)(-1))); + ASSERT (offsets[41] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\305\202 Maszkowski"; /* Rafał Maszkowski */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_cd_iconveh (input, strlen (input), + cd_utf8_to_88591, + (iconv_t)(-1), cd_utf8_to_88591, + handler, + offsets, + &result, &length); + switch (handler) + { + case iconveh_error: + ASSERT (retval == -1 && errno == EILSEQ); + ASSERT (result == NULL); + if (o) + free (offsets); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 17; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i == 5 ? (size_t)(-1) : + i - 1)); + ASSERT (offsets[17] == MAGIC); + free (offsets); + } + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 17; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i == 5 ? (size_t)(-1) : + i + 4)); + ASSERT (offsets[17] == MAGIC); + free (offsets); + } + free (result); + } + break; + } + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\342"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_cd_iconveh (input, strlen (input), + cd_utf8_to_88591, + (iconv_t)(-1), cd_utf8_to_88591, + handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == 0); + if (o) + { + ASSERT (offsets[0] == 0); + ASSERT (offsets[1] == MAGIC); + free (offsets); + } + free (result); + } + } + + if (cd_utf7_to_utf8 != (iconv_t)(-1)) + { + /* Disabled on Solaris, because Solaris 9 iconv() is buggy: it returns + -1 / EILSEQ when converting the 7th byte of the input "+VDLYP9hA". */ +# if !(defined __sun && !defined _LIBICONV_VERSION) + /* Test conversion from UTF-7 to UTF-8 with EINVAL. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + /* This is base64 encoded 0x54 0x32 0xD8 0x3F 0xD8 0x40. It would + convert to U+5432 U+D83F U+D840 but these are Unicode surrogates. */ + static const char input[] = "+VDLYP9hA"; + static const char expected1[] = "\345\220\262"; /* 吲 glibc */ + static const char expected2[] = ""; /* libiconv */ + char *result = NULL; + size_t length = 0; + int retval = mem_cd_iconveh (input, 7, + cd_utf7_to_utf8, + cd_utf7_to_utf8, (iconv_t)(-1), + handler, + NULL, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected1) || length == strlen (expected2)); + ASSERT (result != NULL); + if (length == strlen (expected1)) + ASSERT (memcmp (result, expected1, strlen (expected1)) == 0); + else + ASSERT (memcmp (result, expected2, strlen (expected2)) == 0); + free (result); + } + + /* Test conversion from UTF-7 to UTF-8 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + /* This is base64 encoded 0xD8 0x3F 0xD8 0x40 0xD8 0x41. It would + convert to U+D83F U+D840 U+D841 but these are Unicode surrogates. */ + static const char input[] = "+2D/YQNhB"; + char *result = NULL; + size_t length = 0; + int retval = mem_cd_iconveh (input, strlen (input), + cd_utf7_to_utf8, + cd_utf7_to_utf8, (iconv_t)(-1), + handler, + NULL, + &result, &length); + switch (handler) + { + case iconveh_error: + ASSERT (retval == -1 && errno == EILSEQ); + ASSERT (result == NULL); + break; + case iconveh_question_mark: + case iconveh_escape_sequence: + { + /* glibc result */ + static const char expected1[] = "?????"; + /* libiconv <= 1.12 result */ + static const char expected2[] = "?2D/YQNhB"; + /* libiconv behaviour changed in version 1.13: the result is + '?' U+0FF6 U+1036; this is U+D83F U+D840 U+D841 shifted left + by 6 bits. */ + static const char expected3[] = "?\340\277\266\341\200\266"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected1) + || length == strlen (expected2) + || length == strlen (expected3)); + ASSERT (result != NULL); + if (length == strlen (expected1)) + ASSERT (memcmp (result, expected1, strlen (expected1)) == 0); + else if (length == strlen (expected2)) + ASSERT (memcmp (result, expected2, strlen (expected2)) == 0); + else + ASSERT (memcmp (result, expected3, strlen (expected3)) == 0); + free (result); + } + break; + } + } +# endif + } + + /* ------------------------ Test str_cd_iconveh() ------------------------ */ + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char *result = str_cd_iconveh (input, + cd_88592_to_88591, + cd_88592_to_utf8, cd_utf8_to_88591, + handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + char *result = str_cd_iconveh (input, + cd_88592_to_88591, + cd_88592_to_utf8, cd_utf8_to_88591, + handler); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL && errno == EILSEQ); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + } + } + + /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + char *result = str_cd_iconveh (input, + cd_88591_to_utf8, + cd_88591_to_utf8, (iconv_t)(-1), + handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char *result = str_cd_iconveh (input, + cd_utf8_to_88591, + (iconv_t)(-1), cd_utf8_to_88591, + handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Costs: 27 \342\202\254"; /* EURO SIGN */ + char *result = str_cd_iconveh (input, + cd_utf8_to_88591, + (iconv_t)(-1), cd_utf8_to_88591, + handler); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL && errno == EILSEQ); + break; + case iconveh_question_mark: + { + static const char expected[] = "Costs: 27 ?"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Costs: 27 \\u20AC"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\342"; + char *result = str_cd_iconveh (input, + cd_utf8_to_88591, + (iconv_t)(-1), cd_utf8_to_88591, + handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, "") == 0); + free (result); + } + + if (cd_88591_to_88592 != (iconv_t)(-1)) + iconv_close (cd_88591_to_88592); + if (cd_88592_to_88591 != (iconv_t)(-1)) + iconv_close (cd_88592_to_88591); + iconv_close (cd_88591_to_utf8); + iconv_close (cd_utf8_to_88591); + iconv_close (cd_88592_to_utf8); + iconv_close (cd_utf8_to_88592); + + /* ------------------------- Test mem_iconveh() ------------------------- */ + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveh (input, strlen (input), + "ISO-8859-2", "ISO-8859-1", + handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 37; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[37] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveh (input, strlen (input), + "ISO-8859-2", "ISO-8859-1", + handler, + offsets, + &result, &length); + switch (handler) + { + case iconveh_error: + ASSERT (retval == -1 && errno == EILSEQ); + ASSERT (result == NULL); + if (o) + free (offsets); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i + 5)); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + break; + } + } + } + + /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveh (input, strlen (input), + "ISO-8859-1", "UTF-8", + handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 37; i++) + ASSERT (offsets[i] == (i < 1 ? i : + i < 12 ? i + 1 : + i < 18 ? i + 2 : + i + 3)); + ASSERT (offsets[37] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveh (input, strlen (input), + "UTF-8", "ISO-8859-1", + handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 41; i++) + ASSERT (offsets[i] == (i < 1 ? i : + i == 1 ? (size_t)(-1) : + i < 13 ? i - 1 : + i == 13 ? (size_t)(-1) : + i < 20 ? i - 2 : + i == 20 ? (size_t)(-1) : + i < 40 ? i - 3 : + (size_t)(-1))); + ASSERT (offsets[41] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\305\202 Maszkowski"; /* Rafał Maszkowski */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveh (input, strlen (input), + "UTF-8", "ISO-8859-1", + handler, + offsets, + &result, &length); + switch (handler) + { + case iconveh_error: + ASSERT (retval == -1 && errno == EILSEQ); + ASSERT (result == NULL); + if (o) + free (offsets); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 17; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i == 5 ? (size_t)(-1) : + i - 1)); + ASSERT (offsets[17] == MAGIC); + free (offsets); + } + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 17; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i == 5 ? (size_t)(-1) : + i + 4)); + ASSERT (offsets[17] == MAGIC); + free (offsets); + } + free (result); + } + break; + } + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\342"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveh (input, strlen (input), + "UTF-8", "ISO-8859-1", + handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == 0); + if (o) + { + ASSERT (offsets[0] == 0); + ASSERT (offsets[1] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* ------------------------- Test str_iconveh() ------------------------- */ + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char *result = str_iconveh (input, "ISO-8859-2", "ISO-8859-1", handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + char *result = str_iconveh (input, "ISO-8859-2", "ISO-8859-1", handler); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL && errno == EILSEQ); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + } + } + + /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + char *result = str_iconveh (input, "ISO-8859-1", "UTF-8", handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char *result = str_iconveh (input, "UTF-8", "ISO-8859-1", handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Costs: 27 \342\202\254"; /* EURO SIGN */ + char *result = str_iconveh (input, "UTF-8", "ISO-8859-1", handler); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL && errno == EILSEQ); + break; + case iconveh_question_mark: + { + static const char expected[] = "Costs: 27 ?"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Costs: 27 \\u20AC"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\342"; + char *result = str_iconveh (input, "UTF-8", "ISO-8859-1", handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, "") == 0); + free (result); + } + +#endif + + return 0; +} diff --git a/tests/test-striconveha.c b/tests/test-striconveha.c new file mode 100644 index 00000000..47e9a46e --- /dev/null +++ b/tests/test-striconveha.c @@ -0,0 +1,609 @@ +/* Test of character set conversion with error handling and autodetection. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "striconveha.h" + +#if HAVE_ICONV +# include +#endif + +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* Magic number for detecting bounds violations. */ +#define MAGIC 0x1983EFF1 + +static size_t * +new_offsets (size_t n) +{ + size_t *offsets = (size_t *) malloc ((n + 1) * sizeof (size_t)); + offsets[n] = MAGIC; + return offsets; +} + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + size_t o; + size_t i; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* ------------------------- Test mem_iconveha() ------------------------- */ + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveha (input, strlen (input), + "ISO-8859-2", "ISO-8859-1", + false, handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 37; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[37] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveha (input, strlen (input), + "ISO-8859-2", "ISO-8859-1", + false, handler, + offsets, + &result, &length); + switch (handler) + { + case iconveh_error: + ASSERT (retval == -1 && errno == EILSEQ); + ASSERT (result == NULL); + if (o) + free (offsets); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i + 5)); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + break; + } + } + } + + /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveha (input, strlen (input), + "ISO-8859-1", "UTF-8", + false, handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 37; i++) + ASSERT (offsets[i] == (i < 1 ? i : + i < 12 ? i + 1 : + i < 18 ? i + 2 : + i + 3)); + ASSERT (offsets[37] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveha (input, strlen (input), + "UTF-8", "ISO-8859-1", + false, handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 41; i++) + ASSERT (offsets[i] == (i < 1 ? i : + i == 1 ? (size_t)(-1) : + i < 13 ? i - 1 : + i == 13 ? (size_t)(-1) : + i < 20 ? i - 2 : + i == 20 ? (size_t)(-1) : + i < 40 ? i - 3 : + (size_t)(-1))); + ASSERT (offsets[41] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\305\202 Maszkowski"; /* Rafał Maszkowski */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveha (input, strlen (input), + "UTF-8", "ISO-8859-1", + false, handler, + offsets, + &result, &length); + switch (handler) + { + case iconveh_error: + ASSERT (retval == -1 && errno == EILSEQ); + ASSERT (result == NULL); + if (o) + free (offsets); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 17; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i == 5 ? (size_t)(-1) : + i - 1)); + ASSERT (offsets[17] == MAGIC); + free (offsets); + } + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 17; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i == 5 ? (size_t)(-1) : + i + 4)); + ASSERT (offsets[17] == MAGIC); + free (offsets); + } + free (result); + } + break; + } + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\342"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveha (input, strlen (input), + "UTF-8", "ISO-8859-1", + false, handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == 0); + if (o) + { + ASSERT (offsets[0] == 0); + ASSERT (offsets[1] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */ +# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun) + /* Test conversions from autodetect_jp to UTF-8. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\244\263\244\363\244\313\244\301\244\317"; /* こんにちは in EUC-JP */ + static const char expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveha (input, strlen (input), + "autodetect_jp", "UTF-8", + false, handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 10; i++) + ASSERT (offsets[i] == ((i % 2) == 0 ? (i / 2) * 3 : (size_t)(-1))); + ASSERT (offsets[10] == MAGIC); + free (offsets); + } + free (result); + } + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\202\261\202\361\202\311\202\277\202\315"; /* こんにちは in Shift_JIS */ + static const char expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveha (input, strlen (input), + "autodetect_jp", "UTF-8", + false, handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 10; i++) + ASSERT (offsets[i] == ((i % 2) == 0 ? (i / 2) * 3 : (size_t)(-1))); + ASSERT (offsets[10] == MAGIC); + free (offsets); + } + free (result); + } + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\033$B$3$s$K$A$O\033(B"; /* こんにちは in ISO-2022-JP-2 */ + static const char expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveha (input, strlen (input), + "autodetect_jp", "UTF-8", + false, handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == (i == 0 ? 0 : + i == 5 ? 3 : + i == 7 ? 6 : + i == 9 ? 9 : + i == 11 ? 12 : + i == 13 ? 15 : + (size_t)(-1))); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + } +# endif + +# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 || _LIBICONV_VERSION >= 0x0105 + /* Test conversion from UTF-8 to ISO-8859-1 with transliteration. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Costs: 27 \342\202\254"; /* EURO SIGN */ + static const char expected[] = "Costs: 27 EUR"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + char *result = NULL; + size_t length = 0; + int retval = mem_iconveha (input, strlen (input), + "UTF-8", "ISO-8859-1", + true, handler, + offsets, + &result, &length); + ASSERT (retval == 0); + ASSERT (length == strlen (expected)); + ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 13; i++) + ASSERT (offsets[i] == (i < 11 ? i : (size_t)(-1))); + ASSERT (offsets[13] == MAGIC); + free (offsets); + } + free (result); + } + } +# endif + + /* ------------------------- Test str_iconveha() ------------------------- */ + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char *result = str_iconveha (input, "ISO-8859-2", "ISO-8859-1", false, handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from ISO-8859-2 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + char *result = str_iconveha (input, "ISO-8859-2", "ISO-8859-1", false, handler); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL && errno == EILSEQ); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + } + } + + /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + char *result = str_iconveha (input, "ISO-8859-1", "UTF-8", false, handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char *result = str_iconveha (input, "UTF-8", "ISO-8859-1", false, handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Costs: 27 \342\202\254"; /* EURO SIGN */ + char *result = str_iconveha (input, "UTF-8", "ISO-8859-1", false, handler); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL && errno == EILSEQ); + break; + case iconveh_question_mark: + { + static const char expected[] = "Costs: 27 ?"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Costs: 27 \\u20AC"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\342"; + char *result = str_iconveha (input, "UTF-8", "ISO-8859-1", false, handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, "") == 0); + free (result); + } + + /* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */ +# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun) + /* Test conversions from autodetect_jp to UTF-8. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\244\263\244\363\244\313\244\301\244\317"; /* こんにちは in EUC-JP */ + static const char expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + char *result = str_iconveha (input, "autodetect_jp", "UTF-8", false, handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\202\261\202\361\202\311\202\277\202\315"; /* こんにちは in Shift_JIS */ + static const char expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + char *result = str_iconveha (input, "autodetect_jp", "UTF-8", false, handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\033$B$3$s$K$A$O\033(B"; /* こんにちは in ISO-2022-JP-2 */ + static const char expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + char *result = str_iconveha (input, "autodetect_jp", "UTF-8", false, handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } +# endif + +# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 || _LIBICONV_VERSION >= 0x0105 + /* Test conversion from UTF-8 to ISO-8859-1 with transliteration. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Costs: 27 \342\202\254"; /* EURO SIGN */ + static const char expected[] = "Costs: 27 EUR"; + char *result = str_iconveha (input, "UTF-8", "ISO-8859-1", true, handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } +# endif + +#endif + + return 0; +} diff --git a/tests/test-string.c b/tests/test-string.c new file mode 100644 index 00000000..fe53cd9b --- /dev/null +++ b/tests/test-string.c @@ -0,0 +1,33 @@ +/* Test of substitute. + Copyright (C) 2007, 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +#include "verify.h" + +/* Check that NULL can be passed through varargs as a pointer type, + per POSIX 2008. */ +verify (sizeof NULL == sizeof (void *)); + +int +main () +{ + return 0; +} diff --git a/tests/test-unistd.c b/tests/test-unistd.c new file mode 100644 index 00000000..129367b4 --- /dev/null +++ b/tests/test-unistd.c @@ -0,0 +1,56 @@ +/* Test of substitute. + Copyright (C) 2007, 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +#include "verify.h" + +/* Check that NULL can be passed through varargs as a pointer type, + per POSIX 2008. */ +verify (sizeof NULL == sizeof (void *)); + +/* Check that the various SEEK_* macros are defined. */ +int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; + +/* Check that the various *_FILENO macros are defined. */ +#if ! (defined STDIN_FILENO \ + && (STDIN_FILENO + STDOUT_FILENO + STDERR_FILENO == 3)) +missing or broken *_FILENO macros +#endif + +/* Check that the types are all defined. */ +size_t t1; +ssize_t t2; +#ifdef TODO /* Not implemented in gnulib yet */ +uid_t t3; +gid_t t4; +#endif +off_t t5; +pid_t t6; +#ifdef TODO +useconds_t t7; +intptr_t t8; +#endif + +int +main () +{ + return 0; +} diff --git a/tests/test-wchar.c b/tests/test-wchar.c new file mode 100644 index 00000000..19da7d93 --- /dev/null +++ b/tests/test-wchar.c @@ -0,0 +1,31 @@ +/* Test of substitute. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +/* Check that the types wchar_t and wint_t are defined. */ +wchar_t a = 'c'; +wint_t b = 'x'; + +int +main () +{ + return 0; +} diff --git a/tests/test-wctype.c b/tests/test-wctype.c new file mode 100644 index 00000000..c2d86016 --- /dev/null +++ b/tests/test-wctype.c @@ -0,0 +1,46 @@ +/* Test of substitute. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +/* Check that the type wint_t is defined. */ +wint_t a = 'x'; + +int +main () +{ + /* Check that the isw* functions exist as functions or as macros. */ + (void) iswalnum (0); + (void) iswalpha (0); +#if 0 /* not portable: missing on mingw */ + (void) iswblank (0); +#endif + (void) iswcntrl (0); + (void) iswdigit (0); + (void) iswgraph (0); + (void) iswlower (0); + (void) iswprint (0); + (void) iswpunct (0); + (void) iswspace (0); + (void) iswupper (0); + (void) iswxdigit (0); + + return 0; +} diff --git a/tests/test-wcwidth.c b/tests/test-wcwidth.c new file mode 100644 index 00000000..582a8aa2 --- /dev/null +++ b/tests/test-wcwidth.c @@ -0,0 +1,91 @@ +/* Test of wcwidth() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include + +#include +#include +#include +#include + +#include "localcharset.h" + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + wchar_t wc; + + /* Test width of ASCII characters. */ + for (wc = 0x20; wc < 0x7F; wc++) + ASSERT (wcwidth (wc) == 1); + + /* Switch to an UTF-8 locale. */ + if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL + /* Check whether it's really an UTF-8 locale. + On OpenBSD 4.0, the setlocale call succeeds only for the LC_CTYPE + category and therefore returns "C/fr_FR.UTF-8/C/C/C/C", but the + LC_CTYPE category is effectively set to an ASCII LC_CTYPE category; + in particular, locale_charset() returns "ASCII". */ + && strcmp (locale_charset (), "UTF-8") == 0) + { + /* Test width of ASCII characters. */ + for (wc = 0x20; wc < 0x7F; wc++) + ASSERT (wcwidth (wc) == 1); + + /* Test width of some non-spacing characters. */ + ASSERT (wcwidth (0x0301) == 0); + ASSERT (wcwidth (0x05B0) == 0); + + /* Test width of some format control characters. */ + ASSERT (wcwidth (0x200E) <= 0); + ASSERT (wcwidth (0x2060) <= 0); +#if 0 /* wchar_t may be only 16 bits. */ + ASSERT (wcwidth (0xE0001) <= 0); + ASSERT (wcwidth (0xE0044) <= 0); +#endif + + /* Test width of some zero width characters. */ + ASSERT (wcwidth (0x200B) == 0); + ASSERT (wcwidth (0xFEFF) <= 0); + + /* Test width of some CJK characters. */ + ASSERT (wcwidth (0x3000) == 2); + ASSERT (wcwidth (0xB250) == 2); + ASSERT (wcwidth (0xFF1A) == 2); +#if 0 /* wchar_t may be only 16 bits. */ + ASSERT (wcwidth (0x20369) == 2); + ASSERT (wcwidth (0x2F876) == 2); +#endif + } + + return 0; +} diff --git a/tests/unicase/test-casecmp.h b/tests/unicase/test-casecmp.h new file mode 100644 index 00000000..d057f898 --- /dev/null +++ b/tests/unicase/test-casecmp.h @@ -0,0 +1,69 @@ +/* Test of case and normalization insensitive comparison of Unicode strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +static void +test_ascii (int (*my_casecmp) (const UNIT *, size_t, const UNIT *, size_t, const char *, uninorm_t, int *), + uninorm_t nf) +{ + /* Empty string. */ + { + int cmp; + + ASSERT (my_casecmp (NULL, 0, NULL, 0, NULL, nf, &cmp) == 0); + ASSERT (cmp == 0); + } + { + static const UNIT input[] = { 'x', 'y' }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), NULL, 0, NULL, nf, &cmp) == 0); + ASSERT (cmp == 1); + + ASSERT (my_casecmp (NULL, 0, input, SIZEOF (input), NULL, nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input, SIZEOF (input), input, SIZEOF (input), NULL, nf, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Normal lexicographic order. */ + { + static const UNIT input1[] = { 'A', 'm', 'e', 'r', 'i', 'c', 'a' }; + static const UNIT input2[] = { 'A', 'm', 'i', 'g', 'o' }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input1, SIZEOF (input1), NULL, nf, &cmp) == 0); + ASSERT (cmp == 1); + } + + /* Shorter and longer strings. */ + { + static const UNIT input1[] = { 'R', 'e', 'a', 'g', 'a', 'n' }; + static const UNIT input2[] = { 'R', 'e', 'a', 'g', 'a', 'n', 'o', 'm', 'i', 'c', 's' }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input1, SIZEOF (input1), NULL, nf, &cmp) == 0); + ASSERT (cmp == 1); + } +} diff --git a/tests/unicase/test-cased.c b/tests/unicase/test-cased.c new file mode 100644 index 00000000..37af3d22 --- /dev/null +++ b/tests/unicase/test-cased.c @@ -0,0 +1,135 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0041, 0x005A }, + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00BA, 0x00BA }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00F6 }, + { 0x00F8, 0x01BA }, + { 0x01BC, 0x01BF }, + { 0x01C4, 0x0293 }, + { 0x0295, 0x02B8 }, + { 0x02C0, 0x02C1 }, + { 0x02E0, 0x02E4 }, + { 0x0345, 0x0345 }, + { 0x0370, 0x0373 }, + { 0x0376, 0x0377 }, + { 0x037A, 0x037D }, + { 0x0386, 0x0386 }, + { 0x0388, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x03F5 }, + { 0x03F7, 0x0481 }, + { 0x048A, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0561, 0x0587 }, + { 0x10A0, 0x10C5 }, + { 0x1D00, 0x1DBF }, + { 0x1E00, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FBC }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FC4 }, + { 0x1FC6, 0x1FCC }, + { 0x1FD0, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FE0, 0x1FEC }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFC }, + { 0x2071, 0x2071 }, + { 0x207F, 0x207F }, + { 0x2090, 0x2094 }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2119, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x2128 }, + { 0x212A, 0x212D }, + { 0x212F, 0x2134 }, + { 0x2139, 0x2139 }, + { 0x213C, 0x213F }, + { 0x2145, 0x2149 }, + { 0x214E, 0x214E }, + { 0x2160, 0x217F }, + { 0x2183, 0x2184 }, + { 0x24B6, 0x24E9 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CE4 }, + { 0x2D00, 0x2D25 }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA66D }, + { 0xA680, 0xA697 }, + { 0xA722, 0xA787 }, + { 0xA78B, 0xA78C }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFF21, 0xFF3A }, + { 0xFF41, 0xFF5A }, + { 0x10400, 0x1044F }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6FA }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D734 }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D76E }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D7A8 }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7CB } + +#define PREDICATE(c) uc_is_cased (c) +#include "test-predicate-part2.h" diff --git a/tests/unicase/test-ignorable.c b/tests/unicase/test-ignorable.c new file mode 100644 index 00000000..94f809e9 --- /dev/null +++ b/tests/unicase/test-ignorable.c @@ -0,0 +1,246 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0027, 0x0027 }, + { 0x002E, 0x002E }, + { 0x003A, 0x003A }, + { 0x005E, 0x005E }, + { 0x0060, 0x0060 }, + { 0x00A8, 0x00A8 }, + { 0x00AD, 0x00AD }, + { 0x00AF, 0x00AF }, + { 0x00B4, 0x00B4 }, + { 0x00B7, 0x00B8 }, + { 0x02B9, 0x02BF }, + { 0x02C2, 0x02DF }, + { 0x02E5, 0x0344 }, + { 0x0346, 0x036F }, + { 0x0374, 0x0375 }, + { 0x0384, 0x0385 }, + { 0x0387, 0x0387 }, + { 0x0483, 0x0489 }, + { 0x0559, 0x0559 }, + { 0x0591, 0x05BD }, + { 0x05BF, 0x05BF }, + { 0x05C1, 0x05C2 }, + { 0x05C4, 0x05C5 }, + { 0x05C7, 0x05C7 }, + { 0x05F4, 0x05F4 }, + { 0x0600, 0x0603 }, + { 0x0610, 0x061A }, + { 0x0640, 0x0640 }, + { 0x064B, 0x065E }, + { 0x0670, 0x0670 }, + { 0x06D6, 0x06E8 }, + { 0x06EA, 0x06ED }, + { 0x070F, 0x070F }, + { 0x0711, 0x0711 }, + { 0x0730, 0x074A }, + { 0x07A6, 0x07B0 }, + { 0x07EB, 0x07F5 }, + { 0x07FA, 0x07FA }, + { 0x0901, 0x0902 }, + { 0x093C, 0x093C }, + { 0x0941, 0x0948 }, + { 0x094D, 0x094D }, + { 0x0951, 0x0954 }, + { 0x0962, 0x0963 }, + { 0x0971, 0x0971 }, + { 0x0981, 0x0981 }, + { 0x09BC, 0x09BC }, + { 0x09C1, 0x09C4 }, + { 0x09CD, 0x09CD }, + { 0x09E2, 0x09E3 }, + { 0x0A01, 0x0A02 }, + { 0x0A3C, 0x0A3C }, + { 0x0A41, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4D }, + { 0x0A51, 0x0A51 }, + { 0x0A70, 0x0A71 }, + { 0x0A75, 0x0A75 }, + { 0x0A81, 0x0A82 }, + { 0x0ABC, 0x0ABC }, + { 0x0AC1, 0x0AC5 }, + { 0x0AC7, 0x0AC8 }, + { 0x0ACD, 0x0ACD }, + { 0x0AE2, 0x0AE3 }, + { 0x0B01, 0x0B01 }, + { 0x0B3C, 0x0B3C }, + { 0x0B3F, 0x0B3F }, + { 0x0B41, 0x0B44 }, + { 0x0B4D, 0x0B4D }, + { 0x0B56, 0x0B56 }, + { 0x0B62, 0x0B63 }, + { 0x0B82, 0x0B82 }, + { 0x0BC0, 0x0BC0 }, + { 0x0BCD, 0x0BCD }, + { 0x0C3E, 0x0C40 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4D }, + { 0x0C55, 0x0C56 }, + { 0x0C62, 0x0C63 }, + { 0x0CBC, 0x0CBC }, + { 0x0CBF, 0x0CBF }, + { 0x0CC6, 0x0CC6 }, + { 0x0CCC, 0x0CCD }, + { 0x0CE2, 0x0CE3 }, + { 0x0D41, 0x0D44 }, + { 0x0D4D, 0x0D4D }, + { 0x0D62, 0x0D63 }, + { 0x0DCA, 0x0DCA }, + { 0x0DD2, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0E31, 0x0E31 }, + { 0x0E34, 0x0E3A }, + { 0x0E46, 0x0E4E }, + { 0x0EB1, 0x0EB1 }, + { 0x0EB4, 0x0EB9 }, + { 0x0EBB, 0x0EBC }, + { 0x0EC6, 0x0EC6 }, + { 0x0EC8, 0x0ECD }, + { 0x0F18, 0x0F19 }, + { 0x0F35, 0x0F35 }, + { 0x0F37, 0x0F37 }, + { 0x0F39, 0x0F39 }, + { 0x0F71, 0x0F7E }, + { 0x0F80, 0x0F84 }, + { 0x0F86, 0x0F87 }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x0FC6, 0x0FC6 }, + { 0x102D, 0x1030 }, + { 0x1032, 0x1037 }, + { 0x1039, 0x103A }, + { 0x103D, 0x103E }, + { 0x1058, 0x1059 }, + { 0x105E, 0x1060 }, + { 0x1071, 0x1074 }, + { 0x1082, 0x1082 }, + { 0x1085, 0x1086 }, + { 0x108D, 0x108D }, + { 0x10FC, 0x10FC }, + { 0x135F, 0x135F }, + { 0x1712, 0x1714 }, + { 0x1732, 0x1734 }, + { 0x1752, 0x1753 }, + { 0x1772, 0x1773 }, + { 0x17B4, 0x17B5 }, + { 0x17B7, 0x17BD }, + { 0x17C6, 0x17C6 }, + { 0x17C9, 0x17D3 }, + { 0x17D7, 0x17D7 }, + { 0x17DD, 0x17DD }, + { 0x180B, 0x180D }, + { 0x1843, 0x1843 }, + { 0x18A9, 0x18A9 }, + { 0x1920, 0x1922 }, + { 0x1927, 0x1928 }, + { 0x1932, 0x1932 }, + { 0x1939, 0x193B }, + { 0x1A17, 0x1A18 }, + { 0x1B00, 0x1B03 }, + { 0x1B34, 0x1B34 }, + { 0x1B36, 0x1B3A }, + { 0x1B3C, 0x1B3C }, + { 0x1B42, 0x1B42 }, + { 0x1B6B, 0x1B73 }, + { 0x1B80, 0x1B81 }, + { 0x1BA2, 0x1BA5 }, + { 0x1BA8, 0x1BA9 }, + { 0x1C2C, 0x1C33 }, + { 0x1C36, 0x1C37 }, + { 0x1C78, 0x1C7D }, + { 0x1DC0, 0x1DE6 }, + { 0x1DFE, 0x1DFF }, + { 0x1FBD, 0x1FBD }, + { 0x1FBF, 0x1FC1 }, + { 0x1FCD, 0x1FCF }, + { 0x1FDD, 0x1FDF }, + { 0x1FED, 0x1FEF }, + { 0x1FFD, 0x1FFE }, + { 0x200B, 0x200F }, + { 0x2018, 0x2019 }, + { 0x2024, 0x2024 }, + { 0x2027, 0x2027 }, + { 0x202A, 0x202E }, + { 0x2060, 0x2064 }, + { 0x206A, 0x206F }, + { 0x20D0, 0x20F0 }, + { 0x2D6F, 0x2D6F }, + { 0x2DE0, 0x2DFF }, + { 0x2E2F, 0x2E2F }, + { 0x3005, 0x3005 }, + { 0x302A, 0x302F }, + { 0x3031, 0x3035 }, + { 0x303B, 0x303B }, + { 0x3099, 0x309E }, + { 0x30FC, 0x30FE }, + { 0xA015, 0xA015 }, + { 0xA60C, 0xA60C }, + { 0xA66F, 0xA672 }, + { 0xA67C, 0xA67D }, + { 0xA67F, 0xA67F }, + { 0xA700, 0xA721 }, + { 0xA788, 0xA78A }, + { 0xA802, 0xA802 }, + { 0xA806, 0xA806 }, + { 0xA80B, 0xA80B }, + { 0xA825, 0xA826 }, + { 0xA8C4, 0xA8C4 }, + { 0xA926, 0xA92D }, + { 0xA947, 0xA951 }, + { 0xAA29, 0xAA2E }, + { 0xAA31, 0xAA32 }, + { 0xAA35, 0xAA36 }, + { 0xAA43, 0xAA43 }, + { 0xAA4C, 0xAA4C }, + { 0xFB1E, 0xFB1E }, + { 0xFE00, 0xFE0F }, + { 0xFE13, 0xFE13 }, + { 0xFE20, 0xFE26 }, + { 0xFE52, 0xFE52 }, + { 0xFE55, 0xFE55 }, + { 0xFEFF, 0xFEFF }, + { 0xFF07, 0xFF07 }, + { 0xFF0E, 0xFF0E }, + { 0xFF1A, 0xFF1A }, + { 0xFF3E, 0xFF3E }, + { 0xFF40, 0xFF40 }, + { 0xFF70, 0xFF70 }, + { 0xFF9E, 0xFF9F }, + { 0xFFE3, 0xFFE3 }, + { 0xFFF9, 0xFFFB }, + { 0x101FD, 0x101FD }, + { 0x10A01, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A0F }, + { 0x10A38, 0x10A3A }, + { 0x10A3F, 0x10A3F }, + { 0x1D167, 0x1D169 }, + { 0x1D173, 0x1D182 }, + { 0x1D185, 0x1D18B }, + { 0x1D1AA, 0x1D1AD }, + { 0x1D242, 0x1D244 }, + { 0xE0001, 0xE0001 }, + { 0xE0020, 0xE007F }, + { 0xE0100, 0xE01EF } + +#define PREDICATE(c) uc_is_case_ignorable (c) +#include "test-predicate-part2.h" diff --git a/tests/unicase/test-is-cased.h b/tests/unicase/test-is-cased.h new file mode 100644 index 00000000..474b8a45 --- /dev/null +++ b/tests/unicase/test-is-cased.h @@ -0,0 +1,58 @@ +/* Test of test whether case matters for a Unicode string. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +static void +test_ascii (int (*my_is) (const UNIT *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.0, chapter 3. */ + { + static const UNIT input[] = { 'A', 'B', 'C' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'a', 'b', 'c' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'a', 'B', 'c' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'a', 'B', 'c', '1', '2', '3' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { '1', '2', '3' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } +} diff --git a/tests/unicase/test-is-casefolded.h b/tests/unicase/test-is-casefolded.h new file mode 100644 index 00000000..99638c6c --- /dev/null +++ b/tests/unicase/test-is-casefolded.h @@ -0,0 +1,43 @@ +/* Test of test whether a Unicode string is already case-folded. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +static void +test_ascii (int (*my_is) (const UNIT *, size_t, const char *, bool *)) +{ + { + static const UNIT input[] = { 'J', 'O', 'H', 'N', ' ', 'S', 'M', 'I', 'T', 'H' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'J', 'o', 'h', 'n', ' ', 'S', 'm', 'i', 't', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'j', 'o', 'h', 'n', ' ', 's', 'm', 'i', 't', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } +} diff --git a/tests/unicase/test-is-lowercase.h b/tests/unicase/test-is-lowercase.h new file mode 100644 index 00000000..cc37471b --- /dev/null +++ b/tests/unicase/test-is-lowercase.h @@ -0,0 +1,95 @@ +/* Test of test whether a Unicode string is entirely lower case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +static void +test_ascii (int (*my_is) (const UNIT *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.0, chapter 3. */ + { + static const UNIT input[] = { 'a' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'J', 'O', 'H', 'N', ' ', 'S', 'M', 'I', 'T', 'H' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'J', 'o', 'h', 'n', ' ', 'S', 'm', 'i', 't', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'j', 'o', 'h', 'n', ' ', 's', 'm', 'i', 't', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'a', '2' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { '3' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + + /* Test cases from Unicode 5.1.0. */ + { + static const UNIT input[] = { 'H', 'H' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'h', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'H', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'h', 'H' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } +} diff --git a/tests/unicase/test-is-titlecase.h b/tests/unicase/test-is-titlecase.h new file mode 100644 index 00000000..b36ababa --- /dev/null +++ b/tests/unicase/test-is-titlecase.h @@ -0,0 +1,95 @@ +/* Test of test whether a Unicode string is entirely title case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +static void +test_ascii (int (*my_is) (const UNIT *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.0, chapter 3. */ + { + static const UNIT input[] = { 'A' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'J', 'O', 'H', 'N', ' ', 'S', 'M', 'I', 'T', 'H' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'J', 'o', 'h', 'n', ' ', 'S', 'm', 'i', 't', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'j', 'o', 'h', 'n', ' ', 's', 'm', 'i', 't', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'A', '2' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { '3' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + + /* Test cases from Unicode 5.1.0. */ + { + static const UNIT input[] = { 'H', 'H' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'h', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'H', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'h', 'H' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } +} diff --git a/tests/unicase/test-is-uppercase.h b/tests/unicase/test-is-uppercase.h new file mode 100644 index 00000000..d1b7ca1e --- /dev/null +++ b/tests/unicase/test-is-uppercase.h @@ -0,0 +1,95 @@ +/* Test of test whether a Unicode string is entirely upper case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +static void +test_ascii (int (*my_is) (const UNIT *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.0, chapter 3. */ + { + static const UNIT input[] = { 'A' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'J', 'O', 'H', 'N', ' ', 'S', 'M', 'I', 'T', 'H' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'J', 'o', 'h', 'n', ' ', 'S', 'm', 'i', 't', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'j', 'o', 'h', 'n', ' ', 's', 'm', 'i', 't', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'A', '2' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { '3' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + + /* Test cases from Unicode 5.1.0. */ + { + static const UNIT input[] = { 'H', 'H' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const UNIT input[] = { 'h', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'H', 'h' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const UNIT input[] = { 'h', 'H' }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } +} diff --git a/tests/unicase/test-locale-language.c b/tests/unicase/test-locale-language.c new file mode 100644 index 00000000..e8fe1815 --- /dev/null +++ b/tests/unicase/test-locale-language.c @@ -0,0 +1,56 @@ +/* Test of language code determination. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main (int argc, char *argv[]) +{ + const char *expected; + const char *language; + + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + expected = argv[1]; + + language = uc_locale_language (); + ASSERT (strcmp (language, expected) == 0); + + return 0; +} diff --git a/tests/unicase/test-locale-language.sh b/tests/unicase/test-locale-language.sh new file mode 100755 index 00000000..0a04a0da --- /dev/null +++ b/tests/unicase/test-locale-language.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +LC_ALL=C ./test-locale-language${EXEEXT} '' || exit 1 + +: ${LOCALE_FR=fr_FR} +if test $LOCALE_FR_UTF8 != none; then + LC_ALL=$LOCALE_FR_UTF8 ./test-locale-language${EXEEXT} fr || exit 1 +fi + +: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +if test $LOCALE_FR_UTF8 != none; then + LC_ALL=$LOCALE_FR_UTF8 ./test-locale-language${EXEEXT} fr || exit 1 +fi + +: ${LOCALE_JA=ja_JP} +if test $LOCALE_JA != none; then + LC_ALL=$LOCALE_JA ./test-locale-language${EXEEXT} ja || exit 1 +fi + +: ${LOCALE_TR_UTF8=tr_TR.UTF-8} +if test $LOCALE_TR_UTF8 != none; then + LC_ALL=$LOCALE_TR_UTF8 ./test-locale-language${EXEEXT} tr || exit 1 +fi + +: ${LOCALE_ZH_CN=zh_CN.GB18030} +if test $LOCALE_ZH_CN != none; then + LC_ALL=$LOCALE_ZH_CN ./test-locale-language${EXEEXT} zh || exit 1 +fi + +exit 0 diff --git a/tests/unicase/test-mapping-part1.h b/tests/unicase/test-mapping-part1.h new file mode 100644 index 00000000..4b7ac8ec --- /dev/null +++ b/tests/unicase/test-mapping-part1.h @@ -0,0 +1,45 @@ +/* Test of single character case mapping functions. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unicase.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed for c = 0x%04X\n", \ + __FILE__, __LINE__, c); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) +#define SIZEOF(a) (sizeof(a) / sizeof(a[0])) + +/* Pair of Unicode characters. */ +typedef struct { ucs4_t ch; ucs4_t value; } pair_t; + +/* Characters and their mapping values, ignoring no-op mappings, in increasing + order. */ +static const pair_t mapping[] = + { diff --git a/tests/unicase/test-mapping-part2.h b/tests/unicase/test-mapping-part2.h new file mode 100644 index 00000000..ef43cdde --- /dev/null +++ b/tests/unicase/test-mapping-part2.h @@ -0,0 +1,37 @@ +/* Test of single character case mapping functions. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + + }; + +int +main () +{ + unsigned int c; + size_t i; + + c = 0; + for (i = 0; i < SIZEOF (mapping); i++) + { + for (; c < mapping[i].ch; c++) + ASSERT (MAP (c) == c); + ASSERT (MAP (c) == mapping[i].value); + c++; + } + for (; c < 0x110000; c++) + ASSERT (MAP (c) == c); + + return 0; +} diff --git a/tests/unicase/test-predicate-part1.h b/tests/unicase/test-predicate-part1.h new file mode 100644 index 00000000..76d804e1 --- /dev/null +++ b/tests/unicase/test-predicate-part1.h @@ -0,0 +1,45 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unicase/caseprop.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed for c = 0x%04X\n", \ + __FILE__, __LINE__, c); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) +#define SIZEOF(a) (sizeof(a) / sizeof(a[0])) + +/* Interval of Unicode characters. */ +typedef struct { ucs4_t start; ucs4_t end; } interval_t; + +/* Set of Unicode characters, described as list of intervals, in increasing + order. */ +static const interval_t set[] = + { diff --git a/tests/unicase/test-predicate-part2.h b/tests/unicase/test-predicate-part2.h new file mode 100644 index 00000000..60b7c246 --- /dev/null +++ b/tests/unicase/test-predicate-part2.h @@ -0,0 +1,37 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + + }; + +int +main () +{ + unsigned int c; + size_t i; + + c = 0; + for (i = 0; i < SIZEOF (set); i++) + { + for (; c < set[i].start; c++) + ASSERT (!PREDICATE (c)); + for (; c <= set[i].end; c++) + ASSERT (PREDICATE (c)); + } + for (; c < 0x110000; c++) + ASSERT (!PREDICATE (c)); + + return 0; +} diff --git a/tests/unicase/test-u16-casecmp.c b/tests/unicase/test-u16-casecmp.c new file mode 100644 index 00000000..f079bbf8 --- /dev/null +++ b/tests/unicase/test-u16-casecmp.c @@ -0,0 +1,336 @@ +/* Test of case and normalization insensitive comparison of UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint16_t +#include "test-casecmp.h" +#undef UNIT + +static void +test_nonascii (int (*my_casecmp) (const uint16_t *, size_t, const uint16_t *, size_t, const char *, uninorm_t, int *)) +{ + /* Normalization effects. */ + { + static const uint16_t input1[] = { 'H', 0x00F6, 'h', 'l', 'e' }; + static const uint16_t input2[] = { 'H', 'O', 0x0308, 'h', 'L', 'e' }; + static const uint16_t input3[] = { 'H', 0x00F6, 'h', 'l', 'e', 'n' }; + static const uint16_t input4[] = { 'H', 'O', 0x0308, 'h', 'L', 'e', 'n' }; + static const uint16_t input5[] = { 'H', 'u', 'r', 'z' }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input1, SIZEOF (input1), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input3, SIZEOF (input3), input4, SIZEOF (input4), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input4, SIZEOF (input4), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input4, SIZEOF (input4), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input5, SIZEOF (input5), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input5, SIZEOF (input5), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint16_t input1[] = { 0x00C4 }; + static const uint16_t input2[] = { 0x0041, 0x0308 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint16_t input1[] = { 0x01DE }; + static const uint16_t input2[] = { 0x0041, 0x0308, 0x0304 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint16_t input1[] = { 0x1FC1 }; + static const uint16_t input2[] = { 0x00A8, 0x0342 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEUL */ + static const uint16_t input1[] = { 0xAE00 }; + static const uint16_t input2[] = { 0xADF8, 0x11AF }; + static const uint16_t input3[] = { 0x1100, 0x1173, 0x11AF }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEU */ + static const uint16_t input1[] = { 0xADF8 }; + static const uint16_t input2[] = { 0x1100, 0x1173 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint16_t input1[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint16_t input2[] = + { 'g', 'r', 0x00FC, 0x0073, 0x0073, ' ', 'g', 'o', 't', 't', '.', ' ', + 0x0437, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint16_t input3[] = + { 'G', 'R', 0x00DC, 0x0053, 0x0053, ' ', 'G', 'O', 'T', 'T', '.', ' ', + 0x0417, 0x0414, 0x0420, 0x0410, 0x0412, 0x0421, 0x0422, 0x0412, 0x0423, + 0x0419, 0x0422, 0x0415, '!', ' ', + 'X', '=', '(', '-', 'B', 0x00B1, 'S', 'Q', 'R', 'T', '(', 'B', 0x00B2, + '-', '4', 'A', 'C', ')', ')', '/', '(', '2', 'A', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint16_t input1[] = { 0x0149 }; + static const uint16_t input2[] = { 0x02BC, 0x006E }; + static const uint16_t input3[] = { 0x02BC, 0x004E }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint16_t input1[] = { 0x0390 }; + static const uint16_t input2[] = { 0x03B9, 0x0308, 0x0301 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint16_t input[] = { 0x0049 }; + static const uint16_t casefolded[] = { 0x0069 }; + static const uint16_t casefolded_tr[] = { 0x0131 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint16_t input[] = { 0x0069 }; + static const uint16_t casefolded[] = { 0x0049 }; + static const uint16_t casefolded_tr[] = { 0x0130 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint16_t input[] = { 0x0130 }; + static const uint16_t casefolded[] = { 0x0069, 0x0307 }; + static const uint16_t casefolded_tr[] = { 0x0069 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint16_t input[] = { 0x0131 }; + static const uint16_t casefolded[] = { 0x0049 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 1); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* "topkapı" */ + static const uint16_t input[] = + { 0x0054, 0x004F, 0x0050, 0x004B, 0x0041, 0x0050, 0x0049 }; + static const uint16_t casefolded[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint16_t input1[] = { 0x0068, 0x0065, 0x0069, 0x00DF }; + static const uint16_t input2[] = { 0x0068, 0x0065, 0x0069, 0x0073, 0x0073 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint16_t input1[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + static const uint16_t input2[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C3, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C3 + }; + static const uint16_t input3[] = + { + 0x03A0, 0x0395, 0x03A1, 0x0399, 0x03A3, 0x03A3, 0x038C, 0x03A4, + 0x0395, 0x03A1, 0x0395, 0x03A3, 0x0020, 0x03A0, 0x039B, 0x0397, + 0x03A1, 0x039F, 0x03A6, 0x039F, 0x03A1, 0x038A, 0x0395, 0x03A3 + }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint16_t input[] = { 0x01F0, 0x0323 }; + static const uint16_t casefolded[] = { 0x006A, 0x030C, 0x0323 }; + static const uint16_t casefolded_decomposed[] = { 0x006A, 0x0323, 0x030C }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_decomposed, SIZEOF (casefolded_decomposed), NULL, NULL, &cmp) == 0); + ASSERT (cmp != 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_decomposed, SIZEOF (casefolded_decomposed), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } +} + +int +main () +{ + test_ascii (u16_casecmp, UNINORM_NFD); + test_nonascii (u16_casecmp); + + return 0; +} diff --git a/tests/unicase/test-u16-casecoll.c b/tests/unicase/test-u16-casecoll.c new file mode 100644 index 00000000..5428cf04 --- /dev/null +++ b/tests/unicase/test-u16-casecoll.c @@ -0,0 +1,54 @@ +/* Test of locale dependent, case and normalization insensitive comparison of + UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint16_t +#include "test-casecmp.h" +#undef UNIT + +int +main () +{ + /* In the "C" locale, strcoll is equivalent to strcmp, therefore u8_casecoll + on ASCII strings should behave like strcasecmp. */ + test_ascii (u16_casecoll, UNINORM_NFC); + + return 0; +} diff --git a/tests/unicase/test-u16-casefold.c b/tests/unicase/test-u16-casefold.c new file mode 100644 index 00000000..3f4f633a --- /dev/null +++ b/tests/unicase/test-u16-casefold.c @@ -0,0 +1,214 @@ +/* Test of casefolding mapping for UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint16_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint16_t *expected, size_t expected_length) +{ + size_t length; + uint16_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u16_casefold (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint16_t *preallocated; + + length = expected_length - 1; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_casefold (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint16_t *preallocated; + + length = expected_length; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_casefold (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint16_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint16_t casefolded[] = + { 'g', 'r', 0x00FC, 0x0073, 0x0073, ' ', 'g', 'o', 't', 't', '.', ' ', + 0x0437, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint16_t input[] = { 0x0149 }; + static const uint16_t casefolded[] = { 0x02BC, 0x006E }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint16_t input[] = { 0x0390 }; + static const uint16_t casefolded[] = { 0x03B9, 0x0308, 0x0301 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint16_t input[] = { 0x0049 }; + static const uint16_t casefolded[] = { 0x0069 }; + static const uint16_t casefolded_tr[] = { 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded_tr, SIZEOF (casefolded_tr)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint16_t input[] = { 0x0069 }; + static const uint16_t casefolded[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded, SIZEOF (casefolded)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint16_t input[] = { 0x0130 }; + static const uint16_t casefolded[] = { 0x0069, 0x0307 }; + static const uint16_t casefolded_tr[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded_tr, SIZEOF (casefolded_tr)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint16_t input[] = { 0x0131 }; + static const uint16_t casefolded[] = { 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded, SIZEOF (casefolded)) == 0); + } + { /* "topkapı" */ + static const uint16_t input[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + static const uint16_t casefolded[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint16_t input[] = { 0x0068, 0x0065, 0x0069, 0x00DF }; + static const uint16_t casefolded[] = { 0x0068, 0x0065, 0x0069, 0x0073, 0x0073 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint16_t input[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + static const uint16_t casefolded[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C3, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C3 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint16_t input[] = { 0x01F0, 0x0323 }; + static const uint16_t casefolded[] = { 0x006A, 0x030C, 0x0323 }; + static const uint16_t casefolded_decomposed[] = { 0x006A, 0x0323, 0x030C }; + static const uint16_t casefolded_normalized[] = { 0x01F0, 0x0323 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFD, casefolded_decomposed, SIZEOF (casefolded_decomposed)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFC, casefolded_normalized, SIZEOF (casefolded_normalized)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-u16-is-cased.c b/tests/unicase/test-u16-is-cased.c new file mode 100644 index 00000000..a4b9dc39 --- /dev/null +++ b/tests/unicase/test-u16-is-cased.c @@ -0,0 +1,51 @@ +/* Test of test whether case matters for an UTF-16 string. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint16_t +#include "test-is-cased.h" +#undef UNIT + +int +main () +{ + test_ascii (u16_is_cased); + + return 0; +} diff --git a/tests/unicase/test-u16-is-casefolded.c b/tests/unicase/test-u16-is-casefolded.c new file mode 100644 index 00000000..8c0122da --- /dev/null +++ b/tests/unicase/test-u16-is-casefolded.c @@ -0,0 +1,65 @@ +/* Test of test whether an UTF-16 string is already case-folded. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint16_t +#include "test-is-casefolded.h" +#undef UNIT + +static void +test_nonascii (int (*my_is) (const uint16_t *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.1.0. */ + { + static const uint16_t input[] = { 0x00DF }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } +} + +int +main () +{ + test_ascii (u16_is_casefolded); + test_nonascii (u16_is_casefolded); + + return 0; +} diff --git a/tests/unicase/test-u16-is-lowercase.c b/tests/unicase/test-u16-is-lowercase.c new file mode 100644 index 00000000..f7bea495 --- /dev/null +++ b/tests/unicase/test-u16-is-lowercase.c @@ -0,0 +1,93 @@ +/* Test of test whether an UTF-16 string is entirely lower case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint16_t +#include "test-is-lowercase.h" +#undef UNIT + +static void +test_nonascii (int (*my_is) (const uint16_t *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.1.0. */ + { + static const uint16_t input[] = { 0x24D7 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint16_t input[] = { 0x24BD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const uint16_t input[] = { 0x02B0 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint16_t input[] = { 0x1D34 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint16_t input[] = { 0x02BD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } +} + +int +main () +{ + test_ascii (u16_is_lowercase); + test_nonascii (u16_is_lowercase); + + return 0; +} diff --git a/tests/unicase/test-u16-is-titlecase.c b/tests/unicase/test-u16-is-titlecase.c new file mode 100644 index 00000000..6b1c6d10 --- /dev/null +++ b/tests/unicase/test-u16-is-titlecase.c @@ -0,0 +1,51 @@ +/* Test of test whether an UTF-16 string is entirely title case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint16_t +#include "test-is-titlecase.h" +#undef UNIT + +int +main () +{ + test_ascii (u16_is_titlecase); + + return 0; +} diff --git a/tests/unicase/test-u16-is-uppercase.c b/tests/unicase/test-u16-is-uppercase.c new file mode 100644 index 00000000..1acf7055 --- /dev/null +++ b/tests/unicase/test-u16-is-uppercase.c @@ -0,0 +1,93 @@ +/* Test of test whether an UTF-16 string is entirely upper case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint16_t +#include "test-is-uppercase.h" +#undef UNIT + +static void +test_nonascii (int (*my_is) (const uint16_t *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.1.0. */ + { + static const uint16_t input[] = { 0x24D7 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const uint16_t input[] = { 0x24BD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint16_t input[] = { 0x02B0 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint16_t input[] = { 0x1D34 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint16_t input[] = { 0x02BD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } +} + +int +main () +{ + test_ascii (u16_is_uppercase); + test_nonascii (u16_is_uppercase); + + return 0; +} diff --git a/tests/unicase/test-u16-tolower.c b/tests/unicase/test-u16-tolower.c new file mode 100644 index 00000000..5ec764c4 --- /dev/null +++ b/tests/unicase/test-u16-tolower.c @@ -0,0 +1,251 @@ +/* Test of lowercase mapping for UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint16_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint16_t *expected, size_t expected_length) +{ + size_t length; + uint16_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u16_tolower (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint16_t *preallocated; + + length = expected_length - 1; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_tolower (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint16_t *preallocated; + + length = expected_length; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_tolower (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint16_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint16_t casemapped[] = + { 'g', 'r', 0x00FC, 0x00DF, ' ', 'g', 'o', 't', 't', '.', ' ', + 0x0437, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint16_t input[] = { 0x0049 }; + static const uint16_t casemapped[] = { 0x0069 }; + static const uint16_t casemapped_tr[] = { 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint16_t input[] = { 0x0069 }; + static const uint16_t casemapped[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint16_t input[] = { 0x0130 }; + static const uint16_t casemapped[] = { 0x0069, 0x0307 }; + static const uint16_t casemapped_tr[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint16_t input[] = { 0x0131 }; + static const uint16_t casemapped[] = { 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "TOPKAPI" */ + static const uint16_t input[] = + { 0x0054, 0x004F, 0x0050, 0x004B, 0x0041, 0x0050, 0x0049 }; + static const uint16_t casemapped[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "HEIß" */ + static const uint16_t input[] = { 0x0048, 0x0045, 0x0049, 0x00DF }; + static const uint16_t casemapped[] = { 0x0068, 0x0065, 0x0069, 0x00DF }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "ΠΕΡΙΣΣΌΤΕΡΕΣ ΠΛΗΡΟΦΟΡΊΕΣ" */ + static const uint16_t input[] = + { + 0x03A0, 0x0395, 0x03A1, 0x0399, 0x03A3, 0x03A3, 0x038C, 0x03A4, + 0x0395, 0x03A1, 0x0395, 0x03A3, 0x0020, 0x03A0, 0x039B, 0x0397, + 0x03A1, 0x039F, 0x03A6, 0x039F, 0x03A1, 0x038A, 0x0395, 0x03A3 + }; + static const uint16_t casemapped[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "Σ" -> "σ" */ + static const uint16_t input[] = { 0x03A3 }; + static const uint16_t casemapped[] = { 0x03C3 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ" -> "ας" */ + static const uint16_t input[] = { 0x0391, 0x03A3 }; + static const uint16_t casemapped[] = { 0x03B1, 0x03C2 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + /* It's a final sigma only if not followed by a case-ignorable sequence and + then a cased letter. Note that U+0345 and U+037A are simultaneously + case-ignorable and cased (which is a bit paradoxical). */ + { /* "ΑΣΑ" -> "ασα" */ + static const uint16_t input[] = { 0x0391, 0x03A3, 0x0391 }; + static const uint16_t casemapped[] = { 0x03B1, 0x03C3, 0x03B1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:" -> "ας:" */ + static const uint16_t input[] = { 0x0391, 0x03A3, 0x003A }; + static const uint16_t casemapped[] = { 0x03B1, 0x03C2, 0x003A }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:Α" -> "ασ:α" */ + static const uint16_t input[] = { 0x0391, 0x03A3, 0x003A, 0x0391 }; + static const uint16_t casemapped[] = { 0x03B1, 0x03C3, 0x003A, 0x03B1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:ͺ" -> "ασ:ͺ" */ + static const uint16_t input[] = { 0x0391, 0x03A3, 0x003A, 0x037A }; + static const uint16_t casemapped[] = { 0x03B1, 0x03C3, 0x003A, 0x037A }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:ͺ " -> "ασ:ͺ " */ + static const uint16_t input[] = { 0x0391, 0x03A3, 0x003A, 0x037A, 0x0020 }; + static const uint16_t casemapped[] = { 0x03B1, 0x03C3, 0x003A, 0x037A, 0x0020 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + /* It's a final sigma only if preceded by a case-ignorable sequence and + a cased letter before it. Note that U+0345 and U+037A are simultaneously + case-ignorable and cased (which is a bit paradoxical). */ + { /* ":Σ" -> ":σ" */ + static const uint16_t input[] = { 0x003A, 0x03A3 }; + static const uint16_t casemapped[] = { 0x003A, 0x03C3 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "Α:Σ" -> "α:ς" */ + static const uint16_t input[] = { 0x0391, 0x003A, 0x03A3 }; + static const uint16_t casemapped[] = { 0x03B1, 0x003A, 0x03C2 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ͺ:Σ" -> "ͺ:ς" */ + static const uint16_t input[] = { 0x037A, 0x003A, 0x03A3 }; + static const uint16_t casemapped[] = { 0x037A, 0x003A, 0x03C2 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* " ͺ:Σ" -> " ͺ:ς" */ + static const uint16_t input[] = { 0x0020, 0x037A, 0x003A, 0x03A3 }; + static const uint16_t casemapped[] = { 0x0020, 0x037A, 0x003A, 0x03C2 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-u16-totitle.c b/tests/unicase/test-u16-totitle.c new file mode 100644 index 00000000..3839c907 --- /dev/null +++ b/tests/unicase/test-u16-totitle.c @@ -0,0 +1,211 @@ +/* Test of titlecase mapping for UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint16_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint16_t *expected, size_t expected_length) +{ + size_t length; + uint16_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u16_totitle (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint16_t *preallocated; + + length = expected_length - 1; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_totitle (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint16_t *preallocated; + + length = expected_length; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_totitle (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "GRÜß GOTT. ЗДРАВСТВУЙТЕ! X=(-B±SQRT(B²-4AC))/(2A) 日本語,中文,한글" */ + static const uint16_t input[] = + { 'G', 'R', 0x00DC, 0x00DF, ' ', 'G', 'O', 'T', 'T', '.', ' ', + 0x0417, 0x0414, 0x0420, 0x0410, 0x0412, 0x0421, 0x0422, 0x0412, 0x0423, + 0x0419, 0x0422, 0x0415, '!', ' ', + 'X', '=', '(', '-', 'B', 0x00B1, 'S', 'Q', 'R', 'T', '(', 'B', 0x00B2, + '-', '4', 'A', 'C', ')', ')', '/', '(', '2', 'A', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint16_t casemapped[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'X', '=', '(', '-', 'B', 0x00B1, 'S', 'q', 'r', 't', '(', 'B', 0x00B2, + '-', '4', 'A', 'c', ')', ')', '/', '(', '2', 'A', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint16_t input[] = { 0x0149 }; + static const uint16_t casemapped[] = { 0x02BC, 0x004E }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint16_t input[] = { 0x0390 }; + static const uint16_t casemapped[] = { 0x0399, 0x0308, 0x0301 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint16_t input[] = { 0x0049 }; + static const uint16_t casemapped[] = { 0x0049 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint16_t input[] = { 0x0069 }; + static const uint16_t casemapped[] = { 0x0049 }; + static const uint16_t casemapped_tr[] = { 0x0130 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint16_t input[] = { 0x0130 }; + static const uint16_t casemapped[] = { 0x0130 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint16_t input[] = { 0x0131 }; + static const uint16_t casemapped[] = { 0x0049 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "topkapı" */ + static const uint16_t input[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + static const uint16_t casemapped[] = + { 0x0054, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint16_t input[] = { 0x0068, 0x0065, 0x0069, 0x00DF }; + static const uint16_t casemapped[] = { 0x0048, 0x0065, 0x0069, 0x00DF }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint16_t input[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + static const uint16_t casemapped[] = + { + 0x03A0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03A0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint16_t input[] = { 0x01F0, 0x0323 }; + static const uint16_t casemapped[] = { 0x004A, 0x030C, 0x0323 }; + static const uint16_t casemapped_normalized[] = { 0x004A, 0x0323, 0x030C }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFC, casemapped_normalized, SIZEOF (casemapped_normalized)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-u16-toupper.c b/tests/unicase/test-u16-toupper.c new file mode 100644 index 00000000..ed9fd6b1 --- /dev/null +++ b/tests/unicase/test-u16-toupper.c @@ -0,0 +1,211 @@ +/* Test of uppercase mapping for UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint16_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint16_t *expected, size_t expected_length) +{ + size_t length; + uint16_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u16_toupper (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint16_t *preallocated; + + length = expected_length - 1; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_toupper (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint16_t *preallocated; + + length = expected_length; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_toupper (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint16_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint16_t casemapped[] = + { 'G', 'R', 0x00DC, 0x0053, 0x0053, ' ', 'G', 'O', 'T', 'T', '.', ' ', + 0x0417, 0x0414, 0x0420, 0x0410, 0x0412, 0x0421, 0x0422, 0x0412, 0x0423, + 0x0419, 0x0422, 0x0415, '!', ' ', + 'X', '=', '(', '-', 'B', 0x00B1, 'S', 'Q', 'R', 'T', '(', 'B', 0x00B2, + '-', '4', 'A', 'C', ')', ')', '/', '(', '2', 'A', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint16_t input[] = { 0x0149 }; + static const uint16_t casemapped[] = { 0x02BC, 0x004E }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint16_t input[] = { 0x0390 }; + static const uint16_t casemapped[] = { 0x0399, 0x0308, 0x0301 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint16_t input[] = { 0x0049 }; + static const uint16_t casemapped[] = { 0x0049 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint16_t input[] = { 0x0069 }; + static const uint16_t casemapped[] = { 0x0049 }; + static const uint16_t casemapped_tr[] = { 0x0130 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint16_t input[] = { 0x0130 }; + static const uint16_t casemapped[] = { 0x0130 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint16_t input[] = { 0x0131 }; + static const uint16_t casemapped[] = { 0x0049 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "topkapı" */ + static const uint16_t input[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + static const uint16_t casemapped[] = + { 0x0054, 0x004F, 0x0050, 0x004B, 0x0041, 0x0050, 0x0049 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint16_t input[] = { 0x0068, 0x0065, 0x0069, 0x00DF }; + static const uint16_t casemapped[] = { 0x0048, 0x0045, 0x0049, 0x0053, 0x0053 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint16_t input[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + static const uint16_t casemapped[] = + { + 0x03A0, 0x0395, 0x03A1, 0x0399, 0x03A3, 0x03A3, 0x038C, 0x03A4, + 0x0395, 0x03A1, 0x0395, 0x03A3, 0x0020, 0x03A0, 0x039B, 0x0397, + 0x03A1, 0x039F, 0x03A6, 0x039F, 0x03A1, 0x038A, 0x0395, 0x03A3 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint16_t input[] = { 0x01F0, 0x0323 }; + static const uint16_t casemapped[] = { 0x004A, 0x030C, 0x0323 }; + static const uint16_t casemapped_normalized[] = { 0x004A, 0x0323, 0x030C }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFC, casemapped_normalized, SIZEOF (casemapped_normalized)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-u32-casecmp.c b/tests/unicase/test-u32-casecmp.c new file mode 100644 index 00000000..8d58bc76 --- /dev/null +++ b/tests/unicase/test-u32-casecmp.c @@ -0,0 +1,336 @@ +/* Test of case and normalization insensitive comparison of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint32_t +#include "test-casecmp.h" +#undef UNIT + +static void +test_nonascii (int (*my_casecmp) (const uint32_t *, size_t, const uint32_t *, size_t, const char *, uninorm_t, int *)) +{ + /* Normalization effects. */ + { + static const uint32_t input1[] = { 'H', 0x00F6, 'h', 'l', 'e' }; + static const uint32_t input2[] = { 'H', 'O', 0x0308, 'h', 'L', 'e' }; + static const uint32_t input3[] = { 'H', 0x00F6, 'h', 'l', 'e', 'n' }; + static const uint32_t input4[] = { 'H', 'O', 0x0308, 'h', 'L', 'e', 'n' }; + static const uint32_t input5[] = { 'H', 'u', 'r', 'z' }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input1, SIZEOF (input1), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input3, SIZEOF (input3), input4, SIZEOF (input4), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input4, SIZEOF (input4), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input4, SIZEOF (input4), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input5, SIZEOF (input5), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input5, SIZEOF (input5), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint32_t input1[] = { 0x00C4 }; + static const uint32_t input2[] = { 0x0041, 0x0308 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint32_t input1[] = { 0x01DE }; + static const uint32_t input2[] = { 0x0041, 0x0308, 0x0304 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint32_t input1[] = { 0x1FC1 }; + static const uint32_t input2[] = { 0x00A8, 0x0342 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEUL */ + static const uint32_t input1[] = { 0xAE00 }; + static const uint32_t input2[] = { 0xADF8, 0x11AF }; + static const uint32_t input3[] = { 0x1100, 0x1173, 0x11AF }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEU */ + static const uint32_t input1[] = { 0xADF8 }; + static const uint32_t input2[] = { 0x1100, 0x1173 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint32_t input1[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint32_t input2[] = + { 'g', 'r', 0x00FC, 0x0073, 0x0073, ' ', 'g', 'o', 't', 't', '.', ' ', + 0x0437, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint32_t input3[] = + { 'G', 'R', 0x00DC, 0x0053, 0x0053, ' ', 'G', 'O', 'T', 'T', '.', ' ', + 0x0417, 0x0414, 0x0420, 0x0410, 0x0412, 0x0421, 0x0422, 0x0412, 0x0423, + 0x0419, 0x0422, 0x0415, '!', ' ', + 'X', '=', '(', '-', 'B', 0x00B1, 'S', 'Q', 'R', 'T', '(', 'B', 0x00B2, + '-', '4', 'A', 'C', ')', ')', '/', '(', '2', 'A', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint32_t input1[] = { 0x0149 }; + static const uint32_t input2[] = { 0x02BC, 0x006E }; + static const uint32_t input3[] = { 0x02BC, 0x004E }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint32_t input1[] = { 0x0390 }; + static const uint32_t input2[] = { 0x03B9, 0x0308, 0x0301 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint32_t input[] = { 0x0049 }; + static const uint32_t casefolded[] = { 0x0069 }; + static const uint32_t casefolded_tr[] = { 0x0131 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint32_t input[] = { 0x0069 }; + static const uint32_t casefolded[] = { 0x0049 }; + static const uint32_t casefolded_tr[] = { 0x0130 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint32_t input[] = { 0x0130 }; + static const uint32_t casefolded[] = { 0x0069, 0x0307 }; + static const uint32_t casefolded_tr[] = { 0x0069 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint32_t input[] = { 0x0131 }; + static const uint32_t casefolded[] = { 0x0049 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 1); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* "topkapı" */ + static const uint32_t input[] = + { 0x0054, 0x004F, 0x0050, 0x004B, 0x0041, 0x0050, 0x0049 }; + static const uint32_t casefolded[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint32_t input1[] = { 0x0068, 0x0065, 0x0069, 0x00DF }; + static const uint32_t input2[] = { 0x0068, 0x0065, 0x0069, 0x0073, 0x0073 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint32_t input1[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + static const uint32_t input2[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C3, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C3 + }; + static const uint32_t input3[] = + { + 0x03A0, 0x0395, 0x03A1, 0x0399, 0x03A3, 0x03A3, 0x038C, 0x03A4, + 0x0395, 0x03A1, 0x0395, 0x03A3, 0x0020, 0x03A0, 0x039B, 0x0397, + 0x03A1, 0x039F, 0x03A6, 0x039F, 0x03A1, 0x038A, 0x0395, 0x03A3 + }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint32_t input[] = { 0x01F0, 0x0323 }; + static const uint32_t casefolded[] = { 0x006A, 0x030C, 0x0323 }; + static const uint32_t casefolded_decomposed[] = { 0x006A, 0x0323, 0x030C }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_decomposed, SIZEOF (casefolded_decomposed), NULL, NULL, &cmp) == 0); + ASSERT (cmp != 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_decomposed, SIZEOF (casefolded_decomposed), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } +} + +int +main () +{ + test_ascii (u32_casecmp, UNINORM_NFD); + test_nonascii (u32_casecmp); + + return 0; +} diff --git a/tests/unicase/test-u32-casecoll.c b/tests/unicase/test-u32-casecoll.c new file mode 100644 index 00000000..23edfbdf --- /dev/null +++ b/tests/unicase/test-u32-casecoll.c @@ -0,0 +1,54 @@ +/* Test of locale dependent, case and normalization insensitive comparison of + UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint32_t +#include "test-casecmp.h" +#undef UNIT + +int +main () +{ + /* In the "C" locale, strcoll is equivalent to strcmp, therefore u8_casecoll + on ASCII strings should behave like strcasecmp. */ + test_ascii (u32_casecoll, UNINORM_NFC); + + return 0; +} diff --git a/tests/unicase/test-u32-casefold.c b/tests/unicase/test-u32-casefold.c new file mode 100644 index 00000000..d48e8dc8 --- /dev/null +++ b/tests/unicase/test-u32-casefold.c @@ -0,0 +1,214 @@ +/* Test of casefolding mapping for UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint32_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint32_t *expected, size_t expected_length) +{ + size_t length; + uint32_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u32_casefold (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint32_t *preallocated; + + length = expected_length - 1; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_casefold (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint32_t *preallocated; + + length = expected_length; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_casefold (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint32_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint32_t casefolded[] = + { 'g', 'r', 0x00FC, 0x0073, 0x0073, ' ', 'g', 'o', 't', 't', '.', ' ', + 0x0437, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint32_t input[] = { 0x0149 }; + static const uint32_t casefolded[] = { 0x02BC, 0x006E }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint32_t input[] = { 0x0390 }; + static const uint32_t casefolded[] = { 0x03B9, 0x0308, 0x0301 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint32_t input[] = { 0x0049 }; + static const uint32_t casefolded[] = { 0x0069 }; + static const uint32_t casefolded_tr[] = { 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded_tr, SIZEOF (casefolded_tr)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint32_t input[] = { 0x0069 }; + static const uint32_t casefolded[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded, SIZEOF (casefolded)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint32_t input[] = { 0x0130 }; + static const uint32_t casefolded[] = { 0x0069, 0x0307 }; + static const uint32_t casefolded_tr[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded_tr, SIZEOF (casefolded_tr)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint32_t input[] = { 0x0131 }; + static const uint32_t casefolded[] = { 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded, SIZEOF (casefolded)) == 0); + } + { /* "topkapı" */ + static const uint32_t input[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + static const uint32_t casefolded[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint32_t input[] = { 0x0068, 0x0065, 0x0069, 0x00DF }; + static const uint32_t casefolded[] = { 0x0068, 0x0065, 0x0069, 0x0073, 0x0073 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint32_t input[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + static const uint32_t casefolded[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C3, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C3 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint32_t input[] = { 0x01F0, 0x0323 }; + static const uint32_t casefolded[] = { 0x006A, 0x030C, 0x0323 }; + static const uint32_t casefolded_decomposed[] = { 0x006A, 0x0323, 0x030C }; + static const uint32_t casefolded_normalized[] = { 0x01F0, 0x0323 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFD, casefolded_decomposed, SIZEOF (casefolded_decomposed)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFC, casefolded_normalized, SIZEOF (casefolded_normalized)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-u32-is-cased.c b/tests/unicase/test-u32-is-cased.c new file mode 100644 index 00000000..d8353fc4 --- /dev/null +++ b/tests/unicase/test-u32-is-cased.c @@ -0,0 +1,51 @@ +/* Test of test whether case matters for an UTF-32 string. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint32_t +#include "test-is-cased.h" +#undef UNIT + +int +main () +{ + test_ascii (u32_is_cased); + + return 0; +} diff --git a/tests/unicase/test-u32-is-casefolded.c b/tests/unicase/test-u32-is-casefolded.c new file mode 100644 index 00000000..d79241d7 --- /dev/null +++ b/tests/unicase/test-u32-is-casefolded.c @@ -0,0 +1,65 @@ +/* Test of test whether an UTF-32 string is already case-folded. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint32_t +#include "test-is-casefolded.h" +#undef UNIT + +static void +test_nonascii (int (*my_is) (const uint32_t *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.1.0. */ + { + static const uint32_t input[] = { 0x00DF }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } +} + +int +main () +{ + test_ascii (u32_is_casefolded); + test_nonascii (u32_is_casefolded); + + return 0; +} diff --git a/tests/unicase/test-u32-is-lowercase.c b/tests/unicase/test-u32-is-lowercase.c new file mode 100644 index 00000000..2cff3925 --- /dev/null +++ b/tests/unicase/test-u32-is-lowercase.c @@ -0,0 +1,93 @@ +/* Test of test whether an UTF-32 string is entirely lower case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint32_t +#include "test-is-lowercase.h" +#undef UNIT + +static void +test_nonascii (int (*my_is) (const uint32_t *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.1.0. */ + { + static const uint32_t input[] = { 0x24D7 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint32_t input[] = { 0x24BD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const uint32_t input[] = { 0x02B0 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint32_t input[] = { 0x1D34 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint32_t input[] = { 0x02BD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } +} + +int +main () +{ + test_ascii (u32_is_lowercase); + test_nonascii (u32_is_lowercase); + + return 0; +} diff --git a/tests/unicase/test-u32-is-titlecase.c b/tests/unicase/test-u32-is-titlecase.c new file mode 100644 index 00000000..2c287e98 --- /dev/null +++ b/tests/unicase/test-u32-is-titlecase.c @@ -0,0 +1,51 @@ +/* Test of test whether an UTF-32 string is entirely title case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint32_t +#include "test-is-titlecase.h" +#undef UNIT + +int +main () +{ + test_ascii (u32_is_titlecase); + + return 0; +} diff --git a/tests/unicase/test-u32-is-uppercase.c b/tests/unicase/test-u32-is-uppercase.c new file mode 100644 index 00000000..0044ec1d --- /dev/null +++ b/tests/unicase/test-u32-is-uppercase.c @@ -0,0 +1,93 @@ +/* Test of test whether an UTF-32 string is entirely upper case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint32_t +#include "test-is-uppercase.h" +#undef UNIT + +static void +test_nonascii (int (*my_is) (const uint32_t *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.1.0. */ + { + static const uint32_t input[] = { 0x24D7 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const uint32_t input[] = { 0x24BD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint32_t input[] = { 0x02B0 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint32_t input[] = { 0x1D34 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint32_t input[] = { 0x02BD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } +} + +int +main () +{ + test_ascii (u32_is_uppercase); + test_nonascii (u32_is_uppercase); + + return 0; +} diff --git a/tests/unicase/test-u32-tolower.c b/tests/unicase/test-u32-tolower.c new file mode 100644 index 00000000..7f348da4 --- /dev/null +++ b/tests/unicase/test-u32-tolower.c @@ -0,0 +1,251 @@ +/* Test of lowercase mapping for UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint32_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint32_t *expected, size_t expected_length) +{ + size_t length; + uint32_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u32_tolower (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint32_t *preallocated; + + length = expected_length - 1; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_tolower (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint32_t *preallocated; + + length = expected_length; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_tolower (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint32_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint32_t casemapped[] = + { 'g', 'r', 0x00FC, 0x00DF, ' ', 'g', 'o', 't', 't', '.', ' ', + 0x0437, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint32_t input[] = { 0x0049 }; + static const uint32_t casemapped[] = { 0x0069 }; + static const uint32_t casemapped_tr[] = { 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint32_t input[] = { 0x0069 }; + static const uint32_t casemapped[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint32_t input[] = { 0x0130 }; + static const uint32_t casemapped[] = { 0x0069, 0x0307 }; + static const uint32_t casemapped_tr[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint32_t input[] = { 0x0131 }; + static const uint32_t casemapped[] = { 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "TOPKAPI" */ + static const uint32_t input[] = + { 0x0054, 0x004F, 0x0050, 0x004B, 0x0041, 0x0050, 0x0049 }; + static const uint32_t casemapped[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "HEIß" */ + static const uint32_t input[] = { 0x0048, 0x0045, 0x0049, 0x00DF }; + static const uint32_t casemapped[] = { 0x0068, 0x0065, 0x0069, 0x00DF }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "ΠΕΡΙΣΣΌΤΕΡΕΣ ΠΛΗΡΟΦΟΡΊΕΣ" */ + static const uint32_t input[] = + { + 0x03A0, 0x0395, 0x03A1, 0x0399, 0x03A3, 0x03A3, 0x038C, 0x03A4, + 0x0395, 0x03A1, 0x0395, 0x03A3, 0x0020, 0x03A0, 0x039B, 0x0397, + 0x03A1, 0x039F, 0x03A6, 0x039F, 0x03A1, 0x038A, 0x0395, 0x03A3 + }; + static const uint32_t casemapped[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "Σ" -> "σ" */ + static const uint32_t input[] = { 0x03A3 }; + static const uint32_t casemapped[] = { 0x03C3 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ" -> "ας" */ + static const uint32_t input[] = { 0x0391, 0x03A3 }; + static const uint32_t casemapped[] = { 0x03B1, 0x03C2 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + /* It's a final sigma only if not followed by a case-ignorable sequence and + then a cased letter. Note that U+0345 and U+037A are simultaneously + case-ignorable and cased (which is a bit paradoxical). */ + { /* "ΑΣΑ" -> "ασα" */ + static const uint32_t input[] = { 0x0391, 0x03A3, 0x0391 }; + static const uint32_t casemapped[] = { 0x03B1, 0x03C3, 0x03B1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:" -> "ας:" */ + static const uint32_t input[] = { 0x0391, 0x03A3, 0x003A }; + static const uint32_t casemapped[] = { 0x03B1, 0x03C2, 0x003A }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:Α" -> "ασ:α" */ + static const uint32_t input[] = { 0x0391, 0x03A3, 0x003A, 0x0391 }; + static const uint32_t casemapped[] = { 0x03B1, 0x03C3, 0x003A, 0x03B1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:ͺ" -> "ασ:ͺ" */ + static const uint32_t input[] = { 0x0391, 0x03A3, 0x003A, 0x037A }; + static const uint32_t casemapped[] = { 0x03B1, 0x03C3, 0x003A, 0x037A }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:ͺ " -> "ασ:ͺ " */ + static const uint32_t input[] = { 0x0391, 0x03A3, 0x003A, 0x037A, 0x0020 }; + static const uint32_t casemapped[] = { 0x03B1, 0x03C3, 0x003A, 0x037A, 0x0020 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + /* It's a final sigma only if preceded by a case-ignorable sequence and + a cased letter before it. Note that U+0345 and U+037A are simultaneously + case-ignorable and cased (which is a bit paradoxical). */ + { /* ":Σ" -> ":σ" */ + static const uint32_t input[] = { 0x003A, 0x03A3 }; + static const uint32_t casemapped[] = { 0x003A, 0x03C3 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "Α:Σ" -> "α:ς" */ + static const uint32_t input[] = { 0x0391, 0x003A, 0x03A3 }; + static const uint32_t casemapped[] = { 0x03B1, 0x003A, 0x03C2 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ͺ:Σ" -> "ͺ:ς" */ + static const uint32_t input[] = { 0x037A, 0x003A, 0x03A3 }; + static const uint32_t casemapped[] = { 0x037A, 0x003A, 0x03C2 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* " ͺ:Σ" -> " ͺ:ς" */ + static const uint32_t input[] = { 0x0020, 0x037A, 0x003A, 0x03A3 }; + static const uint32_t casemapped[] = { 0x0020, 0x037A, 0x003A, 0x03C2 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-u32-totitle.c b/tests/unicase/test-u32-totitle.c new file mode 100644 index 00000000..82c4b0f1 --- /dev/null +++ b/tests/unicase/test-u32-totitle.c @@ -0,0 +1,211 @@ +/* Test of titlecase mapping for UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint32_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint32_t *expected, size_t expected_length) +{ + size_t length; + uint32_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u32_totitle (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint32_t *preallocated; + + length = expected_length - 1; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_totitle (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint32_t *preallocated; + + length = expected_length; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_totitle (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "GRÜß GOTT. ЗДРАВСТВУЙТЕ! X=(-B±SQRT(B²-4AC))/(2A) 日本語,中文,한글" */ + static const uint32_t input[] = + { 'G', 'R', 0x00DC, 0x00DF, ' ', 'G', 'O', 'T', 'T', '.', ' ', + 0x0417, 0x0414, 0x0420, 0x0410, 0x0412, 0x0421, 0x0422, 0x0412, 0x0423, + 0x0419, 0x0422, 0x0415, '!', ' ', + 'X', '=', '(', '-', 'B', 0x00B1, 'S', 'Q', 'R', 'T', '(', 'B', 0x00B2, + '-', '4', 'A', 'C', ')', ')', '/', '(', '2', 'A', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint32_t casemapped[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'X', '=', '(', '-', 'B', 0x00B1, 'S', 'q', 'r', 't', '(', 'B', 0x00B2, + '-', '4', 'A', 'c', ')', ')', '/', '(', '2', 'A', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint32_t input[] = { 0x0149 }; + static const uint32_t casemapped[] = { 0x02BC, 0x004E }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint32_t input[] = { 0x0390 }; + static const uint32_t casemapped[] = { 0x0399, 0x0308, 0x0301 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint32_t input[] = { 0x0049 }; + static const uint32_t casemapped[] = { 0x0049 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint32_t input[] = { 0x0069 }; + static const uint32_t casemapped[] = { 0x0049 }; + static const uint32_t casemapped_tr[] = { 0x0130 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint32_t input[] = { 0x0130 }; + static const uint32_t casemapped[] = { 0x0130 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint32_t input[] = { 0x0131 }; + static const uint32_t casemapped[] = { 0x0049 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "topkapı" */ + static const uint32_t input[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + static const uint32_t casemapped[] = + { 0x0054, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint32_t input[] = { 0x0068, 0x0065, 0x0069, 0x00DF }; + static const uint32_t casemapped[] = { 0x0048, 0x0065, 0x0069, 0x00DF }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint32_t input[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + static const uint32_t casemapped[] = + { + 0x03A0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03A0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint32_t input[] = { 0x01F0, 0x0323 }; + static const uint32_t casemapped[] = { 0x004A, 0x030C, 0x0323 }; + static const uint32_t casemapped_normalized[] = { 0x004A, 0x0323, 0x030C }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFC, casemapped_normalized, SIZEOF (casemapped_normalized)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-u32-toupper.c b/tests/unicase/test-u32-toupper.c new file mode 100644 index 00000000..dbc1619b --- /dev/null +++ b/tests/unicase/test-u32-toupper.c @@ -0,0 +1,211 @@ +/* Test of uppercase mapping for UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint32_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint32_t *expected, size_t expected_length) +{ + size_t length; + uint32_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u32_toupper (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint32_t *preallocated; + + length = expected_length - 1; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_toupper (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint32_t *preallocated; + + length = expected_length; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_toupper (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint32_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint32_t casemapped[] = + { 'G', 'R', 0x00DC, 0x0053, 0x0053, ' ', 'G', 'O', 'T', 'T', '.', ' ', + 0x0417, 0x0414, 0x0420, 0x0410, 0x0412, 0x0421, 0x0422, 0x0412, 0x0423, + 0x0419, 0x0422, 0x0415, '!', ' ', + 'X', '=', '(', '-', 'B', 0x00B1, 'S', 'Q', 'R', 'T', '(', 'B', 0x00B2, + '-', '4', 'A', 'C', ')', ')', '/', '(', '2', 'A', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint32_t input[] = { 0x0149 }; + static const uint32_t casemapped[] = { 0x02BC, 0x004E }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint32_t input[] = { 0x0390 }; + static const uint32_t casemapped[] = { 0x0399, 0x0308, 0x0301 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint32_t input[] = { 0x0049 }; + static const uint32_t casemapped[] = { 0x0049 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint32_t input[] = { 0x0069 }; + static const uint32_t casemapped[] = { 0x0049 }; + static const uint32_t casemapped_tr[] = { 0x0130 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint32_t input[] = { 0x0130 }; + static const uint32_t casemapped[] = { 0x0130 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint32_t input[] = { 0x0131 }; + static const uint32_t casemapped[] = { 0x0049 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "topkapı" */ + static const uint32_t input[] = + { 0x0074, 0x006F, 0x0070, 0x006B, 0x0061, 0x0070, 0x0131 }; + static const uint32_t casemapped[] = + { 0x0054, 0x004F, 0x0050, 0x004B, 0x0041, 0x0050, 0x0049 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint32_t input[] = { 0x0068, 0x0065, 0x0069, 0x00DF }; + static const uint32_t casemapped[] = { 0x0048, 0x0045, 0x0049, 0x0053, 0x0053 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint32_t input[] = + { + 0x03C0, 0x03B5, 0x03C1, 0x03B9, 0x03C3, 0x03C3, 0x03CC, 0x03C4, + 0x03B5, 0x03C1, 0x03B5, 0x03C2, 0x0020, 0x03C0, 0x03BB, 0x03B7, + 0x03C1, 0x03BF, 0x03C6, 0x03BF, 0x03C1, 0x03AF, 0x03B5, 0x03C2 + }; + static const uint32_t casemapped[] = + { + 0x03A0, 0x0395, 0x03A1, 0x0399, 0x03A3, 0x03A3, 0x038C, 0x03A4, + 0x0395, 0x03A1, 0x0395, 0x03A3, 0x0020, 0x03A0, 0x039B, 0x0397, + 0x03A1, 0x039F, 0x03A6, 0x039F, 0x03A1, 0x038A, 0x0395, 0x03A3 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint32_t input[] = { 0x01F0, 0x0323 }; + static const uint32_t casemapped[] = { 0x004A, 0x030C, 0x0323 }; + static const uint32_t casemapped_normalized[] = { 0x004A, 0x0323, 0x030C }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFC, casemapped_normalized, SIZEOF (casemapped_normalized)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-u8-casecmp.c b/tests/unicase/test-u8-casecmp.c new file mode 100644 index 00000000..dbcc9d76 --- /dev/null +++ b/tests/unicase/test-u8-casecmp.c @@ -0,0 +1,345 @@ +/* Test of case and normalization insensitive comparison of UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint8_t +#include "test-casecmp.h" +#undef UNIT + +static void +test_nonascii (int (*my_casecmp) (const uint8_t *, size_t, const uint8_t *, size_t, const char *, uninorm_t, int *)) +{ + /* Normalization effects. */ + { + static const uint8_t input1[] = { 'H', 0xC3, 0xB6, 'h', 'l', 'e' }; + static const uint8_t input2[] = { 'H', 'O', 0xCC, 0x88, 'h', 'L', 'e' }; + static const uint8_t input3[] = { 'H', 0xC3, 0xB6, 'h', 'l', 'e', 'n' }; + static const uint8_t input4[] = { 'H', 'O', 0xCC, 0x88, 'h', 'L', 'e', 'n' }; + static const uint8_t input5[] = { 'H', 'u', 'r', 'z' }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input1, SIZEOF (input1), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input3, SIZEOF (input3), input4, SIZEOF (input4), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input4, SIZEOF (input4), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input4, SIZEOF (input4), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input5, SIZEOF (input5), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input5, SIZEOF (input5), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint8_t input1[] = { 0xC3, 0x84 }; + static const uint8_t input2[] = { 0x41, 0xCC, 0x88 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint8_t input1[] = { 0xC7, 0x9E }; + static const uint8_t input2[] = { 0x41, 0xCC, 0x88, 0xCC, 0x84 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint8_t input1[] = { 0xE1, 0xBF, 0x81 }; + static const uint8_t input2[] = { 0xC2, 0xA8, 0xCD, 0x82 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEUL */ + static const uint8_t input1[] = { 0xEA, 0xB8, 0x80 }; + static const uint8_t input2[] = { 0xEA, 0xB7, 0xB8, 0xE1, 0x86, 0xAF }; + static const uint8_t input3[] = { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3, 0xE1, 0x86, 0xAF }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEU */ + static const uint8_t input1[] = { 0xEA, 0xB7, 0xB8 }; + static const uint8_t input2[] = { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint8_t input1[] = + { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', ' ', + 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, 0x81, + 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5, + '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, 's', 'q', 'r', 't', '(', + 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + static const uint8_t input2[] = + { 'g', 'r', 0xC3, 0xBC, 0x73, 0x73, ' ', 'g', 'o', 't', 't', '.', ' ', + 0xD0, 0xB7, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, 0x81, + 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5, + '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, 's', 'q', 'r', 't', '(', + 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + static const uint8_t input3[] = + { 'G', 'R', 0xC3, 0x9C, 0x53, 0x53, ' ', 'G', 'O', 'T', 'T', '.', ' ', + 0xD0, 0x97, 0xD0, 0x94, 0xD0, 0xA0, 0xD0, 0x90, 0xD0, 0x92, 0xD0, 0xA1, + 0xD0, 0xA2, 0xD0, 0x92, 0xD0, 0xA3, 0xD0, 0x99, 0xD0, 0xA2, 0xD0, 0x95, + '!', ' ', 'X', '=', '(', '-', 'B', 0xC2, 0xB1, 'S', 'Q', 'R', 'T', '(', + 'B', 0xC2, 0xB2, '-', '4', 'A', 'C', ')', ')', '/', '(', '2', 'A', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint8_t input1[] = { 0xC5, 0x89 }; + static const uint8_t input2[] = { 0xCA, 0xBC, 0x6E }; + static const uint8_t input3[] = { 0xCA, 0xBC, 0x4E }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint8_t input1[] = { 0xCE, 0x90 }; + static const uint8_t input2[] = { 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint8_t input[] = { 0x49 }; + static const uint8_t casefolded[] = { 0x69 }; + static const uint8_t casefolded_tr[] = { 0xC4, 0xB1 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint8_t input[] = { 0x69 }; + static const uint8_t casefolded[] = { 0x49 }; + static const uint8_t casefolded_tr[] = { 0xC4, 0xB0 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint8_t input[] = { 0xC4, 0xB0 }; + static const uint8_t casefolded[] = { 0x69, 0xCC, 0x87 }; + static const uint8_t casefolded_tr[] = { 0x69 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint8_t input[] = { 0xC4, 0xB1 }; + static const uint8_t casefolded[] = { 0x49 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 1); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* "topkapı" */ + static const uint8_t input[] = + { 0x54, 0x4F, 0x50, 0x4B, 0x41, 0x50, 0x49 }; + static const uint8_t casefolded[] = + { 0x74, 0x6F, 0x70, 0x6B, 0x61, 0x70, 0xC4, 0xB1 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint8_t input1[] = { 0x68, 0x65, 0x69, 0xC3, 0x9F }; + static const uint8_t input2[] = { 0x68, 0x65, 0x69, 0x73, 0x73 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint8_t input1[] = + { + 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x83, + 0xCF, 0x8C, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x82, + ' ', 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, + 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xAF, 0xCE, 0xB5, 0xCF, 0x82 + }; + static const uint8_t input2[] = + { + 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x83, + 0xCF, 0x8C, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x83, + ' ', 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, + 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xAF, 0xCE, 0xB5, 0xCF, 0x83 + }; + static const uint8_t input3[] = + { + 0xCE, 0xA0, 0xCE, 0x95, 0xCE, 0xA1, 0xCE, 0x99, 0xCE, 0xA3, 0xCE, 0xA3, + 0xCE, 0x8C, 0xCE, 0xA4, 0xCE, 0x95, 0xCE, 0xA1, 0xCE, 0x95, 0xCE, 0xA3, + ' ', 0xCE, 0xA0, 0xCE, 0x9B, 0xCE, 0x97, 0xCE, 0xA1, 0xCE, 0x9F, + 0xCE, 0xA6, 0xCE, 0x9F, 0xCE, 0xA1, 0xCE, 0x8A, 0xCE, 0x95, 0xCE, 0xA3 + }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint8_t input[] = { 0xC7, 0xB0, 0xCC, 0xA3 }; + static const uint8_t casefolded[] = { 0x6A, 0xCC, 0x8C, 0xCC, 0xA3 }; + static const uint8_t casefolded_decomposed[] = { 0x6A, 0xCC, 0xA3, 0xCC, 0x8C }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_decomposed, SIZEOF (casefolded_decomposed), NULL, NULL, &cmp) == 0); + ASSERT (cmp != 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_decomposed, SIZEOF (casefolded_decomposed), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } +} + +int +main () +{ + test_ascii (u8_casecmp, UNINORM_NFD); + test_nonascii (u8_casecmp); + + return 0; +} diff --git a/tests/unicase/test-u8-casecoll.c b/tests/unicase/test-u8-casecoll.c new file mode 100644 index 00000000..e1b0c57c --- /dev/null +++ b/tests/unicase/test-u8-casecoll.c @@ -0,0 +1,54 @@ +/* Test of locale dependent, case and normalization insensitive comparison of + UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint8_t +#include "test-casecmp.h" +#undef UNIT + +int +main () +{ + /* In the "C" locale, strcoll is equivalent to strcmp, therefore u8_casecoll + on ASCII strings should behave like strcasecmp. */ + test_ascii (u8_casecoll, UNINORM_NFC); + + return 0; +} diff --git a/tests/unicase/test-u8-casefold.c b/tests/unicase/test-u8-casefold.c new file mode 100644 index 00000000..225b9979 --- /dev/null +++ b/tests/unicase/test-u8-casefold.c @@ -0,0 +1,220 @@ +/* Test of casefolding mapping for UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint8_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint8_t *expected, size_t expected_length) +{ + size_t length; + uint8_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u8_casefold (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint8_t *preallocated; + + length = expected_length - 1; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_casefold (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint8_t *preallocated; + + length = expected_length; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_casefold (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint8_t input[] = + { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', ' ', + 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, 0x81, + 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5, + '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, 's', 'q', 'r', 't', '(', + 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + static const uint8_t casefolded[] = + { 'g', 'r', 0xC3, 0xBC, 0x73, 0x73, ' ', 'g', 'o', 't', 't', '.', ' ', + 0xD0, 0xB7, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, 0x81, + 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5, + '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, 's', 'q', 'r', 't', '(', + 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint8_t input[] = { 0xC5, 0x89 }; + static const uint8_t casefolded[] = { 0xCA, 0xBC, 0x6E }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint8_t input[] = { 0xCE, 0x90 }; + static const uint8_t casefolded[] = { 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint8_t input[] = { 0x49 }; + static const uint8_t casefolded[] = { 0x69 }; + static const uint8_t casefolded_tr[] = { 0xC4, 0xB1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded_tr, SIZEOF (casefolded_tr)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint8_t input[] = { 0x69 }; + static const uint8_t casefolded[] = { 0x69 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded, SIZEOF (casefolded)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint8_t input[] = { 0xC4, 0xB0 }; + static const uint8_t casefolded[] = { 0x69, 0xCC, 0x87 }; + static const uint8_t casefolded_tr[] = { 0x69 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded_tr, SIZEOF (casefolded_tr)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint8_t input[] = { 0xC4, 0xB1 }; + static const uint8_t casefolded[] = { 0xC4, 0xB1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded, SIZEOF (casefolded)) == 0); + } + { /* "topkapı" */ + static const uint8_t input[] = + { 0x74, 0x6F, 0x70, 0x6B, 0x61, 0x70, 0xC4, 0xB1 }; + static const uint8_t casefolded[] = + { 0x74, 0x6F, 0x70, 0x6B, 0x61, 0x70, 0xC4, 0xB1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint8_t input[] = { 0x68, 0x65, 0x69, 0xC3, 0x9F }; + static const uint8_t casefolded[] = { 0x68, 0x65, 0x69, 0x73, 0x73 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint8_t input[] = + { + 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x83, + 0xCF, 0x8C, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x82, + ' ', 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, + 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xAF, 0xCE, 0xB5, 0xCF, 0x82 + }; + static const uint8_t casefolded[] = + { + 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x83, + 0xCF, 0x8C, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x83, + ' ', 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, + 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xAF, 0xCE, 0xB5, 0xCF, 0x83 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint8_t input[] = { 0xC7, 0xB0, 0xCC, 0xA3 }; + static const uint8_t casefolded[] = { 0x6A, 0xCC, 0x8C, 0xCC, 0xA3 }; + static const uint8_t casefolded_decomposed[] = { 0x6A, 0xCC, 0xA3, 0xCC, 0x8C }; + static const uint8_t casefolded_normalized[] = { 0xC7, 0xB0, 0xCC, 0xA3 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casefolded, SIZEOF (casefolded)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFD, casefolded_decomposed, SIZEOF (casefolded_decomposed)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFC, casefolded_normalized, SIZEOF (casefolded_normalized)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-u8-is-cased.c b/tests/unicase/test-u8-is-cased.c new file mode 100644 index 00000000..984f81b6 --- /dev/null +++ b/tests/unicase/test-u8-is-cased.c @@ -0,0 +1,51 @@ +/* Test of test whether case matters for an UTF-8 string. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint8_t +#include "test-is-cased.h" +#undef UNIT + +int +main () +{ + test_ascii (u8_is_cased); + + return 0; +} diff --git a/tests/unicase/test-u8-is-casefolded.c b/tests/unicase/test-u8-is-casefolded.c new file mode 100644 index 00000000..b727f6bb --- /dev/null +++ b/tests/unicase/test-u8-is-casefolded.c @@ -0,0 +1,65 @@ +/* Test of test whether an UTF-8 string is already case-folded. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint8_t +#include "test-is-casefolded.h" +#undef UNIT + +static void +test_nonascii (int (*my_is) (const uint8_t *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.1.0. */ + { + static const uint8_t input[] = { 0xC3, 0x9F }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } +} + +int +main () +{ + test_ascii (u8_is_casefolded); + test_nonascii (u8_is_casefolded); + + return 0; +} diff --git a/tests/unicase/test-u8-is-lowercase.c b/tests/unicase/test-u8-is-lowercase.c new file mode 100644 index 00000000..230e77cf --- /dev/null +++ b/tests/unicase/test-u8-is-lowercase.c @@ -0,0 +1,93 @@ +/* Test of test whether an UTF-8 string is entirely lower case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint8_t +#include "test-is-lowercase.h" +#undef UNIT + +static void +test_nonascii (int (*my_is) (const uint8_t *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.1.0. */ + { + static const uint8_t input[] = { 0xE2, 0x93, 0x97 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint8_t input[] = { 0xE2, 0x92, 0xBD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const uint8_t input[] = { 0xCA, 0xB0 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint8_t input[] = { 0xE1, 0x80, 0xB4 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint8_t input[] = { 0xCA, 0xBD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } +} + +int +main () +{ + test_ascii (u8_is_lowercase); + test_nonascii (u8_is_lowercase); + + return 0; +} diff --git a/tests/unicase/test-u8-is-titlecase.c b/tests/unicase/test-u8-is-titlecase.c new file mode 100644 index 00000000..fb803ea8 --- /dev/null +++ b/tests/unicase/test-u8-is-titlecase.c @@ -0,0 +1,51 @@ +/* Test of test whether an UTF-8 string is entirely title case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint8_t +#include "test-is-titlecase.h" +#undef UNIT + +int +main () +{ + test_ascii (u8_is_titlecase); + + return 0; +} diff --git a/tests/unicase/test-u8-is-uppercase.c b/tests/unicase/test-u8-is-uppercase.c new file mode 100644 index 00000000..c66bf393 --- /dev/null +++ b/tests/unicase/test-u8-is-uppercase.c @@ -0,0 +1,93 @@ +/* Test of test whether an UTF-8 string is entirely upper case. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT uint8_t +#include "test-is-uppercase.h" +#undef UNIT + +static void +test_nonascii (int (*my_is) (const uint8_t *, size_t, const char *, bool *)) +{ + /* Test cases from Unicode 5.1.0. */ + { + static const uint8_t input[] = { 0xE2, 0x93, 0x97 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == false); + } + { + static const uint8_t input[] = { 0xE2, 0x92, 0xBD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint8_t input[] = { 0xCA, 0xB0 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint8_t input[] = { 0xE1, 0x80, 0xB4 }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } + { + static const uint8_t input[] = { 0xCA, 0xBD }; + bool result; + + ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); + ASSERT (result == true); + } +} + +int +main () +{ + test_ascii (u8_is_uppercase); + test_nonascii (u8_is_uppercase); + + return 0; +} diff --git a/tests/unicase/test-u8-tolower.c b/tests/unicase/test-u8-tolower.c new file mode 100644 index 00000000..6c0a5df6 --- /dev/null +++ b/tests/unicase/test-u8-tolower.c @@ -0,0 +1,257 @@ +/* Test of lowercase mapping for UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint8_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint8_t *expected, size_t expected_length) +{ + size_t length; + uint8_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u8_tolower (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint8_t *preallocated; + + length = expected_length - 1; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_tolower (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint8_t *preallocated; + + length = expected_length; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_tolower (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint8_t input[] = + { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', ' ', + 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, 0x81, + 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5, + '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, 's', 'q', 'r', 't', '(', + 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + static const uint8_t casemapped[] = + { 'g', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'g', 'o', 't', 't', '.', ' ', + 0xD0, 0xB7, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, 0x81, + 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5, + '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, 's', 'q', 'r', 't', '(', + 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint8_t input[] = { 0x49 }; + static const uint8_t casemapped[] = { 0x69 }; + static const uint8_t casemapped_tr[] = { 0xC4, 0xB1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint8_t input[] = { 0x69 }; + static const uint8_t casemapped[] = { 0x69 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint8_t input[] = { 0xC4, 0xB0 }; + static const uint8_t casemapped[] = { 0x69, 0xCC, 0x87 }; + static const uint8_t casemapped_tr[] = { 0x69 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint8_t input[] = { 0xC4, 0xB1}; + static const uint8_t casemapped[] = { 0xC4, 0xB1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "TOPKAPI" */ + static const uint8_t input[] = + { 0x54, 0x4F, 0x50, 0x4B, 0x41, 0x50, 0x49 }; + static const uint8_t casemapped[] = + { 0x74, 0x6F, 0x70, 0x6B, 0x61, 0x70, 0xC4, 0xB1 }; + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "HEIß" */ + static const uint8_t input[] = { 0x48, 0x45, 0x49, 0xC3, 0x9F }; + static const uint8_t casemapped[] = { 0x68, 0x65, 0x69, 0xC3, 0x9F }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "ΠΕΡΙΣΣΌΤΕΡΕΣ ΠΛΗΡΟΦΟΡΊΕΣ" */ + static const uint8_t input[] = + { + 0xCE, 0xA0, 0xCE, 0x95, 0xCE, 0xA1, 0xCE, 0x99, 0xCE, 0xA3, 0xCE, 0xA3, + 0xCE, 0x8C, 0xCE, 0xA4, 0xCE, 0x95, 0xCE, 0xA1, 0xCE, 0x95, 0xCE, 0xA3, + ' ', 0xCE, 0xA0, 0xCE, 0x9B, 0xCE, 0x97, 0xCE, 0xA1, 0xCE, 0x9F, + 0xCE, 0xA6, 0xCE, 0x9F, 0xCE, 0xA1, 0xCE, 0x8A, 0xCE, 0x95, 0xCE, 0xA3 + }; + static const uint8_t casemapped[] = + { + 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x83, + 0xCF, 0x8C, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x82, + ' ', 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, + 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xAF, 0xCE, 0xB5, 0xCF, 0x82 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "Σ" -> "σ" */ + static const uint8_t input[] = { 0xCE, 0xA3 }; + static const uint8_t casemapped[] = { 0xCF, 0x83 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ" -> "ας" */ + static const uint8_t input[] = { 0xCE, 0x91, 0xCE, 0xA3 }; + static const uint8_t casemapped[] = { 0xCE, 0xB1, 0xCF, 0x82 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + /* It's a final sigma only if not followed by a case-ignorable sequence and + then a cased letter. Note that U+0345 and U+037A are simultaneously + case-ignorable and cased (which is a bit paradoxical). */ + { /* "ΑΣΑ" -> "ασα" */ + static const uint8_t input[] = { 0xCE, 0x91, 0xCE, 0xA3, 0xCE, 0x91 }; + static const uint8_t casemapped[] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xB1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:" -> "ας:" */ + static const uint8_t input[] = { 0xCE, 0x91, 0xCE, 0xA3, 0x3A }; + static const uint8_t casemapped[] = { 0xCE, 0xB1, 0xCF, 0x82, 0x3A }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:Α" -> "ασ:α" */ + static const uint8_t input[] = { 0xCE, 0x91, 0xCE, 0xA3, 0x3A, 0xCE, 0x91 }; + static const uint8_t casemapped[] = { 0xCE, 0xB1, 0xCF, 0x83, 0x3A, 0xCE, 0xB1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:ͺ" -> "ασ:ͺ" */ + static const uint8_t input[] = { 0xCE, 0x91, 0xCE, 0xA3, 0x3A, 0xCD, 0xBA }; + static const uint8_t casemapped[] = { 0xCE, 0xB1, 0xCF, 0x83, 0x3A, 0xCD, 0xBA }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ΑΣ:ͺ " -> "ασ:ͺ " */ + static const uint8_t input[] = { 0xCE, 0x91, 0xCE, 0xA3, 0x3A, 0xCD, 0xBA, 0x20 }; + static const uint8_t casemapped[] = { 0xCE, 0xB1, 0xCF, 0x83, 0x3A, 0xCD, 0xBA, 0x20 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + /* It's a final sigma only if preceded by a case-ignorable sequence and + a cased letter before it. Note that U+0345 and U+037A are simultaneously + case-ignorable and cased (which is a bit paradoxical). */ + { /* ":Σ" -> ":σ" */ + static const uint8_t input[] = { 0x3A, 0xCE, 0xA3 }; + static const uint8_t casemapped[] = { 0x3A, 0xCF, 0x83 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "Α:Σ" -> "α:ς" */ + static const uint8_t input[] = { 0xCE, 0x91, 0x3A, 0xCE, 0xA3 }; + static const uint8_t casemapped[] = { 0xCE, 0xB1, 0x3A, 0xCF, 0x82 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "ͺ:Σ" -> "ͺ:ς" */ + static const uint8_t input[] = { 0xCD, 0xBA, 0x3A, 0xCE, 0xA3 }; + static const uint8_t casemapped[] = { 0xCD, 0xBA, 0x3A, 0xCF, 0x82 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* " ͺ:Σ" -> " ͺ:ς" */ + static const uint8_t input[] = { 0x20, 0xCD, 0xBA, 0x3A, 0xCE, 0xA3 }; + static const uint8_t casemapped[] = { 0x20, 0xCD, 0xBA, 0x3A, 0xCF, 0x82 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-u8-totitle.c b/tests/unicase/test-u8-totitle.c new file mode 100644 index 00000000..c2506ac5 --- /dev/null +++ b/tests/unicase/test-u8-totitle.c @@ -0,0 +1,217 @@ +/* Test of titlecase mapping for UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint8_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint8_t *expected, size_t expected_length) +{ + size_t length; + uint8_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u8_totitle (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint8_t *preallocated; + + length = expected_length - 1; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_totitle (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint8_t *preallocated; + + length = expected_length; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_totitle (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "GRÜß GOTT. ЗДРАВСТВУЙТЕ! X=(-B±SQRT(B²-4AC))/(2A) 日本語,中文,한글" */ + static const uint8_t input[] = + { 'G', 'R', 0xC3, 0x9C, 0xC3, 0x9F, ' ', 'G', 'O', 'T', 'T', '.', ' ', + 0xD0, 0x97, 0xD0, 0x94, 0xD0, 0xA0, 0xD0, 0x90, 0xD0, 0x92, 0xD0, 0xA1, + 0xD0, 0xA2, 0xD0, 0x92, 0xD0, 0xA3, 0xD0, 0x99, 0xD0, 0xA2, 0xD0, 0x95, + '!', ' ', 'X', '=', '(', '-', 'B', 0xC2, 0xB1, 'S', 'Q', 'R', 'T', '(', + 'B', 0xC2, 0xB2, '-', '4', 'A', 'C', ')', ')', '/', '(', '2', 'A', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + static const uint8_t casemapped[] = + { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', ' ', + 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, 0x81, + 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5, + '!', ' ', 'X', '=', '(', '-', 'B', 0xC2, 0xB1, 'S', 'q', 'r', 't', '(', + 'B', 0xC2, 0xB2, '-', '4', 'A', 'c', ')', ')', '/', '(', '2', 'A', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint8_t input[] = { 0xC5, 0x89 }; + static const uint8_t casemapped[] = { 0xCA, 0xBC, 0x4E }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint8_t input[] = { 0xCE, 0x90 }; + static const uint8_t casemapped[] = { 0xCE, 0x99, 0xCC, 0x88, 0xCC, 0x81 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint8_t input[] = { 0x49 }; + static const uint8_t casemapped[] = { 0x49 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint8_t input[] = { 0x69 }; + static const uint8_t casemapped[] = { 0x49 }; + static const uint8_t casemapped_tr[] = { 0xC4, 0xB0 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint8_t input[] = { 0xC4, 0xB0 }; + static const uint8_t casemapped[] = { 0xC4, 0xB0 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint8_t input[] = { 0xC4, 0xB1 }; + static const uint8_t casemapped[] = { 0x49 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "topkapı" */ + static const uint8_t input[] = + { 0x74, 0x6F, 0x70, 0x6B, 0x61, 0x70, 0xC4, 0xB1 }; + static const uint8_t casemapped[] = + { 0x54, 0x6F, 0x70, 0x6B, 0x61, 0x70, 0xC4, 0xB1 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint8_t input[] = { 0x68, 0x65, 0x69, 0xC3, 0x9F }; + static const uint8_t casemapped[] = { 0x48, 0x65, 0x69, 0xC3, 0x9F }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint8_t input[] = + { + 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x83, + 0xCF, 0x8C, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x82, + ' ', 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, + 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xAF, 0xCE, 0xB5, 0xCF, 0x82 + }; + static const uint8_t casemapped[] = + { + 0xCE, 0xA0, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x83, + 0xCF, 0x8C, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x82, + ' ', 0xCE, 0xA0, 0xCE, 0xBB, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, + 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xAF, 0xCE, 0xB5, 0xCF, 0x82 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint8_t input[] = { 0xC7, 0xB0, 0xCC, 0xA3 }; + static const uint8_t casemapped[] = { 0x4A, 0xCC, 0x8C, 0xCC, 0xA3 }; + static const uint8_t casemapped_normalized[] = { 0x4A, 0xCC, 0xA3, 0xCC, 0x8C }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFC, casemapped_normalized, SIZEOF (casemapped_normalized)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-u8-toupper.c b/tests/unicase/test-u8-toupper.c new file mode 100644 index 00000000..41e536bd --- /dev/null +++ b/tests/unicase/test-u8-toupper.c @@ -0,0 +1,217 @@ +/* Test of uppercase mapping for UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include + +#include "unistr.h" +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint8_t *input, size_t input_length, + const char *iso639_language, uninorm_t nf, + const uint8_t *expected, size_t expected_length) +{ + size_t length; + uint8_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u8_toupper (input, input_length, iso639_language, nf, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint8_t *preallocated; + + length = expected_length - 1; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_toupper (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint8_t *preallocated; + + length = expected_length; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_toupper (input, input_length, iso639_language, nf, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +int +main () +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, NULL, NULL, 0) == 0); + ASSERT (check (NULL, 0, NULL, UNINORM_NFC, NULL, 0) == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint8_t input[] = + { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', ' ', + 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, 0x81, + 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5, + '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, 's', 'q', 'r', 't', '(', + 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + static const uint8_t casemapped[] = + { 'G', 'R', 0xC3, 0x9C, 0x53, 0x53, ' ', 'G', 'O', 'T', 'T', '.', ' ', + 0xD0, 0x97, 0xD0, 0x94, 0xD0, 0xA0, 0xD0, 0x90, 0xD0, 0x92, 0xD0, 0xA1, + 0xD0, 0xA2, 0xD0, 0x92, 0xD0, 0xA3, 0xD0, 0x99, 0xD0, 0xA2, 0xD0, 0x95, + '!', ' ', 'X', '=', '(', '-', 'B', 0xC2, 0xB1, 'S', 'Q', 'R', 'T', '(', + 'B', 0xC2, 0xB2, '-', '4', 'A', 'C', ')', ')', '/', '(', '2', 'A', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const uint8_t input[] = { 0xC5, 0x89 }; + static const uint8_t casemapped[] = { 0xCA, 0xBC, 0x4E }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const uint8_t input[] = { 0xCE, 0x90 }; + static const uint8_t casemapped[] = { 0xCE, 0x99, 0xCC, 0x88, 0xCC, 0x81 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const uint8_t input[] = { 0x49 }; + static const uint8_t casemapped[] = { 0x49 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER I */ + static const uint8_t input[] = { 0x69 }; + static const uint8_t casemapped[] = { 0x49 }; + static const uint8_t casemapped_tr[] = { 0xC4, 0xB0 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped_tr, SIZEOF (casemapped_tr)) == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const uint8_t input[] = { 0xC4, 0xB0 }; + static const uint8_t casemapped[] = { 0xC4, 0xB0 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const uint8_t input[] = { 0xC4, 0xB1 }; + static const uint8_t casemapped[] = { 0x49 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + { /* "topkapı" */ + static const uint8_t input[] = + { 0x74, 0x6F, 0x70, 0x6B, 0x61, 0x70, 0xC4, 0xB1 }; + static const uint8_t casemapped[] = + { 0x54, 0x4F, 0x50, 0x4B, 0x41, 0x50, 0x49 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), "tr", NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const uint8_t input[] = { 0x68, 0x65, 0x69, 0xC3, 0x9F }; + static const uint8_t casemapped[] = { 0x48, 0x45, 0x49, 0x53, 0x53 }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const uint8_t input[] = + { + 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x83, + 0xCF, 0x8C, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x82, + ' ', 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, + 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xAF, 0xCE, 0xB5, 0xCF, 0x82 + }; + static const uint8_t casemapped[] = + { + 0xCE, 0xA0, 0xCE, 0x95, 0xCE, 0xA1, 0xCE, 0x99, 0xCE, 0xA3, 0xCE, 0xA3, + 0xCE, 0x8C, 0xCE, 0xA4, 0xCE, 0x95, 0xCE, 0xA1, 0xCE, 0x95, 0xCE, 0xA3, + ' ', 0xCE, 0xA0, 0xCE, 0x9B, 0xCE, 0x97, 0xCE, 0xA1, 0xCE, 0x9F, + 0xCE, 0xA6, 0xCE, 0x9F, 0xCE, 0xA1, 0xCE, 0x8A, 0xCE, 0x95, 0xCE, 0xA3 + }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const uint8_t input[] = { 0xC7, 0xB0, 0xCC, 0xA3 }; + static const uint8_t casemapped[] = { 0x4A, 0xCC, 0x8C, 0xCC, 0xA3 }; + static const uint8_t casemapped_normalized[] = { 0x4A, 0xCC, 0xA3, 0xCC, 0x8C }; + ASSERT (check (input, SIZEOF (input), NULL, NULL, casemapped, SIZEOF (casemapped)) == 0); + ASSERT (check (input, SIZEOF (input), NULL, UNINORM_NFC, casemapped_normalized, SIZEOF (casemapped_normalized)) == 0); + } + + return 0; +} diff --git a/tests/unicase/test-uc_tolower.c b/tests/unicase/test-uc_tolower.c new file mode 100644 index 00000000..302e26b8 --- /dev/null +++ b/tests/unicase/test-uc_tolower.c @@ -0,0 +1,1047 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character mapping functions. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Generated automatically by gen-case.c for Unicode 5.1.0. */ + +#include "test-mapping-part1.h" + + { 0x0041, 0x0061 }, + { 0x0042, 0x0062 }, + { 0x0043, 0x0063 }, + { 0x0044, 0x0064 }, + { 0x0045, 0x0065 }, + { 0x0046, 0x0066 }, + { 0x0047, 0x0067 }, + { 0x0048, 0x0068 }, + { 0x0049, 0x0069 }, + { 0x004A, 0x006A }, + { 0x004B, 0x006B }, + { 0x004C, 0x006C }, + { 0x004D, 0x006D }, + { 0x004E, 0x006E }, + { 0x004F, 0x006F }, + { 0x0050, 0x0070 }, + { 0x0051, 0x0071 }, + { 0x0052, 0x0072 }, + { 0x0053, 0x0073 }, + { 0x0054, 0x0074 }, + { 0x0055, 0x0075 }, + { 0x0056, 0x0076 }, + { 0x0057, 0x0077 }, + { 0x0058, 0x0078 }, + { 0x0059, 0x0079 }, + { 0x005A, 0x007A }, + { 0x00C0, 0x00E0 }, + { 0x00C1, 0x00E1 }, + { 0x00C2, 0x00E2 }, + { 0x00C3, 0x00E3 }, + { 0x00C4, 0x00E4 }, + { 0x00C5, 0x00E5 }, + { 0x00C6, 0x00E6 }, + { 0x00C7, 0x00E7 }, + { 0x00C8, 0x00E8 }, + { 0x00C9, 0x00E9 }, + { 0x00CA, 0x00EA }, + { 0x00CB, 0x00EB }, + { 0x00CC, 0x00EC }, + { 0x00CD, 0x00ED }, + { 0x00CE, 0x00EE }, + { 0x00CF, 0x00EF }, + { 0x00D0, 0x00F0 }, + { 0x00D1, 0x00F1 }, + { 0x00D2, 0x00F2 }, + { 0x00D3, 0x00F3 }, + { 0x00D4, 0x00F4 }, + { 0x00D5, 0x00F5 }, + { 0x00D6, 0x00F6 }, + { 0x00D8, 0x00F8 }, + { 0x00D9, 0x00F9 }, + { 0x00DA, 0x00FA }, + { 0x00DB, 0x00FB }, + { 0x00DC, 0x00FC }, + { 0x00DD, 0x00FD }, + { 0x00DE, 0x00FE }, + { 0x0100, 0x0101 }, + { 0x0102, 0x0103 }, + { 0x0104, 0x0105 }, + { 0x0106, 0x0107 }, + { 0x0108, 0x0109 }, + { 0x010A, 0x010B }, + { 0x010C, 0x010D }, + { 0x010E, 0x010F }, + { 0x0110, 0x0111 }, + { 0x0112, 0x0113 }, + { 0x0114, 0x0115 }, + { 0x0116, 0x0117 }, + { 0x0118, 0x0119 }, + { 0x011A, 0x011B }, + { 0x011C, 0x011D }, + { 0x011E, 0x011F }, + { 0x0120, 0x0121 }, + { 0x0122, 0x0123 }, + { 0x0124, 0x0125 }, + { 0x0126, 0x0127 }, + { 0x0128, 0x0129 }, + { 0x012A, 0x012B }, + { 0x012C, 0x012D }, + { 0x012E, 0x012F }, + { 0x0130, 0x0069 }, + { 0x0132, 0x0133 }, + { 0x0134, 0x0135 }, + { 0x0136, 0x0137 }, + { 0x0139, 0x013A }, + { 0x013B, 0x013C }, + { 0x013D, 0x013E }, + { 0x013F, 0x0140 }, + { 0x0141, 0x0142 }, + { 0x0143, 0x0144 }, + { 0x0145, 0x0146 }, + { 0x0147, 0x0148 }, + { 0x014A, 0x014B }, + { 0x014C, 0x014D }, + { 0x014E, 0x014F }, + { 0x0150, 0x0151 }, + { 0x0152, 0x0153 }, + { 0x0154, 0x0155 }, + { 0x0156, 0x0157 }, + { 0x0158, 0x0159 }, + { 0x015A, 0x015B }, + { 0x015C, 0x015D }, + { 0x015E, 0x015F }, + { 0x0160, 0x0161 }, + { 0x0162, 0x0163 }, + { 0x0164, 0x0165 }, + { 0x0166, 0x0167 }, + { 0x0168, 0x0169 }, + { 0x016A, 0x016B }, + { 0x016C, 0x016D }, + { 0x016E, 0x016F }, + { 0x0170, 0x0171 }, + { 0x0172, 0x0173 }, + { 0x0174, 0x0175 }, + { 0x0176, 0x0177 }, + { 0x0178, 0x00FF }, + { 0x0179, 0x017A }, + { 0x017B, 0x017C }, + { 0x017D, 0x017E }, + { 0x0181, 0x0253 }, + { 0x0182, 0x0183 }, + { 0x0184, 0x0185 }, + { 0x0186, 0x0254 }, + { 0x0187, 0x0188 }, + { 0x0189, 0x0256 }, + { 0x018A, 0x0257 }, + { 0x018B, 0x018C }, + { 0x018E, 0x01DD }, + { 0x018F, 0x0259 }, + { 0x0190, 0x025B }, + { 0x0191, 0x0192 }, + { 0x0193, 0x0260 }, + { 0x0194, 0x0263 }, + { 0x0196, 0x0269 }, + { 0x0197, 0x0268 }, + { 0x0198, 0x0199 }, + { 0x019C, 0x026F }, + { 0x019D, 0x0272 }, + { 0x019F, 0x0275 }, + { 0x01A0, 0x01A1 }, + { 0x01A2, 0x01A3 }, + { 0x01A4, 0x01A5 }, + { 0x01A6, 0x0280 }, + { 0x01A7, 0x01A8 }, + { 0x01A9, 0x0283 }, + { 0x01AC, 0x01AD }, + { 0x01AE, 0x0288 }, + { 0x01AF, 0x01B0 }, + { 0x01B1, 0x028A }, + { 0x01B2, 0x028B }, + { 0x01B3, 0x01B4 }, + { 0x01B5, 0x01B6 }, + { 0x01B7, 0x0292 }, + { 0x01B8, 0x01B9 }, + { 0x01BC, 0x01BD }, + { 0x01C4, 0x01C6 }, + { 0x01C5, 0x01C6 }, + { 0x01C7, 0x01C9 }, + { 0x01C8, 0x01C9 }, + { 0x01CA, 0x01CC }, + { 0x01CB, 0x01CC }, + { 0x01CD, 0x01CE }, + { 0x01CF, 0x01D0 }, + { 0x01D1, 0x01D2 }, + { 0x01D3, 0x01D4 }, + { 0x01D5, 0x01D6 }, + { 0x01D7, 0x01D8 }, + { 0x01D9, 0x01DA }, + { 0x01DB, 0x01DC }, + { 0x01DE, 0x01DF }, + { 0x01E0, 0x01E1 }, + { 0x01E2, 0x01E3 }, + { 0x01E4, 0x01E5 }, + { 0x01E6, 0x01E7 }, + { 0x01E8, 0x01E9 }, + { 0x01EA, 0x01EB }, + { 0x01EC, 0x01ED }, + { 0x01EE, 0x01EF }, + { 0x01F1, 0x01F3 }, + { 0x01F2, 0x01F3 }, + { 0x01F4, 0x01F5 }, + { 0x01F6, 0x0195 }, + { 0x01F7, 0x01BF }, + { 0x01F8, 0x01F9 }, + { 0x01FA, 0x01FB }, + { 0x01FC, 0x01FD }, + { 0x01FE, 0x01FF }, + { 0x0200, 0x0201 }, + { 0x0202, 0x0203 }, + { 0x0204, 0x0205 }, + { 0x0206, 0x0207 }, + { 0x0208, 0x0209 }, + { 0x020A, 0x020B }, + { 0x020C, 0x020D }, + { 0x020E, 0x020F }, + { 0x0210, 0x0211 }, + { 0x0212, 0x0213 }, + { 0x0214, 0x0215 }, + { 0x0216, 0x0217 }, + { 0x0218, 0x0219 }, + { 0x021A, 0x021B }, + { 0x021C, 0x021D }, + { 0x021E, 0x021F }, + { 0x0220, 0x019E }, + { 0x0222, 0x0223 }, + { 0x0224, 0x0225 }, + { 0x0226, 0x0227 }, + { 0x0228, 0x0229 }, + { 0x022A, 0x022B }, + { 0x022C, 0x022D }, + { 0x022E, 0x022F }, + { 0x0230, 0x0231 }, + { 0x0232, 0x0233 }, + { 0x023A, 0x2C65 }, + { 0x023B, 0x023C }, + { 0x023D, 0x019A }, + { 0x023E, 0x2C66 }, + { 0x0241, 0x0242 }, + { 0x0243, 0x0180 }, + { 0x0244, 0x0289 }, + { 0x0245, 0x028C }, + { 0x0246, 0x0247 }, + { 0x0248, 0x0249 }, + { 0x024A, 0x024B }, + { 0x024C, 0x024D }, + { 0x024E, 0x024F }, + { 0x0370, 0x0371 }, + { 0x0372, 0x0373 }, + { 0x0376, 0x0377 }, + { 0x0386, 0x03AC }, + { 0x0388, 0x03AD }, + { 0x0389, 0x03AE }, + { 0x038A, 0x03AF }, + { 0x038C, 0x03CC }, + { 0x038E, 0x03CD }, + { 0x038F, 0x03CE }, + { 0x0391, 0x03B1 }, + { 0x0392, 0x03B2 }, + { 0x0393, 0x03B3 }, + { 0x0394, 0x03B4 }, + { 0x0395, 0x03B5 }, + { 0x0396, 0x03B6 }, + { 0x0397, 0x03B7 }, + { 0x0398, 0x03B8 }, + { 0x0399, 0x03B9 }, + { 0x039A, 0x03BA }, + { 0x039B, 0x03BB }, + { 0x039C, 0x03BC }, + { 0x039D, 0x03BD }, + { 0x039E, 0x03BE }, + { 0x039F, 0x03BF }, + { 0x03A0, 0x03C0 }, + { 0x03A1, 0x03C1 }, + { 0x03A3, 0x03C3 }, + { 0x03A4, 0x03C4 }, + { 0x03A5, 0x03C5 }, + { 0x03A6, 0x03C6 }, + { 0x03A7, 0x03C7 }, + { 0x03A8, 0x03C8 }, + { 0x03A9, 0x03C9 }, + { 0x03AA, 0x03CA }, + { 0x03AB, 0x03CB }, + { 0x03CF, 0x03D7 }, + { 0x03D8, 0x03D9 }, + { 0x03DA, 0x03DB }, + { 0x03DC, 0x03DD }, + { 0x03DE, 0x03DF }, + { 0x03E0, 0x03E1 }, + { 0x03E2, 0x03E3 }, + { 0x03E4, 0x03E5 }, + { 0x03E6, 0x03E7 }, + { 0x03E8, 0x03E9 }, + { 0x03EA, 0x03EB }, + { 0x03EC, 0x03ED }, + { 0x03EE, 0x03EF }, + { 0x03F4, 0x03B8 }, + { 0x03F7, 0x03F8 }, + { 0x03F9, 0x03F2 }, + { 0x03FA, 0x03FB }, + { 0x03FD, 0x037B }, + { 0x03FE, 0x037C }, + { 0x03FF, 0x037D }, + { 0x0400, 0x0450 }, + { 0x0401, 0x0451 }, + { 0x0402, 0x0452 }, + { 0x0403, 0x0453 }, + { 0x0404, 0x0454 }, + { 0x0405, 0x0455 }, + { 0x0406, 0x0456 }, + { 0x0407, 0x0457 }, + { 0x0408, 0x0458 }, + { 0x0409, 0x0459 }, + { 0x040A, 0x045A }, + { 0x040B, 0x045B }, + { 0x040C, 0x045C }, + { 0x040D, 0x045D }, + { 0x040E, 0x045E }, + { 0x040F, 0x045F }, + { 0x0410, 0x0430 }, + { 0x0411, 0x0431 }, + { 0x0412, 0x0432 }, + { 0x0413, 0x0433 }, + { 0x0414, 0x0434 }, + { 0x0415, 0x0435 }, + { 0x0416, 0x0436 }, + { 0x0417, 0x0437 }, + { 0x0418, 0x0438 }, + { 0x0419, 0x0439 }, + { 0x041A, 0x043A }, + { 0x041B, 0x043B }, + { 0x041C, 0x043C }, + { 0x041D, 0x043D }, + { 0x041E, 0x043E }, + { 0x041F, 0x043F }, + { 0x0420, 0x0440 }, + { 0x0421, 0x0441 }, + { 0x0422, 0x0442 }, + { 0x0423, 0x0443 }, + { 0x0424, 0x0444 }, + { 0x0425, 0x0445 }, + { 0x0426, 0x0446 }, + { 0x0427, 0x0447 }, + { 0x0428, 0x0448 }, + { 0x0429, 0x0449 }, + { 0x042A, 0x044A }, + { 0x042B, 0x044B }, + { 0x042C, 0x044C }, + { 0x042D, 0x044D }, + { 0x042E, 0x044E }, + { 0x042F, 0x044F }, + { 0x0460, 0x0461 }, + { 0x0462, 0x0463 }, + { 0x0464, 0x0465 }, + { 0x0466, 0x0467 }, + { 0x0468, 0x0469 }, + { 0x046A, 0x046B }, + { 0x046C, 0x046D }, + { 0x046E, 0x046F }, + { 0x0470, 0x0471 }, + { 0x0472, 0x0473 }, + { 0x0474, 0x0475 }, + { 0x0476, 0x0477 }, + { 0x0478, 0x0479 }, + { 0x047A, 0x047B }, + { 0x047C, 0x047D }, + { 0x047E, 0x047F }, + { 0x0480, 0x0481 }, + { 0x048A, 0x048B }, + { 0x048C, 0x048D }, + { 0x048E, 0x048F }, + { 0x0490, 0x0491 }, + { 0x0492, 0x0493 }, + { 0x0494, 0x0495 }, + { 0x0496, 0x0497 }, + { 0x0498, 0x0499 }, + { 0x049A, 0x049B }, + { 0x049C, 0x049D }, + { 0x049E, 0x049F }, + { 0x04A0, 0x04A1 }, + { 0x04A2, 0x04A3 }, + { 0x04A4, 0x04A5 }, + { 0x04A6, 0x04A7 }, + { 0x04A8, 0x04A9 }, + { 0x04AA, 0x04AB }, + { 0x04AC, 0x04AD }, + { 0x04AE, 0x04AF }, + { 0x04B0, 0x04B1 }, + { 0x04B2, 0x04B3 }, + { 0x04B4, 0x04B5 }, + { 0x04B6, 0x04B7 }, + { 0x04B8, 0x04B9 }, + { 0x04BA, 0x04BB }, + { 0x04BC, 0x04BD }, + { 0x04BE, 0x04BF }, + { 0x04C0, 0x04CF }, + { 0x04C1, 0x04C2 }, + { 0x04C3, 0x04C4 }, + { 0x04C5, 0x04C6 }, + { 0x04C7, 0x04C8 }, + { 0x04C9, 0x04CA }, + { 0x04CB, 0x04CC }, + { 0x04CD, 0x04CE }, + { 0x04D0, 0x04D1 }, + { 0x04D2, 0x04D3 }, + { 0x04D4, 0x04D5 }, + { 0x04D6, 0x04D7 }, + { 0x04D8, 0x04D9 }, + { 0x04DA, 0x04DB }, + { 0x04DC, 0x04DD }, + { 0x04DE, 0x04DF }, + { 0x04E0, 0x04E1 }, + { 0x04E2, 0x04E3 }, + { 0x04E4, 0x04E5 }, + { 0x04E6, 0x04E7 }, + { 0x04E8, 0x04E9 }, + { 0x04EA, 0x04EB }, + { 0x04EC, 0x04ED }, + { 0x04EE, 0x04EF }, + { 0x04F0, 0x04F1 }, + { 0x04F2, 0x04F3 }, + { 0x04F4, 0x04F5 }, + { 0x04F6, 0x04F7 }, + { 0x04F8, 0x04F9 }, + { 0x04FA, 0x04FB }, + { 0x04FC, 0x04FD }, + { 0x04FE, 0x04FF }, + { 0x0500, 0x0501 }, + { 0x0502, 0x0503 }, + { 0x0504, 0x0505 }, + { 0x0506, 0x0507 }, + { 0x0508, 0x0509 }, + { 0x050A, 0x050B }, + { 0x050C, 0x050D }, + { 0x050E, 0x050F }, + { 0x0510, 0x0511 }, + { 0x0512, 0x0513 }, + { 0x0514, 0x0515 }, + { 0x0516, 0x0517 }, + { 0x0518, 0x0519 }, + { 0x051A, 0x051B }, + { 0x051C, 0x051D }, + { 0x051E, 0x051F }, + { 0x0520, 0x0521 }, + { 0x0522, 0x0523 }, + { 0x0531, 0x0561 }, + { 0x0532, 0x0562 }, + { 0x0533, 0x0563 }, + { 0x0534, 0x0564 }, + { 0x0535, 0x0565 }, + { 0x0536, 0x0566 }, + { 0x0537, 0x0567 }, + { 0x0538, 0x0568 }, + { 0x0539, 0x0569 }, + { 0x053A, 0x056A }, + { 0x053B, 0x056B }, + { 0x053C, 0x056C }, + { 0x053D, 0x056D }, + { 0x053E, 0x056E }, + { 0x053F, 0x056F }, + { 0x0540, 0x0570 }, + { 0x0541, 0x0571 }, + { 0x0542, 0x0572 }, + { 0x0543, 0x0573 }, + { 0x0544, 0x0574 }, + { 0x0545, 0x0575 }, + { 0x0546, 0x0576 }, + { 0x0547, 0x0577 }, + { 0x0548, 0x0578 }, + { 0x0549, 0x0579 }, + { 0x054A, 0x057A }, + { 0x054B, 0x057B }, + { 0x054C, 0x057C }, + { 0x054D, 0x057D }, + { 0x054E, 0x057E }, + { 0x054F, 0x057F }, + { 0x0550, 0x0580 }, + { 0x0551, 0x0581 }, + { 0x0552, 0x0582 }, + { 0x0553, 0x0583 }, + { 0x0554, 0x0584 }, + { 0x0555, 0x0585 }, + { 0x0556, 0x0586 }, + { 0x10A0, 0x2D00 }, + { 0x10A1, 0x2D01 }, + { 0x10A2, 0x2D02 }, + { 0x10A3, 0x2D03 }, + { 0x10A4, 0x2D04 }, + { 0x10A5, 0x2D05 }, + { 0x10A6, 0x2D06 }, + { 0x10A7, 0x2D07 }, + { 0x10A8, 0x2D08 }, + { 0x10A9, 0x2D09 }, + { 0x10AA, 0x2D0A }, + { 0x10AB, 0x2D0B }, + { 0x10AC, 0x2D0C }, + { 0x10AD, 0x2D0D }, + { 0x10AE, 0x2D0E }, + { 0x10AF, 0x2D0F }, + { 0x10B0, 0x2D10 }, + { 0x10B1, 0x2D11 }, + { 0x10B2, 0x2D12 }, + { 0x10B3, 0x2D13 }, + { 0x10B4, 0x2D14 }, + { 0x10B5, 0x2D15 }, + { 0x10B6, 0x2D16 }, + { 0x10B7, 0x2D17 }, + { 0x10B8, 0x2D18 }, + { 0x10B9, 0x2D19 }, + { 0x10BA, 0x2D1A }, + { 0x10BB, 0x2D1B }, + { 0x10BC, 0x2D1C }, + { 0x10BD, 0x2D1D }, + { 0x10BE, 0x2D1E }, + { 0x10BF, 0x2D1F }, + { 0x10C0, 0x2D20 }, + { 0x10C1, 0x2D21 }, + { 0x10C2, 0x2D22 }, + { 0x10C3, 0x2D23 }, + { 0x10C4, 0x2D24 }, + { 0x10C5, 0x2D25 }, + { 0x1E00, 0x1E01 }, + { 0x1E02, 0x1E03 }, + { 0x1E04, 0x1E05 }, + { 0x1E06, 0x1E07 }, + { 0x1E08, 0x1E09 }, + { 0x1E0A, 0x1E0B }, + { 0x1E0C, 0x1E0D }, + { 0x1E0E, 0x1E0F }, + { 0x1E10, 0x1E11 }, + { 0x1E12, 0x1E13 }, + { 0x1E14, 0x1E15 }, + { 0x1E16, 0x1E17 }, + { 0x1E18, 0x1E19 }, + { 0x1E1A, 0x1E1B }, + { 0x1E1C, 0x1E1D }, + { 0x1E1E, 0x1E1F }, + { 0x1E20, 0x1E21 }, + { 0x1E22, 0x1E23 }, + { 0x1E24, 0x1E25 }, + { 0x1E26, 0x1E27 }, + { 0x1E28, 0x1E29 }, + { 0x1E2A, 0x1E2B }, + { 0x1E2C, 0x1E2D }, + { 0x1E2E, 0x1E2F }, + { 0x1E30, 0x1E31 }, + { 0x1E32, 0x1E33 }, + { 0x1E34, 0x1E35 }, + { 0x1E36, 0x1E37 }, + { 0x1E38, 0x1E39 }, + { 0x1E3A, 0x1E3B }, + { 0x1E3C, 0x1E3D }, + { 0x1E3E, 0x1E3F }, + { 0x1E40, 0x1E41 }, + { 0x1E42, 0x1E43 }, + { 0x1E44, 0x1E45 }, + { 0x1E46, 0x1E47 }, + { 0x1E48, 0x1E49 }, + { 0x1E4A, 0x1E4B }, + { 0x1E4C, 0x1E4D }, + { 0x1E4E, 0x1E4F }, + { 0x1E50, 0x1E51 }, + { 0x1E52, 0x1E53 }, + { 0x1E54, 0x1E55 }, + { 0x1E56, 0x1E57 }, + { 0x1E58, 0x1E59 }, + { 0x1E5A, 0x1E5B }, + { 0x1E5C, 0x1E5D }, + { 0x1E5E, 0x1E5F }, + { 0x1E60, 0x1E61 }, + { 0x1E62, 0x1E63 }, + { 0x1E64, 0x1E65 }, + { 0x1E66, 0x1E67 }, + { 0x1E68, 0x1E69 }, + { 0x1E6A, 0x1E6B }, + { 0x1E6C, 0x1E6D }, + { 0x1E6E, 0x1E6F }, + { 0x1E70, 0x1E71 }, + { 0x1E72, 0x1E73 }, + { 0x1E74, 0x1E75 }, + { 0x1E76, 0x1E77 }, + { 0x1E78, 0x1E79 }, + { 0x1E7A, 0x1E7B }, + { 0x1E7C, 0x1E7D }, + { 0x1E7E, 0x1E7F }, + { 0x1E80, 0x1E81 }, + { 0x1E82, 0x1E83 }, + { 0x1E84, 0x1E85 }, + { 0x1E86, 0x1E87 }, + { 0x1E88, 0x1E89 }, + { 0x1E8A, 0x1E8B }, + { 0x1E8C, 0x1E8D }, + { 0x1E8E, 0x1E8F }, + { 0x1E90, 0x1E91 }, + { 0x1E92, 0x1E93 }, + { 0x1E94, 0x1E95 }, + { 0x1E9E, 0x00DF }, + { 0x1EA0, 0x1EA1 }, + { 0x1EA2, 0x1EA3 }, + { 0x1EA4, 0x1EA5 }, + { 0x1EA6, 0x1EA7 }, + { 0x1EA8, 0x1EA9 }, + { 0x1EAA, 0x1EAB }, + { 0x1EAC, 0x1EAD }, + { 0x1EAE, 0x1EAF }, + { 0x1EB0, 0x1EB1 }, + { 0x1EB2, 0x1EB3 }, + { 0x1EB4, 0x1EB5 }, + { 0x1EB6, 0x1EB7 }, + { 0x1EB8, 0x1EB9 }, + { 0x1EBA, 0x1EBB }, + { 0x1EBC, 0x1EBD }, + { 0x1EBE, 0x1EBF }, + { 0x1EC0, 0x1EC1 }, + { 0x1EC2, 0x1EC3 }, + { 0x1EC4, 0x1EC5 }, + { 0x1EC6, 0x1EC7 }, + { 0x1EC8, 0x1EC9 }, + { 0x1ECA, 0x1ECB }, + { 0x1ECC, 0x1ECD }, + { 0x1ECE, 0x1ECF }, + { 0x1ED0, 0x1ED1 }, + { 0x1ED2, 0x1ED3 }, + { 0x1ED4, 0x1ED5 }, + { 0x1ED6, 0x1ED7 }, + { 0x1ED8, 0x1ED9 }, + { 0x1EDA, 0x1EDB }, + { 0x1EDC, 0x1EDD }, + { 0x1EDE, 0x1EDF }, + { 0x1EE0, 0x1EE1 }, + { 0x1EE2, 0x1EE3 }, + { 0x1EE4, 0x1EE5 }, + { 0x1EE6, 0x1EE7 }, + { 0x1EE8, 0x1EE9 }, + { 0x1EEA, 0x1EEB }, + { 0x1EEC, 0x1EED }, + { 0x1EEE, 0x1EEF }, + { 0x1EF0, 0x1EF1 }, + { 0x1EF2, 0x1EF3 }, + { 0x1EF4, 0x1EF5 }, + { 0x1EF6, 0x1EF7 }, + { 0x1EF8, 0x1EF9 }, + { 0x1EFA, 0x1EFB }, + { 0x1EFC, 0x1EFD }, + { 0x1EFE, 0x1EFF }, + { 0x1F08, 0x1F00 }, + { 0x1F09, 0x1F01 }, + { 0x1F0A, 0x1F02 }, + { 0x1F0B, 0x1F03 }, + { 0x1F0C, 0x1F04 }, + { 0x1F0D, 0x1F05 }, + { 0x1F0E, 0x1F06 }, + { 0x1F0F, 0x1F07 }, + { 0x1F18, 0x1F10 }, + { 0x1F19, 0x1F11 }, + { 0x1F1A, 0x1F12 }, + { 0x1F1B, 0x1F13 }, + { 0x1F1C, 0x1F14 }, + { 0x1F1D, 0x1F15 }, + { 0x1F28, 0x1F20 }, + { 0x1F29, 0x1F21 }, + { 0x1F2A, 0x1F22 }, + { 0x1F2B, 0x1F23 }, + { 0x1F2C, 0x1F24 }, + { 0x1F2D, 0x1F25 }, + { 0x1F2E, 0x1F26 }, + { 0x1F2F, 0x1F27 }, + { 0x1F38, 0x1F30 }, + { 0x1F39, 0x1F31 }, + { 0x1F3A, 0x1F32 }, + { 0x1F3B, 0x1F33 }, + { 0x1F3C, 0x1F34 }, + { 0x1F3D, 0x1F35 }, + { 0x1F3E, 0x1F36 }, + { 0x1F3F, 0x1F37 }, + { 0x1F48, 0x1F40 }, + { 0x1F49, 0x1F41 }, + { 0x1F4A, 0x1F42 }, + { 0x1F4B, 0x1F43 }, + { 0x1F4C, 0x1F44 }, + { 0x1F4D, 0x1F45 }, + { 0x1F59, 0x1F51 }, + { 0x1F5B, 0x1F53 }, + { 0x1F5D, 0x1F55 }, + { 0x1F5F, 0x1F57 }, + { 0x1F68, 0x1F60 }, + { 0x1F69, 0x1F61 }, + { 0x1F6A, 0x1F62 }, + { 0x1F6B, 0x1F63 }, + { 0x1F6C, 0x1F64 }, + { 0x1F6D, 0x1F65 }, + { 0x1F6E, 0x1F66 }, + { 0x1F6F, 0x1F67 }, + { 0x1F88, 0x1F80 }, + { 0x1F89, 0x1F81 }, + { 0x1F8A, 0x1F82 }, + { 0x1F8B, 0x1F83 }, + { 0x1F8C, 0x1F84 }, + { 0x1F8D, 0x1F85 }, + { 0x1F8E, 0x1F86 }, + { 0x1F8F, 0x1F87 }, + { 0x1F98, 0x1F90 }, + { 0x1F99, 0x1F91 }, + { 0x1F9A, 0x1F92 }, + { 0x1F9B, 0x1F93 }, + { 0x1F9C, 0x1F94 }, + { 0x1F9D, 0x1F95 }, + { 0x1F9E, 0x1F96 }, + { 0x1F9F, 0x1F97 }, + { 0x1FA8, 0x1FA0 }, + { 0x1FA9, 0x1FA1 }, + { 0x1FAA, 0x1FA2 }, + { 0x1FAB, 0x1FA3 }, + { 0x1FAC, 0x1FA4 }, + { 0x1FAD, 0x1FA5 }, + { 0x1FAE, 0x1FA6 }, + { 0x1FAF, 0x1FA7 }, + { 0x1FB8, 0x1FB0 }, + { 0x1FB9, 0x1FB1 }, + { 0x1FBA, 0x1F70 }, + { 0x1FBB, 0x1F71 }, + { 0x1FBC, 0x1FB3 }, + { 0x1FC8, 0x1F72 }, + { 0x1FC9, 0x1F73 }, + { 0x1FCA, 0x1F74 }, + { 0x1FCB, 0x1F75 }, + { 0x1FCC, 0x1FC3 }, + { 0x1FD8, 0x1FD0 }, + { 0x1FD9, 0x1FD1 }, + { 0x1FDA, 0x1F76 }, + { 0x1FDB, 0x1F77 }, + { 0x1FE8, 0x1FE0 }, + { 0x1FE9, 0x1FE1 }, + { 0x1FEA, 0x1F7A }, + { 0x1FEB, 0x1F7B }, + { 0x1FEC, 0x1FE5 }, + { 0x1FF8, 0x1F78 }, + { 0x1FF9, 0x1F79 }, + { 0x1FFA, 0x1F7C }, + { 0x1FFB, 0x1F7D }, + { 0x1FFC, 0x1FF3 }, + { 0x2126, 0x03C9 }, + { 0x212A, 0x006B }, + { 0x212B, 0x00E5 }, + { 0x2132, 0x214E }, + { 0x2160, 0x2170 }, + { 0x2161, 0x2171 }, + { 0x2162, 0x2172 }, + { 0x2163, 0x2173 }, + { 0x2164, 0x2174 }, + { 0x2165, 0x2175 }, + { 0x2166, 0x2176 }, + { 0x2167, 0x2177 }, + { 0x2168, 0x2178 }, + { 0x2169, 0x2179 }, + { 0x216A, 0x217A }, + { 0x216B, 0x217B }, + { 0x216C, 0x217C }, + { 0x216D, 0x217D }, + { 0x216E, 0x217E }, + { 0x216F, 0x217F }, + { 0x2183, 0x2184 }, + { 0x24B6, 0x24D0 }, + { 0x24B7, 0x24D1 }, + { 0x24B8, 0x24D2 }, + { 0x24B9, 0x24D3 }, + { 0x24BA, 0x24D4 }, + { 0x24BB, 0x24D5 }, + { 0x24BC, 0x24D6 }, + { 0x24BD, 0x24D7 }, + { 0x24BE, 0x24D8 }, + { 0x24BF, 0x24D9 }, + { 0x24C0, 0x24DA }, + { 0x24C1, 0x24DB }, + { 0x24C2, 0x24DC }, + { 0x24C3, 0x24DD }, + { 0x24C4, 0x24DE }, + { 0x24C5, 0x24DF }, + { 0x24C6, 0x24E0 }, + { 0x24C7, 0x24E1 }, + { 0x24C8, 0x24E2 }, + { 0x24C9, 0x24E3 }, + { 0x24CA, 0x24E4 }, + { 0x24CB, 0x24E5 }, + { 0x24CC, 0x24E6 }, + { 0x24CD, 0x24E7 }, + { 0x24CE, 0x24E8 }, + { 0x24CF, 0x24E9 }, + { 0x2C00, 0x2C30 }, + { 0x2C01, 0x2C31 }, + { 0x2C02, 0x2C32 }, + { 0x2C03, 0x2C33 }, + { 0x2C04, 0x2C34 }, + { 0x2C05, 0x2C35 }, + { 0x2C06, 0x2C36 }, + { 0x2C07, 0x2C37 }, + { 0x2C08, 0x2C38 }, + { 0x2C09, 0x2C39 }, + { 0x2C0A, 0x2C3A }, + { 0x2C0B, 0x2C3B }, + { 0x2C0C, 0x2C3C }, + { 0x2C0D, 0x2C3D }, + { 0x2C0E, 0x2C3E }, + { 0x2C0F, 0x2C3F }, + { 0x2C10, 0x2C40 }, + { 0x2C11, 0x2C41 }, + { 0x2C12, 0x2C42 }, + { 0x2C13, 0x2C43 }, + { 0x2C14, 0x2C44 }, + { 0x2C15, 0x2C45 }, + { 0x2C16, 0x2C46 }, + { 0x2C17, 0x2C47 }, + { 0x2C18, 0x2C48 }, + { 0x2C19, 0x2C49 }, + { 0x2C1A, 0x2C4A }, + { 0x2C1B, 0x2C4B }, + { 0x2C1C, 0x2C4C }, + { 0x2C1D, 0x2C4D }, + { 0x2C1E, 0x2C4E }, + { 0x2C1F, 0x2C4F }, + { 0x2C20, 0x2C50 }, + { 0x2C21, 0x2C51 }, + { 0x2C22, 0x2C52 }, + { 0x2C23, 0x2C53 }, + { 0x2C24, 0x2C54 }, + { 0x2C25, 0x2C55 }, + { 0x2C26, 0x2C56 }, + { 0x2C27, 0x2C57 }, + { 0x2C28, 0x2C58 }, + { 0x2C29, 0x2C59 }, + { 0x2C2A, 0x2C5A }, + { 0x2C2B, 0x2C5B }, + { 0x2C2C, 0x2C5C }, + { 0x2C2D, 0x2C5D }, + { 0x2C2E, 0x2C5E }, + { 0x2C60, 0x2C61 }, + { 0x2C62, 0x026B }, + { 0x2C63, 0x1D7D }, + { 0x2C64, 0x027D }, + { 0x2C67, 0x2C68 }, + { 0x2C69, 0x2C6A }, + { 0x2C6B, 0x2C6C }, + { 0x2C6D, 0x0251 }, + { 0x2C6E, 0x0271 }, + { 0x2C6F, 0x0250 }, + { 0x2C72, 0x2C73 }, + { 0x2C75, 0x2C76 }, + { 0x2C80, 0x2C81 }, + { 0x2C82, 0x2C83 }, + { 0x2C84, 0x2C85 }, + { 0x2C86, 0x2C87 }, + { 0x2C88, 0x2C89 }, + { 0x2C8A, 0x2C8B }, + { 0x2C8C, 0x2C8D }, + { 0x2C8E, 0x2C8F }, + { 0x2C90, 0x2C91 }, + { 0x2C92, 0x2C93 }, + { 0x2C94, 0x2C95 }, + { 0x2C96, 0x2C97 }, + { 0x2C98, 0x2C99 }, + { 0x2C9A, 0x2C9B }, + { 0x2C9C, 0x2C9D }, + { 0x2C9E, 0x2C9F }, + { 0x2CA0, 0x2CA1 }, + { 0x2CA2, 0x2CA3 }, + { 0x2CA4, 0x2CA5 }, + { 0x2CA6, 0x2CA7 }, + { 0x2CA8, 0x2CA9 }, + { 0x2CAA, 0x2CAB }, + { 0x2CAC, 0x2CAD }, + { 0x2CAE, 0x2CAF }, + { 0x2CB0, 0x2CB1 }, + { 0x2CB2, 0x2CB3 }, + { 0x2CB4, 0x2CB5 }, + { 0x2CB6, 0x2CB7 }, + { 0x2CB8, 0x2CB9 }, + { 0x2CBA, 0x2CBB }, + { 0x2CBC, 0x2CBD }, + { 0x2CBE, 0x2CBF }, + { 0x2CC0, 0x2CC1 }, + { 0x2CC2, 0x2CC3 }, + { 0x2CC4, 0x2CC5 }, + { 0x2CC6, 0x2CC7 }, + { 0x2CC8, 0x2CC9 }, + { 0x2CCA, 0x2CCB }, + { 0x2CCC, 0x2CCD }, + { 0x2CCE, 0x2CCF }, + { 0x2CD0, 0x2CD1 }, + { 0x2CD2, 0x2CD3 }, + { 0x2CD4, 0x2CD5 }, + { 0x2CD6, 0x2CD7 }, + { 0x2CD8, 0x2CD9 }, + { 0x2CDA, 0x2CDB }, + { 0x2CDC, 0x2CDD }, + { 0x2CDE, 0x2CDF }, + { 0x2CE0, 0x2CE1 }, + { 0x2CE2, 0x2CE3 }, + { 0xA640, 0xA641 }, + { 0xA642, 0xA643 }, + { 0xA644, 0xA645 }, + { 0xA646, 0xA647 }, + { 0xA648, 0xA649 }, + { 0xA64A, 0xA64B }, + { 0xA64C, 0xA64D }, + { 0xA64E, 0xA64F }, + { 0xA650, 0xA651 }, + { 0xA652, 0xA653 }, + { 0xA654, 0xA655 }, + { 0xA656, 0xA657 }, + { 0xA658, 0xA659 }, + { 0xA65A, 0xA65B }, + { 0xA65C, 0xA65D }, + { 0xA65E, 0xA65F }, + { 0xA662, 0xA663 }, + { 0xA664, 0xA665 }, + { 0xA666, 0xA667 }, + { 0xA668, 0xA669 }, + { 0xA66A, 0xA66B }, + { 0xA66C, 0xA66D }, + { 0xA680, 0xA681 }, + { 0xA682, 0xA683 }, + { 0xA684, 0xA685 }, + { 0xA686, 0xA687 }, + { 0xA688, 0xA689 }, + { 0xA68A, 0xA68B }, + { 0xA68C, 0xA68D }, + { 0xA68E, 0xA68F }, + { 0xA690, 0xA691 }, + { 0xA692, 0xA693 }, + { 0xA694, 0xA695 }, + { 0xA696, 0xA697 }, + { 0xA722, 0xA723 }, + { 0xA724, 0xA725 }, + { 0xA726, 0xA727 }, + { 0xA728, 0xA729 }, + { 0xA72A, 0xA72B }, + { 0xA72C, 0xA72D }, + { 0xA72E, 0xA72F }, + { 0xA732, 0xA733 }, + { 0xA734, 0xA735 }, + { 0xA736, 0xA737 }, + { 0xA738, 0xA739 }, + { 0xA73A, 0xA73B }, + { 0xA73C, 0xA73D }, + { 0xA73E, 0xA73F }, + { 0xA740, 0xA741 }, + { 0xA742, 0xA743 }, + { 0xA744, 0xA745 }, + { 0xA746, 0xA747 }, + { 0xA748, 0xA749 }, + { 0xA74A, 0xA74B }, + { 0xA74C, 0xA74D }, + { 0xA74E, 0xA74F }, + { 0xA750, 0xA751 }, + { 0xA752, 0xA753 }, + { 0xA754, 0xA755 }, + { 0xA756, 0xA757 }, + { 0xA758, 0xA759 }, + { 0xA75A, 0xA75B }, + { 0xA75C, 0xA75D }, + { 0xA75E, 0xA75F }, + { 0xA760, 0xA761 }, + { 0xA762, 0xA763 }, + { 0xA764, 0xA765 }, + { 0xA766, 0xA767 }, + { 0xA768, 0xA769 }, + { 0xA76A, 0xA76B }, + { 0xA76C, 0xA76D }, + { 0xA76E, 0xA76F }, + { 0xA779, 0xA77A }, + { 0xA77B, 0xA77C }, + { 0xA77D, 0x1D79 }, + { 0xA77E, 0xA77F }, + { 0xA780, 0xA781 }, + { 0xA782, 0xA783 }, + { 0xA784, 0xA785 }, + { 0xA786, 0xA787 }, + { 0xA78B, 0xA78C }, + { 0xFF21, 0xFF41 }, + { 0xFF22, 0xFF42 }, + { 0xFF23, 0xFF43 }, + { 0xFF24, 0xFF44 }, + { 0xFF25, 0xFF45 }, + { 0xFF26, 0xFF46 }, + { 0xFF27, 0xFF47 }, + { 0xFF28, 0xFF48 }, + { 0xFF29, 0xFF49 }, + { 0xFF2A, 0xFF4A }, + { 0xFF2B, 0xFF4B }, + { 0xFF2C, 0xFF4C }, + { 0xFF2D, 0xFF4D }, + { 0xFF2E, 0xFF4E }, + { 0xFF2F, 0xFF4F }, + { 0xFF30, 0xFF50 }, + { 0xFF31, 0xFF51 }, + { 0xFF32, 0xFF52 }, + { 0xFF33, 0xFF53 }, + { 0xFF34, 0xFF54 }, + { 0xFF35, 0xFF55 }, + { 0xFF36, 0xFF56 }, + { 0xFF37, 0xFF57 }, + { 0xFF38, 0xFF58 }, + { 0xFF39, 0xFF59 }, + { 0xFF3A, 0xFF5A }, + { 0x10400, 0x10428 }, + { 0x10401, 0x10429 }, + { 0x10402, 0x1042A }, + { 0x10403, 0x1042B }, + { 0x10404, 0x1042C }, + { 0x10405, 0x1042D }, + { 0x10406, 0x1042E }, + { 0x10407, 0x1042F }, + { 0x10408, 0x10430 }, + { 0x10409, 0x10431 }, + { 0x1040A, 0x10432 }, + { 0x1040B, 0x10433 }, + { 0x1040C, 0x10434 }, + { 0x1040D, 0x10435 }, + { 0x1040E, 0x10436 }, + { 0x1040F, 0x10437 }, + { 0x10410, 0x10438 }, + { 0x10411, 0x10439 }, + { 0x10412, 0x1043A }, + { 0x10413, 0x1043B }, + { 0x10414, 0x1043C }, + { 0x10415, 0x1043D }, + { 0x10416, 0x1043E }, + { 0x10417, 0x1043F }, + { 0x10418, 0x10440 }, + { 0x10419, 0x10441 }, + { 0x1041A, 0x10442 }, + { 0x1041B, 0x10443 }, + { 0x1041C, 0x10444 }, + { 0x1041D, 0x10445 }, + { 0x1041E, 0x10446 }, + { 0x1041F, 0x10447 }, + { 0x10420, 0x10448 }, + { 0x10421, 0x10449 }, + { 0x10422, 0x1044A }, + { 0x10423, 0x1044B }, + { 0x10424, 0x1044C }, + { 0x10425, 0x1044D }, + { 0x10426, 0x1044E }, + { 0x10427, 0x1044F } + +#define MAP(c) uc_tolower (c) +#include "test-mapping-part2.h" diff --git a/tests/unicase/test-uc_totitle.c b/tests/unicase/test-uc_totitle.c new file mode 100644 index 00000000..9064a41a --- /dev/null +++ b/tests/unicase/test-uc_totitle.c @@ -0,0 +1,1055 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character mapping functions. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Generated automatically by gen-case.c for Unicode 5.1.0. */ + +#include "test-mapping-part1.h" + + { 0x0061, 0x0041 }, + { 0x0062, 0x0042 }, + { 0x0063, 0x0043 }, + { 0x0064, 0x0044 }, + { 0x0065, 0x0045 }, + { 0x0066, 0x0046 }, + { 0x0067, 0x0047 }, + { 0x0068, 0x0048 }, + { 0x0069, 0x0049 }, + { 0x006A, 0x004A }, + { 0x006B, 0x004B }, + { 0x006C, 0x004C }, + { 0x006D, 0x004D }, + { 0x006E, 0x004E }, + { 0x006F, 0x004F }, + { 0x0070, 0x0050 }, + { 0x0071, 0x0051 }, + { 0x0072, 0x0052 }, + { 0x0073, 0x0053 }, + { 0x0074, 0x0054 }, + { 0x0075, 0x0055 }, + { 0x0076, 0x0056 }, + { 0x0077, 0x0057 }, + { 0x0078, 0x0058 }, + { 0x0079, 0x0059 }, + { 0x007A, 0x005A }, + { 0x00B5, 0x039C }, + { 0x00E0, 0x00C0 }, + { 0x00E1, 0x00C1 }, + { 0x00E2, 0x00C2 }, + { 0x00E3, 0x00C3 }, + { 0x00E4, 0x00C4 }, + { 0x00E5, 0x00C5 }, + { 0x00E6, 0x00C6 }, + { 0x00E7, 0x00C7 }, + { 0x00E8, 0x00C8 }, + { 0x00E9, 0x00C9 }, + { 0x00EA, 0x00CA }, + { 0x00EB, 0x00CB }, + { 0x00EC, 0x00CC }, + { 0x00ED, 0x00CD }, + { 0x00EE, 0x00CE }, + { 0x00EF, 0x00CF }, + { 0x00F0, 0x00D0 }, + { 0x00F1, 0x00D1 }, + { 0x00F2, 0x00D2 }, + { 0x00F3, 0x00D3 }, + { 0x00F4, 0x00D4 }, + { 0x00F5, 0x00D5 }, + { 0x00F6, 0x00D6 }, + { 0x00F8, 0x00D8 }, + { 0x00F9, 0x00D9 }, + { 0x00FA, 0x00DA }, + { 0x00FB, 0x00DB }, + { 0x00FC, 0x00DC }, + { 0x00FD, 0x00DD }, + { 0x00FE, 0x00DE }, + { 0x00FF, 0x0178 }, + { 0x0101, 0x0100 }, + { 0x0103, 0x0102 }, + { 0x0105, 0x0104 }, + { 0x0107, 0x0106 }, + { 0x0109, 0x0108 }, + { 0x010B, 0x010A }, + { 0x010D, 0x010C }, + { 0x010F, 0x010E }, + { 0x0111, 0x0110 }, + { 0x0113, 0x0112 }, + { 0x0115, 0x0114 }, + { 0x0117, 0x0116 }, + { 0x0119, 0x0118 }, + { 0x011B, 0x011A }, + { 0x011D, 0x011C }, + { 0x011F, 0x011E }, + { 0x0121, 0x0120 }, + { 0x0123, 0x0122 }, + { 0x0125, 0x0124 }, + { 0x0127, 0x0126 }, + { 0x0129, 0x0128 }, + { 0x012B, 0x012A }, + { 0x012D, 0x012C }, + { 0x012F, 0x012E }, + { 0x0131, 0x0049 }, + { 0x0133, 0x0132 }, + { 0x0135, 0x0134 }, + { 0x0137, 0x0136 }, + { 0x013A, 0x0139 }, + { 0x013C, 0x013B }, + { 0x013E, 0x013D }, + { 0x0140, 0x013F }, + { 0x0142, 0x0141 }, + { 0x0144, 0x0143 }, + { 0x0146, 0x0145 }, + { 0x0148, 0x0147 }, + { 0x014B, 0x014A }, + { 0x014D, 0x014C }, + { 0x014F, 0x014E }, + { 0x0151, 0x0150 }, + { 0x0153, 0x0152 }, + { 0x0155, 0x0154 }, + { 0x0157, 0x0156 }, + { 0x0159, 0x0158 }, + { 0x015B, 0x015A }, + { 0x015D, 0x015C }, + { 0x015F, 0x015E }, + { 0x0161, 0x0160 }, + { 0x0163, 0x0162 }, + { 0x0165, 0x0164 }, + { 0x0167, 0x0166 }, + { 0x0169, 0x0168 }, + { 0x016B, 0x016A }, + { 0x016D, 0x016C }, + { 0x016F, 0x016E }, + { 0x0171, 0x0170 }, + { 0x0173, 0x0172 }, + { 0x0175, 0x0174 }, + { 0x0177, 0x0176 }, + { 0x017A, 0x0179 }, + { 0x017C, 0x017B }, + { 0x017E, 0x017D }, + { 0x017F, 0x0053 }, + { 0x0180, 0x0243 }, + { 0x0183, 0x0182 }, + { 0x0185, 0x0184 }, + { 0x0188, 0x0187 }, + { 0x018C, 0x018B }, + { 0x0192, 0x0191 }, + { 0x0195, 0x01F6 }, + { 0x0199, 0x0198 }, + { 0x019A, 0x023D }, + { 0x019E, 0x0220 }, + { 0x01A1, 0x01A0 }, + { 0x01A3, 0x01A2 }, + { 0x01A5, 0x01A4 }, + { 0x01A8, 0x01A7 }, + { 0x01AD, 0x01AC }, + { 0x01B0, 0x01AF }, + { 0x01B4, 0x01B3 }, + { 0x01B6, 0x01B5 }, + { 0x01B9, 0x01B8 }, + { 0x01BD, 0x01BC }, + { 0x01BF, 0x01F7 }, + { 0x01C4, 0x01C5 }, + { 0x01C6, 0x01C5 }, + { 0x01C7, 0x01C8 }, + { 0x01C9, 0x01C8 }, + { 0x01CA, 0x01CB }, + { 0x01CC, 0x01CB }, + { 0x01CE, 0x01CD }, + { 0x01D0, 0x01CF }, + { 0x01D2, 0x01D1 }, + { 0x01D4, 0x01D3 }, + { 0x01D6, 0x01D5 }, + { 0x01D8, 0x01D7 }, + { 0x01DA, 0x01D9 }, + { 0x01DC, 0x01DB }, + { 0x01DD, 0x018E }, + { 0x01DF, 0x01DE }, + { 0x01E1, 0x01E0 }, + { 0x01E3, 0x01E2 }, + { 0x01E5, 0x01E4 }, + { 0x01E7, 0x01E6 }, + { 0x01E9, 0x01E8 }, + { 0x01EB, 0x01EA }, + { 0x01ED, 0x01EC }, + { 0x01EF, 0x01EE }, + { 0x01F1, 0x01F2 }, + { 0x01F3, 0x01F2 }, + { 0x01F5, 0x01F4 }, + { 0x01F9, 0x01F8 }, + { 0x01FB, 0x01FA }, + { 0x01FD, 0x01FC }, + { 0x01FF, 0x01FE }, + { 0x0201, 0x0200 }, + { 0x0203, 0x0202 }, + { 0x0205, 0x0204 }, + { 0x0207, 0x0206 }, + { 0x0209, 0x0208 }, + { 0x020B, 0x020A }, + { 0x020D, 0x020C }, + { 0x020F, 0x020E }, + { 0x0211, 0x0210 }, + { 0x0213, 0x0212 }, + { 0x0215, 0x0214 }, + { 0x0217, 0x0216 }, + { 0x0219, 0x0218 }, + { 0x021B, 0x021A }, + { 0x021D, 0x021C }, + { 0x021F, 0x021E }, + { 0x0223, 0x0222 }, + { 0x0225, 0x0224 }, + { 0x0227, 0x0226 }, + { 0x0229, 0x0228 }, + { 0x022B, 0x022A }, + { 0x022D, 0x022C }, + { 0x022F, 0x022E }, + { 0x0231, 0x0230 }, + { 0x0233, 0x0232 }, + { 0x023C, 0x023B }, + { 0x0242, 0x0241 }, + { 0x0247, 0x0246 }, + { 0x0249, 0x0248 }, + { 0x024B, 0x024A }, + { 0x024D, 0x024C }, + { 0x024F, 0x024E }, + { 0x0250, 0x2C6F }, + { 0x0251, 0x2C6D }, + { 0x0253, 0x0181 }, + { 0x0254, 0x0186 }, + { 0x0256, 0x0189 }, + { 0x0257, 0x018A }, + { 0x0259, 0x018F }, + { 0x025B, 0x0190 }, + { 0x0260, 0x0193 }, + { 0x0263, 0x0194 }, + { 0x0268, 0x0197 }, + { 0x0269, 0x0196 }, + { 0x026B, 0x2C62 }, + { 0x026F, 0x019C }, + { 0x0271, 0x2C6E }, + { 0x0272, 0x019D }, + { 0x0275, 0x019F }, + { 0x027D, 0x2C64 }, + { 0x0280, 0x01A6 }, + { 0x0283, 0x01A9 }, + { 0x0288, 0x01AE }, + { 0x0289, 0x0244 }, + { 0x028A, 0x01B1 }, + { 0x028B, 0x01B2 }, + { 0x028C, 0x0245 }, + { 0x0292, 0x01B7 }, + { 0x0345, 0x0399 }, + { 0x0371, 0x0370 }, + { 0x0373, 0x0372 }, + { 0x0377, 0x0376 }, + { 0x037B, 0x03FD }, + { 0x037C, 0x03FE }, + { 0x037D, 0x03FF }, + { 0x03AC, 0x0386 }, + { 0x03AD, 0x0388 }, + { 0x03AE, 0x0389 }, + { 0x03AF, 0x038A }, + { 0x03B1, 0x0391 }, + { 0x03B2, 0x0392 }, + { 0x03B3, 0x0393 }, + { 0x03B4, 0x0394 }, + { 0x03B5, 0x0395 }, + { 0x03B6, 0x0396 }, + { 0x03B7, 0x0397 }, + { 0x03B8, 0x0398 }, + { 0x03B9, 0x0399 }, + { 0x03BA, 0x039A }, + { 0x03BB, 0x039B }, + { 0x03BC, 0x039C }, + { 0x03BD, 0x039D }, + { 0x03BE, 0x039E }, + { 0x03BF, 0x039F }, + { 0x03C0, 0x03A0 }, + { 0x03C1, 0x03A1 }, + { 0x03C2, 0x03A3 }, + { 0x03C3, 0x03A3 }, + { 0x03C4, 0x03A4 }, + { 0x03C5, 0x03A5 }, + { 0x03C6, 0x03A6 }, + { 0x03C7, 0x03A7 }, + { 0x03C8, 0x03A8 }, + { 0x03C9, 0x03A9 }, + { 0x03CA, 0x03AA }, + { 0x03CB, 0x03AB }, + { 0x03CC, 0x038C }, + { 0x03CD, 0x038E }, + { 0x03CE, 0x038F }, + { 0x03D0, 0x0392 }, + { 0x03D1, 0x0398 }, + { 0x03D5, 0x03A6 }, + { 0x03D6, 0x03A0 }, + { 0x03D7, 0x03CF }, + { 0x03D9, 0x03D8 }, + { 0x03DB, 0x03DA }, + { 0x03DD, 0x03DC }, + { 0x03DF, 0x03DE }, + { 0x03E1, 0x03E0 }, + { 0x03E3, 0x03E2 }, + { 0x03E5, 0x03E4 }, + { 0x03E7, 0x03E6 }, + { 0x03E9, 0x03E8 }, + { 0x03EB, 0x03EA }, + { 0x03ED, 0x03EC }, + { 0x03EF, 0x03EE }, + { 0x03F0, 0x039A }, + { 0x03F1, 0x03A1 }, + { 0x03F2, 0x03F9 }, + { 0x03F5, 0x0395 }, + { 0x03F8, 0x03F7 }, + { 0x03FB, 0x03FA }, + { 0x0430, 0x0410 }, + { 0x0431, 0x0411 }, + { 0x0432, 0x0412 }, + { 0x0433, 0x0413 }, + { 0x0434, 0x0414 }, + { 0x0435, 0x0415 }, + { 0x0436, 0x0416 }, + { 0x0437, 0x0417 }, + { 0x0438, 0x0418 }, + { 0x0439, 0x0419 }, + { 0x043A, 0x041A }, + { 0x043B, 0x041B }, + { 0x043C, 0x041C }, + { 0x043D, 0x041D }, + { 0x043E, 0x041E }, + { 0x043F, 0x041F }, + { 0x0440, 0x0420 }, + { 0x0441, 0x0421 }, + { 0x0442, 0x0422 }, + { 0x0443, 0x0423 }, + { 0x0444, 0x0424 }, + { 0x0445, 0x0425 }, + { 0x0446, 0x0426 }, + { 0x0447, 0x0427 }, + { 0x0448, 0x0428 }, + { 0x0449, 0x0429 }, + { 0x044A, 0x042A }, + { 0x044B, 0x042B }, + { 0x044C, 0x042C }, + { 0x044D, 0x042D }, + { 0x044E, 0x042E }, + { 0x044F, 0x042F }, + { 0x0450, 0x0400 }, + { 0x0451, 0x0401 }, + { 0x0452, 0x0402 }, + { 0x0453, 0x0403 }, + { 0x0454, 0x0404 }, + { 0x0455, 0x0405 }, + { 0x0456, 0x0406 }, + { 0x0457, 0x0407 }, + { 0x0458, 0x0408 }, + { 0x0459, 0x0409 }, + { 0x045A, 0x040A }, + { 0x045B, 0x040B }, + { 0x045C, 0x040C }, + { 0x045D, 0x040D }, + { 0x045E, 0x040E }, + { 0x045F, 0x040F }, + { 0x0461, 0x0460 }, + { 0x0463, 0x0462 }, + { 0x0465, 0x0464 }, + { 0x0467, 0x0466 }, + { 0x0469, 0x0468 }, + { 0x046B, 0x046A }, + { 0x046D, 0x046C }, + { 0x046F, 0x046E }, + { 0x0471, 0x0470 }, + { 0x0473, 0x0472 }, + { 0x0475, 0x0474 }, + { 0x0477, 0x0476 }, + { 0x0479, 0x0478 }, + { 0x047B, 0x047A }, + { 0x047D, 0x047C }, + { 0x047F, 0x047E }, + { 0x0481, 0x0480 }, + { 0x048B, 0x048A }, + { 0x048D, 0x048C }, + { 0x048F, 0x048E }, + { 0x0491, 0x0490 }, + { 0x0493, 0x0492 }, + { 0x0495, 0x0494 }, + { 0x0497, 0x0496 }, + { 0x0499, 0x0498 }, + { 0x049B, 0x049A }, + { 0x049D, 0x049C }, + { 0x049F, 0x049E }, + { 0x04A1, 0x04A0 }, + { 0x04A3, 0x04A2 }, + { 0x04A5, 0x04A4 }, + { 0x04A7, 0x04A6 }, + { 0x04A9, 0x04A8 }, + { 0x04AB, 0x04AA }, + { 0x04AD, 0x04AC }, + { 0x04AF, 0x04AE }, + { 0x04B1, 0x04B0 }, + { 0x04B3, 0x04B2 }, + { 0x04B5, 0x04B4 }, + { 0x04B7, 0x04B6 }, + { 0x04B9, 0x04B8 }, + { 0x04BB, 0x04BA }, + { 0x04BD, 0x04BC }, + { 0x04BF, 0x04BE }, + { 0x04C2, 0x04C1 }, + { 0x04C4, 0x04C3 }, + { 0x04C6, 0x04C5 }, + { 0x04C8, 0x04C7 }, + { 0x04CA, 0x04C9 }, + { 0x04CC, 0x04CB }, + { 0x04CE, 0x04CD }, + { 0x04CF, 0x04C0 }, + { 0x04D1, 0x04D0 }, + { 0x04D3, 0x04D2 }, + { 0x04D5, 0x04D4 }, + { 0x04D7, 0x04D6 }, + { 0x04D9, 0x04D8 }, + { 0x04DB, 0x04DA }, + { 0x04DD, 0x04DC }, + { 0x04DF, 0x04DE }, + { 0x04E1, 0x04E0 }, + { 0x04E3, 0x04E2 }, + { 0x04E5, 0x04E4 }, + { 0x04E7, 0x04E6 }, + { 0x04E9, 0x04E8 }, + { 0x04EB, 0x04EA }, + { 0x04ED, 0x04EC }, + { 0x04EF, 0x04EE }, + { 0x04F1, 0x04F0 }, + { 0x04F3, 0x04F2 }, + { 0x04F5, 0x04F4 }, + { 0x04F7, 0x04F6 }, + { 0x04F9, 0x04F8 }, + { 0x04FB, 0x04FA }, + { 0x04FD, 0x04FC }, + { 0x04FF, 0x04FE }, + { 0x0501, 0x0500 }, + { 0x0503, 0x0502 }, + { 0x0505, 0x0504 }, + { 0x0507, 0x0506 }, + { 0x0509, 0x0508 }, + { 0x050B, 0x050A }, + { 0x050D, 0x050C }, + { 0x050F, 0x050E }, + { 0x0511, 0x0510 }, + { 0x0513, 0x0512 }, + { 0x0515, 0x0514 }, + { 0x0517, 0x0516 }, + { 0x0519, 0x0518 }, + { 0x051B, 0x051A }, + { 0x051D, 0x051C }, + { 0x051F, 0x051E }, + { 0x0521, 0x0520 }, + { 0x0523, 0x0522 }, + { 0x0561, 0x0531 }, + { 0x0562, 0x0532 }, + { 0x0563, 0x0533 }, + { 0x0564, 0x0534 }, + { 0x0565, 0x0535 }, + { 0x0566, 0x0536 }, + { 0x0567, 0x0537 }, + { 0x0568, 0x0538 }, + { 0x0569, 0x0539 }, + { 0x056A, 0x053A }, + { 0x056B, 0x053B }, + { 0x056C, 0x053C }, + { 0x056D, 0x053D }, + { 0x056E, 0x053E }, + { 0x056F, 0x053F }, + { 0x0570, 0x0540 }, + { 0x0571, 0x0541 }, + { 0x0572, 0x0542 }, + { 0x0573, 0x0543 }, + { 0x0574, 0x0544 }, + { 0x0575, 0x0545 }, + { 0x0576, 0x0546 }, + { 0x0577, 0x0547 }, + { 0x0578, 0x0548 }, + { 0x0579, 0x0549 }, + { 0x057A, 0x054A }, + { 0x057B, 0x054B }, + { 0x057C, 0x054C }, + { 0x057D, 0x054D }, + { 0x057E, 0x054E }, + { 0x057F, 0x054F }, + { 0x0580, 0x0550 }, + { 0x0581, 0x0551 }, + { 0x0582, 0x0552 }, + { 0x0583, 0x0553 }, + { 0x0584, 0x0554 }, + { 0x0585, 0x0555 }, + { 0x0586, 0x0556 }, + { 0x1D79, 0xA77D }, + { 0x1D7D, 0x2C63 }, + { 0x1E01, 0x1E00 }, + { 0x1E03, 0x1E02 }, + { 0x1E05, 0x1E04 }, + { 0x1E07, 0x1E06 }, + { 0x1E09, 0x1E08 }, + { 0x1E0B, 0x1E0A }, + { 0x1E0D, 0x1E0C }, + { 0x1E0F, 0x1E0E }, + { 0x1E11, 0x1E10 }, + { 0x1E13, 0x1E12 }, + { 0x1E15, 0x1E14 }, + { 0x1E17, 0x1E16 }, + { 0x1E19, 0x1E18 }, + { 0x1E1B, 0x1E1A }, + { 0x1E1D, 0x1E1C }, + { 0x1E1F, 0x1E1E }, + { 0x1E21, 0x1E20 }, + { 0x1E23, 0x1E22 }, + { 0x1E25, 0x1E24 }, + { 0x1E27, 0x1E26 }, + { 0x1E29, 0x1E28 }, + { 0x1E2B, 0x1E2A }, + { 0x1E2D, 0x1E2C }, + { 0x1E2F, 0x1E2E }, + { 0x1E31, 0x1E30 }, + { 0x1E33, 0x1E32 }, + { 0x1E35, 0x1E34 }, + { 0x1E37, 0x1E36 }, + { 0x1E39, 0x1E38 }, + { 0x1E3B, 0x1E3A }, + { 0x1E3D, 0x1E3C }, + { 0x1E3F, 0x1E3E }, + { 0x1E41, 0x1E40 }, + { 0x1E43, 0x1E42 }, + { 0x1E45, 0x1E44 }, + { 0x1E47, 0x1E46 }, + { 0x1E49, 0x1E48 }, + { 0x1E4B, 0x1E4A }, + { 0x1E4D, 0x1E4C }, + { 0x1E4F, 0x1E4E }, + { 0x1E51, 0x1E50 }, + { 0x1E53, 0x1E52 }, + { 0x1E55, 0x1E54 }, + { 0x1E57, 0x1E56 }, + { 0x1E59, 0x1E58 }, + { 0x1E5B, 0x1E5A }, + { 0x1E5D, 0x1E5C }, + { 0x1E5F, 0x1E5E }, + { 0x1E61, 0x1E60 }, + { 0x1E63, 0x1E62 }, + { 0x1E65, 0x1E64 }, + { 0x1E67, 0x1E66 }, + { 0x1E69, 0x1E68 }, + { 0x1E6B, 0x1E6A }, + { 0x1E6D, 0x1E6C }, + { 0x1E6F, 0x1E6E }, + { 0x1E71, 0x1E70 }, + { 0x1E73, 0x1E72 }, + { 0x1E75, 0x1E74 }, + { 0x1E77, 0x1E76 }, + { 0x1E79, 0x1E78 }, + { 0x1E7B, 0x1E7A }, + { 0x1E7D, 0x1E7C }, + { 0x1E7F, 0x1E7E }, + { 0x1E81, 0x1E80 }, + { 0x1E83, 0x1E82 }, + { 0x1E85, 0x1E84 }, + { 0x1E87, 0x1E86 }, + { 0x1E89, 0x1E88 }, + { 0x1E8B, 0x1E8A }, + { 0x1E8D, 0x1E8C }, + { 0x1E8F, 0x1E8E }, + { 0x1E91, 0x1E90 }, + { 0x1E93, 0x1E92 }, + { 0x1E95, 0x1E94 }, + { 0x1E9B, 0x1E60 }, + { 0x1EA1, 0x1EA0 }, + { 0x1EA3, 0x1EA2 }, + { 0x1EA5, 0x1EA4 }, + { 0x1EA7, 0x1EA6 }, + { 0x1EA9, 0x1EA8 }, + { 0x1EAB, 0x1EAA }, + { 0x1EAD, 0x1EAC }, + { 0x1EAF, 0x1EAE }, + { 0x1EB1, 0x1EB0 }, + { 0x1EB3, 0x1EB2 }, + { 0x1EB5, 0x1EB4 }, + { 0x1EB7, 0x1EB6 }, + { 0x1EB9, 0x1EB8 }, + { 0x1EBB, 0x1EBA }, + { 0x1EBD, 0x1EBC }, + { 0x1EBF, 0x1EBE }, + { 0x1EC1, 0x1EC0 }, + { 0x1EC3, 0x1EC2 }, + { 0x1EC5, 0x1EC4 }, + { 0x1EC7, 0x1EC6 }, + { 0x1EC9, 0x1EC8 }, + { 0x1ECB, 0x1ECA }, + { 0x1ECD, 0x1ECC }, + { 0x1ECF, 0x1ECE }, + { 0x1ED1, 0x1ED0 }, + { 0x1ED3, 0x1ED2 }, + { 0x1ED5, 0x1ED4 }, + { 0x1ED7, 0x1ED6 }, + { 0x1ED9, 0x1ED8 }, + { 0x1EDB, 0x1EDA }, + { 0x1EDD, 0x1EDC }, + { 0x1EDF, 0x1EDE }, + { 0x1EE1, 0x1EE0 }, + { 0x1EE3, 0x1EE2 }, + { 0x1EE5, 0x1EE4 }, + { 0x1EE7, 0x1EE6 }, + { 0x1EE9, 0x1EE8 }, + { 0x1EEB, 0x1EEA }, + { 0x1EED, 0x1EEC }, + { 0x1EEF, 0x1EEE }, + { 0x1EF1, 0x1EF0 }, + { 0x1EF3, 0x1EF2 }, + { 0x1EF5, 0x1EF4 }, + { 0x1EF7, 0x1EF6 }, + { 0x1EF9, 0x1EF8 }, + { 0x1EFB, 0x1EFA }, + { 0x1EFD, 0x1EFC }, + { 0x1EFF, 0x1EFE }, + { 0x1F00, 0x1F08 }, + { 0x1F01, 0x1F09 }, + { 0x1F02, 0x1F0A }, + { 0x1F03, 0x1F0B }, + { 0x1F04, 0x1F0C }, + { 0x1F05, 0x1F0D }, + { 0x1F06, 0x1F0E }, + { 0x1F07, 0x1F0F }, + { 0x1F10, 0x1F18 }, + { 0x1F11, 0x1F19 }, + { 0x1F12, 0x1F1A }, + { 0x1F13, 0x1F1B }, + { 0x1F14, 0x1F1C }, + { 0x1F15, 0x1F1D }, + { 0x1F20, 0x1F28 }, + { 0x1F21, 0x1F29 }, + { 0x1F22, 0x1F2A }, + { 0x1F23, 0x1F2B }, + { 0x1F24, 0x1F2C }, + { 0x1F25, 0x1F2D }, + { 0x1F26, 0x1F2E }, + { 0x1F27, 0x1F2F }, + { 0x1F30, 0x1F38 }, + { 0x1F31, 0x1F39 }, + { 0x1F32, 0x1F3A }, + { 0x1F33, 0x1F3B }, + { 0x1F34, 0x1F3C }, + { 0x1F35, 0x1F3D }, + { 0x1F36, 0x1F3E }, + { 0x1F37, 0x1F3F }, + { 0x1F40, 0x1F48 }, + { 0x1F41, 0x1F49 }, + { 0x1F42, 0x1F4A }, + { 0x1F43, 0x1F4B }, + { 0x1F44, 0x1F4C }, + { 0x1F45, 0x1F4D }, + { 0x1F51, 0x1F59 }, + { 0x1F53, 0x1F5B }, + { 0x1F55, 0x1F5D }, + { 0x1F57, 0x1F5F }, + { 0x1F60, 0x1F68 }, + { 0x1F61, 0x1F69 }, + { 0x1F62, 0x1F6A }, + { 0x1F63, 0x1F6B }, + { 0x1F64, 0x1F6C }, + { 0x1F65, 0x1F6D }, + { 0x1F66, 0x1F6E }, + { 0x1F67, 0x1F6F }, + { 0x1F70, 0x1FBA }, + { 0x1F71, 0x1FBB }, + { 0x1F72, 0x1FC8 }, + { 0x1F73, 0x1FC9 }, + { 0x1F74, 0x1FCA }, + { 0x1F75, 0x1FCB }, + { 0x1F76, 0x1FDA }, + { 0x1F77, 0x1FDB }, + { 0x1F78, 0x1FF8 }, + { 0x1F79, 0x1FF9 }, + { 0x1F7A, 0x1FEA }, + { 0x1F7B, 0x1FEB }, + { 0x1F7C, 0x1FFA }, + { 0x1F7D, 0x1FFB }, + { 0x1F80, 0x1F88 }, + { 0x1F81, 0x1F89 }, + { 0x1F82, 0x1F8A }, + { 0x1F83, 0x1F8B }, + { 0x1F84, 0x1F8C }, + { 0x1F85, 0x1F8D }, + { 0x1F86, 0x1F8E }, + { 0x1F87, 0x1F8F }, + { 0x1F90, 0x1F98 }, + { 0x1F91, 0x1F99 }, + { 0x1F92, 0x1F9A }, + { 0x1F93, 0x1F9B }, + { 0x1F94, 0x1F9C }, + { 0x1F95, 0x1F9D }, + { 0x1F96, 0x1F9E }, + { 0x1F97, 0x1F9F }, + { 0x1FA0, 0x1FA8 }, + { 0x1FA1, 0x1FA9 }, + { 0x1FA2, 0x1FAA }, + { 0x1FA3, 0x1FAB }, + { 0x1FA4, 0x1FAC }, + { 0x1FA5, 0x1FAD }, + { 0x1FA6, 0x1FAE }, + { 0x1FA7, 0x1FAF }, + { 0x1FB0, 0x1FB8 }, + { 0x1FB1, 0x1FB9 }, + { 0x1FB3, 0x1FBC }, + { 0x1FBE, 0x0399 }, + { 0x1FC3, 0x1FCC }, + { 0x1FD0, 0x1FD8 }, + { 0x1FD1, 0x1FD9 }, + { 0x1FE0, 0x1FE8 }, + { 0x1FE1, 0x1FE9 }, + { 0x1FE5, 0x1FEC }, + { 0x1FF3, 0x1FFC }, + { 0x214E, 0x2132 }, + { 0x2170, 0x2160 }, + { 0x2171, 0x2161 }, + { 0x2172, 0x2162 }, + { 0x2173, 0x2163 }, + { 0x2174, 0x2164 }, + { 0x2175, 0x2165 }, + { 0x2176, 0x2166 }, + { 0x2177, 0x2167 }, + { 0x2178, 0x2168 }, + { 0x2179, 0x2169 }, + { 0x217A, 0x216A }, + { 0x217B, 0x216B }, + { 0x217C, 0x216C }, + { 0x217D, 0x216D }, + { 0x217E, 0x216E }, + { 0x217F, 0x216F }, + { 0x2184, 0x2183 }, + { 0x24D0, 0x24B6 }, + { 0x24D1, 0x24B7 }, + { 0x24D2, 0x24B8 }, + { 0x24D3, 0x24B9 }, + { 0x24D4, 0x24BA }, + { 0x24D5, 0x24BB }, + { 0x24D6, 0x24BC }, + { 0x24D7, 0x24BD }, + { 0x24D8, 0x24BE }, + { 0x24D9, 0x24BF }, + { 0x24DA, 0x24C0 }, + { 0x24DB, 0x24C1 }, + { 0x24DC, 0x24C2 }, + { 0x24DD, 0x24C3 }, + { 0x24DE, 0x24C4 }, + { 0x24DF, 0x24C5 }, + { 0x24E0, 0x24C6 }, + { 0x24E1, 0x24C7 }, + { 0x24E2, 0x24C8 }, + { 0x24E3, 0x24C9 }, + { 0x24E4, 0x24CA }, + { 0x24E5, 0x24CB }, + { 0x24E6, 0x24CC }, + { 0x24E7, 0x24CD }, + { 0x24E8, 0x24CE }, + { 0x24E9, 0x24CF }, + { 0x2C30, 0x2C00 }, + { 0x2C31, 0x2C01 }, + { 0x2C32, 0x2C02 }, + { 0x2C33, 0x2C03 }, + { 0x2C34, 0x2C04 }, + { 0x2C35, 0x2C05 }, + { 0x2C36, 0x2C06 }, + { 0x2C37, 0x2C07 }, + { 0x2C38, 0x2C08 }, + { 0x2C39, 0x2C09 }, + { 0x2C3A, 0x2C0A }, + { 0x2C3B, 0x2C0B }, + { 0x2C3C, 0x2C0C }, + { 0x2C3D, 0x2C0D }, + { 0x2C3E, 0x2C0E }, + { 0x2C3F, 0x2C0F }, + { 0x2C40, 0x2C10 }, + { 0x2C41, 0x2C11 }, + { 0x2C42, 0x2C12 }, + { 0x2C43, 0x2C13 }, + { 0x2C44, 0x2C14 }, + { 0x2C45, 0x2C15 }, + { 0x2C46, 0x2C16 }, + { 0x2C47, 0x2C17 }, + { 0x2C48, 0x2C18 }, + { 0x2C49, 0x2C19 }, + { 0x2C4A, 0x2C1A }, + { 0x2C4B, 0x2C1B }, + { 0x2C4C, 0x2C1C }, + { 0x2C4D, 0x2C1D }, + { 0x2C4E, 0x2C1E }, + { 0x2C4F, 0x2C1F }, + { 0x2C50, 0x2C20 }, + { 0x2C51, 0x2C21 }, + { 0x2C52, 0x2C22 }, + { 0x2C53, 0x2C23 }, + { 0x2C54, 0x2C24 }, + { 0x2C55, 0x2C25 }, + { 0x2C56, 0x2C26 }, + { 0x2C57, 0x2C27 }, + { 0x2C58, 0x2C28 }, + { 0x2C59, 0x2C29 }, + { 0x2C5A, 0x2C2A }, + { 0x2C5B, 0x2C2B }, + { 0x2C5C, 0x2C2C }, + { 0x2C5D, 0x2C2D }, + { 0x2C5E, 0x2C2E }, + { 0x2C61, 0x2C60 }, + { 0x2C65, 0x023A }, + { 0x2C66, 0x023E }, + { 0x2C68, 0x2C67 }, + { 0x2C6A, 0x2C69 }, + { 0x2C6C, 0x2C6B }, + { 0x2C73, 0x2C72 }, + { 0x2C76, 0x2C75 }, + { 0x2C81, 0x2C80 }, + { 0x2C83, 0x2C82 }, + { 0x2C85, 0x2C84 }, + { 0x2C87, 0x2C86 }, + { 0x2C89, 0x2C88 }, + { 0x2C8B, 0x2C8A }, + { 0x2C8D, 0x2C8C }, + { 0x2C8F, 0x2C8E }, + { 0x2C91, 0x2C90 }, + { 0x2C93, 0x2C92 }, + { 0x2C95, 0x2C94 }, + { 0x2C97, 0x2C96 }, + { 0x2C99, 0x2C98 }, + { 0x2C9B, 0x2C9A }, + { 0x2C9D, 0x2C9C }, + { 0x2C9F, 0x2C9E }, + { 0x2CA1, 0x2CA0 }, + { 0x2CA3, 0x2CA2 }, + { 0x2CA5, 0x2CA4 }, + { 0x2CA7, 0x2CA6 }, + { 0x2CA9, 0x2CA8 }, + { 0x2CAB, 0x2CAA }, + { 0x2CAD, 0x2CAC }, + { 0x2CAF, 0x2CAE }, + { 0x2CB1, 0x2CB0 }, + { 0x2CB3, 0x2CB2 }, + { 0x2CB5, 0x2CB4 }, + { 0x2CB7, 0x2CB6 }, + { 0x2CB9, 0x2CB8 }, + { 0x2CBB, 0x2CBA }, + { 0x2CBD, 0x2CBC }, + { 0x2CBF, 0x2CBE }, + { 0x2CC1, 0x2CC0 }, + { 0x2CC3, 0x2CC2 }, + { 0x2CC5, 0x2CC4 }, + { 0x2CC7, 0x2CC6 }, + { 0x2CC9, 0x2CC8 }, + { 0x2CCB, 0x2CCA }, + { 0x2CCD, 0x2CCC }, + { 0x2CCF, 0x2CCE }, + { 0x2CD1, 0x2CD0 }, + { 0x2CD3, 0x2CD2 }, + { 0x2CD5, 0x2CD4 }, + { 0x2CD7, 0x2CD6 }, + { 0x2CD9, 0x2CD8 }, + { 0x2CDB, 0x2CDA }, + { 0x2CDD, 0x2CDC }, + { 0x2CDF, 0x2CDE }, + { 0x2CE1, 0x2CE0 }, + { 0x2CE3, 0x2CE2 }, + { 0x2D00, 0x10A0 }, + { 0x2D01, 0x10A1 }, + { 0x2D02, 0x10A2 }, + { 0x2D03, 0x10A3 }, + { 0x2D04, 0x10A4 }, + { 0x2D05, 0x10A5 }, + { 0x2D06, 0x10A6 }, + { 0x2D07, 0x10A7 }, + { 0x2D08, 0x10A8 }, + { 0x2D09, 0x10A9 }, + { 0x2D0A, 0x10AA }, + { 0x2D0B, 0x10AB }, + { 0x2D0C, 0x10AC }, + { 0x2D0D, 0x10AD }, + { 0x2D0E, 0x10AE }, + { 0x2D0F, 0x10AF }, + { 0x2D10, 0x10B0 }, + { 0x2D11, 0x10B1 }, + { 0x2D12, 0x10B2 }, + { 0x2D13, 0x10B3 }, + { 0x2D14, 0x10B4 }, + { 0x2D15, 0x10B5 }, + { 0x2D16, 0x10B6 }, + { 0x2D17, 0x10B7 }, + { 0x2D18, 0x10B8 }, + { 0x2D19, 0x10B9 }, + { 0x2D1A, 0x10BA }, + { 0x2D1B, 0x10BB }, + { 0x2D1C, 0x10BC }, + { 0x2D1D, 0x10BD }, + { 0x2D1E, 0x10BE }, + { 0x2D1F, 0x10BF }, + { 0x2D20, 0x10C0 }, + { 0x2D21, 0x10C1 }, + { 0x2D22, 0x10C2 }, + { 0x2D23, 0x10C3 }, + { 0x2D24, 0x10C4 }, + { 0x2D25, 0x10C5 }, + { 0xA641, 0xA640 }, + { 0xA643, 0xA642 }, + { 0xA645, 0xA644 }, + { 0xA647, 0xA646 }, + { 0xA649, 0xA648 }, + { 0xA64B, 0xA64A }, + { 0xA64D, 0xA64C }, + { 0xA64F, 0xA64E }, + { 0xA651, 0xA650 }, + { 0xA653, 0xA652 }, + { 0xA655, 0xA654 }, + { 0xA657, 0xA656 }, + { 0xA659, 0xA658 }, + { 0xA65B, 0xA65A }, + { 0xA65D, 0xA65C }, + { 0xA65F, 0xA65E }, + { 0xA663, 0xA662 }, + { 0xA665, 0xA664 }, + { 0xA667, 0xA666 }, + { 0xA669, 0xA668 }, + { 0xA66B, 0xA66A }, + { 0xA66D, 0xA66C }, + { 0xA681, 0xA680 }, + { 0xA683, 0xA682 }, + { 0xA685, 0xA684 }, + { 0xA687, 0xA686 }, + { 0xA689, 0xA688 }, + { 0xA68B, 0xA68A }, + { 0xA68D, 0xA68C }, + { 0xA68F, 0xA68E }, + { 0xA691, 0xA690 }, + { 0xA693, 0xA692 }, + { 0xA695, 0xA694 }, + { 0xA697, 0xA696 }, + { 0xA723, 0xA722 }, + { 0xA725, 0xA724 }, + { 0xA727, 0xA726 }, + { 0xA729, 0xA728 }, + { 0xA72B, 0xA72A }, + { 0xA72D, 0xA72C }, + { 0xA72F, 0xA72E }, + { 0xA733, 0xA732 }, + { 0xA735, 0xA734 }, + { 0xA737, 0xA736 }, + { 0xA739, 0xA738 }, + { 0xA73B, 0xA73A }, + { 0xA73D, 0xA73C }, + { 0xA73F, 0xA73E }, + { 0xA741, 0xA740 }, + { 0xA743, 0xA742 }, + { 0xA745, 0xA744 }, + { 0xA747, 0xA746 }, + { 0xA749, 0xA748 }, + { 0xA74B, 0xA74A }, + { 0xA74D, 0xA74C }, + { 0xA74F, 0xA74E }, + { 0xA751, 0xA750 }, + { 0xA753, 0xA752 }, + { 0xA755, 0xA754 }, + { 0xA757, 0xA756 }, + { 0xA759, 0xA758 }, + { 0xA75B, 0xA75A }, + { 0xA75D, 0xA75C }, + { 0xA75F, 0xA75E }, + { 0xA761, 0xA760 }, + { 0xA763, 0xA762 }, + { 0xA765, 0xA764 }, + { 0xA767, 0xA766 }, + { 0xA769, 0xA768 }, + { 0xA76B, 0xA76A }, + { 0xA76D, 0xA76C }, + { 0xA76F, 0xA76E }, + { 0xA77A, 0xA779 }, + { 0xA77C, 0xA77B }, + { 0xA77F, 0xA77E }, + { 0xA781, 0xA780 }, + { 0xA783, 0xA782 }, + { 0xA785, 0xA784 }, + { 0xA787, 0xA786 }, + { 0xA78C, 0xA78B }, + { 0xFF41, 0xFF21 }, + { 0xFF42, 0xFF22 }, + { 0xFF43, 0xFF23 }, + { 0xFF44, 0xFF24 }, + { 0xFF45, 0xFF25 }, + { 0xFF46, 0xFF26 }, + { 0xFF47, 0xFF27 }, + { 0xFF48, 0xFF28 }, + { 0xFF49, 0xFF29 }, + { 0xFF4A, 0xFF2A }, + { 0xFF4B, 0xFF2B }, + { 0xFF4C, 0xFF2C }, + { 0xFF4D, 0xFF2D }, + { 0xFF4E, 0xFF2E }, + { 0xFF4F, 0xFF2F }, + { 0xFF50, 0xFF30 }, + { 0xFF51, 0xFF31 }, + { 0xFF52, 0xFF32 }, + { 0xFF53, 0xFF33 }, + { 0xFF54, 0xFF34 }, + { 0xFF55, 0xFF35 }, + { 0xFF56, 0xFF36 }, + { 0xFF57, 0xFF37 }, + { 0xFF58, 0xFF38 }, + { 0xFF59, 0xFF39 }, + { 0xFF5A, 0xFF3A }, + { 0x10428, 0x10400 }, + { 0x10429, 0x10401 }, + { 0x1042A, 0x10402 }, + { 0x1042B, 0x10403 }, + { 0x1042C, 0x10404 }, + { 0x1042D, 0x10405 }, + { 0x1042E, 0x10406 }, + { 0x1042F, 0x10407 }, + { 0x10430, 0x10408 }, + { 0x10431, 0x10409 }, + { 0x10432, 0x1040A }, + { 0x10433, 0x1040B }, + { 0x10434, 0x1040C }, + { 0x10435, 0x1040D }, + { 0x10436, 0x1040E }, + { 0x10437, 0x1040F }, + { 0x10438, 0x10410 }, + { 0x10439, 0x10411 }, + { 0x1043A, 0x10412 }, + { 0x1043B, 0x10413 }, + { 0x1043C, 0x10414 }, + { 0x1043D, 0x10415 }, + { 0x1043E, 0x10416 }, + { 0x1043F, 0x10417 }, + { 0x10440, 0x10418 }, + { 0x10441, 0x10419 }, + { 0x10442, 0x1041A }, + { 0x10443, 0x1041B }, + { 0x10444, 0x1041C }, + { 0x10445, 0x1041D }, + { 0x10446, 0x1041E }, + { 0x10447, 0x1041F }, + { 0x10448, 0x10420 }, + { 0x10449, 0x10421 }, + { 0x1044A, 0x10422 }, + { 0x1044B, 0x10423 }, + { 0x1044C, 0x10424 }, + { 0x1044D, 0x10425 }, + { 0x1044E, 0x10426 }, + { 0x1044F, 0x10427 } + +#define MAP(c) uc_totitle (c) +#include "test-mapping-part2.h" diff --git a/tests/unicase/test-uc_toupper.c b/tests/unicase/test-uc_toupper.c new file mode 100644 index 00000000..ed242a07 --- /dev/null +++ b/tests/unicase/test-uc_toupper.c @@ -0,0 +1,1055 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character mapping functions. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Generated automatically by gen-case.c for Unicode 5.1.0. */ + +#include "test-mapping-part1.h" + + { 0x0061, 0x0041 }, + { 0x0062, 0x0042 }, + { 0x0063, 0x0043 }, + { 0x0064, 0x0044 }, + { 0x0065, 0x0045 }, + { 0x0066, 0x0046 }, + { 0x0067, 0x0047 }, + { 0x0068, 0x0048 }, + { 0x0069, 0x0049 }, + { 0x006A, 0x004A }, + { 0x006B, 0x004B }, + { 0x006C, 0x004C }, + { 0x006D, 0x004D }, + { 0x006E, 0x004E }, + { 0x006F, 0x004F }, + { 0x0070, 0x0050 }, + { 0x0071, 0x0051 }, + { 0x0072, 0x0052 }, + { 0x0073, 0x0053 }, + { 0x0074, 0x0054 }, + { 0x0075, 0x0055 }, + { 0x0076, 0x0056 }, + { 0x0077, 0x0057 }, + { 0x0078, 0x0058 }, + { 0x0079, 0x0059 }, + { 0x007A, 0x005A }, + { 0x00B5, 0x039C }, + { 0x00E0, 0x00C0 }, + { 0x00E1, 0x00C1 }, + { 0x00E2, 0x00C2 }, + { 0x00E3, 0x00C3 }, + { 0x00E4, 0x00C4 }, + { 0x00E5, 0x00C5 }, + { 0x00E6, 0x00C6 }, + { 0x00E7, 0x00C7 }, + { 0x00E8, 0x00C8 }, + { 0x00E9, 0x00C9 }, + { 0x00EA, 0x00CA }, + { 0x00EB, 0x00CB }, + { 0x00EC, 0x00CC }, + { 0x00ED, 0x00CD }, + { 0x00EE, 0x00CE }, + { 0x00EF, 0x00CF }, + { 0x00F0, 0x00D0 }, + { 0x00F1, 0x00D1 }, + { 0x00F2, 0x00D2 }, + { 0x00F3, 0x00D3 }, + { 0x00F4, 0x00D4 }, + { 0x00F5, 0x00D5 }, + { 0x00F6, 0x00D6 }, + { 0x00F8, 0x00D8 }, + { 0x00F9, 0x00D9 }, + { 0x00FA, 0x00DA }, + { 0x00FB, 0x00DB }, + { 0x00FC, 0x00DC }, + { 0x00FD, 0x00DD }, + { 0x00FE, 0x00DE }, + { 0x00FF, 0x0178 }, + { 0x0101, 0x0100 }, + { 0x0103, 0x0102 }, + { 0x0105, 0x0104 }, + { 0x0107, 0x0106 }, + { 0x0109, 0x0108 }, + { 0x010B, 0x010A }, + { 0x010D, 0x010C }, + { 0x010F, 0x010E }, + { 0x0111, 0x0110 }, + { 0x0113, 0x0112 }, + { 0x0115, 0x0114 }, + { 0x0117, 0x0116 }, + { 0x0119, 0x0118 }, + { 0x011B, 0x011A }, + { 0x011D, 0x011C }, + { 0x011F, 0x011E }, + { 0x0121, 0x0120 }, + { 0x0123, 0x0122 }, + { 0x0125, 0x0124 }, + { 0x0127, 0x0126 }, + { 0x0129, 0x0128 }, + { 0x012B, 0x012A }, + { 0x012D, 0x012C }, + { 0x012F, 0x012E }, + { 0x0131, 0x0049 }, + { 0x0133, 0x0132 }, + { 0x0135, 0x0134 }, + { 0x0137, 0x0136 }, + { 0x013A, 0x0139 }, + { 0x013C, 0x013B }, + { 0x013E, 0x013D }, + { 0x0140, 0x013F }, + { 0x0142, 0x0141 }, + { 0x0144, 0x0143 }, + { 0x0146, 0x0145 }, + { 0x0148, 0x0147 }, + { 0x014B, 0x014A }, + { 0x014D, 0x014C }, + { 0x014F, 0x014E }, + { 0x0151, 0x0150 }, + { 0x0153, 0x0152 }, + { 0x0155, 0x0154 }, + { 0x0157, 0x0156 }, + { 0x0159, 0x0158 }, + { 0x015B, 0x015A }, + { 0x015D, 0x015C }, + { 0x015F, 0x015E }, + { 0x0161, 0x0160 }, + { 0x0163, 0x0162 }, + { 0x0165, 0x0164 }, + { 0x0167, 0x0166 }, + { 0x0169, 0x0168 }, + { 0x016B, 0x016A }, + { 0x016D, 0x016C }, + { 0x016F, 0x016E }, + { 0x0171, 0x0170 }, + { 0x0173, 0x0172 }, + { 0x0175, 0x0174 }, + { 0x0177, 0x0176 }, + { 0x017A, 0x0179 }, + { 0x017C, 0x017B }, + { 0x017E, 0x017D }, + { 0x017F, 0x0053 }, + { 0x0180, 0x0243 }, + { 0x0183, 0x0182 }, + { 0x0185, 0x0184 }, + { 0x0188, 0x0187 }, + { 0x018C, 0x018B }, + { 0x0192, 0x0191 }, + { 0x0195, 0x01F6 }, + { 0x0199, 0x0198 }, + { 0x019A, 0x023D }, + { 0x019E, 0x0220 }, + { 0x01A1, 0x01A0 }, + { 0x01A3, 0x01A2 }, + { 0x01A5, 0x01A4 }, + { 0x01A8, 0x01A7 }, + { 0x01AD, 0x01AC }, + { 0x01B0, 0x01AF }, + { 0x01B4, 0x01B3 }, + { 0x01B6, 0x01B5 }, + { 0x01B9, 0x01B8 }, + { 0x01BD, 0x01BC }, + { 0x01BF, 0x01F7 }, + { 0x01C5, 0x01C4 }, + { 0x01C6, 0x01C4 }, + { 0x01C8, 0x01C7 }, + { 0x01C9, 0x01C7 }, + { 0x01CB, 0x01CA }, + { 0x01CC, 0x01CA }, + { 0x01CE, 0x01CD }, + { 0x01D0, 0x01CF }, + { 0x01D2, 0x01D1 }, + { 0x01D4, 0x01D3 }, + { 0x01D6, 0x01D5 }, + { 0x01D8, 0x01D7 }, + { 0x01DA, 0x01D9 }, + { 0x01DC, 0x01DB }, + { 0x01DD, 0x018E }, + { 0x01DF, 0x01DE }, + { 0x01E1, 0x01E0 }, + { 0x01E3, 0x01E2 }, + { 0x01E5, 0x01E4 }, + { 0x01E7, 0x01E6 }, + { 0x01E9, 0x01E8 }, + { 0x01EB, 0x01EA }, + { 0x01ED, 0x01EC }, + { 0x01EF, 0x01EE }, + { 0x01F2, 0x01F1 }, + { 0x01F3, 0x01F1 }, + { 0x01F5, 0x01F4 }, + { 0x01F9, 0x01F8 }, + { 0x01FB, 0x01FA }, + { 0x01FD, 0x01FC }, + { 0x01FF, 0x01FE }, + { 0x0201, 0x0200 }, + { 0x0203, 0x0202 }, + { 0x0205, 0x0204 }, + { 0x0207, 0x0206 }, + { 0x0209, 0x0208 }, + { 0x020B, 0x020A }, + { 0x020D, 0x020C }, + { 0x020F, 0x020E }, + { 0x0211, 0x0210 }, + { 0x0213, 0x0212 }, + { 0x0215, 0x0214 }, + { 0x0217, 0x0216 }, + { 0x0219, 0x0218 }, + { 0x021B, 0x021A }, + { 0x021D, 0x021C }, + { 0x021F, 0x021E }, + { 0x0223, 0x0222 }, + { 0x0225, 0x0224 }, + { 0x0227, 0x0226 }, + { 0x0229, 0x0228 }, + { 0x022B, 0x022A }, + { 0x022D, 0x022C }, + { 0x022F, 0x022E }, + { 0x0231, 0x0230 }, + { 0x0233, 0x0232 }, + { 0x023C, 0x023B }, + { 0x0242, 0x0241 }, + { 0x0247, 0x0246 }, + { 0x0249, 0x0248 }, + { 0x024B, 0x024A }, + { 0x024D, 0x024C }, + { 0x024F, 0x024E }, + { 0x0250, 0x2C6F }, + { 0x0251, 0x2C6D }, + { 0x0253, 0x0181 }, + { 0x0254, 0x0186 }, + { 0x0256, 0x0189 }, + { 0x0257, 0x018A }, + { 0x0259, 0x018F }, + { 0x025B, 0x0190 }, + { 0x0260, 0x0193 }, + { 0x0263, 0x0194 }, + { 0x0268, 0x0197 }, + { 0x0269, 0x0196 }, + { 0x026B, 0x2C62 }, + { 0x026F, 0x019C }, + { 0x0271, 0x2C6E }, + { 0x0272, 0x019D }, + { 0x0275, 0x019F }, + { 0x027D, 0x2C64 }, + { 0x0280, 0x01A6 }, + { 0x0283, 0x01A9 }, + { 0x0288, 0x01AE }, + { 0x0289, 0x0244 }, + { 0x028A, 0x01B1 }, + { 0x028B, 0x01B2 }, + { 0x028C, 0x0245 }, + { 0x0292, 0x01B7 }, + { 0x0345, 0x0399 }, + { 0x0371, 0x0370 }, + { 0x0373, 0x0372 }, + { 0x0377, 0x0376 }, + { 0x037B, 0x03FD }, + { 0x037C, 0x03FE }, + { 0x037D, 0x03FF }, + { 0x03AC, 0x0386 }, + { 0x03AD, 0x0388 }, + { 0x03AE, 0x0389 }, + { 0x03AF, 0x038A }, + { 0x03B1, 0x0391 }, + { 0x03B2, 0x0392 }, + { 0x03B3, 0x0393 }, + { 0x03B4, 0x0394 }, + { 0x03B5, 0x0395 }, + { 0x03B6, 0x0396 }, + { 0x03B7, 0x0397 }, + { 0x03B8, 0x0398 }, + { 0x03B9, 0x0399 }, + { 0x03BA, 0x039A }, + { 0x03BB, 0x039B }, + { 0x03BC, 0x039C }, + { 0x03BD, 0x039D }, + { 0x03BE, 0x039E }, + { 0x03BF, 0x039F }, + { 0x03C0, 0x03A0 }, + { 0x03C1, 0x03A1 }, + { 0x03C2, 0x03A3 }, + { 0x03C3, 0x03A3 }, + { 0x03C4, 0x03A4 }, + { 0x03C5, 0x03A5 }, + { 0x03C6, 0x03A6 }, + { 0x03C7, 0x03A7 }, + { 0x03C8, 0x03A8 }, + { 0x03C9, 0x03A9 }, + { 0x03CA, 0x03AA }, + { 0x03CB, 0x03AB }, + { 0x03CC, 0x038C }, + { 0x03CD, 0x038E }, + { 0x03CE, 0x038F }, + { 0x03D0, 0x0392 }, + { 0x03D1, 0x0398 }, + { 0x03D5, 0x03A6 }, + { 0x03D6, 0x03A0 }, + { 0x03D7, 0x03CF }, + { 0x03D9, 0x03D8 }, + { 0x03DB, 0x03DA }, + { 0x03DD, 0x03DC }, + { 0x03DF, 0x03DE }, + { 0x03E1, 0x03E0 }, + { 0x03E3, 0x03E2 }, + { 0x03E5, 0x03E4 }, + { 0x03E7, 0x03E6 }, + { 0x03E9, 0x03E8 }, + { 0x03EB, 0x03EA }, + { 0x03ED, 0x03EC }, + { 0x03EF, 0x03EE }, + { 0x03F0, 0x039A }, + { 0x03F1, 0x03A1 }, + { 0x03F2, 0x03F9 }, + { 0x03F5, 0x0395 }, + { 0x03F8, 0x03F7 }, + { 0x03FB, 0x03FA }, + { 0x0430, 0x0410 }, + { 0x0431, 0x0411 }, + { 0x0432, 0x0412 }, + { 0x0433, 0x0413 }, + { 0x0434, 0x0414 }, + { 0x0435, 0x0415 }, + { 0x0436, 0x0416 }, + { 0x0437, 0x0417 }, + { 0x0438, 0x0418 }, + { 0x0439, 0x0419 }, + { 0x043A, 0x041A }, + { 0x043B, 0x041B }, + { 0x043C, 0x041C }, + { 0x043D, 0x041D }, + { 0x043E, 0x041E }, + { 0x043F, 0x041F }, + { 0x0440, 0x0420 }, + { 0x0441, 0x0421 }, + { 0x0442, 0x0422 }, + { 0x0443, 0x0423 }, + { 0x0444, 0x0424 }, + { 0x0445, 0x0425 }, + { 0x0446, 0x0426 }, + { 0x0447, 0x0427 }, + { 0x0448, 0x0428 }, + { 0x0449, 0x0429 }, + { 0x044A, 0x042A }, + { 0x044B, 0x042B }, + { 0x044C, 0x042C }, + { 0x044D, 0x042D }, + { 0x044E, 0x042E }, + { 0x044F, 0x042F }, + { 0x0450, 0x0400 }, + { 0x0451, 0x0401 }, + { 0x0452, 0x0402 }, + { 0x0453, 0x0403 }, + { 0x0454, 0x0404 }, + { 0x0455, 0x0405 }, + { 0x0456, 0x0406 }, + { 0x0457, 0x0407 }, + { 0x0458, 0x0408 }, + { 0x0459, 0x0409 }, + { 0x045A, 0x040A }, + { 0x045B, 0x040B }, + { 0x045C, 0x040C }, + { 0x045D, 0x040D }, + { 0x045E, 0x040E }, + { 0x045F, 0x040F }, + { 0x0461, 0x0460 }, + { 0x0463, 0x0462 }, + { 0x0465, 0x0464 }, + { 0x0467, 0x0466 }, + { 0x0469, 0x0468 }, + { 0x046B, 0x046A }, + { 0x046D, 0x046C }, + { 0x046F, 0x046E }, + { 0x0471, 0x0470 }, + { 0x0473, 0x0472 }, + { 0x0475, 0x0474 }, + { 0x0477, 0x0476 }, + { 0x0479, 0x0478 }, + { 0x047B, 0x047A }, + { 0x047D, 0x047C }, + { 0x047F, 0x047E }, + { 0x0481, 0x0480 }, + { 0x048B, 0x048A }, + { 0x048D, 0x048C }, + { 0x048F, 0x048E }, + { 0x0491, 0x0490 }, + { 0x0493, 0x0492 }, + { 0x0495, 0x0494 }, + { 0x0497, 0x0496 }, + { 0x0499, 0x0498 }, + { 0x049B, 0x049A }, + { 0x049D, 0x049C }, + { 0x049F, 0x049E }, + { 0x04A1, 0x04A0 }, + { 0x04A3, 0x04A2 }, + { 0x04A5, 0x04A4 }, + { 0x04A7, 0x04A6 }, + { 0x04A9, 0x04A8 }, + { 0x04AB, 0x04AA }, + { 0x04AD, 0x04AC }, + { 0x04AF, 0x04AE }, + { 0x04B1, 0x04B0 }, + { 0x04B3, 0x04B2 }, + { 0x04B5, 0x04B4 }, + { 0x04B7, 0x04B6 }, + { 0x04B9, 0x04B8 }, + { 0x04BB, 0x04BA }, + { 0x04BD, 0x04BC }, + { 0x04BF, 0x04BE }, + { 0x04C2, 0x04C1 }, + { 0x04C4, 0x04C3 }, + { 0x04C6, 0x04C5 }, + { 0x04C8, 0x04C7 }, + { 0x04CA, 0x04C9 }, + { 0x04CC, 0x04CB }, + { 0x04CE, 0x04CD }, + { 0x04CF, 0x04C0 }, + { 0x04D1, 0x04D0 }, + { 0x04D3, 0x04D2 }, + { 0x04D5, 0x04D4 }, + { 0x04D7, 0x04D6 }, + { 0x04D9, 0x04D8 }, + { 0x04DB, 0x04DA }, + { 0x04DD, 0x04DC }, + { 0x04DF, 0x04DE }, + { 0x04E1, 0x04E0 }, + { 0x04E3, 0x04E2 }, + { 0x04E5, 0x04E4 }, + { 0x04E7, 0x04E6 }, + { 0x04E9, 0x04E8 }, + { 0x04EB, 0x04EA }, + { 0x04ED, 0x04EC }, + { 0x04EF, 0x04EE }, + { 0x04F1, 0x04F0 }, + { 0x04F3, 0x04F2 }, + { 0x04F5, 0x04F4 }, + { 0x04F7, 0x04F6 }, + { 0x04F9, 0x04F8 }, + { 0x04FB, 0x04FA }, + { 0x04FD, 0x04FC }, + { 0x04FF, 0x04FE }, + { 0x0501, 0x0500 }, + { 0x0503, 0x0502 }, + { 0x0505, 0x0504 }, + { 0x0507, 0x0506 }, + { 0x0509, 0x0508 }, + { 0x050B, 0x050A }, + { 0x050D, 0x050C }, + { 0x050F, 0x050E }, + { 0x0511, 0x0510 }, + { 0x0513, 0x0512 }, + { 0x0515, 0x0514 }, + { 0x0517, 0x0516 }, + { 0x0519, 0x0518 }, + { 0x051B, 0x051A }, + { 0x051D, 0x051C }, + { 0x051F, 0x051E }, + { 0x0521, 0x0520 }, + { 0x0523, 0x0522 }, + { 0x0561, 0x0531 }, + { 0x0562, 0x0532 }, + { 0x0563, 0x0533 }, + { 0x0564, 0x0534 }, + { 0x0565, 0x0535 }, + { 0x0566, 0x0536 }, + { 0x0567, 0x0537 }, + { 0x0568, 0x0538 }, + { 0x0569, 0x0539 }, + { 0x056A, 0x053A }, + { 0x056B, 0x053B }, + { 0x056C, 0x053C }, + { 0x056D, 0x053D }, + { 0x056E, 0x053E }, + { 0x056F, 0x053F }, + { 0x0570, 0x0540 }, + { 0x0571, 0x0541 }, + { 0x0572, 0x0542 }, + { 0x0573, 0x0543 }, + { 0x0574, 0x0544 }, + { 0x0575, 0x0545 }, + { 0x0576, 0x0546 }, + { 0x0577, 0x0547 }, + { 0x0578, 0x0548 }, + { 0x0579, 0x0549 }, + { 0x057A, 0x054A }, + { 0x057B, 0x054B }, + { 0x057C, 0x054C }, + { 0x057D, 0x054D }, + { 0x057E, 0x054E }, + { 0x057F, 0x054F }, + { 0x0580, 0x0550 }, + { 0x0581, 0x0551 }, + { 0x0582, 0x0552 }, + { 0x0583, 0x0553 }, + { 0x0584, 0x0554 }, + { 0x0585, 0x0555 }, + { 0x0586, 0x0556 }, + { 0x1D79, 0xA77D }, + { 0x1D7D, 0x2C63 }, + { 0x1E01, 0x1E00 }, + { 0x1E03, 0x1E02 }, + { 0x1E05, 0x1E04 }, + { 0x1E07, 0x1E06 }, + { 0x1E09, 0x1E08 }, + { 0x1E0B, 0x1E0A }, + { 0x1E0D, 0x1E0C }, + { 0x1E0F, 0x1E0E }, + { 0x1E11, 0x1E10 }, + { 0x1E13, 0x1E12 }, + { 0x1E15, 0x1E14 }, + { 0x1E17, 0x1E16 }, + { 0x1E19, 0x1E18 }, + { 0x1E1B, 0x1E1A }, + { 0x1E1D, 0x1E1C }, + { 0x1E1F, 0x1E1E }, + { 0x1E21, 0x1E20 }, + { 0x1E23, 0x1E22 }, + { 0x1E25, 0x1E24 }, + { 0x1E27, 0x1E26 }, + { 0x1E29, 0x1E28 }, + { 0x1E2B, 0x1E2A }, + { 0x1E2D, 0x1E2C }, + { 0x1E2F, 0x1E2E }, + { 0x1E31, 0x1E30 }, + { 0x1E33, 0x1E32 }, + { 0x1E35, 0x1E34 }, + { 0x1E37, 0x1E36 }, + { 0x1E39, 0x1E38 }, + { 0x1E3B, 0x1E3A }, + { 0x1E3D, 0x1E3C }, + { 0x1E3F, 0x1E3E }, + { 0x1E41, 0x1E40 }, + { 0x1E43, 0x1E42 }, + { 0x1E45, 0x1E44 }, + { 0x1E47, 0x1E46 }, + { 0x1E49, 0x1E48 }, + { 0x1E4B, 0x1E4A }, + { 0x1E4D, 0x1E4C }, + { 0x1E4F, 0x1E4E }, + { 0x1E51, 0x1E50 }, + { 0x1E53, 0x1E52 }, + { 0x1E55, 0x1E54 }, + { 0x1E57, 0x1E56 }, + { 0x1E59, 0x1E58 }, + { 0x1E5B, 0x1E5A }, + { 0x1E5D, 0x1E5C }, + { 0x1E5F, 0x1E5E }, + { 0x1E61, 0x1E60 }, + { 0x1E63, 0x1E62 }, + { 0x1E65, 0x1E64 }, + { 0x1E67, 0x1E66 }, + { 0x1E69, 0x1E68 }, + { 0x1E6B, 0x1E6A }, + { 0x1E6D, 0x1E6C }, + { 0x1E6F, 0x1E6E }, + { 0x1E71, 0x1E70 }, + { 0x1E73, 0x1E72 }, + { 0x1E75, 0x1E74 }, + { 0x1E77, 0x1E76 }, + { 0x1E79, 0x1E78 }, + { 0x1E7B, 0x1E7A }, + { 0x1E7D, 0x1E7C }, + { 0x1E7F, 0x1E7E }, + { 0x1E81, 0x1E80 }, + { 0x1E83, 0x1E82 }, + { 0x1E85, 0x1E84 }, + { 0x1E87, 0x1E86 }, + { 0x1E89, 0x1E88 }, + { 0x1E8B, 0x1E8A }, + { 0x1E8D, 0x1E8C }, + { 0x1E8F, 0x1E8E }, + { 0x1E91, 0x1E90 }, + { 0x1E93, 0x1E92 }, + { 0x1E95, 0x1E94 }, + { 0x1E9B, 0x1E60 }, + { 0x1EA1, 0x1EA0 }, + { 0x1EA3, 0x1EA2 }, + { 0x1EA5, 0x1EA4 }, + { 0x1EA7, 0x1EA6 }, + { 0x1EA9, 0x1EA8 }, + { 0x1EAB, 0x1EAA }, + { 0x1EAD, 0x1EAC }, + { 0x1EAF, 0x1EAE }, + { 0x1EB1, 0x1EB0 }, + { 0x1EB3, 0x1EB2 }, + { 0x1EB5, 0x1EB4 }, + { 0x1EB7, 0x1EB6 }, + { 0x1EB9, 0x1EB8 }, + { 0x1EBB, 0x1EBA }, + { 0x1EBD, 0x1EBC }, + { 0x1EBF, 0x1EBE }, + { 0x1EC1, 0x1EC0 }, + { 0x1EC3, 0x1EC2 }, + { 0x1EC5, 0x1EC4 }, + { 0x1EC7, 0x1EC6 }, + { 0x1EC9, 0x1EC8 }, + { 0x1ECB, 0x1ECA }, + { 0x1ECD, 0x1ECC }, + { 0x1ECF, 0x1ECE }, + { 0x1ED1, 0x1ED0 }, + { 0x1ED3, 0x1ED2 }, + { 0x1ED5, 0x1ED4 }, + { 0x1ED7, 0x1ED6 }, + { 0x1ED9, 0x1ED8 }, + { 0x1EDB, 0x1EDA }, + { 0x1EDD, 0x1EDC }, + { 0x1EDF, 0x1EDE }, + { 0x1EE1, 0x1EE0 }, + { 0x1EE3, 0x1EE2 }, + { 0x1EE5, 0x1EE4 }, + { 0x1EE7, 0x1EE6 }, + { 0x1EE9, 0x1EE8 }, + { 0x1EEB, 0x1EEA }, + { 0x1EED, 0x1EEC }, + { 0x1EEF, 0x1EEE }, + { 0x1EF1, 0x1EF0 }, + { 0x1EF3, 0x1EF2 }, + { 0x1EF5, 0x1EF4 }, + { 0x1EF7, 0x1EF6 }, + { 0x1EF9, 0x1EF8 }, + { 0x1EFB, 0x1EFA }, + { 0x1EFD, 0x1EFC }, + { 0x1EFF, 0x1EFE }, + { 0x1F00, 0x1F08 }, + { 0x1F01, 0x1F09 }, + { 0x1F02, 0x1F0A }, + { 0x1F03, 0x1F0B }, + { 0x1F04, 0x1F0C }, + { 0x1F05, 0x1F0D }, + { 0x1F06, 0x1F0E }, + { 0x1F07, 0x1F0F }, + { 0x1F10, 0x1F18 }, + { 0x1F11, 0x1F19 }, + { 0x1F12, 0x1F1A }, + { 0x1F13, 0x1F1B }, + { 0x1F14, 0x1F1C }, + { 0x1F15, 0x1F1D }, + { 0x1F20, 0x1F28 }, + { 0x1F21, 0x1F29 }, + { 0x1F22, 0x1F2A }, + { 0x1F23, 0x1F2B }, + { 0x1F24, 0x1F2C }, + { 0x1F25, 0x1F2D }, + { 0x1F26, 0x1F2E }, + { 0x1F27, 0x1F2F }, + { 0x1F30, 0x1F38 }, + { 0x1F31, 0x1F39 }, + { 0x1F32, 0x1F3A }, + { 0x1F33, 0x1F3B }, + { 0x1F34, 0x1F3C }, + { 0x1F35, 0x1F3D }, + { 0x1F36, 0x1F3E }, + { 0x1F37, 0x1F3F }, + { 0x1F40, 0x1F48 }, + { 0x1F41, 0x1F49 }, + { 0x1F42, 0x1F4A }, + { 0x1F43, 0x1F4B }, + { 0x1F44, 0x1F4C }, + { 0x1F45, 0x1F4D }, + { 0x1F51, 0x1F59 }, + { 0x1F53, 0x1F5B }, + { 0x1F55, 0x1F5D }, + { 0x1F57, 0x1F5F }, + { 0x1F60, 0x1F68 }, + { 0x1F61, 0x1F69 }, + { 0x1F62, 0x1F6A }, + { 0x1F63, 0x1F6B }, + { 0x1F64, 0x1F6C }, + { 0x1F65, 0x1F6D }, + { 0x1F66, 0x1F6E }, + { 0x1F67, 0x1F6F }, + { 0x1F70, 0x1FBA }, + { 0x1F71, 0x1FBB }, + { 0x1F72, 0x1FC8 }, + { 0x1F73, 0x1FC9 }, + { 0x1F74, 0x1FCA }, + { 0x1F75, 0x1FCB }, + { 0x1F76, 0x1FDA }, + { 0x1F77, 0x1FDB }, + { 0x1F78, 0x1FF8 }, + { 0x1F79, 0x1FF9 }, + { 0x1F7A, 0x1FEA }, + { 0x1F7B, 0x1FEB }, + { 0x1F7C, 0x1FFA }, + { 0x1F7D, 0x1FFB }, + { 0x1F80, 0x1F88 }, + { 0x1F81, 0x1F89 }, + { 0x1F82, 0x1F8A }, + { 0x1F83, 0x1F8B }, + { 0x1F84, 0x1F8C }, + { 0x1F85, 0x1F8D }, + { 0x1F86, 0x1F8E }, + { 0x1F87, 0x1F8F }, + { 0x1F90, 0x1F98 }, + { 0x1F91, 0x1F99 }, + { 0x1F92, 0x1F9A }, + { 0x1F93, 0x1F9B }, + { 0x1F94, 0x1F9C }, + { 0x1F95, 0x1F9D }, + { 0x1F96, 0x1F9E }, + { 0x1F97, 0x1F9F }, + { 0x1FA0, 0x1FA8 }, + { 0x1FA1, 0x1FA9 }, + { 0x1FA2, 0x1FAA }, + { 0x1FA3, 0x1FAB }, + { 0x1FA4, 0x1FAC }, + { 0x1FA5, 0x1FAD }, + { 0x1FA6, 0x1FAE }, + { 0x1FA7, 0x1FAF }, + { 0x1FB0, 0x1FB8 }, + { 0x1FB1, 0x1FB9 }, + { 0x1FB3, 0x1FBC }, + { 0x1FBE, 0x0399 }, + { 0x1FC3, 0x1FCC }, + { 0x1FD0, 0x1FD8 }, + { 0x1FD1, 0x1FD9 }, + { 0x1FE0, 0x1FE8 }, + { 0x1FE1, 0x1FE9 }, + { 0x1FE5, 0x1FEC }, + { 0x1FF3, 0x1FFC }, + { 0x214E, 0x2132 }, + { 0x2170, 0x2160 }, + { 0x2171, 0x2161 }, + { 0x2172, 0x2162 }, + { 0x2173, 0x2163 }, + { 0x2174, 0x2164 }, + { 0x2175, 0x2165 }, + { 0x2176, 0x2166 }, + { 0x2177, 0x2167 }, + { 0x2178, 0x2168 }, + { 0x2179, 0x2169 }, + { 0x217A, 0x216A }, + { 0x217B, 0x216B }, + { 0x217C, 0x216C }, + { 0x217D, 0x216D }, + { 0x217E, 0x216E }, + { 0x217F, 0x216F }, + { 0x2184, 0x2183 }, + { 0x24D0, 0x24B6 }, + { 0x24D1, 0x24B7 }, + { 0x24D2, 0x24B8 }, + { 0x24D3, 0x24B9 }, + { 0x24D4, 0x24BA }, + { 0x24D5, 0x24BB }, + { 0x24D6, 0x24BC }, + { 0x24D7, 0x24BD }, + { 0x24D8, 0x24BE }, + { 0x24D9, 0x24BF }, + { 0x24DA, 0x24C0 }, + { 0x24DB, 0x24C1 }, + { 0x24DC, 0x24C2 }, + { 0x24DD, 0x24C3 }, + { 0x24DE, 0x24C4 }, + { 0x24DF, 0x24C5 }, + { 0x24E0, 0x24C6 }, + { 0x24E1, 0x24C7 }, + { 0x24E2, 0x24C8 }, + { 0x24E3, 0x24C9 }, + { 0x24E4, 0x24CA }, + { 0x24E5, 0x24CB }, + { 0x24E6, 0x24CC }, + { 0x24E7, 0x24CD }, + { 0x24E8, 0x24CE }, + { 0x24E9, 0x24CF }, + { 0x2C30, 0x2C00 }, + { 0x2C31, 0x2C01 }, + { 0x2C32, 0x2C02 }, + { 0x2C33, 0x2C03 }, + { 0x2C34, 0x2C04 }, + { 0x2C35, 0x2C05 }, + { 0x2C36, 0x2C06 }, + { 0x2C37, 0x2C07 }, + { 0x2C38, 0x2C08 }, + { 0x2C39, 0x2C09 }, + { 0x2C3A, 0x2C0A }, + { 0x2C3B, 0x2C0B }, + { 0x2C3C, 0x2C0C }, + { 0x2C3D, 0x2C0D }, + { 0x2C3E, 0x2C0E }, + { 0x2C3F, 0x2C0F }, + { 0x2C40, 0x2C10 }, + { 0x2C41, 0x2C11 }, + { 0x2C42, 0x2C12 }, + { 0x2C43, 0x2C13 }, + { 0x2C44, 0x2C14 }, + { 0x2C45, 0x2C15 }, + { 0x2C46, 0x2C16 }, + { 0x2C47, 0x2C17 }, + { 0x2C48, 0x2C18 }, + { 0x2C49, 0x2C19 }, + { 0x2C4A, 0x2C1A }, + { 0x2C4B, 0x2C1B }, + { 0x2C4C, 0x2C1C }, + { 0x2C4D, 0x2C1D }, + { 0x2C4E, 0x2C1E }, + { 0x2C4F, 0x2C1F }, + { 0x2C50, 0x2C20 }, + { 0x2C51, 0x2C21 }, + { 0x2C52, 0x2C22 }, + { 0x2C53, 0x2C23 }, + { 0x2C54, 0x2C24 }, + { 0x2C55, 0x2C25 }, + { 0x2C56, 0x2C26 }, + { 0x2C57, 0x2C27 }, + { 0x2C58, 0x2C28 }, + { 0x2C59, 0x2C29 }, + { 0x2C5A, 0x2C2A }, + { 0x2C5B, 0x2C2B }, + { 0x2C5C, 0x2C2C }, + { 0x2C5D, 0x2C2D }, + { 0x2C5E, 0x2C2E }, + { 0x2C61, 0x2C60 }, + { 0x2C65, 0x023A }, + { 0x2C66, 0x023E }, + { 0x2C68, 0x2C67 }, + { 0x2C6A, 0x2C69 }, + { 0x2C6C, 0x2C6B }, + { 0x2C73, 0x2C72 }, + { 0x2C76, 0x2C75 }, + { 0x2C81, 0x2C80 }, + { 0x2C83, 0x2C82 }, + { 0x2C85, 0x2C84 }, + { 0x2C87, 0x2C86 }, + { 0x2C89, 0x2C88 }, + { 0x2C8B, 0x2C8A }, + { 0x2C8D, 0x2C8C }, + { 0x2C8F, 0x2C8E }, + { 0x2C91, 0x2C90 }, + { 0x2C93, 0x2C92 }, + { 0x2C95, 0x2C94 }, + { 0x2C97, 0x2C96 }, + { 0x2C99, 0x2C98 }, + { 0x2C9B, 0x2C9A }, + { 0x2C9D, 0x2C9C }, + { 0x2C9F, 0x2C9E }, + { 0x2CA1, 0x2CA0 }, + { 0x2CA3, 0x2CA2 }, + { 0x2CA5, 0x2CA4 }, + { 0x2CA7, 0x2CA6 }, + { 0x2CA9, 0x2CA8 }, + { 0x2CAB, 0x2CAA }, + { 0x2CAD, 0x2CAC }, + { 0x2CAF, 0x2CAE }, + { 0x2CB1, 0x2CB0 }, + { 0x2CB3, 0x2CB2 }, + { 0x2CB5, 0x2CB4 }, + { 0x2CB7, 0x2CB6 }, + { 0x2CB9, 0x2CB8 }, + { 0x2CBB, 0x2CBA }, + { 0x2CBD, 0x2CBC }, + { 0x2CBF, 0x2CBE }, + { 0x2CC1, 0x2CC0 }, + { 0x2CC3, 0x2CC2 }, + { 0x2CC5, 0x2CC4 }, + { 0x2CC7, 0x2CC6 }, + { 0x2CC9, 0x2CC8 }, + { 0x2CCB, 0x2CCA }, + { 0x2CCD, 0x2CCC }, + { 0x2CCF, 0x2CCE }, + { 0x2CD1, 0x2CD0 }, + { 0x2CD3, 0x2CD2 }, + { 0x2CD5, 0x2CD4 }, + { 0x2CD7, 0x2CD6 }, + { 0x2CD9, 0x2CD8 }, + { 0x2CDB, 0x2CDA }, + { 0x2CDD, 0x2CDC }, + { 0x2CDF, 0x2CDE }, + { 0x2CE1, 0x2CE0 }, + { 0x2CE3, 0x2CE2 }, + { 0x2D00, 0x10A0 }, + { 0x2D01, 0x10A1 }, + { 0x2D02, 0x10A2 }, + { 0x2D03, 0x10A3 }, + { 0x2D04, 0x10A4 }, + { 0x2D05, 0x10A5 }, + { 0x2D06, 0x10A6 }, + { 0x2D07, 0x10A7 }, + { 0x2D08, 0x10A8 }, + { 0x2D09, 0x10A9 }, + { 0x2D0A, 0x10AA }, + { 0x2D0B, 0x10AB }, + { 0x2D0C, 0x10AC }, + { 0x2D0D, 0x10AD }, + { 0x2D0E, 0x10AE }, + { 0x2D0F, 0x10AF }, + { 0x2D10, 0x10B0 }, + { 0x2D11, 0x10B1 }, + { 0x2D12, 0x10B2 }, + { 0x2D13, 0x10B3 }, + { 0x2D14, 0x10B4 }, + { 0x2D15, 0x10B5 }, + { 0x2D16, 0x10B6 }, + { 0x2D17, 0x10B7 }, + { 0x2D18, 0x10B8 }, + { 0x2D19, 0x10B9 }, + { 0x2D1A, 0x10BA }, + { 0x2D1B, 0x10BB }, + { 0x2D1C, 0x10BC }, + { 0x2D1D, 0x10BD }, + { 0x2D1E, 0x10BE }, + { 0x2D1F, 0x10BF }, + { 0x2D20, 0x10C0 }, + { 0x2D21, 0x10C1 }, + { 0x2D22, 0x10C2 }, + { 0x2D23, 0x10C3 }, + { 0x2D24, 0x10C4 }, + { 0x2D25, 0x10C5 }, + { 0xA641, 0xA640 }, + { 0xA643, 0xA642 }, + { 0xA645, 0xA644 }, + { 0xA647, 0xA646 }, + { 0xA649, 0xA648 }, + { 0xA64B, 0xA64A }, + { 0xA64D, 0xA64C }, + { 0xA64F, 0xA64E }, + { 0xA651, 0xA650 }, + { 0xA653, 0xA652 }, + { 0xA655, 0xA654 }, + { 0xA657, 0xA656 }, + { 0xA659, 0xA658 }, + { 0xA65B, 0xA65A }, + { 0xA65D, 0xA65C }, + { 0xA65F, 0xA65E }, + { 0xA663, 0xA662 }, + { 0xA665, 0xA664 }, + { 0xA667, 0xA666 }, + { 0xA669, 0xA668 }, + { 0xA66B, 0xA66A }, + { 0xA66D, 0xA66C }, + { 0xA681, 0xA680 }, + { 0xA683, 0xA682 }, + { 0xA685, 0xA684 }, + { 0xA687, 0xA686 }, + { 0xA689, 0xA688 }, + { 0xA68B, 0xA68A }, + { 0xA68D, 0xA68C }, + { 0xA68F, 0xA68E }, + { 0xA691, 0xA690 }, + { 0xA693, 0xA692 }, + { 0xA695, 0xA694 }, + { 0xA697, 0xA696 }, + { 0xA723, 0xA722 }, + { 0xA725, 0xA724 }, + { 0xA727, 0xA726 }, + { 0xA729, 0xA728 }, + { 0xA72B, 0xA72A }, + { 0xA72D, 0xA72C }, + { 0xA72F, 0xA72E }, + { 0xA733, 0xA732 }, + { 0xA735, 0xA734 }, + { 0xA737, 0xA736 }, + { 0xA739, 0xA738 }, + { 0xA73B, 0xA73A }, + { 0xA73D, 0xA73C }, + { 0xA73F, 0xA73E }, + { 0xA741, 0xA740 }, + { 0xA743, 0xA742 }, + { 0xA745, 0xA744 }, + { 0xA747, 0xA746 }, + { 0xA749, 0xA748 }, + { 0xA74B, 0xA74A }, + { 0xA74D, 0xA74C }, + { 0xA74F, 0xA74E }, + { 0xA751, 0xA750 }, + { 0xA753, 0xA752 }, + { 0xA755, 0xA754 }, + { 0xA757, 0xA756 }, + { 0xA759, 0xA758 }, + { 0xA75B, 0xA75A }, + { 0xA75D, 0xA75C }, + { 0xA75F, 0xA75E }, + { 0xA761, 0xA760 }, + { 0xA763, 0xA762 }, + { 0xA765, 0xA764 }, + { 0xA767, 0xA766 }, + { 0xA769, 0xA768 }, + { 0xA76B, 0xA76A }, + { 0xA76D, 0xA76C }, + { 0xA76F, 0xA76E }, + { 0xA77A, 0xA779 }, + { 0xA77C, 0xA77B }, + { 0xA77F, 0xA77E }, + { 0xA781, 0xA780 }, + { 0xA783, 0xA782 }, + { 0xA785, 0xA784 }, + { 0xA787, 0xA786 }, + { 0xA78C, 0xA78B }, + { 0xFF41, 0xFF21 }, + { 0xFF42, 0xFF22 }, + { 0xFF43, 0xFF23 }, + { 0xFF44, 0xFF24 }, + { 0xFF45, 0xFF25 }, + { 0xFF46, 0xFF26 }, + { 0xFF47, 0xFF27 }, + { 0xFF48, 0xFF28 }, + { 0xFF49, 0xFF29 }, + { 0xFF4A, 0xFF2A }, + { 0xFF4B, 0xFF2B }, + { 0xFF4C, 0xFF2C }, + { 0xFF4D, 0xFF2D }, + { 0xFF4E, 0xFF2E }, + { 0xFF4F, 0xFF2F }, + { 0xFF50, 0xFF30 }, + { 0xFF51, 0xFF31 }, + { 0xFF52, 0xFF32 }, + { 0xFF53, 0xFF33 }, + { 0xFF54, 0xFF34 }, + { 0xFF55, 0xFF35 }, + { 0xFF56, 0xFF36 }, + { 0xFF57, 0xFF37 }, + { 0xFF58, 0xFF38 }, + { 0xFF59, 0xFF39 }, + { 0xFF5A, 0xFF3A }, + { 0x10428, 0x10400 }, + { 0x10429, 0x10401 }, + { 0x1042A, 0x10402 }, + { 0x1042B, 0x10403 }, + { 0x1042C, 0x10404 }, + { 0x1042D, 0x10405 }, + { 0x1042E, 0x10406 }, + { 0x1042F, 0x10407 }, + { 0x10430, 0x10408 }, + { 0x10431, 0x10409 }, + { 0x10432, 0x1040A }, + { 0x10433, 0x1040B }, + { 0x10434, 0x1040C }, + { 0x10435, 0x1040D }, + { 0x10436, 0x1040E }, + { 0x10437, 0x1040F }, + { 0x10438, 0x10410 }, + { 0x10439, 0x10411 }, + { 0x1043A, 0x10412 }, + { 0x1043B, 0x10413 }, + { 0x1043C, 0x10414 }, + { 0x1043D, 0x10415 }, + { 0x1043E, 0x10416 }, + { 0x1043F, 0x10417 }, + { 0x10440, 0x10418 }, + { 0x10441, 0x10419 }, + { 0x10442, 0x1041A }, + { 0x10443, 0x1041B }, + { 0x10444, 0x1041C }, + { 0x10445, 0x1041D }, + { 0x10446, 0x1041E }, + { 0x10447, 0x1041F }, + { 0x10448, 0x10420 }, + { 0x10449, 0x10421 }, + { 0x1044A, 0x10422 }, + { 0x1044B, 0x10423 }, + { 0x1044C, 0x10424 }, + { 0x1044D, 0x10425 }, + { 0x1044E, 0x10426 }, + { 0x1044F, 0x10427 } + +#define MAP(c) uc_toupper (c) +#include "test-mapping-part2.h" diff --git a/tests/unicase/test-ulc-casecmp.c b/tests/unicase/test-ulc-casecmp.c new file mode 100644 index 00000000..5450ef31 --- /dev/null +++ b/tests/unicase/test-ulc-casecmp.c @@ -0,0 +1,408 @@ +/* Test of case and normalization insensitive comparison of strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT char +#include "test-casecmp.h" +#undef UNIT + +static void +test_iso_8859_1 (int (*my_casecmp) (const char *, size_t, const char *, size_t, const char *, uninorm_t, int *)) +{ + { + static const char input1[] = { 'H', 0xF6, 'h', 'l', 'e' }; + static const char input2[] = { 'H', 0xD6, 'h', 'L', 'e' }; + static const char input3[] = { 'H', 0xF6, 'h', 'l', 'e', 'n' }; + static const char input4[] = { 'H', 0xD6, 'h', 'L', 'e', 'n' }; + static const char input5[] = { 'H', 'u', 'r', 'z' }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input1, SIZEOF (input1), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input3, SIZEOF (input3), input4, SIZEOF (input4), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input4, SIZEOF (input4), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input4, SIZEOF (input4), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input5, SIZEOF (input5), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input5, SIZEOF (input5), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const char input1[] = { 0x68, 0x65, 0x69, 0xDF }; + static const char input2[] = { 0x68, 0x65, 0x69, 0x73, 0x73 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + } +} + +static void +test_utf_8 (int (*my_casecmp) (const char *, size_t, const char *, size_t, const char *, uninorm_t, int *)) +{ + /* Normalization effects. */ + { + static const char input1[] = { 'H', 0xC3, 0xB6, 'h', 'l', 'e' }; + static const char input2[] = { 'H', 'O', 0xCC, 0x88, 'h', 'L', 'e' }; + static const char input3[] = { 'H', 0xC3, 0xB6, 'h', 'l', 'e', 'n' }; + static const char input4[] = { 'H', 'O', 0xCC, 0x88, 'h', 'L', 'e', 'n' }; + static const char input5[] = { 'H', 'u', 'r', 'z' }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input1, SIZEOF (input1), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input3, SIZEOF (input3), input4, SIZEOF (input4), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input4, SIZEOF (input4), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input4, SIZEOF (input4), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input5, SIZEOF (input5), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input5, SIZEOF (input5), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const char input1[] = { 0xC3, 0x84 }; + static const char input2[] = { 0x41, 0xCC, 0x88 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const char input1[] = { 0xC7, 0x9E }; + static const char input2[] = { 0x41, 0xCC, 0x88, 0xCC, 0x84 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const char input1[] = { 0xE1, 0xBF, 0x81 }; + static const char input2[] = { 0xC2, 0xA8, 0xCD, 0x82 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEUL */ + static const char input1[] = { 0xEA, 0xB8, 0x80 }; + static const char input2[] = { 0xEA, 0xB7, 0xB8, 0xE1, 0x86, 0xAF }; + static const char input3[] = { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3, 0xE1, 0x86, 0xAF }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEU */ + static const char input1[] = { 0xEA, 0xB7, 0xB8 }; + static const char input2[] = { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Simple string. */ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const char input1[] = + { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', ' ', + 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, 0x81, + 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5, + '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, 's', 'q', 'r', 't', '(', + 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + static const char input2[] = + { 'g', 'r', 0xC3, 0xBC, 0x73, 0x73, ' ', 'g', 'o', 't', 't', '.', ' ', + 0xD0, 0xB7, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, 0x81, + 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5, + '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, 's', 'q', 'r', 't', '(', + 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + static const char input3[] = + { 'G', 'R', 0xC3, 0x9C, 0x53, 0x53, ' ', 'G', 'O', 'T', 'T', '.', ' ', + 0xD0, 0x97, 0xD0, 0x94, 0xD0, 0xA0, 0xD0, 0x90, 0xD0, 0x92, 0xD0, 0xA1, + 0xD0, 0xA2, 0xD0, 0x92, 0xD0, 0xA3, 0xD0, 0x99, 0xD0, 0xA2, 0xD0, 0x95, + '!', ' ', 'X', '=', '(', '-', 'B', 0xC2, 0xB1, 'S', 'Q', 'R', 'T', '(', + 'B', 0xC2, 0xB2, '-', '4', 'A', 'C', ')', ')', '/', '(', '2', 'A', ')', + ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', + 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\n' + }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mapping can increase the number of Unicode characters. */ + { /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + static const char input1[] = { 0xC5, 0x89 }; + static const char input2[] = { 0xCA, 0xBC, 0x6E }; + static const char input3[] = { 0xCA, 0xBC, 0x4E }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ + static const char input1[] = { 0xCE, 0x90 }; + static const char input2[] = { 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Turkish letters i İ ı I */ + { /* LATIN CAPITAL LETTER I */ + static const char input[] = { 0x49 }; + static const char casefolded[] = { 0x69 }; + static const char casefolded_tr[] = { 0xC4, 0xB1 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN SMALL LETTER I */ + static const char input[] = { 0x69 }; + static const char casefolded[] = { 0x49 }; + static const char casefolded_tr[] = { 0xC4, 0xB0 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + static const char input[] = { 0xC4, 0xB0 }; + static const char casefolded[] = { 0x69, 0xCC, 0x87 }; + static const char casefolded_tr[] = { 0x69 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_tr, SIZEOF (casefolded_tr), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN SMALL LETTER DOTLESS I */ + static const char input[] = { 0xC4, 0xB1 }; + static const char casefolded[] = { 0x49 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 1); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* "topkapı" */ + static const char input[] = + { 0x54, 0x4F, 0x50, 0x4B, 0x41, 0x50, 0x49 }; + static const char casefolded[] = + { 0x74, 0x6F, 0x70, 0x6B, 0x61, 0x70, 0xC4, 0xB1 }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), "tr", NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Uppercasing can increase the number of Unicode characters. */ + { /* "heiß" */ + static const char input1[] = { 0x68, 0x65, 0x69, 0xC3, 0x9F }; + static const char input2[] = { 0x68, 0x65, 0x69, 0x73, 0x73 }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mappings for some characters can depend on the surrounding characters. */ + { /* "περισσότερες πληροφορίες" */ + static const char input1[] = + { + 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x83, + 0xCF, 0x8C, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x82, + ' ', 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, + 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xAF, 0xCE, 0xB5, 0xCF, 0x82 + }; + static const char input2[] = + { + 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x83, + 0xCF, 0x8C, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x83, + ' ', 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, + 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xAF, 0xCE, 0xB5, 0xCF, 0x83 + }; + static const char input3[] = + { + 0xCE, 0xA0, 0xCE, 0x95, 0xCE, 0xA1, 0xCE, 0x99, 0xCE, 0xA3, 0xCE, 0xA3, + 0xCE, 0x8C, 0xCE, 0xA4, 0xCE, 0x95, 0xCE, 0xA1, 0xCE, 0x95, 0xCE, 0xA3, + ' ', 0xCE, 0xA0, 0xCE, 0x9B, 0xCE, 0x97, 0xCE, 0xA1, 0xCE, 0x9F, + 0xCE, 0xA6, 0xCE, 0x9F, 0xCE, 0xA1, 0xCE, 0x8A, 0xCE, 0x95, 0xCE, 0xA3 + }; + int cmp; + + ASSERT (my_casecmp (input1, SIZEOF (input1), input2, SIZEOF (input2), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input1, SIZEOF (input1), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input2, SIZEOF (input2), input3, SIZEOF (input3), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Case mapping can require subsequent normalization. */ + { /* LATIN SMALL LETTER J WITH CARON, COMBINING DOT BELOW */ + static const char input[] = { 0xC7, 0xB0, 0xCC, 0xA3 }; + static const char casefolded[] = { 0x6A, 0xCC, 0x8C, 0xCC, 0xA3 }; + static const char casefolded_decomposed[] = { 0x6A, 0xCC, 0xA3, 0xCC, 0x8C }; + int cmp; + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, NULL, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_decomposed, SIZEOF (casefolded_decomposed), NULL, NULL, &cmp) == 0); + ASSERT (cmp != 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded, SIZEOF (casefolded), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_casecmp (input, SIZEOF (input), casefolded_decomposed, SIZEOF (casefolded_decomposed), NULL, UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } +} + +int +main (int argc, char *argv[]) +{ + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + test_ascii (ulc_casecmp, UNINORM_NFD); + + if (argc > 1) + switch (argv[1][0]) + { + case '1': + /* Locale encoding is ISO-8859-1 or ISO-8859-15. */ + test_iso_8859_1 (ulc_casecmp); + return 0; + + case '2': + /* Locale encoding is UTF-8. */ + test_utf_8 (ulc_casecmp); + return 0; + } + + return 1; +} diff --git a/tests/unicase/test-ulc-casecmp1.sh b/tests/unicase/test-ulc-casecmp1.sh new file mode 100755 index 00000000..7be2cca1 --- /dev/null +++ b/tests/unicase/test-ulc-casecmp1.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Test in an ISO-8859-1 or ISO-8859-15 locale. +: ${LOCALE_FR=fr_FR} +if test $LOCALE_FR = none; then + if test -f /usr/bin/localedef; then + echo "Skipping test: no traditional french locale is installed" + else + echo "Skipping test: no traditional french locale is supported" + fi + exit 77 +fi + +LC_ALL=$LOCALE_FR \ +./test-ulc-casecmp${EXEEXT} 1 diff --git a/tests/unicase/test-ulc-casecmp2.sh b/tests/unicase/test-ulc-casecmp2.sh new file mode 100755 index 00000000..a7f06e88 --- /dev/null +++ b/tests/unicase/test-ulc-casecmp2.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Test whether a specific UTF-8 locale is installed. +: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +if test $LOCALE_FR_UTF8 = none; then + if test -f /usr/bin/localedef; then + echo "Skipping test: no french Unicode locale is installed" + else + echo "Skipping test: no french Unicode locale is supported" + fi + exit 77 +fi + +LC_ALL=$LOCALE_FR_UTF8 \ +./test-ulc-casecmp${EXEEXT} 2 diff --git a/tests/unicase/test-ulc-casecoll.c b/tests/unicase/test-ulc-casecoll.c new file mode 100644 index 00000000..a0875f44 --- /dev/null +++ b/tests/unicase/test-ulc-casecoll.c @@ -0,0 +1,59 @@ +/* Test of locale dependent, case and normalization insensitive comparison of + strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "unicase.h" + +#include +#include +#include + +#include "uninorm.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define UNIT char +#include "test-casecmp.h" +#undef UNIT + +int +main () +{ + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + /* In the "C" locale, strcoll is equivalent to strcmp, therefore u8_casecoll + on ASCII strings should behave like strcasecmp. */ + test_ascii (ulc_casecoll, UNINORM_NFC); + + return 0; +} diff --git a/tests/unicase/test-ulc-casecoll1.sh b/tests/unicase/test-ulc-casecoll1.sh new file mode 100755 index 00000000..3760ed82 --- /dev/null +++ b/tests/unicase/test-ulc-casecoll1.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Test in an ISO-8859-1 or ISO-8859-15 locale. +: ${LOCALE_FR=fr_FR} +if test $LOCALE_FR = none; then + if test -f /usr/bin/localedef; then + echo "Skipping test: no traditional french locale is installed" + else + echo "Skipping test: no traditional french locale is supported" + fi + exit 77 +fi + +LC_ALL=$LOCALE_FR \ +./test-ulc-casecoll${EXEEXT} diff --git a/tests/unicase/test-ulc-casecoll2.sh b/tests/unicase/test-ulc-casecoll2.sh new file mode 100755 index 00000000..b179a4c6 --- /dev/null +++ b/tests/unicase/test-ulc-casecoll2.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Test whether a specific UTF-8 locale is installed. +: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +if test $LOCALE_FR_UTF8 = none; then + if test -f /usr/bin/localedef; then + echo "Skipping test: no french Unicode locale is installed" + else + echo "Skipping test: no french Unicode locale is supported" + fi + exit 77 +fi + +LC_ALL=$LOCALE_FR_UTF8 \ +./test-ulc-casecoll${EXEEXT} diff --git a/tests/uniconv/test-u16-conv-from-enc.c b/tests/uniconv/test-u16-conv-from-enc.c new file mode 100644 index 00000000..ac7617b3 --- /dev/null +++ b/tests/uniconv/test-u16-conv-from-enc.c @@ -0,0 +1,232 @@ +/* Test of conversion to UTF-16 from legacy encodings. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* Magic number for detecting bounds violations. */ +#define MAGIC 0x1983EFF1 + +static size_t * +new_offsets (size_t n) +{ + size_t *offsets = (size_t *) malloc ((n + 1) * sizeof (size_t)); + offsets[n] = MAGIC; + return offsets; +} + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + size_t o; + size_t i; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from ISO-8859-1 to UTF-16 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const uint16_t expected[] = /* Ärger mit bösen Bübchen ohne Augenmaß */ + { + 0xC4, 'r', 'g', 'e', 'r', ' ', 'm', 'i', 't', ' ', 'b', 0xF6, 's', + 'e', 'n', ' ', 'B', 0xFC, 'b', 'c', 'h', 'e', 'n', ' ', 'o', 'h', + 'n', 'e', ' ', 'A', 'u', 'g', 'e', 'n', 'm', 'a', 0xDF + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint16_t *result = u16_conv_from_encoding ("ISO-8859-1", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == SIZEOF (expected)); + ASSERT (u16_cmp (result, expected, SIZEOF (expected)) == 0); + if (o) + { + for (i = 0; i < 37; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[37] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from ISO-8859-2 to UTF-16 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + static const uint16_t expected[] = + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i' + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint16_t *result = u16_conv_from_encoding ("ISO-8859-2", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == SIZEOF (expected)); + ASSERT (u16_cmp (result, expected, SIZEOF (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */ +# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__) + /* Test conversions from autodetect_jp to UTF-16. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\244\263\244\363\244\313\244\301\244\317"; /* こんにちは in EUC-JP */ + static const uint16_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint16_t *result = u16_conv_from_encoding ("autodetect_jp", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == SIZEOF (expected)); + ASSERT (u16_cmp (result, expected, SIZEOF (expected)) == 0); + if (o) + { + for (i = 0; i < 10; i++) + ASSERT (offsets[i] == ((i % 2) == 0 ? i / 2 : (size_t)(-1))); + ASSERT (offsets[10] == MAGIC); + free (offsets); + } + free (result); + } + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\202\261\202\361\202\311\202\277\202\315"; /* こんにちは in Shift_JIS */ + static const uint16_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint16_t *result = u16_conv_from_encoding ("autodetect_jp", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == SIZEOF (expected)); + ASSERT (u16_cmp (result, expected, SIZEOF (expected)) == 0); + if (o) + { + for (i = 0; i < 10; i++) + ASSERT (offsets[i] == ((i % 2) == 0 ? i / 2 : (size_t)(-1))); + ASSERT (offsets[10] == MAGIC); + free (offsets); + } + free (result); + } + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\033$B$3$s$K$A$O\033(B"; /* こんにちは in ISO-2022-JP-2 */ + static const uint16_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint16_t *result = u16_conv_from_encoding ("autodetect_jp", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == SIZEOF (expected)); + ASSERT (u16_cmp (result, expected, SIZEOF (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == (i == 0 ? 0 : + i == 5 ? 1 : + i == 7 ? 2 : + i == 9 ? 3 : + i == 11 ? 4 : + i == 13 ? 5 : + (size_t)(-1))); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + } +# endif + +#endif + + return 0; +} diff --git a/tests/uniconv/test-u16-conv-to-enc.c b/tests/uniconv/test-u16-conv-to-enc.c new file mode 100644 index 00000000..a2dc3c68 --- /dev/null +++ b/tests/uniconv/test-u16-conv-to-enc.c @@ -0,0 +1,188 @@ +/* Test of conversion from UTF-16 to legacy encodings. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* Magic number for detecting bounds violations. */ +#define MAGIC 0x1983EFF1 + +static size_t * +new_offsets (size_t n) +{ + size_t *offsets = (size_t *) malloc ((n + 1) * sizeof (size_t)); + offsets[n] = MAGIC; + return offsets; +} + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + size_t o; + size_t i; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from UTF-16 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint16_t input[] = /* Ärger mit bösen Bübchen ohne Augenmaß */ + { + 0xC4, 'r', 'g', 'e', 'r', ' ', 'm', 'i', 't', ' ', 'b', 0xF6, 's', + 'e', 'n', ' ', 'B', 0xFC, 'b', 'c', 'h', 'e', 'n', ' ', 'o', 'h', + 'n', 'e', ' ', 'A', 'u', 'g', 'e', 'n', 'm', 'a', 0xDF + }; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (SIZEOF (input)) : NULL); + size_t length; + char *result = u16_conv_to_encoding ("ISO-8859-1", handler, + input, SIZEOF (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == strlen (expected)); + ASSERT (memcmp (result, expected, length) == 0); + if (o) + { + for (i = 0; i < 37; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[37] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from UTF-16 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint16_t input[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i' + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (SIZEOF (input)) : NULL); + size_t length = 0xdead; + char *result = u16_conv_to_encoding ("ISO-8859-1", handler, + input, SIZEOF (input), + offsets, + NULL, &length); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL); + ASSERT (errno == EILSEQ); + ASSERT (length == 0xdead); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + static const char expected_translit[] = "Rafal Maszkowski"; + ASSERT (result != NULL); + ASSERT (length == strlen (expected)); + ASSERT (memcmp (result, expected, length) == 0 + || memcmp (result, expected_translit, length) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (result != NULL); + ASSERT (length == strlen (expected)); + ASSERT (memcmp (result, expected, length) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == (i < 5 ? i : i + 5)); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + break; + } + } + } + + /* Test conversion from UTF-16 to ISO-8859-1 with EINVAL. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint16_t input[] = { 0xD845 }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (SIZEOF (input)) : NULL); + size_t length; + char *result = u16_conv_to_encoding ("ISO-8859-1", handler, + input, SIZEOF (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == strlen ("")); + if (o) + { + ASSERT (offsets[0] == 0); + ASSERT (offsets[1] == MAGIC); + free (offsets); + } + free (result); + } + } + +#endif + + return 0; +} diff --git a/tests/uniconv/test-u16-strconv-from-enc.c b/tests/uniconv/test-u16-strconv-from-enc.c new file mode 100644 index 00000000..f2f173a8 --- /dev/null +++ b/tests/uniconv/test-u16-strconv-from-enc.c @@ -0,0 +1,132 @@ +/* Test of conversion to UTF-16 from legacy encodings. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from ISO-8859-1 to UTF-16 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const uint16_t expected[] = /* Ärger mit bösen Bübchen ohne Augenmaß */ + { + 0xC4, 'r', 'g', 'e', 'r', ' ', 'm', 'i', 't', ' ', 'b', 0xF6, 's', + 'e', 'n', ' ', 'B', 0xFC, 'b', 'c', 'h', 'e', 'n', ' ', 'o', 'h', + 'n', 'e', ' ', 'A', 'u', 'g', 'e', 'n', 'm', 'a', 0xDF, 0 + }; + uint16_t *result = u16_strconv_from_encoding (input, "ISO-8859-1", handler); + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from ISO-8859-2 to UTF-16 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + static const uint16_t expected[] = + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + uint16_t *result = u16_strconv_from_encoding (input, "ISO-8859-2", handler); + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + /* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */ +# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__) + /* Test conversions from autodetect_jp to UTF-16. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\244\263\244\363\244\313\244\301\244\317"; /* こんにちは in EUC-JP */ + static const uint16_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F, 0 + }; + uint16_t *result = u16_strconv_from_encoding (input, "autodetect_jp", handler); + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\202\261\202\361\202\311\202\277\202\315"; /* こんにちは in Shift_JIS */ + static const uint16_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F, 0 + }; + uint16_t *result = u16_strconv_from_encoding (input, "autodetect_jp", handler); + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\033$B$3$s$K$A$O\033(B"; /* こんにちは in ISO-2022-JP-2 */ + static const uint16_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F, 0 + }; + uint16_t *result = u16_strconv_from_encoding (input, "autodetect_jp", handler); + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } +# endif + +#endif + + return 0; +} diff --git a/tests/uniconv/test-u16-strconv-to-enc.c b/tests/uniconv/test-u16-strconv-to-enc.c new file mode 100644 index 00000000..95a72065 --- /dev/null +++ b/tests/uniconv/test-u16-strconv-to-enc.c @@ -0,0 +1,121 @@ +/* Test of conversion from UTF-16 to legacy encodings. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from UTF-16 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint16_t input[] = /* Ärger mit bösen Bübchen ohne Augenmaß */ + { + 0xC4, 'r', 'g', 'e', 'r', ' ', 'm', 'i', 't', ' ', 'b', 0xF6, 's', + 'e', 'n', ' ', 'B', 0xFC, 'b', 'c', 'h', 'e', 'n', ' ', 'o', 'h', + 'n', 'e', ' ', 'A', 'u', 'g', 'e', 'n', 'm', 'a', 0xDF, 0 + }; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char *result = u16_strconv_to_encoding (input, "ISO-8859-1", handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from UTF-16 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint16_t input[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + char *result = u16_strconv_to_encoding (input, "ISO-8859-1", handler); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL && errno == EILSEQ); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + static const char expected_translit[] = "Rafal Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0 + || strcmp (result, expected_translit) == 0); + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + } + } + +# if 0 + /* Test conversion from UTF-16 to ISO-8859-1 with EINVAL. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint16_t input[] = { 0xD845, 0 }; + char *result = u16_strconv_to_encoding (input, "ISO-8859-1", handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, "") == 0); + free (result); + } +# endif + +#endif + + return 0; +} diff --git a/tests/uniconv/test-u32-conv-from-enc.c b/tests/uniconv/test-u32-conv-from-enc.c new file mode 100644 index 00000000..8f709f18 --- /dev/null +++ b/tests/uniconv/test-u32-conv-from-enc.c @@ -0,0 +1,232 @@ +/* Test of conversion to UTF-32 from legacy encodings. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* Magic number for detecting bounds violations. */ +#define MAGIC 0x1983EFF1 + +static size_t * +new_offsets (size_t n) +{ + size_t *offsets = (size_t *) malloc ((n + 1) * sizeof (size_t)); + offsets[n] = MAGIC; + return offsets; +} + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + size_t o; + size_t i; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from ISO-8859-1 to UTF-16 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const uint32_t expected[] = /* Ärger mit bösen Bübchen ohne Augenmaß */ + { + 0xC4, 'r', 'g', 'e', 'r', ' ', 'm', 'i', 't', ' ', 'b', 0xF6, 's', + 'e', 'n', ' ', 'B', 0xFC, 'b', 'c', 'h', 'e', 'n', ' ', 'o', 'h', + 'n', 'e', ' ', 'A', 'u', 'g', 'e', 'n', 'm', 'a', 0xDF + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint32_t *result = u32_conv_from_encoding ("ISO-8859-1", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == SIZEOF (expected)); + ASSERT (u32_cmp (result, expected, SIZEOF (expected)) == 0); + if (o) + { + for (i = 0; i < 37; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[37] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from ISO-8859-2 to UTF-16 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + static const uint32_t expected[] = + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i' + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint32_t *result = u32_conv_from_encoding ("ISO-8859-2", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == SIZEOF (expected)); + ASSERT (u32_cmp (result, expected, SIZEOF (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */ +# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__) + /* Test conversions from autodetect_jp to UTF-16. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\244\263\244\363\244\313\244\301\244\317"; /* こんにちは in EUC-JP */ + static const uint32_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint32_t *result = u32_conv_from_encoding ("autodetect_jp", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == SIZEOF (expected)); + ASSERT (u32_cmp (result, expected, SIZEOF (expected)) == 0); + if (o) + { + for (i = 0; i < 10; i++) + ASSERT (offsets[i] == ((i % 2) == 0 ? i / 2 : (size_t)(-1))); + ASSERT (offsets[10] == MAGIC); + free (offsets); + } + free (result); + } + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\202\261\202\361\202\311\202\277\202\315"; /* こんにちは in Shift_JIS */ + static const uint32_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint32_t *result = u32_conv_from_encoding ("autodetect_jp", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == SIZEOF (expected)); + ASSERT (u32_cmp (result, expected, SIZEOF (expected)) == 0); + if (o) + { + for (i = 0; i < 10; i++) + ASSERT (offsets[i] == ((i % 2) == 0 ? i / 2 : (size_t)(-1))); + ASSERT (offsets[10] == MAGIC); + free (offsets); + } + free (result); + } + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\033$B$3$s$K$A$O\033(B"; /* こんにちは in ISO-2022-JP-2 */ + static const uint32_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint32_t *result = u32_conv_from_encoding ("autodetect_jp", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == SIZEOF (expected)); + ASSERT (u32_cmp (result, expected, SIZEOF (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == (i == 0 ? 0 : + i == 5 ? 1 : + i == 7 ? 2 : + i == 9 ? 3 : + i == 11 ? 4 : + i == 13 ? 5 : + (size_t)(-1))); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + } +# endif + +#endif + + return 0; +} diff --git a/tests/uniconv/test-u32-conv-to-enc.c b/tests/uniconv/test-u32-conv-to-enc.c new file mode 100644 index 00000000..585b737c --- /dev/null +++ b/tests/uniconv/test-u32-conv-to-enc.c @@ -0,0 +1,163 @@ +/* Test of conversion from UTF-32 to legacy encodings. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* Magic number for detecting bounds violations. */ +#define MAGIC 0x1983EFF1 + +static size_t * +new_offsets (size_t n) +{ + size_t *offsets = (size_t *) malloc ((n + 1) * sizeof (size_t)); + offsets[n] = MAGIC; + return offsets; +} + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + size_t o; + size_t i; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from UTF-32 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint32_t input[] = /* Ärger mit bösen Bübchen ohne Augenmaß */ + { + 0xC4, 'r', 'g', 'e', 'r', ' ', 'm', 'i', 't', ' ', 'b', 0xF6, 's', + 'e', 'n', ' ', 'B', 0xFC, 'b', 'c', 'h', 'e', 'n', ' ', 'o', 'h', + 'n', 'e', ' ', 'A', 'u', 'g', 'e', 'n', 'm', 'a', 0xDF + }; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (SIZEOF (input)) : NULL); + size_t length; + char *result = u32_conv_to_encoding ("ISO-8859-1", handler, + input, SIZEOF (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == strlen (expected)); + ASSERT (memcmp (result, expected, length) == 0); + if (o) + { + for (i = 0; i < 37; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[37] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from UTF-32 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint32_t input[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i' + }; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (SIZEOF (input)) : NULL); + size_t length = 0xdead; + char *result = u32_conv_to_encoding ("ISO-8859-1", handler, + input, SIZEOF (input), + offsets, + NULL, &length); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL); + ASSERT (errno == EILSEQ); + ASSERT (length == 0xdead); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + static const char expected_translit[] = "Rafal Maszkowski"; + ASSERT (result != NULL); + ASSERT (length == strlen (expected)); + ASSERT (memcmp (result, expected, length) == 0 + || memcmp (result, expected_translit, length) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == i); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (result != NULL); + ASSERT (length == strlen (expected)); + ASSERT (memcmp (result, expected, length) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == (i < 5 ? i : i + 5)); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + break; + } + } + } + +#endif + + return 0; +} diff --git a/tests/uniconv/test-u32-strconv-from-enc.c b/tests/uniconv/test-u32-strconv-from-enc.c new file mode 100644 index 00000000..96af7385 --- /dev/null +++ b/tests/uniconv/test-u32-strconv-from-enc.c @@ -0,0 +1,132 @@ +/* Test of conversion to UTF-32 from legacy encodings. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from ISO-8859-1 to UTF-16 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const uint32_t expected[] = /* Ärger mit bösen Bübchen ohne Augenmaß */ + { + 0xC4, 'r', 'g', 'e', 'r', ' ', 'm', 'i', 't', ' ', 'b', 0xF6, 's', + 'e', 'n', ' ', 'B', 0xFC, 'b', 'c', 'h', 'e', 'n', ' ', 'o', 'h', + 'n', 'e', ' ', 'A', 'u', 'g', 'e', 'n', 'm', 'a', 0xDF, 0 + }; + uint32_t *result = u32_strconv_from_encoding (input, "ISO-8859-1", handler); + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from ISO-8859-2 to UTF-16 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + static const uint32_t expected[] = + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + uint32_t *result = u32_strconv_from_encoding (input, "ISO-8859-2", handler); + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + /* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */ +# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__) + /* Test conversions from autodetect_jp to UTF-16. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\244\263\244\363\244\313\244\301\244\317"; /* こんにちは in EUC-JP */ + static const uint32_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F, 0 + }; + uint32_t *result = u32_strconv_from_encoding (input, "autodetect_jp", handler); + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\202\261\202\361\202\311\202\277\202\315"; /* こんにちは in Shift_JIS */ + static const uint32_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F, 0 + }; + uint32_t *result = u32_strconv_from_encoding (input, "autodetect_jp", handler); + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\033$B$3$s$K$A$O\033(B"; /* こんにちは in ISO-2022-JP-2 */ + static const uint32_t expected[] = /* こんにちは */ + { + 0x3053, 0x3093, 0x306B, 0x3061, 0x306F, 0 + }; + uint32_t *result = u32_strconv_from_encoding (input, "autodetect_jp", handler); + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } +# endif + +#endif + + return 0; +} diff --git a/tests/uniconv/test-u32-strconv-to-enc.c b/tests/uniconv/test-u32-strconv-to-enc.c new file mode 100644 index 00000000..eef3d04d --- /dev/null +++ b/tests/uniconv/test-u32-strconv-to-enc.c @@ -0,0 +1,108 @@ +/* Test of conversion from UTF-32 to legacy encodings. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from UTF-32 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint32_t input[] = /* Ärger mit bösen Bübchen ohne Augenmaß */ + { + 0xC4, 'r', 'g', 'e', 'r', ' ', 'm', 'i', 't', ' ', 'b', 0xF6, 's', + 'e', 'n', ' ', 'B', 0xFC, 'b', 'c', 'h', 'e', 'n', ' ', 'o', 'h', + 'n', 'e', ' ', 'A', 'u', 'g', 'e', 'n', 'm', 'a', 0xDF, 0 + }; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char *result = u32_strconv_to_encoding (input, "ISO-8859-1", handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from UTF-32 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint32_t input[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + char *result = u32_strconv_to_encoding (input, "ISO-8859-1", handler); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL && errno == EILSEQ); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + static const char expected_translit[] = "Rafal Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0 + || strcmp (result, expected_translit) == 0); + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + } + } + +#endif + + return 0; +} diff --git a/tests/uniconv/test-u8-conv-from-enc.c b/tests/uniconv/test-u8-conv-from-enc.c new file mode 100644 index 00000000..0768be63 --- /dev/null +++ b/tests/uniconv/test-u8-conv-from-enc.c @@ -0,0 +1,218 @@ +/* Test of conversion to UTF-8 from legacy encodings. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* Magic number for detecting bounds violations. */ +#define MAGIC 0x1983EFF1 + +static size_t * +new_offsets (size_t n) +{ + size_t *offsets = (size_t *) malloc ((n + 1) * sizeof (size_t)); + offsets[n] = MAGIC; + return offsets; +} + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + size_t o; + size_t i; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const uint8_t expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint8_t *result = u8_conv_from_encoding ("ISO-8859-1", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == u8_strlen (expected)); + ASSERT (u8_cmp (result, expected, u8_strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 37; i++) + ASSERT (offsets[i] == (i < 1 ? i : + i < 12 ? i + 1 : + i < 18 ? i + 2 : + i + 3)); + ASSERT (offsets[37] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from ISO-8859-2 to UTF-8 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + static const uint8_t expected[] = "Rafa\305\202 Maszkowski"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint8_t *result = u8_conv_from_encoding ("ISO-8859-2", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == u8_strlen (expected)); + ASSERT (u8_cmp (result, expected, u8_strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i + 1)); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */ +# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__) + /* Test conversions from autodetect_jp to UTF-8. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\244\263\244\363\244\313\244\301\244\317"; /* こんにちは in EUC-JP */ + static const uint8_t expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint8_t *result = u8_conv_from_encoding ("autodetect_jp", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == u8_strlen (expected)); + ASSERT (u8_cmp (result, expected, u8_strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 10; i++) + ASSERT (offsets[i] == ((i % 2) == 0 ? (i / 2) * 3 : (size_t)(-1))); + ASSERT (offsets[10] == MAGIC); + free (offsets); + } + free (result); + } + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\202\261\202\361\202\311\202\277\202\315"; /* こんにちは in Shift_JIS */ + static const uint8_t expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint8_t *result = u8_conv_from_encoding ("autodetect_jp", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == u8_strlen (expected)); + ASSERT (u8_cmp (result, expected, u8_strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 10; i++) + ASSERT (offsets[i] == ((i % 2) == 0 ? (i / 2) * 3 : (size_t)(-1))); + ASSERT (offsets[10] == MAGIC); + free (offsets); + } + free (result); + } + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\033$B$3$s$K$A$O\033(B"; /* こんにちは in ISO-2022-JP-2 */ + static const uint8_t expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (strlen (input)) : NULL); + size_t length; + uint8_t *result = u8_conv_from_encoding ("autodetect_jp", handler, + input, strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == u8_strlen (expected)); + ASSERT (u8_cmp (result, expected, u8_strlen (expected)) == 0); + if (o) + { + for (i = 0; i < 16; i++) + ASSERT (offsets[i] == (i == 0 ? 0 : + i == 5 ? 3 : + i == 7 ? 6 : + i == 9 ? 9 : + i == 11 ? 12 : + i == 13 ? 15 : + (size_t)(-1))); + ASSERT (offsets[16] == MAGIC); + free (offsets); + } + free (result); + } + } +# endif + +#endif + + return 0; +} diff --git a/tests/uniconv/test-u8-conv-to-enc.c b/tests/uniconv/test-u8-conv-to-enc.c new file mode 100644 index 00000000..271fb051 --- /dev/null +++ b/tests/uniconv/test-u8-conv-to-enc.c @@ -0,0 +1,193 @@ +/* Test of conversion from UTF-8 to legacy encodings. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* Magic number for detecting bounds violations. */ +#define MAGIC 0x1983EFF1 + +static size_t * +new_offsets (size_t n) +{ + size_t *offsets = (size_t *) malloc ((n + 1) * sizeof (size_t)); + offsets[n] = MAGIC; + return offsets; +} + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + size_t o; + size_t i; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint8_t input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (u8_strlen (input)) : NULL); + size_t length; + char *result = u8_conv_to_encoding ("ISO-8859-1", handler, + input, u8_strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == strlen (expected)); + ASSERT (memcmp (result, expected, length) == 0); + if (o) + { + for (i = 0; i < 41; i++) + ASSERT (offsets[i] == (i < 1 ? i : + i == 1 ? (size_t)(-1) : + i < 13 ? i - 1 : + i == 13 ? (size_t)(-1) : + i < 20 ? i - 2 : + i == 20 ? (size_t)(-1) : + i < 40 ? i - 3 : + i == 40 ? (size_t)(-1) : + i - 4)); + ASSERT (offsets[41] == MAGIC); + free (offsets); + } + free (result); + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint8_t input[] = "Rafa\305\202 Maszkowski"; /* Rafał Maszkowski */ + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (u8_strlen (input)) : NULL); + size_t length = 0xdead; + char *result = u8_conv_to_encoding ("ISO-8859-1", handler, + input, u8_strlen (input), + offsets, + NULL, &length); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL); + ASSERT (errno == EILSEQ); + ASSERT (length == 0xdead); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + static const char expected_translit[] = "Rafal Maszkowski"; + ASSERT (result != NULL); + ASSERT (length == strlen (expected)); + ASSERT (memcmp (result, expected, length) == 0 + || memcmp (result, expected_translit, length) == 0); + if (o) + { + for (i = 0; i < 17; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i == 5 ? (size_t)(-1) : + i - 1)); + ASSERT (offsets[17] == MAGIC); + free (offsets); + } + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (result != NULL); + ASSERT (length == strlen (expected)); + ASSERT (memcmp (result, expected, length) == 0); + if (o) + { + for (i = 0; i < 17; i++) + ASSERT (offsets[i] == (i < 5 ? i : + i == 5 ? (size_t)(-1) : + i + 4)); + ASSERT (offsets[17] == MAGIC); + free (offsets); + } + free (result); + } + break; + } + } + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint8_t input[] = "\342"; + for (o = 0; o < 2; o++) + { + size_t *offsets = (o ? new_offsets (u8_strlen (input)) : NULL); + size_t length; + char *result = u8_conv_to_encoding ("ISO-8859-1", handler, + input, u8_strlen (input), + offsets, + NULL, &length); + ASSERT (result != NULL); + ASSERT (length == strlen ("")); + if (o) + { + ASSERT (offsets[0] == 0); + ASSERT (offsets[1] == MAGIC); + free (offsets); + } + free (result); + } + } + +#endif + + return 0; +} diff --git a/tests/uniconv/test-u8-strconv-from-enc.c b/tests/uniconv/test-u8-strconv-from-enc.c new file mode 100644 index 00000000..7f70c297 --- /dev/null +++ b/tests/uniconv/test-u8-strconv-from-enc.c @@ -0,0 +1,114 @@ +/* Test of conversion to UTF-8 from legacy encodings. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const uint8_t expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + uint8_t *result = u8_strconv_from_encoding (input, "ISO-8859-1", handler); + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from ISO-8859-2 to UTF-8 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "Rafa\263 Maszkowski"; /* Rafał Maszkowski */ + static const uint8_t expected[] = "Rafa\305\202 Maszkowski"; + uint8_t *result = u8_strconv_from_encoding (input, "ISO-8859-2", handler); + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + /* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */ +# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__) + /* Test conversions from autodetect_jp to UTF-8. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\244\263\244\363\244\313\244\301\244\317"; /* こんにちは in EUC-JP */ + static const uint8_t expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + uint8_t *result = u8_strconv_from_encoding (input, "autodetect_jp", handler); + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\202\261\202\361\202\311\202\277\202\315"; /* こんにちは in Shift_JIS */ + static const uint8_t expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + uint8_t *result = u8_strconv_from_encoding (input, "autodetect_jp", handler); + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const char input[] = "\033$B$3$s$K$A$O\033(B"; /* こんにちは in ISO-2022-JP-2 */ + static const uint8_t expected[] = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257"; /* こんにちは */ + uint8_t *result = u8_strconv_from_encoding (input, "autodetect_jp", handler); + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } +# endif + +#endif + + return 0; +} diff --git a/tests/uniconv/test-u8-strconv-to-enc.c b/tests/uniconv/test-u8-strconv-to-enc.c new file mode 100644 index 00000000..73085b55 --- /dev/null +++ b/tests/uniconv/test-u8-strconv-to-enc.c @@ -0,0 +1,112 @@ +/* Test of conversion from UTF-8 to legacy encodings. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniconv.h" + +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + static enum iconv_ilseq_handler handlers[] = + { iconveh_error, iconveh_question_mark, iconveh_escape_sequence }; + size_t h; + +#if HAVE_ICONV + /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, + ISO-8859-2, and UTF-8. */ + + /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint8_t input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; + static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char *result = u8_strconv_to_encoding (input, "ISO-8859-1", handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + + /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint8_t input[] = "Rafa\305\202 Maszkowski"; /* Rafał Maszkowski */ + char *result = u8_strconv_to_encoding (input, "ISO-8859-1", handler); + switch (handler) + { + case iconveh_error: + ASSERT (result == NULL && errno == EILSEQ); + break; + case iconveh_question_mark: + { + static const char expected[] = "Rafa? Maszkowski"; + static const char expected_translit[] = "Rafal Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0 + || strcmp (result, expected_translit) == 0); + free (result); + } + break; + case iconveh_escape_sequence: + { + static const char expected[] = "Rafa\\u0142 Maszkowski"; + ASSERT (result != NULL); + ASSERT (strcmp (result, expected) == 0); + free (result); + } + break; + } + } + +# if 0 + /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ + for (h = 0; h < SIZEOF (handlers); h++) + { + enum iconv_ilseq_handler handler = handlers[h]; + static const uint8_t input[] = "\342"; + char *result = u8_strconv_to_encoding (input, "ISO-8859-1", handler); + ASSERT (result != NULL); + ASSERT (strcmp (result, "") == 0); + free (result); + } +# endif + +#endif + + return 0; +} diff --git a/tests/unictype/test-bidi_byname.c b/tests/unictype/test-bidi_byname.c new file mode 100644 index 00000000..5b1cfec9 --- /dev/null +++ b/tests/unictype/test-bidi_byname.c @@ -0,0 +1,44 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (uc_bidi_category_byname ("NSM") == UC_BIDI_NSM); + ASSERT (uc_bidi_category_byname ("X") < 0); + + return 0; +} diff --git a/tests/unictype/test-bidi_name.c b/tests/unictype/test-bidi_name.c new file mode 100644 index 00000000..a444ec0c --- /dev/null +++ b/tests/unictype/test-bidi_name.c @@ -0,0 +1,44 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (strcmp (uc_bidi_category_name (UC_BIDI_NSM), "NSM") == 0); + ASSERT (uc_bidi_category_name (-1) == NULL); + + return 0; +} diff --git a/tests/unictype/test-bidi_of.c b/tests/unictype/test-bidi_of.c new file mode 100644 index 00000000..720e9f97 --- /dev/null +++ b/tests/unictype/test-bidi_of.c @@ -0,0 +1,45 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (uc_bidi_category ('x') == UC_BIDI_L); + ASSERT (uc_bidi_category (0x05D7) == UC_BIDI_R); + ASSERT (uc_bidi_category ('7') == UC_BIDI_EN); + + return 0; +} diff --git a/tests/unictype/test-bidi_test.c b/tests/unictype/test-bidi_test.c new file mode 100644 index 00000000..3404e72f --- /dev/null +++ b/tests/unictype/test-bidi_test.c @@ -0,0 +1,60 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (uc_is_bidi_category ('x', UC_BIDI_L)); + ASSERT (!uc_is_bidi_category ('x', UC_BIDI_R)); + ASSERT (!uc_is_bidi_category ('x', UC_BIDI_EN)); + + ASSERT (uc_is_bidi_category (0x05D7, UC_BIDI_R)); + ASSERT (!uc_is_bidi_category (0x05D7, UC_BIDI_L)); + ASSERT (!uc_is_bidi_category (0x05D7, UC_BIDI_EN)); + + ASSERT (uc_is_bidi_category ('7', UC_BIDI_EN)); + ASSERT (!uc_is_bidi_category ('7', UC_BIDI_L)); + ASSERT (!uc_is_bidi_category ('7', UC_BIDI_R)); + + { + unsigned int c; + + for (c = 0; c < 0x110000; c++) + ASSERT (uc_is_bidi_category (c, uc_bidi_category (c))); + } + + return 0; +} diff --git a/tests/unictype/test-block_list.c b/tests/unictype/test-block_list.c new file mode 100644 index 00000000..140b573f --- /dev/null +++ b/tests/unictype/test-block_list.c @@ -0,0 +1,62 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + const uc_block_t *blocks; + size_t nblocks; + + uc_all_blocks (&blocks, &nblocks); + + { + const uc_block_t *latin_block = NULL; + const uc_block_t *hebrew_block = NULL; + size_t i; + + for (i = 0; i < nblocks; i++) + { + if (strcmp (blocks[i].name, "Latin") == 0) + latin_block = &blocks[i]; + if (strcmp (blocks[i].name, "Hebrew") == 0) + hebrew_block = &blocks[i]; + } + ASSERT (latin_block == NULL); + ASSERT (hebrew_block != NULL); + } + + return 0; +} diff --git a/tests/unictype/test-block_of.c b/tests/unictype/test-block_of.c new file mode 100644 index 00000000..9460cdeb --- /dev/null +++ b/tests/unictype/test-block_of.c @@ -0,0 +1,79 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (strcmp (uc_block ('x')->name, "Basic Latin") == 0); + ASSERT (strcmp (uc_block (0x20AC)->name, "Currency Symbols") == 0); + + { + unsigned int c; + + for (c = 0; c < 0x110000; c++) + { + const uc_block_t *block = uc_block (c); + ASSERT (block == NULL || uc_is_block (c, block)); + } + } + + { + const uc_block_t *blocks; + size_t nblocks; + size_t i; + + uc_all_blocks (&blocks, &nblocks); + + for (i = 0; i < nblocks; i++) + { + if (strcmp (blocks[i].name, "Hebrew") == 0) + { + ASSERT (uc_block (0x05DE) == &blocks[i]); + ASSERT (uc_is_block (0x05DE, &blocks[i])); + } + } + + for (i = 0; i < nblocks; i++) + { + unsigned int c; + + for (c = blocks[i].start; c <= blocks[i].end; c++) + ASSERT (uc_block (c) == &blocks[i]); + } + } + + return 0; +} diff --git a/tests/unictype/test-block_test.c b/tests/unictype/test-block_test.c new file mode 100644 index 00000000..b086cde6 --- /dev/null +++ b/tests/unictype/test-block_test.c @@ -0,0 +1,54 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + uc_block_t b; + + b.start = 0x20000; + b.end = 0x2A6D6; + b.name = "CJK Supplemental Area"; + + ASSERT (!uc_is_block (0x5678, &b)); + ASSERT (!uc_is_block (0x1FFFF, &b)); + ASSERT (uc_is_block (0x20000, &b)); + ASSERT (uc_is_block (0x25678, &b)); + ASSERT (uc_is_block (0x2A6D6, &b)); + ASSERT (!uc_is_block (0x2A6D7, &b)); + + return 0; +} diff --git a/tests/unictype/test-categ_C.c b/tests/unictype/test-categ_C.c new file mode 100644 index 00000000..e057af87 --- /dev/null +++ b/tests/unictype/test-categ_C.c @@ -0,0 +1,469 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0000, 0x001F }, + { 0x007F, 0x009F }, + { 0x00AD, 0x00AD }, + { 0x0378, 0x0379 }, + { 0x037F, 0x0383 }, + { 0x038B, 0x038B }, + { 0x038D, 0x038D }, + { 0x03A2, 0x03A2 }, + { 0x0524, 0x0530 }, + { 0x0557, 0x0558 }, + { 0x0560, 0x0560 }, + { 0x0588, 0x0588 }, + { 0x058B, 0x0590 }, + { 0x05C8, 0x05CF }, + { 0x05EB, 0x05EF }, + { 0x05F5, 0x0605 }, + { 0x061C, 0x061D }, + { 0x0620, 0x0620 }, + { 0x065F, 0x065F }, + { 0x06DD, 0x06DD }, + { 0x070E, 0x070F }, + { 0x074B, 0x074C }, + { 0x07B2, 0x07BF }, + { 0x07FB, 0x0900 }, + { 0x093A, 0x093B }, + { 0x094E, 0x094F }, + { 0x0955, 0x0957 }, + { 0x0973, 0x097A }, + { 0x0980, 0x0980 }, + { 0x0984, 0x0984 }, + { 0x098D, 0x098E }, + { 0x0991, 0x0992 }, + { 0x09A9, 0x09A9 }, + { 0x09B1, 0x09B1 }, + { 0x09B3, 0x09B5 }, + { 0x09BA, 0x09BB }, + { 0x09C5, 0x09C6 }, + { 0x09C9, 0x09CA }, + { 0x09CF, 0x09D6 }, + { 0x09D8, 0x09DB }, + { 0x09DE, 0x09DE }, + { 0x09E4, 0x09E5 }, + { 0x09FB, 0x0A00 }, + { 0x0A04, 0x0A04 }, + { 0x0A0B, 0x0A0E }, + { 0x0A11, 0x0A12 }, + { 0x0A29, 0x0A29 }, + { 0x0A31, 0x0A31 }, + { 0x0A34, 0x0A34 }, + { 0x0A37, 0x0A37 }, + { 0x0A3A, 0x0A3B }, + { 0x0A3D, 0x0A3D }, + { 0x0A43, 0x0A46 }, + { 0x0A49, 0x0A4A }, + { 0x0A4E, 0x0A50 }, + { 0x0A52, 0x0A58 }, + { 0x0A5D, 0x0A5D }, + { 0x0A5F, 0x0A65 }, + { 0x0A76, 0x0A80 }, + { 0x0A84, 0x0A84 }, + { 0x0A8E, 0x0A8E }, + { 0x0A92, 0x0A92 }, + { 0x0AA9, 0x0AA9 }, + { 0x0AB1, 0x0AB1 }, + { 0x0AB4, 0x0AB4 }, + { 0x0ABA, 0x0ABB }, + { 0x0AC6, 0x0AC6 }, + { 0x0ACA, 0x0ACA }, + { 0x0ACE, 0x0ACF }, + { 0x0AD1, 0x0ADF }, + { 0x0AE4, 0x0AE5 }, + { 0x0AF0, 0x0AF0 }, + { 0x0AF2, 0x0B00 }, + { 0x0B04, 0x0B04 }, + { 0x0B0D, 0x0B0E }, + { 0x0B11, 0x0B12 }, + { 0x0B29, 0x0B29 }, + { 0x0B31, 0x0B31 }, + { 0x0B34, 0x0B34 }, + { 0x0B3A, 0x0B3B }, + { 0x0B45, 0x0B46 }, + { 0x0B49, 0x0B4A }, + { 0x0B4E, 0x0B55 }, + { 0x0B58, 0x0B5B }, + { 0x0B5E, 0x0B5E }, + { 0x0B64, 0x0B65 }, + { 0x0B72, 0x0B81 }, + { 0x0B84, 0x0B84 }, + { 0x0B8B, 0x0B8D }, + { 0x0B91, 0x0B91 }, + { 0x0B96, 0x0B98 }, + { 0x0B9B, 0x0B9B }, + { 0x0B9D, 0x0B9D }, + { 0x0BA0, 0x0BA2 }, + { 0x0BA5, 0x0BA7 }, + { 0x0BAB, 0x0BAD }, + { 0x0BBA, 0x0BBD }, + { 0x0BC3, 0x0BC5 }, + { 0x0BC9, 0x0BC9 }, + { 0x0BCE, 0x0BCF }, + { 0x0BD1, 0x0BD6 }, + { 0x0BD8, 0x0BE5 }, + { 0x0BFB, 0x0C00 }, + { 0x0C04, 0x0C04 }, + { 0x0C0D, 0x0C0D }, + { 0x0C11, 0x0C11 }, + { 0x0C29, 0x0C29 }, + { 0x0C34, 0x0C34 }, + { 0x0C3A, 0x0C3C }, + { 0x0C45, 0x0C45 }, + { 0x0C49, 0x0C49 }, + { 0x0C4E, 0x0C54 }, + { 0x0C57, 0x0C57 }, + { 0x0C5A, 0x0C5F }, + { 0x0C64, 0x0C65 }, + { 0x0C70, 0x0C77 }, + { 0x0C80, 0x0C81 }, + { 0x0C84, 0x0C84 }, + { 0x0C8D, 0x0C8D }, + { 0x0C91, 0x0C91 }, + { 0x0CA9, 0x0CA9 }, + { 0x0CB4, 0x0CB4 }, + { 0x0CBA, 0x0CBB }, + { 0x0CC5, 0x0CC5 }, + { 0x0CC9, 0x0CC9 }, + { 0x0CCE, 0x0CD4 }, + { 0x0CD7, 0x0CDD }, + { 0x0CDF, 0x0CDF }, + { 0x0CE4, 0x0CE5 }, + { 0x0CF0, 0x0CF0 }, + { 0x0CF3, 0x0D01 }, + { 0x0D04, 0x0D04 }, + { 0x0D0D, 0x0D0D }, + { 0x0D11, 0x0D11 }, + { 0x0D29, 0x0D29 }, + { 0x0D3A, 0x0D3C }, + { 0x0D45, 0x0D45 }, + { 0x0D49, 0x0D49 }, + { 0x0D4E, 0x0D56 }, + { 0x0D58, 0x0D5F }, + { 0x0D64, 0x0D65 }, + { 0x0D76, 0x0D78 }, + { 0x0D80, 0x0D81 }, + { 0x0D84, 0x0D84 }, + { 0x0D97, 0x0D99 }, + { 0x0DB2, 0x0DB2 }, + { 0x0DBC, 0x0DBC }, + { 0x0DBE, 0x0DBF }, + { 0x0DC7, 0x0DC9 }, + { 0x0DCB, 0x0DCE }, + { 0x0DD5, 0x0DD5 }, + { 0x0DD7, 0x0DD7 }, + { 0x0DE0, 0x0DF1 }, + { 0x0DF5, 0x0E00 }, + { 0x0E3B, 0x0E3E }, + { 0x0E5C, 0x0E80 }, + { 0x0E83, 0x0E83 }, + { 0x0E85, 0x0E86 }, + { 0x0E89, 0x0E89 }, + { 0x0E8B, 0x0E8C }, + { 0x0E8E, 0x0E93 }, + { 0x0E98, 0x0E98 }, + { 0x0EA0, 0x0EA0 }, + { 0x0EA4, 0x0EA4 }, + { 0x0EA6, 0x0EA6 }, + { 0x0EA8, 0x0EA9 }, + { 0x0EAC, 0x0EAC }, + { 0x0EBA, 0x0EBA }, + { 0x0EBE, 0x0EBF }, + { 0x0EC5, 0x0EC5 }, + { 0x0EC7, 0x0EC7 }, + { 0x0ECE, 0x0ECF }, + { 0x0EDA, 0x0EDB }, + { 0x0EDE, 0x0EFF }, + { 0x0F48, 0x0F48 }, + { 0x0F6D, 0x0F70 }, + { 0x0F8C, 0x0F8F }, + { 0x0F98, 0x0F98 }, + { 0x0FBD, 0x0FBD }, + { 0x0FCD, 0x0FCD }, + { 0x0FD5, 0x0FFF }, + { 0x109A, 0x109D }, + { 0x10C6, 0x10CF }, + { 0x10FD, 0x10FF }, + { 0x115A, 0x115E }, + { 0x11A3, 0x11A7 }, + { 0x11FA, 0x11FF }, + { 0x1249, 0x1249 }, + { 0x124E, 0x124F }, + { 0x1257, 0x1257 }, + { 0x1259, 0x1259 }, + { 0x125E, 0x125F }, + { 0x1289, 0x1289 }, + { 0x128E, 0x128F }, + { 0x12B1, 0x12B1 }, + { 0x12B6, 0x12B7 }, + { 0x12BF, 0x12BF }, + { 0x12C1, 0x12C1 }, + { 0x12C6, 0x12C7 }, + { 0x12D7, 0x12D7 }, + { 0x1311, 0x1311 }, + { 0x1316, 0x1317 }, + { 0x135B, 0x135E }, + { 0x137D, 0x137F }, + { 0x139A, 0x139F }, + { 0x13F5, 0x1400 }, + { 0x1677, 0x167F }, + { 0x169D, 0x169F }, + { 0x16F1, 0x16FF }, + { 0x170D, 0x170D }, + { 0x1715, 0x171F }, + { 0x1737, 0x173F }, + { 0x1754, 0x175F }, + { 0x176D, 0x176D }, + { 0x1771, 0x1771 }, + { 0x1774, 0x177F }, + { 0x17B4, 0x17B5 }, + { 0x17DE, 0x17DF }, + { 0x17EA, 0x17EF }, + { 0x17FA, 0x17FF }, + { 0x180F, 0x180F }, + { 0x181A, 0x181F }, + { 0x1878, 0x187F }, + { 0x18AB, 0x18FF }, + { 0x191D, 0x191F }, + { 0x192C, 0x192F }, + { 0x193C, 0x193F }, + { 0x1941, 0x1943 }, + { 0x196E, 0x196F }, + { 0x1975, 0x197F }, + { 0x19AA, 0x19AF }, + { 0x19CA, 0x19CF }, + { 0x19DA, 0x19DD }, + { 0x1A1C, 0x1A1D }, + { 0x1A20, 0x1AFF }, + { 0x1B4C, 0x1B4F }, + { 0x1B7D, 0x1B7F }, + { 0x1BAB, 0x1BAD }, + { 0x1BBA, 0x1BFF }, + { 0x1C38, 0x1C3A }, + { 0x1C4A, 0x1C4C }, + { 0x1C80, 0x1CFF }, + { 0x1DE7, 0x1DFD }, + { 0x1F16, 0x1F17 }, + { 0x1F1E, 0x1F1F }, + { 0x1F46, 0x1F47 }, + { 0x1F4E, 0x1F4F }, + { 0x1F58, 0x1F58 }, + { 0x1F5A, 0x1F5A }, + { 0x1F5C, 0x1F5C }, + { 0x1F5E, 0x1F5E }, + { 0x1F7E, 0x1F7F }, + { 0x1FB5, 0x1FB5 }, + { 0x1FC5, 0x1FC5 }, + { 0x1FD4, 0x1FD5 }, + { 0x1FDC, 0x1FDC }, + { 0x1FF0, 0x1FF1 }, + { 0x1FF5, 0x1FF5 }, + { 0x1FFF, 0x1FFF }, + { 0x200B, 0x200F }, + { 0x202A, 0x202E }, + { 0x2060, 0x206F }, + { 0x2072, 0x2073 }, + { 0x208F, 0x208F }, + { 0x2095, 0x209F }, + { 0x20B6, 0x20CF }, + { 0x20F1, 0x20FF }, + { 0x2150, 0x2152 }, + { 0x2189, 0x218F }, + { 0x23E8, 0x23FF }, + { 0x2427, 0x243F }, + { 0x244B, 0x245F }, + { 0x269E, 0x269F }, + { 0x26BD, 0x26BF }, + { 0x26C4, 0x2700 }, + { 0x2705, 0x2705 }, + { 0x270A, 0x270B }, + { 0x2728, 0x2728 }, + { 0x274C, 0x274C }, + { 0x274E, 0x274E }, + { 0x2753, 0x2755 }, + { 0x2757, 0x2757 }, + { 0x275F, 0x2760 }, + { 0x2795, 0x2797 }, + { 0x27B0, 0x27B0 }, + { 0x27BF, 0x27BF }, + { 0x27CB, 0x27CB }, + { 0x27CD, 0x27CF }, + { 0x2B4D, 0x2B4F }, + { 0x2B55, 0x2BFF }, + { 0x2C2F, 0x2C2F }, + { 0x2C5F, 0x2C5F }, + { 0x2C70, 0x2C70 }, + { 0x2C7E, 0x2C7F }, + { 0x2CEB, 0x2CF8 }, + { 0x2D26, 0x2D2F }, + { 0x2D66, 0x2D6E }, + { 0x2D70, 0x2D7F }, + { 0x2D97, 0x2D9F }, + { 0x2DA7, 0x2DA7 }, + { 0x2DAF, 0x2DAF }, + { 0x2DB7, 0x2DB7 }, + { 0x2DBF, 0x2DBF }, + { 0x2DC7, 0x2DC7 }, + { 0x2DCF, 0x2DCF }, + { 0x2DD7, 0x2DD7 }, + { 0x2DDF, 0x2DDF }, + { 0x2E31, 0x2E7F }, + { 0x2E9A, 0x2E9A }, + { 0x2EF4, 0x2EFF }, + { 0x2FD6, 0x2FEF }, + { 0x2FFC, 0x2FFF }, + { 0x3040, 0x3040 }, + { 0x3097, 0x3098 }, + { 0x3100, 0x3104 }, + { 0x312E, 0x3130 }, + { 0x318F, 0x318F }, + { 0x31B8, 0x31BF }, + { 0x31E4, 0x31EF }, + { 0x321F, 0x321F }, + { 0x3244, 0x324F }, + { 0x32FF, 0x32FF }, + { 0x4DB6, 0x4DBF }, + { 0x9FC4, 0x9FFF }, + { 0xA48D, 0xA48F }, + { 0xA4C7, 0xA4FF }, + { 0xA62C, 0xA63F }, + { 0xA660, 0xA661 }, + { 0xA674, 0xA67B }, + { 0xA698, 0xA6FF }, + { 0xA78D, 0xA7FA }, + { 0xA82C, 0xA83F }, + { 0xA878, 0xA87F }, + { 0xA8C5, 0xA8CD }, + { 0xA8DA, 0xA8FF }, + { 0xA954, 0xA95E }, + { 0xA960, 0xA9FF }, + { 0xAA37, 0xAA3F }, + { 0xAA4E, 0xAA4F }, + { 0xAA5A, 0xAA5B }, + { 0xAA60, 0xABFF }, + { 0xD7A4, 0xF8FF }, + { 0xFA2E, 0xFA2F }, + { 0xFA6B, 0xFA6F }, + { 0xFADA, 0xFAFF }, + { 0xFB07, 0xFB12 }, + { 0xFB18, 0xFB1C }, + { 0xFB37, 0xFB37 }, + { 0xFB3D, 0xFB3D }, + { 0xFB3F, 0xFB3F }, + { 0xFB42, 0xFB42 }, + { 0xFB45, 0xFB45 }, + { 0xFBB2, 0xFBD2 }, + { 0xFD40, 0xFD4F }, + { 0xFD90, 0xFD91 }, + { 0xFDC8, 0xFDEF }, + { 0xFDFE, 0xFDFF }, + { 0xFE1A, 0xFE1F }, + { 0xFE27, 0xFE2F }, + { 0xFE53, 0xFE53 }, + { 0xFE67, 0xFE67 }, + { 0xFE6C, 0xFE6F }, + { 0xFE75, 0xFE75 }, + { 0xFEFD, 0xFF00 }, + { 0xFFBF, 0xFFC1 }, + { 0xFFC8, 0xFFC9 }, + { 0xFFD0, 0xFFD1 }, + { 0xFFD8, 0xFFD9 }, + { 0xFFDD, 0xFFDF }, + { 0xFFE7, 0xFFE7 }, + { 0xFFEF, 0xFFFB }, + { 0xFFFE, 0xFFFF }, + { 0x1000C, 0x1000C }, + { 0x10027, 0x10027 }, + { 0x1003B, 0x1003B }, + { 0x1003E, 0x1003E }, + { 0x1004E, 0x1004F }, + { 0x1005E, 0x1007F }, + { 0x100FB, 0x100FF }, + { 0x10103, 0x10106 }, + { 0x10134, 0x10136 }, + { 0x1018B, 0x1018F }, + { 0x1019C, 0x101CF }, + { 0x101FE, 0x1027F }, + { 0x1029D, 0x1029F }, + { 0x102D1, 0x102FF }, + { 0x1031F, 0x1031F }, + { 0x10324, 0x1032F }, + { 0x1034B, 0x1037F }, + { 0x1039E, 0x1039E }, + { 0x103C4, 0x103C7 }, + { 0x103D6, 0x103FF }, + { 0x1049E, 0x1049F }, + { 0x104AA, 0x107FF }, + { 0x10806, 0x10807 }, + { 0x10809, 0x10809 }, + { 0x10836, 0x10836 }, + { 0x10839, 0x1083B }, + { 0x1083D, 0x1083E }, + { 0x10840, 0x108FF }, + { 0x1091A, 0x1091E }, + { 0x1093A, 0x1093E }, + { 0x10940, 0x109FF }, + { 0x10A04, 0x10A04 }, + { 0x10A07, 0x10A0B }, + { 0x10A14, 0x10A14 }, + { 0x10A18, 0x10A18 }, + { 0x10A34, 0x10A37 }, + { 0x10A3B, 0x10A3E }, + { 0x10A48, 0x10A4F }, + { 0x10A59, 0x11FFF }, + { 0x1236F, 0x123FF }, + { 0x12463, 0x1246F }, + { 0x12474, 0x1CFFF }, + { 0x1D0F6, 0x1D0FF }, + { 0x1D127, 0x1D128 }, + { 0x1D173, 0x1D17A }, + { 0x1D1DE, 0x1D1FF }, + { 0x1D246, 0x1D2FF }, + { 0x1D357, 0x1D35F }, + { 0x1D372, 0x1D3FF }, + { 0x1D455, 0x1D455 }, + { 0x1D49D, 0x1D49D }, + { 0x1D4A0, 0x1D4A1 }, + { 0x1D4A3, 0x1D4A4 }, + { 0x1D4A7, 0x1D4A8 }, + { 0x1D4AD, 0x1D4AD }, + { 0x1D4BA, 0x1D4BA }, + { 0x1D4BC, 0x1D4BC }, + { 0x1D4C4, 0x1D4C4 }, + { 0x1D506, 0x1D506 }, + { 0x1D50B, 0x1D50C }, + { 0x1D515, 0x1D515 }, + { 0x1D51D, 0x1D51D }, + { 0x1D53A, 0x1D53A }, + { 0x1D53F, 0x1D53F }, + { 0x1D545, 0x1D545 }, + { 0x1D547, 0x1D549 }, + { 0x1D551, 0x1D551 }, + { 0x1D6A6, 0x1D6A7 }, + { 0x1D7CC, 0x1D7CD }, + { 0x1D800, 0x1EFFF }, + { 0x1F02C, 0x1F02F }, + { 0x1F094, 0x1FFFF }, + { 0x2A6D7, 0x2F7FF }, + { 0x2FA1E, 0xE00FF }, + { 0xE01F0, 0x10FFFF } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_C) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Cc.c b/tests/unictype/test-categ_Cc.c new file mode 100644 index 00000000..9740dd47 --- /dev/null +++ b/tests/unictype/test-categ_Cc.c @@ -0,0 +1,24 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0000, 0x001F }, + { 0x007F, 0x009F } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Cc) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Cf.c b/tests/unictype/test-categ_Cf.c new file mode 100644 index 00000000..bcaf2f2b --- /dev/null +++ b/tests/unictype/test-categ_Cf.c @@ -0,0 +1,36 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00AD, 0x00AD }, + { 0x0600, 0x0603 }, + { 0x06DD, 0x06DD }, + { 0x070F, 0x070F }, + { 0x17B4, 0x17B5 }, + { 0x200B, 0x200F }, + { 0x202A, 0x202E }, + { 0x2060, 0x2064 }, + { 0x206A, 0x206F }, + { 0xFEFF, 0xFEFF }, + { 0xFFF9, 0xFFFB }, + { 0x1D173, 0x1D17A }, + { 0xE0001, 0xE0001 }, + { 0xE0020, 0xE007F } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Cf) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Cn.c b/tests/unictype/test-categ_Cn.c new file mode 100644 index 00000000..5430ea28 --- /dev/null +++ b/tests/unictype/test-categ_Cn.c @@ -0,0 +1,467 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0378, 0x0379 }, + { 0x037F, 0x0383 }, + { 0x038B, 0x038B }, + { 0x038D, 0x038D }, + { 0x03A2, 0x03A2 }, + { 0x0524, 0x0530 }, + { 0x0557, 0x0558 }, + { 0x0560, 0x0560 }, + { 0x0588, 0x0588 }, + { 0x058B, 0x0590 }, + { 0x05C8, 0x05CF }, + { 0x05EB, 0x05EF }, + { 0x05F5, 0x05FF }, + { 0x0604, 0x0605 }, + { 0x061C, 0x061D }, + { 0x0620, 0x0620 }, + { 0x065F, 0x065F }, + { 0x070E, 0x070E }, + { 0x074B, 0x074C }, + { 0x07B2, 0x07BF }, + { 0x07FB, 0x0900 }, + { 0x093A, 0x093B }, + { 0x094E, 0x094F }, + { 0x0955, 0x0957 }, + { 0x0973, 0x097A }, + { 0x0980, 0x0980 }, + { 0x0984, 0x0984 }, + { 0x098D, 0x098E }, + { 0x0991, 0x0992 }, + { 0x09A9, 0x09A9 }, + { 0x09B1, 0x09B1 }, + { 0x09B3, 0x09B5 }, + { 0x09BA, 0x09BB }, + { 0x09C5, 0x09C6 }, + { 0x09C9, 0x09CA }, + { 0x09CF, 0x09D6 }, + { 0x09D8, 0x09DB }, + { 0x09DE, 0x09DE }, + { 0x09E4, 0x09E5 }, + { 0x09FB, 0x0A00 }, + { 0x0A04, 0x0A04 }, + { 0x0A0B, 0x0A0E }, + { 0x0A11, 0x0A12 }, + { 0x0A29, 0x0A29 }, + { 0x0A31, 0x0A31 }, + { 0x0A34, 0x0A34 }, + { 0x0A37, 0x0A37 }, + { 0x0A3A, 0x0A3B }, + { 0x0A3D, 0x0A3D }, + { 0x0A43, 0x0A46 }, + { 0x0A49, 0x0A4A }, + { 0x0A4E, 0x0A50 }, + { 0x0A52, 0x0A58 }, + { 0x0A5D, 0x0A5D }, + { 0x0A5F, 0x0A65 }, + { 0x0A76, 0x0A80 }, + { 0x0A84, 0x0A84 }, + { 0x0A8E, 0x0A8E }, + { 0x0A92, 0x0A92 }, + { 0x0AA9, 0x0AA9 }, + { 0x0AB1, 0x0AB1 }, + { 0x0AB4, 0x0AB4 }, + { 0x0ABA, 0x0ABB }, + { 0x0AC6, 0x0AC6 }, + { 0x0ACA, 0x0ACA }, + { 0x0ACE, 0x0ACF }, + { 0x0AD1, 0x0ADF }, + { 0x0AE4, 0x0AE5 }, + { 0x0AF0, 0x0AF0 }, + { 0x0AF2, 0x0B00 }, + { 0x0B04, 0x0B04 }, + { 0x0B0D, 0x0B0E }, + { 0x0B11, 0x0B12 }, + { 0x0B29, 0x0B29 }, + { 0x0B31, 0x0B31 }, + { 0x0B34, 0x0B34 }, + { 0x0B3A, 0x0B3B }, + { 0x0B45, 0x0B46 }, + { 0x0B49, 0x0B4A }, + { 0x0B4E, 0x0B55 }, + { 0x0B58, 0x0B5B }, + { 0x0B5E, 0x0B5E }, + { 0x0B64, 0x0B65 }, + { 0x0B72, 0x0B81 }, + { 0x0B84, 0x0B84 }, + { 0x0B8B, 0x0B8D }, + { 0x0B91, 0x0B91 }, + { 0x0B96, 0x0B98 }, + { 0x0B9B, 0x0B9B }, + { 0x0B9D, 0x0B9D }, + { 0x0BA0, 0x0BA2 }, + { 0x0BA5, 0x0BA7 }, + { 0x0BAB, 0x0BAD }, + { 0x0BBA, 0x0BBD }, + { 0x0BC3, 0x0BC5 }, + { 0x0BC9, 0x0BC9 }, + { 0x0BCE, 0x0BCF }, + { 0x0BD1, 0x0BD6 }, + { 0x0BD8, 0x0BE5 }, + { 0x0BFB, 0x0C00 }, + { 0x0C04, 0x0C04 }, + { 0x0C0D, 0x0C0D }, + { 0x0C11, 0x0C11 }, + { 0x0C29, 0x0C29 }, + { 0x0C34, 0x0C34 }, + { 0x0C3A, 0x0C3C }, + { 0x0C45, 0x0C45 }, + { 0x0C49, 0x0C49 }, + { 0x0C4E, 0x0C54 }, + { 0x0C57, 0x0C57 }, + { 0x0C5A, 0x0C5F }, + { 0x0C64, 0x0C65 }, + { 0x0C70, 0x0C77 }, + { 0x0C80, 0x0C81 }, + { 0x0C84, 0x0C84 }, + { 0x0C8D, 0x0C8D }, + { 0x0C91, 0x0C91 }, + { 0x0CA9, 0x0CA9 }, + { 0x0CB4, 0x0CB4 }, + { 0x0CBA, 0x0CBB }, + { 0x0CC5, 0x0CC5 }, + { 0x0CC9, 0x0CC9 }, + { 0x0CCE, 0x0CD4 }, + { 0x0CD7, 0x0CDD }, + { 0x0CDF, 0x0CDF }, + { 0x0CE4, 0x0CE5 }, + { 0x0CF0, 0x0CF0 }, + { 0x0CF3, 0x0D01 }, + { 0x0D04, 0x0D04 }, + { 0x0D0D, 0x0D0D }, + { 0x0D11, 0x0D11 }, + { 0x0D29, 0x0D29 }, + { 0x0D3A, 0x0D3C }, + { 0x0D45, 0x0D45 }, + { 0x0D49, 0x0D49 }, + { 0x0D4E, 0x0D56 }, + { 0x0D58, 0x0D5F }, + { 0x0D64, 0x0D65 }, + { 0x0D76, 0x0D78 }, + { 0x0D80, 0x0D81 }, + { 0x0D84, 0x0D84 }, + { 0x0D97, 0x0D99 }, + { 0x0DB2, 0x0DB2 }, + { 0x0DBC, 0x0DBC }, + { 0x0DBE, 0x0DBF }, + { 0x0DC7, 0x0DC9 }, + { 0x0DCB, 0x0DCE }, + { 0x0DD5, 0x0DD5 }, + { 0x0DD7, 0x0DD7 }, + { 0x0DE0, 0x0DF1 }, + { 0x0DF5, 0x0E00 }, + { 0x0E3B, 0x0E3E }, + { 0x0E5C, 0x0E80 }, + { 0x0E83, 0x0E83 }, + { 0x0E85, 0x0E86 }, + { 0x0E89, 0x0E89 }, + { 0x0E8B, 0x0E8C }, + { 0x0E8E, 0x0E93 }, + { 0x0E98, 0x0E98 }, + { 0x0EA0, 0x0EA0 }, + { 0x0EA4, 0x0EA4 }, + { 0x0EA6, 0x0EA6 }, + { 0x0EA8, 0x0EA9 }, + { 0x0EAC, 0x0EAC }, + { 0x0EBA, 0x0EBA }, + { 0x0EBE, 0x0EBF }, + { 0x0EC5, 0x0EC5 }, + { 0x0EC7, 0x0EC7 }, + { 0x0ECE, 0x0ECF }, + { 0x0EDA, 0x0EDB }, + { 0x0EDE, 0x0EFF }, + { 0x0F48, 0x0F48 }, + { 0x0F6D, 0x0F70 }, + { 0x0F8C, 0x0F8F }, + { 0x0F98, 0x0F98 }, + { 0x0FBD, 0x0FBD }, + { 0x0FCD, 0x0FCD }, + { 0x0FD5, 0x0FFF }, + { 0x109A, 0x109D }, + { 0x10C6, 0x10CF }, + { 0x10FD, 0x10FF }, + { 0x115A, 0x115E }, + { 0x11A3, 0x11A7 }, + { 0x11FA, 0x11FF }, + { 0x1249, 0x1249 }, + { 0x124E, 0x124F }, + { 0x1257, 0x1257 }, + { 0x1259, 0x1259 }, + { 0x125E, 0x125F }, + { 0x1289, 0x1289 }, + { 0x128E, 0x128F }, + { 0x12B1, 0x12B1 }, + { 0x12B6, 0x12B7 }, + { 0x12BF, 0x12BF }, + { 0x12C1, 0x12C1 }, + { 0x12C6, 0x12C7 }, + { 0x12D7, 0x12D7 }, + { 0x1311, 0x1311 }, + { 0x1316, 0x1317 }, + { 0x135B, 0x135E }, + { 0x137D, 0x137F }, + { 0x139A, 0x139F }, + { 0x13F5, 0x1400 }, + { 0x1677, 0x167F }, + { 0x169D, 0x169F }, + { 0x16F1, 0x16FF }, + { 0x170D, 0x170D }, + { 0x1715, 0x171F }, + { 0x1737, 0x173F }, + { 0x1754, 0x175F }, + { 0x176D, 0x176D }, + { 0x1771, 0x1771 }, + { 0x1774, 0x177F }, + { 0x17DE, 0x17DF }, + { 0x17EA, 0x17EF }, + { 0x17FA, 0x17FF }, + { 0x180F, 0x180F }, + { 0x181A, 0x181F }, + { 0x1878, 0x187F }, + { 0x18AB, 0x18FF }, + { 0x191D, 0x191F }, + { 0x192C, 0x192F }, + { 0x193C, 0x193F }, + { 0x1941, 0x1943 }, + { 0x196E, 0x196F }, + { 0x1975, 0x197F }, + { 0x19AA, 0x19AF }, + { 0x19CA, 0x19CF }, + { 0x19DA, 0x19DD }, + { 0x1A1C, 0x1A1D }, + { 0x1A20, 0x1AFF }, + { 0x1B4C, 0x1B4F }, + { 0x1B7D, 0x1B7F }, + { 0x1BAB, 0x1BAD }, + { 0x1BBA, 0x1BFF }, + { 0x1C38, 0x1C3A }, + { 0x1C4A, 0x1C4C }, + { 0x1C80, 0x1CFF }, + { 0x1DE7, 0x1DFD }, + { 0x1F16, 0x1F17 }, + { 0x1F1E, 0x1F1F }, + { 0x1F46, 0x1F47 }, + { 0x1F4E, 0x1F4F }, + { 0x1F58, 0x1F58 }, + { 0x1F5A, 0x1F5A }, + { 0x1F5C, 0x1F5C }, + { 0x1F5E, 0x1F5E }, + { 0x1F7E, 0x1F7F }, + { 0x1FB5, 0x1FB5 }, + { 0x1FC5, 0x1FC5 }, + { 0x1FD4, 0x1FD5 }, + { 0x1FDC, 0x1FDC }, + { 0x1FF0, 0x1FF1 }, + { 0x1FF5, 0x1FF5 }, + { 0x1FFF, 0x1FFF }, + { 0x2065, 0x2069 }, + { 0x2072, 0x2073 }, + { 0x208F, 0x208F }, + { 0x2095, 0x209F }, + { 0x20B6, 0x20CF }, + { 0x20F1, 0x20FF }, + { 0x2150, 0x2152 }, + { 0x2189, 0x218F }, + { 0x23E8, 0x23FF }, + { 0x2427, 0x243F }, + { 0x244B, 0x245F }, + { 0x269E, 0x269F }, + { 0x26BD, 0x26BF }, + { 0x26C4, 0x2700 }, + { 0x2705, 0x2705 }, + { 0x270A, 0x270B }, + { 0x2728, 0x2728 }, + { 0x274C, 0x274C }, + { 0x274E, 0x274E }, + { 0x2753, 0x2755 }, + { 0x2757, 0x2757 }, + { 0x275F, 0x2760 }, + { 0x2795, 0x2797 }, + { 0x27B0, 0x27B0 }, + { 0x27BF, 0x27BF }, + { 0x27CB, 0x27CB }, + { 0x27CD, 0x27CF }, + { 0x2B4D, 0x2B4F }, + { 0x2B55, 0x2BFF }, + { 0x2C2F, 0x2C2F }, + { 0x2C5F, 0x2C5F }, + { 0x2C70, 0x2C70 }, + { 0x2C7E, 0x2C7F }, + { 0x2CEB, 0x2CF8 }, + { 0x2D26, 0x2D2F }, + { 0x2D66, 0x2D6E }, + { 0x2D70, 0x2D7F }, + { 0x2D97, 0x2D9F }, + { 0x2DA7, 0x2DA7 }, + { 0x2DAF, 0x2DAF }, + { 0x2DB7, 0x2DB7 }, + { 0x2DBF, 0x2DBF }, + { 0x2DC7, 0x2DC7 }, + { 0x2DCF, 0x2DCF }, + { 0x2DD7, 0x2DD7 }, + { 0x2DDF, 0x2DDF }, + { 0x2E31, 0x2E7F }, + { 0x2E9A, 0x2E9A }, + { 0x2EF4, 0x2EFF }, + { 0x2FD6, 0x2FEF }, + { 0x2FFC, 0x2FFF }, + { 0x3040, 0x3040 }, + { 0x3097, 0x3098 }, + { 0x3100, 0x3104 }, + { 0x312E, 0x3130 }, + { 0x318F, 0x318F }, + { 0x31B8, 0x31BF }, + { 0x31E4, 0x31EF }, + { 0x321F, 0x321F }, + { 0x3244, 0x324F }, + { 0x32FF, 0x32FF }, + { 0x4DB6, 0x4DBF }, + { 0x9FC4, 0x9FFF }, + { 0xA48D, 0xA48F }, + { 0xA4C7, 0xA4FF }, + { 0xA62C, 0xA63F }, + { 0xA660, 0xA661 }, + { 0xA674, 0xA67B }, + { 0xA698, 0xA6FF }, + { 0xA78D, 0xA7FA }, + { 0xA82C, 0xA83F }, + { 0xA878, 0xA87F }, + { 0xA8C5, 0xA8CD }, + { 0xA8DA, 0xA8FF }, + { 0xA954, 0xA95E }, + { 0xA960, 0xA9FF }, + { 0xAA37, 0xAA3F }, + { 0xAA4E, 0xAA4F }, + { 0xAA5A, 0xAA5B }, + { 0xAA60, 0xABFF }, + { 0xD7A4, 0xD7FF }, + { 0xFA2E, 0xFA2F }, + { 0xFA6B, 0xFA6F }, + { 0xFADA, 0xFAFF }, + { 0xFB07, 0xFB12 }, + { 0xFB18, 0xFB1C }, + { 0xFB37, 0xFB37 }, + { 0xFB3D, 0xFB3D }, + { 0xFB3F, 0xFB3F }, + { 0xFB42, 0xFB42 }, + { 0xFB45, 0xFB45 }, + { 0xFBB2, 0xFBD2 }, + { 0xFD40, 0xFD4F }, + { 0xFD90, 0xFD91 }, + { 0xFDC8, 0xFDEF }, + { 0xFDFE, 0xFDFF }, + { 0xFE1A, 0xFE1F }, + { 0xFE27, 0xFE2F }, + { 0xFE53, 0xFE53 }, + { 0xFE67, 0xFE67 }, + { 0xFE6C, 0xFE6F }, + { 0xFE75, 0xFE75 }, + { 0xFEFD, 0xFEFE }, + { 0xFF00, 0xFF00 }, + { 0xFFBF, 0xFFC1 }, + { 0xFFC8, 0xFFC9 }, + { 0xFFD0, 0xFFD1 }, + { 0xFFD8, 0xFFD9 }, + { 0xFFDD, 0xFFDF }, + { 0xFFE7, 0xFFE7 }, + { 0xFFEF, 0xFFF8 }, + { 0xFFFE, 0xFFFF }, + { 0x1000C, 0x1000C }, + { 0x10027, 0x10027 }, + { 0x1003B, 0x1003B }, + { 0x1003E, 0x1003E }, + { 0x1004E, 0x1004F }, + { 0x1005E, 0x1007F }, + { 0x100FB, 0x100FF }, + { 0x10103, 0x10106 }, + { 0x10134, 0x10136 }, + { 0x1018B, 0x1018F }, + { 0x1019C, 0x101CF }, + { 0x101FE, 0x1027F }, + { 0x1029D, 0x1029F }, + { 0x102D1, 0x102FF }, + { 0x1031F, 0x1031F }, + { 0x10324, 0x1032F }, + { 0x1034B, 0x1037F }, + { 0x1039E, 0x1039E }, + { 0x103C4, 0x103C7 }, + { 0x103D6, 0x103FF }, + { 0x1049E, 0x1049F }, + { 0x104AA, 0x107FF }, + { 0x10806, 0x10807 }, + { 0x10809, 0x10809 }, + { 0x10836, 0x10836 }, + { 0x10839, 0x1083B }, + { 0x1083D, 0x1083E }, + { 0x10840, 0x108FF }, + { 0x1091A, 0x1091E }, + { 0x1093A, 0x1093E }, + { 0x10940, 0x109FF }, + { 0x10A04, 0x10A04 }, + { 0x10A07, 0x10A0B }, + { 0x10A14, 0x10A14 }, + { 0x10A18, 0x10A18 }, + { 0x10A34, 0x10A37 }, + { 0x10A3B, 0x10A3E }, + { 0x10A48, 0x10A4F }, + { 0x10A59, 0x11FFF }, + { 0x1236F, 0x123FF }, + { 0x12463, 0x1246F }, + { 0x12474, 0x1CFFF }, + { 0x1D0F6, 0x1D0FF }, + { 0x1D127, 0x1D128 }, + { 0x1D1DE, 0x1D1FF }, + { 0x1D246, 0x1D2FF }, + { 0x1D357, 0x1D35F }, + { 0x1D372, 0x1D3FF }, + { 0x1D455, 0x1D455 }, + { 0x1D49D, 0x1D49D }, + { 0x1D4A0, 0x1D4A1 }, + { 0x1D4A3, 0x1D4A4 }, + { 0x1D4A7, 0x1D4A8 }, + { 0x1D4AD, 0x1D4AD }, + { 0x1D4BA, 0x1D4BA }, + { 0x1D4BC, 0x1D4BC }, + { 0x1D4C4, 0x1D4C4 }, + { 0x1D506, 0x1D506 }, + { 0x1D50B, 0x1D50C }, + { 0x1D515, 0x1D515 }, + { 0x1D51D, 0x1D51D }, + { 0x1D53A, 0x1D53A }, + { 0x1D53F, 0x1D53F }, + { 0x1D545, 0x1D545 }, + { 0x1D547, 0x1D549 }, + { 0x1D551, 0x1D551 }, + { 0x1D6A6, 0x1D6A7 }, + { 0x1D7CC, 0x1D7CD }, + { 0x1D800, 0x1EFFF }, + { 0x1F02C, 0x1F02F }, + { 0x1F094, 0x1FFFF }, + { 0x2A6D7, 0x2F7FF }, + { 0x2FA1E, 0xE0000 }, + { 0xE0002, 0xE001F }, + { 0xE0080, 0xE00FF }, + { 0xE01F0, 0xEFFFF }, + { 0xFFFFE, 0xFFFFF }, + { 0x10FFFE, 0x10FFFF } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Cn) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Co.c b/tests/unictype/test-categ_Co.c new file mode 100644 index 00000000..f524db4c --- /dev/null +++ b/tests/unictype/test-categ_Co.c @@ -0,0 +1,25 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0xE000, 0xF8FF }, + { 0xF0000, 0xFFFFD }, + { 0x100000, 0x10FFFD } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Co) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Cs.c b/tests/unictype/test-categ_Cs.c new file mode 100644 index 00000000..cb8cc969 --- /dev/null +++ b/tests/unictype/test-categ_Cs.c @@ -0,0 +1,23 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0xD800, 0xDFFF } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Cs) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_L.c b/tests/unictype/test-categ_L.c new file mode 100644 index 00000000..f4019171 --- /dev/null +++ b/tests/unictype/test-categ_L.c @@ -0,0 +1,412 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0041, 0x005A }, + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00BA, 0x00BA }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00F6 }, + { 0x00F8, 0x02C1 }, + { 0x02C6, 0x02D1 }, + { 0x02E0, 0x02E4 }, + { 0x02EC, 0x02EC }, + { 0x02EE, 0x02EE }, + { 0x0370, 0x0374 }, + { 0x0376, 0x0377 }, + { 0x037A, 0x037D }, + { 0x0386, 0x0386 }, + { 0x0388, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x03F5 }, + { 0x03F7, 0x0481 }, + { 0x048A, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0559, 0x0559 }, + { 0x0561, 0x0587 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F2 }, + { 0x0621, 0x064A }, + { 0x066E, 0x066F }, + { 0x0671, 0x06D3 }, + { 0x06D5, 0x06D5 }, + { 0x06E5, 0x06E6 }, + { 0x06EE, 0x06EF }, + { 0x06FA, 0x06FC }, + { 0x06FF, 0x06FF }, + { 0x0710, 0x0710 }, + { 0x0712, 0x072F }, + { 0x074D, 0x07A5 }, + { 0x07B1, 0x07B1 }, + { 0x07CA, 0x07EA }, + { 0x07F4, 0x07F5 }, + { 0x07FA, 0x07FA }, + { 0x0904, 0x0939 }, + { 0x093D, 0x093D }, + { 0x0950, 0x0950 }, + { 0x0958, 0x0961 }, + { 0x0971, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BD, 0x09BD }, + { 0x09CE, 0x09CE }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E1 }, + { 0x09F0, 0x09F1 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A72, 0x0A74 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABD, 0x0ABD }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE1 }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3D, 0x0B3D }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B61 }, + { 0x0B71, 0x0B71 }, + { 0x0B83, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BD0, 0x0BD0 }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C3D }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C61 }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBD, 0x0CBD }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE1 }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D3D }, + { 0x0D60, 0x0D61 }, + { 0x0D7A, 0x0D7F }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0E01, 0x0E30 }, + { 0x0E32, 0x0E33 }, + { 0x0E40, 0x0E46 }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB0 }, + { 0x0EB2, 0x0EB3 }, + { 0x0EBD, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EC6, 0x0EC6 }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F00 }, + { 0x0F40, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F88, 0x0F8B }, + { 0x1000, 0x102A }, + { 0x103F, 0x103F }, + { 0x1050, 0x1055 }, + { 0x105A, 0x105D }, + { 0x1061, 0x1061 }, + { 0x1065, 0x1066 }, + { 0x106E, 0x1070 }, + { 0x1075, 0x1081 }, + { 0x108E, 0x108E }, + { 0x10A0, 0x10C5 }, + { 0x10D0, 0x10FA }, + { 0x10FC, 0x10FC }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x1380, 0x138F }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x166C }, + { 0x166F, 0x1676 }, + { 0x1681, 0x169A }, + { 0x16A0, 0x16EA }, + { 0x1700, 0x170C }, + { 0x170E, 0x1711 }, + { 0x1720, 0x1731 }, + { 0x1740, 0x1751 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1780, 0x17B3 }, + { 0x17D7, 0x17D7 }, + { 0x17DC, 0x17DC }, + { 0x1820, 0x1877 }, + { 0x1880, 0x18A8 }, + { 0x18AA, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1950, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19C1, 0x19C7 }, + { 0x1A00, 0x1A16 }, + { 0x1B05, 0x1B33 }, + { 0x1B45, 0x1B4B }, + { 0x1B83, 0x1BA0 }, + { 0x1BAE, 0x1BAF }, + { 0x1C00, 0x1C23 }, + { 0x1C4D, 0x1C4F }, + { 0x1C5A, 0x1C7D }, + { 0x1D00, 0x1DBF }, + { 0x1E00, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FBC }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FC4 }, + { 0x1FC6, 0x1FCC }, + { 0x1FD0, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FE0, 0x1FEC }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFC }, + { 0x2071, 0x2071 }, + { 0x207F, 0x207F }, + { 0x2090, 0x2094 }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2119, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x2128 }, + { 0x212A, 0x212D }, + { 0x212F, 0x2139 }, + { 0x213C, 0x213F }, + { 0x2145, 0x2149 }, + { 0x214E, 0x214E }, + { 0x2183, 0x2184 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CE4 }, + { 0x2D00, 0x2D25 }, + { 0x2D30, 0x2D65 }, + { 0x2D6F, 0x2D6F }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x2E2F, 0x2E2F }, + { 0x3005, 0x3006 }, + { 0x3031, 0x3035 }, + { 0x303B, 0x303C }, + { 0x3041, 0x3096 }, + { 0x309D, 0x309F }, + { 0x30A1, 0x30FA }, + { 0x30FC, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x31A0, 0x31B7 }, + { 0x31F0, 0x31FF }, + { 0x3400, 0x4DB5 }, + { 0x4E00, 0x9FC3 }, + { 0xA000, 0xA48C }, + { 0xA500, 0xA60C }, + { 0xA610, 0xA61F }, + { 0xA62A, 0xA62B }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA66E }, + { 0xA67F, 0xA697 }, + { 0xA717, 0xA71F }, + { 0xA722, 0xA788 }, + { 0xA78B, 0xA78C }, + { 0xA7FB, 0xA801 }, + { 0xA803, 0xA805 }, + { 0xA807, 0xA80A }, + { 0xA80C, 0xA822 }, + { 0xA840, 0xA873 }, + { 0xA882, 0xA8B3 }, + { 0xA90A, 0xA925 }, + { 0xA930, 0xA946 }, + { 0xAA00, 0xAA28 }, + { 0xAA40, 0xAA42 }, + { 0xAA44, 0xAA4B }, + { 0xAC00, 0xD7A3 }, + { 0xF900, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB1D }, + { 0xFB1F, 0xFB28 }, + { 0xFB2A, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFD3D }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDFB }, + { 0xFE70, 0xFE74 }, + { 0xFE76, 0xFEFC }, + { 0xFF21, 0xFF3A }, + { 0xFF41, 0xFF5A }, + { 0xFF66, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10330, 0x10340 }, + { 0x10342, 0x10349 }, + { 0x10380, 0x1039D }, + { 0x103A0, 0x103C3 }, + { 0x103C8, 0x103CF }, + { 0x10400, 0x1049D }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10915 }, + { 0x10920, 0x10939 }, + { 0x10A00, 0x10A00 }, + { 0x10A10, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x12000, 0x1236E }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6FA }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D734 }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D76E }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D7A8 }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7CB }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_L) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Ll.c b/tests/unictype/test-categ_Ll.c new file mode 100644 index 00000000..7cd4ac36 --- /dev/null +++ b/tests/unictype/test-categ_Ll.c @@ -0,0 +1,620 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00BA, 0x00BA }, + { 0x00DF, 0x00F6 }, + { 0x00F8, 0x00FF }, + { 0x0101, 0x0101 }, + { 0x0103, 0x0103 }, + { 0x0105, 0x0105 }, + { 0x0107, 0x0107 }, + { 0x0109, 0x0109 }, + { 0x010B, 0x010B }, + { 0x010D, 0x010D }, + { 0x010F, 0x010F }, + { 0x0111, 0x0111 }, + { 0x0113, 0x0113 }, + { 0x0115, 0x0115 }, + { 0x0117, 0x0117 }, + { 0x0119, 0x0119 }, + { 0x011B, 0x011B }, + { 0x011D, 0x011D }, + { 0x011F, 0x011F }, + { 0x0121, 0x0121 }, + { 0x0123, 0x0123 }, + { 0x0125, 0x0125 }, + { 0x0127, 0x0127 }, + { 0x0129, 0x0129 }, + { 0x012B, 0x012B }, + { 0x012D, 0x012D }, + { 0x012F, 0x012F }, + { 0x0131, 0x0131 }, + { 0x0133, 0x0133 }, + { 0x0135, 0x0135 }, + { 0x0137, 0x0138 }, + { 0x013A, 0x013A }, + { 0x013C, 0x013C }, + { 0x013E, 0x013E }, + { 0x0140, 0x0140 }, + { 0x0142, 0x0142 }, + { 0x0144, 0x0144 }, + { 0x0146, 0x0146 }, + { 0x0148, 0x0149 }, + { 0x014B, 0x014B }, + { 0x014D, 0x014D }, + { 0x014F, 0x014F }, + { 0x0151, 0x0151 }, + { 0x0153, 0x0153 }, + { 0x0155, 0x0155 }, + { 0x0157, 0x0157 }, + { 0x0159, 0x0159 }, + { 0x015B, 0x015B }, + { 0x015D, 0x015D }, + { 0x015F, 0x015F }, + { 0x0161, 0x0161 }, + { 0x0163, 0x0163 }, + { 0x0165, 0x0165 }, + { 0x0167, 0x0167 }, + { 0x0169, 0x0169 }, + { 0x016B, 0x016B }, + { 0x016D, 0x016D }, + { 0x016F, 0x016F }, + { 0x0171, 0x0171 }, + { 0x0173, 0x0173 }, + { 0x0175, 0x0175 }, + { 0x0177, 0x0177 }, + { 0x017A, 0x017A }, + { 0x017C, 0x017C }, + { 0x017E, 0x0180 }, + { 0x0183, 0x0183 }, + { 0x0185, 0x0185 }, + { 0x0188, 0x0188 }, + { 0x018C, 0x018D }, + { 0x0192, 0x0192 }, + { 0x0195, 0x0195 }, + { 0x0199, 0x019B }, + { 0x019E, 0x019E }, + { 0x01A1, 0x01A1 }, + { 0x01A3, 0x01A3 }, + { 0x01A5, 0x01A5 }, + { 0x01A8, 0x01A8 }, + { 0x01AA, 0x01AB }, + { 0x01AD, 0x01AD }, + { 0x01B0, 0x01B0 }, + { 0x01B4, 0x01B4 }, + { 0x01B6, 0x01B6 }, + { 0x01B9, 0x01BA }, + { 0x01BD, 0x01BF }, + { 0x01C6, 0x01C6 }, + { 0x01C9, 0x01C9 }, + { 0x01CC, 0x01CC }, + { 0x01CE, 0x01CE }, + { 0x01D0, 0x01D0 }, + { 0x01D2, 0x01D2 }, + { 0x01D4, 0x01D4 }, + { 0x01D6, 0x01D6 }, + { 0x01D8, 0x01D8 }, + { 0x01DA, 0x01DA }, + { 0x01DC, 0x01DD }, + { 0x01DF, 0x01DF }, + { 0x01E1, 0x01E1 }, + { 0x01E3, 0x01E3 }, + { 0x01E5, 0x01E5 }, + { 0x01E7, 0x01E7 }, + { 0x01E9, 0x01E9 }, + { 0x01EB, 0x01EB }, + { 0x01ED, 0x01ED }, + { 0x01EF, 0x01F0 }, + { 0x01F3, 0x01F3 }, + { 0x01F5, 0x01F5 }, + { 0x01F9, 0x01F9 }, + { 0x01FB, 0x01FB }, + { 0x01FD, 0x01FD }, + { 0x01FF, 0x01FF }, + { 0x0201, 0x0201 }, + { 0x0203, 0x0203 }, + { 0x0205, 0x0205 }, + { 0x0207, 0x0207 }, + { 0x0209, 0x0209 }, + { 0x020B, 0x020B }, + { 0x020D, 0x020D }, + { 0x020F, 0x020F }, + { 0x0211, 0x0211 }, + { 0x0213, 0x0213 }, + { 0x0215, 0x0215 }, + { 0x0217, 0x0217 }, + { 0x0219, 0x0219 }, + { 0x021B, 0x021B }, + { 0x021D, 0x021D }, + { 0x021F, 0x021F }, + { 0x0221, 0x0221 }, + { 0x0223, 0x0223 }, + { 0x0225, 0x0225 }, + { 0x0227, 0x0227 }, + { 0x0229, 0x0229 }, + { 0x022B, 0x022B }, + { 0x022D, 0x022D }, + { 0x022F, 0x022F }, + { 0x0231, 0x0231 }, + { 0x0233, 0x0239 }, + { 0x023C, 0x023C }, + { 0x023F, 0x0240 }, + { 0x0242, 0x0242 }, + { 0x0247, 0x0247 }, + { 0x0249, 0x0249 }, + { 0x024B, 0x024B }, + { 0x024D, 0x024D }, + { 0x024F, 0x0293 }, + { 0x0295, 0x02AF }, + { 0x0371, 0x0371 }, + { 0x0373, 0x0373 }, + { 0x0377, 0x0377 }, + { 0x037B, 0x037D }, + { 0x0390, 0x0390 }, + { 0x03AC, 0x03CE }, + { 0x03D0, 0x03D1 }, + { 0x03D5, 0x03D7 }, + { 0x03D9, 0x03D9 }, + { 0x03DB, 0x03DB }, + { 0x03DD, 0x03DD }, + { 0x03DF, 0x03DF }, + { 0x03E1, 0x03E1 }, + { 0x03E3, 0x03E3 }, + { 0x03E5, 0x03E5 }, + { 0x03E7, 0x03E7 }, + { 0x03E9, 0x03E9 }, + { 0x03EB, 0x03EB }, + { 0x03ED, 0x03ED }, + { 0x03EF, 0x03F3 }, + { 0x03F5, 0x03F5 }, + { 0x03F8, 0x03F8 }, + { 0x03FB, 0x03FC }, + { 0x0430, 0x045F }, + { 0x0461, 0x0461 }, + { 0x0463, 0x0463 }, + { 0x0465, 0x0465 }, + { 0x0467, 0x0467 }, + { 0x0469, 0x0469 }, + { 0x046B, 0x046B }, + { 0x046D, 0x046D }, + { 0x046F, 0x046F }, + { 0x0471, 0x0471 }, + { 0x0473, 0x0473 }, + { 0x0475, 0x0475 }, + { 0x0477, 0x0477 }, + { 0x0479, 0x0479 }, + { 0x047B, 0x047B }, + { 0x047D, 0x047D }, + { 0x047F, 0x047F }, + { 0x0481, 0x0481 }, + { 0x048B, 0x048B }, + { 0x048D, 0x048D }, + { 0x048F, 0x048F }, + { 0x0491, 0x0491 }, + { 0x0493, 0x0493 }, + { 0x0495, 0x0495 }, + { 0x0497, 0x0497 }, + { 0x0499, 0x0499 }, + { 0x049B, 0x049B }, + { 0x049D, 0x049D }, + { 0x049F, 0x049F }, + { 0x04A1, 0x04A1 }, + { 0x04A3, 0x04A3 }, + { 0x04A5, 0x04A5 }, + { 0x04A7, 0x04A7 }, + { 0x04A9, 0x04A9 }, + { 0x04AB, 0x04AB }, + { 0x04AD, 0x04AD }, + { 0x04AF, 0x04AF }, + { 0x04B1, 0x04B1 }, + { 0x04B3, 0x04B3 }, + { 0x04B5, 0x04B5 }, + { 0x04B7, 0x04B7 }, + { 0x04B9, 0x04B9 }, + { 0x04BB, 0x04BB }, + { 0x04BD, 0x04BD }, + { 0x04BF, 0x04BF }, + { 0x04C2, 0x04C2 }, + { 0x04C4, 0x04C4 }, + { 0x04C6, 0x04C6 }, + { 0x04C8, 0x04C8 }, + { 0x04CA, 0x04CA }, + { 0x04CC, 0x04CC }, + { 0x04CE, 0x04CF }, + { 0x04D1, 0x04D1 }, + { 0x04D3, 0x04D3 }, + { 0x04D5, 0x04D5 }, + { 0x04D7, 0x04D7 }, + { 0x04D9, 0x04D9 }, + { 0x04DB, 0x04DB }, + { 0x04DD, 0x04DD }, + { 0x04DF, 0x04DF }, + { 0x04E1, 0x04E1 }, + { 0x04E3, 0x04E3 }, + { 0x04E5, 0x04E5 }, + { 0x04E7, 0x04E7 }, + { 0x04E9, 0x04E9 }, + { 0x04EB, 0x04EB }, + { 0x04ED, 0x04ED }, + { 0x04EF, 0x04EF }, + { 0x04F1, 0x04F1 }, + { 0x04F3, 0x04F3 }, + { 0x04F5, 0x04F5 }, + { 0x04F7, 0x04F7 }, + { 0x04F9, 0x04F9 }, + { 0x04FB, 0x04FB }, + { 0x04FD, 0x04FD }, + { 0x04FF, 0x04FF }, + { 0x0501, 0x0501 }, + { 0x0503, 0x0503 }, + { 0x0505, 0x0505 }, + { 0x0507, 0x0507 }, + { 0x0509, 0x0509 }, + { 0x050B, 0x050B }, + { 0x050D, 0x050D }, + { 0x050F, 0x050F }, + { 0x0511, 0x0511 }, + { 0x0513, 0x0513 }, + { 0x0515, 0x0515 }, + { 0x0517, 0x0517 }, + { 0x0519, 0x0519 }, + { 0x051B, 0x051B }, + { 0x051D, 0x051D }, + { 0x051F, 0x051F }, + { 0x0521, 0x0521 }, + { 0x0523, 0x0523 }, + { 0x0561, 0x0587 }, + { 0x1D00, 0x1D2B }, + { 0x1D62, 0x1D77 }, + { 0x1D79, 0x1D9A }, + { 0x1E01, 0x1E01 }, + { 0x1E03, 0x1E03 }, + { 0x1E05, 0x1E05 }, + { 0x1E07, 0x1E07 }, + { 0x1E09, 0x1E09 }, + { 0x1E0B, 0x1E0B }, + { 0x1E0D, 0x1E0D }, + { 0x1E0F, 0x1E0F }, + { 0x1E11, 0x1E11 }, + { 0x1E13, 0x1E13 }, + { 0x1E15, 0x1E15 }, + { 0x1E17, 0x1E17 }, + { 0x1E19, 0x1E19 }, + { 0x1E1B, 0x1E1B }, + { 0x1E1D, 0x1E1D }, + { 0x1E1F, 0x1E1F }, + { 0x1E21, 0x1E21 }, + { 0x1E23, 0x1E23 }, + { 0x1E25, 0x1E25 }, + { 0x1E27, 0x1E27 }, + { 0x1E29, 0x1E29 }, + { 0x1E2B, 0x1E2B }, + { 0x1E2D, 0x1E2D }, + { 0x1E2F, 0x1E2F }, + { 0x1E31, 0x1E31 }, + { 0x1E33, 0x1E33 }, + { 0x1E35, 0x1E35 }, + { 0x1E37, 0x1E37 }, + { 0x1E39, 0x1E39 }, + { 0x1E3B, 0x1E3B }, + { 0x1E3D, 0x1E3D }, + { 0x1E3F, 0x1E3F }, + { 0x1E41, 0x1E41 }, + { 0x1E43, 0x1E43 }, + { 0x1E45, 0x1E45 }, + { 0x1E47, 0x1E47 }, + { 0x1E49, 0x1E49 }, + { 0x1E4B, 0x1E4B }, + { 0x1E4D, 0x1E4D }, + { 0x1E4F, 0x1E4F }, + { 0x1E51, 0x1E51 }, + { 0x1E53, 0x1E53 }, + { 0x1E55, 0x1E55 }, + { 0x1E57, 0x1E57 }, + { 0x1E59, 0x1E59 }, + { 0x1E5B, 0x1E5B }, + { 0x1E5D, 0x1E5D }, + { 0x1E5F, 0x1E5F }, + { 0x1E61, 0x1E61 }, + { 0x1E63, 0x1E63 }, + { 0x1E65, 0x1E65 }, + { 0x1E67, 0x1E67 }, + { 0x1E69, 0x1E69 }, + { 0x1E6B, 0x1E6B }, + { 0x1E6D, 0x1E6D }, + { 0x1E6F, 0x1E6F }, + { 0x1E71, 0x1E71 }, + { 0x1E73, 0x1E73 }, + { 0x1E75, 0x1E75 }, + { 0x1E77, 0x1E77 }, + { 0x1E79, 0x1E79 }, + { 0x1E7B, 0x1E7B }, + { 0x1E7D, 0x1E7D }, + { 0x1E7F, 0x1E7F }, + { 0x1E81, 0x1E81 }, + { 0x1E83, 0x1E83 }, + { 0x1E85, 0x1E85 }, + { 0x1E87, 0x1E87 }, + { 0x1E89, 0x1E89 }, + { 0x1E8B, 0x1E8B }, + { 0x1E8D, 0x1E8D }, + { 0x1E8F, 0x1E8F }, + { 0x1E91, 0x1E91 }, + { 0x1E93, 0x1E93 }, + { 0x1E95, 0x1E9D }, + { 0x1E9F, 0x1E9F }, + { 0x1EA1, 0x1EA1 }, + { 0x1EA3, 0x1EA3 }, + { 0x1EA5, 0x1EA5 }, + { 0x1EA7, 0x1EA7 }, + { 0x1EA9, 0x1EA9 }, + { 0x1EAB, 0x1EAB }, + { 0x1EAD, 0x1EAD }, + { 0x1EAF, 0x1EAF }, + { 0x1EB1, 0x1EB1 }, + { 0x1EB3, 0x1EB3 }, + { 0x1EB5, 0x1EB5 }, + { 0x1EB7, 0x1EB7 }, + { 0x1EB9, 0x1EB9 }, + { 0x1EBB, 0x1EBB }, + { 0x1EBD, 0x1EBD }, + { 0x1EBF, 0x1EBF }, + { 0x1EC1, 0x1EC1 }, + { 0x1EC3, 0x1EC3 }, + { 0x1EC5, 0x1EC5 }, + { 0x1EC7, 0x1EC7 }, + { 0x1EC9, 0x1EC9 }, + { 0x1ECB, 0x1ECB }, + { 0x1ECD, 0x1ECD }, + { 0x1ECF, 0x1ECF }, + { 0x1ED1, 0x1ED1 }, + { 0x1ED3, 0x1ED3 }, + { 0x1ED5, 0x1ED5 }, + { 0x1ED7, 0x1ED7 }, + { 0x1ED9, 0x1ED9 }, + { 0x1EDB, 0x1EDB }, + { 0x1EDD, 0x1EDD }, + { 0x1EDF, 0x1EDF }, + { 0x1EE1, 0x1EE1 }, + { 0x1EE3, 0x1EE3 }, + { 0x1EE5, 0x1EE5 }, + { 0x1EE7, 0x1EE7 }, + { 0x1EE9, 0x1EE9 }, + { 0x1EEB, 0x1EEB }, + { 0x1EED, 0x1EED }, + { 0x1EEF, 0x1EEF }, + { 0x1EF1, 0x1EF1 }, + { 0x1EF3, 0x1EF3 }, + { 0x1EF5, 0x1EF5 }, + { 0x1EF7, 0x1EF7 }, + { 0x1EF9, 0x1EF9 }, + { 0x1EFB, 0x1EFB }, + { 0x1EFD, 0x1EFD }, + { 0x1EFF, 0x1F07 }, + { 0x1F10, 0x1F15 }, + { 0x1F20, 0x1F27 }, + { 0x1F30, 0x1F37 }, + { 0x1F40, 0x1F45 }, + { 0x1F50, 0x1F57 }, + { 0x1F60, 0x1F67 }, + { 0x1F70, 0x1F7D }, + { 0x1F80, 0x1F87 }, + { 0x1F90, 0x1F97 }, + { 0x1FA0, 0x1FA7 }, + { 0x1FB0, 0x1FB4 }, + { 0x1FB6, 0x1FB7 }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FC4 }, + { 0x1FC6, 0x1FC7 }, + { 0x1FD0, 0x1FD3 }, + { 0x1FD6, 0x1FD7 }, + { 0x1FE0, 0x1FE7 }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FF7 }, + { 0x2071, 0x2071 }, + { 0x207F, 0x207F }, + { 0x210A, 0x210A }, + { 0x210E, 0x210F }, + { 0x2113, 0x2113 }, + { 0x212F, 0x212F }, + { 0x2134, 0x2134 }, + { 0x2139, 0x2139 }, + { 0x213C, 0x213D }, + { 0x2146, 0x2149 }, + { 0x214E, 0x214E }, + { 0x2184, 0x2184 }, + { 0x2C30, 0x2C5E }, + { 0x2C61, 0x2C61 }, + { 0x2C65, 0x2C66 }, + { 0x2C68, 0x2C68 }, + { 0x2C6A, 0x2C6A }, + { 0x2C6C, 0x2C6C }, + { 0x2C71, 0x2C71 }, + { 0x2C73, 0x2C74 }, + { 0x2C76, 0x2C7C }, + { 0x2C81, 0x2C81 }, + { 0x2C83, 0x2C83 }, + { 0x2C85, 0x2C85 }, + { 0x2C87, 0x2C87 }, + { 0x2C89, 0x2C89 }, + { 0x2C8B, 0x2C8B }, + { 0x2C8D, 0x2C8D }, + { 0x2C8F, 0x2C8F }, + { 0x2C91, 0x2C91 }, + { 0x2C93, 0x2C93 }, + { 0x2C95, 0x2C95 }, + { 0x2C97, 0x2C97 }, + { 0x2C99, 0x2C99 }, + { 0x2C9B, 0x2C9B }, + { 0x2C9D, 0x2C9D }, + { 0x2C9F, 0x2C9F }, + { 0x2CA1, 0x2CA1 }, + { 0x2CA3, 0x2CA3 }, + { 0x2CA5, 0x2CA5 }, + { 0x2CA7, 0x2CA7 }, + { 0x2CA9, 0x2CA9 }, + { 0x2CAB, 0x2CAB }, + { 0x2CAD, 0x2CAD }, + { 0x2CAF, 0x2CAF }, + { 0x2CB1, 0x2CB1 }, + { 0x2CB3, 0x2CB3 }, + { 0x2CB5, 0x2CB5 }, + { 0x2CB7, 0x2CB7 }, + { 0x2CB9, 0x2CB9 }, + { 0x2CBB, 0x2CBB }, + { 0x2CBD, 0x2CBD }, + { 0x2CBF, 0x2CBF }, + { 0x2CC1, 0x2CC1 }, + { 0x2CC3, 0x2CC3 }, + { 0x2CC5, 0x2CC5 }, + { 0x2CC7, 0x2CC7 }, + { 0x2CC9, 0x2CC9 }, + { 0x2CCB, 0x2CCB }, + { 0x2CCD, 0x2CCD }, + { 0x2CCF, 0x2CCF }, + { 0x2CD1, 0x2CD1 }, + { 0x2CD3, 0x2CD3 }, + { 0x2CD5, 0x2CD5 }, + { 0x2CD7, 0x2CD7 }, + { 0x2CD9, 0x2CD9 }, + { 0x2CDB, 0x2CDB }, + { 0x2CDD, 0x2CDD }, + { 0x2CDF, 0x2CDF }, + { 0x2CE1, 0x2CE1 }, + { 0x2CE3, 0x2CE4 }, + { 0x2D00, 0x2D25 }, + { 0xA641, 0xA641 }, + { 0xA643, 0xA643 }, + { 0xA645, 0xA645 }, + { 0xA647, 0xA647 }, + { 0xA649, 0xA649 }, + { 0xA64B, 0xA64B }, + { 0xA64D, 0xA64D }, + { 0xA64F, 0xA64F }, + { 0xA651, 0xA651 }, + { 0xA653, 0xA653 }, + { 0xA655, 0xA655 }, + { 0xA657, 0xA657 }, + { 0xA659, 0xA659 }, + { 0xA65B, 0xA65B }, + { 0xA65D, 0xA65D }, + { 0xA65F, 0xA65F }, + { 0xA663, 0xA663 }, + { 0xA665, 0xA665 }, + { 0xA667, 0xA667 }, + { 0xA669, 0xA669 }, + { 0xA66B, 0xA66B }, + { 0xA66D, 0xA66D }, + { 0xA681, 0xA681 }, + { 0xA683, 0xA683 }, + { 0xA685, 0xA685 }, + { 0xA687, 0xA687 }, + { 0xA689, 0xA689 }, + { 0xA68B, 0xA68B }, + { 0xA68D, 0xA68D }, + { 0xA68F, 0xA68F }, + { 0xA691, 0xA691 }, + { 0xA693, 0xA693 }, + { 0xA695, 0xA695 }, + { 0xA697, 0xA697 }, + { 0xA723, 0xA723 }, + { 0xA725, 0xA725 }, + { 0xA727, 0xA727 }, + { 0xA729, 0xA729 }, + { 0xA72B, 0xA72B }, + { 0xA72D, 0xA72D }, + { 0xA72F, 0xA731 }, + { 0xA733, 0xA733 }, + { 0xA735, 0xA735 }, + { 0xA737, 0xA737 }, + { 0xA739, 0xA739 }, + { 0xA73B, 0xA73B }, + { 0xA73D, 0xA73D }, + { 0xA73F, 0xA73F }, + { 0xA741, 0xA741 }, + { 0xA743, 0xA743 }, + { 0xA745, 0xA745 }, + { 0xA747, 0xA747 }, + { 0xA749, 0xA749 }, + { 0xA74B, 0xA74B }, + { 0xA74D, 0xA74D }, + { 0xA74F, 0xA74F }, + { 0xA751, 0xA751 }, + { 0xA753, 0xA753 }, + { 0xA755, 0xA755 }, + { 0xA757, 0xA757 }, + { 0xA759, 0xA759 }, + { 0xA75B, 0xA75B }, + { 0xA75D, 0xA75D }, + { 0xA75F, 0xA75F }, + { 0xA761, 0xA761 }, + { 0xA763, 0xA763 }, + { 0xA765, 0xA765 }, + { 0xA767, 0xA767 }, + { 0xA769, 0xA769 }, + { 0xA76B, 0xA76B }, + { 0xA76D, 0xA76D }, + { 0xA76F, 0xA76F }, + { 0xA771, 0xA778 }, + { 0xA77A, 0xA77A }, + { 0xA77C, 0xA77C }, + { 0xA77F, 0xA77F }, + { 0xA781, 0xA781 }, + { 0xA783, 0xA783 }, + { 0xA785, 0xA785 }, + { 0xA787, 0xA787 }, + { 0xA78C, 0xA78C }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFF41, 0xFF5A }, + { 0x10428, 0x1044F }, + { 0x1D41A, 0x1D433 }, + { 0x1D44E, 0x1D454 }, + { 0x1D456, 0x1D467 }, + { 0x1D482, 0x1D49B }, + { 0x1D4B6, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D4CF }, + { 0x1D4EA, 0x1D503 }, + { 0x1D51E, 0x1D537 }, + { 0x1D552, 0x1D56B }, + { 0x1D586, 0x1D59F }, + { 0x1D5BA, 0x1D5D3 }, + { 0x1D5EE, 0x1D607 }, + { 0x1D622, 0x1D63B }, + { 0x1D656, 0x1D66F }, + { 0x1D68A, 0x1D6A5 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6E1 }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D71B }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D755 }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D78F }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7C9 }, + { 0x1D7CB, 0x1D7CB } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Ll) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Lm.c b/tests/unictype/test-categ_Lm.c new file mode 100644 index 00000000..7444b164 --- /dev/null +++ b/tests/unictype/test-categ_Lm.c @@ -0,0 +1,61 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x02B0, 0x02C1 }, + { 0x02C6, 0x02D1 }, + { 0x02E0, 0x02E4 }, + { 0x02EC, 0x02EC }, + { 0x02EE, 0x02EE }, + { 0x0374, 0x0374 }, + { 0x037A, 0x037A }, + { 0x0559, 0x0559 }, + { 0x0640, 0x0640 }, + { 0x06E5, 0x06E6 }, + { 0x07F4, 0x07F5 }, + { 0x07FA, 0x07FA }, + { 0x0971, 0x0971 }, + { 0x0E46, 0x0E46 }, + { 0x0EC6, 0x0EC6 }, + { 0x10FC, 0x10FC }, + { 0x17D7, 0x17D7 }, + { 0x1843, 0x1843 }, + { 0x1C78, 0x1C7D }, + { 0x1D2C, 0x1D61 }, + { 0x1D78, 0x1D78 }, + { 0x1D9B, 0x1DBF }, + { 0x2090, 0x2094 }, + { 0x2C7D, 0x2C7D }, + { 0x2D6F, 0x2D6F }, + { 0x2E2F, 0x2E2F }, + { 0x3005, 0x3005 }, + { 0x3031, 0x3035 }, + { 0x303B, 0x303B }, + { 0x309D, 0x309E }, + { 0x30FC, 0x30FE }, + { 0xA015, 0xA015 }, + { 0xA60C, 0xA60C }, + { 0xA67F, 0xA67F }, + { 0xA717, 0xA71F }, + { 0xA770, 0xA770 }, + { 0xA788, 0xA788 }, + { 0xFF70, 0xFF70 }, + { 0xFF9E, 0xFF9F } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Lm) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Lo.c b/tests/unictype/test-categ_Lo.c new file mode 100644 index 00000000..aaf69963 --- /dev/null +++ b/tests/unictype/test-categ_Lo.c @@ -0,0 +1,304 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x01BB, 0x01BB }, + { 0x01C0, 0x01C3 }, + { 0x0294, 0x0294 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F2 }, + { 0x0621, 0x063F }, + { 0x0641, 0x064A }, + { 0x066E, 0x066F }, + { 0x0671, 0x06D3 }, + { 0x06D5, 0x06D5 }, + { 0x06EE, 0x06EF }, + { 0x06FA, 0x06FC }, + { 0x06FF, 0x06FF }, + { 0x0710, 0x0710 }, + { 0x0712, 0x072F }, + { 0x074D, 0x07A5 }, + { 0x07B1, 0x07B1 }, + { 0x07CA, 0x07EA }, + { 0x0904, 0x0939 }, + { 0x093D, 0x093D }, + { 0x0950, 0x0950 }, + { 0x0958, 0x0961 }, + { 0x0972, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BD, 0x09BD }, + { 0x09CE, 0x09CE }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E1 }, + { 0x09F0, 0x09F1 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A72, 0x0A74 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABD, 0x0ABD }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE1 }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3D, 0x0B3D }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B61 }, + { 0x0B71, 0x0B71 }, + { 0x0B83, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BD0, 0x0BD0 }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C3D }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C61 }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBD, 0x0CBD }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE1 }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D3D }, + { 0x0D60, 0x0D61 }, + { 0x0D7A, 0x0D7F }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0E01, 0x0E30 }, + { 0x0E32, 0x0E33 }, + { 0x0E40, 0x0E45 }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB0 }, + { 0x0EB2, 0x0EB3 }, + { 0x0EBD, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F00 }, + { 0x0F40, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F88, 0x0F8B }, + { 0x1000, 0x102A }, + { 0x103F, 0x103F }, + { 0x1050, 0x1055 }, + { 0x105A, 0x105D }, + { 0x1061, 0x1061 }, + { 0x1065, 0x1066 }, + { 0x106E, 0x1070 }, + { 0x1075, 0x1081 }, + { 0x108E, 0x108E }, + { 0x10D0, 0x10FA }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x1380, 0x138F }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x166C }, + { 0x166F, 0x1676 }, + { 0x1681, 0x169A }, + { 0x16A0, 0x16EA }, + { 0x1700, 0x170C }, + { 0x170E, 0x1711 }, + { 0x1720, 0x1731 }, + { 0x1740, 0x1751 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1780, 0x17B3 }, + { 0x17DC, 0x17DC }, + { 0x1820, 0x1842 }, + { 0x1844, 0x1877 }, + { 0x1880, 0x18A8 }, + { 0x18AA, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1950, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19C1, 0x19C7 }, + { 0x1A00, 0x1A16 }, + { 0x1B05, 0x1B33 }, + { 0x1B45, 0x1B4B }, + { 0x1B83, 0x1BA0 }, + { 0x1BAE, 0x1BAF }, + { 0x1C00, 0x1C23 }, + { 0x1C4D, 0x1C4F }, + { 0x1C5A, 0x1C77 }, + { 0x2135, 0x2138 }, + { 0x2D30, 0x2D65 }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x3006, 0x3006 }, + { 0x303C, 0x303C }, + { 0x3041, 0x3096 }, + { 0x309F, 0x309F }, + { 0x30A1, 0x30FA }, + { 0x30FF, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x31A0, 0x31B7 }, + { 0x31F0, 0x31FF }, + { 0x3400, 0x4DB5 }, + { 0x4E00, 0x9FC3 }, + { 0xA000, 0xA014 }, + { 0xA016, 0xA48C }, + { 0xA500, 0xA60B }, + { 0xA610, 0xA61F }, + { 0xA62A, 0xA62B }, + { 0xA66E, 0xA66E }, + { 0xA7FB, 0xA801 }, + { 0xA803, 0xA805 }, + { 0xA807, 0xA80A }, + { 0xA80C, 0xA822 }, + { 0xA840, 0xA873 }, + { 0xA882, 0xA8B3 }, + { 0xA90A, 0xA925 }, + { 0xA930, 0xA946 }, + { 0xAA00, 0xAA28 }, + { 0xAA40, 0xAA42 }, + { 0xAA44, 0xAA4B }, + { 0xAC00, 0xD7A3 }, + { 0xF900, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB1D, 0xFB1D }, + { 0xFB1F, 0xFB28 }, + { 0xFB2A, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFD3D }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDFB }, + { 0xFE70, 0xFE74 }, + { 0xFE76, 0xFEFC }, + { 0xFF66, 0xFF6F }, + { 0xFF71, 0xFF9D }, + { 0xFFA0, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10330, 0x10340 }, + { 0x10342, 0x10349 }, + { 0x10380, 0x1039D }, + { 0x103A0, 0x103C3 }, + { 0x103C8, 0x103CF }, + { 0x10450, 0x1049D }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10915 }, + { 0x10920, 0x10939 }, + { 0x10A00, 0x10A00 }, + { 0x10A10, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x12000, 0x1236E }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Lo) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Lt.c b/tests/unictype/test-categ_Lt.c new file mode 100644 index 00000000..6f319237 --- /dev/null +++ b/tests/unictype/test-categ_Lt.c @@ -0,0 +1,32 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x01C5, 0x01C5 }, + { 0x01C8, 0x01C8 }, + { 0x01CB, 0x01CB }, + { 0x01F2, 0x01F2 }, + { 0x1F88, 0x1F8F }, + { 0x1F98, 0x1F9F }, + { 0x1FA8, 0x1FAF }, + { 0x1FBC, 0x1FBC }, + { 0x1FCC, 0x1FCC }, + { 0x1FFC, 0x1FFC } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Lt) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Lu.c b/tests/unictype/test-categ_Lu.c new file mode 100644 index 00000000..1ed6b403 --- /dev/null +++ b/tests/unictype/test-categ_Lu.c @@ -0,0 +1,613 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0041, 0x005A }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00DE }, + { 0x0100, 0x0100 }, + { 0x0102, 0x0102 }, + { 0x0104, 0x0104 }, + { 0x0106, 0x0106 }, + { 0x0108, 0x0108 }, + { 0x010A, 0x010A }, + { 0x010C, 0x010C }, + { 0x010E, 0x010E }, + { 0x0110, 0x0110 }, + { 0x0112, 0x0112 }, + { 0x0114, 0x0114 }, + { 0x0116, 0x0116 }, + { 0x0118, 0x0118 }, + { 0x011A, 0x011A }, + { 0x011C, 0x011C }, + { 0x011E, 0x011E }, + { 0x0120, 0x0120 }, + { 0x0122, 0x0122 }, + { 0x0124, 0x0124 }, + { 0x0126, 0x0126 }, + { 0x0128, 0x0128 }, + { 0x012A, 0x012A }, + { 0x012C, 0x012C }, + { 0x012E, 0x012E }, + { 0x0130, 0x0130 }, + { 0x0132, 0x0132 }, + { 0x0134, 0x0134 }, + { 0x0136, 0x0136 }, + { 0x0139, 0x0139 }, + { 0x013B, 0x013B }, + { 0x013D, 0x013D }, + { 0x013F, 0x013F }, + { 0x0141, 0x0141 }, + { 0x0143, 0x0143 }, + { 0x0145, 0x0145 }, + { 0x0147, 0x0147 }, + { 0x014A, 0x014A }, + { 0x014C, 0x014C }, + { 0x014E, 0x014E }, + { 0x0150, 0x0150 }, + { 0x0152, 0x0152 }, + { 0x0154, 0x0154 }, + { 0x0156, 0x0156 }, + { 0x0158, 0x0158 }, + { 0x015A, 0x015A }, + { 0x015C, 0x015C }, + { 0x015E, 0x015E }, + { 0x0160, 0x0160 }, + { 0x0162, 0x0162 }, + { 0x0164, 0x0164 }, + { 0x0166, 0x0166 }, + { 0x0168, 0x0168 }, + { 0x016A, 0x016A }, + { 0x016C, 0x016C }, + { 0x016E, 0x016E }, + { 0x0170, 0x0170 }, + { 0x0172, 0x0172 }, + { 0x0174, 0x0174 }, + { 0x0176, 0x0176 }, + { 0x0178, 0x0179 }, + { 0x017B, 0x017B }, + { 0x017D, 0x017D }, + { 0x0181, 0x0182 }, + { 0x0184, 0x0184 }, + { 0x0186, 0x0187 }, + { 0x0189, 0x018B }, + { 0x018E, 0x0191 }, + { 0x0193, 0x0194 }, + { 0x0196, 0x0198 }, + { 0x019C, 0x019D }, + { 0x019F, 0x01A0 }, + { 0x01A2, 0x01A2 }, + { 0x01A4, 0x01A4 }, + { 0x01A6, 0x01A7 }, + { 0x01A9, 0x01A9 }, + { 0x01AC, 0x01AC }, + { 0x01AE, 0x01AF }, + { 0x01B1, 0x01B3 }, + { 0x01B5, 0x01B5 }, + { 0x01B7, 0x01B8 }, + { 0x01BC, 0x01BC }, + { 0x01C4, 0x01C4 }, + { 0x01C7, 0x01C7 }, + { 0x01CA, 0x01CA }, + { 0x01CD, 0x01CD }, + { 0x01CF, 0x01CF }, + { 0x01D1, 0x01D1 }, + { 0x01D3, 0x01D3 }, + { 0x01D5, 0x01D5 }, + { 0x01D7, 0x01D7 }, + { 0x01D9, 0x01D9 }, + { 0x01DB, 0x01DB }, + { 0x01DE, 0x01DE }, + { 0x01E0, 0x01E0 }, + { 0x01E2, 0x01E2 }, + { 0x01E4, 0x01E4 }, + { 0x01E6, 0x01E6 }, + { 0x01E8, 0x01E8 }, + { 0x01EA, 0x01EA }, + { 0x01EC, 0x01EC }, + { 0x01EE, 0x01EE }, + { 0x01F1, 0x01F1 }, + { 0x01F4, 0x01F4 }, + { 0x01F6, 0x01F8 }, + { 0x01FA, 0x01FA }, + { 0x01FC, 0x01FC }, + { 0x01FE, 0x01FE }, + { 0x0200, 0x0200 }, + { 0x0202, 0x0202 }, + { 0x0204, 0x0204 }, + { 0x0206, 0x0206 }, + { 0x0208, 0x0208 }, + { 0x020A, 0x020A }, + { 0x020C, 0x020C }, + { 0x020E, 0x020E }, + { 0x0210, 0x0210 }, + { 0x0212, 0x0212 }, + { 0x0214, 0x0214 }, + { 0x0216, 0x0216 }, + { 0x0218, 0x0218 }, + { 0x021A, 0x021A }, + { 0x021C, 0x021C }, + { 0x021E, 0x021E }, + { 0x0220, 0x0220 }, + { 0x0222, 0x0222 }, + { 0x0224, 0x0224 }, + { 0x0226, 0x0226 }, + { 0x0228, 0x0228 }, + { 0x022A, 0x022A }, + { 0x022C, 0x022C }, + { 0x022E, 0x022E }, + { 0x0230, 0x0230 }, + { 0x0232, 0x0232 }, + { 0x023A, 0x023B }, + { 0x023D, 0x023E }, + { 0x0241, 0x0241 }, + { 0x0243, 0x0246 }, + { 0x0248, 0x0248 }, + { 0x024A, 0x024A }, + { 0x024C, 0x024C }, + { 0x024E, 0x024E }, + { 0x0370, 0x0370 }, + { 0x0372, 0x0372 }, + { 0x0376, 0x0376 }, + { 0x0386, 0x0386 }, + { 0x0388, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x038F }, + { 0x0391, 0x03A1 }, + { 0x03A3, 0x03AB }, + { 0x03CF, 0x03CF }, + { 0x03D2, 0x03D4 }, + { 0x03D8, 0x03D8 }, + { 0x03DA, 0x03DA }, + { 0x03DC, 0x03DC }, + { 0x03DE, 0x03DE }, + { 0x03E0, 0x03E0 }, + { 0x03E2, 0x03E2 }, + { 0x03E4, 0x03E4 }, + { 0x03E6, 0x03E6 }, + { 0x03E8, 0x03E8 }, + { 0x03EA, 0x03EA }, + { 0x03EC, 0x03EC }, + { 0x03EE, 0x03EE }, + { 0x03F4, 0x03F4 }, + { 0x03F7, 0x03F7 }, + { 0x03F9, 0x03FA }, + { 0x03FD, 0x042F }, + { 0x0460, 0x0460 }, + { 0x0462, 0x0462 }, + { 0x0464, 0x0464 }, + { 0x0466, 0x0466 }, + { 0x0468, 0x0468 }, + { 0x046A, 0x046A }, + { 0x046C, 0x046C }, + { 0x046E, 0x046E }, + { 0x0470, 0x0470 }, + { 0x0472, 0x0472 }, + { 0x0474, 0x0474 }, + { 0x0476, 0x0476 }, + { 0x0478, 0x0478 }, + { 0x047A, 0x047A }, + { 0x047C, 0x047C }, + { 0x047E, 0x047E }, + { 0x0480, 0x0480 }, + { 0x048A, 0x048A }, + { 0x048C, 0x048C }, + { 0x048E, 0x048E }, + { 0x0490, 0x0490 }, + { 0x0492, 0x0492 }, + { 0x0494, 0x0494 }, + { 0x0496, 0x0496 }, + { 0x0498, 0x0498 }, + { 0x049A, 0x049A }, + { 0x049C, 0x049C }, + { 0x049E, 0x049E }, + { 0x04A0, 0x04A0 }, + { 0x04A2, 0x04A2 }, + { 0x04A4, 0x04A4 }, + { 0x04A6, 0x04A6 }, + { 0x04A8, 0x04A8 }, + { 0x04AA, 0x04AA }, + { 0x04AC, 0x04AC }, + { 0x04AE, 0x04AE }, + { 0x04B0, 0x04B0 }, + { 0x04B2, 0x04B2 }, + { 0x04B4, 0x04B4 }, + { 0x04B6, 0x04B6 }, + { 0x04B8, 0x04B8 }, + { 0x04BA, 0x04BA }, + { 0x04BC, 0x04BC }, + { 0x04BE, 0x04BE }, + { 0x04C0, 0x04C1 }, + { 0x04C3, 0x04C3 }, + { 0x04C5, 0x04C5 }, + { 0x04C7, 0x04C7 }, + { 0x04C9, 0x04C9 }, + { 0x04CB, 0x04CB }, + { 0x04CD, 0x04CD }, + { 0x04D0, 0x04D0 }, + { 0x04D2, 0x04D2 }, + { 0x04D4, 0x04D4 }, + { 0x04D6, 0x04D6 }, + { 0x04D8, 0x04D8 }, + { 0x04DA, 0x04DA }, + { 0x04DC, 0x04DC }, + { 0x04DE, 0x04DE }, + { 0x04E0, 0x04E0 }, + { 0x04E2, 0x04E2 }, + { 0x04E4, 0x04E4 }, + { 0x04E6, 0x04E6 }, + { 0x04E8, 0x04E8 }, + { 0x04EA, 0x04EA }, + { 0x04EC, 0x04EC }, + { 0x04EE, 0x04EE }, + { 0x04F0, 0x04F0 }, + { 0x04F2, 0x04F2 }, + { 0x04F4, 0x04F4 }, + { 0x04F6, 0x04F6 }, + { 0x04F8, 0x04F8 }, + { 0x04FA, 0x04FA }, + { 0x04FC, 0x04FC }, + { 0x04FE, 0x04FE }, + { 0x0500, 0x0500 }, + { 0x0502, 0x0502 }, + { 0x0504, 0x0504 }, + { 0x0506, 0x0506 }, + { 0x0508, 0x0508 }, + { 0x050A, 0x050A }, + { 0x050C, 0x050C }, + { 0x050E, 0x050E }, + { 0x0510, 0x0510 }, + { 0x0512, 0x0512 }, + { 0x0514, 0x0514 }, + { 0x0516, 0x0516 }, + { 0x0518, 0x0518 }, + { 0x051A, 0x051A }, + { 0x051C, 0x051C }, + { 0x051E, 0x051E }, + { 0x0520, 0x0520 }, + { 0x0522, 0x0522 }, + { 0x0531, 0x0556 }, + { 0x10A0, 0x10C5 }, + { 0x1E00, 0x1E00 }, + { 0x1E02, 0x1E02 }, + { 0x1E04, 0x1E04 }, + { 0x1E06, 0x1E06 }, + { 0x1E08, 0x1E08 }, + { 0x1E0A, 0x1E0A }, + { 0x1E0C, 0x1E0C }, + { 0x1E0E, 0x1E0E }, + { 0x1E10, 0x1E10 }, + { 0x1E12, 0x1E12 }, + { 0x1E14, 0x1E14 }, + { 0x1E16, 0x1E16 }, + { 0x1E18, 0x1E18 }, + { 0x1E1A, 0x1E1A }, + { 0x1E1C, 0x1E1C }, + { 0x1E1E, 0x1E1E }, + { 0x1E20, 0x1E20 }, + { 0x1E22, 0x1E22 }, + { 0x1E24, 0x1E24 }, + { 0x1E26, 0x1E26 }, + { 0x1E28, 0x1E28 }, + { 0x1E2A, 0x1E2A }, + { 0x1E2C, 0x1E2C }, + { 0x1E2E, 0x1E2E }, + { 0x1E30, 0x1E30 }, + { 0x1E32, 0x1E32 }, + { 0x1E34, 0x1E34 }, + { 0x1E36, 0x1E36 }, + { 0x1E38, 0x1E38 }, + { 0x1E3A, 0x1E3A }, + { 0x1E3C, 0x1E3C }, + { 0x1E3E, 0x1E3E }, + { 0x1E40, 0x1E40 }, + { 0x1E42, 0x1E42 }, + { 0x1E44, 0x1E44 }, + { 0x1E46, 0x1E46 }, + { 0x1E48, 0x1E48 }, + { 0x1E4A, 0x1E4A }, + { 0x1E4C, 0x1E4C }, + { 0x1E4E, 0x1E4E }, + { 0x1E50, 0x1E50 }, + { 0x1E52, 0x1E52 }, + { 0x1E54, 0x1E54 }, + { 0x1E56, 0x1E56 }, + { 0x1E58, 0x1E58 }, + { 0x1E5A, 0x1E5A }, + { 0x1E5C, 0x1E5C }, + { 0x1E5E, 0x1E5E }, + { 0x1E60, 0x1E60 }, + { 0x1E62, 0x1E62 }, + { 0x1E64, 0x1E64 }, + { 0x1E66, 0x1E66 }, + { 0x1E68, 0x1E68 }, + { 0x1E6A, 0x1E6A }, + { 0x1E6C, 0x1E6C }, + { 0x1E6E, 0x1E6E }, + { 0x1E70, 0x1E70 }, + { 0x1E72, 0x1E72 }, + { 0x1E74, 0x1E74 }, + { 0x1E76, 0x1E76 }, + { 0x1E78, 0x1E78 }, + { 0x1E7A, 0x1E7A }, + { 0x1E7C, 0x1E7C }, + { 0x1E7E, 0x1E7E }, + { 0x1E80, 0x1E80 }, + { 0x1E82, 0x1E82 }, + { 0x1E84, 0x1E84 }, + { 0x1E86, 0x1E86 }, + { 0x1E88, 0x1E88 }, + { 0x1E8A, 0x1E8A }, + { 0x1E8C, 0x1E8C }, + { 0x1E8E, 0x1E8E }, + { 0x1E90, 0x1E90 }, + { 0x1E92, 0x1E92 }, + { 0x1E94, 0x1E94 }, + { 0x1E9E, 0x1E9E }, + { 0x1EA0, 0x1EA0 }, + { 0x1EA2, 0x1EA2 }, + { 0x1EA4, 0x1EA4 }, + { 0x1EA6, 0x1EA6 }, + { 0x1EA8, 0x1EA8 }, + { 0x1EAA, 0x1EAA }, + { 0x1EAC, 0x1EAC }, + { 0x1EAE, 0x1EAE }, + { 0x1EB0, 0x1EB0 }, + { 0x1EB2, 0x1EB2 }, + { 0x1EB4, 0x1EB4 }, + { 0x1EB6, 0x1EB6 }, + { 0x1EB8, 0x1EB8 }, + { 0x1EBA, 0x1EBA }, + { 0x1EBC, 0x1EBC }, + { 0x1EBE, 0x1EBE }, + { 0x1EC0, 0x1EC0 }, + { 0x1EC2, 0x1EC2 }, + { 0x1EC4, 0x1EC4 }, + { 0x1EC6, 0x1EC6 }, + { 0x1EC8, 0x1EC8 }, + { 0x1ECA, 0x1ECA }, + { 0x1ECC, 0x1ECC }, + { 0x1ECE, 0x1ECE }, + { 0x1ED0, 0x1ED0 }, + { 0x1ED2, 0x1ED2 }, + { 0x1ED4, 0x1ED4 }, + { 0x1ED6, 0x1ED6 }, + { 0x1ED8, 0x1ED8 }, + { 0x1EDA, 0x1EDA }, + { 0x1EDC, 0x1EDC }, + { 0x1EDE, 0x1EDE }, + { 0x1EE0, 0x1EE0 }, + { 0x1EE2, 0x1EE2 }, + { 0x1EE4, 0x1EE4 }, + { 0x1EE6, 0x1EE6 }, + { 0x1EE8, 0x1EE8 }, + { 0x1EEA, 0x1EEA }, + { 0x1EEC, 0x1EEC }, + { 0x1EEE, 0x1EEE }, + { 0x1EF0, 0x1EF0 }, + { 0x1EF2, 0x1EF2 }, + { 0x1EF4, 0x1EF4 }, + { 0x1EF6, 0x1EF6 }, + { 0x1EF8, 0x1EF8 }, + { 0x1EFA, 0x1EFA }, + { 0x1EFC, 0x1EFC }, + { 0x1EFE, 0x1EFE }, + { 0x1F08, 0x1F0F }, + { 0x1F18, 0x1F1D }, + { 0x1F28, 0x1F2F }, + { 0x1F38, 0x1F3F }, + { 0x1F48, 0x1F4D }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F5F }, + { 0x1F68, 0x1F6F }, + { 0x1FB8, 0x1FBB }, + { 0x1FC8, 0x1FCB }, + { 0x1FD8, 0x1FDB }, + { 0x1FE8, 0x1FEC }, + { 0x1FF8, 0x1FFB }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210B, 0x210D }, + { 0x2110, 0x2112 }, + { 0x2115, 0x2115 }, + { 0x2119, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x2128 }, + { 0x212A, 0x212D }, + { 0x2130, 0x2133 }, + { 0x213E, 0x213F }, + { 0x2145, 0x2145 }, + { 0x2183, 0x2183 }, + { 0x2C00, 0x2C2E }, + { 0x2C60, 0x2C60 }, + { 0x2C62, 0x2C64 }, + { 0x2C67, 0x2C67 }, + { 0x2C69, 0x2C69 }, + { 0x2C6B, 0x2C6B }, + { 0x2C6D, 0x2C6F }, + { 0x2C72, 0x2C72 }, + { 0x2C75, 0x2C75 }, + { 0x2C80, 0x2C80 }, + { 0x2C82, 0x2C82 }, + { 0x2C84, 0x2C84 }, + { 0x2C86, 0x2C86 }, + { 0x2C88, 0x2C88 }, + { 0x2C8A, 0x2C8A }, + { 0x2C8C, 0x2C8C }, + { 0x2C8E, 0x2C8E }, + { 0x2C90, 0x2C90 }, + { 0x2C92, 0x2C92 }, + { 0x2C94, 0x2C94 }, + { 0x2C96, 0x2C96 }, + { 0x2C98, 0x2C98 }, + { 0x2C9A, 0x2C9A }, + { 0x2C9C, 0x2C9C }, + { 0x2C9E, 0x2C9E }, + { 0x2CA0, 0x2CA0 }, + { 0x2CA2, 0x2CA2 }, + { 0x2CA4, 0x2CA4 }, + { 0x2CA6, 0x2CA6 }, + { 0x2CA8, 0x2CA8 }, + { 0x2CAA, 0x2CAA }, + { 0x2CAC, 0x2CAC }, + { 0x2CAE, 0x2CAE }, + { 0x2CB0, 0x2CB0 }, + { 0x2CB2, 0x2CB2 }, + { 0x2CB4, 0x2CB4 }, + { 0x2CB6, 0x2CB6 }, + { 0x2CB8, 0x2CB8 }, + { 0x2CBA, 0x2CBA }, + { 0x2CBC, 0x2CBC }, + { 0x2CBE, 0x2CBE }, + { 0x2CC0, 0x2CC0 }, + { 0x2CC2, 0x2CC2 }, + { 0x2CC4, 0x2CC4 }, + { 0x2CC6, 0x2CC6 }, + { 0x2CC8, 0x2CC8 }, + { 0x2CCA, 0x2CCA }, + { 0x2CCC, 0x2CCC }, + { 0x2CCE, 0x2CCE }, + { 0x2CD0, 0x2CD0 }, + { 0x2CD2, 0x2CD2 }, + { 0x2CD4, 0x2CD4 }, + { 0x2CD6, 0x2CD6 }, + { 0x2CD8, 0x2CD8 }, + { 0x2CDA, 0x2CDA }, + { 0x2CDC, 0x2CDC }, + { 0x2CDE, 0x2CDE }, + { 0x2CE0, 0x2CE0 }, + { 0x2CE2, 0x2CE2 }, + { 0xA640, 0xA640 }, + { 0xA642, 0xA642 }, + { 0xA644, 0xA644 }, + { 0xA646, 0xA646 }, + { 0xA648, 0xA648 }, + { 0xA64A, 0xA64A }, + { 0xA64C, 0xA64C }, + { 0xA64E, 0xA64E }, + { 0xA650, 0xA650 }, + { 0xA652, 0xA652 }, + { 0xA654, 0xA654 }, + { 0xA656, 0xA656 }, + { 0xA658, 0xA658 }, + { 0xA65A, 0xA65A }, + { 0xA65C, 0xA65C }, + { 0xA65E, 0xA65E }, + { 0xA662, 0xA662 }, + { 0xA664, 0xA664 }, + { 0xA666, 0xA666 }, + { 0xA668, 0xA668 }, + { 0xA66A, 0xA66A }, + { 0xA66C, 0xA66C }, + { 0xA680, 0xA680 }, + { 0xA682, 0xA682 }, + { 0xA684, 0xA684 }, + { 0xA686, 0xA686 }, + { 0xA688, 0xA688 }, + { 0xA68A, 0xA68A }, + { 0xA68C, 0xA68C }, + { 0xA68E, 0xA68E }, + { 0xA690, 0xA690 }, + { 0xA692, 0xA692 }, + { 0xA694, 0xA694 }, + { 0xA696, 0xA696 }, + { 0xA722, 0xA722 }, + { 0xA724, 0xA724 }, + { 0xA726, 0xA726 }, + { 0xA728, 0xA728 }, + { 0xA72A, 0xA72A }, + { 0xA72C, 0xA72C }, + { 0xA72E, 0xA72E }, + { 0xA732, 0xA732 }, + { 0xA734, 0xA734 }, + { 0xA736, 0xA736 }, + { 0xA738, 0xA738 }, + { 0xA73A, 0xA73A }, + { 0xA73C, 0xA73C }, + { 0xA73E, 0xA73E }, + { 0xA740, 0xA740 }, + { 0xA742, 0xA742 }, + { 0xA744, 0xA744 }, + { 0xA746, 0xA746 }, + { 0xA748, 0xA748 }, + { 0xA74A, 0xA74A }, + { 0xA74C, 0xA74C }, + { 0xA74E, 0xA74E }, + { 0xA750, 0xA750 }, + { 0xA752, 0xA752 }, + { 0xA754, 0xA754 }, + { 0xA756, 0xA756 }, + { 0xA758, 0xA758 }, + { 0xA75A, 0xA75A }, + { 0xA75C, 0xA75C }, + { 0xA75E, 0xA75E }, + { 0xA760, 0xA760 }, + { 0xA762, 0xA762 }, + { 0xA764, 0xA764 }, + { 0xA766, 0xA766 }, + { 0xA768, 0xA768 }, + { 0xA76A, 0xA76A }, + { 0xA76C, 0xA76C }, + { 0xA76E, 0xA76E }, + { 0xA779, 0xA779 }, + { 0xA77B, 0xA77B }, + { 0xA77D, 0xA77E }, + { 0xA780, 0xA780 }, + { 0xA782, 0xA782 }, + { 0xA784, 0xA784 }, + { 0xA786, 0xA786 }, + { 0xA78B, 0xA78B }, + { 0xFF21, 0xFF3A }, + { 0x10400, 0x10427 }, + { 0x1D400, 0x1D419 }, + { 0x1D434, 0x1D44D }, + { 0x1D468, 0x1D481 }, + { 0x1D49C, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B5 }, + { 0x1D4D0, 0x1D4E9 }, + { 0x1D504, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D538, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D56C, 0x1D585 }, + { 0x1D5A0, 0x1D5B9 }, + { 0x1D5D4, 0x1D5ED }, + { 0x1D608, 0x1D621 }, + { 0x1D63C, 0x1D655 }, + { 0x1D670, 0x1D689 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6E2, 0x1D6FA }, + { 0x1D71C, 0x1D734 }, + { 0x1D756, 0x1D76E }, + { 0x1D790, 0x1D7A8 }, + { 0x1D7CA, 0x1D7CA } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Lu) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_M.c b/tests/unictype/test-categ_M.c new file mode 100644 index 00000000..c6138d6e --- /dev/null +++ b/tests/unictype/test-categ_M.c @@ -0,0 +1,183 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0300, 0x036F }, + { 0x0483, 0x0489 }, + { 0x0591, 0x05BD }, + { 0x05BF, 0x05BF }, + { 0x05C1, 0x05C2 }, + { 0x05C4, 0x05C5 }, + { 0x05C7, 0x05C7 }, + { 0x0610, 0x061A }, + { 0x064B, 0x065E }, + { 0x0670, 0x0670 }, + { 0x06D6, 0x06DC }, + { 0x06DE, 0x06E4 }, + { 0x06E7, 0x06E8 }, + { 0x06EA, 0x06ED }, + { 0x0711, 0x0711 }, + { 0x0730, 0x074A }, + { 0x07A6, 0x07B0 }, + { 0x07EB, 0x07F3 }, + { 0x0901, 0x0903 }, + { 0x093C, 0x093C }, + { 0x093E, 0x094D }, + { 0x0951, 0x0954 }, + { 0x0962, 0x0963 }, + { 0x0981, 0x0983 }, + { 0x09BC, 0x09BC }, + { 0x09BE, 0x09C4 }, + { 0x09C7, 0x09C8 }, + { 0x09CB, 0x09CD }, + { 0x09D7, 0x09D7 }, + { 0x09E2, 0x09E3 }, + { 0x0A01, 0x0A03 }, + { 0x0A3C, 0x0A3C }, + { 0x0A3E, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4D }, + { 0x0A51, 0x0A51 }, + { 0x0A70, 0x0A71 }, + { 0x0A75, 0x0A75 }, + { 0x0A81, 0x0A83 }, + { 0x0ABC, 0x0ABC }, + { 0x0ABE, 0x0AC5 }, + { 0x0AC7, 0x0AC9 }, + { 0x0ACB, 0x0ACD }, + { 0x0AE2, 0x0AE3 }, + { 0x0B01, 0x0B03 }, + { 0x0B3C, 0x0B3C }, + { 0x0B3E, 0x0B44 }, + { 0x0B47, 0x0B48 }, + { 0x0B4B, 0x0B4D }, + { 0x0B56, 0x0B57 }, + { 0x0B62, 0x0B63 }, + { 0x0B82, 0x0B82 }, + { 0x0BBE, 0x0BC2 }, + { 0x0BC6, 0x0BC8 }, + { 0x0BCA, 0x0BCD }, + { 0x0BD7, 0x0BD7 }, + { 0x0C01, 0x0C03 }, + { 0x0C3E, 0x0C44 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4D }, + { 0x0C55, 0x0C56 }, + { 0x0C62, 0x0C63 }, + { 0x0C82, 0x0C83 }, + { 0x0CBC, 0x0CBC }, + { 0x0CBE, 0x0CC4 }, + { 0x0CC6, 0x0CC8 }, + { 0x0CCA, 0x0CCD }, + { 0x0CD5, 0x0CD6 }, + { 0x0CE2, 0x0CE3 }, + { 0x0D02, 0x0D03 }, + { 0x0D3E, 0x0D44 }, + { 0x0D46, 0x0D48 }, + { 0x0D4A, 0x0D4D }, + { 0x0D57, 0x0D57 }, + { 0x0D62, 0x0D63 }, + { 0x0D82, 0x0D83 }, + { 0x0DCA, 0x0DCA }, + { 0x0DCF, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0DD8, 0x0DDF }, + { 0x0DF2, 0x0DF3 }, + { 0x0E31, 0x0E31 }, + { 0x0E34, 0x0E3A }, + { 0x0E47, 0x0E4E }, + { 0x0EB1, 0x0EB1 }, + { 0x0EB4, 0x0EB9 }, + { 0x0EBB, 0x0EBC }, + { 0x0EC8, 0x0ECD }, + { 0x0F18, 0x0F19 }, + { 0x0F35, 0x0F35 }, + { 0x0F37, 0x0F37 }, + { 0x0F39, 0x0F39 }, + { 0x0F3E, 0x0F3F }, + { 0x0F71, 0x0F84 }, + { 0x0F86, 0x0F87 }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x0FC6, 0x0FC6 }, + { 0x102B, 0x103E }, + { 0x1056, 0x1059 }, + { 0x105E, 0x1060 }, + { 0x1062, 0x1064 }, + { 0x1067, 0x106D }, + { 0x1071, 0x1074 }, + { 0x1082, 0x108D }, + { 0x108F, 0x108F }, + { 0x135F, 0x135F }, + { 0x1712, 0x1714 }, + { 0x1732, 0x1734 }, + { 0x1752, 0x1753 }, + { 0x1772, 0x1773 }, + { 0x17B6, 0x17D3 }, + { 0x17DD, 0x17DD }, + { 0x180B, 0x180D }, + { 0x18A9, 0x18A9 }, + { 0x1920, 0x192B }, + { 0x1930, 0x193B }, + { 0x19B0, 0x19C0 }, + { 0x19C8, 0x19C9 }, + { 0x1A17, 0x1A1B }, + { 0x1B00, 0x1B04 }, + { 0x1B34, 0x1B44 }, + { 0x1B6B, 0x1B73 }, + { 0x1B80, 0x1B82 }, + { 0x1BA1, 0x1BAA }, + { 0x1C24, 0x1C37 }, + { 0x1DC0, 0x1DE6 }, + { 0x1DFE, 0x1DFF }, + { 0x20D0, 0x20F0 }, + { 0x2DE0, 0x2DFF }, + { 0x302A, 0x302F }, + { 0x3099, 0x309A }, + { 0xA66F, 0xA672 }, + { 0xA67C, 0xA67D }, + { 0xA802, 0xA802 }, + { 0xA806, 0xA806 }, + { 0xA80B, 0xA80B }, + { 0xA823, 0xA827 }, + { 0xA880, 0xA881 }, + { 0xA8B4, 0xA8C4 }, + { 0xA926, 0xA92D }, + { 0xA947, 0xA953 }, + { 0xAA29, 0xAA36 }, + { 0xAA43, 0xAA43 }, + { 0xAA4C, 0xAA4D }, + { 0xFB1E, 0xFB1E }, + { 0xFE00, 0xFE0F }, + { 0xFE20, 0xFE26 }, + { 0x101FD, 0x101FD }, + { 0x10A01, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A0F }, + { 0x10A38, 0x10A3A }, + { 0x10A3F, 0x10A3F }, + { 0x1D165, 0x1D169 }, + { 0x1D16D, 0x1D172 }, + { 0x1D17B, 0x1D182 }, + { 0x1D185, 0x1D18B }, + { 0x1D1AA, 0x1D1AD }, + { 0x1D242, 0x1D244 }, + { 0xE0100, 0xE01EF } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_M) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Mc.c b/tests/unictype/test-categ_Mc.c new file mode 100644 index 00000000..4984b4b9 --- /dev/null +++ b/tests/unictype/test-categ_Mc.c @@ -0,0 +1,107 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0903, 0x0903 }, + { 0x093E, 0x0940 }, + { 0x0949, 0x094C }, + { 0x0982, 0x0983 }, + { 0x09BE, 0x09C0 }, + { 0x09C7, 0x09C8 }, + { 0x09CB, 0x09CC }, + { 0x09D7, 0x09D7 }, + { 0x0A03, 0x0A03 }, + { 0x0A3E, 0x0A40 }, + { 0x0A83, 0x0A83 }, + { 0x0ABE, 0x0AC0 }, + { 0x0AC9, 0x0AC9 }, + { 0x0ACB, 0x0ACC }, + { 0x0B02, 0x0B03 }, + { 0x0B3E, 0x0B3E }, + { 0x0B40, 0x0B40 }, + { 0x0B47, 0x0B48 }, + { 0x0B4B, 0x0B4C }, + { 0x0B57, 0x0B57 }, + { 0x0BBE, 0x0BBF }, + { 0x0BC1, 0x0BC2 }, + { 0x0BC6, 0x0BC8 }, + { 0x0BCA, 0x0BCC }, + { 0x0BD7, 0x0BD7 }, + { 0x0C01, 0x0C03 }, + { 0x0C41, 0x0C44 }, + { 0x0C82, 0x0C83 }, + { 0x0CBE, 0x0CBE }, + { 0x0CC0, 0x0CC4 }, + { 0x0CC7, 0x0CC8 }, + { 0x0CCA, 0x0CCB }, + { 0x0CD5, 0x0CD6 }, + { 0x0D02, 0x0D03 }, + { 0x0D3E, 0x0D40 }, + { 0x0D46, 0x0D48 }, + { 0x0D4A, 0x0D4C }, + { 0x0D57, 0x0D57 }, + { 0x0D82, 0x0D83 }, + { 0x0DCF, 0x0DD1 }, + { 0x0DD8, 0x0DDF }, + { 0x0DF2, 0x0DF3 }, + { 0x0F3E, 0x0F3F }, + { 0x0F7F, 0x0F7F }, + { 0x102B, 0x102C }, + { 0x1031, 0x1031 }, + { 0x1038, 0x1038 }, + { 0x103B, 0x103C }, + { 0x1056, 0x1057 }, + { 0x1062, 0x1064 }, + { 0x1067, 0x106D }, + { 0x1083, 0x1084 }, + { 0x1087, 0x108C }, + { 0x108F, 0x108F }, + { 0x17B6, 0x17B6 }, + { 0x17BE, 0x17C5 }, + { 0x17C7, 0x17C8 }, + { 0x1923, 0x1926 }, + { 0x1929, 0x192B }, + { 0x1930, 0x1931 }, + { 0x1933, 0x1938 }, + { 0x19B0, 0x19C0 }, + { 0x19C8, 0x19C9 }, + { 0x1A19, 0x1A1B }, + { 0x1B04, 0x1B04 }, + { 0x1B35, 0x1B35 }, + { 0x1B3B, 0x1B3B }, + { 0x1B3D, 0x1B41 }, + { 0x1B43, 0x1B44 }, + { 0x1B82, 0x1B82 }, + { 0x1BA1, 0x1BA1 }, + { 0x1BA6, 0x1BA7 }, + { 0x1BAA, 0x1BAA }, + { 0x1C24, 0x1C2B }, + { 0x1C34, 0x1C35 }, + { 0xA823, 0xA824 }, + { 0xA827, 0xA827 }, + { 0xA880, 0xA881 }, + { 0xA8B4, 0xA8C3 }, + { 0xA952, 0xA953 }, + { 0xAA2F, 0xAA30 }, + { 0xAA33, 0xAA34 }, + { 0xAA4D, 0xAA4D }, + { 0x1D165, 0x1D166 }, + { 0x1D16D, 0x1D172 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Mc) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Me.c b/tests/unictype/test-categ_Me.c new file mode 100644 index 00000000..f8aa3855 --- /dev/null +++ b/tests/unictype/test-categ_Me.c @@ -0,0 +1,27 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0488, 0x0489 }, + { 0x06DE, 0x06DE }, + { 0x20DD, 0x20E0 }, + { 0x20E2, 0x20E4 }, + { 0xA670, 0xA672 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Me) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Mn.c b/tests/unictype/test-categ_Mn.c new file mode 100644 index 00000000..a29b6e5c --- /dev/null +++ b/tests/unictype/test-categ_Mn.c @@ -0,0 +1,182 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0300, 0x036F }, + { 0x0483, 0x0487 }, + { 0x0591, 0x05BD }, + { 0x05BF, 0x05BF }, + { 0x05C1, 0x05C2 }, + { 0x05C4, 0x05C5 }, + { 0x05C7, 0x05C7 }, + { 0x0610, 0x061A }, + { 0x064B, 0x065E }, + { 0x0670, 0x0670 }, + { 0x06D6, 0x06DC }, + { 0x06DF, 0x06E4 }, + { 0x06E7, 0x06E8 }, + { 0x06EA, 0x06ED }, + { 0x0711, 0x0711 }, + { 0x0730, 0x074A }, + { 0x07A6, 0x07B0 }, + { 0x07EB, 0x07F3 }, + { 0x0901, 0x0902 }, + { 0x093C, 0x093C }, + { 0x0941, 0x0948 }, + { 0x094D, 0x094D }, + { 0x0951, 0x0954 }, + { 0x0962, 0x0963 }, + { 0x0981, 0x0981 }, + { 0x09BC, 0x09BC }, + { 0x09C1, 0x09C4 }, + { 0x09CD, 0x09CD }, + { 0x09E2, 0x09E3 }, + { 0x0A01, 0x0A02 }, + { 0x0A3C, 0x0A3C }, + { 0x0A41, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4D }, + { 0x0A51, 0x0A51 }, + { 0x0A70, 0x0A71 }, + { 0x0A75, 0x0A75 }, + { 0x0A81, 0x0A82 }, + { 0x0ABC, 0x0ABC }, + { 0x0AC1, 0x0AC5 }, + { 0x0AC7, 0x0AC8 }, + { 0x0ACD, 0x0ACD }, + { 0x0AE2, 0x0AE3 }, + { 0x0B01, 0x0B01 }, + { 0x0B3C, 0x0B3C }, + { 0x0B3F, 0x0B3F }, + { 0x0B41, 0x0B44 }, + { 0x0B4D, 0x0B4D }, + { 0x0B56, 0x0B56 }, + { 0x0B62, 0x0B63 }, + { 0x0B82, 0x0B82 }, + { 0x0BC0, 0x0BC0 }, + { 0x0BCD, 0x0BCD }, + { 0x0C3E, 0x0C40 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4D }, + { 0x0C55, 0x0C56 }, + { 0x0C62, 0x0C63 }, + { 0x0CBC, 0x0CBC }, + { 0x0CBF, 0x0CBF }, + { 0x0CC6, 0x0CC6 }, + { 0x0CCC, 0x0CCD }, + { 0x0CE2, 0x0CE3 }, + { 0x0D41, 0x0D44 }, + { 0x0D4D, 0x0D4D }, + { 0x0D62, 0x0D63 }, + { 0x0DCA, 0x0DCA }, + { 0x0DD2, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0E31, 0x0E31 }, + { 0x0E34, 0x0E3A }, + { 0x0E47, 0x0E4E }, + { 0x0EB1, 0x0EB1 }, + { 0x0EB4, 0x0EB9 }, + { 0x0EBB, 0x0EBC }, + { 0x0EC8, 0x0ECD }, + { 0x0F18, 0x0F19 }, + { 0x0F35, 0x0F35 }, + { 0x0F37, 0x0F37 }, + { 0x0F39, 0x0F39 }, + { 0x0F71, 0x0F7E }, + { 0x0F80, 0x0F84 }, + { 0x0F86, 0x0F87 }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x0FC6, 0x0FC6 }, + { 0x102D, 0x1030 }, + { 0x1032, 0x1037 }, + { 0x1039, 0x103A }, + { 0x103D, 0x103E }, + { 0x1058, 0x1059 }, + { 0x105E, 0x1060 }, + { 0x1071, 0x1074 }, + { 0x1082, 0x1082 }, + { 0x1085, 0x1086 }, + { 0x108D, 0x108D }, + { 0x135F, 0x135F }, + { 0x1712, 0x1714 }, + { 0x1732, 0x1734 }, + { 0x1752, 0x1753 }, + { 0x1772, 0x1773 }, + { 0x17B7, 0x17BD }, + { 0x17C6, 0x17C6 }, + { 0x17C9, 0x17D3 }, + { 0x17DD, 0x17DD }, + { 0x180B, 0x180D }, + { 0x18A9, 0x18A9 }, + { 0x1920, 0x1922 }, + { 0x1927, 0x1928 }, + { 0x1932, 0x1932 }, + { 0x1939, 0x193B }, + { 0x1A17, 0x1A18 }, + { 0x1B00, 0x1B03 }, + { 0x1B34, 0x1B34 }, + { 0x1B36, 0x1B3A }, + { 0x1B3C, 0x1B3C }, + { 0x1B42, 0x1B42 }, + { 0x1B6B, 0x1B73 }, + { 0x1B80, 0x1B81 }, + { 0x1BA2, 0x1BA5 }, + { 0x1BA8, 0x1BA9 }, + { 0x1C2C, 0x1C33 }, + { 0x1C36, 0x1C37 }, + { 0x1DC0, 0x1DE6 }, + { 0x1DFE, 0x1DFF }, + { 0x20D0, 0x20DC }, + { 0x20E1, 0x20E1 }, + { 0x20E5, 0x20F0 }, + { 0x2DE0, 0x2DFF }, + { 0x302A, 0x302F }, + { 0x3099, 0x309A }, + { 0xA66F, 0xA66F }, + { 0xA67C, 0xA67D }, + { 0xA802, 0xA802 }, + { 0xA806, 0xA806 }, + { 0xA80B, 0xA80B }, + { 0xA825, 0xA826 }, + { 0xA8C4, 0xA8C4 }, + { 0xA926, 0xA92D }, + { 0xA947, 0xA951 }, + { 0xAA29, 0xAA2E }, + { 0xAA31, 0xAA32 }, + { 0xAA35, 0xAA36 }, + { 0xAA43, 0xAA43 }, + { 0xAA4C, 0xAA4C }, + { 0xFB1E, 0xFB1E }, + { 0xFE00, 0xFE0F }, + { 0xFE20, 0xFE26 }, + { 0x101FD, 0x101FD }, + { 0x10A01, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A0F }, + { 0x10A38, 0x10A3A }, + { 0x10A3F, 0x10A3F }, + { 0x1D167, 0x1D169 }, + { 0x1D17B, 0x1D182 }, + { 0x1D185, 0x1D18B }, + { 0x1D1AA, 0x1D1AD }, + { 0x1D242, 0x1D244 }, + { 0xE0100, 0xE01EF } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Mn) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_N.c b/tests/unictype/test-categ_N.c new file mode 100644 index 00000000..219b6c77 --- /dev/null +++ b/tests/unictype/test-categ_N.c @@ -0,0 +1,91 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 }, + { 0x00B2, 0x00B3 }, + { 0x00B9, 0x00B9 }, + { 0x00BC, 0x00BE }, + { 0x0660, 0x0669 }, + { 0x06F0, 0x06F9 }, + { 0x07C0, 0x07C9 }, + { 0x0966, 0x096F }, + { 0x09E6, 0x09EF }, + { 0x09F4, 0x09F9 }, + { 0x0A66, 0x0A6F }, + { 0x0AE6, 0x0AEF }, + { 0x0B66, 0x0B6F }, + { 0x0BE6, 0x0BF2 }, + { 0x0C66, 0x0C6F }, + { 0x0C78, 0x0C7E }, + { 0x0CE6, 0x0CEF }, + { 0x0D66, 0x0D75 }, + { 0x0E50, 0x0E59 }, + { 0x0ED0, 0x0ED9 }, + { 0x0F20, 0x0F33 }, + { 0x1040, 0x1049 }, + { 0x1090, 0x1099 }, + { 0x1369, 0x137C }, + { 0x16EE, 0x16F0 }, + { 0x17E0, 0x17E9 }, + { 0x17F0, 0x17F9 }, + { 0x1810, 0x1819 }, + { 0x1946, 0x194F }, + { 0x19D0, 0x19D9 }, + { 0x1B50, 0x1B59 }, + { 0x1BB0, 0x1BB9 }, + { 0x1C40, 0x1C49 }, + { 0x1C50, 0x1C59 }, + { 0x2070, 0x2070 }, + { 0x2074, 0x2079 }, + { 0x2080, 0x2089 }, + { 0x2153, 0x2182 }, + { 0x2185, 0x2188 }, + { 0x2460, 0x249B }, + { 0x24EA, 0x24FF }, + { 0x2776, 0x2793 }, + { 0x2CFD, 0x2CFD }, + { 0x3007, 0x3007 }, + { 0x3021, 0x3029 }, + { 0x3038, 0x303A }, + { 0x3192, 0x3195 }, + { 0x3220, 0x3229 }, + { 0x3251, 0x325F }, + { 0x3280, 0x3289 }, + { 0x32B1, 0x32BF }, + { 0xA620, 0xA629 }, + { 0xA8D0, 0xA8D9 }, + { 0xA900, 0xA909 }, + { 0xAA50, 0xAA59 }, + { 0xFF10, 0xFF19 }, + { 0x10107, 0x10133 }, + { 0x10140, 0x10178 }, + { 0x1018A, 0x1018A }, + { 0x10320, 0x10323 }, + { 0x10341, 0x10341 }, + { 0x1034A, 0x1034A }, + { 0x103D1, 0x103D5 }, + { 0x104A0, 0x104A9 }, + { 0x10916, 0x10919 }, + { 0x10A40, 0x10A47 }, + { 0x12400, 0x12462 }, + { 0x1D360, 0x1D371 }, + { 0x1D7CE, 0x1D7FF } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_N) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Nd.c b/tests/unictype/test-categ_Nd.c new file mode 100644 index 00000000..a6170aef --- /dev/null +++ b/tests/unictype/test-categ_Nd.c @@ -0,0 +1,55 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 }, + { 0x0660, 0x0669 }, + { 0x06F0, 0x06F9 }, + { 0x07C0, 0x07C9 }, + { 0x0966, 0x096F }, + { 0x09E6, 0x09EF }, + { 0x0A66, 0x0A6F }, + { 0x0AE6, 0x0AEF }, + { 0x0B66, 0x0B6F }, + { 0x0BE6, 0x0BEF }, + { 0x0C66, 0x0C6F }, + { 0x0CE6, 0x0CEF }, + { 0x0D66, 0x0D6F }, + { 0x0E50, 0x0E59 }, + { 0x0ED0, 0x0ED9 }, + { 0x0F20, 0x0F29 }, + { 0x1040, 0x1049 }, + { 0x1090, 0x1099 }, + { 0x17E0, 0x17E9 }, + { 0x1810, 0x1819 }, + { 0x1946, 0x194F }, + { 0x19D0, 0x19D9 }, + { 0x1B50, 0x1B59 }, + { 0x1BB0, 0x1BB9 }, + { 0x1C40, 0x1C49 }, + { 0x1C50, 0x1C59 }, + { 0xA620, 0xA629 }, + { 0xA8D0, 0xA8D9 }, + { 0xA900, 0xA909 }, + { 0xAA50, 0xAA59 }, + { 0xFF10, 0xFF19 }, + { 0x104A0, 0x104A9 }, + { 0x1D7CE, 0x1D7FF } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Nd) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Nl.c b/tests/unictype/test-categ_Nl.c new file mode 100644 index 00000000..0a3207f6 --- /dev/null +++ b/tests/unictype/test-categ_Nl.c @@ -0,0 +1,33 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x16EE, 0x16F0 }, + { 0x2160, 0x2182 }, + { 0x2185, 0x2188 }, + { 0x3007, 0x3007 }, + { 0x3021, 0x3029 }, + { 0x3038, 0x303A }, + { 0x10140, 0x10174 }, + { 0x10341, 0x10341 }, + { 0x1034A, 0x1034A }, + { 0x103D1, 0x103D5 }, + { 0x12400, 0x12462 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Nl) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_No.c b/tests/unictype/test-categ_No.c new file mode 100644 index 00000000..d800a592 --- /dev/null +++ b/tests/unictype/test-categ_No.c @@ -0,0 +1,52 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00B2, 0x00B3 }, + { 0x00B9, 0x00B9 }, + { 0x00BC, 0x00BE }, + { 0x09F4, 0x09F9 }, + { 0x0BF0, 0x0BF2 }, + { 0x0C78, 0x0C7E }, + { 0x0D70, 0x0D75 }, + { 0x0F2A, 0x0F33 }, + { 0x1369, 0x137C }, + { 0x17F0, 0x17F9 }, + { 0x2070, 0x2070 }, + { 0x2074, 0x2079 }, + { 0x2080, 0x2089 }, + { 0x2153, 0x215F }, + { 0x2460, 0x249B }, + { 0x24EA, 0x24FF }, + { 0x2776, 0x2793 }, + { 0x2CFD, 0x2CFD }, + { 0x3192, 0x3195 }, + { 0x3220, 0x3229 }, + { 0x3251, 0x325F }, + { 0x3280, 0x3289 }, + { 0x32B1, 0x32BF }, + { 0x10107, 0x10133 }, + { 0x10175, 0x10178 }, + { 0x1018A, 0x1018A }, + { 0x10320, 0x10323 }, + { 0x10916, 0x10919 }, + { 0x10A40, 0x10A47 }, + { 0x1D360, 0x1D371 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_No) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_P.c b/tests/unictype/test-categ_P.c new file mode 100644 index 00000000..38587b0e --- /dev/null +++ b/tests/unictype/test-categ_P.c @@ -0,0 +1,134 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0021, 0x0023 }, + { 0x0025, 0x002A }, + { 0x002C, 0x002F }, + { 0x003A, 0x003B }, + { 0x003F, 0x0040 }, + { 0x005B, 0x005D }, + { 0x005F, 0x005F }, + { 0x007B, 0x007B }, + { 0x007D, 0x007D }, + { 0x00A1, 0x00A1 }, + { 0x00AB, 0x00AB }, + { 0x00B7, 0x00B7 }, + { 0x00BB, 0x00BB }, + { 0x00BF, 0x00BF }, + { 0x037E, 0x037E }, + { 0x0387, 0x0387 }, + { 0x055A, 0x055F }, + { 0x0589, 0x058A }, + { 0x05BE, 0x05BE }, + { 0x05C0, 0x05C0 }, + { 0x05C3, 0x05C3 }, + { 0x05C6, 0x05C6 }, + { 0x05F3, 0x05F4 }, + { 0x0609, 0x060A }, + { 0x060C, 0x060D }, + { 0x061B, 0x061B }, + { 0x061E, 0x061F }, + { 0x066A, 0x066D }, + { 0x06D4, 0x06D4 }, + { 0x0700, 0x070D }, + { 0x07F7, 0x07F9 }, + { 0x0964, 0x0965 }, + { 0x0970, 0x0970 }, + { 0x0DF4, 0x0DF4 }, + { 0x0E4F, 0x0E4F }, + { 0x0E5A, 0x0E5B }, + { 0x0F04, 0x0F12 }, + { 0x0F3A, 0x0F3D }, + { 0x0F85, 0x0F85 }, + { 0x0FD0, 0x0FD4 }, + { 0x104A, 0x104F }, + { 0x10FB, 0x10FB }, + { 0x1361, 0x1368 }, + { 0x166D, 0x166E }, + { 0x169B, 0x169C }, + { 0x16EB, 0x16ED }, + { 0x1735, 0x1736 }, + { 0x17D4, 0x17D6 }, + { 0x17D8, 0x17DA }, + { 0x1800, 0x180A }, + { 0x1944, 0x1945 }, + { 0x19DE, 0x19DF }, + { 0x1A1E, 0x1A1F }, + { 0x1B5A, 0x1B60 }, + { 0x1C3B, 0x1C3F }, + { 0x1C7E, 0x1C7F }, + { 0x2010, 0x2027 }, + { 0x2030, 0x2043 }, + { 0x2045, 0x2051 }, + { 0x2053, 0x205E }, + { 0x207D, 0x207E }, + { 0x208D, 0x208E }, + { 0x2329, 0x232A }, + { 0x2768, 0x2775 }, + { 0x27C5, 0x27C6 }, + { 0x27E6, 0x27EF }, + { 0x2983, 0x2998 }, + { 0x29D8, 0x29DB }, + { 0x29FC, 0x29FD }, + { 0x2CF9, 0x2CFC }, + { 0x2CFE, 0x2CFF }, + { 0x2E00, 0x2E2E }, + { 0x2E30, 0x2E30 }, + { 0x3001, 0x3003 }, + { 0x3008, 0x3011 }, + { 0x3014, 0x301F }, + { 0x3030, 0x3030 }, + { 0x303D, 0x303D }, + { 0x30A0, 0x30A0 }, + { 0x30FB, 0x30FB }, + { 0xA60D, 0xA60F }, + { 0xA673, 0xA673 }, + { 0xA67E, 0xA67E }, + { 0xA874, 0xA877 }, + { 0xA8CE, 0xA8CF }, + { 0xA92E, 0xA92F }, + { 0xA95F, 0xA95F }, + { 0xAA5C, 0xAA5F }, + { 0xFD3E, 0xFD3F }, + { 0xFE10, 0xFE19 }, + { 0xFE30, 0xFE52 }, + { 0xFE54, 0xFE61 }, + { 0xFE63, 0xFE63 }, + { 0xFE68, 0xFE68 }, + { 0xFE6A, 0xFE6B }, + { 0xFF01, 0xFF03 }, + { 0xFF05, 0xFF0A }, + { 0xFF0C, 0xFF0F }, + { 0xFF1A, 0xFF1B }, + { 0xFF1F, 0xFF20 }, + { 0xFF3B, 0xFF3D }, + { 0xFF3F, 0xFF3F }, + { 0xFF5B, 0xFF5B }, + { 0xFF5D, 0xFF5D }, + { 0xFF5F, 0xFF65 }, + { 0x10100, 0x10101 }, + { 0x1039F, 0x1039F }, + { 0x103D0, 0x103D0 }, + { 0x1091F, 0x1091F }, + { 0x1093F, 0x1093F }, + { 0x10A50, 0x10A58 }, + { 0x12470, 0x12473 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_P) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Pc.c b/tests/unictype/test-categ_Pc.c new file mode 100644 index 00000000..db291030 --- /dev/null +++ b/tests/unictype/test-categ_Pc.c @@ -0,0 +1,28 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x005F, 0x005F }, + { 0x203F, 0x2040 }, + { 0x2054, 0x2054 }, + { 0xFE33, 0xFE34 }, + { 0xFE4D, 0xFE4F }, + { 0xFF3F, 0xFF3F } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Pc) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Pd.c b/tests/unictype/test-categ_Pd.c new file mode 100644 index 00000000..aae4aea3 --- /dev/null +++ b/tests/unictype/test-categ_Pd.c @@ -0,0 +1,36 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x002D, 0x002D }, + { 0x058A, 0x058A }, + { 0x05BE, 0x05BE }, + { 0x1806, 0x1806 }, + { 0x2010, 0x2015 }, + { 0x2E17, 0x2E17 }, + { 0x2E1A, 0x2E1A }, + { 0x301C, 0x301C }, + { 0x3030, 0x3030 }, + { 0x30A0, 0x30A0 }, + { 0xFE31, 0xFE32 }, + { 0xFE58, 0xFE58 }, + { 0xFE63, 0xFE63 }, + { 0xFF0D, 0xFF0D } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Pd) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Pe.c b/tests/unictype/test-categ_Pe.c new file mode 100644 index 00000000..01c77ecf --- /dev/null +++ b/tests/unictype/test-categ_Pe.c @@ -0,0 +1,92 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0029, 0x0029 }, + { 0x005D, 0x005D }, + { 0x007D, 0x007D }, + { 0x0F3B, 0x0F3B }, + { 0x0F3D, 0x0F3D }, + { 0x169C, 0x169C }, + { 0x2046, 0x2046 }, + { 0x207E, 0x207E }, + { 0x208E, 0x208E }, + { 0x232A, 0x232A }, + { 0x2769, 0x2769 }, + { 0x276B, 0x276B }, + { 0x276D, 0x276D }, + { 0x276F, 0x276F }, + { 0x2771, 0x2771 }, + { 0x2773, 0x2773 }, + { 0x2775, 0x2775 }, + { 0x27C6, 0x27C6 }, + { 0x27E7, 0x27E7 }, + { 0x27E9, 0x27E9 }, + { 0x27EB, 0x27EB }, + { 0x27ED, 0x27ED }, + { 0x27EF, 0x27EF }, + { 0x2984, 0x2984 }, + { 0x2986, 0x2986 }, + { 0x2988, 0x2988 }, + { 0x298A, 0x298A }, + { 0x298C, 0x298C }, + { 0x298E, 0x298E }, + { 0x2990, 0x2990 }, + { 0x2992, 0x2992 }, + { 0x2994, 0x2994 }, + { 0x2996, 0x2996 }, + { 0x2998, 0x2998 }, + { 0x29D9, 0x29D9 }, + { 0x29DB, 0x29DB }, + { 0x29FD, 0x29FD }, + { 0x2E23, 0x2E23 }, + { 0x2E25, 0x2E25 }, + { 0x2E27, 0x2E27 }, + { 0x2E29, 0x2E29 }, + { 0x3009, 0x3009 }, + { 0x300B, 0x300B }, + { 0x300D, 0x300D }, + { 0x300F, 0x300F }, + { 0x3011, 0x3011 }, + { 0x3015, 0x3015 }, + { 0x3017, 0x3017 }, + { 0x3019, 0x3019 }, + { 0x301B, 0x301B }, + { 0x301E, 0x301F }, + { 0xFD3F, 0xFD3F }, + { 0xFE18, 0xFE18 }, + { 0xFE36, 0xFE36 }, + { 0xFE38, 0xFE38 }, + { 0xFE3A, 0xFE3A }, + { 0xFE3C, 0xFE3C }, + { 0xFE3E, 0xFE3E }, + { 0xFE40, 0xFE40 }, + { 0xFE42, 0xFE42 }, + { 0xFE44, 0xFE44 }, + { 0xFE48, 0xFE48 }, + { 0xFE5A, 0xFE5A }, + { 0xFE5C, 0xFE5C }, + { 0xFE5E, 0xFE5E }, + { 0xFF09, 0xFF09 }, + { 0xFF3D, 0xFF3D }, + { 0xFF5D, 0xFF5D }, + { 0xFF60, 0xFF60 }, + { 0xFF63, 0xFF63 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Pe) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Pf.c b/tests/unictype/test-categ_Pf.c new file mode 100644 index 00000000..b94173e1 --- /dev/null +++ b/tests/unictype/test-categ_Pf.c @@ -0,0 +1,32 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00BB, 0x00BB }, + { 0x2019, 0x2019 }, + { 0x201D, 0x201D }, + { 0x203A, 0x203A }, + { 0x2E03, 0x2E03 }, + { 0x2E05, 0x2E05 }, + { 0x2E0A, 0x2E0A }, + { 0x2E0D, 0x2E0D }, + { 0x2E1D, 0x2E1D }, + { 0x2E21, 0x2E21 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Pf) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Pi.c b/tests/unictype/test-categ_Pi.c new file mode 100644 index 00000000..2a9dcd4b --- /dev/null +++ b/tests/unictype/test-categ_Pi.c @@ -0,0 +1,33 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00AB, 0x00AB }, + { 0x2018, 0x2018 }, + { 0x201B, 0x201C }, + { 0x201F, 0x201F }, + { 0x2039, 0x2039 }, + { 0x2E02, 0x2E02 }, + { 0x2E04, 0x2E04 }, + { 0x2E09, 0x2E09 }, + { 0x2E0C, 0x2E0C }, + { 0x2E1C, 0x2E1C }, + { 0x2E20, 0x2E20 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Pi) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Po.c b/tests/unictype/test-categ_Po.c new file mode 100644 index 00000000..e84ec765 --- /dev/null +++ b/tests/unictype/test-categ_Po.c @@ -0,0 +1,130 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0021, 0x0023 }, + { 0x0025, 0x0027 }, + { 0x002A, 0x002A }, + { 0x002C, 0x002C }, + { 0x002E, 0x002F }, + { 0x003A, 0x003B }, + { 0x003F, 0x0040 }, + { 0x005C, 0x005C }, + { 0x00A1, 0x00A1 }, + { 0x00B7, 0x00B7 }, + { 0x00BF, 0x00BF }, + { 0x037E, 0x037E }, + { 0x0387, 0x0387 }, + { 0x055A, 0x055F }, + { 0x0589, 0x0589 }, + { 0x05C0, 0x05C0 }, + { 0x05C3, 0x05C3 }, + { 0x05C6, 0x05C6 }, + { 0x05F3, 0x05F4 }, + { 0x0609, 0x060A }, + { 0x060C, 0x060D }, + { 0x061B, 0x061B }, + { 0x061E, 0x061F }, + { 0x066A, 0x066D }, + { 0x06D4, 0x06D4 }, + { 0x0700, 0x070D }, + { 0x07F7, 0x07F9 }, + { 0x0964, 0x0965 }, + { 0x0970, 0x0970 }, + { 0x0DF4, 0x0DF4 }, + { 0x0E4F, 0x0E4F }, + { 0x0E5A, 0x0E5B }, + { 0x0F04, 0x0F12 }, + { 0x0F85, 0x0F85 }, + { 0x0FD0, 0x0FD4 }, + { 0x104A, 0x104F }, + { 0x10FB, 0x10FB }, + { 0x1361, 0x1368 }, + { 0x166D, 0x166E }, + { 0x16EB, 0x16ED }, + { 0x1735, 0x1736 }, + { 0x17D4, 0x17D6 }, + { 0x17D8, 0x17DA }, + { 0x1800, 0x1805 }, + { 0x1807, 0x180A }, + { 0x1944, 0x1945 }, + { 0x19DE, 0x19DF }, + { 0x1A1E, 0x1A1F }, + { 0x1B5A, 0x1B60 }, + { 0x1C3B, 0x1C3F }, + { 0x1C7E, 0x1C7F }, + { 0x2016, 0x2017 }, + { 0x2020, 0x2027 }, + { 0x2030, 0x2038 }, + { 0x203B, 0x203E }, + { 0x2041, 0x2043 }, + { 0x2047, 0x2051 }, + { 0x2053, 0x2053 }, + { 0x2055, 0x205E }, + { 0x2CF9, 0x2CFC }, + { 0x2CFE, 0x2CFF }, + { 0x2E00, 0x2E01 }, + { 0x2E06, 0x2E08 }, + { 0x2E0B, 0x2E0B }, + { 0x2E0E, 0x2E16 }, + { 0x2E18, 0x2E19 }, + { 0x2E1B, 0x2E1B }, + { 0x2E1E, 0x2E1F }, + { 0x2E2A, 0x2E2E }, + { 0x2E30, 0x2E30 }, + { 0x3001, 0x3003 }, + { 0x303D, 0x303D }, + { 0x30FB, 0x30FB }, + { 0xA60D, 0xA60F }, + { 0xA673, 0xA673 }, + { 0xA67E, 0xA67E }, + { 0xA874, 0xA877 }, + { 0xA8CE, 0xA8CF }, + { 0xA92E, 0xA92F }, + { 0xA95F, 0xA95F }, + { 0xAA5C, 0xAA5F }, + { 0xFE10, 0xFE16 }, + { 0xFE19, 0xFE19 }, + { 0xFE30, 0xFE30 }, + { 0xFE45, 0xFE46 }, + { 0xFE49, 0xFE4C }, + { 0xFE50, 0xFE52 }, + { 0xFE54, 0xFE57 }, + { 0xFE5F, 0xFE61 }, + { 0xFE68, 0xFE68 }, + { 0xFE6A, 0xFE6B }, + { 0xFF01, 0xFF03 }, + { 0xFF05, 0xFF07 }, + { 0xFF0A, 0xFF0A }, + { 0xFF0C, 0xFF0C }, + { 0xFF0E, 0xFF0F }, + { 0xFF1A, 0xFF1B }, + { 0xFF1F, 0xFF20 }, + { 0xFF3C, 0xFF3C }, + { 0xFF61, 0xFF61 }, + { 0xFF64, 0xFF65 }, + { 0x10100, 0x10101 }, + { 0x1039F, 0x1039F }, + { 0x103D0, 0x103D0 }, + { 0x1091F, 0x1091F }, + { 0x1093F, 0x1093F }, + { 0x10A50, 0x10A58 }, + { 0x12470, 0x12473 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Po) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Ps.c b/tests/unictype/test-categ_Ps.c new file mode 100644 index 00000000..7e3be746 --- /dev/null +++ b/tests/unictype/test-categ_Ps.c @@ -0,0 +1,94 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0028, 0x0028 }, + { 0x005B, 0x005B }, + { 0x007B, 0x007B }, + { 0x0F3A, 0x0F3A }, + { 0x0F3C, 0x0F3C }, + { 0x169B, 0x169B }, + { 0x201A, 0x201A }, + { 0x201E, 0x201E }, + { 0x2045, 0x2045 }, + { 0x207D, 0x207D }, + { 0x208D, 0x208D }, + { 0x2329, 0x2329 }, + { 0x2768, 0x2768 }, + { 0x276A, 0x276A }, + { 0x276C, 0x276C }, + { 0x276E, 0x276E }, + { 0x2770, 0x2770 }, + { 0x2772, 0x2772 }, + { 0x2774, 0x2774 }, + { 0x27C5, 0x27C5 }, + { 0x27E6, 0x27E6 }, + { 0x27E8, 0x27E8 }, + { 0x27EA, 0x27EA }, + { 0x27EC, 0x27EC }, + { 0x27EE, 0x27EE }, + { 0x2983, 0x2983 }, + { 0x2985, 0x2985 }, + { 0x2987, 0x2987 }, + { 0x2989, 0x2989 }, + { 0x298B, 0x298B }, + { 0x298D, 0x298D }, + { 0x298F, 0x298F }, + { 0x2991, 0x2991 }, + { 0x2993, 0x2993 }, + { 0x2995, 0x2995 }, + { 0x2997, 0x2997 }, + { 0x29D8, 0x29D8 }, + { 0x29DA, 0x29DA }, + { 0x29FC, 0x29FC }, + { 0x2E22, 0x2E22 }, + { 0x2E24, 0x2E24 }, + { 0x2E26, 0x2E26 }, + { 0x2E28, 0x2E28 }, + { 0x3008, 0x3008 }, + { 0x300A, 0x300A }, + { 0x300C, 0x300C }, + { 0x300E, 0x300E }, + { 0x3010, 0x3010 }, + { 0x3014, 0x3014 }, + { 0x3016, 0x3016 }, + { 0x3018, 0x3018 }, + { 0x301A, 0x301A }, + { 0x301D, 0x301D }, + { 0xFD3E, 0xFD3E }, + { 0xFE17, 0xFE17 }, + { 0xFE35, 0xFE35 }, + { 0xFE37, 0xFE37 }, + { 0xFE39, 0xFE39 }, + { 0xFE3B, 0xFE3B }, + { 0xFE3D, 0xFE3D }, + { 0xFE3F, 0xFE3F }, + { 0xFE41, 0xFE41 }, + { 0xFE43, 0xFE43 }, + { 0xFE47, 0xFE47 }, + { 0xFE59, 0xFE59 }, + { 0xFE5B, 0xFE5B }, + { 0xFE5D, 0xFE5D }, + { 0xFF08, 0xFF08 }, + { 0xFF3B, 0xFF3B }, + { 0xFF5B, 0xFF5B }, + { 0xFF5F, 0xFF5F }, + { 0xFF62, 0xFF62 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Ps) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_S.c b/tests/unictype/test-categ_S.c new file mode 100644 index 00000000..6f6cdd58 --- /dev/null +++ b/tests/unictype/test-categ_S.c @@ -0,0 +1,201 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0024, 0x0024 }, + { 0x002B, 0x002B }, + { 0x003C, 0x003E }, + { 0x005E, 0x005E }, + { 0x0060, 0x0060 }, + { 0x007C, 0x007C }, + { 0x007E, 0x007E }, + { 0x00A2, 0x00A9 }, + { 0x00AC, 0x00AC }, + { 0x00AE, 0x00B1 }, + { 0x00B4, 0x00B4 }, + { 0x00B6, 0x00B6 }, + { 0x00B8, 0x00B8 }, + { 0x00D7, 0x00D7 }, + { 0x00F7, 0x00F7 }, + { 0x02C2, 0x02C5 }, + { 0x02D2, 0x02DF }, + { 0x02E5, 0x02EB }, + { 0x02ED, 0x02ED }, + { 0x02EF, 0x02FF }, + { 0x0375, 0x0375 }, + { 0x0384, 0x0385 }, + { 0x03F6, 0x03F6 }, + { 0x0482, 0x0482 }, + { 0x0606, 0x0608 }, + { 0x060B, 0x060B }, + { 0x060E, 0x060F }, + { 0x06E9, 0x06E9 }, + { 0x06FD, 0x06FE }, + { 0x07F6, 0x07F6 }, + { 0x09F2, 0x09F3 }, + { 0x09FA, 0x09FA }, + { 0x0AF1, 0x0AF1 }, + { 0x0B70, 0x0B70 }, + { 0x0BF3, 0x0BFA }, + { 0x0C7F, 0x0C7F }, + { 0x0CF1, 0x0CF2 }, + { 0x0D79, 0x0D79 }, + { 0x0E3F, 0x0E3F }, + { 0x0F01, 0x0F03 }, + { 0x0F13, 0x0F17 }, + { 0x0F1A, 0x0F1F }, + { 0x0F34, 0x0F34 }, + { 0x0F36, 0x0F36 }, + { 0x0F38, 0x0F38 }, + { 0x0FBE, 0x0FC5 }, + { 0x0FC7, 0x0FCC }, + { 0x0FCE, 0x0FCF }, + { 0x109E, 0x109F }, + { 0x1360, 0x1360 }, + { 0x1390, 0x1399 }, + { 0x17DB, 0x17DB }, + { 0x1940, 0x1940 }, + { 0x19E0, 0x19FF }, + { 0x1B61, 0x1B6A }, + { 0x1B74, 0x1B7C }, + { 0x1FBD, 0x1FBD }, + { 0x1FBF, 0x1FC1 }, + { 0x1FCD, 0x1FCF }, + { 0x1FDD, 0x1FDF }, + { 0x1FED, 0x1FEF }, + { 0x1FFD, 0x1FFE }, + { 0x2044, 0x2044 }, + { 0x2052, 0x2052 }, + { 0x207A, 0x207C }, + { 0x208A, 0x208C }, + { 0x20A0, 0x20B5 }, + { 0x2100, 0x2101 }, + { 0x2103, 0x2106 }, + { 0x2108, 0x2109 }, + { 0x2114, 0x2114 }, + { 0x2116, 0x2118 }, + { 0x211E, 0x2123 }, + { 0x2125, 0x2125 }, + { 0x2127, 0x2127 }, + { 0x2129, 0x2129 }, + { 0x212E, 0x212E }, + { 0x213A, 0x213B }, + { 0x2140, 0x2144 }, + { 0x214A, 0x214D }, + { 0x214F, 0x214F }, + { 0x2190, 0x2328 }, + { 0x232B, 0x23E7 }, + { 0x2400, 0x2426 }, + { 0x2440, 0x244A }, + { 0x249C, 0x24E9 }, + { 0x2500, 0x269D }, + { 0x26A0, 0x26BC }, + { 0x26C0, 0x26C3 }, + { 0x2701, 0x2704 }, + { 0x2706, 0x2709 }, + { 0x270C, 0x2727 }, + { 0x2729, 0x274B }, + { 0x274D, 0x274D }, + { 0x274F, 0x2752 }, + { 0x2756, 0x2756 }, + { 0x2758, 0x275E }, + { 0x2761, 0x2767 }, + { 0x2794, 0x2794 }, + { 0x2798, 0x27AF }, + { 0x27B1, 0x27BE }, + { 0x27C0, 0x27C4 }, + { 0x27C7, 0x27CA }, + { 0x27CC, 0x27CC }, + { 0x27D0, 0x27E5 }, + { 0x27F0, 0x2982 }, + { 0x2999, 0x29D7 }, + { 0x29DC, 0x29FB }, + { 0x29FE, 0x2B4C }, + { 0x2B50, 0x2B54 }, + { 0x2CE5, 0x2CEA }, + { 0x2E80, 0x2E99 }, + { 0x2E9B, 0x2EF3 }, + { 0x2F00, 0x2FD5 }, + { 0x2FF0, 0x2FFB }, + { 0x3004, 0x3004 }, + { 0x3012, 0x3013 }, + { 0x3020, 0x3020 }, + { 0x3036, 0x3037 }, + { 0x303E, 0x303F }, + { 0x309B, 0x309C }, + { 0x3190, 0x3191 }, + { 0x3196, 0x319F }, + { 0x31C0, 0x31E3 }, + { 0x3200, 0x321E }, + { 0x322A, 0x3243 }, + { 0x3250, 0x3250 }, + { 0x3260, 0x327F }, + { 0x328A, 0x32B0 }, + { 0x32C0, 0x32FE }, + { 0x3300, 0x33FF }, + { 0x4DC0, 0x4DFF }, + { 0xA490, 0xA4C6 }, + { 0xA700, 0xA716 }, + { 0xA720, 0xA721 }, + { 0xA789, 0xA78A }, + { 0xA828, 0xA82B }, + { 0xFB29, 0xFB29 }, + { 0xFDFC, 0xFDFD }, + { 0xFE62, 0xFE62 }, + { 0xFE64, 0xFE66 }, + { 0xFE69, 0xFE69 }, + { 0xFF04, 0xFF04 }, + { 0xFF0B, 0xFF0B }, + { 0xFF1C, 0xFF1E }, + { 0xFF3E, 0xFF3E }, + { 0xFF40, 0xFF40 }, + { 0xFF5C, 0xFF5C }, + { 0xFF5E, 0xFF5E }, + { 0xFFE0, 0xFFE6 }, + { 0xFFE8, 0xFFEE }, + { 0xFFFC, 0xFFFD }, + { 0x10102, 0x10102 }, + { 0x10137, 0x1013F }, + { 0x10179, 0x10189 }, + { 0x10190, 0x1019B }, + { 0x101D0, 0x101FC }, + { 0x1D000, 0x1D0F5 }, + { 0x1D100, 0x1D126 }, + { 0x1D129, 0x1D164 }, + { 0x1D16A, 0x1D16C }, + { 0x1D183, 0x1D184 }, + { 0x1D18C, 0x1D1A9 }, + { 0x1D1AE, 0x1D1DD }, + { 0x1D200, 0x1D241 }, + { 0x1D245, 0x1D245 }, + { 0x1D300, 0x1D356 }, + { 0x1D6C1, 0x1D6C1 }, + { 0x1D6DB, 0x1D6DB }, + { 0x1D6FB, 0x1D6FB }, + { 0x1D715, 0x1D715 }, + { 0x1D735, 0x1D735 }, + { 0x1D74F, 0x1D74F }, + { 0x1D76F, 0x1D76F }, + { 0x1D789, 0x1D789 }, + { 0x1D7A9, 0x1D7A9 }, + { 0x1D7C3, 0x1D7C3 }, + { 0x1F000, 0x1F02B }, + { 0x1F030, 0x1F093 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_S) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Sc.c b/tests/unictype/test-categ_Sc.c new file mode 100644 index 00000000..8ec99a68 --- /dev/null +++ b/tests/unictype/test-categ_Sc.c @@ -0,0 +1,36 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0024, 0x0024 }, + { 0x00A2, 0x00A5 }, + { 0x060B, 0x060B }, + { 0x09F2, 0x09F3 }, + { 0x0AF1, 0x0AF1 }, + { 0x0BF9, 0x0BF9 }, + { 0x0E3F, 0x0E3F }, + { 0x17DB, 0x17DB }, + { 0x20A0, 0x20B5 }, + { 0xFDFC, 0xFDFC }, + { 0xFE69, 0xFE69 }, + { 0xFF04, 0xFF04 }, + { 0xFFE0, 0xFFE1 }, + { 0xFFE5, 0xFFE6 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Sc) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Sk.c b/tests/unictype/test-categ_Sk.c new file mode 100644 index 00000000..b0961aab --- /dev/null +++ b/tests/unictype/test-categ_Sk.c @@ -0,0 +1,48 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x005E, 0x005E }, + { 0x0060, 0x0060 }, + { 0x00A8, 0x00A8 }, + { 0x00AF, 0x00AF }, + { 0x00B4, 0x00B4 }, + { 0x00B8, 0x00B8 }, + { 0x02C2, 0x02C5 }, + { 0x02D2, 0x02DF }, + { 0x02E5, 0x02EB }, + { 0x02ED, 0x02ED }, + { 0x02EF, 0x02FF }, + { 0x0375, 0x0375 }, + { 0x0384, 0x0385 }, + { 0x1FBD, 0x1FBD }, + { 0x1FBF, 0x1FC1 }, + { 0x1FCD, 0x1FCF }, + { 0x1FDD, 0x1FDF }, + { 0x1FED, 0x1FEF }, + { 0x1FFD, 0x1FFE }, + { 0x309B, 0x309C }, + { 0xA700, 0xA716 }, + { 0xA720, 0xA721 }, + { 0xA789, 0xA78A }, + { 0xFF3E, 0xFF3E }, + { 0xFF40, 0xFF40 }, + { 0xFFE3, 0xFFE3 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Sk) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Sm.c b/tests/unictype/test-categ_Sm.c new file mode 100644 index 00000000..b373cb44 --- /dev/null +++ b/tests/unictype/test-categ_Sm.c @@ -0,0 +1,87 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x002B, 0x002B }, + { 0x003C, 0x003E }, + { 0x007C, 0x007C }, + { 0x007E, 0x007E }, + { 0x00AC, 0x00AC }, + { 0x00B1, 0x00B1 }, + { 0x00D7, 0x00D7 }, + { 0x00F7, 0x00F7 }, + { 0x03F6, 0x03F6 }, + { 0x0606, 0x0608 }, + { 0x2044, 0x2044 }, + { 0x2052, 0x2052 }, + { 0x207A, 0x207C }, + { 0x208A, 0x208C }, + { 0x2140, 0x2144 }, + { 0x214B, 0x214B }, + { 0x2190, 0x2194 }, + { 0x219A, 0x219B }, + { 0x21A0, 0x21A0 }, + { 0x21A3, 0x21A3 }, + { 0x21A6, 0x21A6 }, + { 0x21AE, 0x21AE }, + { 0x21CE, 0x21CF }, + { 0x21D2, 0x21D2 }, + { 0x21D4, 0x21D4 }, + { 0x21F4, 0x22FF }, + { 0x2308, 0x230B }, + { 0x2320, 0x2321 }, + { 0x237C, 0x237C }, + { 0x239B, 0x23B3 }, + { 0x23DC, 0x23E1 }, + { 0x25B7, 0x25B7 }, + { 0x25C1, 0x25C1 }, + { 0x25F8, 0x25FF }, + { 0x266F, 0x266F }, + { 0x27C0, 0x27C4 }, + { 0x27C7, 0x27CA }, + { 0x27CC, 0x27CC }, + { 0x27D0, 0x27E5 }, + { 0x27F0, 0x27FF }, + { 0x2900, 0x2982 }, + { 0x2999, 0x29D7 }, + { 0x29DC, 0x29FB }, + { 0x29FE, 0x2AFF }, + { 0x2B30, 0x2B44 }, + { 0x2B47, 0x2B4C }, + { 0xFB29, 0xFB29 }, + { 0xFE62, 0xFE62 }, + { 0xFE64, 0xFE66 }, + { 0xFF0B, 0xFF0B }, + { 0xFF1C, 0xFF1E }, + { 0xFF5C, 0xFF5C }, + { 0xFF5E, 0xFF5E }, + { 0xFFE2, 0xFFE2 }, + { 0xFFE9, 0xFFEC }, + { 0x1D6C1, 0x1D6C1 }, + { 0x1D6DB, 0x1D6DB }, + { 0x1D6FB, 0x1D6FB }, + { 0x1D715, 0x1D715 }, + { 0x1D735, 0x1D735 }, + { 0x1D74F, 0x1D74F }, + { 0x1D76F, 0x1D76F }, + { 0x1D789, 0x1D789 }, + { 0x1D7A9, 0x1D7A9 }, + { 0x1D7C3, 0x1D7C3 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Sm) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_So.c b/tests/unictype/test-categ_So.c new file mode 100644 index 00000000..c4c5e3ee --- /dev/null +++ b/tests/unictype/test-categ_So.c @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00A6, 0x00A7 }, + { 0x00A9, 0x00A9 }, + { 0x00AE, 0x00AE }, + { 0x00B0, 0x00B0 }, + { 0x00B6, 0x00B6 }, + { 0x0482, 0x0482 }, + { 0x060E, 0x060F }, + { 0x06E9, 0x06E9 }, + { 0x06FD, 0x06FE }, + { 0x07F6, 0x07F6 }, + { 0x09FA, 0x09FA }, + { 0x0B70, 0x0B70 }, + { 0x0BF3, 0x0BF8 }, + { 0x0BFA, 0x0BFA }, + { 0x0C7F, 0x0C7F }, + { 0x0CF1, 0x0CF2 }, + { 0x0D79, 0x0D79 }, + { 0x0F01, 0x0F03 }, + { 0x0F13, 0x0F17 }, + { 0x0F1A, 0x0F1F }, + { 0x0F34, 0x0F34 }, + { 0x0F36, 0x0F36 }, + { 0x0F38, 0x0F38 }, + { 0x0FBE, 0x0FC5 }, + { 0x0FC7, 0x0FCC }, + { 0x0FCE, 0x0FCF }, + { 0x109E, 0x109F }, + { 0x1360, 0x1360 }, + { 0x1390, 0x1399 }, + { 0x1940, 0x1940 }, + { 0x19E0, 0x19FF }, + { 0x1B61, 0x1B6A }, + { 0x1B74, 0x1B7C }, + { 0x2100, 0x2101 }, + { 0x2103, 0x2106 }, + { 0x2108, 0x2109 }, + { 0x2114, 0x2114 }, + { 0x2116, 0x2118 }, + { 0x211E, 0x2123 }, + { 0x2125, 0x2125 }, + { 0x2127, 0x2127 }, + { 0x2129, 0x2129 }, + { 0x212E, 0x212E }, + { 0x213A, 0x213B }, + { 0x214A, 0x214A }, + { 0x214C, 0x214D }, + { 0x214F, 0x214F }, + { 0x2195, 0x2199 }, + { 0x219C, 0x219F }, + { 0x21A1, 0x21A2 }, + { 0x21A4, 0x21A5 }, + { 0x21A7, 0x21AD }, + { 0x21AF, 0x21CD }, + { 0x21D0, 0x21D1 }, + { 0x21D3, 0x21D3 }, + { 0x21D5, 0x21F3 }, + { 0x2300, 0x2307 }, + { 0x230C, 0x231F }, + { 0x2322, 0x2328 }, + { 0x232B, 0x237B }, + { 0x237D, 0x239A }, + { 0x23B4, 0x23DB }, + { 0x23E2, 0x23E7 }, + { 0x2400, 0x2426 }, + { 0x2440, 0x244A }, + { 0x249C, 0x24E9 }, + { 0x2500, 0x25B6 }, + { 0x25B8, 0x25C0 }, + { 0x25C2, 0x25F7 }, + { 0x2600, 0x266E }, + { 0x2670, 0x269D }, + { 0x26A0, 0x26BC }, + { 0x26C0, 0x26C3 }, + { 0x2701, 0x2704 }, + { 0x2706, 0x2709 }, + { 0x270C, 0x2727 }, + { 0x2729, 0x274B }, + { 0x274D, 0x274D }, + { 0x274F, 0x2752 }, + { 0x2756, 0x2756 }, + { 0x2758, 0x275E }, + { 0x2761, 0x2767 }, + { 0x2794, 0x2794 }, + { 0x2798, 0x27AF }, + { 0x27B1, 0x27BE }, + { 0x2800, 0x28FF }, + { 0x2B00, 0x2B2F }, + { 0x2B45, 0x2B46 }, + { 0x2B50, 0x2B54 }, + { 0x2CE5, 0x2CEA }, + { 0x2E80, 0x2E99 }, + { 0x2E9B, 0x2EF3 }, + { 0x2F00, 0x2FD5 }, + { 0x2FF0, 0x2FFB }, + { 0x3004, 0x3004 }, + { 0x3012, 0x3013 }, + { 0x3020, 0x3020 }, + { 0x3036, 0x3037 }, + { 0x303E, 0x303F }, + { 0x3190, 0x3191 }, + { 0x3196, 0x319F }, + { 0x31C0, 0x31E3 }, + { 0x3200, 0x321E }, + { 0x322A, 0x3243 }, + { 0x3250, 0x3250 }, + { 0x3260, 0x327F }, + { 0x328A, 0x32B0 }, + { 0x32C0, 0x32FE }, + { 0x3300, 0x33FF }, + { 0x4DC0, 0x4DFF }, + { 0xA490, 0xA4C6 }, + { 0xA828, 0xA82B }, + { 0xFDFD, 0xFDFD }, + { 0xFFE4, 0xFFE4 }, + { 0xFFE8, 0xFFE8 }, + { 0xFFED, 0xFFEE }, + { 0xFFFC, 0xFFFD }, + { 0x10102, 0x10102 }, + { 0x10137, 0x1013F }, + { 0x10179, 0x10189 }, + { 0x10190, 0x1019B }, + { 0x101D0, 0x101FC }, + { 0x1D000, 0x1D0F5 }, + { 0x1D100, 0x1D126 }, + { 0x1D129, 0x1D164 }, + { 0x1D16A, 0x1D16C }, + { 0x1D183, 0x1D184 }, + { 0x1D18C, 0x1D1A9 }, + { 0x1D1AE, 0x1D1DD }, + { 0x1D200, 0x1D241 }, + { 0x1D245, 0x1D245 }, + { 0x1D300, 0x1D356 }, + { 0x1F000, 0x1F02B }, + { 0x1F030, 0x1F093 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_So) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Z.c b/tests/unictype/test-categ_Z.c new file mode 100644 index 00000000..f3745943 --- /dev/null +++ b/tests/unictype/test-categ_Z.c @@ -0,0 +1,31 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0020, 0x0020 }, + { 0x00A0, 0x00A0 }, + { 0x1680, 0x1680 }, + { 0x180E, 0x180E }, + { 0x2000, 0x200A }, + { 0x2028, 0x2029 }, + { 0x202F, 0x202F }, + { 0x205F, 0x205F }, + { 0x3000, 0x3000 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Z) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Zl.c b/tests/unictype/test-categ_Zl.c new file mode 100644 index 00000000..ce9d36c1 --- /dev/null +++ b/tests/unictype/test-categ_Zl.c @@ -0,0 +1,23 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x2028, 0x2028 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Zl) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Zp.c b/tests/unictype/test-categ_Zp.c new file mode 100644 index 00000000..84866d85 --- /dev/null +++ b/tests/unictype/test-categ_Zp.c @@ -0,0 +1,23 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x2029, 0x2029 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Zp) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_Zs.c b/tests/unictype/test-categ_Zs.c new file mode 100644 index 00000000..982ee0bb --- /dev/null +++ b/tests/unictype/test-categ_Zs.c @@ -0,0 +1,30 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0020, 0x0020 }, + { 0x00A0, 0x00A0 }, + { 0x1680, 0x1680 }, + { 0x180E, 0x180E }, + { 0x2000, 0x200A }, + { 0x202F, 0x202F }, + { 0x205F, 0x205F }, + { 0x3000, 0x3000 } + +#define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Zs) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-categ_and.c b/tests/unictype/test-categ_and.c new file mode 100644 index 00000000..5531ff40 --- /dev/null +++ b/tests/unictype/test-categ_and.c @@ -0,0 +1,51 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + uc_general_category_t ct = + uc_general_category_and ( + uc_general_category_or (UC_LETTER, UC_DECIMAL_DIGIT_NUMBER), + uc_general_category_or (UC_UPPERCASE_LETTER, UC_NUMBER)); + + ASSERT (uc_is_general_category ('A', ct)); + ASSERT (!uc_is_general_category ('a', ct)); + ASSERT (uc_is_general_category ('7', ct)); + ASSERT (!uc_is_general_category (0x00B2, ct)); + + return 0; +} diff --git a/tests/unictype/test-categ_and_not.c b/tests/unictype/test-categ_and_not.c new file mode 100644 index 00000000..90b40f8b --- /dev/null +++ b/tests/unictype/test-categ_and_not.c @@ -0,0 +1,51 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + uc_general_category_t ct = + uc_general_category_and_not ( + uc_general_category_or (UC_LETTER, UC_NUMBER), + uc_general_category_or (UC_UPPERCASE_LETTER, UC_DECIMAL_DIGIT_NUMBER)); + + ASSERT (!uc_is_general_category ('A', ct)); + ASSERT (uc_is_general_category ('a', ct)); + ASSERT (!uc_is_general_category ('7', ct)); + ASSERT (uc_is_general_category (0x00B2, ct)); + + return 0; +} diff --git a/tests/unictype/test-categ_byname.c b/tests/unictype/test-categ_byname.c new file mode 100644 index 00000000..3bb44e9c --- /dev/null +++ b/tests/unictype/test-categ_byname.c @@ -0,0 +1,62 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + uc_general_category_byname ("L"); + uc_general_category_byname ("Nl"); + + { + uc_general_category_t ct = uc_general_category_byname ("Nd"); + unsigned int c; + + for (c = 0x30; c <= 0x39; c++) + ASSERT (uc_is_general_category (c, ct)); + for (c = 0x40; c < 0x80; c++) + ASSERT (!uc_is_general_category (c, ct)); + } + + { + uc_general_category_t ct = uc_general_category_byname ("Foo"); + unsigned int c; + + for (c = 0; c < 0x110000; c++) + ASSERT (!uc_is_general_category (c, ct)); + } + + return 0; +} diff --git a/tests/unictype/test-categ_name.c b/tests/unictype/test-categ_name.c new file mode 100644 index 00000000..b5c3f752 --- /dev/null +++ b/tests/unictype/test-categ_name.c @@ -0,0 +1,45 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (strcmp (uc_general_category_name (UC_CATEGORY_Z), "Z") == 0); + ASSERT (strcmp (uc_general_category_name (UC_CATEGORY_Nl), "Nl") == 0); + ASSERT (uc_general_category_name (uc_general_category_or (UC_CATEGORY_Z, UC_CATEGORY_Nl)) == NULL); + + return 0; +} diff --git a/tests/unictype/test-categ_none.c b/tests/unictype/test-categ_none.c new file mode 100644 index 00000000..f8002416 --- /dev/null +++ b/tests/unictype/test-categ_none.c @@ -0,0 +1,47 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + uc_general_category_t ct = _UC_CATEGORY_NONE; + unsigned int c; + + for (c = 0; c < 0x110000; c++) + ASSERT (!uc_is_general_category (c, ct)); + + return 0; +} diff --git a/tests/unictype/test-categ_of.c b/tests/unictype/test-categ_of.c new file mode 100644 index 00000000..28ee6630 --- /dev/null +++ b/tests/unictype/test-categ_of.c @@ -0,0 +1,67 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + { + unsigned int c; + for (c = 0; c < 0x110000; c++) + ASSERT (uc_is_general_category (c, uc_general_category (c))); + } + + { + uc_general_category_t decimal_digits = uc_general_category ('7'); + unsigned int c; + + for (c = 0x30; c <= 0x39; c++) + ASSERT (uc_is_general_category (c, decimal_digits)); + for (c = 0x40; c < 0x80; c++) + ASSERT (!uc_is_general_category (c, decimal_digits)); + } + + { + uc_general_category_t lowercase_letters = uc_general_category ('x'); + unsigned int c; + + for (c = 0x41; c <= 0x5A; c++) + ASSERT (!uc_is_general_category (c, lowercase_letters)); + for (c = 0x61; c <= 0x7A; c++) + ASSERT (uc_is_general_category (c, lowercase_letters)); + } + + return 0; +} diff --git a/tests/unictype/test-categ_or.c b/tests/unictype/test-categ_or.c new file mode 100644 index 00000000..6b07de5f --- /dev/null +++ b/tests/unictype/test-categ_or.c @@ -0,0 +1,48 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + uc_general_category_t ct = + uc_general_category_or (UC_LETTER, UC_NUMBER); + + ASSERT (uc_is_general_category ('a', ct)); + ASSERT (uc_is_general_category ('7', ct)); + ASSERT (!uc_is_general_category ('$', ct)); + + return 0; +} diff --git a/tests/unictype/test-categ_test_withtable.c b/tests/unictype/test-categ_test_withtable.c new file mode 100644 index 00000000..b7351328 --- /dev/null +++ b/tests/unictype/test-categ_test_withtable.c @@ -0,0 +1,50 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + uint32_t ctmask = + (UC_CATEGORY_MASK_L | UC_CATEGORY_MASK_N) + & ~(UC_CATEGORY_MASK_Lu | UC_CATEGORY_MASK_Nd); + + ASSERT (!uc_is_general_category_withtable ('A', ctmask)); + ASSERT (uc_is_general_category_withtable ('a', ctmask)); + ASSERT (!uc_is_general_category_withtable ('7', ctmask)); + ASSERT (uc_is_general_category_withtable (0x00B2, ctmask)); + + return 0; +} diff --git a/tests/unictype/test-combining.c b/tests/unictype/test-combining.c new file mode 100644 index 00000000..3e66a9b7 --- /dev/null +++ b/tests/unictype/test-combining.c @@ -0,0 +1,47 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (uc_combining_class ('x') == UC_CCC_NR); + ASSERT (uc_combining_class (0x0300) == UC_CCC_A); + ASSERT (uc_combining_class (0x0319) == UC_CCC_B); + ASSERT (uc_combining_class (0x0327) == UC_CCC_ATB); + ASSERT (uc_combining_class (0x093C) == UC_CCC_NK); + + return 0; +} diff --git a/tests/unictype/test-ctype_alnum.c b/tests/unictype/test-ctype_alnum.c new file mode 100644 index 00000000..9a1c6cac --- /dev/null +++ b/tests/unictype/test-ctype_alnum.c @@ -0,0 +1,439 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 }, + { 0x0041, 0x005A }, + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00BA, 0x00BA }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00F6 }, + { 0x00F8, 0x02C1 }, + { 0x02C6, 0x02D1 }, + { 0x02E0, 0x02E4 }, + { 0x02EC, 0x02EC }, + { 0x02EE, 0x02EE }, + { 0x0345, 0x0345 }, + { 0x0370, 0x0374 }, + { 0x0376, 0x0377 }, + { 0x037A, 0x037D }, + { 0x0386, 0x0386 }, + { 0x0388, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x03F5 }, + { 0x03F7, 0x0481 }, + { 0x048A, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0559, 0x0559 }, + { 0x0561, 0x0587 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F2 }, + { 0x0621, 0x064A }, + { 0x0660, 0x0669 }, + { 0x066E, 0x066F }, + { 0x0671, 0x06D3 }, + { 0x06D5, 0x06D5 }, + { 0x06E5, 0x06E6 }, + { 0x06EE, 0x06FC }, + { 0x06FF, 0x06FF }, + { 0x0710, 0x0710 }, + { 0x0712, 0x072F }, + { 0x074D, 0x07A5 }, + { 0x07B1, 0x07B1 }, + { 0x07C0, 0x07EA }, + { 0x07F4, 0x07F5 }, + { 0x07FA, 0x07FA }, + { 0x0904, 0x0939 }, + { 0x093D, 0x093D }, + { 0x0950, 0x0950 }, + { 0x0958, 0x0961 }, + { 0x0966, 0x096F }, + { 0x0971, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BD, 0x09BD }, + { 0x09CE, 0x09CE }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E1 }, + { 0x09E6, 0x09F1 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A66, 0x0A6F }, + { 0x0A72, 0x0A74 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABD, 0x0ABD }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE1 }, + { 0x0AE6, 0x0AEF }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3D, 0x0B3D }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B61 }, + { 0x0B66, 0x0B6F }, + { 0x0B71, 0x0B71 }, + { 0x0B83, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BD0, 0x0BD0 }, + { 0x0BE6, 0x0BEF }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C3D }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C61 }, + { 0x0C66, 0x0C6F }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBD, 0x0CBD }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE1 }, + { 0x0CE6, 0x0CEF }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D3D }, + { 0x0D60, 0x0D61 }, + { 0x0D66, 0x0D6F }, + { 0x0D7A, 0x0D7F }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0E01, 0x0E2E }, + { 0x0E30, 0x0E3A }, + { 0x0E40, 0x0E45 }, + { 0x0E47, 0x0E4E }, + { 0x0E50, 0x0E59 }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB0 }, + { 0x0EB2, 0x0EB3 }, + { 0x0EBD, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EC6, 0x0EC6 }, + { 0x0ED0, 0x0ED9 }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F00 }, + { 0x0F20, 0x0F29 }, + { 0x0F40, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F88, 0x0F8B }, + { 0x1000, 0x102A }, + { 0x103F, 0x1049 }, + { 0x1050, 0x1055 }, + { 0x105A, 0x105D }, + { 0x1061, 0x1061 }, + { 0x1065, 0x1066 }, + { 0x106E, 0x1070 }, + { 0x1075, 0x1081 }, + { 0x108E, 0x108E }, + { 0x1090, 0x1099 }, + { 0x10A0, 0x10C5 }, + { 0x10D0, 0x10FA }, + { 0x10FC, 0x10FC }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x1380, 0x138F }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x166C }, + { 0x166F, 0x1676 }, + { 0x1681, 0x169A }, + { 0x16A0, 0x16EA }, + { 0x16EE, 0x16F0 }, + { 0x1700, 0x170C }, + { 0x170E, 0x1711 }, + { 0x1720, 0x1731 }, + { 0x1740, 0x1751 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1780, 0x17B3 }, + { 0x17D7, 0x17D7 }, + { 0x17DC, 0x17DC }, + { 0x17E0, 0x17E9 }, + { 0x1810, 0x1819 }, + { 0x1820, 0x1877 }, + { 0x1880, 0x18A8 }, + { 0x18AA, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1946, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19C1, 0x19C7 }, + { 0x19D0, 0x19D9 }, + { 0x1A00, 0x1A16 }, + { 0x1B05, 0x1B33 }, + { 0x1B45, 0x1B4B }, + { 0x1B50, 0x1B59 }, + { 0x1B83, 0x1BA0 }, + { 0x1BAE, 0x1BB9 }, + { 0x1C00, 0x1C23 }, + { 0x1C40, 0x1C49 }, + { 0x1C4D, 0x1C7D }, + { 0x1D00, 0x1DBF }, + { 0x1E00, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FBC }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FC4 }, + { 0x1FC6, 0x1FCC }, + { 0x1FD0, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FE0, 0x1FEC }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFC }, + { 0x2071, 0x2071 }, + { 0x207F, 0x207F }, + { 0x2090, 0x2094 }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2119, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x212D }, + { 0x212F, 0x2139 }, + { 0x213C, 0x213F }, + { 0x2145, 0x2149 }, + { 0x214E, 0x214E }, + { 0x2160, 0x2188 }, + { 0x249C, 0x24E9 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CE4 }, + { 0x2D00, 0x2D25 }, + { 0x2D30, 0x2D65 }, + { 0x2D6F, 0x2D6F }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x2E2F, 0x2E2F }, + { 0x3005, 0x3007 }, + { 0x3021, 0x3029 }, + { 0x3031, 0x3035 }, + { 0x3038, 0x303C }, + { 0x3041, 0x3096 }, + { 0x309D, 0x309F }, + { 0x30A1, 0x30FA }, + { 0x30FC, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x31A0, 0x31B7 }, + { 0x31F0, 0x31FF }, + { 0x3400, 0x4DB5 }, + { 0x4E00, 0x9FC3 }, + { 0xA000, 0xA48C }, + { 0xA500, 0xA60C }, + { 0xA610, 0xA62B }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA66E }, + { 0xA67F, 0xA697 }, + { 0xA717, 0xA71F }, + { 0xA722, 0xA788 }, + { 0xA78B, 0xA78C }, + { 0xA7FB, 0xA801 }, + { 0xA803, 0xA805 }, + { 0xA807, 0xA80A }, + { 0xA80C, 0xA822 }, + { 0xA840, 0xA873 }, + { 0xA882, 0xA8B3 }, + { 0xA8D0, 0xA8D9 }, + { 0xA900, 0xA925 }, + { 0xA930, 0xA946 }, + { 0xAA00, 0xAA28 }, + { 0xAA40, 0xAA42 }, + { 0xAA44, 0xAA4B }, + { 0xAA50, 0xAA59 }, + { 0xAC00, 0xD7A3 }, + { 0xF900, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB1D }, + { 0xFB1F, 0xFB28 }, + { 0xFB2A, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFD3D }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDFB }, + { 0xFE70, 0xFE74 }, + { 0xFE76, 0xFEFC }, + { 0xFF10, 0xFF19 }, + { 0xFF21, 0xFF3A }, + { 0xFF41, 0xFF5A }, + { 0xFF66, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10140, 0x10174 }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10330, 0x1034A }, + { 0x10380, 0x1039D }, + { 0x103A0, 0x103C3 }, + { 0x103C8, 0x103CF }, + { 0x103D1, 0x103D5 }, + { 0x10400, 0x1049D }, + { 0x104A0, 0x104A9 }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10915 }, + { 0x10920, 0x10939 }, + { 0x10A00, 0x10A00 }, + { 0x10A10, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x12000, 0x1236E }, + { 0x12400, 0x12462 }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6FA }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D734 }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D76E }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D7A8 }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7CB }, + { 0x1D7CE, 0x1D7FF }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D } + +#define PREDICATE(c) uc_is_alnum (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-ctype_alpha.c b/tests/unictype/test-ctype_alpha.c new file mode 100644 index 00000000..c6100cfa --- /dev/null +++ b/tests/unictype/test-ctype_alpha.c @@ -0,0 +1,438 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0041, 0x005A }, + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00BA, 0x00BA }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00F6 }, + { 0x00F8, 0x02C1 }, + { 0x02C6, 0x02D1 }, + { 0x02E0, 0x02E4 }, + { 0x02EC, 0x02EC }, + { 0x02EE, 0x02EE }, + { 0x0345, 0x0345 }, + { 0x0370, 0x0374 }, + { 0x0376, 0x0377 }, + { 0x037A, 0x037D }, + { 0x0386, 0x0386 }, + { 0x0388, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x03F5 }, + { 0x03F7, 0x0481 }, + { 0x048A, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0559, 0x0559 }, + { 0x0561, 0x0587 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F2 }, + { 0x0621, 0x064A }, + { 0x0660, 0x0669 }, + { 0x066E, 0x066F }, + { 0x0671, 0x06D3 }, + { 0x06D5, 0x06D5 }, + { 0x06E5, 0x06E6 }, + { 0x06EE, 0x06FC }, + { 0x06FF, 0x06FF }, + { 0x0710, 0x0710 }, + { 0x0712, 0x072F }, + { 0x074D, 0x07A5 }, + { 0x07B1, 0x07B1 }, + { 0x07C0, 0x07EA }, + { 0x07F4, 0x07F5 }, + { 0x07FA, 0x07FA }, + { 0x0904, 0x0939 }, + { 0x093D, 0x093D }, + { 0x0950, 0x0950 }, + { 0x0958, 0x0961 }, + { 0x0966, 0x096F }, + { 0x0971, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BD, 0x09BD }, + { 0x09CE, 0x09CE }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E1 }, + { 0x09E6, 0x09F1 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A66, 0x0A6F }, + { 0x0A72, 0x0A74 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABD, 0x0ABD }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE1 }, + { 0x0AE6, 0x0AEF }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3D, 0x0B3D }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B61 }, + { 0x0B66, 0x0B6F }, + { 0x0B71, 0x0B71 }, + { 0x0B83, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BD0, 0x0BD0 }, + { 0x0BE6, 0x0BEF }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C3D }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C61 }, + { 0x0C66, 0x0C6F }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBD, 0x0CBD }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE1 }, + { 0x0CE6, 0x0CEF }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D3D }, + { 0x0D60, 0x0D61 }, + { 0x0D66, 0x0D6F }, + { 0x0D7A, 0x0D7F }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0E01, 0x0E2E }, + { 0x0E30, 0x0E3A }, + { 0x0E40, 0x0E45 }, + { 0x0E47, 0x0E4E }, + { 0x0E50, 0x0E59 }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB0 }, + { 0x0EB2, 0x0EB3 }, + { 0x0EBD, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EC6, 0x0EC6 }, + { 0x0ED0, 0x0ED9 }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F00 }, + { 0x0F20, 0x0F29 }, + { 0x0F40, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F88, 0x0F8B }, + { 0x1000, 0x102A }, + { 0x103F, 0x1049 }, + { 0x1050, 0x1055 }, + { 0x105A, 0x105D }, + { 0x1061, 0x1061 }, + { 0x1065, 0x1066 }, + { 0x106E, 0x1070 }, + { 0x1075, 0x1081 }, + { 0x108E, 0x108E }, + { 0x1090, 0x1099 }, + { 0x10A0, 0x10C5 }, + { 0x10D0, 0x10FA }, + { 0x10FC, 0x10FC }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x1380, 0x138F }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x166C }, + { 0x166F, 0x1676 }, + { 0x1681, 0x169A }, + { 0x16A0, 0x16EA }, + { 0x16EE, 0x16F0 }, + { 0x1700, 0x170C }, + { 0x170E, 0x1711 }, + { 0x1720, 0x1731 }, + { 0x1740, 0x1751 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1780, 0x17B3 }, + { 0x17D7, 0x17D7 }, + { 0x17DC, 0x17DC }, + { 0x17E0, 0x17E9 }, + { 0x1810, 0x1819 }, + { 0x1820, 0x1877 }, + { 0x1880, 0x18A8 }, + { 0x18AA, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1946, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19C1, 0x19C7 }, + { 0x19D0, 0x19D9 }, + { 0x1A00, 0x1A16 }, + { 0x1B05, 0x1B33 }, + { 0x1B45, 0x1B4B }, + { 0x1B50, 0x1B59 }, + { 0x1B83, 0x1BA0 }, + { 0x1BAE, 0x1BB9 }, + { 0x1C00, 0x1C23 }, + { 0x1C40, 0x1C49 }, + { 0x1C4D, 0x1C7D }, + { 0x1D00, 0x1DBF }, + { 0x1E00, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FBC }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FC4 }, + { 0x1FC6, 0x1FCC }, + { 0x1FD0, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FE0, 0x1FEC }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFC }, + { 0x2071, 0x2071 }, + { 0x207F, 0x207F }, + { 0x2090, 0x2094 }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2119, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x212D }, + { 0x212F, 0x2139 }, + { 0x213C, 0x213F }, + { 0x2145, 0x2149 }, + { 0x214E, 0x214E }, + { 0x2160, 0x2188 }, + { 0x249C, 0x24E9 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CE4 }, + { 0x2D00, 0x2D25 }, + { 0x2D30, 0x2D65 }, + { 0x2D6F, 0x2D6F }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x2E2F, 0x2E2F }, + { 0x3005, 0x3007 }, + { 0x3021, 0x3029 }, + { 0x3031, 0x3035 }, + { 0x3038, 0x303C }, + { 0x3041, 0x3096 }, + { 0x309D, 0x309F }, + { 0x30A1, 0x30FA }, + { 0x30FC, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x31A0, 0x31B7 }, + { 0x31F0, 0x31FF }, + { 0x3400, 0x4DB5 }, + { 0x4E00, 0x9FC3 }, + { 0xA000, 0xA48C }, + { 0xA500, 0xA60C }, + { 0xA610, 0xA62B }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA66E }, + { 0xA67F, 0xA697 }, + { 0xA717, 0xA71F }, + { 0xA722, 0xA788 }, + { 0xA78B, 0xA78C }, + { 0xA7FB, 0xA801 }, + { 0xA803, 0xA805 }, + { 0xA807, 0xA80A }, + { 0xA80C, 0xA822 }, + { 0xA840, 0xA873 }, + { 0xA882, 0xA8B3 }, + { 0xA8D0, 0xA8D9 }, + { 0xA900, 0xA925 }, + { 0xA930, 0xA946 }, + { 0xAA00, 0xAA28 }, + { 0xAA40, 0xAA42 }, + { 0xAA44, 0xAA4B }, + { 0xAA50, 0xAA59 }, + { 0xAC00, 0xD7A3 }, + { 0xF900, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB1D }, + { 0xFB1F, 0xFB28 }, + { 0xFB2A, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFD3D }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDFB }, + { 0xFE70, 0xFE74 }, + { 0xFE76, 0xFEFC }, + { 0xFF10, 0xFF19 }, + { 0xFF21, 0xFF3A }, + { 0xFF41, 0xFF5A }, + { 0xFF66, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10140, 0x10174 }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10330, 0x1034A }, + { 0x10380, 0x1039D }, + { 0x103A0, 0x103C3 }, + { 0x103C8, 0x103CF }, + { 0x103D1, 0x103D5 }, + { 0x10400, 0x1049D }, + { 0x104A0, 0x104A9 }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10915 }, + { 0x10920, 0x10939 }, + { 0x10A00, 0x10A00 }, + { 0x10A10, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x12000, 0x1236E }, + { 0x12400, 0x12462 }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6FA }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D734 }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D76E }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D7A8 }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7CB }, + { 0x1D7CE, 0x1D7FF }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D } + +#define PREDICATE(c) uc_is_alpha (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-ctype_blank.c b/tests/unictype/test-ctype_blank.c new file mode 100644 index 00000000..15aa3087 --- /dev/null +++ b/tests/unictype/test-ctype_blank.c @@ -0,0 +1,30 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0009, 0x0009 }, + { 0x0020, 0x0020 }, + { 0x1680, 0x1680 }, + { 0x180E, 0x180E }, + { 0x2000, 0x2006 }, + { 0x2008, 0x200A }, + { 0x205F, 0x205F }, + { 0x3000, 0x3000 } + +#define PREDICATE(c) uc_is_blank (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-ctype_cntrl.c b/tests/unictype/test-ctype_cntrl.c new file mode 100644 index 00000000..ea886b9a --- /dev/null +++ b/tests/unictype/test-ctype_cntrl.c @@ -0,0 +1,25 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0000, 0x001F }, + { 0x007F, 0x009F }, + { 0x2028, 0x2029 } + +#define PREDICATE(c) uc_is_cntrl (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-ctype_digit.c b/tests/unictype/test-ctype_digit.c new file mode 100644 index 00000000..acf5b4ac --- /dev/null +++ b/tests/unictype/test-ctype_digit.c @@ -0,0 +1,23 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 } + +#define PREDICATE(c) uc_is_digit (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-ctype_graph.c b/tests/unictype/test-ctype_graph.c new file mode 100644 index 00000000..32055ede --- /dev/null +++ b/tests/unictype/test-ctype_graph.c @@ -0,0 +1,471 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0021, 0x007E }, + { 0x00A0, 0x0377 }, + { 0x037A, 0x037E }, + { 0x0384, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0559, 0x055F }, + { 0x0561, 0x0587 }, + { 0x0589, 0x058A }, + { 0x0591, 0x05C7 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F4 }, + { 0x0600, 0x0603 }, + { 0x0606, 0x061B }, + { 0x061E, 0x061F }, + { 0x0621, 0x065E }, + { 0x0660, 0x070D }, + { 0x070F, 0x074A }, + { 0x074D, 0x07B1 }, + { 0x07C0, 0x07FA }, + { 0x0901, 0x0939 }, + { 0x093C, 0x094D }, + { 0x0950, 0x0954 }, + { 0x0958, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0981, 0x0983 }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BC, 0x09C4 }, + { 0x09C7, 0x09C8 }, + { 0x09CB, 0x09CE }, + { 0x09D7, 0x09D7 }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E3 }, + { 0x09E6, 0x09FA }, + { 0x0A01, 0x0A03 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A3C, 0x0A3C }, + { 0x0A3E, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4D }, + { 0x0A51, 0x0A51 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A66, 0x0A75 }, + { 0x0A81, 0x0A83 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABC, 0x0AC5 }, + { 0x0AC7, 0x0AC9 }, + { 0x0ACB, 0x0ACD }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE3 }, + { 0x0AE6, 0x0AEF }, + { 0x0AF1, 0x0AF1 }, + { 0x0B01, 0x0B03 }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3C, 0x0B44 }, + { 0x0B47, 0x0B48 }, + { 0x0B4B, 0x0B4D }, + { 0x0B56, 0x0B57 }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B63 }, + { 0x0B66, 0x0B71 }, + { 0x0B82, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BBE, 0x0BC2 }, + { 0x0BC6, 0x0BC8 }, + { 0x0BCA, 0x0BCD }, + { 0x0BD0, 0x0BD0 }, + { 0x0BD7, 0x0BD7 }, + { 0x0BE6, 0x0BFA }, + { 0x0C01, 0x0C03 }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C44 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4D }, + { 0x0C55, 0x0C56 }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C63 }, + { 0x0C66, 0x0C6F }, + { 0x0C78, 0x0C7F }, + { 0x0C82, 0x0C83 }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBC, 0x0CC4 }, + { 0x0CC6, 0x0CC8 }, + { 0x0CCA, 0x0CCD }, + { 0x0CD5, 0x0CD6 }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE3 }, + { 0x0CE6, 0x0CEF }, + { 0x0CF1, 0x0CF2 }, + { 0x0D02, 0x0D03 }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D44 }, + { 0x0D46, 0x0D48 }, + { 0x0D4A, 0x0D4D }, + { 0x0D57, 0x0D57 }, + { 0x0D60, 0x0D63 }, + { 0x0D66, 0x0D75 }, + { 0x0D79, 0x0D7F }, + { 0x0D82, 0x0D83 }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0DCA, 0x0DCA }, + { 0x0DCF, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0DD8, 0x0DDF }, + { 0x0DF2, 0x0DF4 }, + { 0x0E01, 0x0E3A }, + { 0x0E3F, 0x0E5B }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB9 }, + { 0x0EBB, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EC6, 0x0EC6 }, + { 0x0EC8, 0x0ECD }, + { 0x0ED0, 0x0ED9 }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F71, 0x0F8B }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x0FBE, 0x0FCC }, + { 0x0FCE, 0x0FD4 }, + { 0x1000, 0x1099 }, + { 0x109E, 0x10C5 }, + { 0x10D0, 0x10FC }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x135F, 0x137C }, + { 0x1380, 0x1399 }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x1676 }, + { 0x1681, 0x169C }, + { 0x16A0, 0x16F0 }, + { 0x1700, 0x170C }, + { 0x170E, 0x1714 }, + { 0x1720, 0x1736 }, + { 0x1740, 0x1753 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1772, 0x1773 }, + { 0x1780, 0x17DD }, + { 0x17E0, 0x17E9 }, + { 0x17F0, 0x17F9 }, + { 0x1800, 0x180D }, + { 0x1810, 0x1819 }, + { 0x1820, 0x1877 }, + { 0x1880, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1920, 0x192B }, + { 0x1930, 0x193B }, + { 0x1940, 0x1940 }, + { 0x1944, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19B0, 0x19C9 }, + { 0x19D0, 0x19D9 }, + { 0x19DE, 0x1A1B }, + { 0x1A1E, 0x1A1F }, + { 0x1B00, 0x1B4B }, + { 0x1B50, 0x1B7C }, + { 0x1B80, 0x1BAA }, + { 0x1BAE, 0x1BB9 }, + { 0x1C00, 0x1C37 }, + { 0x1C3B, 0x1C49 }, + { 0x1C4D, 0x1C7F }, + { 0x1D00, 0x1DE6 }, + { 0x1DFE, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FC4 }, + { 0x1FC6, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FDD, 0x1FEF }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFE }, + { 0x2007, 0x2007 }, + { 0x200B, 0x2027 }, + { 0x202A, 0x205E }, + { 0x2060, 0x2064 }, + { 0x206A, 0x2071 }, + { 0x2074, 0x208E }, + { 0x2090, 0x2094 }, + { 0x20A0, 0x20B5 }, + { 0x20D0, 0x20F0 }, + { 0x2100, 0x214F }, + { 0x2153, 0x2188 }, + { 0x2190, 0x23E7 }, + { 0x2400, 0x2426 }, + { 0x2440, 0x244A }, + { 0x2460, 0x269D }, + { 0x26A0, 0x26BC }, + { 0x26C0, 0x26C3 }, + { 0x2701, 0x2704 }, + { 0x2706, 0x2709 }, + { 0x270C, 0x2727 }, + { 0x2729, 0x274B }, + { 0x274D, 0x274D }, + { 0x274F, 0x2752 }, + { 0x2756, 0x2756 }, + { 0x2758, 0x275E }, + { 0x2761, 0x2794 }, + { 0x2798, 0x27AF }, + { 0x27B1, 0x27BE }, + { 0x27C0, 0x27CA }, + { 0x27CC, 0x27CC }, + { 0x27D0, 0x2B4C }, + { 0x2B50, 0x2B54 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CEA }, + { 0x2CF9, 0x2D25 }, + { 0x2D30, 0x2D65 }, + { 0x2D6F, 0x2D6F }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x2DE0, 0x2E30 }, + { 0x2E80, 0x2E99 }, + { 0x2E9B, 0x2EF3 }, + { 0x2F00, 0x2FD5 }, + { 0x2FF0, 0x2FFB }, + { 0x3001, 0x303F }, + { 0x3041, 0x3096 }, + { 0x3099, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x3190, 0x31B7 }, + { 0x31C0, 0x31E3 }, + { 0x31F0, 0x321E }, + { 0x3220, 0x3243 }, + { 0x3250, 0x32FE }, + { 0x3300, 0x4DB5 }, + { 0x4DC0, 0x9FC3 }, + { 0xA000, 0xA48C }, + { 0xA490, 0xA4C6 }, + { 0xA500, 0xA62B }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA673 }, + { 0xA67C, 0xA697 }, + { 0xA700, 0xA78C }, + { 0xA7FB, 0xA82B }, + { 0xA840, 0xA877 }, + { 0xA880, 0xA8C4 }, + { 0xA8CE, 0xA8D9 }, + { 0xA900, 0xA953 }, + { 0xA95F, 0xA95F }, + { 0xAA00, 0xAA36 }, + { 0xAA40, 0xAA4D }, + { 0xAA50, 0xAA59 }, + { 0xAA5C, 0xAA5F }, + { 0xAC00, 0xD7A3 }, + { 0xE000, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFD3F }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDFD }, + { 0xFE00, 0xFE19 }, + { 0xFE20, 0xFE26 }, + { 0xFE30, 0xFE52 }, + { 0xFE54, 0xFE66 }, + { 0xFE68, 0xFE6B }, + { 0xFE70, 0xFE74 }, + { 0xFE76, 0xFEFC }, + { 0xFEFF, 0xFEFF }, + { 0xFF01, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0xFFE0, 0xFFE6 }, + { 0xFFE8, 0xFFEE }, + { 0xFFF9, 0xFFFD }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10100, 0x10102 }, + { 0x10107, 0x10133 }, + { 0x10137, 0x1018A }, + { 0x10190, 0x1019B }, + { 0x101D0, 0x101FD }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10320, 0x10323 }, + { 0x10330, 0x1034A }, + { 0x10380, 0x1039D }, + { 0x1039F, 0x103C3 }, + { 0x103C8, 0x103D5 }, + { 0x10400, 0x1049D }, + { 0x104A0, 0x104A9 }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10919 }, + { 0x1091F, 0x10939 }, + { 0x1093F, 0x1093F }, + { 0x10A00, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x10A38, 0x10A3A }, + { 0x10A3F, 0x10A47 }, + { 0x10A50, 0x10A58 }, + { 0x12000, 0x1236E }, + { 0x12400, 0x12462 }, + { 0x12470, 0x12473 }, + { 0x1D000, 0x1D0F5 }, + { 0x1D100, 0x1D126 }, + { 0x1D129, 0x1D1DD }, + { 0x1D200, 0x1D245 }, + { 0x1D300, 0x1D356 }, + { 0x1D360, 0x1D371 }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D7CB }, + { 0x1D7CE, 0x1D7FF }, + { 0x1F000, 0x1F02B }, + { 0x1F030, 0x1F093 }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D }, + { 0xE0001, 0xE0001 }, + { 0xE0020, 0xE007F }, + { 0xE0100, 0xE01EF }, + { 0xF0000, 0xFFFFD }, + { 0x100000, 0x10FFFD } + +#define PREDICATE(c) uc_is_graph (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-ctype_lower.c b/tests/unictype/test-ctype_lower.c new file mode 100644 index 00000000..f7135fa7 --- /dev/null +++ b/tests/unictype/test-ctype_lower.c @@ -0,0 +1,592 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0061, 0x007A }, + { 0x00B5, 0x00B5 }, + { 0x00DF, 0x00F6 }, + { 0x00F8, 0x00FF }, + { 0x0101, 0x0101 }, + { 0x0103, 0x0103 }, + { 0x0105, 0x0105 }, + { 0x0107, 0x0107 }, + { 0x0109, 0x0109 }, + { 0x010B, 0x010B }, + { 0x010D, 0x010D }, + { 0x010F, 0x010F }, + { 0x0111, 0x0111 }, + { 0x0113, 0x0113 }, + { 0x0115, 0x0115 }, + { 0x0117, 0x0117 }, + { 0x0119, 0x0119 }, + { 0x011B, 0x011B }, + { 0x011D, 0x011D }, + { 0x011F, 0x011F }, + { 0x0121, 0x0121 }, + { 0x0123, 0x0123 }, + { 0x0125, 0x0125 }, + { 0x0127, 0x0127 }, + { 0x0129, 0x0129 }, + { 0x012B, 0x012B }, + { 0x012D, 0x012D }, + { 0x012F, 0x012F }, + { 0x0131, 0x0131 }, + { 0x0133, 0x0133 }, + { 0x0135, 0x0135 }, + { 0x0137, 0x0137 }, + { 0x013A, 0x013A }, + { 0x013C, 0x013C }, + { 0x013E, 0x013E }, + { 0x0140, 0x0140 }, + { 0x0142, 0x0142 }, + { 0x0144, 0x0144 }, + { 0x0146, 0x0146 }, + { 0x0148, 0x0148 }, + { 0x014B, 0x014B }, + { 0x014D, 0x014D }, + { 0x014F, 0x014F }, + { 0x0151, 0x0151 }, + { 0x0153, 0x0153 }, + { 0x0155, 0x0155 }, + { 0x0157, 0x0157 }, + { 0x0159, 0x0159 }, + { 0x015B, 0x015B }, + { 0x015D, 0x015D }, + { 0x015F, 0x015F }, + { 0x0161, 0x0161 }, + { 0x0163, 0x0163 }, + { 0x0165, 0x0165 }, + { 0x0167, 0x0167 }, + { 0x0169, 0x0169 }, + { 0x016B, 0x016B }, + { 0x016D, 0x016D }, + { 0x016F, 0x016F }, + { 0x0171, 0x0171 }, + { 0x0173, 0x0173 }, + { 0x0175, 0x0175 }, + { 0x0177, 0x0177 }, + { 0x017A, 0x017A }, + { 0x017C, 0x017C }, + { 0x017E, 0x0180 }, + { 0x0183, 0x0183 }, + { 0x0185, 0x0185 }, + { 0x0188, 0x0188 }, + { 0x018C, 0x018C }, + { 0x0192, 0x0192 }, + { 0x0195, 0x0195 }, + { 0x0199, 0x019A }, + { 0x019E, 0x019E }, + { 0x01A1, 0x01A1 }, + { 0x01A3, 0x01A3 }, + { 0x01A5, 0x01A5 }, + { 0x01A8, 0x01A8 }, + { 0x01AD, 0x01AD }, + { 0x01B0, 0x01B0 }, + { 0x01B4, 0x01B4 }, + { 0x01B6, 0x01B6 }, + { 0x01B9, 0x01B9 }, + { 0x01BD, 0x01BD }, + { 0x01BF, 0x01BF }, + { 0x01C5, 0x01C6 }, + { 0x01C8, 0x01C9 }, + { 0x01CB, 0x01CC }, + { 0x01CE, 0x01CE }, + { 0x01D0, 0x01D0 }, + { 0x01D2, 0x01D2 }, + { 0x01D4, 0x01D4 }, + { 0x01D6, 0x01D6 }, + { 0x01D8, 0x01D8 }, + { 0x01DA, 0x01DA }, + { 0x01DC, 0x01DD }, + { 0x01DF, 0x01DF }, + { 0x01E1, 0x01E1 }, + { 0x01E3, 0x01E3 }, + { 0x01E5, 0x01E5 }, + { 0x01E7, 0x01E7 }, + { 0x01E9, 0x01E9 }, + { 0x01EB, 0x01EB }, + { 0x01ED, 0x01ED }, + { 0x01EF, 0x01EF }, + { 0x01F2, 0x01F3 }, + { 0x01F5, 0x01F5 }, + { 0x01F9, 0x01F9 }, + { 0x01FB, 0x01FB }, + { 0x01FD, 0x01FD }, + { 0x01FF, 0x01FF }, + { 0x0201, 0x0201 }, + { 0x0203, 0x0203 }, + { 0x0205, 0x0205 }, + { 0x0207, 0x0207 }, + { 0x0209, 0x0209 }, + { 0x020B, 0x020B }, + { 0x020D, 0x020D }, + { 0x020F, 0x020F }, + { 0x0211, 0x0211 }, + { 0x0213, 0x0213 }, + { 0x0215, 0x0215 }, + { 0x0217, 0x0217 }, + { 0x0219, 0x0219 }, + { 0x021B, 0x021B }, + { 0x021D, 0x021D }, + { 0x021F, 0x021F }, + { 0x0223, 0x0223 }, + { 0x0225, 0x0225 }, + { 0x0227, 0x0227 }, + { 0x0229, 0x0229 }, + { 0x022B, 0x022B }, + { 0x022D, 0x022D }, + { 0x022F, 0x022F }, + { 0x0231, 0x0231 }, + { 0x0233, 0x0233 }, + { 0x023C, 0x023C }, + { 0x0242, 0x0242 }, + { 0x0247, 0x0247 }, + { 0x0249, 0x0249 }, + { 0x024B, 0x024B }, + { 0x024D, 0x024D }, + { 0x024F, 0x0251 }, + { 0x0253, 0x0254 }, + { 0x0256, 0x0257 }, + { 0x0259, 0x0259 }, + { 0x025B, 0x025B }, + { 0x0260, 0x0260 }, + { 0x0263, 0x0263 }, + { 0x0268, 0x0269 }, + { 0x026B, 0x026B }, + { 0x026F, 0x026F }, + { 0x0271, 0x0272 }, + { 0x0275, 0x0275 }, + { 0x027D, 0x027D }, + { 0x0280, 0x0280 }, + { 0x0283, 0x0283 }, + { 0x0288, 0x028C }, + { 0x0292, 0x0292 }, + { 0x0345, 0x0345 }, + { 0x0371, 0x0371 }, + { 0x0373, 0x0373 }, + { 0x0377, 0x0377 }, + { 0x037B, 0x037D }, + { 0x03AC, 0x03AF }, + { 0x03B1, 0x03CE }, + { 0x03D0, 0x03D1 }, + { 0x03D5, 0x03D7 }, + { 0x03D9, 0x03D9 }, + { 0x03DB, 0x03DB }, + { 0x03DD, 0x03DD }, + { 0x03DF, 0x03DF }, + { 0x03E1, 0x03E1 }, + { 0x03E3, 0x03E3 }, + { 0x03E5, 0x03E5 }, + { 0x03E7, 0x03E7 }, + { 0x03E9, 0x03E9 }, + { 0x03EB, 0x03EB }, + { 0x03ED, 0x03ED }, + { 0x03EF, 0x03F2 }, + { 0x03F5, 0x03F5 }, + { 0x03F8, 0x03F8 }, + { 0x03FB, 0x03FB }, + { 0x0430, 0x045F }, + { 0x0461, 0x0461 }, + { 0x0463, 0x0463 }, + { 0x0465, 0x0465 }, + { 0x0467, 0x0467 }, + { 0x0469, 0x0469 }, + { 0x046B, 0x046B }, + { 0x046D, 0x046D }, + { 0x046F, 0x046F }, + { 0x0471, 0x0471 }, + { 0x0473, 0x0473 }, + { 0x0475, 0x0475 }, + { 0x0477, 0x0477 }, + { 0x0479, 0x0479 }, + { 0x047B, 0x047B }, + { 0x047D, 0x047D }, + { 0x047F, 0x047F }, + { 0x0481, 0x0481 }, + { 0x048B, 0x048B }, + { 0x048D, 0x048D }, + { 0x048F, 0x048F }, + { 0x0491, 0x0491 }, + { 0x0493, 0x0493 }, + { 0x0495, 0x0495 }, + { 0x0497, 0x0497 }, + { 0x0499, 0x0499 }, + { 0x049B, 0x049B }, + { 0x049D, 0x049D }, + { 0x049F, 0x049F }, + { 0x04A1, 0x04A1 }, + { 0x04A3, 0x04A3 }, + { 0x04A5, 0x04A5 }, + { 0x04A7, 0x04A7 }, + { 0x04A9, 0x04A9 }, + { 0x04AB, 0x04AB }, + { 0x04AD, 0x04AD }, + { 0x04AF, 0x04AF }, + { 0x04B1, 0x04B1 }, + { 0x04B3, 0x04B3 }, + { 0x04B5, 0x04B5 }, + { 0x04B7, 0x04B7 }, + { 0x04B9, 0x04B9 }, + { 0x04BB, 0x04BB }, + { 0x04BD, 0x04BD }, + { 0x04BF, 0x04BF }, + { 0x04C2, 0x04C2 }, + { 0x04C4, 0x04C4 }, + { 0x04C6, 0x04C6 }, + { 0x04C8, 0x04C8 }, + { 0x04CA, 0x04CA }, + { 0x04CC, 0x04CC }, + { 0x04CE, 0x04CF }, + { 0x04D1, 0x04D1 }, + { 0x04D3, 0x04D3 }, + { 0x04D5, 0x04D5 }, + { 0x04D7, 0x04D7 }, + { 0x04D9, 0x04D9 }, + { 0x04DB, 0x04DB }, + { 0x04DD, 0x04DD }, + { 0x04DF, 0x04DF }, + { 0x04E1, 0x04E1 }, + { 0x04E3, 0x04E3 }, + { 0x04E5, 0x04E5 }, + { 0x04E7, 0x04E7 }, + { 0x04E9, 0x04E9 }, + { 0x04EB, 0x04EB }, + { 0x04ED, 0x04ED }, + { 0x04EF, 0x04EF }, + { 0x04F1, 0x04F1 }, + { 0x04F3, 0x04F3 }, + { 0x04F5, 0x04F5 }, + { 0x04F7, 0x04F7 }, + { 0x04F9, 0x04F9 }, + { 0x04FB, 0x04FB }, + { 0x04FD, 0x04FD }, + { 0x04FF, 0x04FF }, + { 0x0501, 0x0501 }, + { 0x0503, 0x0503 }, + { 0x0505, 0x0505 }, + { 0x0507, 0x0507 }, + { 0x0509, 0x0509 }, + { 0x050B, 0x050B }, + { 0x050D, 0x050D }, + { 0x050F, 0x050F }, + { 0x0511, 0x0511 }, + { 0x0513, 0x0513 }, + { 0x0515, 0x0515 }, + { 0x0517, 0x0517 }, + { 0x0519, 0x0519 }, + { 0x051B, 0x051B }, + { 0x051D, 0x051D }, + { 0x051F, 0x051F }, + { 0x0521, 0x0521 }, + { 0x0523, 0x0523 }, + { 0x0561, 0x0586 }, + { 0x1D79, 0x1D79 }, + { 0x1D7D, 0x1D7D }, + { 0x1E01, 0x1E01 }, + { 0x1E03, 0x1E03 }, + { 0x1E05, 0x1E05 }, + { 0x1E07, 0x1E07 }, + { 0x1E09, 0x1E09 }, + { 0x1E0B, 0x1E0B }, + { 0x1E0D, 0x1E0D }, + { 0x1E0F, 0x1E0F }, + { 0x1E11, 0x1E11 }, + { 0x1E13, 0x1E13 }, + { 0x1E15, 0x1E15 }, + { 0x1E17, 0x1E17 }, + { 0x1E19, 0x1E19 }, + { 0x1E1B, 0x1E1B }, + { 0x1E1D, 0x1E1D }, + { 0x1E1F, 0x1E1F }, + { 0x1E21, 0x1E21 }, + { 0x1E23, 0x1E23 }, + { 0x1E25, 0x1E25 }, + { 0x1E27, 0x1E27 }, + { 0x1E29, 0x1E29 }, + { 0x1E2B, 0x1E2B }, + { 0x1E2D, 0x1E2D }, + { 0x1E2F, 0x1E2F }, + { 0x1E31, 0x1E31 }, + { 0x1E33, 0x1E33 }, + { 0x1E35, 0x1E35 }, + { 0x1E37, 0x1E37 }, + { 0x1E39, 0x1E39 }, + { 0x1E3B, 0x1E3B }, + { 0x1E3D, 0x1E3D }, + { 0x1E3F, 0x1E3F }, + { 0x1E41, 0x1E41 }, + { 0x1E43, 0x1E43 }, + { 0x1E45, 0x1E45 }, + { 0x1E47, 0x1E47 }, + { 0x1E49, 0x1E49 }, + { 0x1E4B, 0x1E4B }, + { 0x1E4D, 0x1E4D }, + { 0x1E4F, 0x1E4F }, + { 0x1E51, 0x1E51 }, + { 0x1E53, 0x1E53 }, + { 0x1E55, 0x1E55 }, + { 0x1E57, 0x1E57 }, + { 0x1E59, 0x1E59 }, + { 0x1E5B, 0x1E5B }, + { 0x1E5D, 0x1E5D }, + { 0x1E5F, 0x1E5F }, + { 0x1E61, 0x1E61 }, + { 0x1E63, 0x1E63 }, + { 0x1E65, 0x1E65 }, + { 0x1E67, 0x1E67 }, + { 0x1E69, 0x1E69 }, + { 0x1E6B, 0x1E6B }, + { 0x1E6D, 0x1E6D }, + { 0x1E6F, 0x1E6F }, + { 0x1E71, 0x1E71 }, + { 0x1E73, 0x1E73 }, + { 0x1E75, 0x1E75 }, + { 0x1E77, 0x1E77 }, + { 0x1E79, 0x1E79 }, + { 0x1E7B, 0x1E7B }, + { 0x1E7D, 0x1E7D }, + { 0x1E7F, 0x1E7F }, + { 0x1E81, 0x1E81 }, + { 0x1E83, 0x1E83 }, + { 0x1E85, 0x1E85 }, + { 0x1E87, 0x1E87 }, + { 0x1E89, 0x1E89 }, + { 0x1E8B, 0x1E8B }, + { 0x1E8D, 0x1E8D }, + { 0x1E8F, 0x1E8F }, + { 0x1E91, 0x1E91 }, + { 0x1E93, 0x1E93 }, + { 0x1E95, 0x1E95 }, + { 0x1E9B, 0x1E9B }, + { 0x1EA1, 0x1EA1 }, + { 0x1EA3, 0x1EA3 }, + { 0x1EA5, 0x1EA5 }, + { 0x1EA7, 0x1EA7 }, + { 0x1EA9, 0x1EA9 }, + { 0x1EAB, 0x1EAB }, + { 0x1EAD, 0x1EAD }, + { 0x1EAF, 0x1EAF }, + { 0x1EB1, 0x1EB1 }, + { 0x1EB3, 0x1EB3 }, + { 0x1EB5, 0x1EB5 }, + { 0x1EB7, 0x1EB7 }, + { 0x1EB9, 0x1EB9 }, + { 0x1EBB, 0x1EBB }, + { 0x1EBD, 0x1EBD }, + { 0x1EBF, 0x1EBF }, + { 0x1EC1, 0x1EC1 }, + { 0x1EC3, 0x1EC3 }, + { 0x1EC5, 0x1EC5 }, + { 0x1EC7, 0x1EC7 }, + { 0x1EC9, 0x1EC9 }, + { 0x1ECB, 0x1ECB }, + { 0x1ECD, 0x1ECD }, + { 0x1ECF, 0x1ECF }, + { 0x1ED1, 0x1ED1 }, + { 0x1ED3, 0x1ED3 }, + { 0x1ED5, 0x1ED5 }, + { 0x1ED7, 0x1ED7 }, + { 0x1ED9, 0x1ED9 }, + { 0x1EDB, 0x1EDB }, + { 0x1EDD, 0x1EDD }, + { 0x1EDF, 0x1EDF }, + { 0x1EE1, 0x1EE1 }, + { 0x1EE3, 0x1EE3 }, + { 0x1EE5, 0x1EE5 }, + { 0x1EE7, 0x1EE7 }, + { 0x1EE9, 0x1EE9 }, + { 0x1EEB, 0x1EEB }, + { 0x1EED, 0x1EED }, + { 0x1EEF, 0x1EEF }, + { 0x1EF1, 0x1EF1 }, + { 0x1EF3, 0x1EF3 }, + { 0x1EF5, 0x1EF5 }, + { 0x1EF7, 0x1EF7 }, + { 0x1EF9, 0x1EF9 }, + { 0x1EFB, 0x1EFB }, + { 0x1EFD, 0x1EFD }, + { 0x1EFF, 0x1F07 }, + { 0x1F10, 0x1F15 }, + { 0x1F20, 0x1F27 }, + { 0x1F30, 0x1F37 }, + { 0x1F40, 0x1F45 }, + { 0x1F51, 0x1F51 }, + { 0x1F53, 0x1F53 }, + { 0x1F55, 0x1F55 }, + { 0x1F57, 0x1F57 }, + { 0x1F60, 0x1F67 }, + { 0x1F70, 0x1F7D }, + { 0x1F80, 0x1F87 }, + { 0x1F90, 0x1F97 }, + { 0x1FA0, 0x1FA7 }, + { 0x1FB0, 0x1FB1 }, + { 0x1FB3, 0x1FB3 }, + { 0x1FBE, 0x1FBE }, + { 0x1FC3, 0x1FC3 }, + { 0x1FD0, 0x1FD1 }, + { 0x1FE0, 0x1FE1 }, + { 0x1FE5, 0x1FE5 }, + { 0x1FF3, 0x1FF3 }, + { 0x214E, 0x214E }, + { 0x2170, 0x217F }, + { 0x2184, 0x2184 }, + { 0x24D0, 0x24E9 }, + { 0x2C30, 0x2C5E }, + { 0x2C61, 0x2C61 }, + { 0x2C65, 0x2C66 }, + { 0x2C68, 0x2C68 }, + { 0x2C6A, 0x2C6A }, + { 0x2C6C, 0x2C6C }, + { 0x2C73, 0x2C73 }, + { 0x2C76, 0x2C76 }, + { 0x2C81, 0x2C81 }, + { 0x2C83, 0x2C83 }, + { 0x2C85, 0x2C85 }, + { 0x2C87, 0x2C87 }, + { 0x2C89, 0x2C89 }, + { 0x2C8B, 0x2C8B }, + { 0x2C8D, 0x2C8D }, + { 0x2C8F, 0x2C8F }, + { 0x2C91, 0x2C91 }, + { 0x2C93, 0x2C93 }, + { 0x2C95, 0x2C95 }, + { 0x2C97, 0x2C97 }, + { 0x2C99, 0x2C99 }, + { 0x2C9B, 0x2C9B }, + { 0x2C9D, 0x2C9D }, + { 0x2C9F, 0x2C9F }, + { 0x2CA1, 0x2CA1 }, + { 0x2CA3, 0x2CA3 }, + { 0x2CA5, 0x2CA5 }, + { 0x2CA7, 0x2CA7 }, + { 0x2CA9, 0x2CA9 }, + { 0x2CAB, 0x2CAB }, + { 0x2CAD, 0x2CAD }, + { 0x2CAF, 0x2CAF }, + { 0x2CB1, 0x2CB1 }, + { 0x2CB3, 0x2CB3 }, + { 0x2CB5, 0x2CB5 }, + { 0x2CB7, 0x2CB7 }, + { 0x2CB9, 0x2CB9 }, + { 0x2CBB, 0x2CBB }, + { 0x2CBD, 0x2CBD }, + { 0x2CBF, 0x2CBF }, + { 0x2CC1, 0x2CC1 }, + { 0x2CC3, 0x2CC3 }, + { 0x2CC5, 0x2CC5 }, + { 0x2CC7, 0x2CC7 }, + { 0x2CC9, 0x2CC9 }, + { 0x2CCB, 0x2CCB }, + { 0x2CCD, 0x2CCD }, + { 0x2CCF, 0x2CCF }, + { 0x2CD1, 0x2CD1 }, + { 0x2CD3, 0x2CD3 }, + { 0x2CD5, 0x2CD5 }, + { 0x2CD7, 0x2CD7 }, + { 0x2CD9, 0x2CD9 }, + { 0x2CDB, 0x2CDB }, + { 0x2CDD, 0x2CDD }, + { 0x2CDF, 0x2CDF }, + { 0x2CE1, 0x2CE1 }, + { 0x2CE3, 0x2CE3 }, + { 0x2D00, 0x2D25 }, + { 0xA641, 0xA641 }, + { 0xA643, 0xA643 }, + { 0xA645, 0xA645 }, + { 0xA647, 0xA647 }, + { 0xA649, 0xA649 }, + { 0xA64B, 0xA64B }, + { 0xA64D, 0xA64D }, + { 0xA64F, 0xA64F }, + { 0xA651, 0xA651 }, + { 0xA653, 0xA653 }, + { 0xA655, 0xA655 }, + { 0xA657, 0xA657 }, + { 0xA659, 0xA659 }, + { 0xA65B, 0xA65B }, + { 0xA65D, 0xA65D }, + { 0xA65F, 0xA65F }, + { 0xA663, 0xA663 }, + { 0xA665, 0xA665 }, + { 0xA667, 0xA667 }, + { 0xA669, 0xA669 }, + { 0xA66B, 0xA66B }, + { 0xA66D, 0xA66D }, + { 0xA681, 0xA681 }, + { 0xA683, 0xA683 }, + { 0xA685, 0xA685 }, + { 0xA687, 0xA687 }, + { 0xA689, 0xA689 }, + { 0xA68B, 0xA68B }, + { 0xA68D, 0xA68D }, + { 0xA68F, 0xA68F }, + { 0xA691, 0xA691 }, + { 0xA693, 0xA693 }, + { 0xA695, 0xA695 }, + { 0xA697, 0xA697 }, + { 0xA723, 0xA723 }, + { 0xA725, 0xA725 }, + { 0xA727, 0xA727 }, + { 0xA729, 0xA729 }, + { 0xA72B, 0xA72B }, + { 0xA72D, 0xA72D }, + { 0xA72F, 0xA72F }, + { 0xA733, 0xA733 }, + { 0xA735, 0xA735 }, + { 0xA737, 0xA737 }, + { 0xA739, 0xA739 }, + { 0xA73B, 0xA73B }, + { 0xA73D, 0xA73D }, + { 0xA73F, 0xA73F }, + { 0xA741, 0xA741 }, + { 0xA743, 0xA743 }, + { 0xA745, 0xA745 }, + { 0xA747, 0xA747 }, + { 0xA749, 0xA749 }, + { 0xA74B, 0xA74B }, + { 0xA74D, 0xA74D }, + { 0xA74F, 0xA74F }, + { 0xA751, 0xA751 }, + { 0xA753, 0xA753 }, + { 0xA755, 0xA755 }, + { 0xA757, 0xA757 }, + { 0xA759, 0xA759 }, + { 0xA75B, 0xA75B }, + { 0xA75D, 0xA75D }, + { 0xA75F, 0xA75F }, + { 0xA761, 0xA761 }, + { 0xA763, 0xA763 }, + { 0xA765, 0xA765 }, + { 0xA767, 0xA767 }, + { 0xA769, 0xA769 }, + { 0xA76B, 0xA76B }, + { 0xA76D, 0xA76D }, + { 0xA76F, 0xA76F }, + { 0xA77A, 0xA77A }, + { 0xA77C, 0xA77C }, + { 0xA77F, 0xA77F }, + { 0xA781, 0xA781 }, + { 0xA783, 0xA783 }, + { 0xA785, 0xA785 }, + { 0xA787, 0xA787 }, + { 0xA78C, 0xA78C }, + { 0xFF41, 0xFF5A }, + { 0x10428, 0x1044F } + +#define PREDICATE(c) uc_is_lower (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-ctype_print.c b/tests/unictype/test-ctype_print.c new file mode 100644 index 00000000..7333d75e --- /dev/null +++ b/tests/unictype/test-ctype_print.c @@ -0,0 +1,469 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0020, 0x007E }, + { 0x00A0, 0x0377 }, + { 0x037A, 0x037E }, + { 0x0384, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0559, 0x055F }, + { 0x0561, 0x0587 }, + { 0x0589, 0x058A }, + { 0x0591, 0x05C7 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F4 }, + { 0x0600, 0x0603 }, + { 0x0606, 0x061B }, + { 0x061E, 0x061F }, + { 0x0621, 0x065E }, + { 0x0660, 0x070D }, + { 0x070F, 0x074A }, + { 0x074D, 0x07B1 }, + { 0x07C0, 0x07FA }, + { 0x0901, 0x0939 }, + { 0x093C, 0x094D }, + { 0x0950, 0x0954 }, + { 0x0958, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0981, 0x0983 }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BC, 0x09C4 }, + { 0x09C7, 0x09C8 }, + { 0x09CB, 0x09CE }, + { 0x09D7, 0x09D7 }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E3 }, + { 0x09E6, 0x09FA }, + { 0x0A01, 0x0A03 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A3C, 0x0A3C }, + { 0x0A3E, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4D }, + { 0x0A51, 0x0A51 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A66, 0x0A75 }, + { 0x0A81, 0x0A83 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABC, 0x0AC5 }, + { 0x0AC7, 0x0AC9 }, + { 0x0ACB, 0x0ACD }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE3 }, + { 0x0AE6, 0x0AEF }, + { 0x0AF1, 0x0AF1 }, + { 0x0B01, 0x0B03 }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3C, 0x0B44 }, + { 0x0B47, 0x0B48 }, + { 0x0B4B, 0x0B4D }, + { 0x0B56, 0x0B57 }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B63 }, + { 0x0B66, 0x0B71 }, + { 0x0B82, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BBE, 0x0BC2 }, + { 0x0BC6, 0x0BC8 }, + { 0x0BCA, 0x0BCD }, + { 0x0BD0, 0x0BD0 }, + { 0x0BD7, 0x0BD7 }, + { 0x0BE6, 0x0BFA }, + { 0x0C01, 0x0C03 }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C44 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4D }, + { 0x0C55, 0x0C56 }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C63 }, + { 0x0C66, 0x0C6F }, + { 0x0C78, 0x0C7F }, + { 0x0C82, 0x0C83 }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBC, 0x0CC4 }, + { 0x0CC6, 0x0CC8 }, + { 0x0CCA, 0x0CCD }, + { 0x0CD5, 0x0CD6 }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE3 }, + { 0x0CE6, 0x0CEF }, + { 0x0CF1, 0x0CF2 }, + { 0x0D02, 0x0D03 }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D44 }, + { 0x0D46, 0x0D48 }, + { 0x0D4A, 0x0D4D }, + { 0x0D57, 0x0D57 }, + { 0x0D60, 0x0D63 }, + { 0x0D66, 0x0D75 }, + { 0x0D79, 0x0D7F }, + { 0x0D82, 0x0D83 }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0DCA, 0x0DCA }, + { 0x0DCF, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0DD8, 0x0DDF }, + { 0x0DF2, 0x0DF4 }, + { 0x0E01, 0x0E3A }, + { 0x0E3F, 0x0E5B }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB9 }, + { 0x0EBB, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EC6, 0x0EC6 }, + { 0x0EC8, 0x0ECD }, + { 0x0ED0, 0x0ED9 }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F71, 0x0F8B }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x0FBE, 0x0FCC }, + { 0x0FCE, 0x0FD4 }, + { 0x1000, 0x1099 }, + { 0x109E, 0x10C5 }, + { 0x10D0, 0x10FC }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x135F, 0x137C }, + { 0x1380, 0x1399 }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x1676 }, + { 0x1680, 0x169C }, + { 0x16A0, 0x16F0 }, + { 0x1700, 0x170C }, + { 0x170E, 0x1714 }, + { 0x1720, 0x1736 }, + { 0x1740, 0x1753 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1772, 0x1773 }, + { 0x1780, 0x17DD }, + { 0x17E0, 0x17E9 }, + { 0x17F0, 0x17F9 }, + { 0x1800, 0x180E }, + { 0x1810, 0x1819 }, + { 0x1820, 0x1877 }, + { 0x1880, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1920, 0x192B }, + { 0x1930, 0x193B }, + { 0x1940, 0x1940 }, + { 0x1944, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19B0, 0x19C9 }, + { 0x19D0, 0x19D9 }, + { 0x19DE, 0x1A1B }, + { 0x1A1E, 0x1A1F }, + { 0x1B00, 0x1B4B }, + { 0x1B50, 0x1B7C }, + { 0x1B80, 0x1BAA }, + { 0x1BAE, 0x1BB9 }, + { 0x1C00, 0x1C37 }, + { 0x1C3B, 0x1C49 }, + { 0x1C4D, 0x1C7F }, + { 0x1D00, 0x1DE6 }, + { 0x1DFE, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FC4 }, + { 0x1FC6, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FDD, 0x1FEF }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFE }, + { 0x2000, 0x2027 }, + { 0x202A, 0x2064 }, + { 0x206A, 0x2071 }, + { 0x2074, 0x208E }, + { 0x2090, 0x2094 }, + { 0x20A0, 0x20B5 }, + { 0x20D0, 0x20F0 }, + { 0x2100, 0x214F }, + { 0x2153, 0x2188 }, + { 0x2190, 0x23E7 }, + { 0x2400, 0x2426 }, + { 0x2440, 0x244A }, + { 0x2460, 0x269D }, + { 0x26A0, 0x26BC }, + { 0x26C0, 0x26C3 }, + { 0x2701, 0x2704 }, + { 0x2706, 0x2709 }, + { 0x270C, 0x2727 }, + { 0x2729, 0x274B }, + { 0x274D, 0x274D }, + { 0x274F, 0x2752 }, + { 0x2756, 0x2756 }, + { 0x2758, 0x275E }, + { 0x2761, 0x2794 }, + { 0x2798, 0x27AF }, + { 0x27B1, 0x27BE }, + { 0x27C0, 0x27CA }, + { 0x27CC, 0x27CC }, + { 0x27D0, 0x2B4C }, + { 0x2B50, 0x2B54 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CEA }, + { 0x2CF9, 0x2D25 }, + { 0x2D30, 0x2D65 }, + { 0x2D6F, 0x2D6F }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x2DE0, 0x2E30 }, + { 0x2E80, 0x2E99 }, + { 0x2E9B, 0x2EF3 }, + { 0x2F00, 0x2FD5 }, + { 0x2FF0, 0x2FFB }, + { 0x3000, 0x303F }, + { 0x3041, 0x3096 }, + { 0x3099, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x3190, 0x31B7 }, + { 0x31C0, 0x31E3 }, + { 0x31F0, 0x321E }, + { 0x3220, 0x3243 }, + { 0x3250, 0x32FE }, + { 0x3300, 0x4DB5 }, + { 0x4DC0, 0x9FC3 }, + { 0xA000, 0xA48C }, + { 0xA490, 0xA4C6 }, + { 0xA500, 0xA62B }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA673 }, + { 0xA67C, 0xA697 }, + { 0xA700, 0xA78C }, + { 0xA7FB, 0xA82B }, + { 0xA840, 0xA877 }, + { 0xA880, 0xA8C4 }, + { 0xA8CE, 0xA8D9 }, + { 0xA900, 0xA953 }, + { 0xA95F, 0xA95F }, + { 0xAA00, 0xAA36 }, + { 0xAA40, 0xAA4D }, + { 0xAA50, 0xAA59 }, + { 0xAA5C, 0xAA5F }, + { 0xAC00, 0xD7A3 }, + { 0xE000, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFD3F }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDFD }, + { 0xFE00, 0xFE19 }, + { 0xFE20, 0xFE26 }, + { 0xFE30, 0xFE52 }, + { 0xFE54, 0xFE66 }, + { 0xFE68, 0xFE6B }, + { 0xFE70, 0xFE74 }, + { 0xFE76, 0xFEFC }, + { 0xFEFF, 0xFEFF }, + { 0xFF01, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0xFFE0, 0xFFE6 }, + { 0xFFE8, 0xFFEE }, + { 0xFFF9, 0xFFFD }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10100, 0x10102 }, + { 0x10107, 0x10133 }, + { 0x10137, 0x1018A }, + { 0x10190, 0x1019B }, + { 0x101D0, 0x101FD }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10320, 0x10323 }, + { 0x10330, 0x1034A }, + { 0x10380, 0x1039D }, + { 0x1039F, 0x103C3 }, + { 0x103C8, 0x103D5 }, + { 0x10400, 0x1049D }, + { 0x104A0, 0x104A9 }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10919 }, + { 0x1091F, 0x10939 }, + { 0x1093F, 0x1093F }, + { 0x10A00, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x10A38, 0x10A3A }, + { 0x10A3F, 0x10A47 }, + { 0x10A50, 0x10A58 }, + { 0x12000, 0x1236E }, + { 0x12400, 0x12462 }, + { 0x12470, 0x12473 }, + { 0x1D000, 0x1D0F5 }, + { 0x1D100, 0x1D126 }, + { 0x1D129, 0x1D1DD }, + { 0x1D200, 0x1D245 }, + { 0x1D300, 0x1D356 }, + { 0x1D360, 0x1D371 }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D7CB }, + { 0x1D7CE, 0x1D7FF }, + { 0x1F000, 0x1F02B }, + { 0x1F030, 0x1F093 }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D }, + { 0xE0001, 0xE0001 }, + { 0xE0020, 0xE007F }, + { 0xE0100, 0xE01EF }, + { 0xF0000, 0xFFFFD }, + { 0x100000, 0x10FFFD } + +#define PREDICATE(c) uc_is_print (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-ctype_punct.c b/tests/unictype/test-ctype_punct.c new file mode 100644 index 00000000..e9aa3f0b --- /dev/null +++ b/tests/unictype/test-ctype_punct.c @@ -0,0 +1,354 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0021, 0x002F }, + { 0x003A, 0x0040 }, + { 0x005B, 0x0060 }, + { 0x007B, 0x007E }, + { 0x00A0, 0x00A9 }, + { 0x00AB, 0x00B4 }, + { 0x00B6, 0x00B9 }, + { 0x00BB, 0x00BF }, + { 0x00D7, 0x00D7 }, + { 0x00F7, 0x00F7 }, + { 0x02C2, 0x02C5 }, + { 0x02D2, 0x02DF }, + { 0x02E5, 0x02EB }, + { 0x02ED, 0x02ED }, + { 0x02EF, 0x0344 }, + { 0x0346, 0x036F }, + { 0x0375, 0x0375 }, + { 0x037E, 0x037E }, + { 0x0384, 0x0385 }, + { 0x0387, 0x0387 }, + { 0x03F6, 0x03F6 }, + { 0x0482, 0x0489 }, + { 0x055A, 0x055F }, + { 0x0589, 0x058A }, + { 0x0591, 0x05C7 }, + { 0x05F3, 0x05F4 }, + { 0x0600, 0x0603 }, + { 0x0606, 0x061B }, + { 0x061E, 0x061F }, + { 0x064B, 0x065E }, + { 0x066A, 0x066D }, + { 0x0670, 0x0670 }, + { 0x06D4, 0x06D4 }, + { 0x06D6, 0x06E4 }, + { 0x06E7, 0x06ED }, + { 0x06FD, 0x06FE }, + { 0x0700, 0x070D }, + { 0x070F, 0x070F }, + { 0x0711, 0x0711 }, + { 0x0730, 0x074A }, + { 0x07A6, 0x07B0 }, + { 0x07EB, 0x07F3 }, + { 0x07F6, 0x07F9 }, + { 0x0901, 0x0903 }, + { 0x093C, 0x093C }, + { 0x093E, 0x094D }, + { 0x0951, 0x0954 }, + { 0x0962, 0x0965 }, + { 0x0970, 0x0970 }, + { 0x0981, 0x0983 }, + { 0x09BC, 0x09BC }, + { 0x09BE, 0x09C4 }, + { 0x09C7, 0x09C8 }, + { 0x09CB, 0x09CD }, + { 0x09D7, 0x09D7 }, + { 0x09E2, 0x09E3 }, + { 0x09F2, 0x09FA }, + { 0x0A01, 0x0A03 }, + { 0x0A3C, 0x0A3C }, + { 0x0A3E, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4D }, + { 0x0A51, 0x0A51 }, + { 0x0A70, 0x0A71 }, + { 0x0A75, 0x0A75 }, + { 0x0A81, 0x0A83 }, + { 0x0ABC, 0x0ABC }, + { 0x0ABE, 0x0AC5 }, + { 0x0AC7, 0x0AC9 }, + { 0x0ACB, 0x0ACD }, + { 0x0AE2, 0x0AE3 }, + { 0x0AF1, 0x0AF1 }, + { 0x0B01, 0x0B03 }, + { 0x0B3C, 0x0B3C }, + { 0x0B3E, 0x0B44 }, + { 0x0B47, 0x0B48 }, + { 0x0B4B, 0x0B4D }, + { 0x0B56, 0x0B57 }, + { 0x0B62, 0x0B63 }, + { 0x0B70, 0x0B70 }, + { 0x0B82, 0x0B82 }, + { 0x0BBE, 0x0BC2 }, + { 0x0BC6, 0x0BC8 }, + { 0x0BCA, 0x0BCD }, + { 0x0BD7, 0x0BD7 }, + { 0x0BF0, 0x0BFA }, + { 0x0C01, 0x0C03 }, + { 0x0C3E, 0x0C44 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4D }, + { 0x0C55, 0x0C56 }, + { 0x0C62, 0x0C63 }, + { 0x0C78, 0x0C7F }, + { 0x0C82, 0x0C83 }, + { 0x0CBC, 0x0CBC }, + { 0x0CBE, 0x0CC4 }, + { 0x0CC6, 0x0CC8 }, + { 0x0CCA, 0x0CCD }, + { 0x0CD5, 0x0CD6 }, + { 0x0CE2, 0x0CE3 }, + { 0x0CF1, 0x0CF2 }, + { 0x0D02, 0x0D03 }, + { 0x0D3E, 0x0D44 }, + { 0x0D46, 0x0D48 }, + { 0x0D4A, 0x0D4D }, + { 0x0D57, 0x0D57 }, + { 0x0D62, 0x0D63 }, + { 0x0D70, 0x0D75 }, + { 0x0D79, 0x0D79 }, + { 0x0D82, 0x0D83 }, + { 0x0DCA, 0x0DCA }, + { 0x0DCF, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0DD8, 0x0DDF }, + { 0x0DF2, 0x0DF4 }, + { 0x0E2F, 0x0E2F }, + { 0x0E3F, 0x0E3F }, + { 0x0E46, 0x0E46 }, + { 0x0E4F, 0x0E4F }, + { 0x0E5A, 0x0E5B }, + { 0x0EB1, 0x0EB1 }, + { 0x0EB4, 0x0EB9 }, + { 0x0EBB, 0x0EBC }, + { 0x0EC8, 0x0ECD }, + { 0x0F01, 0x0F1F }, + { 0x0F2A, 0x0F3F }, + { 0x0F71, 0x0F87 }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x0FBE, 0x0FCC }, + { 0x0FCE, 0x0FD4 }, + { 0x102B, 0x103E }, + { 0x104A, 0x104F }, + { 0x1056, 0x1059 }, + { 0x105E, 0x1060 }, + { 0x1062, 0x1064 }, + { 0x1067, 0x106D }, + { 0x1071, 0x1074 }, + { 0x1082, 0x108D }, + { 0x108F, 0x108F }, + { 0x109E, 0x109F }, + { 0x10FB, 0x10FB }, + { 0x135F, 0x137C }, + { 0x1390, 0x1399 }, + { 0x166D, 0x166E }, + { 0x169B, 0x169C }, + { 0x16EB, 0x16ED }, + { 0x1712, 0x1714 }, + { 0x1732, 0x1736 }, + { 0x1752, 0x1753 }, + { 0x1772, 0x1773 }, + { 0x17B4, 0x17D6 }, + { 0x17D8, 0x17DB }, + { 0x17DD, 0x17DD }, + { 0x17F0, 0x17F9 }, + { 0x1800, 0x180D }, + { 0x18A9, 0x18A9 }, + { 0x1920, 0x192B }, + { 0x1930, 0x193B }, + { 0x1940, 0x1940 }, + { 0x1944, 0x1945 }, + { 0x19B0, 0x19C0 }, + { 0x19C8, 0x19C9 }, + { 0x19DE, 0x19FF }, + { 0x1A17, 0x1A1B }, + { 0x1A1E, 0x1A1F }, + { 0x1B00, 0x1B04 }, + { 0x1B34, 0x1B44 }, + { 0x1B5A, 0x1B7C }, + { 0x1B80, 0x1B82 }, + { 0x1BA1, 0x1BAA }, + { 0x1C24, 0x1C37 }, + { 0x1C3B, 0x1C3F }, + { 0x1C7E, 0x1C7F }, + { 0x1DC0, 0x1DE6 }, + { 0x1DFE, 0x1DFF }, + { 0x1FBD, 0x1FBD }, + { 0x1FBF, 0x1FC1 }, + { 0x1FCD, 0x1FCF }, + { 0x1FDD, 0x1FDF }, + { 0x1FED, 0x1FEF }, + { 0x1FFD, 0x1FFE }, + { 0x2007, 0x2007 }, + { 0x200B, 0x2027 }, + { 0x202A, 0x205E }, + { 0x2060, 0x2064 }, + { 0x206A, 0x2070 }, + { 0x2074, 0x207E }, + { 0x2080, 0x208E }, + { 0x20A0, 0x20B5 }, + { 0x20D0, 0x20F0 }, + { 0x2100, 0x2101 }, + { 0x2103, 0x2106 }, + { 0x2108, 0x2109 }, + { 0x2114, 0x2114 }, + { 0x2116, 0x2118 }, + { 0x211E, 0x2123 }, + { 0x2125, 0x2125 }, + { 0x2127, 0x2127 }, + { 0x212E, 0x212E }, + { 0x213A, 0x213B }, + { 0x2140, 0x2144 }, + { 0x214A, 0x214D }, + { 0x214F, 0x214F }, + { 0x2153, 0x215F }, + { 0x2190, 0x23E7 }, + { 0x2400, 0x2426 }, + { 0x2440, 0x244A }, + { 0x2460, 0x249B }, + { 0x24EA, 0x269D }, + { 0x26A0, 0x26BC }, + { 0x26C0, 0x26C3 }, + { 0x2701, 0x2704 }, + { 0x2706, 0x2709 }, + { 0x270C, 0x2727 }, + { 0x2729, 0x274B }, + { 0x274D, 0x274D }, + { 0x274F, 0x2752 }, + { 0x2756, 0x2756 }, + { 0x2758, 0x275E }, + { 0x2761, 0x2794 }, + { 0x2798, 0x27AF }, + { 0x27B1, 0x27BE }, + { 0x27C0, 0x27CA }, + { 0x27CC, 0x27CC }, + { 0x27D0, 0x2B4C }, + { 0x2B50, 0x2B54 }, + { 0x2CE5, 0x2CEA }, + { 0x2CF9, 0x2CFF }, + { 0x2DE0, 0x2E2E }, + { 0x2E30, 0x2E30 }, + { 0x2E80, 0x2E99 }, + { 0x2E9B, 0x2EF3 }, + { 0x2F00, 0x2FD5 }, + { 0x2FF0, 0x2FFB }, + { 0x3001, 0x3004 }, + { 0x3008, 0x3020 }, + { 0x302A, 0x3030 }, + { 0x3036, 0x3037 }, + { 0x303D, 0x303F }, + { 0x3099, 0x309C }, + { 0x30A0, 0x30A0 }, + { 0x30FB, 0x30FB }, + { 0x3190, 0x319F }, + { 0x31C0, 0x31E3 }, + { 0x3200, 0x321E }, + { 0x3220, 0x3243 }, + { 0x3250, 0x32FE }, + { 0x3300, 0x33FF }, + { 0x4DC0, 0x4DFF }, + { 0xA490, 0xA4C6 }, + { 0xA60D, 0xA60F }, + { 0xA66F, 0xA673 }, + { 0xA67C, 0xA67E }, + { 0xA700, 0xA716 }, + { 0xA720, 0xA721 }, + { 0xA789, 0xA78A }, + { 0xA802, 0xA802 }, + { 0xA806, 0xA806 }, + { 0xA80B, 0xA80B }, + { 0xA823, 0xA82B }, + { 0xA874, 0xA877 }, + { 0xA880, 0xA881 }, + { 0xA8B4, 0xA8C4 }, + { 0xA8CE, 0xA8CF }, + { 0xA926, 0xA92F }, + { 0xA947, 0xA953 }, + { 0xA95F, 0xA95F }, + { 0xAA29, 0xAA36 }, + { 0xAA43, 0xAA43 }, + { 0xAA4C, 0xAA4D }, + { 0xAA5C, 0xAA5F }, + { 0xE000, 0xF8FF }, + { 0xFB1E, 0xFB1E }, + { 0xFB29, 0xFB29 }, + { 0xFD3E, 0xFD3F }, + { 0xFDFC, 0xFDFD }, + { 0xFE00, 0xFE19 }, + { 0xFE20, 0xFE26 }, + { 0xFE30, 0xFE52 }, + { 0xFE54, 0xFE66 }, + { 0xFE68, 0xFE6B }, + { 0xFEFF, 0xFEFF }, + { 0xFF01, 0xFF0F }, + { 0xFF1A, 0xFF20 }, + { 0xFF3B, 0xFF40 }, + { 0xFF5B, 0xFF65 }, + { 0xFFE0, 0xFFE6 }, + { 0xFFE8, 0xFFEE }, + { 0xFFF9, 0xFFFD }, + { 0x10100, 0x10102 }, + { 0x10107, 0x10133 }, + { 0x10137, 0x1013F }, + { 0x10175, 0x1018A }, + { 0x10190, 0x1019B }, + { 0x101D0, 0x101FD }, + { 0x10320, 0x10323 }, + { 0x1039F, 0x1039F }, + { 0x103D0, 0x103D0 }, + { 0x10916, 0x10919 }, + { 0x1091F, 0x1091F }, + { 0x1093F, 0x1093F }, + { 0x10A01, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A0F }, + { 0x10A38, 0x10A3A }, + { 0x10A3F, 0x10A47 }, + { 0x10A50, 0x10A58 }, + { 0x12470, 0x12473 }, + { 0x1D000, 0x1D0F5 }, + { 0x1D100, 0x1D126 }, + { 0x1D129, 0x1D1DD }, + { 0x1D200, 0x1D245 }, + { 0x1D300, 0x1D356 }, + { 0x1D360, 0x1D371 }, + { 0x1D6C1, 0x1D6C1 }, + { 0x1D6DB, 0x1D6DB }, + { 0x1D6FB, 0x1D6FB }, + { 0x1D715, 0x1D715 }, + { 0x1D735, 0x1D735 }, + { 0x1D74F, 0x1D74F }, + { 0x1D76F, 0x1D76F }, + { 0x1D789, 0x1D789 }, + { 0x1D7A9, 0x1D7A9 }, + { 0x1D7C3, 0x1D7C3 }, + { 0x1F000, 0x1F02B }, + { 0x1F030, 0x1F093 }, + { 0xE0001, 0xE0001 }, + { 0xE0020, 0xE007F }, + { 0xE0100, 0xE01EF }, + { 0xF0000, 0xFFFFD }, + { 0x100000, 0x10FFFD } + +#define PREDICATE(c) uc_is_punct (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-ctype_space.c b/tests/unictype/test-ctype_space.c new file mode 100644 index 00000000..c02fa963 --- /dev/null +++ b/tests/unictype/test-ctype_space.c @@ -0,0 +1,31 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0009, 0x000D }, + { 0x0020, 0x0020 }, + { 0x1680, 0x1680 }, + { 0x180E, 0x180E }, + { 0x2000, 0x2006 }, + { 0x2008, 0x200A }, + { 0x2028, 0x2029 }, + { 0x205F, 0x205F }, + { 0x3000, 0x3000 } + +#define PREDICATE(c) uc_is_space (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-ctype_upper.c b/tests/unictype/test-ctype_upper.c new file mode 100644 index 00000000..d7f0c035 --- /dev/null +++ b/tests/unictype/test-ctype_upper.c @@ -0,0 +1,576 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0041, 0x005A }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00DE }, + { 0x0100, 0x0100 }, + { 0x0102, 0x0102 }, + { 0x0104, 0x0104 }, + { 0x0106, 0x0106 }, + { 0x0108, 0x0108 }, + { 0x010A, 0x010A }, + { 0x010C, 0x010C }, + { 0x010E, 0x010E }, + { 0x0110, 0x0110 }, + { 0x0112, 0x0112 }, + { 0x0114, 0x0114 }, + { 0x0116, 0x0116 }, + { 0x0118, 0x0118 }, + { 0x011A, 0x011A }, + { 0x011C, 0x011C }, + { 0x011E, 0x011E }, + { 0x0120, 0x0120 }, + { 0x0122, 0x0122 }, + { 0x0124, 0x0124 }, + { 0x0126, 0x0126 }, + { 0x0128, 0x0128 }, + { 0x012A, 0x012A }, + { 0x012C, 0x012C }, + { 0x012E, 0x012E }, + { 0x0130, 0x0130 }, + { 0x0132, 0x0132 }, + { 0x0134, 0x0134 }, + { 0x0136, 0x0136 }, + { 0x0139, 0x0139 }, + { 0x013B, 0x013B }, + { 0x013D, 0x013D }, + { 0x013F, 0x013F }, + { 0x0141, 0x0141 }, + { 0x0143, 0x0143 }, + { 0x0145, 0x0145 }, + { 0x0147, 0x0147 }, + { 0x014A, 0x014A }, + { 0x014C, 0x014C }, + { 0x014E, 0x014E }, + { 0x0150, 0x0150 }, + { 0x0152, 0x0152 }, + { 0x0154, 0x0154 }, + { 0x0156, 0x0156 }, + { 0x0158, 0x0158 }, + { 0x015A, 0x015A }, + { 0x015C, 0x015C }, + { 0x015E, 0x015E }, + { 0x0160, 0x0160 }, + { 0x0162, 0x0162 }, + { 0x0164, 0x0164 }, + { 0x0166, 0x0166 }, + { 0x0168, 0x0168 }, + { 0x016A, 0x016A }, + { 0x016C, 0x016C }, + { 0x016E, 0x016E }, + { 0x0170, 0x0170 }, + { 0x0172, 0x0172 }, + { 0x0174, 0x0174 }, + { 0x0176, 0x0176 }, + { 0x0178, 0x0179 }, + { 0x017B, 0x017B }, + { 0x017D, 0x017D }, + { 0x0181, 0x0182 }, + { 0x0184, 0x0184 }, + { 0x0186, 0x0187 }, + { 0x0189, 0x018B }, + { 0x018E, 0x0191 }, + { 0x0193, 0x0194 }, + { 0x0196, 0x0198 }, + { 0x019C, 0x019D }, + { 0x019F, 0x01A0 }, + { 0x01A2, 0x01A2 }, + { 0x01A4, 0x01A4 }, + { 0x01A6, 0x01A7 }, + { 0x01A9, 0x01A9 }, + { 0x01AC, 0x01AC }, + { 0x01AE, 0x01AF }, + { 0x01B1, 0x01B3 }, + { 0x01B5, 0x01B5 }, + { 0x01B7, 0x01B8 }, + { 0x01BC, 0x01BC }, + { 0x01C4, 0x01C5 }, + { 0x01C7, 0x01C8 }, + { 0x01CA, 0x01CB }, + { 0x01CD, 0x01CD }, + { 0x01CF, 0x01CF }, + { 0x01D1, 0x01D1 }, + { 0x01D3, 0x01D3 }, + { 0x01D5, 0x01D5 }, + { 0x01D7, 0x01D7 }, + { 0x01D9, 0x01D9 }, + { 0x01DB, 0x01DB }, + { 0x01DE, 0x01DE }, + { 0x01E0, 0x01E0 }, + { 0x01E2, 0x01E2 }, + { 0x01E4, 0x01E4 }, + { 0x01E6, 0x01E6 }, + { 0x01E8, 0x01E8 }, + { 0x01EA, 0x01EA }, + { 0x01EC, 0x01EC }, + { 0x01EE, 0x01EE }, + { 0x01F1, 0x01F2 }, + { 0x01F4, 0x01F4 }, + { 0x01F6, 0x01F8 }, + { 0x01FA, 0x01FA }, + { 0x01FC, 0x01FC }, + { 0x01FE, 0x01FE }, + { 0x0200, 0x0200 }, + { 0x0202, 0x0202 }, + { 0x0204, 0x0204 }, + { 0x0206, 0x0206 }, + { 0x0208, 0x0208 }, + { 0x020A, 0x020A }, + { 0x020C, 0x020C }, + { 0x020E, 0x020E }, + { 0x0210, 0x0210 }, + { 0x0212, 0x0212 }, + { 0x0214, 0x0214 }, + { 0x0216, 0x0216 }, + { 0x0218, 0x0218 }, + { 0x021A, 0x021A }, + { 0x021C, 0x021C }, + { 0x021E, 0x021E }, + { 0x0220, 0x0220 }, + { 0x0222, 0x0222 }, + { 0x0224, 0x0224 }, + { 0x0226, 0x0226 }, + { 0x0228, 0x0228 }, + { 0x022A, 0x022A }, + { 0x022C, 0x022C }, + { 0x022E, 0x022E }, + { 0x0230, 0x0230 }, + { 0x0232, 0x0232 }, + { 0x023A, 0x023B }, + { 0x023D, 0x023E }, + { 0x0241, 0x0241 }, + { 0x0243, 0x0246 }, + { 0x0248, 0x0248 }, + { 0x024A, 0x024A }, + { 0x024C, 0x024C }, + { 0x024E, 0x024E }, + { 0x0370, 0x0370 }, + { 0x0372, 0x0372 }, + { 0x0376, 0x0376 }, + { 0x0386, 0x0386 }, + { 0x0388, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x038F }, + { 0x0391, 0x03A1 }, + { 0x03A3, 0x03AB }, + { 0x03CF, 0x03CF }, + { 0x03D8, 0x03D8 }, + { 0x03DA, 0x03DA }, + { 0x03DC, 0x03DC }, + { 0x03DE, 0x03DE }, + { 0x03E0, 0x03E0 }, + { 0x03E2, 0x03E2 }, + { 0x03E4, 0x03E4 }, + { 0x03E6, 0x03E6 }, + { 0x03E8, 0x03E8 }, + { 0x03EA, 0x03EA }, + { 0x03EC, 0x03EC }, + { 0x03EE, 0x03EE }, + { 0x03F4, 0x03F4 }, + { 0x03F7, 0x03F7 }, + { 0x03F9, 0x03FA }, + { 0x03FD, 0x042F }, + { 0x0460, 0x0460 }, + { 0x0462, 0x0462 }, + { 0x0464, 0x0464 }, + { 0x0466, 0x0466 }, + { 0x0468, 0x0468 }, + { 0x046A, 0x046A }, + { 0x046C, 0x046C }, + { 0x046E, 0x046E }, + { 0x0470, 0x0470 }, + { 0x0472, 0x0472 }, + { 0x0474, 0x0474 }, + { 0x0476, 0x0476 }, + { 0x0478, 0x0478 }, + { 0x047A, 0x047A }, + { 0x047C, 0x047C }, + { 0x047E, 0x047E }, + { 0x0480, 0x0480 }, + { 0x048A, 0x048A }, + { 0x048C, 0x048C }, + { 0x048E, 0x048E }, + { 0x0490, 0x0490 }, + { 0x0492, 0x0492 }, + { 0x0494, 0x0494 }, + { 0x0496, 0x0496 }, + { 0x0498, 0x0498 }, + { 0x049A, 0x049A }, + { 0x049C, 0x049C }, + { 0x049E, 0x049E }, + { 0x04A0, 0x04A0 }, + { 0x04A2, 0x04A2 }, + { 0x04A4, 0x04A4 }, + { 0x04A6, 0x04A6 }, + { 0x04A8, 0x04A8 }, + { 0x04AA, 0x04AA }, + { 0x04AC, 0x04AC }, + { 0x04AE, 0x04AE }, + { 0x04B0, 0x04B0 }, + { 0x04B2, 0x04B2 }, + { 0x04B4, 0x04B4 }, + { 0x04B6, 0x04B6 }, + { 0x04B8, 0x04B8 }, + { 0x04BA, 0x04BA }, + { 0x04BC, 0x04BC }, + { 0x04BE, 0x04BE }, + { 0x04C0, 0x04C1 }, + { 0x04C3, 0x04C3 }, + { 0x04C5, 0x04C5 }, + { 0x04C7, 0x04C7 }, + { 0x04C9, 0x04C9 }, + { 0x04CB, 0x04CB }, + { 0x04CD, 0x04CD }, + { 0x04D0, 0x04D0 }, + { 0x04D2, 0x04D2 }, + { 0x04D4, 0x04D4 }, + { 0x04D6, 0x04D6 }, + { 0x04D8, 0x04D8 }, + { 0x04DA, 0x04DA }, + { 0x04DC, 0x04DC }, + { 0x04DE, 0x04DE }, + { 0x04E0, 0x04E0 }, + { 0x04E2, 0x04E2 }, + { 0x04E4, 0x04E4 }, + { 0x04E6, 0x04E6 }, + { 0x04E8, 0x04E8 }, + { 0x04EA, 0x04EA }, + { 0x04EC, 0x04EC }, + { 0x04EE, 0x04EE }, + { 0x04F0, 0x04F0 }, + { 0x04F2, 0x04F2 }, + { 0x04F4, 0x04F4 }, + { 0x04F6, 0x04F6 }, + { 0x04F8, 0x04F8 }, + { 0x04FA, 0x04FA }, + { 0x04FC, 0x04FC }, + { 0x04FE, 0x04FE }, + { 0x0500, 0x0500 }, + { 0x0502, 0x0502 }, + { 0x0504, 0x0504 }, + { 0x0506, 0x0506 }, + { 0x0508, 0x0508 }, + { 0x050A, 0x050A }, + { 0x050C, 0x050C }, + { 0x050E, 0x050E }, + { 0x0510, 0x0510 }, + { 0x0512, 0x0512 }, + { 0x0514, 0x0514 }, + { 0x0516, 0x0516 }, + { 0x0518, 0x0518 }, + { 0x051A, 0x051A }, + { 0x051C, 0x051C }, + { 0x051E, 0x051E }, + { 0x0520, 0x0520 }, + { 0x0522, 0x0522 }, + { 0x0531, 0x0556 }, + { 0x10A0, 0x10C5 }, + { 0x1E00, 0x1E00 }, + { 0x1E02, 0x1E02 }, + { 0x1E04, 0x1E04 }, + { 0x1E06, 0x1E06 }, + { 0x1E08, 0x1E08 }, + { 0x1E0A, 0x1E0A }, + { 0x1E0C, 0x1E0C }, + { 0x1E0E, 0x1E0E }, + { 0x1E10, 0x1E10 }, + { 0x1E12, 0x1E12 }, + { 0x1E14, 0x1E14 }, + { 0x1E16, 0x1E16 }, + { 0x1E18, 0x1E18 }, + { 0x1E1A, 0x1E1A }, + { 0x1E1C, 0x1E1C }, + { 0x1E1E, 0x1E1E }, + { 0x1E20, 0x1E20 }, + { 0x1E22, 0x1E22 }, + { 0x1E24, 0x1E24 }, + { 0x1E26, 0x1E26 }, + { 0x1E28, 0x1E28 }, + { 0x1E2A, 0x1E2A }, + { 0x1E2C, 0x1E2C }, + { 0x1E2E, 0x1E2E }, + { 0x1E30, 0x1E30 }, + { 0x1E32, 0x1E32 }, + { 0x1E34, 0x1E34 }, + { 0x1E36, 0x1E36 }, + { 0x1E38, 0x1E38 }, + { 0x1E3A, 0x1E3A }, + { 0x1E3C, 0x1E3C }, + { 0x1E3E, 0x1E3E }, + { 0x1E40, 0x1E40 }, + { 0x1E42, 0x1E42 }, + { 0x1E44, 0x1E44 }, + { 0x1E46, 0x1E46 }, + { 0x1E48, 0x1E48 }, + { 0x1E4A, 0x1E4A }, + { 0x1E4C, 0x1E4C }, + { 0x1E4E, 0x1E4E }, + { 0x1E50, 0x1E50 }, + { 0x1E52, 0x1E52 }, + { 0x1E54, 0x1E54 }, + { 0x1E56, 0x1E56 }, + { 0x1E58, 0x1E58 }, + { 0x1E5A, 0x1E5A }, + { 0x1E5C, 0x1E5C }, + { 0x1E5E, 0x1E5E }, + { 0x1E60, 0x1E60 }, + { 0x1E62, 0x1E62 }, + { 0x1E64, 0x1E64 }, + { 0x1E66, 0x1E66 }, + { 0x1E68, 0x1E68 }, + { 0x1E6A, 0x1E6A }, + { 0x1E6C, 0x1E6C }, + { 0x1E6E, 0x1E6E }, + { 0x1E70, 0x1E70 }, + { 0x1E72, 0x1E72 }, + { 0x1E74, 0x1E74 }, + { 0x1E76, 0x1E76 }, + { 0x1E78, 0x1E78 }, + { 0x1E7A, 0x1E7A }, + { 0x1E7C, 0x1E7C }, + { 0x1E7E, 0x1E7E }, + { 0x1E80, 0x1E80 }, + { 0x1E82, 0x1E82 }, + { 0x1E84, 0x1E84 }, + { 0x1E86, 0x1E86 }, + { 0x1E88, 0x1E88 }, + { 0x1E8A, 0x1E8A }, + { 0x1E8C, 0x1E8C }, + { 0x1E8E, 0x1E8E }, + { 0x1E90, 0x1E90 }, + { 0x1E92, 0x1E92 }, + { 0x1E94, 0x1E94 }, + { 0x1E9E, 0x1E9E }, + { 0x1EA0, 0x1EA0 }, + { 0x1EA2, 0x1EA2 }, + { 0x1EA4, 0x1EA4 }, + { 0x1EA6, 0x1EA6 }, + { 0x1EA8, 0x1EA8 }, + { 0x1EAA, 0x1EAA }, + { 0x1EAC, 0x1EAC }, + { 0x1EAE, 0x1EAE }, + { 0x1EB0, 0x1EB0 }, + { 0x1EB2, 0x1EB2 }, + { 0x1EB4, 0x1EB4 }, + { 0x1EB6, 0x1EB6 }, + { 0x1EB8, 0x1EB8 }, + { 0x1EBA, 0x1EBA }, + { 0x1EBC, 0x1EBC }, + { 0x1EBE, 0x1EBE }, + { 0x1EC0, 0x1EC0 }, + { 0x1EC2, 0x1EC2 }, + { 0x1EC4, 0x1EC4 }, + { 0x1EC6, 0x1EC6 }, + { 0x1EC8, 0x1EC8 }, + { 0x1ECA, 0x1ECA }, + { 0x1ECC, 0x1ECC }, + { 0x1ECE, 0x1ECE }, + { 0x1ED0, 0x1ED0 }, + { 0x1ED2, 0x1ED2 }, + { 0x1ED4, 0x1ED4 }, + { 0x1ED6, 0x1ED6 }, + { 0x1ED8, 0x1ED8 }, + { 0x1EDA, 0x1EDA }, + { 0x1EDC, 0x1EDC }, + { 0x1EDE, 0x1EDE }, + { 0x1EE0, 0x1EE0 }, + { 0x1EE2, 0x1EE2 }, + { 0x1EE4, 0x1EE4 }, + { 0x1EE6, 0x1EE6 }, + { 0x1EE8, 0x1EE8 }, + { 0x1EEA, 0x1EEA }, + { 0x1EEC, 0x1EEC }, + { 0x1EEE, 0x1EEE }, + { 0x1EF0, 0x1EF0 }, + { 0x1EF2, 0x1EF2 }, + { 0x1EF4, 0x1EF4 }, + { 0x1EF6, 0x1EF6 }, + { 0x1EF8, 0x1EF8 }, + { 0x1EFA, 0x1EFA }, + { 0x1EFC, 0x1EFC }, + { 0x1EFE, 0x1EFE }, + { 0x1F08, 0x1F0F }, + { 0x1F18, 0x1F1D }, + { 0x1F28, 0x1F2F }, + { 0x1F38, 0x1F3F }, + { 0x1F48, 0x1F4D }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F5F }, + { 0x1F68, 0x1F6F }, + { 0x1F88, 0x1F8F }, + { 0x1F98, 0x1F9F }, + { 0x1FA8, 0x1FAF }, + { 0x1FB8, 0x1FBC }, + { 0x1FC8, 0x1FCC }, + { 0x1FD8, 0x1FDB }, + { 0x1FE8, 0x1FEC }, + { 0x1FF8, 0x1FFC }, + { 0x2126, 0x2126 }, + { 0x212A, 0x212B }, + { 0x2132, 0x2132 }, + { 0x2160, 0x216F }, + { 0x2183, 0x2183 }, + { 0x24B6, 0x24CF }, + { 0x2C00, 0x2C2E }, + { 0x2C60, 0x2C60 }, + { 0x2C62, 0x2C64 }, + { 0x2C67, 0x2C67 }, + { 0x2C69, 0x2C69 }, + { 0x2C6B, 0x2C6B }, + { 0x2C6D, 0x2C6F }, + { 0x2C72, 0x2C72 }, + { 0x2C75, 0x2C75 }, + { 0x2C80, 0x2C80 }, + { 0x2C82, 0x2C82 }, + { 0x2C84, 0x2C84 }, + { 0x2C86, 0x2C86 }, + { 0x2C88, 0x2C88 }, + { 0x2C8A, 0x2C8A }, + { 0x2C8C, 0x2C8C }, + { 0x2C8E, 0x2C8E }, + { 0x2C90, 0x2C90 }, + { 0x2C92, 0x2C92 }, + { 0x2C94, 0x2C94 }, + { 0x2C96, 0x2C96 }, + { 0x2C98, 0x2C98 }, + { 0x2C9A, 0x2C9A }, + { 0x2C9C, 0x2C9C }, + { 0x2C9E, 0x2C9E }, + { 0x2CA0, 0x2CA0 }, + { 0x2CA2, 0x2CA2 }, + { 0x2CA4, 0x2CA4 }, + { 0x2CA6, 0x2CA6 }, + { 0x2CA8, 0x2CA8 }, + { 0x2CAA, 0x2CAA }, + { 0x2CAC, 0x2CAC }, + { 0x2CAE, 0x2CAE }, + { 0x2CB0, 0x2CB0 }, + { 0x2CB2, 0x2CB2 }, + { 0x2CB4, 0x2CB4 }, + { 0x2CB6, 0x2CB6 }, + { 0x2CB8, 0x2CB8 }, + { 0x2CBA, 0x2CBA }, + { 0x2CBC, 0x2CBC }, + { 0x2CBE, 0x2CBE }, + { 0x2CC0, 0x2CC0 }, + { 0x2CC2, 0x2CC2 }, + { 0x2CC4, 0x2CC4 }, + { 0x2CC6, 0x2CC6 }, + { 0x2CC8, 0x2CC8 }, + { 0x2CCA, 0x2CCA }, + { 0x2CCC, 0x2CCC }, + { 0x2CCE, 0x2CCE }, + { 0x2CD0, 0x2CD0 }, + { 0x2CD2, 0x2CD2 }, + { 0x2CD4, 0x2CD4 }, + { 0x2CD6, 0x2CD6 }, + { 0x2CD8, 0x2CD8 }, + { 0x2CDA, 0x2CDA }, + { 0x2CDC, 0x2CDC }, + { 0x2CDE, 0x2CDE }, + { 0x2CE0, 0x2CE0 }, + { 0x2CE2, 0x2CE2 }, + { 0xA640, 0xA640 }, + { 0xA642, 0xA642 }, + { 0xA644, 0xA644 }, + { 0xA646, 0xA646 }, + { 0xA648, 0xA648 }, + { 0xA64A, 0xA64A }, + { 0xA64C, 0xA64C }, + { 0xA64E, 0xA64E }, + { 0xA650, 0xA650 }, + { 0xA652, 0xA652 }, + { 0xA654, 0xA654 }, + { 0xA656, 0xA656 }, + { 0xA658, 0xA658 }, + { 0xA65A, 0xA65A }, + { 0xA65C, 0xA65C }, + { 0xA65E, 0xA65E }, + { 0xA662, 0xA662 }, + { 0xA664, 0xA664 }, + { 0xA666, 0xA666 }, + { 0xA668, 0xA668 }, + { 0xA66A, 0xA66A }, + { 0xA66C, 0xA66C }, + { 0xA680, 0xA680 }, + { 0xA682, 0xA682 }, + { 0xA684, 0xA684 }, + { 0xA686, 0xA686 }, + { 0xA688, 0xA688 }, + { 0xA68A, 0xA68A }, + { 0xA68C, 0xA68C }, + { 0xA68E, 0xA68E }, + { 0xA690, 0xA690 }, + { 0xA692, 0xA692 }, + { 0xA694, 0xA694 }, + { 0xA696, 0xA696 }, + { 0xA722, 0xA722 }, + { 0xA724, 0xA724 }, + { 0xA726, 0xA726 }, + { 0xA728, 0xA728 }, + { 0xA72A, 0xA72A }, + { 0xA72C, 0xA72C }, + { 0xA72E, 0xA72E }, + { 0xA732, 0xA732 }, + { 0xA734, 0xA734 }, + { 0xA736, 0xA736 }, + { 0xA738, 0xA738 }, + { 0xA73A, 0xA73A }, + { 0xA73C, 0xA73C }, + { 0xA73E, 0xA73E }, + { 0xA740, 0xA740 }, + { 0xA742, 0xA742 }, + { 0xA744, 0xA744 }, + { 0xA746, 0xA746 }, + { 0xA748, 0xA748 }, + { 0xA74A, 0xA74A }, + { 0xA74C, 0xA74C }, + { 0xA74E, 0xA74E }, + { 0xA750, 0xA750 }, + { 0xA752, 0xA752 }, + { 0xA754, 0xA754 }, + { 0xA756, 0xA756 }, + { 0xA758, 0xA758 }, + { 0xA75A, 0xA75A }, + { 0xA75C, 0xA75C }, + { 0xA75E, 0xA75E }, + { 0xA760, 0xA760 }, + { 0xA762, 0xA762 }, + { 0xA764, 0xA764 }, + { 0xA766, 0xA766 }, + { 0xA768, 0xA768 }, + { 0xA76A, 0xA76A }, + { 0xA76C, 0xA76C }, + { 0xA76E, 0xA76E }, + { 0xA779, 0xA779 }, + { 0xA77B, 0xA77B }, + { 0xA77D, 0xA77E }, + { 0xA780, 0xA780 }, + { 0xA782, 0xA782 }, + { 0xA784, 0xA784 }, + { 0xA786, 0xA786 }, + { 0xA78B, 0xA78B }, + { 0xFF21, 0xFF3A }, + { 0x10400, 0x10427 } + +#define PREDICATE(c) uc_is_upper (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-ctype_xdigit.c b/tests/unictype/test-ctype_xdigit.c new file mode 100644 index 00000000..d4e57178 --- /dev/null +++ b/tests/unictype/test-ctype_xdigit.c @@ -0,0 +1,25 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 }, + { 0x0041, 0x0046 }, + { 0x0061, 0x0066 } + +#define PREDICATE(c) uc_is_xdigit (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-decdigit.c b/tests/unictype/test-decdigit.c new file mode 100644 index 00000000..3d916908 --- /dev/null +++ b/tests/unictype/test-decdigit.c @@ -0,0 +1,62 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) +#define SIZEOF(a) (sizeof(a) / sizeof(a[0])) + +static const struct { unsigned int ch; int value; } mapping[] = + { +#include "test-decdigit.h" + }; + +int +main () +{ + unsigned int c; + size_t i; + + c = 0; + for (i = 0; i < SIZEOF (mapping); i++) + { + for (; c < mapping[i].ch; c++) + ASSERT (uc_decimal_value (c) == -1); + /* Here c = mapping[i].ch. */ + ASSERT (uc_decimal_value (c) == mapping[i].value); + c++; + } + for (; c < 0x110000; c++) + ASSERT (uc_decimal_value (c) == -1); + + return 0; +} diff --git a/tests/unictype/test-decdigit.h b/tests/unictype/test-decdigit.h new file mode 100644 index 00000000..afa88de7 --- /dev/null +++ b/tests/unictype/test-decdigit.h @@ -0,0 +1,373 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Decimal digit values of Unicode characters. */ +/* Generated automatically by gen-ctype.c for Unicode 5.1.0. */ + { 0x0030, 0 }, + { 0x0031, 1 }, + { 0x0032, 2 }, + { 0x0033, 3 }, + { 0x0034, 4 }, + { 0x0035, 5 }, + { 0x0036, 6 }, + { 0x0037, 7 }, + { 0x0038, 8 }, + { 0x0039, 9 }, + { 0x0660, 0 }, + { 0x0661, 1 }, + { 0x0662, 2 }, + { 0x0663, 3 }, + { 0x0664, 4 }, + { 0x0665, 5 }, + { 0x0666, 6 }, + { 0x0667, 7 }, + { 0x0668, 8 }, + { 0x0669, 9 }, + { 0x06F0, 0 }, + { 0x06F1, 1 }, + { 0x06F2, 2 }, + { 0x06F3, 3 }, + { 0x06F4, 4 }, + { 0x06F5, 5 }, + { 0x06F6, 6 }, + { 0x06F7, 7 }, + { 0x06F8, 8 }, + { 0x06F9, 9 }, + { 0x07C0, 0 }, + { 0x07C1, 1 }, + { 0x07C2, 2 }, + { 0x07C3, 3 }, + { 0x07C4, 4 }, + { 0x07C5, 5 }, + { 0x07C6, 6 }, + { 0x07C7, 7 }, + { 0x07C8, 8 }, + { 0x07C9, 9 }, + { 0x0966, 0 }, + { 0x0967, 1 }, + { 0x0968, 2 }, + { 0x0969, 3 }, + { 0x096A, 4 }, + { 0x096B, 5 }, + { 0x096C, 6 }, + { 0x096D, 7 }, + { 0x096E, 8 }, + { 0x096F, 9 }, + { 0x09E6, 0 }, + { 0x09E7, 1 }, + { 0x09E8, 2 }, + { 0x09E9, 3 }, + { 0x09EA, 4 }, + { 0x09EB, 5 }, + { 0x09EC, 6 }, + { 0x09ED, 7 }, + { 0x09EE, 8 }, + { 0x09EF, 9 }, + { 0x0A66, 0 }, + { 0x0A67, 1 }, + { 0x0A68, 2 }, + { 0x0A69, 3 }, + { 0x0A6A, 4 }, + { 0x0A6B, 5 }, + { 0x0A6C, 6 }, + { 0x0A6D, 7 }, + { 0x0A6E, 8 }, + { 0x0A6F, 9 }, + { 0x0AE6, 0 }, + { 0x0AE7, 1 }, + { 0x0AE8, 2 }, + { 0x0AE9, 3 }, + { 0x0AEA, 4 }, + { 0x0AEB, 5 }, + { 0x0AEC, 6 }, + { 0x0AED, 7 }, + { 0x0AEE, 8 }, + { 0x0AEF, 9 }, + { 0x0B66, 0 }, + { 0x0B67, 1 }, + { 0x0B68, 2 }, + { 0x0B69, 3 }, + { 0x0B6A, 4 }, + { 0x0B6B, 5 }, + { 0x0B6C, 6 }, + { 0x0B6D, 7 }, + { 0x0B6E, 8 }, + { 0x0B6F, 9 }, + { 0x0BE6, 0 }, + { 0x0BE7, 1 }, + { 0x0BE8, 2 }, + { 0x0BE9, 3 }, + { 0x0BEA, 4 }, + { 0x0BEB, 5 }, + { 0x0BEC, 6 }, + { 0x0BED, 7 }, + { 0x0BEE, 8 }, + { 0x0BEF, 9 }, + { 0x0C66, 0 }, + { 0x0C67, 1 }, + { 0x0C68, 2 }, + { 0x0C69, 3 }, + { 0x0C6A, 4 }, + { 0x0C6B, 5 }, + { 0x0C6C, 6 }, + { 0x0C6D, 7 }, + { 0x0C6E, 8 }, + { 0x0C6F, 9 }, + { 0x0CE6, 0 }, + { 0x0CE7, 1 }, + { 0x0CE8, 2 }, + { 0x0CE9, 3 }, + { 0x0CEA, 4 }, + { 0x0CEB, 5 }, + { 0x0CEC, 6 }, + { 0x0CED, 7 }, + { 0x0CEE, 8 }, + { 0x0CEF, 9 }, + { 0x0D66, 0 }, + { 0x0D67, 1 }, + { 0x0D68, 2 }, + { 0x0D69, 3 }, + { 0x0D6A, 4 }, + { 0x0D6B, 5 }, + { 0x0D6C, 6 }, + { 0x0D6D, 7 }, + { 0x0D6E, 8 }, + { 0x0D6F, 9 }, + { 0x0E50, 0 }, + { 0x0E51, 1 }, + { 0x0E52, 2 }, + { 0x0E53, 3 }, + { 0x0E54, 4 }, + { 0x0E55, 5 }, + { 0x0E56, 6 }, + { 0x0E57, 7 }, + { 0x0E58, 8 }, + { 0x0E59, 9 }, + { 0x0ED0, 0 }, + { 0x0ED1, 1 }, + { 0x0ED2, 2 }, + { 0x0ED3, 3 }, + { 0x0ED4, 4 }, + { 0x0ED5, 5 }, + { 0x0ED6, 6 }, + { 0x0ED7, 7 }, + { 0x0ED8, 8 }, + { 0x0ED9, 9 }, + { 0x0F20, 0 }, + { 0x0F21, 1 }, + { 0x0F22, 2 }, + { 0x0F23, 3 }, + { 0x0F24, 4 }, + { 0x0F25, 5 }, + { 0x0F26, 6 }, + { 0x0F27, 7 }, + { 0x0F28, 8 }, + { 0x0F29, 9 }, + { 0x1040, 0 }, + { 0x1041, 1 }, + { 0x1042, 2 }, + { 0x1043, 3 }, + { 0x1044, 4 }, + { 0x1045, 5 }, + { 0x1046, 6 }, + { 0x1047, 7 }, + { 0x1048, 8 }, + { 0x1049, 9 }, + { 0x1090, 0 }, + { 0x1091, 1 }, + { 0x1092, 2 }, + { 0x1093, 3 }, + { 0x1094, 4 }, + { 0x1095, 5 }, + { 0x1096, 6 }, + { 0x1097, 7 }, + { 0x1098, 8 }, + { 0x1099, 9 }, + { 0x17E0, 0 }, + { 0x17E1, 1 }, + { 0x17E2, 2 }, + { 0x17E3, 3 }, + { 0x17E4, 4 }, + { 0x17E5, 5 }, + { 0x17E6, 6 }, + { 0x17E7, 7 }, + { 0x17E8, 8 }, + { 0x17E9, 9 }, + { 0x1810, 0 }, + { 0x1811, 1 }, + { 0x1812, 2 }, + { 0x1813, 3 }, + { 0x1814, 4 }, + { 0x1815, 5 }, + { 0x1816, 6 }, + { 0x1817, 7 }, + { 0x1818, 8 }, + { 0x1819, 9 }, + { 0x1946, 0 }, + { 0x1947, 1 }, + { 0x1948, 2 }, + { 0x1949, 3 }, + { 0x194A, 4 }, + { 0x194B, 5 }, + { 0x194C, 6 }, + { 0x194D, 7 }, + { 0x194E, 8 }, + { 0x194F, 9 }, + { 0x19D0, 0 }, + { 0x19D1, 1 }, + { 0x19D2, 2 }, + { 0x19D3, 3 }, + { 0x19D4, 4 }, + { 0x19D5, 5 }, + { 0x19D6, 6 }, + { 0x19D7, 7 }, + { 0x19D8, 8 }, + { 0x19D9, 9 }, + { 0x1B50, 0 }, + { 0x1B51, 1 }, + { 0x1B52, 2 }, + { 0x1B53, 3 }, + { 0x1B54, 4 }, + { 0x1B55, 5 }, + { 0x1B56, 6 }, + { 0x1B57, 7 }, + { 0x1B58, 8 }, + { 0x1B59, 9 }, + { 0x1BB0, 0 }, + { 0x1BB1, 1 }, + { 0x1BB2, 2 }, + { 0x1BB3, 3 }, + { 0x1BB4, 4 }, + { 0x1BB5, 5 }, + { 0x1BB6, 6 }, + { 0x1BB7, 7 }, + { 0x1BB8, 8 }, + { 0x1BB9, 9 }, + { 0x1C40, 0 }, + { 0x1C41, 1 }, + { 0x1C42, 2 }, + { 0x1C43, 3 }, + { 0x1C44, 4 }, + { 0x1C45, 5 }, + { 0x1C46, 6 }, + { 0x1C47, 7 }, + { 0x1C48, 8 }, + { 0x1C49, 9 }, + { 0x1C50, 0 }, + { 0x1C51, 1 }, + { 0x1C52, 2 }, + { 0x1C53, 3 }, + { 0x1C54, 4 }, + { 0x1C55, 5 }, + { 0x1C56, 6 }, + { 0x1C57, 7 }, + { 0x1C58, 8 }, + { 0x1C59, 9 }, + { 0xA620, 0 }, + { 0xA621, 1 }, + { 0xA622, 2 }, + { 0xA623, 3 }, + { 0xA624, 4 }, + { 0xA625, 5 }, + { 0xA626, 6 }, + { 0xA627, 7 }, + { 0xA628, 8 }, + { 0xA629, 9 }, + { 0xA8D0, 0 }, + { 0xA8D1, 1 }, + { 0xA8D2, 2 }, + { 0xA8D3, 3 }, + { 0xA8D4, 4 }, + { 0xA8D5, 5 }, + { 0xA8D6, 6 }, + { 0xA8D7, 7 }, + { 0xA8D8, 8 }, + { 0xA8D9, 9 }, + { 0xA900, 0 }, + { 0xA901, 1 }, + { 0xA902, 2 }, + { 0xA903, 3 }, + { 0xA904, 4 }, + { 0xA905, 5 }, + { 0xA906, 6 }, + { 0xA907, 7 }, + { 0xA908, 8 }, + { 0xA909, 9 }, + { 0xAA50, 0 }, + { 0xAA51, 1 }, + { 0xAA52, 2 }, + { 0xAA53, 3 }, + { 0xAA54, 4 }, + { 0xAA55, 5 }, + { 0xAA56, 6 }, + { 0xAA57, 7 }, + { 0xAA58, 8 }, + { 0xAA59, 9 }, + { 0xFF10, 0 }, + { 0xFF11, 1 }, + { 0xFF12, 2 }, + { 0xFF13, 3 }, + { 0xFF14, 4 }, + { 0xFF15, 5 }, + { 0xFF16, 6 }, + { 0xFF17, 7 }, + { 0xFF18, 8 }, + { 0xFF19, 9 }, + { 0x104A0, 0 }, + { 0x104A1, 1 }, + { 0x104A2, 2 }, + { 0x104A3, 3 }, + { 0x104A4, 4 }, + { 0x104A5, 5 }, + { 0x104A6, 6 }, + { 0x104A7, 7 }, + { 0x104A8, 8 }, + { 0x104A9, 9 }, + { 0x1D7CE, 0 }, + { 0x1D7CF, 1 }, + { 0x1D7D0, 2 }, + { 0x1D7D1, 3 }, + { 0x1D7D2, 4 }, + { 0x1D7D3, 5 }, + { 0x1D7D4, 6 }, + { 0x1D7D5, 7 }, + { 0x1D7D6, 8 }, + { 0x1D7D7, 9 }, + { 0x1D7D8, 0 }, + { 0x1D7D9, 1 }, + { 0x1D7DA, 2 }, + { 0x1D7DB, 3 }, + { 0x1D7DC, 4 }, + { 0x1D7DD, 5 }, + { 0x1D7DE, 6 }, + { 0x1D7DF, 7 }, + { 0x1D7E0, 8 }, + { 0x1D7E1, 9 }, + { 0x1D7E2, 0 }, + { 0x1D7E3, 1 }, + { 0x1D7E4, 2 }, + { 0x1D7E5, 3 }, + { 0x1D7E6, 4 }, + { 0x1D7E7, 5 }, + { 0x1D7E8, 6 }, + { 0x1D7E9, 7 }, + { 0x1D7EA, 8 }, + { 0x1D7EB, 9 }, + { 0x1D7EC, 0 }, + { 0x1D7ED, 1 }, + { 0x1D7EE, 2 }, + { 0x1D7EF, 3 }, + { 0x1D7F0, 4 }, + { 0x1D7F1, 5 }, + { 0x1D7F2, 6 }, + { 0x1D7F3, 7 }, + { 0x1D7F4, 8 }, + { 0x1D7F5, 9 }, + { 0x1D7F6, 0 }, + { 0x1D7F7, 1 }, + { 0x1D7F8, 2 }, + { 0x1D7F9, 3 }, + { 0x1D7FA, 4 }, + { 0x1D7FB, 5 }, + { 0x1D7FC, 6 }, + { 0x1D7FD, 7 }, + { 0x1D7FE, 8 }, + { 0x1D7FF, 9 } diff --git a/tests/unictype/test-digit.c b/tests/unictype/test-digit.c new file mode 100644 index 00000000..efecaaba --- /dev/null +++ b/tests/unictype/test-digit.c @@ -0,0 +1,62 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) +#define SIZEOF(a) (sizeof(a) / sizeof(a[0])) + +static const struct { unsigned int ch; int value; } mapping[] = + { +#include "test-digit.h" + }; + +int +main () +{ + unsigned int c; + size_t i; + + c = 0; + for (i = 0; i < SIZEOF (mapping); i++) + { + for (; c < mapping[i].ch; c++) + ASSERT (uc_digit_value (c) == -1); + /* Here c = mapping[i].ch. */ + ASSERT (uc_digit_value (c) == mapping[i].value); + c++; + } + for (; c < 0x110000; c++) + ASSERT (uc_digit_value (c) == -1); + + return 0; +} diff --git a/tests/unictype/test-digit.h b/tests/unictype/test-digit.h new file mode 100644 index 00000000..9902a7fe --- /dev/null +++ b/tests/unictype/test-digit.h @@ -0,0 +1,471 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Digit values of Unicode characters. */ +/* Generated automatically by gen-ctype.c for Unicode 5.1.0. */ + { 0x0030, 0 }, + { 0x0031, 1 }, + { 0x0032, 2 }, + { 0x0033, 3 }, + { 0x0034, 4 }, + { 0x0035, 5 }, + { 0x0036, 6 }, + { 0x0037, 7 }, + { 0x0038, 8 }, + { 0x0039, 9 }, + { 0x00B2, 2 }, + { 0x00B3, 3 }, + { 0x00B9, 1 }, + { 0x0660, 0 }, + { 0x0661, 1 }, + { 0x0662, 2 }, + { 0x0663, 3 }, + { 0x0664, 4 }, + { 0x0665, 5 }, + { 0x0666, 6 }, + { 0x0667, 7 }, + { 0x0668, 8 }, + { 0x0669, 9 }, + { 0x06F0, 0 }, + { 0x06F1, 1 }, + { 0x06F2, 2 }, + { 0x06F3, 3 }, + { 0x06F4, 4 }, + { 0x06F5, 5 }, + { 0x06F6, 6 }, + { 0x06F7, 7 }, + { 0x06F8, 8 }, + { 0x06F9, 9 }, + { 0x07C0, 0 }, + { 0x07C1, 1 }, + { 0x07C2, 2 }, + { 0x07C3, 3 }, + { 0x07C4, 4 }, + { 0x07C5, 5 }, + { 0x07C6, 6 }, + { 0x07C7, 7 }, + { 0x07C8, 8 }, + { 0x07C9, 9 }, + { 0x0966, 0 }, + { 0x0967, 1 }, + { 0x0968, 2 }, + { 0x0969, 3 }, + { 0x096A, 4 }, + { 0x096B, 5 }, + { 0x096C, 6 }, + { 0x096D, 7 }, + { 0x096E, 8 }, + { 0x096F, 9 }, + { 0x09E6, 0 }, + { 0x09E7, 1 }, + { 0x09E8, 2 }, + { 0x09E9, 3 }, + { 0x09EA, 4 }, + { 0x09EB, 5 }, + { 0x09EC, 6 }, + { 0x09ED, 7 }, + { 0x09EE, 8 }, + { 0x09EF, 9 }, + { 0x0A66, 0 }, + { 0x0A67, 1 }, + { 0x0A68, 2 }, + { 0x0A69, 3 }, + { 0x0A6A, 4 }, + { 0x0A6B, 5 }, + { 0x0A6C, 6 }, + { 0x0A6D, 7 }, + { 0x0A6E, 8 }, + { 0x0A6F, 9 }, + { 0x0AE6, 0 }, + { 0x0AE7, 1 }, + { 0x0AE8, 2 }, + { 0x0AE9, 3 }, + { 0x0AEA, 4 }, + { 0x0AEB, 5 }, + { 0x0AEC, 6 }, + { 0x0AED, 7 }, + { 0x0AEE, 8 }, + { 0x0AEF, 9 }, + { 0x0B66, 0 }, + { 0x0B67, 1 }, + { 0x0B68, 2 }, + { 0x0B69, 3 }, + { 0x0B6A, 4 }, + { 0x0B6B, 5 }, + { 0x0B6C, 6 }, + { 0x0B6D, 7 }, + { 0x0B6E, 8 }, + { 0x0B6F, 9 }, + { 0x0BE6, 0 }, + { 0x0BE7, 1 }, + { 0x0BE8, 2 }, + { 0x0BE9, 3 }, + { 0x0BEA, 4 }, + { 0x0BEB, 5 }, + { 0x0BEC, 6 }, + { 0x0BED, 7 }, + { 0x0BEE, 8 }, + { 0x0BEF, 9 }, + { 0x0C66, 0 }, + { 0x0C67, 1 }, + { 0x0C68, 2 }, + { 0x0C69, 3 }, + { 0x0C6A, 4 }, + { 0x0C6B, 5 }, + { 0x0C6C, 6 }, + { 0x0C6D, 7 }, + { 0x0C6E, 8 }, + { 0x0C6F, 9 }, + { 0x0CE6, 0 }, + { 0x0CE7, 1 }, + { 0x0CE8, 2 }, + { 0x0CE9, 3 }, + { 0x0CEA, 4 }, + { 0x0CEB, 5 }, + { 0x0CEC, 6 }, + { 0x0CED, 7 }, + { 0x0CEE, 8 }, + { 0x0CEF, 9 }, + { 0x0D66, 0 }, + { 0x0D67, 1 }, + { 0x0D68, 2 }, + { 0x0D69, 3 }, + { 0x0D6A, 4 }, + { 0x0D6B, 5 }, + { 0x0D6C, 6 }, + { 0x0D6D, 7 }, + { 0x0D6E, 8 }, + { 0x0D6F, 9 }, + { 0x0E50, 0 }, + { 0x0E51, 1 }, + { 0x0E52, 2 }, + { 0x0E53, 3 }, + { 0x0E54, 4 }, + { 0x0E55, 5 }, + { 0x0E56, 6 }, + { 0x0E57, 7 }, + { 0x0E58, 8 }, + { 0x0E59, 9 }, + { 0x0ED0, 0 }, + { 0x0ED1, 1 }, + { 0x0ED2, 2 }, + { 0x0ED3, 3 }, + { 0x0ED4, 4 }, + { 0x0ED5, 5 }, + { 0x0ED6, 6 }, + { 0x0ED7, 7 }, + { 0x0ED8, 8 }, + { 0x0ED9, 9 }, + { 0x0F20, 0 }, + { 0x0F21, 1 }, + { 0x0F22, 2 }, + { 0x0F23, 3 }, + { 0x0F24, 4 }, + { 0x0F25, 5 }, + { 0x0F26, 6 }, + { 0x0F27, 7 }, + { 0x0F28, 8 }, + { 0x0F29, 9 }, + { 0x1040, 0 }, + { 0x1041, 1 }, + { 0x1042, 2 }, + { 0x1043, 3 }, + { 0x1044, 4 }, + { 0x1045, 5 }, + { 0x1046, 6 }, + { 0x1047, 7 }, + { 0x1048, 8 }, + { 0x1049, 9 }, + { 0x1090, 0 }, + { 0x1091, 1 }, + { 0x1092, 2 }, + { 0x1093, 3 }, + { 0x1094, 4 }, + { 0x1095, 5 }, + { 0x1096, 6 }, + { 0x1097, 7 }, + { 0x1098, 8 }, + { 0x1099, 9 }, + { 0x1369, 1 }, + { 0x136A, 2 }, + { 0x136B, 3 }, + { 0x136C, 4 }, + { 0x136D, 5 }, + { 0x136E, 6 }, + { 0x136F, 7 }, + { 0x1370, 8 }, + { 0x1371, 9 }, + { 0x17E0, 0 }, + { 0x17E1, 1 }, + { 0x17E2, 2 }, + { 0x17E3, 3 }, + { 0x17E4, 4 }, + { 0x17E5, 5 }, + { 0x17E6, 6 }, + { 0x17E7, 7 }, + { 0x17E8, 8 }, + { 0x17E9, 9 }, + { 0x1810, 0 }, + { 0x1811, 1 }, + { 0x1812, 2 }, + { 0x1813, 3 }, + { 0x1814, 4 }, + { 0x1815, 5 }, + { 0x1816, 6 }, + { 0x1817, 7 }, + { 0x1818, 8 }, + { 0x1819, 9 }, + { 0x1946, 0 }, + { 0x1947, 1 }, + { 0x1948, 2 }, + { 0x1949, 3 }, + { 0x194A, 4 }, + { 0x194B, 5 }, + { 0x194C, 6 }, + { 0x194D, 7 }, + { 0x194E, 8 }, + { 0x194F, 9 }, + { 0x19D0, 0 }, + { 0x19D1, 1 }, + { 0x19D2, 2 }, + { 0x19D3, 3 }, + { 0x19D4, 4 }, + { 0x19D5, 5 }, + { 0x19D6, 6 }, + { 0x19D7, 7 }, + { 0x19D8, 8 }, + { 0x19D9, 9 }, + { 0x1B50, 0 }, + { 0x1B51, 1 }, + { 0x1B52, 2 }, + { 0x1B53, 3 }, + { 0x1B54, 4 }, + { 0x1B55, 5 }, + { 0x1B56, 6 }, + { 0x1B57, 7 }, + { 0x1B58, 8 }, + { 0x1B59, 9 }, + { 0x1BB0, 0 }, + { 0x1BB1, 1 }, + { 0x1BB2, 2 }, + { 0x1BB3, 3 }, + { 0x1BB4, 4 }, + { 0x1BB5, 5 }, + { 0x1BB6, 6 }, + { 0x1BB7, 7 }, + { 0x1BB8, 8 }, + { 0x1BB9, 9 }, + { 0x1C40, 0 }, + { 0x1C41, 1 }, + { 0x1C42, 2 }, + { 0x1C43, 3 }, + { 0x1C44, 4 }, + { 0x1C45, 5 }, + { 0x1C46, 6 }, + { 0x1C47, 7 }, + { 0x1C48, 8 }, + { 0x1C49, 9 }, + { 0x1C50, 0 }, + { 0x1C51, 1 }, + { 0x1C52, 2 }, + { 0x1C53, 3 }, + { 0x1C54, 4 }, + { 0x1C55, 5 }, + { 0x1C56, 6 }, + { 0x1C57, 7 }, + { 0x1C58, 8 }, + { 0x1C59, 9 }, + { 0x2070, 0 }, + { 0x2074, 4 }, + { 0x2075, 5 }, + { 0x2076, 6 }, + { 0x2077, 7 }, + { 0x2078, 8 }, + { 0x2079, 9 }, + { 0x2080, 0 }, + { 0x2081, 1 }, + { 0x2082, 2 }, + { 0x2083, 3 }, + { 0x2084, 4 }, + { 0x2085, 5 }, + { 0x2086, 6 }, + { 0x2087, 7 }, + { 0x2088, 8 }, + { 0x2089, 9 }, + { 0x2460, 1 }, + { 0x2461, 2 }, + { 0x2462, 3 }, + { 0x2463, 4 }, + { 0x2464, 5 }, + { 0x2465, 6 }, + { 0x2466, 7 }, + { 0x2467, 8 }, + { 0x2468, 9 }, + { 0x2474, 1 }, + { 0x2475, 2 }, + { 0x2476, 3 }, + { 0x2477, 4 }, + { 0x2478, 5 }, + { 0x2479, 6 }, + { 0x247A, 7 }, + { 0x247B, 8 }, + { 0x247C, 9 }, + { 0x2488, 1 }, + { 0x2489, 2 }, + { 0x248A, 3 }, + { 0x248B, 4 }, + { 0x248C, 5 }, + { 0x248D, 6 }, + { 0x248E, 7 }, + { 0x248F, 8 }, + { 0x2490, 9 }, + { 0x24EA, 0 }, + { 0x24F5, 1 }, + { 0x24F6, 2 }, + { 0x24F7, 3 }, + { 0x24F8, 4 }, + { 0x24F9, 5 }, + { 0x24FA, 6 }, + { 0x24FB, 7 }, + { 0x24FC, 8 }, + { 0x24FD, 9 }, + { 0x24FF, 0 }, + { 0x2776, 1 }, + { 0x2777, 2 }, + { 0x2778, 3 }, + { 0x2779, 4 }, + { 0x277A, 5 }, + { 0x277B, 6 }, + { 0x277C, 7 }, + { 0x277D, 8 }, + { 0x277E, 9 }, + { 0x2780, 1 }, + { 0x2781, 2 }, + { 0x2782, 3 }, + { 0x2783, 4 }, + { 0x2784, 5 }, + { 0x2785, 6 }, + { 0x2786, 7 }, + { 0x2787, 8 }, + { 0x2788, 9 }, + { 0x278A, 1 }, + { 0x278B, 2 }, + { 0x278C, 3 }, + { 0x278D, 4 }, + { 0x278E, 5 }, + { 0x278F, 6 }, + { 0x2790, 7 }, + { 0x2791, 8 }, + { 0x2792, 9 }, + { 0xA620, 0 }, + { 0xA621, 1 }, + { 0xA622, 2 }, + { 0xA623, 3 }, + { 0xA624, 4 }, + { 0xA625, 5 }, + { 0xA626, 6 }, + { 0xA627, 7 }, + { 0xA628, 8 }, + { 0xA629, 9 }, + { 0xA8D0, 0 }, + { 0xA8D1, 1 }, + { 0xA8D2, 2 }, + { 0xA8D3, 3 }, + { 0xA8D4, 4 }, + { 0xA8D5, 5 }, + { 0xA8D6, 6 }, + { 0xA8D7, 7 }, + { 0xA8D8, 8 }, + { 0xA8D9, 9 }, + { 0xA900, 0 }, + { 0xA901, 1 }, + { 0xA902, 2 }, + { 0xA903, 3 }, + { 0xA904, 4 }, + { 0xA905, 5 }, + { 0xA906, 6 }, + { 0xA907, 7 }, + { 0xA908, 8 }, + { 0xA909, 9 }, + { 0xAA50, 0 }, + { 0xAA51, 1 }, + { 0xAA52, 2 }, + { 0xAA53, 3 }, + { 0xAA54, 4 }, + { 0xAA55, 5 }, + { 0xAA56, 6 }, + { 0xAA57, 7 }, + { 0xAA58, 8 }, + { 0xAA59, 9 }, + { 0xFF10, 0 }, + { 0xFF11, 1 }, + { 0xFF12, 2 }, + { 0xFF13, 3 }, + { 0xFF14, 4 }, + { 0xFF15, 5 }, + { 0xFF16, 6 }, + { 0xFF17, 7 }, + { 0xFF18, 8 }, + { 0xFF19, 9 }, + { 0x104A0, 0 }, + { 0x104A1, 1 }, + { 0x104A2, 2 }, + { 0x104A3, 3 }, + { 0x104A4, 4 }, + { 0x104A5, 5 }, + { 0x104A6, 6 }, + { 0x104A7, 7 }, + { 0x104A8, 8 }, + { 0x104A9, 9 }, + { 0x10A40, 1 }, + { 0x10A41, 2 }, + { 0x10A42, 3 }, + { 0x10A43, 4 }, + { 0x1D7CE, 0 }, + { 0x1D7CF, 1 }, + { 0x1D7D0, 2 }, + { 0x1D7D1, 3 }, + { 0x1D7D2, 4 }, + { 0x1D7D3, 5 }, + { 0x1D7D4, 6 }, + { 0x1D7D5, 7 }, + { 0x1D7D6, 8 }, + { 0x1D7D7, 9 }, + { 0x1D7D8, 0 }, + { 0x1D7D9, 1 }, + { 0x1D7DA, 2 }, + { 0x1D7DB, 3 }, + { 0x1D7DC, 4 }, + { 0x1D7DD, 5 }, + { 0x1D7DE, 6 }, + { 0x1D7DF, 7 }, + { 0x1D7E0, 8 }, + { 0x1D7E1, 9 }, + { 0x1D7E2, 0 }, + { 0x1D7E3, 1 }, + { 0x1D7E4, 2 }, + { 0x1D7E5, 3 }, + { 0x1D7E6, 4 }, + { 0x1D7E7, 5 }, + { 0x1D7E8, 6 }, + { 0x1D7E9, 7 }, + { 0x1D7EA, 8 }, + { 0x1D7EB, 9 }, + { 0x1D7EC, 0 }, + { 0x1D7ED, 1 }, + { 0x1D7EE, 2 }, + { 0x1D7EF, 3 }, + { 0x1D7F0, 4 }, + { 0x1D7F1, 5 }, + { 0x1D7F2, 6 }, + { 0x1D7F3, 7 }, + { 0x1D7F4, 8 }, + { 0x1D7F5, 9 }, + { 0x1D7F6, 0 }, + { 0x1D7F7, 1 }, + { 0x1D7F8, 2 }, + { 0x1D7F9, 3 }, + { 0x1D7FA, 4 }, + { 0x1D7FB, 5 }, + { 0x1D7FC, 6 }, + { 0x1D7FD, 7 }, + { 0x1D7FE, 8 }, + { 0x1D7FF, 9 } diff --git a/tests/unictype/test-mirror.c b/tests/unictype/test-mirror.c new file mode 100644 index 00000000..fb4402ff --- /dev/null +++ b/tests/unictype/test-mirror.c @@ -0,0 +1,53 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ucs4_t mirrored; + + ASSERT (uc_mirror_char ('(', &mirrored) && mirrored == ')'); + ASSERT (uc_mirror_char (')', &mirrored) && mirrored == '('); + ASSERT (uc_mirror_char ('<', &mirrored) && mirrored == '>'); + ASSERT (uc_mirror_char ('>', &mirrored) && mirrored == '<'); + ASSERT (uc_mirror_char ('[', &mirrored) && mirrored == ']'); + ASSERT (uc_mirror_char (']', &mirrored) && mirrored == '['); + ASSERT (uc_mirror_char ('{', &mirrored) && mirrored == '}'); + ASSERT (uc_mirror_char ('}', &mirrored) && mirrored == '{'); + ASSERT (!uc_mirror_char ('X', &mirrored)); + + return 0; +} diff --git a/tests/unictype/test-numeric.c b/tests/unictype/test-numeric.c new file mode 100644 index 00000000..5bca3638 --- /dev/null +++ b/tests/unictype/test-numeric.c @@ -0,0 +1,72 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) +#define SIZEOF(a) (sizeof(a) / sizeof(a[0])) + +static const struct { unsigned int ch; int numerator; int denominator; } + mapping[] = + { +#include "test-numeric.h" + }; + +int +main () +{ + unsigned int c; + uc_fraction_t value; + size_t i; + + c = 0; + for (i = 0; i < SIZEOF (mapping); i++) + { + for (; c < mapping[i].ch; c++) + { + value = uc_numeric_value (c); + ASSERT (value.numerator == 0 && value.denominator == 0); + } + /* Here c = mapping[i].ch. */ + value = uc_numeric_value (c); + ASSERT (value.numerator == mapping[i].numerator + && value.denominator == mapping[i].denominator); + c++; + } + for (; c < 0x110000; c++) + { + value = uc_numeric_value (c); + ASSERT (value.numerator == 0 && value.denominator == 0); + } + + return 0; +} diff --git a/tests/unictype/test-numeric.h b/tests/unictype/test-numeric.h new file mode 100644 index 00000000..32679424 --- /dev/null +++ b/tests/unictype/test-numeric.h @@ -0,0 +1,939 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Numeric values of Unicode characters. */ +/* Generated automatically by gen-ctype.c for Unicode 5.1.0. */ + { 0x0030, 0, 1 }, + { 0x0031, 1, 1 }, + { 0x0032, 2, 1 }, + { 0x0033, 3, 1 }, + { 0x0034, 4, 1 }, + { 0x0035, 5, 1 }, + { 0x0036, 6, 1 }, + { 0x0037, 7, 1 }, + { 0x0038, 8, 1 }, + { 0x0039, 9, 1 }, + { 0x00B2, 2, 1 }, + { 0x00B3, 3, 1 }, + { 0x00B9, 1, 1 }, + { 0x00BC, 1, 4 }, + { 0x00BD, 1, 2 }, + { 0x00BE, 3, 4 }, + { 0x0660, 0, 1 }, + { 0x0661, 1, 1 }, + { 0x0662, 2, 1 }, + { 0x0663, 3, 1 }, + { 0x0664, 4, 1 }, + { 0x0665, 5, 1 }, + { 0x0666, 6, 1 }, + { 0x0667, 7, 1 }, + { 0x0668, 8, 1 }, + { 0x0669, 9, 1 }, + { 0x06F0, 0, 1 }, + { 0x06F1, 1, 1 }, + { 0x06F2, 2, 1 }, + { 0x06F3, 3, 1 }, + { 0x06F4, 4, 1 }, + { 0x06F5, 5, 1 }, + { 0x06F6, 6, 1 }, + { 0x06F7, 7, 1 }, + { 0x06F8, 8, 1 }, + { 0x06F9, 9, 1 }, + { 0x07C0, 0, 1 }, + { 0x07C1, 1, 1 }, + { 0x07C2, 2, 1 }, + { 0x07C3, 3, 1 }, + { 0x07C4, 4, 1 }, + { 0x07C5, 5, 1 }, + { 0x07C6, 6, 1 }, + { 0x07C7, 7, 1 }, + { 0x07C8, 8, 1 }, + { 0x07C9, 9, 1 }, + { 0x0966, 0, 1 }, + { 0x0967, 1, 1 }, + { 0x0968, 2, 1 }, + { 0x0969, 3, 1 }, + { 0x096A, 4, 1 }, + { 0x096B, 5, 1 }, + { 0x096C, 6, 1 }, + { 0x096D, 7, 1 }, + { 0x096E, 8, 1 }, + { 0x096F, 9, 1 }, + { 0x09E6, 0, 1 }, + { 0x09E7, 1, 1 }, + { 0x09E8, 2, 1 }, + { 0x09E9, 3, 1 }, + { 0x09EA, 4, 1 }, + { 0x09EB, 5, 1 }, + { 0x09EC, 6, 1 }, + { 0x09ED, 7, 1 }, + { 0x09EE, 8, 1 }, + { 0x09EF, 9, 1 }, + { 0x09F4, 1, 1 }, + { 0x09F5, 2, 1 }, + { 0x09F6, 3, 1 }, + { 0x09F7, 4, 1 }, + { 0x09F9, 16, 1 }, + { 0x0A66, 0, 1 }, + { 0x0A67, 1, 1 }, + { 0x0A68, 2, 1 }, + { 0x0A69, 3, 1 }, + { 0x0A6A, 4, 1 }, + { 0x0A6B, 5, 1 }, + { 0x0A6C, 6, 1 }, + { 0x0A6D, 7, 1 }, + { 0x0A6E, 8, 1 }, + { 0x0A6F, 9, 1 }, + { 0x0AE6, 0, 1 }, + { 0x0AE7, 1, 1 }, + { 0x0AE8, 2, 1 }, + { 0x0AE9, 3, 1 }, + { 0x0AEA, 4, 1 }, + { 0x0AEB, 5, 1 }, + { 0x0AEC, 6, 1 }, + { 0x0AED, 7, 1 }, + { 0x0AEE, 8, 1 }, + { 0x0AEF, 9, 1 }, + { 0x0B66, 0, 1 }, + { 0x0B67, 1, 1 }, + { 0x0B68, 2, 1 }, + { 0x0B69, 3, 1 }, + { 0x0B6A, 4, 1 }, + { 0x0B6B, 5, 1 }, + { 0x0B6C, 6, 1 }, + { 0x0B6D, 7, 1 }, + { 0x0B6E, 8, 1 }, + { 0x0B6F, 9, 1 }, + { 0x0BE6, 0, 1 }, + { 0x0BE7, 1, 1 }, + { 0x0BE8, 2, 1 }, + { 0x0BE9, 3, 1 }, + { 0x0BEA, 4, 1 }, + { 0x0BEB, 5, 1 }, + { 0x0BEC, 6, 1 }, + { 0x0BED, 7, 1 }, + { 0x0BEE, 8, 1 }, + { 0x0BEF, 9, 1 }, + { 0x0BF0, 10, 1 }, + { 0x0BF1, 100, 1 }, + { 0x0BF2, 1000, 1 }, + { 0x0C66, 0, 1 }, + { 0x0C67, 1, 1 }, + { 0x0C68, 2, 1 }, + { 0x0C69, 3, 1 }, + { 0x0C6A, 4, 1 }, + { 0x0C6B, 5, 1 }, + { 0x0C6C, 6, 1 }, + { 0x0C6D, 7, 1 }, + { 0x0C6E, 8, 1 }, + { 0x0C6F, 9, 1 }, + { 0x0C78, 0, 1 }, + { 0x0C79, 1, 1 }, + { 0x0C7A, 2, 1 }, + { 0x0C7B, 3, 1 }, + { 0x0C7C, 1, 1 }, + { 0x0C7D, 2, 1 }, + { 0x0C7E, 3, 1 }, + { 0x0CE6, 0, 1 }, + { 0x0CE7, 1, 1 }, + { 0x0CE8, 2, 1 }, + { 0x0CE9, 3, 1 }, + { 0x0CEA, 4, 1 }, + { 0x0CEB, 5, 1 }, + { 0x0CEC, 6, 1 }, + { 0x0CED, 7, 1 }, + { 0x0CEE, 8, 1 }, + { 0x0CEF, 9, 1 }, + { 0x0D66, 0, 1 }, + { 0x0D67, 1, 1 }, + { 0x0D68, 2, 1 }, + { 0x0D69, 3, 1 }, + { 0x0D6A, 4, 1 }, + { 0x0D6B, 5, 1 }, + { 0x0D6C, 6, 1 }, + { 0x0D6D, 7, 1 }, + { 0x0D6E, 8, 1 }, + { 0x0D6F, 9, 1 }, + { 0x0D70, 10, 1 }, + { 0x0D71, 100, 1 }, + { 0x0D72, 1000, 1 }, + { 0x0D73, 1, 4 }, + { 0x0D74, 1, 2 }, + { 0x0D75, 3, 4 }, + { 0x0E50, 0, 1 }, + { 0x0E51, 1, 1 }, + { 0x0E52, 2, 1 }, + { 0x0E53, 3, 1 }, + { 0x0E54, 4, 1 }, + { 0x0E55, 5, 1 }, + { 0x0E56, 6, 1 }, + { 0x0E57, 7, 1 }, + { 0x0E58, 8, 1 }, + { 0x0E59, 9, 1 }, + { 0x0ED0, 0, 1 }, + { 0x0ED1, 1, 1 }, + { 0x0ED2, 2, 1 }, + { 0x0ED3, 3, 1 }, + { 0x0ED4, 4, 1 }, + { 0x0ED5, 5, 1 }, + { 0x0ED6, 6, 1 }, + { 0x0ED7, 7, 1 }, + { 0x0ED8, 8, 1 }, + { 0x0ED9, 9, 1 }, + { 0x0F20, 0, 1 }, + { 0x0F21, 1, 1 }, + { 0x0F22, 2, 1 }, + { 0x0F23, 3, 1 }, + { 0x0F24, 4, 1 }, + { 0x0F25, 5, 1 }, + { 0x0F26, 6, 1 }, + { 0x0F27, 7, 1 }, + { 0x0F28, 8, 1 }, + { 0x0F29, 9, 1 }, + { 0x0F2A, 1, 2 }, + { 0x0F2B, 3, 2 }, + { 0x0F2C, 5, 2 }, + { 0x0F2D, 7, 2 }, + { 0x0F2E, 9, 2 }, + { 0x0F2F, 11, 2 }, + { 0x0F30, 13, 2 }, + { 0x0F31, 15, 2 }, + { 0x0F32, 17, 2 }, + { 0x0F33, -1, 2 }, + { 0x1040, 0, 1 }, + { 0x1041, 1, 1 }, + { 0x1042, 2, 1 }, + { 0x1043, 3, 1 }, + { 0x1044, 4, 1 }, + { 0x1045, 5, 1 }, + { 0x1046, 6, 1 }, + { 0x1047, 7, 1 }, + { 0x1048, 8, 1 }, + { 0x1049, 9, 1 }, + { 0x1090, 0, 1 }, + { 0x1091, 1, 1 }, + { 0x1092, 2, 1 }, + { 0x1093, 3, 1 }, + { 0x1094, 4, 1 }, + { 0x1095, 5, 1 }, + { 0x1096, 6, 1 }, + { 0x1097, 7, 1 }, + { 0x1098, 8, 1 }, + { 0x1099, 9, 1 }, + { 0x1369, 1, 1 }, + { 0x136A, 2, 1 }, + { 0x136B, 3, 1 }, + { 0x136C, 4, 1 }, + { 0x136D, 5, 1 }, + { 0x136E, 6, 1 }, + { 0x136F, 7, 1 }, + { 0x1370, 8, 1 }, + { 0x1371, 9, 1 }, + { 0x1372, 10, 1 }, + { 0x1373, 20, 1 }, + { 0x1374, 30, 1 }, + { 0x1375, 40, 1 }, + { 0x1376, 50, 1 }, + { 0x1377, 60, 1 }, + { 0x1378, 70, 1 }, + { 0x1379, 80, 1 }, + { 0x137A, 90, 1 }, + { 0x137B, 100, 1 }, + { 0x137C, 10000, 1 }, + { 0x16EE, 17, 1 }, + { 0x16EF, 18, 1 }, + { 0x16F0, 19, 1 }, + { 0x17E0, 0, 1 }, + { 0x17E1, 1, 1 }, + { 0x17E2, 2, 1 }, + { 0x17E3, 3, 1 }, + { 0x17E4, 4, 1 }, + { 0x17E5, 5, 1 }, + { 0x17E6, 6, 1 }, + { 0x17E7, 7, 1 }, + { 0x17E8, 8, 1 }, + { 0x17E9, 9, 1 }, + { 0x17F0, 0, 1 }, + { 0x17F1, 1, 1 }, + { 0x17F2, 2, 1 }, + { 0x17F3, 3, 1 }, + { 0x17F4, 4, 1 }, + { 0x17F5, 5, 1 }, + { 0x17F6, 6, 1 }, + { 0x17F7, 7, 1 }, + { 0x17F8, 8, 1 }, + { 0x17F9, 9, 1 }, + { 0x1810, 0, 1 }, + { 0x1811, 1, 1 }, + { 0x1812, 2, 1 }, + { 0x1813, 3, 1 }, + { 0x1814, 4, 1 }, + { 0x1815, 5, 1 }, + { 0x1816, 6, 1 }, + { 0x1817, 7, 1 }, + { 0x1818, 8, 1 }, + { 0x1819, 9, 1 }, + { 0x1946, 0, 1 }, + { 0x1947, 1, 1 }, + { 0x1948, 2, 1 }, + { 0x1949, 3, 1 }, + { 0x194A, 4, 1 }, + { 0x194B, 5, 1 }, + { 0x194C, 6, 1 }, + { 0x194D, 7, 1 }, + { 0x194E, 8, 1 }, + { 0x194F, 9, 1 }, + { 0x19D0, 0, 1 }, + { 0x19D1, 1, 1 }, + { 0x19D2, 2, 1 }, + { 0x19D3, 3, 1 }, + { 0x19D4, 4, 1 }, + { 0x19D5, 5, 1 }, + { 0x19D6, 6, 1 }, + { 0x19D7, 7, 1 }, + { 0x19D8, 8, 1 }, + { 0x19D9, 9, 1 }, + { 0x1B50, 0, 1 }, + { 0x1B51, 1, 1 }, + { 0x1B52, 2, 1 }, + { 0x1B53, 3, 1 }, + { 0x1B54, 4, 1 }, + { 0x1B55, 5, 1 }, + { 0x1B56, 6, 1 }, + { 0x1B57, 7, 1 }, + { 0x1B58, 8, 1 }, + { 0x1B59, 9, 1 }, + { 0x1BB0, 0, 1 }, + { 0x1BB1, 1, 1 }, + { 0x1BB2, 2, 1 }, + { 0x1BB3, 3, 1 }, + { 0x1BB4, 4, 1 }, + { 0x1BB5, 5, 1 }, + { 0x1BB6, 6, 1 }, + { 0x1BB7, 7, 1 }, + { 0x1BB8, 8, 1 }, + { 0x1BB9, 9, 1 }, + { 0x1C40, 0, 1 }, + { 0x1C41, 1, 1 }, + { 0x1C42, 2, 1 }, + { 0x1C43, 3, 1 }, + { 0x1C44, 4, 1 }, + { 0x1C45, 5, 1 }, + { 0x1C46, 6, 1 }, + { 0x1C47, 7, 1 }, + { 0x1C48, 8, 1 }, + { 0x1C49, 9, 1 }, + { 0x1C50, 0, 1 }, + { 0x1C51, 1, 1 }, + { 0x1C52, 2, 1 }, + { 0x1C53, 3, 1 }, + { 0x1C54, 4, 1 }, + { 0x1C55, 5, 1 }, + { 0x1C56, 6, 1 }, + { 0x1C57, 7, 1 }, + { 0x1C58, 8, 1 }, + { 0x1C59, 9, 1 }, + { 0x2070, 0, 1 }, + { 0x2074, 4, 1 }, + { 0x2075, 5, 1 }, + { 0x2076, 6, 1 }, + { 0x2077, 7, 1 }, + { 0x2078, 8, 1 }, + { 0x2079, 9, 1 }, + { 0x2080, 0, 1 }, + { 0x2081, 1, 1 }, + { 0x2082, 2, 1 }, + { 0x2083, 3, 1 }, + { 0x2084, 4, 1 }, + { 0x2085, 5, 1 }, + { 0x2086, 6, 1 }, + { 0x2087, 7, 1 }, + { 0x2088, 8, 1 }, + { 0x2089, 9, 1 }, + { 0x2153, 1, 3 }, + { 0x2154, 2, 3 }, + { 0x2155, 1, 5 }, + { 0x2156, 2, 5 }, + { 0x2157, 3, 5 }, + { 0x2158, 4, 5 }, + { 0x2159, 1, 6 }, + { 0x215A, 5, 6 }, + { 0x215B, 1, 8 }, + { 0x215C, 3, 8 }, + { 0x215D, 5, 8 }, + { 0x215E, 7, 8 }, + { 0x215F, 1, 1 }, + { 0x2160, 1, 1 }, + { 0x2161, 2, 1 }, + { 0x2162, 3, 1 }, + { 0x2163, 4, 1 }, + { 0x2164, 5, 1 }, + { 0x2165, 6, 1 }, + { 0x2166, 7, 1 }, + { 0x2167, 8, 1 }, + { 0x2168, 9, 1 }, + { 0x2169, 10, 1 }, + { 0x216A, 11, 1 }, + { 0x216B, 12, 1 }, + { 0x216C, 50, 1 }, + { 0x216D, 100, 1 }, + { 0x216E, 500, 1 }, + { 0x216F, 1000, 1 }, + { 0x2170, 1, 1 }, + { 0x2171, 2, 1 }, + { 0x2172, 3, 1 }, + { 0x2173, 4, 1 }, + { 0x2174, 5, 1 }, + { 0x2175, 6, 1 }, + { 0x2176, 7, 1 }, + { 0x2177, 8, 1 }, + { 0x2178, 9, 1 }, + { 0x2179, 10, 1 }, + { 0x217A, 11, 1 }, + { 0x217B, 12, 1 }, + { 0x217C, 50, 1 }, + { 0x217D, 100, 1 }, + { 0x217E, 500, 1 }, + { 0x217F, 1000, 1 }, + { 0x2180, 1000, 1 }, + { 0x2181, 5000, 1 }, + { 0x2182, 10000, 1 }, + { 0x2185, 6, 1 }, + { 0x2186, 50, 1 }, + { 0x2187, 50000, 1 }, + { 0x2188, 100000, 1 }, + { 0x2460, 1, 1 }, + { 0x2461, 2, 1 }, + { 0x2462, 3, 1 }, + { 0x2463, 4, 1 }, + { 0x2464, 5, 1 }, + { 0x2465, 6, 1 }, + { 0x2466, 7, 1 }, + { 0x2467, 8, 1 }, + { 0x2468, 9, 1 }, + { 0x2469, 10, 1 }, + { 0x246A, 11, 1 }, + { 0x246B, 12, 1 }, + { 0x246C, 13, 1 }, + { 0x246D, 14, 1 }, + { 0x246E, 15, 1 }, + { 0x246F, 16, 1 }, + { 0x2470, 17, 1 }, + { 0x2471, 18, 1 }, + { 0x2472, 19, 1 }, + { 0x2473, 20, 1 }, + { 0x2474, 1, 1 }, + { 0x2475, 2, 1 }, + { 0x2476, 3, 1 }, + { 0x2477, 4, 1 }, + { 0x2478, 5, 1 }, + { 0x2479, 6, 1 }, + { 0x247A, 7, 1 }, + { 0x247B, 8, 1 }, + { 0x247C, 9, 1 }, + { 0x247D, 10, 1 }, + { 0x247E, 11, 1 }, + { 0x247F, 12, 1 }, + { 0x2480, 13, 1 }, + { 0x2481, 14, 1 }, + { 0x2482, 15, 1 }, + { 0x2483, 16, 1 }, + { 0x2484, 17, 1 }, + { 0x2485, 18, 1 }, + { 0x2486, 19, 1 }, + { 0x2487, 20, 1 }, + { 0x2488, 1, 1 }, + { 0x2489, 2, 1 }, + { 0x248A, 3, 1 }, + { 0x248B, 4, 1 }, + { 0x248C, 5, 1 }, + { 0x248D, 6, 1 }, + { 0x248E, 7, 1 }, + { 0x248F, 8, 1 }, + { 0x2490, 9, 1 }, + { 0x2491, 10, 1 }, + { 0x2492, 11, 1 }, + { 0x2493, 12, 1 }, + { 0x2494, 13, 1 }, + { 0x2495, 14, 1 }, + { 0x2496, 15, 1 }, + { 0x2497, 16, 1 }, + { 0x2498, 17, 1 }, + { 0x2499, 18, 1 }, + { 0x249A, 19, 1 }, + { 0x249B, 20, 1 }, + { 0x24EA, 0, 1 }, + { 0x24EB, 11, 1 }, + { 0x24EC, 12, 1 }, + { 0x24ED, 13, 1 }, + { 0x24EE, 14, 1 }, + { 0x24EF, 15, 1 }, + { 0x24F0, 16, 1 }, + { 0x24F1, 17, 1 }, + { 0x24F2, 18, 1 }, + { 0x24F3, 19, 1 }, + { 0x24F4, 20, 1 }, + { 0x24F5, 1, 1 }, + { 0x24F6, 2, 1 }, + { 0x24F7, 3, 1 }, + { 0x24F8, 4, 1 }, + { 0x24F9, 5, 1 }, + { 0x24FA, 6, 1 }, + { 0x24FB, 7, 1 }, + { 0x24FC, 8, 1 }, + { 0x24FD, 9, 1 }, + { 0x24FE, 10, 1 }, + { 0x24FF, 0, 1 }, + { 0x2776, 1, 1 }, + { 0x2777, 2, 1 }, + { 0x2778, 3, 1 }, + { 0x2779, 4, 1 }, + { 0x277A, 5, 1 }, + { 0x277B, 6, 1 }, + { 0x277C, 7, 1 }, + { 0x277D, 8, 1 }, + { 0x277E, 9, 1 }, + { 0x277F, 10, 1 }, + { 0x2780, 1, 1 }, + { 0x2781, 2, 1 }, + { 0x2782, 3, 1 }, + { 0x2783, 4, 1 }, + { 0x2784, 5, 1 }, + { 0x2785, 6, 1 }, + { 0x2786, 7, 1 }, + { 0x2787, 8, 1 }, + { 0x2788, 9, 1 }, + { 0x2789, 10, 1 }, + { 0x278A, 1, 1 }, + { 0x278B, 2, 1 }, + { 0x278C, 3, 1 }, + { 0x278D, 4, 1 }, + { 0x278E, 5, 1 }, + { 0x278F, 6, 1 }, + { 0x2790, 7, 1 }, + { 0x2791, 8, 1 }, + { 0x2792, 9, 1 }, + { 0x2793, 10, 1 }, + { 0x2CFD, 1, 2 }, + { 0x3007, 0, 1 }, + { 0x3021, 1, 1 }, + { 0x3022, 2, 1 }, + { 0x3023, 3, 1 }, + { 0x3024, 4, 1 }, + { 0x3025, 5, 1 }, + { 0x3026, 6, 1 }, + { 0x3027, 7, 1 }, + { 0x3028, 8, 1 }, + { 0x3029, 9, 1 }, + { 0x3038, 10, 1 }, + { 0x3039, 20, 1 }, + { 0x303A, 30, 1 }, + { 0x3192, 1, 1 }, + { 0x3193, 2, 1 }, + { 0x3194, 3, 1 }, + { 0x3195, 4, 1 }, + { 0x3220, 1, 1 }, + { 0x3221, 2, 1 }, + { 0x3222, 3, 1 }, + { 0x3223, 4, 1 }, + { 0x3224, 5, 1 }, + { 0x3225, 6, 1 }, + { 0x3226, 7, 1 }, + { 0x3227, 8, 1 }, + { 0x3228, 9, 1 }, + { 0x3229, 10, 1 }, + { 0x3251, 21, 1 }, + { 0x3252, 22, 1 }, + { 0x3253, 23, 1 }, + { 0x3254, 24, 1 }, + { 0x3255, 25, 1 }, + { 0x3256, 26, 1 }, + { 0x3257, 27, 1 }, + { 0x3258, 28, 1 }, + { 0x3259, 29, 1 }, + { 0x325A, 30, 1 }, + { 0x325B, 31, 1 }, + { 0x325C, 32, 1 }, + { 0x325D, 33, 1 }, + { 0x325E, 34, 1 }, + { 0x325F, 35, 1 }, + { 0x3280, 1, 1 }, + { 0x3281, 2, 1 }, + { 0x3282, 3, 1 }, + { 0x3283, 4, 1 }, + { 0x3284, 5, 1 }, + { 0x3285, 6, 1 }, + { 0x3286, 7, 1 }, + { 0x3287, 8, 1 }, + { 0x3288, 9, 1 }, + { 0x3289, 10, 1 }, + { 0x32B1, 36, 1 }, + { 0x32B2, 37, 1 }, + { 0x32B3, 38, 1 }, + { 0x32B4, 39, 1 }, + { 0x32B5, 40, 1 }, + { 0x32B6, 41, 1 }, + { 0x32B7, 42, 1 }, + { 0x32B8, 43, 1 }, + { 0x32B9, 44, 1 }, + { 0x32BA, 45, 1 }, + { 0x32BB, 46, 1 }, + { 0x32BC, 47, 1 }, + { 0x32BD, 48, 1 }, + { 0x32BE, 49, 1 }, + { 0x32BF, 50, 1 }, + { 0xA620, 0, 1 }, + { 0xA621, 1, 1 }, + { 0xA622, 2, 1 }, + { 0xA623, 3, 1 }, + { 0xA624, 4, 1 }, + { 0xA625, 5, 1 }, + { 0xA626, 6, 1 }, + { 0xA627, 7, 1 }, + { 0xA628, 8, 1 }, + { 0xA629, 9, 1 }, + { 0xA8D0, 0, 1 }, + { 0xA8D1, 1, 1 }, + { 0xA8D2, 2, 1 }, + { 0xA8D3, 3, 1 }, + { 0xA8D4, 4, 1 }, + { 0xA8D5, 5, 1 }, + { 0xA8D6, 6, 1 }, + { 0xA8D7, 7, 1 }, + { 0xA8D8, 8, 1 }, + { 0xA8D9, 9, 1 }, + { 0xA900, 0, 1 }, + { 0xA901, 1, 1 }, + { 0xA902, 2, 1 }, + { 0xA903, 3, 1 }, + { 0xA904, 4, 1 }, + { 0xA905, 5, 1 }, + { 0xA906, 6, 1 }, + { 0xA907, 7, 1 }, + { 0xA908, 8, 1 }, + { 0xA909, 9, 1 }, + { 0xAA50, 0, 1 }, + { 0xAA51, 1, 1 }, + { 0xAA52, 2, 1 }, + { 0xAA53, 3, 1 }, + { 0xAA54, 4, 1 }, + { 0xAA55, 5, 1 }, + { 0xAA56, 6, 1 }, + { 0xAA57, 7, 1 }, + { 0xAA58, 8, 1 }, + { 0xAA59, 9, 1 }, + { 0xF96B, 3, 1 }, + { 0xF973, 10, 1 }, + { 0xF978, 2, 1 }, + { 0xF9B2, 0, 1 }, + { 0xF9D1, 6, 1 }, + { 0xF9D3, 6, 1 }, + { 0xF9FD, 10, 1 }, + { 0xFF10, 0, 1 }, + { 0xFF11, 1, 1 }, + { 0xFF12, 2, 1 }, + { 0xFF13, 3, 1 }, + { 0xFF14, 4, 1 }, + { 0xFF15, 5, 1 }, + { 0xFF16, 6, 1 }, + { 0xFF17, 7, 1 }, + { 0xFF18, 8, 1 }, + { 0xFF19, 9, 1 }, + { 0x10107, 1, 1 }, + { 0x10108, 2, 1 }, + { 0x10109, 3, 1 }, + { 0x1010A, 4, 1 }, + { 0x1010B, 5, 1 }, + { 0x1010C, 6, 1 }, + { 0x1010D, 7, 1 }, + { 0x1010E, 8, 1 }, + { 0x1010F, 9, 1 }, + { 0x10110, 10, 1 }, + { 0x10111, 20, 1 }, + { 0x10112, 30, 1 }, + { 0x10113, 40, 1 }, + { 0x10114, 50, 1 }, + { 0x10115, 60, 1 }, + { 0x10116, 70, 1 }, + { 0x10117, 80, 1 }, + { 0x10118, 90, 1 }, + { 0x10119, 100, 1 }, + { 0x1011A, 200, 1 }, + { 0x1011B, 300, 1 }, + { 0x1011C, 400, 1 }, + { 0x1011D, 500, 1 }, + { 0x1011E, 600, 1 }, + { 0x1011F, 700, 1 }, + { 0x10120, 800, 1 }, + { 0x10121, 900, 1 }, + { 0x10122, 1000, 1 }, + { 0x10123, 2000, 1 }, + { 0x10124, 3000, 1 }, + { 0x10125, 4000, 1 }, + { 0x10126, 5000, 1 }, + { 0x10127, 6000, 1 }, + { 0x10128, 7000, 1 }, + { 0x10129, 8000, 1 }, + { 0x1012A, 9000, 1 }, + { 0x1012B, 10000, 1 }, + { 0x1012C, 20000, 1 }, + { 0x1012D, 30000, 1 }, + { 0x1012E, 40000, 1 }, + { 0x1012F, 50000, 1 }, + { 0x10130, 60000, 1 }, + { 0x10131, 70000, 1 }, + { 0x10132, 80000, 1 }, + { 0x10133, 90000, 1 }, + { 0x10140, 1, 4 }, + { 0x10141, 1, 2 }, + { 0x10142, 1, 1 }, + { 0x10143, 5, 1 }, + { 0x10144, 50, 1 }, + { 0x10145, 500, 1 }, + { 0x10146, 5000, 1 }, + { 0x10147, 50000, 1 }, + { 0x10148, 5, 1 }, + { 0x10149, 10, 1 }, + { 0x1014A, 50, 1 }, + { 0x1014B, 100, 1 }, + { 0x1014C, 500, 1 }, + { 0x1014D, 1000, 1 }, + { 0x1014E, 5000, 1 }, + { 0x1014F, 5, 1 }, + { 0x10150, 10, 1 }, + { 0x10151, 50, 1 }, + { 0x10152, 100, 1 }, + { 0x10153, 500, 1 }, + { 0x10154, 1000, 1 }, + { 0x10155, 10000, 1 }, + { 0x10156, 50000, 1 }, + { 0x10157, 10, 1 }, + { 0x10158, 1, 1 }, + { 0x10159, 1, 1 }, + { 0x1015A, 1, 1 }, + { 0x1015B, 2, 1 }, + { 0x1015C, 2, 1 }, + { 0x1015D, 2, 1 }, + { 0x1015E, 2, 1 }, + { 0x1015F, 5, 1 }, + { 0x10160, 10, 1 }, + { 0x10161, 10, 1 }, + { 0x10162, 10, 1 }, + { 0x10163, 10, 1 }, + { 0x10164, 10, 1 }, + { 0x10165, 30, 1 }, + { 0x10166, 50, 1 }, + { 0x10167, 50, 1 }, + { 0x10168, 50, 1 }, + { 0x10169, 50, 1 }, + { 0x1016A, 100, 1 }, + { 0x1016B, 300, 1 }, + { 0x1016C, 500, 1 }, + { 0x1016D, 500, 1 }, + { 0x1016E, 500, 1 }, + { 0x1016F, 500, 1 }, + { 0x10170, 500, 1 }, + { 0x10171, 1000, 1 }, + { 0x10172, 5000, 1 }, + { 0x10173, 5, 1 }, + { 0x10174, 50, 1 }, + { 0x10175, 1, 2 }, + { 0x10176, 1, 2 }, + { 0x10177, 2, 3 }, + { 0x10178, 3, 4 }, + { 0x1018A, 0, 1 }, + { 0x10320, 1, 1 }, + { 0x10321, 5, 1 }, + { 0x10322, 10, 1 }, + { 0x10323, 50, 1 }, + { 0x10341, 90, 1 }, + { 0x1034A, 900, 1 }, + { 0x103D1, 1, 1 }, + { 0x103D2, 2, 1 }, + { 0x103D3, 10, 1 }, + { 0x103D4, 20, 1 }, + { 0x103D5, 100, 1 }, + { 0x104A0, 0, 1 }, + { 0x104A1, 1, 1 }, + { 0x104A2, 2, 1 }, + { 0x104A3, 3, 1 }, + { 0x104A4, 4, 1 }, + { 0x104A5, 5, 1 }, + { 0x104A6, 6, 1 }, + { 0x104A7, 7, 1 }, + { 0x104A8, 8, 1 }, + { 0x104A9, 9, 1 }, + { 0x10916, 1, 1 }, + { 0x10917, 10, 1 }, + { 0x10918, 20, 1 }, + { 0x10919, 100, 1 }, + { 0x10A40, 1, 1 }, + { 0x10A41, 2, 1 }, + { 0x10A42, 3, 1 }, + { 0x10A43, 4, 1 }, + { 0x10A44, 10, 1 }, + { 0x10A45, 20, 1 }, + { 0x10A46, 100, 1 }, + { 0x10A47, 1000, 1 }, + { 0x12400, 2, 1 }, + { 0x12401, 3, 1 }, + { 0x12402, 4, 1 }, + { 0x12403, 5, 1 }, + { 0x12404, 6, 1 }, + { 0x12405, 7, 1 }, + { 0x12406, 8, 1 }, + { 0x12407, 9, 1 }, + { 0x12408, 3, 1 }, + { 0x12409, 4, 1 }, + { 0x1240A, 5, 1 }, + { 0x1240B, 6, 1 }, + { 0x1240C, 7, 1 }, + { 0x1240D, 8, 1 }, + { 0x1240E, 9, 1 }, + { 0x1240F, 4, 1 }, + { 0x12410, 5, 1 }, + { 0x12411, 6, 1 }, + { 0x12412, 7, 1 }, + { 0x12413, 8, 1 }, + { 0x12414, 9, 1 }, + { 0x12415, 1, 1 }, + { 0x12416, 2, 1 }, + { 0x12417, 3, 1 }, + { 0x12418, 4, 1 }, + { 0x12419, 5, 1 }, + { 0x1241A, 6, 1 }, + { 0x1241B, 7, 1 }, + { 0x1241C, 8, 1 }, + { 0x1241D, 9, 1 }, + { 0x1241E, 1, 1 }, + { 0x1241F, 2, 1 }, + { 0x12420, 3, 1 }, + { 0x12421, 4, 1 }, + { 0x12422, 5, 1 }, + { 0x12423, 2, 1 }, + { 0x12424, 3, 1 }, + { 0x12425, 3, 1 }, + { 0x12426, 4, 1 }, + { 0x12427, 5, 1 }, + { 0x12428, 6, 1 }, + { 0x12429, 7, 1 }, + { 0x1242A, 8, 1 }, + { 0x1242B, 9, 1 }, + { 0x1242C, 1, 1 }, + { 0x1242D, 2, 1 }, + { 0x1242E, 3, 1 }, + { 0x1242F, 3, 1 }, + { 0x12430, 4, 1 }, + { 0x12431, 5, 1 }, + { 0x12434, 1, 1 }, + { 0x12435, 2, 1 }, + { 0x12436, 3, 1 }, + { 0x12437, 3, 1 }, + { 0x12438, 4, 1 }, + { 0x12439, 5, 1 }, + { 0x1243A, 3, 1 }, + { 0x1243B, 3, 1 }, + { 0x1243C, 4, 1 }, + { 0x1243D, 4, 1 }, + { 0x1243E, 4, 1 }, + { 0x1243F, 4, 1 }, + { 0x12440, 6, 1 }, + { 0x12441, 7, 1 }, + { 0x12442, 7, 1 }, + { 0x12443, 7, 1 }, + { 0x12444, 8, 1 }, + { 0x12445, 8, 1 }, + { 0x12446, 9, 1 }, + { 0x12447, 9, 1 }, + { 0x12448, 9, 1 }, + { 0x12449, 9, 1 }, + { 0x1244A, 2, 1 }, + { 0x1244B, 3, 1 }, + { 0x1244C, 4, 1 }, + { 0x1244D, 5, 1 }, + { 0x1244E, 6, 1 }, + { 0x1244F, 1, 1 }, + { 0x12450, 2, 1 }, + { 0x12451, 3, 1 }, + { 0x12452, 4, 1 }, + { 0x12453, 4, 1 }, + { 0x12454, 5, 1 }, + { 0x12455, 5, 1 }, + { 0x12458, 1, 1 }, + { 0x12459, 2, 1 }, + { 0x1245A, 1, 3 }, + { 0x1245B, 2, 3 }, + { 0x1245C, 5, 6 }, + { 0x1245D, 1, 3 }, + { 0x1245E, 2, 3 }, + { 0x1245F, 1, 8 }, + { 0x12460, 1, 4 }, + { 0x12461, 1, 6 }, + { 0x12462, 1, 4 }, + { 0x1D360, 1, 1 }, + { 0x1D361, 2, 1 }, + { 0x1D362, 3, 1 }, + { 0x1D363, 4, 1 }, + { 0x1D364, 5, 1 }, + { 0x1D365, 6, 1 }, + { 0x1D366, 7, 1 }, + { 0x1D367, 8, 1 }, + { 0x1D368, 9, 1 }, + { 0x1D369, 10, 1 }, + { 0x1D36A, 20, 1 }, + { 0x1D36B, 30, 1 }, + { 0x1D36C, 40, 1 }, + { 0x1D36D, 50, 1 }, + { 0x1D36E, 60, 1 }, + { 0x1D36F, 70, 1 }, + { 0x1D370, 80, 1 }, + { 0x1D371, 90, 1 }, + { 0x1D7CE, 0, 1 }, + { 0x1D7CF, 1, 1 }, + { 0x1D7D0, 2, 1 }, + { 0x1D7D1, 3, 1 }, + { 0x1D7D2, 4, 1 }, + { 0x1D7D3, 5, 1 }, + { 0x1D7D4, 6, 1 }, + { 0x1D7D5, 7, 1 }, + { 0x1D7D6, 8, 1 }, + { 0x1D7D7, 9, 1 }, + { 0x1D7D8, 0, 1 }, + { 0x1D7D9, 1, 1 }, + { 0x1D7DA, 2, 1 }, + { 0x1D7DB, 3, 1 }, + { 0x1D7DC, 4, 1 }, + { 0x1D7DD, 5, 1 }, + { 0x1D7DE, 6, 1 }, + { 0x1D7DF, 7, 1 }, + { 0x1D7E0, 8, 1 }, + { 0x1D7E1, 9, 1 }, + { 0x1D7E2, 0, 1 }, + { 0x1D7E3, 1, 1 }, + { 0x1D7E4, 2, 1 }, + { 0x1D7E5, 3, 1 }, + { 0x1D7E6, 4, 1 }, + { 0x1D7E7, 5, 1 }, + { 0x1D7E8, 6, 1 }, + { 0x1D7E9, 7, 1 }, + { 0x1D7EA, 8, 1 }, + { 0x1D7EB, 9, 1 }, + { 0x1D7EC, 0, 1 }, + { 0x1D7ED, 1, 1 }, + { 0x1D7EE, 2, 1 }, + { 0x1D7EF, 3, 1 }, + { 0x1D7F0, 4, 1 }, + { 0x1D7F1, 5, 1 }, + { 0x1D7F2, 6, 1 }, + { 0x1D7F3, 7, 1 }, + { 0x1D7F4, 8, 1 }, + { 0x1D7F5, 9, 1 }, + { 0x1D7F6, 0, 1 }, + { 0x1D7F7, 1, 1 }, + { 0x1D7F8, 2, 1 }, + { 0x1D7F9, 3, 1 }, + { 0x1D7FA, 4, 1 }, + { 0x1D7FB, 5, 1 }, + { 0x1D7FC, 6, 1 }, + { 0x1D7FD, 7, 1 }, + { 0x1D7FE, 8, 1 }, + { 0x1D7FF, 9, 1 }, + { 0x2F890, 9, 1 } diff --git a/tests/unictype/test-pr_alphabetic.c b/tests/unictype/test-pr_alphabetic.c new file mode 100644 index 00000000..b13da5d7 --- /dev/null +++ b/tests/unictype/test-pr_alphabetic.c @@ -0,0 +1,465 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0041, 0x005A }, + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00BA, 0x00BA }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00F6 }, + { 0x00F8, 0x02C1 }, + { 0x02C6, 0x02D1 }, + { 0x02E0, 0x02E4 }, + { 0x02EC, 0x02EC }, + { 0x02EE, 0x02EE }, + { 0x0345, 0x0345 }, + { 0x0370, 0x0374 }, + { 0x0376, 0x0377 }, + { 0x037A, 0x037D }, + { 0x0386, 0x0386 }, + { 0x0388, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x03F5 }, + { 0x03F7, 0x0481 }, + { 0x048A, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0559, 0x0559 }, + { 0x0561, 0x0587 }, + { 0x05B0, 0x05BD }, + { 0x05BF, 0x05BF }, + { 0x05C1, 0x05C2 }, + { 0x05C4, 0x05C5 }, + { 0x05C7, 0x05C7 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F2 }, + { 0x0610, 0x061A }, + { 0x0621, 0x0657 }, + { 0x0659, 0x065E }, + { 0x066E, 0x06D3 }, + { 0x06D5, 0x06DC }, + { 0x06E1, 0x06E8 }, + { 0x06ED, 0x06EF }, + { 0x06FA, 0x06FC }, + { 0x06FF, 0x06FF }, + { 0x0710, 0x073F }, + { 0x074D, 0x07B1 }, + { 0x07CA, 0x07EA }, + { 0x07F4, 0x07F5 }, + { 0x07FA, 0x07FA }, + { 0x0901, 0x0939 }, + { 0x093D, 0x094C }, + { 0x0950, 0x0950 }, + { 0x0958, 0x0963 }, + { 0x0971, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0981, 0x0983 }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BD, 0x09C4 }, + { 0x09C7, 0x09C8 }, + { 0x09CB, 0x09CC }, + { 0x09CE, 0x09CE }, + { 0x09D7, 0x09D7 }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E3 }, + { 0x09F0, 0x09F1 }, + { 0x0A01, 0x0A03 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A3E, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4C }, + { 0x0A51, 0x0A51 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A70, 0x0A75 }, + { 0x0A81, 0x0A83 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABD, 0x0AC5 }, + { 0x0AC7, 0x0AC9 }, + { 0x0ACB, 0x0ACC }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE3 }, + { 0x0B01, 0x0B03 }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3D, 0x0B44 }, + { 0x0B47, 0x0B48 }, + { 0x0B4B, 0x0B4C }, + { 0x0B56, 0x0B57 }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B63 }, + { 0x0B71, 0x0B71 }, + { 0x0B82, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BBE, 0x0BC2 }, + { 0x0BC6, 0x0BC8 }, + { 0x0BCA, 0x0BCC }, + { 0x0BD0, 0x0BD0 }, + { 0x0BD7, 0x0BD7 }, + { 0x0C01, 0x0C03 }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C44 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4C }, + { 0x0C55, 0x0C56 }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C63 }, + { 0x0C82, 0x0C83 }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBD, 0x0CC4 }, + { 0x0CC6, 0x0CC8 }, + { 0x0CCA, 0x0CCC }, + { 0x0CD5, 0x0CD6 }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE3 }, + { 0x0D02, 0x0D03 }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D44 }, + { 0x0D46, 0x0D48 }, + { 0x0D4A, 0x0D4C }, + { 0x0D57, 0x0D57 }, + { 0x0D60, 0x0D63 }, + { 0x0D7A, 0x0D7F }, + { 0x0D82, 0x0D83 }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0DCF, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0DD8, 0x0DDF }, + { 0x0DF2, 0x0DF3 }, + { 0x0E01, 0x0E3A }, + { 0x0E40, 0x0E46 }, + { 0x0E4D, 0x0E4D }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB9 }, + { 0x0EBB, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EC6, 0x0EC6 }, + { 0x0ECD, 0x0ECD }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F00 }, + { 0x0F40, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F71, 0x0F81 }, + { 0x0F88, 0x0F8B }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x1000, 0x1036 }, + { 0x1038, 0x1038 }, + { 0x103B, 0x103F }, + { 0x1050, 0x1062 }, + { 0x1065, 0x1068 }, + { 0x106E, 0x1086 }, + { 0x108E, 0x108E }, + { 0x10A0, 0x10C5 }, + { 0x10D0, 0x10FA }, + { 0x10FC, 0x10FC }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x135F, 0x135F }, + { 0x1380, 0x138F }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x166C }, + { 0x166F, 0x1676 }, + { 0x1681, 0x169A }, + { 0x16A0, 0x16EA }, + { 0x16EE, 0x16F0 }, + { 0x1700, 0x170C }, + { 0x170E, 0x1713 }, + { 0x1720, 0x1733 }, + { 0x1740, 0x1753 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1772, 0x1773 }, + { 0x1780, 0x17B3 }, + { 0x17B6, 0x17C8 }, + { 0x17D7, 0x17D7 }, + { 0x17DC, 0x17DC }, + { 0x1820, 0x1877 }, + { 0x1880, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1920, 0x192B }, + { 0x1930, 0x1938 }, + { 0x1950, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19B0, 0x19C9 }, + { 0x1A00, 0x1A1B }, + { 0x1B00, 0x1B33 }, + { 0x1B35, 0x1B43 }, + { 0x1B45, 0x1B4B }, + { 0x1B80, 0x1BA9 }, + { 0x1BAE, 0x1BAF }, + { 0x1C00, 0x1C35 }, + { 0x1C4D, 0x1C4F }, + { 0x1C5A, 0x1C7D }, + { 0x1D00, 0x1DBF }, + { 0x1E00, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FBC }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FC4 }, + { 0x1FC6, 0x1FCC }, + { 0x1FD0, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FE0, 0x1FEC }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFC }, + { 0x2071, 0x2071 }, + { 0x207F, 0x207F }, + { 0x2090, 0x2094 }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2119, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x2128 }, + { 0x212A, 0x212D }, + { 0x212F, 0x2139 }, + { 0x213C, 0x213F }, + { 0x2145, 0x2149 }, + { 0x214E, 0x214E }, + { 0x2160, 0x2188 }, + { 0x24B6, 0x24E9 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CE4 }, + { 0x2D00, 0x2D25 }, + { 0x2D30, 0x2D65 }, + { 0x2D6F, 0x2D6F }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x2DE0, 0x2DFF }, + { 0x2E2F, 0x2E2F }, + { 0x3005, 0x3007 }, + { 0x3021, 0x3029 }, + { 0x3031, 0x3035 }, + { 0x3038, 0x303C }, + { 0x3041, 0x3096 }, + { 0x309D, 0x309F }, + { 0x30A1, 0x30FA }, + { 0x30FC, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x31A0, 0x31B7 }, + { 0x31F0, 0x31FF }, + { 0x3400, 0x4DB5 }, + { 0x4E00, 0x9FC3 }, + { 0xA000, 0xA48C }, + { 0xA500, 0xA60C }, + { 0xA610, 0xA61F }, + { 0xA62A, 0xA62B }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA66E }, + { 0xA67F, 0xA697 }, + { 0xA717, 0xA71F }, + { 0xA722, 0xA788 }, + { 0xA78B, 0xA78C }, + { 0xA7FB, 0xA801 }, + { 0xA803, 0xA805 }, + { 0xA807, 0xA80A }, + { 0xA80C, 0xA827 }, + { 0xA840, 0xA873 }, + { 0xA880, 0xA8C3 }, + { 0xA90A, 0xA92A }, + { 0xA930, 0xA952 }, + { 0xAA00, 0xAA36 }, + { 0xAA40, 0xAA4D }, + { 0xAC00, 0xD7A3 }, + { 0xF900, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB28 }, + { 0xFB2A, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFD3D }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDFB }, + { 0xFE70, 0xFE74 }, + { 0xFE76, 0xFEFC }, + { 0xFF21, 0xFF3A }, + { 0xFF41, 0xFF5A }, + { 0xFF66, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10140, 0x10174 }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10330, 0x1034A }, + { 0x10380, 0x1039D }, + { 0x103A0, 0x103C3 }, + { 0x103C8, 0x103CF }, + { 0x103D1, 0x103D5 }, + { 0x10400, 0x1049D }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10915 }, + { 0x10920, 0x10939 }, + { 0x10A00, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x12000, 0x1236E }, + { 0x12400, 0x12462 }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6FA }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D734 }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D76E }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D7A8 }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7CB }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D } + +#define PREDICATE(c) uc_is_property_alphabetic (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_ascii_hex_digit.c b/tests/unictype/test-pr_ascii_hex_digit.c new file mode 100644 index 00000000..df600d7b --- /dev/null +++ b/tests/unictype/test-pr_ascii_hex_digit.c @@ -0,0 +1,25 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 }, + { 0x0041, 0x0046 }, + { 0x0061, 0x0066 } + +#define PREDICATE(c) uc_is_property_ascii_hex_digit (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_arabic_digit.c b/tests/unictype/test-pr_bidi_arabic_digit.c new file mode 100644 index 00000000..f4e4edb8 --- /dev/null +++ b/tests/unictype/test-pr_bidi_arabic_digit.c @@ -0,0 +1,26 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0600, 0x0603 }, + { 0x0660, 0x0669 }, + { 0x066B, 0x066C }, + { 0x06DD, 0x06DD } + +#define PREDICATE(c) uc_is_property_bidi_arabic_digit (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_arabic_right_to_left.c b/tests/unictype/test-pr_bidi_arabic_right_to_left.c new file mode 100644 index 00000000..f329ccf1 --- /dev/null +++ b/tests/unictype/test-pr_bidi_arabic_right_to_left.c @@ -0,0 +1,47 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0604, 0x0605 }, + { 0x0608, 0x0608 }, + { 0x060B, 0x060B }, + { 0x060D, 0x060D }, + { 0x061B, 0x064A }, + { 0x065F, 0x065F }, + { 0x066D, 0x066F }, + { 0x0671, 0x06D5 }, + { 0x06E5, 0x06E6 }, + { 0x06EE, 0x06EF }, + { 0x06FA, 0x070E }, + { 0x0710, 0x0710 }, + { 0x0712, 0x072F }, + { 0x074B, 0x07A5 }, + { 0x07B1, 0x07BF }, + { 0x2065, 0x2069 }, + { 0xFB50, 0xFD3D }, + { 0xFD40, 0xFDCF }, + { 0xFDF0, 0xFDFC }, + { 0xFDFE, 0xFDFF }, + { 0xFE1A, 0xFE1F }, + { 0xFE27, 0xFE2F }, + { 0xFE53, 0xFE53 }, + { 0xFE67, 0xFE67 }, + { 0xFE6C, 0xFEFE } + +#define PREDICATE(c) uc_is_property_bidi_arabic_right_to_left (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_block_separator.c b/tests/unictype/test-pr_bidi_block_separator.c new file mode 100644 index 00000000..4b4353d2 --- /dev/null +++ b/tests/unictype/test-pr_bidi_block_separator.c @@ -0,0 +1,27 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x000A, 0x000A }, + { 0x000D, 0x000D }, + { 0x001C, 0x001E }, + { 0x0085, 0x0085 }, + { 0x2029, 0x2029 } + +#define PREDICATE(c) uc_is_property_bidi_block_separator (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_boundary_neutral.c b/tests/unictype/test-pr_bidi_boundary_neutral.c new file mode 100644 index 00000000..19a67d1b --- /dev/null +++ b/tests/unictype/test-pr_bidi_boundary_neutral.c @@ -0,0 +1,53 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0000, 0x0008 }, + { 0x000E, 0x001B }, + { 0x007F, 0x0084 }, + { 0x0086, 0x009F }, + { 0x00AD, 0x00AD }, + { 0x070F, 0x070F }, + { 0x200B, 0x200D }, + { 0x2060, 0x2064 }, + { 0x206A, 0x206F }, + { 0xFDD0, 0xFDEF }, + { 0xFEFF, 0xFEFF }, + { 0xFFF0, 0xFFF8 }, + { 0xFFFE, 0xFFFF }, + { 0x1D173, 0x1D17A }, + { 0x1FFFE, 0x1FFFF }, + { 0x2FFFE, 0x2FFFF }, + { 0x3FFFE, 0x3FFFF }, + { 0x4FFFE, 0x4FFFF }, + { 0x5FFFE, 0x5FFFF }, + { 0x6FFFE, 0x6FFFF }, + { 0x7FFFE, 0x7FFFF }, + { 0x8FFFE, 0x8FFFF }, + { 0x9FFFE, 0x9FFFF }, + { 0xAFFFE, 0xAFFFF }, + { 0xBFFFE, 0xBFFFF }, + { 0xCFFFE, 0xCFFFF }, + { 0xDFFFE, 0xE00FF }, + { 0xE01F0, 0xE0FFF }, + { 0xEFFFE, 0xEFFFF }, + { 0xFFFFE, 0xFFFFF }, + { 0x10FFFE, 0x10FFFF } + +#define PREDICATE(c) uc_is_property_bidi_boundary_neutral (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_common_separator.c b/tests/unictype/test-pr_bidi_common_separator.c new file mode 100644 index 00000000..eeca1825 --- /dev/null +++ b/tests/unictype/test-pr_bidi_common_separator.c @@ -0,0 +1,35 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x002C, 0x002C }, + { 0x002E, 0x002F }, + { 0x003A, 0x003A }, + { 0x00A0, 0x00A0 }, + { 0x060C, 0x060C }, + { 0x202F, 0x202F }, + { 0x2044, 0x2044 }, + { 0xFE50, 0xFE50 }, + { 0xFE52, 0xFE52 }, + { 0xFE55, 0xFE55 }, + { 0xFF0C, 0xFF0C }, + { 0xFF0E, 0xFF0F }, + { 0xFF1A, 0xFF1A } + +#define PREDICATE(c) uc_is_property_bidi_common_separator (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_control.c b/tests/unictype/test-pr_bidi_control.c new file mode 100644 index 00000000..151f116f --- /dev/null +++ b/tests/unictype/test-pr_bidi_control.c @@ -0,0 +1,24 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x200E, 0x200F }, + { 0x202A, 0x202E } + +#define PREDICATE(c) uc_is_property_bidi_control (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_embedding_or_override.c b/tests/unictype/test-pr_bidi_embedding_or_override.c new file mode 100644 index 00000000..4a977170 --- /dev/null +++ b/tests/unictype/test-pr_bidi_embedding_or_override.c @@ -0,0 +1,24 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x202A, 0x202B }, + { 0x202D, 0x202E } + +#define PREDICATE(c) uc_is_property_bidi_embedding_or_override (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_eur_num_separator.c b/tests/unictype/test-pr_bidi_eur_num_separator.c new file mode 100644 index 00000000..9b984f6b --- /dev/null +++ b/tests/unictype/test-pr_bidi_eur_num_separator.c @@ -0,0 +1,31 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x002B, 0x002B }, + { 0x002D, 0x002D }, + { 0x207A, 0x207B }, + { 0x208A, 0x208B }, + { 0x2212, 0x2212 }, + { 0xFB29, 0xFB29 }, + { 0xFE62, 0xFE63 }, + { 0xFF0B, 0xFF0B }, + { 0xFF0D, 0xFF0D } + +#define PREDICATE(c) uc_is_property_bidi_eur_num_separator (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_eur_num_terminator.c b/tests/unictype/test-pr_bidi_eur_num_terminator.c new file mode 100644 index 00000000..22f28381 --- /dev/null +++ b/tests/unictype/test-pr_bidi_eur_num_terminator.c @@ -0,0 +1,41 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0023, 0x0025 }, + { 0x00A2, 0x00A5 }, + { 0x00B0, 0x00B1 }, + { 0x0609, 0x060A }, + { 0x066A, 0x066A }, + { 0x09F2, 0x09F3 }, + { 0x0AF1, 0x0AF1 }, + { 0x0BF9, 0x0BF9 }, + { 0x0E3F, 0x0E3F }, + { 0x17DB, 0x17DB }, + { 0x2030, 0x2034 }, + { 0x20A0, 0x20B5 }, + { 0x212E, 0x212E }, + { 0x2213, 0x2213 }, + { 0xFE5F, 0xFE5F }, + { 0xFE69, 0xFE6A }, + { 0xFF03, 0xFF05 }, + { 0xFFE0, 0xFFE1 }, + { 0xFFE5, 0xFFE6 } + +#define PREDICATE(c) uc_is_property_bidi_eur_num_terminator (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_european_digit.c b/tests/unictype/test-pr_bidi_european_digit.c new file mode 100644 index 00000000..63a3a87c --- /dev/null +++ b/tests/unictype/test-pr_bidi_european_digit.c @@ -0,0 +1,32 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 }, + { 0x00B2, 0x00B3 }, + { 0x00B9, 0x00B9 }, + { 0x06F0, 0x06F9 }, + { 0x2070, 0x2070 }, + { 0x2074, 0x2079 }, + { 0x2080, 0x2089 }, + { 0x2488, 0x249B }, + { 0xFF10, 0xFF19 }, + { 0x1D7CE, 0x1D7FF } + +#define PREDICATE(c) uc_is_property_bidi_european_digit (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_hebrew_right_to_left.c b/tests/unictype/test-pr_bidi_hebrew_right_to_left.c new file mode 100644 index 00000000..5a0a4e4b --- /dev/null +++ b/tests/unictype/test-pr_bidi_hebrew_right_to_left.c @@ -0,0 +1,42 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0590, 0x0590 }, + { 0x05BE, 0x05BE }, + { 0x05C0, 0x05C0 }, + { 0x05C3, 0x05C3 }, + { 0x05C6, 0x05C6 }, + { 0x05C8, 0x05FF }, + { 0x07C0, 0x07EA }, + { 0x07F4, 0x07F5 }, + { 0x07FA, 0x08FF }, + { 0x200F, 0x200F }, + { 0xFB1D, 0xFB1D }, + { 0xFB1F, 0xFB28 }, + { 0xFB2A, 0xFB4F }, + { 0x10800, 0x1091E }, + { 0x10920, 0x10A00 }, + { 0x10A04, 0x10A04 }, + { 0x10A07, 0x10A0B }, + { 0x10A10, 0x10A37 }, + { 0x10A3B, 0x10A3E }, + { 0x10A40, 0x10FFF } + +#define PREDICATE(c) uc_is_property_bidi_hebrew_right_to_left (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_left_to_right.c b/tests/unictype/test-pr_bidi_left_to_right.c new file mode 100644 index 00000000..09617edb --- /dev/null +++ b/tests/unictype/test-pr_bidi_left_to_right.c @@ -0,0 +1,295 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0041, 0x005A }, + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00BA, 0x00BA }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00F6 }, + { 0x00F8, 0x02B8 }, + { 0x02BB, 0x02C1 }, + { 0x02D0, 0x02D1 }, + { 0x02E0, 0x02E4 }, + { 0x02EE, 0x02EE }, + { 0x0370, 0x0373 }, + { 0x0376, 0x037D }, + { 0x037F, 0x0383 }, + { 0x0386, 0x0386 }, + { 0x0388, 0x03F5 }, + { 0x03F7, 0x0482 }, + { 0x048A, 0x0589 }, + { 0x058B, 0x058F }, + { 0x0900, 0x0900 }, + { 0x0903, 0x093B }, + { 0x093D, 0x0940 }, + { 0x0949, 0x094C }, + { 0x094E, 0x0950 }, + { 0x0955, 0x0961 }, + { 0x0964, 0x0980 }, + { 0x0982, 0x09BB }, + { 0x09BD, 0x09C0 }, + { 0x09C5, 0x09CC }, + { 0x09CE, 0x09E1 }, + { 0x09E4, 0x09F1 }, + { 0x09F4, 0x0A00 }, + { 0x0A03, 0x0A3B }, + { 0x0A3D, 0x0A40 }, + { 0x0A43, 0x0A46 }, + { 0x0A49, 0x0A4A }, + { 0x0A4E, 0x0A50 }, + { 0x0A52, 0x0A6F }, + { 0x0A72, 0x0A74 }, + { 0x0A76, 0x0A80 }, + { 0x0A83, 0x0ABB }, + { 0x0ABD, 0x0AC0 }, + { 0x0AC6, 0x0AC6 }, + { 0x0AC9, 0x0ACC }, + { 0x0ACE, 0x0AE1 }, + { 0x0AE4, 0x0AF0 }, + { 0x0AF2, 0x0B00 }, + { 0x0B02, 0x0B3B }, + { 0x0B3D, 0x0B3E }, + { 0x0B40, 0x0B40 }, + { 0x0B45, 0x0B4C }, + { 0x0B4E, 0x0B55 }, + { 0x0B57, 0x0B61 }, + { 0x0B64, 0x0B81 }, + { 0x0B83, 0x0BBF }, + { 0x0BC1, 0x0BCC }, + { 0x0BCE, 0x0BF2 }, + { 0x0BFB, 0x0C3D }, + { 0x0C41, 0x0C45 }, + { 0x0C49, 0x0C49 }, + { 0x0C4E, 0x0C54 }, + { 0x0C57, 0x0C61 }, + { 0x0C64, 0x0C77 }, + { 0x0C7F, 0x0CBB }, + { 0x0CBD, 0x0CCB }, + { 0x0CCE, 0x0CE1 }, + { 0x0CE4, 0x0CF0 }, + { 0x0CF3, 0x0D40 }, + { 0x0D45, 0x0D4C }, + { 0x0D4E, 0x0D61 }, + { 0x0D64, 0x0DC9 }, + { 0x0DCB, 0x0DD1 }, + { 0x0DD5, 0x0DD5 }, + { 0x0DD7, 0x0E30 }, + { 0x0E32, 0x0E33 }, + { 0x0E3B, 0x0E3E }, + { 0x0E40, 0x0E46 }, + { 0x0E4F, 0x0EB0 }, + { 0x0EB2, 0x0EB3 }, + { 0x0EBA, 0x0EBA }, + { 0x0EBD, 0x0EC7 }, + { 0x0ECE, 0x0F17 }, + { 0x0F1A, 0x0F34 }, + { 0x0F36, 0x0F36 }, + { 0x0F38, 0x0F38 }, + { 0x0F3E, 0x0F70 }, + { 0x0F7F, 0x0F7F }, + { 0x0F85, 0x0F85 }, + { 0x0F88, 0x0F8F }, + { 0x0F98, 0x0F98 }, + { 0x0FBD, 0x0FC5 }, + { 0x0FC7, 0x102C }, + { 0x1031, 0x1031 }, + { 0x1038, 0x1038 }, + { 0x103B, 0x103C }, + { 0x103F, 0x1057 }, + { 0x105A, 0x105D }, + { 0x1061, 0x1070 }, + { 0x1075, 0x1081 }, + { 0x1083, 0x1084 }, + { 0x1087, 0x108C }, + { 0x108E, 0x135E }, + { 0x1360, 0x138F }, + { 0x139A, 0x167F }, + { 0x1681, 0x169A }, + { 0x169D, 0x1711 }, + { 0x1715, 0x1731 }, + { 0x1735, 0x1751 }, + { 0x1754, 0x1771 }, + { 0x1774, 0x17B6 }, + { 0x17BE, 0x17C5 }, + { 0x17C7, 0x17C8 }, + { 0x17D4, 0x17DA }, + { 0x17DC, 0x17DC }, + { 0x17DE, 0x17EF }, + { 0x17FA, 0x17FF }, + { 0x180F, 0x18A8 }, + { 0x18AA, 0x191F }, + { 0x1923, 0x1926 }, + { 0x1929, 0x1931 }, + { 0x1933, 0x1938 }, + { 0x193C, 0x193F }, + { 0x1941, 0x1943 }, + { 0x1946, 0x19DD }, + { 0x1A00, 0x1A16 }, + { 0x1A19, 0x1AFF }, + { 0x1B04, 0x1B33 }, + { 0x1B35, 0x1B35 }, + { 0x1B3B, 0x1B3B }, + { 0x1B3D, 0x1B41 }, + { 0x1B43, 0x1B6A }, + { 0x1B74, 0x1B7F }, + { 0x1B82, 0x1BA1 }, + { 0x1BA6, 0x1BA7 }, + { 0x1BAA, 0x1C2B }, + { 0x1C34, 0x1C35 }, + { 0x1C38, 0x1DBF }, + { 0x1DE7, 0x1DFD }, + { 0x1E00, 0x1FBC }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FCC }, + { 0x1FD0, 0x1FDC }, + { 0x1FE0, 0x1FEC }, + { 0x1FF0, 0x1FFC }, + { 0x1FFF, 0x1FFF }, + { 0x200E, 0x200E }, + { 0x2071, 0x2073 }, + { 0x207F, 0x207F }, + { 0x208F, 0x209F }, + { 0x20B6, 0x20CF }, + { 0x20F1, 0x20FF }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2119, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x2128 }, + { 0x212A, 0x212D }, + { 0x212F, 0x2139 }, + { 0x213C, 0x213F }, + { 0x2145, 0x2149 }, + { 0x214E, 0x2152 }, + { 0x2160, 0x218F }, + { 0x2336, 0x237A }, + { 0x2395, 0x2395 }, + { 0x23E8, 0x23FF }, + { 0x2427, 0x243F }, + { 0x244B, 0x245F }, + { 0x249C, 0x24E9 }, + { 0x269E, 0x269F }, + { 0x26AC, 0x26AC }, + { 0x26BD, 0x26BF }, + { 0x26C4, 0x2700 }, + { 0x2705, 0x2705 }, + { 0x270A, 0x270B }, + { 0x2728, 0x2728 }, + { 0x274C, 0x274C }, + { 0x274E, 0x274E }, + { 0x2753, 0x2755 }, + { 0x2757, 0x2757 }, + { 0x275F, 0x2760 }, + { 0x2795, 0x2797 }, + { 0x27B0, 0x27B0 }, + { 0x27BF, 0x27BF }, + { 0x27CB, 0x27CB }, + { 0x27CD, 0x27CF }, + { 0x2800, 0x28FF }, + { 0x2B4D, 0x2B4F }, + { 0x2B55, 0x2CE4 }, + { 0x2CEB, 0x2CF8 }, + { 0x2D00, 0x2DDF }, + { 0x2E31, 0x2E7F }, + { 0x2E9A, 0x2E9A }, + { 0x2EF4, 0x2EFF }, + { 0x2FD6, 0x2FEF }, + { 0x2FFC, 0x2FFF }, + { 0x3005, 0x3007 }, + { 0x3021, 0x3029 }, + { 0x3031, 0x3035 }, + { 0x3038, 0x303C }, + { 0x3040, 0x3098 }, + { 0x309D, 0x309F }, + { 0x30A1, 0x30FA }, + { 0x30FC, 0x31BF }, + { 0x31E4, 0x321C }, + { 0x321F, 0x324F }, + { 0x3260, 0x327B }, + { 0x327F, 0x32B0 }, + { 0x32C0, 0x32CB }, + { 0x32D0, 0x3376 }, + { 0x337B, 0x33DD }, + { 0x33E0, 0x33FE }, + { 0x3400, 0x4DBF }, + { 0x4E00, 0xA48F }, + { 0xA4C7, 0xA60C }, + { 0xA610, 0xA66E }, + { 0xA674, 0xA67B }, + { 0xA680, 0xA6FF }, + { 0xA722, 0xA787 }, + { 0xA789, 0xA801 }, + { 0xA803, 0xA805 }, + { 0xA807, 0xA80A }, + { 0xA80C, 0xA824 }, + { 0xA827, 0xA827 }, + { 0xA82C, 0xA873 }, + { 0xA878, 0xA8C3 }, + { 0xA8C5, 0xA925 }, + { 0xA92E, 0xA946 }, + { 0xA952, 0xAA28 }, + { 0xAA2F, 0xAA30 }, + { 0xAA33, 0xAA34 }, + { 0xAA37, 0xAA42 }, + { 0xAA44, 0xAA4B }, + { 0xAA4D, 0xFB1C }, + { 0xFF00, 0xFF00 }, + { 0xFF21, 0xFF3A }, + { 0xFF41, 0xFF5A }, + { 0xFF66, 0xFFDF }, + { 0xFFE7, 0xFFE7 }, + { 0xFFEF, 0xFFEF }, + { 0x10000, 0x10100 }, + { 0x10102, 0x1013F }, + { 0x1018B, 0x1018F }, + { 0x1019C, 0x101FC }, + { 0x101FE, 0x107FF }, + { 0x11000, 0x1D166 }, + { 0x1D16A, 0x1D172 }, + { 0x1D183, 0x1D184 }, + { 0x1D18C, 0x1D1A9 }, + { 0x1D1AE, 0x1D1FF }, + { 0x1D246, 0x1D2FF }, + { 0x1D357, 0x1D7CD }, + { 0x1D800, 0x1EFFF }, + { 0x1F02C, 0x1F02F }, + { 0x1F094, 0x1FFFD }, + { 0x20000, 0x2FFFD }, + { 0x30000, 0x3FFFD }, + { 0x40000, 0x4FFFD }, + { 0x50000, 0x5FFFD }, + { 0x60000, 0x6FFFD }, + { 0x70000, 0x7FFFD }, + { 0x80000, 0x8FFFD }, + { 0x90000, 0x9FFFD }, + { 0xA0000, 0xAFFFD }, + { 0xB0000, 0xBFFFD }, + { 0xC0000, 0xCFFFD }, + { 0xD0000, 0xDFFFD }, + { 0xE1000, 0xEFFFD }, + { 0xF0000, 0xFFFFD }, + { 0x100000, 0x10FFFD } + +#define PREDICATE(c) uc_is_property_bidi_left_to_right (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_non_spacing_mark.c b/tests/unictype/test-pr_bidi_non_spacing_mark.c new file mode 100644 index 00000000..927ab845 --- /dev/null +++ b/tests/unictype/test-pr_bidi_non_spacing_mark.c @@ -0,0 +1,178 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0300, 0x036F }, + { 0x0483, 0x0489 }, + { 0x0591, 0x05BD }, + { 0x05BF, 0x05BF }, + { 0x05C1, 0x05C2 }, + { 0x05C4, 0x05C5 }, + { 0x05C7, 0x05C7 }, + { 0x0610, 0x061A }, + { 0x064B, 0x065E }, + { 0x0670, 0x0670 }, + { 0x06D6, 0x06DC }, + { 0x06DE, 0x06E4 }, + { 0x06E7, 0x06E8 }, + { 0x06EA, 0x06ED }, + { 0x0711, 0x0711 }, + { 0x0730, 0x074A }, + { 0x07A6, 0x07B0 }, + { 0x07EB, 0x07F3 }, + { 0x0901, 0x0902 }, + { 0x093C, 0x093C }, + { 0x0941, 0x0948 }, + { 0x094D, 0x094D }, + { 0x0951, 0x0954 }, + { 0x0962, 0x0963 }, + { 0x0981, 0x0981 }, + { 0x09BC, 0x09BC }, + { 0x09C1, 0x09C4 }, + { 0x09CD, 0x09CD }, + { 0x09E2, 0x09E3 }, + { 0x0A01, 0x0A02 }, + { 0x0A3C, 0x0A3C }, + { 0x0A41, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4D }, + { 0x0A51, 0x0A51 }, + { 0x0A70, 0x0A71 }, + { 0x0A75, 0x0A75 }, + { 0x0A81, 0x0A82 }, + { 0x0ABC, 0x0ABC }, + { 0x0AC1, 0x0AC5 }, + { 0x0AC7, 0x0AC8 }, + { 0x0ACD, 0x0ACD }, + { 0x0AE2, 0x0AE3 }, + { 0x0B01, 0x0B01 }, + { 0x0B3C, 0x0B3C }, + { 0x0B3F, 0x0B3F }, + { 0x0B41, 0x0B44 }, + { 0x0B4D, 0x0B4D }, + { 0x0B56, 0x0B56 }, + { 0x0B62, 0x0B63 }, + { 0x0B82, 0x0B82 }, + { 0x0BC0, 0x0BC0 }, + { 0x0BCD, 0x0BCD }, + { 0x0C3E, 0x0C40 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4D }, + { 0x0C55, 0x0C56 }, + { 0x0C62, 0x0C63 }, + { 0x0CBC, 0x0CBC }, + { 0x0CCC, 0x0CCD }, + { 0x0CE2, 0x0CE3 }, + { 0x0D41, 0x0D44 }, + { 0x0D4D, 0x0D4D }, + { 0x0D62, 0x0D63 }, + { 0x0DCA, 0x0DCA }, + { 0x0DD2, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0E31, 0x0E31 }, + { 0x0E34, 0x0E3A }, + { 0x0E47, 0x0E4E }, + { 0x0EB1, 0x0EB1 }, + { 0x0EB4, 0x0EB9 }, + { 0x0EBB, 0x0EBC }, + { 0x0EC8, 0x0ECD }, + { 0x0F18, 0x0F19 }, + { 0x0F35, 0x0F35 }, + { 0x0F37, 0x0F37 }, + { 0x0F39, 0x0F39 }, + { 0x0F71, 0x0F7E }, + { 0x0F80, 0x0F84 }, + { 0x0F86, 0x0F87 }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x0FC6, 0x0FC6 }, + { 0x102D, 0x1030 }, + { 0x1032, 0x1037 }, + { 0x1039, 0x103A }, + { 0x103D, 0x103E }, + { 0x1058, 0x1059 }, + { 0x105E, 0x1060 }, + { 0x1071, 0x1074 }, + { 0x1082, 0x1082 }, + { 0x1085, 0x1086 }, + { 0x108D, 0x108D }, + { 0x135F, 0x135F }, + { 0x1712, 0x1714 }, + { 0x1732, 0x1734 }, + { 0x1752, 0x1753 }, + { 0x1772, 0x1773 }, + { 0x17B7, 0x17BD }, + { 0x17C6, 0x17C6 }, + { 0x17C9, 0x17D3 }, + { 0x17DD, 0x17DD }, + { 0x180B, 0x180D }, + { 0x18A9, 0x18A9 }, + { 0x1920, 0x1922 }, + { 0x1927, 0x1928 }, + { 0x1932, 0x1932 }, + { 0x1939, 0x193B }, + { 0x1A17, 0x1A18 }, + { 0x1B00, 0x1B03 }, + { 0x1B34, 0x1B34 }, + { 0x1B36, 0x1B3A }, + { 0x1B3C, 0x1B3C }, + { 0x1B42, 0x1B42 }, + { 0x1B6B, 0x1B73 }, + { 0x1B80, 0x1B81 }, + { 0x1BA2, 0x1BA5 }, + { 0x1BA8, 0x1BA9 }, + { 0x1C2C, 0x1C33 }, + { 0x1C36, 0x1C37 }, + { 0x1DC0, 0x1DE6 }, + { 0x1DFE, 0x1DFF }, + { 0x20D0, 0x20F0 }, + { 0x2DE0, 0x2DFF }, + { 0x302A, 0x302F }, + { 0x3099, 0x309A }, + { 0xA66F, 0xA672 }, + { 0xA67C, 0xA67D }, + { 0xA802, 0xA802 }, + { 0xA806, 0xA806 }, + { 0xA80B, 0xA80B }, + { 0xA825, 0xA826 }, + { 0xA8C4, 0xA8C4 }, + { 0xA926, 0xA92D }, + { 0xA947, 0xA951 }, + { 0xAA29, 0xAA2E }, + { 0xAA31, 0xAA32 }, + { 0xAA35, 0xAA36 }, + { 0xAA43, 0xAA43 }, + { 0xAA4C, 0xAA4C }, + { 0xFB1E, 0xFB1E }, + { 0xFE00, 0xFE0F }, + { 0xFE20, 0xFE26 }, + { 0x101FD, 0x101FD }, + { 0x10A01, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A0F }, + { 0x10A38, 0x10A3A }, + { 0x10A3F, 0x10A3F }, + { 0x1D167, 0x1D169 }, + { 0x1D17B, 0x1D182 }, + { 0x1D185, 0x1D18B }, + { 0x1D1AA, 0x1D1AD }, + { 0x1D242, 0x1D244 }, + { 0xE0100, 0xE01EF } + +#define PREDICATE(c) uc_is_property_bidi_non_spacing_mark (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_other_neutral.c b/tests/unictype/test-pr_bidi_other_neutral.c new file mode 100644 index 00000000..b3efed8b --- /dev/null +++ b/tests/unictype/test-pr_bidi_other_neutral.c @@ -0,0 +1,175 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0021, 0x0022 }, + { 0x0026, 0x002A }, + { 0x003B, 0x0040 }, + { 0x005B, 0x0060 }, + { 0x007B, 0x007E }, + { 0x00A1, 0x00A1 }, + { 0x00A6, 0x00A9 }, + { 0x00AB, 0x00AC }, + { 0x00AE, 0x00AF }, + { 0x00B4, 0x00B4 }, + { 0x00B6, 0x00B8 }, + { 0x00BB, 0x00BF }, + { 0x00D7, 0x00D7 }, + { 0x00F7, 0x00F7 }, + { 0x02B9, 0x02BA }, + { 0x02C2, 0x02CF }, + { 0x02D2, 0x02DF }, + { 0x02E5, 0x02ED }, + { 0x02EF, 0x02FF }, + { 0x0374, 0x0375 }, + { 0x037E, 0x037E }, + { 0x0384, 0x0385 }, + { 0x0387, 0x0387 }, + { 0x03F6, 0x03F6 }, + { 0x058A, 0x058A }, + { 0x0606, 0x0607 }, + { 0x060E, 0x060F }, + { 0x06E9, 0x06E9 }, + { 0x07F6, 0x07F9 }, + { 0x0BF3, 0x0BF8 }, + { 0x0BFA, 0x0BFA }, + { 0x0C78, 0x0C7E }, + { 0x0CF1, 0x0CF2 }, + { 0x0F3A, 0x0F3D }, + { 0x1390, 0x1399 }, + { 0x169B, 0x169C }, + { 0x17F0, 0x17F9 }, + { 0x1800, 0x180A }, + { 0x1940, 0x1940 }, + { 0x1944, 0x1945 }, + { 0x19DE, 0x19FF }, + { 0x1FBD, 0x1FBD }, + { 0x1FBF, 0x1FC1 }, + { 0x1FCD, 0x1FCF }, + { 0x1FDD, 0x1FDF }, + { 0x1FED, 0x1FEF }, + { 0x1FFD, 0x1FFE }, + { 0x2010, 0x2027 }, + { 0x2035, 0x2043 }, + { 0x2045, 0x205E }, + { 0x207C, 0x207E }, + { 0x208C, 0x208E }, + { 0x2100, 0x2101 }, + { 0x2103, 0x2106 }, + { 0x2108, 0x2109 }, + { 0x2114, 0x2114 }, + { 0x2116, 0x2118 }, + { 0x211E, 0x2123 }, + { 0x2125, 0x2125 }, + { 0x2127, 0x2127 }, + { 0x2129, 0x2129 }, + { 0x213A, 0x213B }, + { 0x2140, 0x2144 }, + { 0x214A, 0x214D }, + { 0x2153, 0x215F }, + { 0x2190, 0x2211 }, + { 0x2214, 0x2335 }, + { 0x237B, 0x2394 }, + { 0x2396, 0x23E7 }, + { 0x2400, 0x2426 }, + { 0x2440, 0x244A }, + { 0x2460, 0x2487 }, + { 0x24EA, 0x269D }, + { 0x26A0, 0x26AB }, + { 0x26AD, 0x26BC }, + { 0x26C0, 0x26C3 }, + { 0x2701, 0x2704 }, + { 0x2706, 0x2709 }, + { 0x270C, 0x2727 }, + { 0x2729, 0x274B }, + { 0x274D, 0x274D }, + { 0x274F, 0x2752 }, + { 0x2756, 0x2756 }, + { 0x2758, 0x275E }, + { 0x2761, 0x2794 }, + { 0x2798, 0x27AF }, + { 0x27B1, 0x27BE }, + { 0x27C0, 0x27CA }, + { 0x27CC, 0x27CC }, + { 0x27D0, 0x27FF }, + { 0x2900, 0x2B4C }, + { 0x2B50, 0x2B54 }, + { 0x2CE5, 0x2CEA }, + { 0x2CF9, 0x2CFF }, + { 0x2E00, 0x2E30 }, + { 0x2E80, 0x2E99 }, + { 0x2E9B, 0x2EF3 }, + { 0x2F00, 0x2FD5 }, + { 0x2FF0, 0x2FFB }, + { 0x3001, 0x3004 }, + { 0x3008, 0x3020 }, + { 0x3030, 0x3030 }, + { 0x3036, 0x3037 }, + { 0x303D, 0x303F }, + { 0x309B, 0x309C }, + { 0x30A0, 0x30A0 }, + { 0x30FB, 0x30FB }, + { 0x31C0, 0x31E3 }, + { 0x321D, 0x321E }, + { 0x3250, 0x325F }, + { 0x327C, 0x327E }, + { 0x32B1, 0x32BF }, + { 0x32CC, 0x32CF }, + { 0x3377, 0x337A }, + { 0x33DE, 0x33DF }, + { 0x33FF, 0x33FF }, + { 0x4DC0, 0x4DFF }, + { 0xA490, 0xA4C6 }, + { 0xA60D, 0xA60F }, + { 0xA673, 0xA673 }, + { 0xA67E, 0xA67F }, + { 0xA700, 0xA721 }, + { 0xA788, 0xA788 }, + { 0xA828, 0xA82B }, + { 0xA874, 0xA877 }, + { 0xFD3E, 0xFD3F }, + { 0xFDFD, 0xFDFD }, + { 0xFE10, 0xFE19 }, + { 0xFE30, 0xFE4F }, + { 0xFE51, 0xFE51 }, + { 0xFE54, 0xFE54 }, + { 0xFE56, 0xFE5E }, + { 0xFE60, 0xFE61 }, + { 0xFE64, 0xFE66 }, + { 0xFE68, 0xFE68 }, + { 0xFE6B, 0xFE6B }, + { 0xFF01, 0xFF02 }, + { 0xFF06, 0xFF0A }, + { 0xFF1B, 0xFF20 }, + { 0xFF3B, 0xFF40 }, + { 0xFF5B, 0xFF65 }, + { 0xFFE2, 0xFFE4 }, + { 0xFFE8, 0xFFEE }, + { 0xFFF9, 0xFFFD }, + { 0x10101, 0x10101 }, + { 0x10140, 0x1018A }, + { 0x10190, 0x1019B }, + { 0x1091F, 0x1091F }, + { 0x1D200, 0x1D241 }, + { 0x1D245, 0x1D245 }, + { 0x1D300, 0x1D356 }, + { 0x1F000, 0x1F02B }, + { 0x1F030, 0x1F093 } + +#define PREDICATE(c) uc_is_property_bidi_other_neutral (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_pdf.c b/tests/unictype/test-pr_bidi_pdf.c new file mode 100644 index 00000000..e8ff8dd8 --- /dev/null +++ b/tests/unictype/test-pr_bidi_pdf.c @@ -0,0 +1,23 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x202C, 0x202C } + +#define PREDICATE(c) uc_is_property_bidi_pdf (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_segment_separator.c b/tests/unictype/test-pr_bidi_segment_separator.c new file mode 100644 index 00000000..86ba97b4 --- /dev/null +++ b/tests/unictype/test-pr_bidi_segment_separator.c @@ -0,0 +1,25 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0009, 0x0009 }, + { 0x000B, 0x000B }, + { 0x001F, 0x001F } + +#define PREDICATE(c) uc_is_property_bidi_segment_separator (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_bidi_whitespace.c b/tests/unictype/test-pr_bidi_whitespace.c new file mode 100644 index 00000000..646ef4f4 --- /dev/null +++ b/tests/unictype/test-pr_bidi_whitespace.c @@ -0,0 +1,30 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x000C, 0x000C }, + { 0x0020, 0x0020 }, + { 0x1680, 0x1680 }, + { 0x180E, 0x180E }, + { 0x2000, 0x200A }, + { 0x2028, 0x2028 }, + { 0x205F, 0x205F }, + { 0x3000, 0x3000 } + +#define PREDICATE(c) uc_is_property_bidi_whitespace (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_byname.c b/tests/unictype/test-pr_byname.c new file mode 100644 index 00000000..770d4c8f --- /dev/null +++ b/tests/unictype/test-pr_byname.c @@ -0,0 +1,54 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + { + uc_property_t pr = uc_property_byname ("composite"); + unsigned int c; + + for (c = 0; c < 0x110000; c++) + ASSERT (uc_is_property (c, pr) == uc_is_property_composite (c)); + } + + { + uc_property_t pr = uc_property_byname ("foobar"); + ASSERT (! uc_property_is_valid (pr)); + } + + return 0; +} diff --git a/tests/unictype/test-pr_combining.c b/tests/unictype/test-pr_combining.c new file mode 100644 index 00000000..2a8377a3 --- /dev/null +++ b/tests/unictype/test-pr_combining.c @@ -0,0 +1,183 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0300, 0x036F }, + { 0x0483, 0x0489 }, + { 0x0591, 0x05BD }, + { 0x05BF, 0x05BF }, + { 0x05C1, 0x05C2 }, + { 0x05C4, 0x05C5 }, + { 0x05C7, 0x05C7 }, + { 0x0610, 0x061A }, + { 0x064B, 0x065E }, + { 0x0670, 0x0670 }, + { 0x06D6, 0x06DC }, + { 0x06DE, 0x06E4 }, + { 0x06E7, 0x06E8 }, + { 0x06EA, 0x06ED }, + { 0x0711, 0x0711 }, + { 0x0730, 0x074A }, + { 0x07A6, 0x07B0 }, + { 0x07EB, 0x07F3 }, + { 0x0901, 0x0903 }, + { 0x093C, 0x093C }, + { 0x093E, 0x094D }, + { 0x0951, 0x0954 }, + { 0x0962, 0x0963 }, + { 0x0981, 0x0983 }, + { 0x09BC, 0x09BC }, + { 0x09BE, 0x09C4 }, + { 0x09C7, 0x09C8 }, + { 0x09CB, 0x09CD }, + { 0x09D7, 0x09D7 }, + { 0x09E2, 0x09E3 }, + { 0x0A01, 0x0A03 }, + { 0x0A3C, 0x0A3C }, + { 0x0A3E, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4D }, + { 0x0A51, 0x0A51 }, + { 0x0A70, 0x0A71 }, + { 0x0A75, 0x0A75 }, + { 0x0A81, 0x0A83 }, + { 0x0ABC, 0x0ABC }, + { 0x0ABE, 0x0AC5 }, + { 0x0AC7, 0x0AC9 }, + { 0x0ACB, 0x0ACD }, + { 0x0AE2, 0x0AE3 }, + { 0x0B01, 0x0B03 }, + { 0x0B3C, 0x0B3C }, + { 0x0B3E, 0x0B44 }, + { 0x0B47, 0x0B48 }, + { 0x0B4B, 0x0B4D }, + { 0x0B56, 0x0B57 }, + { 0x0B62, 0x0B63 }, + { 0x0B82, 0x0B82 }, + { 0x0BBE, 0x0BC2 }, + { 0x0BC6, 0x0BC8 }, + { 0x0BCA, 0x0BCD }, + { 0x0BD7, 0x0BD7 }, + { 0x0C01, 0x0C03 }, + { 0x0C3E, 0x0C44 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4D }, + { 0x0C55, 0x0C56 }, + { 0x0C62, 0x0C63 }, + { 0x0C82, 0x0C83 }, + { 0x0CBC, 0x0CBC }, + { 0x0CBE, 0x0CC4 }, + { 0x0CC6, 0x0CC8 }, + { 0x0CCA, 0x0CCD }, + { 0x0CD5, 0x0CD6 }, + { 0x0CE2, 0x0CE3 }, + { 0x0D02, 0x0D03 }, + { 0x0D3E, 0x0D44 }, + { 0x0D46, 0x0D48 }, + { 0x0D4A, 0x0D4D }, + { 0x0D57, 0x0D57 }, + { 0x0D62, 0x0D63 }, + { 0x0D82, 0x0D83 }, + { 0x0DCA, 0x0DCA }, + { 0x0DCF, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0DD8, 0x0DDF }, + { 0x0DF2, 0x0DF3 }, + { 0x0E31, 0x0E31 }, + { 0x0E34, 0x0E3A }, + { 0x0E47, 0x0E4E }, + { 0x0EB1, 0x0EB1 }, + { 0x0EB4, 0x0EB9 }, + { 0x0EBB, 0x0EBC }, + { 0x0EC8, 0x0ECD }, + { 0x0F18, 0x0F19 }, + { 0x0F35, 0x0F35 }, + { 0x0F37, 0x0F37 }, + { 0x0F39, 0x0F39 }, + { 0x0F3E, 0x0F3F }, + { 0x0F71, 0x0F84 }, + { 0x0F86, 0x0F87 }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x0FC6, 0x0FC6 }, + { 0x102B, 0x103E }, + { 0x1056, 0x1059 }, + { 0x105E, 0x1060 }, + { 0x1062, 0x1064 }, + { 0x1067, 0x106D }, + { 0x1071, 0x1074 }, + { 0x1082, 0x108D }, + { 0x108F, 0x108F }, + { 0x135F, 0x135F }, + { 0x1712, 0x1714 }, + { 0x1732, 0x1734 }, + { 0x1752, 0x1753 }, + { 0x1772, 0x1773 }, + { 0x17B6, 0x17D3 }, + { 0x17DD, 0x17DD }, + { 0x180B, 0x180D }, + { 0x18A9, 0x18A9 }, + { 0x1920, 0x192B }, + { 0x1930, 0x193B }, + { 0x19B0, 0x19C0 }, + { 0x19C8, 0x19C9 }, + { 0x1A17, 0x1A1B }, + { 0x1B00, 0x1B04 }, + { 0x1B34, 0x1B44 }, + { 0x1B6B, 0x1B73 }, + { 0x1B80, 0x1B82 }, + { 0x1BA1, 0x1BAA }, + { 0x1C24, 0x1C37 }, + { 0x1DC0, 0x1DE6 }, + { 0x1DFE, 0x1DFF }, + { 0x20D0, 0x20F0 }, + { 0x2DE0, 0x2DFF }, + { 0x302A, 0x302F }, + { 0x3099, 0x309A }, + { 0xA66F, 0xA672 }, + { 0xA67C, 0xA67D }, + { 0xA802, 0xA802 }, + { 0xA806, 0xA806 }, + { 0xA80B, 0xA80B }, + { 0xA823, 0xA827 }, + { 0xA880, 0xA881 }, + { 0xA8B4, 0xA8C4 }, + { 0xA926, 0xA92D }, + { 0xA947, 0xA953 }, + { 0xAA29, 0xAA36 }, + { 0xAA43, 0xAA43 }, + { 0xAA4C, 0xAA4D }, + { 0xFB1E, 0xFB1E }, + { 0xFE00, 0xFE0F }, + { 0xFE20, 0xFE26 }, + { 0x101FD, 0x101FD }, + { 0x10A01, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A0F }, + { 0x10A38, 0x10A3A }, + { 0x10A3F, 0x10A3F }, + { 0x1D165, 0x1D169 }, + { 0x1D16D, 0x1D172 }, + { 0x1D17B, 0x1D182 }, + { 0x1D185, 0x1D18B }, + { 0x1D1AA, 0x1D1AD }, + { 0x1D242, 0x1D244 }, + { 0xE0100, 0xE01EF } + +#define PREDICATE(c) uc_is_property_combining (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_composite.c b/tests/unictype/test-pr_composite.c new file mode 100644 index 00000000..c7aff1e8 --- /dev/null +++ b/tests/unictype/test-pr_composite.c @@ -0,0 +1,291 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00BC, 0x00BE }, + { 0x00C0, 0x00C5 }, + { 0x00C7, 0x00CF }, + { 0x00D1, 0x00D6 }, + { 0x00D9, 0x00DD }, + { 0x00E0, 0x00E5 }, + { 0x00E7, 0x00EF }, + { 0x00F1, 0x00F6 }, + { 0x00F9, 0x00FD }, + { 0x00FF, 0x010F }, + { 0x0112, 0x0125 }, + { 0x0128, 0x0130 }, + { 0x0132, 0x0137 }, + { 0x0139, 0x0140 }, + { 0x0143, 0x0149 }, + { 0x014C, 0x0151 }, + { 0x0154, 0x0165 }, + { 0x0168, 0x017E }, + { 0x01A0, 0x01A1 }, + { 0x01AF, 0x01B0 }, + { 0x01C4, 0x01DC }, + { 0x01DE, 0x01E3 }, + { 0x01E6, 0x01F5 }, + { 0x01F8, 0x021B }, + { 0x021E, 0x021F }, + { 0x0226, 0x0233 }, + { 0x0344, 0x0344 }, + { 0x0385, 0x0386 }, + { 0x0388, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x0390 }, + { 0x03AA, 0x03B0 }, + { 0x03CA, 0x03CE }, + { 0x03D3, 0x03D4 }, + { 0x0400, 0x0401 }, + { 0x0403, 0x0403 }, + { 0x0407, 0x0407 }, + { 0x040C, 0x040E }, + { 0x0419, 0x0419 }, + { 0x0439, 0x0439 }, + { 0x0450, 0x0451 }, + { 0x0453, 0x0453 }, + { 0x0457, 0x0457 }, + { 0x045C, 0x045E }, + { 0x0476, 0x0477 }, + { 0x04C1, 0x04C2 }, + { 0x04D0, 0x04D3 }, + { 0x04D6, 0x04D7 }, + { 0x04DA, 0x04DF }, + { 0x04E2, 0x04E7 }, + { 0x04EA, 0x04F5 }, + { 0x04F8, 0x04F9 }, + { 0x0587, 0x0587 }, + { 0x0622, 0x0626 }, + { 0x0675, 0x0678 }, + { 0x06C0, 0x06C0 }, + { 0x06C2, 0x06C2 }, + { 0x06D3, 0x06D3 }, + { 0x0929, 0x0929 }, + { 0x0931, 0x0931 }, + { 0x0934, 0x0934 }, + { 0x0958, 0x095F }, + { 0x09CB, 0x09CC }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09DF }, + { 0x0A33, 0x0A33 }, + { 0x0A36, 0x0A36 }, + { 0x0A59, 0x0A5B }, + { 0x0A5E, 0x0A5E }, + { 0x0B48, 0x0B48 }, + { 0x0B4B, 0x0B4C }, + { 0x0B5C, 0x0B5D }, + { 0x0B94, 0x0B94 }, + { 0x0BCA, 0x0BCC }, + { 0x0C48, 0x0C48 }, + { 0x0CC0, 0x0CC0 }, + { 0x0CC7, 0x0CC8 }, + { 0x0CCA, 0x0CCB }, + { 0x0D4A, 0x0D4C }, + { 0x0DDA, 0x0DDA }, + { 0x0DDC, 0x0DDE }, + { 0x0E33, 0x0E33 }, + { 0x0EB3, 0x0EB3 }, + { 0x0EDC, 0x0EDD }, + { 0x0F43, 0x0F43 }, + { 0x0F4D, 0x0F4D }, + { 0x0F52, 0x0F52 }, + { 0x0F57, 0x0F57 }, + { 0x0F5C, 0x0F5C }, + { 0x0F69, 0x0F69 }, + { 0x0F73, 0x0F73 }, + { 0x0F75, 0x0F79 }, + { 0x0F81, 0x0F81 }, + { 0x0F93, 0x0F93 }, + { 0x0F9D, 0x0F9D }, + { 0x0FA2, 0x0FA2 }, + { 0x0FA7, 0x0FA7 }, + { 0x0FAC, 0x0FAC }, + { 0x0FB9, 0x0FB9 }, + { 0x1026, 0x1026 }, + { 0x1B06, 0x1B06 }, + { 0x1B08, 0x1B08 }, + { 0x1B0A, 0x1B0A }, + { 0x1B0C, 0x1B0C }, + { 0x1B0E, 0x1B0E }, + { 0x1B12, 0x1B12 }, + { 0x1B3B, 0x1B3B }, + { 0x1B3D, 0x1B3D }, + { 0x1B40, 0x1B41 }, + { 0x1B43, 0x1B43 }, + { 0x1E00, 0x1E9B }, + { 0x1EA0, 0x1EF9 }, + { 0x1F00, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F70 }, + { 0x1F72, 0x1F72 }, + { 0x1F74, 0x1F74 }, + { 0x1F76, 0x1F76 }, + { 0x1F78, 0x1F78 }, + { 0x1F7A, 0x1F7A }, + { 0x1F7C, 0x1F7C }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FBA }, + { 0x1FBC, 0x1FBC }, + { 0x1FC1, 0x1FC4 }, + { 0x1FC6, 0x1FC8 }, + { 0x1FCA, 0x1FCA }, + { 0x1FCC, 0x1FD2 }, + { 0x1FD6, 0x1FDA }, + { 0x1FDD, 0x1FE2 }, + { 0x1FE4, 0x1FEA }, + { 0x1FEC, 0x1FED }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FF8 }, + { 0x1FFA, 0x1FFA }, + { 0x1FFC, 0x1FFC }, + { 0x2025, 0x2026 }, + { 0x2033, 0x2034 }, + { 0x2036, 0x2037 }, + { 0x203C, 0x203C }, + { 0x2047, 0x2049 }, + { 0x2057, 0x2057 }, + { 0x20A8, 0x20A8 }, + { 0x2100, 0x2101 }, + { 0x2103, 0x2103 }, + { 0x2105, 0x2106 }, + { 0x2109, 0x2109 }, + { 0x2116, 0x2116 }, + { 0x2120, 0x2122 }, + { 0x213B, 0x213B }, + { 0x2153, 0x215F }, + { 0x2161, 0x2163 }, + { 0x2165, 0x2168 }, + { 0x216A, 0x216B }, + { 0x2171, 0x2173 }, + { 0x2175, 0x2178 }, + { 0x217A, 0x217B }, + { 0x219A, 0x219B }, + { 0x21AE, 0x21AE }, + { 0x21CD, 0x21CF }, + { 0x2204, 0x2204 }, + { 0x2209, 0x2209 }, + { 0x220C, 0x220C }, + { 0x2224, 0x2224 }, + { 0x2226, 0x2226 }, + { 0x222C, 0x222D }, + { 0x222F, 0x2230 }, + { 0x2241, 0x2241 }, + { 0x2244, 0x2244 }, + { 0x2247, 0x2247 }, + { 0x2249, 0x2249 }, + { 0x2260, 0x2260 }, + { 0x2262, 0x2262 }, + { 0x226D, 0x2271 }, + { 0x2274, 0x2275 }, + { 0x2278, 0x2279 }, + { 0x2280, 0x2281 }, + { 0x2284, 0x2285 }, + { 0x2288, 0x2289 }, + { 0x22AC, 0x22AF }, + { 0x22E0, 0x22E3 }, + { 0x22EA, 0x22ED }, + { 0x2469, 0x24B5 }, + { 0x2A0C, 0x2A0C }, + { 0x2A74, 0x2A76 }, + { 0x2ADC, 0x2ADC }, + { 0x304C, 0x304C }, + { 0x304E, 0x304E }, + { 0x3050, 0x3050 }, + { 0x3052, 0x3052 }, + { 0x3054, 0x3054 }, + { 0x3056, 0x3056 }, + { 0x3058, 0x3058 }, + { 0x305A, 0x305A }, + { 0x305C, 0x305C }, + { 0x305E, 0x305E }, + { 0x3060, 0x3060 }, + { 0x3062, 0x3062 }, + { 0x3065, 0x3065 }, + { 0x3067, 0x3067 }, + { 0x3069, 0x3069 }, + { 0x3070, 0x3071 }, + { 0x3073, 0x3074 }, + { 0x3076, 0x3077 }, + { 0x3079, 0x307A }, + { 0x307C, 0x307D }, + { 0x3094, 0x3094 }, + { 0x309E, 0x309F }, + { 0x30AC, 0x30AC }, + { 0x30AE, 0x30AE }, + { 0x30B0, 0x30B0 }, + { 0x30B2, 0x30B2 }, + { 0x30B4, 0x30B4 }, + { 0x30B6, 0x30B6 }, + { 0x30B8, 0x30B8 }, + { 0x30BA, 0x30BA }, + { 0x30BC, 0x30BC }, + { 0x30BE, 0x30BE }, + { 0x30C0, 0x30C0 }, + { 0x30C2, 0x30C2 }, + { 0x30C5, 0x30C5 }, + { 0x30C7, 0x30C7 }, + { 0x30C9, 0x30C9 }, + { 0x30D0, 0x30D1 }, + { 0x30D3, 0x30D4 }, + { 0x30D6, 0x30D7 }, + { 0x30D9, 0x30DA }, + { 0x30DC, 0x30DD }, + { 0x30F4, 0x30F4 }, + { 0x30F7, 0x30FA }, + { 0x30FE, 0x30FF }, + { 0x3200, 0x321E }, + { 0x3220, 0x3243 }, + { 0x3250, 0x325F }, + { 0x326E, 0x327E }, + { 0x32B1, 0x32CF }, + { 0x3300, 0x33FF }, + { 0xAC00, 0xD7A4 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB1D }, + { 0xFB1F, 0xFB1F }, + { 0xFB2A, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFB4F }, + { 0xFBEA, 0xFBFB }, + { 0xFC00, 0xFC5D }, + { 0xFC64, 0xFD3D }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDFC }, + { 0xFE71, 0xFE71 }, + { 0xFE77, 0xFE77 }, + { 0xFE79, 0xFE79 }, + { 0xFE7B, 0xFE7B }, + { 0xFE7D, 0xFE7D }, + { 0xFE7F, 0xFE7F }, + { 0xFEF5, 0xFEFC }, + { 0x1D15E, 0x1D164 }, + { 0x1D1BB, 0x1D1C0 } + +#define PREDICATE(c) uc_is_property_composite (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_currency_symbol.c b/tests/unictype/test-pr_currency_symbol.c new file mode 100644 index 00000000..79a37068 --- /dev/null +++ b/tests/unictype/test-pr_currency_symbol.c @@ -0,0 +1,36 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0024, 0x0024 }, + { 0x00A2, 0x00A5 }, + { 0x060B, 0x060B }, + { 0x09F2, 0x09F3 }, + { 0x0AF1, 0x0AF1 }, + { 0x0BF9, 0x0BF9 }, + { 0x0E3F, 0x0E3F }, + { 0x17DB, 0x17DB }, + { 0x20A0, 0x20B5 }, + { 0xFDFC, 0xFDFC }, + { 0xFE69, 0xFE69 }, + { 0xFF04, 0xFF04 }, + { 0xFFE0, 0xFFE1 }, + { 0xFFE5, 0xFFE6 } + +#define PREDICATE(c) uc_is_property_currency_symbol (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_dash.c b/tests/unictype/test-pr_dash.c new file mode 100644 index 00000000..8089772a --- /dev/null +++ b/tests/unictype/test-pr_dash.c @@ -0,0 +1,40 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x002D, 0x002D }, + { 0x058A, 0x058A }, + { 0x05BE, 0x05BE }, + { 0x1806, 0x1806 }, + { 0x2010, 0x2015 }, + { 0x2053, 0x2053 }, + { 0x207B, 0x207B }, + { 0x208B, 0x208B }, + { 0x2212, 0x2212 }, + { 0x2E17, 0x2E17 }, + { 0x2E1A, 0x2E1A }, + { 0x301C, 0x301C }, + { 0x3030, 0x3030 }, + { 0x30A0, 0x30A0 }, + { 0xFE31, 0xFE32 }, + { 0xFE58, 0xFE58 }, + { 0xFE63, 0xFE63 }, + { 0xFF0D, 0xFF0D } + +#define PREDICATE(c) uc_is_property_dash (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_decimal_digit.c b/tests/unictype/test-pr_decimal_digit.c new file mode 100644 index 00000000..8d6c284b --- /dev/null +++ b/tests/unictype/test-pr_decimal_digit.c @@ -0,0 +1,55 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 }, + { 0x0660, 0x0669 }, + { 0x06F0, 0x06F9 }, + { 0x07C0, 0x07C9 }, + { 0x0966, 0x096F }, + { 0x09E6, 0x09EF }, + { 0x0A66, 0x0A6F }, + { 0x0AE6, 0x0AEF }, + { 0x0B66, 0x0B6F }, + { 0x0BE6, 0x0BEF }, + { 0x0C66, 0x0C6F }, + { 0x0CE6, 0x0CEF }, + { 0x0D66, 0x0D6F }, + { 0x0E50, 0x0E59 }, + { 0x0ED0, 0x0ED9 }, + { 0x0F20, 0x0F29 }, + { 0x1040, 0x1049 }, + { 0x1090, 0x1099 }, + { 0x17E0, 0x17E9 }, + { 0x1810, 0x1819 }, + { 0x1946, 0x194F }, + { 0x19D0, 0x19D9 }, + { 0x1B50, 0x1B59 }, + { 0x1BB0, 0x1BB9 }, + { 0x1C40, 0x1C49 }, + { 0x1C50, 0x1C59 }, + { 0xA620, 0xA629 }, + { 0xA8D0, 0xA8D9 }, + { 0xA900, 0xA909 }, + { 0xAA50, 0xAA59 }, + { 0xFF10, 0xFF19 }, + { 0x104A0, 0x104A9 }, + { 0x1D7CE, 0x1D7FF } + +#define PREDICATE(c) uc_is_property_decimal_digit (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_default_ignorable_code_point.c b/tests/unictype/test-pr_default_ignorable_code_point.c new file mode 100644 index 00000000..894bc7fd --- /dev/null +++ b/tests/unictype/test-pr_default_ignorable_code_point.c @@ -0,0 +1,37 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00AD, 0x00AD }, + { 0x034F, 0x034F }, + { 0x115F, 0x1160 }, + { 0x17B4, 0x17B5 }, + { 0x180B, 0x180D }, + { 0x200B, 0x200F }, + { 0x202A, 0x202E }, + { 0x2060, 0x206F }, + { 0x3164, 0x3164 }, + { 0xFE00, 0xFE0F }, + { 0xFEFF, 0xFEFF }, + { 0xFFA0, 0xFFA0 }, + { 0xFFF0, 0xFFF8 }, + { 0x1D173, 0x1D17A }, + { 0xE0000, 0xE0FFF } + +#define PREDICATE(c) uc_is_property_default_ignorable_code_point (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_deprecated.c b/tests/unictype/test-pr_deprecated.c new file mode 100644 index 00000000..f8af73d9 --- /dev/null +++ b/tests/unictype/test-pr_deprecated.c @@ -0,0 +1,28 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0340, 0x0341 }, + { 0x17A3, 0x17A3 }, + { 0x17D3, 0x17D3 }, + { 0x206A, 0x206F }, + { 0xE0001, 0xE0001 }, + { 0xE0020, 0xE007F } + +#define PREDICATE(c) uc_is_property_deprecated (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_diacritic.c b/tests/unictype/test-pr_diacritic.c new file mode 100644 index 00000000..ae21cd42 --- /dev/null +++ b/tests/unictype/test-pr_diacritic.c @@ -0,0 +1,124 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x005E, 0x005E }, + { 0x0060, 0x0060 }, + { 0x00A8, 0x00A8 }, + { 0x00AF, 0x00AF }, + { 0x00B4, 0x00B4 }, + { 0x00B7, 0x00B8 }, + { 0x02B0, 0x034E }, + { 0x0350, 0x0357 }, + { 0x035D, 0x0362 }, + { 0x0374, 0x0375 }, + { 0x037A, 0x037A }, + { 0x0384, 0x0385 }, + { 0x0483, 0x0487 }, + { 0x0559, 0x0559 }, + { 0x0591, 0x05A1 }, + { 0x05A3, 0x05BD }, + { 0x05BF, 0x05BF }, + { 0x05C1, 0x05C2 }, + { 0x05C4, 0x05C4 }, + { 0x064B, 0x0652 }, + { 0x0657, 0x0658 }, + { 0x06DF, 0x06E0 }, + { 0x06E5, 0x06E6 }, + { 0x06EA, 0x06EC }, + { 0x0730, 0x074A }, + { 0x07A6, 0x07B0 }, + { 0x07EB, 0x07F5 }, + { 0x093C, 0x093C }, + { 0x094D, 0x094D }, + { 0x0951, 0x0954 }, + { 0x0971, 0x0971 }, + { 0x09BC, 0x09BC }, + { 0x09CD, 0x09CD }, + { 0x0A3C, 0x0A3C }, + { 0x0A4D, 0x0A4D }, + { 0x0ABC, 0x0ABC }, + { 0x0ACD, 0x0ACD }, + { 0x0B3C, 0x0B3C }, + { 0x0B4D, 0x0B4D }, + { 0x0BCD, 0x0BCD }, + { 0x0C4D, 0x0C4D }, + { 0x0CBC, 0x0CBC }, + { 0x0CCD, 0x0CCD }, + { 0x0D4D, 0x0D4D }, + { 0x0DCA, 0x0DCA }, + { 0x0E47, 0x0E4C }, + { 0x0E4E, 0x0E4E }, + { 0x0EC8, 0x0ECC }, + { 0x0F18, 0x0F19 }, + { 0x0F35, 0x0F35 }, + { 0x0F37, 0x0F37 }, + { 0x0F39, 0x0F39 }, + { 0x0F3E, 0x0F3F }, + { 0x0F82, 0x0F84 }, + { 0x0F86, 0x0F87 }, + { 0x0FC6, 0x0FC6 }, + { 0x1037, 0x1037 }, + { 0x1039, 0x103A }, + { 0x1087, 0x108D }, + { 0x108F, 0x108F }, + { 0x17C9, 0x17D3 }, + { 0x17DD, 0x17DD }, + { 0x1939, 0x193B }, + { 0x1B34, 0x1B34 }, + { 0x1B44, 0x1B44 }, + { 0x1B6B, 0x1B73 }, + { 0x1BAA, 0x1BAA }, + { 0x1C36, 0x1C37 }, + { 0x1C78, 0x1C7D }, + { 0x1D2C, 0x1D6A }, + { 0x1DC4, 0x1DCF }, + { 0x1DFE, 0x1DFF }, + { 0x1FBD, 0x1FBD }, + { 0x1FBF, 0x1FC1 }, + { 0x1FCD, 0x1FCF }, + { 0x1FDD, 0x1FDF }, + { 0x1FED, 0x1FEF }, + { 0x1FFD, 0x1FFE }, + { 0x2E2F, 0x2E2F }, + { 0x302A, 0x302F }, + { 0x3099, 0x309C }, + { 0x30FC, 0x30FC }, + { 0xA66F, 0xA66F }, + { 0xA67C, 0xA67D }, + { 0xA67F, 0xA67F }, + { 0xA717, 0xA721 }, + { 0xA788, 0xA788 }, + { 0xA8C4, 0xA8C4 }, + { 0xA92B, 0xA92E }, + { 0xA953, 0xA953 }, + { 0xFB1E, 0xFB1E }, + { 0xFE20, 0xFE26 }, + { 0xFF3E, 0xFF3E }, + { 0xFF40, 0xFF40 }, + { 0xFF70, 0xFF70 }, + { 0xFF9E, 0xFF9F }, + { 0xFFE3, 0xFFE3 }, + { 0x1D167, 0x1D169 }, + { 0x1D16D, 0x1D172 }, + { 0x1D17B, 0x1D182 }, + { 0x1D185, 0x1D18B }, + { 0x1D1AA, 0x1D1AD } + +#define PREDICATE(c) uc_is_property_diacritic (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_extender.c b/tests/unictype/test-pr_extender.c new file mode 100644 index 00000000..acca2ed0 --- /dev/null +++ b/tests/unictype/test-pr_extender.c @@ -0,0 +1,38 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00B7, 0x00B7 }, + { 0x02D0, 0x02D1 }, + { 0x0640, 0x0640 }, + { 0x07FA, 0x07FA }, + { 0x0E46, 0x0E46 }, + { 0x0EC6, 0x0EC6 }, + { 0x1843, 0x1843 }, + { 0x1C36, 0x1C36 }, + { 0x1C7B, 0x1C7B }, + { 0x3005, 0x3005 }, + { 0x3031, 0x3035 }, + { 0x309D, 0x309E }, + { 0x30FC, 0x30FE }, + { 0xA015, 0xA015 }, + { 0xA60C, 0xA60C }, + { 0xFF70, 0xFF70 } + +#define PREDICATE(c) uc_is_property_extender (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_format_control.c b/tests/unictype/test-pr_format_control.c new file mode 100644 index 00000000..258996bd --- /dev/null +++ b/tests/unictype/test-pr_format_control.c @@ -0,0 +1,30 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00AD, 0x00AD }, + { 0x070F, 0x070F }, + { 0x200B, 0x200B }, + { 0x2060, 0x2064 }, + { 0x206A, 0x206F }, + { 0x1D173, 0x1D17A }, + { 0xE0001, 0xE0001 }, + { 0xE0020, 0xE007F } + +#define PREDICATE(c) uc_is_property_format_control (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_grapheme_base.c b/tests/unictype/test-pr_grapheme_base.c new file mode 100644 index 00000000..2fe8bf24 --- /dev/null +++ b/tests/unictype/test-pr_grapheme_base.c @@ -0,0 +1,524 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0020, 0x007E }, + { 0x00A0, 0x00AC }, + { 0x00AE, 0x02FF }, + { 0x0370, 0x0377 }, + { 0x037A, 0x037E }, + { 0x0384, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x0482 }, + { 0x048A, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0559, 0x055F }, + { 0x0561, 0x0587 }, + { 0x0589, 0x058A }, + { 0x05BE, 0x05BE }, + { 0x05C0, 0x05C0 }, + { 0x05C3, 0x05C3 }, + { 0x05C6, 0x05C6 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F4 }, + { 0x0606, 0x060F }, + { 0x061B, 0x061B }, + { 0x061E, 0x061F }, + { 0x0621, 0x064A }, + { 0x0660, 0x066F }, + { 0x0671, 0x06D5 }, + { 0x06E5, 0x06E6 }, + { 0x06E9, 0x06E9 }, + { 0x06EE, 0x070D }, + { 0x0710, 0x0710 }, + { 0x0712, 0x072F }, + { 0x074D, 0x07A5 }, + { 0x07B1, 0x07B1 }, + { 0x07C0, 0x07EA }, + { 0x07F4, 0x07FA }, + { 0x0903, 0x0939 }, + { 0x093D, 0x0940 }, + { 0x0949, 0x094C }, + { 0x0950, 0x0950 }, + { 0x0958, 0x0961 }, + { 0x0964, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0982, 0x0983 }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BD, 0x09BD }, + { 0x09BF, 0x09C0 }, + { 0x09C7, 0x09C8 }, + { 0x09CB, 0x09CC }, + { 0x09CE, 0x09CE }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E1 }, + { 0x09E6, 0x09FA }, + { 0x0A03, 0x0A03 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A3E, 0x0A40 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A66, 0x0A6F }, + { 0x0A72, 0x0A74 }, + { 0x0A83, 0x0A83 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABD, 0x0AC0 }, + { 0x0AC9, 0x0AC9 }, + { 0x0ACB, 0x0ACC }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE1 }, + { 0x0AE6, 0x0AEF }, + { 0x0AF1, 0x0AF1 }, + { 0x0B02, 0x0B03 }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3D, 0x0B3D }, + { 0x0B40, 0x0B40 }, + { 0x0B47, 0x0B48 }, + { 0x0B4B, 0x0B4C }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B61 }, + { 0x0B66, 0x0B71 }, + { 0x0B83, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BBF, 0x0BBF }, + { 0x0BC1, 0x0BC2 }, + { 0x0BC6, 0x0BC8 }, + { 0x0BCA, 0x0BCC }, + { 0x0BD0, 0x0BD0 }, + { 0x0BE6, 0x0BFA }, + { 0x0C01, 0x0C03 }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C3D }, + { 0x0C41, 0x0C44 }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C61 }, + { 0x0C66, 0x0C6F }, + { 0x0C78, 0x0C7F }, + { 0x0C82, 0x0C83 }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBD, 0x0CBE }, + { 0x0CC0, 0x0CC1 }, + { 0x0CC3, 0x0CC4 }, + { 0x0CC7, 0x0CC8 }, + { 0x0CCA, 0x0CCB }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE1 }, + { 0x0CE6, 0x0CEF }, + { 0x0CF1, 0x0CF2 }, + { 0x0D02, 0x0D03 }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D3D }, + { 0x0D3F, 0x0D40 }, + { 0x0D46, 0x0D48 }, + { 0x0D4A, 0x0D4C }, + { 0x0D60, 0x0D61 }, + { 0x0D66, 0x0D75 }, + { 0x0D79, 0x0D7F }, + { 0x0D82, 0x0D83 }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0DD0, 0x0DD1 }, + { 0x0DD8, 0x0DDE }, + { 0x0DF2, 0x0DF4 }, + { 0x0E01, 0x0E30 }, + { 0x0E32, 0x0E33 }, + { 0x0E3F, 0x0E46 }, + { 0x0E4F, 0x0E5B }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB0 }, + { 0x0EB2, 0x0EB3 }, + { 0x0EBD, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EC6, 0x0EC6 }, + { 0x0ED0, 0x0ED9 }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F17 }, + { 0x0F1A, 0x0F34 }, + { 0x0F36, 0x0F36 }, + { 0x0F38, 0x0F38 }, + { 0x0F3A, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F7F, 0x0F7F }, + { 0x0F85, 0x0F85 }, + { 0x0F88, 0x0F8B }, + { 0x0FBE, 0x0FC5 }, + { 0x0FC7, 0x0FCC }, + { 0x0FCE, 0x0FD4 }, + { 0x1000, 0x102C }, + { 0x1031, 0x1031 }, + { 0x1038, 0x1038 }, + { 0x103B, 0x103C }, + { 0x103F, 0x1057 }, + { 0x105A, 0x105D }, + { 0x1061, 0x1070 }, + { 0x1075, 0x1081 }, + { 0x1083, 0x1084 }, + { 0x1087, 0x108C }, + { 0x108E, 0x1099 }, + { 0x109E, 0x10C5 }, + { 0x10D0, 0x10FC }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x1360, 0x137C }, + { 0x1380, 0x1399 }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x1676 }, + { 0x1680, 0x169C }, + { 0x16A0, 0x16F0 }, + { 0x1700, 0x170C }, + { 0x170E, 0x1711 }, + { 0x1720, 0x1731 }, + { 0x1735, 0x1736 }, + { 0x1740, 0x1751 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1780, 0x17B3 }, + { 0x17B6, 0x17B6 }, + { 0x17BE, 0x17C5 }, + { 0x17C7, 0x17C8 }, + { 0x17D4, 0x17DC }, + { 0x17E0, 0x17E9 }, + { 0x17F0, 0x17F9 }, + { 0x1800, 0x180A }, + { 0x180E, 0x180E }, + { 0x1810, 0x1819 }, + { 0x1820, 0x1877 }, + { 0x1880, 0x18A8 }, + { 0x18AA, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1923, 0x1926 }, + { 0x1929, 0x192B }, + { 0x1930, 0x1931 }, + { 0x1933, 0x1938 }, + { 0x1940, 0x1940 }, + { 0x1944, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19B0, 0x19C9 }, + { 0x19D0, 0x19D9 }, + { 0x19DE, 0x1A16 }, + { 0x1A19, 0x1A1B }, + { 0x1A1E, 0x1A1F }, + { 0x1B04, 0x1B33 }, + { 0x1B35, 0x1B35 }, + { 0x1B3B, 0x1B3B }, + { 0x1B3D, 0x1B41 }, + { 0x1B43, 0x1B4B }, + { 0x1B50, 0x1B6A }, + { 0x1B74, 0x1B7C }, + { 0x1B82, 0x1BA1 }, + { 0x1BA6, 0x1BA7 }, + { 0x1BAA, 0x1BAA }, + { 0x1BAE, 0x1BB9 }, + { 0x1C00, 0x1C2B }, + { 0x1C34, 0x1C35 }, + { 0x1C3B, 0x1C49 }, + { 0x1C4D, 0x1C7F }, + { 0x1D00, 0x1DBF }, + { 0x1E00, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FC4 }, + { 0x1FC6, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FDD, 0x1FEF }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFE }, + { 0x2000, 0x200A }, + { 0x2010, 0x2027 }, + { 0x202F, 0x205F }, + { 0x2070, 0x2071 }, + { 0x2074, 0x208E }, + { 0x2090, 0x2094 }, + { 0x20A0, 0x20B5 }, + { 0x2100, 0x214F }, + { 0x2153, 0x2188 }, + { 0x2190, 0x23E7 }, + { 0x2400, 0x2426 }, + { 0x2440, 0x244A }, + { 0x2460, 0x269D }, + { 0x26A0, 0x26BC }, + { 0x26C0, 0x26C3 }, + { 0x2701, 0x2704 }, + { 0x2706, 0x2709 }, + { 0x270C, 0x2727 }, + { 0x2729, 0x274B }, + { 0x274D, 0x274D }, + { 0x274F, 0x2752 }, + { 0x2756, 0x2756 }, + { 0x2758, 0x275E }, + { 0x2761, 0x2794 }, + { 0x2798, 0x27AF }, + { 0x27B1, 0x27BE }, + { 0x27C0, 0x27CA }, + { 0x27CC, 0x27CC }, + { 0x27D0, 0x2B4C }, + { 0x2B50, 0x2B54 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CEA }, + { 0x2CF9, 0x2D25 }, + { 0x2D30, 0x2D65 }, + { 0x2D6F, 0x2D6F }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x2E00, 0x2E30 }, + { 0x2E80, 0x2E99 }, + { 0x2E9B, 0x2EF3 }, + { 0x2F00, 0x2FD5 }, + { 0x2FF0, 0x2FFB }, + { 0x3000, 0x3029 }, + { 0x3030, 0x303F }, + { 0x3041, 0x3096 }, + { 0x309B, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x3190, 0x31B7 }, + { 0x31C0, 0x31E3 }, + { 0x31F0, 0x321E }, + { 0x3220, 0x3243 }, + { 0x3250, 0x32FE }, + { 0x3300, 0x4DB5 }, + { 0x4DC0, 0x9FC3 }, + { 0xA000, 0xA48C }, + { 0xA490, 0xA4C6 }, + { 0xA500, 0xA62B }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA66E }, + { 0xA673, 0xA673 }, + { 0xA67E, 0xA697 }, + { 0xA700, 0xA78C }, + { 0xA7FB, 0xA801 }, + { 0xA803, 0xA805 }, + { 0xA807, 0xA80A }, + { 0xA80C, 0xA824 }, + { 0xA827, 0xA82B }, + { 0xA840, 0xA877 }, + { 0xA880, 0xA8C3 }, + { 0xA8CE, 0xA8D9 }, + { 0xA900, 0xA925 }, + { 0xA92E, 0xA946 }, + { 0xA952, 0xA953 }, + { 0xA95F, 0xA95F }, + { 0xAA00, 0xAA28 }, + { 0xAA2F, 0xAA30 }, + { 0xAA33, 0xAA34 }, + { 0xAA40, 0xAA42 }, + { 0xAA44, 0xAA4B }, + { 0xAA4D, 0xAA4D }, + { 0xAA50, 0xAA59 }, + { 0xAA5C, 0xAA5F }, + { 0xAC00, 0xD7A3 }, + { 0xF900, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB1D }, + { 0xFB1F, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFD3F }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDFD }, + { 0xFE10, 0xFE19 }, + { 0xFE30, 0xFE52 }, + { 0xFE54, 0xFE66 }, + { 0xFE68, 0xFE6B }, + { 0xFE70, 0xFE74 }, + { 0xFE76, 0xFEFC }, + { 0xFF01, 0xFF9D }, + { 0xFFA0, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0xFFE0, 0xFFE6 }, + { 0xFFE8, 0xFFEE }, + { 0xFFFC, 0xFFFD }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10100, 0x10102 }, + { 0x10107, 0x10133 }, + { 0x10137, 0x1018A }, + { 0x10190, 0x1019B }, + { 0x101D0, 0x101FC }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10320, 0x10323 }, + { 0x10330, 0x1034A }, + { 0x10380, 0x1039D }, + { 0x1039F, 0x103C3 }, + { 0x103C8, 0x103D5 }, + { 0x10400, 0x1049D }, + { 0x104A0, 0x104A9 }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10919 }, + { 0x1091F, 0x10939 }, + { 0x1093F, 0x1093F }, + { 0x10A00, 0x10A00 }, + { 0x10A10, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x10A40, 0x10A47 }, + { 0x10A50, 0x10A58 }, + { 0x12000, 0x1236E }, + { 0x12400, 0x12462 }, + { 0x12470, 0x12473 }, + { 0x1D000, 0x1D0F5 }, + { 0x1D100, 0x1D126 }, + { 0x1D129, 0x1D164 }, + { 0x1D166, 0x1D166 }, + { 0x1D16A, 0x1D16D }, + { 0x1D183, 0x1D184 }, + { 0x1D18C, 0x1D1A9 }, + { 0x1D1AE, 0x1D1DD }, + { 0x1D200, 0x1D241 }, + { 0x1D245, 0x1D245 }, + { 0x1D300, 0x1D356 }, + { 0x1D360, 0x1D371 }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D7CB }, + { 0x1D7CE, 0x1D7FF }, + { 0x1F000, 0x1F02B }, + { 0x1F030, 0x1F093 }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D } + +#define PREDICATE(c) uc_is_property_grapheme_base (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_grapheme_extend.c b/tests/unictype/test-pr_grapheme_extend.c new file mode 100644 index 00000000..fa859bbe --- /dev/null +++ b/tests/unictype/test-pr_grapheme_extend.c @@ -0,0 +1,194 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0300, 0x036F }, + { 0x0483, 0x0489 }, + { 0x0591, 0x05BD }, + { 0x05BF, 0x05BF }, + { 0x05C1, 0x05C2 }, + { 0x05C4, 0x05C5 }, + { 0x05C7, 0x05C7 }, + { 0x0610, 0x061A }, + { 0x064B, 0x065E }, + { 0x0670, 0x0670 }, + { 0x06D6, 0x06DC }, + { 0x06DE, 0x06E4 }, + { 0x06E7, 0x06E8 }, + { 0x06EA, 0x06ED }, + { 0x0711, 0x0711 }, + { 0x0730, 0x074A }, + { 0x07A6, 0x07B0 }, + { 0x07EB, 0x07F3 }, + { 0x0901, 0x0902 }, + { 0x093C, 0x093C }, + { 0x0941, 0x0948 }, + { 0x094D, 0x094D }, + { 0x0951, 0x0954 }, + { 0x0962, 0x0963 }, + { 0x0981, 0x0981 }, + { 0x09BC, 0x09BC }, + { 0x09BE, 0x09BE }, + { 0x09C1, 0x09C4 }, + { 0x09CD, 0x09CD }, + { 0x09D7, 0x09D7 }, + { 0x09E2, 0x09E3 }, + { 0x0A01, 0x0A02 }, + { 0x0A3C, 0x0A3C }, + { 0x0A41, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4D }, + { 0x0A51, 0x0A51 }, + { 0x0A70, 0x0A71 }, + { 0x0A75, 0x0A75 }, + { 0x0A81, 0x0A82 }, + { 0x0ABC, 0x0ABC }, + { 0x0AC1, 0x0AC5 }, + { 0x0AC7, 0x0AC8 }, + { 0x0ACD, 0x0ACD }, + { 0x0AE2, 0x0AE3 }, + { 0x0B01, 0x0B01 }, + { 0x0B3C, 0x0B3C }, + { 0x0B3E, 0x0B3F }, + { 0x0B41, 0x0B44 }, + { 0x0B4D, 0x0B4D }, + { 0x0B56, 0x0B57 }, + { 0x0B62, 0x0B63 }, + { 0x0B82, 0x0B82 }, + { 0x0BBE, 0x0BBE }, + { 0x0BC0, 0x0BC0 }, + { 0x0BCD, 0x0BCD }, + { 0x0BD7, 0x0BD7 }, + { 0x0C3E, 0x0C40 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4D }, + { 0x0C55, 0x0C56 }, + { 0x0C62, 0x0C63 }, + { 0x0CBC, 0x0CBC }, + { 0x0CBF, 0x0CBF }, + { 0x0CC2, 0x0CC2 }, + { 0x0CC6, 0x0CC6 }, + { 0x0CCC, 0x0CCD }, + { 0x0CD5, 0x0CD6 }, + { 0x0CE2, 0x0CE3 }, + { 0x0D3E, 0x0D3E }, + { 0x0D41, 0x0D44 }, + { 0x0D4D, 0x0D4D }, + { 0x0D57, 0x0D57 }, + { 0x0D62, 0x0D63 }, + { 0x0DCA, 0x0DCA }, + { 0x0DCF, 0x0DCF }, + { 0x0DD2, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0DDF, 0x0DDF }, + { 0x0E31, 0x0E31 }, + { 0x0E34, 0x0E3A }, + { 0x0E47, 0x0E4E }, + { 0x0EB1, 0x0EB1 }, + { 0x0EB4, 0x0EB9 }, + { 0x0EBB, 0x0EBC }, + { 0x0EC8, 0x0ECD }, + { 0x0F18, 0x0F19 }, + { 0x0F35, 0x0F35 }, + { 0x0F37, 0x0F37 }, + { 0x0F39, 0x0F39 }, + { 0x0F71, 0x0F7E }, + { 0x0F80, 0x0F84 }, + { 0x0F86, 0x0F87 }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x0FC6, 0x0FC6 }, + { 0x102D, 0x1030 }, + { 0x1032, 0x1037 }, + { 0x1039, 0x103A }, + { 0x103D, 0x103E }, + { 0x1058, 0x1059 }, + { 0x105E, 0x1060 }, + { 0x1071, 0x1074 }, + { 0x1082, 0x1082 }, + { 0x1085, 0x1086 }, + { 0x108D, 0x108D }, + { 0x135F, 0x135F }, + { 0x1712, 0x1714 }, + { 0x1732, 0x1734 }, + { 0x1752, 0x1753 }, + { 0x1772, 0x1773 }, + { 0x17B7, 0x17BD }, + { 0x17C6, 0x17C6 }, + { 0x17C9, 0x17D3 }, + { 0x17DD, 0x17DD }, + { 0x180B, 0x180D }, + { 0x18A9, 0x18A9 }, + { 0x1920, 0x1922 }, + { 0x1927, 0x1928 }, + { 0x1932, 0x1932 }, + { 0x1939, 0x193B }, + { 0x1A17, 0x1A18 }, + { 0x1B00, 0x1B03 }, + { 0x1B34, 0x1B34 }, + { 0x1B36, 0x1B3A }, + { 0x1B3C, 0x1B3C }, + { 0x1B42, 0x1B42 }, + { 0x1B6B, 0x1B73 }, + { 0x1B80, 0x1B81 }, + { 0x1BA2, 0x1BA5 }, + { 0x1BA8, 0x1BA9 }, + { 0x1C2C, 0x1C33 }, + { 0x1C36, 0x1C37 }, + { 0x1DC0, 0x1DE6 }, + { 0x1DFE, 0x1DFF }, + { 0x200C, 0x200D }, + { 0x20D0, 0x20F0 }, + { 0x2DE0, 0x2DFF }, + { 0x302A, 0x302F }, + { 0x3099, 0x309A }, + { 0xA66F, 0xA672 }, + { 0xA67C, 0xA67D }, + { 0xA802, 0xA802 }, + { 0xA806, 0xA806 }, + { 0xA80B, 0xA80B }, + { 0xA825, 0xA826 }, + { 0xA8C4, 0xA8C4 }, + { 0xA926, 0xA92D }, + { 0xA947, 0xA951 }, + { 0xAA29, 0xAA2E }, + { 0xAA31, 0xAA32 }, + { 0xAA35, 0xAA36 }, + { 0xAA43, 0xAA43 }, + { 0xAA4C, 0xAA4C }, + { 0xFB1E, 0xFB1E }, + { 0xFE00, 0xFE0F }, + { 0xFE20, 0xFE26 }, + { 0xFF9E, 0xFF9F }, + { 0x101FD, 0x101FD }, + { 0x10A01, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A0F }, + { 0x10A38, 0x10A3A }, + { 0x10A3F, 0x10A3F }, + { 0x1D165, 0x1D165 }, + { 0x1D167, 0x1D169 }, + { 0x1D16E, 0x1D172 }, + { 0x1D17B, 0x1D182 }, + { 0x1D185, 0x1D18B }, + { 0x1D1AA, 0x1D1AD }, + { 0x1D242, 0x1D244 }, + { 0xE0100, 0xE01EF } + +#define PREDICATE(c) uc_is_property_grapheme_extend (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_grapheme_link.c b/tests/unictype/test-pr_grapheme_link.c new file mode 100644 index 00000000..ff1fa5a4 --- /dev/null +++ b/tests/unictype/test-pr_grapheme_link.c @@ -0,0 +1,44 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x094D, 0x094D }, + { 0x09CD, 0x09CD }, + { 0x0A4D, 0x0A4D }, + { 0x0ACD, 0x0ACD }, + { 0x0B4D, 0x0B4D }, + { 0x0BCD, 0x0BCD }, + { 0x0C4D, 0x0C4D }, + { 0x0CCD, 0x0CCD }, + { 0x0D4D, 0x0D4D }, + { 0x0DCA, 0x0DCA }, + { 0x0E3A, 0x0E3A }, + { 0x0F84, 0x0F84 }, + { 0x1039, 0x103A }, + { 0x1714, 0x1714 }, + { 0x1734, 0x1734 }, + { 0x17D2, 0x17D2 }, + { 0x1B44, 0x1B44 }, + { 0x1BAA, 0x1BAA }, + { 0xA806, 0xA806 }, + { 0xA8C4, 0xA8C4 }, + { 0xA953, 0xA953 }, + { 0x10A3F, 0x10A3F } + +#define PREDICATE(c) uc_is_property_grapheme_link (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_hex_digit.c b/tests/unictype/test-pr_hex_digit.c new file mode 100644 index 00000000..1a761b83 --- /dev/null +++ b/tests/unictype/test-pr_hex_digit.c @@ -0,0 +1,28 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 }, + { 0x0041, 0x0046 }, + { 0x0061, 0x0066 }, + { 0xFF10, 0xFF19 }, + { 0xFF21, 0xFF26 }, + { 0xFF41, 0xFF46 } + +#define PREDICATE(c) uc_is_property_hex_digit (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_hyphen.c b/tests/unictype/test-pr_hyphen.c new file mode 100644 index 00000000..9557fbad --- /dev/null +++ b/tests/unictype/test-pr_hyphen.c @@ -0,0 +1,32 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x002D, 0x002D }, + { 0x00AD, 0x00AD }, + { 0x058A, 0x058A }, + { 0x1806, 0x1806 }, + { 0x2010, 0x2011 }, + { 0x2E17, 0x2E17 }, + { 0x30FB, 0x30FB }, + { 0xFE63, 0xFE63 }, + { 0xFF0D, 0xFF0D }, + { 0xFF65, 0xFF65 } + +#define PREDICATE(c) uc_is_property_hyphen (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_id_continue.c b/tests/unictype/test-pr_id_continue.c new file mode 100644 index 00000000..a900ec93 --- /dev/null +++ b/tests/unictype/test-pr_id_continue.c @@ -0,0 +1,499 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 }, + { 0x0041, 0x005A }, + { 0x005F, 0x005F }, + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00B7, 0x00B7 }, + { 0x00BA, 0x00BA }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00F6 }, + { 0x00F8, 0x02C1 }, + { 0x02C6, 0x02D1 }, + { 0x02E0, 0x02E4 }, + { 0x02EC, 0x02EC }, + { 0x02EE, 0x02EE }, + { 0x0300, 0x0374 }, + { 0x0376, 0x0377 }, + { 0x037A, 0x037D }, + { 0x0386, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x03F5 }, + { 0x03F7, 0x0481 }, + { 0x0483, 0x0487 }, + { 0x048A, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0559, 0x0559 }, + { 0x0561, 0x0587 }, + { 0x0591, 0x05BD }, + { 0x05BF, 0x05BF }, + { 0x05C1, 0x05C2 }, + { 0x05C4, 0x05C5 }, + { 0x05C7, 0x05C7 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F2 }, + { 0x0610, 0x061A }, + { 0x0621, 0x065E }, + { 0x0660, 0x0669 }, + { 0x066E, 0x06D3 }, + { 0x06D5, 0x06DC }, + { 0x06DF, 0x06E8 }, + { 0x06EA, 0x06FC }, + { 0x06FF, 0x06FF }, + { 0x0710, 0x074A }, + { 0x074D, 0x07B1 }, + { 0x07C0, 0x07F5 }, + { 0x07FA, 0x07FA }, + { 0x0901, 0x0939 }, + { 0x093C, 0x094D }, + { 0x0950, 0x0954 }, + { 0x0958, 0x0963 }, + { 0x0966, 0x096F }, + { 0x0971, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0981, 0x0983 }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BC, 0x09C4 }, + { 0x09C7, 0x09C8 }, + { 0x09CB, 0x09CE }, + { 0x09D7, 0x09D7 }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E3 }, + { 0x09E6, 0x09F1 }, + { 0x0A01, 0x0A03 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A3C, 0x0A3C }, + { 0x0A3E, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4D }, + { 0x0A51, 0x0A51 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A66, 0x0A75 }, + { 0x0A81, 0x0A83 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABC, 0x0AC5 }, + { 0x0AC7, 0x0AC9 }, + { 0x0ACB, 0x0ACD }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE3 }, + { 0x0AE6, 0x0AEF }, + { 0x0B01, 0x0B03 }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3C, 0x0B44 }, + { 0x0B47, 0x0B48 }, + { 0x0B4B, 0x0B4D }, + { 0x0B56, 0x0B57 }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B63 }, + { 0x0B66, 0x0B6F }, + { 0x0B71, 0x0B71 }, + { 0x0B82, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BBE, 0x0BC2 }, + { 0x0BC6, 0x0BC8 }, + { 0x0BCA, 0x0BCD }, + { 0x0BD0, 0x0BD0 }, + { 0x0BD7, 0x0BD7 }, + { 0x0BE6, 0x0BEF }, + { 0x0C01, 0x0C03 }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C44 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4D }, + { 0x0C55, 0x0C56 }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C63 }, + { 0x0C66, 0x0C6F }, + { 0x0C82, 0x0C83 }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBC, 0x0CC4 }, + { 0x0CC6, 0x0CC8 }, + { 0x0CCA, 0x0CCD }, + { 0x0CD5, 0x0CD6 }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE3 }, + { 0x0CE6, 0x0CEF }, + { 0x0D02, 0x0D03 }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D44 }, + { 0x0D46, 0x0D48 }, + { 0x0D4A, 0x0D4D }, + { 0x0D57, 0x0D57 }, + { 0x0D60, 0x0D63 }, + { 0x0D66, 0x0D6F }, + { 0x0D7A, 0x0D7F }, + { 0x0D82, 0x0D83 }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0DCA, 0x0DCA }, + { 0x0DCF, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0DD8, 0x0DDF }, + { 0x0DF2, 0x0DF3 }, + { 0x0E01, 0x0E3A }, + { 0x0E40, 0x0E4E }, + { 0x0E50, 0x0E59 }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB9 }, + { 0x0EBB, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EC6, 0x0EC6 }, + { 0x0EC8, 0x0ECD }, + { 0x0ED0, 0x0ED9 }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F00 }, + { 0x0F18, 0x0F19 }, + { 0x0F20, 0x0F29 }, + { 0x0F35, 0x0F35 }, + { 0x0F37, 0x0F37 }, + { 0x0F39, 0x0F39 }, + { 0x0F3E, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F71, 0x0F84 }, + { 0x0F86, 0x0F8B }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x0FC6, 0x0FC6 }, + { 0x1000, 0x1049 }, + { 0x1050, 0x1099 }, + { 0x10A0, 0x10C5 }, + { 0x10D0, 0x10FA }, + { 0x10FC, 0x10FC }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x135F, 0x135F }, + { 0x1369, 0x1371 }, + { 0x1380, 0x138F }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x166C }, + { 0x166F, 0x1676 }, + { 0x1681, 0x169A }, + { 0x16A0, 0x16EA }, + { 0x16EE, 0x16F0 }, + { 0x1700, 0x170C }, + { 0x170E, 0x1714 }, + { 0x1720, 0x1734 }, + { 0x1740, 0x1753 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1772, 0x1773 }, + { 0x1780, 0x17B3 }, + { 0x17B6, 0x17D3 }, + { 0x17D7, 0x17D7 }, + { 0x17DC, 0x17DD }, + { 0x17E0, 0x17E9 }, + { 0x180B, 0x180D }, + { 0x1810, 0x1819 }, + { 0x1820, 0x1877 }, + { 0x1880, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1920, 0x192B }, + { 0x1930, 0x193B }, + { 0x1946, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19B0, 0x19C9 }, + { 0x19D0, 0x19D9 }, + { 0x1A00, 0x1A1B }, + { 0x1B00, 0x1B4B }, + { 0x1B50, 0x1B59 }, + { 0x1B6B, 0x1B73 }, + { 0x1B80, 0x1BAA }, + { 0x1BAE, 0x1BB9 }, + { 0x1C00, 0x1C37 }, + { 0x1C40, 0x1C49 }, + { 0x1C4D, 0x1C7D }, + { 0x1D00, 0x1DE6 }, + { 0x1DFE, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FBC }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FC4 }, + { 0x1FC6, 0x1FCC }, + { 0x1FD0, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FE0, 0x1FEC }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFC }, + { 0x203F, 0x2040 }, + { 0x2054, 0x2054 }, + { 0x2071, 0x2071 }, + { 0x207F, 0x207F }, + { 0x2090, 0x2094 }, + { 0x20D0, 0x20DC }, + { 0x20E1, 0x20E1 }, + { 0x20E5, 0x20F0 }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2118, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x2128 }, + { 0x212A, 0x2139 }, + { 0x213C, 0x213F }, + { 0x2145, 0x2149 }, + { 0x214E, 0x214E }, + { 0x2160, 0x2188 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CE4 }, + { 0x2D00, 0x2D25 }, + { 0x2D30, 0x2D65 }, + { 0x2D6F, 0x2D6F }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x2DE0, 0x2DFF }, + { 0x3005, 0x3007 }, + { 0x3021, 0x302F }, + { 0x3031, 0x3035 }, + { 0x3038, 0x303C }, + { 0x3041, 0x3096 }, + { 0x3099, 0x309F }, + { 0x30A1, 0x30FA }, + { 0x30FC, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x31A0, 0x31B7 }, + { 0x31F0, 0x31FF }, + { 0x3400, 0x4DB5 }, + { 0x4E00, 0x9FC3 }, + { 0xA000, 0xA48C }, + { 0xA500, 0xA60C }, + { 0xA610, 0xA62B }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA66F }, + { 0xA67C, 0xA67D }, + { 0xA67F, 0xA697 }, + { 0xA717, 0xA71F }, + { 0xA722, 0xA788 }, + { 0xA78B, 0xA78C }, + { 0xA7FB, 0xA827 }, + { 0xA840, 0xA873 }, + { 0xA880, 0xA8C4 }, + { 0xA8D0, 0xA8D9 }, + { 0xA900, 0xA92D }, + { 0xA930, 0xA953 }, + { 0xAA00, 0xAA36 }, + { 0xAA40, 0xAA4D }, + { 0xAA50, 0xAA59 }, + { 0xAC00, 0xD7A3 }, + { 0xF900, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB28 }, + { 0xFB2A, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFD3D }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDFB }, + { 0xFE00, 0xFE0F }, + { 0xFE20, 0xFE26 }, + { 0xFE33, 0xFE34 }, + { 0xFE4D, 0xFE4F }, + { 0xFE70, 0xFE74 }, + { 0xFE76, 0xFEFC }, + { 0xFF10, 0xFF19 }, + { 0xFF21, 0xFF3A }, + { 0xFF3F, 0xFF3F }, + { 0xFF41, 0xFF5A }, + { 0xFF66, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10140, 0x10174 }, + { 0x101FD, 0x101FD }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10330, 0x1034A }, + { 0x10380, 0x1039D }, + { 0x103A0, 0x103C3 }, + { 0x103C8, 0x103CF }, + { 0x103D1, 0x103D5 }, + { 0x10400, 0x1049D }, + { 0x104A0, 0x104A9 }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10915 }, + { 0x10920, 0x10939 }, + { 0x10A00, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x10A38, 0x10A3A }, + { 0x10A3F, 0x10A3F }, + { 0x12000, 0x1236E }, + { 0x12400, 0x12462 }, + { 0x1D165, 0x1D169 }, + { 0x1D16D, 0x1D172 }, + { 0x1D17B, 0x1D182 }, + { 0x1D185, 0x1D18B }, + { 0x1D1AA, 0x1D1AD }, + { 0x1D242, 0x1D244 }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6FA }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D734 }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D76E }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D7A8 }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7CB }, + { 0x1D7CE, 0x1D7FF }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D }, + { 0xE0100, 0xE01EF } + +#define PREDICATE(c) uc_is_property_id_continue (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_id_start.c b/tests/unictype/test-pr_id_start.c new file mode 100644 index 00000000..15b4bd9e --- /dev/null +++ b/tests/unictype/test-pr_id_start.c @@ -0,0 +1,414 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0041, 0x005A }, + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00BA, 0x00BA }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00F6 }, + { 0x00F8, 0x02C1 }, + { 0x02C6, 0x02D1 }, + { 0x02E0, 0x02E4 }, + { 0x02EC, 0x02EC }, + { 0x02EE, 0x02EE }, + { 0x0370, 0x0374 }, + { 0x0376, 0x0377 }, + { 0x037A, 0x037D }, + { 0x0386, 0x0386 }, + { 0x0388, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x03F5 }, + { 0x03F7, 0x0481 }, + { 0x048A, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0559, 0x0559 }, + { 0x0561, 0x0587 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F2 }, + { 0x0621, 0x064A }, + { 0x066E, 0x066F }, + { 0x0671, 0x06D3 }, + { 0x06D5, 0x06D5 }, + { 0x06E5, 0x06E6 }, + { 0x06EE, 0x06EF }, + { 0x06FA, 0x06FC }, + { 0x06FF, 0x06FF }, + { 0x0710, 0x0710 }, + { 0x0712, 0x072F }, + { 0x074D, 0x07A5 }, + { 0x07B1, 0x07B1 }, + { 0x07CA, 0x07EA }, + { 0x07F4, 0x07F5 }, + { 0x07FA, 0x07FA }, + { 0x0904, 0x0939 }, + { 0x093D, 0x093D }, + { 0x0950, 0x0950 }, + { 0x0958, 0x0961 }, + { 0x0971, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BD, 0x09BD }, + { 0x09CE, 0x09CE }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E1 }, + { 0x09F0, 0x09F1 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A72, 0x0A74 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABD, 0x0ABD }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE1 }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3D, 0x0B3D }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B61 }, + { 0x0B71, 0x0B71 }, + { 0x0B83, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BD0, 0x0BD0 }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C3D }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C61 }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBD, 0x0CBD }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE1 }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D3D }, + { 0x0D60, 0x0D61 }, + { 0x0D7A, 0x0D7F }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0E01, 0x0E30 }, + { 0x0E32, 0x0E33 }, + { 0x0E40, 0x0E46 }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB0 }, + { 0x0EB2, 0x0EB3 }, + { 0x0EBD, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EC6, 0x0EC6 }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F00 }, + { 0x0F40, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F88, 0x0F8B }, + { 0x1000, 0x102A }, + { 0x103F, 0x103F }, + { 0x1050, 0x1055 }, + { 0x105A, 0x105D }, + { 0x1061, 0x1061 }, + { 0x1065, 0x1066 }, + { 0x106E, 0x1070 }, + { 0x1075, 0x1081 }, + { 0x108E, 0x108E }, + { 0x10A0, 0x10C5 }, + { 0x10D0, 0x10FA }, + { 0x10FC, 0x10FC }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x1380, 0x138F }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x166C }, + { 0x166F, 0x1676 }, + { 0x1681, 0x169A }, + { 0x16A0, 0x16EA }, + { 0x16EE, 0x16F0 }, + { 0x1700, 0x170C }, + { 0x170E, 0x1711 }, + { 0x1720, 0x1731 }, + { 0x1740, 0x1751 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1780, 0x17B3 }, + { 0x17D7, 0x17D7 }, + { 0x17DC, 0x17DC }, + { 0x1820, 0x1877 }, + { 0x1880, 0x18A8 }, + { 0x18AA, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1950, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19C1, 0x19C7 }, + { 0x1A00, 0x1A16 }, + { 0x1B05, 0x1B33 }, + { 0x1B45, 0x1B4B }, + { 0x1B83, 0x1BA0 }, + { 0x1BAE, 0x1BAF }, + { 0x1C00, 0x1C23 }, + { 0x1C4D, 0x1C4F }, + { 0x1C5A, 0x1C7D }, + { 0x1D00, 0x1DBF }, + { 0x1E00, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FBC }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FC4 }, + { 0x1FC6, 0x1FCC }, + { 0x1FD0, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FE0, 0x1FEC }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFC }, + { 0x2071, 0x2071 }, + { 0x207F, 0x207F }, + { 0x2090, 0x2094 }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2118, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x2128 }, + { 0x212A, 0x2139 }, + { 0x213C, 0x213F }, + { 0x2145, 0x2149 }, + { 0x214E, 0x214E }, + { 0x2160, 0x2188 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CE4 }, + { 0x2D00, 0x2D25 }, + { 0x2D30, 0x2D65 }, + { 0x2D6F, 0x2D6F }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x3005, 0x3007 }, + { 0x3021, 0x3029 }, + { 0x3031, 0x3035 }, + { 0x3038, 0x303C }, + { 0x3041, 0x3096 }, + { 0x309B, 0x309F }, + { 0x30A1, 0x30FA }, + { 0x30FC, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x31A0, 0x31B7 }, + { 0x31F0, 0x31FF }, + { 0x3400, 0x4DB5 }, + { 0x4E00, 0x9FC3 }, + { 0xA000, 0xA48C }, + { 0xA500, 0xA60C }, + { 0xA610, 0xA61F }, + { 0xA62A, 0xA62B }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA66E }, + { 0xA67F, 0xA697 }, + { 0xA717, 0xA71F }, + { 0xA722, 0xA788 }, + { 0xA78B, 0xA78C }, + { 0xA7FB, 0xA801 }, + { 0xA803, 0xA805 }, + { 0xA807, 0xA80A }, + { 0xA80C, 0xA822 }, + { 0xA840, 0xA873 }, + { 0xA882, 0xA8B3 }, + { 0xA90A, 0xA925 }, + { 0xA930, 0xA946 }, + { 0xAA00, 0xAA28 }, + { 0xAA40, 0xAA42 }, + { 0xAA44, 0xAA4B }, + { 0xAC00, 0xD7A3 }, + { 0xF900, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB1D }, + { 0xFB1F, 0xFB28 }, + { 0xFB2A, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFD3D }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDFB }, + { 0xFE70, 0xFE74 }, + { 0xFE76, 0xFEFC }, + { 0xFF21, 0xFF3A }, + { 0xFF41, 0xFF5A }, + { 0xFF66, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10140, 0x10174 }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10330, 0x1034A }, + { 0x10380, 0x1039D }, + { 0x103A0, 0x103C3 }, + { 0x103C8, 0x103CF }, + { 0x103D1, 0x103D5 }, + { 0x10400, 0x1049D }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10915 }, + { 0x10920, 0x10939 }, + { 0x10A00, 0x10A00 }, + { 0x10A10, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x12000, 0x1236E }, + { 0x12400, 0x12462 }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6FA }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D734 }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D76E }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D7A8 }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7CB }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D } + +#define PREDICATE(c) uc_is_property_id_start (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_ideographic.c b/tests/unictype/test-pr_ideographic.c new file mode 100644 index 00000000..c61195db --- /dev/null +++ b/tests/unictype/test-pr_ideographic.c @@ -0,0 +1,32 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x3006, 0x3007 }, + { 0x3021, 0x3029 }, + { 0x3038, 0x303A }, + { 0x3400, 0x4DB5 }, + { 0x4E00, 0x9FC3 }, + { 0xF900, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D } + +#define PREDICATE(c) uc_is_property_ideographic (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_ids_binary_operator.c b/tests/unictype/test-pr_ids_binary_operator.c new file mode 100644 index 00000000..cc6e39a6 --- /dev/null +++ b/tests/unictype/test-pr_ids_binary_operator.c @@ -0,0 +1,24 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x2FF0, 0x2FF1 }, + { 0x2FF4, 0x2FFB } + +#define PREDICATE(c) uc_is_property_ids_binary_operator (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_ids_trinary_operator.c b/tests/unictype/test-pr_ids_trinary_operator.c new file mode 100644 index 00000000..c95de7fe --- /dev/null +++ b/tests/unictype/test-pr_ids_trinary_operator.c @@ -0,0 +1,23 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x2FF2, 0x2FF3 } + +#define PREDICATE(c) uc_is_property_ids_trinary_operator (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_ignorable_control.c b/tests/unictype/test-pr_ignorable_control.c new file mode 100644 index 00000000..58d38b52 --- /dev/null +++ b/tests/unictype/test-pr_ignorable_control.c @@ -0,0 +1,40 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0001, 0x0008 }, + { 0x000E, 0x001B }, + { 0x007F, 0x0084 }, + { 0x0086, 0x009F }, + { 0x00AD, 0x00AD }, + { 0x0600, 0x0603 }, + { 0x06DD, 0x06DD }, + { 0x070F, 0x070F }, + { 0x17B4, 0x17B5 }, + { 0x200B, 0x200F }, + { 0x202A, 0x202E }, + { 0x2060, 0x2064 }, + { 0x206A, 0x206F }, + { 0xFEFF, 0xFEFF }, + { 0xFFF9, 0xFFFB }, + { 0x1D173, 0x1D17A }, + { 0xE0001, 0xE0001 }, + { 0xE0020, 0xE007F } + +#define PREDICATE(c) uc_is_property_ignorable_control (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_iso_control.c b/tests/unictype/test-pr_iso_control.c new file mode 100644 index 00000000..c7d26971 --- /dev/null +++ b/tests/unictype/test-pr_iso_control.c @@ -0,0 +1,24 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0000, 0x001F }, + { 0x007F, 0x009F } + +#define PREDICATE(c) uc_is_property_iso_control (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_join_control.c b/tests/unictype/test-pr_join_control.c new file mode 100644 index 00000000..a452700c --- /dev/null +++ b/tests/unictype/test-pr_join_control.c @@ -0,0 +1,23 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x200C, 0x200D } + +#define PREDICATE(c) uc_is_property_join_control (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_left_of_pair.c b/tests/unictype/test-pr_left_of_pair.c new file mode 100644 index 00000000..5aed7aa0 --- /dev/null +++ b/tests/unictype/test-pr_left_of_pair.c @@ -0,0 +1,63 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0028, 0x0028 }, + { 0x005B, 0x005B }, + { 0x007B, 0x007B }, + { 0x00AB, 0x00AB }, + { 0x0F3A, 0x0F3A }, + { 0x0F3C, 0x0F3C }, + { 0x169B, 0x169B }, + { 0x2018, 0x2018 }, + { 0x201A, 0x201C }, + { 0x201E, 0x201F }, + { 0x2039, 0x2039 }, + { 0x2045, 0x2045 }, + { 0x207D, 0x207D }, + { 0x208D, 0x208D }, + { 0x2329, 0x2329 }, + { 0x3008, 0x3008 }, + { 0x300A, 0x300A }, + { 0x300C, 0x300C }, + { 0x300E, 0x300E }, + { 0x3010, 0x3010 }, + { 0x3014, 0x3014 }, + { 0x3016, 0x3016 }, + { 0x3018, 0x3018 }, + { 0x301A, 0x301A }, + { 0x301D, 0x301D }, + { 0xFD3E, 0xFD3E }, + { 0xFE35, 0xFE35 }, + { 0xFE37, 0xFE37 }, + { 0xFE39, 0xFE39 }, + { 0xFE3B, 0xFE3B }, + { 0xFE3D, 0xFE3D }, + { 0xFE3F, 0xFE3F }, + { 0xFE41, 0xFE41 }, + { 0xFE43, 0xFE43 }, + { 0xFE59, 0xFE59 }, + { 0xFE5B, 0xFE5B }, + { 0xFE5D, 0xFE5D }, + { 0xFF08, 0xFF08 }, + { 0xFF3B, 0xFF3B }, + { 0xFF5B, 0xFF5B }, + { 0xFF62, 0xFF62 } + +#define PREDICATE(c) uc_is_property_left_of_pair (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_line_separator.c b/tests/unictype/test-pr_line_separator.c new file mode 100644 index 00000000..2f16de13 --- /dev/null +++ b/tests/unictype/test-pr_line_separator.c @@ -0,0 +1,23 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x2028, 0x2028 } + +#define PREDICATE(c) uc_is_property_line_separator (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_logical_order_exception.c b/tests/unictype/test-pr_logical_order_exception.c new file mode 100644 index 00000000..b9ca4327 --- /dev/null +++ b/tests/unictype/test-pr_logical_order_exception.c @@ -0,0 +1,24 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0E40, 0x0E44 }, + { 0x0EC0, 0x0EC4 } + +#define PREDICATE(c) uc_is_property_logical_order_exception (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_lowercase.c b/tests/unictype/test-pr_lowercase.c new file mode 100644 index 00000000..cac34e7d --- /dev/null +++ b/tests/unictype/test-pr_lowercase.c @@ -0,0 +1,623 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00BA, 0x00BA }, + { 0x00DF, 0x00F6 }, + { 0x00F8, 0x00FF }, + { 0x0101, 0x0101 }, + { 0x0103, 0x0103 }, + { 0x0105, 0x0105 }, + { 0x0107, 0x0107 }, + { 0x0109, 0x0109 }, + { 0x010B, 0x010B }, + { 0x010D, 0x010D }, + { 0x010F, 0x010F }, + { 0x0111, 0x0111 }, + { 0x0113, 0x0113 }, + { 0x0115, 0x0115 }, + { 0x0117, 0x0117 }, + { 0x0119, 0x0119 }, + { 0x011B, 0x011B }, + { 0x011D, 0x011D }, + { 0x011F, 0x011F }, + { 0x0121, 0x0121 }, + { 0x0123, 0x0123 }, + { 0x0125, 0x0125 }, + { 0x0127, 0x0127 }, + { 0x0129, 0x0129 }, + { 0x012B, 0x012B }, + { 0x012D, 0x012D }, + { 0x012F, 0x012F }, + { 0x0131, 0x0131 }, + { 0x0133, 0x0133 }, + { 0x0135, 0x0135 }, + { 0x0137, 0x0138 }, + { 0x013A, 0x013A }, + { 0x013C, 0x013C }, + { 0x013E, 0x013E }, + { 0x0140, 0x0140 }, + { 0x0142, 0x0142 }, + { 0x0144, 0x0144 }, + { 0x0146, 0x0146 }, + { 0x0148, 0x0149 }, + { 0x014B, 0x014B }, + { 0x014D, 0x014D }, + { 0x014F, 0x014F }, + { 0x0151, 0x0151 }, + { 0x0153, 0x0153 }, + { 0x0155, 0x0155 }, + { 0x0157, 0x0157 }, + { 0x0159, 0x0159 }, + { 0x015B, 0x015B }, + { 0x015D, 0x015D }, + { 0x015F, 0x015F }, + { 0x0161, 0x0161 }, + { 0x0163, 0x0163 }, + { 0x0165, 0x0165 }, + { 0x0167, 0x0167 }, + { 0x0169, 0x0169 }, + { 0x016B, 0x016B }, + { 0x016D, 0x016D }, + { 0x016F, 0x016F }, + { 0x0171, 0x0171 }, + { 0x0173, 0x0173 }, + { 0x0175, 0x0175 }, + { 0x0177, 0x0177 }, + { 0x017A, 0x017A }, + { 0x017C, 0x017C }, + { 0x017E, 0x0180 }, + { 0x0183, 0x0183 }, + { 0x0185, 0x0185 }, + { 0x0188, 0x0188 }, + { 0x018C, 0x018D }, + { 0x0192, 0x0192 }, + { 0x0195, 0x0195 }, + { 0x0199, 0x019B }, + { 0x019E, 0x019E }, + { 0x01A1, 0x01A1 }, + { 0x01A3, 0x01A3 }, + { 0x01A5, 0x01A5 }, + { 0x01A8, 0x01A8 }, + { 0x01AA, 0x01AB }, + { 0x01AD, 0x01AD }, + { 0x01B0, 0x01B0 }, + { 0x01B4, 0x01B4 }, + { 0x01B6, 0x01B6 }, + { 0x01B9, 0x01BA }, + { 0x01BD, 0x01BF }, + { 0x01C6, 0x01C6 }, + { 0x01C9, 0x01C9 }, + { 0x01CC, 0x01CC }, + { 0x01CE, 0x01CE }, + { 0x01D0, 0x01D0 }, + { 0x01D2, 0x01D2 }, + { 0x01D4, 0x01D4 }, + { 0x01D6, 0x01D6 }, + { 0x01D8, 0x01D8 }, + { 0x01DA, 0x01DA }, + { 0x01DC, 0x01DD }, + { 0x01DF, 0x01DF }, + { 0x01E1, 0x01E1 }, + { 0x01E3, 0x01E3 }, + { 0x01E5, 0x01E5 }, + { 0x01E7, 0x01E7 }, + { 0x01E9, 0x01E9 }, + { 0x01EB, 0x01EB }, + { 0x01ED, 0x01ED }, + { 0x01EF, 0x01F0 }, + { 0x01F3, 0x01F3 }, + { 0x01F5, 0x01F5 }, + { 0x01F9, 0x01F9 }, + { 0x01FB, 0x01FB }, + { 0x01FD, 0x01FD }, + { 0x01FF, 0x01FF }, + { 0x0201, 0x0201 }, + { 0x0203, 0x0203 }, + { 0x0205, 0x0205 }, + { 0x0207, 0x0207 }, + { 0x0209, 0x0209 }, + { 0x020B, 0x020B }, + { 0x020D, 0x020D }, + { 0x020F, 0x020F }, + { 0x0211, 0x0211 }, + { 0x0213, 0x0213 }, + { 0x0215, 0x0215 }, + { 0x0217, 0x0217 }, + { 0x0219, 0x0219 }, + { 0x021B, 0x021B }, + { 0x021D, 0x021D }, + { 0x021F, 0x021F }, + { 0x0221, 0x0221 }, + { 0x0223, 0x0223 }, + { 0x0225, 0x0225 }, + { 0x0227, 0x0227 }, + { 0x0229, 0x0229 }, + { 0x022B, 0x022B }, + { 0x022D, 0x022D }, + { 0x022F, 0x022F }, + { 0x0231, 0x0231 }, + { 0x0233, 0x0239 }, + { 0x023C, 0x023C }, + { 0x023F, 0x0240 }, + { 0x0242, 0x0242 }, + { 0x0247, 0x0247 }, + { 0x0249, 0x0249 }, + { 0x024B, 0x024B }, + { 0x024D, 0x024D }, + { 0x024F, 0x0293 }, + { 0x0295, 0x02B8 }, + { 0x02C0, 0x02C1 }, + { 0x02E0, 0x02E4 }, + { 0x0345, 0x0345 }, + { 0x0371, 0x0371 }, + { 0x0373, 0x0373 }, + { 0x0377, 0x0377 }, + { 0x037A, 0x037D }, + { 0x0390, 0x0390 }, + { 0x03AC, 0x03CE }, + { 0x03D0, 0x03D1 }, + { 0x03D5, 0x03D7 }, + { 0x03D9, 0x03D9 }, + { 0x03DB, 0x03DB }, + { 0x03DD, 0x03DD }, + { 0x03DF, 0x03DF }, + { 0x03E1, 0x03E1 }, + { 0x03E3, 0x03E3 }, + { 0x03E5, 0x03E5 }, + { 0x03E7, 0x03E7 }, + { 0x03E9, 0x03E9 }, + { 0x03EB, 0x03EB }, + { 0x03ED, 0x03ED }, + { 0x03EF, 0x03F3 }, + { 0x03F5, 0x03F5 }, + { 0x03F8, 0x03F8 }, + { 0x03FB, 0x03FC }, + { 0x0430, 0x045F }, + { 0x0461, 0x0461 }, + { 0x0463, 0x0463 }, + { 0x0465, 0x0465 }, + { 0x0467, 0x0467 }, + { 0x0469, 0x0469 }, + { 0x046B, 0x046B }, + { 0x046D, 0x046D }, + { 0x046F, 0x046F }, + { 0x0471, 0x0471 }, + { 0x0473, 0x0473 }, + { 0x0475, 0x0475 }, + { 0x0477, 0x0477 }, + { 0x0479, 0x0479 }, + { 0x047B, 0x047B }, + { 0x047D, 0x047D }, + { 0x047F, 0x047F }, + { 0x0481, 0x0481 }, + { 0x048B, 0x048B }, + { 0x048D, 0x048D }, + { 0x048F, 0x048F }, + { 0x0491, 0x0491 }, + { 0x0493, 0x0493 }, + { 0x0495, 0x0495 }, + { 0x0497, 0x0497 }, + { 0x0499, 0x0499 }, + { 0x049B, 0x049B }, + { 0x049D, 0x049D }, + { 0x049F, 0x049F }, + { 0x04A1, 0x04A1 }, + { 0x04A3, 0x04A3 }, + { 0x04A5, 0x04A5 }, + { 0x04A7, 0x04A7 }, + { 0x04A9, 0x04A9 }, + { 0x04AB, 0x04AB }, + { 0x04AD, 0x04AD }, + { 0x04AF, 0x04AF }, + { 0x04B1, 0x04B1 }, + { 0x04B3, 0x04B3 }, + { 0x04B5, 0x04B5 }, + { 0x04B7, 0x04B7 }, + { 0x04B9, 0x04B9 }, + { 0x04BB, 0x04BB }, + { 0x04BD, 0x04BD }, + { 0x04BF, 0x04BF }, + { 0x04C2, 0x04C2 }, + { 0x04C4, 0x04C4 }, + { 0x04C6, 0x04C6 }, + { 0x04C8, 0x04C8 }, + { 0x04CA, 0x04CA }, + { 0x04CC, 0x04CC }, + { 0x04CE, 0x04CF }, + { 0x04D1, 0x04D1 }, + { 0x04D3, 0x04D3 }, + { 0x04D5, 0x04D5 }, + { 0x04D7, 0x04D7 }, + { 0x04D9, 0x04D9 }, + { 0x04DB, 0x04DB }, + { 0x04DD, 0x04DD }, + { 0x04DF, 0x04DF }, + { 0x04E1, 0x04E1 }, + { 0x04E3, 0x04E3 }, + { 0x04E5, 0x04E5 }, + { 0x04E7, 0x04E7 }, + { 0x04E9, 0x04E9 }, + { 0x04EB, 0x04EB }, + { 0x04ED, 0x04ED }, + { 0x04EF, 0x04EF }, + { 0x04F1, 0x04F1 }, + { 0x04F3, 0x04F3 }, + { 0x04F5, 0x04F5 }, + { 0x04F7, 0x04F7 }, + { 0x04F9, 0x04F9 }, + { 0x04FB, 0x04FB }, + { 0x04FD, 0x04FD }, + { 0x04FF, 0x04FF }, + { 0x0501, 0x0501 }, + { 0x0503, 0x0503 }, + { 0x0505, 0x0505 }, + { 0x0507, 0x0507 }, + { 0x0509, 0x0509 }, + { 0x050B, 0x050B }, + { 0x050D, 0x050D }, + { 0x050F, 0x050F }, + { 0x0511, 0x0511 }, + { 0x0513, 0x0513 }, + { 0x0515, 0x0515 }, + { 0x0517, 0x0517 }, + { 0x0519, 0x0519 }, + { 0x051B, 0x051B }, + { 0x051D, 0x051D }, + { 0x051F, 0x051F }, + { 0x0521, 0x0521 }, + { 0x0523, 0x0523 }, + { 0x0561, 0x0587 }, + { 0x1D00, 0x1DBF }, + { 0x1E01, 0x1E01 }, + { 0x1E03, 0x1E03 }, + { 0x1E05, 0x1E05 }, + { 0x1E07, 0x1E07 }, + { 0x1E09, 0x1E09 }, + { 0x1E0B, 0x1E0B }, + { 0x1E0D, 0x1E0D }, + { 0x1E0F, 0x1E0F }, + { 0x1E11, 0x1E11 }, + { 0x1E13, 0x1E13 }, + { 0x1E15, 0x1E15 }, + { 0x1E17, 0x1E17 }, + { 0x1E19, 0x1E19 }, + { 0x1E1B, 0x1E1B }, + { 0x1E1D, 0x1E1D }, + { 0x1E1F, 0x1E1F }, + { 0x1E21, 0x1E21 }, + { 0x1E23, 0x1E23 }, + { 0x1E25, 0x1E25 }, + { 0x1E27, 0x1E27 }, + { 0x1E29, 0x1E29 }, + { 0x1E2B, 0x1E2B }, + { 0x1E2D, 0x1E2D }, + { 0x1E2F, 0x1E2F }, + { 0x1E31, 0x1E31 }, + { 0x1E33, 0x1E33 }, + { 0x1E35, 0x1E35 }, + { 0x1E37, 0x1E37 }, + { 0x1E39, 0x1E39 }, + { 0x1E3B, 0x1E3B }, + { 0x1E3D, 0x1E3D }, + { 0x1E3F, 0x1E3F }, + { 0x1E41, 0x1E41 }, + { 0x1E43, 0x1E43 }, + { 0x1E45, 0x1E45 }, + { 0x1E47, 0x1E47 }, + { 0x1E49, 0x1E49 }, + { 0x1E4B, 0x1E4B }, + { 0x1E4D, 0x1E4D }, + { 0x1E4F, 0x1E4F }, + { 0x1E51, 0x1E51 }, + { 0x1E53, 0x1E53 }, + { 0x1E55, 0x1E55 }, + { 0x1E57, 0x1E57 }, + { 0x1E59, 0x1E59 }, + { 0x1E5B, 0x1E5B }, + { 0x1E5D, 0x1E5D }, + { 0x1E5F, 0x1E5F }, + { 0x1E61, 0x1E61 }, + { 0x1E63, 0x1E63 }, + { 0x1E65, 0x1E65 }, + { 0x1E67, 0x1E67 }, + { 0x1E69, 0x1E69 }, + { 0x1E6B, 0x1E6B }, + { 0x1E6D, 0x1E6D }, + { 0x1E6F, 0x1E6F }, + { 0x1E71, 0x1E71 }, + { 0x1E73, 0x1E73 }, + { 0x1E75, 0x1E75 }, + { 0x1E77, 0x1E77 }, + { 0x1E79, 0x1E79 }, + { 0x1E7B, 0x1E7B }, + { 0x1E7D, 0x1E7D }, + { 0x1E7F, 0x1E7F }, + { 0x1E81, 0x1E81 }, + { 0x1E83, 0x1E83 }, + { 0x1E85, 0x1E85 }, + { 0x1E87, 0x1E87 }, + { 0x1E89, 0x1E89 }, + { 0x1E8B, 0x1E8B }, + { 0x1E8D, 0x1E8D }, + { 0x1E8F, 0x1E8F }, + { 0x1E91, 0x1E91 }, + { 0x1E93, 0x1E93 }, + { 0x1E95, 0x1E9D }, + { 0x1E9F, 0x1E9F }, + { 0x1EA1, 0x1EA1 }, + { 0x1EA3, 0x1EA3 }, + { 0x1EA5, 0x1EA5 }, + { 0x1EA7, 0x1EA7 }, + { 0x1EA9, 0x1EA9 }, + { 0x1EAB, 0x1EAB }, + { 0x1EAD, 0x1EAD }, + { 0x1EAF, 0x1EAF }, + { 0x1EB1, 0x1EB1 }, + { 0x1EB3, 0x1EB3 }, + { 0x1EB5, 0x1EB5 }, + { 0x1EB7, 0x1EB7 }, + { 0x1EB9, 0x1EB9 }, + { 0x1EBB, 0x1EBB }, + { 0x1EBD, 0x1EBD }, + { 0x1EBF, 0x1EBF }, + { 0x1EC1, 0x1EC1 }, + { 0x1EC3, 0x1EC3 }, + { 0x1EC5, 0x1EC5 }, + { 0x1EC7, 0x1EC7 }, + { 0x1EC9, 0x1EC9 }, + { 0x1ECB, 0x1ECB }, + { 0x1ECD, 0x1ECD }, + { 0x1ECF, 0x1ECF }, + { 0x1ED1, 0x1ED1 }, + { 0x1ED3, 0x1ED3 }, + { 0x1ED5, 0x1ED5 }, + { 0x1ED7, 0x1ED7 }, + { 0x1ED9, 0x1ED9 }, + { 0x1EDB, 0x1EDB }, + { 0x1EDD, 0x1EDD }, + { 0x1EDF, 0x1EDF }, + { 0x1EE1, 0x1EE1 }, + { 0x1EE3, 0x1EE3 }, + { 0x1EE5, 0x1EE5 }, + { 0x1EE7, 0x1EE7 }, + { 0x1EE9, 0x1EE9 }, + { 0x1EEB, 0x1EEB }, + { 0x1EED, 0x1EED }, + { 0x1EEF, 0x1EEF }, + { 0x1EF1, 0x1EF1 }, + { 0x1EF3, 0x1EF3 }, + { 0x1EF5, 0x1EF5 }, + { 0x1EF7, 0x1EF7 }, + { 0x1EF9, 0x1EF9 }, + { 0x1EFB, 0x1EFB }, + { 0x1EFD, 0x1EFD }, + { 0x1EFF, 0x1F07 }, + { 0x1F10, 0x1F15 }, + { 0x1F20, 0x1F27 }, + { 0x1F30, 0x1F37 }, + { 0x1F40, 0x1F45 }, + { 0x1F50, 0x1F57 }, + { 0x1F60, 0x1F67 }, + { 0x1F70, 0x1F7D }, + { 0x1F80, 0x1F87 }, + { 0x1F90, 0x1F97 }, + { 0x1FA0, 0x1FA7 }, + { 0x1FB0, 0x1FB4 }, + { 0x1FB6, 0x1FB7 }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FC4 }, + { 0x1FC6, 0x1FC7 }, + { 0x1FD0, 0x1FD3 }, + { 0x1FD6, 0x1FD7 }, + { 0x1FE0, 0x1FE7 }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FF7 }, + { 0x2071, 0x2071 }, + { 0x207F, 0x207F }, + { 0x2090, 0x2094 }, + { 0x210A, 0x210A }, + { 0x210E, 0x210F }, + { 0x2113, 0x2113 }, + { 0x212F, 0x212F }, + { 0x2134, 0x2134 }, + { 0x2139, 0x2139 }, + { 0x213C, 0x213D }, + { 0x2146, 0x2149 }, + { 0x214E, 0x214E }, + { 0x2170, 0x217F }, + { 0x2184, 0x2184 }, + { 0x24D0, 0x24E9 }, + { 0x2C30, 0x2C5E }, + { 0x2C61, 0x2C61 }, + { 0x2C65, 0x2C66 }, + { 0x2C68, 0x2C68 }, + { 0x2C6A, 0x2C6A }, + { 0x2C6C, 0x2C6C }, + { 0x2C71, 0x2C71 }, + { 0x2C73, 0x2C74 }, + { 0x2C76, 0x2C7D }, + { 0x2C81, 0x2C81 }, + { 0x2C83, 0x2C83 }, + { 0x2C85, 0x2C85 }, + { 0x2C87, 0x2C87 }, + { 0x2C89, 0x2C89 }, + { 0x2C8B, 0x2C8B }, + { 0x2C8D, 0x2C8D }, + { 0x2C8F, 0x2C8F }, + { 0x2C91, 0x2C91 }, + { 0x2C93, 0x2C93 }, + { 0x2C95, 0x2C95 }, + { 0x2C97, 0x2C97 }, + { 0x2C99, 0x2C99 }, + { 0x2C9B, 0x2C9B }, + { 0x2C9D, 0x2C9D }, + { 0x2C9F, 0x2C9F }, + { 0x2CA1, 0x2CA1 }, + { 0x2CA3, 0x2CA3 }, + { 0x2CA5, 0x2CA5 }, + { 0x2CA7, 0x2CA7 }, + { 0x2CA9, 0x2CA9 }, + { 0x2CAB, 0x2CAB }, + { 0x2CAD, 0x2CAD }, + { 0x2CAF, 0x2CAF }, + { 0x2CB1, 0x2CB1 }, + { 0x2CB3, 0x2CB3 }, + { 0x2CB5, 0x2CB5 }, + { 0x2CB7, 0x2CB7 }, + { 0x2CB9, 0x2CB9 }, + { 0x2CBB, 0x2CBB }, + { 0x2CBD, 0x2CBD }, + { 0x2CBF, 0x2CBF }, + { 0x2CC1, 0x2CC1 }, + { 0x2CC3, 0x2CC3 }, + { 0x2CC5, 0x2CC5 }, + { 0x2CC7, 0x2CC7 }, + { 0x2CC9, 0x2CC9 }, + { 0x2CCB, 0x2CCB }, + { 0x2CCD, 0x2CCD }, + { 0x2CCF, 0x2CCF }, + { 0x2CD1, 0x2CD1 }, + { 0x2CD3, 0x2CD3 }, + { 0x2CD5, 0x2CD5 }, + { 0x2CD7, 0x2CD7 }, + { 0x2CD9, 0x2CD9 }, + { 0x2CDB, 0x2CDB }, + { 0x2CDD, 0x2CDD }, + { 0x2CDF, 0x2CDF }, + { 0x2CE1, 0x2CE1 }, + { 0x2CE3, 0x2CE4 }, + { 0x2D00, 0x2D25 }, + { 0xA641, 0xA641 }, + { 0xA643, 0xA643 }, + { 0xA645, 0xA645 }, + { 0xA647, 0xA647 }, + { 0xA649, 0xA649 }, + { 0xA64B, 0xA64B }, + { 0xA64D, 0xA64D }, + { 0xA64F, 0xA64F }, + { 0xA651, 0xA651 }, + { 0xA653, 0xA653 }, + { 0xA655, 0xA655 }, + { 0xA657, 0xA657 }, + { 0xA659, 0xA659 }, + { 0xA65B, 0xA65B }, + { 0xA65D, 0xA65D }, + { 0xA65F, 0xA65F }, + { 0xA663, 0xA663 }, + { 0xA665, 0xA665 }, + { 0xA667, 0xA667 }, + { 0xA669, 0xA669 }, + { 0xA66B, 0xA66B }, + { 0xA66D, 0xA66D }, + { 0xA681, 0xA681 }, + { 0xA683, 0xA683 }, + { 0xA685, 0xA685 }, + { 0xA687, 0xA687 }, + { 0xA689, 0xA689 }, + { 0xA68B, 0xA68B }, + { 0xA68D, 0xA68D }, + { 0xA68F, 0xA68F }, + { 0xA691, 0xA691 }, + { 0xA693, 0xA693 }, + { 0xA695, 0xA695 }, + { 0xA697, 0xA697 }, + { 0xA723, 0xA723 }, + { 0xA725, 0xA725 }, + { 0xA727, 0xA727 }, + { 0xA729, 0xA729 }, + { 0xA72B, 0xA72B }, + { 0xA72D, 0xA72D }, + { 0xA72F, 0xA731 }, + { 0xA733, 0xA733 }, + { 0xA735, 0xA735 }, + { 0xA737, 0xA737 }, + { 0xA739, 0xA739 }, + { 0xA73B, 0xA73B }, + { 0xA73D, 0xA73D }, + { 0xA73F, 0xA73F }, + { 0xA741, 0xA741 }, + { 0xA743, 0xA743 }, + { 0xA745, 0xA745 }, + { 0xA747, 0xA747 }, + { 0xA749, 0xA749 }, + { 0xA74B, 0xA74B }, + { 0xA74D, 0xA74D }, + { 0xA74F, 0xA74F }, + { 0xA751, 0xA751 }, + { 0xA753, 0xA753 }, + { 0xA755, 0xA755 }, + { 0xA757, 0xA757 }, + { 0xA759, 0xA759 }, + { 0xA75B, 0xA75B }, + { 0xA75D, 0xA75D }, + { 0xA75F, 0xA75F }, + { 0xA761, 0xA761 }, + { 0xA763, 0xA763 }, + { 0xA765, 0xA765 }, + { 0xA767, 0xA767 }, + { 0xA769, 0xA769 }, + { 0xA76B, 0xA76B }, + { 0xA76D, 0xA76D }, + { 0xA76F, 0xA778 }, + { 0xA77A, 0xA77A }, + { 0xA77C, 0xA77C }, + { 0xA77F, 0xA77F }, + { 0xA781, 0xA781 }, + { 0xA783, 0xA783 }, + { 0xA785, 0xA785 }, + { 0xA787, 0xA787 }, + { 0xA78C, 0xA78C }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFF41, 0xFF5A }, + { 0x10428, 0x1044F }, + { 0x1D41A, 0x1D433 }, + { 0x1D44E, 0x1D454 }, + { 0x1D456, 0x1D467 }, + { 0x1D482, 0x1D49B }, + { 0x1D4B6, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D4CF }, + { 0x1D4EA, 0x1D503 }, + { 0x1D51E, 0x1D537 }, + { 0x1D552, 0x1D56B }, + { 0x1D586, 0x1D59F }, + { 0x1D5BA, 0x1D5D3 }, + { 0x1D5EE, 0x1D607 }, + { 0x1D622, 0x1D63B }, + { 0x1D656, 0x1D66F }, + { 0x1D68A, 0x1D6A5 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6E1 }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D71B }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D755 }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D78F }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7C9 }, + { 0x1D7CB, 0x1D7CB } + +#define PREDICATE(c) uc_is_property_lowercase (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_math.c b/tests/unictype/test-pr_math.c new file mode 100644 index 00000000..5f250871 --- /dev/null +++ b/tests/unictype/test-pr_math.c @@ -0,0 +1,127 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x002B, 0x002B }, + { 0x003C, 0x003E }, + { 0x005E, 0x005E }, + { 0x007C, 0x007C }, + { 0x007E, 0x007E }, + { 0x00AC, 0x00AC }, + { 0x00B1, 0x00B1 }, + { 0x00D7, 0x00D7 }, + { 0x00F7, 0x00F7 }, + { 0x03D0, 0x03D2 }, + { 0x03D5, 0x03D5 }, + { 0x03F0, 0x03F1 }, + { 0x03F4, 0x03F6 }, + { 0x0606, 0x0608 }, + { 0x2016, 0x2016 }, + { 0x2032, 0x2034 }, + { 0x2040, 0x2040 }, + { 0x2044, 0x2044 }, + { 0x2052, 0x2052 }, + { 0x2061, 0x2064 }, + { 0x207A, 0x207E }, + { 0x208A, 0x208E }, + { 0x20D0, 0x20DC }, + { 0x20E1, 0x20E1 }, + { 0x20E5, 0x20E6 }, + { 0x20EB, 0x20EF }, + { 0x2102, 0x2102 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2119, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2128, 0x2129 }, + { 0x212C, 0x212D }, + { 0x212F, 0x2131 }, + { 0x2133, 0x2138 }, + { 0x213C, 0x2149 }, + { 0x214B, 0x214B }, + { 0x2190, 0x21A7 }, + { 0x21A9, 0x21AE }, + { 0x21B0, 0x21B1 }, + { 0x21B6, 0x21B7 }, + { 0x21BC, 0x21DB }, + { 0x21DD, 0x21DD }, + { 0x21E4, 0x21E5 }, + { 0x21F4, 0x22FF }, + { 0x2308, 0x230B }, + { 0x2320, 0x2321 }, + { 0x237C, 0x237C }, + { 0x239B, 0x23B5 }, + { 0x23B7, 0x23B7 }, + { 0x23D0, 0x23D0 }, + { 0x23DC, 0x23E2 }, + { 0x25A0, 0x25A1 }, + { 0x25AE, 0x25B7 }, + { 0x25BC, 0x25C1 }, + { 0x25C6, 0x25C7 }, + { 0x25CA, 0x25CB }, + { 0x25CF, 0x25D3 }, + { 0x25E2, 0x25E2 }, + { 0x25E4, 0x25E4 }, + { 0x25E7, 0x25EC }, + { 0x25F8, 0x25FF }, + { 0x2605, 0x2606 }, + { 0x2640, 0x2640 }, + { 0x2642, 0x2642 }, + { 0x2660, 0x2663 }, + { 0x266D, 0x266F }, + { 0x27C0, 0x27CA }, + { 0x27CC, 0x27CC }, + { 0x27D0, 0x27FF }, + { 0x2900, 0x2AFF }, + { 0x2B30, 0x2B44 }, + { 0x2B47, 0x2B4C }, + { 0xFB29, 0xFB29 }, + { 0xFE61, 0xFE66 }, + { 0xFE68, 0xFE68 }, + { 0xFF0B, 0xFF0B }, + { 0xFF1C, 0xFF1E }, + { 0xFF3C, 0xFF3C }, + { 0xFF3E, 0xFF3E }, + { 0xFF5C, 0xFF5C }, + { 0xFF5E, 0xFF5E }, + { 0xFFE2, 0xFFE2 }, + { 0xFFE9, 0xFFEC }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D7CB }, + { 0x1D7CE, 0x1D7FF } + +#define PREDICATE(c) uc_is_property_math (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_non_break.c b/tests/unictype/test-pr_non_break.c new file mode 100644 index 00000000..06794c58 --- /dev/null +++ b/tests/unictype/test-pr_non_break.c @@ -0,0 +1,32 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00A0, 0x00A0 }, + { 0x034F, 0x034F }, + { 0x035C, 0x0362 }, + { 0x0F08, 0x0F08 }, + { 0x0F0C, 0x0F0C }, + { 0x0F12, 0x0F12 }, + { 0x180E, 0x180E }, + { 0x2007, 0x2007 }, + { 0x2011, 0x2011 }, + { 0x202F, 0x202F } + +#define PREDICATE(c) uc_is_property_non_break (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_not_a_character.c b/tests/unictype/test-pr_not_a_character.c new file mode 100644 index 00000000..7ce96431 --- /dev/null +++ b/tests/unictype/test-pr_not_a_character.c @@ -0,0 +1,40 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0xFDD0, 0xFDEF }, + { 0xFFFE, 0xFFFF }, + { 0x1FFFE, 0x1FFFF }, + { 0x2FFFE, 0x2FFFF }, + { 0x3FFFE, 0x3FFFF }, + { 0x4FFFE, 0x4FFFF }, + { 0x5FFFE, 0x5FFFF }, + { 0x6FFFE, 0x6FFFF }, + { 0x7FFFE, 0x7FFFF }, + { 0x8FFFE, 0x8FFFF }, + { 0x9FFFE, 0x9FFFF }, + { 0xAFFFE, 0xAFFFF }, + { 0xBFFFE, 0xBFFFF }, + { 0xCFFFE, 0xCFFFF }, + { 0xDFFFE, 0xDFFFF }, + { 0xEFFFE, 0xEFFFF }, + { 0xFFFFE, 0xFFFFF }, + { 0x10FFFE, 0x10FFFF } + +#define PREDICATE(c) uc_is_property_not_a_character (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_numeric.c b/tests/unictype/test-pr_numeric.c new file mode 100644 index 00000000..4449802b --- /dev/null +++ b/tests/unictype/test-pr_numeric.c @@ -0,0 +1,101 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 }, + { 0x00B2, 0x00B3 }, + { 0x00B9, 0x00B9 }, + { 0x00BC, 0x00BE }, + { 0x0660, 0x0669 }, + { 0x06F0, 0x06F9 }, + { 0x07C0, 0x07C9 }, + { 0x0966, 0x096F }, + { 0x09E6, 0x09EF }, + { 0x09F4, 0x09F9 }, + { 0x0A66, 0x0A6F }, + { 0x0AE6, 0x0AEF }, + { 0x0B66, 0x0B6F }, + { 0x0BE6, 0x0BF2 }, + { 0x0C66, 0x0C6F }, + { 0x0C78, 0x0C7E }, + { 0x0CE6, 0x0CEF }, + { 0x0D66, 0x0D75 }, + { 0x0E50, 0x0E59 }, + { 0x0ED0, 0x0ED9 }, + { 0x0F20, 0x0F33 }, + { 0x1040, 0x1049 }, + { 0x1090, 0x1099 }, + { 0x1369, 0x137C }, + { 0x16EE, 0x16F0 }, + { 0x17E0, 0x17E9 }, + { 0x17F0, 0x17F9 }, + { 0x1810, 0x1819 }, + { 0x1946, 0x194F }, + { 0x19D0, 0x19D9 }, + { 0x1B50, 0x1B59 }, + { 0x1BB0, 0x1BB9 }, + { 0x1C40, 0x1C49 }, + { 0x1C50, 0x1C59 }, + { 0x2070, 0x2070 }, + { 0x2074, 0x2079 }, + { 0x2080, 0x2089 }, + { 0x2153, 0x2183 }, + { 0x2185, 0x2188 }, + { 0x2460, 0x249B }, + { 0x24EA, 0x24FF }, + { 0x2776, 0x2793 }, + { 0x2CFD, 0x2CFD }, + { 0x3007, 0x3007 }, + { 0x3021, 0x3029 }, + { 0x3038, 0x303A }, + { 0x3192, 0x3195 }, + { 0x3220, 0x3229 }, + { 0x3251, 0x325F }, + { 0x3280, 0x3289 }, + { 0x32B1, 0x32BF }, + { 0xA620, 0xA629 }, + { 0xA8D0, 0xA8D9 }, + { 0xA900, 0xA909 }, + { 0xAA50, 0xAA59 }, + { 0xF96B, 0xF96B }, + { 0xF973, 0xF973 }, + { 0xF978, 0xF978 }, + { 0xF9B2, 0xF9B2 }, + { 0xF9D1, 0xF9D1 }, + { 0xF9D3, 0xF9D3 }, + { 0xF9FD, 0xF9FD }, + { 0xFF10, 0xFF19 }, + { 0x10107, 0x10133 }, + { 0x10140, 0x10178 }, + { 0x1018A, 0x1018A }, + { 0x10320, 0x10323 }, + { 0x10341, 0x10341 }, + { 0x1034A, 0x1034A }, + { 0x103D1, 0x103D5 }, + { 0x104A0, 0x104A9 }, + { 0x10916, 0x10919 }, + { 0x10A40, 0x10A47 }, + { 0x12400, 0x12431 }, + { 0x12434, 0x12455 }, + { 0x12458, 0x12462 }, + { 0x1D360, 0x1D371 }, + { 0x1D7CE, 0x1D7FF }, + { 0x2F890, 0x2F890 } + +#define PREDICATE(c) uc_is_property_numeric (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_other_alphabetic.c b/tests/unictype/test-pr_other_alphabetic.c new file mode 100644 index 00000000..f603dee3 --- /dev/null +++ b/tests/unictype/test-pr_other_alphabetic.c @@ -0,0 +1,144 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0345, 0x0345 }, + { 0x05B0, 0x05BD }, + { 0x05BF, 0x05BF }, + { 0x05C1, 0x05C2 }, + { 0x05C4, 0x05C5 }, + { 0x05C7, 0x05C7 }, + { 0x0610, 0x061A }, + { 0x064B, 0x0657 }, + { 0x0659, 0x065E }, + { 0x0670, 0x0670 }, + { 0x06D6, 0x06DC }, + { 0x06E1, 0x06E4 }, + { 0x06E7, 0x06E8 }, + { 0x06ED, 0x06ED }, + { 0x0711, 0x0711 }, + { 0x0730, 0x073F }, + { 0x07A6, 0x07B0 }, + { 0x0901, 0x0903 }, + { 0x093E, 0x094C }, + { 0x0962, 0x0963 }, + { 0x0981, 0x0983 }, + { 0x09BE, 0x09C4 }, + { 0x09C7, 0x09C8 }, + { 0x09CB, 0x09CC }, + { 0x09D7, 0x09D7 }, + { 0x09E2, 0x09E3 }, + { 0x0A01, 0x0A03 }, + { 0x0A3E, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4C }, + { 0x0A51, 0x0A51 }, + { 0x0A70, 0x0A71 }, + { 0x0A75, 0x0A75 }, + { 0x0A81, 0x0A83 }, + { 0x0ABE, 0x0AC5 }, + { 0x0AC7, 0x0AC9 }, + { 0x0ACB, 0x0ACC }, + { 0x0AE2, 0x0AE3 }, + { 0x0B01, 0x0B03 }, + { 0x0B3E, 0x0B44 }, + { 0x0B47, 0x0B48 }, + { 0x0B4B, 0x0B4C }, + { 0x0B56, 0x0B57 }, + { 0x0B62, 0x0B63 }, + { 0x0B82, 0x0B82 }, + { 0x0BBE, 0x0BC2 }, + { 0x0BC6, 0x0BC8 }, + { 0x0BCA, 0x0BCC }, + { 0x0BD7, 0x0BD7 }, + { 0x0C01, 0x0C03 }, + { 0x0C3E, 0x0C44 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4C }, + { 0x0C55, 0x0C56 }, + { 0x0C62, 0x0C63 }, + { 0x0C82, 0x0C83 }, + { 0x0CBE, 0x0CC4 }, + { 0x0CC6, 0x0CC8 }, + { 0x0CCA, 0x0CCC }, + { 0x0CD5, 0x0CD6 }, + { 0x0CE2, 0x0CE3 }, + { 0x0D02, 0x0D03 }, + { 0x0D3E, 0x0D44 }, + { 0x0D46, 0x0D48 }, + { 0x0D4A, 0x0D4C }, + { 0x0D57, 0x0D57 }, + { 0x0D62, 0x0D63 }, + { 0x0D82, 0x0D83 }, + { 0x0DCF, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0DD8, 0x0DDF }, + { 0x0DF2, 0x0DF3 }, + { 0x0E31, 0x0E31 }, + { 0x0E34, 0x0E3A }, + { 0x0E4D, 0x0E4D }, + { 0x0EB1, 0x0EB1 }, + { 0x0EB4, 0x0EB9 }, + { 0x0EBB, 0x0EBC }, + { 0x0ECD, 0x0ECD }, + { 0x0F71, 0x0F81 }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x102B, 0x1036 }, + { 0x1038, 0x1038 }, + { 0x103B, 0x103E }, + { 0x1056, 0x1059 }, + { 0x105E, 0x1060 }, + { 0x1062, 0x1062 }, + { 0x1067, 0x1068 }, + { 0x1071, 0x1074 }, + { 0x1082, 0x1086 }, + { 0x135F, 0x135F }, + { 0x1712, 0x1713 }, + { 0x1732, 0x1733 }, + { 0x1752, 0x1753 }, + { 0x1772, 0x1773 }, + { 0x17B6, 0x17C8 }, + { 0x18A9, 0x18A9 }, + { 0x1920, 0x192B }, + { 0x1930, 0x1938 }, + { 0x19B0, 0x19C0 }, + { 0x19C8, 0x19C9 }, + { 0x1A17, 0x1A1B }, + { 0x1B00, 0x1B04 }, + { 0x1B35, 0x1B43 }, + { 0x1B80, 0x1B82 }, + { 0x1BA1, 0x1BA9 }, + { 0x1C24, 0x1C35 }, + { 0x24B6, 0x24E9 }, + { 0x2DE0, 0x2DFF }, + { 0xA823, 0xA827 }, + { 0xA880, 0xA881 }, + { 0xA8B4, 0xA8C3 }, + { 0xA926, 0xA92A }, + { 0xA947, 0xA952 }, + { 0xAA29, 0xAA36 }, + { 0xAA43, 0xAA43 }, + { 0xAA4C, 0xAA4D }, + { 0xFB1E, 0xFB1E }, + { 0x10A01, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A0F } + +#define PREDICATE(c) uc_is_property_other_alphabetic (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_other_default_ignorable_code_point.c b/tests/unictype/test-pr_other_default_ignorable_code_point.c new file mode 100644 index 00000000..69068aa2 --- /dev/null +++ b/tests/unictype/test-pr_other_default_ignorable_code_point.c @@ -0,0 +1,32 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x034F, 0x034F }, + { 0x115F, 0x1160 }, + { 0x2065, 0x2069 }, + { 0x3164, 0x3164 }, + { 0xFFA0, 0xFFA0 }, + { 0xFFF0, 0xFFF8 }, + { 0xE0000, 0xE0000 }, + { 0xE0002, 0xE001F }, + { 0xE0080, 0xE00FF }, + { 0xE01F0, 0xE0FFF } + +#define PREDICATE(c) uc_is_property_other_default_ignorable_code_point (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_other_grapheme_extend.c b/tests/unictype/test-pr_other_grapheme_extend.c new file mode 100644 index 00000000..aff4377d --- /dev/null +++ b/tests/unictype/test-pr_other_grapheme_extend.c @@ -0,0 +1,38 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x09BE, 0x09BE }, + { 0x09D7, 0x09D7 }, + { 0x0B3E, 0x0B3E }, + { 0x0B57, 0x0B57 }, + { 0x0BBE, 0x0BBE }, + { 0x0BD7, 0x0BD7 }, + { 0x0CC2, 0x0CC2 }, + { 0x0CD5, 0x0CD6 }, + { 0x0D3E, 0x0D3E }, + { 0x0D57, 0x0D57 }, + { 0x0DCF, 0x0DCF }, + { 0x0DDF, 0x0DDF }, + { 0x200C, 0x200D }, + { 0xFF9E, 0xFF9F }, + { 0x1D165, 0x1D165 }, + { 0x1D16E, 0x1D172 } + +#define PREDICATE(c) uc_is_property_other_grapheme_extend (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_other_id_continue.c b/tests/unictype/test-pr_other_id_continue.c new file mode 100644 index 00000000..b30a7df1 --- /dev/null +++ b/tests/unictype/test-pr_other_id_continue.c @@ -0,0 +1,25 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00B7, 0x00B7 }, + { 0x0387, 0x0387 }, + { 0x1369, 0x1371 } + +#define PREDICATE(c) uc_is_property_other_id_continue (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_other_id_start.c b/tests/unictype/test-pr_other_id_start.c new file mode 100644 index 00000000..d1cc5f09 --- /dev/null +++ b/tests/unictype/test-pr_other_id_start.c @@ -0,0 +1,25 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x2118, 0x2118 }, + { 0x212E, 0x212E }, + { 0x309B, 0x309C } + +#define PREDICATE(c) uc_is_property_other_id_start (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_other_lowercase.c b/tests/unictype/test-pr_other_lowercase.c new file mode 100644 index 00000000..a2810dca --- /dev/null +++ b/tests/unictype/test-pr_other_lowercase.c @@ -0,0 +1,35 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x02B0, 0x02B8 }, + { 0x02C0, 0x02C1 }, + { 0x02E0, 0x02E4 }, + { 0x0345, 0x0345 }, + { 0x037A, 0x037A }, + { 0x1D2C, 0x1D61 }, + { 0x1D78, 0x1D78 }, + { 0x1D9B, 0x1DBF }, + { 0x2090, 0x2094 }, + { 0x2170, 0x217F }, + { 0x24D0, 0x24E9 }, + { 0x2C7D, 0x2C7D }, + { 0xA770, 0xA770 } + +#define PREDICATE(c) uc_is_property_other_lowercase (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_other_math.c b/tests/unictype/test-pr_other_math.c new file mode 100644 index 00000000..b563303b --- /dev/null +++ b/tests/unictype/test-pr_other_math.c @@ -0,0 +1,121 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x005E, 0x005E }, + { 0x03D0, 0x03D2 }, + { 0x03D5, 0x03D5 }, + { 0x03F0, 0x03F1 }, + { 0x03F4, 0x03F5 }, + { 0x2016, 0x2016 }, + { 0x2032, 0x2034 }, + { 0x2040, 0x2040 }, + { 0x2061, 0x2064 }, + { 0x207D, 0x207E }, + { 0x208D, 0x208E }, + { 0x20D0, 0x20DC }, + { 0x20E1, 0x20E1 }, + { 0x20E5, 0x20E6 }, + { 0x20EB, 0x20EF }, + { 0x2102, 0x2102 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2119, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2128, 0x2129 }, + { 0x212C, 0x212D }, + { 0x212F, 0x2131 }, + { 0x2133, 0x2138 }, + { 0x213C, 0x213F }, + { 0x2145, 0x2149 }, + { 0x2195, 0x2199 }, + { 0x219C, 0x219F }, + { 0x21A1, 0x21A2 }, + { 0x21A4, 0x21A5 }, + { 0x21A7, 0x21A7 }, + { 0x21A9, 0x21AD }, + { 0x21B0, 0x21B1 }, + { 0x21B6, 0x21B7 }, + { 0x21BC, 0x21CD }, + { 0x21D0, 0x21D1 }, + { 0x21D3, 0x21D3 }, + { 0x21D5, 0x21DB }, + { 0x21DD, 0x21DD }, + { 0x21E4, 0x21E5 }, + { 0x23B4, 0x23B5 }, + { 0x23B7, 0x23B7 }, + { 0x23D0, 0x23D0 }, + { 0x23E2, 0x23E2 }, + { 0x25A0, 0x25A1 }, + { 0x25AE, 0x25B6 }, + { 0x25BC, 0x25C0 }, + { 0x25C6, 0x25C7 }, + { 0x25CA, 0x25CB }, + { 0x25CF, 0x25D3 }, + { 0x25E2, 0x25E2 }, + { 0x25E4, 0x25E4 }, + { 0x25E7, 0x25EC }, + { 0x2605, 0x2606 }, + { 0x2640, 0x2640 }, + { 0x2642, 0x2642 }, + { 0x2660, 0x2663 }, + { 0x266D, 0x266E }, + { 0x27C5, 0x27C6 }, + { 0x27E6, 0x27EF }, + { 0x2983, 0x2998 }, + { 0x29D8, 0x29DB }, + { 0x29FC, 0x29FD }, + { 0xFE61, 0xFE61 }, + { 0xFE63, 0xFE63 }, + { 0xFE68, 0xFE68 }, + { 0xFF3C, 0xFF3C }, + { 0xFF3E, 0xFF3E }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6FA }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D734 }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D76E }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D7A8 }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7CB }, + { 0x1D7CE, 0x1D7FF } + +#define PREDICATE(c) uc_is_property_other_math (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_other_uppercase.c b/tests/unictype/test-pr_other_uppercase.c new file mode 100644 index 00000000..a98cb44e --- /dev/null +++ b/tests/unictype/test-pr_other_uppercase.c @@ -0,0 +1,24 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x2160, 0x216F }, + { 0x24B6, 0x24CF } + +#define PREDICATE(c) uc_is_property_other_uppercase (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_paired_punctuation.c b/tests/unictype/test-pr_paired_punctuation.c new file mode 100644 index 00000000..3df878cc --- /dev/null +++ b/tests/unictype/test-pr_paired_punctuation.c @@ -0,0 +1,49 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0028, 0x0029 }, + { 0x005B, 0x005B }, + { 0x005D, 0x005D }, + { 0x007B, 0x007B }, + { 0x007D, 0x007D }, + { 0x00AB, 0x00AB }, + { 0x00BB, 0x00BB }, + { 0x0F3A, 0x0F3D }, + { 0x169B, 0x169C }, + { 0x2018, 0x201F }, + { 0x2039, 0x203A }, + { 0x2045, 0x2046 }, + { 0x207D, 0x207E }, + { 0x208D, 0x208E }, + { 0x2329, 0x232A }, + { 0x3008, 0x3011 }, + { 0x3014, 0x301B }, + { 0x301D, 0x301F }, + { 0xFD3E, 0xFD3F }, + { 0xFE35, 0xFE44 }, + { 0xFE59, 0xFE5E }, + { 0xFF08, 0xFF09 }, + { 0xFF3B, 0xFF3B }, + { 0xFF3D, 0xFF3D }, + { 0xFF5B, 0xFF5B }, + { 0xFF5D, 0xFF5D }, + { 0xFF62, 0xFF63 } + +#define PREDICATE(c) uc_is_property_paired_punctuation (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_paragraph_separator.c b/tests/unictype/test-pr_paragraph_separator.c new file mode 100644 index 00000000..dca0b19a --- /dev/null +++ b/tests/unictype/test-pr_paragraph_separator.c @@ -0,0 +1,23 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x2029, 0x2029 } + +#define PREDICATE(c) uc_is_property_paragraph_separator (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_pattern_syntax.c b/tests/unictype/test-pr_pattern_syntax.c new file mode 100644 index 00000000..40a056b3 --- /dev/null +++ b/tests/unictype/test-pr_pattern_syntax.c @@ -0,0 +1,50 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0021, 0x002F }, + { 0x003A, 0x0040 }, + { 0x005B, 0x005E }, + { 0x0060, 0x0060 }, + { 0x007B, 0x007E }, + { 0x00A1, 0x00A7 }, + { 0x00A9, 0x00A9 }, + { 0x00AB, 0x00AC }, + { 0x00AE, 0x00AE }, + { 0x00B0, 0x00B1 }, + { 0x00B6, 0x00B6 }, + { 0x00BB, 0x00BB }, + { 0x00BF, 0x00BF }, + { 0x00D7, 0x00D7 }, + { 0x00F7, 0x00F7 }, + { 0x2010, 0x2027 }, + { 0x2030, 0x203E }, + { 0x2041, 0x2053 }, + { 0x2055, 0x205E }, + { 0x2190, 0x245F }, + { 0x2500, 0x2775 }, + { 0x2794, 0x2BFF }, + { 0x2E00, 0x2E7F }, + { 0x3001, 0x3003 }, + { 0x3008, 0x3020 }, + { 0x3030, 0x3030 }, + { 0xFD3E, 0xFD3F }, + { 0xFE45, 0xFE46 } + +#define PREDICATE(c) uc_is_property_pattern_syntax (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_pattern_white_space.c b/tests/unictype/test-pr_pattern_white_space.c new file mode 100644 index 00000000..347cb0b0 --- /dev/null +++ b/tests/unictype/test-pr_pattern_white_space.c @@ -0,0 +1,27 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0009, 0x000D }, + { 0x0020, 0x0020 }, + { 0x0085, 0x0085 }, + { 0x200E, 0x200F }, + { 0x2028, 0x2029 } + +#define PREDICATE(c) uc_is_property_pattern_white_space (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_private_use.c b/tests/unictype/test-pr_private_use.c new file mode 100644 index 00000000..6cfa1929 --- /dev/null +++ b/tests/unictype/test-pr_private_use.c @@ -0,0 +1,25 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0xE000, 0xF8FF }, + { 0xF0000, 0xFFFFD }, + { 0x100000, 0x10FFFD } + +#define PREDICATE(c) uc_is_property_private_use (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_punctuation.c b/tests/unictype/test-pr_punctuation.c new file mode 100644 index 00000000..936e62ce --- /dev/null +++ b/tests/unictype/test-pr_punctuation.c @@ -0,0 +1,134 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0021, 0x0023 }, + { 0x0025, 0x002A }, + { 0x002C, 0x002F }, + { 0x003A, 0x003B }, + { 0x003F, 0x0040 }, + { 0x005B, 0x005D }, + { 0x005F, 0x005F }, + { 0x007B, 0x007B }, + { 0x007D, 0x007D }, + { 0x00A1, 0x00A1 }, + { 0x00AB, 0x00AB }, + { 0x00B7, 0x00B7 }, + { 0x00BB, 0x00BB }, + { 0x00BF, 0x00BF }, + { 0x037E, 0x037E }, + { 0x0387, 0x0387 }, + { 0x055A, 0x055F }, + { 0x0589, 0x058A }, + { 0x05BE, 0x05BE }, + { 0x05C0, 0x05C0 }, + { 0x05C3, 0x05C3 }, + { 0x05C6, 0x05C6 }, + { 0x05F3, 0x05F4 }, + { 0x0609, 0x060A }, + { 0x060C, 0x060D }, + { 0x061B, 0x061B }, + { 0x061E, 0x061F }, + { 0x066A, 0x066D }, + { 0x06D4, 0x06D4 }, + { 0x0700, 0x070D }, + { 0x07F7, 0x07F9 }, + { 0x0964, 0x0965 }, + { 0x0970, 0x0970 }, + { 0x0DF4, 0x0DF4 }, + { 0x0E4F, 0x0E4F }, + { 0x0E5A, 0x0E5B }, + { 0x0F04, 0x0F12 }, + { 0x0F3A, 0x0F3D }, + { 0x0F85, 0x0F85 }, + { 0x0FD0, 0x0FD4 }, + { 0x104A, 0x104F }, + { 0x10FB, 0x10FB }, + { 0x1361, 0x1368 }, + { 0x166D, 0x166E }, + { 0x169B, 0x169C }, + { 0x16EB, 0x16ED }, + { 0x1735, 0x1736 }, + { 0x17D4, 0x17D6 }, + { 0x17D8, 0x17DA }, + { 0x1800, 0x180A }, + { 0x1944, 0x1945 }, + { 0x19DE, 0x19DF }, + { 0x1A1E, 0x1A1F }, + { 0x1B5A, 0x1B60 }, + { 0x1C3B, 0x1C3F }, + { 0x1C7E, 0x1C7F }, + { 0x2010, 0x2027 }, + { 0x2030, 0x2043 }, + { 0x2045, 0x2051 }, + { 0x2053, 0x205E }, + { 0x207D, 0x207E }, + { 0x208D, 0x208E }, + { 0x2329, 0x232A }, + { 0x2768, 0x2775 }, + { 0x27C5, 0x27C6 }, + { 0x27E6, 0x27EF }, + { 0x2983, 0x2998 }, + { 0x29D8, 0x29DB }, + { 0x29FC, 0x29FD }, + { 0x2CF9, 0x2CFC }, + { 0x2CFE, 0x2CFF }, + { 0x2E00, 0x2E2E }, + { 0x2E30, 0x2E30 }, + { 0x3001, 0x3003 }, + { 0x3008, 0x3011 }, + { 0x3014, 0x301F }, + { 0x3030, 0x3030 }, + { 0x303D, 0x303D }, + { 0x30A0, 0x30A0 }, + { 0x30FB, 0x30FB }, + { 0xA60D, 0xA60F }, + { 0xA673, 0xA673 }, + { 0xA67E, 0xA67E }, + { 0xA874, 0xA877 }, + { 0xA8CE, 0xA8CF }, + { 0xA92E, 0xA92F }, + { 0xA95F, 0xA95F }, + { 0xAA5C, 0xAA5F }, + { 0xFD3E, 0xFD3F }, + { 0xFE10, 0xFE19 }, + { 0xFE30, 0xFE52 }, + { 0xFE54, 0xFE61 }, + { 0xFE63, 0xFE63 }, + { 0xFE68, 0xFE68 }, + { 0xFE6A, 0xFE6B }, + { 0xFF01, 0xFF03 }, + { 0xFF05, 0xFF0A }, + { 0xFF0C, 0xFF0F }, + { 0xFF1A, 0xFF1B }, + { 0xFF1F, 0xFF20 }, + { 0xFF3B, 0xFF3D }, + { 0xFF3F, 0xFF3F }, + { 0xFF5B, 0xFF5B }, + { 0xFF5D, 0xFF5D }, + { 0xFF5F, 0xFF65 }, + { 0x10100, 0x10101 }, + { 0x1039F, 0x1039F }, + { 0x103D0, 0x103D0 }, + { 0x1091F, 0x1091F }, + { 0x1093F, 0x1093F }, + { 0x10A50, 0x10A58 }, + { 0x12470, 0x12473 } + +#define PREDICATE(c) uc_is_property_punctuation (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_quotation_mark.c b/tests/unictype/test-pr_quotation_mark.c new file mode 100644 index 00000000..e592463f --- /dev/null +++ b/tests/unictype/test-pr_quotation_mark.c @@ -0,0 +1,34 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0022, 0x0022 }, + { 0x0027, 0x0027 }, + { 0x00AB, 0x00AB }, + { 0x00BB, 0x00BB }, + { 0x2018, 0x201F }, + { 0x2039, 0x203A }, + { 0x300C, 0x300F }, + { 0x301D, 0x301F }, + { 0xFE41, 0xFE44 }, + { 0xFF02, 0xFF02 }, + { 0xFF07, 0xFF07 }, + { 0xFF62, 0xFF63 } + +#define PREDICATE(c) uc_is_property_quotation_mark (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_radical.c b/tests/unictype/test-pr_radical.c new file mode 100644 index 00000000..23c30260 --- /dev/null +++ b/tests/unictype/test-pr_radical.c @@ -0,0 +1,25 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x2E80, 0x2E99 }, + { 0x2E9B, 0x2EF3 }, + { 0x2F00, 0x2FD5 } + +#define PREDICATE(c) uc_is_property_radical (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_sentence_terminal.c b/tests/unictype/test-pr_sentence_terminal.c new file mode 100644 index 00000000..107649e7 --- /dev/null +++ b/tests/unictype/test-pr_sentence_terminal.c @@ -0,0 +1,59 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0021, 0x0021 }, + { 0x002E, 0x002E }, + { 0x003F, 0x003F }, + { 0x055C, 0x055C }, + { 0x055E, 0x055E }, + { 0x0589, 0x0589 }, + { 0x061F, 0x061F }, + { 0x06D4, 0x06D4 }, + { 0x0700, 0x0702 }, + { 0x07F9, 0x07F9 }, + { 0x0964, 0x0965 }, + { 0x104A, 0x104B }, + { 0x1362, 0x1362 }, + { 0x1367, 0x1368 }, + { 0x166E, 0x166E }, + { 0x1803, 0x1803 }, + { 0x1809, 0x1809 }, + { 0x1944, 0x1945 }, + { 0x1B5A, 0x1B5B }, + { 0x1B5E, 0x1B5F }, + { 0x1C3B, 0x1C3C }, + { 0x1C7E, 0x1C7F }, + { 0x203C, 0x203D }, + { 0x2047, 0x2049 }, + { 0x2E2E, 0x2E2E }, + { 0x3002, 0x3002 }, + { 0xA60E, 0xA60F }, + { 0xA876, 0xA877 }, + { 0xA8CE, 0xA8CF }, + { 0xA92F, 0xA92F }, + { 0xAA5D, 0xAA5F }, + { 0xFE52, 0xFE52 }, + { 0xFE56, 0xFE57 }, + { 0xFF01, 0xFF01 }, + { 0xFF0E, 0xFF0E }, + { 0xFF1F, 0xFF1F }, + { 0xFF61, 0xFF61 } + +#define PREDICATE(c) uc_is_property_sentence_terminal (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_soft_dotted.c b/tests/unictype/test-pr_soft_dotted.c new file mode 100644 index 00000000..ad8b0fb7 --- /dev/null +++ b/tests/unictype/test-pr_soft_dotted.c @@ -0,0 +1,53 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0069, 0x006A }, + { 0x012F, 0x012F }, + { 0x0249, 0x0249 }, + { 0x0268, 0x0268 }, + { 0x029D, 0x029D }, + { 0x02B2, 0x02B2 }, + { 0x03F3, 0x03F3 }, + { 0x0456, 0x0456 }, + { 0x0458, 0x0458 }, + { 0x1D62, 0x1D62 }, + { 0x1D96, 0x1D96 }, + { 0x1DA4, 0x1DA4 }, + { 0x1DA8, 0x1DA8 }, + { 0x1E2D, 0x1E2D }, + { 0x1ECB, 0x1ECB }, + { 0x2071, 0x2071 }, + { 0x2148, 0x2149 }, + { 0x2C7C, 0x2C7C }, + { 0x1D422, 0x1D423 }, + { 0x1D456, 0x1D457 }, + { 0x1D48A, 0x1D48B }, + { 0x1D4BE, 0x1D4BF }, + { 0x1D4F2, 0x1D4F3 }, + { 0x1D526, 0x1D527 }, + { 0x1D55A, 0x1D55B }, + { 0x1D58E, 0x1D58F }, + { 0x1D5C2, 0x1D5C3 }, + { 0x1D5F6, 0x1D5F7 }, + { 0x1D62A, 0x1D62B }, + { 0x1D65E, 0x1D65F }, + { 0x1D692, 0x1D693 } + +#define PREDICATE(c) uc_is_property_soft_dotted (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_space.c b/tests/unictype/test-pr_space.c new file mode 100644 index 00000000..64a3e72c --- /dev/null +++ b/tests/unictype/test-pr_space.c @@ -0,0 +1,30 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0020, 0x0020 }, + { 0x00A0, 0x00A0 }, + { 0x1680, 0x1680 }, + { 0x180E, 0x180E }, + { 0x2000, 0x200A }, + { 0x202F, 0x202F }, + { 0x205F, 0x205F }, + { 0x3000, 0x3000 } + +#define PREDICATE(c) uc_is_property_space (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_terminal_punctuation.c b/tests/unictype/test-pr_terminal_punctuation.c new file mode 100644 index 00000000..3ded06d9 --- /dev/null +++ b/tests/unictype/test-pr_terminal_punctuation.c @@ -0,0 +1,77 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0021, 0x0021 }, + { 0x002C, 0x002C }, + { 0x002E, 0x002E }, + { 0x003A, 0x003B }, + { 0x003F, 0x003F }, + { 0x037E, 0x037E }, + { 0x0387, 0x0387 }, + { 0x0589, 0x0589 }, + { 0x05C3, 0x05C3 }, + { 0x060C, 0x060C }, + { 0x061B, 0x061B }, + { 0x061F, 0x061F }, + { 0x06D4, 0x06D4 }, + { 0x0700, 0x070A }, + { 0x070C, 0x070C }, + { 0x07F8, 0x07F9 }, + { 0x0964, 0x0965 }, + { 0x0E5A, 0x0E5B }, + { 0x0F08, 0x0F08 }, + { 0x0F0D, 0x0F12 }, + { 0x104A, 0x104B }, + { 0x1361, 0x1368 }, + { 0x166D, 0x166E }, + { 0x16EB, 0x16ED }, + { 0x17D4, 0x17D6 }, + { 0x17DA, 0x17DA }, + { 0x1802, 0x1805 }, + { 0x1808, 0x1809 }, + { 0x1944, 0x1945 }, + { 0x1B5A, 0x1B5B }, + { 0x1B5D, 0x1B5F }, + { 0x1C3B, 0x1C3F }, + { 0x1C7E, 0x1C7F }, + { 0x203C, 0x203D }, + { 0x2047, 0x2049 }, + { 0x2E2E, 0x2E2E }, + { 0x3001, 0x3002 }, + { 0xA60D, 0xA60F }, + { 0xA876, 0xA877 }, + { 0xA8CE, 0xA8CF }, + { 0xA92F, 0xA92F }, + { 0xAA5D, 0xAA5F }, + { 0xFE50, 0xFE52 }, + { 0xFE54, 0xFE57 }, + { 0xFF01, 0xFF01 }, + { 0xFF0C, 0xFF0C }, + { 0xFF0E, 0xFF0E }, + { 0xFF1A, 0xFF1B }, + { 0xFF1F, 0xFF1F }, + { 0xFF61, 0xFF61 }, + { 0xFF64, 0xFF64 }, + { 0x1039F, 0x1039F }, + { 0x103D0, 0x103D0 }, + { 0x1091F, 0x1091F }, + { 0x12470, 0x12473 } + +#define PREDICATE(c) uc_is_property_terminal_punctuation (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_test.c b/tests/unictype/test-pr_test.c new file mode 100644 index 00000000..388ae004 --- /dev/null +++ b/tests/unictype/test-pr_test.c @@ -0,0 +1,47 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + uc_property_t pr = UC_PROPERTY_COMPOSITE; + unsigned int c; + + for (c = 0; c < 0x110000; c++) + ASSERT (uc_is_property (c, pr) == uc_is_property_composite (c)); + + return 0; +} diff --git a/tests/unictype/test-pr_titlecase.c b/tests/unictype/test-pr_titlecase.c new file mode 100644 index 00000000..10043865 --- /dev/null +++ b/tests/unictype/test-pr_titlecase.c @@ -0,0 +1,32 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x01C5, 0x01C5 }, + { 0x01C8, 0x01C8 }, + { 0x01CB, 0x01CB }, + { 0x01F2, 0x01F2 }, + { 0x1F88, 0x1F8F }, + { 0x1F98, 0x1F9F }, + { 0x1FA8, 0x1FAF }, + { 0x1FBC, 0x1FBC }, + { 0x1FCC, 0x1FCC }, + { 0x1FFC, 0x1FFC } + +#define PREDICATE(c) uc_is_property_titlecase (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_unassigned_code_value.c b/tests/unictype/test-pr_unassigned_code_value.c new file mode 100644 index 00000000..91bd1611 --- /dev/null +++ b/tests/unictype/test-pr_unassigned_code_value.c @@ -0,0 +1,476 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0378, 0x0379 }, + { 0x037F, 0x0383 }, + { 0x038B, 0x038B }, + { 0x038D, 0x038D }, + { 0x03A2, 0x03A2 }, + { 0x0524, 0x0530 }, + { 0x0557, 0x0558 }, + { 0x0560, 0x0560 }, + { 0x0588, 0x0588 }, + { 0x058B, 0x0590 }, + { 0x05C8, 0x05CF }, + { 0x05EB, 0x05EF }, + { 0x05F5, 0x05FF }, + { 0x0604, 0x0605 }, + { 0x061C, 0x061D }, + { 0x0620, 0x0620 }, + { 0x065F, 0x065F }, + { 0x070E, 0x070E }, + { 0x074B, 0x074C }, + { 0x07B2, 0x07BF }, + { 0x07FB, 0x0900 }, + { 0x093A, 0x093B }, + { 0x094E, 0x094F }, + { 0x0955, 0x0957 }, + { 0x0973, 0x097A }, + { 0x0980, 0x0980 }, + { 0x0984, 0x0984 }, + { 0x098D, 0x098E }, + { 0x0991, 0x0992 }, + { 0x09A9, 0x09A9 }, + { 0x09B1, 0x09B1 }, + { 0x09B3, 0x09B5 }, + { 0x09BA, 0x09BB }, + { 0x09C5, 0x09C6 }, + { 0x09C9, 0x09CA }, + { 0x09CF, 0x09D6 }, + { 0x09D8, 0x09DB }, + { 0x09DE, 0x09DE }, + { 0x09E4, 0x09E5 }, + { 0x09FB, 0x0A00 }, + { 0x0A04, 0x0A04 }, + { 0x0A0B, 0x0A0E }, + { 0x0A11, 0x0A12 }, + { 0x0A29, 0x0A29 }, + { 0x0A31, 0x0A31 }, + { 0x0A34, 0x0A34 }, + { 0x0A37, 0x0A37 }, + { 0x0A3A, 0x0A3B }, + { 0x0A3D, 0x0A3D }, + { 0x0A43, 0x0A46 }, + { 0x0A49, 0x0A4A }, + { 0x0A4E, 0x0A50 }, + { 0x0A52, 0x0A58 }, + { 0x0A5D, 0x0A5D }, + { 0x0A5F, 0x0A65 }, + { 0x0A76, 0x0A80 }, + { 0x0A84, 0x0A84 }, + { 0x0A8E, 0x0A8E }, + { 0x0A92, 0x0A92 }, + { 0x0AA9, 0x0AA9 }, + { 0x0AB1, 0x0AB1 }, + { 0x0AB4, 0x0AB4 }, + { 0x0ABA, 0x0ABB }, + { 0x0AC6, 0x0AC6 }, + { 0x0ACA, 0x0ACA }, + { 0x0ACE, 0x0ACF }, + { 0x0AD1, 0x0ADF }, + { 0x0AE4, 0x0AE5 }, + { 0x0AF0, 0x0AF0 }, + { 0x0AF2, 0x0B00 }, + { 0x0B04, 0x0B04 }, + { 0x0B0D, 0x0B0E }, + { 0x0B11, 0x0B12 }, + { 0x0B29, 0x0B29 }, + { 0x0B31, 0x0B31 }, + { 0x0B34, 0x0B34 }, + { 0x0B3A, 0x0B3B }, + { 0x0B45, 0x0B46 }, + { 0x0B49, 0x0B4A }, + { 0x0B4E, 0x0B55 }, + { 0x0B58, 0x0B5B }, + { 0x0B5E, 0x0B5E }, + { 0x0B64, 0x0B65 }, + { 0x0B72, 0x0B81 }, + { 0x0B84, 0x0B84 }, + { 0x0B8B, 0x0B8D }, + { 0x0B91, 0x0B91 }, + { 0x0B96, 0x0B98 }, + { 0x0B9B, 0x0B9B }, + { 0x0B9D, 0x0B9D }, + { 0x0BA0, 0x0BA2 }, + { 0x0BA5, 0x0BA7 }, + { 0x0BAB, 0x0BAD }, + { 0x0BBA, 0x0BBD }, + { 0x0BC3, 0x0BC5 }, + { 0x0BC9, 0x0BC9 }, + { 0x0BCE, 0x0BCF }, + { 0x0BD1, 0x0BD6 }, + { 0x0BD8, 0x0BE5 }, + { 0x0BFB, 0x0C00 }, + { 0x0C04, 0x0C04 }, + { 0x0C0D, 0x0C0D }, + { 0x0C11, 0x0C11 }, + { 0x0C29, 0x0C29 }, + { 0x0C34, 0x0C34 }, + { 0x0C3A, 0x0C3C }, + { 0x0C45, 0x0C45 }, + { 0x0C49, 0x0C49 }, + { 0x0C4E, 0x0C54 }, + { 0x0C57, 0x0C57 }, + { 0x0C5A, 0x0C5F }, + { 0x0C64, 0x0C65 }, + { 0x0C70, 0x0C77 }, + { 0x0C80, 0x0C81 }, + { 0x0C84, 0x0C84 }, + { 0x0C8D, 0x0C8D }, + { 0x0C91, 0x0C91 }, + { 0x0CA9, 0x0CA9 }, + { 0x0CB4, 0x0CB4 }, + { 0x0CBA, 0x0CBB }, + { 0x0CC5, 0x0CC5 }, + { 0x0CC9, 0x0CC9 }, + { 0x0CCE, 0x0CD4 }, + { 0x0CD7, 0x0CDD }, + { 0x0CDF, 0x0CDF }, + { 0x0CE4, 0x0CE5 }, + { 0x0CF0, 0x0CF0 }, + { 0x0CF3, 0x0D01 }, + { 0x0D04, 0x0D04 }, + { 0x0D0D, 0x0D0D }, + { 0x0D11, 0x0D11 }, + { 0x0D29, 0x0D29 }, + { 0x0D3A, 0x0D3C }, + { 0x0D45, 0x0D45 }, + { 0x0D49, 0x0D49 }, + { 0x0D4E, 0x0D56 }, + { 0x0D58, 0x0D5F }, + { 0x0D64, 0x0D65 }, + { 0x0D76, 0x0D78 }, + { 0x0D80, 0x0D81 }, + { 0x0D84, 0x0D84 }, + { 0x0D97, 0x0D99 }, + { 0x0DB2, 0x0DB2 }, + { 0x0DBC, 0x0DBC }, + { 0x0DBE, 0x0DBF }, + { 0x0DC7, 0x0DC9 }, + { 0x0DCB, 0x0DCE }, + { 0x0DD5, 0x0DD5 }, + { 0x0DD7, 0x0DD7 }, + { 0x0DE0, 0x0DF1 }, + { 0x0DF5, 0x0E00 }, + { 0x0E3B, 0x0E3E }, + { 0x0E5C, 0x0E80 }, + { 0x0E83, 0x0E83 }, + { 0x0E85, 0x0E86 }, + { 0x0E89, 0x0E89 }, + { 0x0E8B, 0x0E8C }, + { 0x0E8E, 0x0E93 }, + { 0x0E98, 0x0E98 }, + { 0x0EA0, 0x0EA0 }, + { 0x0EA4, 0x0EA4 }, + { 0x0EA6, 0x0EA6 }, + { 0x0EA8, 0x0EA9 }, + { 0x0EAC, 0x0EAC }, + { 0x0EBA, 0x0EBA }, + { 0x0EBE, 0x0EBF }, + { 0x0EC5, 0x0EC5 }, + { 0x0EC7, 0x0EC7 }, + { 0x0ECE, 0x0ECF }, + { 0x0EDA, 0x0EDB }, + { 0x0EDE, 0x0EFF }, + { 0x0F48, 0x0F48 }, + { 0x0F6D, 0x0F70 }, + { 0x0F8C, 0x0F8F }, + { 0x0F98, 0x0F98 }, + { 0x0FBD, 0x0FBD }, + { 0x0FCD, 0x0FCD }, + { 0x0FD5, 0x0FFF }, + { 0x109A, 0x109D }, + { 0x10C6, 0x10CF }, + { 0x10FD, 0x10FF }, + { 0x115A, 0x115E }, + { 0x11A3, 0x11A7 }, + { 0x11FA, 0x11FF }, + { 0x1249, 0x1249 }, + { 0x124E, 0x124F }, + { 0x1257, 0x1257 }, + { 0x1259, 0x1259 }, + { 0x125E, 0x125F }, + { 0x1289, 0x1289 }, + { 0x128E, 0x128F }, + { 0x12B1, 0x12B1 }, + { 0x12B6, 0x12B7 }, + { 0x12BF, 0x12BF }, + { 0x12C1, 0x12C1 }, + { 0x12C6, 0x12C7 }, + { 0x12D7, 0x12D7 }, + { 0x1311, 0x1311 }, + { 0x1316, 0x1317 }, + { 0x135B, 0x135E }, + { 0x137D, 0x137F }, + { 0x139A, 0x139F }, + { 0x13F5, 0x1400 }, + { 0x1677, 0x167F }, + { 0x169D, 0x169F }, + { 0x16F1, 0x16FF }, + { 0x170D, 0x170D }, + { 0x1715, 0x171F }, + { 0x1737, 0x173F }, + { 0x1754, 0x175F }, + { 0x176D, 0x176D }, + { 0x1771, 0x1771 }, + { 0x1774, 0x177F }, + { 0x17DE, 0x17DF }, + { 0x17EA, 0x17EF }, + { 0x17FA, 0x17FF }, + { 0x180F, 0x180F }, + { 0x181A, 0x181F }, + { 0x1878, 0x187F }, + { 0x18AB, 0x18FF }, + { 0x191D, 0x191F }, + { 0x192C, 0x192F }, + { 0x193C, 0x193F }, + { 0x1941, 0x1943 }, + { 0x196E, 0x196F }, + { 0x1975, 0x197F }, + { 0x19AA, 0x19AF }, + { 0x19CA, 0x19CF }, + { 0x19DA, 0x19DD }, + { 0x1A1C, 0x1A1D }, + { 0x1A20, 0x1AFF }, + { 0x1B4C, 0x1B4F }, + { 0x1B7D, 0x1B7F }, + { 0x1BAB, 0x1BAD }, + { 0x1BBA, 0x1BFF }, + { 0x1C38, 0x1C3A }, + { 0x1C4A, 0x1C4C }, + { 0x1C80, 0x1CFF }, + { 0x1DE7, 0x1DFD }, + { 0x1F16, 0x1F17 }, + { 0x1F1E, 0x1F1F }, + { 0x1F46, 0x1F47 }, + { 0x1F4E, 0x1F4F }, + { 0x1F58, 0x1F58 }, + { 0x1F5A, 0x1F5A }, + { 0x1F5C, 0x1F5C }, + { 0x1F5E, 0x1F5E }, + { 0x1F7E, 0x1F7F }, + { 0x1FB5, 0x1FB5 }, + { 0x1FC5, 0x1FC5 }, + { 0x1FD4, 0x1FD5 }, + { 0x1FDC, 0x1FDC }, + { 0x1FF0, 0x1FF1 }, + { 0x1FF5, 0x1FF5 }, + { 0x1FFF, 0x1FFF }, + { 0x2065, 0x2069 }, + { 0x2072, 0x2073 }, + { 0x208F, 0x208F }, + { 0x2095, 0x209F }, + { 0x20B6, 0x20CF }, + { 0x20F1, 0x20FF }, + { 0x2150, 0x2152 }, + { 0x2189, 0x218F }, + { 0x23E8, 0x23FF }, + { 0x2427, 0x243F }, + { 0x244B, 0x245F }, + { 0x269E, 0x269F }, + { 0x26BD, 0x26BF }, + { 0x26C4, 0x2700 }, + { 0x2705, 0x2705 }, + { 0x270A, 0x270B }, + { 0x2728, 0x2728 }, + { 0x274C, 0x274C }, + { 0x274E, 0x274E }, + { 0x2753, 0x2755 }, + { 0x2757, 0x2757 }, + { 0x275F, 0x2760 }, + { 0x2795, 0x2797 }, + { 0x27B0, 0x27B0 }, + { 0x27BF, 0x27BF }, + { 0x27CB, 0x27CB }, + { 0x27CD, 0x27CF }, + { 0x2B4D, 0x2B4F }, + { 0x2B55, 0x2BFF }, + { 0x2C2F, 0x2C2F }, + { 0x2C5F, 0x2C5F }, + { 0x2C70, 0x2C70 }, + { 0x2C7E, 0x2C7F }, + { 0x2CEB, 0x2CF8 }, + { 0x2D26, 0x2D2F }, + { 0x2D66, 0x2D6E }, + { 0x2D70, 0x2D7F }, + { 0x2D97, 0x2D9F }, + { 0x2DA7, 0x2DA7 }, + { 0x2DAF, 0x2DAF }, + { 0x2DB7, 0x2DB7 }, + { 0x2DBF, 0x2DBF }, + { 0x2DC7, 0x2DC7 }, + { 0x2DCF, 0x2DCF }, + { 0x2DD7, 0x2DD7 }, + { 0x2DDF, 0x2DDF }, + { 0x2E31, 0x2E7F }, + { 0x2E9A, 0x2E9A }, + { 0x2EF4, 0x2EFF }, + { 0x2FD6, 0x2FEF }, + { 0x2FFC, 0x2FFF }, + { 0x3040, 0x3040 }, + { 0x3097, 0x3098 }, + { 0x3100, 0x3104 }, + { 0x312E, 0x3130 }, + { 0x318F, 0x318F }, + { 0x31B8, 0x31BF }, + { 0x31E4, 0x31EF }, + { 0x321F, 0x321F }, + { 0x3244, 0x324F }, + { 0x32FF, 0x32FF }, + { 0x4DB6, 0x4DBF }, + { 0x9FC4, 0x9FFF }, + { 0xA48D, 0xA48F }, + { 0xA4C7, 0xA4FF }, + { 0xA62C, 0xA63F }, + { 0xA660, 0xA661 }, + { 0xA674, 0xA67B }, + { 0xA698, 0xA6FF }, + { 0xA78D, 0xA7FA }, + { 0xA82C, 0xA83F }, + { 0xA878, 0xA87F }, + { 0xA8C5, 0xA8CD }, + { 0xA8DA, 0xA8FF }, + { 0xA954, 0xA95E }, + { 0xA960, 0xA9FF }, + { 0xAA37, 0xAA3F }, + { 0xAA4E, 0xAA4F }, + { 0xAA5A, 0xAA5B }, + { 0xAA60, 0xABFF }, + { 0xD7A4, 0xD7FF }, + { 0xFA2E, 0xFA2F }, + { 0xFA6B, 0xFA6F }, + { 0xFADA, 0xFAFF }, + { 0xFB07, 0xFB12 }, + { 0xFB18, 0xFB1C }, + { 0xFB37, 0xFB37 }, + { 0xFB3D, 0xFB3D }, + { 0xFB3F, 0xFB3F }, + { 0xFB42, 0xFB42 }, + { 0xFB45, 0xFB45 }, + { 0xFBB2, 0xFBD2 }, + { 0xFD40, 0xFD4F }, + { 0xFD90, 0xFD91 }, + { 0xFDC8, 0xFDCF }, + { 0xFDFE, 0xFDFF }, + { 0xFE1A, 0xFE1F }, + { 0xFE27, 0xFE2F }, + { 0xFE53, 0xFE53 }, + { 0xFE67, 0xFE67 }, + { 0xFE6C, 0xFE6F }, + { 0xFE75, 0xFE75 }, + { 0xFEFD, 0xFEFE }, + { 0xFF00, 0xFF00 }, + { 0xFFBF, 0xFFC1 }, + { 0xFFC8, 0xFFC9 }, + { 0xFFD0, 0xFFD1 }, + { 0xFFD8, 0xFFD9 }, + { 0xFFDD, 0xFFDF }, + { 0xFFE7, 0xFFE7 }, + { 0xFFEF, 0xFFF8 }, + { 0x1000C, 0x1000C }, + { 0x10027, 0x10027 }, + { 0x1003B, 0x1003B }, + { 0x1003E, 0x1003E }, + { 0x1004E, 0x1004F }, + { 0x1005E, 0x1007F }, + { 0x100FB, 0x100FF }, + { 0x10103, 0x10106 }, + { 0x10134, 0x10136 }, + { 0x1018B, 0x1018F }, + { 0x1019C, 0x101CF }, + { 0x101FE, 0x1027F }, + { 0x1029D, 0x1029F }, + { 0x102D1, 0x102FF }, + { 0x1031F, 0x1031F }, + { 0x10324, 0x1032F }, + { 0x1034B, 0x1037F }, + { 0x1039E, 0x1039E }, + { 0x103C4, 0x103C7 }, + { 0x103D6, 0x103FF }, + { 0x1049E, 0x1049F }, + { 0x104AA, 0x107FF }, + { 0x10806, 0x10807 }, + { 0x10809, 0x10809 }, + { 0x10836, 0x10836 }, + { 0x10839, 0x1083B }, + { 0x1083D, 0x1083E }, + { 0x10840, 0x108FF }, + { 0x1091A, 0x1091E }, + { 0x1093A, 0x1093E }, + { 0x10940, 0x109FF }, + { 0x10A04, 0x10A04 }, + { 0x10A07, 0x10A0B }, + { 0x10A14, 0x10A14 }, + { 0x10A18, 0x10A18 }, + { 0x10A34, 0x10A37 }, + { 0x10A3B, 0x10A3E }, + { 0x10A48, 0x10A4F }, + { 0x10A59, 0x11FFF }, + { 0x1236F, 0x123FF }, + { 0x12463, 0x1246F }, + { 0x12474, 0x1CFFF }, + { 0x1D0F6, 0x1D0FF }, + { 0x1D127, 0x1D128 }, + { 0x1D1DE, 0x1D1FF }, + { 0x1D246, 0x1D2FF }, + { 0x1D357, 0x1D35F }, + { 0x1D372, 0x1D3FF }, + { 0x1D455, 0x1D455 }, + { 0x1D49D, 0x1D49D }, + { 0x1D4A0, 0x1D4A1 }, + { 0x1D4A3, 0x1D4A4 }, + { 0x1D4A7, 0x1D4A8 }, + { 0x1D4AD, 0x1D4AD }, + { 0x1D4BA, 0x1D4BA }, + { 0x1D4BC, 0x1D4BC }, + { 0x1D4C4, 0x1D4C4 }, + { 0x1D506, 0x1D506 }, + { 0x1D50B, 0x1D50C }, + { 0x1D515, 0x1D515 }, + { 0x1D51D, 0x1D51D }, + { 0x1D53A, 0x1D53A }, + { 0x1D53F, 0x1D53F }, + { 0x1D545, 0x1D545 }, + { 0x1D547, 0x1D549 }, + { 0x1D551, 0x1D551 }, + { 0x1D6A6, 0x1D6A7 }, + { 0x1D7CC, 0x1D7CD }, + { 0x1D800, 0x1EFFF }, + { 0x1F02C, 0x1F02F }, + { 0x1F094, 0x1FFFD }, + { 0x2A6D7, 0x2F7FF }, + { 0x2FA1E, 0x2FFFD }, + { 0x30000, 0x3FFFD }, + { 0x40000, 0x4FFFD }, + { 0x50000, 0x5FFFD }, + { 0x60000, 0x6FFFD }, + { 0x70000, 0x7FFFD }, + { 0x80000, 0x8FFFD }, + { 0x90000, 0x9FFFD }, + { 0xA0000, 0xAFFFD }, + { 0xB0000, 0xBFFFD }, + { 0xC0000, 0xCFFFD }, + { 0xD0000, 0xDFFFD }, + { 0xE0000, 0xE0000 }, + { 0xE0002, 0xE001F }, + { 0xE0080, 0xE00FF }, + { 0xE01F0, 0xEFFFD } + +#define PREDICATE(c) uc_is_property_unassigned_code_value (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_unified_ideograph.c b/tests/unictype/test-pr_unified_ideograph.c new file mode 100644 index 00000000..e394751d --- /dev/null +++ b/tests/unictype/test-pr_unified_ideograph.c @@ -0,0 +1,32 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x3400, 0x4DB5 }, + { 0x4E00, 0x9FC3 }, + { 0xFA0E, 0xFA0F }, + { 0xFA11, 0xFA11 }, + { 0xFA13, 0xFA14 }, + { 0xFA1F, 0xFA1F }, + { 0xFA21, 0xFA21 }, + { 0xFA23, 0xFA24 }, + { 0xFA27, 0xFA29 }, + { 0x20000, 0x2A6D6 } + +#define PREDICATE(c) uc_is_property_unified_ideograph (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_uppercase.c b/tests/unictype/test-pr_uppercase.c new file mode 100644 index 00000000..f44611ba --- /dev/null +++ b/tests/unictype/test-pr_uppercase.c @@ -0,0 +1,615 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0041, 0x005A }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00DE }, + { 0x0100, 0x0100 }, + { 0x0102, 0x0102 }, + { 0x0104, 0x0104 }, + { 0x0106, 0x0106 }, + { 0x0108, 0x0108 }, + { 0x010A, 0x010A }, + { 0x010C, 0x010C }, + { 0x010E, 0x010E }, + { 0x0110, 0x0110 }, + { 0x0112, 0x0112 }, + { 0x0114, 0x0114 }, + { 0x0116, 0x0116 }, + { 0x0118, 0x0118 }, + { 0x011A, 0x011A }, + { 0x011C, 0x011C }, + { 0x011E, 0x011E }, + { 0x0120, 0x0120 }, + { 0x0122, 0x0122 }, + { 0x0124, 0x0124 }, + { 0x0126, 0x0126 }, + { 0x0128, 0x0128 }, + { 0x012A, 0x012A }, + { 0x012C, 0x012C }, + { 0x012E, 0x012E }, + { 0x0130, 0x0130 }, + { 0x0132, 0x0132 }, + { 0x0134, 0x0134 }, + { 0x0136, 0x0136 }, + { 0x0139, 0x0139 }, + { 0x013B, 0x013B }, + { 0x013D, 0x013D }, + { 0x013F, 0x013F }, + { 0x0141, 0x0141 }, + { 0x0143, 0x0143 }, + { 0x0145, 0x0145 }, + { 0x0147, 0x0147 }, + { 0x014A, 0x014A }, + { 0x014C, 0x014C }, + { 0x014E, 0x014E }, + { 0x0150, 0x0150 }, + { 0x0152, 0x0152 }, + { 0x0154, 0x0154 }, + { 0x0156, 0x0156 }, + { 0x0158, 0x0158 }, + { 0x015A, 0x015A }, + { 0x015C, 0x015C }, + { 0x015E, 0x015E }, + { 0x0160, 0x0160 }, + { 0x0162, 0x0162 }, + { 0x0164, 0x0164 }, + { 0x0166, 0x0166 }, + { 0x0168, 0x0168 }, + { 0x016A, 0x016A }, + { 0x016C, 0x016C }, + { 0x016E, 0x016E }, + { 0x0170, 0x0170 }, + { 0x0172, 0x0172 }, + { 0x0174, 0x0174 }, + { 0x0176, 0x0176 }, + { 0x0178, 0x0179 }, + { 0x017B, 0x017B }, + { 0x017D, 0x017D }, + { 0x0181, 0x0182 }, + { 0x0184, 0x0184 }, + { 0x0186, 0x0187 }, + { 0x0189, 0x018B }, + { 0x018E, 0x0191 }, + { 0x0193, 0x0194 }, + { 0x0196, 0x0198 }, + { 0x019C, 0x019D }, + { 0x019F, 0x01A0 }, + { 0x01A2, 0x01A2 }, + { 0x01A4, 0x01A4 }, + { 0x01A6, 0x01A7 }, + { 0x01A9, 0x01A9 }, + { 0x01AC, 0x01AC }, + { 0x01AE, 0x01AF }, + { 0x01B1, 0x01B3 }, + { 0x01B5, 0x01B5 }, + { 0x01B7, 0x01B8 }, + { 0x01BC, 0x01BC }, + { 0x01C4, 0x01C4 }, + { 0x01C7, 0x01C7 }, + { 0x01CA, 0x01CA }, + { 0x01CD, 0x01CD }, + { 0x01CF, 0x01CF }, + { 0x01D1, 0x01D1 }, + { 0x01D3, 0x01D3 }, + { 0x01D5, 0x01D5 }, + { 0x01D7, 0x01D7 }, + { 0x01D9, 0x01D9 }, + { 0x01DB, 0x01DB }, + { 0x01DE, 0x01DE }, + { 0x01E0, 0x01E0 }, + { 0x01E2, 0x01E2 }, + { 0x01E4, 0x01E4 }, + { 0x01E6, 0x01E6 }, + { 0x01E8, 0x01E8 }, + { 0x01EA, 0x01EA }, + { 0x01EC, 0x01EC }, + { 0x01EE, 0x01EE }, + { 0x01F1, 0x01F1 }, + { 0x01F4, 0x01F4 }, + { 0x01F6, 0x01F8 }, + { 0x01FA, 0x01FA }, + { 0x01FC, 0x01FC }, + { 0x01FE, 0x01FE }, + { 0x0200, 0x0200 }, + { 0x0202, 0x0202 }, + { 0x0204, 0x0204 }, + { 0x0206, 0x0206 }, + { 0x0208, 0x0208 }, + { 0x020A, 0x020A }, + { 0x020C, 0x020C }, + { 0x020E, 0x020E }, + { 0x0210, 0x0210 }, + { 0x0212, 0x0212 }, + { 0x0214, 0x0214 }, + { 0x0216, 0x0216 }, + { 0x0218, 0x0218 }, + { 0x021A, 0x021A }, + { 0x021C, 0x021C }, + { 0x021E, 0x021E }, + { 0x0220, 0x0220 }, + { 0x0222, 0x0222 }, + { 0x0224, 0x0224 }, + { 0x0226, 0x0226 }, + { 0x0228, 0x0228 }, + { 0x022A, 0x022A }, + { 0x022C, 0x022C }, + { 0x022E, 0x022E }, + { 0x0230, 0x0230 }, + { 0x0232, 0x0232 }, + { 0x023A, 0x023B }, + { 0x023D, 0x023E }, + { 0x0241, 0x0241 }, + { 0x0243, 0x0246 }, + { 0x0248, 0x0248 }, + { 0x024A, 0x024A }, + { 0x024C, 0x024C }, + { 0x024E, 0x024E }, + { 0x0370, 0x0370 }, + { 0x0372, 0x0372 }, + { 0x0376, 0x0376 }, + { 0x0386, 0x0386 }, + { 0x0388, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x038F }, + { 0x0391, 0x03A1 }, + { 0x03A3, 0x03AB }, + { 0x03CF, 0x03CF }, + { 0x03D2, 0x03D4 }, + { 0x03D8, 0x03D8 }, + { 0x03DA, 0x03DA }, + { 0x03DC, 0x03DC }, + { 0x03DE, 0x03DE }, + { 0x03E0, 0x03E0 }, + { 0x03E2, 0x03E2 }, + { 0x03E4, 0x03E4 }, + { 0x03E6, 0x03E6 }, + { 0x03E8, 0x03E8 }, + { 0x03EA, 0x03EA }, + { 0x03EC, 0x03EC }, + { 0x03EE, 0x03EE }, + { 0x03F4, 0x03F4 }, + { 0x03F7, 0x03F7 }, + { 0x03F9, 0x03FA }, + { 0x03FD, 0x042F }, + { 0x0460, 0x0460 }, + { 0x0462, 0x0462 }, + { 0x0464, 0x0464 }, + { 0x0466, 0x0466 }, + { 0x0468, 0x0468 }, + { 0x046A, 0x046A }, + { 0x046C, 0x046C }, + { 0x046E, 0x046E }, + { 0x0470, 0x0470 }, + { 0x0472, 0x0472 }, + { 0x0474, 0x0474 }, + { 0x0476, 0x0476 }, + { 0x0478, 0x0478 }, + { 0x047A, 0x047A }, + { 0x047C, 0x047C }, + { 0x047E, 0x047E }, + { 0x0480, 0x0480 }, + { 0x048A, 0x048A }, + { 0x048C, 0x048C }, + { 0x048E, 0x048E }, + { 0x0490, 0x0490 }, + { 0x0492, 0x0492 }, + { 0x0494, 0x0494 }, + { 0x0496, 0x0496 }, + { 0x0498, 0x0498 }, + { 0x049A, 0x049A }, + { 0x049C, 0x049C }, + { 0x049E, 0x049E }, + { 0x04A0, 0x04A0 }, + { 0x04A2, 0x04A2 }, + { 0x04A4, 0x04A4 }, + { 0x04A6, 0x04A6 }, + { 0x04A8, 0x04A8 }, + { 0x04AA, 0x04AA }, + { 0x04AC, 0x04AC }, + { 0x04AE, 0x04AE }, + { 0x04B0, 0x04B0 }, + { 0x04B2, 0x04B2 }, + { 0x04B4, 0x04B4 }, + { 0x04B6, 0x04B6 }, + { 0x04B8, 0x04B8 }, + { 0x04BA, 0x04BA }, + { 0x04BC, 0x04BC }, + { 0x04BE, 0x04BE }, + { 0x04C0, 0x04C1 }, + { 0x04C3, 0x04C3 }, + { 0x04C5, 0x04C5 }, + { 0x04C7, 0x04C7 }, + { 0x04C9, 0x04C9 }, + { 0x04CB, 0x04CB }, + { 0x04CD, 0x04CD }, + { 0x04D0, 0x04D0 }, + { 0x04D2, 0x04D2 }, + { 0x04D4, 0x04D4 }, + { 0x04D6, 0x04D6 }, + { 0x04D8, 0x04D8 }, + { 0x04DA, 0x04DA }, + { 0x04DC, 0x04DC }, + { 0x04DE, 0x04DE }, + { 0x04E0, 0x04E0 }, + { 0x04E2, 0x04E2 }, + { 0x04E4, 0x04E4 }, + { 0x04E6, 0x04E6 }, + { 0x04E8, 0x04E8 }, + { 0x04EA, 0x04EA }, + { 0x04EC, 0x04EC }, + { 0x04EE, 0x04EE }, + { 0x04F0, 0x04F0 }, + { 0x04F2, 0x04F2 }, + { 0x04F4, 0x04F4 }, + { 0x04F6, 0x04F6 }, + { 0x04F8, 0x04F8 }, + { 0x04FA, 0x04FA }, + { 0x04FC, 0x04FC }, + { 0x04FE, 0x04FE }, + { 0x0500, 0x0500 }, + { 0x0502, 0x0502 }, + { 0x0504, 0x0504 }, + { 0x0506, 0x0506 }, + { 0x0508, 0x0508 }, + { 0x050A, 0x050A }, + { 0x050C, 0x050C }, + { 0x050E, 0x050E }, + { 0x0510, 0x0510 }, + { 0x0512, 0x0512 }, + { 0x0514, 0x0514 }, + { 0x0516, 0x0516 }, + { 0x0518, 0x0518 }, + { 0x051A, 0x051A }, + { 0x051C, 0x051C }, + { 0x051E, 0x051E }, + { 0x0520, 0x0520 }, + { 0x0522, 0x0522 }, + { 0x0531, 0x0556 }, + { 0x10A0, 0x10C5 }, + { 0x1E00, 0x1E00 }, + { 0x1E02, 0x1E02 }, + { 0x1E04, 0x1E04 }, + { 0x1E06, 0x1E06 }, + { 0x1E08, 0x1E08 }, + { 0x1E0A, 0x1E0A }, + { 0x1E0C, 0x1E0C }, + { 0x1E0E, 0x1E0E }, + { 0x1E10, 0x1E10 }, + { 0x1E12, 0x1E12 }, + { 0x1E14, 0x1E14 }, + { 0x1E16, 0x1E16 }, + { 0x1E18, 0x1E18 }, + { 0x1E1A, 0x1E1A }, + { 0x1E1C, 0x1E1C }, + { 0x1E1E, 0x1E1E }, + { 0x1E20, 0x1E20 }, + { 0x1E22, 0x1E22 }, + { 0x1E24, 0x1E24 }, + { 0x1E26, 0x1E26 }, + { 0x1E28, 0x1E28 }, + { 0x1E2A, 0x1E2A }, + { 0x1E2C, 0x1E2C }, + { 0x1E2E, 0x1E2E }, + { 0x1E30, 0x1E30 }, + { 0x1E32, 0x1E32 }, + { 0x1E34, 0x1E34 }, + { 0x1E36, 0x1E36 }, + { 0x1E38, 0x1E38 }, + { 0x1E3A, 0x1E3A }, + { 0x1E3C, 0x1E3C }, + { 0x1E3E, 0x1E3E }, + { 0x1E40, 0x1E40 }, + { 0x1E42, 0x1E42 }, + { 0x1E44, 0x1E44 }, + { 0x1E46, 0x1E46 }, + { 0x1E48, 0x1E48 }, + { 0x1E4A, 0x1E4A }, + { 0x1E4C, 0x1E4C }, + { 0x1E4E, 0x1E4E }, + { 0x1E50, 0x1E50 }, + { 0x1E52, 0x1E52 }, + { 0x1E54, 0x1E54 }, + { 0x1E56, 0x1E56 }, + { 0x1E58, 0x1E58 }, + { 0x1E5A, 0x1E5A }, + { 0x1E5C, 0x1E5C }, + { 0x1E5E, 0x1E5E }, + { 0x1E60, 0x1E60 }, + { 0x1E62, 0x1E62 }, + { 0x1E64, 0x1E64 }, + { 0x1E66, 0x1E66 }, + { 0x1E68, 0x1E68 }, + { 0x1E6A, 0x1E6A }, + { 0x1E6C, 0x1E6C }, + { 0x1E6E, 0x1E6E }, + { 0x1E70, 0x1E70 }, + { 0x1E72, 0x1E72 }, + { 0x1E74, 0x1E74 }, + { 0x1E76, 0x1E76 }, + { 0x1E78, 0x1E78 }, + { 0x1E7A, 0x1E7A }, + { 0x1E7C, 0x1E7C }, + { 0x1E7E, 0x1E7E }, + { 0x1E80, 0x1E80 }, + { 0x1E82, 0x1E82 }, + { 0x1E84, 0x1E84 }, + { 0x1E86, 0x1E86 }, + { 0x1E88, 0x1E88 }, + { 0x1E8A, 0x1E8A }, + { 0x1E8C, 0x1E8C }, + { 0x1E8E, 0x1E8E }, + { 0x1E90, 0x1E90 }, + { 0x1E92, 0x1E92 }, + { 0x1E94, 0x1E94 }, + { 0x1E9E, 0x1E9E }, + { 0x1EA0, 0x1EA0 }, + { 0x1EA2, 0x1EA2 }, + { 0x1EA4, 0x1EA4 }, + { 0x1EA6, 0x1EA6 }, + { 0x1EA8, 0x1EA8 }, + { 0x1EAA, 0x1EAA }, + { 0x1EAC, 0x1EAC }, + { 0x1EAE, 0x1EAE }, + { 0x1EB0, 0x1EB0 }, + { 0x1EB2, 0x1EB2 }, + { 0x1EB4, 0x1EB4 }, + { 0x1EB6, 0x1EB6 }, + { 0x1EB8, 0x1EB8 }, + { 0x1EBA, 0x1EBA }, + { 0x1EBC, 0x1EBC }, + { 0x1EBE, 0x1EBE }, + { 0x1EC0, 0x1EC0 }, + { 0x1EC2, 0x1EC2 }, + { 0x1EC4, 0x1EC4 }, + { 0x1EC6, 0x1EC6 }, + { 0x1EC8, 0x1EC8 }, + { 0x1ECA, 0x1ECA }, + { 0x1ECC, 0x1ECC }, + { 0x1ECE, 0x1ECE }, + { 0x1ED0, 0x1ED0 }, + { 0x1ED2, 0x1ED2 }, + { 0x1ED4, 0x1ED4 }, + { 0x1ED6, 0x1ED6 }, + { 0x1ED8, 0x1ED8 }, + { 0x1EDA, 0x1EDA }, + { 0x1EDC, 0x1EDC }, + { 0x1EDE, 0x1EDE }, + { 0x1EE0, 0x1EE0 }, + { 0x1EE2, 0x1EE2 }, + { 0x1EE4, 0x1EE4 }, + { 0x1EE6, 0x1EE6 }, + { 0x1EE8, 0x1EE8 }, + { 0x1EEA, 0x1EEA }, + { 0x1EEC, 0x1EEC }, + { 0x1EEE, 0x1EEE }, + { 0x1EF0, 0x1EF0 }, + { 0x1EF2, 0x1EF2 }, + { 0x1EF4, 0x1EF4 }, + { 0x1EF6, 0x1EF6 }, + { 0x1EF8, 0x1EF8 }, + { 0x1EFA, 0x1EFA }, + { 0x1EFC, 0x1EFC }, + { 0x1EFE, 0x1EFE }, + { 0x1F08, 0x1F0F }, + { 0x1F18, 0x1F1D }, + { 0x1F28, 0x1F2F }, + { 0x1F38, 0x1F3F }, + { 0x1F48, 0x1F4D }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F5F }, + { 0x1F68, 0x1F6F }, + { 0x1FB8, 0x1FBB }, + { 0x1FC8, 0x1FCB }, + { 0x1FD8, 0x1FDB }, + { 0x1FE8, 0x1FEC }, + { 0x1FF8, 0x1FFB }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210B, 0x210D }, + { 0x2110, 0x2112 }, + { 0x2115, 0x2115 }, + { 0x2119, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x2128 }, + { 0x212A, 0x212D }, + { 0x2130, 0x2133 }, + { 0x213E, 0x213F }, + { 0x2145, 0x2145 }, + { 0x2160, 0x216F }, + { 0x2183, 0x2183 }, + { 0x24B6, 0x24CF }, + { 0x2C00, 0x2C2E }, + { 0x2C60, 0x2C60 }, + { 0x2C62, 0x2C64 }, + { 0x2C67, 0x2C67 }, + { 0x2C69, 0x2C69 }, + { 0x2C6B, 0x2C6B }, + { 0x2C6D, 0x2C6F }, + { 0x2C72, 0x2C72 }, + { 0x2C75, 0x2C75 }, + { 0x2C80, 0x2C80 }, + { 0x2C82, 0x2C82 }, + { 0x2C84, 0x2C84 }, + { 0x2C86, 0x2C86 }, + { 0x2C88, 0x2C88 }, + { 0x2C8A, 0x2C8A }, + { 0x2C8C, 0x2C8C }, + { 0x2C8E, 0x2C8E }, + { 0x2C90, 0x2C90 }, + { 0x2C92, 0x2C92 }, + { 0x2C94, 0x2C94 }, + { 0x2C96, 0x2C96 }, + { 0x2C98, 0x2C98 }, + { 0x2C9A, 0x2C9A }, + { 0x2C9C, 0x2C9C }, + { 0x2C9E, 0x2C9E }, + { 0x2CA0, 0x2CA0 }, + { 0x2CA2, 0x2CA2 }, + { 0x2CA4, 0x2CA4 }, + { 0x2CA6, 0x2CA6 }, + { 0x2CA8, 0x2CA8 }, + { 0x2CAA, 0x2CAA }, + { 0x2CAC, 0x2CAC }, + { 0x2CAE, 0x2CAE }, + { 0x2CB0, 0x2CB0 }, + { 0x2CB2, 0x2CB2 }, + { 0x2CB4, 0x2CB4 }, + { 0x2CB6, 0x2CB6 }, + { 0x2CB8, 0x2CB8 }, + { 0x2CBA, 0x2CBA }, + { 0x2CBC, 0x2CBC }, + { 0x2CBE, 0x2CBE }, + { 0x2CC0, 0x2CC0 }, + { 0x2CC2, 0x2CC2 }, + { 0x2CC4, 0x2CC4 }, + { 0x2CC6, 0x2CC6 }, + { 0x2CC8, 0x2CC8 }, + { 0x2CCA, 0x2CCA }, + { 0x2CCC, 0x2CCC }, + { 0x2CCE, 0x2CCE }, + { 0x2CD0, 0x2CD0 }, + { 0x2CD2, 0x2CD2 }, + { 0x2CD4, 0x2CD4 }, + { 0x2CD6, 0x2CD6 }, + { 0x2CD8, 0x2CD8 }, + { 0x2CDA, 0x2CDA }, + { 0x2CDC, 0x2CDC }, + { 0x2CDE, 0x2CDE }, + { 0x2CE0, 0x2CE0 }, + { 0x2CE2, 0x2CE2 }, + { 0xA640, 0xA640 }, + { 0xA642, 0xA642 }, + { 0xA644, 0xA644 }, + { 0xA646, 0xA646 }, + { 0xA648, 0xA648 }, + { 0xA64A, 0xA64A }, + { 0xA64C, 0xA64C }, + { 0xA64E, 0xA64E }, + { 0xA650, 0xA650 }, + { 0xA652, 0xA652 }, + { 0xA654, 0xA654 }, + { 0xA656, 0xA656 }, + { 0xA658, 0xA658 }, + { 0xA65A, 0xA65A }, + { 0xA65C, 0xA65C }, + { 0xA65E, 0xA65E }, + { 0xA662, 0xA662 }, + { 0xA664, 0xA664 }, + { 0xA666, 0xA666 }, + { 0xA668, 0xA668 }, + { 0xA66A, 0xA66A }, + { 0xA66C, 0xA66C }, + { 0xA680, 0xA680 }, + { 0xA682, 0xA682 }, + { 0xA684, 0xA684 }, + { 0xA686, 0xA686 }, + { 0xA688, 0xA688 }, + { 0xA68A, 0xA68A }, + { 0xA68C, 0xA68C }, + { 0xA68E, 0xA68E }, + { 0xA690, 0xA690 }, + { 0xA692, 0xA692 }, + { 0xA694, 0xA694 }, + { 0xA696, 0xA696 }, + { 0xA722, 0xA722 }, + { 0xA724, 0xA724 }, + { 0xA726, 0xA726 }, + { 0xA728, 0xA728 }, + { 0xA72A, 0xA72A }, + { 0xA72C, 0xA72C }, + { 0xA72E, 0xA72E }, + { 0xA732, 0xA732 }, + { 0xA734, 0xA734 }, + { 0xA736, 0xA736 }, + { 0xA738, 0xA738 }, + { 0xA73A, 0xA73A }, + { 0xA73C, 0xA73C }, + { 0xA73E, 0xA73E }, + { 0xA740, 0xA740 }, + { 0xA742, 0xA742 }, + { 0xA744, 0xA744 }, + { 0xA746, 0xA746 }, + { 0xA748, 0xA748 }, + { 0xA74A, 0xA74A }, + { 0xA74C, 0xA74C }, + { 0xA74E, 0xA74E }, + { 0xA750, 0xA750 }, + { 0xA752, 0xA752 }, + { 0xA754, 0xA754 }, + { 0xA756, 0xA756 }, + { 0xA758, 0xA758 }, + { 0xA75A, 0xA75A }, + { 0xA75C, 0xA75C }, + { 0xA75E, 0xA75E }, + { 0xA760, 0xA760 }, + { 0xA762, 0xA762 }, + { 0xA764, 0xA764 }, + { 0xA766, 0xA766 }, + { 0xA768, 0xA768 }, + { 0xA76A, 0xA76A }, + { 0xA76C, 0xA76C }, + { 0xA76E, 0xA76E }, + { 0xA779, 0xA779 }, + { 0xA77B, 0xA77B }, + { 0xA77D, 0xA77E }, + { 0xA780, 0xA780 }, + { 0xA782, 0xA782 }, + { 0xA784, 0xA784 }, + { 0xA786, 0xA786 }, + { 0xA78B, 0xA78B }, + { 0xFF21, 0xFF3A }, + { 0x10400, 0x10427 }, + { 0x1D400, 0x1D419 }, + { 0x1D434, 0x1D44D }, + { 0x1D468, 0x1D481 }, + { 0x1D49C, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B5 }, + { 0x1D4D0, 0x1D4E9 }, + { 0x1D504, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D538, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D56C, 0x1D585 }, + { 0x1D5A0, 0x1D5B9 }, + { 0x1D5D4, 0x1D5ED }, + { 0x1D608, 0x1D621 }, + { 0x1D63C, 0x1D655 }, + { 0x1D670, 0x1D689 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6E2, 0x1D6FA }, + { 0x1D71C, 0x1D734 }, + { 0x1D756, 0x1D76E }, + { 0x1D790, 0x1D7A8 }, + { 0x1D7CA, 0x1D7CA } + +#define PREDICATE(c) uc_is_property_uppercase (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_variation_selector.c b/tests/unictype/test-pr_variation_selector.c new file mode 100644 index 00000000..50aaa434 --- /dev/null +++ b/tests/unictype/test-pr_variation_selector.c @@ -0,0 +1,25 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x180B, 0x180D }, + { 0xFE00, 0xFE0F }, + { 0xE0100, 0xE01EF } + +#define PREDICATE(c) uc_is_property_variation_selector (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_white_space.c b/tests/unictype/test-pr_white_space.c new file mode 100644 index 00000000..a7d82173 --- /dev/null +++ b/tests/unictype/test-pr_white_space.c @@ -0,0 +1,33 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0009, 0x000D }, + { 0x0020, 0x0020 }, + { 0x0085, 0x0085 }, + { 0x00A0, 0x00A0 }, + { 0x1680, 0x1680 }, + { 0x180E, 0x180E }, + { 0x2000, 0x200A }, + { 0x2028, 0x2029 }, + { 0x202F, 0x202F }, + { 0x205F, 0x205F }, + { 0x3000, 0x3000 } + +#define PREDICATE(c) uc_is_property_white_space (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_xid_continue.c b/tests/unictype/test-pr_xid_continue.c new file mode 100644 index 00000000..14148c52 --- /dev/null +++ b/tests/unictype/test-pr_xid_continue.c @@ -0,0 +1,506 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0030, 0x0039 }, + { 0x0041, 0x005A }, + { 0x005F, 0x005F }, + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00B7, 0x00B7 }, + { 0x00BA, 0x00BA }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00F6 }, + { 0x00F8, 0x02C1 }, + { 0x02C6, 0x02D1 }, + { 0x02E0, 0x02E4 }, + { 0x02EC, 0x02EC }, + { 0x02EE, 0x02EE }, + { 0x0300, 0x0374 }, + { 0x0376, 0x0377 }, + { 0x037B, 0x037D }, + { 0x0386, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x03F5 }, + { 0x03F7, 0x0481 }, + { 0x0483, 0x0487 }, + { 0x048A, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0559, 0x0559 }, + { 0x0561, 0x0587 }, + { 0x0591, 0x05BD }, + { 0x05BF, 0x05BF }, + { 0x05C1, 0x05C2 }, + { 0x05C4, 0x05C5 }, + { 0x05C7, 0x05C7 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F2 }, + { 0x0610, 0x061A }, + { 0x0621, 0x065E }, + { 0x0660, 0x0669 }, + { 0x066E, 0x06D3 }, + { 0x06D5, 0x06DC }, + { 0x06DF, 0x06E8 }, + { 0x06EA, 0x06FC }, + { 0x06FF, 0x06FF }, + { 0x0710, 0x074A }, + { 0x074D, 0x07B1 }, + { 0x07C0, 0x07F5 }, + { 0x07FA, 0x07FA }, + { 0x0901, 0x0939 }, + { 0x093C, 0x094D }, + { 0x0950, 0x0954 }, + { 0x0958, 0x0963 }, + { 0x0966, 0x096F }, + { 0x0971, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0981, 0x0983 }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BC, 0x09C4 }, + { 0x09C7, 0x09C8 }, + { 0x09CB, 0x09CE }, + { 0x09D7, 0x09D7 }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E3 }, + { 0x09E6, 0x09F1 }, + { 0x0A01, 0x0A03 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A3C, 0x0A3C }, + { 0x0A3E, 0x0A42 }, + { 0x0A47, 0x0A48 }, + { 0x0A4B, 0x0A4D }, + { 0x0A51, 0x0A51 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A66, 0x0A75 }, + { 0x0A81, 0x0A83 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABC, 0x0AC5 }, + { 0x0AC7, 0x0AC9 }, + { 0x0ACB, 0x0ACD }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE3 }, + { 0x0AE6, 0x0AEF }, + { 0x0B01, 0x0B03 }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3C, 0x0B44 }, + { 0x0B47, 0x0B48 }, + { 0x0B4B, 0x0B4D }, + { 0x0B56, 0x0B57 }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B63 }, + { 0x0B66, 0x0B6F }, + { 0x0B71, 0x0B71 }, + { 0x0B82, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BBE, 0x0BC2 }, + { 0x0BC6, 0x0BC8 }, + { 0x0BCA, 0x0BCD }, + { 0x0BD0, 0x0BD0 }, + { 0x0BD7, 0x0BD7 }, + { 0x0BE6, 0x0BEF }, + { 0x0C01, 0x0C03 }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C44 }, + { 0x0C46, 0x0C48 }, + { 0x0C4A, 0x0C4D }, + { 0x0C55, 0x0C56 }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C63 }, + { 0x0C66, 0x0C6F }, + { 0x0C82, 0x0C83 }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBC, 0x0CC4 }, + { 0x0CC6, 0x0CC8 }, + { 0x0CCA, 0x0CCD }, + { 0x0CD5, 0x0CD6 }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE3 }, + { 0x0CE6, 0x0CEF }, + { 0x0D02, 0x0D03 }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D44 }, + { 0x0D46, 0x0D48 }, + { 0x0D4A, 0x0D4D }, + { 0x0D57, 0x0D57 }, + { 0x0D60, 0x0D63 }, + { 0x0D66, 0x0D6F }, + { 0x0D7A, 0x0D7F }, + { 0x0D82, 0x0D83 }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0DCA, 0x0DCA }, + { 0x0DCF, 0x0DD4 }, + { 0x0DD6, 0x0DD6 }, + { 0x0DD8, 0x0DDF }, + { 0x0DF2, 0x0DF3 }, + { 0x0E01, 0x0E3A }, + { 0x0E40, 0x0E4E }, + { 0x0E50, 0x0E59 }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB9 }, + { 0x0EBB, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EC6, 0x0EC6 }, + { 0x0EC8, 0x0ECD }, + { 0x0ED0, 0x0ED9 }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F00 }, + { 0x0F18, 0x0F19 }, + { 0x0F20, 0x0F29 }, + { 0x0F35, 0x0F35 }, + { 0x0F37, 0x0F37 }, + { 0x0F39, 0x0F39 }, + { 0x0F3E, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F71, 0x0F84 }, + { 0x0F86, 0x0F8B }, + { 0x0F90, 0x0F97 }, + { 0x0F99, 0x0FBC }, + { 0x0FC6, 0x0FC6 }, + { 0x1000, 0x1049 }, + { 0x1050, 0x1099 }, + { 0x10A0, 0x10C5 }, + { 0x10D0, 0x10FA }, + { 0x10FC, 0x10FC }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x135F, 0x135F }, + { 0x1369, 0x1371 }, + { 0x1380, 0x138F }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x166C }, + { 0x166F, 0x1676 }, + { 0x1681, 0x169A }, + { 0x16A0, 0x16EA }, + { 0x16EE, 0x16F0 }, + { 0x1700, 0x170C }, + { 0x170E, 0x1714 }, + { 0x1720, 0x1734 }, + { 0x1740, 0x1753 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1772, 0x1773 }, + { 0x1780, 0x17B3 }, + { 0x17B6, 0x17D3 }, + { 0x17D7, 0x17D7 }, + { 0x17DC, 0x17DD }, + { 0x17E0, 0x17E9 }, + { 0x180B, 0x180D }, + { 0x1810, 0x1819 }, + { 0x1820, 0x1877 }, + { 0x1880, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1920, 0x192B }, + { 0x1930, 0x193B }, + { 0x1946, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19B0, 0x19C9 }, + { 0x19D0, 0x19D9 }, + { 0x1A00, 0x1A1B }, + { 0x1B00, 0x1B4B }, + { 0x1B50, 0x1B59 }, + { 0x1B6B, 0x1B73 }, + { 0x1B80, 0x1BAA }, + { 0x1BAE, 0x1BB9 }, + { 0x1C00, 0x1C37 }, + { 0x1C40, 0x1C49 }, + { 0x1C4D, 0x1C7D }, + { 0x1D00, 0x1DE6 }, + { 0x1DFE, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FBC }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FC4 }, + { 0x1FC6, 0x1FCC }, + { 0x1FD0, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FE0, 0x1FEC }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFC }, + { 0x203F, 0x2040 }, + { 0x2054, 0x2054 }, + { 0x2071, 0x2071 }, + { 0x207F, 0x207F }, + { 0x2090, 0x2094 }, + { 0x20D0, 0x20DC }, + { 0x20E1, 0x20E1 }, + { 0x20E5, 0x20F0 }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2118, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x2128 }, + { 0x212A, 0x2139 }, + { 0x213C, 0x213F }, + { 0x2145, 0x2149 }, + { 0x214E, 0x214E }, + { 0x2160, 0x2188 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CE4 }, + { 0x2D00, 0x2D25 }, + { 0x2D30, 0x2D65 }, + { 0x2D6F, 0x2D6F }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x2DE0, 0x2DFF }, + { 0x3005, 0x3007 }, + { 0x3021, 0x302F }, + { 0x3031, 0x3035 }, + { 0x3038, 0x303C }, + { 0x3041, 0x3096 }, + { 0x3099, 0x309A }, + { 0x309D, 0x309F }, + { 0x30A1, 0x30FA }, + { 0x30FC, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x31A0, 0x31B7 }, + { 0x31F0, 0x31FF }, + { 0x3400, 0x4DB5 }, + { 0x4E00, 0x9FC3 }, + { 0xA000, 0xA48C }, + { 0xA500, 0xA60C }, + { 0xA610, 0xA62B }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA66F }, + { 0xA67C, 0xA67D }, + { 0xA67F, 0xA697 }, + { 0xA717, 0xA71F }, + { 0xA722, 0xA788 }, + { 0xA78B, 0xA78C }, + { 0xA7FB, 0xA827 }, + { 0xA840, 0xA873 }, + { 0xA880, 0xA8C4 }, + { 0xA8D0, 0xA8D9 }, + { 0xA900, 0xA92D }, + { 0xA930, 0xA953 }, + { 0xAA00, 0xAA36 }, + { 0xAA40, 0xAA4D }, + { 0xAA50, 0xAA59 }, + { 0xAC00, 0xD7A3 }, + { 0xF900, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB28 }, + { 0xFB2A, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFC5D }, + { 0xFC64, 0xFD3D }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDF9 }, + { 0xFE00, 0xFE0F }, + { 0xFE20, 0xFE26 }, + { 0xFE33, 0xFE34 }, + { 0xFE4D, 0xFE4F }, + { 0xFE71, 0xFE71 }, + { 0xFE73, 0xFE73 }, + { 0xFE77, 0xFE77 }, + { 0xFE79, 0xFE79 }, + { 0xFE7B, 0xFE7B }, + { 0xFE7D, 0xFE7D }, + { 0xFE7F, 0xFEFC }, + { 0xFF10, 0xFF19 }, + { 0xFF21, 0xFF3A }, + { 0xFF3F, 0xFF3F }, + { 0xFF41, 0xFF5A }, + { 0xFF66, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10140, 0x10174 }, + { 0x101FD, 0x101FD }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10330, 0x1034A }, + { 0x10380, 0x1039D }, + { 0x103A0, 0x103C3 }, + { 0x103C8, 0x103CF }, + { 0x103D1, 0x103D5 }, + { 0x10400, 0x1049D }, + { 0x104A0, 0x104A9 }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10915 }, + { 0x10920, 0x10939 }, + { 0x10A00, 0x10A03 }, + { 0x10A05, 0x10A06 }, + { 0x10A0C, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x10A38, 0x10A3A }, + { 0x10A3F, 0x10A3F }, + { 0x12000, 0x1236E }, + { 0x12400, 0x12462 }, + { 0x1D165, 0x1D169 }, + { 0x1D16D, 0x1D172 }, + { 0x1D17B, 0x1D182 }, + { 0x1D185, 0x1D18B }, + { 0x1D1AA, 0x1D1AD }, + { 0x1D242, 0x1D244 }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6FA }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D734 }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D76E }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D7A8 }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7CB }, + { 0x1D7CE, 0x1D7FF }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D }, + { 0xE0100, 0xE01EF } + +#define PREDICATE(c) uc_is_property_xid_continue (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_xid_start.c b/tests/unictype/test-pr_xid_start.c new file mode 100644 index 00000000..57326c0f --- /dev/null +++ b/tests/unictype/test-pr_xid_start.c @@ -0,0 +1,421 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0041, 0x005A }, + { 0x0061, 0x007A }, + { 0x00AA, 0x00AA }, + { 0x00B5, 0x00B5 }, + { 0x00BA, 0x00BA }, + { 0x00C0, 0x00D6 }, + { 0x00D8, 0x00F6 }, + { 0x00F8, 0x02C1 }, + { 0x02C6, 0x02D1 }, + { 0x02E0, 0x02E4 }, + { 0x02EC, 0x02EC }, + { 0x02EE, 0x02EE }, + { 0x0370, 0x0374 }, + { 0x0376, 0x0377 }, + { 0x037B, 0x037D }, + { 0x0386, 0x0386 }, + { 0x0388, 0x038A }, + { 0x038C, 0x038C }, + { 0x038E, 0x03A1 }, + { 0x03A3, 0x03F5 }, + { 0x03F7, 0x0481 }, + { 0x048A, 0x0523 }, + { 0x0531, 0x0556 }, + { 0x0559, 0x0559 }, + { 0x0561, 0x0587 }, + { 0x05D0, 0x05EA }, + { 0x05F0, 0x05F2 }, + { 0x0621, 0x064A }, + { 0x066E, 0x066F }, + { 0x0671, 0x06D3 }, + { 0x06D5, 0x06D5 }, + { 0x06E5, 0x06E6 }, + { 0x06EE, 0x06EF }, + { 0x06FA, 0x06FC }, + { 0x06FF, 0x06FF }, + { 0x0710, 0x0710 }, + { 0x0712, 0x072F }, + { 0x074D, 0x07A5 }, + { 0x07B1, 0x07B1 }, + { 0x07CA, 0x07EA }, + { 0x07F4, 0x07F5 }, + { 0x07FA, 0x07FA }, + { 0x0904, 0x0939 }, + { 0x093D, 0x093D }, + { 0x0950, 0x0950 }, + { 0x0958, 0x0961 }, + { 0x0971, 0x0972 }, + { 0x097B, 0x097F }, + { 0x0985, 0x098C }, + { 0x098F, 0x0990 }, + { 0x0993, 0x09A8 }, + { 0x09AA, 0x09B0 }, + { 0x09B2, 0x09B2 }, + { 0x09B6, 0x09B9 }, + { 0x09BD, 0x09BD }, + { 0x09CE, 0x09CE }, + { 0x09DC, 0x09DD }, + { 0x09DF, 0x09E1 }, + { 0x09F0, 0x09F1 }, + { 0x0A05, 0x0A0A }, + { 0x0A0F, 0x0A10 }, + { 0x0A13, 0x0A28 }, + { 0x0A2A, 0x0A30 }, + { 0x0A32, 0x0A33 }, + { 0x0A35, 0x0A36 }, + { 0x0A38, 0x0A39 }, + { 0x0A59, 0x0A5C }, + { 0x0A5E, 0x0A5E }, + { 0x0A72, 0x0A74 }, + { 0x0A85, 0x0A8D }, + { 0x0A8F, 0x0A91 }, + { 0x0A93, 0x0AA8 }, + { 0x0AAA, 0x0AB0 }, + { 0x0AB2, 0x0AB3 }, + { 0x0AB5, 0x0AB9 }, + { 0x0ABD, 0x0ABD }, + { 0x0AD0, 0x0AD0 }, + { 0x0AE0, 0x0AE1 }, + { 0x0B05, 0x0B0C }, + { 0x0B0F, 0x0B10 }, + { 0x0B13, 0x0B28 }, + { 0x0B2A, 0x0B30 }, + { 0x0B32, 0x0B33 }, + { 0x0B35, 0x0B39 }, + { 0x0B3D, 0x0B3D }, + { 0x0B5C, 0x0B5D }, + { 0x0B5F, 0x0B61 }, + { 0x0B71, 0x0B71 }, + { 0x0B83, 0x0B83 }, + { 0x0B85, 0x0B8A }, + { 0x0B8E, 0x0B90 }, + { 0x0B92, 0x0B95 }, + { 0x0B99, 0x0B9A }, + { 0x0B9C, 0x0B9C }, + { 0x0B9E, 0x0B9F }, + { 0x0BA3, 0x0BA4 }, + { 0x0BA8, 0x0BAA }, + { 0x0BAE, 0x0BB9 }, + { 0x0BD0, 0x0BD0 }, + { 0x0C05, 0x0C0C }, + { 0x0C0E, 0x0C10 }, + { 0x0C12, 0x0C28 }, + { 0x0C2A, 0x0C33 }, + { 0x0C35, 0x0C39 }, + { 0x0C3D, 0x0C3D }, + { 0x0C58, 0x0C59 }, + { 0x0C60, 0x0C61 }, + { 0x0C85, 0x0C8C }, + { 0x0C8E, 0x0C90 }, + { 0x0C92, 0x0CA8 }, + { 0x0CAA, 0x0CB3 }, + { 0x0CB5, 0x0CB9 }, + { 0x0CBD, 0x0CBD }, + { 0x0CDE, 0x0CDE }, + { 0x0CE0, 0x0CE1 }, + { 0x0D05, 0x0D0C }, + { 0x0D0E, 0x0D10 }, + { 0x0D12, 0x0D28 }, + { 0x0D2A, 0x0D39 }, + { 0x0D3D, 0x0D3D }, + { 0x0D60, 0x0D61 }, + { 0x0D7A, 0x0D7F }, + { 0x0D85, 0x0D96 }, + { 0x0D9A, 0x0DB1 }, + { 0x0DB3, 0x0DBB }, + { 0x0DBD, 0x0DBD }, + { 0x0DC0, 0x0DC6 }, + { 0x0E01, 0x0E30 }, + { 0x0E32, 0x0E32 }, + { 0x0E40, 0x0E46 }, + { 0x0E81, 0x0E82 }, + { 0x0E84, 0x0E84 }, + { 0x0E87, 0x0E88 }, + { 0x0E8A, 0x0E8A }, + { 0x0E8D, 0x0E8D }, + { 0x0E94, 0x0E97 }, + { 0x0E99, 0x0E9F }, + { 0x0EA1, 0x0EA3 }, + { 0x0EA5, 0x0EA5 }, + { 0x0EA7, 0x0EA7 }, + { 0x0EAA, 0x0EAB }, + { 0x0EAD, 0x0EB0 }, + { 0x0EB2, 0x0EB2 }, + { 0x0EBD, 0x0EBD }, + { 0x0EC0, 0x0EC4 }, + { 0x0EC6, 0x0EC6 }, + { 0x0EDC, 0x0EDD }, + { 0x0F00, 0x0F00 }, + { 0x0F40, 0x0F47 }, + { 0x0F49, 0x0F6C }, + { 0x0F88, 0x0F8B }, + { 0x1000, 0x102A }, + { 0x103F, 0x103F }, + { 0x1050, 0x1055 }, + { 0x105A, 0x105D }, + { 0x1061, 0x1061 }, + { 0x1065, 0x1066 }, + { 0x106E, 0x1070 }, + { 0x1075, 0x1081 }, + { 0x108E, 0x108E }, + { 0x10A0, 0x10C5 }, + { 0x10D0, 0x10FA }, + { 0x10FC, 0x10FC }, + { 0x1100, 0x1159 }, + { 0x115F, 0x11A2 }, + { 0x11A8, 0x11F9 }, + { 0x1200, 0x1248 }, + { 0x124A, 0x124D }, + { 0x1250, 0x1256 }, + { 0x1258, 0x1258 }, + { 0x125A, 0x125D }, + { 0x1260, 0x1288 }, + { 0x128A, 0x128D }, + { 0x1290, 0x12B0 }, + { 0x12B2, 0x12B5 }, + { 0x12B8, 0x12BE }, + { 0x12C0, 0x12C0 }, + { 0x12C2, 0x12C5 }, + { 0x12C8, 0x12D6 }, + { 0x12D8, 0x1310 }, + { 0x1312, 0x1315 }, + { 0x1318, 0x135A }, + { 0x1380, 0x138F }, + { 0x13A0, 0x13F4 }, + { 0x1401, 0x166C }, + { 0x166F, 0x1676 }, + { 0x1681, 0x169A }, + { 0x16A0, 0x16EA }, + { 0x16EE, 0x16F0 }, + { 0x1700, 0x170C }, + { 0x170E, 0x1711 }, + { 0x1720, 0x1731 }, + { 0x1740, 0x1751 }, + { 0x1760, 0x176C }, + { 0x176E, 0x1770 }, + { 0x1780, 0x17B3 }, + { 0x17D7, 0x17D7 }, + { 0x17DC, 0x17DC }, + { 0x1820, 0x1877 }, + { 0x1880, 0x18A8 }, + { 0x18AA, 0x18AA }, + { 0x1900, 0x191C }, + { 0x1950, 0x196D }, + { 0x1970, 0x1974 }, + { 0x1980, 0x19A9 }, + { 0x19C1, 0x19C7 }, + { 0x1A00, 0x1A16 }, + { 0x1B05, 0x1B33 }, + { 0x1B45, 0x1B4B }, + { 0x1B83, 0x1BA0 }, + { 0x1BAE, 0x1BAF }, + { 0x1C00, 0x1C23 }, + { 0x1C4D, 0x1C4F }, + { 0x1C5A, 0x1C7D }, + { 0x1D00, 0x1DBF }, + { 0x1E00, 0x1F15 }, + { 0x1F18, 0x1F1D }, + { 0x1F20, 0x1F45 }, + { 0x1F48, 0x1F4D }, + { 0x1F50, 0x1F57 }, + { 0x1F59, 0x1F59 }, + { 0x1F5B, 0x1F5B }, + { 0x1F5D, 0x1F5D }, + { 0x1F5F, 0x1F7D }, + { 0x1F80, 0x1FB4 }, + { 0x1FB6, 0x1FBC }, + { 0x1FBE, 0x1FBE }, + { 0x1FC2, 0x1FC4 }, + { 0x1FC6, 0x1FCC }, + { 0x1FD0, 0x1FD3 }, + { 0x1FD6, 0x1FDB }, + { 0x1FE0, 0x1FEC }, + { 0x1FF2, 0x1FF4 }, + { 0x1FF6, 0x1FFC }, + { 0x2071, 0x2071 }, + { 0x207F, 0x207F }, + { 0x2090, 0x2094 }, + { 0x2102, 0x2102 }, + { 0x2107, 0x2107 }, + { 0x210A, 0x2113 }, + { 0x2115, 0x2115 }, + { 0x2118, 0x211D }, + { 0x2124, 0x2124 }, + { 0x2126, 0x2126 }, + { 0x2128, 0x2128 }, + { 0x212A, 0x2139 }, + { 0x213C, 0x213F }, + { 0x2145, 0x2149 }, + { 0x214E, 0x214E }, + { 0x2160, 0x2188 }, + { 0x2C00, 0x2C2E }, + { 0x2C30, 0x2C5E }, + { 0x2C60, 0x2C6F }, + { 0x2C71, 0x2C7D }, + { 0x2C80, 0x2CE4 }, + { 0x2D00, 0x2D25 }, + { 0x2D30, 0x2D65 }, + { 0x2D6F, 0x2D6F }, + { 0x2D80, 0x2D96 }, + { 0x2DA0, 0x2DA6 }, + { 0x2DA8, 0x2DAE }, + { 0x2DB0, 0x2DB6 }, + { 0x2DB8, 0x2DBE }, + { 0x2DC0, 0x2DC6 }, + { 0x2DC8, 0x2DCE }, + { 0x2DD0, 0x2DD6 }, + { 0x2DD8, 0x2DDE }, + { 0x3005, 0x3007 }, + { 0x3021, 0x3029 }, + { 0x3031, 0x3035 }, + { 0x3038, 0x303C }, + { 0x3041, 0x3096 }, + { 0x309D, 0x309F }, + { 0x30A1, 0x30FA }, + { 0x30FC, 0x30FF }, + { 0x3105, 0x312D }, + { 0x3131, 0x318E }, + { 0x31A0, 0x31B7 }, + { 0x31F0, 0x31FF }, + { 0x3400, 0x4DB5 }, + { 0x4E00, 0x9FC3 }, + { 0xA000, 0xA48C }, + { 0xA500, 0xA60C }, + { 0xA610, 0xA61F }, + { 0xA62A, 0xA62B }, + { 0xA640, 0xA65F }, + { 0xA662, 0xA66E }, + { 0xA67F, 0xA697 }, + { 0xA717, 0xA71F }, + { 0xA722, 0xA788 }, + { 0xA78B, 0xA78C }, + { 0xA7FB, 0xA801 }, + { 0xA803, 0xA805 }, + { 0xA807, 0xA80A }, + { 0xA80C, 0xA822 }, + { 0xA840, 0xA873 }, + { 0xA882, 0xA8B3 }, + { 0xA90A, 0xA925 }, + { 0xA930, 0xA946 }, + { 0xAA00, 0xAA28 }, + { 0xAA40, 0xAA42 }, + { 0xAA44, 0xAA4B }, + { 0xAC00, 0xD7A3 }, + { 0xF900, 0xFA2D }, + { 0xFA30, 0xFA6A }, + { 0xFA70, 0xFAD9 }, + { 0xFB00, 0xFB06 }, + { 0xFB13, 0xFB17 }, + { 0xFB1D, 0xFB1D }, + { 0xFB1F, 0xFB28 }, + { 0xFB2A, 0xFB36 }, + { 0xFB38, 0xFB3C }, + { 0xFB3E, 0xFB3E }, + { 0xFB40, 0xFB41 }, + { 0xFB43, 0xFB44 }, + { 0xFB46, 0xFBB1 }, + { 0xFBD3, 0xFC5D }, + { 0xFC64, 0xFD3D }, + { 0xFD50, 0xFD8F }, + { 0xFD92, 0xFDC7 }, + { 0xFDF0, 0xFDF9 }, + { 0xFE71, 0xFE71 }, + { 0xFE73, 0xFE73 }, + { 0xFE77, 0xFE77 }, + { 0xFE79, 0xFE79 }, + { 0xFE7B, 0xFE7B }, + { 0xFE7D, 0xFE7D }, + { 0xFE7F, 0xFEFC }, + { 0xFF21, 0xFF3A }, + { 0xFF41, 0xFF5A }, + { 0xFF66, 0xFF9D }, + { 0xFFA0, 0xFFBE }, + { 0xFFC2, 0xFFC7 }, + { 0xFFCA, 0xFFCF }, + { 0xFFD2, 0xFFD7 }, + { 0xFFDA, 0xFFDC }, + { 0x10000, 0x1000B }, + { 0x1000D, 0x10026 }, + { 0x10028, 0x1003A }, + { 0x1003C, 0x1003D }, + { 0x1003F, 0x1004D }, + { 0x10050, 0x1005D }, + { 0x10080, 0x100FA }, + { 0x10140, 0x10174 }, + { 0x10280, 0x1029C }, + { 0x102A0, 0x102D0 }, + { 0x10300, 0x1031E }, + { 0x10330, 0x1034A }, + { 0x10380, 0x1039D }, + { 0x103A0, 0x103C3 }, + { 0x103C8, 0x103CF }, + { 0x103D1, 0x103D5 }, + { 0x10400, 0x1049D }, + { 0x10800, 0x10805 }, + { 0x10808, 0x10808 }, + { 0x1080A, 0x10835 }, + { 0x10837, 0x10838 }, + { 0x1083C, 0x1083C }, + { 0x1083F, 0x1083F }, + { 0x10900, 0x10915 }, + { 0x10920, 0x10939 }, + { 0x10A00, 0x10A00 }, + { 0x10A10, 0x10A13 }, + { 0x10A15, 0x10A17 }, + { 0x10A19, 0x10A33 }, + { 0x12000, 0x1236E }, + { 0x12400, 0x12462 }, + { 0x1D400, 0x1D454 }, + { 0x1D456, 0x1D49C }, + { 0x1D49E, 0x1D49F }, + { 0x1D4A2, 0x1D4A2 }, + { 0x1D4A5, 0x1D4A6 }, + { 0x1D4A9, 0x1D4AC }, + { 0x1D4AE, 0x1D4B9 }, + { 0x1D4BB, 0x1D4BB }, + { 0x1D4BD, 0x1D4C3 }, + { 0x1D4C5, 0x1D505 }, + { 0x1D507, 0x1D50A }, + { 0x1D50D, 0x1D514 }, + { 0x1D516, 0x1D51C }, + { 0x1D51E, 0x1D539 }, + { 0x1D53B, 0x1D53E }, + { 0x1D540, 0x1D544 }, + { 0x1D546, 0x1D546 }, + { 0x1D54A, 0x1D550 }, + { 0x1D552, 0x1D6A5 }, + { 0x1D6A8, 0x1D6C0 }, + { 0x1D6C2, 0x1D6DA }, + { 0x1D6DC, 0x1D6FA }, + { 0x1D6FC, 0x1D714 }, + { 0x1D716, 0x1D734 }, + { 0x1D736, 0x1D74E }, + { 0x1D750, 0x1D76E }, + { 0x1D770, 0x1D788 }, + { 0x1D78A, 0x1D7A8 }, + { 0x1D7AA, 0x1D7C2 }, + { 0x1D7C4, 0x1D7CB }, + { 0x20000, 0x2A6D6 }, + { 0x2F800, 0x2FA1D } + +#define PREDICATE(c) uc_is_property_xid_start (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_zero_width.c b/tests/unictype/test-pr_zero_width.c new file mode 100644 index 00000000..faefd5e4 --- /dev/null +++ b/tests/unictype/test-pr_zero_width.c @@ -0,0 +1,36 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x00AD, 0x00AD }, + { 0x0600, 0x0603 }, + { 0x06DD, 0x06DD }, + { 0x070F, 0x070F }, + { 0x17B4, 0x17B5 }, + { 0x200B, 0x200F }, + { 0x202A, 0x202E }, + { 0x2060, 0x2064 }, + { 0x206A, 0x206F }, + { 0xFEFF, 0xFEFF }, + { 0xFFF9, 0xFFFB }, + { 0x1D173, 0x1D17A }, + { 0xE0001, 0xE0001 }, + { 0xE0020, 0xE007F } + +#define PREDICATE(c) uc_is_property_zero_width (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-predicate-part1.h b/tests/unictype/test-predicate-part1.h new file mode 100644 index 00000000..e81de471 --- /dev/null +++ b/tests/unictype/test-predicate-part1.h @@ -0,0 +1,45 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed for c = 0x%04X\n", \ + __FILE__, __LINE__, c); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) +#define SIZEOF(a) (sizeof(a) / sizeof(a[0])) + +/* Interval of Unicode characters. */ +typedef struct { ucs4_t start; ucs4_t end; } interval_t; + +/* Set of Unicode characters, described as list of intervals, in increasing + order. */ +static const interval_t set[] = + { diff --git a/tests/unictype/test-predicate-part2.h b/tests/unictype/test-predicate-part2.h new file mode 100644 index 00000000..60b7c246 --- /dev/null +++ b/tests/unictype/test-predicate-part2.h @@ -0,0 +1,37 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + + }; + +int +main () +{ + unsigned int c; + size_t i; + + c = 0; + for (i = 0; i < SIZEOF (set); i++) + { + for (; c < set[i].start; c++) + ASSERT (!PREDICATE (c)); + for (; c <= set[i].end; c++) + ASSERT (PREDICATE (c)); + } + for (; c < 0x110000; c++) + ASSERT (!PREDICATE (c)); + + return 0; +} diff --git a/tests/unictype/test-scripts.c b/tests/unictype/test-scripts.c new file mode 100644 index 00000000..4b4b0f92 --- /dev/null +++ b/tests/unictype/test-scripts.c @@ -0,0 +1,86 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test the uc_script function. */ + ASSERT (strcmp (uc_script ('A')->name, "Latin") == 0); + ASSERT (strcmp (uc_script ('%')->name, "Common") == 0); + ASSERT (uc_script (0xE0000) == NULL); + + /* Test the uc_script_byname function. */ + ASSERT (strcmp (uc_script_byname ("Armenian")->name, "Armenian") == 0); + ASSERT (uc_script_byname ("Pekinese") == NULL); + + /* Test the uc_is_script function. */ + ASSERT (uc_is_script ('A', uc_script_byname ("Latin"))); + ASSERT (!uc_is_script ('A', uc_script_byname ("Common"))); + ASSERT (!uc_is_script (0x05DA, uc_script_byname ("Latin"))); + ASSERT (uc_is_script (0x05DA, uc_script_byname ("Hebrew"))); + + { + unsigned int c; + + for (c = 0; c < 0x110000; c++) + { + const uc_script_t *script = uc_script (c); + if (script != NULL) + ASSERT (uc_is_script (c, script)); + } + } + + /* Test the uc_all_scripts function. */ + { + const uc_script_t *scripts; + size_t nscripts; + size_t i; + bool found; + + uc_all_scripts (&scripts, &nscripts); + + found = false; + for (i = 0; i < nscripts; i++) + { + ASSERT (scripts[i].name != NULL); + if (strcmp (scripts[i].name, "Hebrew") == 0) + found = true; + } + ASSERT (found); + } + + return 0; +} diff --git a/tests/unictype/test-sy_c_ident.c b/tests/unictype/test-sy_c_ident.c new file mode 100644 index 00000000..00688e13 --- /dev/null +++ b/tests/unictype/test-sy_c_ident.c @@ -0,0 +1,50 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (uc_c_ident_category ('0') == UC_IDENTIFIER_VALID); + ASSERT (uc_c_ident_category ('X') == UC_IDENTIFIER_START); + ASSERT (uc_c_ident_category ('+') == UC_IDENTIFIER_INVALID); + ASSERT (uc_c_ident_category (0x00B2) == UC_IDENTIFIER_INVALID); + ASSERT (uc_c_ident_category (0x05DA) == UC_IDENTIFIER_START); + + ASSERT (uc_c_ident_category (0x001B) == UC_IDENTIFIER_INVALID); + ASSERT (uc_c_ident_category (0xE0001) == UC_IDENTIFIER_INVALID); + + return 0; +} diff --git a/tests/unictype/test-sy_c_whitespace.c b/tests/unictype/test-sy_c_whitespace.c new file mode 100644 index 00000000..45b9bc0e --- /dev/null +++ b/tests/unictype/test-sy_c_whitespace.c @@ -0,0 +1,24 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0009, 0x000D }, + { 0x0020, 0x0020 } + +#define PREDICATE(c) uc_is_c_whitespace (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-sy_java_ident.c b/tests/unictype/test-sy_java_ident.c new file mode 100644 index 00000000..0a4eb0af --- /dev/null +++ b/tests/unictype/test-sy_java_ident.c @@ -0,0 +1,50 @@ +/* Test the Unicode character type functions. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unictype.h" + +#include +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (uc_java_ident_category ('0') == UC_IDENTIFIER_VALID); + ASSERT (uc_java_ident_category ('X') == UC_IDENTIFIER_START); + ASSERT (uc_java_ident_category ('+') == UC_IDENTIFIER_INVALID); + ASSERT (uc_java_ident_category (0x00B2) == UC_IDENTIFIER_INVALID); + ASSERT (uc_java_ident_category (0x05DA) == UC_IDENTIFIER_START); + + ASSERT (uc_java_ident_category (0x001B) == UC_IDENTIFIER_IGNORABLE); + ASSERT (uc_java_ident_category (0xE0001) == UC_IDENTIFIER_IGNORABLE); + + return 0; +} diff --git a/tests/unictype/test-sy_java_whitespace.c b/tests/unictype/test-sy_java_whitespace.c new file mode 100644 index 00000000..9e2943bf --- /dev/null +++ b/tests/unictype/test-sy_java_whitespace.c @@ -0,0 +1,25 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0009, 0x000A }, + { 0x000C, 0x000D }, + { 0x0020, 0x0020 } + +#define PREDICATE(c) uc_is_java_whitespace (c) +#include "test-predicate-part2.h" diff --git a/tests/unilbrk/test-u16-possible-linebreaks.c b/tests/unilbrk/test-u16-possible-linebreaks.c new file mode 100644 index 00000000..4e0ef34b --- /dev/null +++ b/tests/unilbrk/test-u16-possible-linebreaks.c @@ -0,0 +1,96 @@ +/* Test of line breaking of UTF-16 strings. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include "unilbrk.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test case n = 0. */ + u16_possible_linebreaks (NULL, 0, "GB18030", NULL); + + { + static const uint16_t input[61] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u16_possible_linebreaks (input, SIZEOF (input), "GB18030", p); + for (i = 0; i < 61; i++) + { + ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY : + i == 5 + || i == 11 || i == 25 + || i == 27 || i == 29 || i == 30 || i == 35 + || i == 45 || i == 51 + || i == 52 || i == 53 || i == 55 || i == 56 + || i == 58 || i == 59 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u16_possible_linebreaks (input, SIZEOF (input), "GB2312", p); + for (i = 0; i < 61; i++) + { + ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY : + i == 5 + || i == 11 || i == 25 + || i == 27 || i == 29 || i == 30 || i == 35 + || i == 37 || i == 45 || i == 51 + || i == 52 || i == 53 || i == 55 || i == 56 + || i == 58 || i == 59 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + } + + return 0; +} diff --git a/tests/unilbrk/test-u16-width-linebreaks.c b/tests/unilbrk/test-u16-width-linebreaks.c new file mode 100644 index 00000000..b62d596a --- /dev/null +++ b/tests/unilbrk/test-u16-width-linebreaks.c @@ -0,0 +1,86 @@ +/* Test of line breaking of UTF-16 strings. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include "unilbrk.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test case n = 0. */ + u16_width_linebreaks (NULL, 0, 80, 0, 0, NULL, "GB18030", NULL); + + { + static const uint16_t input[61] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u16_width_linebreaks (input, SIZEOF (input), 25, 0, 0, NULL, "GB18030", p); + for (i = 0; i < 61; i++) + { + ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY : + i == 25 || i == 45 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u16_width_linebreaks (input, SIZEOF (input), 25, 0, 0, NULL, "GB2312", p); + for (i = 0; i < 61; i++) + { + ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY : + i == 11 || i == 25 || i == 45 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + } + + return 0; +} diff --git a/tests/unilbrk/test-u32-possible-linebreaks.c b/tests/unilbrk/test-u32-possible-linebreaks.c new file mode 100644 index 00000000..94e276a3 --- /dev/null +++ b/tests/unilbrk/test-u32-possible-linebreaks.c @@ -0,0 +1,96 @@ +/* Test of line breaking of UTF-32 strings. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include "unilbrk.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test case n = 0. */ + u32_possible_linebreaks (NULL, 0, "GB18030", NULL); + + { + static const uint32_t input[61] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u32_possible_linebreaks (input, SIZEOF (input), "GB18030", p); + for (i = 0; i < 61; i++) + { + ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY : + i == 5 + || i == 11 || i == 25 + || i == 27 || i == 29 || i == 30 || i == 35 + || i == 45 || i == 51 + || i == 52 || i == 53 || i == 55 || i == 56 + || i == 58 || i == 59 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u32_possible_linebreaks (input, SIZEOF (input), "GB2312", p); + for (i = 0; i < 61; i++) + { + ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY : + i == 5 + || i == 11 || i == 25 + || i == 27 || i == 29 || i == 30 || i == 35 + || i == 37 || i == 45 || i == 51 + || i == 52 || i == 53 || i == 55 || i == 56 + || i == 58 || i == 59 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + } + + return 0; +} diff --git a/tests/unilbrk/test-u32-width-linebreaks.c b/tests/unilbrk/test-u32-width-linebreaks.c new file mode 100644 index 00000000..f684dee7 --- /dev/null +++ b/tests/unilbrk/test-u32-width-linebreaks.c @@ -0,0 +1,86 @@ +/* Test of line breaking of UTF-32 strings. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include "unilbrk.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test case n = 0. */ + u32_width_linebreaks (NULL, 0, 80, 0, 0, NULL, "GB18030", NULL); + + { + static const uint32_t input[61] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u32_width_linebreaks (input, SIZEOF (input), 25, 0, 0, NULL, "GB18030", p); + for (i = 0; i < 61; i++) + { + ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY : + i == 25 || i == 45 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u32_width_linebreaks (input, SIZEOF (input), 25, 0, 0, NULL, "GB2312", p); + for (i = 0; i < 61; i++) + { + ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY : + i == 11 || i == 25 || i == 45 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + } + + return 0; +} diff --git a/tests/unilbrk/test-u8-possible-linebreaks.c b/tests/unilbrk/test-u8-possible-linebreaks.c new file mode 100644 index 00000000..c3a091d6 --- /dev/null +++ b/tests/unilbrk/test-u8-possible-linebreaks.c @@ -0,0 +1,90 @@ +/* Test of line breaking of UTF-8 strings. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include "unilbrk.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test case n = 0. */ + u8_possible_linebreaks (NULL, 0, "GB18030", NULL); + + { + static const uint8_t input[91] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + "Gr\303\274\303\237 Gott. \320\227\320\264\321\200\320\260\320\262\321\201\321\202\320\262\321\203\320\271\321\202\320\265! x=(-b\302\261sqrt(b\302\262-4ac))/(2a) \346\227\245\346\234\254\350\252\236,\344\270\255\346\226\207,\355\225\234\352\270\200\n"; + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u8_possible_linebreaks (input, SIZEOF (input), "GB18030", p); + for (i = 0; i < 91; i++) + { + ASSERT (p[i] == (i == 90 ? UC_BREAK_MANDATORY : + i == 7 + || i == 13 || i == 39 + || i == 41 || i == 43 || i == 44 || i == 50 + || i == 61 || i == 67 + || i == 70 || i == 73 || i == 77 || i == 80 + || i == 84 || i == 87 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u8_possible_linebreaks (input, SIZEOF (input), "GB2312", p); + for (i = 0; i < 91; i++) + { + ASSERT (p[i] == (i == 90 ? UC_BREAK_MANDATORY : + i == 7 + || i == 13 || i == 39 + || i == 41 || i == 43 || i == 44 || i == 50 + || i == 52 || i == 61 || i == 67 + || i == 70 || i == 73 || i == 77 || i == 80 + || i == 84 || i == 87 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + } + + return 0; +} diff --git a/tests/unilbrk/test-u8-width-linebreaks.c b/tests/unilbrk/test-u8-width-linebreaks.c new file mode 100644 index 00000000..6c176f15 --- /dev/null +++ b/tests/unilbrk/test-u8-width-linebreaks.c @@ -0,0 +1,80 @@ +/* Test of line breaking of UTF-8 strings. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include "unilbrk.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test case n = 0. */ + u8_width_linebreaks (NULL, 0, 80, 0, 0, NULL, "GB18030", NULL); + + { + static const uint8_t input[91] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + "Gr\303\274\303\237 Gott. \320\227\320\264\321\200\320\260\320\262\321\201\321\202\320\262\321\203\320\271\321\202\320\265! x=(-b\302\261sqrt(b\302\262-4ac))/(2a) \346\227\245\346\234\254\350\252\236,\344\270\255\346\226\207,\355\225\234\352\270\200\n"; + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u8_width_linebreaks (input, SIZEOF (input), 25, 0, 0, NULL, "GB18030", p); + for (i = 0; i < 91; i++) + { + ASSERT (p[i] == (i == 90 ? UC_BREAK_MANDATORY : + i == 39 || i == 61 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + + { + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u8_width_linebreaks (input, SIZEOF (input), 25, 0, 0, NULL, "GB2312", p); + for (i = 0; i < 91; i++) + { + ASSERT (p[i] == (i == 90 ? UC_BREAK_MANDATORY : + i == 13 || i == 39 || i == 61 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } + } + + return 0; +} diff --git a/tests/unilbrk/test-ulc-possible-linebreaks.c b/tests/unilbrk/test-ulc-possible-linebreaks.c new file mode 100644 index 00000000..fdd73bee --- /dev/null +++ b/tests/unilbrk/test-ulc-possible-linebreaks.c @@ -0,0 +1,66 @@ +/* Test of line breaking of strings. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include "unilbrk.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test case n = 0. */ + ulc_possible_linebreaks (NULL, 0, "GB18030", NULL); + +#if HAVE_ICONV + { + static const char input[36] = + /* "Grüß Gott. x=(-b±sqrt(b²-4ac))/(2a)" */ + "Gr\374\337 Gott. x=(-b\261sqrt(b\262-4ac))/(2a)\n"; + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + ulc_possible_linebreaks (input, SIZEOF (input), "ISO-8859-1", p); + for (i = 0; i < 36; i++) + { + ASSERT (p[i] == (i == 35 ? UC_BREAK_MANDATORY : + i == 5 || i == 11 || i == 13 || i == 15 || i == 16 + || i == 21 || i == 31 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } +#endif + + return 0; +} diff --git a/tests/unilbrk/test-ulc-width-linebreaks.c b/tests/unilbrk/test-ulc-width-linebreaks.c new file mode 100644 index 00000000..c0b23019 --- /dev/null +++ b/tests/unilbrk/test-ulc-width-linebreaks.c @@ -0,0 +1,65 @@ +/* Test of line breaking of strings. + Copyright (C) 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include "unilbrk.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test case n = 0. */ + ulc_width_linebreaks (NULL, 0, 80, 0, 0, NULL, "GB18030", NULL); + +#if HAVE_ICONV + { + static const char input[36] = + /* "Grüß Gott. x=(-b±sqrt(b²-4ac))/(2a)" */ + "Gr\374\337 Gott. x=(-b\261sqrt(b\262-4ac))/(2a)\n"; + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + ulc_width_linebreaks (input, SIZEOF (input), 12, 0, 0, NULL, "ISO-8859-1", p); + for (i = 0; i < 36; i++) + { + ASSERT (p[i] == (i == 35 ? UC_BREAK_MANDATORY : + i == 11 || i == 21 || i == 31 ? UC_BREAK_POSSIBLE : + UC_BREAK_PROHIBITED)); + } + free (p); + } +#endif + + return 0; +} diff --git a/tests/uniname/UnicodeDataNames.txt b/tests/uniname/UnicodeDataNames.txt new file mode 100644 index 00000000..5a4cf1a4 --- /dev/null +++ b/tests/uniname/UnicodeDataNames.txt @@ -0,0 +1,30423 @@ +0020;SPACE;Zs;0;WS;;;;;N;;;;; +0021;EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; +0022;QUOTATION MARK;Po;0;ON;;;;;N;;;;; +0023;NUMBER SIGN;Po;0;ET;;;;;N;;;;; +0024;DOLLAR SIGN;Sc;0;ET;;;;;N;;;;; +0025;PERCENT SIGN;Po;0;ET;;;;;N;;;;; +0026;AMPERSAND;Po;0;ON;;;;;N;;;;; +0027;APOSTROPHE;Po;0;ON;;;;;N;APOSTROPHE-QUOTE;;;; +0028;LEFT PARENTHESIS;Ps;0;ON;;;;;Y;OPENING PARENTHESIS;;;; +0029;RIGHT PARENTHESIS;Pe;0;ON;;;;;Y;CLOSING PARENTHESIS;;;; +002A;ASTERISK;Po;0;ON;;;;;N;;;;; +002B;PLUS SIGN;Sm;0;ES;;;;;N;;;;; +002C;COMMA;Po;0;CS;;;;;N;;;;; +002D;HYPHEN-MINUS;Pd;0;ES;;;;;N;;;;; +002E;FULL STOP;Po;0;CS;;;;;N;PERIOD;;;; +002F;SOLIDUS;Po;0;CS;;;;;N;SLASH;;;; +0030;DIGIT ZERO;Nd;0;EN;;0;0;0;N;;;;; +0031;DIGIT ONE;Nd;0;EN;;1;1;1;N;;;;; +0032;DIGIT TWO;Nd;0;EN;;2;2;2;N;;;;; +0033;DIGIT THREE;Nd;0;EN;;3;3;3;N;;;;; +0034;DIGIT FOUR;Nd;0;EN;;4;4;4;N;;;;; +0035;DIGIT FIVE;Nd;0;EN;;5;5;5;N;;;;; +0036;DIGIT SIX;Nd;0;EN;;6;6;6;N;;;;; +0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;; +0038;DIGIT EIGHT;Nd;0;EN;;8;8;8;N;;;;; +0039;DIGIT NINE;Nd;0;EN;;9;9;9;N;;;;; +003A;COLON;Po;0;CS;;;;;N;;;;; +003B;SEMICOLON;Po;0;ON;;;;;N;;;;; +003C;LESS-THAN SIGN;Sm;0;ON;;;;;Y;;;;; +003D;EQUALS SIGN;Sm;0;ON;;;;;N;;;;; +003E;GREATER-THAN SIGN;Sm;0;ON;;;;;Y;;;;; +003F;QUESTION MARK;Po;0;ON;;;;;N;;;;; +0040;COMMERCIAL AT;Po;0;ON;;;;;N;;;;; +0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061; +0042;LATIN CAPITAL LETTER B;Lu;0;L;;;;;N;;;;0062; +0043;LATIN CAPITAL LETTER C;Lu;0;L;;;;;N;;;;0063; +0044;LATIN CAPITAL LETTER D;Lu;0;L;;;;;N;;;;0064; +0045;LATIN CAPITAL LETTER E;Lu;0;L;;;;;N;;;;0065; +0046;LATIN CAPITAL LETTER F;Lu;0;L;;;;;N;;;;0066; +0047;LATIN CAPITAL LETTER G;Lu;0;L;;;;;N;;;;0067; +0048;LATIN CAPITAL LETTER H;Lu;0;L;;;;;N;;;;0068; +0049;LATIN CAPITAL LETTER I;Lu;0;L;;;;;N;;;;0069; +004A;LATIN CAPITAL LETTER J;Lu;0;L;;;;;N;;;;006A; +004B;LATIN CAPITAL LETTER K;Lu;0;L;;;;;N;;;;006B; +004C;LATIN CAPITAL LETTER L;Lu;0;L;;;;;N;;;;006C; +004D;LATIN CAPITAL LETTER M;Lu;0;L;;;;;N;;;;006D; +004E;LATIN CAPITAL LETTER N;Lu;0;L;;;;;N;;;;006E; +004F;LATIN CAPITAL LETTER O;Lu;0;L;;;;;N;;;;006F; +0050;LATIN CAPITAL LETTER P;Lu;0;L;;;;;N;;;;0070; +0051;LATIN CAPITAL LETTER Q;Lu;0;L;;;;;N;;;;0071; +0052;LATIN CAPITAL LETTER R;Lu;0;L;;;;;N;;;;0072; +0053;LATIN CAPITAL LETTER S;Lu;0;L;;;;;N;;;;0073; +0054;LATIN CAPITAL LETTER T;Lu;0;L;;;;;N;;;;0074; +0055;LATIN CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0075; +0056;LATIN CAPITAL LETTER V;Lu;0;L;;;;;N;;;;0076; +0057;LATIN CAPITAL LETTER W;Lu;0;L;;;;;N;;;;0077; +0058;LATIN CAPITAL LETTER X;Lu;0;L;;;;;N;;;;0078; +0059;LATIN CAPITAL LETTER Y;Lu;0;L;;;;;N;;;;0079; +005A;LATIN CAPITAL LETTER Z;Lu;0;L;;;;;N;;;;007A; +005B;LEFT SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING SQUARE BRACKET;;;; +005C;REVERSE SOLIDUS;Po;0;ON;;;;;N;BACKSLASH;;;; +005D;RIGHT SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING SQUARE BRACKET;;;; +005E;CIRCUMFLEX ACCENT;Sk;0;ON;;;;;N;SPACING CIRCUMFLEX;;;; +005F;LOW LINE;Pc;0;ON;;;;;N;SPACING UNDERSCORE;;;; +0060;GRAVE ACCENT;Sk;0;ON;;;;;N;SPACING GRAVE;;;; +0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041 +0062;LATIN SMALL LETTER B;Ll;0;L;;;;;N;;;0042;;0042 +0063;LATIN SMALL LETTER C;Ll;0;L;;;;;N;;;0043;;0043 +0064;LATIN SMALL LETTER D;Ll;0;L;;;;;N;;;0044;;0044 +0065;LATIN SMALL LETTER E;Ll;0;L;;;;;N;;;0045;;0045 +0066;LATIN SMALL LETTER F;Ll;0;L;;;;;N;;;0046;;0046 +0067;LATIN SMALL LETTER G;Ll;0;L;;;;;N;;;0047;;0047 +0068;LATIN SMALL LETTER H;Ll;0;L;;;;;N;;;0048;;0048 +0069;LATIN SMALL LETTER I;Ll;0;L;;;;;N;;;0049;;0049 +006A;LATIN SMALL LETTER J;Ll;0;L;;;;;N;;;004A;;004A +006B;LATIN SMALL LETTER K;Ll;0;L;;;;;N;;;004B;;004B +006C;LATIN SMALL LETTER L;Ll;0;L;;;;;N;;;004C;;004C +006D;LATIN SMALL LETTER M;Ll;0;L;;;;;N;;;004D;;004D +006E;LATIN SMALL LETTER N;Ll;0;L;;;;;N;;;004E;;004E +006F;LATIN SMALL LETTER O;Ll;0;L;;;;;N;;;004F;;004F +0070;LATIN SMALL LETTER P;Ll;0;L;;;;;N;;;0050;;0050 +0071;LATIN SMALL LETTER Q;Ll;0;L;;;;;N;;;0051;;0051 +0072;LATIN SMALL LETTER R;Ll;0;L;;;;;N;;;0052;;0052 +0073;LATIN SMALL LETTER S;Ll;0;L;;;;;N;;;0053;;0053 +0074;LATIN SMALL LETTER T;Ll;0;L;;;;;N;;;0054;;0054 +0075;LATIN SMALL LETTER U;Ll;0;L;;;;;N;;;0055;;0055 +0076;LATIN SMALL LETTER V;Ll;0;L;;;;;N;;;0056;;0056 +0077;LATIN SMALL LETTER W;Ll;0;L;;;;;N;;;0057;;0057 +0078;LATIN SMALL LETTER X;Ll;0;L;;;;;N;;;0058;;0058 +0079;LATIN SMALL LETTER Y;Ll;0;L;;;;;N;;;0059;;0059 +007A;LATIN SMALL LETTER Z;Ll;0;L;;;;;N;;;005A;;005A +007B;LEFT CURLY BRACKET;Ps;0;ON;;;;;Y;OPENING CURLY BRACKET;;;; +007C;VERTICAL LINE;Sm;0;ON;;;;;N;VERTICAL BAR;;;; +007D;RIGHT CURLY BRACKET;Pe;0;ON;;;;;Y;CLOSING CURLY BRACKET;;;; +007E;TILDE;Sm;0;ON;;;;;N;;;;; +00A0;NO-BREAK SPACE;Zs;0;CS; 0020;;;;N;NON-BREAKING SPACE;;;; +00A1;INVERTED EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; +00A2;CENT SIGN;Sc;0;ET;;;;;N;;;;; +00A3;POUND SIGN;Sc;0;ET;;;;;N;;;;; +00A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;; +00A5;YEN SIGN;Sc;0;ET;;;;;N;;;;; +00A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;; +00A7;SECTION SIGN;So;0;ON;;;;;N;;;;; +00A8;DIAERESIS;Sk;0;ON; 0020 0308;;;;N;SPACING DIAERESIS;;;; +00A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;; +00AA;FEMININE ORDINAL INDICATOR;Ll;0;L; 0061;;;;N;;;;; +00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;*;;; +00AC;NOT SIGN;Sm;0;ON;;;;;N;;;;; +00AD;SOFT HYPHEN;Cf;0;BN;;;;;N;;;;; +00AE;REGISTERED SIGN;So;0;ON;;;;;N;REGISTERED TRADE MARK SIGN;;;; +00AF;MACRON;Sk;0;ON; 0020 0304;;;;N;SPACING MACRON;;;; +00B0;DEGREE SIGN;So;0;ET;;;;;N;;;;; +00B1;PLUS-MINUS SIGN;Sm;0;ET;;;;;N;PLUS-OR-MINUS SIGN;;;; +00B2;SUPERSCRIPT TWO;No;0;EN; 0032;;2;2;N;SUPERSCRIPT DIGIT TWO;;;; +00B3;SUPERSCRIPT THREE;No;0;EN; 0033;;3;3;N;SUPERSCRIPT DIGIT THREE;;;; +00B4;ACUTE ACCENT;Sk;0;ON; 0020 0301;;;;N;SPACING ACUTE;;;; +00B5;MICRO SIGN;Ll;0;L; 03BC;;;;N;;;039C;;039C +00B6;PILCROW SIGN;So;0;ON;;;;;N;PARAGRAPH SIGN;;;; +00B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;; +00B8;CEDILLA;Sk;0;ON; 0020 0327;;;;N;SPACING CEDILLA;;;; +00B9;SUPERSCRIPT ONE;No;0;EN; 0031;;1;1;N;SUPERSCRIPT DIGIT ONE;;;; +00BA;MASCULINE ORDINAL INDICATOR;Ll;0;L; 006F;;;;N;;;;; +00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;*;;; +00BC;VULGAR FRACTION ONE QUARTER;No;0;ON; 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;; +00BD;VULGAR FRACTION ONE HALF;No;0;ON; 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;; +00BE;VULGAR FRACTION THREE QUARTERS;No;0;ON; 0033 2044 0034;;;3/4;N;FRACTION THREE QUARTERS;;;; +00BF;INVERTED QUESTION MARK;Po;0;ON;;;;;N;;;;; +00C0;LATIN CAPITAL LETTER A WITH GRAVE;Lu;0;L;0041 0300;;;;N;LATIN CAPITAL LETTER A GRAVE;;;00E0; +00C1;LATIN CAPITAL LETTER A WITH ACUTE;Lu;0;L;0041 0301;;;;N;LATIN CAPITAL LETTER A ACUTE;;;00E1; +00C2;LATIN CAPITAL LETTER A WITH CIRCUMFLEX;Lu;0;L;0041 0302;;;;N;LATIN CAPITAL LETTER A CIRCUMFLEX;;;00E2; +00C3;LATIN CAPITAL LETTER A WITH TILDE;Lu;0;L;0041 0303;;;;N;LATIN CAPITAL LETTER A TILDE;;;00E3; +00C4;LATIN CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0041 0308;;;;N;LATIN CAPITAL LETTER A DIAERESIS;;;00E4; +00C5;LATIN CAPITAL LETTER A WITH RING ABOVE;Lu;0;L;0041 030A;;;;N;LATIN CAPITAL LETTER A RING;;;00E5; +00C6;LATIN CAPITAL LETTER AE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER A E;ash *;;00E6; +00C7;LATIN CAPITAL LETTER C WITH CEDILLA;Lu;0;L;0043 0327;;;;N;LATIN CAPITAL LETTER C CEDILLA;;;00E7; +00C8;LATIN CAPITAL LETTER E WITH GRAVE;Lu;0;L;0045 0300;;;;N;LATIN CAPITAL LETTER E GRAVE;;;00E8; +00C9;LATIN CAPITAL LETTER E WITH ACUTE;Lu;0;L;0045 0301;;;;N;LATIN CAPITAL LETTER E ACUTE;;;00E9; +00CA;LATIN CAPITAL LETTER E WITH CIRCUMFLEX;Lu;0;L;0045 0302;;;;N;LATIN CAPITAL LETTER E CIRCUMFLEX;;;00EA; +00CB;LATIN CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;0045 0308;;;;N;LATIN CAPITAL LETTER E DIAERESIS;;;00EB; +00CC;LATIN CAPITAL LETTER I WITH GRAVE;Lu;0;L;0049 0300;;;;N;LATIN CAPITAL LETTER I GRAVE;;;00EC; +00CD;LATIN CAPITAL LETTER I WITH ACUTE;Lu;0;L;0049 0301;;;;N;LATIN CAPITAL LETTER I ACUTE;;;00ED; +00CE;LATIN CAPITAL LETTER I WITH CIRCUMFLEX;Lu;0;L;0049 0302;;;;N;LATIN CAPITAL LETTER I CIRCUMFLEX;;;00EE; +00CF;LATIN CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0049 0308;;;;N;LATIN CAPITAL LETTER I DIAERESIS;;;00EF; +00D0;LATIN CAPITAL LETTER ETH;Lu;0;L;;;;;N;;Icelandic;;00F0; +00D1;LATIN CAPITAL LETTER N WITH TILDE;Lu;0;L;004E 0303;;;;N;LATIN CAPITAL LETTER N TILDE;;;00F1; +00D2;LATIN CAPITAL LETTER O WITH GRAVE;Lu;0;L;004F 0300;;;;N;LATIN CAPITAL LETTER O GRAVE;;;00F2; +00D3;LATIN CAPITAL LETTER O WITH ACUTE;Lu;0;L;004F 0301;;;;N;LATIN CAPITAL LETTER O ACUTE;;;00F3; +00D4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX;Lu;0;L;004F 0302;;;;N;LATIN CAPITAL LETTER O CIRCUMFLEX;;;00F4; +00D5;LATIN CAPITAL LETTER O WITH TILDE;Lu;0;L;004F 0303;;;;N;LATIN CAPITAL LETTER O TILDE;;;00F5; +00D6;LATIN CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;004F 0308;;;;N;LATIN CAPITAL LETTER O DIAERESIS;;;00F6; +00D7;MULTIPLICATION SIGN;Sm;0;ON;;;;;N;;;;; +00D8;LATIN CAPITAL LETTER O WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O SLASH;;;00F8; +00D9;LATIN CAPITAL LETTER U WITH GRAVE;Lu;0;L;0055 0300;;;;N;LATIN CAPITAL LETTER U GRAVE;;;00F9; +00DA;LATIN CAPITAL LETTER U WITH ACUTE;Lu;0;L;0055 0301;;;;N;LATIN CAPITAL LETTER U ACUTE;;;00FA; +00DB;LATIN CAPITAL LETTER U WITH CIRCUMFLEX;Lu;0;L;0055 0302;;;;N;LATIN CAPITAL LETTER U CIRCUMFLEX;;;00FB; +00DC;LATIN CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0055 0308;;;;N;LATIN CAPITAL LETTER U DIAERESIS;;;00FC; +00DD;LATIN CAPITAL LETTER Y WITH ACUTE;Lu;0;L;0059 0301;;;;N;LATIN CAPITAL LETTER Y ACUTE;;;00FD; +00DE;LATIN CAPITAL LETTER THORN;Lu;0;L;;;;;N;;Icelandic;;00FE; +00DF;LATIN SMALL LETTER SHARP S;Ll;0;L;;;;;N;;German;;; +00E0;LATIN SMALL LETTER A WITH GRAVE;Ll;0;L;0061 0300;;;;N;LATIN SMALL LETTER A GRAVE;;00C0;;00C0 +00E1;LATIN SMALL LETTER A WITH ACUTE;Ll;0;L;0061 0301;;;;N;LATIN SMALL LETTER A ACUTE;;00C1;;00C1 +00E2;LATIN SMALL LETTER A WITH CIRCUMFLEX;Ll;0;L;0061 0302;;;;N;LATIN SMALL LETTER A CIRCUMFLEX;;00C2;;00C2 +00E3;LATIN SMALL LETTER A WITH TILDE;Ll;0;L;0061 0303;;;;N;LATIN SMALL LETTER A TILDE;;00C3;;00C3 +00E4;LATIN SMALL LETTER A WITH DIAERESIS;Ll;0;L;0061 0308;;;;N;LATIN SMALL LETTER A DIAERESIS;;00C4;;00C4 +00E5;LATIN SMALL LETTER A WITH RING ABOVE;Ll;0;L;0061 030A;;;;N;LATIN SMALL LETTER A RING;;00C5;;00C5 +00E6;LATIN SMALL LETTER AE;Ll;0;L;;;;;N;LATIN SMALL LETTER A E;ash *;00C6;;00C6 +00E7;LATIN SMALL LETTER C WITH CEDILLA;Ll;0;L;0063 0327;;;;N;LATIN SMALL LETTER C CEDILLA;;00C7;;00C7 +00E8;LATIN SMALL LETTER E WITH GRAVE;Ll;0;L;0065 0300;;;;N;LATIN SMALL LETTER E GRAVE;;00C8;;00C8 +00E9;LATIN SMALL LETTER E WITH ACUTE;Ll;0;L;0065 0301;;;;N;LATIN SMALL LETTER E ACUTE;;00C9;;00C9 +00EA;LATIN SMALL LETTER E WITH CIRCUMFLEX;Ll;0;L;0065 0302;;;;N;LATIN SMALL LETTER E CIRCUMFLEX;;00CA;;00CA +00EB;LATIN SMALL LETTER E WITH DIAERESIS;Ll;0;L;0065 0308;;;;N;LATIN SMALL LETTER E DIAERESIS;;00CB;;00CB +00EC;LATIN SMALL LETTER I WITH GRAVE;Ll;0;L;0069 0300;;;;N;LATIN SMALL LETTER I GRAVE;;00CC;;00CC +00ED;LATIN SMALL LETTER I WITH ACUTE;Ll;0;L;0069 0301;;;;N;LATIN SMALL LETTER I ACUTE;;00CD;;00CD +00EE;LATIN SMALL LETTER I WITH CIRCUMFLEX;Ll;0;L;0069 0302;;;;N;LATIN SMALL LETTER I CIRCUMFLEX;;00CE;;00CE +00EF;LATIN SMALL LETTER I WITH DIAERESIS;Ll;0;L;0069 0308;;;;N;LATIN SMALL LETTER I DIAERESIS;;00CF;;00CF +00F0;LATIN SMALL LETTER ETH;Ll;0;L;;;;;N;;Icelandic;00D0;;00D0 +00F1;LATIN SMALL LETTER N WITH TILDE;Ll;0;L;006E 0303;;;;N;LATIN SMALL LETTER N TILDE;;00D1;;00D1 +00F2;LATIN SMALL LETTER O WITH GRAVE;Ll;0;L;006F 0300;;;;N;LATIN SMALL LETTER O GRAVE;;00D2;;00D2 +00F3;LATIN SMALL LETTER O WITH ACUTE;Ll;0;L;006F 0301;;;;N;LATIN SMALL LETTER O ACUTE;;00D3;;00D3 +00F4;LATIN SMALL LETTER O WITH CIRCUMFLEX;Ll;0;L;006F 0302;;;;N;LATIN SMALL LETTER O CIRCUMFLEX;;00D4;;00D4 +00F5;LATIN SMALL LETTER O WITH TILDE;Ll;0;L;006F 0303;;;;N;LATIN SMALL LETTER O TILDE;;00D5;;00D5 +00F6;LATIN SMALL LETTER O WITH DIAERESIS;Ll;0;L;006F 0308;;;;N;LATIN SMALL LETTER O DIAERESIS;;00D6;;00D6 +00F7;DIVISION SIGN;Sm;0;ON;;;;;N;;;;; +00F8;LATIN SMALL LETTER O WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER O SLASH;;00D8;;00D8 +00F9;LATIN SMALL LETTER U WITH GRAVE;Ll;0;L;0075 0300;;;;N;LATIN SMALL LETTER U GRAVE;;00D9;;00D9 +00FA;LATIN SMALL LETTER U WITH ACUTE;Ll;0;L;0075 0301;;;;N;LATIN SMALL LETTER U ACUTE;;00DA;;00DA +00FB;LATIN SMALL LETTER U WITH CIRCUMFLEX;Ll;0;L;0075 0302;;;;N;LATIN SMALL LETTER U CIRCUMFLEX;;00DB;;00DB +00FC;LATIN SMALL LETTER U WITH DIAERESIS;Ll;0;L;0075 0308;;;;N;LATIN SMALL LETTER U DIAERESIS;;00DC;;00DC +00FD;LATIN SMALL LETTER Y WITH ACUTE;Ll;0;L;0079 0301;;;;N;LATIN SMALL LETTER Y ACUTE;;00DD;;00DD +00FE;LATIN SMALL LETTER THORN;Ll;0;L;;;;;N;;Icelandic;00DE;;00DE +00FF;LATIN SMALL LETTER Y WITH DIAERESIS;Ll;0;L;0079 0308;;;;N;LATIN SMALL LETTER Y DIAERESIS;;0178;;0178 +0100;LATIN CAPITAL LETTER A WITH MACRON;Lu;0;L;0041 0304;;;;N;LATIN CAPITAL LETTER A MACRON;;;0101; +0101;LATIN SMALL LETTER A WITH MACRON;Ll;0;L;0061 0304;;;;N;LATIN SMALL LETTER A MACRON;;0100;;0100 +0102;LATIN CAPITAL LETTER A WITH BREVE;Lu;0;L;0041 0306;;;;N;LATIN CAPITAL LETTER A BREVE;;;0103; +0103;LATIN SMALL LETTER A WITH BREVE;Ll;0;L;0061 0306;;;;N;LATIN SMALL LETTER A BREVE;;0102;;0102 +0104;LATIN CAPITAL LETTER A WITH OGONEK;Lu;0;L;0041 0328;;;;N;LATIN CAPITAL LETTER A OGONEK;;;0105; +0105;LATIN SMALL LETTER A WITH OGONEK;Ll;0;L;0061 0328;;;;N;LATIN SMALL LETTER A OGONEK;;0104;;0104 +0106;LATIN CAPITAL LETTER C WITH ACUTE;Lu;0;L;0043 0301;;;;N;LATIN CAPITAL LETTER C ACUTE;;;0107; +0107;LATIN SMALL LETTER C WITH ACUTE;Ll;0;L;0063 0301;;;;N;LATIN SMALL LETTER C ACUTE;;0106;;0106 +0108;LATIN CAPITAL LETTER C WITH CIRCUMFLEX;Lu;0;L;0043 0302;;;;N;LATIN CAPITAL LETTER C CIRCUMFLEX;;;0109; +0109;LATIN SMALL LETTER C WITH CIRCUMFLEX;Ll;0;L;0063 0302;;;;N;LATIN SMALL LETTER C CIRCUMFLEX;;0108;;0108 +010A;LATIN CAPITAL LETTER C WITH DOT ABOVE;Lu;0;L;0043 0307;;;;N;LATIN CAPITAL LETTER C DOT;;;010B; +010B;LATIN SMALL LETTER C WITH DOT ABOVE;Ll;0;L;0063 0307;;;;N;LATIN SMALL LETTER C DOT;;010A;;010A +010C;LATIN CAPITAL LETTER C WITH CARON;Lu;0;L;0043 030C;;;;N;LATIN CAPITAL LETTER C HACEK;;;010D; +010D;LATIN SMALL LETTER C WITH CARON;Ll;0;L;0063 030C;;;;N;LATIN SMALL LETTER C HACEK;;010C;;010C +010E;LATIN CAPITAL LETTER D WITH CARON;Lu;0;L;0044 030C;;;;N;LATIN CAPITAL LETTER D HACEK;;;010F; +010F;LATIN SMALL LETTER D WITH CARON;Ll;0;L;0064 030C;;;;N;LATIN SMALL LETTER D HACEK;;010E;;010E +0110;LATIN CAPITAL LETTER D WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D BAR;;;0111; +0111;LATIN SMALL LETTER D WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER D BAR;;0110;;0110 +0112;LATIN CAPITAL LETTER E WITH MACRON;Lu;0;L;0045 0304;;;;N;LATIN CAPITAL LETTER E MACRON;;;0113; +0113;LATIN SMALL LETTER E WITH MACRON;Ll;0;L;0065 0304;;;;N;LATIN SMALL LETTER E MACRON;;0112;;0112 +0114;LATIN CAPITAL LETTER E WITH BREVE;Lu;0;L;0045 0306;;;;N;LATIN CAPITAL LETTER E BREVE;;;0115; +0115;LATIN SMALL LETTER E WITH BREVE;Ll;0;L;0065 0306;;;;N;LATIN SMALL LETTER E BREVE;;0114;;0114 +0116;LATIN CAPITAL LETTER E WITH DOT ABOVE;Lu;0;L;0045 0307;;;;N;LATIN CAPITAL LETTER E DOT;;;0117; +0117;LATIN SMALL LETTER E WITH DOT ABOVE;Ll;0;L;0065 0307;;;;N;LATIN SMALL LETTER E DOT;;0116;;0116 +0118;LATIN CAPITAL LETTER E WITH OGONEK;Lu;0;L;0045 0328;;;;N;LATIN CAPITAL LETTER E OGONEK;;;0119; +0119;LATIN SMALL LETTER E WITH OGONEK;Ll;0;L;0065 0328;;;;N;LATIN SMALL LETTER E OGONEK;;0118;;0118 +011A;LATIN CAPITAL LETTER E WITH CARON;Lu;0;L;0045 030C;;;;N;LATIN CAPITAL LETTER E HACEK;;;011B; +011B;LATIN SMALL LETTER E WITH CARON;Ll;0;L;0065 030C;;;;N;LATIN SMALL LETTER E HACEK;;011A;;011A +011C;LATIN CAPITAL LETTER G WITH CIRCUMFLEX;Lu;0;L;0047 0302;;;;N;LATIN CAPITAL LETTER G CIRCUMFLEX;;;011D; +011D;LATIN SMALL LETTER G WITH CIRCUMFLEX;Ll;0;L;0067 0302;;;;N;LATIN SMALL LETTER G CIRCUMFLEX;;011C;;011C +011E;LATIN CAPITAL LETTER G WITH BREVE;Lu;0;L;0047 0306;;;;N;LATIN CAPITAL LETTER G BREVE;;;011F; +011F;LATIN SMALL LETTER G WITH BREVE;Ll;0;L;0067 0306;;;;N;LATIN SMALL LETTER G BREVE;;011E;;011E +0120;LATIN CAPITAL LETTER G WITH DOT ABOVE;Lu;0;L;0047 0307;;;;N;LATIN CAPITAL LETTER G DOT;;;0121; +0121;LATIN SMALL LETTER G WITH DOT ABOVE;Ll;0;L;0067 0307;;;;N;LATIN SMALL LETTER G DOT;;0120;;0120 +0122;LATIN CAPITAL LETTER G WITH CEDILLA;Lu;0;L;0047 0327;;;;N;LATIN CAPITAL LETTER G CEDILLA;;;0123; +0123;LATIN SMALL LETTER G WITH CEDILLA;Ll;0;L;0067 0327;;;;N;LATIN SMALL LETTER G CEDILLA;;0122;;0122 +0124;LATIN CAPITAL LETTER H WITH CIRCUMFLEX;Lu;0;L;0048 0302;;;;N;LATIN CAPITAL LETTER H CIRCUMFLEX;;;0125; +0125;LATIN SMALL LETTER H WITH CIRCUMFLEX;Ll;0;L;0068 0302;;;;N;LATIN SMALL LETTER H CIRCUMFLEX;;0124;;0124 +0126;LATIN CAPITAL LETTER H WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER H BAR;;;0127; +0127;LATIN SMALL LETTER H WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER H BAR;;0126;;0126 +0128;LATIN CAPITAL LETTER I WITH TILDE;Lu;0;L;0049 0303;;;;N;LATIN CAPITAL LETTER I TILDE;;;0129; +0129;LATIN SMALL LETTER I WITH TILDE;Ll;0;L;0069 0303;;;;N;LATIN SMALL LETTER I TILDE;;0128;;0128 +012A;LATIN CAPITAL LETTER I WITH MACRON;Lu;0;L;0049 0304;;;;N;LATIN CAPITAL LETTER I MACRON;;;012B; +012B;LATIN SMALL LETTER I WITH MACRON;Ll;0;L;0069 0304;;;;N;LATIN SMALL LETTER I MACRON;;012A;;012A +012C;LATIN CAPITAL LETTER I WITH BREVE;Lu;0;L;0049 0306;;;;N;LATIN CAPITAL LETTER I BREVE;;;012D; +012D;LATIN SMALL LETTER I WITH BREVE;Ll;0;L;0069 0306;;;;N;LATIN SMALL LETTER I BREVE;;012C;;012C +012E;LATIN CAPITAL LETTER I WITH OGONEK;Lu;0;L;0049 0328;;;;N;LATIN CAPITAL LETTER I OGONEK;;;012F; +012F;LATIN SMALL LETTER I WITH OGONEK;Ll;0;L;0069 0328;;;;N;LATIN SMALL LETTER I OGONEK;;012E;;012E +0130;LATIN CAPITAL LETTER I WITH DOT ABOVE;Lu;0;L;0049 0307;;;;N;LATIN CAPITAL LETTER I DOT;;;0069; +0131;LATIN SMALL LETTER DOTLESS I;Ll;0;L;;;;;N;;;0049;;0049 +0132;LATIN CAPITAL LIGATURE IJ;Lu;0;L; 0049 004A;;;;N;LATIN CAPITAL LETTER I J;;;0133; +0133;LATIN SMALL LIGATURE IJ;Ll;0;L; 0069 006A;;;;N;LATIN SMALL LETTER I J;;0132;;0132 +0134;LATIN CAPITAL LETTER J WITH CIRCUMFLEX;Lu;0;L;004A 0302;;;;N;LATIN CAPITAL LETTER J CIRCUMFLEX;;;0135; +0135;LATIN SMALL LETTER J WITH CIRCUMFLEX;Ll;0;L;006A 0302;;;;N;LATIN SMALL LETTER J CIRCUMFLEX;;0134;;0134 +0136;LATIN CAPITAL LETTER K WITH CEDILLA;Lu;0;L;004B 0327;;;;N;LATIN CAPITAL LETTER K CEDILLA;;;0137; +0137;LATIN SMALL LETTER K WITH CEDILLA;Ll;0;L;006B 0327;;;;N;LATIN SMALL LETTER K CEDILLA;;0136;;0136 +0138;LATIN SMALL LETTER KRA;Ll;0;L;;;;;N;;Greenlandic;;; +0139;LATIN CAPITAL LETTER L WITH ACUTE;Lu;0;L;004C 0301;;;;N;LATIN CAPITAL LETTER L ACUTE;;;013A; +013A;LATIN SMALL LETTER L WITH ACUTE;Ll;0;L;006C 0301;;;;N;LATIN SMALL LETTER L ACUTE;;0139;;0139 +013B;LATIN CAPITAL LETTER L WITH CEDILLA;Lu;0;L;004C 0327;;;;N;LATIN CAPITAL LETTER L CEDILLA;;;013C; +013C;LATIN SMALL LETTER L WITH CEDILLA;Ll;0;L;006C 0327;;;;N;LATIN SMALL LETTER L CEDILLA;;013B;;013B +013D;LATIN CAPITAL LETTER L WITH CARON;Lu;0;L;004C 030C;;;;N;LATIN CAPITAL LETTER L HACEK;;;013E; +013E;LATIN SMALL LETTER L WITH CARON;Ll;0;L;006C 030C;;;;N;LATIN SMALL LETTER L HACEK;;013D;;013D +013F;LATIN CAPITAL LETTER L WITH MIDDLE DOT;Lu;0;L; 004C 00B7;;;;N;;;;0140; +0140;LATIN SMALL LETTER L WITH MIDDLE DOT;Ll;0;L; 006C 00B7;;;;N;;;013F;;013F +0141;LATIN CAPITAL LETTER L WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER L SLASH;;;0142; +0142;LATIN SMALL LETTER L WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER L SLASH;;0141;;0141 +0143;LATIN CAPITAL LETTER N WITH ACUTE;Lu;0;L;004E 0301;;;;N;LATIN CAPITAL LETTER N ACUTE;;;0144; +0144;LATIN SMALL LETTER N WITH ACUTE;Ll;0;L;006E 0301;;;;N;LATIN SMALL LETTER N ACUTE;;0143;;0143 +0145;LATIN CAPITAL LETTER N WITH CEDILLA;Lu;0;L;004E 0327;;;;N;LATIN CAPITAL LETTER N CEDILLA;;;0146; +0146;LATIN SMALL LETTER N WITH CEDILLA;Ll;0;L;006E 0327;;;;N;LATIN SMALL LETTER N CEDILLA;;0145;;0145 +0147;LATIN CAPITAL LETTER N WITH CARON;Lu;0;L;004E 030C;;;;N;LATIN CAPITAL LETTER N HACEK;;;0148; +0148;LATIN SMALL LETTER N WITH CARON;Ll;0;L;006E 030C;;;;N;LATIN SMALL LETTER N HACEK;;0147;;0147 +0149;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE;Ll;0;L; 02BC 006E;;;;N;LATIN SMALL LETTER APOSTROPHE N;;;; +014A;LATIN CAPITAL LETTER ENG;Lu;0;L;;;;;N;;Sami;;014B; +014B;LATIN SMALL LETTER ENG;Ll;0;L;;;;;N;;Sami;014A;;014A +014C;LATIN CAPITAL LETTER O WITH MACRON;Lu;0;L;004F 0304;;;;N;LATIN CAPITAL LETTER O MACRON;;;014D; +014D;LATIN SMALL LETTER O WITH MACRON;Ll;0;L;006F 0304;;;;N;LATIN SMALL LETTER O MACRON;;014C;;014C +014E;LATIN CAPITAL LETTER O WITH BREVE;Lu;0;L;004F 0306;;;;N;LATIN CAPITAL LETTER O BREVE;;;014F; +014F;LATIN SMALL LETTER O WITH BREVE;Ll;0;L;006F 0306;;;;N;LATIN SMALL LETTER O BREVE;;014E;;014E +0150;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE;Lu;0;L;004F 030B;;;;N;LATIN CAPITAL LETTER O DOUBLE ACUTE;;;0151; +0151;LATIN SMALL LETTER O WITH DOUBLE ACUTE;Ll;0;L;006F 030B;;;;N;LATIN SMALL LETTER O DOUBLE ACUTE;;0150;;0150 +0152;LATIN CAPITAL LIGATURE OE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O E;;;0153; +0153;LATIN SMALL LIGATURE OE;Ll;0;L;;;;;N;LATIN SMALL LETTER O E;;0152;;0152 +0154;LATIN CAPITAL LETTER R WITH ACUTE;Lu;0;L;0052 0301;;;;N;LATIN CAPITAL LETTER R ACUTE;;;0155; +0155;LATIN SMALL LETTER R WITH ACUTE;Ll;0;L;0072 0301;;;;N;LATIN SMALL LETTER R ACUTE;;0154;;0154 +0156;LATIN CAPITAL LETTER R WITH CEDILLA;Lu;0;L;0052 0327;;;;N;LATIN CAPITAL LETTER R CEDILLA;;;0157; +0157;LATIN SMALL LETTER R WITH CEDILLA;Ll;0;L;0072 0327;;;;N;LATIN SMALL LETTER R CEDILLA;;0156;;0156 +0158;LATIN CAPITAL LETTER R WITH CARON;Lu;0;L;0052 030C;;;;N;LATIN CAPITAL LETTER R HACEK;;;0159; +0159;LATIN SMALL LETTER R WITH CARON;Ll;0;L;0072 030C;;;;N;LATIN SMALL LETTER R HACEK;;0158;;0158 +015A;LATIN CAPITAL LETTER S WITH ACUTE;Lu;0;L;0053 0301;;;;N;LATIN CAPITAL LETTER S ACUTE;;;015B; +015B;LATIN SMALL LETTER S WITH ACUTE;Ll;0;L;0073 0301;;;;N;LATIN SMALL LETTER S ACUTE;;015A;;015A +015C;LATIN CAPITAL LETTER S WITH CIRCUMFLEX;Lu;0;L;0053 0302;;;;N;LATIN CAPITAL LETTER S CIRCUMFLEX;;;015D; +015D;LATIN SMALL LETTER S WITH CIRCUMFLEX;Ll;0;L;0073 0302;;;;N;LATIN SMALL LETTER S CIRCUMFLEX;;015C;;015C +015E;LATIN CAPITAL LETTER S WITH CEDILLA;Lu;0;L;0053 0327;;;;N;LATIN CAPITAL LETTER S CEDILLA;*;;015F; +015F;LATIN SMALL LETTER S WITH CEDILLA;Ll;0;L;0073 0327;;;;N;LATIN SMALL LETTER S CEDILLA;*;015E;;015E +0160;LATIN CAPITAL LETTER S WITH CARON;Lu;0;L;0053 030C;;;;N;LATIN CAPITAL LETTER S HACEK;;;0161; +0161;LATIN SMALL LETTER S WITH CARON;Ll;0;L;0073 030C;;;;N;LATIN SMALL LETTER S HACEK;;0160;;0160 +0162;LATIN CAPITAL LETTER T WITH CEDILLA;Lu;0;L;0054 0327;;;;N;LATIN CAPITAL LETTER T CEDILLA;*;;0163; +0163;LATIN SMALL LETTER T WITH CEDILLA;Ll;0;L;0074 0327;;;;N;LATIN SMALL LETTER T CEDILLA;*;0162;;0162 +0164;LATIN CAPITAL LETTER T WITH CARON;Lu;0;L;0054 030C;;;;N;LATIN CAPITAL LETTER T HACEK;;;0165; +0165;LATIN SMALL LETTER T WITH CARON;Ll;0;L;0074 030C;;;;N;LATIN SMALL LETTER T HACEK;;0164;;0164 +0166;LATIN CAPITAL LETTER T WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T BAR;;;0167; +0167;LATIN SMALL LETTER T WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER T BAR;;0166;;0166 +0168;LATIN CAPITAL LETTER U WITH TILDE;Lu;0;L;0055 0303;;;;N;LATIN CAPITAL LETTER U TILDE;;;0169; +0169;LATIN SMALL LETTER U WITH TILDE;Ll;0;L;0075 0303;;;;N;LATIN SMALL LETTER U TILDE;;0168;;0168 +016A;LATIN CAPITAL LETTER U WITH MACRON;Lu;0;L;0055 0304;;;;N;LATIN CAPITAL LETTER U MACRON;;;016B; +016B;LATIN SMALL LETTER U WITH MACRON;Ll;0;L;0075 0304;;;;N;LATIN SMALL LETTER U MACRON;;016A;;016A +016C;LATIN CAPITAL LETTER U WITH BREVE;Lu;0;L;0055 0306;;;;N;LATIN CAPITAL LETTER U BREVE;;;016D; +016D;LATIN SMALL LETTER U WITH BREVE;Ll;0;L;0075 0306;;;;N;LATIN SMALL LETTER U BREVE;;016C;;016C +016E;LATIN CAPITAL LETTER U WITH RING ABOVE;Lu;0;L;0055 030A;;;;N;LATIN CAPITAL LETTER U RING;;;016F; +016F;LATIN SMALL LETTER U WITH RING ABOVE;Ll;0;L;0075 030A;;;;N;LATIN SMALL LETTER U RING;;016E;;016E +0170;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0055 030B;;;;N;LATIN CAPITAL LETTER U DOUBLE ACUTE;;;0171; +0171;LATIN SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0075 030B;;;;N;LATIN SMALL LETTER U DOUBLE ACUTE;;0170;;0170 +0172;LATIN CAPITAL LETTER U WITH OGONEK;Lu;0;L;0055 0328;;;;N;LATIN CAPITAL LETTER U OGONEK;;;0173; +0173;LATIN SMALL LETTER U WITH OGONEK;Ll;0;L;0075 0328;;;;N;LATIN SMALL LETTER U OGONEK;;0172;;0172 +0174;LATIN CAPITAL LETTER W WITH CIRCUMFLEX;Lu;0;L;0057 0302;;;;N;LATIN CAPITAL LETTER W CIRCUMFLEX;;;0175; +0175;LATIN SMALL LETTER W WITH CIRCUMFLEX;Ll;0;L;0077 0302;;;;N;LATIN SMALL LETTER W CIRCUMFLEX;;0174;;0174 +0176;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX;Lu;0;L;0059 0302;;;;N;LATIN CAPITAL LETTER Y CIRCUMFLEX;;;0177; +0177;LATIN SMALL LETTER Y WITH CIRCUMFLEX;Ll;0;L;0079 0302;;;;N;LATIN SMALL LETTER Y CIRCUMFLEX;;0176;;0176 +0178;LATIN CAPITAL LETTER Y WITH DIAERESIS;Lu;0;L;0059 0308;;;;N;LATIN CAPITAL LETTER Y DIAERESIS;;;00FF; +0179;LATIN CAPITAL LETTER Z WITH ACUTE;Lu;0;L;005A 0301;;;;N;LATIN CAPITAL LETTER Z ACUTE;;;017A; +017A;LATIN SMALL LETTER Z WITH ACUTE;Ll;0;L;007A 0301;;;;N;LATIN SMALL LETTER Z ACUTE;;0179;;0179 +017B;LATIN CAPITAL LETTER Z WITH DOT ABOVE;Lu;0;L;005A 0307;;;;N;LATIN CAPITAL LETTER Z DOT;;;017C; +017C;LATIN SMALL LETTER Z WITH DOT ABOVE;Ll;0;L;007A 0307;;;;N;LATIN SMALL LETTER Z DOT;;017B;;017B +017D;LATIN CAPITAL LETTER Z WITH CARON;Lu;0;L;005A 030C;;;;N;LATIN CAPITAL LETTER Z HACEK;;;017E; +017E;LATIN SMALL LETTER Z WITH CARON;Ll;0;L;007A 030C;;;;N;LATIN SMALL LETTER Z HACEK;;017D;;017D +017F;LATIN SMALL LETTER LONG S;Ll;0;L; 0073;;;;N;;;0053;;0053 +0180;LATIN SMALL LETTER B WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER B BAR;;0243;;0243 +0181;LATIN CAPITAL LETTER B WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B HOOK;;;0253; +0182;LATIN CAPITAL LETTER B WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B TOPBAR;;;0183; +0183;LATIN SMALL LETTER B WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER B TOPBAR;;0182;;0182 +0184;LATIN CAPITAL LETTER TONE SIX;Lu;0;L;;;;;N;;;;0185; +0185;LATIN SMALL LETTER TONE SIX;Ll;0;L;;;;;N;;;0184;;0184 +0186;LATIN CAPITAL LETTER OPEN O;Lu;0;L;;;;;N;;;;0254; +0187;LATIN CAPITAL LETTER C WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER C HOOK;;;0188; +0188;LATIN SMALL LETTER C WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER C HOOK;;0187;;0187 +0189;LATIN CAPITAL LETTER AFRICAN D;Lu;0;L;;;;;N;;*;;0256; +018A;LATIN CAPITAL LETTER D WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D HOOK;;;0257; +018B;LATIN CAPITAL LETTER D WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D TOPBAR;;;018C; +018C;LATIN SMALL LETTER D WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER D TOPBAR;;018B;;018B +018D;LATIN SMALL LETTER TURNED DELTA;Ll;0;L;;;;;N;;;;; +018E;LATIN CAPITAL LETTER REVERSED E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER TURNED E;;;01DD; +018F;LATIN CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;0259; +0190;LATIN CAPITAL LETTER OPEN E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER EPSILON;;;025B; +0191;LATIN CAPITAL LETTER F WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER F HOOK;;;0192; +0192;LATIN SMALL LETTER F WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT F;;0191;;0191 +0193;LATIN CAPITAL LETTER G WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G HOOK;;;0260; +0194;LATIN CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;0263; +0195;LATIN SMALL LETTER HV;Ll;0;L;;;;;N;LATIN SMALL LETTER H V;hwair;01F6;;01F6 +0196;LATIN CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;0269; +0197;LATIN CAPITAL LETTER I WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED I;;;0268; +0198;LATIN CAPITAL LETTER K WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER K HOOK;;;0199; +0199;LATIN SMALL LETTER K WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER K HOOK;;0198;;0198 +019A;LATIN SMALL LETTER L WITH BAR;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED L;;023D;;023D +019B;LATIN SMALL LETTER LAMBDA WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED LAMBDA;;;; +019C;LATIN CAPITAL LETTER TURNED M;Lu;0;L;;;;;N;;;;026F; +019D;LATIN CAPITAL LETTER N WITH LEFT HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER N HOOK;;;0272; +019E;LATIN SMALL LETTER N WITH LONG RIGHT LEG;Ll;0;L;;;;;N;;;0220;;0220 +019F;LATIN CAPITAL LETTER O WITH MIDDLE TILDE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED O;*;;0275; +01A0;LATIN CAPITAL LETTER O WITH HORN;Lu;0;L;004F 031B;;;;N;LATIN CAPITAL LETTER O HORN;;;01A1; +01A1;LATIN SMALL LETTER O WITH HORN;Ll;0;L;006F 031B;;;;N;LATIN SMALL LETTER O HORN;;01A0;;01A0 +01A2;LATIN CAPITAL LETTER OI;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O I;gha;;01A3; +01A3;LATIN SMALL LETTER OI;Ll;0;L;;;;;N;LATIN SMALL LETTER O I;gha;01A2;;01A2 +01A4;LATIN CAPITAL LETTER P WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER P HOOK;;;01A5; +01A5;LATIN SMALL LETTER P WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER P HOOK;;01A4;;01A4 +01A6;LATIN LETTER YR;Lu;0;L;;;;;N;LATIN LETTER Y R;*;;0280; +01A7;LATIN CAPITAL LETTER TONE TWO;Lu;0;L;;;;;N;;;;01A8; +01A8;LATIN SMALL LETTER TONE TWO;Ll;0;L;;;;;N;;;01A7;;01A7 +01A9;LATIN CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;0283; +01AA;LATIN LETTER REVERSED ESH LOOP;Ll;0;L;;;;;N;;;;; +01AB;LATIN SMALL LETTER T WITH PALATAL HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T PALATAL HOOK;;;; +01AC;LATIN CAPITAL LETTER T WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T HOOK;;;01AD; +01AD;LATIN SMALL LETTER T WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T HOOK;;01AC;;01AC +01AE;LATIN CAPITAL LETTER T WITH RETROFLEX HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T RETROFLEX HOOK;;;0288; +01AF;LATIN CAPITAL LETTER U WITH HORN;Lu;0;L;0055 031B;;;;N;LATIN CAPITAL LETTER U HORN;;;01B0; +01B0;LATIN SMALL LETTER U WITH HORN;Ll;0;L;0075 031B;;;;N;LATIN SMALL LETTER U HORN;;01AF;;01AF +01B1;LATIN CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;028A; +01B2;LATIN CAPITAL LETTER V WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER SCRIPT V;;;028B; +01B3;LATIN CAPITAL LETTER Y WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Y HOOK;;;01B4; +01B4;LATIN SMALL LETTER Y WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Y HOOK;;01B3;;01B3 +01B5;LATIN CAPITAL LETTER Z WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Z BAR;;;01B6; +01B6;LATIN SMALL LETTER Z WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER Z BAR;;01B5;;01B5 +01B7;LATIN CAPITAL LETTER EZH;Lu;0;L;;;;;N;LATIN CAPITAL LETTER YOGH;;;0292; +01B8;LATIN CAPITAL LETTER EZH REVERSED;Lu;0;L;;;;;N;LATIN CAPITAL LETTER REVERSED YOGH;;;01B9; +01B9;LATIN SMALL LETTER EZH REVERSED;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED YOGH;;01B8;;01B8 +01BA;LATIN SMALL LETTER EZH WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH WITH TAIL;;;; +01BB;LATIN LETTER TWO WITH STROKE;Lo;0;L;;;;;N;LATIN LETTER TWO BAR;;;; +01BC;LATIN CAPITAL LETTER TONE FIVE;Lu;0;L;;;;;N;;;;01BD; +01BD;LATIN SMALL LETTER TONE FIVE;Ll;0;L;;;;;N;;;01BC;;01BC +01BE;LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER INVERTED GLOTTAL STOP BAR;;;; +01BF;LATIN LETTER WYNN;Ll;0;L;;;;;N;;;01F7;;01F7 +01C0;LATIN LETTER DENTAL CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE;;;; +01C1;LATIN LETTER LATERAL CLICK;Lo;0;L;;;;;N;LATIN LETTER DOUBLE PIPE;;;; +01C2;LATIN LETTER ALVEOLAR CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE DOUBLE BAR;;;; +01C3;LATIN LETTER RETROFLEX CLICK;Lo;0;L;;;;;N;LATIN LETTER EXCLAMATION MARK;;;; +01C4;LATIN CAPITAL LETTER DZ WITH CARON;Lu;0;L; 0044 017D;;;;N;LATIN CAPITAL LETTER D Z HACEK;;;01C6;01C5 +01C5;LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON;Lt;0;L; 0044 017E;;;;N;LATIN LETTER CAPITAL D SMALL Z HACEK;;01C4;01C6;01C5 +01C6;LATIN SMALL LETTER DZ WITH CARON;Ll;0;L; 0064 017E;;;;N;LATIN SMALL LETTER D Z HACEK;;01C4;;01C5 +01C7;LATIN CAPITAL LETTER LJ;Lu;0;L; 004C 004A;;;;N;LATIN CAPITAL LETTER L J;;;01C9;01C8 +01C8;LATIN CAPITAL LETTER L WITH SMALL LETTER J;Lt;0;L; 004C 006A;;;;N;LATIN LETTER CAPITAL L SMALL J;;01C7;01C9;01C8 +01C9;LATIN SMALL LETTER LJ;Ll;0;L; 006C 006A;;;;N;LATIN SMALL LETTER L J;;01C7;;01C8 +01CA;LATIN CAPITAL LETTER NJ;Lu;0;L; 004E 004A;;;;N;LATIN CAPITAL LETTER N J;;;01CC;01CB +01CB;LATIN CAPITAL LETTER N WITH SMALL LETTER J;Lt;0;L; 004E 006A;;;;N;LATIN LETTER CAPITAL N SMALL J;;01CA;01CC;01CB +01CC;LATIN SMALL LETTER NJ;Ll;0;L; 006E 006A;;;;N;LATIN SMALL LETTER N J;;01CA;;01CB +01CD;LATIN CAPITAL LETTER A WITH CARON;Lu;0;L;0041 030C;;;;N;LATIN CAPITAL LETTER A HACEK;;;01CE; +01CE;LATIN SMALL LETTER A WITH CARON;Ll;0;L;0061 030C;;;;N;LATIN SMALL LETTER A HACEK;;01CD;;01CD +01CF;LATIN CAPITAL LETTER I WITH CARON;Lu;0;L;0049 030C;;;;N;LATIN CAPITAL LETTER I HACEK;;;01D0; +01D0;LATIN SMALL LETTER I WITH CARON;Ll;0;L;0069 030C;;;;N;LATIN SMALL LETTER I HACEK;;01CF;;01CF +01D1;LATIN CAPITAL LETTER O WITH CARON;Lu;0;L;004F 030C;;;;N;LATIN CAPITAL LETTER O HACEK;;;01D2; +01D2;LATIN SMALL LETTER O WITH CARON;Ll;0;L;006F 030C;;;;N;LATIN SMALL LETTER O HACEK;;01D1;;01D1 +01D3;LATIN CAPITAL LETTER U WITH CARON;Lu;0;L;0055 030C;;;;N;LATIN CAPITAL LETTER U HACEK;;;01D4; +01D4;LATIN SMALL LETTER U WITH CARON;Ll;0;L;0075 030C;;;;N;LATIN SMALL LETTER U HACEK;;01D3;;01D3 +01D5;LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON;Lu;0;L;00DC 0304;;;;N;LATIN CAPITAL LETTER U DIAERESIS MACRON;;;01D6; +01D6;LATIN SMALL LETTER U WITH DIAERESIS AND MACRON;Ll;0;L;00FC 0304;;;;N;LATIN SMALL LETTER U DIAERESIS MACRON;;01D5;;01D5 +01D7;LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE;Lu;0;L;00DC 0301;;;;N;LATIN CAPITAL LETTER U DIAERESIS ACUTE;;;01D8; +01D8;LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE;Ll;0;L;00FC 0301;;;;N;LATIN SMALL LETTER U DIAERESIS ACUTE;;01D7;;01D7 +01D9;LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON;Lu;0;L;00DC 030C;;;;N;LATIN CAPITAL LETTER U DIAERESIS HACEK;;;01DA; +01DA;LATIN SMALL LETTER U WITH DIAERESIS AND CARON;Ll;0;L;00FC 030C;;;;N;LATIN SMALL LETTER U DIAERESIS HACEK;;01D9;;01D9 +01DB;LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE;Lu;0;L;00DC 0300;;;;N;LATIN CAPITAL LETTER U DIAERESIS GRAVE;;;01DC; +01DC;LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE;Ll;0;L;00FC 0300;;;;N;LATIN SMALL LETTER U DIAERESIS GRAVE;;01DB;;01DB +01DD;LATIN SMALL LETTER TURNED E;Ll;0;L;;;;;N;;;018E;;018E +01DE;LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON;Lu;0;L;00C4 0304;;;;N;LATIN CAPITAL LETTER A DIAERESIS MACRON;;;01DF; +01DF;LATIN SMALL LETTER A WITH DIAERESIS AND MACRON;Ll;0;L;00E4 0304;;;;N;LATIN SMALL LETTER A DIAERESIS MACRON;;01DE;;01DE +01E0;LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON;Lu;0;L;0226 0304;;;;N;LATIN CAPITAL LETTER A DOT MACRON;;;01E1; +01E1;LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON;Ll;0;L;0227 0304;;;;N;LATIN SMALL LETTER A DOT MACRON;;01E0;;01E0 +01E2;LATIN CAPITAL LETTER AE WITH MACRON;Lu;0;L;00C6 0304;;;;N;LATIN CAPITAL LETTER A E MACRON;ash *;;01E3; +01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304;;;;N;LATIN SMALL LETTER A E MACRON;ash *;01E2;;01E2 +01E4;LATIN CAPITAL LETTER G WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G BAR;;;01E5; +01E5;LATIN SMALL LETTER G WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER G BAR;;01E4;;01E4 +01E6;LATIN CAPITAL LETTER G WITH CARON;Lu;0;L;0047 030C;;;;N;LATIN CAPITAL LETTER G HACEK;;;01E7; +01E7;LATIN SMALL LETTER G WITH CARON;Ll;0;L;0067 030C;;;;N;LATIN SMALL LETTER G HACEK;;01E6;;01E6 +01E8;LATIN CAPITAL LETTER K WITH CARON;Lu;0;L;004B 030C;;;;N;LATIN CAPITAL LETTER K HACEK;;;01E9; +01E9;LATIN SMALL LETTER K WITH CARON;Ll;0;L;006B 030C;;;;N;LATIN SMALL LETTER K HACEK;;01E8;;01E8 +01EA;LATIN CAPITAL LETTER O WITH OGONEK;Lu;0;L;004F 0328;;;;N;LATIN CAPITAL LETTER O OGONEK;;;01EB; +01EB;LATIN SMALL LETTER O WITH OGONEK;Ll;0;L;006F 0328;;;;N;LATIN SMALL LETTER O OGONEK;;01EA;;01EA +01EC;LATIN CAPITAL LETTER O WITH OGONEK AND MACRON;Lu;0;L;01EA 0304;;;;N;LATIN CAPITAL LETTER O OGONEK MACRON;;;01ED; +01ED;LATIN SMALL LETTER O WITH OGONEK AND MACRON;Ll;0;L;01EB 0304;;;;N;LATIN SMALL LETTER O OGONEK MACRON;;01EC;;01EC +01EE;LATIN CAPITAL LETTER EZH WITH CARON;Lu;0;L;01B7 030C;;;;N;LATIN CAPITAL LETTER YOGH HACEK;;;01EF; +01EF;LATIN SMALL LETTER EZH WITH CARON;Ll;0;L;0292 030C;;;;N;LATIN SMALL LETTER YOGH HACEK;;01EE;;01EE +01F0;LATIN SMALL LETTER J WITH CARON;Ll;0;L;006A 030C;;;;N;LATIN SMALL LETTER J HACEK;;;; +01F1;LATIN CAPITAL LETTER DZ;Lu;0;L; 0044 005A;;;;N;;;;01F3;01F2 +01F2;LATIN CAPITAL LETTER D WITH SMALL LETTER Z;Lt;0;L; 0044 007A;;;;N;;;01F1;01F3;01F2 +01F3;LATIN SMALL LETTER DZ;Ll;0;L; 0064 007A;;;;N;;;01F1;;01F2 +01F4;LATIN CAPITAL LETTER G WITH ACUTE;Lu;0;L;0047 0301;;;;N;;;;01F5; +01F5;LATIN SMALL LETTER G WITH ACUTE;Ll;0;L;0067 0301;;;;N;;;01F4;;01F4 +01F6;LATIN CAPITAL LETTER HWAIR;Lu;0;L;;;;;N;;;;0195; +01F7;LATIN CAPITAL LETTER WYNN;Lu;0;L;;;;;N;;;;01BF; +01F8;LATIN CAPITAL LETTER N WITH GRAVE;Lu;0;L;004E 0300;;;;N;;;;01F9; +01F9;LATIN SMALL LETTER N WITH GRAVE;Ll;0;L;006E 0300;;;;N;;;01F8;;01F8 +01FA;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE;Lu;0;L;00C5 0301;;;;N;;;;01FB; +01FB;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE;Ll;0;L;00E5 0301;;;;N;;;01FA;;01FA +01FC;LATIN CAPITAL LETTER AE WITH ACUTE;Lu;0;L;00C6 0301;;;;N;;ash *;;01FD; +01FD;LATIN SMALL LETTER AE WITH ACUTE;Ll;0;L;00E6 0301;;;;N;;ash *;01FC;;01FC +01FE;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE;Lu;0;L;00D8 0301;;;;N;;;;01FF; +01FF;LATIN SMALL LETTER O WITH STROKE AND ACUTE;Ll;0;L;00F8 0301;;;;N;;;01FE;;01FE +0200;LATIN CAPITAL LETTER A WITH DOUBLE GRAVE;Lu;0;L;0041 030F;;;;N;;;;0201; +0201;LATIN SMALL LETTER A WITH DOUBLE GRAVE;Ll;0;L;0061 030F;;;;N;;;0200;;0200 +0202;LATIN CAPITAL LETTER A WITH INVERTED BREVE;Lu;0;L;0041 0311;;;;N;;;;0203; +0203;LATIN SMALL LETTER A WITH INVERTED BREVE;Ll;0;L;0061 0311;;;;N;;;0202;;0202 +0204;LATIN CAPITAL LETTER E WITH DOUBLE GRAVE;Lu;0;L;0045 030F;;;;N;;;;0205; +0205;LATIN SMALL LETTER E WITH DOUBLE GRAVE;Ll;0;L;0065 030F;;;;N;;;0204;;0204 +0206;LATIN CAPITAL LETTER E WITH INVERTED BREVE;Lu;0;L;0045 0311;;;;N;;;;0207; +0207;LATIN SMALL LETTER E WITH INVERTED BREVE;Ll;0;L;0065 0311;;;;N;;;0206;;0206 +0208;LATIN CAPITAL LETTER I WITH DOUBLE GRAVE;Lu;0;L;0049 030F;;;;N;;;;0209; +0209;LATIN SMALL LETTER I WITH DOUBLE GRAVE;Ll;0;L;0069 030F;;;;N;;;0208;;0208 +020A;LATIN CAPITAL LETTER I WITH INVERTED BREVE;Lu;0;L;0049 0311;;;;N;;;;020B; +020B;LATIN SMALL LETTER I WITH INVERTED BREVE;Ll;0;L;0069 0311;;;;N;;;020A;;020A +020C;LATIN CAPITAL LETTER O WITH DOUBLE GRAVE;Lu;0;L;004F 030F;;;;N;;;;020D; +020D;LATIN SMALL LETTER O WITH DOUBLE GRAVE;Ll;0;L;006F 030F;;;;N;;;020C;;020C +020E;LATIN CAPITAL LETTER O WITH INVERTED BREVE;Lu;0;L;004F 0311;;;;N;;;;020F; +020F;LATIN SMALL LETTER O WITH INVERTED BREVE;Ll;0;L;006F 0311;;;;N;;;020E;;020E +0210;LATIN CAPITAL LETTER R WITH DOUBLE GRAVE;Lu;0;L;0052 030F;;;;N;;;;0211; +0211;LATIN SMALL LETTER R WITH DOUBLE GRAVE;Ll;0;L;0072 030F;;;;N;;;0210;;0210 +0212;LATIN CAPITAL LETTER R WITH INVERTED BREVE;Lu;0;L;0052 0311;;;;N;;;;0213; +0213;LATIN SMALL LETTER R WITH INVERTED BREVE;Ll;0;L;0072 0311;;;;N;;;0212;;0212 +0214;LATIN CAPITAL LETTER U WITH DOUBLE GRAVE;Lu;0;L;0055 030F;;;;N;;;;0215; +0215;LATIN SMALL LETTER U WITH DOUBLE GRAVE;Ll;0;L;0075 030F;;;;N;;;0214;;0214 +0216;LATIN CAPITAL LETTER U WITH INVERTED BREVE;Lu;0;L;0055 0311;;;;N;;;;0217; +0217;LATIN SMALL LETTER U WITH INVERTED BREVE;Ll;0;L;0075 0311;;;;N;;;0216;;0216 +0218;LATIN CAPITAL LETTER S WITH COMMA BELOW;Lu;0;L;0053 0326;;;;N;;*;;0219; +0219;LATIN SMALL LETTER S WITH COMMA BELOW;Ll;0;L;0073 0326;;;;N;;*;0218;;0218 +021A;LATIN CAPITAL LETTER T WITH COMMA BELOW;Lu;0;L;0054 0326;;;;N;;*;;021B; +021B;LATIN SMALL LETTER T WITH COMMA BELOW;Ll;0;L;0074 0326;;;;N;;*;021A;;021A +021C;LATIN CAPITAL LETTER YOGH;Lu;0;L;;;;;N;;;;021D; +021D;LATIN SMALL LETTER YOGH;Ll;0;L;;;;;N;;;021C;;021C +021E;LATIN CAPITAL LETTER H WITH CARON;Lu;0;L;0048 030C;;;;N;;;;021F; +021F;LATIN SMALL LETTER H WITH CARON;Ll;0;L;0068 030C;;;;N;;;021E;;021E +0220;LATIN CAPITAL LETTER N WITH LONG RIGHT LEG;Lu;0;L;;;;;N;;;;019E; +0221;LATIN SMALL LETTER D WITH CURL;Ll;0;L;;;;;N;;;;; +0222;LATIN CAPITAL LETTER OU;Lu;0;L;;;;;N;;;;0223; +0223;LATIN SMALL LETTER OU;Ll;0;L;;;;;N;;;0222;;0222 +0224;LATIN CAPITAL LETTER Z WITH HOOK;Lu;0;L;;;;;N;;;;0225; +0225;LATIN SMALL LETTER Z WITH HOOK;Ll;0;L;;;;;N;;;0224;;0224 +0226;LATIN CAPITAL LETTER A WITH DOT ABOVE;Lu;0;L;0041 0307;;;;N;;;;0227; +0227;LATIN SMALL LETTER A WITH DOT ABOVE;Ll;0;L;0061 0307;;;;N;;;0226;;0226 +0228;LATIN CAPITAL LETTER E WITH CEDILLA;Lu;0;L;0045 0327;;;;N;;;;0229; +0229;LATIN SMALL LETTER E WITH CEDILLA;Ll;0;L;0065 0327;;;;N;;;0228;;0228 +022A;LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON;Lu;0;L;00D6 0304;;;;N;;;;022B; +022B;LATIN SMALL LETTER O WITH DIAERESIS AND MACRON;Ll;0;L;00F6 0304;;;;N;;;022A;;022A +022C;LATIN CAPITAL LETTER O WITH TILDE AND MACRON;Lu;0;L;00D5 0304;;;;N;;;;022D; +022D;LATIN SMALL LETTER O WITH TILDE AND MACRON;Ll;0;L;00F5 0304;;;;N;;;022C;;022C +022E;LATIN CAPITAL LETTER O WITH DOT ABOVE;Lu;0;L;004F 0307;;;;N;;;;022F; +022F;LATIN SMALL LETTER O WITH DOT ABOVE;Ll;0;L;006F 0307;;;;N;;;022E;;022E +0230;LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON;Lu;0;L;022E 0304;;;;N;;;;0231; +0231;LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON;Ll;0;L;022F 0304;;;;N;;;0230;;0230 +0232;LATIN CAPITAL LETTER Y WITH MACRON;Lu;0;L;0059 0304;;;;N;;;;0233; +0233;LATIN SMALL LETTER Y WITH MACRON;Ll;0;L;0079 0304;;;;N;;;0232;;0232 +0234;LATIN SMALL LETTER L WITH CURL;Ll;0;L;;;;;N;;;;; +0235;LATIN SMALL LETTER N WITH CURL;Ll;0;L;;;;;N;;;;; +0236;LATIN SMALL LETTER T WITH CURL;Ll;0;L;;;;;N;;;;; +0237;LATIN SMALL LETTER DOTLESS J;Ll;0;L;;;;;N;;;;; +0238;LATIN SMALL LETTER DB DIGRAPH;Ll;0;L;;;;;N;;;;; +0239;LATIN SMALL LETTER QP DIGRAPH;Ll;0;L;;;;;N;;;;; +023A;LATIN CAPITAL LETTER A WITH STROKE;Lu;0;L;;;;;N;;;;2C65; +023B;LATIN CAPITAL LETTER C WITH STROKE;Lu;0;L;;;;;N;;;;023C; +023C;LATIN SMALL LETTER C WITH STROKE;Ll;0;L;;;;;N;;;023B;;023B +023D;LATIN CAPITAL LETTER L WITH BAR;Lu;0;L;;;;;N;;;;019A; +023E;LATIN CAPITAL LETTER T WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;2C66; +023F;LATIN SMALL LETTER S WITH SWASH TAIL;Ll;0;L;;;;;N;;;;; +0240;LATIN SMALL LETTER Z WITH SWASH TAIL;Ll;0;L;;;;;N;;;;; +0241;LATIN CAPITAL LETTER GLOTTAL STOP;Lu;0;L;;;;;N;;;;0242; +0242;LATIN SMALL LETTER GLOTTAL STOP;Ll;0;L;;;;;N;;;0241;;0241 +0243;LATIN CAPITAL LETTER B WITH STROKE;Lu;0;L;;;;;N;;;;0180; +0244;LATIN CAPITAL LETTER U BAR;Lu;0;L;;;;;N;;;;0289; +0245;LATIN CAPITAL LETTER TURNED V;Lu;0;L;;;;;N;;;;028C; +0246;LATIN CAPITAL LETTER E WITH STROKE;Lu;0;L;;;;;N;;;;0247; +0247;LATIN SMALL LETTER E WITH STROKE;Ll;0;L;;;;;N;;;0246;;0246 +0248;LATIN CAPITAL LETTER J WITH STROKE;Lu;0;L;;;;;N;;;;0249; +0249;LATIN SMALL LETTER J WITH STROKE;Ll;0;L;;;;;N;;;0248;;0248 +024A;LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL;Lu;0;L;;;;;N;;;;024B; +024B;LATIN SMALL LETTER Q WITH HOOK TAIL;Ll;0;L;;;;;N;;;024A;;024A +024C;LATIN CAPITAL LETTER R WITH STROKE;Lu;0;L;;;;;N;;;;024D; +024D;LATIN SMALL LETTER R WITH STROKE;Ll;0;L;;;;;N;;;024C;;024C +024E;LATIN CAPITAL LETTER Y WITH STROKE;Lu;0;L;;;;;N;;;;024F; +024F;LATIN SMALL LETTER Y WITH STROKE;Ll;0;L;;;;;N;;;024E;;024E +0250;LATIN SMALL LETTER TURNED A;Ll;0;L;;;;;N;;;2C6F;;2C6F +0251;LATIN SMALL LETTER ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT A;;2C6D;;2C6D +0252;LATIN SMALL LETTER TURNED ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED SCRIPT A;;;; +0253;LATIN SMALL LETTER B WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER B HOOK;;0181;;0181 +0254;LATIN SMALL LETTER OPEN O;Ll;0;L;;;;;N;;;0186;;0186 +0255;LATIN SMALL LETTER C WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER C CURL;;;; +0256;LATIN SMALL LETTER D WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER D RETROFLEX HOOK;;0189;;0189 +0257;LATIN SMALL LETTER D WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER D HOOK;;018A;;018A +0258;LATIN SMALL LETTER REVERSED E;Ll;0;L;;;;;N;;;;; +0259;LATIN SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;018F;;018F +025A;LATIN SMALL LETTER SCHWA WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCHWA HOOK;;;; +025B;LATIN SMALL LETTER OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER EPSILON;;0190;;0190 +025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;;; +025D;LATIN SMALL LETTER REVERSED OPEN E WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON HOOK;;;; +025E;LATIN SMALL LETTER CLOSED REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED REVERSED EPSILON;;;; +025F;LATIN SMALL LETTER DOTLESS J WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR;;;; +0260;LATIN SMALL LETTER G WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER G HOOK;;0193;;0193 +0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;;; +0262;LATIN LETTER SMALL CAPITAL G;Ll;0;L;;;;;N;;;;; +0263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194 +0264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;; +0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;;; +0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;;; +0267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;; +0268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197 +0269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196 +026A;LATIN LETTER SMALL CAPITAL I;Ll;0;L;;;;;N;;;;; +026B;LATIN SMALL LETTER L WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;2C62;;2C62 +026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;;; +026D;LATIN SMALL LETTER L WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER L RETROFLEX HOOK;;;; +026E;LATIN SMALL LETTER LEZH;Ll;0;L;;;;;N;LATIN SMALL LETTER L YOGH;;;; +026F;LATIN SMALL LETTER TURNED M;Ll;0;L;;;;;N;;;019C;;019C +0270;LATIN SMALL LETTER TURNED M WITH LONG LEG;Ll;0;L;;;;;N;;;;; +0271;LATIN SMALL LETTER M WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER M HOOK;;2C6E;;2C6E +0272;LATIN SMALL LETTER N WITH LEFT HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N HOOK;;019D;;019D +0273;LATIN SMALL LETTER N WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N RETROFLEX HOOK;;;; +0274;LATIN LETTER SMALL CAPITAL N;Ll;0;L;;;;;N;;;;; +0275;LATIN SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;019F;;019F +0276;LATIN LETTER SMALL CAPITAL OE;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL O E;;;; +0277;LATIN SMALL LETTER CLOSED OMEGA;Ll;0;L;;;;;N;;;;; +0278;LATIN SMALL LETTER PHI;Ll;0;L;;;;;N;;;;; +0279;LATIN SMALL LETTER TURNED R;Ll;0;L;;;;;N;;;;; +027A;LATIN SMALL LETTER TURNED R WITH LONG LEG;Ll;0;L;;;;;N;;;;; +027B;LATIN SMALL LETTER TURNED R WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED R HOOK;;;; +027C;LATIN SMALL LETTER R WITH LONG LEG;Ll;0;L;;;;;N;;;;; +027D;LATIN SMALL LETTER R WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER R HOOK;;2C64;;2C64 +027E;LATIN SMALL LETTER R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER FISHHOOK R;;;; +027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED FISHHOOK R;;;; +0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;*;01A6;;01A6 +0281;LATIN LETTER SMALL CAPITAL INVERTED R;Ll;0;L;;;;;N;;;;; +0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;;; +0283;LATIN SMALL LETTER ESH;Ll;0;L;;;;;N;;;01A9;;01A9 +0284;LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR HOOK;;;; +0285;LATIN SMALL LETTER SQUAT REVERSED ESH;Ll;0;L;;;;;N;;;;; +0286;LATIN SMALL LETTER ESH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER ESH CURL;;;; +0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;;; +0288;LATIN SMALL LETTER T WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T RETROFLEX HOOK;;01AE;;01AE +0289;LATIN SMALL LETTER U BAR;Ll;0;L;;;;;N;;;0244;;0244 +028A;LATIN SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;01B1;;01B1 +028B;LATIN SMALL LETTER V WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT V;;01B2;;01B2 +028C;LATIN SMALL LETTER TURNED V;Ll;0;L;;;;;N;;;0245;;0245 +028D;LATIN SMALL LETTER TURNED W;Ll;0;L;;;;;N;;;;; +028E;LATIN SMALL LETTER TURNED Y;Ll;0;L;;;;;N;;;;; +028F;LATIN LETTER SMALL CAPITAL Y;Ll;0;L;;;;;N;;;;; +0290;LATIN SMALL LETTER Z WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Z RETROFLEX HOOK;;;; +0291;LATIN SMALL LETTER Z WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER Z CURL;;;; +0292;LATIN SMALL LETTER EZH;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH;;01B7;;01B7 +0293;LATIN SMALL LETTER EZH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH CURL;;;; +0294;LATIN LETTER GLOTTAL STOP;Lo;0;L;;;;;N;;;;; +0295;LATIN LETTER PHARYNGEAL VOICED FRICATIVE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP;;;; +0296;LATIN LETTER INVERTED GLOTTAL STOP;Ll;0;L;;;;;N;;;;; +0297;LATIN LETTER STRETCHED C;Ll;0;L;;;;;N;;;;; +0298;LATIN LETTER BILABIAL CLICK;Ll;0;L;;;;;N;LATIN LETTER BULLSEYE;;;; +0299;LATIN LETTER SMALL CAPITAL B;Ll;0;L;;;;;N;;;;; +029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;; +029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;; +029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;; +029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;; +029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;;; +029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;; +02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;; +02A1;LATIN LETTER GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER GLOTTAL STOP BAR;;;; +02A2;LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP BAR;;;; +02A3;LATIN SMALL LETTER DZ DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z;;;; +02A4;LATIN SMALL LETTER DEZH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D YOGH;;;; +02A5;LATIN SMALL LETTER DZ DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z CURL;;;; +02A6;LATIN SMALL LETTER TS DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T S;;;; +02A7;LATIN SMALL LETTER TESH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T ESH;;;; +02A8;LATIN SMALL LETTER TC DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER T C CURL;;;; +02A9;LATIN SMALL LETTER FENG DIGRAPH;Ll;0;L;;;;;N;;;;; +02AA;LATIN SMALL LETTER LS DIGRAPH;Ll;0;L;;;;;N;;;;; +02AB;LATIN SMALL LETTER LZ DIGRAPH;Ll;0;L;;;;;N;;;;; +02AC;LATIN LETTER BILABIAL PERCUSSIVE;Ll;0;L;;;;;N;;;;; +02AD;LATIN LETTER BIDENTAL PERCUSSIVE;Ll;0;L;;;;;N;;;;; +02AE;LATIN SMALL LETTER TURNED H WITH FISHHOOK;Ll;0;L;;;;;N;;;;; +02AF;LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL;Ll;0;L;;;;;N;;;;; +02B0;MODIFIER LETTER SMALL H;Lm;0;L; 0068;;;;N;;;;; +02B1;MODIFIER LETTER SMALL H WITH HOOK;Lm;0;L; 0266;;;;N;MODIFIER LETTER SMALL H HOOK;;;; +02B2;MODIFIER LETTER SMALL J;Lm;0;L; 006A;;;;N;;;;; +02B3;MODIFIER LETTER SMALL R;Lm;0;L; 0072;;;;N;;;;; +02B4;MODIFIER LETTER SMALL TURNED R;Lm;0;L; 0279;;;;N;;;;; +02B5;MODIFIER LETTER SMALL TURNED R WITH HOOK;Lm;0;L; 027B;;;;N;MODIFIER LETTER SMALL TURNED R HOOK;;;; +02B6;MODIFIER LETTER SMALL CAPITAL INVERTED R;Lm;0;L; 0281;;;;N;;;;; +02B7;MODIFIER LETTER SMALL W;Lm;0;L; 0077;;;;N;;;;; +02B8;MODIFIER LETTER SMALL Y;Lm;0;L; 0079;;;;N;;;;; +02B9;MODIFIER LETTER PRIME;Lm;0;ON;;;;;N;;;;; +02BA;MODIFIER LETTER DOUBLE PRIME;Lm;0;ON;;;;;N;;;;; +02BB;MODIFIER LETTER TURNED COMMA;Lm;0;L;;;;;N;;;;; +02BC;MODIFIER LETTER APOSTROPHE;Lm;0;L;;;;;N;;;;; +02BD;MODIFIER LETTER REVERSED COMMA;Lm;0;L;;;;;N;;;;; +02BE;MODIFIER LETTER RIGHT HALF RING;Lm;0;L;;;;;N;;;;; +02BF;MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;; +02C0;MODIFIER LETTER GLOTTAL STOP;Lm;0;L;;;;;N;;;;; +02C1;MODIFIER LETTER REVERSED GLOTTAL STOP;Lm;0;L;;;;;N;;;;; +02C2;MODIFIER LETTER LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02C3;MODIFIER LETTER RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02C4;MODIFIER LETTER UP ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02C5;MODIFIER LETTER DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02C6;MODIFIER LETTER CIRCUMFLEX ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER CIRCUMFLEX;;;; +02C7;CARON;Lm;0;ON;;;;;N;MODIFIER LETTER HACEK;Mandarin Chinese third tone;;; +02C8;MODIFIER LETTER VERTICAL LINE;Lm;0;ON;;;;;N;;;;; +02C9;MODIFIER LETTER MACRON;Lm;0;ON;;;;;N;;Mandarin Chinese first tone;;; +02CA;MODIFIER LETTER ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER ACUTE;Mandarin Chinese second tone;;; +02CB;MODIFIER LETTER GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER GRAVE;Mandarin Chinese fourth tone;;; +02CC;MODIFIER LETTER LOW VERTICAL LINE;Lm;0;ON;;;;;N;;;;; +02CD;MODIFIER LETTER LOW MACRON;Lm;0;ON;;;;;N;;;;; +02CE;MODIFIER LETTER LOW GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER LOW GRAVE;;;; +02CF;MODIFIER LETTER LOW ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER LOW ACUTE;;;; +02D0;MODIFIER LETTER TRIANGULAR COLON;Lm;0;L;;;;;N;;;;; +02D1;MODIFIER LETTER HALF TRIANGULAR COLON;Lm;0;L;;;;;N;;;;; +02D2;MODIFIER LETTER CENTRED RIGHT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED RIGHT HALF RING;;;; +02D3;MODIFIER LETTER CENTRED LEFT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED LEFT HALF RING;;;; +02D4;MODIFIER LETTER UP TACK;Sk;0;ON;;;;;N;;;;; +02D5;MODIFIER LETTER DOWN TACK;Sk;0;ON;;;;;N;;;;; +02D6;MODIFIER LETTER PLUS SIGN;Sk;0;ON;;;;;N;;;;; +02D7;MODIFIER LETTER MINUS SIGN;Sk;0;ON;;;;;N;;;;; +02D8;BREVE;Sk;0;ON; 0020 0306;;;;N;SPACING BREVE;;;; +02D9;DOT ABOVE;Sk;0;ON; 0020 0307;;;;N;SPACING DOT ABOVE;Mandarin Chinese light tone;;; +02DA;RING ABOVE;Sk;0;ON; 0020 030A;;;;N;SPACING RING ABOVE;;;; +02DB;OGONEK;Sk;0;ON; 0020 0328;;;;N;SPACING OGONEK;;;; +02DC;SMALL TILDE;Sk;0;ON; 0020 0303;;;;N;SPACING TILDE;;;; +02DD;DOUBLE ACUTE ACCENT;Sk;0;ON; 0020 030B;;;;N;SPACING DOUBLE ACUTE;;;; +02DE;MODIFIER LETTER RHOTIC HOOK;Sk;0;ON;;;;;N;;;;; +02DF;MODIFIER LETTER CROSS ACCENT;Sk;0;ON;;;;;N;;;;; +02E0;MODIFIER LETTER SMALL GAMMA;Lm;0;L; 0263;;;;N;;;;; +02E1;MODIFIER LETTER SMALL L;Lm;0;L; 006C;;;;N;;;;; +02E2;MODIFIER LETTER SMALL S;Lm;0;L; 0073;;;;N;;;;; +02E3;MODIFIER LETTER SMALL X;Lm;0;L; 0078;;;;N;;;;; +02E4;MODIFIER LETTER SMALL REVERSED GLOTTAL STOP;Lm;0;L; 0295;;;;N;;;;; +02E5;MODIFIER LETTER EXTRA-HIGH TONE BAR;Sk;0;ON;;;;;N;;;;; +02E6;MODIFIER LETTER HIGH TONE BAR;Sk;0;ON;;;;;N;;;;; +02E7;MODIFIER LETTER MID TONE BAR;Sk;0;ON;;;;;N;;;;; +02E8;MODIFIER LETTER LOW TONE BAR;Sk;0;ON;;;;;N;;;;; +02E9;MODIFIER LETTER EXTRA-LOW TONE BAR;Sk;0;ON;;;;;N;;;;; +02EA;MODIFIER LETTER YIN DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;; +02EB;MODIFIER LETTER YANG DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;; +02EC;MODIFIER LETTER VOICING;Lm;0;ON;;;;;N;;;;; +02ED;MODIFIER LETTER UNASPIRATED;Sk;0;ON;;;;;N;;;;; +02EE;MODIFIER LETTER DOUBLE APOSTROPHE;Lm;0;L;;;;;N;;;;; +02EF;MODIFIER LETTER LOW DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02F0;MODIFIER LETTER LOW UP ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02F1;MODIFIER LETTER LOW LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02F2;MODIFIER LETTER LOW RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02F3;MODIFIER LETTER LOW RING;Sk;0;ON;;;;;N;;;;; +02F4;MODIFIER LETTER MIDDLE GRAVE ACCENT;Sk;0;ON;;;;;N;;;;; +02F5;MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT;Sk;0;ON;;;;;N;;;;; +02F6;MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT;Sk;0;ON;;;;;N;;;;; +02F7;MODIFIER LETTER LOW TILDE;Sk;0;ON;;;;;N;;;;; +02F8;MODIFIER LETTER RAISED COLON;Sk;0;ON;;;;;N;;;;; +02F9;MODIFIER LETTER BEGIN HIGH TONE;Sk;0;ON;;;;;N;;;;; +02FA;MODIFIER LETTER END HIGH TONE;Sk;0;ON;;;;;N;;;;; +02FB;MODIFIER LETTER BEGIN LOW TONE;Sk;0;ON;;;;;N;;;;; +02FC;MODIFIER LETTER END LOW TONE;Sk;0;ON;;;;;N;;;;; +02FD;MODIFIER LETTER SHELF;Sk;0;ON;;;;;N;;;;; +02FE;MODIFIER LETTER OPEN SHELF;Sk;0;ON;;;;;N;;;;; +02FF;MODIFIER LETTER LOW LEFT ARROW;Sk;0;ON;;;;;N;;;;; +0300;COMBINING GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING GRAVE;Varia;;; +0301;COMBINING ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING ACUTE;Oxia, Tonos;;; +0302;COMBINING CIRCUMFLEX ACCENT;Mn;230;NSM;;;;;N;NON-SPACING CIRCUMFLEX;;;; +0303;COMBINING TILDE;Mn;230;NSM;;;;;N;NON-SPACING TILDE;;;; +0304;COMBINING MACRON;Mn;230;NSM;;;;;N;NON-SPACING MACRON;;;; +0305;COMBINING OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING OVERSCORE;;;; +0306;COMBINING BREVE;Mn;230;NSM;;;;;N;NON-SPACING BREVE;Vrachy;;; +0307;COMBINING DOT ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOT ABOVE;;;; +0308;COMBINING DIAERESIS;Mn;230;NSM;;;;;N;NON-SPACING DIAERESIS;Dialytika;;; +0309;COMBINING HOOK ABOVE;Mn;230;NSM;;;;;N;NON-SPACING HOOK ABOVE;;;; +030A;COMBINING RING ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RING ABOVE;;;; +030B;COMBINING DOUBLE ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE ACUTE;;;; +030C;COMBINING CARON;Mn;230;NSM;;;;;N;NON-SPACING HACEK;;;; +030D;COMBINING VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL LINE ABOVE;;;; +030E;COMBINING DOUBLE VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE VERTICAL LINE ABOVE;;;; +030F;COMBINING DOUBLE GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE GRAVE;;;; +0310;COMBINING CANDRABINDU;Mn;230;NSM;;;;;N;NON-SPACING CANDRABINDU;;;; +0311;COMBINING INVERTED BREVE;Mn;230;NSM;;;;;N;NON-SPACING INVERTED BREVE;;;; +0312;COMBINING TURNED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING TURNED COMMA ABOVE;;;; +0313;COMBINING COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING COMMA ABOVE;Psili;;; +0314;COMBINING REVERSED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING REVERSED COMMA ABOVE;Dasia;;; +0315;COMBINING COMMA ABOVE RIGHT;Mn;232;NSM;;;;;N;NON-SPACING COMMA ABOVE RIGHT;;;; +0316;COMBINING GRAVE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING GRAVE BELOW;;;; +0317;COMBINING ACUTE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING ACUTE BELOW;;;; +0318;COMBINING LEFT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT TACK BELOW;;;; +0319;COMBINING RIGHT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT TACK BELOW;;;; +031A;COMBINING LEFT ANGLE ABOVE;Mn;232;NSM;;;;;N;NON-SPACING LEFT ANGLE ABOVE;;;; +031B;COMBINING HORN;Mn;216;NSM;;;;;N;NON-SPACING HORN;;;; +031C;COMBINING LEFT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT HALF RING BELOW;;;; +031D;COMBINING UP TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING UP TACK BELOW;;;; +031E;COMBINING DOWN TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOWN TACK BELOW;;;; +031F;COMBINING PLUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING PLUS SIGN BELOW;;;; +0320;COMBINING MINUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING MINUS SIGN BELOW;;;; +0321;COMBINING PALATALIZED HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING PALATALIZED HOOK BELOW;;;; +0322;COMBINING RETROFLEX HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING RETROFLEX HOOK BELOW;;;; +0323;COMBINING DOT BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOT BELOW;;;; +0324;COMBINING DIAERESIS BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE DOT BELOW;;;; +0325;COMBINING RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RING BELOW;;;; +0326;COMBINING COMMA BELOW;Mn;220;NSM;;;;;N;NON-SPACING COMMA BELOW;;;; +0327;COMBINING CEDILLA;Mn;202;NSM;;;;;N;NON-SPACING CEDILLA;;;; +0328;COMBINING OGONEK;Mn;202;NSM;;;;;N;NON-SPACING OGONEK;;;; +0329;COMBINING VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;NON-SPACING VERTICAL LINE BELOW;;;; +032A;COMBINING BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BRIDGE BELOW;;;; +032B;COMBINING INVERTED DOUBLE ARCH BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED DOUBLE ARCH BELOW;;;; +032C;COMBINING CARON BELOW;Mn;220;NSM;;;;;N;NON-SPACING HACEK BELOW;;;; +032D;COMBINING CIRCUMFLEX ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING CIRCUMFLEX BELOW;;;; +032E;COMBINING BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BREVE BELOW;;;; +032F;COMBINING INVERTED BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BREVE BELOW;;;; +0330;COMBINING TILDE BELOW;Mn;220;NSM;;;;;N;NON-SPACING TILDE BELOW;;;; +0331;COMBINING MACRON BELOW;Mn;220;NSM;;;;;N;NON-SPACING MACRON BELOW;;;; +0332;COMBINING LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING UNDERSCORE;;;; +0333;COMBINING DOUBLE LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE UNDERSCORE;;;; +0334;COMBINING TILDE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING TILDE OVERLAY;;;; +0335;COMBINING SHORT STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT BAR OVERLAY;;;; +0336;COMBINING LONG STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG BAR OVERLAY;;;; +0337;COMBINING SHORT SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT SLASH OVERLAY;;;; +0338;COMBINING LONG SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG SLASH OVERLAY;;;; +0339;COMBINING RIGHT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT HALF RING BELOW;;;; +033A;COMBINING INVERTED BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BRIDGE BELOW;;;; +033B;COMBINING SQUARE BELOW;Mn;220;NSM;;;;;N;NON-SPACING SQUARE BELOW;;;; +033C;COMBINING SEAGULL BELOW;Mn;220;NSM;;;;;N;NON-SPACING SEAGULL BELOW;;;; +033D;COMBINING X ABOVE;Mn;230;NSM;;;;;N;NON-SPACING X ABOVE;;;; +033E;COMBINING VERTICAL TILDE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL TILDE;;;; +033F;COMBINING DOUBLE OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE OVERSCORE;;;; +0340;COMBINING GRAVE TONE MARK;Mn;230;NSM;0300;;;;N;NON-SPACING GRAVE TONE MARK;Vietnamese;;; +0341;COMBINING ACUTE TONE MARK;Mn;230;NSM;0301;;;;N;NON-SPACING ACUTE TONE MARK;Vietnamese;;; +0342;COMBINING GREEK PERISPOMENI;Mn;230;NSM;;;;;N;;;;; +0343;COMBINING GREEK KORONIS;Mn;230;NSM;0313;;;;N;;;;; +0344;COMBINING GREEK DIALYTIKA TONOS;Mn;230;NSM;0308 0301;;;;N;GREEK NON-SPACING DIAERESIS TONOS;;;; +0345;COMBINING GREEK YPOGEGRAMMENI;Mn;240;NSM;;;;;N;GREEK NON-SPACING IOTA BELOW;;0399;;0399 +0346;COMBINING BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;; +0347;COMBINING EQUALS SIGN BELOW;Mn;220;NSM;;;;;N;;;;; +0348;COMBINING DOUBLE VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;;;;; +0349;COMBINING LEFT ANGLE BELOW;Mn;220;NSM;;;;;N;;;;; +034A;COMBINING NOT TILDE ABOVE;Mn;230;NSM;;;;;N;;;;; +034B;COMBINING HOMOTHETIC ABOVE;Mn;230;NSM;;;;;N;;;;; +034C;COMBINING ALMOST EQUAL TO ABOVE;Mn;230;NSM;;;;;N;;;;; +034D;COMBINING LEFT RIGHT ARROW BELOW;Mn;220;NSM;;;;;N;;;;; +034E;COMBINING UPWARDS ARROW BELOW;Mn;220;NSM;;;;;N;;;;; +034F;COMBINING GRAPHEME JOINER;Mn;0;NSM;;;;;N;;;;; +0350;COMBINING RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;; +0351;COMBINING LEFT HALF RING ABOVE;Mn;230;NSM;;;;;N;;;;; +0352;COMBINING FERMATA;Mn;230;NSM;;;;;N;;;;; +0353;COMBINING X BELOW;Mn;220;NSM;;;;;N;;;;; +0354;COMBINING LEFT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; +0355;COMBINING RIGHT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; +0356;COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; +0357;COMBINING RIGHT HALF RING ABOVE;Mn;230;NSM;;;;;N;;;;; +0358;COMBINING DOT ABOVE RIGHT;Mn;232;NSM;;;;;N;;;;; +0359;COMBINING ASTERISK BELOW;Mn;220;NSM;;;;;N;;;;; +035A;COMBINING DOUBLE RING BELOW;Mn;220;NSM;;;;;N;;;;; +035B;COMBINING ZIGZAG ABOVE;Mn;230;NSM;;;;;N;;;;; +035C;COMBINING DOUBLE BREVE BELOW;Mn;233;NSM;;;;;N;;;;; +035D;COMBINING DOUBLE BREVE;Mn;234;NSM;;;;;N;;;;; +035E;COMBINING DOUBLE MACRON;Mn;234;NSM;;;;;N;;;;; +035F;COMBINING DOUBLE MACRON BELOW;Mn;233;NSM;;;;;N;;;;; +0360;COMBINING DOUBLE TILDE;Mn;234;NSM;;;;;N;;;;; +0361;COMBINING DOUBLE INVERTED BREVE;Mn;234;NSM;;;;;N;;;;; +0362;COMBINING DOUBLE RIGHTWARDS ARROW BELOW;Mn;233;NSM;;;;;N;;;;; +0363;COMBINING LATIN SMALL LETTER A;Mn;230;NSM;;;;;N;;;;; +0364;COMBINING LATIN SMALL LETTER E;Mn;230;NSM;;;;;N;;;;; +0365;COMBINING LATIN SMALL LETTER I;Mn;230;NSM;;;;;N;;;;; +0366;COMBINING LATIN SMALL LETTER O;Mn;230;NSM;;;;;N;;;;; +0367;COMBINING LATIN SMALL LETTER U;Mn;230;NSM;;;;;N;;;;; +0368;COMBINING LATIN SMALL LETTER C;Mn;230;NSM;;;;;N;;;;; +0369;COMBINING LATIN SMALL LETTER D;Mn;230;NSM;;;;;N;;;;; +036A;COMBINING LATIN SMALL LETTER H;Mn;230;NSM;;;;;N;;;;; +036B;COMBINING LATIN SMALL LETTER M;Mn;230;NSM;;;;;N;;;;; +036C;COMBINING LATIN SMALL LETTER R;Mn;230;NSM;;;;;N;;;;; +036D;COMBINING LATIN SMALL LETTER T;Mn;230;NSM;;;;;N;;;;; +036E;COMBINING LATIN SMALL LETTER V;Mn;230;NSM;;;;;N;;;;; +036F;COMBINING LATIN SMALL LETTER X;Mn;230;NSM;;;;;N;;;;; +0370;GREEK CAPITAL LETTER HETA;Lu;0;L;;;;;N;;;;0371; +0371;GREEK SMALL LETTER HETA;Ll;0;L;;;;;N;;;0370;;0370 +0372;GREEK CAPITAL LETTER ARCHAIC SAMPI;Lu;0;L;;;;;N;;;;0373; +0373;GREEK SMALL LETTER ARCHAIC SAMPI;Ll;0;L;;;;;N;;;0372;;0372 +0374;GREEK NUMERAL SIGN;Lm;0;ON;02B9;;;;N;GREEK UPPER NUMERAL SIGN;Dexia keraia;;; +0375;GREEK LOWER NUMERAL SIGN;Sk;0;ON;;;;;N;;Aristeri keraia;;; +0376;GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA;Lu;0;L;;;;;N;;;;0377; +0377;GREEK SMALL LETTER PAMPHYLIAN DIGAMMA;Ll;0;L;;;;;N;;;0376;;0376 +037A;GREEK YPOGEGRAMMENI;Lm;0;L; 0020 0345;;;;N;GREEK SPACING IOTA BELOW;;;; +037B;GREEK SMALL REVERSED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FD;;03FD +037C;GREEK SMALL DOTTED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FE;;03FE +037D;GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FF;;03FF +037E;GREEK QUESTION MARK;Po;0;ON;003B;;;;N;;Erotimatiko;;; +0384;GREEK TONOS;Sk;0;ON; 0020 0301;;;;N;GREEK SPACING TONOS;;;; +0385;GREEK DIALYTIKA TONOS;Sk;0;ON;00A8 0301;;;;N;GREEK SPACING DIAERESIS TONOS;;;; +0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 0301;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC; +0387;GREEK ANO TELEIA;Po;0;ON;00B7;;;;N;;;;; +0388;GREEK CAPITAL LETTER EPSILON WITH TONOS;Lu;0;L;0395 0301;;;;N;GREEK CAPITAL LETTER EPSILON TONOS;;;03AD; +0389;GREEK CAPITAL LETTER ETA WITH TONOS;Lu;0;L;0397 0301;;;;N;GREEK CAPITAL LETTER ETA TONOS;;;03AE; +038A;GREEK CAPITAL LETTER IOTA WITH TONOS;Lu;0;L;0399 0301;;;;N;GREEK CAPITAL LETTER IOTA TONOS;;;03AF; +038C;GREEK CAPITAL LETTER OMICRON WITH TONOS;Lu;0;L;039F 0301;;;;N;GREEK CAPITAL LETTER OMICRON TONOS;;;03CC; +038E;GREEK CAPITAL LETTER UPSILON WITH TONOS;Lu;0;L;03A5 0301;;;;N;GREEK CAPITAL LETTER UPSILON TONOS;;;03CD; +038F;GREEK CAPITAL LETTER OMEGA WITH TONOS;Lu;0;L;03A9 0301;;;;N;GREEK CAPITAL LETTER OMEGA TONOS;;;03CE; +0390;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS;Ll;0;L;03CA 0301;;;;N;GREEK SMALL LETTER IOTA DIAERESIS TONOS;;;; +0391;GREEK CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;03B1; +0392;GREEK CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;03B2; +0393;GREEK CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;03B3; +0394;GREEK CAPITAL LETTER DELTA;Lu;0;L;;;;;N;;;;03B4; +0395;GREEK CAPITAL LETTER EPSILON;Lu;0;L;;;;;N;;;;03B5; +0396;GREEK CAPITAL LETTER ZETA;Lu;0;L;;;;;N;;;;03B6; +0397;GREEK CAPITAL LETTER ETA;Lu;0;L;;;;;N;;;;03B7; +0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8; +0399;GREEK CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;03B9; +039A;GREEK CAPITAL LETTER KAPPA;Lu;0;L;;;;;N;;;;03BA; +039B;GREEK CAPITAL LETTER LAMDA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER LAMBDA;;;03BB; +039C;GREEK CAPITAL LETTER MU;Lu;0;L;;;;;N;;;;03BC; +039D;GREEK CAPITAL LETTER NU;Lu;0;L;;;;;N;;;;03BD; +039E;GREEK CAPITAL LETTER XI;Lu;0;L;;;;;N;;;;03BE; +039F;GREEK CAPITAL LETTER OMICRON;Lu;0;L;;;;;N;;;;03BF; +03A0;GREEK CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;03C0; +03A1;GREEK CAPITAL LETTER RHO;Lu;0;L;;;;;N;;;;03C1; +03A3;GREEK CAPITAL LETTER SIGMA;Lu;0;L;;;;;N;;;;03C3; +03A4;GREEK CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;03C4; +03A5;GREEK CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;03C5; +03A6;GREEK CAPITAL LETTER PHI;Lu;0;L;;;;;N;;;;03C6; +03A7;GREEK CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;03C7; +03A8;GREEK CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;03C8; +03A9;GREEK CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;03C9; +03AA;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA;Lu;0;L;0399 0308;;;;N;GREEK CAPITAL LETTER IOTA DIAERESIS;;;03CA; +03AB;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA;Lu;0;L;03A5 0308;;;;N;GREEK CAPITAL LETTER UPSILON DIAERESIS;;;03CB; +03AC;GREEK SMALL LETTER ALPHA WITH TONOS;Ll;0;L;03B1 0301;;;;N;GREEK SMALL LETTER ALPHA TONOS;;0386;;0386 +03AD;GREEK SMALL LETTER EPSILON WITH TONOS;Ll;0;L;03B5 0301;;;;N;GREEK SMALL LETTER EPSILON TONOS;;0388;;0388 +03AE;GREEK SMALL LETTER ETA WITH TONOS;Ll;0;L;03B7 0301;;;;N;GREEK SMALL LETTER ETA TONOS;;0389;;0389 +03AF;GREEK SMALL LETTER IOTA WITH TONOS;Ll;0;L;03B9 0301;;;;N;GREEK SMALL LETTER IOTA TONOS;;038A;;038A +03B0;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS;Ll;0;L;03CB 0301;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS TONOS;;;; +03B1;GREEK SMALL LETTER ALPHA;Ll;0;L;;;;;N;;;0391;;0391 +03B2;GREEK SMALL LETTER BETA;Ll;0;L;;;;;N;;;0392;;0392 +03B3;GREEK SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0393;;0393 +03B4;GREEK SMALL LETTER DELTA;Ll;0;L;;;;;N;;;0394;;0394 +03B5;GREEK SMALL LETTER EPSILON;Ll;0;L;;;;;N;;;0395;;0395 +03B6;GREEK SMALL LETTER ZETA;Ll;0;L;;;;;N;;;0396;;0396 +03B7;GREEK SMALL LETTER ETA;Ll;0;L;;;;;N;;;0397;;0397 +03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398 +03B9;GREEK SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0399;;0399 +03BA;GREEK SMALL LETTER KAPPA;Ll;0;L;;;;;N;;;039A;;039A +03BB;GREEK SMALL LETTER LAMDA;Ll;0;L;;;;;N;GREEK SMALL LETTER LAMBDA;;039B;;039B +03BC;GREEK SMALL LETTER MU;Ll;0;L;;;;;N;;;039C;;039C +03BD;GREEK SMALL LETTER NU;Ll;0;L;;;;;N;;;039D;;039D +03BE;GREEK SMALL LETTER XI;Ll;0;L;;;;;N;;;039E;;039E +03BF;GREEK SMALL LETTER OMICRON;Ll;0;L;;;;;N;;;039F;;039F +03C0;GREEK SMALL LETTER PI;Ll;0;L;;;;;N;;;03A0;;03A0 +03C1;GREEK SMALL LETTER RHO;Ll;0;L;;;;;N;;;03A1;;03A1 +03C2;GREEK SMALL LETTER FINAL SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3 +03C3;GREEK SMALL LETTER SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3 +03C4;GREEK SMALL LETTER TAU;Ll;0;L;;;;;N;;;03A4;;03A4 +03C5;GREEK SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;03A5;;03A5 +03C6;GREEK SMALL LETTER PHI;Ll;0;L;;;;;N;;;03A6;;03A6 +03C7;GREEK SMALL LETTER CHI;Ll;0;L;;;;;N;;;03A7;;03A7 +03C8;GREEK SMALL LETTER PSI;Ll;0;L;;;;;N;;;03A8;;03A8 +03C9;GREEK SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;03A9;;03A9 +03CA;GREEK SMALL LETTER IOTA WITH DIALYTIKA;Ll;0;L;03B9 0308;;;;N;GREEK SMALL LETTER IOTA DIAERESIS;;03AA;;03AA +03CB;GREEK SMALL LETTER UPSILON WITH DIALYTIKA;Ll;0;L;03C5 0308;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS;;03AB;;03AB +03CC;GREEK SMALL LETTER OMICRON WITH TONOS;Ll;0;L;03BF 0301;;;;N;GREEK SMALL LETTER OMICRON TONOS;;038C;;038C +03CD;GREEK SMALL LETTER UPSILON WITH TONOS;Ll;0;L;03C5 0301;;;;N;GREEK SMALL LETTER UPSILON TONOS;;038E;;038E +03CE;GREEK SMALL LETTER OMEGA WITH TONOS;Ll;0;L;03C9 0301;;;;N;GREEK SMALL LETTER OMEGA TONOS;;038F;;038F +03CF;GREEK CAPITAL KAI SYMBOL;Lu;0;L;;;;;N;;;;03D7; +03D0;GREEK BETA SYMBOL;Ll;0;L; 03B2;;;;N;GREEK SMALL LETTER CURLED BETA;;0392;;0392 +03D1;GREEK THETA SYMBOL;Ll;0;L; 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398 +03D2;GREEK UPSILON WITH HOOK SYMBOL;Lu;0;L; 03A5;;;;N;GREEK CAPITAL LETTER UPSILON HOOK;;;; +03D3;GREEK UPSILON WITH ACUTE AND HOOK SYMBOL;Lu;0;L;03D2 0301;;;;N;GREEK CAPITAL LETTER UPSILON HOOK TONOS;;;; +03D4;GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL;Lu;0;L;03D2 0308;;;;N;GREEK CAPITAL LETTER UPSILON HOOK DIAERESIS;;;; +03D5;GREEK PHI SYMBOL;Ll;0;L; 03C6;;;;N;GREEK SMALL LETTER SCRIPT PHI;;03A6;;03A6 +03D6;GREEK PI SYMBOL;Ll;0;L; 03C0;;;;N;GREEK SMALL LETTER OMEGA PI;;03A0;;03A0 +03D7;GREEK KAI SYMBOL;Ll;0;L;;;;;N;;;03CF;;03CF +03D8;GREEK LETTER ARCHAIC KOPPA;Lu;0;L;;;;;N;;*;;03D9; +03D9;GREEK SMALL LETTER ARCHAIC KOPPA;Ll;0;L;;;;;N;;*;03D8;;03D8 +03DA;GREEK LETTER STIGMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER STIGMA;;;03DB; +03DB;GREEK SMALL LETTER STIGMA;Ll;0;L;;;;;N;;;03DA;;03DA +03DC;GREEK LETTER DIGAMMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DIGAMMA;;;03DD; +03DD;GREEK SMALL LETTER DIGAMMA;Ll;0;L;;;;;N;;;03DC;;03DC +03DE;GREEK LETTER KOPPA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KOPPA;;;03DF; +03DF;GREEK SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;03DE;;03DE +03E0;GREEK LETTER SAMPI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SAMPI;;;03E1; +03E1;GREEK SMALL LETTER SAMPI;Ll;0;L;;;;;N;;;03E0;;03E0 +03E2;COPTIC CAPITAL LETTER SHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHEI;;;03E3; +03E3;COPTIC SMALL LETTER SHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER SHEI;;03E2;;03E2 +03E4;COPTIC CAPITAL LETTER FEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER FEI;;;03E5; +03E5;COPTIC SMALL LETTER FEI;Ll;0;L;;;;;N;GREEK SMALL LETTER FEI;;03E4;;03E4 +03E6;COPTIC CAPITAL LETTER KHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KHEI;;;03E7; +03E7;COPTIC SMALL LETTER KHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER KHEI;;03E6;;03E6 +03E8;COPTIC CAPITAL LETTER HORI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER HORI;;;03E9; +03E9;COPTIC SMALL LETTER HORI;Ll;0;L;;;;;N;GREEK SMALL LETTER HORI;;03E8;;03E8 +03EA;COPTIC CAPITAL LETTER GANGIA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER GANGIA;;;03EB; +03EB;COPTIC SMALL LETTER GANGIA;Ll;0;L;;;;;N;GREEK SMALL LETTER GANGIA;;03EA;;03EA +03EC;COPTIC CAPITAL LETTER SHIMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHIMA;;;03ED; +03ED;COPTIC SMALL LETTER SHIMA;Ll;0;L;;;;;N;GREEK SMALL LETTER SHIMA;;03EC;;03EC +03EE;COPTIC CAPITAL LETTER DEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DEI;;;03EF; +03EF;COPTIC SMALL LETTER DEI;Ll;0;L;;;;;N;GREEK SMALL LETTER DEI;;03EE;;03EE +03F0;GREEK KAPPA SYMBOL;Ll;0;L; 03BA;;;;N;GREEK SMALL LETTER SCRIPT KAPPA;;039A;;039A +03F1;GREEK RHO SYMBOL;Ll;0;L; 03C1;;;;N;GREEK SMALL LETTER TAILED RHO;;03A1;;03A1 +03F2;GREEK LUNATE SIGMA SYMBOL;Ll;0;L; 03C2;;;;N;GREEK SMALL LETTER LUNATE SIGMA;;03F9;;03F9 +03F3;GREEK LETTER YOT;Ll;0;L;;;;;N;;;;; +03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L; 0398;;;;N;;;;03B8; +03F5;GREEK LUNATE EPSILON SYMBOL;Ll;0;L; 03B5;;;;N;;;0395;;0395 +03F6;GREEK REVERSED LUNATE EPSILON SYMBOL;Sm;0;ON;;;;;N;;;;; +03F7;GREEK CAPITAL LETTER SHO;Lu;0;L;;;;;N;;;;03F8; +03F8;GREEK SMALL LETTER SHO;Ll;0;L;;;;;N;;;03F7;;03F7 +03F9;GREEK CAPITAL LUNATE SIGMA SYMBOL;Lu;0;L; 03A3;;;;N;;;;03F2; +03FA;GREEK CAPITAL LETTER SAN;Lu;0;L;;;;;N;;;;03FB; +03FB;GREEK SMALL LETTER SAN;Ll;0;L;;;;;N;;;03FA;;03FA +03FC;GREEK RHO WITH STROKE SYMBOL;Ll;0;L;;;;;N;;;;; +03FD;GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;037B; +03FE;GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;037C; +03FF;GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;037D; +0400;CYRILLIC CAPITAL LETTER IE WITH GRAVE;Lu;0;L;0415 0300;;;;N;;;;0450; +0401;CYRILLIC CAPITAL LETTER IO;Lu;0;L;0415 0308;;;;N;;;;0451; +0402;CYRILLIC CAPITAL LETTER DJE;Lu;0;L;;;;;N;;Serbocroatian;;0452; +0403;CYRILLIC CAPITAL LETTER GJE;Lu;0;L;0413 0301;;;;N;;;;0453; +0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER E;;;0454; +0405;CYRILLIC CAPITAL LETTER DZE;Lu;0;L;;;;;N;;;;0455; +0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER I;;;0456; +0407;CYRILLIC CAPITAL LETTER YI;Lu;0;L;0406 0308;;;;N;;Ukrainian;;0457; +0408;CYRILLIC CAPITAL LETTER JE;Lu;0;L;;;;;N;;;;0458; +0409;CYRILLIC CAPITAL LETTER LJE;Lu;0;L;;;;;N;;;;0459; +040A;CYRILLIC CAPITAL LETTER NJE;Lu;0;L;;;;;N;;;;045A; +040B;CYRILLIC CAPITAL LETTER TSHE;Lu;0;L;;;;;N;;Serbocroatian;;045B; +040C;CYRILLIC CAPITAL LETTER KJE;Lu;0;L;041A 0301;;;;N;;;;045C; +040D;CYRILLIC CAPITAL LETTER I WITH GRAVE;Lu;0;L;0418 0300;;;;N;;;;045D; +040E;CYRILLIC CAPITAL LETTER SHORT U;Lu;0;L;0423 0306;;;;N;;Byelorussian;;045E; +040F;CYRILLIC CAPITAL LETTER DZHE;Lu;0;L;;;;;N;;;;045F; +0410;CYRILLIC CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0430; +0411;CYRILLIC CAPITAL LETTER BE;Lu;0;L;;;;;N;;;;0431; +0412;CYRILLIC CAPITAL LETTER VE;Lu;0;L;;;;;N;;;;0432; +0413;CYRILLIC CAPITAL LETTER GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE;;;0433; +0414;CYRILLIC CAPITAL LETTER DE;Lu;0;L;;;;;N;;;;0434; +0415;CYRILLIC CAPITAL LETTER IE;Lu;0;L;;;;;N;;;;0435; +0416;CYRILLIC CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;0436; +0417;CYRILLIC CAPITAL LETTER ZE;Lu;0;L;;;;;N;;;;0437; +0418;CYRILLIC CAPITAL LETTER I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER II;;;0438; +0419;CYRILLIC CAPITAL LETTER SHORT I;Lu;0;L;0418 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT II;;;0439; +041A;CYRILLIC CAPITAL LETTER KA;Lu;0;L;;;;;N;;;;043A; +041B;CYRILLIC CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;043B; +041C;CYRILLIC CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;043C; +041D;CYRILLIC CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;043D; +041E;CYRILLIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;043E; +041F;CYRILLIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;043F; +0420;CYRILLIC CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;0440; +0421;CYRILLIC CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;0441; +0422;CYRILLIC CAPITAL LETTER TE;Lu;0;L;;;;;N;;;;0442; +0423;CYRILLIC CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0443; +0424;CYRILLIC CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;0444; +0425;CYRILLIC CAPITAL LETTER HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA;;;0445; +0426;CYRILLIC CAPITAL LETTER TSE;Lu;0;L;;;;;N;;;;0446; +0427;CYRILLIC CAPITAL LETTER CHE;Lu;0;L;;;;;N;;;;0447; +0428;CYRILLIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0448; +0429;CYRILLIC CAPITAL LETTER SHCHA;Lu;0;L;;;;;N;;;;0449; +042A;CYRILLIC CAPITAL LETTER HARD SIGN;Lu;0;L;;;;;N;;;;044A; +042B;CYRILLIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER YERI;;;044B; +042C;CYRILLIC CAPITAL LETTER SOFT SIGN;Lu;0;L;;;;;N;;;;044C; +042D;CYRILLIC CAPITAL LETTER E;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED E;;;044D; +042E;CYRILLIC CAPITAL LETTER YU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IU;;;044E; +042F;CYRILLIC CAPITAL LETTER YA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IA;;;044F; +0430;CYRILLIC SMALL LETTER A;Ll;0;L;;;;;N;;;0410;;0410 +0431;CYRILLIC SMALL LETTER BE;Ll;0;L;;;;;N;;;0411;;0411 +0432;CYRILLIC SMALL LETTER VE;Ll;0;L;;;;;N;;;0412;;0412 +0433;CYRILLIC SMALL LETTER GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE;;0413;;0413 +0434;CYRILLIC SMALL LETTER DE;Ll;0;L;;;;;N;;;0414;;0414 +0435;CYRILLIC SMALL LETTER IE;Ll;0;L;;;;;N;;;0415;;0415 +0436;CYRILLIC SMALL LETTER ZHE;Ll;0;L;;;;;N;;;0416;;0416 +0437;CYRILLIC SMALL LETTER ZE;Ll;0;L;;;;;N;;;0417;;0417 +0438;CYRILLIC SMALL LETTER I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER II;;0418;;0418 +0439;CYRILLIC SMALL LETTER SHORT I;Ll;0;L;0438 0306;;;;N;CYRILLIC SMALL LETTER SHORT II;;0419;;0419 +043A;CYRILLIC SMALL LETTER KA;Ll;0;L;;;;;N;;;041A;;041A +043B;CYRILLIC SMALL LETTER EL;Ll;0;L;;;;;N;;;041B;;041B +043C;CYRILLIC SMALL LETTER EM;Ll;0;L;;;;;N;;;041C;;041C +043D;CYRILLIC SMALL LETTER EN;Ll;0;L;;;;;N;;;041D;;041D +043E;CYRILLIC SMALL LETTER O;Ll;0;L;;;;;N;;;041E;;041E +043F;CYRILLIC SMALL LETTER PE;Ll;0;L;;;;;N;;;041F;;041F +0440;CYRILLIC SMALL LETTER ER;Ll;0;L;;;;;N;;;0420;;0420 +0441;CYRILLIC SMALL LETTER ES;Ll;0;L;;;;;N;;;0421;;0421 +0442;CYRILLIC SMALL LETTER TE;Ll;0;L;;;;;N;;;0422;;0422 +0443;CYRILLIC SMALL LETTER U;Ll;0;L;;;;;N;;;0423;;0423 +0444;CYRILLIC SMALL LETTER EF;Ll;0;L;;;;;N;;;0424;;0424 +0445;CYRILLIC SMALL LETTER HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA;;0425;;0425 +0446;CYRILLIC SMALL LETTER TSE;Ll;0;L;;;;;N;;;0426;;0426 +0447;CYRILLIC SMALL LETTER CHE;Ll;0;L;;;;;N;;;0427;;0427 +0448;CYRILLIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;0428;;0428 +0449;CYRILLIC SMALL LETTER SHCHA;Ll;0;L;;;;;N;;;0429;;0429 +044A;CYRILLIC SMALL LETTER HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A +044B;CYRILLIC SMALL LETTER YERU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER YERI;;042B;;042B +044C;CYRILLIC SMALL LETTER SOFT SIGN;Ll;0;L;;;;;N;;;042C;;042C +044D;CYRILLIC SMALL LETTER E;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED E;;042D;;042D +044E;CYRILLIC SMALL LETTER YU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IU;;042E;;042E +044F;CYRILLIC SMALL LETTER YA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IA;;042F;;042F +0450;CYRILLIC SMALL LETTER IE WITH GRAVE;Ll;0;L;0435 0300;;;;N;;;0400;;0400 +0451;CYRILLIC SMALL LETTER IO;Ll;0;L;0435 0308;;;;N;;;0401;;0401 +0452;CYRILLIC SMALL LETTER DJE;Ll;0;L;;;;;N;;Serbocroatian;0402;;0402 +0453;CYRILLIC SMALL LETTER GJE;Ll;0;L;0433 0301;;;;N;;;0403;;0403 +0454;CYRILLIC SMALL LETTER UKRAINIAN IE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER E;;0404;;0404 +0455;CYRILLIC SMALL LETTER DZE;Ll;0;L;;;;;N;;;0405;;0405 +0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER I;;0406;;0406 +0457;CYRILLIC SMALL LETTER YI;Ll;0;L;0456 0308;;;;N;;Ukrainian;0407;;0407 +0458;CYRILLIC SMALL LETTER JE;Ll;0;L;;;;;N;;;0408;;0408 +0459;CYRILLIC SMALL LETTER LJE;Ll;0;L;;;;;N;;;0409;;0409 +045A;CYRILLIC SMALL LETTER NJE;Ll;0;L;;;;;N;;;040A;;040A +045B;CYRILLIC SMALL LETTER TSHE;Ll;0;L;;;;;N;;Serbocroatian;040B;;040B +045C;CYRILLIC SMALL LETTER KJE;Ll;0;L;043A 0301;;;;N;;;040C;;040C +045D;CYRILLIC SMALL LETTER I WITH GRAVE;Ll;0;L;0438 0300;;;;N;;;040D;;040D +045E;CYRILLIC SMALL LETTER SHORT U;Ll;0;L;0443 0306;;;;N;;Byelorussian;040E;;040E +045F;CYRILLIC SMALL LETTER DZHE;Ll;0;L;;;;;N;;;040F;;040F +0460;CYRILLIC CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;0461; +0461;CYRILLIC SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;0460;;0460 +0462;CYRILLIC CAPITAL LETTER YAT;Lu;0;L;;;;;N;;;;0463; +0463;CYRILLIC SMALL LETTER YAT;Ll;0;L;;;;;N;;;0462;;0462 +0464;CYRILLIC CAPITAL LETTER IOTIFIED E;Lu;0;L;;;;;N;;;;0465; +0465;CYRILLIC SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;0464;;0464 +0466;CYRILLIC CAPITAL LETTER LITTLE YUS;Lu;0;L;;;;;N;;;;0467; +0467;CYRILLIC SMALL LETTER LITTLE YUS;Ll;0;L;;;;;N;;;0466;;0466 +0468;CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS;Lu;0;L;;;;;N;;;;0469; +0469;CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS;Ll;0;L;;;;;N;;;0468;;0468 +046A;CYRILLIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;046B; +046B;CYRILLIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;046A;;046A +046C;CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS;Lu;0;L;;;;;N;;;;046D; +046D;CYRILLIC SMALL LETTER IOTIFIED BIG YUS;Ll;0;L;;;;;N;;;046C;;046C +046E;CYRILLIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;046F; +046F;CYRILLIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;046E;;046E +0470;CYRILLIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;0471; +0471;CYRILLIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;0470;;0470 +0472;CYRILLIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;0473; +0473;CYRILLIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;0472;;0472 +0474;CYRILLIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;0475; +0475;CYRILLIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;0474;;0474 +0476;CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Lu;0;L;0474 030F;;;;N;CYRILLIC CAPITAL LETTER IZHITSA DOUBLE GRAVE;;;0477; +0477;CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Ll;0;L;0475 030F;;;;N;CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE;;0476;;0476 +0478;CYRILLIC CAPITAL LETTER UK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER UK DIGRAPH;;;0479; +0479;CYRILLIC SMALL LETTER UK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER UK DIGRAPH;;0478;;0478 +047A;CYRILLIC CAPITAL LETTER ROUND OMEGA;Lu;0;L;;;;;N;;;;047B; +047B;CYRILLIC SMALL LETTER ROUND OMEGA;Ll;0;L;;;;;N;;;047A;;047A +047C;CYRILLIC CAPITAL LETTER OMEGA WITH TITLO;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER OMEGA TITLO;;;047D; +047D;CYRILLIC SMALL LETTER OMEGA WITH TITLO;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER OMEGA TITLO;;047C;;047C +047E;CYRILLIC CAPITAL LETTER OT;Lu;0;L;;;;;N;;;;047F; +047F;CYRILLIC SMALL LETTER OT;Ll;0;L;;;;;N;;;047E;;047E +0480;CYRILLIC CAPITAL LETTER KOPPA;Lu;0;L;;;;;N;;;;0481; +0481;CYRILLIC SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;0480;;0480 +0482;CYRILLIC THOUSANDS SIGN;So;0;L;;;;;N;;;;; +0483;COMBINING CYRILLIC TITLO;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING TITLO;;;; +0484;COMBINING CYRILLIC PALATALIZATION;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PALATALIZATION;;;; +0485;COMBINING CYRILLIC DASIA PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING DASIA PNEUMATA;;;; +0486;COMBINING CYRILLIC PSILI PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PSILI PNEUMATA;;;; +0487;COMBINING CYRILLIC POKRYTIE;Mn;230;NSM;;;;;N;;;;; +0488;COMBINING CYRILLIC HUNDRED THOUSANDS SIGN;Me;0;NSM;;;;;N;;;;; +0489;COMBINING CYRILLIC MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; +048A;CYRILLIC CAPITAL LETTER SHORT I WITH TAIL;Lu;0;L;;;;;N;;;;048B; +048B;CYRILLIC SMALL LETTER SHORT I WITH TAIL;Ll;0;L;;;;;N;;;048A;;048A +048C;CYRILLIC CAPITAL LETTER SEMISOFT SIGN;Lu;0;L;;;;;N;;;;048D; +048D;CYRILLIC SMALL LETTER SEMISOFT SIGN;Ll;0;L;;;;;N;;;048C;;048C +048E;CYRILLIC CAPITAL LETTER ER WITH TICK;Lu;0;L;;;;;N;;;;048F; +048F;CYRILLIC SMALL LETTER ER WITH TICK;Ll;0;L;;;;;N;;;048E;;048E +0490;CYRILLIC CAPITAL LETTER GHE WITH UPTURN;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE WITH UPTURN;;;0491; +0491;CYRILLIC SMALL LETTER GHE WITH UPTURN;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE WITH UPTURN;;0490;;0490 +0492;CYRILLIC CAPITAL LETTER GHE WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE BAR;;;0493; +0493;CYRILLIC SMALL LETTER GHE WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE BAR;;0492;;0492 +0494;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE HOOK;;;0495; +0495;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE HOOK;;0494;;0494 +0496;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZHE WITH RIGHT DESCENDER;;;0497; +0497;CYRILLIC SMALL LETTER ZHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER;;0496;;0496 +0498;CYRILLIC CAPITAL LETTER ZE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZE CEDILLA;;;0499; +0499;CYRILLIC SMALL LETTER ZE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZE CEDILLA;;0498;;0498 +049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA WITH RIGHT DESCENDER;;;049B; +049B;CYRILLIC SMALL LETTER KA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER;;049A;;049A +049C;CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA VERTICAL BAR;;;049D; +049D;CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA VERTICAL BAR;;049C;;049C +049E;CYRILLIC CAPITAL LETTER KA WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA BAR;;;049F; +049F;CYRILLIC SMALL LETTER KA WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA BAR;;049E;;049E +04A0;CYRILLIC CAPITAL LETTER BASHKIR KA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED GE KA;;;04A1; +04A1;CYRILLIC SMALL LETTER BASHKIR KA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED GE KA;;04A0;;04A0 +04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN WITH RIGHT DESCENDER;;;04A3; +04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER;;04A2;;04A2 +04A4;CYRILLIC CAPITAL LIGATURE EN GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN GE;;;04A5; +04A5;CYRILLIC SMALL LIGATURE EN GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN GE;;04A4;;04A4 +04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER PE HOOK;Abkhasian;;04A7; +04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER PE HOOK;Abkhasian;04A6;;04A6 +04A8;CYRILLIC CAPITAL LETTER ABKHASIAN HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER O HOOK;;;04A9; +04A9;CYRILLIC SMALL LETTER ABKHASIAN HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER O HOOK;;04A8;;04A8 +04AA;CYRILLIC CAPITAL LETTER ES WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ES CEDILLA;;;04AB; +04AB;CYRILLIC SMALL LETTER ES WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ES CEDILLA;;04AA;;04AA +04AC;CYRILLIC CAPITAL LETTER TE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE WITH RIGHT DESCENDER;;;04AD; +04AD;CYRILLIC SMALL LETTER TE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER;;04AC;;04AC +04AE;CYRILLIC CAPITAL LETTER STRAIGHT U;Lu;0;L;;;;;N;;;;04AF; +04AF;CYRILLIC SMALL LETTER STRAIGHT U;Ll;0;L;;;;;N;;;04AE;;04AE +04B0;CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER STRAIGHT U BAR;;;04B1; +04B1;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER STRAIGHT U BAR;;04B0;;04B0 +04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA WITH RIGHT DESCENDER;;;04B3; +04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER;;04B2;;04B2 +04B4;CYRILLIC CAPITAL LIGATURE TE TSE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE TSE;Abkhasian;;04B5; +04B5;CYRILLIC SMALL LIGATURE TE TSE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE TSE;Abkhasian;04B4;;04B4 +04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH RIGHT DESCENDER;;;04B7; +04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER;;04B6;;04B6 +04B8;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE VERTICAL BAR;;;04B9; +04B9;CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE VERTICAL BAR;;04B8;;04B8 +04BA;CYRILLIC CAPITAL LETTER SHHA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER H;;;04BB; +04BB;CYRILLIC SMALL LETTER SHHA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER H;;04BA;;04BA +04BC;CYRILLIC CAPITAL LETTER ABKHASIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK;;;04BD; +04BD;CYRILLIC SMALL LETTER ABKHASIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK;;04BC;;04BC +04BE;CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK OGONEK;;;04BF; +04BF;CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK OGONEK;;04BE;;04BE +04C0;CYRILLIC LETTER PALOCHKA;Lu;0;L;;;;;N;CYRILLIC LETTER I;;;04CF; +04C1;CYRILLIC CAPITAL LETTER ZHE WITH BREVE;Lu;0;L;0416 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT ZHE;;;04C2; +04C2;CYRILLIC SMALL LETTER ZHE WITH BREVE;Ll;0;L;0436 0306;;;;N;CYRILLIC SMALL LETTER SHORT ZHE;;04C1;;04C1 +04C3;CYRILLIC CAPITAL LETTER KA WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA HOOK;;;04C4; +04C4;CYRILLIC SMALL LETTER KA WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA HOOK;;04C3;;04C3 +04C5;CYRILLIC CAPITAL LETTER EL WITH TAIL;Lu;0;L;;;;;N;;;;04C6; +04C6;CYRILLIC SMALL LETTER EL WITH TAIL;Ll;0;L;;;;;N;;;04C5;;04C5 +04C7;CYRILLIC CAPITAL LETTER EN WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN HOOK;;;04C8; +04C8;CYRILLIC SMALL LETTER EN WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN HOOK;;04C7;;04C7 +04C9;CYRILLIC CAPITAL LETTER EN WITH TAIL;Lu;0;L;;;;;N;;;;04CA; +04CA;CYRILLIC SMALL LETTER EN WITH TAIL;Ll;0;L;;;;;N;;;04C9;;04C9 +04CB;CYRILLIC CAPITAL LETTER KHAKASSIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH LEFT DESCENDER;;;04CC; +04CC;CYRILLIC SMALL LETTER KHAKASSIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER;;04CB;;04CB +04CD;CYRILLIC CAPITAL LETTER EM WITH TAIL;Lu;0;L;;;;;N;;;;04CE; +04CE;CYRILLIC SMALL LETTER EM WITH TAIL;Ll;0;L;;;;;N;;;04CD;;04CD +04CF;CYRILLIC SMALL LETTER PALOCHKA;Ll;0;L;;;;;N;;;04C0;;04C0 +04D0;CYRILLIC CAPITAL LETTER A WITH BREVE;Lu;0;L;0410 0306;;;;N;;;;04D1; +04D1;CYRILLIC SMALL LETTER A WITH BREVE;Ll;0;L;0430 0306;;;;N;;;04D0;;04D0 +04D2;CYRILLIC CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0410 0308;;;;N;;;;04D3; +04D3;CYRILLIC SMALL LETTER A WITH DIAERESIS;Ll;0;L;0430 0308;;;;N;;;04D2;;04D2 +04D4;CYRILLIC CAPITAL LIGATURE A IE;Lu;0;L;;;;;N;;;;04D5; +04D5;CYRILLIC SMALL LIGATURE A IE;Ll;0;L;;;;;N;;;04D4;;04D4 +04D6;CYRILLIC CAPITAL LETTER IE WITH BREVE;Lu;0;L;0415 0306;;;;N;;;;04D7; +04D7;CYRILLIC SMALL LETTER IE WITH BREVE;Ll;0;L;0435 0306;;;;N;;;04D6;;04D6 +04D8;CYRILLIC CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;04D9; +04D9;CYRILLIC SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;04D8;;04D8 +04DA;CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS;Lu;0;L;04D8 0308;;;;N;;;;04DB; +04DB;CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS;Ll;0;L;04D9 0308;;;;N;;;04DA;;04DA +04DC;CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS;Lu;0;L;0416 0308;;;;N;;;;04DD; +04DD;CYRILLIC SMALL LETTER ZHE WITH DIAERESIS;Ll;0;L;0436 0308;;;;N;;;04DC;;04DC +04DE;CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS;Lu;0;L;0417 0308;;;;N;;;;04DF; +04DF;CYRILLIC SMALL LETTER ZE WITH DIAERESIS;Ll;0;L;0437 0308;;;;N;;;04DE;;04DE +04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE;Lu;0;L;;;;;N;;;;04E1; +04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE;Ll;0;L;;;;;N;;;04E0;;04E0 +04E2;CYRILLIC CAPITAL LETTER I WITH MACRON;Lu;0;L;0418 0304;;;;N;;;;04E3; +04E3;CYRILLIC SMALL LETTER I WITH MACRON;Ll;0;L;0438 0304;;;;N;;;04E2;;04E2 +04E4;CYRILLIC CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0418 0308;;;;N;;;;04E5; +04E5;CYRILLIC SMALL LETTER I WITH DIAERESIS;Ll;0;L;0438 0308;;;;N;;;04E4;;04E4 +04E6;CYRILLIC CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;041E 0308;;;;N;;;;04E7; +04E7;CYRILLIC SMALL LETTER O WITH DIAERESIS;Ll;0;L;043E 0308;;;;N;;;04E6;;04E6 +04E8;CYRILLIC CAPITAL LETTER BARRED O;Lu;0;L;;;;;N;;;;04E9; +04E9;CYRILLIC SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;04E8;;04E8 +04EA;CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS;Lu;0;L;04E8 0308;;;;N;;;;04EB; +04EB;CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS;Ll;0;L;04E9 0308;;;;N;;;04EA;;04EA +04EC;CYRILLIC CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;042D 0308;;;;N;;;;04ED; +04ED;CYRILLIC SMALL LETTER E WITH DIAERESIS;Ll;0;L;044D 0308;;;;N;;;04EC;;04EC +04EE;CYRILLIC CAPITAL LETTER U WITH MACRON;Lu;0;L;0423 0304;;;;N;;;;04EF; +04EF;CYRILLIC SMALL LETTER U WITH MACRON;Ll;0;L;0443 0304;;;;N;;;04EE;;04EE +04F0;CYRILLIC CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0423 0308;;;;N;;;;04F1; +04F1;CYRILLIC SMALL LETTER U WITH DIAERESIS;Ll;0;L;0443 0308;;;;N;;;04F0;;04F0 +04F2;CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0423 030B;;;;N;;;;04F3; +04F3;CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0443 030B;;;;N;;;04F2;;04F2 +04F4;CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS;Lu;0;L;0427 0308;;;;N;;;;04F5; +04F5;CYRILLIC SMALL LETTER CHE WITH DIAERESIS;Ll;0;L;0447 0308;;;;N;;;04F4;;04F4 +04F6;CYRILLIC CAPITAL LETTER GHE WITH DESCENDER;Lu;0;L;;;;;N;;;;04F7; +04F7;CYRILLIC SMALL LETTER GHE WITH DESCENDER;Ll;0;L;;;;;N;;;04F6;;04F6 +04F8;CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS;Lu;0;L;042B 0308;;;;N;;;;04F9; +04F9;CYRILLIC SMALL LETTER YERU WITH DIAERESIS;Ll;0;L;044B 0308;;;;N;;;04F8;;04F8 +04FA;CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK;Lu;0;L;;;;;N;;;;04FB; +04FB;CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK;Ll;0;L;;;;;N;;;04FA;;04FA +04FC;CYRILLIC CAPITAL LETTER HA WITH HOOK;Lu;0;L;;;;;N;;;;04FD; +04FD;CYRILLIC SMALL LETTER HA WITH HOOK;Ll;0;L;;;;;N;;;04FC;;04FC +04FE;CYRILLIC CAPITAL LETTER HA WITH STROKE;Lu;0;L;;;;;N;;;;04FF; +04FF;CYRILLIC SMALL LETTER HA WITH STROKE;Ll;0;L;;;;;N;;;04FE;;04FE +0500;CYRILLIC CAPITAL LETTER KOMI DE;Lu;0;L;;;;;N;;;;0501; +0501;CYRILLIC SMALL LETTER KOMI DE;Ll;0;L;;;;;N;;;0500;;0500 +0502;CYRILLIC CAPITAL LETTER KOMI DJE;Lu;0;L;;;;;N;;;;0503; +0503;CYRILLIC SMALL LETTER KOMI DJE;Ll;0;L;;;;;N;;;0502;;0502 +0504;CYRILLIC CAPITAL LETTER KOMI ZJE;Lu;0;L;;;;;N;;;;0505; +0505;CYRILLIC SMALL LETTER KOMI ZJE;Ll;0;L;;;;;N;;;0504;;0504 +0506;CYRILLIC CAPITAL LETTER KOMI DZJE;Lu;0;L;;;;;N;;;;0507; +0507;CYRILLIC SMALL LETTER KOMI DZJE;Ll;0;L;;;;;N;;;0506;;0506 +0508;CYRILLIC CAPITAL LETTER KOMI LJE;Lu;0;L;;;;;N;;;;0509; +0509;CYRILLIC SMALL LETTER KOMI LJE;Ll;0;L;;;;;N;;;0508;;0508 +050A;CYRILLIC CAPITAL LETTER KOMI NJE;Lu;0;L;;;;;N;;;;050B; +050B;CYRILLIC SMALL LETTER KOMI NJE;Ll;0;L;;;;;N;;;050A;;050A +050C;CYRILLIC CAPITAL LETTER KOMI SJE;Lu;0;L;;;;;N;;;;050D; +050D;CYRILLIC SMALL LETTER KOMI SJE;Ll;0;L;;;;;N;;;050C;;050C +050E;CYRILLIC CAPITAL LETTER KOMI TJE;Lu;0;L;;;;;N;;;;050F; +050F;CYRILLIC SMALL LETTER KOMI TJE;Ll;0;L;;;;;N;;;050E;;050E +0510;CYRILLIC CAPITAL LETTER REVERSED ZE;Lu;0;L;;;;;N;;;;0511; +0511;CYRILLIC SMALL LETTER REVERSED ZE;Ll;0;L;;;;;N;;;0510;;0510 +0512;CYRILLIC CAPITAL LETTER EL WITH HOOK;Lu;0;L;;;;;N;;;;0513; +0513;CYRILLIC SMALL LETTER EL WITH HOOK;Ll;0;L;;;;;N;;;0512;;0512 +0514;CYRILLIC CAPITAL LETTER LHA;Lu;0;L;;;;;N;;;;0515; +0515;CYRILLIC SMALL LETTER LHA;Ll;0;L;;;;;N;;;0514;;0514 +0516;CYRILLIC CAPITAL LETTER RHA;Lu;0;L;;;;;N;;;;0517; +0517;CYRILLIC SMALL LETTER RHA;Ll;0;L;;;;;N;;;0516;;0516 +0518;CYRILLIC CAPITAL LETTER YAE;Lu;0;L;;;;;N;;;;0519; +0519;CYRILLIC SMALL LETTER YAE;Ll;0;L;;;;;N;;;0518;;0518 +051A;CYRILLIC CAPITAL LETTER QA;Lu;0;L;;;;;N;;;;051B; +051B;CYRILLIC SMALL LETTER QA;Ll;0;L;;;;;N;;;051A;;051A +051C;CYRILLIC CAPITAL LETTER WE;Lu;0;L;;;;;N;;;;051D; +051D;CYRILLIC SMALL LETTER WE;Ll;0;L;;;;;N;;;051C;;051C +051E;CYRILLIC CAPITAL LETTER ALEUT KA;Lu;0;L;;;;;N;;;;051F; +051F;CYRILLIC SMALL LETTER ALEUT KA;Ll;0;L;;;;;N;;;051E;;051E +0520;CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;0521; +0521;CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;0520;;0520 +0522;CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;0523; +0523;CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;0522;;0522 +0531;ARMENIAN CAPITAL LETTER AYB;Lu;0;L;;;;;N;;;;0561; +0532;ARMENIAN CAPITAL LETTER BEN;Lu;0;L;;;;;N;;;;0562; +0533;ARMENIAN CAPITAL LETTER GIM;Lu;0;L;;;;;N;;;;0563; +0534;ARMENIAN CAPITAL LETTER DA;Lu;0;L;;;;;N;;;;0564; +0535;ARMENIAN CAPITAL LETTER ECH;Lu;0;L;;;;;N;;;;0565; +0536;ARMENIAN CAPITAL LETTER ZA;Lu;0;L;;;;;N;;;;0566; +0537;ARMENIAN CAPITAL LETTER EH;Lu;0;L;;;;;N;;;;0567; +0538;ARMENIAN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;0568; +0539;ARMENIAN CAPITAL LETTER TO;Lu;0;L;;;;;N;;;;0569; +053A;ARMENIAN CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;056A; +053B;ARMENIAN CAPITAL LETTER INI;Lu;0;L;;;;;N;;;;056B; +053C;ARMENIAN CAPITAL LETTER LIWN;Lu;0;L;;;;;N;;;;056C; +053D;ARMENIAN CAPITAL LETTER XEH;Lu;0;L;;;;;N;;;;056D; +053E;ARMENIAN CAPITAL LETTER CA;Lu;0;L;;;;;N;;;;056E; +053F;ARMENIAN CAPITAL LETTER KEN;Lu;0;L;;;;;N;;;;056F; +0540;ARMENIAN CAPITAL LETTER HO;Lu;0;L;;;;;N;;;;0570; +0541;ARMENIAN CAPITAL LETTER JA;Lu;0;L;;;;;N;;;;0571; +0542;ARMENIAN CAPITAL LETTER GHAD;Lu;0;L;;;;;N;ARMENIAN CAPITAL LETTER LAD;;;0572; +0543;ARMENIAN CAPITAL LETTER CHEH;Lu;0;L;;;;;N;;;;0573; +0544;ARMENIAN CAPITAL LETTER MEN;Lu;0;L;;;;;N;;;;0574; +0545;ARMENIAN CAPITAL LETTER YI;Lu;0;L;;;;;N;;;;0575; +0546;ARMENIAN CAPITAL LETTER NOW;Lu;0;L;;;;;N;;;;0576; +0547;ARMENIAN CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0577; +0548;ARMENIAN CAPITAL LETTER VO;Lu;0;L;;;;;N;;;;0578; +0549;ARMENIAN CAPITAL LETTER CHA;Lu;0;L;;;;;N;;;;0579; +054A;ARMENIAN CAPITAL LETTER PEH;Lu;0;L;;;;;N;;;;057A; +054B;ARMENIAN CAPITAL LETTER JHEH;Lu;0;L;;;;;N;;;;057B; +054C;ARMENIAN CAPITAL LETTER RA;Lu;0;L;;;;;N;;;;057C; +054D;ARMENIAN CAPITAL LETTER SEH;Lu;0;L;;;;;N;;;;057D; +054E;ARMENIAN CAPITAL LETTER VEW;Lu;0;L;;;;;N;;;;057E; +054F;ARMENIAN CAPITAL LETTER TIWN;Lu;0;L;;;;;N;;;;057F; +0550;ARMENIAN CAPITAL LETTER REH;Lu;0;L;;;;;N;;;;0580; +0551;ARMENIAN CAPITAL LETTER CO;Lu;0;L;;;;;N;;;;0581; +0552;ARMENIAN CAPITAL LETTER YIWN;Lu;0;L;;;;;N;;;;0582; +0553;ARMENIAN CAPITAL LETTER PIWR;Lu;0;L;;;;;N;;;;0583; +0554;ARMENIAN CAPITAL LETTER KEH;Lu;0;L;;;;;N;;;;0584; +0555;ARMENIAN CAPITAL LETTER OH;Lu;0;L;;;;;N;;;;0585; +0556;ARMENIAN CAPITAL LETTER FEH;Lu;0;L;;;;;N;;;;0586; +0559;ARMENIAN MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;; +055A;ARMENIAN APOSTROPHE;Po;0;L;;;;;N;ARMENIAN MODIFIER LETTER RIGHT HALF RING;;;; +055B;ARMENIAN EMPHASIS MARK;Po;0;L;;;;;N;;;;; +055C;ARMENIAN EXCLAMATION MARK;Po;0;L;;;;;N;;;;; +055D;ARMENIAN COMMA;Po;0;L;;;;;N;;;;; +055E;ARMENIAN QUESTION MARK;Po;0;L;;;;;N;;;;; +055F;ARMENIAN ABBREVIATION MARK;Po;0;L;;;;;N;;;;; +0561;ARMENIAN SMALL LETTER AYB;Ll;0;L;;;;;N;;;0531;;0531 +0562;ARMENIAN SMALL LETTER BEN;Ll;0;L;;;;;N;;;0532;;0532 +0563;ARMENIAN SMALL LETTER GIM;Ll;0;L;;;;;N;;;0533;;0533 +0564;ARMENIAN SMALL LETTER DA;Ll;0;L;;;;;N;;;0534;;0534 +0565;ARMENIAN SMALL LETTER ECH;Ll;0;L;;;;;N;;;0535;;0535 +0566;ARMENIAN SMALL LETTER ZA;Ll;0;L;;;;;N;;;0536;;0536 +0567;ARMENIAN SMALL LETTER EH;Ll;0;L;;;;;N;;;0537;;0537 +0568;ARMENIAN SMALL LETTER ET;Ll;0;L;;;;;N;;;0538;;0538 +0569;ARMENIAN SMALL LETTER TO;Ll;0;L;;;;;N;;;0539;;0539 +056A;ARMENIAN SMALL LETTER ZHE;Ll;0;L;;;;;N;;;053A;;053A +056B;ARMENIAN SMALL LETTER INI;Ll;0;L;;;;;N;;;053B;;053B +056C;ARMENIAN SMALL LETTER LIWN;Ll;0;L;;;;;N;;;053C;;053C +056D;ARMENIAN SMALL LETTER XEH;Ll;0;L;;;;;N;;;053D;;053D +056E;ARMENIAN SMALL LETTER CA;Ll;0;L;;;;;N;;;053E;;053E +056F;ARMENIAN SMALL LETTER KEN;Ll;0;L;;;;;N;;;053F;;053F +0570;ARMENIAN SMALL LETTER HO;Ll;0;L;;;;;N;;;0540;;0540 +0571;ARMENIAN SMALL LETTER JA;Ll;0;L;;;;;N;;;0541;;0541 +0572;ARMENIAN SMALL LETTER GHAD;Ll;0;L;;;;;N;ARMENIAN SMALL LETTER LAD;;0542;;0542 +0573;ARMENIAN SMALL LETTER CHEH;Ll;0;L;;;;;N;;;0543;;0543 +0574;ARMENIAN SMALL LETTER MEN;Ll;0;L;;;;;N;;;0544;;0544 +0575;ARMENIAN SMALL LETTER YI;Ll;0;L;;;;;N;;;0545;;0545 +0576;ARMENIAN SMALL LETTER NOW;Ll;0;L;;;;;N;;;0546;;0546 +0577;ARMENIAN SMALL LETTER SHA;Ll;0;L;;;;;N;;;0547;;0547 +0578;ARMENIAN SMALL LETTER VO;Ll;0;L;;;;;N;;;0548;;0548 +0579;ARMENIAN SMALL LETTER CHA;Ll;0;L;;;;;N;;;0549;;0549 +057A;ARMENIAN SMALL LETTER PEH;Ll;0;L;;;;;N;;;054A;;054A +057B;ARMENIAN SMALL LETTER JHEH;Ll;0;L;;;;;N;;;054B;;054B +057C;ARMENIAN SMALL LETTER RA;Ll;0;L;;;;;N;;;054C;;054C +057D;ARMENIAN SMALL LETTER SEH;Ll;0;L;;;;;N;;;054D;;054D +057E;ARMENIAN SMALL LETTER VEW;Ll;0;L;;;;;N;;;054E;;054E +057F;ARMENIAN SMALL LETTER TIWN;Ll;0;L;;;;;N;;;054F;;054F +0580;ARMENIAN SMALL LETTER REH;Ll;0;L;;;;;N;;;0550;;0550 +0581;ARMENIAN SMALL LETTER CO;Ll;0;L;;;;;N;;;0551;;0551 +0582;ARMENIAN SMALL LETTER YIWN;Ll;0;L;;;;;N;;;0552;;0552 +0583;ARMENIAN SMALL LETTER PIWR;Ll;0;L;;;;;N;;;0553;;0553 +0584;ARMENIAN SMALL LETTER KEH;Ll;0;L;;;;;N;;;0554;;0554 +0585;ARMENIAN SMALL LETTER OH;Ll;0;L;;;;;N;;;0555;;0555 +0586;ARMENIAN SMALL LETTER FEH;Ll;0;L;;;;;N;;;0556;;0556 +0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L; 0565 0582;;;;N;;;;; +0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;; +058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;; +0591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;; +0592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;; +0593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;; +0594;HEBREW ACCENT ZAQEF QATAN;Mn;230;NSM;;;;;N;;;;; +0595;HEBREW ACCENT ZAQEF GADOL;Mn;230;NSM;;;;;N;;;;; +0596;HEBREW ACCENT TIPEHA;Mn;220;NSM;;;;;N;;*;;; +0597;HEBREW ACCENT REVIA;Mn;230;NSM;;;;;N;;;;; +0598;HEBREW ACCENT ZARQA;Mn;230;NSM;;;;;N;;*;;; +0599;HEBREW ACCENT PASHTA;Mn;230;NSM;;;;;N;;;;; +059A;HEBREW ACCENT YETIV;Mn;222;NSM;;;;;N;;;;; +059B;HEBREW ACCENT TEVIR;Mn;220;NSM;;;;;N;;;;; +059C;HEBREW ACCENT GERESH;Mn;230;NSM;;;;;N;;;;; +059D;HEBREW ACCENT GERESH MUQDAM;Mn;230;NSM;;;;;N;;;;; +059E;HEBREW ACCENT GERSHAYIM;Mn;230;NSM;;;;;N;;;;; +059F;HEBREW ACCENT QARNEY PARA;Mn;230;NSM;;;;;N;;;;; +05A0;HEBREW ACCENT TELISHA GEDOLA;Mn;230;NSM;;;;;N;;;;; +05A1;HEBREW ACCENT PAZER;Mn;230;NSM;;;;;N;;;;; +05A2;HEBREW ACCENT ATNAH HAFUKH;Mn;220;NSM;;;;;N;;;;; +05A3;HEBREW ACCENT MUNAH;Mn;220;NSM;;;;;N;;;;; +05A4;HEBREW ACCENT MAHAPAKH;Mn;220;NSM;;;;;N;;;;; +05A5;HEBREW ACCENT MERKHA;Mn;220;NSM;;;;;N;;*;;; +05A6;HEBREW ACCENT MERKHA KEFULA;Mn;220;NSM;;;;;N;;;;; +05A7;HEBREW ACCENT DARGA;Mn;220;NSM;;;;;N;;;;; +05A8;HEBREW ACCENT QADMA;Mn;230;NSM;;;;;N;;*;;; +05A9;HEBREW ACCENT TELISHA QETANA;Mn;230;NSM;;;;;N;;;;; +05AA;HEBREW ACCENT YERAH BEN YOMO;Mn;220;NSM;;;;;N;;*;;; +05AB;HEBREW ACCENT OLE;Mn;230;NSM;;;;;N;;;;; +05AC;HEBREW ACCENT ILUY;Mn;230;NSM;;;;;N;;;;; +05AD;HEBREW ACCENT DEHI;Mn;222;NSM;;;;;N;;;;; +05AE;HEBREW ACCENT ZINOR;Mn;228;NSM;;;;;N;;;;; +05AF;HEBREW MARK MASORA CIRCLE;Mn;230;NSM;;;;;N;;;;; +05B0;HEBREW POINT SHEVA;Mn;10;NSM;;;;;N;;;;; +05B1;HEBREW POINT HATAF SEGOL;Mn;11;NSM;;;;;N;;;;; +05B2;HEBREW POINT HATAF PATAH;Mn;12;NSM;;;;;N;;;;; +05B3;HEBREW POINT HATAF QAMATS;Mn;13;NSM;;;;;N;;;;; +05B4;HEBREW POINT HIRIQ;Mn;14;NSM;;;;;N;;;;; +05B5;HEBREW POINT TSERE;Mn;15;NSM;;;;;N;;;;; +05B6;HEBREW POINT SEGOL;Mn;16;NSM;;;;;N;;;;; +05B7;HEBREW POINT PATAH;Mn;17;NSM;;;;;N;;;;; +05B8;HEBREW POINT QAMATS;Mn;18;NSM;;;;;N;;;;; +05B9;HEBREW POINT HOLAM;Mn;19;NSM;;;;;N;;;;; +05BA;HEBREW POINT HOLAM HASER FOR VAV;Mn;19;NSM;;;;;N;;;;; +05BB;HEBREW POINT QUBUTS;Mn;20;NSM;;;;;N;;;;; +05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;NSM;;;;;N;HEBREW POINT DAGESH;or shuruq;;; +05BD;HEBREW POINT METEG;Mn;22;NSM;;;;;N;;*;;; +05BE;HEBREW PUNCTUATION MAQAF;Pd;0;R;;;;;N;;;;; +05BF;HEBREW POINT RAFE;Mn;23;NSM;;;;;N;;;;; +05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;*;;; +05C1;HEBREW POINT SHIN DOT;Mn;24;NSM;;;;;N;;;;; +05C2;HEBREW POINT SIN DOT;Mn;25;NSM;;;;;N;;;;; +05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;*;;; +05C4;HEBREW MARK UPPER DOT;Mn;230;NSM;;;;;N;;;;; +05C5;HEBREW MARK LOWER DOT;Mn;220;NSM;;;;;N;;;;; +05C6;HEBREW PUNCTUATION NUN HAFUKHA;Po;0;R;;;;;N;;;;; +05C7;HEBREW POINT QAMATS QATAN;Mn;18;NSM;;;;;N;;;;; +05D0;HEBREW LETTER ALEF;Lo;0;R;;;;;N;;;;; +05D1;HEBREW LETTER BET;Lo;0;R;;;;;N;;;;; +05D2;HEBREW LETTER GIMEL;Lo;0;R;;;;;N;;;;; +05D3;HEBREW LETTER DALET;Lo;0;R;;;;;N;;;;; +05D4;HEBREW LETTER HE;Lo;0;R;;;;;N;;;;; +05D5;HEBREW LETTER VAV;Lo;0;R;;;;;N;;;;; +05D6;HEBREW LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +05D7;HEBREW LETTER HET;Lo;0;R;;;;;N;;;;; +05D8;HEBREW LETTER TET;Lo;0;R;;;;;N;;;;; +05D9;HEBREW LETTER YOD;Lo;0;R;;;;;N;;;;; +05DA;HEBREW LETTER FINAL KAF;Lo;0;R;;;;;N;;;;; +05DB;HEBREW LETTER KAF;Lo;0;R;;;;;N;;;;; +05DC;HEBREW LETTER LAMED;Lo;0;R;;;;;N;;;;; +05DD;HEBREW LETTER FINAL MEM;Lo;0;R;;;;;N;;;;; +05DE;HEBREW LETTER MEM;Lo;0;R;;;;;N;;;;; +05DF;HEBREW LETTER FINAL NUN;Lo;0;R;;;;;N;;;;; +05E0;HEBREW LETTER NUN;Lo;0;R;;;;;N;;;;; +05E1;HEBREW LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +05E2;HEBREW LETTER AYIN;Lo;0;R;;;;;N;;;;; +05E3;HEBREW LETTER FINAL PE;Lo;0;R;;;;;N;;;;; +05E4;HEBREW LETTER PE;Lo;0;R;;;;;N;;;;; +05E5;HEBREW LETTER FINAL TSADI;Lo;0;R;;;;;N;;;;; +05E6;HEBREW LETTER TSADI;Lo;0;R;;;;;N;;;;; +05E7;HEBREW LETTER QOF;Lo;0;R;;;;;N;;;;; +05E8;HEBREW LETTER RESH;Lo;0;R;;;;;N;;;;; +05E9;HEBREW LETTER SHIN;Lo;0;R;;;;;N;;;;; +05EA;HEBREW LETTER TAV;Lo;0;R;;;;;N;;;;; +05F0;HEBREW LIGATURE YIDDISH DOUBLE VAV;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE VAV;;;; +05F1;HEBREW LIGATURE YIDDISH VAV YOD;Lo;0;R;;;;;N;HEBREW LETTER VAV YOD;;;; +05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE YOD;;;; +05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;; +05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;; +0600;ARABIC NUMBER SIGN;Cf;0;AN;;;;;N;;;;; +0601;ARABIC SIGN SANAH;Cf;0;AN;;;;;N;;;;; +0602;ARABIC FOOTNOTE MARKER;Cf;0;AN;;;;;N;;;;; +0603;ARABIC SIGN SAFHA;Cf;0;AN;;;;;N;;;;; +0606;ARABIC-INDIC CUBE ROOT;Sm;0;ON;;;;;N;;;;; +0607;ARABIC-INDIC FOURTH ROOT;Sm;0;ON;;;;;N;;;;; +0608;ARABIC RAY;Sm;0;AL;;;;;N;;;;; +0609;ARABIC-INDIC PER MILLE SIGN;Po;0;ET;;;;;N;;;;; +060A;ARABIC-INDIC PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;; +060B;AFGHANI SIGN;Sc;0;AL;;;;;N;;;;; +060C;ARABIC COMMA;Po;0;CS;;;;;N;;;;; +060D;ARABIC DATE SEPARATOR;Po;0;AL;;;;;N;;;;; +060E;ARABIC POETIC VERSE SIGN;So;0;ON;;;;;N;;;;; +060F;ARABIC SIGN MISRA;So;0;ON;;;;;N;;;;; +0610;ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM;Mn;230;NSM;;;;;N;;;;; +0611;ARABIC SIGN ALAYHE ASSALLAM;Mn;230;NSM;;;;;N;;;;; +0612;ARABIC SIGN RAHMATULLAH ALAYHE;Mn;230;NSM;;;;;N;;;;; +0613;ARABIC SIGN RADI ALLAHOU ANHU;Mn;230;NSM;;;;;N;;;;; +0614;ARABIC SIGN TAKHALLUS;Mn;230;NSM;;;;;N;;;;; +0615;ARABIC SMALL HIGH TAH;Mn;230;NSM;;;;;N;;;;; +0616;ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH;Mn;230;NSM;;;;;N;;;;; +0617;ARABIC SMALL HIGH ZAIN;Mn;230;NSM;;;;;N;;;;; +0618;ARABIC SMALL FATHA;Mn;30;NSM;;;;;N;;;;; +0619;ARABIC SMALL DAMMA;Mn;31;NSM;;;;;N;;;;; +061A;ARABIC SMALL KASRA;Mn;32;NSM;;;;;N;;;;; +061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;; +061E;ARABIC TRIPLE DOT PUNCTUATION MARK;Po;0;AL;;;;;N;;;;; +061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;; +0621;ARABIC LETTER HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH;;;; +0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;AL;0627 0653;;;;N;ARABIC LETTER MADDAH ON ALEF;;;; +0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;AL;0627 0654;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;; +0624;ARABIC LETTER WAW WITH HAMZA ABOVE;Lo;0;AL;0648 0654;;;;N;ARABIC LETTER HAMZAH ON WAW;;;; +0625;ARABIC LETTER ALEF WITH HAMZA BELOW;Lo;0;AL;0627 0655;;;;N;ARABIC LETTER HAMZAH UNDER ALEF;;;; +0626;ARABIC LETTER YEH WITH HAMZA ABOVE;Lo;0;AL;064A 0654;;;;N;ARABIC LETTER HAMZAH ON YA;;;; +0627;ARABIC LETTER ALEF;Lo;0;AL;;;;;N;;;;; +0628;ARABIC LETTER BEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA;;;; +0629;ARABIC LETTER TEH MARBUTA;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH;;;; +062A;ARABIC LETTER TEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA;;;; +062B;ARABIC LETTER THEH;Lo;0;AL;;;;;N;ARABIC LETTER THAA;;;; +062C;ARABIC LETTER JEEM;Lo;0;AL;;;;;N;;;;; +062D;ARABIC LETTER HAH;Lo;0;AL;;;;;N;ARABIC LETTER HAA;;;; +062E;ARABIC LETTER KHAH;Lo;0;AL;;;;;N;ARABIC LETTER KHAA;;;; +062F;ARABIC LETTER DAL;Lo;0;AL;;;;;N;;;;; +0630;ARABIC LETTER THAL;Lo;0;AL;;;;;N;;;;; +0631;ARABIC LETTER REH;Lo;0;AL;;;;;N;ARABIC LETTER RA;;;; +0632;ARABIC LETTER ZAIN;Lo;0;AL;;;;;N;;;;; +0633;ARABIC LETTER SEEN;Lo;0;AL;;;;;N;;;;; +0634;ARABIC LETTER SHEEN;Lo;0;AL;;;;;N;;;;; +0635;ARABIC LETTER SAD;Lo;0;AL;;;;;N;;;;; +0636;ARABIC LETTER DAD;Lo;0;AL;;;;;N;;;;; +0637;ARABIC LETTER TAH;Lo;0;AL;;;;;N;;;;; +0638;ARABIC LETTER ZAH;Lo;0;AL;;;;;N;ARABIC LETTER DHAH;;;; +0639;ARABIC LETTER AIN;Lo;0;AL;;;;;N;;;;; +063A;ARABIC LETTER GHAIN;Lo;0;AL;;;;;N;;;;; +063B;ARABIC LETTER KEHEH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +063C;ARABIC LETTER KEHEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; +063D;ARABIC LETTER FARSI YEH WITH INVERTED V;Lo;0;AL;;;;;N;;;;; +063E;ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +063F;ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0640;ARABIC TATWEEL;Lm;0;AL;;;;;N;;;;; +0641;ARABIC LETTER FEH;Lo;0;AL;;;;;N;ARABIC LETTER FA;;;; +0642;ARABIC LETTER QAF;Lo;0;AL;;;;;N;;;;; +0643;ARABIC LETTER KAF;Lo;0;AL;;;;;N;ARABIC LETTER CAF;;;; +0644;ARABIC LETTER LAM;Lo;0;AL;;;;;N;;;;; +0645;ARABIC LETTER MEEM;Lo;0;AL;;;;;N;;;;; +0646;ARABIC LETTER NOON;Lo;0;AL;;;;;N;;;;; +0647;ARABIC LETTER HEH;Lo;0;AL;;;;;N;ARABIC LETTER HA;;;; +0648;ARABIC LETTER WAW;Lo;0;AL;;;;;N;;;;; +0649;ARABIC LETTER ALEF MAKSURA;Lo;0;AL;;;;;N;ARABIC LETTER ALEF MAQSURAH;;;; +064A;ARABIC LETTER YEH;Lo;0;AL;;;;;N;ARABIC LETTER YA;;;; +064B;ARABIC FATHATAN;Mn;27;NSM;;;;;N;;;;; +064C;ARABIC DAMMATAN;Mn;28;NSM;;;;;N;;;;; +064D;ARABIC KASRATAN;Mn;29;NSM;;;;;N;;;;; +064E;ARABIC FATHA;Mn;30;NSM;;;;;N;ARABIC FATHAH;;;; +064F;ARABIC DAMMA;Mn;31;NSM;;;;;N;ARABIC DAMMAH;;;; +0650;ARABIC KASRA;Mn;32;NSM;;;;;N;ARABIC KASRAH;;;; +0651;ARABIC SHADDA;Mn;33;NSM;;;;;N;ARABIC SHADDAH;;;; +0652;ARABIC SUKUN;Mn;34;NSM;;;;;N;;;;; +0653;ARABIC MADDAH ABOVE;Mn;230;NSM;;;;;N;;;;; +0654;ARABIC HAMZA ABOVE;Mn;230;NSM;;;;;N;;;;; +0655;ARABIC HAMZA BELOW;Mn;220;NSM;;;;;N;;;;; +0656;ARABIC SUBSCRIPT ALEF;Mn;220;NSM;;;;;N;;;;; +0657;ARABIC INVERTED DAMMA;Mn;230;NSM;;;;;N;;;;; +0658;ARABIC MARK NOON GHUNNA;Mn;230;NSM;;;;;N;;;;; +0659;ARABIC ZWARAKAY;Mn;230;NSM;;;;;N;;;;; +065A;ARABIC VOWEL SIGN SMALL V ABOVE;Mn;230;NSM;;;;;N;;;;; +065B;ARABIC VOWEL SIGN INVERTED SMALL V ABOVE;Mn;230;NSM;;;;;N;;;;; +065C;ARABIC VOWEL SIGN DOT BELOW;Mn;220;NSM;;;;;N;;;;; +065D;ARABIC REVERSED DAMMA;Mn;230;NSM;;;;;N;;;;; +065E;ARABIC FATHA WITH TWO DOTS;Mn;230;NSM;;;;;N;;;;; +0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;; +0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;; +0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;; +0663;ARABIC-INDIC DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;; +0664;ARABIC-INDIC DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;; +0665;ARABIC-INDIC DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;; +0666;ARABIC-INDIC DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;; +0667;ARABIC-INDIC DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;; +0668;ARABIC-INDIC DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;; +0669;ARABIC-INDIC DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;; +066A;ARABIC PERCENT SIGN;Po;0;ET;;;;;N;;;;; +066B;ARABIC DECIMAL SEPARATOR;Po;0;AN;;;;;N;;;;; +066C;ARABIC THOUSANDS SEPARATOR;Po;0;AN;;;;;N;;;;; +066D;ARABIC FIVE POINTED STAR;Po;0;AL;;;;;N;;;;; +066E;ARABIC LETTER DOTLESS BEH;Lo;0;AL;;;;;N;;;;; +066F;ARABIC LETTER DOTLESS QAF;Lo;0;AL;;;;;N;;;;; +0670;ARABIC LETTER SUPERSCRIPT ALEF;Mn;35;NSM;;;;;N;ARABIC ALEF ABOVE;;;; +0671;ARABIC LETTER ALEF WASLA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAT WASL ON ALEF;;;; +0672;ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH ON ALEF;;;; +0673;ARABIC LETTER ALEF WITH WAVY HAMZA BELOW;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH UNDER ALEF;;;; +0674;ARABIC LETTER HIGH HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HIGH HAMZAH;;;; +0675;ARABIC LETTER HIGH HAMZA ALEF;Lo;0;AL; 0627 0674;;;;N;ARABIC LETTER HIGH HAMZAH ALEF;;;; +0676;ARABIC LETTER HIGH HAMZA WAW;Lo;0;AL; 0648 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW;;;; +0677;ARABIC LETTER U WITH HAMZA ABOVE;Lo;0;AL; 06C7 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW WITH DAMMAH;;;; +0678;ARABIC LETTER HIGH HAMZA YEH;Lo;0;AL; 064A 0674;;;;N;ARABIC LETTER HIGH HAMZAH YA;;;; +0679;ARABIC LETTER TTEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH SMALL TAH;;;; +067A;ARABIC LETTER TTEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH TWO DOTS VERTICAL ABOVE;;;; +067B;ARABIC LETTER BEEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH TWO DOTS VERTICAL BELOW;;;; +067C;ARABIC LETTER TEH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH RING;;;; +067D;ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS ABOVE DOWNWARD;;;; +067E;ARABIC LETTER PEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS BELOW;;;; +067F;ARABIC LETTER TEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH FOUR DOTS ABOVE;;;; +0680;ARABIC LETTER BEHEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH FOUR DOTS BELOW;;;; +0681;ARABIC LETTER HAH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH ON HAA;;;; +0682;ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH TWO DOTS VERTICAL ABOVE;;;; +0683;ARABIC LETTER NYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS;;;; +0684;ARABIC LETTER DYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS VERTICAL;;;; +0685;ARABIC LETTER HAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH THREE DOTS ABOVE;;;; +0686;ARABIC LETTER TCHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD;;;; +0687;ARABIC LETTER TCHEHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE FOUR DOTS;;;; +0688;ARABIC LETTER DDAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH SMALL TAH;;;; +0689;ARABIC LETTER DAL WITH RING;Lo;0;AL;;;;;N;;;;; +068A;ARABIC LETTER DAL WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +068B;ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH;Lo;0;AL;;;;;N;;;;; +068C;ARABIC LETTER DAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS ABOVE;;;; +068D;ARABIC LETTER DDAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS BELOW;;;; +068E;ARABIC LETTER DUL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE;;;; +068F;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARD;;;; +0690;ARABIC LETTER DAL WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0691;ARABIC LETTER RREH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL TAH;;;; +0692;ARABIC LETTER REH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V;;;; +0693;ARABIC LETTER REH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH RING;;;; +0694;ARABIC LETTER REH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW;;;; +0695;ARABIC LETTER REH WITH SMALL V BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V BELOW;;;; +0696;ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW AND DOT ABOVE;;;; +0697;ARABIC LETTER REH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH TWO DOTS ABOVE;;;; +0698;ARABIC LETTER JEH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH THREE DOTS ABOVE;;;; +0699;ARABIC LETTER REH WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH FOUR DOTS ABOVE;;;; +069A;ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;; +069B;ARABIC LETTER SEEN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; +069C;ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +069D;ARABIC LETTER SAD WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; +069E;ARABIC LETTER SAD WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +069F;ARABIC LETTER TAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06A0;ARABIC LETTER AIN WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06A1;ARABIC LETTER DOTLESS FEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS FA;;;; +06A2;ARABIC LETTER FEH WITH DOT MOVED BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT MOVED BELOW;;;; +06A3;ARABIC LETTER FEH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT BELOW;;;; +06A4;ARABIC LETTER VEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS ABOVE;;;; +06A5;ARABIC LETTER FEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS BELOW;;;; +06A6;ARABIC LETTER PEHEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH FOUR DOTS ABOVE;;;; +06A7;ARABIC LETTER QAF WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +06A8;ARABIC LETTER QAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06A9;ARABIC LETTER KEHEH;Lo;0;AL;;;;;N;ARABIC LETTER OPEN CAF;;;; +06AA;ARABIC LETTER SWASH KAF;Lo;0;AL;;;;;N;ARABIC LETTER SWASH CAF;;;; +06AB;ARABIC LETTER KAF WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH RING;;;; +06AC;ARABIC LETTER KAF WITH DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH DOT ABOVE;;;; +06AD;ARABIC LETTER NG;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS ABOVE;;;; +06AE;ARABIC LETTER KAF WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS BELOW;;;; +06AF;ARABIC LETTER GAF;Lo;0;AL;;;;;N;;*;;; +06B0;ARABIC LETTER GAF WITH RING;Lo;0;AL;;;;;N;;;;; +06B1;ARABIC LETTER NGOEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS ABOVE;;;; +06B2;ARABIC LETTER GAF WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; +06B3;ARABIC LETTER GUEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS VERTICAL BELOW;;;; +06B4;ARABIC LETTER GAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06B5;ARABIC LETTER LAM WITH SMALL V;Lo;0;AL;;;;;N;;;;; +06B6;ARABIC LETTER LAM WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +06B7;ARABIC LETTER LAM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06B8;ARABIC LETTER LAM WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; +06B9;ARABIC LETTER NOON WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +06BA;ARABIC LETTER NOON GHUNNA;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON;;;; +06BB;ARABIC LETTER RNOON;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON WITH SMALL TAH;;;; +06BC;ARABIC LETTER NOON WITH RING;Lo;0;AL;;;;;N;;;;; +06BD;ARABIC LETTER NOON WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06BE;ARABIC LETTER HEH DOACHASHMEE;Lo;0;AL;;;;;N;ARABIC LETTER KNOTTED HA;;;; +06BF;ARABIC LETTER TCHEH WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +06C0;ARABIC LETTER HEH WITH YEH ABOVE;Lo;0;AL;06D5 0654;;;;N;ARABIC LETTER HAMZAH ON HA;;;; +06C1;ARABIC LETTER HEH GOAL;Lo;0;AL;;;;;N;ARABIC LETTER HA GOAL;;;; +06C2;ARABIC LETTER HEH GOAL WITH HAMZA ABOVE;Lo;0;AL;06C1 0654;;;;N;ARABIC LETTER HAMZAH ON HA GOAL;;;; +06C3;ARABIC LETTER TEH MARBUTA GOAL;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH GOAL;;;; +06C4;ARABIC LETTER WAW WITH RING;Lo;0;AL;;;;;N;;;;; +06C5;ARABIC LETTER KIRGHIZ OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH BAR;;;; +06C6;ARABIC LETTER OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH SMALL V;;;; +06C7;ARABIC LETTER U;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH DAMMAH;;;; +06C8;ARABIC LETTER YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH ALEF ABOVE;;;; +06C9;ARABIC LETTER KIRGHIZ YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH INVERTED SMALL V;;;; +06CA;ARABIC LETTER WAW WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06CB;ARABIC LETTER VE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH THREE DOTS ABOVE;;;; +06CC;ARABIC LETTER FARSI YEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS YA;;;; +06CD;ARABIC LETTER YEH WITH TAIL;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TAIL;;;; +06CE;ARABIC LETTER YEH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH SMALL V;;;; +06CF;ARABIC LETTER WAW WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +06D0;ARABIC LETTER E;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW;*;;; +06D1;ARABIC LETTER YEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH THREE DOTS BELOW;;;; +06D2;ARABIC LETTER YEH BARREE;Lo;0;AL;;;;;N;ARABIC LETTER YA BARREE;;;; +06D3;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE;Lo;0;AL;06D2 0654;;;;N;ARABIC LETTER HAMZAH ON YA BARREE;;;; +06D4;ARABIC FULL STOP;Po;0;AL;;;;;N;ARABIC PERIOD;;;; +06D5;ARABIC LETTER AE;Lo;0;AL;;;;;N;;;;; +06D6;ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;; +06D7;ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;; +06D8;ARABIC SMALL HIGH MEEM INITIAL FORM;Mn;230;NSM;;;;;N;;;;; +06D9;ARABIC SMALL HIGH LAM ALEF;Mn;230;NSM;;;;;N;;;;; +06DA;ARABIC SMALL HIGH JEEM;Mn;230;NSM;;;;;N;;;;; +06DB;ARABIC SMALL HIGH THREE DOTS;Mn;230;NSM;;;;;N;;;;; +06DC;ARABIC SMALL HIGH SEEN;Mn;230;NSM;;;;;N;;;;; +06DD;ARABIC END OF AYAH;Cf;0;AN;;;;;N;;;;; +06DE;ARABIC START OF RUB EL HIZB;Me;0;NSM;;;;;N;;;;; +06DF;ARABIC SMALL HIGH ROUNDED ZERO;Mn;230;NSM;;;;;N;;;;; +06E0;ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO;Mn;230;NSM;;;;;N;;;;; +06E1;ARABIC SMALL HIGH DOTLESS HEAD OF KHAH;Mn;230;NSM;;;;;N;;;;; +06E2;ARABIC SMALL HIGH MEEM ISOLATED FORM;Mn;230;NSM;;;;;N;;;;; +06E3;ARABIC SMALL LOW SEEN;Mn;220;NSM;;;;;N;;;;; +06E4;ARABIC SMALL HIGH MADDA;Mn;230;NSM;;;;;N;;;;; +06E5;ARABIC SMALL WAW;Lm;0;AL;;;;;N;;;;; +06E6;ARABIC SMALL YEH;Lm;0;AL;;;;;N;;;;; +06E7;ARABIC SMALL HIGH YEH;Mn;230;NSM;;;;;N;;;;; +06E8;ARABIC SMALL HIGH NOON;Mn;230;NSM;;;;;N;;;;; +06E9;ARABIC PLACE OF SAJDAH;So;0;ON;;;;;N;;;;; +06EA;ARABIC EMPTY CENTRE LOW STOP;Mn;220;NSM;;;;;N;;;;; +06EB;ARABIC EMPTY CENTRE HIGH STOP;Mn;230;NSM;;;;;N;;;;; +06EC;ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE;Mn;230;NSM;;;;;N;;;;; +06ED;ARABIC SMALL LOW MEEM;Mn;220;NSM;;;;;N;;;;; +06EE;ARABIC LETTER DAL WITH INVERTED V;Lo;0;AL;;;;;N;;;;; +06EF;ARABIC LETTER REH WITH INVERTED V;Lo;0;AL;;;;;N;;;;; +06F0;EXTENDED ARABIC-INDIC DIGIT ZERO;Nd;0;EN;;0;0;0;N;EASTERN ARABIC-INDIC DIGIT ZERO;;;; +06F1;EXTENDED ARABIC-INDIC DIGIT ONE;Nd;0;EN;;1;1;1;N;EASTERN ARABIC-INDIC DIGIT ONE;;;; +06F2;EXTENDED ARABIC-INDIC DIGIT TWO;Nd;0;EN;;2;2;2;N;EASTERN ARABIC-INDIC DIGIT TWO;;;; +06F3;EXTENDED ARABIC-INDIC DIGIT THREE;Nd;0;EN;;3;3;3;N;EASTERN ARABIC-INDIC DIGIT THREE;;;; +06F4;EXTENDED ARABIC-INDIC DIGIT FOUR;Nd;0;EN;;4;4;4;N;EASTERN ARABIC-INDIC DIGIT FOUR;;;; +06F5;EXTENDED ARABIC-INDIC DIGIT FIVE;Nd;0;EN;;5;5;5;N;EASTERN ARABIC-INDIC DIGIT FIVE;;;; +06F6;EXTENDED ARABIC-INDIC DIGIT SIX;Nd;0;EN;;6;6;6;N;EASTERN ARABIC-INDIC DIGIT SIX;;;; +06F7;EXTENDED ARABIC-INDIC DIGIT SEVEN;Nd;0;EN;;7;7;7;N;EASTERN ARABIC-INDIC DIGIT SEVEN;;;; +06F8;EXTENDED ARABIC-INDIC DIGIT EIGHT;Nd;0;EN;;8;8;8;N;EASTERN ARABIC-INDIC DIGIT EIGHT;;;; +06F9;EXTENDED ARABIC-INDIC DIGIT NINE;Nd;0;EN;;9;9;9;N;EASTERN ARABIC-INDIC DIGIT NINE;;;; +06FA;ARABIC LETTER SHEEN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +06FB;ARABIC LETTER DAD WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +06FC;ARABIC LETTER GHAIN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +06FD;ARABIC SIGN SINDHI AMPERSAND;So;0;AL;;;;;N;;;;; +06FE;ARABIC SIGN SINDHI POSTPOSITION MEN;So;0;AL;;;;;N;;;;; +06FF;ARABIC LETTER HEH WITH INVERTED V;Lo;0;AL;;;;;N;;;;; +0700;SYRIAC END OF PARAGRAPH;Po;0;AL;;;;;N;;;;; +0701;SYRIAC SUPRALINEAR FULL STOP;Po;0;AL;;;;;N;;;;; +0702;SYRIAC SUBLINEAR FULL STOP;Po;0;AL;;;;;N;;;;; +0703;SYRIAC SUPRALINEAR COLON;Po;0;AL;;;;;N;;;;; +0704;SYRIAC SUBLINEAR COLON;Po;0;AL;;;;;N;;;;; +0705;SYRIAC HORIZONTAL COLON;Po;0;AL;;;;;N;;;;; +0706;SYRIAC COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; +0707;SYRIAC COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; +0708;SYRIAC SUPRALINEAR COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; +0709;SYRIAC SUBLINEAR COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; +070A;SYRIAC CONTRACTION;Po;0;AL;;;;;N;;;;; +070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;; +070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;; +070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;; +070F;SYRIAC ABBREVIATION MARK;Cf;0;BN;;;;;N;;;;; +0710;SYRIAC LETTER ALAPH;Lo;0;AL;;;;;N;;;;; +0711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;; +0712;SYRIAC LETTER BETH;Lo;0;AL;;;;;N;;;;; +0713;SYRIAC LETTER GAMAL;Lo;0;AL;;;;;N;;;;; +0714;SYRIAC LETTER GAMAL GARSHUNI;Lo;0;AL;;;;;N;;;;; +0715;SYRIAC LETTER DALATH;Lo;0;AL;;;;;N;;;;; +0716;SYRIAC LETTER DOTLESS DALATH RISH;Lo;0;AL;;;;;N;;;;; +0717;SYRIAC LETTER HE;Lo;0;AL;;;;;N;;;;; +0718;SYRIAC LETTER WAW;Lo;0;AL;;;;;N;;;;; +0719;SYRIAC LETTER ZAIN;Lo;0;AL;;;;;N;;;;; +071A;SYRIAC LETTER HETH;Lo;0;AL;;;;;N;;;;; +071B;SYRIAC LETTER TETH;Lo;0;AL;;;;;N;;;;; +071C;SYRIAC LETTER TETH GARSHUNI;Lo;0;AL;;;;;N;;;;; +071D;SYRIAC LETTER YUDH;Lo;0;AL;;;;;N;;;;; +071E;SYRIAC LETTER YUDH HE;Lo;0;AL;;;;;N;;;;; +071F;SYRIAC LETTER KAPH;Lo;0;AL;;;;;N;;;;; +0720;SYRIAC LETTER LAMADH;Lo;0;AL;;;;;N;;;;; +0721;SYRIAC LETTER MIM;Lo;0;AL;;;;;N;;;;; +0722;SYRIAC LETTER NUN;Lo;0;AL;;;;;N;;;;; +0723;SYRIAC LETTER SEMKATH;Lo;0;AL;;;;;N;;;;; +0724;SYRIAC LETTER FINAL SEMKATH;Lo;0;AL;;;;;N;;;;; +0725;SYRIAC LETTER E;Lo;0;AL;;;;;N;;;;; +0726;SYRIAC LETTER PE;Lo;0;AL;;;;;N;;;;; +0727;SYRIAC LETTER REVERSED PE;Lo;0;AL;;;;;N;;;;; +0728;SYRIAC LETTER SADHE;Lo;0;AL;;;;;N;;;;; +0729;SYRIAC LETTER QAPH;Lo;0;AL;;;;;N;;;;; +072A;SYRIAC LETTER RISH;Lo;0;AL;;;;;N;;;;; +072B;SYRIAC LETTER SHIN;Lo;0;AL;;;;;N;;;;; +072C;SYRIAC LETTER TAW;Lo;0;AL;;;;;N;;;;; +072D;SYRIAC LETTER PERSIAN BHETH;Lo;0;AL;;;;;N;;;;; +072E;SYRIAC LETTER PERSIAN GHAMAL;Lo;0;AL;;;;;N;;;;; +072F;SYRIAC LETTER PERSIAN DHALATH;Lo;0;AL;;;;;N;;;;; +0730;SYRIAC PTHAHA ABOVE;Mn;230;NSM;;;;;N;;;;; +0731;SYRIAC PTHAHA BELOW;Mn;220;NSM;;;;;N;;;;; +0732;SYRIAC PTHAHA DOTTED;Mn;230;NSM;;;;;N;;;;; +0733;SYRIAC ZQAPHA ABOVE;Mn;230;NSM;;;;;N;;;;; +0734;SYRIAC ZQAPHA BELOW;Mn;220;NSM;;;;;N;;;;; +0735;SYRIAC ZQAPHA DOTTED;Mn;230;NSM;;;;;N;;;;; +0736;SYRIAC RBASA ABOVE;Mn;230;NSM;;;;;N;;;;; +0737;SYRIAC RBASA BELOW;Mn;220;NSM;;;;;N;;;;; +0738;SYRIAC DOTTED ZLAMA HORIZONTAL;Mn;220;NSM;;;;;N;;;;; +0739;SYRIAC DOTTED ZLAMA ANGULAR;Mn;220;NSM;;;;;N;;;;; +073A;SYRIAC HBASA ABOVE;Mn;230;NSM;;;;;N;;;;; +073B;SYRIAC HBASA BELOW;Mn;220;NSM;;;;;N;;;;; +073C;SYRIAC HBASA-ESASA DOTTED;Mn;220;NSM;;;;;N;;;;; +073D;SYRIAC ESASA ABOVE;Mn;230;NSM;;;;;N;;;;; +073E;SYRIAC ESASA BELOW;Mn;220;NSM;;;;;N;;;;; +073F;SYRIAC RWAHA;Mn;230;NSM;;;;;N;;;;; +0740;SYRIAC FEMININE DOT;Mn;230;NSM;;;;;N;;;;; +0741;SYRIAC QUSHSHAYA;Mn;230;NSM;;;;;N;;;;; +0742;SYRIAC RUKKAKHA;Mn;220;NSM;;;;;N;;;;; +0743;SYRIAC TWO VERTICAL DOTS ABOVE;Mn;230;NSM;;;;;N;;;;; +0744;SYRIAC TWO VERTICAL DOTS BELOW;Mn;220;NSM;;;;;N;;;;; +0745;SYRIAC THREE DOTS ABOVE;Mn;230;NSM;;;;;N;;;;; +0746;SYRIAC THREE DOTS BELOW;Mn;220;NSM;;;;;N;;;;; +0747;SYRIAC OBLIQUE LINE ABOVE;Mn;230;NSM;;;;;N;;;;; +0748;SYRIAC OBLIQUE LINE BELOW;Mn;220;NSM;;;;;N;;;;; +0749;SYRIAC MUSIC;Mn;230;NSM;;;;;N;;;;; +074A;SYRIAC BARREKH;Mn;230;NSM;;;;;N;;;;; +074D;SYRIAC LETTER SOGDIAN ZHAIN;Lo;0;AL;;;;;N;;;;; +074E;SYRIAC LETTER SOGDIAN KHAPH;Lo;0;AL;;;;;N;;;;; +074F;SYRIAC LETTER SOGDIAN FE;Lo;0;AL;;;;;N;;;;; +0750;ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW;Lo;0;AL;;;;;N;;;;; +0751;ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0752;ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;; +0753;ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0754;ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;; +0755;ARABIC LETTER BEH WITH INVERTED SMALL V BELOW;Lo;0;AL;;;;;N;;;;; +0756;ARABIC LETTER BEH WITH SMALL V;Lo;0;AL;;;;;N;;;;; +0757;ARABIC LETTER HAH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0758;ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;; +0759;ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH;Lo;0;AL;;;;;N;;;;; +075A;ARABIC LETTER DAL WITH INVERTED SMALL V BELOW;Lo;0;AL;;;;;N;;;;; +075B;ARABIC LETTER REH WITH STROKE;Lo;0;AL;;;;;N;;;;; +075C;ARABIC LETTER SEEN WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +075D;ARABIC LETTER AIN WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +075E;ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE;Lo;0;AL;;;;;N;;;;; +075F;ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;; +0760;ARABIC LETTER FEH WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; +0761;ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;; +0762;ARABIC LETTER KEHEH WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +0763;ARABIC LETTER KEHEH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0764;ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;; +0765;ARABIC LETTER MEEM WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +0766;ARABIC LETTER MEEM WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +0767;ARABIC LETTER NOON WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; +0768;ARABIC LETTER NOON WITH SMALL TAH;Lo;0;AL;;;;;N;;;;; +0769;ARABIC LETTER NOON WITH SMALL V;Lo;0;AL;;;;;N;;;;; +076A;ARABIC LETTER LAM WITH BAR;Lo;0;AL;;;;;N;;;;; +076B;ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;; +076C;ARABIC LETTER REH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;;;;; +076D;ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;; +076E;ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW;Lo;0;AL;;;;;N;;;;; +076F;ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS;Lo;0;AL;;;;;N;;;;; +0770;ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS;Lo;0;AL;;;;;N;;;;; +0771;ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS;Lo;0;AL;;;;;N;;;;; +0772;ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE;Lo;0;AL;;;;;N;;;;; +0773;ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;; +0774;ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;; +0775;ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;; +0776;ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;; +0777;ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW;Lo;0;AL;;;;;N;;;;; +0778;ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;; +0779;ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;; +077A;ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;; +077B;ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;; +077C;ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW;Lo;0;AL;;;;;N;;;;; +077D;ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE;Lo;0;AL;;;;;N;;;;; +077E;ARABIC LETTER SEEN WITH INVERTED V;Lo;0;AL;;;;;N;;;;; +077F;ARABIC LETTER KAF WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0780;THAANA LETTER HAA;Lo;0;AL;;;;;N;;;;; +0781;THAANA LETTER SHAVIYANI;Lo;0;AL;;;;;N;;;;; +0782;THAANA LETTER NOONU;Lo;0;AL;;;;;N;;;;; +0783;THAANA LETTER RAA;Lo;0;AL;;;;;N;;;;; +0784;THAANA LETTER BAA;Lo;0;AL;;;;;N;;;;; +0785;THAANA LETTER LHAVIYANI;Lo;0;AL;;;;;N;;;;; +0786;THAANA LETTER KAAFU;Lo;0;AL;;;;;N;;;;; +0787;THAANA LETTER ALIFU;Lo;0;AL;;;;;N;;;;; +0788;THAANA LETTER VAAVU;Lo;0;AL;;;;;N;;;;; +0789;THAANA LETTER MEEMU;Lo;0;AL;;;;;N;;;;; +078A;THAANA LETTER FAAFU;Lo;0;AL;;;;;N;;;;; +078B;THAANA LETTER DHAALU;Lo;0;AL;;;;;N;;;;; +078C;THAANA LETTER THAA;Lo;0;AL;;;;;N;;;;; +078D;THAANA LETTER LAAMU;Lo;0;AL;;;;;N;;;;; +078E;THAANA LETTER GAAFU;Lo;0;AL;;;;;N;;;;; +078F;THAANA LETTER GNAVIYANI;Lo;0;AL;;;;;N;;;;; +0790;THAANA LETTER SEENU;Lo;0;AL;;;;;N;;;;; +0791;THAANA LETTER DAVIYANI;Lo;0;AL;;;;;N;;;;; +0792;THAANA LETTER ZAVIYANI;Lo;0;AL;;;;;N;;;;; +0793;THAANA LETTER TAVIYANI;Lo;0;AL;;;;;N;;;;; +0794;THAANA LETTER YAA;Lo;0;AL;;;;;N;;;;; +0795;THAANA LETTER PAVIYANI;Lo;0;AL;;;;;N;;;;; +0796;THAANA LETTER JAVIYANI;Lo;0;AL;;;;;N;;;;; +0797;THAANA LETTER CHAVIYANI;Lo;0;AL;;;;;N;;;;; +0798;THAANA LETTER TTAA;Lo;0;AL;;;;;N;;;;; +0799;THAANA LETTER HHAA;Lo;0;AL;;;;;N;;;;; +079A;THAANA LETTER KHAA;Lo;0;AL;;;;;N;;;;; +079B;THAANA LETTER THAALU;Lo;0;AL;;;;;N;;;;; +079C;THAANA LETTER ZAA;Lo;0;AL;;;;;N;;;;; +079D;THAANA LETTER SHEENU;Lo;0;AL;;;;;N;;;;; +079E;THAANA LETTER SAADHU;Lo;0;AL;;;;;N;;;;; +079F;THAANA LETTER DAADHU;Lo;0;AL;;;;;N;;;;; +07A0;THAANA LETTER TO;Lo;0;AL;;;;;N;;;;; +07A1;THAANA LETTER ZO;Lo;0;AL;;;;;N;;;;; +07A2;THAANA LETTER AINU;Lo;0;AL;;;;;N;;;;; +07A3;THAANA LETTER GHAINU;Lo;0;AL;;;;;N;;;;; +07A4;THAANA LETTER QAAFU;Lo;0;AL;;;;;N;;;;; +07A5;THAANA LETTER WAAVU;Lo;0;AL;;;;;N;;;;; +07A6;THAANA ABAFILI;Mn;0;NSM;;;;;N;;;;; +07A7;THAANA AABAAFILI;Mn;0;NSM;;;;;N;;;;; +07A8;THAANA IBIFILI;Mn;0;NSM;;;;;N;;;;; +07A9;THAANA EEBEEFILI;Mn;0;NSM;;;;;N;;;;; +07AA;THAANA UBUFILI;Mn;0;NSM;;;;;N;;;;; +07AB;THAANA OOBOOFILI;Mn;0;NSM;;;;;N;;;;; +07AC;THAANA EBEFILI;Mn;0;NSM;;;;;N;;;;; +07AD;THAANA EYBEYFILI;Mn;0;NSM;;;;;N;;;;; +07AE;THAANA OBOFILI;Mn;0;NSM;;;;;N;;;;; +07AF;THAANA OABOAFILI;Mn;0;NSM;;;;;N;;;;; +07B0;THAANA SUKUN;Mn;0;NSM;;;;;N;;;;; +07B1;THAANA LETTER NAA;Lo;0;AL;;;;;N;;;;; +07C0;NKO DIGIT ZERO;Nd;0;R;;0;0;0;N;;;;; +07C1;NKO DIGIT ONE;Nd;0;R;;1;1;1;N;;;;; +07C2;NKO DIGIT TWO;Nd;0;R;;2;2;2;N;;;;; +07C3;NKO DIGIT THREE;Nd;0;R;;3;3;3;N;;;;; +07C4;NKO DIGIT FOUR;Nd;0;R;;4;4;4;N;;;;; +07C5;NKO DIGIT FIVE;Nd;0;R;;5;5;5;N;;;;; +07C6;NKO DIGIT SIX;Nd;0;R;;6;6;6;N;;;;; +07C7;NKO DIGIT SEVEN;Nd;0;R;;7;7;7;N;;;;; +07C8;NKO DIGIT EIGHT;Nd;0;R;;8;8;8;N;;;;; +07C9;NKO DIGIT NINE;Nd;0;R;;9;9;9;N;;;;; +07CA;NKO LETTER A;Lo;0;R;;;;;N;;;;; +07CB;NKO LETTER EE;Lo;0;R;;;;;N;;;;; +07CC;NKO LETTER I;Lo;0;R;;;;;N;;;;; +07CD;NKO LETTER E;Lo;0;R;;;;;N;;;;; +07CE;NKO LETTER U;Lo;0;R;;;;;N;;;;; +07CF;NKO LETTER OO;Lo;0;R;;;;;N;;;;; +07D0;NKO LETTER O;Lo;0;R;;;;;N;;;;; +07D1;NKO LETTER DAGBASINNA;Lo;0;R;;;;;N;;;;; +07D2;NKO LETTER N;Lo;0;R;;;;;N;;;;; +07D3;NKO LETTER BA;Lo;0;R;;;;;N;;;;; +07D4;NKO LETTER PA;Lo;0;R;;;;;N;;;;; +07D5;NKO LETTER TA;Lo;0;R;;;;;N;;;;; +07D6;NKO LETTER JA;Lo;0;R;;;;;N;;;;; +07D7;NKO LETTER CHA;Lo;0;R;;;;;N;;;;; +07D8;NKO LETTER DA;Lo;0;R;;;;;N;;;;; +07D9;NKO LETTER RA;Lo;0;R;;;;;N;;;;; +07DA;NKO LETTER RRA;Lo;0;R;;;;;N;;;;; +07DB;NKO LETTER SA;Lo;0;R;;;;;N;;;;; +07DC;NKO LETTER GBA;Lo;0;R;;;;;N;;;;; +07DD;NKO LETTER FA;Lo;0;R;;;;;N;;;;; +07DE;NKO LETTER KA;Lo;0;R;;;;;N;;;;; +07DF;NKO LETTER LA;Lo;0;R;;;;;N;;;;; +07E0;NKO LETTER NA WOLOSO;Lo;0;R;;;;;N;;;;; +07E1;NKO LETTER MA;Lo;0;R;;;;;N;;;;; +07E2;NKO LETTER NYA;Lo;0;R;;;;;N;;;;; +07E3;NKO LETTER NA;Lo;0;R;;;;;N;;;;; +07E4;NKO LETTER HA;Lo;0;R;;;;;N;;;;; +07E5;NKO LETTER WA;Lo;0;R;;;;;N;;;;; +07E6;NKO LETTER YA;Lo;0;R;;;;;N;;;;; +07E7;NKO LETTER NYA WOLOSO;Lo;0;R;;;;;N;;;;; +07E8;NKO LETTER JONA JA;Lo;0;R;;;;;N;;;;; +07E9;NKO LETTER JONA CHA;Lo;0;R;;;;;N;;;;; +07EA;NKO LETTER JONA RA;Lo;0;R;;;;;N;;;;; +07EB;NKO COMBINING SHORT HIGH TONE;Mn;230;NSM;;;;;N;;;;; +07EC;NKO COMBINING SHORT LOW TONE;Mn;230;NSM;;;;;N;;;;; +07ED;NKO COMBINING SHORT RISING TONE;Mn;230;NSM;;;;;N;;;;; +07EE;NKO COMBINING LONG DESCENDING TONE;Mn;230;NSM;;;;;N;;;;; +07EF;NKO COMBINING LONG HIGH TONE;Mn;230;NSM;;;;;N;;;;; +07F0;NKO COMBINING LONG LOW TONE;Mn;230;NSM;;;;;N;;;;; +07F1;NKO COMBINING LONG RISING TONE;Mn;230;NSM;;;;;N;;;;; +07F2;NKO COMBINING NASALIZATION MARK;Mn;220;NSM;;;;;N;;;;; +07F3;NKO COMBINING DOUBLE DOT ABOVE;Mn;230;NSM;;;;;N;;;;; +07F4;NKO HIGH TONE APOSTROPHE;Lm;0;R;;;;;N;;;;; +07F5;NKO LOW TONE APOSTROPHE;Lm;0;R;;;;;N;;;;; +07F6;NKO SYMBOL OO DENNEN;So;0;ON;;;;;N;;;;; +07F7;NKO SYMBOL GBAKURUNEN;Po;0;ON;;;;;N;;;;; +07F8;NKO COMMA;Po;0;ON;;;;;N;;;;; +07F9;NKO EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; +07FA;NKO LAJANYALAN;Lm;0;R;;;;;N;;;;; +0901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +0903;DEVANAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0904;DEVANAGARI LETTER SHORT A;Lo;0;L;;;;;N;;;;; +0905;DEVANAGARI LETTER A;Lo;0;L;;;;;N;;;;; +0906;DEVANAGARI LETTER AA;Lo;0;L;;;;;N;;;;; +0907;DEVANAGARI LETTER I;Lo;0;L;;;;;N;;;;; +0908;DEVANAGARI LETTER II;Lo;0;L;;;;;N;;;;; +0909;DEVANAGARI LETTER U;Lo;0;L;;;;;N;;;;; +090A;DEVANAGARI LETTER UU;Lo;0;L;;;;;N;;;;; +090B;DEVANAGARI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +090C;DEVANAGARI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +090D;DEVANAGARI LETTER CANDRA E;Lo;0;L;;;;;N;;;;; +090E;DEVANAGARI LETTER SHORT E;Lo;0;L;;;;;N;;;;; +090F;DEVANAGARI LETTER E;Lo;0;L;;;;;N;;;;; +0910;DEVANAGARI LETTER AI;Lo;0;L;;;;;N;;;;; +0911;DEVANAGARI LETTER CANDRA O;Lo;0;L;;;;;N;;;;; +0912;DEVANAGARI LETTER SHORT O;Lo;0;L;;;;;N;;;;; +0913;DEVANAGARI LETTER O;Lo;0;L;;;;;N;;;;; +0914;DEVANAGARI LETTER AU;Lo;0;L;;;;;N;;;;; +0915;DEVANAGARI LETTER KA;Lo;0;L;;;;;N;;;;; +0916;DEVANAGARI LETTER KHA;Lo;0;L;;;;;N;;;;; +0917;DEVANAGARI LETTER GA;Lo;0;L;;;;;N;;;;; +0918;DEVANAGARI LETTER GHA;Lo;0;L;;;;;N;;;;; +0919;DEVANAGARI LETTER NGA;Lo;0;L;;;;;N;;;;; +091A;DEVANAGARI LETTER CA;Lo;0;L;;;;;N;;;;; +091B;DEVANAGARI LETTER CHA;Lo;0;L;;;;;N;;;;; +091C;DEVANAGARI LETTER JA;Lo;0;L;;;;;N;;;;; +091D;DEVANAGARI LETTER JHA;Lo;0;L;;;;;N;;;;; +091E;DEVANAGARI LETTER NYA;Lo;0;L;;;;;N;;;;; +091F;DEVANAGARI LETTER TTA;Lo;0;L;;;;;N;;;;; +0920;DEVANAGARI LETTER TTHA;Lo;0;L;;;;;N;;;;; +0921;DEVANAGARI LETTER DDA;Lo;0;L;;;;;N;;;;; +0922;DEVANAGARI LETTER DDHA;Lo;0;L;;;;;N;;;;; +0923;DEVANAGARI LETTER NNA;Lo;0;L;;;;;N;;;;; +0924;DEVANAGARI LETTER TA;Lo;0;L;;;;;N;;;;; +0925;DEVANAGARI LETTER THA;Lo;0;L;;;;;N;;;;; +0926;DEVANAGARI LETTER DA;Lo;0;L;;;;;N;;;;; +0927;DEVANAGARI LETTER DHA;Lo;0;L;;;;;N;;;;; +0928;DEVANAGARI LETTER NA;Lo;0;L;;;;;N;;;;; +0929;DEVANAGARI LETTER NNNA;Lo;0;L;0928 093C;;;;N;;;;; +092A;DEVANAGARI LETTER PA;Lo;0;L;;;;;N;;;;; +092B;DEVANAGARI LETTER PHA;Lo;0;L;;;;;N;;;;; +092C;DEVANAGARI LETTER BA;Lo;0;L;;;;;N;;;;; +092D;DEVANAGARI LETTER BHA;Lo;0;L;;;;;N;;;;; +092E;DEVANAGARI LETTER MA;Lo;0;L;;;;;N;;;;; +092F;DEVANAGARI LETTER YA;Lo;0;L;;;;;N;;;;; +0930;DEVANAGARI LETTER RA;Lo;0;L;;;;;N;;;;; +0931;DEVANAGARI LETTER RRA;Lo;0;L;0930 093C;;;;N;;;;; +0932;DEVANAGARI LETTER LA;Lo;0;L;;;;;N;;;;; +0933;DEVANAGARI LETTER LLA;Lo;0;L;;;;;N;;;;; +0934;DEVANAGARI LETTER LLLA;Lo;0;L;0933 093C;;;;N;;;;; +0935;DEVANAGARI LETTER VA;Lo;0;L;;;;;N;;;;; +0936;DEVANAGARI LETTER SHA;Lo;0;L;;;;;N;;;;; +0937;DEVANAGARI LETTER SSA;Lo;0;L;;;;;N;;;;; +0938;DEVANAGARI LETTER SA;Lo;0;L;;;;;N;;;;; +0939;DEVANAGARI LETTER HA;Lo;0;L;;;;;N;;;;; +093C;DEVANAGARI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +093D;DEVANAGARI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +093E;DEVANAGARI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +093F;DEVANAGARI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +0940;DEVANAGARI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +0941;DEVANAGARI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +0942;DEVANAGARI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +0943;DEVANAGARI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +0944;DEVANAGARI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +0945;DEVANAGARI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;; +0946;DEVANAGARI VOWEL SIGN SHORT E;Mn;0;NSM;;;;;N;;;;; +0947;DEVANAGARI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +0948;DEVANAGARI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +0949;DEVANAGARI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;; +094A;DEVANAGARI VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;; +094B;DEVANAGARI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +094C;DEVANAGARI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +094D;DEVANAGARI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0950;DEVANAGARI OM;Lo;0;L;;;;;N;;;;; +0951;DEVANAGARI STRESS SIGN UDATTA;Mn;230;NSM;;;;;N;;;;; +0952;DEVANAGARI STRESS SIGN ANUDATTA;Mn;220;NSM;;;;;N;;;;; +0953;DEVANAGARI GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;; +0954;DEVANAGARI ACUTE ACCENT;Mn;230;NSM;;;;;N;;;;; +0958;DEVANAGARI LETTER QA;Lo;0;L;0915 093C;;;;N;;;;; +0959;DEVANAGARI LETTER KHHA;Lo;0;L;0916 093C;;;;N;;;;; +095A;DEVANAGARI LETTER GHHA;Lo;0;L;0917 093C;;;;N;;;;; +095B;DEVANAGARI LETTER ZA;Lo;0;L;091C 093C;;;;N;;;;; +095C;DEVANAGARI LETTER DDDHA;Lo;0;L;0921 093C;;;;N;;;;; +095D;DEVANAGARI LETTER RHA;Lo;0;L;0922 093C;;;;N;;;;; +095E;DEVANAGARI LETTER FA;Lo;0;L;092B 093C;;;;N;;;;; +095F;DEVANAGARI LETTER YYA;Lo;0;L;092F 093C;;;;N;;;;; +0960;DEVANAGARI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0961;DEVANAGARI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0962;DEVANAGARI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0963;DEVANAGARI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0964;DEVANAGARI DANDA;Po;0;L;;;;;N;;;;; +0965;DEVANAGARI DOUBLE DANDA;Po;0;L;;;;;N;;;;; +0966;DEVANAGARI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0967;DEVANAGARI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0968;DEVANAGARI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0969;DEVANAGARI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +096A;DEVANAGARI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +096B;DEVANAGARI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +096C;DEVANAGARI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +096D;DEVANAGARI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +096E;DEVANAGARI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +096F;DEVANAGARI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0970;DEVANAGARI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +0971;DEVANAGARI SIGN HIGH SPACING DOT;Lm;0;L;;;;;N;;;;; +0972;DEVANAGARI LETTER CANDRA A;Lo;0;L;;;;;N;;;;; +097B;DEVANAGARI LETTER GGA;Lo;0;L;;;;;N;;;;; +097C;DEVANAGARI LETTER JJA;Lo;0;L;;;;;N;;;;; +097D;DEVANAGARI LETTER GLOTTAL STOP;Lo;0;L;;;;;N;;;;; +097E;DEVANAGARI LETTER DDDA;Lo;0;L;;;;;N;;;;; +097F;DEVANAGARI LETTER BBA;Lo;0;L;;;;;N;;;;; +0981;BENGALI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0982;BENGALI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +0983;BENGALI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0985;BENGALI LETTER A;Lo;0;L;;;;;N;;;;; +0986;BENGALI LETTER AA;Lo;0;L;;;;;N;;;;; +0987;BENGALI LETTER I;Lo;0;L;;;;;N;;;;; +0988;BENGALI LETTER II;Lo;0;L;;;;;N;;;;; +0989;BENGALI LETTER U;Lo;0;L;;;;;N;;;;; +098A;BENGALI LETTER UU;Lo;0;L;;;;;N;;;;; +098B;BENGALI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +098C;BENGALI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +098F;BENGALI LETTER E;Lo;0;L;;;;;N;;;;; +0990;BENGALI LETTER AI;Lo;0;L;;;;;N;;;;; +0993;BENGALI LETTER O;Lo;0;L;;;;;N;;;;; +0994;BENGALI LETTER AU;Lo;0;L;;;;;N;;;;; +0995;BENGALI LETTER KA;Lo;0;L;;;;;N;;;;; +0996;BENGALI LETTER KHA;Lo;0;L;;;;;N;;;;; +0997;BENGALI LETTER GA;Lo;0;L;;;;;N;;;;; +0998;BENGALI LETTER GHA;Lo;0;L;;;;;N;;;;; +0999;BENGALI LETTER NGA;Lo;0;L;;;;;N;;;;; +099A;BENGALI LETTER CA;Lo;0;L;;;;;N;;;;; +099B;BENGALI LETTER CHA;Lo;0;L;;;;;N;;;;; +099C;BENGALI LETTER JA;Lo;0;L;;;;;N;;;;; +099D;BENGALI LETTER JHA;Lo;0;L;;;;;N;;;;; +099E;BENGALI LETTER NYA;Lo;0;L;;;;;N;;;;; +099F;BENGALI LETTER TTA;Lo;0;L;;;;;N;;;;; +09A0;BENGALI LETTER TTHA;Lo;0;L;;;;;N;;;;; +09A1;BENGALI LETTER DDA;Lo;0;L;;;;;N;;;;; +09A2;BENGALI LETTER DDHA;Lo;0;L;;;;;N;;;;; +09A3;BENGALI LETTER NNA;Lo;0;L;;;;;N;;;;; +09A4;BENGALI LETTER TA;Lo;0;L;;;;;N;;;;; +09A5;BENGALI LETTER THA;Lo;0;L;;;;;N;;;;; +09A6;BENGALI LETTER DA;Lo;0;L;;;;;N;;;;; +09A7;BENGALI LETTER DHA;Lo;0;L;;;;;N;;;;; +09A8;BENGALI LETTER NA;Lo;0;L;;;;;N;;;;; +09AA;BENGALI LETTER PA;Lo;0;L;;;;;N;;;;; +09AB;BENGALI LETTER PHA;Lo;0;L;;;;;N;;;;; +09AC;BENGALI LETTER BA;Lo;0;L;;;;;N;;;;; +09AD;BENGALI LETTER BHA;Lo;0;L;;;;;N;;;;; +09AE;BENGALI LETTER MA;Lo;0;L;;;;;N;;;;; +09AF;BENGALI LETTER YA;Lo;0;L;;;;;N;;;;; +09B0;BENGALI LETTER RA;Lo;0;L;;;;;N;;;;; +09B2;BENGALI LETTER LA;Lo;0;L;;;;;N;;;;; +09B6;BENGALI LETTER SHA;Lo;0;L;;;;;N;;;;; +09B7;BENGALI LETTER SSA;Lo;0;L;;;;;N;;;;; +09B8;BENGALI LETTER SA;Lo;0;L;;;;;N;;;;; +09B9;BENGALI LETTER HA;Lo;0;L;;;;;N;;;;; +09BC;BENGALI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +09BD;BENGALI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +09BE;BENGALI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +09BF;BENGALI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +09C0;BENGALI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +09C1;BENGALI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +09C2;BENGALI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +09C3;BENGALI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +09C4;BENGALI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +09C7;BENGALI VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +09C8;BENGALI VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +09CB;BENGALI VOWEL SIGN O;Mc;0;L;09C7 09BE;;;;N;;;;; +09CC;BENGALI VOWEL SIGN AU;Mc;0;L;09C7 09D7;;;;N;;;;; +09CD;BENGALI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +09CE;BENGALI LETTER KHANDA TA;Lo;0;L;;;;;N;;;;; +09D7;BENGALI AU LENGTH MARK;Mc;0;L;;;;;N;;;;; +09DC;BENGALI LETTER RRA;Lo;0;L;09A1 09BC;;;;N;;;;; +09DD;BENGALI LETTER RHA;Lo;0;L;09A2 09BC;;;;N;;;;; +09DF;BENGALI LETTER YYA;Lo;0;L;09AF 09BC;;;;N;;;;; +09E0;BENGALI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +09E1;BENGALI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +09E2;BENGALI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +09E3;BENGALI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +09E6;BENGALI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +09E7;BENGALI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +09E8;BENGALI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +09E9;BENGALI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +09EA;BENGALI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +09EB;BENGALI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +09EC;BENGALI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +09ED;BENGALI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +09EE;BENGALI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +09EF;BENGALI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +09F0;BENGALI LETTER RA WITH MIDDLE DIAGONAL;Lo;0;L;;;;;N;;Assamese;;; +09F1;BENGALI LETTER RA WITH LOWER DIAGONAL;Lo;0;L;;;;;N;BENGALI LETTER VA WITH LOWER DIAGONAL;Assamese;;; +09F2;BENGALI RUPEE MARK;Sc;0;ET;;;;;N;;;;; +09F3;BENGALI RUPEE SIGN;Sc;0;ET;;;;;N;;;;; +09F4;BENGALI CURRENCY NUMERATOR ONE;No;0;L;;;;1;N;;;;; +09F5;BENGALI CURRENCY NUMERATOR TWO;No;0;L;;;;2;N;;;;; +09F6;BENGALI CURRENCY NUMERATOR THREE;No;0;L;;;;3;N;;;;; +09F7;BENGALI CURRENCY NUMERATOR FOUR;No;0;L;;;;4;N;;;;; +09F8;BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR;No;0;L;;;;;N;;;;; +09F9;BENGALI CURRENCY DENOMINATOR SIXTEEN;No;0;L;;;;16;N;;;;; +09FA;BENGALI ISSHAR;So;0;L;;;;;N;;;;; +0A01;GURMUKHI SIGN ADAK BINDI;Mn;0;NSM;;;;;N;;;;; +0A02;GURMUKHI SIGN BINDI;Mn;0;NSM;;;;;N;;;;; +0A03;GURMUKHI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0A05;GURMUKHI LETTER A;Lo;0;L;;;;;N;;;;; +0A06;GURMUKHI LETTER AA;Lo;0;L;;;;;N;;;;; +0A07;GURMUKHI LETTER I;Lo;0;L;;;;;N;;;;; +0A08;GURMUKHI LETTER II;Lo;0;L;;;;;N;;;;; +0A09;GURMUKHI LETTER U;Lo;0;L;;;;;N;;;;; +0A0A;GURMUKHI LETTER UU;Lo;0;L;;;;;N;;;;; +0A0F;GURMUKHI LETTER EE;Lo;0;L;;;;;N;;;;; +0A10;GURMUKHI LETTER AI;Lo;0;L;;;;;N;;;;; +0A13;GURMUKHI LETTER OO;Lo;0;L;;;;;N;;;;; +0A14;GURMUKHI LETTER AU;Lo;0;L;;;;;N;;;;; +0A15;GURMUKHI LETTER KA;Lo;0;L;;;;;N;;;;; +0A16;GURMUKHI LETTER KHA;Lo;0;L;;;;;N;;;;; +0A17;GURMUKHI LETTER GA;Lo;0;L;;;;;N;;;;; +0A18;GURMUKHI LETTER GHA;Lo;0;L;;;;;N;;;;; +0A19;GURMUKHI LETTER NGA;Lo;0;L;;;;;N;;;;; +0A1A;GURMUKHI LETTER CA;Lo;0;L;;;;;N;;;;; +0A1B;GURMUKHI LETTER CHA;Lo;0;L;;;;;N;;;;; +0A1C;GURMUKHI LETTER JA;Lo;0;L;;;;;N;;;;; +0A1D;GURMUKHI LETTER JHA;Lo;0;L;;;;;N;;;;; +0A1E;GURMUKHI LETTER NYA;Lo;0;L;;;;;N;;;;; +0A1F;GURMUKHI LETTER TTA;Lo;0;L;;;;;N;;;;; +0A20;GURMUKHI LETTER TTHA;Lo;0;L;;;;;N;;;;; +0A21;GURMUKHI LETTER DDA;Lo;0;L;;;;;N;;;;; +0A22;GURMUKHI LETTER DDHA;Lo;0;L;;;;;N;;;;; +0A23;GURMUKHI LETTER NNA;Lo;0;L;;;;;N;;;;; +0A24;GURMUKHI LETTER TA;Lo;0;L;;;;;N;;;;; +0A25;GURMUKHI LETTER THA;Lo;0;L;;;;;N;;;;; +0A26;GURMUKHI LETTER DA;Lo;0;L;;;;;N;;;;; +0A27;GURMUKHI LETTER DHA;Lo;0;L;;;;;N;;;;; +0A28;GURMUKHI LETTER NA;Lo;0;L;;;;;N;;;;; +0A2A;GURMUKHI LETTER PA;Lo;0;L;;;;;N;;;;; +0A2B;GURMUKHI LETTER PHA;Lo;0;L;;;;;N;;;;; +0A2C;GURMUKHI LETTER BA;Lo;0;L;;;;;N;;;;; +0A2D;GURMUKHI LETTER BHA;Lo;0;L;;;;;N;;;;; +0A2E;GURMUKHI LETTER MA;Lo;0;L;;;;;N;;;;; +0A2F;GURMUKHI LETTER YA;Lo;0;L;;;;;N;;;;; +0A30;GURMUKHI LETTER RA;Lo;0;L;;;;;N;;;;; +0A32;GURMUKHI LETTER LA;Lo;0;L;;;;;N;;;;; +0A33;GURMUKHI LETTER LLA;Lo;0;L;0A32 0A3C;;;;N;;;;; +0A35;GURMUKHI LETTER VA;Lo;0;L;;;;;N;;;;; +0A36;GURMUKHI LETTER SHA;Lo;0;L;0A38 0A3C;;;;N;;;;; +0A38;GURMUKHI LETTER SA;Lo;0;L;;;;;N;;;;; +0A39;GURMUKHI LETTER HA;Lo;0;L;;;;;N;;;;; +0A3C;GURMUKHI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +0A3E;GURMUKHI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0A3F;GURMUKHI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +0A40;GURMUKHI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +0A41;GURMUKHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +0A42;GURMUKHI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +0A47;GURMUKHI VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;; +0A48;GURMUKHI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +0A4B;GURMUKHI VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;; +0A4C;GURMUKHI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +0A4D;GURMUKHI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0A51;GURMUKHI SIGN UDAAT;Mn;0;NSM;;;;;N;;;;; +0A59;GURMUKHI LETTER KHHA;Lo;0;L;0A16 0A3C;;;;N;;;;; +0A5A;GURMUKHI LETTER GHHA;Lo;0;L;0A17 0A3C;;;;N;;;;; +0A5B;GURMUKHI LETTER ZA;Lo;0;L;0A1C 0A3C;;;;N;;;;; +0A5C;GURMUKHI LETTER RRA;Lo;0;L;;;;;N;;;;; +0A5E;GURMUKHI LETTER FA;Lo;0;L;0A2B 0A3C;;;;N;;;;; +0A66;GURMUKHI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0A67;GURMUKHI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0A68;GURMUKHI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0A69;GURMUKHI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0A6A;GURMUKHI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0A6B;GURMUKHI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0A6C;GURMUKHI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0A6D;GURMUKHI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0A6E;GURMUKHI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0A6F;GURMUKHI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0A70;GURMUKHI TIPPI;Mn;0;NSM;;;;;N;;;;; +0A71;GURMUKHI ADDAK;Mn;0;NSM;;;;;N;;;;; +0A72;GURMUKHI IRI;Lo;0;L;;;;;N;;;;; +0A73;GURMUKHI URA;Lo;0;L;;;;;N;;;;; +0A74;GURMUKHI EK ONKAR;Lo;0;L;;;;;N;;;;; +0A75;GURMUKHI SIGN YAKASH;Mn;0;NSM;;;;;N;;;;; +0A81;GUJARATI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0A82;GUJARATI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +0A83;GUJARATI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0A85;GUJARATI LETTER A;Lo;0;L;;;;;N;;;;; +0A86;GUJARATI LETTER AA;Lo;0;L;;;;;N;;;;; +0A87;GUJARATI LETTER I;Lo;0;L;;;;;N;;;;; +0A88;GUJARATI LETTER II;Lo;0;L;;;;;N;;;;; +0A89;GUJARATI LETTER U;Lo;0;L;;;;;N;;;;; +0A8A;GUJARATI LETTER UU;Lo;0;L;;;;;N;;;;; +0A8B;GUJARATI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +0A8C;GUJARATI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +0A8D;GUJARATI VOWEL CANDRA E;Lo;0;L;;;;;N;;;;; +0A8F;GUJARATI LETTER E;Lo;0;L;;;;;N;;;;; +0A90;GUJARATI LETTER AI;Lo;0;L;;;;;N;;;;; +0A91;GUJARATI VOWEL CANDRA O;Lo;0;L;;;;;N;;;;; +0A93;GUJARATI LETTER O;Lo;0;L;;;;;N;;;;; +0A94;GUJARATI LETTER AU;Lo;0;L;;;;;N;;;;; +0A95;GUJARATI LETTER KA;Lo;0;L;;;;;N;;;;; +0A96;GUJARATI LETTER KHA;Lo;0;L;;;;;N;;;;; +0A97;GUJARATI LETTER GA;Lo;0;L;;;;;N;;;;; +0A98;GUJARATI LETTER GHA;Lo;0;L;;;;;N;;;;; +0A99;GUJARATI LETTER NGA;Lo;0;L;;;;;N;;;;; +0A9A;GUJARATI LETTER CA;Lo;0;L;;;;;N;;;;; +0A9B;GUJARATI LETTER CHA;Lo;0;L;;;;;N;;;;; +0A9C;GUJARATI LETTER JA;Lo;0;L;;;;;N;;;;; +0A9D;GUJARATI LETTER JHA;Lo;0;L;;;;;N;;;;; +0A9E;GUJARATI LETTER NYA;Lo;0;L;;;;;N;;;;; +0A9F;GUJARATI LETTER TTA;Lo;0;L;;;;;N;;;;; +0AA0;GUJARATI LETTER TTHA;Lo;0;L;;;;;N;;;;; +0AA1;GUJARATI LETTER DDA;Lo;0;L;;;;;N;;;;; +0AA2;GUJARATI LETTER DDHA;Lo;0;L;;;;;N;;;;; +0AA3;GUJARATI LETTER NNA;Lo;0;L;;;;;N;;;;; +0AA4;GUJARATI LETTER TA;Lo;0;L;;;;;N;;;;; +0AA5;GUJARATI LETTER THA;Lo;0;L;;;;;N;;;;; +0AA6;GUJARATI LETTER DA;Lo;0;L;;;;;N;;;;; +0AA7;GUJARATI LETTER DHA;Lo;0;L;;;;;N;;;;; +0AA8;GUJARATI LETTER NA;Lo;0;L;;;;;N;;;;; +0AAA;GUJARATI LETTER PA;Lo;0;L;;;;;N;;;;; +0AAB;GUJARATI LETTER PHA;Lo;0;L;;;;;N;;;;; +0AAC;GUJARATI LETTER BA;Lo;0;L;;;;;N;;;;; +0AAD;GUJARATI LETTER BHA;Lo;0;L;;;;;N;;;;; +0AAE;GUJARATI LETTER MA;Lo;0;L;;;;;N;;;;; +0AAF;GUJARATI LETTER YA;Lo;0;L;;;;;N;;;;; +0AB0;GUJARATI LETTER RA;Lo;0;L;;;;;N;;;;; +0AB2;GUJARATI LETTER LA;Lo;0;L;;;;;N;;;;; +0AB3;GUJARATI LETTER LLA;Lo;0;L;;;;;N;;;;; +0AB5;GUJARATI LETTER VA;Lo;0;L;;;;;N;;;;; +0AB6;GUJARATI LETTER SHA;Lo;0;L;;;;;N;;;;; +0AB7;GUJARATI LETTER SSA;Lo;0;L;;;;;N;;;;; +0AB8;GUJARATI LETTER SA;Lo;0;L;;;;;N;;;;; +0AB9;GUJARATI LETTER HA;Lo;0;L;;;;;N;;;;; +0ABC;GUJARATI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +0ABD;GUJARATI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +0ABE;GUJARATI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0ABF;GUJARATI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +0AC0;GUJARATI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +0AC1;GUJARATI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +0AC2;GUJARATI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +0AC3;GUJARATI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +0AC4;GUJARATI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +0AC5;GUJARATI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;; +0AC7;GUJARATI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +0AC8;GUJARATI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +0AC9;GUJARATI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;; +0ACB;GUJARATI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +0ACC;GUJARATI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +0ACD;GUJARATI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0AD0;GUJARATI OM;Lo;0;L;;;;;N;;;;; +0AE0;GUJARATI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0AE1;GUJARATI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0AE2;GUJARATI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0AE3;GUJARATI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0AE6;GUJARATI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0AE7;GUJARATI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0AE8;GUJARATI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0AE9;GUJARATI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0AEA;GUJARATI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0AEB;GUJARATI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0AEC;GUJARATI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;; +0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0B05;ORIYA LETTER A;Lo;0;L;;;;;N;;;;; +0B06;ORIYA LETTER AA;Lo;0;L;;;;;N;;;;; +0B07;ORIYA LETTER I;Lo;0;L;;;;;N;;;;; +0B08;ORIYA LETTER II;Lo;0;L;;;;;N;;;;; +0B09;ORIYA LETTER U;Lo;0;L;;;;;N;;;;; +0B0A;ORIYA LETTER UU;Lo;0;L;;;;;N;;;;; +0B0B;ORIYA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +0B0C;ORIYA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +0B0F;ORIYA LETTER E;Lo;0;L;;;;;N;;;;; +0B10;ORIYA LETTER AI;Lo;0;L;;;;;N;;;;; +0B13;ORIYA LETTER O;Lo;0;L;;;;;N;;;;; +0B14;ORIYA LETTER AU;Lo;0;L;;;;;N;;;;; +0B15;ORIYA LETTER KA;Lo;0;L;;;;;N;;;;; +0B16;ORIYA LETTER KHA;Lo;0;L;;;;;N;;;;; +0B17;ORIYA LETTER GA;Lo;0;L;;;;;N;;;;; +0B18;ORIYA LETTER GHA;Lo;0;L;;;;;N;;;;; +0B19;ORIYA LETTER NGA;Lo;0;L;;;;;N;;;;; +0B1A;ORIYA LETTER CA;Lo;0;L;;;;;N;;;;; +0B1B;ORIYA LETTER CHA;Lo;0;L;;;;;N;;;;; +0B1C;ORIYA LETTER JA;Lo;0;L;;;;;N;;;;; +0B1D;ORIYA LETTER JHA;Lo;0;L;;;;;N;;;;; +0B1E;ORIYA LETTER NYA;Lo;0;L;;;;;N;;;;; +0B1F;ORIYA LETTER TTA;Lo;0;L;;;;;N;;;;; +0B20;ORIYA LETTER TTHA;Lo;0;L;;;;;N;;;;; +0B21;ORIYA LETTER DDA;Lo;0;L;;;;;N;;;;; +0B22;ORIYA LETTER DDHA;Lo;0;L;;;;;N;;;;; +0B23;ORIYA LETTER NNA;Lo;0;L;;;;;N;;;;; +0B24;ORIYA LETTER TA;Lo;0;L;;;;;N;;;;; +0B25;ORIYA LETTER THA;Lo;0;L;;;;;N;;;;; +0B26;ORIYA LETTER DA;Lo;0;L;;;;;N;;;;; +0B27;ORIYA LETTER DHA;Lo;0;L;;;;;N;;;;; +0B28;ORIYA LETTER NA;Lo;0;L;;;;;N;;;;; +0B2A;ORIYA LETTER PA;Lo;0;L;;;;;N;;;;; +0B2B;ORIYA LETTER PHA;Lo;0;L;;;;;N;;;;; +0B2C;ORIYA LETTER BA;Lo;0;L;;;;;N;;;;; +0B2D;ORIYA LETTER BHA;Lo;0;L;;;;;N;;;;; +0B2E;ORIYA LETTER MA;Lo;0;L;;;;;N;;;;; +0B2F;ORIYA LETTER YA;Lo;0;L;;;;;N;;;;; +0B30;ORIYA LETTER RA;Lo;0;L;;;;;N;;;;; +0B32;ORIYA LETTER LA;Lo;0;L;;;;;N;;;;; +0B33;ORIYA LETTER LLA;Lo;0;L;;;;;N;;;;; +0B35;ORIYA LETTER VA;Lo;0;L;;;;;N;;;;; +0B36;ORIYA LETTER SHA;Lo;0;L;;;;;N;;;;; +0B37;ORIYA LETTER SSA;Lo;0;L;;;;;N;;;;; +0B38;ORIYA LETTER SA;Lo;0;L;;;;;N;;;;; +0B39;ORIYA LETTER HA;Lo;0;L;;;;;N;;;;; +0B3C;ORIYA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +0B3D;ORIYA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +0B3E;ORIYA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0B3F;ORIYA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +0B40;ORIYA VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +0B41;ORIYA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +0B42;ORIYA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +0B43;ORIYA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +0B44;ORIYA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +0B47;ORIYA VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +0B48;ORIYA VOWEL SIGN AI;Mc;0;L;0B47 0B56;;;;N;;;;; +0B4B;ORIYA VOWEL SIGN O;Mc;0;L;0B47 0B3E;;;;N;;;;; +0B4C;ORIYA VOWEL SIGN AU;Mc;0;L;0B47 0B57;;;;N;;;;; +0B4D;ORIYA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0B56;ORIYA AI LENGTH MARK;Mn;0;NSM;;;;;N;;;;; +0B57;ORIYA AU LENGTH MARK;Mc;0;L;;;;;N;;;;; +0B5C;ORIYA LETTER RRA;Lo;0;L;0B21 0B3C;;;;N;;;;; +0B5D;ORIYA LETTER RHA;Lo;0;L;0B22 0B3C;;;;N;;;;; +0B5F;ORIYA LETTER YYA;Lo;0;L;;;;;N;;;;; +0B60;ORIYA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0B61;ORIYA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0B62;ORIYA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0B63;ORIYA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0B66;ORIYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0B67;ORIYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0B68;ORIYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0B69;ORIYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0B6A;ORIYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0B6B;ORIYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0B6C;ORIYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0B6D;ORIYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0B6E;ORIYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0B6F;ORIYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0B70;ORIYA ISSHAR;So;0;L;;;;;N;;;;; +0B71;ORIYA LETTER WA;Lo;0;L;;;;;N;;;;; +0B82;TAMIL SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +0B83;TAMIL SIGN VISARGA;Lo;0;L;;;;;N;;;;; +0B85;TAMIL LETTER A;Lo;0;L;;;;;N;;;;; +0B86;TAMIL LETTER AA;Lo;0;L;;;;;N;;;;; +0B87;TAMIL LETTER I;Lo;0;L;;;;;N;;;;; +0B88;TAMIL LETTER II;Lo;0;L;;;;;N;;;;; +0B89;TAMIL LETTER U;Lo;0;L;;;;;N;;;;; +0B8A;TAMIL LETTER UU;Lo;0;L;;;;;N;;;;; +0B8E;TAMIL LETTER E;Lo;0;L;;;;;N;;;;; +0B8F;TAMIL LETTER EE;Lo;0;L;;;;;N;;;;; +0B90;TAMIL LETTER AI;Lo;0;L;;;;;N;;;;; +0B92;TAMIL LETTER O;Lo;0;L;;;;;N;;;;; +0B93;TAMIL LETTER OO;Lo;0;L;;;;;N;;;;; +0B94;TAMIL LETTER AU;Lo;0;L;0B92 0BD7;;;;N;;;;; +0B95;TAMIL LETTER KA;Lo;0;L;;;;;N;;;;; +0B99;TAMIL LETTER NGA;Lo;0;L;;;;;N;;;;; +0B9A;TAMIL LETTER CA;Lo;0;L;;;;;N;;;;; +0B9C;TAMIL LETTER JA;Lo;0;L;;;;;N;;;;; +0B9E;TAMIL LETTER NYA;Lo;0;L;;;;;N;;;;; +0B9F;TAMIL LETTER TTA;Lo;0;L;;;;;N;;;;; +0BA3;TAMIL LETTER NNA;Lo;0;L;;;;;N;;;;; +0BA4;TAMIL LETTER TA;Lo;0;L;;;;;N;;;;; +0BA8;TAMIL LETTER NA;Lo;0;L;;;;;N;;;;; +0BA9;TAMIL LETTER NNNA;Lo;0;L;;;;;N;;;;; +0BAA;TAMIL LETTER PA;Lo;0;L;;;;;N;;;;; +0BAE;TAMIL LETTER MA;Lo;0;L;;;;;N;;;;; +0BAF;TAMIL LETTER YA;Lo;0;L;;;;;N;;;;; +0BB0;TAMIL LETTER RA;Lo;0;L;;;;;N;;;;; +0BB1;TAMIL LETTER RRA;Lo;0;L;;;;;N;;;;; +0BB2;TAMIL LETTER LA;Lo;0;L;;;;;N;;;;; +0BB3;TAMIL LETTER LLA;Lo;0;L;;;;;N;;;;; +0BB4;TAMIL LETTER LLLA;Lo;0;L;;;;;N;;;;; +0BB5;TAMIL LETTER VA;Lo;0;L;;;;;N;;;;; +0BB6;TAMIL LETTER SHA;Lo;0;L;;;;;N;;;;; +0BB7;TAMIL LETTER SSA;Lo;0;L;;;;;N;;;;; +0BB8;TAMIL LETTER SA;Lo;0;L;;;;;N;;;;; +0BB9;TAMIL LETTER HA;Lo;0;L;;;;;N;;;;; +0BBE;TAMIL VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0BBF;TAMIL VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +0BC0;TAMIL VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +0BC1;TAMIL VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +0BC2;TAMIL VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +0BC6;TAMIL VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +0BC7;TAMIL VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; +0BC8;TAMIL VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +0BCA;TAMIL VOWEL SIGN O;Mc;0;L;0BC6 0BBE;;;;N;;;;; +0BCB;TAMIL VOWEL SIGN OO;Mc;0;L;0BC7 0BBE;;;;N;;;;; +0BCC;TAMIL VOWEL SIGN AU;Mc;0;L;0BC6 0BD7;;;;N;;;;; +0BCD;TAMIL SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0BD0;TAMIL OM;Lo;0;L;;;;;N;;;;; +0BD7;TAMIL AU LENGTH MARK;Mc;0;L;;;;;N;;;;; +0BE6;TAMIL DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0BE7;TAMIL DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0BE8;TAMIL DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0BE9;TAMIL DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0BEA;TAMIL DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0BEB;TAMIL DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0BEC;TAMIL DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0BED;TAMIL DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0BEE;TAMIL DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0BEF;TAMIL DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0BF0;TAMIL NUMBER TEN;No;0;L;;;;10;N;;;;; +0BF1;TAMIL NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;; +0BF2;TAMIL NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;; +0BF3;TAMIL DAY SIGN;So;0;ON;;;;;N;;Naal;;; +0BF4;TAMIL MONTH SIGN;So;0;ON;;;;;N;;Maatham;;; +0BF5;TAMIL YEAR SIGN;So;0;ON;;;;;N;;Varudam;;; +0BF6;TAMIL DEBIT SIGN;So;0;ON;;;;;N;;Patru;;; +0BF7;TAMIL CREDIT SIGN;So;0;ON;;;;;N;;Varavu;;; +0BF8;TAMIL AS ABOVE SIGN;So;0;ON;;;;;N;;Merpadi;;; +0BF9;TAMIL RUPEE SIGN;Sc;0;ET;;;;;N;;Rupai;;; +0BFA;TAMIL NUMBER SIGN;So;0;ON;;;;;N;;Enn;;; +0C01;TELUGU SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;; +0C02;TELUGU SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +0C03;TELUGU SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0C05;TELUGU LETTER A;Lo;0;L;;;;;N;;;;; +0C06;TELUGU LETTER AA;Lo;0;L;;;;;N;;;;; +0C07;TELUGU LETTER I;Lo;0;L;;;;;N;;;;; +0C08;TELUGU LETTER II;Lo;0;L;;;;;N;;;;; +0C09;TELUGU LETTER U;Lo;0;L;;;;;N;;;;; +0C0A;TELUGU LETTER UU;Lo;0;L;;;;;N;;;;; +0C0B;TELUGU LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +0C0C;TELUGU LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +0C0E;TELUGU LETTER E;Lo;0;L;;;;;N;;;;; +0C0F;TELUGU LETTER EE;Lo;0;L;;;;;N;;;;; +0C10;TELUGU LETTER AI;Lo;0;L;;;;;N;;;;; +0C12;TELUGU LETTER O;Lo;0;L;;;;;N;;;;; +0C13;TELUGU LETTER OO;Lo;0;L;;;;;N;;;;; +0C14;TELUGU LETTER AU;Lo;0;L;;;;;N;;;;; +0C15;TELUGU LETTER KA;Lo;0;L;;;;;N;;;;; +0C16;TELUGU LETTER KHA;Lo;0;L;;;;;N;;;;; +0C17;TELUGU LETTER GA;Lo;0;L;;;;;N;;;;; +0C18;TELUGU LETTER GHA;Lo;0;L;;;;;N;;;;; +0C19;TELUGU LETTER NGA;Lo;0;L;;;;;N;;;;; +0C1A;TELUGU LETTER CA;Lo;0;L;;;;;N;;;;; +0C1B;TELUGU LETTER CHA;Lo;0;L;;;;;N;;;;; +0C1C;TELUGU LETTER JA;Lo;0;L;;;;;N;;;;; +0C1D;TELUGU LETTER JHA;Lo;0;L;;;;;N;;;;; +0C1E;TELUGU LETTER NYA;Lo;0;L;;;;;N;;;;; +0C1F;TELUGU LETTER TTA;Lo;0;L;;;;;N;;;;; +0C20;TELUGU LETTER TTHA;Lo;0;L;;;;;N;;;;; +0C21;TELUGU LETTER DDA;Lo;0;L;;;;;N;;;;; +0C22;TELUGU LETTER DDHA;Lo;0;L;;;;;N;;;;; +0C23;TELUGU LETTER NNA;Lo;0;L;;;;;N;;;;; +0C24;TELUGU LETTER TA;Lo;0;L;;;;;N;;;;; +0C25;TELUGU LETTER THA;Lo;0;L;;;;;N;;;;; +0C26;TELUGU LETTER DA;Lo;0;L;;;;;N;;;;; +0C27;TELUGU LETTER DHA;Lo;0;L;;;;;N;;;;; +0C28;TELUGU LETTER NA;Lo;0;L;;;;;N;;;;; +0C2A;TELUGU LETTER PA;Lo;0;L;;;;;N;;;;; +0C2B;TELUGU LETTER PHA;Lo;0;L;;;;;N;;;;; +0C2C;TELUGU LETTER BA;Lo;0;L;;;;;N;;;;; +0C2D;TELUGU LETTER BHA;Lo;0;L;;;;;N;;;;; +0C2E;TELUGU LETTER MA;Lo;0;L;;;;;N;;;;; +0C2F;TELUGU LETTER YA;Lo;0;L;;;;;N;;;;; +0C30;TELUGU LETTER RA;Lo;0;L;;;;;N;;;;; +0C31;TELUGU LETTER RRA;Lo;0;L;;;;;N;;;;; +0C32;TELUGU LETTER LA;Lo;0;L;;;;;N;;;;; +0C33;TELUGU LETTER LLA;Lo;0;L;;;;;N;;;;; +0C35;TELUGU LETTER VA;Lo;0;L;;;;;N;;;;; +0C36;TELUGU LETTER SHA;Lo;0;L;;;;;N;;;;; +0C37;TELUGU LETTER SSA;Lo;0;L;;;;;N;;;;; +0C38;TELUGU LETTER SA;Lo;0;L;;;;;N;;;;; +0C39;TELUGU LETTER HA;Lo;0;L;;;;;N;;;;; +0C3D;TELUGU SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +0C3E;TELUGU VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;; +0C3F;TELUGU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +0C40;TELUGU VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +0C41;TELUGU VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +0C42;TELUGU VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +0C43;TELUGU VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; +0C44;TELUGU VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; +0C46;TELUGU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +0C47;TELUGU VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;; +0C48;TELUGU VOWEL SIGN AI;Mn;0;NSM;0C46 0C56;;;;N;;;;; +0C4A;TELUGU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +0C4B;TELUGU VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;; +0C4C;TELUGU VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +0C4D;TELUGU SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0C55;TELUGU LENGTH MARK;Mn;84;NSM;;;;;N;;;;; +0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;N;;;;; +0C58;TELUGU LETTER TSA;Lo;0;L;;;;;N;;;;; +0C59;TELUGU LETTER DZA;Lo;0;L;;;;;N;;;;; +0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0C62;TELUGU VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0C63;TELUGU VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0C66;TELUGU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0C67;TELUGU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0C68;TELUGU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0C69;TELUGU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0C6A;TELUGU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0C6B;TELUGU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0C6C;TELUGU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0C6D;TELUGU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0C6E;TELUGU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0C6F;TELUGU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0C78;TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR;No;0;ON;;;;0;N;;;;; +0C79;TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR;No;0;ON;;;;1;N;;;;; +0C7A;TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR;No;0;ON;;;;2;N;;;;; +0C7B;TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR;No;0;ON;;;;3;N;;;;; +0C7C;TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR;No;0;ON;;;;1;N;;;;; +0C7D;TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR;No;0;ON;;;;2;N;;;;; +0C7E;TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR;No;0;ON;;;;3;N;;;;; +0C7F;TELUGU SIGN TUUMU;So;0;L;;;;;N;;;;; +0C82;KANNADA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +0C83;KANNADA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0C85;KANNADA LETTER A;Lo;0;L;;;;;N;;;;; +0C86;KANNADA LETTER AA;Lo;0;L;;;;;N;;;;; +0C87;KANNADA LETTER I;Lo;0;L;;;;;N;;;;; +0C88;KANNADA LETTER II;Lo;0;L;;;;;N;;;;; +0C89;KANNADA LETTER U;Lo;0;L;;;;;N;;;;; +0C8A;KANNADA LETTER UU;Lo;0;L;;;;;N;;;;; +0C8B;KANNADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +0C8C;KANNADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +0C8E;KANNADA LETTER E;Lo;0;L;;;;;N;;;;; +0C8F;KANNADA LETTER EE;Lo;0;L;;;;;N;;;;; +0C90;KANNADA LETTER AI;Lo;0;L;;;;;N;;;;; +0C92;KANNADA LETTER O;Lo;0;L;;;;;N;;;;; +0C93;KANNADA LETTER OO;Lo;0;L;;;;;N;;;;; +0C94;KANNADA LETTER AU;Lo;0;L;;;;;N;;;;; +0C95;KANNADA LETTER KA;Lo;0;L;;;;;N;;;;; +0C96;KANNADA LETTER KHA;Lo;0;L;;;;;N;;;;; +0C97;KANNADA LETTER GA;Lo;0;L;;;;;N;;;;; +0C98;KANNADA LETTER GHA;Lo;0;L;;;;;N;;;;; +0C99;KANNADA LETTER NGA;Lo;0;L;;;;;N;;;;; +0C9A;KANNADA LETTER CA;Lo;0;L;;;;;N;;;;; +0C9B;KANNADA LETTER CHA;Lo;0;L;;;;;N;;;;; +0C9C;KANNADA LETTER JA;Lo;0;L;;;;;N;;;;; +0C9D;KANNADA LETTER JHA;Lo;0;L;;;;;N;;;;; +0C9E;KANNADA LETTER NYA;Lo;0;L;;;;;N;;;;; +0C9F;KANNADA LETTER TTA;Lo;0;L;;;;;N;;;;; +0CA0;KANNADA LETTER TTHA;Lo;0;L;;;;;N;;;;; +0CA1;KANNADA LETTER DDA;Lo;0;L;;;;;N;;;;; +0CA2;KANNADA LETTER DDHA;Lo;0;L;;;;;N;;;;; +0CA3;KANNADA LETTER NNA;Lo;0;L;;;;;N;;;;; +0CA4;KANNADA LETTER TA;Lo;0;L;;;;;N;;;;; +0CA5;KANNADA LETTER THA;Lo;0;L;;;;;N;;;;; +0CA6;KANNADA LETTER DA;Lo;0;L;;;;;N;;;;; +0CA7;KANNADA LETTER DHA;Lo;0;L;;;;;N;;;;; +0CA8;KANNADA LETTER NA;Lo;0;L;;;;;N;;;;; +0CAA;KANNADA LETTER PA;Lo;0;L;;;;;N;;;;; +0CAB;KANNADA LETTER PHA;Lo;0;L;;;;;N;;;;; +0CAC;KANNADA LETTER BA;Lo;0;L;;;;;N;;;;; +0CAD;KANNADA LETTER BHA;Lo;0;L;;;;;N;;;;; +0CAE;KANNADA LETTER MA;Lo;0;L;;;;;N;;;;; +0CAF;KANNADA LETTER YA;Lo;0;L;;;;;N;;;;; +0CB0;KANNADA LETTER RA;Lo;0;L;;;;;N;;;;; +0CB1;KANNADA LETTER RRA;Lo;0;L;;;;;N;;;;; +0CB2;KANNADA LETTER LA;Lo;0;L;;;;;N;;;;; +0CB3;KANNADA LETTER LLA;Lo;0;L;;;;;N;;;;; +0CB5;KANNADA LETTER VA;Lo;0;L;;;;;N;;;;; +0CB6;KANNADA LETTER SHA;Lo;0;L;;;;;N;;;;; +0CB7;KANNADA LETTER SSA;Lo;0;L;;;;;N;;;;; +0CB8;KANNADA LETTER SA;Lo;0;L;;;;;N;;;;; +0CB9;KANNADA LETTER HA;Lo;0;L;;;;;N;;;;; +0CBC;KANNADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +0CBD;KANNADA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +0CBE;KANNADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0CBF;KANNADA VOWEL SIGN I;Mn;0;L;;;;;N;;;;; +0CC0;KANNADA VOWEL SIGN II;Mc;0;L;0CBF 0CD5;;;;N;;;;; +0CC1;KANNADA VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +0CC2;KANNADA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +0CC3;KANNADA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; +0CC4;KANNADA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; +0CC6;KANNADA VOWEL SIGN E;Mn;0;L;;;;;N;;;;; +0CC7;KANNADA VOWEL SIGN EE;Mc;0;L;0CC6 0CD5;;;;N;;;;; +0CC8;KANNADA VOWEL SIGN AI;Mc;0;L;0CC6 0CD6;;;;N;;;;; +0CCA;KANNADA VOWEL SIGN O;Mc;0;L;0CC6 0CC2;;;;N;;;;; +0CCB;KANNADA VOWEL SIGN OO;Mc;0;L;0CCA 0CD5;;;;N;;;;; +0CCC;KANNADA VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +0CCD;KANNADA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0CD5;KANNADA LENGTH MARK;Mc;0;L;;;;;N;;;;; +0CD6;KANNADA AI LENGTH MARK;Mc;0;L;;;;;N;;;;; +0CDE;KANNADA LETTER FA;Lo;0;L;;;;;N;;;;; +0CE0;KANNADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0CE1;KANNADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0CE2;KANNADA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0CE3;KANNADA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0CE6;KANNADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0CE7;KANNADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0CE8;KANNADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0CE9;KANNADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0CEA;KANNADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0CEB;KANNADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0CEC;KANNADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0CED;KANNADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0CEE;KANNADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0CF1;KANNADA SIGN JIHVAMULIYA;So;0;ON;;;;;N;;;;; +0CF2;KANNADA SIGN UPADHMANIYA;So;0;ON;;;;;N;;;;; +0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +0D03;MALAYALAM SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0D05;MALAYALAM LETTER A;Lo;0;L;;;;;N;;;;; +0D06;MALAYALAM LETTER AA;Lo;0;L;;;;;N;;;;; +0D07;MALAYALAM LETTER I;Lo;0;L;;;;;N;;;;; +0D08;MALAYALAM LETTER II;Lo;0;L;;;;;N;;;;; +0D09;MALAYALAM LETTER U;Lo;0;L;;;;;N;;;;; +0D0A;MALAYALAM LETTER UU;Lo;0;L;;;;;N;;;;; +0D0B;MALAYALAM LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +0D0C;MALAYALAM LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +0D0E;MALAYALAM LETTER E;Lo;0;L;;;;;N;;;;; +0D0F;MALAYALAM LETTER EE;Lo;0;L;;;;;N;;;;; +0D10;MALAYALAM LETTER AI;Lo;0;L;;;;;N;;;;; +0D12;MALAYALAM LETTER O;Lo;0;L;;;;;N;;;;; +0D13;MALAYALAM LETTER OO;Lo;0;L;;;;;N;;;;; +0D14;MALAYALAM LETTER AU;Lo;0;L;;;;;N;;;;; +0D15;MALAYALAM LETTER KA;Lo;0;L;;;;;N;;;;; +0D16;MALAYALAM LETTER KHA;Lo;0;L;;;;;N;;;;; +0D17;MALAYALAM LETTER GA;Lo;0;L;;;;;N;;;;; +0D18;MALAYALAM LETTER GHA;Lo;0;L;;;;;N;;;;; +0D19;MALAYALAM LETTER NGA;Lo;0;L;;;;;N;;;;; +0D1A;MALAYALAM LETTER CA;Lo;0;L;;;;;N;;;;; +0D1B;MALAYALAM LETTER CHA;Lo;0;L;;;;;N;;;;; +0D1C;MALAYALAM LETTER JA;Lo;0;L;;;;;N;;;;; +0D1D;MALAYALAM LETTER JHA;Lo;0;L;;;;;N;;;;; +0D1E;MALAYALAM LETTER NYA;Lo;0;L;;;;;N;;;;; +0D1F;MALAYALAM LETTER TTA;Lo;0;L;;;;;N;;;;; +0D20;MALAYALAM LETTER TTHA;Lo;0;L;;;;;N;;;;; +0D21;MALAYALAM LETTER DDA;Lo;0;L;;;;;N;;;;; +0D22;MALAYALAM LETTER DDHA;Lo;0;L;;;;;N;;;;; +0D23;MALAYALAM LETTER NNA;Lo;0;L;;;;;N;;;;; +0D24;MALAYALAM LETTER TA;Lo;0;L;;;;;N;;;;; +0D25;MALAYALAM LETTER THA;Lo;0;L;;;;;N;;;;; +0D26;MALAYALAM LETTER DA;Lo;0;L;;;;;N;;;;; +0D27;MALAYALAM LETTER DHA;Lo;0;L;;;;;N;;;;; +0D28;MALAYALAM LETTER NA;Lo;0;L;;;;;N;;;;; +0D2A;MALAYALAM LETTER PA;Lo;0;L;;;;;N;;;;; +0D2B;MALAYALAM LETTER PHA;Lo;0;L;;;;;N;;;;; +0D2C;MALAYALAM LETTER BA;Lo;0;L;;;;;N;;;;; +0D2D;MALAYALAM LETTER BHA;Lo;0;L;;;;;N;;;;; +0D2E;MALAYALAM LETTER MA;Lo;0;L;;;;;N;;;;; +0D2F;MALAYALAM LETTER YA;Lo;0;L;;;;;N;;;;; +0D30;MALAYALAM LETTER RA;Lo;0;L;;;;;N;;;;; +0D31;MALAYALAM LETTER RRA;Lo;0;L;;;;;N;;;;; +0D32;MALAYALAM LETTER LA;Lo;0;L;;;;;N;;;;; +0D33;MALAYALAM LETTER LLA;Lo;0;L;;;;;N;;;;; +0D34;MALAYALAM LETTER LLLA;Lo;0;L;;;;;N;;;;; +0D35;MALAYALAM LETTER VA;Lo;0;L;;;;;N;;;;; +0D36;MALAYALAM LETTER SHA;Lo;0;L;;;;;N;;;;; +0D37;MALAYALAM LETTER SSA;Lo;0;L;;;;;N;;;;; +0D38;MALAYALAM LETTER SA;Lo;0;L;;;;;N;;;;; +0D39;MALAYALAM LETTER HA;Lo;0;L;;;;;N;;;;; +0D3D;MALAYALAM SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +0D3E;MALAYALAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0D3F;MALAYALAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +0D40;MALAYALAM VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +0D41;MALAYALAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +0D42;MALAYALAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +0D43;MALAYALAM VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +0D44;MALAYALAM VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +0D46;MALAYALAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +0D47;MALAYALAM VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; +0D48;MALAYALAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +0D4A;MALAYALAM VOWEL SIGN O;Mc;0;L;0D46 0D3E;;;;N;;;;; +0D4B;MALAYALAM VOWEL SIGN OO;Mc;0;L;0D47 0D3E;;;;N;;;;; +0D4C;MALAYALAM VOWEL SIGN AU;Mc;0;L;0D46 0D57;;;;N;;;;; +0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;; +0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0D62;MALAYALAM VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0D63;MALAYALAM VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0D66;MALAYALAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0D67;MALAYALAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0D68;MALAYALAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0D69;MALAYALAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0D6A;MALAYALAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0D6B;MALAYALAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0D6C;MALAYALAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0D6D;MALAYALAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0D6E;MALAYALAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0D6F;MALAYALAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0D70;MALAYALAM NUMBER TEN;No;0;L;;;;10;N;;;;; +0D71;MALAYALAM NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;; +0D72;MALAYALAM NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;; +0D73;MALAYALAM FRACTION ONE QUARTER;No;0;L;;;;1/4;N;;;;; +0D74;MALAYALAM FRACTION ONE HALF;No;0;L;;;;1/2;N;;;;; +0D75;MALAYALAM FRACTION THREE QUARTERS;No;0;L;;;;3/4;N;;;;; +0D79;MALAYALAM DATE MARK;So;0;L;;;;;N;;;;; +0D7A;MALAYALAM LETTER CHILLU NN;Lo;0;L;;;;;N;;;;; +0D7B;MALAYALAM LETTER CHILLU N;Lo;0;L;;;;;N;;;;; +0D7C;MALAYALAM LETTER CHILLU RR;Lo;0;L;;;;;N;;;;; +0D7D;MALAYALAM LETTER CHILLU L;Lo;0;L;;;;;N;;;;; +0D7E;MALAYALAM LETTER CHILLU LL;Lo;0;L;;;;;N;;;;; +0D7F;MALAYALAM LETTER CHILLU K;Lo;0;L;;;;;N;;;;; +0D82;SINHALA SIGN ANUSVARAYA;Mc;0;L;;;;;N;;;;; +0D83;SINHALA SIGN VISARGAYA;Mc;0;L;;;;;N;;;;; +0D85;SINHALA LETTER AYANNA;Lo;0;L;;;;;N;;;;; +0D86;SINHALA LETTER AAYANNA;Lo;0;L;;;;;N;;;;; +0D87;SINHALA LETTER AEYANNA;Lo;0;L;;;;;N;;;;; +0D88;SINHALA LETTER AEEYANNA;Lo;0;L;;;;;N;;;;; +0D89;SINHALA LETTER IYANNA;Lo;0;L;;;;;N;;;;; +0D8A;SINHALA LETTER IIYANNA;Lo;0;L;;;;;N;;;;; +0D8B;SINHALA LETTER UYANNA;Lo;0;L;;;;;N;;;;; +0D8C;SINHALA LETTER UUYANNA;Lo;0;L;;;;;N;;;;; +0D8D;SINHALA LETTER IRUYANNA;Lo;0;L;;;;;N;;;;; +0D8E;SINHALA LETTER IRUUYANNA;Lo;0;L;;;;;N;;;;; +0D8F;SINHALA LETTER ILUYANNA;Lo;0;L;;;;;N;;;;; +0D90;SINHALA LETTER ILUUYANNA;Lo;0;L;;;;;N;;;;; +0D91;SINHALA LETTER EYANNA;Lo;0;L;;;;;N;;;;; +0D92;SINHALA LETTER EEYANNA;Lo;0;L;;;;;N;;;;; +0D93;SINHALA LETTER AIYANNA;Lo;0;L;;;;;N;;;;; +0D94;SINHALA LETTER OYANNA;Lo;0;L;;;;;N;;;;; +0D95;SINHALA LETTER OOYANNA;Lo;0;L;;;;;N;;;;; +0D96;SINHALA LETTER AUYANNA;Lo;0;L;;;;;N;;;;; +0D9A;SINHALA LETTER ALPAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;; +0D9B;SINHALA LETTER MAHAAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;; +0D9C;SINHALA LETTER ALPAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;; +0D9D;SINHALA LETTER MAHAAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;; +0D9E;SINHALA LETTER KANTAJA NAASIKYAYA;Lo;0;L;;;;;N;;;;; +0D9F;SINHALA LETTER SANYAKA GAYANNA;Lo;0;L;;;;;N;;;;; +0DA0;SINHALA LETTER ALPAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;; +0DA1;SINHALA LETTER MAHAAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;; +0DA2;SINHALA LETTER ALPAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;; +0DA3;SINHALA LETTER MAHAAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;; +0DA4;SINHALA LETTER TAALUJA NAASIKYAYA;Lo;0;L;;;;;N;;;;; +0DA5;SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA;Lo;0;L;;;;;N;;;;; +0DA6;SINHALA LETTER SANYAKA JAYANNA;Lo;0;L;;;;;N;;;;; +0DA7;SINHALA LETTER ALPAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;; +0DA8;SINHALA LETTER MAHAAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;; +0DA9;SINHALA LETTER ALPAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;; +0DAA;SINHALA LETTER MAHAAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;; +0DAB;SINHALA LETTER MUURDHAJA NAYANNA;Lo;0;L;;;;;N;;;;; +0DAC;SINHALA LETTER SANYAKA DDAYANNA;Lo;0;L;;;;;N;;;;; +0DAD;SINHALA LETTER ALPAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;; +0DAE;SINHALA LETTER MAHAAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;; +0DAF;SINHALA LETTER ALPAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;; +0DB0;SINHALA LETTER MAHAAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;; +0DB1;SINHALA LETTER DANTAJA NAYANNA;Lo;0;L;;;;;N;;;;; +0DB3;SINHALA LETTER SANYAKA DAYANNA;Lo;0;L;;;;;N;;;;; +0DB4;SINHALA LETTER ALPAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;; +0DB5;SINHALA LETTER MAHAAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;; +0DB6;SINHALA LETTER ALPAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;; +0DB7;SINHALA LETTER MAHAAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;; +0DB8;SINHALA LETTER MAYANNA;Lo;0;L;;;;;N;;;;; +0DB9;SINHALA LETTER AMBA BAYANNA;Lo;0;L;;;;;N;;;;; +0DBA;SINHALA LETTER YAYANNA;Lo;0;L;;;;;N;;;;; +0DBB;SINHALA LETTER RAYANNA;Lo;0;L;;;;;N;;;;; +0DBD;SINHALA LETTER DANTAJA LAYANNA;Lo;0;L;;;;;N;;;;; +0DC0;SINHALA LETTER VAYANNA;Lo;0;L;;;;;N;;;;; +0DC1;SINHALA LETTER TAALUJA SAYANNA;Lo;0;L;;;;;N;;;;; +0DC2;SINHALA LETTER MUURDHAJA SAYANNA;Lo;0;L;;;;;N;;;;; +0DC3;SINHALA LETTER DANTAJA SAYANNA;Lo;0;L;;;;;N;;;;; +0DC4;SINHALA LETTER HAYANNA;Lo;0;L;;;;;N;;;;; +0DC5;SINHALA LETTER MUURDHAJA LAYANNA;Lo;0;L;;;;;N;;;;; +0DC6;SINHALA LETTER FAYANNA;Lo;0;L;;;;;N;;;;; +0DCA;SINHALA SIGN AL-LAKUNA;Mn;9;NSM;;;;;N;;;;; +0DCF;SINHALA VOWEL SIGN AELA-PILLA;Mc;0;L;;;;;N;;;;; +0DD0;SINHALA VOWEL SIGN KETTI AEDA-PILLA;Mc;0;L;;;;;N;;;;; +0DD1;SINHALA VOWEL SIGN DIGA AEDA-PILLA;Mc;0;L;;;;;N;;;;; +0DD2;SINHALA VOWEL SIGN KETTI IS-PILLA;Mn;0;NSM;;;;;N;;;;; +0DD3;SINHALA VOWEL SIGN DIGA IS-PILLA;Mn;0;NSM;;;;;N;;;;; +0DD4;SINHALA VOWEL SIGN KETTI PAA-PILLA;Mn;0;NSM;;;;;N;;;;; +0DD6;SINHALA VOWEL SIGN DIGA PAA-PILLA;Mn;0;NSM;;;;;N;;;;; +0DD8;SINHALA VOWEL SIGN GAETTA-PILLA;Mc;0;L;;;;;N;;;;; +0DD9;SINHALA VOWEL SIGN KOMBUVA;Mc;0;L;;;;;N;;;;; +0DDA;SINHALA VOWEL SIGN DIGA KOMBUVA;Mc;0;L;0DD9 0DCA;;;;N;;;;; +0DDB;SINHALA VOWEL SIGN KOMBU DEKA;Mc;0;L;;;;;N;;;;; +0DDC;SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA;Mc;0;L;0DD9 0DCF;;;;N;;;;; +0DDD;SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA;Mc;0;L;0DDC 0DCA;;;;N;;;;; +0DDE;SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA;Mc;0;L;0DD9 0DDF;;;;N;;;;; +0DDF;SINHALA VOWEL SIGN GAYANUKITTA;Mc;0;L;;;;;N;;;;; +0DF2;SINHALA VOWEL SIGN DIGA GAETTA-PILLA;Mc;0;L;;;;;N;;;;; +0DF3;SINHALA VOWEL SIGN DIGA GAYANUKITTA;Mc;0;L;;;;;N;;;;; +0DF4;SINHALA PUNCTUATION KUNDDALIYA;Po;0;L;;;;;N;;;;; +0E01;THAI CHARACTER KO KAI;Lo;0;L;;;;;N;THAI LETTER KO KAI;;;; +0E02;THAI CHARACTER KHO KHAI;Lo;0;L;;;;;N;THAI LETTER KHO KHAI;;;; +0E03;THAI CHARACTER KHO KHUAT;Lo;0;L;;;;;N;THAI LETTER KHO KHUAT;;;; +0E04;THAI CHARACTER KHO KHWAI;Lo;0;L;;;;;N;THAI LETTER KHO KHWAI;;;; +0E05;THAI CHARACTER KHO KHON;Lo;0;L;;;;;N;THAI LETTER KHO KHON;;;; +0E06;THAI CHARACTER KHO RAKHANG;Lo;0;L;;;;;N;THAI LETTER KHO RAKHANG;;;; +0E07;THAI CHARACTER NGO NGU;Lo;0;L;;;;;N;THAI LETTER NGO NGU;;;; +0E08;THAI CHARACTER CHO CHAN;Lo;0;L;;;;;N;THAI LETTER CHO CHAN;;;; +0E09;THAI CHARACTER CHO CHING;Lo;0;L;;;;;N;THAI LETTER CHO CHING;;;; +0E0A;THAI CHARACTER CHO CHANG;Lo;0;L;;;;;N;THAI LETTER CHO CHANG;;;; +0E0B;THAI CHARACTER SO SO;Lo;0;L;;;;;N;THAI LETTER SO SO;;;; +0E0C;THAI CHARACTER CHO CHOE;Lo;0;L;;;;;N;THAI LETTER CHO CHOE;;;; +0E0D;THAI CHARACTER YO YING;Lo;0;L;;;;;N;THAI LETTER YO YING;;;; +0E0E;THAI CHARACTER DO CHADA;Lo;0;L;;;;;N;THAI LETTER DO CHADA;;;; +0E0F;THAI CHARACTER TO PATAK;Lo;0;L;;;;;N;THAI LETTER TO PATAK;;;; +0E10;THAI CHARACTER THO THAN;Lo;0;L;;;;;N;THAI LETTER THO THAN;;;; +0E11;THAI CHARACTER THO NANGMONTHO;Lo;0;L;;;;;N;THAI LETTER THO NANGMONTHO;;;; +0E12;THAI CHARACTER THO PHUTHAO;Lo;0;L;;;;;N;THAI LETTER THO PHUTHAO;;;; +0E13;THAI CHARACTER NO NEN;Lo;0;L;;;;;N;THAI LETTER NO NEN;;;; +0E14;THAI CHARACTER DO DEK;Lo;0;L;;;;;N;THAI LETTER DO DEK;;;; +0E15;THAI CHARACTER TO TAO;Lo;0;L;;;;;N;THAI LETTER TO TAO;;;; +0E16;THAI CHARACTER THO THUNG;Lo;0;L;;;;;N;THAI LETTER THO THUNG;;;; +0E17;THAI CHARACTER THO THAHAN;Lo;0;L;;;;;N;THAI LETTER THO THAHAN;;;; +0E18;THAI CHARACTER THO THONG;Lo;0;L;;;;;N;THAI LETTER THO THONG;;;; +0E19;THAI CHARACTER NO NU;Lo;0;L;;;;;N;THAI LETTER NO NU;;;; +0E1A;THAI CHARACTER BO BAIMAI;Lo;0;L;;;;;N;THAI LETTER BO BAIMAI;;;; +0E1B;THAI CHARACTER PO PLA;Lo;0;L;;;;;N;THAI LETTER PO PLA;;;; +0E1C;THAI CHARACTER PHO PHUNG;Lo;0;L;;;;;N;THAI LETTER PHO PHUNG;;;; +0E1D;THAI CHARACTER FO FA;Lo;0;L;;;;;N;THAI LETTER FO FA;;;; +0E1E;THAI CHARACTER PHO PHAN;Lo;0;L;;;;;N;THAI LETTER PHO PHAN;;;; +0E1F;THAI CHARACTER FO FAN;Lo;0;L;;;;;N;THAI LETTER FO FAN;;;; +0E20;THAI CHARACTER PHO SAMPHAO;Lo;0;L;;;;;N;THAI LETTER PHO SAMPHAO;;;; +0E21;THAI CHARACTER MO MA;Lo;0;L;;;;;N;THAI LETTER MO MA;;;; +0E22;THAI CHARACTER YO YAK;Lo;0;L;;;;;N;THAI LETTER YO YAK;;;; +0E23;THAI CHARACTER RO RUA;Lo;0;L;;;;;N;THAI LETTER RO RUA;;;; +0E24;THAI CHARACTER RU;Lo;0;L;;;;;N;THAI LETTER RU;;;; +0E25;THAI CHARACTER LO LING;Lo;0;L;;;;;N;THAI LETTER LO LING;;;; +0E26;THAI CHARACTER LU;Lo;0;L;;;;;N;THAI LETTER LU;;;; +0E27;THAI CHARACTER WO WAEN;Lo;0;L;;;;;N;THAI LETTER WO WAEN;;;; +0E28;THAI CHARACTER SO SALA;Lo;0;L;;;;;N;THAI LETTER SO SALA;;;; +0E29;THAI CHARACTER SO RUSI;Lo;0;L;;;;;N;THAI LETTER SO RUSI;;;; +0E2A;THAI CHARACTER SO SUA;Lo;0;L;;;;;N;THAI LETTER SO SUA;;;; +0E2B;THAI CHARACTER HO HIP;Lo;0;L;;;;;N;THAI LETTER HO HIP;;;; +0E2C;THAI CHARACTER LO CHULA;Lo;0;L;;;;;N;THAI LETTER LO CHULA;;;; +0E2D;THAI CHARACTER O ANG;Lo;0;L;;;;;N;THAI LETTER O ANG;;;; +0E2E;THAI CHARACTER HO NOKHUK;Lo;0;L;;;;;N;THAI LETTER HO NOK HUK;;;; +0E2F;THAI CHARACTER PAIYANNOI;Lo;0;L;;;;;N;THAI PAI YAN NOI;paiyan noi;;; +0E30;THAI CHARACTER SARA A;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA A;;;; +0E31;THAI CHARACTER MAI HAN-AKAT;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI HAN-AKAT;;;; +0E32;THAI CHARACTER SARA AA;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AA;;;; +0E33;THAI CHARACTER SARA AM;Lo;0;L; 0E4D 0E32;;;;N;THAI VOWEL SIGN SARA AM;;;; +0E34;THAI CHARACTER SARA I;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA I;;;; +0E35;THAI CHARACTER SARA II;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA II;;;; +0E36;THAI CHARACTER SARA UE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UE;;;; +0E37;THAI CHARACTER SARA UEE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UEE;sara uue;;; +0E38;THAI CHARACTER SARA U;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA U;;;; +0E39;THAI CHARACTER SARA UU;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA UU;;;; +0E3A;THAI CHARACTER PHINTHU;Mn;9;NSM;;;;;N;THAI VOWEL SIGN PHINTHU;;;; +0E3F;THAI CURRENCY SYMBOL BAHT;Sc;0;ET;;;;;N;THAI BAHT SIGN;;;; +0E40;THAI CHARACTER SARA E;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA E;;;; +0E41;THAI CHARACTER SARA AE;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AE;;;; +0E42;THAI CHARACTER SARA O;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA O;;;; +0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;sara ai mai muan;;; +0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;sara ai mai malai;;; +0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;lakkhang yao;;; +0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;mai yamok;;; +0E47;THAI CHARACTER MAITAIKHU;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI TAI KHU;mai taikhu;;; +0E48;THAI CHARACTER MAI EK;Mn;107;NSM;;;;;N;THAI TONE MAI EK;;;; +0E49;THAI CHARACTER MAI THO;Mn;107;NSM;;;;;N;THAI TONE MAI THO;;;; +0E4A;THAI CHARACTER MAI TRI;Mn;107;NSM;;;;;N;THAI TONE MAI TRI;;;; +0E4B;THAI CHARACTER MAI CHATTAWA;Mn;107;NSM;;;;;N;THAI TONE MAI CHATTAWA;;;; +0E4C;THAI CHARACTER THANTHAKHAT;Mn;0;NSM;;;;;N;THAI THANTHAKHAT;;;; +0E4D;THAI CHARACTER NIKHAHIT;Mn;0;NSM;;;;;N;THAI NIKKHAHIT;nikkhahit;;; +0E4E;THAI CHARACTER YAMAKKAN;Mn;0;NSM;;;;;N;THAI YAMAKKAN;;;; +0E4F;THAI CHARACTER FONGMAN;Po;0;L;;;;;N;THAI FONGMAN;;;; +0E50;THAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0E51;THAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0E52;THAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0E53;THAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0E54;THAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0E55;THAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0E56;THAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0E57;THAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0E58;THAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0E59;THAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0E5A;THAI CHARACTER ANGKHANKHU;Po;0;L;;;;;N;THAI ANGKHANKHU;;;; +0E5B;THAI CHARACTER KHOMUT;Po;0;L;;;;;N;THAI KHOMUT;;;; +0E81;LAO LETTER KO;Lo;0;L;;;;;N;;;;; +0E82;LAO LETTER KHO SUNG;Lo;0;L;;;;;N;;;;; +0E84;LAO LETTER KHO TAM;Lo;0;L;;;;;N;;;;; +0E87;LAO LETTER NGO;Lo;0;L;;;;;N;;;;; +0E88;LAO LETTER CO;Lo;0;L;;;;;N;;;;; +0E8A;LAO LETTER SO TAM;Lo;0;L;;;;;N;;;;; +0E8D;LAO LETTER NYO;Lo;0;L;;;;;N;;;;; +0E94;LAO LETTER DO;Lo;0;L;;;;;N;;;;; +0E95;LAO LETTER TO;Lo;0;L;;;;;N;;;;; +0E96;LAO LETTER THO SUNG;Lo;0;L;;;;;N;;;;; +0E97;LAO LETTER THO TAM;Lo;0;L;;;;;N;;;;; +0E99;LAO LETTER NO;Lo;0;L;;;;;N;;;;; +0E9A;LAO LETTER BO;Lo;0;L;;;;;N;;;;; +0E9B;LAO LETTER PO;Lo;0;L;;;;;N;;;;; +0E9C;LAO LETTER PHO SUNG;Lo;0;L;;;;;N;;;;; +0E9D;LAO LETTER FO TAM;Lo;0;L;;;;;N;;;;; +0E9E;LAO LETTER PHO TAM;Lo;0;L;;;;;N;;;;; +0E9F;LAO LETTER FO SUNG;Lo;0;L;;;;;N;;;;; +0EA1;LAO LETTER MO;Lo;0;L;;;;;N;;;;; +0EA2;LAO LETTER YO;Lo;0;L;;;;;N;;;;; +0EA3;LAO LETTER LO LING;Lo;0;L;;;;;N;;;;; +0EA5;LAO LETTER LO LOOT;Lo;0;L;;;;;N;;;;; +0EA7;LAO LETTER WO;Lo;0;L;;;;;N;;;;; +0EAA;LAO LETTER SO SUNG;Lo;0;L;;;;;N;;;;; +0EAB;LAO LETTER HO SUNG;Lo;0;L;;;;;N;;;;; +0EAD;LAO LETTER O;Lo;0;L;;;;;N;;;;; +0EAE;LAO LETTER HO TAM;Lo;0;L;;;;;N;;;;; +0EAF;LAO ELLIPSIS;Lo;0;L;;;;;N;;;;; +0EB0;LAO VOWEL SIGN A;Lo;0;L;;;;;N;;;;; +0EB1;LAO VOWEL SIGN MAI KAN;Mn;0;NSM;;;;;N;;;;; +0EB2;LAO VOWEL SIGN AA;Lo;0;L;;;;;N;;;;; +0EB3;LAO VOWEL SIGN AM;Lo;0;L; 0ECD 0EB2;;;;N;;;;; +0EB4;LAO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +0EB5;LAO VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +0EB6;LAO VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;; +0EB7;LAO VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;; +0EB8;LAO VOWEL SIGN U;Mn;118;NSM;;;;;N;;;;; +0EB9;LAO VOWEL SIGN UU;Mn;118;NSM;;;;;N;;;;; +0EBB;LAO VOWEL SIGN MAI KON;Mn;0;NSM;;;;;N;;;;; +0EBC;LAO SEMIVOWEL SIGN LO;Mn;0;NSM;;;;;N;;;;; +0EBD;LAO SEMIVOWEL SIGN NYO;Lo;0;L;;;;;N;;;;; +0EC0;LAO VOWEL SIGN E;Lo;0;L;;;;;N;;;;; +0EC1;LAO VOWEL SIGN EI;Lo;0;L;;;;;N;;;;; +0EC2;LAO VOWEL SIGN O;Lo;0;L;;;;;N;;;;; +0EC3;LAO VOWEL SIGN AY;Lo;0;L;;;;;N;;;;; +0EC4;LAO VOWEL SIGN AI;Lo;0;L;;;;;N;;;;; +0EC6;LAO KO LA;Lm;0;L;;;;;N;;;;; +0EC8;LAO TONE MAI EK;Mn;122;NSM;;;;;N;;;;; +0EC9;LAO TONE MAI THO;Mn;122;NSM;;;;;N;;;;; +0ECA;LAO TONE MAI TI;Mn;122;NSM;;;;;N;;;;; +0ECB;LAO TONE MAI CATAWA;Mn;122;NSM;;;;;N;;;;; +0ECC;LAO CANCELLATION MARK;Mn;0;NSM;;;;;N;;;;; +0ECD;LAO NIGGAHITA;Mn;0;NSM;;;;;N;;;;; +0ED0;LAO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0ED1;LAO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0ED2;LAO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0ED3;LAO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0ED4;LAO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0ED5;LAO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0ED6;LAO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0ED7;LAO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0ED8;LAO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0EDC;LAO HO NO;Lo;0;L; 0EAB 0E99;;;;N;;;;; +0EDD;LAO HO MO;Lo;0;L; 0EAB 0EA1;;;;N;;;;; +0F00;TIBETAN SYLLABLE OM;Lo;0;L;;;;;N;;;;; +0F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;ter yik go a thung;;; +0F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;ter yik go wum nam chey ma;;; +0F03;TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA;So;0;L;;;;;N;;ter yik go wum ter tsek ma;;; +0F04;TIBETAN MARK INITIAL YIG MGO MDUN MA;Po;0;L;;;;;N;TIBETAN SINGLE ORNAMENT;yik go dun ma;;; +0F05;TIBETAN MARK CLOSING YIG MGO SGAB MA;Po;0;L;;;;;N;;yik go kab ma;;; +0F06;TIBETAN MARK CARET YIG MGO PHUR SHAD MA;Po;0;L;;;;;N;;yik go pur shey ma;;; +0F07;TIBETAN MARK YIG MGO TSHEG SHAD MA;Po;0;L;;;;;N;;yik go tsek shey ma;;; +0F08;TIBETAN MARK SBRUL SHAD;Po;0;L;;;;;N;TIBETAN RGYANSHAD;drul shey;;; +0F09;TIBETAN MARK BSKUR YIG MGO;Po;0;L;;;;;N;;kur yik go;;; +0F0A;TIBETAN MARK BKA- SHOG YIG MGO;Po;0;L;;;;;N;;ka sho yik go;;; +0F0B;TIBETAN MARK INTERSYLLABIC TSHEG;Po;0;L;;;;;N;TIBETAN TSEG;tsek;;; +0F0C;TIBETAN MARK DELIMITER TSHEG BSTAR;Po;0;L; 0F0B;;;;N;;tsek tar;;; +0F0D;TIBETAN MARK SHAD;Po;0;L;;;;;N;TIBETAN SHAD;shey;;; +0F0E;TIBETAN MARK NYIS SHAD;Po;0;L;;;;;N;TIBETAN DOUBLE SHAD;nyi shey;;; +0F0F;TIBETAN MARK TSHEG SHAD;Po;0;L;;;;;N;;tsek shey;;; +0F10;TIBETAN MARK NYIS TSHEG SHAD;Po;0;L;;;;;N;;nyi tsek shey;;; +0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;rinchen pung shey;;; +0F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;gya tram shey;;; +0F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;dzu ta me long chen;;; +0F14;TIBETAN MARK GTER TSHEG;So;0;L;;;;;N;TIBETAN COMMA;ter tsek;;; +0F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;che ta;;; +0F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;hlak ta;;; +0F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;trachen char ta;;; +0F18;TIBETAN ASTROLOGICAL SIGN -KHYUD PA;Mn;220;NSM;;;;;N;;kyu pa;;; +0F19;TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS;Mn;220;NSM;;;;;N;;dong tsu;;; +0F1A;TIBETAN SIGN RDEL DKAR GCIG;So;0;L;;;;;N;;deka chig;;; +0F1B;TIBETAN SIGN RDEL DKAR GNYIS;So;0;L;;;;;N;;deka nyi;;; +0F1C;TIBETAN SIGN RDEL DKAR GSUM;So;0;L;;;;;N;;deka sum;;; +0F1D;TIBETAN SIGN RDEL NAG GCIG;So;0;L;;;;;N;;dena chig;;; +0F1E;TIBETAN SIGN RDEL NAG GNYIS;So;0;L;;;;;N;;dena nyi;;; +0F1F;TIBETAN SIGN RDEL DKAR RDEL NAG;So;0;L;;;;;N;;deka dena;;; +0F20;TIBETAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0F21;TIBETAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0F22;TIBETAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0F23;TIBETAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0F24;TIBETAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0F25;TIBETAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0F26;TIBETAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0F27;TIBETAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0F28;TIBETAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0F29;TIBETAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0F2A;TIBETAN DIGIT HALF ONE;No;0;L;;;;1/2;N;;;;; +0F2B;TIBETAN DIGIT HALF TWO;No;0;L;;;;3/2;N;;;;; +0F2C;TIBETAN DIGIT HALF THREE;No;0;L;;;;5/2;N;;;;; +0F2D;TIBETAN DIGIT HALF FOUR;No;0;L;;;;7/2;N;;;;; +0F2E;TIBETAN DIGIT HALF FIVE;No;0;L;;;;9/2;N;;;;; +0F2F;TIBETAN DIGIT HALF SIX;No;0;L;;;;11/2;N;;;;; +0F30;TIBETAN DIGIT HALF SEVEN;No;0;L;;;;13/2;N;;;;; +0F31;TIBETAN DIGIT HALF EIGHT;No;0;L;;;;15/2;N;;;;; +0F32;TIBETAN DIGIT HALF NINE;No;0;L;;;;17/2;N;;;;; +0F33;TIBETAN DIGIT HALF ZERO;No;0;L;;;;-1/2;N;;;;; +0F34;TIBETAN MARK BSDUS RTAGS;So;0;L;;;;;N;;du ta;;; +0F35;TIBETAN MARK NGAS BZUNG NYI ZLA;Mn;220;NSM;;;;;N;TIBETAN HONORIFIC UNDER RING;nge zung nyi da;;; +0F36;TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN;So;0;L;;;;;N;;dzu ta shi mig chen;;; +0F37;TIBETAN MARK NGAS BZUNG SGOR RTAGS;Mn;220;NSM;;;;;N;TIBETAN UNDER RING;nge zung gor ta;;; +0F38;TIBETAN MARK CHE MGO;So;0;L;;;;;N;;che go;;; +0F39;TIBETAN MARK TSA -PHRU;Mn;216;NSM;;;;;N;TIBETAN LENITION MARK;tsa tru;;; +0F3A;TIBETAN MARK GUG RTAGS GYON;Ps;0;ON;;;;;Y;;gug ta yun;;; +0F3B;TIBETAN MARK GUG RTAGS GYAS;Pe;0;ON;;;;;Y;;gug ta ye;;; +0F3C;TIBETAN MARK ANG KHANG GYON;Ps;0;ON;;;;;Y;TIBETAN LEFT BRACE;ang kang yun;;; +0F3D;TIBETAN MARK ANG KHANG GYAS;Pe;0;ON;;;;;Y;TIBETAN RIGHT BRACE;ang kang ye;;; +0F3E;TIBETAN SIGN YAR TSHES;Mc;0;L;;;;;N;;yar tse;;; +0F3F;TIBETAN SIGN MAR TSHES;Mc;0;L;;;;;N;;mar tse;;; +0F40;TIBETAN LETTER KA;Lo;0;L;;;;;N;;;;; +0F41;TIBETAN LETTER KHA;Lo;0;L;;;;;N;;;;; +0F42;TIBETAN LETTER GA;Lo;0;L;;;;;N;;;;; +0F43;TIBETAN LETTER GHA;Lo;0;L;0F42 0FB7;;;;N;;;;; +0F44;TIBETAN LETTER NGA;Lo;0;L;;;;;N;;;;; +0F45;TIBETAN LETTER CA;Lo;0;L;;;;;N;;;;; +0F46;TIBETAN LETTER CHA;Lo;0;L;;;;;N;;;;; +0F47;TIBETAN LETTER JA;Lo;0;L;;;;;N;;;;; +0F49;TIBETAN LETTER NYA;Lo;0;L;;;;;N;;;;; +0F4A;TIBETAN LETTER TTA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED TA;;;; +0F4B;TIBETAN LETTER TTHA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED THA;;;; +0F4C;TIBETAN LETTER DDA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED DA;;;; +0F4D;TIBETAN LETTER DDHA;Lo;0;L;0F4C 0FB7;;;;N;;;;; +0F4E;TIBETAN LETTER NNA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED NA;;;; +0F4F;TIBETAN LETTER TA;Lo;0;L;;;;;N;;;;; +0F50;TIBETAN LETTER THA;Lo;0;L;;;;;N;;;;; +0F51;TIBETAN LETTER DA;Lo;0;L;;;;;N;;;;; +0F52;TIBETAN LETTER DHA;Lo;0;L;0F51 0FB7;;;;N;;;;; +0F53;TIBETAN LETTER NA;Lo;0;L;;;;;N;;;;; +0F54;TIBETAN LETTER PA;Lo;0;L;;;;;N;;;;; +0F55;TIBETAN LETTER PHA;Lo;0;L;;;;;N;;;;; +0F56;TIBETAN LETTER BA;Lo;0;L;;;;;N;;;;; +0F57;TIBETAN LETTER BHA;Lo;0;L;0F56 0FB7;;;;N;;;;; +0F58;TIBETAN LETTER MA;Lo;0;L;;;;;N;;;;; +0F59;TIBETAN LETTER TSA;Lo;0;L;;;;;N;;;;; +0F5A;TIBETAN LETTER TSHA;Lo;0;L;;;;;N;;;;; +0F5B;TIBETAN LETTER DZA;Lo;0;L;;;;;N;;;;; +0F5C;TIBETAN LETTER DZHA;Lo;0;L;0F5B 0FB7;;;;N;;;;; +0F5D;TIBETAN LETTER WA;Lo;0;L;;;;;N;;;;; +0F5E;TIBETAN LETTER ZHA;Lo;0;L;;;;;N;;;;; +0F5F;TIBETAN LETTER ZA;Lo;0;L;;;;;N;;;;; +0F60;TIBETAN LETTER -A;Lo;0;L;;;;;N;TIBETAN LETTER AA;;;; +0F61;TIBETAN LETTER YA;Lo;0;L;;;;;N;;;;; +0F62;TIBETAN LETTER RA;Lo;0;L;;;;;N;;*;;; +0F63;TIBETAN LETTER LA;Lo;0;L;;;;;N;;;;; +0F64;TIBETAN LETTER SHA;Lo;0;L;;;;;N;;;;; +0F65;TIBETAN LETTER SSA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED SHA;;;; +0F66;TIBETAN LETTER SA;Lo;0;L;;;;;N;;;;; +0F67;TIBETAN LETTER HA;Lo;0;L;;;;;N;;;;; +0F68;TIBETAN LETTER A;Lo;0;L;;;;;N;;;;; +0F69;TIBETAN LETTER KSSA;Lo;0;L;0F40 0FB5;;;;N;;;;; +0F6A;TIBETAN LETTER FIXED-FORM RA;Lo;0;L;;;;;N;;*;;; +0F6B;TIBETAN LETTER KKA;Lo;0;L;;;;;N;;;;; +0F6C;TIBETAN LETTER RRA;Lo;0;L;;;;;N;;;;; +0F71;TIBETAN VOWEL SIGN AA;Mn;129;NSM;;;;;N;;;;; +0F72;TIBETAN VOWEL SIGN I;Mn;130;NSM;;;;;N;;;;; +0F73;TIBETAN VOWEL SIGN II;Mn;0;NSM;0F71 0F72;;;;N;;;;; +0F74;TIBETAN VOWEL SIGN U;Mn;132;NSM;;;;;N;;;;; +0F75;TIBETAN VOWEL SIGN UU;Mn;0;NSM;0F71 0F74;;;;N;;;;; +0F76;TIBETAN VOWEL SIGN VOCALIC R;Mn;0;NSM;0FB2 0F80;;;;N;;;;; +0F77;TIBETAN VOWEL SIGN VOCALIC RR;Mn;0;NSM; 0FB2 0F81;;;;N;;;;; +0F78;TIBETAN VOWEL SIGN VOCALIC L;Mn;0;NSM;0FB3 0F80;;;;N;;;;; +0F79;TIBETAN VOWEL SIGN VOCALIC LL;Mn;0;NSM; 0FB3 0F81;;;;N;;;;; +0F7A;TIBETAN VOWEL SIGN E;Mn;130;NSM;;;;;N;;;;; +0F7B;TIBETAN VOWEL SIGN EE;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AI;;;; +0F7C;TIBETAN VOWEL SIGN O;Mn;130;NSM;;;;;N;;;;; +0F7D;TIBETAN VOWEL SIGN OO;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AU;;;; +0F7E;TIBETAN SIGN RJES SU NGA RO;Mn;0;NSM;;;;;N;TIBETAN ANUSVARA;je su nga ro;;; +0F7F;TIBETAN SIGN RNAM BCAD;Mc;0;L;;;;;N;TIBETAN VISARGA;nam chey;;; +0F80;TIBETAN VOWEL SIGN REVERSED I;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN SHORT I;;;; +0F81;TIBETAN VOWEL SIGN REVERSED II;Mn;0;NSM;0F71 0F80;;;;N;;;;; +0F82;TIBETAN SIGN NYI ZLA NAA DA;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU WITH ORNAMENT;nyi da na da;;; +0F83;TIBETAN SIGN SNA LDAN;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU;nan de;;; +0F84;TIBETAN MARK HALANTA;Mn;9;NSM;;;;;N;TIBETAN VIRAMA;;;; +0F85;TIBETAN MARK PALUTA;Po;0;L;;;;;N;TIBETAN CHUCHENYIGE;;;; +0F86;TIBETAN SIGN LCI RTAGS;Mn;230;NSM;;;;;N;;ji ta;;; +0F87;TIBETAN SIGN YANG RTAGS;Mn;230;NSM;;;;;N;;yang ta;;; +0F88;TIBETAN SIGN LCE TSA CAN;Lo;0;L;;;;;N;;che tsa chen;;; +0F89;TIBETAN SIGN MCHU CAN;Lo;0;L;;;;;N;;chu chen;;; +0F8A;TIBETAN SIGN GRU CAN RGYINGS;Lo;0;L;;;;;N;;tru chen ging;;; +0F8B;TIBETAN SIGN GRU MED RGYINGS;Lo;0;L;;;;;N;;tru me ging;;; +0F90;TIBETAN SUBJOINED LETTER KA;Mn;0;NSM;;;;;N;;;;; +0F91;TIBETAN SUBJOINED LETTER KHA;Mn;0;NSM;;;;;N;;;;; +0F92;TIBETAN SUBJOINED LETTER GA;Mn;0;NSM;;;;;N;;;;; +0F93;TIBETAN SUBJOINED LETTER GHA;Mn;0;NSM;0F92 0FB7;;;;N;;;;; +0F94;TIBETAN SUBJOINED LETTER NGA;Mn;0;NSM;;;;;N;;;;; +0F95;TIBETAN SUBJOINED LETTER CA;Mn;0;NSM;;;;;N;;;;; +0F96;TIBETAN SUBJOINED LETTER CHA;Mn;0;NSM;;;;;N;;;;; +0F97;TIBETAN SUBJOINED LETTER JA;Mn;0;NSM;;;;;N;;;;; +0F99;TIBETAN SUBJOINED LETTER NYA;Mn;0;NSM;;;;;N;;;;; +0F9A;TIBETAN SUBJOINED LETTER TTA;Mn;0;NSM;;;;;N;;;;; +0F9B;TIBETAN SUBJOINED LETTER TTHA;Mn;0;NSM;;;;;N;;;;; +0F9C;TIBETAN SUBJOINED LETTER DDA;Mn;0;NSM;;;;;N;;;;; +0F9D;TIBETAN SUBJOINED LETTER DDHA;Mn;0;NSM;0F9C 0FB7;;;;N;;;;; +0F9E;TIBETAN SUBJOINED LETTER NNA;Mn;0;NSM;;;;;N;;;;; +0F9F;TIBETAN SUBJOINED LETTER TA;Mn;0;NSM;;;;;N;;;;; +0FA0;TIBETAN SUBJOINED LETTER THA;Mn;0;NSM;;;;;N;;;;; +0FA1;TIBETAN SUBJOINED LETTER DA;Mn;0;NSM;;;;;N;;;;; +0FA2;TIBETAN SUBJOINED LETTER DHA;Mn;0;NSM;0FA1 0FB7;;;;N;;;;; +0FA3;TIBETAN SUBJOINED LETTER NA;Mn;0;NSM;;;;;N;;;;; +0FA4;TIBETAN SUBJOINED LETTER PA;Mn;0;NSM;;;;;N;;;;; +0FA5;TIBETAN SUBJOINED LETTER PHA;Mn;0;NSM;;;;;N;;;;; +0FA6;TIBETAN SUBJOINED LETTER BA;Mn;0;NSM;;;;;N;;;;; +0FA7;TIBETAN SUBJOINED LETTER BHA;Mn;0;NSM;0FA6 0FB7;;;;N;;;;; +0FA8;TIBETAN SUBJOINED LETTER MA;Mn;0;NSM;;;;;N;;;;; +0FA9;TIBETAN SUBJOINED LETTER TSA;Mn;0;NSM;;;;;N;;;;; +0FAA;TIBETAN SUBJOINED LETTER TSHA;Mn;0;NSM;;;;;N;;;;; +0FAB;TIBETAN SUBJOINED LETTER DZA;Mn;0;NSM;;;;;N;;;;; +0FAC;TIBETAN SUBJOINED LETTER DZHA;Mn;0;NSM;0FAB 0FB7;;;;N;;;;; +0FAD;TIBETAN SUBJOINED LETTER WA;Mn;0;NSM;;;;;N;;*;;; +0FAE;TIBETAN SUBJOINED LETTER ZHA;Mn;0;NSM;;;;;N;;;;; +0FAF;TIBETAN SUBJOINED LETTER ZA;Mn;0;NSM;;;;;N;;;;; +0FB0;TIBETAN SUBJOINED LETTER -A;Mn;0;NSM;;;;;N;;;;; +0FB1;TIBETAN SUBJOINED LETTER YA;Mn;0;NSM;;;;;N;;*;;; +0FB2;TIBETAN SUBJOINED LETTER RA;Mn;0;NSM;;;;;N;;*;;; +0FB3;TIBETAN SUBJOINED LETTER LA;Mn;0;NSM;;;;;N;;;;; +0FB4;TIBETAN SUBJOINED LETTER SHA;Mn;0;NSM;;;;;N;;;;; +0FB5;TIBETAN SUBJOINED LETTER SSA;Mn;0;NSM;;;;;N;;;;; +0FB6;TIBETAN SUBJOINED LETTER SA;Mn;0;NSM;;;;;N;;;;; +0FB7;TIBETAN SUBJOINED LETTER HA;Mn;0;NSM;;;;;N;;;;; +0FB8;TIBETAN SUBJOINED LETTER A;Mn;0;NSM;;;;;N;;;;; +0FB9;TIBETAN SUBJOINED LETTER KSSA;Mn;0;NSM;0F90 0FB5;;;;N;;;;; +0FBA;TIBETAN SUBJOINED LETTER FIXED-FORM WA;Mn;0;NSM;;;;;N;;*;;; +0FBB;TIBETAN SUBJOINED LETTER FIXED-FORM YA;Mn;0;NSM;;;;;N;;*;;; +0FBC;TIBETAN SUBJOINED LETTER FIXED-FORM RA;Mn;0;NSM;;;;;N;;*;;; +0FBE;TIBETAN KU RU KHA;So;0;L;;;;;N;;kuruka;;; +0FBF;TIBETAN KU RU KHA BZHI MIG CAN;So;0;L;;;;;N;;kuruka shi mik chen;;; +0FC0;TIBETAN CANTILLATION SIGN HEAVY BEAT;So;0;L;;;;;N;;;;; +0FC1;TIBETAN CANTILLATION SIGN LIGHT BEAT;So;0;L;;;;;N;;;;; +0FC2;TIBETAN CANTILLATION SIGN CANG TE-U;So;0;L;;;;;N;;chang tyu;;; +0FC3;TIBETAN CANTILLATION SIGN SBUB -CHAL;So;0;L;;;;;N;;bub chey;;; +0FC4;TIBETAN SYMBOL DRIL BU;So;0;L;;;;;N;;drilbu;;; +0FC5;TIBETAN SYMBOL RDO RJE;So;0;L;;;;;N;;dorje;;; +0FC6;TIBETAN SYMBOL PADMA GDAN;Mn;220;NSM;;;;;N;;pema den;;; +0FC7;TIBETAN SYMBOL RDO RJE RGYA GRAM;So;0;L;;;;;N;;dorje gya dram;;; +0FC8;TIBETAN SYMBOL PHUR PA;So;0;L;;;;;N;;phurba;;; +0FC9;TIBETAN SYMBOL NOR BU;So;0;L;;;;;N;;norbu;;; +0FCA;TIBETAN SYMBOL NOR BU NYIS -KHYIL;So;0;L;;;;;N;;norbu nyi khyi;;; +0FCB;TIBETAN SYMBOL NOR BU GSUM -KHYIL;So;0;L;;;;;N;;norbu sum khyi;;; +0FCC;TIBETAN SYMBOL NOR BU BZHI -KHYIL;So;0;L;;;;;N;;norbu shi khyi;;; +0FCE;TIBETAN SIGN RDEL NAG RDEL DKAR;So;0;L;;;;;N;;dena deka;;; +0FCF;TIBETAN SIGN RDEL NAG GSUM;So;0;L;;;;;N;;dena sum;;; +0FD0;TIBETAN MARK BSKA- SHOG GI MGO RGYAN;Po;0;L;;;;;N;;ka shog gi go gyen;;; +0FD1;TIBETAN MARK MNYAM YIG GI MGO RGYAN;Po;0;L;;;;;N;;nyam yig gi go gyen;;; +0FD2;TIBETAN MARK NYIS TSHEG;Po;0;L;;;;;N;;nyi tsek;;; +0FD3;TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA;Po;0;L;;;;;N;;da nying yik go dun ma;;; +0FD4;TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA;Po;0;L;;;;;N;;da nying yik go kab ma;;; +1000;MYANMAR LETTER KA;Lo;0;L;;;;;N;;;;; +1001;MYANMAR LETTER KHA;Lo;0;L;;;;;N;;;;; +1002;MYANMAR LETTER GA;Lo;0;L;;;;;N;;;;; +1003;MYANMAR LETTER GHA;Lo;0;L;;;;;N;;;;; +1004;MYANMAR LETTER NGA;Lo;0;L;;;;;N;;;;; +1005;MYANMAR LETTER CA;Lo;0;L;;;;;N;;;;; +1006;MYANMAR LETTER CHA;Lo;0;L;;;;;N;;;;; +1007;MYANMAR LETTER JA;Lo;0;L;;;;;N;;;;; +1008;MYANMAR LETTER JHA;Lo;0;L;;;;;N;;;;; +1009;MYANMAR LETTER NYA;Lo;0;L;;;;;N;;;;; +100A;MYANMAR LETTER NNYA;Lo;0;L;;;;;N;;;;; +100B;MYANMAR LETTER TTA;Lo;0;L;;;;;N;;;;; +100C;MYANMAR LETTER TTHA;Lo;0;L;;;;;N;;;;; +100D;MYANMAR LETTER DDA;Lo;0;L;;;;;N;;;;; +100E;MYANMAR LETTER DDHA;Lo;0;L;;;;;N;;;;; +100F;MYANMAR LETTER NNA;Lo;0;L;;;;;N;;;;; +1010;MYANMAR LETTER TA;Lo;0;L;;;;;N;;;;; +1011;MYANMAR LETTER THA;Lo;0;L;;;;;N;;;;; +1012;MYANMAR LETTER DA;Lo;0;L;;;;;N;;;;; +1013;MYANMAR LETTER DHA;Lo;0;L;;;;;N;;;;; +1014;MYANMAR LETTER NA;Lo;0;L;;;;;N;;;;; +1015;MYANMAR LETTER PA;Lo;0;L;;;;;N;;;;; +1016;MYANMAR LETTER PHA;Lo;0;L;;;;;N;;;;; +1017;MYANMAR LETTER BA;Lo;0;L;;;;;N;;;;; +1018;MYANMAR LETTER BHA;Lo;0;L;;;;;N;;;;; +1019;MYANMAR LETTER MA;Lo;0;L;;;;;N;;;;; +101A;MYANMAR LETTER YA;Lo;0;L;;;;;N;;;;; +101B;MYANMAR LETTER RA;Lo;0;L;;;;;N;;;;; +101C;MYANMAR LETTER LA;Lo;0;L;;;;;N;;;;; +101D;MYANMAR LETTER WA;Lo;0;L;;;;;N;;;;; +101E;MYANMAR LETTER SA;Lo;0;L;;;;;N;;;;; +101F;MYANMAR LETTER HA;Lo;0;L;;;;;N;;;;; +1020;MYANMAR LETTER LLA;Lo;0;L;;;;;N;;;;; +1021;MYANMAR LETTER A;Lo;0;L;;;;;N;;;;; +1022;MYANMAR LETTER SHAN A;Lo;0;L;;;;;N;;;;; +1023;MYANMAR LETTER I;Lo;0;L;;;;;N;;;;; +1024;MYANMAR LETTER II;Lo;0;L;;;;;N;;;;; +1025;MYANMAR LETTER U;Lo;0;L;;;;;N;;;;; +1026;MYANMAR LETTER UU;Lo;0;L;1025 102E;;;;N;;;;; +1027;MYANMAR LETTER E;Lo;0;L;;;;;N;;;;; +1028;MYANMAR LETTER MON E;Lo;0;L;;;;;N;;;;; +1029;MYANMAR LETTER O;Lo;0;L;;;;;N;;;;; +102A;MYANMAR LETTER AU;Lo;0;L;;;;;N;;;;; +102B;MYANMAR VOWEL SIGN TALL AA;Mc;0;L;;;;;N;;;;; +102C;MYANMAR VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +102D;MYANMAR VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +102E;MYANMAR VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +102F;MYANMAR VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1030;MYANMAR VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +1031;MYANMAR VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +1032;MYANMAR VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +1033;MYANMAR VOWEL SIGN MON II;Mn;0;NSM;;;;;N;;;;; +1034;MYANMAR VOWEL SIGN MON O;Mn;0;NSM;;;;;N;;;;; +1035;MYANMAR VOWEL SIGN E ABOVE;Mn;0;NSM;;;;;N;;;;; +1036;MYANMAR SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +1037;MYANMAR SIGN DOT BELOW;Mn;7;NSM;;;;;N;;;;; +1038;MYANMAR SIGN VISARGA;Mc;0;L;;;;;N;;;;; +1039;MYANMAR SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +103A;MYANMAR SIGN ASAT;Mn;9;NSM;;;;;N;;;;; +103B;MYANMAR CONSONANT SIGN MEDIAL YA;Mc;0;L;;;;;N;;;;; +103C;MYANMAR CONSONANT SIGN MEDIAL RA;Mc;0;L;;;;;N;;;;; +103D;MYANMAR CONSONANT SIGN MEDIAL WA;Mn;0;NSM;;;;;N;;;;; +103E;MYANMAR CONSONANT SIGN MEDIAL HA;Mn;0;NSM;;;;;N;;;;; +103F;MYANMAR LETTER GREAT SA;Lo;0;L;;;;;N;;;;; +1040;MYANMAR DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1041;MYANMAR DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1042;MYANMAR DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1043;MYANMAR DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1044;MYANMAR DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1045;MYANMAR DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1046;MYANMAR DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1047;MYANMAR DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1048;MYANMAR DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1049;MYANMAR DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +104A;MYANMAR SIGN LITTLE SECTION;Po;0;L;;;;;N;;;;; +104B;MYANMAR SIGN SECTION;Po;0;L;;;;;N;;;;; +104C;MYANMAR SYMBOL LOCATIVE;Po;0;L;;;;;N;;;;; +104D;MYANMAR SYMBOL COMPLETED;Po;0;L;;;;;N;;;;; +104E;MYANMAR SYMBOL AFOREMENTIONED;Po;0;L;;;;;N;;;;; +104F;MYANMAR SYMBOL GENITIVE;Po;0;L;;;;;N;;;;; +1050;MYANMAR LETTER SHA;Lo;0;L;;;;;N;;;;; +1051;MYANMAR LETTER SSA;Lo;0;L;;;;;N;;;;; +1052;MYANMAR LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +1053;MYANMAR LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +1054;MYANMAR LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +1055;MYANMAR LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +1056;MYANMAR VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; +1057;MYANMAR VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; +1058;MYANMAR VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +1059;MYANMAR VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +105A;MYANMAR LETTER MON NGA;Lo;0;L;;;;;N;;;;; +105B;MYANMAR LETTER MON JHA;Lo;0;L;;;;;N;;;;; +105C;MYANMAR LETTER MON BBA;Lo;0;L;;;;;N;;;;; +105D;MYANMAR LETTER MON BBE;Lo;0;L;;;;;N;;;;; +105E;MYANMAR CONSONANT SIGN MON MEDIAL NA;Mn;0;NSM;;;;;N;;;;; +105F;MYANMAR CONSONANT SIGN MON MEDIAL MA;Mn;0;NSM;;;;;N;;;;; +1060;MYANMAR CONSONANT SIGN MON MEDIAL LA;Mn;0;NSM;;;;;N;;;;; +1061;MYANMAR LETTER SGAW KAREN SHA;Lo;0;L;;;;;N;;;;; +1062;MYANMAR VOWEL SIGN SGAW KAREN EU;Mc;0;L;;;;;N;;;;; +1063;MYANMAR TONE MARK SGAW KAREN HATHI;Mc;0;L;;;;;N;;;;; +1064;MYANMAR TONE MARK SGAW KAREN KE PHO;Mc;0;L;;;;;N;;;;; +1065;MYANMAR LETTER WESTERN PWO KAREN THA;Lo;0;L;;;;;N;;;;; +1066;MYANMAR LETTER WESTERN PWO KAREN PWA;Lo;0;L;;;;;N;;;;; +1067;MYANMAR VOWEL SIGN WESTERN PWO KAREN EU;Mc;0;L;;;;;N;;;;; +1068;MYANMAR VOWEL SIGN WESTERN PWO KAREN UE;Mc;0;L;;;;;N;;;;; +1069;MYANMAR SIGN WESTERN PWO KAREN TONE-1;Mc;0;L;;;;;N;;;;; +106A;MYANMAR SIGN WESTERN PWO KAREN TONE-2;Mc;0;L;;;;;N;;;;; +106B;MYANMAR SIGN WESTERN PWO KAREN TONE-3;Mc;0;L;;;;;N;;;;; +106C;MYANMAR SIGN WESTERN PWO KAREN TONE-4;Mc;0;L;;;;;N;;;;; +106D;MYANMAR SIGN WESTERN PWO KAREN TONE-5;Mc;0;L;;;;;N;;;;; +106E;MYANMAR LETTER EASTERN PWO KAREN NNA;Lo;0;L;;;;;N;;;;; +106F;MYANMAR LETTER EASTERN PWO KAREN YWA;Lo;0;L;;;;;N;;;;; +1070;MYANMAR LETTER EASTERN PWO KAREN GHWA;Lo;0;L;;;;;N;;;;; +1071;MYANMAR VOWEL SIGN GEBA KAREN I;Mn;0;NSM;;;;;N;;;;; +1072;MYANMAR VOWEL SIGN KAYAH OE;Mn;0;NSM;;;;;N;;;;; +1073;MYANMAR VOWEL SIGN KAYAH U;Mn;0;NSM;;;;;N;;;;; +1074;MYANMAR VOWEL SIGN KAYAH EE;Mn;0;NSM;;;;;N;;;;; +1075;MYANMAR LETTER SHAN KA;Lo;0;L;;;;;N;;;;; +1076;MYANMAR LETTER SHAN KHA;Lo;0;L;;;;;N;;;;; +1077;MYANMAR LETTER SHAN GA;Lo;0;L;;;;;N;;;;; +1078;MYANMAR LETTER SHAN CA;Lo;0;L;;;;;N;;;;; +1079;MYANMAR LETTER SHAN ZA;Lo;0;L;;;;;N;;;;; +107A;MYANMAR LETTER SHAN NYA;Lo;0;L;;;;;N;;;;; +107B;MYANMAR LETTER SHAN DA;Lo;0;L;;;;;N;;;;; +107C;MYANMAR LETTER SHAN NA;Lo;0;L;;;;;N;;;;; +107D;MYANMAR LETTER SHAN PHA;Lo;0;L;;;;;N;;;;; +107E;MYANMAR LETTER SHAN FA;Lo;0;L;;;;;N;;;;; +107F;MYANMAR LETTER SHAN BA;Lo;0;L;;;;;N;;;;; +1080;MYANMAR LETTER SHAN THA;Lo;0;L;;;;;N;;;;; +1081;MYANMAR LETTER SHAN HA;Lo;0;L;;;;;N;;;;; +1082;MYANMAR CONSONANT SIGN SHAN MEDIAL WA;Mn;0;NSM;;;;;N;;;;; +1083;MYANMAR VOWEL SIGN SHAN AA;Mc;0;L;;;;;N;;;;; +1084;MYANMAR VOWEL SIGN SHAN E;Mc;0;L;;;;;N;;;;; +1085;MYANMAR VOWEL SIGN SHAN E ABOVE;Mn;0;NSM;;;;;N;;;;; +1086;MYANMAR VOWEL SIGN SHAN FINAL Y;Mn;0;NSM;;;;;N;;;;; +1087;MYANMAR SIGN SHAN TONE-2;Mc;0;L;;;;;N;;;;; +1088;MYANMAR SIGN SHAN TONE-3;Mc;0;L;;;;;N;;;;; +1089;MYANMAR SIGN SHAN TONE-5;Mc;0;L;;;;;N;;;;; +108A;MYANMAR SIGN SHAN TONE-6;Mc;0;L;;;;;N;;;;; +108B;MYANMAR SIGN SHAN COUNCIL TONE-2;Mc;0;L;;;;;N;;;;; +108C;MYANMAR SIGN SHAN COUNCIL TONE-3;Mc;0;L;;;;;N;;;;; +108D;MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE;Mn;220;NSM;;;;;N;;;;; +108E;MYANMAR LETTER RUMAI PALAUNG FA;Lo;0;L;;;;;N;;;;; +108F;MYANMAR SIGN RUMAI PALAUNG TONE-5;Mc;0;L;;;;;N;;;;; +1090;MYANMAR SHAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1091;MYANMAR SHAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1092;MYANMAR SHAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1093;MYANMAR SHAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1094;MYANMAR SHAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1095;MYANMAR SHAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1096;MYANMAR SHAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1097;MYANMAR SHAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1098;MYANMAR SHAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1099;MYANMAR SHAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +109E;MYANMAR SYMBOL SHAN ONE;So;0;L;;;;;N;;;;; +109F;MYANMAR SYMBOL SHAN EXCLAMATION;So;0;L;;;;;N;;;;; +10A0;GEORGIAN CAPITAL LETTER AN;Lu;0;L;;;;;N;;Khutsuri;;2D00; +10A1;GEORGIAN CAPITAL LETTER BAN;Lu;0;L;;;;;N;;Khutsuri;;2D01; +10A2;GEORGIAN CAPITAL LETTER GAN;Lu;0;L;;;;;N;;Khutsuri;;2D02; +10A3;GEORGIAN CAPITAL LETTER DON;Lu;0;L;;;;;N;;Khutsuri;;2D03; +10A4;GEORGIAN CAPITAL LETTER EN;Lu;0;L;;;;;N;;Khutsuri;;2D04; +10A5;GEORGIAN CAPITAL LETTER VIN;Lu;0;L;;;;;N;;Khutsuri;;2D05; +10A6;GEORGIAN CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;Khutsuri;;2D06; +10A7;GEORGIAN CAPITAL LETTER TAN;Lu;0;L;;;;;N;;Khutsuri;;2D07; +10A8;GEORGIAN CAPITAL LETTER IN;Lu;0;L;;;;;N;;Khutsuri;;2D08; +10A9;GEORGIAN CAPITAL LETTER KAN;Lu;0;L;;;;;N;;Khutsuri;;2D09; +10AA;GEORGIAN CAPITAL LETTER LAS;Lu;0;L;;;;;N;;Khutsuri;;2D0A; +10AB;GEORGIAN CAPITAL LETTER MAN;Lu;0;L;;;;;N;;Khutsuri;;2D0B; +10AC;GEORGIAN CAPITAL LETTER NAR;Lu;0;L;;;;;N;;Khutsuri;;2D0C; +10AD;GEORGIAN CAPITAL LETTER ON;Lu;0;L;;;;;N;;Khutsuri;;2D0D; +10AE;GEORGIAN CAPITAL LETTER PAR;Lu;0;L;;;;;N;;Khutsuri;;2D0E; +10AF;GEORGIAN CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;Khutsuri;;2D0F; +10B0;GEORGIAN CAPITAL LETTER RAE;Lu;0;L;;;;;N;;Khutsuri;;2D10; +10B1;GEORGIAN CAPITAL LETTER SAN;Lu;0;L;;;;;N;;Khutsuri;;2D11; +10B2;GEORGIAN CAPITAL LETTER TAR;Lu;0;L;;;;;N;;Khutsuri;;2D12; +10B3;GEORGIAN CAPITAL LETTER UN;Lu;0;L;;;;;N;;Khutsuri;;2D13; +10B4;GEORGIAN CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;Khutsuri;;2D14; +10B5;GEORGIAN CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;Khutsuri;;2D15; +10B6;GEORGIAN CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;Khutsuri;;2D16; +10B7;GEORGIAN CAPITAL LETTER QAR;Lu;0;L;;;;;N;;Khutsuri;;2D17; +10B8;GEORGIAN CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;Khutsuri;;2D18; +10B9;GEORGIAN CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;Khutsuri;;2D19; +10BA;GEORGIAN CAPITAL LETTER CAN;Lu;0;L;;;;;N;;Khutsuri;;2D1A; +10BB;GEORGIAN CAPITAL LETTER JIL;Lu;0;L;;;;;N;;Khutsuri;;2D1B; +10BC;GEORGIAN CAPITAL LETTER CIL;Lu;0;L;;;;;N;;Khutsuri;;2D1C; +10BD;GEORGIAN CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;Khutsuri;;2D1D; +10BE;GEORGIAN CAPITAL LETTER XAN;Lu;0;L;;;;;N;;Khutsuri;;2D1E; +10BF;GEORGIAN CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;Khutsuri;;2D1F; +10C0;GEORGIAN CAPITAL LETTER HAE;Lu;0;L;;;;;N;;Khutsuri;;2D20; +10C1;GEORGIAN CAPITAL LETTER HE;Lu;0;L;;;;;N;;Khutsuri;;2D21; +10C2;GEORGIAN CAPITAL LETTER HIE;Lu;0;L;;;;;N;;Khutsuri;;2D22; +10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;Khutsuri;;2D23; +10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;Khutsuri;;2D24; +10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;Khutsuri;;2D25; +10D0;GEORGIAN LETTER AN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;; +10D1;GEORGIAN LETTER BAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;; +10D2;GEORGIAN LETTER GAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;; +10D3;GEORGIAN LETTER DON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER DON;;;; +10D4;GEORGIAN LETTER EN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER EN;;;; +10D5;GEORGIAN LETTER VIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER VIN;;;; +10D6;GEORGIAN LETTER ZEN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZEN;;;; +10D7;GEORGIAN LETTER TAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAN;;;; +10D8;GEORGIAN LETTER IN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER IN;;;; +10D9;GEORGIAN LETTER KAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KAN;;;; +10DA;GEORGIAN LETTER LAS;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER LAS;;;; +10DB;GEORGIAN LETTER MAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER MAN;;;; +10DC;GEORGIAN LETTER NAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER NAR;;;; +10DD;GEORGIAN LETTER ON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ON;;;; +10DE;GEORGIAN LETTER PAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PAR;;;; +10DF;GEORGIAN LETTER ZHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZHAR;;;; +10E0;GEORGIAN LETTER RAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER RAE;;;; +10E1;GEORGIAN LETTER SAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SAN;;;; +10E2;GEORGIAN LETTER TAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAR;;;; +10E3;GEORGIAN LETTER UN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER UN;;;; +10E4;GEORGIAN LETTER PHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PHAR;;;; +10E5;GEORGIAN LETTER KHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KHAR;;;; +10E6;GEORGIAN LETTER GHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GHAN;;;; +10E7;GEORGIAN LETTER QAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER QAR;;;; +10E8;GEORGIAN LETTER SHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SHIN;;;; +10E9;GEORGIAN LETTER CHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHIN;;;; +10EA;GEORGIAN LETTER CAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CAN;;;; +10EB;GEORGIAN LETTER JIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JIL;;;; +10EC;GEORGIAN LETTER CIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CIL;;;; +10ED;GEORGIAN LETTER CHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHAR;;;; +10EE;GEORGIAN LETTER XAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER XAN;;;; +10EF;GEORGIAN LETTER JHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JHAN;;;; +10F0;GEORGIAN LETTER HAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAE;;;; +10F1;GEORGIAN LETTER HE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HE;;;; +10F2;GEORGIAN LETTER HIE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HIE;;;; +10F3;GEORGIAN LETTER WE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER WE;;;; +10F4;GEORGIAN LETTER HAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAR;;;; +10F5;GEORGIAN LETTER HOE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HOE;;;; +10F6;GEORGIAN LETTER FI;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER FI;;;; +10F7;GEORGIAN LETTER YN;Lo;0;L;;;;;N;;;;; +10F8;GEORGIAN LETTER ELIFI;Lo;0;L;;;;;N;;;;; +10F9;GEORGIAN LETTER TURNED GAN;Lo;0;L;;;;;N;;;;; +10FA;GEORGIAN LETTER AIN;Lo;0;L;;;;;N;;;;; +10FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;; +10FC;MODIFIER LETTER GEORGIAN NAR;Lm;0;L; 10DC;;;;N;;;;; +1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;; +1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;; +1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;n *;;; +1103;HANGUL CHOSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;; +1104;HANGUL CHOSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;dd *;;; +1105;HANGUL CHOSEONG RIEUL;Lo;0;L;;;;;N;;r *;;; +1106;HANGUL CHOSEONG MIEUM;Lo;0;L;;;;;N;;m *;;; +1107;HANGUL CHOSEONG PIEUP;Lo;0;L;;;;;N;;b *;;; +1108;HANGUL CHOSEONG SSANGPIEUP;Lo;0;L;;;;;N;;bb *;;; +1109;HANGUL CHOSEONG SIOS;Lo;0;L;;;;;N;;s *;;; +110A;HANGUL CHOSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;; +110B;HANGUL CHOSEONG IEUNG;Lo;0;L;;;;;N;;;;; +110C;HANGUL CHOSEONG CIEUC;Lo;0;L;;;;;N;;j *;;; +110D;HANGUL CHOSEONG SSANGCIEUC;Lo;0;L;;;;;N;;jj *;;; +110E;HANGUL CHOSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;; +110F;HANGUL CHOSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;; +1110;HANGUL CHOSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;; +1111;HANGUL CHOSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;; +1112;HANGUL CHOSEONG HIEUH;Lo;0;L;;;;;N;;h *;;; +1113;HANGUL CHOSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;; +1114;HANGUL CHOSEONG SSANGNIEUN;Lo;0;L;;;;;N;;;;; +1115;HANGUL CHOSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;; +1116;HANGUL CHOSEONG NIEUN-PIEUP;Lo;0;L;;;;;N;;;;; +1117;HANGUL CHOSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;; +1118;HANGUL CHOSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;; +1119;HANGUL CHOSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;; +111A;HANGUL CHOSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;;;; +111B;HANGUL CHOSEONG KAPYEOUNRIEUL;Lo;0;L;;;;;N;;;;; +111C;HANGUL CHOSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;; +111D;HANGUL CHOSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;; +111E;HANGUL CHOSEONG PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;; +111F;HANGUL CHOSEONG PIEUP-NIEUN;Lo;0;L;;;;;N;;;;; +1120;HANGUL CHOSEONG PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;; +1121;HANGUL CHOSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;;;; +1122;HANGUL CHOSEONG PIEUP-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; +1123;HANGUL CHOSEONG PIEUP-SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; +1124;HANGUL CHOSEONG PIEUP-SIOS-PIEUP;Lo;0;L;;;;;N;;;;; +1125;HANGUL CHOSEONG PIEUP-SSANGSIOS;Lo;0;L;;;;;N;;;;; +1126;HANGUL CHOSEONG PIEUP-SIOS-CIEUC;Lo;0;L;;;;;N;;;;; +1127;HANGUL CHOSEONG PIEUP-CIEUC;Lo;0;L;;;;;N;;;;; +1128;HANGUL CHOSEONG PIEUP-CHIEUCH;Lo;0;L;;;;;N;;;;; +1129;HANGUL CHOSEONG PIEUP-THIEUTH;Lo;0;L;;;;;N;;;;; +112A;HANGUL CHOSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;; +112B;HANGUL CHOSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; +112C;HANGUL CHOSEONG KAPYEOUNSSANGPIEUP;Lo;0;L;;;;;N;;;;; +112D;HANGUL CHOSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; +112E;HANGUL CHOSEONG SIOS-NIEUN;Lo;0;L;;;;;N;;;;; +112F;HANGUL CHOSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; +1130;HANGUL CHOSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;; +1131;HANGUL CHOSEONG SIOS-MIEUM;Lo;0;L;;;;;N;;;;; +1132;HANGUL CHOSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;; +1133;HANGUL CHOSEONG SIOS-PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;; +1134;HANGUL CHOSEONG SIOS-SSANGSIOS;Lo;0;L;;;;;N;;;;; +1135;HANGUL CHOSEONG SIOS-IEUNG;Lo;0;L;;;;;N;;;;; +1136;HANGUL CHOSEONG SIOS-CIEUC;Lo;0;L;;;;;N;;;;; +1137;HANGUL CHOSEONG SIOS-CHIEUCH;Lo;0;L;;;;;N;;;;; +1138;HANGUL CHOSEONG SIOS-KHIEUKH;Lo;0;L;;;;;N;;;;; +1139;HANGUL CHOSEONG SIOS-THIEUTH;Lo;0;L;;;;;N;;;;; +113A;HANGUL CHOSEONG SIOS-PHIEUPH;Lo;0;L;;;;;N;;;;; +113B;HANGUL CHOSEONG SIOS-HIEUH;Lo;0;L;;;;;N;;;;; +113C;HANGUL CHOSEONG CHITUEUMSIOS;Lo;0;L;;;;;N;;;;; +113D;HANGUL CHOSEONG CHITUEUMSSANGSIOS;Lo;0;L;;;;;N;;;;; +113E;HANGUL CHOSEONG CEONGCHIEUMSIOS;Lo;0;L;;;;;N;;;;; +113F;HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS;Lo;0;L;;;;;N;;;;; +1140;HANGUL CHOSEONG PANSIOS;Lo;0;L;;;;;N;;;;; +1141;HANGUL CHOSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;; +1142;HANGUL CHOSEONG IEUNG-TIKEUT;Lo;0;L;;;;;N;;;;; +1143;HANGUL CHOSEONG IEUNG-MIEUM;Lo;0;L;;;;;N;;;;; +1144;HANGUL CHOSEONG IEUNG-PIEUP;Lo;0;L;;;;;N;;;;; +1145;HANGUL CHOSEONG IEUNG-SIOS;Lo;0;L;;;;;N;;;;; +1146;HANGUL CHOSEONG IEUNG-PANSIOS;Lo;0;L;;;;;N;;;;; +1147;HANGUL CHOSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;; +1148;HANGUL CHOSEONG IEUNG-CIEUC;Lo;0;L;;;;;N;;;;; +1149;HANGUL CHOSEONG IEUNG-CHIEUCH;Lo;0;L;;;;;N;;;;; +114A;HANGUL CHOSEONG IEUNG-THIEUTH;Lo;0;L;;;;;N;;;;; +114B;HANGUL CHOSEONG IEUNG-PHIEUPH;Lo;0;L;;;;;N;;;;; +114C;HANGUL CHOSEONG YESIEUNG;Lo;0;L;;;;;N;;;;; +114D;HANGUL CHOSEONG CIEUC-IEUNG;Lo;0;L;;;;;N;;;;; +114E;HANGUL CHOSEONG CHITUEUMCIEUC;Lo;0;L;;;;;N;;;;; +114F;HANGUL CHOSEONG CHITUEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;; +1150;HANGUL CHOSEONG CEONGCHIEUMCIEUC;Lo;0;L;;;;;N;;;;; +1151;HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;; +1152;HANGUL CHOSEONG CHIEUCH-KHIEUKH;Lo;0;L;;;;;N;;;;; +1153;HANGUL CHOSEONG CHIEUCH-HIEUH;Lo;0;L;;;;;N;;;;; +1154;HANGUL CHOSEONG CHITUEUMCHIEUCH;Lo;0;L;;;;;N;;;;; +1155;HANGUL CHOSEONG CEONGCHIEUMCHIEUCH;Lo;0;L;;;;;N;;;;; +1156;HANGUL CHOSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;; +1157;HANGUL CHOSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;; +1158;HANGUL CHOSEONG SSANGHIEUH;Lo;0;L;;;;;N;;;;; +1159;HANGUL CHOSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;; +115F;HANGUL CHOSEONG FILLER;Lo;0;L;;;;;N;;;;; +1160;HANGUL JUNGSEONG FILLER;Lo;0;L;;;;;N;;;;; +1161;HANGUL JUNGSEONG A;Lo;0;L;;;;;N;;;;; +1162;HANGUL JUNGSEONG AE;Lo;0;L;;;;;N;;;;; +1163;HANGUL JUNGSEONG YA;Lo;0;L;;;;;N;;;;; +1164;HANGUL JUNGSEONG YAE;Lo;0;L;;;;;N;;;;; +1165;HANGUL JUNGSEONG EO;Lo;0;L;;;;;N;;;;; +1166;HANGUL JUNGSEONG E;Lo;0;L;;;;;N;;;;; +1167;HANGUL JUNGSEONG YEO;Lo;0;L;;;;;N;;;;; +1168;HANGUL JUNGSEONG YE;Lo;0;L;;;;;N;;;;; +1169;HANGUL JUNGSEONG O;Lo;0;L;;;;;N;;;;; +116A;HANGUL JUNGSEONG WA;Lo;0;L;;;;;N;;;;; +116B;HANGUL JUNGSEONG WAE;Lo;0;L;;;;;N;;;;; +116C;HANGUL JUNGSEONG OE;Lo;0;L;;;;;N;;;;; +116D;HANGUL JUNGSEONG YO;Lo;0;L;;;;;N;;;;; +116E;HANGUL JUNGSEONG U;Lo;0;L;;;;;N;;;;; +116F;HANGUL JUNGSEONG WEO;Lo;0;L;;;;;N;;;;; +1170;HANGUL JUNGSEONG WE;Lo;0;L;;;;;N;;;;; +1171;HANGUL JUNGSEONG WI;Lo;0;L;;;;;N;;;;; +1172;HANGUL JUNGSEONG YU;Lo;0;L;;;;;N;;;;; +1173;HANGUL JUNGSEONG EU;Lo;0;L;;;;;N;;;;; +1174;HANGUL JUNGSEONG YI;Lo;0;L;;;;;N;;;;; +1175;HANGUL JUNGSEONG I;Lo;0;L;;;;;N;;;;; +1176;HANGUL JUNGSEONG A-O;Lo;0;L;;;;;N;;;;; +1177;HANGUL JUNGSEONG A-U;Lo;0;L;;;;;N;;;;; +1178;HANGUL JUNGSEONG YA-O;Lo;0;L;;;;;N;;;;; +1179;HANGUL JUNGSEONG YA-YO;Lo;0;L;;;;;N;;;;; +117A;HANGUL JUNGSEONG EO-O;Lo;0;L;;;;;N;;;;; +117B;HANGUL JUNGSEONG EO-U;Lo;0;L;;;;;N;;;;; +117C;HANGUL JUNGSEONG EO-EU;Lo;0;L;;;;;N;;;;; +117D;HANGUL JUNGSEONG YEO-O;Lo;0;L;;;;;N;;;;; +117E;HANGUL JUNGSEONG YEO-U;Lo;0;L;;;;;N;;;;; +117F;HANGUL JUNGSEONG O-EO;Lo;0;L;;;;;N;;;;; +1180;HANGUL JUNGSEONG O-E;Lo;0;L;;;;;N;;;;; +1181;HANGUL JUNGSEONG O-YE;Lo;0;L;;;;;N;;;;; +1182;HANGUL JUNGSEONG O-O;Lo;0;L;;;;;N;;;;; +1183;HANGUL JUNGSEONG O-U;Lo;0;L;;;;;N;;;;; +1184;HANGUL JUNGSEONG YO-YA;Lo;0;L;;;;;N;;;;; +1185;HANGUL JUNGSEONG YO-YAE;Lo;0;L;;;;;N;;;;; +1186;HANGUL JUNGSEONG YO-YEO;Lo;0;L;;;;;N;;;;; +1187;HANGUL JUNGSEONG YO-O;Lo;0;L;;;;;N;;;;; +1188;HANGUL JUNGSEONG YO-I;Lo;0;L;;;;;N;;;;; +1189;HANGUL JUNGSEONG U-A;Lo;0;L;;;;;N;;;;; +118A;HANGUL JUNGSEONG U-AE;Lo;0;L;;;;;N;;;;; +118B;HANGUL JUNGSEONG U-EO-EU;Lo;0;L;;;;;N;;;;; +118C;HANGUL JUNGSEONG U-YE;Lo;0;L;;;;;N;;;;; +118D;HANGUL JUNGSEONG U-U;Lo;0;L;;;;;N;;;;; +118E;HANGUL JUNGSEONG YU-A;Lo;0;L;;;;;N;;;;; +118F;HANGUL JUNGSEONG YU-EO;Lo;0;L;;;;;N;;;;; +1190;HANGUL JUNGSEONG YU-E;Lo;0;L;;;;;N;;;;; +1191;HANGUL JUNGSEONG YU-YEO;Lo;0;L;;;;;N;;;;; +1192;HANGUL JUNGSEONG YU-YE;Lo;0;L;;;;;N;;;;; +1193;HANGUL JUNGSEONG YU-U;Lo;0;L;;;;;N;;;;; +1194;HANGUL JUNGSEONG YU-I;Lo;0;L;;;;;N;;;;; +1195;HANGUL JUNGSEONG EU-U;Lo;0;L;;;;;N;;;;; +1196;HANGUL JUNGSEONG EU-EU;Lo;0;L;;;;;N;;;;; +1197;HANGUL JUNGSEONG YI-U;Lo;0;L;;;;;N;;;;; +1198;HANGUL JUNGSEONG I-A;Lo;0;L;;;;;N;;;;; +1199;HANGUL JUNGSEONG I-YA;Lo;0;L;;;;;N;;;;; +119A;HANGUL JUNGSEONG I-O;Lo;0;L;;;;;N;;;;; +119B;HANGUL JUNGSEONG I-U;Lo;0;L;;;;;N;;;;; +119C;HANGUL JUNGSEONG I-EU;Lo;0;L;;;;;N;;;;; +119D;HANGUL JUNGSEONG I-ARAEA;Lo;0;L;;;;;N;;;;; +119E;HANGUL JUNGSEONG ARAEA;Lo;0;L;;;;;N;;;;; +119F;HANGUL JUNGSEONG ARAEA-EO;Lo;0;L;;;;;N;;;;; +11A0;HANGUL JUNGSEONG ARAEA-U;Lo;0;L;;;;;N;;;;; +11A1;HANGUL JUNGSEONG ARAEA-I;Lo;0;L;;;;;N;;;;; +11A2;HANGUL JUNGSEONG SSANGARAEA;Lo;0;L;;;;;N;;;;; +11A8;HANGUL JONGSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;; +11A9;HANGUL JONGSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;; +11AA;HANGUL JONGSEONG KIYEOK-SIOS;Lo;0;L;;;;;N;;gs *;;; +11AB;HANGUL JONGSEONG NIEUN;Lo;0;L;;;;;N;;n *;;; +11AC;HANGUL JONGSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;nj *;;; +11AD;HANGUL JONGSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;nh *;;; +11AE;HANGUL JONGSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;; +11AF;HANGUL JONGSEONG RIEUL;Lo;0;L;;;;;N;;l *;;; +11B0;HANGUL JONGSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;lg *;;; +11B1;HANGUL JONGSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;lm *;;; +11B2;HANGUL JONGSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;lb *;;; +11B3;HANGUL JONGSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;ls *;;; +11B4;HANGUL JONGSEONG RIEUL-THIEUTH;Lo;0;L;;;;;N;;lt *;;; +11B5;HANGUL JONGSEONG RIEUL-PHIEUPH;Lo;0;L;;;;;N;;lp *;;; +11B6;HANGUL JONGSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;lh *;;; +11B7;HANGUL JONGSEONG MIEUM;Lo;0;L;;;;;N;;m *;;; +11B8;HANGUL JONGSEONG PIEUP;Lo;0;L;;;;;N;;b *;;; +11B9;HANGUL JONGSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;bs *;;; +11BA;HANGUL JONGSEONG SIOS;Lo;0;L;;;;;N;;s *;;; +11BB;HANGUL JONGSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;; +11BC;HANGUL JONGSEONG IEUNG;Lo;0;L;;;;;N;;ng *;;; +11BD;HANGUL JONGSEONG CIEUC;Lo;0;L;;;;;N;;j *;;; +11BE;HANGUL JONGSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;; +11BF;HANGUL JONGSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;; +11C0;HANGUL JONGSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;; +11C1;HANGUL JONGSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;; +11C2;HANGUL JONGSEONG HIEUH;Lo;0;L;;;;;N;;h *;;; +11C3;HANGUL JONGSEONG KIYEOK-RIEUL;Lo;0;L;;;;;N;;;;; +11C4;HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; +11C5;HANGUL JONGSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;; +11C6;HANGUL JONGSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;; +11C7;HANGUL JONGSEONG NIEUN-SIOS;Lo;0;L;;;;;N;;;;; +11C8;HANGUL JONGSEONG NIEUN-PANSIOS;Lo;0;L;;;;;N;;;;; +11C9;HANGUL JONGSEONG NIEUN-THIEUTH;Lo;0;L;;;;;N;;;;; +11CA;HANGUL JONGSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;; +11CB;HANGUL JONGSEONG TIKEUT-RIEUL;Lo;0;L;;;;;N;;;;; +11CC;HANGUL JONGSEONG RIEUL-KIYEOK-SIOS;Lo;0;L;;;;;N;;;;; +11CD;HANGUL JONGSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;; +11CE;HANGUL JONGSEONG RIEUL-TIKEUT;Lo;0;L;;;;;N;;;;; +11CF;HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH;Lo;0;L;;;;;N;;;;; +11D0;HANGUL JONGSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;; +11D1;HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;; +11D2;HANGUL JONGSEONG RIEUL-MIEUM-SIOS;Lo;0;L;;;;;N;;;;; +11D3;HANGUL JONGSEONG RIEUL-PIEUP-SIOS;Lo;0;L;;;;;N;;;;; +11D4;HANGUL JONGSEONG RIEUL-PIEUP-HIEUH;Lo;0;L;;;;;N;;;;; +11D5;HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; +11D6;HANGUL JONGSEONG RIEUL-SSANGSIOS;Lo;0;L;;;;;N;;;;; +11D7;HANGUL JONGSEONG RIEUL-PANSIOS;Lo;0;L;;;;;N;;;;; +11D8;HANGUL JONGSEONG RIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;; +11D9;HANGUL JONGSEONG RIEUL-YEORINHIEUH;Lo;0;L;;;;;N;;;;; +11DA;HANGUL JONGSEONG MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;; +11DB;HANGUL JONGSEONG MIEUM-RIEUL;Lo;0;L;;;;;N;;;;; +11DC;HANGUL JONGSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;; +11DD;HANGUL JONGSEONG MIEUM-SIOS;Lo;0;L;;;;;N;;;;; +11DE;HANGUL JONGSEONG MIEUM-SSANGSIOS;Lo;0;L;;;;;N;;;;; +11DF;HANGUL JONGSEONG MIEUM-PANSIOS;Lo;0;L;;;;;N;;;;; +11E0;HANGUL JONGSEONG MIEUM-CHIEUCH;Lo;0;L;;;;;N;;;;; +11E1;HANGUL JONGSEONG MIEUM-HIEUH;Lo;0;L;;;;;N;;;;; +11E2;HANGUL JONGSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;; +11E3;HANGUL JONGSEONG PIEUP-RIEUL;Lo;0;L;;;;;N;;;;; +11E4;HANGUL JONGSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;; +11E5;HANGUL JONGSEONG PIEUP-HIEUH;Lo;0;L;;;;;N;;;;; +11E6;HANGUL JONGSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; +11E7;HANGUL JONGSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; +11E8;HANGUL JONGSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; +11E9;HANGUL JONGSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;; +11EA;HANGUL JONGSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;; +11EB;HANGUL JONGSEONG PANSIOS;Lo;0;L;;;;;N;;;;; +11EC;HANGUL JONGSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;; +11ED;HANGUL JONGSEONG IEUNG-SSANGKIYEOK;Lo;0;L;;;;;N;;;;; +11EE;HANGUL JONGSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;; +11EF;HANGUL JONGSEONG IEUNG-KHIEUKH;Lo;0;L;;;;;N;;;;; +11F0;HANGUL JONGSEONG YESIEUNG;Lo;0;L;;;;;N;;;;; +11F1;HANGUL JONGSEONG YESIEUNG-SIOS;Lo;0;L;;;;;N;;;;; +11F2;HANGUL JONGSEONG YESIEUNG-PANSIOS;Lo;0;L;;;;;N;;;;; +11F3;HANGUL JONGSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;; +11F4;HANGUL JONGSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;; +11F5;HANGUL JONGSEONG HIEUH-NIEUN;Lo;0;L;;;;;N;;;;; +11F6;HANGUL JONGSEONG HIEUH-RIEUL;Lo;0;L;;;;;N;;;;; +11F7;HANGUL JONGSEONG HIEUH-MIEUM;Lo;0;L;;;;;N;;;;; +11F8;HANGUL JONGSEONG HIEUH-PIEUP;Lo;0;L;;;;;N;;;;; +11F9;HANGUL JONGSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;; +1200;ETHIOPIC SYLLABLE HA;Lo;0;L;;;;;N;;;;; +1201;ETHIOPIC SYLLABLE HU;Lo;0;L;;;;;N;;;;; +1202;ETHIOPIC SYLLABLE HI;Lo;0;L;;;;;N;;;;; +1203;ETHIOPIC SYLLABLE HAA;Lo;0;L;;;;;N;;;;; +1204;ETHIOPIC SYLLABLE HEE;Lo;0;L;;;;;N;;;;; +1205;ETHIOPIC SYLLABLE HE;Lo;0;L;;;;;N;;;;; +1206;ETHIOPIC SYLLABLE HO;Lo;0;L;;;;;N;;;;; +1207;ETHIOPIC SYLLABLE HOA;Lo;0;L;;;;;N;;;;; +1208;ETHIOPIC SYLLABLE LA;Lo;0;L;;;;;N;;;;; +1209;ETHIOPIC SYLLABLE LU;Lo;0;L;;;;;N;;;;; +120A;ETHIOPIC SYLLABLE LI;Lo;0;L;;;;;N;;;;; +120B;ETHIOPIC SYLLABLE LAA;Lo;0;L;;;;;N;;;;; +120C;ETHIOPIC SYLLABLE LEE;Lo;0;L;;;;;N;;;;; +120D;ETHIOPIC SYLLABLE LE;Lo;0;L;;;;;N;;;;; +120E;ETHIOPIC SYLLABLE LO;Lo;0;L;;;;;N;;;;; +120F;ETHIOPIC SYLLABLE LWA;Lo;0;L;;;;;N;;;;; +1210;ETHIOPIC SYLLABLE HHA;Lo;0;L;;;;;N;;;;; +1211;ETHIOPIC SYLLABLE HHU;Lo;0;L;;;;;N;;;;; +1212;ETHIOPIC SYLLABLE HHI;Lo;0;L;;;;;N;;;;; +1213;ETHIOPIC SYLLABLE HHAA;Lo;0;L;;;;;N;;;;; +1214;ETHIOPIC SYLLABLE HHEE;Lo;0;L;;;;;N;;;;; +1215;ETHIOPIC SYLLABLE HHE;Lo;0;L;;;;;N;;;;; +1216;ETHIOPIC SYLLABLE HHO;Lo;0;L;;;;;N;;;;; +1217;ETHIOPIC SYLLABLE HHWA;Lo;0;L;;;;;N;;;;; +1218;ETHIOPIC SYLLABLE MA;Lo;0;L;;;;;N;;;;; +1219;ETHIOPIC SYLLABLE MU;Lo;0;L;;;;;N;;;;; +121A;ETHIOPIC SYLLABLE MI;Lo;0;L;;;;;N;;;;; +121B;ETHIOPIC SYLLABLE MAA;Lo;0;L;;;;;N;;;;; +121C;ETHIOPIC SYLLABLE MEE;Lo;0;L;;;;;N;;;;; +121D;ETHIOPIC SYLLABLE ME;Lo;0;L;;;;;N;;;;; +121E;ETHIOPIC SYLLABLE MO;Lo;0;L;;;;;N;;;;; +121F;ETHIOPIC SYLLABLE MWA;Lo;0;L;;;;;N;;;;; +1220;ETHIOPIC SYLLABLE SZA;Lo;0;L;;;;;N;;;;; +1221;ETHIOPIC SYLLABLE SZU;Lo;0;L;;;;;N;;;;; +1222;ETHIOPIC SYLLABLE SZI;Lo;0;L;;;;;N;;;;; +1223;ETHIOPIC SYLLABLE SZAA;Lo;0;L;;;;;N;;;;; +1224;ETHIOPIC SYLLABLE SZEE;Lo;0;L;;;;;N;;;;; +1225;ETHIOPIC SYLLABLE SZE;Lo;0;L;;;;;N;;;;; +1226;ETHIOPIC SYLLABLE SZO;Lo;0;L;;;;;N;;;;; +1227;ETHIOPIC SYLLABLE SZWA;Lo;0;L;;;;;N;;;;; +1228;ETHIOPIC SYLLABLE RA;Lo;0;L;;;;;N;;;;; +1229;ETHIOPIC SYLLABLE RU;Lo;0;L;;;;;N;;;;; +122A;ETHIOPIC SYLLABLE RI;Lo;0;L;;;;;N;;;;; +122B;ETHIOPIC SYLLABLE RAA;Lo;0;L;;;;;N;;;;; +122C;ETHIOPIC SYLLABLE REE;Lo;0;L;;;;;N;;;;; +122D;ETHIOPIC SYLLABLE RE;Lo;0;L;;;;;N;;;;; +122E;ETHIOPIC SYLLABLE RO;Lo;0;L;;;;;N;;;;; +122F;ETHIOPIC SYLLABLE RWA;Lo;0;L;;;;;N;;;;; +1230;ETHIOPIC SYLLABLE SA;Lo;0;L;;;;;N;;;;; +1231;ETHIOPIC SYLLABLE SU;Lo;0;L;;;;;N;;;;; +1232;ETHIOPIC SYLLABLE SI;Lo;0;L;;;;;N;;;;; +1233;ETHIOPIC SYLLABLE SAA;Lo;0;L;;;;;N;;;;; +1234;ETHIOPIC SYLLABLE SEE;Lo;0;L;;;;;N;;;;; +1235;ETHIOPIC SYLLABLE SE;Lo;0;L;;;;;N;;;;; +1236;ETHIOPIC SYLLABLE SO;Lo;0;L;;;;;N;;;;; +1237;ETHIOPIC SYLLABLE SWA;Lo;0;L;;;;;N;;;;; +1238;ETHIOPIC SYLLABLE SHA;Lo;0;L;;;;;N;;;;; +1239;ETHIOPIC SYLLABLE SHU;Lo;0;L;;;;;N;;;;; +123A;ETHIOPIC SYLLABLE SHI;Lo;0;L;;;;;N;;;;; +123B;ETHIOPIC SYLLABLE SHAA;Lo;0;L;;;;;N;;;;; +123C;ETHIOPIC SYLLABLE SHEE;Lo;0;L;;;;;N;;;;; +123D;ETHIOPIC SYLLABLE SHE;Lo;0;L;;;;;N;;;;; +123E;ETHIOPIC SYLLABLE SHO;Lo;0;L;;;;;N;;;;; +123F;ETHIOPIC SYLLABLE SHWA;Lo;0;L;;;;;N;;;;; +1240;ETHIOPIC SYLLABLE QA;Lo;0;L;;;;;N;;;;; +1241;ETHIOPIC SYLLABLE QU;Lo;0;L;;;;;N;;;;; +1242;ETHIOPIC SYLLABLE QI;Lo;0;L;;;;;N;;;;; +1243;ETHIOPIC SYLLABLE QAA;Lo;0;L;;;;;N;;;;; +1244;ETHIOPIC SYLLABLE QEE;Lo;0;L;;;;;N;;;;; +1245;ETHIOPIC SYLLABLE QE;Lo;0;L;;;;;N;;;;; +1246;ETHIOPIC SYLLABLE QO;Lo;0;L;;;;;N;;;;; +1247;ETHIOPIC SYLLABLE QOA;Lo;0;L;;;;;N;;;;; +1248;ETHIOPIC SYLLABLE QWA;Lo;0;L;;;;;N;;;;; +124A;ETHIOPIC SYLLABLE QWI;Lo;0;L;;;;;N;;;;; +124B;ETHIOPIC SYLLABLE QWAA;Lo;0;L;;;;;N;;;;; +124C;ETHIOPIC SYLLABLE QWEE;Lo;0;L;;;;;N;;;;; +124D;ETHIOPIC SYLLABLE QWE;Lo;0;L;;;;;N;;;;; +1250;ETHIOPIC SYLLABLE QHA;Lo;0;L;;;;;N;;;;; +1251;ETHIOPIC SYLLABLE QHU;Lo;0;L;;;;;N;;;;; +1252;ETHIOPIC SYLLABLE QHI;Lo;0;L;;;;;N;;;;; +1253;ETHIOPIC SYLLABLE QHAA;Lo;0;L;;;;;N;;;;; +1254;ETHIOPIC SYLLABLE QHEE;Lo;0;L;;;;;N;;;;; +1255;ETHIOPIC SYLLABLE QHE;Lo;0;L;;;;;N;;;;; +1256;ETHIOPIC SYLLABLE QHO;Lo;0;L;;;;;N;;;;; +1258;ETHIOPIC SYLLABLE QHWA;Lo;0;L;;;;;N;;;;; +125A;ETHIOPIC SYLLABLE QHWI;Lo;0;L;;;;;N;;;;; +125B;ETHIOPIC SYLLABLE QHWAA;Lo;0;L;;;;;N;;;;; +125C;ETHIOPIC SYLLABLE QHWEE;Lo;0;L;;;;;N;;;;; +125D;ETHIOPIC SYLLABLE QHWE;Lo;0;L;;;;;N;;;;; +1260;ETHIOPIC SYLLABLE BA;Lo;0;L;;;;;N;;;;; +1261;ETHIOPIC SYLLABLE BU;Lo;0;L;;;;;N;;;;; +1262;ETHIOPIC SYLLABLE BI;Lo;0;L;;;;;N;;;;; +1263;ETHIOPIC SYLLABLE BAA;Lo;0;L;;;;;N;;;;; +1264;ETHIOPIC SYLLABLE BEE;Lo;0;L;;;;;N;;;;; +1265;ETHIOPIC SYLLABLE BE;Lo;0;L;;;;;N;;;;; +1266;ETHIOPIC SYLLABLE BO;Lo;0;L;;;;;N;;;;; +1267;ETHIOPIC SYLLABLE BWA;Lo;0;L;;;;;N;;;;; +1268;ETHIOPIC SYLLABLE VA;Lo;0;L;;;;;N;;;;; +1269;ETHIOPIC SYLLABLE VU;Lo;0;L;;;;;N;;;;; +126A;ETHIOPIC SYLLABLE VI;Lo;0;L;;;;;N;;;;; +126B;ETHIOPIC SYLLABLE VAA;Lo;0;L;;;;;N;;;;; +126C;ETHIOPIC SYLLABLE VEE;Lo;0;L;;;;;N;;;;; +126D;ETHIOPIC SYLLABLE VE;Lo;0;L;;;;;N;;;;; +126E;ETHIOPIC SYLLABLE VO;Lo;0;L;;;;;N;;;;; +126F;ETHIOPIC SYLLABLE VWA;Lo;0;L;;;;;N;;;;; +1270;ETHIOPIC SYLLABLE TA;Lo;0;L;;;;;N;;;;; +1271;ETHIOPIC SYLLABLE TU;Lo;0;L;;;;;N;;;;; +1272;ETHIOPIC SYLLABLE TI;Lo;0;L;;;;;N;;;;; +1273;ETHIOPIC SYLLABLE TAA;Lo;0;L;;;;;N;;;;; +1274;ETHIOPIC SYLLABLE TEE;Lo;0;L;;;;;N;;;;; +1275;ETHIOPIC SYLLABLE TE;Lo;0;L;;;;;N;;;;; +1276;ETHIOPIC SYLLABLE TO;Lo;0;L;;;;;N;;;;; +1277;ETHIOPIC SYLLABLE TWA;Lo;0;L;;;;;N;;;;; +1278;ETHIOPIC SYLLABLE CA;Lo;0;L;;;;;N;;;;; +1279;ETHIOPIC SYLLABLE CU;Lo;0;L;;;;;N;;;;; +127A;ETHIOPIC SYLLABLE CI;Lo;0;L;;;;;N;;;;; +127B;ETHIOPIC SYLLABLE CAA;Lo;0;L;;;;;N;;;;; +127C;ETHIOPIC SYLLABLE CEE;Lo;0;L;;;;;N;;;;; +127D;ETHIOPIC SYLLABLE CE;Lo;0;L;;;;;N;;;;; +127E;ETHIOPIC SYLLABLE CO;Lo;0;L;;;;;N;;;;; +127F;ETHIOPIC SYLLABLE CWA;Lo;0;L;;;;;N;;;;; +1280;ETHIOPIC SYLLABLE XA;Lo;0;L;;;;;N;;;;; +1281;ETHIOPIC SYLLABLE XU;Lo;0;L;;;;;N;;;;; +1282;ETHIOPIC SYLLABLE XI;Lo;0;L;;;;;N;;;;; +1283;ETHIOPIC SYLLABLE XAA;Lo;0;L;;;;;N;;;;; +1284;ETHIOPIC SYLLABLE XEE;Lo;0;L;;;;;N;;;;; +1285;ETHIOPIC SYLLABLE XE;Lo;0;L;;;;;N;;;;; +1286;ETHIOPIC SYLLABLE XO;Lo;0;L;;;;;N;;;;; +1287;ETHIOPIC SYLLABLE XOA;Lo;0;L;;;;;N;;;;; +1288;ETHIOPIC SYLLABLE XWA;Lo;0;L;;;;;N;;;;; +128A;ETHIOPIC SYLLABLE XWI;Lo;0;L;;;;;N;;;;; +128B;ETHIOPIC SYLLABLE XWAA;Lo;0;L;;;;;N;;;;; +128C;ETHIOPIC SYLLABLE XWEE;Lo;0;L;;;;;N;;;;; +128D;ETHIOPIC SYLLABLE XWE;Lo;0;L;;;;;N;;;;; +1290;ETHIOPIC SYLLABLE NA;Lo;0;L;;;;;N;;;;; +1291;ETHIOPIC SYLLABLE NU;Lo;0;L;;;;;N;;;;; +1292;ETHIOPIC SYLLABLE NI;Lo;0;L;;;;;N;;;;; +1293;ETHIOPIC SYLLABLE NAA;Lo;0;L;;;;;N;;;;; +1294;ETHIOPIC SYLLABLE NEE;Lo;0;L;;;;;N;;;;; +1295;ETHIOPIC SYLLABLE NE;Lo;0;L;;;;;N;;;;; +1296;ETHIOPIC SYLLABLE NO;Lo;0;L;;;;;N;;;;; +1297;ETHIOPIC SYLLABLE NWA;Lo;0;L;;;;;N;;;;; +1298;ETHIOPIC SYLLABLE NYA;Lo;0;L;;;;;N;;;;; +1299;ETHIOPIC SYLLABLE NYU;Lo;0;L;;;;;N;;;;; +129A;ETHIOPIC SYLLABLE NYI;Lo;0;L;;;;;N;;;;; +129B;ETHIOPIC SYLLABLE NYAA;Lo;0;L;;;;;N;;;;; +129C;ETHIOPIC SYLLABLE NYEE;Lo;0;L;;;;;N;;;;; +129D;ETHIOPIC SYLLABLE NYE;Lo;0;L;;;;;N;;;;; +129E;ETHIOPIC SYLLABLE NYO;Lo;0;L;;;;;N;;;;; +129F;ETHIOPIC SYLLABLE NYWA;Lo;0;L;;;;;N;;;;; +12A0;ETHIOPIC SYLLABLE GLOTTAL A;Lo;0;L;;;;;N;;;;; +12A1;ETHIOPIC SYLLABLE GLOTTAL U;Lo;0;L;;;;;N;;;;; +12A2;ETHIOPIC SYLLABLE GLOTTAL I;Lo;0;L;;;;;N;;;;; +12A3;ETHIOPIC SYLLABLE GLOTTAL AA;Lo;0;L;;;;;N;;;;; +12A4;ETHIOPIC SYLLABLE GLOTTAL EE;Lo;0;L;;;;;N;;;;; +12A5;ETHIOPIC SYLLABLE GLOTTAL E;Lo;0;L;;;;;N;;;;; +12A6;ETHIOPIC SYLLABLE GLOTTAL O;Lo;0;L;;;;;N;;;;; +12A7;ETHIOPIC SYLLABLE GLOTTAL WA;Lo;0;L;;;;;N;;;;; +12A8;ETHIOPIC SYLLABLE KA;Lo;0;L;;;;;N;;;;; +12A9;ETHIOPIC SYLLABLE KU;Lo;0;L;;;;;N;;;;; +12AA;ETHIOPIC SYLLABLE KI;Lo;0;L;;;;;N;;;;; +12AB;ETHIOPIC SYLLABLE KAA;Lo;0;L;;;;;N;;;;; +12AC;ETHIOPIC SYLLABLE KEE;Lo;0;L;;;;;N;;;;; +12AD;ETHIOPIC SYLLABLE KE;Lo;0;L;;;;;N;;;;; +12AE;ETHIOPIC SYLLABLE KO;Lo;0;L;;;;;N;;;;; +12AF;ETHIOPIC SYLLABLE KOA;Lo;0;L;;;;;N;;;;; +12B0;ETHIOPIC SYLLABLE KWA;Lo;0;L;;;;;N;;;;; +12B2;ETHIOPIC SYLLABLE KWI;Lo;0;L;;;;;N;;;;; +12B3;ETHIOPIC SYLLABLE KWAA;Lo;0;L;;;;;N;;;;; +12B4;ETHIOPIC SYLLABLE KWEE;Lo;0;L;;;;;N;;;;; +12B5;ETHIOPIC SYLLABLE KWE;Lo;0;L;;;;;N;;;;; +12B8;ETHIOPIC SYLLABLE KXA;Lo;0;L;;;;;N;;;;; +12B9;ETHIOPIC SYLLABLE KXU;Lo;0;L;;;;;N;;;;; +12BA;ETHIOPIC SYLLABLE KXI;Lo;0;L;;;;;N;;;;; +12BB;ETHIOPIC SYLLABLE KXAA;Lo;0;L;;;;;N;;;;; +12BC;ETHIOPIC SYLLABLE KXEE;Lo;0;L;;;;;N;;;;; +12BD;ETHIOPIC SYLLABLE KXE;Lo;0;L;;;;;N;;;;; +12BE;ETHIOPIC SYLLABLE KXO;Lo;0;L;;;;;N;;;;; +12C0;ETHIOPIC SYLLABLE KXWA;Lo;0;L;;;;;N;;;;; +12C2;ETHIOPIC SYLLABLE KXWI;Lo;0;L;;;;;N;;;;; +12C3;ETHIOPIC SYLLABLE KXWAA;Lo;0;L;;;;;N;;;;; +12C4;ETHIOPIC SYLLABLE KXWEE;Lo;0;L;;;;;N;;;;; +12C5;ETHIOPIC SYLLABLE KXWE;Lo;0;L;;;;;N;;;;; +12C8;ETHIOPIC SYLLABLE WA;Lo;0;L;;;;;N;;;;; +12C9;ETHIOPIC SYLLABLE WU;Lo;0;L;;;;;N;;;;; +12CA;ETHIOPIC SYLLABLE WI;Lo;0;L;;;;;N;;;;; +12CB;ETHIOPIC SYLLABLE WAA;Lo;0;L;;;;;N;;;;; +12CC;ETHIOPIC SYLLABLE WEE;Lo;0;L;;;;;N;;;;; +12CD;ETHIOPIC SYLLABLE WE;Lo;0;L;;;;;N;;;;; +12CE;ETHIOPIC SYLLABLE WO;Lo;0;L;;;;;N;;;;; +12CF;ETHIOPIC SYLLABLE WOA;Lo;0;L;;;;;N;;;;; +12D0;ETHIOPIC SYLLABLE PHARYNGEAL A;Lo;0;L;;;;;N;;;;; +12D1;ETHIOPIC SYLLABLE PHARYNGEAL U;Lo;0;L;;;;;N;;;;; +12D2;ETHIOPIC SYLLABLE PHARYNGEAL I;Lo;0;L;;;;;N;;;;; +12D3;ETHIOPIC SYLLABLE PHARYNGEAL AA;Lo;0;L;;;;;N;;;;; +12D4;ETHIOPIC SYLLABLE PHARYNGEAL EE;Lo;0;L;;;;;N;;;;; +12D5;ETHIOPIC SYLLABLE PHARYNGEAL E;Lo;0;L;;;;;N;;;;; +12D6;ETHIOPIC SYLLABLE PHARYNGEAL O;Lo;0;L;;;;;N;;;;; +12D8;ETHIOPIC SYLLABLE ZA;Lo;0;L;;;;;N;;;;; +12D9;ETHIOPIC SYLLABLE ZU;Lo;0;L;;;;;N;;;;; +12DA;ETHIOPIC SYLLABLE ZI;Lo;0;L;;;;;N;;;;; +12DB;ETHIOPIC SYLLABLE ZAA;Lo;0;L;;;;;N;;;;; +12DC;ETHIOPIC SYLLABLE ZEE;Lo;0;L;;;;;N;;;;; +12DD;ETHIOPIC SYLLABLE ZE;Lo;0;L;;;;;N;;;;; +12DE;ETHIOPIC SYLLABLE ZO;Lo;0;L;;;;;N;;;;; +12DF;ETHIOPIC SYLLABLE ZWA;Lo;0;L;;;;;N;;;;; +12E0;ETHIOPIC SYLLABLE ZHA;Lo;0;L;;;;;N;;;;; +12E1;ETHIOPIC SYLLABLE ZHU;Lo;0;L;;;;;N;;;;; +12E2;ETHIOPIC SYLLABLE ZHI;Lo;0;L;;;;;N;;;;; +12E3;ETHIOPIC SYLLABLE ZHAA;Lo;0;L;;;;;N;;;;; +12E4;ETHIOPIC SYLLABLE ZHEE;Lo;0;L;;;;;N;;;;; +12E5;ETHIOPIC SYLLABLE ZHE;Lo;0;L;;;;;N;;;;; +12E6;ETHIOPIC SYLLABLE ZHO;Lo;0;L;;;;;N;;;;; +12E7;ETHIOPIC SYLLABLE ZHWA;Lo;0;L;;;;;N;;;;; +12E8;ETHIOPIC SYLLABLE YA;Lo;0;L;;;;;N;;;;; +12E9;ETHIOPIC SYLLABLE YU;Lo;0;L;;;;;N;;;;; +12EA;ETHIOPIC SYLLABLE YI;Lo;0;L;;;;;N;;;;; +12EB;ETHIOPIC SYLLABLE YAA;Lo;0;L;;;;;N;;;;; +12EC;ETHIOPIC SYLLABLE YEE;Lo;0;L;;;;;N;;;;; +12ED;ETHIOPIC SYLLABLE YE;Lo;0;L;;;;;N;;;;; +12EE;ETHIOPIC SYLLABLE YO;Lo;0;L;;;;;N;;;;; +12EF;ETHIOPIC SYLLABLE YOA;Lo;0;L;;;;;N;;;;; +12F0;ETHIOPIC SYLLABLE DA;Lo;0;L;;;;;N;;;;; +12F1;ETHIOPIC SYLLABLE DU;Lo;0;L;;;;;N;;;;; +12F2;ETHIOPIC SYLLABLE DI;Lo;0;L;;;;;N;;;;; +12F3;ETHIOPIC SYLLABLE DAA;Lo;0;L;;;;;N;;;;; +12F4;ETHIOPIC SYLLABLE DEE;Lo;0;L;;;;;N;;;;; +12F5;ETHIOPIC SYLLABLE DE;Lo;0;L;;;;;N;;;;; +12F6;ETHIOPIC SYLLABLE DO;Lo;0;L;;;;;N;;;;; +12F7;ETHIOPIC SYLLABLE DWA;Lo;0;L;;;;;N;;;;; +12F8;ETHIOPIC SYLLABLE DDA;Lo;0;L;;;;;N;;;;; +12F9;ETHIOPIC SYLLABLE DDU;Lo;0;L;;;;;N;;;;; +12FA;ETHIOPIC SYLLABLE DDI;Lo;0;L;;;;;N;;;;; +12FB;ETHIOPIC SYLLABLE DDAA;Lo;0;L;;;;;N;;;;; +12FC;ETHIOPIC SYLLABLE DDEE;Lo;0;L;;;;;N;;;;; +12FD;ETHIOPIC SYLLABLE DDE;Lo;0;L;;;;;N;;;;; +12FE;ETHIOPIC SYLLABLE DDO;Lo;0;L;;;;;N;;;;; +12FF;ETHIOPIC SYLLABLE DDWA;Lo;0;L;;;;;N;;;;; +1300;ETHIOPIC SYLLABLE JA;Lo;0;L;;;;;N;;;;; +1301;ETHIOPIC SYLLABLE JU;Lo;0;L;;;;;N;;;;; +1302;ETHIOPIC SYLLABLE JI;Lo;0;L;;;;;N;;;;; +1303;ETHIOPIC SYLLABLE JAA;Lo;0;L;;;;;N;;;;; +1304;ETHIOPIC SYLLABLE JEE;Lo;0;L;;;;;N;;;;; +1305;ETHIOPIC SYLLABLE JE;Lo;0;L;;;;;N;;;;; +1306;ETHIOPIC SYLLABLE JO;Lo;0;L;;;;;N;;;;; +1307;ETHIOPIC SYLLABLE JWA;Lo;0;L;;;;;N;;;;; +1308;ETHIOPIC SYLLABLE GA;Lo;0;L;;;;;N;;;;; +1309;ETHIOPIC SYLLABLE GU;Lo;0;L;;;;;N;;;;; +130A;ETHIOPIC SYLLABLE GI;Lo;0;L;;;;;N;;;;; +130B;ETHIOPIC SYLLABLE GAA;Lo;0;L;;;;;N;;;;; +130C;ETHIOPIC SYLLABLE GEE;Lo;0;L;;;;;N;;;;; +130D;ETHIOPIC SYLLABLE GE;Lo;0;L;;;;;N;;;;; +130E;ETHIOPIC SYLLABLE GO;Lo;0;L;;;;;N;;;;; +130F;ETHIOPIC SYLLABLE GOA;Lo;0;L;;;;;N;;;;; +1310;ETHIOPIC SYLLABLE GWA;Lo;0;L;;;;;N;;;;; +1312;ETHIOPIC SYLLABLE GWI;Lo;0;L;;;;;N;;;;; +1313;ETHIOPIC SYLLABLE GWAA;Lo;0;L;;;;;N;;;;; +1314;ETHIOPIC SYLLABLE GWEE;Lo;0;L;;;;;N;;;;; +1315;ETHIOPIC SYLLABLE GWE;Lo;0;L;;;;;N;;;;; +1318;ETHIOPIC SYLLABLE GGA;Lo;0;L;;;;;N;;;;; +1319;ETHIOPIC SYLLABLE GGU;Lo;0;L;;;;;N;;;;; +131A;ETHIOPIC SYLLABLE GGI;Lo;0;L;;;;;N;;;;; +131B;ETHIOPIC SYLLABLE GGAA;Lo;0;L;;;;;N;;;;; +131C;ETHIOPIC SYLLABLE GGEE;Lo;0;L;;;;;N;;;;; +131D;ETHIOPIC SYLLABLE GGE;Lo;0;L;;;;;N;;;;; +131E;ETHIOPIC SYLLABLE GGO;Lo;0;L;;;;;N;;;;; +131F;ETHIOPIC SYLLABLE GGWAA;Lo;0;L;;;;;N;;;;; +1320;ETHIOPIC SYLLABLE THA;Lo;0;L;;;;;N;;;;; +1321;ETHIOPIC SYLLABLE THU;Lo;0;L;;;;;N;;;;; +1322;ETHIOPIC SYLLABLE THI;Lo;0;L;;;;;N;;;;; +1323;ETHIOPIC SYLLABLE THAA;Lo;0;L;;;;;N;;;;; +1324;ETHIOPIC SYLLABLE THEE;Lo;0;L;;;;;N;;;;; +1325;ETHIOPIC SYLLABLE THE;Lo;0;L;;;;;N;;;;; +1326;ETHIOPIC SYLLABLE THO;Lo;0;L;;;;;N;;;;; +1327;ETHIOPIC SYLLABLE THWA;Lo;0;L;;;;;N;;;;; +1328;ETHIOPIC SYLLABLE CHA;Lo;0;L;;;;;N;;;;; +1329;ETHIOPIC SYLLABLE CHU;Lo;0;L;;;;;N;;;;; +132A;ETHIOPIC SYLLABLE CHI;Lo;0;L;;;;;N;;;;; +132B;ETHIOPIC SYLLABLE CHAA;Lo;0;L;;;;;N;;;;; +132C;ETHIOPIC SYLLABLE CHEE;Lo;0;L;;;;;N;;;;; +132D;ETHIOPIC SYLLABLE CHE;Lo;0;L;;;;;N;;;;; +132E;ETHIOPIC SYLLABLE CHO;Lo;0;L;;;;;N;;;;; +132F;ETHIOPIC SYLLABLE CHWA;Lo;0;L;;;;;N;;;;; +1330;ETHIOPIC SYLLABLE PHA;Lo;0;L;;;;;N;;;;; +1331;ETHIOPIC SYLLABLE PHU;Lo;0;L;;;;;N;;;;; +1332;ETHIOPIC SYLLABLE PHI;Lo;0;L;;;;;N;;;;; +1333;ETHIOPIC SYLLABLE PHAA;Lo;0;L;;;;;N;;;;; +1334;ETHIOPIC SYLLABLE PHEE;Lo;0;L;;;;;N;;;;; +1335;ETHIOPIC SYLLABLE PHE;Lo;0;L;;;;;N;;;;; +1336;ETHIOPIC SYLLABLE PHO;Lo;0;L;;;;;N;;;;; +1337;ETHIOPIC SYLLABLE PHWA;Lo;0;L;;;;;N;;;;; +1338;ETHIOPIC SYLLABLE TSA;Lo;0;L;;;;;N;;;;; +1339;ETHIOPIC SYLLABLE TSU;Lo;0;L;;;;;N;;;;; +133A;ETHIOPIC SYLLABLE TSI;Lo;0;L;;;;;N;;;;; +133B;ETHIOPIC SYLLABLE TSAA;Lo;0;L;;;;;N;;;;; +133C;ETHIOPIC SYLLABLE TSEE;Lo;0;L;;;;;N;;;;; +133D;ETHIOPIC SYLLABLE TSE;Lo;0;L;;;;;N;;;;; +133E;ETHIOPIC SYLLABLE TSO;Lo;0;L;;;;;N;;;;; +133F;ETHIOPIC SYLLABLE TSWA;Lo;0;L;;;;;N;;;;; +1340;ETHIOPIC SYLLABLE TZA;Lo;0;L;;;;;N;;;;; +1341;ETHIOPIC SYLLABLE TZU;Lo;0;L;;;;;N;;;;; +1342;ETHIOPIC SYLLABLE TZI;Lo;0;L;;;;;N;;;;; +1343;ETHIOPIC SYLLABLE TZAA;Lo;0;L;;;;;N;;;;; +1344;ETHIOPIC SYLLABLE TZEE;Lo;0;L;;;;;N;;;;; +1345;ETHIOPIC SYLLABLE TZE;Lo;0;L;;;;;N;;;;; +1346;ETHIOPIC SYLLABLE TZO;Lo;0;L;;;;;N;;;;; +1347;ETHIOPIC SYLLABLE TZOA;Lo;0;L;;;;;N;;;;; +1348;ETHIOPIC SYLLABLE FA;Lo;0;L;;;;;N;;;;; +1349;ETHIOPIC SYLLABLE FU;Lo;0;L;;;;;N;;;;; +134A;ETHIOPIC SYLLABLE FI;Lo;0;L;;;;;N;;;;; +134B;ETHIOPIC SYLLABLE FAA;Lo;0;L;;;;;N;;;;; +134C;ETHIOPIC SYLLABLE FEE;Lo;0;L;;;;;N;;;;; +134D;ETHIOPIC SYLLABLE FE;Lo;0;L;;;;;N;;;;; +134E;ETHIOPIC SYLLABLE FO;Lo;0;L;;;;;N;;;;; +134F;ETHIOPIC SYLLABLE FWA;Lo;0;L;;;;;N;;;;; +1350;ETHIOPIC SYLLABLE PA;Lo;0;L;;;;;N;;;;; +1351;ETHIOPIC SYLLABLE PU;Lo;0;L;;;;;N;;;;; +1352;ETHIOPIC SYLLABLE PI;Lo;0;L;;;;;N;;;;; +1353;ETHIOPIC SYLLABLE PAA;Lo;0;L;;;;;N;;;;; +1354;ETHIOPIC SYLLABLE PEE;Lo;0;L;;;;;N;;;;; +1355;ETHIOPIC SYLLABLE PE;Lo;0;L;;;;;N;;;;; +1356;ETHIOPIC SYLLABLE PO;Lo;0;L;;;;;N;;;;; +1357;ETHIOPIC SYLLABLE PWA;Lo;0;L;;;;;N;;;;; +1358;ETHIOPIC SYLLABLE RYA;Lo;0;L;;;;;N;;;;; +1359;ETHIOPIC SYLLABLE MYA;Lo;0;L;;;;;N;;;;; +135A;ETHIOPIC SYLLABLE FYA;Lo;0;L;;;;;N;;;;; +135F;ETHIOPIC COMBINING GEMINATION MARK;Mn;230;NSM;;;;;N;;;;; +1360;ETHIOPIC SECTION MARK;So;0;L;;;;;N;;;;; +1361;ETHIOPIC WORDSPACE;Po;0;L;;;;;N;;;;; +1362;ETHIOPIC FULL STOP;Po;0;L;;;;;N;;;;; +1363;ETHIOPIC COMMA;Po;0;L;;;;;N;;;;; +1364;ETHIOPIC SEMICOLON;Po;0;L;;;;;N;;;;; +1365;ETHIOPIC COLON;Po;0;L;;;;;N;;;;; +1366;ETHIOPIC PREFACE COLON;Po;0;L;;;;;N;;;;; +1367;ETHIOPIC QUESTION MARK;Po;0;L;;;;;N;;;;; +1368;ETHIOPIC PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;; +1369;ETHIOPIC DIGIT ONE;No;0;L;;;1;1;N;;;;; +136A;ETHIOPIC DIGIT TWO;No;0;L;;;2;2;N;;;;; +136B;ETHIOPIC DIGIT THREE;No;0;L;;;3;3;N;;;;; +136C;ETHIOPIC DIGIT FOUR;No;0;L;;;4;4;N;;;;; +136D;ETHIOPIC DIGIT FIVE;No;0;L;;;5;5;N;;;;; +136E;ETHIOPIC DIGIT SIX;No;0;L;;;6;6;N;;;;; +136F;ETHIOPIC DIGIT SEVEN;No;0;L;;;7;7;N;;;;; +1370;ETHIOPIC DIGIT EIGHT;No;0;L;;;8;8;N;;;;; +1371;ETHIOPIC DIGIT NINE;No;0;L;;;9;9;N;;;;; +1372;ETHIOPIC NUMBER TEN;No;0;L;;;;10;N;;;;; +1373;ETHIOPIC NUMBER TWENTY;No;0;L;;;;20;N;;;;; +1374;ETHIOPIC NUMBER THIRTY;No;0;L;;;;30;N;;;;; +1375;ETHIOPIC NUMBER FORTY;No;0;L;;;;40;N;;;;; +1376;ETHIOPIC NUMBER FIFTY;No;0;L;;;;50;N;;;;; +1377;ETHIOPIC NUMBER SIXTY;No;0;L;;;;60;N;;;;; +1378;ETHIOPIC NUMBER SEVENTY;No;0;L;;;;70;N;;;;; +1379;ETHIOPIC NUMBER EIGHTY;No;0;L;;;;80;N;;;;; +137A;ETHIOPIC NUMBER NINETY;No;0;L;;;;90;N;;;;; +137B;ETHIOPIC NUMBER HUNDRED;No;0;L;;;;100;N;;;;; +137C;ETHIOPIC NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;; +1380;ETHIOPIC SYLLABLE SEBATBEIT MWA;Lo;0;L;;;;;N;;;;; +1381;ETHIOPIC SYLLABLE MWI;Lo;0;L;;;;;N;;;;; +1382;ETHIOPIC SYLLABLE MWEE;Lo;0;L;;;;;N;;;;; +1383;ETHIOPIC SYLLABLE MWE;Lo;0;L;;;;;N;;;;; +1384;ETHIOPIC SYLLABLE SEBATBEIT BWA;Lo;0;L;;;;;N;;;;; +1385;ETHIOPIC SYLLABLE BWI;Lo;0;L;;;;;N;;;;; +1386;ETHIOPIC SYLLABLE BWEE;Lo;0;L;;;;;N;;;;; +1387;ETHIOPIC SYLLABLE BWE;Lo;0;L;;;;;N;;;;; +1388;ETHIOPIC SYLLABLE SEBATBEIT FWA;Lo;0;L;;;;;N;;;;; +1389;ETHIOPIC SYLLABLE FWI;Lo;0;L;;;;;N;;;;; +138A;ETHIOPIC SYLLABLE FWEE;Lo;0;L;;;;;N;;;;; +138B;ETHIOPIC SYLLABLE FWE;Lo;0;L;;;;;N;;;;; +138C;ETHIOPIC SYLLABLE SEBATBEIT PWA;Lo;0;L;;;;;N;;;;; +138D;ETHIOPIC SYLLABLE PWI;Lo;0;L;;;;;N;;;;; +138E;ETHIOPIC SYLLABLE PWEE;Lo;0;L;;;;;N;;;;; +138F;ETHIOPIC SYLLABLE PWE;Lo;0;L;;;;;N;;;;; +1390;ETHIOPIC TONAL MARK YIZET;So;0;ON;;;;;N;;;;; +1391;ETHIOPIC TONAL MARK DERET;So;0;ON;;;;;N;;;;; +1392;ETHIOPIC TONAL MARK RIKRIK;So;0;ON;;;;;N;;;;; +1393;ETHIOPIC TONAL MARK SHORT RIKRIK;So;0;ON;;;;;N;;;;; +1394;ETHIOPIC TONAL MARK DIFAT;So;0;ON;;;;;N;;;;; +1395;ETHIOPIC TONAL MARK KENAT;So;0;ON;;;;;N;;;;; +1396;ETHIOPIC TONAL MARK CHIRET;So;0;ON;;;;;N;;;;; +1397;ETHIOPIC TONAL MARK HIDET;So;0;ON;;;;;N;;;;; +1398;ETHIOPIC TONAL MARK DERET-HIDET;So;0;ON;;;;;N;;;;; +1399;ETHIOPIC TONAL MARK KURT;So;0;ON;;;;;N;;;;; +13A0;CHEROKEE LETTER A;Lo;0;L;;;;;N;;;;; +13A1;CHEROKEE LETTER E;Lo;0;L;;;;;N;;;;; +13A2;CHEROKEE LETTER I;Lo;0;L;;;;;N;;;;; +13A3;CHEROKEE LETTER O;Lo;0;L;;;;;N;;;;; +13A4;CHEROKEE LETTER U;Lo;0;L;;;;;N;;;;; +13A5;CHEROKEE LETTER V;Lo;0;L;;;;;N;;;;; +13A6;CHEROKEE LETTER GA;Lo;0;L;;;;;N;;;;; +13A7;CHEROKEE LETTER KA;Lo;0;L;;;;;N;;;;; +13A8;CHEROKEE LETTER GE;Lo;0;L;;;;;N;;;;; +13A9;CHEROKEE LETTER GI;Lo;0;L;;;;;N;;;;; +13AA;CHEROKEE LETTER GO;Lo;0;L;;;;;N;;;;; +13AB;CHEROKEE LETTER GU;Lo;0;L;;;;;N;;;;; +13AC;CHEROKEE LETTER GV;Lo;0;L;;;;;N;;;;; +13AD;CHEROKEE LETTER HA;Lo;0;L;;;;;N;;;;; +13AE;CHEROKEE LETTER HE;Lo;0;L;;;;;N;;;;; +13AF;CHEROKEE LETTER HI;Lo;0;L;;;;;N;;;;; +13B0;CHEROKEE LETTER HO;Lo;0;L;;;;;N;;;;; +13B1;CHEROKEE LETTER HU;Lo;0;L;;;;;N;;;;; +13B2;CHEROKEE LETTER HV;Lo;0;L;;;;;N;;;;; +13B3;CHEROKEE LETTER LA;Lo;0;L;;;;;N;;;;; +13B4;CHEROKEE LETTER LE;Lo;0;L;;;;;N;;;;; +13B5;CHEROKEE LETTER LI;Lo;0;L;;;;;N;;;;; +13B6;CHEROKEE LETTER LO;Lo;0;L;;;;;N;;;;; +13B7;CHEROKEE LETTER LU;Lo;0;L;;;;;N;;;;; +13B8;CHEROKEE LETTER LV;Lo;0;L;;;;;N;;;;; +13B9;CHEROKEE LETTER MA;Lo;0;L;;;;;N;;;;; +13BA;CHEROKEE LETTER ME;Lo;0;L;;;;;N;;;;; +13BB;CHEROKEE LETTER MI;Lo;0;L;;;;;N;;;;; +13BC;CHEROKEE LETTER MO;Lo;0;L;;;;;N;;;;; +13BD;CHEROKEE LETTER MU;Lo;0;L;;;;;N;;;;; +13BE;CHEROKEE LETTER NA;Lo;0;L;;;;;N;;;;; +13BF;CHEROKEE LETTER HNA;Lo;0;L;;;;;N;;;;; +13C0;CHEROKEE LETTER NAH;Lo;0;L;;;;;N;;;;; +13C1;CHEROKEE LETTER NE;Lo;0;L;;;;;N;;;;; +13C2;CHEROKEE LETTER NI;Lo;0;L;;;;;N;;;;; +13C3;CHEROKEE LETTER NO;Lo;0;L;;;;;N;;;;; +13C4;CHEROKEE LETTER NU;Lo;0;L;;;;;N;;;;; +13C5;CHEROKEE LETTER NV;Lo;0;L;;;;;N;;;;; +13C6;CHEROKEE LETTER QUA;Lo;0;L;;;;;N;;;;; +13C7;CHEROKEE LETTER QUE;Lo;0;L;;;;;N;;;;; +13C8;CHEROKEE LETTER QUI;Lo;0;L;;;;;N;;;;; +13C9;CHEROKEE LETTER QUO;Lo;0;L;;;;;N;;;;; +13CA;CHEROKEE LETTER QUU;Lo;0;L;;;;;N;;;;; +13CB;CHEROKEE LETTER QUV;Lo;0;L;;;;;N;;;;; +13CC;CHEROKEE LETTER SA;Lo;0;L;;;;;N;;;;; +13CD;CHEROKEE LETTER S;Lo;0;L;;;;;N;;;;; +13CE;CHEROKEE LETTER SE;Lo;0;L;;;;;N;;;;; +13CF;CHEROKEE LETTER SI;Lo;0;L;;;;;N;;;;; +13D0;CHEROKEE LETTER SO;Lo;0;L;;;;;N;;;;; +13D1;CHEROKEE LETTER SU;Lo;0;L;;;;;N;;;;; +13D2;CHEROKEE LETTER SV;Lo;0;L;;;;;N;;;;; +13D3;CHEROKEE LETTER DA;Lo;0;L;;;;;N;;;;; +13D4;CHEROKEE LETTER TA;Lo;0;L;;;;;N;;;;; +13D5;CHEROKEE LETTER DE;Lo;0;L;;;;;N;;;;; +13D6;CHEROKEE LETTER TE;Lo;0;L;;;;;N;;;;; +13D7;CHEROKEE LETTER DI;Lo;0;L;;;;;N;;;;; +13D8;CHEROKEE LETTER TI;Lo;0;L;;;;;N;;;;; +13D9;CHEROKEE LETTER DO;Lo;0;L;;;;;N;;;;; +13DA;CHEROKEE LETTER DU;Lo;0;L;;;;;N;;;;; +13DB;CHEROKEE LETTER DV;Lo;0;L;;;;;N;;;;; +13DC;CHEROKEE LETTER DLA;Lo;0;L;;;;;N;;;;; +13DD;CHEROKEE LETTER TLA;Lo;0;L;;;;;N;;;;; +13DE;CHEROKEE LETTER TLE;Lo;0;L;;;;;N;;;;; +13DF;CHEROKEE LETTER TLI;Lo;0;L;;;;;N;;;;; +13E0;CHEROKEE LETTER TLO;Lo;0;L;;;;;N;;;;; +13E1;CHEROKEE LETTER TLU;Lo;0;L;;;;;N;;;;; +13E2;CHEROKEE LETTER TLV;Lo;0;L;;;;;N;;;;; +13E3;CHEROKEE LETTER TSA;Lo;0;L;;;;;N;;;;; +13E4;CHEROKEE LETTER TSE;Lo;0;L;;;;;N;;;;; +13E5;CHEROKEE LETTER TSI;Lo;0;L;;;;;N;;;;; +13E6;CHEROKEE LETTER TSO;Lo;0;L;;;;;N;;;;; +13E7;CHEROKEE LETTER TSU;Lo;0;L;;;;;N;;;;; +13E8;CHEROKEE LETTER TSV;Lo;0;L;;;;;N;;;;; +13E9;CHEROKEE LETTER WA;Lo;0;L;;;;;N;;;;; +13EA;CHEROKEE LETTER WE;Lo;0;L;;;;;N;;;;; +13EB;CHEROKEE LETTER WI;Lo;0;L;;;;;N;;;;; +13EC;CHEROKEE LETTER WO;Lo;0;L;;;;;N;;;;; +13ED;CHEROKEE LETTER WU;Lo;0;L;;;;;N;;;;; +13EE;CHEROKEE LETTER WV;Lo;0;L;;;;;N;;;;; +13EF;CHEROKEE LETTER YA;Lo;0;L;;;;;N;;;;; +13F0;CHEROKEE LETTER YE;Lo;0;L;;;;;N;;;;; +13F1;CHEROKEE LETTER YI;Lo;0;L;;;;;N;;;;; +13F2;CHEROKEE LETTER YO;Lo;0;L;;;;;N;;;;; +13F3;CHEROKEE LETTER YU;Lo;0;L;;;;;N;;;;; +13F4;CHEROKEE LETTER YV;Lo;0;L;;;;;N;;;;; +1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;; +1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;; +1403;CANADIAN SYLLABICS I;Lo;0;L;;;;;N;;;;; +1404;CANADIAN SYLLABICS II;Lo;0;L;;;;;N;;;;; +1405;CANADIAN SYLLABICS O;Lo;0;L;;;;;N;;;;; +1406;CANADIAN SYLLABICS OO;Lo;0;L;;;;;N;;;;; +1407;CANADIAN SYLLABICS Y-CREE OO;Lo;0;L;;;;;N;;;;; +1408;CANADIAN SYLLABICS CARRIER EE;Lo;0;L;;;;;N;;;;; +1409;CANADIAN SYLLABICS CARRIER I;Lo;0;L;;;;;N;;;;; +140A;CANADIAN SYLLABICS A;Lo;0;L;;;;;N;;;;; +140B;CANADIAN SYLLABICS AA;Lo;0;L;;;;;N;;;;; +140C;CANADIAN SYLLABICS WE;Lo;0;L;;;;;N;;;;; +140D;CANADIAN SYLLABICS WEST-CREE WE;Lo;0;L;;;;;N;;;;; +140E;CANADIAN SYLLABICS WI;Lo;0;L;;;;;N;;;;; +140F;CANADIAN SYLLABICS WEST-CREE WI;Lo;0;L;;;;;N;;;;; +1410;CANADIAN SYLLABICS WII;Lo;0;L;;;;;N;;;;; +1411;CANADIAN SYLLABICS WEST-CREE WII;Lo;0;L;;;;;N;;;;; +1412;CANADIAN SYLLABICS WO;Lo;0;L;;;;;N;;;;; +1413;CANADIAN SYLLABICS WEST-CREE WO;Lo;0;L;;;;;N;;;;; +1414;CANADIAN SYLLABICS WOO;Lo;0;L;;;;;N;;;;; +1415;CANADIAN SYLLABICS WEST-CREE WOO;Lo;0;L;;;;;N;;;;; +1416;CANADIAN SYLLABICS NASKAPI WOO;Lo;0;L;;;;;N;;;;; +1417;CANADIAN SYLLABICS WA;Lo;0;L;;;;;N;;;;; +1418;CANADIAN SYLLABICS WEST-CREE WA;Lo;0;L;;;;;N;;;;; +1419;CANADIAN SYLLABICS WAA;Lo;0;L;;;;;N;;;;; +141A;CANADIAN SYLLABICS WEST-CREE WAA;Lo;0;L;;;;;N;;;;; +141B;CANADIAN SYLLABICS NASKAPI WAA;Lo;0;L;;;;;N;;;;; +141C;CANADIAN SYLLABICS AI;Lo;0;L;;;;;N;;;;; +141D;CANADIAN SYLLABICS Y-CREE W;Lo;0;L;;;;;N;;;;; +141E;CANADIAN SYLLABICS GLOTTAL STOP;Lo;0;L;;;;;N;;;;; +141F;CANADIAN SYLLABICS FINAL ACUTE;Lo;0;L;;;;;N;;;;; +1420;CANADIAN SYLLABICS FINAL GRAVE;Lo;0;L;;;;;N;;;;; +1421;CANADIAN SYLLABICS FINAL BOTTOM HALF RING;Lo;0;L;;;;;N;;;;; +1422;CANADIAN SYLLABICS FINAL TOP HALF RING;Lo;0;L;;;;;N;;;;; +1423;CANADIAN SYLLABICS FINAL RIGHT HALF RING;Lo;0;L;;;;;N;;;;; +1424;CANADIAN SYLLABICS FINAL RING;Lo;0;L;;;;;N;;;;; +1425;CANADIAN SYLLABICS FINAL DOUBLE ACUTE;Lo;0;L;;;;;N;;;;; +1426;CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES;Lo;0;L;;;;;N;;;;; +1427;CANADIAN SYLLABICS FINAL MIDDLE DOT;Lo;0;L;;;;;N;;;;; +1428;CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE;Lo;0;L;;;;;N;;;;; +1429;CANADIAN SYLLABICS FINAL PLUS;Lo;0;L;;;;;N;;;;; +142A;CANADIAN SYLLABICS FINAL DOWN TACK;Lo;0;L;;;;;N;;;;; +142B;CANADIAN SYLLABICS EN;Lo;0;L;;;;;N;;;;; +142C;CANADIAN SYLLABICS IN;Lo;0;L;;;;;N;;;;; +142D;CANADIAN SYLLABICS ON;Lo;0;L;;;;;N;;;;; +142E;CANADIAN SYLLABICS AN;Lo;0;L;;;;;N;;;;; +142F;CANADIAN SYLLABICS PE;Lo;0;L;;;;;N;;;;; +1430;CANADIAN SYLLABICS PAAI;Lo;0;L;;;;;N;;;;; +1431;CANADIAN SYLLABICS PI;Lo;0;L;;;;;N;;;;; +1432;CANADIAN SYLLABICS PII;Lo;0;L;;;;;N;;;;; +1433;CANADIAN SYLLABICS PO;Lo;0;L;;;;;N;;;;; +1434;CANADIAN SYLLABICS POO;Lo;0;L;;;;;N;;;;; +1435;CANADIAN SYLLABICS Y-CREE POO;Lo;0;L;;;;;N;;;;; +1436;CANADIAN SYLLABICS CARRIER HEE;Lo;0;L;;;;;N;;;;; +1437;CANADIAN SYLLABICS CARRIER HI;Lo;0;L;;;;;N;;;;; +1438;CANADIAN SYLLABICS PA;Lo;0;L;;;;;N;;;;; +1439;CANADIAN SYLLABICS PAA;Lo;0;L;;;;;N;;;;; +143A;CANADIAN SYLLABICS PWE;Lo;0;L;;;;;N;;;;; +143B;CANADIAN SYLLABICS WEST-CREE PWE;Lo;0;L;;;;;N;;;;; +143C;CANADIAN SYLLABICS PWI;Lo;0;L;;;;;N;;;;; +143D;CANADIAN SYLLABICS WEST-CREE PWI;Lo;0;L;;;;;N;;;;; +143E;CANADIAN SYLLABICS PWII;Lo;0;L;;;;;N;;;;; +143F;CANADIAN SYLLABICS WEST-CREE PWII;Lo;0;L;;;;;N;;;;; +1440;CANADIAN SYLLABICS PWO;Lo;0;L;;;;;N;;;;; +1441;CANADIAN SYLLABICS WEST-CREE PWO;Lo;0;L;;;;;N;;;;; +1442;CANADIAN SYLLABICS PWOO;Lo;0;L;;;;;N;;;;; +1443;CANADIAN SYLLABICS WEST-CREE PWOO;Lo;0;L;;;;;N;;;;; +1444;CANADIAN SYLLABICS PWA;Lo;0;L;;;;;N;;;;; +1445;CANADIAN SYLLABICS WEST-CREE PWA;Lo;0;L;;;;;N;;;;; +1446;CANADIAN SYLLABICS PWAA;Lo;0;L;;;;;N;;;;; +1447;CANADIAN SYLLABICS WEST-CREE PWAA;Lo;0;L;;;;;N;;;;; +1448;CANADIAN SYLLABICS Y-CREE PWAA;Lo;0;L;;;;;N;;;;; +1449;CANADIAN SYLLABICS P;Lo;0;L;;;;;N;;;;; +144A;CANADIAN SYLLABICS WEST-CREE P;Lo;0;L;;;;;N;;;;; +144B;CANADIAN SYLLABICS CARRIER H;Lo;0;L;;;;;N;;;;; +144C;CANADIAN SYLLABICS TE;Lo;0;L;;;;;N;;;;; +144D;CANADIAN SYLLABICS TAAI;Lo;0;L;;;;;N;;;;; +144E;CANADIAN SYLLABICS TI;Lo;0;L;;;;;N;;;;; +144F;CANADIAN SYLLABICS TII;Lo;0;L;;;;;N;;;;; +1450;CANADIAN SYLLABICS TO;Lo;0;L;;;;;N;;;;; +1451;CANADIAN SYLLABICS TOO;Lo;0;L;;;;;N;;;;; +1452;CANADIAN SYLLABICS Y-CREE TOO;Lo;0;L;;;;;N;;;;; +1453;CANADIAN SYLLABICS CARRIER DEE;Lo;0;L;;;;;N;;;;; +1454;CANADIAN SYLLABICS CARRIER DI;Lo;0;L;;;;;N;;;;; +1455;CANADIAN SYLLABICS TA;Lo;0;L;;;;;N;;;;; +1456;CANADIAN SYLLABICS TAA;Lo;0;L;;;;;N;;;;; +1457;CANADIAN SYLLABICS TWE;Lo;0;L;;;;;N;;;;; +1458;CANADIAN SYLLABICS WEST-CREE TWE;Lo;0;L;;;;;N;;;;; +1459;CANADIAN SYLLABICS TWI;Lo;0;L;;;;;N;;;;; +145A;CANADIAN SYLLABICS WEST-CREE TWI;Lo;0;L;;;;;N;;;;; +145B;CANADIAN SYLLABICS TWII;Lo;0;L;;;;;N;;;;; +145C;CANADIAN SYLLABICS WEST-CREE TWII;Lo;0;L;;;;;N;;;;; +145D;CANADIAN SYLLABICS TWO;Lo;0;L;;;;;N;;;;; +145E;CANADIAN SYLLABICS WEST-CREE TWO;Lo;0;L;;;;;N;;;;; +145F;CANADIAN SYLLABICS TWOO;Lo;0;L;;;;;N;;;;; +1460;CANADIAN SYLLABICS WEST-CREE TWOO;Lo;0;L;;;;;N;;;;; +1461;CANADIAN SYLLABICS TWA;Lo;0;L;;;;;N;;;;; +1462;CANADIAN SYLLABICS WEST-CREE TWA;Lo;0;L;;;;;N;;;;; +1463;CANADIAN SYLLABICS TWAA;Lo;0;L;;;;;N;;;;; +1464;CANADIAN SYLLABICS WEST-CREE TWAA;Lo;0;L;;;;;N;;;;; +1465;CANADIAN SYLLABICS NASKAPI TWAA;Lo;0;L;;;;;N;;;;; +1466;CANADIAN SYLLABICS T;Lo;0;L;;;;;N;;;;; +1467;CANADIAN SYLLABICS TTE;Lo;0;L;;;;;N;;;;; +1468;CANADIAN SYLLABICS TTI;Lo;0;L;;;;;N;;;;; +1469;CANADIAN SYLLABICS TTO;Lo;0;L;;;;;N;;;;; +146A;CANADIAN SYLLABICS TTA;Lo;0;L;;;;;N;;;;; +146B;CANADIAN SYLLABICS KE;Lo;0;L;;;;;N;;;;; +146C;CANADIAN SYLLABICS KAAI;Lo;0;L;;;;;N;;;;; +146D;CANADIAN SYLLABICS KI;Lo;0;L;;;;;N;;;;; +146E;CANADIAN SYLLABICS KII;Lo;0;L;;;;;N;;;;; +146F;CANADIAN SYLLABICS KO;Lo;0;L;;;;;N;;;;; +1470;CANADIAN SYLLABICS KOO;Lo;0;L;;;;;N;;;;; +1471;CANADIAN SYLLABICS Y-CREE KOO;Lo;0;L;;;;;N;;;;; +1472;CANADIAN SYLLABICS KA;Lo;0;L;;;;;N;;;;; +1473;CANADIAN SYLLABICS KAA;Lo;0;L;;;;;N;;;;; +1474;CANADIAN SYLLABICS KWE;Lo;0;L;;;;;N;;;;; +1475;CANADIAN SYLLABICS WEST-CREE KWE;Lo;0;L;;;;;N;;;;; +1476;CANADIAN SYLLABICS KWI;Lo;0;L;;;;;N;;;;; +1477;CANADIAN SYLLABICS WEST-CREE KWI;Lo;0;L;;;;;N;;;;; +1478;CANADIAN SYLLABICS KWII;Lo;0;L;;;;;N;;;;; +1479;CANADIAN SYLLABICS WEST-CREE KWII;Lo;0;L;;;;;N;;;;; +147A;CANADIAN SYLLABICS KWO;Lo;0;L;;;;;N;;;;; +147B;CANADIAN SYLLABICS WEST-CREE KWO;Lo;0;L;;;;;N;;;;; +147C;CANADIAN SYLLABICS KWOO;Lo;0;L;;;;;N;;;;; +147D;CANADIAN SYLLABICS WEST-CREE KWOO;Lo;0;L;;;;;N;;;;; +147E;CANADIAN SYLLABICS KWA;Lo;0;L;;;;;N;;;;; +147F;CANADIAN SYLLABICS WEST-CREE KWA;Lo;0;L;;;;;N;;;;; +1480;CANADIAN SYLLABICS KWAA;Lo;0;L;;;;;N;;;;; +1481;CANADIAN SYLLABICS WEST-CREE KWAA;Lo;0;L;;;;;N;;;;; +1482;CANADIAN SYLLABICS NASKAPI KWAA;Lo;0;L;;;;;N;;;;; +1483;CANADIAN SYLLABICS K;Lo;0;L;;;;;N;;;;; +1484;CANADIAN SYLLABICS KW;Lo;0;L;;;;;N;;;;; +1485;CANADIAN SYLLABICS SOUTH-SLAVEY KEH;Lo;0;L;;;;;N;;;;; +1486;CANADIAN SYLLABICS SOUTH-SLAVEY KIH;Lo;0;L;;;;;N;;;;; +1487;CANADIAN SYLLABICS SOUTH-SLAVEY KOH;Lo;0;L;;;;;N;;;;; +1488;CANADIAN SYLLABICS SOUTH-SLAVEY KAH;Lo;0;L;;;;;N;;;;; +1489;CANADIAN SYLLABICS CE;Lo;0;L;;;;;N;;;;; +148A;CANADIAN SYLLABICS CAAI;Lo;0;L;;;;;N;;;;; +148B;CANADIAN SYLLABICS CI;Lo;0;L;;;;;N;;;;; +148C;CANADIAN SYLLABICS CII;Lo;0;L;;;;;N;;;;; +148D;CANADIAN SYLLABICS CO;Lo;0;L;;;;;N;;;;; +148E;CANADIAN SYLLABICS COO;Lo;0;L;;;;;N;;;;; +148F;CANADIAN SYLLABICS Y-CREE COO;Lo;0;L;;;;;N;;;;; +1490;CANADIAN SYLLABICS CA;Lo;0;L;;;;;N;;;;; +1491;CANADIAN SYLLABICS CAA;Lo;0;L;;;;;N;;;;; +1492;CANADIAN SYLLABICS CWE;Lo;0;L;;;;;N;;;;; +1493;CANADIAN SYLLABICS WEST-CREE CWE;Lo;0;L;;;;;N;;;;; +1494;CANADIAN SYLLABICS CWI;Lo;0;L;;;;;N;;;;; +1495;CANADIAN SYLLABICS WEST-CREE CWI;Lo;0;L;;;;;N;;;;; +1496;CANADIAN SYLLABICS CWII;Lo;0;L;;;;;N;;;;; +1497;CANADIAN SYLLABICS WEST-CREE CWII;Lo;0;L;;;;;N;;;;; +1498;CANADIAN SYLLABICS CWO;Lo;0;L;;;;;N;;;;; +1499;CANADIAN SYLLABICS WEST-CREE CWO;Lo;0;L;;;;;N;;;;; +149A;CANADIAN SYLLABICS CWOO;Lo;0;L;;;;;N;;;;; +149B;CANADIAN SYLLABICS WEST-CREE CWOO;Lo;0;L;;;;;N;;;;; +149C;CANADIAN SYLLABICS CWA;Lo;0;L;;;;;N;;;;; +149D;CANADIAN SYLLABICS WEST-CREE CWA;Lo;0;L;;;;;N;;;;; +149E;CANADIAN SYLLABICS CWAA;Lo;0;L;;;;;N;;;;; +149F;CANADIAN SYLLABICS WEST-CREE CWAA;Lo;0;L;;;;;N;;;;; +14A0;CANADIAN SYLLABICS NASKAPI CWAA;Lo;0;L;;;;;N;;;;; +14A1;CANADIAN SYLLABICS C;Lo;0;L;;;;;N;;;;; +14A2;CANADIAN SYLLABICS SAYISI TH;Lo;0;L;;;;;N;;;;; +14A3;CANADIAN SYLLABICS ME;Lo;0;L;;;;;N;;;;; +14A4;CANADIAN SYLLABICS MAAI;Lo;0;L;;;;;N;;;;; +14A5;CANADIAN SYLLABICS MI;Lo;0;L;;;;;N;;;;; +14A6;CANADIAN SYLLABICS MII;Lo;0;L;;;;;N;;;;; +14A7;CANADIAN SYLLABICS MO;Lo;0;L;;;;;N;;;;; +14A8;CANADIAN SYLLABICS MOO;Lo;0;L;;;;;N;;;;; +14A9;CANADIAN SYLLABICS Y-CREE MOO;Lo;0;L;;;;;N;;;;; +14AA;CANADIAN SYLLABICS MA;Lo;0;L;;;;;N;;;;; +14AB;CANADIAN SYLLABICS MAA;Lo;0;L;;;;;N;;;;; +14AC;CANADIAN SYLLABICS MWE;Lo;0;L;;;;;N;;;;; +14AD;CANADIAN SYLLABICS WEST-CREE MWE;Lo;0;L;;;;;N;;;;; +14AE;CANADIAN SYLLABICS MWI;Lo;0;L;;;;;N;;;;; +14AF;CANADIAN SYLLABICS WEST-CREE MWI;Lo;0;L;;;;;N;;;;; +14B0;CANADIAN SYLLABICS MWII;Lo;0;L;;;;;N;;;;; +14B1;CANADIAN SYLLABICS WEST-CREE MWII;Lo;0;L;;;;;N;;;;; +14B2;CANADIAN SYLLABICS MWO;Lo;0;L;;;;;N;;;;; +14B3;CANADIAN SYLLABICS WEST-CREE MWO;Lo;0;L;;;;;N;;;;; +14B4;CANADIAN SYLLABICS MWOO;Lo;0;L;;;;;N;;;;; +14B5;CANADIAN SYLLABICS WEST-CREE MWOO;Lo;0;L;;;;;N;;;;; +14B6;CANADIAN SYLLABICS MWA;Lo;0;L;;;;;N;;;;; +14B7;CANADIAN SYLLABICS WEST-CREE MWA;Lo;0;L;;;;;N;;;;; +14B8;CANADIAN SYLLABICS MWAA;Lo;0;L;;;;;N;;;;; +14B9;CANADIAN SYLLABICS WEST-CREE MWAA;Lo;0;L;;;;;N;;;;; +14BA;CANADIAN SYLLABICS NASKAPI MWAA;Lo;0;L;;;;;N;;;;; +14BB;CANADIAN SYLLABICS M;Lo;0;L;;;;;N;;;;; +14BC;CANADIAN SYLLABICS WEST-CREE M;Lo;0;L;;;;;N;;;;; +14BD;CANADIAN SYLLABICS MH;Lo;0;L;;;;;N;;;;; +14BE;CANADIAN SYLLABICS ATHAPASCAN M;Lo;0;L;;;;;N;;;;; +14BF;CANADIAN SYLLABICS SAYISI M;Lo;0;L;;;;;N;;;;; +14C0;CANADIAN SYLLABICS NE;Lo;0;L;;;;;N;;;;; +14C1;CANADIAN SYLLABICS NAAI;Lo;0;L;;;;;N;;;;; +14C2;CANADIAN SYLLABICS NI;Lo;0;L;;;;;N;;;;; +14C3;CANADIAN SYLLABICS NII;Lo;0;L;;;;;N;;;;; +14C4;CANADIAN SYLLABICS NO;Lo;0;L;;;;;N;;;;; +14C5;CANADIAN SYLLABICS NOO;Lo;0;L;;;;;N;;;;; +14C6;CANADIAN SYLLABICS Y-CREE NOO;Lo;0;L;;;;;N;;;;; +14C7;CANADIAN SYLLABICS NA;Lo;0;L;;;;;N;;;;; +14C8;CANADIAN SYLLABICS NAA;Lo;0;L;;;;;N;;;;; +14C9;CANADIAN SYLLABICS NWE;Lo;0;L;;;;;N;;;;; +14CA;CANADIAN SYLLABICS WEST-CREE NWE;Lo;0;L;;;;;N;;;;; +14CB;CANADIAN SYLLABICS NWA;Lo;0;L;;;;;N;;;;; +14CC;CANADIAN SYLLABICS WEST-CREE NWA;Lo;0;L;;;;;N;;;;; +14CD;CANADIAN SYLLABICS NWAA;Lo;0;L;;;;;N;;;;; +14CE;CANADIAN SYLLABICS WEST-CREE NWAA;Lo;0;L;;;;;N;;;;; +14CF;CANADIAN SYLLABICS NASKAPI NWAA;Lo;0;L;;;;;N;;;;; +14D0;CANADIAN SYLLABICS N;Lo;0;L;;;;;N;;;;; +14D1;CANADIAN SYLLABICS CARRIER NG;Lo;0;L;;;;;N;;;;; +14D2;CANADIAN SYLLABICS NH;Lo;0;L;;;;;N;;;;; +14D3;CANADIAN SYLLABICS LE;Lo;0;L;;;;;N;;;;; +14D4;CANADIAN SYLLABICS LAAI;Lo;0;L;;;;;N;;;;; +14D5;CANADIAN SYLLABICS LI;Lo;0;L;;;;;N;;;;; +14D6;CANADIAN SYLLABICS LII;Lo;0;L;;;;;N;;;;; +14D7;CANADIAN SYLLABICS LO;Lo;0;L;;;;;N;;;;; +14D8;CANADIAN SYLLABICS LOO;Lo;0;L;;;;;N;;;;; +14D9;CANADIAN SYLLABICS Y-CREE LOO;Lo;0;L;;;;;N;;;;; +14DA;CANADIAN SYLLABICS LA;Lo;0;L;;;;;N;;;;; +14DB;CANADIAN SYLLABICS LAA;Lo;0;L;;;;;N;;;;; +14DC;CANADIAN SYLLABICS LWE;Lo;0;L;;;;;N;;;;; +14DD;CANADIAN SYLLABICS WEST-CREE LWE;Lo;0;L;;;;;N;;;;; +14DE;CANADIAN SYLLABICS LWI;Lo;0;L;;;;;N;;;;; +14DF;CANADIAN SYLLABICS WEST-CREE LWI;Lo;0;L;;;;;N;;;;; +14E0;CANADIAN SYLLABICS LWII;Lo;0;L;;;;;N;;;;; +14E1;CANADIAN SYLLABICS WEST-CREE LWII;Lo;0;L;;;;;N;;;;; +14E2;CANADIAN SYLLABICS LWO;Lo;0;L;;;;;N;;;;; +14E3;CANADIAN SYLLABICS WEST-CREE LWO;Lo;0;L;;;;;N;;;;; +14E4;CANADIAN SYLLABICS LWOO;Lo;0;L;;;;;N;;;;; +14E5;CANADIAN SYLLABICS WEST-CREE LWOO;Lo;0;L;;;;;N;;;;; +14E6;CANADIAN SYLLABICS LWA;Lo;0;L;;;;;N;;;;; +14E7;CANADIAN SYLLABICS WEST-CREE LWA;Lo;0;L;;;;;N;;;;; +14E8;CANADIAN SYLLABICS LWAA;Lo;0;L;;;;;N;;;;; +14E9;CANADIAN SYLLABICS WEST-CREE LWAA;Lo;0;L;;;;;N;;;;; +14EA;CANADIAN SYLLABICS L;Lo;0;L;;;;;N;;;;; +14EB;CANADIAN SYLLABICS WEST-CREE L;Lo;0;L;;;;;N;;;;; +14EC;CANADIAN SYLLABICS MEDIAL L;Lo;0;L;;;;;N;;;;; +14ED;CANADIAN SYLLABICS SE;Lo;0;L;;;;;N;;;;; +14EE;CANADIAN SYLLABICS SAAI;Lo;0;L;;;;;N;;;;; +14EF;CANADIAN SYLLABICS SI;Lo;0;L;;;;;N;;;;; +14F0;CANADIAN SYLLABICS SII;Lo;0;L;;;;;N;;;;; +14F1;CANADIAN SYLLABICS SO;Lo;0;L;;;;;N;;;;; +14F2;CANADIAN SYLLABICS SOO;Lo;0;L;;;;;N;;;;; +14F3;CANADIAN SYLLABICS Y-CREE SOO;Lo;0;L;;;;;N;;;;; +14F4;CANADIAN SYLLABICS SA;Lo;0;L;;;;;N;;;;; +14F5;CANADIAN SYLLABICS SAA;Lo;0;L;;;;;N;;;;; +14F6;CANADIAN SYLLABICS SWE;Lo;0;L;;;;;N;;;;; +14F7;CANADIAN SYLLABICS WEST-CREE SWE;Lo;0;L;;;;;N;;;;; +14F8;CANADIAN SYLLABICS SWI;Lo;0;L;;;;;N;;;;; +14F9;CANADIAN SYLLABICS WEST-CREE SWI;Lo;0;L;;;;;N;;;;; +14FA;CANADIAN SYLLABICS SWII;Lo;0;L;;;;;N;;;;; +14FB;CANADIAN SYLLABICS WEST-CREE SWII;Lo;0;L;;;;;N;;;;; +14FC;CANADIAN SYLLABICS SWO;Lo;0;L;;;;;N;;;;; +14FD;CANADIAN SYLLABICS WEST-CREE SWO;Lo;0;L;;;;;N;;;;; +14FE;CANADIAN SYLLABICS SWOO;Lo;0;L;;;;;N;;;;; +14FF;CANADIAN SYLLABICS WEST-CREE SWOO;Lo;0;L;;;;;N;;;;; +1500;CANADIAN SYLLABICS SWA;Lo;0;L;;;;;N;;;;; +1501;CANADIAN SYLLABICS WEST-CREE SWA;Lo;0;L;;;;;N;;;;; +1502;CANADIAN SYLLABICS SWAA;Lo;0;L;;;;;N;;;;; +1503;CANADIAN SYLLABICS WEST-CREE SWAA;Lo;0;L;;;;;N;;;;; +1504;CANADIAN SYLLABICS NASKAPI SWAA;Lo;0;L;;;;;N;;;;; +1505;CANADIAN SYLLABICS S;Lo;0;L;;;;;N;;;;; +1506;CANADIAN SYLLABICS ATHAPASCAN S;Lo;0;L;;;;;N;;;;; +1507;CANADIAN SYLLABICS SW;Lo;0;L;;;;;N;;;;; +1508;CANADIAN SYLLABICS BLACKFOOT S;Lo;0;L;;;;;N;;;;; +1509;CANADIAN SYLLABICS MOOSE-CREE SK;Lo;0;L;;;;;N;;;;; +150A;CANADIAN SYLLABICS NASKAPI SKW;Lo;0;L;;;;;N;;;;; +150B;CANADIAN SYLLABICS NASKAPI S-W;Lo;0;L;;;;;N;;;;; +150C;CANADIAN SYLLABICS NASKAPI SPWA;Lo;0;L;;;;;N;;;;; +150D;CANADIAN SYLLABICS NASKAPI STWA;Lo;0;L;;;;;N;;;;; +150E;CANADIAN SYLLABICS NASKAPI SKWA;Lo;0;L;;;;;N;;;;; +150F;CANADIAN SYLLABICS NASKAPI SCWA;Lo;0;L;;;;;N;;;;; +1510;CANADIAN SYLLABICS SHE;Lo;0;L;;;;;N;;;;; +1511;CANADIAN SYLLABICS SHI;Lo;0;L;;;;;N;;;;; +1512;CANADIAN SYLLABICS SHII;Lo;0;L;;;;;N;;;;; +1513;CANADIAN SYLLABICS SHO;Lo;0;L;;;;;N;;;;; +1514;CANADIAN SYLLABICS SHOO;Lo;0;L;;;;;N;;;;; +1515;CANADIAN SYLLABICS SHA;Lo;0;L;;;;;N;;;;; +1516;CANADIAN SYLLABICS SHAA;Lo;0;L;;;;;N;;;;; +1517;CANADIAN SYLLABICS SHWE;Lo;0;L;;;;;N;;;;; +1518;CANADIAN SYLLABICS WEST-CREE SHWE;Lo;0;L;;;;;N;;;;; +1519;CANADIAN SYLLABICS SHWI;Lo;0;L;;;;;N;;;;; +151A;CANADIAN SYLLABICS WEST-CREE SHWI;Lo;0;L;;;;;N;;;;; +151B;CANADIAN SYLLABICS SHWII;Lo;0;L;;;;;N;;;;; +151C;CANADIAN SYLLABICS WEST-CREE SHWII;Lo;0;L;;;;;N;;;;; +151D;CANADIAN SYLLABICS SHWO;Lo;0;L;;;;;N;;;;; +151E;CANADIAN SYLLABICS WEST-CREE SHWO;Lo;0;L;;;;;N;;;;; +151F;CANADIAN SYLLABICS SHWOO;Lo;0;L;;;;;N;;;;; +1520;CANADIAN SYLLABICS WEST-CREE SHWOO;Lo;0;L;;;;;N;;;;; +1521;CANADIAN SYLLABICS SHWA;Lo;0;L;;;;;N;;;;; +1522;CANADIAN SYLLABICS WEST-CREE SHWA;Lo;0;L;;;;;N;;;;; +1523;CANADIAN SYLLABICS SHWAA;Lo;0;L;;;;;N;;;;; +1524;CANADIAN SYLLABICS WEST-CREE SHWAA;Lo;0;L;;;;;N;;;;; +1525;CANADIAN SYLLABICS SH;Lo;0;L;;;;;N;;;;; +1526;CANADIAN SYLLABICS YE;Lo;0;L;;;;;N;;;;; +1527;CANADIAN SYLLABICS YAAI;Lo;0;L;;;;;N;;;;; +1528;CANADIAN SYLLABICS YI;Lo;0;L;;;;;N;;;;; +1529;CANADIAN SYLLABICS YII;Lo;0;L;;;;;N;;;;; +152A;CANADIAN SYLLABICS YO;Lo;0;L;;;;;N;;;;; +152B;CANADIAN SYLLABICS YOO;Lo;0;L;;;;;N;;;;; +152C;CANADIAN SYLLABICS Y-CREE YOO;Lo;0;L;;;;;N;;;;; +152D;CANADIAN SYLLABICS YA;Lo;0;L;;;;;N;;;;; +152E;CANADIAN SYLLABICS YAA;Lo;0;L;;;;;N;;;;; +152F;CANADIAN SYLLABICS YWE;Lo;0;L;;;;;N;;;;; +1530;CANADIAN SYLLABICS WEST-CREE YWE;Lo;0;L;;;;;N;;;;; +1531;CANADIAN SYLLABICS YWI;Lo;0;L;;;;;N;;;;; +1532;CANADIAN SYLLABICS WEST-CREE YWI;Lo;0;L;;;;;N;;;;; +1533;CANADIAN SYLLABICS YWII;Lo;0;L;;;;;N;;;;; +1534;CANADIAN SYLLABICS WEST-CREE YWII;Lo;0;L;;;;;N;;;;; +1535;CANADIAN SYLLABICS YWO;Lo;0;L;;;;;N;;;;; +1536;CANADIAN SYLLABICS WEST-CREE YWO;Lo;0;L;;;;;N;;;;; +1537;CANADIAN SYLLABICS YWOO;Lo;0;L;;;;;N;;;;; +1538;CANADIAN SYLLABICS WEST-CREE YWOO;Lo;0;L;;;;;N;;;;; +1539;CANADIAN SYLLABICS YWA;Lo;0;L;;;;;N;;;;; +153A;CANADIAN SYLLABICS WEST-CREE YWA;Lo;0;L;;;;;N;;;;; +153B;CANADIAN SYLLABICS YWAA;Lo;0;L;;;;;N;;;;; +153C;CANADIAN SYLLABICS WEST-CREE YWAA;Lo;0;L;;;;;N;;;;; +153D;CANADIAN SYLLABICS NASKAPI YWAA;Lo;0;L;;;;;N;;;;; +153E;CANADIAN SYLLABICS Y;Lo;0;L;;;;;N;;;;; +153F;CANADIAN SYLLABICS BIBLE-CREE Y;Lo;0;L;;;;;N;;;;; +1540;CANADIAN SYLLABICS WEST-CREE Y;Lo;0;L;;;;;N;;;;; +1541;CANADIAN SYLLABICS SAYISI YI;Lo;0;L;;;;;N;;;;; +1542;CANADIAN SYLLABICS RE;Lo;0;L;;;;;N;;;;; +1543;CANADIAN SYLLABICS R-CREE RE;Lo;0;L;;;;;N;;;;; +1544;CANADIAN SYLLABICS WEST-CREE LE;Lo;0;L;;;;;N;;;;; +1545;CANADIAN SYLLABICS RAAI;Lo;0;L;;;;;N;;;;; +1546;CANADIAN SYLLABICS RI;Lo;0;L;;;;;N;;;;; +1547;CANADIAN SYLLABICS RII;Lo;0;L;;;;;N;;;;; +1548;CANADIAN SYLLABICS RO;Lo;0;L;;;;;N;;;;; +1549;CANADIAN SYLLABICS ROO;Lo;0;L;;;;;N;;;;; +154A;CANADIAN SYLLABICS WEST-CREE LO;Lo;0;L;;;;;N;;;;; +154B;CANADIAN SYLLABICS RA;Lo;0;L;;;;;N;;;;; +154C;CANADIAN SYLLABICS RAA;Lo;0;L;;;;;N;;;;; +154D;CANADIAN SYLLABICS WEST-CREE LA;Lo;0;L;;;;;N;;;;; +154E;CANADIAN SYLLABICS RWAA;Lo;0;L;;;;;N;;;;; +154F;CANADIAN SYLLABICS WEST-CREE RWAA;Lo;0;L;;;;;N;;;;; +1550;CANADIAN SYLLABICS R;Lo;0;L;;;;;N;;;;; +1551;CANADIAN SYLLABICS WEST-CREE R;Lo;0;L;;;;;N;;;;; +1552;CANADIAN SYLLABICS MEDIAL R;Lo;0;L;;;;;N;;;;; +1553;CANADIAN SYLLABICS FE;Lo;0;L;;;;;N;;;;; +1554;CANADIAN SYLLABICS FAAI;Lo;0;L;;;;;N;;;;; +1555;CANADIAN SYLLABICS FI;Lo;0;L;;;;;N;;;;; +1556;CANADIAN SYLLABICS FII;Lo;0;L;;;;;N;;;;; +1557;CANADIAN SYLLABICS FO;Lo;0;L;;;;;N;;;;; +1558;CANADIAN SYLLABICS FOO;Lo;0;L;;;;;N;;;;; +1559;CANADIAN SYLLABICS FA;Lo;0;L;;;;;N;;;;; +155A;CANADIAN SYLLABICS FAA;Lo;0;L;;;;;N;;;;; +155B;CANADIAN SYLLABICS FWAA;Lo;0;L;;;;;N;;;;; +155C;CANADIAN SYLLABICS WEST-CREE FWAA;Lo;0;L;;;;;N;;;;; +155D;CANADIAN SYLLABICS F;Lo;0;L;;;;;N;;;;; +155E;CANADIAN SYLLABICS THE;Lo;0;L;;;;;N;;;;; +155F;CANADIAN SYLLABICS N-CREE THE;Lo;0;L;;;;;N;;;;; +1560;CANADIAN SYLLABICS THI;Lo;0;L;;;;;N;;;;; +1561;CANADIAN SYLLABICS N-CREE THI;Lo;0;L;;;;;N;;;;; +1562;CANADIAN SYLLABICS THII;Lo;0;L;;;;;N;;;;; +1563;CANADIAN SYLLABICS N-CREE THII;Lo;0;L;;;;;N;;;;; +1564;CANADIAN SYLLABICS THO;Lo;0;L;;;;;N;;;;; +1565;CANADIAN SYLLABICS THOO;Lo;0;L;;;;;N;;;;; +1566;CANADIAN SYLLABICS THA;Lo;0;L;;;;;N;;;;; +1567;CANADIAN SYLLABICS THAA;Lo;0;L;;;;;N;;;;; +1568;CANADIAN SYLLABICS THWAA;Lo;0;L;;;;;N;;;;; +1569;CANADIAN SYLLABICS WEST-CREE THWAA;Lo;0;L;;;;;N;;;;; +156A;CANADIAN SYLLABICS TH;Lo;0;L;;;;;N;;;;; +156B;CANADIAN SYLLABICS TTHE;Lo;0;L;;;;;N;;;;; +156C;CANADIAN SYLLABICS TTHI;Lo;0;L;;;;;N;;;;; +156D;CANADIAN SYLLABICS TTHO;Lo;0;L;;;;;N;;;;; +156E;CANADIAN SYLLABICS TTHA;Lo;0;L;;;;;N;;;;; +156F;CANADIAN SYLLABICS TTH;Lo;0;L;;;;;N;;;;; +1570;CANADIAN SYLLABICS TYE;Lo;0;L;;;;;N;;;;; +1571;CANADIAN SYLLABICS TYI;Lo;0;L;;;;;N;;;;; +1572;CANADIAN SYLLABICS TYO;Lo;0;L;;;;;N;;;;; +1573;CANADIAN SYLLABICS TYA;Lo;0;L;;;;;N;;;;; +1574;CANADIAN SYLLABICS NUNAVIK HE;Lo;0;L;;;;;N;;;;; +1575;CANADIAN SYLLABICS NUNAVIK HI;Lo;0;L;;;;;N;;;;; +1576;CANADIAN SYLLABICS NUNAVIK HII;Lo;0;L;;;;;N;;;;; +1577;CANADIAN SYLLABICS NUNAVIK HO;Lo;0;L;;;;;N;;;;; +1578;CANADIAN SYLLABICS NUNAVIK HOO;Lo;0;L;;;;;N;;;;; +1579;CANADIAN SYLLABICS NUNAVIK HA;Lo;0;L;;;;;N;;;;; +157A;CANADIAN SYLLABICS NUNAVIK HAA;Lo;0;L;;;;;N;;;;; +157B;CANADIAN SYLLABICS NUNAVIK H;Lo;0;L;;;;;N;;;;; +157C;CANADIAN SYLLABICS NUNAVUT H;Lo;0;L;;;;;N;;;;; +157D;CANADIAN SYLLABICS HK;Lo;0;L;;;;;N;;;;; +157E;CANADIAN SYLLABICS QAAI;Lo;0;L;;;;;N;;;;; +157F;CANADIAN SYLLABICS QI;Lo;0;L;;;;;N;;;;; +1580;CANADIAN SYLLABICS QII;Lo;0;L;;;;;N;;;;; +1581;CANADIAN SYLLABICS QO;Lo;0;L;;;;;N;;;;; +1582;CANADIAN SYLLABICS QOO;Lo;0;L;;;;;N;;;;; +1583;CANADIAN SYLLABICS QA;Lo;0;L;;;;;N;;;;; +1584;CANADIAN SYLLABICS QAA;Lo;0;L;;;;;N;;;;; +1585;CANADIAN SYLLABICS Q;Lo;0;L;;;;;N;;;;; +1586;CANADIAN SYLLABICS TLHE;Lo;0;L;;;;;N;;;;; +1587;CANADIAN SYLLABICS TLHI;Lo;0;L;;;;;N;;;;; +1588;CANADIAN SYLLABICS TLHO;Lo;0;L;;;;;N;;;;; +1589;CANADIAN SYLLABICS TLHA;Lo;0;L;;;;;N;;;;; +158A;CANADIAN SYLLABICS WEST-CREE RE;Lo;0;L;;;;;N;;;;; +158B;CANADIAN SYLLABICS WEST-CREE RI;Lo;0;L;;;;;N;;;;; +158C;CANADIAN SYLLABICS WEST-CREE RO;Lo;0;L;;;;;N;;;;; +158D;CANADIAN SYLLABICS WEST-CREE RA;Lo;0;L;;;;;N;;;;; +158E;CANADIAN SYLLABICS NGAAI;Lo;0;L;;;;;N;;;;; +158F;CANADIAN SYLLABICS NGI;Lo;0;L;;;;;N;;;;; +1590;CANADIAN SYLLABICS NGII;Lo;0;L;;;;;N;;;;; +1591;CANADIAN SYLLABICS NGO;Lo;0;L;;;;;N;;;;; +1592;CANADIAN SYLLABICS NGOO;Lo;0;L;;;;;N;;;;; +1593;CANADIAN SYLLABICS NGA;Lo;0;L;;;;;N;;;;; +1594;CANADIAN SYLLABICS NGAA;Lo;0;L;;;;;N;;;;; +1595;CANADIAN SYLLABICS NG;Lo;0;L;;;;;N;;;;; +1596;CANADIAN SYLLABICS NNG;Lo;0;L;;;;;N;;;;; +1597;CANADIAN SYLLABICS SAYISI SHE;Lo;0;L;;;;;N;;;;; +1598;CANADIAN SYLLABICS SAYISI SHI;Lo;0;L;;;;;N;;;;; +1599;CANADIAN SYLLABICS SAYISI SHO;Lo;0;L;;;;;N;;;;; +159A;CANADIAN SYLLABICS SAYISI SHA;Lo;0;L;;;;;N;;;;; +159B;CANADIAN SYLLABICS WOODS-CREE THE;Lo;0;L;;;;;N;;;;; +159C;CANADIAN SYLLABICS WOODS-CREE THI;Lo;0;L;;;;;N;;;;; +159D;CANADIAN SYLLABICS WOODS-CREE THO;Lo;0;L;;;;;N;;;;; +159E;CANADIAN SYLLABICS WOODS-CREE THA;Lo;0;L;;;;;N;;;;; +159F;CANADIAN SYLLABICS WOODS-CREE TH;Lo;0;L;;;;;N;;;;; +15A0;CANADIAN SYLLABICS LHI;Lo;0;L;;;;;N;;;;; +15A1;CANADIAN SYLLABICS LHII;Lo;0;L;;;;;N;;;;; +15A2;CANADIAN SYLLABICS LHO;Lo;0;L;;;;;N;;;;; +15A3;CANADIAN SYLLABICS LHOO;Lo;0;L;;;;;N;;;;; +15A4;CANADIAN SYLLABICS LHA;Lo;0;L;;;;;N;;;;; +15A5;CANADIAN SYLLABICS LHAA;Lo;0;L;;;;;N;;;;; +15A6;CANADIAN SYLLABICS LH;Lo;0;L;;;;;N;;;;; +15A7;CANADIAN SYLLABICS TH-CREE THE;Lo;0;L;;;;;N;;;;; +15A8;CANADIAN SYLLABICS TH-CREE THI;Lo;0;L;;;;;N;;;;; +15A9;CANADIAN SYLLABICS TH-CREE THII;Lo;0;L;;;;;N;;;;; +15AA;CANADIAN SYLLABICS TH-CREE THO;Lo;0;L;;;;;N;;;;; +15AB;CANADIAN SYLLABICS TH-CREE THOO;Lo;0;L;;;;;N;;;;; +15AC;CANADIAN SYLLABICS TH-CREE THA;Lo;0;L;;;;;N;;;;; +15AD;CANADIAN SYLLABICS TH-CREE THAA;Lo;0;L;;;;;N;;;;; +15AE;CANADIAN SYLLABICS TH-CREE TH;Lo;0;L;;;;;N;;;;; +15AF;CANADIAN SYLLABICS AIVILIK B;Lo;0;L;;;;;N;;;;; +15B0;CANADIAN SYLLABICS BLACKFOOT E;Lo;0;L;;;;;N;;;;; +15B1;CANADIAN SYLLABICS BLACKFOOT I;Lo;0;L;;;;;N;;;;; +15B2;CANADIAN SYLLABICS BLACKFOOT O;Lo;0;L;;;;;N;;;;; +15B3;CANADIAN SYLLABICS BLACKFOOT A;Lo;0;L;;;;;N;;;;; +15B4;CANADIAN SYLLABICS BLACKFOOT WE;Lo;0;L;;;;;N;;;;; +15B5;CANADIAN SYLLABICS BLACKFOOT WI;Lo;0;L;;;;;N;;;;; +15B6;CANADIAN SYLLABICS BLACKFOOT WO;Lo;0;L;;;;;N;;;;; +15B7;CANADIAN SYLLABICS BLACKFOOT WA;Lo;0;L;;;;;N;;;;; +15B8;CANADIAN SYLLABICS BLACKFOOT NE;Lo;0;L;;;;;N;;;;; +15B9;CANADIAN SYLLABICS BLACKFOOT NI;Lo;0;L;;;;;N;;;;; +15BA;CANADIAN SYLLABICS BLACKFOOT NO;Lo;0;L;;;;;N;;;;; +15BB;CANADIAN SYLLABICS BLACKFOOT NA;Lo;0;L;;;;;N;;;;; +15BC;CANADIAN SYLLABICS BLACKFOOT KE;Lo;0;L;;;;;N;;;;; +15BD;CANADIAN SYLLABICS BLACKFOOT KI;Lo;0;L;;;;;N;;;;; +15BE;CANADIAN SYLLABICS BLACKFOOT KO;Lo;0;L;;;;;N;;;;; +15BF;CANADIAN SYLLABICS BLACKFOOT KA;Lo;0;L;;;;;N;;;;; +15C0;CANADIAN SYLLABICS SAYISI HE;Lo;0;L;;;;;N;;;;; +15C1;CANADIAN SYLLABICS SAYISI HI;Lo;0;L;;;;;N;;;;; +15C2;CANADIAN SYLLABICS SAYISI HO;Lo;0;L;;;;;N;;;;; +15C3;CANADIAN SYLLABICS SAYISI HA;Lo;0;L;;;;;N;;;;; +15C4;CANADIAN SYLLABICS CARRIER GHU;Lo;0;L;;;;;N;;;;; +15C5;CANADIAN SYLLABICS CARRIER GHO;Lo;0;L;;;;;N;;;;; +15C6;CANADIAN SYLLABICS CARRIER GHE;Lo;0;L;;;;;N;;;;; +15C7;CANADIAN SYLLABICS CARRIER GHEE;Lo;0;L;;;;;N;;;;; +15C8;CANADIAN SYLLABICS CARRIER GHI;Lo;0;L;;;;;N;;;;; +15C9;CANADIAN SYLLABICS CARRIER GHA;Lo;0;L;;;;;N;;;;; +15CA;CANADIAN SYLLABICS CARRIER RU;Lo;0;L;;;;;N;;;;; +15CB;CANADIAN SYLLABICS CARRIER RO;Lo;0;L;;;;;N;;;;; +15CC;CANADIAN SYLLABICS CARRIER RE;Lo;0;L;;;;;N;;;;; +15CD;CANADIAN SYLLABICS CARRIER REE;Lo;0;L;;;;;N;;;;; +15CE;CANADIAN SYLLABICS CARRIER RI;Lo;0;L;;;;;N;;;;; +15CF;CANADIAN SYLLABICS CARRIER RA;Lo;0;L;;;;;N;;;;; +15D0;CANADIAN SYLLABICS CARRIER WU;Lo;0;L;;;;;N;;;;; +15D1;CANADIAN SYLLABICS CARRIER WO;Lo;0;L;;;;;N;;;;; +15D2;CANADIAN SYLLABICS CARRIER WE;Lo;0;L;;;;;N;;;;; +15D3;CANADIAN SYLLABICS CARRIER WEE;Lo;0;L;;;;;N;;;;; +15D4;CANADIAN SYLLABICS CARRIER WI;Lo;0;L;;;;;N;;;;; +15D5;CANADIAN SYLLABICS CARRIER WA;Lo;0;L;;;;;N;;;;; +15D6;CANADIAN SYLLABICS CARRIER HWU;Lo;0;L;;;;;N;;;;; +15D7;CANADIAN SYLLABICS CARRIER HWO;Lo;0;L;;;;;N;;;;; +15D8;CANADIAN SYLLABICS CARRIER HWE;Lo;0;L;;;;;N;;;;; +15D9;CANADIAN SYLLABICS CARRIER HWEE;Lo;0;L;;;;;N;;;;; +15DA;CANADIAN SYLLABICS CARRIER HWI;Lo;0;L;;;;;N;;;;; +15DB;CANADIAN SYLLABICS CARRIER HWA;Lo;0;L;;;;;N;;;;; +15DC;CANADIAN SYLLABICS CARRIER THU;Lo;0;L;;;;;N;;;;; +15DD;CANADIAN SYLLABICS CARRIER THO;Lo;0;L;;;;;N;;;;; +15DE;CANADIAN SYLLABICS CARRIER THE;Lo;0;L;;;;;N;;;;; +15DF;CANADIAN SYLLABICS CARRIER THEE;Lo;0;L;;;;;N;;;;; +15E0;CANADIAN SYLLABICS CARRIER THI;Lo;0;L;;;;;N;;;;; +15E1;CANADIAN SYLLABICS CARRIER THA;Lo;0;L;;;;;N;;;;; +15E2;CANADIAN SYLLABICS CARRIER TTU;Lo;0;L;;;;;N;;;;; +15E3;CANADIAN SYLLABICS CARRIER TTO;Lo;0;L;;;;;N;;;;; +15E4;CANADIAN SYLLABICS CARRIER TTE;Lo;0;L;;;;;N;;;;; +15E5;CANADIAN SYLLABICS CARRIER TTEE;Lo;0;L;;;;;N;;;;; +15E6;CANADIAN SYLLABICS CARRIER TTI;Lo;0;L;;;;;N;;;;; +15E7;CANADIAN SYLLABICS CARRIER TTA;Lo;0;L;;;;;N;;;;; +15E8;CANADIAN SYLLABICS CARRIER PU;Lo;0;L;;;;;N;;;;; +15E9;CANADIAN SYLLABICS CARRIER PO;Lo;0;L;;;;;N;;;;; +15EA;CANADIAN SYLLABICS CARRIER PE;Lo;0;L;;;;;N;;;;; +15EB;CANADIAN SYLLABICS CARRIER PEE;Lo;0;L;;;;;N;;;;; +15EC;CANADIAN SYLLABICS CARRIER PI;Lo;0;L;;;;;N;;;;; +15ED;CANADIAN SYLLABICS CARRIER PA;Lo;0;L;;;;;N;;;;; +15EE;CANADIAN SYLLABICS CARRIER P;Lo;0;L;;;;;N;;;;; +15EF;CANADIAN SYLLABICS CARRIER GU;Lo;0;L;;;;;N;;;;; +15F0;CANADIAN SYLLABICS CARRIER GO;Lo;0;L;;;;;N;;;;; +15F1;CANADIAN SYLLABICS CARRIER GE;Lo;0;L;;;;;N;;;;; +15F2;CANADIAN SYLLABICS CARRIER GEE;Lo;0;L;;;;;N;;;;; +15F3;CANADIAN SYLLABICS CARRIER GI;Lo;0;L;;;;;N;;;;; +15F4;CANADIAN SYLLABICS CARRIER GA;Lo;0;L;;;;;N;;;;; +15F5;CANADIAN SYLLABICS CARRIER KHU;Lo;0;L;;;;;N;;;;; +15F6;CANADIAN SYLLABICS CARRIER KHO;Lo;0;L;;;;;N;;;;; +15F7;CANADIAN SYLLABICS CARRIER KHE;Lo;0;L;;;;;N;;;;; +15F8;CANADIAN SYLLABICS CARRIER KHEE;Lo;0;L;;;;;N;;;;; +15F9;CANADIAN SYLLABICS CARRIER KHI;Lo;0;L;;;;;N;;;;; +15FA;CANADIAN SYLLABICS CARRIER KHA;Lo;0;L;;;;;N;;;;; +15FB;CANADIAN SYLLABICS CARRIER KKU;Lo;0;L;;;;;N;;;;; +15FC;CANADIAN SYLLABICS CARRIER KKO;Lo;0;L;;;;;N;;;;; +15FD;CANADIAN SYLLABICS CARRIER KKE;Lo;0;L;;;;;N;;;;; +15FE;CANADIAN SYLLABICS CARRIER KKEE;Lo;0;L;;;;;N;;;;; +15FF;CANADIAN SYLLABICS CARRIER KKI;Lo;0;L;;;;;N;;;;; +1600;CANADIAN SYLLABICS CARRIER KKA;Lo;0;L;;;;;N;;;;; +1601;CANADIAN SYLLABICS CARRIER KK;Lo;0;L;;;;;N;;;;; +1602;CANADIAN SYLLABICS CARRIER NU;Lo;0;L;;;;;N;;;;; +1603;CANADIAN SYLLABICS CARRIER NO;Lo;0;L;;;;;N;;;;; +1604;CANADIAN SYLLABICS CARRIER NE;Lo;0;L;;;;;N;;;;; +1605;CANADIAN SYLLABICS CARRIER NEE;Lo;0;L;;;;;N;;;;; +1606;CANADIAN SYLLABICS CARRIER NI;Lo;0;L;;;;;N;;;;; +1607;CANADIAN SYLLABICS CARRIER NA;Lo;0;L;;;;;N;;;;; +1608;CANADIAN SYLLABICS CARRIER MU;Lo;0;L;;;;;N;;;;; +1609;CANADIAN SYLLABICS CARRIER MO;Lo;0;L;;;;;N;;;;; +160A;CANADIAN SYLLABICS CARRIER ME;Lo;0;L;;;;;N;;;;; +160B;CANADIAN SYLLABICS CARRIER MEE;Lo;0;L;;;;;N;;;;; +160C;CANADIAN SYLLABICS CARRIER MI;Lo;0;L;;;;;N;;;;; +160D;CANADIAN SYLLABICS CARRIER MA;Lo;0;L;;;;;N;;;;; +160E;CANADIAN SYLLABICS CARRIER YU;Lo;0;L;;;;;N;;;;; +160F;CANADIAN SYLLABICS CARRIER YO;Lo;0;L;;;;;N;;;;; +1610;CANADIAN SYLLABICS CARRIER YE;Lo;0;L;;;;;N;;;;; +1611;CANADIAN SYLLABICS CARRIER YEE;Lo;0;L;;;;;N;;;;; +1612;CANADIAN SYLLABICS CARRIER YI;Lo;0;L;;;;;N;;;;; +1613;CANADIAN SYLLABICS CARRIER YA;Lo;0;L;;;;;N;;;;; +1614;CANADIAN SYLLABICS CARRIER JU;Lo;0;L;;;;;N;;;;; +1615;CANADIAN SYLLABICS SAYISI JU;Lo;0;L;;;;;N;;;;; +1616;CANADIAN SYLLABICS CARRIER JO;Lo;0;L;;;;;N;;;;; +1617;CANADIAN SYLLABICS CARRIER JE;Lo;0;L;;;;;N;;;;; +1618;CANADIAN SYLLABICS CARRIER JEE;Lo;0;L;;;;;N;;;;; +1619;CANADIAN SYLLABICS CARRIER JI;Lo;0;L;;;;;N;;;;; +161A;CANADIAN SYLLABICS SAYISI JI;Lo;0;L;;;;;N;;;;; +161B;CANADIAN SYLLABICS CARRIER JA;Lo;0;L;;;;;N;;;;; +161C;CANADIAN SYLLABICS CARRIER JJU;Lo;0;L;;;;;N;;;;; +161D;CANADIAN SYLLABICS CARRIER JJO;Lo;0;L;;;;;N;;;;; +161E;CANADIAN SYLLABICS CARRIER JJE;Lo;0;L;;;;;N;;;;; +161F;CANADIAN SYLLABICS CARRIER JJEE;Lo;0;L;;;;;N;;;;; +1620;CANADIAN SYLLABICS CARRIER JJI;Lo;0;L;;;;;N;;;;; +1621;CANADIAN SYLLABICS CARRIER JJA;Lo;0;L;;;;;N;;;;; +1622;CANADIAN SYLLABICS CARRIER LU;Lo;0;L;;;;;N;;;;; +1623;CANADIAN SYLLABICS CARRIER LO;Lo;0;L;;;;;N;;;;; +1624;CANADIAN SYLLABICS CARRIER LE;Lo;0;L;;;;;N;;;;; +1625;CANADIAN SYLLABICS CARRIER LEE;Lo;0;L;;;;;N;;;;; +1626;CANADIAN SYLLABICS CARRIER LI;Lo;0;L;;;;;N;;;;; +1627;CANADIAN SYLLABICS CARRIER LA;Lo;0;L;;;;;N;;;;; +1628;CANADIAN SYLLABICS CARRIER DLU;Lo;0;L;;;;;N;;;;; +1629;CANADIAN SYLLABICS CARRIER DLO;Lo;0;L;;;;;N;;;;; +162A;CANADIAN SYLLABICS CARRIER DLE;Lo;0;L;;;;;N;;;;; +162B;CANADIAN SYLLABICS CARRIER DLEE;Lo;0;L;;;;;N;;;;; +162C;CANADIAN SYLLABICS CARRIER DLI;Lo;0;L;;;;;N;;;;; +162D;CANADIAN SYLLABICS CARRIER DLA;Lo;0;L;;;;;N;;;;; +162E;CANADIAN SYLLABICS CARRIER LHU;Lo;0;L;;;;;N;;;;; +162F;CANADIAN SYLLABICS CARRIER LHO;Lo;0;L;;;;;N;;;;; +1630;CANADIAN SYLLABICS CARRIER LHE;Lo;0;L;;;;;N;;;;; +1631;CANADIAN SYLLABICS CARRIER LHEE;Lo;0;L;;;;;N;;;;; +1632;CANADIAN SYLLABICS CARRIER LHI;Lo;0;L;;;;;N;;;;; +1633;CANADIAN SYLLABICS CARRIER LHA;Lo;0;L;;;;;N;;;;; +1634;CANADIAN SYLLABICS CARRIER TLHU;Lo;0;L;;;;;N;;;;; +1635;CANADIAN SYLLABICS CARRIER TLHO;Lo;0;L;;;;;N;;;;; +1636;CANADIAN SYLLABICS CARRIER TLHE;Lo;0;L;;;;;N;;;;; +1637;CANADIAN SYLLABICS CARRIER TLHEE;Lo;0;L;;;;;N;;;;; +1638;CANADIAN SYLLABICS CARRIER TLHI;Lo;0;L;;;;;N;;;;; +1639;CANADIAN SYLLABICS CARRIER TLHA;Lo;0;L;;;;;N;;;;; +163A;CANADIAN SYLLABICS CARRIER TLU;Lo;0;L;;;;;N;;;;; +163B;CANADIAN SYLLABICS CARRIER TLO;Lo;0;L;;;;;N;;;;; +163C;CANADIAN SYLLABICS CARRIER TLE;Lo;0;L;;;;;N;;;;; +163D;CANADIAN SYLLABICS CARRIER TLEE;Lo;0;L;;;;;N;;;;; +163E;CANADIAN SYLLABICS CARRIER TLI;Lo;0;L;;;;;N;;;;; +163F;CANADIAN SYLLABICS CARRIER TLA;Lo;0;L;;;;;N;;;;; +1640;CANADIAN SYLLABICS CARRIER ZU;Lo;0;L;;;;;N;;;;; +1641;CANADIAN SYLLABICS CARRIER ZO;Lo;0;L;;;;;N;;;;; +1642;CANADIAN SYLLABICS CARRIER ZE;Lo;0;L;;;;;N;;;;; +1643;CANADIAN SYLLABICS CARRIER ZEE;Lo;0;L;;;;;N;;;;; +1644;CANADIAN SYLLABICS CARRIER ZI;Lo;0;L;;;;;N;;;;; +1645;CANADIAN SYLLABICS CARRIER ZA;Lo;0;L;;;;;N;;;;; +1646;CANADIAN SYLLABICS CARRIER Z;Lo;0;L;;;;;N;;;;; +1647;CANADIAN SYLLABICS CARRIER INITIAL Z;Lo;0;L;;;;;N;;;;; +1648;CANADIAN SYLLABICS CARRIER DZU;Lo;0;L;;;;;N;;;;; +1649;CANADIAN SYLLABICS CARRIER DZO;Lo;0;L;;;;;N;;;;; +164A;CANADIAN SYLLABICS CARRIER DZE;Lo;0;L;;;;;N;;;;; +164B;CANADIAN SYLLABICS CARRIER DZEE;Lo;0;L;;;;;N;;;;; +164C;CANADIAN SYLLABICS CARRIER DZI;Lo;0;L;;;;;N;;;;; +164D;CANADIAN SYLLABICS CARRIER DZA;Lo;0;L;;;;;N;;;;; +164E;CANADIAN SYLLABICS CARRIER SU;Lo;0;L;;;;;N;;;;; +164F;CANADIAN SYLLABICS CARRIER SO;Lo;0;L;;;;;N;;;;; +1650;CANADIAN SYLLABICS CARRIER SE;Lo;0;L;;;;;N;;;;; +1651;CANADIAN SYLLABICS CARRIER SEE;Lo;0;L;;;;;N;;;;; +1652;CANADIAN SYLLABICS CARRIER SI;Lo;0;L;;;;;N;;;;; +1653;CANADIAN SYLLABICS CARRIER SA;Lo;0;L;;;;;N;;;;; +1654;CANADIAN SYLLABICS CARRIER SHU;Lo;0;L;;;;;N;;;;; +1655;CANADIAN SYLLABICS CARRIER SHO;Lo;0;L;;;;;N;;;;; +1656;CANADIAN SYLLABICS CARRIER SHE;Lo;0;L;;;;;N;;;;; +1657;CANADIAN SYLLABICS CARRIER SHEE;Lo;0;L;;;;;N;;;;; +1658;CANADIAN SYLLABICS CARRIER SHI;Lo;0;L;;;;;N;;;;; +1659;CANADIAN SYLLABICS CARRIER SHA;Lo;0;L;;;;;N;;;;; +165A;CANADIAN SYLLABICS CARRIER SH;Lo;0;L;;;;;N;;;;; +165B;CANADIAN SYLLABICS CARRIER TSU;Lo;0;L;;;;;N;;;;; +165C;CANADIAN SYLLABICS CARRIER TSO;Lo;0;L;;;;;N;;;;; +165D;CANADIAN SYLLABICS CARRIER TSE;Lo;0;L;;;;;N;;;;; +165E;CANADIAN SYLLABICS CARRIER TSEE;Lo;0;L;;;;;N;;;;; +165F;CANADIAN SYLLABICS CARRIER TSI;Lo;0;L;;;;;N;;;;; +1660;CANADIAN SYLLABICS CARRIER TSA;Lo;0;L;;;;;N;;;;; +1661;CANADIAN SYLLABICS CARRIER CHU;Lo;0;L;;;;;N;;;;; +1662;CANADIAN SYLLABICS CARRIER CHO;Lo;0;L;;;;;N;;;;; +1663;CANADIAN SYLLABICS CARRIER CHE;Lo;0;L;;;;;N;;;;; +1664;CANADIAN SYLLABICS CARRIER CHEE;Lo;0;L;;;;;N;;;;; +1665;CANADIAN SYLLABICS CARRIER CHI;Lo;0;L;;;;;N;;;;; +1666;CANADIAN SYLLABICS CARRIER CHA;Lo;0;L;;;;;N;;;;; +1667;CANADIAN SYLLABICS CARRIER TTSU;Lo;0;L;;;;;N;;;;; +1668;CANADIAN SYLLABICS CARRIER TTSO;Lo;0;L;;;;;N;;;;; +1669;CANADIAN SYLLABICS CARRIER TTSE;Lo;0;L;;;;;N;;;;; +166A;CANADIAN SYLLABICS CARRIER TTSEE;Lo;0;L;;;;;N;;;;; +166B;CANADIAN SYLLABICS CARRIER TTSI;Lo;0;L;;;;;N;;;;; +166C;CANADIAN SYLLABICS CARRIER TTSA;Lo;0;L;;;;;N;;;;; +166D;CANADIAN SYLLABICS CHI SIGN;Po;0;L;;;;;N;;;;; +166E;CANADIAN SYLLABICS FULL STOP;Po;0;L;;;;;N;;;;; +166F;CANADIAN SYLLABICS QAI;Lo;0;L;;;;;N;;;;; +1670;CANADIAN SYLLABICS NGAI;Lo;0;L;;;;;N;;;;; +1671;CANADIAN SYLLABICS NNGI;Lo;0;L;;;;;N;;;;; +1672;CANADIAN SYLLABICS NNGII;Lo;0;L;;;;;N;;;;; +1673;CANADIAN SYLLABICS NNGO;Lo;0;L;;;;;N;;;;; +1674;CANADIAN SYLLABICS NNGOO;Lo;0;L;;;;;N;;;;; +1675;CANADIAN SYLLABICS NNGA;Lo;0;L;;;;;N;;;;; +1676;CANADIAN SYLLABICS NNGAA;Lo;0;L;;;;;N;;;;; +1680;OGHAM SPACE MARK;Zs;0;WS;;;;;N;;;;; +1681;OGHAM LETTER BEITH;Lo;0;L;;;;;N;;;;; +1682;OGHAM LETTER LUIS;Lo;0;L;;;;;N;;;;; +1683;OGHAM LETTER FEARN;Lo;0;L;;;;;N;;;;; +1684;OGHAM LETTER SAIL;Lo;0;L;;;;;N;;;;; +1685;OGHAM LETTER NION;Lo;0;L;;;;;N;;;;; +1686;OGHAM LETTER UATH;Lo;0;L;;;;;N;;;;; +1687;OGHAM LETTER DAIR;Lo;0;L;;;;;N;;;;; +1688;OGHAM LETTER TINNE;Lo;0;L;;;;;N;;;;; +1689;OGHAM LETTER COLL;Lo;0;L;;;;;N;;;;; +168A;OGHAM LETTER CEIRT;Lo;0;L;;;;;N;;;;; +168B;OGHAM LETTER MUIN;Lo;0;L;;;;;N;;;;; +168C;OGHAM LETTER GORT;Lo;0;L;;;;;N;;;;; +168D;OGHAM LETTER NGEADAL;Lo;0;L;;;;;N;;;;; +168E;OGHAM LETTER STRAIF;Lo;0;L;;;;;N;;;;; +168F;OGHAM LETTER RUIS;Lo;0;L;;;;;N;;;;; +1690;OGHAM LETTER AILM;Lo;0;L;;;;;N;;;;; +1691;OGHAM LETTER ONN;Lo;0;L;;;;;N;;;;; +1692;OGHAM LETTER UR;Lo;0;L;;;;;N;;;;; +1693;OGHAM LETTER EADHADH;Lo;0;L;;;;;N;;;;; +1694;OGHAM LETTER IODHADH;Lo;0;L;;;;;N;;;;; +1695;OGHAM LETTER EABHADH;Lo;0;L;;;;;N;;;;; +1696;OGHAM LETTER OR;Lo;0;L;;;;;N;;;;; +1697;OGHAM LETTER UILLEANN;Lo;0;L;;;;;N;;;;; +1698;OGHAM LETTER IFIN;Lo;0;L;;;;;N;;;;; +1699;OGHAM LETTER EAMHANCHOLL;Lo;0;L;;;;;N;;;;; +169A;OGHAM LETTER PEITH;Lo;0;L;;;;;N;;;;; +169B;OGHAM FEATHER MARK;Ps;0;ON;;;;;Y;;;;; +169C;OGHAM REVERSED FEATHER MARK;Pe;0;ON;;;;;Y;;;;; +16A0;RUNIC LETTER FEHU FEOH FE F;Lo;0;L;;;;;N;;;;; +16A1;RUNIC LETTER V;Lo;0;L;;;;;N;;;;; +16A2;RUNIC LETTER URUZ UR U;Lo;0;L;;;;;N;;;;; +16A3;RUNIC LETTER YR;Lo;0;L;;;;;N;;;;; +16A4;RUNIC LETTER Y;Lo;0;L;;;;;N;;;;; +16A5;RUNIC LETTER W;Lo;0;L;;;;;N;;;;; +16A6;RUNIC LETTER THURISAZ THURS THORN;Lo;0;L;;;;;N;;;;; +16A7;RUNIC LETTER ETH;Lo;0;L;;;;;N;;;;; +16A8;RUNIC LETTER ANSUZ A;Lo;0;L;;;;;N;;;;; +16A9;RUNIC LETTER OS O;Lo;0;L;;;;;N;;;;; +16AA;RUNIC LETTER AC A;Lo;0;L;;;;;N;;;;; +16AB;RUNIC LETTER AESC;Lo;0;L;;;;;N;;;;; +16AC;RUNIC LETTER LONG-BRANCH-OSS O;Lo;0;L;;;;;N;;;;; +16AD;RUNIC LETTER SHORT-TWIG-OSS O;Lo;0;L;;;;;N;;;;; +16AE;RUNIC LETTER O;Lo;0;L;;;;;N;;;;; +16AF;RUNIC LETTER OE;Lo;0;L;;;;;N;;;;; +16B0;RUNIC LETTER ON;Lo;0;L;;;;;N;;;;; +16B1;RUNIC LETTER RAIDO RAD REID R;Lo;0;L;;;;;N;;;;; +16B2;RUNIC LETTER KAUNA;Lo;0;L;;;;;N;;;;; +16B3;RUNIC LETTER CEN;Lo;0;L;;;;;N;;;;; +16B4;RUNIC LETTER KAUN K;Lo;0;L;;;;;N;;;;; +16B5;RUNIC LETTER G;Lo;0;L;;;;;N;;;;; +16B6;RUNIC LETTER ENG;Lo;0;L;;;;;N;;;;; +16B7;RUNIC LETTER GEBO GYFU G;Lo;0;L;;;;;N;;;;; +16B8;RUNIC LETTER GAR;Lo;0;L;;;;;N;;;;; +16B9;RUNIC LETTER WUNJO WYNN W;Lo;0;L;;;;;N;;;;; +16BA;RUNIC LETTER HAGLAZ H;Lo;0;L;;;;;N;;;;; +16BB;RUNIC LETTER HAEGL H;Lo;0;L;;;;;N;;;;; +16BC;RUNIC LETTER LONG-BRANCH-HAGALL H;Lo;0;L;;;;;N;;;;; +16BD;RUNIC LETTER SHORT-TWIG-HAGALL H;Lo;0;L;;;;;N;;;;; +16BE;RUNIC LETTER NAUDIZ NYD NAUD N;Lo;0;L;;;;;N;;;;; +16BF;RUNIC LETTER SHORT-TWIG-NAUD N;Lo;0;L;;;;;N;;;;; +16C0;RUNIC LETTER DOTTED-N;Lo;0;L;;;;;N;;;;; +16C1;RUNIC LETTER ISAZ IS ISS I;Lo;0;L;;;;;N;;;;; +16C2;RUNIC LETTER E;Lo;0;L;;;;;N;;;;; +16C3;RUNIC LETTER JERAN J;Lo;0;L;;;;;N;;;;; +16C4;RUNIC LETTER GER;Lo;0;L;;;;;N;;;;; +16C5;RUNIC LETTER LONG-BRANCH-AR AE;Lo;0;L;;;;;N;;;;; +16C6;RUNIC LETTER SHORT-TWIG-AR A;Lo;0;L;;;;;N;;;;; +16C7;RUNIC LETTER IWAZ EOH;Lo;0;L;;;;;N;;;;; +16C8;RUNIC LETTER PERTHO PEORTH P;Lo;0;L;;;;;N;;;;; +16C9;RUNIC LETTER ALGIZ EOLHX;Lo;0;L;;;;;N;;;;; +16CA;RUNIC LETTER SOWILO S;Lo;0;L;;;;;N;;;;; +16CB;RUNIC LETTER SIGEL LONG-BRANCH-SOL S;Lo;0;L;;;;;N;;;;; +16CC;RUNIC LETTER SHORT-TWIG-SOL S;Lo;0;L;;;;;N;;;;; +16CD;RUNIC LETTER C;Lo;0;L;;;;;N;;;;; +16CE;RUNIC LETTER Z;Lo;0;L;;;;;N;;;;; +16CF;RUNIC LETTER TIWAZ TIR TYR T;Lo;0;L;;;;;N;;;;; +16D0;RUNIC LETTER SHORT-TWIG-TYR T;Lo;0;L;;;;;N;;;;; +16D1;RUNIC LETTER D;Lo;0;L;;;;;N;;;;; +16D2;RUNIC LETTER BERKANAN BEORC BJARKAN B;Lo;0;L;;;;;N;;;;; +16D3;RUNIC LETTER SHORT-TWIG-BJARKAN B;Lo;0;L;;;;;N;;;;; +16D4;RUNIC LETTER DOTTED-P;Lo;0;L;;;;;N;;;;; +16D5;RUNIC LETTER OPEN-P;Lo;0;L;;;;;N;;;;; +16D6;RUNIC LETTER EHWAZ EH E;Lo;0;L;;;;;N;;;;; +16D7;RUNIC LETTER MANNAZ MAN M;Lo;0;L;;;;;N;;;;; +16D8;RUNIC LETTER LONG-BRANCH-MADR M;Lo;0;L;;;;;N;;;;; +16D9;RUNIC LETTER SHORT-TWIG-MADR M;Lo;0;L;;;;;N;;;;; +16DA;RUNIC LETTER LAUKAZ LAGU LOGR L;Lo;0;L;;;;;N;;;;; +16DB;RUNIC LETTER DOTTED-L;Lo;0;L;;;;;N;;;;; +16DC;RUNIC LETTER INGWAZ;Lo;0;L;;;;;N;;;;; +16DD;RUNIC LETTER ING;Lo;0;L;;;;;N;;;;; +16DE;RUNIC LETTER DAGAZ DAEG D;Lo;0;L;;;;;N;;;;; +16DF;RUNIC LETTER OTHALAN ETHEL O;Lo;0;L;;;;;N;;;;; +16E0;RUNIC LETTER EAR;Lo;0;L;;;;;N;;;;; +16E1;RUNIC LETTER IOR;Lo;0;L;;;;;N;;;;; +16E2;RUNIC LETTER CWEORTH;Lo;0;L;;;;;N;;;;; +16E3;RUNIC LETTER CALC;Lo;0;L;;;;;N;;;;; +16E4;RUNIC LETTER CEALC;Lo;0;L;;;;;N;;;;; +16E5;RUNIC LETTER STAN;Lo;0;L;;;;;N;;;;; +16E6;RUNIC LETTER LONG-BRANCH-YR;Lo;0;L;;;;;N;;;;; +16E7;RUNIC LETTER SHORT-TWIG-YR;Lo;0;L;;;;;N;;;;; +16E8;RUNIC LETTER ICELANDIC-YR;Lo;0;L;;;;;N;;;;; +16E9;RUNIC LETTER Q;Lo;0;L;;;;;N;;;;; +16EA;RUNIC LETTER X;Lo;0;L;;;;;N;;;;; +16EB;RUNIC SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;; +16EC;RUNIC MULTIPLE PUNCTUATION;Po;0;L;;;;;N;;;;; +16ED;RUNIC CROSS PUNCTUATION;Po;0;L;;;;;N;;;;; +16EE;RUNIC ARLAUG SYMBOL;Nl;0;L;;;;17;N;;golden number 17;;; +16EF;RUNIC TVIMADUR SYMBOL;Nl;0;L;;;;18;N;;golden number 18;;; +16F0;RUNIC BELGTHOR SYMBOL;Nl;0;L;;;;19;N;;golden number 19;;; +1700;TAGALOG LETTER A;Lo;0;L;;;;;N;;;;; +1701;TAGALOG LETTER I;Lo;0;L;;;;;N;;;;; +1702;TAGALOG LETTER U;Lo;0;L;;;;;N;;;;; +1703;TAGALOG LETTER KA;Lo;0;L;;;;;N;;;;; +1704;TAGALOG LETTER GA;Lo;0;L;;;;;N;;;;; +1705;TAGALOG LETTER NGA;Lo;0;L;;;;;N;;;;; +1706;TAGALOG LETTER TA;Lo;0;L;;;;;N;;;;; +1707;TAGALOG LETTER DA;Lo;0;L;;;;;N;;;;; +1708;TAGALOG LETTER NA;Lo;0;L;;;;;N;;;;; +1709;TAGALOG LETTER PA;Lo;0;L;;;;;N;;;;; +170A;TAGALOG LETTER BA;Lo;0;L;;;;;N;;;;; +170B;TAGALOG LETTER MA;Lo;0;L;;;;;N;;;;; +170C;TAGALOG LETTER YA;Lo;0;L;;;;;N;;;;; +170E;TAGALOG LETTER LA;Lo;0;L;;;;;N;;;;; +170F;TAGALOG LETTER WA;Lo;0;L;;;;;N;;;;; +1710;TAGALOG LETTER SA;Lo;0;L;;;;;N;;;;; +1711;TAGALOG LETTER HA;Lo;0;L;;;;;N;;;;; +1712;TAGALOG VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1713;TAGALOG VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1714;TAGALOG SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +1720;HANUNOO LETTER A;Lo;0;L;;;;;N;;;;; +1721;HANUNOO LETTER I;Lo;0;L;;;;;N;;;;; +1722;HANUNOO LETTER U;Lo;0;L;;;;;N;;;;; +1723;HANUNOO LETTER KA;Lo;0;L;;;;;N;;;;; +1724;HANUNOO LETTER GA;Lo;0;L;;;;;N;;;;; +1725;HANUNOO LETTER NGA;Lo;0;L;;;;;N;;;;; +1726;HANUNOO LETTER TA;Lo;0;L;;;;;N;;;;; +1727;HANUNOO LETTER DA;Lo;0;L;;;;;N;;;;; +1728;HANUNOO LETTER NA;Lo;0;L;;;;;N;;;;; +1729;HANUNOO LETTER PA;Lo;0;L;;;;;N;;;;; +172A;HANUNOO LETTER BA;Lo;0;L;;;;;N;;;;; +172B;HANUNOO LETTER MA;Lo;0;L;;;;;N;;;;; +172C;HANUNOO LETTER YA;Lo;0;L;;;;;N;;;;; +172D;HANUNOO LETTER RA;Lo;0;L;;;;;N;;;;; +172E;HANUNOO LETTER LA;Lo;0;L;;;;;N;;;;; +172F;HANUNOO LETTER WA;Lo;0;L;;;;;N;;;;; +1730;HANUNOO LETTER SA;Lo;0;L;;;;;N;;;;; +1731;HANUNOO LETTER HA;Lo;0;L;;;;;N;;;;; +1732;HANUNOO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1733;HANUNOO VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1734;HANUNOO SIGN PAMUDPOD;Mn;9;NSM;;;;;N;;;;; +1735;PHILIPPINE SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;; +1736;PHILIPPINE DOUBLE PUNCTUATION;Po;0;L;;;;;N;;;;; +1740;BUHID LETTER A;Lo;0;L;;;;;N;;;;; +1741;BUHID LETTER I;Lo;0;L;;;;;N;;;;; +1742;BUHID LETTER U;Lo;0;L;;;;;N;;;;; +1743;BUHID LETTER KA;Lo;0;L;;;;;N;;;;; +1744;BUHID LETTER GA;Lo;0;L;;;;;N;;;;; +1745;BUHID LETTER NGA;Lo;0;L;;;;;N;;;;; +1746;BUHID LETTER TA;Lo;0;L;;;;;N;;;;; +1747;BUHID LETTER DA;Lo;0;L;;;;;N;;;;; +1748;BUHID LETTER NA;Lo;0;L;;;;;N;;;;; +1749;BUHID LETTER PA;Lo;0;L;;;;;N;;;;; +174A;BUHID LETTER BA;Lo;0;L;;;;;N;;;;; +174B;BUHID LETTER MA;Lo;0;L;;;;;N;;;;; +174C;BUHID LETTER YA;Lo;0;L;;;;;N;;;;; +174D;BUHID LETTER RA;Lo;0;L;;;;;N;;;;; +174E;BUHID LETTER LA;Lo;0;L;;;;;N;;;;; +174F;BUHID LETTER WA;Lo;0;L;;;;;N;;;;; +1750;BUHID LETTER SA;Lo;0;L;;;;;N;;;;; +1751;BUHID LETTER HA;Lo;0;L;;;;;N;;;;; +1752;BUHID VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1753;BUHID VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1760;TAGBANWA LETTER A;Lo;0;L;;;;;N;;;;; +1761;TAGBANWA LETTER I;Lo;0;L;;;;;N;;;;; +1762;TAGBANWA LETTER U;Lo;0;L;;;;;N;;;;; +1763;TAGBANWA LETTER KA;Lo;0;L;;;;;N;;;;; +1764;TAGBANWA LETTER GA;Lo;0;L;;;;;N;;;;; +1765;TAGBANWA LETTER NGA;Lo;0;L;;;;;N;;;;; +1766;TAGBANWA LETTER TA;Lo;0;L;;;;;N;;;;; +1767;TAGBANWA LETTER DA;Lo;0;L;;;;;N;;;;; +1768;TAGBANWA LETTER NA;Lo;0;L;;;;;N;;;;; +1769;TAGBANWA LETTER PA;Lo;0;L;;;;;N;;;;; +176A;TAGBANWA LETTER BA;Lo;0;L;;;;;N;;;;; +176B;TAGBANWA LETTER MA;Lo;0;L;;;;;N;;;;; +176C;TAGBANWA LETTER YA;Lo;0;L;;;;;N;;;;; +176E;TAGBANWA LETTER LA;Lo;0;L;;;;;N;;;;; +176F;TAGBANWA LETTER WA;Lo;0;L;;;;;N;;;;; +1770;TAGBANWA LETTER SA;Lo;0;L;;;;;N;;;;; +1772;TAGBANWA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1773;TAGBANWA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1780;KHMER LETTER KA;Lo;0;L;;;;;N;;;;; +1781;KHMER LETTER KHA;Lo;0;L;;;;;N;;;;; +1782;KHMER LETTER KO;Lo;0;L;;;;;N;;;;; +1783;KHMER LETTER KHO;Lo;0;L;;;;;N;;;;; +1784;KHMER LETTER NGO;Lo;0;L;;;;;N;;;;; +1785;KHMER LETTER CA;Lo;0;L;;;;;N;;;;; +1786;KHMER LETTER CHA;Lo;0;L;;;;;N;;;;; +1787;KHMER LETTER CO;Lo;0;L;;;;;N;;;;; +1788;KHMER LETTER CHO;Lo;0;L;;;;;N;;;;; +1789;KHMER LETTER NYO;Lo;0;L;;;;;N;;;;; +178A;KHMER LETTER DA;Lo;0;L;;;;;N;;;;; +178B;KHMER LETTER TTHA;Lo;0;L;;;;;N;;;;; +178C;KHMER LETTER DO;Lo;0;L;;;;;N;;;;; +178D;KHMER LETTER TTHO;Lo;0;L;;;;;N;;;;; +178E;KHMER LETTER NNO;Lo;0;L;;;;;N;;;;; +178F;KHMER LETTER TA;Lo;0;L;;;;;N;;;;; +1790;KHMER LETTER THA;Lo;0;L;;;;;N;;;;; +1791;KHMER LETTER TO;Lo;0;L;;;;;N;;;;; +1792;KHMER LETTER THO;Lo;0;L;;;;;N;;;;; +1793;KHMER LETTER NO;Lo;0;L;;;;;N;;;;; +1794;KHMER LETTER BA;Lo;0;L;;;;;N;;;;; +1795;KHMER LETTER PHA;Lo;0;L;;;;;N;;;;; +1796;KHMER LETTER PO;Lo;0;L;;;;;N;;;;; +1797;KHMER LETTER PHO;Lo;0;L;;;;;N;;;;; +1798;KHMER LETTER MO;Lo;0;L;;;;;N;;;;; +1799;KHMER LETTER YO;Lo;0;L;;;;;N;;;;; +179A;KHMER LETTER RO;Lo;0;L;;;;;N;;;;; +179B;KHMER LETTER LO;Lo;0;L;;;;;N;;;;; +179C;KHMER LETTER VO;Lo;0;L;;;;;N;;;;; +179D;KHMER LETTER SHA;Lo;0;L;;;;;N;;;;; +179E;KHMER LETTER SSO;Lo;0;L;;;;;N;;;;; +179F;KHMER LETTER SA;Lo;0;L;;;;;N;;;;; +17A0;KHMER LETTER HA;Lo;0;L;;;;;N;;;;; +17A1;KHMER LETTER LA;Lo;0;L;;;;;N;;;;; +17A2;KHMER LETTER QA;Lo;0;L;;;;;N;;;;; +17A3;KHMER INDEPENDENT VOWEL QAQ;Lo;0;L;;;;;N;;*;;; +17A4;KHMER INDEPENDENT VOWEL QAA;Lo;0;L;;;;;N;;*;;; +17A5;KHMER INDEPENDENT VOWEL QI;Lo;0;L;;;;;N;;;;; +17A6;KHMER INDEPENDENT VOWEL QII;Lo;0;L;;;;;N;;;;; +17A7;KHMER INDEPENDENT VOWEL QU;Lo;0;L;;;;;N;;;;; +17A8;KHMER INDEPENDENT VOWEL QUK;Lo;0;L;;;;;N;;;;; +17A9;KHMER INDEPENDENT VOWEL QUU;Lo;0;L;;;;;N;;;;; +17AA;KHMER INDEPENDENT VOWEL QUUV;Lo;0;L;;;;;N;;;;; +17AB;KHMER INDEPENDENT VOWEL RY;Lo;0;L;;;;;N;;;;; +17AC;KHMER INDEPENDENT VOWEL RYY;Lo;0;L;;;;;N;;;;; +17AD;KHMER INDEPENDENT VOWEL LY;Lo;0;L;;;;;N;;;;; +17AE;KHMER INDEPENDENT VOWEL LYY;Lo;0;L;;;;;N;;;;; +17AF;KHMER INDEPENDENT VOWEL QE;Lo;0;L;;;;;N;;;;; +17B0;KHMER INDEPENDENT VOWEL QAI;Lo;0;L;;;;;N;;;;; +17B1;KHMER INDEPENDENT VOWEL QOO TYPE ONE;Lo;0;L;;;;;N;;;;; +17B2;KHMER INDEPENDENT VOWEL QOO TYPE TWO;Lo;0;L;;;;;N;;;;; +17B3;KHMER INDEPENDENT VOWEL QAU;Lo;0;L;;;;;N;;;;; +17B4;KHMER VOWEL INHERENT AQ;Cf;0;L;;;;;N;;*;;; +17B5;KHMER VOWEL INHERENT AA;Cf;0;L;;;;;N;;*;;; +17B6;KHMER VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +17B7;KHMER VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +17B8;KHMER VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +17B9;KHMER VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;; +17BA;KHMER VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;; +17BB;KHMER VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +17BC;KHMER VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +17BD;KHMER VOWEL SIGN UA;Mn;0;NSM;;;;;N;;;;; +17BE;KHMER VOWEL SIGN OE;Mc;0;L;;;;;N;;;;; +17BF;KHMER VOWEL SIGN YA;Mc;0;L;;;;;N;;;;; +17C0;KHMER VOWEL SIGN IE;Mc;0;L;;;;;N;;;;; +17C1;KHMER VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +17C2;KHMER VOWEL SIGN AE;Mc;0;L;;;;;N;;;;; +17C3;KHMER VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +17C4;KHMER VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +17C5;KHMER VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +17C6;KHMER SIGN NIKAHIT;Mn;0;NSM;;;;;N;;;;; +17C7;KHMER SIGN REAHMUK;Mc;0;L;;;;;N;;;;; +17C8;KHMER SIGN YUUKALEAPINTU;Mc;0;L;;;;;N;;;;; +17C9;KHMER SIGN MUUSIKATOAN;Mn;0;NSM;;;;;N;;;;; +17CA;KHMER SIGN TRIISAP;Mn;0;NSM;;;;;N;;;;; +17CB;KHMER SIGN BANTOC;Mn;0;NSM;;;;;N;;;;; +17CC;KHMER SIGN ROBAT;Mn;0;NSM;;;;;N;;;;; +17CD;KHMER SIGN TOANDAKHIAT;Mn;0;NSM;;;;;N;;;;; +17CE;KHMER SIGN KAKABAT;Mn;0;NSM;;;;;N;;;;; +17CF;KHMER SIGN AHSDA;Mn;0;NSM;;;;;N;;;;; +17D0;KHMER SIGN SAMYOK SANNYA;Mn;0;NSM;;;;;N;;;;; +17D1;KHMER SIGN VIRIAM;Mn;0;NSM;;;;;N;;;;; +17D2;KHMER SIGN COENG;Mn;9;NSM;;;;;N;;;;; +17D3;KHMER SIGN BATHAMASAT;Mn;0;NSM;;;;;N;;*;;; +17D4;KHMER SIGN KHAN;Po;0;L;;;;;N;;;;; +17D5;KHMER SIGN BARIYOOSAN;Po;0;L;;;;;N;;;;; +17D6;KHMER SIGN CAMNUC PII KUUH;Po;0;L;;;;;N;;;;; +17D7;KHMER SIGN LEK TOO;Lm;0;L;;;;;N;;;;; +17D8;KHMER SIGN BEYYAL;Po;0;L;;;;;N;;*;;; +17D9;KHMER SIGN PHNAEK MUAN;Po;0;L;;;;;N;;;;; +17DA;KHMER SIGN KOOMUUT;Po;0;L;;;;;N;;;;; +17DB;KHMER CURRENCY SYMBOL RIEL;Sc;0;ET;;;;;N;;;;; +17DC;KHMER SIGN AVAKRAHASANYA;Lo;0;L;;;;;N;;;;; +17DD;KHMER SIGN ATTHACAN;Mn;230;NSM;;;;;N;;;;; +17E0;KHMER DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +17E1;KHMER DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +17E2;KHMER DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +17E3;KHMER DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +17E4;KHMER DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +17E5;KHMER DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +17E6;KHMER DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +17E7;KHMER DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +17E8;KHMER DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +17E9;KHMER DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +17F0;KHMER SYMBOL LEK ATTAK SON;No;0;ON;;;;0;N;;;;; +17F1;KHMER SYMBOL LEK ATTAK MUOY;No;0;ON;;;;1;N;;;;; +17F2;KHMER SYMBOL LEK ATTAK PII;No;0;ON;;;;2;N;;;;; +17F3;KHMER SYMBOL LEK ATTAK BEI;No;0;ON;;;;3;N;;;;; +17F4;KHMER SYMBOL LEK ATTAK BUON;No;0;ON;;;;4;N;;;;; +17F5;KHMER SYMBOL LEK ATTAK PRAM;No;0;ON;;;;5;N;;;;; +17F6;KHMER SYMBOL LEK ATTAK PRAM-MUOY;No;0;ON;;;;6;N;;;;; +17F7;KHMER SYMBOL LEK ATTAK PRAM-PII;No;0;ON;;;;7;N;;;;; +17F8;KHMER SYMBOL LEK ATTAK PRAM-BEI;No;0;ON;;;;8;N;;;;; +17F9;KHMER SYMBOL LEK ATTAK PRAM-BUON;No;0;ON;;;;9;N;;;;; +1800;MONGOLIAN BIRGA;Po;0;ON;;;;;N;;;;; +1801;MONGOLIAN ELLIPSIS;Po;0;ON;;;;;N;;;;; +1802;MONGOLIAN COMMA;Po;0;ON;;;;;N;;;;; +1803;MONGOLIAN FULL STOP;Po;0;ON;;;;;N;;;;; +1804;MONGOLIAN COLON;Po;0;ON;;;;;N;;;;; +1805;MONGOLIAN FOUR DOTS;Po;0;ON;;;;;N;;;;; +1806;MONGOLIAN TODO SOFT HYPHEN;Pd;0;ON;;;;;N;;;;; +1807;MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER;Po;0;ON;;;;;N;;;;; +1808;MONGOLIAN MANCHU COMMA;Po;0;ON;;;;;N;;;;; +1809;MONGOLIAN MANCHU FULL STOP;Po;0;ON;;;;;N;;;;; +180A;MONGOLIAN NIRUGU;Po;0;ON;;;;;N;;;;; +180B;MONGOLIAN FREE VARIATION SELECTOR ONE;Mn;0;NSM;;;;;N;;;;; +180C;MONGOLIAN FREE VARIATION SELECTOR TWO;Mn;0;NSM;;;;;N;;;;; +180D;MONGOLIAN FREE VARIATION SELECTOR THREE;Mn;0;NSM;;;;;N;;;;; +180E;MONGOLIAN VOWEL SEPARATOR;Zs;0;WS;;;;;N;;;;; +1810;MONGOLIAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1811;MONGOLIAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1812;MONGOLIAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1813;MONGOLIAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1814;MONGOLIAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1815;MONGOLIAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1816;MONGOLIAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1817;MONGOLIAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1818;MONGOLIAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1819;MONGOLIAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1820;MONGOLIAN LETTER A;Lo;0;L;;;;;N;;;;; +1821;MONGOLIAN LETTER E;Lo;0;L;;;;;N;;;;; +1822;MONGOLIAN LETTER I;Lo;0;L;;;;;N;;;;; +1823;MONGOLIAN LETTER O;Lo;0;L;;;;;N;;;;; +1824;MONGOLIAN LETTER U;Lo;0;L;;;;;N;;;;; +1825;MONGOLIAN LETTER OE;Lo;0;L;;;;;N;;;;; +1826;MONGOLIAN LETTER UE;Lo;0;L;;;;;N;;;;; +1827;MONGOLIAN LETTER EE;Lo;0;L;;;;;N;;;;; +1828;MONGOLIAN LETTER NA;Lo;0;L;;;;;N;;;;; +1829;MONGOLIAN LETTER ANG;Lo;0;L;;;;;N;;;;; +182A;MONGOLIAN LETTER BA;Lo;0;L;;;;;N;;;;; +182B;MONGOLIAN LETTER PA;Lo;0;L;;;;;N;;;;; +182C;MONGOLIAN LETTER QA;Lo;0;L;;;;;N;;;;; +182D;MONGOLIAN LETTER GA;Lo;0;L;;;;;N;;;;; +182E;MONGOLIAN LETTER MA;Lo;0;L;;;;;N;;;;; +182F;MONGOLIAN LETTER LA;Lo;0;L;;;;;N;;;;; +1830;MONGOLIAN LETTER SA;Lo;0;L;;;;;N;;;;; +1831;MONGOLIAN LETTER SHA;Lo;0;L;;;;;N;;;;; +1832;MONGOLIAN LETTER TA;Lo;0;L;;;;;N;;;;; +1833;MONGOLIAN LETTER DA;Lo;0;L;;;;;N;;;;; +1834;MONGOLIAN LETTER CHA;Lo;0;L;;;;;N;;;;; +1835;MONGOLIAN LETTER JA;Lo;0;L;;;;;N;;;;; +1836;MONGOLIAN LETTER YA;Lo;0;L;;;;;N;;;;; +1837;MONGOLIAN LETTER RA;Lo;0;L;;;;;N;;;;; +1838;MONGOLIAN LETTER WA;Lo;0;L;;;;;N;;;;; +1839;MONGOLIAN LETTER FA;Lo;0;L;;;;;N;;;;; +183A;MONGOLIAN LETTER KA;Lo;0;L;;;;;N;;;;; +183B;MONGOLIAN LETTER KHA;Lo;0;L;;;;;N;;;;; +183C;MONGOLIAN LETTER TSA;Lo;0;L;;;;;N;;;;; +183D;MONGOLIAN LETTER ZA;Lo;0;L;;;;;N;;;;; +183E;MONGOLIAN LETTER HAA;Lo;0;L;;;;;N;;;;; +183F;MONGOLIAN LETTER ZRA;Lo;0;L;;;;;N;;;;; +1840;MONGOLIAN LETTER LHA;Lo;0;L;;;;;N;;;;; +1841;MONGOLIAN LETTER ZHI;Lo;0;L;;;;;N;;;;; +1842;MONGOLIAN LETTER CHI;Lo;0;L;;;;;N;;;;; +1843;MONGOLIAN LETTER TODO LONG VOWEL SIGN;Lm;0;L;;;;;N;;;;; +1844;MONGOLIAN LETTER TODO E;Lo;0;L;;;;;N;;;;; +1845;MONGOLIAN LETTER TODO I;Lo;0;L;;;;;N;;;;; +1846;MONGOLIAN LETTER TODO O;Lo;0;L;;;;;N;;;;; +1847;MONGOLIAN LETTER TODO U;Lo;0;L;;;;;N;;;;; +1848;MONGOLIAN LETTER TODO OE;Lo;0;L;;;;;N;;;;; +1849;MONGOLIAN LETTER TODO UE;Lo;0;L;;;;;N;;;;; +184A;MONGOLIAN LETTER TODO ANG;Lo;0;L;;;;;N;;;;; +184B;MONGOLIAN LETTER TODO BA;Lo;0;L;;;;;N;;;;; +184C;MONGOLIAN LETTER TODO PA;Lo;0;L;;;;;N;;;;; +184D;MONGOLIAN LETTER TODO QA;Lo;0;L;;;;;N;;;;; +184E;MONGOLIAN LETTER TODO GA;Lo;0;L;;;;;N;;;;; +184F;MONGOLIAN LETTER TODO MA;Lo;0;L;;;;;N;;;;; +1850;MONGOLIAN LETTER TODO TA;Lo;0;L;;;;;N;;;;; +1851;MONGOLIAN LETTER TODO DA;Lo;0;L;;;;;N;;;;; +1852;MONGOLIAN LETTER TODO CHA;Lo;0;L;;;;;N;;;;; +1853;MONGOLIAN LETTER TODO JA;Lo;0;L;;;;;N;;;;; +1854;MONGOLIAN LETTER TODO TSA;Lo;0;L;;;;;N;;;;; +1855;MONGOLIAN LETTER TODO YA;Lo;0;L;;;;;N;;;;; +1856;MONGOLIAN LETTER TODO WA;Lo;0;L;;;;;N;;;;; +1857;MONGOLIAN LETTER TODO KA;Lo;0;L;;;;;N;;;;; +1858;MONGOLIAN LETTER TODO GAA;Lo;0;L;;;;;N;;;;; +1859;MONGOLIAN LETTER TODO HAA;Lo;0;L;;;;;N;;;;; +185A;MONGOLIAN LETTER TODO JIA;Lo;0;L;;;;;N;;;;; +185B;MONGOLIAN LETTER TODO NIA;Lo;0;L;;;;;N;;;;; +185C;MONGOLIAN LETTER TODO DZA;Lo;0;L;;;;;N;;;;; +185D;MONGOLIAN LETTER SIBE E;Lo;0;L;;;;;N;;;;; +185E;MONGOLIAN LETTER SIBE I;Lo;0;L;;;;;N;;;;; +185F;MONGOLIAN LETTER SIBE IY;Lo;0;L;;;;;N;;;;; +1860;MONGOLIAN LETTER SIBE UE;Lo;0;L;;;;;N;;;;; +1861;MONGOLIAN LETTER SIBE U;Lo;0;L;;;;;N;;;;; +1862;MONGOLIAN LETTER SIBE ANG;Lo;0;L;;;;;N;;;;; +1863;MONGOLIAN LETTER SIBE KA;Lo;0;L;;;;;N;;;;; +1864;MONGOLIAN LETTER SIBE GA;Lo;0;L;;;;;N;;;;; +1865;MONGOLIAN LETTER SIBE HA;Lo;0;L;;;;;N;;;;; +1866;MONGOLIAN LETTER SIBE PA;Lo;0;L;;;;;N;;;;; +1867;MONGOLIAN LETTER SIBE SHA;Lo;0;L;;;;;N;;;;; +1868;MONGOLIAN LETTER SIBE TA;Lo;0;L;;;;;N;;;;; +1869;MONGOLIAN LETTER SIBE DA;Lo;0;L;;;;;N;;;;; +186A;MONGOLIAN LETTER SIBE JA;Lo;0;L;;;;;N;;;;; +186B;MONGOLIAN LETTER SIBE FA;Lo;0;L;;;;;N;;;;; +186C;MONGOLIAN LETTER SIBE GAA;Lo;0;L;;;;;N;;;;; +186D;MONGOLIAN LETTER SIBE HAA;Lo;0;L;;;;;N;;;;; +186E;MONGOLIAN LETTER SIBE TSA;Lo;0;L;;;;;N;;;;; +186F;MONGOLIAN LETTER SIBE ZA;Lo;0;L;;;;;N;;;;; +1870;MONGOLIAN LETTER SIBE RAA;Lo;0;L;;;;;N;;;;; +1871;MONGOLIAN LETTER SIBE CHA;Lo;0;L;;;;;N;;;;; +1872;MONGOLIAN LETTER SIBE ZHA;Lo;0;L;;;;;N;;;;; +1873;MONGOLIAN LETTER MANCHU I;Lo;0;L;;;;;N;;;;; +1874;MONGOLIAN LETTER MANCHU KA;Lo;0;L;;;;;N;;;;; +1875;MONGOLIAN LETTER MANCHU RA;Lo;0;L;;;;;N;;;;; +1876;MONGOLIAN LETTER MANCHU FA;Lo;0;L;;;;;N;;;;; +1877;MONGOLIAN LETTER MANCHU ZHA;Lo;0;L;;;;;N;;;;; +1880;MONGOLIAN LETTER ALI GALI ANUSVARA ONE;Lo;0;L;;;;;N;;;;; +1881;MONGOLIAN LETTER ALI GALI VISARGA ONE;Lo;0;L;;;;;N;;;;; +1882;MONGOLIAN LETTER ALI GALI DAMARU;Lo;0;L;;;;;N;;;;; +1883;MONGOLIAN LETTER ALI GALI UBADAMA;Lo;0;L;;;;;N;;;;; +1884;MONGOLIAN LETTER ALI GALI INVERTED UBADAMA;Lo;0;L;;;;;N;;;;; +1885;MONGOLIAN LETTER ALI GALI BALUDA;Lo;0;L;;;;;N;;;;; +1886;MONGOLIAN LETTER ALI GALI THREE BALUDA;Lo;0;L;;;;;N;;;;; +1887;MONGOLIAN LETTER ALI GALI A;Lo;0;L;;;;;N;;;;; +1888;MONGOLIAN LETTER ALI GALI I;Lo;0;L;;;;;N;;;;; +1889;MONGOLIAN LETTER ALI GALI KA;Lo;0;L;;;;;N;;;;; +188A;MONGOLIAN LETTER ALI GALI NGA;Lo;0;L;;;;;N;;;;; +188B;MONGOLIAN LETTER ALI GALI CA;Lo;0;L;;;;;N;;;;; +188C;MONGOLIAN LETTER ALI GALI TTA;Lo;0;L;;;;;N;;;;; +188D;MONGOLIAN LETTER ALI GALI TTHA;Lo;0;L;;;;;N;;;;; +188E;MONGOLIAN LETTER ALI GALI DDA;Lo;0;L;;;;;N;;;;; +188F;MONGOLIAN LETTER ALI GALI NNA;Lo;0;L;;;;;N;;;;; +1890;MONGOLIAN LETTER ALI GALI TA;Lo;0;L;;;;;N;;;;; +1891;MONGOLIAN LETTER ALI GALI DA;Lo;0;L;;;;;N;;;;; +1892;MONGOLIAN LETTER ALI GALI PA;Lo;0;L;;;;;N;;;;; +1893;MONGOLIAN LETTER ALI GALI PHA;Lo;0;L;;;;;N;;;;; +1894;MONGOLIAN LETTER ALI GALI SSA;Lo;0;L;;;;;N;;;;; +1895;MONGOLIAN LETTER ALI GALI ZHA;Lo;0;L;;;;;N;;;;; +1896;MONGOLIAN LETTER ALI GALI ZA;Lo;0;L;;;;;N;;;;; +1897;MONGOLIAN LETTER ALI GALI AH;Lo;0;L;;;;;N;;;;; +1898;MONGOLIAN LETTER TODO ALI GALI TA;Lo;0;L;;;;;N;;;;; +1899;MONGOLIAN LETTER TODO ALI GALI ZHA;Lo;0;L;;;;;N;;;;; +189A;MONGOLIAN LETTER MANCHU ALI GALI GHA;Lo;0;L;;;;;N;;;;; +189B;MONGOLIAN LETTER MANCHU ALI GALI NGA;Lo;0;L;;;;;N;;;;; +189C;MONGOLIAN LETTER MANCHU ALI GALI CA;Lo;0;L;;;;;N;;;;; +189D;MONGOLIAN LETTER MANCHU ALI GALI JHA;Lo;0;L;;;;;N;;;;; +189E;MONGOLIAN LETTER MANCHU ALI GALI TTA;Lo;0;L;;;;;N;;;;; +189F;MONGOLIAN LETTER MANCHU ALI GALI DDHA;Lo;0;L;;;;;N;;;;; +18A0;MONGOLIAN LETTER MANCHU ALI GALI TA;Lo;0;L;;;;;N;;;;; +18A1;MONGOLIAN LETTER MANCHU ALI GALI DHA;Lo;0;L;;;;;N;;;;; +18A2;MONGOLIAN LETTER MANCHU ALI GALI SSA;Lo;0;L;;;;;N;;;;; +18A3;MONGOLIAN LETTER MANCHU ALI GALI CYA;Lo;0;L;;;;;N;;;;; +18A4;MONGOLIAN LETTER MANCHU ALI GALI ZHA;Lo;0;L;;;;;N;;;;; +18A5;MONGOLIAN LETTER MANCHU ALI GALI ZA;Lo;0;L;;;;;N;;;;; +18A6;MONGOLIAN LETTER ALI GALI HALF U;Lo;0;L;;;;;N;;;;; +18A7;MONGOLIAN LETTER ALI GALI HALF YA;Lo;0;L;;;;;N;;;;; +18A8;MONGOLIAN LETTER MANCHU ALI GALI BHA;Lo;0;L;;;;;N;;;;; +18A9;MONGOLIAN LETTER ALI GALI DAGALGA;Mn;228;NSM;;;;;N;;;;; +18AA;MONGOLIAN LETTER MANCHU ALI GALI LHA;Lo;0;L;;;;;N;;;;; +1900;LIMBU VOWEL-CARRIER LETTER;Lo;0;L;;;;;N;;;;; +1901;LIMBU LETTER KA;Lo;0;L;;;;;N;;;;; +1902;LIMBU LETTER KHA;Lo;0;L;;;;;N;;;;; +1903;LIMBU LETTER GA;Lo;0;L;;;;;N;;;;; +1904;LIMBU LETTER GHA;Lo;0;L;;;;;N;;;;; +1905;LIMBU LETTER NGA;Lo;0;L;;;;;N;;;;; +1906;LIMBU LETTER CA;Lo;0;L;;;;;N;;;;; +1907;LIMBU LETTER CHA;Lo;0;L;;;;;N;;;;; +1908;LIMBU LETTER JA;Lo;0;L;;;;;N;;;;; +1909;LIMBU LETTER JHA;Lo;0;L;;;;;N;;;;; +190A;LIMBU LETTER YAN;Lo;0;L;;;;;N;;;;; +190B;LIMBU LETTER TA;Lo;0;L;;;;;N;;;;; +190C;LIMBU LETTER THA;Lo;0;L;;;;;N;;;;; +190D;LIMBU LETTER DA;Lo;0;L;;;;;N;;;;; +190E;LIMBU LETTER DHA;Lo;0;L;;;;;N;;;;; +190F;LIMBU LETTER NA;Lo;0;L;;;;;N;;;;; +1910;LIMBU LETTER PA;Lo;0;L;;;;;N;;;;; +1911;LIMBU LETTER PHA;Lo;0;L;;;;;N;;;;; +1912;LIMBU LETTER BA;Lo;0;L;;;;;N;;;;; +1913;LIMBU LETTER BHA;Lo;0;L;;;;;N;;;;; +1914;LIMBU LETTER MA;Lo;0;L;;;;;N;;;;; +1915;LIMBU LETTER YA;Lo;0;L;;;;;N;;;;; +1916;LIMBU LETTER RA;Lo;0;L;;;;;N;;;;; +1917;LIMBU LETTER LA;Lo;0;L;;;;;N;;;;; +1918;LIMBU LETTER WA;Lo;0;L;;;;;N;;;;; +1919;LIMBU LETTER SHA;Lo;0;L;;;;;N;;;;; +191A;LIMBU LETTER SSA;Lo;0;L;;;;;N;;;;; +191B;LIMBU LETTER SA;Lo;0;L;;;;;N;;;;; +191C;LIMBU LETTER HA;Lo;0;L;;;;;N;;;;; +1920;LIMBU VOWEL SIGN A;Mn;0;NSM;;;;;N;;;;; +1921;LIMBU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1922;LIMBU VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1923;LIMBU VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; +1924;LIMBU VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +1925;LIMBU VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +1926;LIMBU VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +1927;LIMBU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +1928;LIMBU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +1929;LIMBU SUBJOINED LETTER YA;Mc;0;L;;;;;N;;;;; +192A;LIMBU SUBJOINED LETTER RA;Mc;0;L;;;;;N;;;;; +192B;LIMBU SUBJOINED LETTER WA;Mc;0;L;;;;;N;;;;; +1930;LIMBU SMALL LETTER KA;Mc;0;L;;;;;N;;;;; +1931;LIMBU SMALL LETTER NGA;Mc;0;L;;;;;N;;;;; +1932;LIMBU SMALL LETTER ANUSVARA;Mn;0;NSM;;;;;N;;;;; +1933;LIMBU SMALL LETTER TA;Mc;0;L;;;;;N;;;;; +1934;LIMBU SMALL LETTER NA;Mc;0;L;;;;;N;;;;; +1935;LIMBU SMALL LETTER PA;Mc;0;L;;;;;N;;;;; +1936;LIMBU SMALL LETTER MA;Mc;0;L;;;;;N;;;;; +1937;LIMBU SMALL LETTER RA;Mc;0;L;;;;;N;;;;; +1938;LIMBU SMALL LETTER LA;Mc;0;L;;;;;N;;;;; +1939;LIMBU SIGN MUKPHRENG;Mn;222;NSM;;;;;N;;;;; +193A;LIMBU SIGN KEMPHRENG;Mn;230;NSM;;;;;N;;;;; +193B;LIMBU SIGN SA-I;Mn;220;NSM;;;;;N;;;;; +1940;LIMBU SIGN LOO;So;0;ON;;;;;N;;;;; +1944;LIMBU EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; +1945;LIMBU QUESTION MARK;Po;0;ON;;;;;N;;;;; +1946;LIMBU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1947;LIMBU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1948;LIMBU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1949;LIMBU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +194A;LIMBU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +194B;LIMBU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +194C;LIMBU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +194D;LIMBU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +194E;LIMBU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +194F;LIMBU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1950;TAI LE LETTER KA;Lo;0;L;;;;;N;;;;; +1951;TAI LE LETTER XA;Lo;0;L;;;;;N;;;;; +1952;TAI LE LETTER NGA;Lo;0;L;;;;;N;;;;; +1953;TAI LE LETTER TSA;Lo;0;L;;;;;N;;;;; +1954;TAI LE LETTER SA;Lo;0;L;;;;;N;;;;; +1955;TAI LE LETTER YA;Lo;0;L;;;;;N;;;;; +1956;TAI LE LETTER TA;Lo;0;L;;;;;N;;;;; +1957;TAI LE LETTER THA;Lo;0;L;;;;;N;;;;; +1958;TAI LE LETTER LA;Lo;0;L;;;;;N;;;;; +1959;TAI LE LETTER PA;Lo;0;L;;;;;N;;;;; +195A;TAI LE LETTER PHA;Lo;0;L;;;;;N;;;;; +195B;TAI LE LETTER MA;Lo;0;L;;;;;N;;;;; +195C;TAI LE LETTER FA;Lo;0;L;;;;;N;;;;; +195D;TAI LE LETTER VA;Lo;0;L;;;;;N;;;;; +195E;TAI LE LETTER HA;Lo;0;L;;;;;N;;;;; +195F;TAI LE LETTER QA;Lo;0;L;;;;;N;;;;; +1960;TAI LE LETTER KHA;Lo;0;L;;;;;N;;;;; +1961;TAI LE LETTER TSHA;Lo;0;L;;;;;N;;;;; +1962;TAI LE LETTER NA;Lo;0;L;;;;;N;;;;; +1963;TAI LE LETTER A;Lo;0;L;;;;;N;;;;; +1964;TAI LE LETTER I;Lo;0;L;;;;;N;;;;; +1965;TAI LE LETTER EE;Lo;0;L;;;;;N;;;;; +1966;TAI LE LETTER EH;Lo;0;L;;;;;N;;;;; +1967;TAI LE LETTER U;Lo;0;L;;;;;N;;;;; +1968;TAI LE LETTER OO;Lo;0;L;;;;;N;;;;; +1969;TAI LE LETTER O;Lo;0;L;;;;;N;;;;; +196A;TAI LE LETTER UE;Lo;0;L;;;;;N;;;;; +196B;TAI LE LETTER E;Lo;0;L;;;;;N;;;;; +196C;TAI LE LETTER AUE;Lo;0;L;;;;;N;;;;; +196D;TAI LE LETTER AI;Lo;0;L;;;;;N;;;;; +1970;TAI LE LETTER TONE-2;Lo;0;L;;;;;N;;;;; +1971;TAI LE LETTER TONE-3;Lo;0;L;;;;;N;;;;; +1972;TAI LE LETTER TONE-4;Lo;0;L;;;;;N;;;;; +1973;TAI LE LETTER TONE-5;Lo;0;L;;;;;N;;;;; +1974;TAI LE LETTER TONE-6;Lo;0;L;;;;;N;;;;; +1980;NEW TAI LUE LETTER HIGH QA;Lo;0;L;;;;;N;;;;; +1981;NEW TAI LUE LETTER LOW QA;Lo;0;L;;;;;N;;;;; +1982;NEW TAI LUE LETTER HIGH KA;Lo;0;L;;;;;N;;;;; +1983;NEW TAI LUE LETTER HIGH XA;Lo;0;L;;;;;N;;;;; +1984;NEW TAI LUE LETTER HIGH NGA;Lo;0;L;;;;;N;;;;; +1985;NEW TAI LUE LETTER LOW KA;Lo;0;L;;;;;N;;;;; +1986;NEW TAI LUE LETTER LOW XA;Lo;0;L;;;;;N;;;;; +1987;NEW TAI LUE LETTER LOW NGA;Lo;0;L;;;;;N;;;;; +1988;NEW TAI LUE LETTER HIGH TSA;Lo;0;L;;;;;N;;;;; +1989;NEW TAI LUE LETTER HIGH SA;Lo;0;L;;;;;N;;;;; +198A;NEW TAI LUE LETTER HIGH YA;Lo;0;L;;;;;N;;;;; +198B;NEW TAI LUE LETTER LOW TSA;Lo;0;L;;;;;N;;;;; +198C;NEW TAI LUE LETTER LOW SA;Lo;0;L;;;;;N;;;;; +198D;NEW TAI LUE LETTER LOW YA;Lo;0;L;;;;;N;;;;; +198E;NEW TAI LUE LETTER HIGH TA;Lo;0;L;;;;;N;;;;; +198F;NEW TAI LUE LETTER HIGH THA;Lo;0;L;;;;;N;;;;; +1990;NEW TAI LUE LETTER HIGH NA;Lo;0;L;;;;;N;;;;; +1991;NEW TAI LUE LETTER LOW TA;Lo;0;L;;;;;N;;;;; +1992;NEW TAI LUE LETTER LOW THA;Lo;0;L;;;;;N;;;;; +1993;NEW TAI LUE LETTER LOW NA;Lo;0;L;;;;;N;;;;; +1994;NEW TAI LUE LETTER HIGH PA;Lo;0;L;;;;;N;;;;; +1995;NEW TAI LUE LETTER HIGH PHA;Lo;0;L;;;;;N;;;;; +1996;NEW TAI LUE LETTER HIGH MA;Lo;0;L;;;;;N;;;;; +1997;NEW TAI LUE LETTER LOW PA;Lo;0;L;;;;;N;;;;; +1998;NEW TAI LUE LETTER LOW PHA;Lo;0;L;;;;;N;;;;; +1999;NEW TAI LUE LETTER LOW MA;Lo;0;L;;;;;N;;;;; +199A;NEW TAI LUE LETTER HIGH FA;Lo;0;L;;;;;N;;;;; +199B;NEW TAI LUE LETTER HIGH VA;Lo;0;L;;;;;N;;;;; +199C;NEW TAI LUE LETTER HIGH LA;Lo;0;L;;;;;N;;;;; +199D;NEW TAI LUE LETTER LOW FA;Lo;0;L;;;;;N;;;;; +199E;NEW TAI LUE LETTER LOW VA;Lo;0;L;;;;;N;;;;; +199F;NEW TAI LUE LETTER LOW LA;Lo;0;L;;;;;N;;;;; +19A0;NEW TAI LUE LETTER HIGH HA;Lo;0;L;;;;;N;;;;; +19A1;NEW TAI LUE LETTER HIGH DA;Lo;0;L;;;;;N;;;;; +19A2;NEW TAI LUE LETTER HIGH BA;Lo;0;L;;;;;N;;;;; +19A3;NEW TAI LUE LETTER LOW HA;Lo;0;L;;;;;N;;;;; +19A4;NEW TAI LUE LETTER LOW DA;Lo;0;L;;;;;N;;;;; +19A5;NEW TAI LUE LETTER LOW BA;Lo;0;L;;;;;N;;;;; +19A6;NEW TAI LUE LETTER HIGH KVA;Lo;0;L;;;;;N;;;;; +19A7;NEW TAI LUE LETTER HIGH XVA;Lo;0;L;;;;;N;;;;; +19A8;NEW TAI LUE LETTER LOW KVA;Lo;0;L;;;;;N;;;;; +19A9;NEW TAI LUE LETTER LOW XVA;Lo;0;L;;;;;N;;;;; +19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Mc;0;L;;;;;N;;;;; +19B1;NEW TAI LUE VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +19B2;NEW TAI LUE VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +19B3;NEW TAI LUE VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +19B4;NEW TAI LUE VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +19B5;NEW TAI LUE VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +19B6;NEW TAI LUE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;; +19B7;NEW TAI LUE VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +19B8;NEW TAI LUE VOWEL SIGN OA;Mc;0;L;;;;;N;;;;; +19B9;NEW TAI LUE VOWEL SIGN UE;Mc;0;L;;;;;N;;;;; +19BA;NEW TAI LUE VOWEL SIGN AY;Mc;0;L;;;;;N;;;;; +19BB;NEW TAI LUE VOWEL SIGN AAY;Mc;0;L;;;;;N;;;;; +19BC;NEW TAI LUE VOWEL SIGN UY;Mc;0;L;;;;;N;;;;; +19BD;NEW TAI LUE VOWEL SIGN OY;Mc;0;L;;;;;N;;;;; +19BE;NEW TAI LUE VOWEL SIGN OAY;Mc;0;L;;;;;N;;;;; +19BF;NEW TAI LUE VOWEL SIGN UEY;Mc;0;L;;;;;N;;;;; +19C0;NEW TAI LUE VOWEL SIGN IY;Mc;0;L;;;;;N;;;;; +19C1;NEW TAI LUE LETTER FINAL V;Lo;0;L;;;;;N;;;;; +19C2;NEW TAI LUE LETTER FINAL NG;Lo;0;L;;;;;N;;;;; +19C3;NEW TAI LUE LETTER FINAL N;Lo;0;L;;;;;N;;;;; +19C4;NEW TAI LUE LETTER FINAL M;Lo;0;L;;;;;N;;;;; +19C5;NEW TAI LUE LETTER FINAL K;Lo;0;L;;;;;N;;;;; +19C6;NEW TAI LUE LETTER FINAL D;Lo;0;L;;;;;N;;;;; +19C7;NEW TAI LUE LETTER FINAL B;Lo;0;L;;;;;N;;;;; +19C8;NEW TAI LUE TONE MARK-1;Mc;0;L;;;;;N;;;;; +19C9;NEW TAI LUE TONE MARK-2;Mc;0;L;;;;;N;;;;; +19D0;NEW TAI LUE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +19D1;NEW TAI LUE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +19D2;NEW TAI LUE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +19D3;NEW TAI LUE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +19D4;NEW TAI LUE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +19D5;NEW TAI LUE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +19D6;NEW TAI LUE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +19D7;NEW TAI LUE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +19D8;NEW TAI LUE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +19D9;NEW TAI LUE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +19DE;NEW TAI LUE SIGN LAE;Po;0;ON;;;;;N;;;;; +19DF;NEW TAI LUE SIGN LAEV;Po;0;ON;;;;;N;;;;; +19E0;KHMER SYMBOL PATHAMASAT;So;0;ON;;;;;N;;;;; +19E1;KHMER SYMBOL MUOY KOET;So;0;ON;;;;;N;;;;; +19E2;KHMER SYMBOL PII KOET;So;0;ON;;;;;N;;;;; +19E3;KHMER SYMBOL BEI KOET;So;0;ON;;;;;N;;;;; +19E4;KHMER SYMBOL BUON KOET;So;0;ON;;;;;N;;;;; +19E5;KHMER SYMBOL PRAM KOET;So;0;ON;;;;;N;;;;; +19E6;KHMER SYMBOL PRAM-MUOY KOET;So;0;ON;;;;;N;;;;; +19E7;KHMER SYMBOL PRAM-PII KOET;So;0;ON;;;;;N;;;;; +19E8;KHMER SYMBOL PRAM-BEI KOET;So;0;ON;;;;;N;;;;; +19E9;KHMER SYMBOL PRAM-BUON KOET;So;0;ON;;;;;N;;;;; +19EA;KHMER SYMBOL DAP KOET;So;0;ON;;;;;N;;;;; +19EB;KHMER SYMBOL DAP-MUOY KOET;So;0;ON;;;;;N;;;;; +19EC;KHMER SYMBOL DAP-PII KOET;So;0;ON;;;;;N;;;;; +19ED;KHMER SYMBOL DAP-BEI KOET;So;0;ON;;;;;N;;;;; +19EE;KHMER SYMBOL DAP-BUON KOET;So;0;ON;;;;;N;;;;; +19EF;KHMER SYMBOL DAP-PRAM KOET;So;0;ON;;;;;N;;;;; +19F0;KHMER SYMBOL TUTEYASAT;So;0;ON;;;;;N;;;;; +19F1;KHMER SYMBOL MUOY ROC;So;0;ON;;;;;N;;;;; +19F2;KHMER SYMBOL PII ROC;So;0;ON;;;;;N;;;;; +19F3;KHMER SYMBOL BEI ROC;So;0;ON;;;;;N;;;;; +19F4;KHMER SYMBOL BUON ROC;So;0;ON;;;;;N;;;;; +19F5;KHMER SYMBOL PRAM ROC;So;0;ON;;;;;N;;;;; +19F6;KHMER SYMBOL PRAM-MUOY ROC;So;0;ON;;;;;N;;;;; +19F7;KHMER SYMBOL PRAM-PII ROC;So;0;ON;;;;;N;;;;; +19F8;KHMER SYMBOL PRAM-BEI ROC;So;0;ON;;;;;N;;;;; +19F9;KHMER SYMBOL PRAM-BUON ROC;So;0;ON;;;;;N;;;;; +19FA;KHMER SYMBOL DAP ROC;So;0;ON;;;;;N;;;;; +19FB;KHMER SYMBOL DAP-MUOY ROC;So;0;ON;;;;;N;;;;; +19FC;KHMER SYMBOL DAP-PII ROC;So;0;ON;;;;;N;;;;; +19FD;KHMER SYMBOL DAP-BEI ROC;So;0;ON;;;;;N;;;;; +19FE;KHMER SYMBOL DAP-BUON ROC;So;0;ON;;;;;N;;;;; +19FF;KHMER SYMBOL DAP-PRAM ROC;So;0;ON;;;;;N;;;;; +1A00;BUGINESE LETTER KA;Lo;0;L;;;;;N;;;;; +1A01;BUGINESE LETTER GA;Lo;0;L;;;;;N;;;;; +1A02;BUGINESE LETTER NGA;Lo;0;L;;;;;N;;;;; +1A03;BUGINESE LETTER NGKA;Lo;0;L;;;;;N;;;;; +1A04;BUGINESE LETTER PA;Lo;0;L;;;;;N;;;;; +1A05;BUGINESE LETTER BA;Lo;0;L;;;;;N;;;;; +1A06;BUGINESE LETTER MA;Lo;0;L;;;;;N;;;;; +1A07;BUGINESE LETTER MPA;Lo;0;L;;;;;N;;;;; +1A08;BUGINESE LETTER TA;Lo;0;L;;;;;N;;;;; +1A09;BUGINESE LETTER DA;Lo;0;L;;;;;N;;;;; +1A0A;BUGINESE LETTER NA;Lo;0;L;;;;;N;;;;; +1A0B;BUGINESE LETTER NRA;Lo;0;L;;;;;N;;;;; +1A0C;BUGINESE LETTER CA;Lo;0;L;;;;;N;;;;; +1A0D;BUGINESE LETTER JA;Lo;0;L;;;;;N;;;;; +1A0E;BUGINESE LETTER NYA;Lo;0;L;;;;;N;;;;; +1A0F;BUGINESE LETTER NYCA;Lo;0;L;;;;;N;;;;; +1A10;BUGINESE LETTER YA;Lo;0;L;;;;;N;;;;; +1A11;BUGINESE LETTER RA;Lo;0;L;;;;;N;;;;; +1A12;BUGINESE LETTER LA;Lo;0;L;;;;;N;;;;; +1A13;BUGINESE LETTER VA;Lo;0;L;;;;;N;;;;; +1A14;BUGINESE LETTER SA;Lo;0;L;;;;;N;;;;; +1A15;BUGINESE LETTER A;Lo;0;L;;;;;N;;;;; +1A16;BUGINESE LETTER HA;Lo;0;L;;;;;N;;;;; +1A17;BUGINESE VOWEL SIGN I;Mn;230;NSM;;;;;N;;;;; +1A18;BUGINESE VOWEL SIGN U;Mn;220;NSM;;;;;N;;;;; +1A19;BUGINESE VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +1A1A;BUGINESE VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +1A1B;BUGINESE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;; +1A1E;BUGINESE PALLAWA;Po;0;L;;;;;N;;;;; +1A1F;BUGINESE END OF SECTION;Po;0;L;;;;;N;;;;; +1B00;BALINESE SIGN ULU RICEM;Mn;0;NSM;;;;;N;;ardhacandra;;; +1B01;BALINESE SIGN ULU CANDRA;Mn;0;NSM;;;;;N;;candrabindu;;; +1B02;BALINESE SIGN CECEK;Mn;0;NSM;;;;;N;;anusvara;;; +1B03;BALINESE SIGN SURANG;Mn;0;NSM;;;;;N;;repha;;; +1B04;BALINESE SIGN BISAH;Mc;0;L;;;;;N;;visarga;;; +1B05;BALINESE LETTER AKARA;Lo;0;L;;;;;N;;a;;; +1B06;BALINESE LETTER AKARA TEDUNG;Lo;0;L;1B05 1B35;;;;N;;aa;;; +1B07;BALINESE LETTER IKARA;Lo;0;L;;;;;N;;i;;; +1B08;BALINESE LETTER IKARA TEDUNG;Lo;0;L;1B07 1B35;;;;N;;ii;;; +1B09;BALINESE LETTER UKARA;Lo;0;L;;;;;N;;u;;; +1B0A;BALINESE LETTER UKARA TEDUNG;Lo;0;L;1B09 1B35;;;;N;;uu;;; +1B0B;BALINESE LETTER RA REPA;Lo;0;L;;;;;N;;vocalic r;;; +1B0C;BALINESE LETTER RA REPA TEDUNG;Lo;0;L;1B0B 1B35;;;;N;;vocalic rr;;; +1B0D;BALINESE LETTER LA LENGA;Lo;0;L;;;;;N;;vocalic l;;; +1B0E;BALINESE LETTER LA LENGA TEDUNG;Lo;0;L;1B0D 1B35;;;;N;;vocalic ll;;; +1B0F;BALINESE LETTER EKARA;Lo;0;L;;;;;N;;e;;; +1B10;BALINESE LETTER AIKARA;Lo;0;L;;;;;N;;ai;;; +1B11;BALINESE LETTER OKARA;Lo;0;L;;;;;N;;o;;; +1B12;BALINESE LETTER OKARA TEDUNG;Lo;0;L;1B11 1B35;;;;N;;au;;; +1B13;BALINESE LETTER KA;Lo;0;L;;;;;N;;;;; +1B14;BALINESE LETTER KA MAHAPRANA;Lo;0;L;;;;;N;;kha;;; +1B15;BALINESE LETTER GA;Lo;0;L;;;;;N;;;;; +1B16;BALINESE LETTER GA GORA;Lo;0;L;;;;;N;;gha;;; +1B17;BALINESE LETTER NGA;Lo;0;L;;;;;N;;;;; +1B18;BALINESE LETTER CA;Lo;0;L;;;;;N;;;;; +1B19;BALINESE LETTER CA LACA;Lo;0;L;;;;;N;;cha;;; +1B1A;BALINESE LETTER JA;Lo;0;L;;;;;N;;;;; +1B1B;BALINESE LETTER JA JERA;Lo;0;L;;;;;N;;jha;;; +1B1C;BALINESE LETTER NYA;Lo;0;L;;;;;N;;;;; +1B1D;BALINESE LETTER TA LATIK;Lo;0;L;;;;;N;;tta;;; +1B1E;BALINESE LETTER TA MURDA MAHAPRANA;Lo;0;L;;;;;N;;ttha;;; +1B1F;BALINESE LETTER DA MURDA ALPAPRANA;Lo;0;L;;;;;N;;dda;;; +1B20;BALINESE LETTER DA MURDA MAHAPRANA;Lo;0;L;;;;;N;;ddha;;; +1B21;BALINESE LETTER NA RAMBAT;Lo;0;L;;;;;N;;nna;;; +1B22;BALINESE LETTER TA;Lo;0;L;;;;;N;;;;; +1B23;BALINESE LETTER TA TAWA;Lo;0;L;;;;;N;;tha;;; +1B24;BALINESE LETTER DA;Lo;0;L;;;;;N;;;;; +1B25;BALINESE LETTER DA MADU;Lo;0;L;;;;;N;;dha;;; +1B26;BALINESE LETTER NA;Lo;0;L;;;;;N;;;;; +1B27;BALINESE LETTER PA;Lo;0;L;;;;;N;;;;; +1B28;BALINESE LETTER PA KAPAL;Lo;0;L;;;;;N;;pha;;; +1B29;BALINESE LETTER BA;Lo;0;L;;;;;N;;;;; +1B2A;BALINESE LETTER BA KEMBANG;Lo;0;L;;;;;N;;bha;;; +1B2B;BALINESE LETTER MA;Lo;0;L;;;;;N;;;;; +1B2C;BALINESE LETTER YA;Lo;0;L;;;;;N;;;;; +1B2D;BALINESE LETTER RA;Lo;0;L;;;;;N;;;;; +1B2E;BALINESE LETTER LA;Lo;0;L;;;;;N;;;;; +1B2F;BALINESE LETTER WA;Lo;0;L;;;;;N;;;;; +1B30;BALINESE LETTER SA SAGA;Lo;0;L;;;;;N;;sha;;; +1B31;BALINESE LETTER SA SAPA;Lo;0;L;;;;;N;;ssa;;; +1B32;BALINESE LETTER SA;Lo;0;L;;;;;N;;;;; +1B33;BALINESE LETTER HA;Lo;0;L;;;;;N;;;;; +1B34;BALINESE SIGN REREKAN;Mn;7;NSM;;;;;N;;nukta;;; +1B35;BALINESE VOWEL SIGN TEDUNG;Mc;0;L;;;;;N;;aa;;; +1B36;BALINESE VOWEL SIGN ULU;Mn;0;NSM;;;;;N;;i;;; +1B37;BALINESE VOWEL SIGN ULU SARI;Mn;0;NSM;;;;;N;;ii;;; +1B38;BALINESE VOWEL SIGN SUKU;Mn;0;NSM;;;;;N;;u;;; +1B39;BALINESE VOWEL SIGN SUKU ILUT;Mn;0;NSM;;;;;N;;uu;;; +1B3A;BALINESE VOWEL SIGN RA REPA;Mn;0;NSM;;;;;N;;vocalic r;;; +1B3B;BALINESE VOWEL SIGN RA REPA TEDUNG;Mc;0;L;1B3A 1B35;;;;N;;vocalic rr;;; +1B3C;BALINESE VOWEL SIGN LA LENGA;Mn;0;NSM;;;;;N;;vocalic l;;; +1B3D;BALINESE VOWEL SIGN LA LENGA TEDUNG;Mc;0;L;1B3C 1B35;;;;N;;vocalic ll;;; +1B3E;BALINESE VOWEL SIGN TALING;Mc;0;L;;;;;N;;e;;; +1B3F;BALINESE VOWEL SIGN TALING REPA;Mc;0;L;;;;;N;;ai;;; +1B40;BALINESE VOWEL SIGN TALING TEDUNG;Mc;0;L;1B3E 1B35;;;;N;;o;;; +1B41;BALINESE VOWEL SIGN TALING REPA TEDUNG;Mc;0;L;1B3F 1B35;;;;N;;au;;; +1B42;BALINESE VOWEL SIGN PEPET;Mn;0;NSM;;;;;N;;ae;;; +1B43;BALINESE VOWEL SIGN PEPET TEDUNG;Mc;0;L;1B42 1B35;;;;N;;oe;;; +1B44;BALINESE ADEG ADEG;Mc;9;L;;;;;N;;virama;;; +1B45;BALINESE LETTER KAF SASAK;Lo;0;L;;;;;N;;;;; +1B46;BALINESE LETTER KHOT SASAK;Lo;0;L;;;;;N;;;;; +1B47;BALINESE LETTER TZIR SASAK;Lo;0;L;;;;;N;;;;; +1B48;BALINESE LETTER EF SASAK;Lo;0;L;;;;;N;;;;; +1B49;BALINESE LETTER VE SASAK;Lo;0;L;;;;;N;;;;; +1B4A;BALINESE LETTER ZAL SASAK;Lo;0;L;;;;;N;;;;; +1B4B;BALINESE LETTER ASYURA SASAK;Lo;0;L;;;;;N;;;;; +1B50;BALINESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1B51;BALINESE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1B52;BALINESE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1B53;BALINESE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1B54;BALINESE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1B55;BALINESE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1B56;BALINESE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1B57;BALINESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1B58;BALINESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1B59;BALINESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1B5A;BALINESE PANTI;Po;0;L;;;;;N;;section;;; +1B5B;BALINESE PAMADA;Po;0;L;;;;;N;;honorific section;;; +1B5C;BALINESE WINDU;Po;0;L;;;;;N;;punctuation ring;;; +1B5D;BALINESE CARIK PAMUNGKAH;Po;0;L;;;;;N;;colon;;; +1B5E;BALINESE CARIK SIKI;Po;0;L;;;;;N;;danda;;; +1B5F;BALINESE CARIK PAREREN;Po;0;L;;;;;N;;double danda;;; +1B60;BALINESE PAMENENG;Po;0;L;;;;;N;;line-breaking hyphen;;; +1B61;BALINESE MUSICAL SYMBOL DONG;So;0;L;;;;;N;;;;; +1B62;BALINESE MUSICAL SYMBOL DENG;So;0;L;;;;;N;;;;; +1B63;BALINESE MUSICAL SYMBOL DUNG;So;0;L;;;;;N;;;;; +1B64;BALINESE MUSICAL SYMBOL DANG;So;0;L;;;;;N;;;;; +1B65;BALINESE MUSICAL SYMBOL DANG SURANG;So;0;L;;;;;N;;;;; +1B66;BALINESE MUSICAL SYMBOL DING;So;0;L;;;;;N;;;;; +1B67;BALINESE MUSICAL SYMBOL DAENG;So;0;L;;;;;N;;;;; +1B68;BALINESE MUSICAL SYMBOL DEUNG;So;0;L;;;;;N;;;;; +1B69;BALINESE MUSICAL SYMBOL DAING;So;0;L;;;;;N;;;;; +1B6A;BALINESE MUSICAL SYMBOL DANG GEDE;So;0;L;;;;;N;;;;; +1B6B;BALINESE MUSICAL SYMBOL COMBINING TEGEH;Mn;230;NSM;;;;;N;;;;; +1B6C;BALINESE MUSICAL SYMBOL COMBINING ENDEP;Mn;220;NSM;;;;;N;;;;; +1B6D;BALINESE MUSICAL SYMBOL COMBINING KEMPUL;Mn;230;NSM;;;;;N;;;;; +1B6E;BALINESE MUSICAL SYMBOL COMBINING KEMPLI;Mn;230;NSM;;;;;N;;;;; +1B6F;BALINESE MUSICAL SYMBOL COMBINING JEGOGAN;Mn;230;NSM;;;;;N;;;;; +1B70;BALINESE MUSICAL SYMBOL COMBINING KEMPUL WITH JEGOGAN;Mn;230;NSM;;;;;N;;;;; +1B71;BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN;Mn;230;NSM;;;;;N;;;;; +1B72;BALINESE MUSICAL SYMBOL COMBINING BENDE;Mn;230;NSM;;;;;N;;;;; +1B73;BALINESE MUSICAL SYMBOL COMBINING GONG;Mn;230;NSM;;;;;N;;;;; +1B74;BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG;So;0;L;;;;;N;;;;; +1B75;BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG;So;0;L;;;;;N;;;;; +1B76;BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK;So;0;L;;;;;N;;;;; +1B77;BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK;So;0;L;;;;;N;;;;; +1B78;BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG;So;0;L;;;;;N;;;;; +1B79;BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG;So;0;L;;;;;N;;;;; +1B7A;BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK;So;0;L;;;;;N;;;;; +1B7B;BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK;So;0;L;;;;;N;;;;; +1B7C;BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING;So;0;L;;;;;N;;;;; +1B80;SUNDANESE SIGN PANYECEK;Mn;0;NSM;;;;;N;;;;; +1B81;SUNDANESE SIGN PANGLAYAR;Mn;0;NSM;;;;;N;;;;; +1B82;SUNDANESE SIGN PANGWISAD;Mc;0;L;;;;;N;;;;; +1B83;SUNDANESE LETTER A;Lo;0;L;;;;;N;;;;; +1B84;SUNDANESE LETTER I;Lo;0;L;;;;;N;;;;; +1B85;SUNDANESE LETTER U;Lo;0;L;;;;;N;;;;; +1B86;SUNDANESE LETTER AE;Lo;0;L;;;;;N;;;;; +1B87;SUNDANESE LETTER O;Lo;0;L;;;;;N;;;;; +1B88;SUNDANESE LETTER E;Lo;0;L;;;;;N;;;;; +1B89;SUNDANESE LETTER EU;Lo;0;L;;;;;N;;;;; +1B8A;SUNDANESE LETTER KA;Lo;0;L;;;;;N;;;;; +1B8B;SUNDANESE LETTER QA;Lo;0;L;;;;;N;;;;; +1B8C;SUNDANESE LETTER GA;Lo;0;L;;;;;N;;;;; +1B8D;SUNDANESE LETTER NGA;Lo;0;L;;;;;N;;;;; +1B8E;SUNDANESE LETTER CA;Lo;0;L;;;;;N;;;;; +1B8F;SUNDANESE LETTER JA;Lo;0;L;;;;;N;;;;; +1B90;SUNDANESE LETTER ZA;Lo;0;L;;;;;N;;;;; +1B91;SUNDANESE LETTER NYA;Lo;0;L;;;;;N;;;;; +1B92;SUNDANESE LETTER TA;Lo;0;L;;;;;N;;;;; +1B93;SUNDANESE LETTER DA;Lo;0;L;;;;;N;;;;; +1B94;SUNDANESE LETTER NA;Lo;0;L;;;;;N;;;;; +1B95;SUNDANESE LETTER PA;Lo;0;L;;;;;N;;;;; +1B96;SUNDANESE LETTER FA;Lo;0;L;;;;;N;;;;; +1B97;SUNDANESE LETTER VA;Lo;0;L;;;;;N;;;;; +1B98;SUNDANESE LETTER BA;Lo;0;L;;;;;N;;;;; +1B99;SUNDANESE LETTER MA;Lo;0;L;;;;;N;;;;; +1B9A;SUNDANESE LETTER YA;Lo;0;L;;;;;N;;;;; +1B9B;SUNDANESE LETTER RA;Lo;0;L;;;;;N;;;;; +1B9C;SUNDANESE LETTER LA;Lo;0;L;;;;;N;;;;; +1B9D;SUNDANESE LETTER WA;Lo;0;L;;;;;N;;;;; +1B9E;SUNDANESE LETTER SA;Lo;0;L;;;;;N;;;;; +1B9F;SUNDANESE LETTER XA;Lo;0;L;;;;;N;;;;; +1BA0;SUNDANESE LETTER HA;Lo;0;L;;;;;N;;;;; +1BA1;SUNDANESE CONSONANT SIGN PAMINGKAL;Mc;0;L;;;;;N;;;;; +1BA2;SUNDANESE CONSONANT SIGN PANYAKRA;Mn;0;NSM;;;;;N;;;;; +1BA3;SUNDANESE CONSONANT SIGN PANYIKU;Mn;0;NSM;;;;;N;;;;; +1BA4;SUNDANESE VOWEL SIGN PANGHULU;Mn;0;NSM;;;;;N;;;;; +1BA5;SUNDANESE VOWEL SIGN PANYUKU;Mn;0;NSM;;;;;N;;;;; +1BA6;SUNDANESE VOWEL SIGN PANAELAENG;Mc;0;L;;;;;N;;;;; +1BA7;SUNDANESE VOWEL SIGN PANOLONG;Mc;0;L;;;;;N;;;;; +1BA8;SUNDANESE VOWEL SIGN PAMEPET;Mn;0;NSM;;;;;N;;;;; +1BA9;SUNDANESE VOWEL SIGN PANEULEUNG;Mn;0;NSM;;;;;N;;;;; +1BAA;SUNDANESE SIGN PAMAAEH;Mc;9;L;;;;;N;;;;; +1BAE;SUNDANESE LETTER KHA;Lo;0;L;;;;;N;;;;; +1BAF;SUNDANESE LETTER SYA;Lo;0;L;;;;;N;;;;; +1BB0;SUNDANESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1BB1;SUNDANESE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1BB2;SUNDANESE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1BB3;SUNDANESE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1BB4;SUNDANESE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1BB5;SUNDANESE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1BB6;SUNDANESE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1BB7;SUNDANESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1BB8;SUNDANESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1BB9;SUNDANESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1C00;LEPCHA LETTER KA;Lo;0;L;;;;;N;;;;; +1C01;LEPCHA LETTER KLA;Lo;0;L;;;;;N;;;;; +1C02;LEPCHA LETTER KHA;Lo;0;L;;;;;N;;;;; +1C03;LEPCHA LETTER GA;Lo;0;L;;;;;N;;;;; +1C04;LEPCHA LETTER GLA;Lo;0;L;;;;;N;;;;; +1C05;LEPCHA LETTER NGA;Lo;0;L;;;;;N;;;;; +1C06;LEPCHA LETTER CA;Lo;0;L;;;;;N;;;;; +1C07;LEPCHA LETTER CHA;Lo;0;L;;;;;N;;;;; +1C08;LEPCHA LETTER JA;Lo;0;L;;;;;N;;;;; +1C09;LEPCHA LETTER NYA;Lo;0;L;;;;;N;;;;; +1C0A;LEPCHA LETTER TA;Lo;0;L;;;;;N;;;;; +1C0B;LEPCHA LETTER THA;Lo;0;L;;;;;N;;;;; +1C0C;LEPCHA LETTER DA;Lo;0;L;;;;;N;;;;; +1C0D;LEPCHA LETTER NA;Lo;0;L;;;;;N;;;;; +1C0E;LEPCHA LETTER PA;Lo;0;L;;;;;N;;;;; +1C0F;LEPCHA LETTER PLA;Lo;0;L;;;;;N;;;;; +1C10;LEPCHA LETTER PHA;Lo;0;L;;;;;N;;;;; +1C11;LEPCHA LETTER FA;Lo;0;L;;;;;N;;;;; +1C12;LEPCHA LETTER FLA;Lo;0;L;;;;;N;;;;; +1C13;LEPCHA LETTER BA;Lo;0;L;;;;;N;;;;; +1C14;LEPCHA LETTER BLA;Lo;0;L;;;;;N;;;;; +1C15;LEPCHA LETTER MA;Lo;0;L;;;;;N;;;;; +1C16;LEPCHA LETTER MLA;Lo;0;L;;;;;N;;;;; +1C17;LEPCHA LETTER TSA;Lo;0;L;;;;;N;;;;; +1C18;LEPCHA LETTER TSHA;Lo;0;L;;;;;N;;;;; +1C19;LEPCHA LETTER DZA;Lo;0;L;;;;;N;;;;; +1C1A;LEPCHA LETTER YA;Lo;0;L;;;;;N;;;;; +1C1B;LEPCHA LETTER RA;Lo;0;L;;;;;N;;;;; +1C1C;LEPCHA LETTER LA;Lo;0;L;;;;;N;;;;; +1C1D;LEPCHA LETTER HA;Lo;0;L;;;;;N;;;;; +1C1E;LEPCHA LETTER HLA;Lo;0;L;;;;;N;;;;; +1C1F;LEPCHA LETTER VA;Lo;0;L;;;;;N;;;;; +1C20;LEPCHA LETTER SA;Lo;0;L;;;;;N;;;;; +1C21;LEPCHA LETTER SHA;Lo;0;L;;;;;N;;;;; +1C22;LEPCHA LETTER WA;Lo;0;L;;;;;N;;;;; +1C23;LEPCHA LETTER A;Lo;0;L;;;;;N;;;;; +1C24;LEPCHA SUBJOINED LETTER YA;Mc;0;L;;;;;N;;;;; +1C25;LEPCHA SUBJOINED LETTER RA;Mc;0;L;;;;;N;;;;; +1C26;LEPCHA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +1C27;LEPCHA VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +1C28;LEPCHA VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +1C29;LEPCHA VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +1C2A;LEPCHA VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +1C2B;LEPCHA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +1C2C;LEPCHA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +1C2D;LEPCHA CONSONANT SIGN K;Mn;0;NSM;;;;;N;;;;; +1C2E;LEPCHA CONSONANT SIGN M;Mn;0;NSM;;;;;N;;;;; +1C2F;LEPCHA CONSONANT SIGN L;Mn;0;NSM;;;;;N;;;;; +1C30;LEPCHA CONSONANT SIGN N;Mn;0;NSM;;;;;N;;;;; +1C31;LEPCHA CONSONANT SIGN P;Mn;0;NSM;;;;;N;;;;; +1C32;LEPCHA CONSONANT SIGN R;Mn;0;NSM;;;;;N;;;;; +1C33;LEPCHA CONSONANT SIGN T;Mn;0;NSM;;;;;N;;;;; +1C34;LEPCHA CONSONANT SIGN NYIN-DO;Mc;0;L;;;;;N;;;;; +1C35;LEPCHA CONSONANT SIGN KANG;Mc;0;L;;;;;N;;;;; +1C36;LEPCHA SIGN RAN;Mn;0;NSM;;;;;N;;;;; +1C37;LEPCHA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +1C3B;LEPCHA PUNCTUATION TA-ROL;Po;0;L;;;;;N;;;;; +1C3C;LEPCHA PUNCTUATION NYET THYOOM TA-ROL;Po;0;L;;;;;N;;;;; +1C3D;LEPCHA PUNCTUATION CER-WA;Po;0;L;;;;;N;;;;; +1C3E;LEPCHA PUNCTUATION TSHOOK CER-WA;Po;0;L;;;;;N;;;;; +1C3F;LEPCHA PUNCTUATION TSHOOK;Po;0;L;;;;;N;;;;; +1C40;LEPCHA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1C41;LEPCHA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1C42;LEPCHA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1C43;LEPCHA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1C44;LEPCHA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1C45;LEPCHA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1C46;LEPCHA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1C47;LEPCHA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1C48;LEPCHA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1C49;LEPCHA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1C4D;LEPCHA LETTER TTA;Lo;0;L;;;;;N;;;;; +1C4E;LEPCHA LETTER TTHA;Lo;0;L;;;;;N;;;;; +1C4F;LEPCHA LETTER DDA;Lo;0;L;;;;;N;;;;; +1C50;OL CHIKI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1C51;OL CHIKI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1C52;OL CHIKI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1C53;OL CHIKI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1C54;OL CHIKI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1C55;OL CHIKI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1C56;OL CHIKI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1C57;OL CHIKI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1C58;OL CHIKI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1C59;OL CHIKI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1C5A;OL CHIKI LETTER LA;Lo;0;L;;;;;N;;;;; +1C5B;OL CHIKI LETTER AT;Lo;0;L;;;;;N;;;;; +1C5C;OL CHIKI LETTER AG;Lo;0;L;;;;;N;;;;; +1C5D;OL CHIKI LETTER ANG;Lo;0;L;;;;;N;;;;; +1C5E;OL CHIKI LETTER AL;Lo;0;L;;;;;N;;;;; +1C5F;OL CHIKI LETTER LAA;Lo;0;L;;;;;N;;;;; +1C60;OL CHIKI LETTER AAK;Lo;0;L;;;;;N;;;;; +1C61;OL CHIKI LETTER AAJ;Lo;0;L;;;;;N;;;;; +1C62;OL CHIKI LETTER AAM;Lo;0;L;;;;;N;;;;; +1C63;OL CHIKI LETTER AAW;Lo;0;L;;;;;N;;;;; +1C64;OL CHIKI LETTER LI;Lo;0;L;;;;;N;;;;; +1C65;OL CHIKI LETTER IS;Lo;0;L;;;;;N;;;;; +1C66;OL CHIKI LETTER IH;Lo;0;L;;;;;N;;;;; +1C67;OL CHIKI LETTER INY;Lo;0;L;;;;;N;;;;; +1C68;OL CHIKI LETTER IR;Lo;0;L;;;;;N;;;;; +1C69;OL CHIKI LETTER LU;Lo;0;L;;;;;N;;;;; +1C6A;OL CHIKI LETTER UC;Lo;0;L;;;;;N;;;;; +1C6B;OL CHIKI LETTER UD;Lo;0;L;;;;;N;;;;; +1C6C;OL CHIKI LETTER UNN;Lo;0;L;;;;;N;;;;; +1C6D;OL CHIKI LETTER UY;Lo;0;L;;;;;N;;;;; +1C6E;OL CHIKI LETTER LE;Lo;0;L;;;;;N;;;;; +1C6F;OL CHIKI LETTER EP;Lo;0;L;;;;;N;;;;; +1C70;OL CHIKI LETTER EDD;Lo;0;L;;;;;N;;;;; +1C71;OL CHIKI LETTER EN;Lo;0;L;;;;;N;;;;; +1C72;OL CHIKI LETTER ERR;Lo;0;L;;;;;N;;;;; +1C73;OL CHIKI LETTER LO;Lo;0;L;;;;;N;;;;; +1C74;OL CHIKI LETTER OTT;Lo;0;L;;;;;N;;;;; +1C75;OL CHIKI LETTER OB;Lo;0;L;;;;;N;;;;; +1C76;OL CHIKI LETTER OV;Lo;0;L;;;;;N;;;;; +1C77;OL CHIKI LETTER OH;Lo;0;L;;;;;N;;;;; +1C78;OL CHIKI MU TTUDDAG;Lm;0;L;;;;;N;;;;; +1C79;OL CHIKI GAAHLAA TTUDDAAG;Lm;0;L;;;;;N;;;;; +1C7A;OL CHIKI MU-GAAHLAA TTUDDAAG;Lm;0;L;;;;;N;;;;; +1C7B;OL CHIKI RELAA;Lm;0;L;;;;;N;;;;; +1C7C;OL CHIKI PHAARKAA;Lm;0;L;;;;;N;;;;; +1C7D;OL CHIKI AHAD;Lm;0;L;;;;;N;;;;; +1C7E;OL CHIKI PUNCTUATION MUCAAD;Po;0;L;;;;;N;;;;; +1C7F;OL CHIKI PUNCTUATION DOUBLE MUCAAD;Po;0;L;;;;;N;;;;; +1D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;; +1D01;LATIN LETTER SMALL CAPITAL AE;Ll;0;L;;;;;N;;;;; +1D02;LATIN SMALL LETTER TURNED AE;Ll;0;L;;;;;N;;;;; +1D03;LATIN LETTER SMALL CAPITAL BARRED B;Ll;0;L;;;;;N;;;;; +1D04;LATIN LETTER SMALL CAPITAL C;Ll;0;L;;;;;N;;;;; +1D05;LATIN LETTER SMALL CAPITAL D;Ll;0;L;;;;;N;;;;; +1D06;LATIN LETTER SMALL CAPITAL ETH;Ll;0;L;;;;;N;;;;; +1D07;LATIN LETTER SMALL CAPITAL E;Ll;0;L;;;;;N;;;;; +1D08;LATIN SMALL LETTER TURNED OPEN E;Ll;0;L;;;;;N;;;;; +1D09;LATIN SMALL LETTER TURNED I;Ll;0;L;;;;;N;;;;; +1D0A;LATIN LETTER SMALL CAPITAL J;Ll;0;L;;;;;N;;;;; +1D0B;LATIN LETTER SMALL CAPITAL K;Ll;0;L;;;;;N;;;;; +1D0C;LATIN LETTER SMALL CAPITAL L WITH STROKE;Ll;0;L;;;;;N;;;;; +1D0D;LATIN LETTER SMALL CAPITAL M;Ll;0;L;;;;;N;;;;; +1D0E;LATIN LETTER SMALL CAPITAL REVERSED N;Ll;0;L;;;;;N;;;;; +1D0F;LATIN LETTER SMALL CAPITAL O;Ll;0;L;;;;;N;;;;; +1D10;LATIN LETTER SMALL CAPITAL OPEN O;Ll;0;L;;;;;N;;;;; +1D11;LATIN SMALL LETTER SIDEWAYS O;Ll;0;L;;;;;N;;;;; +1D12;LATIN SMALL LETTER SIDEWAYS OPEN O;Ll;0;L;;;;;N;;;;; +1D13;LATIN SMALL LETTER SIDEWAYS O WITH STROKE;Ll;0;L;;;;;N;;;;; +1D14;LATIN SMALL LETTER TURNED OE;Ll;0;L;;;;;N;;;;; +1D15;LATIN LETTER SMALL CAPITAL OU;Ll;0;L;;;;;N;;;;; +1D16;LATIN SMALL LETTER TOP HALF O;Ll;0;L;;;;;N;;;;; +1D17;LATIN SMALL LETTER BOTTOM HALF O;Ll;0;L;;;;;N;;;;; +1D18;LATIN LETTER SMALL CAPITAL P;Ll;0;L;;;;;N;;;;; +1D19;LATIN LETTER SMALL CAPITAL REVERSED R;Ll;0;L;;;;;N;;;;; +1D1A;LATIN LETTER SMALL CAPITAL TURNED R;Ll;0;L;;;;;N;;;;; +1D1B;LATIN LETTER SMALL CAPITAL T;Ll;0;L;;;;;N;;;;; +1D1C;LATIN LETTER SMALL CAPITAL U;Ll;0;L;;;;;N;;;;; +1D1D;LATIN SMALL LETTER SIDEWAYS U;Ll;0;L;;;;;N;;;;; +1D1E;LATIN SMALL LETTER SIDEWAYS DIAERESIZED U;Ll;0;L;;;;;N;;;;; +1D1F;LATIN SMALL LETTER SIDEWAYS TURNED M;Ll;0;L;;;;;N;;;;; +1D20;LATIN LETTER SMALL CAPITAL V;Ll;0;L;;;;;N;;;;; +1D21;LATIN LETTER SMALL CAPITAL W;Ll;0;L;;;;;N;;;;; +1D22;LATIN LETTER SMALL CAPITAL Z;Ll;0;L;;;;;N;;;;; +1D23;LATIN LETTER SMALL CAPITAL EZH;Ll;0;L;;;;;N;;;;; +1D24;LATIN LETTER VOICED LARYNGEAL SPIRANT;Ll;0;L;;;;;N;;;;; +1D25;LATIN LETTER AIN;Ll;0;L;;;;;N;;;;; +1D26;GREEK LETTER SMALL CAPITAL GAMMA;Ll;0;L;;;;;N;;;;; +1D27;GREEK LETTER SMALL CAPITAL LAMDA;Ll;0;L;;;;;N;;;;; +1D28;GREEK LETTER SMALL CAPITAL PI;Ll;0;L;;;;;N;;;;; +1D29;GREEK LETTER SMALL CAPITAL RHO;Ll;0;L;;;;;N;;;;; +1D2A;GREEK LETTER SMALL CAPITAL PSI;Ll;0;L;;;;;N;;;;; +1D2B;CYRILLIC LETTER SMALL CAPITAL EL;Ll;0;L;;;;;N;;;;; +1D2C;MODIFIER LETTER CAPITAL A;Lm;0;L; 0041;;;;N;;;;; +1D2D;MODIFIER LETTER CAPITAL AE;Lm;0;L; 00C6;;;;N;;;;; +1D2E;MODIFIER LETTER CAPITAL B;Lm;0;L; 0042;;;;N;;;;; +1D2F;MODIFIER LETTER CAPITAL BARRED B;Lm;0;L;;;;;N;;;;; +1D30;MODIFIER LETTER CAPITAL D;Lm;0;L; 0044;;;;N;;;;; +1D31;MODIFIER LETTER CAPITAL E;Lm;0;L; 0045;;;;N;;;;; +1D32;MODIFIER LETTER CAPITAL REVERSED E;Lm;0;L; 018E;;;;N;;;;; +1D33;MODIFIER LETTER CAPITAL G;Lm;0;L; 0047;;;;N;;;;; +1D34;MODIFIER LETTER CAPITAL H;Lm;0;L; 0048;;;;N;;;;; +1D35;MODIFIER LETTER CAPITAL I;Lm;0;L; 0049;;;;N;;;;; +1D36;MODIFIER LETTER CAPITAL J;Lm;0;L; 004A;;;;N;;;;; +1D37;MODIFIER LETTER CAPITAL K;Lm;0;L; 004B;;;;N;;;;; +1D38;MODIFIER LETTER CAPITAL L;Lm;0;L; 004C;;;;N;;;;; +1D39;MODIFIER LETTER CAPITAL M;Lm;0;L; 004D;;;;N;;;;; +1D3A;MODIFIER LETTER CAPITAL N;Lm;0;L; 004E;;;;N;;;;; +1D3B;MODIFIER LETTER CAPITAL REVERSED N;Lm;0;L;;;;;N;;;;; +1D3C;MODIFIER LETTER CAPITAL O;Lm;0;L; 004F;;;;N;;;;; +1D3D;MODIFIER LETTER CAPITAL OU;Lm;0;L; 0222;;;;N;;;;; +1D3E;MODIFIER LETTER CAPITAL P;Lm;0;L; 0050;;;;N;;;;; +1D3F;MODIFIER LETTER CAPITAL R;Lm;0;L; 0052;;;;N;;;;; +1D40;MODIFIER LETTER CAPITAL T;Lm;0;L; 0054;;;;N;;;;; +1D41;MODIFIER LETTER CAPITAL U;Lm;0;L; 0055;;;;N;;;;; +1D42;MODIFIER LETTER CAPITAL W;Lm;0;L; 0057;;;;N;;;;; +1D43;MODIFIER LETTER SMALL A;Lm;0;L; 0061;;;;N;;;;; +1D44;MODIFIER LETTER SMALL TURNED A;Lm;0;L; 0250;;;;N;;;;; +1D45;MODIFIER LETTER SMALL ALPHA;Lm;0;L; 0251;;;;N;;;;; +1D46;MODIFIER LETTER SMALL TURNED AE;Lm;0;L; 1D02;;;;N;;;;; +1D47;MODIFIER LETTER SMALL B;Lm;0;L; 0062;;;;N;;;;; +1D48;MODIFIER LETTER SMALL D;Lm;0;L; 0064;;;;N;;;;; +1D49;MODIFIER LETTER SMALL E;Lm;0;L; 0065;;;;N;;;;; +1D4A;MODIFIER LETTER SMALL SCHWA;Lm;0;L; 0259;;;;N;;;;; +1D4B;MODIFIER LETTER SMALL OPEN E;Lm;0;L; 025B;;;;N;;;;; +1D4C;MODIFIER LETTER SMALL TURNED OPEN E;Lm;0;L; 025C;;;;N;;;;; +1D4D;MODIFIER LETTER SMALL G;Lm;0;L; 0067;;;;N;;;;; +1D4E;MODIFIER LETTER SMALL TURNED I;Lm;0;L;;;;;N;;;;; +1D4F;MODIFIER LETTER SMALL K;Lm;0;L; 006B;;;;N;;;;; +1D50;MODIFIER LETTER SMALL M;Lm;0;L; 006D;;;;N;;;;; +1D51;MODIFIER LETTER SMALL ENG;Lm;0;L; 014B;;;;N;;;;; +1D52;MODIFIER LETTER SMALL O;Lm;0;L; 006F;;;;N;;;;; +1D53;MODIFIER LETTER SMALL OPEN O;Lm;0;L; 0254;;;;N;;;;; +1D54;MODIFIER LETTER SMALL TOP HALF O;Lm;0;L; 1D16;;;;N;;;;; +1D55;MODIFIER LETTER SMALL BOTTOM HALF O;Lm;0;L; 1D17;;;;N;;;;; +1D56;MODIFIER LETTER SMALL P;Lm;0;L; 0070;;;;N;;;;; +1D57;MODIFIER LETTER SMALL T;Lm;0;L; 0074;;;;N;;;;; +1D58;MODIFIER LETTER SMALL U;Lm;0;L; 0075;;;;N;;;;; +1D59;MODIFIER LETTER SMALL SIDEWAYS U;Lm;0;L; 1D1D;;;;N;;;;; +1D5A;MODIFIER LETTER SMALL TURNED M;Lm;0;L; 026F;;;;N;;;;; +1D5B;MODIFIER LETTER SMALL V;Lm;0;L; 0076;;;;N;;;;; +1D5C;MODIFIER LETTER SMALL AIN;Lm;0;L; 1D25;;;;N;;;;; +1D5D;MODIFIER LETTER SMALL BETA;Lm;0;L; 03B2;;;;N;;;;; +1D5E;MODIFIER LETTER SMALL GREEK GAMMA;Lm;0;L; 03B3;;;;N;;;;; +1D5F;MODIFIER LETTER SMALL DELTA;Lm;0;L; 03B4;;;;N;;;;; +1D60;MODIFIER LETTER SMALL GREEK PHI;Lm;0;L; 03C6;;;;N;;;;; +1D61;MODIFIER LETTER SMALL CHI;Lm;0;L; 03C7;;;;N;;;;; +1D62;LATIN SUBSCRIPT SMALL LETTER I;Ll;0;L; 0069;;;;N;;;;; +1D63;LATIN SUBSCRIPT SMALL LETTER R;Ll;0;L; 0072;;;;N;;;;; +1D64;LATIN SUBSCRIPT SMALL LETTER U;Ll;0;L; 0075;;;;N;;;;; +1D65;LATIN SUBSCRIPT SMALL LETTER V;Ll;0;L; 0076;;;;N;;;;; +1D66;GREEK SUBSCRIPT SMALL LETTER BETA;Ll;0;L; 03B2;;;;N;;;;; +1D67;GREEK SUBSCRIPT SMALL LETTER GAMMA;Ll;0;L; 03B3;;;;N;;;;; +1D68;GREEK SUBSCRIPT SMALL LETTER RHO;Ll;0;L; 03C1;;;;N;;;;; +1D69;GREEK SUBSCRIPT SMALL LETTER PHI;Ll;0;L; 03C6;;;;N;;;;; +1D6A;GREEK SUBSCRIPT SMALL LETTER CHI;Ll;0;L; 03C7;;;;N;;;;; +1D6B;LATIN SMALL LETTER UE;Ll;0;L;;;;;N;;;;; +1D6C;LATIN SMALL LETTER B WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D6D;LATIN SMALL LETTER D WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D6E;LATIN SMALL LETTER F WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D6F;LATIN SMALL LETTER M WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D70;LATIN SMALL LETTER N WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D71;LATIN SMALL LETTER P WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D72;LATIN SMALL LETTER R WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D73;LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D74;LATIN SMALL LETTER S WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D75;LATIN SMALL LETTER T WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D76;LATIN SMALL LETTER Z WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D77;LATIN SMALL LETTER TURNED G;Ll;0;L;;;;;N;;;;; +1D78;MODIFIER LETTER CYRILLIC EN;Lm;0;L; 043D;;;;N;;;;; +1D79;LATIN SMALL LETTER INSULAR G;Ll;0;L;;;;;N;;;A77D;;A77D +1D7A;LATIN SMALL LETTER TH WITH STRIKETHROUGH;Ll;0;L;;;;;N;;;;; +1D7B;LATIN SMALL CAPITAL LETTER I WITH STROKE;Ll;0;L;;;;;N;;;;; +1D7C;LATIN SMALL LETTER IOTA WITH STROKE;Ll;0;L;;;;;N;;;;; +1D7D;LATIN SMALL LETTER P WITH STROKE;Ll;0;L;;;;;N;;;2C63;;2C63 +1D7E;LATIN SMALL CAPITAL LETTER U WITH STROKE;Ll;0;L;;;;;N;;;;; +1D7F;LATIN SMALL LETTER UPSILON WITH STROKE;Ll;0;L;;;;;N;;;;; +1D80;LATIN SMALL LETTER B WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D81;LATIN SMALL LETTER D WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D82;LATIN SMALL LETTER F WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D83;LATIN SMALL LETTER G WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D84;LATIN SMALL LETTER K WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D85;LATIN SMALL LETTER L WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D86;LATIN SMALL LETTER M WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D87;LATIN SMALL LETTER N WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D88;LATIN SMALL LETTER P WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D89;LATIN SMALL LETTER R WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D8A;LATIN SMALL LETTER S WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D8B;LATIN SMALL LETTER ESH WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D8C;LATIN SMALL LETTER V WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D8D;LATIN SMALL LETTER X WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D8E;LATIN SMALL LETTER Z WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D8F;LATIN SMALL LETTER A WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D90;LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D91;LATIN SMALL LETTER D WITH HOOK AND TAIL;Ll;0;L;;;;;N;;;;; +1D92;LATIN SMALL LETTER E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D93;LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D94;LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D95;LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D96;LATIN SMALL LETTER I WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D97;LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D98;LATIN SMALL LETTER ESH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D99;LATIN SMALL LETTER U WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D9A;LATIN SMALL LETTER EZH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D9B;MODIFIER LETTER SMALL TURNED ALPHA;Lm;0;L; 0252;;;;N;;;;; +1D9C;MODIFIER LETTER SMALL C;Lm;0;L; 0063;;;;N;;;;; +1D9D;MODIFIER LETTER SMALL C WITH CURL;Lm;0;L; 0255;;;;N;;;;; +1D9E;MODIFIER LETTER SMALL ETH;Lm;0;L; 00F0;;;;N;;;;; +1D9F;MODIFIER LETTER SMALL REVERSED OPEN E;Lm;0;L; 025C;;;;N;;;;; +1DA0;MODIFIER LETTER SMALL F;Lm;0;L; 0066;;;;N;;;;; +1DA1;MODIFIER LETTER SMALL DOTLESS J WITH STROKE;Lm;0;L; 025F;;;;N;;;;; +1DA2;MODIFIER LETTER SMALL SCRIPT G;Lm;0;L; 0261;;;;N;;;;; +1DA3;MODIFIER LETTER SMALL TURNED H;Lm;0;L; 0265;;;;N;;;;; +1DA4;MODIFIER LETTER SMALL I WITH STROKE;Lm;0;L; 0268;;;;N;;;;; +1DA5;MODIFIER LETTER SMALL IOTA;Lm;0;L; 0269;;;;N;;;;; +1DA6;MODIFIER LETTER SMALL CAPITAL I;Lm;0;L; 026A;;;;N;;;;; +1DA7;MODIFIER LETTER SMALL CAPITAL I WITH STROKE;Lm;0;L; 1D7B;;;;N;;;;; +1DA8;MODIFIER LETTER SMALL J WITH CROSSED-TAIL;Lm;0;L; 029D;;;;N;;;;; +1DA9;MODIFIER LETTER SMALL L WITH RETROFLEX HOOK;Lm;0;L; 026D;;;;N;;;;; +1DAA;MODIFIER LETTER SMALL L WITH PALATAL HOOK;Lm;0;L; 1D85;;;;N;;;;; +1DAB;MODIFIER LETTER SMALL CAPITAL L;Lm;0;L; 029F;;;;N;;;;; +1DAC;MODIFIER LETTER SMALL M WITH HOOK;Lm;0;L; 0271;;;;N;;;;; +1DAD;MODIFIER LETTER SMALL TURNED M WITH LONG LEG;Lm;0;L; 0270;;;;N;;;;; +1DAE;MODIFIER LETTER SMALL N WITH LEFT HOOK;Lm;0;L; 0272;;;;N;;;;; +1DAF;MODIFIER LETTER SMALL N WITH RETROFLEX HOOK;Lm;0;L; 0273;;;;N;;;;; +1DB0;MODIFIER LETTER SMALL CAPITAL N;Lm;0;L; 0274;;;;N;;;;; +1DB1;MODIFIER LETTER SMALL BARRED O;Lm;0;L; 0275;;;;N;;;;; +1DB2;MODIFIER LETTER SMALL PHI;Lm;0;L; 0278;;;;N;;;;; +1DB3;MODIFIER LETTER SMALL S WITH HOOK;Lm;0;L; 0282;;;;N;;;;; +1DB4;MODIFIER LETTER SMALL ESH;Lm;0;L; 0283;;;;N;;;;; +1DB5;MODIFIER LETTER SMALL T WITH PALATAL HOOK;Lm;0;L; 01AB;;;;N;;;;; +1DB6;MODIFIER LETTER SMALL U BAR;Lm;0;L; 0289;;;;N;;;;; +1DB7;MODIFIER LETTER SMALL UPSILON;Lm;0;L; 028A;;;;N;;;;; +1DB8;MODIFIER LETTER SMALL CAPITAL U;Lm;0;L; 1D1C;;;;N;;;;; +1DB9;MODIFIER LETTER SMALL V WITH HOOK;Lm;0;L; 028B;;;;N;;;;; +1DBA;MODIFIER LETTER SMALL TURNED V;Lm;0;L; 028C;;;;N;;;;; +1DBB;MODIFIER LETTER SMALL Z;Lm;0;L; 007A;;;;N;;;;; +1DBC;MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK;Lm;0;L; 0290;;;;N;;;;; +1DBD;MODIFIER LETTER SMALL Z WITH CURL;Lm;0;L; 0291;;;;N;;;;; +1DBE;MODIFIER LETTER SMALL EZH;Lm;0;L; 0292;;;;N;;;;; +1DBF;MODIFIER LETTER SMALL THETA;Lm;0;L; 03B8;;;;N;;;;; +1DC0;COMBINING DOTTED GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;; +1DC1;COMBINING DOTTED ACUTE ACCENT;Mn;230;NSM;;;;;N;;;;; +1DC2;COMBINING SNAKE BELOW;Mn;220;NSM;;;;;N;;;;; +1DC3;COMBINING SUSPENSION MARK;Mn;230;NSM;;;;;N;;;;; +1DC4;COMBINING MACRON-ACUTE;Mn;230;NSM;;;;;N;;;;; +1DC5;COMBINING GRAVE-MACRON;Mn;230;NSM;;;;;N;;;;; +1DC6;COMBINING MACRON-GRAVE;Mn;230;NSM;;;;;N;;;;; +1DC7;COMBINING ACUTE-MACRON;Mn;230;NSM;;;;;N;;;;; +1DC8;COMBINING GRAVE-ACUTE-GRAVE;Mn;230;NSM;;;;;N;;;;; +1DC9;COMBINING ACUTE-GRAVE-ACUTE;Mn;230;NSM;;;;;N;;;;; +1DCA;COMBINING LATIN SMALL LETTER R BELOW;Mn;220;NSM;;;;;N;;;;; +1DCB;COMBINING BREVE-MACRON;Mn;230;NSM;;;;;N;;;;; +1DCC;COMBINING MACRON-BREVE;Mn;230;NSM;;;;;N;;;;; +1DCD;COMBINING DOUBLE CIRCUMFLEX ABOVE;Mn;234;NSM;;;;;N;;;;; +1DCE;COMBINING OGONEK ABOVE;Mn;214;NSM;;;;;N;;;;; +1DCF;COMBINING ZIGZAG BELOW;Mn;220;NSM;;;;;N;;;;; +1DD0;COMBINING IS BELOW;Mn;202;NSM;;;;;N;;;;; +1DD1;COMBINING UR ABOVE;Mn;230;NSM;;;;;N;;;;; +1DD2;COMBINING US ABOVE;Mn;230;NSM;;;;;N;;;;; +1DD3;COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE;Mn;230;NSM;;;;;N;;;;; +1DD4;COMBINING LATIN SMALL LETTER AE;Mn;230;NSM;;;;;N;;;;; +1DD5;COMBINING LATIN SMALL LETTER AO;Mn;230;NSM;;;;;N;;;;; +1DD6;COMBINING LATIN SMALL LETTER AV;Mn;230;NSM;;;;;N;;;;; +1DD7;COMBINING LATIN SMALL LETTER C CEDILLA;Mn;230;NSM;;;;;N;;;;; +1DD8;COMBINING LATIN SMALL LETTER INSULAR D;Mn;230;NSM;;;;;N;;;;; +1DD9;COMBINING LATIN SMALL LETTER ETH;Mn;230;NSM;;;;;N;;;;; +1DDA;COMBINING LATIN SMALL LETTER G;Mn;230;NSM;;;;;N;;;;; +1DDB;COMBINING LATIN LETTER SMALL CAPITAL G;Mn;230;NSM;;;;;N;;;;; +1DDC;COMBINING LATIN SMALL LETTER K;Mn;230;NSM;;;;;N;;;;; +1DDD;COMBINING LATIN SMALL LETTER L;Mn;230;NSM;;;;;N;;;;; +1DDE;COMBINING LATIN LETTER SMALL CAPITAL L;Mn;230;NSM;;;;;N;;;;; +1DDF;COMBINING LATIN LETTER SMALL CAPITAL M;Mn;230;NSM;;;;;N;;;;; +1DE0;COMBINING LATIN SMALL LETTER N;Mn;230;NSM;;;;;N;;;;; +1DE1;COMBINING LATIN LETTER SMALL CAPITAL N;Mn;230;NSM;;;;;N;;;;; +1DE2;COMBINING LATIN LETTER SMALL CAPITAL R;Mn;230;NSM;;;;;N;;;;; +1DE3;COMBINING LATIN SMALL LETTER R ROTUNDA;Mn;230;NSM;;;;;N;;;;; +1DE4;COMBINING LATIN SMALL LETTER S;Mn;230;NSM;;;;;N;;;;; +1DE5;COMBINING LATIN SMALL LETTER LONG S;Mn;230;NSM;;;;;N;;;;; +1DE6;COMBINING LATIN SMALL LETTER Z;Mn;230;NSM;;;;;N;;;;; +1DFE;COMBINING LEFT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;; +1DFF;COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; +1E00;LATIN CAPITAL LETTER A WITH RING BELOW;Lu;0;L;0041 0325;;;;N;;;;1E01; +1E01;LATIN SMALL LETTER A WITH RING BELOW;Ll;0;L;0061 0325;;;;N;;;1E00;;1E00 +1E02;LATIN CAPITAL LETTER B WITH DOT ABOVE;Lu;0;L;0042 0307;;;;N;;;;1E03; +1E03;LATIN SMALL LETTER B WITH DOT ABOVE;Ll;0;L;0062 0307;;;;N;;;1E02;;1E02 +1E04;LATIN CAPITAL LETTER B WITH DOT BELOW;Lu;0;L;0042 0323;;;;N;;;;1E05; +1E05;LATIN SMALL LETTER B WITH DOT BELOW;Ll;0;L;0062 0323;;;;N;;;1E04;;1E04 +1E06;LATIN CAPITAL LETTER B WITH LINE BELOW;Lu;0;L;0042 0331;;;;N;;;;1E07; +1E07;LATIN SMALL LETTER B WITH LINE BELOW;Ll;0;L;0062 0331;;;;N;;;1E06;;1E06 +1E08;LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE;Lu;0;L;00C7 0301;;;;N;;;;1E09; +1E09;LATIN SMALL LETTER C WITH CEDILLA AND ACUTE;Ll;0;L;00E7 0301;;;;N;;;1E08;;1E08 +1E0A;LATIN CAPITAL LETTER D WITH DOT ABOVE;Lu;0;L;0044 0307;;;;N;;;;1E0B; +1E0B;LATIN SMALL LETTER D WITH DOT ABOVE;Ll;0;L;0064 0307;;;;N;;;1E0A;;1E0A +1E0C;LATIN CAPITAL LETTER D WITH DOT BELOW;Lu;0;L;0044 0323;;;;N;;;;1E0D; +1E0D;LATIN SMALL LETTER D WITH DOT BELOW;Ll;0;L;0064 0323;;;;N;;;1E0C;;1E0C +1E0E;LATIN CAPITAL LETTER D WITH LINE BELOW;Lu;0;L;0044 0331;;;;N;;;;1E0F; +1E0F;LATIN SMALL LETTER D WITH LINE BELOW;Ll;0;L;0064 0331;;;;N;;;1E0E;;1E0E +1E10;LATIN CAPITAL LETTER D WITH CEDILLA;Lu;0;L;0044 0327;;;;N;;;;1E11; +1E11;LATIN SMALL LETTER D WITH CEDILLA;Ll;0;L;0064 0327;;;;N;;;1E10;;1E10 +1E12;LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW;Lu;0;L;0044 032D;;;;N;;;;1E13; +1E13;LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW;Ll;0;L;0064 032D;;;;N;;;1E12;;1E12 +1E14;LATIN CAPITAL LETTER E WITH MACRON AND GRAVE;Lu;0;L;0112 0300;;;;N;;;;1E15; +1E15;LATIN SMALL LETTER E WITH MACRON AND GRAVE;Ll;0;L;0113 0300;;;;N;;;1E14;;1E14 +1E16;LATIN CAPITAL LETTER E WITH MACRON AND ACUTE;Lu;0;L;0112 0301;;;;N;;;;1E17; +1E17;LATIN SMALL LETTER E WITH MACRON AND ACUTE;Ll;0;L;0113 0301;;;;N;;;1E16;;1E16 +1E18;LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW;Lu;0;L;0045 032D;;;;N;;;;1E19; +1E19;LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW;Ll;0;L;0065 032D;;;;N;;;1E18;;1E18 +1E1A;LATIN CAPITAL LETTER E WITH TILDE BELOW;Lu;0;L;0045 0330;;;;N;;;;1E1B; +1E1B;LATIN SMALL LETTER E WITH TILDE BELOW;Ll;0;L;0065 0330;;;;N;;;1E1A;;1E1A +1E1C;LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE;Lu;0;L;0228 0306;;;;N;;;;1E1D; +1E1D;LATIN SMALL LETTER E WITH CEDILLA AND BREVE;Ll;0;L;0229 0306;;;;N;;;1E1C;;1E1C +1E1E;LATIN CAPITAL LETTER F WITH DOT ABOVE;Lu;0;L;0046 0307;;;;N;;;;1E1F; +1E1F;LATIN SMALL LETTER F WITH DOT ABOVE;Ll;0;L;0066 0307;;;;N;;;1E1E;;1E1E +1E20;LATIN CAPITAL LETTER G WITH MACRON;Lu;0;L;0047 0304;;;;N;;;;1E21; +1E21;LATIN SMALL LETTER G WITH MACRON;Ll;0;L;0067 0304;;;;N;;;1E20;;1E20 +1E22;LATIN CAPITAL LETTER H WITH DOT ABOVE;Lu;0;L;0048 0307;;;;N;;;;1E23; +1E23;LATIN SMALL LETTER H WITH DOT ABOVE;Ll;0;L;0068 0307;;;;N;;;1E22;;1E22 +1E24;LATIN CAPITAL LETTER H WITH DOT BELOW;Lu;0;L;0048 0323;;;;N;;;;1E25; +1E25;LATIN SMALL LETTER H WITH DOT BELOW;Ll;0;L;0068 0323;;;;N;;;1E24;;1E24 +1E26;LATIN CAPITAL LETTER H WITH DIAERESIS;Lu;0;L;0048 0308;;;;N;;;;1E27; +1E27;LATIN SMALL LETTER H WITH DIAERESIS;Ll;0;L;0068 0308;;;;N;;;1E26;;1E26 +1E28;LATIN CAPITAL LETTER H WITH CEDILLA;Lu;0;L;0048 0327;;;;N;;;;1E29; +1E29;LATIN SMALL LETTER H WITH CEDILLA;Ll;0;L;0068 0327;;;;N;;;1E28;;1E28 +1E2A;LATIN CAPITAL LETTER H WITH BREVE BELOW;Lu;0;L;0048 032E;;;;N;;;;1E2B; +1E2B;LATIN SMALL LETTER H WITH BREVE BELOW;Ll;0;L;0068 032E;;;;N;;;1E2A;;1E2A +1E2C;LATIN CAPITAL LETTER I WITH TILDE BELOW;Lu;0;L;0049 0330;;;;N;;;;1E2D; +1E2D;LATIN SMALL LETTER I WITH TILDE BELOW;Ll;0;L;0069 0330;;;;N;;;1E2C;;1E2C +1E2E;LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE;Lu;0;L;00CF 0301;;;;N;;;;1E2F; +1E2F;LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE;Ll;0;L;00EF 0301;;;;N;;;1E2E;;1E2E +1E30;LATIN CAPITAL LETTER K WITH ACUTE;Lu;0;L;004B 0301;;;;N;;;;1E31; +1E31;LATIN SMALL LETTER K WITH ACUTE;Ll;0;L;006B 0301;;;;N;;;1E30;;1E30 +1E32;LATIN CAPITAL LETTER K WITH DOT BELOW;Lu;0;L;004B 0323;;;;N;;;;1E33; +1E33;LATIN SMALL LETTER K WITH DOT BELOW;Ll;0;L;006B 0323;;;;N;;;1E32;;1E32 +1E34;LATIN CAPITAL LETTER K WITH LINE BELOW;Lu;0;L;004B 0331;;;;N;;;;1E35; +1E35;LATIN SMALL LETTER K WITH LINE BELOW;Ll;0;L;006B 0331;;;;N;;;1E34;;1E34 +1E36;LATIN CAPITAL LETTER L WITH DOT BELOW;Lu;0;L;004C 0323;;;;N;;;;1E37; +1E37;LATIN SMALL LETTER L WITH DOT BELOW;Ll;0;L;006C 0323;;;;N;;;1E36;;1E36 +1E38;LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON;Lu;0;L;1E36 0304;;;;N;;;;1E39; +1E39;LATIN SMALL LETTER L WITH DOT BELOW AND MACRON;Ll;0;L;1E37 0304;;;;N;;;1E38;;1E38 +1E3A;LATIN CAPITAL LETTER L WITH LINE BELOW;Lu;0;L;004C 0331;;;;N;;;;1E3B; +1E3B;LATIN SMALL LETTER L WITH LINE BELOW;Ll;0;L;006C 0331;;;;N;;;1E3A;;1E3A +1E3C;LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW;Lu;0;L;004C 032D;;;;N;;;;1E3D; +1E3D;LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW;Ll;0;L;006C 032D;;;;N;;;1E3C;;1E3C +1E3E;LATIN CAPITAL LETTER M WITH ACUTE;Lu;0;L;004D 0301;;;;N;;;;1E3F; +1E3F;LATIN SMALL LETTER M WITH ACUTE;Ll;0;L;006D 0301;;;;N;;;1E3E;;1E3E +1E40;LATIN CAPITAL LETTER M WITH DOT ABOVE;Lu;0;L;004D 0307;;;;N;;;;1E41; +1E41;LATIN SMALL LETTER M WITH DOT ABOVE;Ll;0;L;006D 0307;;;;N;;;1E40;;1E40 +1E42;LATIN CAPITAL LETTER M WITH DOT BELOW;Lu;0;L;004D 0323;;;;N;;;;1E43; +1E43;LATIN SMALL LETTER M WITH DOT BELOW;Ll;0;L;006D 0323;;;;N;;;1E42;;1E42 +1E44;LATIN CAPITAL LETTER N WITH DOT ABOVE;Lu;0;L;004E 0307;;;;N;;;;1E45; +1E45;LATIN SMALL LETTER N WITH DOT ABOVE;Ll;0;L;006E 0307;;;;N;;;1E44;;1E44 +1E46;LATIN CAPITAL LETTER N WITH DOT BELOW;Lu;0;L;004E 0323;;;;N;;;;1E47; +1E47;LATIN SMALL LETTER N WITH DOT BELOW;Ll;0;L;006E 0323;;;;N;;;1E46;;1E46 +1E48;LATIN CAPITAL LETTER N WITH LINE BELOW;Lu;0;L;004E 0331;;;;N;;;;1E49; +1E49;LATIN SMALL LETTER N WITH LINE BELOW;Ll;0;L;006E 0331;;;;N;;;1E48;;1E48 +1E4A;LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW;Lu;0;L;004E 032D;;;;N;;;;1E4B; +1E4B;LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW;Ll;0;L;006E 032D;;;;N;;;1E4A;;1E4A +1E4C;LATIN CAPITAL LETTER O WITH TILDE AND ACUTE;Lu;0;L;00D5 0301;;;;N;;;;1E4D; +1E4D;LATIN SMALL LETTER O WITH TILDE AND ACUTE;Ll;0;L;00F5 0301;;;;N;;;1E4C;;1E4C +1E4E;LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS;Lu;0;L;00D5 0308;;;;N;;;;1E4F; +1E4F;LATIN SMALL LETTER O WITH TILDE AND DIAERESIS;Ll;0;L;00F5 0308;;;;N;;;1E4E;;1E4E +1E50;LATIN CAPITAL LETTER O WITH MACRON AND GRAVE;Lu;0;L;014C 0300;;;;N;;;;1E51; +1E51;LATIN SMALL LETTER O WITH MACRON AND GRAVE;Ll;0;L;014D 0300;;;;N;;;1E50;;1E50 +1E52;LATIN CAPITAL LETTER O WITH MACRON AND ACUTE;Lu;0;L;014C 0301;;;;N;;;;1E53; +1E53;LATIN SMALL LETTER O WITH MACRON AND ACUTE;Ll;0;L;014D 0301;;;;N;;;1E52;;1E52 +1E54;LATIN CAPITAL LETTER P WITH ACUTE;Lu;0;L;0050 0301;;;;N;;;;1E55; +1E55;LATIN SMALL LETTER P WITH ACUTE;Ll;0;L;0070 0301;;;;N;;;1E54;;1E54 +1E56;LATIN CAPITAL LETTER P WITH DOT ABOVE;Lu;0;L;0050 0307;;;;N;;;;1E57; +1E57;LATIN SMALL LETTER P WITH DOT ABOVE;Ll;0;L;0070 0307;;;;N;;;1E56;;1E56 +1E58;LATIN CAPITAL LETTER R WITH DOT ABOVE;Lu;0;L;0052 0307;;;;N;;;;1E59; +1E59;LATIN SMALL LETTER R WITH DOT ABOVE;Ll;0;L;0072 0307;;;;N;;;1E58;;1E58 +1E5A;LATIN CAPITAL LETTER R WITH DOT BELOW;Lu;0;L;0052 0323;;;;N;;;;1E5B; +1E5B;LATIN SMALL LETTER R WITH DOT BELOW;Ll;0;L;0072 0323;;;;N;;;1E5A;;1E5A +1E5C;LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON;Lu;0;L;1E5A 0304;;;;N;;;;1E5D; +1E5D;LATIN SMALL LETTER R WITH DOT BELOW AND MACRON;Ll;0;L;1E5B 0304;;;;N;;;1E5C;;1E5C +1E5E;LATIN CAPITAL LETTER R WITH LINE BELOW;Lu;0;L;0052 0331;;;;N;;;;1E5F; +1E5F;LATIN SMALL LETTER R WITH LINE BELOW;Ll;0;L;0072 0331;;;;N;;;1E5E;;1E5E +1E60;LATIN CAPITAL LETTER S WITH DOT ABOVE;Lu;0;L;0053 0307;;;;N;;;;1E61; +1E61;LATIN SMALL LETTER S WITH DOT ABOVE;Ll;0;L;0073 0307;;;;N;;;1E60;;1E60 +1E62;LATIN CAPITAL LETTER S WITH DOT BELOW;Lu;0;L;0053 0323;;;;N;;;;1E63; +1E63;LATIN SMALL LETTER S WITH DOT BELOW;Ll;0;L;0073 0323;;;;N;;;1E62;;1E62 +1E64;LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE;Lu;0;L;015A 0307;;;;N;;;;1E65; +1E65;LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE;Ll;0;L;015B 0307;;;;N;;;1E64;;1E64 +1E66;LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE;Lu;0;L;0160 0307;;;;N;;;;1E67; +1E67;LATIN SMALL LETTER S WITH CARON AND DOT ABOVE;Ll;0;L;0161 0307;;;;N;;;1E66;;1E66 +1E68;LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE;Lu;0;L;1E62 0307;;;;N;;;;1E69; +1E69;LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE;Ll;0;L;1E63 0307;;;;N;;;1E68;;1E68 +1E6A;LATIN CAPITAL LETTER T WITH DOT ABOVE;Lu;0;L;0054 0307;;;;N;;;;1E6B; +1E6B;LATIN SMALL LETTER T WITH DOT ABOVE;Ll;0;L;0074 0307;;;;N;;;1E6A;;1E6A +1E6C;LATIN CAPITAL LETTER T WITH DOT BELOW;Lu;0;L;0054 0323;;;;N;;;;1E6D; +1E6D;LATIN SMALL LETTER T WITH DOT BELOW;Ll;0;L;0074 0323;;;;N;;;1E6C;;1E6C +1E6E;LATIN CAPITAL LETTER T WITH LINE BELOW;Lu;0;L;0054 0331;;;;N;;;;1E6F; +1E6F;LATIN SMALL LETTER T WITH LINE BELOW;Ll;0;L;0074 0331;;;;N;;;1E6E;;1E6E +1E70;LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW;Lu;0;L;0054 032D;;;;N;;;;1E71; +1E71;LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW;Ll;0;L;0074 032D;;;;N;;;1E70;;1E70 +1E72;LATIN CAPITAL LETTER U WITH DIAERESIS BELOW;Lu;0;L;0055 0324;;;;N;;;;1E73; +1E73;LATIN SMALL LETTER U WITH DIAERESIS BELOW;Ll;0;L;0075 0324;;;;N;;;1E72;;1E72 +1E74;LATIN CAPITAL LETTER U WITH TILDE BELOW;Lu;0;L;0055 0330;;;;N;;;;1E75; +1E75;LATIN SMALL LETTER U WITH TILDE BELOW;Ll;0;L;0075 0330;;;;N;;;1E74;;1E74 +1E76;LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW;Lu;0;L;0055 032D;;;;N;;;;1E77; +1E77;LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW;Ll;0;L;0075 032D;;;;N;;;1E76;;1E76 +1E78;LATIN CAPITAL LETTER U WITH TILDE AND ACUTE;Lu;0;L;0168 0301;;;;N;;;;1E79; +1E79;LATIN SMALL LETTER U WITH TILDE AND ACUTE;Ll;0;L;0169 0301;;;;N;;;1E78;;1E78 +1E7A;LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS;Lu;0;L;016A 0308;;;;N;;;;1E7B; +1E7B;LATIN SMALL LETTER U WITH MACRON AND DIAERESIS;Ll;0;L;016B 0308;;;;N;;;1E7A;;1E7A +1E7C;LATIN CAPITAL LETTER V WITH TILDE;Lu;0;L;0056 0303;;;;N;;;;1E7D; +1E7D;LATIN SMALL LETTER V WITH TILDE;Ll;0;L;0076 0303;;;;N;;;1E7C;;1E7C +1E7E;LATIN CAPITAL LETTER V WITH DOT BELOW;Lu;0;L;0056 0323;;;;N;;;;1E7F; +1E7F;LATIN SMALL LETTER V WITH DOT BELOW;Ll;0;L;0076 0323;;;;N;;;1E7E;;1E7E +1E80;LATIN CAPITAL LETTER W WITH GRAVE;Lu;0;L;0057 0300;;;;N;;;;1E81; +1E81;LATIN SMALL LETTER W WITH GRAVE;Ll;0;L;0077 0300;;;;N;;;1E80;;1E80 +1E82;LATIN CAPITAL LETTER W WITH ACUTE;Lu;0;L;0057 0301;;;;N;;;;1E83; +1E83;LATIN SMALL LETTER W WITH ACUTE;Ll;0;L;0077 0301;;;;N;;;1E82;;1E82 +1E84;LATIN CAPITAL LETTER W WITH DIAERESIS;Lu;0;L;0057 0308;;;;N;;;;1E85; +1E85;LATIN SMALL LETTER W WITH DIAERESIS;Ll;0;L;0077 0308;;;;N;;;1E84;;1E84 +1E86;LATIN CAPITAL LETTER W WITH DOT ABOVE;Lu;0;L;0057 0307;;;;N;;;;1E87; +1E87;LATIN SMALL LETTER W WITH DOT ABOVE;Ll;0;L;0077 0307;;;;N;;;1E86;;1E86 +1E88;LATIN CAPITAL LETTER W WITH DOT BELOW;Lu;0;L;0057 0323;;;;N;;;;1E89; +1E89;LATIN SMALL LETTER W WITH DOT BELOW;Ll;0;L;0077 0323;;;;N;;;1E88;;1E88 +1E8A;LATIN CAPITAL LETTER X WITH DOT ABOVE;Lu;0;L;0058 0307;;;;N;;;;1E8B; +1E8B;LATIN SMALL LETTER X WITH DOT ABOVE;Ll;0;L;0078 0307;;;;N;;;1E8A;;1E8A +1E8C;LATIN CAPITAL LETTER X WITH DIAERESIS;Lu;0;L;0058 0308;;;;N;;;;1E8D; +1E8D;LATIN SMALL LETTER X WITH DIAERESIS;Ll;0;L;0078 0308;;;;N;;;1E8C;;1E8C +1E8E;LATIN CAPITAL LETTER Y WITH DOT ABOVE;Lu;0;L;0059 0307;;;;N;;;;1E8F; +1E8F;LATIN SMALL LETTER Y WITH DOT ABOVE;Ll;0;L;0079 0307;;;;N;;;1E8E;;1E8E +1E90;LATIN CAPITAL LETTER Z WITH CIRCUMFLEX;Lu;0;L;005A 0302;;;;N;;;;1E91; +1E91;LATIN SMALL LETTER Z WITH CIRCUMFLEX;Ll;0;L;007A 0302;;;;N;;;1E90;;1E90 +1E92;LATIN CAPITAL LETTER Z WITH DOT BELOW;Lu;0;L;005A 0323;;;;N;;;;1E93; +1E93;LATIN SMALL LETTER Z WITH DOT BELOW;Ll;0;L;007A 0323;;;;N;;;1E92;;1E92 +1E94;LATIN CAPITAL LETTER Z WITH LINE BELOW;Lu;0;L;005A 0331;;;;N;;;;1E95; +1E95;LATIN SMALL LETTER Z WITH LINE BELOW;Ll;0;L;007A 0331;;;;N;;;1E94;;1E94 +1E96;LATIN SMALL LETTER H WITH LINE BELOW;Ll;0;L;0068 0331;;;;N;;;;; +1E97;LATIN SMALL LETTER T WITH DIAERESIS;Ll;0;L;0074 0308;;;;N;;;;; +1E98;LATIN SMALL LETTER W WITH RING ABOVE;Ll;0;L;0077 030A;;;;N;;;;; +1E99;LATIN SMALL LETTER Y WITH RING ABOVE;Ll;0;L;0079 030A;;;;N;;;;; +1E9A;LATIN SMALL LETTER A WITH RIGHT HALF RING;Ll;0;L; 0061 02BE;;;;N;;;;; +1E9B;LATIN SMALL LETTER LONG S WITH DOT ABOVE;Ll;0;L;017F 0307;;;;N;;;1E60;;1E60 +1E9C;LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;;; +1E9D;LATIN SMALL LETTER LONG S WITH HIGH STROKE;Ll;0;L;;;;;N;;;;; +1E9E;LATIN CAPITAL LETTER SHARP S;Lu;0;L;;;;;N;;;;00DF; +1E9F;LATIN SMALL LETTER DELTA;Ll;0;L;;;;;N;;;;; +1EA0;LATIN CAPITAL LETTER A WITH DOT BELOW;Lu;0;L;0041 0323;;;;N;;;;1EA1; +1EA1;LATIN SMALL LETTER A WITH DOT BELOW;Ll;0;L;0061 0323;;;;N;;;1EA0;;1EA0 +1EA2;LATIN CAPITAL LETTER A WITH HOOK ABOVE;Lu;0;L;0041 0309;;;;N;;;;1EA3; +1EA3;LATIN SMALL LETTER A WITH HOOK ABOVE;Ll;0;L;0061 0309;;;;N;;;1EA2;;1EA2 +1EA4;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00C2 0301;;;;N;;;;1EA5; +1EA5;LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00E2 0301;;;;N;;;1EA4;;1EA4 +1EA6;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00C2 0300;;;;N;;;;1EA7; +1EA7;LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00E2 0300;;;;N;;;1EA6;;1EA6 +1EA8;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00C2 0309;;;;N;;;;1EA9; +1EA9;LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00E2 0309;;;;N;;;1EA8;;1EA8 +1EAA;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE;Lu;0;L;00C2 0303;;;;N;;;;1EAB; +1EAB;LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE;Ll;0;L;00E2 0303;;;;N;;;1EAA;;1EAA +1EAC;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EA0 0302;;;;N;;;;1EAD; +1EAD;LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EA1 0302;;;;N;;;1EAC;;1EAC +1EAE;LATIN CAPITAL LETTER A WITH BREVE AND ACUTE;Lu;0;L;0102 0301;;;;N;;;;1EAF; +1EAF;LATIN SMALL LETTER A WITH BREVE AND ACUTE;Ll;0;L;0103 0301;;;;N;;;1EAE;;1EAE +1EB0;LATIN CAPITAL LETTER A WITH BREVE AND GRAVE;Lu;0;L;0102 0300;;;;N;;;;1EB1; +1EB1;LATIN SMALL LETTER A WITH BREVE AND GRAVE;Ll;0;L;0103 0300;;;;N;;;1EB0;;1EB0 +1EB2;LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE;Lu;0;L;0102 0309;;;;N;;;;1EB3; +1EB3;LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE;Ll;0;L;0103 0309;;;;N;;;1EB2;;1EB2 +1EB4;LATIN CAPITAL LETTER A WITH BREVE AND TILDE;Lu;0;L;0102 0303;;;;N;;;;1EB5; +1EB5;LATIN SMALL LETTER A WITH BREVE AND TILDE;Ll;0;L;0103 0303;;;;N;;;1EB4;;1EB4 +1EB6;LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW;Lu;0;L;1EA0 0306;;;;N;;;;1EB7; +1EB7;LATIN SMALL LETTER A WITH BREVE AND DOT BELOW;Ll;0;L;1EA1 0306;;;;N;;;1EB6;;1EB6 +1EB8;LATIN CAPITAL LETTER E WITH DOT BELOW;Lu;0;L;0045 0323;;;;N;;;;1EB9; +1EB9;LATIN SMALL LETTER E WITH DOT BELOW;Ll;0;L;0065 0323;;;;N;;;1EB8;;1EB8 +1EBA;LATIN CAPITAL LETTER E WITH HOOK ABOVE;Lu;0;L;0045 0309;;;;N;;;;1EBB; +1EBB;LATIN SMALL LETTER E WITH HOOK ABOVE;Ll;0;L;0065 0309;;;;N;;;1EBA;;1EBA +1EBC;LATIN CAPITAL LETTER E WITH TILDE;Lu;0;L;0045 0303;;;;N;;;;1EBD; +1EBD;LATIN SMALL LETTER E WITH TILDE;Ll;0;L;0065 0303;;;;N;;;1EBC;;1EBC +1EBE;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00CA 0301;;;;N;;;;1EBF; +1EBF;LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00EA 0301;;;;N;;;1EBE;;1EBE +1EC0;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00CA 0300;;;;N;;;;1EC1; +1EC1;LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00EA 0300;;;;N;;;1EC0;;1EC0 +1EC2;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00CA 0309;;;;N;;;;1EC3; +1EC3;LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00EA 0309;;;;N;;;1EC2;;1EC2 +1EC4;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE;Lu;0;L;00CA 0303;;;;N;;;;1EC5; +1EC5;LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE;Ll;0;L;00EA 0303;;;;N;;;1EC4;;1EC4 +1EC6;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EB8 0302;;;;N;;;;1EC7; +1EC7;LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EB9 0302;;;;N;;;1EC6;;1EC6 +1EC8;LATIN CAPITAL LETTER I WITH HOOK ABOVE;Lu;0;L;0049 0309;;;;N;;;;1EC9; +1EC9;LATIN SMALL LETTER I WITH HOOK ABOVE;Ll;0;L;0069 0309;;;;N;;;1EC8;;1EC8 +1ECA;LATIN CAPITAL LETTER I WITH DOT BELOW;Lu;0;L;0049 0323;;;;N;;;;1ECB; +1ECB;LATIN SMALL LETTER I WITH DOT BELOW;Ll;0;L;0069 0323;;;;N;;;1ECA;;1ECA +1ECC;LATIN CAPITAL LETTER O WITH DOT BELOW;Lu;0;L;004F 0323;;;;N;;;;1ECD; +1ECD;LATIN SMALL LETTER O WITH DOT BELOW;Ll;0;L;006F 0323;;;;N;;;1ECC;;1ECC +1ECE;LATIN CAPITAL LETTER O WITH HOOK ABOVE;Lu;0;L;004F 0309;;;;N;;;;1ECF; +1ECF;LATIN SMALL LETTER O WITH HOOK ABOVE;Ll;0;L;006F 0309;;;;N;;;1ECE;;1ECE +1ED0;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00D4 0301;;;;N;;;;1ED1; +1ED1;LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00F4 0301;;;;N;;;1ED0;;1ED0 +1ED2;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00D4 0300;;;;N;;;;1ED3; +1ED3;LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00F4 0300;;;;N;;;1ED2;;1ED2 +1ED4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00D4 0309;;;;N;;;;1ED5; +1ED5;LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00F4 0309;;;;N;;;1ED4;;1ED4 +1ED6;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE;Lu;0;L;00D4 0303;;;;N;;;;1ED7; +1ED7;LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE;Ll;0;L;00F4 0303;;;;N;;;1ED6;;1ED6 +1ED8;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1ECC 0302;;;;N;;;;1ED9; +1ED9;LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1ECD 0302;;;;N;;;1ED8;;1ED8 +1EDA;LATIN CAPITAL LETTER O WITH HORN AND ACUTE;Lu;0;L;01A0 0301;;;;N;;;;1EDB; +1EDB;LATIN SMALL LETTER O WITH HORN AND ACUTE;Ll;0;L;01A1 0301;;;;N;;;1EDA;;1EDA +1EDC;LATIN CAPITAL LETTER O WITH HORN AND GRAVE;Lu;0;L;01A0 0300;;;;N;;;;1EDD; +1EDD;LATIN SMALL LETTER O WITH HORN AND GRAVE;Ll;0;L;01A1 0300;;;;N;;;1EDC;;1EDC +1EDE;LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE;Lu;0;L;01A0 0309;;;;N;;;;1EDF; +1EDF;LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE;Ll;0;L;01A1 0309;;;;N;;;1EDE;;1EDE +1EE0;LATIN CAPITAL LETTER O WITH HORN AND TILDE;Lu;0;L;01A0 0303;;;;N;;;;1EE1; +1EE1;LATIN SMALL LETTER O WITH HORN AND TILDE;Ll;0;L;01A1 0303;;;;N;;;1EE0;;1EE0 +1EE2;LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW;Lu;0;L;01A0 0323;;;;N;;;;1EE3; +1EE3;LATIN SMALL LETTER O WITH HORN AND DOT BELOW;Ll;0;L;01A1 0323;;;;N;;;1EE2;;1EE2 +1EE4;LATIN CAPITAL LETTER U WITH DOT BELOW;Lu;0;L;0055 0323;;;;N;;;;1EE5; +1EE5;LATIN SMALL LETTER U WITH DOT BELOW;Ll;0;L;0075 0323;;;;N;;;1EE4;;1EE4 +1EE6;LATIN CAPITAL LETTER U WITH HOOK ABOVE;Lu;0;L;0055 0309;;;;N;;;;1EE7; +1EE7;LATIN SMALL LETTER U WITH HOOK ABOVE;Ll;0;L;0075 0309;;;;N;;;1EE6;;1EE6 +1EE8;LATIN CAPITAL LETTER U WITH HORN AND ACUTE;Lu;0;L;01AF 0301;;;;N;;;;1EE9; +1EE9;LATIN SMALL LETTER U WITH HORN AND ACUTE;Ll;0;L;01B0 0301;;;;N;;;1EE8;;1EE8 +1EEA;LATIN CAPITAL LETTER U WITH HORN AND GRAVE;Lu;0;L;01AF 0300;;;;N;;;;1EEB; +1EEB;LATIN SMALL LETTER U WITH HORN AND GRAVE;Ll;0;L;01B0 0300;;;;N;;;1EEA;;1EEA +1EEC;LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE;Lu;0;L;01AF 0309;;;;N;;;;1EED; +1EED;LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE;Ll;0;L;01B0 0309;;;;N;;;1EEC;;1EEC +1EEE;LATIN CAPITAL LETTER U WITH HORN AND TILDE;Lu;0;L;01AF 0303;;;;N;;;;1EEF; +1EEF;LATIN SMALL LETTER U WITH HORN AND TILDE;Ll;0;L;01B0 0303;;;;N;;;1EEE;;1EEE +1EF0;LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW;Lu;0;L;01AF 0323;;;;N;;;;1EF1; +1EF1;LATIN SMALL LETTER U WITH HORN AND DOT BELOW;Ll;0;L;01B0 0323;;;;N;;;1EF0;;1EF0 +1EF2;LATIN CAPITAL LETTER Y WITH GRAVE;Lu;0;L;0059 0300;;;;N;;;;1EF3; +1EF3;LATIN SMALL LETTER Y WITH GRAVE;Ll;0;L;0079 0300;;;;N;;;1EF2;;1EF2 +1EF4;LATIN CAPITAL LETTER Y WITH DOT BELOW;Lu;0;L;0059 0323;;;;N;;;;1EF5; +1EF5;LATIN SMALL LETTER Y WITH DOT BELOW;Ll;0;L;0079 0323;;;;N;;;1EF4;;1EF4 +1EF6;LATIN CAPITAL LETTER Y WITH HOOK ABOVE;Lu;0;L;0059 0309;;;;N;;;;1EF7; +1EF7;LATIN SMALL LETTER Y WITH HOOK ABOVE;Ll;0;L;0079 0309;;;;N;;;1EF6;;1EF6 +1EF8;LATIN CAPITAL LETTER Y WITH TILDE;Lu;0;L;0059 0303;;;;N;;;;1EF9; +1EF9;LATIN SMALL LETTER Y WITH TILDE;Ll;0;L;0079 0303;;;;N;;;1EF8;;1EF8 +1EFA;LATIN CAPITAL LETTER MIDDLE-WELSH LL;Lu;0;L;;;;;N;;;;1EFB; +1EFB;LATIN SMALL LETTER MIDDLE-WELSH LL;Ll;0;L;;;;;N;;;1EFA;;1EFA +1EFC;LATIN CAPITAL LETTER MIDDLE-WELSH V;Lu;0;L;;;;;N;;;;1EFD; +1EFD;LATIN SMALL LETTER MIDDLE-WELSH V;Ll;0;L;;;;;N;;;1EFC;;1EFC +1EFE;LATIN CAPITAL LETTER Y WITH LOOP;Lu;0;L;;;;;N;;;;1EFF; +1EFF;LATIN SMALL LETTER Y WITH LOOP;Ll;0;L;;;;;N;;;1EFE;;1EFE +1F00;GREEK SMALL LETTER ALPHA WITH PSILI;Ll;0;L;03B1 0313;;;;N;;;1F08;;1F08 +1F01;GREEK SMALL LETTER ALPHA WITH DASIA;Ll;0;L;03B1 0314;;;;N;;;1F09;;1F09 +1F02;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA;Ll;0;L;1F00 0300;;;;N;;;1F0A;;1F0A +1F03;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA;Ll;0;L;1F01 0300;;;;N;;;1F0B;;1F0B +1F04;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA;Ll;0;L;1F00 0301;;;;N;;;1F0C;;1F0C +1F05;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA;Ll;0;L;1F01 0301;;;;N;;;1F0D;;1F0D +1F06;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI;Ll;0;L;1F00 0342;;;;N;;;1F0E;;1F0E +1F07;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI;Ll;0;L;1F01 0342;;;;N;;;1F0F;;1F0F +1F08;GREEK CAPITAL LETTER ALPHA WITH PSILI;Lu;0;L;0391 0313;;;;N;;;;1F00; +1F09;GREEK CAPITAL LETTER ALPHA WITH DASIA;Lu;0;L;0391 0314;;;;N;;;;1F01; +1F0A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA;Lu;0;L;1F08 0300;;;;N;;;;1F02; +1F0B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA;Lu;0;L;1F09 0300;;;;N;;;;1F03; +1F0C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA;Lu;0;L;1F08 0301;;;;N;;;;1F04; +1F0D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA;Lu;0;L;1F09 0301;;;;N;;;;1F05; +1F0E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI;Lu;0;L;1F08 0342;;;;N;;;;1F06; +1F0F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI;Lu;0;L;1F09 0342;;;;N;;;;1F07; +1F10;GREEK SMALL LETTER EPSILON WITH PSILI;Ll;0;L;03B5 0313;;;;N;;;1F18;;1F18 +1F11;GREEK SMALL LETTER EPSILON WITH DASIA;Ll;0;L;03B5 0314;;;;N;;;1F19;;1F19 +1F12;GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA;Ll;0;L;1F10 0300;;;;N;;;1F1A;;1F1A +1F13;GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA;Ll;0;L;1F11 0300;;;;N;;;1F1B;;1F1B +1F14;GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA;Ll;0;L;1F10 0301;;;;N;;;1F1C;;1F1C +1F15;GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA;Ll;0;L;1F11 0301;;;;N;;;1F1D;;1F1D +1F18;GREEK CAPITAL LETTER EPSILON WITH PSILI;Lu;0;L;0395 0313;;;;N;;;;1F10; +1F19;GREEK CAPITAL LETTER EPSILON WITH DASIA;Lu;0;L;0395 0314;;;;N;;;;1F11; +1F1A;GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA;Lu;0;L;1F18 0300;;;;N;;;;1F12; +1F1B;GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA;Lu;0;L;1F19 0300;;;;N;;;;1F13; +1F1C;GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA;Lu;0;L;1F18 0301;;;;N;;;;1F14; +1F1D;GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA;Lu;0;L;1F19 0301;;;;N;;;;1F15; +1F20;GREEK SMALL LETTER ETA WITH PSILI;Ll;0;L;03B7 0313;;;;N;;;1F28;;1F28 +1F21;GREEK SMALL LETTER ETA WITH DASIA;Ll;0;L;03B7 0314;;;;N;;;1F29;;1F29 +1F22;GREEK SMALL LETTER ETA WITH PSILI AND VARIA;Ll;0;L;1F20 0300;;;;N;;;1F2A;;1F2A +1F23;GREEK SMALL LETTER ETA WITH DASIA AND VARIA;Ll;0;L;1F21 0300;;;;N;;;1F2B;;1F2B +1F24;GREEK SMALL LETTER ETA WITH PSILI AND OXIA;Ll;0;L;1F20 0301;;;;N;;;1F2C;;1F2C +1F25;GREEK SMALL LETTER ETA WITH DASIA AND OXIA;Ll;0;L;1F21 0301;;;;N;;;1F2D;;1F2D +1F26;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI;Ll;0;L;1F20 0342;;;;N;;;1F2E;;1F2E +1F27;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI;Ll;0;L;1F21 0342;;;;N;;;1F2F;;1F2F +1F28;GREEK CAPITAL LETTER ETA WITH PSILI;Lu;0;L;0397 0313;;;;N;;;;1F20; +1F29;GREEK CAPITAL LETTER ETA WITH DASIA;Lu;0;L;0397 0314;;;;N;;;;1F21; +1F2A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA;Lu;0;L;1F28 0300;;;;N;;;;1F22; +1F2B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA;Lu;0;L;1F29 0300;;;;N;;;;1F23; +1F2C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA;Lu;0;L;1F28 0301;;;;N;;;;1F24; +1F2D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA;Lu;0;L;1F29 0301;;;;N;;;;1F25; +1F2E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI;Lu;0;L;1F28 0342;;;;N;;;;1F26; +1F2F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI;Lu;0;L;1F29 0342;;;;N;;;;1F27; +1F30;GREEK SMALL LETTER IOTA WITH PSILI;Ll;0;L;03B9 0313;;;;N;;;1F38;;1F38 +1F31;GREEK SMALL LETTER IOTA WITH DASIA;Ll;0;L;03B9 0314;;;;N;;;1F39;;1F39 +1F32;GREEK SMALL LETTER IOTA WITH PSILI AND VARIA;Ll;0;L;1F30 0300;;;;N;;;1F3A;;1F3A +1F33;GREEK SMALL LETTER IOTA WITH DASIA AND VARIA;Ll;0;L;1F31 0300;;;;N;;;1F3B;;1F3B +1F34;GREEK SMALL LETTER IOTA WITH PSILI AND OXIA;Ll;0;L;1F30 0301;;;;N;;;1F3C;;1F3C +1F35;GREEK SMALL LETTER IOTA WITH DASIA AND OXIA;Ll;0;L;1F31 0301;;;;N;;;1F3D;;1F3D +1F36;GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI;Ll;0;L;1F30 0342;;;;N;;;1F3E;;1F3E +1F37;GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI;Ll;0;L;1F31 0342;;;;N;;;1F3F;;1F3F +1F38;GREEK CAPITAL LETTER IOTA WITH PSILI;Lu;0;L;0399 0313;;;;N;;;;1F30; +1F39;GREEK CAPITAL LETTER IOTA WITH DASIA;Lu;0;L;0399 0314;;;;N;;;;1F31; +1F3A;GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA;Lu;0;L;1F38 0300;;;;N;;;;1F32; +1F3B;GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA;Lu;0;L;1F39 0300;;;;N;;;;1F33; +1F3C;GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA;Lu;0;L;1F38 0301;;;;N;;;;1F34; +1F3D;GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA;Lu;0;L;1F39 0301;;;;N;;;;1F35; +1F3E;GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI;Lu;0;L;1F38 0342;;;;N;;;;1F36; +1F3F;GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI;Lu;0;L;1F39 0342;;;;N;;;;1F37; +1F40;GREEK SMALL LETTER OMICRON WITH PSILI;Ll;0;L;03BF 0313;;;;N;;;1F48;;1F48 +1F41;GREEK SMALL LETTER OMICRON WITH DASIA;Ll;0;L;03BF 0314;;;;N;;;1F49;;1F49 +1F42;GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA;Ll;0;L;1F40 0300;;;;N;;;1F4A;;1F4A +1F43;GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA;Ll;0;L;1F41 0300;;;;N;;;1F4B;;1F4B +1F44;GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA;Ll;0;L;1F40 0301;;;;N;;;1F4C;;1F4C +1F45;GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA;Ll;0;L;1F41 0301;;;;N;;;1F4D;;1F4D +1F48;GREEK CAPITAL LETTER OMICRON WITH PSILI;Lu;0;L;039F 0313;;;;N;;;;1F40; +1F49;GREEK CAPITAL LETTER OMICRON WITH DASIA;Lu;0;L;039F 0314;;;;N;;;;1F41; +1F4A;GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA;Lu;0;L;1F48 0300;;;;N;;;;1F42; +1F4B;GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA;Lu;0;L;1F49 0300;;;;N;;;;1F43; +1F4C;GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA;Lu;0;L;1F48 0301;;;;N;;;;1F44; +1F4D;GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA;Lu;0;L;1F49 0301;;;;N;;;;1F45; +1F50;GREEK SMALL LETTER UPSILON WITH PSILI;Ll;0;L;03C5 0313;;;;N;;;;; +1F51;GREEK SMALL LETTER UPSILON WITH DASIA;Ll;0;L;03C5 0314;;;;N;;;1F59;;1F59 +1F52;GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA;Ll;0;L;1F50 0300;;;;N;;;;; +1F53;GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA;Ll;0;L;1F51 0300;;;;N;;;1F5B;;1F5B +1F54;GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA;Ll;0;L;1F50 0301;;;;N;;;;; +1F55;GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA;Ll;0;L;1F51 0301;;;;N;;;1F5D;;1F5D +1F56;GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI;Ll;0;L;1F50 0342;;;;N;;;;; +1F57;GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI;Ll;0;L;1F51 0342;;;;N;;;1F5F;;1F5F +1F59;GREEK CAPITAL LETTER UPSILON WITH DASIA;Lu;0;L;03A5 0314;;;;N;;;;1F51; +1F5B;GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA;Lu;0;L;1F59 0300;;;;N;;;;1F53; +1F5D;GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA;Lu;0;L;1F59 0301;;;;N;;;;1F55; +1F5F;GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI;Lu;0;L;1F59 0342;;;;N;;;;1F57; +1F60;GREEK SMALL LETTER OMEGA WITH PSILI;Ll;0;L;03C9 0313;;;;N;;;1F68;;1F68 +1F61;GREEK SMALL LETTER OMEGA WITH DASIA;Ll;0;L;03C9 0314;;;;N;;;1F69;;1F69 +1F62;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA;Ll;0;L;1F60 0300;;;;N;;;1F6A;;1F6A +1F63;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA;Ll;0;L;1F61 0300;;;;N;;;1F6B;;1F6B +1F64;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA;Ll;0;L;1F60 0301;;;;N;;;1F6C;;1F6C +1F65;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA;Ll;0;L;1F61 0301;;;;N;;;1F6D;;1F6D +1F66;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI;Ll;0;L;1F60 0342;;;;N;;;1F6E;;1F6E +1F67;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI;Ll;0;L;1F61 0342;;;;N;;;1F6F;;1F6F +1F68;GREEK CAPITAL LETTER OMEGA WITH PSILI;Lu;0;L;03A9 0313;;;;N;;;;1F60; +1F69;GREEK CAPITAL LETTER OMEGA WITH DASIA;Lu;0;L;03A9 0314;;;;N;;;;1F61; +1F6A;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA;Lu;0;L;1F68 0300;;;;N;;;;1F62; +1F6B;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA;Lu;0;L;1F69 0300;;;;N;;;;1F63; +1F6C;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA;Lu;0;L;1F68 0301;;;;N;;;;1F64; +1F6D;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA;Lu;0;L;1F69 0301;;;;N;;;;1F65; +1F6E;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI;Lu;0;L;1F68 0342;;;;N;;;;1F66; +1F6F;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI;Lu;0;L;1F69 0342;;;;N;;;;1F67; +1F70;GREEK SMALL LETTER ALPHA WITH VARIA;Ll;0;L;03B1 0300;;;;N;;;1FBA;;1FBA +1F71;GREEK SMALL LETTER ALPHA WITH OXIA;Ll;0;L;03AC;;;;N;;;1FBB;;1FBB +1F72;GREEK SMALL LETTER EPSILON WITH VARIA;Ll;0;L;03B5 0300;;;;N;;;1FC8;;1FC8 +1F73;GREEK SMALL LETTER EPSILON WITH OXIA;Ll;0;L;03AD;;;;N;;;1FC9;;1FC9 +1F74;GREEK SMALL LETTER ETA WITH VARIA;Ll;0;L;03B7 0300;;;;N;;;1FCA;;1FCA +1F75;GREEK SMALL LETTER ETA WITH OXIA;Ll;0;L;03AE;;;;N;;;1FCB;;1FCB +1F76;GREEK SMALL LETTER IOTA WITH VARIA;Ll;0;L;03B9 0300;;;;N;;;1FDA;;1FDA +1F77;GREEK SMALL LETTER IOTA WITH OXIA;Ll;0;L;03AF;;;;N;;;1FDB;;1FDB +1F78;GREEK SMALL LETTER OMICRON WITH VARIA;Ll;0;L;03BF 0300;;;;N;;;1FF8;;1FF8 +1F79;GREEK SMALL LETTER OMICRON WITH OXIA;Ll;0;L;03CC;;;;N;;;1FF9;;1FF9 +1F7A;GREEK SMALL LETTER UPSILON WITH VARIA;Ll;0;L;03C5 0300;;;;N;;;1FEA;;1FEA +1F7B;GREEK SMALL LETTER UPSILON WITH OXIA;Ll;0;L;03CD;;;;N;;;1FEB;;1FEB +1F7C;GREEK SMALL LETTER OMEGA WITH VARIA;Ll;0;L;03C9 0300;;;;N;;;1FFA;;1FFA +1F7D;GREEK SMALL LETTER OMEGA WITH OXIA;Ll;0;L;03CE;;;;N;;;1FFB;;1FFB +1F80;GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F00 0345;;;;N;;;1F88;;1F88 +1F81;GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F01 0345;;;;N;;;1F89;;1F89 +1F82;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F02 0345;;;;N;;;1F8A;;1F8A +1F83;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F03 0345;;;;N;;;1F8B;;1F8B +1F84;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F04 0345;;;;N;;;1F8C;;1F8C +1F85;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F05 0345;;;;N;;;1F8D;;1F8D +1F86;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F06 0345;;;;N;;;1F8E;;1F8E +1F87;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F07 0345;;;;N;;;1F8F;;1F8F +1F88;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F08 0345;;;;N;;;;1F80; +1F89;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F09 0345;;;;N;;;;1F81; +1F8A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0A 0345;;;;N;;;;1F82; +1F8B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0B 0345;;;;N;;;;1F83; +1F8C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0C 0345;;;;N;;;;1F84; +1F8D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0D 0345;;;;N;;;;1F85; +1F8E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0E 0345;;;;N;;;;1F86; +1F8F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0F 0345;;;;N;;;;1F87; +1F90;GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F20 0345;;;;N;;;1F98;;1F98 +1F91;GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F21 0345;;;;N;;;1F99;;1F99 +1F92;GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F22 0345;;;;N;;;1F9A;;1F9A +1F93;GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F23 0345;;;;N;;;1F9B;;1F9B +1F94;GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F24 0345;;;;N;;;1F9C;;1F9C +1F95;GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F25 0345;;;;N;;;1F9D;;1F9D +1F96;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F26 0345;;;;N;;;1F9E;;1F9E +1F97;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F27 0345;;;;N;;;1F9F;;1F9F +1F98;GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F28 0345;;;;N;;;;1F90; +1F99;GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F29 0345;;;;N;;;;1F91; +1F9A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2A 0345;;;;N;;;;1F92; +1F9B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2B 0345;;;;N;;;;1F93; +1F9C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2C 0345;;;;N;;;;1F94; +1F9D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2D 0345;;;;N;;;;1F95; +1F9E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2E 0345;;;;N;;;;1F96; +1F9F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2F 0345;;;;N;;;;1F97; +1FA0;GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F60 0345;;;;N;;;1FA8;;1FA8 +1FA1;GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F61 0345;;;;N;;;1FA9;;1FA9 +1FA2;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F62 0345;;;;N;;;1FAA;;1FAA +1FA3;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F63 0345;;;;N;;;1FAB;;1FAB +1FA4;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F64 0345;;;;N;;;1FAC;;1FAC +1FA5;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F65 0345;;;;N;;;1FAD;;1FAD +1FA6;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F66 0345;;;;N;;;1FAE;;1FAE +1FA7;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F67 0345;;;;N;;;1FAF;;1FAF +1FA8;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F68 0345;;;;N;;;;1FA0; +1FA9;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F69 0345;;;;N;;;;1FA1; +1FAA;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6A 0345;;;;N;;;;1FA2; +1FAB;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6B 0345;;;;N;;;;1FA3; +1FAC;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6C 0345;;;;N;;;;1FA4; +1FAD;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6D 0345;;;;N;;;;1FA5; +1FAE;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6E 0345;;;;N;;;;1FA6; +1FAF;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6F 0345;;;;N;;;;1FA7; +1FB0;GREEK SMALL LETTER ALPHA WITH VRACHY;Ll;0;L;03B1 0306;;;;N;;;1FB8;;1FB8 +1FB1;GREEK SMALL LETTER ALPHA WITH MACRON;Ll;0;L;03B1 0304;;;;N;;;1FB9;;1FB9 +1FB2;GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F70 0345;;;;N;;;;; +1FB3;GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI;Ll;0;L;03B1 0345;;;;N;;;1FBC;;1FBC +1FB4;GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AC 0345;;;;N;;;;; +1FB6;GREEK SMALL LETTER ALPHA WITH PERISPOMENI;Ll;0;L;03B1 0342;;;;N;;;;; +1FB7;GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FB6 0345;;;;N;;;;; +1FB8;GREEK CAPITAL LETTER ALPHA WITH VRACHY;Lu;0;L;0391 0306;;;;N;;;;1FB0; +1FB9;GREEK CAPITAL LETTER ALPHA WITH MACRON;Lu;0;L;0391 0304;;;;N;;;;1FB1; +1FBA;GREEK CAPITAL LETTER ALPHA WITH VARIA;Lu;0;L;0391 0300;;;;N;;;;1F70; +1FBB;GREEK CAPITAL LETTER ALPHA WITH OXIA;Lu;0;L;0386;;;;N;;;;1F71; +1FBC;GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI;Lt;0;L;0391 0345;;;;N;;;;1FB3; +1FBD;GREEK KORONIS;Sk;0;ON; 0020 0313;;;;N;;;;; +1FBE;GREEK PROSGEGRAMMENI;Ll;0;L;03B9;;;;N;;;0399;;0399 +1FBF;GREEK PSILI;Sk;0;ON; 0020 0313;;;;N;;;;; +1FC0;GREEK PERISPOMENI;Sk;0;ON; 0020 0342;;;;N;;;;; +1FC1;GREEK DIALYTIKA AND PERISPOMENI;Sk;0;ON;00A8 0342;;;;N;;;;; +1FC2;GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F74 0345;;;;N;;;;; +1FC3;GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI;Ll;0;L;03B7 0345;;;;N;;;1FCC;;1FCC +1FC4;GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AE 0345;;;;N;;;;; +1FC6;GREEK SMALL LETTER ETA WITH PERISPOMENI;Ll;0;L;03B7 0342;;;;N;;;;; +1FC7;GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FC6 0345;;;;N;;;;; +1FC8;GREEK CAPITAL LETTER EPSILON WITH VARIA;Lu;0;L;0395 0300;;;;N;;;;1F72; +1FC9;GREEK CAPITAL LETTER EPSILON WITH OXIA;Lu;0;L;0388;;;;N;;;;1F73; +1FCA;GREEK CAPITAL LETTER ETA WITH VARIA;Lu;0;L;0397 0300;;;;N;;;;1F74; +1FCB;GREEK CAPITAL LETTER ETA WITH OXIA;Lu;0;L;0389;;;;N;;;;1F75; +1FCC;GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI;Lt;0;L;0397 0345;;;;N;;;;1FC3; +1FCD;GREEK PSILI AND VARIA;Sk;0;ON;1FBF 0300;;;;N;;;;; +1FCE;GREEK PSILI AND OXIA;Sk;0;ON;1FBF 0301;;;;N;;;;; +1FCF;GREEK PSILI AND PERISPOMENI;Sk;0;ON;1FBF 0342;;;;N;;;;; +1FD0;GREEK SMALL LETTER IOTA WITH VRACHY;Ll;0;L;03B9 0306;;;;N;;;1FD8;;1FD8 +1FD1;GREEK SMALL LETTER IOTA WITH MACRON;Ll;0;L;03B9 0304;;;;N;;;1FD9;;1FD9 +1FD2;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA;Ll;0;L;03CA 0300;;;;N;;;;; +1FD3;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA;Ll;0;L;0390;;;;N;;;;; +1FD6;GREEK SMALL LETTER IOTA WITH PERISPOMENI;Ll;0;L;03B9 0342;;;;N;;;;; +1FD7;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CA 0342;;;;N;;;;; +1FD8;GREEK CAPITAL LETTER IOTA WITH VRACHY;Lu;0;L;0399 0306;;;;N;;;;1FD0; +1FD9;GREEK CAPITAL LETTER IOTA WITH MACRON;Lu;0;L;0399 0304;;;;N;;;;1FD1; +1FDA;GREEK CAPITAL LETTER IOTA WITH VARIA;Lu;0;L;0399 0300;;;;N;;;;1F76; +1FDB;GREEK CAPITAL LETTER IOTA WITH OXIA;Lu;0;L;038A;;;;N;;;;1F77; +1FDD;GREEK DASIA AND VARIA;Sk;0;ON;1FFE 0300;;;;N;;;;; +1FDE;GREEK DASIA AND OXIA;Sk;0;ON;1FFE 0301;;;;N;;;;; +1FDF;GREEK DASIA AND PERISPOMENI;Sk;0;ON;1FFE 0342;;;;N;;;;; +1FE0;GREEK SMALL LETTER UPSILON WITH VRACHY;Ll;0;L;03C5 0306;;;;N;;;1FE8;;1FE8 +1FE1;GREEK SMALL LETTER UPSILON WITH MACRON;Ll;0;L;03C5 0304;;;;N;;;1FE9;;1FE9 +1FE2;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA;Ll;0;L;03CB 0300;;;;N;;;;; +1FE3;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA;Ll;0;L;03B0;;;;N;;;;; +1FE4;GREEK SMALL LETTER RHO WITH PSILI;Ll;0;L;03C1 0313;;;;N;;;;; +1FE5;GREEK SMALL LETTER RHO WITH DASIA;Ll;0;L;03C1 0314;;;;N;;;1FEC;;1FEC +1FE6;GREEK SMALL LETTER UPSILON WITH PERISPOMENI;Ll;0;L;03C5 0342;;;;N;;;;; +1FE7;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CB 0342;;;;N;;;;; +1FE8;GREEK CAPITAL LETTER UPSILON WITH VRACHY;Lu;0;L;03A5 0306;;;;N;;;;1FE0; +1FE9;GREEK CAPITAL LETTER UPSILON WITH MACRON;Lu;0;L;03A5 0304;;;;N;;;;1FE1; +1FEA;GREEK CAPITAL LETTER UPSILON WITH VARIA;Lu;0;L;03A5 0300;;;;N;;;;1F7A; +1FEB;GREEK CAPITAL LETTER UPSILON WITH OXIA;Lu;0;L;038E;;;;N;;;;1F7B; +1FEC;GREEK CAPITAL LETTER RHO WITH DASIA;Lu;0;L;03A1 0314;;;;N;;;;1FE5; +1FED;GREEK DIALYTIKA AND VARIA;Sk;0;ON;00A8 0300;;;;N;;;;; +1FEE;GREEK DIALYTIKA AND OXIA;Sk;0;ON;0385;;;;N;;;;; +1FEF;GREEK VARIA;Sk;0;ON;0060;;;;N;;;;; +1FF2;GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F7C 0345;;;;N;;;;; +1FF3;GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI;Ll;0;L;03C9 0345;;;;N;;;1FFC;;1FFC +1FF4;GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03CE 0345;;;;N;;;;; +1FF6;GREEK SMALL LETTER OMEGA WITH PERISPOMENI;Ll;0;L;03C9 0342;;;;N;;;;; +1FF7;GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FF6 0345;;;;N;;;;; +1FF8;GREEK CAPITAL LETTER OMICRON WITH VARIA;Lu;0;L;039F 0300;;;;N;;;;1F78; +1FF9;GREEK CAPITAL LETTER OMICRON WITH OXIA;Lu;0;L;038C;;;;N;;;;1F79; +1FFA;GREEK CAPITAL LETTER OMEGA WITH VARIA;Lu;0;L;03A9 0300;;;;N;;;;1F7C; +1FFB;GREEK CAPITAL LETTER OMEGA WITH OXIA;Lu;0;L;038F;;;;N;;;;1F7D; +1FFC;GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI;Lt;0;L;03A9 0345;;;;N;;;;1FF3; +1FFD;GREEK OXIA;Sk;0;ON;00B4;;;;N;;;;; +1FFE;GREEK DASIA;Sk;0;ON; 0020 0314;;;;N;;;;; +2000;EN QUAD;Zs;0;WS;2002;;;;N;;;;; +2001;EM QUAD;Zs;0;WS;2003;;;;N;;;;; +2002;EN SPACE;Zs;0;WS; 0020;;;;N;;;;; +2003;EM SPACE;Zs;0;WS; 0020;;;;N;;;;; +2004;THREE-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; +2005;FOUR-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; +2006;SIX-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; +2007;FIGURE SPACE;Zs;0;WS; 0020;;;;N;;;;; +2008;PUNCTUATION SPACE;Zs;0;WS; 0020;;;;N;;;;; +2009;THIN SPACE;Zs;0;WS; 0020;;;;N;;;;; +200A;HAIR SPACE;Zs;0;WS; 0020;;;;N;;;;; +200B;ZERO WIDTH SPACE;Cf;0;BN;;;;;N;;;;; +200C;ZERO WIDTH NON-JOINER;Cf;0;BN;;;;;N;;;;; +200D;ZERO WIDTH JOINER;Cf;0;BN;;;;;N;;;;; +200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;; +200F;RIGHT-TO-LEFT MARK;Cf;0;R;;;;;N;;;;; +2010;HYPHEN;Pd;0;ON;;;;;N;;;;; +2011;NON-BREAKING HYPHEN;Pd;0;ON; 2010;;;;N;;;;; +2012;FIGURE DASH;Pd;0;ON;;;;;N;;;;; +2013;EN DASH;Pd;0;ON;;;;;N;;;;; +2014;EM DASH;Pd;0;ON;;;;;N;;;;; +2015;HORIZONTAL BAR;Pd;0;ON;;;;;N;QUOTATION DASH;;;; +2016;DOUBLE VERTICAL LINE;Po;0;ON;;;;;N;DOUBLE VERTICAL BAR;;;; +2017;DOUBLE LOW LINE;Po;0;ON; 0020 0333;;;;N;SPACING DOUBLE UNDERSCORE;;;; +2018;LEFT SINGLE QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE TURNED COMMA QUOTATION MARK;;;; +2019;RIGHT SINGLE QUOTATION MARK;Pf;0;ON;;;;;N;SINGLE COMMA QUOTATION MARK;;;; +201A;SINGLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW SINGLE COMMA QUOTATION MARK;;;; +201B;SINGLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE REVERSED COMMA QUOTATION MARK;;;; +201C;LEFT DOUBLE QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK;;;; +201D;RIGHT DOUBLE QUOTATION MARK;Pf;0;ON;;;;;N;DOUBLE COMMA QUOTATION MARK;;;; +201E;DOUBLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW DOUBLE COMMA QUOTATION MARK;;;; +201F;DOUBLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE REVERSED COMMA QUOTATION MARK;;;; +2020;DAGGER;Po;0;ON;;;;;N;;;;; +2021;DOUBLE DAGGER;Po;0;ON;;;;;N;;;;; +2022;BULLET;Po;0;ON;;;;;N;;;;; +2023;TRIANGULAR BULLET;Po;0;ON;;;;;N;;;;; +2024;ONE DOT LEADER;Po;0;ON; 002E;;;;N;;;;; +2025;TWO DOT LEADER;Po;0;ON; 002E 002E;;;;N;;;;; +2026;HORIZONTAL ELLIPSIS;Po;0;ON; 002E 002E 002E;;;;N;;;;; +2027;HYPHENATION POINT;Po;0;ON;;;;;N;;;;; +2028;LINE SEPARATOR;Zl;0;WS;;;;;N;;;;; +2029;PARAGRAPH SEPARATOR;Zp;0;B;;;;;N;;;;; +202A;LEFT-TO-RIGHT EMBEDDING;Cf;0;LRE;;;;;N;;;;; +202B;RIGHT-TO-LEFT EMBEDDING;Cf;0;RLE;;;;;N;;;;; +202C;POP DIRECTIONAL FORMATTING;Cf;0;PDF;;;;;N;;;;; +202D;LEFT-TO-RIGHT OVERRIDE;Cf;0;LRO;;;;;N;;;;; +202E;RIGHT-TO-LEFT OVERRIDE;Cf;0;RLO;;;;;N;;;;; +202F;NARROW NO-BREAK SPACE;Zs;0;CS; 0020;;;;N;;;;; +2030;PER MILLE SIGN;Po;0;ET;;;;;N;;;;; +2031;PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;; +2032;PRIME;Po;0;ET;;;;;N;;;;; +2033;DOUBLE PRIME;Po;0;ET; 2032 2032;;;;N;;;;; +2034;TRIPLE PRIME;Po;0;ET; 2032 2032 2032;;;;N;;;;; +2035;REVERSED PRIME;Po;0;ON;;;;;N;;;;; +2036;REVERSED DOUBLE PRIME;Po;0;ON; 2035 2035;;;;N;;;;; +2037;REVERSED TRIPLE PRIME;Po;0;ON; 2035 2035 2035;;;;N;;;;; +2038;CARET;Po;0;ON;;;;;N;;;;; +2039;SINGLE LEFT-POINTING ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING SINGLE GUILLEMET;;;; +203A;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING SINGLE GUILLEMET;;;; +203B;REFERENCE MARK;Po;0;ON;;;;;N;;;;; +203C;DOUBLE EXCLAMATION MARK;Po;0;ON; 0021 0021;;;;N;;;;; +203D;INTERROBANG;Po;0;ON;;;;;N;;;;; +203E;OVERLINE;Po;0;ON; 0020 0305;;;;N;SPACING OVERSCORE;;;; +203F;UNDERTIE;Pc;0;ON;;;;;N;;Enotikon;;; +2040;CHARACTER TIE;Pc;0;ON;;;;;N;;;;; +2041;CARET INSERTION POINT;Po;0;ON;;;;;N;;;;; +2042;ASTERISM;Po;0;ON;;;;;N;;;;; +2043;HYPHEN BULLET;Po;0;ON;;;;;N;;;;; +2044;FRACTION SLASH;Sm;0;CS;;;;;N;;;;; +2045;LEFT SQUARE BRACKET WITH QUILL;Ps;0;ON;;;;;Y;;;;; +2046;RIGHT SQUARE BRACKET WITH QUILL;Pe;0;ON;;;;;Y;;;;; +2047;DOUBLE QUESTION MARK;Po;0;ON; 003F 003F;;;;N;;;;; +2048;QUESTION EXCLAMATION MARK;Po;0;ON; 003F 0021;;;;N;;;;; +2049;EXCLAMATION QUESTION MARK;Po;0;ON; 0021 003F;;;;N;;;;; +204A;TIRONIAN SIGN ET;Po;0;ON;;;;;N;;;;; +204B;REVERSED PILCROW SIGN;Po;0;ON;;;;;N;;;;; +204C;BLACK LEFTWARDS BULLET;Po;0;ON;;;;;N;;;;; +204D;BLACK RIGHTWARDS BULLET;Po;0;ON;;;;;N;;;;; +204E;LOW ASTERISK;Po;0;ON;;;;;N;;;;; +204F;REVERSED SEMICOLON;Po;0;ON;;;;;N;;;;; +2050;CLOSE UP;Po;0;ON;;;;;N;;;;; +2051;TWO ASTERISKS ALIGNED VERTICALLY;Po;0;ON;;;;;N;;;;; +2052;COMMERCIAL MINUS SIGN;Sm;0;ON;;;;;N;;;;; +2053;SWUNG DASH;Po;0;ON;;;;;N;;;;; +2054;INVERTED UNDERTIE;Pc;0;ON;;;;;N;;;;; +2055;FLOWER PUNCTUATION MARK;Po;0;ON;;;;;N;;;;; +2056;THREE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +2057;QUADRUPLE PRIME;Po;0;ON; 2032 2032 2032 2032;;;;N;;;;; +2058;FOUR DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +2059;FIVE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +205A;TWO DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +205B;FOUR DOT MARK;Po;0;ON;;;;;N;;;;; +205C;DOTTED CROSS;Po;0;ON;;;;;N;;;;; +205D;TRICOLON;Po;0;ON;;;;;N;;;;; +205E;VERTICAL FOUR DOTS;Po;0;ON;;;;;N;;;;; +205F;MEDIUM MATHEMATICAL SPACE;Zs;0;WS; 0020;;;;N;;;;; +2060;WORD JOINER;Cf;0;BN;;;;;N;;;;; +2061;FUNCTION APPLICATION;Cf;0;BN;;;;;N;;;;; +2062;INVISIBLE TIMES;Cf;0;BN;;;;;N;;;;; +2063;INVISIBLE SEPARATOR;Cf;0;BN;;;;;N;;;;; +2064;INVISIBLE PLUS;Cf;0;BN;;;;;N;;;;; +206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;; +206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;; +206C;INHIBIT ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;; +206D;ACTIVATE ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;; +206E;NATIONAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;; +206F;NOMINAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;; +2070;SUPERSCRIPT ZERO;No;0;EN; 0030;;0;0;N;SUPERSCRIPT DIGIT ZERO;;;; +2071;SUPERSCRIPT LATIN SMALL LETTER I;Ll;0;L; 0069;;;;N;;;;; +2074;SUPERSCRIPT FOUR;No;0;EN; 0034;;4;4;N;SUPERSCRIPT DIGIT FOUR;;;; +2075;SUPERSCRIPT FIVE;No;0;EN; 0035;;5;5;N;SUPERSCRIPT DIGIT FIVE;;;; +2076;SUPERSCRIPT SIX;No;0;EN; 0036;;6;6;N;SUPERSCRIPT DIGIT SIX;;;; +2077;SUPERSCRIPT SEVEN;No;0;EN; 0037;;7;7;N;SUPERSCRIPT DIGIT SEVEN;;;; +2078;SUPERSCRIPT EIGHT;No;0;EN; 0038;;8;8;N;SUPERSCRIPT DIGIT EIGHT;;;; +2079;SUPERSCRIPT NINE;No;0;EN; 0039;;9;9;N;SUPERSCRIPT DIGIT NINE;;;; +207A;SUPERSCRIPT PLUS SIGN;Sm;0;ES; 002B;;;;N;;;;; +207B;SUPERSCRIPT MINUS;Sm;0;ES; 2212;;;;N;SUPERSCRIPT HYPHEN-MINUS;;;; +207C;SUPERSCRIPT EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; +207D;SUPERSCRIPT LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SUPERSCRIPT OPENING PARENTHESIS;;;; +207E;SUPERSCRIPT RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SUPERSCRIPT CLOSING PARENTHESIS;;;; +207F;SUPERSCRIPT LATIN SMALL LETTER N;Ll;0;L; 006E;;;;N;;;;; +2080;SUBSCRIPT ZERO;No;0;EN; 0030;;0;0;N;SUBSCRIPT DIGIT ZERO;;;; +2081;SUBSCRIPT ONE;No;0;EN; 0031;;1;1;N;SUBSCRIPT DIGIT ONE;;;; +2082;SUBSCRIPT TWO;No;0;EN; 0032;;2;2;N;SUBSCRIPT DIGIT TWO;;;; +2083;SUBSCRIPT THREE;No;0;EN; 0033;;3;3;N;SUBSCRIPT DIGIT THREE;;;; +2084;SUBSCRIPT FOUR;No;0;EN; 0034;;4;4;N;SUBSCRIPT DIGIT FOUR;;;; +2085;SUBSCRIPT FIVE;No;0;EN; 0035;;5;5;N;SUBSCRIPT DIGIT FIVE;;;; +2086;SUBSCRIPT SIX;No;0;EN; 0036;;6;6;N;SUBSCRIPT DIGIT SIX;;;; +2087;SUBSCRIPT SEVEN;No;0;EN; 0037;;7;7;N;SUBSCRIPT DIGIT SEVEN;;;; +2088;SUBSCRIPT EIGHT;No;0;EN; 0038;;8;8;N;SUBSCRIPT DIGIT EIGHT;;;; +2089;SUBSCRIPT NINE;No;0;EN; 0039;;9;9;N;SUBSCRIPT DIGIT NINE;;;; +208A;SUBSCRIPT PLUS SIGN;Sm;0;ES; 002B;;;;N;;;;; +208B;SUBSCRIPT MINUS;Sm;0;ES; 2212;;;;N;SUBSCRIPT HYPHEN-MINUS;;;; +208C;SUBSCRIPT EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; +208D;SUBSCRIPT LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SUBSCRIPT OPENING PARENTHESIS;;;; +208E;SUBSCRIPT RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SUBSCRIPT CLOSING PARENTHESIS;;;; +2090;LATIN SUBSCRIPT SMALL LETTER A;Lm;0;L; 0061;;;;N;;;;; +2091;LATIN SUBSCRIPT SMALL LETTER E;Lm;0;L; 0065;;;;N;;;;; +2092;LATIN SUBSCRIPT SMALL LETTER O;Lm;0;L; 006F;;;;N;;;;; +2093;LATIN SUBSCRIPT SMALL LETTER X;Lm;0;L; 0078;;;;N;;;;; +2094;LATIN SUBSCRIPT SMALL LETTER SCHWA;Lm;0;L; 0259;;;;N;;;;; +20A0;EURO-CURRENCY SIGN;Sc;0;ET;;;;;N;;;;; +20A1;COLON SIGN;Sc;0;ET;;;;;N;;;;; +20A2;CRUZEIRO SIGN;Sc;0;ET;;;;;N;;;;; +20A3;FRENCH FRANC SIGN;Sc;0;ET;;;;;N;;;;; +20A4;LIRA SIGN;Sc;0;ET;;;;;N;;;;; +20A5;MILL SIGN;Sc;0;ET;;;;;N;;;;; +20A6;NAIRA SIGN;Sc;0;ET;;;;;N;;;;; +20A7;PESETA SIGN;Sc;0;ET;;;;;N;;;;; +20A8;RUPEE SIGN;Sc;0;ET; 0052 0073;;;;N;;;;; +20A9;WON SIGN;Sc;0;ET;;;;;N;;;;; +20AA;NEW SHEQEL SIGN;Sc;0;ET;;;;;N;;;;; +20AB;DONG SIGN;Sc;0;ET;;;;;N;;;;; +20AC;EURO SIGN;Sc;0;ET;;;;;N;;;;; +20AD;KIP SIGN;Sc;0;ET;;;;;N;;;;; +20AE;TUGRIK SIGN;Sc;0;ET;;;;;N;;;;; +20AF;DRACHMA SIGN;Sc;0;ET;;;;;N;;;;; +20B0;GERMAN PENNY SIGN;Sc;0;ET;;;;;N;;;;; +20B1;PESO SIGN;Sc;0;ET;;;;;N;;;;; +20B2;GUARANI SIGN;Sc;0;ET;;;;;N;;;;; +20B3;AUSTRAL SIGN;Sc;0;ET;;;;;N;;;;; +20B4;HRYVNIA SIGN;Sc;0;ET;;;;;N;;;;; +20B5;CEDI SIGN;Sc;0;ET;;;;;N;;;;; +20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;; +20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;; +20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;; +20D3;COMBINING SHORT VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT VERTICAL BAR OVERLAY;;;; +20D4;COMBINING ANTICLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING ANTICLOCKWISE ARROW ABOVE;;;; +20D5;COMBINING CLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING CLOCKWISE ARROW ABOVE;;;; +20D6;COMBINING LEFT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT ARROW ABOVE;;;; +20D7;COMBINING RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT ARROW ABOVE;;;; +20D8;COMBINING RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING RING OVERLAY;;;; +20D9;COMBINING CLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING CLOCKWISE RING OVERLAY;;;; +20DA;COMBINING ANTICLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING ANTICLOCKWISE RING OVERLAY;;;; +20DB;COMBINING THREE DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING THREE DOTS ABOVE;;;; +20DC;COMBINING FOUR DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING FOUR DOTS ABOVE;;;; +20DD;COMBINING ENCLOSING CIRCLE;Me;0;NSM;;;;;N;ENCLOSING CIRCLE;;;; +20DE;COMBINING ENCLOSING SQUARE;Me;0;NSM;;;;;N;ENCLOSING SQUARE;;;; +20DF;COMBINING ENCLOSING DIAMOND;Me;0;NSM;;;;;N;ENCLOSING DIAMOND;;;; +20E0;COMBINING ENCLOSING CIRCLE BACKSLASH;Me;0;NSM;;;;;N;ENCLOSING CIRCLE SLASH;;;; +20E1;COMBINING LEFT RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT RIGHT ARROW ABOVE;;;; +20E2;COMBINING ENCLOSING SCREEN;Me;0;NSM;;;;;N;;;;; +20E3;COMBINING ENCLOSING KEYCAP;Me;0;NSM;;;;;N;;;;; +20E4;COMBINING ENCLOSING UPWARD POINTING TRIANGLE;Me;0;NSM;;;;;N;;;;; +20E5;COMBINING REVERSE SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;;;;; +20E6;COMBINING DOUBLE VERTICAL STROKE OVERLAY;Mn;1;NSM;;;;;N;;;;; +20E7;COMBINING ANNUITY SYMBOL;Mn;230;NSM;;;;;N;;;;; +20E8;COMBINING TRIPLE UNDERDOT;Mn;220;NSM;;;;;N;;;;; +20E9;COMBINING WIDE BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;; +20EA;COMBINING LEFTWARDS ARROW OVERLAY;Mn;1;NSM;;;;;N;;;;; +20EB;COMBINING LONG DOUBLE SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;;;;; +20EC;COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS;Mn;220;NSM;;;;;N;;;;; +20ED;COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS;Mn;220;NSM;;;;;N;;;;; +20EE;COMBINING LEFT ARROW BELOW;Mn;220;NSM;;;;;N;;;;; +20EF;COMBINING RIGHT ARROW BELOW;Mn;220;NSM;;;;;N;;;;; +20F0;COMBINING ASTERISK ABOVE;Mn;230;NSM;;;;;N;;;;; +2100;ACCOUNT OF;So;0;ON; 0061 002F 0063;;;;N;;;;; +2101;ADDRESSED TO THE SUBJECT;So;0;ON; 0061 002F 0073;;;;N;;;;; +2102;DOUBLE-STRUCK CAPITAL C;Lu;0;L; 0043;;;;N;DOUBLE-STRUCK C;;;; +2103;DEGREE CELSIUS;So;0;ON; 00B0 0043;;;;N;DEGREES CENTIGRADE;;;; +2104;CENTRE LINE SYMBOL;So;0;ON;;;;;N;C L SYMBOL;;;; +2105;CARE OF;So;0;ON; 0063 002F 006F;;;;N;;;;; +2106;CADA UNA;So;0;ON; 0063 002F 0075;;;;N;;;;; +2107;EULER CONSTANT;Lu;0;L; 0190;;;;N;EULERS;;;; +2108;SCRUPLE;So;0;ON;;;;;N;;;;; +2109;DEGREE FAHRENHEIT;So;0;ON; 00B0 0046;;;;N;DEGREES FAHRENHEIT;;;; +210A;SCRIPT SMALL G;Ll;0;L; 0067;;;;N;;;;; +210B;SCRIPT CAPITAL H;Lu;0;L; 0048;;;;N;SCRIPT H;;;; +210C;BLACK-LETTER CAPITAL H;Lu;0;L; 0048;;;;N;BLACK-LETTER H;;;; +210D;DOUBLE-STRUCK CAPITAL H;Lu;0;L; 0048;;;;N;DOUBLE-STRUCK H;;;; +210E;PLANCK CONSTANT;Ll;0;L; 0068;;;;N;;;;; +210F;PLANCK CONSTANT OVER TWO PI;Ll;0;L; 0127;;;;N;PLANCK CONSTANT OVER 2 PI;;;; +2110;SCRIPT CAPITAL I;Lu;0;L; 0049;;;;N;SCRIPT I;;;; +2111;BLACK-LETTER CAPITAL I;Lu;0;L; 0049;;;;N;BLACK-LETTER I;;;; +2112;SCRIPT CAPITAL L;Lu;0;L; 004C;;;;N;SCRIPT L;;;; +2113;SCRIPT SMALL L;Ll;0;L; 006C;;;;N;;;;; +2114;L B BAR SYMBOL;So;0;ON;;;;;N;;;;; +2115;DOUBLE-STRUCK CAPITAL N;Lu;0;L; 004E;;;;N;DOUBLE-STRUCK N;;;; +2116;NUMERO SIGN;So;0;ON; 004E 006F;;;;N;NUMERO;;;; +2117;SOUND RECORDING COPYRIGHT;So;0;ON;;;;;N;;;;; +2118;SCRIPT CAPITAL P;So;0;ON;;;;;N;SCRIPT P;;;; +2119;DOUBLE-STRUCK CAPITAL P;Lu;0;L; 0050;;;;N;DOUBLE-STRUCK P;;;; +211A;DOUBLE-STRUCK CAPITAL Q;Lu;0;L; 0051;;;;N;DOUBLE-STRUCK Q;;;; +211B;SCRIPT CAPITAL R;Lu;0;L; 0052;;;;N;SCRIPT R;;;; +211C;BLACK-LETTER CAPITAL R;Lu;0;L; 0052;;;;N;BLACK-LETTER R;;;; +211D;DOUBLE-STRUCK CAPITAL R;Lu;0;L; 0052;;;;N;DOUBLE-STRUCK R;;;; +211E;PRESCRIPTION TAKE;So;0;ON;;;;;N;;;;; +211F;RESPONSE;So;0;ON;;;;;N;;;;; +2120;SERVICE MARK;So;0;ON; 0053 004D;;;;N;;;;; +2121;TELEPHONE SIGN;So;0;ON; 0054 0045 004C;;;;N;T E L SYMBOL;;;; +2122;TRADE MARK SIGN;So;0;ON; 0054 004D;;;;N;TRADEMARK;;;; +2123;VERSICLE;So;0;ON;;;;;N;;;;; +2124;DOUBLE-STRUCK CAPITAL Z;Lu;0;L; 005A;;;;N;DOUBLE-STRUCK Z;;;; +2125;OUNCE SIGN;So;0;ON;;;;;N;OUNCE;;;; +2126;OHM SIGN;Lu;0;L;03A9;;;;N;OHM;;;03C9; +2127;INVERTED OHM SIGN;So;0;ON;;;;;N;MHO;;;; +2128;BLACK-LETTER CAPITAL Z;Lu;0;L; 005A;;;;N;BLACK-LETTER Z;;;; +2129;TURNED GREEK SMALL LETTER IOTA;So;0;ON;;;;;N;;;;; +212A;KELVIN SIGN;Lu;0;L;004B;;;;N;DEGREES KELVIN;;;006B; +212B;ANGSTROM SIGN;Lu;0;L;00C5;;;;N;ANGSTROM UNIT;;;00E5; +212C;SCRIPT CAPITAL B;Lu;0;L; 0042;;;;N;SCRIPT B;;;; +212D;BLACK-LETTER CAPITAL C;Lu;0;L; 0043;;;;N;BLACK-LETTER C;;;; +212E;ESTIMATED SYMBOL;So;0;ET;;;;;N;;;;; +212F;SCRIPT SMALL E;Ll;0;L; 0065;;;;N;;;;; +2130;SCRIPT CAPITAL E;Lu;0;L; 0045;;;;N;SCRIPT E;;;; +2131;SCRIPT CAPITAL F;Lu;0;L; 0046;;;;N;SCRIPT F;;;; +2132;TURNED CAPITAL F;Lu;0;L;;;;;N;TURNED F;;;214E; +2133;SCRIPT CAPITAL M;Lu;0;L; 004D;;;;N;SCRIPT M;;;; +2134;SCRIPT SMALL O;Ll;0;L; 006F;;;;N;;;;; +2135;ALEF SYMBOL;Lo;0;L; 05D0;;;;N;FIRST TRANSFINITE CARDINAL;;;; +2136;BET SYMBOL;Lo;0;L; 05D1;;;;N;SECOND TRANSFINITE CARDINAL;;;; +2137;GIMEL SYMBOL;Lo;0;L; 05D2;;;;N;THIRD TRANSFINITE CARDINAL;;;; +2138;DALET SYMBOL;Lo;0;L; 05D3;;;;N;FOURTH TRANSFINITE CARDINAL;;;; +2139;INFORMATION SOURCE;Ll;0;L; 0069;;;;N;;;;; +213A;ROTATED CAPITAL Q;So;0;ON;;;;;N;;;;; +213B;FACSIMILE SIGN;So;0;ON; 0046 0041 0058;;;;N;;;;; +213C;DOUBLE-STRUCK SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +213D;DOUBLE-STRUCK SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +213E;DOUBLE-STRUCK CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +213F;DOUBLE-STRUCK CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +2140;DOUBLE-STRUCK N-ARY SUMMATION;Sm;0;ON; 2211;;;;Y;;;;; +2141;TURNED SANS-SERIF CAPITAL G;Sm;0;ON;;;;;N;;;;; +2142;TURNED SANS-SERIF CAPITAL L;Sm;0;ON;;;;;N;;;;; +2143;REVERSED SANS-SERIF CAPITAL L;Sm;0;ON;;;;;N;;;;; +2144;TURNED SANS-SERIF CAPITAL Y;Sm;0;ON;;;;;N;;;;; +2145;DOUBLE-STRUCK ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +2146;DOUBLE-STRUCK ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; +2147;DOUBLE-STRUCK ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; +2148;DOUBLE-STRUCK ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; +2149;DOUBLE-STRUCK ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; +214A;PROPERTY LINE;So;0;ON;;;;;N;;;;; +214B;TURNED AMPERSAND;Sm;0;ON;;;;;N;;;;; +214C;PER SIGN;So;0;ON;;;;;N;;;;; +214D;AKTIESELSKAB;So;0;ON;;;;;N;;;;; +214E;TURNED SMALL F;Ll;0;L;;;;;N;;;2132;;2132 +214F;SYMBOL FOR SAMARITAN SOURCE;So;0;L;;;;;N;;;;; +2153;VULGAR FRACTION ONE THIRD;No;0;ON; 0031 2044 0033;;;1/3;N;FRACTION ONE THIRD;;;; +2154;VULGAR FRACTION TWO THIRDS;No;0;ON; 0032 2044 0033;;;2/3;N;FRACTION TWO THIRDS;;;; +2155;VULGAR FRACTION ONE FIFTH;No;0;ON; 0031 2044 0035;;;1/5;N;FRACTION ONE FIFTH;;;; +2156;VULGAR FRACTION TWO FIFTHS;No;0;ON; 0032 2044 0035;;;2/5;N;FRACTION TWO FIFTHS;;;; +2157;VULGAR FRACTION THREE FIFTHS;No;0;ON; 0033 2044 0035;;;3/5;N;FRACTION THREE FIFTHS;;;; +2158;VULGAR FRACTION FOUR FIFTHS;No;0;ON; 0034 2044 0035;;;4/5;N;FRACTION FOUR FIFTHS;;;; +2159;VULGAR FRACTION ONE SIXTH;No;0;ON; 0031 2044 0036;;;1/6;N;FRACTION ONE SIXTH;;;; +215A;VULGAR FRACTION FIVE SIXTHS;No;0;ON; 0035 2044 0036;;;5/6;N;FRACTION FIVE SIXTHS;;;; +215B;VULGAR FRACTION ONE EIGHTH;No;0;ON; 0031 2044 0038;;;1/8;N;FRACTION ONE EIGHTH;;;; +215C;VULGAR FRACTION THREE EIGHTHS;No;0;ON; 0033 2044 0038;;;3/8;N;FRACTION THREE EIGHTHS;;;; +215D;VULGAR FRACTION FIVE EIGHTHS;No;0;ON; 0035 2044 0038;;;5/8;N;FRACTION FIVE EIGHTHS;;;; +215E;VULGAR FRACTION SEVEN EIGHTHS;No;0;ON; 0037 2044 0038;;;7/8;N;FRACTION SEVEN EIGHTHS;;;; +215F;FRACTION NUMERATOR ONE;No;0;ON; 0031 2044;;;1;N;;;;; +2160;ROMAN NUMERAL ONE;Nl;0;L; 0049;;;1;N;;;;2170; +2161;ROMAN NUMERAL TWO;Nl;0;L; 0049 0049;;;2;N;;;;2171; +2162;ROMAN NUMERAL THREE;Nl;0;L; 0049 0049 0049;;;3;N;;;;2172; +2163;ROMAN NUMERAL FOUR;Nl;0;L; 0049 0056;;;4;N;;;;2173; +2164;ROMAN NUMERAL FIVE;Nl;0;L; 0056;;;5;N;;;;2174; +2165;ROMAN NUMERAL SIX;Nl;0;L; 0056 0049;;;6;N;;;;2175; +2166;ROMAN NUMERAL SEVEN;Nl;0;L; 0056 0049 0049;;;7;N;;;;2176; +2167;ROMAN NUMERAL EIGHT;Nl;0;L; 0056 0049 0049 0049;;;8;N;;;;2177; +2168;ROMAN NUMERAL NINE;Nl;0;L; 0049 0058;;;9;N;;;;2178; +2169;ROMAN NUMERAL TEN;Nl;0;L; 0058;;;10;N;;;;2179; +216A;ROMAN NUMERAL ELEVEN;Nl;0;L; 0058 0049;;;11;N;;;;217A; +216B;ROMAN NUMERAL TWELVE;Nl;0;L; 0058 0049 0049;;;12;N;;;;217B; +216C;ROMAN NUMERAL FIFTY;Nl;0;L; 004C;;;50;N;;;;217C; +216D;ROMAN NUMERAL ONE HUNDRED;Nl;0;L; 0043;;;100;N;;;;217D; +216E;ROMAN NUMERAL FIVE HUNDRED;Nl;0;L; 0044;;;500;N;;;;217E; +216F;ROMAN NUMERAL ONE THOUSAND;Nl;0;L; 004D;;;1000;N;;;;217F; +2170;SMALL ROMAN NUMERAL ONE;Nl;0;L; 0069;;;1;N;;;2160;;2160 +2171;SMALL ROMAN NUMERAL TWO;Nl;0;L; 0069 0069;;;2;N;;;2161;;2161 +2172;SMALL ROMAN NUMERAL THREE;Nl;0;L; 0069 0069 0069;;;3;N;;;2162;;2162 +2173;SMALL ROMAN NUMERAL FOUR;Nl;0;L; 0069 0076;;;4;N;;;2163;;2163 +2174;SMALL ROMAN NUMERAL FIVE;Nl;0;L; 0076;;;5;N;;;2164;;2164 +2175;SMALL ROMAN NUMERAL SIX;Nl;0;L; 0076 0069;;;6;N;;;2165;;2165 +2176;SMALL ROMAN NUMERAL SEVEN;Nl;0;L; 0076 0069 0069;;;7;N;;;2166;;2166 +2177;SMALL ROMAN NUMERAL EIGHT;Nl;0;L; 0076 0069 0069 0069;;;8;N;;;2167;;2167 +2178;SMALL ROMAN NUMERAL NINE;Nl;0;L; 0069 0078;;;9;N;;;2168;;2168 +2179;SMALL ROMAN NUMERAL TEN;Nl;0;L; 0078;;;10;N;;;2169;;2169 +217A;SMALL ROMAN NUMERAL ELEVEN;Nl;0;L; 0078 0069;;;11;N;;;216A;;216A +217B;SMALL ROMAN NUMERAL TWELVE;Nl;0;L; 0078 0069 0069;;;12;N;;;216B;;216B +217C;SMALL ROMAN NUMERAL FIFTY;Nl;0;L; 006C;;;50;N;;;216C;;216C +217D;SMALL ROMAN NUMERAL ONE HUNDRED;Nl;0;L; 0063;;;100;N;;;216D;;216D +217E;SMALL ROMAN NUMERAL FIVE HUNDRED;Nl;0;L; 0064;;;500;N;;;216E;;216E +217F;SMALL ROMAN NUMERAL ONE THOUSAND;Nl;0;L; 006D;;;1000;N;;;216F;;216F +2180;ROMAN NUMERAL ONE THOUSAND C D;Nl;0;L;;;;1000;N;;;;; +2181;ROMAN NUMERAL FIVE THOUSAND;Nl;0;L;;;;5000;N;;;;; +2182;ROMAN NUMERAL TEN THOUSAND;Nl;0;L;;;;10000;N;;;;; +2183;ROMAN NUMERAL REVERSED ONE HUNDRED;Lu;0;L;;;;;N;;;;2184; +2184;LATIN SMALL LETTER REVERSED C;Ll;0;L;;;;;N;;;2183;;2183 +2185;ROMAN NUMERAL SIX LATE FORM;Nl;0;L;;;;6;N;;;;; +2186;ROMAN NUMERAL FIFTY EARLY FORM;Nl;0;L;;;;50;N;;;;; +2187;ROMAN NUMERAL FIFTY THOUSAND;Nl;0;L;;;;50000;N;;;;; +2188;ROMAN NUMERAL ONE HUNDRED THOUSAND;Nl;0;L;;;;100000;N;;;;; +2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;; +2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;; +2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;; +2193;DOWNWARDS ARROW;Sm;0;ON;;;;;N;DOWN ARROW;;;; +2194;LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;; +2195;UP DOWN ARROW;So;0;ON;;;;;N;;;;; +2196;NORTH WEST ARROW;So;0;ON;;;;;N;UPPER LEFT ARROW;;;; +2197;NORTH EAST ARROW;So;0;ON;;;;;N;UPPER RIGHT ARROW;;;; +2198;SOUTH EAST ARROW;So;0;ON;;;;;N;LOWER RIGHT ARROW;;;; +2199;SOUTH WEST ARROW;So;0;ON;;;;;N;LOWER LEFT ARROW;;;; +219A;LEFTWARDS ARROW WITH STROKE;Sm;0;ON;2190 0338;;;;N;LEFT ARROW WITH STROKE;;;; +219B;RIGHTWARDS ARROW WITH STROKE;Sm;0;ON;2192 0338;;;;N;RIGHT ARROW WITH STROKE;;;; +219C;LEFTWARDS WAVE ARROW;So;0;ON;;;;;N;LEFT WAVE ARROW;;;; +219D;RIGHTWARDS WAVE ARROW;So;0;ON;;;;;N;RIGHT WAVE ARROW;;;; +219E;LEFTWARDS TWO HEADED ARROW;So;0;ON;;;;;N;LEFT TWO HEADED ARROW;;;; +219F;UPWARDS TWO HEADED ARROW;So;0;ON;;;;;N;UP TWO HEADED ARROW;;;; +21A0;RIGHTWARDS TWO HEADED ARROW;Sm;0;ON;;;;;N;RIGHT TWO HEADED ARROW;;;; +21A1;DOWNWARDS TWO HEADED ARROW;So;0;ON;;;;;N;DOWN TWO HEADED ARROW;;;; +21A2;LEFTWARDS ARROW WITH TAIL;So;0;ON;;;;;N;LEFT ARROW WITH TAIL;;;; +21A3;RIGHTWARDS ARROW WITH TAIL;Sm;0;ON;;;;;N;RIGHT ARROW WITH TAIL;;;; +21A4;LEFTWARDS ARROW FROM BAR;So;0;ON;;;;;N;LEFT ARROW FROM BAR;;;; +21A5;UPWARDS ARROW FROM BAR;So;0;ON;;;;;N;UP ARROW FROM BAR;;;; +21A6;RIGHTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;RIGHT ARROW FROM BAR;;;; +21A7;DOWNWARDS ARROW FROM BAR;So;0;ON;;;;;N;DOWN ARROW FROM BAR;;;; +21A8;UP DOWN ARROW WITH BASE;So;0;ON;;;;;N;;;;; +21A9;LEFTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;LEFT ARROW WITH HOOK;;;; +21AA;RIGHTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;RIGHT ARROW WITH HOOK;;;; +21AB;LEFTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;LEFT ARROW WITH LOOP;;;; +21AC;RIGHTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;RIGHT ARROW WITH LOOP;;;; +21AD;LEFT RIGHT WAVE ARROW;So;0;ON;;;;;N;;;;; +21AE;LEFT RIGHT ARROW WITH STROKE;Sm;0;ON;2194 0338;;;;N;;;;; +21AF;DOWNWARDS ZIGZAG ARROW;So;0;ON;;;;;N;DOWN ZIGZAG ARROW;;;; +21B0;UPWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP LEFT;;;; +21B1;UPWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP RIGHT;;;; +21B2;DOWNWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP LEFT;;;; +21B3;DOWNWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP RIGHT;;;; +21B4;RIGHTWARDS ARROW WITH CORNER DOWNWARDS;So;0;ON;;;;;N;RIGHT ARROW WITH CORNER DOWN;;;; +21B5;DOWNWARDS ARROW WITH CORNER LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH CORNER LEFT;;;; +21B6;ANTICLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;; +21B7;CLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;; +21B8;NORTH WEST ARROW TO LONG BAR;So;0;ON;;;;;N;UPPER LEFT ARROW TO LONG BAR;;;; +21B9;LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR OVER RIGHT ARROW TO BAR;;;; +21BA;ANTICLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; +21BB;CLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; +21BC;LEFTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB UP;;;; +21BD;LEFTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB DOWN;;;; +21BE;UPWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB RIGHT;;;; +21BF;UPWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB LEFT;;;; +21C0;RIGHTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB UP;;;; +21C1;RIGHTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB DOWN;;;; +21C2;DOWNWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB RIGHT;;;; +21C3;DOWNWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB LEFT;;;; +21C4;RIGHTWARDS ARROW OVER LEFTWARDS ARROW;So;0;ON;;;;;N;RIGHT ARROW OVER LEFT ARROW;;;; +21C5;UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW;So;0;ON;;;;;N;UP ARROW LEFT OF DOWN ARROW;;;; +21C6;LEFTWARDS ARROW OVER RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT ARROW OVER RIGHT ARROW;;;; +21C7;LEFTWARDS PAIRED ARROWS;So;0;ON;;;;;N;LEFT PAIRED ARROWS;;;; +21C8;UPWARDS PAIRED ARROWS;So;0;ON;;;;;N;UP PAIRED ARROWS;;;; +21C9;RIGHTWARDS PAIRED ARROWS;So;0;ON;;;;;N;RIGHT PAIRED ARROWS;;;; +21CA;DOWNWARDS PAIRED ARROWS;So;0;ON;;;;;N;DOWN PAIRED ARROWS;;;; +21CB;LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON;So;0;ON;;;;;N;LEFT HARPOON OVER RIGHT HARPOON;;;; +21CC;RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON;So;0;ON;;;;;N;RIGHT HARPOON OVER LEFT HARPOON;;;; +21CD;LEFTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;21D0 0338;;;;N;LEFT DOUBLE ARROW WITH STROKE;;;; +21CE;LEFT RIGHT DOUBLE ARROW WITH STROKE;Sm;0;ON;21D4 0338;;;;N;;;;; +21CF;RIGHTWARDS DOUBLE ARROW WITH STROKE;Sm;0;ON;21D2 0338;;;;N;RIGHT DOUBLE ARROW WITH STROKE;;;; +21D0;LEFTWARDS DOUBLE ARROW;So;0;ON;;;;;N;LEFT DOUBLE ARROW;;;; +21D1;UPWARDS DOUBLE ARROW;So;0;ON;;;;;N;UP DOUBLE ARROW;;;; +21D2;RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;RIGHT DOUBLE ARROW;;;; +21D3;DOWNWARDS DOUBLE ARROW;So;0;ON;;;;;N;DOWN DOUBLE ARROW;;;; +21D4;LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; +21D5;UP DOWN DOUBLE ARROW;So;0;ON;;;;;N;;;;; +21D6;NORTH WEST DOUBLE ARROW;So;0;ON;;;;;N;UPPER LEFT DOUBLE ARROW;;;; +21D7;NORTH EAST DOUBLE ARROW;So;0;ON;;;;;N;UPPER RIGHT DOUBLE ARROW;;;; +21D8;SOUTH EAST DOUBLE ARROW;So;0;ON;;;;;N;LOWER RIGHT DOUBLE ARROW;;;; +21D9;SOUTH WEST DOUBLE ARROW;So;0;ON;;;;;N;LOWER LEFT DOUBLE ARROW;;;; +21DA;LEFTWARDS TRIPLE ARROW;So;0;ON;;;;;N;LEFT TRIPLE ARROW;;;; +21DB;RIGHTWARDS TRIPLE ARROW;So;0;ON;;;;;N;RIGHT TRIPLE ARROW;;;; +21DC;LEFTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;LEFT SQUIGGLE ARROW;;;; +21DD;RIGHTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;RIGHT SQUIGGLE ARROW;;;; +21DE;UPWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;UP ARROW WITH DOUBLE STROKE;;;; +21DF;DOWNWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;DOWN ARROW WITH DOUBLE STROKE;;;; +21E0;LEFTWARDS DASHED ARROW;So;0;ON;;;;;N;LEFT DASHED ARROW;;;; +21E1;UPWARDS DASHED ARROW;So;0;ON;;;;;N;UP DASHED ARROW;;;; +21E2;RIGHTWARDS DASHED ARROW;So;0;ON;;;;;N;RIGHT DASHED ARROW;;;; +21E3;DOWNWARDS DASHED ARROW;So;0;ON;;;;;N;DOWN DASHED ARROW;;;; +21E4;LEFTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR;;;; +21E5;RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;RIGHT ARROW TO BAR;;;; +21E6;LEFTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE LEFT ARROW;;;; +21E7;UPWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE UP ARROW;;;; +21E8;RIGHTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE RIGHT ARROW;;;; +21E9;DOWNWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE DOWN ARROW;;;; +21EA;UPWARDS WHITE ARROW FROM BAR;So;0;ON;;;;;N;WHITE UP ARROW FROM BAR;;;; +21EB;UPWARDS WHITE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;; +21EC;UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;; +21ED;UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR;So;0;ON;;;;;N;;;;; +21EE;UPWARDS WHITE DOUBLE ARROW;So;0;ON;;;;;N;;;;; +21EF;UPWARDS WHITE DOUBLE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;; +21F0;RIGHTWARDS WHITE ARROW FROM WALL;So;0;ON;;;;;N;;;;; +21F1;NORTH WEST ARROW TO CORNER;So;0;ON;;;;;N;;;;; +21F2;SOUTH EAST ARROW TO CORNER;So;0;ON;;;;;N;;;;; +21F3;UP DOWN WHITE ARROW;So;0;ON;;;;;N;;;;; +21F4;RIGHT ARROW WITH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; +21F5;DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW;Sm;0;ON;;;;;N;;;;; +21F6;THREE RIGHTWARDS ARROWS;Sm;0;ON;;;;;N;;;;; +21F7;LEFTWARDS ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21F8;RIGHTWARDS ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21F9;LEFT RIGHT ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21FA;LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21FB;RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21FC;LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21FD;LEFTWARDS OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;; +21FE;RIGHTWARDS OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;; +21FF;LEFT RIGHT OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;; +2200;FOR ALL;Sm;0;ON;;;;;N;;;;; +2201;COMPLEMENT;Sm;0;ON;;;;;Y;;;;; +2202;PARTIAL DIFFERENTIAL;Sm;0;ON;;;;;Y;;;;; +2203;THERE EXISTS;Sm;0;ON;;;;;Y;;;;; +2204;THERE DOES NOT EXIST;Sm;0;ON;2203 0338;;;;Y;;;;; +2205;EMPTY SET;Sm;0;ON;;;;;N;;;;; +2206;INCREMENT;Sm;0;ON;;;;;N;;;;; +2207;NABLA;Sm;0;ON;;;;;N;;;;; +2208;ELEMENT OF;Sm;0;ON;;;;;Y;;;;; +2209;NOT AN ELEMENT OF;Sm;0;ON;2208 0338;;;;Y;;;;; +220A;SMALL ELEMENT OF;Sm;0;ON;;;;;Y;;;;; +220B;CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;; +220C;DOES NOT CONTAIN AS MEMBER;Sm;0;ON;220B 0338;;;;Y;;;;; +220D;SMALL CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;; +220E;END OF PROOF;Sm;0;ON;;;;;N;;;;; +220F;N-ARY PRODUCT;Sm;0;ON;;;;;N;;;;; +2210;N-ARY COPRODUCT;Sm;0;ON;;;;;N;;;;; +2211;N-ARY SUMMATION;Sm;0;ON;;;;;Y;;;;; +2212;MINUS SIGN;Sm;0;ES;;;;;N;;;;; +2213;MINUS-OR-PLUS SIGN;Sm;0;ET;;;;;N;;;;; +2214;DOT PLUS;Sm;0;ON;;;;;N;;;;; +2215;DIVISION SLASH;Sm;0;ON;;;;;Y;;;;; +2216;SET MINUS;Sm;0;ON;;;;;Y;;;;; +2217;ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;; +2218;RING OPERATOR;Sm;0;ON;;;;;N;;;;; +2219;BULLET OPERATOR;Sm;0;ON;;;;;N;;;;; +221A;SQUARE ROOT;Sm;0;ON;;;;;Y;;;;; +221B;CUBE ROOT;Sm;0;ON;;;;;Y;;;;; +221C;FOURTH ROOT;Sm;0;ON;;;;;Y;;;;; +221D;PROPORTIONAL TO;Sm;0;ON;;;;;Y;;;;; +221E;INFINITY;Sm;0;ON;;;;;N;;;;; +221F;RIGHT ANGLE;Sm;0;ON;;;;;Y;;;;; +2220;ANGLE;Sm;0;ON;;;;;Y;;;;; +2221;MEASURED ANGLE;Sm;0;ON;;;;;Y;;;;; +2222;SPHERICAL ANGLE;Sm;0;ON;;;;;Y;;;;; +2223;DIVIDES;Sm;0;ON;;;;;N;;;;; +2224;DOES NOT DIVIDE;Sm;0;ON;2223 0338;;;;Y;;;;; +2225;PARALLEL TO;Sm;0;ON;;;;;N;;;;; +2226;NOT PARALLEL TO;Sm;0;ON;2225 0338;;;;Y;;;;; +2227;LOGICAL AND;Sm;0;ON;;;;;N;;;;; +2228;LOGICAL OR;Sm;0;ON;;;;;N;;;;; +2229;INTERSECTION;Sm;0;ON;;;;;N;;;;; +222A;UNION;Sm;0;ON;;;;;N;;;;; +222B;INTEGRAL;Sm;0;ON;;;;;Y;;;;; +222C;DOUBLE INTEGRAL;Sm;0;ON; 222B 222B;;;;Y;;;;; +222D;TRIPLE INTEGRAL;Sm;0;ON; 222B 222B 222B;;;;Y;;;;; +222E;CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; +222F;SURFACE INTEGRAL;Sm;0;ON; 222E 222E;;;;Y;;;;; +2230;VOLUME INTEGRAL;Sm;0;ON; 222E 222E 222E;;;;Y;;;;; +2231;CLOCKWISE INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2232;CLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2233;ANTICLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2234;THEREFORE;Sm;0;ON;;;;;N;;;;; +2235;BECAUSE;Sm;0;ON;;;;;N;;;;; +2236;RATIO;Sm;0;ON;;;;;N;;;;; +2237;PROPORTION;Sm;0;ON;;;;;N;;;;; +2238;DOT MINUS;Sm;0;ON;;;;;N;;;;; +2239;EXCESS;Sm;0;ON;;;;;Y;;;;; +223A;GEOMETRIC PROPORTION;Sm;0;ON;;;;;N;;;;; +223B;HOMOTHETIC;Sm;0;ON;;;;;Y;;;;; +223C;TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; +223D;REVERSED TILDE;Sm;0;ON;;;;;Y;;lazy S;;; +223E;INVERTED LAZY S;Sm;0;ON;;;;;Y;;;;; +223F;SINE WAVE;Sm;0;ON;;;;;Y;;;;; +2240;WREATH PRODUCT;Sm;0;ON;;;;;Y;;;;; +2241;NOT TILDE;Sm;0;ON;223C 0338;;;;Y;;;;; +2242;MINUS TILDE;Sm;0;ON;;;;;Y;;;;; +2243;ASYMPTOTICALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2244;NOT ASYMPTOTICALLY EQUAL TO;Sm;0;ON;2243 0338;;;;Y;;;;; +2245;APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2246;APPROXIMATELY BUT NOT ACTUALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2247;NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO;Sm;0;ON;2245 0338;;;;Y;;;;; +2248;ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2249;NOT ALMOST EQUAL TO;Sm;0;ON;2248 0338;;;;Y;;;;; +224A;ALMOST EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +224B;TRIPLE TILDE;Sm;0;ON;;;;;Y;;;;; +224C;ALL EQUAL TO;Sm;0;ON;;;;;Y;;;;; +224D;EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; +224E;GEOMETRICALLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; +224F;DIFFERENCE BETWEEN;Sm;0;ON;;;;;N;;;;; +2250;APPROACHES THE LIMIT;Sm;0;ON;;;;;N;;;;; +2251;GEOMETRICALLY EQUAL TO;Sm;0;ON;;;;;N;;;;; +2252;APPROXIMATELY EQUAL TO OR THE IMAGE OF;Sm;0;ON;;;;;Y;;;;; +2253;IMAGE OF OR APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2254;COLON EQUALS;Sm;0;ON;;;;;Y;COLON EQUAL;;;; +2255;EQUALS COLON;Sm;0;ON;;;;;Y;EQUAL COLON;;;; +2256;RING IN EQUAL TO;Sm;0;ON;;;;;N;;;;; +2257;RING EQUAL TO;Sm;0;ON;;;;;N;;;;; +2258;CORRESPONDS TO;Sm;0;ON;;;;;N;;;;; +2259;ESTIMATES;Sm;0;ON;;;;;N;;;;; +225A;EQUIANGULAR TO;Sm;0;ON;;;;;N;;;;; +225B;STAR EQUALS;Sm;0;ON;;;;;N;;;;; +225C;DELTA EQUAL TO;Sm;0;ON;;;;;N;;;;; +225D;EQUAL TO BY DEFINITION;Sm;0;ON;;;;;N;;;;; +225E;MEASURED BY;Sm;0;ON;;;;;N;;;;; +225F;QUESTIONED EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2260;NOT EQUAL TO;Sm;0;ON;003D 0338;;;;Y;;;;; +2261;IDENTICAL TO;Sm;0;ON;;;;;N;;;;; +2262;NOT IDENTICAL TO;Sm;0;ON;2261 0338;;;;Y;;;;; +2263;STRICTLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; +2264;LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUAL TO;;;; +2265;GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUAL TO;;;; +2266;LESS-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OVER EQUAL TO;;;; +2267;GREATER-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OVER EQUAL TO;;;; +2268;LESS-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUAL TO;;;; +2269;GREATER-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUAL TO;;;; +226A;MUCH LESS-THAN;Sm;0;ON;;;;;Y;MUCH LESS THAN;;;; +226B;MUCH GREATER-THAN;Sm;0;ON;;;;;Y;MUCH GREATER THAN;;;; +226C;BETWEEN;Sm;0;ON;;;;;N;;;;; +226D;NOT EQUIVALENT TO;Sm;0;ON;224D 0338;;;;N;;;;; +226E;NOT LESS-THAN;Sm;0;ON;003C 0338;;;;Y;NOT LESS THAN;;;; +226F;NOT GREATER-THAN;Sm;0;ON;003E 0338;;;;Y;NOT GREATER THAN;;;; +2270;NEITHER LESS-THAN NOR EQUAL TO;Sm;0;ON;2264 0338;;;;Y;NEITHER LESS THAN NOR EQUAL TO;;;; +2271;NEITHER GREATER-THAN NOR EQUAL TO;Sm;0;ON;2265 0338;;;;Y;NEITHER GREATER THAN NOR EQUAL TO;;;; +2272;LESS-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUIVALENT TO;;;; +2273;GREATER-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUIVALENT TO;;;; +2274;NEITHER LESS-THAN NOR EQUIVALENT TO;Sm;0;ON;2272 0338;;;;Y;NEITHER LESS THAN NOR EQUIVALENT TO;;;; +2275;NEITHER GREATER-THAN NOR EQUIVALENT TO;Sm;0;ON;2273 0338;;;;Y;NEITHER GREATER THAN NOR EQUIVALENT TO;;;; +2276;LESS-THAN OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN OR GREATER THAN;;;; +2277;GREATER-THAN OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN OR LESS THAN;;;; +2278;NEITHER LESS-THAN NOR GREATER-THAN;Sm;0;ON;2276 0338;;;;Y;NEITHER LESS THAN NOR GREATER THAN;;;; +2279;NEITHER GREATER-THAN NOR LESS-THAN;Sm;0;ON;2277 0338;;;;Y;NEITHER GREATER THAN NOR LESS THAN;;;; +227A;PRECEDES;Sm;0;ON;;;;;Y;;;;; +227B;SUCCEEDS;Sm;0;ON;;;;;Y;;;;; +227C;PRECEDES OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +227D;SUCCEEDS OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +227E;PRECEDES OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; +227F;SUCCEEDS OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; +2280;DOES NOT PRECEDE;Sm;0;ON;227A 0338;;;;Y;;;;; +2281;DOES NOT SUCCEED;Sm;0;ON;227B 0338;;;;Y;;;;; +2282;SUBSET OF;Sm;0;ON;;;;;Y;;;;; +2283;SUPERSET OF;Sm;0;ON;;;;;Y;;;;; +2284;NOT A SUBSET OF;Sm;0;ON;2282 0338;;;;Y;;;;; +2285;NOT A SUPERSET OF;Sm;0;ON;2283 0338;;;;Y;;;;; +2286;SUBSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2287;SUPERSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2288;NEITHER A SUBSET OF NOR EQUAL TO;Sm;0;ON;2286 0338;;;;Y;;;;; +2289;NEITHER A SUPERSET OF NOR EQUAL TO;Sm;0;ON;2287 0338;;;;Y;;;;; +228A;SUBSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUBSET OF OR NOT EQUAL TO;;;; +228B;SUPERSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUPERSET OF OR NOT EQUAL TO;;;; +228C;MULTISET;Sm;0;ON;;;;;Y;;;;; +228D;MULTISET MULTIPLICATION;Sm;0;ON;;;;;N;;;;; +228E;MULTISET UNION;Sm;0;ON;;;;;N;;;;; +228F;SQUARE IMAGE OF;Sm;0;ON;;;;;Y;;;;; +2290;SQUARE ORIGINAL OF;Sm;0;ON;;;;;Y;;;;; +2291;SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2292;SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2293;SQUARE CAP;Sm;0;ON;;;;;N;;;;; +2294;SQUARE CUP;Sm;0;ON;;;;;N;;;;; +2295;CIRCLED PLUS;Sm;0;ON;;;;;N;;;;; +2296;CIRCLED MINUS;Sm;0;ON;;;;;N;;;;; +2297;CIRCLED TIMES;Sm;0;ON;;;;;N;;;;; +2298;CIRCLED DIVISION SLASH;Sm;0;ON;;;;;Y;;;;; +2299;CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; +229A;CIRCLED RING OPERATOR;Sm;0;ON;;;;;N;;;;; +229B;CIRCLED ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;; +229C;CIRCLED EQUALS;Sm;0;ON;;;;;N;;;;; +229D;CIRCLED DASH;Sm;0;ON;;;;;N;;;;; +229E;SQUARED PLUS;Sm;0;ON;;;;;N;;;;; +229F;SQUARED MINUS;Sm;0;ON;;;;;N;;;;; +22A0;SQUARED TIMES;Sm;0;ON;;;;;N;;;;; +22A1;SQUARED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; +22A2;RIGHT TACK;Sm;0;ON;;;;;Y;;;;; +22A3;LEFT TACK;Sm;0;ON;;;;;Y;;;;; +22A4;DOWN TACK;Sm;0;ON;;;;;N;;;;; +22A5;UP TACK;Sm;0;ON;;;;;N;;;;; +22A6;ASSERTION;Sm;0;ON;;;;;Y;;;;; +22A7;MODELS;Sm;0;ON;;;;;Y;;;;; +22A8;TRUE;Sm;0;ON;;;;;Y;;;;; +22A9;FORCES;Sm;0;ON;;;;;Y;;;;; +22AA;TRIPLE VERTICAL BAR RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +22AB;DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +22AC;DOES NOT PROVE;Sm;0;ON;22A2 0338;;;;Y;;;;; +22AD;NOT TRUE;Sm;0;ON;22A8 0338;;;;Y;;;;; +22AE;DOES NOT FORCE;Sm;0;ON;22A9 0338;;;;Y;;;;; +22AF;NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;22AB 0338;;;;Y;;;;; +22B0;PRECEDES UNDER RELATION;Sm;0;ON;;;;;Y;;;;; +22B1;SUCCEEDS UNDER RELATION;Sm;0;ON;;;;;Y;;;;; +22B2;NORMAL SUBGROUP OF;Sm;0;ON;;;;;Y;;;;; +22B3;CONTAINS AS NORMAL SUBGROUP;Sm;0;ON;;;;;Y;;;;; +22B4;NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +22B5;CONTAINS AS NORMAL SUBGROUP OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +22B6;ORIGINAL OF;Sm;0;ON;;;;;Y;;;;; +22B7;IMAGE OF;Sm;0;ON;;;;;Y;;;;; +22B8;MULTIMAP;Sm;0;ON;;;;;Y;;;;; +22B9;HERMITIAN CONJUGATE MATRIX;Sm;0;ON;;;;;N;;;;; +22BA;INTERCALATE;Sm;0;ON;;;;;N;;;;; +22BB;XOR;Sm;0;ON;;;;;N;;;;; +22BC;NAND;Sm;0;ON;;;;;N;;;;; +22BD;NOR;Sm;0;ON;;;;;N;;;;; +22BE;RIGHT ANGLE WITH ARC;Sm;0;ON;;;;;Y;;;;; +22BF;RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;; +22C0;N-ARY LOGICAL AND;Sm;0;ON;;;;;N;;;;; +22C1;N-ARY LOGICAL OR;Sm;0;ON;;;;;N;;;;; +22C2;N-ARY INTERSECTION;Sm;0;ON;;;;;N;;;;; +22C3;N-ARY UNION;Sm;0;ON;;;;;N;;;;; +22C4;DIAMOND OPERATOR;Sm;0;ON;;;;;N;;;;; +22C5;DOT OPERATOR;Sm;0;ON;;;;;N;;;;; +22C6;STAR OPERATOR;Sm;0;ON;;;;;N;;;;; +22C7;DIVISION TIMES;Sm;0;ON;;;;;N;;;;; +22C8;BOWTIE;Sm;0;ON;;;;;N;;;;; +22C9;LEFT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; +22CA;RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; +22CB;LEFT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; +22CC;RIGHT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; +22CD;REVERSED TILDE EQUALS;Sm;0;ON;;;;;Y;;;;; +22CE;CURLY LOGICAL OR;Sm;0;ON;;;;;N;;;;; +22CF;CURLY LOGICAL AND;Sm;0;ON;;;;;N;;;;; +22D0;DOUBLE SUBSET;Sm;0;ON;;;;;Y;;;;; +22D1;DOUBLE SUPERSET;Sm;0;ON;;;;;Y;;;;; +22D2;DOUBLE INTERSECTION;Sm;0;ON;;;;;N;;;;; +22D3;DOUBLE UNION;Sm;0;ON;;;;;N;;;;; +22D4;PITCHFORK;Sm;0;ON;;;;;N;;;;; +22D5;EQUAL AND PARALLEL TO;Sm;0;ON;;;;;N;;;;; +22D6;LESS-THAN WITH DOT;Sm;0;ON;;;;;Y;LESS THAN WITH DOT;;;; +22D7;GREATER-THAN WITH DOT;Sm;0;ON;;;;;Y;GREATER THAN WITH DOT;;;; +22D8;VERY MUCH LESS-THAN;Sm;0;ON;;;;;Y;VERY MUCH LESS THAN;;;; +22D9;VERY MUCH GREATER-THAN;Sm;0;ON;;;;;Y;VERY MUCH GREATER THAN;;;; +22DA;LESS-THAN EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN EQUAL TO OR GREATER THAN;;;; +22DB;GREATER-THAN EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN EQUAL TO OR LESS THAN;;;; +22DC;EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR LESS THAN;;;; +22DD;EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR GREATER THAN;;;; +22DE;EQUAL TO OR PRECEDES;Sm;0;ON;;;;;Y;;;;; +22DF;EQUAL TO OR SUCCEEDS;Sm;0;ON;;;;;Y;;;;; +22E0;DOES NOT PRECEDE OR EQUAL;Sm;0;ON;227C 0338;;;;Y;;;;; +22E1;DOES NOT SUCCEED OR EQUAL;Sm;0;ON;227D 0338;;;;Y;;;;; +22E2;NOT SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;2291 0338;;;;Y;;;;; +22E3;NOT SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;2292 0338;;;;Y;;;;; +22E4;SQUARE IMAGE OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +22E5;SQUARE ORIGINAL OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +22E6;LESS-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUIVALENT TO;;;; +22E7;GREATER-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUIVALENT TO;;;; +22E8;PRECEDES BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; +22E9;SUCCEEDS BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; +22EA;NOT NORMAL SUBGROUP OF;Sm;0;ON;22B2 0338;;;;Y;;;;; +22EB;DOES NOT CONTAIN AS NORMAL SUBGROUP;Sm;0;ON;22B3 0338;;;;Y;;;;; +22EC;NOT NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;22B4 0338;;;;Y;;;;; +22ED;DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL;Sm;0;ON;22B5 0338;;;;Y;;;;; +22EE;VERTICAL ELLIPSIS;Sm;0;ON;;;;;N;;;;; +22EF;MIDLINE HORIZONTAL ELLIPSIS;Sm;0;ON;;;;;N;;;;; +22F0;UP RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;; +22F1;DOWN RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;; +22F2;ELEMENT OF WITH LONG HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22F3;ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22F4;SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22F5;ELEMENT OF WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +22F6;ELEMENT OF WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +22F7;SMALL ELEMENT OF WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +22F8;ELEMENT OF WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; +22F9;ELEMENT OF WITH TWO HORIZONTAL STROKES;Sm;0;ON;;;;;Y;;;;; +22FA;CONTAINS WITH LONG HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22FB;CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22FC;SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22FD;CONTAINS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +22FE;SMALL CONTAINS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +22FF;Z NOTATION BAG MEMBERSHIP;Sm;0;ON;;;;;Y;;;;; +2300;DIAMETER SIGN;So;0;ON;;;;;N;;;;; +2301;ELECTRIC ARROW;So;0;ON;;;;;N;;;;; +2302;HOUSE;So;0;ON;;;;;N;;;;; +2303;UP ARROWHEAD;So;0;ON;;;;;N;;;;; +2304;DOWN ARROWHEAD;So;0;ON;;;;;N;;;;; +2305;PROJECTIVE;So;0;ON;;;;;N;;;;; +2306;PERSPECTIVE;So;0;ON;;;;;N;;;;; +2307;WAVY LINE;So;0;ON;;;;;N;;;;; +2308;LEFT CEILING;Sm;0;ON;;;;;Y;;;;; +2309;RIGHT CEILING;Sm;0;ON;;;;;Y;;;;; +230A;LEFT FLOOR;Sm;0;ON;;;;;Y;;;;; +230B;RIGHT FLOOR;Sm;0;ON;;;;;Y;;;;; +230C;BOTTOM RIGHT CROP;So;0;ON;;;;;N;;;;; +230D;BOTTOM LEFT CROP;So;0;ON;;;;;N;;;;; +230E;TOP RIGHT CROP;So;0;ON;;;;;N;;;;; +230F;TOP LEFT CROP;So;0;ON;;;;;N;;;;; +2310;REVERSED NOT SIGN;So;0;ON;;;;;N;;;;; +2311;SQUARE LOZENGE;So;0;ON;;;;;N;;;;; +2312;ARC;So;0;ON;;;;;N;;;;; +2313;SEGMENT;So;0;ON;;;;;N;;;;; +2314;SECTOR;So;0;ON;;;;;N;;;;; +2315;TELEPHONE RECORDER;So;0;ON;;;;;N;;;;; +2316;POSITION INDICATOR;So;0;ON;;;;;N;;;;; +2317;VIEWDATA SQUARE;So;0;ON;;;;;N;;;;; +2318;PLACE OF INTEREST SIGN;So;0;ON;;;;;N;COMMAND KEY;;;; +2319;TURNED NOT SIGN;So;0;ON;;;;;N;;;;; +231A;WATCH;So;0;ON;;;;;N;;;;; +231B;HOURGLASS;So;0;ON;;;;;N;;;;; +231C;TOP LEFT CORNER;So;0;ON;;;;;N;;;;; +231D;TOP RIGHT CORNER;So;0;ON;;;;;N;;;;; +231E;BOTTOM LEFT CORNER;So;0;ON;;;;;N;;;;; +231F;BOTTOM RIGHT CORNER;So;0;ON;;;;;N;;;;; +2320;TOP HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2321;BOTTOM HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2322;FROWN;So;0;ON;;;;;N;;;;; +2323;SMILE;So;0;ON;;;;;N;;;;; +2324;UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS;So;0;ON;;;;;N;ENTER KEY;;;; +2325;OPTION KEY;So;0;ON;;;;;N;;;;; +2326;ERASE TO THE RIGHT;So;0;ON;;;;;N;DELETE TO THE RIGHT KEY;;;; +2327;X IN A RECTANGLE BOX;So;0;ON;;;;;N;CLEAR KEY;;;; +2328;KEYBOARD;So;0;ON;;;;;N;;;;; +2329;LEFT-POINTING ANGLE BRACKET;Ps;0;ON;3008;;;;Y;BRA;;;; +232A;RIGHT-POINTING ANGLE BRACKET;Pe;0;ON;3009;;;;Y;KET;;;; +232B;ERASE TO THE LEFT;So;0;ON;;;;;N;DELETE TO THE LEFT KEY;;;; +232C;BENZENE RING;So;0;ON;;;;;N;;;;; +232D;CYLINDRICITY;So;0;ON;;;;;N;;;;; +232E;ALL AROUND-PROFILE;So;0;ON;;;;;N;;;;; +232F;SYMMETRY;So;0;ON;;;;;N;;;;; +2330;TOTAL RUNOUT;So;0;ON;;;;;N;;;;; +2331;DIMENSION ORIGIN;So;0;ON;;;;;N;;;;; +2332;CONICAL TAPER;So;0;ON;;;;;N;;;;; +2333;SLOPE;So;0;ON;;;;;N;;;;; +2334;COUNTERBORE;So;0;ON;;;;;N;;;;; +2335;COUNTERSINK;So;0;ON;;;;;N;;;;; +2336;APL FUNCTIONAL SYMBOL I-BEAM;So;0;L;;;;;N;;;;; +2337;APL FUNCTIONAL SYMBOL SQUISH QUAD;So;0;L;;;;;N;;;;; +2338;APL FUNCTIONAL SYMBOL QUAD EQUAL;So;0;L;;;;;N;;;;; +2339;APL FUNCTIONAL SYMBOL QUAD DIVIDE;So;0;L;;;;;N;;;;; +233A;APL FUNCTIONAL SYMBOL QUAD DIAMOND;So;0;L;;;;;N;;;;; +233B;APL FUNCTIONAL SYMBOL QUAD JOT;So;0;L;;;;;N;;;;; +233C;APL FUNCTIONAL SYMBOL QUAD CIRCLE;So;0;L;;;;;N;;;;; +233D;APL FUNCTIONAL SYMBOL CIRCLE STILE;So;0;L;;;;;N;;;;; +233E;APL FUNCTIONAL SYMBOL CIRCLE JOT;So;0;L;;;;;N;;;;; +233F;APL FUNCTIONAL SYMBOL SLASH BAR;So;0;L;;;;;N;;;;; +2340;APL FUNCTIONAL SYMBOL BACKSLASH BAR;So;0;L;;;;;N;;;;; +2341;APL FUNCTIONAL SYMBOL QUAD SLASH;So;0;L;;;;;N;;;;; +2342;APL FUNCTIONAL SYMBOL QUAD BACKSLASH;So;0;L;;;;;N;;;;; +2343;APL FUNCTIONAL SYMBOL QUAD LESS-THAN;So;0;L;;;;;N;;;;; +2344;APL FUNCTIONAL SYMBOL QUAD GREATER-THAN;So;0;L;;;;;N;;;;; +2345;APL FUNCTIONAL SYMBOL LEFTWARDS VANE;So;0;L;;;;;N;;;;; +2346;APL FUNCTIONAL SYMBOL RIGHTWARDS VANE;So;0;L;;;;;N;;;;; +2347;APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW;So;0;L;;;;;N;;;;; +2348;APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW;So;0;L;;;;;N;;;;; +2349;APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH;So;0;L;;;;;N;;;;; +234A;APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR;So;0;L;;;;;N;;*;;; +234B;APL FUNCTIONAL SYMBOL DELTA STILE;So;0;L;;;;;N;;;;; +234C;APL FUNCTIONAL SYMBOL QUAD DOWN CARET;So;0;L;;;;;N;;;;; +234D;APL FUNCTIONAL SYMBOL QUAD DELTA;So;0;L;;;;;N;;;;; +234E;APL FUNCTIONAL SYMBOL DOWN TACK JOT;So;0;L;;;;;N;;*;;; +234F;APL FUNCTIONAL SYMBOL UPWARDS VANE;So;0;L;;;;;N;;;;; +2350;APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW;So;0;L;;;;;N;;;;; +2351;APL FUNCTIONAL SYMBOL UP TACK OVERBAR;So;0;L;;;;;N;;*;;; +2352;APL FUNCTIONAL SYMBOL DEL STILE;So;0;L;;;;;N;;;;; +2353;APL FUNCTIONAL SYMBOL QUAD UP CARET;So;0;L;;;;;N;;;;; +2354;APL FUNCTIONAL SYMBOL QUAD DEL;So;0;L;;;;;N;;;;; +2355;APL FUNCTIONAL SYMBOL UP TACK JOT;So;0;L;;;;;N;;*;;; +2356;APL FUNCTIONAL SYMBOL DOWNWARDS VANE;So;0;L;;;;;N;;;;; +2357;APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW;So;0;L;;;;;N;;;;; +2358;APL FUNCTIONAL SYMBOL QUOTE UNDERBAR;So;0;L;;;;;N;;;;; +2359;APL FUNCTIONAL SYMBOL DELTA UNDERBAR;So;0;L;;;;;N;;;;; +235A;APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR;So;0;L;;;;;N;;;;; +235B;APL FUNCTIONAL SYMBOL JOT UNDERBAR;So;0;L;;;;;N;;;;; +235C;APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR;So;0;L;;;;;N;;;;; +235D;APL FUNCTIONAL SYMBOL UP SHOE JOT;So;0;L;;;;;N;;;;; +235E;APL FUNCTIONAL SYMBOL QUOTE QUAD;So;0;L;;;;;N;;;;; +235F;APL FUNCTIONAL SYMBOL CIRCLE STAR;So;0;L;;;;;N;;;;; +2360;APL FUNCTIONAL SYMBOL QUAD COLON;So;0;L;;;;;N;;;;; +2361;APL FUNCTIONAL SYMBOL UP TACK DIAERESIS;So;0;L;;;;;N;;*;;; +2362;APL FUNCTIONAL SYMBOL DEL DIAERESIS;So;0;L;;;;;N;;;;; +2363;APL FUNCTIONAL SYMBOL STAR DIAERESIS;So;0;L;;;;;N;;;;; +2364;APL FUNCTIONAL SYMBOL JOT DIAERESIS;So;0;L;;;;;N;;;;; +2365;APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS;So;0;L;;;;;N;;;;; +2366;APL FUNCTIONAL SYMBOL DOWN SHOE STILE;So;0;L;;;;;N;;;;; +2367;APL FUNCTIONAL SYMBOL LEFT SHOE STILE;So;0;L;;;;;N;;;;; +2368;APL FUNCTIONAL SYMBOL TILDE DIAERESIS;So;0;L;;;;;N;;;;; +2369;APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS;So;0;L;;;;;N;;;;; +236A;APL FUNCTIONAL SYMBOL COMMA BAR;So;0;L;;;;;N;;;;; +236B;APL FUNCTIONAL SYMBOL DEL TILDE;So;0;L;;;;;N;;;;; +236C;APL FUNCTIONAL SYMBOL ZILDE;So;0;L;;;;;N;;;;; +236D;APL FUNCTIONAL SYMBOL STILE TILDE;So;0;L;;;;;N;;;;; +236E;APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR;So;0;L;;;;;N;;;;; +236F;APL FUNCTIONAL SYMBOL QUAD NOT EQUAL;So;0;L;;;;;N;;;;; +2370;APL FUNCTIONAL SYMBOL QUAD QUESTION;So;0;L;;;;;N;;;;; +2371;APL FUNCTIONAL SYMBOL DOWN CARET TILDE;So;0;L;;;;;N;;;;; +2372;APL FUNCTIONAL SYMBOL UP CARET TILDE;So;0;L;;;;;N;;;;; +2373;APL FUNCTIONAL SYMBOL IOTA;So;0;L;;;;;N;;;;; +2374;APL FUNCTIONAL SYMBOL RHO;So;0;L;;;;;N;;;;; +2375;APL FUNCTIONAL SYMBOL OMEGA;So;0;L;;;;;N;;;;; +2376;APL FUNCTIONAL SYMBOL ALPHA UNDERBAR;So;0;L;;;;;N;;;;; +2377;APL FUNCTIONAL SYMBOL EPSILON UNDERBAR;So;0;L;;;;;N;;;;; +2378;APL FUNCTIONAL SYMBOL IOTA UNDERBAR;So;0;L;;;;;N;;;;; +2379;APL FUNCTIONAL SYMBOL OMEGA UNDERBAR;So;0;L;;;;;N;;;;; +237A;APL FUNCTIONAL SYMBOL ALPHA;So;0;L;;;;;N;;;;; +237B;NOT CHECK MARK;So;0;ON;;;;;N;;;;; +237C;RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW;Sm;0;ON;;;;;N;;;;; +237D;SHOULDERED OPEN BOX;So;0;ON;;;;;N;;;;; +237E;BELL SYMBOL;So;0;ON;;;;;N;;;;; +237F;VERTICAL LINE WITH MIDDLE DOT;So;0;ON;;;;;N;;;;; +2380;INSERTION SYMBOL;So;0;ON;;;;;N;;;;; +2381;CONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;; +2382;DISCONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;; +2383;EMPHASIS SYMBOL;So;0;ON;;;;;N;;;;; +2384;COMPOSITION SYMBOL;So;0;ON;;;;;N;;;;; +2385;WHITE SQUARE WITH CENTRE VERTICAL LINE;So;0;ON;;;;;N;;;;; +2386;ENTER SYMBOL;So;0;ON;;;;;N;;;;; +2387;ALTERNATIVE KEY SYMBOL;So;0;ON;;;;;N;;;;; +2388;HELM SYMBOL;So;0;ON;;;;;N;;;;; +2389;CIRCLED HORIZONTAL BAR WITH NOTCH;So;0;ON;;;;;N;;pause;;; +238A;CIRCLED TRIANGLE DOWN;So;0;ON;;;;;N;;break;;; +238B;BROKEN CIRCLE WITH NORTHWEST ARROW;So;0;ON;;;;;N;;escape;;; +238C;UNDO SYMBOL;So;0;ON;;;;;N;;;;; +238D;MONOSTABLE SYMBOL;So;0;ON;;;;;N;;;;; +238E;HYSTERESIS SYMBOL;So;0;ON;;;;;N;;;;; +238F;OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL;So;0;ON;;;;;N;;;;; +2390;OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL;So;0;ON;;;;;N;;;;; +2391;PASSIVE-PULL-DOWN-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;; +2392;PASSIVE-PULL-UP-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;; +2393;DIRECT CURRENT SYMBOL FORM TWO;So;0;ON;;;;;N;;;;; +2394;SOFTWARE-FUNCTION SYMBOL;So;0;ON;;;;;N;;;;; +2395;APL FUNCTIONAL SYMBOL QUAD;So;0;L;;;;;N;;;;; +2396;DECIMAL SEPARATOR KEY SYMBOL;So;0;ON;;;;;N;;;;; +2397;PREVIOUS PAGE;So;0;ON;;;;;N;;;;; +2398;NEXT PAGE;So;0;ON;;;;;N;;;;; +2399;PRINT SCREEN SYMBOL;So;0;ON;;;;;N;;;;; +239A;CLEAR SCREEN SYMBOL;So;0;ON;;;;;N;;;;; +239B;LEFT PARENTHESIS UPPER HOOK;Sm;0;ON;;;;;N;;;;; +239C;LEFT PARENTHESIS EXTENSION;Sm;0;ON;;;;;N;;;;; +239D;LEFT PARENTHESIS LOWER HOOK;Sm;0;ON;;;;;N;;;;; +239E;RIGHT PARENTHESIS UPPER HOOK;Sm;0;ON;;;;;N;;;;; +239F;RIGHT PARENTHESIS EXTENSION;Sm;0;ON;;;;;N;;;;; +23A0;RIGHT PARENTHESIS LOWER HOOK;Sm;0;ON;;;;;N;;;;; +23A1;LEFT SQUARE BRACKET UPPER CORNER;Sm;0;ON;;;;;N;;;;; +23A2;LEFT SQUARE BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;; +23A3;LEFT SQUARE BRACKET LOWER CORNER;Sm;0;ON;;;;;N;;;;; +23A4;RIGHT SQUARE BRACKET UPPER CORNER;Sm;0;ON;;;;;N;;;;; +23A5;RIGHT SQUARE BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;; +23A6;RIGHT SQUARE BRACKET LOWER CORNER;Sm;0;ON;;;;;N;;;;; +23A7;LEFT CURLY BRACKET UPPER HOOK;Sm;0;ON;;;;;N;;;;; +23A8;LEFT CURLY BRACKET MIDDLE PIECE;Sm;0;ON;;;;;N;;;;; +23A9;LEFT CURLY BRACKET LOWER HOOK;Sm;0;ON;;;;;N;;;;; +23AA;CURLY BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;; +23AB;RIGHT CURLY BRACKET UPPER HOOK;Sm;0;ON;;;;;N;;;;; +23AC;RIGHT CURLY BRACKET MIDDLE PIECE;Sm;0;ON;;;;;N;;;;; +23AD;RIGHT CURLY BRACKET LOWER HOOK;Sm;0;ON;;;;;N;;;;; +23AE;INTEGRAL EXTENSION;Sm;0;ON;;;;;N;;;;; +23AF;HORIZONTAL LINE EXTENSION;Sm;0;ON;;;;;N;;;;; +23B0;UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION;Sm;0;ON;;;;;N;;;;; +23B1;UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION;Sm;0;ON;;;;;N;;;;; +23B2;SUMMATION TOP;Sm;0;ON;;;;;N;;;;; +23B3;SUMMATION BOTTOM;Sm;0;ON;;;;;N;;;;; +23B4;TOP SQUARE BRACKET;So;0;ON;;;;;N;;;;; +23B5;BOTTOM SQUARE BRACKET;So;0;ON;;;;;N;;;;; +23B6;BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET;So;0;ON;;;;;N;;;;; +23B7;RADICAL SYMBOL BOTTOM;So;0;ON;;;;;N;;;;; +23B8;LEFT VERTICAL BOX LINE;So;0;ON;;;;;N;;;;; +23B9;RIGHT VERTICAL BOX LINE;So;0;ON;;;;;N;;;;; +23BA;HORIZONTAL SCAN LINE-1;So;0;ON;;;;;N;;;;; +23BB;HORIZONTAL SCAN LINE-3;So;0;ON;;;;;N;;;;; +23BC;HORIZONTAL SCAN LINE-7;So;0;ON;;;;;N;;;;; +23BD;HORIZONTAL SCAN LINE-9;So;0;ON;;;;;N;;;;; +23BE;DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT;So;0;ON;;;;;N;;;;; +23BF;DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT;So;0;ON;;;;;N;;;;; +23C0;DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE;So;0;ON;;;;;N;;;;; +23C1;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE;So;0;ON;;;;;N;;;;; +23C2;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE;So;0;ON;;;;;N;;;;; +23C3;DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE;So;0;ON;;;;;N;;;;; +23C4;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE;So;0;ON;;;;;N;;;;; +23C5;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE;So;0;ON;;;;;N;;;;; +23C6;DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE;So;0;ON;;;;;N;;;;; +23C7;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE;So;0;ON;;;;;N;;;;; +23C8;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE;So;0;ON;;;;;N;;;;; +23C9;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;;;;; +23CA;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;;;;; +23CB;DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT;So;0;ON;;;;;N;;;;; +23CC;DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT;So;0;ON;;;;;N;;;;; +23CD;SQUARE FOOT;So;0;ON;;;;;N;;;;; +23CE;RETURN SYMBOL;So;0;ON;;;;;N;;;;; +23CF;EJECT SYMBOL;So;0;ON;;;;;N;;;;; +23D0;VERTICAL LINE EXTENSION;So;0;ON;;;;;N;;;;; +23D1;METRICAL BREVE;So;0;ON;;;;;N;;;;; +23D2;METRICAL LONG OVER SHORT;So;0;ON;;;;;N;;;;; +23D3;METRICAL SHORT OVER LONG;So;0;ON;;;;;N;;;;; +23D4;METRICAL LONG OVER TWO SHORTS;So;0;ON;;;;;N;;;;; +23D5;METRICAL TWO SHORTS OVER LONG;So;0;ON;;;;;N;;;;; +23D6;METRICAL TWO SHORTS JOINED;So;0;ON;;;;;N;;;;; +23D7;METRICAL TRISEME;So;0;ON;;;;;N;;;;; +23D8;METRICAL TETRASEME;So;0;ON;;;;;N;;;;; +23D9;METRICAL PENTASEME;So;0;ON;;;;;N;;;;; +23DA;EARTH GROUND;So;0;ON;;;;;N;;;;; +23DB;FUSE;So;0;ON;;;;;N;;;;; +23DC;TOP PARENTHESIS;Sm;0;ON;;;;;N;;mathematical use;;; +23DD;BOTTOM PARENTHESIS;Sm;0;ON;;;;;N;;mathematical use;;; +23DE;TOP CURLY BRACKET;Sm;0;ON;;;;;N;;mathematical use;;; +23DF;BOTTOM CURLY BRACKET;Sm;0;ON;;;;;N;;mathematical use;;; +23E0;TOP TORTOISE SHELL BRACKET;Sm;0;ON;;;;;N;;mathematical use;;; +23E1;BOTTOM TORTOISE SHELL BRACKET;Sm;0;ON;;;;;N;;mathematical use;;; +23E2;WHITE TRAPEZIUM;So;0;ON;;;;;N;;;;; +23E3;BENZENE RING WITH CIRCLE;So;0;ON;;;;;N;;;;; +23E4;STRAIGHTNESS;So;0;ON;;;;;N;;;;; +23E5;FLATNESS;So;0;ON;;;;;N;;;;; +23E6;AC CURRENT;So;0;ON;;;;;N;;;;; +23E7;ELECTRICAL INTERSECTION;So;0;ON;;;;;N;;;;; +2400;SYMBOL FOR NULL;So;0;ON;;;;;N;GRAPHIC FOR NULL;;;; +2401;SYMBOL FOR START OF HEADING;So;0;ON;;;;;N;GRAPHIC FOR START OF HEADING;;;; +2402;SYMBOL FOR START OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR START OF TEXT;;;; +2403;SYMBOL FOR END OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR END OF TEXT;;;; +2404;SYMBOL FOR END OF TRANSMISSION;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION;;;; +2405;SYMBOL FOR ENQUIRY;So;0;ON;;;;;N;GRAPHIC FOR ENQUIRY;;;; +2406;SYMBOL FOR ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR ACKNOWLEDGE;;;; +2407;SYMBOL FOR BELL;So;0;ON;;;;;N;GRAPHIC FOR BELL;;;; +2408;SYMBOL FOR BACKSPACE;So;0;ON;;;;;N;GRAPHIC FOR BACKSPACE;;;; +2409;SYMBOL FOR HORIZONTAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR HORIZONTAL TABULATION;;;; +240A;SYMBOL FOR LINE FEED;So;0;ON;;;;;N;GRAPHIC FOR LINE FEED;;;; +240B;SYMBOL FOR VERTICAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR VERTICAL TABULATION;;;; +240C;SYMBOL FOR FORM FEED;So;0;ON;;;;;N;GRAPHIC FOR FORM FEED;;;; +240D;SYMBOL FOR CARRIAGE RETURN;So;0;ON;;;;;N;GRAPHIC FOR CARRIAGE RETURN;;;; +240E;SYMBOL FOR SHIFT OUT;So;0;ON;;;;;N;GRAPHIC FOR SHIFT OUT;;;; +240F;SYMBOL FOR SHIFT IN;So;0;ON;;;;;N;GRAPHIC FOR SHIFT IN;;;; +2410;SYMBOL FOR DATA LINK ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR DATA LINK ESCAPE;;;; +2411;SYMBOL FOR DEVICE CONTROL ONE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL ONE;;;; +2412;SYMBOL FOR DEVICE CONTROL TWO;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL TWO;;;; +2413;SYMBOL FOR DEVICE CONTROL THREE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL THREE;;;; +2414;SYMBOL FOR DEVICE CONTROL FOUR;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL FOUR;;;; +2415;SYMBOL FOR NEGATIVE ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR NEGATIVE ACKNOWLEDGE;;;; +2416;SYMBOL FOR SYNCHRONOUS IDLE;So;0;ON;;;;;N;GRAPHIC FOR SYNCHRONOUS IDLE;;;; +2417;SYMBOL FOR END OF TRANSMISSION BLOCK;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION BLOCK;;;; +2418;SYMBOL FOR CANCEL;So;0;ON;;;;;N;GRAPHIC FOR CANCEL;;;; +2419;SYMBOL FOR END OF MEDIUM;So;0;ON;;;;;N;GRAPHIC FOR END OF MEDIUM;;;; +241A;SYMBOL FOR SUBSTITUTE;So;0;ON;;;;;N;GRAPHIC FOR SUBSTITUTE;;;; +241B;SYMBOL FOR ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR ESCAPE;;;; +241C;SYMBOL FOR FILE SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR FILE SEPARATOR;;;; +241D;SYMBOL FOR GROUP SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR GROUP SEPARATOR;;;; +241E;SYMBOL FOR RECORD SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR RECORD SEPARATOR;;;; +241F;SYMBOL FOR UNIT SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR UNIT SEPARATOR;;;; +2420;SYMBOL FOR SPACE;So;0;ON;;;;;N;GRAPHIC FOR SPACE;;;; +2421;SYMBOL FOR DELETE;So;0;ON;;;;;N;GRAPHIC FOR DELETE;;;; +2422;BLANK SYMBOL;So;0;ON;;;;;N;BLANK;;;; +2423;OPEN BOX;So;0;ON;;;;;N;;;;; +2424;SYMBOL FOR NEWLINE;So;0;ON;;;;;N;GRAPHIC FOR NEWLINE;;;; +2425;SYMBOL FOR DELETE FORM TWO;So;0;ON;;;;;N;;;;; +2426;SYMBOL FOR SUBSTITUTE FORM TWO;So;0;ON;;;;;N;;;;; +2440;OCR HOOK;So;0;ON;;;;;N;;;;; +2441;OCR CHAIR;So;0;ON;;;;;N;;;;; +2442;OCR FORK;So;0;ON;;;;;N;;;;; +2443;OCR INVERTED FORK;So;0;ON;;;;;N;;;;; +2444;OCR BELT BUCKLE;So;0;ON;;;;;N;;;;; +2445;OCR BOW TIE;So;0;ON;;;;;N;;;;; +2446;OCR BRANCH BANK IDENTIFICATION;So;0;ON;;;;;N;;;;; +2447;OCR AMOUNT OF CHECK;So;0;ON;;;;;N;;;;; +2448;OCR DASH;So;0;ON;;;;;N;;;;; +2449;OCR CUSTOMER ACCOUNT NUMBER;So;0;ON;;;;;N;;;;; +244A;OCR DOUBLE BACKSLASH;So;0;ON;;;;;N;;;;; +2460;CIRCLED DIGIT ONE;No;0;ON; 0031;;1;1;N;;;;; +2461;CIRCLED DIGIT TWO;No;0;ON; 0032;;2;2;N;;;;; +2462;CIRCLED DIGIT THREE;No;0;ON; 0033;;3;3;N;;;;; +2463;CIRCLED DIGIT FOUR;No;0;ON; 0034;;4;4;N;;;;; +2464;CIRCLED DIGIT FIVE;No;0;ON; 0035;;5;5;N;;;;; +2465;CIRCLED DIGIT SIX;No;0;ON; 0036;;6;6;N;;;;; +2466;CIRCLED DIGIT SEVEN;No;0;ON; 0037;;7;7;N;;;;; +2467;CIRCLED DIGIT EIGHT;No;0;ON; 0038;;8;8;N;;;;; +2468;CIRCLED DIGIT NINE;No;0;ON; 0039;;9;9;N;;;;; +2469;CIRCLED NUMBER TEN;No;0;ON; 0031 0030;;;10;N;;;;; +246A;CIRCLED NUMBER ELEVEN;No;0;ON; 0031 0031;;;11;N;;;;; +246B;CIRCLED NUMBER TWELVE;No;0;ON; 0031 0032;;;12;N;;;;; +246C;CIRCLED NUMBER THIRTEEN;No;0;ON; 0031 0033;;;13;N;;;;; +246D;CIRCLED NUMBER FOURTEEN;No;0;ON; 0031 0034;;;14;N;;;;; +246E;CIRCLED NUMBER FIFTEEN;No;0;ON; 0031 0035;;;15;N;;;;; +246F;CIRCLED NUMBER SIXTEEN;No;0;ON; 0031 0036;;;16;N;;;;; +2470;CIRCLED NUMBER SEVENTEEN;No;0;ON; 0031 0037;;;17;N;;;;; +2471;CIRCLED NUMBER EIGHTEEN;No;0;ON; 0031 0038;;;18;N;;;;; +2472;CIRCLED NUMBER NINETEEN;No;0;ON; 0031 0039;;;19;N;;;;; +2473;CIRCLED NUMBER TWENTY;No;0;ON; 0032 0030;;;20;N;;;;; +2474;PARENTHESIZED DIGIT ONE;No;0;ON; 0028 0031 0029;;1;1;N;;;;; +2475;PARENTHESIZED DIGIT TWO;No;0;ON; 0028 0032 0029;;2;2;N;;;;; +2476;PARENTHESIZED DIGIT THREE;No;0;ON; 0028 0033 0029;;3;3;N;;;;; +2477;PARENTHESIZED DIGIT FOUR;No;0;ON; 0028 0034 0029;;4;4;N;;;;; +2478;PARENTHESIZED DIGIT FIVE;No;0;ON; 0028 0035 0029;;5;5;N;;;;; +2479;PARENTHESIZED DIGIT SIX;No;0;ON; 0028 0036 0029;;6;6;N;;;;; +247A;PARENTHESIZED DIGIT SEVEN;No;0;ON; 0028 0037 0029;;7;7;N;;;;; +247B;PARENTHESIZED DIGIT EIGHT;No;0;ON; 0028 0038 0029;;8;8;N;;;;; +247C;PARENTHESIZED DIGIT NINE;No;0;ON; 0028 0039 0029;;9;9;N;;;;; +247D;PARENTHESIZED NUMBER TEN;No;0;ON; 0028 0031 0030 0029;;;10;N;;;;; +247E;PARENTHESIZED NUMBER ELEVEN;No;0;ON; 0028 0031 0031 0029;;;11;N;;;;; +247F;PARENTHESIZED NUMBER TWELVE;No;0;ON; 0028 0031 0032 0029;;;12;N;;;;; +2480;PARENTHESIZED NUMBER THIRTEEN;No;0;ON; 0028 0031 0033 0029;;;13;N;;;;; +2481;PARENTHESIZED NUMBER FOURTEEN;No;0;ON; 0028 0031 0034 0029;;;14;N;;;;; +2482;PARENTHESIZED NUMBER FIFTEEN;No;0;ON; 0028 0031 0035 0029;;;15;N;;;;; +2483;PARENTHESIZED NUMBER SIXTEEN;No;0;ON; 0028 0031 0036 0029;;;16;N;;;;; +2484;PARENTHESIZED NUMBER SEVENTEEN;No;0;ON; 0028 0031 0037 0029;;;17;N;;;;; +2485;PARENTHESIZED NUMBER EIGHTEEN;No;0;ON; 0028 0031 0038 0029;;;18;N;;;;; +2486;PARENTHESIZED NUMBER NINETEEN;No;0;ON; 0028 0031 0039 0029;;;19;N;;;;; +2487;PARENTHESIZED NUMBER TWENTY;No;0;ON; 0028 0032 0030 0029;;;20;N;;;;; +2488;DIGIT ONE FULL STOP;No;0;EN; 0031 002E;;1;1;N;DIGIT ONE PERIOD;;;; +2489;DIGIT TWO FULL STOP;No;0;EN; 0032 002E;;2;2;N;DIGIT TWO PERIOD;;;; +248A;DIGIT THREE FULL STOP;No;0;EN; 0033 002E;;3;3;N;DIGIT THREE PERIOD;;;; +248B;DIGIT FOUR FULL STOP;No;0;EN; 0034 002E;;4;4;N;DIGIT FOUR PERIOD;;;; +248C;DIGIT FIVE FULL STOP;No;0;EN; 0035 002E;;5;5;N;DIGIT FIVE PERIOD;;;; +248D;DIGIT SIX FULL STOP;No;0;EN; 0036 002E;;6;6;N;DIGIT SIX PERIOD;;;; +248E;DIGIT SEVEN FULL STOP;No;0;EN; 0037 002E;;7;7;N;DIGIT SEVEN PERIOD;;;; +248F;DIGIT EIGHT FULL STOP;No;0;EN; 0038 002E;;8;8;N;DIGIT EIGHT PERIOD;;;; +2490;DIGIT NINE FULL STOP;No;0;EN; 0039 002E;;9;9;N;DIGIT NINE PERIOD;;;; +2491;NUMBER TEN FULL STOP;No;0;EN; 0031 0030 002E;;;10;N;NUMBER TEN PERIOD;;;; +2492;NUMBER ELEVEN FULL STOP;No;0;EN; 0031 0031 002E;;;11;N;NUMBER ELEVEN PERIOD;;;; +2493;NUMBER TWELVE FULL STOP;No;0;EN; 0031 0032 002E;;;12;N;NUMBER TWELVE PERIOD;;;; +2494;NUMBER THIRTEEN FULL STOP;No;0;EN; 0031 0033 002E;;;13;N;NUMBER THIRTEEN PERIOD;;;; +2495;NUMBER FOURTEEN FULL STOP;No;0;EN; 0031 0034 002E;;;14;N;NUMBER FOURTEEN PERIOD;;;; +2496;NUMBER FIFTEEN FULL STOP;No;0;EN; 0031 0035 002E;;;15;N;NUMBER FIFTEEN PERIOD;;;; +2497;NUMBER SIXTEEN FULL STOP;No;0;EN; 0031 0036 002E;;;16;N;NUMBER SIXTEEN PERIOD;;;; +2498;NUMBER SEVENTEEN FULL STOP;No;0;EN; 0031 0037 002E;;;17;N;NUMBER SEVENTEEN PERIOD;;;; +2499;NUMBER EIGHTEEN FULL STOP;No;0;EN; 0031 0038 002E;;;18;N;NUMBER EIGHTEEN PERIOD;;;; +249A;NUMBER NINETEEN FULL STOP;No;0;EN; 0031 0039 002E;;;19;N;NUMBER NINETEEN PERIOD;;;; +249B;NUMBER TWENTY FULL STOP;No;0;EN; 0032 0030 002E;;;20;N;NUMBER TWENTY PERIOD;;;; +249C;PARENTHESIZED LATIN SMALL LETTER A;So;0;L; 0028 0061 0029;;;;N;;;;; +249D;PARENTHESIZED LATIN SMALL LETTER B;So;0;L; 0028 0062 0029;;;;N;;;;; +249E;PARENTHESIZED LATIN SMALL LETTER C;So;0;L; 0028 0063 0029;;;;N;;;;; +249F;PARENTHESIZED LATIN SMALL LETTER D;So;0;L; 0028 0064 0029;;;;N;;;;; +24A0;PARENTHESIZED LATIN SMALL LETTER E;So;0;L; 0028 0065 0029;;;;N;;;;; +24A1;PARENTHESIZED LATIN SMALL LETTER F;So;0;L; 0028 0066 0029;;;;N;;;;; +24A2;PARENTHESIZED LATIN SMALL LETTER G;So;0;L; 0028 0067 0029;;;;N;;;;; +24A3;PARENTHESIZED LATIN SMALL LETTER H;So;0;L; 0028 0068 0029;;;;N;;;;; +24A4;PARENTHESIZED LATIN SMALL LETTER I;So;0;L; 0028 0069 0029;;;;N;;;;; +24A5;PARENTHESIZED LATIN SMALL LETTER J;So;0;L; 0028 006A 0029;;;;N;;;;; +24A6;PARENTHESIZED LATIN SMALL LETTER K;So;0;L; 0028 006B 0029;;;;N;;;;; +24A7;PARENTHESIZED LATIN SMALL LETTER L;So;0;L; 0028 006C 0029;;;;N;;;;; +24A8;PARENTHESIZED LATIN SMALL LETTER M;So;0;L; 0028 006D 0029;;;;N;;;;; +24A9;PARENTHESIZED LATIN SMALL LETTER N;So;0;L; 0028 006E 0029;;;;N;;;;; +24AA;PARENTHESIZED LATIN SMALL LETTER O;So;0;L; 0028 006F 0029;;;;N;;;;; +24AB;PARENTHESIZED LATIN SMALL LETTER P;So;0;L; 0028 0070 0029;;;;N;;;;; +24AC;PARENTHESIZED LATIN SMALL LETTER Q;So;0;L; 0028 0071 0029;;;;N;;;;; +24AD;PARENTHESIZED LATIN SMALL LETTER R;So;0;L; 0028 0072 0029;;;;N;;;;; +24AE;PARENTHESIZED LATIN SMALL LETTER S;So;0;L; 0028 0073 0029;;;;N;;;;; +24AF;PARENTHESIZED LATIN SMALL LETTER T;So;0;L; 0028 0074 0029;;;;N;;;;; +24B0;PARENTHESIZED LATIN SMALL LETTER U;So;0;L; 0028 0075 0029;;;;N;;;;; +24B1;PARENTHESIZED LATIN SMALL LETTER V;So;0;L; 0028 0076 0029;;;;N;;;;; +24B2;PARENTHESIZED LATIN SMALL LETTER W;So;0;L; 0028 0077 0029;;;;N;;;;; +24B3;PARENTHESIZED LATIN SMALL LETTER X;So;0;L; 0028 0078 0029;;;;N;;;;; +24B4;PARENTHESIZED LATIN SMALL LETTER Y;So;0;L; 0028 0079 0029;;;;N;;;;; +24B5;PARENTHESIZED LATIN SMALL LETTER Z;So;0;L; 0028 007A 0029;;;;N;;;;; +24B6;CIRCLED LATIN CAPITAL LETTER A;So;0;L; 0041;;;;N;;;;24D0; +24B7;CIRCLED LATIN CAPITAL LETTER B;So;0;L; 0042;;;;N;;;;24D1; +24B8;CIRCLED LATIN CAPITAL LETTER C;So;0;L; 0043;;;;N;;;;24D2; +24B9;CIRCLED LATIN CAPITAL LETTER D;So;0;L; 0044;;;;N;;;;24D3; +24BA;CIRCLED LATIN CAPITAL LETTER E;So;0;L; 0045;;;;N;;;;24D4; +24BB;CIRCLED LATIN CAPITAL LETTER F;So;0;L; 0046;;;;N;;;;24D5; +24BC;CIRCLED LATIN CAPITAL LETTER G;So;0;L; 0047;;;;N;;;;24D6; +24BD;CIRCLED LATIN CAPITAL LETTER H;So;0;L; 0048;;;;N;;;;24D7; +24BE;CIRCLED LATIN CAPITAL LETTER I;So;0;L; 0049;;;;N;;;;24D8; +24BF;CIRCLED LATIN CAPITAL LETTER J;So;0;L; 004A;;;;N;;;;24D9; +24C0;CIRCLED LATIN CAPITAL LETTER K;So;0;L; 004B;;;;N;;;;24DA; +24C1;CIRCLED LATIN CAPITAL LETTER L;So;0;L; 004C;;;;N;;;;24DB; +24C2;CIRCLED LATIN CAPITAL LETTER M;So;0;L; 004D;;;;N;;;;24DC; +24C3;CIRCLED LATIN CAPITAL LETTER N;So;0;L; 004E;;;;N;;;;24DD; +24C4;CIRCLED LATIN CAPITAL LETTER O;So;0;L; 004F;;;;N;;;;24DE; +24C5;CIRCLED LATIN CAPITAL LETTER P;So;0;L; 0050;;;;N;;;;24DF; +24C6;CIRCLED LATIN CAPITAL LETTER Q;So;0;L; 0051;;;;N;;;;24E0; +24C7;CIRCLED LATIN CAPITAL LETTER R;So;0;L; 0052;;;;N;;;;24E1; +24C8;CIRCLED LATIN CAPITAL LETTER S;So;0;L; 0053;;;;N;;;;24E2; +24C9;CIRCLED LATIN CAPITAL LETTER T;So;0;L; 0054;;;;N;;;;24E3; +24CA;CIRCLED LATIN CAPITAL LETTER U;So;0;L; 0055;;;;N;;;;24E4; +24CB;CIRCLED LATIN CAPITAL LETTER V;So;0;L; 0056;;;;N;;;;24E5; +24CC;CIRCLED LATIN CAPITAL LETTER W;So;0;L; 0057;;;;N;;;;24E6; +24CD;CIRCLED LATIN CAPITAL LETTER X;So;0;L; 0058;;;;N;;;;24E7; +24CE;CIRCLED LATIN CAPITAL LETTER Y;So;0;L; 0059;;;;N;;;;24E8; +24CF;CIRCLED LATIN CAPITAL LETTER Z;So;0;L; 005A;;;;N;;;;24E9; +24D0;CIRCLED LATIN SMALL LETTER A;So;0;L; 0061;;;;N;;;24B6;;24B6 +24D1;CIRCLED LATIN SMALL LETTER B;So;0;L; 0062;;;;N;;;24B7;;24B7 +24D2;CIRCLED LATIN SMALL LETTER C;So;0;L; 0063;;;;N;;;24B8;;24B8 +24D3;CIRCLED LATIN SMALL LETTER D;So;0;L; 0064;;;;N;;;24B9;;24B9 +24D4;CIRCLED LATIN SMALL LETTER E;So;0;L; 0065;;;;N;;;24BA;;24BA +24D5;CIRCLED LATIN SMALL LETTER F;So;0;L; 0066;;;;N;;;24BB;;24BB +24D6;CIRCLED LATIN SMALL LETTER G;So;0;L; 0067;;;;N;;;24BC;;24BC +24D7;CIRCLED LATIN SMALL LETTER H;So;0;L; 0068;;;;N;;;24BD;;24BD +24D8;CIRCLED LATIN SMALL LETTER I;So;0;L; 0069;;;;N;;;24BE;;24BE +24D9;CIRCLED LATIN SMALL LETTER J;So;0;L; 006A;;;;N;;;24BF;;24BF +24DA;CIRCLED LATIN SMALL LETTER K;So;0;L; 006B;;;;N;;;24C0;;24C0 +24DB;CIRCLED LATIN SMALL LETTER L;So;0;L; 006C;;;;N;;;24C1;;24C1 +24DC;CIRCLED LATIN SMALL LETTER M;So;0;L; 006D;;;;N;;;24C2;;24C2 +24DD;CIRCLED LATIN SMALL LETTER N;So;0;L; 006E;;;;N;;;24C3;;24C3 +24DE;CIRCLED LATIN SMALL LETTER O;So;0;L; 006F;;;;N;;;24C4;;24C4 +24DF;CIRCLED LATIN SMALL LETTER P;So;0;L; 0070;;;;N;;;24C5;;24C5 +24E0;CIRCLED LATIN SMALL LETTER Q;So;0;L; 0071;;;;N;;;24C6;;24C6 +24E1;CIRCLED LATIN SMALL LETTER R;So;0;L; 0072;;;;N;;;24C7;;24C7 +24E2;CIRCLED LATIN SMALL LETTER S;So;0;L; 0073;;;;N;;;24C8;;24C8 +24E3;CIRCLED LATIN SMALL LETTER T;So;0;L; 0074;;;;N;;;24C9;;24C9 +24E4;CIRCLED LATIN SMALL LETTER U;So;0;L; 0075;;;;N;;;24CA;;24CA +24E5;CIRCLED LATIN SMALL LETTER V;So;0;L; 0076;;;;N;;;24CB;;24CB +24E6;CIRCLED LATIN SMALL LETTER W;So;0;L; 0077;;;;N;;;24CC;;24CC +24E7;CIRCLED LATIN SMALL LETTER X;So;0;L; 0078;;;;N;;;24CD;;24CD +24E8;CIRCLED LATIN SMALL LETTER Y;So;0;L; 0079;;;;N;;;24CE;;24CE +24E9;CIRCLED LATIN SMALL LETTER Z;So;0;L; 007A;;;;N;;;24CF;;24CF +24EA;CIRCLED DIGIT ZERO;No;0;ON; 0030;;0;0;N;;;;; +24EB;NEGATIVE CIRCLED NUMBER ELEVEN;No;0;ON;;;;11;N;;;;; +24EC;NEGATIVE CIRCLED NUMBER TWELVE;No;0;ON;;;;12;N;;;;; +24ED;NEGATIVE CIRCLED NUMBER THIRTEEN;No;0;ON;;;;13;N;;;;; +24EE;NEGATIVE CIRCLED NUMBER FOURTEEN;No;0;ON;;;;14;N;;;;; +24EF;NEGATIVE CIRCLED NUMBER FIFTEEN;No;0;ON;;;;15;N;;;;; +24F0;NEGATIVE CIRCLED NUMBER SIXTEEN;No;0;ON;;;;16;N;;;;; +24F1;NEGATIVE CIRCLED NUMBER SEVENTEEN;No;0;ON;;;;17;N;;;;; +24F2;NEGATIVE CIRCLED NUMBER EIGHTEEN;No;0;ON;;;;18;N;;;;; +24F3;NEGATIVE CIRCLED NUMBER NINETEEN;No;0;ON;;;;19;N;;;;; +24F4;NEGATIVE CIRCLED NUMBER TWENTY;No;0;ON;;;;20;N;;;;; +24F5;DOUBLE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;;;;; +24F6;DOUBLE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;;;;; +24F7;DOUBLE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;;;;; +24F8;DOUBLE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;;;;; +24F9;DOUBLE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;;;;; +24FA;DOUBLE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;;;;; +24FB;DOUBLE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;;;;; +24FC;DOUBLE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;;;;; +24FD;DOUBLE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;;;;; +24FE;DOUBLE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;;;;; +24FF;NEGATIVE CIRCLED DIGIT ZERO;No;0;ON;;;0;0;N;;;;; +2500;BOX DRAWINGS LIGHT HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT HORIZONTAL;;;; +2501;BOX DRAWINGS HEAVY HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY HORIZONTAL;;;; +2502;BOX DRAWINGS LIGHT VERTICAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL;;;; +2503;BOX DRAWINGS HEAVY VERTICAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL;;;; +2504;BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH HORIZONTAL;;;; +2505;BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH HORIZONTAL;;;; +2506;BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH VERTICAL;;;; +2507;BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH VERTICAL;;;; +2508;BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH HORIZONTAL;;;; +2509;BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH HORIZONTAL;;;; +250A;BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH VERTICAL;;;; +250B;BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH VERTICAL;;;; +250C;BOX DRAWINGS LIGHT DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND RIGHT;;;; +250D;BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT HEAVY;;;; +250E;BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT LIGHT;;;; +250F;BOX DRAWINGS HEAVY DOWN AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND RIGHT;;;; +2510;BOX DRAWINGS LIGHT DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND LEFT;;;; +2511;BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT HEAVY;;;; +2512;BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT LIGHT;;;; +2513;BOX DRAWINGS HEAVY DOWN AND LEFT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND LEFT;;;; +2514;BOX DRAWINGS LIGHT UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT UP AND RIGHT;;;; +2515;BOX DRAWINGS UP LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT HEAVY;;;; +2516;BOX DRAWINGS UP HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT LIGHT;;;; +2517;BOX DRAWINGS HEAVY UP AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY UP AND RIGHT;;;; +2518;BOX DRAWINGS LIGHT UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT UP AND LEFT;;;; +2519;BOX DRAWINGS UP LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT HEAVY;;;; +251A;BOX DRAWINGS UP HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT LIGHT;;;; +251B;BOX DRAWINGS HEAVY UP AND LEFT;So;0;ON;;;;;N;FORMS HEAVY UP AND LEFT;;;; +251C;BOX DRAWINGS LIGHT VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND RIGHT;;;; +251D;BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND RIGHT HEAVY;;;; +251E;BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT DOWN LIGHT;;;; +251F;BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT UP LIGHT;;;; +2520;BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND RIGHT LIGHT;;;; +2521;BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT UP HEAVY;;;; +2522;BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT DOWN HEAVY;;;; +2523;BOX DRAWINGS HEAVY VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND RIGHT;;;; +2524;BOX DRAWINGS LIGHT VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND LEFT;;;; +2525;BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND LEFT HEAVY;;;; +2526;BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT DOWN LIGHT;;;; +2527;BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT UP LIGHT;;;; +2528;BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND LEFT LIGHT;;;; +2529;BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT UP HEAVY;;;; +252A;BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT DOWN HEAVY;;;; +252B;BOX DRAWINGS HEAVY VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND LEFT;;;; +252C;BOX DRAWINGS LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOWN AND HORIZONTAL;;;; +252D;BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT DOWN LIGHT;;;; +252E;BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT DOWN LIGHT;;;; +252F;BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND HORIZONTAL HEAVY;;;; +2530;BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND HORIZONTAL LIGHT;;;; +2531;BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT DOWN HEAVY;;;; +2532;BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT DOWN HEAVY;;;; +2533;BOX DRAWINGS HEAVY DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOWN AND HORIZONTAL;;;; +2534;BOX DRAWINGS LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT UP AND HORIZONTAL;;;; +2535;BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT UP LIGHT;;;; +2536;BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT UP LIGHT;;;; +2537;BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND HORIZONTAL HEAVY;;;; +2538;BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND HORIZONTAL LIGHT;;;; +2539;BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT UP HEAVY;;;; +253A;BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT UP HEAVY;;;; +253B;BOX DRAWINGS HEAVY UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY UP AND HORIZONTAL;;;; +253C;BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND HORIZONTAL;;;; +253D;BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT VERTICAL LIGHT;;;; +253E;BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT VERTICAL LIGHT;;;; +253F;BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND HORIZONTAL HEAVY;;;; +2540;BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND DOWN HORIZONTAL LIGHT;;;; +2541;BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND UP HORIZONTAL LIGHT;;;; +2542;BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND HORIZONTAL LIGHT;;;; +2543;BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT UP HEAVY AND RIGHT DOWN LIGHT;;;; +2544;BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT UP HEAVY AND LEFT DOWN LIGHT;;;; +2545;BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT DOWN HEAVY AND RIGHT UP LIGHT;;;; +2546;BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT DOWN HEAVY AND LEFT UP LIGHT;;;; +2547;BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND UP HORIZONTAL HEAVY;;;; +2548;BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND DOWN HORIZONTAL HEAVY;;;; +2549;BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT VERTICAL HEAVY;;;; +254A;BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT VERTICAL HEAVY;;;; +254B;BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND HORIZONTAL;;;; +254C;BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH HORIZONTAL;;;; +254D;BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH HORIZONTAL;;;; +254E;BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH VERTICAL;;;; +254F;BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH VERTICAL;;;; +2550;BOX DRAWINGS DOUBLE HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE HORIZONTAL;;;; +2551;BOX DRAWINGS DOUBLE VERTICAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL;;;; +2552;BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND RIGHT DOUBLE;;;; +2553;BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND RIGHT SINGLE;;;; +2554;BOX DRAWINGS DOUBLE DOWN AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND RIGHT;;;; +2555;BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND LEFT DOUBLE;;;; +2556;BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND LEFT SINGLE;;;; +2557;BOX DRAWINGS DOUBLE DOWN AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND LEFT;;;; +2558;BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND RIGHT DOUBLE;;;; +2559;BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND RIGHT SINGLE;;;; +255A;BOX DRAWINGS DOUBLE UP AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE UP AND RIGHT;;;; +255B;BOX DRAWINGS UP SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND LEFT DOUBLE;;;; +255C;BOX DRAWINGS UP DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND LEFT SINGLE;;;; +255D;BOX DRAWINGS DOUBLE UP AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE UP AND LEFT;;;; +255E;BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND RIGHT DOUBLE;;;; +255F;BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND RIGHT SINGLE;;;; +2560;BOX DRAWINGS DOUBLE VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND RIGHT;;;; +2561;BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND LEFT DOUBLE;;;; +2562;BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND LEFT SINGLE;;;; +2563;BOX DRAWINGS DOUBLE VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND LEFT;;;; +2564;BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND HORIZONTAL DOUBLE;;;; +2565;BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND HORIZONTAL SINGLE;;;; +2566;BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND HORIZONTAL;;;; +2567;BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND HORIZONTAL DOUBLE;;;; +2568;BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND HORIZONTAL SINGLE;;;; +2569;BOX DRAWINGS DOUBLE UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE UP AND HORIZONTAL;;;; +256A;BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND HORIZONTAL DOUBLE;;;; +256B;BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND HORIZONTAL SINGLE;;;; +256C;BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND HORIZONTAL;;;; +256D;BOX DRAWINGS LIGHT ARC DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND RIGHT;;;; +256E;BOX DRAWINGS LIGHT ARC DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND LEFT;;;; +256F;BOX DRAWINGS LIGHT ARC UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND LEFT;;;; +2570;BOX DRAWINGS LIGHT ARC UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND RIGHT;;;; +2571;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;;;; +2572;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;;;; +2573;BOX DRAWINGS LIGHT DIAGONAL CROSS;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL CROSS;;;; +2574;BOX DRAWINGS LIGHT LEFT;So;0;ON;;;;;N;FORMS LIGHT LEFT;;;; +2575;BOX DRAWINGS LIGHT UP;So;0;ON;;;;;N;FORMS LIGHT UP;;;; +2576;BOX DRAWINGS LIGHT RIGHT;So;0;ON;;;;;N;FORMS LIGHT RIGHT;;;; +2577;BOX DRAWINGS LIGHT DOWN;So;0;ON;;;;;N;FORMS LIGHT DOWN;;;; +2578;BOX DRAWINGS HEAVY LEFT;So;0;ON;;;;;N;FORMS HEAVY LEFT;;;; +2579;BOX DRAWINGS HEAVY UP;So;0;ON;;;;;N;FORMS HEAVY UP;;;; +257A;BOX DRAWINGS HEAVY RIGHT;So;0;ON;;;;;N;FORMS HEAVY RIGHT;;;; +257B;BOX DRAWINGS HEAVY DOWN;So;0;ON;;;;;N;FORMS HEAVY DOWN;;;; +257C;BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT;So;0;ON;;;;;N;FORMS LIGHT LEFT AND HEAVY RIGHT;;;; +257D;BOX DRAWINGS LIGHT UP AND HEAVY DOWN;So;0;ON;;;;;N;FORMS LIGHT UP AND HEAVY DOWN;;;; +257E;BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT;So;0;ON;;;;;N;FORMS HEAVY LEFT AND LIGHT RIGHT;;;; +257F;BOX DRAWINGS HEAVY UP AND LIGHT DOWN;So;0;ON;;;;;N;FORMS HEAVY UP AND LIGHT DOWN;;;; +2580;UPPER HALF BLOCK;So;0;ON;;;;;N;;;;; +2581;LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +2582;LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; +2583;LOWER THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +2584;LOWER HALF BLOCK;So;0;ON;;;;;N;;;;; +2585;LOWER FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +2586;LOWER THREE QUARTERS BLOCK;So;0;ON;;;;;N;LOWER THREE QUARTER BLOCK;;;; +2587;LOWER SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +2588;FULL BLOCK;So;0;ON;;;;;N;;;;; +2589;LEFT SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +258A;LEFT THREE QUARTERS BLOCK;So;0;ON;;;;;N;LEFT THREE QUARTER BLOCK;;;; +258B;LEFT FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +258C;LEFT HALF BLOCK;So;0;ON;;;;;N;;;;; +258D;LEFT THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +258E;LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; +258F;LEFT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +2590;RIGHT HALF BLOCK;So;0;ON;;;;;N;;;;; +2591;LIGHT SHADE;So;0;ON;;;;;N;;;;; +2592;MEDIUM SHADE;So;0;ON;;;;;N;;;;; +2593;DARK SHADE;So;0;ON;;;;;N;;;;; +2594;UPPER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +2595;RIGHT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +2596;QUADRANT LOWER LEFT;So;0;ON;;;;;N;;;;; +2597;QUADRANT LOWER RIGHT;So;0;ON;;;;;N;;;;; +2598;QUADRANT UPPER LEFT;So;0;ON;;;;;N;;;;; +2599;QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; +259A;QUADRANT UPPER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; +259B;QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT;So;0;ON;;;;;N;;;;; +259C;QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; +259D;QUADRANT UPPER RIGHT;So;0;ON;;;;;N;;;;; +259E;QUADRANT UPPER RIGHT AND LOWER LEFT;So;0;ON;;;;;N;;;;; +259F;QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; +25A0;BLACK SQUARE;So;0;ON;;;;;N;;;;; +25A1;WHITE SQUARE;So;0;ON;;;;;N;;;;; +25A2;WHITE SQUARE WITH ROUNDED CORNERS;So;0;ON;;;;;N;;;;; +25A3;WHITE SQUARE CONTAINING BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;; +25A4;SQUARE WITH HORIZONTAL FILL;So;0;ON;;;;;N;;;;; +25A5;SQUARE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;; +25A6;SQUARE WITH ORTHOGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;; +25A7;SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL;So;0;ON;;;;;N;;;;; +25A8;SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL;So;0;ON;;;;;N;;;;; +25A9;SQUARE WITH DIAGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;; +25AA;BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;; +25AB;WHITE SMALL SQUARE;So;0;ON;;;;;N;;;;; +25AC;BLACK RECTANGLE;So;0;ON;;;;;N;;;;; +25AD;WHITE RECTANGLE;So;0;ON;;;;;N;;;;; +25AE;BLACK VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;; +25AF;WHITE VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;; +25B0;BLACK PARALLELOGRAM;So;0;ON;;;;;N;;;;; +25B1;WHITE PARALLELOGRAM;So;0;ON;;;;;N;;;;; +25B2;BLACK UP-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING TRIANGLE;;;; +25B3;WHITE UP-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE;;;; +25B4;BLACK UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING SMALL TRIANGLE;;;; +25B5;WHITE UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING SMALL TRIANGLE;;;; +25B6;BLACK RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING TRIANGLE;;;; +25B7;WHITE RIGHT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE RIGHT POINTING TRIANGLE;;;; +25B8;BLACK RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING SMALL TRIANGLE;;;; +25B9;WHITE RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE RIGHT POINTING SMALL TRIANGLE;;;; +25BA;BLACK RIGHT-POINTING POINTER;So;0;ON;;;;;N;BLACK RIGHT POINTING POINTER;;;; +25BB;WHITE RIGHT-POINTING POINTER;So;0;ON;;;;;N;WHITE RIGHT POINTING POINTER;;;; +25BC;BLACK DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING TRIANGLE;;;; +25BD;WHITE DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING TRIANGLE;;;; +25BE;BLACK DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING SMALL TRIANGLE;;;; +25BF;WHITE DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING SMALL TRIANGLE;;;; +25C0;BLACK LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING TRIANGLE;;;; +25C1;WHITE LEFT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE LEFT POINTING TRIANGLE;;;; +25C2;BLACK LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING SMALL TRIANGLE;;;; +25C3;WHITE LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE LEFT POINTING SMALL TRIANGLE;;;; +25C4;BLACK LEFT-POINTING POINTER;So;0;ON;;;;;N;BLACK LEFT POINTING POINTER;;;; +25C5;WHITE LEFT-POINTING POINTER;So;0;ON;;;;;N;WHITE LEFT POINTING POINTER;;;; +25C6;BLACK DIAMOND;So;0;ON;;;;;N;;;;; +25C7;WHITE DIAMOND;So;0;ON;;;;;N;;;;; +25C8;WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND;So;0;ON;;;;;N;;;;; +25C9;FISHEYE;So;0;ON;;;;;N;;;;; +25CA;LOZENGE;So;0;ON;;;;;N;;;;; +25CB;WHITE CIRCLE;So;0;ON;;;;;N;;;;; +25CC;DOTTED CIRCLE;So;0;ON;;;;;N;;;;; +25CD;CIRCLE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;; +25CE;BULLSEYE;So;0;ON;;;;;N;;;;; +25CF;BLACK CIRCLE;So;0;ON;;;;;N;;;;; +25D0;CIRCLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; +25D1;CIRCLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; +25D2;CIRCLE WITH LOWER HALF BLACK;So;0;ON;;;;;N;;;;; +25D3;CIRCLE WITH UPPER HALF BLACK;So;0;ON;;;;;N;;;;; +25D4;CIRCLE WITH UPPER RIGHT QUADRANT BLACK;So;0;ON;;;;;N;;;;; +25D5;CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK;So;0;ON;;;;;N;;;;; +25D6;LEFT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; +25D7;RIGHT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; +25D8;INVERSE BULLET;So;0;ON;;;;;N;;;;; +25D9;INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; +25DA;UPPER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; +25DB;LOWER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; +25DC;UPPER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; +25DD;UPPER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; +25DE;LOWER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; +25DF;LOWER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; +25E0;UPPER HALF CIRCLE;So;0;ON;;;;;N;;;;; +25E1;LOWER HALF CIRCLE;So;0;ON;;;;;N;;;;; +25E2;BLACK LOWER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; +25E3;BLACK LOWER LEFT TRIANGLE;So;0;ON;;;;;N;;;;; +25E4;BLACK UPPER LEFT TRIANGLE;So;0;ON;;;;;N;;;;; +25E5;BLACK UPPER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; +25E6;WHITE BULLET;So;0;ON;;;;;N;;;;; +25E7;SQUARE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; +25E8;SQUARE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; +25E9;SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; +25EA;SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; +25EB;WHITE SQUARE WITH VERTICAL BISECTING LINE;So;0;ON;;;;;N;;;;; +25EC;WHITE UP-POINTING TRIANGLE WITH DOT;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE WITH DOT;;;; +25ED;UP-POINTING TRIANGLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH LEFT HALF BLACK;;;; +25EE;UP-POINTING TRIANGLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH RIGHT HALF BLACK;;;; +25EF;LARGE CIRCLE;So;0;ON;;;;;N;;;;; +25F0;WHITE SQUARE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;; +25F1;WHITE SQUARE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;; +25F2;WHITE SQUARE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; +25F3;WHITE SQUARE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; +25F4;WHITE CIRCLE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;; +25F5;WHITE CIRCLE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;; +25F6;WHITE CIRCLE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; +25F7;WHITE CIRCLE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; +25F8;UPPER LEFT TRIANGLE;Sm;0;ON;;;;;N;;;;; +25F9;UPPER RIGHT TRIANGLE;Sm;0;ON;;;;;N;;;;; +25FA;LOWER LEFT TRIANGLE;Sm;0;ON;;;;;N;;;;; +25FB;WHITE MEDIUM SQUARE;Sm;0;ON;;;;;N;;;;; +25FC;BLACK MEDIUM SQUARE;Sm;0;ON;;;;;N;;;;; +25FD;WHITE MEDIUM SMALL SQUARE;Sm;0;ON;;;;;N;;;;; +25FE;BLACK MEDIUM SMALL SQUARE;Sm;0;ON;;;;;N;;;;; +25FF;LOWER RIGHT TRIANGLE;Sm;0;ON;;;;;N;;;;; +2600;BLACK SUN WITH RAYS;So;0;ON;;;;;N;;;;; +2601;CLOUD;So;0;ON;;;;;N;;;;; +2602;UMBRELLA;So;0;ON;;;;;N;;;;; +2603;SNOWMAN;So;0;ON;;;;;N;;;;; +2604;COMET;So;0;ON;;;;;N;;;;; +2605;BLACK STAR;So;0;ON;;;;;N;;;;; +2606;WHITE STAR;So;0;ON;;;;;N;;;;; +2607;LIGHTNING;So;0;ON;;;;;N;;;;; +2608;THUNDERSTORM;So;0;ON;;;;;N;;;;; +2609;SUN;So;0;ON;;;;;N;;;;; +260A;ASCENDING NODE;So;0;ON;;;;;N;;;;; +260B;DESCENDING NODE;So;0;ON;;;;;N;;;;; +260C;CONJUNCTION;So;0;ON;;;;;N;;;;; +260D;OPPOSITION;So;0;ON;;;;;N;;;;; +260E;BLACK TELEPHONE;So;0;ON;;;;;N;;;;; +260F;WHITE TELEPHONE;So;0;ON;;;;;N;;;;; +2610;BALLOT BOX;So;0;ON;;;;;N;;;;; +2611;BALLOT BOX WITH CHECK;So;0;ON;;;;;N;;;;; +2612;BALLOT BOX WITH X;So;0;ON;;;;;N;;;;; +2613;SALTIRE;So;0;ON;;;;;N;;;;; +2614;UMBRELLA WITH RAIN DROPS;So;0;ON;;;;;N;;;;; +2615;HOT BEVERAGE;So;0;ON;;;;;N;;;;; +2616;WHITE SHOGI PIECE;So;0;ON;;;;;N;;;;; +2617;BLACK SHOGI PIECE;So;0;ON;;;;;N;;;;; +2618;SHAMROCK;So;0;ON;;;;;N;;;;; +2619;REVERSED ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;; +261A;BLACK LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; +261B;BLACK RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; +261C;WHITE LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; +261D;WHITE UP POINTING INDEX;So;0;ON;;;;;N;;;;; +261E;WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; +261F;WHITE DOWN POINTING INDEX;So;0;ON;;;;;N;;;;; +2620;SKULL AND CROSSBONES;So;0;ON;;;;;N;;;;; +2621;CAUTION SIGN;So;0;ON;;;;;N;;;;; +2622;RADIOACTIVE SIGN;So;0;ON;;;;;N;;;;; +2623;BIOHAZARD SIGN;So;0;ON;;;;;N;;;;; +2624;CADUCEUS;So;0;ON;;;;;N;;;;; +2625;ANKH;So;0;ON;;;;;N;;;;; +2626;ORTHODOX CROSS;So;0;ON;;;;;N;;;;; +2627;CHI RHO;So;0;ON;;;;;N;;;;; +2628;CROSS OF LORRAINE;So;0;ON;;;;;N;;;;; +2629;CROSS OF JERUSALEM;So;0;ON;;;;;N;;;;; +262A;STAR AND CRESCENT;So;0;ON;;;;;N;;;;; +262B;FARSI SYMBOL;So;0;ON;;;;;N;SYMBOL OF IRAN;;;; +262C;ADI SHAKTI;So;0;ON;;;;;N;;;;; +262D;HAMMER AND SICKLE;So;0;ON;;;;;N;;;;; +262E;PEACE SYMBOL;So;0;ON;;;;;N;;;;; +262F;YIN YANG;So;0;ON;;;;;N;;;;; +2630;TRIGRAM FOR HEAVEN;So;0;ON;;;;;N;;;;; +2631;TRIGRAM FOR LAKE;So;0;ON;;;;;N;;;;; +2632;TRIGRAM FOR FIRE;So;0;ON;;;;;N;;;;; +2633;TRIGRAM FOR THUNDER;So;0;ON;;;;;N;;;;; +2634;TRIGRAM FOR WIND;So;0;ON;;;;;N;;;;; +2635;TRIGRAM FOR WATER;So;0;ON;;;;;N;;;;; +2636;TRIGRAM FOR MOUNTAIN;So;0;ON;;;;;N;;;;; +2637;TRIGRAM FOR EARTH;So;0;ON;;;;;N;;;;; +2638;WHEEL OF DHARMA;So;0;ON;;;;;N;;;;; +2639;WHITE FROWNING FACE;So;0;ON;;;;;N;;;;; +263A;WHITE SMILING FACE;So;0;ON;;;;;N;;;;; +263B;BLACK SMILING FACE;So;0;ON;;;;;N;;;;; +263C;WHITE SUN WITH RAYS;So;0;ON;;;;;N;;;;; +263D;FIRST QUARTER MOON;So;0;ON;;;;;N;;;;; +263E;LAST QUARTER MOON;So;0;ON;;;;;N;;;;; +263F;MERCURY;So;0;ON;;;;;N;;;;; +2640;FEMALE SIGN;So;0;ON;;;;;N;;;;; +2641;EARTH;So;0;ON;;;;;N;;;;; +2642;MALE SIGN;So;0;ON;;;;;N;;;;; +2643;JUPITER;So;0;ON;;;;;N;;;;; +2644;SATURN;So;0;ON;;;;;N;;;;; +2645;URANUS;So;0;ON;;;;;N;;;;; +2646;NEPTUNE;So;0;ON;;;;;N;;;;; +2647;PLUTO;So;0;ON;;;;;N;;;;; +2648;ARIES;So;0;ON;;;;;N;;;;; +2649;TAURUS;So;0;ON;;;;;N;;;;; +264A;GEMINI;So;0;ON;;;;;N;;;;; +264B;CANCER;So;0;ON;;;;;N;;;;; +264C;LEO;So;0;ON;;;;;N;;;;; +264D;VIRGO;So;0;ON;;;;;N;;;;; +264E;LIBRA;So;0;ON;;;;;N;;;;; +264F;SCORPIUS;So;0;ON;;;;;N;;;;; +2650;SAGITTARIUS;So;0;ON;;;;;N;;;;; +2651;CAPRICORN;So;0;ON;;;;;N;;;;; +2652;AQUARIUS;So;0;ON;;;;;N;;;;; +2653;PISCES;So;0;ON;;;;;N;;;;; +2654;WHITE CHESS KING;So;0;ON;;;;;N;;;;; +2655;WHITE CHESS QUEEN;So;0;ON;;;;;N;;;;; +2656;WHITE CHESS ROOK;So;0;ON;;;;;N;;;;; +2657;WHITE CHESS BISHOP;So;0;ON;;;;;N;;;;; +2658;WHITE CHESS KNIGHT;So;0;ON;;;;;N;;;;; +2659;WHITE CHESS PAWN;So;0;ON;;;;;N;;;;; +265A;BLACK CHESS KING;So;0;ON;;;;;N;;;;; +265B;BLACK CHESS QUEEN;So;0;ON;;;;;N;;;;; +265C;BLACK CHESS ROOK;So;0;ON;;;;;N;;;;; +265D;BLACK CHESS BISHOP;So;0;ON;;;;;N;;;;; +265E;BLACK CHESS KNIGHT;So;0;ON;;;;;N;;;;; +265F;BLACK CHESS PAWN;So;0;ON;;;;;N;;;;; +2660;BLACK SPADE SUIT;So;0;ON;;;;;N;;;;; +2661;WHITE HEART SUIT;So;0;ON;;;;;N;;;;; +2662;WHITE DIAMOND SUIT;So;0;ON;;;;;N;;;;; +2663;BLACK CLUB SUIT;So;0;ON;;;;;N;;;;; +2664;WHITE SPADE SUIT;So;0;ON;;;;;N;;;;; +2665;BLACK HEART SUIT;So;0;ON;;;;;N;;;;; +2666;BLACK DIAMOND SUIT;So;0;ON;;;;;N;;;;; +2667;WHITE CLUB SUIT;So;0;ON;;;;;N;;;;; +2668;HOT SPRINGS;So;0;ON;;;;;N;;;;; +2669;QUARTER NOTE;So;0;ON;;;;;N;;;;; +266A;EIGHTH NOTE;So;0;ON;;;;;N;;;;; +266B;BEAMED EIGHTH NOTES;So;0;ON;;;;;N;BARRED EIGHTH NOTES;;;; +266C;BEAMED SIXTEENTH NOTES;So;0;ON;;;;;N;BARRED SIXTEENTH NOTES;;;; +266D;MUSIC FLAT SIGN;So;0;ON;;;;;N;FLAT;;;; +266E;MUSIC NATURAL SIGN;So;0;ON;;;;;N;NATURAL;;;; +266F;MUSIC SHARP SIGN;Sm;0;ON;;;;;N;SHARP;;;; +2670;WEST SYRIAC CROSS;So;0;ON;;;;;N;;;;; +2671;EAST SYRIAC CROSS;So;0;ON;;;;;N;;;;; +2672;UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;; +2673;RECYCLING SYMBOL FOR TYPE-1 PLASTICS;So;0;ON;;;;;N;;pete;;; +2674;RECYCLING SYMBOL FOR TYPE-2 PLASTICS;So;0;ON;;;;;N;;hdpe;;; +2675;RECYCLING SYMBOL FOR TYPE-3 PLASTICS;So;0;ON;;;;;N;;pvc;;; +2676;RECYCLING SYMBOL FOR TYPE-4 PLASTICS;So;0;ON;;;;;N;;ldpe;;; +2677;RECYCLING SYMBOL FOR TYPE-5 PLASTICS;So;0;ON;;;;;N;;pp;;; +2678;RECYCLING SYMBOL FOR TYPE-6 PLASTICS;So;0;ON;;;;;N;;ps;;; +2679;RECYCLING SYMBOL FOR TYPE-7 PLASTICS;So;0;ON;;;;;N;;other;;; +267A;RECYCLING SYMBOL FOR GENERIC MATERIALS;So;0;ON;;;;;N;;;;; +267B;BLACK UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;; +267C;RECYCLED PAPER SYMBOL;So;0;ON;;;;;N;;;;; +267D;PARTIALLY-RECYCLED PAPER SYMBOL;So;0;ON;;;;;N;;;;; +267E;PERMANENT PAPER SIGN;So;0;ON;;;;;N;;;;; +267F;WHEELCHAIR SYMBOL;So;0;ON;;;;;N;;;;; +2680;DIE FACE-1;So;0;ON;;;;;N;;;;; +2681;DIE FACE-2;So;0;ON;;;;;N;;;;; +2682;DIE FACE-3;So;0;ON;;;;;N;;;;; +2683;DIE FACE-4;So;0;ON;;;;;N;;;;; +2684;DIE FACE-5;So;0;ON;;;;;N;;;;; +2685;DIE FACE-6;So;0;ON;;;;;N;;;;; +2686;WHITE CIRCLE WITH DOT RIGHT;So;0;ON;;;;;N;;;;; +2687;WHITE CIRCLE WITH TWO DOTS;So;0;ON;;;;;N;;;;; +2688;BLACK CIRCLE WITH WHITE DOT RIGHT;So;0;ON;;;;;N;;;;; +2689;BLACK CIRCLE WITH TWO WHITE DOTS;So;0;ON;;;;;N;;;;; +268A;MONOGRAM FOR YANG;So;0;ON;;;;;N;;;;; +268B;MONOGRAM FOR YIN;So;0;ON;;;;;N;;;;; +268C;DIGRAM FOR GREATER YANG;So;0;ON;;;;;N;;;;; +268D;DIGRAM FOR LESSER YIN;So;0;ON;;;;;N;;;;; +268E;DIGRAM FOR LESSER YANG;So;0;ON;;;;;N;;;;; +268F;DIGRAM FOR GREATER YIN;So;0;ON;;;;;N;;;;; +2690;WHITE FLAG;So;0;ON;;;;;N;;;;; +2691;BLACK FLAG;So;0;ON;;;;;N;;;;; +2692;HAMMER AND PICK;So;0;ON;;;;;N;;;;; +2693;ANCHOR;So;0;ON;;;;;N;;;;; +2694;CROSSED SWORDS;So;0;ON;;;;;N;;;;; +2695;STAFF OF AESCULAPIUS;So;0;ON;;;;;N;;;;; +2696;SCALES;So;0;ON;;;;;N;;;;; +2697;ALEMBIC;So;0;ON;;;;;N;;;;; +2698;FLOWER;So;0;ON;;;;;N;;;;; +2699;GEAR;So;0;ON;;;;;N;;;;; +269A;STAFF OF HERMES;So;0;ON;;;;;N;;;;; +269B;ATOM SYMBOL;So;0;ON;;;;;N;;;;; +269C;FLEUR-DE-LIS;So;0;ON;;;;;N;;;;; +269D;OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;; +26A0;WARNING SIGN;So;0;ON;;;;;N;;;;; +26A1;HIGH VOLTAGE SIGN;So;0;ON;;;;;N;;;;; +26A2;DOUBLED FEMALE SIGN;So;0;ON;;;;;N;;;;; +26A3;DOUBLED MALE SIGN;So;0;ON;;;;;N;;;;; +26A4;INTERLOCKED FEMALE AND MALE SIGN;So;0;ON;;;;;N;;;;; +26A5;MALE AND FEMALE SIGN;So;0;ON;;;;;N;;;;; +26A6;MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;; +26A7;MALE WITH STROKE AND MALE AND FEMALE SIGN;So;0;ON;;;;;N;;;;; +26A8;VERTICAL MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;; +26A9;HORIZONTAL MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;; +26AA;MEDIUM WHITE CIRCLE;So;0;ON;;;;;N;;;;; +26AB;MEDIUM BLACK CIRCLE;So;0;ON;;;;;N;;;;; +26AC;MEDIUM SMALL WHITE CIRCLE;So;0;L;;;;;N;;;;; +26AD;MARRIAGE SYMBOL;So;0;ON;;;;;N;;;;; +26AE;DIVORCE SYMBOL;So;0;ON;;;;;N;;;;; +26AF;UNMARRIED PARTNERSHIP SYMBOL;So;0;ON;;;;;N;;;;; +26B0;COFFIN;So;0;ON;;;;;N;;;;; +26B1;FUNERAL URN;So;0;ON;;;;;N;;;;; +26B2;NEUTER;So;0;ON;;;;;N;;;;; +26B3;CERES;So;0;ON;;;;;N;;;;; +26B4;PALLAS;So;0;ON;;;;;N;;;;; +26B5;JUNO;So;0;ON;;;;;N;;;;; +26B6;VESTA;So;0;ON;;;;;N;;;;; +26B7;CHIRON;So;0;ON;;;;;N;;;;; +26B8;BLACK MOON LILITH;So;0;ON;;;;;N;;;;; +26B9;SEXTILE;So;0;ON;;;;;N;;;;; +26BA;SEMISEXTILE;So;0;ON;;;;;N;;;;; +26BB;QUINCUNX;So;0;ON;;;;;N;;;;; +26BC;SESQUIQUADRATE;So;0;ON;;;;;N;;;;; +26C0;WHITE DRAUGHTS MAN;So;0;ON;;;;;N;;;;; +26C1;WHITE DRAUGHTS KING;So;0;ON;;;;;N;;;;; +26C2;BLACK DRAUGHTS MAN;So;0;ON;;;;;N;;;;; +26C3;BLACK DRAUGHTS KING;So;0;ON;;;;;N;;;;; +2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;; +2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;; +2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;; +2704;WHITE SCISSORS;So;0;ON;;;;;N;;;;; +2706;TELEPHONE LOCATION SIGN;So;0;ON;;;;;N;;;;; +2707;TAPE DRIVE;So;0;ON;;;;;N;;;;; +2708;AIRPLANE;So;0;ON;;;;;N;;;;; +2709;ENVELOPE;So;0;ON;;;;;N;;;;; +270C;VICTORY HAND;So;0;ON;;;;;N;;;;; +270D;WRITING HAND;So;0;ON;;;;;N;;;;; +270E;LOWER RIGHT PENCIL;So;0;ON;;;;;N;;;;; +270F;PENCIL;So;0;ON;;;;;N;;;;; +2710;UPPER RIGHT PENCIL;So;0;ON;;;;;N;;;;; +2711;WHITE NIB;So;0;ON;;;;;N;;;;; +2712;BLACK NIB;So;0;ON;;;;;N;;;;; +2713;CHECK MARK;So;0;ON;;;;;N;;;;; +2714;HEAVY CHECK MARK;So;0;ON;;;;;N;;;;; +2715;MULTIPLICATION X;So;0;ON;;;;;N;;;;; +2716;HEAVY MULTIPLICATION X;So;0;ON;;;;;N;;;;; +2717;BALLOT X;So;0;ON;;;;;N;;;;; +2718;HEAVY BALLOT X;So;0;ON;;;;;N;;;;; +2719;OUTLINED GREEK CROSS;So;0;ON;;;;;N;;;;; +271A;HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;; +271B;OPEN CENTRE CROSS;So;0;ON;;;;;N;OPEN CENTER CROSS;;;; +271C;HEAVY OPEN CENTRE CROSS;So;0;ON;;;;;N;HEAVY OPEN CENTER CROSS;;;; +271D;LATIN CROSS;So;0;ON;;;;;N;;;;; +271E;SHADOWED WHITE LATIN CROSS;So;0;ON;;;;;N;;;;; +271F;OUTLINED LATIN CROSS;So;0;ON;;;;;N;;;;; +2720;MALTESE CROSS;So;0;ON;;;;;N;;;;; +2721;STAR OF DAVID;So;0;ON;;;;;N;;;;; +2722;FOUR TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +2723;FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +2724;HEAVY FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +2725;FOUR CLUB-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +2726;BLACK FOUR POINTED STAR;So;0;ON;;;;;N;;;;; +2727;WHITE FOUR POINTED STAR;So;0;ON;;;;;N;;;;; +2729;STRESS OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;; +272A;CIRCLED WHITE STAR;So;0;ON;;;;;N;;;;; +272B;OPEN CENTRE BLACK STAR;So;0;ON;;;;;N;OPEN CENTER BLACK STAR;;;; +272C;BLACK CENTRE WHITE STAR;So;0;ON;;;;;N;BLACK CENTER WHITE STAR;;;; +272D;OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;; +272E;HEAVY OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;; +272F;PINWHEEL STAR;So;0;ON;;;;;N;;;;; +2730;SHADOWED WHITE STAR;So;0;ON;;;;;N;;;;; +2731;HEAVY ASTERISK;So;0;ON;;;;;N;;;;; +2732;OPEN CENTRE ASTERISK;So;0;ON;;;;;N;OPEN CENTER ASTERISK;;;; +2733;EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +2734;EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +2735;EIGHT POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;; +2736;SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +2737;EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;; +2738;HEAVY EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;; +2739;TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +273A;SIXTEEN POINTED ASTERISK;So;0;ON;;;;;N;;;;; +273B;TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +273C;OPEN CENTRE TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;OPEN CENTER TEARDROP-SPOKED ASTERISK;;;; +273D;HEAVY TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +273E;SIX PETALLED BLACK AND WHITE FLORETTE;So;0;ON;;;;;N;;;;; +273F;BLACK FLORETTE;So;0;ON;;;;;N;;;;; +2740;WHITE FLORETTE;So;0;ON;;;;;N;;;;; +2741;EIGHT PETALLED OUTLINED BLACK FLORETTE;So;0;ON;;;;;N;;;;; +2742;CIRCLED OPEN CENTRE EIGHT POINTED STAR;So;0;ON;;;;;N;CIRCLED OPEN CENTER EIGHT POINTED STAR;;;; +2743;HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK;So;0;ON;;;;;N;;;;; +2744;SNOWFLAKE;So;0;ON;;;;;N;;;;; +2745;TIGHT TRIFOLIATE SNOWFLAKE;So;0;ON;;;;;N;;;;; +2746;HEAVY CHEVRON SNOWFLAKE;So;0;ON;;;;;N;;;;; +2747;SPARKLE;So;0;ON;;;;;N;;;;; +2748;HEAVY SPARKLE;So;0;ON;;;;;N;;;;; +2749;BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +274A;EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;; +274B;HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;; +274D;SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;; +274F;LOWER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; +2750;UPPER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; +2751;LOWER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; +2752;UPPER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; +2756;BLACK DIAMOND MINUS WHITE X;So;0;ON;;;;;N;;;;; +2758;LIGHT VERTICAL BAR;So;0;ON;;;;;N;;;;; +2759;MEDIUM VERTICAL BAR;So;0;ON;;;;;N;;;;; +275A;HEAVY VERTICAL BAR;So;0;ON;;;;;N;;;;; +275B;HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +275C;HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +275D;HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +275E;HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +2761;CURVED STEM PARAGRAPH SIGN ORNAMENT;So;0;ON;;;;;N;;;;; +2762;HEAVY EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +2763;HEAVY HEART EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +2764;HEAVY BLACK HEART;So;0;ON;;;;;N;;;;; +2765;ROTATED HEAVY BLACK HEART BULLET;So;0;ON;;;;;N;;;;; +2766;FLORAL HEART;So;0;ON;;;;;N;;;;; +2767;ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;; +2768;MEDIUM LEFT PARENTHESIS ORNAMENT;Ps;0;ON;;;;;Y;;;;; +2769;MEDIUM RIGHT PARENTHESIS ORNAMENT;Pe;0;ON;;;;;Y;;;;; +276A;MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT;Ps;0;ON;;;;;Y;;;;; +276B;MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT;Pe;0;ON;;;;;Y;;;;; +276C;MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; +276D;MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; +276E;HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT;Ps;0;ON;;;;;Y;;;;; +276F;HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT;Pe;0;ON;;;;;Y;;;;; +2770;HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; +2771;HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; +2772;LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; +2773;LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; +2774;MEDIUM LEFT CURLY BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; +2775;MEDIUM RIGHT CURLY BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; +2776;DINGBAT NEGATIVE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED DIGIT ONE;;;; +2777;DINGBAT NEGATIVE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED DIGIT TWO;;;; +2778;DINGBAT NEGATIVE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED DIGIT THREE;;;; +2779;DINGBAT NEGATIVE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED DIGIT FOUR;;;; +277A;DINGBAT NEGATIVE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED DIGIT FIVE;;;; +277B;DINGBAT NEGATIVE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED DIGIT SIX;;;; +277C;DINGBAT NEGATIVE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED DIGIT SEVEN;;;; +277D;DINGBAT NEGATIVE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED DIGIT EIGHT;;;; +277E;DINGBAT NEGATIVE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED DIGIT NINE;;;; +277F;DINGBAT NEGATIVE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED NUMBER TEN;;;; +2780;DINGBAT CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;CIRCLED SANS-SERIF DIGIT ONE;;;; +2781;DINGBAT CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;CIRCLED SANS-SERIF DIGIT TWO;;;; +2782;DINGBAT CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;CIRCLED SANS-SERIF DIGIT THREE;;;; +2783;DINGBAT CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;CIRCLED SANS-SERIF DIGIT FOUR;;;; +2784;DINGBAT CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;CIRCLED SANS-SERIF DIGIT FIVE;;;; +2785;DINGBAT CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;CIRCLED SANS-SERIF DIGIT SIX;;;; +2786;DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;CIRCLED SANS-SERIF DIGIT SEVEN;;;; +2787;DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;CIRCLED SANS-SERIF DIGIT EIGHT;;;; +2788;DINGBAT CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;CIRCLED SANS-SERIF DIGIT NINE;;;; +2789;DINGBAT CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;CIRCLED SANS-SERIF NUMBER TEN;;;; +278A;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED SANS-SERIF DIGIT ONE;;;; +278B;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED SANS-SERIF DIGIT TWO;;;; +278C;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED SANS-SERIF DIGIT THREE;;;; +278D;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED SANS-SERIF DIGIT FOUR;;;; +278E;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED SANS-SERIF DIGIT FIVE;;;; +278F;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED SANS-SERIF DIGIT SIX;;;; +2790;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED SANS-SERIF DIGIT SEVEN;;;; +2791;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED SANS-SERIF DIGIT EIGHT;;;; +2792;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED SANS-SERIF DIGIT NINE;;;; +2793;DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED SANS-SERIF NUMBER TEN;;;; +2794;HEAVY WIDE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WIDE-HEADED RIGHT ARROW;;;; +2798;HEAVY SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT ARROW;;;; +2799;HEAVY RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY RIGHT ARROW;;;; +279A;HEAVY NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT ARROW;;;; +279B;DRAFTING POINT RIGHTWARDS ARROW;So;0;ON;;;;;N;DRAFTING POINT RIGHT ARROW;;;; +279C;HEAVY ROUND-TIPPED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY ROUND-TIPPED RIGHT ARROW;;;; +279D;TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;TRIANGLE-HEADED RIGHT ARROW;;;; +279E;HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TRIANGLE-HEADED RIGHT ARROW;;;; +279F;DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;DASHED TRIANGLE-HEADED RIGHT ARROW;;;; +27A0;HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY DASHED TRIANGLE-HEADED RIGHT ARROW;;;; +27A1;BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK RIGHT ARROW;;;; +27A2;THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D TOP-LIGHTED RIGHT ARROWHEAD;;;; +27A3;THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D BOTTOM-LIGHTED RIGHT ARROWHEAD;;;; +27A4;BLACK RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;BLACK RIGHT ARROWHEAD;;;; +27A5;HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED DOWN AND RIGHT ARROW;;;; +27A6;HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED UP AND RIGHT ARROW;;;; +27A7;SQUAT BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;SQUAT BLACK RIGHT ARROW;;;; +27A8;HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY CONCAVE-POINTED BLACK RIGHT ARROW;;;; +27A9;RIGHT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;RIGHT-SHADED WHITE RIGHT ARROW;;;; +27AA;LEFT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT-SHADED WHITE RIGHT ARROW;;;; +27AB;BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;BACK-TILTED SHADOWED WHITE RIGHT ARROW;;;; +27AC;FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;FRONT-TILTED SHADOWED WHITE RIGHT ARROW;;;; +27AD;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; +27AE;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; +27AF;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; +27B1;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; +27B2;CIRCLED HEAVY WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;CIRCLED HEAVY WHITE RIGHT ARROW;;;; +27B3;WHITE-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;WHITE-FEATHERED RIGHT ARROW;;;; +27B4;BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED LOWER RIGHT ARROW;;;; +27B5;BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK-FEATHERED RIGHT ARROW;;;; +27B6;BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED UPPER RIGHT ARROW;;;; +27B7;HEAVY BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED LOWER RIGHT ARROW;;;; +27B8;HEAVY BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED RIGHT ARROW;;;; +27B9;HEAVY BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED UPPER RIGHT ARROW;;;; +27BA;TEARDROP-BARBED RIGHTWARDS ARROW;So;0;ON;;;;;N;TEARDROP-BARBED RIGHT ARROW;;;; +27BB;HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TEARDROP-SHANKED RIGHT ARROW;;;; +27BC;WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;WEDGE-TAILED RIGHT ARROW;;;; +27BD;HEAVY WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WEDGE-TAILED RIGHT ARROW;;;; +27BE;OPEN-OUTLINED RIGHTWARDS ARROW;So;0;ON;;;;;N;OPEN-OUTLINED RIGHT ARROW;;;; +27C0;THREE DIMENSIONAL ANGLE;Sm;0;ON;;;;;Y;;;;; +27C1;WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE;Sm;0;ON;;;;;N;;;;; +27C2;PERPENDICULAR;Sm;0;ON;;;;;N;;;;; +27C3;OPEN SUBSET;Sm;0;ON;;;;;Y;;;;; +27C4;OPEN SUPERSET;Sm;0;ON;;;;;Y;;;;; +27C5;LEFT S-SHAPED BAG DELIMITER;Ps;0;ON;;;;;Y;;;;; +27C6;RIGHT S-SHAPED BAG DELIMITER;Pe;0;ON;;;;;Y;;;;; +27C7;OR WITH DOT INSIDE;Sm;0;ON;;;;;N;;;;; +27C8;REVERSE SOLIDUS PRECEDING SUBSET;Sm;0;ON;;;;;Y;;;;; +27C9;SUPERSET PRECEDING SOLIDUS;Sm;0;ON;;;;;Y;;;;; +27CA;VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; +27CC;LONG DIVISION;Sm;0;ON;;;;;Y;;;;; +27D0;WHITE DIAMOND WITH CENTRED DOT;Sm;0;ON;;;;;N;;;;; +27D1;AND WITH DOT;Sm;0;ON;;;;;N;;;;; +27D2;ELEMENT OF OPENING UPWARDS;Sm;0;ON;;;;;N;;;;; +27D3;LOWER RIGHT CORNER WITH DOT;Sm;0;ON;;;;;Y;;;;; +27D4;UPPER LEFT CORNER WITH DOT;Sm;0;ON;;;;;Y;;;;; +27D5;LEFT OUTER JOIN;Sm;0;ON;;;;;Y;;;;; +27D6;RIGHT OUTER JOIN;Sm;0;ON;;;;;Y;;;;; +27D7;FULL OUTER JOIN;Sm;0;ON;;;;;N;;;;; +27D8;LARGE UP TACK;Sm;0;ON;;;;;N;;;;; +27D9;LARGE DOWN TACK;Sm;0;ON;;;;;N;;;;; +27DA;LEFT AND RIGHT DOUBLE TURNSTILE;Sm;0;ON;;;;;N;;;;; +27DB;LEFT AND RIGHT TACK;Sm;0;ON;;;;;N;;;;; +27DC;LEFT MULTIMAP;Sm;0;ON;;;;;Y;;;;; +27DD;LONG RIGHT TACK;Sm;0;ON;;;;;Y;;;;; +27DE;LONG LEFT TACK;Sm;0;ON;;;;;Y;;;;; +27DF;UP TACK WITH CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; +27E0;LOZENGE DIVIDED BY HORIZONTAL RULE;Sm;0;ON;;;;;N;;;;; +27E1;WHITE CONCAVE-SIDED DIAMOND;Sm;0;ON;;;;;N;;;;; +27E2;WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK;Sm;0;ON;;;;;Y;;;;; +27E3;WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK;Sm;0;ON;;;;;Y;;;;; +27E4;WHITE SQUARE WITH LEFTWARDS TICK;Sm;0;ON;;;;;Y;;;;; +27E5;WHITE SQUARE WITH RIGHTWARDS TICK;Sm;0;ON;;;;;Y;;;;; +27E6;MATHEMATICAL LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;;;;; +27E7;MATHEMATICAL RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;;;;; +27E8;MATHEMATICAL LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;; +27E9;MATHEMATICAL RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;; +27EA;MATHEMATICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;; +27EB;MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;; +27EC;MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;;;;; +27ED;MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;;;;; +27EE;MATHEMATICAL LEFT FLATTENED PARENTHESIS;Ps;0;ON;;;;;Y;;;;; +27EF;MATHEMATICAL RIGHT FLATTENED PARENTHESIS;Pe;0;ON;;;;;Y;;;;; +27F0;UPWARDS QUADRUPLE ARROW;Sm;0;ON;;;;;N;;;;; +27F1;DOWNWARDS QUADRUPLE ARROW;Sm;0;ON;;;;;N;;;;; +27F2;ANTICLOCKWISE GAPPED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; +27F3;CLOCKWISE GAPPED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; +27F4;RIGHT ARROW WITH CIRCLED PLUS;Sm;0;ON;;;;;N;;;;; +27F5;LONG LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +27F6;LONG RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +27F7;LONG LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;; +27F8;LONG LEFTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; +27F9;LONG RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; +27FA;LONG LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; +27FB;LONG LEFTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +27FC;LONG RIGHTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +27FD;LONG LEFTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +27FE;LONG RIGHTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +27FF;LONG RIGHTWARDS SQUIGGLE ARROW;Sm;0;ON;;;;;N;;;;; +2800;BRAILLE PATTERN BLANK;So;0;L;;;;;N;;;;; +2801;BRAILLE PATTERN DOTS-1;So;0;L;;;;;N;;;;; +2802;BRAILLE PATTERN DOTS-2;So;0;L;;;;;N;;;;; +2803;BRAILLE PATTERN DOTS-12;So;0;L;;;;;N;;;;; +2804;BRAILLE PATTERN DOTS-3;So;0;L;;;;;N;;;;; +2805;BRAILLE PATTERN DOTS-13;So;0;L;;;;;N;;;;; +2806;BRAILLE PATTERN DOTS-23;So;0;L;;;;;N;;;;; +2807;BRAILLE PATTERN DOTS-123;So;0;L;;;;;N;;;;; +2808;BRAILLE PATTERN DOTS-4;So;0;L;;;;;N;;;;; +2809;BRAILLE PATTERN DOTS-14;So;0;L;;;;;N;;;;; +280A;BRAILLE PATTERN DOTS-24;So;0;L;;;;;N;;;;; +280B;BRAILLE PATTERN DOTS-124;So;0;L;;;;;N;;;;; +280C;BRAILLE PATTERN DOTS-34;So;0;L;;;;;N;;;;; +280D;BRAILLE PATTERN DOTS-134;So;0;L;;;;;N;;;;; +280E;BRAILLE PATTERN DOTS-234;So;0;L;;;;;N;;;;; +280F;BRAILLE PATTERN DOTS-1234;So;0;L;;;;;N;;;;; +2810;BRAILLE PATTERN DOTS-5;So;0;L;;;;;N;;;;; +2811;BRAILLE PATTERN DOTS-15;So;0;L;;;;;N;;;;; +2812;BRAILLE PATTERN DOTS-25;So;0;L;;;;;N;;;;; +2813;BRAILLE PATTERN DOTS-125;So;0;L;;;;;N;;;;; +2814;BRAILLE PATTERN DOTS-35;So;0;L;;;;;N;;;;; +2815;BRAILLE PATTERN DOTS-135;So;0;L;;;;;N;;;;; +2816;BRAILLE PATTERN DOTS-235;So;0;L;;;;;N;;;;; +2817;BRAILLE PATTERN DOTS-1235;So;0;L;;;;;N;;;;; +2818;BRAILLE PATTERN DOTS-45;So;0;L;;;;;N;;;;; +2819;BRAILLE PATTERN DOTS-145;So;0;L;;;;;N;;;;; +281A;BRAILLE PATTERN DOTS-245;So;0;L;;;;;N;;;;; +281B;BRAILLE PATTERN DOTS-1245;So;0;L;;;;;N;;;;; +281C;BRAILLE PATTERN DOTS-345;So;0;L;;;;;N;;;;; +281D;BRAILLE PATTERN DOTS-1345;So;0;L;;;;;N;;;;; +281E;BRAILLE PATTERN DOTS-2345;So;0;L;;;;;N;;;;; +281F;BRAILLE PATTERN DOTS-12345;So;0;L;;;;;N;;;;; +2820;BRAILLE PATTERN DOTS-6;So;0;L;;;;;N;;;;; +2821;BRAILLE PATTERN DOTS-16;So;0;L;;;;;N;;;;; +2822;BRAILLE PATTERN DOTS-26;So;0;L;;;;;N;;;;; +2823;BRAILLE PATTERN DOTS-126;So;0;L;;;;;N;;;;; +2824;BRAILLE PATTERN DOTS-36;So;0;L;;;;;N;;;;; +2825;BRAILLE PATTERN DOTS-136;So;0;L;;;;;N;;;;; +2826;BRAILLE PATTERN DOTS-236;So;0;L;;;;;N;;;;; +2827;BRAILLE PATTERN DOTS-1236;So;0;L;;;;;N;;;;; +2828;BRAILLE PATTERN DOTS-46;So;0;L;;;;;N;;;;; +2829;BRAILLE PATTERN DOTS-146;So;0;L;;;;;N;;;;; +282A;BRAILLE PATTERN DOTS-246;So;0;L;;;;;N;;;;; +282B;BRAILLE PATTERN DOTS-1246;So;0;L;;;;;N;;;;; +282C;BRAILLE PATTERN DOTS-346;So;0;L;;;;;N;;;;; +282D;BRAILLE PATTERN DOTS-1346;So;0;L;;;;;N;;;;; +282E;BRAILLE PATTERN DOTS-2346;So;0;L;;;;;N;;;;; +282F;BRAILLE PATTERN DOTS-12346;So;0;L;;;;;N;;;;; +2830;BRAILLE PATTERN DOTS-56;So;0;L;;;;;N;;;;; +2831;BRAILLE PATTERN DOTS-156;So;0;L;;;;;N;;;;; +2832;BRAILLE PATTERN DOTS-256;So;0;L;;;;;N;;;;; +2833;BRAILLE PATTERN DOTS-1256;So;0;L;;;;;N;;;;; +2834;BRAILLE PATTERN DOTS-356;So;0;L;;;;;N;;;;; +2835;BRAILLE PATTERN DOTS-1356;So;0;L;;;;;N;;;;; +2836;BRAILLE PATTERN DOTS-2356;So;0;L;;;;;N;;;;; +2837;BRAILLE PATTERN DOTS-12356;So;0;L;;;;;N;;;;; +2838;BRAILLE PATTERN DOTS-456;So;0;L;;;;;N;;;;; +2839;BRAILLE PATTERN DOTS-1456;So;0;L;;;;;N;;;;; +283A;BRAILLE PATTERN DOTS-2456;So;0;L;;;;;N;;;;; +283B;BRAILLE PATTERN DOTS-12456;So;0;L;;;;;N;;;;; +283C;BRAILLE PATTERN DOTS-3456;So;0;L;;;;;N;;;;; +283D;BRAILLE PATTERN DOTS-13456;So;0;L;;;;;N;;;;; +283E;BRAILLE PATTERN DOTS-23456;So;0;L;;;;;N;;;;; +283F;BRAILLE PATTERN DOTS-123456;So;0;L;;;;;N;;;;; +2840;BRAILLE PATTERN DOTS-7;So;0;L;;;;;N;;;;; +2841;BRAILLE PATTERN DOTS-17;So;0;L;;;;;N;;;;; +2842;BRAILLE PATTERN DOTS-27;So;0;L;;;;;N;;;;; +2843;BRAILLE PATTERN DOTS-127;So;0;L;;;;;N;;;;; +2844;BRAILLE PATTERN DOTS-37;So;0;L;;;;;N;;;;; +2845;BRAILLE PATTERN DOTS-137;So;0;L;;;;;N;;;;; +2846;BRAILLE PATTERN DOTS-237;So;0;L;;;;;N;;;;; +2847;BRAILLE PATTERN DOTS-1237;So;0;L;;;;;N;;;;; +2848;BRAILLE PATTERN DOTS-47;So;0;L;;;;;N;;;;; +2849;BRAILLE PATTERN DOTS-147;So;0;L;;;;;N;;;;; +284A;BRAILLE PATTERN DOTS-247;So;0;L;;;;;N;;;;; +284B;BRAILLE PATTERN DOTS-1247;So;0;L;;;;;N;;;;; +284C;BRAILLE PATTERN DOTS-347;So;0;L;;;;;N;;;;; +284D;BRAILLE PATTERN DOTS-1347;So;0;L;;;;;N;;;;; +284E;BRAILLE PATTERN DOTS-2347;So;0;L;;;;;N;;;;; +284F;BRAILLE PATTERN DOTS-12347;So;0;L;;;;;N;;;;; +2850;BRAILLE PATTERN DOTS-57;So;0;L;;;;;N;;;;; +2851;BRAILLE PATTERN DOTS-157;So;0;L;;;;;N;;;;; +2852;BRAILLE PATTERN DOTS-257;So;0;L;;;;;N;;;;; +2853;BRAILLE PATTERN DOTS-1257;So;0;L;;;;;N;;;;; +2854;BRAILLE PATTERN DOTS-357;So;0;L;;;;;N;;;;; +2855;BRAILLE PATTERN DOTS-1357;So;0;L;;;;;N;;;;; +2856;BRAILLE PATTERN DOTS-2357;So;0;L;;;;;N;;;;; +2857;BRAILLE PATTERN DOTS-12357;So;0;L;;;;;N;;;;; +2858;BRAILLE PATTERN DOTS-457;So;0;L;;;;;N;;;;; +2859;BRAILLE PATTERN DOTS-1457;So;0;L;;;;;N;;;;; +285A;BRAILLE PATTERN DOTS-2457;So;0;L;;;;;N;;;;; +285B;BRAILLE PATTERN DOTS-12457;So;0;L;;;;;N;;;;; +285C;BRAILLE PATTERN DOTS-3457;So;0;L;;;;;N;;;;; +285D;BRAILLE PATTERN DOTS-13457;So;0;L;;;;;N;;;;; +285E;BRAILLE PATTERN DOTS-23457;So;0;L;;;;;N;;;;; +285F;BRAILLE PATTERN DOTS-123457;So;0;L;;;;;N;;;;; +2860;BRAILLE PATTERN DOTS-67;So;0;L;;;;;N;;;;; +2861;BRAILLE PATTERN DOTS-167;So;0;L;;;;;N;;;;; +2862;BRAILLE PATTERN DOTS-267;So;0;L;;;;;N;;;;; +2863;BRAILLE PATTERN DOTS-1267;So;0;L;;;;;N;;;;; +2864;BRAILLE PATTERN DOTS-367;So;0;L;;;;;N;;;;; +2865;BRAILLE PATTERN DOTS-1367;So;0;L;;;;;N;;;;; +2866;BRAILLE PATTERN DOTS-2367;So;0;L;;;;;N;;;;; +2867;BRAILLE PATTERN DOTS-12367;So;0;L;;;;;N;;;;; +2868;BRAILLE PATTERN DOTS-467;So;0;L;;;;;N;;;;; +2869;BRAILLE PATTERN DOTS-1467;So;0;L;;;;;N;;;;; +286A;BRAILLE PATTERN DOTS-2467;So;0;L;;;;;N;;;;; +286B;BRAILLE PATTERN DOTS-12467;So;0;L;;;;;N;;;;; +286C;BRAILLE PATTERN DOTS-3467;So;0;L;;;;;N;;;;; +286D;BRAILLE PATTERN DOTS-13467;So;0;L;;;;;N;;;;; +286E;BRAILLE PATTERN DOTS-23467;So;0;L;;;;;N;;;;; +286F;BRAILLE PATTERN DOTS-123467;So;0;L;;;;;N;;;;; +2870;BRAILLE PATTERN DOTS-567;So;0;L;;;;;N;;;;; +2871;BRAILLE PATTERN DOTS-1567;So;0;L;;;;;N;;;;; +2872;BRAILLE PATTERN DOTS-2567;So;0;L;;;;;N;;;;; +2873;BRAILLE PATTERN DOTS-12567;So;0;L;;;;;N;;;;; +2874;BRAILLE PATTERN DOTS-3567;So;0;L;;;;;N;;;;; +2875;BRAILLE PATTERN DOTS-13567;So;0;L;;;;;N;;;;; +2876;BRAILLE PATTERN DOTS-23567;So;0;L;;;;;N;;;;; +2877;BRAILLE PATTERN DOTS-123567;So;0;L;;;;;N;;;;; +2878;BRAILLE PATTERN DOTS-4567;So;0;L;;;;;N;;;;; +2879;BRAILLE PATTERN DOTS-14567;So;0;L;;;;;N;;;;; +287A;BRAILLE PATTERN DOTS-24567;So;0;L;;;;;N;;;;; +287B;BRAILLE PATTERN DOTS-124567;So;0;L;;;;;N;;;;; +287C;BRAILLE PATTERN DOTS-34567;So;0;L;;;;;N;;;;; +287D;BRAILLE PATTERN DOTS-134567;So;0;L;;;;;N;;;;; +287E;BRAILLE PATTERN DOTS-234567;So;0;L;;;;;N;;;;; +287F;BRAILLE PATTERN DOTS-1234567;So;0;L;;;;;N;;;;; +2880;BRAILLE PATTERN DOTS-8;So;0;L;;;;;N;;;;; +2881;BRAILLE PATTERN DOTS-18;So;0;L;;;;;N;;;;; +2882;BRAILLE PATTERN DOTS-28;So;0;L;;;;;N;;;;; +2883;BRAILLE PATTERN DOTS-128;So;0;L;;;;;N;;;;; +2884;BRAILLE PATTERN DOTS-38;So;0;L;;;;;N;;;;; +2885;BRAILLE PATTERN DOTS-138;So;0;L;;;;;N;;;;; +2886;BRAILLE PATTERN DOTS-238;So;0;L;;;;;N;;;;; +2887;BRAILLE PATTERN DOTS-1238;So;0;L;;;;;N;;;;; +2888;BRAILLE PATTERN DOTS-48;So;0;L;;;;;N;;;;; +2889;BRAILLE PATTERN DOTS-148;So;0;L;;;;;N;;;;; +288A;BRAILLE PATTERN DOTS-248;So;0;L;;;;;N;;;;; +288B;BRAILLE PATTERN DOTS-1248;So;0;L;;;;;N;;;;; +288C;BRAILLE PATTERN DOTS-348;So;0;L;;;;;N;;;;; +288D;BRAILLE PATTERN DOTS-1348;So;0;L;;;;;N;;;;; +288E;BRAILLE PATTERN DOTS-2348;So;0;L;;;;;N;;;;; +288F;BRAILLE PATTERN DOTS-12348;So;0;L;;;;;N;;;;; +2890;BRAILLE PATTERN DOTS-58;So;0;L;;;;;N;;;;; +2891;BRAILLE PATTERN DOTS-158;So;0;L;;;;;N;;;;; +2892;BRAILLE PATTERN DOTS-258;So;0;L;;;;;N;;;;; +2893;BRAILLE PATTERN DOTS-1258;So;0;L;;;;;N;;;;; +2894;BRAILLE PATTERN DOTS-358;So;0;L;;;;;N;;;;; +2895;BRAILLE PATTERN DOTS-1358;So;0;L;;;;;N;;;;; +2896;BRAILLE PATTERN DOTS-2358;So;0;L;;;;;N;;;;; +2897;BRAILLE PATTERN DOTS-12358;So;0;L;;;;;N;;;;; +2898;BRAILLE PATTERN DOTS-458;So;0;L;;;;;N;;;;; +2899;BRAILLE PATTERN DOTS-1458;So;0;L;;;;;N;;;;; +289A;BRAILLE PATTERN DOTS-2458;So;0;L;;;;;N;;;;; +289B;BRAILLE PATTERN DOTS-12458;So;0;L;;;;;N;;;;; +289C;BRAILLE PATTERN DOTS-3458;So;0;L;;;;;N;;;;; +289D;BRAILLE PATTERN DOTS-13458;So;0;L;;;;;N;;;;; +289E;BRAILLE PATTERN DOTS-23458;So;0;L;;;;;N;;;;; +289F;BRAILLE PATTERN DOTS-123458;So;0;L;;;;;N;;;;; +28A0;BRAILLE PATTERN DOTS-68;So;0;L;;;;;N;;;;; +28A1;BRAILLE PATTERN DOTS-168;So;0;L;;;;;N;;;;; +28A2;BRAILLE PATTERN DOTS-268;So;0;L;;;;;N;;;;; +28A3;BRAILLE PATTERN DOTS-1268;So;0;L;;;;;N;;;;; +28A4;BRAILLE PATTERN DOTS-368;So;0;L;;;;;N;;;;; +28A5;BRAILLE PATTERN DOTS-1368;So;0;L;;;;;N;;;;; +28A6;BRAILLE PATTERN DOTS-2368;So;0;L;;;;;N;;;;; +28A7;BRAILLE PATTERN DOTS-12368;So;0;L;;;;;N;;;;; +28A8;BRAILLE PATTERN DOTS-468;So;0;L;;;;;N;;;;; +28A9;BRAILLE PATTERN DOTS-1468;So;0;L;;;;;N;;;;; +28AA;BRAILLE PATTERN DOTS-2468;So;0;L;;;;;N;;;;; +28AB;BRAILLE PATTERN DOTS-12468;So;0;L;;;;;N;;;;; +28AC;BRAILLE PATTERN DOTS-3468;So;0;L;;;;;N;;;;; +28AD;BRAILLE PATTERN DOTS-13468;So;0;L;;;;;N;;;;; +28AE;BRAILLE PATTERN DOTS-23468;So;0;L;;;;;N;;;;; +28AF;BRAILLE PATTERN DOTS-123468;So;0;L;;;;;N;;;;; +28B0;BRAILLE PATTERN DOTS-568;So;0;L;;;;;N;;;;; +28B1;BRAILLE PATTERN DOTS-1568;So;0;L;;;;;N;;;;; +28B2;BRAILLE PATTERN DOTS-2568;So;0;L;;;;;N;;;;; +28B3;BRAILLE PATTERN DOTS-12568;So;0;L;;;;;N;;;;; +28B4;BRAILLE PATTERN DOTS-3568;So;0;L;;;;;N;;;;; +28B5;BRAILLE PATTERN DOTS-13568;So;0;L;;;;;N;;;;; +28B6;BRAILLE PATTERN DOTS-23568;So;0;L;;;;;N;;;;; +28B7;BRAILLE PATTERN DOTS-123568;So;0;L;;;;;N;;;;; +28B8;BRAILLE PATTERN DOTS-4568;So;0;L;;;;;N;;;;; +28B9;BRAILLE PATTERN DOTS-14568;So;0;L;;;;;N;;;;; +28BA;BRAILLE PATTERN DOTS-24568;So;0;L;;;;;N;;;;; +28BB;BRAILLE PATTERN DOTS-124568;So;0;L;;;;;N;;;;; +28BC;BRAILLE PATTERN DOTS-34568;So;0;L;;;;;N;;;;; +28BD;BRAILLE PATTERN DOTS-134568;So;0;L;;;;;N;;;;; +28BE;BRAILLE PATTERN DOTS-234568;So;0;L;;;;;N;;;;; +28BF;BRAILLE PATTERN DOTS-1234568;So;0;L;;;;;N;;;;; +28C0;BRAILLE PATTERN DOTS-78;So;0;L;;;;;N;;;;; +28C1;BRAILLE PATTERN DOTS-178;So;0;L;;;;;N;;;;; +28C2;BRAILLE PATTERN DOTS-278;So;0;L;;;;;N;;;;; +28C3;BRAILLE PATTERN DOTS-1278;So;0;L;;;;;N;;;;; +28C4;BRAILLE PATTERN DOTS-378;So;0;L;;;;;N;;;;; +28C5;BRAILLE PATTERN DOTS-1378;So;0;L;;;;;N;;;;; +28C6;BRAILLE PATTERN DOTS-2378;So;0;L;;;;;N;;;;; +28C7;BRAILLE PATTERN DOTS-12378;So;0;L;;;;;N;;;;; +28C8;BRAILLE PATTERN DOTS-478;So;0;L;;;;;N;;;;; +28C9;BRAILLE PATTERN DOTS-1478;So;0;L;;;;;N;;;;; +28CA;BRAILLE PATTERN DOTS-2478;So;0;L;;;;;N;;;;; +28CB;BRAILLE PATTERN DOTS-12478;So;0;L;;;;;N;;;;; +28CC;BRAILLE PATTERN DOTS-3478;So;0;L;;;;;N;;;;; +28CD;BRAILLE PATTERN DOTS-13478;So;0;L;;;;;N;;;;; +28CE;BRAILLE PATTERN DOTS-23478;So;0;L;;;;;N;;;;; +28CF;BRAILLE PATTERN DOTS-123478;So;0;L;;;;;N;;;;; +28D0;BRAILLE PATTERN DOTS-578;So;0;L;;;;;N;;;;; +28D1;BRAILLE PATTERN DOTS-1578;So;0;L;;;;;N;;;;; +28D2;BRAILLE PATTERN DOTS-2578;So;0;L;;;;;N;;;;; +28D3;BRAILLE PATTERN DOTS-12578;So;0;L;;;;;N;;;;; +28D4;BRAILLE PATTERN DOTS-3578;So;0;L;;;;;N;;;;; +28D5;BRAILLE PATTERN DOTS-13578;So;0;L;;;;;N;;;;; +28D6;BRAILLE PATTERN DOTS-23578;So;0;L;;;;;N;;;;; +28D7;BRAILLE PATTERN DOTS-123578;So;0;L;;;;;N;;;;; +28D8;BRAILLE PATTERN DOTS-4578;So;0;L;;;;;N;;;;; +28D9;BRAILLE PATTERN DOTS-14578;So;0;L;;;;;N;;;;; +28DA;BRAILLE PATTERN DOTS-24578;So;0;L;;;;;N;;;;; +28DB;BRAILLE PATTERN DOTS-124578;So;0;L;;;;;N;;;;; +28DC;BRAILLE PATTERN DOTS-34578;So;0;L;;;;;N;;;;; +28DD;BRAILLE PATTERN DOTS-134578;So;0;L;;;;;N;;;;; +28DE;BRAILLE PATTERN DOTS-234578;So;0;L;;;;;N;;;;; +28DF;BRAILLE PATTERN DOTS-1234578;So;0;L;;;;;N;;;;; +28E0;BRAILLE PATTERN DOTS-678;So;0;L;;;;;N;;;;; +28E1;BRAILLE PATTERN DOTS-1678;So;0;L;;;;;N;;;;; +28E2;BRAILLE PATTERN DOTS-2678;So;0;L;;;;;N;;;;; +28E3;BRAILLE PATTERN DOTS-12678;So;0;L;;;;;N;;;;; +28E4;BRAILLE PATTERN DOTS-3678;So;0;L;;;;;N;;;;; +28E5;BRAILLE PATTERN DOTS-13678;So;0;L;;;;;N;;;;; +28E6;BRAILLE PATTERN DOTS-23678;So;0;L;;;;;N;;;;; +28E7;BRAILLE PATTERN DOTS-123678;So;0;L;;;;;N;;;;; +28E8;BRAILLE PATTERN DOTS-4678;So;0;L;;;;;N;;;;; +28E9;BRAILLE PATTERN DOTS-14678;So;0;L;;;;;N;;;;; +28EA;BRAILLE PATTERN DOTS-24678;So;0;L;;;;;N;;;;; +28EB;BRAILLE PATTERN DOTS-124678;So;0;L;;;;;N;;;;; +28EC;BRAILLE PATTERN DOTS-34678;So;0;L;;;;;N;;;;; +28ED;BRAILLE PATTERN DOTS-134678;So;0;L;;;;;N;;;;; +28EE;BRAILLE PATTERN DOTS-234678;So;0;L;;;;;N;;;;; +28EF;BRAILLE PATTERN DOTS-1234678;So;0;L;;;;;N;;;;; +28F0;BRAILLE PATTERN DOTS-5678;So;0;L;;;;;N;;;;; +28F1;BRAILLE PATTERN DOTS-15678;So;0;L;;;;;N;;;;; +28F2;BRAILLE PATTERN DOTS-25678;So;0;L;;;;;N;;;;; +28F3;BRAILLE PATTERN DOTS-125678;So;0;L;;;;;N;;;;; +28F4;BRAILLE PATTERN DOTS-35678;So;0;L;;;;;N;;;;; +28F5;BRAILLE PATTERN DOTS-135678;So;0;L;;;;;N;;;;; +28F6;BRAILLE PATTERN DOTS-235678;So;0;L;;;;;N;;;;; +28F7;BRAILLE PATTERN DOTS-1235678;So;0;L;;;;;N;;;;; +28F8;BRAILLE PATTERN DOTS-45678;So;0;L;;;;;N;;;;; +28F9;BRAILLE PATTERN DOTS-145678;So;0;L;;;;;N;;;;; +28FA;BRAILLE PATTERN DOTS-245678;So;0;L;;;;;N;;;;; +28FB;BRAILLE PATTERN DOTS-1245678;So;0;L;;;;;N;;;;; +28FC;BRAILLE PATTERN DOTS-345678;So;0;L;;;;;N;;;;; +28FD;BRAILLE PATTERN DOTS-1345678;So;0;L;;;;;N;;;;; +28FE;BRAILLE PATTERN DOTS-2345678;So;0;L;;;;;N;;;;; +28FF;BRAILLE PATTERN DOTS-12345678;So;0;L;;;;;N;;;;; +2900;RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2901;RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2902;LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2903;RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2904;LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2905;RIGHTWARDS TWO-HEADED ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +2906;LEFTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +2907;RIGHTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +2908;DOWNWARDS ARROW WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; +2909;UPWARDS ARROW WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; +290A;UPWARDS TRIPLE ARROW;Sm;0;ON;;;;;N;;;;; +290B;DOWNWARDS TRIPLE ARROW;Sm;0;ON;;;;;N;;;;; +290C;LEFTWARDS DOUBLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +290D;RIGHTWARDS DOUBLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +290E;LEFTWARDS TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +290F;RIGHTWARDS TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +2910;RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +2911;RIGHTWARDS ARROW WITH DOTTED STEM;Sm;0;ON;;;;;N;;;;; +2912;UPWARDS ARROW TO BAR;Sm;0;ON;;;;;N;;;;; +2913;DOWNWARDS ARROW TO BAR;Sm;0;ON;;;;;N;;;;; +2914;RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2915;RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2916;RIGHTWARDS TWO-HEADED ARROW WITH TAIL;Sm;0;ON;;;;;N;;;;; +2917;RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2918;RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2919;LEFTWARDS ARROW-TAIL;Sm;0;ON;;;;;N;;;;; +291A;RIGHTWARDS ARROW-TAIL;Sm;0;ON;;;;;N;;;;; +291B;LEFTWARDS DOUBLE ARROW-TAIL;Sm;0;ON;;;;;N;;;;; +291C;RIGHTWARDS DOUBLE ARROW-TAIL;Sm;0;ON;;;;;N;;;;; +291D;LEFTWARDS ARROW TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; +291E;RIGHTWARDS ARROW TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; +291F;LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; +2920;RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; +2921;NORTH WEST AND SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2922;NORTH EAST AND SOUTH WEST ARROW;Sm;0;ON;;;;;N;;;;; +2923;NORTH WEST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; +2924;NORTH EAST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; +2925;SOUTH EAST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; +2926;SOUTH WEST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; +2927;NORTH WEST ARROW AND NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2928;NORTH EAST ARROW AND SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2929;SOUTH EAST ARROW AND SOUTH WEST ARROW;Sm;0;ON;;;;;N;;;;; +292A;SOUTH WEST ARROW AND NORTH WEST ARROW;Sm;0;ON;;;;;N;;;;; +292B;RISING DIAGONAL CROSSING FALLING DIAGONAL;Sm;0;ON;;;;;N;;;;; +292C;FALLING DIAGONAL CROSSING RISING DIAGONAL;Sm;0;ON;;;;;N;;;;; +292D;SOUTH EAST ARROW CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +292E;NORTH EAST ARROW CROSSING SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +292F;FALLING DIAGONAL CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2930;RISING DIAGONAL CROSSING SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2931;NORTH EAST ARROW CROSSING NORTH WEST ARROW;Sm;0;ON;;;;;N;;;;; +2932;NORTH WEST ARROW CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2933;WAVE ARROW POINTING DIRECTLY RIGHT;Sm;0;ON;;;;;N;;;;; +2934;ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS;Sm;0;ON;;;;;N;;;;; +2935;ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS;Sm;0;ON;;;;;N;;;;; +2936;ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS;Sm;0;ON;;;;;N;;;;; +2937;ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS;Sm;0;ON;;;;;N;;;;; +2938;RIGHT-SIDE ARC CLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +2939;LEFT-SIDE ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +293A;TOP ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +293B;BOTTOM ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +293C;TOP ARC CLOCKWISE ARROW WITH MINUS;Sm;0;ON;;;;;N;;;;; +293D;TOP ARC ANTICLOCKWISE ARROW WITH PLUS;Sm;0;ON;;;;;N;;;;; +293E;LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +293F;LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +2940;ANTICLOCKWISE CLOSED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; +2941;CLOCKWISE CLOSED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; +2942;RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2943;LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2944;SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2945;RIGHTWARDS ARROW WITH PLUS BELOW;Sm;0;ON;;;;;N;;;;; +2946;LEFTWARDS ARROW WITH PLUS BELOW;Sm;0;ON;;;;;N;;;;; +2947;RIGHTWARDS ARROW THROUGH X;Sm;0;ON;;;;;N;;;;; +2948;LEFT RIGHT ARROW THROUGH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; +2949;UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; +294A;LEFT BARB UP RIGHT BARB DOWN HARPOON;Sm;0;ON;;;;;N;;;;; +294B;LEFT BARB DOWN RIGHT BARB UP HARPOON;Sm;0;ON;;;;;N;;;;; +294C;UP BARB RIGHT DOWN BARB LEFT HARPOON;Sm;0;ON;;;;;N;;;;; +294D;UP BARB LEFT DOWN BARB RIGHT HARPOON;Sm;0;ON;;;;;N;;;;; +294E;LEFT BARB UP RIGHT BARB UP HARPOON;Sm;0;ON;;;;;N;;;;; +294F;UP BARB RIGHT DOWN BARB RIGHT HARPOON;Sm;0;ON;;;;;N;;;;; +2950;LEFT BARB DOWN RIGHT BARB DOWN HARPOON;Sm;0;ON;;;;;N;;;;; +2951;UP BARB LEFT DOWN BARB LEFT HARPOON;Sm;0;ON;;;;;N;;;;; +2952;LEFTWARDS HARPOON WITH BARB UP TO BAR;Sm;0;ON;;;;;N;;;;; +2953;RIGHTWARDS HARPOON WITH BARB UP TO BAR;Sm;0;ON;;;;;N;;;;; +2954;UPWARDS HARPOON WITH BARB RIGHT TO BAR;Sm;0;ON;;;;;N;;;;; +2955;DOWNWARDS HARPOON WITH BARB RIGHT TO BAR;Sm;0;ON;;;;;N;;;;; +2956;LEFTWARDS HARPOON WITH BARB DOWN TO BAR;Sm;0;ON;;;;;N;;;;; +2957;RIGHTWARDS HARPOON WITH BARB DOWN TO BAR;Sm;0;ON;;;;;N;;;;; +2958;UPWARDS HARPOON WITH BARB LEFT TO BAR;Sm;0;ON;;;;;N;;;;; +2959;DOWNWARDS HARPOON WITH BARB LEFT TO BAR;Sm;0;ON;;;;;N;;;;; +295A;LEFTWARDS HARPOON WITH BARB UP FROM BAR;Sm;0;ON;;;;;N;;;;; +295B;RIGHTWARDS HARPOON WITH BARB UP FROM BAR;Sm;0;ON;;;;;N;;;;; +295C;UPWARDS HARPOON WITH BARB RIGHT FROM BAR;Sm;0;ON;;;;;N;;;;; +295D;DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR;Sm;0;ON;;;;;N;;;;; +295E;LEFTWARDS HARPOON WITH BARB DOWN FROM BAR;Sm;0;ON;;;;;N;;;;; +295F;RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR;Sm;0;ON;;;;;N;;;;; +2960;UPWARDS HARPOON WITH BARB LEFT FROM BAR;Sm;0;ON;;;;;N;;;;; +2961;DOWNWARDS HARPOON WITH BARB LEFT FROM BAR;Sm;0;ON;;;;;N;;;;; +2962;LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; +2963;UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; +2964;RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; +2965;DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; +2966;LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP;Sm;0;ON;;;;;N;;;;; +2967;LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; +2968;RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP;Sm;0;ON;;;;;N;;;;; +2969;RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; +296A;LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH;Sm;0;ON;;;;;N;;;;; +296B;LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH;Sm;0;ON;;;;;N;;;;; +296C;RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH;Sm;0;ON;;;;;N;;;;; +296D;RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH;Sm;0;ON;;;;;N;;;;; +296E;UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; +296F;DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; +2970;RIGHT DOUBLE ARROW WITH ROUNDED HEAD;Sm;0;ON;;;;;N;;;;; +2971;EQUALS SIGN ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2972;TILDE OPERATOR ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2973;LEFTWARDS ARROW ABOVE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;; +2974;RIGHTWARDS ARROW ABOVE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;; +2975;RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;; +2976;LESS-THAN ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2977;LEFTWARDS ARROW THROUGH LESS-THAN;Sm;0;ON;;;;;N;;;;; +2978;GREATER-THAN ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2979;SUBSET ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +297A;LEFTWARDS ARROW THROUGH SUBSET;Sm;0;ON;;;;;N;;;;; +297B;SUPERSET ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +297C;LEFT FISH TAIL;Sm;0;ON;;;;;N;;;;; +297D;RIGHT FISH TAIL;Sm;0;ON;;;;;N;;;;; +297E;UP FISH TAIL;Sm;0;ON;;;;;N;;;;; +297F;DOWN FISH TAIL;Sm;0;ON;;;;;N;;;;; +2980;TRIPLE VERTICAL BAR DELIMITER;Sm;0;ON;;;;;N;;;;; +2981;Z NOTATION SPOT;Sm;0;ON;;;;;N;;;;; +2982;Z NOTATION TYPE COLON;Sm;0;ON;;;;;N;;;;; +2983;LEFT WHITE CURLY BRACKET;Ps;0;ON;;;;;Y;;;;; +2984;RIGHT WHITE CURLY BRACKET;Pe;0;ON;;;;;Y;;;;; +2985;LEFT WHITE PARENTHESIS;Ps;0;ON;;;;;Y;;;;; +2986;RIGHT WHITE PARENTHESIS;Pe;0;ON;;;;;Y;;;;; +2987;Z NOTATION LEFT IMAGE BRACKET;Ps;0;ON;;;;;Y;;;;; +2988;Z NOTATION RIGHT IMAGE BRACKET;Pe;0;ON;;;;;Y;;;;; +2989;Z NOTATION LEFT BINDING BRACKET;Ps;0;ON;;;;;Y;;;;; +298A;Z NOTATION RIGHT BINDING BRACKET;Pe;0;ON;;;;;Y;;;;; +298B;LEFT SQUARE BRACKET WITH UNDERBAR;Ps;0;ON;;;;;Y;;;;; +298C;RIGHT SQUARE BRACKET WITH UNDERBAR;Pe;0;ON;;;;;Y;;;;; +298D;LEFT SQUARE BRACKET WITH TICK IN TOP CORNER;Ps;0;ON;;;;;Y;;;;; +298E;RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER;Pe;0;ON;;;;;Y;;;;; +298F;LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER;Ps;0;ON;;;;;Y;;;;; +2990;RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER;Pe;0;ON;;;;;Y;;;;; +2991;LEFT ANGLE BRACKET WITH DOT;Ps;0;ON;;;;;Y;;;;; +2992;RIGHT ANGLE BRACKET WITH DOT;Pe;0;ON;;;;;Y;;;;; +2993;LEFT ARC LESS-THAN BRACKET;Ps;0;ON;;;;;Y;;;;; +2994;RIGHT ARC GREATER-THAN BRACKET;Pe;0;ON;;;;;Y;;;;; +2995;DOUBLE LEFT ARC GREATER-THAN BRACKET;Ps;0;ON;;;;;Y;;;;; +2996;DOUBLE RIGHT ARC LESS-THAN BRACKET;Pe;0;ON;;;;;Y;;;;; +2997;LEFT BLACK TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;;;;; +2998;RIGHT BLACK TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;;;;; +2999;DOTTED FENCE;Sm;0;ON;;;;;N;;;;; +299A;VERTICAL ZIGZAG LINE;Sm;0;ON;;;;;N;;;;; +299B;MEASURED ANGLE OPENING LEFT;Sm;0;ON;;;;;Y;;;;; +299C;RIGHT ANGLE VARIANT WITH SQUARE;Sm;0;ON;;;;;Y;;;;; +299D;MEASURED RIGHT ANGLE WITH DOT;Sm;0;ON;;;;;Y;;;;; +299E;ANGLE WITH S INSIDE;Sm;0;ON;;;;;Y;;;;; +299F;ACUTE ANGLE;Sm;0;ON;;;;;Y;;;;; +29A0;SPHERICAL ANGLE OPENING LEFT;Sm;0;ON;;;;;Y;;;;; +29A1;SPHERICAL ANGLE OPENING UP;Sm;0;ON;;;;;Y;;;;; +29A2;TURNED ANGLE;Sm;0;ON;;;;;Y;;;;; +29A3;REVERSED ANGLE;Sm;0;ON;;;;;Y;;;;; +29A4;ANGLE WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; +29A5;REVERSED ANGLE WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; +29A6;OBLIQUE ANGLE OPENING UP;Sm;0;ON;;;;;Y;;;;; +29A7;OBLIQUE ANGLE OPENING DOWN;Sm;0;ON;;;;;Y;;;;; +29A8;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT;Sm;0;ON;;;;;Y;;;;; +29A9;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT;Sm;0;ON;;;;;Y;;;;; +29AA;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT;Sm;0;ON;;;;;Y;;;;; +29AB;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT;Sm;0;ON;;;;;Y;;;;; +29AC;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP;Sm;0;ON;;;;;Y;;;;; +29AD;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP;Sm;0;ON;;;;;Y;;;;; +29AE;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN;Sm;0;ON;;;;;Y;;;;; +29AF;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN;Sm;0;ON;;;;;Y;;;;; +29B0;REVERSED EMPTY SET;Sm;0;ON;;;;;N;;;;; +29B1;EMPTY SET WITH OVERBAR;Sm;0;ON;;;;;N;;;;; +29B2;EMPTY SET WITH SMALL CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; +29B3;EMPTY SET WITH RIGHT ARROW ABOVE;Sm;0;ON;;;;;N;;;;; +29B4;EMPTY SET WITH LEFT ARROW ABOVE;Sm;0;ON;;;;;N;;;;; +29B5;CIRCLE WITH HORIZONTAL BAR;Sm;0;ON;;;;;N;;;;; +29B6;CIRCLED VERTICAL BAR;Sm;0;ON;;;;;N;;;;; +29B7;CIRCLED PARALLEL;Sm;0;ON;;;;;N;;;;; +29B8;CIRCLED REVERSE SOLIDUS;Sm;0;ON;;;;;Y;;;;; +29B9;CIRCLED PERPENDICULAR;Sm;0;ON;;;;;N;;;;; +29BA;CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR;Sm;0;ON;;;;;N;;;;; +29BB;CIRCLE WITH SUPERIMPOSED X;Sm;0;ON;;;;;N;;;;; +29BC;CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN;Sm;0;ON;;;;;N;;;;; +29BD;UP ARROW THROUGH CIRCLE;Sm;0;ON;;;;;N;;;;; +29BE;CIRCLED WHITE BULLET;Sm;0;ON;;;;;N;;;;; +29BF;CIRCLED BULLET;Sm;0;ON;;;;;N;;;;; +29C0;CIRCLED LESS-THAN;Sm;0;ON;;;;;Y;;;;; +29C1;CIRCLED GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +29C2;CIRCLE WITH SMALL CIRCLE TO THE RIGHT;Sm;0;ON;;;;;Y;;;;; +29C3;CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT;Sm;0;ON;;;;;Y;;;;; +29C4;SQUARED RISING DIAGONAL SLASH;Sm;0;ON;;;;;Y;;;;; +29C5;SQUARED FALLING DIAGONAL SLASH;Sm;0;ON;;;;;Y;;;;; +29C6;SQUARED ASTERISK;Sm;0;ON;;;;;N;;;;; +29C7;SQUARED SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; +29C8;SQUARED SQUARE;Sm;0;ON;;;;;N;;;;; +29C9;TWO JOINED SQUARES;Sm;0;ON;;;;;Y;;;;; +29CA;TRIANGLE WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; +29CB;TRIANGLE WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; +29CC;S IN TRIANGLE;Sm;0;ON;;;;;N;;;;; +29CD;TRIANGLE WITH SERIFS AT BOTTOM;Sm;0;ON;;;;;N;;;;; +29CE;RIGHT TRIANGLE ABOVE LEFT TRIANGLE;Sm;0;ON;;;;;Y;;;;; +29CF;LEFT TRIANGLE BESIDE VERTICAL BAR;Sm;0;ON;;;;;Y;;;;; +29D0;VERTICAL BAR BESIDE RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;; +29D1;BOWTIE WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29D2;BOWTIE WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29D3;BLACK BOWTIE;Sm;0;ON;;;;;N;;;;; +29D4;TIMES WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29D5;TIMES WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29D6;WHITE HOURGLASS;Sm;0;ON;;;;;N;;;;; +29D7;BLACK HOURGLASS;Sm;0;ON;;;;;N;;;;; +29D8;LEFT WIGGLY FENCE;Ps;0;ON;;;;;Y;;;;; +29D9;RIGHT WIGGLY FENCE;Pe;0;ON;;;;;Y;;;;; +29DA;LEFT DOUBLE WIGGLY FENCE;Ps;0;ON;;;;;Y;;;;; +29DB;RIGHT DOUBLE WIGGLY FENCE;Pe;0;ON;;;;;Y;;;;; +29DC;INCOMPLETE INFINITY;Sm;0;ON;;;;;Y;;;;; +29DD;TIE OVER INFINITY;Sm;0;ON;;;;;N;;;;; +29DE;INFINITY NEGATED WITH VERTICAL BAR;Sm;0;ON;;;;;N;;;;; +29DF;DOUBLE-ENDED MULTIMAP;Sm;0;ON;;;;;N;;;;; +29E0;SQUARE WITH CONTOURED OUTLINE;Sm;0;ON;;;;;N;;;;; +29E1;INCREASES AS;Sm;0;ON;;;;;Y;;;;; +29E2;SHUFFLE PRODUCT;Sm;0;ON;;;;;N;;;;; +29E3;EQUALS SIGN AND SLANTED PARALLEL;Sm;0;ON;;;;;Y;;;;; +29E4;EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE;Sm;0;ON;;;;;Y;;;;; +29E5;IDENTICAL TO AND SLANTED PARALLEL;Sm;0;ON;;;;;Y;;;;; +29E6;GLEICH STARK;Sm;0;ON;;;;;N;;;;; +29E7;THERMODYNAMIC;Sm;0;ON;;;;;N;;;;; +29E8;DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29E9;DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29EA;BLACK DIAMOND WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;; +29EB;BLACK LOZENGE;Sm;0;ON;;;;;N;;;;; +29EC;WHITE CIRCLE WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;; +29ED;BLACK CIRCLE WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;; +29EE;ERROR-BARRED WHITE SQUARE;Sm;0;ON;;;;;N;;;;; +29EF;ERROR-BARRED BLACK SQUARE;Sm;0;ON;;;;;N;;;;; +29F0;ERROR-BARRED WHITE DIAMOND;Sm;0;ON;;;;;N;;;;; +29F1;ERROR-BARRED BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; +29F2;ERROR-BARRED WHITE CIRCLE;Sm;0;ON;;;;;N;;;;; +29F3;ERROR-BARRED BLACK CIRCLE;Sm;0;ON;;;;;N;;;;; +29F4;RULE-DELAYED;Sm;0;ON;;;;;Y;;;;; +29F5;REVERSE SOLIDUS OPERATOR;Sm;0;ON;;;;;Y;;;;; +29F6;SOLIDUS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +29F7;REVERSE SOLIDUS WITH HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +29F8;BIG SOLIDUS;Sm;0;ON;;;;;Y;;;;; +29F9;BIG REVERSE SOLIDUS;Sm;0;ON;;;;;Y;;;;; +29FA;DOUBLE PLUS;Sm;0;ON;;;;;N;;;;; +29FB;TRIPLE PLUS;Sm;0;ON;;;;;N;;;;; +29FC;LEFT-POINTING CURVED ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;; +29FD;RIGHT-POINTING CURVED ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;; +29FE;TINY;Sm;0;ON;;;;;N;;;;; +29FF;MINY;Sm;0;ON;;;;;N;;;;; +2A00;N-ARY CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; +2A01;N-ARY CIRCLED PLUS OPERATOR;Sm;0;ON;;;;;N;;;;; +2A02;N-ARY CIRCLED TIMES OPERATOR;Sm;0;ON;;;;;N;;;;; +2A03;N-ARY UNION OPERATOR WITH DOT;Sm;0;ON;;;;;N;;;;; +2A04;N-ARY UNION OPERATOR WITH PLUS;Sm;0;ON;;;;;N;;;;; +2A05;N-ARY SQUARE INTERSECTION OPERATOR;Sm;0;ON;;;;;N;;;;; +2A06;N-ARY SQUARE UNION OPERATOR;Sm;0;ON;;;;;N;;;;; +2A07;TWO LOGICAL AND OPERATOR;Sm;0;ON;;;;;N;;;;; +2A08;TWO LOGICAL OR OPERATOR;Sm;0;ON;;;;;N;;;;; +2A09;N-ARY TIMES OPERATOR;Sm;0;ON;;;;;N;;;;; +2A0A;MODULO TWO SUM;Sm;0;ON;;;;;Y;;;;; +2A0B;SUMMATION WITH INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2A0C;QUADRUPLE INTEGRAL OPERATOR;Sm;0;ON; 222B 222B 222B 222B;;;;Y;;;;; +2A0D;FINITE PART INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2A0E;INTEGRAL WITH DOUBLE STROKE;Sm;0;ON;;;;;Y;;;;; +2A0F;INTEGRAL AVERAGE WITH SLASH;Sm;0;ON;;;;;Y;;;;; +2A10;CIRCULATION FUNCTION;Sm;0;ON;;;;;Y;;;;; +2A11;ANTICLOCKWISE INTEGRATION;Sm;0;ON;;;;;Y;;;;; +2A12;LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE;Sm;0;ON;;;;;Y;;;;; +2A13;LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE;Sm;0;ON;;;;;Y;;;;; +2A14;LINE INTEGRATION NOT INCLUDING THE POLE;Sm;0;ON;;;;;Y;;;;; +2A15;INTEGRAL AROUND A POINT OPERATOR;Sm;0;ON;;;;;Y;;;;; +2A16;QUATERNION INTEGRAL OPERATOR;Sm;0;ON;;;;;Y;;;;; +2A17;INTEGRAL WITH LEFTWARDS ARROW WITH HOOK;Sm;0;ON;;;;;Y;;;;; +2A18;INTEGRAL WITH TIMES SIGN;Sm;0;ON;;;;;Y;;;;; +2A19;INTEGRAL WITH INTERSECTION;Sm;0;ON;;;;;Y;;;;; +2A1A;INTEGRAL WITH UNION;Sm;0;ON;;;;;Y;;;;; +2A1B;INTEGRAL WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +2A1C;INTEGRAL WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; +2A1D;JOIN;Sm;0;ON;;;;;N;;;;; +2A1E;LARGE LEFT TRIANGLE OPERATOR;Sm;0;ON;;;;;Y;;;;; +2A1F;Z NOTATION SCHEMA COMPOSITION;Sm;0;ON;;;;;Y;;;;; +2A20;Z NOTATION SCHEMA PIPING;Sm;0;ON;;;;;Y;;;;; +2A21;Z NOTATION SCHEMA PROJECTION;Sm;0;ON;;;;;Y;;;;; +2A22;PLUS SIGN WITH SMALL CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; +2A23;PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE;Sm;0;ON;;;;;N;;;;; +2A24;PLUS SIGN WITH TILDE ABOVE;Sm;0;ON;;;;;Y;;;;; +2A25;PLUS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;; +2A26;PLUS SIGN WITH TILDE BELOW;Sm;0;ON;;;;;Y;;;;; +2A27;PLUS SIGN WITH SUBSCRIPT TWO;Sm;0;ON;;;;;N;;;;; +2A28;PLUS SIGN WITH BLACK TRIANGLE;Sm;0;ON;;;;;N;;;;; +2A29;MINUS SIGN WITH COMMA ABOVE;Sm;0;ON;;;;;Y;;;;; +2A2A;MINUS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;; +2A2B;MINUS SIGN WITH FALLING DOTS;Sm;0;ON;;;;;Y;;;;; +2A2C;MINUS SIGN WITH RISING DOTS;Sm;0;ON;;;;;Y;;;;; +2A2D;PLUS SIGN IN LEFT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; +2A2E;PLUS SIGN IN RIGHT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; +2A2F;VECTOR OR CROSS PRODUCT;Sm;0;ON;;;;;N;;;;; +2A30;MULTIPLICATION SIGN WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; +2A31;MULTIPLICATION SIGN WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; +2A32;SEMIDIRECT PRODUCT WITH BOTTOM CLOSED;Sm;0;ON;;;;;N;;;;; +2A33;SMASH PRODUCT;Sm;0;ON;;;;;N;;;;; +2A34;MULTIPLICATION SIGN IN LEFT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; +2A35;MULTIPLICATION SIGN IN RIGHT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; +2A36;CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT;Sm;0;ON;;;;;N;;;;; +2A37;MULTIPLICATION SIGN IN DOUBLE CIRCLE;Sm;0;ON;;;;;N;;;;; +2A38;CIRCLED DIVISION SIGN;Sm;0;ON;;;;;N;;;;; +2A39;PLUS SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;; +2A3A;MINUS SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;; +2A3B;MULTIPLICATION SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;; +2A3C;INTERIOR PRODUCT;Sm;0;ON;;;;;Y;;;;; +2A3D;RIGHTHAND INTERIOR PRODUCT;Sm;0;ON;;;;;Y;;;;; +2A3E;Z NOTATION RELATIONAL COMPOSITION;Sm;0;ON;;;;;Y;;;;; +2A3F;AMALGAMATION OR COPRODUCT;Sm;0;ON;;;;;N;;;;; +2A40;INTERSECTION WITH DOT;Sm;0;ON;;;;;N;;;;; +2A41;UNION WITH MINUS SIGN;Sm;0;ON;;;;;N;;;;; +2A42;UNION WITH OVERBAR;Sm;0;ON;;;;;N;;;;; +2A43;INTERSECTION WITH OVERBAR;Sm;0;ON;;;;;N;;;;; +2A44;INTERSECTION WITH LOGICAL AND;Sm;0;ON;;;;;N;;;;; +2A45;UNION WITH LOGICAL OR;Sm;0;ON;;;;;N;;;;; +2A46;UNION ABOVE INTERSECTION;Sm;0;ON;;;;;N;;;;; +2A47;INTERSECTION ABOVE UNION;Sm;0;ON;;;;;N;;;;; +2A48;UNION ABOVE BAR ABOVE INTERSECTION;Sm;0;ON;;;;;N;;;;; +2A49;INTERSECTION ABOVE BAR ABOVE UNION;Sm;0;ON;;;;;N;;;;; +2A4A;UNION BESIDE AND JOINED WITH UNION;Sm;0;ON;;;;;N;;;;; +2A4B;INTERSECTION BESIDE AND JOINED WITH INTERSECTION;Sm;0;ON;;;;;N;;;;; +2A4C;CLOSED UNION WITH SERIFS;Sm;0;ON;;;;;N;;;;; +2A4D;CLOSED INTERSECTION WITH SERIFS;Sm;0;ON;;;;;N;;;;; +2A4E;DOUBLE SQUARE INTERSECTION;Sm;0;ON;;;;;N;;;;; +2A4F;DOUBLE SQUARE UNION;Sm;0;ON;;;;;N;;;;; +2A50;CLOSED UNION WITH SERIFS AND SMASH PRODUCT;Sm;0;ON;;;;;N;;;;; +2A51;LOGICAL AND WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; +2A52;LOGICAL OR WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; +2A53;DOUBLE LOGICAL AND;Sm;0;ON;;;;;N;;;;; +2A54;DOUBLE LOGICAL OR;Sm;0;ON;;;;;N;;;;; +2A55;TWO INTERSECTING LOGICAL AND;Sm;0;ON;;;;;N;;;;; +2A56;TWO INTERSECTING LOGICAL OR;Sm;0;ON;;;;;N;;;;; +2A57;SLOPING LARGE OR;Sm;0;ON;;;;;Y;;;;; +2A58;SLOPING LARGE AND;Sm;0;ON;;;;;Y;;;;; +2A59;LOGICAL OR OVERLAPPING LOGICAL AND;Sm;0;ON;;;;;N;;;;; +2A5A;LOGICAL AND WITH MIDDLE STEM;Sm;0;ON;;;;;N;;;;; +2A5B;LOGICAL OR WITH MIDDLE STEM;Sm;0;ON;;;;;N;;;;; +2A5C;LOGICAL AND WITH HORIZONTAL DASH;Sm;0;ON;;;;;N;;;;; +2A5D;LOGICAL OR WITH HORIZONTAL DASH;Sm;0;ON;;;;;N;;;;; +2A5E;LOGICAL AND WITH DOUBLE OVERBAR;Sm;0;ON;;;;;N;;;;; +2A5F;LOGICAL AND WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; +2A60;LOGICAL AND WITH DOUBLE UNDERBAR;Sm;0;ON;;;;;N;;;;; +2A61;SMALL VEE WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; +2A62;LOGICAL OR WITH DOUBLE OVERBAR;Sm;0;ON;;;;;N;;;;; +2A63;LOGICAL OR WITH DOUBLE UNDERBAR;Sm;0;ON;;;;;N;;;;; +2A64;Z NOTATION DOMAIN ANTIRESTRICTION;Sm;0;ON;;;;;Y;;;;; +2A65;Z NOTATION RANGE ANTIRESTRICTION;Sm;0;ON;;;;;Y;;;;; +2A66;EQUALS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;; +2A67;IDENTICAL WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; +2A68;TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2A69;TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2A6A;TILDE OPERATOR WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2A6B;TILDE OPERATOR WITH RISING DOTS;Sm;0;ON;;;;;Y;;;;; +2A6C;SIMILAR MINUS SIMILAR;Sm;0;ON;;;;;Y;;;;; +2A6D;CONGRUENT WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2A6E;EQUALS WITH ASTERISK;Sm;0;ON;;;;;N;;;;; +2A6F;ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT;Sm;0;ON;;;;;Y;;;;; +2A70;APPROXIMATELY EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2A71;EQUALS SIGN ABOVE PLUS SIGN;Sm;0;ON;;;;;N;;;;; +2A72;PLUS SIGN ABOVE EQUALS SIGN;Sm;0;ON;;;;;N;;;;; +2A73;EQUALS SIGN ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; +2A74;DOUBLE COLON EQUAL;Sm;0;ON; 003A 003A 003D;;;;Y;;;;; +2A75;TWO CONSECUTIVE EQUALS SIGNS;Sm;0;ON; 003D 003D;;;;N;;;;; +2A76;THREE CONSECUTIVE EQUALS SIGNS;Sm;0;ON; 003D 003D 003D;;;;N;;;;; +2A77;EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW;Sm;0;ON;;;;;N;;;;; +2A78;EQUIVALENT WITH FOUR DOTS ABOVE;Sm;0;ON;;;;;N;;;;; +2A79;LESS-THAN WITH CIRCLE INSIDE;Sm;0;ON;;;;;Y;;;;; +2A7A;GREATER-THAN WITH CIRCLE INSIDE;Sm;0;ON;;;;;Y;;;;; +2A7B;LESS-THAN WITH QUESTION MARK ABOVE;Sm;0;ON;;;;;Y;;;;; +2A7C;GREATER-THAN WITH QUESTION MARK ABOVE;Sm;0;ON;;;;;Y;;;;; +2A7D;LESS-THAN OR SLANTED EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2A7E;GREATER-THAN OR SLANTED EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2A7F;LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; +2A80;GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; +2A81;LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2A82;GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2A83;LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT;Sm;0;ON;;;;;Y;;;;; +2A84;GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT;Sm;0;ON;;;;;Y;;;;; +2A85;LESS-THAN OR APPROXIMATE;Sm;0;ON;;;;;Y;;;;; +2A86;GREATER-THAN OR APPROXIMATE;Sm;0;ON;;;;;Y;;;;; +2A87;LESS-THAN AND SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2A88;GREATER-THAN AND SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2A89;LESS-THAN AND NOT APPROXIMATE;Sm;0;ON;;;;;Y;;;;; +2A8A;GREATER-THAN AND NOT APPROXIMATE;Sm;0;ON;;;;;Y;;;;; +2A8B;LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A8C;GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A8D;LESS-THAN ABOVE SIMILAR OR EQUAL;Sm;0;ON;;;;;Y;;;;; +2A8E;GREATER-THAN ABOVE SIMILAR OR EQUAL;Sm;0;ON;;;;;Y;;;;; +2A8F;LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A90;GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A91;LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL;Sm;0;ON;;;;;Y;;;;; +2A92;GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL;Sm;0;ON;;;;;Y;;;;; +2A93;LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; +2A94;GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; +2A95;SLANTED EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A96;SLANTED EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A97;SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; +2A98;SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; +2A99;DOUBLE-LINE EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A9A;DOUBLE-LINE EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A9B;DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A9C;DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A9D;SIMILAR OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A9E;SIMILAR OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A9F;SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AA0;SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AA1;DOUBLE NESTED LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2AA2;DOUBLE NESTED GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2AA3;DOUBLE NESTED LESS-THAN WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; +2AA4;GREATER-THAN OVERLAPPING LESS-THAN;Sm;0;ON;;;;;N;;;;; +2AA5;GREATER-THAN BESIDE LESS-THAN;Sm;0;ON;;;;;N;;;;; +2AA6;LESS-THAN CLOSED BY CURVE;Sm;0;ON;;;;;Y;;;;; +2AA7;GREATER-THAN CLOSED BY CURVE;Sm;0;ON;;;;;Y;;;;; +2AA8;LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; +2AA9;GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; +2AAA;SMALLER THAN;Sm;0;ON;;;;;Y;;;;; +2AAB;LARGER THAN;Sm;0;ON;;;;;Y;;;;; +2AAC;SMALLER THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AAD;LARGER THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AAE;EQUALS SIGN WITH BUMPY ABOVE;Sm;0;ON;;;;;N;;;;; +2AAF;PRECEDES ABOVE SINGLE-LINE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AB0;SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AB1;PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB2;SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB3;PRECEDES ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AB4;SUCCEEDS ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AB5;PRECEDES ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB6;SUCCEEDS ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB7;PRECEDES ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB8;SUCCEEDS ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB9;PRECEDES ABOVE NOT ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ABA;SUCCEEDS ABOVE NOT ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ABB;DOUBLE PRECEDES;Sm;0;ON;;;;;Y;;;;; +2ABC;DOUBLE SUCCEEDS;Sm;0;ON;;;;;Y;;;;; +2ABD;SUBSET WITH DOT;Sm;0;ON;;;;;Y;;;;; +2ABE;SUPERSET WITH DOT;Sm;0;ON;;;;;Y;;;;; +2ABF;SUBSET WITH PLUS SIGN BELOW;Sm;0;ON;;;;;Y;;;;; +2AC0;SUPERSET WITH PLUS SIGN BELOW;Sm;0;ON;;;;;Y;;;;; +2AC1;SUBSET WITH MULTIPLICATION SIGN BELOW;Sm;0;ON;;;;;Y;;;;; +2AC2;SUPERSET WITH MULTIPLICATION SIGN BELOW;Sm;0;ON;;;;;Y;;;;; +2AC3;SUBSET OF OR EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2AC4;SUPERSET OF OR EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2AC5;SUBSET OF ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AC6;SUPERSET OF ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AC7;SUBSET OF ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; +2AC8;SUPERSET OF ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; +2AC9;SUBSET OF ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ACA;SUPERSET OF ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ACB;SUBSET OF ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ACC;SUPERSET OF ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ACD;SQUARE LEFT OPEN BOX OPERATOR;Sm;0;ON;;;;;Y;;;;; +2ACE;SQUARE RIGHT OPEN BOX OPERATOR;Sm;0;ON;;;;;Y;;;;; +2ACF;CLOSED SUBSET;Sm;0;ON;;;;;Y;;;;; +2AD0;CLOSED SUPERSET;Sm;0;ON;;;;;Y;;;;; +2AD1;CLOSED SUBSET OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AD2;CLOSED SUPERSET OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AD3;SUBSET ABOVE SUPERSET;Sm;0;ON;;;;;Y;;;;; +2AD4;SUPERSET ABOVE SUBSET;Sm;0;ON;;;;;Y;;;;; +2AD5;SUBSET ABOVE SUBSET;Sm;0;ON;;;;;Y;;;;; +2AD6;SUPERSET ABOVE SUPERSET;Sm;0;ON;;;;;Y;;;;; +2AD7;SUPERSET BESIDE SUBSET;Sm;0;ON;;;;;N;;;;; +2AD8;SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET;Sm;0;ON;;;;;N;;;;; +2AD9;ELEMENT OF OPENING DOWNWARDS;Sm;0;ON;;;;;N;;;;; +2ADA;PITCHFORK WITH TEE TOP;Sm;0;ON;;;;;N;;;;; +2ADB;TRANSVERSAL INTERSECTION;Sm;0;ON;;;;;N;;;;; +2ADC;FORKING;Sm;0;ON;2ADD 0338;;;;Y;;not independent;;; +2ADD;NONFORKING;Sm;0;ON;;;;;N;;independent;;; +2ADE;SHORT LEFT TACK;Sm;0;ON;;;;;Y;;;;; +2ADF;SHORT DOWN TACK;Sm;0;ON;;;;;N;;;;; +2AE0;SHORT UP TACK;Sm;0;ON;;;;;N;;;;; +2AE1;PERPENDICULAR WITH S;Sm;0;ON;;;;;N;;;;; +2AE2;VERTICAL BAR TRIPLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +2AE3;DOUBLE VERTICAL BAR LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +2AE4;VERTICAL BAR DOUBLE LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +2AE5;DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +2AE6;LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL;Sm;0;ON;;;;;Y;;;;; +2AE7;SHORT DOWN TACK WITH OVERBAR;Sm;0;ON;;;;;N;;;;; +2AE8;SHORT UP TACK WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; +2AE9;SHORT UP TACK ABOVE SHORT DOWN TACK;Sm;0;ON;;;;;N;;;;; +2AEA;DOUBLE DOWN TACK;Sm;0;ON;;;;;N;;;;; +2AEB;DOUBLE UP TACK;Sm;0;ON;;;;;N;;;;; +2AEC;DOUBLE STROKE NOT SIGN;Sm;0;ON;;;;;Y;;;;; +2AED;REVERSED DOUBLE STROKE NOT SIGN;Sm;0;ON;;;;;Y;;;;; +2AEE;DOES NOT DIVIDE WITH REVERSED NEGATION SLASH;Sm;0;ON;;;;;Y;;;;; +2AEF;VERTICAL LINE WITH CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; +2AF0;VERTICAL LINE WITH CIRCLE BELOW;Sm;0;ON;;;;;N;;;;; +2AF1;DOWN TACK WITH CIRCLE BELOW;Sm;0;ON;;;;;N;;;;; +2AF2;PARALLEL WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; +2AF3;PARALLEL WITH TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; +2AF4;TRIPLE VERTICAL BAR BINARY RELATION;Sm;0;ON;;;;;N;;;;; +2AF5;TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; +2AF6;TRIPLE COLON OPERATOR;Sm;0;ON;;;;;N;;;;; +2AF7;TRIPLE NESTED LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2AF8;TRIPLE NESTED GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2AF9;DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AFA;DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AFB;TRIPLE SOLIDUS BINARY RELATION;Sm;0;ON;;;;;Y;;;;; +2AFC;LARGE TRIPLE VERTICAL BAR OPERATOR;Sm;0;ON;;;;;N;;;;; +2AFD;DOUBLE SOLIDUS OPERATOR;Sm;0;ON;;;;;Y;;;;; +2AFE;WHITE VERTICAL BAR;Sm;0;ON;;;;;N;;;;; +2AFF;N-ARY WHITE VERTICAL BAR;Sm;0;ON;;;;;N;;;;; +2B00;NORTH EAST WHITE ARROW;So;0;ON;;;;;N;;;;; +2B01;NORTH WEST WHITE ARROW;So;0;ON;;;;;N;;;;; +2B02;SOUTH EAST WHITE ARROW;So;0;ON;;;;;N;;;;; +2B03;SOUTH WEST WHITE ARROW;So;0;ON;;;;;N;;;;; +2B04;LEFT RIGHT WHITE ARROW;So;0;ON;;;;;N;;;;; +2B05;LEFTWARDS BLACK ARROW;So;0;ON;;;;;N;;;;; +2B06;UPWARDS BLACK ARROW;So;0;ON;;;;;N;;;;; +2B07;DOWNWARDS BLACK ARROW;So;0;ON;;;;;N;;;;; +2B08;NORTH EAST BLACK ARROW;So;0;ON;;;;;N;;;;; +2B09;NORTH WEST BLACK ARROW;So;0;ON;;;;;N;;;;; +2B0A;SOUTH EAST BLACK ARROW;So;0;ON;;;;;N;;;;; +2B0B;SOUTH WEST BLACK ARROW;So;0;ON;;;;;N;;;;; +2B0C;LEFT RIGHT BLACK ARROW;So;0;ON;;;;;N;;;;; +2B0D;UP DOWN BLACK ARROW;So;0;ON;;;;;N;;;;; +2B0E;RIGHTWARDS ARROW WITH TIP DOWNWARDS;So;0;ON;;;;;N;;;;; +2B0F;RIGHTWARDS ARROW WITH TIP UPWARDS;So;0;ON;;;;;N;;;;; +2B10;LEFTWARDS ARROW WITH TIP DOWNWARDS;So;0;ON;;;;;N;;;;; +2B11;LEFTWARDS ARROW WITH TIP UPWARDS;So;0;ON;;;;;N;;;;; +2B12;SQUARE WITH TOP HALF BLACK;So;0;ON;;;;;N;;;;; +2B13;SQUARE WITH BOTTOM HALF BLACK;So;0;ON;;;;;N;;;;; +2B14;SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; +2B15;SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; +2B16;DIAMOND WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; +2B17;DIAMOND WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; +2B18;DIAMOND WITH TOP HALF BLACK;So;0;ON;;;;;N;;;;; +2B19;DIAMOND WITH BOTTOM HALF BLACK;So;0;ON;;;;;N;;;;; +2B1A;DOTTED SQUARE;So;0;ON;;;;;N;;;;; +2B1B;BLACK LARGE SQUARE;So;0;ON;;;;;N;;;;; +2B1C;WHITE LARGE SQUARE;So;0;ON;;;;;N;;;;; +2B1D;BLACK VERY SMALL SQUARE;So;0;ON;;;;;N;;;;; +2B1E;WHITE VERY SMALL SQUARE;So;0;ON;;;;;N;;;;; +2B1F;BLACK PENTAGON;So;0;ON;;;;;N;;;;; +2B20;WHITE PENTAGON;So;0;ON;;;;;N;;;;; +2B21;WHITE HEXAGON;So;0;ON;;;;;N;;;;; +2B22;BLACK HEXAGON;So;0;ON;;;;;N;;;;; +2B23;HORIZONTAL BLACK HEXAGON;So;0;ON;;;;;N;;;;; +2B24;BLACK LARGE CIRCLE;So;0;ON;;;;;N;;;;; +2B25;BLACK MEDIUM DIAMOND;So;0;ON;;;;;N;;;;; +2B26;WHITE MEDIUM DIAMOND;So;0;ON;;;;;N;;;;; +2B27;BLACK MEDIUM LOZENGE;So;0;ON;;;;;N;;;;; +2B28;WHITE MEDIUM LOZENGE;So;0;ON;;;;;N;;;;; +2B29;BLACK SMALL DIAMOND;So;0;ON;;;;;N;;;;; +2B2A;BLACK SMALL LOZENGE;So;0;ON;;;;;N;;;;; +2B2B;WHITE SMALL LOZENGE;So;0;ON;;;;;N;;;;; +2B2C;BLACK HORIZONTAL ELLIPSE;So;0;ON;;;;;N;;;;; +2B2D;WHITE HORIZONTAL ELLIPSE;So;0;ON;;;;;N;;;;; +2B2E;BLACK VERTICAL ELLIPSE;So;0;ON;;;;;N;;;;; +2B2F;WHITE VERTICAL ELLIPSE;So;0;ON;;;;;N;;;;; +2B30;LEFT ARROW WITH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; +2B31;THREE LEFTWARDS ARROWS;Sm;0;ON;;;;;N;;;;; +2B32;LEFT ARROW WITH CIRCLED PLUS;Sm;0;ON;;;;;N;;;;; +2B33;LONG LEFTWARDS SQUIGGLE ARROW;Sm;0;ON;;;;;N;;;;; +2B34;LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B35;LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B36;LEFTWARDS TWO-HEADED ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +2B37;LEFTWARDS TWO-HEADED TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +2B38;LEFTWARDS ARROW WITH DOTTED STEM;Sm;0;ON;;;;;N;;;;; +2B39;LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B3A;LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B3B;LEFTWARDS TWO-HEADED ARROW WITH TAIL;Sm;0;ON;;;;;N;;;;; +2B3C;LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B3D;LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B3E;LEFTWARDS ARROW THROUGH X;Sm;0;ON;;;;;N;;;;; +2B3F;WAVE ARROW POINTING DIRECTLY LEFT;Sm;0;ON;;;;;N;;;;; +2B40;EQUALS SIGN ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2B41;REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2B42;LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;; +2B43;RIGHTWARDS ARROW THROUGH GREATER-THAN;Sm;0;ON;;;;;N;;;;; +2B44;RIGHTWARDS ARROW THROUGH SUPERSET;Sm;0;ON;;;;;N;;;;; +2B45;LEFTWARDS QUADRUPLE ARROW;So;0;ON;;;;;N;;;;; +2B46;RIGHTWARDS QUADRUPLE ARROW;So;0;ON;;;;;N;;;;; +2B47;REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2B48;RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;; +2B49;TILDE OPERATOR ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2B4A;LEFTWARDS ARROW ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;; +2B4B;LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;; +2B4C;RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;; +2B50;WHITE MEDIUM STAR;So;0;ON;;;;;N;;;;; +2B51;BLACK SMALL STAR;So;0;ON;;;;;N;;;;; +2B52;WHITE SMALL STAR;So;0;ON;;;;;N;;;;; +2B53;BLACK RIGHT-POINTING PENTAGON;So;0;ON;;;;;N;;;;; +2B54;WHITE RIGHT-POINTING PENTAGON;So;0;ON;;;;;N;;;;; +2C00;GLAGOLITIC CAPITAL LETTER AZU;Lu;0;L;;;;;N;;;;2C30; +2C01;GLAGOLITIC CAPITAL LETTER BUKY;Lu;0;L;;;;;N;;;;2C31; +2C02;GLAGOLITIC CAPITAL LETTER VEDE;Lu;0;L;;;;;N;;;;2C32; +2C03;GLAGOLITIC CAPITAL LETTER GLAGOLI;Lu;0;L;;;;;N;;;;2C33; +2C04;GLAGOLITIC CAPITAL LETTER DOBRO;Lu;0;L;;;;;N;;;;2C34; +2C05;GLAGOLITIC CAPITAL LETTER YESTU;Lu;0;L;;;;;N;;;;2C35; +2C06;GLAGOLITIC CAPITAL LETTER ZHIVETE;Lu;0;L;;;;;N;;;;2C36; +2C07;GLAGOLITIC CAPITAL LETTER DZELO;Lu;0;L;;;;;N;;;;2C37; +2C08;GLAGOLITIC CAPITAL LETTER ZEMLJA;Lu;0;L;;;;;N;;;;2C38; +2C09;GLAGOLITIC CAPITAL LETTER IZHE;Lu;0;L;;;;;N;;;;2C39; +2C0A;GLAGOLITIC CAPITAL LETTER INITIAL IZHE;Lu;0;L;;;;;N;;;;2C3A; +2C0B;GLAGOLITIC CAPITAL LETTER I;Lu;0;L;;;;;N;;;;2C3B; +2C0C;GLAGOLITIC CAPITAL LETTER DJERVI;Lu;0;L;;;;;N;;;;2C3C; +2C0D;GLAGOLITIC CAPITAL LETTER KAKO;Lu;0;L;;;;;N;;;;2C3D; +2C0E;GLAGOLITIC CAPITAL LETTER LJUDIJE;Lu;0;L;;;;;N;;;;2C3E; +2C0F;GLAGOLITIC CAPITAL LETTER MYSLITE;Lu;0;L;;;;;N;;;;2C3F; +2C10;GLAGOLITIC CAPITAL LETTER NASHI;Lu;0;L;;;;;N;;;;2C40; +2C11;GLAGOLITIC CAPITAL LETTER ONU;Lu;0;L;;;;;N;;;;2C41; +2C12;GLAGOLITIC CAPITAL LETTER POKOJI;Lu;0;L;;;;;N;;;;2C42; +2C13;GLAGOLITIC CAPITAL LETTER RITSI;Lu;0;L;;;;;N;;;;2C43; +2C14;GLAGOLITIC CAPITAL LETTER SLOVO;Lu;0;L;;;;;N;;;;2C44; +2C15;GLAGOLITIC CAPITAL LETTER TVRIDO;Lu;0;L;;;;;N;;;;2C45; +2C16;GLAGOLITIC CAPITAL LETTER UKU;Lu;0;L;;;;;N;;;;2C46; +2C17;GLAGOLITIC CAPITAL LETTER FRITU;Lu;0;L;;;;;N;;;;2C47; +2C18;GLAGOLITIC CAPITAL LETTER HERU;Lu;0;L;;;;;N;;;;2C48; +2C19;GLAGOLITIC CAPITAL LETTER OTU;Lu;0;L;;;;;N;;;;2C49; +2C1A;GLAGOLITIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;2C4A; +2C1B;GLAGOLITIC CAPITAL LETTER SHTA;Lu;0;L;;;;;N;;;;2C4B; +2C1C;GLAGOLITIC CAPITAL LETTER TSI;Lu;0;L;;;;;N;;;;2C4C; +2C1D;GLAGOLITIC CAPITAL LETTER CHRIVI;Lu;0;L;;;;;N;;;;2C4D; +2C1E;GLAGOLITIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;2C4E; +2C1F;GLAGOLITIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;;;;2C4F; +2C20;GLAGOLITIC CAPITAL LETTER YERI;Lu;0;L;;;;;N;;;;2C50; +2C21;GLAGOLITIC CAPITAL LETTER YATI;Lu;0;L;;;;;N;;;;2C51; +2C22;GLAGOLITIC CAPITAL LETTER SPIDERY HA;Lu;0;L;;;;;N;;;;2C52; +2C23;GLAGOLITIC CAPITAL LETTER YU;Lu;0;L;;;;;N;;;;2C53; +2C24;GLAGOLITIC CAPITAL LETTER SMALL YUS;Lu;0;L;;;;;N;;;;2C54; +2C25;GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL;Lu;0;L;;;;;N;;;;2C55; +2C26;GLAGOLITIC CAPITAL LETTER YO;Lu;0;L;;;;;N;;;;2C56; +2C27;GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS;Lu;0;L;;;;;N;;;;2C57; +2C28;GLAGOLITIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;2C58; +2C29;GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS;Lu;0;L;;;;;N;;;;2C59; +2C2A;GLAGOLITIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;2C5A; +2C2B;GLAGOLITIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;2C5B; +2C2C;GLAGOLITIC CAPITAL LETTER SHTAPIC;Lu;0;L;;;;;N;;;;2C5C; +2C2D;GLAGOLITIC CAPITAL LETTER TROKUTASTI A;Lu;0;L;;;;;N;;;;2C5D; +2C2E;GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE;Lu;0;L;;;;;N;;;;2C5E; +2C30;GLAGOLITIC SMALL LETTER AZU;Ll;0;L;;;;;N;;;2C00;;2C00 +2C31;GLAGOLITIC SMALL LETTER BUKY;Ll;0;L;;;;;N;;;2C01;;2C01 +2C32;GLAGOLITIC SMALL LETTER VEDE;Ll;0;L;;;;;N;;;2C02;;2C02 +2C33;GLAGOLITIC SMALL LETTER GLAGOLI;Ll;0;L;;;;;N;;;2C03;;2C03 +2C34;GLAGOLITIC SMALL LETTER DOBRO;Ll;0;L;;;;;N;;;2C04;;2C04 +2C35;GLAGOLITIC SMALL LETTER YESTU;Ll;0;L;;;;;N;;;2C05;;2C05 +2C36;GLAGOLITIC SMALL LETTER ZHIVETE;Ll;0;L;;;;;N;;;2C06;;2C06 +2C37;GLAGOLITIC SMALL LETTER DZELO;Ll;0;L;;;;;N;;;2C07;;2C07 +2C38;GLAGOLITIC SMALL LETTER ZEMLJA;Ll;0;L;;;;;N;;;2C08;;2C08 +2C39;GLAGOLITIC SMALL LETTER IZHE;Ll;0;L;;;;;N;;;2C09;;2C09 +2C3A;GLAGOLITIC SMALL LETTER INITIAL IZHE;Ll;0;L;;;;;N;;;2C0A;;2C0A +2C3B;GLAGOLITIC SMALL LETTER I;Ll;0;L;;;;;N;;;2C0B;;2C0B +2C3C;GLAGOLITIC SMALL LETTER DJERVI;Ll;0;L;;;;;N;;;2C0C;;2C0C +2C3D;GLAGOLITIC SMALL LETTER KAKO;Ll;0;L;;;;;N;;;2C0D;;2C0D +2C3E;GLAGOLITIC SMALL LETTER LJUDIJE;Ll;0;L;;;;;N;;;2C0E;;2C0E +2C3F;GLAGOLITIC SMALL LETTER MYSLITE;Ll;0;L;;;;;N;;;2C0F;;2C0F +2C40;GLAGOLITIC SMALL LETTER NASHI;Ll;0;L;;;;;N;;;2C10;;2C10 +2C41;GLAGOLITIC SMALL LETTER ONU;Ll;0;L;;;;;N;;;2C11;;2C11 +2C42;GLAGOLITIC SMALL LETTER POKOJI;Ll;0;L;;;;;N;;;2C12;;2C12 +2C43;GLAGOLITIC SMALL LETTER RITSI;Ll;0;L;;;;;N;;;2C13;;2C13 +2C44;GLAGOLITIC SMALL LETTER SLOVO;Ll;0;L;;;;;N;;;2C14;;2C14 +2C45;GLAGOLITIC SMALL LETTER TVRIDO;Ll;0;L;;;;;N;;;2C15;;2C15 +2C46;GLAGOLITIC SMALL LETTER UKU;Ll;0;L;;;;;N;;;2C16;;2C16 +2C47;GLAGOLITIC SMALL LETTER FRITU;Ll;0;L;;;;;N;;;2C17;;2C17 +2C48;GLAGOLITIC SMALL LETTER HERU;Ll;0;L;;;;;N;;;2C18;;2C18 +2C49;GLAGOLITIC SMALL LETTER OTU;Ll;0;L;;;;;N;;;2C19;;2C19 +2C4A;GLAGOLITIC SMALL LETTER PE;Ll;0;L;;;;;N;;;2C1A;;2C1A +2C4B;GLAGOLITIC SMALL LETTER SHTA;Ll;0;L;;;;;N;;;2C1B;;2C1B +2C4C;GLAGOLITIC SMALL LETTER TSI;Ll;0;L;;;;;N;;;2C1C;;2C1C +2C4D;GLAGOLITIC SMALL LETTER CHRIVI;Ll;0;L;;;;;N;;;2C1D;;2C1D +2C4E;GLAGOLITIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;2C1E;;2C1E +2C4F;GLAGOLITIC SMALL LETTER YERU;Ll;0;L;;;;;N;;;2C1F;;2C1F +2C50;GLAGOLITIC SMALL LETTER YERI;Ll;0;L;;;;;N;;;2C20;;2C20 +2C51;GLAGOLITIC SMALL LETTER YATI;Ll;0;L;;;;;N;;;2C21;;2C21 +2C52;GLAGOLITIC SMALL LETTER SPIDERY HA;Ll;0;L;;;;;N;;;2C22;;2C22 +2C53;GLAGOLITIC SMALL LETTER YU;Ll;0;L;;;;;N;;;2C23;;2C23 +2C54;GLAGOLITIC SMALL LETTER SMALL YUS;Ll;0;L;;;;;N;;;2C24;;2C24 +2C55;GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL;Ll;0;L;;;;;N;;;2C25;;2C25 +2C56;GLAGOLITIC SMALL LETTER YO;Ll;0;L;;;;;N;;;2C26;;2C26 +2C57;GLAGOLITIC SMALL LETTER IOTATED SMALL YUS;Ll;0;L;;;;;N;;;2C27;;2C27 +2C58;GLAGOLITIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;2C28;;2C28 +2C59;GLAGOLITIC SMALL LETTER IOTATED BIG YUS;Ll;0;L;;;;;N;;;2C29;;2C29 +2C5A;GLAGOLITIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;2C2A;;2C2A +2C5B;GLAGOLITIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;2C2B;;2C2B +2C5C;GLAGOLITIC SMALL LETTER SHTAPIC;Ll;0;L;;;;;N;;;2C2C;;2C2C +2C5D;GLAGOLITIC SMALL LETTER TROKUTASTI A;Ll;0;L;;;;;N;;;2C2D;;2C2D +2C5E;GLAGOLITIC SMALL LETTER LATINATE MYSLITE;Ll;0;L;;;;;N;;;2C2E;;2C2E +2C60;LATIN CAPITAL LETTER L WITH DOUBLE BAR;Lu;0;L;;;;;N;;;;2C61; +2C61;LATIN SMALL LETTER L WITH DOUBLE BAR;Ll;0;L;;;;;N;;;2C60;;2C60 +2C62;LATIN CAPITAL LETTER L WITH MIDDLE TILDE;Lu;0;L;;;;;N;;;;026B; +2C63;LATIN CAPITAL LETTER P WITH STROKE;Lu;0;L;;;;;N;;;;1D7D; +2C64;LATIN CAPITAL LETTER R WITH TAIL;Lu;0;L;;;;;N;;;;027D; +2C65;LATIN SMALL LETTER A WITH STROKE;Ll;0;L;;;;;N;;;023A;;023A +2C66;LATIN SMALL LETTER T WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;023E;;023E +2C67;LATIN CAPITAL LETTER H WITH DESCENDER;Lu;0;L;;;;;N;;;;2C68; +2C68;LATIN SMALL LETTER H WITH DESCENDER;Ll;0;L;;;;;N;;;2C67;;2C67 +2C69;LATIN CAPITAL LETTER K WITH DESCENDER;Lu;0;L;;;;;N;;;;2C6A; +2C6A;LATIN SMALL LETTER K WITH DESCENDER;Ll;0;L;;;;;N;;;2C69;;2C69 +2C6B;LATIN CAPITAL LETTER Z WITH DESCENDER;Lu;0;L;;;;;N;;;;2C6C; +2C6C;LATIN SMALL LETTER Z WITH DESCENDER;Ll;0;L;;;;;N;;;2C6B;;2C6B +2C6D;LATIN CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;0251; +2C6E;LATIN CAPITAL LETTER M WITH HOOK;Lu;0;L;;;;;N;;;;0271; +2C6F;LATIN CAPITAL LETTER TURNED A;Lu;0;L;;;;;N;;;;0250; +2C71;LATIN SMALL LETTER V WITH RIGHT HOOK;Ll;0;L;;;;;N;;;;; +2C72;LATIN CAPITAL LETTER W WITH HOOK;Lu;0;L;;;;;N;;;;2C73; +2C73;LATIN SMALL LETTER W WITH HOOK;Ll;0;L;;;;;N;;;2C72;;2C72 +2C74;LATIN SMALL LETTER V WITH CURL;Ll;0;L;;;;;N;;;;; +2C75;LATIN CAPITAL LETTER HALF H;Lu;0;L;;;;;N;;;;2C76; +2C76;LATIN SMALL LETTER HALF H;Ll;0;L;;;;;N;;;2C75;;2C75 +2C77;LATIN SMALL LETTER TAILLESS PHI;Ll;0;L;;;;;N;;;;; +2C78;LATIN SMALL LETTER E WITH NOTCH;Ll;0;L;;;;;N;;;;; +2C79;LATIN SMALL LETTER TURNED R WITH TAIL;Ll;0;L;;;;;N;;;;; +2C7A;LATIN SMALL LETTER O WITH LOW RING INSIDE;Ll;0;L;;;;;N;;;;; +2C7B;LATIN LETTER SMALL CAPITAL TURNED E;Ll;0;L;;;;;N;;;;; +2C7C;LATIN SUBSCRIPT SMALL LETTER J;Ll;0;L; 006A;;;;N;;;;; +2C7D;MODIFIER LETTER CAPITAL V;Lm;0;L; 0056;;;;N;;;;; +2C80;COPTIC CAPITAL LETTER ALFA;Lu;0;L;;;;;N;;;;2C81; +2C81;COPTIC SMALL LETTER ALFA;Ll;0;L;;;;;N;;;2C80;;2C80 +2C82;COPTIC CAPITAL LETTER VIDA;Lu;0;L;;;;;N;;;;2C83; +2C83;COPTIC SMALL LETTER VIDA;Ll;0;L;;;;;N;;;2C82;;2C82 +2C84;COPTIC CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;2C85; +2C85;COPTIC SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;2C84;;2C84 +2C86;COPTIC CAPITAL LETTER DALDA;Lu;0;L;;;;;N;;;;2C87; +2C87;COPTIC SMALL LETTER DALDA;Ll;0;L;;;;;N;;;2C86;;2C86 +2C88;COPTIC CAPITAL LETTER EIE;Lu;0;L;;;;;N;;;;2C89; +2C89;COPTIC SMALL LETTER EIE;Ll;0;L;;;;;N;;;2C88;;2C88 +2C8A;COPTIC CAPITAL LETTER SOU;Lu;0;L;;;;;N;;;;2C8B; +2C8B;COPTIC SMALL LETTER SOU;Ll;0;L;;;;;N;;;2C8A;;2C8A +2C8C;COPTIC CAPITAL LETTER ZATA;Lu;0;L;;;;;N;;;;2C8D; +2C8D;COPTIC SMALL LETTER ZATA;Ll;0;L;;;;;N;;;2C8C;;2C8C +2C8E;COPTIC CAPITAL LETTER HATE;Lu;0;L;;;;;N;;;;2C8F; +2C8F;COPTIC SMALL LETTER HATE;Ll;0;L;;;;;N;;;2C8E;;2C8E +2C90;COPTIC CAPITAL LETTER THETHE;Lu;0;L;;;;;N;;;;2C91; +2C91;COPTIC SMALL LETTER THETHE;Ll;0;L;;;;;N;;;2C90;;2C90 +2C92;COPTIC CAPITAL LETTER IAUDA;Lu;0;L;;;;;N;;;;2C93; +2C93;COPTIC SMALL LETTER IAUDA;Ll;0;L;;;;;N;;;2C92;;2C92 +2C94;COPTIC CAPITAL LETTER KAPA;Lu;0;L;;;;;N;;;;2C95; +2C95;COPTIC SMALL LETTER KAPA;Ll;0;L;;;;;N;;;2C94;;2C94 +2C96;COPTIC CAPITAL LETTER LAULA;Lu;0;L;;;;;N;;;;2C97; +2C97;COPTIC SMALL LETTER LAULA;Ll;0;L;;;;;N;;;2C96;;2C96 +2C98;COPTIC CAPITAL LETTER MI;Lu;0;L;;;;;N;;;;2C99; +2C99;COPTIC SMALL LETTER MI;Ll;0;L;;;;;N;;;2C98;;2C98 +2C9A;COPTIC CAPITAL LETTER NI;Lu;0;L;;;;;N;;;;2C9B; +2C9B;COPTIC SMALL LETTER NI;Ll;0;L;;;;;N;;;2C9A;;2C9A +2C9C;COPTIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;2C9D; +2C9D;COPTIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;2C9C;;2C9C +2C9E;COPTIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;2C9F; +2C9F;COPTIC SMALL LETTER O;Ll;0;L;;;;;N;;;2C9E;;2C9E +2CA0;COPTIC CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;2CA1; +2CA1;COPTIC SMALL LETTER PI;Ll;0;L;;;;;N;;;2CA0;;2CA0 +2CA2;COPTIC CAPITAL LETTER RO;Lu;0;L;;;;;N;;;;2CA3; +2CA3;COPTIC SMALL LETTER RO;Ll;0;L;;;;;N;;;2CA2;;2CA2 +2CA4;COPTIC CAPITAL LETTER SIMA;Lu;0;L;;;;;N;;;;2CA5; +2CA5;COPTIC SMALL LETTER SIMA;Ll;0;L;;;;;N;;;2CA4;;2CA4 +2CA6;COPTIC CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;2CA7; +2CA7;COPTIC SMALL LETTER TAU;Ll;0;L;;;;;N;;;2CA6;;2CA6 +2CA8;COPTIC CAPITAL LETTER UA;Lu;0;L;;;;;N;;;;2CA9; +2CA9;COPTIC SMALL LETTER UA;Ll;0;L;;;;;N;;;2CA8;;2CA8 +2CAA;COPTIC CAPITAL LETTER FI;Lu;0;L;;;;;N;;;;2CAB; +2CAB;COPTIC SMALL LETTER FI;Ll;0;L;;;;;N;;;2CAA;;2CAA +2CAC;COPTIC CAPITAL LETTER KHI;Lu;0;L;;;;;N;;;;2CAD; +2CAD;COPTIC SMALL LETTER KHI;Ll;0;L;;;;;N;;;2CAC;;2CAC +2CAE;COPTIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;2CAF; +2CAF;COPTIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;2CAE;;2CAE +2CB0;COPTIC CAPITAL LETTER OOU;Lu;0;L;;;;;N;;;;2CB1; +2CB1;COPTIC SMALL LETTER OOU;Ll;0;L;;;;;N;;;2CB0;;2CB0 +2CB2;COPTIC CAPITAL LETTER DIALECT-P ALEF;Lu;0;L;;;;;N;;;;2CB3; +2CB3;COPTIC SMALL LETTER DIALECT-P ALEF;Ll;0;L;;;;;N;;;2CB2;;2CB2 +2CB4;COPTIC CAPITAL LETTER OLD COPTIC AIN;Lu;0;L;;;;;N;;;;2CB5; +2CB5;COPTIC SMALL LETTER OLD COPTIC AIN;Ll;0;L;;;;;N;;;2CB4;;2CB4 +2CB6;COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE;Lu;0;L;;;;;N;;;;2CB7; +2CB7;COPTIC SMALL LETTER CRYPTOGRAMMIC EIE;Ll;0;L;;;;;N;;;2CB6;;2CB6 +2CB8;COPTIC CAPITAL LETTER DIALECT-P KAPA;Lu;0;L;;;;;N;;;;2CB9; +2CB9;COPTIC SMALL LETTER DIALECT-P KAPA;Ll;0;L;;;;;N;;;2CB8;;2CB8 +2CBA;COPTIC CAPITAL LETTER DIALECT-P NI;Lu;0;L;;;;;N;;;;2CBB; +2CBB;COPTIC SMALL LETTER DIALECT-P NI;Ll;0;L;;;;;N;;;2CBA;;2CBA +2CBC;COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI;Lu;0;L;;;;;N;;;;2CBD; +2CBD;COPTIC SMALL LETTER CRYPTOGRAMMIC NI;Ll;0;L;;;;;N;;;2CBC;;2CBC +2CBE;COPTIC CAPITAL LETTER OLD COPTIC OOU;Lu;0;L;;;;;N;;;;2CBF; +2CBF;COPTIC SMALL LETTER OLD COPTIC OOU;Ll;0;L;;;;;N;;;2CBE;;2CBE +2CC0;COPTIC CAPITAL LETTER SAMPI;Lu;0;L;;;;;N;;;;2CC1; +2CC1;COPTIC SMALL LETTER SAMPI;Ll;0;L;;;;;N;;;2CC0;;2CC0 +2CC2;COPTIC CAPITAL LETTER CROSSED SHEI;Lu;0;L;;;;;N;;;;2CC3; +2CC3;COPTIC SMALL LETTER CROSSED SHEI;Ll;0;L;;;;;N;;;2CC2;;2CC2 +2CC4;COPTIC CAPITAL LETTER OLD COPTIC SHEI;Lu;0;L;;;;;N;;;;2CC5; +2CC5;COPTIC SMALL LETTER OLD COPTIC SHEI;Ll;0;L;;;;;N;;;2CC4;;2CC4 +2CC6;COPTIC CAPITAL LETTER OLD COPTIC ESH;Lu;0;L;;;;;N;;;;2CC7; +2CC7;COPTIC SMALL LETTER OLD COPTIC ESH;Ll;0;L;;;;;N;;;2CC6;;2CC6 +2CC8;COPTIC CAPITAL LETTER AKHMIMIC KHEI;Lu;0;L;;;;;N;;;;2CC9; +2CC9;COPTIC SMALL LETTER AKHMIMIC KHEI;Ll;0;L;;;;;N;;;2CC8;;2CC8 +2CCA;COPTIC CAPITAL LETTER DIALECT-P HORI;Lu;0;L;;;;;N;;;;2CCB; +2CCB;COPTIC SMALL LETTER DIALECT-P HORI;Ll;0;L;;;;;N;;;2CCA;;2CCA +2CCC;COPTIC CAPITAL LETTER OLD COPTIC HORI;Lu;0;L;;;;;N;;;;2CCD; +2CCD;COPTIC SMALL LETTER OLD COPTIC HORI;Ll;0;L;;;;;N;;;2CCC;;2CCC +2CCE;COPTIC CAPITAL LETTER OLD COPTIC HA;Lu;0;L;;;;;N;;;;2CCF; +2CCF;COPTIC SMALL LETTER OLD COPTIC HA;Ll;0;L;;;;;N;;;2CCE;;2CCE +2CD0;COPTIC CAPITAL LETTER L-SHAPED HA;Lu;0;L;;;;;N;;;;2CD1; +2CD1;COPTIC SMALL LETTER L-SHAPED HA;Ll;0;L;;;;;N;;;2CD0;;2CD0 +2CD2;COPTIC CAPITAL LETTER OLD COPTIC HEI;Lu;0;L;;;;;N;;;;2CD3; +2CD3;COPTIC SMALL LETTER OLD COPTIC HEI;Ll;0;L;;;;;N;;;2CD2;;2CD2 +2CD4;COPTIC CAPITAL LETTER OLD COPTIC HAT;Lu;0;L;;;;;N;;;;2CD5; +2CD5;COPTIC SMALL LETTER OLD COPTIC HAT;Ll;0;L;;;;;N;;;2CD4;;2CD4 +2CD6;COPTIC CAPITAL LETTER OLD COPTIC GANGIA;Lu;0;L;;;;;N;;;;2CD7; +2CD7;COPTIC SMALL LETTER OLD COPTIC GANGIA;Ll;0;L;;;;;N;;;2CD6;;2CD6 +2CD8;COPTIC CAPITAL LETTER OLD COPTIC DJA;Lu;0;L;;;;;N;;;;2CD9; +2CD9;COPTIC SMALL LETTER OLD COPTIC DJA;Ll;0;L;;;;;N;;;2CD8;;2CD8 +2CDA;COPTIC CAPITAL LETTER OLD COPTIC SHIMA;Lu;0;L;;;;;N;;;;2CDB; +2CDB;COPTIC SMALL LETTER OLD COPTIC SHIMA;Ll;0;L;;;;;N;;;2CDA;;2CDA +2CDC;COPTIC CAPITAL LETTER OLD NUBIAN SHIMA;Lu;0;L;;;;;N;;;;2CDD; +2CDD;COPTIC SMALL LETTER OLD NUBIAN SHIMA;Ll;0;L;;;;;N;;;2CDC;;2CDC +2CDE;COPTIC CAPITAL LETTER OLD NUBIAN NGI;Lu;0;L;;;;;N;;;;2CDF; +2CDF;COPTIC SMALL LETTER OLD NUBIAN NGI;Ll;0;L;;;;;N;;;2CDE;;2CDE +2CE0;COPTIC CAPITAL LETTER OLD NUBIAN NYI;Lu;0;L;;;;;N;;;;2CE1; +2CE1;COPTIC SMALL LETTER OLD NUBIAN NYI;Ll;0;L;;;;;N;;;2CE0;;2CE0 +2CE2;COPTIC CAPITAL LETTER OLD NUBIAN WAU;Lu;0;L;;;;;N;;;;2CE3; +2CE3;COPTIC SMALL LETTER OLD NUBIAN WAU;Ll;0;L;;;;;N;;;2CE2;;2CE2 +2CE4;COPTIC SYMBOL KAI;Ll;0;L;;;;;N;;;;; +2CE5;COPTIC SYMBOL MI RO;So;0;ON;;;;;N;;;;; +2CE6;COPTIC SYMBOL PI RO;So;0;ON;;;;;N;;;;; +2CE7;COPTIC SYMBOL STAUROS;So;0;ON;;;;;N;;;;; +2CE8;COPTIC SYMBOL TAU RO;So;0;ON;;;;;N;;;;; +2CE9;COPTIC SYMBOL KHI RO;So;0;ON;;;;;N;;;;; +2CEA;COPTIC SYMBOL SHIMA SIMA;So;0;ON;;;;;N;;;;; +2CF9;COPTIC OLD NUBIAN FULL STOP;Po;0;ON;;;;;N;;;;; +2CFA;COPTIC OLD NUBIAN DIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;; +2CFB;COPTIC OLD NUBIAN INDIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;; +2CFC;COPTIC OLD NUBIAN VERSE DIVIDER;Po;0;ON;;;;;N;;;;; +2CFD;COPTIC FRACTION ONE HALF;No;0;ON;;;;1/2;N;;;;; +2CFE;COPTIC FULL STOP;Po;0;ON;;;;;N;;;;; +2CFF;COPTIC MORPHOLOGICAL DIVIDER;Po;0;ON;;;;;N;;;;; +2D00;GEORGIAN SMALL LETTER AN;Ll;0;L;;;;;N;;Khutsuri;10A0;;10A0 +2D01;GEORGIAN SMALL LETTER BAN;Ll;0;L;;;;;N;;Khutsuri;10A1;;10A1 +2D02;GEORGIAN SMALL LETTER GAN;Ll;0;L;;;;;N;;Khutsuri;10A2;;10A2 +2D03;GEORGIAN SMALL LETTER DON;Ll;0;L;;;;;N;;Khutsuri;10A3;;10A3 +2D04;GEORGIAN SMALL LETTER EN;Ll;0;L;;;;;N;;Khutsuri;10A4;;10A4 +2D05;GEORGIAN SMALL LETTER VIN;Ll;0;L;;;;;N;;Khutsuri;10A5;;10A5 +2D06;GEORGIAN SMALL LETTER ZEN;Ll;0;L;;;;;N;;Khutsuri;10A6;;10A6 +2D07;GEORGIAN SMALL LETTER TAN;Ll;0;L;;;;;N;;Khutsuri;10A7;;10A7 +2D08;GEORGIAN SMALL LETTER IN;Ll;0;L;;;;;N;;Khutsuri;10A8;;10A8 +2D09;GEORGIAN SMALL LETTER KAN;Ll;0;L;;;;;N;;Khutsuri;10A9;;10A9 +2D0A;GEORGIAN SMALL LETTER LAS;Ll;0;L;;;;;N;;Khutsuri;10AA;;10AA +2D0B;GEORGIAN SMALL LETTER MAN;Ll;0;L;;;;;N;;Khutsuri;10AB;;10AB +2D0C;GEORGIAN SMALL LETTER NAR;Ll;0;L;;;;;N;;Khutsuri;10AC;;10AC +2D0D;GEORGIAN SMALL LETTER ON;Ll;0;L;;;;;N;;Khutsuri;10AD;;10AD +2D0E;GEORGIAN SMALL LETTER PAR;Ll;0;L;;;;;N;;Khutsuri;10AE;;10AE +2D0F;GEORGIAN SMALL LETTER ZHAR;Ll;0;L;;;;;N;;Khutsuri;10AF;;10AF +2D10;GEORGIAN SMALL LETTER RAE;Ll;0;L;;;;;N;;Khutsuri;10B0;;10B0 +2D11;GEORGIAN SMALL LETTER SAN;Ll;0;L;;;;;N;;Khutsuri;10B1;;10B1 +2D12;GEORGIAN SMALL LETTER TAR;Ll;0;L;;;;;N;;Khutsuri;10B2;;10B2 +2D13;GEORGIAN SMALL LETTER UN;Ll;0;L;;;;;N;;Khutsuri;10B3;;10B3 +2D14;GEORGIAN SMALL LETTER PHAR;Ll;0;L;;;;;N;;Khutsuri;10B4;;10B4 +2D15;GEORGIAN SMALL LETTER KHAR;Ll;0;L;;;;;N;;Khutsuri;10B5;;10B5 +2D16;GEORGIAN SMALL LETTER GHAN;Ll;0;L;;;;;N;;Khutsuri;10B6;;10B6 +2D17;GEORGIAN SMALL LETTER QAR;Ll;0;L;;;;;N;;Khutsuri;10B7;;10B7 +2D18;GEORGIAN SMALL LETTER SHIN;Ll;0;L;;;;;N;;Khutsuri;10B8;;10B8 +2D19;GEORGIAN SMALL LETTER CHIN;Ll;0;L;;;;;N;;Khutsuri;10B9;;10B9 +2D1A;GEORGIAN SMALL LETTER CAN;Ll;0;L;;;;;N;;Khutsuri;10BA;;10BA +2D1B;GEORGIAN SMALL LETTER JIL;Ll;0;L;;;;;N;;Khutsuri;10BB;;10BB +2D1C;GEORGIAN SMALL LETTER CIL;Ll;0;L;;;;;N;;Khutsuri;10BC;;10BC +2D1D;GEORGIAN SMALL LETTER CHAR;Ll;0;L;;;;;N;;Khutsuri;10BD;;10BD +2D1E;GEORGIAN SMALL LETTER XAN;Ll;0;L;;;;;N;;Khutsuri;10BE;;10BE +2D1F;GEORGIAN SMALL LETTER JHAN;Ll;0;L;;;;;N;;Khutsuri;10BF;;10BF +2D20;GEORGIAN SMALL LETTER HAE;Ll;0;L;;;;;N;;Khutsuri;10C0;;10C0 +2D21;GEORGIAN SMALL LETTER HE;Ll;0;L;;;;;N;;Khutsuri;10C1;;10C1 +2D22;GEORGIAN SMALL LETTER HIE;Ll;0;L;;;;;N;;Khutsuri;10C2;;10C2 +2D23;GEORGIAN SMALL LETTER WE;Ll;0;L;;;;;N;;Khutsuri;10C3;;10C3 +2D24;GEORGIAN SMALL LETTER HAR;Ll;0;L;;;;;N;;Khutsuri;10C4;;10C4 +2D25;GEORGIAN SMALL LETTER HOE;Ll;0;L;;;;;N;;Khutsuri;10C5;;10C5 +2D30;TIFINAGH LETTER YA;Lo;0;L;;;;;N;;;;; +2D31;TIFINAGH LETTER YAB;Lo;0;L;;;;;N;;;;; +2D32;TIFINAGH LETTER YABH;Lo;0;L;;;;;N;;;;; +2D33;TIFINAGH LETTER YAG;Lo;0;L;;;;;N;;;;; +2D34;TIFINAGH LETTER YAGHH;Lo;0;L;;;;;N;;;;; +2D35;TIFINAGH LETTER BERBER ACADEMY YAJ;Lo;0;L;;;;;N;;;;; +2D36;TIFINAGH LETTER YAJ;Lo;0;L;;;;;N;;;;; +2D37;TIFINAGH LETTER YAD;Lo;0;L;;;;;N;;;;; +2D38;TIFINAGH LETTER YADH;Lo;0;L;;;;;N;;;;; +2D39;TIFINAGH LETTER YADD;Lo;0;L;;;;;N;;;;; +2D3A;TIFINAGH LETTER YADDH;Lo;0;L;;;;;N;;;;; +2D3B;TIFINAGH LETTER YEY;Lo;0;L;;;;;N;;;;; +2D3C;TIFINAGH LETTER YAF;Lo;0;L;;;;;N;;;;; +2D3D;TIFINAGH LETTER YAK;Lo;0;L;;;;;N;;;;; +2D3E;TIFINAGH LETTER TUAREG YAK;Lo;0;L;;;;;N;;;;; +2D3F;TIFINAGH LETTER YAKHH;Lo;0;L;;;;;N;;;;; +2D40;TIFINAGH LETTER YAH;Lo;0;L;;;;;N;;Tuareg yab;;; +2D41;TIFINAGH LETTER BERBER ACADEMY YAH;Lo;0;L;;;;;N;;;;; +2D42;TIFINAGH LETTER TUAREG YAH;Lo;0;L;;;;;N;;;;; +2D43;TIFINAGH LETTER YAHH;Lo;0;L;;;;;N;;;;; +2D44;TIFINAGH LETTER YAA;Lo;0;L;;;;;N;;;;; +2D45;TIFINAGH LETTER YAKH;Lo;0;L;;;;;N;;;;; +2D46;TIFINAGH LETTER TUAREG YAKH;Lo;0;L;;;;;N;;;;; +2D47;TIFINAGH LETTER YAQ;Lo;0;L;;;;;N;;;;; +2D48;TIFINAGH LETTER TUAREG YAQ;Lo;0;L;;;;;N;;;;; +2D49;TIFINAGH LETTER YI;Lo;0;L;;;;;N;;;;; +2D4A;TIFINAGH LETTER YAZH;Lo;0;L;;;;;N;;;;; +2D4B;TIFINAGH LETTER AHAGGAR YAZH;Lo;0;L;;;;;N;;;;; +2D4C;TIFINAGH LETTER TUAREG YAZH;Lo;0;L;;;;;N;;;;; +2D4D;TIFINAGH LETTER YAL;Lo;0;L;;;;;N;;;;; +2D4E;TIFINAGH LETTER YAM;Lo;0;L;;;;;N;;;;; +2D4F;TIFINAGH LETTER YAN;Lo;0;L;;;;;N;;;;; +2D50;TIFINAGH LETTER TUAREG YAGN;Lo;0;L;;;;;N;;;;; +2D51;TIFINAGH LETTER TUAREG YANG;Lo;0;L;;;;;N;;;;; +2D52;TIFINAGH LETTER YAP;Lo;0;L;;;;;N;;;;; +2D53;TIFINAGH LETTER YU;Lo;0;L;;;;;N;;Tuareg yaw;;; +2D54;TIFINAGH LETTER YAR;Lo;0;L;;;;;N;;;;; +2D55;TIFINAGH LETTER YARR;Lo;0;L;;;;;N;;;;; +2D56;TIFINAGH LETTER YAGH;Lo;0;L;;;;;N;;;;; +2D57;TIFINAGH LETTER TUAREG YAGH;Lo;0;L;;;;;N;;;;; +2D58;TIFINAGH LETTER AYER YAGH;Lo;0;L;;;;;N;;Adrar yaj;;; +2D59;TIFINAGH LETTER YAS;Lo;0;L;;;;;N;;;;; +2D5A;TIFINAGH LETTER YASS;Lo;0;L;;;;;N;;;;; +2D5B;TIFINAGH LETTER YASH;Lo;0;L;;;;;N;;;;; +2D5C;TIFINAGH LETTER YAT;Lo;0;L;;;;;N;;;;; +2D5D;TIFINAGH LETTER YATH;Lo;0;L;;;;;N;;;;; +2D5E;TIFINAGH LETTER YACH;Lo;0;L;;;;;N;;;;; +2D5F;TIFINAGH LETTER YATT;Lo;0;L;;;;;N;;;;; +2D60;TIFINAGH LETTER YAV;Lo;0;L;;;;;N;;;;; +2D61;TIFINAGH LETTER YAW;Lo;0;L;;;;;N;;;;; +2D62;TIFINAGH LETTER YAY;Lo;0;L;;;;;N;;;;; +2D63;TIFINAGH LETTER YAZ;Lo;0;L;;;;;N;;;;; +2D64;TIFINAGH LETTER TAWELLEMET YAZ;Lo;0;L;;;;;N;;harpoon yaz;;; +2D65;TIFINAGH LETTER YAZZ;Lo;0;L;;;;;N;;;;; +2D6F;TIFINAGH MODIFIER LETTER LABIALIZATION MARK;Lm;0;L; 2D61;;;;N;;tamatart;;; +2D80;ETHIOPIC SYLLABLE LOA;Lo;0;L;;;;;N;;;;; +2D81;ETHIOPIC SYLLABLE MOA;Lo;0;L;;;;;N;;;;; +2D82;ETHIOPIC SYLLABLE ROA;Lo;0;L;;;;;N;;;;; +2D83;ETHIOPIC SYLLABLE SOA;Lo;0;L;;;;;N;;;;; +2D84;ETHIOPIC SYLLABLE SHOA;Lo;0;L;;;;;N;;;;; +2D85;ETHIOPIC SYLLABLE BOA;Lo;0;L;;;;;N;;;;; +2D86;ETHIOPIC SYLLABLE TOA;Lo;0;L;;;;;N;;;;; +2D87;ETHIOPIC SYLLABLE COA;Lo;0;L;;;;;N;;;;; +2D88;ETHIOPIC SYLLABLE NOA;Lo;0;L;;;;;N;;;;; +2D89;ETHIOPIC SYLLABLE NYOA;Lo;0;L;;;;;N;;;;; +2D8A;ETHIOPIC SYLLABLE GLOTTAL OA;Lo;0;L;;;;;N;;;;; +2D8B;ETHIOPIC SYLLABLE ZOA;Lo;0;L;;;;;N;;;;; +2D8C;ETHIOPIC SYLLABLE DOA;Lo;0;L;;;;;N;;;;; +2D8D;ETHIOPIC SYLLABLE DDOA;Lo;0;L;;;;;N;;;;; +2D8E;ETHIOPIC SYLLABLE JOA;Lo;0;L;;;;;N;;;;; +2D8F;ETHIOPIC SYLLABLE THOA;Lo;0;L;;;;;N;;;;; +2D90;ETHIOPIC SYLLABLE CHOA;Lo;0;L;;;;;N;;;;; +2D91;ETHIOPIC SYLLABLE PHOA;Lo;0;L;;;;;N;;;;; +2D92;ETHIOPIC SYLLABLE POA;Lo;0;L;;;;;N;;;;; +2D93;ETHIOPIC SYLLABLE GGWA;Lo;0;L;;;;;N;;;;; +2D94;ETHIOPIC SYLLABLE GGWI;Lo;0;L;;;;;N;;;;; +2D95;ETHIOPIC SYLLABLE GGWEE;Lo;0;L;;;;;N;;;;; +2D96;ETHIOPIC SYLLABLE GGWE;Lo;0;L;;;;;N;;;;; +2DA0;ETHIOPIC SYLLABLE SSA;Lo;0;L;;;;;N;;;;; +2DA1;ETHIOPIC SYLLABLE SSU;Lo;0;L;;;;;N;;;;; +2DA2;ETHIOPIC SYLLABLE SSI;Lo;0;L;;;;;N;;;;; +2DA3;ETHIOPIC SYLLABLE SSAA;Lo;0;L;;;;;N;;;;; +2DA4;ETHIOPIC SYLLABLE SSEE;Lo;0;L;;;;;N;;;;; +2DA5;ETHIOPIC SYLLABLE SSE;Lo;0;L;;;;;N;;;;; +2DA6;ETHIOPIC SYLLABLE SSO;Lo;0;L;;;;;N;;;;; +2DA8;ETHIOPIC SYLLABLE CCA;Lo;0;L;;;;;N;;;;; +2DA9;ETHIOPIC SYLLABLE CCU;Lo;0;L;;;;;N;;;;; +2DAA;ETHIOPIC SYLLABLE CCI;Lo;0;L;;;;;N;;;;; +2DAB;ETHIOPIC SYLLABLE CCAA;Lo;0;L;;;;;N;;;;; +2DAC;ETHIOPIC SYLLABLE CCEE;Lo;0;L;;;;;N;;;;; +2DAD;ETHIOPIC SYLLABLE CCE;Lo;0;L;;;;;N;;;;; +2DAE;ETHIOPIC SYLLABLE CCO;Lo;0;L;;;;;N;;;;; +2DB0;ETHIOPIC SYLLABLE ZZA;Lo;0;L;;;;;N;;;;; +2DB1;ETHIOPIC SYLLABLE ZZU;Lo;0;L;;;;;N;;;;; +2DB2;ETHIOPIC SYLLABLE ZZI;Lo;0;L;;;;;N;;;;; +2DB3;ETHIOPIC SYLLABLE ZZAA;Lo;0;L;;;;;N;;;;; +2DB4;ETHIOPIC SYLLABLE ZZEE;Lo;0;L;;;;;N;;;;; +2DB5;ETHIOPIC SYLLABLE ZZE;Lo;0;L;;;;;N;;;;; +2DB6;ETHIOPIC SYLLABLE ZZO;Lo;0;L;;;;;N;;;;; +2DB8;ETHIOPIC SYLLABLE CCHA;Lo;0;L;;;;;N;;;;; +2DB9;ETHIOPIC SYLLABLE CCHU;Lo;0;L;;;;;N;;;;; +2DBA;ETHIOPIC SYLLABLE CCHI;Lo;0;L;;;;;N;;;;; +2DBB;ETHIOPIC SYLLABLE CCHAA;Lo;0;L;;;;;N;;;;; +2DBC;ETHIOPIC SYLLABLE CCHEE;Lo;0;L;;;;;N;;;;; +2DBD;ETHIOPIC SYLLABLE CCHE;Lo;0;L;;;;;N;;;;; +2DBE;ETHIOPIC SYLLABLE CCHO;Lo;0;L;;;;;N;;;;; +2DC0;ETHIOPIC SYLLABLE QYA;Lo;0;L;;;;;N;;;;; +2DC1;ETHIOPIC SYLLABLE QYU;Lo;0;L;;;;;N;;;;; +2DC2;ETHIOPIC SYLLABLE QYI;Lo;0;L;;;;;N;;;;; +2DC3;ETHIOPIC SYLLABLE QYAA;Lo;0;L;;;;;N;;;;; +2DC4;ETHIOPIC SYLLABLE QYEE;Lo;0;L;;;;;N;;;;; +2DC5;ETHIOPIC SYLLABLE QYE;Lo;0;L;;;;;N;;;;; +2DC6;ETHIOPIC SYLLABLE QYO;Lo;0;L;;;;;N;;;;; +2DC8;ETHIOPIC SYLLABLE KYA;Lo;0;L;;;;;N;;;;; +2DC9;ETHIOPIC SYLLABLE KYU;Lo;0;L;;;;;N;;;;; +2DCA;ETHIOPIC SYLLABLE KYI;Lo;0;L;;;;;N;;;;; +2DCB;ETHIOPIC SYLLABLE KYAA;Lo;0;L;;;;;N;;;;; +2DCC;ETHIOPIC SYLLABLE KYEE;Lo;0;L;;;;;N;;;;; +2DCD;ETHIOPIC SYLLABLE KYE;Lo;0;L;;;;;N;;;;; +2DCE;ETHIOPIC SYLLABLE KYO;Lo;0;L;;;;;N;;;;; +2DD0;ETHIOPIC SYLLABLE XYA;Lo;0;L;;;;;N;;;;; +2DD1;ETHIOPIC SYLLABLE XYU;Lo;0;L;;;;;N;;;;; +2DD2;ETHIOPIC SYLLABLE XYI;Lo;0;L;;;;;N;;;;; +2DD3;ETHIOPIC SYLLABLE XYAA;Lo;0;L;;;;;N;;;;; +2DD4;ETHIOPIC SYLLABLE XYEE;Lo;0;L;;;;;N;;;;; +2DD5;ETHIOPIC SYLLABLE XYE;Lo;0;L;;;;;N;;;;; +2DD6;ETHIOPIC SYLLABLE XYO;Lo;0;L;;;;;N;;;;; +2DD8;ETHIOPIC SYLLABLE GYA;Lo;0;L;;;;;N;;;;; +2DD9;ETHIOPIC SYLLABLE GYU;Lo;0;L;;;;;N;;;;; +2DDA;ETHIOPIC SYLLABLE GYI;Lo;0;L;;;;;N;;;;; +2DDB;ETHIOPIC SYLLABLE GYAA;Lo;0;L;;;;;N;;;;; +2DDC;ETHIOPIC SYLLABLE GYEE;Lo;0;L;;;;;N;;;;; +2DDD;ETHIOPIC SYLLABLE GYE;Lo;0;L;;;;;N;;;;; +2DDE;ETHIOPIC SYLLABLE GYO;Lo;0;L;;;;;N;;;;; +2DE0;COMBINING CYRILLIC LETTER BE;Mn;230;NSM;;;;;N;;;;; +2DE1;COMBINING CYRILLIC LETTER VE;Mn;230;NSM;;;;;N;;;;; +2DE2;COMBINING CYRILLIC LETTER GHE;Mn;230;NSM;;;;;N;;;;; +2DE3;COMBINING CYRILLIC LETTER DE;Mn;230;NSM;;;;;N;;;;; +2DE4;COMBINING CYRILLIC LETTER ZHE;Mn;230;NSM;;;;;N;;;;; +2DE5;COMBINING CYRILLIC LETTER ZE;Mn;230;NSM;;;;;N;;;;; +2DE6;COMBINING CYRILLIC LETTER KA;Mn;230;NSM;;;;;N;;;;; +2DE7;COMBINING CYRILLIC LETTER EL;Mn;230;NSM;;;;;N;;;;; +2DE8;COMBINING CYRILLIC LETTER EM;Mn;230;NSM;;;;;N;;;;; +2DE9;COMBINING CYRILLIC LETTER EN;Mn;230;NSM;;;;;N;;;;; +2DEA;COMBINING CYRILLIC LETTER O;Mn;230;NSM;;;;;N;;;;; +2DEB;COMBINING CYRILLIC LETTER PE;Mn;230;NSM;;;;;N;;;;; +2DEC;COMBINING CYRILLIC LETTER ER;Mn;230;NSM;;;;;N;;;;; +2DED;COMBINING CYRILLIC LETTER ES;Mn;230;NSM;;;;;N;;;;; +2DEE;COMBINING CYRILLIC LETTER TE;Mn;230;NSM;;;;;N;;;;; +2DEF;COMBINING CYRILLIC LETTER HA;Mn;230;NSM;;;;;N;;;;; +2DF0;COMBINING CYRILLIC LETTER TSE;Mn;230;NSM;;;;;N;;;;; +2DF1;COMBINING CYRILLIC LETTER CHE;Mn;230;NSM;;;;;N;;;;; +2DF2;COMBINING CYRILLIC LETTER SHA;Mn;230;NSM;;;;;N;;;;; +2DF3;COMBINING CYRILLIC LETTER SHCHA;Mn;230;NSM;;;;;N;;;;; +2DF4;COMBINING CYRILLIC LETTER FITA;Mn;230;NSM;;;;;N;;;;; +2DF5;COMBINING CYRILLIC LETTER ES-TE;Mn;230;NSM;;;;;N;;;;; +2DF6;COMBINING CYRILLIC LETTER A;Mn;230;NSM;;;;;N;;;;; +2DF7;COMBINING CYRILLIC LETTER IE;Mn;230;NSM;;;;;N;;;;; +2DF8;COMBINING CYRILLIC LETTER DJERV;Mn;230;NSM;;;;;N;;;;; +2DF9;COMBINING CYRILLIC LETTER MONOGRAPH UK;Mn;230;NSM;;;;;N;;;;; +2DFA;COMBINING CYRILLIC LETTER YAT;Mn;230;NSM;;;;;N;;;;; +2DFB;COMBINING CYRILLIC LETTER YU;Mn;230;NSM;;;;;N;;;;; +2DFC;COMBINING CYRILLIC LETTER IOTIFIED A;Mn;230;NSM;;;;;N;;;;; +2DFD;COMBINING CYRILLIC LETTER LITTLE YUS;Mn;230;NSM;;;;;N;;;;; +2DFE;COMBINING CYRILLIC LETTER BIG YUS;Mn;230;NSM;;;;;N;;;;; +2DFF;COMBINING CYRILLIC LETTER IOTIFIED BIG YUS;Mn;230;NSM;;;;;N;;;;; +2E00;RIGHT ANGLE SUBSTITUTION MARKER;Po;0;ON;;;;;N;;;;; +2E01;RIGHT ANGLE DOTTED SUBSTITUTION MARKER;Po;0;ON;;;;;N;;;;; +2E02;LEFT SUBSTITUTION BRACKET;Pi;0;ON;;;;;Y;;;;; +2E03;RIGHT SUBSTITUTION BRACKET;Pf;0;ON;;;;;Y;;;;; +2E04;LEFT DOTTED SUBSTITUTION BRACKET;Pi;0;ON;;;;;Y;;;;; +2E05;RIGHT DOTTED SUBSTITUTION BRACKET;Pf;0;ON;;;;;Y;;;;; +2E06;RAISED INTERPOLATION MARKER;Po;0;ON;;;;;N;;;;; +2E07;RAISED DOTTED INTERPOLATION MARKER;Po;0;ON;;;;;N;;;;; +2E08;DOTTED TRANSPOSITION MARKER;Po;0;ON;;;;;N;;;;; +2E09;LEFT TRANSPOSITION BRACKET;Pi;0;ON;;;;;Y;;;;; +2E0A;RIGHT TRANSPOSITION BRACKET;Pf;0;ON;;;;;Y;;;;; +2E0B;RAISED SQUARE;Po;0;ON;;;;;N;;;;; +2E0C;LEFT RAISED OMISSION BRACKET;Pi;0;ON;;;;;Y;;;;; +2E0D;RIGHT RAISED OMISSION BRACKET;Pf;0;ON;;;;;Y;;;;; +2E0E;EDITORIAL CORONIS;Po;0;ON;;;;;N;;;;; +2E0F;PARAGRAPHOS;Po;0;ON;;;;;N;;;;; +2E10;FORKED PARAGRAPHOS;Po;0;ON;;;;;N;;;;; +2E11;REVERSED FORKED PARAGRAPHOS;Po;0;ON;;;;;N;;;;; +2E12;HYPODIASTOLE;Po;0;ON;;;;;N;;;;; +2E13;DOTTED OBELOS;Po;0;ON;;;;;N;;;;; +2E14;DOWNWARDS ANCORA;Po;0;ON;;;;;N;;;;; +2E15;UPWARDS ANCORA;Po;0;ON;;;;;N;;;;; +2E16;DOTTED RIGHT-POINTING ANGLE;Po;0;ON;;;;;N;;;;; +2E17;DOUBLE OBLIQUE HYPHEN;Pd;0;ON;;;;;N;;;;; +2E18;INVERTED INTERROBANG;Po;0;ON;;;;;N;;;;; +2E19;PALM BRANCH;Po;0;ON;;;;;N;;;;; +2E1A;HYPHEN WITH DIAERESIS;Pd;0;ON;;;;;N;;;;; +2E1B;TILDE WITH RING ABOVE;Po;0;ON;;;;;N;;;;; +2E1C;LEFT LOW PARAPHRASE BRACKET;Pi;0;ON;;;;;Y;;;;; +2E1D;RIGHT LOW PARAPHRASE BRACKET;Pf;0;ON;;;;;Y;;;;; +2E1E;TILDE WITH DOT ABOVE;Po;0;ON;;;;;N;;;;; +2E1F;TILDE WITH DOT BELOW;Po;0;ON;;;;;N;;;;; +2E20;LEFT VERTICAL BAR WITH QUILL;Pi;0;ON;;;;;Y;;;;; +2E21;RIGHT VERTICAL BAR WITH QUILL;Pf;0;ON;;;;;Y;;;;; +2E22;TOP LEFT HALF BRACKET;Ps;0;ON;;;;;Y;;;;; +2E23;TOP RIGHT HALF BRACKET;Pe;0;ON;;;;;Y;;;;; +2E24;BOTTOM LEFT HALF BRACKET;Ps;0;ON;;;;;Y;;;;; +2E25;BOTTOM RIGHT HALF BRACKET;Pe;0;ON;;;;;Y;;;;; +2E26;LEFT SIDEWAYS U BRACKET;Ps;0;ON;;;;;Y;;;;; +2E27;RIGHT SIDEWAYS U BRACKET;Pe;0;ON;;;;;Y;;;;; +2E28;LEFT DOUBLE PARENTHESIS;Ps;0;ON;;;;;Y;;;;; +2E29;RIGHT DOUBLE PARENTHESIS;Pe;0;ON;;;;;Y;;;;; +2E2A;TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +2E2B;ONE DOT OVER TWO DOTS PUNCTUATION;Po;0;ON;;;;;N;;;;; +2E2C;SQUARED FOUR DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +2E2D;FIVE DOT MARK;Po;0;ON;;;;;N;;;;; +2E2E;REVERSED QUESTION MARK;Po;0;ON;;;;;N;;;;; +2E2F;VERTICAL TILDE;Lm;0;ON;;;;;N;;;;; +2E30;RING POINT;Po;0;ON;;;;;N;;;;; +2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;; +2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;; +2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;; +2E83;CJK RADICAL SECOND TWO;So;0;ON;;;;;N;;;;; +2E84;CJK RADICAL SECOND THREE;So;0;ON;;;;;N;;;;; +2E85;CJK RADICAL PERSON;So;0;ON;;;;;N;;;;; +2E86;CJK RADICAL BOX;So;0;ON;;;;;N;;;;; +2E87;CJK RADICAL TABLE;So;0;ON;;;;;N;;;;; +2E88;CJK RADICAL KNIFE ONE;So;0;ON;;;;;N;;;;; +2E89;CJK RADICAL KNIFE TWO;So;0;ON;;;;;N;;;;; +2E8A;CJK RADICAL DIVINATION;So;0;ON;;;;;N;;;;; +2E8B;CJK RADICAL SEAL;So;0;ON;;;;;N;;;;; +2E8C;CJK RADICAL SMALL ONE;So;0;ON;;;;;N;;;;; +2E8D;CJK RADICAL SMALL TWO;So;0;ON;;;;;N;;;;; +2E8E;CJK RADICAL LAME ONE;So;0;ON;;;;;N;;;;; +2E8F;CJK RADICAL LAME TWO;So;0;ON;;;;;N;;;;; +2E90;CJK RADICAL LAME THREE;So;0;ON;;;;;N;;;;; +2E91;CJK RADICAL LAME FOUR;So;0;ON;;;;;N;;;;; +2E92;CJK RADICAL SNAKE;So;0;ON;;;;;N;;;;; +2E93;CJK RADICAL THREAD;So;0;ON;;;;;N;;;;; +2E94;CJK RADICAL SNOUT ONE;So;0;ON;;;;;N;;;;; +2E95;CJK RADICAL SNOUT TWO;So;0;ON;;;;;N;;;;; +2E96;CJK RADICAL HEART ONE;So;0;ON;;;;;N;;;;; +2E97;CJK RADICAL HEART TWO;So;0;ON;;;;;N;;;;; +2E98;CJK RADICAL HAND;So;0;ON;;;;;N;;;;; +2E99;CJK RADICAL RAP;So;0;ON;;;;;N;;;;; +2E9B;CJK RADICAL CHOKE;So;0;ON;;;;;N;;;;; +2E9C;CJK RADICAL SUN;So;0;ON;;;;;N;;;;; +2E9D;CJK RADICAL MOON;So;0;ON;;;;;N;;;;; +2E9E;CJK RADICAL DEATH;So;0;ON;;;;;N;;;;; +2E9F;CJK RADICAL MOTHER;So;0;ON; 6BCD;;;;N;;;;; +2EA0;CJK RADICAL CIVILIAN;So;0;ON;;;;;N;;;;; +2EA1;CJK RADICAL WATER ONE;So;0;ON;;;;;N;;;;; +2EA2;CJK RADICAL WATER TWO;So;0;ON;;;;;N;;;;; +2EA3;CJK RADICAL FIRE;So;0;ON;;;;;N;;;;; +2EA4;CJK RADICAL PAW ONE;So;0;ON;;;;;N;;;;; +2EA5;CJK RADICAL PAW TWO;So;0;ON;;;;;N;;;;; +2EA6;CJK RADICAL SIMPLIFIED HALF TREE TRUNK;So;0;ON;;;;;N;;;;; +2EA7;CJK RADICAL COW;So;0;ON;;;;;N;;;;; +2EA8;CJK RADICAL DOG;So;0;ON;;;;;N;;;;; +2EA9;CJK RADICAL JADE;So;0;ON;;;;;N;;;;; +2EAA;CJK RADICAL BOLT OF CLOTH;So;0;ON;;;;;N;;;;; +2EAB;CJK RADICAL EYE;So;0;ON;;;;;N;;;;; +2EAC;CJK RADICAL SPIRIT ONE;So;0;ON;;;;;N;;;;; +2EAD;CJK RADICAL SPIRIT TWO;So;0;ON;;;;;N;;;;; +2EAE;CJK RADICAL BAMBOO;So;0;ON;;;;;N;;;;; +2EAF;CJK RADICAL SILK;So;0;ON;;;;;N;;;;; +2EB0;CJK RADICAL C-SIMPLIFIED SILK;So;0;ON;;;;;N;;;;; +2EB1;CJK RADICAL NET ONE;So;0;ON;;;;;N;;;;; +2EB2;CJK RADICAL NET TWO;So;0;ON;;;;;N;;;;; +2EB3;CJK RADICAL NET THREE;So;0;ON;;;;;N;;;;; +2EB4;CJK RADICAL NET FOUR;So;0;ON;;;;;N;;;;; +2EB5;CJK RADICAL MESH;So;0;ON;;;;;N;;;;; +2EB6;CJK RADICAL SHEEP;So;0;ON;;;;;N;;;;; +2EB7;CJK RADICAL RAM;So;0;ON;;;;;N;;;;; +2EB8;CJK RADICAL EWE;So;0;ON;;;;;N;;;;; +2EB9;CJK RADICAL OLD;So;0;ON;;;;;N;;;;; +2EBA;CJK RADICAL BRUSH ONE;So;0;ON;;;;;N;;;;; +2EBB;CJK RADICAL BRUSH TWO;So;0;ON;;;;;N;;;;; +2EBC;CJK RADICAL MEAT;So;0;ON;;;;;N;;;;; +2EBD;CJK RADICAL MORTAR;So;0;ON;;;;;N;;;;; +2EBE;CJK RADICAL GRASS ONE;So;0;ON;;;;;N;;;;; +2EBF;CJK RADICAL GRASS TWO;So;0;ON;;;;;N;;;;; +2EC0;CJK RADICAL GRASS THREE;So;0;ON;;;;;N;;;;; +2EC1;CJK RADICAL TIGER;So;0;ON;;;;;N;;;;; +2EC2;CJK RADICAL CLOTHES;So;0;ON;;;;;N;;;;; +2EC3;CJK RADICAL WEST ONE;So;0;ON;;;;;N;;;;; +2EC4;CJK RADICAL WEST TWO;So;0;ON;;;;;N;;;;; +2EC5;CJK RADICAL C-SIMPLIFIED SEE;So;0;ON;;;;;N;;;;; +2EC6;CJK RADICAL SIMPLIFIED HORN;So;0;ON;;;;;N;;;;; +2EC7;CJK RADICAL HORN;So;0;ON;;;;;N;;;;; +2EC8;CJK RADICAL C-SIMPLIFIED SPEECH;So;0;ON;;;;;N;;;;; +2EC9;CJK RADICAL C-SIMPLIFIED SHELL;So;0;ON;;;;;N;;;;; +2ECA;CJK RADICAL FOOT;So;0;ON;;;;;N;;;;; +2ECB;CJK RADICAL C-SIMPLIFIED CART;So;0;ON;;;;;N;;;;; +2ECC;CJK RADICAL SIMPLIFIED WALK;So;0;ON;;;;;N;;;;; +2ECD;CJK RADICAL WALK ONE;So;0;ON;;;;;N;;;;; +2ECE;CJK RADICAL WALK TWO;So;0;ON;;;;;N;;;;; +2ECF;CJK RADICAL CITY;So;0;ON;;;;;N;;;;; +2ED0;CJK RADICAL C-SIMPLIFIED GOLD;So;0;ON;;;;;N;;;;; +2ED1;CJK RADICAL LONG ONE;So;0;ON;;;;;N;;;;; +2ED2;CJK RADICAL LONG TWO;So;0;ON;;;;;N;;;;; +2ED3;CJK RADICAL C-SIMPLIFIED LONG;So;0;ON;;;;;N;;;;; +2ED4;CJK RADICAL C-SIMPLIFIED GATE;So;0;ON;;;;;N;;;;; +2ED5;CJK RADICAL MOUND ONE;So;0;ON;;;;;N;;;;; +2ED6;CJK RADICAL MOUND TWO;So;0;ON;;;;;N;;;;; +2ED7;CJK RADICAL RAIN;So;0;ON;;;;;N;;;;; +2ED8;CJK RADICAL BLUE;So;0;ON;;;;;N;;;;; +2ED9;CJK RADICAL C-SIMPLIFIED TANNED LEATHER;So;0;ON;;;;;N;;;;; +2EDA;CJK RADICAL C-SIMPLIFIED LEAF;So;0;ON;;;;;N;;;;; +2EDB;CJK RADICAL C-SIMPLIFIED WIND;So;0;ON;;;;;N;;;;; +2EDC;CJK RADICAL C-SIMPLIFIED FLY;So;0;ON;;;;;N;;;;; +2EDD;CJK RADICAL EAT ONE;So;0;ON;;;;;N;;;;; +2EDE;CJK RADICAL EAT TWO;So;0;ON;;;;;N;;;;; +2EDF;CJK RADICAL EAT THREE;So;0;ON;;;;;N;;;;; +2EE0;CJK RADICAL C-SIMPLIFIED EAT;So;0;ON;;;;;N;;;;; +2EE1;CJK RADICAL HEAD;So;0;ON;;;;;N;;;;; +2EE2;CJK RADICAL C-SIMPLIFIED HORSE;So;0;ON;;;;;N;;;;; +2EE3;CJK RADICAL BONE;So;0;ON;;;;;N;;;;; +2EE4;CJK RADICAL GHOST;So;0;ON;;;;;N;;;;; +2EE5;CJK RADICAL C-SIMPLIFIED FISH;So;0;ON;;;;;N;;;;; +2EE6;CJK RADICAL C-SIMPLIFIED BIRD;So;0;ON;;;;;N;;;;; +2EE7;CJK RADICAL C-SIMPLIFIED SALT;So;0;ON;;;;;N;;;;; +2EE8;CJK RADICAL SIMPLIFIED WHEAT;So;0;ON;;;;;N;;;;; +2EE9;CJK RADICAL SIMPLIFIED YELLOW;So;0;ON;;;;;N;;;;; +2EEA;CJK RADICAL C-SIMPLIFIED FROG;So;0;ON;;;;;N;;;;; +2EEB;CJK RADICAL J-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;; +2EEC;CJK RADICAL C-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;; +2EED;CJK RADICAL J-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;; +2EEE;CJK RADICAL C-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;; +2EEF;CJK RADICAL J-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;; +2EF0;CJK RADICAL C-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;; +2EF1;CJK RADICAL TURTLE;So;0;ON;;;;;N;;;;; +2EF2;CJK RADICAL J-SIMPLIFIED TURTLE;So;0;ON;;;;;N;;;;; +2EF3;CJK RADICAL C-SIMPLIFIED TURTLE;So;0;ON; 9F9F;;;;N;;;;; +2F00;KANGXI RADICAL ONE;So;0;ON; 4E00;;;;N;;;;; +2F01;KANGXI RADICAL LINE;So;0;ON; 4E28;;;;N;;;;; +2F02;KANGXI RADICAL DOT;So;0;ON; 4E36;;;;N;;;;; +2F03;KANGXI RADICAL SLASH;So;0;ON; 4E3F;;;;N;;;;; +2F04;KANGXI RADICAL SECOND;So;0;ON; 4E59;;;;N;;;;; +2F05;KANGXI RADICAL HOOK;So;0;ON; 4E85;;;;N;;;;; +2F06;KANGXI RADICAL TWO;So;0;ON; 4E8C;;;;N;;;;; +2F07;KANGXI RADICAL LID;So;0;ON; 4EA0;;;;N;;;;; +2F08;KANGXI RADICAL MAN;So;0;ON; 4EBA;;;;N;;;;; +2F09;KANGXI RADICAL LEGS;So;0;ON; 513F;;;;N;;;;; +2F0A;KANGXI RADICAL ENTER;So;0;ON; 5165;;;;N;;;;; +2F0B;KANGXI RADICAL EIGHT;So;0;ON; 516B;;;;N;;;;; +2F0C;KANGXI RADICAL DOWN BOX;So;0;ON; 5182;;;;N;;;;; +2F0D;KANGXI RADICAL COVER;So;0;ON; 5196;;;;N;;;;; +2F0E;KANGXI RADICAL ICE;So;0;ON; 51AB;;;;N;;;;; +2F0F;KANGXI RADICAL TABLE;So;0;ON; 51E0;;;;N;;;;; +2F10;KANGXI RADICAL OPEN BOX;So;0;ON; 51F5;;;;N;;;;; +2F11;KANGXI RADICAL KNIFE;So;0;ON; 5200;;;;N;;;;; +2F12;KANGXI RADICAL POWER;So;0;ON; 529B;;;;N;;;;; +2F13;KANGXI RADICAL WRAP;So;0;ON; 52F9;;;;N;;;;; +2F14;KANGXI RADICAL SPOON;So;0;ON; 5315;;;;N;;;;; +2F15;KANGXI RADICAL RIGHT OPEN BOX;So;0;ON; 531A;;;;N;;;;; +2F16;KANGXI RADICAL HIDING ENCLOSURE;So;0;ON; 5338;;;;N;;;;; +2F17;KANGXI RADICAL TEN;So;0;ON; 5341;;;;N;;;;; +2F18;KANGXI RADICAL DIVINATION;So;0;ON; 535C;;;;N;;;;; +2F19;KANGXI RADICAL SEAL;So;0;ON; 5369;;;;N;;;;; +2F1A;KANGXI RADICAL CLIFF;So;0;ON; 5382;;;;N;;;;; +2F1B;KANGXI RADICAL PRIVATE;So;0;ON; 53B6;;;;N;;;;; +2F1C;KANGXI RADICAL AGAIN;So;0;ON; 53C8;;;;N;;;;; +2F1D;KANGXI RADICAL MOUTH;So;0;ON; 53E3;;;;N;;;;; +2F1E;KANGXI RADICAL ENCLOSURE;So;0;ON; 56D7;;;;N;;;;; +2F1F;KANGXI RADICAL EARTH;So;0;ON; 571F;;;;N;;;;; +2F20;KANGXI RADICAL SCHOLAR;So;0;ON; 58EB;;;;N;;;;; +2F21;KANGXI RADICAL GO;So;0;ON; 5902;;;;N;;;;; +2F22;KANGXI RADICAL GO SLOWLY;So;0;ON; 590A;;;;N;;;;; +2F23;KANGXI RADICAL EVENING;So;0;ON; 5915;;;;N;;;;; +2F24;KANGXI RADICAL BIG;So;0;ON; 5927;;;;N;;;;; +2F25;KANGXI RADICAL WOMAN;So;0;ON; 5973;;;;N;;;;; +2F26;KANGXI RADICAL CHILD;So;0;ON; 5B50;;;;N;;;;; +2F27;KANGXI RADICAL ROOF;So;0;ON; 5B80;;;;N;;;;; +2F28;KANGXI RADICAL INCH;So;0;ON; 5BF8;;;;N;;;;; +2F29;KANGXI RADICAL SMALL;So;0;ON; 5C0F;;;;N;;;;; +2F2A;KANGXI RADICAL LAME;So;0;ON; 5C22;;;;N;;;;; +2F2B;KANGXI RADICAL CORPSE;So;0;ON; 5C38;;;;N;;;;; +2F2C;KANGXI RADICAL SPROUT;So;0;ON; 5C6E;;;;N;;;;; +2F2D;KANGXI RADICAL MOUNTAIN;So;0;ON; 5C71;;;;N;;;;; +2F2E;KANGXI RADICAL RIVER;So;0;ON; 5DDB;;;;N;;;;; +2F2F;KANGXI RADICAL WORK;So;0;ON; 5DE5;;;;N;;;;; +2F30;KANGXI RADICAL ONESELF;So;0;ON; 5DF1;;;;N;;;;; +2F31;KANGXI RADICAL TURBAN;So;0;ON; 5DFE;;;;N;;;;; +2F32;KANGXI RADICAL DRY;So;0;ON; 5E72;;;;N;;;;; +2F33;KANGXI RADICAL SHORT THREAD;So;0;ON; 5E7A;;;;N;;;;; +2F34;KANGXI RADICAL DOTTED CLIFF;So;0;ON; 5E7F;;;;N;;;;; +2F35;KANGXI RADICAL LONG STRIDE;So;0;ON; 5EF4;;;;N;;;;; +2F36;KANGXI RADICAL TWO HANDS;So;0;ON; 5EFE;;;;N;;;;; +2F37;KANGXI RADICAL SHOOT;So;0;ON; 5F0B;;;;N;;;;; +2F38;KANGXI RADICAL BOW;So;0;ON; 5F13;;;;N;;;;; +2F39;KANGXI RADICAL SNOUT;So;0;ON; 5F50;;;;N;;;;; +2F3A;KANGXI RADICAL BRISTLE;So;0;ON; 5F61;;;;N;;;;; +2F3B;KANGXI RADICAL STEP;So;0;ON; 5F73;;;;N;;;;; +2F3C;KANGXI RADICAL HEART;So;0;ON; 5FC3;;;;N;;;;; +2F3D;KANGXI RADICAL HALBERD;So;0;ON; 6208;;;;N;;;;; +2F3E;KANGXI RADICAL DOOR;So;0;ON; 6236;;;;N;;;;; +2F3F;KANGXI RADICAL HAND;So;0;ON; 624B;;;;N;;;;; +2F40;KANGXI RADICAL BRANCH;So;0;ON; 652F;;;;N;;;;; +2F41;KANGXI RADICAL RAP;So;0;ON; 6534;;;;N;;;;; +2F42;KANGXI RADICAL SCRIPT;So;0;ON; 6587;;;;N;;;;; +2F43;KANGXI RADICAL DIPPER;So;0;ON; 6597;;;;N;;;;; +2F44;KANGXI RADICAL AXE;So;0;ON; 65A4;;;;N;;;;; +2F45;KANGXI RADICAL SQUARE;So;0;ON; 65B9;;;;N;;;;; +2F46;KANGXI RADICAL NOT;So;0;ON; 65E0;;;;N;;;;; +2F47;KANGXI RADICAL SUN;So;0;ON; 65E5;;;;N;;;;; +2F48;KANGXI RADICAL SAY;So;0;ON; 66F0;;;;N;;;;; +2F49;KANGXI RADICAL MOON;So;0;ON; 6708;;;;N;;;;; +2F4A;KANGXI RADICAL TREE;So;0;ON; 6728;;;;N;;;;; +2F4B;KANGXI RADICAL LACK;So;0;ON; 6B20;;;;N;;;;; +2F4C;KANGXI RADICAL STOP;So;0;ON; 6B62;;;;N;;;;; +2F4D;KANGXI RADICAL DEATH;So;0;ON; 6B79;;;;N;;;;; +2F4E;KANGXI RADICAL WEAPON;So;0;ON; 6BB3;;;;N;;;;; +2F4F;KANGXI RADICAL DO NOT;So;0;ON; 6BCB;;;;N;;;;; +2F50;KANGXI RADICAL COMPARE;So;0;ON; 6BD4;;;;N;;;;; +2F51;KANGXI RADICAL FUR;So;0;ON; 6BDB;;;;N;;;;; +2F52;KANGXI RADICAL CLAN;So;0;ON; 6C0F;;;;N;;;;; +2F53;KANGXI RADICAL STEAM;So;0;ON; 6C14;;;;N;;;;; +2F54;KANGXI RADICAL WATER;So;0;ON; 6C34;;;;N;;;;; +2F55;KANGXI RADICAL FIRE;So;0;ON; 706B;;;;N;;;;; +2F56;KANGXI RADICAL CLAW;So;0;ON; 722A;;;;N;;;;; +2F57;KANGXI RADICAL FATHER;So;0;ON; 7236;;;;N;;;;; +2F58;KANGXI RADICAL DOUBLE X;So;0;ON; 723B;;;;N;;;;; +2F59;KANGXI RADICAL HALF TREE TRUNK;So;0;ON; 723F;;;;N;;;;; +2F5A;KANGXI RADICAL SLICE;So;0;ON; 7247;;;;N;;;;; +2F5B;KANGXI RADICAL FANG;So;0;ON; 7259;;;;N;;;;; +2F5C;KANGXI RADICAL COW;So;0;ON; 725B;;;;N;;;;; +2F5D;KANGXI RADICAL DOG;So;0;ON; 72AC;;;;N;;;;; +2F5E;KANGXI RADICAL PROFOUND;So;0;ON; 7384;;;;N;;;;; +2F5F;KANGXI RADICAL JADE;So;0;ON; 7389;;;;N;;;;; +2F60;KANGXI RADICAL MELON;So;0;ON; 74DC;;;;N;;;;; +2F61;KANGXI RADICAL TILE;So;0;ON; 74E6;;;;N;;;;; +2F62;KANGXI RADICAL SWEET;So;0;ON; 7518;;;;N;;;;; +2F63;KANGXI RADICAL LIFE;So;0;ON; 751F;;;;N;;;;; +2F64;KANGXI RADICAL USE;So;0;ON; 7528;;;;N;;;;; +2F65;KANGXI RADICAL FIELD;So;0;ON; 7530;;;;N;;;;; +2F66;KANGXI RADICAL BOLT OF CLOTH;So;0;ON; 758B;;;;N;;;;; +2F67;KANGXI RADICAL SICKNESS;So;0;ON; 7592;;;;N;;;;; +2F68;KANGXI RADICAL DOTTED TENT;So;0;ON; 7676;;;;N;;;;; +2F69;KANGXI RADICAL WHITE;So;0;ON; 767D;;;;N;;;;; +2F6A;KANGXI RADICAL SKIN;So;0;ON; 76AE;;;;N;;;;; +2F6B;KANGXI RADICAL DISH;So;0;ON; 76BF;;;;N;;;;; +2F6C;KANGXI RADICAL EYE;So;0;ON; 76EE;;;;N;;;;; +2F6D;KANGXI RADICAL SPEAR;So;0;ON; 77DB;;;;N;;;;; +2F6E;KANGXI RADICAL ARROW;So;0;ON; 77E2;;;;N;;;;; +2F6F;KANGXI RADICAL STONE;So;0;ON; 77F3;;;;N;;;;; +2F70;KANGXI RADICAL SPIRIT;So;0;ON; 793A;;;;N;;;;; +2F71;KANGXI RADICAL TRACK;So;0;ON; 79B8;;;;N;;;;; +2F72;KANGXI RADICAL GRAIN;So;0;ON; 79BE;;;;N;;;;; +2F73;KANGXI RADICAL CAVE;So;0;ON; 7A74;;;;N;;;;; +2F74;KANGXI RADICAL STAND;So;0;ON; 7ACB;;;;N;;;;; +2F75;KANGXI RADICAL BAMBOO;So;0;ON; 7AF9;;;;N;;;;; +2F76;KANGXI RADICAL RICE;So;0;ON; 7C73;;;;N;;;;; +2F77;KANGXI RADICAL SILK;So;0;ON; 7CF8;;;;N;;;;; +2F78;KANGXI RADICAL JAR;So;0;ON; 7F36;;;;N;;;;; +2F79;KANGXI RADICAL NET;So;0;ON; 7F51;;;;N;;;;; +2F7A;KANGXI RADICAL SHEEP;So;0;ON; 7F8A;;;;N;;;;; +2F7B;KANGXI RADICAL FEATHER;So;0;ON; 7FBD;;;;N;;;;; +2F7C;KANGXI RADICAL OLD;So;0;ON; 8001;;;;N;;;;; +2F7D;KANGXI RADICAL AND;So;0;ON; 800C;;;;N;;;;; +2F7E;KANGXI RADICAL PLOW;So;0;ON; 8012;;;;N;;;;; +2F7F;KANGXI RADICAL EAR;So;0;ON; 8033;;;;N;;;;; +2F80;KANGXI RADICAL BRUSH;So;0;ON; 807F;;;;N;;;;; +2F81;KANGXI RADICAL MEAT;So;0;ON; 8089;;;;N;;;;; +2F82;KANGXI RADICAL MINISTER;So;0;ON; 81E3;;;;N;;;;; +2F83;KANGXI RADICAL SELF;So;0;ON; 81EA;;;;N;;;;; +2F84;KANGXI RADICAL ARRIVE;So;0;ON; 81F3;;;;N;;;;; +2F85;KANGXI RADICAL MORTAR;So;0;ON; 81FC;;;;N;;;;; +2F86;KANGXI RADICAL TONGUE;So;0;ON; 820C;;;;N;;;;; +2F87;KANGXI RADICAL OPPOSE;So;0;ON; 821B;;;;N;;;;; +2F88;KANGXI RADICAL BOAT;So;0;ON; 821F;;;;N;;;;; +2F89;KANGXI RADICAL STOPPING;So;0;ON; 826E;;;;N;;;;; +2F8A;KANGXI RADICAL COLOR;So;0;ON; 8272;;;;N;;;;; +2F8B;KANGXI RADICAL GRASS;So;0;ON; 8278;;;;N;;;;; +2F8C;KANGXI RADICAL TIGER;So;0;ON; 864D;;;;N;;;;; +2F8D;KANGXI RADICAL INSECT;So;0;ON; 866B;;;;N;;;;; +2F8E;KANGXI RADICAL BLOOD;So;0;ON; 8840;;;;N;;;;; +2F8F;KANGXI RADICAL WALK ENCLOSURE;So;0;ON; 884C;;;;N;;;;; +2F90;KANGXI RADICAL CLOTHES;So;0;ON; 8863;;;;N;;;;; +2F91;KANGXI RADICAL WEST;So;0;ON; 897E;;;;N;;;;; +2F92;KANGXI RADICAL SEE;So;0;ON; 898B;;;;N;;;;; +2F93;KANGXI RADICAL HORN;So;0;ON; 89D2;;;;N;;;;; +2F94;KANGXI RADICAL SPEECH;So;0;ON; 8A00;;;;N;;;;; +2F95;KANGXI RADICAL VALLEY;So;0;ON; 8C37;;;;N;;;;; +2F96;KANGXI RADICAL BEAN;So;0;ON; 8C46;;;;N;;;;; +2F97;KANGXI RADICAL PIG;So;0;ON; 8C55;;;;N;;;;; +2F98;KANGXI RADICAL BADGER;So;0;ON; 8C78;;;;N;;;;; +2F99;KANGXI RADICAL SHELL;So;0;ON; 8C9D;;;;N;;;;; +2F9A;KANGXI RADICAL RED;So;0;ON; 8D64;;;;N;;;;; +2F9B;KANGXI RADICAL RUN;So;0;ON; 8D70;;;;N;;;;; +2F9C;KANGXI RADICAL FOOT;So;0;ON; 8DB3;;;;N;;;;; +2F9D;KANGXI RADICAL BODY;So;0;ON; 8EAB;;;;N;;;;; +2F9E;KANGXI RADICAL CART;So;0;ON; 8ECA;;;;N;;;;; +2F9F;KANGXI RADICAL BITTER;So;0;ON; 8F9B;;;;N;;;;; +2FA0;KANGXI RADICAL MORNING;So;0;ON; 8FB0;;;;N;;;;; +2FA1;KANGXI RADICAL WALK;So;0;ON; 8FB5;;;;N;;;;; +2FA2;KANGXI RADICAL CITY;So;0;ON; 9091;;;;N;;;;; +2FA3;KANGXI RADICAL WINE;So;0;ON; 9149;;;;N;;;;; +2FA4;KANGXI RADICAL DISTINGUISH;So;0;ON; 91C6;;;;N;;;;; +2FA5;KANGXI RADICAL VILLAGE;So;0;ON; 91CC;;;;N;;;;; +2FA6;KANGXI RADICAL GOLD;So;0;ON; 91D1;;;;N;;;;; +2FA7;KANGXI RADICAL LONG;So;0;ON; 9577;;;;N;;;;; +2FA8;KANGXI RADICAL GATE;So;0;ON; 9580;;;;N;;;;; +2FA9;KANGXI RADICAL MOUND;So;0;ON; 961C;;;;N;;;;; +2FAA;KANGXI RADICAL SLAVE;So;0;ON; 96B6;;;;N;;;;; +2FAB;KANGXI RADICAL SHORT TAILED BIRD;So;0;ON; 96B9;;;;N;;;;; +2FAC;KANGXI RADICAL RAIN;So;0;ON; 96E8;;;;N;;;;; +2FAD;KANGXI RADICAL BLUE;So;0;ON; 9751;;;;N;;;;; +2FAE;KANGXI RADICAL WRONG;So;0;ON; 975E;;;;N;;;;; +2FAF;KANGXI RADICAL FACE;So;0;ON; 9762;;;;N;;;;; +2FB0;KANGXI RADICAL LEATHER;So;0;ON; 9769;;;;N;;;;; +2FB1;KANGXI RADICAL TANNED LEATHER;So;0;ON; 97CB;;;;N;;;;; +2FB2;KANGXI RADICAL LEEK;So;0;ON; 97ED;;;;N;;;;; +2FB3;KANGXI RADICAL SOUND;So;0;ON; 97F3;;;;N;;;;; +2FB4;KANGXI RADICAL LEAF;So;0;ON; 9801;;;;N;;;;; +2FB5;KANGXI RADICAL WIND;So;0;ON; 98A8;;;;N;;;;; +2FB6;KANGXI RADICAL FLY;So;0;ON; 98DB;;;;N;;;;; +2FB7;KANGXI RADICAL EAT;So;0;ON; 98DF;;;;N;;;;; +2FB8;KANGXI RADICAL HEAD;So;0;ON; 9996;;;;N;;;;; +2FB9;KANGXI RADICAL FRAGRANT;So;0;ON; 9999;;;;N;;;;; +2FBA;KANGXI RADICAL HORSE;So;0;ON; 99AC;;;;N;;;;; +2FBB;KANGXI RADICAL BONE;So;0;ON; 9AA8;;;;N;;;;; +2FBC;KANGXI RADICAL TALL;So;0;ON; 9AD8;;;;N;;;;; +2FBD;KANGXI RADICAL HAIR;So;0;ON; 9ADF;;;;N;;;;; +2FBE;KANGXI RADICAL FIGHT;So;0;ON; 9B25;;;;N;;;;; +2FBF;KANGXI RADICAL SACRIFICIAL WINE;So;0;ON; 9B2F;;;;N;;;;; +2FC0;KANGXI RADICAL CAULDRON;So;0;ON; 9B32;;;;N;;;;; +2FC1;KANGXI RADICAL GHOST;So;0;ON; 9B3C;;;;N;;;;; +2FC2;KANGXI RADICAL FISH;So;0;ON; 9B5A;;;;N;;;;; +2FC3;KANGXI RADICAL BIRD;So;0;ON; 9CE5;;;;N;;;;; +2FC4;KANGXI RADICAL SALT;So;0;ON; 9E75;;;;N;;;;; +2FC5;KANGXI RADICAL DEER;So;0;ON; 9E7F;;;;N;;;;; +2FC6;KANGXI RADICAL WHEAT;So;0;ON; 9EA5;;;;N;;;;; +2FC7;KANGXI RADICAL HEMP;So;0;ON; 9EBB;;;;N;;;;; +2FC8;KANGXI RADICAL YELLOW;So;0;ON; 9EC3;;;;N;;;;; +2FC9;KANGXI RADICAL MILLET;So;0;ON; 9ECD;;;;N;;;;; +2FCA;KANGXI RADICAL BLACK;So;0;ON; 9ED1;;;;N;;;;; +2FCB;KANGXI RADICAL EMBROIDERY;So;0;ON; 9EF9;;;;N;;;;; +2FCC;KANGXI RADICAL FROG;So;0;ON; 9EFD;;;;N;;;;; +2FCD;KANGXI RADICAL TRIPOD;So;0;ON; 9F0E;;;;N;;;;; +2FCE;KANGXI RADICAL DRUM;So;0;ON; 9F13;;;;N;;;;; +2FCF;KANGXI RADICAL RAT;So;0;ON; 9F20;;;;N;;;;; +2FD0;KANGXI RADICAL NOSE;So;0;ON; 9F3B;;;;N;;;;; +2FD1;KANGXI RADICAL EVEN;So;0;ON; 9F4A;;;;N;;;;; +2FD2;KANGXI RADICAL TOOTH;So;0;ON; 9F52;;;;N;;;;; +2FD3;KANGXI RADICAL DRAGON;So;0;ON; 9F8D;;;;N;;;;; +2FD4;KANGXI RADICAL TURTLE;So;0;ON; 9F9C;;;;N;;;;; +2FD5;KANGXI RADICAL FLUTE;So;0;ON; 9FA0;;;;N;;;;; +2FF0;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT;So;0;ON;;;;;N;;;;; +2FF1;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW;So;0;ON;;;;;N;;;;; +2FF2;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT;So;0;ON;;;;;N;;;;; +2FF3;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW;So;0;ON;;;;;N;;;;; +2FF4;IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND;So;0;ON;;;;;N;;;;; +2FF5;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE;So;0;ON;;;;;N;;;;; +2FF6;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW;So;0;ON;;;;;N;;;;; +2FF7;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT;So;0;ON;;;;;N;;;;; +2FF8;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT;So;0;ON;;;;;N;;;;; +2FF9;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT;So;0;ON;;;;;N;;;;; +2FFA;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT;So;0;ON;;;;;N;;;;; +2FFB;IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID;So;0;ON;;;;;N;;;;; +3000;IDEOGRAPHIC SPACE;Zs;0;WS; 0020;;;;N;;;;; +3001;IDEOGRAPHIC COMMA;Po;0;ON;;;;;N;;;;; +3002;IDEOGRAPHIC FULL STOP;Po;0;ON;;;;;N;IDEOGRAPHIC PERIOD;;;; +3003;DITTO MARK;Po;0;ON;;;;;N;;;;; +3004;JAPANESE INDUSTRIAL STANDARD SYMBOL;So;0;ON;;;;;N;;;;; +3005;IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;; +3006;IDEOGRAPHIC CLOSING MARK;Lo;0;L;;;;;N;;;;; +3007;IDEOGRAPHIC NUMBER ZERO;Nl;0;L;;;;0;N;;;;; +3008;LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING ANGLE BRACKET;;;; +3009;RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING ANGLE BRACKET;;;; +300A;LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING DOUBLE ANGLE BRACKET;;;; +300B;RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING DOUBLE ANGLE BRACKET;;;; +300C;LEFT CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING CORNER BRACKET;;;; +300D;RIGHT CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING CORNER BRACKET;;;; +300E;LEFT WHITE CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE CORNER BRACKET;;;; +300F;RIGHT WHITE CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE CORNER BRACKET;;;; +3010;LEFT BLACK LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING BLACK LENTICULAR BRACKET;;;; +3011;RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING BLACK LENTICULAR BRACKET;;;; +3012;POSTAL MARK;So;0;ON;;;;;N;;;;; +3013;GETA MARK;So;0;ON;;;;;N;;;;; +3014;LEFT TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING TORTOISE SHELL BRACKET;;;; +3015;RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING TORTOISE SHELL BRACKET;;;; +3016;LEFT WHITE LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE LENTICULAR BRACKET;;;; +3017;RIGHT WHITE LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE LENTICULAR BRACKET;;;; +3018;LEFT WHITE TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE TORTOISE SHELL BRACKET;;;; +3019;RIGHT WHITE TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE TORTOISE SHELL BRACKET;;;; +301A;LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE SQUARE BRACKET;;;; +301B;RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE SQUARE BRACKET;;;; +301C;WAVE DASH;Pd;0;ON;;;;;N;;;;; +301D;REVERSED DOUBLE PRIME QUOTATION MARK;Ps;0;ON;;;;;N;;;;; +301E;DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;; +301F;LOW DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;; +3020;POSTAL MARK FACE;So;0;ON;;;;;N;;;;; +3021;HANGZHOU NUMERAL ONE;Nl;0;L;;;;1;N;;;;; +3022;HANGZHOU NUMERAL TWO;Nl;0;L;;;;2;N;;;;; +3023;HANGZHOU NUMERAL THREE;Nl;0;L;;;;3;N;;;;; +3024;HANGZHOU NUMERAL FOUR;Nl;0;L;;;;4;N;;;;; +3025;HANGZHOU NUMERAL FIVE;Nl;0;L;;;;5;N;;;;; +3026;HANGZHOU NUMERAL SIX;Nl;0;L;;;;6;N;;;;; +3027;HANGZHOU NUMERAL SEVEN;Nl;0;L;;;;7;N;;;;; +3028;HANGZHOU NUMERAL EIGHT;Nl;0;L;;;;8;N;;;;; +3029;HANGZHOU NUMERAL NINE;Nl;0;L;;;;9;N;;;;; +302A;IDEOGRAPHIC LEVEL TONE MARK;Mn;218;NSM;;;;;N;;;;; +302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;NSM;;;;;N;;;;; +302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;NSM;;;;;N;;;;; +302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;NSM;;;;;N;;;;; +302E;HANGUL SINGLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;; +302F;HANGUL DOUBLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;; +3030;WAVY DASH;Pd;0;ON;;;;;N;;;;; +3031;VERTICAL KANA REPEAT MARK;Lm;0;L;;;;;N;;;;; +3032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;L;;;;;N;;;;; +3033;VERTICAL KANA REPEAT MARK UPPER HALF;Lm;0;L;;;;;N;;;;; +3034;VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF;Lm;0;L;;;;;N;;;;; +3035;VERTICAL KANA REPEAT MARK LOWER HALF;Lm;0;L;;;;;N;;;;; +3036;CIRCLED POSTAL MARK;So;0;ON; 3012;;;;N;;;;; +3037;IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL;So;0;ON;;;;;N;;;;; +3038;HANGZHOU NUMERAL TEN;Nl;0;L; 5341;;;10;N;;;;; +3039;HANGZHOU NUMERAL TWENTY;Nl;0;L; 5344;;;20;N;;;;; +303A;HANGZHOU NUMERAL THIRTY;Nl;0;L; 5345;;;30;N;;;;; +303B;VERTICAL IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;; +303C;MASU MARK;Lo;0;L;;;;;N;;;;; +303D;PART ALTERNATION MARK;Po;0;ON;;;;;N;;;;; +303E;IDEOGRAPHIC VARIATION INDICATOR;So;0;ON;;;;;N;;;;; +303F;IDEOGRAPHIC HALF FILL SPACE;So;0;ON;;;;;N;;;;; +3041;HIRAGANA LETTER SMALL A;Lo;0;L;;;;;N;;;;; +3042;HIRAGANA LETTER A;Lo;0;L;;;;;N;;;;; +3043;HIRAGANA LETTER SMALL I;Lo;0;L;;;;;N;;;;; +3044;HIRAGANA LETTER I;Lo;0;L;;;;;N;;;;; +3045;HIRAGANA LETTER SMALL U;Lo;0;L;;;;;N;;;;; +3046;HIRAGANA LETTER U;Lo;0;L;;;;;N;;;;; +3047;HIRAGANA LETTER SMALL E;Lo;0;L;;;;;N;;;;; +3048;HIRAGANA LETTER E;Lo;0;L;;;;;N;;;;; +3049;HIRAGANA LETTER SMALL O;Lo;0;L;;;;;N;;;;; +304A;HIRAGANA LETTER O;Lo;0;L;;;;;N;;;;; +304B;HIRAGANA LETTER KA;Lo;0;L;;;;;N;;;;; +304C;HIRAGANA LETTER GA;Lo;0;L;304B 3099;;;;N;;;;; +304D;HIRAGANA LETTER KI;Lo;0;L;;;;;N;;;;; +304E;HIRAGANA LETTER GI;Lo;0;L;304D 3099;;;;N;;;;; +304F;HIRAGANA LETTER KU;Lo;0;L;;;;;N;;;;; +3050;HIRAGANA LETTER GU;Lo;0;L;304F 3099;;;;N;;;;; +3051;HIRAGANA LETTER KE;Lo;0;L;;;;;N;;;;; +3052;HIRAGANA LETTER GE;Lo;0;L;3051 3099;;;;N;;;;; +3053;HIRAGANA LETTER KO;Lo;0;L;;;;;N;;;;; +3054;HIRAGANA LETTER GO;Lo;0;L;3053 3099;;;;N;;;;; +3055;HIRAGANA LETTER SA;Lo;0;L;;;;;N;;;;; +3056;HIRAGANA LETTER ZA;Lo;0;L;3055 3099;;;;N;;;;; +3057;HIRAGANA LETTER SI;Lo;0;L;;;;;N;;;;; +3058;HIRAGANA LETTER ZI;Lo;0;L;3057 3099;;;;N;;;;; +3059;HIRAGANA LETTER SU;Lo;0;L;;;;;N;;;;; +305A;HIRAGANA LETTER ZU;Lo;0;L;3059 3099;;;;N;;;;; +305B;HIRAGANA LETTER SE;Lo;0;L;;;;;N;;;;; +305C;HIRAGANA LETTER ZE;Lo;0;L;305B 3099;;;;N;;;;; +305D;HIRAGANA LETTER SO;Lo;0;L;;;;;N;;;;; +305E;HIRAGANA LETTER ZO;Lo;0;L;305D 3099;;;;N;;;;; +305F;HIRAGANA LETTER TA;Lo;0;L;;;;;N;;;;; +3060;HIRAGANA LETTER DA;Lo;0;L;305F 3099;;;;N;;;;; +3061;HIRAGANA LETTER TI;Lo;0;L;;;;;N;;;;; +3062;HIRAGANA LETTER DI;Lo;0;L;3061 3099;;;;N;;;;; +3063;HIRAGANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;; +3064;HIRAGANA LETTER TU;Lo;0;L;;;;;N;;;;; +3065;HIRAGANA LETTER DU;Lo;0;L;3064 3099;;;;N;;;;; +3066;HIRAGANA LETTER TE;Lo;0;L;;;;;N;;;;; +3067;HIRAGANA LETTER DE;Lo;0;L;3066 3099;;;;N;;;;; +3068;HIRAGANA LETTER TO;Lo;0;L;;;;;N;;;;; +3069;HIRAGANA LETTER DO;Lo;0;L;3068 3099;;;;N;;;;; +306A;HIRAGANA LETTER NA;Lo;0;L;;;;;N;;;;; +306B;HIRAGANA LETTER NI;Lo;0;L;;;;;N;;;;; +306C;HIRAGANA LETTER NU;Lo;0;L;;;;;N;;;;; +306D;HIRAGANA LETTER NE;Lo;0;L;;;;;N;;;;; +306E;HIRAGANA LETTER NO;Lo;0;L;;;;;N;;;;; +306F;HIRAGANA LETTER HA;Lo;0;L;;;;;N;;;;; +3070;HIRAGANA LETTER BA;Lo;0;L;306F 3099;;;;N;;;;; +3071;HIRAGANA LETTER PA;Lo;0;L;306F 309A;;;;N;;;;; +3072;HIRAGANA LETTER HI;Lo;0;L;;;;;N;;;;; +3073;HIRAGANA LETTER BI;Lo;0;L;3072 3099;;;;N;;;;; +3074;HIRAGANA LETTER PI;Lo;0;L;3072 309A;;;;N;;;;; +3075;HIRAGANA LETTER HU;Lo;0;L;;;;;N;;;;; +3076;HIRAGANA LETTER BU;Lo;0;L;3075 3099;;;;N;;;;; +3077;HIRAGANA LETTER PU;Lo;0;L;3075 309A;;;;N;;;;; +3078;HIRAGANA LETTER HE;Lo;0;L;;;;;N;;;;; +3079;HIRAGANA LETTER BE;Lo;0;L;3078 3099;;;;N;;;;; +307A;HIRAGANA LETTER PE;Lo;0;L;3078 309A;;;;N;;;;; +307B;HIRAGANA LETTER HO;Lo;0;L;;;;;N;;;;; +307C;HIRAGANA LETTER BO;Lo;0;L;307B 3099;;;;N;;;;; +307D;HIRAGANA LETTER PO;Lo;0;L;307B 309A;;;;N;;;;; +307E;HIRAGANA LETTER MA;Lo;0;L;;;;;N;;;;; +307F;HIRAGANA LETTER MI;Lo;0;L;;;;;N;;;;; +3080;HIRAGANA LETTER MU;Lo;0;L;;;;;N;;;;; +3081;HIRAGANA LETTER ME;Lo;0;L;;;;;N;;;;; +3082;HIRAGANA LETTER MO;Lo;0;L;;;;;N;;;;; +3083;HIRAGANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;; +3084;HIRAGANA LETTER YA;Lo;0;L;;;;;N;;;;; +3085;HIRAGANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;; +3086;HIRAGANA LETTER YU;Lo;0;L;;;;;N;;;;; +3087;HIRAGANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;; +3088;HIRAGANA LETTER YO;Lo;0;L;;;;;N;;;;; +3089;HIRAGANA LETTER RA;Lo;0;L;;;;;N;;;;; +308A;HIRAGANA LETTER RI;Lo;0;L;;;;;N;;;;; +308B;HIRAGANA LETTER RU;Lo;0;L;;;;;N;;;;; +308C;HIRAGANA LETTER RE;Lo;0;L;;;;;N;;;;; +308D;HIRAGANA LETTER RO;Lo;0;L;;;;;N;;;;; +308E;HIRAGANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;; +308F;HIRAGANA LETTER WA;Lo;0;L;;;;;N;;;;; +3090;HIRAGANA LETTER WI;Lo;0;L;;;;;N;;;;; +3091;HIRAGANA LETTER WE;Lo;0;L;;;;;N;;;;; +3092;HIRAGANA LETTER WO;Lo;0;L;;;;;N;;;;; +3093;HIRAGANA LETTER N;Lo;0;L;;;;;N;;;;; +3094;HIRAGANA LETTER VU;Lo;0;L;3046 3099;;;;N;;;;; +3095;HIRAGANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;; +3096;HIRAGANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;; +3099;COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA VOICED SOUND MARK;;;; +309A;COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;;;; +309B;KATAKANA-HIRAGANA VOICED SOUND MARK;Sk;0;ON; 0020 3099;;;;N;;;;; +309C;KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Sk;0;ON; 0020 309A;;;;N;;;;; +309D;HIRAGANA ITERATION MARK;Lm;0;L;;;;;N;;;;; +309E;HIRAGANA VOICED ITERATION MARK;Lm;0;L;309D 3099;;;;N;;;;; +309F;HIRAGANA DIGRAPH YORI;Lo;0;L; 3088 308A;;;;N;;;;; +30A0;KATAKANA-HIRAGANA DOUBLE HYPHEN;Pd;0;ON;;;;;N;;;;; +30A1;KATAKANA LETTER SMALL A;Lo;0;L;;;;;N;;;;; +30A2;KATAKANA LETTER A;Lo;0;L;;;;;N;;;;; +30A3;KATAKANA LETTER SMALL I;Lo;0;L;;;;;N;;;;; +30A4;KATAKANA LETTER I;Lo;0;L;;;;;N;;;;; +30A5;KATAKANA LETTER SMALL U;Lo;0;L;;;;;N;;;;; +30A6;KATAKANA LETTER U;Lo;0;L;;;;;N;;;;; +30A7;KATAKANA LETTER SMALL E;Lo;0;L;;;;;N;;;;; +30A8;KATAKANA LETTER E;Lo;0;L;;;;;N;;;;; +30A9;KATAKANA LETTER SMALL O;Lo;0;L;;;;;N;;;;; +30AA;KATAKANA LETTER O;Lo;0;L;;;;;N;;;;; +30AB;KATAKANA LETTER KA;Lo;0;L;;;;;N;;;;; +30AC;KATAKANA LETTER GA;Lo;0;L;30AB 3099;;;;N;;;;; +30AD;KATAKANA LETTER KI;Lo;0;L;;;;;N;;;;; +30AE;KATAKANA LETTER GI;Lo;0;L;30AD 3099;;;;N;;;;; +30AF;KATAKANA LETTER KU;Lo;0;L;;;;;N;;;;; +30B0;KATAKANA LETTER GU;Lo;0;L;30AF 3099;;;;N;;;;; +30B1;KATAKANA LETTER KE;Lo;0;L;;;;;N;;;;; +30B2;KATAKANA LETTER GE;Lo;0;L;30B1 3099;;;;N;;;;; +30B3;KATAKANA LETTER KO;Lo;0;L;;;;;N;;;;; +30B4;KATAKANA LETTER GO;Lo;0;L;30B3 3099;;;;N;;;;; +30B5;KATAKANA LETTER SA;Lo;0;L;;;;;N;;;;; +30B6;KATAKANA LETTER ZA;Lo;0;L;30B5 3099;;;;N;;;;; +30B7;KATAKANA LETTER SI;Lo;0;L;;;;;N;;;;; +30B8;KATAKANA LETTER ZI;Lo;0;L;30B7 3099;;;;N;;;;; +30B9;KATAKANA LETTER SU;Lo;0;L;;;;;N;;;;; +30BA;KATAKANA LETTER ZU;Lo;0;L;30B9 3099;;;;N;;;;; +30BB;KATAKANA LETTER SE;Lo;0;L;;;;;N;;;;; +30BC;KATAKANA LETTER ZE;Lo;0;L;30BB 3099;;;;N;;;;; +30BD;KATAKANA LETTER SO;Lo;0;L;;;;;N;;;;; +30BE;KATAKANA LETTER ZO;Lo;0;L;30BD 3099;;;;N;;;;; +30BF;KATAKANA LETTER TA;Lo;0;L;;;;;N;;;;; +30C0;KATAKANA LETTER DA;Lo;0;L;30BF 3099;;;;N;;;;; +30C1;KATAKANA LETTER TI;Lo;0;L;;;;;N;;;;; +30C2;KATAKANA LETTER DI;Lo;0;L;30C1 3099;;;;N;;;;; +30C3;KATAKANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;; +30C4;KATAKANA LETTER TU;Lo;0;L;;;;;N;;;;; +30C5;KATAKANA LETTER DU;Lo;0;L;30C4 3099;;;;N;;;;; +30C6;KATAKANA LETTER TE;Lo;0;L;;;;;N;;;;; +30C7;KATAKANA LETTER DE;Lo;0;L;30C6 3099;;;;N;;;;; +30C8;KATAKANA LETTER TO;Lo;0;L;;;;;N;;;;; +30C9;KATAKANA LETTER DO;Lo;0;L;30C8 3099;;;;N;;;;; +30CA;KATAKANA LETTER NA;Lo;0;L;;;;;N;;;;; +30CB;KATAKANA LETTER NI;Lo;0;L;;;;;N;;;;; +30CC;KATAKANA LETTER NU;Lo;0;L;;;;;N;;;;; +30CD;KATAKANA LETTER NE;Lo;0;L;;;;;N;;;;; +30CE;KATAKANA LETTER NO;Lo;0;L;;;;;N;;;;; +30CF;KATAKANA LETTER HA;Lo;0;L;;;;;N;;;;; +30D0;KATAKANA LETTER BA;Lo;0;L;30CF 3099;;;;N;;;;; +30D1;KATAKANA LETTER PA;Lo;0;L;30CF 309A;;;;N;;;;; +30D2;KATAKANA LETTER HI;Lo;0;L;;;;;N;;;;; +30D3;KATAKANA LETTER BI;Lo;0;L;30D2 3099;;;;N;;;;; +30D4;KATAKANA LETTER PI;Lo;0;L;30D2 309A;;;;N;;;;; +30D5;KATAKANA LETTER HU;Lo;0;L;;;;;N;;;;; +30D6;KATAKANA LETTER BU;Lo;0;L;30D5 3099;;;;N;;;;; +30D7;KATAKANA LETTER PU;Lo;0;L;30D5 309A;;;;N;;;;; +30D8;KATAKANA LETTER HE;Lo;0;L;;;;;N;;;;; +30D9;KATAKANA LETTER BE;Lo;0;L;30D8 3099;;;;N;;;;; +30DA;KATAKANA LETTER PE;Lo;0;L;30D8 309A;;;;N;;;;; +30DB;KATAKANA LETTER HO;Lo;0;L;;;;;N;;;;; +30DC;KATAKANA LETTER BO;Lo;0;L;30DB 3099;;;;N;;;;; +30DD;KATAKANA LETTER PO;Lo;0;L;30DB 309A;;;;N;;;;; +30DE;KATAKANA LETTER MA;Lo;0;L;;;;;N;;;;; +30DF;KATAKANA LETTER MI;Lo;0;L;;;;;N;;;;; +30E0;KATAKANA LETTER MU;Lo;0;L;;;;;N;;;;; +30E1;KATAKANA LETTER ME;Lo;0;L;;;;;N;;;;; +30E2;KATAKANA LETTER MO;Lo;0;L;;;;;N;;;;; +30E3;KATAKANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;; +30E4;KATAKANA LETTER YA;Lo;0;L;;;;;N;;;;; +30E5;KATAKANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;; +30E6;KATAKANA LETTER YU;Lo;0;L;;;;;N;;;;; +30E7;KATAKANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;; +30E8;KATAKANA LETTER YO;Lo;0;L;;;;;N;;;;; +30E9;KATAKANA LETTER RA;Lo;0;L;;;;;N;;;;; +30EA;KATAKANA LETTER RI;Lo;0;L;;;;;N;;;;; +30EB;KATAKANA LETTER RU;Lo;0;L;;;;;N;;;;; +30EC;KATAKANA LETTER RE;Lo;0;L;;;;;N;;;;; +30ED;KATAKANA LETTER RO;Lo;0;L;;;;;N;;;;; +30EE;KATAKANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;; +30EF;KATAKANA LETTER WA;Lo;0;L;;;;;N;;;;; +30F0;KATAKANA LETTER WI;Lo;0;L;;;;;N;;;;; +30F1;KATAKANA LETTER WE;Lo;0;L;;;;;N;;;;; +30F2;KATAKANA LETTER WO;Lo;0;L;;;;;N;;;;; +30F3;KATAKANA LETTER N;Lo;0;L;;;;;N;;;;; +30F4;KATAKANA LETTER VU;Lo;0;L;30A6 3099;;;;N;;;;; +30F5;KATAKANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;; +30F6;KATAKANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;; +30F7;KATAKANA LETTER VA;Lo;0;L;30EF 3099;;;;N;;;;; +30F8;KATAKANA LETTER VI;Lo;0;L;30F0 3099;;;;N;;;;; +30F9;KATAKANA LETTER VE;Lo;0;L;30F1 3099;;;;N;;;;; +30FA;KATAKANA LETTER VO;Lo;0;L;30F2 3099;;;;N;;;;; +30FB;KATAKANA MIDDLE DOT;Po;0;ON;;;;;N;;;;; +30FC;KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L;;;;;N;;;;; +30FD;KATAKANA ITERATION MARK;Lm;0;L;;;;;N;;;;; +30FE;KATAKANA VOICED ITERATION MARK;Lm;0;L;30FD 3099;;;;N;;;;; +30FF;KATAKANA DIGRAPH KOTO;Lo;0;L; 30B3 30C8;;;;N;;;;; +3105;BOPOMOFO LETTER B;Lo;0;L;;;;;N;;;;; +3106;BOPOMOFO LETTER P;Lo;0;L;;;;;N;;;;; +3107;BOPOMOFO LETTER M;Lo;0;L;;;;;N;;;;; +3108;BOPOMOFO LETTER F;Lo;0;L;;;;;N;;;;; +3109;BOPOMOFO LETTER D;Lo;0;L;;;;;N;;;;; +310A;BOPOMOFO LETTER T;Lo;0;L;;;;;N;;;;; +310B;BOPOMOFO LETTER N;Lo;0;L;;;;;N;;;;; +310C;BOPOMOFO LETTER L;Lo;0;L;;;;;N;;;;; +310D;BOPOMOFO LETTER G;Lo;0;L;;;;;N;;;;; +310E;BOPOMOFO LETTER K;Lo;0;L;;;;;N;;;;; +310F;BOPOMOFO LETTER H;Lo;0;L;;;;;N;;;;; +3110;BOPOMOFO LETTER J;Lo;0;L;;;;;N;;;;; +3111;BOPOMOFO LETTER Q;Lo;0;L;;;;;N;;;;; +3112;BOPOMOFO LETTER X;Lo;0;L;;;;;N;;;;; +3113;BOPOMOFO LETTER ZH;Lo;0;L;;;;;N;;;;; +3114;BOPOMOFO LETTER CH;Lo;0;L;;;;;N;;;;; +3115;BOPOMOFO LETTER SH;Lo;0;L;;;;;N;;;;; +3116;BOPOMOFO LETTER R;Lo;0;L;;;;;N;;;;; +3117;BOPOMOFO LETTER Z;Lo;0;L;;;;;N;;;;; +3118;BOPOMOFO LETTER C;Lo;0;L;;;;;N;;;;; +3119;BOPOMOFO LETTER S;Lo;0;L;;;;;N;;;;; +311A;BOPOMOFO LETTER A;Lo;0;L;;;;;N;;;;; +311B;BOPOMOFO LETTER O;Lo;0;L;;;;;N;;;;; +311C;BOPOMOFO LETTER E;Lo;0;L;;;;;N;;;;; +311D;BOPOMOFO LETTER EH;Lo;0;L;;;;;N;;;;; +311E;BOPOMOFO LETTER AI;Lo;0;L;;;;;N;;;;; +311F;BOPOMOFO LETTER EI;Lo;0;L;;;;;N;;;;; +3120;BOPOMOFO LETTER AU;Lo;0;L;;;;;N;;;;; +3121;BOPOMOFO LETTER OU;Lo;0;L;;;;;N;;;;; +3122;BOPOMOFO LETTER AN;Lo;0;L;;;;;N;;;;; +3123;BOPOMOFO LETTER EN;Lo;0;L;;;;;N;;;;; +3124;BOPOMOFO LETTER ANG;Lo;0;L;;;;;N;;;;; +3125;BOPOMOFO LETTER ENG;Lo;0;L;;;;;N;;;;; +3126;BOPOMOFO LETTER ER;Lo;0;L;;;;;N;;;;; +3127;BOPOMOFO LETTER I;Lo;0;L;;;;;N;;;;; +3128;BOPOMOFO LETTER U;Lo;0;L;;;;;N;;;;; +3129;BOPOMOFO LETTER IU;Lo;0;L;;;;;N;;;;; +312A;BOPOMOFO LETTER V;Lo;0;L;;;;;N;;;;; +312B;BOPOMOFO LETTER NG;Lo;0;L;;;;;N;;;;; +312C;BOPOMOFO LETTER GN;Lo;0;L;;;;;N;;;;; +312D;BOPOMOFO LETTER IH;Lo;0;L;;;;;N;;;;; +3131;HANGUL LETTER KIYEOK;Lo;0;L; 1100;;;;N;HANGUL LETTER GIYEOG;;;; +3132;HANGUL LETTER SSANGKIYEOK;Lo;0;L; 1101;;;;N;HANGUL LETTER SSANG GIYEOG;;;; +3133;HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;; +3134;HANGUL LETTER NIEUN;Lo;0;L; 1102;;;;N;;;;; +3135;HANGUL LETTER NIEUN-CIEUC;Lo;0;L; 11AC;;;;N;HANGUL LETTER NIEUN JIEUJ;;;; +3136;HANGUL LETTER NIEUN-HIEUH;Lo;0;L; 11AD;;;;N;HANGUL LETTER NIEUN HIEUH;;;; +3137;HANGUL LETTER TIKEUT;Lo;0;L; 1103;;;;N;HANGUL LETTER DIGEUD;;;; +3138;HANGUL LETTER SSANGTIKEUT;Lo;0;L; 1104;;;;N;HANGUL LETTER SSANG DIGEUD;;;; +3139;HANGUL LETTER RIEUL;Lo;0;L; 1105;;;;N;HANGUL LETTER LIEUL;;;; +313A;HANGUL LETTER RIEUL-KIYEOK;Lo;0;L; 11B0;;;;N;HANGUL LETTER LIEUL GIYEOG;;;; +313B;HANGUL LETTER RIEUL-MIEUM;Lo;0;L; 11B1;;;;N;HANGUL LETTER LIEUL MIEUM;;;; +313C;HANGUL LETTER RIEUL-PIEUP;Lo;0;L; 11B2;;;;N;HANGUL LETTER LIEUL BIEUB;;;; +313D;HANGUL LETTER RIEUL-SIOS;Lo;0;L; 11B3;;;;N;HANGUL LETTER LIEUL SIOS;;;; +313E;HANGUL LETTER RIEUL-THIEUTH;Lo;0;L; 11B4;;;;N;HANGUL LETTER LIEUL TIEUT;;;; +313F;HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L; 11B5;;;;N;HANGUL LETTER LIEUL PIEUP;;;; +3140;HANGUL LETTER RIEUL-HIEUH;Lo;0;L; 111A;;;;N;HANGUL LETTER LIEUL HIEUH;;;; +3141;HANGUL LETTER MIEUM;Lo;0;L; 1106;;;;N;;;;; +3142;HANGUL LETTER PIEUP;Lo;0;L; 1107;;;;N;HANGUL LETTER BIEUB;;;; +3143;HANGUL LETTER SSANGPIEUP;Lo;0;L; 1108;;;;N;HANGUL LETTER SSANG BIEUB;;;; +3144;HANGUL LETTER PIEUP-SIOS;Lo;0;L; 1121;;;;N;HANGUL LETTER BIEUB SIOS;;;; +3145;HANGUL LETTER SIOS;Lo;0;L; 1109;;;;N;;;;; +3146;HANGUL LETTER SSANGSIOS;Lo;0;L; 110A;;;;N;HANGUL LETTER SSANG SIOS;;;; +3147;HANGUL LETTER IEUNG;Lo;0;L; 110B;;;;N;;;;; +3148;HANGUL LETTER CIEUC;Lo;0;L; 110C;;;;N;HANGUL LETTER JIEUJ;;;; +3149;HANGUL LETTER SSANGCIEUC;Lo;0;L; 110D;;;;N;HANGUL LETTER SSANG JIEUJ;;;; +314A;HANGUL LETTER CHIEUCH;Lo;0;L; 110E;;;;N;HANGUL LETTER CIEUC;;;; +314B;HANGUL LETTER KHIEUKH;Lo;0;L; 110F;;;;N;HANGUL LETTER KIYEOK;;;; +314C;HANGUL LETTER THIEUTH;Lo;0;L; 1110;;;;N;HANGUL LETTER TIEUT;;;; +314D;HANGUL LETTER PHIEUPH;Lo;0;L; 1111;;;;N;HANGUL LETTER PIEUP;;;; +314E;HANGUL LETTER HIEUH;Lo;0;L; 1112;;;;N;;;;; +314F;HANGUL LETTER A;Lo;0;L; 1161;;;;N;;;;; +3150;HANGUL LETTER AE;Lo;0;L; 1162;;;;N;;;;; +3151;HANGUL LETTER YA;Lo;0;L; 1163;;;;N;;;;; +3152;HANGUL LETTER YAE;Lo;0;L; 1164;;;;N;;;;; +3153;HANGUL LETTER EO;Lo;0;L; 1165;;;;N;;;;; +3154;HANGUL LETTER E;Lo;0;L; 1166;;;;N;;;;; +3155;HANGUL LETTER YEO;Lo;0;L; 1167;;;;N;;;;; +3156;HANGUL LETTER YE;Lo;0;L; 1168;;;;N;;;;; +3157;HANGUL LETTER O;Lo;0;L; 1169;;;;N;;;;; +3158;HANGUL LETTER WA;Lo;0;L; 116A;;;;N;;;;; +3159;HANGUL LETTER WAE;Lo;0;L; 116B;;;;N;;;;; +315A;HANGUL LETTER OE;Lo;0;L; 116C;;;;N;;;;; +315B;HANGUL LETTER YO;Lo;0;L; 116D;;;;N;;;;; +315C;HANGUL LETTER U;Lo;0;L; 116E;;;;N;;;;; +315D;HANGUL LETTER WEO;Lo;0;L; 116F;;;;N;;;;; +315E;HANGUL LETTER WE;Lo;0;L; 1170;;;;N;;;;; +315F;HANGUL LETTER WI;Lo;0;L; 1171;;;;N;;;;; +3160;HANGUL LETTER YU;Lo;0;L; 1172;;;;N;;;;; +3161;HANGUL LETTER EU;Lo;0;L; 1173;;;;N;;;;; +3162;HANGUL LETTER YI;Lo;0;L; 1174;;;;N;;;;; +3163;HANGUL LETTER I;Lo;0;L; 1175;;;;N;;;;; +3164;HANGUL FILLER;Lo;0;L; 1160;;;;N;HANGUL CAE OM;;;; +3165;HANGUL LETTER SSANGNIEUN;Lo;0;L; 1114;;;;N;HANGUL LETTER SSANG NIEUN;;;; +3166;HANGUL LETTER NIEUN-TIKEUT;Lo;0;L; 1115;;;;N;HANGUL LETTER NIEUN DIGEUD;;;; +3167;HANGUL LETTER NIEUN-SIOS;Lo;0;L; 11C7;;;;N;HANGUL LETTER NIEUN SIOS;;;; +3168;HANGUL LETTER NIEUN-PANSIOS;Lo;0;L; 11C8;;;;N;HANGUL LETTER NIEUN BAN CHI EUM;;;; +3169;HANGUL LETTER RIEUL-KIYEOK-SIOS;Lo;0;L; 11CC;;;;N;HANGUL LETTER LIEUL GIYEOG SIOS;;;; +316A;HANGUL LETTER RIEUL-TIKEUT;Lo;0;L; 11CE;;;;N;HANGUL LETTER LIEUL DIGEUD;;;; +316B;HANGUL LETTER RIEUL-PIEUP-SIOS;Lo;0;L; 11D3;;;;N;HANGUL LETTER LIEUL BIEUB SIOS;;;; +316C;HANGUL LETTER RIEUL-PANSIOS;Lo;0;L; 11D7;;;;N;HANGUL LETTER LIEUL BAN CHI EUM;;;; +316D;HANGUL LETTER RIEUL-YEORINHIEUH;Lo;0;L; 11D9;;;;N;HANGUL LETTER LIEUL YEOLIN HIEUH;;;; +316E;HANGUL LETTER MIEUM-PIEUP;Lo;0;L; 111C;;;;N;HANGUL LETTER MIEUM BIEUB;;;; +316F;HANGUL LETTER MIEUM-SIOS;Lo;0;L; 11DD;;;;N;HANGUL LETTER MIEUM SIOS;;;; +3170;HANGUL LETTER MIEUM-PANSIOS;Lo;0;L; 11DF;;;;N;HANGUL LETTER BIEUB BAN CHI EUM;;;; +3171;HANGUL LETTER KAPYEOUNMIEUM;Lo;0;L; 111D;;;;N;HANGUL LETTER MIEUM SUN GYEONG EUM;;;; +3172;HANGUL LETTER PIEUP-KIYEOK;Lo;0;L; 111E;;;;N;HANGUL LETTER BIEUB GIYEOG;;;; +3173;HANGUL LETTER PIEUP-TIKEUT;Lo;0;L; 1120;;;;N;HANGUL LETTER BIEUB DIGEUD;;;; +3174;HANGUL LETTER PIEUP-SIOS-KIYEOK;Lo;0;L; 1122;;;;N;HANGUL LETTER BIEUB SIOS GIYEOG;;;; +3175;HANGUL LETTER PIEUP-SIOS-TIKEUT;Lo;0;L; 1123;;;;N;HANGUL LETTER BIEUB SIOS DIGEUD;;;; +3176;HANGUL LETTER PIEUP-CIEUC;Lo;0;L; 1127;;;;N;HANGUL LETTER BIEUB JIEUJ;;;; +3177;HANGUL LETTER PIEUP-THIEUTH;Lo;0;L; 1129;;;;N;HANGUL LETTER BIEUB TIEUT;;;; +3178;HANGUL LETTER KAPYEOUNPIEUP;Lo;0;L; 112B;;;;N;HANGUL LETTER BIEUB SUN GYEONG EUM;;;; +3179;HANGUL LETTER KAPYEOUNSSANGPIEUP;Lo;0;L; 112C;;;;N;HANGUL LETTER SSANG BIEUB SUN GYEONG EUM;;;; +317A;HANGUL LETTER SIOS-KIYEOK;Lo;0;L; 112D;;;;N;HANGUL LETTER SIOS GIYEOG;;;; +317B;HANGUL LETTER SIOS-NIEUN;Lo;0;L; 112E;;;;N;HANGUL LETTER SIOS NIEUN;;;; +317C;HANGUL LETTER SIOS-TIKEUT;Lo;0;L; 112F;;;;N;HANGUL LETTER SIOS DIGEUD;;;; +317D;HANGUL LETTER SIOS-PIEUP;Lo;0;L; 1132;;;;N;HANGUL LETTER SIOS BIEUB;;;; +317E;HANGUL LETTER SIOS-CIEUC;Lo;0;L; 1136;;;;N;HANGUL LETTER SIOS JIEUJ;;;; +317F;HANGUL LETTER PANSIOS;Lo;0;L; 1140;;;;N;HANGUL LETTER BAN CHI EUM;;;; +3180;HANGUL LETTER SSANGIEUNG;Lo;0;L; 1147;;;;N;HANGUL LETTER SSANG IEUNG;;;; +3181;HANGUL LETTER YESIEUNG;Lo;0;L; 114C;;;;N;HANGUL LETTER NGIEUNG;;;; +3182;HANGUL LETTER YESIEUNG-SIOS;Lo;0;L; 11F1;;;;N;HANGUL LETTER NGIEUNG SIOS;;;; +3183;HANGUL LETTER YESIEUNG-PANSIOS;Lo;0;L; 11F2;;;;N;HANGUL LETTER NGIEUNG BAN CHI EUM;;;; +3184;HANGUL LETTER KAPYEOUNPHIEUPH;Lo;0;L; 1157;;;;N;HANGUL LETTER PIEUP SUN GYEONG EUM;;;; +3185;HANGUL LETTER SSANGHIEUH;Lo;0;L; 1158;;;;N;HANGUL LETTER SSANG HIEUH;;;; +3186;HANGUL LETTER YEORINHIEUH;Lo;0;L; 1159;;;;N;HANGUL LETTER YEOLIN HIEUH;;;; +3187;HANGUL LETTER YO-YA;Lo;0;L; 1184;;;;N;HANGUL LETTER YOYA;;;; +3188;HANGUL LETTER YO-YAE;Lo;0;L; 1185;;;;N;HANGUL LETTER YOYAE;;;; +3189;HANGUL LETTER YO-I;Lo;0;L; 1188;;;;N;HANGUL LETTER YOI;;;; +318A;HANGUL LETTER YU-YEO;Lo;0;L; 1191;;;;N;HANGUL LETTER YUYEO;;;; +318B;HANGUL LETTER YU-YE;Lo;0;L; 1192;;;;N;HANGUL LETTER YUYE;;;; +318C;HANGUL LETTER YU-I;Lo;0;L; 1194;;;;N;HANGUL LETTER YUI;;;; +318D;HANGUL LETTER ARAEA;Lo;0;L; 119E;;;;N;HANGUL LETTER ALAE A;;;; +318E;HANGUL LETTER ARAEAE;Lo;0;L; 11A1;;;;N;HANGUL LETTER ALAE AE;;;; +3190;IDEOGRAPHIC ANNOTATION LINKING MARK;So;0;L;;;;;N;KANBUN TATETEN;Kanbun Tateten;;; +3191;IDEOGRAPHIC ANNOTATION REVERSE MARK;So;0;L;;;;;N;KAERITEN RE;Kaeriten;;; +3192;IDEOGRAPHIC ANNOTATION ONE MARK;No;0;L; 4E00;;;1;N;KAERITEN ITI;Kaeriten;;; +3193;IDEOGRAPHIC ANNOTATION TWO MARK;No;0;L; 4E8C;;;2;N;KAERITEN NI;Kaeriten;;; +3194;IDEOGRAPHIC ANNOTATION THREE MARK;No;0;L; 4E09;;;3;N;KAERITEN SAN;Kaeriten;;; +3195;IDEOGRAPHIC ANNOTATION FOUR MARK;No;0;L; 56DB;;;4;N;KAERITEN SI;Kaeriten;;; +3196;IDEOGRAPHIC ANNOTATION TOP MARK;So;0;L; 4E0A;;;;N;KAERITEN ZYOU;Kaeriten;;; +3197;IDEOGRAPHIC ANNOTATION MIDDLE MARK;So;0;L; 4E2D;;;;N;KAERITEN TYUU;Kaeriten;;; +3198;IDEOGRAPHIC ANNOTATION BOTTOM MARK;So;0;L; 4E0B;;;;N;KAERITEN GE;Kaeriten;;; +3199;IDEOGRAPHIC ANNOTATION FIRST MARK;So;0;L; 7532;;;;N;KAERITEN KOU;Kaeriten;;; +319A;IDEOGRAPHIC ANNOTATION SECOND MARK;So;0;L; 4E59;;;;N;KAERITEN OTU;Kaeriten;;; +319B;IDEOGRAPHIC ANNOTATION THIRD MARK;So;0;L; 4E19;;;;N;KAERITEN HEI;Kaeriten;;; +319C;IDEOGRAPHIC ANNOTATION FOURTH MARK;So;0;L; 4E01;;;;N;KAERITEN TEI;Kaeriten;;; +319D;IDEOGRAPHIC ANNOTATION HEAVEN MARK;So;0;L; 5929;;;;N;KAERITEN TEN;Kaeriten;;; +319E;IDEOGRAPHIC ANNOTATION EARTH MARK;So;0;L; 5730;;;;N;KAERITEN TI;Kaeriten;;; +319F;IDEOGRAPHIC ANNOTATION MAN MARK;So;0;L; 4EBA;;;;N;KAERITEN ZIN;Kaeriten;;; +31A0;BOPOMOFO LETTER BU;Lo;0;L;;;;;N;;;;; +31A1;BOPOMOFO LETTER ZI;Lo;0;L;;;;;N;;;;; +31A2;BOPOMOFO LETTER JI;Lo;0;L;;;;;N;;;;; +31A3;BOPOMOFO LETTER GU;Lo;0;L;;;;;N;;;;; +31A4;BOPOMOFO LETTER EE;Lo;0;L;;;;;N;;;;; +31A5;BOPOMOFO LETTER ENN;Lo;0;L;;;;;N;;;;; +31A6;BOPOMOFO LETTER OO;Lo;0;L;;;;;N;;;;; +31A7;BOPOMOFO LETTER ONN;Lo;0;L;;;;;N;;;;; +31A8;BOPOMOFO LETTER IR;Lo;0;L;;;;;N;;;;; +31A9;BOPOMOFO LETTER ANN;Lo;0;L;;;;;N;;;;; +31AA;BOPOMOFO LETTER INN;Lo;0;L;;;;;N;;;;; +31AB;BOPOMOFO LETTER UNN;Lo;0;L;;;;;N;;;;; +31AC;BOPOMOFO LETTER IM;Lo;0;L;;;;;N;;;;; +31AD;BOPOMOFO LETTER NGG;Lo;0;L;;;;;N;;;;; +31AE;BOPOMOFO LETTER AINN;Lo;0;L;;;;;N;;;;; +31AF;BOPOMOFO LETTER AUNN;Lo;0;L;;;;;N;;;;; +31B0;BOPOMOFO LETTER AM;Lo;0;L;;;;;N;;;;; +31B1;BOPOMOFO LETTER OM;Lo;0;L;;;;;N;;;;; +31B2;BOPOMOFO LETTER ONG;Lo;0;L;;;;;N;;;;; +31B3;BOPOMOFO LETTER INNN;Lo;0;L;;;;;N;;;;; +31B4;BOPOMOFO FINAL LETTER P;Lo;0;L;;;;;N;;;;; +31B5;BOPOMOFO FINAL LETTER T;Lo;0;L;;;;;N;;;;; +31B6;BOPOMOFO FINAL LETTER K;Lo;0;L;;;;;N;;;;; +31B7;BOPOMOFO FINAL LETTER H;Lo;0;L;;;;;N;;;;; +31C0;CJK STROKE T;So;0;ON;;;;;N;;;;; +31C1;CJK STROKE WG;So;0;ON;;;;;N;;;;; +31C2;CJK STROKE XG;So;0;ON;;;;;N;;;;; +31C3;CJK STROKE BXG;So;0;ON;;;;;N;;;;; +31C4;CJK STROKE SW;So;0;ON;;;;;N;;;;; +31C5;CJK STROKE HZZ;So;0;ON;;;;;N;;;;; +31C6;CJK STROKE HZG;So;0;ON;;;;;N;;;;; +31C7;CJK STROKE HP;So;0;ON;;;;;N;;;;; +31C8;CJK STROKE HZWG;So;0;ON;;;;;N;;;;; +31C9;CJK STROKE SZWG;So;0;ON;;;;;N;;;;; +31CA;CJK STROKE HZT;So;0;ON;;;;;N;;;;; +31CB;CJK STROKE HZZP;So;0;ON;;;;;N;;;;; +31CC;CJK STROKE HPWG;So;0;ON;;;;;N;;;;; +31CD;CJK STROKE HZW;So;0;ON;;;;;N;;;;; +31CE;CJK STROKE HZZZ;So;0;ON;;;;;N;;;;; +31CF;CJK STROKE N;So;0;ON;;;;;N;;;;; +31D0;CJK STROKE H;So;0;ON;;;;;N;;;;; +31D1;CJK STROKE S;So;0;ON;;;;;N;;;;; +31D2;CJK STROKE P;So;0;ON;;;;;N;;;;; +31D3;CJK STROKE SP;So;0;ON;;;;;N;;;;; +31D4;CJK STROKE D;So;0;ON;;;;;N;;;;; +31D5;CJK STROKE HZ;So;0;ON;;;;;N;;;;; +31D6;CJK STROKE HG;So;0;ON;;;;;N;;;;; +31D7;CJK STROKE SZ;So;0;ON;;;;;N;;;;; +31D8;CJK STROKE SWZ;So;0;ON;;;;;N;;;;; +31D9;CJK STROKE ST;So;0;ON;;;;;N;;;;; +31DA;CJK STROKE SG;So;0;ON;;;;;N;;;;; +31DB;CJK STROKE PD;So;0;ON;;;;;N;;;;; +31DC;CJK STROKE PZ;So;0;ON;;;;;N;;;;; +31DD;CJK STROKE TN;So;0;ON;;;;;N;;;;; +31DE;CJK STROKE SZZ;So;0;ON;;;;;N;;;;; +31DF;CJK STROKE SWG;So;0;ON;;;;;N;;;;; +31E0;CJK STROKE HXWG;So;0;ON;;;;;N;;;;; +31E1;CJK STROKE HZZZG;So;0;ON;;;;;N;;;;; +31E2;CJK STROKE PG;So;0;ON;;;;;N;;;;; +31E3;CJK STROKE Q;So;0;ON;;;;;N;;;;; +31F0;KATAKANA LETTER SMALL KU;Lo;0;L;;;;;N;;;;; +31F1;KATAKANA LETTER SMALL SI;Lo;0;L;;;;;N;;;;; +31F2;KATAKANA LETTER SMALL SU;Lo;0;L;;;;;N;;;;; +31F3;KATAKANA LETTER SMALL TO;Lo;0;L;;;;;N;;;;; +31F4;KATAKANA LETTER SMALL NU;Lo;0;L;;;;;N;;;;; +31F5;KATAKANA LETTER SMALL HA;Lo;0;L;;;;;N;;;;; +31F6;KATAKANA LETTER SMALL HI;Lo;0;L;;;;;N;;;;; +31F7;KATAKANA LETTER SMALL HU;Lo;0;L;;;;;N;;;;; +31F8;KATAKANA LETTER SMALL HE;Lo;0;L;;;;;N;;;;; +31F9;KATAKANA LETTER SMALL HO;Lo;0;L;;;;;N;;;;; +31FA;KATAKANA LETTER SMALL MU;Lo;0;L;;;;;N;;;;; +31FB;KATAKANA LETTER SMALL RA;Lo;0;L;;;;;N;;;;; +31FC;KATAKANA LETTER SMALL RI;Lo;0;L;;;;;N;;;;; +31FD;KATAKANA LETTER SMALL RU;Lo;0;L;;;;;N;;;;; +31FE;KATAKANA LETTER SMALL RE;Lo;0;L;;;;;N;;;;; +31FF;KATAKANA LETTER SMALL RO;Lo;0;L;;;;;N;;;;; +3200;PARENTHESIZED HANGUL KIYEOK;So;0;L; 0028 1100 0029;;;;N;PARENTHESIZED HANGUL GIYEOG;;;; +3201;PARENTHESIZED HANGUL NIEUN;So;0;L; 0028 1102 0029;;;;N;;;;; +3202;PARENTHESIZED HANGUL TIKEUT;So;0;L; 0028 1103 0029;;;;N;PARENTHESIZED HANGUL DIGEUD;;;; +3203;PARENTHESIZED HANGUL RIEUL;So;0;L; 0028 1105 0029;;;;N;PARENTHESIZED HANGUL LIEUL;;;; +3204;PARENTHESIZED HANGUL MIEUM;So;0;L; 0028 1106 0029;;;;N;;;;; +3205;PARENTHESIZED HANGUL PIEUP;So;0;L; 0028 1107 0029;;;;N;PARENTHESIZED HANGUL BIEUB;;;; +3206;PARENTHESIZED HANGUL SIOS;So;0;L; 0028 1109 0029;;;;N;;;;; +3207;PARENTHESIZED HANGUL IEUNG;So;0;L; 0028 110B 0029;;;;N;;;;; +3208;PARENTHESIZED HANGUL CIEUC;So;0;L; 0028 110C 0029;;;;N;PARENTHESIZED HANGUL JIEUJ;;;; +3209;PARENTHESIZED HANGUL CHIEUCH;So;0;L; 0028 110E 0029;;;;N;PARENTHESIZED HANGUL CIEUC;;;; +320A;PARENTHESIZED HANGUL KHIEUKH;So;0;L; 0028 110F 0029;;;;N;PARENTHESIZED HANGUL KIYEOK;;;; +320B;PARENTHESIZED HANGUL THIEUTH;So;0;L; 0028 1110 0029;;;;N;PARENTHESIZED HANGUL TIEUT;;;; +320C;PARENTHESIZED HANGUL PHIEUPH;So;0;L; 0028 1111 0029;;;;N;PARENTHESIZED HANGUL PIEUP;;;; +320D;PARENTHESIZED HANGUL HIEUH;So;0;L; 0028 1112 0029;;;;N;;;;; +320E;PARENTHESIZED HANGUL KIYEOK A;So;0;L; 0028 1100 1161 0029;;;;N;PARENTHESIZED HANGUL GA;;;; +320F;PARENTHESIZED HANGUL NIEUN A;So;0;L; 0028 1102 1161 0029;;;;N;PARENTHESIZED HANGUL NA;;;; +3210;PARENTHESIZED HANGUL TIKEUT A;So;0;L; 0028 1103 1161 0029;;;;N;PARENTHESIZED HANGUL DA;;;; +3211;PARENTHESIZED HANGUL RIEUL A;So;0;L; 0028 1105 1161 0029;;;;N;PARENTHESIZED HANGUL LA;;;; +3212;PARENTHESIZED HANGUL MIEUM A;So;0;L; 0028 1106 1161 0029;;;;N;PARENTHESIZED HANGUL MA;;;; +3213;PARENTHESIZED HANGUL PIEUP A;So;0;L; 0028 1107 1161 0029;;;;N;PARENTHESIZED HANGUL BA;;;; +3214;PARENTHESIZED HANGUL SIOS A;So;0;L; 0028 1109 1161 0029;;;;N;PARENTHESIZED HANGUL SA;;;; +3215;PARENTHESIZED HANGUL IEUNG A;So;0;L; 0028 110B 1161 0029;;;;N;PARENTHESIZED HANGUL A;;;; +3216;PARENTHESIZED HANGUL CIEUC A;So;0;L; 0028 110C 1161 0029;;;;N;PARENTHESIZED HANGUL JA;;;; +3217;PARENTHESIZED HANGUL CHIEUCH A;So;0;L; 0028 110E 1161 0029;;;;N;PARENTHESIZED HANGUL CA;;;; +3218;PARENTHESIZED HANGUL KHIEUKH A;So;0;L; 0028 110F 1161 0029;;;;N;PARENTHESIZED HANGUL KA;;;; +3219;PARENTHESIZED HANGUL THIEUTH A;So;0;L; 0028 1110 1161 0029;;;;N;PARENTHESIZED HANGUL TA;;;; +321A;PARENTHESIZED HANGUL PHIEUPH A;So;0;L; 0028 1111 1161 0029;;;;N;PARENTHESIZED HANGUL PA;;;; +321B;PARENTHESIZED HANGUL HIEUH A;So;0;L; 0028 1112 1161 0029;;;;N;PARENTHESIZED HANGUL HA;;;; +321C;PARENTHESIZED HANGUL CIEUC U;So;0;L; 0028 110C 116E 0029;;;;N;PARENTHESIZED HANGUL JU;;;; +321D;PARENTHESIZED KOREAN CHARACTER OJEON;So;0;ON; 0028 110B 1169 110C 1165 11AB 0029;;;;N;;;;; +321E;PARENTHESIZED KOREAN CHARACTER O HU;So;0;ON; 0028 110B 1169 1112 116E 0029;;;;N;;;;; +3220;PARENTHESIZED IDEOGRAPH ONE;No;0;L; 0028 4E00 0029;;;1;N;;;;; +3221;PARENTHESIZED IDEOGRAPH TWO;No;0;L; 0028 4E8C 0029;;;2;N;;;;; +3222;PARENTHESIZED IDEOGRAPH THREE;No;0;L; 0028 4E09 0029;;;3;N;;;;; +3223;PARENTHESIZED IDEOGRAPH FOUR;No;0;L; 0028 56DB 0029;;;4;N;;;;; +3224;PARENTHESIZED IDEOGRAPH FIVE;No;0;L; 0028 4E94 0029;;;5;N;;;;; +3225;PARENTHESIZED IDEOGRAPH SIX;No;0;L; 0028 516D 0029;;;6;N;;;;; +3226;PARENTHESIZED IDEOGRAPH SEVEN;No;0;L; 0028 4E03 0029;;;7;N;;;;; +3227;PARENTHESIZED IDEOGRAPH EIGHT;No;0;L; 0028 516B 0029;;;8;N;;;;; +3228;PARENTHESIZED IDEOGRAPH NINE;No;0;L; 0028 4E5D 0029;;;9;N;;;;; +3229;PARENTHESIZED IDEOGRAPH TEN;No;0;L; 0028 5341 0029;;;10;N;;;;; +322A;PARENTHESIZED IDEOGRAPH MOON;So;0;L; 0028 6708 0029;;;;N;;;;; +322B;PARENTHESIZED IDEOGRAPH FIRE;So;0;L; 0028 706B 0029;;;;N;;;;; +322C;PARENTHESIZED IDEOGRAPH WATER;So;0;L; 0028 6C34 0029;;;;N;;;;; +322D;PARENTHESIZED IDEOGRAPH WOOD;So;0;L; 0028 6728 0029;;;;N;;;;; +322E;PARENTHESIZED IDEOGRAPH METAL;So;0;L; 0028 91D1 0029;;;;N;;;;; +322F;PARENTHESIZED IDEOGRAPH EARTH;So;0;L; 0028 571F 0029;;;;N;;;;; +3230;PARENTHESIZED IDEOGRAPH SUN;So;0;L; 0028 65E5 0029;;;;N;;;;; +3231;PARENTHESIZED IDEOGRAPH STOCK;So;0;L; 0028 682A 0029;;;;N;;;;; +3232;PARENTHESIZED IDEOGRAPH HAVE;So;0;L; 0028 6709 0029;;;;N;;;;; +3233;PARENTHESIZED IDEOGRAPH SOCIETY;So;0;L; 0028 793E 0029;;;;N;;;;; +3234;PARENTHESIZED IDEOGRAPH NAME;So;0;L; 0028 540D 0029;;;;N;;;;; +3235;PARENTHESIZED IDEOGRAPH SPECIAL;So;0;L; 0028 7279 0029;;;;N;;;;; +3236;PARENTHESIZED IDEOGRAPH FINANCIAL;So;0;L; 0028 8CA1 0029;;;;N;;;;; +3237;PARENTHESIZED IDEOGRAPH CONGRATULATION;So;0;L; 0028 795D 0029;;;;N;;;;; +3238;PARENTHESIZED IDEOGRAPH LABOR;So;0;L; 0028 52B4 0029;;;;N;;;;; +3239;PARENTHESIZED IDEOGRAPH REPRESENT;So;0;L; 0028 4EE3 0029;;;;N;;;;; +323A;PARENTHESIZED IDEOGRAPH CALL;So;0;L; 0028 547C 0029;;;;N;;;;; +323B;PARENTHESIZED IDEOGRAPH STUDY;So;0;L; 0028 5B66 0029;;;;N;;;;; +323C;PARENTHESIZED IDEOGRAPH SUPERVISE;So;0;L; 0028 76E3 0029;;;;N;;;;; +323D;PARENTHESIZED IDEOGRAPH ENTERPRISE;So;0;L; 0028 4F01 0029;;;;N;;;;; +323E;PARENTHESIZED IDEOGRAPH RESOURCE;So;0;L; 0028 8CC7 0029;;;;N;;;;; +323F;PARENTHESIZED IDEOGRAPH ALLIANCE;So;0;L; 0028 5354 0029;;;;N;;;;; +3240;PARENTHESIZED IDEOGRAPH FESTIVAL;So;0;L; 0028 796D 0029;;;;N;;;;; +3241;PARENTHESIZED IDEOGRAPH REST;So;0;L; 0028 4F11 0029;;;;N;;;;; +3242;PARENTHESIZED IDEOGRAPH SELF;So;0;L; 0028 81EA 0029;;;;N;;;;; +3243;PARENTHESIZED IDEOGRAPH REACH;So;0;L; 0028 81F3 0029;;;;N;;;;; +3250;PARTNERSHIP SIGN;So;0;ON; 0050 0054 0045;;;;N;;;;; +3251;CIRCLED NUMBER TWENTY ONE;No;0;ON; 0032 0031;;;21;N;;;;; +3252;CIRCLED NUMBER TWENTY TWO;No;0;ON; 0032 0032;;;22;N;;;;; +3253;CIRCLED NUMBER TWENTY THREE;No;0;ON; 0032 0033;;;23;N;;;;; +3254;CIRCLED NUMBER TWENTY FOUR;No;0;ON; 0032 0034;;;24;N;;;;; +3255;CIRCLED NUMBER TWENTY FIVE;No;0;ON; 0032 0035;;;25;N;;;;; +3256;CIRCLED NUMBER TWENTY SIX;No;0;ON; 0032 0036;;;26;N;;;;; +3257;CIRCLED NUMBER TWENTY SEVEN;No;0;ON; 0032 0037;;;27;N;;;;; +3258;CIRCLED NUMBER TWENTY EIGHT;No;0;ON; 0032 0038;;;28;N;;;;; +3259;CIRCLED NUMBER TWENTY NINE;No;0;ON; 0032 0039;;;29;N;;;;; +325A;CIRCLED NUMBER THIRTY;No;0;ON; 0033 0030;;;30;N;;;;; +325B;CIRCLED NUMBER THIRTY ONE;No;0;ON; 0033 0031;;;31;N;;;;; +325C;CIRCLED NUMBER THIRTY TWO;No;0;ON; 0033 0032;;;32;N;;;;; +325D;CIRCLED NUMBER THIRTY THREE;No;0;ON; 0033 0033;;;33;N;;;;; +325E;CIRCLED NUMBER THIRTY FOUR;No;0;ON; 0033 0034;;;34;N;;;;; +325F;CIRCLED NUMBER THIRTY FIVE;No;0;ON; 0033 0035;;;35;N;;;;; +3260;CIRCLED HANGUL KIYEOK;So;0;L; 1100;;;;N;CIRCLED HANGUL GIYEOG;;;; +3261;CIRCLED HANGUL NIEUN;So;0;L; 1102;;;;N;;;;; +3262;CIRCLED HANGUL TIKEUT;So;0;L; 1103;;;;N;CIRCLED HANGUL DIGEUD;;;; +3263;CIRCLED HANGUL RIEUL;So;0;L; 1105;;;;N;CIRCLED HANGUL LIEUL;;;; +3264;CIRCLED HANGUL MIEUM;So;0;L; 1106;;;;N;;;;; +3265;CIRCLED HANGUL PIEUP;So;0;L; 1107;;;;N;CIRCLED HANGUL BIEUB;;;; +3266;CIRCLED HANGUL SIOS;So;0;L; 1109;;;;N;;;;; +3267;CIRCLED HANGUL IEUNG;So;0;L; 110B;;;;N;;;;; +3268;CIRCLED HANGUL CIEUC;So;0;L; 110C;;;;N;CIRCLED HANGUL JIEUJ;;;; +3269;CIRCLED HANGUL CHIEUCH;So;0;L; 110E;;;;N;CIRCLED HANGUL CIEUC;;;; +326A;CIRCLED HANGUL KHIEUKH;So;0;L; 110F;;;;N;CIRCLED HANGUL KIYEOK;;;; +326B;CIRCLED HANGUL THIEUTH;So;0;L; 1110;;;;N;CIRCLED HANGUL TIEUT;;;; +326C;CIRCLED HANGUL PHIEUPH;So;0;L; 1111;;;;N;CIRCLED HANGUL PIEUP;;;; +326D;CIRCLED HANGUL HIEUH;So;0;L; 1112;;;;N;;;;; +326E;CIRCLED HANGUL KIYEOK A;So;0;L; 1100 1161;;;;N;CIRCLED HANGUL GA;;;; +326F;CIRCLED HANGUL NIEUN A;So;0;L; 1102 1161;;;;N;CIRCLED HANGUL NA;;;; +3270;CIRCLED HANGUL TIKEUT A;So;0;L; 1103 1161;;;;N;CIRCLED HANGUL DA;;;; +3271;CIRCLED HANGUL RIEUL A;So;0;L; 1105 1161;;;;N;CIRCLED HANGUL LA;;;; +3272;CIRCLED HANGUL MIEUM A;So;0;L; 1106 1161;;;;N;CIRCLED HANGUL MA;;;; +3273;CIRCLED HANGUL PIEUP A;So;0;L; 1107 1161;;;;N;CIRCLED HANGUL BA;;;; +3274;CIRCLED HANGUL SIOS A;So;0;L; 1109 1161;;;;N;CIRCLED HANGUL SA;;;; +3275;CIRCLED HANGUL IEUNG A;So;0;L; 110B 1161;;;;N;CIRCLED HANGUL A;;;; +3276;CIRCLED HANGUL CIEUC A;So;0;L; 110C 1161;;;;N;CIRCLED HANGUL JA;;;; +3277;CIRCLED HANGUL CHIEUCH A;So;0;L; 110E 1161;;;;N;CIRCLED HANGUL CA;;;; +3278;CIRCLED HANGUL KHIEUKH A;So;0;L; 110F 1161;;;;N;CIRCLED HANGUL KA;;;; +3279;CIRCLED HANGUL THIEUTH A;So;0;L; 1110 1161;;;;N;CIRCLED HANGUL TA;;;; +327A;CIRCLED HANGUL PHIEUPH A;So;0;L; 1111 1161;;;;N;CIRCLED HANGUL PA;;;; +327B;CIRCLED HANGUL HIEUH A;So;0;L; 1112 1161;;;;N;CIRCLED HANGUL HA;;;; +327C;CIRCLED KOREAN CHARACTER CHAMKO;So;0;ON; 110E 1161 11B7 1100 1169;;;;N;;;;; +327D;CIRCLED KOREAN CHARACTER JUEUI;So;0;ON; 110C 116E 110B 1174;;;;N;;;;; +327E;CIRCLED HANGUL IEUNG U;So;0;ON; 110B 116E;;;;N;;;;; +327F;KOREAN STANDARD SYMBOL;So;0;L;;;;;N;;;;; +3280;CIRCLED IDEOGRAPH ONE;No;0;L; 4E00;;;1;N;;;;; +3281;CIRCLED IDEOGRAPH TWO;No;0;L; 4E8C;;;2;N;;;;; +3282;CIRCLED IDEOGRAPH THREE;No;0;L; 4E09;;;3;N;;;;; +3283;CIRCLED IDEOGRAPH FOUR;No;0;L; 56DB;;;4;N;;;;; +3284;CIRCLED IDEOGRAPH FIVE;No;0;L; 4E94;;;5;N;;;;; +3285;CIRCLED IDEOGRAPH SIX;No;0;L; 516D;;;6;N;;;;; +3286;CIRCLED IDEOGRAPH SEVEN;No;0;L; 4E03;;;7;N;;;;; +3287;CIRCLED IDEOGRAPH EIGHT;No;0;L; 516B;;;8;N;;;;; +3288;CIRCLED IDEOGRAPH NINE;No;0;L; 4E5D;;;9;N;;;;; +3289;CIRCLED IDEOGRAPH TEN;No;0;L; 5341;;;10;N;;;;; +328A;CIRCLED IDEOGRAPH MOON;So;0;L; 6708;;;;N;;;;; +328B;CIRCLED IDEOGRAPH FIRE;So;0;L; 706B;;;;N;;;;; +328C;CIRCLED IDEOGRAPH WATER;So;0;L; 6C34;;;;N;;;;; +328D;CIRCLED IDEOGRAPH WOOD;So;0;L; 6728;;;;N;;;;; +328E;CIRCLED IDEOGRAPH METAL;So;0;L; 91D1;;;;N;;;;; +328F;CIRCLED IDEOGRAPH EARTH;So;0;L; 571F;;;;N;;;;; +3290;CIRCLED IDEOGRAPH SUN;So;0;L; 65E5;;;;N;;;;; +3291;CIRCLED IDEOGRAPH STOCK;So;0;L; 682A;;;;N;;;;; +3292;CIRCLED IDEOGRAPH HAVE;So;0;L; 6709;;;;N;;;;; +3293;CIRCLED IDEOGRAPH SOCIETY;So;0;L; 793E;;;;N;;;;; +3294;CIRCLED IDEOGRAPH NAME;So;0;L; 540D;;;;N;;;;; +3295;CIRCLED IDEOGRAPH SPECIAL;So;0;L; 7279;;;;N;;;;; +3296;CIRCLED IDEOGRAPH FINANCIAL;So;0;L; 8CA1;;;;N;;;;; +3297;CIRCLED IDEOGRAPH CONGRATULATION;So;0;L; 795D;;;;N;;;;; +3298;CIRCLED IDEOGRAPH LABOR;So;0;L; 52B4;;;;N;;;;; +3299;CIRCLED IDEOGRAPH SECRET;So;0;L; 79D8;;;;N;;;;; +329A;CIRCLED IDEOGRAPH MALE;So;0;L; 7537;;;;N;;;;; +329B;CIRCLED IDEOGRAPH FEMALE;So;0;L; 5973;;;;N;;;;; +329C;CIRCLED IDEOGRAPH SUITABLE;So;0;L; 9069;;;;N;;;;; +329D;CIRCLED IDEOGRAPH EXCELLENT;So;0;L; 512A;;;;N;;;;; +329E;CIRCLED IDEOGRAPH PRINT;So;0;L; 5370;;;;N;;;;; +329F;CIRCLED IDEOGRAPH ATTENTION;So;0;L; 6CE8;;;;N;;;;; +32A0;CIRCLED IDEOGRAPH ITEM;So;0;L; 9805;;;;N;;;;; +32A1;CIRCLED IDEOGRAPH REST;So;0;L; 4F11;;;;N;;;;; +32A2;CIRCLED IDEOGRAPH COPY;So;0;L; 5199;;;;N;;;;; +32A3;CIRCLED IDEOGRAPH CORRECT;So;0;L; 6B63;;;;N;;;;; +32A4;CIRCLED IDEOGRAPH HIGH;So;0;L; 4E0A;;;;N;;;;; +32A5;CIRCLED IDEOGRAPH CENTRE;So;0;L; 4E2D;;;;N;CIRCLED IDEOGRAPH CENTER;;;; +32A6;CIRCLED IDEOGRAPH LOW;So;0;L; 4E0B;;;;N;;;;; +32A7;CIRCLED IDEOGRAPH LEFT;So;0;L; 5DE6;;;;N;;;;; +32A8;CIRCLED IDEOGRAPH RIGHT;So;0;L; 53F3;;;;N;;;;; +32A9;CIRCLED IDEOGRAPH MEDICINE;So;0;L; 533B;;;;N;;;;; +32AA;CIRCLED IDEOGRAPH RELIGION;So;0;L; 5B97;;;;N;;;;; +32AB;CIRCLED IDEOGRAPH STUDY;So;0;L; 5B66;;;;N;;;;; +32AC;CIRCLED IDEOGRAPH SUPERVISE;So;0;L; 76E3;;;;N;;;;; +32AD;CIRCLED IDEOGRAPH ENTERPRISE;So;0;L; 4F01;;;;N;;;;; +32AE;CIRCLED IDEOGRAPH RESOURCE;So;0;L; 8CC7;;;;N;;;;; +32AF;CIRCLED IDEOGRAPH ALLIANCE;So;0;L; 5354;;;;N;;;;; +32B0;CIRCLED IDEOGRAPH NIGHT;So;0;L; 591C;;;;N;;;;; +32B1;CIRCLED NUMBER THIRTY SIX;No;0;ON; 0033 0036;;;36;N;;;;; +32B2;CIRCLED NUMBER THIRTY SEVEN;No;0;ON; 0033 0037;;;37;N;;;;; +32B3;CIRCLED NUMBER THIRTY EIGHT;No;0;ON; 0033 0038;;;38;N;;;;; +32B4;CIRCLED NUMBER THIRTY NINE;No;0;ON; 0033 0039;;;39;N;;;;; +32B5;CIRCLED NUMBER FORTY;No;0;ON; 0034 0030;;;40;N;;;;; +32B6;CIRCLED NUMBER FORTY ONE;No;0;ON; 0034 0031;;;41;N;;;;; +32B7;CIRCLED NUMBER FORTY TWO;No;0;ON; 0034 0032;;;42;N;;;;; +32B8;CIRCLED NUMBER FORTY THREE;No;0;ON; 0034 0033;;;43;N;;;;; +32B9;CIRCLED NUMBER FORTY FOUR;No;0;ON; 0034 0034;;;44;N;;;;; +32BA;CIRCLED NUMBER FORTY FIVE;No;0;ON; 0034 0035;;;45;N;;;;; +32BB;CIRCLED NUMBER FORTY SIX;No;0;ON; 0034 0036;;;46;N;;;;; +32BC;CIRCLED NUMBER FORTY SEVEN;No;0;ON; 0034 0037;;;47;N;;;;; +32BD;CIRCLED NUMBER FORTY EIGHT;No;0;ON; 0034 0038;;;48;N;;;;; +32BE;CIRCLED NUMBER FORTY NINE;No;0;ON; 0034 0039;;;49;N;;;;; +32BF;CIRCLED NUMBER FIFTY;No;0;ON; 0035 0030;;;50;N;;;;; +32C0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY;So;0;L; 0031 6708;;;;N;;;;; +32C1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY;So;0;L; 0032 6708;;;;N;;;;; +32C2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH;So;0;L; 0033 6708;;;;N;;;;; +32C3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL;So;0;L; 0034 6708;;;;N;;;;; +32C4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY;So;0;L; 0035 6708;;;;N;;;;; +32C5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE;So;0;L; 0036 6708;;;;N;;;;; +32C6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY;So;0;L; 0037 6708;;;;N;;;;; +32C7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST;So;0;L; 0038 6708;;;;N;;;;; +32C8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER;So;0;L; 0039 6708;;;;N;;;;; +32C9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER;So;0;L; 0031 0030 6708;;;;N;;;;; +32CA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER;So;0;L; 0031 0031 6708;;;;N;;;;; +32CB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER;So;0;L; 0031 0032 6708;;;;N;;;;; +32CC;SQUARE HG;So;0;ON; 0048 0067;;;;N;;;;; +32CD;SQUARE ERG;So;0;ON; 0065 0072 0067;;;;N;;;;; +32CE;SQUARE EV;So;0;ON; 0065 0056;;;;N;;;;; +32CF;LIMITED LIABILITY SIGN;So;0;ON; 004C 0054 0044;;;;N;;;;; +32D0;CIRCLED KATAKANA A;So;0;L; 30A2;;;;N;;;;; +32D1;CIRCLED KATAKANA I;So;0;L; 30A4;;;;N;;;;; +32D2;CIRCLED KATAKANA U;So;0;L; 30A6;;;;N;;;;; +32D3;CIRCLED KATAKANA E;So;0;L; 30A8;;;;N;;;;; +32D4;CIRCLED KATAKANA O;So;0;L; 30AA;;;;N;;;;; +32D5;CIRCLED KATAKANA KA;So;0;L; 30AB;;;;N;;;;; +32D6;CIRCLED KATAKANA KI;So;0;L; 30AD;;;;N;;;;; +32D7;CIRCLED KATAKANA KU;So;0;L; 30AF;;;;N;;;;; +32D8;CIRCLED KATAKANA KE;So;0;L; 30B1;;;;N;;;;; +32D9;CIRCLED KATAKANA KO;So;0;L; 30B3;;;;N;;;;; +32DA;CIRCLED KATAKANA SA;So;0;L; 30B5;;;;N;;;;; +32DB;CIRCLED KATAKANA SI;So;0;L; 30B7;;;;N;;;;; +32DC;CIRCLED KATAKANA SU;So;0;L; 30B9;;;;N;;;;; +32DD;CIRCLED KATAKANA SE;So;0;L; 30BB;;;;N;;;;; +32DE;CIRCLED KATAKANA SO;So;0;L; 30BD;;;;N;;;;; +32DF;CIRCLED KATAKANA TA;So;0;L; 30BF;;;;N;;;;; +32E0;CIRCLED KATAKANA TI;So;0;L; 30C1;;;;N;;;;; +32E1;CIRCLED KATAKANA TU;So;0;L; 30C4;;;;N;;;;; +32E2;CIRCLED KATAKANA TE;So;0;L; 30C6;;;;N;;;;; +32E3;CIRCLED KATAKANA TO;So;0;L; 30C8;;;;N;;;;; +32E4;CIRCLED KATAKANA NA;So;0;L; 30CA;;;;N;;;;; +32E5;CIRCLED KATAKANA NI;So;0;L; 30CB;;;;N;;;;; +32E6;CIRCLED KATAKANA NU;So;0;L; 30CC;;;;N;;;;; +32E7;CIRCLED KATAKANA NE;So;0;L; 30CD;;;;N;;;;; +32E8;CIRCLED KATAKANA NO;So;0;L; 30CE;;;;N;;;;; +32E9;CIRCLED KATAKANA HA;So;0;L; 30CF;;;;N;;;;; +32EA;CIRCLED KATAKANA HI;So;0;L; 30D2;;;;N;;;;; +32EB;CIRCLED KATAKANA HU;So;0;L; 30D5;;;;N;;;;; +32EC;CIRCLED KATAKANA HE;So;0;L; 30D8;;;;N;;;;; +32ED;CIRCLED KATAKANA HO;So;0;L; 30DB;;;;N;;;;; +32EE;CIRCLED KATAKANA MA;So;0;L; 30DE;;;;N;;;;; +32EF;CIRCLED KATAKANA MI;So;0;L; 30DF;;;;N;;;;; +32F0;CIRCLED KATAKANA MU;So;0;L; 30E0;;;;N;;;;; +32F1;CIRCLED KATAKANA ME;So;0;L; 30E1;;;;N;;;;; +32F2;CIRCLED KATAKANA MO;So;0;L; 30E2;;;;N;;;;; +32F3;CIRCLED KATAKANA YA;So;0;L; 30E4;;;;N;;;;; +32F4;CIRCLED KATAKANA YU;So;0;L; 30E6;;;;N;;;;; +32F5;CIRCLED KATAKANA YO;So;0;L; 30E8;;;;N;;;;; +32F6;CIRCLED KATAKANA RA;So;0;L; 30E9;;;;N;;;;; +32F7;CIRCLED KATAKANA RI;So;0;L; 30EA;;;;N;;;;; +32F8;CIRCLED KATAKANA RU;So;0;L; 30EB;;;;N;;;;; +32F9;CIRCLED KATAKANA RE;So;0;L; 30EC;;;;N;;;;; +32FA;CIRCLED KATAKANA RO;So;0;L; 30ED;;;;N;;;;; +32FB;CIRCLED KATAKANA WA;So;0;L; 30EF;;;;N;;;;; +32FC;CIRCLED KATAKANA WI;So;0;L; 30F0;;;;N;;;;; +32FD;CIRCLED KATAKANA WE;So;0;L; 30F1;;;;N;;;;; +32FE;CIRCLED KATAKANA WO;So;0;L; 30F2;;;;N;;;;; +3300;SQUARE APAATO;So;0;L; 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;; +3301;SQUARE ARUHUA;So;0;L; 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;; +3302;SQUARE ANPEA;So;0;L; 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;; +3303;SQUARE AARU;So;0;L; 30A2 30FC 30EB;;;;N;SQUARED AARU;;;; +3304;SQUARE ININGU;So;0;L; 30A4 30CB 30F3 30B0;;;;N;SQUARED ININGU;;;; +3305;SQUARE INTI;So;0;L; 30A4 30F3 30C1;;;;N;SQUARED INTI;;;; +3306;SQUARE UON;So;0;L; 30A6 30A9 30F3;;;;N;SQUARED UON;;;; +3307;SQUARE ESUKUUDO;So;0;L; 30A8 30B9 30AF 30FC 30C9;;;;N;SQUARED ESUKUUDO;;;; +3308;SQUARE EEKAA;So;0;L; 30A8 30FC 30AB 30FC;;;;N;SQUARED EEKAA;;;; +3309;SQUARE ONSU;So;0;L; 30AA 30F3 30B9;;;;N;SQUARED ONSU;;;; +330A;SQUARE OOMU;So;0;L; 30AA 30FC 30E0;;;;N;SQUARED OOMU;;;; +330B;SQUARE KAIRI;So;0;L; 30AB 30A4 30EA;;;;N;SQUARED KAIRI;;;; +330C;SQUARE KARATTO;So;0;L; 30AB 30E9 30C3 30C8;;;;N;SQUARED KARATTO;;;; +330D;SQUARE KARORII;So;0;L; 30AB 30ED 30EA 30FC;;;;N;SQUARED KARORII;;;; +330E;SQUARE GARON;So;0;L; 30AC 30ED 30F3;;;;N;SQUARED GARON;;;; +330F;SQUARE GANMA;So;0;L; 30AC 30F3 30DE;;;;N;SQUARED GANMA;;;; +3310;SQUARE GIGA;So;0;L; 30AE 30AC;;;;N;SQUARED GIGA;;;; +3311;SQUARE GINII;So;0;L; 30AE 30CB 30FC;;;;N;SQUARED GINII;;;; +3312;SQUARE KYURII;So;0;L; 30AD 30E5 30EA 30FC;;;;N;SQUARED KYURII;;;; +3313;SQUARE GIRUDAA;So;0;L; 30AE 30EB 30C0 30FC;;;;N;SQUARED GIRUDAA;;;; +3314;SQUARE KIRO;So;0;L; 30AD 30ED;;;;N;SQUARED KIRO;;;; +3315;SQUARE KIROGURAMU;So;0;L; 30AD 30ED 30B0 30E9 30E0;;;;N;SQUARED KIROGURAMU;;;; +3316;SQUARE KIROMEETORU;So;0;L; 30AD 30ED 30E1 30FC 30C8 30EB;;;;N;SQUARED KIROMEETORU;;;; +3317;SQUARE KIROWATTO;So;0;L; 30AD 30ED 30EF 30C3 30C8;;;;N;SQUARED KIROWATTO;;;; +3318;SQUARE GURAMU;So;0;L; 30B0 30E9 30E0;;;;N;SQUARED GURAMU;;;; +3319;SQUARE GURAMUTON;So;0;L; 30B0 30E9 30E0 30C8 30F3;;;;N;SQUARED GURAMUTON;;;; +331A;SQUARE KURUZEIRO;So;0;L; 30AF 30EB 30BC 30A4 30ED;;;;N;SQUARED KURUZEIRO;;;; +331B;SQUARE KUROONE;So;0;L; 30AF 30ED 30FC 30CD;;;;N;SQUARED KUROONE;;;; +331C;SQUARE KEESU;So;0;L; 30B1 30FC 30B9;;;;N;SQUARED KEESU;;;; +331D;SQUARE KORUNA;So;0;L; 30B3 30EB 30CA;;;;N;SQUARED KORUNA;;;; +331E;SQUARE KOOPO;So;0;L; 30B3 30FC 30DD;;;;N;SQUARED KOOPO;;;; +331F;SQUARE SAIKURU;So;0;L; 30B5 30A4 30AF 30EB;;;;N;SQUARED SAIKURU;;;; +3320;SQUARE SANTIIMU;So;0;L; 30B5 30F3 30C1 30FC 30E0;;;;N;SQUARED SANTIIMU;;;; +3321;SQUARE SIRINGU;So;0;L; 30B7 30EA 30F3 30B0;;;;N;SQUARED SIRINGU;;;; +3322;SQUARE SENTI;So;0;L; 30BB 30F3 30C1;;;;N;SQUARED SENTI;;;; +3323;SQUARE SENTO;So;0;L; 30BB 30F3 30C8;;;;N;SQUARED SENTO;;;; +3324;SQUARE DAASU;So;0;L; 30C0 30FC 30B9;;;;N;SQUARED DAASU;;;; +3325;SQUARE DESI;So;0;L; 30C7 30B7;;;;N;SQUARED DESI;;;; +3326;SQUARE DORU;So;0;L; 30C9 30EB;;;;N;SQUARED DORU;;;; +3327;SQUARE TON;So;0;L; 30C8 30F3;;;;N;SQUARED TON;;;; +3328;SQUARE NANO;So;0;L; 30CA 30CE;;;;N;SQUARED NANO;;;; +3329;SQUARE NOTTO;So;0;L; 30CE 30C3 30C8;;;;N;SQUARED NOTTO;;;; +332A;SQUARE HAITU;So;0;L; 30CF 30A4 30C4;;;;N;SQUARED HAITU;;;; +332B;SQUARE PAASENTO;So;0;L; 30D1 30FC 30BB 30F3 30C8;;;;N;SQUARED PAASENTO;;;; +332C;SQUARE PAATU;So;0;L; 30D1 30FC 30C4;;;;N;SQUARED PAATU;;;; +332D;SQUARE BAARERU;So;0;L; 30D0 30FC 30EC 30EB;;;;N;SQUARED BAARERU;;;; +332E;SQUARE PIASUTORU;So;0;L; 30D4 30A2 30B9 30C8 30EB;;;;N;SQUARED PIASUTORU;;;; +332F;SQUARE PIKURU;So;0;L; 30D4 30AF 30EB;;;;N;SQUARED PIKURU;;;; +3330;SQUARE PIKO;So;0;L; 30D4 30B3;;;;N;SQUARED PIKO;;;; +3331;SQUARE BIRU;So;0;L; 30D3 30EB;;;;N;SQUARED BIRU;;;; +3332;SQUARE HUARADDO;So;0;L; 30D5 30A1 30E9 30C3 30C9;;;;N;SQUARED HUARADDO;;;; +3333;SQUARE HUIITO;So;0;L; 30D5 30A3 30FC 30C8;;;;N;SQUARED HUIITO;;;; +3334;SQUARE BUSSYERU;So;0;L; 30D6 30C3 30B7 30A7 30EB;;;;N;SQUARED BUSSYERU;;;; +3335;SQUARE HURAN;So;0;L; 30D5 30E9 30F3;;;;N;SQUARED HURAN;;;; +3336;SQUARE HEKUTAARU;So;0;L; 30D8 30AF 30BF 30FC 30EB;;;;N;SQUARED HEKUTAARU;;;; +3337;SQUARE PESO;So;0;L; 30DA 30BD;;;;N;SQUARED PESO;;;; +3338;SQUARE PENIHI;So;0;L; 30DA 30CB 30D2;;;;N;SQUARED PENIHI;;;; +3339;SQUARE HERUTU;So;0;L; 30D8 30EB 30C4;;;;N;SQUARED HERUTU;;;; +333A;SQUARE PENSU;So;0;L; 30DA 30F3 30B9;;;;N;SQUARED PENSU;;;; +333B;SQUARE PEEZI;So;0;L; 30DA 30FC 30B8;;;;N;SQUARED PEEZI;;;; +333C;SQUARE BEETA;So;0;L; 30D9 30FC 30BF;;;;N;SQUARED BEETA;;;; +333D;SQUARE POINTO;So;0;L; 30DD 30A4 30F3 30C8;;;;N;SQUARED POINTO;;;; +333E;SQUARE BORUTO;So;0;L; 30DC 30EB 30C8;;;;N;SQUARED BORUTO;;;; +333F;SQUARE HON;So;0;L; 30DB 30F3;;;;N;SQUARED HON;;;; +3340;SQUARE PONDO;So;0;L; 30DD 30F3 30C9;;;;N;SQUARED PONDO;;;; +3341;SQUARE HOORU;So;0;L; 30DB 30FC 30EB;;;;N;SQUARED HOORU;;;; +3342;SQUARE HOON;So;0;L; 30DB 30FC 30F3;;;;N;SQUARED HOON;;;; +3343;SQUARE MAIKURO;So;0;L; 30DE 30A4 30AF 30ED;;;;N;SQUARED MAIKURO;;;; +3344;SQUARE MAIRU;So;0;L; 30DE 30A4 30EB;;;;N;SQUARED MAIRU;;;; +3345;SQUARE MAHHA;So;0;L; 30DE 30C3 30CF;;;;N;SQUARED MAHHA;;;; +3346;SQUARE MARUKU;So;0;L; 30DE 30EB 30AF;;;;N;SQUARED MARUKU;;;; +3347;SQUARE MANSYON;So;0;L; 30DE 30F3 30B7 30E7 30F3;;;;N;SQUARED MANSYON;;;; +3348;SQUARE MIKURON;So;0;L; 30DF 30AF 30ED 30F3;;;;N;SQUARED MIKURON;;;; +3349;SQUARE MIRI;So;0;L; 30DF 30EA;;;;N;SQUARED MIRI;;;; +334A;SQUARE MIRIBAARU;So;0;L; 30DF 30EA 30D0 30FC 30EB;;;;N;SQUARED MIRIBAARU;;;; +334B;SQUARE MEGA;So;0;L; 30E1 30AC;;;;N;SQUARED MEGA;;;; +334C;SQUARE MEGATON;So;0;L; 30E1 30AC 30C8 30F3;;;;N;SQUARED MEGATON;;;; +334D;SQUARE MEETORU;So;0;L; 30E1 30FC 30C8 30EB;;;;N;SQUARED MEETORU;;;; +334E;SQUARE YAADO;So;0;L; 30E4 30FC 30C9;;;;N;SQUARED YAADO;;;; +334F;SQUARE YAARU;So;0;L; 30E4 30FC 30EB;;;;N;SQUARED YAARU;;;; +3350;SQUARE YUAN;So;0;L; 30E6 30A2 30F3;;;;N;SQUARED YUAN;;;; +3351;SQUARE RITTORU;So;0;L; 30EA 30C3 30C8 30EB;;;;N;SQUARED RITTORU;;;; +3352;SQUARE RIRA;So;0;L; 30EA 30E9;;;;N;SQUARED RIRA;;;; +3353;SQUARE RUPII;So;0;L; 30EB 30D4 30FC;;;;N;SQUARED RUPII;;;; +3354;SQUARE RUUBURU;So;0;L; 30EB 30FC 30D6 30EB;;;;N;SQUARED RUUBURU;;;; +3355;SQUARE REMU;So;0;L; 30EC 30E0;;;;N;SQUARED REMU;;;; +3356;SQUARE RENTOGEN;So;0;L; 30EC 30F3 30C8 30B2 30F3;;;;N;SQUARED RENTOGEN;;;; +3357;SQUARE WATTO;So;0;L; 30EF 30C3 30C8;;;;N;SQUARED WATTO;;;; +3358;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO;So;0;L; 0030 70B9;;;;N;;;;; +3359;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE;So;0;L; 0031 70B9;;;;N;;;;; +335A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO;So;0;L; 0032 70B9;;;;N;;;;; +335B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE;So;0;L; 0033 70B9;;;;N;;;;; +335C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR;So;0;L; 0034 70B9;;;;N;;;;; +335D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE;So;0;L; 0035 70B9;;;;N;;;;; +335E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX;So;0;L; 0036 70B9;;;;N;;;;; +335F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN;So;0;L; 0037 70B9;;;;N;;;;; +3360;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT;So;0;L; 0038 70B9;;;;N;;;;; +3361;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE;So;0;L; 0039 70B9;;;;N;;;;; +3362;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN;So;0;L; 0031 0030 70B9;;;;N;;;;; +3363;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN;So;0;L; 0031 0031 70B9;;;;N;;;;; +3364;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE;So;0;L; 0031 0032 70B9;;;;N;;;;; +3365;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN;So;0;L; 0031 0033 70B9;;;;N;;;;; +3366;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN;So;0;L; 0031 0034 70B9;;;;N;;;;; +3367;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN;So;0;L; 0031 0035 70B9;;;;N;;;;; +3368;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN;So;0;L; 0031 0036 70B9;;;;N;;;;; +3369;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN;So;0;L; 0031 0037 70B9;;;;N;;;;; +336A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN;So;0;L; 0031 0038 70B9;;;;N;;;;; +336B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN;So;0;L; 0031 0039 70B9;;;;N;;;;; +336C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY;So;0;L; 0032 0030 70B9;;;;N;;;;; +336D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE;So;0;L; 0032 0031 70B9;;;;N;;;;; +336E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO;So;0;L; 0032 0032 70B9;;;;N;;;;; +336F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE;So;0;L; 0032 0033 70B9;;;;N;;;;; +3370;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR;So;0;L; 0032 0034 70B9;;;;N;;;;; +3371;SQUARE HPA;So;0;L; 0068 0050 0061;;;;N;;;;; +3372;SQUARE DA;So;0;L; 0064 0061;;;;N;;;;; +3373;SQUARE AU;So;0;L; 0041 0055;;;;N;;;;; +3374;SQUARE BAR;So;0;L; 0062 0061 0072;;;;N;;;;; +3375;SQUARE OV;So;0;L; 006F 0056;;;;N;;;;; +3376;SQUARE PC;So;0;L; 0070 0063;;;;N;;;;; +3377;SQUARE DM;So;0;ON; 0064 006D;;;;N;;;;; +3378;SQUARE DM SQUARED;So;0;ON; 0064 006D 00B2;;;;N;;;;; +3379;SQUARE DM CUBED;So;0;ON; 0064 006D 00B3;;;;N;;;;; +337A;SQUARE IU;So;0;ON; 0049 0055;;;;N;;;;; +337B;SQUARE ERA NAME HEISEI;So;0;L; 5E73 6210;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME HEISEI;;;; +337C;SQUARE ERA NAME SYOUWA;So;0;L; 662D 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME SYOUWA;;;; +337D;SQUARE ERA NAME TAISYOU;So;0;L; 5927 6B63;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME TAISYOU;;;; +337E;SQUARE ERA NAME MEIZI;So;0;L; 660E 6CBB;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME MEIZI;;;; +337F;SQUARE CORPORATION;So;0;L; 682A 5F0F 4F1A 793E;;;;N;SQUARED FOUR IDEOGRAPHS CORPORATION;;;; +3380;SQUARE PA AMPS;So;0;L; 0070 0041;;;;N;SQUARED PA AMPS;;;; +3381;SQUARE NA;So;0;L; 006E 0041;;;;N;SQUARED NA;;;; +3382;SQUARE MU A;So;0;L; 03BC 0041;;;;N;SQUARED MU A;;;; +3383;SQUARE MA;So;0;L; 006D 0041;;;;N;SQUARED MA;;;; +3384;SQUARE KA;So;0;L; 006B 0041;;;;N;SQUARED KA;;;; +3385;SQUARE KB;So;0;L; 004B 0042;;;;N;SQUARED KB;;;; +3386;SQUARE MB;So;0;L; 004D 0042;;;;N;SQUARED MB;;;; +3387;SQUARE GB;So;0;L; 0047 0042;;;;N;SQUARED GB;;;; +3388;SQUARE CAL;So;0;L; 0063 0061 006C;;;;N;SQUARED CAL;;;; +3389;SQUARE KCAL;So;0;L; 006B 0063 0061 006C;;;;N;SQUARED KCAL;;;; +338A;SQUARE PF;So;0;L; 0070 0046;;;;N;SQUARED PF;;;; +338B;SQUARE NF;So;0;L; 006E 0046;;;;N;SQUARED NF;;;; +338C;SQUARE MU F;So;0;L; 03BC 0046;;;;N;SQUARED MU F;;;; +338D;SQUARE MU G;So;0;L; 03BC 0067;;;;N;SQUARED MU G;;;; +338E;SQUARE MG;So;0;L; 006D 0067;;;;N;SQUARED MG;;;; +338F;SQUARE KG;So;0;L; 006B 0067;;;;N;SQUARED KG;;;; +3390;SQUARE HZ;So;0;L; 0048 007A;;;;N;SQUARED HZ;;;; +3391;SQUARE KHZ;So;0;L; 006B 0048 007A;;;;N;SQUARED KHZ;;;; +3392;SQUARE MHZ;So;0;L; 004D 0048 007A;;;;N;SQUARED MHZ;;;; +3393;SQUARE GHZ;So;0;L; 0047 0048 007A;;;;N;SQUARED GHZ;;;; +3394;SQUARE THZ;So;0;L; 0054 0048 007A;;;;N;SQUARED THZ;;;; +3395;SQUARE MU L;So;0;L; 03BC 2113;;;;N;SQUARED MU L;;;; +3396;SQUARE ML;So;0;L; 006D 2113;;;;N;SQUARED ML;;;; +3397;SQUARE DL;So;0;L; 0064 2113;;;;N;SQUARED DL;;;; +3398;SQUARE KL;So;0;L; 006B 2113;;;;N;SQUARED KL;;;; +3399;SQUARE FM;So;0;L; 0066 006D;;;;N;SQUARED FM;;;; +339A;SQUARE NM;So;0;L; 006E 006D;;;;N;SQUARED NM;;;; +339B;SQUARE MU M;So;0;L; 03BC 006D;;;;N;SQUARED MU M;;;; +339C;SQUARE MM;So;0;L; 006D 006D;;;;N;SQUARED MM;;;; +339D;SQUARE CM;So;0;L; 0063 006D;;;;N;SQUARED CM;;;; +339E;SQUARE KM;So;0;L; 006B 006D;;;;N;SQUARED KM;;;; +339F;SQUARE MM SQUARED;So;0;L; 006D 006D 00B2;;;;N;SQUARED MM SQUARED;;;; +33A0;SQUARE CM SQUARED;So;0;L; 0063 006D 00B2;;;;N;SQUARED CM SQUARED;;;; +33A1;SQUARE M SQUARED;So;0;L; 006D 00B2;;;;N;SQUARED M SQUARED;;;; +33A2;SQUARE KM SQUARED;So;0;L; 006B 006D 00B2;;;;N;SQUARED KM SQUARED;;;; +33A3;SQUARE MM CUBED;So;0;L; 006D 006D 00B3;;;;N;SQUARED MM CUBED;;;; +33A4;SQUARE CM CUBED;So;0;L; 0063 006D 00B3;;;;N;SQUARED CM CUBED;;;; +33A5;SQUARE M CUBED;So;0;L; 006D 00B3;;;;N;SQUARED M CUBED;;;; +33A6;SQUARE KM CUBED;So;0;L; 006B 006D 00B3;;;;N;SQUARED KM CUBED;;;; +33A7;SQUARE M OVER S;So;0;L; 006D 2215 0073;;;;N;SQUARED M OVER S;;;; +33A8;SQUARE M OVER S SQUARED;So;0;L; 006D 2215 0073 00B2;;;;N;SQUARED M OVER S SQUARED;;;; +33A9;SQUARE PA;So;0;L; 0050 0061;;;;N;SQUARED PA;;;; +33AA;SQUARE KPA;So;0;L; 006B 0050 0061;;;;N;SQUARED KPA;;;; +33AB;SQUARE MPA;So;0;L; 004D 0050 0061;;;;N;SQUARED MPA;;;; +33AC;SQUARE GPA;So;0;L; 0047 0050 0061;;;;N;SQUARED GPA;;;; +33AD;SQUARE RAD;So;0;L; 0072 0061 0064;;;;N;SQUARED RAD;;;; +33AE;SQUARE RAD OVER S;So;0;L; 0072 0061 0064 2215 0073;;;;N;SQUARED RAD OVER S;;;; +33AF;SQUARE RAD OVER S SQUARED;So;0;L; 0072 0061 0064 2215 0073 00B2;;;;N;SQUARED RAD OVER S SQUARED;;;; +33B0;SQUARE PS;So;0;L; 0070 0073;;;;N;SQUARED PS;;;; +33B1;SQUARE NS;So;0;L; 006E 0073;;;;N;SQUARED NS;;;; +33B2;SQUARE MU S;So;0;L; 03BC 0073;;;;N;SQUARED MU S;;;; +33B3;SQUARE MS;So;0;L; 006D 0073;;;;N;SQUARED MS;;;; +33B4;SQUARE PV;So;0;L; 0070 0056;;;;N;SQUARED PV;;;; +33B5;SQUARE NV;So;0;L; 006E 0056;;;;N;SQUARED NV;;;; +33B6;SQUARE MU V;So;0;L; 03BC 0056;;;;N;SQUARED MU V;;;; +33B7;SQUARE MV;So;0;L; 006D 0056;;;;N;SQUARED MV;;;; +33B8;SQUARE KV;So;0;L; 006B 0056;;;;N;SQUARED KV;;;; +33B9;SQUARE MV MEGA;So;0;L; 004D 0056;;;;N;SQUARED MV MEGA;;;; +33BA;SQUARE PW;So;0;L; 0070 0057;;;;N;SQUARED PW;;;; +33BB;SQUARE NW;So;0;L; 006E 0057;;;;N;SQUARED NW;;;; +33BC;SQUARE MU W;So;0;L; 03BC 0057;;;;N;SQUARED MU W;;;; +33BD;SQUARE MW;So;0;L; 006D 0057;;;;N;SQUARED MW;;;; +33BE;SQUARE KW;So;0;L; 006B 0057;;;;N;SQUARED KW;;;; +33BF;SQUARE MW MEGA;So;0;L; 004D 0057;;;;N;SQUARED MW MEGA;;;; +33C0;SQUARE K OHM;So;0;L; 006B 03A9;;;;N;SQUARED K OHM;;;; +33C1;SQUARE M OHM;So;0;L; 004D 03A9;;;;N;SQUARED M OHM;;;; +33C2;SQUARE AM;So;0;L; 0061 002E 006D 002E;;;;N;SQUARED AM;;;; +33C3;SQUARE BQ;So;0;L; 0042 0071;;;;N;SQUARED BQ;;;; +33C4;SQUARE CC;So;0;L; 0063 0063;;;;N;SQUARED CC;;;; +33C5;SQUARE CD;So;0;L; 0063 0064;;;;N;SQUARED CD;;;; +33C6;SQUARE C OVER KG;So;0;L; 0043 2215 006B 0067;;;;N;SQUARED C OVER KG;;;; +33C7;SQUARE CO;So;0;L; 0043 006F 002E;;;;N;SQUARED CO;;;; +33C8;SQUARE DB;So;0;L; 0064 0042;;;;N;SQUARED DB;;;; +33C9;SQUARE GY;So;0;L; 0047 0079;;;;N;SQUARED GY;;;; +33CA;SQUARE HA;So;0;L; 0068 0061;;;;N;SQUARED HA;;;; +33CB;SQUARE HP;So;0;L; 0048 0050;;;;N;SQUARED HP;;;; +33CC;SQUARE IN;So;0;L; 0069 006E;;;;N;SQUARED IN;;;; +33CD;SQUARE KK;So;0;L; 004B 004B;;;;N;SQUARED KK;;;; +33CE;SQUARE KM CAPITAL;So;0;L; 004B 004D;;;;N;SQUARED KM CAPITAL;;;; +33CF;SQUARE KT;So;0;L; 006B 0074;;;;N;SQUARED KT;;;; +33D0;SQUARE LM;So;0;L; 006C 006D;;;;N;SQUARED LM;;;; +33D1;SQUARE LN;So;0;L; 006C 006E;;;;N;SQUARED LN;;;; +33D2;SQUARE LOG;So;0;L; 006C 006F 0067;;;;N;SQUARED LOG;;;; +33D3;SQUARE LX;So;0;L; 006C 0078;;;;N;SQUARED LX;;;; +33D4;SQUARE MB SMALL;So;0;L; 006D 0062;;;;N;SQUARED MB SMALL;;;; +33D5;SQUARE MIL;So;0;L; 006D 0069 006C;;;;N;SQUARED MIL;;;; +33D6;SQUARE MOL;So;0;L; 006D 006F 006C;;;;N;SQUARED MOL;;;; +33D7;SQUARE PH;So;0;L; 0050 0048;;;;N;SQUARED PH;;;; +33D8;SQUARE PM;So;0;L; 0070 002E 006D 002E;;;;N;SQUARED PM;;;; +33D9;SQUARE PPM;So;0;L; 0050 0050 004D;;;;N;SQUARED PPM;;;; +33DA;SQUARE PR;So;0;L; 0050 0052;;;;N;SQUARED PR;;;; +33DB;SQUARE SR;So;0;L; 0073 0072;;;;N;SQUARED SR;;;; +33DC;SQUARE SV;So;0;L; 0053 0076;;;;N;SQUARED SV;;;; +33DD;SQUARE WB;So;0;L; 0057 0062;;;;N;SQUARED WB;;;; +33DE;SQUARE V OVER M;So;0;ON; 0056 2215 006D;;;;N;;;;; +33DF;SQUARE A OVER M;So;0;ON; 0041 2215 006D;;;;N;;;;; +33E0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE;So;0;L; 0031 65E5;;;;N;;;;; +33E1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO;So;0;L; 0032 65E5;;;;N;;;;; +33E2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE;So;0;L; 0033 65E5;;;;N;;;;; +33E3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR;So;0;L; 0034 65E5;;;;N;;;;; +33E4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE;So;0;L; 0035 65E5;;;;N;;;;; +33E5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX;So;0;L; 0036 65E5;;;;N;;;;; +33E6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN;So;0;L; 0037 65E5;;;;N;;;;; +33E7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT;So;0;L; 0038 65E5;;;;N;;;;; +33E8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE;So;0;L; 0039 65E5;;;;N;;;;; +33E9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN;So;0;L; 0031 0030 65E5;;;;N;;;;; +33EA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN;So;0;L; 0031 0031 65E5;;;;N;;;;; +33EB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE;So;0;L; 0031 0032 65E5;;;;N;;;;; +33EC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN;So;0;L; 0031 0033 65E5;;;;N;;;;; +33ED;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN;So;0;L; 0031 0034 65E5;;;;N;;;;; +33EE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN;So;0;L; 0031 0035 65E5;;;;N;;;;; +33EF;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN;So;0;L; 0031 0036 65E5;;;;N;;;;; +33F0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN;So;0;L; 0031 0037 65E5;;;;N;;;;; +33F1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN;So;0;L; 0031 0038 65E5;;;;N;;;;; +33F2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN;So;0;L; 0031 0039 65E5;;;;N;;;;; +33F3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY;So;0;L; 0032 0030 65E5;;;;N;;;;; +33F4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE;So;0;L; 0032 0031 65E5;;;;N;;;;; +33F5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO;So;0;L; 0032 0032 65E5;;;;N;;;;; +33F6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE;So;0;L; 0032 0033 65E5;;;;N;;;;; +33F7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR;So;0;L; 0032 0034 65E5;;;;N;;;;; +33F8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE;So;0;L; 0032 0035 65E5;;;;N;;;;; +33F9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX;So;0;L; 0032 0036 65E5;;;;N;;;;; +33FA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN;So;0;L; 0032 0037 65E5;;;;N;;;;; +33FB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT;So;0;L; 0032 0038 65E5;;;;N;;;;; +33FC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE;So;0;L; 0032 0039 65E5;;;;N;;;;; +33FD;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY;So;0;L; 0033 0030 65E5;;;;N;;;;; +33FE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE;So;0;L; 0033 0031 65E5;;;;N;;;;; +33FF;SQUARE GAL;So;0;ON; 0067 0061 006C;;;;N;;;;; +4DC0;HEXAGRAM FOR THE CREATIVE HEAVEN;So;0;ON;;;;;N;;;;; +4DC1;HEXAGRAM FOR THE RECEPTIVE EARTH;So;0;ON;;;;;N;;;;; +4DC2;HEXAGRAM FOR DIFFICULTY AT THE BEGINNING;So;0;ON;;;;;N;;;;; +4DC3;HEXAGRAM FOR YOUTHFUL FOLLY;So;0;ON;;;;;N;;;;; +4DC4;HEXAGRAM FOR WAITING;So;0;ON;;;;;N;;;;; +4DC5;HEXAGRAM FOR CONFLICT;So;0;ON;;;;;N;;;;; +4DC6;HEXAGRAM FOR THE ARMY;So;0;ON;;;;;N;;;;; +4DC7;HEXAGRAM FOR HOLDING TOGETHER;So;0;ON;;;;;N;;;;; +4DC8;HEXAGRAM FOR SMALL TAMING;So;0;ON;;;;;N;;;;; +4DC9;HEXAGRAM FOR TREADING;So;0;ON;;;;;N;;;;; +4DCA;HEXAGRAM FOR PEACE;So;0;ON;;;;;N;;;;; +4DCB;HEXAGRAM FOR STANDSTILL;So;0;ON;;;;;N;;;;; +4DCC;HEXAGRAM FOR FELLOWSHIP;So;0;ON;;;;;N;;;;; +4DCD;HEXAGRAM FOR GREAT POSSESSION;So;0;ON;;;;;N;;;;; +4DCE;HEXAGRAM FOR MODESTY;So;0;ON;;;;;N;;;;; +4DCF;HEXAGRAM FOR ENTHUSIASM;So;0;ON;;;;;N;;;;; +4DD0;HEXAGRAM FOR FOLLOWING;So;0;ON;;;;;N;;;;; +4DD1;HEXAGRAM FOR WORK ON THE DECAYED;So;0;ON;;;;;N;;;;; +4DD2;HEXAGRAM FOR APPROACH;So;0;ON;;;;;N;;;;; +4DD3;HEXAGRAM FOR CONTEMPLATION;So;0;ON;;;;;N;;;;; +4DD4;HEXAGRAM FOR BITING THROUGH;So;0;ON;;;;;N;;;;; +4DD5;HEXAGRAM FOR GRACE;So;0;ON;;;;;N;;;;; +4DD6;HEXAGRAM FOR SPLITTING APART;So;0;ON;;;;;N;;;;; +4DD7;HEXAGRAM FOR RETURN;So;0;ON;;;;;N;;;;; +4DD8;HEXAGRAM FOR INNOCENCE;So;0;ON;;;;;N;;;;; +4DD9;HEXAGRAM FOR GREAT TAMING;So;0;ON;;;;;N;;;;; +4DDA;HEXAGRAM FOR MOUTH CORNERS;So;0;ON;;;;;N;;;;; +4DDB;HEXAGRAM FOR GREAT PREPONDERANCE;So;0;ON;;;;;N;;;;; +4DDC;HEXAGRAM FOR THE ABYSMAL WATER;So;0;ON;;;;;N;;;;; +4DDD;HEXAGRAM FOR THE CLINGING FIRE;So;0;ON;;;;;N;;;;; +4DDE;HEXAGRAM FOR INFLUENCE;So;0;ON;;;;;N;;;;; +4DDF;HEXAGRAM FOR DURATION;So;0;ON;;;;;N;;;;; +4DE0;HEXAGRAM FOR RETREAT;So;0;ON;;;;;N;;;;; +4DE1;HEXAGRAM FOR GREAT POWER;So;0;ON;;;;;N;;;;; +4DE2;HEXAGRAM FOR PROGRESS;So;0;ON;;;;;N;;;;; +4DE3;HEXAGRAM FOR DARKENING OF THE LIGHT;So;0;ON;;;;;N;;;;; +4DE4;HEXAGRAM FOR THE FAMILY;So;0;ON;;;;;N;;;;; +4DE5;HEXAGRAM FOR OPPOSITION;So;0;ON;;;;;N;;;;; +4DE6;HEXAGRAM FOR OBSTRUCTION;So;0;ON;;;;;N;;;;; +4DE7;HEXAGRAM FOR DELIVERANCE;So;0;ON;;;;;N;;;;; +4DE8;HEXAGRAM FOR DECREASE;So;0;ON;;;;;N;;;;; +4DE9;HEXAGRAM FOR INCREASE;So;0;ON;;;;;N;;;;; +4DEA;HEXAGRAM FOR BREAKTHROUGH;So;0;ON;;;;;N;;;;; +4DEB;HEXAGRAM FOR COMING TO MEET;So;0;ON;;;;;N;;;;; +4DEC;HEXAGRAM FOR GATHERING TOGETHER;So;0;ON;;;;;N;;;;; +4DED;HEXAGRAM FOR PUSHING UPWARD;So;0;ON;;;;;N;;;;; +4DEE;HEXAGRAM FOR OPPRESSION;So;0;ON;;;;;N;;;;; +4DEF;HEXAGRAM FOR THE WELL;So;0;ON;;;;;N;;;;; +4DF0;HEXAGRAM FOR REVOLUTION;So;0;ON;;;;;N;;;;; +4DF1;HEXAGRAM FOR THE CAULDRON;So;0;ON;;;;;N;;;;; +4DF2;HEXAGRAM FOR THE AROUSING THUNDER;So;0;ON;;;;;N;;;;; +4DF3;HEXAGRAM FOR THE KEEPING STILL MOUNTAIN;So;0;ON;;;;;N;;;;; +4DF4;HEXAGRAM FOR DEVELOPMENT;So;0;ON;;;;;N;;;;; +4DF5;HEXAGRAM FOR THE MARRYING MAIDEN;So;0;ON;;;;;N;;;;; +4DF6;HEXAGRAM FOR ABUNDANCE;So;0;ON;;;;;N;;;;; +4DF7;HEXAGRAM FOR THE WANDERER;So;0;ON;;;;;N;;;;; +4DF8;HEXAGRAM FOR THE GENTLE WIND;So;0;ON;;;;;N;;;;; +4DF9;HEXAGRAM FOR THE JOYOUS LAKE;So;0;ON;;;;;N;;;;; +4DFA;HEXAGRAM FOR DISPERSION;So;0;ON;;;;;N;;;;; +4DFB;HEXAGRAM FOR LIMITATION;So;0;ON;;;;;N;;;;; +4DFC;HEXAGRAM FOR INNER TRUTH;So;0;ON;;;;;N;;;;; +4DFD;HEXAGRAM FOR SMALL PREPONDERANCE;So;0;ON;;;;;N;;;;; +4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;; +4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;; +A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;; +A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;; +A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;; +A003;YI SYLLABLE IP;Lo;0;L;;;;;N;;;;; +A004;YI SYLLABLE IET;Lo;0;L;;;;;N;;;;; +A005;YI SYLLABLE IEX;Lo;0;L;;;;;N;;;;; +A006;YI SYLLABLE IE;Lo;0;L;;;;;N;;;;; +A007;YI SYLLABLE IEP;Lo;0;L;;;;;N;;;;; +A008;YI SYLLABLE AT;Lo;0;L;;;;;N;;;;; +A009;YI SYLLABLE AX;Lo;0;L;;;;;N;;;;; +A00A;YI SYLLABLE A;Lo;0;L;;;;;N;;;;; +A00B;YI SYLLABLE AP;Lo;0;L;;;;;N;;;;; +A00C;YI SYLLABLE UOX;Lo;0;L;;;;;N;;;;; +A00D;YI SYLLABLE UO;Lo;0;L;;;;;N;;;;; +A00E;YI SYLLABLE UOP;Lo;0;L;;;;;N;;;;; +A00F;YI SYLLABLE OT;Lo;0;L;;;;;N;;;;; +A010;YI SYLLABLE OX;Lo;0;L;;;;;N;;;;; +A011;YI SYLLABLE O;Lo;0;L;;;;;N;;;;; +A012;YI SYLLABLE OP;Lo;0;L;;;;;N;;;;; +A013;YI SYLLABLE EX;Lo;0;L;;;;;N;;;;; +A014;YI SYLLABLE E;Lo;0;L;;;;;N;;;;; +A015;YI SYLLABLE WU;Lm;0;L;;;;;N;;;;; +A016;YI SYLLABLE BIT;Lo;0;L;;;;;N;;;;; +A017;YI SYLLABLE BIX;Lo;0;L;;;;;N;;;;; +A018;YI SYLLABLE BI;Lo;0;L;;;;;N;;;;; +A019;YI SYLLABLE BIP;Lo;0;L;;;;;N;;;;; +A01A;YI SYLLABLE BIET;Lo;0;L;;;;;N;;;;; +A01B;YI SYLLABLE BIEX;Lo;0;L;;;;;N;;;;; +A01C;YI SYLLABLE BIE;Lo;0;L;;;;;N;;;;; +A01D;YI SYLLABLE BIEP;Lo;0;L;;;;;N;;;;; +A01E;YI SYLLABLE BAT;Lo;0;L;;;;;N;;;;; +A01F;YI SYLLABLE BAX;Lo;0;L;;;;;N;;;;; +A020;YI SYLLABLE BA;Lo;0;L;;;;;N;;;;; +A021;YI SYLLABLE BAP;Lo;0;L;;;;;N;;;;; +A022;YI SYLLABLE BUOX;Lo;0;L;;;;;N;;;;; +A023;YI SYLLABLE BUO;Lo;0;L;;;;;N;;;;; +A024;YI SYLLABLE BUOP;Lo;0;L;;;;;N;;;;; +A025;YI SYLLABLE BOT;Lo;0;L;;;;;N;;;;; +A026;YI SYLLABLE BOX;Lo;0;L;;;;;N;;;;; +A027;YI SYLLABLE BO;Lo;0;L;;;;;N;;;;; +A028;YI SYLLABLE BOP;Lo;0;L;;;;;N;;;;; +A029;YI SYLLABLE BEX;Lo;0;L;;;;;N;;;;; +A02A;YI SYLLABLE BE;Lo;0;L;;;;;N;;;;; +A02B;YI SYLLABLE BEP;Lo;0;L;;;;;N;;;;; +A02C;YI SYLLABLE BUT;Lo;0;L;;;;;N;;;;; +A02D;YI SYLLABLE BUX;Lo;0;L;;;;;N;;;;; +A02E;YI SYLLABLE BU;Lo;0;L;;;;;N;;;;; +A02F;YI SYLLABLE BUP;Lo;0;L;;;;;N;;;;; +A030;YI SYLLABLE BURX;Lo;0;L;;;;;N;;;;; +A031;YI SYLLABLE BUR;Lo;0;L;;;;;N;;;;; +A032;YI SYLLABLE BYT;Lo;0;L;;;;;N;;;;; +A033;YI SYLLABLE BYX;Lo;0;L;;;;;N;;;;; +A034;YI SYLLABLE BY;Lo;0;L;;;;;N;;;;; +A035;YI SYLLABLE BYP;Lo;0;L;;;;;N;;;;; +A036;YI SYLLABLE BYRX;Lo;0;L;;;;;N;;;;; +A037;YI SYLLABLE BYR;Lo;0;L;;;;;N;;;;; +A038;YI SYLLABLE PIT;Lo;0;L;;;;;N;;;;; +A039;YI SYLLABLE PIX;Lo;0;L;;;;;N;;;;; +A03A;YI SYLLABLE PI;Lo;0;L;;;;;N;;;;; +A03B;YI SYLLABLE PIP;Lo;0;L;;;;;N;;;;; +A03C;YI SYLLABLE PIEX;Lo;0;L;;;;;N;;;;; +A03D;YI SYLLABLE PIE;Lo;0;L;;;;;N;;;;; +A03E;YI SYLLABLE PIEP;Lo;0;L;;;;;N;;;;; +A03F;YI SYLLABLE PAT;Lo;0;L;;;;;N;;;;; +A040;YI SYLLABLE PAX;Lo;0;L;;;;;N;;;;; +A041;YI SYLLABLE PA;Lo;0;L;;;;;N;;;;; +A042;YI SYLLABLE PAP;Lo;0;L;;;;;N;;;;; +A043;YI SYLLABLE PUOX;Lo;0;L;;;;;N;;;;; +A044;YI SYLLABLE PUO;Lo;0;L;;;;;N;;;;; +A045;YI SYLLABLE PUOP;Lo;0;L;;;;;N;;;;; +A046;YI SYLLABLE POT;Lo;0;L;;;;;N;;;;; +A047;YI SYLLABLE POX;Lo;0;L;;;;;N;;;;; +A048;YI SYLLABLE PO;Lo;0;L;;;;;N;;;;; +A049;YI SYLLABLE POP;Lo;0;L;;;;;N;;;;; +A04A;YI SYLLABLE PUT;Lo;0;L;;;;;N;;;;; +A04B;YI SYLLABLE PUX;Lo;0;L;;;;;N;;;;; +A04C;YI SYLLABLE PU;Lo;0;L;;;;;N;;;;; +A04D;YI SYLLABLE PUP;Lo;0;L;;;;;N;;;;; +A04E;YI SYLLABLE PURX;Lo;0;L;;;;;N;;;;; +A04F;YI SYLLABLE PUR;Lo;0;L;;;;;N;;;;; +A050;YI SYLLABLE PYT;Lo;0;L;;;;;N;;;;; +A051;YI SYLLABLE PYX;Lo;0;L;;;;;N;;;;; +A052;YI SYLLABLE PY;Lo;0;L;;;;;N;;;;; +A053;YI SYLLABLE PYP;Lo;0;L;;;;;N;;;;; +A054;YI SYLLABLE PYRX;Lo;0;L;;;;;N;;;;; +A055;YI SYLLABLE PYR;Lo;0;L;;;;;N;;;;; +A056;YI SYLLABLE BBIT;Lo;0;L;;;;;N;;;;; +A057;YI SYLLABLE BBIX;Lo;0;L;;;;;N;;;;; +A058;YI SYLLABLE BBI;Lo;0;L;;;;;N;;;;; +A059;YI SYLLABLE BBIP;Lo;0;L;;;;;N;;;;; +A05A;YI SYLLABLE BBIET;Lo;0;L;;;;;N;;;;; +A05B;YI SYLLABLE BBIEX;Lo;0;L;;;;;N;;;;; +A05C;YI SYLLABLE BBIE;Lo;0;L;;;;;N;;;;; +A05D;YI SYLLABLE BBIEP;Lo;0;L;;;;;N;;;;; +A05E;YI SYLLABLE BBAT;Lo;0;L;;;;;N;;;;; +A05F;YI SYLLABLE BBAX;Lo;0;L;;;;;N;;;;; +A060;YI SYLLABLE BBA;Lo;0;L;;;;;N;;;;; +A061;YI SYLLABLE BBAP;Lo;0;L;;;;;N;;;;; +A062;YI SYLLABLE BBUOX;Lo;0;L;;;;;N;;;;; +A063;YI SYLLABLE BBUO;Lo;0;L;;;;;N;;;;; +A064;YI SYLLABLE BBUOP;Lo;0;L;;;;;N;;;;; +A065;YI SYLLABLE BBOT;Lo;0;L;;;;;N;;;;; +A066;YI SYLLABLE BBOX;Lo;0;L;;;;;N;;;;; +A067;YI SYLLABLE BBO;Lo;0;L;;;;;N;;;;; +A068;YI SYLLABLE BBOP;Lo;0;L;;;;;N;;;;; +A069;YI SYLLABLE BBEX;Lo;0;L;;;;;N;;;;; +A06A;YI SYLLABLE BBE;Lo;0;L;;;;;N;;;;; +A06B;YI SYLLABLE BBEP;Lo;0;L;;;;;N;;;;; +A06C;YI SYLLABLE BBUT;Lo;0;L;;;;;N;;;;; +A06D;YI SYLLABLE BBUX;Lo;0;L;;;;;N;;;;; +A06E;YI SYLLABLE BBU;Lo;0;L;;;;;N;;;;; +A06F;YI SYLLABLE BBUP;Lo;0;L;;;;;N;;;;; +A070;YI SYLLABLE BBURX;Lo;0;L;;;;;N;;;;; +A071;YI SYLLABLE BBUR;Lo;0;L;;;;;N;;;;; +A072;YI SYLLABLE BBYT;Lo;0;L;;;;;N;;;;; +A073;YI SYLLABLE BBYX;Lo;0;L;;;;;N;;;;; +A074;YI SYLLABLE BBY;Lo;0;L;;;;;N;;;;; +A075;YI SYLLABLE BBYP;Lo;0;L;;;;;N;;;;; +A076;YI SYLLABLE NBIT;Lo;0;L;;;;;N;;;;; +A077;YI SYLLABLE NBIX;Lo;0;L;;;;;N;;;;; +A078;YI SYLLABLE NBI;Lo;0;L;;;;;N;;;;; +A079;YI SYLLABLE NBIP;Lo;0;L;;;;;N;;;;; +A07A;YI SYLLABLE NBIEX;Lo;0;L;;;;;N;;;;; +A07B;YI SYLLABLE NBIE;Lo;0;L;;;;;N;;;;; +A07C;YI SYLLABLE NBIEP;Lo;0;L;;;;;N;;;;; +A07D;YI SYLLABLE NBAT;Lo;0;L;;;;;N;;;;; +A07E;YI SYLLABLE NBAX;Lo;0;L;;;;;N;;;;; +A07F;YI SYLLABLE NBA;Lo;0;L;;;;;N;;;;; +A080;YI SYLLABLE NBAP;Lo;0;L;;;;;N;;;;; +A081;YI SYLLABLE NBOT;Lo;0;L;;;;;N;;;;; +A082;YI SYLLABLE NBOX;Lo;0;L;;;;;N;;;;; +A083;YI SYLLABLE NBO;Lo;0;L;;;;;N;;;;; +A084;YI SYLLABLE NBOP;Lo;0;L;;;;;N;;;;; +A085;YI SYLLABLE NBUT;Lo;0;L;;;;;N;;;;; +A086;YI SYLLABLE NBUX;Lo;0;L;;;;;N;;;;; +A087;YI SYLLABLE NBU;Lo;0;L;;;;;N;;;;; +A088;YI SYLLABLE NBUP;Lo;0;L;;;;;N;;;;; +A089;YI SYLLABLE NBURX;Lo;0;L;;;;;N;;;;; +A08A;YI SYLLABLE NBUR;Lo;0;L;;;;;N;;;;; +A08B;YI SYLLABLE NBYT;Lo;0;L;;;;;N;;;;; +A08C;YI SYLLABLE NBYX;Lo;0;L;;;;;N;;;;; +A08D;YI SYLLABLE NBY;Lo;0;L;;;;;N;;;;; +A08E;YI SYLLABLE NBYP;Lo;0;L;;;;;N;;;;; +A08F;YI SYLLABLE NBYRX;Lo;0;L;;;;;N;;;;; +A090;YI SYLLABLE NBYR;Lo;0;L;;;;;N;;;;; +A091;YI SYLLABLE HMIT;Lo;0;L;;;;;N;;;;; +A092;YI SYLLABLE HMIX;Lo;0;L;;;;;N;;;;; +A093;YI SYLLABLE HMI;Lo;0;L;;;;;N;;;;; +A094;YI SYLLABLE HMIP;Lo;0;L;;;;;N;;;;; +A095;YI SYLLABLE HMIEX;Lo;0;L;;;;;N;;;;; +A096;YI SYLLABLE HMIE;Lo;0;L;;;;;N;;;;; +A097;YI SYLLABLE HMIEP;Lo;0;L;;;;;N;;;;; +A098;YI SYLLABLE HMAT;Lo;0;L;;;;;N;;;;; +A099;YI SYLLABLE HMAX;Lo;0;L;;;;;N;;;;; +A09A;YI SYLLABLE HMA;Lo;0;L;;;;;N;;;;; +A09B;YI SYLLABLE HMAP;Lo;0;L;;;;;N;;;;; +A09C;YI SYLLABLE HMUOX;Lo;0;L;;;;;N;;;;; +A09D;YI SYLLABLE HMUO;Lo;0;L;;;;;N;;;;; +A09E;YI SYLLABLE HMUOP;Lo;0;L;;;;;N;;;;; +A09F;YI SYLLABLE HMOT;Lo;0;L;;;;;N;;;;; +A0A0;YI SYLLABLE HMOX;Lo;0;L;;;;;N;;;;; +A0A1;YI SYLLABLE HMO;Lo;0;L;;;;;N;;;;; +A0A2;YI SYLLABLE HMOP;Lo;0;L;;;;;N;;;;; +A0A3;YI SYLLABLE HMUT;Lo;0;L;;;;;N;;;;; +A0A4;YI SYLLABLE HMUX;Lo;0;L;;;;;N;;;;; +A0A5;YI SYLLABLE HMU;Lo;0;L;;;;;N;;;;; +A0A6;YI SYLLABLE HMUP;Lo;0;L;;;;;N;;;;; +A0A7;YI SYLLABLE HMURX;Lo;0;L;;;;;N;;;;; +A0A8;YI SYLLABLE HMUR;Lo;0;L;;;;;N;;;;; +A0A9;YI SYLLABLE HMYX;Lo;0;L;;;;;N;;;;; +A0AA;YI SYLLABLE HMY;Lo;0;L;;;;;N;;;;; +A0AB;YI SYLLABLE HMYP;Lo;0;L;;;;;N;;;;; +A0AC;YI SYLLABLE HMYRX;Lo;0;L;;;;;N;;;;; +A0AD;YI SYLLABLE HMYR;Lo;0;L;;;;;N;;;;; +A0AE;YI SYLLABLE MIT;Lo;0;L;;;;;N;;;;; +A0AF;YI SYLLABLE MIX;Lo;0;L;;;;;N;;;;; +A0B0;YI SYLLABLE MI;Lo;0;L;;;;;N;;;;; +A0B1;YI SYLLABLE MIP;Lo;0;L;;;;;N;;;;; +A0B2;YI SYLLABLE MIEX;Lo;0;L;;;;;N;;;;; +A0B3;YI SYLLABLE MIE;Lo;0;L;;;;;N;;;;; +A0B4;YI SYLLABLE MIEP;Lo;0;L;;;;;N;;;;; +A0B5;YI SYLLABLE MAT;Lo;0;L;;;;;N;;;;; +A0B6;YI SYLLABLE MAX;Lo;0;L;;;;;N;;;;; +A0B7;YI SYLLABLE MA;Lo;0;L;;;;;N;;;;; +A0B8;YI SYLLABLE MAP;Lo;0;L;;;;;N;;;;; +A0B9;YI SYLLABLE MUOT;Lo;0;L;;;;;N;;;;; +A0BA;YI SYLLABLE MUOX;Lo;0;L;;;;;N;;;;; +A0BB;YI SYLLABLE MUO;Lo;0;L;;;;;N;;;;; +A0BC;YI SYLLABLE MUOP;Lo;0;L;;;;;N;;;;; +A0BD;YI SYLLABLE MOT;Lo;0;L;;;;;N;;;;; +A0BE;YI SYLLABLE MOX;Lo;0;L;;;;;N;;;;; +A0BF;YI SYLLABLE MO;Lo;0;L;;;;;N;;;;; +A0C0;YI SYLLABLE MOP;Lo;0;L;;;;;N;;;;; +A0C1;YI SYLLABLE MEX;Lo;0;L;;;;;N;;;;; +A0C2;YI SYLLABLE ME;Lo;0;L;;;;;N;;;;; +A0C3;YI SYLLABLE MUT;Lo;0;L;;;;;N;;;;; +A0C4;YI SYLLABLE MUX;Lo;0;L;;;;;N;;;;; +A0C5;YI SYLLABLE MU;Lo;0;L;;;;;N;;;;; +A0C6;YI SYLLABLE MUP;Lo;0;L;;;;;N;;;;; +A0C7;YI SYLLABLE MURX;Lo;0;L;;;;;N;;;;; +A0C8;YI SYLLABLE MUR;Lo;0;L;;;;;N;;;;; +A0C9;YI SYLLABLE MYT;Lo;0;L;;;;;N;;;;; +A0CA;YI SYLLABLE MYX;Lo;0;L;;;;;N;;;;; +A0CB;YI SYLLABLE MY;Lo;0;L;;;;;N;;;;; +A0CC;YI SYLLABLE MYP;Lo;0;L;;;;;N;;;;; +A0CD;YI SYLLABLE FIT;Lo;0;L;;;;;N;;;;; +A0CE;YI SYLLABLE FIX;Lo;0;L;;;;;N;;;;; +A0CF;YI SYLLABLE FI;Lo;0;L;;;;;N;;;;; +A0D0;YI SYLLABLE FIP;Lo;0;L;;;;;N;;;;; +A0D1;YI SYLLABLE FAT;Lo;0;L;;;;;N;;;;; +A0D2;YI SYLLABLE FAX;Lo;0;L;;;;;N;;;;; +A0D3;YI SYLLABLE FA;Lo;0;L;;;;;N;;;;; +A0D4;YI SYLLABLE FAP;Lo;0;L;;;;;N;;;;; +A0D5;YI SYLLABLE FOX;Lo;0;L;;;;;N;;;;; +A0D6;YI SYLLABLE FO;Lo;0;L;;;;;N;;;;; +A0D7;YI SYLLABLE FOP;Lo;0;L;;;;;N;;;;; +A0D8;YI SYLLABLE FUT;Lo;0;L;;;;;N;;;;; +A0D9;YI SYLLABLE FUX;Lo;0;L;;;;;N;;;;; +A0DA;YI SYLLABLE FU;Lo;0;L;;;;;N;;;;; +A0DB;YI SYLLABLE FUP;Lo;0;L;;;;;N;;;;; +A0DC;YI SYLLABLE FURX;Lo;0;L;;;;;N;;;;; +A0DD;YI SYLLABLE FUR;Lo;0;L;;;;;N;;;;; +A0DE;YI SYLLABLE FYT;Lo;0;L;;;;;N;;;;; +A0DF;YI SYLLABLE FYX;Lo;0;L;;;;;N;;;;; +A0E0;YI SYLLABLE FY;Lo;0;L;;;;;N;;;;; +A0E1;YI SYLLABLE FYP;Lo;0;L;;;;;N;;;;; +A0E2;YI SYLLABLE VIT;Lo;0;L;;;;;N;;;;; +A0E3;YI SYLLABLE VIX;Lo;0;L;;;;;N;;;;; +A0E4;YI SYLLABLE VI;Lo;0;L;;;;;N;;;;; +A0E5;YI SYLLABLE VIP;Lo;0;L;;;;;N;;;;; +A0E6;YI SYLLABLE VIET;Lo;0;L;;;;;N;;;;; +A0E7;YI SYLLABLE VIEX;Lo;0;L;;;;;N;;;;; +A0E8;YI SYLLABLE VIE;Lo;0;L;;;;;N;;;;; +A0E9;YI SYLLABLE VIEP;Lo;0;L;;;;;N;;;;; +A0EA;YI SYLLABLE VAT;Lo;0;L;;;;;N;;;;; +A0EB;YI SYLLABLE VAX;Lo;0;L;;;;;N;;;;; +A0EC;YI SYLLABLE VA;Lo;0;L;;;;;N;;;;; +A0ED;YI SYLLABLE VAP;Lo;0;L;;;;;N;;;;; +A0EE;YI SYLLABLE VOT;Lo;0;L;;;;;N;;;;; +A0EF;YI SYLLABLE VOX;Lo;0;L;;;;;N;;;;; +A0F0;YI SYLLABLE VO;Lo;0;L;;;;;N;;;;; +A0F1;YI SYLLABLE VOP;Lo;0;L;;;;;N;;;;; +A0F2;YI SYLLABLE VEX;Lo;0;L;;;;;N;;;;; +A0F3;YI SYLLABLE VEP;Lo;0;L;;;;;N;;;;; +A0F4;YI SYLLABLE VUT;Lo;0;L;;;;;N;;;;; +A0F5;YI SYLLABLE VUX;Lo;0;L;;;;;N;;;;; +A0F6;YI SYLLABLE VU;Lo;0;L;;;;;N;;;;; +A0F7;YI SYLLABLE VUP;Lo;0;L;;;;;N;;;;; +A0F8;YI SYLLABLE VURX;Lo;0;L;;;;;N;;;;; +A0F9;YI SYLLABLE VUR;Lo;0;L;;;;;N;;;;; +A0FA;YI SYLLABLE VYT;Lo;0;L;;;;;N;;;;; +A0FB;YI SYLLABLE VYX;Lo;0;L;;;;;N;;;;; +A0FC;YI SYLLABLE VY;Lo;0;L;;;;;N;;;;; +A0FD;YI SYLLABLE VYP;Lo;0;L;;;;;N;;;;; +A0FE;YI SYLLABLE VYRX;Lo;0;L;;;;;N;;;;; +A0FF;YI SYLLABLE VYR;Lo;0;L;;;;;N;;;;; +A100;YI SYLLABLE DIT;Lo;0;L;;;;;N;;;;; +A101;YI SYLLABLE DIX;Lo;0;L;;;;;N;;;;; +A102;YI SYLLABLE DI;Lo;0;L;;;;;N;;;;; +A103;YI SYLLABLE DIP;Lo;0;L;;;;;N;;;;; +A104;YI SYLLABLE DIEX;Lo;0;L;;;;;N;;;;; +A105;YI SYLLABLE DIE;Lo;0;L;;;;;N;;;;; +A106;YI SYLLABLE DIEP;Lo;0;L;;;;;N;;;;; +A107;YI SYLLABLE DAT;Lo;0;L;;;;;N;;;;; +A108;YI SYLLABLE DAX;Lo;0;L;;;;;N;;;;; +A109;YI SYLLABLE DA;Lo;0;L;;;;;N;;;;; +A10A;YI SYLLABLE DAP;Lo;0;L;;;;;N;;;;; +A10B;YI SYLLABLE DUOX;Lo;0;L;;;;;N;;;;; +A10C;YI SYLLABLE DUO;Lo;0;L;;;;;N;;;;; +A10D;YI SYLLABLE DOT;Lo;0;L;;;;;N;;;;; +A10E;YI SYLLABLE DOX;Lo;0;L;;;;;N;;;;; +A10F;YI SYLLABLE DO;Lo;0;L;;;;;N;;;;; +A110;YI SYLLABLE DOP;Lo;0;L;;;;;N;;;;; +A111;YI SYLLABLE DEX;Lo;0;L;;;;;N;;;;; +A112;YI SYLLABLE DE;Lo;0;L;;;;;N;;;;; +A113;YI SYLLABLE DEP;Lo;0;L;;;;;N;;;;; +A114;YI SYLLABLE DUT;Lo;0;L;;;;;N;;;;; +A115;YI SYLLABLE DUX;Lo;0;L;;;;;N;;;;; +A116;YI SYLLABLE DU;Lo;0;L;;;;;N;;;;; +A117;YI SYLLABLE DUP;Lo;0;L;;;;;N;;;;; +A118;YI SYLLABLE DURX;Lo;0;L;;;;;N;;;;; +A119;YI SYLLABLE DUR;Lo;0;L;;;;;N;;;;; +A11A;YI SYLLABLE TIT;Lo;0;L;;;;;N;;;;; +A11B;YI SYLLABLE TIX;Lo;0;L;;;;;N;;;;; +A11C;YI SYLLABLE TI;Lo;0;L;;;;;N;;;;; +A11D;YI SYLLABLE TIP;Lo;0;L;;;;;N;;;;; +A11E;YI SYLLABLE TIEX;Lo;0;L;;;;;N;;;;; +A11F;YI SYLLABLE TIE;Lo;0;L;;;;;N;;;;; +A120;YI SYLLABLE TIEP;Lo;0;L;;;;;N;;;;; +A121;YI SYLLABLE TAT;Lo;0;L;;;;;N;;;;; +A122;YI SYLLABLE TAX;Lo;0;L;;;;;N;;;;; +A123;YI SYLLABLE TA;Lo;0;L;;;;;N;;;;; +A124;YI SYLLABLE TAP;Lo;0;L;;;;;N;;;;; +A125;YI SYLLABLE TUOT;Lo;0;L;;;;;N;;;;; +A126;YI SYLLABLE TUOX;Lo;0;L;;;;;N;;;;; +A127;YI SYLLABLE TUO;Lo;0;L;;;;;N;;;;; +A128;YI SYLLABLE TUOP;Lo;0;L;;;;;N;;;;; +A129;YI SYLLABLE TOT;Lo;0;L;;;;;N;;;;; +A12A;YI SYLLABLE TOX;Lo;0;L;;;;;N;;;;; +A12B;YI SYLLABLE TO;Lo;0;L;;;;;N;;;;; +A12C;YI SYLLABLE TOP;Lo;0;L;;;;;N;;;;; +A12D;YI SYLLABLE TEX;Lo;0;L;;;;;N;;;;; +A12E;YI SYLLABLE TE;Lo;0;L;;;;;N;;;;; +A12F;YI SYLLABLE TEP;Lo;0;L;;;;;N;;;;; +A130;YI SYLLABLE TUT;Lo;0;L;;;;;N;;;;; +A131;YI SYLLABLE TUX;Lo;0;L;;;;;N;;;;; +A132;YI SYLLABLE TU;Lo;0;L;;;;;N;;;;; +A133;YI SYLLABLE TUP;Lo;0;L;;;;;N;;;;; +A134;YI SYLLABLE TURX;Lo;0;L;;;;;N;;;;; +A135;YI SYLLABLE TUR;Lo;0;L;;;;;N;;;;; +A136;YI SYLLABLE DDIT;Lo;0;L;;;;;N;;;;; +A137;YI SYLLABLE DDIX;Lo;0;L;;;;;N;;;;; +A138;YI SYLLABLE DDI;Lo;0;L;;;;;N;;;;; +A139;YI SYLLABLE DDIP;Lo;0;L;;;;;N;;;;; +A13A;YI SYLLABLE DDIEX;Lo;0;L;;;;;N;;;;; +A13B;YI SYLLABLE DDIE;Lo;0;L;;;;;N;;;;; +A13C;YI SYLLABLE DDIEP;Lo;0;L;;;;;N;;;;; +A13D;YI SYLLABLE DDAT;Lo;0;L;;;;;N;;;;; +A13E;YI SYLLABLE DDAX;Lo;0;L;;;;;N;;;;; +A13F;YI SYLLABLE DDA;Lo;0;L;;;;;N;;;;; +A140;YI SYLLABLE DDAP;Lo;0;L;;;;;N;;;;; +A141;YI SYLLABLE DDUOX;Lo;0;L;;;;;N;;;;; +A142;YI SYLLABLE DDUO;Lo;0;L;;;;;N;;;;; +A143;YI SYLLABLE DDUOP;Lo;0;L;;;;;N;;;;; +A144;YI SYLLABLE DDOT;Lo;0;L;;;;;N;;;;; +A145;YI SYLLABLE DDOX;Lo;0;L;;;;;N;;;;; +A146;YI SYLLABLE DDO;Lo;0;L;;;;;N;;;;; +A147;YI SYLLABLE DDOP;Lo;0;L;;;;;N;;;;; +A148;YI SYLLABLE DDEX;Lo;0;L;;;;;N;;;;; +A149;YI SYLLABLE DDE;Lo;0;L;;;;;N;;;;; +A14A;YI SYLLABLE DDEP;Lo;0;L;;;;;N;;;;; +A14B;YI SYLLABLE DDUT;Lo;0;L;;;;;N;;;;; +A14C;YI SYLLABLE DDUX;Lo;0;L;;;;;N;;;;; +A14D;YI SYLLABLE DDU;Lo;0;L;;;;;N;;;;; +A14E;YI SYLLABLE DDUP;Lo;0;L;;;;;N;;;;; +A14F;YI SYLLABLE DDURX;Lo;0;L;;;;;N;;;;; +A150;YI SYLLABLE DDUR;Lo;0;L;;;;;N;;;;; +A151;YI SYLLABLE NDIT;Lo;0;L;;;;;N;;;;; +A152;YI SYLLABLE NDIX;Lo;0;L;;;;;N;;;;; +A153;YI SYLLABLE NDI;Lo;0;L;;;;;N;;;;; +A154;YI SYLLABLE NDIP;Lo;0;L;;;;;N;;;;; +A155;YI SYLLABLE NDIEX;Lo;0;L;;;;;N;;;;; +A156;YI SYLLABLE NDIE;Lo;0;L;;;;;N;;;;; +A157;YI SYLLABLE NDAT;Lo;0;L;;;;;N;;;;; +A158;YI SYLLABLE NDAX;Lo;0;L;;;;;N;;;;; +A159;YI SYLLABLE NDA;Lo;0;L;;;;;N;;;;; +A15A;YI SYLLABLE NDAP;Lo;0;L;;;;;N;;;;; +A15B;YI SYLLABLE NDOT;Lo;0;L;;;;;N;;;;; +A15C;YI SYLLABLE NDOX;Lo;0;L;;;;;N;;;;; +A15D;YI SYLLABLE NDO;Lo;0;L;;;;;N;;;;; +A15E;YI SYLLABLE NDOP;Lo;0;L;;;;;N;;;;; +A15F;YI SYLLABLE NDEX;Lo;0;L;;;;;N;;;;; +A160;YI SYLLABLE NDE;Lo;0;L;;;;;N;;;;; +A161;YI SYLLABLE NDEP;Lo;0;L;;;;;N;;;;; +A162;YI SYLLABLE NDUT;Lo;0;L;;;;;N;;;;; +A163;YI SYLLABLE NDUX;Lo;0;L;;;;;N;;;;; +A164;YI SYLLABLE NDU;Lo;0;L;;;;;N;;;;; +A165;YI SYLLABLE NDUP;Lo;0;L;;;;;N;;;;; +A166;YI SYLLABLE NDURX;Lo;0;L;;;;;N;;;;; +A167;YI SYLLABLE NDUR;Lo;0;L;;;;;N;;;;; +A168;YI SYLLABLE HNIT;Lo;0;L;;;;;N;;;;; +A169;YI SYLLABLE HNIX;Lo;0;L;;;;;N;;;;; +A16A;YI SYLLABLE HNI;Lo;0;L;;;;;N;;;;; +A16B;YI SYLLABLE HNIP;Lo;0;L;;;;;N;;;;; +A16C;YI SYLLABLE HNIET;Lo;0;L;;;;;N;;;;; +A16D;YI SYLLABLE HNIEX;Lo;0;L;;;;;N;;;;; +A16E;YI SYLLABLE HNIE;Lo;0;L;;;;;N;;;;; +A16F;YI SYLLABLE HNIEP;Lo;0;L;;;;;N;;;;; +A170;YI SYLLABLE HNAT;Lo;0;L;;;;;N;;;;; +A171;YI SYLLABLE HNAX;Lo;0;L;;;;;N;;;;; +A172;YI SYLLABLE HNA;Lo;0;L;;;;;N;;;;; +A173;YI SYLLABLE HNAP;Lo;0;L;;;;;N;;;;; +A174;YI SYLLABLE HNUOX;Lo;0;L;;;;;N;;;;; +A175;YI SYLLABLE HNUO;Lo;0;L;;;;;N;;;;; +A176;YI SYLLABLE HNOT;Lo;0;L;;;;;N;;;;; +A177;YI SYLLABLE HNOX;Lo;0;L;;;;;N;;;;; +A178;YI SYLLABLE HNOP;Lo;0;L;;;;;N;;;;; +A179;YI SYLLABLE HNEX;Lo;0;L;;;;;N;;;;; +A17A;YI SYLLABLE HNE;Lo;0;L;;;;;N;;;;; +A17B;YI SYLLABLE HNEP;Lo;0;L;;;;;N;;;;; +A17C;YI SYLLABLE HNUT;Lo;0;L;;;;;N;;;;; +A17D;YI SYLLABLE NIT;Lo;0;L;;;;;N;;;;; +A17E;YI SYLLABLE NIX;Lo;0;L;;;;;N;;;;; +A17F;YI SYLLABLE NI;Lo;0;L;;;;;N;;;;; +A180;YI SYLLABLE NIP;Lo;0;L;;;;;N;;;;; +A181;YI SYLLABLE NIEX;Lo;0;L;;;;;N;;;;; +A182;YI SYLLABLE NIE;Lo;0;L;;;;;N;;;;; +A183;YI SYLLABLE NIEP;Lo;0;L;;;;;N;;;;; +A184;YI SYLLABLE NAX;Lo;0;L;;;;;N;;;;; +A185;YI SYLLABLE NA;Lo;0;L;;;;;N;;;;; +A186;YI SYLLABLE NAP;Lo;0;L;;;;;N;;;;; +A187;YI SYLLABLE NUOX;Lo;0;L;;;;;N;;;;; +A188;YI SYLLABLE NUO;Lo;0;L;;;;;N;;;;; +A189;YI SYLLABLE NUOP;Lo;0;L;;;;;N;;;;; +A18A;YI SYLLABLE NOT;Lo;0;L;;;;;N;;;;; +A18B;YI SYLLABLE NOX;Lo;0;L;;;;;N;;;;; +A18C;YI SYLLABLE NO;Lo;0;L;;;;;N;;;;; +A18D;YI SYLLABLE NOP;Lo;0;L;;;;;N;;;;; +A18E;YI SYLLABLE NEX;Lo;0;L;;;;;N;;;;; +A18F;YI SYLLABLE NE;Lo;0;L;;;;;N;;;;; +A190;YI SYLLABLE NEP;Lo;0;L;;;;;N;;;;; +A191;YI SYLLABLE NUT;Lo;0;L;;;;;N;;;;; +A192;YI SYLLABLE NUX;Lo;0;L;;;;;N;;;;; +A193;YI SYLLABLE NU;Lo;0;L;;;;;N;;;;; +A194;YI SYLLABLE NUP;Lo;0;L;;;;;N;;;;; +A195;YI SYLLABLE NURX;Lo;0;L;;;;;N;;;;; +A196;YI SYLLABLE NUR;Lo;0;L;;;;;N;;;;; +A197;YI SYLLABLE HLIT;Lo;0;L;;;;;N;;;;; +A198;YI SYLLABLE HLIX;Lo;0;L;;;;;N;;;;; +A199;YI SYLLABLE HLI;Lo;0;L;;;;;N;;;;; +A19A;YI SYLLABLE HLIP;Lo;0;L;;;;;N;;;;; +A19B;YI SYLLABLE HLIEX;Lo;0;L;;;;;N;;;;; +A19C;YI SYLLABLE HLIE;Lo;0;L;;;;;N;;;;; +A19D;YI SYLLABLE HLIEP;Lo;0;L;;;;;N;;;;; +A19E;YI SYLLABLE HLAT;Lo;0;L;;;;;N;;;;; +A19F;YI SYLLABLE HLAX;Lo;0;L;;;;;N;;;;; +A1A0;YI SYLLABLE HLA;Lo;0;L;;;;;N;;;;; +A1A1;YI SYLLABLE HLAP;Lo;0;L;;;;;N;;;;; +A1A2;YI SYLLABLE HLUOX;Lo;0;L;;;;;N;;;;; +A1A3;YI SYLLABLE HLUO;Lo;0;L;;;;;N;;;;; +A1A4;YI SYLLABLE HLUOP;Lo;0;L;;;;;N;;;;; +A1A5;YI SYLLABLE HLOX;Lo;0;L;;;;;N;;;;; +A1A6;YI SYLLABLE HLO;Lo;0;L;;;;;N;;;;; +A1A7;YI SYLLABLE HLOP;Lo;0;L;;;;;N;;;;; +A1A8;YI SYLLABLE HLEX;Lo;0;L;;;;;N;;;;; +A1A9;YI SYLLABLE HLE;Lo;0;L;;;;;N;;;;; +A1AA;YI SYLLABLE HLEP;Lo;0;L;;;;;N;;;;; +A1AB;YI SYLLABLE HLUT;Lo;0;L;;;;;N;;;;; +A1AC;YI SYLLABLE HLUX;Lo;0;L;;;;;N;;;;; +A1AD;YI SYLLABLE HLU;Lo;0;L;;;;;N;;;;; +A1AE;YI SYLLABLE HLUP;Lo;0;L;;;;;N;;;;; +A1AF;YI SYLLABLE HLURX;Lo;0;L;;;;;N;;;;; +A1B0;YI SYLLABLE HLUR;Lo;0;L;;;;;N;;;;; +A1B1;YI SYLLABLE HLYT;Lo;0;L;;;;;N;;;;; +A1B2;YI SYLLABLE HLYX;Lo;0;L;;;;;N;;;;; +A1B3;YI SYLLABLE HLY;Lo;0;L;;;;;N;;;;; +A1B4;YI SYLLABLE HLYP;Lo;0;L;;;;;N;;;;; +A1B5;YI SYLLABLE HLYRX;Lo;0;L;;;;;N;;;;; +A1B6;YI SYLLABLE HLYR;Lo;0;L;;;;;N;;;;; +A1B7;YI SYLLABLE LIT;Lo;0;L;;;;;N;;;;; +A1B8;YI SYLLABLE LIX;Lo;0;L;;;;;N;;;;; +A1B9;YI SYLLABLE LI;Lo;0;L;;;;;N;;;;; +A1BA;YI SYLLABLE LIP;Lo;0;L;;;;;N;;;;; +A1BB;YI SYLLABLE LIET;Lo;0;L;;;;;N;;;;; +A1BC;YI SYLLABLE LIEX;Lo;0;L;;;;;N;;;;; +A1BD;YI SYLLABLE LIE;Lo;0;L;;;;;N;;;;; +A1BE;YI SYLLABLE LIEP;Lo;0;L;;;;;N;;;;; +A1BF;YI SYLLABLE LAT;Lo;0;L;;;;;N;;;;; +A1C0;YI SYLLABLE LAX;Lo;0;L;;;;;N;;;;; +A1C1;YI SYLLABLE LA;Lo;0;L;;;;;N;;;;; +A1C2;YI SYLLABLE LAP;Lo;0;L;;;;;N;;;;; +A1C3;YI SYLLABLE LUOT;Lo;0;L;;;;;N;;;;; +A1C4;YI SYLLABLE LUOX;Lo;0;L;;;;;N;;;;; +A1C5;YI SYLLABLE LUO;Lo;0;L;;;;;N;;;;; +A1C6;YI SYLLABLE LUOP;Lo;0;L;;;;;N;;;;; +A1C7;YI SYLLABLE LOT;Lo;0;L;;;;;N;;;;; +A1C8;YI SYLLABLE LOX;Lo;0;L;;;;;N;;;;; +A1C9;YI SYLLABLE LO;Lo;0;L;;;;;N;;;;; +A1CA;YI SYLLABLE LOP;Lo;0;L;;;;;N;;;;; +A1CB;YI SYLLABLE LEX;Lo;0;L;;;;;N;;;;; +A1CC;YI SYLLABLE LE;Lo;0;L;;;;;N;;;;; +A1CD;YI SYLLABLE LEP;Lo;0;L;;;;;N;;;;; +A1CE;YI SYLLABLE LUT;Lo;0;L;;;;;N;;;;; +A1CF;YI SYLLABLE LUX;Lo;0;L;;;;;N;;;;; +A1D0;YI SYLLABLE LU;Lo;0;L;;;;;N;;;;; +A1D1;YI SYLLABLE LUP;Lo;0;L;;;;;N;;;;; +A1D2;YI SYLLABLE LURX;Lo;0;L;;;;;N;;;;; +A1D3;YI SYLLABLE LUR;Lo;0;L;;;;;N;;;;; +A1D4;YI SYLLABLE LYT;Lo;0;L;;;;;N;;;;; +A1D5;YI SYLLABLE LYX;Lo;0;L;;;;;N;;;;; +A1D6;YI SYLLABLE LY;Lo;0;L;;;;;N;;;;; +A1D7;YI SYLLABLE LYP;Lo;0;L;;;;;N;;;;; +A1D8;YI SYLLABLE LYRX;Lo;0;L;;;;;N;;;;; +A1D9;YI SYLLABLE LYR;Lo;0;L;;;;;N;;;;; +A1DA;YI SYLLABLE GIT;Lo;0;L;;;;;N;;;;; +A1DB;YI SYLLABLE GIX;Lo;0;L;;;;;N;;;;; +A1DC;YI SYLLABLE GI;Lo;0;L;;;;;N;;;;; +A1DD;YI SYLLABLE GIP;Lo;0;L;;;;;N;;;;; +A1DE;YI SYLLABLE GIET;Lo;0;L;;;;;N;;;;; +A1DF;YI SYLLABLE GIEX;Lo;0;L;;;;;N;;;;; +A1E0;YI SYLLABLE GIE;Lo;0;L;;;;;N;;;;; +A1E1;YI SYLLABLE GIEP;Lo;0;L;;;;;N;;;;; +A1E2;YI SYLLABLE GAT;Lo;0;L;;;;;N;;;;; +A1E3;YI SYLLABLE GAX;Lo;0;L;;;;;N;;;;; +A1E4;YI SYLLABLE GA;Lo;0;L;;;;;N;;;;; +A1E5;YI SYLLABLE GAP;Lo;0;L;;;;;N;;;;; +A1E6;YI SYLLABLE GUOT;Lo;0;L;;;;;N;;;;; +A1E7;YI SYLLABLE GUOX;Lo;0;L;;;;;N;;;;; +A1E8;YI SYLLABLE GUO;Lo;0;L;;;;;N;;;;; +A1E9;YI SYLLABLE GUOP;Lo;0;L;;;;;N;;;;; +A1EA;YI SYLLABLE GOT;Lo;0;L;;;;;N;;;;; +A1EB;YI SYLLABLE GOX;Lo;0;L;;;;;N;;;;; +A1EC;YI SYLLABLE GO;Lo;0;L;;;;;N;;;;; +A1ED;YI SYLLABLE GOP;Lo;0;L;;;;;N;;;;; +A1EE;YI SYLLABLE GET;Lo;0;L;;;;;N;;;;; +A1EF;YI SYLLABLE GEX;Lo;0;L;;;;;N;;;;; +A1F0;YI SYLLABLE GE;Lo;0;L;;;;;N;;;;; +A1F1;YI SYLLABLE GEP;Lo;0;L;;;;;N;;;;; +A1F2;YI SYLLABLE GUT;Lo;0;L;;;;;N;;;;; +A1F3;YI SYLLABLE GUX;Lo;0;L;;;;;N;;;;; +A1F4;YI SYLLABLE GU;Lo;0;L;;;;;N;;;;; +A1F5;YI SYLLABLE GUP;Lo;0;L;;;;;N;;;;; +A1F6;YI SYLLABLE GURX;Lo;0;L;;;;;N;;;;; +A1F7;YI SYLLABLE GUR;Lo;0;L;;;;;N;;;;; +A1F8;YI SYLLABLE KIT;Lo;0;L;;;;;N;;;;; +A1F9;YI SYLLABLE KIX;Lo;0;L;;;;;N;;;;; +A1FA;YI SYLLABLE KI;Lo;0;L;;;;;N;;;;; +A1FB;YI SYLLABLE KIP;Lo;0;L;;;;;N;;;;; +A1FC;YI SYLLABLE KIEX;Lo;0;L;;;;;N;;;;; +A1FD;YI SYLLABLE KIE;Lo;0;L;;;;;N;;;;; +A1FE;YI SYLLABLE KIEP;Lo;0;L;;;;;N;;;;; +A1FF;YI SYLLABLE KAT;Lo;0;L;;;;;N;;;;; +A200;YI SYLLABLE KAX;Lo;0;L;;;;;N;;;;; +A201;YI SYLLABLE KA;Lo;0;L;;;;;N;;;;; +A202;YI SYLLABLE KAP;Lo;0;L;;;;;N;;;;; +A203;YI SYLLABLE KUOX;Lo;0;L;;;;;N;;;;; +A204;YI SYLLABLE KUO;Lo;0;L;;;;;N;;;;; +A205;YI SYLLABLE KUOP;Lo;0;L;;;;;N;;;;; +A206;YI SYLLABLE KOT;Lo;0;L;;;;;N;;;;; +A207;YI SYLLABLE KOX;Lo;0;L;;;;;N;;;;; +A208;YI SYLLABLE KO;Lo;0;L;;;;;N;;;;; +A209;YI SYLLABLE KOP;Lo;0;L;;;;;N;;;;; +A20A;YI SYLLABLE KET;Lo;0;L;;;;;N;;;;; +A20B;YI SYLLABLE KEX;Lo;0;L;;;;;N;;;;; +A20C;YI SYLLABLE KE;Lo;0;L;;;;;N;;;;; +A20D;YI SYLLABLE KEP;Lo;0;L;;;;;N;;;;; +A20E;YI SYLLABLE KUT;Lo;0;L;;;;;N;;;;; +A20F;YI SYLLABLE KUX;Lo;0;L;;;;;N;;;;; +A210;YI SYLLABLE KU;Lo;0;L;;;;;N;;;;; +A211;YI SYLLABLE KUP;Lo;0;L;;;;;N;;;;; +A212;YI SYLLABLE KURX;Lo;0;L;;;;;N;;;;; +A213;YI SYLLABLE KUR;Lo;0;L;;;;;N;;;;; +A214;YI SYLLABLE GGIT;Lo;0;L;;;;;N;;;;; +A215;YI SYLLABLE GGIX;Lo;0;L;;;;;N;;;;; +A216;YI SYLLABLE GGI;Lo;0;L;;;;;N;;;;; +A217;YI SYLLABLE GGIEX;Lo;0;L;;;;;N;;;;; +A218;YI SYLLABLE GGIE;Lo;0;L;;;;;N;;;;; +A219;YI SYLLABLE GGIEP;Lo;0;L;;;;;N;;;;; +A21A;YI SYLLABLE GGAT;Lo;0;L;;;;;N;;;;; +A21B;YI SYLLABLE GGAX;Lo;0;L;;;;;N;;;;; +A21C;YI SYLLABLE GGA;Lo;0;L;;;;;N;;;;; +A21D;YI SYLLABLE GGAP;Lo;0;L;;;;;N;;;;; +A21E;YI SYLLABLE GGUOT;Lo;0;L;;;;;N;;;;; +A21F;YI SYLLABLE GGUOX;Lo;0;L;;;;;N;;;;; +A220;YI SYLLABLE GGUO;Lo;0;L;;;;;N;;;;; +A221;YI SYLLABLE GGUOP;Lo;0;L;;;;;N;;;;; +A222;YI SYLLABLE GGOT;Lo;0;L;;;;;N;;;;; +A223;YI SYLLABLE GGOX;Lo;0;L;;;;;N;;;;; +A224;YI SYLLABLE GGO;Lo;0;L;;;;;N;;;;; +A225;YI SYLLABLE GGOP;Lo;0;L;;;;;N;;;;; +A226;YI SYLLABLE GGET;Lo;0;L;;;;;N;;;;; +A227;YI SYLLABLE GGEX;Lo;0;L;;;;;N;;;;; +A228;YI SYLLABLE GGE;Lo;0;L;;;;;N;;;;; +A229;YI SYLLABLE GGEP;Lo;0;L;;;;;N;;;;; +A22A;YI SYLLABLE GGUT;Lo;0;L;;;;;N;;;;; +A22B;YI SYLLABLE GGUX;Lo;0;L;;;;;N;;;;; +A22C;YI SYLLABLE GGU;Lo;0;L;;;;;N;;;;; +A22D;YI SYLLABLE GGUP;Lo;0;L;;;;;N;;;;; +A22E;YI SYLLABLE GGURX;Lo;0;L;;;;;N;;;;; +A22F;YI SYLLABLE GGUR;Lo;0;L;;;;;N;;;;; +A230;YI SYLLABLE MGIEX;Lo;0;L;;;;;N;;;;; +A231;YI SYLLABLE MGIE;Lo;0;L;;;;;N;;;;; +A232;YI SYLLABLE MGAT;Lo;0;L;;;;;N;;;;; +A233;YI SYLLABLE MGAX;Lo;0;L;;;;;N;;;;; +A234;YI SYLLABLE MGA;Lo;0;L;;;;;N;;;;; +A235;YI SYLLABLE MGAP;Lo;0;L;;;;;N;;;;; +A236;YI SYLLABLE MGUOX;Lo;0;L;;;;;N;;;;; +A237;YI SYLLABLE MGUO;Lo;0;L;;;;;N;;;;; +A238;YI SYLLABLE MGUOP;Lo;0;L;;;;;N;;;;; +A239;YI SYLLABLE MGOT;Lo;0;L;;;;;N;;;;; +A23A;YI SYLLABLE MGOX;Lo;0;L;;;;;N;;;;; +A23B;YI SYLLABLE MGO;Lo;0;L;;;;;N;;;;; +A23C;YI SYLLABLE MGOP;Lo;0;L;;;;;N;;;;; +A23D;YI SYLLABLE MGEX;Lo;0;L;;;;;N;;;;; +A23E;YI SYLLABLE MGE;Lo;0;L;;;;;N;;;;; +A23F;YI SYLLABLE MGEP;Lo;0;L;;;;;N;;;;; +A240;YI SYLLABLE MGUT;Lo;0;L;;;;;N;;;;; +A241;YI SYLLABLE MGUX;Lo;0;L;;;;;N;;;;; +A242;YI SYLLABLE MGU;Lo;0;L;;;;;N;;;;; +A243;YI SYLLABLE MGUP;Lo;0;L;;;;;N;;;;; +A244;YI SYLLABLE MGURX;Lo;0;L;;;;;N;;;;; +A245;YI SYLLABLE MGUR;Lo;0;L;;;;;N;;;;; +A246;YI SYLLABLE HXIT;Lo;0;L;;;;;N;;;;; +A247;YI SYLLABLE HXIX;Lo;0;L;;;;;N;;;;; +A248;YI SYLLABLE HXI;Lo;0;L;;;;;N;;;;; +A249;YI SYLLABLE HXIP;Lo;0;L;;;;;N;;;;; +A24A;YI SYLLABLE HXIET;Lo;0;L;;;;;N;;;;; +A24B;YI SYLLABLE HXIEX;Lo;0;L;;;;;N;;;;; +A24C;YI SYLLABLE HXIE;Lo;0;L;;;;;N;;;;; +A24D;YI SYLLABLE HXIEP;Lo;0;L;;;;;N;;;;; +A24E;YI SYLLABLE HXAT;Lo;0;L;;;;;N;;;;; +A24F;YI SYLLABLE HXAX;Lo;0;L;;;;;N;;;;; +A250;YI SYLLABLE HXA;Lo;0;L;;;;;N;;;;; +A251;YI SYLLABLE HXAP;Lo;0;L;;;;;N;;;;; +A252;YI SYLLABLE HXUOT;Lo;0;L;;;;;N;;;;; +A253;YI SYLLABLE HXUOX;Lo;0;L;;;;;N;;;;; +A254;YI SYLLABLE HXUO;Lo;0;L;;;;;N;;;;; +A255;YI SYLLABLE HXUOP;Lo;0;L;;;;;N;;;;; +A256;YI SYLLABLE HXOT;Lo;0;L;;;;;N;;;;; +A257;YI SYLLABLE HXOX;Lo;0;L;;;;;N;;;;; +A258;YI SYLLABLE HXO;Lo;0;L;;;;;N;;;;; +A259;YI SYLLABLE HXOP;Lo;0;L;;;;;N;;;;; +A25A;YI SYLLABLE HXEX;Lo;0;L;;;;;N;;;;; +A25B;YI SYLLABLE HXE;Lo;0;L;;;;;N;;;;; +A25C;YI SYLLABLE HXEP;Lo;0;L;;;;;N;;;;; +A25D;YI SYLLABLE NGIEX;Lo;0;L;;;;;N;;;;; +A25E;YI SYLLABLE NGIE;Lo;0;L;;;;;N;;;;; +A25F;YI SYLLABLE NGIEP;Lo;0;L;;;;;N;;;;; +A260;YI SYLLABLE NGAT;Lo;0;L;;;;;N;;;;; +A261;YI SYLLABLE NGAX;Lo;0;L;;;;;N;;;;; +A262;YI SYLLABLE NGA;Lo;0;L;;;;;N;;;;; +A263;YI SYLLABLE NGAP;Lo;0;L;;;;;N;;;;; +A264;YI SYLLABLE NGUOT;Lo;0;L;;;;;N;;;;; +A265;YI SYLLABLE NGUOX;Lo;0;L;;;;;N;;;;; +A266;YI SYLLABLE NGUO;Lo;0;L;;;;;N;;;;; +A267;YI SYLLABLE NGOT;Lo;0;L;;;;;N;;;;; +A268;YI SYLLABLE NGOX;Lo;0;L;;;;;N;;;;; +A269;YI SYLLABLE NGO;Lo;0;L;;;;;N;;;;; +A26A;YI SYLLABLE NGOP;Lo;0;L;;;;;N;;;;; +A26B;YI SYLLABLE NGEX;Lo;0;L;;;;;N;;;;; +A26C;YI SYLLABLE NGE;Lo;0;L;;;;;N;;;;; +A26D;YI SYLLABLE NGEP;Lo;0;L;;;;;N;;;;; +A26E;YI SYLLABLE HIT;Lo;0;L;;;;;N;;;;; +A26F;YI SYLLABLE HIEX;Lo;0;L;;;;;N;;;;; +A270;YI SYLLABLE HIE;Lo;0;L;;;;;N;;;;; +A271;YI SYLLABLE HAT;Lo;0;L;;;;;N;;;;; +A272;YI SYLLABLE HAX;Lo;0;L;;;;;N;;;;; +A273;YI SYLLABLE HA;Lo;0;L;;;;;N;;;;; +A274;YI SYLLABLE HAP;Lo;0;L;;;;;N;;;;; +A275;YI SYLLABLE HUOT;Lo;0;L;;;;;N;;;;; +A276;YI SYLLABLE HUOX;Lo;0;L;;;;;N;;;;; +A277;YI SYLLABLE HUO;Lo;0;L;;;;;N;;;;; +A278;YI SYLLABLE HUOP;Lo;0;L;;;;;N;;;;; +A279;YI SYLLABLE HOT;Lo;0;L;;;;;N;;;;; +A27A;YI SYLLABLE HOX;Lo;0;L;;;;;N;;;;; +A27B;YI SYLLABLE HO;Lo;0;L;;;;;N;;;;; +A27C;YI SYLLABLE HOP;Lo;0;L;;;;;N;;;;; +A27D;YI SYLLABLE HEX;Lo;0;L;;;;;N;;;;; +A27E;YI SYLLABLE HE;Lo;0;L;;;;;N;;;;; +A27F;YI SYLLABLE HEP;Lo;0;L;;;;;N;;;;; +A280;YI SYLLABLE WAT;Lo;0;L;;;;;N;;;;; +A281;YI SYLLABLE WAX;Lo;0;L;;;;;N;;;;; +A282;YI SYLLABLE WA;Lo;0;L;;;;;N;;;;; +A283;YI SYLLABLE WAP;Lo;0;L;;;;;N;;;;; +A284;YI SYLLABLE WUOX;Lo;0;L;;;;;N;;;;; +A285;YI SYLLABLE WUO;Lo;0;L;;;;;N;;;;; +A286;YI SYLLABLE WUOP;Lo;0;L;;;;;N;;;;; +A287;YI SYLLABLE WOX;Lo;0;L;;;;;N;;;;; +A288;YI SYLLABLE WO;Lo;0;L;;;;;N;;;;; +A289;YI SYLLABLE WOP;Lo;0;L;;;;;N;;;;; +A28A;YI SYLLABLE WEX;Lo;0;L;;;;;N;;;;; +A28B;YI SYLLABLE WE;Lo;0;L;;;;;N;;;;; +A28C;YI SYLLABLE WEP;Lo;0;L;;;;;N;;;;; +A28D;YI SYLLABLE ZIT;Lo;0;L;;;;;N;;;;; +A28E;YI SYLLABLE ZIX;Lo;0;L;;;;;N;;;;; +A28F;YI SYLLABLE ZI;Lo;0;L;;;;;N;;;;; +A290;YI SYLLABLE ZIP;Lo;0;L;;;;;N;;;;; +A291;YI SYLLABLE ZIEX;Lo;0;L;;;;;N;;;;; +A292;YI SYLLABLE ZIE;Lo;0;L;;;;;N;;;;; +A293;YI SYLLABLE ZIEP;Lo;0;L;;;;;N;;;;; +A294;YI SYLLABLE ZAT;Lo;0;L;;;;;N;;;;; +A295;YI SYLLABLE ZAX;Lo;0;L;;;;;N;;;;; +A296;YI SYLLABLE ZA;Lo;0;L;;;;;N;;;;; +A297;YI SYLLABLE ZAP;Lo;0;L;;;;;N;;;;; +A298;YI SYLLABLE ZUOX;Lo;0;L;;;;;N;;;;; +A299;YI SYLLABLE ZUO;Lo;0;L;;;;;N;;;;; +A29A;YI SYLLABLE ZUOP;Lo;0;L;;;;;N;;;;; +A29B;YI SYLLABLE ZOT;Lo;0;L;;;;;N;;;;; +A29C;YI SYLLABLE ZOX;Lo;0;L;;;;;N;;;;; +A29D;YI SYLLABLE ZO;Lo;0;L;;;;;N;;;;; +A29E;YI SYLLABLE ZOP;Lo;0;L;;;;;N;;;;; +A29F;YI SYLLABLE ZEX;Lo;0;L;;;;;N;;;;; +A2A0;YI SYLLABLE ZE;Lo;0;L;;;;;N;;;;; +A2A1;YI SYLLABLE ZEP;Lo;0;L;;;;;N;;;;; +A2A2;YI SYLLABLE ZUT;Lo;0;L;;;;;N;;;;; +A2A3;YI SYLLABLE ZUX;Lo;0;L;;;;;N;;;;; +A2A4;YI SYLLABLE ZU;Lo;0;L;;;;;N;;;;; +A2A5;YI SYLLABLE ZUP;Lo;0;L;;;;;N;;;;; +A2A6;YI SYLLABLE ZURX;Lo;0;L;;;;;N;;;;; +A2A7;YI SYLLABLE ZUR;Lo;0;L;;;;;N;;;;; +A2A8;YI SYLLABLE ZYT;Lo;0;L;;;;;N;;;;; +A2A9;YI SYLLABLE ZYX;Lo;0;L;;;;;N;;;;; +A2AA;YI SYLLABLE ZY;Lo;0;L;;;;;N;;;;; +A2AB;YI SYLLABLE ZYP;Lo;0;L;;;;;N;;;;; +A2AC;YI SYLLABLE ZYRX;Lo;0;L;;;;;N;;;;; +A2AD;YI SYLLABLE ZYR;Lo;0;L;;;;;N;;;;; +A2AE;YI SYLLABLE CIT;Lo;0;L;;;;;N;;;;; +A2AF;YI SYLLABLE CIX;Lo;0;L;;;;;N;;;;; +A2B0;YI SYLLABLE CI;Lo;0;L;;;;;N;;;;; +A2B1;YI SYLLABLE CIP;Lo;0;L;;;;;N;;;;; +A2B2;YI SYLLABLE CIET;Lo;0;L;;;;;N;;;;; +A2B3;YI SYLLABLE CIEX;Lo;0;L;;;;;N;;;;; +A2B4;YI SYLLABLE CIE;Lo;0;L;;;;;N;;;;; +A2B5;YI SYLLABLE CIEP;Lo;0;L;;;;;N;;;;; +A2B6;YI SYLLABLE CAT;Lo;0;L;;;;;N;;;;; +A2B7;YI SYLLABLE CAX;Lo;0;L;;;;;N;;;;; +A2B8;YI SYLLABLE CA;Lo;0;L;;;;;N;;;;; +A2B9;YI SYLLABLE CAP;Lo;0;L;;;;;N;;;;; +A2BA;YI SYLLABLE CUOX;Lo;0;L;;;;;N;;;;; +A2BB;YI SYLLABLE CUO;Lo;0;L;;;;;N;;;;; +A2BC;YI SYLLABLE CUOP;Lo;0;L;;;;;N;;;;; +A2BD;YI SYLLABLE COT;Lo;0;L;;;;;N;;;;; +A2BE;YI SYLLABLE COX;Lo;0;L;;;;;N;;;;; +A2BF;YI SYLLABLE CO;Lo;0;L;;;;;N;;;;; +A2C0;YI SYLLABLE COP;Lo;0;L;;;;;N;;;;; +A2C1;YI SYLLABLE CEX;Lo;0;L;;;;;N;;;;; +A2C2;YI SYLLABLE CE;Lo;0;L;;;;;N;;;;; +A2C3;YI SYLLABLE CEP;Lo;0;L;;;;;N;;;;; +A2C4;YI SYLLABLE CUT;Lo;0;L;;;;;N;;;;; +A2C5;YI SYLLABLE CUX;Lo;0;L;;;;;N;;;;; +A2C6;YI SYLLABLE CU;Lo;0;L;;;;;N;;;;; +A2C7;YI SYLLABLE CUP;Lo;0;L;;;;;N;;;;; +A2C8;YI SYLLABLE CURX;Lo;0;L;;;;;N;;;;; +A2C9;YI SYLLABLE CUR;Lo;0;L;;;;;N;;;;; +A2CA;YI SYLLABLE CYT;Lo;0;L;;;;;N;;;;; +A2CB;YI SYLLABLE CYX;Lo;0;L;;;;;N;;;;; +A2CC;YI SYLLABLE CY;Lo;0;L;;;;;N;;;;; +A2CD;YI SYLLABLE CYP;Lo;0;L;;;;;N;;;;; +A2CE;YI SYLLABLE CYRX;Lo;0;L;;;;;N;;;;; +A2CF;YI SYLLABLE CYR;Lo;0;L;;;;;N;;;;; +A2D0;YI SYLLABLE ZZIT;Lo;0;L;;;;;N;;;;; +A2D1;YI SYLLABLE ZZIX;Lo;0;L;;;;;N;;;;; +A2D2;YI SYLLABLE ZZI;Lo;0;L;;;;;N;;;;; +A2D3;YI SYLLABLE ZZIP;Lo;0;L;;;;;N;;;;; +A2D4;YI SYLLABLE ZZIET;Lo;0;L;;;;;N;;;;; +A2D5;YI SYLLABLE ZZIEX;Lo;0;L;;;;;N;;;;; +A2D6;YI SYLLABLE ZZIE;Lo;0;L;;;;;N;;;;; +A2D7;YI SYLLABLE ZZIEP;Lo;0;L;;;;;N;;;;; +A2D8;YI SYLLABLE ZZAT;Lo;0;L;;;;;N;;;;; +A2D9;YI SYLLABLE ZZAX;Lo;0;L;;;;;N;;;;; +A2DA;YI SYLLABLE ZZA;Lo;0;L;;;;;N;;;;; +A2DB;YI SYLLABLE ZZAP;Lo;0;L;;;;;N;;;;; +A2DC;YI SYLLABLE ZZOX;Lo;0;L;;;;;N;;;;; +A2DD;YI SYLLABLE ZZO;Lo;0;L;;;;;N;;;;; +A2DE;YI SYLLABLE ZZOP;Lo;0;L;;;;;N;;;;; +A2DF;YI SYLLABLE ZZEX;Lo;0;L;;;;;N;;;;; +A2E0;YI SYLLABLE ZZE;Lo;0;L;;;;;N;;;;; +A2E1;YI SYLLABLE ZZEP;Lo;0;L;;;;;N;;;;; +A2E2;YI SYLLABLE ZZUX;Lo;0;L;;;;;N;;;;; +A2E3;YI SYLLABLE ZZU;Lo;0;L;;;;;N;;;;; +A2E4;YI SYLLABLE ZZUP;Lo;0;L;;;;;N;;;;; +A2E5;YI SYLLABLE ZZURX;Lo;0;L;;;;;N;;;;; +A2E6;YI SYLLABLE ZZUR;Lo;0;L;;;;;N;;;;; +A2E7;YI SYLLABLE ZZYT;Lo;0;L;;;;;N;;;;; +A2E8;YI SYLLABLE ZZYX;Lo;0;L;;;;;N;;;;; +A2E9;YI SYLLABLE ZZY;Lo;0;L;;;;;N;;;;; +A2EA;YI SYLLABLE ZZYP;Lo;0;L;;;;;N;;;;; +A2EB;YI SYLLABLE ZZYRX;Lo;0;L;;;;;N;;;;; +A2EC;YI SYLLABLE ZZYR;Lo;0;L;;;;;N;;;;; +A2ED;YI SYLLABLE NZIT;Lo;0;L;;;;;N;;;;; +A2EE;YI SYLLABLE NZIX;Lo;0;L;;;;;N;;;;; +A2EF;YI SYLLABLE NZI;Lo;0;L;;;;;N;;;;; +A2F0;YI SYLLABLE NZIP;Lo;0;L;;;;;N;;;;; +A2F1;YI SYLLABLE NZIEX;Lo;0;L;;;;;N;;;;; +A2F2;YI SYLLABLE NZIE;Lo;0;L;;;;;N;;;;; +A2F3;YI SYLLABLE NZIEP;Lo;0;L;;;;;N;;;;; +A2F4;YI SYLLABLE NZAT;Lo;0;L;;;;;N;;;;; +A2F5;YI SYLLABLE NZAX;Lo;0;L;;;;;N;;;;; +A2F6;YI SYLLABLE NZA;Lo;0;L;;;;;N;;;;; +A2F7;YI SYLLABLE NZAP;Lo;0;L;;;;;N;;;;; +A2F8;YI SYLLABLE NZUOX;Lo;0;L;;;;;N;;;;; +A2F9;YI SYLLABLE NZUO;Lo;0;L;;;;;N;;;;; +A2FA;YI SYLLABLE NZOX;Lo;0;L;;;;;N;;;;; +A2FB;YI SYLLABLE NZOP;Lo;0;L;;;;;N;;;;; +A2FC;YI SYLLABLE NZEX;Lo;0;L;;;;;N;;;;; +A2FD;YI SYLLABLE NZE;Lo;0;L;;;;;N;;;;; +A2FE;YI SYLLABLE NZUX;Lo;0;L;;;;;N;;;;; +A2FF;YI SYLLABLE NZU;Lo;0;L;;;;;N;;;;; +A300;YI SYLLABLE NZUP;Lo;0;L;;;;;N;;;;; +A301;YI SYLLABLE NZURX;Lo;0;L;;;;;N;;;;; +A302;YI SYLLABLE NZUR;Lo;0;L;;;;;N;;;;; +A303;YI SYLLABLE NZYT;Lo;0;L;;;;;N;;;;; +A304;YI SYLLABLE NZYX;Lo;0;L;;;;;N;;;;; +A305;YI SYLLABLE NZY;Lo;0;L;;;;;N;;;;; +A306;YI SYLLABLE NZYP;Lo;0;L;;;;;N;;;;; +A307;YI SYLLABLE NZYRX;Lo;0;L;;;;;N;;;;; +A308;YI SYLLABLE NZYR;Lo;0;L;;;;;N;;;;; +A309;YI SYLLABLE SIT;Lo;0;L;;;;;N;;;;; +A30A;YI SYLLABLE SIX;Lo;0;L;;;;;N;;;;; +A30B;YI SYLLABLE SI;Lo;0;L;;;;;N;;;;; +A30C;YI SYLLABLE SIP;Lo;0;L;;;;;N;;;;; +A30D;YI SYLLABLE SIEX;Lo;0;L;;;;;N;;;;; +A30E;YI SYLLABLE SIE;Lo;0;L;;;;;N;;;;; +A30F;YI SYLLABLE SIEP;Lo;0;L;;;;;N;;;;; +A310;YI SYLLABLE SAT;Lo;0;L;;;;;N;;;;; +A311;YI SYLLABLE SAX;Lo;0;L;;;;;N;;;;; +A312;YI SYLLABLE SA;Lo;0;L;;;;;N;;;;; +A313;YI SYLLABLE SAP;Lo;0;L;;;;;N;;;;; +A314;YI SYLLABLE SUOX;Lo;0;L;;;;;N;;;;; +A315;YI SYLLABLE SUO;Lo;0;L;;;;;N;;;;; +A316;YI SYLLABLE SUOP;Lo;0;L;;;;;N;;;;; +A317;YI SYLLABLE SOT;Lo;0;L;;;;;N;;;;; +A318;YI SYLLABLE SOX;Lo;0;L;;;;;N;;;;; +A319;YI SYLLABLE SO;Lo;0;L;;;;;N;;;;; +A31A;YI SYLLABLE SOP;Lo;0;L;;;;;N;;;;; +A31B;YI SYLLABLE SEX;Lo;0;L;;;;;N;;;;; +A31C;YI SYLLABLE SE;Lo;0;L;;;;;N;;;;; +A31D;YI SYLLABLE SEP;Lo;0;L;;;;;N;;;;; +A31E;YI SYLLABLE SUT;Lo;0;L;;;;;N;;;;; +A31F;YI SYLLABLE SUX;Lo;0;L;;;;;N;;;;; +A320;YI SYLLABLE SU;Lo;0;L;;;;;N;;;;; +A321;YI SYLLABLE SUP;Lo;0;L;;;;;N;;;;; +A322;YI SYLLABLE SURX;Lo;0;L;;;;;N;;;;; +A323;YI SYLLABLE SUR;Lo;0;L;;;;;N;;;;; +A324;YI SYLLABLE SYT;Lo;0;L;;;;;N;;;;; +A325;YI SYLLABLE SYX;Lo;0;L;;;;;N;;;;; +A326;YI SYLLABLE SY;Lo;0;L;;;;;N;;;;; +A327;YI SYLLABLE SYP;Lo;0;L;;;;;N;;;;; +A328;YI SYLLABLE SYRX;Lo;0;L;;;;;N;;;;; +A329;YI SYLLABLE SYR;Lo;0;L;;;;;N;;;;; +A32A;YI SYLLABLE SSIT;Lo;0;L;;;;;N;;;;; +A32B;YI SYLLABLE SSIX;Lo;0;L;;;;;N;;;;; +A32C;YI SYLLABLE SSI;Lo;0;L;;;;;N;;;;; +A32D;YI SYLLABLE SSIP;Lo;0;L;;;;;N;;;;; +A32E;YI SYLLABLE SSIEX;Lo;0;L;;;;;N;;;;; +A32F;YI SYLLABLE SSIE;Lo;0;L;;;;;N;;;;; +A330;YI SYLLABLE SSIEP;Lo;0;L;;;;;N;;;;; +A331;YI SYLLABLE SSAT;Lo;0;L;;;;;N;;;;; +A332;YI SYLLABLE SSAX;Lo;0;L;;;;;N;;;;; +A333;YI SYLLABLE SSA;Lo;0;L;;;;;N;;;;; +A334;YI SYLLABLE SSAP;Lo;0;L;;;;;N;;;;; +A335;YI SYLLABLE SSOT;Lo;0;L;;;;;N;;;;; +A336;YI SYLLABLE SSOX;Lo;0;L;;;;;N;;;;; +A337;YI SYLLABLE SSO;Lo;0;L;;;;;N;;;;; +A338;YI SYLLABLE SSOP;Lo;0;L;;;;;N;;;;; +A339;YI SYLLABLE SSEX;Lo;0;L;;;;;N;;;;; +A33A;YI SYLLABLE SSE;Lo;0;L;;;;;N;;;;; +A33B;YI SYLLABLE SSEP;Lo;0;L;;;;;N;;;;; +A33C;YI SYLLABLE SSUT;Lo;0;L;;;;;N;;;;; +A33D;YI SYLLABLE SSUX;Lo;0;L;;;;;N;;;;; +A33E;YI SYLLABLE SSU;Lo;0;L;;;;;N;;;;; +A33F;YI SYLLABLE SSUP;Lo;0;L;;;;;N;;;;; +A340;YI SYLLABLE SSYT;Lo;0;L;;;;;N;;;;; +A341;YI SYLLABLE SSYX;Lo;0;L;;;;;N;;;;; +A342;YI SYLLABLE SSY;Lo;0;L;;;;;N;;;;; +A343;YI SYLLABLE SSYP;Lo;0;L;;;;;N;;;;; +A344;YI SYLLABLE SSYRX;Lo;0;L;;;;;N;;;;; +A345;YI SYLLABLE SSYR;Lo;0;L;;;;;N;;;;; +A346;YI SYLLABLE ZHAT;Lo;0;L;;;;;N;;;;; +A347;YI SYLLABLE ZHAX;Lo;0;L;;;;;N;;;;; +A348;YI SYLLABLE ZHA;Lo;0;L;;;;;N;;;;; +A349;YI SYLLABLE ZHAP;Lo;0;L;;;;;N;;;;; +A34A;YI SYLLABLE ZHUOX;Lo;0;L;;;;;N;;;;; +A34B;YI SYLLABLE ZHUO;Lo;0;L;;;;;N;;;;; +A34C;YI SYLLABLE ZHUOP;Lo;0;L;;;;;N;;;;; +A34D;YI SYLLABLE ZHOT;Lo;0;L;;;;;N;;;;; +A34E;YI SYLLABLE ZHOX;Lo;0;L;;;;;N;;;;; +A34F;YI SYLLABLE ZHO;Lo;0;L;;;;;N;;;;; +A350;YI SYLLABLE ZHOP;Lo;0;L;;;;;N;;;;; +A351;YI SYLLABLE ZHET;Lo;0;L;;;;;N;;;;; +A352;YI SYLLABLE ZHEX;Lo;0;L;;;;;N;;;;; +A353;YI SYLLABLE ZHE;Lo;0;L;;;;;N;;;;; +A354;YI SYLLABLE ZHEP;Lo;0;L;;;;;N;;;;; +A355;YI SYLLABLE ZHUT;Lo;0;L;;;;;N;;;;; +A356;YI SYLLABLE ZHUX;Lo;0;L;;;;;N;;;;; +A357;YI SYLLABLE ZHU;Lo;0;L;;;;;N;;;;; +A358;YI SYLLABLE ZHUP;Lo;0;L;;;;;N;;;;; +A359;YI SYLLABLE ZHURX;Lo;0;L;;;;;N;;;;; +A35A;YI SYLLABLE ZHUR;Lo;0;L;;;;;N;;;;; +A35B;YI SYLLABLE ZHYT;Lo;0;L;;;;;N;;;;; +A35C;YI SYLLABLE ZHYX;Lo;0;L;;;;;N;;;;; +A35D;YI SYLLABLE ZHY;Lo;0;L;;;;;N;;;;; +A35E;YI SYLLABLE ZHYP;Lo;0;L;;;;;N;;;;; +A35F;YI SYLLABLE ZHYRX;Lo;0;L;;;;;N;;;;; +A360;YI SYLLABLE ZHYR;Lo;0;L;;;;;N;;;;; +A361;YI SYLLABLE CHAT;Lo;0;L;;;;;N;;;;; +A362;YI SYLLABLE CHAX;Lo;0;L;;;;;N;;;;; +A363;YI SYLLABLE CHA;Lo;0;L;;;;;N;;;;; +A364;YI SYLLABLE CHAP;Lo;0;L;;;;;N;;;;; +A365;YI SYLLABLE CHUOT;Lo;0;L;;;;;N;;;;; +A366;YI SYLLABLE CHUOX;Lo;0;L;;;;;N;;;;; +A367;YI SYLLABLE CHUO;Lo;0;L;;;;;N;;;;; +A368;YI SYLLABLE CHUOP;Lo;0;L;;;;;N;;;;; +A369;YI SYLLABLE CHOT;Lo;0;L;;;;;N;;;;; +A36A;YI SYLLABLE CHOX;Lo;0;L;;;;;N;;;;; +A36B;YI SYLLABLE CHO;Lo;0;L;;;;;N;;;;; +A36C;YI SYLLABLE CHOP;Lo;0;L;;;;;N;;;;; +A36D;YI SYLLABLE CHET;Lo;0;L;;;;;N;;;;; +A36E;YI SYLLABLE CHEX;Lo;0;L;;;;;N;;;;; +A36F;YI SYLLABLE CHE;Lo;0;L;;;;;N;;;;; +A370;YI SYLLABLE CHEP;Lo;0;L;;;;;N;;;;; +A371;YI SYLLABLE CHUX;Lo;0;L;;;;;N;;;;; +A372;YI SYLLABLE CHU;Lo;0;L;;;;;N;;;;; +A373;YI SYLLABLE CHUP;Lo;0;L;;;;;N;;;;; +A374;YI SYLLABLE CHURX;Lo;0;L;;;;;N;;;;; +A375;YI SYLLABLE CHUR;Lo;0;L;;;;;N;;;;; +A376;YI SYLLABLE CHYT;Lo;0;L;;;;;N;;;;; +A377;YI SYLLABLE CHYX;Lo;0;L;;;;;N;;;;; +A378;YI SYLLABLE CHY;Lo;0;L;;;;;N;;;;; +A379;YI SYLLABLE CHYP;Lo;0;L;;;;;N;;;;; +A37A;YI SYLLABLE CHYRX;Lo;0;L;;;;;N;;;;; +A37B;YI SYLLABLE CHYR;Lo;0;L;;;;;N;;;;; +A37C;YI SYLLABLE RRAX;Lo;0;L;;;;;N;;;;; +A37D;YI SYLLABLE RRA;Lo;0;L;;;;;N;;;;; +A37E;YI SYLLABLE RRUOX;Lo;0;L;;;;;N;;;;; +A37F;YI SYLLABLE RRUO;Lo;0;L;;;;;N;;;;; +A380;YI SYLLABLE RROT;Lo;0;L;;;;;N;;;;; +A381;YI SYLLABLE RROX;Lo;0;L;;;;;N;;;;; +A382;YI SYLLABLE RRO;Lo;0;L;;;;;N;;;;; +A383;YI SYLLABLE RROP;Lo;0;L;;;;;N;;;;; +A384;YI SYLLABLE RRET;Lo;0;L;;;;;N;;;;; +A385;YI SYLLABLE RREX;Lo;0;L;;;;;N;;;;; +A386;YI SYLLABLE RRE;Lo;0;L;;;;;N;;;;; +A387;YI SYLLABLE RREP;Lo;0;L;;;;;N;;;;; +A388;YI SYLLABLE RRUT;Lo;0;L;;;;;N;;;;; +A389;YI SYLLABLE RRUX;Lo;0;L;;;;;N;;;;; +A38A;YI SYLLABLE RRU;Lo;0;L;;;;;N;;;;; +A38B;YI SYLLABLE RRUP;Lo;0;L;;;;;N;;;;; +A38C;YI SYLLABLE RRURX;Lo;0;L;;;;;N;;;;; +A38D;YI SYLLABLE RRUR;Lo;0;L;;;;;N;;;;; +A38E;YI SYLLABLE RRYT;Lo;0;L;;;;;N;;;;; +A38F;YI SYLLABLE RRYX;Lo;0;L;;;;;N;;;;; +A390;YI SYLLABLE RRY;Lo;0;L;;;;;N;;;;; +A391;YI SYLLABLE RRYP;Lo;0;L;;;;;N;;;;; +A392;YI SYLLABLE RRYRX;Lo;0;L;;;;;N;;;;; +A393;YI SYLLABLE RRYR;Lo;0;L;;;;;N;;;;; +A394;YI SYLLABLE NRAT;Lo;0;L;;;;;N;;;;; +A395;YI SYLLABLE NRAX;Lo;0;L;;;;;N;;;;; +A396;YI SYLLABLE NRA;Lo;0;L;;;;;N;;;;; +A397;YI SYLLABLE NRAP;Lo;0;L;;;;;N;;;;; +A398;YI SYLLABLE NROX;Lo;0;L;;;;;N;;;;; +A399;YI SYLLABLE NRO;Lo;0;L;;;;;N;;;;; +A39A;YI SYLLABLE NROP;Lo;0;L;;;;;N;;;;; +A39B;YI SYLLABLE NRET;Lo;0;L;;;;;N;;;;; +A39C;YI SYLLABLE NREX;Lo;0;L;;;;;N;;;;; +A39D;YI SYLLABLE NRE;Lo;0;L;;;;;N;;;;; +A39E;YI SYLLABLE NREP;Lo;0;L;;;;;N;;;;; +A39F;YI SYLLABLE NRUT;Lo;0;L;;;;;N;;;;; +A3A0;YI SYLLABLE NRUX;Lo;0;L;;;;;N;;;;; +A3A1;YI SYLLABLE NRU;Lo;0;L;;;;;N;;;;; +A3A2;YI SYLLABLE NRUP;Lo;0;L;;;;;N;;;;; +A3A3;YI SYLLABLE NRURX;Lo;0;L;;;;;N;;;;; +A3A4;YI SYLLABLE NRUR;Lo;0;L;;;;;N;;;;; +A3A5;YI SYLLABLE NRYT;Lo;0;L;;;;;N;;;;; +A3A6;YI SYLLABLE NRYX;Lo;0;L;;;;;N;;;;; +A3A7;YI SYLLABLE NRY;Lo;0;L;;;;;N;;;;; +A3A8;YI SYLLABLE NRYP;Lo;0;L;;;;;N;;;;; +A3A9;YI SYLLABLE NRYRX;Lo;0;L;;;;;N;;;;; +A3AA;YI SYLLABLE NRYR;Lo;0;L;;;;;N;;;;; +A3AB;YI SYLLABLE SHAT;Lo;0;L;;;;;N;;;;; +A3AC;YI SYLLABLE SHAX;Lo;0;L;;;;;N;;;;; +A3AD;YI SYLLABLE SHA;Lo;0;L;;;;;N;;;;; +A3AE;YI SYLLABLE SHAP;Lo;0;L;;;;;N;;;;; +A3AF;YI SYLLABLE SHUOX;Lo;0;L;;;;;N;;;;; +A3B0;YI SYLLABLE SHUO;Lo;0;L;;;;;N;;;;; +A3B1;YI SYLLABLE SHUOP;Lo;0;L;;;;;N;;;;; +A3B2;YI SYLLABLE SHOT;Lo;0;L;;;;;N;;;;; +A3B3;YI SYLLABLE SHOX;Lo;0;L;;;;;N;;;;; +A3B4;YI SYLLABLE SHO;Lo;0;L;;;;;N;;;;; +A3B5;YI SYLLABLE SHOP;Lo;0;L;;;;;N;;;;; +A3B6;YI SYLLABLE SHET;Lo;0;L;;;;;N;;;;; +A3B7;YI SYLLABLE SHEX;Lo;0;L;;;;;N;;;;; +A3B8;YI SYLLABLE SHE;Lo;0;L;;;;;N;;;;; +A3B9;YI SYLLABLE SHEP;Lo;0;L;;;;;N;;;;; +A3BA;YI SYLLABLE SHUT;Lo;0;L;;;;;N;;;;; +A3BB;YI SYLLABLE SHUX;Lo;0;L;;;;;N;;;;; +A3BC;YI SYLLABLE SHU;Lo;0;L;;;;;N;;;;; +A3BD;YI SYLLABLE SHUP;Lo;0;L;;;;;N;;;;; +A3BE;YI SYLLABLE SHURX;Lo;0;L;;;;;N;;;;; +A3BF;YI SYLLABLE SHUR;Lo;0;L;;;;;N;;;;; +A3C0;YI SYLLABLE SHYT;Lo;0;L;;;;;N;;;;; +A3C1;YI SYLLABLE SHYX;Lo;0;L;;;;;N;;;;; +A3C2;YI SYLLABLE SHY;Lo;0;L;;;;;N;;;;; +A3C3;YI SYLLABLE SHYP;Lo;0;L;;;;;N;;;;; +A3C4;YI SYLLABLE SHYRX;Lo;0;L;;;;;N;;;;; +A3C5;YI SYLLABLE SHYR;Lo;0;L;;;;;N;;;;; +A3C6;YI SYLLABLE RAT;Lo;0;L;;;;;N;;;;; +A3C7;YI SYLLABLE RAX;Lo;0;L;;;;;N;;;;; +A3C8;YI SYLLABLE RA;Lo;0;L;;;;;N;;;;; +A3C9;YI SYLLABLE RAP;Lo;0;L;;;;;N;;;;; +A3CA;YI SYLLABLE RUOX;Lo;0;L;;;;;N;;;;; +A3CB;YI SYLLABLE RUO;Lo;0;L;;;;;N;;;;; +A3CC;YI SYLLABLE RUOP;Lo;0;L;;;;;N;;;;; +A3CD;YI SYLLABLE ROT;Lo;0;L;;;;;N;;;;; +A3CE;YI SYLLABLE ROX;Lo;0;L;;;;;N;;;;; +A3CF;YI SYLLABLE RO;Lo;0;L;;;;;N;;;;; +A3D0;YI SYLLABLE ROP;Lo;0;L;;;;;N;;;;; +A3D1;YI SYLLABLE REX;Lo;0;L;;;;;N;;;;; +A3D2;YI SYLLABLE RE;Lo;0;L;;;;;N;;;;; +A3D3;YI SYLLABLE REP;Lo;0;L;;;;;N;;;;; +A3D4;YI SYLLABLE RUT;Lo;0;L;;;;;N;;;;; +A3D5;YI SYLLABLE RUX;Lo;0;L;;;;;N;;;;; +A3D6;YI SYLLABLE RU;Lo;0;L;;;;;N;;;;; +A3D7;YI SYLLABLE RUP;Lo;0;L;;;;;N;;;;; +A3D8;YI SYLLABLE RURX;Lo;0;L;;;;;N;;;;; +A3D9;YI SYLLABLE RUR;Lo;0;L;;;;;N;;;;; +A3DA;YI SYLLABLE RYT;Lo;0;L;;;;;N;;;;; +A3DB;YI SYLLABLE RYX;Lo;0;L;;;;;N;;;;; +A3DC;YI SYLLABLE RY;Lo;0;L;;;;;N;;;;; +A3DD;YI SYLLABLE RYP;Lo;0;L;;;;;N;;;;; +A3DE;YI SYLLABLE RYRX;Lo;0;L;;;;;N;;;;; +A3DF;YI SYLLABLE RYR;Lo;0;L;;;;;N;;;;; +A3E0;YI SYLLABLE JIT;Lo;0;L;;;;;N;;;;; +A3E1;YI SYLLABLE JIX;Lo;0;L;;;;;N;;;;; +A3E2;YI SYLLABLE JI;Lo;0;L;;;;;N;;;;; +A3E3;YI SYLLABLE JIP;Lo;0;L;;;;;N;;;;; +A3E4;YI SYLLABLE JIET;Lo;0;L;;;;;N;;;;; +A3E5;YI SYLLABLE JIEX;Lo;0;L;;;;;N;;;;; +A3E6;YI SYLLABLE JIE;Lo;0;L;;;;;N;;;;; +A3E7;YI SYLLABLE JIEP;Lo;0;L;;;;;N;;;;; +A3E8;YI SYLLABLE JUOT;Lo;0;L;;;;;N;;;;; +A3E9;YI SYLLABLE JUOX;Lo;0;L;;;;;N;;;;; +A3EA;YI SYLLABLE JUO;Lo;0;L;;;;;N;;;;; +A3EB;YI SYLLABLE JUOP;Lo;0;L;;;;;N;;;;; +A3EC;YI SYLLABLE JOT;Lo;0;L;;;;;N;;;;; +A3ED;YI SYLLABLE JOX;Lo;0;L;;;;;N;;;;; +A3EE;YI SYLLABLE JO;Lo;0;L;;;;;N;;;;; +A3EF;YI SYLLABLE JOP;Lo;0;L;;;;;N;;;;; +A3F0;YI SYLLABLE JUT;Lo;0;L;;;;;N;;;;; +A3F1;YI SYLLABLE JUX;Lo;0;L;;;;;N;;;;; +A3F2;YI SYLLABLE JU;Lo;0;L;;;;;N;;;;; +A3F3;YI SYLLABLE JUP;Lo;0;L;;;;;N;;;;; +A3F4;YI SYLLABLE JURX;Lo;0;L;;;;;N;;;;; +A3F5;YI SYLLABLE JUR;Lo;0;L;;;;;N;;;;; +A3F6;YI SYLLABLE JYT;Lo;0;L;;;;;N;;;;; +A3F7;YI SYLLABLE JYX;Lo;0;L;;;;;N;;;;; +A3F8;YI SYLLABLE JY;Lo;0;L;;;;;N;;;;; +A3F9;YI SYLLABLE JYP;Lo;0;L;;;;;N;;;;; +A3FA;YI SYLLABLE JYRX;Lo;0;L;;;;;N;;;;; +A3FB;YI SYLLABLE JYR;Lo;0;L;;;;;N;;;;; +A3FC;YI SYLLABLE QIT;Lo;0;L;;;;;N;;;;; +A3FD;YI SYLLABLE QIX;Lo;0;L;;;;;N;;;;; +A3FE;YI SYLLABLE QI;Lo;0;L;;;;;N;;;;; +A3FF;YI SYLLABLE QIP;Lo;0;L;;;;;N;;;;; +A400;YI SYLLABLE QIET;Lo;0;L;;;;;N;;;;; +A401;YI SYLLABLE QIEX;Lo;0;L;;;;;N;;;;; +A402;YI SYLLABLE QIE;Lo;0;L;;;;;N;;;;; +A403;YI SYLLABLE QIEP;Lo;0;L;;;;;N;;;;; +A404;YI SYLLABLE QUOT;Lo;0;L;;;;;N;;;;; +A405;YI SYLLABLE QUOX;Lo;0;L;;;;;N;;;;; +A406;YI SYLLABLE QUO;Lo;0;L;;;;;N;;;;; +A407;YI SYLLABLE QUOP;Lo;0;L;;;;;N;;;;; +A408;YI SYLLABLE QOT;Lo;0;L;;;;;N;;;;; +A409;YI SYLLABLE QOX;Lo;0;L;;;;;N;;;;; +A40A;YI SYLLABLE QO;Lo;0;L;;;;;N;;;;; +A40B;YI SYLLABLE QOP;Lo;0;L;;;;;N;;;;; +A40C;YI SYLLABLE QUT;Lo;0;L;;;;;N;;;;; +A40D;YI SYLLABLE QUX;Lo;0;L;;;;;N;;;;; +A40E;YI SYLLABLE QU;Lo;0;L;;;;;N;;;;; +A40F;YI SYLLABLE QUP;Lo;0;L;;;;;N;;;;; +A410;YI SYLLABLE QURX;Lo;0;L;;;;;N;;;;; +A411;YI SYLLABLE QUR;Lo;0;L;;;;;N;;;;; +A412;YI SYLLABLE QYT;Lo;0;L;;;;;N;;;;; +A413;YI SYLLABLE QYX;Lo;0;L;;;;;N;;;;; +A414;YI SYLLABLE QY;Lo;0;L;;;;;N;;;;; +A415;YI SYLLABLE QYP;Lo;0;L;;;;;N;;;;; +A416;YI SYLLABLE QYRX;Lo;0;L;;;;;N;;;;; +A417;YI SYLLABLE QYR;Lo;0;L;;;;;N;;;;; +A418;YI SYLLABLE JJIT;Lo;0;L;;;;;N;;;;; +A419;YI SYLLABLE JJIX;Lo;0;L;;;;;N;;;;; +A41A;YI SYLLABLE JJI;Lo;0;L;;;;;N;;;;; +A41B;YI SYLLABLE JJIP;Lo;0;L;;;;;N;;;;; +A41C;YI SYLLABLE JJIET;Lo;0;L;;;;;N;;;;; +A41D;YI SYLLABLE JJIEX;Lo;0;L;;;;;N;;;;; +A41E;YI SYLLABLE JJIE;Lo;0;L;;;;;N;;;;; +A41F;YI SYLLABLE JJIEP;Lo;0;L;;;;;N;;;;; +A420;YI SYLLABLE JJUOX;Lo;0;L;;;;;N;;;;; +A421;YI SYLLABLE JJUO;Lo;0;L;;;;;N;;;;; +A422;YI SYLLABLE JJUOP;Lo;0;L;;;;;N;;;;; +A423;YI SYLLABLE JJOT;Lo;0;L;;;;;N;;;;; +A424;YI SYLLABLE JJOX;Lo;0;L;;;;;N;;;;; +A425;YI SYLLABLE JJO;Lo;0;L;;;;;N;;;;; +A426;YI SYLLABLE JJOP;Lo;0;L;;;;;N;;;;; +A427;YI SYLLABLE JJUT;Lo;0;L;;;;;N;;;;; +A428;YI SYLLABLE JJUX;Lo;0;L;;;;;N;;;;; +A429;YI SYLLABLE JJU;Lo;0;L;;;;;N;;;;; +A42A;YI SYLLABLE JJUP;Lo;0;L;;;;;N;;;;; +A42B;YI SYLLABLE JJURX;Lo;0;L;;;;;N;;;;; +A42C;YI SYLLABLE JJUR;Lo;0;L;;;;;N;;;;; +A42D;YI SYLLABLE JJYT;Lo;0;L;;;;;N;;;;; +A42E;YI SYLLABLE JJYX;Lo;0;L;;;;;N;;;;; +A42F;YI SYLLABLE JJY;Lo;0;L;;;;;N;;;;; +A430;YI SYLLABLE JJYP;Lo;0;L;;;;;N;;;;; +A431;YI SYLLABLE NJIT;Lo;0;L;;;;;N;;;;; +A432;YI SYLLABLE NJIX;Lo;0;L;;;;;N;;;;; +A433;YI SYLLABLE NJI;Lo;0;L;;;;;N;;;;; +A434;YI SYLLABLE NJIP;Lo;0;L;;;;;N;;;;; +A435;YI SYLLABLE NJIET;Lo;0;L;;;;;N;;;;; +A436;YI SYLLABLE NJIEX;Lo;0;L;;;;;N;;;;; +A437;YI SYLLABLE NJIE;Lo;0;L;;;;;N;;;;; +A438;YI SYLLABLE NJIEP;Lo;0;L;;;;;N;;;;; +A439;YI SYLLABLE NJUOX;Lo;0;L;;;;;N;;;;; +A43A;YI SYLLABLE NJUO;Lo;0;L;;;;;N;;;;; +A43B;YI SYLLABLE NJOT;Lo;0;L;;;;;N;;;;; +A43C;YI SYLLABLE NJOX;Lo;0;L;;;;;N;;;;; +A43D;YI SYLLABLE NJO;Lo;0;L;;;;;N;;;;; +A43E;YI SYLLABLE NJOP;Lo;0;L;;;;;N;;;;; +A43F;YI SYLLABLE NJUX;Lo;0;L;;;;;N;;;;; +A440;YI SYLLABLE NJU;Lo;0;L;;;;;N;;;;; +A441;YI SYLLABLE NJUP;Lo;0;L;;;;;N;;;;; +A442;YI SYLLABLE NJURX;Lo;0;L;;;;;N;;;;; +A443;YI SYLLABLE NJUR;Lo;0;L;;;;;N;;;;; +A444;YI SYLLABLE NJYT;Lo;0;L;;;;;N;;;;; +A445;YI SYLLABLE NJYX;Lo;0;L;;;;;N;;;;; +A446;YI SYLLABLE NJY;Lo;0;L;;;;;N;;;;; +A447;YI SYLLABLE NJYP;Lo;0;L;;;;;N;;;;; +A448;YI SYLLABLE NJYRX;Lo;0;L;;;;;N;;;;; +A449;YI SYLLABLE NJYR;Lo;0;L;;;;;N;;;;; +A44A;YI SYLLABLE NYIT;Lo;0;L;;;;;N;;;;; +A44B;YI SYLLABLE NYIX;Lo;0;L;;;;;N;;;;; +A44C;YI SYLLABLE NYI;Lo;0;L;;;;;N;;;;; +A44D;YI SYLLABLE NYIP;Lo;0;L;;;;;N;;;;; +A44E;YI SYLLABLE NYIET;Lo;0;L;;;;;N;;;;; +A44F;YI SYLLABLE NYIEX;Lo;0;L;;;;;N;;;;; +A450;YI SYLLABLE NYIE;Lo;0;L;;;;;N;;;;; +A451;YI SYLLABLE NYIEP;Lo;0;L;;;;;N;;;;; +A452;YI SYLLABLE NYUOX;Lo;0;L;;;;;N;;;;; +A453;YI SYLLABLE NYUO;Lo;0;L;;;;;N;;;;; +A454;YI SYLLABLE NYUOP;Lo;0;L;;;;;N;;;;; +A455;YI SYLLABLE NYOT;Lo;0;L;;;;;N;;;;; +A456;YI SYLLABLE NYOX;Lo;0;L;;;;;N;;;;; +A457;YI SYLLABLE NYO;Lo;0;L;;;;;N;;;;; +A458;YI SYLLABLE NYOP;Lo;0;L;;;;;N;;;;; +A459;YI SYLLABLE NYUT;Lo;0;L;;;;;N;;;;; +A45A;YI SYLLABLE NYUX;Lo;0;L;;;;;N;;;;; +A45B;YI SYLLABLE NYU;Lo;0;L;;;;;N;;;;; +A45C;YI SYLLABLE NYUP;Lo;0;L;;;;;N;;;;; +A45D;YI SYLLABLE XIT;Lo;0;L;;;;;N;;;;; +A45E;YI SYLLABLE XIX;Lo;0;L;;;;;N;;;;; +A45F;YI SYLLABLE XI;Lo;0;L;;;;;N;;;;; +A460;YI SYLLABLE XIP;Lo;0;L;;;;;N;;;;; +A461;YI SYLLABLE XIET;Lo;0;L;;;;;N;;;;; +A462;YI SYLLABLE XIEX;Lo;0;L;;;;;N;;;;; +A463;YI SYLLABLE XIE;Lo;0;L;;;;;N;;;;; +A464;YI SYLLABLE XIEP;Lo;0;L;;;;;N;;;;; +A465;YI SYLLABLE XUOX;Lo;0;L;;;;;N;;;;; +A466;YI SYLLABLE XUO;Lo;0;L;;;;;N;;;;; +A467;YI SYLLABLE XOT;Lo;0;L;;;;;N;;;;; +A468;YI SYLLABLE XOX;Lo;0;L;;;;;N;;;;; +A469;YI SYLLABLE XO;Lo;0;L;;;;;N;;;;; +A46A;YI SYLLABLE XOP;Lo;0;L;;;;;N;;;;; +A46B;YI SYLLABLE XYT;Lo;0;L;;;;;N;;;;; +A46C;YI SYLLABLE XYX;Lo;0;L;;;;;N;;;;; +A46D;YI SYLLABLE XY;Lo;0;L;;;;;N;;;;; +A46E;YI SYLLABLE XYP;Lo;0;L;;;;;N;;;;; +A46F;YI SYLLABLE XYRX;Lo;0;L;;;;;N;;;;; +A470;YI SYLLABLE XYR;Lo;0;L;;;;;N;;;;; +A471;YI SYLLABLE YIT;Lo;0;L;;;;;N;;;;; +A472;YI SYLLABLE YIX;Lo;0;L;;;;;N;;;;; +A473;YI SYLLABLE YI;Lo;0;L;;;;;N;;;;; +A474;YI SYLLABLE YIP;Lo;0;L;;;;;N;;;;; +A475;YI SYLLABLE YIET;Lo;0;L;;;;;N;;;;; +A476;YI SYLLABLE YIEX;Lo;0;L;;;;;N;;;;; +A477;YI SYLLABLE YIE;Lo;0;L;;;;;N;;;;; +A478;YI SYLLABLE YIEP;Lo;0;L;;;;;N;;;;; +A479;YI SYLLABLE YUOT;Lo;0;L;;;;;N;;;;; +A47A;YI SYLLABLE YUOX;Lo;0;L;;;;;N;;;;; +A47B;YI SYLLABLE YUO;Lo;0;L;;;;;N;;;;; +A47C;YI SYLLABLE YUOP;Lo;0;L;;;;;N;;;;; +A47D;YI SYLLABLE YOT;Lo;0;L;;;;;N;;;;; +A47E;YI SYLLABLE YOX;Lo;0;L;;;;;N;;;;; +A47F;YI SYLLABLE YO;Lo;0;L;;;;;N;;;;; +A480;YI SYLLABLE YOP;Lo;0;L;;;;;N;;;;; +A481;YI SYLLABLE YUT;Lo;0;L;;;;;N;;;;; +A482;YI SYLLABLE YUX;Lo;0;L;;;;;N;;;;; +A483;YI SYLLABLE YU;Lo;0;L;;;;;N;;;;; +A484;YI SYLLABLE YUP;Lo;0;L;;;;;N;;;;; +A485;YI SYLLABLE YURX;Lo;0;L;;;;;N;;;;; +A486;YI SYLLABLE YUR;Lo;0;L;;;;;N;;;;; +A487;YI SYLLABLE YYT;Lo;0;L;;;;;N;;;;; +A488;YI SYLLABLE YYX;Lo;0;L;;;;;N;;;;; +A489;YI SYLLABLE YY;Lo;0;L;;;;;N;;;;; +A48A;YI SYLLABLE YYP;Lo;0;L;;;;;N;;;;; +A48B;YI SYLLABLE YYRX;Lo;0;L;;;;;N;;;;; +A48C;YI SYLLABLE YYR;Lo;0;L;;;;;N;;;;; +A490;YI RADICAL QOT;So;0;ON;;;;;N;;;;; +A491;YI RADICAL LI;So;0;ON;;;;;N;;;;; +A492;YI RADICAL KIT;So;0;ON;;;;;N;;;;; +A493;YI RADICAL NYIP;So;0;ON;;;;;N;;;;; +A494;YI RADICAL CYP;So;0;ON;;;;;N;;;;; +A495;YI RADICAL SSI;So;0;ON;;;;;N;;;;; +A496;YI RADICAL GGOP;So;0;ON;;;;;N;;;;; +A497;YI RADICAL GEP;So;0;ON;;;;;N;;;;; +A498;YI RADICAL MI;So;0;ON;;;;;N;;;;; +A499;YI RADICAL HXIT;So;0;ON;;;;;N;;;;; +A49A;YI RADICAL LYR;So;0;ON;;;;;N;;;;; +A49B;YI RADICAL BBUT;So;0;ON;;;;;N;;;;; +A49C;YI RADICAL MOP;So;0;ON;;;;;N;;;;; +A49D;YI RADICAL YO;So;0;ON;;;;;N;;;;; +A49E;YI RADICAL PUT;So;0;ON;;;;;N;;;;; +A49F;YI RADICAL HXUO;So;0;ON;;;;;N;;;;; +A4A0;YI RADICAL TAT;So;0;ON;;;;;N;;;;; +A4A1;YI RADICAL GA;So;0;ON;;;;;N;;;;; +A4A2;YI RADICAL ZUP;So;0;ON;;;;;N;;;;; +A4A3;YI RADICAL CYT;So;0;ON;;;;;N;;;;; +A4A4;YI RADICAL DDUR;So;0;ON;;;;;N;;;;; +A4A5;YI RADICAL BUR;So;0;ON;;;;;N;;;;; +A4A6;YI RADICAL GGUO;So;0;ON;;;;;N;;;;; +A4A7;YI RADICAL NYOP;So;0;ON;;;;;N;;;;; +A4A8;YI RADICAL TU;So;0;ON;;;;;N;;;;; +A4A9;YI RADICAL OP;So;0;ON;;;;;N;;;;; +A4AA;YI RADICAL JJUT;So;0;ON;;;;;N;;;;; +A4AB;YI RADICAL ZOT;So;0;ON;;;;;N;;;;; +A4AC;YI RADICAL PYT;So;0;ON;;;;;N;;;;; +A4AD;YI RADICAL HMO;So;0;ON;;;;;N;;;;; +A4AE;YI RADICAL YIT;So;0;ON;;;;;N;;;;; +A4AF;YI RADICAL VUR;So;0;ON;;;;;N;;;;; +A4B0;YI RADICAL SHY;So;0;ON;;;;;N;;;;; +A4B1;YI RADICAL VEP;So;0;ON;;;;;N;;;;; +A4B2;YI RADICAL ZA;So;0;ON;;;;;N;;;;; +A4B3;YI RADICAL JO;So;0;ON;;;;;N;;;;; +A4B4;YI RADICAL NZUP;So;0;ON;;;;;N;;;;; +A4B5;YI RADICAL JJY;So;0;ON;;;;;N;;;;; +A4B6;YI RADICAL GOT;So;0;ON;;;;;N;;;;; +A4B7;YI RADICAL JJIE;So;0;ON;;;;;N;;;;; +A4B8;YI RADICAL WO;So;0;ON;;;;;N;;;;; +A4B9;YI RADICAL DU;So;0;ON;;;;;N;;;;; +A4BA;YI RADICAL SHUR;So;0;ON;;;;;N;;;;; +A4BB;YI RADICAL LIE;So;0;ON;;;;;N;;;;; +A4BC;YI RADICAL CY;So;0;ON;;;;;N;;;;; +A4BD;YI RADICAL CUOP;So;0;ON;;;;;N;;;;; +A4BE;YI RADICAL CIP;So;0;ON;;;;;N;;;;; +A4BF;YI RADICAL HXOP;So;0;ON;;;;;N;;;;; +A4C0;YI RADICAL SHAT;So;0;ON;;;;;N;;;;; +A4C1;YI RADICAL ZUR;So;0;ON;;;;;N;;;;; +A4C2;YI RADICAL SHOP;So;0;ON;;;;;N;;;;; +A4C3;YI RADICAL CHE;So;0;ON;;;;;N;;;;; +A4C4;YI RADICAL ZZIET;So;0;ON;;;;;N;;;;; +A4C5;YI RADICAL NBIE;So;0;ON;;;;;N;;;;; +A4C6;YI RADICAL KE;So;0;ON;;;;;N;;;;; +A500;VAI SYLLABLE EE;Lo;0;L;;;;;N;;;;; +A501;VAI SYLLABLE EEN;Lo;0;L;;;;;N;;;;; +A502;VAI SYLLABLE HEE;Lo;0;L;;;;;N;;;;; +A503;VAI SYLLABLE WEE;Lo;0;L;;;;;N;;;;; +A504;VAI SYLLABLE WEEN;Lo;0;L;;;;;N;;;;; +A505;VAI SYLLABLE PEE;Lo;0;L;;;;;N;;;;; +A506;VAI SYLLABLE BHEE;Lo;0;L;;;;;N;;;;; +A507;VAI SYLLABLE BEE;Lo;0;L;;;;;N;;;;; +A508;VAI SYLLABLE MBEE;Lo;0;L;;;;;N;;;;; +A509;VAI SYLLABLE KPEE;Lo;0;L;;;;;N;;;;; +A50A;VAI SYLLABLE MGBEE;Lo;0;L;;;;;N;;;;; +A50B;VAI SYLLABLE GBEE;Lo;0;L;;;;;N;;;;; +A50C;VAI SYLLABLE FEE;Lo;0;L;;;;;N;;;;; +A50D;VAI SYLLABLE VEE;Lo;0;L;;;;;N;;;;; +A50E;VAI SYLLABLE TEE;Lo;0;L;;;;;N;;;;; +A50F;VAI SYLLABLE THEE;Lo;0;L;;;;;N;;;;; +A510;VAI SYLLABLE DHEE;Lo;0;L;;;;;N;;;;; +A511;VAI SYLLABLE DHHEE;Lo;0;L;;;;;N;;;;; +A512;VAI SYLLABLE LEE;Lo;0;L;;;;;N;;;;; +A513;VAI SYLLABLE REE;Lo;0;L;;;;;N;;;;; +A514;VAI SYLLABLE DEE;Lo;0;L;;;;;N;;;;; +A515;VAI SYLLABLE NDEE;Lo;0;L;;;;;N;;;;; +A516;VAI SYLLABLE SEE;Lo;0;L;;;;;N;;;;; +A517;VAI SYLLABLE SHEE;Lo;0;L;;;;;N;;;;; +A518;VAI SYLLABLE ZEE;Lo;0;L;;;;;N;;;;; +A519;VAI SYLLABLE ZHEE;Lo;0;L;;;;;N;;;;; +A51A;VAI SYLLABLE CEE;Lo;0;L;;;;;N;;;;; +A51B;VAI SYLLABLE JEE;Lo;0;L;;;;;N;;;;; +A51C;VAI SYLLABLE NJEE;Lo;0;L;;;;;N;;;;; +A51D;VAI SYLLABLE YEE;Lo;0;L;;;;;N;;;;; +A51E;VAI SYLLABLE KEE;Lo;0;L;;;;;N;;;;; +A51F;VAI SYLLABLE NGGEE;Lo;0;L;;;;;N;;;;; +A520;VAI SYLLABLE GEE;Lo;0;L;;;;;N;;;;; +A521;VAI SYLLABLE MEE;Lo;0;L;;;;;N;;;;; +A522;VAI SYLLABLE NEE;Lo;0;L;;;;;N;;;;; +A523;VAI SYLLABLE NYEE;Lo;0;L;;;;;N;;;;; +A524;VAI SYLLABLE I;Lo;0;L;;;;;N;;;;; +A525;VAI SYLLABLE IN;Lo;0;L;;;;;N;;;;; +A526;VAI SYLLABLE HI;Lo;0;L;;;;;N;;;;; +A527;VAI SYLLABLE HIN;Lo;0;L;;;;;N;;;;; +A528;VAI SYLLABLE WI;Lo;0;L;;;;;N;;;;; +A529;VAI SYLLABLE WIN;Lo;0;L;;;;;N;;;;; +A52A;VAI SYLLABLE PI;Lo;0;L;;;;;N;;;;; +A52B;VAI SYLLABLE BHI;Lo;0;L;;;;;N;;;;; +A52C;VAI SYLLABLE BI;Lo;0;L;;;;;N;;;;; +A52D;VAI SYLLABLE MBI;Lo;0;L;;;;;N;;;;; +A52E;VAI SYLLABLE KPI;Lo;0;L;;;;;N;;;;; +A52F;VAI SYLLABLE MGBI;Lo;0;L;;;;;N;;;;; +A530;VAI SYLLABLE GBI;Lo;0;L;;;;;N;;;;; +A531;VAI SYLLABLE FI;Lo;0;L;;;;;N;;;;; +A532;VAI SYLLABLE VI;Lo;0;L;;;;;N;;;;; +A533;VAI SYLLABLE TI;Lo;0;L;;;;;N;;;;; +A534;VAI SYLLABLE THI;Lo;0;L;;;;;N;;;;; +A535;VAI SYLLABLE DHI;Lo;0;L;;;;;N;;;;; +A536;VAI SYLLABLE DHHI;Lo;0;L;;;;;N;;;;; +A537;VAI SYLLABLE LI;Lo;0;L;;;;;N;;;;; +A538;VAI SYLLABLE RI;Lo;0;L;;;;;N;;;;; +A539;VAI SYLLABLE DI;Lo;0;L;;;;;N;;;;; +A53A;VAI SYLLABLE NDI;Lo;0;L;;;;;N;;;;; +A53B;VAI SYLLABLE SI;Lo;0;L;;;;;N;;;;; +A53C;VAI SYLLABLE SHI;Lo;0;L;;;;;N;;;;; +A53D;VAI SYLLABLE ZI;Lo;0;L;;;;;N;;;;; +A53E;VAI SYLLABLE ZHI;Lo;0;L;;;;;N;;;;; +A53F;VAI SYLLABLE CI;Lo;0;L;;;;;N;;;;; +A540;VAI SYLLABLE JI;Lo;0;L;;;;;N;;;;; +A541;VAI SYLLABLE NJI;Lo;0;L;;;;;N;;;;; +A542;VAI SYLLABLE YI;Lo;0;L;;;;;N;;;;; +A543;VAI SYLLABLE KI;Lo;0;L;;;;;N;;;;; +A544;VAI SYLLABLE NGGI;Lo;0;L;;;;;N;;;;; +A545;VAI SYLLABLE GI;Lo;0;L;;;;;N;;;;; +A546;VAI SYLLABLE MI;Lo;0;L;;;;;N;;;;; +A547;VAI SYLLABLE NI;Lo;0;L;;;;;N;;;;; +A548;VAI SYLLABLE NYI;Lo;0;L;;;;;N;;;;; +A549;VAI SYLLABLE A;Lo;0;L;;;;;N;;;;; +A54A;VAI SYLLABLE AN;Lo;0;L;;;;;N;;;;; +A54B;VAI SYLLABLE NGAN;Lo;0;L;;;;;N;;;;; +A54C;VAI SYLLABLE HA;Lo;0;L;;;;;N;;;;; +A54D;VAI SYLLABLE HAN;Lo;0;L;;;;;N;;;;; +A54E;VAI SYLLABLE WA;Lo;0;L;;;;;N;;;;; +A54F;VAI SYLLABLE WAN;Lo;0;L;;;;;N;;;;; +A550;VAI SYLLABLE PA;Lo;0;L;;;;;N;;;;; +A551;VAI SYLLABLE BHA;Lo;0;L;;;;;N;;;;; +A552;VAI SYLLABLE BA;Lo;0;L;;;;;N;;;;; +A553;VAI SYLLABLE MBA;Lo;0;L;;;;;N;;;;; +A554;VAI SYLLABLE KPA;Lo;0;L;;;;;N;;;;; +A555;VAI SYLLABLE KPAN;Lo;0;L;;;;;N;;;;; +A556;VAI SYLLABLE MGBA;Lo;0;L;;;;;N;;;;; +A557;VAI SYLLABLE GBA;Lo;0;L;;;;;N;;;;; +A558;VAI SYLLABLE FA;Lo;0;L;;;;;N;;;;; +A559;VAI SYLLABLE VA;Lo;0;L;;;;;N;;;;; +A55A;VAI SYLLABLE TA;Lo;0;L;;;;;N;;;;; +A55B;VAI SYLLABLE THA;Lo;0;L;;;;;N;;;;; +A55C;VAI SYLLABLE DHA;Lo;0;L;;;;;N;;;;; +A55D;VAI SYLLABLE DHHA;Lo;0;L;;;;;N;;;;; +A55E;VAI SYLLABLE LA;Lo;0;L;;;;;N;;;;; +A55F;VAI SYLLABLE RA;Lo;0;L;;;;;N;;;;; +A560;VAI SYLLABLE DA;Lo;0;L;;;;;N;;;;; +A561;VAI SYLLABLE NDA;Lo;0;L;;;;;N;;;;; +A562;VAI SYLLABLE SA;Lo;0;L;;;;;N;;;;; +A563;VAI SYLLABLE SHA;Lo;0;L;;;;;N;;;;; +A564;VAI SYLLABLE ZA;Lo;0;L;;;;;N;;;;; +A565;VAI SYLLABLE ZHA;Lo;0;L;;;;;N;;;;; +A566;VAI SYLLABLE CA;Lo;0;L;;;;;N;;;;; +A567;VAI SYLLABLE JA;Lo;0;L;;;;;N;;;;; +A568;VAI SYLLABLE NJA;Lo;0;L;;;;;N;;;;; +A569;VAI SYLLABLE YA;Lo;0;L;;;;;N;;;;; +A56A;VAI SYLLABLE KA;Lo;0;L;;;;;N;;;;; +A56B;VAI SYLLABLE KAN;Lo;0;L;;;;;N;;;;; +A56C;VAI SYLLABLE NGGA;Lo;0;L;;;;;N;;;;; +A56D;VAI SYLLABLE GA;Lo;0;L;;;;;N;;;;; +A56E;VAI SYLLABLE MA;Lo;0;L;;;;;N;;;;; +A56F;VAI SYLLABLE NA;Lo;0;L;;;;;N;;;;; +A570;VAI SYLLABLE NYA;Lo;0;L;;;;;N;;;;; +A571;VAI SYLLABLE OO;Lo;0;L;;;;;N;;;;; +A572;VAI SYLLABLE OON;Lo;0;L;;;;;N;;;;; +A573;VAI SYLLABLE HOO;Lo;0;L;;;;;N;;;;; +A574;VAI SYLLABLE WOO;Lo;0;L;;;;;N;;;;; +A575;VAI SYLLABLE WOON;Lo;0;L;;;;;N;;;;; +A576;VAI SYLLABLE POO;Lo;0;L;;;;;N;;;;; +A577;VAI SYLLABLE BHOO;Lo;0;L;;;;;N;;;;; +A578;VAI SYLLABLE BOO;Lo;0;L;;;;;N;;;;; +A579;VAI SYLLABLE MBOO;Lo;0;L;;;;;N;;;;; +A57A;VAI SYLLABLE KPOO;Lo;0;L;;;;;N;;;;; +A57B;VAI SYLLABLE MGBOO;Lo;0;L;;;;;N;;;;; +A57C;VAI SYLLABLE GBOO;Lo;0;L;;;;;N;;;;; +A57D;VAI SYLLABLE FOO;Lo;0;L;;;;;N;;;;; +A57E;VAI SYLLABLE VOO;Lo;0;L;;;;;N;;;;; +A57F;VAI SYLLABLE TOO;Lo;0;L;;;;;N;;;;; +A580;VAI SYLLABLE THOO;Lo;0;L;;;;;N;;;;; +A581;VAI SYLLABLE DHOO;Lo;0;L;;;;;N;;;;; +A582;VAI SYLLABLE DHHOO;Lo;0;L;;;;;N;;;;; +A583;VAI SYLLABLE LOO;Lo;0;L;;;;;N;;;;; +A584;VAI SYLLABLE ROO;Lo;0;L;;;;;N;;;;; +A585;VAI SYLLABLE DOO;Lo;0;L;;;;;N;;;;; +A586;VAI SYLLABLE NDOO;Lo;0;L;;;;;N;;;;; +A587;VAI SYLLABLE SOO;Lo;0;L;;;;;N;;;;; +A588;VAI SYLLABLE SHOO;Lo;0;L;;;;;N;;;;; +A589;VAI SYLLABLE ZOO;Lo;0;L;;;;;N;;;;; +A58A;VAI SYLLABLE ZHOO;Lo;0;L;;;;;N;;;;; +A58B;VAI SYLLABLE COO;Lo;0;L;;;;;N;;;;; +A58C;VAI SYLLABLE JOO;Lo;0;L;;;;;N;;;;; +A58D;VAI SYLLABLE NJOO;Lo;0;L;;;;;N;;;;; +A58E;VAI SYLLABLE YOO;Lo;0;L;;;;;N;;;;; +A58F;VAI SYLLABLE KOO;Lo;0;L;;;;;N;;;;; +A590;VAI SYLLABLE NGGOO;Lo;0;L;;;;;N;;;;; +A591;VAI SYLLABLE GOO;Lo;0;L;;;;;N;;;;; +A592;VAI SYLLABLE MOO;Lo;0;L;;;;;N;;;;; +A593;VAI SYLLABLE NOO;Lo;0;L;;;;;N;;;;; +A594;VAI SYLLABLE NYOO;Lo;0;L;;;;;N;;;;; +A595;VAI SYLLABLE U;Lo;0;L;;;;;N;;;;; +A596;VAI SYLLABLE UN;Lo;0;L;;;;;N;;;;; +A597;VAI SYLLABLE HU;Lo;0;L;;;;;N;;;;; +A598;VAI SYLLABLE HUN;Lo;0;L;;;;;N;;;;; +A599;VAI SYLLABLE WU;Lo;0;L;;;;;N;;;;; +A59A;VAI SYLLABLE WUN;Lo;0;L;;;;;N;;;;; +A59B;VAI SYLLABLE PU;Lo;0;L;;;;;N;;;;; +A59C;VAI SYLLABLE BHU;Lo;0;L;;;;;N;;;;; +A59D;VAI SYLLABLE BU;Lo;0;L;;;;;N;;;;; +A59E;VAI SYLLABLE MBU;Lo;0;L;;;;;N;;;;; +A59F;VAI SYLLABLE KPU;Lo;0;L;;;;;N;;;;; +A5A0;VAI SYLLABLE MGBU;Lo;0;L;;;;;N;;;;; +A5A1;VAI SYLLABLE GBU;Lo;0;L;;;;;N;;;;; +A5A2;VAI SYLLABLE FU;Lo;0;L;;;;;N;;;;; +A5A3;VAI SYLLABLE VU;Lo;0;L;;;;;N;;;;; +A5A4;VAI SYLLABLE TU;Lo;0;L;;;;;N;;;;; +A5A5;VAI SYLLABLE THU;Lo;0;L;;;;;N;;;;; +A5A6;VAI SYLLABLE DHU;Lo;0;L;;;;;N;;;;; +A5A7;VAI SYLLABLE DHHU;Lo;0;L;;;;;N;;;;; +A5A8;VAI SYLLABLE LU;Lo;0;L;;;;;N;;;;; +A5A9;VAI SYLLABLE RU;Lo;0;L;;;;;N;;;;; +A5AA;VAI SYLLABLE DU;Lo;0;L;;;;;N;;;;; +A5AB;VAI SYLLABLE NDU;Lo;0;L;;;;;N;;;;; +A5AC;VAI SYLLABLE SU;Lo;0;L;;;;;N;;;;; +A5AD;VAI SYLLABLE SHU;Lo;0;L;;;;;N;;;;; +A5AE;VAI SYLLABLE ZU;Lo;0;L;;;;;N;;;;; +A5AF;VAI SYLLABLE ZHU;Lo;0;L;;;;;N;;;;; +A5B0;VAI SYLLABLE CU;Lo;0;L;;;;;N;;;;; +A5B1;VAI SYLLABLE JU;Lo;0;L;;;;;N;;;;; +A5B2;VAI SYLLABLE NJU;Lo;0;L;;;;;N;;;;; +A5B3;VAI SYLLABLE YU;Lo;0;L;;;;;N;;;;; +A5B4;VAI SYLLABLE KU;Lo;0;L;;;;;N;;;;; +A5B5;VAI SYLLABLE NGGU;Lo;0;L;;;;;N;;;;; +A5B6;VAI SYLLABLE GU;Lo;0;L;;;;;N;;;;; +A5B7;VAI SYLLABLE MU;Lo;0;L;;;;;N;;;;; +A5B8;VAI SYLLABLE NU;Lo;0;L;;;;;N;;;;; +A5B9;VAI SYLLABLE NYU;Lo;0;L;;;;;N;;;;; +A5BA;VAI SYLLABLE O;Lo;0;L;;;;;N;;;;; +A5BB;VAI SYLLABLE ON;Lo;0;L;;;;;N;;;;; +A5BC;VAI SYLLABLE NGON;Lo;0;L;;;;;N;;;;; +A5BD;VAI SYLLABLE HO;Lo;0;L;;;;;N;;;;; +A5BE;VAI SYLLABLE HON;Lo;0;L;;;;;N;;;;; +A5BF;VAI SYLLABLE WO;Lo;0;L;;;;;N;;;;; +A5C0;VAI SYLLABLE WON;Lo;0;L;;;;;N;;;;; +A5C1;VAI SYLLABLE PO;Lo;0;L;;;;;N;;;;; +A5C2;VAI SYLLABLE BHO;Lo;0;L;;;;;N;;;;; +A5C3;VAI SYLLABLE BO;Lo;0;L;;;;;N;;;;; +A5C4;VAI SYLLABLE MBO;Lo;0;L;;;;;N;;;;; +A5C5;VAI SYLLABLE KPO;Lo;0;L;;;;;N;;;;; +A5C6;VAI SYLLABLE MGBO;Lo;0;L;;;;;N;;;;; +A5C7;VAI SYLLABLE GBO;Lo;0;L;;;;;N;;;;; +A5C8;VAI SYLLABLE GBON;Lo;0;L;;;;;N;;;;; +A5C9;VAI SYLLABLE FO;Lo;0;L;;;;;N;;;;; +A5CA;VAI SYLLABLE VO;Lo;0;L;;;;;N;;;;; +A5CB;VAI SYLLABLE TO;Lo;0;L;;;;;N;;;;; +A5CC;VAI SYLLABLE THO;Lo;0;L;;;;;N;;;;; +A5CD;VAI SYLLABLE DHO;Lo;0;L;;;;;N;;;;; +A5CE;VAI SYLLABLE DHHO;Lo;0;L;;;;;N;;;;; +A5CF;VAI SYLLABLE LO;Lo;0;L;;;;;N;;;;; +A5D0;VAI SYLLABLE RO;Lo;0;L;;;;;N;;;;; +A5D1;VAI SYLLABLE DO;Lo;0;L;;;;;N;;;;; +A5D2;VAI SYLLABLE NDO;Lo;0;L;;;;;N;;;;; +A5D3;VAI SYLLABLE SO;Lo;0;L;;;;;N;;;;; +A5D4;VAI SYLLABLE SHO;Lo;0;L;;;;;N;;;;; +A5D5;VAI SYLLABLE ZO;Lo;0;L;;;;;N;;;;; +A5D6;VAI SYLLABLE ZHO;Lo;0;L;;;;;N;;;;; +A5D7;VAI SYLLABLE CO;Lo;0;L;;;;;N;;;;; +A5D8;VAI SYLLABLE JO;Lo;0;L;;;;;N;;;;; +A5D9;VAI SYLLABLE NJO;Lo;0;L;;;;;N;;;;; +A5DA;VAI SYLLABLE YO;Lo;0;L;;;;;N;;;;; +A5DB;VAI SYLLABLE KO;Lo;0;L;;;;;N;;;;; +A5DC;VAI SYLLABLE NGGO;Lo;0;L;;;;;N;;;;; +A5DD;VAI SYLLABLE GO;Lo;0;L;;;;;N;;;;; +A5DE;VAI SYLLABLE MO;Lo;0;L;;;;;N;;;;; +A5DF;VAI SYLLABLE NO;Lo;0;L;;;;;N;;;;; +A5E0;VAI SYLLABLE NYO;Lo;0;L;;;;;N;;;;; +A5E1;VAI SYLLABLE E;Lo;0;L;;;;;N;;;;; +A5E2;VAI SYLLABLE EN;Lo;0;L;;;;;N;;;;; +A5E3;VAI SYLLABLE NGEN;Lo;0;L;;;;;N;;;;; +A5E4;VAI SYLLABLE HE;Lo;0;L;;;;;N;;;;; +A5E5;VAI SYLLABLE HEN;Lo;0;L;;;;;N;;;;; +A5E6;VAI SYLLABLE WE;Lo;0;L;;;;;N;;;;; +A5E7;VAI SYLLABLE WEN;Lo;0;L;;;;;N;;;;; +A5E8;VAI SYLLABLE PE;Lo;0;L;;;;;N;;;;; +A5E9;VAI SYLLABLE BHE;Lo;0;L;;;;;N;;;;; +A5EA;VAI SYLLABLE BE;Lo;0;L;;;;;N;;;;; +A5EB;VAI SYLLABLE MBE;Lo;0;L;;;;;N;;;;; +A5EC;VAI SYLLABLE KPE;Lo;0;L;;;;;N;;;;; +A5ED;VAI SYLLABLE KPEN;Lo;0;L;;;;;N;;;;; +A5EE;VAI SYLLABLE MGBE;Lo;0;L;;;;;N;;;;; +A5EF;VAI SYLLABLE GBE;Lo;0;L;;;;;N;;;;; +A5F0;VAI SYLLABLE GBEN;Lo;0;L;;;;;N;;;;; +A5F1;VAI SYLLABLE FE;Lo;0;L;;;;;N;;;;; +A5F2;VAI SYLLABLE VE;Lo;0;L;;;;;N;;;;; +A5F3;VAI SYLLABLE TE;Lo;0;L;;;;;N;;;;; +A5F4;VAI SYLLABLE THE;Lo;0;L;;;;;N;;;;; +A5F5;VAI SYLLABLE DHE;Lo;0;L;;;;;N;;;;; +A5F6;VAI SYLLABLE DHHE;Lo;0;L;;;;;N;;;;; +A5F7;VAI SYLLABLE LE;Lo;0;L;;;;;N;;;;; +A5F8;VAI SYLLABLE RE;Lo;0;L;;;;;N;;;;; +A5F9;VAI SYLLABLE DE;Lo;0;L;;;;;N;;;;; +A5FA;VAI SYLLABLE NDE;Lo;0;L;;;;;N;;;;; +A5FB;VAI SYLLABLE SE;Lo;0;L;;;;;N;;;;; +A5FC;VAI SYLLABLE SHE;Lo;0;L;;;;;N;;;;; +A5FD;VAI SYLLABLE ZE;Lo;0;L;;;;;N;;;;; +A5FE;VAI SYLLABLE ZHE;Lo;0;L;;;;;N;;;;; +A5FF;VAI SYLLABLE CE;Lo;0;L;;;;;N;;;;; +A600;VAI SYLLABLE JE;Lo;0;L;;;;;N;;;;; +A601;VAI SYLLABLE NJE;Lo;0;L;;;;;N;;;;; +A602;VAI SYLLABLE YE;Lo;0;L;;;;;N;;;;; +A603;VAI SYLLABLE KE;Lo;0;L;;;;;N;;;;; +A604;VAI SYLLABLE NGGE;Lo;0;L;;;;;N;;;;; +A605;VAI SYLLABLE NGGEN;Lo;0;L;;;;;N;;;;; +A606;VAI SYLLABLE GE;Lo;0;L;;;;;N;;;;; +A607;VAI SYLLABLE GEN;Lo;0;L;;;;;N;;;;; +A608;VAI SYLLABLE ME;Lo;0;L;;;;;N;;;;; +A609;VAI SYLLABLE NE;Lo;0;L;;;;;N;;;;; +A60A;VAI SYLLABLE NYE;Lo;0;L;;;;;N;;;;; +A60B;VAI SYLLABLE NG;Lo;0;L;;;;;N;;;;; +A60C;VAI SYLLABLE LENGTHENER;Lm;0;L;;;;;N;;;;; +A60D;VAI COMMA;Po;0;ON;;;;;N;;;;; +A60E;VAI FULL STOP;Po;0;ON;;;;;N;;;;; +A60F;VAI QUESTION MARK;Po;0;ON;;;;;N;;;;; +A610;VAI SYLLABLE NDOLE FA;Lo;0;L;;;;;N;;;;; +A611;VAI SYLLABLE NDOLE KA;Lo;0;L;;;;;N;;;;; +A612;VAI SYLLABLE NDOLE SOO;Lo;0;L;;;;;N;;;;; +A613;VAI SYMBOL FEENG;Lo;0;L;;;;;N;;;;; +A614;VAI SYMBOL KEENG;Lo;0;L;;;;;N;;;;; +A615;VAI SYMBOL TING;Lo;0;L;;;;;N;;;;; +A616;VAI SYMBOL NII;Lo;0;L;;;;;N;;;;; +A617;VAI SYMBOL BANG;Lo;0;L;;;;;N;;;;; +A618;VAI SYMBOL FAA;Lo;0;L;;;;;N;;;;; +A619;VAI SYMBOL TAA;Lo;0;L;;;;;N;;;;; +A61A;VAI SYMBOL DANG;Lo;0;L;;;;;N;;;;; +A61B;VAI SYMBOL DOONG;Lo;0;L;;;;;N;;;;; +A61C;VAI SYMBOL KUNG;Lo;0;L;;;;;N;;;;; +A61D;VAI SYMBOL TONG;Lo;0;L;;;;;N;;;;; +A61E;VAI SYMBOL DO-O;Lo;0;L;;;;;N;;;;; +A61F;VAI SYMBOL JONG;Lo;0;L;;;;;N;;;;; +A620;VAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +A621;VAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +A622;VAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +A623;VAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +A624;VAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +A625;VAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +A626;VAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +A627;VAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +A628;VAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +A629;VAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +A62A;VAI SYLLABLE NDOLE MA;Lo;0;L;;;;;N;;;;; +A62B;VAI SYLLABLE NDOLE DO;Lo;0;L;;;;;N;;;;; +A640;CYRILLIC CAPITAL LETTER ZEMLYA;Lu;0;L;;;;;N;;;;A641; +A641;CYRILLIC SMALL LETTER ZEMLYA;Ll;0;L;;;;;N;;;A640;;A640 +A642;CYRILLIC CAPITAL LETTER DZELO;Lu;0;L;;;;;N;;;;A643; +A643;CYRILLIC SMALL LETTER DZELO;Ll;0;L;;;;;N;;;A642;;A642 +A644;CYRILLIC CAPITAL LETTER REVERSED DZE;Lu;0;L;;;;;N;;;;A645; +A645;CYRILLIC SMALL LETTER REVERSED DZE;Ll;0;L;;;;;N;;;A644;;A644 +A646;CYRILLIC CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;A647; +A647;CYRILLIC SMALL LETTER IOTA;Ll;0;L;;;;;N;;;A646;;A646 +A648;CYRILLIC CAPITAL LETTER DJERV;Lu;0;L;;;;;N;;;;A649; +A649;CYRILLIC SMALL LETTER DJERV;Ll;0;L;;;;;N;;;A648;;A648 +A64A;CYRILLIC CAPITAL LETTER MONOGRAPH UK;Lu;0;L;;;;;N;;;;A64B; +A64B;CYRILLIC SMALL LETTER MONOGRAPH UK;Ll;0;L;;;;;N;;;A64A;;A64A +A64C;CYRILLIC CAPITAL LETTER BROAD OMEGA;Lu;0;L;;;;;N;;;;A64D; +A64D;CYRILLIC SMALL LETTER BROAD OMEGA;Ll;0;L;;;;;N;;;A64C;;A64C +A64E;CYRILLIC CAPITAL LETTER NEUTRAL YER;Lu;0;L;;;;;N;;;;A64F; +A64F;CYRILLIC SMALL LETTER NEUTRAL YER;Ll;0;L;;;;;N;;;A64E;;A64E +A650;CYRILLIC CAPITAL LETTER YERU WITH BACK YER;Lu;0;L;;;;;N;;;;A651; +A651;CYRILLIC SMALL LETTER YERU WITH BACK YER;Ll;0;L;;;;;N;;;A650;;A650 +A652;CYRILLIC CAPITAL LETTER IOTIFIED YAT;Lu;0;L;;;;;N;;;;A653; +A653;CYRILLIC SMALL LETTER IOTIFIED YAT;Ll;0;L;;;;;N;;;A652;;A652 +A654;CYRILLIC CAPITAL LETTER REVERSED YU;Lu;0;L;;;;;N;;;;A655; +A655;CYRILLIC SMALL LETTER REVERSED YU;Ll;0;L;;;;;N;;;A654;;A654 +A656;CYRILLIC CAPITAL LETTER IOTIFIED A;Lu;0;L;;;;;N;;;;A657; +A657;CYRILLIC SMALL LETTER IOTIFIED A;Ll;0;L;;;;;N;;;A656;;A656 +A658;CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS;Lu;0;L;;;;;N;;;;A659; +A659;CYRILLIC SMALL LETTER CLOSED LITTLE YUS;Ll;0;L;;;;;N;;;A658;;A658 +A65A;CYRILLIC CAPITAL LETTER BLENDED YUS;Lu;0;L;;;;;N;;;;A65B; +A65B;CYRILLIC SMALL LETTER BLENDED YUS;Ll;0;L;;;;;N;;;A65A;;A65A +A65C;CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS;Lu;0;L;;;;;N;;;;A65D; +A65D;CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS;Ll;0;L;;;;;N;;;A65C;;A65C +A65E;CYRILLIC CAPITAL LETTER YN;Lu;0;L;;;;;N;;;;A65F; +A65F;CYRILLIC SMALL LETTER YN;Ll;0;L;;;;;N;;;A65E;;A65E +A662;CYRILLIC CAPITAL LETTER SOFT DE;Lu;0;L;;;;;N;;;;A663; +A663;CYRILLIC SMALL LETTER SOFT DE;Ll;0;L;;;;;N;;;A662;;A662 +A664;CYRILLIC CAPITAL LETTER SOFT EL;Lu;0;L;;;;;N;;;;A665; +A665;CYRILLIC SMALL LETTER SOFT EL;Ll;0;L;;;;;N;;;A664;;A664 +A666;CYRILLIC CAPITAL LETTER SOFT EM;Lu;0;L;;;;;N;;;;A667; +A667;CYRILLIC SMALL LETTER SOFT EM;Ll;0;L;;;;;N;;;A666;;A666 +A668;CYRILLIC CAPITAL LETTER MONOCULAR O;Lu;0;L;;;;;N;;;;A669; +A669;CYRILLIC SMALL LETTER MONOCULAR O;Ll;0;L;;;;;N;;;A668;;A668 +A66A;CYRILLIC CAPITAL LETTER BINOCULAR O;Lu;0;L;;;;;N;;;;A66B; +A66B;CYRILLIC SMALL LETTER BINOCULAR O;Ll;0;L;;;;;N;;;A66A;;A66A +A66C;CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O;Lu;0;L;;;;;N;;;;A66D; +A66D;CYRILLIC SMALL LETTER DOUBLE MONOCULAR O;Ll;0;L;;;;;N;;;A66C;;A66C +A66E;CYRILLIC LETTER MULTIOCULAR O;Lo;0;L;;;;;N;;;;; +A66F;COMBINING CYRILLIC VZMET;Mn;230;NSM;;;;;N;;;;; +A670;COMBINING CYRILLIC TEN MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; +A671;COMBINING CYRILLIC HUNDRED MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; +A672;COMBINING CYRILLIC THOUSAND MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; +A673;SLAVONIC ASTERISK;Po;0;ON;;;;;N;;;;; +A67C;COMBINING CYRILLIC KAVYKA;Mn;230;NSM;;;;;N;;;;; +A67D;COMBINING CYRILLIC PAYEROK;Mn;230;NSM;;;;;N;;;;; +A67E;CYRILLIC KAVYKA;Po;0;ON;;;;;N;;;;; +A67F;CYRILLIC PAYEROK;Lm;0;ON;;;;;N;;;;; +A680;CYRILLIC CAPITAL LETTER DWE;Lu;0;L;;;;;N;;;;A681; +A681;CYRILLIC SMALL LETTER DWE;Ll;0;L;;;;;N;;;A680;;A680 +A682;CYRILLIC CAPITAL LETTER DZWE;Lu;0;L;;;;;N;;;;A683; +A683;CYRILLIC SMALL LETTER DZWE;Ll;0;L;;;;;N;;;A682;;A682 +A684;CYRILLIC CAPITAL LETTER ZHWE;Lu;0;L;;;;;N;;;;A685; +A685;CYRILLIC SMALL LETTER ZHWE;Ll;0;L;;;;;N;;;A684;;A684 +A686;CYRILLIC CAPITAL LETTER CCHE;Lu;0;L;;;;;N;;;;A687; +A687;CYRILLIC SMALL LETTER CCHE;Ll;0;L;;;;;N;;;A686;;A686 +A688;CYRILLIC CAPITAL LETTER DZZE;Lu;0;L;;;;;N;;;;A689; +A689;CYRILLIC SMALL LETTER DZZE;Ll;0;L;;;;;N;;;A688;;A688 +A68A;CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;A68B; +A68B;CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;A68A;;A68A +A68C;CYRILLIC CAPITAL LETTER TWE;Lu;0;L;;;;;N;;;;A68D; +A68D;CYRILLIC SMALL LETTER TWE;Ll;0;L;;;;;N;;;A68C;;A68C +A68E;CYRILLIC CAPITAL LETTER TSWE;Lu;0;L;;;;;N;;;;A68F; +A68F;CYRILLIC SMALL LETTER TSWE;Ll;0;L;;;;;N;;;A68E;;A68E +A690;CYRILLIC CAPITAL LETTER TSSE;Lu;0;L;;;;;N;;;;A691; +A691;CYRILLIC SMALL LETTER TSSE;Ll;0;L;;;;;N;;;A690;;A690 +A692;CYRILLIC CAPITAL LETTER TCHE;Lu;0;L;;;;;N;;;;A693; +A693;CYRILLIC SMALL LETTER TCHE;Ll;0;L;;;;;N;;;A692;;A692 +A694;CYRILLIC CAPITAL LETTER HWE;Lu;0;L;;;;;N;;;;A695; +A695;CYRILLIC SMALL LETTER HWE;Ll;0;L;;;;;N;;;A694;;A694 +A696;CYRILLIC CAPITAL LETTER SHWE;Lu;0;L;;;;;N;;;;A697; +A697;CYRILLIC SMALL LETTER SHWE;Ll;0;L;;;;;N;;;A696;;A696 +A700;MODIFIER LETTER CHINESE TONE YIN PING;Sk;0;ON;;;;;N;;;;; +A701;MODIFIER LETTER CHINESE TONE YANG PING;Sk;0;ON;;;;;N;;;;; +A702;MODIFIER LETTER CHINESE TONE YIN SHANG;Sk;0;ON;;;;;N;;;;; +A703;MODIFIER LETTER CHINESE TONE YANG SHANG;Sk;0;ON;;;;;N;;;;; +A704;MODIFIER LETTER CHINESE TONE YIN QU;Sk;0;ON;;;;;N;;;;; +A705;MODIFIER LETTER CHINESE TONE YANG QU;Sk;0;ON;;;;;N;;;;; +A706;MODIFIER LETTER CHINESE TONE YIN RU;Sk;0;ON;;;;;N;;;;; +A707;MODIFIER LETTER CHINESE TONE YANG RU;Sk;0;ON;;;;;N;;;;; +A708;MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;; +A709;MODIFIER LETTER HIGH DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;; +A70A;MODIFIER LETTER MID DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;; +A70B;MODIFIER LETTER LOW DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;; +A70C;MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;; +A70D;MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A70E;MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A70F;MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A710;MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A711;MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A712;MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A713;MODIFIER LETTER HIGH LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A714;MODIFIER LETTER MID LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A715;MODIFIER LETTER LOW LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A716;MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A717;MODIFIER LETTER DOT VERTICAL BAR;Lm;0;ON;;;;;N;;;;; +A718;MODIFIER LETTER DOT SLASH;Lm;0;ON;;;;;N;;;;; +A719;MODIFIER LETTER DOT HORIZONTAL BAR;Lm;0;ON;;;;;N;;;;; +A71A;MODIFIER LETTER LOWER RIGHT CORNER ANGLE;Lm;0;ON;;;;;N;;;;; +A71B;MODIFIER LETTER RAISED UP ARROW;Lm;0;ON;;;;;N;;;;; +A71C;MODIFIER LETTER RAISED DOWN ARROW;Lm;0;ON;;;;;N;;;;; +A71D;MODIFIER LETTER RAISED EXCLAMATION MARK;Lm;0;ON;;;;;N;;;;; +A71E;MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK;Lm;0;ON;;;;;N;;;;; +A71F;MODIFIER LETTER LOW INVERTED EXCLAMATION MARK;Lm;0;ON;;;;;N;;;;; +A720;MODIFIER LETTER STRESS AND HIGH TONE;Sk;0;ON;;;;;N;;;;; +A721;MODIFIER LETTER STRESS AND LOW TONE;Sk;0;ON;;;;;N;;;;; +A722;LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF;Lu;0;L;;;;;N;;;;A723; +A723;LATIN SMALL LETTER EGYPTOLOGICAL ALEF;Ll;0;L;;;;;N;;;A722;;A722 +A724;LATIN CAPITAL LETTER EGYPTOLOGICAL AIN;Lu;0;L;;;;;N;;;;A725; +A725;LATIN SMALL LETTER EGYPTOLOGICAL AIN;Ll;0;L;;;;;N;;;A724;;A724 +A726;LATIN CAPITAL LETTER HENG;Lu;0;L;;;;;N;;;;A727; +A727;LATIN SMALL LETTER HENG;Ll;0;L;;;;;N;;;A726;;A726 +A728;LATIN CAPITAL LETTER TZ;Lu;0;L;;;;;N;;;;A729; +A729;LATIN SMALL LETTER TZ;Ll;0;L;;;;;N;;;A728;;A728 +A72A;LATIN CAPITAL LETTER TRESILLO;Lu;0;L;;;;;N;;;;A72B; +A72B;LATIN SMALL LETTER TRESILLO;Ll;0;L;;;;;N;;;A72A;;A72A +A72C;LATIN CAPITAL LETTER CUATRILLO;Lu;0;L;;;;;N;;;;A72D; +A72D;LATIN SMALL LETTER CUATRILLO;Ll;0;L;;;;;N;;;A72C;;A72C +A72E;LATIN CAPITAL LETTER CUATRILLO WITH COMMA;Lu;0;L;;;;;N;;;;A72F; +A72F;LATIN SMALL LETTER CUATRILLO WITH COMMA;Ll;0;L;;;;;N;;;A72E;;A72E +A730;LATIN LETTER SMALL CAPITAL F;Ll;0;L;;;;;N;;;;; +A731;LATIN LETTER SMALL CAPITAL S;Ll;0;L;;;;;N;;;;; +A732;LATIN CAPITAL LETTER AA;Lu;0;L;;;;;N;;;;A733; +A733;LATIN SMALL LETTER AA;Ll;0;L;;;;;N;;;A732;;A732 +A734;LATIN CAPITAL LETTER AO;Lu;0;L;;;;;N;;;;A735; +A735;LATIN SMALL LETTER AO;Ll;0;L;;;;;N;;;A734;;A734 +A736;LATIN CAPITAL LETTER AU;Lu;0;L;;;;;N;;;;A737; +A737;LATIN SMALL LETTER AU;Ll;0;L;;;;;N;;;A736;;A736 +A738;LATIN CAPITAL LETTER AV;Lu;0;L;;;;;N;;;;A739; +A739;LATIN SMALL LETTER AV;Ll;0;L;;;;;N;;;A738;;A738 +A73A;LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR;Lu;0;L;;;;;N;;;;A73B; +A73B;LATIN SMALL LETTER AV WITH HORIZONTAL BAR;Ll;0;L;;;;;N;;;A73A;;A73A +A73C;LATIN CAPITAL LETTER AY;Lu;0;L;;;;;N;;;;A73D; +A73D;LATIN SMALL LETTER AY;Ll;0;L;;;;;N;;;A73C;;A73C +A73E;LATIN CAPITAL LETTER REVERSED C WITH DOT;Lu;0;L;;;;;N;;;;A73F; +A73F;LATIN SMALL LETTER REVERSED C WITH DOT;Ll;0;L;;;;;N;;;A73E;;A73E +A740;LATIN CAPITAL LETTER K WITH STROKE;Lu;0;L;;;;;N;;;;A741; +A741;LATIN SMALL LETTER K WITH STROKE;Ll;0;L;;;;;N;;;A740;;A740 +A742;LATIN CAPITAL LETTER K WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A743; +A743;LATIN SMALL LETTER K WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;A742;;A742 +A744;LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A745; +A745;LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE;Ll;0;L;;;;;N;;;A744;;A744 +A746;LATIN CAPITAL LETTER BROKEN L;Lu;0;L;;;;;N;;;;A747; +A747;LATIN SMALL LETTER BROKEN L;Ll;0;L;;;;;N;;;A746;;A746 +A748;LATIN CAPITAL LETTER L WITH HIGH STROKE;Lu;0;L;;;;;N;;;;A749; +A749;LATIN SMALL LETTER L WITH HIGH STROKE;Ll;0;L;;;;;N;;;A748;;A748 +A74A;LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY;Lu;0;L;;;;;N;;;;A74B; +A74B;LATIN SMALL LETTER O WITH LONG STROKE OVERLAY;Ll;0;L;;;;;N;;;A74A;;A74A +A74C;LATIN CAPITAL LETTER O WITH LOOP;Lu;0;L;;;;;N;;;;A74D; +A74D;LATIN SMALL LETTER O WITH LOOP;Ll;0;L;;;;;N;;;A74C;;A74C +A74E;LATIN CAPITAL LETTER OO;Lu;0;L;;;;;N;;;;A74F; +A74F;LATIN SMALL LETTER OO;Ll;0;L;;;;;N;;;A74E;;A74E +A750;LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER;Lu;0;L;;;;;N;;;;A751; +A751;LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER;Ll;0;L;;;;;N;;;A750;;A750 +A752;LATIN CAPITAL LETTER P WITH FLOURISH;Lu;0;L;;;;;N;;;;A753; +A753;LATIN SMALL LETTER P WITH FLOURISH;Ll;0;L;;;;;N;;;A752;;A752 +A754;LATIN CAPITAL LETTER P WITH SQUIRREL TAIL;Lu;0;L;;;;;N;;;;A755; +A755;LATIN SMALL LETTER P WITH SQUIRREL TAIL;Ll;0;L;;;;;N;;;A754;;A754 +A756;LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER;Lu;0;L;;;;;N;;;;A757; +A757;LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER;Ll;0;L;;;;;N;;;A756;;A756 +A758;LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A759; +A759;LATIN SMALL LETTER Q WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;A758;;A758 +A75A;LATIN CAPITAL LETTER R ROTUNDA;Lu;0;L;;;;;N;;;;A75B; +A75B;LATIN SMALL LETTER R ROTUNDA;Ll;0;L;;;;;N;;;A75A;;A75A +A75C;LATIN CAPITAL LETTER RUM ROTUNDA;Lu;0;L;;;;;N;;;;A75D; +A75D;LATIN SMALL LETTER RUM ROTUNDA;Ll;0;L;;;;;N;;;A75C;;A75C +A75E;LATIN CAPITAL LETTER V WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A75F; +A75F;LATIN SMALL LETTER V WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;A75E;;A75E +A760;LATIN CAPITAL LETTER VY;Lu;0;L;;;;;N;;;;A761; +A761;LATIN SMALL LETTER VY;Ll;0;L;;;;;N;;;A760;;A760 +A762;LATIN CAPITAL LETTER VISIGOTHIC Z;Lu;0;L;;;;;N;;;;A763; +A763;LATIN SMALL LETTER VISIGOTHIC Z;Ll;0;L;;;;;N;;;A762;;A762 +A764;LATIN CAPITAL LETTER THORN WITH STROKE;Lu;0;L;;;;;N;;;;A765; +A765;LATIN SMALL LETTER THORN WITH STROKE;Ll;0;L;;;;;N;;;A764;;A764 +A766;LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER;Lu;0;L;;;;;N;;;;A767; +A767;LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER;Ll;0;L;;;;;N;;;A766;;A766 +A768;LATIN CAPITAL LETTER VEND;Lu;0;L;;;;;N;;;;A769; +A769;LATIN SMALL LETTER VEND;Ll;0;L;;;;;N;;;A768;;A768 +A76A;LATIN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;A76B; +A76B;LATIN SMALL LETTER ET;Ll;0;L;;;;;N;;;A76A;;A76A +A76C;LATIN CAPITAL LETTER IS;Lu;0;L;;;;;N;;;;A76D; +A76D;LATIN SMALL LETTER IS;Ll;0;L;;;;;N;;;A76C;;A76C +A76E;LATIN CAPITAL LETTER CON;Lu;0;L;;;;;N;;;;A76F; +A76F;LATIN SMALL LETTER CON;Ll;0;L;;;;;N;;;A76E;;A76E +A770;MODIFIER LETTER US;Lm;0;L; A76F;;;;N;;;;; +A771;LATIN SMALL LETTER DUM;Ll;0;L;;;;;N;;;;; +A772;LATIN SMALL LETTER LUM;Ll;0;L;;;;;N;;;;; +A773;LATIN SMALL LETTER MUM;Ll;0;L;;;;;N;;;;; +A774;LATIN SMALL LETTER NUM;Ll;0;L;;;;;N;;;;; +A775;LATIN SMALL LETTER RUM;Ll;0;L;;;;;N;;;;; +A776;LATIN LETTER SMALL CAPITAL RUM;Ll;0;L;;;;;N;;;;; +A777;LATIN SMALL LETTER TUM;Ll;0;L;;;;;N;;;;; +A778;LATIN SMALL LETTER UM;Ll;0;L;;;;;N;;;;; +A779;LATIN CAPITAL LETTER INSULAR D;Lu;0;L;;;;;N;;;;A77A; +A77A;LATIN SMALL LETTER INSULAR D;Ll;0;L;;;;;N;;;A779;;A779 +A77B;LATIN CAPITAL LETTER INSULAR F;Lu;0;L;;;;;N;;;;A77C; +A77C;LATIN SMALL LETTER INSULAR F;Ll;0;L;;;;;N;;;A77B;;A77B +A77D;LATIN CAPITAL LETTER INSULAR G;Lu;0;L;;;;;N;;;;1D79; +A77E;LATIN CAPITAL LETTER TURNED INSULAR G;Lu;0;L;;;;;N;;;;A77F; +A77F;LATIN SMALL LETTER TURNED INSULAR G;Ll;0;L;;;;;N;;;A77E;;A77E +A780;LATIN CAPITAL LETTER TURNED L;Lu;0;L;;;;;N;;;;A781; +A781;LATIN SMALL LETTER TURNED L;Ll;0;L;;;;;N;;;A780;;A780 +A782;LATIN CAPITAL LETTER INSULAR R;Lu;0;L;;;;;N;;;;A783; +A783;LATIN SMALL LETTER INSULAR R;Ll;0;L;;;;;N;;;A782;;A782 +A784;LATIN CAPITAL LETTER INSULAR S;Lu;0;L;;;;;N;;;;A785; +A785;LATIN SMALL LETTER INSULAR S;Ll;0;L;;;;;N;;;A784;;A784 +A786;LATIN CAPITAL LETTER INSULAR T;Lu;0;L;;;;;N;;;;A787; +A787;LATIN SMALL LETTER INSULAR T;Ll;0;L;;;;;N;;;A786;;A786 +A788;MODIFIER LETTER LOW CIRCUMFLEX ACCENT;Lm;0;ON;;;;;N;;;;; +A789;MODIFIER LETTER COLON;Sk;0;L;;;;;N;;;;; +A78A;MODIFIER LETTER SHORT EQUALS SIGN;Sk;0;L;;;;;N;;;;; +A78B;LATIN CAPITAL LETTER SALTILLO;Lu;0;L;;;;;N;;;;A78C; +A78C;LATIN SMALL LETTER SALTILLO;Ll;0;L;;;;;N;;;A78B;;A78B +A7FB;LATIN EPIGRAPHIC LETTER REVERSED F;Lo;0;L;;;;;N;;;;; +A7FC;LATIN EPIGRAPHIC LETTER REVERSED P;Lo;0;L;;;;;N;;;;; +A7FD;LATIN EPIGRAPHIC LETTER INVERTED M;Lo;0;L;;;;;N;;;;; +A7FE;LATIN EPIGRAPHIC LETTER I LONGA;Lo;0;L;;;;;N;;;;; +A7FF;LATIN EPIGRAPHIC LETTER ARCHAIC M;Lo;0;L;;;;;N;;;;; +A800;SYLOTI NAGRI LETTER A;Lo;0;L;;;;;N;;;;; +A801;SYLOTI NAGRI LETTER I;Lo;0;L;;;;;N;;;;; +A802;SYLOTI NAGRI SIGN DVISVARA;Mn;0;NSM;;;;;N;;;;; +A803;SYLOTI NAGRI LETTER U;Lo;0;L;;;;;N;;;;; +A804;SYLOTI NAGRI LETTER E;Lo;0;L;;;;;N;;;;; +A805;SYLOTI NAGRI LETTER O;Lo;0;L;;;;;N;;;;; +A806;SYLOTI NAGRI SIGN HASANTA;Mn;9;NSM;;;;;N;;;;; +A807;SYLOTI NAGRI LETTER KO;Lo;0;L;;;;;N;;;;; +A808;SYLOTI NAGRI LETTER KHO;Lo;0;L;;;;;N;;;;; +A809;SYLOTI NAGRI LETTER GO;Lo;0;L;;;;;N;;;;; +A80A;SYLOTI NAGRI LETTER GHO;Lo;0;L;;;;;N;;;;; +A80B;SYLOTI NAGRI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +A80C;SYLOTI NAGRI LETTER CO;Lo;0;L;;;;;N;;;;; +A80D;SYLOTI NAGRI LETTER CHO;Lo;0;L;;;;;N;;;;; +A80E;SYLOTI NAGRI LETTER JO;Lo;0;L;;;;;N;;;;; +A80F;SYLOTI NAGRI LETTER JHO;Lo;0;L;;;;;N;;;;; +A810;SYLOTI NAGRI LETTER TTO;Lo;0;L;;;;;N;;;;; +A811;SYLOTI NAGRI LETTER TTHO;Lo;0;L;;;;;N;;;;; +A812;SYLOTI NAGRI LETTER DDO;Lo;0;L;;;;;N;;;;; +A813;SYLOTI NAGRI LETTER DDHO;Lo;0;L;;;;;N;;;;; +A814;SYLOTI NAGRI LETTER TO;Lo;0;L;;;;;N;;;;; +A815;SYLOTI NAGRI LETTER THO;Lo;0;L;;;;;N;;;;; +A816;SYLOTI NAGRI LETTER DO;Lo;0;L;;;;;N;;;;; +A817;SYLOTI NAGRI LETTER DHO;Lo;0;L;;;;;N;;;;; +A818;SYLOTI NAGRI LETTER NO;Lo;0;L;;;;;N;;;;; +A819;SYLOTI NAGRI LETTER PO;Lo;0;L;;;;;N;;;;; +A81A;SYLOTI NAGRI LETTER PHO;Lo;0;L;;;;;N;;;;; +A81B;SYLOTI NAGRI LETTER BO;Lo;0;L;;;;;N;;;;; +A81C;SYLOTI NAGRI LETTER BHO;Lo;0;L;;;;;N;;;;; +A81D;SYLOTI NAGRI LETTER MO;Lo;0;L;;;;;N;;;;; +A81E;SYLOTI NAGRI LETTER RO;Lo;0;L;;;;;N;;;;; +A81F;SYLOTI NAGRI LETTER LO;Lo;0;L;;;;;N;;;;; +A820;SYLOTI NAGRI LETTER RRO;Lo;0;L;;;;;N;;;;; +A821;SYLOTI NAGRI LETTER SO;Lo;0;L;;;;;N;;;;; +A822;SYLOTI NAGRI LETTER HO;Lo;0;L;;;;;N;;;;; +A823;SYLOTI NAGRI VOWEL SIGN A;Mc;0;L;;;;;N;;;;; +A824;SYLOTI NAGRI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +A825;SYLOTI NAGRI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +A826;SYLOTI NAGRI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +A827;SYLOTI NAGRI VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +A828;SYLOTI NAGRI POETRY MARK-1;So;0;ON;;;;;N;;;;; +A829;SYLOTI NAGRI POETRY MARK-2;So;0;ON;;;;;N;;;;; +A82A;SYLOTI NAGRI POETRY MARK-3;So;0;ON;;;;;N;;;;; +A82B;SYLOTI NAGRI POETRY MARK-4;So;0;ON;;;;;N;;;;; +A840;PHAGS-PA LETTER KA;Lo;0;L;;;;;N;;;;; +A841;PHAGS-PA LETTER KHA;Lo;0;L;;;;;N;;;;; +A842;PHAGS-PA LETTER GA;Lo;0;L;;;;;N;;;;; +A843;PHAGS-PA LETTER NGA;Lo;0;L;;;;;N;;;;; +A844;PHAGS-PA LETTER CA;Lo;0;L;;;;;N;;;;; +A845;PHAGS-PA LETTER CHA;Lo;0;L;;;;;N;;;;; +A846;PHAGS-PA LETTER JA;Lo;0;L;;;;;N;;;;; +A847;PHAGS-PA LETTER NYA;Lo;0;L;;;;;N;;;;; +A848;PHAGS-PA LETTER TA;Lo;0;L;;;;;N;;;;; +A849;PHAGS-PA LETTER THA;Lo;0;L;;;;;N;;;;; +A84A;PHAGS-PA LETTER DA;Lo;0;L;;;;;N;;;;; +A84B;PHAGS-PA LETTER NA;Lo;0;L;;;;;N;;;;; +A84C;PHAGS-PA LETTER PA;Lo;0;L;;;;;N;;;;; +A84D;PHAGS-PA LETTER PHA;Lo;0;L;;;;;N;;;;; +A84E;PHAGS-PA LETTER BA;Lo;0;L;;;;;N;;;;; +A84F;PHAGS-PA LETTER MA;Lo;0;L;;;;;N;;;;; +A850;PHAGS-PA LETTER TSA;Lo;0;L;;;;;N;;;;; +A851;PHAGS-PA LETTER TSHA;Lo;0;L;;;;;N;;;;; +A852;PHAGS-PA LETTER DZA;Lo;0;L;;;;;N;;;;; +A853;PHAGS-PA LETTER WA;Lo;0;L;;;;;N;;;;; +A854;PHAGS-PA LETTER ZHA;Lo;0;L;;;;;N;;;;; +A855;PHAGS-PA LETTER ZA;Lo;0;L;;;;;N;;;;; +A856;PHAGS-PA LETTER SMALL A;Lo;0;L;;;;;N;;;;; +A857;PHAGS-PA LETTER YA;Lo;0;L;;;;;N;;;;; +A858;PHAGS-PA LETTER RA;Lo;0;L;;;;;N;;;;; +A859;PHAGS-PA LETTER LA;Lo;0;L;;;;;N;;;;; +A85A;PHAGS-PA LETTER SHA;Lo;0;L;;;;;N;;;;; +A85B;PHAGS-PA LETTER SA;Lo;0;L;;;;;N;;;;; +A85C;PHAGS-PA LETTER HA;Lo;0;L;;;;;N;;;;; +A85D;PHAGS-PA LETTER A;Lo;0;L;;;;;N;;;;; +A85E;PHAGS-PA LETTER I;Lo;0;L;;;;;N;;;;; +A85F;PHAGS-PA LETTER U;Lo;0;L;;;;;N;;;;; +A860;PHAGS-PA LETTER E;Lo;0;L;;;;;N;;;;; +A861;PHAGS-PA LETTER O;Lo;0;L;;;;;N;;;;; +A862;PHAGS-PA LETTER QA;Lo;0;L;;;;;N;;;;; +A863;PHAGS-PA LETTER XA;Lo;0;L;;;;;N;;;;; +A864;PHAGS-PA LETTER FA;Lo;0;L;;;;;N;;;;; +A865;PHAGS-PA LETTER GGA;Lo;0;L;;;;;N;;;;; +A866;PHAGS-PA LETTER EE;Lo;0;L;;;;;N;;;;; +A867;PHAGS-PA SUBJOINED LETTER WA;Lo;0;L;;;;;N;;;;; +A868;PHAGS-PA SUBJOINED LETTER YA;Lo;0;L;;;;;N;;;;; +A869;PHAGS-PA LETTER TTA;Lo;0;L;;;;;N;;;;; +A86A;PHAGS-PA LETTER TTHA;Lo;0;L;;;;;N;;;;; +A86B;PHAGS-PA LETTER DDA;Lo;0;L;;;;;N;;;;; +A86C;PHAGS-PA LETTER NNA;Lo;0;L;;;;;N;;;;; +A86D;PHAGS-PA LETTER ALTERNATE YA;Lo;0;L;;;;;N;;;;; +A86E;PHAGS-PA LETTER VOICELESS SHA;Lo;0;L;;;;;N;;;;; +A86F;PHAGS-PA LETTER VOICED HA;Lo;0;L;;;;;N;;;;; +A870;PHAGS-PA LETTER ASPIRATED FA;Lo;0;L;;;;;N;;;;; +A871;PHAGS-PA SUBJOINED LETTER RA;Lo;0;L;;;;;N;;;;; +A872;PHAGS-PA SUPERFIXED LETTER RA;Lo;0;L;;;;;N;;;;; +A873;PHAGS-PA LETTER CANDRABINDU;Lo;0;L;;;;;N;;;;; +A874;PHAGS-PA SINGLE HEAD MARK;Po;0;ON;;;;;N;;;;; +A875;PHAGS-PA DOUBLE HEAD MARK;Po;0;ON;;;;;N;;;;; +A876;PHAGS-PA MARK SHAD;Po;0;ON;;;;;N;;;;; +A877;PHAGS-PA MARK DOUBLE SHAD;Po;0;ON;;;;;N;;;;; +A880;SAURASHTRA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +A881;SAURASHTRA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +A882;SAURASHTRA LETTER A;Lo;0;L;;;;;N;;;;; +A883;SAURASHTRA LETTER AA;Lo;0;L;;;;;N;;;;; +A884;SAURASHTRA LETTER I;Lo;0;L;;;;;N;;;;; +A885;SAURASHTRA LETTER II;Lo;0;L;;;;;N;;;;; +A886;SAURASHTRA LETTER U;Lo;0;L;;;;;N;;;;; +A887;SAURASHTRA LETTER UU;Lo;0;L;;;;;N;;;;; +A888;SAURASHTRA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +A889;SAURASHTRA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +A88A;SAURASHTRA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +A88B;SAURASHTRA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +A88C;SAURASHTRA LETTER E;Lo;0;L;;;;;N;;;;; +A88D;SAURASHTRA LETTER EE;Lo;0;L;;;;;N;;;;; +A88E;SAURASHTRA LETTER AI;Lo;0;L;;;;;N;;;;; +A88F;SAURASHTRA LETTER O;Lo;0;L;;;;;N;;;;; +A890;SAURASHTRA LETTER OO;Lo;0;L;;;;;N;;;;; +A891;SAURASHTRA LETTER AU;Lo;0;L;;;;;N;;;;; +A892;SAURASHTRA LETTER KA;Lo;0;L;;;;;N;;;;; +A893;SAURASHTRA LETTER KHA;Lo;0;L;;;;;N;;;;; +A894;SAURASHTRA LETTER GA;Lo;0;L;;;;;N;;;;; +A895;SAURASHTRA LETTER GHA;Lo;0;L;;;;;N;;;;; +A896;SAURASHTRA LETTER NGA;Lo;0;L;;;;;N;;;;; +A897;SAURASHTRA LETTER CA;Lo;0;L;;;;;N;;;;; +A898;SAURASHTRA LETTER CHA;Lo;0;L;;;;;N;;;;; +A899;SAURASHTRA LETTER JA;Lo;0;L;;;;;N;;;;; +A89A;SAURASHTRA LETTER JHA;Lo;0;L;;;;;N;;;;; +A89B;SAURASHTRA LETTER NYA;Lo;0;L;;;;;N;;;;; +A89C;SAURASHTRA LETTER TTA;Lo;0;L;;;;;N;;;;; +A89D;SAURASHTRA LETTER TTHA;Lo;0;L;;;;;N;;;;; +A89E;SAURASHTRA LETTER DDA;Lo;0;L;;;;;N;;;;; +A89F;SAURASHTRA LETTER DDHA;Lo;0;L;;;;;N;;;;; +A8A0;SAURASHTRA LETTER NNA;Lo;0;L;;;;;N;;;;; +A8A1;SAURASHTRA LETTER TA;Lo;0;L;;;;;N;;;;; +A8A2;SAURASHTRA LETTER THA;Lo;0;L;;;;;N;;;;; +A8A3;SAURASHTRA LETTER DA;Lo;0;L;;;;;N;;;;; +A8A4;SAURASHTRA LETTER DHA;Lo;0;L;;;;;N;;;;; +A8A5;SAURASHTRA LETTER NA;Lo;0;L;;;;;N;;;;; +A8A6;SAURASHTRA LETTER PA;Lo;0;L;;;;;N;;;;; +A8A7;SAURASHTRA LETTER PHA;Lo;0;L;;;;;N;;;;; +A8A8;SAURASHTRA LETTER BA;Lo;0;L;;;;;N;;;;; +A8A9;SAURASHTRA LETTER BHA;Lo;0;L;;;;;N;;;;; +A8AA;SAURASHTRA LETTER MA;Lo;0;L;;;;;N;;;;; +A8AB;SAURASHTRA LETTER YA;Lo;0;L;;;;;N;;;;; +A8AC;SAURASHTRA LETTER RA;Lo;0;L;;;;;N;;;;; +A8AD;SAURASHTRA LETTER LA;Lo;0;L;;;;;N;;;;; +A8AE;SAURASHTRA LETTER VA;Lo;0;L;;;;;N;;;;; +A8AF;SAURASHTRA LETTER SHA;Lo;0;L;;;;;N;;;;; +A8B0;SAURASHTRA LETTER SSA;Lo;0;L;;;;;N;;;;; +A8B1;SAURASHTRA LETTER SA;Lo;0;L;;;;;N;;;;; +A8B2;SAURASHTRA LETTER HA;Lo;0;L;;;;;N;;;;; +A8B3;SAURASHTRA LETTER LLA;Lo;0;L;;;;;N;;;;; +A8B4;SAURASHTRA CONSONANT SIGN HAARU;Mc;0;L;;;;;N;;;;; +A8B5;SAURASHTRA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +A8B6;SAURASHTRA VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +A8B7;SAURASHTRA VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +A8B8;SAURASHTRA VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +A8B9;SAURASHTRA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +A8BA;SAURASHTRA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; +A8BB;SAURASHTRA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; +A8BC;SAURASHTRA VOWEL SIGN VOCALIC L;Mc;0;L;;;;;N;;;;; +A8BD;SAURASHTRA VOWEL SIGN VOCALIC LL;Mc;0;L;;;;;N;;;;; +A8BE;SAURASHTRA VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +A8BF;SAURASHTRA VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; +A8C0;SAURASHTRA VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +A8C1;SAURASHTRA VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +A8C2;SAURASHTRA VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +A8C3;SAURASHTRA VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +A8C4;SAURASHTRA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +A8CE;SAURASHTRA DANDA;Po;0;L;;;;;N;;;;; +A8CF;SAURASHTRA DOUBLE DANDA;Po;0;L;;;;;N;;;;; +A8D0;SAURASHTRA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +A8D1;SAURASHTRA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +A8D2;SAURASHTRA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +A8D3;SAURASHTRA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +A8D4;SAURASHTRA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +A8D5;SAURASHTRA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +A8D6;SAURASHTRA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +A8D7;SAURASHTRA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +A8D8;SAURASHTRA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +A8D9;SAURASHTRA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +A900;KAYAH LI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +A901;KAYAH LI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +A902;KAYAH LI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +A903;KAYAH LI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +A904;KAYAH LI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +A905;KAYAH LI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +A906;KAYAH LI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +A907;KAYAH LI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +A908;KAYAH LI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +A909;KAYAH LI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +A90A;KAYAH LI LETTER KA;Lo;0;L;;;;;N;;;;; +A90B;KAYAH LI LETTER KHA;Lo;0;L;;;;;N;;;;; +A90C;KAYAH LI LETTER GA;Lo;0;L;;;;;N;;;;; +A90D;KAYAH LI LETTER NGA;Lo;0;L;;;;;N;;;;; +A90E;KAYAH LI LETTER SA;Lo;0;L;;;;;N;;;;; +A90F;KAYAH LI LETTER SHA;Lo;0;L;;;;;N;;;;; +A910;KAYAH LI LETTER ZA;Lo;0;L;;;;;N;;;;; +A911;KAYAH LI LETTER NYA;Lo;0;L;;;;;N;;;;; +A912;KAYAH LI LETTER TA;Lo;0;L;;;;;N;;;;; +A913;KAYAH LI LETTER HTA;Lo;0;L;;;;;N;;;;; +A914;KAYAH LI LETTER NA;Lo;0;L;;;;;N;;;;; +A915;KAYAH LI LETTER PA;Lo;0;L;;;;;N;;;;; +A916;KAYAH LI LETTER PHA;Lo;0;L;;;;;N;;;;; +A917;KAYAH LI LETTER MA;Lo;0;L;;;;;N;;;;; +A918;KAYAH LI LETTER DA;Lo;0;L;;;;;N;;;;; +A919;KAYAH LI LETTER BA;Lo;0;L;;;;;N;;;;; +A91A;KAYAH LI LETTER RA;Lo;0;L;;;;;N;;;;; +A91B;KAYAH LI LETTER YA;Lo;0;L;;;;;N;;;;; +A91C;KAYAH LI LETTER LA;Lo;0;L;;;;;N;;;;; +A91D;KAYAH LI LETTER WA;Lo;0;L;;;;;N;;;;; +A91E;KAYAH LI LETTER THA;Lo;0;L;;;;;N;;;;; +A91F;KAYAH LI LETTER HA;Lo;0;L;;;;;N;;;;; +A920;KAYAH LI LETTER VA;Lo;0;L;;;;;N;;;;; +A921;KAYAH LI LETTER CA;Lo;0;L;;;;;N;;;;; +A922;KAYAH LI LETTER A;Lo;0;L;;;;;N;;;;; +A923;KAYAH LI LETTER OE;Lo;0;L;;;;;N;;;;; +A924;KAYAH LI LETTER I;Lo;0;L;;;;;N;;;;; +A925;KAYAH LI LETTER OO;Lo;0;L;;;;;N;;;;; +A926;KAYAH LI VOWEL UE;Mn;0;NSM;;;;;N;;;;; +A927;KAYAH LI VOWEL E;Mn;0;NSM;;;;;N;;;;; +A928;KAYAH LI VOWEL U;Mn;0;NSM;;;;;N;;;;; +A929;KAYAH LI VOWEL EE;Mn;0;NSM;;;;;N;;;;; +A92A;KAYAH LI VOWEL O;Mn;0;NSM;;;;;N;;;;; +A92B;KAYAH LI TONE PLOPHU;Mn;220;NSM;;;;;N;;;;; +A92C;KAYAH LI TONE CALYA;Mn;220;NSM;;;;;N;;;;; +A92D;KAYAH LI TONE CALYA PLOPHU;Mn;220;NSM;;;;;N;;;;; +A92E;KAYAH LI SIGN CWI;Po;0;L;;;;;N;;;;; +A92F;KAYAH LI SIGN SHYA;Po;0;L;;;;;N;;;;; +A930;REJANG LETTER KA;Lo;0;L;;;;;N;;;;; +A931;REJANG LETTER GA;Lo;0;L;;;;;N;;;;; +A932;REJANG LETTER NGA;Lo;0;L;;;;;N;;;;; +A933;REJANG LETTER TA;Lo;0;L;;;;;N;;;;; +A934;REJANG LETTER DA;Lo;0;L;;;;;N;;;;; +A935;REJANG LETTER NA;Lo;0;L;;;;;N;;;;; +A936;REJANG LETTER PA;Lo;0;L;;;;;N;;;;; +A937;REJANG LETTER BA;Lo;0;L;;;;;N;;;;; +A938;REJANG LETTER MA;Lo;0;L;;;;;N;;;;; +A939;REJANG LETTER CA;Lo;0;L;;;;;N;;;;; +A93A;REJANG LETTER JA;Lo;0;L;;;;;N;;;;; +A93B;REJANG LETTER NYA;Lo;0;L;;;;;N;;;;; +A93C;REJANG LETTER SA;Lo;0;L;;;;;N;;;;; +A93D;REJANG LETTER RA;Lo;0;L;;;;;N;;;;; +A93E;REJANG LETTER LA;Lo;0;L;;;;;N;;;;; +A93F;REJANG LETTER YA;Lo;0;L;;;;;N;;;;; +A940;REJANG LETTER WA;Lo;0;L;;;;;N;;;;; +A941;REJANG LETTER HA;Lo;0;L;;;;;N;;;;; +A942;REJANG LETTER MBA;Lo;0;L;;;;;N;;;;; +A943;REJANG LETTER NGGA;Lo;0;L;;;;;N;;;;; +A944;REJANG LETTER NDA;Lo;0;L;;;;;N;;;;; +A945;REJANG LETTER NYJA;Lo;0;L;;;;;N;;;;; +A946;REJANG LETTER A;Lo;0;L;;;;;N;;;;; +A947;REJANG VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +A948;REJANG VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +A949;REJANG VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +A94A;REJANG VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +A94B;REJANG VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +A94C;REJANG VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +A94D;REJANG VOWEL SIGN EU;Mn;0;NSM;;;;;N;;;;; +A94E;REJANG VOWEL SIGN EA;Mn;0;NSM;;;;;N;;;;; +A94F;REJANG CONSONANT SIGN NG;Mn;0;NSM;;;;;N;;;;; +A950;REJANG CONSONANT SIGN N;Mn;0;NSM;;;;;N;;;;; +A951;REJANG CONSONANT SIGN R;Mn;0;NSM;;;;;N;;;;; +A952;REJANG CONSONANT SIGN H;Mc;0;L;;;;;N;;;;; +A953;REJANG VIRAMA;Mc;9;L;;;;;N;;;;; +A95F;REJANG SECTION MARK;Po;0;L;;;;;N;;;;; +AA00;CHAM LETTER A;Lo;0;L;;;;;N;;;;; +AA01;CHAM LETTER I;Lo;0;L;;;;;N;;;;; +AA02;CHAM LETTER U;Lo;0;L;;;;;N;;;;; +AA03;CHAM LETTER E;Lo;0;L;;;;;N;;;;; +AA04;CHAM LETTER AI;Lo;0;L;;;;;N;;;;; +AA05;CHAM LETTER O;Lo;0;L;;;;;N;;;;; +AA06;CHAM LETTER KA;Lo;0;L;;;;;N;;;;; +AA07;CHAM LETTER KHA;Lo;0;L;;;;;N;;;;; +AA08;CHAM LETTER GA;Lo;0;L;;;;;N;;;;; +AA09;CHAM LETTER GHA;Lo;0;L;;;;;N;;;;; +AA0A;CHAM LETTER NGUE;Lo;0;L;;;;;N;;;;; +AA0B;CHAM LETTER NGA;Lo;0;L;;;;;N;;;;; +AA0C;CHAM LETTER CHA;Lo;0;L;;;;;N;;;;; +AA0D;CHAM LETTER CHHA;Lo;0;L;;;;;N;;;;; +AA0E;CHAM LETTER JA;Lo;0;L;;;;;N;;;;; +AA0F;CHAM LETTER JHA;Lo;0;L;;;;;N;;;;; +AA10;CHAM LETTER NHUE;Lo;0;L;;;;;N;;;;; +AA11;CHAM LETTER NHA;Lo;0;L;;;;;N;;;;; +AA12;CHAM LETTER NHJA;Lo;0;L;;;;;N;;;;; +AA13;CHAM LETTER TA;Lo;0;L;;;;;N;;;;; +AA14;CHAM LETTER THA;Lo;0;L;;;;;N;;;;; +AA15;CHAM LETTER DA;Lo;0;L;;;;;N;;;;; +AA16;CHAM LETTER DHA;Lo;0;L;;;;;N;;;;; +AA17;CHAM LETTER NUE;Lo;0;L;;;;;N;;;;; +AA18;CHAM LETTER NA;Lo;0;L;;;;;N;;;;; +AA19;CHAM LETTER DDA;Lo;0;L;;;;;N;;;;; +AA1A;CHAM LETTER PA;Lo;0;L;;;;;N;;;;; +AA1B;CHAM LETTER PPA;Lo;0;L;;;;;N;;;;; +AA1C;CHAM LETTER PHA;Lo;0;L;;;;;N;;;;; +AA1D;CHAM LETTER BA;Lo;0;L;;;;;N;;;;; +AA1E;CHAM LETTER BHA;Lo;0;L;;;;;N;;;;; +AA1F;CHAM LETTER MUE;Lo;0;L;;;;;N;;;;; +AA20;CHAM LETTER MA;Lo;0;L;;;;;N;;;;; +AA21;CHAM LETTER BBA;Lo;0;L;;;;;N;;;;; +AA22;CHAM LETTER YA;Lo;0;L;;;;;N;;;;; +AA23;CHAM LETTER RA;Lo;0;L;;;;;N;;;;; +AA24;CHAM LETTER LA;Lo;0;L;;;;;N;;;;; +AA25;CHAM LETTER VA;Lo;0;L;;;;;N;;;;; +AA26;CHAM LETTER SSA;Lo;0;L;;;;;N;;;;; +AA27;CHAM LETTER SA;Lo;0;L;;;;;N;;;;; +AA28;CHAM LETTER HA;Lo;0;L;;;;;N;;;;; +AA29;CHAM VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;; +AA2A;CHAM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +AA2B;CHAM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +AA2C;CHAM VOWEL SIGN EI;Mn;0;NSM;;;;;N;;;;; +AA2D;CHAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +AA2E;CHAM VOWEL SIGN OE;Mn;0;NSM;;;;;N;;;;; +AA2F;CHAM VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +AA30;CHAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +AA31;CHAM VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +AA32;CHAM VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;; +AA33;CHAM CONSONANT SIGN YA;Mc;0;L;;;;;N;;;;; +AA34;CHAM CONSONANT SIGN RA;Mc;0;L;;;;;N;;;;; +AA35;CHAM CONSONANT SIGN LA;Mn;0;NSM;;;;;N;;;;; +AA36;CHAM CONSONANT SIGN WA;Mn;0;NSM;;;;;N;;;;; +AA40;CHAM LETTER FINAL K;Lo;0;L;;;;;N;;;;; +AA41;CHAM LETTER FINAL G;Lo;0;L;;;;;N;;;;; +AA42;CHAM LETTER FINAL NG;Lo;0;L;;;;;N;;;;; +AA43;CHAM CONSONANT SIGN FINAL NG;Mn;0;NSM;;;;;N;;;;; +AA44;CHAM LETTER FINAL CH;Lo;0;L;;;;;N;;;;; +AA45;CHAM LETTER FINAL T;Lo;0;L;;;;;N;;;;; +AA46;CHAM LETTER FINAL N;Lo;0;L;;;;;N;;;;; +AA47;CHAM LETTER FINAL P;Lo;0;L;;;;;N;;;;; +AA48;CHAM LETTER FINAL Y;Lo;0;L;;;;;N;;;;; +AA49;CHAM LETTER FINAL R;Lo;0;L;;;;;N;;;;; +AA4A;CHAM LETTER FINAL L;Lo;0;L;;;;;N;;;;; +AA4B;CHAM LETTER FINAL SS;Lo;0;L;;;;;N;;;;; +AA4C;CHAM CONSONANT SIGN FINAL M;Mn;0;NSM;;;;;N;;;;; +AA4D;CHAM CONSONANT SIGN FINAL H;Mc;0;L;;;;;N;;;;; +AA50;CHAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +AA51;CHAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +AA52;CHAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +AA53;CHAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +AA54;CHAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +AA55;CHAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +AA56;CHAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +AA57;CHAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +AA58;CHAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +AA59;CHAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +AA5C;CHAM PUNCTUATION SPIRAL;Po;0;L;;;;;N;;;;; +AA5D;CHAM PUNCTUATION DANDA;Po;0;L;;;;;N;;;;; +AA5E;CHAM PUNCTUATION DOUBLE DANDA;Po;0;L;;;;;N;;;;; +AA5F;CHAM PUNCTUATION TRIPLE DANDA;Po;0;L;;;;;N;;;;; +AC00;HANGUL SYLLABLE GA;Lo;0;L;;;;;N;;;;; +AC01;HANGUL SYLLABLE GAG;Lo;0;L;;;;;N;;;;; +AC02;HANGUL SYLLABLE GAGG;Lo;0;L;;;;;N;;;;; +AC03;HANGUL SYLLABLE GAGS;Lo;0;L;;;;;N;;;;; +AC04;HANGUL SYLLABLE GAN;Lo;0;L;;;;;N;;;;; +AC05;HANGUL SYLLABLE GANI;Lo;0;L;;;;;N;;;;; +AC06;HANGUL SYLLABLE GANH;Lo;0;L;;;;;N;;;;; +AC07;HANGUL SYLLABLE GAD;Lo;0;L;;;;;N;;;;; +AC08;HANGUL SYLLABLE GAL;Lo;0;L;;;;;N;;;;; +AC09;HANGUL SYLLABLE GALG;Lo;0;L;;;;;N;;;;; +AC0A;HANGUL SYLLABLE GALM;Lo;0;L;;;;;N;;;;; +AC0B;HANGUL SYLLABLE GALB;Lo;0;L;;;;;N;;;;; +AC0C;HANGUL SYLLABLE GALS;Lo;0;L;;;;;N;;;;; +AC0D;HANGUL SYLLABLE GALT;Lo;0;L;;;;;N;;;;; +AC0E;HANGUL SYLLABLE GALP;Lo;0;L;;;;;N;;;;; +AC0F;HANGUL SYLLABLE GALH;Lo;0;L;;;;;N;;;;; +AC10;HANGUL SYLLABLE GAM;Lo;0;L;;;;;N;;;;; +AC11;HANGUL SYLLABLE GAB;Lo;0;L;;;;;N;;;;; +AC12;HANGUL SYLLABLE GABS;Lo;0;L;;;;;N;;;;; +AC13;HANGUL SYLLABLE GAS;Lo;0;L;;;;;N;;;;; +AC14;HANGUL SYLLABLE GASS;Lo;0;L;;;;;N;;;;; +AC15;HANGUL SYLLABLE GANG;Lo;0;L;;;;;N;;;;; +AC16;HANGUL SYLLABLE GAJ;Lo;0;L;;;;;N;;;;; +AC17;HANGUL SYLLABLE GAC;Lo;0;L;;;;;N;;;;; +AC18;HANGUL SYLLABLE GAK;Lo;0;L;;;;;N;;;;; +AC19;HANGUL SYLLABLE GAT;Lo;0;L;;;;;N;;;;; +AC1A;HANGUL SYLLABLE GAP;Lo;0;L;;;;;N;;;;; +AC1B;HANGUL SYLLABLE GAH;Lo;0;L;;;;;N;;;;; +AC1C;HANGUL SYLLABLE GAE;Lo;0;L;;;;;N;;;;; +AC1D;HANGUL SYLLABLE GAEG;Lo;0;L;;;;;N;;;;; +AC1E;HANGUL SYLLABLE GAEGG;Lo;0;L;;;;;N;;;;; +AC1F;HANGUL SYLLABLE GAEGS;Lo;0;L;;;;;N;;;;; +AC20;HANGUL SYLLABLE GAEN;Lo;0;L;;;;;N;;;;; +AC21;HANGUL SYLLABLE GAENI;Lo;0;L;;;;;N;;;;; +AC22;HANGUL SYLLABLE GAENH;Lo;0;L;;;;;N;;;;; +AC23;HANGUL SYLLABLE GAED;Lo;0;L;;;;;N;;;;; +AC24;HANGUL SYLLABLE GAEL;Lo;0;L;;;;;N;;;;; +AC25;HANGUL SYLLABLE GAELG;Lo;0;L;;;;;N;;;;; +AC26;HANGUL SYLLABLE GAELM;Lo;0;L;;;;;N;;;;; +AC27;HANGUL SYLLABLE GAELB;Lo;0;L;;;;;N;;;;; +AC28;HANGUL SYLLABLE GAELS;Lo;0;L;;;;;N;;;;; +AC29;HANGUL SYLLABLE GAELT;Lo;0;L;;;;;N;;;;; +AC2A;HANGUL SYLLABLE GAELP;Lo;0;L;;;;;N;;;;; +AC2B;HANGUL SYLLABLE GAELH;Lo;0;L;;;;;N;;;;; +AC2C;HANGUL SYLLABLE GAEM;Lo;0;L;;;;;N;;;;; +AC2D;HANGUL SYLLABLE GAEB;Lo;0;L;;;;;N;;;;; +AC2E;HANGUL SYLLABLE GAEBS;Lo;0;L;;;;;N;;;;; +AC2F;HANGUL SYLLABLE GAES;Lo;0;L;;;;;N;;;;; +AC30;HANGUL SYLLABLE GAESS;Lo;0;L;;;;;N;;;;; +AC31;HANGUL SYLLABLE GAENG;Lo;0;L;;;;;N;;;;; +AC32;HANGUL SYLLABLE GAEJ;Lo;0;L;;;;;N;;;;; +AC33;HANGUL SYLLABLE GAEC;Lo;0;L;;;;;N;;;;; +AC34;HANGUL SYLLABLE GAEK;Lo;0;L;;;;;N;;;;; +AC35;HANGUL SYLLABLE GAET;Lo;0;L;;;;;N;;;;; +AC36;HANGUL SYLLABLE GAEP;Lo;0;L;;;;;N;;;;; +AC37;HANGUL SYLLABLE GAEH;Lo;0;L;;;;;N;;;;; +AC38;HANGUL SYLLABLE GYA;Lo;0;L;;;;;N;;;;; +AC39;HANGUL SYLLABLE GYAG;Lo;0;L;;;;;N;;;;; +AC3A;HANGUL SYLLABLE GYAGG;Lo;0;L;;;;;N;;;;; +AC3B;HANGUL SYLLABLE GYAGS;Lo;0;L;;;;;N;;;;; +AC3C;HANGUL SYLLABLE GYAN;Lo;0;L;;;;;N;;;;; +AC3D;HANGUL SYLLABLE GYANI;Lo;0;L;;;;;N;;;;; +AC3E;HANGUL SYLLABLE GYANH;Lo;0;L;;;;;N;;;;; +AC3F;HANGUL SYLLABLE GYAD;Lo;0;L;;;;;N;;;;; +AC40;HANGUL SYLLABLE GYAL;Lo;0;L;;;;;N;;;;; +AC41;HANGUL SYLLABLE GYALG;Lo;0;L;;;;;N;;;;; +AC42;HANGUL SYLLABLE GYALM;Lo;0;L;;;;;N;;;;; +AC43;HANGUL SYLLABLE GYALB;Lo;0;L;;;;;N;;;;; +AC44;HANGUL SYLLABLE GYALS;Lo;0;L;;;;;N;;;;; +AC45;HANGUL SYLLABLE GYALT;Lo;0;L;;;;;N;;;;; +AC46;HANGUL SYLLABLE GYALP;Lo;0;L;;;;;N;;;;; +AC47;HANGUL SYLLABLE GYALH;Lo;0;L;;;;;N;;;;; +AC48;HANGUL SYLLABLE GYAM;Lo;0;L;;;;;N;;;;; +AC49;HANGUL SYLLABLE GYAB;Lo;0;L;;;;;N;;;;; +AC4A;HANGUL SYLLABLE GYABS;Lo;0;L;;;;;N;;;;; +AC4B;HANGUL SYLLABLE GYAS;Lo;0;L;;;;;N;;;;; +AC4C;HANGUL SYLLABLE GYASS;Lo;0;L;;;;;N;;;;; +AC4D;HANGUL SYLLABLE GYANG;Lo;0;L;;;;;N;;;;; +AC4E;HANGUL SYLLABLE GYAJ;Lo;0;L;;;;;N;;;;; +AC4F;HANGUL SYLLABLE GYAC;Lo;0;L;;;;;N;;;;; +AC50;HANGUL SYLLABLE GYAK;Lo;0;L;;;;;N;;;;; +AC51;HANGUL SYLLABLE GYAT;Lo;0;L;;;;;N;;;;; +AC52;HANGUL SYLLABLE GYAP;Lo;0;L;;;;;N;;;;; +AC53;HANGUL SYLLABLE GYAH;Lo;0;L;;;;;N;;;;; +AC54;HANGUL SYLLABLE GYAE;Lo;0;L;;;;;N;;;;; +AC55;HANGUL SYLLABLE GYAEG;Lo;0;L;;;;;N;;;;; +AC56;HANGUL SYLLABLE GYAEGG;Lo;0;L;;;;;N;;;;; +AC57;HANGUL SYLLABLE GYAEGS;Lo;0;L;;;;;N;;;;; +AC58;HANGUL SYLLABLE GYAEN;Lo;0;L;;;;;N;;;;; +AC59;HANGUL SYLLABLE GYAENI;Lo;0;L;;;;;N;;;;; +AC5A;HANGUL SYLLABLE GYAENH;Lo;0;L;;;;;N;;;;; +AC5B;HANGUL SYLLABLE GYAED;Lo;0;L;;;;;N;;;;; +AC5C;HANGUL SYLLABLE GYAEL;Lo;0;L;;;;;N;;;;; +AC5D;HANGUL SYLLABLE GYAELG;Lo;0;L;;;;;N;;;;; +AC5E;HANGUL SYLLABLE GYAELM;Lo;0;L;;;;;N;;;;; +AC5F;HANGUL SYLLABLE GYAELB;Lo;0;L;;;;;N;;;;; +AC60;HANGUL SYLLABLE GYAELS;Lo;0;L;;;;;N;;;;; +AC61;HANGUL SYLLABLE GYAELT;Lo;0;L;;;;;N;;;;; +AC62;HANGUL SYLLABLE GYAELP;Lo;0;L;;;;;N;;;;; +AC63;HANGUL SYLLABLE GYAELH;Lo;0;L;;;;;N;;;;; +AC64;HANGUL SYLLABLE GYAEM;Lo;0;L;;;;;N;;;;; +AC65;HANGUL SYLLABLE GYAEB;Lo;0;L;;;;;N;;;;; +AC66;HANGUL SYLLABLE GYAEBS;Lo;0;L;;;;;N;;;;; +AC67;HANGUL SYLLABLE GYAES;Lo;0;L;;;;;N;;;;; +AC68;HANGUL SYLLABLE GYAESS;Lo;0;L;;;;;N;;;;; +AC69;HANGUL SYLLABLE GYAENG;Lo;0;L;;;;;N;;;;; +AC6A;HANGUL SYLLABLE GYAEJ;Lo;0;L;;;;;N;;;;; +AC6B;HANGUL SYLLABLE GYAEC;Lo;0;L;;;;;N;;;;; +AC6C;HANGUL SYLLABLE GYAEK;Lo;0;L;;;;;N;;;;; +AC6D;HANGUL SYLLABLE GYAET;Lo;0;L;;;;;N;;;;; +AC6E;HANGUL SYLLABLE GYAEP;Lo;0;L;;;;;N;;;;; +AC6F;HANGUL SYLLABLE GYAEH;Lo;0;L;;;;;N;;;;; +AC70;HANGUL SYLLABLE GEO;Lo;0;L;;;;;N;;;;; +AC71;HANGUL SYLLABLE GEOG;Lo;0;L;;;;;N;;;;; +AC72;HANGUL SYLLABLE GEOGG;Lo;0;L;;;;;N;;;;; +AC73;HANGUL SYLLABLE GEOGS;Lo;0;L;;;;;N;;;;; +AC74;HANGUL SYLLABLE GEON;Lo;0;L;;;;;N;;;;; +AC75;HANGUL SYLLABLE GEONI;Lo;0;L;;;;;N;;;;; +AC76;HANGUL SYLLABLE GEONH;Lo;0;L;;;;;N;;;;; +AC77;HANGUL SYLLABLE GEOD;Lo;0;L;;;;;N;;;;; +AC78;HANGUL SYLLABLE GEOL;Lo;0;L;;;;;N;;;;; +AC79;HANGUL SYLLABLE GEOLG;Lo;0;L;;;;;N;;;;; +AC7A;HANGUL SYLLABLE GEOLM;Lo;0;L;;;;;N;;;;; +AC7B;HANGUL SYLLABLE GEOLB;Lo;0;L;;;;;N;;;;; +AC7C;HANGUL SYLLABLE GEOLS;Lo;0;L;;;;;N;;;;; +AC7D;HANGUL SYLLABLE GEOLT;Lo;0;L;;;;;N;;;;; +AC7E;HANGUL SYLLABLE GEOLP;Lo;0;L;;;;;N;;;;; +AC7F;HANGUL SYLLABLE GEOLH;Lo;0;L;;;;;N;;;;; +AC80;HANGUL SYLLABLE GEOM;Lo;0;L;;;;;N;;;;; +AC81;HANGUL SYLLABLE GEOB;Lo;0;L;;;;;N;;;;; +AC82;HANGUL SYLLABLE GEOBS;Lo;0;L;;;;;N;;;;; +AC83;HANGUL SYLLABLE GEOS;Lo;0;L;;;;;N;;;;; +AC84;HANGUL SYLLABLE GEOSS;Lo;0;L;;;;;N;;;;; +AC85;HANGUL SYLLABLE GEONG;Lo;0;L;;;;;N;;;;; +AC86;HANGUL SYLLABLE GEOJ;Lo;0;L;;;;;N;;;;; +AC87;HANGUL SYLLABLE GEOC;Lo;0;L;;;;;N;;;;; +AC88;HANGUL SYLLABLE GEOK;Lo;0;L;;;;;N;;;;; +AC89;HANGUL SYLLABLE GEOT;Lo;0;L;;;;;N;;;;; +AC8A;HANGUL SYLLABLE GEOP;Lo;0;L;;;;;N;;;;; +AC8B;HANGUL SYLLABLE GEOH;Lo;0;L;;;;;N;;;;; +AC8C;HANGUL SYLLABLE GE;Lo;0;L;;;;;N;;;;; +AC8D;HANGUL SYLLABLE GEG;Lo;0;L;;;;;N;;;;; +AC8E;HANGUL SYLLABLE GEGG;Lo;0;L;;;;;N;;;;; +AC8F;HANGUL SYLLABLE GEGS;Lo;0;L;;;;;N;;;;; +AC90;HANGUL SYLLABLE GEN;Lo;0;L;;;;;N;;;;; +AC91;HANGUL SYLLABLE GENI;Lo;0;L;;;;;N;;;;; +AC92;HANGUL SYLLABLE GENH;Lo;0;L;;;;;N;;;;; +AC93;HANGUL SYLLABLE GED;Lo;0;L;;;;;N;;;;; +AC94;HANGUL SYLLABLE GEL;Lo;0;L;;;;;N;;;;; +AC95;HANGUL SYLLABLE GELG;Lo;0;L;;;;;N;;;;; +AC96;HANGUL SYLLABLE GELM;Lo;0;L;;;;;N;;;;; +AC97;HANGUL SYLLABLE GELB;Lo;0;L;;;;;N;;;;; +AC98;HANGUL SYLLABLE GELS;Lo;0;L;;;;;N;;;;; +AC99;HANGUL SYLLABLE GELT;Lo;0;L;;;;;N;;;;; +AC9A;HANGUL SYLLABLE GELP;Lo;0;L;;;;;N;;;;; +AC9B;HANGUL SYLLABLE GELH;Lo;0;L;;;;;N;;;;; +AC9C;HANGUL SYLLABLE GEM;Lo;0;L;;;;;N;;;;; +AC9D;HANGUL SYLLABLE GEB;Lo;0;L;;;;;N;;;;; +AC9E;HANGUL SYLLABLE GEBS;Lo;0;L;;;;;N;;;;; +AC9F;HANGUL SYLLABLE GES;Lo;0;L;;;;;N;;;;; +ACA0;HANGUL SYLLABLE GESS;Lo;0;L;;;;;N;;;;; +ACA1;HANGUL SYLLABLE GENG;Lo;0;L;;;;;N;;;;; +ACA2;HANGUL SYLLABLE GEJ;Lo;0;L;;;;;N;;;;; +ACA3;HANGUL SYLLABLE GEC;Lo;0;L;;;;;N;;;;; +ACA4;HANGUL SYLLABLE GEK;Lo;0;L;;;;;N;;;;; +ACA5;HANGUL SYLLABLE GET;Lo;0;L;;;;;N;;;;; +ACA6;HANGUL SYLLABLE GEP;Lo;0;L;;;;;N;;;;; +ACA7;HANGUL SYLLABLE GEH;Lo;0;L;;;;;N;;;;; +ACA8;HANGUL SYLLABLE GYEO;Lo;0;L;;;;;N;;;;; +ACA9;HANGUL SYLLABLE GYEOG;Lo;0;L;;;;;N;;;;; +ACAA;HANGUL SYLLABLE GYEOGG;Lo;0;L;;;;;N;;;;; +ACAB;HANGUL SYLLABLE GYEOGS;Lo;0;L;;;;;N;;;;; +ACAC;HANGUL SYLLABLE GYEON;Lo;0;L;;;;;N;;;;; +ACAD;HANGUL SYLLABLE GYEONI;Lo;0;L;;;;;N;;;;; +ACAE;HANGUL SYLLABLE GYEONH;Lo;0;L;;;;;N;;;;; +ACAF;HANGUL SYLLABLE GYEOD;Lo;0;L;;;;;N;;;;; +ACB0;HANGUL SYLLABLE GYEOL;Lo;0;L;;;;;N;;;;; +ACB1;HANGUL SYLLABLE GYEOLG;Lo;0;L;;;;;N;;;;; +ACB2;HANGUL SYLLABLE GYEOLM;Lo;0;L;;;;;N;;;;; +ACB3;HANGUL SYLLABLE GYEOLB;Lo;0;L;;;;;N;;;;; +ACB4;HANGUL SYLLABLE GYEOLS;Lo;0;L;;;;;N;;;;; +ACB5;HANGUL SYLLABLE GYEOLT;Lo;0;L;;;;;N;;;;; +ACB6;HANGUL SYLLABLE GYEOLP;Lo;0;L;;;;;N;;;;; +ACB7;HANGUL SYLLABLE GYEOLH;Lo;0;L;;;;;N;;;;; +ACB8;HANGUL SYLLABLE GYEOM;Lo;0;L;;;;;N;;;;; +ACB9;HANGUL SYLLABLE GYEOB;Lo;0;L;;;;;N;;;;; +ACBA;HANGUL SYLLABLE GYEOBS;Lo;0;L;;;;;N;;;;; +ACBB;HANGUL SYLLABLE GYEOS;Lo;0;L;;;;;N;;;;; +ACBC;HANGUL SYLLABLE GYEOSS;Lo;0;L;;;;;N;;;;; +ACBD;HANGUL SYLLABLE GYEONG;Lo;0;L;;;;;N;;;;; +ACBE;HANGUL SYLLABLE GYEOJ;Lo;0;L;;;;;N;;;;; +ACBF;HANGUL SYLLABLE GYEOC;Lo;0;L;;;;;N;;;;; +ACC0;HANGUL SYLLABLE GYEOK;Lo;0;L;;;;;N;;;;; +ACC1;HANGUL SYLLABLE GYEOT;Lo;0;L;;;;;N;;;;; +ACC2;HANGUL SYLLABLE GYEOP;Lo;0;L;;;;;N;;;;; +ACC3;HANGUL SYLLABLE GYEOH;Lo;0;L;;;;;N;;;;; +ACC4;HANGUL SYLLABLE GYE;Lo;0;L;;;;;N;;;;; +ACC5;HANGUL SYLLABLE GYEG;Lo;0;L;;;;;N;;;;; +ACC6;HANGUL SYLLABLE GYEGG;Lo;0;L;;;;;N;;;;; +ACC7;HANGUL SYLLABLE GYEGS;Lo;0;L;;;;;N;;;;; +ACC8;HANGUL SYLLABLE GYEN;Lo;0;L;;;;;N;;;;; +ACC9;HANGUL SYLLABLE GYENI;Lo;0;L;;;;;N;;;;; +ACCA;HANGUL SYLLABLE GYENH;Lo;0;L;;;;;N;;;;; +ACCB;HANGUL SYLLABLE GYED;Lo;0;L;;;;;N;;;;; +ACCC;HANGUL SYLLABLE GYEL;Lo;0;L;;;;;N;;;;; +ACCD;HANGUL SYLLABLE GYELG;Lo;0;L;;;;;N;;;;; +ACCE;HANGUL SYLLABLE GYELM;Lo;0;L;;;;;N;;;;; +ACCF;HANGUL SYLLABLE GYELB;Lo;0;L;;;;;N;;;;; +ACD0;HANGUL SYLLABLE GYELS;Lo;0;L;;;;;N;;;;; +ACD1;HANGUL SYLLABLE GYELT;Lo;0;L;;;;;N;;;;; +ACD2;HANGUL SYLLABLE GYELP;Lo;0;L;;;;;N;;;;; +ACD3;HANGUL SYLLABLE GYELH;Lo;0;L;;;;;N;;;;; +ACD4;HANGUL SYLLABLE GYEM;Lo;0;L;;;;;N;;;;; +ACD5;HANGUL SYLLABLE GYEB;Lo;0;L;;;;;N;;;;; +ACD6;HANGUL SYLLABLE GYEBS;Lo;0;L;;;;;N;;;;; +ACD7;HANGUL SYLLABLE GYES;Lo;0;L;;;;;N;;;;; +ACD8;HANGUL SYLLABLE GYESS;Lo;0;L;;;;;N;;;;; +ACD9;HANGUL SYLLABLE GYENG;Lo;0;L;;;;;N;;;;; +ACDA;HANGUL SYLLABLE GYEJ;Lo;0;L;;;;;N;;;;; +ACDB;HANGUL SYLLABLE GYEC;Lo;0;L;;;;;N;;;;; +ACDC;HANGUL SYLLABLE GYEK;Lo;0;L;;;;;N;;;;; +ACDD;HANGUL SYLLABLE GYET;Lo;0;L;;;;;N;;;;; +ACDE;HANGUL SYLLABLE GYEP;Lo;0;L;;;;;N;;;;; +ACDF;HANGUL SYLLABLE GYEH;Lo;0;L;;;;;N;;;;; +ACE0;HANGUL SYLLABLE GO;Lo;0;L;;;;;N;;;;; +ACE1;HANGUL SYLLABLE GOG;Lo;0;L;;;;;N;;;;; +ACE2;HANGUL SYLLABLE GOGG;Lo;0;L;;;;;N;;;;; +ACE3;HANGUL SYLLABLE GOGS;Lo;0;L;;;;;N;;;;; +ACE4;HANGUL SYLLABLE GON;Lo;0;L;;;;;N;;;;; +ACE5;HANGUL SYLLABLE GONI;Lo;0;L;;;;;N;;;;; +ACE6;HANGUL SYLLABLE GONH;Lo;0;L;;;;;N;;;;; +ACE7;HANGUL SYLLABLE GOD;Lo;0;L;;;;;N;;;;; +ACE8;HANGUL SYLLABLE GOL;Lo;0;L;;;;;N;;;;; +ACE9;HANGUL SYLLABLE GOLG;Lo;0;L;;;;;N;;;;; +ACEA;HANGUL SYLLABLE GOLM;Lo;0;L;;;;;N;;;;; +ACEB;HANGUL SYLLABLE GOLB;Lo;0;L;;;;;N;;;;; +ACEC;HANGUL SYLLABLE GOLS;Lo;0;L;;;;;N;;;;; +ACED;HANGUL SYLLABLE GOLT;Lo;0;L;;;;;N;;;;; +ACEE;HANGUL SYLLABLE GOLP;Lo;0;L;;;;;N;;;;; +ACEF;HANGUL SYLLABLE GOLH;Lo;0;L;;;;;N;;;;; +ACF0;HANGUL SYLLABLE GOM;Lo;0;L;;;;;N;;;;; +ACF1;HANGUL SYLLABLE GOB;Lo;0;L;;;;;N;;;;; +ACF2;HANGUL SYLLABLE GOBS;Lo;0;L;;;;;N;;;;; +ACF3;HANGUL SYLLABLE GOS;Lo;0;L;;;;;N;;;;; +ACF4;HANGUL SYLLABLE GOSS;Lo;0;L;;;;;N;;;;; +ACF5;HANGUL SYLLABLE GONG;Lo;0;L;;;;;N;;;;; +ACF6;HANGUL SYLLABLE GOJ;Lo;0;L;;;;;N;;;;; +ACF7;HANGUL SYLLABLE GOC;Lo;0;L;;;;;N;;;;; +ACF8;HANGUL SYLLABLE GOK;Lo;0;L;;;;;N;;;;; +ACF9;HANGUL SYLLABLE GOT;Lo;0;L;;;;;N;;;;; +ACFA;HANGUL SYLLABLE GOP;Lo;0;L;;;;;N;;;;; +ACFB;HANGUL SYLLABLE GOH;Lo;0;L;;;;;N;;;;; +ACFC;HANGUL SYLLABLE GWA;Lo;0;L;;;;;N;;;;; +ACFD;HANGUL SYLLABLE GWAG;Lo;0;L;;;;;N;;;;; +ACFE;HANGUL SYLLABLE GWAGG;Lo;0;L;;;;;N;;;;; +ACFF;HANGUL SYLLABLE GWAGS;Lo;0;L;;;;;N;;;;; +AD00;HANGUL SYLLABLE GWAN;Lo;0;L;;;;;N;;;;; +AD01;HANGUL SYLLABLE GWANI;Lo;0;L;;;;;N;;;;; +AD02;HANGUL SYLLABLE GWANH;Lo;0;L;;;;;N;;;;; +AD03;HANGUL SYLLABLE GWAD;Lo;0;L;;;;;N;;;;; +AD04;HANGUL SYLLABLE GWAL;Lo;0;L;;;;;N;;;;; +AD05;HANGUL SYLLABLE GWALG;Lo;0;L;;;;;N;;;;; +AD06;HANGUL SYLLABLE GWALM;Lo;0;L;;;;;N;;;;; +AD07;HANGUL SYLLABLE GWALB;Lo;0;L;;;;;N;;;;; +AD08;HANGUL SYLLABLE GWALS;Lo;0;L;;;;;N;;;;; +AD09;HANGUL SYLLABLE GWALT;Lo;0;L;;;;;N;;;;; +AD0A;HANGUL SYLLABLE GWALP;Lo;0;L;;;;;N;;;;; +AD0B;HANGUL SYLLABLE GWALH;Lo;0;L;;;;;N;;;;; +AD0C;HANGUL SYLLABLE GWAM;Lo;0;L;;;;;N;;;;; +AD0D;HANGUL SYLLABLE GWAB;Lo;0;L;;;;;N;;;;; +AD0E;HANGUL SYLLABLE GWABS;Lo;0;L;;;;;N;;;;; +AD0F;HANGUL SYLLABLE GWAS;Lo;0;L;;;;;N;;;;; +AD10;HANGUL SYLLABLE GWASS;Lo;0;L;;;;;N;;;;; +AD11;HANGUL SYLLABLE GWANG;Lo;0;L;;;;;N;;;;; +AD12;HANGUL SYLLABLE GWAJ;Lo;0;L;;;;;N;;;;; +AD13;HANGUL SYLLABLE GWAC;Lo;0;L;;;;;N;;;;; +AD14;HANGUL SYLLABLE GWAK;Lo;0;L;;;;;N;;;;; +AD15;HANGUL SYLLABLE GWAT;Lo;0;L;;;;;N;;;;; +AD16;HANGUL SYLLABLE GWAP;Lo;0;L;;;;;N;;;;; +AD17;HANGUL SYLLABLE GWAH;Lo;0;L;;;;;N;;;;; +AD18;HANGUL SYLLABLE GWAE;Lo;0;L;;;;;N;;;;; +AD19;HANGUL SYLLABLE GWAEG;Lo;0;L;;;;;N;;;;; +AD1A;HANGUL SYLLABLE GWAEGG;Lo;0;L;;;;;N;;;;; +AD1B;HANGUL SYLLABLE GWAEGS;Lo;0;L;;;;;N;;;;; +AD1C;HANGUL SYLLABLE GWAEN;Lo;0;L;;;;;N;;;;; +AD1D;HANGUL SYLLABLE GWAENI;Lo;0;L;;;;;N;;;;; +AD1E;HANGUL SYLLABLE GWAENH;Lo;0;L;;;;;N;;;;; +AD1F;HANGUL SYLLABLE GWAED;Lo;0;L;;;;;N;;;;; +AD20;HANGUL SYLLABLE GWAEL;Lo;0;L;;;;;N;;;;; +AD21;HANGUL SYLLABLE GWAELG;Lo;0;L;;;;;N;;;;; +AD22;HANGUL SYLLABLE GWAELM;Lo;0;L;;;;;N;;;;; +AD23;HANGUL SYLLABLE GWAELB;Lo;0;L;;;;;N;;;;; +AD24;HANGUL SYLLABLE GWAELS;Lo;0;L;;;;;N;;;;; +AD25;HANGUL SYLLABLE GWAELT;Lo;0;L;;;;;N;;;;; +AD26;HANGUL SYLLABLE GWAELP;Lo;0;L;;;;;N;;;;; +AD27;HANGUL SYLLABLE GWAELH;Lo;0;L;;;;;N;;;;; +AD28;HANGUL SYLLABLE GWAEM;Lo;0;L;;;;;N;;;;; +AD29;HANGUL SYLLABLE GWAEB;Lo;0;L;;;;;N;;;;; +AD2A;HANGUL SYLLABLE GWAEBS;Lo;0;L;;;;;N;;;;; +AD2B;HANGUL SYLLABLE GWAES;Lo;0;L;;;;;N;;;;; +AD2C;HANGUL SYLLABLE GWAESS;Lo;0;L;;;;;N;;;;; +AD2D;HANGUL SYLLABLE GWAENG;Lo;0;L;;;;;N;;;;; +AD2E;HANGUL SYLLABLE GWAEJ;Lo;0;L;;;;;N;;;;; +AD2F;HANGUL SYLLABLE GWAEC;Lo;0;L;;;;;N;;;;; +AD30;HANGUL SYLLABLE GWAEK;Lo;0;L;;;;;N;;;;; +AD31;HANGUL SYLLABLE GWAET;Lo;0;L;;;;;N;;;;; +AD32;HANGUL SYLLABLE GWAEP;Lo;0;L;;;;;N;;;;; +AD33;HANGUL SYLLABLE GWAEH;Lo;0;L;;;;;N;;;;; +AD34;HANGUL SYLLABLE GOE;Lo;0;L;;;;;N;;;;; +AD35;HANGUL SYLLABLE GOEG;Lo;0;L;;;;;N;;;;; +AD36;HANGUL SYLLABLE GOEGG;Lo;0;L;;;;;N;;;;; +AD37;HANGUL SYLLABLE GOEGS;Lo;0;L;;;;;N;;;;; +AD38;HANGUL SYLLABLE GOEN;Lo;0;L;;;;;N;;;;; +AD39;HANGUL SYLLABLE GOENI;Lo;0;L;;;;;N;;;;; +AD3A;HANGUL SYLLABLE GOENH;Lo;0;L;;;;;N;;;;; +AD3B;HANGUL SYLLABLE GOED;Lo;0;L;;;;;N;;;;; +AD3C;HANGUL SYLLABLE GOEL;Lo;0;L;;;;;N;;;;; +AD3D;HANGUL SYLLABLE GOELG;Lo;0;L;;;;;N;;;;; +AD3E;HANGUL SYLLABLE GOELM;Lo;0;L;;;;;N;;;;; +AD3F;HANGUL SYLLABLE GOELB;Lo;0;L;;;;;N;;;;; +AD40;HANGUL SYLLABLE GOELS;Lo;0;L;;;;;N;;;;; +AD41;HANGUL SYLLABLE GOELT;Lo;0;L;;;;;N;;;;; +AD42;HANGUL SYLLABLE GOELP;Lo;0;L;;;;;N;;;;; +AD43;HANGUL SYLLABLE GOELH;Lo;0;L;;;;;N;;;;; +AD44;HANGUL SYLLABLE GOEM;Lo;0;L;;;;;N;;;;; +AD45;HANGUL SYLLABLE GOEB;Lo;0;L;;;;;N;;;;; +AD46;HANGUL SYLLABLE GOEBS;Lo;0;L;;;;;N;;;;; +AD47;HANGUL SYLLABLE GOES;Lo;0;L;;;;;N;;;;; +AD48;HANGUL SYLLABLE GOESS;Lo;0;L;;;;;N;;;;; +AD49;HANGUL SYLLABLE GOENG;Lo;0;L;;;;;N;;;;; +AD4A;HANGUL SYLLABLE GOEJ;Lo;0;L;;;;;N;;;;; +AD4B;HANGUL SYLLABLE GOEC;Lo;0;L;;;;;N;;;;; +AD4C;HANGUL SYLLABLE GOEK;Lo;0;L;;;;;N;;;;; +AD4D;HANGUL SYLLABLE GOET;Lo;0;L;;;;;N;;;;; +AD4E;HANGUL SYLLABLE GOEP;Lo;0;L;;;;;N;;;;; +AD4F;HANGUL SYLLABLE GOEH;Lo;0;L;;;;;N;;;;; +AD50;HANGUL SYLLABLE GYO;Lo;0;L;;;;;N;;;;; +AD51;HANGUL SYLLABLE GYOG;Lo;0;L;;;;;N;;;;; +AD52;HANGUL SYLLABLE GYOGG;Lo;0;L;;;;;N;;;;; +AD53;HANGUL SYLLABLE GYOGS;Lo;0;L;;;;;N;;;;; +AD54;HANGUL SYLLABLE GYON;Lo;0;L;;;;;N;;;;; +AD55;HANGUL SYLLABLE GYONI;Lo;0;L;;;;;N;;;;; +AD56;HANGUL SYLLABLE GYONH;Lo;0;L;;;;;N;;;;; +AD57;HANGUL SYLLABLE GYOD;Lo;0;L;;;;;N;;;;; +AD58;HANGUL SYLLABLE GYOL;Lo;0;L;;;;;N;;;;; +AD59;HANGUL SYLLABLE GYOLG;Lo;0;L;;;;;N;;;;; +AD5A;HANGUL SYLLABLE GYOLM;Lo;0;L;;;;;N;;;;; +AD5B;HANGUL SYLLABLE GYOLB;Lo;0;L;;;;;N;;;;; +AD5C;HANGUL SYLLABLE GYOLS;Lo;0;L;;;;;N;;;;; +AD5D;HANGUL SYLLABLE GYOLT;Lo;0;L;;;;;N;;;;; +AD5E;HANGUL SYLLABLE GYOLP;Lo;0;L;;;;;N;;;;; +AD5F;HANGUL SYLLABLE GYOLH;Lo;0;L;;;;;N;;;;; +AD60;HANGUL SYLLABLE GYOM;Lo;0;L;;;;;N;;;;; +AD61;HANGUL SYLLABLE GYOB;Lo;0;L;;;;;N;;;;; +AD62;HANGUL SYLLABLE GYOBS;Lo;0;L;;;;;N;;;;; +AD63;HANGUL SYLLABLE GYOS;Lo;0;L;;;;;N;;;;; +AD64;HANGUL SYLLABLE GYOSS;Lo;0;L;;;;;N;;;;; +AD65;HANGUL SYLLABLE GYONG;Lo;0;L;;;;;N;;;;; +AD66;HANGUL SYLLABLE GYOJ;Lo;0;L;;;;;N;;;;; +AD67;HANGUL SYLLABLE GYOC;Lo;0;L;;;;;N;;;;; +AD68;HANGUL SYLLABLE GYOK;Lo;0;L;;;;;N;;;;; +AD69;HANGUL SYLLABLE GYOT;Lo;0;L;;;;;N;;;;; +AD6A;HANGUL SYLLABLE GYOP;Lo;0;L;;;;;N;;;;; +AD6B;HANGUL SYLLABLE GYOH;Lo;0;L;;;;;N;;;;; +AD6C;HANGUL SYLLABLE GU;Lo;0;L;;;;;N;;;;; +AD6D;HANGUL SYLLABLE GUG;Lo;0;L;;;;;N;;;;; +AD6E;HANGUL SYLLABLE GUGG;Lo;0;L;;;;;N;;;;; +AD6F;HANGUL SYLLABLE GUGS;Lo;0;L;;;;;N;;;;; +AD70;HANGUL SYLLABLE GUN;Lo;0;L;;;;;N;;;;; +AD71;HANGUL SYLLABLE GUNI;Lo;0;L;;;;;N;;;;; +AD72;HANGUL SYLLABLE GUNH;Lo;0;L;;;;;N;;;;; +AD73;HANGUL SYLLABLE GUD;Lo;0;L;;;;;N;;;;; +AD74;HANGUL SYLLABLE GUL;Lo;0;L;;;;;N;;;;; +AD75;HANGUL SYLLABLE GULG;Lo;0;L;;;;;N;;;;; +AD76;HANGUL SYLLABLE GULM;Lo;0;L;;;;;N;;;;; +AD77;HANGUL SYLLABLE GULB;Lo;0;L;;;;;N;;;;; +AD78;HANGUL SYLLABLE GULS;Lo;0;L;;;;;N;;;;; +AD79;HANGUL SYLLABLE GULT;Lo;0;L;;;;;N;;;;; +AD7A;HANGUL SYLLABLE GULP;Lo;0;L;;;;;N;;;;; +AD7B;HANGUL SYLLABLE GULH;Lo;0;L;;;;;N;;;;; +AD7C;HANGUL SYLLABLE GUM;Lo;0;L;;;;;N;;;;; +AD7D;HANGUL SYLLABLE GUB;Lo;0;L;;;;;N;;;;; +AD7E;HANGUL SYLLABLE GUBS;Lo;0;L;;;;;N;;;;; +AD7F;HANGUL SYLLABLE GUS;Lo;0;L;;;;;N;;;;; +AD80;HANGUL SYLLABLE GUSS;Lo;0;L;;;;;N;;;;; +AD81;HANGUL SYLLABLE GUNG;Lo;0;L;;;;;N;;;;; +AD82;HANGUL SYLLABLE GUJ;Lo;0;L;;;;;N;;;;; +AD83;HANGUL SYLLABLE GUC;Lo;0;L;;;;;N;;;;; +AD84;HANGUL SYLLABLE GUK;Lo;0;L;;;;;N;;;;; +AD85;HANGUL SYLLABLE GUT;Lo;0;L;;;;;N;;;;; +AD86;HANGUL SYLLABLE GUP;Lo;0;L;;;;;N;;;;; +AD87;HANGUL SYLLABLE GUH;Lo;0;L;;;;;N;;;;; +AD88;HANGUL SYLLABLE GWEO;Lo;0;L;;;;;N;;;;; +AD89;HANGUL SYLLABLE GWEOG;Lo;0;L;;;;;N;;;;; +AD8A;HANGUL SYLLABLE GWEOGG;Lo;0;L;;;;;N;;;;; +AD8B;HANGUL SYLLABLE GWEOGS;Lo;0;L;;;;;N;;;;; +AD8C;HANGUL SYLLABLE GWEON;Lo;0;L;;;;;N;;;;; +AD8D;HANGUL SYLLABLE GWEONI;Lo;0;L;;;;;N;;;;; +AD8E;HANGUL SYLLABLE GWEONH;Lo;0;L;;;;;N;;;;; +AD8F;HANGUL SYLLABLE GWEOD;Lo;0;L;;;;;N;;;;; +AD90;HANGUL SYLLABLE GWEOL;Lo;0;L;;;;;N;;;;; +AD91;HANGUL SYLLABLE GWEOLG;Lo;0;L;;;;;N;;;;; +AD92;HANGUL SYLLABLE GWEOLM;Lo;0;L;;;;;N;;;;; +AD93;HANGUL SYLLABLE GWEOLB;Lo;0;L;;;;;N;;;;; +AD94;HANGUL SYLLABLE GWEOLS;Lo;0;L;;;;;N;;;;; +AD95;HANGUL SYLLABLE GWEOLT;Lo;0;L;;;;;N;;;;; +AD96;HANGUL SYLLABLE GWEOLP;Lo;0;L;;;;;N;;;;; +AD97;HANGUL SYLLABLE GWEOLH;Lo;0;L;;;;;N;;;;; +AD98;HANGUL SYLLABLE GWEOM;Lo;0;L;;;;;N;;;;; +AD99;HANGUL SYLLABLE GWEOB;Lo;0;L;;;;;N;;;;; +AD9A;HANGUL SYLLABLE GWEOBS;Lo;0;L;;;;;N;;;;; +AD9B;HANGUL SYLLABLE GWEOS;Lo;0;L;;;;;N;;;;; +AD9C;HANGUL SYLLABLE GWEOSS;Lo;0;L;;;;;N;;;;; +AD9D;HANGUL SYLLABLE GWEONG;Lo;0;L;;;;;N;;;;; +AD9E;HANGUL SYLLABLE GWEOJ;Lo;0;L;;;;;N;;;;; +AD9F;HANGUL SYLLABLE GWEOC;Lo;0;L;;;;;N;;;;; +ADA0;HANGUL SYLLABLE GWEOK;Lo;0;L;;;;;N;;;;; +ADA1;HANGUL SYLLABLE GWEOT;Lo;0;L;;;;;N;;;;; +ADA2;HANGUL SYLLABLE GWEOP;Lo;0;L;;;;;N;;;;; +ADA3;HANGUL SYLLABLE GWEOH;Lo;0;L;;;;;N;;;;; +ADA4;HANGUL SYLLABLE GWE;Lo;0;L;;;;;N;;;;; +ADA5;HANGUL SYLLABLE GWEG;Lo;0;L;;;;;N;;;;; +ADA6;HANGUL SYLLABLE GWEGG;Lo;0;L;;;;;N;;;;; +ADA7;HANGUL SYLLABLE GWEGS;Lo;0;L;;;;;N;;;;; +ADA8;HANGUL SYLLABLE GWEN;Lo;0;L;;;;;N;;;;; +ADA9;HANGUL SYLLABLE GWENI;Lo;0;L;;;;;N;;;;; +ADAA;HANGUL SYLLABLE GWENH;Lo;0;L;;;;;N;;;;; +ADAB;HANGUL SYLLABLE GWED;Lo;0;L;;;;;N;;;;; +ADAC;HANGUL SYLLABLE GWEL;Lo;0;L;;;;;N;;;;; +ADAD;HANGUL SYLLABLE GWELG;Lo;0;L;;;;;N;;;;; +ADAE;HANGUL SYLLABLE GWELM;Lo;0;L;;;;;N;;;;; +ADAF;HANGUL SYLLABLE GWELB;Lo;0;L;;;;;N;;;;; +ADB0;HANGUL SYLLABLE GWELS;Lo;0;L;;;;;N;;;;; +ADB1;HANGUL SYLLABLE GWELT;Lo;0;L;;;;;N;;;;; +ADB2;HANGUL SYLLABLE GWELP;Lo;0;L;;;;;N;;;;; +ADB3;HANGUL SYLLABLE GWELH;Lo;0;L;;;;;N;;;;; +ADB4;HANGUL SYLLABLE GWEM;Lo;0;L;;;;;N;;;;; +ADB5;HANGUL SYLLABLE GWEB;Lo;0;L;;;;;N;;;;; +ADB6;HANGUL SYLLABLE GWEBS;Lo;0;L;;;;;N;;;;; +ADB7;HANGUL SYLLABLE GWES;Lo;0;L;;;;;N;;;;; +ADB8;HANGUL SYLLABLE GWESS;Lo;0;L;;;;;N;;;;; +ADB9;HANGUL SYLLABLE GWENG;Lo;0;L;;;;;N;;;;; +ADBA;HANGUL SYLLABLE GWEJ;Lo;0;L;;;;;N;;;;; +ADBB;HANGUL SYLLABLE GWEC;Lo;0;L;;;;;N;;;;; +ADBC;HANGUL SYLLABLE GWEK;Lo;0;L;;;;;N;;;;; +ADBD;HANGUL SYLLABLE GWET;Lo;0;L;;;;;N;;;;; +ADBE;HANGUL SYLLABLE GWEP;Lo;0;L;;;;;N;;;;; +ADBF;HANGUL SYLLABLE GWEH;Lo;0;L;;;;;N;;;;; +ADC0;HANGUL SYLLABLE GWI;Lo;0;L;;;;;N;;;;; +ADC1;HANGUL SYLLABLE GWIG;Lo;0;L;;;;;N;;;;; +ADC2;HANGUL SYLLABLE GWIGG;Lo;0;L;;;;;N;;;;; +ADC3;HANGUL SYLLABLE GWIGS;Lo;0;L;;;;;N;;;;; +ADC4;HANGUL SYLLABLE GWIN;Lo;0;L;;;;;N;;;;; +ADC5;HANGUL SYLLABLE GWINI;Lo;0;L;;;;;N;;;;; +ADC6;HANGUL SYLLABLE GWINH;Lo;0;L;;;;;N;;;;; +ADC7;HANGUL SYLLABLE GWID;Lo;0;L;;;;;N;;;;; +ADC8;HANGUL SYLLABLE GWIL;Lo;0;L;;;;;N;;;;; +ADC9;HANGUL SYLLABLE GWILG;Lo;0;L;;;;;N;;;;; +ADCA;HANGUL SYLLABLE GWILM;Lo;0;L;;;;;N;;;;; +ADCB;HANGUL SYLLABLE GWILB;Lo;0;L;;;;;N;;;;; +ADCC;HANGUL SYLLABLE GWILS;Lo;0;L;;;;;N;;;;; +ADCD;HANGUL SYLLABLE GWILT;Lo;0;L;;;;;N;;;;; +ADCE;HANGUL SYLLABLE GWILP;Lo;0;L;;;;;N;;;;; +ADCF;HANGUL SYLLABLE GWILH;Lo;0;L;;;;;N;;;;; +ADD0;HANGUL SYLLABLE GWIM;Lo;0;L;;;;;N;;;;; +ADD1;HANGUL SYLLABLE GWIB;Lo;0;L;;;;;N;;;;; +ADD2;HANGUL SYLLABLE GWIBS;Lo;0;L;;;;;N;;;;; +ADD3;HANGUL SYLLABLE GWIS;Lo;0;L;;;;;N;;;;; +ADD4;HANGUL SYLLABLE GWISS;Lo;0;L;;;;;N;;;;; +ADD5;HANGUL SYLLABLE GWING;Lo;0;L;;;;;N;;;;; +ADD6;HANGUL SYLLABLE GWIJ;Lo;0;L;;;;;N;;;;; +ADD7;HANGUL SYLLABLE GWIC;Lo;0;L;;;;;N;;;;; +ADD8;HANGUL SYLLABLE GWIK;Lo;0;L;;;;;N;;;;; +ADD9;HANGUL SYLLABLE GWIT;Lo;0;L;;;;;N;;;;; +ADDA;HANGUL SYLLABLE GWIP;Lo;0;L;;;;;N;;;;; +ADDB;HANGUL SYLLABLE GWIH;Lo;0;L;;;;;N;;;;; +ADDC;HANGUL SYLLABLE GYU;Lo;0;L;;;;;N;;;;; +ADDD;HANGUL SYLLABLE GYUG;Lo;0;L;;;;;N;;;;; +ADDE;HANGUL SYLLABLE GYUGG;Lo;0;L;;;;;N;;;;; +ADDF;HANGUL SYLLABLE GYUGS;Lo;0;L;;;;;N;;;;; +ADE0;HANGUL SYLLABLE GYUN;Lo;0;L;;;;;N;;;;; +ADE1;HANGUL SYLLABLE GYUNI;Lo;0;L;;;;;N;;;;; +ADE2;HANGUL SYLLABLE GYUNH;Lo;0;L;;;;;N;;;;; +ADE3;HANGUL SYLLABLE GYUD;Lo;0;L;;;;;N;;;;; +ADE4;HANGUL SYLLABLE GYUL;Lo;0;L;;;;;N;;;;; +ADE5;HANGUL SYLLABLE GYULG;Lo;0;L;;;;;N;;;;; +ADE6;HANGUL SYLLABLE GYULM;Lo;0;L;;;;;N;;;;; +ADE7;HANGUL SYLLABLE GYULB;Lo;0;L;;;;;N;;;;; +ADE8;HANGUL SYLLABLE GYULS;Lo;0;L;;;;;N;;;;; +ADE9;HANGUL SYLLABLE GYULT;Lo;0;L;;;;;N;;;;; +ADEA;HANGUL SYLLABLE GYULP;Lo;0;L;;;;;N;;;;; +ADEB;HANGUL SYLLABLE GYULH;Lo;0;L;;;;;N;;;;; +ADEC;HANGUL SYLLABLE GYUM;Lo;0;L;;;;;N;;;;; +ADED;HANGUL SYLLABLE GYUB;Lo;0;L;;;;;N;;;;; +ADEE;HANGUL SYLLABLE GYUBS;Lo;0;L;;;;;N;;;;; +ADEF;HANGUL SYLLABLE GYUS;Lo;0;L;;;;;N;;;;; +ADF0;HANGUL SYLLABLE GYUSS;Lo;0;L;;;;;N;;;;; +ADF1;HANGUL SYLLABLE GYUNG;Lo;0;L;;;;;N;;;;; +ADF2;HANGUL SYLLABLE GYUJ;Lo;0;L;;;;;N;;;;; +ADF3;HANGUL SYLLABLE GYUC;Lo;0;L;;;;;N;;;;; +ADF4;HANGUL SYLLABLE GYUK;Lo;0;L;;;;;N;;;;; +ADF5;HANGUL SYLLABLE GYUT;Lo;0;L;;;;;N;;;;; +ADF6;HANGUL SYLLABLE GYUP;Lo;0;L;;;;;N;;;;; +ADF7;HANGUL SYLLABLE GYUH;Lo;0;L;;;;;N;;;;; +ADF8;HANGUL SYLLABLE GEU;Lo;0;L;;;;;N;;;;; +ADF9;HANGUL SYLLABLE GEUG;Lo;0;L;;;;;N;;;;; +ADFA;HANGUL SYLLABLE GEUGG;Lo;0;L;;;;;N;;;;; +ADFB;HANGUL SYLLABLE GEUGS;Lo;0;L;;;;;N;;;;; +ADFC;HANGUL SYLLABLE GEUN;Lo;0;L;;;;;N;;;;; +ADFD;HANGUL SYLLABLE GEUNI;Lo;0;L;;;;;N;;;;; +ADFE;HANGUL SYLLABLE GEUNH;Lo;0;L;;;;;N;;;;; +ADFF;HANGUL SYLLABLE GEUD;Lo;0;L;;;;;N;;;;; +AE00;HANGUL SYLLABLE GEUL;Lo;0;L;;;;;N;;;;; +AE01;HANGUL SYLLABLE GEULG;Lo;0;L;;;;;N;;;;; +AE02;HANGUL SYLLABLE GEULM;Lo;0;L;;;;;N;;;;; +AE03;HANGUL SYLLABLE GEULB;Lo;0;L;;;;;N;;;;; +AE04;HANGUL SYLLABLE GEULS;Lo;0;L;;;;;N;;;;; +AE05;HANGUL SYLLABLE GEULT;Lo;0;L;;;;;N;;;;; +AE06;HANGUL SYLLABLE GEULP;Lo;0;L;;;;;N;;;;; +AE07;HANGUL SYLLABLE GEULH;Lo;0;L;;;;;N;;;;; +AE08;HANGUL SYLLABLE GEUM;Lo;0;L;;;;;N;;;;; +AE09;HANGUL SYLLABLE GEUB;Lo;0;L;;;;;N;;;;; +AE0A;HANGUL SYLLABLE GEUBS;Lo;0;L;;;;;N;;;;; +AE0B;HANGUL SYLLABLE GEUS;Lo;0;L;;;;;N;;;;; +AE0C;HANGUL SYLLABLE GEUSS;Lo;0;L;;;;;N;;;;; +AE0D;HANGUL SYLLABLE GEUNG;Lo;0;L;;;;;N;;;;; +AE0E;HANGUL SYLLABLE GEUJ;Lo;0;L;;;;;N;;;;; +AE0F;HANGUL SYLLABLE GEUC;Lo;0;L;;;;;N;;;;; +AE10;HANGUL SYLLABLE GEUK;Lo;0;L;;;;;N;;;;; +AE11;HANGUL SYLLABLE GEUT;Lo;0;L;;;;;N;;;;; +AE12;HANGUL SYLLABLE GEUP;Lo;0;L;;;;;N;;;;; +AE13;HANGUL SYLLABLE GEUH;Lo;0;L;;;;;N;;;;; +AE14;HANGUL SYLLABLE GYI;Lo;0;L;;;;;N;;;;; +AE15;HANGUL SYLLABLE GYIG;Lo;0;L;;;;;N;;;;; +AE16;HANGUL SYLLABLE GYIGG;Lo;0;L;;;;;N;;;;; +AE17;HANGUL SYLLABLE GYIGS;Lo;0;L;;;;;N;;;;; +AE18;HANGUL SYLLABLE GYIN;Lo;0;L;;;;;N;;;;; +AE19;HANGUL SYLLABLE GYINI;Lo;0;L;;;;;N;;;;; +AE1A;HANGUL SYLLABLE GYINH;Lo;0;L;;;;;N;;;;; +AE1B;HANGUL SYLLABLE GYID;Lo;0;L;;;;;N;;;;; +AE1C;HANGUL SYLLABLE GYIL;Lo;0;L;;;;;N;;;;; +AE1D;HANGUL SYLLABLE GYILG;Lo;0;L;;;;;N;;;;; +AE1E;HANGUL SYLLABLE GYILM;Lo;0;L;;;;;N;;;;; +AE1F;HANGUL SYLLABLE GYILB;Lo;0;L;;;;;N;;;;; +AE20;HANGUL SYLLABLE GYILS;Lo;0;L;;;;;N;;;;; +AE21;HANGUL SYLLABLE GYILT;Lo;0;L;;;;;N;;;;; +AE22;HANGUL SYLLABLE GYILP;Lo;0;L;;;;;N;;;;; +AE23;HANGUL SYLLABLE GYILH;Lo;0;L;;;;;N;;;;; +AE24;HANGUL SYLLABLE GYIM;Lo;0;L;;;;;N;;;;; +AE25;HANGUL SYLLABLE GYIB;Lo;0;L;;;;;N;;;;; +AE26;HANGUL SYLLABLE GYIBS;Lo;0;L;;;;;N;;;;; +AE27;HANGUL SYLLABLE GYIS;Lo;0;L;;;;;N;;;;; +AE28;HANGUL SYLLABLE GYISS;Lo;0;L;;;;;N;;;;; +AE29;HANGUL SYLLABLE GYING;Lo;0;L;;;;;N;;;;; +AE2A;HANGUL SYLLABLE GYIJ;Lo;0;L;;;;;N;;;;; +AE2B;HANGUL SYLLABLE GYIC;Lo;0;L;;;;;N;;;;; +AE2C;HANGUL SYLLABLE GYIK;Lo;0;L;;;;;N;;;;; +AE2D;HANGUL SYLLABLE GYIT;Lo;0;L;;;;;N;;;;; +AE2E;HANGUL SYLLABLE GYIP;Lo;0;L;;;;;N;;;;; +AE2F;HANGUL SYLLABLE GYIH;Lo;0;L;;;;;N;;;;; +AE30;HANGUL SYLLABLE GI;Lo;0;L;;;;;N;;;;; +AE31;HANGUL SYLLABLE GIG;Lo;0;L;;;;;N;;;;; +AE32;HANGUL SYLLABLE GIGG;Lo;0;L;;;;;N;;;;; +AE33;HANGUL SYLLABLE GIGS;Lo;0;L;;;;;N;;;;; +AE34;HANGUL SYLLABLE GIN;Lo;0;L;;;;;N;;;;; +AE35;HANGUL SYLLABLE GINI;Lo;0;L;;;;;N;;;;; +AE36;HANGUL SYLLABLE GINH;Lo;0;L;;;;;N;;;;; +AE37;HANGUL SYLLABLE GID;Lo;0;L;;;;;N;;;;; +AE38;HANGUL SYLLABLE GIL;Lo;0;L;;;;;N;;;;; +AE39;HANGUL SYLLABLE GILG;Lo;0;L;;;;;N;;;;; +AE3A;HANGUL SYLLABLE GILM;Lo;0;L;;;;;N;;;;; +AE3B;HANGUL SYLLABLE GILB;Lo;0;L;;;;;N;;;;; +AE3C;HANGUL SYLLABLE GILS;Lo;0;L;;;;;N;;;;; +AE3D;HANGUL SYLLABLE GILT;Lo;0;L;;;;;N;;;;; +AE3E;HANGUL SYLLABLE GILP;Lo;0;L;;;;;N;;;;; +AE3F;HANGUL SYLLABLE GILH;Lo;0;L;;;;;N;;;;; +AE40;HANGUL SYLLABLE GIM;Lo;0;L;;;;;N;;;;; +AE41;HANGUL SYLLABLE GIB;Lo;0;L;;;;;N;;;;; +AE42;HANGUL SYLLABLE GIBS;Lo;0;L;;;;;N;;;;; +AE43;HANGUL SYLLABLE GIS;Lo;0;L;;;;;N;;;;; +AE44;HANGUL SYLLABLE GISS;Lo;0;L;;;;;N;;;;; +AE45;HANGUL SYLLABLE GING;Lo;0;L;;;;;N;;;;; +AE46;HANGUL SYLLABLE GIJ;Lo;0;L;;;;;N;;;;; +AE47;HANGUL SYLLABLE GIC;Lo;0;L;;;;;N;;;;; +AE48;HANGUL SYLLABLE GIK;Lo;0;L;;;;;N;;;;; +AE49;HANGUL SYLLABLE GIT;Lo;0;L;;;;;N;;;;; +AE4A;HANGUL SYLLABLE GIP;Lo;0;L;;;;;N;;;;; +AE4B;HANGUL SYLLABLE GIH;Lo;0;L;;;;;N;;;;; +AE4C;HANGUL SYLLABLE GGA;Lo;0;L;;;;;N;;;;; +AE4D;HANGUL SYLLABLE GGAG;Lo;0;L;;;;;N;;;;; +AE4E;HANGUL SYLLABLE GGAGG;Lo;0;L;;;;;N;;;;; +AE4F;HANGUL SYLLABLE GGAGS;Lo;0;L;;;;;N;;;;; +AE50;HANGUL SYLLABLE GGAN;Lo;0;L;;;;;N;;;;; +AE51;HANGUL SYLLABLE GGANI;Lo;0;L;;;;;N;;;;; +AE52;HANGUL SYLLABLE GGANH;Lo;0;L;;;;;N;;;;; +AE53;HANGUL SYLLABLE GGAD;Lo;0;L;;;;;N;;;;; +AE54;HANGUL SYLLABLE GGAL;Lo;0;L;;;;;N;;;;; +AE55;HANGUL SYLLABLE GGALG;Lo;0;L;;;;;N;;;;; +AE56;HANGUL SYLLABLE GGALM;Lo;0;L;;;;;N;;;;; +AE57;HANGUL SYLLABLE GGALB;Lo;0;L;;;;;N;;;;; +AE58;HANGUL SYLLABLE GGALS;Lo;0;L;;;;;N;;;;; +AE59;HANGUL SYLLABLE GGALT;Lo;0;L;;;;;N;;;;; +AE5A;HANGUL SYLLABLE GGALP;Lo;0;L;;;;;N;;;;; +AE5B;HANGUL SYLLABLE GGALH;Lo;0;L;;;;;N;;;;; +AE5C;HANGUL SYLLABLE GGAM;Lo;0;L;;;;;N;;;;; +AE5D;HANGUL SYLLABLE GGAB;Lo;0;L;;;;;N;;;;; +AE5E;HANGUL SYLLABLE GGABS;Lo;0;L;;;;;N;;;;; +AE5F;HANGUL SYLLABLE GGAS;Lo;0;L;;;;;N;;;;; +AE60;HANGUL SYLLABLE GGASS;Lo;0;L;;;;;N;;;;; +AE61;HANGUL SYLLABLE GGANG;Lo;0;L;;;;;N;;;;; +AE62;HANGUL SYLLABLE GGAJ;Lo;0;L;;;;;N;;;;; +AE63;HANGUL SYLLABLE GGAC;Lo;0;L;;;;;N;;;;; +AE64;HANGUL SYLLABLE GGAK;Lo;0;L;;;;;N;;;;; +AE65;HANGUL SYLLABLE GGAT;Lo;0;L;;;;;N;;;;; +AE66;HANGUL SYLLABLE GGAP;Lo;0;L;;;;;N;;;;; +AE67;HANGUL SYLLABLE GGAH;Lo;0;L;;;;;N;;;;; +AE68;HANGUL SYLLABLE GGAE;Lo;0;L;;;;;N;;;;; +AE69;HANGUL SYLLABLE GGAEG;Lo;0;L;;;;;N;;;;; +AE6A;HANGUL SYLLABLE GGAEGG;Lo;0;L;;;;;N;;;;; +AE6B;HANGUL SYLLABLE GGAEGS;Lo;0;L;;;;;N;;;;; +AE6C;HANGUL SYLLABLE GGAEN;Lo;0;L;;;;;N;;;;; +AE6D;HANGUL SYLLABLE GGAENI;Lo;0;L;;;;;N;;;;; +AE6E;HANGUL SYLLABLE GGAENH;Lo;0;L;;;;;N;;;;; +AE6F;HANGUL SYLLABLE GGAED;Lo;0;L;;;;;N;;;;; +AE70;HANGUL SYLLABLE GGAEL;Lo;0;L;;;;;N;;;;; +AE71;HANGUL SYLLABLE GGAELG;Lo;0;L;;;;;N;;;;; +AE72;HANGUL SYLLABLE GGAELM;Lo;0;L;;;;;N;;;;; +AE73;HANGUL SYLLABLE GGAELB;Lo;0;L;;;;;N;;;;; +AE74;HANGUL SYLLABLE GGAELS;Lo;0;L;;;;;N;;;;; +AE75;HANGUL SYLLABLE GGAELT;Lo;0;L;;;;;N;;;;; +AE76;HANGUL SYLLABLE GGAELP;Lo;0;L;;;;;N;;;;; +AE77;HANGUL SYLLABLE GGAELH;Lo;0;L;;;;;N;;;;; +AE78;HANGUL SYLLABLE GGAEM;Lo;0;L;;;;;N;;;;; +AE79;HANGUL SYLLABLE GGAEB;Lo;0;L;;;;;N;;;;; +AE7A;HANGUL SYLLABLE GGAEBS;Lo;0;L;;;;;N;;;;; +AE7B;HANGUL SYLLABLE GGAES;Lo;0;L;;;;;N;;;;; +AE7C;HANGUL SYLLABLE GGAESS;Lo;0;L;;;;;N;;;;; +AE7D;HANGUL SYLLABLE GGAENG;Lo;0;L;;;;;N;;;;; +AE7E;HANGUL SYLLABLE GGAEJ;Lo;0;L;;;;;N;;;;; +AE7F;HANGUL SYLLABLE GGAEC;Lo;0;L;;;;;N;;;;; +AE80;HANGUL SYLLABLE GGAEK;Lo;0;L;;;;;N;;;;; +AE81;HANGUL SYLLABLE GGAET;Lo;0;L;;;;;N;;;;; +AE82;HANGUL SYLLABLE GGAEP;Lo;0;L;;;;;N;;;;; +AE83;HANGUL SYLLABLE GGAEH;Lo;0;L;;;;;N;;;;; +AE84;HANGUL SYLLABLE GGYA;Lo;0;L;;;;;N;;;;; +AE85;HANGUL SYLLABLE GGYAG;Lo;0;L;;;;;N;;;;; +AE86;HANGUL SYLLABLE GGYAGG;Lo;0;L;;;;;N;;;;; +AE87;HANGUL SYLLABLE GGYAGS;Lo;0;L;;;;;N;;;;; +AE88;HANGUL SYLLABLE GGYAN;Lo;0;L;;;;;N;;;;; +AE89;HANGUL SYLLABLE GGYANI;Lo;0;L;;;;;N;;;;; +AE8A;HANGUL SYLLABLE GGYANH;Lo;0;L;;;;;N;;;;; +AE8B;HANGUL SYLLABLE GGYAD;Lo;0;L;;;;;N;;;;; +AE8C;HANGUL SYLLABLE GGYAL;Lo;0;L;;;;;N;;;;; +AE8D;HANGUL SYLLABLE GGYALG;Lo;0;L;;;;;N;;;;; +AE8E;HANGUL SYLLABLE GGYALM;Lo;0;L;;;;;N;;;;; +AE8F;HANGUL SYLLABLE GGYALB;Lo;0;L;;;;;N;;;;; +AE90;HANGUL SYLLABLE GGYALS;Lo;0;L;;;;;N;;;;; +AE91;HANGUL SYLLABLE GGYALT;Lo;0;L;;;;;N;;;;; +AE92;HANGUL SYLLABLE GGYALP;Lo;0;L;;;;;N;;;;; +AE93;HANGUL SYLLABLE GGYALH;Lo;0;L;;;;;N;;;;; +AE94;HANGUL SYLLABLE GGYAM;Lo;0;L;;;;;N;;;;; +AE95;HANGUL SYLLABLE GGYAB;Lo;0;L;;;;;N;;;;; +AE96;HANGUL SYLLABLE GGYABS;Lo;0;L;;;;;N;;;;; +AE97;HANGUL SYLLABLE GGYAS;Lo;0;L;;;;;N;;;;; +AE98;HANGUL SYLLABLE GGYASS;Lo;0;L;;;;;N;;;;; +AE99;HANGUL SYLLABLE GGYANG;Lo;0;L;;;;;N;;;;; +AE9A;HANGUL SYLLABLE GGYAJ;Lo;0;L;;;;;N;;;;; +AE9B;HANGUL SYLLABLE GGYAC;Lo;0;L;;;;;N;;;;; +AE9C;HANGUL SYLLABLE GGYAK;Lo;0;L;;;;;N;;;;; +AE9D;HANGUL SYLLABLE GGYAT;Lo;0;L;;;;;N;;;;; +AE9E;HANGUL SYLLABLE GGYAP;Lo;0;L;;;;;N;;;;; +AE9F;HANGUL SYLLABLE GGYAH;Lo;0;L;;;;;N;;;;; +AEA0;HANGUL SYLLABLE GGYAE;Lo;0;L;;;;;N;;;;; +AEA1;HANGUL SYLLABLE GGYAEG;Lo;0;L;;;;;N;;;;; +AEA2;HANGUL SYLLABLE GGYAEGG;Lo;0;L;;;;;N;;;;; +AEA3;HANGUL SYLLABLE GGYAEGS;Lo;0;L;;;;;N;;;;; +AEA4;HANGUL SYLLABLE GGYAEN;Lo;0;L;;;;;N;;;;; +AEA5;HANGUL SYLLABLE GGYAENI;Lo;0;L;;;;;N;;;;; +AEA6;HANGUL SYLLABLE GGYAENH;Lo;0;L;;;;;N;;;;; +AEA7;HANGUL SYLLABLE GGYAED;Lo;0;L;;;;;N;;;;; +AEA8;HANGUL SYLLABLE GGYAEL;Lo;0;L;;;;;N;;;;; +AEA9;HANGUL SYLLABLE GGYAELG;Lo;0;L;;;;;N;;;;; +AEAA;HANGUL SYLLABLE GGYAELM;Lo;0;L;;;;;N;;;;; +AEAB;HANGUL SYLLABLE GGYAELB;Lo;0;L;;;;;N;;;;; +AEAC;HANGUL SYLLABLE GGYAELS;Lo;0;L;;;;;N;;;;; +AEAD;HANGUL SYLLABLE GGYAELT;Lo;0;L;;;;;N;;;;; +AEAE;HANGUL SYLLABLE GGYAELP;Lo;0;L;;;;;N;;;;; +AEAF;HANGUL SYLLABLE GGYAELH;Lo;0;L;;;;;N;;;;; +AEB0;HANGUL SYLLABLE GGYAEM;Lo;0;L;;;;;N;;;;; +AEB1;HANGUL SYLLABLE GGYAEB;Lo;0;L;;;;;N;;;;; +AEB2;HANGUL SYLLABLE GGYAEBS;Lo;0;L;;;;;N;;;;; +AEB3;HANGUL SYLLABLE GGYAES;Lo;0;L;;;;;N;;;;; +AEB4;HANGUL SYLLABLE GGYAESS;Lo;0;L;;;;;N;;;;; +AEB5;HANGUL SYLLABLE GGYAENG;Lo;0;L;;;;;N;;;;; +AEB6;HANGUL SYLLABLE GGYAEJ;Lo;0;L;;;;;N;;;;; +AEB7;HANGUL SYLLABLE GGYAEC;Lo;0;L;;;;;N;;;;; +AEB8;HANGUL SYLLABLE GGYAEK;Lo;0;L;;;;;N;;;;; +AEB9;HANGUL SYLLABLE GGYAET;Lo;0;L;;;;;N;;;;; +AEBA;HANGUL SYLLABLE GGYAEP;Lo;0;L;;;;;N;;;;; +AEBB;HANGUL SYLLABLE GGYAEH;Lo;0;L;;;;;N;;;;; +AEBC;HANGUL SYLLABLE GGEO;Lo;0;L;;;;;N;;;;; +AEBD;HANGUL SYLLABLE GGEOG;Lo;0;L;;;;;N;;;;; +AEBE;HANGUL SYLLABLE GGEOGG;Lo;0;L;;;;;N;;;;; +AEBF;HANGUL SYLLABLE GGEOGS;Lo;0;L;;;;;N;;;;; +AEC0;HANGUL SYLLABLE GGEON;Lo;0;L;;;;;N;;;;; +AEC1;HANGUL SYLLABLE GGEONI;Lo;0;L;;;;;N;;;;; +AEC2;HANGUL SYLLABLE GGEONH;Lo;0;L;;;;;N;;;;; +AEC3;HANGUL SYLLABLE GGEOD;Lo;0;L;;;;;N;;;;; +AEC4;HANGUL SYLLABLE GGEOL;Lo;0;L;;;;;N;;;;; +AEC5;HANGUL SYLLABLE GGEOLG;Lo;0;L;;;;;N;;;;; +AEC6;HANGUL SYLLABLE GGEOLM;Lo;0;L;;;;;N;;;;; +AEC7;HANGUL SYLLABLE GGEOLB;Lo;0;L;;;;;N;;;;; +AEC8;HANGUL SYLLABLE GGEOLS;Lo;0;L;;;;;N;;;;; +AEC9;HANGUL SYLLABLE GGEOLT;Lo;0;L;;;;;N;;;;; +AECA;HANGUL SYLLABLE GGEOLP;Lo;0;L;;;;;N;;;;; +AECB;HANGUL SYLLABLE GGEOLH;Lo;0;L;;;;;N;;;;; +AECC;HANGUL SYLLABLE GGEOM;Lo;0;L;;;;;N;;;;; +AECD;HANGUL SYLLABLE GGEOB;Lo;0;L;;;;;N;;;;; +AECE;HANGUL SYLLABLE GGEOBS;Lo;0;L;;;;;N;;;;; +AECF;HANGUL SYLLABLE GGEOS;Lo;0;L;;;;;N;;;;; +AED0;HANGUL SYLLABLE GGEOSS;Lo;0;L;;;;;N;;;;; +AED1;HANGUL SYLLABLE GGEONG;Lo;0;L;;;;;N;;;;; +AED2;HANGUL SYLLABLE GGEOJ;Lo;0;L;;;;;N;;;;; +AED3;HANGUL SYLLABLE GGEOC;Lo;0;L;;;;;N;;;;; +AED4;HANGUL SYLLABLE GGEOK;Lo;0;L;;;;;N;;;;; +AED5;HANGUL SYLLABLE GGEOT;Lo;0;L;;;;;N;;;;; +AED6;HANGUL SYLLABLE GGEOP;Lo;0;L;;;;;N;;;;; +AED7;HANGUL SYLLABLE GGEOH;Lo;0;L;;;;;N;;;;; +AED8;HANGUL SYLLABLE GGE;Lo;0;L;;;;;N;;;;; +AED9;HANGUL SYLLABLE GGEG;Lo;0;L;;;;;N;;;;; +AEDA;HANGUL SYLLABLE GGEGG;Lo;0;L;;;;;N;;;;; +AEDB;HANGUL SYLLABLE GGEGS;Lo;0;L;;;;;N;;;;; +AEDC;HANGUL SYLLABLE GGEN;Lo;0;L;;;;;N;;;;; +AEDD;HANGUL SYLLABLE GGENI;Lo;0;L;;;;;N;;;;; +AEDE;HANGUL SYLLABLE GGENH;Lo;0;L;;;;;N;;;;; +AEDF;HANGUL SYLLABLE GGED;Lo;0;L;;;;;N;;;;; +AEE0;HANGUL SYLLABLE GGEL;Lo;0;L;;;;;N;;;;; +AEE1;HANGUL SYLLABLE GGELG;Lo;0;L;;;;;N;;;;; +AEE2;HANGUL SYLLABLE GGELM;Lo;0;L;;;;;N;;;;; +AEE3;HANGUL SYLLABLE GGELB;Lo;0;L;;;;;N;;;;; +AEE4;HANGUL SYLLABLE GGELS;Lo;0;L;;;;;N;;;;; +AEE5;HANGUL SYLLABLE GGELT;Lo;0;L;;;;;N;;;;; +AEE6;HANGUL SYLLABLE GGELP;Lo;0;L;;;;;N;;;;; +AEE7;HANGUL SYLLABLE GGELH;Lo;0;L;;;;;N;;;;; +AEE8;HANGUL SYLLABLE GGEM;Lo;0;L;;;;;N;;;;; +AEE9;HANGUL SYLLABLE GGEB;Lo;0;L;;;;;N;;;;; +AEEA;HANGUL SYLLABLE GGEBS;Lo;0;L;;;;;N;;;;; +AEEB;HANGUL SYLLABLE GGES;Lo;0;L;;;;;N;;;;; +AEEC;HANGUL SYLLABLE GGESS;Lo;0;L;;;;;N;;;;; +AEED;HANGUL SYLLABLE GGENG;Lo;0;L;;;;;N;;;;; +AEEE;HANGUL SYLLABLE GGEJ;Lo;0;L;;;;;N;;;;; +AEEF;HANGUL SYLLABLE GGEC;Lo;0;L;;;;;N;;;;; +AEF0;HANGUL SYLLABLE GGEK;Lo;0;L;;;;;N;;;;; +AEF1;HANGUL SYLLABLE GGET;Lo;0;L;;;;;N;;;;; +AEF2;HANGUL SYLLABLE GGEP;Lo;0;L;;;;;N;;;;; +AEF3;HANGUL SYLLABLE GGEH;Lo;0;L;;;;;N;;;;; +AEF4;HANGUL SYLLABLE GGYEO;Lo;0;L;;;;;N;;;;; +AEF5;HANGUL SYLLABLE GGYEOG;Lo;0;L;;;;;N;;;;; +AEF6;HANGUL SYLLABLE GGYEOGG;Lo;0;L;;;;;N;;;;; +AEF7;HANGUL SYLLABLE GGYEOGS;Lo;0;L;;;;;N;;;;; +AEF8;HANGUL SYLLABLE GGYEON;Lo;0;L;;;;;N;;;;; +AEF9;HANGUL SYLLABLE GGYEONI;Lo;0;L;;;;;N;;;;; +AEFA;HANGUL SYLLABLE GGYEONH;Lo;0;L;;;;;N;;;;; +AEFB;HANGUL SYLLABLE GGYEOD;Lo;0;L;;;;;N;;;;; +AEFC;HANGUL SYLLABLE GGYEOL;Lo;0;L;;;;;N;;;;; +AEFD;HANGUL SYLLABLE GGYEOLG;Lo;0;L;;;;;N;;;;; +AEFE;HANGUL SYLLABLE GGYEOLM;Lo;0;L;;;;;N;;;;; +AEFF;HANGUL SYLLABLE GGYEOLB;Lo;0;L;;;;;N;;;;; +AF00;HANGUL SYLLABLE GGYEOLS;Lo;0;L;;;;;N;;;;; +AF01;HANGUL SYLLABLE GGYEOLT;Lo;0;L;;;;;N;;;;; +AF02;HANGUL SYLLABLE GGYEOLP;Lo;0;L;;;;;N;;;;; +AF03;HANGUL SYLLABLE GGYEOLH;Lo;0;L;;;;;N;;;;; +AF04;HANGUL SYLLABLE GGYEOM;Lo;0;L;;;;;N;;;;; +AF05;HANGUL SYLLABLE GGYEOB;Lo;0;L;;;;;N;;;;; +AF06;HANGUL SYLLABLE GGYEOBS;Lo;0;L;;;;;N;;;;; +AF07;HANGUL SYLLABLE GGYEOS;Lo;0;L;;;;;N;;;;; +AF08;HANGUL SYLLABLE GGYEOSS;Lo;0;L;;;;;N;;;;; +AF09;HANGUL SYLLABLE GGYEONG;Lo;0;L;;;;;N;;;;; +AF0A;HANGUL SYLLABLE GGYEOJ;Lo;0;L;;;;;N;;;;; +AF0B;HANGUL SYLLABLE GGYEOC;Lo;0;L;;;;;N;;;;; +AF0C;HANGUL SYLLABLE GGYEOK;Lo;0;L;;;;;N;;;;; +AF0D;HANGUL SYLLABLE GGYEOT;Lo;0;L;;;;;N;;;;; +AF0E;HANGUL SYLLABLE GGYEOP;Lo;0;L;;;;;N;;;;; +AF0F;HANGUL SYLLABLE GGYEOH;Lo;0;L;;;;;N;;;;; +AF10;HANGUL SYLLABLE GGYE;Lo;0;L;;;;;N;;;;; +AF11;HANGUL SYLLABLE GGYEG;Lo;0;L;;;;;N;;;;; +AF12;HANGUL SYLLABLE GGYEGG;Lo;0;L;;;;;N;;;;; +AF13;HANGUL SYLLABLE GGYEGS;Lo;0;L;;;;;N;;;;; +AF14;HANGUL SYLLABLE GGYEN;Lo;0;L;;;;;N;;;;; +AF15;HANGUL SYLLABLE GGYENI;Lo;0;L;;;;;N;;;;; +AF16;HANGUL SYLLABLE GGYENH;Lo;0;L;;;;;N;;;;; +AF17;HANGUL SYLLABLE GGYED;Lo;0;L;;;;;N;;;;; +AF18;HANGUL SYLLABLE GGYEL;Lo;0;L;;;;;N;;;;; +AF19;HANGUL SYLLABLE GGYELG;Lo;0;L;;;;;N;;;;; +AF1A;HANGUL SYLLABLE GGYELM;Lo;0;L;;;;;N;;;;; +AF1B;HANGUL SYLLABLE GGYELB;Lo;0;L;;;;;N;;;;; +AF1C;HANGUL SYLLABLE GGYELS;Lo;0;L;;;;;N;;;;; +AF1D;HANGUL SYLLABLE GGYELT;Lo;0;L;;;;;N;;;;; +AF1E;HANGUL SYLLABLE GGYELP;Lo;0;L;;;;;N;;;;; +AF1F;HANGUL SYLLABLE GGYELH;Lo;0;L;;;;;N;;;;; +AF20;HANGUL SYLLABLE GGYEM;Lo;0;L;;;;;N;;;;; +AF21;HANGUL SYLLABLE GGYEB;Lo;0;L;;;;;N;;;;; +AF22;HANGUL SYLLABLE GGYEBS;Lo;0;L;;;;;N;;;;; +AF23;HANGUL SYLLABLE GGYES;Lo;0;L;;;;;N;;;;; +AF24;HANGUL SYLLABLE GGYESS;Lo;0;L;;;;;N;;;;; +AF25;HANGUL SYLLABLE GGYENG;Lo;0;L;;;;;N;;;;; +AF26;HANGUL SYLLABLE GGYEJ;Lo;0;L;;;;;N;;;;; +AF27;HANGUL SYLLABLE GGYEC;Lo;0;L;;;;;N;;;;; +AF28;HANGUL SYLLABLE GGYEK;Lo;0;L;;;;;N;;;;; +AF29;HANGUL SYLLABLE GGYET;Lo;0;L;;;;;N;;;;; +AF2A;HANGUL SYLLABLE GGYEP;Lo;0;L;;;;;N;;;;; +AF2B;HANGUL SYLLABLE GGYEH;Lo;0;L;;;;;N;;;;; +AF2C;HANGUL SYLLABLE GGO;Lo;0;L;;;;;N;;;;; +AF2D;HANGUL SYLLABLE GGOG;Lo;0;L;;;;;N;;;;; +AF2E;HANGUL SYLLABLE GGOGG;Lo;0;L;;;;;N;;;;; +AF2F;HANGUL SYLLABLE GGOGS;Lo;0;L;;;;;N;;;;; +AF30;HANGUL SYLLABLE GGON;Lo;0;L;;;;;N;;;;; +AF31;HANGUL SYLLABLE GGONI;Lo;0;L;;;;;N;;;;; +AF32;HANGUL SYLLABLE GGONH;Lo;0;L;;;;;N;;;;; +AF33;HANGUL SYLLABLE GGOD;Lo;0;L;;;;;N;;;;; +AF34;HANGUL SYLLABLE GGOL;Lo;0;L;;;;;N;;;;; +AF35;HANGUL SYLLABLE GGOLG;Lo;0;L;;;;;N;;;;; +AF36;HANGUL SYLLABLE GGOLM;Lo;0;L;;;;;N;;;;; +AF37;HANGUL SYLLABLE GGOLB;Lo;0;L;;;;;N;;;;; +AF38;HANGUL SYLLABLE GGOLS;Lo;0;L;;;;;N;;;;; +AF39;HANGUL SYLLABLE GGOLT;Lo;0;L;;;;;N;;;;; +AF3A;HANGUL SYLLABLE GGOLP;Lo;0;L;;;;;N;;;;; +AF3B;HANGUL SYLLABLE GGOLH;Lo;0;L;;;;;N;;;;; +AF3C;HANGUL SYLLABLE GGOM;Lo;0;L;;;;;N;;;;; +AF3D;HANGUL SYLLABLE GGOB;Lo;0;L;;;;;N;;;;; +AF3E;HANGUL SYLLABLE GGOBS;Lo;0;L;;;;;N;;;;; +AF3F;HANGUL SYLLABLE GGOS;Lo;0;L;;;;;N;;;;; +AF40;HANGUL SYLLABLE GGOSS;Lo;0;L;;;;;N;;;;; +AF41;HANGUL SYLLABLE GGONG;Lo;0;L;;;;;N;;;;; +AF42;HANGUL SYLLABLE GGOJ;Lo;0;L;;;;;N;;;;; +AF43;HANGUL SYLLABLE GGOC;Lo;0;L;;;;;N;;;;; +AF44;HANGUL SYLLABLE GGOK;Lo;0;L;;;;;N;;;;; +AF45;HANGUL SYLLABLE GGOT;Lo;0;L;;;;;N;;;;; +AF46;HANGUL SYLLABLE GGOP;Lo;0;L;;;;;N;;;;; +AF47;HANGUL SYLLABLE GGOH;Lo;0;L;;;;;N;;;;; +AF48;HANGUL SYLLABLE GGWA;Lo;0;L;;;;;N;;;;; +AF49;HANGUL SYLLABLE GGWAG;Lo;0;L;;;;;N;;;;; +AF4A;HANGUL SYLLABLE GGWAGG;Lo;0;L;;;;;N;;;;; +AF4B;HANGUL SYLLABLE GGWAGS;Lo;0;L;;;;;N;;;;; +AF4C;HANGUL SYLLABLE GGWAN;Lo;0;L;;;;;N;;;;; +AF4D;HANGUL SYLLABLE GGWANI;Lo;0;L;;;;;N;;;;; +AF4E;HANGUL SYLLABLE GGWANH;Lo;0;L;;;;;N;;;;; +AF4F;HANGUL SYLLABLE GGWAD;Lo;0;L;;;;;N;;;;; +AF50;HANGUL SYLLABLE GGWAL;Lo;0;L;;;;;N;;;;; +AF51;HANGUL SYLLABLE GGWALG;Lo;0;L;;;;;N;;;;; +AF52;HANGUL SYLLABLE GGWALM;Lo;0;L;;;;;N;;;;; +AF53;HANGUL SYLLABLE GGWALB;Lo;0;L;;;;;N;;;;; +AF54;HANGUL SYLLABLE GGWALS;Lo;0;L;;;;;N;;;;; +AF55;HANGUL SYLLABLE GGWALT;Lo;0;L;;;;;N;;;;; +AF56;HANGUL SYLLABLE GGWALP;Lo;0;L;;;;;N;;;;; +AF57;HANGUL SYLLABLE GGWALH;Lo;0;L;;;;;N;;;;; +AF58;HANGUL SYLLABLE GGWAM;Lo;0;L;;;;;N;;;;; +AF59;HANGUL SYLLABLE GGWAB;Lo;0;L;;;;;N;;;;; +AF5A;HANGUL SYLLABLE GGWABS;Lo;0;L;;;;;N;;;;; +AF5B;HANGUL SYLLABLE GGWAS;Lo;0;L;;;;;N;;;;; +AF5C;HANGUL SYLLABLE GGWASS;Lo;0;L;;;;;N;;;;; +AF5D;HANGUL SYLLABLE GGWANG;Lo;0;L;;;;;N;;;;; +AF5E;HANGUL SYLLABLE GGWAJ;Lo;0;L;;;;;N;;;;; +AF5F;HANGUL SYLLABLE GGWAC;Lo;0;L;;;;;N;;;;; +AF60;HANGUL SYLLABLE GGWAK;Lo;0;L;;;;;N;;;;; +AF61;HANGUL SYLLABLE GGWAT;Lo;0;L;;;;;N;;;;; +AF62;HANGUL SYLLABLE GGWAP;Lo;0;L;;;;;N;;;;; +AF63;HANGUL SYLLABLE GGWAH;Lo;0;L;;;;;N;;;;; +AF64;HANGUL SYLLABLE GGWAE;Lo;0;L;;;;;N;;;;; +AF65;HANGUL SYLLABLE GGWAEG;Lo;0;L;;;;;N;;;;; +AF66;HANGUL SYLLABLE GGWAEGG;Lo;0;L;;;;;N;;;;; +AF67;HANGUL SYLLABLE GGWAEGS;Lo;0;L;;;;;N;;;;; +AF68;HANGUL SYLLABLE GGWAEN;Lo;0;L;;;;;N;;;;; +AF69;HANGUL SYLLABLE GGWAENI;Lo;0;L;;;;;N;;;;; +AF6A;HANGUL SYLLABLE GGWAENH;Lo;0;L;;;;;N;;;;; +AF6B;HANGUL SYLLABLE GGWAED;Lo;0;L;;;;;N;;;;; +AF6C;HANGUL SYLLABLE GGWAEL;Lo;0;L;;;;;N;;;;; +AF6D;HANGUL SYLLABLE GGWAELG;Lo;0;L;;;;;N;;;;; +AF6E;HANGUL SYLLABLE GGWAELM;Lo;0;L;;;;;N;;;;; +AF6F;HANGUL SYLLABLE GGWAELB;Lo;0;L;;;;;N;;;;; +AF70;HANGUL SYLLABLE GGWAELS;Lo;0;L;;;;;N;;;;; +AF71;HANGUL SYLLABLE GGWAELT;Lo;0;L;;;;;N;;;;; +AF72;HANGUL SYLLABLE GGWAELP;Lo;0;L;;;;;N;;;;; +AF73;HANGUL SYLLABLE GGWAELH;Lo;0;L;;;;;N;;;;; +AF74;HANGUL SYLLABLE GGWAEM;Lo;0;L;;;;;N;;;;; +AF75;HANGUL SYLLABLE GGWAEB;Lo;0;L;;;;;N;;;;; +AF76;HANGUL SYLLABLE GGWAEBS;Lo;0;L;;;;;N;;;;; +AF77;HANGUL SYLLABLE GGWAES;Lo;0;L;;;;;N;;;;; +AF78;HANGUL SYLLABLE GGWAESS;Lo;0;L;;;;;N;;;;; +AF79;HANGUL SYLLABLE GGWAENG;Lo;0;L;;;;;N;;;;; +AF7A;HANGUL SYLLABLE GGWAEJ;Lo;0;L;;;;;N;;;;; +AF7B;HANGUL SYLLABLE GGWAEC;Lo;0;L;;;;;N;;;;; +AF7C;HANGUL SYLLABLE GGWAEK;Lo;0;L;;;;;N;;;;; +AF7D;HANGUL SYLLABLE GGWAET;Lo;0;L;;;;;N;;;;; +AF7E;HANGUL SYLLABLE GGWAEP;Lo;0;L;;;;;N;;;;; +AF7F;HANGUL SYLLABLE GGWAEH;Lo;0;L;;;;;N;;;;; +AF80;HANGUL SYLLABLE GGOE;Lo;0;L;;;;;N;;;;; +AF81;HANGUL SYLLABLE GGOEG;Lo;0;L;;;;;N;;;;; +AF82;HANGUL SYLLABLE GGOEGG;Lo;0;L;;;;;N;;;;; +AF83;HANGUL SYLLABLE GGOEGS;Lo;0;L;;;;;N;;;;; +AF84;HANGUL SYLLABLE GGOEN;Lo;0;L;;;;;N;;;;; +AF85;HANGUL SYLLABLE GGOENI;Lo;0;L;;;;;N;;;;; +AF86;HANGUL SYLLABLE GGOENH;Lo;0;L;;;;;N;;;;; +AF87;HANGUL SYLLABLE GGOED;Lo;0;L;;;;;N;;;;; +AF88;HANGUL SYLLABLE GGOEL;Lo;0;L;;;;;N;;;;; +AF89;HANGUL SYLLABLE GGOELG;Lo;0;L;;;;;N;;;;; +AF8A;HANGUL SYLLABLE GGOELM;Lo;0;L;;;;;N;;;;; +AF8B;HANGUL SYLLABLE GGOELB;Lo;0;L;;;;;N;;;;; +AF8C;HANGUL SYLLABLE GGOELS;Lo;0;L;;;;;N;;;;; +AF8D;HANGUL SYLLABLE GGOELT;Lo;0;L;;;;;N;;;;; +AF8E;HANGUL SYLLABLE GGOELP;Lo;0;L;;;;;N;;;;; +AF8F;HANGUL SYLLABLE GGOELH;Lo;0;L;;;;;N;;;;; +AF90;HANGUL SYLLABLE GGOEM;Lo;0;L;;;;;N;;;;; +AF91;HANGUL SYLLABLE GGOEB;Lo;0;L;;;;;N;;;;; +AF92;HANGUL SYLLABLE GGOEBS;Lo;0;L;;;;;N;;;;; +AF93;HANGUL SYLLABLE GGOES;Lo;0;L;;;;;N;;;;; +AF94;HANGUL SYLLABLE GGOESS;Lo;0;L;;;;;N;;;;; +AF95;HANGUL SYLLABLE GGOENG;Lo;0;L;;;;;N;;;;; +AF96;HANGUL SYLLABLE GGOEJ;Lo;0;L;;;;;N;;;;; +AF97;HANGUL SYLLABLE GGOEC;Lo;0;L;;;;;N;;;;; +AF98;HANGUL SYLLABLE GGOEK;Lo;0;L;;;;;N;;;;; +AF99;HANGUL SYLLABLE GGOET;Lo;0;L;;;;;N;;;;; +AF9A;HANGUL SYLLABLE GGOEP;Lo;0;L;;;;;N;;;;; +AF9B;HANGUL SYLLABLE GGOEH;Lo;0;L;;;;;N;;;;; +AF9C;HANGUL SYLLABLE GGYO;Lo;0;L;;;;;N;;;;; +AF9D;HANGUL SYLLABLE GGYOG;Lo;0;L;;;;;N;;;;; +AF9E;HANGUL SYLLABLE GGYOGG;Lo;0;L;;;;;N;;;;; +AF9F;HANGUL SYLLABLE GGYOGS;Lo;0;L;;;;;N;;;;; +AFA0;HANGUL SYLLABLE GGYON;Lo;0;L;;;;;N;;;;; +AFA1;HANGUL SYLLABLE GGYONI;Lo;0;L;;;;;N;;;;; +AFA2;HANGUL SYLLABLE GGYONH;Lo;0;L;;;;;N;;;;; +AFA3;HANGUL SYLLABLE GGYOD;Lo;0;L;;;;;N;;;;; +AFA4;HANGUL SYLLABLE GGYOL;Lo;0;L;;;;;N;;;;; +AFA5;HANGUL SYLLABLE GGYOLG;Lo;0;L;;;;;N;;;;; +AFA6;HANGUL SYLLABLE GGYOLM;Lo;0;L;;;;;N;;;;; +AFA7;HANGUL SYLLABLE GGYOLB;Lo;0;L;;;;;N;;;;; +AFA8;HANGUL SYLLABLE GGYOLS;Lo;0;L;;;;;N;;;;; +AFA9;HANGUL SYLLABLE GGYOLT;Lo;0;L;;;;;N;;;;; +AFAA;HANGUL SYLLABLE GGYOLP;Lo;0;L;;;;;N;;;;; +AFAB;HANGUL SYLLABLE GGYOLH;Lo;0;L;;;;;N;;;;; +AFAC;HANGUL SYLLABLE GGYOM;Lo;0;L;;;;;N;;;;; +AFAD;HANGUL SYLLABLE GGYOB;Lo;0;L;;;;;N;;;;; +AFAE;HANGUL SYLLABLE GGYOBS;Lo;0;L;;;;;N;;;;; +AFAF;HANGUL SYLLABLE GGYOS;Lo;0;L;;;;;N;;;;; +AFB0;HANGUL SYLLABLE GGYOSS;Lo;0;L;;;;;N;;;;; +AFB1;HANGUL SYLLABLE GGYONG;Lo;0;L;;;;;N;;;;; +AFB2;HANGUL SYLLABLE GGYOJ;Lo;0;L;;;;;N;;;;; +AFB3;HANGUL SYLLABLE GGYOC;Lo;0;L;;;;;N;;;;; +AFB4;HANGUL SYLLABLE GGYOK;Lo;0;L;;;;;N;;;;; +AFB5;HANGUL SYLLABLE GGYOT;Lo;0;L;;;;;N;;;;; +AFB6;HANGUL SYLLABLE GGYOP;Lo;0;L;;;;;N;;;;; +AFB7;HANGUL SYLLABLE GGYOH;Lo;0;L;;;;;N;;;;; +AFB8;HANGUL SYLLABLE GGU;Lo;0;L;;;;;N;;;;; +AFB9;HANGUL SYLLABLE GGUG;Lo;0;L;;;;;N;;;;; +AFBA;HANGUL SYLLABLE GGUGG;Lo;0;L;;;;;N;;;;; +AFBB;HANGUL SYLLABLE GGUGS;Lo;0;L;;;;;N;;;;; +AFBC;HANGUL SYLLABLE GGUN;Lo;0;L;;;;;N;;;;; +AFBD;HANGUL SYLLABLE GGUNI;Lo;0;L;;;;;N;;;;; +AFBE;HANGUL SYLLABLE GGUNH;Lo;0;L;;;;;N;;;;; +AFBF;HANGUL SYLLABLE GGUD;Lo;0;L;;;;;N;;;;; +AFC0;HANGUL SYLLABLE GGUL;Lo;0;L;;;;;N;;;;; +AFC1;HANGUL SYLLABLE GGULG;Lo;0;L;;;;;N;;;;; +AFC2;HANGUL SYLLABLE GGULM;Lo;0;L;;;;;N;;;;; +AFC3;HANGUL SYLLABLE GGULB;Lo;0;L;;;;;N;;;;; +AFC4;HANGUL SYLLABLE GGULS;Lo;0;L;;;;;N;;;;; +AFC5;HANGUL SYLLABLE GGULT;Lo;0;L;;;;;N;;;;; +AFC6;HANGUL SYLLABLE GGULP;Lo;0;L;;;;;N;;;;; +AFC7;HANGUL SYLLABLE GGULH;Lo;0;L;;;;;N;;;;; +AFC8;HANGUL SYLLABLE GGUM;Lo;0;L;;;;;N;;;;; +AFC9;HANGUL SYLLABLE GGUB;Lo;0;L;;;;;N;;;;; +AFCA;HANGUL SYLLABLE GGUBS;Lo;0;L;;;;;N;;;;; +AFCB;HANGUL SYLLABLE GGUS;Lo;0;L;;;;;N;;;;; +AFCC;HANGUL SYLLABLE GGUSS;Lo;0;L;;;;;N;;;;; +AFCD;HANGUL SYLLABLE GGUNG;Lo;0;L;;;;;N;;;;; +AFCE;HANGUL SYLLABLE GGUJ;Lo;0;L;;;;;N;;;;; +AFCF;HANGUL SYLLABLE GGUC;Lo;0;L;;;;;N;;;;; +AFD0;HANGUL SYLLABLE GGUK;Lo;0;L;;;;;N;;;;; +AFD1;HANGUL SYLLABLE GGUT;Lo;0;L;;;;;N;;;;; +AFD2;HANGUL SYLLABLE GGUP;Lo;0;L;;;;;N;;;;; +AFD3;HANGUL SYLLABLE GGUH;Lo;0;L;;;;;N;;;;; +AFD4;HANGUL SYLLABLE GGWEO;Lo;0;L;;;;;N;;;;; +AFD5;HANGUL SYLLABLE GGWEOG;Lo;0;L;;;;;N;;;;; +AFD6;HANGUL SYLLABLE GGWEOGG;Lo;0;L;;;;;N;;;;; +AFD7;HANGUL SYLLABLE GGWEOGS;Lo;0;L;;;;;N;;;;; +AFD8;HANGUL SYLLABLE GGWEON;Lo;0;L;;;;;N;;;;; +AFD9;HANGUL SYLLABLE GGWEONI;Lo;0;L;;;;;N;;;;; +AFDA;HANGUL SYLLABLE GGWEONH;Lo;0;L;;;;;N;;;;; +AFDB;HANGUL SYLLABLE GGWEOD;Lo;0;L;;;;;N;;;;; +AFDC;HANGUL SYLLABLE GGWEOL;Lo;0;L;;;;;N;;;;; +AFDD;HANGUL SYLLABLE GGWEOLG;Lo;0;L;;;;;N;;;;; +AFDE;HANGUL SYLLABLE GGWEOLM;Lo;0;L;;;;;N;;;;; +AFDF;HANGUL SYLLABLE GGWEOLB;Lo;0;L;;;;;N;;;;; +AFE0;HANGUL SYLLABLE GGWEOLS;Lo;0;L;;;;;N;;;;; +AFE1;HANGUL SYLLABLE GGWEOLT;Lo;0;L;;;;;N;;;;; +AFE2;HANGUL SYLLABLE GGWEOLP;Lo;0;L;;;;;N;;;;; +AFE3;HANGUL SYLLABLE GGWEOLH;Lo;0;L;;;;;N;;;;; +AFE4;HANGUL SYLLABLE GGWEOM;Lo;0;L;;;;;N;;;;; +AFE5;HANGUL SYLLABLE GGWEOB;Lo;0;L;;;;;N;;;;; +AFE6;HANGUL SYLLABLE GGWEOBS;Lo;0;L;;;;;N;;;;; +AFE7;HANGUL SYLLABLE GGWEOS;Lo;0;L;;;;;N;;;;; +AFE8;HANGUL SYLLABLE GGWEOSS;Lo;0;L;;;;;N;;;;; +AFE9;HANGUL SYLLABLE GGWEONG;Lo;0;L;;;;;N;;;;; +AFEA;HANGUL SYLLABLE GGWEOJ;Lo;0;L;;;;;N;;;;; +AFEB;HANGUL SYLLABLE GGWEOC;Lo;0;L;;;;;N;;;;; +AFEC;HANGUL SYLLABLE GGWEOK;Lo;0;L;;;;;N;;;;; +AFED;HANGUL SYLLABLE GGWEOT;Lo;0;L;;;;;N;;;;; +AFEE;HANGUL SYLLABLE GGWEOP;Lo;0;L;;;;;N;;;;; +AFEF;HANGUL SYLLABLE GGWEOH;Lo;0;L;;;;;N;;;;; +AFF0;HANGUL SYLLABLE GGWE;Lo;0;L;;;;;N;;;;; +AFF1;HANGUL SYLLABLE GGWEG;Lo;0;L;;;;;N;;;;; +AFF2;HANGUL SYLLABLE GGWEGG;Lo;0;L;;;;;N;;;;; +AFF3;HANGUL SYLLABLE GGWEGS;Lo;0;L;;;;;N;;;;; +AFF4;HANGUL SYLLABLE GGWEN;Lo;0;L;;;;;N;;;;; +AFF5;HANGUL SYLLABLE GGWENI;Lo;0;L;;;;;N;;;;; +AFF6;HANGUL SYLLABLE GGWENH;Lo;0;L;;;;;N;;;;; +AFF7;HANGUL SYLLABLE GGWED;Lo;0;L;;;;;N;;;;; +AFF8;HANGUL SYLLABLE GGWEL;Lo;0;L;;;;;N;;;;; +AFF9;HANGUL SYLLABLE GGWELG;Lo;0;L;;;;;N;;;;; +AFFA;HANGUL SYLLABLE GGWELM;Lo;0;L;;;;;N;;;;; +AFFB;HANGUL SYLLABLE GGWELB;Lo;0;L;;;;;N;;;;; +AFFC;HANGUL SYLLABLE GGWELS;Lo;0;L;;;;;N;;;;; +AFFD;HANGUL SYLLABLE GGWELT;Lo;0;L;;;;;N;;;;; +AFFE;HANGUL SYLLABLE GGWELP;Lo;0;L;;;;;N;;;;; +AFFF;HANGUL SYLLABLE GGWELH;Lo;0;L;;;;;N;;;;; +B000;HANGUL SYLLABLE GGWEM;Lo;0;L;;;;;N;;;;; +B001;HANGUL SYLLABLE GGWEB;Lo;0;L;;;;;N;;;;; +B002;HANGUL SYLLABLE GGWEBS;Lo;0;L;;;;;N;;;;; +B003;HANGUL SYLLABLE GGWES;Lo;0;L;;;;;N;;;;; +B004;HANGUL SYLLABLE GGWESS;Lo;0;L;;;;;N;;;;; +B005;HANGUL SYLLABLE GGWENG;Lo;0;L;;;;;N;;;;; +B006;HANGUL SYLLABLE GGWEJ;Lo;0;L;;;;;N;;;;; +B007;HANGUL SYLLABLE GGWEC;Lo;0;L;;;;;N;;;;; +B008;HANGUL SYLLABLE GGWEK;Lo;0;L;;;;;N;;;;; +B009;HANGUL SYLLABLE GGWET;Lo;0;L;;;;;N;;;;; +B00A;HANGUL SYLLABLE GGWEP;Lo;0;L;;;;;N;;;;; +B00B;HANGUL SYLLABLE GGWEH;Lo;0;L;;;;;N;;;;; +B00C;HANGUL SYLLABLE GGWI;Lo;0;L;;;;;N;;;;; +B00D;HANGUL SYLLABLE GGWIG;Lo;0;L;;;;;N;;;;; +B00E;HANGUL SYLLABLE GGWIGG;Lo;0;L;;;;;N;;;;; +B00F;HANGUL SYLLABLE GGWIGS;Lo;0;L;;;;;N;;;;; +B010;HANGUL SYLLABLE GGWIN;Lo;0;L;;;;;N;;;;; +B011;HANGUL SYLLABLE GGWINI;Lo;0;L;;;;;N;;;;; +B012;HANGUL SYLLABLE GGWINH;Lo;0;L;;;;;N;;;;; +B013;HANGUL SYLLABLE GGWID;Lo;0;L;;;;;N;;;;; +B014;HANGUL SYLLABLE GGWIL;Lo;0;L;;;;;N;;;;; +B015;HANGUL SYLLABLE GGWILG;Lo;0;L;;;;;N;;;;; +B016;HANGUL SYLLABLE GGWILM;Lo;0;L;;;;;N;;;;; +B017;HANGUL SYLLABLE GGWILB;Lo;0;L;;;;;N;;;;; +B018;HANGUL SYLLABLE GGWILS;Lo;0;L;;;;;N;;;;; +B019;HANGUL SYLLABLE GGWILT;Lo;0;L;;;;;N;;;;; +B01A;HANGUL SYLLABLE GGWILP;Lo;0;L;;;;;N;;;;; +B01B;HANGUL SYLLABLE GGWILH;Lo;0;L;;;;;N;;;;; +B01C;HANGUL SYLLABLE GGWIM;Lo;0;L;;;;;N;;;;; +B01D;HANGUL SYLLABLE GGWIB;Lo;0;L;;;;;N;;;;; +B01E;HANGUL SYLLABLE GGWIBS;Lo;0;L;;;;;N;;;;; +B01F;HANGUL SYLLABLE GGWIS;Lo;0;L;;;;;N;;;;; +B020;HANGUL SYLLABLE GGWISS;Lo;0;L;;;;;N;;;;; +B021;HANGUL SYLLABLE GGWING;Lo;0;L;;;;;N;;;;; +B022;HANGUL SYLLABLE GGWIJ;Lo;0;L;;;;;N;;;;; +B023;HANGUL SYLLABLE GGWIC;Lo;0;L;;;;;N;;;;; +B024;HANGUL SYLLABLE GGWIK;Lo;0;L;;;;;N;;;;; +B025;HANGUL SYLLABLE GGWIT;Lo;0;L;;;;;N;;;;; +B026;HANGUL SYLLABLE GGWIP;Lo;0;L;;;;;N;;;;; +B027;HANGUL SYLLABLE GGWIH;Lo;0;L;;;;;N;;;;; +B028;HANGUL SYLLABLE GGYU;Lo;0;L;;;;;N;;;;; +B029;HANGUL SYLLABLE GGYUG;Lo;0;L;;;;;N;;;;; +B02A;HANGUL SYLLABLE GGYUGG;Lo;0;L;;;;;N;;;;; +B02B;HANGUL SYLLABLE GGYUGS;Lo;0;L;;;;;N;;;;; +B02C;HANGUL SYLLABLE GGYUN;Lo;0;L;;;;;N;;;;; +B02D;HANGUL SYLLABLE GGYUNI;Lo;0;L;;;;;N;;;;; +B02E;HANGUL SYLLABLE GGYUNH;Lo;0;L;;;;;N;;;;; +B02F;HANGUL SYLLABLE GGYUD;Lo;0;L;;;;;N;;;;; +B030;HANGUL SYLLABLE GGYUL;Lo;0;L;;;;;N;;;;; +B031;HANGUL SYLLABLE GGYULG;Lo;0;L;;;;;N;;;;; +B032;HANGUL SYLLABLE GGYULM;Lo;0;L;;;;;N;;;;; +B033;HANGUL SYLLABLE GGYULB;Lo;0;L;;;;;N;;;;; +B034;HANGUL SYLLABLE GGYULS;Lo;0;L;;;;;N;;;;; +B035;HANGUL SYLLABLE GGYULT;Lo;0;L;;;;;N;;;;; +B036;HANGUL SYLLABLE GGYULP;Lo;0;L;;;;;N;;;;; +B037;HANGUL SYLLABLE GGYULH;Lo;0;L;;;;;N;;;;; +B038;HANGUL SYLLABLE GGYUM;Lo;0;L;;;;;N;;;;; +B039;HANGUL SYLLABLE GGYUB;Lo;0;L;;;;;N;;;;; +B03A;HANGUL SYLLABLE GGYUBS;Lo;0;L;;;;;N;;;;; +B03B;HANGUL SYLLABLE GGYUS;Lo;0;L;;;;;N;;;;; +B03C;HANGUL SYLLABLE GGYUSS;Lo;0;L;;;;;N;;;;; +B03D;HANGUL SYLLABLE GGYUNG;Lo;0;L;;;;;N;;;;; +B03E;HANGUL SYLLABLE GGYUJ;Lo;0;L;;;;;N;;;;; +B03F;HANGUL SYLLABLE GGYUC;Lo;0;L;;;;;N;;;;; +B040;HANGUL SYLLABLE GGYUK;Lo;0;L;;;;;N;;;;; +B041;HANGUL SYLLABLE GGYUT;Lo;0;L;;;;;N;;;;; +B042;HANGUL SYLLABLE GGYUP;Lo;0;L;;;;;N;;;;; +B043;HANGUL SYLLABLE GGYUH;Lo;0;L;;;;;N;;;;; +B044;HANGUL SYLLABLE GGEU;Lo;0;L;;;;;N;;;;; +B045;HANGUL SYLLABLE GGEUG;Lo;0;L;;;;;N;;;;; +B046;HANGUL SYLLABLE GGEUGG;Lo;0;L;;;;;N;;;;; +B047;HANGUL SYLLABLE GGEUGS;Lo;0;L;;;;;N;;;;; +B048;HANGUL SYLLABLE GGEUN;Lo;0;L;;;;;N;;;;; +B049;HANGUL SYLLABLE GGEUNI;Lo;0;L;;;;;N;;;;; +B04A;HANGUL SYLLABLE GGEUNH;Lo;0;L;;;;;N;;;;; +B04B;HANGUL SYLLABLE GGEUD;Lo;0;L;;;;;N;;;;; +B04C;HANGUL SYLLABLE GGEUL;Lo;0;L;;;;;N;;;;; +B04D;HANGUL SYLLABLE GGEULG;Lo;0;L;;;;;N;;;;; +B04E;HANGUL SYLLABLE GGEULM;Lo;0;L;;;;;N;;;;; +B04F;HANGUL SYLLABLE GGEULB;Lo;0;L;;;;;N;;;;; +B050;HANGUL SYLLABLE GGEULS;Lo;0;L;;;;;N;;;;; +B051;HANGUL SYLLABLE GGEULT;Lo;0;L;;;;;N;;;;; +B052;HANGUL SYLLABLE GGEULP;Lo;0;L;;;;;N;;;;; +B053;HANGUL SYLLABLE GGEULH;Lo;0;L;;;;;N;;;;; +B054;HANGUL SYLLABLE GGEUM;Lo;0;L;;;;;N;;;;; +B055;HANGUL SYLLABLE GGEUB;Lo;0;L;;;;;N;;;;; +B056;HANGUL SYLLABLE GGEUBS;Lo;0;L;;;;;N;;;;; +B057;HANGUL SYLLABLE GGEUS;Lo;0;L;;;;;N;;;;; +B058;HANGUL SYLLABLE GGEUSS;Lo;0;L;;;;;N;;;;; +B059;HANGUL SYLLABLE GGEUNG;Lo;0;L;;;;;N;;;;; +B05A;HANGUL SYLLABLE GGEUJ;Lo;0;L;;;;;N;;;;; +B05B;HANGUL SYLLABLE GGEUC;Lo;0;L;;;;;N;;;;; +B05C;HANGUL SYLLABLE GGEUK;Lo;0;L;;;;;N;;;;; +B05D;HANGUL SYLLABLE GGEUT;Lo;0;L;;;;;N;;;;; +B05E;HANGUL SYLLABLE GGEUP;Lo;0;L;;;;;N;;;;; +B05F;HANGUL SYLLABLE GGEUH;Lo;0;L;;;;;N;;;;; +B060;HANGUL SYLLABLE GGYI;Lo;0;L;;;;;N;;;;; +B061;HANGUL SYLLABLE GGYIG;Lo;0;L;;;;;N;;;;; +B062;HANGUL SYLLABLE GGYIGG;Lo;0;L;;;;;N;;;;; +B063;HANGUL SYLLABLE GGYIGS;Lo;0;L;;;;;N;;;;; +B064;HANGUL SYLLABLE GGYIN;Lo;0;L;;;;;N;;;;; +B065;HANGUL SYLLABLE GGYINI;Lo;0;L;;;;;N;;;;; +B066;HANGUL SYLLABLE GGYINH;Lo;0;L;;;;;N;;;;; +B067;HANGUL SYLLABLE GGYID;Lo;0;L;;;;;N;;;;; +B068;HANGUL SYLLABLE GGYIL;Lo;0;L;;;;;N;;;;; +B069;HANGUL SYLLABLE GGYILG;Lo;0;L;;;;;N;;;;; +B06A;HANGUL SYLLABLE GGYILM;Lo;0;L;;;;;N;;;;; +B06B;HANGUL SYLLABLE GGYILB;Lo;0;L;;;;;N;;;;; +B06C;HANGUL SYLLABLE GGYILS;Lo;0;L;;;;;N;;;;; +B06D;HANGUL SYLLABLE GGYILT;Lo;0;L;;;;;N;;;;; +B06E;HANGUL SYLLABLE GGYILP;Lo;0;L;;;;;N;;;;; +B06F;HANGUL SYLLABLE GGYILH;Lo;0;L;;;;;N;;;;; +B070;HANGUL SYLLABLE GGYIM;Lo;0;L;;;;;N;;;;; +B071;HANGUL SYLLABLE GGYIB;Lo;0;L;;;;;N;;;;; +B072;HANGUL SYLLABLE GGYIBS;Lo;0;L;;;;;N;;;;; +B073;HANGUL SYLLABLE GGYIS;Lo;0;L;;;;;N;;;;; +B074;HANGUL SYLLABLE GGYISS;Lo;0;L;;;;;N;;;;; +B075;HANGUL SYLLABLE GGYING;Lo;0;L;;;;;N;;;;; +B076;HANGUL SYLLABLE GGYIJ;Lo;0;L;;;;;N;;;;; +B077;HANGUL SYLLABLE GGYIC;Lo;0;L;;;;;N;;;;; +B078;HANGUL SYLLABLE GGYIK;Lo;0;L;;;;;N;;;;; +B079;HANGUL SYLLABLE GGYIT;Lo;0;L;;;;;N;;;;; +B07A;HANGUL SYLLABLE GGYIP;Lo;0;L;;;;;N;;;;; +B07B;HANGUL SYLLABLE GGYIH;Lo;0;L;;;;;N;;;;; +B07C;HANGUL SYLLABLE GGI;Lo;0;L;;;;;N;;;;; +B07D;HANGUL SYLLABLE GGIG;Lo;0;L;;;;;N;;;;; +B07E;HANGUL SYLLABLE GGIGG;Lo;0;L;;;;;N;;;;; +B07F;HANGUL SYLLABLE GGIGS;Lo;0;L;;;;;N;;;;; +B080;HANGUL SYLLABLE GGIN;Lo;0;L;;;;;N;;;;; +B081;HANGUL SYLLABLE GGINI;Lo;0;L;;;;;N;;;;; +B082;HANGUL SYLLABLE GGINH;Lo;0;L;;;;;N;;;;; +B083;HANGUL SYLLABLE GGID;Lo;0;L;;;;;N;;;;; +B084;HANGUL SYLLABLE GGIL;Lo;0;L;;;;;N;;;;; +B085;HANGUL SYLLABLE GGILG;Lo;0;L;;;;;N;;;;; +B086;HANGUL SYLLABLE GGILM;Lo;0;L;;;;;N;;;;; +B087;HANGUL SYLLABLE GGILB;Lo;0;L;;;;;N;;;;; +B088;HANGUL SYLLABLE GGILS;Lo;0;L;;;;;N;;;;; +B089;HANGUL SYLLABLE GGILT;Lo;0;L;;;;;N;;;;; +B08A;HANGUL SYLLABLE GGILP;Lo;0;L;;;;;N;;;;; +B08B;HANGUL SYLLABLE GGILH;Lo;0;L;;;;;N;;;;; +B08C;HANGUL SYLLABLE GGIM;Lo;0;L;;;;;N;;;;; +B08D;HANGUL SYLLABLE GGIB;Lo;0;L;;;;;N;;;;; +B08E;HANGUL SYLLABLE GGIBS;Lo;0;L;;;;;N;;;;; +B08F;HANGUL SYLLABLE GGIS;Lo;0;L;;;;;N;;;;; +B090;HANGUL SYLLABLE GGISS;Lo;0;L;;;;;N;;;;; +B091;HANGUL SYLLABLE GGING;Lo;0;L;;;;;N;;;;; +B092;HANGUL SYLLABLE GGIJ;Lo;0;L;;;;;N;;;;; +B093;HANGUL SYLLABLE GGIC;Lo;0;L;;;;;N;;;;; +B094;HANGUL SYLLABLE GGIK;Lo;0;L;;;;;N;;;;; +B095;HANGUL SYLLABLE GGIT;Lo;0;L;;;;;N;;;;; +B096;HANGUL SYLLABLE GGIP;Lo;0;L;;;;;N;;;;; +B097;HANGUL SYLLABLE GGIH;Lo;0;L;;;;;N;;;;; +B098;HANGUL SYLLABLE NA;Lo;0;L;;;;;N;;;;; +B099;HANGUL SYLLABLE NAG;Lo;0;L;;;;;N;;;;; +B09A;HANGUL SYLLABLE NAGG;Lo;0;L;;;;;N;;;;; +B09B;HANGUL SYLLABLE NAGS;Lo;0;L;;;;;N;;;;; +B09C;HANGUL SYLLABLE NAN;Lo;0;L;;;;;N;;;;; +B09D;HANGUL SYLLABLE NANI;Lo;0;L;;;;;N;;;;; +B09E;HANGUL SYLLABLE NANH;Lo;0;L;;;;;N;;;;; +B09F;HANGUL SYLLABLE NAD;Lo;0;L;;;;;N;;;;; +B0A0;HANGUL SYLLABLE NAL;Lo;0;L;;;;;N;;;;; +B0A1;HANGUL SYLLABLE NALG;Lo;0;L;;;;;N;;;;; +B0A2;HANGUL SYLLABLE NALM;Lo;0;L;;;;;N;;;;; +B0A3;HANGUL SYLLABLE NALB;Lo;0;L;;;;;N;;;;; +B0A4;HANGUL SYLLABLE NALS;Lo;0;L;;;;;N;;;;; +B0A5;HANGUL SYLLABLE NALT;Lo;0;L;;;;;N;;;;; +B0A6;HANGUL SYLLABLE NALP;Lo;0;L;;;;;N;;;;; +B0A7;HANGUL SYLLABLE NALH;Lo;0;L;;;;;N;;;;; +B0A8;HANGUL SYLLABLE NAM;Lo;0;L;;;;;N;;;;; +B0A9;HANGUL SYLLABLE NAB;Lo;0;L;;;;;N;;;;; +B0AA;HANGUL SYLLABLE NABS;Lo;0;L;;;;;N;;;;; +B0AB;HANGUL SYLLABLE NAS;Lo;0;L;;;;;N;;;;; +B0AC;HANGUL SYLLABLE NASS;Lo;0;L;;;;;N;;;;; +B0AD;HANGUL SYLLABLE NANG;Lo;0;L;;;;;N;;;;; +B0AE;HANGUL SYLLABLE NAJ;Lo;0;L;;;;;N;;;;; +B0AF;HANGUL SYLLABLE NAC;Lo;0;L;;;;;N;;;;; +B0B0;HANGUL SYLLABLE NAK;Lo;0;L;;;;;N;;;;; +B0B1;HANGUL SYLLABLE NAT;Lo;0;L;;;;;N;;;;; +B0B2;HANGUL SYLLABLE NAP;Lo;0;L;;;;;N;;;;; +B0B3;HANGUL SYLLABLE NAH;Lo;0;L;;;;;N;;;;; +B0B4;HANGUL SYLLABLE NAE;Lo;0;L;;;;;N;;;;; +B0B5;HANGUL SYLLABLE NAEG;Lo;0;L;;;;;N;;;;; +B0B6;HANGUL SYLLABLE NAEGG;Lo;0;L;;;;;N;;;;; +B0B7;HANGUL SYLLABLE NAEGS;Lo;0;L;;;;;N;;;;; +B0B8;HANGUL SYLLABLE NAEN;Lo;0;L;;;;;N;;;;; +B0B9;HANGUL SYLLABLE NAENI;Lo;0;L;;;;;N;;;;; +B0BA;HANGUL SYLLABLE NAENH;Lo;0;L;;;;;N;;;;; +B0BB;HANGUL SYLLABLE NAED;Lo;0;L;;;;;N;;;;; +B0BC;HANGUL SYLLABLE NAEL;Lo;0;L;;;;;N;;;;; +B0BD;HANGUL SYLLABLE NAELG;Lo;0;L;;;;;N;;;;; +B0BE;HANGUL SYLLABLE NAELM;Lo;0;L;;;;;N;;;;; +B0BF;HANGUL SYLLABLE NAELB;Lo;0;L;;;;;N;;;;; +B0C0;HANGUL SYLLABLE NAELS;Lo;0;L;;;;;N;;;;; +B0C1;HANGUL SYLLABLE NAELT;Lo;0;L;;;;;N;;;;; +B0C2;HANGUL SYLLABLE NAELP;Lo;0;L;;;;;N;;;;; +B0C3;HANGUL SYLLABLE NAELH;Lo;0;L;;;;;N;;;;; +B0C4;HANGUL SYLLABLE NAEM;Lo;0;L;;;;;N;;;;; +B0C5;HANGUL SYLLABLE NAEB;Lo;0;L;;;;;N;;;;; +B0C6;HANGUL SYLLABLE NAEBS;Lo;0;L;;;;;N;;;;; +B0C7;HANGUL SYLLABLE NAES;Lo;0;L;;;;;N;;;;; +B0C8;HANGUL SYLLABLE NAESS;Lo;0;L;;;;;N;;;;; +B0C9;HANGUL SYLLABLE NAENG;Lo;0;L;;;;;N;;;;; +B0CA;HANGUL SYLLABLE NAEJ;Lo;0;L;;;;;N;;;;; +B0CB;HANGUL SYLLABLE NAEC;Lo;0;L;;;;;N;;;;; +B0CC;HANGUL SYLLABLE NAEK;Lo;0;L;;;;;N;;;;; +B0CD;HANGUL SYLLABLE NAET;Lo;0;L;;;;;N;;;;; +B0CE;HANGUL SYLLABLE NAEP;Lo;0;L;;;;;N;;;;; +B0CF;HANGUL SYLLABLE NAEH;Lo;0;L;;;;;N;;;;; +B0D0;HANGUL SYLLABLE NYA;Lo;0;L;;;;;N;;;;; +B0D1;HANGUL SYLLABLE NYAG;Lo;0;L;;;;;N;;;;; +B0D2;HANGUL SYLLABLE NYAGG;Lo;0;L;;;;;N;;;;; +B0D3;HANGUL SYLLABLE NYAGS;Lo;0;L;;;;;N;;;;; +B0D4;HANGUL SYLLABLE NYAN;Lo;0;L;;;;;N;;;;; +B0D5;HANGUL SYLLABLE NYANI;Lo;0;L;;;;;N;;;;; +B0D6;HANGUL SYLLABLE NYANH;Lo;0;L;;;;;N;;;;; +B0D7;HANGUL SYLLABLE NYAD;Lo;0;L;;;;;N;;;;; +B0D8;HANGUL SYLLABLE NYAL;Lo;0;L;;;;;N;;;;; +B0D9;HANGUL SYLLABLE NYALG;Lo;0;L;;;;;N;;;;; +B0DA;HANGUL SYLLABLE NYALM;Lo;0;L;;;;;N;;;;; +B0DB;HANGUL SYLLABLE NYALB;Lo;0;L;;;;;N;;;;; +B0DC;HANGUL SYLLABLE NYALS;Lo;0;L;;;;;N;;;;; +B0DD;HANGUL SYLLABLE NYALT;Lo;0;L;;;;;N;;;;; +B0DE;HANGUL SYLLABLE NYALP;Lo;0;L;;;;;N;;;;; +B0DF;HANGUL SYLLABLE NYALH;Lo;0;L;;;;;N;;;;; +B0E0;HANGUL SYLLABLE NYAM;Lo;0;L;;;;;N;;;;; +B0E1;HANGUL SYLLABLE NYAB;Lo;0;L;;;;;N;;;;; +B0E2;HANGUL SYLLABLE NYABS;Lo;0;L;;;;;N;;;;; +B0E3;HANGUL SYLLABLE NYAS;Lo;0;L;;;;;N;;;;; +B0E4;HANGUL SYLLABLE NYASS;Lo;0;L;;;;;N;;;;; +B0E5;HANGUL SYLLABLE NYANG;Lo;0;L;;;;;N;;;;; +B0E6;HANGUL SYLLABLE NYAJ;Lo;0;L;;;;;N;;;;; +B0E7;HANGUL SYLLABLE NYAC;Lo;0;L;;;;;N;;;;; +B0E8;HANGUL SYLLABLE NYAK;Lo;0;L;;;;;N;;;;; +B0E9;HANGUL SYLLABLE NYAT;Lo;0;L;;;;;N;;;;; +B0EA;HANGUL SYLLABLE NYAP;Lo;0;L;;;;;N;;;;; +B0EB;HANGUL SYLLABLE NYAH;Lo;0;L;;;;;N;;;;; +B0EC;HANGUL SYLLABLE NYAE;Lo;0;L;;;;;N;;;;; +B0ED;HANGUL SYLLABLE NYAEG;Lo;0;L;;;;;N;;;;; +B0EE;HANGUL SYLLABLE NYAEGG;Lo;0;L;;;;;N;;;;; +B0EF;HANGUL SYLLABLE NYAEGS;Lo;0;L;;;;;N;;;;; +B0F0;HANGUL SYLLABLE NYAEN;Lo;0;L;;;;;N;;;;; +B0F1;HANGUL SYLLABLE NYAENI;Lo;0;L;;;;;N;;;;; +B0F2;HANGUL SYLLABLE NYAENH;Lo;0;L;;;;;N;;;;; +B0F3;HANGUL SYLLABLE NYAED;Lo;0;L;;;;;N;;;;; +B0F4;HANGUL SYLLABLE NYAEL;Lo;0;L;;;;;N;;;;; +B0F5;HANGUL SYLLABLE NYAELG;Lo;0;L;;;;;N;;;;; +B0F6;HANGUL SYLLABLE NYAELM;Lo;0;L;;;;;N;;;;; +B0F7;HANGUL SYLLABLE NYAELB;Lo;0;L;;;;;N;;;;; +B0F8;HANGUL SYLLABLE NYAELS;Lo;0;L;;;;;N;;;;; +B0F9;HANGUL SYLLABLE NYAELT;Lo;0;L;;;;;N;;;;; +B0FA;HANGUL SYLLABLE NYAELP;Lo;0;L;;;;;N;;;;; +B0FB;HANGUL SYLLABLE NYAELH;Lo;0;L;;;;;N;;;;; +B0FC;HANGUL SYLLABLE NYAEM;Lo;0;L;;;;;N;;;;; +B0FD;HANGUL SYLLABLE NYAEB;Lo;0;L;;;;;N;;;;; +B0FE;HANGUL SYLLABLE NYAEBS;Lo;0;L;;;;;N;;;;; +B0FF;HANGUL SYLLABLE NYAES;Lo;0;L;;;;;N;;;;; +B100;HANGUL SYLLABLE NYAESS;Lo;0;L;;;;;N;;;;; +B101;HANGUL SYLLABLE NYAENG;Lo;0;L;;;;;N;;;;; +B102;HANGUL SYLLABLE NYAEJ;Lo;0;L;;;;;N;;;;; +B103;HANGUL SYLLABLE NYAEC;Lo;0;L;;;;;N;;;;; +B104;HANGUL SYLLABLE NYAEK;Lo;0;L;;;;;N;;;;; +B105;HANGUL SYLLABLE NYAET;Lo;0;L;;;;;N;;;;; +B106;HANGUL SYLLABLE NYAEP;Lo;0;L;;;;;N;;;;; +B107;HANGUL SYLLABLE NYAEH;Lo;0;L;;;;;N;;;;; +B108;HANGUL SYLLABLE NEO;Lo;0;L;;;;;N;;;;; +B109;HANGUL SYLLABLE NEOG;Lo;0;L;;;;;N;;;;; +B10A;HANGUL SYLLABLE NEOGG;Lo;0;L;;;;;N;;;;; +B10B;HANGUL SYLLABLE NEOGS;Lo;0;L;;;;;N;;;;; +B10C;HANGUL SYLLABLE NEON;Lo;0;L;;;;;N;;;;; +B10D;HANGUL SYLLABLE NEONI;Lo;0;L;;;;;N;;;;; +B10E;HANGUL SYLLABLE NEONH;Lo;0;L;;;;;N;;;;; +B10F;HANGUL SYLLABLE NEOD;Lo;0;L;;;;;N;;;;; +B110;HANGUL SYLLABLE NEOL;Lo;0;L;;;;;N;;;;; +B111;HANGUL SYLLABLE NEOLG;Lo;0;L;;;;;N;;;;; +B112;HANGUL SYLLABLE NEOLM;Lo;0;L;;;;;N;;;;; +B113;HANGUL SYLLABLE NEOLB;Lo;0;L;;;;;N;;;;; +B114;HANGUL SYLLABLE NEOLS;Lo;0;L;;;;;N;;;;; +B115;HANGUL SYLLABLE NEOLT;Lo;0;L;;;;;N;;;;; +B116;HANGUL SYLLABLE NEOLP;Lo;0;L;;;;;N;;;;; +B117;HANGUL SYLLABLE NEOLH;Lo;0;L;;;;;N;;;;; +B118;HANGUL SYLLABLE NEOM;Lo;0;L;;;;;N;;;;; +B119;HANGUL SYLLABLE NEOB;Lo;0;L;;;;;N;;;;; +B11A;HANGUL SYLLABLE NEOBS;Lo;0;L;;;;;N;;;;; +B11B;HANGUL SYLLABLE NEOS;Lo;0;L;;;;;N;;;;; +B11C;HANGUL SYLLABLE NEOSS;Lo;0;L;;;;;N;;;;; +B11D;HANGUL SYLLABLE NEONG;Lo;0;L;;;;;N;;;;; +B11E;HANGUL SYLLABLE NEOJ;Lo;0;L;;;;;N;;;;; +B11F;HANGUL SYLLABLE NEOC;Lo;0;L;;;;;N;;;;; +B120;HANGUL SYLLABLE NEOK;Lo;0;L;;;;;N;;;;; +B121;HANGUL SYLLABLE NEOT;Lo;0;L;;;;;N;;;;; +B122;HANGUL SYLLABLE NEOP;Lo;0;L;;;;;N;;;;; +B123;HANGUL SYLLABLE NEOH;Lo;0;L;;;;;N;;;;; +B124;HANGUL SYLLABLE NE;Lo;0;L;;;;;N;;;;; +B125;HANGUL SYLLABLE NEG;Lo;0;L;;;;;N;;;;; +B126;HANGUL SYLLABLE NEGG;Lo;0;L;;;;;N;;;;; +B127;HANGUL SYLLABLE NEGS;Lo;0;L;;;;;N;;;;; +B128;HANGUL SYLLABLE NEN;Lo;0;L;;;;;N;;;;; +B129;HANGUL SYLLABLE NENI;Lo;0;L;;;;;N;;;;; +B12A;HANGUL SYLLABLE NENH;Lo;0;L;;;;;N;;;;; +B12B;HANGUL SYLLABLE NED;Lo;0;L;;;;;N;;;;; +B12C;HANGUL SYLLABLE NEL;Lo;0;L;;;;;N;;;;; +B12D;HANGUL SYLLABLE NELG;Lo;0;L;;;;;N;;;;; +B12E;HANGUL SYLLABLE NELM;Lo;0;L;;;;;N;;;;; +B12F;HANGUL SYLLABLE NELB;Lo;0;L;;;;;N;;;;; +B130;HANGUL SYLLABLE NELS;Lo;0;L;;;;;N;;;;; +B131;HANGUL SYLLABLE NELT;Lo;0;L;;;;;N;;;;; +B132;HANGUL SYLLABLE NELP;Lo;0;L;;;;;N;;;;; +B133;HANGUL SYLLABLE NELH;Lo;0;L;;;;;N;;;;; +B134;HANGUL SYLLABLE NEM;Lo;0;L;;;;;N;;;;; +B135;HANGUL SYLLABLE NEB;Lo;0;L;;;;;N;;;;; +B136;HANGUL SYLLABLE NEBS;Lo;0;L;;;;;N;;;;; +B137;HANGUL SYLLABLE NES;Lo;0;L;;;;;N;;;;; +B138;HANGUL SYLLABLE NESS;Lo;0;L;;;;;N;;;;; +B139;HANGUL SYLLABLE NENG;Lo;0;L;;;;;N;;;;; +B13A;HANGUL SYLLABLE NEJ;Lo;0;L;;;;;N;;;;; +B13B;HANGUL SYLLABLE NEC;Lo;0;L;;;;;N;;;;; +B13C;HANGUL SYLLABLE NEK;Lo;0;L;;;;;N;;;;; +B13D;HANGUL SYLLABLE NET;Lo;0;L;;;;;N;;;;; +B13E;HANGUL SYLLABLE NEP;Lo;0;L;;;;;N;;;;; +B13F;HANGUL SYLLABLE NEH;Lo;0;L;;;;;N;;;;; +B140;HANGUL SYLLABLE NYEO;Lo;0;L;;;;;N;;;;; +B141;HANGUL SYLLABLE NYEOG;Lo;0;L;;;;;N;;;;; +B142;HANGUL SYLLABLE NYEOGG;Lo;0;L;;;;;N;;;;; +B143;HANGUL SYLLABLE NYEOGS;Lo;0;L;;;;;N;;;;; +B144;HANGUL SYLLABLE NYEON;Lo;0;L;;;;;N;;;;; +B145;HANGUL SYLLABLE NYEONI;Lo;0;L;;;;;N;;;;; +B146;HANGUL SYLLABLE NYEONH;Lo;0;L;;;;;N;;;;; +B147;HANGUL SYLLABLE NYEOD;Lo;0;L;;;;;N;;;;; +B148;HANGUL SYLLABLE NYEOL;Lo;0;L;;;;;N;;;;; +B149;HANGUL SYLLABLE NYEOLG;Lo;0;L;;;;;N;;;;; +B14A;HANGUL SYLLABLE NYEOLM;Lo;0;L;;;;;N;;;;; +B14B;HANGUL SYLLABLE NYEOLB;Lo;0;L;;;;;N;;;;; +B14C;HANGUL SYLLABLE NYEOLS;Lo;0;L;;;;;N;;;;; +B14D;HANGUL SYLLABLE NYEOLT;Lo;0;L;;;;;N;;;;; +B14E;HANGUL SYLLABLE NYEOLP;Lo;0;L;;;;;N;;;;; +B14F;HANGUL SYLLABLE NYEOLH;Lo;0;L;;;;;N;;;;; +B150;HANGUL SYLLABLE NYEOM;Lo;0;L;;;;;N;;;;; +B151;HANGUL SYLLABLE NYEOB;Lo;0;L;;;;;N;;;;; +B152;HANGUL SYLLABLE NYEOBS;Lo;0;L;;;;;N;;;;; +B153;HANGUL SYLLABLE NYEOS;Lo;0;L;;;;;N;;;;; +B154;HANGUL SYLLABLE NYEOSS;Lo;0;L;;;;;N;;;;; +B155;HANGUL SYLLABLE NYEONG;Lo;0;L;;;;;N;;;;; +B156;HANGUL SYLLABLE NYEOJ;Lo;0;L;;;;;N;;;;; +B157;HANGUL SYLLABLE NYEOC;Lo;0;L;;;;;N;;;;; +B158;HANGUL SYLLABLE NYEOK;Lo;0;L;;;;;N;;;;; +B159;HANGUL SYLLABLE NYEOT;Lo;0;L;;;;;N;;;;; +B15A;HANGUL SYLLABLE NYEOP;Lo;0;L;;;;;N;;;;; +B15B;HANGUL SYLLABLE NYEOH;Lo;0;L;;;;;N;;;;; +B15C;HANGUL SYLLABLE NYE;Lo;0;L;;;;;N;;;;; +B15D;HANGUL SYLLABLE NYEG;Lo;0;L;;;;;N;;;;; +B15E;HANGUL SYLLABLE NYEGG;Lo;0;L;;;;;N;;;;; +B15F;HANGUL SYLLABLE NYEGS;Lo;0;L;;;;;N;;;;; +B160;HANGUL SYLLABLE NYEN;Lo;0;L;;;;;N;;;;; +B161;HANGUL SYLLABLE NYENI;Lo;0;L;;;;;N;;;;; +B162;HANGUL SYLLABLE NYENH;Lo;0;L;;;;;N;;;;; +B163;HANGUL SYLLABLE NYED;Lo;0;L;;;;;N;;;;; +B164;HANGUL SYLLABLE NYEL;Lo;0;L;;;;;N;;;;; +B165;HANGUL SYLLABLE NYELG;Lo;0;L;;;;;N;;;;; +B166;HANGUL SYLLABLE NYELM;Lo;0;L;;;;;N;;;;; +B167;HANGUL SYLLABLE NYELB;Lo;0;L;;;;;N;;;;; +B168;HANGUL SYLLABLE NYELS;Lo;0;L;;;;;N;;;;; +B169;HANGUL SYLLABLE NYELT;Lo;0;L;;;;;N;;;;; +B16A;HANGUL SYLLABLE NYELP;Lo;0;L;;;;;N;;;;; +B16B;HANGUL SYLLABLE NYELH;Lo;0;L;;;;;N;;;;; +B16C;HANGUL SYLLABLE NYEM;Lo;0;L;;;;;N;;;;; +B16D;HANGUL SYLLABLE NYEB;Lo;0;L;;;;;N;;;;; +B16E;HANGUL SYLLABLE NYEBS;Lo;0;L;;;;;N;;;;; +B16F;HANGUL SYLLABLE NYES;Lo;0;L;;;;;N;;;;; +B170;HANGUL SYLLABLE NYESS;Lo;0;L;;;;;N;;;;; +B171;HANGUL SYLLABLE NYENG;Lo;0;L;;;;;N;;;;; +B172;HANGUL SYLLABLE NYEJ;Lo;0;L;;;;;N;;;;; +B173;HANGUL SYLLABLE NYEC;Lo;0;L;;;;;N;;;;; +B174;HANGUL SYLLABLE NYEK;Lo;0;L;;;;;N;;;;; +B175;HANGUL SYLLABLE NYET;Lo;0;L;;;;;N;;;;; +B176;HANGUL SYLLABLE NYEP;Lo;0;L;;;;;N;;;;; +B177;HANGUL SYLLABLE NYEH;Lo;0;L;;;;;N;;;;; +B178;HANGUL SYLLABLE NO;Lo;0;L;;;;;N;;;;; +B179;HANGUL SYLLABLE NOG;Lo;0;L;;;;;N;;;;; +B17A;HANGUL SYLLABLE NOGG;Lo;0;L;;;;;N;;;;; +B17B;HANGUL SYLLABLE NOGS;Lo;0;L;;;;;N;;;;; +B17C;HANGUL SYLLABLE NON;Lo;0;L;;;;;N;;;;; +B17D;HANGUL SYLLABLE NONI;Lo;0;L;;;;;N;;;;; +B17E;HANGUL SYLLABLE NONH;Lo;0;L;;;;;N;;;;; +B17F;HANGUL SYLLABLE NOD;Lo;0;L;;;;;N;;;;; +B180;HANGUL SYLLABLE NOL;Lo;0;L;;;;;N;;;;; +B181;HANGUL SYLLABLE NOLG;Lo;0;L;;;;;N;;;;; +B182;HANGUL SYLLABLE NOLM;Lo;0;L;;;;;N;;;;; +B183;HANGUL SYLLABLE NOLB;Lo;0;L;;;;;N;;;;; +B184;HANGUL SYLLABLE NOLS;Lo;0;L;;;;;N;;;;; +B185;HANGUL SYLLABLE NOLT;Lo;0;L;;;;;N;;;;; +B186;HANGUL SYLLABLE NOLP;Lo;0;L;;;;;N;;;;; +B187;HANGUL SYLLABLE NOLH;Lo;0;L;;;;;N;;;;; +B188;HANGUL SYLLABLE NOM;Lo;0;L;;;;;N;;;;; +B189;HANGUL SYLLABLE NOB;Lo;0;L;;;;;N;;;;; +B18A;HANGUL SYLLABLE NOBS;Lo;0;L;;;;;N;;;;; +B18B;HANGUL SYLLABLE NOS;Lo;0;L;;;;;N;;;;; +B18C;HANGUL SYLLABLE NOSS;Lo;0;L;;;;;N;;;;; +B18D;HANGUL SYLLABLE NONG;Lo;0;L;;;;;N;;;;; +B18E;HANGUL SYLLABLE NOJ;Lo;0;L;;;;;N;;;;; +B18F;HANGUL SYLLABLE NOC;Lo;0;L;;;;;N;;;;; +B190;HANGUL SYLLABLE NOK;Lo;0;L;;;;;N;;;;; +B191;HANGUL SYLLABLE NOT;Lo;0;L;;;;;N;;;;; +B192;HANGUL SYLLABLE NOP;Lo;0;L;;;;;N;;;;; +B193;HANGUL SYLLABLE NOH;Lo;0;L;;;;;N;;;;; +B194;HANGUL SYLLABLE NWA;Lo;0;L;;;;;N;;;;; +B195;HANGUL SYLLABLE NWAG;Lo;0;L;;;;;N;;;;; +B196;HANGUL SYLLABLE NWAGG;Lo;0;L;;;;;N;;;;; +B197;HANGUL SYLLABLE NWAGS;Lo;0;L;;;;;N;;;;; +B198;HANGUL SYLLABLE NWAN;Lo;0;L;;;;;N;;;;; +B199;HANGUL SYLLABLE NWANI;Lo;0;L;;;;;N;;;;; +B19A;HANGUL SYLLABLE NWANH;Lo;0;L;;;;;N;;;;; +B19B;HANGUL SYLLABLE NWAD;Lo;0;L;;;;;N;;;;; +B19C;HANGUL SYLLABLE NWAL;Lo;0;L;;;;;N;;;;; +B19D;HANGUL SYLLABLE NWALG;Lo;0;L;;;;;N;;;;; +B19E;HANGUL SYLLABLE NWALM;Lo;0;L;;;;;N;;;;; +B19F;HANGUL SYLLABLE NWALB;Lo;0;L;;;;;N;;;;; +B1A0;HANGUL SYLLABLE NWALS;Lo;0;L;;;;;N;;;;; +B1A1;HANGUL SYLLABLE NWALT;Lo;0;L;;;;;N;;;;; +B1A2;HANGUL SYLLABLE NWALP;Lo;0;L;;;;;N;;;;; +B1A3;HANGUL SYLLABLE NWALH;Lo;0;L;;;;;N;;;;; +B1A4;HANGUL SYLLABLE NWAM;Lo;0;L;;;;;N;;;;; +B1A5;HANGUL SYLLABLE NWAB;Lo;0;L;;;;;N;;;;; +B1A6;HANGUL SYLLABLE NWABS;Lo;0;L;;;;;N;;;;; +B1A7;HANGUL SYLLABLE NWAS;Lo;0;L;;;;;N;;;;; +B1A8;HANGUL SYLLABLE NWASS;Lo;0;L;;;;;N;;;;; +B1A9;HANGUL SYLLABLE NWANG;Lo;0;L;;;;;N;;;;; +B1AA;HANGUL SYLLABLE NWAJ;Lo;0;L;;;;;N;;;;; +B1AB;HANGUL SYLLABLE NWAC;Lo;0;L;;;;;N;;;;; +B1AC;HANGUL SYLLABLE NWAK;Lo;0;L;;;;;N;;;;; +B1AD;HANGUL SYLLABLE NWAT;Lo;0;L;;;;;N;;;;; +B1AE;HANGUL SYLLABLE NWAP;Lo;0;L;;;;;N;;;;; +B1AF;HANGUL SYLLABLE NWAH;Lo;0;L;;;;;N;;;;; +B1B0;HANGUL SYLLABLE NWAE;Lo;0;L;;;;;N;;;;; +B1B1;HANGUL SYLLABLE NWAEG;Lo;0;L;;;;;N;;;;; +B1B2;HANGUL SYLLABLE NWAEGG;Lo;0;L;;;;;N;;;;; +B1B3;HANGUL SYLLABLE NWAEGS;Lo;0;L;;;;;N;;;;; +B1B4;HANGUL SYLLABLE NWAEN;Lo;0;L;;;;;N;;;;; +B1B5;HANGUL SYLLABLE NWAENI;Lo;0;L;;;;;N;;;;; +B1B6;HANGUL SYLLABLE NWAENH;Lo;0;L;;;;;N;;;;; +B1B7;HANGUL SYLLABLE NWAED;Lo;0;L;;;;;N;;;;; +B1B8;HANGUL SYLLABLE NWAEL;Lo;0;L;;;;;N;;;;; +B1B9;HANGUL SYLLABLE NWAELG;Lo;0;L;;;;;N;;;;; +B1BA;HANGUL SYLLABLE NWAELM;Lo;0;L;;;;;N;;;;; +B1BB;HANGUL SYLLABLE NWAELB;Lo;0;L;;;;;N;;;;; +B1BC;HANGUL SYLLABLE NWAELS;Lo;0;L;;;;;N;;;;; +B1BD;HANGUL SYLLABLE NWAELT;Lo;0;L;;;;;N;;;;; +B1BE;HANGUL SYLLABLE NWAELP;Lo;0;L;;;;;N;;;;; +B1BF;HANGUL SYLLABLE NWAELH;Lo;0;L;;;;;N;;;;; +B1C0;HANGUL SYLLABLE NWAEM;Lo;0;L;;;;;N;;;;; +B1C1;HANGUL SYLLABLE NWAEB;Lo;0;L;;;;;N;;;;; +B1C2;HANGUL SYLLABLE NWAEBS;Lo;0;L;;;;;N;;;;; +B1C3;HANGUL SYLLABLE NWAES;Lo;0;L;;;;;N;;;;; +B1C4;HANGUL SYLLABLE NWAESS;Lo;0;L;;;;;N;;;;; +B1C5;HANGUL SYLLABLE NWAENG;Lo;0;L;;;;;N;;;;; +B1C6;HANGUL SYLLABLE NWAEJ;Lo;0;L;;;;;N;;;;; +B1C7;HANGUL SYLLABLE NWAEC;Lo;0;L;;;;;N;;;;; +B1C8;HANGUL SYLLABLE NWAEK;Lo;0;L;;;;;N;;;;; +B1C9;HANGUL SYLLABLE NWAET;Lo;0;L;;;;;N;;;;; +B1CA;HANGUL SYLLABLE NWAEP;Lo;0;L;;;;;N;;;;; +B1CB;HANGUL SYLLABLE NWAEH;Lo;0;L;;;;;N;;;;; +B1CC;HANGUL SYLLABLE NOE;Lo;0;L;;;;;N;;;;; +B1CD;HANGUL SYLLABLE NOEG;Lo;0;L;;;;;N;;;;; +B1CE;HANGUL SYLLABLE NOEGG;Lo;0;L;;;;;N;;;;; +B1CF;HANGUL SYLLABLE NOEGS;Lo;0;L;;;;;N;;;;; +B1D0;HANGUL SYLLABLE NOEN;Lo;0;L;;;;;N;;;;; +B1D1;HANGUL SYLLABLE NOENI;Lo;0;L;;;;;N;;;;; +B1D2;HANGUL SYLLABLE NOENH;Lo;0;L;;;;;N;;;;; +B1D3;HANGUL SYLLABLE NOED;Lo;0;L;;;;;N;;;;; +B1D4;HANGUL SYLLABLE NOEL;Lo;0;L;;;;;N;;;;; +B1D5;HANGUL SYLLABLE NOELG;Lo;0;L;;;;;N;;;;; +B1D6;HANGUL SYLLABLE NOELM;Lo;0;L;;;;;N;;;;; +B1D7;HANGUL SYLLABLE NOELB;Lo;0;L;;;;;N;;;;; +B1D8;HANGUL SYLLABLE NOELS;Lo;0;L;;;;;N;;;;; +B1D9;HANGUL SYLLABLE NOELT;Lo;0;L;;;;;N;;;;; +B1DA;HANGUL SYLLABLE NOELP;Lo;0;L;;;;;N;;;;; +B1DB;HANGUL SYLLABLE NOELH;Lo;0;L;;;;;N;;;;; +B1DC;HANGUL SYLLABLE NOEM;Lo;0;L;;;;;N;;;;; +B1DD;HANGUL SYLLABLE NOEB;Lo;0;L;;;;;N;;;;; +B1DE;HANGUL SYLLABLE NOEBS;Lo;0;L;;;;;N;;;;; +B1DF;HANGUL SYLLABLE NOES;Lo;0;L;;;;;N;;;;; +B1E0;HANGUL SYLLABLE NOESS;Lo;0;L;;;;;N;;;;; +B1E1;HANGUL SYLLABLE NOENG;Lo;0;L;;;;;N;;;;; +B1E2;HANGUL SYLLABLE NOEJ;Lo;0;L;;;;;N;;;;; +B1E3;HANGUL SYLLABLE NOEC;Lo;0;L;;;;;N;;;;; +B1E4;HANGUL SYLLABLE NOEK;Lo;0;L;;;;;N;;;;; +B1E5;HANGUL SYLLABLE NOET;Lo;0;L;;;;;N;;;;; +B1E6;HANGUL SYLLABLE NOEP;Lo;0;L;;;;;N;;;;; +B1E7;HANGUL SYLLABLE NOEH;Lo;0;L;;;;;N;;;;; +B1E8;HANGUL SYLLABLE NYO;Lo;0;L;;;;;N;;;;; +B1E9;HANGUL SYLLABLE NYOG;Lo;0;L;;;;;N;;;;; +B1EA;HANGUL SYLLABLE NYOGG;Lo;0;L;;;;;N;;;;; +B1EB;HANGUL SYLLABLE NYOGS;Lo;0;L;;;;;N;;;;; +B1EC;HANGUL SYLLABLE NYON;Lo;0;L;;;;;N;;;;; +B1ED;HANGUL SYLLABLE NYONI;Lo;0;L;;;;;N;;;;; +B1EE;HANGUL SYLLABLE NYONH;Lo;0;L;;;;;N;;;;; +B1EF;HANGUL SYLLABLE NYOD;Lo;0;L;;;;;N;;;;; +B1F0;HANGUL SYLLABLE NYOL;Lo;0;L;;;;;N;;;;; +B1F1;HANGUL SYLLABLE NYOLG;Lo;0;L;;;;;N;;;;; +B1F2;HANGUL SYLLABLE NYOLM;Lo;0;L;;;;;N;;;;; +B1F3;HANGUL SYLLABLE NYOLB;Lo;0;L;;;;;N;;;;; +B1F4;HANGUL SYLLABLE NYOLS;Lo;0;L;;;;;N;;;;; +B1F5;HANGUL SYLLABLE NYOLT;Lo;0;L;;;;;N;;;;; +B1F6;HANGUL SYLLABLE NYOLP;Lo;0;L;;;;;N;;;;; +B1F7;HANGUL SYLLABLE NYOLH;Lo;0;L;;;;;N;;;;; +B1F8;HANGUL SYLLABLE NYOM;Lo;0;L;;;;;N;;;;; +B1F9;HANGUL SYLLABLE NYOB;Lo;0;L;;;;;N;;;;; +B1FA;HANGUL SYLLABLE NYOBS;Lo;0;L;;;;;N;;;;; +B1FB;HANGUL SYLLABLE NYOS;Lo;0;L;;;;;N;;;;; +B1FC;HANGUL SYLLABLE NYOSS;Lo;0;L;;;;;N;;;;; +B1FD;HANGUL SYLLABLE NYONG;Lo;0;L;;;;;N;;;;; +B1FE;HANGUL SYLLABLE NYOJ;Lo;0;L;;;;;N;;;;; +B1FF;HANGUL SYLLABLE NYOC;Lo;0;L;;;;;N;;;;; +B200;HANGUL SYLLABLE NYOK;Lo;0;L;;;;;N;;;;; +B201;HANGUL SYLLABLE NYOT;Lo;0;L;;;;;N;;;;; +B202;HANGUL SYLLABLE NYOP;Lo;0;L;;;;;N;;;;; +B203;HANGUL SYLLABLE NYOH;Lo;0;L;;;;;N;;;;; +B204;HANGUL SYLLABLE NU;Lo;0;L;;;;;N;;;;; +B205;HANGUL SYLLABLE NUG;Lo;0;L;;;;;N;;;;; +B206;HANGUL SYLLABLE NUGG;Lo;0;L;;;;;N;;;;; +B207;HANGUL SYLLABLE NUGS;Lo;0;L;;;;;N;;;;; +B208;HANGUL SYLLABLE NUN;Lo;0;L;;;;;N;;;;; +B209;HANGUL SYLLABLE NUNI;Lo;0;L;;;;;N;;;;; +B20A;HANGUL SYLLABLE NUNH;Lo;0;L;;;;;N;;;;; +B20B;HANGUL SYLLABLE NUD;Lo;0;L;;;;;N;;;;; +B20C;HANGUL SYLLABLE NUL;Lo;0;L;;;;;N;;;;; +B20D;HANGUL SYLLABLE NULG;Lo;0;L;;;;;N;;;;; +B20E;HANGUL SYLLABLE NULM;Lo;0;L;;;;;N;;;;; +B20F;HANGUL SYLLABLE NULB;Lo;0;L;;;;;N;;;;; +B210;HANGUL SYLLABLE NULS;Lo;0;L;;;;;N;;;;; +B211;HANGUL SYLLABLE NULT;Lo;0;L;;;;;N;;;;; +B212;HANGUL SYLLABLE NULP;Lo;0;L;;;;;N;;;;; +B213;HANGUL SYLLABLE NULH;Lo;0;L;;;;;N;;;;; +B214;HANGUL SYLLABLE NUM;Lo;0;L;;;;;N;;;;; +B215;HANGUL SYLLABLE NUB;Lo;0;L;;;;;N;;;;; +B216;HANGUL SYLLABLE NUBS;Lo;0;L;;;;;N;;;;; +B217;HANGUL SYLLABLE NUS;Lo;0;L;;;;;N;;;;; +B218;HANGUL SYLLABLE NUSS;Lo;0;L;;;;;N;;;;; +B219;HANGUL SYLLABLE NUNG;Lo;0;L;;;;;N;;;;; +B21A;HANGUL SYLLABLE NUJ;Lo;0;L;;;;;N;;;;; +B21B;HANGUL SYLLABLE NUC;Lo;0;L;;;;;N;;;;; +B21C;HANGUL SYLLABLE NUK;Lo;0;L;;;;;N;;;;; +B21D;HANGUL SYLLABLE NUT;Lo;0;L;;;;;N;;;;; +B21E;HANGUL SYLLABLE NUP;Lo;0;L;;;;;N;;;;; +B21F;HANGUL SYLLABLE NUH;Lo;0;L;;;;;N;;;;; +B220;HANGUL SYLLABLE NWEO;Lo;0;L;;;;;N;;;;; +B221;HANGUL SYLLABLE NWEOG;Lo;0;L;;;;;N;;;;; +B222;HANGUL SYLLABLE NWEOGG;Lo;0;L;;;;;N;;;;; +B223;HANGUL SYLLABLE NWEOGS;Lo;0;L;;;;;N;;;;; +B224;HANGUL SYLLABLE NWEON;Lo;0;L;;;;;N;;;;; +B225;HANGUL SYLLABLE NWEONI;Lo;0;L;;;;;N;;;;; +B226;HANGUL SYLLABLE NWEONH;Lo;0;L;;;;;N;;;;; +B227;HANGUL SYLLABLE NWEOD;Lo;0;L;;;;;N;;;;; +B228;HANGUL SYLLABLE NWEOL;Lo;0;L;;;;;N;;;;; +B229;HANGUL SYLLABLE NWEOLG;Lo;0;L;;;;;N;;;;; +B22A;HANGUL SYLLABLE NWEOLM;Lo;0;L;;;;;N;;;;; +B22B;HANGUL SYLLABLE NWEOLB;Lo;0;L;;;;;N;;;;; +B22C;HANGUL SYLLABLE NWEOLS;Lo;0;L;;;;;N;;;;; +B22D;HANGUL SYLLABLE NWEOLT;Lo;0;L;;;;;N;;;;; +B22E;HANGUL SYLLABLE NWEOLP;Lo;0;L;;;;;N;;;;; +B22F;HANGUL SYLLABLE NWEOLH;Lo;0;L;;;;;N;;;;; +B230;HANGUL SYLLABLE NWEOM;Lo;0;L;;;;;N;;;;; +B231;HANGUL SYLLABLE NWEOB;Lo;0;L;;;;;N;;;;; +B232;HANGUL SYLLABLE NWEOBS;Lo;0;L;;;;;N;;;;; +B233;HANGUL SYLLABLE NWEOS;Lo;0;L;;;;;N;;;;; +B234;HANGUL SYLLABLE NWEOSS;Lo;0;L;;;;;N;;;;; +B235;HANGUL SYLLABLE NWEONG;Lo;0;L;;;;;N;;;;; +B236;HANGUL SYLLABLE NWEOJ;Lo;0;L;;;;;N;;;;; +B237;HANGUL SYLLABLE NWEOC;Lo;0;L;;;;;N;;;;; +B238;HANGUL SYLLABLE NWEOK;Lo;0;L;;;;;N;;;;; +B239;HANGUL SYLLABLE NWEOT;Lo;0;L;;;;;N;;;;; +B23A;HANGUL SYLLABLE NWEOP;Lo;0;L;;;;;N;;;;; +B23B;HANGUL SYLLABLE NWEOH;Lo;0;L;;;;;N;;;;; +B23C;HANGUL SYLLABLE NWE;Lo;0;L;;;;;N;;;;; +B23D;HANGUL SYLLABLE NWEG;Lo;0;L;;;;;N;;;;; +B23E;HANGUL SYLLABLE NWEGG;Lo;0;L;;;;;N;;;;; +B23F;HANGUL SYLLABLE NWEGS;Lo;0;L;;;;;N;;;;; +B240;HANGUL SYLLABLE NWEN;Lo;0;L;;;;;N;;;;; +B241;HANGUL SYLLABLE NWENI;Lo;0;L;;;;;N;;;;; +B242;HANGUL SYLLABLE NWENH;Lo;0;L;;;;;N;;;;; +B243;HANGUL SYLLABLE NWED;Lo;0;L;;;;;N;;;;; +B244;HANGUL SYLLABLE NWEL;Lo;0;L;;;;;N;;;;; +B245;HANGUL SYLLABLE NWELG;Lo;0;L;;;;;N;;;;; +B246;HANGUL SYLLABLE NWELM;Lo;0;L;;;;;N;;;;; +B247;HANGUL SYLLABLE NWELB;Lo;0;L;;;;;N;;;;; +B248;HANGUL SYLLABLE NWELS;Lo;0;L;;;;;N;;;;; +B249;HANGUL SYLLABLE NWELT;Lo;0;L;;;;;N;;;;; +B24A;HANGUL SYLLABLE NWELP;Lo;0;L;;;;;N;;;;; +B24B;HANGUL SYLLABLE NWELH;Lo;0;L;;;;;N;;;;; +B24C;HANGUL SYLLABLE NWEM;Lo;0;L;;;;;N;;;;; +B24D;HANGUL SYLLABLE NWEB;Lo;0;L;;;;;N;;;;; +B24E;HANGUL SYLLABLE NWEBS;Lo;0;L;;;;;N;;;;; +B24F;HANGUL SYLLABLE NWES;Lo;0;L;;;;;N;;;;; +B250;HANGUL SYLLABLE NWESS;Lo;0;L;;;;;N;;;;; +B251;HANGUL SYLLABLE NWENG;Lo;0;L;;;;;N;;;;; +B252;HANGUL SYLLABLE NWEJ;Lo;0;L;;;;;N;;;;; +B253;HANGUL SYLLABLE NWEC;Lo;0;L;;;;;N;;;;; +B254;HANGUL SYLLABLE NWEK;Lo;0;L;;;;;N;;;;; +B255;HANGUL SYLLABLE NWET;Lo;0;L;;;;;N;;;;; +B256;HANGUL SYLLABLE NWEP;Lo;0;L;;;;;N;;;;; +B257;HANGUL SYLLABLE NWEH;Lo;0;L;;;;;N;;;;; +B258;HANGUL SYLLABLE NWI;Lo;0;L;;;;;N;;;;; +B259;HANGUL SYLLABLE NWIG;Lo;0;L;;;;;N;;;;; +B25A;HANGUL SYLLABLE NWIGG;Lo;0;L;;;;;N;;;;; +B25B;HANGUL SYLLABLE NWIGS;Lo;0;L;;;;;N;;;;; +B25C;HANGUL SYLLABLE NWIN;Lo;0;L;;;;;N;;;;; +B25D;HANGUL SYLLABLE NWINI;Lo;0;L;;;;;N;;;;; +B25E;HANGUL SYLLABLE NWINH;Lo;0;L;;;;;N;;;;; +B25F;HANGUL SYLLABLE NWID;Lo;0;L;;;;;N;;;;; +B260;HANGUL SYLLABLE NWIL;Lo;0;L;;;;;N;;;;; +B261;HANGUL SYLLABLE NWILG;Lo;0;L;;;;;N;;;;; +B262;HANGUL SYLLABLE NWILM;Lo;0;L;;;;;N;;;;; +B263;HANGUL SYLLABLE NWILB;Lo;0;L;;;;;N;;;;; +B264;HANGUL SYLLABLE NWILS;Lo;0;L;;;;;N;;;;; +B265;HANGUL SYLLABLE NWILT;Lo;0;L;;;;;N;;;;; +B266;HANGUL SYLLABLE NWILP;Lo;0;L;;;;;N;;;;; +B267;HANGUL SYLLABLE NWILH;Lo;0;L;;;;;N;;;;; +B268;HANGUL SYLLABLE NWIM;Lo;0;L;;;;;N;;;;; +B269;HANGUL SYLLABLE NWIB;Lo;0;L;;;;;N;;;;; +B26A;HANGUL SYLLABLE NWIBS;Lo;0;L;;;;;N;;;;; +B26B;HANGUL SYLLABLE NWIS;Lo;0;L;;;;;N;;;;; +B26C;HANGUL SYLLABLE NWISS;Lo;0;L;;;;;N;;;;; +B26D;HANGUL SYLLABLE NWING;Lo;0;L;;;;;N;;;;; +B26E;HANGUL SYLLABLE NWIJ;Lo;0;L;;;;;N;;;;; +B26F;HANGUL SYLLABLE NWIC;Lo;0;L;;;;;N;;;;; +B270;HANGUL SYLLABLE NWIK;Lo;0;L;;;;;N;;;;; +B271;HANGUL SYLLABLE NWIT;Lo;0;L;;;;;N;;;;; +B272;HANGUL SYLLABLE NWIP;Lo;0;L;;;;;N;;;;; +B273;HANGUL SYLLABLE NWIH;Lo;0;L;;;;;N;;;;; +B274;HANGUL SYLLABLE NYU;Lo;0;L;;;;;N;;;;; +B275;HANGUL SYLLABLE NYUG;Lo;0;L;;;;;N;;;;; +B276;HANGUL SYLLABLE NYUGG;Lo;0;L;;;;;N;;;;; +B277;HANGUL SYLLABLE NYUGS;Lo;0;L;;;;;N;;;;; +B278;HANGUL SYLLABLE NYUN;Lo;0;L;;;;;N;;;;; +B279;HANGUL SYLLABLE NYUNI;Lo;0;L;;;;;N;;;;; +B27A;HANGUL SYLLABLE NYUNH;Lo;0;L;;;;;N;;;;; +B27B;HANGUL SYLLABLE NYUD;Lo;0;L;;;;;N;;;;; +B27C;HANGUL SYLLABLE NYUL;Lo;0;L;;;;;N;;;;; +B27D;HANGUL SYLLABLE NYULG;Lo;0;L;;;;;N;;;;; +B27E;HANGUL SYLLABLE NYULM;Lo;0;L;;;;;N;;;;; +B27F;HANGUL SYLLABLE NYULB;Lo;0;L;;;;;N;;;;; +B280;HANGUL SYLLABLE NYULS;Lo;0;L;;;;;N;;;;; +B281;HANGUL SYLLABLE NYULT;Lo;0;L;;;;;N;;;;; +B282;HANGUL SYLLABLE NYULP;Lo;0;L;;;;;N;;;;; +B283;HANGUL SYLLABLE NYULH;Lo;0;L;;;;;N;;;;; +B284;HANGUL SYLLABLE NYUM;Lo;0;L;;;;;N;;;;; +B285;HANGUL SYLLABLE NYUB;Lo;0;L;;;;;N;;;;; +B286;HANGUL SYLLABLE NYUBS;Lo;0;L;;;;;N;;;;; +B287;HANGUL SYLLABLE NYUS;Lo;0;L;;;;;N;;;;; +B288;HANGUL SYLLABLE NYUSS;Lo;0;L;;;;;N;;;;; +B289;HANGUL SYLLABLE NYUNG;Lo;0;L;;;;;N;;;;; +B28A;HANGUL SYLLABLE NYUJ;Lo;0;L;;;;;N;;;;; +B28B;HANGUL SYLLABLE NYUC;Lo;0;L;;;;;N;;;;; +B28C;HANGUL SYLLABLE NYUK;Lo;0;L;;;;;N;;;;; +B28D;HANGUL SYLLABLE NYUT;Lo;0;L;;;;;N;;;;; +B28E;HANGUL SYLLABLE NYUP;Lo;0;L;;;;;N;;;;; +B28F;HANGUL SYLLABLE NYUH;Lo;0;L;;;;;N;;;;; +B290;HANGUL SYLLABLE NEU;Lo;0;L;;;;;N;;;;; +B291;HANGUL SYLLABLE NEUG;Lo;0;L;;;;;N;;;;; +B292;HANGUL SYLLABLE NEUGG;Lo;0;L;;;;;N;;;;; +B293;HANGUL SYLLABLE NEUGS;Lo;0;L;;;;;N;;;;; +B294;HANGUL SYLLABLE NEUN;Lo;0;L;;;;;N;;;;; +B295;HANGUL SYLLABLE NEUNI;Lo;0;L;;;;;N;;;;; +B296;HANGUL SYLLABLE NEUNH;Lo;0;L;;;;;N;;;;; +B297;HANGUL SYLLABLE NEUD;Lo;0;L;;;;;N;;;;; +B298;HANGUL SYLLABLE NEUL;Lo;0;L;;;;;N;;;;; +B299;HANGUL SYLLABLE NEULG;Lo;0;L;;;;;N;;;;; +B29A;HANGUL SYLLABLE NEULM;Lo;0;L;;;;;N;;;;; +B29B;HANGUL SYLLABLE NEULB;Lo;0;L;;;;;N;;;;; +B29C;HANGUL SYLLABLE NEULS;Lo;0;L;;;;;N;;;;; +B29D;HANGUL SYLLABLE NEULT;Lo;0;L;;;;;N;;;;; +B29E;HANGUL SYLLABLE NEULP;Lo;0;L;;;;;N;;;;; +B29F;HANGUL SYLLABLE NEULH;Lo;0;L;;;;;N;;;;; +B2A0;HANGUL SYLLABLE NEUM;Lo;0;L;;;;;N;;;;; +B2A1;HANGUL SYLLABLE NEUB;Lo;0;L;;;;;N;;;;; +B2A2;HANGUL SYLLABLE NEUBS;Lo;0;L;;;;;N;;;;; +B2A3;HANGUL SYLLABLE NEUS;Lo;0;L;;;;;N;;;;; +B2A4;HANGUL SYLLABLE NEUSS;Lo;0;L;;;;;N;;;;; +B2A5;HANGUL SYLLABLE NEUNG;Lo;0;L;;;;;N;;;;; +B2A6;HANGUL SYLLABLE NEUJ;Lo;0;L;;;;;N;;;;; +B2A7;HANGUL SYLLABLE NEUC;Lo;0;L;;;;;N;;;;; +B2A8;HANGUL SYLLABLE NEUK;Lo;0;L;;;;;N;;;;; +B2A9;HANGUL SYLLABLE NEUT;Lo;0;L;;;;;N;;;;; +B2AA;HANGUL SYLLABLE NEUP;Lo;0;L;;;;;N;;;;; +B2AB;HANGUL SYLLABLE NEUH;Lo;0;L;;;;;N;;;;; +B2AC;HANGUL SYLLABLE NYI;Lo;0;L;;;;;N;;;;; +B2AD;HANGUL SYLLABLE NYIG;Lo;0;L;;;;;N;;;;; +B2AE;HANGUL SYLLABLE NYIGG;Lo;0;L;;;;;N;;;;; +B2AF;HANGUL SYLLABLE NYIGS;Lo;0;L;;;;;N;;;;; +B2B0;HANGUL SYLLABLE NYIN;Lo;0;L;;;;;N;;;;; +B2B1;HANGUL SYLLABLE NYINI;Lo;0;L;;;;;N;;;;; +B2B2;HANGUL SYLLABLE NYINH;Lo;0;L;;;;;N;;;;; +B2B3;HANGUL SYLLABLE NYID;Lo;0;L;;;;;N;;;;; +B2B4;HANGUL SYLLABLE NYIL;Lo;0;L;;;;;N;;;;; +B2B5;HANGUL SYLLABLE NYILG;Lo;0;L;;;;;N;;;;; +B2B6;HANGUL SYLLABLE NYILM;Lo;0;L;;;;;N;;;;; +B2B7;HANGUL SYLLABLE NYILB;Lo;0;L;;;;;N;;;;; +B2B8;HANGUL SYLLABLE NYILS;Lo;0;L;;;;;N;;;;; +B2B9;HANGUL SYLLABLE NYILT;Lo;0;L;;;;;N;;;;; +B2BA;HANGUL SYLLABLE NYILP;Lo;0;L;;;;;N;;;;; +B2BB;HANGUL SYLLABLE NYILH;Lo;0;L;;;;;N;;;;; +B2BC;HANGUL SYLLABLE NYIM;Lo;0;L;;;;;N;;;;; +B2BD;HANGUL SYLLABLE NYIB;Lo;0;L;;;;;N;;;;; +B2BE;HANGUL SYLLABLE NYIBS;Lo;0;L;;;;;N;;;;; +B2BF;HANGUL SYLLABLE NYIS;Lo;0;L;;;;;N;;;;; +B2C0;HANGUL SYLLABLE NYISS;Lo;0;L;;;;;N;;;;; +B2C1;HANGUL SYLLABLE NYING;Lo;0;L;;;;;N;;;;; +B2C2;HANGUL SYLLABLE NYIJ;Lo;0;L;;;;;N;;;;; +B2C3;HANGUL SYLLABLE NYIC;Lo;0;L;;;;;N;;;;; +B2C4;HANGUL SYLLABLE NYIK;Lo;0;L;;;;;N;;;;; +B2C5;HANGUL SYLLABLE NYIT;Lo;0;L;;;;;N;;;;; +B2C6;HANGUL SYLLABLE NYIP;Lo;0;L;;;;;N;;;;; +B2C7;HANGUL SYLLABLE NYIH;Lo;0;L;;;;;N;;;;; +B2C8;HANGUL SYLLABLE NI;Lo;0;L;;;;;N;;;;; +B2C9;HANGUL SYLLABLE NIG;Lo;0;L;;;;;N;;;;; +B2CA;HANGUL SYLLABLE NIGG;Lo;0;L;;;;;N;;;;; +B2CB;HANGUL SYLLABLE NIGS;Lo;0;L;;;;;N;;;;; +B2CC;HANGUL SYLLABLE NIN;Lo;0;L;;;;;N;;;;; +B2CD;HANGUL SYLLABLE NINI;Lo;0;L;;;;;N;;;;; +B2CE;HANGUL SYLLABLE NINH;Lo;0;L;;;;;N;;;;; +B2CF;HANGUL SYLLABLE NID;Lo;0;L;;;;;N;;;;; +B2D0;HANGUL SYLLABLE NIL;Lo;0;L;;;;;N;;;;; +B2D1;HANGUL SYLLABLE NILG;Lo;0;L;;;;;N;;;;; +B2D2;HANGUL SYLLABLE NILM;Lo;0;L;;;;;N;;;;; +B2D3;HANGUL SYLLABLE NILB;Lo;0;L;;;;;N;;;;; +B2D4;HANGUL SYLLABLE NILS;Lo;0;L;;;;;N;;;;; +B2D5;HANGUL SYLLABLE NILT;Lo;0;L;;;;;N;;;;; +B2D6;HANGUL SYLLABLE NILP;Lo;0;L;;;;;N;;;;; +B2D7;HANGUL SYLLABLE NILH;Lo;0;L;;;;;N;;;;; +B2D8;HANGUL SYLLABLE NIM;Lo;0;L;;;;;N;;;;; +B2D9;HANGUL SYLLABLE NIB;Lo;0;L;;;;;N;;;;; +B2DA;HANGUL SYLLABLE NIBS;Lo;0;L;;;;;N;;;;; +B2DB;HANGUL SYLLABLE NIS;Lo;0;L;;;;;N;;;;; +B2DC;HANGUL SYLLABLE NISS;Lo;0;L;;;;;N;;;;; +B2DD;HANGUL SYLLABLE NING;Lo;0;L;;;;;N;;;;; +B2DE;HANGUL SYLLABLE NIJ;Lo;0;L;;;;;N;;;;; +B2DF;HANGUL SYLLABLE NIC;Lo;0;L;;;;;N;;;;; +B2E0;HANGUL SYLLABLE NIK;Lo;0;L;;;;;N;;;;; +B2E1;HANGUL SYLLABLE NIT;Lo;0;L;;;;;N;;;;; +B2E2;HANGUL SYLLABLE NIP;Lo;0;L;;;;;N;;;;; +B2E3;HANGUL SYLLABLE NIH;Lo;0;L;;;;;N;;;;; +B2E4;HANGUL SYLLABLE DA;Lo;0;L;;;;;N;;;;; +B2E5;HANGUL SYLLABLE DAG;Lo;0;L;;;;;N;;;;; +B2E6;HANGUL SYLLABLE DAGG;Lo;0;L;;;;;N;;;;; +B2E7;HANGUL SYLLABLE DAGS;Lo;0;L;;;;;N;;;;; +B2E8;HANGUL SYLLABLE DAN;Lo;0;L;;;;;N;;;;; +B2E9;HANGUL SYLLABLE DANI;Lo;0;L;;;;;N;;;;; +B2EA;HANGUL SYLLABLE DANH;Lo;0;L;;;;;N;;;;; +B2EB;HANGUL SYLLABLE DAD;Lo;0;L;;;;;N;;;;; +B2EC;HANGUL SYLLABLE DAL;Lo;0;L;;;;;N;;;;; +B2ED;HANGUL SYLLABLE DALG;Lo;0;L;;;;;N;;;;; +B2EE;HANGUL SYLLABLE DALM;Lo;0;L;;;;;N;;;;; +B2EF;HANGUL SYLLABLE DALB;Lo;0;L;;;;;N;;;;; +B2F0;HANGUL SYLLABLE DALS;Lo;0;L;;;;;N;;;;; +B2F1;HANGUL SYLLABLE DALT;Lo;0;L;;;;;N;;;;; +B2F2;HANGUL SYLLABLE DALP;Lo;0;L;;;;;N;;;;; +B2F3;HANGUL SYLLABLE DALH;Lo;0;L;;;;;N;;;;; +B2F4;HANGUL SYLLABLE DAM;Lo;0;L;;;;;N;;;;; +B2F5;HANGUL SYLLABLE DAB;Lo;0;L;;;;;N;;;;; +B2F6;HANGUL SYLLABLE DABS;Lo;0;L;;;;;N;;;;; +B2F7;HANGUL SYLLABLE DAS;Lo;0;L;;;;;N;;;;; +B2F8;HANGUL SYLLABLE DASS;Lo;0;L;;;;;N;;;;; +B2F9;HANGUL SYLLABLE DANG;Lo;0;L;;;;;N;;;;; +B2FA;HANGUL SYLLABLE DAJ;Lo;0;L;;;;;N;;;;; +B2FB;HANGUL SYLLABLE DAC;Lo;0;L;;;;;N;;;;; +B2FC;HANGUL SYLLABLE DAK;Lo;0;L;;;;;N;;;;; +B2FD;HANGUL SYLLABLE DAT;Lo;0;L;;;;;N;;;;; +B2FE;HANGUL SYLLABLE DAP;Lo;0;L;;;;;N;;;;; +B2FF;HANGUL SYLLABLE DAH;Lo;0;L;;;;;N;;;;; +B300;HANGUL SYLLABLE DAE;Lo;0;L;;;;;N;;;;; +B301;HANGUL SYLLABLE DAEG;Lo;0;L;;;;;N;;;;; +B302;HANGUL SYLLABLE DAEGG;Lo;0;L;;;;;N;;;;; +B303;HANGUL SYLLABLE DAEGS;Lo;0;L;;;;;N;;;;; +B304;HANGUL SYLLABLE DAEN;Lo;0;L;;;;;N;;;;; +B305;HANGUL SYLLABLE DAENI;Lo;0;L;;;;;N;;;;; +B306;HANGUL SYLLABLE DAENH;Lo;0;L;;;;;N;;;;; +B307;HANGUL SYLLABLE DAED;Lo;0;L;;;;;N;;;;; +B308;HANGUL SYLLABLE DAEL;Lo;0;L;;;;;N;;;;; +B309;HANGUL SYLLABLE DAELG;Lo;0;L;;;;;N;;;;; +B30A;HANGUL SYLLABLE DAELM;Lo;0;L;;;;;N;;;;; +B30B;HANGUL SYLLABLE DAELB;Lo;0;L;;;;;N;;;;; +B30C;HANGUL SYLLABLE DAELS;Lo;0;L;;;;;N;;;;; +B30D;HANGUL SYLLABLE DAELT;Lo;0;L;;;;;N;;;;; +B30E;HANGUL SYLLABLE DAELP;Lo;0;L;;;;;N;;;;; +B30F;HANGUL SYLLABLE DAELH;Lo;0;L;;;;;N;;;;; +B310;HANGUL SYLLABLE DAEM;Lo;0;L;;;;;N;;;;; +B311;HANGUL SYLLABLE DAEB;Lo;0;L;;;;;N;;;;; +B312;HANGUL SYLLABLE DAEBS;Lo;0;L;;;;;N;;;;; +B313;HANGUL SYLLABLE DAES;Lo;0;L;;;;;N;;;;; +B314;HANGUL SYLLABLE DAESS;Lo;0;L;;;;;N;;;;; +B315;HANGUL SYLLABLE DAENG;Lo;0;L;;;;;N;;;;; +B316;HANGUL SYLLABLE DAEJ;Lo;0;L;;;;;N;;;;; +B317;HANGUL SYLLABLE DAEC;Lo;0;L;;;;;N;;;;; +B318;HANGUL SYLLABLE DAEK;Lo;0;L;;;;;N;;;;; +B319;HANGUL SYLLABLE DAET;Lo;0;L;;;;;N;;;;; +B31A;HANGUL SYLLABLE DAEP;Lo;0;L;;;;;N;;;;; +B31B;HANGUL SYLLABLE DAEH;Lo;0;L;;;;;N;;;;; +B31C;HANGUL SYLLABLE DYA;Lo;0;L;;;;;N;;;;; +B31D;HANGUL SYLLABLE DYAG;Lo;0;L;;;;;N;;;;; +B31E;HANGUL SYLLABLE DYAGG;Lo;0;L;;;;;N;;;;; +B31F;HANGUL SYLLABLE DYAGS;Lo;0;L;;;;;N;;;;; +B320;HANGUL SYLLABLE DYAN;Lo;0;L;;;;;N;;;;; +B321;HANGUL SYLLABLE DYANI;Lo;0;L;;;;;N;;;;; +B322;HANGUL SYLLABLE DYANH;Lo;0;L;;;;;N;;;;; +B323;HANGUL SYLLABLE DYAD;Lo;0;L;;;;;N;;;;; +B324;HANGUL SYLLABLE DYAL;Lo;0;L;;;;;N;;;;; +B325;HANGUL SYLLABLE DYALG;Lo;0;L;;;;;N;;;;; +B326;HANGUL SYLLABLE DYALM;Lo;0;L;;;;;N;;;;; +B327;HANGUL SYLLABLE DYALB;Lo;0;L;;;;;N;;;;; +B328;HANGUL SYLLABLE DYALS;Lo;0;L;;;;;N;;;;; +B329;HANGUL SYLLABLE DYALT;Lo;0;L;;;;;N;;;;; +B32A;HANGUL SYLLABLE DYALP;Lo;0;L;;;;;N;;;;; +B32B;HANGUL SYLLABLE DYALH;Lo;0;L;;;;;N;;;;; +B32C;HANGUL SYLLABLE DYAM;Lo;0;L;;;;;N;;;;; +B32D;HANGUL SYLLABLE DYAB;Lo;0;L;;;;;N;;;;; +B32E;HANGUL SYLLABLE DYABS;Lo;0;L;;;;;N;;;;; +B32F;HANGUL SYLLABLE DYAS;Lo;0;L;;;;;N;;;;; +B330;HANGUL SYLLABLE DYASS;Lo;0;L;;;;;N;;;;; +B331;HANGUL SYLLABLE DYANG;Lo;0;L;;;;;N;;;;; +B332;HANGUL SYLLABLE DYAJ;Lo;0;L;;;;;N;;;;; +B333;HANGUL SYLLABLE DYAC;Lo;0;L;;;;;N;;;;; +B334;HANGUL SYLLABLE DYAK;Lo;0;L;;;;;N;;;;; +B335;HANGUL SYLLABLE DYAT;Lo;0;L;;;;;N;;;;; +B336;HANGUL SYLLABLE DYAP;Lo;0;L;;;;;N;;;;; +B337;HANGUL SYLLABLE DYAH;Lo;0;L;;;;;N;;;;; +B338;HANGUL SYLLABLE DYAE;Lo;0;L;;;;;N;;;;; +B339;HANGUL SYLLABLE DYAEG;Lo;0;L;;;;;N;;;;; +B33A;HANGUL SYLLABLE DYAEGG;Lo;0;L;;;;;N;;;;; +B33B;HANGUL SYLLABLE DYAEGS;Lo;0;L;;;;;N;;;;; +B33C;HANGUL SYLLABLE DYAEN;Lo;0;L;;;;;N;;;;; +B33D;HANGUL SYLLABLE DYAENI;Lo;0;L;;;;;N;;;;; +B33E;HANGUL SYLLABLE DYAENH;Lo;0;L;;;;;N;;;;; +B33F;HANGUL SYLLABLE DYAED;Lo;0;L;;;;;N;;;;; +B340;HANGUL SYLLABLE DYAEL;Lo;0;L;;;;;N;;;;; +B341;HANGUL SYLLABLE DYAELG;Lo;0;L;;;;;N;;;;; +B342;HANGUL SYLLABLE DYAELM;Lo;0;L;;;;;N;;;;; +B343;HANGUL SYLLABLE DYAELB;Lo;0;L;;;;;N;;;;; +B344;HANGUL SYLLABLE DYAELS;Lo;0;L;;;;;N;;;;; +B345;HANGUL SYLLABLE DYAELT;Lo;0;L;;;;;N;;;;; +B346;HANGUL SYLLABLE DYAELP;Lo;0;L;;;;;N;;;;; +B347;HANGUL SYLLABLE DYAELH;Lo;0;L;;;;;N;;;;; +B348;HANGUL SYLLABLE DYAEM;Lo;0;L;;;;;N;;;;; +B349;HANGUL SYLLABLE DYAEB;Lo;0;L;;;;;N;;;;; +B34A;HANGUL SYLLABLE DYAEBS;Lo;0;L;;;;;N;;;;; +B34B;HANGUL SYLLABLE DYAES;Lo;0;L;;;;;N;;;;; +B34C;HANGUL SYLLABLE DYAESS;Lo;0;L;;;;;N;;;;; +B34D;HANGUL SYLLABLE DYAENG;Lo;0;L;;;;;N;;;;; +B34E;HANGUL SYLLABLE DYAEJ;Lo;0;L;;;;;N;;;;; +B34F;HANGUL SYLLABLE DYAEC;Lo;0;L;;;;;N;;;;; +B350;HANGUL SYLLABLE DYAEK;Lo;0;L;;;;;N;;;;; +B351;HANGUL SYLLABLE DYAET;Lo;0;L;;;;;N;;;;; +B352;HANGUL SYLLABLE DYAEP;Lo;0;L;;;;;N;;;;; +B353;HANGUL SYLLABLE DYAEH;Lo;0;L;;;;;N;;;;; +B354;HANGUL SYLLABLE DEO;Lo;0;L;;;;;N;;;;; +B355;HANGUL SYLLABLE DEOG;Lo;0;L;;;;;N;;;;; +B356;HANGUL SYLLABLE DEOGG;Lo;0;L;;;;;N;;;;; +B357;HANGUL SYLLABLE DEOGS;Lo;0;L;;;;;N;;;;; +B358;HANGUL SYLLABLE DEON;Lo;0;L;;;;;N;;;;; +B359;HANGUL SYLLABLE DEONI;Lo;0;L;;;;;N;;;;; +B35A;HANGUL SYLLABLE DEONH;Lo;0;L;;;;;N;;;;; +B35B;HANGUL SYLLABLE DEOD;Lo;0;L;;;;;N;;;;; +B35C;HANGUL SYLLABLE DEOL;Lo;0;L;;;;;N;;;;; +B35D;HANGUL SYLLABLE DEOLG;Lo;0;L;;;;;N;;;;; +B35E;HANGUL SYLLABLE DEOLM;Lo;0;L;;;;;N;;;;; +B35F;HANGUL SYLLABLE DEOLB;Lo;0;L;;;;;N;;;;; +B360;HANGUL SYLLABLE DEOLS;Lo;0;L;;;;;N;;;;; +B361;HANGUL SYLLABLE DEOLT;Lo;0;L;;;;;N;;;;; +B362;HANGUL SYLLABLE DEOLP;Lo;0;L;;;;;N;;;;; +B363;HANGUL SYLLABLE DEOLH;Lo;0;L;;;;;N;;;;; +B364;HANGUL SYLLABLE DEOM;Lo;0;L;;;;;N;;;;; +B365;HANGUL SYLLABLE DEOB;Lo;0;L;;;;;N;;;;; +B366;HANGUL SYLLABLE DEOBS;Lo;0;L;;;;;N;;;;; +B367;HANGUL SYLLABLE DEOS;Lo;0;L;;;;;N;;;;; +B368;HANGUL SYLLABLE DEOSS;Lo;0;L;;;;;N;;;;; +B369;HANGUL SYLLABLE DEONG;Lo;0;L;;;;;N;;;;; +B36A;HANGUL SYLLABLE DEOJ;Lo;0;L;;;;;N;;;;; +B36B;HANGUL SYLLABLE DEOC;Lo;0;L;;;;;N;;;;; +B36C;HANGUL SYLLABLE DEOK;Lo;0;L;;;;;N;;;;; +B36D;HANGUL SYLLABLE DEOT;Lo;0;L;;;;;N;;;;; +B36E;HANGUL SYLLABLE DEOP;Lo;0;L;;;;;N;;;;; +B36F;HANGUL SYLLABLE DEOH;Lo;0;L;;;;;N;;;;; +B370;HANGUL SYLLABLE DE;Lo;0;L;;;;;N;;;;; +B371;HANGUL SYLLABLE DEG;Lo;0;L;;;;;N;;;;; +B372;HANGUL SYLLABLE DEGG;Lo;0;L;;;;;N;;;;; +B373;HANGUL SYLLABLE DEGS;Lo;0;L;;;;;N;;;;; +B374;HANGUL SYLLABLE DEN;Lo;0;L;;;;;N;;;;; +B375;HANGUL SYLLABLE DENI;Lo;0;L;;;;;N;;;;; +B376;HANGUL SYLLABLE DENH;Lo;0;L;;;;;N;;;;; +B377;HANGUL SYLLABLE DED;Lo;0;L;;;;;N;;;;; +B378;HANGUL SYLLABLE DEL;Lo;0;L;;;;;N;;;;; +B379;HANGUL SYLLABLE DELG;Lo;0;L;;;;;N;;;;; +B37A;HANGUL SYLLABLE DELM;Lo;0;L;;;;;N;;;;; +B37B;HANGUL SYLLABLE DELB;Lo;0;L;;;;;N;;;;; +B37C;HANGUL SYLLABLE DELS;Lo;0;L;;;;;N;;;;; +B37D;HANGUL SYLLABLE DELT;Lo;0;L;;;;;N;;;;; +B37E;HANGUL SYLLABLE DELP;Lo;0;L;;;;;N;;;;; +B37F;HANGUL SYLLABLE DELH;Lo;0;L;;;;;N;;;;; +B380;HANGUL SYLLABLE DEM;Lo;0;L;;;;;N;;;;; +B381;HANGUL SYLLABLE DEB;Lo;0;L;;;;;N;;;;; +B382;HANGUL SYLLABLE DEBS;Lo;0;L;;;;;N;;;;; +B383;HANGUL SYLLABLE DES;Lo;0;L;;;;;N;;;;; +B384;HANGUL SYLLABLE DESS;Lo;0;L;;;;;N;;;;; +B385;HANGUL SYLLABLE DENG;Lo;0;L;;;;;N;;;;; +B386;HANGUL SYLLABLE DEJ;Lo;0;L;;;;;N;;;;; +B387;HANGUL SYLLABLE DEC;Lo;0;L;;;;;N;;;;; +B388;HANGUL SYLLABLE DEK;Lo;0;L;;;;;N;;;;; +B389;HANGUL SYLLABLE DET;Lo;0;L;;;;;N;;;;; +B38A;HANGUL SYLLABLE DEP;Lo;0;L;;;;;N;;;;; +B38B;HANGUL SYLLABLE DEH;Lo;0;L;;;;;N;;;;; +B38C;HANGUL SYLLABLE DYEO;Lo;0;L;;;;;N;;;;; +B38D;HANGUL SYLLABLE DYEOG;Lo;0;L;;;;;N;;;;; +B38E;HANGUL SYLLABLE DYEOGG;Lo;0;L;;;;;N;;;;; +B38F;HANGUL SYLLABLE DYEOGS;Lo;0;L;;;;;N;;;;; +B390;HANGUL SYLLABLE DYEON;Lo;0;L;;;;;N;;;;; +B391;HANGUL SYLLABLE DYEONI;Lo;0;L;;;;;N;;;;; +B392;HANGUL SYLLABLE DYEONH;Lo;0;L;;;;;N;;;;; +B393;HANGUL SYLLABLE DYEOD;Lo;0;L;;;;;N;;;;; +B394;HANGUL SYLLABLE DYEOL;Lo;0;L;;;;;N;;;;; +B395;HANGUL SYLLABLE DYEOLG;Lo;0;L;;;;;N;;;;; +B396;HANGUL SYLLABLE DYEOLM;Lo;0;L;;;;;N;;;;; +B397;HANGUL SYLLABLE DYEOLB;Lo;0;L;;;;;N;;;;; +B398;HANGUL SYLLABLE DYEOLS;Lo;0;L;;;;;N;;;;; +B399;HANGUL SYLLABLE DYEOLT;Lo;0;L;;;;;N;;;;; +B39A;HANGUL SYLLABLE DYEOLP;Lo;0;L;;;;;N;;;;; +B39B;HANGUL SYLLABLE DYEOLH;Lo;0;L;;;;;N;;;;; +B39C;HANGUL SYLLABLE DYEOM;Lo;0;L;;;;;N;;;;; +B39D;HANGUL SYLLABLE DYEOB;Lo;0;L;;;;;N;;;;; +B39E;HANGUL SYLLABLE DYEOBS;Lo;0;L;;;;;N;;;;; +B39F;HANGUL SYLLABLE DYEOS;Lo;0;L;;;;;N;;;;; +B3A0;HANGUL SYLLABLE DYEOSS;Lo;0;L;;;;;N;;;;; +B3A1;HANGUL SYLLABLE DYEONG;Lo;0;L;;;;;N;;;;; +B3A2;HANGUL SYLLABLE DYEOJ;Lo;0;L;;;;;N;;;;; +B3A3;HANGUL SYLLABLE DYEOC;Lo;0;L;;;;;N;;;;; +B3A4;HANGUL SYLLABLE DYEOK;Lo;0;L;;;;;N;;;;; +B3A5;HANGUL SYLLABLE DYEOT;Lo;0;L;;;;;N;;;;; +B3A6;HANGUL SYLLABLE DYEOP;Lo;0;L;;;;;N;;;;; +B3A7;HANGUL SYLLABLE DYEOH;Lo;0;L;;;;;N;;;;; +B3A8;HANGUL SYLLABLE DYE;Lo;0;L;;;;;N;;;;; +B3A9;HANGUL SYLLABLE DYEG;Lo;0;L;;;;;N;;;;; +B3AA;HANGUL SYLLABLE DYEGG;Lo;0;L;;;;;N;;;;; +B3AB;HANGUL SYLLABLE DYEGS;Lo;0;L;;;;;N;;;;; +B3AC;HANGUL SYLLABLE DYEN;Lo;0;L;;;;;N;;;;; +B3AD;HANGUL SYLLABLE DYENI;Lo;0;L;;;;;N;;;;; +B3AE;HANGUL SYLLABLE DYENH;Lo;0;L;;;;;N;;;;; +B3AF;HANGUL SYLLABLE DYED;Lo;0;L;;;;;N;;;;; +B3B0;HANGUL SYLLABLE DYEL;Lo;0;L;;;;;N;;;;; +B3B1;HANGUL SYLLABLE DYELG;Lo;0;L;;;;;N;;;;; +B3B2;HANGUL SYLLABLE DYELM;Lo;0;L;;;;;N;;;;; +B3B3;HANGUL SYLLABLE DYELB;Lo;0;L;;;;;N;;;;; +B3B4;HANGUL SYLLABLE DYELS;Lo;0;L;;;;;N;;;;; +B3B5;HANGUL SYLLABLE DYELT;Lo;0;L;;;;;N;;;;; +B3B6;HANGUL SYLLABLE DYELP;Lo;0;L;;;;;N;;;;; +B3B7;HANGUL SYLLABLE DYELH;Lo;0;L;;;;;N;;;;; +B3B8;HANGUL SYLLABLE DYEM;Lo;0;L;;;;;N;;;;; +B3B9;HANGUL SYLLABLE DYEB;Lo;0;L;;;;;N;;;;; +B3BA;HANGUL SYLLABLE DYEBS;Lo;0;L;;;;;N;;;;; +B3BB;HANGUL SYLLABLE DYES;Lo;0;L;;;;;N;;;;; +B3BC;HANGUL SYLLABLE DYESS;Lo;0;L;;;;;N;;;;; +B3BD;HANGUL SYLLABLE DYENG;Lo;0;L;;;;;N;;;;; +B3BE;HANGUL SYLLABLE DYEJ;Lo;0;L;;;;;N;;;;; +B3BF;HANGUL SYLLABLE DYEC;Lo;0;L;;;;;N;;;;; +B3C0;HANGUL SYLLABLE DYEK;Lo;0;L;;;;;N;;;;; +B3C1;HANGUL SYLLABLE DYET;Lo;0;L;;;;;N;;;;; +B3C2;HANGUL SYLLABLE DYEP;Lo;0;L;;;;;N;;;;; +B3C3;HANGUL SYLLABLE DYEH;Lo;0;L;;;;;N;;;;; +B3C4;HANGUL SYLLABLE DO;Lo;0;L;;;;;N;;;;; +B3C5;HANGUL SYLLABLE DOG;Lo;0;L;;;;;N;;;;; +B3C6;HANGUL SYLLABLE DOGG;Lo;0;L;;;;;N;;;;; +B3C7;HANGUL SYLLABLE DOGS;Lo;0;L;;;;;N;;;;; +B3C8;HANGUL SYLLABLE DON;Lo;0;L;;;;;N;;;;; +B3C9;HANGUL SYLLABLE DONI;Lo;0;L;;;;;N;;;;; +B3CA;HANGUL SYLLABLE DONH;Lo;0;L;;;;;N;;;;; +B3CB;HANGUL SYLLABLE DOD;Lo;0;L;;;;;N;;;;; +B3CC;HANGUL SYLLABLE DOL;Lo;0;L;;;;;N;;;;; +B3CD;HANGUL SYLLABLE DOLG;Lo;0;L;;;;;N;;;;; +B3CE;HANGUL SYLLABLE DOLM;Lo;0;L;;;;;N;;;;; +B3CF;HANGUL SYLLABLE DOLB;Lo;0;L;;;;;N;;;;; +B3D0;HANGUL SYLLABLE DOLS;Lo;0;L;;;;;N;;;;; +B3D1;HANGUL SYLLABLE DOLT;Lo;0;L;;;;;N;;;;; +B3D2;HANGUL SYLLABLE DOLP;Lo;0;L;;;;;N;;;;; +B3D3;HANGUL SYLLABLE DOLH;Lo;0;L;;;;;N;;;;; +B3D4;HANGUL SYLLABLE DOM;Lo;0;L;;;;;N;;;;; +B3D5;HANGUL SYLLABLE DOB;Lo;0;L;;;;;N;;;;; +B3D6;HANGUL SYLLABLE DOBS;Lo;0;L;;;;;N;;;;; +B3D7;HANGUL SYLLABLE DOS;Lo;0;L;;;;;N;;;;; +B3D8;HANGUL SYLLABLE DOSS;Lo;0;L;;;;;N;;;;; +B3D9;HANGUL SYLLABLE DONG;Lo;0;L;;;;;N;;;;; +B3DA;HANGUL SYLLABLE DOJ;Lo;0;L;;;;;N;;;;; +B3DB;HANGUL SYLLABLE DOC;Lo;0;L;;;;;N;;;;; +B3DC;HANGUL SYLLABLE DOK;Lo;0;L;;;;;N;;;;; +B3DD;HANGUL SYLLABLE DOT;Lo;0;L;;;;;N;;;;; +B3DE;HANGUL SYLLABLE DOP;Lo;0;L;;;;;N;;;;; +B3DF;HANGUL SYLLABLE DOH;Lo;0;L;;;;;N;;;;; +B3E0;HANGUL SYLLABLE DWA;Lo;0;L;;;;;N;;;;; +B3E1;HANGUL SYLLABLE DWAG;Lo;0;L;;;;;N;;;;; +B3E2;HANGUL SYLLABLE DWAGG;Lo;0;L;;;;;N;;;;; +B3E3;HANGUL SYLLABLE DWAGS;Lo;0;L;;;;;N;;;;; +B3E4;HANGUL SYLLABLE DWAN;Lo;0;L;;;;;N;;;;; +B3E5;HANGUL SYLLABLE DWANI;Lo;0;L;;;;;N;;;;; +B3E6;HANGUL SYLLABLE DWANH;Lo;0;L;;;;;N;;;;; +B3E7;HANGUL SYLLABLE DWAD;Lo;0;L;;;;;N;;;;; +B3E8;HANGUL SYLLABLE DWAL;Lo;0;L;;;;;N;;;;; +B3E9;HANGUL SYLLABLE DWALG;Lo;0;L;;;;;N;;;;; +B3EA;HANGUL SYLLABLE DWALM;Lo;0;L;;;;;N;;;;; +B3EB;HANGUL SYLLABLE DWALB;Lo;0;L;;;;;N;;;;; +B3EC;HANGUL SYLLABLE DWALS;Lo;0;L;;;;;N;;;;; +B3ED;HANGUL SYLLABLE DWALT;Lo;0;L;;;;;N;;;;; +B3EE;HANGUL SYLLABLE DWALP;Lo;0;L;;;;;N;;;;; +B3EF;HANGUL SYLLABLE DWALH;Lo;0;L;;;;;N;;;;; +B3F0;HANGUL SYLLABLE DWAM;Lo;0;L;;;;;N;;;;; +B3F1;HANGUL SYLLABLE DWAB;Lo;0;L;;;;;N;;;;; +B3F2;HANGUL SYLLABLE DWABS;Lo;0;L;;;;;N;;;;; +B3F3;HANGUL SYLLABLE DWAS;Lo;0;L;;;;;N;;;;; +B3F4;HANGUL SYLLABLE DWASS;Lo;0;L;;;;;N;;;;; +B3F5;HANGUL SYLLABLE DWANG;Lo;0;L;;;;;N;;;;; +B3F6;HANGUL SYLLABLE DWAJ;Lo;0;L;;;;;N;;;;; +B3F7;HANGUL SYLLABLE DWAC;Lo;0;L;;;;;N;;;;; +B3F8;HANGUL SYLLABLE DWAK;Lo;0;L;;;;;N;;;;; +B3F9;HANGUL SYLLABLE DWAT;Lo;0;L;;;;;N;;;;; +B3FA;HANGUL SYLLABLE DWAP;Lo;0;L;;;;;N;;;;; +B3FB;HANGUL SYLLABLE DWAH;Lo;0;L;;;;;N;;;;; +B3FC;HANGUL SYLLABLE DWAE;Lo;0;L;;;;;N;;;;; +B3FD;HANGUL SYLLABLE DWAEG;Lo;0;L;;;;;N;;;;; +B3FE;HANGUL SYLLABLE DWAEGG;Lo;0;L;;;;;N;;;;; +B3FF;HANGUL SYLLABLE DWAEGS;Lo;0;L;;;;;N;;;;; +B400;HANGUL SYLLABLE DWAEN;Lo;0;L;;;;;N;;;;; +B401;HANGUL SYLLABLE DWAENI;Lo;0;L;;;;;N;;;;; +B402;HANGUL SYLLABLE DWAENH;Lo;0;L;;;;;N;;;;; +B403;HANGUL SYLLABLE DWAED;Lo;0;L;;;;;N;;;;; +B404;HANGUL SYLLABLE DWAEL;Lo;0;L;;;;;N;;;;; +B405;HANGUL SYLLABLE DWAELG;Lo;0;L;;;;;N;;;;; +B406;HANGUL SYLLABLE DWAELM;Lo;0;L;;;;;N;;;;; +B407;HANGUL SYLLABLE DWAELB;Lo;0;L;;;;;N;;;;; +B408;HANGUL SYLLABLE DWAELS;Lo;0;L;;;;;N;;;;; +B409;HANGUL SYLLABLE DWAELT;Lo;0;L;;;;;N;;;;; +B40A;HANGUL SYLLABLE DWAELP;Lo;0;L;;;;;N;;;;; +B40B;HANGUL SYLLABLE DWAELH;Lo;0;L;;;;;N;;;;; +B40C;HANGUL SYLLABLE DWAEM;Lo;0;L;;;;;N;;;;; +B40D;HANGUL SYLLABLE DWAEB;Lo;0;L;;;;;N;;;;; +B40E;HANGUL SYLLABLE DWAEBS;Lo;0;L;;;;;N;;;;; +B40F;HANGUL SYLLABLE DWAES;Lo;0;L;;;;;N;;;;; +B410;HANGUL SYLLABLE DWAESS;Lo;0;L;;;;;N;;;;; +B411;HANGUL SYLLABLE DWAENG;Lo;0;L;;;;;N;;;;; +B412;HANGUL SYLLABLE DWAEJ;Lo;0;L;;;;;N;;;;; +B413;HANGUL SYLLABLE DWAEC;Lo;0;L;;;;;N;;;;; +B414;HANGUL SYLLABLE DWAEK;Lo;0;L;;;;;N;;;;; +B415;HANGUL SYLLABLE DWAET;Lo;0;L;;;;;N;;;;; +B416;HANGUL SYLLABLE DWAEP;Lo;0;L;;;;;N;;;;; +B417;HANGUL SYLLABLE DWAEH;Lo;0;L;;;;;N;;;;; +B418;HANGUL SYLLABLE DOE;Lo;0;L;;;;;N;;;;; +B419;HANGUL SYLLABLE DOEG;Lo;0;L;;;;;N;;;;; +B41A;HANGUL SYLLABLE DOEGG;Lo;0;L;;;;;N;;;;; +B41B;HANGUL SYLLABLE DOEGS;Lo;0;L;;;;;N;;;;; +B41C;HANGUL SYLLABLE DOEN;Lo;0;L;;;;;N;;;;; +B41D;HANGUL SYLLABLE DOENI;Lo;0;L;;;;;N;;;;; +B41E;HANGUL SYLLABLE DOENH;Lo;0;L;;;;;N;;;;; +B41F;HANGUL SYLLABLE DOED;Lo;0;L;;;;;N;;;;; +B420;HANGUL SYLLABLE DOEL;Lo;0;L;;;;;N;;;;; +B421;HANGUL SYLLABLE DOELG;Lo;0;L;;;;;N;;;;; +B422;HANGUL SYLLABLE DOELM;Lo;0;L;;;;;N;;;;; +B423;HANGUL SYLLABLE DOELB;Lo;0;L;;;;;N;;;;; +B424;HANGUL SYLLABLE DOELS;Lo;0;L;;;;;N;;;;; +B425;HANGUL SYLLABLE DOELT;Lo;0;L;;;;;N;;;;; +B426;HANGUL SYLLABLE DOELP;Lo;0;L;;;;;N;;;;; +B427;HANGUL SYLLABLE DOELH;Lo;0;L;;;;;N;;;;; +B428;HANGUL SYLLABLE DOEM;Lo;0;L;;;;;N;;;;; +B429;HANGUL SYLLABLE DOEB;Lo;0;L;;;;;N;;;;; +B42A;HANGUL SYLLABLE DOEBS;Lo;0;L;;;;;N;;;;; +B42B;HANGUL SYLLABLE DOES;Lo;0;L;;;;;N;;;;; +B42C;HANGUL SYLLABLE DOESS;Lo;0;L;;;;;N;;;;; +B42D;HANGUL SYLLABLE DOENG;Lo;0;L;;;;;N;;;;; +B42E;HANGUL SYLLABLE DOEJ;Lo;0;L;;;;;N;;;;; +B42F;HANGUL SYLLABLE DOEC;Lo;0;L;;;;;N;;;;; +B430;HANGUL SYLLABLE DOEK;Lo;0;L;;;;;N;;;;; +B431;HANGUL SYLLABLE DOET;Lo;0;L;;;;;N;;;;; +B432;HANGUL SYLLABLE DOEP;Lo;0;L;;;;;N;;;;; +B433;HANGUL SYLLABLE DOEH;Lo;0;L;;;;;N;;;;; +B434;HANGUL SYLLABLE DYO;Lo;0;L;;;;;N;;;;; +B435;HANGUL SYLLABLE DYOG;Lo;0;L;;;;;N;;;;; +B436;HANGUL SYLLABLE DYOGG;Lo;0;L;;;;;N;;;;; +B437;HANGUL SYLLABLE DYOGS;Lo;0;L;;;;;N;;;;; +B438;HANGUL SYLLABLE DYON;Lo;0;L;;;;;N;;;;; +B439;HANGUL SYLLABLE DYONI;Lo;0;L;;;;;N;;;;; +B43A;HANGUL SYLLABLE DYONH;Lo;0;L;;;;;N;;;;; +B43B;HANGUL SYLLABLE DYOD;Lo;0;L;;;;;N;;;;; +B43C;HANGUL SYLLABLE DYOL;Lo;0;L;;;;;N;;;;; +B43D;HANGUL SYLLABLE DYOLG;Lo;0;L;;;;;N;;;;; +B43E;HANGUL SYLLABLE DYOLM;Lo;0;L;;;;;N;;;;; +B43F;HANGUL SYLLABLE DYOLB;Lo;0;L;;;;;N;;;;; +B440;HANGUL SYLLABLE DYOLS;Lo;0;L;;;;;N;;;;; +B441;HANGUL SYLLABLE DYOLT;Lo;0;L;;;;;N;;;;; +B442;HANGUL SYLLABLE DYOLP;Lo;0;L;;;;;N;;;;; +B443;HANGUL SYLLABLE DYOLH;Lo;0;L;;;;;N;;;;; +B444;HANGUL SYLLABLE DYOM;Lo;0;L;;;;;N;;;;; +B445;HANGUL SYLLABLE DYOB;Lo;0;L;;;;;N;;;;; +B446;HANGUL SYLLABLE DYOBS;Lo;0;L;;;;;N;;;;; +B447;HANGUL SYLLABLE DYOS;Lo;0;L;;;;;N;;;;; +B448;HANGUL SYLLABLE DYOSS;Lo;0;L;;;;;N;;;;; +B449;HANGUL SYLLABLE DYONG;Lo;0;L;;;;;N;;;;; +B44A;HANGUL SYLLABLE DYOJ;Lo;0;L;;;;;N;;;;; +B44B;HANGUL SYLLABLE DYOC;Lo;0;L;;;;;N;;;;; +B44C;HANGUL SYLLABLE DYOK;Lo;0;L;;;;;N;;;;; +B44D;HANGUL SYLLABLE DYOT;Lo;0;L;;;;;N;;;;; +B44E;HANGUL SYLLABLE DYOP;Lo;0;L;;;;;N;;;;; +B44F;HANGUL SYLLABLE DYOH;Lo;0;L;;;;;N;;;;; +B450;HANGUL SYLLABLE DU;Lo;0;L;;;;;N;;;;; +B451;HANGUL SYLLABLE DUG;Lo;0;L;;;;;N;;;;; +B452;HANGUL SYLLABLE DUGG;Lo;0;L;;;;;N;;;;; +B453;HANGUL SYLLABLE DUGS;Lo;0;L;;;;;N;;;;; +B454;HANGUL SYLLABLE DUN;Lo;0;L;;;;;N;;;;; +B455;HANGUL SYLLABLE DUNI;Lo;0;L;;;;;N;;;;; +B456;HANGUL SYLLABLE DUNH;Lo;0;L;;;;;N;;;;; +B457;HANGUL SYLLABLE DUD;Lo;0;L;;;;;N;;;;; +B458;HANGUL SYLLABLE DUL;Lo;0;L;;;;;N;;;;; +B459;HANGUL SYLLABLE DULG;Lo;0;L;;;;;N;;;;; +B45A;HANGUL SYLLABLE DULM;Lo;0;L;;;;;N;;;;; +B45B;HANGUL SYLLABLE DULB;Lo;0;L;;;;;N;;;;; +B45C;HANGUL SYLLABLE DULS;Lo;0;L;;;;;N;;;;; +B45D;HANGUL SYLLABLE DULT;Lo;0;L;;;;;N;;;;; +B45E;HANGUL SYLLABLE DULP;Lo;0;L;;;;;N;;;;; +B45F;HANGUL SYLLABLE DULH;Lo;0;L;;;;;N;;;;; +B460;HANGUL SYLLABLE DUM;Lo;0;L;;;;;N;;;;; +B461;HANGUL SYLLABLE DUB;Lo;0;L;;;;;N;;;;; +B462;HANGUL SYLLABLE DUBS;Lo;0;L;;;;;N;;;;; +B463;HANGUL SYLLABLE DUS;Lo;0;L;;;;;N;;;;; +B464;HANGUL SYLLABLE DUSS;Lo;0;L;;;;;N;;;;; +B465;HANGUL SYLLABLE DUNG;Lo;0;L;;;;;N;;;;; +B466;HANGUL SYLLABLE DUJ;Lo;0;L;;;;;N;;;;; +B467;HANGUL SYLLABLE DUC;Lo;0;L;;;;;N;;;;; +B468;HANGUL SYLLABLE DUK;Lo;0;L;;;;;N;;;;; +B469;HANGUL SYLLABLE DUT;Lo;0;L;;;;;N;;;;; +B46A;HANGUL SYLLABLE DUP;Lo;0;L;;;;;N;;;;; +B46B;HANGUL SYLLABLE DUH;Lo;0;L;;;;;N;;;;; +B46C;HANGUL SYLLABLE DWEO;Lo;0;L;;;;;N;;;;; +B46D;HANGUL SYLLABLE DWEOG;Lo;0;L;;;;;N;;;;; +B46E;HANGUL SYLLABLE DWEOGG;Lo;0;L;;;;;N;;;;; +B46F;HANGUL SYLLABLE DWEOGS;Lo;0;L;;;;;N;;;;; +B470;HANGUL SYLLABLE DWEON;Lo;0;L;;;;;N;;;;; +B471;HANGUL SYLLABLE DWEONI;Lo;0;L;;;;;N;;;;; +B472;HANGUL SYLLABLE DWEONH;Lo;0;L;;;;;N;;;;; +B473;HANGUL SYLLABLE DWEOD;Lo;0;L;;;;;N;;;;; +B474;HANGUL SYLLABLE DWEOL;Lo;0;L;;;;;N;;;;; +B475;HANGUL SYLLABLE DWEOLG;Lo;0;L;;;;;N;;;;; +B476;HANGUL SYLLABLE DWEOLM;Lo;0;L;;;;;N;;;;; +B477;HANGUL SYLLABLE DWEOLB;Lo;0;L;;;;;N;;;;; +B478;HANGUL SYLLABLE DWEOLS;Lo;0;L;;;;;N;;;;; +B479;HANGUL SYLLABLE DWEOLT;Lo;0;L;;;;;N;;;;; +B47A;HANGUL SYLLABLE DWEOLP;Lo;0;L;;;;;N;;;;; +B47B;HANGUL SYLLABLE DWEOLH;Lo;0;L;;;;;N;;;;; +B47C;HANGUL SYLLABLE DWEOM;Lo;0;L;;;;;N;;;;; +B47D;HANGUL SYLLABLE DWEOB;Lo;0;L;;;;;N;;;;; +B47E;HANGUL SYLLABLE DWEOBS;Lo;0;L;;;;;N;;;;; +B47F;HANGUL SYLLABLE DWEOS;Lo;0;L;;;;;N;;;;; +B480;HANGUL SYLLABLE DWEOSS;Lo;0;L;;;;;N;;;;; +B481;HANGUL SYLLABLE DWEONG;Lo;0;L;;;;;N;;;;; +B482;HANGUL SYLLABLE DWEOJ;Lo;0;L;;;;;N;;;;; +B483;HANGUL SYLLABLE DWEOC;Lo;0;L;;;;;N;;;;; +B484;HANGUL SYLLABLE DWEOK;Lo;0;L;;;;;N;;;;; +B485;HANGUL SYLLABLE DWEOT;Lo;0;L;;;;;N;;;;; +B486;HANGUL SYLLABLE DWEOP;Lo;0;L;;;;;N;;;;; +B487;HANGUL SYLLABLE DWEOH;Lo;0;L;;;;;N;;;;; +B488;HANGUL SYLLABLE DWE;Lo;0;L;;;;;N;;;;; +B489;HANGUL SYLLABLE DWEG;Lo;0;L;;;;;N;;;;; +B48A;HANGUL SYLLABLE DWEGG;Lo;0;L;;;;;N;;;;; +B48B;HANGUL SYLLABLE DWEGS;Lo;0;L;;;;;N;;;;; +B48C;HANGUL SYLLABLE DWEN;Lo;0;L;;;;;N;;;;; +B48D;HANGUL SYLLABLE DWENI;Lo;0;L;;;;;N;;;;; +B48E;HANGUL SYLLABLE DWENH;Lo;0;L;;;;;N;;;;; +B48F;HANGUL SYLLABLE DWED;Lo;0;L;;;;;N;;;;; +B490;HANGUL SYLLABLE DWEL;Lo;0;L;;;;;N;;;;; +B491;HANGUL SYLLABLE DWELG;Lo;0;L;;;;;N;;;;; +B492;HANGUL SYLLABLE DWELM;Lo;0;L;;;;;N;;;;; +B493;HANGUL SYLLABLE DWELB;Lo;0;L;;;;;N;;;;; +B494;HANGUL SYLLABLE DWELS;Lo;0;L;;;;;N;;;;; +B495;HANGUL SYLLABLE DWELT;Lo;0;L;;;;;N;;;;; +B496;HANGUL SYLLABLE DWELP;Lo;0;L;;;;;N;;;;; +B497;HANGUL SYLLABLE DWELH;Lo;0;L;;;;;N;;;;; +B498;HANGUL SYLLABLE DWEM;Lo;0;L;;;;;N;;;;; +B499;HANGUL SYLLABLE DWEB;Lo;0;L;;;;;N;;;;; +B49A;HANGUL SYLLABLE DWEBS;Lo;0;L;;;;;N;;;;; +B49B;HANGUL SYLLABLE DWES;Lo;0;L;;;;;N;;;;; +B49C;HANGUL SYLLABLE DWESS;Lo;0;L;;;;;N;;;;; +B49D;HANGUL SYLLABLE DWENG;Lo;0;L;;;;;N;;;;; +B49E;HANGUL SYLLABLE DWEJ;Lo;0;L;;;;;N;;;;; +B49F;HANGUL SYLLABLE DWEC;Lo;0;L;;;;;N;;;;; +B4A0;HANGUL SYLLABLE DWEK;Lo;0;L;;;;;N;;;;; +B4A1;HANGUL SYLLABLE DWET;Lo;0;L;;;;;N;;;;; +B4A2;HANGUL SYLLABLE DWEP;Lo;0;L;;;;;N;;;;; +B4A3;HANGUL SYLLABLE DWEH;Lo;0;L;;;;;N;;;;; +B4A4;HANGUL SYLLABLE DWI;Lo;0;L;;;;;N;;;;; +B4A5;HANGUL SYLLABLE DWIG;Lo;0;L;;;;;N;;;;; +B4A6;HANGUL SYLLABLE DWIGG;Lo;0;L;;;;;N;;;;; +B4A7;HANGUL SYLLABLE DWIGS;Lo;0;L;;;;;N;;;;; +B4A8;HANGUL SYLLABLE DWIN;Lo;0;L;;;;;N;;;;; +B4A9;HANGUL SYLLABLE DWINI;Lo;0;L;;;;;N;;;;; +B4AA;HANGUL SYLLABLE DWINH;Lo;0;L;;;;;N;;;;; +B4AB;HANGUL SYLLABLE DWID;Lo;0;L;;;;;N;;;;; +B4AC;HANGUL SYLLABLE DWIL;Lo;0;L;;;;;N;;;;; +B4AD;HANGUL SYLLABLE DWILG;Lo;0;L;;;;;N;;;;; +B4AE;HANGUL SYLLABLE DWILM;Lo;0;L;;;;;N;;;;; +B4AF;HANGUL SYLLABLE DWILB;Lo;0;L;;;;;N;;;;; +B4B0;HANGUL SYLLABLE DWILS;Lo;0;L;;;;;N;;;;; +B4B1;HANGUL SYLLABLE DWILT;Lo;0;L;;;;;N;;;;; +B4B2;HANGUL SYLLABLE DWILP;Lo;0;L;;;;;N;;;;; +B4B3;HANGUL SYLLABLE DWILH;Lo;0;L;;;;;N;;;;; +B4B4;HANGUL SYLLABLE DWIM;Lo;0;L;;;;;N;;;;; +B4B5;HANGUL SYLLABLE DWIB;Lo;0;L;;;;;N;;;;; +B4B6;HANGUL SYLLABLE DWIBS;Lo;0;L;;;;;N;;;;; +B4B7;HANGUL SYLLABLE DWIS;Lo;0;L;;;;;N;;;;; +B4B8;HANGUL SYLLABLE DWISS;Lo;0;L;;;;;N;;;;; +B4B9;HANGUL SYLLABLE DWING;Lo;0;L;;;;;N;;;;; +B4BA;HANGUL SYLLABLE DWIJ;Lo;0;L;;;;;N;;;;; +B4BB;HANGUL SYLLABLE DWIC;Lo;0;L;;;;;N;;;;; +B4BC;HANGUL SYLLABLE DWIK;Lo;0;L;;;;;N;;;;; +B4BD;HANGUL SYLLABLE DWIT;Lo;0;L;;;;;N;;;;; +B4BE;HANGUL SYLLABLE DWIP;Lo;0;L;;;;;N;;;;; +B4BF;HANGUL SYLLABLE DWIH;Lo;0;L;;;;;N;;;;; +B4C0;HANGUL SYLLABLE DYU;Lo;0;L;;;;;N;;;;; +B4C1;HANGUL SYLLABLE DYUG;Lo;0;L;;;;;N;;;;; +B4C2;HANGUL SYLLABLE DYUGG;Lo;0;L;;;;;N;;;;; +B4C3;HANGUL SYLLABLE DYUGS;Lo;0;L;;;;;N;;;;; +B4C4;HANGUL SYLLABLE DYUN;Lo;0;L;;;;;N;;;;; +B4C5;HANGUL SYLLABLE DYUNI;Lo;0;L;;;;;N;;;;; +B4C6;HANGUL SYLLABLE DYUNH;Lo;0;L;;;;;N;;;;; +B4C7;HANGUL SYLLABLE DYUD;Lo;0;L;;;;;N;;;;; +B4C8;HANGUL SYLLABLE DYUL;Lo;0;L;;;;;N;;;;; +B4C9;HANGUL SYLLABLE DYULG;Lo;0;L;;;;;N;;;;; +B4CA;HANGUL SYLLABLE DYULM;Lo;0;L;;;;;N;;;;; +B4CB;HANGUL SYLLABLE DYULB;Lo;0;L;;;;;N;;;;; +B4CC;HANGUL SYLLABLE DYULS;Lo;0;L;;;;;N;;;;; +B4CD;HANGUL SYLLABLE DYULT;Lo;0;L;;;;;N;;;;; +B4CE;HANGUL SYLLABLE DYULP;Lo;0;L;;;;;N;;;;; +B4CF;HANGUL SYLLABLE DYULH;Lo;0;L;;;;;N;;;;; +B4D0;HANGUL SYLLABLE DYUM;Lo;0;L;;;;;N;;;;; +B4D1;HANGUL SYLLABLE DYUB;Lo;0;L;;;;;N;;;;; +B4D2;HANGUL SYLLABLE DYUBS;Lo;0;L;;;;;N;;;;; +B4D3;HANGUL SYLLABLE DYUS;Lo;0;L;;;;;N;;;;; +B4D4;HANGUL SYLLABLE DYUSS;Lo;0;L;;;;;N;;;;; +B4D5;HANGUL SYLLABLE DYUNG;Lo;0;L;;;;;N;;;;; +B4D6;HANGUL SYLLABLE DYUJ;Lo;0;L;;;;;N;;;;; +B4D7;HANGUL SYLLABLE DYUC;Lo;0;L;;;;;N;;;;; +B4D8;HANGUL SYLLABLE DYUK;Lo;0;L;;;;;N;;;;; +B4D9;HANGUL SYLLABLE DYUT;Lo;0;L;;;;;N;;;;; +B4DA;HANGUL SYLLABLE DYUP;Lo;0;L;;;;;N;;;;; +B4DB;HANGUL SYLLABLE DYUH;Lo;0;L;;;;;N;;;;; +B4DC;HANGUL SYLLABLE DEU;Lo;0;L;;;;;N;;;;; +B4DD;HANGUL SYLLABLE DEUG;Lo;0;L;;;;;N;;;;; +B4DE;HANGUL SYLLABLE DEUGG;Lo;0;L;;;;;N;;;;; +B4DF;HANGUL SYLLABLE DEUGS;Lo;0;L;;;;;N;;;;; +B4E0;HANGUL SYLLABLE DEUN;Lo;0;L;;;;;N;;;;; +B4E1;HANGUL SYLLABLE DEUNI;Lo;0;L;;;;;N;;;;; +B4E2;HANGUL SYLLABLE DEUNH;Lo;0;L;;;;;N;;;;; +B4E3;HANGUL SYLLABLE DEUD;Lo;0;L;;;;;N;;;;; +B4E4;HANGUL SYLLABLE DEUL;Lo;0;L;;;;;N;;;;; +B4E5;HANGUL SYLLABLE DEULG;Lo;0;L;;;;;N;;;;; +B4E6;HANGUL SYLLABLE DEULM;Lo;0;L;;;;;N;;;;; +B4E7;HANGUL SYLLABLE DEULB;Lo;0;L;;;;;N;;;;; +B4E8;HANGUL SYLLABLE DEULS;Lo;0;L;;;;;N;;;;; +B4E9;HANGUL SYLLABLE DEULT;Lo;0;L;;;;;N;;;;; +B4EA;HANGUL SYLLABLE DEULP;Lo;0;L;;;;;N;;;;; +B4EB;HANGUL SYLLABLE DEULH;Lo;0;L;;;;;N;;;;; +B4EC;HANGUL SYLLABLE DEUM;Lo;0;L;;;;;N;;;;; +B4ED;HANGUL SYLLABLE DEUB;Lo;0;L;;;;;N;;;;; +B4EE;HANGUL SYLLABLE DEUBS;Lo;0;L;;;;;N;;;;; +B4EF;HANGUL SYLLABLE DEUS;Lo;0;L;;;;;N;;;;; +B4F0;HANGUL SYLLABLE DEUSS;Lo;0;L;;;;;N;;;;; +B4F1;HANGUL SYLLABLE DEUNG;Lo;0;L;;;;;N;;;;; +B4F2;HANGUL SYLLABLE DEUJ;Lo;0;L;;;;;N;;;;; +B4F3;HANGUL SYLLABLE DEUC;Lo;0;L;;;;;N;;;;; +B4F4;HANGUL SYLLABLE DEUK;Lo;0;L;;;;;N;;;;; +B4F5;HANGUL SYLLABLE DEUT;Lo;0;L;;;;;N;;;;; +B4F6;HANGUL SYLLABLE DEUP;Lo;0;L;;;;;N;;;;; +B4F7;HANGUL SYLLABLE DEUH;Lo;0;L;;;;;N;;;;; +B4F8;HANGUL SYLLABLE DYI;Lo;0;L;;;;;N;;;;; +B4F9;HANGUL SYLLABLE DYIG;Lo;0;L;;;;;N;;;;; +B4FA;HANGUL SYLLABLE DYIGG;Lo;0;L;;;;;N;;;;; +B4FB;HANGUL SYLLABLE DYIGS;Lo;0;L;;;;;N;;;;; +B4FC;HANGUL SYLLABLE DYIN;Lo;0;L;;;;;N;;;;; +B4FD;HANGUL SYLLABLE DYINI;Lo;0;L;;;;;N;;;;; +B4FE;HANGUL SYLLABLE DYINH;Lo;0;L;;;;;N;;;;; +B4FF;HANGUL SYLLABLE DYID;Lo;0;L;;;;;N;;;;; +B500;HANGUL SYLLABLE DYIL;Lo;0;L;;;;;N;;;;; +B501;HANGUL SYLLABLE DYILG;Lo;0;L;;;;;N;;;;; +B502;HANGUL SYLLABLE DYILM;Lo;0;L;;;;;N;;;;; +B503;HANGUL SYLLABLE DYILB;Lo;0;L;;;;;N;;;;; +B504;HANGUL SYLLABLE DYILS;Lo;0;L;;;;;N;;;;; +B505;HANGUL SYLLABLE DYILT;Lo;0;L;;;;;N;;;;; +B506;HANGUL SYLLABLE DYILP;Lo;0;L;;;;;N;;;;; +B507;HANGUL SYLLABLE DYILH;Lo;0;L;;;;;N;;;;; +B508;HANGUL SYLLABLE DYIM;Lo;0;L;;;;;N;;;;; +B509;HANGUL SYLLABLE DYIB;Lo;0;L;;;;;N;;;;; +B50A;HANGUL SYLLABLE DYIBS;Lo;0;L;;;;;N;;;;; +B50B;HANGUL SYLLABLE DYIS;Lo;0;L;;;;;N;;;;; +B50C;HANGUL SYLLABLE DYISS;Lo;0;L;;;;;N;;;;; +B50D;HANGUL SYLLABLE DYING;Lo;0;L;;;;;N;;;;; +B50E;HANGUL SYLLABLE DYIJ;Lo;0;L;;;;;N;;;;; +B50F;HANGUL SYLLABLE DYIC;Lo;0;L;;;;;N;;;;; +B510;HANGUL SYLLABLE DYIK;Lo;0;L;;;;;N;;;;; +B511;HANGUL SYLLABLE DYIT;Lo;0;L;;;;;N;;;;; +B512;HANGUL SYLLABLE DYIP;Lo;0;L;;;;;N;;;;; +B513;HANGUL SYLLABLE DYIH;Lo;0;L;;;;;N;;;;; +B514;HANGUL SYLLABLE DI;Lo;0;L;;;;;N;;;;; +B515;HANGUL SYLLABLE DIG;Lo;0;L;;;;;N;;;;; +B516;HANGUL SYLLABLE DIGG;Lo;0;L;;;;;N;;;;; +B517;HANGUL SYLLABLE DIGS;Lo;0;L;;;;;N;;;;; +B518;HANGUL SYLLABLE DIN;Lo;0;L;;;;;N;;;;; +B519;HANGUL SYLLABLE DINI;Lo;0;L;;;;;N;;;;; +B51A;HANGUL SYLLABLE DINH;Lo;0;L;;;;;N;;;;; +B51B;HANGUL SYLLABLE DID;Lo;0;L;;;;;N;;;;; +B51C;HANGUL SYLLABLE DIL;Lo;0;L;;;;;N;;;;; +B51D;HANGUL SYLLABLE DILG;Lo;0;L;;;;;N;;;;; +B51E;HANGUL SYLLABLE DILM;Lo;0;L;;;;;N;;;;; +B51F;HANGUL SYLLABLE DILB;Lo;0;L;;;;;N;;;;; +B520;HANGUL SYLLABLE DILS;Lo;0;L;;;;;N;;;;; +B521;HANGUL SYLLABLE DILT;Lo;0;L;;;;;N;;;;; +B522;HANGUL SYLLABLE DILP;Lo;0;L;;;;;N;;;;; +B523;HANGUL SYLLABLE DILH;Lo;0;L;;;;;N;;;;; +B524;HANGUL SYLLABLE DIM;Lo;0;L;;;;;N;;;;; +B525;HANGUL SYLLABLE DIB;Lo;0;L;;;;;N;;;;; +B526;HANGUL SYLLABLE DIBS;Lo;0;L;;;;;N;;;;; +B527;HANGUL SYLLABLE DIS;Lo;0;L;;;;;N;;;;; +B528;HANGUL SYLLABLE DISS;Lo;0;L;;;;;N;;;;; +B529;HANGUL SYLLABLE DING;Lo;0;L;;;;;N;;;;; +B52A;HANGUL SYLLABLE DIJ;Lo;0;L;;;;;N;;;;; +B52B;HANGUL SYLLABLE DIC;Lo;0;L;;;;;N;;;;; +B52C;HANGUL SYLLABLE DIK;Lo;0;L;;;;;N;;;;; +B52D;HANGUL SYLLABLE DIT;Lo;0;L;;;;;N;;;;; +B52E;HANGUL SYLLABLE DIP;Lo;0;L;;;;;N;;;;; +B52F;HANGUL SYLLABLE DIH;Lo;0;L;;;;;N;;;;; +B530;HANGUL SYLLABLE DDA;Lo;0;L;;;;;N;;;;; +B531;HANGUL SYLLABLE DDAG;Lo;0;L;;;;;N;;;;; +B532;HANGUL SYLLABLE DDAGG;Lo;0;L;;;;;N;;;;; +B533;HANGUL SYLLABLE DDAGS;Lo;0;L;;;;;N;;;;; +B534;HANGUL SYLLABLE DDAN;Lo;0;L;;;;;N;;;;; +B535;HANGUL SYLLABLE DDANI;Lo;0;L;;;;;N;;;;; +B536;HANGUL SYLLABLE DDANH;Lo;0;L;;;;;N;;;;; +B537;HANGUL SYLLABLE DDAD;Lo;0;L;;;;;N;;;;; +B538;HANGUL SYLLABLE DDAL;Lo;0;L;;;;;N;;;;; +B539;HANGUL SYLLABLE DDALG;Lo;0;L;;;;;N;;;;; +B53A;HANGUL SYLLABLE DDALM;Lo;0;L;;;;;N;;;;; +B53B;HANGUL SYLLABLE DDALB;Lo;0;L;;;;;N;;;;; +B53C;HANGUL SYLLABLE DDALS;Lo;0;L;;;;;N;;;;; +B53D;HANGUL SYLLABLE DDALT;Lo;0;L;;;;;N;;;;; +B53E;HANGUL SYLLABLE DDALP;Lo;0;L;;;;;N;;;;; +B53F;HANGUL SYLLABLE DDALH;Lo;0;L;;;;;N;;;;; +B540;HANGUL SYLLABLE DDAM;Lo;0;L;;;;;N;;;;; +B541;HANGUL SYLLABLE DDAB;Lo;0;L;;;;;N;;;;; +B542;HANGUL SYLLABLE DDABS;Lo;0;L;;;;;N;;;;; +B543;HANGUL SYLLABLE DDAS;Lo;0;L;;;;;N;;;;; +B544;HANGUL SYLLABLE DDASS;Lo;0;L;;;;;N;;;;; +B545;HANGUL SYLLABLE DDANG;Lo;0;L;;;;;N;;;;; +B546;HANGUL SYLLABLE DDAJ;Lo;0;L;;;;;N;;;;; +B547;HANGUL SYLLABLE DDAC;Lo;0;L;;;;;N;;;;; +B548;HANGUL SYLLABLE DDAK;Lo;0;L;;;;;N;;;;; +B549;HANGUL SYLLABLE DDAT;Lo;0;L;;;;;N;;;;; +B54A;HANGUL SYLLABLE DDAP;Lo;0;L;;;;;N;;;;; +B54B;HANGUL SYLLABLE DDAH;Lo;0;L;;;;;N;;;;; +B54C;HANGUL SYLLABLE DDAE;Lo;0;L;;;;;N;;;;; +B54D;HANGUL SYLLABLE DDAEG;Lo;0;L;;;;;N;;;;; +B54E;HANGUL SYLLABLE DDAEGG;Lo;0;L;;;;;N;;;;; +B54F;HANGUL SYLLABLE DDAEGS;Lo;0;L;;;;;N;;;;; +B550;HANGUL SYLLABLE DDAEN;Lo;0;L;;;;;N;;;;; +B551;HANGUL SYLLABLE DDAENI;Lo;0;L;;;;;N;;;;; +B552;HANGUL SYLLABLE DDAENH;Lo;0;L;;;;;N;;;;; +B553;HANGUL SYLLABLE DDAED;Lo;0;L;;;;;N;;;;; +B554;HANGUL SYLLABLE DDAEL;Lo;0;L;;;;;N;;;;; +B555;HANGUL SYLLABLE DDAELG;Lo;0;L;;;;;N;;;;; +B556;HANGUL SYLLABLE DDAELM;Lo;0;L;;;;;N;;;;; +B557;HANGUL SYLLABLE DDAELB;Lo;0;L;;;;;N;;;;; +B558;HANGUL SYLLABLE DDAELS;Lo;0;L;;;;;N;;;;; +B559;HANGUL SYLLABLE DDAELT;Lo;0;L;;;;;N;;;;; +B55A;HANGUL SYLLABLE DDAELP;Lo;0;L;;;;;N;;;;; +B55B;HANGUL SYLLABLE DDAELH;Lo;0;L;;;;;N;;;;; +B55C;HANGUL SYLLABLE DDAEM;Lo;0;L;;;;;N;;;;; +B55D;HANGUL SYLLABLE DDAEB;Lo;0;L;;;;;N;;;;; +B55E;HANGUL SYLLABLE DDAEBS;Lo;0;L;;;;;N;;;;; +B55F;HANGUL SYLLABLE DDAES;Lo;0;L;;;;;N;;;;; +B560;HANGUL SYLLABLE DDAESS;Lo;0;L;;;;;N;;;;; +B561;HANGUL SYLLABLE DDAENG;Lo;0;L;;;;;N;;;;; +B562;HANGUL SYLLABLE DDAEJ;Lo;0;L;;;;;N;;;;; +B563;HANGUL SYLLABLE DDAEC;Lo;0;L;;;;;N;;;;; +B564;HANGUL SYLLABLE DDAEK;Lo;0;L;;;;;N;;;;; +B565;HANGUL SYLLABLE DDAET;Lo;0;L;;;;;N;;;;; +B566;HANGUL SYLLABLE DDAEP;Lo;0;L;;;;;N;;;;; +B567;HANGUL SYLLABLE DDAEH;Lo;0;L;;;;;N;;;;; +B568;HANGUL SYLLABLE DDYA;Lo;0;L;;;;;N;;;;; +B569;HANGUL SYLLABLE DDYAG;Lo;0;L;;;;;N;;;;; +B56A;HANGUL SYLLABLE DDYAGG;Lo;0;L;;;;;N;;;;; +B56B;HANGUL SYLLABLE DDYAGS;Lo;0;L;;;;;N;;;;; +B56C;HANGUL SYLLABLE DDYAN;Lo;0;L;;;;;N;;;;; +B56D;HANGUL SYLLABLE DDYANI;Lo;0;L;;;;;N;;;;; +B56E;HANGUL SYLLABLE DDYANH;Lo;0;L;;;;;N;;;;; +B56F;HANGUL SYLLABLE DDYAD;Lo;0;L;;;;;N;;;;; +B570;HANGUL SYLLABLE DDYAL;Lo;0;L;;;;;N;;;;; +B571;HANGUL SYLLABLE DDYALG;Lo;0;L;;;;;N;;;;; +B572;HANGUL SYLLABLE DDYALM;Lo;0;L;;;;;N;;;;; +B573;HANGUL SYLLABLE DDYALB;Lo;0;L;;;;;N;;;;; +B574;HANGUL SYLLABLE DDYALS;Lo;0;L;;;;;N;;;;; +B575;HANGUL SYLLABLE DDYALT;Lo;0;L;;;;;N;;;;; +B576;HANGUL SYLLABLE DDYALP;Lo;0;L;;;;;N;;;;; +B577;HANGUL SYLLABLE DDYALH;Lo;0;L;;;;;N;;;;; +B578;HANGUL SYLLABLE DDYAM;Lo;0;L;;;;;N;;;;; +B579;HANGUL SYLLABLE DDYAB;Lo;0;L;;;;;N;;;;; +B57A;HANGUL SYLLABLE DDYABS;Lo;0;L;;;;;N;;;;; +B57B;HANGUL SYLLABLE DDYAS;Lo;0;L;;;;;N;;;;; +B57C;HANGUL SYLLABLE DDYASS;Lo;0;L;;;;;N;;;;; +B57D;HANGUL SYLLABLE DDYANG;Lo;0;L;;;;;N;;;;; +B57E;HANGUL SYLLABLE DDYAJ;Lo;0;L;;;;;N;;;;; +B57F;HANGUL SYLLABLE DDYAC;Lo;0;L;;;;;N;;;;; +B580;HANGUL SYLLABLE DDYAK;Lo;0;L;;;;;N;;;;; +B581;HANGUL SYLLABLE DDYAT;Lo;0;L;;;;;N;;;;; +B582;HANGUL SYLLABLE DDYAP;Lo;0;L;;;;;N;;;;; +B583;HANGUL SYLLABLE DDYAH;Lo;0;L;;;;;N;;;;; +B584;HANGUL SYLLABLE DDYAE;Lo;0;L;;;;;N;;;;; +B585;HANGUL SYLLABLE DDYAEG;Lo;0;L;;;;;N;;;;; +B586;HANGUL SYLLABLE DDYAEGG;Lo;0;L;;;;;N;;;;; +B587;HANGUL SYLLABLE DDYAEGS;Lo;0;L;;;;;N;;;;; +B588;HANGUL SYLLABLE DDYAEN;Lo;0;L;;;;;N;;;;; +B589;HANGUL SYLLABLE DDYAENI;Lo;0;L;;;;;N;;;;; +B58A;HANGUL SYLLABLE DDYAENH;Lo;0;L;;;;;N;;;;; +B58B;HANGUL SYLLABLE DDYAED;Lo;0;L;;;;;N;;;;; +B58C;HANGUL SYLLABLE DDYAEL;Lo;0;L;;;;;N;;;;; +B58D;HANGUL SYLLABLE DDYAELG;Lo;0;L;;;;;N;;;;; +B58E;HANGUL SYLLABLE DDYAELM;Lo;0;L;;;;;N;;;;; +B58F;HANGUL SYLLABLE DDYAELB;Lo;0;L;;;;;N;;;;; +B590;HANGUL SYLLABLE DDYAELS;Lo;0;L;;;;;N;;;;; +B591;HANGUL SYLLABLE DDYAELT;Lo;0;L;;;;;N;;;;; +B592;HANGUL SYLLABLE DDYAELP;Lo;0;L;;;;;N;;;;; +B593;HANGUL SYLLABLE DDYAELH;Lo;0;L;;;;;N;;;;; +B594;HANGUL SYLLABLE DDYAEM;Lo;0;L;;;;;N;;;;; +B595;HANGUL SYLLABLE DDYAEB;Lo;0;L;;;;;N;;;;; +B596;HANGUL SYLLABLE DDYAEBS;Lo;0;L;;;;;N;;;;; +B597;HANGUL SYLLABLE DDYAES;Lo;0;L;;;;;N;;;;; +B598;HANGUL SYLLABLE DDYAESS;Lo;0;L;;;;;N;;;;; +B599;HANGUL SYLLABLE DDYAENG;Lo;0;L;;;;;N;;;;; +B59A;HANGUL SYLLABLE DDYAEJ;Lo;0;L;;;;;N;;;;; +B59B;HANGUL SYLLABLE DDYAEC;Lo;0;L;;;;;N;;;;; +B59C;HANGUL SYLLABLE DDYAEK;Lo;0;L;;;;;N;;;;; +B59D;HANGUL SYLLABLE DDYAET;Lo;0;L;;;;;N;;;;; +B59E;HANGUL SYLLABLE DDYAEP;Lo;0;L;;;;;N;;;;; +B59F;HANGUL SYLLABLE DDYAEH;Lo;0;L;;;;;N;;;;; +B5A0;HANGUL SYLLABLE DDEO;Lo;0;L;;;;;N;;;;; +B5A1;HANGUL SYLLABLE DDEOG;Lo;0;L;;;;;N;;;;; +B5A2;HANGUL SYLLABLE DDEOGG;Lo;0;L;;;;;N;;;;; +B5A3;HANGUL SYLLABLE DDEOGS;Lo;0;L;;;;;N;;;;; +B5A4;HANGUL SYLLABLE DDEON;Lo;0;L;;;;;N;;;;; +B5A5;HANGUL SYLLABLE DDEONI;Lo;0;L;;;;;N;;;;; +B5A6;HANGUL SYLLABLE DDEONH;Lo;0;L;;;;;N;;;;; +B5A7;HANGUL SYLLABLE DDEOD;Lo;0;L;;;;;N;;;;; +B5A8;HANGUL SYLLABLE DDEOL;Lo;0;L;;;;;N;;;;; +B5A9;HANGUL SYLLABLE DDEOLG;Lo;0;L;;;;;N;;;;; +B5AA;HANGUL SYLLABLE DDEOLM;Lo;0;L;;;;;N;;;;; +B5AB;HANGUL SYLLABLE DDEOLB;Lo;0;L;;;;;N;;;;; +B5AC;HANGUL SYLLABLE DDEOLS;Lo;0;L;;;;;N;;;;; +B5AD;HANGUL SYLLABLE DDEOLT;Lo;0;L;;;;;N;;;;; +B5AE;HANGUL SYLLABLE DDEOLP;Lo;0;L;;;;;N;;;;; +B5AF;HANGUL SYLLABLE DDEOLH;Lo;0;L;;;;;N;;;;; +B5B0;HANGUL SYLLABLE DDEOM;Lo;0;L;;;;;N;;;;; +B5B1;HANGUL SYLLABLE DDEOB;Lo;0;L;;;;;N;;;;; +B5B2;HANGUL SYLLABLE DDEOBS;Lo;0;L;;;;;N;;;;; +B5B3;HANGUL SYLLABLE DDEOS;Lo;0;L;;;;;N;;;;; +B5B4;HANGUL SYLLABLE DDEOSS;Lo;0;L;;;;;N;;;;; +B5B5;HANGUL SYLLABLE DDEONG;Lo;0;L;;;;;N;;;;; +B5B6;HANGUL SYLLABLE DDEOJ;Lo;0;L;;;;;N;;;;; +B5B7;HANGUL SYLLABLE DDEOC;Lo;0;L;;;;;N;;;;; +B5B8;HANGUL SYLLABLE DDEOK;Lo;0;L;;;;;N;;;;; +B5B9;HANGUL SYLLABLE DDEOT;Lo;0;L;;;;;N;;;;; +B5BA;HANGUL SYLLABLE DDEOP;Lo;0;L;;;;;N;;;;; +B5BB;HANGUL SYLLABLE DDEOH;Lo;0;L;;;;;N;;;;; +B5BC;HANGUL SYLLABLE DDE;Lo;0;L;;;;;N;;;;; +B5BD;HANGUL SYLLABLE DDEG;Lo;0;L;;;;;N;;;;; +B5BE;HANGUL SYLLABLE DDEGG;Lo;0;L;;;;;N;;;;; +B5BF;HANGUL SYLLABLE DDEGS;Lo;0;L;;;;;N;;;;; +B5C0;HANGUL SYLLABLE DDEN;Lo;0;L;;;;;N;;;;; +B5C1;HANGUL SYLLABLE DDENI;Lo;0;L;;;;;N;;;;; +B5C2;HANGUL SYLLABLE DDENH;Lo;0;L;;;;;N;;;;; +B5C3;HANGUL SYLLABLE DDED;Lo;0;L;;;;;N;;;;; +B5C4;HANGUL SYLLABLE DDEL;Lo;0;L;;;;;N;;;;; +B5C5;HANGUL SYLLABLE DDELG;Lo;0;L;;;;;N;;;;; +B5C6;HANGUL SYLLABLE DDELM;Lo;0;L;;;;;N;;;;; +B5C7;HANGUL SYLLABLE DDELB;Lo;0;L;;;;;N;;;;; +B5C8;HANGUL SYLLABLE DDELS;Lo;0;L;;;;;N;;;;; +B5C9;HANGUL SYLLABLE DDELT;Lo;0;L;;;;;N;;;;; +B5CA;HANGUL SYLLABLE DDELP;Lo;0;L;;;;;N;;;;; +B5CB;HANGUL SYLLABLE DDELH;Lo;0;L;;;;;N;;;;; +B5CC;HANGUL SYLLABLE DDEM;Lo;0;L;;;;;N;;;;; +B5CD;HANGUL SYLLABLE DDEB;Lo;0;L;;;;;N;;;;; +B5CE;HANGUL SYLLABLE DDEBS;Lo;0;L;;;;;N;;;;; +B5CF;HANGUL SYLLABLE DDES;Lo;0;L;;;;;N;;;;; +B5D0;HANGUL SYLLABLE DDESS;Lo;0;L;;;;;N;;;;; +B5D1;HANGUL SYLLABLE DDENG;Lo;0;L;;;;;N;;;;; +B5D2;HANGUL SYLLABLE DDEJ;Lo;0;L;;;;;N;;;;; +B5D3;HANGUL SYLLABLE DDEC;Lo;0;L;;;;;N;;;;; +B5D4;HANGUL SYLLABLE DDEK;Lo;0;L;;;;;N;;;;; +B5D5;HANGUL SYLLABLE DDET;Lo;0;L;;;;;N;;;;; +B5D6;HANGUL SYLLABLE DDEP;Lo;0;L;;;;;N;;;;; +B5D7;HANGUL SYLLABLE DDEH;Lo;0;L;;;;;N;;;;; +B5D8;HANGUL SYLLABLE DDYEO;Lo;0;L;;;;;N;;;;; +B5D9;HANGUL SYLLABLE DDYEOG;Lo;0;L;;;;;N;;;;; +B5DA;HANGUL SYLLABLE DDYEOGG;Lo;0;L;;;;;N;;;;; +B5DB;HANGUL SYLLABLE DDYEOGS;Lo;0;L;;;;;N;;;;; +B5DC;HANGUL SYLLABLE DDYEON;Lo;0;L;;;;;N;;;;; +B5DD;HANGUL SYLLABLE DDYEONI;Lo;0;L;;;;;N;;;;; +B5DE;HANGUL SYLLABLE DDYEONH;Lo;0;L;;;;;N;;;;; +B5DF;HANGUL SYLLABLE DDYEOD;Lo;0;L;;;;;N;;;;; +B5E0;HANGUL SYLLABLE DDYEOL;Lo;0;L;;;;;N;;;;; +B5E1;HANGUL SYLLABLE DDYEOLG;Lo;0;L;;;;;N;;;;; +B5E2;HANGUL SYLLABLE DDYEOLM;Lo;0;L;;;;;N;;;;; +B5E3;HANGUL SYLLABLE DDYEOLB;Lo;0;L;;;;;N;;;;; +B5E4;HANGUL SYLLABLE DDYEOLS;Lo;0;L;;;;;N;;;;; +B5E5;HANGUL SYLLABLE DDYEOLT;Lo;0;L;;;;;N;;;;; +B5E6;HANGUL SYLLABLE DDYEOLP;Lo;0;L;;;;;N;;;;; +B5E7;HANGUL SYLLABLE DDYEOLH;Lo;0;L;;;;;N;;;;; +B5E8;HANGUL SYLLABLE DDYEOM;Lo;0;L;;;;;N;;;;; +B5E9;HANGUL SYLLABLE DDYEOB;Lo;0;L;;;;;N;;;;; +B5EA;HANGUL SYLLABLE DDYEOBS;Lo;0;L;;;;;N;;;;; +B5EB;HANGUL SYLLABLE DDYEOS;Lo;0;L;;;;;N;;;;; +B5EC;HANGUL SYLLABLE DDYEOSS;Lo;0;L;;;;;N;;;;; +B5ED;HANGUL SYLLABLE DDYEONG;Lo;0;L;;;;;N;;;;; +B5EE;HANGUL SYLLABLE DDYEOJ;Lo;0;L;;;;;N;;;;; +B5EF;HANGUL SYLLABLE DDYEOC;Lo;0;L;;;;;N;;;;; +B5F0;HANGUL SYLLABLE DDYEOK;Lo;0;L;;;;;N;;;;; +B5F1;HANGUL SYLLABLE DDYEOT;Lo;0;L;;;;;N;;;;; +B5F2;HANGUL SYLLABLE DDYEOP;Lo;0;L;;;;;N;;;;; +B5F3;HANGUL SYLLABLE DDYEOH;Lo;0;L;;;;;N;;;;; +B5F4;HANGUL SYLLABLE DDYE;Lo;0;L;;;;;N;;;;; +B5F5;HANGUL SYLLABLE DDYEG;Lo;0;L;;;;;N;;;;; +B5F6;HANGUL SYLLABLE DDYEGG;Lo;0;L;;;;;N;;;;; +B5F7;HANGUL SYLLABLE DDYEGS;Lo;0;L;;;;;N;;;;; +B5F8;HANGUL SYLLABLE DDYEN;Lo;0;L;;;;;N;;;;; +B5F9;HANGUL SYLLABLE DDYENI;Lo;0;L;;;;;N;;;;; +B5FA;HANGUL SYLLABLE DDYENH;Lo;0;L;;;;;N;;;;; +B5FB;HANGUL SYLLABLE DDYED;Lo;0;L;;;;;N;;;;; +B5FC;HANGUL SYLLABLE DDYEL;Lo;0;L;;;;;N;;;;; +B5FD;HANGUL SYLLABLE DDYELG;Lo;0;L;;;;;N;;;;; +B5FE;HANGUL SYLLABLE DDYELM;Lo;0;L;;;;;N;;;;; +B5FF;HANGUL SYLLABLE DDYELB;Lo;0;L;;;;;N;;;;; +B600;HANGUL SYLLABLE DDYELS;Lo;0;L;;;;;N;;;;; +B601;HANGUL SYLLABLE DDYELT;Lo;0;L;;;;;N;;;;; +B602;HANGUL SYLLABLE DDYELP;Lo;0;L;;;;;N;;;;; +B603;HANGUL SYLLABLE DDYELH;Lo;0;L;;;;;N;;;;; +B604;HANGUL SYLLABLE DDYEM;Lo;0;L;;;;;N;;;;; +B605;HANGUL SYLLABLE DDYEB;Lo;0;L;;;;;N;;;;; +B606;HANGUL SYLLABLE DDYEBS;Lo;0;L;;;;;N;;;;; +B607;HANGUL SYLLABLE DDYES;Lo;0;L;;;;;N;;;;; +B608;HANGUL SYLLABLE DDYESS;Lo;0;L;;;;;N;;;;; +B609;HANGUL SYLLABLE DDYENG;Lo;0;L;;;;;N;;;;; +B60A;HANGUL SYLLABLE DDYEJ;Lo;0;L;;;;;N;;;;; +B60B;HANGUL SYLLABLE DDYEC;Lo;0;L;;;;;N;;;;; +B60C;HANGUL SYLLABLE DDYEK;Lo;0;L;;;;;N;;;;; +B60D;HANGUL SYLLABLE DDYET;Lo;0;L;;;;;N;;;;; +B60E;HANGUL SYLLABLE DDYEP;Lo;0;L;;;;;N;;;;; +B60F;HANGUL SYLLABLE DDYEH;Lo;0;L;;;;;N;;;;; +B610;HANGUL SYLLABLE DDO;Lo;0;L;;;;;N;;;;; +B611;HANGUL SYLLABLE DDOG;Lo;0;L;;;;;N;;;;; +B612;HANGUL SYLLABLE DDOGG;Lo;0;L;;;;;N;;;;; +B613;HANGUL SYLLABLE DDOGS;Lo;0;L;;;;;N;;;;; +B614;HANGUL SYLLABLE DDON;Lo;0;L;;;;;N;;;;; +B615;HANGUL SYLLABLE DDONI;Lo;0;L;;;;;N;;;;; +B616;HANGUL SYLLABLE DDONH;Lo;0;L;;;;;N;;;;; +B617;HANGUL SYLLABLE DDOD;Lo;0;L;;;;;N;;;;; +B618;HANGUL SYLLABLE DDOL;Lo;0;L;;;;;N;;;;; +B619;HANGUL SYLLABLE DDOLG;Lo;0;L;;;;;N;;;;; +B61A;HANGUL SYLLABLE DDOLM;Lo;0;L;;;;;N;;;;; +B61B;HANGUL SYLLABLE DDOLB;Lo;0;L;;;;;N;;;;; +B61C;HANGUL SYLLABLE DDOLS;Lo;0;L;;;;;N;;;;; +B61D;HANGUL SYLLABLE DDOLT;Lo;0;L;;;;;N;;;;; +B61E;HANGUL SYLLABLE DDOLP;Lo;0;L;;;;;N;;;;; +B61F;HANGUL SYLLABLE DDOLH;Lo;0;L;;;;;N;;;;; +B620;HANGUL SYLLABLE DDOM;Lo;0;L;;;;;N;;;;; +B621;HANGUL SYLLABLE DDOB;Lo;0;L;;;;;N;;;;; +B622;HANGUL SYLLABLE DDOBS;Lo;0;L;;;;;N;;;;; +B623;HANGUL SYLLABLE DDOS;Lo;0;L;;;;;N;;;;; +B624;HANGUL SYLLABLE DDOSS;Lo;0;L;;;;;N;;;;; +B625;HANGUL SYLLABLE DDONG;Lo;0;L;;;;;N;;;;; +B626;HANGUL SYLLABLE DDOJ;Lo;0;L;;;;;N;;;;; +B627;HANGUL SYLLABLE DDOC;Lo;0;L;;;;;N;;;;; +B628;HANGUL SYLLABLE DDOK;Lo;0;L;;;;;N;;;;; +B629;HANGUL SYLLABLE DDOT;Lo;0;L;;;;;N;;;;; +B62A;HANGUL SYLLABLE DDOP;Lo;0;L;;;;;N;;;;; +B62B;HANGUL SYLLABLE DDOH;Lo;0;L;;;;;N;;;;; +B62C;HANGUL SYLLABLE DDWA;Lo;0;L;;;;;N;;;;; +B62D;HANGUL SYLLABLE DDWAG;Lo;0;L;;;;;N;;;;; +B62E;HANGUL SYLLABLE DDWAGG;Lo;0;L;;;;;N;;;;; +B62F;HANGUL SYLLABLE DDWAGS;Lo;0;L;;;;;N;;;;; +B630;HANGUL SYLLABLE DDWAN;Lo;0;L;;;;;N;;;;; +B631;HANGUL SYLLABLE DDWANI;Lo;0;L;;;;;N;;;;; +B632;HANGUL SYLLABLE DDWANH;Lo;0;L;;;;;N;;;;; +B633;HANGUL SYLLABLE DDWAD;Lo;0;L;;;;;N;;;;; +B634;HANGUL SYLLABLE DDWAL;Lo;0;L;;;;;N;;;;; +B635;HANGUL SYLLABLE DDWALG;Lo;0;L;;;;;N;;;;; +B636;HANGUL SYLLABLE DDWALM;Lo;0;L;;;;;N;;;;; +B637;HANGUL SYLLABLE DDWALB;Lo;0;L;;;;;N;;;;; +B638;HANGUL SYLLABLE DDWALS;Lo;0;L;;;;;N;;;;; +B639;HANGUL SYLLABLE DDWALT;Lo;0;L;;;;;N;;;;; +B63A;HANGUL SYLLABLE DDWALP;Lo;0;L;;;;;N;;;;; +B63B;HANGUL SYLLABLE DDWALH;Lo;0;L;;;;;N;;;;; +B63C;HANGUL SYLLABLE DDWAM;Lo;0;L;;;;;N;;;;; +B63D;HANGUL SYLLABLE DDWAB;Lo;0;L;;;;;N;;;;; +B63E;HANGUL SYLLABLE DDWABS;Lo;0;L;;;;;N;;;;; +B63F;HANGUL SYLLABLE DDWAS;Lo;0;L;;;;;N;;;;; +B640;HANGUL SYLLABLE DDWASS;Lo;0;L;;;;;N;;;;; +B641;HANGUL SYLLABLE DDWANG;Lo;0;L;;;;;N;;;;; +B642;HANGUL SYLLABLE DDWAJ;Lo;0;L;;;;;N;;;;; +B643;HANGUL SYLLABLE DDWAC;Lo;0;L;;;;;N;;;;; +B644;HANGUL SYLLABLE DDWAK;Lo;0;L;;;;;N;;;;; +B645;HANGUL SYLLABLE DDWAT;Lo;0;L;;;;;N;;;;; +B646;HANGUL SYLLABLE DDWAP;Lo;0;L;;;;;N;;;;; +B647;HANGUL SYLLABLE DDWAH;Lo;0;L;;;;;N;;;;; +B648;HANGUL SYLLABLE DDWAE;Lo;0;L;;;;;N;;;;; +B649;HANGUL SYLLABLE DDWAEG;Lo;0;L;;;;;N;;;;; +B64A;HANGUL SYLLABLE DDWAEGG;Lo;0;L;;;;;N;;;;; +B64B;HANGUL SYLLABLE DDWAEGS;Lo;0;L;;;;;N;;;;; +B64C;HANGUL SYLLABLE DDWAEN;Lo;0;L;;;;;N;;;;; +B64D;HANGUL SYLLABLE DDWAENI;Lo;0;L;;;;;N;;;;; +B64E;HANGUL SYLLABLE DDWAENH;Lo;0;L;;;;;N;;;;; +B64F;HANGUL SYLLABLE DDWAED;Lo;0;L;;;;;N;;;;; +B650;HANGUL SYLLABLE DDWAEL;Lo;0;L;;;;;N;;;;; +B651;HANGUL SYLLABLE DDWAELG;Lo;0;L;;;;;N;;;;; +B652;HANGUL SYLLABLE DDWAELM;Lo;0;L;;;;;N;;;;; +B653;HANGUL SYLLABLE DDWAELB;Lo;0;L;;;;;N;;;;; +B654;HANGUL SYLLABLE DDWAELS;Lo;0;L;;;;;N;;;;; +B655;HANGUL SYLLABLE DDWAELT;Lo;0;L;;;;;N;;;;; +B656;HANGUL SYLLABLE DDWAELP;Lo;0;L;;;;;N;;;;; +B657;HANGUL SYLLABLE DDWAELH;Lo;0;L;;;;;N;;;;; +B658;HANGUL SYLLABLE DDWAEM;Lo;0;L;;;;;N;;;;; +B659;HANGUL SYLLABLE DDWAEB;Lo;0;L;;;;;N;;;;; +B65A;HANGUL SYLLABLE DDWAEBS;Lo;0;L;;;;;N;;;;; +B65B;HANGUL SYLLABLE DDWAES;Lo;0;L;;;;;N;;;;; +B65C;HANGUL SYLLABLE DDWAESS;Lo;0;L;;;;;N;;;;; +B65D;HANGUL SYLLABLE DDWAENG;Lo;0;L;;;;;N;;;;; +B65E;HANGUL SYLLABLE DDWAEJ;Lo;0;L;;;;;N;;;;; +B65F;HANGUL SYLLABLE DDWAEC;Lo;0;L;;;;;N;;;;; +B660;HANGUL SYLLABLE DDWAEK;Lo;0;L;;;;;N;;;;; +B661;HANGUL SYLLABLE DDWAET;Lo;0;L;;;;;N;;;;; +B662;HANGUL SYLLABLE DDWAEP;Lo;0;L;;;;;N;;;;; +B663;HANGUL SYLLABLE DDWAEH;Lo;0;L;;;;;N;;;;; +B664;HANGUL SYLLABLE DDOE;Lo;0;L;;;;;N;;;;; +B665;HANGUL SYLLABLE DDOEG;Lo;0;L;;;;;N;;;;; +B666;HANGUL SYLLABLE DDOEGG;Lo;0;L;;;;;N;;;;; +B667;HANGUL SYLLABLE DDOEGS;Lo;0;L;;;;;N;;;;; +B668;HANGUL SYLLABLE DDOEN;Lo;0;L;;;;;N;;;;; +B669;HANGUL SYLLABLE DDOENI;Lo;0;L;;;;;N;;;;; +B66A;HANGUL SYLLABLE DDOENH;Lo;0;L;;;;;N;;;;; +B66B;HANGUL SYLLABLE DDOED;Lo;0;L;;;;;N;;;;; +B66C;HANGUL SYLLABLE DDOEL;Lo;0;L;;;;;N;;;;; +B66D;HANGUL SYLLABLE DDOELG;Lo;0;L;;;;;N;;;;; +B66E;HANGUL SYLLABLE DDOELM;Lo;0;L;;;;;N;;;;; +B66F;HANGUL SYLLABLE DDOELB;Lo;0;L;;;;;N;;;;; +B670;HANGUL SYLLABLE DDOELS;Lo;0;L;;;;;N;;;;; +B671;HANGUL SYLLABLE DDOELT;Lo;0;L;;;;;N;;;;; +B672;HANGUL SYLLABLE DDOELP;Lo;0;L;;;;;N;;;;; +B673;HANGUL SYLLABLE DDOELH;Lo;0;L;;;;;N;;;;; +B674;HANGUL SYLLABLE DDOEM;Lo;0;L;;;;;N;;;;; +B675;HANGUL SYLLABLE DDOEB;Lo;0;L;;;;;N;;;;; +B676;HANGUL SYLLABLE DDOEBS;Lo;0;L;;;;;N;;;;; +B677;HANGUL SYLLABLE DDOES;Lo;0;L;;;;;N;;;;; +B678;HANGUL SYLLABLE DDOESS;Lo;0;L;;;;;N;;;;; +B679;HANGUL SYLLABLE DDOENG;Lo;0;L;;;;;N;;;;; +B67A;HANGUL SYLLABLE DDOEJ;Lo;0;L;;;;;N;;;;; +B67B;HANGUL SYLLABLE DDOEC;Lo;0;L;;;;;N;;;;; +B67C;HANGUL SYLLABLE DDOEK;Lo;0;L;;;;;N;;;;; +B67D;HANGUL SYLLABLE DDOET;Lo;0;L;;;;;N;;;;; +B67E;HANGUL SYLLABLE DDOEP;Lo;0;L;;;;;N;;;;; +B67F;HANGUL SYLLABLE DDOEH;Lo;0;L;;;;;N;;;;; +B680;HANGUL SYLLABLE DDYO;Lo;0;L;;;;;N;;;;; +B681;HANGUL SYLLABLE DDYOG;Lo;0;L;;;;;N;;;;; +B682;HANGUL SYLLABLE DDYOGG;Lo;0;L;;;;;N;;;;; +B683;HANGUL SYLLABLE DDYOGS;Lo;0;L;;;;;N;;;;; +B684;HANGUL SYLLABLE DDYON;Lo;0;L;;;;;N;;;;; +B685;HANGUL SYLLABLE DDYONI;Lo;0;L;;;;;N;;;;; +B686;HANGUL SYLLABLE DDYONH;Lo;0;L;;;;;N;;;;; +B687;HANGUL SYLLABLE DDYOD;Lo;0;L;;;;;N;;;;; +B688;HANGUL SYLLABLE DDYOL;Lo;0;L;;;;;N;;;;; +B689;HANGUL SYLLABLE DDYOLG;Lo;0;L;;;;;N;;;;; +B68A;HANGUL SYLLABLE DDYOLM;Lo;0;L;;;;;N;;;;; +B68B;HANGUL SYLLABLE DDYOLB;Lo;0;L;;;;;N;;;;; +B68C;HANGUL SYLLABLE DDYOLS;Lo;0;L;;;;;N;;;;; +B68D;HANGUL SYLLABLE DDYOLT;Lo;0;L;;;;;N;;;;; +B68E;HANGUL SYLLABLE DDYOLP;Lo;0;L;;;;;N;;;;; +B68F;HANGUL SYLLABLE DDYOLH;Lo;0;L;;;;;N;;;;; +B690;HANGUL SYLLABLE DDYOM;Lo;0;L;;;;;N;;;;; +B691;HANGUL SYLLABLE DDYOB;Lo;0;L;;;;;N;;;;; +B692;HANGUL SYLLABLE DDYOBS;Lo;0;L;;;;;N;;;;; +B693;HANGUL SYLLABLE DDYOS;Lo;0;L;;;;;N;;;;; +B694;HANGUL SYLLABLE DDYOSS;Lo;0;L;;;;;N;;;;; +B695;HANGUL SYLLABLE DDYONG;Lo;0;L;;;;;N;;;;; +B696;HANGUL SYLLABLE DDYOJ;Lo;0;L;;;;;N;;;;; +B697;HANGUL SYLLABLE DDYOC;Lo;0;L;;;;;N;;;;; +B698;HANGUL SYLLABLE DDYOK;Lo;0;L;;;;;N;;;;; +B699;HANGUL SYLLABLE DDYOT;Lo;0;L;;;;;N;;;;; +B69A;HANGUL SYLLABLE DDYOP;Lo;0;L;;;;;N;;;;; +B69B;HANGUL SYLLABLE DDYOH;Lo;0;L;;;;;N;;;;; +B69C;HANGUL SYLLABLE DDU;Lo;0;L;;;;;N;;;;; +B69D;HANGUL SYLLABLE DDUG;Lo;0;L;;;;;N;;;;; +B69E;HANGUL SYLLABLE DDUGG;Lo;0;L;;;;;N;;;;; +B69F;HANGUL SYLLABLE DDUGS;Lo;0;L;;;;;N;;;;; +B6A0;HANGUL SYLLABLE DDUN;Lo;0;L;;;;;N;;;;; +B6A1;HANGUL SYLLABLE DDUNI;Lo;0;L;;;;;N;;;;; +B6A2;HANGUL SYLLABLE DDUNH;Lo;0;L;;;;;N;;;;; +B6A3;HANGUL SYLLABLE DDUD;Lo;0;L;;;;;N;;;;; +B6A4;HANGUL SYLLABLE DDUL;Lo;0;L;;;;;N;;;;; +B6A5;HANGUL SYLLABLE DDULG;Lo;0;L;;;;;N;;;;; +B6A6;HANGUL SYLLABLE DDULM;Lo;0;L;;;;;N;;;;; +B6A7;HANGUL SYLLABLE DDULB;Lo;0;L;;;;;N;;;;; +B6A8;HANGUL SYLLABLE DDULS;Lo;0;L;;;;;N;;;;; +B6A9;HANGUL SYLLABLE DDULT;Lo;0;L;;;;;N;;;;; +B6AA;HANGUL SYLLABLE DDULP;Lo;0;L;;;;;N;;;;; +B6AB;HANGUL SYLLABLE DDULH;Lo;0;L;;;;;N;;;;; +B6AC;HANGUL SYLLABLE DDUM;Lo;0;L;;;;;N;;;;; +B6AD;HANGUL SYLLABLE DDUB;Lo;0;L;;;;;N;;;;; +B6AE;HANGUL SYLLABLE DDUBS;Lo;0;L;;;;;N;;;;; +B6AF;HANGUL SYLLABLE DDUS;Lo;0;L;;;;;N;;;;; +B6B0;HANGUL SYLLABLE DDUSS;Lo;0;L;;;;;N;;;;; +B6B1;HANGUL SYLLABLE DDUNG;Lo;0;L;;;;;N;;;;; +B6B2;HANGUL SYLLABLE DDUJ;Lo;0;L;;;;;N;;;;; +B6B3;HANGUL SYLLABLE DDUC;Lo;0;L;;;;;N;;;;; +B6B4;HANGUL SYLLABLE DDUK;Lo;0;L;;;;;N;;;;; +B6B5;HANGUL SYLLABLE DDUT;Lo;0;L;;;;;N;;;;; +B6B6;HANGUL SYLLABLE DDUP;Lo;0;L;;;;;N;;;;; +B6B7;HANGUL SYLLABLE DDUH;Lo;0;L;;;;;N;;;;; +B6B8;HANGUL SYLLABLE DDWEO;Lo;0;L;;;;;N;;;;; +B6B9;HANGUL SYLLABLE DDWEOG;Lo;0;L;;;;;N;;;;; +B6BA;HANGUL SYLLABLE DDWEOGG;Lo;0;L;;;;;N;;;;; +B6BB;HANGUL SYLLABLE DDWEOGS;Lo;0;L;;;;;N;;;;; +B6BC;HANGUL SYLLABLE DDWEON;Lo;0;L;;;;;N;;;;; +B6BD;HANGUL SYLLABLE DDWEONI;Lo;0;L;;;;;N;;;;; +B6BE;HANGUL SYLLABLE DDWEONH;Lo;0;L;;;;;N;;;;; +B6BF;HANGUL SYLLABLE DDWEOD;Lo;0;L;;;;;N;;;;; +B6C0;HANGUL SYLLABLE DDWEOL;Lo;0;L;;;;;N;;;;; +B6C1;HANGUL SYLLABLE DDWEOLG;Lo;0;L;;;;;N;;;;; +B6C2;HANGUL SYLLABLE DDWEOLM;Lo;0;L;;;;;N;;;;; +B6C3;HANGUL SYLLABLE DDWEOLB;Lo;0;L;;;;;N;;;;; +B6C4;HANGUL SYLLABLE DDWEOLS;Lo;0;L;;;;;N;;;;; +B6C5;HANGUL SYLLABLE DDWEOLT;Lo;0;L;;;;;N;;;;; +B6C6;HANGUL SYLLABLE DDWEOLP;Lo;0;L;;;;;N;;;;; +B6C7;HANGUL SYLLABLE DDWEOLH;Lo;0;L;;;;;N;;;;; +B6C8;HANGUL SYLLABLE DDWEOM;Lo;0;L;;;;;N;;;;; +B6C9;HANGUL SYLLABLE DDWEOB;Lo;0;L;;;;;N;;;;; +B6CA;HANGUL SYLLABLE DDWEOBS;Lo;0;L;;;;;N;;;;; +B6CB;HANGUL SYLLABLE DDWEOS;Lo;0;L;;;;;N;;;;; +B6CC;HANGUL SYLLABLE DDWEOSS;Lo;0;L;;;;;N;;;;; +B6CD;HANGUL SYLLABLE DDWEONG;Lo;0;L;;;;;N;;;;; +B6CE;HANGUL SYLLABLE DDWEOJ;Lo;0;L;;;;;N;;;;; +B6CF;HANGUL SYLLABLE DDWEOC;Lo;0;L;;;;;N;;;;; +B6D0;HANGUL SYLLABLE DDWEOK;Lo;0;L;;;;;N;;;;; +B6D1;HANGUL SYLLABLE DDWEOT;Lo;0;L;;;;;N;;;;; +B6D2;HANGUL SYLLABLE DDWEOP;Lo;0;L;;;;;N;;;;; +B6D3;HANGUL SYLLABLE DDWEOH;Lo;0;L;;;;;N;;;;; +B6D4;HANGUL SYLLABLE DDWE;Lo;0;L;;;;;N;;;;; +B6D5;HANGUL SYLLABLE DDWEG;Lo;0;L;;;;;N;;;;; +B6D6;HANGUL SYLLABLE DDWEGG;Lo;0;L;;;;;N;;;;; +B6D7;HANGUL SYLLABLE DDWEGS;Lo;0;L;;;;;N;;;;; +B6D8;HANGUL SYLLABLE DDWEN;Lo;0;L;;;;;N;;;;; +B6D9;HANGUL SYLLABLE DDWENI;Lo;0;L;;;;;N;;;;; +B6DA;HANGUL SYLLABLE DDWENH;Lo;0;L;;;;;N;;;;; +B6DB;HANGUL SYLLABLE DDWED;Lo;0;L;;;;;N;;;;; +B6DC;HANGUL SYLLABLE DDWEL;Lo;0;L;;;;;N;;;;; +B6DD;HANGUL SYLLABLE DDWELG;Lo;0;L;;;;;N;;;;; +B6DE;HANGUL SYLLABLE DDWELM;Lo;0;L;;;;;N;;;;; +B6DF;HANGUL SYLLABLE DDWELB;Lo;0;L;;;;;N;;;;; +B6E0;HANGUL SYLLABLE DDWELS;Lo;0;L;;;;;N;;;;; +B6E1;HANGUL SYLLABLE DDWELT;Lo;0;L;;;;;N;;;;; +B6E2;HANGUL SYLLABLE DDWELP;Lo;0;L;;;;;N;;;;; +B6E3;HANGUL SYLLABLE DDWELH;Lo;0;L;;;;;N;;;;; +B6E4;HANGUL SYLLABLE DDWEM;Lo;0;L;;;;;N;;;;; +B6E5;HANGUL SYLLABLE DDWEB;Lo;0;L;;;;;N;;;;; +B6E6;HANGUL SYLLABLE DDWEBS;Lo;0;L;;;;;N;;;;; +B6E7;HANGUL SYLLABLE DDWES;Lo;0;L;;;;;N;;;;; +B6E8;HANGUL SYLLABLE DDWESS;Lo;0;L;;;;;N;;;;; +B6E9;HANGUL SYLLABLE DDWENG;Lo;0;L;;;;;N;;;;; +B6EA;HANGUL SYLLABLE DDWEJ;Lo;0;L;;;;;N;;;;; +B6EB;HANGUL SYLLABLE DDWEC;Lo;0;L;;;;;N;;;;; +B6EC;HANGUL SYLLABLE DDWEK;Lo;0;L;;;;;N;;;;; +B6ED;HANGUL SYLLABLE DDWET;Lo;0;L;;;;;N;;;;; +B6EE;HANGUL SYLLABLE DDWEP;Lo;0;L;;;;;N;;;;; +B6EF;HANGUL SYLLABLE DDWEH;Lo;0;L;;;;;N;;;;; +B6F0;HANGUL SYLLABLE DDWI;Lo;0;L;;;;;N;;;;; +B6F1;HANGUL SYLLABLE DDWIG;Lo;0;L;;;;;N;;;;; +B6F2;HANGUL SYLLABLE DDWIGG;Lo;0;L;;;;;N;;;;; +B6F3;HANGUL SYLLABLE DDWIGS;Lo;0;L;;;;;N;;;;; +B6F4;HANGUL SYLLABLE DDWIN;Lo;0;L;;;;;N;;;;; +B6F5;HANGUL SYLLABLE DDWINI;Lo;0;L;;;;;N;;;;; +B6F6;HANGUL SYLLABLE DDWINH;Lo;0;L;;;;;N;;;;; +B6F7;HANGUL SYLLABLE DDWID;Lo;0;L;;;;;N;;;;; +B6F8;HANGUL SYLLABLE DDWIL;Lo;0;L;;;;;N;;;;; +B6F9;HANGUL SYLLABLE DDWILG;Lo;0;L;;;;;N;;;;; +B6FA;HANGUL SYLLABLE DDWILM;Lo;0;L;;;;;N;;;;; +B6FB;HANGUL SYLLABLE DDWILB;Lo;0;L;;;;;N;;;;; +B6FC;HANGUL SYLLABLE DDWILS;Lo;0;L;;;;;N;;;;; +B6FD;HANGUL SYLLABLE DDWILT;Lo;0;L;;;;;N;;;;; +B6FE;HANGUL SYLLABLE DDWILP;Lo;0;L;;;;;N;;;;; +B6FF;HANGUL SYLLABLE DDWILH;Lo;0;L;;;;;N;;;;; +B700;HANGUL SYLLABLE DDWIM;Lo;0;L;;;;;N;;;;; +B701;HANGUL SYLLABLE DDWIB;Lo;0;L;;;;;N;;;;; +B702;HANGUL SYLLABLE DDWIBS;Lo;0;L;;;;;N;;;;; +B703;HANGUL SYLLABLE DDWIS;Lo;0;L;;;;;N;;;;; +B704;HANGUL SYLLABLE DDWISS;Lo;0;L;;;;;N;;;;; +B705;HANGUL SYLLABLE DDWING;Lo;0;L;;;;;N;;;;; +B706;HANGUL SYLLABLE DDWIJ;Lo;0;L;;;;;N;;;;; +B707;HANGUL SYLLABLE DDWIC;Lo;0;L;;;;;N;;;;; +B708;HANGUL SYLLABLE DDWIK;Lo;0;L;;;;;N;;;;; +B709;HANGUL SYLLABLE DDWIT;Lo;0;L;;;;;N;;;;; +B70A;HANGUL SYLLABLE DDWIP;Lo;0;L;;;;;N;;;;; +B70B;HANGUL SYLLABLE DDWIH;Lo;0;L;;;;;N;;;;; +B70C;HANGUL SYLLABLE DDYU;Lo;0;L;;;;;N;;;;; +B70D;HANGUL SYLLABLE DDYUG;Lo;0;L;;;;;N;;;;; +B70E;HANGUL SYLLABLE DDYUGG;Lo;0;L;;;;;N;;;;; +B70F;HANGUL SYLLABLE DDYUGS;Lo;0;L;;;;;N;;;;; +B710;HANGUL SYLLABLE DDYUN;Lo;0;L;;;;;N;;;;; +B711;HANGUL SYLLABLE DDYUNI;Lo;0;L;;;;;N;;;;; +B712;HANGUL SYLLABLE DDYUNH;Lo;0;L;;;;;N;;;;; +B713;HANGUL SYLLABLE DDYUD;Lo;0;L;;;;;N;;;;; +B714;HANGUL SYLLABLE DDYUL;Lo;0;L;;;;;N;;;;; +B715;HANGUL SYLLABLE DDYULG;Lo;0;L;;;;;N;;;;; +B716;HANGUL SYLLABLE DDYULM;Lo;0;L;;;;;N;;;;; +B717;HANGUL SYLLABLE DDYULB;Lo;0;L;;;;;N;;;;; +B718;HANGUL SYLLABLE DDYULS;Lo;0;L;;;;;N;;;;; +B719;HANGUL SYLLABLE DDYULT;Lo;0;L;;;;;N;;;;; +B71A;HANGUL SYLLABLE DDYULP;Lo;0;L;;;;;N;;;;; +B71B;HANGUL SYLLABLE DDYULH;Lo;0;L;;;;;N;;;;; +B71C;HANGUL SYLLABLE DDYUM;Lo;0;L;;;;;N;;;;; +B71D;HANGUL SYLLABLE DDYUB;Lo;0;L;;;;;N;;;;; +B71E;HANGUL SYLLABLE DDYUBS;Lo;0;L;;;;;N;;;;; +B71F;HANGUL SYLLABLE DDYUS;Lo;0;L;;;;;N;;;;; +B720;HANGUL SYLLABLE DDYUSS;Lo;0;L;;;;;N;;;;; +B721;HANGUL SYLLABLE DDYUNG;Lo;0;L;;;;;N;;;;; +B722;HANGUL SYLLABLE DDYUJ;Lo;0;L;;;;;N;;;;; +B723;HANGUL SYLLABLE DDYUC;Lo;0;L;;;;;N;;;;; +B724;HANGUL SYLLABLE DDYUK;Lo;0;L;;;;;N;;;;; +B725;HANGUL SYLLABLE DDYUT;Lo;0;L;;;;;N;;;;; +B726;HANGUL SYLLABLE DDYUP;Lo;0;L;;;;;N;;;;; +B727;HANGUL SYLLABLE DDYUH;Lo;0;L;;;;;N;;;;; +B728;HANGUL SYLLABLE DDEU;Lo;0;L;;;;;N;;;;; +B729;HANGUL SYLLABLE DDEUG;Lo;0;L;;;;;N;;;;; +B72A;HANGUL SYLLABLE DDEUGG;Lo;0;L;;;;;N;;;;; +B72B;HANGUL SYLLABLE DDEUGS;Lo;0;L;;;;;N;;;;; +B72C;HANGUL SYLLABLE DDEUN;Lo;0;L;;;;;N;;;;; +B72D;HANGUL SYLLABLE DDEUNI;Lo;0;L;;;;;N;;;;; +B72E;HANGUL SYLLABLE DDEUNH;Lo;0;L;;;;;N;;;;; +B72F;HANGUL SYLLABLE DDEUD;Lo;0;L;;;;;N;;;;; +B730;HANGUL SYLLABLE DDEUL;Lo;0;L;;;;;N;;;;; +B731;HANGUL SYLLABLE DDEULG;Lo;0;L;;;;;N;;;;; +B732;HANGUL SYLLABLE DDEULM;Lo;0;L;;;;;N;;;;; +B733;HANGUL SYLLABLE DDEULB;Lo;0;L;;;;;N;;;;; +B734;HANGUL SYLLABLE DDEULS;Lo;0;L;;;;;N;;;;; +B735;HANGUL SYLLABLE DDEULT;Lo;0;L;;;;;N;;;;; +B736;HANGUL SYLLABLE DDEULP;Lo;0;L;;;;;N;;;;; +B737;HANGUL SYLLABLE DDEULH;Lo;0;L;;;;;N;;;;; +B738;HANGUL SYLLABLE DDEUM;Lo;0;L;;;;;N;;;;; +B739;HANGUL SYLLABLE DDEUB;Lo;0;L;;;;;N;;;;; +B73A;HANGUL SYLLABLE DDEUBS;Lo;0;L;;;;;N;;;;; +B73B;HANGUL SYLLABLE DDEUS;Lo;0;L;;;;;N;;;;; +B73C;HANGUL SYLLABLE DDEUSS;Lo;0;L;;;;;N;;;;; +B73D;HANGUL SYLLABLE DDEUNG;Lo;0;L;;;;;N;;;;; +B73E;HANGUL SYLLABLE DDEUJ;Lo;0;L;;;;;N;;;;; +B73F;HANGUL SYLLABLE DDEUC;Lo;0;L;;;;;N;;;;; +B740;HANGUL SYLLABLE DDEUK;Lo;0;L;;;;;N;;;;; +B741;HANGUL SYLLABLE DDEUT;Lo;0;L;;;;;N;;;;; +B742;HANGUL SYLLABLE DDEUP;Lo;0;L;;;;;N;;;;; +B743;HANGUL SYLLABLE DDEUH;Lo;0;L;;;;;N;;;;; +B744;HANGUL SYLLABLE DDYI;Lo;0;L;;;;;N;;;;; +B745;HANGUL SYLLABLE DDYIG;Lo;0;L;;;;;N;;;;; +B746;HANGUL SYLLABLE DDYIGG;Lo;0;L;;;;;N;;;;; +B747;HANGUL SYLLABLE DDYIGS;Lo;0;L;;;;;N;;;;; +B748;HANGUL SYLLABLE DDYIN;Lo;0;L;;;;;N;;;;; +B749;HANGUL SYLLABLE DDYINI;Lo;0;L;;;;;N;;;;; +B74A;HANGUL SYLLABLE DDYINH;Lo;0;L;;;;;N;;;;; +B74B;HANGUL SYLLABLE DDYID;Lo;0;L;;;;;N;;;;; +B74C;HANGUL SYLLABLE DDYIL;Lo;0;L;;;;;N;;;;; +B74D;HANGUL SYLLABLE DDYILG;Lo;0;L;;;;;N;;;;; +B74E;HANGUL SYLLABLE DDYILM;Lo;0;L;;;;;N;;;;; +B74F;HANGUL SYLLABLE DDYILB;Lo;0;L;;;;;N;;;;; +B750;HANGUL SYLLABLE DDYILS;Lo;0;L;;;;;N;;;;; +B751;HANGUL SYLLABLE DDYILT;Lo;0;L;;;;;N;;;;; +B752;HANGUL SYLLABLE DDYILP;Lo;0;L;;;;;N;;;;; +B753;HANGUL SYLLABLE DDYILH;Lo;0;L;;;;;N;;;;; +B754;HANGUL SYLLABLE DDYIM;Lo;0;L;;;;;N;;;;; +B755;HANGUL SYLLABLE DDYIB;Lo;0;L;;;;;N;;;;; +B756;HANGUL SYLLABLE DDYIBS;Lo;0;L;;;;;N;;;;; +B757;HANGUL SYLLABLE DDYIS;Lo;0;L;;;;;N;;;;; +B758;HANGUL SYLLABLE DDYISS;Lo;0;L;;;;;N;;;;; +B759;HANGUL SYLLABLE DDYING;Lo;0;L;;;;;N;;;;; +B75A;HANGUL SYLLABLE DDYIJ;Lo;0;L;;;;;N;;;;; +B75B;HANGUL SYLLABLE DDYIC;Lo;0;L;;;;;N;;;;; +B75C;HANGUL SYLLABLE DDYIK;Lo;0;L;;;;;N;;;;; +B75D;HANGUL SYLLABLE DDYIT;Lo;0;L;;;;;N;;;;; +B75E;HANGUL SYLLABLE DDYIP;Lo;0;L;;;;;N;;;;; +B75F;HANGUL SYLLABLE DDYIH;Lo;0;L;;;;;N;;;;; +B760;HANGUL SYLLABLE DDI;Lo;0;L;;;;;N;;;;; +B761;HANGUL SYLLABLE DDIG;Lo;0;L;;;;;N;;;;; +B762;HANGUL SYLLABLE DDIGG;Lo;0;L;;;;;N;;;;; +B763;HANGUL SYLLABLE DDIGS;Lo;0;L;;;;;N;;;;; +B764;HANGUL SYLLABLE DDIN;Lo;0;L;;;;;N;;;;; +B765;HANGUL SYLLABLE DDINI;Lo;0;L;;;;;N;;;;; +B766;HANGUL SYLLABLE DDINH;Lo;0;L;;;;;N;;;;; +B767;HANGUL SYLLABLE DDID;Lo;0;L;;;;;N;;;;; +B768;HANGUL SYLLABLE DDIL;Lo;0;L;;;;;N;;;;; +B769;HANGUL SYLLABLE DDILG;Lo;0;L;;;;;N;;;;; +B76A;HANGUL SYLLABLE DDILM;Lo;0;L;;;;;N;;;;; +B76B;HANGUL SYLLABLE DDILB;Lo;0;L;;;;;N;;;;; +B76C;HANGUL SYLLABLE DDILS;Lo;0;L;;;;;N;;;;; +B76D;HANGUL SYLLABLE DDILT;Lo;0;L;;;;;N;;;;; +B76E;HANGUL SYLLABLE DDILP;Lo;0;L;;;;;N;;;;; +B76F;HANGUL SYLLABLE DDILH;Lo;0;L;;;;;N;;;;; +B770;HANGUL SYLLABLE DDIM;Lo;0;L;;;;;N;;;;; +B771;HANGUL SYLLABLE DDIB;Lo;0;L;;;;;N;;;;; +B772;HANGUL SYLLABLE DDIBS;Lo;0;L;;;;;N;;;;; +B773;HANGUL SYLLABLE DDIS;Lo;0;L;;;;;N;;;;; +B774;HANGUL SYLLABLE DDISS;Lo;0;L;;;;;N;;;;; +B775;HANGUL SYLLABLE DDING;Lo;0;L;;;;;N;;;;; +B776;HANGUL SYLLABLE DDIJ;Lo;0;L;;;;;N;;;;; +B777;HANGUL SYLLABLE DDIC;Lo;0;L;;;;;N;;;;; +B778;HANGUL SYLLABLE DDIK;Lo;0;L;;;;;N;;;;; +B779;HANGUL SYLLABLE DDIT;Lo;0;L;;;;;N;;;;; +B77A;HANGUL SYLLABLE DDIP;Lo;0;L;;;;;N;;;;; +B77B;HANGUL SYLLABLE DDIH;Lo;0;L;;;;;N;;;;; +B77C;HANGUL SYLLABLE RA;Lo;0;L;;;;;N;;;;; +B77D;HANGUL SYLLABLE RAG;Lo;0;L;;;;;N;;;;; +B77E;HANGUL SYLLABLE RAGG;Lo;0;L;;;;;N;;;;; +B77F;HANGUL SYLLABLE RAGS;Lo;0;L;;;;;N;;;;; +B780;HANGUL SYLLABLE RAN;Lo;0;L;;;;;N;;;;; +B781;HANGUL SYLLABLE RANI;Lo;0;L;;;;;N;;;;; +B782;HANGUL SYLLABLE RANH;Lo;0;L;;;;;N;;;;; +B783;HANGUL SYLLABLE RAD;Lo;0;L;;;;;N;;;;; +B784;HANGUL SYLLABLE RAL;Lo;0;L;;;;;N;;;;; +B785;HANGUL SYLLABLE RALG;Lo;0;L;;;;;N;;;;; +B786;HANGUL SYLLABLE RALM;Lo;0;L;;;;;N;;;;; +B787;HANGUL SYLLABLE RALB;Lo;0;L;;;;;N;;;;; +B788;HANGUL SYLLABLE RALS;Lo;0;L;;;;;N;;;;; +B789;HANGUL SYLLABLE RALT;Lo;0;L;;;;;N;;;;; +B78A;HANGUL SYLLABLE RALP;Lo;0;L;;;;;N;;;;; +B78B;HANGUL SYLLABLE RALH;Lo;0;L;;;;;N;;;;; +B78C;HANGUL SYLLABLE RAM;Lo;0;L;;;;;N;;;;; +B78D;HANGUL SYLLABLE RAB;Lo;0;L;;;;;N;;;;; +B78E;HANGUL SYLLABLE RABS;Lo;0;L;;;;;N;;;;; +B78F;HANGUL SYLLABLE RAS;Lo;0;L;;;;;N;;;;; +B790;HANGUL SYLLABLE RASS;Lo;0;L;;;;;N;;;;; +B791;HANGUL SYLLABLE RANG;Lo;0;L;;;;;N;;;;; +B792;HANGUL SYLLABLE RAJ;Lo;0;L;;;;;N;;;;; +B793;HANGUL SYLLABLE RAC;Lo;0;L;;;;;N;;;;; +B794;HANGUL SYLLABLE RAK;Lo;0;L;;;;;N;;;;; +B795;HANGUL SYLLABLE RAT;Lo;0;L;;;;;N;;;;; +B796;HANGUL SYLLABLE RAP;Lo;0;L;;;;;N;;;;; +B797;HANGUL SYLLABLE RAH;Lo;0;L;;;;;N;;;;; +B798;HANGUL SYLLABLE RAE;Lo;0;L;;;;;N;;;;; +B799;HANGUL SYLLABLE RAEG;Lo;0;L;;;;;N;;;;; +B79A;HANGUL SYLLABLE RAEGG;Lo;0;L;;;;;N;;;;; +B79B;HANGUL SYLLABLE RAEGS;Lo;0;L;;;;;N;;;;; +B79C;HANGUL SYLLABLE RAEN;Lo;0;L;;;;;N;;;;; +B79D;HANGUL SYLLABLE RAENI;Lo;0;L;;;;;N;;;;; +B79E;HANGUL SYLLABLE RAENH;Lo;0;L;;;;;N;;;;; +B79F;HANGUL SYLLABLE RAED;Lo;0;L;;;;;N;;;;; +B7A0;HANGUL SYLLABLE RAEL;Lo;0;L;;;;;N;;;;; +B7A1;HANGUL SYLLABLE RAELG;Lo;0;L;;;;;N;;;;; +B7A2;HANGUL SYLLABLE RAELM;Lo;0;L;;;;;N;;;;; +B7A3;HANGUL SYLLABLE RAELB;Lo;0;L;;;;;N;;;;; +B7A4;HANGUL SYLLABLE RAELS;Lo;0;L;;;;;N;;;;; +B7A5;HANGUL SYLLABLE RAELT;Lo;0;L;;;;;N;;;;; +B7A6;HANGUL SYLLABLE RAELP;Lo;0;L;;;;;N;;;;; +B7A7;HANGUL SYLLABLE RAELH;Lo;0;L;;;;;N;;;;; +B7A8;HANGUL SYLLABLE RAEM;Lo;0;L;;;;;N;;;;; +B7A9;HANGUL SYLLABLE RAEB;Lo;0;L;;;;;N;;;;; +B7AA;HANGUL SYLLABLE RAEBS;Lo;0;L;;;;;N;;;;; +B7AB;HANGUL SYLLABLE RAES;Lo;0;L;;;;;N;;;;; +B7AC;HANGUL SYLLABLE RAESS;Lo;0;L;;;;;N;;;;; +B7AD;HANGUL SYLLABLE RAENG;Lo;0;L;;;;;N;;;;; +B7AE;HANGUL SYLLABLE RAEJ;Lo;0;L;;;;;N;;;;; +B7AF;HANGUL SYLLABLE RAEC;Lo;0;L;;;;;N;;;;; +B7B0;HANGUL SYLLABLE RAEK;Lo;0;L;;;;;N;;;;; +B7B1;HANGUL SYLLABLE RAET;Lo;0;L;;;;;N;;;;; +B7B2;HANGUL SYLLABLE RAEP;Lo;0;L;;;;;N;;;;; +B7B3;HANGUL SYLLABLE RAEH;Lo;0;L;;;;;N;;;;; +B7B4;HANGUL SYLLABLE RYA;Lo;0;L;;;;;N;;;;; +B7B5;HANGUL SYLLABLE RYAG;Lo;0;L;;;;;N;;;;; +B7B6;HANGUL SYLLABLE RYAGG;Lo;0;L;;;;;N;;;;; +B7B7;HANGUL SYLLABLE RYAGS;Lo;0;L;;;;;N;;;;; +B7B8;HANGUL SYLLABLE RYAN;Lo;0;L;;;;;N;;;;; +B7B9;HANGUL SYLLABLE RYANI;Lo;0;L;;;;;N;;;;; +B7BA;HANGUL SYLLABLE RYANH;Lo;0;L;;;;;N;;;;; +B7BB;HANGUL SYLLABLE RYAD;Lo;0;L;;;;;N;;;;; +B7BC;HANGUL SYLLABLE RYAL;Lo;0;L;;;;;N;;;;; +B7BD;HANGUL SYLLABLE RYALG;Lo;0;L;;;;;N;;;;; +B7BE;HANGUL SYLLABLE RYALM;Lo;0;L;;;;;N;;;;; +B7BF;HANGUL SYLLABLE RYALB;Lo;0;L;;;;;N;;;;; +B7C0;HANGUL SYLLABLE RYALS;Lo;0;L;;;;;N;;;;; +B7C1;HANGUL SYLLABLE RYALT;Lo;0;L;;;;;N;;;;; +B7C2;HANGUL SYLLABLE RYALP;Lo;0;L;;;;;N;;;;; +B7C3;HANGUL SYLLABLE RYALH;Lo;0;L;;;;;N;;;;; +B7C4;HANGUL SYLLABLE RYAM;Lo;0;L;;;;;N;;;;; +B7C5;HANGUL SYLLABLE RYAB;Lo;0;L;;;;;N;;;;; +B7C6;HANGUL SYLLABLE RYABS;Lo;0;L;;;;;N;;;;; +B7C7;HANGUL SYLLABLE RYAS;Lo;0;L;;;;;N;;;;; +B7C8;HANGUL SYLLABLE RYASS;Lo;0;L;;;;;N;;;;; +B7C9;HANGUL SYLLABLE RYANG;Lo;0;L;;;;;N;;;;; +B7CA;HANGUL SYLLABLE RYAJ;Lo;0;L;;;;;N;;;;; +B7CB;HANGUL SYLLABLE RYAC;Lo;0;L;;;;;N;;;;; +B7CC;HANGUL SYLLABLE RYAK;Lo;0;L;;;;;N;;;;; +B7CD;HANGUL SYLLABLE RYAT;Lo;0;L;;;;;N;;;;; +B7CE;HANGUL SYLLABLE RYAP;Lo;0;L;;;;;N;;;;; +B7CF;HANGUL SYLLABLE RYAH;Lo;0;L;;;;;N;;;;; +B7D0;HANGUL SYLLABLE RYAE;Lo;0;L;;;;;N;;;;; +B7D1;HANGUL SYLLABLE RYAEG;Lo;0;L;;;;;N;;;;; +B7D2;HANGUL SYLLABLE RYAEGG;Lo;0;L;;;;;N;;;;; +B7D3;HANGUL SYLLABLE RYAEGS;Lo;0;L;;;;;N;;;;; +B7D4;HANGUL SYLLABLE RYAEN;Lo;0;L;;;;;N;;;;; +B7D5;HANGUL SYLLABLE RYAENI;Lo;0;L;;;;;N;;;;; +B7D6;HANGUL SYLLABLE RYAENH;Lo;0;L;;;;;N;;;;; +B7D7;HANGUL SYLLABLE RYAED;Lo;0;L;;;;;N;;;;; +B7D8;HANGUL SYLLABLE RYAEL;Lo;0;L;;;;;N;;;;; +B7D9;HANGUL SYLLABLE RYAELG;Lo;0;L;;;;;N;;;;; +B7DA;HANGUL SYLLABLE RYAELM;Lo;0;L;;;;;N;;;;; +B7DB;HANGUL SYLLABLE RYAELB;Lo;0;L;;;;;N;;;;; +B7DC;HANGUL SYLLABLE RYAELS;Lo;0;L;;;;;N;;;;; +B7DD;HANGUL SYLLABLE RYAELT;Lo;0;L;;;;;N;;;;; +B7DE;HANGUL SYLLABLE RYAELP;Lo;0;L;;;;;N;;;;; +B7DF;HANGUL SYLLABLE RYAELH;Lo;0;L;;;;;N;;;;; +B7E0;HANGUL SYLLABLE RYAEM;Lo;0;L;;;;;N;;;;; +B7E1;HANGUL SYLLABLE RYAEB;Lo;0;L;;;;;N;;;;; +B7E2;HANGUL SYLLABLE RYAEBS;Lo;0;L;;;;;N;;;;; +B7E3;HANGUL SYLLABLE RYAES;Lo;0;L;;;;;N;;;;; +B7E4;HANGUL SYLLABLE RYAESS;Lo;0;L;;;;;N;;;;; +B7E5;HANGUL SYLLABLE RYAENG;Lo;0;L;;;;;N;;;;; +B7E6;HANGUL SYLLABLE RYAEJ;Lo;0;L;;;;;N;;;;; +B7E7;HANGUL SYLLABLE RYAEC;Lo;0;L;;;;;N;;;;; +B7E8;HANGUL SYLLABLE RYAEK;Lo;0;L;;;;;N;;;;; +B7E9;HANGUL SYLLABLE RYAET;Lo;0;L;;;;;N;;;;; +B7EA;HANGUL SYLLABLE RYAEP;Lo;0;L;;;;;N;;;;; +B7EB;HANGUL SYLLABLE RYAEH;Lo;0;L;;;;;N;;;;; +B7EC;HANGUL SYLLABLE REO;Lo;0;L;;;;;N;;;;; +B7ED;HANGUL SYLLABLE REOG;Lo;0;L;;;;;N;;;;; +B7EE;HANGUL SYLLABLE REOGG;Lo;0;L;;;;;N;;;;; +B7EF;HANGUL SYLLABLE REOGS;Lo;0;L;;;;;N;;;;; +B7F0;HANGUL SYLLABLE REON;Lo;0;L;;;;;N;;;;; +B7F1;HANGUL SYLLABLE REONI;Lo;0;L;;;;;N;;;;; +B7F2;HANGUL SYLLABLE REONH;Lo;0;L;;;;;N;;;;; +B7F3;HANGUL SYLLABLE REOD;Lo;0;L;;;;;N;;;;; +B7F4;HANGUL SYLLABLE REOL;Lo;0;L;;;;;N;;;;; +B7F5;HANGUL SYLLABLE REOLG;Lo;0;L;;;;;N;;;;; +B7F6;HANGUL SYLLABLE REOLM;Lo;0;L;;;;;N;;;;; +B7F7;HANGUL SYLLABLE REOLB;Lo;0;L;;;;;N;;;;; +B7F8;HANGUL SYLLABLE REOLS;Lo;0;L;;;;;N;;;;; +B7F9;HANGUL SYLLABLE REOLT;Lo;0;L;;;;;N;;;;; +B7FA;HANGUL SYLLABLE REOLP;Lo;0;L;;;;;N;;;;; +B7FB;HANGUL SYLLABLE REOLH;Lo;0;L;;;;;N;;;;; +B7FC;HANGUL SYLLABLE REOM;Lo;0;L;;;;;N;;;;; +B7FD;HANGUL SYLLABLE REOB;Lo;0;L;;;;;N;;;;; +B7FE;HANGUL SYLLABLE REOBS;Lo;0;L;;;;;N;;;;; +B7FF;HANGUL SYLLABLE REOS;Lo;0;L;;;;;N;;;;; +B800;HANGUL SYLLABLE REOSS;Lo;0;L;;;;;N;;;;; +B801;HANGUL SYLLABLE REONG;Lo;0;L;;;;;N;;;;; +B802;HANGUL SYLLABLE REOJ;Lo;0;L;;;;;N;;;;; +B803;HANGUL SYLLABLE REOC;Lo;0;L;;;;;N;;;;; +B804;HANGUL SYLLABLE REOK;Lo;0;L;;;;;N;;;;; +B805;HANGUL SYLLABLE REOT;Lo;0;L;;;;;N;;;;; +B806;HANGUL SYLLABLE REOP;Lo;0;L;;;;;N;;;;; +B807;HANGUL SYLLABLE REOH;Lo;0;L;;;;;N;;;;; +B808;HANGUL SYLLABLE RE;Lo;0;L;;;;;N;;;;; +B809;HANGUL SYLLABLE REG;Lo;0;L;;;;;N;;;;; +B80A;HANGUL SYLLABLE REGG;Lo;0;L;;;;;N;;;;; +B80B;HANGUL SYLLABLE REGS;Lo;0;L;;;;;N;;;;; +B80C;HANGUL SYLLABLE REN;Lo;0;L;;;;;N;;;;; +B80D;HANGUL SYLLABLE RENI;Lo;0;L;;;;;N;;;;; +B80E;HANGUL SYLLABLE RENH;Lo;0;L;;;;;N;;;;; +B80F;HANGUL SYLLABLE RED;Lo;0;L;;;;;N;;;;; +B810;HANGUL SYLLABLE REL;Lo;0;L;;;;;N;;;;; +B811;HANGUL SYLLABLE RELG;Lo;0;L;;;;;N;;;;; +B812;HANGUL SYLLABLE RELM;Lo;0;L;;;;;N;;;;; +B813;HANGUL SYLLABLE RELB;Lo;0;L;;;;;N;;;;; +B814;HANGUL SYLLABLE RELS;Lo;0;L;;;;;N;;;;; +B815;HANGUL SYLLABLE RELT;Lo;0;L;;;;;N;;;;; +B816;HANGUL SYLLABLE RELP;Lo;0;L;;;;;N;;;;; +B817;HANGUL SYLLABLE RELH;Lo;0;L;;;;;N;;;;; +B818;HANGUL SYLLABLE REM;Lo;0;L;;;;;N;;;;; +B819;HANGUL SYLLABLE REB;Lo;0;L;;;;;N;;;;; +B81A;HANGUL SYLLABLE REBS;Lo;0;L;;;;;N;;;;; +B81B;HANGUL SYLLABLE RES;Lo;0;L;;;;;N;;;;; +B81C;HANGUL SYLLABLE RESS;Lo;0;L;;;;;N;;;;; +B81D;HANGUL SYLLABLE RENG;Lo;0;L;;;;;N;;;;; +B81E;HANGUL SYLLABLE REJ;Lo;0;L;;;;;N;;;;; +B81F;HANGUL SYLLABLE REC;Lo;0;L;;;;;N;;;;; +B820;HANGUL SYLLABLE REK;Lo;0;L;;;;;N;;;;; +B821;HANGUL SYLLABLE RET;Lo;0;L;;;;;N;;;;; +B822;HANGUL SYLLABLE REP;Lo;0;L;;;;;N;;;;; +B823;HANGUL SYLLABLE REH;Lo;0;L;;;;;N;;;;; +B824;HANGUL SYLLABLE RYEO;Lo;0;L;;;;;N;;;;; +B825;HANGUL SYLLABLE RYEOG;Lo;0;L;;;;;N;;;;; +B826;HANGUL SYLLABLE RYEOGG;Lo;0;L;;;;;N;;;;; +B827;HANGUL SYLLABLE RYEOGS;Lo;0;L;;;;;N;;;;; +B828;HANGUL SYLLABLE RYEON;Lo;0;L;;;;;N;;;;; +B829;HANGUL SYLLABLE RYEONI;Lo;0;L;;;;;N;;;;; +B82A;HANGUL SYLLABLE RYEONH;Lo;0;L;;;;;N;;;;; +B82B;HANGUL SYLLABLE RYEOD;Lo;0;L;;;;;N;;;;; +B82C;HANGUL SYLLABLE RYEOL;Lo;0;L;;;;;N;;;;; +B82D;HANGUL SYLLABLE RYEOLG;Lo;0;L;;;;;N;;;;; +B82E;HANGUL SYLLABLE RYEOLM;Lo;0;L;;;;;N;;;;; +B82F;HANGUL SYLLABLE RYEOLB;Lo;0;L;;;;;N;;;;; +B830;HANGUL SYLLABLE RYEOLS;Lo;0;L;;;;;N;;;;; +B831;HANGUL SYLLABLE RYEOLT;Lo;0;L;;;;;N;;;;; +B832;HANGUL SYLLABLE RYEOLP;Lo;0;L;;;;;N;;;;; +B833;HANGUL SYLLABLE RYEOLH;Lo;0;L;;;;;N;;;;; +B834;HANGUL SYLLABLE RYEOM;Lo;0;L;;;;;N;;;;; +B835;HANGUL SYLLABLE RYEOB;Lo;0;L;;;;;N;;;;; +B836;HANGUL SYLLABLE RYEOBS;Lo;0;L;;;;;N;;;;; +B837;HANGUL SYLLABLE RYEOS;Lo;0;L;;;;;N;;;;; +B838;HANGUL SYLLABLE RYEOSS;Lo;0;L;;;;;N;;;;; +B839;HANGUL SYLLABLE RYEONG;Lo;0;L;;;;;N;;;;; +B83A;HANGUL SYLLABLE RYEOJ;Lo;0;L;;;;;N;;;;; +B83B;HANGUL SYLLABLE RYEOC;Lo;0;L;;;;;N;;;;; +B83C;HANGUL SYLLABLE RYEOK;Lo;0;L;;;;;N;;;;; +B83D;HANGUL SYLLABLE RYEOT;Lo;0;L;;;;;N;;;;; +B83E;HANGUL SYLLABLE RYEOP;Lo;0;L;;;;;N;;;;; +B83F;HANGUL SYLLABLE RYEOH;Lo;0;L;;;;;N;;;;; +B840;HANGUL SYLLABLE RYE;Lo;0;L;;;;;N;;;;; +B841;HANGUL SYLLABLE RYEG;Lo;0;L;;;;;N;;;;; +B842;HANGUL SYLLABLE RYEGG;Lo;0;L;;;;;N;;;;; +B843;HANGUL SYLLABLE RYEGS;Lo;0;L;;;;;N;;;;; +B844;HANGUL SYLLABLE RYEN;Lo;0;L;;;;;N;;;;; +B845;HANGUL SYLLABLE RYENI;Lo;0;L;;;;;N;;;;; +B846;HANGUL SYLLABLE RYENH;Lo;0;L;;;;;N;;;;; +B847;HANGUL SYLLABLE RYED;Lo;0;L;;;;;N;;;;; +B848;HANGUL SYLLABLE RYEL;Lo;0;L;;;;;N;;;;; +B849;HANGUL SYLLABLE RYELG;Lo;0;L;;;;;N;;;;; +B84A;HANGUL SYLLABLE RYELM;Lo;0;L;;;;;N;;;;; +B84B;HANGUL SYLLABLE RYELB;Lo;0;L;;;;;N;;;;; +B84C;HANGUL SYLLABLE RYELS;Lo;0;L;;;;;N;;;;; +B84D;HANGUL SYLLABLE RYELT;Lo;0;L;;;;;N;;;;; +B84E;HANGUL SYLLABLE RYELP;Lo;0;L;;;;;N;;;;; +B84F;HANGUL SYLLABLE RYELH;Lo;0;L;;;;;N;;;;; +B850;HANGUL SYLLABLE RYEM;Lo;0;L;;;;;N;;;;; +B851;HANGUL SYLLABLE RYEB;Lo;0;L;;;;;N;;;;; +B852;HANGUL SYLLABLE RYEBS;Lo;0;L;;;;;N;;;;; +B853;HANGUL SYLLABLE RYES;Lo;0;L;;;;;N;;;;; +B854;HANGUL SYLLABLE RYESS;Lo;0;L;;;;;N;;;;; +B855;HANGUL SYLLABLE RYENG;Lo;0;L;;;;;N;;;;; +B856;HANGUL SYLLABLE RYEJ;Lo;0;L;;;;;N;;;;; +B857;HANGUL SYLLABLE RYEC;Lo;0;L;;;;;N;;;;; +B858;HANGUL SYLLABLE RYEK;Lo;0;L;;;;;N;;;;; +B859;HANGUL SYLLABLE RYET;Lo;0;L;;;;;N;;;;; +B85A;HANGUL SYLLABLE RYEP;Lo;0;L;;;;;N;;;;; +B85B;HANGUL SYLLABLE RYEH;Lo;0;L;;;;;N;;;;; +B85C;HANGUL SYLLABLE RO;Lo;0;L;;;;;N;;;;; +B85D;HANGUL SYLLABLE ROG;Lo;0;L;;;;;N;;;;; +B85E;HANGUL SYLLABLE ROGG;Lo;0;L;;;;;N;;;;; +B85F;HANGUL SYLLABLE ROGS;Lo;0;L;;;;;N;;;;; +B860;HANGUL SYLLABLE RON;Lo;0;L;;;;;N;;;;; +B861;HANGUL SYLLABLE RONI;Lo;0;L;;;;;N;;;;; +B862;HANGUL SYLLABLE RONH;Lo;0;L;;;;;N;;;;; +B863;HANGUL SYLLABLE ROD;Lo;0;L;;;;;N;;;;; +B864;HANGUL SYLLABLE ROL;Lo;0;L;;;;;N;;;;; +B865;HANGUL SYLLABLE ROLG;Lo;0;L;;;;;N;;;;; +B866;HANGUL SYLLABLE ROLM;Lo;0;L;;;;;N;;;;; +B867;HANGUL SYLLABLE ROLB;Lo;0;L;;;;;N;;;;; +B868;HANGUL SYLLABLE ROLS;Lo;0;L;;;;;N;;;;; +B869;HANGUL SYLLABLE ROLT;Lo;0;L;;;;;N;;;;; +B86A;HANGUL SYLLABLE ROLP;Lo;0;L;;;;;N;;;;; +B86B;HANGUL SYLLABLE ROLH;Lo;0;L;;;;;N;;;;; +B86C;HANGUL SYLLABLE ROM;Lo;0;L;;;;;N;;;;; +B86D;HANGUL SYLLABLE ROB;Lo;0;L;;;;;N;;;;; +B86E;HANGUL SYLLABLE ROBS;Lo;0;L;;;;;N;;;;; +B86F;HANGUL SYLLABLE ROS;Lo;0;L;;;;;N;;;;; +B870;HANGUL SYLLABLE ROSS;Lo;0;L;;;;;N;;;;; +B871;HANGUL SYLLABLE RONG;Lo;0;L;;;;;N;;;;; +B872;HANGUL SYLLABLE ROJ;Lo;0;L;;;;;N;;;;; +B873;HANGUL SYLLABLE ROC;Lo;0;L;;;;;N;;;;; +B874;HANGUL SYLLABLE ROK;Lo;0;L;;;;;N;;;;; +B875;HANGUL SYLLABLE ROT;Lo;0;L;;;;;N;;;;; +B876;HANGUL SYLLABLE ROP;Lo;0;L;;;;;N;;;;; +B877;HANGUL SYLLABLE ROH;Lo;0;L;;;;;N;;;;; +B878;HANGUL SYLLABLE RWA;Lo;0;L;;;;;N;;;;; +B879;HANGUL SYLLABLE RWAG;Lo;0;L;;;;;N;;;;; +B87A;HANGUL SYLLABLE RWAGG;Lo;0;L;;;;;N;;;;; +B87B;HANGUL SYLLABLE RWAGS;Lo;0;L;;;;;N;;;;; +B87C;HANGUL SYLLABLE RWAN;Lo;0;L;;;;;N;;;;; +B87D;HANGUL SYLLABLE RWANI;Lo;0;L;;;;;N;;;;; +B87E;HANGUL SYLLABLE RWANH;Lo;0;L;;;;;N;;;;; +B87F;HANGUL SYLLABLE RWAD;Lo;0;L;;;;;N;;;;; +B880;HANGUL SYLLABLE RWAL;Lo;0;L;;;;;N;;;;; +B881;HANGUL SYLLABLE RWALG;Lo;0;L;;;;;N;;;;; +B882;HANGUL SYLLABLE RWALM;Lo;0;L;;;;;N;;;;; +B883;HANGUL SYLLABLE RWALB;Lo;0;L;;;;;N;;;;; +B884;HANGUL SYLLABLE RWALS;Lo;0;L;;;;;N;;;;; +B885;HANGUL SYLLABLE RWALT;Lo;0;L;;;;;N;;;;; +B886;HANGUL SYLLABLE RWALP;Lo;0;L;;;;;N;;;;; +B887;HANGUL SYLLABLE RWALH;Lo;0;L;;;;;N;;;;; +B888;HANGUL SYLLABLE RWAM;Lo;0;L;;;;;N;;;;; +B889;HANGUL SYLLABLE RWAB;Lo;0;L;;;;;N;;;;; +B88A;HANGUL SYLLABLE RWABS;Lo;0;L;;;;;N;;;;; +B88B;HANGUL SYLLABLE RWAS;Lo;0;L;;;;;N;;;;; +B88C;HANGUL SYLLABLE RWASS;Lo;0;L;;;;;N;;;;; +B88D;HANGUL SYLLABLE RWANG;Lo;0;L;;;;;N;;;;; +B88E;HANGUL SYLLABLE RWAJ;Lo;0;L;;;;;N;;;;; +B88F;HANGUL SYLLABLE RWAC;Lo;0;L;;;;;N;;;;; +B890;HANGUL SYLLABLE RWAK;Lo;0;L;;;;;N;;;;; +B891;HANGUL SYLLABLE RWAT;Lo;0;L;;;;;N;;;;; +B892;HANGUL SYLLABLE RWAP;Lo;0;L;;;;;N;;;;; +B893;HANGUL SYLLABLE RWAH;Lo;0;L;;;;;N;;;;; +B894;HANGUL SYLLABLE RWAE;Lo;0;L;;;;;N;;;;; +B895;HANGUL SYLLABLE RWAEG;Lo;0;L;;;;;N;;;;; +B896;HANGUL SYLLABLE RWAEGG;Lo;0;L;;;;;N;;;;; +B897;HANGUL SYLLABLE RWAEGS;Lo;0;L;;;;;N;;;;; +B898;HANGUL SYLLABLE RWAEN;Lo;0;L;;;;;N;;;;; +B899;HANGUL SYLLABLE RWAENI;Lo;0;L;;;;;N;;;;; +B89A;HANGUL SYLLABLE RWAENH;Lo;0;L;;;;;N;;;;; +B89B;HANGUL SYLLABLE RWAED;Lo;0;L;;;;;N;;;;; +B89C;HANGUL SYLLABLE RWAEL;Lo;0;L;;;;;N;;;;; +B89D;HANGUL SYLLABLE RWAELG;Lo;0;L;;;;;N;;;;; +B89E;HANGUL SYLLABLE RWAELM;Lo;0;L;;;;;N;;;;; +B89F;HANGUL SYLLABLE RWAELB;Lo;0;L;;;;;N;;;;; +B8A0;HANGUL SYLLABLE RWAELS;Lo;0;L;;;;;N;;;;; +B8A1;HANGUL SYLLABLE RWAELT;Lo;0;L;;;;;N;;;;; +B8A2;HANGUL SYLLABLE RWAELP;Lo;0;L;;;;;N;;;;; +B8A3;HANGUL SYLLABLE RWAELH;Lo;0;L;;;;;N;;;;; +B8A4;HANGUL SYLLABLE RWAEM;Lo;0;L;;;;;N;;;;; +B8A5;HANGUL SYLLABLE RWAEB;Lo;0;L;;;;;N;;;;; +B8A6;HANGUL SYLLABLE RWAEBS;Lo;0;L;;;;;N;;;;; +B8A7;HANGUL SYLLABLE RWAES;Lo;0;L;;;;;N;;;;; +B8A8;HANGUL SYLLABLE RWAESS;Lo;0;L;;;;;N;;;;; +B8A9;HANGUL SYLLABLE RWAENG;Lo;0;L;;;;;N;;;;; +B8AA;HANGUL SYLLABLE RWAEJ;Lo;0;L;;;;;N;;;;; +B8AB;HANGUL SYLLABLE RWAEC;Lo;0;L;;;;;N;;;;; +B8AC;HANGUL SYLLABLE RWAEK;Lo;0;L;;;;;N;;;;; +B8AD;HANGUL SYLLABLE RWAET;Lo;0;L;;;;;N;;;;; +B8AE;HANGUL SYLLABLE RWAEP;Lo;0;L;;;;;N;;;;; +B8AF;HANGUL SYLLABLE RWAEH;Lo;0;L;;;;;N;;;;; +B8B0;HANGUL SYLLABLE ROE;Lo;0;L;;;;;N;;;;; +B8B1;HANGUL SYLLABLE ROEG;Lo;0;L;;;;;N;;;;; +B8B2;HANGUL SYLLABLE ROEGG;Lo;0;L;;;;;N;;;;; +B8B3;HANGUL SYLLABLE ROEGS;Lo;0;L;;;;;N;;;;; +B8B4;HANGUL SYLLABLE ROEN;Lo;0;L;;;;;N;;;;; +B8B5;HANGUL SYLLABLE ROENI;Lo;0;L;;;;;N;;;;; +B8B6;HANGUL SYLLABLE ROENH;Lo;0;L;;;;;N;;;;; +B8B7;HANGUL SYLLABLE ROED;Lo;0;L;;;;;N;;;;; +B8B8;HANGUL SYLLABLE ROEL;Lo;0;L;;;;;N;;;;; +B8B9;HANGUL SYLLABLE ROELG;Lo;0;L;;;;;N;;;;; +B8BA;HANGUL SYLLABLE ROELM;Lo;0;L;;;;;N;;;;; +B8BB;HANGUL SYLLABLE ROELB;Lo;0;L;;;;;N;;;;; +B8BC;HANGUL SYLLABLE ROELS;Lo;0;L;;;;;N;;;;; +B8BD;HANGUL SYLLABLE ROELT;Lo;0;L;;;;;N;;;;; +B8BE;HANGUL SYLLABLE ROELP;Lo;0;L;;;;;N;;;;; +B8BF;HANGUL SYLLABLE ROELH;Lo;0;L;;;;;N;;;;; +B8C0;HANGUL SYLLABLE ROEM;Lo;0;L;;;;;N;;;;; +B8C1;HANGUL SYLLABLE ROEB;Lo;0;L;;;;;N;;;;; +B8C2;HANGUL SYLLABLE ROEBS;Lo;0;L;;;;;N;;;;; +B8C3;HANGUL SYLLABLE ROES;Lo;0;L;;;;;N;;;;; +B8C4;HANGUL SYLLABLE ROESS;Lo;0;L;;;;;N;;;;; +B8C5;HANGUL SYLLABLE ROENG;Lo;0;L;;;;;N;;;;; +B8C6;HANGUL SYLLABLE ROEJ;Lo;0;L;;;;;N;;;;; +B8C7;HANGUL SYLLABLE ROEC;Lo;0;L;;;;;N;;;;; +B8C8;HANGUL SYLLABLE ROEK;Lo;0;L;;;;;N;;;;; +B8C9;HANGUL SYLLABLE ROET;Lo;0;L;;;;;N;;;;; +B8CA;HANGUL SYLLABLE ROEP;Lo;0;L;;;;;N;;;;; +B8CB;HANGUL SYLLABLE ROEH;Lo;0;L;;;;;N;;;;; +B8CC;HANGUL SYLLABLE RYO;Lo;0;L;;;;;N;;;;; +B8CD;HANGUL SYLLABLE RYOG;Lo;0;L;;;;;N;;;;; +B8CE;HANGUL SYLLABLE RYOGG;Lo;0;L;;;;;N;;;;; +B8CF;HANGUL SYLLABLE RYOGS;Lo;0;L;;;;;N;;;;; +B8D0;HANGUL SYLLABLE RYON;Lo;0;L;;;;;N;;;;; +B8D1;HANGUL SYLLABLE RYONI;Lo;0;L;;;;;N;;;;; +B8D2;HANGUL SYLLABLE RYONH;Lo;0;L;;;;;N;;;;; +B8D3;HANGUL SYLLABLE RYOD;Lo;0;L;;;;;N;;;;; +B8D4;HANGUL SYLLABLE RYOL;Lo;0;L;;;;;N;;;;; +B8D5;HANGUL SYLLABLE RYOLG;Lo;0;L;;;;;N;;;;; +B8D6;HANGUL SYLLABLE RYOLM;Lo;0;L;;;;;N;;;;; +B8D7;HANGUL SYLLABLE RYOLB;Lo;0;L;;;;;N;;;;; +B8D8;HANGUL SYLLABLE RYOLS;Lo;0;L;;;;;N;;;;; +B8D9;HANGUL SYLLABLE RYOLT;Lo;0;L;;;;;N;;;;; +B8DA;HANGUL SYLLABLE RYOLP;Lo;0;L;;;;;N;;;;; +B8DB;HANGUL SYLLABLE RYOLH;Lo;0;L;;;;;N;;;;; +B8DC;HANGUL SYLLABLE RYOM;Lo;0;L;;;;;N;;;;; +B8DD;HANGUL SYLLABLE RYOB;Lo;0;L;;;;;N;;;;; +B8DE;HANGUL SYLLABLE RYOBS;Lo;0;L;;;;;N;;;;; +B8DF;HANGUL SYLLABLE RYOS;Lo;0;L;;;;;N;;;;; +B8E0;HANGUL SYLLABLE RYOSS;Lo;0;L;;;;;N;;;;; +B8E1;HANGUL SYLLABLE RYONG;Lo;0;L;;;;;N;;;;; +B8E2;HANGUL SYLLABLE RYOJ;Lo;0;L;;;;;N;;;;; +B8E3;HANGUL SYLLABLE RYOC;Lo;0;L;;;;;N;;;;; +B8E4;HANGUL SYLLABLE RYOK;Lo;0;L;;;;;N;;;;; +B8E5;HANGUL SYLLABLE RYOT;Lo;0;L;;;;;N;;;;; +B8E6;HANGUL SYLLABLE RYOP;Lo;0;L;;;;;N;;;;; +B8E7;HANGUL SYLLABLE RYOH;Lo;0;L;;;;;N;;;;; +B8E8;HANGUL SYLLABLE RU;Lo;0;L;;;;;N;;;;; +B8E9;HANGUL SYLLABLE RUG;Lo;0;L;;;;;N;;;;; +B8EA;HANGUL SYLLABLE RUGG;Lo;0;L;;;;;N;;;;; +B8EB;HANGUL SYLLABLE RUGS;Lo;0;L;;;;;N;;;;; +B8EC;HANGUL SYLLABLE RUN;Lo;0;L;;;;;N;;;;; +B8ED;HANGUL SYLLABLE RUNI;Lo;0;L;;;;;N;;;;; +B8EE;HANGUL SYLLABLE RUNH;Lo;0;L;;;;;N;;;;; +B8EF;HANGUL SYLLABLE RUD;Lo;0;L;;;;;N;;;;; +B8F0;HANGUL SYLLABLE RUL;Lo;0;L;;;;;N;;;;; +B8F1;HANGUL SYLLABLE RULG;Lo;0;L;;;;;N;;;;; +B8F2;HANGUL SYLLABLE RULM;Lo;0;L;;;;;N;;;;; +B8F3;HANGUL SYLLABLE RULB;Lo;0;L;;;;;N;;;;; +B8F4;HANGUL SYLLABLE RULS;Lo;0;L;;;;;N;;;;; +B8F5;HANGUL SYLLABLE RULT;Lo;0;L;;;;;N;;;;; +B8F6;HANGUL SYLLABLE RULP;Lo;0;L;;;;;N;;;;; +B8F7;HANGUL SYLLABLE RULH;Lo;0;L;;;;;N;;;;; +B8F8;HANGUL SYLLABLE RUM;Lo;0;L;;;;;N;;;;; +B8F9;HANGUL SYLLABLE RUB;Lo;0;L;;;;;N;;;;; +B8FA;HANGUL SYLLABLE RUBS;Lo;0;L;;;;;N;;;;; +B8FB;HANGUL SYLLABLE RUS;Lo;0;L;;;;;N;;;;; +B8FC;HANGUL SYLLABLE RUSS;Lo;0;L;;;;;N;;;;; +B8FD;HANGUL SYLLABLE RUNG;Lo;0;L;;;;;N;;;;; +B8FE;HANGUL SYLLABLE RUJ;Lo;0;L;;;;;N;;;;; +B8FF;HANGUL SYLLABLE RUC;Lo;0;L;;;;;N;;;;; +B900;HANGUL SYLLABLE RUK;Lo;0;L;;;;;N;;;;; +B901;HANGUL SYLLABLE RUT;Lo;0;L;;;;;N;;;;; +B902;HANGUL SYLLABLE RUP;Lo;0;L;;;;;N;;;;; +B903;HANGUL SYLLABLE RUH;Lo;0;L;;;;;N;;;;; +B904;HANGUL SYLLABLE RWEO;Lo;0;L;;;;;N;;;;; +B905;HANGUL SYLLABLE RWEOG;Lo;0;L;;;;;N;;;;; +B906;HANGUL SYLLABLE RWEOGG;Lo;0;L;;;;;N;;;;; +B907;HANGUL SYLLABLE RWEOGS;Lo;0;L;;;;;N;;;;; +B908;HANGUL SYLLABLE RWEON;Lo;0;L;;;;;N;;;;; +B909;HANGUL SYLLABLE RWEONI;Lo;0;L;;;;;N;;;;; +B90A;HANGUL SYLLABLE RWEONH;Lo;0;L;;;;;N;;;;; +B90B;HANGUL SYLLABLE RWEOD;Lo;0;L;;;;;N;;;;; +B90C;HANGUL SYLLABLE RWEOL;Lo;0;L;;;;;N;;;;; +B90D;HANGUL SYLLABLE RWEOLG;Lo;0;L;;;;;N;;;;; +B90E;HANGUL SYLLABLE RWEOLM;Lo;0;L;;;;;N;;;;; +B90F;HANGUL SYLLABLE RWEOLB;Lo;0;L;;;;;N;;;;; +B910;HANGUL SYLLABLE RWEOLS;Lo;0;L;;;;;N;;;;; +B911;HANGUL SYLLABLE RWEOLT;Lo;0;L;;;;;N;;;;; +B912;HANGUL SYLLABLE RWEOLP;Lo;0;L;;;;;N;;;;; +B913;HANGUL SYLLABLE RWEOLH;Lo;0;L;;;;;N;;;;; +B914;HANGUL SYLLABLE RWEOM;Lo;0;L;;;;;N;;;;; +B915;HANGUL SYLLABLE RWEOB;Lo;0;L;;;;;N;;;;; +B916;HANGUL SYLLABLE RWEOBS;Lo;0;L;;;;;N;;;;; +B917;HANGUL SYLLABLE RWEOS;Lo;0;L;;;;;N;;;;; +B918;HANGUL SYLLABLE RWEOSS;Lo;0;L;;;;;N;;;;; +B919;HANGUL SYLLABLE RWEONG;Lo;0;L;;;;;N;;;;; +B91A;HANGUL SYLLABLE RWEOJ;Lo;0;L;;;;;N;;;;; +B91B;HANGUL SYLLABLE RWEOC;Lo;0;L;;;;;N;;;;; +B91C;HANGUL SYLLABLE RWEOK;Lo;0;L;;;;;N;;;;; +B91D;HANGUL SYLLABLE RWEOT;Lo;0;L;;;;;N;;;;; +B91E;HANGUL SYLLABLE RWEOP;Lo;0;L;;;;;N;;;;; +B91F;HANGUL SYLLABLE RWEOH;Lo;0;L;;;;;N;;;;; +B920;HANGUL SYLLABLE RWE;Lo;0;L;;;;;N;;;;; +B921;HANGUL SYLLABLE RWEG;Lo;0;L;;;;;N;;;;; +B922;HANGUL SYLLABLE RWEGG;Lo;0;L;;;;;N;;;;; +B923;HANGUL SYLLABLE RWEGS;Lo;0;L;;;;;N;;;;; +B924;HANGUL SYLLABLE RWEN;Lo;0;L;;;;;N;;;;; +B925;HANGUL SYLLABLE RWENI;Lo;0;L;;;;;N;;;;; +B926;HANGUL SYLLABLE RWENH;Lo;0;L;;;;;N;;;;; +B927;HANGUL SYLLABLE RWED;Lo;0;L;;;;;N;;;;; +B928;HANGUL SYLLABLE RWEL;Lo;0;L;;;;;N;;;;; +B929;HANGUL SYLLABLE RWELG;Lo;0;L;;;;;N;;;;; +B92A;HANGUL SYLLABLE RWELM;Lo;0;L;;;;;N;;;;; +B92B;HANGUL SYLLABLE RWELB;Lo;0;L;;;;;N;;;;; +B92C;HANGUL SYLLABLE RWELS;Lo;0;L;;;;;N;;;;; +B92D;HANGUL SYLLABLE RWELT;Lo;0;L;;;;;N;;;;; +B92E;HANGUL SYLLABLE RWELP;Lo;0;L;;;;;N;;;;; +B92F;HANGUL SYLLABLE RWELH;Lo;0;L;;;;;N;;;;; +B930;HANGUL SYLLABLE RWEM;Lo;0;L;;;;;N;;;;; +B931;HANGUL SYLLABLE RWEB;Lo;0;L;;;;;N;;;;; +B932;HANGUL SYLLABLE RWEBS;Lo;0;L;;;;;N;;;;; +B933;HANGUL SYLLABLE RWES;Lo;0;L;;;;;N;;;;; +B934;HANGUL SYLLABLE RWESS;Lo;0;L;;;;;N;;;;; +B935;HANGUL SYLLABLE RWENG;Lo;0;L;;;;;N;;;;; +B936;HANGUL SYLLABLE RWEJ;Lo;0;L;;;;;N;;;;; +B937;HANGUL SYLLABLE RWEC;Lo;0;L;;;;;N;;;;; +B938;HANGUL SYLLABLE RWEK;Lo;0;L;;;;;N;;;;; +B939;HANGUL SYLLABLE RWET;Lo;0;L;;;;;N;;;;; +B93A;HANGUL SYLLABLE RWEP;Lo;0;L;;;;;N;;;;; +B93B;HANGUL SYLLABLE RWEH;Lo;0;L;;;;;N;;;;; +B93C;HANGUL SYLLABLE RWI;Lo;0;L;;;;;N;;;;; +B93D;HANGUL SYLLABLE RWIG;Lo;0;L;;;;;N;;;;; +B93E;HANGUL SYLLABLE RWIGG;Lo;0;L;;;;;N;;;;; +B93F;HANGUL SYLLABLE RWIGS;Lo;0;L;;;;;N;;;;; +B940;HANGUL SYLLABLE RWIN;Lo;0;L;;;;;N;;;;; +B941;HANGUL SYLLABLE RWINI;Lo;0;L;;;;;N;;;;; +B942;HANGUL SYLLABLE RWINH;Lo;0;L;;;;;N;;;;; +B943;HANGUL SYLLABLE RWID;Lo;0;L;;;;;N;;;;; +B944;HANGUL SYLLABLE RWIL;Lo;0;L;;;;;N;;;;; +B945;HANGUL SYLLABLE RWILG;Lo;0;L;;;;;N;;;;; +B946;HANGUL SYLLABLE RWILM;Lo;0;L;;;;;N;;;;; +B947;HANGUL SYLLABLE RWILB;Lo;0;L;;;;;N;;;;; +B948;HANGUL SYLLABLE RWILS;Lo;0;L;;;;;N;;;;; +B949;HANGUL SYLLABLE RWILT;Lo;0;L;;;;;N;;;;; +B94A;HANGUL SYLLABLE RWILP;Lo;0;L;;;;;N;;;;; +B94B;HANGUL SYLLABLE RWILH;Lo;0;L;;;;;N;;;;; +B94C;HANGUL SYLLABLE RWIM;Lo;0;L;;;;;N;;;;; +B94D;HANGUL SYLLABLE RWIB;Lo;0;L;;;;;N;;;;; +B94E;HANGUL SYLLABLE RWIBS;Lo;0;L;;;;;N;;;;; +B94F;HANGUL SYLLABLE RWIS;Lo;0;L;;;;;N;;;;; +B950;HANGUL SYLLABLE RWISS;Lo;0;L;;;;;N;;;;; +B951;HANGUL SYLLABLE RWING;Lo;0;L;;;;;N;;;;; +B952;HANGUL SYLLABLE RWIJ;Lo;0;L;;;;;N;;;;; +B953;HANGUL SYLLABLE RWIC;Lo;0;L;;;;;N;;;;; +B954;HANGUL SYLLABLE RWIK;Lo;0;L;;;;;N;;;;; +B955;HANGUL SYLLABLE RWIT;Lo;0;L;;;;;N;;;;; +B956;HANGUL SYLLABLE RWIP;Lo;0;L;;;;;N;;;;; +B957;HANGUL SYLLABLE RWIH;Lo;0;L;;;;;N;;;;; +B958;HANGUL SYLLABLE RYU;Lo;0;L;;;;;N;;;;; +B959;HANGUL SYLLABLE RYUG;Lo;0;L;;;;;N;;;;; +B95A;HANGUL SYLLABLE RYUGG;Lo;0;L;;;;;N;;;;; +B95B;HANGUL SYLLABLE RYUGS;Lo;0;L;;;;;N;;;;; +B95C;HANGUL SYLLABLE RYUN;Lo;0;L;;;;;N;;;;; +B95D;HANGUL SYLLABLE RYUNI;Lo;0;L;;;;;N;;;;; +B95E;HANGUL SYLLABLE RYUNH;Lo;0;L;;;;;N;;;;; +B95F;HANGUL SYLLABLE RYUD;Lo;0;L;;;;;N;;;;; +B960;HANGUL SYLLABLE RYUL;Lo;0;L;;;;;N;;;;; +B961;HANGUL SYLLABLE RYULG;Lo;0;L;;;;;N;;;;; +B962;HANGUL SYLLABLE RYULM;Lo;0;L;;;;;N;;;;; +B963;HANGUL SYLLABLE RYULB;Lo;0;L;;;;;N;;;;; +B964;HANGUL SYLLABLE RYULS;Lo;0;L;;;;;N;;;;; +B965;HANGUL SYLLABLE RYULT;Lo;0;L;;;;;N;;;;; +B966;HANGUL SYLLABLE RYULP;Lo;0;L;;;;;N;;;;; +B967;HANGUL SYLLABLE RYULH;Lo;0;L;;;;;N;;;;; +B968;HANGUL SYLLABLE RYUM;Lo;0;L;;;;;N;;;;; +B969;HANGUL SYLLABLE RYUB;Lo;0;L;;;;;N;;;;; +B96A;HANGUL SYLLABLE RYUBS;Lo;0;L;;;;;N;;;;; +B96B;HANGUL SYLLABLE RYUS;Lo;0;L;;;;;N;;;;; +B96C;HANGUL SYLLABLE RYUSS;Lo;0;L;;;;;N;;;;; +B96D;HANGUL SYLLABLE RYUNG;Lo;0;L;;;;;N;;;;; +B96E;HANGUL SYLLABLE RYUJ;Lo;0;L;;;;;N;;;;; +B96F;HANGUL SYLLABLE RYUC;Lo;0;L;;;;;N;;;;; +B970;HANGUL SYLLABLE RYUK;Lo;0;L;;;;;N;;;;; +B971;HANGUL SYLLABLE RYUT;Lo;0;L;;;;;N;;;;; +B972;HANGUL SYLLABLE RYUP;Lo;0;L;;;;;N;;;;; +B973;HANGUL SYLLABLE RYUH;Lo;0;L;;;;;N;;;;; +B974;HANGUL SYLLABLE REU;Lo;0;L;;;;;N;;;;; +B975;HANGUL SYLLABLE REUG;Lo;0;L;;;;;N;;;;; +B976;HANGUL SYLLABLE REUGG;Lo;0;L;;;;;N;;;;; +B977;HANGUL SYLLABLE REUGS;Lo;0;L;;;;;N;;;;; +B978;HANGUL SYLLABLE REUN;Lo;0;L;;;;;N;;;;; +B979;HANGUL SYLLABLE REUNI;Lo;0;L;;;;;N;;;;; +B97A;HANGUL SYLLABLE REUNH;Lo;0;L;;;;;N;;;;; +B97B;HANGUL SYLLABLE REUD;Lo;0;L;;;;;N;;;;; +B97C;HANGUL SYLLABLE REUL;Lo;0;L;;;;;N;;;;; +B97D;HANGUL SYLLABLE REULG;Lo;0;L;;;;;N;;;;; +B97E;HANGUL SYLLABLE REULM;Lo;0;L;;;;;N;;;;; +B97F;HANGUL SYLLABLE REULB;Lo;0;L;;;;;N;;;;; +B980;HANGUL SYLLABLE REULS;Lo;0;L;;;;;N;;;;; +B981;HANGUL SYLLABLE REULT;Lo;0;L;;;;;N;;;;; +B982;HANGUL SYLLABLE REULP;Lo;0;L;;;;;N;;;;; +B983;HANGUL SYLLABLE REULH;Lo;0;L;;;;;N;;;;; +B984;HANGUL SYLLABLE REUM;Lo;0;L;;;;;N;;;;; +B985;HANGUL SYLLABLE REUB;Lo;0;L;;;;;N;;;;; +B986;HANGUL SYLLABLE REUBS;Lo;0;L;;;;;N;;;;; +B987;HANGUL SYLLABLE REUS;Lo;0;L;;;;;N;;;;; +B988;HANGUL SYLLABLE REUSS;Lo;0;L;;;;;N;;;;; +B989;HANGUL SYLLABLE REUNG;Lo;0;L;;;;;N;;;;; +B98A;HANGUL SYLLABLE REUJ;Lo;0;L;;;;;N;;;;; +B98B;HANGUL SYLLABLE REUC;Lo;0;L;;;;;N;;;;; +B98C;HANGUL SYLLABLE REUK;Lo;0;L;;;;;N;;;;; +B98D;HANGUL SYLLABLE REUT;Lo;0;L;;;;;N;;;;; +B98E;HANGUL SYLLABLE REUP;Lo;0;L;;;;;N;;;;; +B98F;HANGUL SYLLABLE REUH;Lo;0;L;;;;;N;;;;; +B990;HANGUL SYLLABLE RYI;Lo;0;L;;;;;N;;;;; +B991;HANGUL SYLLABLE RYIG;Lo;0;L;;;;;N;;;;; +B992;HANGUL SYLLABLE RYIGG;Lo;0;L;;;;;N;;;;; +B993;HANGUL SYLLABLE RYIGS;Lo;0;L;;;;;N;;;;; +B994;HANGUL SYLLABLE RYIN;Lo;0;L;;;;;N;;;;; +B995;HANGUL SYLLABLE RYINI;Lo;0;L;;;;;N;;;;; +B996;HANGUL SYLLABLE RYINH;Lo;0;L;;;;;N;;;;; +B997;HANGUL SYLLABLE RYID;Lo;0;L;;;;;N;;;;; +B998;HANGUL SYLLABLE RYIL;Lo;0;L;;;;;N;;;;; +B999;HANGUL SYLLABLE RYILG;Lo;0;L;;;;;N;;;;; +B99A;HANGUL SYLLABLE RYILM;Lo;0;L;;;;;N;;;;; +B99B;HANGUL SYLLABLE RYILB;Lo;0;L;;;;;N;;;;; +B99C;HANGUL SYLLABLE RYILS;Lo;0;L;;;;;N;;;;; +B99D;HANGUL SYLLABLE RYILT;Lo;0;L;;;;;N;;;;; +B99E;HANGUL SYLLABLE RYILP;Lo;0;L;;;;;N;;;;; +B99F;HANGUL SYLLABLE RYILH;Lo;0;L;;;;;N;;;;; +B9A0;HANGUL SYLLABLE RYIM;Lo;0;L;;;;;N;;;;; +B9A1;HANGUL SYLLABLE RYIB;Lo;0;L;;;;;N;;;;; +B9A2;HANGUL SYLLABLE RYIBS;Lo;0;L;;;;;N;;;;; +B9A3;HANGUL SYLLABLE RYIS;Lo;0;L;;;;;N;;;;; +B9A4;HANGUL SYLLABLE RYISS;Lo;0;L;;;;;N;;;;; +B9A5;HANGUL SYLLABLE RYING;Lo;0;L;;;;;N;;;;; +B9A6;HANGUL SYLLABLE RYIJ;Lo;0;L;;;;;N;;;;; +B9A7;HANGUL SYLLABLE RYIC;Lo;0;L;;;;;N;;;;; +B9A8;HANGUL SYLLABLE RYIK;Lo;0;L;;;;;N;;;;; +B9A9;HANGUL SYLLABLE RYIT;Lo;0;L;;;;;N;;;;; +B9AA;HANGUL SYLLABLE RYIP;Lo;0;L;;;;;N;;;;; +B9AB;HANGUL SYLLABLE RYIH;Lo;0;L;;;;;N;;;;; +B9AC;HANGUL SYLLABLE RI;Lo;0;L;;;;;N;;;;; +B9AD;HANGUL SYLLABLE RIG;Lo;0;L;;;;;N;;;;; +B9AE;HANGUL SYLLABLE RIGG;Lo;0;L;;;;;N;;;;; +B9AF;HANGUL SYLLABLE RIGS;Lo;0;L;;;;;N;;;;; +B9B0;HANGUL SYLLABLE RIN;Lo;0;L;;;;;N;;;;; +B9B1;HANGUL SYLLABLE RINI;Lo;0;L;;;;;N;;;;; +B9B2;HANGUL SYLLABLE RINH;Lo;0;L;;;;;N;;;;; +B9B3;HANGUL SYLLABLE RID;Lo;0;L;;;;;N;;;;; +B9B4;HANGUL SYLLABLE RIL;Lo;0;L;;;;;N;;;;; +B9B5;HANGUL SYLLABLE RILG;Lo;0;L;;;;;N;;;;; +B9B6;HANGUL SYLLABLE RILM;Lo;0;L;;;;;N;;;;; +B9B7;HANGUL SYLLABLE RILB;Lo;0;L;;;;;N;;;;; +B9B8;HANGUL SYLLABLE RILS;Lo;0;L;;;;;N;;;;; +B9B9;HANGUL SYLLABLE RILT;Lo;0;L;;;;;N;;;;; +B9BA;HANGUL SYLLABLE RILP;Lo;0;L;;;;;N;;;;; +B9BB;HANGUL SYLLABLE RILH;Lo;0;L;;;;;N;;;;; +B9BC;HANGUL SYLLABLE RIM;Lo;0;L;;;;;N;;;;; +B9BD;HANGUL SYLLABLE RIB;Lo;0;L;;;;;N;;;;; +B9BE;HANGUL SYLLABLE RIBS;Lo;0;L;;;;;N;;;;; +B9BF;HANGUL SYLLABLE RIS;Lo;0;L;;;;;N;;;;; +B9C0;HANGUL SYLLABLE RISS;Lo;0;L;;;;;N;;;;; +B9C1;HANGUL SYLLABLE RING;Lo;0;L;;;;;N;;;;; +B9C2;HANGUL SYLLABLE RIJ;Lo;0;L;;;;;N;;;;; +B9C3;HANGUL SYLLABLE RIC;Lo;0;L;;;;;N;;;;; +B9C4;HANGUL SYLLABLE RIK;Lo;0;L;;;;;N;;;;; +B9C5;HANGUL SYLLABLE RIT;Lo;0;L;;;;;N;;;;; +B9C6;HANGUL SYLLABLE RIP;Lo;0;L;;;;;N;;;;; +B9C7;HANGUL SYLLABLE RIH;Lo;0;L;;;;;N;;;;; +B9C8;HANGUL SYLLABLE MA;Lo;0;L;;;;;N;;;;; +B9C9;HANGUL SYLLABLE MAG;Lo;0;L;;;;;N;;;;; +B9CA;HANGUL SYLLABLE MAGG;Lo;0;L;;;;;N;;;;; +B9CB;HANGUL SYLLABLE MAGS;Lo;0;L;;;;;N;;;;; +B9CC;HANGUL SYLLABLE MAN;Lo;0;L;;;;;N;;;;; +B9CD;HANGUL SYLLABLE MANI;Lo;0;L;;;;;N;;;;; +B9CE;HANGUL SYLLABLE MANH;Lo;0;L;;;;;N;;;;; +B9CF;HANGUL SYLLABLE MAD;Lo;0;L;;;;;N;;;;; +B9D0;HANGUL SYLLABLE MAL;Lo;0;L;;;;;N;;;;; +B9D1;HANGUL SYLLABLE MALG;Lo;0;L;;;;;N;;;;; +B9D2;HANGUL SYLLABLE MALM;Lo;0;L;;;;;N;;;;; +B9D3;HANGUL SYLLABLE MALB;Lo;0;L;;;;;N;;;;; +B9D4;HANGUL SYLLABLE MALS;Lo;0;L;;;;;N;;;;; +B9D5;HANGUL SYLLABLE MALT;Lo;0;L;;;;;N;;;;; +B9D6;HANGUL SYLLABLE MALP;Lo;0;L;;;;;N;;;;; +B9D7;HANGUL SYLLABLE MALH;Lo;0;L;;;;;N;;;;; +B9D8;HANGUL SYLLABLE MAM;Lo;0;L;;;;;N;;;;; +B9D9;HANGUL SYLLABLE MAB;Lo;0;L;;;;;N;;;;; +B9DA;HANGUL SYLLABLE MABS;Lo;0;L;;;;;N;;;;; +B9DB;HANGUL SYLLABLE MAS;Lo;0;L;;;;;N;;;;; +B9DC;HANGUL SYLLABLE MASS;Lo;0;L;;;;;N;;;;; +B9DD;HANGUL SYLLABLE MANG;Lo;0;L;;;;;N;;;;; +B9DE;HANGUL SYLLABLE MAJ;Lo;0;L;;;;;N;;;;; +B9DF;HANGUL SYLLABLE MAC;Lo;0;L;;;;;N;;;;; +B9E0;HANGUL SYLLABLE MAK;Lo;0;L;;;;;N;;;;; +B9E1;HANGUL SYLLABLE MAT;Lo;0;L;;;;;N;;;;; +B9E2;HANGUL SYLLABLE MAP;Lo;0;L;;;;;N;;;;; +B9E3;HANGUL SYLLABLE MAH;Lo;0;L;;;;;N;;;;; +B9E4;HANGUL SYLLABLE MAE;Lo;0;L;;;;;N;;;;; +B9E5;HANGUL SYLLABLE MAEG;Lo;0;L;;;;;N;;;;; +B9E6;HANGUL SYLLABLE MAEGG;Lo;0;L;;;;;N;;;;; +B9E7;HANGUL SYLLABLE MAEGS;Lo;0;L;;;;;N;;;;; +B9E8;HANGUL SYLLABLE MAEN;Lo;0;L;;;;;N;;;;; +B9E9;HANGUL SYLLABLE MAENI;Lo;0;L;;;;;N;;;;; +B9EA;HANGUL SYLLABLE MAENH;Lo;0;L;;;;;N;;;;; +B9EB;HANGUL SYLLABLE MAED;Lo;0;L;;;;;N;;;;; +B9EC;HANGUL SYLLABLE MAEL;Lo;0;L;;;;;N;;;;; +B9ED;HANGUL SYLLABLE MAELG;Lo;0;L;;;;;N;;;;; +B9EE;HANGUL SYLLABLE MAELM;Lo;0;L;;;;;N;;;;; +B9EF;HANGUL SYLLABLE MAELB;Lo;0;L;;;;;N;;;;; +B9F0;HANGUL SYLLABLE MAELS;Lo;0;L;;;;;N;;;;; +B9F1;HANGUL SYLLABLE MAELT;Lo;0;L;;;;;N;;;;; +B9F2;HANGUL SYLLABLE MAELP;Lo;0;L;;;;;N;;;;; +B9F3;HANGUL SYLLABLE MAELH;Lo;0;L;;;;;N;;;;; +B9F4;HANGUL SYLLABLE MAEM;Lo;0;L;;;;;N;;;;; +B9F5;HANGUL SYLLABLE MAEB;Lo;0;L;;;;;N;;;;; +B9F6;HANGUL SYLLABLE MAEBS;Lo;0;L;;;;;N;;;;; +B9F7;HANGUL SYLLABLE MAES;Lo;0;L;;;;;N;;;;; +B9F8;HANGUL SYLLABLE MAESS;Lo;0;L;;;;;N;;;;; +B9F9;HANGUL SYLLABLE MAENG;Lo;0;L;;;;;N;;;;; +B9FA;HANGUL SYLLABLE MAEJ;Lo;0;L;;;;;N;;;;; +B9FB;HANGUL SYLLABLE MAEC;Lo;0;L;;;;;N;;;;; +B9FC;HANGUL SYLLABLE MAEK;Lo;0;L;;;;;N;;;;; +B9FD;HANGUL SYLLABLE MAET;Lo;0;L;;;;;N;;;;; +B9FE;HANGUL SYLLABLE MAEP;Lo;0;L;;;;;N;;;;; +B9FF;HANGUL SYLLABLE MAEH;Lo;0;L;;;;;N;;;;; +BA00;HANGUL SYLLABLE MYA;Lo;0;L;;;;;N;;;;; +BA01;HANGUL SYLLABLE MYAG;Lo;0;L;;;;;N;;;;; +BA02;HANGUL SYLLABLE MYAGG;Lo;0;L;;;;;N;;;;; +BA03;HANGUL SYLLABLE MYAGS;Lo;0;L;;;;;N;;;;; +BA04;HANGUL SYLLABLE MYAN;Lo;0;L;;;;;N;;;;; +BA05;HANGUL SYLLABLE MYANI;Lo;0;L;;;;;N;;;;; +BA06;HANGUL SYLLABLE MYANH;Lo;0;L;;;;;N;;;;; +BA07;HANGUL SYLLABLE MYAD;Lo;0;L;;;;;N;;;;; +BA08;HANGUL SYLLABLE MYAL;Lo;0;L;;;;;N;;;;; +BA09;HANGUL SYLLABLE MYALG;Lo;0;L;;;;;N;;;;; +BA0A;HANGUL SYLLABLE MYALM;Lo;0;L;;;;;N;;;;; +BA0B;HANGUL SYLLABLE MYALB;Lo;0;L;;;;;N;;;;; +BA0C;HANGUL SYLLABLE MYALS;Lo;0;L;;;;;N;;;;; +BA0D;HANGUL SYLLABLE MYALT;Lo;0;L;;;;;N;;;;; +BA0E;HANGUL SYLLABLE MYALP;Lo;0;L;;;;;N;;;;; +BA0F;HANGUL SYLLABLE MYALH;Lo;0;L;;;;;N;;;;; +BA10;HANGUL SYLLABLE MYAM;Lo;0;L;;;;;N;;;;; +BA11;HANGUL SYLLABLE MYAB;Lo;0;L;;;;;N;;;;; +BA12;HANGUL SYLLABLE MYABS;Lo;0;L;;;;;N;;;;; +BA13;HANGUL SYLLABLE MYAS;Lo;0;L;;;;;N;;;;; +BA14;HANGUL SYLLABLE MYASS;Lo;0;L;;;;;N;;;;; +BA15;HANGUL SYLLABLE MYANG;Lo;0;L;;;;;N;;;;; +BA16;HANGUL SYLLABLE MYAJ;Lo;0;L;;;;;N;;;;; +BA17;HANGUL SYLLABLE MYAC;Lo;0;L;;;;;N;;;;; +BA18;HANGUL SYLLABLE MYAK;Lo;0;L;;;;;N;;;;; +BA19;HANGUL SYLLABLE MYAT;Lo;0;L;;;;;N;;;;; +BA1A;HANGUL SYLLABLE MYAP;Lo;0;L;;;;;N;;;;; +BA1B;HANGUL SYLLABLE MYAH;Lo;0;L;;;;;N;;;;; +BA1C;HANGUL SYLLABLE MYAE;Lo;0;L;;;;;N;;;;; +BA1D;HANGUL SYLLABLE MYAEG;Lo;0;L;;;;;N;;;;; +BA1E;HANGUL SYLLABLE MYAEGG;Lo;0;L;;;;;N;;;;; +BA1F;HANGUL SYLLABLE MYAEGS;Lo;0;L;;;;;N;;;;; +BA20;HANGUL SYLLABLE MYAEN;Lo;0;L;;;;;N;;;;; +BA21;HANGUL SYLLABLE MYAENI;Lo;0;L;;;;;N;;;;; +BA22;HANGUL SYLLABLE MYAENH;Lo;0;L;;;;;N;;;;; +BA23;HANGUL SYLLABLE MYAED;Lo;0;L;;;;;N;;;;; +BA24;HANGUL SYLLABLE MYAEL;Lo;0;L;;;;;N;;;;; +BA25;HANGUL SYLLABLE MYAELG;Lo;0;L;;;;;N;;;;; +BA26;HANGUL SYLLABLE MYAELM;Lo;0;L;;;;;N;;;;; +BA27;HANGUL SYLLABLE MYAELB;Lo;0;L;;;;;N;;;;; +BA28;HANGUL SYLLABLE MYAELS;Lo;0;L;;;;;N;;;;; +BA29;HANGUL SYLLABLE MYAELT;Lo;0;L;;;;;N;;;;; +BA2A;HANGUL SYLLABLE MYAELP;Lo;0;L;;;;;N;;;;; +BA2B;HANGUL SYLLABLE MYAELH;Lo;0;L;;;;;N;;;;; +BA2C;HANGUL SYLLABLE MYAEM;Lo;0;L;;;;;N;;;;; +BA2D;HANGUL SYLLABLE MYAEB;Lo;0;L;;;;;N;;;;; +BA2E;HANGUL SYLLABLE MYAEBS;Lo;0;L;;;;;N;;;;; +BA2F;HANGUL SYLLABLE MYAES;Lo;0;L;;;;;N;;;;; +BA30;HANGUL SYLLABLE MYAESS;Lo;0;L;;;;;N;;;;; +BA31;HANGUL SYLLABLE MYAENG;Lo;0;L;;;;;N;;;;; +BA32;HANGUL SYLLABLE MYAEJ;Lo;0;L;;;;;N;;;;; +BA33;HANGUL SYLLABLE MYAEC;Lo;0;L;;;;;N;;;;; +BA34;HANGUL SYLLABLE MYAEK;Lo;0;L;;;;;N;;;;; +BA35;HANGUL SYLLABLE MYAET;Lo;0;L;;;;;N;;;;; +BA36;HANGUL SYLLABLE MYAEP;Lo;0;L;;;;;N;;;;; +BA37;HANGUL SYLLABLE MYAEH;Lo;0;L;;;;;N;;;;; +BA38;HANGUL SYLLABLE MEO;Lo;0;L;;;;;N;;;;; +BA39;HANGUL SYLLABLE MEOG;Lo;0;L;;;;;N;;;;; +BA3A;HANGUL SYLLABLE MEOGG;Lo;0;L;;;;;N;;;;; +BA3B;HANGUL SYLLABLE MEOGS;Lo;0;L;;;;;N;;;;; +BA3C;HANGUL SYLLABLE MEON;Lo;0;L;;;;;N;;;;; +BA3D;HANGUL SYLLABLE MEONI;Lo;0;L;;;;;N;;;;; +BA3E;HANGUL SYLLABLE MEONH;Lo;0;L;;;;;N;;;;; +BA3F;HANGUL SYLLABLE MEOD;Lo;0;L;;;;;N;;;;; +BA40;HANGUL SYLLABLE MEOL;Lo;0;L;;;;;N;;;;; +BA41;HANGUL SYLLABLE MEOLG;Lo;0;L;;;;;N;;;;; +BA42;HANGUL SYLLABLE MEOLM;Lo;0;L;;;;;N;;;;; +BA43;HANGUL SYLLABLE MEOLB;Lo;0;L;;;;;N;;;;; +BA44;HANGUL SYLLABLE MEOLS;Lo;0;L;;;;;N;;;;; +BA45;HANGUL SYLLABLE MEOLT;Lo;0;L;;;;;N;;;;; +BA46;HANGUL SYLLABLE MEOLP;Lo;0;L;;;;;N;;;;; +BA47;HANGUL SYLLABLE MEOLH;Lo;0;L;;;;;N;;;;; +BA48;HANGUL SYLLABLE MEOM;Lo;0;L;;;;;N;;;;; +BA49;HANGUL SYLLABLE MEOB;Lo;0;L;;;;;N;;;;; +BA4A;HANGUL SYLLABLE MEOBS;Lo;0;L;;;;;N;;;;; +BA4B;HANGUL SYLLABLE MEOS;Lo;0;L;;;;;N;;;;; +BA4C;HANGUL SYLLABLE MEOSS;Lo;0;L;;;;;N;;;;; +BA4D;HANGUL SYLLABLE MEONG;Lo;0;L;;;;;N;;;;; +BA4E;HANGUL SYLLABLE MEOJ;Lo;0;L;;;;;N;;;;; +BA4F;HANGUL SYLLABLE MEOC;Lo;0;L;;;;;N;;;;; +BA50;HANGUL SYLLABLE MEOK;Lo;0;L;;;;;N;;;;; +BA51;HANGUL SYLLABLE MEOT;Lo;0;L;;;;;N;;;;; +BA52;HANGUL SYLLABLE MEOP;Lo;0;L;;;;;N;;;;; +BA53;HANGUL SYLLABLE MEOH;Lo;0;L;;;;;N;;;;; +BA54;HANGUL SYLLABLE ME;Lo;0;L;;;;;N;;;;; +BA55;HANGUL SYLLABLE MEG;Lo;0;L;;;;;N;;;;; +BA56;HANGUL SYLLABLE MEGG;Lo;0;L;;;;;N;;;;; +BA57;HANGUL SYLLABLE MEGS;Lo;0;L;;;;;N;;;;; +BA58;HANGUL SYLLABLE MEN;Lo;0;L;;;;;N;;;;; +BA59;HANGUL SYLLABLE MENI;Lo;0;L;;;;;N;;;;; +BA5A;HANGUL SYLLABLE MENH;Lo;0;L;;;;;N;;;;; +BA5B;HANGUL SYLLABLE MED;Lo;0;L;;;;;N;;;;; +BA5C;HANGUL SYLLABLE MEL;Lo;0;L;;;;;N;;;;; +BA5D;HANGUL SYLLABLE MELG;Lo;0;L;;;;;N;;;;; +BA5E;HANGUL SYLLABLE MELM;Lo;0;L;;;;;N;;;;; +BA5F;HANGUL SYLLABLE MELB;Lo;0;L;;;;;N;;;;; +BA60;HANGUL SYLLABLE MELS;Lo;0;L;;;;;N;;;;; +BA61;HANGUL SYLLABLE MELT;Lo;0;L;;;;;N;;;;; +BA62;HANGUL SYLLABLE MELP;Lo;0;L;;;;;N;;;;; +BA63;HANGUL SYLLABLE MELH;Lo;0;L;;;;;N;;;;; +BA64;HANGUL SYLLABLE MEM;Lo;0;L;;;;;N;;;;; +BA65;HANGUL SYLLABLE MEB;Lo;0;L;;;;;N;;;;; +BA66;HANGUL SYLLABLE MEBS;Lo;0;L;;;;;N;;;;; +BA67;HANGUL SYLLABLE MES;Lo;0;L;;;;;N;;;;; +BA68;HANGUL SYLLABLE MESS;Lo;0;L;;;;;N;;;;; +BA69;HANGUL SYLLABLE MENG;Lo;0;L;;;;;N;;;;; +BA6A;HANGUL SYLLABLE MEJ;Lo;0;L;;;;;N;;;;; +BA6B;HANGUL SYLLABLE MEC;Lo;0;L;;;;;N;;;;; +BA6C;HANGUL SYLLABLE MEK;Lo;0;L;;;;;N;;;;; +BA6D;HANGUL SYLLABLE MET;Lo;0;L;;;;;N;;;;; +BA6E;HANGUL SYLLABLE MEP;Lo;0;L;;;;;N;;;;; +BA6F;HANGUL SYLLABLE MEH;Lo;0;L;;;;;N;;;;; +BA70;HANGUL SYLLABLE MYEO;Lo;0;L;;;;;N;;;;; +BA71;HANGUL SYLLABLE MYEOG;Lo;0;L;;;;;N;;;;; +BA72;HANGUL SYLLABLE MYEOGG;Lo;0;L;;;;;N;;;;; +BA73;HANGUL SYLLABLE MYEOGS;Lo;0;L;;;;;N;;;;; +BA74;HANGUL SYLLABLE MYEON;Lo;0;L;;;;;N;;;;; +BA75;HANGUL SYLLABLE MYEONI;Lo;0;L;;;;;N;;;;; +BA76;HANGUL SYLLABLE MYEONH;Lo;0;L;;;;;N;;;;; +BA77;HANGUL SYLLABLE MYEOD;Lo;0;L;;;;;N;;;;; +BA78;HANGUL SYLLABLE MYEOL;Lo;0;L;;;;;N;;;;; +BA79;HANGUL SYLLABLE MYEOLG;Lo;0;L;;;;;N;;;;; +BA7A;HANGUL SYLLABLE MYEOLM;Lo;0;L;;;;;N;;;;; +BA7B;HANGUL SYLLABLE MYEOLB;Lo;0;L;;;;;N;;;;; +BA7C;HANGUL SYLLABLE MYEOLS;Lo;0;L;;;;;N;;;;; +BA7D;HANGUL SYLLABLE MYEOLT;Lo;0;L;;;;;N;;;;; +BA7E;HANGUL SYLLABLE MYEOLP;Lo;0;L;;;;;N;;;;; +BA7F;HANGUL SYLLABLE MYEOLH;Lo;0;L;;;;;N;;;;; +BA80;HANGUL SYLLABLE MYEOM;Lo;0;L;;;;;N;;;;; +BA81;HANGUL SYLLABLE MYEOB;Lo;0;L;;;;;N;;;;; +BA82;HANGUL SYLLABLE MYEOBS;Lo;0;L;;;;;N;;;;; +BA83;HANGUL SYLLABLE MYEOS;Lo;0;L;;;;;N;;;;; +BA84;HANGUL SYLLABLE MYEOSS;Lo;0;L;;;;;N;;;;; +BA85;HANGUL SYLLABLE MYEONG;Lo;0;L;;;;;N;;;;; +BA86;HANGUL SYLLABLE MYEOJ;Lo;0;L;;;;;N;;;;; +BA87;HANGUL SYLLABLE MYEOC;Lo;0;L;;;;;N;;;;; +BA88;HANGUL SYLLABLE MYEOK;Lo;0;L;;;;;N;;;;; +BA89;HANGUL SYLLABLE MYEOT;Lo;0;L;;;;;N;;;;; +BA8A;HANGUL SYLLABLE MYEOP;Lo;0;L;;;;;N;;;;; +BA8B;HANGUL SYLLABLE MYEOH;Lo;0;L;;;;;N;;;;; +BA8C;HANGUL SYLLABLE MYE;Lo;0;L;;;;;N;;;;; +BA8D;HANGUL SYLLABLE MYEG;Lo;0;L;;;;;N;;;;; +BA8E;HANGUL SYLLABLE MYEGG;Lo;0;L;;;;;N;;;;; +BA8F;HANGUL SYLLABLE MYEGS;Lo;0;L;;;;;N;;;;; +BA90;HANGUL SYLLABLE MYEN;Lo;0;L;;;;;N;;;;; +BA91;HANGUL SYLLABLE MYENI;Lo;0;L;;;;;N;;;;; +BA92;HANGUL SYLLABLE MYENH;Lo;0;L;;;;;N;;;;; +BA93;HANGUL SYLLABLE MYED;Lo;0;L;;;;;N;;;;; +BA94;HANGUL SYLLABLE MYEL;Lo;0;L;;;;;N;;;;; +BA95;HANGUL SYLLABLE MYELG;Lo;0;L;;;;;N;;;;; +BA96;HANGUL SYLLABLE MYELM;Lo;0;L;;;;;N;;;;; +BA97;HANGUL SYLLABLE MYELB;Lo;0;L;;;;;N;;;;; +BA98;HANGUL SYLLABLE MYELS;Lo;0;L;;;;;N;;;;; +BA99;HANGUL SYLLABLE MYELT;Lo;0;L;;;;;N;;;;; +BA9A;HANGUL SYLLABLE MYELP;Lo;0;L;;;;;N;;;;; +BA9B;HANGUL SYLLABLE MYELH;Lo;0;L;;;;;N;;;;; +BA9C;HANGUL SYLLABLE MYEM;Lo;0;L;;;;;N;;;;; +BA9D;HANGUL SYLLABLE MYEB;Lo;0;L;;;;;N;;;;; +BA9E;HANGUL SYLLABLE MYEBS;Lo;0;L;;;;;N;;;;; +BA9F;HANGUL SYLLABLE MYES;Lo;0;L;;;;;N;;;;; +BAA0;HANGUL SYLLABLE MYESS;Lo;0;L;;;;;N;;;;; +BAA1;HANGUL SYLLABLE MYENG;Lo;0;L;;;;;N;;;;; +BAA2;HANGUL SYLLABLE MYEJ;Lo;0;L;;;;;N;;;;; +BAA3;HANGUL SYLLABLE MYEC;Lo;0;L;;;;;N;;;;; +BAA4;HANGUL SYLLABLE MYEK;Lo;0;L;;;;;N;;;;; +BAA5;HANGUL SYLLABLE MYET;Lo;0;L;;;;;N;;;;; +BAA6;HANGUL SYLLABLE MYEP;Lo;0;L;;;;;N;;;;; +BAA7;HANGUL SYLLABLE MYEH;Lo;0;L;;;;;N;;;;; +BAA8;HANGUL SYLLABLE MO;Lo;0;L;;;;;N;;;;; +BAA9;HANGUL SYLLABLE MOG;Lo;0;L;;;;;N;;;;; +BAAA;HANGUL SYLLABLE MOGG;Lo;0;L;;;;;N;;;;; +BAAB;HANGUL SYLLABLE MOGS;Lo;0;L;;;;;N;;;;; +BAAC;HANGUL SYLLABLE MON;Lo;0;L;;;;;N;;;;; +BAAD;HANGUL SYLLABLE MONI;Lo;0;L;;;;;N;;;;; +BAAE;HANGUL SYLLABLE MONH;Lo;0;L;;;;;N;;;;; +BAAF;HANGUL SYLLABLE MOD;Lo;0;L;;;;;N;;;;; +BAB0;HANGUL SYLLABLE MOL;Lo;0;L;;;;;N;;;;; +BAB1;HANGUL SYLLABLE MOLG;Lo;0;L;;;;;N;;;;; +BAB2;HANGUL SYLLABLE MOLM;Lo;0;L;;;;;N;;;;; +BAB3;HANGUL SYLLABLE MOLB;Lo;0;L;;;;;N;;;;; +BAB4;HANGUL SYLLABLE MOLS;Lo;0;L;;;;;N;;;;; +BAB5;HANGUL SYLLABLE MOLT;Lo;0;L;;;;;N;;;;; +BAB6;HANGUL SYLLABLE MOLP;Lo;0;L;;;;;N;;;;; +BAB7;HANGUL SYLLABLE MOLH;Lo;0;L;;;;;N;;;;; +BAB8;HANGUL SYLLABLE MOM;Lo;0;L;;;;;N;;;;; +BAB9;HANGUL SYLLABLE MOB;Lo;0;L;;;;;N;;;;; +BABA;HANGUL SYLLABLE MOBS;Lo;0;L;;;;;N;;;;; +BABB;HANGUL SYLLABLE MOS;Lo;0;L;;;;;N;;;;; +BABC;HANGUL SYLLABLE MOSS;Lo;0;L;;;;;N;;;;; +BABD;HANGUL SYLLABLE MONG;Lo;0;L;;;;;N;;;;; +BABE;HANGUL SYLLABLE MOJ;Lo;0;L;;;;;N;;;;; +BABF;HANGUL SYLLABLE MOC;Lo;0;L;;;;;N;;;;; +BAC0;HANGUL SYLLABLE MOK;Lo;0;L;;;;;N;;;;; +BAC1;HANGUL SYLLABLE MOT;Lo;0;L;;;;;N;;;;; +BAC2;HANGUL SYLLABLE MOP;Lo;0;L;;;;;N;;;;; +BAC3;HANGUL SYLLABLE MOH;Lo;0;L;;;;;N;;;;; +BAC4;HANGUL SYLLABLE MWA;Lo;0;L;;;;;N;;;;; +BAC5;HANGUL SYLLABLE MWAG;Lo;0;L;;;;;N;;;;; +BAC6;HANGUL SYLLABLE MWAGG;Lo;0;L;;;;;N;;;;; +BAC7;HANGUL SYLLABLE MWAGS;Lo;0;L;;;;;N;;;;; +BAC8;HANGUL SYLLABLE MWAN;Lo;0;L;;;;;N;;;;; +BAC9;HANGUL SYLLABLE MWANI;Lo;0;L;;;;;N;;;;; +BACA;HANGUL SYLLABLE MWANH;Lo;0;L;;;;;N;;;;; +BACB;HANGUL SYLLABLE MWAD;Lo;0;L;;;;;N;;;;; +BACC;HANGUL SYLLABLE MWAL;Lo;0;L;;;;;N;;;;; +BACD;HANGUL SYLLABLE MWALG;Lo;0;L;;;;;N;;;;; +BACE;HANGUL SYLLABLE MWALM;Lo;0;L;;;;;N;;;;; +BACF;HANGUL SYLLABLE MWALB;Lo;0;L;;;;;N;;;;; +BAD0;HANGUL SYLLABLE MWALS;Lo;0;L;;;;;N;;;;; +BAD1;HANGUL SYLLABLE MWALT;Lo;0;L;;;;;N;;;;; +BAD2;HANGUL SYLLABLE MWALP;Lo;0;L;;;;;N;;;;; +BAD3;HANGUL SYLLABLE MWALH;Lo;0;L;;;;;N;;;;; +BAD4;HANGUL SYLLABLE MWAM;Lo;0;L;;;;;N;;;;; +BAD5;HANGUL SYLLABLE MWAB;Lo;0;L;;;;;N;;;;; +BAD6;HANGUL SYLLABLE MWABS;Lo;0;L;;;;;N;;;;; +BAD7;HANGUL SYLLABLE MWAS;Lo;0;L;;;;;N;;;;; +BAD8;HANGUL SYLLABLE MWASS;Lo;0;L;;;;;N;;;;; +BAD9;HANGUL SYLLABLE MWANG;Lo;0;L;;;;;N;;;;; +BADA;HANGUL SYLLABLE MWAJ;Lo;0;L;;;;;N;;;;; +BADB;HANGUL SYLLABLE MWAC;Lo;0;L;;;;;N;;;;; +BADC;HANGUL SYLLABLE MWAK;Lo;0;L;;;;;N;;;;; +BADD;HANGUL SYLLABLE MWAT;Lo;0;L;;;;;N;;;;; +BADE;HANGUL SYLLABLE MWAP;Lo;0;L;;;;;N;;;;; +BADF;HANGUL SYLLABLE MWAH;Lo;0;L;;;;;N;;;;; +BAE0;HANGUL SYLLABLE MWAE;Lo;0;L;;;;;N;;;;; +BAE1;HANGUL SYLLABLE MWAEG;Lo;0;L;;;;;N;;;;; +BAE2;HANGUL SYLLABLE MWAEGG;Lo;0;L;;;;;N;;;;; +BAE3;HANGUL SYLLABLE MWAEGS;Lo;0;L;;;;;N;;;;; +BAE4;HANGUL SYLLABLE MWAEN;Lo;0;L;;;;;N;;;;; +BAE5;HANGUL SYLLABLE MWAENI;Lo;0;L;;;;;N;;;;; +BAE6;HANGUL SYLLABLE MWAENH;Lo;0;L;;;;;N;;;;; +BAE7;HANGUL SYLLABLE MWAED;Lo;0;L;;;;;N;;;;; +BAE8;HANGUL SYLLABLE MWAEL;Lo;0;L;;;;;N;;;;; +BAE9;HANGUL SYLLABLE MWAELG;Lo;0;L;;;;;N;;;;; +BAEA;HANGUL SYLLABLE MWAELM;Lo;0;L;;;;;N;;;;; +BAEB;HANGUL SYLLABLE MWAELB;Lo;0;L;;;;;N;;;;; +BAEC;HANGUL SYLLABLE MWAELS;Lo;0;L;;;;;N;;;;; +BAED;HANGUL SYLLABLE MWAELT;Lo;0;L;;;;;N;;;;; +BAEE;HANGUL SYLLABLE MWAELP;Lo;0;L;;;;;N;;;;; +BAEF;HANGUL SYLLABLE MWAELH;Lo;0;L;;;;;N;;;;; +BAF0;HANGUL SYLLABLE MWAEM;Lo;0;L;;;;;N;;;;; +BAF1;HANGUL SYLLABLE MWAEB;Lo;0;L;;;;;N;;;;; +BAF2;HANGUL SYLLABLE MWAEBS;Lo;0;L;;;;;N;;;;; +BAF3;HANGUL SYLLABLE MWAES;Lo;0;L;;;;;N;;;;; +BAF4;HANGUL SYLLABLE MWAESS;Lo;0;L;;;;;N;;;;; +BAF5;HANGUL SYLLABLE MWAENG;Lo;0;L;;;;;N;;;;; +BAF6;HANGUL SYLLABLE MWAEJ;Lo;0;L;;;;;N;;;;; +BAF7;HANGUL SYLLABLE MWAEC;Lo;0;L;;;;;N;;;;; +BAF8;HANGUL SYLLABLE MWAEK;Lo;0;L;;;;;N;;;;; +BAF9;HANGUL SYLLABLE MWAET;Lo;0;L;;;;;N;;;;; +BAFA;HANGUL SYLLABLE MWAEP;Lo;0;L;;;;;N;;;;; +BAFB;HANGUL SYLLABLE MWAEH;Lo;0;L;;;;;N;;;;; +BAFC;HANGUL SYLLABLE MOE;Lo;0;L;;;;;N;;;;; +BAFD;HANGUL SYLLABLE MOEG;Lo;0;L;;;;;N;;;;; +BAFE;HANGUL SYLLABLE MOEGG;Lo;0;L;;;;;N;;;;; +BAFF;HANGUL SYLLABLE MOEGS;Lo;0;L;;;;;N;;;;; +BB00;HANGUL SYLLABLE MOEN;Lo;0;L;;;;;N;;;;; +BB01;HANGUL SYLLABLE MOENI;Lo;0;L;;;;;N;;;;; +BB02;HANGUL SYLLABLE MOENH;Lo;0;L;;;;;N;;;;; +BB03;HANGUL SYLLABLE MOED;Lo;0;L;;;;;N;;;;; +BB04;HANGUL SYLLABLE MOEL;Lo;0;L;;;;;N;;;;; +BB05;HANGUL SYLLABLE MOELG;Lo;0;L;;;;;N;;;;; +BB06;HANGUL SYLLABLE MOELM;Lo;0;L;;;;;N;;;;; +BB07;HANGUL SYLLABLE MOELB;Lo;0;L;;;;;N;;;;; +BB08;HANGUL SYLLABLE MOELS;Lo;0;L;;;;;N;;;;; +BB09;HANGUL SYLLABLE MOELT;Lo;0;L;;;;;N;;;;; +BB0A;HANGUL SYLLABLE MOELP;Lo;0;L;;;;;N;;;;; +BB0B;HANGUL SYLLABLE MOELH;Lo;0;L;;;;;N;;;;; +BB0C;HANGUL SYLLABLE MOEM;Lo;0;L;;;;;N;;;;; +BB0D;HANGUL SYLLABLE MOEB;Lo;0;L;;;;;N;;;;; +BB0E;HANGUL SYLLABLE MOEBS;Lo;0;L;;;;;N;;;;; +BB0F;HANGUL SYLLABLE MOES;Lo;0;L;;;;;N;;;;; +BB10;HANGUL SYLLABLE MOESS;Lo;0;L;;;;;N;;;;; +BB11;HANGUL SYLLABLE MOENG;Lo;0;L;;;;;N;;;;; +BB12;HANGUL SYLLABLE MOEJ;Lo;0;L;;;;;N;;;;; +BB13;HANGUL SYLLABLE MOEC;Lo;0;L;;;;;N;;;;; +BB14;HANGUL SYLLABLE MOEK;Lo;0;L;;;;;N;;;;; +BB15;HANGUL SYLLABLE MOET;Lo;0;L;;;;;N;;;;; +BB16;HANGUL SYLLABLE MOEP;Lo;0;L;;;;;N;;;;; +BB17;HANGUL SYLLABLE MOEH;Lo;0;L;;;;;N;;;;; +BB18;HANGUL SYLLABLE MYO;Lo;0;L;;;;;N;;;;; +BB19;HANGUL SYLLABLE MYOG;Lo;0;L;;;;;N;;;;; +BB1A;HANGUL SYLLABLE MYOGG;Lo;0;L;;;;;N;;;;; +BB1B;HANGUL SYLLABLE MYOGS;Lo;0;L;;;;;N;;;;; +BB1C;HANGUL SYLLABLE MYON;Lo;0;L;;;;;N;;;;; +BB1D;HANGUL SYLLABLE MYONI;Lo;0;L;;;;;N;;;;; +BB1E;HANGUL SYLLABLE MYONH;Lo;0;L;;;;;N;;;;; +BB1F;HANGUL SYLLABLE MYOD;Lo;0;L;;;;;N;;;;; +BB20;HANGUL SYLLABLE MYOL;Lo;0;L;;;;;N;;;;; +BB21;HANGUL SYLLABLE MYOLG;Lo;0;L;;;;;N;;;;; +BB22;HANGUL SYLLABLE MYOLM;Lo;0;L;;;;;N;;;;; +BB23;HANGUL SYLLABLE MYOLB;Lo;0;L;;;;;N;;;;; +BB24;HANGUL SYLLABLE MYOLS;Lo;0;L;;;;;N;;;;; +BB25;HANGUL SYLLABLE MYOLT;Lo;0;L;;;;;N;;;;; +BB26;HANGUL SYLLABLE MYOLP;Lo;0;L;;;;;N;;;;; +BB27;HANGUL SYLLABLE MYOLH;Lo;0;L;;;;;N;;;;; +BB28;HANGUL SYLLABLE MYOM;Lo;0;L;;;;;N;;;;; +BB29;HANGUL SYLLABLE MYOB;Lo;0;L;;;;;N;;;;; +BB2A;HANGUL SYLLABLE MYOBS;Lo;0;L;;;;;N;;;;; +BB2B;HANGUL SYLLABLE MYOS;Lo;0;L;;;;;N;;;;; +BB2C;HANGUL SYLLABLE MYOSS;Lo;0;L;;;;;N;;;;; +BB2D;HANGUL SYLLABLE MYONG;Lo;0;L;;;;;N;;;;; +BB2E;HANGUL SYLLABLE MYOJ;Lo;0;L;;;;;N;;;;; +BB2F;HANGUL SYLLABLE MYOC;Lo;0;L;;;;;N;;;;; +BB30;HANGUL SYLLABLE MYOK;Lo;0;L;;;;;N;;;;; +BB31;HANGUL SYLLABLE MYOT;Lo;0;L;;;;;N;;;;; +BB32;HANGUL SYLLABLE MYOP;Lo;0;L;;;;;N;;;;; +BB33;HANGUL SYLLABLE MYOH;Lo;0;L;;;;;N;;;;; +BB34;HANGUL SYLLABLE MU;Lo;0;L;;;;;N;;;;; +BB35;HANGUL SYLLABLE MUG;Lo;0;L;;;;;N;;;;; +BB36;HANGUL SYLLABLE MUGG;Lo;0;L;;;;;N;;;;; +BB37;HANGUL SYLLABLE MUGS;Lo;0;L;;;;;N;;;;; +BB38;HANGUL SYLLABLE MUN;Lo;0;L;;;;;N;;;;; +BB39;HANGUL SYLLABLE MUNI;Lo;0;L;;;;;N;;;;; +BB3A;HANGUL SYLLABLE MUNH;Lo;0;L;;;;;N;;;;; +BB3B;HANGUL SYLLABLE MUD;Lo;0;L;;;;;N;;;;; +BB3C;HANGUL SYLLABLE MUL;Lo;0;L;;;;;N;;;;; +BB3D;HANGUL SYLLABLE MULG;Lo;0;L;;;;;N;;;;; +BB3E;HANGUL SYLLABLE MULM;Lo;0;L;;;;;N;;;;; +BB3F;HANGUL SYLLABLE MULB;Lo;0;L;;;;;N;;;;; +BB40;HANGUL SYLLABLE MULS;Lo;0;L;;;;;N;;;;; +BB41;HANGUL SYLLABLE MULT;Lo;0;L;;;;;N;;;;; +BB42;HANGUL SYLLABLE MULP;Lo;0;L;;;;;N;;;;; +BB43;HANGUL SYLLABLE MULH;Lo;0;L;;;;;N;;;;; +BB44;HANGUL SYLLABLE MUM;Lo;0;L;;;;;N;;;;; +BB45;HANGUL SYLLABLE MUB;Lo;0;L;;;;;N;;;;; +BB46;HANGUL SYLLABLE MUBS;Lo;0;L;;;;;N;;;;; +BB47;HANGUL SYLLABLE MUS;Lo;0;L;;;;;N;;;;; +BB48;HANGUL SYLLABLE MUSS;Lo;0;L;;;;;N;;;;; +BB49;HANGUL SYLLABLE MUNG;Lo;0;L;;;;;N;;;;; +BB4A;HANGUL SYLLABLE MUJ;Lo;0;L;;;;;N;;;;; +BB4B;HANGUL SYLLABLE MUC;Lo;0;L;;;;;N;;;;; +BB4C;HANGUL SYLLABLE MUK;Lo;0;L;;;;;N;;;;; +BB4D;HANGUL SYLLABLE MUT;Lo;0;L;;;;;N;;;;; +BB4E;HANGUL SYLLABLE MUP;Lo;0;L;;;;;N;;;;; +BB4F;HANGUL SYLLABLE MUH;Lo;0;L;;;;;N;;;;; +BB50;HANGUL SYLLABLE MWEO;Lo;0;L;;;;;N;;;;; +BB51;HANGUL SYLLABLE MWEOG;Lo;0;L;;;;;N;;;;; +BB52;HANGUL SYLLABLE MWEOGG;Lo;0;L;;;;;N;;;;; +BB53;HANGUL SYLLABLE MWEOGS;Lo;0;L;;;;;N;;;;; +BB54;HANGUL SYLLABLE MWEON;Lo;0;L;;;;;N;;;;; +BB55;HANGUL SYLLABLE MWEONI;Lo;0;L;;;;;N;;;;; +BB56;HANGUL SYLLABLE MWEONH;Lo;0;L;;;;;N;;;;; +BB57;HANGUL SYLLABLE MWEOD;Lo;0;L;;;;;N;;;;; +BB58;HANGUL SYLLABLE MWEOL;Lo;0;L;;;;;N;;;;; +BB59;HANGUL SYLLABLE MWEOLG;Lo;0;L;;;;;N;;;;; +BB5A;HANGUL SYLLABLE MWEOLM;Lo;0;L;;;;;N;;;;; +BB5B;HANGUL SYLLABLE MWEOLB;Lo;0;L;;;;;N;;;;; +BB5C;HANGUL SYLLABLE MWEOLS;Lo;0;L;;;;;N;;;;; +BB5D;HANGUL SYLLABLE MWEOLT;Lo;0;L;;;;;N;;;;; +BB5E;HANGUL SYLLABLE MWEOLP;Lo;0;L;;;;;N;;;;; +BB5F;HANGUL SYLLABLE MWEOLH;Lo;0;L;;;;;N;;;;; +BB60;HANGUL SYLLABLE MWEOM;Lo;0;L;;;;;N;;;;; +BB61;HANGUL SYLLABLE MWEOB;Lo;0;L;;;;;N;;;;; +BB62;HANGUL SYLLABLE MWEOBS;Lo;0;L;;;;;N;;;;; +BB63;HANGUL SYLLABLE MWEOS;Lo;0;L;;;;;N;;;;; +BB64;HANGUL SYLLABLE MWEOSS;Lo;0;L;;;;;N;;;;; +BB65;HANGUL SYLLABLE MWEONG;Lo;0;L;;;;;N;;;;; +BB66;HANGUL SYLLABLE MWEOJ;Lo;0;L;;;;;N;;;;; +BB67;HANGUL SYLLABLE MWEOC;Lo;0;L;;;;;N;;;;; +BB68;HANGUL SYLLABLE MWEOK;Lo;0;L;;;;;N;;;;; +BB69;HANGUL SYLLABLE MWEOT;Lo;0;L;;;;;N;;;;; +BB6A;HANGUL SYLLABLE MWEOP;Lo;0;L;;;;;N;;;;; +BB6B;HANGUL SYLLABLE MWEOH;Lo;0;L;;;;;N;;;;; +BB6C;HANGUL SYLLABLE MWE;Lo;0;L;;;;;N;;;;; +BB6D;HANGUL SYLLABLE MWEG;Lo;0;L;;;;;N;;;;; +BB6E;HANGUL SYLLABLE MWEGG;Lo;0;L;;;;;N;;;;; +BB6F;HANGUL SYLLABLE MWEGS;Lo;0;L;;;;;N;;;;; +BB70;HANGUL SYLLABLE MWEN;Lo;0;L;;;;;N;;;;; +BB71;HANGUL SYLLABLE MWENI;Lo;0;L;;;;;N;;;;; +BB72;HANGUL SYLLABLE MWENH;Lo;0;L;;;;;N;;;;; +BB73;HANGUL SYLLABLE MWED;Lo;0;L;;;;;N;;;;; +BB74;HANGUL SYLLABLE MWEL;Lo;0;L;;;;;N;;;;; +BB75;HANGUL SYLLABLE MWELG;Lo;0;L;;;;;N;;;;; +BB76;HANGUL SYLLABLE MWELM;Lo;0;L;;;;;N;;;;; +BB77;HANGUL SYLLABLE MWELB;Lo;0;L;;;;;N;;;;; +BB78;HANGUL SYLLABLE MWELS;Lo;0;L;;;;;N;;;;; +BB79;HANGUL SYLLABLE MWELT;Lo;0;L;;;;;N;;;;; +BB7A;HANGUL SYLLABLE MWELP;Lo;0;L;;;;;N;;;;; +BB7B;HANGUL SYLLABLE MWELH;Lo;0;L;;;;;N;;;;; +BB7C;HANGUL SYLLABLE MWEM;Lo;0;L;;;;;N;;;;; +BB7D;HANGUL SYLLABLE MWEB;Lo;0;L;;;;;N;;;;; +BB7E;HANGUL SYLLABLE MWEBS;Lo;0;L;;;;;N;;;;; +BB7F;HANGUL SYLLABLE MWES;Lo;0;L;;;;;N;;;;; +BB80;HANGUL SYLLABLE MWESS;Lo;0;L;;;;;N;;;;; +BB81;HANGUL SYLLABLE MWENG;Lo;0;L;;;;;N;;;;; +BB82;HANGUL SYLLABLE MWEJ;Lo;0;L;;;;;N;;;;; +BB83;HANGUL SYLLABLE MWEC;Lo;0;L;;;;;N;;;;; +BB84;HANGUL SYLLABLE MWEK;Lo;0;L;;;;;N;;;;; +BB85;HANGUL SYLLABLE MWET;Lo;0;L;;;;;N;;;;; +BB86;HANGUL SYLLABLE MWEP;Lo;0;L;;;;;N;;;;; +BB87;HANGUL SYLLABLE MWEH;Lo;0;L;;;;;N;;;;; +BB88;HANGUL SYLLABLE MWI;Lo;0;L;;;;;N;;;;; +BB89;HANGUL SYLLABLE MWIG;Lo;0;L;;;;;N;;;;; +BB8A;HANGUL SYLLABLE MWIGG;Lo;0;L;;;;;N;;;;; +BB8B;HANGUL SYLLABLE MWIGS;Lo;0;L;;;;;N;;;;; +BB8C;HANGUL SYLLABLE MWIN;Lo;0;L;;;;;N;;;;; +BB8D;HANGUL SYLLABLE MWINI;Lo;0;L;;;;;N;;;;; +BB8E;HANGUL SYLLABLE MWINH;Lo;0;L;;;;;N;;;;; +BB8F;HANGUL SYLLABLE MWID;Lo;0;L;;;;;N;;;;; +BB90;HANGUL SYLLABLE MWIL;Lo;0;L;;;;;N;;;;; +BB91;HANGUL SYLLABLE MWILG;Lo;0;L;;;;;N;;;;; +BB92;HANGUL SYLLABLE MWILM;Lo;0;L;;;;;N;;;;; +BB93;HANGUL SYLLABLE MWILB;Lo;0;L;;;;;N;;;;; +BB94;HANGUL SYLLABLE MWILS;Lo;0;L;;;;;N;;;;; +BB95;HANGUL SYLLABLE MWILT;Lo;0;L;;;;;N;;;;; +BB96;HANGUL SYLLABLE MWILP;Lo;0;L;;;;;N;;;;; +BB97;HANGUL SYLLABLE MWILH;Lo;0;L;;;;;N;;;;; +BB98;HANGUL SYLLABLE MWIM;Lo;0;L;;;;;N;;;;; +BB99;HANGUL SYLLABLE MWIB;Lo;0;L;;;;;N;;;;; +BB9A;HANGUL SYLLABLE MWIBS;Lo;0;L;;;;;N;;;;; +BB9B;HANGUL SYLLABLE MWIS;Lo;0;L;;;;;N;;;;; +BB9C;HANGUL SYLLABLE MWISS;Lo;0;L;;;;;N;;;;; +BB9D;HANGUL SYLLABLE MWING;Lo;0;L;;;;;N;;;;; +BB9E;HANGUL SYLLABLE MWIJ;Lo;0;L;;;;;N;;;;; +BB9F;HANGUL SYLLABLE MWIC;Lo;0;L;;;;;N;;;;; +BBA0;HANGUL SYLLABLE MWIK;Lo;0;L;;;;;N;;;;; +BBA1;HANGUL SYLLABLE MWIT;Lo;0;L;;;;;N;;;;; +BBA2;HANGUL SYLLABLE MWIP;Lo;0;L;;;;;N;;;;; +BBA3;HANGUL SYLLABLE MWIH;Lo;0;L;;;;;N;;;;; +BBA4;HANGUL SYLLABLE MYU;Lo;0;L;;;;;N;;;;; +BBA5;HANGUL SYLLABLE MYUG;Lo;0;L;;;;;N;;;;; +BBA6;HANGUL SYLLABLE MYUGG;Lo;0;L;;;;;N;;;;; +BBA7;HANGUL SYLLABLE MYUGS;Lo;0;L;;;;;N;;;;; +BBA8;HANGUL SYLLABLE MYUN;Lo;0;L;;;;;N;;;;; +BBA9;HANGUL SYLLABLE MYUNI;Lo;0;L;;;;;N;;;;; +BBAA;HANGUL SYLLABLE MYUNH;Lo;0;L;;;;;N;;;;; +BBAB;HANGUL SYLLABLE MYUD;Lo;0;L;;;;;N;;;;; +BBAC;HANGUL SYLLABLE MYUL;Lo;0;L;;;;;N;;;;; +BBAD;HANGUL SYLLABLE MYULG;Lo;0;L;;;;;N;;;;; +BBAE;HANGUL SYLLABLE MYULM;Lo;0;L;;;;;N;;;;; +BBAF;HANGUL SYLLABLE MYULB;Lo;0;L;;;;;N;;;;; +BBB0;HANGUL SYLLABLE MYULS;Lo;0;L;;;;;N;;;;; +BBB1;HANGUL SYLLABLE MYULT;Lo;0;L;;;;;N;;;;; +BBB2;HANGUL SYLLABLE MYULP;Lo;0;L;;;;;N;;;;; +BBB3;HANGUL SYLLABLE MYULH;Lo;0;L;;;;;N;;;;; +BBB4;HANGUL SYLLABLE MYUM;Lo;0;L;;;;;N;;;;; +BBB5;HANGUL SYLLABLE MYUB;Lo;0;L;;;;;N;;;;; +BBB6;HANGUL SYLLABLE MYUBS;Lo;0;L;;;;;N;;;;; +BBB7;HANGUL SYLLABLE MYUS;Lo;0;L;;;;;N;;;;; +BBB8;HANGUL SYLLABLE MYUSS;Lo;0;L;;;;;N;;;;; +BBB9;HANGUL SYLLABLE MYUNG;Lo;0;L;;;;;N;;;;; +BBBA;HANGUL SYLLABLE MYUJ;Lo;0;L;;;;;N;;;;; +BBBB;HANGUL SYLLABLE MYUC;Lo;0;L;;;;;N;;;;; +BBBC;HANGUL SYLLABLE MYUK;Lo;0;L;;;;;N;;;;; +BBBD;HANGUL SYLLABLE MYUT;Lo;0;L;;;;;N;;;;; +BBBE;HANGUL SYLLABLE MYUP;Lo;0;L;;;;;N;;;;; +BBBF;HANGUL SYLLABLE MYUH;Lo;0;L;;;;;N;;;;; +BBC0;HANGUL SYLLABLE MEU;Lo;0;L;;;;;N;;;;; +BBC1;HANGUL SYLLABLE MEUG;Lo;0;L;;;;;N;;;;; +BBC2;HANGUL SYLLABLE MEUGG;Lo;0;L;;;;;N;;;;; +BBC3;HANGUL SYLLABLE MEUGS;Lo;0;L;;;;;N;;;;; +BBC4;HANGUL SYLLABLE MEUN;Lo;0;L;;;;;N;;;;; +BBC5;HANGUL SYLLABLE MEUNI;Lo;0;L;;;;;N;;;;; +BBC6;HANGUL SYLLABLE MEUNH;Lo;0;L;;;;;N;;;;; +BBC7;HANGUL SYLLABLE MEUD;Lo;0;L;;;;;N;;;;; +BBC8;HANGUL SYLLABLE MEUL;Lo;0;L;;;;;N;;;;; +BBC9;HANGUL SYLLABLE MEULG;Lo;0;L;;;;;N;;;;; +BBCA;HANGUL SYLLABLE MEULM;Lo;0;L;;;;;N;;;;; +BBCB;HANGUL SYLLABLE MEULB;Lo;0;L;;;;;N;;;;; +BBCC;HANGUL SYLLABLE MEULS;Lo;0;L;;;;;N;;;;; +BBCD;HANGUL SYLLABLE MEULT;Lo;0;L;;;;;N;;;;; +BBCE;HANGUL SYLLABLE MEULP;Lo;0;L;;;;;N;;;;; +BBCF;HANGUL SYLLABLE MEULH;Lo;0;L;;;;;N;;;;; +BBD0;HANGUL SYLLABLE MEUM;Lo;0;L;;;;;N;;;;; +BBD1;HANGUL SYLLABLE MEUB;Lo;0;L;;;;;N;;;;; +BBD2;HANGUL SYLLABLE MEUBS;Lo;0;L;;;;;N;;;;; +BBD3;HANGUL SYLLABLE MEUS;Lo;0;L;;;;;N;;;;; +BBD4;HANGUL SYLLABLE MEUSS;Lo;0;L;;;;;N;;;;; +BBD5;HANGUL SYLLABLE MEUNG;Lo;0;L;;;;;N;;;;; +BBD6;HANGUL SYLLABLE MEUJ;Lo;0;L;;;;;N;;;;; +BBD7;HANGUL SYLLABLE MEUC;Lo;0;L;;;;;N;;;;; +BBD8;HANGUL SYLLABLE MEUK;Lo;0;L;;;;;N;;;;; +BBD9;HANGUL SYLLABLE MEUT;Lo;0;L;;;;;N;;;;; +BBDA;HANGUL SYLLABLE MEUP;Lo;0;L;;;;;N;;;;; +BBDB;HANGUL SYLLABLE MEUH;Lo;0;L;;;;;N;;;;; +BBDC;HANGUL SYLLABLE MYI;Lo;0;L;;;;;N;;;;; +BBDD;HANGUL SYLLABLE MYIG;Lo;0;L;;;;;N;;;;; +BBDE;HANGUL SYLLABLE MYIGG;Lo;0;L;;;;;N;;;;; +BBDF;HANGUL SYLLABLE MYIGS;Lo;0;L;;;;;N;;;;; +BBE0;HANGUL SYLLABLE MYIN;Lo;0;L;;;;;N;;;;; +BBE1;HANGUL SYLLABLE MYINI;Lo;0;L;;;;;N;;;;; +BBE2;HANGUL SYLLABLE MYINH;Lo;0;L;;;;;N;;;;; +BBE3;HANGUL SYLLABLE MYID;Lo;0;L;;;;;N;;;;; +BBE4;HANGUL SYLLABLE MYIL;Lo;0;L;;;;;N;;;;; +BBE5;HANGUL SYLLABLE MYILG;Lo;0;L;;;;;N;;;;; +BBE6;HANGUL SYLLABLE MYILM;Lo;0;L;;;;;N;;;;; +BBE7;HANGUL SYLLABLE MYILB;Lo;0;L;;;;;N;;;;; +BBE8;HANGUL SYLLABLE MYILS;Lo;0;L;;;;;N;;;;; +BBE9;HANGUL SYLLABLE MYILT;Lo;0;L;;;;;N;;;;; +BBEA;HANGUL SYLLABLE MYILP;Lo;0;L;;;;;N;;;;; +BBEB;HANGUL SYLLABLE MYILH;Lo;0;L;;;;;N;;;;; +BBEC;HANGUL SYLLABLE MYIM;Lo;0;L;;;;;N;;;;; +BBED;HANGUL SYLLABLE MYIB;Lo;0;L;;;;;N;;;;; +BBEE;HANGUL SYLLABLE MYIBS;Lo;0;L;;;;;N;;;;; +BBEF;HANGUL SYLLABLE MYIS;Lo;0;L;;;;;N;;;;; +BBF0;HANGUL SYLLABLE MYISS;Lo;0;L;;;;;N;;;;; +BBF1;HANGUL SYLLABLE MYING;Lo;0;L;;;;;N;;;;; +BBF2;HANGUL SYLLABLE MYIJ;Lo;0;L;;;;;N;;;;; +BBF3;HANGUL SYLLABLE MYIC;Lo;0;L;;;;;N;;;;; +BBF4;HANGUL SYLLABLE MYIK;Lo;0;L;;;;;N;;;;; +BBF5;HANGUL SYLLABLE MYIT;Lo;0;L;;;;;N;;;;; +BBF6;HANGUL SYLLABLE MYIP;Lo;0;L;;;;;N;;;;; +BBF7;HANGUL SYLLABLE MYIH;Lo;0;L;;;;;N;;;;; +BBF8;HANGUL SYLLABLE MI;Lo;0;L;;;;;N;;;;; +BBF9;HANGUL SYLLABLE MIG;Lo;0;L;;;;;N;;;;; +BBFA;HANGUL SYLLABLE MIGG;Lo;0;L;;;;;N;;;;; +BBFB;HANGUL SYLLABLE MIGS;Lo;0;L;;;;;N;;;;; +BBFC;HANGUL SYLLABLE MIN;Lo;0;L;;;;;N;;;;; +BBFD;HANGUL SYLLABLE MINI;Lo;0;L;;;;;N;;;;; +BBFE;HANGUL SYLLABLE MINH;Lo;0;L;;;;;N;;;;; +BBFF;HANGUL SYLLABLE MID;Lo;0;L;;;;;N;;;;; +BC00;HANGUL SYLLABLE MIL;Lo;0;L;;;;;N;;;;; +BC01;HANGUL SYLLABLE MILG;Lo;0;L;;;;;N;;;;; +BC02;HANGUL SYLLABLE MILM;Lo;0;L;;;;;N;;;;; +BC03;HANGUL SYLLABLE MILB;Lo;0;L;;;;;N;;;;; +BC04;HANGUL SYLLABLE MILS;Lo;0;L;;;;;N;;;;; +BC05;HANGUL SYLLABLE MILT;Lo;0;L;;;;;N;;;;; +BC06;HANGUL SYLLABLE MILP;Lo;0;L;;;;;N;;;;; +BC07;HANGUL SYLLABLE MILH;Lo;0;L;;;;;N;;;;; +BC08;HANGUL SYLLABLE MIM;Lo;0;L;;;;;N;;;;; +BC09;HANGUL SYLLABLE MIB;Lo;0;L;;;;;N;;;;; +BC0A;HANGUL SYLLABLE MIBS;Lo;0;L;;;;;N;;;;; +BC0B;HANGUL SYLLABLE MIS;Lo;0;L;;;;;N;;;;; +BC0C;HANGUL SYLLABLE MISS;Lo;0;L;;;;;N;;;;; +BC0D;HANGUL SYLLABLE MING;Lo;0;L;;;;;N;;;;; +BC0E;HANGUL SYLLABLE MIJ;Lo;0;L;;;;;N;;;;; +BC0F;HANGUL SYLLABLE MIC;Lo;0;L;;;;;N;;;;; +BC10;HANGUL SYLLABLE MIK;Lo;0;L;;;;;N;;;;; +BC11;HANGUL SYLLABLE MIT;Lo;0;L;;;;;N;;;;; +BC12;HANGUL SYLLABLE MIP;Lo;0;L;;;;;N;;;;; +BC13;HANGUL SYLLABLE MIH;Lo;0;L;;;;;N;;;;; +BC14;HANGUL SYLLABLE BA;Lo;0;L;;;;;N;;;;; +BC15;HANGUL SYLLABLE BAG;Lo;0;L;;;;;N;;;;; +BC16;HANGUL SYLLABLE BAGG;Lo;0;L;;;;;N;;;;; +BC17;HANGUL SYLLABLE BAGS;Lo;0;L;;;;;N;;;;; +BC18;HANGUL SYLLABLE BAN;Lo;0;L;;;;;N;;;;; +BC19;HANGUL SYLLABLE BANI;Lo;0;L;;;;;N;;;;; +BC1A;HANGUL SYLLABLE BANH;Lo;0;L;;;;;N;;;;; +BC1B;HANGUL SYLLABLE BAD;Lo;0;L;;;;;N;;;;; +BC1C;HANGUL SYLLABLE BAL;Lo;0;L;;;;;N;;;;; +BC1D;HANGUL SYLLABLE BALG;Lo;0;L;;;;;N;;;;; +BC1E;HANGUL SYLLABLE BALM;Lo;0;L;;;;;N;;;;; +BC1F;HANGUL SYLLABLE BALB;Lo;0;L;;;;;N;;;;; +BC20;HANGUL SYLLABLE BALS;Lo;0;L;;;;;N;;;;; +BC21;HANGUL SYLLABLE BALT;Lo;0;L;;;;;N;;;;; +BC22;HANGUL SYLLABLE BALP;Lo;0;L;;;;;N;;;;; +BC23;HANGUL SYLLABLE BALH;Lo;0;L;;;;;N;;;;; +BC24;HANGUL SYLLABLE BAM;Lo;0;L;;;;;N;;;;; +BC25;HANGUL SYLLABLE BAB;Lo;0;L;;;;;N;;;;; +BC26;HANGUL SYLLABLE BABS;Lo;0;L;;;;;N;;;;; +BC27;HANGUL SYLLABLE BAS;Lo;0;L;;;;;N;;;;; +BC28;HANGUL SYLLABLE BASS;Lo;0;L;;;;;N;;;;; +BC29;HANGUL SYLLABLE BANG;Lo;0;L;;;;;N;;;;; +BC2A;HANGUL SYLLABLE BAJ;Lo;0;L;;;;;N;;;;; +BC2B;HANGUL SYLLABLE BAC;Lo;0;L;;;;;N;;;;; +BC2C;HANGUL SYLLABLE BAK;Lo;0;L;;;;;N;;;;; +BC2D;HANGUL SYLLABLE BAT;Lo;0;L;;;;;N;;;;; +BC2E;HANGUL SYLLABLE BAP;Lo;0;L;;;;;N;;;;; +BC2F;HANGUL SYLLABLE BAH;Lo;0;L;;;;;N;;;;; +BC30;HANGUL SYLLABLE BAE;Lo;0;L;;;;;N;;;;; +BC31;HANGUL SYLLABLE BAEG;Lo;0;L;;;;;N;;;;; +BC32;HANGUL SYLLABLE BAEGG;Lo;0;L;;;;;N;;;;; +BC33;HANGUL SYLLABLE BAEGS;Lo;0;L;;;;;N;;;;; +BC34;HANGUL SYLLABLE BAEN;Lo;0;L;;;;;N;;;;; +BC35;HANGUL SYLLABLE BAENI;Lo;0;L;;;;;N;;;;; +BC36;HANGUL SYLLABLE BAENH;Lo;0;L;;;;;N;;;;; +BC37;HANGUL SYLLABLE BAED;Lo;0;L;;;;;N;;;;; +BC38;HANGUL SYLLABLE BAEL;Lo;0;L;;;;;N;;;;; +BC39;HANGUL SYLLABLE BAELG;Lo;0;L;;;;;N;;;;; +BC3A;HANGUL SYLLABLE BAELM;Lo;0;L;;;;;N;;;;; +BC3B;HANGUL SYLLABLE BAELB;Lo;0;L;;;;;N;;;;; +BC3C;HANGUL SYLLABLE BAELS;Lo;0;L;;;;;N;;;;; +BC3D;HANGUL SYLLABLE BAELT;Lo;0;L;;;;;N;;;;; +BC3E;HANGUL SYLLABLE BAELP;Lo;0;L;;;;;N;;;;; +BC3F;HANGUL SYLLABLE BAELH;Lo;0;L;;;;;N;;;;; +BC40;HANGUL SYLLABLE BAEM;Lo;0;L;;;;;N;;;;; +BC41;HANGUL SYLLABLE BAEB;Lo;0;L;;;;;N;;;;; +BC42;HANGUL SYLLABLE BAEBS;Lo;0;L;;;;;N;;;;; +BC43;HANGUL SYLLABLE BAES;Lo;0;L;;;;;N;;;;; +BC44;HANGUL SYLLABLE BAESS;Lo;0;L;;;;;N;;;;; +BC45;HANGUL SYLLABLE BAENG;Lo;0;L;;;;;N;;;;; +BC46;HANGUL SYLLABLE BAEJ;Lo;0;L;;;;;N;;;;; +BC47;HANGUL SYLLABLE BAEC;Lo;0;L;;;;;N;;;;; +BC48;HANGUL SYLLABLE BAEK;Lo;0;L;;;;;N;;;;; +BC49;HANGUL SYLLABLE BAET;Lo;0;L;;;;;N;;;;; +BC4A;HANGUL SYLLABLE BAEP;Lo;0;L;;;;;N;;;;; +BC4B;HANGUL SYLLABLE BAEH;Lo;0;L;;;;;N;;;;; +BC4C;HANGUL SYLLABLE BYA;Lo;0;L;;;;;N;;;;; +BC4D;HANGUL SYLLABLE BYAG;Lo;0;L;;;;;N;;;;; +BC4E;HANGUL SYLLABLE BYAGG;Lo;0;L;;;;;N;;;;; +BC4F;HANGUL SYLLABLE BYAGS;Lo;0;L;;;;;N;;;;; +BC50;HANGUL SYLLABLE BYAN;Lo;0;L;;;;;N;;;;; +BC51;HANGUL SYLLABLE BYANI;Lo;0;L;;;;;N;;;;; +BC52;HANGUL SYLLABLE BYANH;Lo;0;L;;;;;N;;;;; +BC53;HANGUL SYLLABLE BYAD;Lo;0;L;;;;;N;;;;; +BC54;HANGUL SYLLABLE BYAL;Lo;0;L;;;;;N;;;;; +BC55;HANGUL SYLLABLE BYALG;Lo;0;L;;;;;N;;;;; +BC56;HANGUL SYLLABLE BYALM;Lo;0;L;;;;;N;;;;; +BC57;HANGUL SYLLABLE BYALB;Lo;0;L;;;;;N;;;;; +BC58;HANGUL SYLLABLE BYALS;Lo;0;L;;;;;N;;;;; +BC59;HANGUL SYLLABLE BYALT;Lo;0;L;;;;;N;;;;; +BC5A;HANGUL SYLLABLE BYALP;Lo;0;L;;;;;N;;;;; +BC5B;HANGUL SYLLABLE BYALH;Lo;0;L;;;;;N;;;;; +BC5C;HANGUL SYLLABLE BYAM;Lo;0;L;;;;;N;;;;; +BC5D;HANGUL SYLLABLE BYAB;Lo;0;L;;;;;N;;;;; +BC5E;HANGUL SYLLABLE BYABS;Lo;0;L;;;;;N;;;;; +BC5F;HANGUL SYLLABLE BYAS;Lo;0;L;;;;;N;;;;; +BC60;HANGUL SYLLABLE BYASS;Lo;0;L;;;;;N;;;;; +BC61;HANGUL SYLLABLE BYANG;Lo;0;L;;;;;N;;;;; +BC62;HANGUL SYLLABLE BYAJ;Lo;0;L;;;;;N;;;;; +BC63;HANGUL SYLLABLE BYAC;Lo;0;L;;;;;N;;;;; +BC64;HANGUL SYLLABLE BYAK;Lo;0;L;;;;;N;;;;; +BC65;HANGUL SYLLABLE BYAT;Lo;0;L;;;;;N;;;;; +BC66;HANGUL SYLLABLE BYAP;Lo;0;L;;;;;N;;;;; +BC67;HANGUL SYLLABLE BYAH;Lo;0;L;;;;;N;;;;; +BC68;HANGUL SYLLABLE BYAE;Lo;0;L;;;;;N;;;;; +BC69;HANGUL SYLLABLE BYAEG;Lo;0;L;;;;;N;;;;; +BC6A;HANGUL SYLLABLE BYAEGG;Lo;0;L;;;;;N;;;;; +BC6B;HANGUL SYLLABLE BYAEGS;Lo;0;L;;;;;N;;;;; +BC6C;HANGUL SYLLABLE BYAEN;Lo;0;L;;;;;N;;;;; +BC6D;HANGUL SYLLABLE BYAENI;Lo;0;L;;;;;N;;;;; +BC6E;HANGUL SYLLABLE BYAENH;Lo;0;L;;;;;N;;;;; +BC6F;HANGUL SYLLABLE BYAED;Lo;0;L;;;;;N;;;;; +BC70;HANGUL SYLLABLE BYAEL;Lo;0;L;;;;;N;;;;; +BC71;HANGUL SYLLABLE BYAELG;Lo;0;L;;;;;N;;;;; +BC72;HANGUL SYLLABLE BYAELM;Lo;0;L;;;;;N;;;;; +BC73;HANGUL SYLLABLE BYAELB;Lo;0;L;;;;;N;;;;; +BC74;HANGUL SYLLABLE BYAELS;Lo;0;L;;;;;N;;;;; +BC75;HANGUL SYLLABLE BYAELT;Lo;0;L;;;;;N;;;;; +BC76;HANGUL SYLLABLE BYAELP;Lo;0;L;;;;;N;;;;; +BC77;HANGUL SYLLABLE BYAELH;Lo;0;L;;;;;N;;;;; +BC78;HANGUL SYLLABLE BYAEM;Lo;0;L;;;;;N;;;;; +BC79;HANGUL SYLLABLE BYAEB;Lo;0;L;;;;;N;;;;; +BC7A;HANGUL SYLLABLE BYAEBS;Lo;0;L;;;;;N;;;;; +BC7B;HANGUL SYLLABLE BYAES;Lo;0;L;;;;;N;;;;; +BC7C;HANGUL SYLLABLE BYAESS;Lo;0;L;;;;;N;;;;; +BC7D;HANGUL SYLLABLE BYAENG;Lo;0;L;;;;;N;;;;; +BC7E;HANGUL SYLLABLE BYAEJ;Lo;0;L;;;;;N;;;;; +BC7F;HANGUL SYLLABLE BYAEC;Lo;0;L;;;;;N;;;;; +BC80;HANGUL SYLLABLE BYAEK;Lo;0;L;;;;;N;;;;; +BC81;HANGUL SYLLABLE BYAET;Lo;0;L;;;;;N;;;;; +BC82;HANGUL SYLLABLE BYAEP;Lo;0;L;;;;;N;;;;; +BC83;HANGUL SYLLABLE BYAEH;Lo;0;L;;;;;N;;;;; +BC84;HANGUL SYLLABLE BEO;Lo;0;L;;;;;N;;;;; +BC85;HANGUL SYLLABLE BEOG;Lo;0;L;;;;;N;;;;; +BC86;HANGUL SYLLABLE BEOGG;Lo;0;L;;;;;N;;;;; +BC87;HANGUL SYLLABLE BEOGS;Lo;0;L;;;;;N;;;;; +BC88;HANGUL SYLLABLE BEON;Lo;0;L;;;;;N;;;;; +BC89;HANGUL SYLLABLE BEONI;Lo;0;L;;;;;N;;;;; +BC8A;HANGUL SYLLABLE BEONH;Lo;0;L;;;;;N;;;;; +BC8B;HANGUL SYLLABLE BEOD;Lo;0;L;;;;;N;;;;; +BC8C;HANGUL SYLLABLE BEOL;Lo;0;L;;;;;N;;;;; +BC8D;HANGUL SYLLABLE BEOLG;Lo;0;L;;;;;N;;;;; +BC8E;HANGUL SYLLABLE BEOLM;Lo;0;L;;;;;N;;;;; +BC8F;HANGUL SYLLABLE BEOLB;Lo;0;L;;;;;N;;;;; +BC90;HANGUL SYLLABLE BEOLS;Lo;0;L;;;;;N;;;;; +BC91;HANGUL SYLLABLE BEOLT;Lo;0;L;;;;;N;;;;; +BC92;HANGUL SYLLABLE BEOLP;Lo;0;L;;;;;N;;;;; +BC93;HANGUL SYLLABLE BEOLH;Lo;0;L;;;;;N;;;;; +BC94;HANGUL SYLLABLE BEOM;Lo;0;L;;;;;N;;;;; +BC95;HANGUL SYLLABLE BEOB;Lo;0;L;;;;;N;;;;; +BC96;HANGUL SYLLABLE BEOBS;Lo;0;L;;;;;N;;;;; +BC97;HANGUL SYLLABLE BEOS;Lo;0;L;;;;;N;;;;; +BC98;HANGUL SYLLABLE BEOSS;Lo;0;L;;;;;N;;;;; +BC99;HANGUL SYLLABLE BEONG;Lo;0;L;;;;;N;;;;; +BC9A;HANGUL SYLLABLE BEOJ;Lo;0;L;;;;;N;;;;; +BC9B;HANGUL SYLLABLE BEOC;Lo;0;L;;;;;N;;;;; +BC9C;HANGUL SYLLABLE BEOK;Lo;0;L;;;;;N;;;;; +BC9D;HANGUL SYLLABLE BEOT;Lo;0;L;;;;;N;;;;; +BC9E;HANGUL SYLLABLE BEOP;Lo;0;L;;;;;N;;;;; +BC9F;HANGUL SYLLABLE BEOH;Lo;0;L;;;;;N;;;;; +BCA0;HANGUL SYLLABLE BE;Lo;0;L;;;;;N;;;;; +BCA1;HANGUL SYLLABLE BEG;Lo;0;L;;;;;N;;;;; +BCA2;HANGUL SYLLABLE BEGG;Lo;0;L;;;;;N;;;;; +BCA3;HANGUL SYLLABLE BEGS;Lo;0;L;;;;;N;;;;; +BCA4;HANGUL SYLLABLE BEN;Lo;0;L;;;;;N;;;;; +BCA5;HANGUL SYLLABLE BENI;Lo;0;L;;;;;N;;;;; +BCA6;HANGUL SYLLABLE BENH;Lo;0;L;;;;;N;;;;; +BCA7;HANGUL SYLLABLE BED;Lo;0;L;;;;;N;;;;; +BCA8;HANGUL SYLLABLE BEL;Lo;0;L;;;;;N;;;;; +BCA9;HANGUL SYLLABLE BELG;Lo;0;L;;;;;N;;;;; +BCAA;HANGUL SYLLABLE BELM;Lo;0;L;;;;;N;;;;; +BCAB;HANGUL SYLLABLE BELB;Lo;0;L;;;;;N;;;;; +BCAC;HANGUL SYLLABLE BELS;Lo;0;L;;;;;N;;;;; +BCAD;HANGUL SYLLABLE BELT;Lo;0;L;;;;;N;;;;; +BCAE;HANGUL SYLLABLE BELP;Lo;0;L;;;;;N;;;;; +BCAF;HANGUL SYLLABLE BELH;Lo;0;L;;;;;N;;;;; +BCB0;HANGUL SYLLABLE BEM;Lo;0;L;;;;;N;;;;; +BCB1;HANGUL SYLLABLE BEB;Lo;0;L;;;;;N;;;;; +BCB2;HANGUL SYLLABLE BEBS;Lo;0;L;;;;;N;;;;; +BCB3;HANGUL SYLLABLE BES;Lo;0;L;;;;;N;;;;; +BCB4;HANGUL SYLLABLE BESS;Lo;0;L;;;;;N;;;;; +BCB5;HANGUL SYLLABLE BENG;Lo;0;L;;;;;N;;;;; +BCB6;HANGUL SYLLABLE BEJ;Lo;0;L;;;;;N;;;;; +BCB7;HANGUL SYLLABLE BEC;Lo;0;L;;;;;N;;;;; +BCB8;HANGUL SYLLABLE BEK;Lo;0;L;;;;;N;;;;; +BCB9;HANGUL SYLLABLE BET;Lo;0;L;;;;;N;;;;; +BCBA;HANGUL SYLLABLE BEP;Lo;0;L;;;;;N;;;;; +BCBB;HANGUL SYLLABLE BEH;Lo;0;L;;;;;N;;;;; +BCBC;HANGUL SYLLABLE BYEO;Lo;0;L;;;;;N;;;;; +BCBD;HANGUL SYLLABLE BYEOG;Lo;0;L;;;;;N;;;;; +BCBE;HANGUL SYLLABLE BYEOGG;Lo;0;L;;;;;N;;;;; +BCBF;HANGUL SYLLABLE BYEOGS;Lo;0;L;;;;;N;;;;; +BCC0;HANGUL SYLLABLE BYEON;Lo;0;L;;;;;N;;;;; +BCC1;HANGUL SYLLABLE BYEONI;Lo;0;L;;;;;N;;;;; +BCC2;HANGUL SYLLABLE BYEONH;Lo;0;L;;;;;N;;;;; +BCC3;HANGUL SYLLABLE BYEOD;Lo;0;L;;;;;N;;;;; +BCC4;HANGUL SYLLABLE BYEOL;Lo;0;L;;;;;N;;;;; +BCC5;HANGUL SYLLABLE BYEOLG;Lo;0;L;;;;;N;;;;; +BCC6;HANGUL SYLLABLE BYEOLM;Lo;0;L;;;;;N;;;;; +BCC7;HANGUL SYLLABLE BYEOLB;Lo;0;L;;;;;N;;;;; +BCC8;HANGUL SYLLABLE BYEOLS;Lo;0;L;;;;;N;;;;; +BCC9;HANGUL SYLLABLE BYEOLT;Lo;0;L;;;;;N;;;;; +BCCA;HANGUL SYLLABLE BYEOLP;Lo;0;L;;;;;N;;;;; +BCCB;HANGUL SYLLABLE BYEOLH;Lo;0;L;;;;;N;;;;; +BCCC;HANGUL SYLLABLE BYEOM;Lo;0;L;;;;;N;;;;; +BCCD;HANGUL SYLLABLE BYEOB;Lo;0;L;;;;;N;;;;; +BCCE;HANGUL SYLLABLE BYEOBS;Lo;0;L;;;;;N;;;;; +BCCF;HANGUL SYLLABLE BYEOS;Lo;0;L;;;;;N;;;;; +BCD0;HANGUL SYLLABLE BYEOSS;Lo;0;L;;;;;N;;;;; +BCD1;HANGUL SYLLABLE BYEONG;Lo;0;L;;;;;N;;;;; +BCD2;HANGUL SYLLABLE BYEOJ;Lo;0;L;;;;;N;;;;; +BCD3;HANGUL SYLLABLE BYEOC;Lo;0;L;;;;;N;;;;; +BCD4;HANGUL SYLLABLE BYEOK;Lo;0;L;;;;;N;;;;; +BCD5;HANGUL SYLLABLE BYEOT;Lo;0;L;;;;;N;;;;; +BCD6;HANGUL SYLLABLE BYEOP;Lo;0;L;;;;;N;;;;; +BCD7;HANGUL SYLLABLE BYEOH;Lo;0;L;;;;;N;;;;; +BCD8;HANGUL SYLLABLE BYE;Lo;0;L;;;;;N;;;;; +BCD9;HANGUL SYLLABLE BYEG;Lo;0;L;;;;;N;;;;; +BCDA;HANGUL SYLLABLE BYEGG;Lo;0;L;;;;;N;;;;; +BCDB;HANGUL SYLLABLE BYEGS;Lo;0;L;;;;;N;;;;; +BCDC;HANGUL SYLLABLE BYEN;Lo;0;L;;;;;N;;;;; +BCDD;HANGUL SYLLABLE BYENI;Lo;0;L;;;;;N;;;;; +BCDE;HANGUL SYLLABLE BYENH;Lo;0;L;;;;;N;;;;; +BCDF;HANGUL SYLLABLE BYED;Lo;0;L;;;;;N;;;;; +BCE0;HANGUL SYLLABLE BYEL;Lo;0;L;;;;;N;;;;; +BCE1;HANGUL SYLLABLE BYELG;Lo;0;L;;;;;N;;;;; +BCE2;HANGUL SYLLABLE BYELM;Lo;0;L;;;;;N;;;;; +BCE3;HANGUL SYLLABLE BYELB;Lo;0;L;;;;;N;;;;; +BCE4;HANGUL SYLLABLE BYELS;Lo;0;L;;;;;N;;;;; +BCE5;HANGUL SYLLABLE BYELT;Lo;0;L;;;;;N;;;;; +BCE6;HANGUL SYLLABLE BYELP;Lo;0;L;;;;;N;;;;; +BCE7;HANGUL SYLLABLE BYELH;Lo;0;L;;;;;N;;;;; +BCE8;HANGUL SYLLABLE BYEM;Lo;0;L;;;;;N;;;;; +BCE9;HANGUL SYLLABLE BYEB;Lo;0;L;;;;;N;;;;; +BCEA;HANGUL SYLLABLE BYEBS;Lo;0;L;;;;;N;;;;; +BCEB;HANGUL SYLLABLE BYES;Lo;0;L;;;;;N;;;;; +BCEC;HANGUL SYLLABLE BYESS;Lo;0;L;;;;;N;;;;; +BCED;HANGUL SYLLABLE BYENG;Lo;0;L;;;;;N;;;;; +BCEE;HANGUL SYLLABLE BYEJ;Lo;0;L;;;;;N;;;;; +BCEF;HANGUL SYLLABLE BYEC;Lo;0;L;;;;;N;;;;; +BCF0;HANGUL SYLLABLE BYEK;Lo;0;L;;;;;N;;;;; +BCF1;HANGUL SYLLABLE BYET;Lo;0;L;;;;;N;;;;; +BCF2;HANGUL SYLLABLE BYEP;Lo;0;L;;;;;N;;;;; +BCF3;HANGUL SYLLABLE BYEH;Lo;0;L;;;;;N;;;;; +BCF4;HANGUL SYLLABLE BO;Lo;0;L;;;;;N;;;;; +BCF5;HANGUL SYLLABLE BOG;Lo;0;L;;;;;N;;;;; +BCF6;HANGUL SYLLABLE BOGG;Lo;0;L;;;;;N;;;;; +BCF7;HANGUL SYLLABLE BOGS;Lo;0;L;;;;;N;;;;; +BCF8;HANGUL SYLLABLE BON;Lo;0;L;;;;;N;;;;; +BCF9;HANGUL SYLLABLE BONI;Lo;0;L;;;;;N;;;;; +BCFA;HANGUL SYLLABLE BONH;Lo;0;L;;;;;N;;;;; +BCFB;HANGUL SYLLABLE BOD;Lo;0;L;;;;;N;;;;; +BCFC;HANGUL SYLLABLE BOL;Lo;0;L;;;;;N;;;;; +BCFD;HANGUL SYLLABLE BOLG;Lo;0;L;;;;;N;;;;; +BCFE;HANGUL SYLLABLE BOLM;Lo;0;L;;;;;N;;;;; +BCFF;HANGUL SYLLABLE BOLB;Lo;0;L;;;;;N;;;;; +BD00;HANGUL SYLLABLE BOLS;Lo;0;L;;;;;N;;;;; +BD01;HANGUL SYLLABLE BOLT;Lo;0;L;;;;;N;;;;; +BD02;HANGUL SYLLABLE BOLP;Lo;0;L;;;;;N;;;;; +BD03;HANGUL SYLLABLE BOLH;Lo;0;L;;;;;N;;;;; +BD04;HANGUL SYLLABLE BOM;Lo;0;L;;;;;N;;;;; +BD05;HANGUL SYLLABLE BOB;Lo;0;L;;;;;N;;;;; +BD06;HANGUL SYLLABLE BOBS;Lo;0;L;;;;;N;;;;; +BD07;HANGUL SYLLABLE BOS;Lo;0;L;;;;;N;;;;; +BD08;HANGUL SYLLABLE BOSS;Lo;0;L;;;;;N;;;;; +BD09;HANGUL SYLLABLE BONG;Lo;0;L;;;;;N;;;;; +BD0A;HANGUL SYLLABLE BOJ;Lo;0;L;;;;;N;;;;; +BD0B;HANGUL SYLLABLE BOC;Lo;0;L;;;;;N;;;;; +BD0C;HANGUL SYLLABLE BOK;Lo;0;L;;;;;N;;;;; +BD0D;HANGUL SYLLABLE BOT;Lo;0;L;;;;;N;;;;; +BD0E;HANGUL SYLLABLE BOP;Lo;0;L;;;;;N;;;;; +BD0F;HANGUL SYLLABLE BOH;Lo;0;L;;;;;N;;;;; +BD10;HANGUL SYLLABLE BWA;Lo;0;L;;;;;N;;;;; +BD11;HANGUL SYLLABLE BWAG;Lo;0;L;;;;;N;;;;; +BD12;HANGUL SYLLABLE BWAGG;Lo;0;L;;;;;N;;;;; +BD13;HANGUL SYLLABLE BWAGS;Lo;0;L;;;;;N;;;;; +BD14;HANGUL SYLLABLE BWAN;Lo;0;L;;;;;N;;;;; +BD15;HANGUL SYLLABLE BWANI;Lo;0;L;;;;;N;;;;; +BD16;HANGUL SYLLABLE BWANH;Lo;0;L;;;;;N;;;;; +BD17;HANGUL SYLLABLE BWAD;Lo;0;L;;;;;N;;;;; +BD18;HANGUL SYLLABLE BWAL;Lo;0;L;;;;;N;;;;; +BD19;HANGUL SYLLABLE BWALG;Lo;0;L;;;;;N;;;;; +BD1A;HANGUL SYLLABLE BWALM;Lo;0;L;;;;;N;;;;; +BD1B;HANGUL SYLLABLE BWALB;Lo;0;L;;;;;N;;;;; +BD1C;HANGUL SYLLABLE BWALS;Lo;0;L;;;;;N;;;;; +BD1D;HANGUL SYLLABLE BWALT;Lo;0;L;;;;;N;;;;; +BD1E;HANGUL SYLLABLE BWALP;Lo;0;L;;;;;N;;;;; +BD1F;HANGUL SYLLABLE BWALH;Lo;0;L;;;;;N;;;;; +BD20;HANGUL SYLLABLE BWAM;Lo;0;L;;;;;N;;;;; +BD21;HANGUL SYLLABLE BWAB;Lo;0;L;;;;;N;;;;; +BD22;HANGUL SYLLABLE BWABS;Lo;0;L;;;;;N;;;;; +BD23;HANGUL SYLLABLE BWAS;Lo;0;L;;;;;N;;;;; +BD24;HANGUL SYLLABLE BWASS;Lo;0;L;;;;;N;;;;; +BD25;HANGUL SYLLABLE BWANG;Lo;0;L;;;;;N;;;;; +BD26;HANGUL SYLLABLE BWAJ;Lo;0;L;;;;;N;;;;; +BD27;HANGUL SYLLABLE BWAC;Lo;0;L;;;;;N;;;;; +BD28;HANGUL SYLLABLE BWAK;Lo;0;L;;;;;N;;;;; +BD29;HANGUL SYLLABLE BWAT;Lo;0;L;;;;;N;;;;; +BD2A;HANGUL SYLLABLE BWAP;Lo;0;L;;;;;N;;;;; +BD2B;HANGUL SYLLABLE BWAH;Lo;0;L;;;;;N;;;;; +BD2C;HANGUL SYLLABLE BWAE;Lo;0;L;;;;;N;;;;; +BD2D;HANGUL SYLLABLE BWAEG;Lo;0;L;;;;;N;;;;; +BD2E;HANGUL SYLLABLE BWAEGG;Lo;0;L;;;;;N;;;;; +BD2F;HANGUL SYLLABLE BWAEGS;Lo;0;L;;;;;N;;;;; +BD30;HANGUL SYLLABLE BWAEN;Lo;0;L;;;;;N;;;;; +BD31;HANGUL SYLLABLE BWAENI;Lo;0;L;;;;;N;;;;; +BD32;HANGUL SYLLABLE BWAENH;Lo;0;L;;;;;N;;;;; +BD33;HANGUL SYLLABLE BWAED;Lo;0;L;;;;;N;;;;; +BD34;HANGUL SYLLABLE BWAEL;Lo;0;L;;;;;N;;;;; +BD35;HANGUL SYLLABLE BWAELG;Lo;0;L;;;;;N;;;;; +BD36;HANGUL SYLLABLE BWAELM;Lo;0;L;;;;;N;;;;; +BD37;HANGUL SYLLABLE BWAELB;Lo;0;L;;;;;N;;;;; +BD38;HANGUL SYLLABLE BWAELS;Lo;0;L;;;;;N;;;;; +BD39;HANGUL SYLLABLE BWAELT;Lo;0;L;;;;;N;;;;; +BD3A;HANGUL SYLLABLE BWAELP;Lo;0;L;;;;;N;;;;; +BD3B;HANGUL SYLLABLE BWAELH;Lo;0;L;;;;;N;;;;; +BD3C;HANGUL SYLLABLE BWAEM;Lo;0;L;;;;;N;;;;; +BD3D;HANGUL SYLLABLE BWAEB;Lo;0;L;;;;;N;;;;; +BD3E;HANGUL SYLLABLE BWAEBS;Lo;0;L;;;;;N;;;;; +BD3F;HANGUL SYLLABLE BWAES;Lo;0;L;;;;;N;;;;; +BD40;HANGUL SYLLABLE BWAESS;Lo;0;L;;;;;N;;;;; +BD41;HANGUL SYLLABLE BWAENG;Lo;0;L;;;;;N;;;;; +BD42;HANGUL SYLLABLE BWAEJ;Lo;0;L;;;;;N;;;;; +BD43;HANGUL SYLLABLE BWAEC;Lo;0;L;;;;;N;;;;; +BD44;HANGUL SYLLABLE BWAEK;Lo;0;L;;;;;N;;;;; +BD45;HANGUL SYLLABLE BWAET;Lo;0;L;;;;;N;;;;; +BD46;HANGUL SYLLABLE BWAEP;Lo;0;L;;;;;N;;;;; +BD47;HANGUL SYLLABLE BWAEH;Lo;0;L;;;;;N;;;;; +BD48;HANGUL SYLLABLE BOE;Lo;0;L;;;;;N;;;;; +BD49;HANGUL SYLLABLE BOEG;Lo;0;L;;;;;N;;;;; +BD4A;HANGUL SYLLABLE BOEGG;Lo;0;L;;;;;N;;;;; +BD4B;HANGUL SYLLABLE BOEGS;Lo;0;L;;;;;N;;;;; +BD4C;HANGUL SYLLABLE BOEN;Lo;0;L;;;;;N;;;;; +BD4D;HANGUL SYLLABLE BOENI;Lo;0;L;;;;;N;;;;; +BD4E;HANGUL SYLLABLE BOENH;Lo;0;L;;;;;N;;;;; +BD4F;HANGUL SYLLABLE BOED;Lo;0;L;;;;;N;;;;; +BD50;HANGUL SYLLABLE BOEL;Lo;0;L;;;;;N;;;;; +BD51;HANGUL SYLLABLE BOELG;Lo;0;L;;;;;N;;;;; +BD52;HANGUL SYLLABLE BOELM;Lo;0;L;;;;;N;;;;; +BD53;HANGUL SYLLABLE BOELB;Lo;0;L;;;;;N;;;;; +BD54;HANGUL SYLLABLE BOELS;Lo;0;L;;;;;N;;;;; +BD55;HANGUL SYLLABLE BOELT;Lo;0;L;;;;;N;;;;; +BD56;HANGUL SYLLABLE BOELP;Lo;0;L;;;;;N;;;;; +BD57;HANGUL SYLLABLE BOELH;Lo;0;L;;;;;N;;;;; +BD58;HANGUL SYLLABLE BOEM;Lo;0;L;;;;;N;;;;; +BD59;HANGUL SYLLABLE BOEB;Lo;0;L;;;;;N;;;;; +BD5A;HANGUL SYLLABLE BOEBS;Lo;0;L;;;;;N;;;;; +BD5B;HANGUL SYLLABLE BOES;Lo;0;L;;;;;N;;;;; +BD5C;HANGUL SYLLABLE BOESS;Lo;0;L;;;;;N;;;;; +BD5D;HANGUL SYLLABLE BOENG;Lo;0;L;;;;;N;;;;; +BD5E;HANGUL SYLLABLE BOEJ;Lo;0;L;;;;;N;;;;; +BD5F;HANGUL SYLLABLE BOEC;Lo;0;L;;;;;N;;;;; +BD60;HANGUL SYLLABLE BOEK;Lo;0;L;;;;;N;;;;; +BD61;HANGUL SYLLABLE BOET;Lo;0;L;;;;;N;;;;; +BD62;HANGUL SYLLABLE BOEP;Lo;0;L;;;;;N;;;;; +BD63;HANGUL SYLLABLE BOEH;Lo;0;L;;;;;N;;;;; +BD64;HANGUL SYLLABLE BYO;Lo;0;L;;;;;N;;;;; +BD65;HANGUL SYLLABLE BYOG;Lo;0;L;;;;;N;;;;; +BD66;HANGUL SYLLABLE BYOGG;Lo;0;L;;;;;N;;;;; +BD67;HANGUL SYLLABLE BYOGS;Lo;0;L;;;;;N;;;;; +BD68;HANGUL SYLLABLE BYON;Lo;0;L;;;;;N;;;;; +BD69;HANGUL SYLLABLE BYONI;Lo;0;L;;;;;N;;;;; +BD6A;HANGUL SYLLABLE BYONH;Lo;0;L;;;;;N;;;;; +BD6B;HANGUL SYLLABLE BYOD;Lo;0;L;;;;;N;;;;; +BD6C;HANGUL SYLLABLE BYOL;Lo;0;L;;;;;N;;;;; +BD6D;HANGUL SYLLABLE BYOLG;Lo;0;L;;;;;N;;;;; +BD6E;HANGUL SYLLABLE BYOLM;Lo;0;L;;;;;N;;;;; +BD6F;HANGUL SYLLABLE BYOLB;Lo;0;L;;;;;N;;;;; +BD70;HANGUL SYLLABLE BYOLS;Lo;0;L;;;;;N;;;;; +BD71;HANGUL SYLLABLE BYOLT;Lo;0;L;;;;;N;;;;; +BD72;HANGUL SYLLABLE BYOLP;Lo;0;L;;;;;N;;;;; +BD73;HANGUL SYLLABLE BYOLH;Lo;0;L;;;;;N;;;;; +BD74;HANGUL SYLLABLE BYOM;Lo;0;L;;;;;N;;;;; +BD75;HANGUL SYLLABLE BYOB;Lo;0;L;;;;;N;;;;; +BD76;HANGUL SYLLABLE BYOBS;Lo;0;L;;;;;N;;;;; +BD77;HANGUL SYLLABLE BYOS;Lo;0;L;;;;;N;;;;; +BD78;HANGUL SYLLABLE BYOSS;Lo;0;L;;;;;N;;;;; +BD79;HANGUL SYLLABLE BYONG;Lo;0;L;;;;;N;;;;; +BD7A;HANGUL SYLLABLE BYOJ;Lo;0;L;;;;;N;;;;; +BD7B;HANGUL SYLLABLE BYOC;Lo;0;L;;;;;N;;;;; +BD7C;HANGUL SYLLABLE BYOK;Lo;0;L;;;;;N;;;;; +BD7D;HANGUL SYLLABLE BYOT;Lo;0;L;;;;;N;;;;; +BD7E;HANGUL SYLLABLE BYOP;Lo;0;L;;;;;N;;;;; +BD7F;HANGUL SYLLABLE BYOH;Lo;0;L;;;;;N;;;;; +BD80;HANGUL SYLLABLE BU;Lo;0;L;;;;;N;;;;; +BD81;HANGUL SYLLABLE BUG;Lo;0;L;;;;;N;;;;; +BD82;HANGUL SYLLABLE BUGG;Lo;0;L;;;;;N;;;;; +BD83;HANGUL SYLLABLE BUGS;Lo;0;L;;;;;N;;;;; +BD84;HANGUL SYLLABLE BUN;Lo;0;L;;;;;N;;;;; +BD85;HANGUL SYLLABLE BUNI;Lo;0;L;;;;;N;;;;; +BD86;HANGUL SYLLABLE BUNH;Lo;0;L;;;;;N;;;;; +BD87;HANGUL SYLLABLE BUD;Lo;0;L;;;;;N;;;;; +BD88;HANGUL SYLLABLE BUL;Lo;0;L;;;;;N;;;;; +BD89;HANGUL SYLLABLE BULG;Lo;0;L;;;;;N;;;;; +BD8A;HANGUL SYLLABLE BULM;Lo;0;L;;;;;N;;;;; +BD8B;HANGUL SYLLABLE BULB;Lo;0;L;;;;;N;;;;; +BD8C;HANGUL SYLLABLE BULS;Lo;0;L;;;;;N;;;;; +BD8D;HANGUL SYLLABLE BULT;Lo;0;L;;;;;N;;;;; +BD8E;HANGUL SYLLABLE BULP;Lo;0;L;;;;;N;;;;; +BD8F;HANGUL SYLLABLE BULH;Lo;0;L;;;;;N;;;;; +BD90;HANGUL SYLLABLE BUM;Lo;0;L;;;;;N;;;;; +BD91;HANGUL SYLLABLE BUB;Lo;0;L;;;;;N;;;;; +BD92;HANGUL SYLLABLE BUBS;Lo;0;L;;;;;N;;;;; +BD93;HANGUL SYLLABLE BUS;Lo;0;L;;;;;N;;;;; +BD94;HANGUL SYLLABLE BUSS;Lo;0;L;;;;;N;;;;; +BD95;HANGUL SYLLABLE BUNG;Lo;0;L;;;;;N;;;;; +BD96;HANGUL SYLLABLE BUJ;Lo;0;L;;;;;N;;;;; +BD97;HANGUL SYLLABLE BUC;Lo;0;L;;;;;N;;;;; +BD98;HANGUL SYLLABLE BUK;Lo;0;L;;;;;N;;;;; +BD99;HANGUL SYLLABLE BUT;Lo;0;L;;;;;N;;;;; +BD9A;HANGUL SYLLABLE BUP;Lo;0;L;;;;;N;;;;; +BD9B;HANGUL SYLLABLE BUH;Lo;0;L;;;;;N;;;;; +BD9C;HANGUL SYLLABLE BWEO;Lo;0;L;;;;;N;;;;; +BD9D;HANGUL SYLLABLE BWEOG;Lo;0;L;;;;;N;;;;; +BD9E;HANGUL SYLLABLE BWEOGG;Lo;0;L;;;;;N;;;;; +BD9F;HANGUL SYLLABLE BWEOGS;Lo;0;L;;;;;N;;;;; +BDA0;HANGUL SYLLABLE BWEON;Lo;0;L;;;;;N;;;;; +BDA1;HANGUL SYLLABLE BWEONI;Lo;0;L;;;;;N;;;;; +BDA2;HANGUL SYLLABLE BWEONH;Lo;0;L;;;;;N;;;;; +BDA3;HANGUL SYLLABLE BWEOD;Lo;0;L;;;;;N;;;;; +BDA4;HANGUL SYLLABLE BWEOL;Lo;0;L;;;;;N;;;;; +BDA5;HANGUL SYLLABLE BWEOLG;Lo;0;L;;;;;N;;;;; +BDA6;HANGUL SYLLABLE BWEOLM;Lo;0;L;;;;;N;;;;; +BDA7;HANGUL SYLLABLE BWEOLB;Lo;0;L;;;;;N;;;;; +BDA8;HANGUL SYLLABLE BWEOLS;Lo;0;L;;;;;N;;;;; +BDA9;HANGUL SYLLABLE BWEOLT;Lo;0;L;;;;;N;;;;; +BDAA;HANGUL SYLLABLE BWEOLP;Lo;0;L;;;;;N;;;;; +BDAB;HANGUL SYLLABLE BWEOLH;Lo;0;L;;;;;N;;;;; +BDAC;HANGUL SYLLABLE BWEOM;Lo;0;L;;;;;N;;;;; +BDAD;HANGUL SYLLABLE BWEOB;Lo;0;L;;;;;N;;;;; +BDAE;HANGUL SYLLABLE BWEOBS;Lo;0;L;;;;;N;;;;; +BDAF;HANGUL SYLLABLE BWEOS;Lo;0;L;;;;;N;;;;; +BDB0;HANGUL SYLLABLE BWEOSS;Lo;0;L;;;;;N;;;;; +BDB1;HANGUL SYLLABLE BWEONG;Lo;0;L;;;;;N;;;;; +BDB2;HANGUL SYLLABLE BWEOJ;Lo;0;L;;;;;N;;;;; +BDB3;HANGUL SYLLABLE BWEOC;Lo;0;L;;;;;N;;;;; +BDB4;HANGUL SYLLABLE BWEOK;Lo;0;L;;;;;N;;;;; +BDB5;HANGUL SYLLABLE BWEOT;Lo;0;L;;;;;N;;;;; +BDB6;HANGUL SYLLABLE BWEOP;Lo;0;L;;;;;N;;;;; +BDB7;HANGUL SYLLABLE BWEOH;Lo;0;L;;;;;N;;;;; +BDB8;HANGUL SYLLABLE BWE;Lo;0;L;;;;;N;;;;; +BDB9;HANGUL SYLLABLE BWEG;Lo;0;L;;;;;N;;;;; +BDBA;HANGUL SYLLABLE BWEGG;Lo;0;L;;;;;N;;;;; +BDBB;HANGUL SYLLABLE BWEGS;Lo;0;L;;;;;N;;;;; +BDBC;HANGUL SYLLABLE BWEN;Lo;0;L;;;;;N;;;;; +BDBD;HANGUL SYLLABLE BWENI;Lo;0;L;;;;;N;;;;; +BDBE;HANGUL SYLLABLE BWENH;Lo;0;L;;;;;N;;;;; +BDBF;HANGUL SYLLABLE BWED;Lo;0;L;;;;;N;;;;; +BDC0;HANGUL SYLLABLE BWEL;Lo;0;L;;;;;N;;;;; +BDC1;HANGUL SYLLABLE BWELG;Lo;0;L;;;;;N;;;;; +BDC2;HANGUL SYLLABLE BWELM;Lo;0;L;;;;;N;;;;; +BDC3;HANGUL SYLLABLE BWELB;Lo;0;L;;;;;N;;;;; +BDC4;HANGUL SYLLABLE BWELS;Lo;0;L;;;;;N;;;;; +BDC5;HANGUL SYLLABLE BWELT;Lo;0;L;;;;;N;;;;; +BDC6;HANGUL SYLLABLE BWELP;Lo;0;L;;;;;N;;;;; +BDC7;HANGUL SYLLABLE BWELH;Lo;0;L;;;;;N;;;;; +BDC8;HANGUL SYLLABLE BWEM;Lo;0;L;;;;;N;;;;; +BDC9;HANGUL SYLLABLE BWEB;Lo;0;L;;;;;N;;;;; +BDCA;HANGUL SYLLABLE BWEBS;Lo;0;L;;;;;N;;;;; +BDCB;HANGUL SYLLABLE BWES;Lo;0;L;;;;;N;;;;; +BDCC;HANGUL SYLLABLE BWESS;Lo;0;L;;;;;N;;;;; +BDCD;HANGUL SYLLABLE BWENG;Lo;0;L;;;;;N;;;;; +BDCE;HANGUL SYLLABLE BWEJ;Lo;0;L;;;;;N;;;;; +BDCF;HANGUL SYLLABLE BWEC;Lo;0;L;;;;;N;;;;; +BDD0;HANGUL SYLLABLE BWEK;Lo;0;L;;;;;N;;;;; +BDD1;HANGUL SYLLABLE BWET;Lo;0;L;;;;;N;;;;; +BDD2;HANGUL SYLLABLE BWEP;Lo;0;L;;;;;N;;;;; +BDD3;HANGUL SYLLABLE BWEH;Lo;0;L;;;;;N;;;;; +BDD4;HANGUL SYLLABLE BWI;Lo;0;L;;;;;N;;;;; +BDD5;HANGUL SYLLABLE BWIG;Lo;0;L;;;;;N;;;;; +BDD6;HANGUL SYLLABLE BWIGG;Lo;0;L;;;;;N;;;;; +BDD7;HANGUL SYLLABLE BWIGS;Lo;0;L;;;;;N;;;;; +BDD8;HANGUL SYLLABLE BWIN;Lo;0;L;;;;;N;;;;; +BDD9;HANGUL SYLLABLE BWINI;Lo;0;L;;;;;N;;;;; +BDDA;HANGUL SYLLABLE BWINH;Lo;0;L;;;;;N;;;;; +BDDB;HANGUL SYLLABLE BWID;Lo;0;L;;;;;N;;;;; +BDDC;HANGUL SYLLABLE BWIL;Lo;0;L;;;;;N;;;;; +BDDD;HANGUL SYLLABLE BWILG;Lo;0;L;;;;;N;;;;; +BDDE;HANGUL SYLLABLE BWILM;Lo;0;L;;;;;N;;;;; +BDDF;HANGUL SYLLABLE BWILB;Lo;0;L;;;;;N;;;;; +BDE0;HANGUL SYLLABLE BWILS;Lo;0;L;;;;;N;;;;; +BDE1;HANGUL SYLLABLE BWILT;Lo;0;L;;;;;N;;;;; +BDE2;HANGUL SYLLABLE BWILP;Lo;0;L;;;;;N;;;;; +BDE3;HANGUL SYLLABLE BWILH;Lo;0;L;;;;;N;;;;; +BDE4;HANGUL SYLLABLE BWIM;Lo;0;L;;;;;N;;;;; +BDE5;HANGUL SYLLABLE BWIB;Lo;0;L;;;;;N;;;;; +BDE6;HANGUL SYLLABLE BWIBS;Lo;0;L;;;;;N;;;;; +BDE7;HANGUL SYLLABLE BWIS;Lo;0;L;;;;;N;;;;; +BDE8;HANGUL SYLLABLE BWISS;Lo;0;L;;;;;N;;;;; +BDE9;HANGUL SYLLABLE BWING;Lo;0;L;;;;;N;;;;; +BDEA;HANGUL SYLLABLE BWIJ;Lo;0;L;;;;;N;;;;; +BDEB;HANGUL SYLLABLE BWIC;Lo;0;L;;;;;N;;;;; +BDEC;HANGUL SYLLABLE BWIK;Lo;0;L;;;;;N;;;;; +BDED;HANGUL SYLLABLE BWIT;Lo;0;L;;;;;N;;;;; +BDEE;HANGUL SYLLABLE BWIP;Lo;0;L;;;;;N;;;;; +BDEF;HANGUL SYLLABLE BWIH;Lo;0;L;;;;;N;;;;; +BDF0;HANGUL SYLLABLE BYU;Lo;0;L;;;;;N;;;;; +BDF1;HANGUL SYLLABLE BYUG;Lo;0;L;;;;;N;;;;; +BDF2;HANGUL SYLLABLE BYUGG;Lo;0;L;;;;;N;;;;; +BDF3;HANGUL SYLLABLE BYUGS;Lo;0;L;;;;;N;;;;; +BDF4;HANGUL SYLLABLE BYUN;Lo;0;L;;;;;N;;;;; +BDF5;HANGUL SYLLABLE BYUNI;Lo;0;L;;;;;N;;;;; +BDF6;HANGUL SYLLABLE BYUNH;Lo;0;L;;;;;N;;;;; +BDF7;HANGUL SYLLABLE BYUD;Lo;0;L;;;;;N;;;;; +BDF8;HANGUL SYLLABLE BYUL;Lo;0;L;;;;;N;;;;; +BDF9;HANGUL SYLLABLE BYULG;Lo;0;L;;;;;N;;;;; +BDFA;HANGUL SYLLABLE BYULM;Lo;0;L;;;;;N;;;;; +BDFB;HANGUL SYLLABLE BYULB;Lo;0;L;;;;;N;;;;; +BDFC;HANGUL SYLLABLE BYULS;Lo;0;L;;;;;N;;;;; +BDFD;HANGUL SYLLABLE BYULT;Lo;0;L;;;;;N;;;;; +BDFE;HANGUL SYLLABLE BYULP;Lo;0;L;;;;;N;;;;; +BDFF;HANGUL SYLLABLE BYULH;Lo;0;L;;;;;N;;;;; +BE00;HANGUL SYLLABLE BYUM;Lo;0;L;;;;;N;;;;; +BE01;HANGUL SYLLABLE BYUB;Lo;0;L;;;;;N;;;;; +BE02;HANGUL SYLLABLE BYUBS;Lo;0;L;;;;;N;;;;; +BE03;HANGUL SYLLABLE BYUS;Lo;0;L;;;;;N;;;;; +BE04;HANGUL SYLLABLE BYUSS;Lo;0;L;;;;;N;;;;; +BE05;HANGUL SYLLABLE BYUNG;Lo;0;L;;;;;N;;;;; +BE06;HANGUL SYLLABLE BYUJ;Lo;0;L;;;;;N;;;;; +BE07;HANGUL SYLLABLE BYUC;Lo;0;L;;;;;N;;;;; +BE08;HANGUL SYLLABLE BYUK;Lo;0;L;;;;;N;;;;; +BE09;HANGUL SYLLABLE BYUT;Lo;0;L;;;;;N;;;;; +BE0A;HANGUL SYLLABLE BYUP;Lo;0;L;;;;;N;;;;; +BE0B;HANGUL SYLLABLE BYUH;Lo;0;L;;;;;N;;;;; +BE0C;HANGUL SYLLABLE BEU;Lo;0;L;;;;;N;;;;; +BE0D;HANGUL SYLLABLE BEUG;Lo;0;L;;;;;N;;;;; +BE0E;HANGUL SYLLABLE BEUGG;Lo;0;L;;;;;N;;;;; +BE0F;HANGUL SYLLABLE BEUGS;Lo;0;L;;;;;N;;;;; +BE10;HANGUL SYLLABLE BEUN;Lo;0;L;;;;;N;;;;; +BE11;HANGUL SYLLABLE BEUNI;Lo;0;L;;;;;N;;;;; +BE12;HANGUL SYLLABLE BEUNH;Lo;0;L;;;;;N;;;;; +BE13;HANGUL SYLLABLE BEUD;Lo;0;L;;;;;N;;;;; +BE14;HANGUL SYLLABLE BEUL;Lo;0;L;;;;;N;;;;; +BE15;HANGUL SYLLABLE BEULG;Lo;0;L;;;;;N;;;;; +BE16;HANGUL SYLLABLE BEULM;Lo;0;L;;;;;N;;;;; +BE17;HANGUL SYLLABLE BEULB;Lo;0;L;;;;;N;;;;; +BE18;HANGUL SYLLABLE BEULS;Lo;0;L;;;;;N;;;;; +BE19;HANGUL SYLLABLE BEULT;Lo;0;L;;;;;N;;;;; +BE1A;HANGUL SYLLABLE BEULP;Lo;0;L;;;;;N;;;;; +BE1B;HANGUL SYLLABLE BEULH;Lo;0;L;;;;;N;;;;; +BE1C;HANGUL SYLLABLE BEUM;Lo;0;L;;;;;N;;;;; +BE1D;HANGUL SYLLABLE BEUB;Lo;0;L;;;;;N;;;;; +BE1E;HANGUL SYLLABLE BEUBS;Lo;0;L;;;;;N;;;;; +BE1F;HANGUL SYLLABLE BEUS;Lo;0;L;;;;;N;;;;; +BE20;HANGUL SYLLABLE BEUSS;Lo;0;L;;;;;N;;;;; +BE21;HANGUL SYLLABLE BEUNG;Lo;0;L;;;;;N;;;;; +BE22;HANGUL SYLLABLE BEUJ;Lo;0;L;;;;;N;;;;; +BE23;HANGUL SYLLABLE BEUC;Lo;0;L;;;;;N;;;;; +BE24;HANGUL SYLLABLE BEUK;Lo;0;L;;;;;N;;;;; +BE25;HANGUL SYLLABLE BEUT;Lo;0;L;;;;;N;;;;; +BE26;HANGUL SYLLABLE BEUP;Lo;0;L;;;;;N;;;;; +BE27;HANGUL SYLLABLE BEUH;Lo;0;L;;;;;N;;;;; +BE28;HANGUL SYLLABLE BYI;Lo;0;L;;;;;N;;;;; +BE29;HANGUL SYLLABLE BYIG;Lo;0;L;;;;;N;;;;; +BE2A;HANGUL SYLLABLE BYIGG;Lo;0;L;;;;;N;;;;; +BE2B;HANGUL SYLLABLE BYIGS;Lo;0;L;;;;;N;;;;; +BE2C;HANGUL SYLLABLE BYIN;Lo;0;L;;;;;N;;;;; +BE2D;HANGUL SYLLABLE BYINI;Lo;0;L;;;;;N;;;;; +BE2E;HANGUL SYLLABLE BYINH;Lo;0;L;;;;;N;;;;; +BE2F;HANGUL SYLLABLE BYID;Lo;0;L;;;;;N;;;;; +BE30;HANGUL SYLLABLE BYIL;Lo;0;L;;;;;N;;;;; +BE31;HANGUL SYLLABLE BYILG;Lo;0;L;;;;;N;;;;; +BE32;HANGUL SYLLABLE BYILM;Lo;0;L;;;;;N;;;;; +BE33;HANGUL SYLLABLE BYILB;Lo;0;L;;;;;N;;;;; +BE34;HANGUL SYLLABLE BYILS;Lo;0;L;;;;;N;;;;; +BE35;HANGUL SYLLABLE BYILT;Lo;0;L;;;;;N;;;;; +BE36;HANGUL SYLLABLE BYILP;Lo;0;L;;;;;N;;;;; +BE37;HANGUL SYLLABLE BYILH;Lo;0;L;;;;;N;;;;; +BE38;HANGUL SYLLABLE BYIM;Lo;0;L;;;;;N;;;;; +BE39;HANGUL SYLLABLE BYIB;Lo;0;L;;;;;N;;;;; +BE3A;HANGUL SYLLABLE BYIBS;Lo;0;L;;;;;N;;;;; +BE3B;HANGUL SYLLABLE BYIS;Lo;0;L;;;;;N;;;;; +BE3C;HANGUL SYLLABLE BYISS;Lo;0;L;;;;;N;;;;; +BE3D;HANGUL SYLLABLE BYING;Lo;0;L;;;;;N;;;;; +BE3E;HANGUL SYLLABLE BYIJ;Lo;0;L;;;;;N;;;;; +BE3F;HANGUL SYLLABLE BYIC;Lo;0;L;;;;;N;;;;; +BE40;HANGUL SYLLABLE BYIK;Lo;0;L;;;;;N;;;;; +BE41;HANGUL SYLLABLE BYIT;Lo;0;L;;;;;N;;;;; +BE42;HANGUL SYLLABLE BYIP;Lo;0;L;;;;;N;;;;; +BE43;HANGUL SYLLABLE BYIH;Lo;0;L;;;;;N;;;;; +BE44;HANGUL SYLLABLE BI;Lo;0;L;;;;;N;;;;; +BE45;HANGUL SYLLABLE BIG;Lo;0;L;;;;;N;;;;; +BE46;HANGUL SYLLABLE BIGG;Lo;0;L;;;;;N;;;;; +BE47;HANGUL SYLLABLE BIGS;Lo;0;L;;;;;N;;;;; +BE48;HANGUL SYLLABLE BIN;Lo;0;L;;;;;N;;;;; +BE49;HANGUL SYLLABLE BINI;Lo;0;L;;;;;N;;;;; +BE4A;HANGUL SYLLABLE BINH;Lo;0;L;;;;;N;;;;; +BE4B;HANGUL SYLLABLE BID;Lo;0;L;;;;;N;;;;; +BE4C;HANGUL SYLLABLE BIL;Lo;0;L;;;;;N;;;;; +BE4D;HANGUL SYLLABLE BILG;Lo;0;L;;;;;N;;;;; +BE4E;HANGUL SYLLABLE BILM;Lo;0;L;;;;;N;;;;; +BE4F;HANGUL SYLLABLE BILB;Lo;0;L;;;;;N;;;;; +BE50;HANGUL SYLLABLE BILS;Lo;0;L;;;;;N;;;;; +BE51;HANGUL SYLLABLE BILT;Lo;0;L;;;;;N;;;;; +BE52;HANGUL SYLLABLE BILP;Lo;0;L;;;;;N;;;;; +BE53;HANGUL SYLLABLE BILH;Lo;0;L;;;;;N;;;;; +BE54;HANGUL SYLLABLE BIM;Lo;0;L;;;;;N;;;;; +BE55;HANGUL SYLLABLE BIB;Lo;0;L;;;;;N;;;;; +BE56;HANGUL SYLLABLE BIBS;Lo;0;L;;;;;N;;;;; +BE57;HANGUL SYLLABLE BIS;Lo;0;L;;;;;N;;;;; +BE58;HANGUL SYLLABLE BISS;Lo;0;L;;;;;N;;;;; +BE59;HANGUL SYLLABLE BING;Lo;0;L;;;;;N;;;;; +BE5A;HANGUL SYLLABLE BIJ;Lo;0;L;;;;;N;;;;; +BE5B;HANGUL SYLLABLE BIC;Lo;0;L;;;;;N;;;;; +BE5C;HANGUL SYLLABLE BIK;Lo;0;L;;;;;N;;;;; +BE5D;HANGUL SYLLABLE BIT;Lo;0;L;;;;;N;;;;; +BE5E;HANGUL SYLLABLE BIP;Lo;0;L;;;;;N;;;;; +BE5F;HANGUL SYLLABLE BIH;Lo;0;L;;;;;N;;;;; +BE60;HANGUL SYLLABLE BBA;Lo;0;L;;;;;N;;;;; +BE61;HANGUL SYLLABLE BBAG;Lo;0;L;;;;;N;;;;; +BE62;HANGUL SYLLABLE BBAGG;Lo;0;L;;;;;N;;;;; +BE63;HANGUL SYLLABLE BBAGS;Lo;0;L;;;;;N;;;;; +BE64;HANGUL SYLLABLE BBAN;Lo;0;L;;;;;N;;;;; +BE65;HANGUL SYLLABLE BBANI;Lo;0;L;;;;;N;;;;; +BE66;HANGUL SYLLABLE BBANH;Lo;0;L;;;;;N;;;;; +BE67;HANGUL SYLLABLE BBAD;Lo;0;L;;;;;N;;;;; +BE68;HANGUL SYLLABLE BBAL;Lo;0;L;;;;;N;;;;; +BE69;HANGUL SYLLABLE BBALG;Lo;0;L;;;;;N;;;;; +BE6A;HANGUL SYLLABLE BBALM;Lo;0;L;;;;;N;;;;; +BE6B;HANGUL SYLLABLE BBALB;Lo;0;L;;;;;N;;;;; +BE6C;HANGUL SYLLABLE BBALS;Lo;0;L;;;;;N;;;;; +BE6D;HANGUL SYLLABLE BBALT;Lo;0;L;;;;;N;;;;; +BE6E;HANGUL SYLLABLE BBALP;Lo;0;L;;;;;N;;;;; +BE6F;HANGUL SYLLABLE BBALH;Lo;0;L;;;;;N;;;;; +BE70;HANGUL SYLLABLE BBAM;Lo;0;L;;;;;N;;;;; +BE71;HANGUL SYLLABLE BBAB;Lo;0;L;;;;;N;;;;; +BE72;HANGUL SYLLABLE BBABS;Lo;0;L;;;;;N;;;;; +BE73;HANGUL SYLLABLE BBAS;Lo;0;L;;;;;N;;;;; +BE74;HANGUL SYLLABLE BBASS;Lo;0;L;;;;;N;;;;; +BE75;HANGUL SYLLABLE BBANG;Lo;0;L;;;;;N;;;;; +BE76;HANGUL SYLLABLE BBAJ;Lo;0;L;;;;;N;;;;; +BE77;HANGUL SYLLABLE BBAC;Lo;0;L;;;;;N;;;;; +BE78;HANGUL SYLLABLE BBAK;Lo;0;L;;;;;N;;;;; +BE79;HANGUL SYLLABLE BBAT;Lo;0;L;;;;;N;;;;; +BE7A;HANGUL SYLLABLE BBAP;Lo;0;L;;;;;N;;;;; +BE7B;HANGUL SYLLABLE BBAH;Lo;0;L;;;;;N;;;;; +BE7C;HANGUL SYLLABLE BBAE;Lo;0;L;;;;;N;;;;; +BE7D;HANGUL SYLLABLE BBAEG;Lo;0;L;;;;;N;;;;; +BE7E;HANGUL SYLLABLE BBAEGG;Lo;0;L;;;;;N;;;;; +BE7F;HANGUL SYLLABLE BBAEGS;Lo;0;L;;;;;N;;;;; +BE80;HANGUL SYLLABLE BBAEN;Lo;0;L;;;;;N;;;;; +BE81;HANGUL SYLLABLE BBAENI;Lo;0;L;;;;;N;;;;; +BE82;HANGUL SYLLABLE BBAENH;Lo;0;L;;;;;N;;;;; +BE83;HANGUL SYLLABLE BBAED;Lo;0;L;;;;;N;;;;; +BE84;HANGUL SYLLABLE BBAEL;Lo;0;L;;;;;N;;;;; +BE85;HANGUL SYLLABLE BBAELG;Lo;0;L;;;;;N;;;;; +BE86;HANGUL SYLLABLE BBAELM;Lo;0;L;;;;;N;;;;; +BE87;HANGUL SYLLABLE BBAELB;Lo;0;L;;;;;N;;;;; +BE88;HANGUL SYLLABLE BBAELS;Lo;0;L;;;;;N;;;;; +BE89;HANGUL SYLLABLE BBAELT;Lo;0;L;;;;;N;;;;; +BE8A;HANGUL SYLLABLE BBAELP;Lo;0;L;;;;;N;;;;; +BE8B;HANGUL SYLLABLE BBAELH;Lo;0;L;;;;;N;;;;; +BE8C;HANGUL SYLLABLE BBAEM;Lo;0;L;;;;;N;;;;; +BE8D;HANGUL SYLLABLE BBAEB;Lo;0;L;;;;;N;;;;; +BE8E;HANGUL SYLLABLE BBAEBS;Lo;0;L;;;;;N;;;;; +BE8F;HANGUL SYLLABLE BBAES;Lo;0;L;;;;;N;;;;; +BE90;HANGUL SYLLABLE BBAESS;Lo;0;L;;;;;N;;;;; +BE91;HANGUL SYLLABLE BBAENG;Lo;0;L;;;;;N;;;;; +BE92;HANGUL SYLLABLE BBAEJ;Lo;0;L;;;;;N;;;;; +BE93;HANGUL SYLLABLE BBAEC;Lo;0;L;;;;;N;;;;; +BE94;HANGUL SYLLABLE BBAEK;Lo;0;L;;;;;N;;;;; +BE95;HANGUL SYLLABLE BBAET;Lo;0;L;;;;;N;;;;; +BE96;HANGUL SYLLABLE BBAEP;Lo;0;L;;;;;N;;;;; +BE97;HANGUL SYLLABLE BBAEH;Lo;0;L;;;;;N;;;;; +BE98;HANGUL SYLLABLE BBYA;Lo;0;L;;;;;N;;;;; +BE99;HANGUL SYLLABLE BBYAG;Lo;0;L;;;;;N;;;;; +BE9A;HANGUL SYLLABLE BBYAGG;Lo;0;L;;;;;N;;;;; +BE9B;HANGUL SYLLABLE BBYAGS;Lo;0;L;;;;;N;;;;; +BE9C;HANGUL SYLLABLE BBYAN;Lo;0;L;;;;;N;;;;; +BE9D;HANGUL SYLLABLE BBYANI;Lo;0;L;;;;;N;;;;; +BE9E;HANGUL SYLLABLE BBYANH;Lo;0;L;;;;;N;;;;; +BE9F;HANGUL SYLLABLE BBYAD;Lo;0;L;;;;;N;;;;; +BEA0;HANGUL SYLLABLE BBYAL;Lo;0;L;;;;;N;;;;; +BEA1;HANGUL SYLLABLE BBYALG;Lo;0;L;;;;;N;;;;; +BEA2;HANGUL SYLLABLE BBYALM;Lo;0;L;;;;;N;;;;; +BEA3;HANGUL SYLLABLE BBYALB;Lo;0;L;;;;;N;;;;; +BEA4;HANGUL SYLLABLE BBYALS;Lo;0;L;;;;;N;;;;; +BEA5;HANGUL SYLLABLE BBYALT;Lo;0;L;;;;;N;;;;; +BEA6;HANGUL SYLLABLE BBYALP;Lo;0;L;;;;;N;;;;; +BEA7;HANGUL SYLLABLE BBYALH;Lo;0;L;;;;;N;;;;; +BEA8;HANGUL SYLLABLE BBYAM;Lo;0;L;;;;;N;;;;; +BEA9;HANGUL SYLLABLE BBYAB;Lo;0;L;;;;;N;;;;; +BEAA;HANGUL SYLLABLE BBYABS;Lo;0;L;;;;;N;;;;; +BEAB;HANGUL SYLLABLE BBYAS;Lo;0;L;;;;;N;;;;; +BEAC;HANGUL SYLLABLE BBYASS;Lo;0;L;;;;;N;;;;; +BEAD;HANGUL SYLLABLE BBYANG;Lo;0;L;;;;;N;;;;; +BEAE;HANGUL SYLLABLE BBYAJ;Lo;0;L;;;;;N;;;;; +BEAF;HANGUL SYLLABLE BBYAC;Lo;0;L;;;;;N;;;;; +BEB0;HANGUL SYLLABLE BBYAK;Lo;0;L;;;;;N;;;;; +BEB1;HANGUL SYLLABLE BBYAT;Lo;0;L;;;;;N;;;;; +BEB2;HANGUL SYLLABLE BBYAP;Lo;0;L;;;;;N;;;;; +BEB3;HANGUL SYLLABLE BBYAH;Lo;0;L;;;;;N;;;;; +BEB4;HANGUL SYLLABLE BBYAE;Lo;0;L;;;;;N;;;;; +BEB5;HANGUL SYLLABLE BBYAEG;Lo;0;L;;;;;N;;;;; +BEB6;HANGUL SYLLABLE BBYAEGG;Lo;0;L;;;;;N;;;;; +BEB7;HANGUL SYLLABLE BBYAEGS;Lo;0;L;;;;;N;;;;; +BEB8;HANGUL SYLLABLE BBYAEN;Lo;0;L;;;;;N;;;;; +BEB9;HANGUL SYLLABLE BBYAENI;Lo;0;L;;;;;N;;;;; +BEBA;HANGUL SYLLABLE BBYAENH;Lo;0;L;;;;;N;;;;; +BEBB;HANGUL SYLLABLE BBYAED;Lo;0;L;;;;;N;;;;; +BEBC;HANGUL SYLLABLE BBYAEL;Lo;0;L;;;;;N;;;;; +BEBD;HANGUL SYLLABLE BBYAELG;Lo;0;L;;;;;N;;;;; +BEBE;HANGUL SYLLABLE BBYAELM;Lo;0;L;;;;;N;;;;; +BEBF;HANGUL SYLLABLE BBYAELB;Lo;0;L;;;;;N;;;;; +BEC0;HANGUL SYLLABLE BBYAELS;Lo;0;L;;;;;N;;;;; +BEC1;HANGUL SYLLABLE BBYAELT;Lo;0;L;;;;;N;;;;; +BEC2;HANGUL SYLLABLE BBYAELP;Lo;0;L;;;;;N;;;;; +BEC3;HANGUL SYLLABLE BBYAELH;Lo;0;L;;;;;N;;;;; +BEC4;HANGUL SYLLABLE BBYAEM;Lo;0;L;;;;;N;;;;; +BEC5;HANGUL SYLLABLE BBYAEB;Lo;0;L;;;;;N;;;;; +BEC6;HANGUL SYLLABLE BBYAEBS;Lo;0;L;;;;;N;;;;; +BEC7;HANGUL SYLLABLE BBYAES;Lo;0;L;;;;;N;;;;; +BEC8;HANGUL SYLLABLE BBYAESS;Lo;0;L;;;;;N;;;;; +BEC9;HANGUL SYLLABLE BBYAENG;Lo;0;L;;;;;N;;;;; +BECA;HANGUL SYLLABLE BBYAEJ;Lo;0;L;;;;;N;;;;; +BECB;HANGUL SYLLABLE BBYAEC;Lo;0;L;;;;;N;;;;; +BECC;HANGUL SYLLABLE BBYAEK;Lo;0;L;;;;;N;;;;; +BECD;HANGUL SYLLABLE BBYAET;Lo;0;L;;;;;N;;;;; +BECE;HANGUL SYLLABLE BBYAEP;Lo;0;L;;;;;N;;;;; +BECF;HANGUL SYLLABLE BBYAEH;Lo;0;L;;;;;N;;;;; +BED0;HANGUL SYLLABLE BBEO;Lo;0;L;;;;;N;;;;; +BED1;HANGUL SYLLABLE BBEOG;Lo;0;L;;;;;N;;;;; +BED2;HANGUL SYLLABLE BBEOGG;Lo;0;L;;;;;N;;;;; +BED3;HANGUL SYLLABLE BBEOGS;Lo;0;L;;;;;N;;;;; +BED4;HANGUL SYLLABLE BBEON;Lo;0;L;;;;;N;;;;; +BED5;HANGUL SYLLABLE BBEONI;Lo;0;L;;;;;N;;;;; +BED6;HANGUL SYLLABLE BBEONH;Lo;0;L;;;;;N;;;;; +BED7;HANGUL SYLLABLE BBEOD;Lo;0;L;;;;;N;;;;; +BED8;HANGUL SYLLABLE BBEOL;Lo;0;L;;;;;N;;;;; +BED9;HANGUL SYLLABLE BBEOLG;Lo;0;L;;;;;N;;;;; +BEDA;HANGUL SYLLABLE BBEOLM;Lo;0;L;;;;;N;;;;; +BEDB;HANGUL SYLLABLE BBEOLB;Lo;0;L;;;;;N;;;;; +BEDC;HANGUL SYLLABLE BBEOLS;Lo;0;L;;;;;N;;;;; +BEDD;HANGUL SYLLABLE BBEOLT;Lo;0;L;;;;;N;;;;; +BEDE;HANGUL SYLLABLE BBEOLP;Lo;0;L;;;;;N;;;;; +BEDF;HANGUL SYLLABLE BBEOLH;Lo;0;L;;;;;N;;;;; +BEE0;HANGUL SYLLABLE BBEOM;Lo;0;L;;;;;N;;;;; +BEE1;HANGUL SYLLABLE BBEOB;Lo;0;L;;;;;N;;;;; +BEE2;HANGUL SYLLABLE BBEOBS;Lo;0;L;;;;;N;;;;; +BEE3;HANGUL SYLLABLE BBEOS;Lo;0;L;;;;;N;;;;; +BEE4;HANGUL SYLLABLE BBEOSS;Lo;0;L;;;;;N;;;;; +BEE5;HANGUL SYLLABLE BBEONG;Lo;0;L;;;;;N;;;;; +BEE6;HANGUL SYLLABLE BBEOJ;Lo;0;L;;;;;N;;;;; +BEE7;HANGUL SYLLABLE BBEOC;Lo;0;L;;;;;N;;;;; +BEE8;HANGUL SYLLABLE BBEOK;Lo;0;L;;;;;N;;;;; +BEE9;HANGUL SYLLABLE BBEOT;Lo;0;L;;;;;N;;;;; +BEEA;HANGUL SYLLABLE BBEOP;Lo;0;L;;;;;N;;;;; +BEEB;HANGUL SYLLABLE BBEOH;Lo;0;L;;;;;N;;;;; +BEEC;HANGUL SYLLABLE BBE;Lo;0;L;;;;;N;;;;; +BEED;HANGUL SYLLABLE BBEG;Lo;0;L;;;;;N;;;;; +BEEE;HANGUL SYLLABLE BBEGG;Lo;0;L;;;;;N;;;;; +BEEF;HANGUL SYLLABLE BBEGS;Lo;0;L;;;;;N;;;;; +BEF0;HANGUL SYLLABLE BBEN;Lo;0;L;;;;;N;;;;; +BEF1;HANGUL SYLLABLE BBENI;Lo;0;L;;;;;N;;;;; +BEF2;HANGUL SYLLABLE BBENH;Lo;0;L;;;;;N;;;;; +BEF3;HANGUL SYLLABLE BBED;Lo;0;L;;;;;N;;;;; +BEF4;HANGUL SYLLABLE BBEL;Lo;0;L;;;;;N;;;;; +BEF5;HANGUL SYLLABLE BBELG;Lo;0;L;;;;;N;;;;; +BEF6;HANGUL SYLLABLE BBELM;Lo;0;L;;;;;N;;;;; +BEF7;HANGUL SYLLABLE BBELB;Lo;0;L;;;;;N;;;;; +BEF8;HANGUL SYLLABLE BBELS;Lo;0;L;;;;;N;;;;; +BEF9;HANGUL SYLLABLE BBELT;Lo;0;L;;;;;N;;;;; +BEFA;HANGUL SYLLABLE BBELP;Lo;0;L;;;;;N;;;;; +BEFB;HANGUL SYLLABLE BBELH;Lo;0;L;;;;;N;;;;; +BEFC;HANGUL SYLLABLE BBEM;Lo;0;L;;;;;N;;;;; +BEFD;HANGUL SYLLABLE BBEB;Lo;0;L;;;;;N;;;;; +BEFE;HANGUL SYLLABLE BBEBS;Lo;0;L;;;;;N;;;;; +BEFF;HANGUL SYLLABLE BBES;Lo;0;L;;;;;N;;;;; +BF00;HANGUL SYLLABLE BBESS;Lo;0;L;;;;;N;;;;; +BF01;HANGUL SYLLABLE BBENG;Lo;0;L;;;;;N;;;;; +BF02;HANGUL SYLLABLE BBEJ;Lo;0;L;;;;;N;;;;; +BF03;HANGUL SYLLABLE BBEC;Lo;0;L;;;;;N;;;;; +BF04;HANGUL SYLLABLE BBEK;Lo;0;L;;;;;N;;;;; +BF05;HANGUL SYLLABLE BBET;Lo;0;L;;;;;N;;;;; +BF06;HANGUL SYLLABLE BBEP;Lo;0;L;;;;;N;;;;; +BF07;HANGUL SYLLABLE BBEH;Lo;0;L;;;;;N;;;;; +BF08;HANGUL SYLLABLE BBYEO;Lo;0;L;;;;;N;;;;; +BF09;HANGUL SYLLABLE BBYEOG;Lo;0;L;;;;;N;;;;; +BF0A;HANGUL SYLLABLE BBYEOGG;Lo;0;L;;;;;N;;;;; +BF0B;HANGUL SYLLABLE BBYEOGS;Lo;0;L;;;;;N;;;;; +BF0C;HANGUL SYLLABLE BBYEON;Lo;0;L;;;;;N;;;;; +BF0D;HANGUL SYLLABLE BBYEONI;Lo;0;L;;;;;N;;;;; +BF0E;HANGUL SYLLABLE BBYEONH;Lo;0;L;;;;;N;;;;; +BF0F;HANGUL SYLLABLE BBYEOD;Lo;0;L;;;;;N;;;;; +BF10;HANGUL SYLLABLE BBYEOL;Lo;0;L;;;;;N;;;;; +BF11;HANGUL SYLLABLE BBYEOLG;Lo;0;L;;;;;N;;;;; +BF12;HANGUL SYLLABLE BBYEOLM;Lo;0;L;;;;;N;;;;; +BF13;HANGUL SYLLABLE BBYEOLB;Lo;0;L;;;;;N;;;;; +BF14;HANGUL SYLLABLE BBYEOLS;Lo;0;L;;;;;N;;;;; +BF15;HANGUL SYLLABLE BBYEOLT;Lo;0;L;;;;;N;;;;; +BF16;HANGUL SYLLABLE BBYEOLP;Lo;0;L;;;;;N;;;;; +BF17;HANGUL SYLLABLE BBYEOLH;Lo;0;L;;;;;N;;;;; +BF18;HANGUL SYLLABLE BBYEOM;Lo;0;L;;;;;N;;;;; +BF19;HANGUL SYLLABLE BBYEOB;Lo;0;L;;;;;N;;;;; +BF1A;HANGUL SYLLABLE BBYEOBS;Lo;0;L;;;;;N;;;;; +BF1B;HANGUL SYLLABLE BBYEOS;Lo;0;L;;;;;N;;;;; +BF1C;HANGUL SYLLABLE BBYEOSS;Lo;0;L;;;;;N;;;;; +BF1D;HANGUL SYLLABLE BBYEONG;Lo;0;L;;;;;N;;;;; +BF1E;HANGUL SYLLABLE BBYEOJ;Lo;0;L;;;;;N;;;;; +BF1F;HANGUL SYLLABLE BBYEOC;Lo;0;L;;;;;N;;;;; +BF20;HANGUL SYLLABLE BBYEOK;Lo;0;L;;;;;N;;;;; +BF21;HANGUL SYLLABLE BBYEOT;Lo;0;L;;;;;N;;;;; +BF22;HANGUL SYLLABLE BBYEOP;Lo;0;L;;;;;N;;;;; +BF23;HANGUL SYLLABLE BBYEOH;Lo;0;L;;;;;N;;;;; +BF24;HANGUL SYLLABLE BBYE;Lo;0;L;;;;;N;;;;; +BF25;HANGUL SYLLABLE BBYEG;Lo;0;L;;;;;N;;;;; +BF26;HANGUL SYLLABLE BBYEGG;Lo;0;L;;;;;N;;;;; +BF27;HANGUL SYLLABLE BBYEGS;Lo;0;L;;;;;N;;;;; +BF28;HANGUL SYLLABLE BBYEN;Lo;0;L;;;;;N;;;;; +BF29;HANGUL SYLLABLE BBYENI;Lo;0;L;;;;;N;;;;; +BF2A;HANGUL SYLLABLE BBYENH;Lo;0;L;;;;;N;;;;; +BF2B;HANGUL SYLLABLE BBYED;Lo;0;L;;;;;N;;;;; +BF2C;HANGUL SYLLABLE BBYEL;Lo;0;L;;;;;N;;;;; +BF2D;HANGUL SYLLABLE BBYELG;Lo;0;L;;;;;N;;;;; +BF2E;HANGUL SYLLABLE BBYELM;Lo;0;L;;;;;N;;;;; +BF2F;HANGUL SYLLABLE BBYELB;Lo;0;L;;;;;N;;;;; +BF30;HANGUL SYLLABLE BBYELS;Lo;0;L;;;;;N;;;;; +BF31;HANGUL SYLLABLE BBYELT;Lo;0;L;;;;;N;;;;; +BF32;HANGUL SYLLABLE BBYELP;Lo;0;L;;;;;N;;;;; +BF33;HANGUL SYLLABLE BBYELH;Lo;0;L;;;;;N;;;;; +BF34;HANGUL SYLLABLE BBYEM;Lo;0;L;;;;;N;;;;; +BF35;HANGUL SYLLABLE BBYEB;Lo;0;L;;;;;N;;;;; +BF36;HANGUL SYLLABLE BBYEBS;Lo;0;L;;;;;N;;;;; +BF37;HANGUL SYLLABLE BBYES;Lo;0;L;;;;;N;;;;; +BF38;HANGUL SYLLABLE BBYESS;Lo;0;L;;;;;N;;;;; +BF39;HANGUL SYLLABLE BBYENG;Lo;0;L;;;;;N;;;;; +BF3A;HANGUL SYLLABLE BBYEJ;Lo;0;L;;;;;N;;;;; +BF3B;HANGUL SYLLABLE BBYEC;Lo;0;L;;;;;N;;;;; +BF3C;HANGUL SYLLABLE BBYEK;Lo;0;L;;;;;N;;;;; +BF3D;HANGUL SYLLABLE BBYET;Lo;0;L;;;;;N;;;;; +BF3E;HANGUL SYLLABLE BBYEP;Lo;0;L;;;;;N;;;;; +BF3F;HANGUL SYLLABLE BBYEH;Lo;0;L;;;;;N;;;;; +BF40;HANGUL SYLLABLE BBO;Lo;0;L;;;;;N;;;;; +BF41;HANGUL SYLLABLE BBOG;Lo;0;L;;;;;N;;;;; +BF42;HANGUL SYLLABLE BBOGG;Lo;0;L;;;;;N;;;;; +BF43;HANGUL SYLLABLE BBOGS;Lo;0;L;;;;;N;;;;; +BF44;HANGUL SYLLABLE BBON;Lo;0;L;;;;;N;;;;; +BF45;HANGUL SYLLABLE BBONI;Lo;0;L;;;;;N;;;;; +BF46;HANGUL SYLLABLE BBONH;Lo;0;L;;;;;N;;;;; +BF47;HANGUL SYLLABLE BBOD;Lo;0;L;;;;;N;;;;; +BF48;HANGUL SYLLABLE BBOL;Lo;0;L;;;;;N;;;;; +BF49;HANGUL SYLLABLE BBOLG;Lo;0;L;;;;;N;;;;; +BF4A;HANGUL SYLLABLE BBOLM;Lo;0;L;;;;;N;;;;; +BF4B;HANGUL SYLLABLE BBOLB;Lo;0;L;;;;;N;;;;; +BF4C;HANGUL SYLLABLE BBOLS;Lo;0;L;;;;;N;;;;; +BF4D;HANGUL SYLLABLE BBOLT;Lo;0;L;;;;;N;;;;; +BF4E;HANGUL SYLLABLE BBOLP;Lo;0;L;;;;;N;;;;; +BF4F;HANGUL SYLLABLE BBOLH;Lo;0;L;;;;;N;;;;; +BF50;HANGUL SYLLABLE BBOM;Lo;0;L;;;;;N;;;;; +BF51;HANGUL SYLLABLE BBOB;Lo;0;L;;;;;N;;;;; +BF52;HANGUL SYLLABLE BBOBS;Lo;0;L;;;;;N;;;;; +BF53;HANGUL SYLLABLE BBOS;Lo;0;L;;;;;N;;;;; +BF54;HANGUL SYLLABLE BBOSS;Lo;0;L;;;;;N;;;;; +BF55;HANGUL SYLLABLE BBONG;Lo;0;L;;;;;N;;;;; +BF56;HANGUL SYLLABLE BBOJ;Lo;0;L;;;;;N;;;;; +BF57;HANGUL SYLLABLE BBOC;Lo;0;L;;;;;N;;;;; +BF58;HANGUL SYLLABLE BBOK;Lo;0;L;;;;;N;;;;; +BF59;HANGUL SYLLABLE BBOT;Lo;0;L;;;;;N;;;;; +BF5A;HANGUL SYLLABLE BBOP;Lo;0;L;;;;;N;;;;; +BF5B;HANGUL SYLLABLE BBOH;Lo;0;L;;;;;N;;;;; +BF5C;HANGUL SYLLABLE BBWA;Lo;0;L;;;;;N;;;;; +BF5D;HANGUL SYLLABLE BBWAG;Lo;0;L;;;;;N;;;;; +BF5E;HANGUL SYLLABLE BBWAGG;Lo;0;L;;;;;N;;;;; +BF5F;HANGUL SYLLABLE BBWAGS;Lo;0;L;;;;;N;;;;; +BF60;HANGUL SYLLABLE BBWAN;Lo;0;L;;;;;N;;;;; +BF61;HANGUL SYLLABLE BBWANI;Lo;0;L;;;;;N;;;;; +BF62;HANGUL SYLLABLE BBWANH;Lo;0;L;;;;;N;;;;; +BF63;HANGUL SYLLABLE BBWAD;Lo;0;L;;;;;N;;;;; +BF64;HANGUL SYLLABLE BBWAL;Lo;0;L;;;;;N;;;;; +BF65;HANGUL SYLLABLE BBWALG;Lo;0;L;;;;;N;;;;; +BF66;HANGUL SYLLABLE BBWALM;Lo;0;L;;;;;N;;;;; +BF67;HANGUL SYLLABLE BBWALB;Lo;0;L;;;;;N;;;;; +BF68;HANGUL SYLLABLE BBWALS;Lo;0;L;;;;;N;;;;; +BF69;HANGUL SYLLABLE BBWALT;Lo;0;L;;;;;N;;;;; +BF6A;HANGUL SYLLABLE BBWALP;Lo;0;L;;;;;N;;;;; +BF6B;HANGUL SYLLABLE BBWALH;Lo;0;L;;;;;N;;;;; +BF6C;HANGUL SYLLABLE BBWAM;Lo;0;L;;;;;N;;;;; +BF6D;HANGUL SYLLABLE BBWAB;Lo;0;L;;;;;N;;;;; +BF6E;HANGUL SYLLABLE BBWABS;Lo;0;L;;;;;N;;;;; +BF6F;HANGUL SYLLABLE BBWAS;Lo;0;L;;;;;N;;;;; +BF70;HANGUL SYLLABLE BBWASS;Lo;0;L;;;;;N;;;;; +BF71;HANGUL SYLLABLE BBWANG;Lo;0;L;;;;;N;;;;; +BF72;HANGUL SYLLABLE BBWAJ;Lo;0;L;;;;;N;;;;; +BF73;HANGUL SYLLABLE BBWAC;Lo;0;L;;;;;N;;;;; +BF74;HANGUL SYLLABLE BBWAK;Lo;0;L;;;;;N;;;;; +BF75;HANGUL SYLLABLE BBWAT;Lo;0;L;;;;;N;;;;; +BF76;HANGUL SYLLABLE BBWAP;Lo;0;L;;;;;N;;;;; +BF77;HANGUL SYLLABLE BBWAH;Lo;0;L;;;;;N;;;;; +BF78;HANGUL SYLLABLE BBWAE;Lo;0;L;;;;;N;;;;; +BF79;HANGUL SYLLABLE BBWAEG;Lo;0;L;;;;;N;;;;; +BF7A;HANGUL SYLLABLE BBWAEGG;Lo;0;L;;;;;N;;;;; +BF7B;HANGUL SYLLABLE BBWAEGS;Lo;0;L;;;;;N;;;;; +BF7C;HANGUL SYLLABLE BBWAEN;Lo;0;L;;;;;N;;;;; +BF7D;HANGUL SYLLABLE BBWAENI;Lo;0;L;;;;;N;;;;; +BF7E;HANGUL SYLLABLE BBWAENH;Lo;0;L;;;;;N;;;;; +BF7F;HANGUL SYLLABLE BBWAED;Lo;0;L;;;;;N;;;;; +BF80;HANGUL SYLLABLE BBWAEL;Lo;0;L;;;;;N;;;;; +BF81;HANGUL SYLLABLE BBWAELG;Lo;0;L;;;;;N;;;;; +BF82;HANGUL SYLLABLE BBWAELM;Lo;0;L;;;;;N;;;;; +BF83;HANGUL SYLLABLE BBWAELB;Lo;0;L;;;;;N;;;;; +BF84;HANGUL SYLLABLE BBWAELS;Lo;0;L;;;;;N;;;;; +BF85;HANGUL SYLLABLE BBWAELT;Lo;0;L;;;;;N;;;;; +BF86;HANGUL SYLLABLE BBWAELP;Lo;0;L;;;;;N;;;;; +BF87;HANGUL SYLLABLE BBWAELH;Lo;0;L;;;;;N;;;;; +BF88;HANGUL SYLLABLE BBWAEM;Lo;0;L;;;;;N;;;;; +BF89;HANGUL SYLLABLE BBWAEB;Lo;0;L;;;;;N;;;;; +BF8A;HANGUL SYLLABLE BBWAEBS;Lo;0;L;;;;;N;;;;; +BF8B;HANGUL SYLLABLE BBWAES;Lo;0;L;;;;;N;;;;; +BF8C;HANGUL SYLLABLE BBWAESS;Lo;0;L;;;;;N;;;;; +BF8D;HANGUL SYLLABLE BBWAENG;Lo;0;L;;;;;N;;;;; +BF8E;HANGUL SYLLABLE BBWAEJ;Lo;0;L;;;;;N;;;;; +BF8F;HANGUL SYLLABLE BBWAEC;Lo;0;L;;;;;N;;;;; +BF90;HANGUL SYLLABLE BBWAEK;Lo;0;L;;;;;N;;;;; +BF91;HANGUL SYLLABLE BBWAET;Lo;0;L;;;;;N;;;;; +BF92;HANGUL SYLLABLE BBWAEP;Lo;0;L;;;;;N;;;;; +BF93;HANGUL SYLLABLE BBWAEH;Lo;0;L;;;;;N;;;;; +BF94;HANGUL SYLLABLE BBOE;Lo;0;L;;;;;N;;;;; +BF95;HANGUL SYLLABLE BBOEG;Lo;0;L;;;;;N;;;;; +BF96;HANGUL SYLLABLE BBOEGG;Lo;0;L;;;;;N;;;;; +BF97;HANGUL SYLLABLE BBOEGS;Lo;0;L;;;;;N;;;;; +BF98;HANGUL SYLLABLE BBOEN;Lo;0;L;;;;;N;;;;; +BF99;HANGUL SYLLABLE BBOENI;Lo;0;L;;;;;N;;;;; +BF9A;HANGUL SYLLABLE BBOENH;Lo;0;L;;;;;N;;;;; +BF9B;HANGUL SYLLABLE BBOED;Lo;0;L;;;;;N;;;;; +BF9C;HANGUL SYLLABLE BBOEL;Lo;0;L;;;;;N;;;;; +BF9D;HANGUL SYLLABLE BBOELG;Lo;0;L;;;;;N;;;;; +BF9E;HANGUL SYLLABLE BBOELM;Lo;0;L;;;;;N;;;;; +BF9F;HANGUL SYLLABLE BBOELB;Lo;0;L;;;;;N;;;;; +BFA0;HANGUL SYLLABLE BBOELS;Lo;0;L;;;;;N;;;;; +BFA1;HANGUL SYLLABLE BBOELT;Lo;0;L;;;;;N;;;;; +BFA2;HANGUL SYLLABLE BBOELP;Lo;0;L;;;;;N;;;;; +BFA3;HANGUL SYLLABLE BBOELH;Lo;0;L;;;;;N;;;;; +BFA4;HANGUL SYLLABLE BBOEM;Lo;0;L;;;;;N;;;;; +BFA5;HANGUL SYLLABLE BBOEB;Lo;0;L;;;;;N;;;;; +BFA6;HANGUL SYLLABLE BBOEBS;Lo;0;L;;;;;N;;;;; +BFA7;HANGUL SYLLABLE BBOES;Lo;0;L;;;;;N;;;;; +BFA8;HANGUL SYLLABLE BBOESS;Lo;0;L;;;;;N;;;;; +BFA9;HANGUL SYLLABLE BBOENG;Lo;0;L;;;;;N;;;;; +BFAA;HANGUL SYLLABLE BBOEJ;Lo;0;L;;;;;N;;;;; +BFAB;HANGUL SYLLABLE BBOEC;Lo;0;L;;;;;N;;;;; +BFAC;HANGUL SYLLABLE BBOEK;Lo;0;L;;;;;N;;;;; +BFAD;HANGUL SYLLABLE BBOET;Lo;0;L;;;;;N;;;;; +BFAE;HANGUL SYLLABLE BBOEP;Lo;0;L;;;;;N;;;;; +BFAF;HANGUL SYLLABLE BBOEH;Lo;0;L;;;;;N;;;;; +BFB0;HANGUL SYLLABLE BBYO;Lo;0;L;;;;;N;;;;; +BFB1;HANGUL SYLLABLE BBYOG;Lo;0;L;;;;;N;;;;; +BFB2;HANGUL SYLLABLE BBYOGG;Lo;0;L;;;;;N;;;;; +BFB3;HANGUL SYLLABLE BBYOGS;Lo;0;L;;;;;N;;;;; +BFB4;HANGUL SYLLABLE BBYON;Lo;0;L;;;;;N;;;;; +BFB5;HANGUL SYLLABLE BBYONI;Lo;0;L;;;;;N;;;;; +BFB6;HANGUL SYLLABLE BBYONH;Lo;0;L;;;;;N;;;;; +BFB7;HANGUL SYLLABLE BBYOD;Lo;0;L;;;;;N;;;;; +BFB8;HANGUL SYLLABLE BBYOL;Lo;0;L;;;;;N;;;;; +BFB9;HANGUL SYLLABLE BBYOLG;Lo;0;L;;;;;N;;;;; +BFBA;HANGUL SYLLABLE BBYOLM;Lo;0;L;;;;;N;;;;; +BFBB;HANGUL SYLLABLE BBYOLB;Lo;0;L;;;;;N;;;;; +BFBC;HANGUL SYLLABLE BBYOLS;Lo;0;L;;;;;N;;;;; +BFBD;HANGUL SYLLABLE BBYOLT;Lo;0;L;;;;;N;;;;; +BFBE;HANGUL SYLLABLE BBYOLP;Lo;0;L;;;;;N;;;;; +BFBF;HANGUL SYLLABLE BBYOLH;Lo;0;L;;;;;N;;;;; +BFC0;HANGUL SYLLABLE BBYOM;Lo;0;L;;;;;N;;;;; +BFC1;HANGUL SYLLABLE BBYOB;Lo;0;L;;;;;N;;;;; +BFC2;HANGUL SYLLABLE BBYOBS;Lo;0;L;;;;;N;;;;; +BFC3;HANGUL SYLLABLE BBYOS;Lo;0;L;;;;;N;;;;; +BFC4;HANGUL SYLLABLE BBYOSS;Lo;0;L;;;;;N;;;;; +BFC5;HANGUL SYLLABLE BBYONG;Lo;0;L;;;;;N;;;;; +BFC6;HANGUL SYLLABLE BBYOJ;Lo;0;L;;;;;N;;;;; +BFC7;HANGUL SYLLABLE BBYOC;Lo;0;L;;;;;N;;;;; +BFC8;HANGUL SYLLABLE BBYOK;Lo;0;L;;;;;N;;;;; +BFC9;HANGUL SYLLABLE BBYOT;Lo;0;L;;;;;N;;;;; +BFCA;HANGUL SYLLABLE BBYOP;Lo;0;L;;;;;N;;;;; +BFCB;HANGUL SYLLABLE BBYOH;Lo;0;L;;;;;N;;;;; +BFCC;HANGUL SYLLABLE BBU;Lo;0;L;;;;;N;;;;; +BFCD;HANGUL SYLLABLE BBUG;Lo;0;L;;;;;N;;;;; +BFCE;HANGUL SYLLABLE BBUGG;Lo;0;L;;;;;N;;;;; +BFCF;HANGUL SYLLABLE BBUGS;Lo;0;L;;;;;N;;;;; +BFD0;HANGUL SYLLABLE BBUN;Lo;0;L;;;;;N;;;;; +BFD1;HANGUL SYLLABLE BBUNI;Lo;0;L;;;;;N;;;;; +BFD2;HANGUL SYLLABLE BBUNH;Lo;0;L;;;;;N;;;;; +BFD3;HANGUL SYLLABLE BBUD;Lo;0;L;;;;;N;;;;; +BFD4;HANGUL SYLLABLE BBUL;Lo;0;L;;;;;N;;;;; +BFD5;HANGUL SYLLABLE BBULG;Lo;0;L;;;;;N;;;;; +BFD6;HANGUL SYLLABLE BBULM;Lo;0;L;;;;;N;;;;; +BFD7;HANGUL SYLLABLE BBULB;Lo;0;L;;;;;N;;;;; +BFD8;HANGUL SYLLABLE BBULS;Lo;0;L;;;;;N;;;;; +BFD9;HANGUL SYLLABLE BBULT;Lo;0;L;;;;;N;;;;; +BFDA;HANGUL SYLLABLE BBULP;Lo;0;L;;;;;N;;;;; +BFDB;HANGUL SYLLABLE BBULH;Lo;0;L;;;;;N;;;;; +BFDC;HANGUL SYLLABLE BBUM;Lo;0;L;;;;;N;;;;; +BFDD;HANGUL SYLLABLE BBUB;Lo;0;L;;;;;N;;;;; +BFDE;HANGUL SYLLABLE BBUBS;Lo;0;L;;;;;N;;;;; +BFDF;HANGUL SYLLABLE BBUS;Lo;0;L;;;;;N;;;;; +BFE0;HANGUL SYLLABLE BBUSS;Lo;0;L;;;;;N;;;;; +BFE1;HANGUL SYLLABLE BBUNG;Lo;0;L;;;;;N;;;;; +BFE2;HANGUL SYLLABLE BBUJ;Lo;0;L;;;;;N;;;;; +BFE3;HANGUL SYLLABLE BBUC;Lo;0;L;;;;;N;;;;; +BFE4;HANGUL SYLLABLE BBUK;Lo;0;L;;;;;N;;;;; +BFE5;HANGUL SYLLABLE BBUT;Lo;0;L;;;;;N;;;;; +BFE6;HANGUL SYLLABLE BBUP;Lo;0;L;;;;;N;;;;; +BFE7;HANGUL SYLLABLE BBUH;Lo;0;L;;;;;N;;;;; +BFE8;HANGUL SYLLABLE BBWEO;Lo;0;L;;;;;N;;;;; +BFE9;HANGUL SYLLABLE BBWEOG;Lo;0;L;;;;;N;;;;; +BFEA;HANGUL SYLLABLE BBWEOGG;Lo;0;L;;;;;N;;;;; +BFEB;HANGUL SYLLABLE BBWEOGS;Lo;0;L;;;;;N;;;;; +BFEC;HANGUL SYLLABLE BBWEON;Lo;0;L;;;;;N;;;;; +BFED;HANGUL SYLLABLE BBWEONI;Lo;0;L;;;;;N;;;;; +BFEE;HANGUL SYLLABLE BBWEONH;Lo;0;L;;;;;N;;;;; +BFEF;HANGUL SYLLABLE BBWEOD;Lo;0;L;;;;;N;;;;; +BFF0;HANGUL SYLLABLE BBWEOL;Lo;0;L;;;;;N;;;;; +BFF1;HANGUL SYLLABLE BBWEOLG;Lo;0;L;;;;;N;;;;; +BFF2;HANGUL SYLLABLE BBWEOLM;Lo;0;L;;;;;N;;;;; +BFF3;HANGUL SYLLABLE BBWEOLB;Lo;0;L;;;;;N;;;;; +BFF4;HANGUL SYLLABLE BBWEOLS;Lo;0;L;;;;;N;;;;; +BFF5;HANGUL SYLLABLE BBWEOLT;Lo;0;L;;;;;N;;;;; +BFF6;HANGUL SYLLABLE BBWEOLP;Lo;0;L;;;;;N;;;;; +BFF7;HANGUL SYLLABLE BBWEOLH;Lo;0;L;;;;;N;;;;; +BFF8;HANGUL SYLLABLE BBWEOM;Lo;0;L;;;;;N;;;;; +BFF9;HANGUL SYLLABLE BBWEOB;Lo;0;L;;;;;N;;;;; +BFFA;HANGUL SYLLABLE BBWEOBS;Lo;0;L;;;;;N;;;;; +BFFB;HANGUL SYLLABLE BBWEOS;Lo;0;L;;;;;N;;;;; +BFFC;HANGUL SYLLABLE BBWEOSS;Lo;0;L;;;;;N;;;;; +BFFD;HANGUL SYLLABLE BBWEONG;Lo;0;L;;;;;N;;;;; +BFFE;HANGUL SYLLABLE BBWEOJ;Lo;0;L;;;;;N;;;;; +BFFF;HANGUL SYLLABLE BBWEOC;Lo;0;L;;;;;N;;;;; +C000;HANGUL SYLLABLE BBWEOK;Lo;0;L;;;;;N;;;;; +C001;HANGUL SYLLABLE BBWEOT;Lo;0;L;;;;;N;;;;; +C002;HANGUL SYLLABLE BBWEOP;Lo;0;L;;;;;N;;;;; +C003;HANGUL SYLLABLE BBWEOH;Lo;0;L;;;;;N;;;;; +C004;HANGUL SYLLABLE BBWE;Lo;0;L;;;;;N;;;;; +C005;HANGUL SYLLABLE BBWEG;Lo;0;L;;;;;N;;;;; +C006;HANGUL SYLLABLE BBWEGG;Lo;0;L;;;;;N;;;;; +C007;HANGUL SYLLABLE BBWEGS;Lo;0;L;;;;;N;;;;; +C008;HANGUL SYLLABLE BBWEN;Lo;0;L;;;;;N;;;;; +C009;HANGUL SYLLABLE BBWENI;Lo;0;L;;;;;N;;;;; +C00A;HANGUL SYLLABLE BBWENH;Lo;0;L;;;;;N;;;;; +C00B;HANGUL SYLLABLE BBWED;Lo;0;L;;;;;N;;;;; +C00C;HANGUL SYLLABLE BBWEL;Lo;0;L;;;;;N;;;;; +C00D;HANGUL SYLLABLE BBWELG;Lo;0;L;;;;;N;;;;; +C00E;HANGUL SYLLABLE BBWELM;Lo;0;L;;;;;N;;;;; +C00F;HANGUL SYLLABLE BBWELB;Lo;0;L;;;;;N;;;;; +C010;HANGUL SYLLABLE BBWELS;Lo;0;L;;;;;N;;;;; +C011;HANGUL SYLLABLE BBWELT;Lo;0;L;;;;;N;;;;; +C012;HANGUL SYLLABLE BBWELP;Lo;0;L;;;;;N;;;;; +C013;HANGUL SYLLABLE BBWELH;Lo;0;L;;;;;N;;;;; +C014;HANGUL SYLLABLE BBWEM;Lo;0;L;;;;;N;;;;; +C015;HANGUL SYLLABLE BBWEB;Lo;0;L;;;;;N;;;;; +C016;HANGUL SYLLABLE BBWEBS;Lo;0;L;;;;;N;;;;; +C017;HANGUL SYLLABLE BBWES;Lo;0;L;;;;;N;;;;; +C018;HANGUL SYLLABLE BBWESS;Lo;0;L;;;;;N;;;;; +C019;HANGUL SYLLABLE BBWENG;Lo;0;L;;;;;N;;;;; +C01A;HANGUL SYLLABLE BBWEJ;Lo;0;L;;;;;N;;;;; +C01B;HANGUL SYLLABLE BBWEC;Lo;0;L;;;;;N;;;;; +C01C;HANGUL SYLLABLE BBWEK;Lo;0;L;;;;;N;;;;; +C01D;HANGUL SYLLABLE BBWET;Lo;0;L;;;;;N;;;;; +C01E;HANGUL SYLLABLE BBWEP;Lo;0;L;;;;;N;;;;; +C01F;HANGUL SYLLABLE BBWEH;Lo;0;L;;;;;N;;;;; +C020;HANGUL SYLLABLE BBWI;Lo;0;L;;;;;N;;;;; +C021;HANGUL SYLLABLE BBWIG;Lo;0;L;;;;;N;;;;; +C022;HANGUL SYLLABLE BBWIGG;Lo;0;L;;;;;N;;;;; +C023;HANGUL SYLLABLE BBWIGS;Lo;0;L;;;;;N;;;;; +C024;HANGUL SYLLABLE BBWIN;Lo;0;L;;;;;N;;;;; +C025;HANGUL SYLLABLE BBWINI;Lo;0;L;;;;;N;;;;; +C026;HANGUL SYLLABLE BBWINH;Lo;0;L;;;;;N;;;;; +C027;HANGUL SYLLABLE BBWID;Lo;0;L;;;;;N;;;;; +C028;HANGUL SYLLABLE BBWIL;Lo;0;L;;;;;N;;;;; +C029;HANGUL SYLLABLE BBWILG;Lo;0;L;;;;;N;;;;; +C02A;HANGUL SYLLABLE BBWILM;Lo;0;L;;;;;N;;;;; +C02B;HANGUL SYLLABLE BBWILB;Lo;0;L;;;;;N;;;;; +C02C;HANGUL SYLLABLE BBWILS;Lo;0;L;;;;;N;;;;; +C02D;HANGUL SYLLABLE BBWILT;Lo;0;L;;;;;N;;;;; +C02E;HANGUL SYLLABLE BBWILP;Lo;0;L;;;;;N;;;;; +C02F;HANGUL SYLLABLE BBWILH;Lo;0;L;;;;;N;;;;; +C030;HANGUL SYLLABLE BBWIM;Lo;0;L;;;;;N;;;;; +C031;HANGUL SYLLABLE BBWIB;Lo;0;L;;;;;N;;;;; +C032;HANGUL SYLLABLE BBWIBS;Lo;0;L;;;;;N;;;;; +C033;HANGUL SYLLABLE BBWIS;Lo;0;L;;;;;N;;;;; +C034;HANGUL SYLLABLE BBWISS;Lo;0;L;;;;;N;;;;; +C035;HANGUL SYLLABLE BBWING;Lo;0;L;;;;;N;;;;; +C036;HANGUL SYLLABLE BBWIJ;Lo;0;L;;;;;N;;;;; +C037;HANGUL SYLLABLE BBWIC;Lo;0;L;;;;;N;;;;; +C038;HANGUL SYLLABLE BBWIK;Lo;0;L;;;;;N;;;;; +C039;HANGUL SYLLABLE BBWIT;Lo;0;L;;;;;N;;;;; +C03A;HANGUL SYLLABLE BBWIP;Lo;0;L;;;;;N;;;;; +C03B;HANGUL SYLLABLE BBWIH;Lo;0;L;;;;;N;;;;; +C03C;HANGUL SYLLABLE BBYU;Lo;0;L;;;;;N;;;;; +C03D;HANGUL SYLLABLE BBYUG;Lo;0;L;;;;;N;;;;; +C03E;HANGUL SYLLABLE BBYUGG;Lo;0;L;;;;;N;;;;; +C03F;HANGUL SYLLABLE BBYUGS;Lo;0;L;;;;;N;;;;; +C040;HANGUL SYLLABLE BBYUN;Lo;0;L;;;;;N;;;;; +C041;HANGUL SYLLABLE BBYUNI;Lo;0;L;;;;;N;;;;; +C042;HANGUL SYLLABLE BBYUNH;Lo;0;L;;;;;N;;;;; +C043;HANGUL SYLLABLE BBYUD;Lo;0;L;;;;;N;;;;; +C044;HANGUL SYLLABLE BBYUL;Lo;0;L;;;;;N;;;;; +C045;HANGUL SYLLABLE BBYULG;Lo;0;L;;;;;N;;;;; +C046;HANGUL SYLLABLE BBYULM;Lo;0;L;;;;;N;;;;; +C047;HANGUL SYLLABLE BBYULB;Lo;0;L;;;;;N;;;;; +C048;HANGUL SYLLABLE BBYULS;Lo;0;L;;;;;N;;;;; +C049;HANGUL SYLLABLE BBYULT;Lo;0;L;;;;;N;;;;; +C04A;HANGUL SYLLABLE BBYULP;Lo;0;L;;;;;N;;;;; +C04B;HANGUL SYLLABLE BBYULH;Lo;0;L;;;;;N;;;;; +C04C;HANGUL SYLLABLE BBYUM;Lo;0;L;;;;;N;;;;; +C04D;HANGUL SYLLABLE BBYUB;Lo;0;L;;;;;N;;;;; +C04E;HANGUL SYLLABLE BBYUBS;Lo;0;L;;;;;N;;;;; +C04F;HANGUL SYLLABLE BBYUS;Lo;0;L;;;;;N;;;;; +C050;HANGUL SYLLABLE BBYUSS;Lo;0;L;;;;;N;;;;; +C051;HANGUL SYLLABLE BBYUNG;Lo;0;L;;;;;N;;;;; +C052;HANGUL SYLLABLE BBYUJ;Lo;0;L;;;;;N;;;;; +C053;HANGUL SYLLABLE BBYUC;Lo;0;L;;;;;N;;;;; +C054;HANGUL SYLLABLE BBYUK;Lo;0;L;;;;;N;;;;; +C055;HANGUL SYLLABLE BBYUT;Lo;0;L;;;;;N;;;;; +C056;HANGUL SYLLABLE BBYUP;Lo;0;L;;;;;N;;;;; +C057;HANGUL SYLLABLE BBYUH;Lo;0;L;;;;;N;;;;; +C058;HANGUL SYLLABLE BBEU;Lo;0;L;;;;;N;;;;; +C059;HANGUL SYLLABLE BBEUG;Lo;0;L;;;;;N;;;;; +C05A;HANGUL SYLLABLE BBEUGG;Lo;0;L;;;;;N;;;;; +C05B;HANGUL SYLLABLE BBEUGS;Lo;0;L;;;;;N;;;;; +C05C;HANGUL SYLLABLE BBEUN;Lo;0;L;;;;;N;;;;; +C05D;HANGUL SYLLABLE BBEUNI;Lo;0;L;;;;;N;;;;; +C05E;HANGUL SYLLABLE BBEUNH;Lo;0;L;;;;;N;;;;; +C05F;HANGUL SYLLABLE BBEUD;Lo;0;L;;;;;N;;;;; +C060;HANGUL SYLLABLE BBEUL;Lo;0;L;;;;;N;;;;; +C061;HANGUL SYLLABLE BBEULG;Lo;0;L;;;;;N;;;;; +C062;HANGUL SYLLABLE BBEULM;Lo;0;L;;;;;N;;;;; +C063;HANGUL SYLLABLE BBEULB;Lo;0;L;;;;;N;;;;; +C064;HANGUL SYLLABLE BBEULS;Lo;0;L;;;;;N;;;;; +C065;HANGUL SYLLABLE BBEULT;Lo;0;L;;;;;N;;;;; +C066;HANGUL SYLLABLE BBEULP;Lo;0;L;;;;;N;;;;; +C067;HANGUL SYLLABLE BBEULH;Lo;0;L;;;;;N;;;;; +C068;HANGUL SYLLABLE BBEUM;Lo;0;L;;;;;N;;;;; +C069;HANGUL SYLLABLE BBEUB;Lo;0;L;;;;;N;;;;; +C06A;HANGUL SYLLABLE BBEUBS;Lo;0;L;;;;;N;;;;; +C06B;HANGUL SYLLABLE BBEUS;Lo;0;L;;;;;N;;;;; +C06C;HANGUL SYLLABLE BBEUSS;Lo;0;L;;;;;N;;;;; +C06D;HANGUL SYLLABLE BBEUNG;Lo;0;L;;;;;N;;;;; +C06E;HANGUL SYLLABLE BBEUJ;Lo;0;L;;;;;N;;;;; +C06F;HANGUL SYLLABLE BBEUC;Lo;0;L;;;;;N;;;;; +C070;HANGUL SYLLABLE BBEUK;Lo;0;L;;;;;N;;;;; +C071;HANGUL SYLLABLE BBEUT;Lo;0;L;;;;;N;;;;; +C072;HANGUL SYLLABLE BBEUP;Lo;0;L;;;;;N;;;;; +C073;HANGUL SYLLABLE BBEUH;Lo;0;L;;;;;N;;;;; +C074;HANGUL SYLLABLE BBYI;Lo;0;L;;;;;N;;;;; +C075;HANGUL SYLLABLE BBYIG;Lo;0;L;;;;;N;;;;; +C076;HANGUL SYLLABLE BBYIGG;Lo;0;L;;;;;N;;;;; +C077;HANGUL SYLLABLE BBYIGS;Lo;0;L;;;;;N;;;;; +C078;HANGUL SYLLABLE BBYIN;Lo;0;L;;;;;N;;;;; +C079;HANGUL SYLLABLE BBYINI;Lo;0;L;;;;;N;;;;; +C07A;HANGUL SYLLABLE BBYINH;Lo;0;L;;;;;N;;;;; +C07B;HANGUL SYLLABLE BBYID;Lo;0;L;;;;;N;;;;; +C07C;HANGUL SYLLABLE BBYIL;Lo;0;L;;;;;N;;;;; +C07D;HANGUL SYLLABLE BBYILG;Lo;0;L;;;;;N;;;;; +C07E;HANGUL SYLLABLE BBYILM;Lo;0;L;;;;;N;;;;; +C07F;HANGUL SYLLABLE BBYILB;Lo;0;L;;;;;N;;;;; +C080;HANGUL SYLLABLE BBYILS;Lo;0;L;;;;;N;;;;; +C081;HANGUL SYLLABLE BBYILT;Lo;0;L;;;;;N;;;;; +C082;HANGUL SYLLABLE BBYILP;Lo;0;L;;;;;N;;;;; +C083;HANGUL SYLLABLE BBYILH;Lo;0;L;;;;;N;;;;; +C084;HANGUL SYLLABLE BBYIM;Lo;0;L;;;;;N;;;;; +C085;HANGUL SYLLABLE BBYIB;Lo;0;L;;;;;N;;;;; +C086;HANGUL SYLLABLE BBYIBS;Lo;0;L;;;;;N;;;;; +C087;HANGUL SYLLABLE BBYIS;Lo;0;L;;;;;N;;;;; +C088;HANGUL SYLLABLE BBYISS;Lo;0;L;;;;;N;;;;; +C089;HANGUL SYLLABLE BBYING;Lo;0;L;;;;;N;;;;; +C08A;HANGUL SYLLABLE BBYIJ;Lo;0;L;;;;;N;;;;; +C08B;HANGUL SYLLABLE BBYIC;Lo;0;L;;;;;N;;;;; +C08C;HANGUL SYLLABLE BBYIK;Lo;0;L;;;;;N;;;;; +C08D;HANGUL SYLLABLE BBYIT;Lo;0;L;;;;;N;;;;; +C08E;HANGUL SYLLABLE BBYIP;Lo;0;L;;;;;N;;;;; +C08F;HANGUL SYLLABLE BBYIH;Lo;0;L;;;;;N;;;;; +C090;HANGUL SYLLABLE BBI;Lo;0;L;;;;;N;;;;; +C091;HANGUL SYLLABLE BBIG;Lo;0;L;;;;;N;;;;; +C092;HANGUL SYLLABLE BBIGG;Lo;0;L;;;;;N;;;;; +C093;HANGUL SYLLABLE BBIGS;Lo;0;L;;;;;N;;;;; +C094;HANGUL SYLLABLE BBIN;Lo;0;L;;;;;N;;;;; +C095;HANGUL SYLLABLE BBINI;Lo;0;L;;;;;N;;;;; +C096;HANGUL SYLLABLE BBINH;Lo;0;L;;;;;N;;;;; +C097;HANGUL SYLLABLE BBID;Lo;0;L;;;;;N;;;;; +C098;HANGUL SYLLABLE BBIL;Lo;0;L;;;;;N;;;;; +C099;HANGUL SYLLABLE BBILG;Lo;0;L;;;;;N;;;;; +C09A;HANGUL SYLLABLE BBILM;Lo;0;L;;;;;N;;;;; +C09B;HANGUL SYLLABLE BBILB;Lo;0;L;;;;;N;;;;; +C09C;HANGUL SYLLABLE BBILS;Lo;0;L;;;;;N;;;;; +C09D;HANGUL SYLLABLE BBILT;Lo;0;L;;;;;N;;;;; +C09E;HANGUL SYLLABLE BBILP;Lo;0;L;;;;;N;;;;; +C09F;HANGUL SYLLABLE BBILH;Lo;0;L;;;;;N;;;;; +C0A0;HANGUL SYLLABLE BBIM;Lo;0;L;;;;;N;;;;; +C0A1;HANGUL SYLLABLE BBIB;Lo;0;L;;;;;N;;;;; +C0A2;HANGUL SYLLABLE BBIBS;Lo;0;L;;;;;N;;;;; +C0A3;HANGUL SYLLABLE BBIS;Lo;0;L;;;;;N;;;;; +C0A4;HANGUL SYLLABLE BBISS;Lo;0;L;;;;;N;;;;; +C0A5;HANGUL SYLLABLE BBING;Lo;0;L;;;;;N;;;;; +C0A6;HANGUL SYLLABLE BBIJ;Lo;0;L;;;;;N;;;;; +C0A7;HANGUL SYLLABLE BBIC;Lo;0;L;;;;;N;;;;; +C0A8;HANGUL SYLLABLE BBIK;Lo;0;L;;;;;N;;;;; +C0A9;HANGUL SYLLABLE BBIT;Lo;0;L;;;;;N;;;;; +C0AA;HANGUL SYLLABLE BBIP;Lo;0;L;;;;;N;;;;; +C0AB;HANGUL SYLLABLE BBIH;Lo;0;L;;;;;N;;;;; +C0AC;HANGUL SYLLABLE SA;Lo;0;L;;;;;N;;;;; +C0AD;HANGUL SYLLABLE SAG;Lo;0;L;;;;;N;;;;; +C0AE;HANGUL SYLLABLE SAGG;Lo;0;L;;;;;N;;;;; +C0AF;HANGUL SYLLABLE SAGS;Lo;0;L;;;;;N;;;;; +C0B0;HANGUL SYLLABLE SAN;Lo;0;L;;;;;N;;;;; +C0B1;HANGUL SYLLABLE SANI;Lo;0;L;;;;;N;;;;; +C0B2;HANGUL SYLLABLE SANH;Lo;0;L;;;;;N;;;;; +C0B3;HANGUL SYLLABLE SAD;Lo;0;L;;;;;N;;;;; +C0B4;HANGUL SYLLABLE SAL;Lo;0;L;;;;;N;;;;; +C0B5;HANGUL SYLLABLE SALG;Lo;0;L;;;;;N;;;;; +C0B6;HANGUL SYLLABLE SALM;Lo;0;L;;;;;N;;;;; +C0B7;HANGUL SYLLABLE SALB;Lo;0;L;;;;;N;;;;; +C0B8;HANGUL SYLLABLE SALS;Lo;0;L;;;;;N;;;;; +C0B9;HANGUL SYLLABLE SALT;Lo;0;L;;;;;N;;;;; +C0BA;HANGUL SYLLABLE SALP;Lo;0;L;;;;;N;;;;; +C0BB;HANGUL SYLLABLE SALH;Lo;0;L;;;;;N;;;;; +C0BC;HANGUL SYLLABLE SAM;Lo;0;L;;;;;N;;;;; +C0BD;HANGUL SYLLABLE SAB;Lo;0;L;;;;;N;;;;; +C0BE;HANGUL SYLLABLE SABS;Lo;0;L;;;;;N;;;;; +C0BF;HANGUL SYLLABLE SAS;Lo;0;L;;;;;N;;;;; +C0C0;HANGUL SYLLABLE SASS;Lo;0;L;;;;;N;;;;; +C0C1;HANGUL SYLLABLE SANG;Lo;0;L;;;;;N;;;;; +C0C2;HANGUL SYLLABLE SAJ;Lo;0;L;;;;;N;;;;; +C0C3;HANGUL SYLLABLE SAC;Lo;0;L;;;;;N;;;;; +C0C4;HANGUL SYLLABLE SAK;Lo;0;L;;;;;N;;;;; +C0C5;HANGUL SYLLABLE SAT;Lo;0;L;;;;;N;;;;; +C0C6;HANGUL SYLLABLE SAP;Lo;0;L;;;;;N;;;;; +C0C7;HANGUL SYLLABLE SAH;Lo;0;L;;;;;N;;;;; +C0C8;HANGUL SYLLABLE SAE;Lo;0;L;;;;;N;;;;; +C0C9;HANGUL SYLLABLE SAEG;Lo;0;L;;;;;N;;;;; +C0CA;HANGUL SYLLABLE SAEGG;Lo;0;L;;;;;N;;;;; +C0CB;HANGUL SYLLABLE SAEGS;Lo;0;L;;;;;N;;;;; +C0CC;HANGUL SYLLABLE SAEN;Lo;0;L;;;;;N;;;;; +C0CD;HANGUL SYLLABLE SAENI;Lo;0;L;;;;;N;;;;; +C0CE;HANGUL SYLLABLE SAENH;Lo;0;L;;;;;N;;;;; +C0CF;HANGUL SYLLABLE SAED;Lo;0;L;;;;;N;;;;; +C0D0;HANGUL SYLLABLE SAEL;Lo;0;L;;;;;N;;;;; +C0D1;HANGUL SYLLABLE SAELG;Lo;0;L;;;;;N;;;;; +C0D2;HANGUL SYLLABLE SAELM;Lo;0;L;;;;;N;;;;; +C0D3;HANGUL SYLLABLE SAELB;Lo;0;L;;;;;N;;;;; +C0D4;HANGUL SYLLABLE SAELS;Lo;0;L;;;;;N;;;;; +C0D5;HANGUL SYLLABLE SAELT;Lo;0;L;;;;;N;;;;; +C0D6;HANGUL SYLLABLE SAELP;Lo;0;L;;;;;N;;;;; +C0D7;HANGUL SYLLABLE SAELH;Lo;0;L;;;;;N;;;;; +C0D8;HANGUL SYLLABLE SAEM;Lo;0;L;;;;;N;;;;; +C0D9;HANGUL SYLLABLE SAEB;Lo;0;L;;;;;N;;;;; +C0DA;HANGUL SYLLABLE SAEBS;Lo;0;L;;;;;N;;;;; +C0DB;HANGUL SYLLABLE SAES;Lo;0;L;;;;;N;;;;; +C0DC;HANGUL SYLLABLE SAESS;Lo;0;L;;;;;N;;;;; +C0DD;HANGUL SYLLABLE SAENG;Lo;0;L;;;;;N;;;;; +C0DE;HANGUL SYLLABLE SAEJ;Lo;0;L;;;;;N;;;;; +C0DF;HANGUL SYLLABLE SAEC;Lo;0;L;;;;;N;;;;; +C0E0;HANGUL SYLLABLE SAEK;Lo;0;L;;;;;N;;;;; +C0E1;HANGUL SYLLABLE SAET;Lo;0;L;;;;;N;;;;; +C0E2;HANGUL SYLLABLE SAEP;Lo;0;L;;;;;N;;;;; +C0E3;HANGUL SYLLABLE SAEH;Lo;0;L;;;;;N;;;;; +C0E4;HANGUL SYLLABLE SYA;Lo;0;L;;;;;N;;;;; +C0E5;HANGUL SYLLABLE SYAG;Lo;0;L;;;;;N;;;;; +C0E6;HANGUL SYLLABLE SYAGG;Lo;0;L;;;;;N;;;;; +C0E7;HANGUL SYLLABLE SYAGS;Lo;0;L;;;;;N;;;;; +C0E8;HANGUL SYLLABLE SYAN;Lo;0;L;;;;;N;;;;; +C0E9;HANGUL SYLLABLE SYANI;Lo;0;L;;;;;N;;;;; +C0EA;HANGUL SYLLABLE SYANH;Lo;0;L;;;;;N;;;;; +C0EB;HANGUL SYLLABLE SYAD;Lo;0;L;;;;;N;;;;; +C0EC;HANGUL SYLLABLE SYAL;Lo;0;L;;;;;N;;;;; +C0ED;HANGUL SYLLABLE SYALG;Lo;0;L;;;;;N;;;;; +C0EE;HANGUL SYLLABLE SYALM;Lo;0;L;;;;;N;;;;; +C0EF;HANGUL SYLLABLE SYALB;Lo;0;L;;;;;N;;;;; +C0F0;HANGUL SYLLABLE SYALS;Lo;0;L;;;;;N;;;;; +C0F1;HANGUL SYLLABLE SYALT;Lo;0;L;;;;;N;;;;; +C0F2;HANGUL SYLLABLE SYALP;Lo;0;L;;;;;N;;;;; +C0F3;HANGUL SYLLABLE SYALH;Lo;0;L;;;;;N;;;;; +C0F4;HANGUL SYLLABLE SYAM;Lo;0;L;;;;;N;;;;; +C0F5;HANGUL SYLLABLE SYAB;Lo;0;L;;;;;N;;;;; +C0F6;HANGUL SYLLABLE SYABS;Lo;0;L;;;;;N;;;;; +C0F7;HANGUL SYLLABLE SYAS;Lo;0;L;;;;;N;;;;; +C0F8;HANGUL SYLLABLE SYASS;Lo;0;L;;;;;N;;;;; +C0F9;HANGUL SYLLABLE SYANG;Lo;0;L;;;;;N;;;;; +C0FA;HANGUL SYLLABLE SYAJ;Lo;0;L;;;;;N;;;;; +C0FB;HANGUL SYLLABLE SYAC;Lo;0;L;;;;;N;;;;; +C0FC;HANGUL SYLLABLE SYAK;Lo;0;L;;;;;N;;;;; +C0FD;HANGUL SYLLABLE SYAT;Lo;0;L;;;;;N;;;;; +C0FE;HANGUL SYLLABLE SYAP;Lo;0;L;;;;;N;;;;; +C0FF;HANGUL SYLLABLE SYAH;Lo;0;L;;;;;N;;;;; +C100;HANGUL SYLLABLE SYAE;Lo;0;L;;;;;N;;;;; +C101;HANGUL SYLLABLE SYAEG;Lo;0;L;;;;;N;;;;; +C102;HANGUL SYLLABLE SYAEGG;Lo;0;L;;;;;N;;;;; +C103;HANGUL SYLLABLE SYAEGS;Lo;0;L;;;;;N;;;;; +C104;HANGUL SYLLABLE SYAEN;Lo;0;L;;;;;N;;;;; +C105;HANGUL SYLLABLE SYAENI;Lo;0;L;;;;;N;;;;; +C106;HANGUL SYLLABLE SYAENH;Lo;0;L;;;;;N;;;;; +C107;HANGUL SYLLABLE SYAED;Lo;0;L;;;;;N;;;;; +C108;HANGUL SYLLABLE SYAEL;Lo;0;L;;;;;N;;;;; +C109;HANGUL SYLLABLE SYAELG;Lo;0;L;;;;;N;;;;; +C10A;HANGUL SYLLABLE SYAELM;Lo;0;L;;;;;N;;;;; +C10B;HANGUL SYLLABLE SYAELB;Lo;0;L;;;;;N;;;;; +C10C;HANGUL SYLLABLE SYAELS;Lo;0;L;;;;;N;;;;; +C10D;HANGUL SYLLABLE SYAELT;Lo;0;L;;;;;N;;;;; +C10E;HANGUL SYLLABLE SYAELP;Lo;0;L;;;;;N;;;;; +C10F;HANGUL SYLLABLE SYAELH;Lo;0;L;;;;;N;;;;; +C110;HANGUL SYLLABLE SYAEM;Lo;0;L;;;;;N;;;;; +C111;HANGUL SYLLABLE SYAEB;Lo;0;L;;;;;N;;;;; +C112;HANGUL SYLLABLE SYAEBS;Lo;0;L;;;;;N;;;;; +C113;HANGUL SYLLABLE SYAES;Lo;0;L;;;;;N;;;;; +C114;HANGUL SYLLABLE SYAESS;Lo;0;L;;;;;N;;;;; +C115;HANGUL SYLLABLE SYAENG;Lo;0;L;;;;;N;;;;; +C116;HANGUL SYLLABLE SYAEJ;Lo;0;L;;;;;N;;;;; +C117;HANGUL SYLLABLE SYAEC;Lo;0;L;;;;;N;;;;; +C118;HANGUL SYLLABLE SYAEK;Lo;0;L;;;;;N;;;;; +C119;HANGUL SYLLABLE SYAET;Lo;0;L;;;;;N;;;;; +C11A;HANGUL SYLLABLE SYAEP;Lo;0;L;;;;;N;;;;; +C11B;HANGUL SYLLABLE SYAEH;Lo;0;L;;;;;N;;;;; +C11C;HANGUL SYLLABLE SEO;Lo;0;L;;;;;N;;;;; +C11D;HANGUL SYLLABLE SEOG;Lo;0;L;;;;;N;;;;; +C11E;HANGUL SYLLABLE SEOGG;Lo;0;L;;;;;N;;;;; +C11F;HANGUL SYLLABLE SEOGS;Lo;0;L;;;;;N;;;;; +C120;HANGUL SYLLABLE SEON;Lo;0;L;;;;;N;;;;; +C121;HANGUL SYLLABLE SEONI;Lo;0;L;;;;;N;;;;; +C122;HANGUL SYLLABLE SEONH;Lo;0;L;;;;;N;;;;; +C123;HANGUL SYLLABLE SEOD;Lo;0;L;;;;;N;;;;; +C124;HANGUL SYLLABLE SEOL;Lo;0;L;;;;;N;;;;; +C125;HANGUL SYLLABLE SEOLG;Lo;0;L;;;;;N;;;;; +C126;HANGUL SYLLABLE SEOLM;Lo;0;L;;;;;N;;;;; +C127;HANGUL SYLLABLE SEOLB;Lo;0;L;;;;;N;;;;; +C128;HANGUL SYLLABLE SEOLS;Lo;0;L;;;;;N;;;;; +C129;HANGUL SYLLABLE SEOLT;Lo;0;L;;;;;N;;;;; +C12A;HANGUL SYLLABLE SEOLP;Lo;0;L;;;;;N;;;;; +C12B;HANGUL SYLLABLE SEOLH;Lo;0;L;;;;;N;;;;; +C12C;HANGUL SYLLABLE SEOM;Lo;0;L;;;;;N;;;;; +C12D;HANGUL SYLLABLE SEOB;Lo;0;L;;;;;N;;;;; +C12E;HANGUL SYLLABLE SEOBS;Lo;0;L;;;;;N;;;;; +C12F;HANGUL SYLLABLE SEOS;Lo;0;L;;;;;N;;;;; +C130;HANGUL SYLLABLE SEOSS;Lo;0;L;;;;;N;;;;; +C131;HANGUL SYLLABLE SEONG;Lo;0;L;;;;;N;;;;; +C132;HANGUL SYLLABLE SEOJ;Lo;0;L;;;;;N;;;;; +C133;HANGUL SYLLABLE SEOC;Lo;0;L;;;;;N;;;;; +C134;HANGUL SYLLABLE SEOK;Lo;0;L;;;;;N;;;;; +C135;HANGUL SYLLABLE SEOT;Lo;0;L;;;;;N;;;;; +C136;HANGUL SYLLABLE SEOP;Lo;0;L;;;;;N;;;;; +C137;HANGUL SYLLABLE SEOH;Lo;0;L;;;;;N;;;;; +C138;HANGUL SYLLABLE SE;Lo;0;L;;;;;N;;;;; +C139;HANGUL SYLLABLE SEG;Lo;0;L;;;;;N;;;;; +C13A;HANGUL SYLLABLE SEGG;Lo;0;L;;;;;N;;;;; +C13B;HANGUL SYLLABLE SEGS;Lo;0;L;;;;;N;;;;; +C13C;HANGUL SYLLABLE SEN;Lo;0;L;;;;;N;;;;; +C13D;HANGUL SYLLABLE SENI;Lo;0;L;;;;;N;;;;; +C13E;HANGUL SYLLABLE SENH;Lo;0;L;;;;;N;;;;; +C13F;HANGUL SYLLABLE SED;Lo;0;L;;;;;N;;;;; +C140;HANGUL SYLLABLE SEL;Lo;0;L;;;;;N;;;;; +C141;HANGUL SYLLABLE SELG;Lo;0;L;;;;;N;;;;; +C142;HANGUL SYLLABLE SELM;Lo;0;L;;;;;N;;;;; +C143;HANGUL SYLLABLE SELB;Lo;0;L;;;;;N;;;;; +C144;HANGUL SYLLABLE SELS;Lo;0;L;;;;;N;;;;; +C145;HANGUL SYLLABLE SELT;Lo;0;L;;;;;N;;;;; +C146;HANGUL SYLLABLE SELP;Lo;0;L;;;;;N;;;;; +C147;HANGUL SYLLABLE SELH;Lo;0;L;;;;;N;;;;; +C148;HANGUL SYLLABLE SEM;Lo;0;L;;;;;N;;;;; +C149;HANGUL SYLLABLE SEB;Lo;0;L;;;;;N;;;;; +C14A;HANGUL SYLLABLE SEBS;Lo;0;L;;;;;N;;;;; +C14B;HANGUL SYLLABLE SES;Lo;0;L;;;;;N;;;;; +C14C;HANGUL SYLLABLE SESS;Lo;0;L;;;;;N;;;;; +C14D;HANGUL SYLLABLE SENG;Lo;0;L;;;;;N;;;;; +C14E;HANGUL SYLLABLE SEJ;Lo;0;L;;;;;N;;;;; +C14F;HANGUL SYLLABLE SEC;Lo;0;L;;;;;N;;;;; +C150;HANGUL SYLLABLE SEK;Lo;0;L;;;;;N;;;;; +C151;HANGUL SYLLABLE SET;Lo;0;L;;;;;N;;;;; +C152;HANGUL SYLLABLE SEP;Lo;0;L;;;;;N;;;;; +C153;HANGUL SYLLABLE SEH;Lo;0;L;;;;;N;;;;; +C154;HANGUL SYLLABLE SYEO;Lo;0;L;;;;;N;;;;; +C155;HANGUL SYLLABLE SYEOG;Lo;0;L;;;;;N;;;;; +C156;HANGUL SYLLABLE SYEOGG;Lo;0;L;;;;;N;;;;; +C157;HANGUL SYLLABLE SYEOGS;Lo;0;L;;;;;N;;;;; +C158;HANGUL SYLLABLE SYEON;Lo;0;L;;;;;N;;;;; +C159;HANGUL SYLLABLE SYEONI;Lo;0;L;;;;;N;;;;; +C15A;HANGUL SYLLABLE SYEONH;Lo;0;L;;;;;N;;;;; +C15B;HANGUL SYLLABLE SYEOD;Lo;0;L;;;;;N;;;;; +C15C;HANGUL SYLLABLE SYEOL;Lo;0;L;;;;;N;;;;; +C15D;HANGUL SYLLABLE SYEOLG;Lo;0;L;;;;;N;;;;; +C15E;HANGUL SYLLABLE SYEOLM;Lo;0;L;;;;;N;;;;; +C15F;HANGUL SYLLABLE SYEOLB;Lo;0;L;;;;;N;;;;; +C160;HANGUL SYLLABLE SYEOLS;Lo;0;L;;;;;N;;;;; +C161;HANGUL SYLLABLE SYEOLT;Lo;0;L;;;;;N;;;;; +C162;HANGUL SYLLABLE SYEOLP;Lo;0;L;;;;;N;;;;; +C163;HANGUL SYLLABLE SYEOLH;Lo;0;L;;;;;N;;;;; +C164;HANGUL SYLLABLE SYEOM;Lo;0;L;;;;;N;;;;; +C165;HANGUL SYLLABLE SYEOB;Lo;0;L;;;;;N;;;;; +C166;HANGUL SYLLABLE SYEOBS;Lo;0;L;;;;;N;;;;; +C167;HANGUL SYLLABLE SYEOS;Lo;0;L;;;;;N;;;;; +C168;HANGUL SYLLABLE SYEOSS;Lo;0;L;;;;;N;;;;; +C169;HANGUL SYLLABLE SYEONG;Lo;0;L;;;;;N;;;;; +C16A;HANGUL SYLLABLE SYEOJ;Lo;0;L;;;;;N;;;;; +C16B;HANGUL SYLLABLE SYEOC;Lo;0;L;;;;;N;;;;; +C16C;HANGUL SYLLABLE SYEOK;Lo;0;L;;;;;N;;;;; +C16D;HANGUL SYLLABLE SYEOT;Lo;0;L;;;;;N;;;;; +C16E;HANGUL SYLLABLE SYEOP;Lo;0;L;;;;;N;;;;; +C16F;HANGUL SYLLABLE SYEOH;Lo;0;L;;;;;N;;;;; +C170;HANGUL SYLLABLE SYE;Lo;0;L;;;;;N;;;;; +C171;HANGUL SYLLABLE SYEG;Lo;0;L;;;;;N;;;;; +C172;HANGUL SYLLABLE SYEGG;Lo;0;L;;;;;N;;;;; +C173;HANGUL SYLLABLE SYEGS;Lo;0;L;;;;;N;;;;; +C174;HANGUL SYLLABLE SYEN;Lo;0;L;;;;;N;;;;; +C175;HANGUL SYLLABLE SYENI;Lo;0;L;;;;;N;;;;; +C176;HANGUL SYLLABLE SYENH;Lo;0;L;;;;;N;;;;; +C177;HANGUL SYLLABLE SYED;Lo;0;L;;;;;N;;;;; +C178;HANGUL SYLLABLE SYEL;Lo;0;L;;;;;N;;;;; +C179;HANGUL SYLLABLE SYELG;Lo;0;L;;;;;N;;;;; +C17A;HANGUL SYLLABLE SYELM;Lo;0;L;;;;;N;;;;; +C17B;HANGUL SYLLABLE SYELB;Lo;0;L;;;;;N;;;;; +C17C;HANGUL SYLLABLE SYELS;Lo;0;L;;;;;N;;;;; +C17D;HANGUL SYLLABLE SYELT;Lo;0;L;;;;;N;;;;; +C17E;HANGUL SYLLABLE SYELP;Lo;0;L;;;;;N;;;;; +C17F;HANGUL SYLLABLE SYELH;Lo;0;L;;;;;N;;;;; +C180;HANGUL SYLLABLE SYEM;Lo;0;L;;;;;N;;;;; +C181;HANGUL SYLLABLE SYEB;Lo;0;L;;;;;N;;;;; +C182;HANGUL SYLLABLE SYEBS;Lo;0;L;;;;;N;;;;; +C183;HANGUL SYLLABLE SYES;Lo;0;L;;;;;N;;;;; +C184;HANGUL SYLLABLE SYESS;Lo;0;L;;;;;N;;;;; +C185;HANGUL SYLLABLE SYENG;Lo;0;L;;;;;N;;;;; +C186;HANGUL SYLLABLE SYEJ;Lo;0;L;;;;;N;;;;; +C187;HANGUL SYLLABLE SYEC;Lo;0;L;;;;;N;;;;; +C188;HANGUL SYLLABLE SYEK;Lo;0;L;;;;;N;;;;; +C189;HANGUL SYLLABLE SYET;Lo;0;L;;;;;N;;;;; +C18A;HANGUL SYLLABLE SYEP;Lo;0;L;;;;;N;;;;; +C18B;HANGUL SYLLABLE SYEH;Lo;0;L;;;;;N;;;;; +C18C;HANGUL SYLLABLE SO;Lo;0;L;;;;;N;;;;; +C18D;HANGUL SYLLABLE SOG;Lo;0;L;;;;;N;;;;; +C18E;HANGUL SYLLABLE SOGG;Lo;0;L;;;;;N;;;;; +C18F;HANGUL SYLLABLE SOGS;Lo;0;L;;;;;N;;;;; +C190;HANGUL SYLLABLE SON;Lo;0;L;;;;;N;;;;; +C191;HANGUL SYLLABLE SONI;Lo;0;L;;;;;N;;;;; +C192;HANGUL SYLLABLE SONH;Lo;0;L;;;;;N;;;;; +C193;HANGUL SYLLABLE SOD;Lo;0;L;;;;;N;;;;; +C194;HANGUL SYLLABLE SOL;Lo;0;L;;;;;N;;;;; +C195;HANGUL SYLLABLE SOLG;Lo;0;L;;;;;N;;;;; +C196;HANGUL SYLLABLE SOLM;Lo;0;L;;;;;N;;;;; +C197;HANGUL SYLLABLE SOLB;Lo;0;L;;;;;N;;;;; +C198;HANGUL SYLLABLE SOLS;Lo;0;L;;;;;N;;;;; +C199;HANGUL SYLLABLE SOLT;Lo;0;L;;;;;N;;;;; +C19A;HANGUL SYLLABLE SOLP;Lo;0;L;;;;;N;;;;; +C19B;HANGUL SYLLABLE SOLH;Lo;0;L;;;;;N;;;;; +C19C;HANGUL SYLLABLE SOM;Lo;0;L;;;;;N;;;;; +C19D;HANGUL SYLLABLE SOB;Lo;0;L;;;;;N;;;;; +C19E;HANGUL SYLLABLE SOBS;Lo;0;L;;;;;N;;;;; +C19F;HANGUL SYLLABLE SOS;Lo;0;L;;;;;N;;;;; +C1A0;HANGUL SYLLABLE SOSS;Lo;0;L;;;;;N;;;;; +C1A1;HANGUL SYLLABLE SONG;Lo;0;L;;;;;N;;;;; +C1A2;HANGUL SYLLABLE SOJ;Lo;0;L;;;;;N;;;;; +C1A3;HANGUL SYLLABLE SOC;Lo;0;L;;;;;N;;;;; +C1A4;HANGUL SYLLABLE SOK;Lo;0;L;;;;;N;;;;; +C1A5;HANGUL SYLLABLE SOT;Lo;0;L;;;;;N;;;;; +C1A6;HANGUL SYLLABLE SOP;Lo;0;L;;;;;N;;;;; +C1A7;HANGUL SYLLABLE SOH;Lo;0;L;;;;;N;;;;; +C1A8;HANGUL SYLLABLE SWA;Lo;0;L;;;;;N;;;;; +C1A9;HANGUL SYLLABLE SWAG;Lo;0;L;;;;;N;;;;; +C1AA;HANGUL SYLLABLE SWAGG;Lo;0;L;;;;;N;;;;; +C1AB;HANGUL SYLLABLE SWAGS;Lo;0;L;;;;;N;;;;; +C1AC;HANGUL SYLLABLE SWAN;Lo;0;L;;;;;N;;;;; +C1AD;HANGUL SYLLABLE SWANI;Lo;0;L;;;;;N;;;;; +C1AE;HANGUL SYLLABLE SWANH;Lo;0;L;;;;;N;;;;; +C1AF;HANGUL SYLLABLE SWAD;Lo;0;L;;;;;N;;;;; +C1B0;HANGUL SYLLABLE SWAL;Lo;0;L;;;;;N;;;;; +C1B1;HANGUL SYLLABLE SWALG;Lo;0;L;;;;;N;;;;; +C1B2;HANGUL SYLLABLE SWALM;Lo;0;L;;;;;N;;;;; +C1B3;HANGUL SYLLABLE SWALB;Lo;0;L;;;;;N;;;;; +C1B4;HANGUL SYLLABLE SWALS;Lo;0;L;;;;;N;;;;; +C1B5;HANGUL SYLLABLE SWALT;Lo;0;L;;;;;N;;;;; +C1B6;HANGUL SYLLABLE SWALP;Lo;0;L;;;;;N;;;;; +C1B7;HANGUL SYLLABLE SWALH;Lo;0;L;;;;;N;;;;; +C1B8;HANGUL SYLLABLE SWAM;Lo;0;L;;;;;N;;;;; +C1B9;HANGUL SYLLABLE SWAB;Lo;0;L;;;;;N;;;;; +C1BA;HANGUL SYLLABLE SWABS;Lo;0;L;;;;;N;;;;; +C1BB;HANGUL SYLLABLE SWAS;Lo;0;L;;;;;N;;;;; +C1BC;HANGUL SYLLABLE SWASS;Lo;0;L;;;;;N;;;;; +C1BD;HANGUL SYLLABLE SWANG;Lo;0;L;;;;;N;;;;; +C1BE;HANGUL SYLLABLE SWAJ;Lo;0;L;;;;;N;;;;; +C1BF;HANGUL SYLLABLE SWAC;Lo;0;L;;;;;N;;;;; +C1C0;HANGUL SYLLABLE SWAK;Lo;0;L;;;;;N;;;;; +C1C1;HANGUL SYLLABLE SWAT;Lo;0;L;;;;;N;;;;; +C1C2;HANGUL SYLLABLE SWAP;Lo;0;L;;;;;N;;;;; +C1C3;HANGUL SYLLABLE SWAH;Lo;0;L;;;;;N;;;;; +C1C4;HANGUL SYLLABLE SWAE;Lo;0;L;;;;;N;;;;; +C1C5;HANGUL SYLLABLE SWAEG;Lo;0;L;;;;;N;;;;; +C1C6;HANGUL SYLLABLE SWAEGG;Lo;0;L;;;;;N;;;;; +C1C7;HANGUL SYLLABLE SWAEGS;Lo;0;L;;;;;N;;;;; +C1C8;HANGUL SYLLABLE SWAEN;Lo;0;L;;;;;N;;;;; +C1C9;HANGUL SYLLABLE SWAENI;Lo;0;L;;;;;N;;;;; +C1CA;HANGUL SYLLABLE SWAENH;Lo;0;L;;;;;N;;;;; +C1CB;HANGUL SYLLABLE SWAED;Lo;0;L;;;;;N;;;;; +C1CC;HANGUL SYLLABLE SWAEL;Lo;0;L;;;;;N;;;;; +C1CD;HANGUL SYLLABLE SWAELG;Lo;0;L;;;;;N;;;;; +C1CE;HANGUL SYLLABLE SWAELM;Lo;0;L;;;;;N;;;;; +C1CF;HANGUL SYLLABLE SWAELB;Lo;0;L;;;;;N;;;;; +C1D0;HANGUL SYLLABLE SWAELS;Lo;0;L;;;;;N;;;;; +C1D1;HANGUL SYLLABLE SWAELT;Lo;0;L;;;;;N;;;;; +C1D2;HANGUL SYLLABLE SWAELP;Lo;0;L;;;;;N;;;;; +C1D3;HANGUL SYLLABLE SWAELH;Lo;0;L;;;;;N;;;;; +C1D4;HANGUL SYLLABLE SWAEM;Lo;0;L;;;;;N;;;;; +C1D5;HANGUL SYLLABLE SWAEB;Lo;0;L;;;;;N;;;;; +C1D6;HANGUL SYLLABLE SWAEBS;Lo;0;L;;;;;N;;;;; +C1D7;HANGUL SYLLABLE SWAES;Lo;0;L;;;;;N;;;;; +C1D8;HANGUL SYLLABLE SWAESS;Lo;0;L;;;;;N;;;;; +C1D9;HANGUL SYLLABLE SWAENG;Lo;0;L;;;;;N;;;;; +C1DA;HANGUL SYLLABLE SWAEJ;Lo;0;L;;;;;N;;;;; +C1DB;HANGUL SYLLABLE SWAEC;Lo;0;L;;;;;N;;;;; +C1DC;HANGUL SYLLABLE SWAEK;Lo;0;L;;;;;N;;;;; +C1DD;HANGUL SYLLABLE SWAET;Lo;0;L;;;;;N;;;;; +C1DE;HANGUL SYLLABLE SWAEP;Lo;0;L;;;;;N;;;;; +C1DF;HANGUL SYLLABLE SWAEH;Lo;0;L;;;;;N;;;;; +C1E0;HANGUL SYLLABLE SOE;Lo;0;L;;;;;N;;;;; +C1E1;HANGUL SYLLABLE SOEG;Lo;0;L;;;;;N;;;;; +C1E2;HANGUL SYLLABLE SOEGG;Lo;0;L;;;;;N;;;;; +C1E3;HANGUL SYLLABLE SOEGS;Lo;0;L;;;;;N;;;;; +C1E4;HANGUL SYLLABLE SOEN;Lo;0;L;;;;;N;;;;; +C1E5;HANGUL SYLLABLE SOENI;Lo;0;L;;;;;N;;;;; +C1E6;HANGUL SYLLABLE SOENH;Lo;0;L;;;;;N;;;;; +C1E7;HANGUL SYLLABLE SOED;Lo;0;L;;;;;N;;;;; +C1E8;HANGUL SYLLABLE SOEL;Lo;0;L;;;;;N;;;;; +C1E9;HANGUL SYLLABLE SOELG;Lo;0;L;;;;;N;;;;; +C1EA;HANGUL SYLLABLE SOELM;Lo;0;L;;;;;N;;;;; +C1EB;HANGUL SYLLABLE SOELB;Lo;0;L;;;;;N;;;;; +C1EC;HANGUL SYLLABLE SOELS;Lo;0;L;;;;;N;;;;; +C1ED;HANGUL SYLLABLE SOELT;Lo;0;L;;;;;N;;;;; +C1EE;HANGUL SYLLABLE SOELP;Lo;0;L;;;;;N;;;;; +C1EF;HANGUL SYLLABLE SOELH;Lo;0;L;;;;;N;;;;; +C1F0;HANGUL SYLLABLE SOEM;Lo;0;L;;;;;N;;;;; +C1F1;HANGUL SYLLABLE SOEB;Lo;0;L;;;;;N;;;;; +C1F2;HANGUL SYLLABLE SOEBS;Lo;0;L;;;;;N;;;;; +C1F3;HANGUL SYLLABLE SOES;Lo;0;L;;;;;N;;;;; +C1F4;HANGUL SYLLABLE SOESS;Lo;0;L;;;;;N;;;;; +C1F5;HANGUL SYLLABLE SOENG;Lo;0;L;;;;;N;;;;; +C1F6;HANGUL SYLLABLE SOEJ;Lo;0;L;;;;;N;;;;; +C1F7;HANGUL SYLLABLE SOEC;Lo;0;L;;;;;N;;;;; +C1F8;HANGUL SYLLABLE SOEK;Lo;0;L;;;;;N;;;;; +C1F9;HANGUL SYLLABLE SOET;Lo;0;L;;;;;N;;;;; +C1FA;HANGUL SYLLABLE SOEP;Lo;0;L;;;;;N;;;;; +C1FB;HANGUL SYLLABLE SOEH;Lo;0;L;;;;;N;;;;; +C1FC;HANGUL SYLLABLE SYO;Lo;0;L;;;;;N;;;;; +C1FD;HANGUL SYLLABLE SYOG;Lo;0;L;;;;;N;;;;; +C1FE;HANGUL SYLLABLE SYOGG;Lo;0;L;;;;;N;;;;; +C1FF;HANGUL SYLLABLE SYOGS;Lo;0;L;;;;;N;;;;; +C200;HANGUL SYLLABLE SYON;Lo;0;L;;;;;N;;;;; +C201;HANGUL SYLLABLE SYONI;Lo;0;L;;;;;N;;;;; +C202;HANGUL SYLLABLE SYONH;Lo;0;L;;;;;N;;;;; +C203;HANGUL SYLLABLE SYOD;Lo;0;L;;;;;N;;;;; +C204;HANGUL SYLLABLE SYOL;Lo;0;L;;;;;N;;;;; +C205;HANGUL SYLLABLE SYOLG;Lo;0;L;;;;;N;;;;; +C206;HANGUL SYLLABLE SYOLM;Lo;0;L;;;;;N;;;;; +C207;HANGUL SYLLABLE SYOLB;Lo;0;L;;;;;N;;;;; +C208;HANGUL SYLLABLE SYOLS;Lo;0;L;;;;;N;;;;; +C209;HANGUL SYLLABLE SYOLT;Lo;0;L;;;;;N;;;;; +C20A;HANGUL SYLLABLE SYOLP;Lo;0;L;;;;;N;;;;; +C20B;HANGUL SYLLABLE SYOLH;Lo;0;L;;;;;N;;;;; +C20C;HANGUL SYLLABLE SYOM;Lo;0;L;;;;;N;;;;; +C20D;HANGUL SYLLABLE SYOB;Lo;0;L;;;;;N;;;;; +C20E;HANGUL SYLLABLE SYOBS;Lo;0;L;;;;;N;;;;; +C20F;HANGUL SYLLABLE SYOS;Lo;0;L;;;;;N;;;;; +C210;HANGUL SYLLABLE SYOSS;Lo;0;L;;;;;N;;;;; +C211;HANGUL SYLLABLE SYONG;Lo;0;L;;;;;N;;;;; +C212;HANGUL SYLLABLE SYOJ;Lo;0;L;;;;;N;;;;; +C213;HANGUL SYLLABLE SYOC;Lo;0;L;;;;;N;;;;; +C214;HANGUL SYLLABLE SYOK;Lo;0;L;;;;;N;;;;; +C215;HANGUL SYLLABLE SYOT;Lo;0;L;;;;;N;;;;; +C216;HANGUL SYLLABLE SYOP;Lo;0;L;;;;;N;;;;; +C217;HANGUL SYLLABLE SYOH;Lo;0;L;;;;;N;;;;; +C218;HANGUL SYLLABLE SU;Lo;0;L;;;;;N;;;;; +C219;HANGUL SYLLABLE SUG;Lo;0;L;;;;;N;;;;; +C21A;HANGUL SYLLABLE SUGG;Lo;0;L;;;;;N;;;;; +C21B;HANGUL SYLLABLE SUGS;Lo;0;L;;;;;N;;;;; +C21C;HANGUL SYLLABLE SUN;Lo;0;L;;;;;N;;;;; +C21D;HANGUL SYLLABLE SUNI;Lo;0;L;;;;;N;;;;; +C21E;HANGUL SYLLABLE SUNH;Lo;0;L;;;;;N;;;;; +C21F;HANGUL SYLLABLE SUD;Lo;0;L;;;;;N;;;;; +C220;HANGUL SYLLABLE SUL;Lo;0;L;;;;;N;;;;; +C221;HANGUL SYLLABLE SULG;Lo;0;L;;;;;N;;;;; +C222;HANGUL SYLLABLE SULM;Lo;0;L;;;;;N;;;;; +C223;HANGUL SYLLABLE SULB;Lo;0;L;;;;;N;;;;; +C224;HANGUL SYLLABLE SULS;Lo;0;L;;;;;N;;;;; +C225;HANGUL SYLLABLE SULT;Lo;0;L;;;;;N;;;;; +C226;HANGUL SYLLABLE SULP;Lo;0;L;;;;;N;;;;; +C227;HANGUL SYLLABLE SULH;Lo;0;L;;;;;N;;;;; +C228;HANGUL SYLLABLE SUM;Lo;0;L;;;;;N;;;;; +C229;HANGUL SYLLABLE SUB;Lo;0;L;;;;;N;;;;; +C22A;HANGUL SYLLABLE SUBS;Lo;0;L;;;;;N;;;;; +C22B;HANGUL SYLLABLE SUS;Lo;0;L;;;;;N;;;;; +C22C;HANGUL SYLLABLE SUSS;Lo;0;L;;;;;N;;;;; +C22D;HANGUL SYLLABLE SUNG;Lo;0;L;;;;;N;;;;; +C22E;HANGUL SYLLABLE SUJ;Lo;0;L;;;;;N;;;;; +C22F;HANGUL SYLLABLE SUC;Lo;0;L;;;;;N;;;;; +C230;HANGUL SYLLABLE SUK;Lo;0;L;;;;;N;;;;; +C231;HANGUL SYLLABLE SUT;Lo;0;L;;;;;N;;;;; +C232;HANGUL SYLLABLE SUP;Lo;0;L;;;;;N;;;;; +C233;HANGUL SYLLABLE SUH;Lo;0;L;;;;;N;;;;; +C234;HANGUL SYLLABLE SWEO;Lo;0;L;;;;;N;;;;; +C235;HANGUL SYLLABLE SWEOG;Lo;0;L;;;;;N;;;;; +C236;HANGUL SYLLABLE SWEOGG;Lo;0;L;;;;;N;;;;; +C237;HANGUL SYLLABLE SWEOGS;Lo;0;L;;;;;N;;;;; +C238;HANGUL SYLLABLE SWEON;Lo;0;L;;;;;N;;;;; +C239;HANGUL SYLLABLE SWEONI;Lo;0;L;;;;;N;;;;; +C23A;HANGUL SYLLABLE SWEONH;Lo;0;L;;;;;N;;;;; +C23B;HANGUL SYLLABLE SWEOD;Lo;0;L;;;;;N;;;;; +C23C;HANGUL SYLLABLE SWEOL;Lo;0;L;;;;;N;;;;; +C23D;HANGUL SYLLABLE SWEOLG;Lo;0;L;;;;;N;;;;; +C23E;HANGUL SYLLABLE SWEOLM;Lo;0;L;;;;;N;;;;; +C23F;HANGUL SYLLABLE SWEOLB;Lo;0;L;;;;;N;;;;; +C240;HANGUL SYLLABLE SWEOLS;Lo;0;L;;;;;N;;;;; +C241;HANGUL SYLLABLE SWEOLT;Lo;0;L;;;;;N;;;;; +C242;HANGUL SYLLABLE SWEOLP;Lo;0;L;;;;;N;;;;; +C243;HANGUL SYLLABLE SWEOLH;Lo;0;L;;;;;N;;;;; +C244;HANGUL SYLLABLE SWEOM;Lo;0;L;;;;;N;;;;; +C245;HANGUL SYLLABLE SWEOB;Lo;0;L;;;;;N;;;;; +C246;HANGUL SYLLABLE SWEOBS;Lo;0;L;;;;;N;;;;; +C247;HANGUL SYLLABLE SWEOS;Lo;0;L;;;;;N;;;;; +C248;HANGUL SYLLABLE SWEOSS;Lo;0;L;;;;;N;;;;; +C249;HANGUL SYLLABLE SWEONG;Lo;0;L;;;;;N;;;;; +C24A;HANGUL SYLLABLE SWEOJ;Lo;0;L;;;;;N;;;;; +C24B;HANGUL SYLLABLE SWEOC;Lo;0;L;;;;;N;;;;; +C24C;HANGUL SYLLABLE SWEOK;Lo;0;L;;;;;N;;;;; +C24D;HANGUL SYLLABLE SWEOT;Lo;0;L;;;;;N;;;;; +C24E;HANGUL SYLLABLE SWEOP;Lo;0;L;;;;;N;;;;; +C24F;HANGUL SYLLABLE SWEOH;Lo;0;L;;;;;N;;;;; +C250;HANGUL SYLLABLE SWE;Lo;0;L;;;;;N;;;;; +C251;HANGUL SYLLABLE SWEG;Lo;0;L;;;;;N;;;;; +C252;HANGUL SYLLABLE SWEGG;Lo;0;L;;;;;N;;;;; +C253;HANGUL SYLLABLE SWEGS;Lo;0;L;;;;;N;;;;; +C254;HANGUL SYLLABLE SWEN;Lo;0;L;;;;;N;;;;; +C255;HANGUL SYLLABLE SWENI;Lo;0;L;;;;;N;;;;; +C256;HANGUL SYLLABLE SWENH;Lo;0;L;;;;;N;;;;; +C257;HANGUL SYLLABLE SWED;Lo;0;L;;;;;N;;;;; +C258;HANGUL SYLLABLE SWEL;Lo;0;L;;;;;N;;;;; +C259;HANGUL SYLLABLE SWELG;Lo;0;L;;;;;N;;;;; +C25A;HANGUL SYLLABLE SWELM;Lo;0;L;;;;;N;;;;; +C25B;HANGUL SYLLABLE SWELB;Lo;0;L;;;;;N;;;;; +C25C;HANGUL SYLLABLE SWELS;Lo;0;L;;;;;N;;;;; +C25D;HANGUL SYLLABLE SWELT;Lo;0;L;;;;;N;;;;; +C25E;HANGUL SYLLABLE SWELP;Lo;0;L;;;;;N;;;;; +C25F;HANGUL SYLLABLE SWELH;Lo;0;L;;;;;N;;;;; +C260;HANGUL SYLLABLE SWEM;Lo;0;L;;;;;N;;;;; +C261;HANGUL SYLLABLE SWEB;Lo;0;L;;;;;N;;;;; +C262;HANGUL SYLLABLE SWEBS;Lo;0;L;;;;;N;;;;; +C263;HANGUL SYLLABLE SWES;Lo;0;L;;;;;N;;;;; +C264;HANGUL SYLLABLE SWESS;Lo;0;L;;;;;N;;;;; +C265;HANGUL SYLLABLE SWENG;Lo;0;L;;;;;N;;;;; +C266;HANGUL SYLLABLE SWEJ;Lo;0;L;;;;;N;;;;; +C267;HANGUL SYLLABLE SWEC;Lo;0;L;;;;;N;;;;; +C268;HANGUL SYLLABLE SWEK;Lo;0;L;;;;;N;;;;; +C269;HANGUL SYLLABLE SWET;Lo;0;L;;;;;N;;;;; +C26A;HANGUL SYLLABLE SWEP;Lo;0;L;;;;;N;;;;; +C26B;HANGUL SYLLABLE SWEH;Lo;0;L;;;;;N;;;;; +C26C;HANGUL SYLLABLE SWI;Lo;0;L;;;;;N;;;;; +C26D;HANGUL SYLLABLE SWIG;Lo;0;L;;;;;N;;;;; +C26E;HANGUL SYLLABLE SWIGG;Lo;0;L;;;;;N;;;;; +C26F;HANGUL SYLLABLE SWIGS;Lo;0;L;;;;;N;;;;; +C270;HANGUL SYLLABLE SWIN;Lo;0;L;;;;;N;;;;; +C271;HANGUL SYLLABLE SWINI;Lo;0;L;;;;;N;;;;; +C272;HANGUL SYLLABLE SWINH;Lo;0;L;;;;;N;;;;; +C273;HANGUL SYLLABLE SWID;Lo;0;L;;;;;N;;;;; +C274;HANGUL SYLLABLE SWIL;Lo;0;L;;;;;N;;;;; +C275;HANGUL SYLLABLE SWILG;Lo;0;L;;;;;N;;;;; +C276;HANGUL SYLLABLE SWILM;Lo;0;L;;;;;N;;;;; +C277;HANGUL SYLLABLE SWILB;Lo;0;L;;;;;N;;;;; +C278;HANGUL SYLLABLE SWILS;Lo;0;L;;;;;N;;;;; +C279;HANGUL SYLLABLE SWILT;Lo;0;L;;;;;N;;;;; +C27A;HANGUL SYLLABLE SWILP;Lo;0;L;;;;;N;;;;; +C27B;HANGUL SYLLABLE SWILH;Lo;0;L;;;;;N;;;;; +C27C;HANGUL SYLLABLE SWIM;Lo;0;L;;;;;N;;;;; +C27D;HANGUL SYLLABLE SWIB;Lo;0;L;;;;;N;;;;; +C27E;HANGUL SYLLABLE SWIBS;Lo;0;L;;;;;N;;;;; +C27F;HANGUL SYLLABLE SWIS;Lo;0;L;;;;;N;;;;; +C280;HANGUL SYLLABLE SWISS;Lo;0;L;;;;;N;;;;; +C281;HANGUL SYLLABLE SWING;Lo;0;L;;;;;N;;;;; +C282;HANGUL SYLLABLE SWIJ;Lo;0;L;;;;;N;;;;; +C283;HANGUL SYLLABLE SWIC;Lo;0;L;;;;;N;;;;; +C284;HANGUL SYLLABLE SWIK;Lo;0;L;;;;;N;;;;; +C285;HANGUL SYLLABLE SWIT;Lo;0;L;;;;;N;;;;; +C286;HANGUL SYLLABLE SWIP;Lo;0;L;;;;;N;;;;; +C287;HANGUL SYLLABLE SWIH;Lo;0;L;;;;;N;;;;; +C288;HANGUL SYLLABLE SYU;Lo;0;L;;;;;N;;;;; +C289;HANGUL SYLLABLE SYUG;Lo;0;L;;;;;N;;;;; +C28A;HANGUL SYLLABLE SYUGG;Lo;0;L;;;;;N;;;;; +C28B;HANGUL SYLLABLE SYUGS;Lo;0;L;;;;;N;;;;; +C28C;HANGUL SYLLABLE SYUN;Lo;0;L;;;;;N;;;;; +C28D;HANGUL SYLLABLE SYUNI;Lo;0;L;;;;;N;;;;; +C28E;HANGUL SYLLABLE SYUNH;Lo;0;L;;;;;N;;;;; +C28F;HANGUL SYLLABLE SYUD;Lo;0;L;;;;;N;;;;; +C290;HANGUL SYLLABLE SYUL;Lo;0;L;;;;;N;;;;; +C291;HANGUL SYLLABLE SYULG;Lo;0;L;;;;;N;;;;; +C292;HANGUL SYLLABLE SYULM;Lo;0;L;;;;;N;;;;; +C293;HANGUL SYLLABLE SYULB;Lo;0;L;;;;;N;;;;; +C294;HANGUL SYLLABLE SYULS;Lo;0;L;;;;;N;;;;; +C295;HANGUL SYLLABLE SYULT;Lo;0;L;;;;;N;;;;; +C296;HANGUL SYLLABLE SYULP;Lo;0;L;;;;;N;;;;; +C297;HANGUL SYLLABLE SYULH;Lo;0;L;;;;;N;;;;; +C298;HANGUL SYLLABLE SYUM;Lo;0;L;;;;;N;;;;; +C299;HANGUL SYLLABLE SYUB;Lo;0;L;;;;;N;;;;; +C29A;HANGUL SYLLABLE SYUBS;Lo;0;L;;;;;N;;;;; +C29B;HANGUL SYLLABLE SYUS;Lo;0;L;;;;;N;;;;; +C29C;HANGUL SYLLABLE SYUSS;Lo;0;L;;;;;N;;;;; +C29D;HANGUL SYLLABLE SYUNG;Lo;0;L;;;;;N;;;;; +C29E;HANGUL SYLLABLE SYUJ;Lo;0;L;;;;;N;;;;; +C29F;HANGUL SYLLABLE SYUC;Lo;0;L;;;;;N;;;;; +C2A0;HANGUL SYLLABLE SYUK;Lo;0;L;;;;;N;;;;; +C2A1;HANGUL SYLLABLE SYUT;Lo;0;L;;;;;N;;;;; +C2A2;HANGUL SYLLABLE SYUP;Lo;0;L;;;;;N;;;;; +C2A3;HANGUL SYLLABLE SYUH;Lo;0;L;;;;;N;;;;; +C2A4;HANGUL SYLLABLE SEU;Lo;0;L;;;;;N;;;;; +C2A5;HANGUL SYLLABLE SEUG;Lo;0;L;;;;;N;;;;; +C2A6;HANGUL SYLLABLE SEUGG;Lo;0;L;;;;;N;;;;; +C2A7;HANGUL SYLLABLE SEUGS;Lo;0;L;;;;;N;;;;; +C2A8;HANGUL SYLLABLE SEUN;Lo;0;L;;;;;N;;;;; +C2A9;HANGUL SYLLABLE SEUNI;Lo;0;L;;;;;N;;;;; +C2AA;HANGUL SYLLABLE SEUNH;Lo;0;L;;;;;N;;;;; +C2AB;HANGUL SYLLABLE SEUD;Lo;0;L;;;;;N;;;;; +C2AC;HANGUL SYLLABLE SEUL;Lo;0;L;;;;;N;;;;; +C2AD;HANGUL SYLLABLE SEULG;Lo;0;L;;;;;N;;;;; +C2AE;HANGUL SYLLABLE SEULM;Lo;0;L;;;;;N;;;;; +C2AF;HANGUL SYLLABLE SEULB;Lo;0;L;;;;;N;;;;; +C2B0;HANGUL SYLLABLE SEULS;Lo;0;L;;;;;N;;;;; +C2B1;HANGUL SYLLABLE SEULT;Lo;0;L;;;;;N;;;;; +C2B2;HANGUL SYLLABLE SEULP;Lo;0;L;;;;;N;;;;; +C2B3;HANGUL SYLLABLE SEULH;Lo;0;L;;;;;N;;;;; +C2B4;HANGUL SYLLABLE SEUM;Lo;0;L;;;;;N;;;;; +C2B5;HANGUL SYLLABLE SEUB;Lo;0;L;;;;;N;;;;; +C2B6;HANGUL SYLLABLE SEUBS;Lo;0;L;;;;;N;;;;; +C2B7;HANGUL SYLLABLE SEUS;Lo;0;L;;;;;N;;;;; +C2B8;HANGUL SYLLABLE SEUSS;Lo;0;L;;;;;N;;;;; +C2B9;HANGUL SYLLABLE SEUNG;Lo;0;L;;;;;N;;;;; +C2BA;HANGUL SYLLABLE SEUJ;Lo;0;L;;;;;N;;;;; +C2BB;HANGUL SYLLABLE SEUC;Lo;0;L;;;;;N;;;;; +C2BC;HANGUL SYLLABLE SEUK;Lo;0;L;;;;;N;;;;; +C2BD;HANGUL SYLLABLE SEUT;Lo;0;L;;;;;N;;;;; +C2BE;HANGUL SYLLABLE SEUP;Lo;0;L;;;;;N;;;;; +C2BF;HANGUL SYLLABLE SEUH;Lo;0;L;;;;;N;;;;; +C2C0;HANGUL SYLLABLE SYI;Lo;0;L;;;;;N;;;;; +C2C1;HANGUL SYLLABLE SYIG;Lo;0;L;;;;;N;;;;; +C2C2;HANGUL SYLLABLE SYIGG;Lo;0;L;;;;;N;;;;; +C2C3;HANGUL SYLLABLE SYIGS;Lo;0;L;;;;;N;;;;; +C2C4;HANGUL SYLLABLE SYIN;Lo;0;L;;;;;N;;;;; +C2C5;HANGUL SYLLABLE SYINI;Lo;0;L;;;;;N;;;;; +C2C6;HANGUL SYLLABLE SYINH;Lo;0;L;;;;;N;;;;; +C2C7;HANGUL SYLLABLE SYID;Lo;0;L;;;;;N;;;;; +C2C8;HANGUL SYLLABLE SYIL;Lo;0;L;;;;;N;;;;; +C2C9;HANGUL SYLLABLE SYILG;Lo;0;L;;;;;N;;;;; +C2CA;HANGUL SYLLABLE SYILM;Lo;0;L;;;;;N;;;;; +C2CB;HANGUL SYLLABLE SYILB;Lo;0;L;;;;;N;;;;; +C2CC;HANGUL SYLLABLE SYILS;Lo;0;L;;;;;N;;;;; +C2CD;HANGUL SYLLABLE SYILT;Lo;0;L;;;;;N;;;;; +C2CE;HANGUL SYLLABLE SYILP;Lo;0;L;;;;;N;;;;; +C2CF;HANGUL SYLLABLE SYILH;Lo;0;L;;;;;N;;;;; +C2D0;HANGUL SYLLABLE SYIM;Lo;0;L;;;;;N;;;;; +C2D1;HANGUL SYLLABLE SYIB;Lo;0;L;;;;;N;;;;; +C2D2;HANGUL SYLLABLE SYIBS;Lo;0;L;;;;;N;;;;; +C2D3;HANGUL SYLLABLE SYIS;Lo;0;L;;;;;N;;;;; +C2D4;HANGUL SYLLABLE SYISS;Lo;0;L;;;;;N;;;;; +C2D5;HANGUL SYLLABLE SYING;Lo;0;L;;;;;N;;;;; +C2D6;HANGUL SYLLABLE SYIJ;Lo;0;L;;;;;N;;;;; +C2D7;HANGUL SYLLABLE SYIC;Lo;0;L;;;;;N;;;;; +C2D8;HANGUL SYLLABLE SYIK;Lo;0;L;;;;;N;;;;; +C2D9;HANGUL SYLLABLE SYIT;Lo;0;L;;;;;N;;;;; +C2DA;HANGUL SYLLABLE SYIP;Lo;0;L;;;;;N;;;;; +C2DB;HANGUL SYLLABLE SYIH;Lo;0;L;;;;;N;;;;; +C2DC;HANGUL SYLLABLE SI;Lo;0;L;;;;;N;;;;; +C2DD;HANGUL SYLLABLE SIG;Lo;0;L;;;;;N;;;;; +C2DE;HANGUL SYLLABLE SIGG;Lo;0;L;;;;;N;;;;; +C2DF;HANGUL SYLLABLE SIGS;Lo;0;L;;;;;N;;;;; +C2E0;HANGUL SYLLABLE SIN;Lo;0;L;;;;;N;;;;; +C2E1;HANGUL SYLLABLE SINI;Lo;0;L;;;;;N;;;;; +C2E2;HANGUL SYLLABLE SINH;Lo;0;L;;;;;N;;;;; +C2E3;HANGUL SYLLABLE SID;Lo;0;L;;;;;N;;;;; +C2E4;HANGUL SYLLABLE SIL;Lo;0;L;;;;;N;;;;; +C2E5;HANGUL SYLLABLE SILG;Lo;0;L;;;;;N;;;;; +C2E6;HANGUL SYLLABLE SILM;Lo;0;L;;;;;N;;;;; +C2E7;HANGUL SYLLABLE SILB;Lo;0;L;;;;;N;;;;; +C2E8;HANGUL SYLLABLE SILS;Lo;0;L;;;;;N;;;;; +C2E9;HANGUL SYLLABLE SILT;Lo;0;L;;;;;N;;;;; +C2EA;HANGUL SYLLABLE SILP;Lo;0;L;;;;;N;;;;; +C2EB;HANGUL SYLLABLE SILH;Lo;0;L;;;;;N;;;;; +C2EC;HANGUL SYLLABLE SIM;Lo;0;L;;;;;N;;;;; +C2ED;HANGUL SYLLABLE SIB;Lo;0;L;;;;;N;;;;; +C2EE;HANGUL SYLLABLE SIBS;Lo;0;L;;;;;N;;;;; +C2EF;HANGUL SYLLABLE SIS;Lo;0;L;;;;;N;;;;; +C2F0;HANGUL SYLLABLE SISS;Lo;0;L;;;;;N;;;;; +C2F1;HANGUL SYLLABLE SING;Lo;0;L;;;;;N;;;;; +C2F2;HANGUL SYLLABLE SIJ;Lo;0;L;;;;;N;;;;; +C2F3;HANGUL SYLLABLE SIC;Lo;0;L;;;;;N;;;;; +C2F4;HANGUL SYLLABLE SIK;Lo;0;L;;;;;N;;;;; +C2F5;HANGUL SYLLABLE SIT;Lo;0;L;;;;;N;;;;; +C2F6;HANGUL SYLLABLE SIP;Lo;0;L;;;;;N;;;;; +C2F7;HANGUL SYLLABLE SIH;Lo;0;L;;;;;N;;;;; +C2F8;HANGUL SYLLABLE SSA;Lo;0;L;;;;;N;;;;; +C2F9;HANGUL SYLLABLE SSAG;Lo;0;L;;;;;N;;;;; +C2FA;HANGUL SYLLABLE SSAGG;Lo;0;L;;;;;N;;;;; +C2FB;HANGUL SYLLABLE SSAGS;Lo;0;L;;;;;N;;;;; +C2FC;HANGUL SYLLABLE SSAN;Lo;0;L;;;;;N;;;;; +C2FD;HANGUL SYLLABLE SSANI;Lo;0;L;;;;;N;;;;; +C2FE;HANGUL SYLLABLE SSANH;Lo;0;L;;;;;N;;;;; +C2FF;HANGUL SYLLABLE SSAD;Lo;0;L;;;;;N;;;;; +C300;HANGUL SYLLABLE SSAL;Lo;0;L;;;;;N;;;;; +C301;HANGUL SYLLABLE SSALG;Lo;0;L;;;;;N;;;;; +C302;HANGUL SYLLABLE SSALM;Lo;0;L;;;;;N;;;;; +C303;HANGUL SYLLABLE SSALB;Lo;0;L;;;;;N;;;;; +C304;HANGUL SYLLABLE SSALS;Lo;0;L;;;;;N;;;;; +C305;HANGUL SYLLABLE SSALT;Lo;0;L;;;;;N;;;;; +C306;HANGUL SYLLABLE SSALP;Lo;0;L;;;;;N;;;;; +C307;HANGUL SYLLABLE SSALH;Lo;0;L;;;;;N;;;;; +C308;HANGUL SYLLABLE SSAM;Lo;0;L;;;;;N;;;;; +C309;HANGUL SYLLABLE SSAB;Lo;0;L;;;;;N;;;;; +C30A;HANGUL SYLLABLE SSABS;Lo;0;L;;;;;N;;;;; +C30B;HANGUL SYLLABLE SSAS;Lo;0;L;;;;;N;;;;; +C30C;HANGUL SYLLABLE SSASS;Lo;0;L;;;;;N;;;;; +C30D;HANGUL SYLLABLE SSANG;Lo;0;L;;;;;N;;;;; +C30E;HANGUL SYLLABLE SSAJ;Lo;0;L;;;;;N;;;;; +C30F;HANGUL SYLLABLE SSAC;Lo;0;L;;;;;N;;;;; +C310;HANGUL SYLLABLE SSAK;Lo;0;L;;;;;N;;;;; +C311;HANGUL SYLLABLE SSAT;Lo;0;L;;;;;N;;;;; +C312;HANGUL SYLLABLE SSAP;Lo;0;L;;;;;N;;;;; +C313;HANGUL SYLLABLE SSAH;Lo;0;L;;;;;N;;;;; +C314;HANGUL SYLLABLE SSAE;Lo;0;L;;;;;N;;;;; +C315;HANGUL SYLLABLE SSAEG;Lo;0;L;;;;;N;;;;; +C316;HANGUL SYLLABLE SSAEGG;Lo;0;L;;;;;N;;;;; +C317;HANGUL SYLLABLE SSAEGS;Lo;0;L;;;;;N;;;;; +C318;HANGUL SYLLABLE SSAEN;Lo;0;L;;;;;N;;;;; +C319;HANGUL SYLLABLE SSAENI;Lo;0;L;;;;;N;;;;; +C31A;HANGUL SYLLABLE SSAENH;Lo;0;L;;;;;N;;;;; +C31B;HANGUL SYLLABLE SSAED;Lo;0;L;;;;;N;;;;; +C31C;HANGUL SYLLABLE SSAEL;Lo;0;L;;;;;N;;;;; +C31D;HANGUL SYLLABLE SSAELG;Lo;0;L;;;;;N;;;;; +C31E;HANGUL SYLLABLE SSAELM;Lo;0;L;;;;;N;;;;; +C31F;HANGUL SYLLABLE SSAELB;Lo;0;L;;;;;N;;;;; +C320;HANGUL SYLLABLE SSAELS;Lo;0;L;;;;;N;;;;; +C321;HANGUL SYLLABLE SSAELT;Lo;0;L;;;;;N;;;;; +C322;HANGUL SYLLABLE SSAELP;Lo;0;L;;;;;N;;;;; +C323;HANGUL SYLLABLE SSAELH;Lo;0;L;;;;;N;;;;; +C324;HANGUL SYLLABLE SSAEM;Lo;0;L;;;;;N;;;;; +C325;HANGUL SYLLABLE SSAEB;Lo;0;L;;;;;N;;;;; +C326;HANGUL SYLLABLE SSAEBS;Lo;0;L;;;;;N;;;;; +C327;HANGUL SYLLABLE SSAES;Lo;0;L;;;;;N;;;;; +C328;HANGUL SYLLABLE SSAESS;Lo;0;L;;;;;N;;;;; +C329;HANGUL SYLLABLE SSAENG;Lo;0;L;;;;;N;;;;; +C32A;HANGUL SYLLABLE SSAEJ;Lo;0;L;;;;;N;;;;; +C32B;HANGUL SYLLABLE SSAEC;Lo;0;L;;;;;N;;;;; +C32C;HANGUL SYLLABLE SSAEK;Lo;0;L;;;;;N;;;;; +C32D;HANGUL SYLLABLE SSAET;Lo;0;L;;;;;N;;;;; +C32E;HANGUL SYLLABLE SSAEP;Lo;0;L;;;;;N;;;;; +C32F;HANGUL SYLLABLE SSAEH;Lo;0;L;;;;;N;;;;; +C330;HANGUL SYLLABLE SSYA;Lo;0;L;;;;;N;;;;; +C331;HANGUL SYLLABLE SSYAG;Lo;0;L;;;;;N;;;;; +C332;HANGUL SYLLABLE SSYAGG;Lo;0;L;;;;;N;;;;; +C333;HANGUL SYLLABLE SSYAGS;Lo;0;L;;;;;N;;;;; +C334;HANGUL SYLLABLE SSYAN;Lo;0;L;;;;;N;;;;; +C335;HANGUL SYLLABLE SSYANI;Lo;0;L;;;;;N;;;;; +C336;HANGUL SYLLABLE SSYANH;Lo;0;L;;;;;N;;;;; +C337;HANGUL SYLLABLE SSYAD;Lo;0;L;;;;;N;;;;; +C338;HANGUL SYLLABLE SSYAL;Lo;0;L;;;;;N;;;;; +C339;HANGUL SYLLABLE SSYALG;Lo;0;L;;;;;N;;;;; +C33A;HANGUL SYLLABLE SSYALM;Lo;0;L;;;;;N;;;;; +C33B;HANGUL SYLLABLE SSYALB;Lo;0;L;;;;;N;;;;; +C33C;HANGUL SYLLABLE SSYALS;Lo;0;L;;;;;N;;;;; +C33D;HANGUL SYLLABLE SSYALT;Lo;0;L;;;;;N;;;;; +C33E;HANGUL SYLLABLE SSYALP;Lo;0;L;;;;;N;;;;; +C33F;HANGUL SYLLABLE SSYALH;Lo;0;L;;;;;N;;;;; +C340;HANGUL SYLLABLE SSYAM;Lo;0;L;;;;;N;;;;; +C341;HANGUL SYLLABLE SSYAB;Lo;0;L;;;;;N;;;;; +C342;HANGUL SYLLABLE SSYABS;Lo;0;L;;;;;N;;;;; +C343;HANGUL SYLLABLE SSYAS;Lo;0;L;;;;;N;;;;; +C344;HANGUL SYLLABLE SSYASS;Lo;0;L;;;;;N;;;;; +C345;HANGUL SYLLABLE SSYANG;Lo;0;L;;;;;N;;;;; +C346;HANGUL SYLLABLE SSYAJ;Lo;0;L;;;;;N;;;;; +C347;HANGUL SYLLABLE SSYAC;Lo;0;L;;;;;N;;;;; +C348;HANGUL SYLLABLE SSYAK;Lo;0;L;;;;;N;;;;; +C349;HANGUL SYLLABLE SSYAT;Lo;0;L;;;;;N;;;;; +C34A;HANGUL SYLLABLE SSYAP;Lo;0;L;;;;;N;;;;; +C34B;HANGUL SYLLABLE SSYAH;Lo;0;L;;;;;N;;;;; +C34C;HANGUL SYLLABLE SSYAE;Lo;0;L;;;;;N;;;;; +C34D;HANGUL SYLLABLE SSYAEG;Lo;0;L;;;;;N;;;;; +C34E;HANGUL SYLLABLE SSYAEGG;Lo;0;L;;;;;N;;;;; +C34F;HANGUL SYLLABLE SSYAEGS;Lo;0;L;;;;;N;;;;; +C350;HANGUL SYLLABLE SSYAEN;Lo;0;L;;;;;N;;;;; +C351;HANGUL SYLLABLE SSYAENI;Lo;0;L;;;;;N;;;;; +C352;HANGUL SYLLABLE SSYAENH;Lo;0;L;;;;;N;;;;; +C353;HANGUL SYLLABLE SSYAED;Lo;0;L;;;;;N;;;;; +C354;HANGUL SYLLABLE SSYAEL;Lo;0;L;;;;;N;;;;; +C355;HANGUL SYLLABLE SSYAELG;Lo;0;L;;;;;N;;;;; +C356;HANGUL SYLLABLE SSYAELM;Lo;0;L;;;;;N;;;;; +C357;HANGUL SYLLABLE SSYAELB;Lo;0;L;;;;;N;;;;; +C358;HANGUL SYLLABLE SSYAELS;Lo;0;L;;;;;N;;;;; +C359;HANGUL SYLLABLE SSYAELT;Lo;0;L;;;;;N;;;;; +C35A;HANGUL SYLLABLE SSYAELP;Lo;0;L;;;;;N;;;;; +C35B;HANGUL SYLLABLE SSYAELH;Lo;0;L;;;;;N;;;;; +C35C;HANGUL SYLLABLE SSYAEM;Lo;0;L;;;;;N;;;;; +C35D;HANGUL SYLLABLE SSYAEB;Lo;0;L;;;;;N;;;;; +C35E;HANGUL SYLLABLE SSYAEBS;Lo;0;L;;;;;N;;;;; +C35F;HANGUL SYLLABLE SSYAES;Lo;0;L;;;;;N;;;;; +C360;HANGUL SYLLABLE SSYAESS;Lo;0;L;;;;;N;;;;; +C361;HANGUL SYLLABLE SSYAENG;Lo;0;L;;;;;N;;;;; +C362;HANGUL SYLLABLE SSYAEJ;Lo;0;L;;;;;N;;;;; +C363;HANGUL SYLLABLE SSYAEC;Lo;0;L;;;;;N;;;;; +C364;HANGUL SYLLABLE SSYAEK;Lo;0;L;;;;;N;;;;; +C365;HANGUL SYLLABLE SSYAET;Lo;0;L;;;;;N;;;;; +C366;HANGUL SYLLABLE SSYAEP;Lo;0;L;;;;;N;;;;; +C367;HANGUL SYLLABLE SSYAEH;Lo;0;L;;;;;N;;;;; +C368;HANGUL SYLLABLE SSEO;Lo;0;L;;;;;N;;;;; +C369;HANGUL SYLLABLE SSEOG;Lo;0;L;;;;;N;;;;; +C36A;HANGUL SYLLABLE SSEOGG;Lo;0;L;;;;;N;;;;; +C36B;HANGUL SYLLABLE SSEOGS;Lo;0;L;;;;;N;;;;; +C36C;HANGUL SYLLABLE SSEON;Lo;0;L;;;;;N;;;;; +C36D;HANGUL SYLLABLE SSEONI;Lo;0;L;;;;;N;;;;; +C36E;HANGUL SYLLABLE SSEONH;Lo;0;L;;;;;N;;;;; +C36F;HANGUL SYLLABLE SSEOD;Lo;0;L;;;;;N;;;;; +C370;HANGUL SYLLABLE SSEOL;Lo;0;L;;;;;N;;;;; +C371;HANGUL SYLLABLE SSEOLG;Lo;0;L;;;;;N;;;;; +C372;HANGUL SYLLABLE SSEOLM;Lo;0;L;;;;;N;;;;; +C373;HANGUL SYLLABLE SSEOLB;Lo;0;L;;;;;N;;;;; +C374;HANGUL SYLLABLE SSEOLS;Lo;0;L;;;;;N;;;;; +C375;HANGUL SYLLABLE SSEOLT;Lo;0;L;;;;;N;;;;; +C376;HANGUL SYLLABLE SSEOLP;Lo;0;L;;;;;N;;;;; +C377;HANGUL SYLLABLE SSEOLH;Lo;0;L;;;;;N;;;;; +C378;HANGUL SYLLABLE SSEOM;Lo;0;L;;;;;N;;;;; +C379;HANGUL SYLLABLE SSEOB;Lo;0;L;;;;;N;;;;; +C37A;HANGUL SYLLABLE SSEOBS;Lo;0;L;;;;;N;;;;; +C37B;HANGUL SYLLABLE SSEOS;Lo;0;L;;;;;N;;;;; +C37C;HANGUL SYLLABLE SSEOSS;Lo;0;L;;;;;N;;;;; +C37D;HANGUL SYLLABLE SSEONG;Lo;0;L;;;;;N;;;;; +C37E;HANGUL SYLLABLE SSEOJ;Lo;0;L;;;;;N;;;;; +C37F;HANGUL SYLLABLE SSEOC;Lo;0;L;;;;;N;;;;; +C380;HANGUL SYLLABLE SSEOK;Lo;0;L;;;;;N;;;;; +C381;HANGUL SYLLABLE SSEOT;Lo;0;L;;;;;N;;;;; +C382;HANGUL SYLLABLE SSEOP;Lo;0;L;;;;;N;;;;; +C383;HANGUL SYLLABLE SSEOH;Lo;0;L;;;;;N;;;;; +C384;HANGUL SYLLABLE SSE;Lo;0;L;;;;;N;;;;; +C385;HANGUL SYLLABLE SSEG;Lo;0;L;;;;;N;;;;; +C386;HANGUL SYLLABLE SSEGG;Lo;0;L;;;;;N;;;;; +C387;HANGUL SYLLABLE SSEGS;Lo;0;L;;;;;N;;;;; +C388;HANGUL SYLLABLE SSEN;Lo;0;L;;;;;N;;;;; +C389;HANGUL SYLLABLE SSENI;Lo;0;L;;;;;N;;;;; +C38A;HANGUL SYLLABLE SSENH;Lo;0;L;;;;;N;;;;; +C38B;HANGUL SYLLABLE SSED;Lo;0;L;;;;;N;;;;; +C38C;HANGUL SYLLABLE SSEL;Lo;0;L;;;;;N;;;;; +C38D;HANGUL SYLLABLE SSELG;Lo;0;L;;;;;N;;;;; +C38E;HANGUL SYLLABLE SSELM;Lo;0;L;;;;;N;;;;; +C38F;HANGUL SYLLABLE SSELB;Lo;0;L;;;;;N;;;;; +C390;HANGUL SYLLABLE SSELS;Lo;0;L;;;;;N;;;;; +C391;HANGUL SYLLABLE SSELT;Lo;0;L;;;;;N;;;;; +C392;HANGUL SYLLABLE SSELP;Lo;0;L;;;;;N;;;;; +C393;HANGUL SYLLABLE SSELH;Lo;0;L;;;;;N;;;;; +C394;HANGUL SYLLABLE SSEM;Lo;0;L;;;;;N;;;;; +C395;HANGUL SYLLABLE SSEB;Lo;0;L;;;;;N;;;;; +C396;HANGUL SYLLABLE SSEBS;Lo;0;L;;;;;N;;;;; +C397;HANGUL SYLLABLE SSES;Lo;0;L;;;;;N;;;;; +C398;HANGUL SYLLABLE SSESS;Lo;0;L;;;;;N;;;;; +C399;HANGUL SYLLABLE SSENG;Lo;0;L;;;;;N;;;;; +C39A;HANGUL SYLLABLE SSEJ;Lo;0;L;;;;;N;;;;; +C39B;HANGUL SYLLABLE SSEC;Lo;0;L;;;;;N;;;;; +C39C;HANGUL SYLLABLE SSEK;Lo;0;L;;;;;N;;;;; +C39D;HANGUL SYLLABLE SSET;Lo;0;L;;;;;N;;;;; +C39E;HANGUL SYLLABLE SSEP;Lo;0;L;;;;;N;;;;; +C39F;HANGUL SYLLABLE SSEH;Lo;0;L;;;;;N;;;;; +C3A0;HANGUL SYLLABLE SSYEO;Lo;0;L;;;;;N;;;;; +C3A1;HANGUL SYLLABLE SSYEOG;Lo;0;L;;;;;N;;;;; +C3A2;HANGUL SYLLABLE SSYEOGG;Lo;0;L;;;;;N;;;;; +C3A3;HANGUL SYLLABLE SSYEOGS;Lo;0;L;;;;;N;;;;; +C3A4;HANGUL SYLLABLE SSYEON;Lo;0;L;;;;;N;;;;; +C3A5;HANGUL SYLLABLE SSYEONI;Lo;0;L;;;;;N;;;;; +C3A6;HANGUL SYLLABLE SSYEONH;Lo;0;L;;;;;N;;;;; +C3A7;HANGUL SYLLABLE SSYEOD;Lo;0;L;;;;;N;;;;; +C3A8;HANGUL SYLLABLE SSYEOL;Lo;0;L;;;;;N;;;;; +C3A9;HANGUL SYLLABLE SSYEOLG;Lo;0;L;;;;;N;;;;; +C3AA;HANGUL SYLLABLE SSYEOLM;Lo;0;L;;;;;N;;;;; +C3AB;HANGUL SYLLABLE SSYEOLB;Lo;0;L;;;;;N;;;;; +C3AC;HANGUL SYLLABLE SSYEOLS;Lo;0;L;;;;;N;;;;; +C3AD;HANGUL SYLLABLE SSYEOLT;Lo;0;L;;;;;N;;;;; +C3AE;HANGUL SYLLABLE SSYEOLP;Lo;0;L;;;;;N;;;;; +C3AF;HANGUL SYLLABLE SSYEOLH;Lo;0;L;;;;;N;;;;; +C3B0;HANGUL SYLLABLE SSYEOM;Lo;0;L;;;;;N;;;;; +C3B1;HANGUL SYLLABLE SSYEOB;Lo;0;L;;;;;N;;;;; +C3B2;HANGUL SYLLABLE SSYEOBS;Lo;0;L;;;;;N;;;;; +C3B3;HANGUL SYLLABLE SSYEOS;Lo;0;L;;;;;N;;;;; +C3B4;HANGUL SYLLABLE SSYEOSS;Lo;0;L;;;;;N;;;;; +C3B5;HANGUL SYLLABLE SSYEONG;Lo;0;L;;;;;N;;;;; +C3B6;HANGUL SYLLABLE SSYEOJ;Lo;0;L;;;;;N;;;;; +C3B7;HANGUL SYLLABLE SSYEOC;Lo;0;L;;;;;N;;;;; +C3B8;HANGUL SYLLABLE SSYEOK;Lo;0;L;;;;;N;;;;; +C3B9;HANGUL SYLLABLE SSYEOT;Lo;0;L;;;;;N;;;;; +C3BA;HANGUL SYLLABLE SSYEOP;Lo;0;L;;;;;N;;;;; +C3BB;HANGUL SYLLABLE SSYEOH;Lo;0;L;;;;;N;;;;; +C3BC;HANGUL SYLLABLE SSYE;Lo;0;L;;;;;N;;;;; +C3BD;HANGUL SYLLABLE SSYEG;Lo;0;L;;;;;N;;;;; +C3BE;HANGUL SYLLABLE SSYEGG;Lo;0;L;;;;;N;;;;; +C3BF;HANGUL SYLLABLE SSYEGS;Lo;0;L;;;;;N;;;;; +C3C0;HANGUL SYLLABLE SSYEN;Lo;0;L;;;;;N;;;;; +C3C1;HANGUL SYLLABLE SSYENI;Lo;0;L;;;;;N;;;;; +C3C2;HANGUL SYLLABLE SSYENH;Lo;0;L;;;;;N;;;;; +C3C3;HANGUL SYLLABLE SSYED;Lo;0;L;;;;;N;;;;; +C3C4;HANGUL SYLLABLE SSYEL;Lo;0;L;;;;;N;;;;; +C3C5;HANGUL SYLLABLE SSYELG;Lo;0;L;;;;;N;;;;; +C3C6;HANGUL SYLLABLE SSYELM;Lo;0;L;;;;;N;;;;; +C3C7;HANGUL SYLLABLE SSYELB;Lo;0;L;;;;;N;;;;; +C3C8;HANGUL SYLLABLE SSYELS;Lo;0;L;;;;;N;;;;; +C3C9;HANGUL SYLLABLE SSYELT;Lo;0;L;;;;;N;;;;; +C3CA;HANGUL SYLLABLE SSYELP;Lo;0;L;;;;;N;;;;; +C3CB;HANGUL SYLLABLE SSYELH;Lo;0;L;;;;;N;;;;; +C3CC;HANGUL SYLLABLE SSYEM;Lo;0;L;;;;;N;;;;; +C3CD;HANGUL SYLLABLE SSYEB;Lo;0;L;;;;;N;;;;; +C3CE;HANGUL SYLLABLE SSYEBS;Lo;0;L;;;;;N;;;;; +C3CF;HANGUL SYLLABLE SSYES;Lo;0;L;;;;;N;;;;; +C3D0;HANGUL SYLLABLE SSYESS;Lo;0;L;;;;;N;;;;; +C3D1;HANGUL SYLLABLE SSYENG;Lo;0;L;;;;;N;;;;; +C3D2;HANGUL SYLLABLE SSYEJ;Lo;0;L;;;;;N;;;;; +C3D3;HANGUL SYLLABLE SSYEC;Lo;0;L;;;;;N;;;;; +C3D4;HANGUL SYLLABLE SSYEK;Lo;0;L;;;;;N;;;;; +C3D5;HANGUL SYLLABLE SSYET;Lo;0;L;;;;;N;;;;; +C3D6;HANGUL SYLLABLE SSYEP;Lo;0;L;;;;;N;;;;; +C3D7;HANGUL SYLLABLE SSYEH;Lo;0;L;;;;;N;;;;; +C3D8;HANGUL SYLLABLE SSO;Lo;0;L;;;;;N;;;;; +C3D9;HANGUL SYLLABLE SSOG;Lo;0;L;;;;;N;;;;; +C3DA;HANGUL SYLLABLE SSOGG;Lo;0;L;;;;;N;;;;; +C3DB;HANGUL SYLLABLE SSOGS;Lo;0;L;;;;;N;;;;; +C3DC;HANGUL SYLLABLE SSON;Lo;0;L;;;;;N;;;;; +C3DD;HANGUL SYLLABLE SSONI;Lo;0;L;;;;;N;;;;; +C3DE;HANGUL SYLLABLE SSONH;Lo;0;L;;;;;N;;;;; +C3DF;HANGUL SYLLABLE SSOD;Lo;0;L;;;;;N;;;;; +C3E0;HANGUL SYLLABLE SSOL;Lo;0;L;;;;;N;;;;; +C3E1;HANGUL SYLLABLE SSOLG;Lo;0;L;;;;;N;;;;; +C3E2;HANGUL SYLLABLE SSOLM;Lo;0;L;;;;;N;;;;; +C3E3;HANGUL SYLLABLE SSOLB;Lo;0;L;;;;;N;;;;; +C3E4;HANGUL SYLLABLE SSOLS;Lo;0;L;;;;;N;;;;; +C3E5;HANGUL SYLLABLE SSOLT;Lo;0;L;;;;;N;;;;; +C3E6;HANGUL SYLLABLE SSOLP;Lo;0;L;;;;;N;;;;; +C3E7;HANGUL SYLLABLE SSOLH;Lo;0;L;;;;;N;;;;; +C3E8;HANGUL SYLLABLE SSOM;Lo;0;L;;;;;N;;;;; +C3E9;HANGUL SYLLABLE SSOB;Lo;0;L;;;;;N;;;;; +C3EA;HANGUL SYLLABLE SSOBS;Lo;0;L;;;;;N;;;;; +C3EB;HANGUL SYLLABLE SSOS;Lo;0;L;;;;;N;;;;; +C3EC;HANGUL SYLLABLE SSOSS;Lo;0;L;;;;;N;;;;; +C3ED;HANGUL SYLLABLE SSONG;Lo;0;L;;;;;N;;;;; +C3EE;HANGUL SYLLABLE SSOJ;Lo;0;L;;;;;N;;;;; +C3EF;HANGUL SYLLABLE SSOC;Lo;0;L;;;;;N;;;;; +C3F0;HANGUL SYLLABLE SSOK;Lo;0;L;;;;;N;;;;; +C3F1;HANGUL SYLLABLE SSOT;Lo;0;L;;;;;N;;;;; +C3F2;HANGUL SYLLABLE SSOP;Lo;0;L;;;;;N;;;;; +C3F3;HANGUL SYLLABLE SSOH;Lo;0;L;;;;;N;;;;; +C3F4;HANGUL SYLLABLE SSWA;Lo;0;L;;;;;N;;;;; +C3F5;HANGUL SYLLABLE SSWAG;Lo;0;L;;;;;N;;;;; +C3F6;HANGUL SYLLABLE SSWAGG;Lo;0;L;;;;;N;;;;; +C3F7;HANGUL SYLLABLE SSWAGS;Lo;0;L;;;;;N;;;;; +C3F8;HANGUL SYLLABLE SSWAN;Lo;0;L;;;;;N;;;;; +C3F9;HANGUL SYLLABLE SSWANI;Lo;0;L;;;;;N;;;;; +C3FA;HANGUL SYLLABLE SSWANH;Lo;0;L;;;;;N;;;;; +C3FB;HANGUL SYLLABLE SSWAD;Lo;0;L;;;;;N;;;;; +C3FC;HANGUL SYLLABLE SSWAL;Lo;0;L;;;;;N;;;;; +C3FD;HANGUL SYLLABLE SSWALG;Lo;0;L;;;;;N;;;;; +C3FE;HANGUL SYLLABLE SSWALM;Lo;0;L;;;;;N;;;;; +C3FF;HANGUL SYLLABLE SSWALB;Lo;0;L;;;;;N;;;;; +C400;HANGUL SYLLABLE SSWALS;Lo;0;L;;;;;N;;;;; +C401;HANGUL SYLLABLE SSWALT;Lo;0;L;;;;;N;;;;; +C402;HANGUL SYLLABLE SSWALP;Lo;0;L;;;;;N;;;;; +C403;HANGUL SYLLABLE SSWALH;Lo;0;L;;;;;N;;;;; +C404;HANGUL SYLLABLE SSWAM;Lo;0;L;;;;;N;;;;; +C405;HANGUL SYLLABLE SSWAB;Lo;0;L;;;;;N;;;;; +C406;HANGUL SYLLABLE SSWABS;Lo;0;L;;;;;N;;;;; +C407;HANGUL SYLLABLE SSWAS;Lo;0;L;;;;;N;;;;; +C408;HANGUL SYLLABLE SSWASS;Lo;0;L;;;;;N;;;;; +C409;HANGUL SYLLABLE SSWANG;Lo;0;L;;;;;N;;;;; +C40A;HANGUL SYLLABLE SSWAJ;Lo;0;L;;;;;N;;;;; +C40B;HANGUL SYLLABLE SSWAC;Lo;0;L;;;;;N;;;;; +C40C;HANGUL SYLLABLE SSWAK;Lo;0;L;;;;;N;;;;; +C40D;HANGUL SYLLABLE SSWAT;Lo;0;L;;;;;N;;;;; +C40E;HANGUL SYLLABLE SSWAP;Lo;0;L;;;;;N;;;;; +C40F;HANGUL SYLLABLE SSWAH;Lo;0;L;;;;;N;;;;; +C410;HANGUL SYLLABLE SSWAE;Lo;0;L;;;;;N;;;;; +C411;HANGUL SYLLABLE SSWAEG;Lo;0;L;;;;;N;;;;; +C412;HANGUL SYLLABLE SSWAEGG;Lo;0;L;;;;;N;;;;; +C413;HANGUL SYLLABLE SSWAEGS;Lo;0;L;;;;;N;;;;; +C414;HANGUL SYLLABLE SSWAEN;Lo;0;L;;;;;N;;;;; +C415;HANGUL SYLLABLE SSWAENI;Lo;0;L;;;;;N;;;;; +C416;HANGUL SYLLABLE SSWAENH;Lo;0;L;;;;;N;;;;; +C417;HANGUL SYLLABLE SSWAED;Lo;0;L;;;;;N;;;;; +C418;HANGUL SYLLABLE SSWAEL;Lo;0;L;;;;;N;;;;; +C419;HANGUL SYLLABLE SSWAELG;Lo;0;L;;;;;N;;;;; +C41A;HANGUL SYLLABLE SSWAELM;Lo;0;L;;;;;N;;;;; +C41B;HANGUL SYLLABLE SSWAELB;Lo;0;L;;;;;N;;;;; +C41C;HANGUL SYLLABLE SSWAELS;Lo;0;L;;;;;N;;;;; +C41D;HANGUL SYLLABLE SSWAELT;Lo;0;L;;;;;N;;;;; +C41E;HANGUL SYLLABLE SSWAELP;Lo;0;L;;;;;N;;;;; +C41F;HANGUL SYLLABLE SSWAELH;Lo;0;L;;;;;N;;;;; +C420;HANGUL SYLLABLE SSWAEM;Lo;0;L;;;;;N;;;;; +C421;HANGUL SYLLABLE SSWAEB;Lo;0;L;;;;;N;;;;; +C422;HANGUL SYLLABLE SSWAEBS;Lo;0;L;;;;;N;;;;; +C423;HANGUL SYLLABLE SSWAES;Lo;0;L;;;;;N;;;;; +C424;HANGUL SYLLABLE SSWAESS;Lo;0;L;;;;;N;;;;; +C425;HANGUL SYLLABLE SSWAENG;Lo;0;L;;;;;N;;;;; +C426;HANGUL SYLLABLE SSWAEJ;Lo;0;L;;;;;N;;;;; +C427;HANGUL SYLLABLE SSWAEC;Lo;0;L;;;;;N;;;;; +C428;HANGUL SYLLABLE SSWAEK;Lo;0;L;;;;;N;;;;; +C429;HANGUL SYLLABLE SSWAET;Lo;0;L;;;;;N;;;;; +C42A;HANGUL SYLLABLE SSWAEP;Lo;0;L;;;;;N;;;;; +C42B;HANGUL SYLLABLE SSWAEH;Lo;0;L;;;;;N;;;;; +C42C;HANGUL SYLLABLE SSOE;Lo;0;L;;;;;N;;;;; +C42D;HANGUL SYLLABLE SSOEG;Lo;0;L;;;;;N;;;;; +C42E;HANGUL SYLLABLE SSOEGG;Lo;0;L;;;;;N;;;;; +C42F;HANGUL SYLLABLE SSOEGS;Lo;0;L;;;;;N;;;;; +C430;HANGUL SYLLABLE SSOEN;Lo;0;L;;;;;N;;;;; +C431;HANGUL SYLLABLE SSOENI;Lo;0;L;;;;;N;;;;; +C432;HANGUL SYLLABLE SSOENH;Lo;0;L;;;;;N;;;;; +C433;HANGUL SYLLABLE SSOED;Lo;0;L;;;;;N;;;;; +C434;HANGUL SYLLABLE SSOEL;Lo;0;L;;;;;N;;;;; +C435;HANGUL SYLLABLE SSOELG;Lo;0;L;;;;;N;;;;; +C436;HANGUL SYLLABLE SSOELM;Lo;0;L;;;;;N;;;;; +C437;HANGUL SYLLABLE SSOELB;Lo;0;L;;;;;N;;;;; +C438;HANGUL SYLLABLE SSOELS;Lo;0;L;;;;;N;;;;; +C439;HANGUL SYLLABLE SSOELT;Lo;0;L;;;;;N;;;;; +C43A;HANGUL SYLLABLE SSOELP;Lo;0;L;;;;;N;;;;; +C43B;HANGUL SYLLABLE SSOELH;Lo;0;L;;;;;N;;;;; +C43C;HANGUL SYLLABLE SSOEM;Lo;0;L;;;;;N;;;;; +C43D;HANGUL SYLLABLE SSOEB;Lo;0;L;;;;;N;;;;; +C43E;HANGUL SYLLABLE SSOEBS;Lo;0;L;;;;;N;;;;; +C43F;HANGUL SYLLABLE SSOES;Lo;0;L;;;;;N;;;;; +C440;HANGUL SYLLABLE SSOESS;Lo;0;L;;;;;N;;;;; +C441;HANGUL SYLLABLE SSOENG;Lo;0;L;;;;;N;;;;; +C442;HANGUL SYLLABLE SSOEJ;Lo;0;L;;;;;N;;;;; +C443;HANGUL SYLLABLE SSOEC;Lo;0;L;;;;;N;;;;; +C444;HANGUL SYLLABLE SSOEK;Lo;0;L;;;;;N;;;;; +C445;HANGUL SYLLABLE SSOET;Lo;0;L;;;;;N;;;;; +C446;HANGUL SYLLABLE SSOEP;Lo;0;L;;;;;N;;;;; +C447;HANGUL SYLLABLE SSOEH;Lo;0;L;;;;;N;;;;; +C448;HANGUL SYLLABLE SSYO;Lo;0;L;;;;;N;;;;; +C449;HANGUL SYLLABLE SSYOG;Lo;0;L;;;;;N;;;;; +C44A;HANGUL SYLLABLE SSYOGG;Lo;0;L;;;;;N;;;;; +C44B;HANGUL SYLLABLE SSYOGS;Lo;0;L;;;;;N;;;;; +C44C;HANGUL SYLLABLE SSYON;Lo;0;L;;;;;N;;;;; +C44D;HANGUL SYLLABLE SSYONI;Lo;0;L;;;;;N;;;;; +C44E;HANGUL SYLLABLE SSYONH;Lo;0;L;;;;;N;;;;; +C44F;HANGUL SYLLABLE SSYOD;Lo;0;L;;;;;N;;;;; +C450;HANGUL SYLLABLE SSYOL;Lo;0;L;;;;;N;;;;; +C451;HANGUL SYLLABLE SSYOLG;Lo;0;L;;;;;N;;;;; +C452;HANGUL SYLLABLE SSYOLM;Lo;0;L;;;;;N;;;;; +C453;HANGUL SYLLABLE SSYOLB;Lo;0;L;;;;;N;;;;; +C454;HANGUL SYLLABLE SSYOLS;Lo;0;L;;;;;N;;;;; +C455;HANGUL SYLLABLE SSYOLT;Lo;0;L;;;;;N;;;;; +C456;HANGUL SYLLABLE SSYOLP;Lo;0;L;;;;;N;;;;; +C457;HANGUL SYLLABLE SSYOLH;Lo;0;L;;;;;N;;;;; +C458;HANGUL SYLLABLE SSYOM;Lo;0;L;;;;;N;;;;; +C459;HANGUL SYLLABLE SSYOB;Lo;0;L;;;;;N;;;;; +C45A;HANGUL SYLLABLE SSYOBS;Lo;0;L;;;;;N;;;;; +C45B;HANGUL SYLLABLE SSYOS;Lo;0;L;;;;;N;;;;; +C45C;HANGUL SYLLABLE SSYOSS;Lo;0;L;;;;;N;;;;; +C45D;HANGUL SYLLABLE SSYONG;Lo;0;L;;;;;N;;;;; +C45E;HANGUL SYLLABLE SSYOJ;Lo;0;L;;;;;N;;;;; +C45F;HANGUL SYLLABLE SSYOC;Lo;0;L;;;;;N;;;;; +C460;HANGUL SYLLABLE SSYOK;Lo;0;L;;;;;N;;;;; +C461;HANGUL SYLLABLE SSYOT;Lo;0;L;;;;;N;;;;; +C462;HANGUL SYLLABLE SSYOP;Lo;0;L;;;;;N;;;;; +C463;HANGUL SYLLABLE SSYOH;Lo;0;L;;;;;N;;;;; +C464;HANGUL SYLLABLE SSU;Lo;0;L;;;;;N;;;;; +C465;HANGUL SYLLABLE SSUG;Lo;0;L;;;;;N;;;;; +C466;HANGUL SYLLABLE SSUGG;Lo;0;L;;;;;N;;;;; +C467;HANGUL SYLLABLE SSUGS;Lo;0;L;;;;;N;;;;; +C468;HANGUL SYLLABLE SSUN;Lo;0;L;;;;;N;;;;; +C469;HANGUL SYLLABLE SSUNI;Lo;0;L;;;;;N;;;;; +C46A;HANGUL SYLLABLE SSUNH;Lo;0;L;;;;;N;;;;; +C46B;HANGUL SYLLABLE SSUD;Lo;0;L;;;;;N;;;;; +C46C;HANGUL SYLLABLE SSUL;Lo;0;L;;;;;N;;;;; +C46D;HANGUL SYLLABLE SSULG;Lo;0;L;;;;;N;;;;; +C46E;HANGUL SYLLABLE SSULM;Lo;0;L;;;;;N;;;;; +C46F;HANGUL SYLLABLE SSULB;Lo;0;L;;;;;N;;;;; +C470;HANGUL SYLLABLE SSULS;Lo;0;L;;;;;N;;;;; +C471;HANGUL SYLLABLE SSULT;Lo;0;L;;;;;N;;;;; +C472;HANGUL SYLLABLE SSULP;Lo;0;L;;;;;N;;;;; +C473;HANGUL SYLLABLE SSULH;Lo;0;L;;;;;N;;;;; +C474;HANGUL SYLLABLE SSUM;Lo;0;L;;;;;N;;;;; +C475;HANGUL SYLLABLE SSUB;Lo;0;L;;;;;N;;;;; +C476;HANGUL SYLLABLE SSUBS;Lo;0;L;;;;;N;;;;; +C477;HANGUL SYLLABLE SSUS;Lo;0;L;;;;;N;;;;; +C478;HANGUL SYLLABLE SSUSS;Lo;0;L;;;;;N;;;;; +C479;HANGUL SYLLABLE SSUNG;Lo;0;L;;;;;N;;;;; +C47A;HANGUL SYLLABLE SSUJ;Lo;0;L;;;;;N;;;;; +C47B;HANGUL SYLLABLE SSUC;Lo;0;L;;;;;N;;;;; +C47C;HANGUL SYLLABLE SSUK;Lo;0;L;;;;;N;;;;; +C47D;HANGUL SYLLABLE SSUT;Lo;0;L;;;;;N;;;;; +C47E;HANGUL SYLLABLE SSUP;Lo;0;L;;;;;N;;;;; +C47F;HANGUL SYLLABLE SSUH;Lo;0;L;;;;;N;;;;; +C480;HANGUL SYLLABLE SSWEO;Lo;0;L;;;;;N;;;;; +C481;HANGUL SYLLABLE SSWEOG;Lo;0;L;;;;;N;;;;; +C482;HANGUL SYLLABLE SSWEOGG;Lo;0;L;;;;;N;;;;; +C483;HANGUL SYLLABLE SSWEOGS;Lo;0;L;;;;;N;;;;; +C484;HANGUL SYLLABLE SSWEON;Lo;0;L;;;;;N;;;;; +C485;HANGUL SYLLABLE SSWEONI;Lo;0;L;;;;;N;;;;; +C486;HANGUL SYLLABLE SSWEONH;Lo;0;L;;;;;N;;;;; +C487;HANGUL SYLLABLE SSWEOD;Lo;0;L;;;;;N;;;;; +C488;HANGUL SYLLABLE SSWEOL;Lo;0;L;;;;;N;;;;; +C489;HANGUL SYLLABLE SSWEOLG;Lo;0;L;;;;;N;;;;; +C48A;HANGUL SYLLABLE SSWEOLM;Lo;0;L;;;;;N;;;;; +C48B;HANGUL SYLLABLE SSWEOLB;Lo;0;L;;;;;N;;;;; +C48C;HANGUL SYLLABLE SSWEOLS;Lo;0;L;;;;;N;;;;; +C48D;HANGUL SYLLABLE SSWEOLT;Lo;0;L;;;;;N;;;;; +C48E;HANGUL SYLLABLE SSWEOLP;Lo;0;L;;;;;N;;;;; +C48F;HANGUL SYLLABLE SSWEOLH;Lo;0;L;;;;;N;;;;; +C490;HANGUL SYLLABLE SSWEOM;Lo;0;L;;;;;N;;;;; +C491;HANGUL SYLLABLE SSWEOB;Lo;0;L;;;;;N;;;;; +C492;HANGUL SYLLABLE SSWEOBS;Lo;0;L;;;;;N;;;;; +C493;HANGUL SYLLABLE SSWEOS;Lo;0;L;;;;;N;;;;; +C494;HANGUL SYLLABLE SSWEOSS;Lo;0;L;;;;;N;;;;; +C495;HANGUL SYLLABLE SSWEONG;Lo;0;L;;;;;N;;;;; +C496;HANGUL SYLLABLE SSWEOJ;Lo;0;L;;;;;N;;;;; +C497;HANGUL SYLLABLE SSWEOC;Lo;0;L;;;;;N;;;;; +C498;HANGUL SYLLABLE SSWEOK;Lo;0;L;;;;;N;;;;; +C499;HANGUL SYLLABLE SSWEOT;Lo;0;L;;;;;N;;;;; +C49A;HANGUL SYLLABLE SSWEOP;Lo;0;L;;;;;N;;;;; +C49B;HANGUL SYLLABLE SSWEOH;Lo;0;L;;;;;N;;;;; +C49C;HANGUL SYLLABLE SSWE;Lo;0;L;;;;;N;;;;; +C49D;HANGUL SYLLABLE SSWEG;Lo;0;L;;;;;N;;;;; +C49E;HANGUL SYLLABLE SSWEGG;Lo;0;L;;;;;N;;;;; +C49F;HANGUL SYLLABLE SSWEGS;Lo;0;L;;;;;N;;;;; +C4A0;HANGUL SYLLABLE SSWEN;Lo;0;L;;;;;N;;;;; +C4A1;HANGUL SYLLABLE SSWENI;Lo;0;L;;;;;N;;;;; +C4A2;HANGUL SYLLABLE SSWENH;Lo;0;L;;;;;N;;;;; +C4A3;HANGUL SYLLABLE SSWED;Lo;0;L;;;;;N;;;;; +C4A4;HANGUL SYLLABLE SSWEL;Lo;0;L;;;;;N;;;;; +C4A5;HANGUL SYLLABLE SSWELG;Lo;0;L;;;;;N;;;;; +C4A6;HANGUL SYLLABLE SSWELM;Lo;0;L;;;;;N;;;;; +C4A7;HANGUL SYLLABLE SSWELB;Lo;0;L;;;;;N;;;;; +C4A8;HANGUL SYLLABLE SSWELS;Lo;0;L;;;;;N;;;;; +C4A9;HANGUL SYLLABLE SSWELT;Lo;0;L;;;;;N;;;;; +C4AA;HANGUL SYLLABLE SSWELP;Lo;0;L;;;;;N;;;;; +C4AB;HANGUL SYLLABLE SSWELH;Lo;0;L;;;;;N;;;;; +C4AC;HANGUL SYLLABLE SSWEM;Lo;0;L;;;;;N;;;;; +C4AD;HANGUL SYLLABLE SSWEB;Lo;0;L;;;;;N;;;;; +C4AE;HANGUL SYLLABLE SSWEBS;Lo;0;L;;;;;N;;;;; +C4AF;HANGUL SYLLABLE SSWES;Lo;0;L;;;;;N;;;;; +C4B0;HANGUL SYLLABLE SSWESS;Lo;0;L;;;;;N;;;;; +C4B1;HANGUL SYLLABLE SSWENG;Lo;0;L;;;;;N;;;;; +C4B2;HANGUL SYLLABLE SSWEJ;Lo;0;L;;;;;N;;;;; +C4B3;HANGUL SYLLABLE SSWEC;Lo;0;L;;;;;N;;;;; +C4B4;HANGUL SYLLABLE SSWEK;Lo;0;L;;;;;N;;;;; +C4B5;HANGUL SYLLABLE SSWET;Lo;0;L;;;;;N;;;;; +C4B6;HANGUL SYLLABLE SSWEP;Lo;0;L;;;;;N;;;;; +C4B7;HANGUL SYLLABLE SSWEH;Lo;0;L;;;;;N;;;;; +C4B8;HANGUL SYLLABLE SSWI;Lo;0;L;;;;;N;;;;; +C4B9;HANGUL SYLLABLE SSWIG;Lo;0;L;;;;;N;;;;; +C4BA;HANGUL SYLLABLE SSWIGG;Lo;0;L;;;;;N;;;;; +C4BB;HANGUL SYLLABLE SSWIGS;Lo;0;L;;;;;N;;;;; +C4BC;HANGUL SYLLABLE SSWIN;Lo;0;L;;;;;N;;;;; +C4BD;HANGUL SYLLABLE SSWINI;Lo;0;L;;;;;N;;;;; +C4BE;HANGUL SYLLABLE SSWINH;Lo;0;L;;;;;N;;;;; +C4BF;HANGUL SYLLABLE SSWID;Lo;0;L;;;;;N;;;;; +C4C0;HANGUL SYLLABLE SSWIL;Lo;0;L;;;;;N;;;;; +C4C1;HANGUL SYLLABLE SSWILG;Lo;0;L;;;;;N;;;;; +C4C2;HANGUL SYLLABLE SSWILM;Lo;0;L;;;;;N;;;;; +C4C3;HANGUL SYLLABLE SSWILB;Lo;0;L;;;;;N;;;;; +C4C4;HANGUL SYLLABLE SSWILS;Lo;0;L;;;;;N;;;;; +C4C5;HANGUL SYLLABLE SSWILT;Lo;0;L;;;;;N;;;;; +C4C6;HANGUL SYLLABLE SSWILP;Lo;0;L;;;;;N;;;;; +C4C7;HANGUL SYLLABLE SSWILH;Lo;0;L;;;;;N;;;;; +C4C8;HANGUL SYLLABLE SSWIM;Lo;0;L;;;;;N;;;;; +C4C9;HANGUL SYLLABLE SSWIB;Lo;0;L;;;;;N;;;;; +C4CA;HANGUL SYLLABLE SSWIBS;Lo;0;L;;;;;N;;;;; +C4CB;HANGUL SYLLABLE SSWIS;Lo;0;L;;;;;N;;;;; +C4CC;HANGUL SYLLABLE SSWISS;Lo;0;L;;;;;N;;;;; +C4CD;HANGUL SYLLABLE SSWING;Lo;0;L;;;;;N;;;;; +C4CE;HANGUL SYLLABLE SSWIJ;Lo;0;L;;;;;N;;;;; +C4CF;HANGUL SYLLABLE SSWIC;Lo;0;L;;;;;N;;;;; +C4D0;HANGUL SYLLABLE SSWIK;Lo;0;L;;;;;N;;;;; +C4D1;HANGUL SYLLABLE SSWIT;Lo;0;L;;;;;N;;;;; +C4D2;HANGUL SYLLABLE SSWIP;Lo;0;L;;;;;N;;;;; +C4D3;HANGUL SYLLABLE SSWIH;Lo;0;L;;;;;N;;;;; +C4D4;HANGUL SYLLABLE SSYU;Lo;0;L;;;;;N;;;;; +C4D5;HANGUL SYLLABLE SSYUG;Lo;0;L;;;;;N;;;;; +C4D6;HANGUL SYLLABLE SSYUGG;Lo;0;L;;;;;N;;;;; +C4D7;HANGUL SYLLABLE SSYUGS;Lo;0;L;;;;;N;;;;; +C4D8;HANGUL SYLLABLE SSYUN;Lo;0;L;;;;;N;;;;; +C4D9;HANGUL SYLLABLE SSYUNI;Lo;0;L;;;;;N;;;;; +C4DA;HANGUL SYLLABLE SSYUNH;Lo;0;L;;;;;N;;;;; +C4DB;HANGUL SYLLABLE SSYUD;Lo;0;L;;;;;N;;;;; +C4DC;HANGUL SYLLABLE SSYUL;Lo;0;L;;;;;N;;;;; +C4DD;HANGUL SYLLABLE SSYULG;Lo;0;L;;;;;N;;;;; +C4DE;HANGUL SYLLABLE SSYULM;Lo;0;L;;;;;N;;;;; +C4DF;HANGUL SYLLABLE SSYULB;Lo;0;L;;;;;N;;;;; +C4E0;HANGUL SYLLABLE SSYULS;Lo;0;L;;;;;N;;;;; +C4E1;HANGUL SYLLABLE SSYULT;Lo;0;L;;;;;N;;;;; +C4E2;HANGUL SYLLABLE SSYULP;Lo;0;L;;;;;N;;;;; +C4E3;HANGUL SYLLABLE SSYULH;Lo;0;L;;;;;N;;;;; +C4E4;HANGUL SYLLABLE SSYUM;Lo;0;L;;;;;N;;;;; +C4E5;HANGUL SYLLABLE SSYUB;Lo;0;L;;;;;N;;;;; +C4E6;HANGUL SYLLABLE SSYUBS;Lo;0;L;;;;;N;;;;; +C4E7;HANGUL SYLLABLE SSYUS;Lo;0;L;;;;;N;;;;; +C4E8;HANGUL SYLLABLE SSYUSS;Lo;0;L;;;;;N;;;;; +C4E9;HANGUL SYLLABLE SSYUNG;Lo;0;L;;;;;N;;;;; +C4EA;HANGUL SYLLABLE SSYUJ;Lo;0;L;;;;;N;;;;; +C4EB;HANGUL SYLLABLE SSYUC;Lo;0;L;;;;;N;;;;; +C4EC;HANGUL SYLLABLE SSYUK;Lo;0;L;;;;;N;;;;; +C4ED;HANGUL SYLLABLE SSYUT;Lo;0;L;;;;;N;;;;; +C4EE;HANGUL SYLLABLE SSYUP;Lo;0;L;;;;;N;;;;; +C4EF;HANGUL SYLLABLE SSYUH;Lo;0;L;;;;;N;;;;; +C4F0;HANGUL SYLLABLE SSEU;Lo;0;L;;;;;N;;;;; +C4F1;HANGUL SYLLABLE SSEUG;Lo;0;L;;;;;N;;;;; +C4F2;HANGUL SYLLABLE SSEUGG;Lo;0;L;;;;;N;;;;; +C4F3;HANGUL SYLLABLE SSEUGS;Lo;0;L;;;;;N;;;;; +C4F4;HANGUL SYLLABLE SSEUN;Lo;0;L;;;;;N;;;;; +C4F5;HANGUL SYLLABLE SSEUNI;Lo;0;L;;;;;N;;;;; +C4F6;HANGUL SYLLABLE SSEUNH;Lo;0;L;;;;;N;;;;; +C4F7;HANGUL SYLLABLE SSEUD;Lo;0;L;;;;;N;;;;; +C4F8;HANGUL SYLLABLE SSEUL;Lo;0;L;;;;;N;;;;; +C4F9;HANGUL SYLLABLE SSEULG;Lo;0;L;;;;;N;;;;; +C4FA;HANGUL SYLLABLE SSEULM;Lo;0;L;;;;;N;;;;; +C4FB;HANGUL SYLLABLE SSEULB;Lo;0;L;;;;;N;;;;; +C4FC;HANGUL SYLLABLE SSEULS;Lo;0;L;;;;;N;;;;; +C4FD;HANGUL SYLLABLE SSEULT;Lo;0;L;;;;;N;;;;; +C4FE;HANGUL SYLLABLE SSEULP;Lo;0;L;;;;;N;;;;; +C4FF;HANGUL SYLLABLE SSEULH;Lo;0;L;;;;;N;;;;; +C500;HANGUL SYLLABLE SSEUM;Lo;0;L;;;;;N;;;;; +C501;HANGUL SYLLABLE SSEUB;Lo;0;L;;;;;N;;;;; +C502;HANGUL SYLLABLE SSEUBS;Lo;0;L;;;;;N;;;;; +C503;HANGUL SYLLABLE SSEUS;Lo;0;L;;;;;N;;;;; +C504;HANGUL SYLLABLE SSEUSS;Lo;0;L;;;;;N;;;;; +C505;HANGUL SYLLABLE SSEUNG;Lo;0;L;;;;;N;;;;; +C506;HANGUL SYLLABLE SSEUJ;Lo;0;L;;;;;N;;;;; +C507;HANGUL SYLLABLE SSEUC;Lo;0;L;;;;;N;;;;; +C508;HANGUL SYLLABLE SSEUK;Lo;0;L;;;;;N;;;;; +C509;HANGUL SYLLABLE SSEUT;Lo;0;L;;;;;N;;;;; +C50A;HANGUL SYLLABLE SSEUP;Lo;0;L;;;;;N;;;;; +C50B;HANGUL SYLLABLE SSEUH;Lo;0;L;;;;;N;;;;; +C50C;HANGUL SYLLABLE SSYI;Lo;0;L;;;;;N;;;;; +C50D;HANGUL SYLLABLE SSYIG;Lo;0;L;;;;;N;;;;; +C50E;HANGUL SYLLABLE SSYIGG;Lo;0;L;;;;;N;;;;; +C50F;HANGUL SYLLABLE SSYIGS;Lo;0;L;;;;;N;;;;; +C510;HANGUL SYLLABLE SSYIN;Lo;0;L;;;;;N;;;;; +C511;HANGUL SYLLABLE SSYINI;Lo;0;L;;;;;N;;;;; +C512;HANGUL SYLLABLE SSYINH;Lo;0;L;;;;;N;;;;; +C513;HANGUL SYLLABLE SSYID;Lo;0;L;;;;;N;;;;; +C514;HANGUL SYLLABLE SSYIL;Lo;0;L;;;;;N;;;;; +C515;HANGUL SYLLABLE SSYILG;Lo;0;L;;;;;N;;;;; +C516;HANGUL SYLLABLE SSYILM;Lo;0;L;;;;;N;;;;; +C517;HANGUL SYLLABLE SSYILB;Lo;0;L;;;;;N;;;;; +C518;HANGUL SYLLABLE SSYILS;Lo;0;L;;;;;N;;;;; +C519;HANGUL SYLLABLE SSYILT;Lo;0;L;;;;;N;;;;; +C51A;HANGUL SYLLABLE SSYILP;Lo;0;L;;;;;N;;;;; +C51B;HANGUL SYLLABLE SSYILH;Lo;0;L;;;;;N;;;;; +C51C;HANGUL SYLLABLE SSYIM;Lo;0;L;;;;;N;;;;; +C51D;HANGUL SYLLABLE SSYIB;Lo;0;L;;;;;N;;;;; +C51E;HANGUL SYLLABLE SSYIBS;Lo;0;L;;;;;N;;;;; +C51F;HANGUL SYLLABLE SSYIS;Lo;0;L;;;;;N;;;;; +C520;HANGUL SYLLABLE SSYISS;Lo;0;L;;;;;N;;;;; +C521;HANGUL SYLLABLE SSYING;Lo;0;L;;;;;N;;;;; +C522;HANGUL SYLLABLE SSYIJ;Lo;0;L;;;;;N;;;;; +C523;HANGUL SYLLABLE SSYIC;Lo;0;L;;;;;N;;;;; +C524;HANGUL SYLLABLE SSYIK;Lo;0;L;;;;;N;;;;; +C525;HANGUL SYLLABLE SSYIT;Lo;0;L;;;;;N;;;;; +C526;HANGUL SYLLABLE SSYIP;Lo;0;L;;;;;N;;;;; +C527;HANGUL SYLLABLE SSYIH;Lo;0;L;;;;;N;;;;; +C528;HANGUL SYLLABLE SSI;Lo;0;L;;;;;N;;;;; +C529;HANGUL SYLLABLE SSIG;Lo;0;L;;;;;N;;;;; +C52A;HANGUL SYLLABLE SSIGG;Lo;0;L;;;;;N;;;;; +C52B;HANGUL SYLLABLE SSIGS;Lo;0;L;;;;;N;;;;; +C52C;HANGUL SYLLABLE SSIN;Lo;0;L;;;;;N;;;;; +C52D;HANGUL SYLLABLE SSINI;Lo;0;L;;;;;N;;;;; +C52E;HANGUL SYLLABLE SSINH;Lo;0;L;;;;;N;;;;; +C52F;HANGUL SYLLABLE SSID;Lo;0;L;;;;;N;;;;; +C530;HANGUL SYLLABLE SSIL;Lo;0;L;;;;;N;;;;; +C531;HANGUL SYLLABLE SSILG;Lo;0;L;;;;;N;;;;; +C532;HANGUL SYLLABLE SSILM;Lo;0;L;;;;;N;;;;; +C533;HANGUL SYLLABLE SSILB;Lo;0;L;;;;;N;;;;; +C534;HANGUL SYLLABLE SSILS;Lo;0;L;;;;;N;;;;; +C535;HANGUL SYLLABLE SSILT;Lo;0;L;;;;;N;;;;; +C536;HANGUL SYLLABLE SSILP;Lo;0;L;;;;;N;;;;; +C537;HANGUL SYLLABLE SSILH;Lo;0;L;;;;;N;;;;; +C538;HANGUL SYLLABLE SSIM;Lo;0;L;;;;;N;;;;; +C539;HANGUL SYLLABLE SSIB;Lo;0;L;;;;;N;;;;; +C53A;HANGUL SYLLABLE SSIBS;Lo;0;L;;;;;N;;;;; +C53B;HANGUL SYLLABLE SSIS;Lo;0;L;;;;;N;;;;; +C53C;HANGUL SYLLABLE SSISS;Lo;0;L;;;;;N;;;;; +C53D;HANGUL SYLLABLE SSING;Lo;0;L;;;;;N;;;;; +C53E;HANGUL SYLLABLE SSIJ;Lo;0;L;;;;;N;;;;; +C53F;HANGUL SYLLABLE SSIC;Lo;0;L;;;;;N;;;;; +C540;HANGUL SYLLABLE SSIK;Lo;0;L;;;;;N;;;;; +C541;HANGUL SYLLABLE SSIT;Lo;0;L;;;;;N;;;;; +C542;HANGUL SYLLABLE SSIP;Lo;0;L;;;;;N;;;;; +C543;HANGUL SYLLABLE SSIH;Lo;0;L;;;;;N;;;;; +C544;HANGUL SYLLABLE A;Lo;0;L;;;;;N;;;;; +C545;HANGUL SYLLABLE AG;Lo;0;L;;;;;N;;;;; +C546;HANGUL SYLLABLE AGG;Lo;0;L;;;;;N;;;;; +C547;HANGUL SYLLABLE AGS;Lo;0;L;;;;;N;;;;; +C548;HANGUL SYLLABLE AN;Lo;0;L;;;;;N;;;;; +C549;HANGUL SYLLABLE ANI;Lo;0;L;;;;;N;;;;; +C54A;HANGUL SYLLABLE ANH;Lo;0;L;;;;;N;;;;; +C54B;HANGUL SYLLABLE AD;Lo;0;L;;;;;N;;;;; +C54C;HANGUL SYLLABLE AL;Lo;0;L;;;;;N;;;;; +C54D;HANGUL SYLLABLE ALG;Lo;0;L;;;;;N;;;;; +C54E;HANGUL SYLLABLE ALM;Lo;0;L;;;;;N;;;;; +C54F;HANGUL SYLLABLE ALB;Lo;0;L;;;;;N;;;;; +C550;HANGUL SYLLABLE ALS;Lo;0;L;;;;;N;;;;; +C551;HANGUL SYLLABLE ALT;Lo;0;L;;;;;N;;;;; +C552;HANGUL SYLLABLE ALP;Lo;0;L;;;;;N;;;;; +C553;HANGUL SYLLABLE ALH;Lo;0;L;;;;;N;;;;; +C554;HANGUL SYLLABLE AM;Lo;0;L;;;;;N;;;;; +C555;HANGUL SYLLABLE AB;Lo;0;L;;;;;N;;;;; +C556;HANGUL SYLLABLE ABS;Lo;0;L;;;;;N;;;;; +C557;HANGUL SYLLABLE AS;Lo;0;L;;;;;N;;;;; +C558;HANGUL SYLLABLE ASS;Lo;0;L;;;;;N;;;;; +C559;HANGUL SYLLABLE ANG;Lo;0;L;;;;;N;;;;; +C55A;HANGUL SYLLABLE AJ;Lo;0;L;;;;;N;;;;; +C55B;HANGUL SYLLABLE AC;Lo;0;L;;;;;N;;;;; +C55C;HANGUL SYLLABLE AK;Lo;0;L;;;;;N;;;;; +C55D;HANGUL SYLLABLE AT;Lo;0;L;;;;;N;;;;; +C55E;HANGUL SYLLABLE AP;Lo;0;L;;;;;N;;;;; +C55F;HANGUL SYLLABLE AH;Lo;0;L;;;;;N;;;;; +C560;HANGUL SYLLABLE AE;Lo;0;L;;;;;N;;;;; +C561;HANGUL SYLLABLE AEG;Lo;0;L;;;;;N;;;;; +C562;HANGUL SYLLABLE AEGG;Lo;0;L;;;;;N;;;;; +C563;HANGUL SYLLABLE AEGS;Lo;0;L;;;;;N;;;;; +C564;HANGUL SYLLABLE AEN;Lo;0;L;;;;;N;;;;; +C565;HANGUL SYLLABLE AENI;Lo;0;L;;;;;N;;;;; +C566;HANGUL SYLLABLE AENH;Lo;0;L;;;;;N;;;;; +C567;HANGUL SYLLABLE AED;Lo;0;L;;;;;N;;;;; +C568;HANGUL SYLLABLE AEL;Lo;0;L;;;;;N;;;;; +C569;HANGUL SYLLABLE AELG;Lo;0;L;;;;;N;;;;; +C56A;HANGUL SYLLABLE AELM;Lo;0;L;;;;;N;;;;; +C56B;HANGUL SYLLABLE AELB;Lo;0;L;;;;;N;;;;; +C56C;HANGUL SYLLABLE AELS;Lo;0;L;;;;;N;;;;; +C56D;HANGUL SYLLABLE AELT;Lo;0;L;;;;;N;;;;; +C56E;HANGUL SYLLABLE AELP;Lo;0;L;;;;;N;;;;; +C56F;HANGUL SYLLABLE AELH;Lo;0;L;;;;;N;;;;; +C570;HANGUL SYLLABLE AEM;Lo;0;L;;;;;N;;;;; +C571;HANGUL SYLLABLE AEB;Lo;0;L;;;;;N;;;;; +C572;HANGUL SYLLABLE AEBS;Lo;0;L;;;;;N;;;;; +C573;HANGUL SYLLABLE AES;Lo;0;L;;;;;N;;;;; +C574;HANGUL SYLLABLE AESS;Lo;0;L;;;;;N;;;;; +C575;HANGUL SYLLABLE AENG;Lo;0;L;;;;;N;;;;; +C576;HANGUL SYLLABLE AEJ;Lo;0;L;;;;;N;;;;; +C577;HANGUL SYLLABLE AEC;Lo;0;L;;;;;N;;;;; +C578;HANGUL SYLLABLE AEK;Lo;0;L;;;;;N;;;;; +C579;HANGUL SYLLABLE AET;Lo;0;L;;;;;N;;;;; +C57A;HANGUL SYLLABLE AEP;Lo;0;L;;;;;N;;;;; +C57B;HANGUL SYLLABLE AEH;Lo;0;L;;;;;N;;;;; +C57C;HANGUL SYLLABLE YA;Lo;0;L;;;;;N;;;;; +C57D;HANGUL SYLLABLE YAG;Lo;0;L;;;;;N;;;;; +C57E;HANGUL SYLLABLE YAGG;Lo;0;L;;;;;N;;;;; +C57F;HANGUL SYLLABLE YAGS;Lo;0;L;;;;;N;;;;; +C580;HANGUL SYLLABLE YAN;Lo;0;L;;;;;N;;;;; +C581;HANGUL SYLLABLE YANI;Lo;0;L;;;;;N;;;;; +C582;HANGUL SYLLABLE YANH;Lo;0;L;;;;;N;;;;; +C583;HANGUL SYLLABLE YAD;Lo;0;L;;;;;N;;;;; +C584;HANGUL SYLLABLE YAL;Lo;0;L;;;;;N;;;;; +C585;HANGUL SYLLABLE YALG;Lo;0;L;;;;;N;;;;; +C586;HANGUL SYLLABLE YALM;Lo;0;L;;;;;N;;;;; +C587;HANGUL SYLLABLE YALB;Lo;0;L;;;;;N;;;;; +C588;HANGUL SYLLABLE YALS;Lo;0;L;;;;;N;;;;; +C589;HANGUL SYLLABLE YALT;Lo;0;L;;;;;N;;;;; +C58A;HANGUL SYLLABLE YALP;Lo;0;L;;;;;N;;;;; +C58B;HANGUL SYLLABLE YALH;Lo;0;L;;;;;N;;;;; +C58C;HANGUL SYLLABLE YAM;Lo;0;L;;;;;N;;;;; +C58D;HANGUL SYLLABLE YAB;Lo;0;L;;;;;N;;;;; +C58E;HANGUL SYLLABLE YABS;Lo;0;L;;;;;N;;;;; +C58F;HANGUL SYLLABLE YAS;Lo;0;L;;;;;N;;;;; +C590;HANGUL SYLLABLE YASS;Lo;0;L;;;;;N;;;;; +C591;HANGUL SYLLABLE YANG;Lo;0;L;;;;;N;;;;; +C592;HANGUL SYLLABLE YAJ;Lo;0;L;;;;;N;;;;; +C593;HANGUL SYLLABLE YAC;Lo;0;L;;;;;N;;;;; +C594;HANGUL SYLLABLE YAK;Lo;0;L;;;;;N;;;;; +C595;HANGUL SYLLABLE YAT;Lo;0;L;;;;;N;;;;; +C596;HANGUL SYLLABLE YAP;Lo;0;L;;;;;N;;;;; +C597;HANGUL SYLLABLE YAH;Lo;0;L;;;;;N;;;;; +C598;HANGUL SYLLABLE YAE;Lo;0;L;;;;;N;;;;; +C599;HANGUL SYLLABLE YAEG;Lo;0;L;;;;;N;;;;; +C59A;HANGUL SYLLABLE YAEGG;Lo;0;L;;;;;N;;;;; +C59B;HANGUL SYLLABLE YAEGS;Lo;0;L;;;;;N;;;;; +C59C;HANGUL SYLLABLE YAEN;Lo;0;L;;;;;N;;;;; +C59D;HANGUL SYLLABLE YAENI;Lo;0;L;;;;;N;;;;; +C59E;HANGUL SYLLABLE YAENH;Lo;0;L;;;;;N;;;;; +C59F;HANGUL SYLLABLE YAED;Lo;0;L;;;;;N;;;;; +C5A0;HANGUL SYLLABLE YAEL;Lo;0;L;;;;;N;;;;; +C5A1;HANGUL SYLLABLE YAELG;Lo;0;L;;;;;N;;;;; +C5A2;HANGUL SYLLABLE YAELM;Lo;0;L;;;;;N;;;;; +C5A3;HANGUL SYLLABLE YAELB;Lo;0;L;;;;;N;;;;; +C5A4;HANGUL SYLLABLE YAELS;Lo;0;L;;;;;N;;;;; +C5A5;HANGUL SYLLABLE YAELT;Lo;0;L;;;;;N;;;;; +C5A6;HANGUL SYLLABLE YAELP;Lo;0;L;;;;;N;;;;; +C5A7;HANGUL SYLLABLE YAELH;Lo;0;L;;;;;N;;;;; +C5A8;HANGUL SYLLABLE YAEM;Lo;0;L;;;;;N;;;;; +C5A9;HANGUL SYLLABLE YAEB;Lo;0;L;;;;;N;;;;; +C5AA;HANGUL SYLLABLE YAEBS;Lo;0;L;;;;;N;;;;; +C5AB;HANGUL SYLLABLE YAES;Lo;0;L;;;;;N;;;;; +C5AC;HANGUL SYLLABLE YAESS;Lo;0;L;;;;;N;;;;; +C5AD;HANGUL SYLLABLE YAENG;Lo;0;L;;;;;N;;;;; +C5AE;HANGUL SYLLABLE YAEJ;Lo;0;L;;;;;N;;;;; +C5AF;HANGUL SYLLABLE YAEC;Lo;0;L;;;;;N;;;;; +C5B0;HANGUL SYLLABLE YAEK;Lo;0;L;;;;;N;;;;; +C5B1;HANGUL SYLLABLE YAET;Lo;0;L;;;;;N;;;;; +C5B2;HANGUL SYLLABLE YAEP;Lo;0;L;;;;;N;;;;; +C5B3;HANGUL SYLLABLE YAEH;Lo;0;L;;;;;N;;;;; +C5B4;HANGUL SYLLABLE EO;Lo;0;L;;;;;N;;;;; +C5B5;HANGUL SYLLABLE EOG;Lo;0;L;;;;;N;;;;; +C5B6;HANGUL SYLLABLE EOGG;Lo;0;L;;;;;N;;;;; +C5B7;HANGUL SYLLABLE EOGS;Lo;0;L;;;;;N;;;;; +C5B8;HANGUL SYLLABLE EON;Lo;0;L;;;;;N;;;;; +C5B9;HANGUL SYLLABLE EONI;Lo;0;L;;;;;N;;;;; +C5BA;HANGUL SYLLABLE EONH;Lo;0;L;;;;;N;;;;; +C5BB;HANGUL SYLLABLE EOD;Lo;0;L;;;;;N;;;;; +C5BC;HANGUL SYLLABLE EOL;Lo;0;L;;;;;N;;;;; +C5BD;HANGUL SYLLABLE EOLG;Lo;0;L;;;;;N;;;;; +C5BE;HANGUL SYLLABLE EOLM;Lo;0;L;;;;;N;;;;; +C5BF;HANGUL SYLLABLE EOLB;Lo;0;L;;;;;N;;;;; +C5C0;HANGUL SYLLABLE EOLS;Lo;0;L;;;;;N;;;;; +C5C1;HANGUL SYLLABLE EOLT;Lo;0;L;;;;;N;;;;; +C5C2;HANGUL SYLLABLE EOLP;Lo;0;L;;;;;N;;;;; +C5C3;HANGUL SYLLABLE EOLH;Lo;0;L;;;;;N;;;;; +C5C4;HANGUL SYLLABLE EOM;Lo;0;L;;;;;N;;;;; +C5C5;HANGUL SYLLABLE EOB;Lo;0;L;;;;;N;;;;; +C5C6;HANGUL SYLLABLE EOBS;Lo;0;L;;;;;N;;;;; +C5C7;HANGUL SYLLABLE EOS;Lo;0;L;;;;;N;;;;; +C5C8;HANGUL SYLLABLE EOSS;Lo;0;L;;;;;N;;;;; +C5C9;HANGUL SYLLABLE EONG;Lo;0;L;;;;;N;;;;; +C5CA;HANGUL SYLLABLE EOJ;Lo;0;L;;;;;N;;;;; +C5CB;HANGUL SYLLABLE EOC;Lo;0;L;;;;;N;;;;; +C5CC;HANGUL SYLLABLE EOK;Lo;0;L;;;;;N;;;;; +C5CD;HANGUL SYLLABLE EOT;Lo;0;L;;;;;N;;;;; +C5CE;HANGUL SYLLABLE EOP;Lo;0;L;;;;;N;;;;; +C5CF;HANGUL SYLLABLE EOH;Lo;0;L;;;;;N;;;;; +C5D0;HANGUL SYLLABLE E;Lo;0;L;;;;;N;;;;; +C5D1;HANGUL SYLLABLE EG;Lo;0;L;;;;;N;;;;; +C5D2;HANGUL SYLLABLE EGG;Lo;0;L;;;;;N;;;;; +C5D3;HANGUL SYLLABLE EGS;Lo;0;L;;;;;N;;;;; +C5D4;HANGUL SYLLABLE EN;Lo;0;L;;;;;N;;;;; +C5D5;HANGUL SYLLABLE ENI;Lo;0;L;;;;;N;;;;; +C5D6;HANGUL SYLLABLE ENH;Lo;0;L;;;;;N;;;;; +C5D7;HANGUL SYLLABLE ED;Lo;0;L;;;;;N;;;;; +C5D8;HANGUL SYLLABLE EL;Lo;0;L;;;;;N;;;;; +C5D9;HANGUL SYLLABLE ELG;Lo;0;L;;;;;N;;;;; +C5DA;HANGUL SYLLABLE ELM;Lo;0;L;;;;;N;;;;; +C5DB;HANGUL SYLLABLE ELB;Lo;0;L;;;;;N;;;;; +C5DC;HANGUL SYLLABLE ELS;Lo;0;L;;;;;N;;;;; +C5DD;HANGUL SYLLABLE ELT;Lo;0;L;;;;;N;;;;; +C5DE;HANGUL SYLLABLE ELP;Lo;0;L;;;;;N;;;;; +C5DF;HANGUL SYLLABLE ELH;Lo;0;L;;;;;N;;;;; +C5E0;HANGUL SYLLABLE EM;Lo;0;L;;;;;N;;;;; +C5E1;HANGUL SYLLABLE EB;Lo;0;L;;;;;N;;;;; +C5E2;HANGUL SYLLABLE EBS;Lo;0;L;;;;;N;;;;; +C5E3;HANGUL SYLLABLE ES;Lo;0;L;;;;;N;;;;; +C5E4;HANGUL SYLLABLE ESS;Lo;0;L;;;;;N;;;;; +C5E5;HANGUL SYLLABLE ENG;Lo;0;L;;;;;N;;;;; +C5E6;HANGUL SYLLABLE EJ;Lo;0;L;;;;;N;;;;; +C5E7;HANGUL SYLLABLE EC;Lo;0;L;;;;;N;;;;; +C5E8;HANGUL SYLLABLE EK;Lo;0;L;;;;;N;;;;; +C5E9;HANGUL SYLLABLE ET;Lo;0;L;;;;;N;;;;; +C5EA;HANGUL SYLLABLE EP;Lo;0;L;;;;;N;;;;; +C5EB;HANGUL SYLLABLE EH;Lo;0;L;;;;;N;;;;; +C5EC;HANGUL SYLLABLE YEO;Lo;0;L;;;;;N;;;;; +C5ED;HANGUL SYLLABLE YEOG;Lo;0;L;;;;;N;;;;; +C5EE;HANGUL SYLLABLE YEOGG;Lo;0;L;;;;;N;;;;; +C5EF;HANGUL SYLLABLE YEOGS;Lo;0;L;;;;;N;;;;; +C5F0;HANGUL SYLLABLE YEON;Lo;0;L;;;;;N;;;;; +C5F1;HANGUL SYLLABLE YEONI;Lo;0;L;;;;;N;;;;; +C5F2;HANGUL SYLLABLE YEONH;Lo;0;L;;;;;N;;;;; +C5F3;HANGUL SYLLABLE YEOD;Lo;0;L;;;;;N;;;;; +C5F4;HANGUL SYLLABLE YEOL;Lo;0;L;;;;;N;;;;; +C5F5;HANGUL SYLLABLE YEOLG;Lo;0;L;;;;;N;;;;; +C5F6;HANGUL SYLLABLE YEOLM;Lo;0;L;;;;;N;;;;; +C5F7;HANGUL SYLLABLE YEOLB;Lo;0;L;;;;;N;;;;; +C5F8;HANGUL SYLLABLE YEOLS;Lo;0;L;;;;;N;;;;; +C5F9;HANGUL SYLLABLE YEOLT;Lo;0;L;;;;;N;;;;; +C5FA;HANGUL SYLLABLE YEOLP;Lo;0;L;;;;;N;;;;; +C5FB;HANGUL SYLLABLE YEOLH;Lo;0;L;;;;;N;;;;; +C5FC;HANGUL SYLLABLE YEOM;Lo;0;L;;;;;N;;;;; +C5FD;HANGUL SYLLABLE YEOB;Lo;0;L;;;;;N;;;;; +C5FE;HANGUL SYLLABLE YEOBS;Lo;0;L;;;;;N;;;;; +C5FF;HANGUL SYLLABLE YEOS;Lo;0;L;;;;;N;;;;; +C600;HANGUL SYLLABLE YEOSS;Lo;0;L;;;;;N;;;;; +C601;HANGUL SYLLABLE YEONG;Lo;0;L;;;;;N;;;;; +C602;HANGUL SYLLABLE YEOJ;Lo;0;L;;;;;N;;;;; +C603;HANGUL SYLLABLE YEOC;Lo;0;L;;;;;N;;;;; +C604;HANGUL SYLLABLE YEOK;Lo;0;L;;;;;N;;;;; +C605;HANGUL SYLLABLE YEOT;Lo;0;L;;;;;N;;;;; +C606;HANGUL SYLLABLE YEOP;Lo;0;L;;;;;N;;;;; +C607;HANGUL SYLLABLE YEOH;Lo;0;L;;;;;N;;;;; +C608;HANGUL SYLLABLE YE;Lo;0;L;;;;;N;;;;; +C609;HANGUL SYLLABLE YEG;Lo;0;L;;;;;N;;;;; +C60A;HANGUL SYLLABLE YEGG;Lo;0;L;;;;;N;;;;; +C60B;HANGUL SYLLABLE YEGS;Lo;0;L;;;;;N;;;;; +C60C;HANGUL SYLLABLE YEN;Lo;0;L;;;;;N;;;;; +C60D;HANGUL SYLLABLE YENI;Lo;0;L;;;;;N;;;;; +C60E;HANGUL SYLLABLE YENH;Lo;0;L;;;;;N;;;;; +C60F;HANGUL SYLLABLE YED;Lo;0;L;;;;;N;;;;; +C610;HANGUL SYLLABLE YEL;Lo;0;L;;;;;N;;;;; +C611;HANGUL SYLLABLE YELG;Lo;0;L;;;;;N;;;;; +C612;HANGUL SYLLABLE YELM;Lo;0;L;;;;;N;;;;; +C613;HANGUL SYLLABLE YELB;Lo;0;L;;;;;N;;;;; +C614;HANGUL SYLLABLE YELS;Lo;0;L;;;;;N;;;;; +C615;HANGUL SYLLABLE YELT;Lo;0;L;;;;;N;;;;; +C616;HANGUL SYLLABLE YELP;Lo;0;L;;;;;N;;;;; +C617;HANGUL SYLLABLE YELH;Lo;0;L;;;;;N;;;;; +C618;HANGUL SYLLABLE YEM;Lo;0;L;;;;;N;;;;; +C619;HANGUL SYLLABLE YEB;Lo;0;L;;;;;N;;;;; +C61A;HANGUL SYLLABLE YEBS;Lo;0;L;;;;;N;;;;; +C61B;HANGUL SYLLABLE YES;Lo;0;L;;;;;N;;;;; +C61C;HANGUL SYLLABLE YESS;Lo;0;L;;;;;N;;;;; +C61D;HANGUL SYLLABLE YENG;Lo;0;L;;;;;N;;;;; +C61E;HANGUL SYLLABLE YEJ;Lo;0;L;;;;;N;;;;; +C61F;HANGUL SYLLABLE YEC;Lo;0;L;;;;;N;;;;; +C620;HANGUL SYLLABLE YEK;Lo;0;L;;;;;N;;;;; +C621;HANGUL SYLLABLE YET;Lo;0;L;;;;;N;;;;; +C622;HANGUL SYLLABLE YEP;Lo;0;L;;;;;N;;;;; +C623;HANGUL SYLLABLE YEH;Lo;0;L;;;;;N;;;;; +C624;HANGUL SYLLABLE O;Lo;0;L;;;;;N;;;;; +C625;HANGUL SYLLABLE OG;Lo;0;L;;;;;N;;;;; +C626;HANGUL SYLLABLE OGG;Lo;0;L;;;;;N;;;;; +C627;HANGUL SYLLABLE OGS;Lo;0;L;;;;;N;;;;; +C628;HANGUL SYLLABLE ON;Lo;0;L;;;;;N;;;;; +C629;HANGUL SYLLABLE ONI;Lo;0;L;;;;;N;;;;; +C62A;HANGUL SYLLABLE ONH;Lo;0;L;;;;;N;;;;; +C62B;HANGUL SYLLABLE OD;Lo;0;L;;;;;N;;;;; +C62C;HANGUL SYLLABLE OL;Lo;0;L;;;;;N;;;;; +C62D;HANGUL SYLLABLE OLG;Lo;0;L;;;;;N;;;;; +C62E;HANGUL SYLLABLE OLM;Lo;0;L;;;;;N;;;;; +C62F;HANGUL SYLLABLE OLB;Lo;0;L;;;;;N;;;;; +C630;HANGUL SYLLABLE OLS;Lo;0;L;;;;;N;;;;; +C631;HANGUL SYLLABLE OLT;Lo;0;L;;;;;N;;;;; +C632;HANGUL SYLLABLE OLP;Lo;0;L;;;;;N;;;;; +C633;HANGUL SYLLABLE OLH;Lo;0;L;;;;;N;;;;; +C634;HANGUL SYLLABLE OM;Lo;0;L;;;;;N;;;;; +C635;HANGUL SYLLABLE OB;Lo;0;L;;;;;N;;;;; +C636;HANGUL SYLLABLE OBS;Lo;0;L;;;;;N;;;;; +C637;HANGUL SYLLABLE OS;Lo;0;L;;;;;N;;;;; +C638;HANGUL SYLLABLE OSS;Lo;0;L;;;;;N;;;;; +C639;HANGUL SYLLABLE ONG;Lo;0;L;;;;;N;;;;; +C63A;HANGUL SYLLABLE OJ;Lo;0;L;;;;;N;;;;; +C63B;HANGUL SYLLABLE OC;Lo;0;L;;;;;N;;;;; +C63C;HANGUL SYLLABLE OK;Lo;0;L;;;;;N;;;;; +C63D;HANGUL SYLLABLE OT;Lo;0;L;;;;;N;;;;; +C63E;HANGUL SYLLABLE OP;Lo;0;L;;;;;N;;;;; +C63F;HANGUL SYLLABLE OH;Lo;0;L;;;;;N;;;;; +C640;HANGUL SYLLABLE WA;Lo;0;L;;;;;N;;;;; +C641;HANGUL SYLLABLE WAG;Lo;0;L;;;;;N;;;;; +C642;HANGUL SYLLABLE WAGG;Lo;0;L;;;;;N;;;;; +C643;HANGUL SYLLABLE WAGS;Lo;0;L;;;;;N;;;;; +C644;HANGUL SYLLABLE WAN;Lo;0;L;;;;;N;;;;; +C645;HANGUL SYLLABLE WANI;Lo;0;L;;;;;N;;;;; +C646;HANGUL SYLLABLE WANH;Lo;0;L;;;;;N;;;;; +C647;HANGUL SYLLABLE WAD;Lo;0;L;;;;;N;;;;; +C648;HANGUL SYLLABLE WAL;Lo;0;L;;;;;N;;;;; +C649;HANGUL SYLLABLE WALG;Lo;0;L;;;;;N;;;;; +C64A;HANGUL SYLLABLE WALM;Lo;0;L;;;;;N;;;;; +C64B;HANGUL SYLLABLE WALB;Lo;0;L;;;;;N;;;;; +C64C;HANGUL SYLLABLE WALS;Lo;0;L;;;;;N;;;;; +C64D;HANGUL SYLLABLE WALT;Lo;0;L;;;;;N;;;;; +C64E;HANGUL SYLLABLE WALP;Lo;0;L;;;;;N;;;;; +C64F;HANGUL SYLLABLE WALH;Lo;0;L;;;;;N;;;;; +C650;HANGUL SYLLABLE WAM;Lo;0;L;;;;;N;;;;; +C651;HANGUL SYLLABLE WAB;Lo;0;L;;;;;N;;;;; +C652;HANGUL SYLLABLE WABS;Lo;0;L;;;;;N;;;;; +C653;HANGUL SYLLABLE WAS;Lo;0;L;;;;;N;;;;; +C654;HANGUL SYLLABLE WASS;Lo;0;L;;;;;N;;;;; +C655;HANGUL SYLLABLE WANG;Lo;0;L;;;;;N;;;;; +C656;HANGUL SYLLABLE WAJ;Lo;0;L;;;;;N;;;;; +C657;HANGUL SYLLABLE WAC;Lo;0;L;;;;;N;;;;; +C658;HANGUL SYLLABLE WAK;Lo;0;L;;;;;N;;;;; +C659;HANGUL SYLLABLE WAT;Lo;0;L;;;;;N;;;;; +C65A;HANGUL SYLLABLE WAP;Lo;0;L;;;;;N;;;;; +C65B;HANGUL SYLLABLE WAH;Lo;0;L;;;;;N;;;;; +C65C;HANGUL SYLLABLE WAE;Lo;0;L;;;;;N;;;;; +C65D;HANGUL SYLLABLE WAEG;Lo;0;L;;;;;N;;;;; +C65E;HANGUL SYLLABLE WAEGG;Lo;0;L;;;;;N;;;;; +C65F;HANGUL SYLLABLE WAEGS;Lo;0;L;;;;;N;;;;; +C660;HANGUL SYLLABLE WAEN;Lo;0;L;;;;;N;;;;; +C661;HANGUL SYLLABLE WAENI;Lo;0;L;;;;;N;;;;; +C662;HANGUL SYLLABLE WAENH;Lo;0;L;;;;;N;;;;; +C663;HANGUL SYLLABLE WAED;Lo;0;L;;;;;N;;;;; +C664;HANGUL SYLLABLE WAEL;Lo;0;L;;;;;N;;;;; +C665;HANGUL SYLLABLE WAELG;Lo;0;L;;;;;N;;;;; +C666;HANGUL SYLLABLE WAELM;Lo;0;L;;;;;N;;;;; +C667;HANGUL SYLLABLE WAELB;Lo;0;L;;;;;N;;;;; +C668;HANGUL SYLLABLE WAELS;Lo;0;L;;;;;N;;;;; +C669;HANGUL SYLLABLE WAELT;Lo;0;L;;;;;N;;;;; +C66A;HANGUL SYLLABLE WAELP;Lo;0;L;;;;;N;;;;; +C66B;HANGUL SYLLABLE WAELH;Lo;0;L;;;;;N;;;;; +C66C;HANGUL SYLLABLE WAEM;Lo;0;L;;;;;N;;;;; +C66D;HANGUL SYLLABLE WAEB;Lo;0;L;;;;;N;;;;; +C66E;HANGUL SYLLABLE WAEBS;Lo;0;L;;;;;N;;;;; +C66F;HANGUL SYLLABLE WAES;Lo;0;L;;;;;N;;;;; +C670;HANGUL SYLLABLE WAESS;Lo;0;L;;;;;N;;;;; +C671;HANGUL SYLLABLE WAENG;Lo;0;L;;;;;N;;;;; +C672;HANGUL SYLLABLE WAEJ;Lo;0;L;;;;;N;;;;; +C673;HANGUL SYLLABLE WAEC;Lo;0;L;;;;;N;;;;; +C674;HANGUL SYLLABLE WAEK;Lo;0;L;;;;;N;;;;; +C675;HANGUL SYLLABLE WAET;Lo;0;L;;;;;N;;;;; +C676;HANGUL SYLLABLE WAEP;Lo;0;L;;;;;N;;;;; +C677;HANGUL SYLLABLE WAEH;Lo;0;L;;;;;N;;;;; +C678;HANGUL SYLLABLE OE;Lo;0;L;;;;;N;;;;; +C679;HANGUL SYLLABLE OEG;Lo;0;L;;;;;N;;;;; +C67A;HANGUL SYLLABLE OEGG;Lo;0;L;;;;;N;;;;; +C67B;HANGUL SYLLABLE OEGS;Lo;0;L;;;;;N;;;;; +C67C;HANGUL SYLLABLE OEN;Lo;0;L;;;;;N;;;;; +C67D;HANGUL SYLLABLE OENI;Lo;0;L;;;;;N;;;;; +C67E;HANGUL SYLLABLE OENH;Lo;0;L;;;;;N;;;;; +C67F;HANGUL SYLLABLE OED;Lo;0;L;;;;;N;;;;; +C680;HANGUL SYLLABLE OEL;Lo;0;L;;;;;N;;;;; +C681;HANGUL SYLLABLE OELG;Lo;0;L;;;;;N;;;;; +C682;HANGUL SYLLABLE OELM;Lo;0;L;;;;;N;;;;; +C683;HANGUL SYLLABLE OELB;Lo;0;L;;;;;N;;;;; +C684;HANGUL SYLLABLE OELS;Lo;0;L;;;;;N;;;;; +C685;HANGUL SYLLABLE OELT;Lo;0;L;;;;;N;;;;; +C686;HANGUL SYLLABLE OELP;Lo;0;L;;;;;N;;;;; +C687;HANGUL SYLLABLE OELH;Lo;0;L;;;;;N;;;;; +C688;HANGUL SYLLABLE OEM;Lo;0;L;;;;;N;;;;; +C689;HANGUL SYLLABLE OEB;Lo;0;L;;;;;N;;;;; +C68A;HANGUL SYLLABLE OEBS;Lo;0;L;;;;;N;;;;; +C68B;HANGUL SYLLABLE OES;Lo;0;L;;;;;N;;;;; +C68C;HANGUL SYLLABLE OESS;Lo;0;L;;;;;N;;;;; +C68D;HANGUL SYLLABLE OENG;Lo;0;L;;;;;N;;;;; +C68E;HANGUL SYLLABLE OEJ;Lo;0;L;;;;;N;;;;; +C68F;HANGUL SYLLABLE OEC;Lo;0;L;;;;;N;;;;; +C690;HANGUL SYLLABLE OEK;Lo;0;L;;;;;N;;;;; +C691;HANGUL SYLLABLE OET;Lo;0;L;;;;;N;;;;; +C692;HANGUL SYLLABLE OEP;Lo;0;L;;;;;N;;;;; +C693;HANGUL SYLLABLE OEH;Lo;0;L;;;;;N;;;;; +C694;HANGUL SYLLABLE YO;Lo;0;L;;;;;N;;;;; +C695;HANGUL SYLLABLE YOG;Lo;0;L;;;;;N;;;;; +C696;HANGUL SYLLABLE YOGG;Lo;0;L;;;;;N;;;;; +C697;HANGUL SYLLABLE YOGS;Lo;0;L;;;;;N;;;;; +C698;HANGUL SYLLABLE YON;Lo;0;L;;;;;N;;;;; +C699;HANGUL SYLLABLE YONI;Lo;0;L;;;;;N;;;;; +C69A;HANGUL SYLLABLE YONH;Lo;0;L;;;;;N;;;;; +C69B;HANGUL SYLLABLE YOD;Lo;0;L;;;;;N;;;;; +C69C;HANGUL SYLLABLE YOL;Lo;0;L;;;;;N;;;;; +C69D;HANGUL SYLLABLE YOLG;Lo;0;L;;;;;N;;;;; +C69E;HANGUL SYLLABLE YOLM;Lo;0;L;;;;;N;;;;; +C69F;HANGUL SYLLABLE YOLB;Lo;0;L;;;;;N;;;;; +C6A0;HANGUL SYLLABLE YOLS;Lo;0;L;;;;;N;;;;; +C6A1;HANGUL SYLLABLE YOLT;Lo;0;L;;;;;N;;;;; +C6A2;HANGUL SYLLABLE YOLP;Lo;0;L;;;;;N;;;;; +C6A3;HANGUL SYLLABLE YOLH;Lo;0;L;;;;;N;;;;; +C6A4;HANGUL SYLLABLE YOM;Lo;0;L;;;;;N;;;;; +C6A5;HANGUL SYLLABLE YOB;Lo;0;L;;;;;N;;;;; +C6A6;HANGUL SYLLABLE YOBS;Lo;0;L;;;;;N;;;;; +C6A7;HANGUL SYLLABLE YOS;Lo;0;L;;;;;N;;;;; +C6A8;HANGUL SYLLABLE YOSS;Lo;0;L;;;;;N;;;;; +C6A9;HANGUL SYLLABLE YONG;Lo;0;L;;;;;N;;;;; +C6AA;HANGUL SYLLABLE YOJ;Lo;0;L;;;;;N;;;;; +C6AB;HANGUL SYLLABLE YOC;Lo;0;L;;;;;N;;;;; +C6AC;HANGUL SYLLABLE YOK;Lo;0;L;;;;;N;;;;; +C6AD;HANGUL SYLLABLE YOT;Lo;0;L;;;;;N;;;;; +C6AE;HANGUL SYLLABLE YOP;Lo;0;L;;;;;N;;;;; +C6AF;HANGUL SYLLABLE YOH;Lo;0;L;;;;;N;;;;; +C6B0;HANGUL SYLLABLE U;Lo;0;L;;;;;N;;;;; +C6B1;HANGUL SYLLABLE UG;Lo;0;L;;;;;N;;;;; +C6B2;HANGUL SYLLABLE UGG;Lo;0;L;;;;;N;;;;; +C6B3;HANGUL SYLLABLE UGS;Lo;0;L;;;;;N;;;;; +C6B4;HANGUL SYLLABLE UN;Lo;0;L;;;;;N;;;;; +C6B5;HANGUL SYLLABLE UNI;Lo;0;L;;;;;N;;;;; +C6B6;HANGUL SYLLABLE UNH;Lo;0;L;;;;;N;;;;; +C6B7;HANGUL SYLLABLE UD;Lo;0;L;;;;;N;;;;; +C6B8;HANGUL SYLLABLE UL;Lo;0;L;;;;;N;;;;; +C6B9;HANGUL SYLLABLE ULG;Lo;0;L;;;;;N;;;;; +C6BA;HANGUL SYLLABLE ULM;Lo;0;L;;;;;N;;;;; +C6BB;HANGUL SYLLABLE ULB;Lo;0;L;;;;;N;;;;; +C6BC;HANGUL SYLLABLE ULS;Lo;0;L;;;;;N;;;;; +C6BD;HANGUL SYLLABLE ULT;Lo;0;L;;;;;N;;;;; +C6BE;HANGUL SYLLABLE ULP;Lo;0;L;;;;;N;;;;; +C6BF;HANGUL SYLLABLE ULH;Lo;0;L;;;;;N;;;;; +C6C0;HANGUL SYLLABLE UM;Lo;0;L;;;;;N;;;;; +C6C1;HANGUL SYLLABLE UB;Lo;0;L;;;;;N;;;;; +C6C2;HANGUL SYLLABLE UBS;Lo;0;L;;;;;N;;;;; +C6C3;HANGUL SYLLABLE US;Lo;0;L;;;;;N;;;;; +C6C4;HANGUL SYLLABLE USS;Lo;0;L;;;;;N;;;;; +C6C5;HANGUL SYLLABLE UNG;Lo;0;L;;;;;N;;;;; +C6C6;HANGUL SYLLABLE UJ;Lo;0;L;;;;;N;;;;; +C6C7;HANGUL SYLLABLE UC;Lo;0;L;;;;;N;;;;; +C6C8;HANGUL SYLLABLE UK;Lo;0;L;;;;;N;;;;; +C6C9;HANGUL SYLLABLE UT;Lo;0;L;;;;;N;;;;; +C6CA;HANGUL SYLLABLE UP;Lo;0;L;;;;;N;;;;; +C6CB;HANGUL SYLLABLE UH;Lo;0;L;;;;;N;;;;; +C6CC;HANGUL SYLLABLE WEO;Lo;0;L;;;;;N;;;;; +C6CD;HANGUL SYLLABLE WEOG;Lo;0;L;;;;;N;;;;; +C6CE;HANGUL SYLLABLE WEOGG;Lo;0;L;;;;;N;;;;; +C6CF;HANGUL SYLLABLE WEOGS;Lo;0;L;;;;;N;;;;; +C6D0;HANGUL SYLLABLE WEON;Lo;0;L;;;;;N;;;;; +C6D1;HANGUL SYLLABLE WEONI;Lo;0;L;;;;;N;;;;; +C6D2;HANGUL SYLLABLE WEONH;Lo;0;L;;;;;N;;;;; +C6D3;HANGUL SYLLABLE WEOD;Lo;0;L;;;;;N;;;;; +C6D4;HANGUL SYLLABLE WEOL;Lo;0;L;;;;;N;;;;; +C6D5;HANGUL SYLLABLE WEOLG;Lo;0;L;;;;;N;;;;; +C6D6;HANGUL SYLLABLE WEOLM;Lo;0;L;;;;;N;;;;; +C6D7;HANGUL SYLLABLE WEOLB;Lo;0;L;;;;;N;;;;; +C6D8;HANGUL SYLLABLE WEOLS;Lo;0;L;;;;;N;;;;; +C6D9;HANGUL SYLLABLE WEOLT;Lo;0;L;;;;;N;;;;; +C6DA;HANGUL SYLLABLE WEOLP;Lo;0;L;;;;;N;;;;; +C6DB;HANGUL SYLLABLE WEOLH;Lo;0;L;;;;;N;;;;; +C6DC;HANGUL SYLLABLE WEOM;Lo;0;L;;;;;N;;;;; +C6DD;HANGUL SYLLABLE WEOB;Lo;0;L;;;;;N;;;;; +C6DE;HANGUL SYLLABLE WEOBS;Lo;0;L;;;;;N;;;;; +C6DF;HANGUL SYLLABLE WEOS;Lo;0;L;;;;;N;;;;; +C6E0;HANGUL SYLLABLE WEOSS;Lo;0;L;;;;;N;;;;; +C6E1;HANGUL SYLLABLE WEONG;Lo;0;L;;;;;N;;;;; +C6E2;HANGUL SYLLABLE WEOJ;Lo;0;L;;;;;N;;;;; +C6E3;HANGUL SYLLABLE WEOC;Lo;0;L;;;;;N;;;;; +C6E4;HANGUL SYLLABLE WEOK;Lo;0;L;;;;;N;;;;; +C6E5;HANGUL SYLLABLE WEOT;Lo;0;L;;;;;N;;;;; +C6E6;HANGUL SYLLABLE WEOP;Lo;0;L;;;;;N;;;;; +C6E7;HANGUL SYLLABLE WEOH;Lo;0;L;;;;;N;;;;; +C6E8;HANGUL SYLLABLE WE;Lo;0;L;;;;;N;;;;; +C6E9;HANGUL SYLLABLE WEG;Lo;0;L;;;;;N;;;;; +C6EA;HANGUL SYLLABLE WEGG;Lo;0;L;;;;;N;;;;; +C6EB;HANGUL SYLLABLE WEGS;Lo;0;L;;;;;N;;;;; +C6EC;HANGUL SYLLABLE WEN;Lo;0;L;;;;;N;;;;; +C6ED;HANGUL SYLLABLE WENI;Lo;0;L;;;;;N;;;;; +C6EE;HANGUL SYLLABLE WENH;Lo;0;L;;;;;N;;;;; +C6EF;HANGUL SYLLABLE WED;Lo;0;L;;;;;N;;;;; +C6F0;HANGUL SYLLABLE WEL;Lo;0;L;;;;;N;;;;; +C6F1;HANGUL SYLLABLE WELG;Lo;0;L;;;;;N;;;;; +C6F2;HANGUL SYLLABLE WELM;Lo;0;L;;;;;N;;;;; +C6F3;HANGUL SYLLABLE WELB;Lo;0;L;;;;;N;;;;; +C6F4;HANGUL SYLLABLE WELS;Lo;0;L;;;;;N;;;;; +C6F5;HANGUL SYLLABLE WELT;Lo;0;L;;;;;N;;;;; +C6F6;HANGUL SYLLABLE WELP;Lo;0;L;;;;;N;;;;; +C6F7;HANGUL SYLLABLE WELH;Lo;0;L;;;;;N;;;;; +C6F8;HANGUL SYLLABLE WEM;Lo;0;L;;;;;N;;;;; +C6F9;HANGUL SYLLABLE WEB;Lo;0;L;;;;;N;;;;; +C6FA;HANGUL SYLLABLE WEBS;Lo;0;L;;;;;N;;;;; +C6FB;HANGUL SYLLABLE WES;Lo;0;L;;;;;N;;;;; +C6FC;HANGUL SYLLABLE WESS;Lo;0;L;;;;;N;;;;; +C6FD;HANGUL SYLLABLE WENG;Lo;0;L;;;;;N;;;;; +C6FE;HANGUL SYLLABLE WEJ;Lo;0;L;;;;;N;;;;; +C6FF;HANGUL SYLLABLE WEC;Lo;0;L;;;;;N;;;;; +C700;HANGUL SYLLABLE WEK;Lo;0;L;;;;;N;;;;; +C701;HANGUL SYLLABLE WET;Lo;0;L;;;;;N;;;;; +C702;HANGUL SYLLABLE WEP;Lo;0;L;;;;;N;;;;; +C703;HANGUL SYLLABLE WEH;Lo;0;L;;;;;N;;;;; +C704;HANGUL SYLLABLE WI;Lo;0;L;;;;;N;;;;; +C705;HANGUL SYLLABLE WIG;Lo;0;L;;;;;N;;;;; +C706;HANGUL SYLLABLE WIGG;Lo;0;L;;;;;N;;;;; +C707;HANGUL SYLLABLE WIGS;Lo;0;L;;;;;N;;;;; +C708;HANGUL SYLLABLE WIN;Lo;0;L;;;;;N;;;;; +C709;HANGUL SYLLABLE WINI;Lo;0;L;;;;;N;;;;; +C70A;HANGUL SYLLABLE WINH;Lo;0;L;;;;;N;;;;; +C70B;HANGUL SYLLABLE WID;Lo;0;L;;;;;N;;;;; +C70C;HANGUL SYLLABLE WIL;Lo;0;L;;;;;N;;;;; +C70D;HANGUL SYLLABLE WILG;Lo;0;L;;;;;N;;;;; +C70E;HANGUL SYLLABLE WILM;Lo;0;L;;;;;N;;;;; +C70F;HANGUL SYLLABLE WILB;Lo;0;L;;;;;N;;;;; +C710;HANGUL SYLLABLE WILS;Lo;0;L;;;;;N;;;;; +C711;HANGUL SYLLABLE WILT;Lo;0;L;;;;;N;;;;; +C712;HANGUL SYLLABLE WILP;Lo;0;L;;;;;N;;;;; +C713;HANGUL SYLLABLE WILH;Lo;0;L;;;;;N;;;;; +C714;HANGUL SYLLABLE WIM;Lo;0;L;;;;;N;;;;; +C715;HANGUL SYLLABLE WIB;Lo;0;L;;;;;N;;;;; +C716;HANGUL SYLLABLE WIBS;Lo;0;L;;;;;N;;;;; +C717;HANGUL SYLLABLE WIS;Lo;0;L;;;;;N;;;;; +C718;HANGUL SYLLABLE WISS;Lo;0;L;;;;;N;;;;; +C719;HANGUL SYLLABLE WING;Lo;0;L;;;;;N;;;;; +C71A;HANGUL SYLLABLE WIJ;Lo;0;L;;;;;N;;;;; +C71B;HANGUL SYLLABLE WIC;Lo;0;L;;;;;N;;;;; +C71C;HANGUL SYLLABLE WIK;Lo;0;L;;;;;N;;;;; +C71D;HANGUL SYLLABLE WIT;Lo;0;L;;;;;N;;;;; +C71E;HANGUL SYLLABLE WIP;Lo;0;L;;;;;N;;;;; +C71F;HANGUL SYLLABLE WIH;Lo;0;L;;;;;N;;;;; +C720;HANGUL SYLLABLE YU;Lo;0;L;;;;;N;;;;; +C721;HANGUL SYLLABLE YUG;Lo;0;L;;;;;N;;;;; +C722;HANGUL SYLLABLE YUGG;Lo;0;L;;;;;N;;;;; +C723;HANGUL SYLLABLE YUGS;Lo;0;L;;;;;N;;;;; +C724;HANGUL SYLLABLE YUN;Lo;0;L;;;;;N;;;;; +C725;HANGUL SYLLABLE YUNI;Lo;0;L;;;;;N;;;;; +C726;HANGUL SYLLABLE YUNH;Lo;0;L;;;;;N;;;;; +C727;HANGUL SYLLABLE YUD;Lo;0;L;;;;;N;;;;; +C728;HANGUL SYLLABLE YUL;Lo;0;L;;;;;N;;;;; +C729;HANGUL SYLLABLE YULG;Lo;0;L;;;;;N;;;;; +C72A;HANGUL SYLLABLE YULM;Lo;0;L;;;;;N;;;;; +C72B;HANGUL SYLLABLE YULB;Lo;0;L;;;;;N;;;;; +C72C;HANGUL SYLLABLE YULS;Lo;0;L;;;;;N;;;;; +C72D;HANGUL SYLLABLE YULT;Lo;0;L;;;;;N;;;;; +C72E;HANGUL SYLLABLE YULP;Lo;0;L;;;;;N;;;;; +C72F;HANGUL SYLLABLE YULH;Lo;0;L;;;;;N;;;;; +C730;HANGUL SYLLABLE YUM;Lo;0;L;;;;;N;;;;; +C731;HANGUL SYLLABLE YUB;Lo;0;L;;;;;N;;;;; +C732;HANGUL SYLLABLE YUBS;Lo;0;L;;;;;N;;;;; +C733;HANGUL SYLLABLE YUS;Lo;0;L;;;;;N;;;;; +C734;HANGUL SYLLABLE YUSS;Lo;0;L;;;;;N;;;;; +C735;HANGUL SYLLABLE YUNG;Lo;0;L;;;;;N;;;;; +C736;HANGUL SYLLABLE YUJ;Lo;0;L;;;;;N;;;;; +C737;HANGUL SYLLABLE YUC;Lo;0;L;;;;;N;;;;; +C738;HANGUL SYLLABLE YUK;Lo;0;L;;;;;N;;;;; +C739;HANGUL SYLLABLE YUT;Lo;0;L;;;;;N;;;;; +C73A;HANGUL SYLLABLE YUP;Lo;0;L;;;;;N;;;;; +C73B;HANGUL SYLLABLE YUH;Lo;0;L;;;;;N;;;;; +C73C;HANGUL SYLLABLE EU;Lo;0;L;;;;;N;;;;; +C73D;HANGUL SYLLABLE EUG;Lo;0;L;;;;;N;;;;; +C73E;HANGUL SYLLABLE EUGG;Lo;0;L;;;;;N;;;;; +C73F;HANGUL SYLLABLE EUGS;Lo;0;L;;;;;N;;;;; +C740;HANGUL SYLLABLE EUN;Lo;0;L;;;;;N;;;;; +C741;HANGUL SYLLABLE EUNI;Lo;0;L;;;;;N;;;;; +C742;HANGUL SYLLABLE EUNH;Lo;0;L;;;;;N;;;;; +C743;HANGUL SYLLABLE EUD;Lo;0;L;;;;;N;;;;; +C744;HANGUL SYLLABLE EUL;Lo;0;L;;;;;N;;;;; +C745;HANGUL SYLLABLE EULG;Lo;0;L;;;;;N;;;;; +C746;HANGUL SYLLABLE EULM;Lo;0;L;;;;;N;;;;; +C747;HANGUL SYLLABLE EULB;Lo;0;L;;;;;N;;;;; +C748;HANGUL SYLLABLE EULS;Lo;0;L;;;;;N;;;;; +C749;HANGUL SYLLABLE EULT;Lo;0;L;;;;;N;;;;; +C74A;HANGUL SYLLABLE EULP;Lo;0;L;;;;;N;;;;; +C74B;HANGUL SYLLABLE EULH;Lo;0;L;;;;;N;;;;; +C74C;HANGUL SYLLABLE EUM;Lo;0;L;;;;;N;;;;; +C74D;HANGUL SYLLABLE EUB;Lo;0;L;;;;;N;;;;; +C74E;HANGUL SYLLABLE EUBS;Lo;0;L;;;;;N;;;;; +C74F;HANGUL SYLLABLE EUS;Lo;0;L;;;;;N;;;;; +C750;HANGUL SYLLABLE EUSS;Lo;0;L;;;;;N;;;;; +C751;HANGUL SYLLABLE EUNG;Lo;0;L;;;;;N;;;;; +C752;HANGUL SYLLABLE EUJ;Lo;0;L;;;;;N;;;;; +C753;HANGUL SYLLABLE EUC;Lo;0;L;;;;;N;;;;; +C754;HANGUL SYLLABLE EUK;Lo;0;L;;;;;N;;;;; +C755;HANGUL SYLLABLE EUT;Lo;0;L;;;;;N;;;;; +C756;HANGUL SYLLABLE EUP;Lo;0;L;;;;;N;;;;; +C757;HANGUL SYLLABLE EUH;Lo;0;L;;;;;N;;;;; +C758;HANGUL SYLLABLE YI;Lo;0;L;;;;;N;;;;; +C759;HANGUL SYLLABLE YIG;Lo;0;L;;;;;N;;;;; +C75A;HANGUL SYLLABLE YIGG;Lo;0;L;;;;;N;;;;; +C75B;HANGUL SYLLABLE YIGS;Lo;0;L;;;;;N;;;;; +C75C;HANGUL SYLLABLE YIN;Lo;0;L;;;;;N;;;;; +C75D;HANGUL SYLLABLE YINI;Lo;0;L;;;;;N;;;;; +C75E;HANGUL SYLLABLE YINH;Lo;0;L;;;;;N;;;;; +C75F;HANGUL SYLLABLE YID;Lo;0;L;;;;;N;;;;; +C760;HANGUL SYLLABLE YIL;Lo;0;L;;;;;N;;;;; +C761;HANGUL SYLLABLE YILG;Lo;0;L;;;;;N;;;;; +C762;HANGUL SYLLABLE YILM;Lo;0;L;;;;;N;;;;; +C763;HANGUL SYLLABLE YILB;Lo;0;L;;;;;N;;;;; +C764;HANGUL SYLLABLE YILS;Lo;0;L;;;;;N;;;;; +C765;HANGUL SYLLABLE YILT;Lo;0;L;;;;;N;;;;; +C766;HANGUL SYLLABLE YILP;Lo;0;L;;;;;N;;;;; +C767;HANGUL SYLLABLE YILH;Lo;0;L;;;;;N;;;;; +C768;HANGUL SYLLABLE YIM;Lo;0;L;;;;;N;;;;; +C769;HANGUL SYLLABLE YIB;Lo;0;L;;;;;N;;;;; +C76A;HANGUL SYLLABLE YIBS;Lo;0;L;;;;;N;;;;; +C76B;HANGUL SYLLABLE YIS;Lo;0;L;;;;;N;;;;; +C76C;HANGUL SYLLABLE YISS;Lo;0;L;;;;;N;;;;; +C76D;HANGUL SYLLABLE YING;Lo;0;L;;;;;N;;;;; +C76E;HANGUL SYLLABLE YIJ;Lo;0;L;;;;;N;;;;; +C76F;HANGUL SYLLABLE YIC;Lo;0;L;;;;;N;;;;; +C770;HANGUL SYLLABLE YIK;Lo;0;L;;;;;N;;;;; +C771;HANGUL SYLLABLE YIT;Lo;0;L;;;;;N;;;;; +C772;HANGUL SYLLABLE YIP;Lo;0;L;;;;;N;;;;; +C773;HANGUL SYLLABLE YIH;Lo;0;L;;;;;N;;;;; +C774;HANGUL SYLLABLE I;Lo;0;L;;;;;N;;;;; +C775;HANGUL SYLLABLE IG;Lo;0;L;;;;;N;;;;; +C776;HANGUL SYLLABLE IGG;Lo;0;L;;;;;N;;;;; +C777;HANGUL SYLLABLE IGS;Lo;0;L;;;;;N;;;;; +C778;HANGUL SYLLABLE IN;Lo;0;L;;;;;N;;;;; +C779;HANGUL SYLLABLE INI;Lo;0;L;;;;;N;;;;; +C77A;HANGUL SYLLABLE INH;Lo;0;L;;;;;N;;;;; +C77B;HANGUL SYLLABLE ID;Lo;0;L;;;;;N;;;;; +C77C;HANGUL SYLLABLE IL;Lo;0;L;;;;;N;;;;; +C77D;HANGUL SYLLABLE ILG;Lo;0;L;;;;;N;;;;; +C77E;HANGUL SYLLABLE ILM;Lo;0;L;;;;;N;;;;; +C77F;HANGUL SYLLABLE ILB;Lo;0;L;;;;;N;;;;; +C780;HANGUL SYLLABLE ILS;Lo;0;L;;;;;N;;;;; +C781;HANGUL SYLLABLE ILT;Lo;0;L;;;;;N;;;;; +C782;HANGUL SYLLABLE ILP;Lo;0;L;;;;;N;;;;; +C783;HANGUL SYLLABLE ILH;Lo;0;L;;;;;N;;;;; +C784;HANGUL SYLLABLE IM;Lo;0;L;;;;;N;;;;; +C785;HANGUL SYLLABLE IB;Lo;0;L;;;;;N;;;;; +C786;HANGUL SYLLABLE IBS;Lo;0;L;;;;;N;;;;; +C787;HANGUL SYLLABLE IS;Lo;0;L;;;;;N;;;;; +C788;HANGUL SYLLABLE ISS;Lo;0;L;;;;;N;;;;; +C789;HANGUL SYLLABLE ING;Lo;0;L;;;;;N;;;;; +C78A;HANGUL SYLLABLE IJ;Lo;0;L;;;;;N;;;;; +C78B;HANGUL SYLLABLE IC;Lo;0;L;;;;;N;;;;; +C78C;HANGUL SYLLABLE IK;Lo;0;L;;;;;N;;;;; +C78D;HANGUL SYLLABLE IT;Lo;0;L;;;;;N;;;;; +C78E;HANGUL SYLLABLE IP;Lo;0;L;;;;;N;;;;; +C78F;HANGUL SYLLABLE IH;Lo;0;L;;;;;N;;;;; +C790;HANGUL SYLLABLE JA;Lo;0;L;;;;;N;;;;; +C791;HANGUL SYLLABLE JAG;Lo;0;L;;;;;N;;;;; +C792;HANGUL SYLLABLE JAGG;Lo;0;L;;;;;N;;;;; +C793;HANGUL SYLLABLE JAGS;Lo;0;L;;;;;N;;;;; +C794;HANGUL SYLLABLE JAN;Lo;0;L;;;;;N;;;;; +C795;HANGUL SYLLABLE JANI;Lo;0;L;;;;;N;;;;; +C796;HANGUL SYLLABLE JANH;Lo;0;L;;;;;N;;;;; +C797;HANGUL SYLLABLE JAD;Lo;0;L;;;;;N;;;;; +C798;HANGUL SYLLABLE JAL;Lo;0;L;;;;;N;;;;; +C799;HANGUL SYLLABLE JALG;Lo;0;L;;;;;N;;;;; +C79A;HANGUL SYLLABLE JALM;Lo;0;L;;;;;N;;;;; +C79B;HANGUL SYLLABLE JALB;Lo;0;L;;;;;N;;;;; +C79C;HANGUL SYLLABLE JALS;Lo;0;L;;;;;N;;;;; +C79D;HANGUL SYLLABLE JALT;Lo;0;L;;;;;N;;;;; +C79E;HANGUL SYLLABLE JALP;Lo;0;L;;;;;N;;;;; +C79F;HANGUL SYLLABLE JALH;Lo;0;L;;;;;N;;;;; +C7A0;HANGUL SYLLABLE JAM;Lo;0;L;;;;;N;;;;; +C7A1;HANGUL SYLLABLE JAB;Lo;0;L;;;;;N;;;;; +C7A2;HANGUL SYLLABLE JABS;Lo;0;L;;;;;N;;;;; +C7A3;HANGUL SYLLABLE JAS;Lo;0;L;;;;;N;;;;; +C7A4;HANGUL SYLLABLE JASS;Lo;0;L;;;;;N;;;;; +C7A5;HANGUL SYLLABLE JANG;Lo;0;L;;;;;N;;;;; +C7A6;HANGUL SYLLABLE JAJ;Lo;0;L;;;;;N;;;;; +C7A7;HANGUL SYLLABLE JAC;Lo;0;L;;;;;N;;;;; +C7A8;HANGUL SYLLABLE JAK;Lo;0;L;;;;;N;;;;; +C7A9;HANGUL SYLLABLE JAT;Lo;0;L;;;;;N;;;;; +C7AA;HANGUL SYLLABLE JAP;Lo;0;L;;;;;N;;;;; +C7AB;HANGUL SYLLABLE JAH;Lo;0;L;;;;;N;;;;; +C7AC;HANGUL SYLLABLE JAE;Lo;0;L;;;;;N;;;;; +C7AD;HANGUL SYLLABLE JAEG;Lo;0;L;;;;;N;;;;; +C7AE;HANGUL SYLLABLE JAEGG;Lo;0;L;;;;;N;;;;; +C7AF;HANGUL SYLLABLE JAEGS;Lo;0;L;;;;;N;;;;; +C7B0;HANGUL SYLLABLE JAEN;Lo;0;L;;;;;N;;;;; +C7B1;HANGUL SYLLABLE JAENI;Lo;0;L;;;;;N;;;;; +C7B2;HANGUL SYLLABLE JAENH;Lo;0;L;;;;;N;;;;; +C7B3;HANGUL SYLLABLE JAED;Lo;0;L;;;;;N;;;;; +C7B4;HANGUL SYLLABLE JAEL;Lo;0;L;;;;;N;;;;; +C7B5;HANGUL SYLLABLE JAELG;Lo;0;L;;;;;N;;;;; +C7B6;HANGUL SYLLABLE JAELM;Lo;0;L;;;;;N;;;;; +C7B7;HANGUL SYLLABLE JAELB;Lo;0;L;;;;;N;;;;; +C7B8;HANGUL SYLLABLE JAELS;Lo;0;L;;;;;N;;;;; +C7B9;HANGUL SYLLABLE JAELT;Lo;0;L;;;;;N;;;;; +C7BA;HANGUL SYLLABLE JAELP;Lo;0;L;;;;;N;;;;; +C7BB;HANGUL SYLLABLE JAELH;Lo;0;L;;;;;N;;;;; +C7BC;HANGUL SYLLABLE JAEM;Lo;0;L;;;;;N;;;;; +C7BD;HANGUL SYLLABLE JAEB;Lo;0;L;;;;;N;;;;; +C7BE;HANGUL SYLLABLE JAEBS;Lo;0;L;;;;;N;;;;; +C7BF;HANGUL SYLLABLE JAES;Lo;0;L;;;;;N;;;;; +C7C0;HANGUL SYLLABLE JAESS;Lo;0;L;;;;;N;;;;; +C7C1;HANGUL SYLLABLE JAENG;Lo;0;L;;;;;N;;;;; +C7C2;HANGUL SYLLABLE JAEJ;Lo;0;L;;;;;N;;;;; +C7C3;HANGUL SYLLABLE JAEC;Lo;0;L;;;;;N;;;;; +C7C4;HANGUL SYLLABLE JAEK;Lo;0;L;;;;;N;;;;; +C7C5;HANGUL SYLLABLE JAET;Lo;0;L;;;;;N;;;;; +C7C6;HANGUL SYLLABLE JAEP;Lo;0;L;;;;;N;;;;; +C7C7;HANGUL SYLLABLE JAEH;Lo;0;L;;;;;N;;;;; +C7C8;HANGUL SYLLABLE JYA;Lo;0;L;;;;;N;;;;; +C7C9;HANGUL SYLLABLE JYAG;Lo;0;L;;;;;N;;;;; +C7CA;HANGUL SYLLABLE JYAGG;Lo;0;L;;;;;N;;;;; +C7CB;HANGUL SYLLABLE JYAGS;Lo;0;L;;;;;N;;;;; +C7CC;HANGUL SYLLABLE JYAN;Lo;0;L;;;;;N;;;;; +C7CD;HANGUL SYLLABLE JYANI;Lo;0;L;;;;;N;;;;; +C7CE;HANGUL SYLLABLE JYANH;Lo;0;L;;;;;N;;;;; +C7CF;HANGUL SYLLABLE JYAD;Lo;0;L;;;;;N;;;;; +C7D0;HANGUL SYLLABLE JYAL;Lo;0;L;;;;;N;;;;; +C7D1;HANGUL SYLLABLE JYALG;Lo;0;L;;;;;N;;;;; +C7D2;HANGUL SYLLABLE JYALM;Lo;0;L;;;;;N;;;;; +C7D3;HANGUL SYLLABLE JYALB;Lo;0;L;;;;;N;;;;; +C7D4;HANGUL SYLLABLE JYALS;Lo;0;L;;;;;N;;;;; +C7D5;HANGUL SYLLABLE JYALT;Lo;0;L;;;;;N;;;;; +C7D6;HANGUL SYLLABLE JYALP;Lo;0;L;;;;;N;;;;; +C7D7;HANGUL SYLLABLE JYALH;Lo;0;L;;;;;N;;;;; +C7D8;HANGUL SYLLABLE JYAM;Lo;0;L;;;;;N;;;;; +C7D9;HANGUL SYLLABLE JYAB;Lo;0;L;;;;;N;;;;; +C7DA;HANGUL SYLLABLE JYABS;Lo;0;L;;;;;N;;;;; +C7DB;HANGUL SYLLABLE JYAS;Lo;0;L;;;;;N;;;;; +C7DC;HANGUL SYLLABLE JYASS;Lo;0;L;;;;;N;;;;; +C7DD;HANGUL SYLLABLE JYANG;Lo;0;L;;;;;N;;;;; +C7DE;HANGUL SYLLABLE JYAJ;Lo;0;L;;;;;N;;;;; +C7DF;HANGUL SYLLABLE JYAC;Lo;0;L;;;;;N;;;;; +C7E0;HANGUL SYLLABLE JYAK;Lo;0;L;;;;;N;;;;; +C7E1;HANGUL SYLLABLE JYAT;Lo;0;L;;;;;N;;;;; +C7E2;HANGUL SYLLABLE JYAP;Lo;0;L;;;;;N;;;;; +C7E3;HANGUL SYLLABLE JYAH;Lo;0;L;;;;;N;;;;; +C7E4;HANGUL SYLLABLE JYAE;Lo;0;L;;;;;N;;;;; +C7E5;HANGUL SYLLABLE JYAEG;Lo;0;L;;;;;N;;;;; +C7E6;HANGUL SYLLABLE JYAEGG;Lo;0;L;;;;;N;;;;; +C7E7;HANGUL SYLLABLE JYAEGS;Lo;0;L;;;;;N;;;;; +C7E8;HANGUL SYLLABLE JYAEN;Lo;0;L;;;;;N;;;;; +C7E9;HANGUL SYLLABLE JYAENI;Lo;0;L;;;;;N;;;;; +C7EA;HANGUL SYLLABLE JYAENH;Lo;0;L;;;;;N;;;;; +C7EB;HANGUL SYLLABLE JYAED;Lo;0;L;;;;;N;;;;; +C7EC;HANGUL SYLLABLE JYAEL;Lo;0;L;;;;;N;;;;; +C7ED;HANGUL SYLLABLE JYAELG;Lo;0;L;;;;;N;;;;; +C7EE;HANGUL SYLLABLE JYAELM;Lo;0;L;;;;;N;;;;; +C7EF;HANGUL SYLLABLE JYAELB;Lo;0;L;;;;;N;;;;; +C7F0;HANGUL SYLLABLE JYAELS;Lo;0;L;;;;;N;;;;; +C7F1;HANGUL SYLLABLE JYAELT;Lo;0;L;;;;;N;;;;; +C7F2;HANGUL SYLLABLE JYAELP;Lo;0;L;;;;;N;;;;; +C7F3;HANGUL SYLLABLE JYAELH;Lo;0;L;;;;;N;;;;; +C7F4;HANGUL SYLLABLE JYAEM;Lo;0;L;;;;;N;;;;; +C7F5;HANGUL SYLLABLE JYAEB;Lo;0;L;;;;;N;;;;; +C7F6;HANGUL SYLLABLE JYAEBS;Lo;0;L;;;;;N;;;;; +C7F7;HANGUL SYLLABLE JYAES;Lo;0;L;;;;;N;;;;; +C7F8;HANGUL SYLLABLE JYAESS;Lo;0;L;;;;;N;;;;; +C7F9;HANGUL SYLLABLE JYAENG;Lo;0;L;;;;;N;;;;; +C7FA;HANGUL SYLLABLE JYAEJ;Lo;0;L;;;;;N;;;;; +C7FB;HANGUL SYLLABLE JYAEC;Lo;0;L;;;;;N;;;;; +C7FC;HANGUL SYLLABLE JYAEK;Lo;0;L;;;;;N;;;;; +C7FD;HANGUL SYLLABLE JYAET;Lo;0;L;;;;;N;;;;; +C7FE;HANGUL SYLLABLE JYAEP;Lo;0;L;;;;;N;;;;; +C7FF;HANGUL SYLLABLE JYAEH;Lo;0;L;;;;;N;;;;; +C800;HANGUL SYLLABLE JEO;Lo;0;L;;;;;N;;;;; +C801;HANGUL SYLLABLE JEOG;Lo;0;L;;;;;N;;;;; +C802;HANGUL SYLLABLE JEOGG;Lo;0;L;;;;;N;;;;; +C803;HANGUL SYLLABLE JEOGS;Lo;0;L;;;;;N;;;;; +C804;HANGUL SYLLABLE JEON;Lo;0;L;;;;;N;;;;; +C805;HANGUL SYLLABLE JEONI;Lo;0;L;;;;;N;;;;; +C806;HANGUL SYLLABLE JEONH;Lo;0;L;;;;;N;;;;; +C807;HANGUL SYLLABLE JEOD;Lo;0;L;;;;;N;;;;; +C808;HANGUL SYLLABLE JEOL;Lo;0;L;;;;;N;;;;; +C809;HANGUL SYLLABLE JEOLG;Lo;0;L;;;;;N;;;;; +C80A;HANGUL SYLLABLE JEOLM;Lo;0;L;;;;;N;;;;; +C80B;HANGUL SYLLABLE JEOLB;Lo;0;L;;;;;N;;;;; +C80C;HANGUL SYLLABLE JEOLS;Lo;0;L;;;;;N;;;;; +C80D;HANGUL SYLLABLE JEOLT;Lo;0;L;;;;;N;;;;; +C80E;HANGUL SYLLABLE JEOLP;Lo;0;L;;;;;N;;;;; +C80F;HANGUL SYLLABLE JEOLH;Lo;0;L;;;;;N;;;;; +C810;HANGUL SYLLABLE JEOM;Lo;0;L;;;;;N;;;;; +C811;HANGUL SYLLABLE JEOB;Lo;0;L;;;;;N;;;;; +C812;HANGUL SYLLABLE JEOBS;Lo;0;L;;;;;N;;;;; +C813;HANGUL SYLLABLE JEOS;Lo;0;L;;;;;N;;;;; +C814;HANGUL SYLLABLE JEOSS;Lo;0;L;;;;;N;;;;; +C815;HANGUL SYLLABLE JEONG;Lo;0;L;;;;;N;;;;; +C816;HANGUL SYLLABLE JEOJ;Lo;0;L;;;;;N;;;;; +C817;HANGUL SYLLABLE JEOC;Lo;0;L;;;;;N;;;;; +C818;HANGUL SYLLABLE JEOK;Lo;0;L;;;;;N;;;;; +C819;HANGUL SYLLABLE JEOT;Lo;0;L;;;;;N;;;;; +C81A;HANGUL SYLLABLE JEOP;Lo;0;L;;;;;N;;;;; +C81B;HANGUL SYLLABLE JEOH;Lo;0;L;;;;;N;;;;; +C81C;HANGUL SYLLABLE JE;Lo;0;L;;;;;N;;;;; +C81D;HANGUL SYLLABLE JEG;Lo;0;L;;;;;N;;;;; +C81E;HANGUL SYLLABLE JEGG;Lo;0;L;;;;;N;;;;; +C81F;HANGUL SYLLABLE JEGS;Lo;0;L;;;;;N;;;;; +C820;HANGUL SYLLABLE JEN;Lo;0;L;;;;;N;;;;; +C821;HANGUL SYLLABLE JENI;Lo;0;L;;;;;N;;;;; +C822;HANGUL SYLLABLE JENH;Lo;0;L;;;;;N;;;;; +C823;HANGUL SYLLABLE JED;Lo;0;L;;;;;N;;;;; +C824;HANGUL SYLLABLE JEL;Lo;0;L;;;;;N;;;;; +C825;HANGUL SYLLABLE JELG;Lo;0;L;;;;;N;;;;; +C826;HANGUL SYLLABLE JELM;Lo;0;L;;;;;N;;;;; +C827;HANGUL SYLLABLE JELB;Lo;0;L;;;;;N;;;;; +C828;HANGUL SYLLABLE JELS;Lo;0;L;;;;;N;;;;; +C829;HANGUL SYLLABLE JELT;Lo;0;L;;;;;N;;;;; +C82A;HANGUL SYLLABLE JELP;Lo;0;L;;;;;N;;;;; +C82B;HANGUL SYLLABLE JELH;Lo;0;L;;;;;N;;;;; +C82C;HANGUL SYLLABLE JEM;Lo;0;L;;;;;N;;;;; +C82D;HANGUL SYLLABLE JEB;Lo;0;L;;;;;N;;;;; +C82E;HANGUL SYLLABLE JEBS;Lo;0;L;;;;;N;;;;; +C82F;HANGUL SYLLABLE JES;Lo;0;L;;;;;N;;;;; +C830;HANGUL SYLLABLE JESS;Lo;0;L;;;;;N;;;;; +C831;HANGUL SYLLABLE JENG;Lo;0;L;;;;;N;;;;; +C832;HANGUL SYLLABLE JEJ;Lo;0;L;;;;;N;;;;; +C833;HANGUL SYLLABLE JEC;Lo;0;L;;;;;N;;;;; +C834;HANGUL SYLLABLE JEK;Lo;0;L;;;;;N;;;;; +C835;HANGUL SYLLABLE JET;Lo;0;L;;;;;N;;;;; +C836;HANGUL SYLLABLE JEP;Lo;0;L;;;;;N;;;;; +C837;HANGUL SYLLABLE JEH;Lo;0;L;;;;;N;;;;; +C838;HANGUL SYLLABLE JYEO;Lo;0;L;;;;;N;;;;; +C839;HANGUL SYLLABLE JYEOG;Lo;0;L;;;;;N;;;;; +C83A;HANGUL SYLLABLE JYEOGG;Lo;0;L;;;;;N;;;;; +C83B;HANGUL SYLLABLE JYEOGS;Lo;0;L;;;;;N;;;;; +C83C;HANGUL SYLLABLE JYEON;Lo;0;L;;;;;N;;;;; +C83D;HANGUL SYLLABLE JYEONI;Lo;0;L;;;;;N;;;;; +C83E;HANGUL SYLLABLE JYEONH;Lo;0;L;;;;;N;;;;; +C83F;HANGUL SYLLABLE JYEOD;Lo;0;L;;;;;N;;;;; +C840;HANGUL SYLLABLE JYEOL;Lo;0;L;;;;;N;;;;; +C841;HANGUL SYLLABLE JYEOLG;Lo;0;L;;;;;N;;;;; +C842;HANGUL SYLLABLE JYEOLM;Lo;0;L;;;;;N;;;;; +C843;HANGUL SYLLABLE JYEOLB;Lo;0;L;;;;;N;;;;; +C844;HANGUL SYLLABLE JYEOLS;Lo;0;L;;;;;N;;;;; +C845;HANGUL SYLLABLE JYEOLT;Lo;0;L;;;;;N;;;;; +C846;HANGUL SYLLABLE JYEOLP;Lo;0;L;;;;;N;;;;; +C847;HANGUL SYLLABLE JYEOLH;Lo;0;L;;;;;N;;;;; +C848;HANGUL SYLLABLE JYEOM;Lo;0;L;;;;;N;;;;; +C849;HANGUL SYLLABLE JYEOB;Lo;0;L;;;;;N;;;;; +C84A;HANGUL SYLLABLE JYEOBS;Lo;0;L;;;;;N;;;;; +C84B;HANGUL SYLLABLE JYEOS;Lo;0;L;;;;;N;;;;; +C84C;HANGUL SYLLABLE JYEOSS;Lo;0;L;;;;;N;;;;; +C84D;HANGUL SYLLABLE JYEONG;Lo;0;L;;;;;N;;;;; +C84E;HANGUL SYLLABLE JYEOJ;Lo;0;L;;;;;N;;;;; +C84F;HANGUL SYLLABLE JYEOC;Lo;0;L;;;;;N;;;;; +C850;HANGUL SYLLABLE JYEOK;Lo;0;L;;;;;N;;;;; +C851;HANGUL SYLLABLE JYEOT;Lo;0;L;;;;;N;;;;; +C852;HANGUL SYLLABLE JYEOP;Lo;0;L;;;;;N;;;;; +C853;HANGUL SYLLABLE JYEOH;Lo;0;L;;;;;N;;;;; +C854;HANGUL SYLLABLE JYE;Lo;0;L;;;;;N;;;;; +C855;HANGUL SYLLABLE JYEG;Lo;0;L;;;;;N;;;;; +C856;HANGUL SYLLABLE JYEGG;Lo;0;L;;;;;N;;;;; +C857;HANGUL SYLLABLE JYEGS;Lo;0;L;;;;;N;;;;; +C858;HANGUL SYLLABLE JYEN;Lo;0;L;;;;;N;;;;; +C859;HANGUL SYLLABLE JYENI;Lo;0;L;;;;;N;;;;; +C85A;HANGUL SYLLABLE JYENH;Lo;0;L;;;;;N;;;;; +C85B;HANGUL SYLLABLE JYED;Lo;0;L;;;;;N;;;;; +C85C;HANGUL SYLLABLE JYEL;Lo;0;L;;;;;N;;;;; +C85D;HANGUL SYLLABLE JYELG;Lo;0;L;;;;;N;;;;; +C85E;HANGUL SYLLABLE JYELM;Lo;0;L;;;;;N;;;;; +C85F;HANGUL SYLLABLE JYELB;Lo;0;L;;;;;N;;;;; +C860;HANGUL SYLLABLE JYELS;Lo;0;L;;;;;N;;;;; +C861;HANGUL SYLLABLE JYELT;Lo;0;L;;;;;N;;;;; +C862;HANGUL SYLLABLE JYELP;Lo;0;L;;;;;N;;;;; +C863;HANGUL SYLLABLE JYELH;Lo;0;L;;;;;N;;;;; +C864;HANGUL SYLLABLE JYEM;Lo;0;L;;;;;N;;;;; +C865;HANGUL SYLLABLE JYEB;Lo;0;L;;;;;N;;;;; +C866;HANGUL SYLLABLE JYEBS;Lo;0;L;;;;;N;;;;; +C867;HANGUL SYLLABLE JYES;Lo;0;L;;;;;N;;;;; +C868;HANGUL SYLLABLE JYESS;Lo;0;L;;;;;N;;;;; +C869;HANGUL SYLLABLE JYENG;Lo;0;L;;;;;N;;;;; +C86A;HANGUL SYLLABLE JYEJ;Lo;0;L;;;;;N;;;;; +C86B;HANGUL SYLLABLE JYEC;Lo;0;L;;;;;N;;;;; +C86C;HANGUL SYLLABLE JYEK;Lo;0;L;;;;;N;;;;; +C86D;HANGUL SYLLABLE JYET;Lo;0;L;;;;;N;;;;; +C86E;HANGUL SYLLABLE JYEP;Lo;0;L;;;;;N;;;;; +C86F;HANGUL SYLLABLE JYEH;Lo;0;L;;;;;N;;;;; +C870;HANGUL SYLLABLE JO;Lo;0;L;;;;;N;;;;; +C871;HANGUL SYLLABLE JOG;Lo;0;L;;;;;N;;;;; +C872;HANGUL SYLLABLE JOGG;Lo;0;L;;;;;N;;;;; +C873;HANGUL SYLLABLE JOGS;Lo;0;L;;;;;N;;;;; +C874;HANGUL SYLLABLE JON;Lo;0;L;;;;;N;;;;; +C875;HANGUL SYLLABLE JONI;Lo;0;L;;;;;N;;;;; +C876;HANGUL SYLLABLE JONH;Lo;0;L;;;;;N;;;;; +C877;HANGUL SYLLABLE JOD;Lo;0;L;;;;;N;;;;; +C878;HANGUL SYLLABLE JOL;Lo;0;L;;;;;N;;;;; +C879;HANGUL SYLLABLE JOLG;Lo;0;L;;;;;N;;;;; +C87A;HANGUL SYLLABLE JOLM;Lo;0;L;;;;;N;;;;; +C87B;HANGUL SYLLABLE JOLB;Lo;0;L;;;;;N;;;;; +C87C;HANGUL SYLLABLE JOLS;Lo;0;L;;;;;N;;;;; +C87D;HANGUL SYLLABLE JOLT;Lo;0;L;;;;;N;;;;; +C87E;HANGUL SYLLABLE JOLP;Lo;0;L;;;;;N;;;;; +C87F;HANGUL SYLLABLE JOLH;Lo;0;L;;;;;N;;;;; +C880;HANGUL SYLLABLE JOM;Lo;0;L;;;;;N;;;;; +C881;HANGUL SYLLABLE JOB;Lo;0;L;;;;;N;;;;; +C882;HANGUL SYLLABLE JOBS;Lo;0;L;;;;;N;;;;; +C883;HANGUL SYLLABLE JOS;Lo;0;L;;;;;N;;;;; +C884;HANGUL SYLLABLE JOSS;Lo;0;L;;;;;N;;;;; +C885;HANGUL SYLLABLE JONG;Lo;0;L;;;;;N;;;;; +C886;HANGUL SYLLABLE JOJ;Lo;0;L;;;;;N;;;;; +C887;HANGUL SYLLABLE JOC;Lo;0;L;;;;;N;;;;; +C888;HANGUL SYLLABLE JOK;Lo;0;L;;;;;N;;;;; +C889;HANGUL SYLLABLE JOT;Lo;0;L;;;;;N;;;;; +C88A;HANGUL SYLLABLE JOP;Lo;0;L;;;;;N;;;;; +C88B;HANGUL SYLLABLE JOH;Lo;0;L;;;;;N;;;;; +C88C;HANGUL SYLLABLE JWA;Lo;0;L;;;;;N;;;;; +C88D;HANGUL SYLLABLE JWAG;Lo;0;L;;;;;N;;;;; +C88E;HANGUL SYLLABLE JWAGG;Lo;0;L;;;;;N;;;;; +C88F;HANGUL SYLLABLE JWAGS;Lo;0;L;;;;;N;;;;; +C890;HANGUL SYLLABLE JWAN;Lo;0;L;;;;;N;;;;; +C891;HANGUL SYLLABLE JWANI;Lo;0;L;;;;;N;;;;; +C892;HANGUL SYLLABLE JWANH;Lo;0;L;;;;;N;;;;; +C893;HANGUL SYLLABLE JWAD;Lo;0;L;;;;;N;;;;; +C894;HANGUL SYLLABLE JWAL;Lo;0;L;;;;;N;;;;; +C895;HANGUL SYLLABLE JWALG;Lo;0;L;;;;;N;;;;; +C896;HANGUL SYLLABLE JWALM;Lo;0;L;;;;;N;;;;; +C897;HANGUL SYLLABLE JWALB;Lo;0;L;;;;;N;;;;; +C898;HANGUL SYLLABLE JWALS;Lo;0;L;;;;;N;;;;; +C899;HANGUL SYLLABLE JWALT;Lo;0;L;;;;;N;;;;; +C89A;HANGUL SYLLABLE JWALP;Lo;0;L;;;;;N;;;;; +C89B;HANGUL SYLLABLE JWALH;Lo;0;L;;;;;N;;;;; +C89C;HANGUL SYLLABLE JWAM;Lo;0;L;;;;;N;;;;; +C89D;HANGUL SYLLABLE JWAB;Lo;0;L;;;;;N;;;;; +C89E;HANGUL SYLLABLE JWABS;Lo;0;L;;;;;N;;;;; +C89F;HANGUL SYLLABLE JWAS;Lo;0;L;;;;;N;;;;; +C8A0;HANGUL SYLLABLE JWASS;Lo;0;L;;;;;N;;;;; +C8A1;HANGUL SYLLABLE JWANG;Lo;0;L;;;;;N;;;;; +C8A2;HANGUL SYLLABLE JWAJ;Lo;0;L;;;;;N;;;;; +C8A3;HANGUL SYLLABLE JWAC;Lo;0;L;;;;;N;;;;; +C8A4;HANGUL SYLLABLE JWAK;Lo;0;L;;;;;N;;;;; +C8A5;HANGUL SYLLABLE JWAT;Lo;0;L;;;;;N;;;;; +C8A6;HANGUL SYLLABLE JWAP;Lo;0;L;;;;;N;;;;; +C8A7;HANGUL SYLLABLE JWAH;Lo;0;L;;;;;N;;;;; +C8A8;HANGUL SYLLABLE JWAE;Lo;0;L;;;;;N;;;;; +C8A9;HANGUL SYLLABLE JWAEG;Lo;0;L;;;;;N;;;;; +C8AA;HANGUL SYLLABLE JWAEGG;Lo;0;L;;;;;N;;;;; +C8AB;HANGUL SYLLABLE JWAEGS;Lo;0;L;;;;;N;;;;; +C8AC;HANGUL SYLLABLE JWAEN;Lo;0;L;;;;;N;;;;; +C8AD;HANGUL SYLLABLE JWAENI;Lo;0;L;;;;;N;;;;; +C8AE;HANGUL SYLLABLE JWAENH;Lo;0;L;;;;;N;;;;; +C8AF;HANGUL SYLLABLE JWAED;Lo;0;L;;;;;N;;;;; +C8B0;HANGUL SYLLABLE JWAEL;Lo;0;L;;;;;N;;;;; +C8B1;HANGUL SYLLABLE JWAELG;Lo;0;L;;;;;N;;;;; +C8B2;HANGUL SYLLABLE JWAELM;Lo;0;L;;;;;N;;;;; +C8B3;HANGUL SYLLABLE JWAELB;Lo;0;L;;;;;N;;;;; +C8B4;HANGUL SYLLABLE JWAELS;Lo;0;L;;;;;N;;;;; +C8B5;HANGUL SYLLABLE JWAELT;Lo;0;L;;;;;N;;;;; +C8B6;HANGUL SYLLABLE JWAELP;Lo;0;L;;;;;N;;;;; +C8B7;HANGUL SYLLABLE JWAELH;Lo;0;L;;;;;N;;;;; +C8B8;HANGUL SYLLABLE JWAEM;Lo;0;L;;;;;N;;;;; +C8B9;HANGUL SYLLABLE JWAEB;Lo;0;L;;;;;N;;;;; +C8BA;HANGUL SYLLABLE JWAEBS;Lo;0;L;;;;;N;;;;; +C8BB;HANGUL SYLLABLE JWAES;Lo;0;L;;;;;N;;;;; +C8BC;HANGUL SYLLABLE JWAESS;Lo;0;L;;;;;N;;;;; +C8BD;HANGUL SYLLABLE JWAENG;Lo;0;L;;;;;N;;;;; +C8BE;HANGUL SYLLABLE JWAEJ;Lo;0;L;;;;;N;;;;; +C8BF;HANGUL SYLLABLE JWAEC;Lo;0;L;;;;;N;;;;; +C8C0;HANGUL SYLLABLE JWAEK;Lo;0;L;;;;;N;;;;; +C8C1;HANGUL SYLLABLE JWAET;Lo;0;L;;;;;N;;;;; +C8C2;HANGUL SYLLABLE JWAEP;Lo;0;L;;;;;N;;;;; +C8C3;HANGUL SYLLABLE JWAEH;Lo;0;L;;;;;N;;;;; +C8C4;HANGUL SYLLABLE JOE;Lo;0;L;;;;;N;;;;; +C8C5;HANGUL SYLLABLE JOEG;Lo;0;L;;;;;N;;;;; +C8C6;HANGUL SYLLABLE JOEGG;Lo;0;L;;;;;N;;;;; +C8C7;HANGUL SYLLABLE JOEGS;Lo;0;L;;;;;N;;;;; +C8C8;HANGUL SYLLABLE JOEN;Lo;0;L;;;;;N;;;;; +C8C9;HANGUL SYLLABLE JOENI;Lo;0;L;;;;;N;;;;; +C8CA;HANGUL SYLLABLE JOENH;Lo;0;L;;;;;N;;;;; +C8CB;HANGUL SYLLABLE JOED;Lo;0;L;;;;;N;;;;; +C8CC;HANGUL SYLLABLE JOEL;Lo;0;L;;;;;N;;;;; +C8CD;HANGUL SYLLABLE JOELG;Lo;0;L;;;;;N;;;;; +C8CE;HANGUL SYLLABLE JOELM;Lo;0;L;;;;;N;;;;; +C8CF;HANGUL SYLLABLE JOELB;Lo;0;L;;;;;N;;;;; +C8D0;HANGUL SYLLABLE JOELS;Lo;0;L;;;;;N;;;;; +C8D1;HANGUL SYLLABLE JOELT;Lo;0;L;;;;;N;;;;; +C8D2;HANGUL SYLLABLE JOELP;Lo;0;L;;;;;N;;;;; +C8D3;HANGUL SYLLABLE JOELH;Lo;0;L;;;;;N;;;;; +C8D4;HANGUL SYLLABLE JOEM;Lo;0;L;;;;;N;;;;; +C8D5;HANGUL SYLLABLE JOEB;Lo;0;L;;;;;N;;;;; +C8D6;HANGUL SYLLABLE JOEBS;Lo;0;L;;;;;N;;;;; +C8D7;HANGUL SYLLABLE JOES;Lo;0;L;;;;;N;;;;; +C8D8;HANGUL SYLLABLE JOESS;Lo;0;L;;;;;N;;;;; +C8D9;HANGUL SYLLABLE JOENG;Lo;0;L;;;;;N;;;;; +C8DA;HANGUL SYLLABLE JOEJ;Lo;0;L;;;;;N;;;;; +C8DB;HANGUL SYLLABLE JOEC;Lo;0;L;;;;;N;;;;; +C8DC;HANGUL SYLLABLE JOEK;Lo;0;L;;;;;N;;;;; +C8DD;HANGUL SYLLABLE JOET;Lo;0;L;;;;;N;;;;; +C8DE;HANGUL SYLLABLE JOEP;Lo;0;L;;;;;N;;;;; +C8DF;HANGUL SYLLABLE JOEH;Lo;0;L;;;;;N;;;;; +C8E0;HANGUL SYLLABLE JYO;Lo;0;L;;;;;N;;;;; +C8E1;HANGUL SYLLABLE JYOG;Lo;0;L;;;;;N;;;;; +C8E2;HANGUL SYLLABLE JYOGG;Lo;0;L;;;;;N;;;;; +C8E3;HANGUL SYLLABLE JYOGS;Lo;0;L;;;;;N;;;;; +C8E4;HANGUL SYLLABLE JYON;Lo;0;L;;;;;N;;;;; +C8E5;HANGUL SYLLABLE JYONI;Lo;0;L;;;;;N;;;;; +C8E6;HANGUL SYLLABLE JYONH;Lo;0;L;;;;;N;;;;; +C8E7;HANGUL SYLLABLE JYOD;Lo;0;L;;;;;N;;;;; +C8E8;HANGUL SYLLABLE JYOL;Lo;0;L;;;;;N;;;;; +C8E9;HANGUL SYLLABLE JYOLG;Lo;0;L;;;;;N;;;;; +C8EA;HANGUL SYLLABLE JYOLM;Lo;0;L;;;;;N;;;;; +C8EB;HANGUL SYLLABLE JYOLB;Lo;0;L;;;;;N;;;;; +C8EC;HANGUL SYLLABLE JYOLS;Lo;0;L;;;;;N;;;;; +C8ED;HANGUL SYLLABLE JYOLT;Lo;0;L;;;;;N;;;;; +C8EE;HANGUL SYLLABLE JYOLP;Lo;0;L;;;;;N;;;;; +C8EF;HANGUL SYLLABLE JYOLH;Lo;0;L;;;;;N;;;;; +C8F0;HANGUL SYLLABLE JYOM;Lo;0;L;;;;;N;;;;; +C8F1;HANGUL SYLLABLE JYOB;Lo;0;L;;;;;N;;;;; +C8F2;HANGUL SYLLABLE JYOBS;Lo;0;L;;;;;N;;;;; +C8F3;HANGUL SYLLABLE JYOS;Lo;0;L;;;;;N;;;;; +C8F4;HANGUL SYLLABLE JYOSS;Lo;0;L;;;;;N;;;;; +C8F5;HANGUL SYLLABLE JYONG;Lo;0;L;;;;;N;;;;; +C8F6;HANGUL SYLLABLE JYOJ;Lo;0;L;;;;;N;;;;; +C8F7;HANGUL SYLLABLE JYOC;Lo;0;L;;;;;N;;;;; +C8F8;HANGUL SYLLABLE JYOK;Lo;0;L;;;;;N;;;;; +C8F9;HANGUL SYLLABLE JYOT;Lo;0;L;;;;;N;;;;; +C8FA;HANGUL SYLLABLE JYOP;Lo;0;L;;;;;N;;;;; +C8FB;HANGUL SYLLABLE JYOH;Lo;0;L;;;;;N;;;;; +C8FC;HANGUL SYLLABLE JU;Lo;0;L;;;;;N;;;;; +C8FD;HANGUL SYLLABLE JUG;Lo;0;L;;;;;N;;;;; +C8FE;HANGUL SYLLABLE JUGG;Lo;0;L;;;;;N;;;;; +C8FF;HANGUL SYLLABLE JUGS;Lo;0;L;;;;;N;;;;; +C900;HANGUL SYLLABLE JUN;Lo;0;L;;;;;N;;;;; +C901;HANGUL SYLLABLE JUNI;Lo;0;L;;;;;N;;;;; +C902;HANGUL SYLLABLE JUNH;Lo;0;L;;;;;N;;;;; +C903;HANGUL SYLLABLE JUD;Lo;0;L;;;;;N;;;;; +C904;HANGUL SYLLABLE JUL;Lo;0;L;;;;;N;;;;; +C905;HANGUL SYLLABLE JULG;Lo;0;L;;;;;N;;;;; +C906;HANGUL SYLLABLE JULM;Lo;0;L;;;;;N;;;;; +C907;HANGUL SYLLABLE JULB;Lo;0;L;;;;;N;;;;; +C908;HANGUL SYLLABLE JULS;Lo;0;L;;;;;N;;;;; +C909;HANGUL SYLLABLE JULT;Lo;0;L;;;;;N;;;;; +C90A;HANGUL SYLLABLE JULP;Lo;0;L;;;;;N;;;;; +C90B;HANGUL SYLLABLE JULH;Lo;0;L;;;;;N;;;;; +C90C;HANGUL SYLLABLE JUM;Lo;0;L;;;;;N;;;;; +C90D;HANGUL SYLLABLE JUB;Lo;0;L;;;;;N;;;;; +C90E;HANGUL SYLLABLE JUBS;Lo;0;L;;;;;N;;;;; +C90F;HANGUL SYLLABLE JUS;Lo;0;L;;;;;N;;;;; +C910;HANGUL SYLLABLE JUSS;Lo;0;L;;;;;N;;;;; +C911;HANGUL SYLLABLE JUNG;Lo;0;L;;;;;N;;;;; +C912;HANGUL SYLLABLE JUJ;Lo;0;L;;;;;N;;;;; +C913;HANGUL SYLLABLE JUC;Lo;0;L;;;;;N;;;;; +C914;HANGUL SYLLABLE JUK;Lo;0;L;;;;;N;;;;; +C915;HANGUL SYLLABLE JUT;Lo;0;L;;;;;N;;;;; +C916;HANGUL SYLLABLE JUP;Lo;0;L;;;;;N;;;;; +C917;HANGUL SYLLABLE JUH;Lo;0;L;;;;;N;;;;; +C918;HANGUL SYLLABLE JWEO;Lo;0;L;;;;;N;;;;; +C919;HANGUL SYLLABLE JWEOG;Lo;0;L;;;;;N;;;;; +C91A;HANGUL SYLLABLE JWEOGG;Lo;0;L;;;;;N;;;;; +C91B;HANGUL SYLLABLE JWEOGS;Lo;0;L;;;;;N;;;;; +C91C;HANGUL SYLLABLE JWEON;Lo;0;L;;;;;N;;;;; +C91D;HANGUL SYLLABLE JWEONI;Lo;0;L;;;;;N;;;;; +C91E;HANGUL SYLLABLE JWEONH;Lo;0;L;;;;;N;;;;; +C91F;HANGUL SYLLABLE JWEOD;Lo;0;L;;;;;N;;;;; +C920;HANGUL SYLLABLE JWEOL;Lo;0;L;;;;;N;;;;; +C921;HANGUL SYLLABLE JWEOLG;Lo;0;L;;;;;N;;;;; +C922;HANGUL SYLLABLE JWEOLM;Lo;0;L;;;;;N;;;;; +C923;HANGUL SYLLABLE JWEOLB;Lo;0;L;;;;;N;;;;; +C924;HANGUL SYLLABLE JWEOLS;Lo;0;L;;;;;N;;;;; +C925;HANGUL SYLLABLE JWEOLT;Lo;0;L;;;;;N;;;;; +C926;HANGUL SYLLABLE JWEOLP;Lo;0;L;;;;;N;;;;; +C927;HANGUL SYLLABLE JWEOLH;Lo;0;L;;;;;N;;;;; +C928;HANGUL SYLLABLE JWEOM;Lo;0;L;;;;;N;;;;; +C929;HANGUL SYLLABLE JWEOB;Lo;0;L;;;;;N;;;;; +C92A;HANGUL SYLLABLE JWEOBS;Lo;0;L;;;;;N;;;;; +C92B;HANGUL SYLLABLE JWEOS;Lo;0;L;;;;;N;;;;; +C92C;HANGUL SYLLABLE JWEOSS;Lo;0;L;;;;;N;;;;; +C92D;HANGUL SYLLABLE JWEONG;Lo;0;L;;;;;N;;;;; +C92E;HANGUL SYLLABLE JWEOJ;Lo;0;L;;;;;N;;;;; +C92F;HANGUL SYLLABLE JWEOC;Lo;0;L;;;;;N;;;;; +C930;HANGUL SYLLABLE JWEOK;Lo;0;L;;;;;N;;;;; +C931;HANGUL SYLLABLE JWEOT;Lo;0;L;;;;;N;;;;; +C932;HANGUL SYLLABLE JWEOP;Lo;0;L;;;;;N;;;;; +C933;HANGUL SYLLABLE JWEOH;Lo;0;L;;;;;N;;;;; +C934;HANGUL SYLLABLE JWE;Lo;0;L;;;;;N;;;;; +C935;HANGUL SYLLABLE JWEG;Lo;0;L;;;;;N;;;;; +C936;HANGUL SYLLABLE JWEGG;Lo;0;L;;;;;N;;;;; +C937;HANGUL SYLLABLE JWEGS;Lo;0;L;;;;;N;;;;; +C938;HANGUL SYLLABLE JWEN;Lo;0;L;;;;;N;;;;; +C939;HANGUL SYLLABLE JWENI;Lo;0;L;;;;;N;;;;; +C93A;HANGUL SYLLABLE JWENH;Lo;0;L;;;;;N;;;;; +C93B;HANGUL SYLLABLE JWED;Lo;0;L;;;;;N;;;;; +C93C;HANGUL SYLLABLE JWEL;Lo;0;L;;;;;N;;;;; +C93D;HANGUL SYLLABLE JWELG;Lo;0;L;;;;;N;;;;; +C93E;HANGUL SYLLABLE JWELM;Lo;0;L;;;;;N;;;;; +C93F;HANGUL SYLLABLE JWELB;Lo;0;L;;;;;N;;;;; +C940;HANGUL SYLLABLE JWELS;Lo;0;L;;;;;N;;;;; +C941;HANGUL SYLLABLE JWELT;Lo;0;L;;;;;N;;;;; +C942;HANGUL SYLLABLE JWELP;Lo;0;L;;;;;N;;;;; +C943;HANGUL SYLLABLE JWELH;Lo;0;L;;;;;N;;;;; +C944;HANGUL SYLLABLE JWEM;Lo;0;L;;;;;N;;;;; +C945;HANGUL SYLLABLE JWEB;Lo;0;L;;;;;N;;;;; +C946;HANGUL SYLLABLE JWEBS;Lo;0;L;;;;;N;;;;; +C947;HANGUL SYLLABLE JWES;Lo;0;L;;;;;N;;;;; +C948;HANGUL SYLLABLE JWESS;Lo;0;L;;;;;N;;;;; +C949;HANGUL SYLLABLE JWENG;Lo;0;L;;;;;N;;;;; +C94A;HANGUL SYLLABLE JWEJ;Lo;0;L;;;;;N;;;;; +C94B;HANGUL SYLLABLE JWEC;Lo;0;L;;;;;N;;;;; +C94C;HANGUL SYLLABLE JWEK;Lo;0;L;;;;;N;;;;; +C94D;HANGUL SYLLABLE JWET;Lo;0;L;;;;;N;;;;; +C94E;HANGUL SYLLABLE JWEP;Lo;0;L;;;;;N;;;;; +C94F;HANGUL SYLLABLE JWEH;Lo;0;L;;;;;N;;;;; +C950;HANGUL SYLLABLE JWI;Lo;0;L;;;;;N;;;;; +C951;HANGUL SYLLABLE JWIG;Lo;0;L;;;;;N;;;;; +C952;HANGUL SYLLABLE JWIGG;Lo;0;L;;;;;N;;;;; +C953;HANGUL SYLLABLE JWIGS;Lo;0;L;;;;;N;;;;; +C954;HANGUL SYLLABLE JWIN;Lo;0;L;;;;;N;;;;; +C955;HANGUL SYLLABLE JWINI;Lo;0;L;;;;;N;;;;; +C956;HANGUL SYLLABLE JWINH;Lo;0;L;;;;;N;;;;; +C957;HANGUL SYLLABLE JWID;Lo;0;L;;;;;N;;;;; +C958;HANGUL SYLLABLE JWIL;Lo;0;L;;;;;N;;;;; +C959;HANGUL SYLLABLE JWILG;Lo;0;L;;;;;N;;;;; +C95A;HANGUL SYLLABLE JWILM;Lo;0;L;;;;;N;;;;; +C95B;HANGUL SYLLABLE JWILB;Lo;0;L;;;;;N;;;;; +C95C;HANGUL SYLLABLE JWILS;Lo;0;L;;;;;N;;;;; +C95D;HANGUL SYLLABLE JWILT;Lo;0;L;;;;;N;;;;; +C95E;HANGUL SYLLABLE JWILP;Lo;0;L;;;;;N;;;;; +C95F;HANGUL SYLLABLE JWILH;Lo;0;L;;;;;N;;;;; +C960;HANGUL SYLLABLE JWIM;Lo;0;L;;;;;N;;;;; +C961;HANGUL SYLLABLE JWIB;Lo;0;L;;;;;N;;;;; +C962;HANGUL SYLLABLE JWIBS;Lo;0;L;;;;;N;;;;; +C963;HANGUL SYLLABLE JWIS;Lo;0;L;;;;;N;;;;; +C964;HANGUL SYLLABLE JWISS;Lo;0;L;;;;;N;;;;; +C965;HANGUL SYLLABLE JWING;Lo;0;L;;;;;N;;;;; +C966;HANGUL SYLLABLE JWIJ;Lo;0;L;;;;;N;;;;; +C967;HANGUL SYLLABLE JWIC;Lo;0;L;;;;;N;;;;; +C968;HANGUL SYLLABLE JWIK;Lo;0;L;;;;;N;;;;; +C969;HANGUL SYLLABLE JWIT;Lo;0;L;;;;;N;;;;; +C96A;HANGUL SYLLABLE JWIP;Lo;0;L;;;;;N;;;;; +C96B;HANGUL SYLLABLE JWIH;Lo;0;L;;;;;N;;;;; +C96C;HANGUL SYLLABLE JYU;Lo;0;L;;;;;N;;;;; +C96D;HANGUL SYLLABLE JYUG;Lo;0;L;;;;;N;;;;; +C96E;HANGUL SYLLABLE JYUGG;Lo;0;L;;;;;N;;;;; +C96F;HANGUL SYLLABLE JYUGS;Lo;0;L;;;;;N;;;;; +C970;HANGUL SYLLABLE JYUN;Lo;0;L;;;;;N;;;;; +C971;HANGUL SYLLABLE JYUNI;Lo;0;L;;;;;N;;;;; +C972;HANGUL SYLLABLE JYUNH;Lo;0;L;;;;;N;;;;; +C973;HANGUL SYLLABLE JYUD;Lo;0;L;;;;;N;;;;; +C974;HANGUL SYLLABLE JYUL;Lo;0;L;;;;;N;;;;; +C975;HANGUL SYLLABLE JYULG;Lo;0;L;;;;;N;;;;; +C976;HANGUL SYLLABLE JYULM;Lo;0;L;;;;;N;;;;; +C977;HANGUL SYLLABLE JYULB;Lo;0;L;;;;;N;;;;; +C978;HANGUL SYLLABLE JYULS;Lo;0;L;;;;;N;;;;; +C979;HANGUL SYLLABLE JYULT;Lo;0;L;;;;;N;;;;; +C97A;HANGUL SYLLABLE JYULP;Lo;0;L;;;;;N;;;;; +C97B;HANGUL SYLLABLE JYULH;Lo;0;L;;;;;N;;;;; +C97C;HANGUL SYLLABLE JYUM;Lo;0;L;;;;;N;;;;; +C97D;HANGUL SYLLABLE JYUB;Lo;0;L;;;;;N;;;;; +C97E;HANGUL SYLLABLE JYUBS;Lo;0;L;;;;;N;;;;; +C97F;HANGUL SYLLABLE JYUS;Lo;0;L;;;;;N;;;;; +C980;HANGUL SYLLABLE JYUSS;Lo;0;L;;;;;N;;;;; +C981;HANGUL SYLLABLE JYUNG;Lo;0;L;;;;;N;;;;; +C982;HANGUL SYLLABLE JYUJ;Lo;0;L;;;;;N;;;;; +C983;HANGUL SYLLABLE JYUC;Lo;0;L;;;;;N;;;;; +C984;HANGUL SYLLABLE JYUK;Lo;0;L;;;;;N;;;;; +C985;HANGUL SYLLABLE JYUT;Lo;0;L;;;;;N;;;;; +C986;HANGUL SYLLABLE JYUP;Lo;0;L;;;;;N;;;;; +C987;HANGUL SYLLABLE JYUH;Lo;0;L;;;;;N;;;;; +C988;HANGUL SYLLABLE JEU;Lo;0;L;;;;;N;;;;; +C989;HANGUL SYLLABLE JEUG;Lo;0;L;;;;;N;;;;; +C98A;HANGUL SYLLABLE JEUGG;Lo;0;L;;;;;N;;;;; +C98B;HANGUL SYLLABLE JEUGS;Lo;0;L;;;;;N;;;;; +C98C;HANGUL SYLLABLE JEUN;Lo;0;L;;;;;N;;;;; +C98D;HANGUL SYLLABLE JEUNI;Lo;0;L;;;;;N;;;;; +C98E;HANGUL SYLLABLE JEUNH;Lo;0;L;;;;;N;;;;; +C98F;HANGUL SYLLABLE JEUD;Lo;0;L;;;;;N;;;;; +C990;HANGUL SYLLABLE JEUL;Lo;0;L;;;;;N;;;;; +C991;HANGUL SYLLABLE JEULG;Lo;0;L;;;;;N;;;;; +C992;HANGUL SYLLABLE JEULM;Lo;0;L;;;;;N;;;;; +C993;HANGUL SYLLABLE JEULB;Lo;0;L;;;;;N;;;;; +C994;HANGUL SYLLABLE JEULS;Lo;0;L;;;;;N;;;;; +C995;HANGUL SYLLABLE JEULT;Lo;0;L;;;;;N;;;;; +C996;HANGUL SYLLABLE JEULP;Lo;0;L;;;;;N;;;;; +C997;HANGUL SYLLABLE JEULH;Lo;0;L;;;;;N;;;;; +C998;HANGUL SYLLABLE JEUM;Lo;0;L;;;;;N;;;;; +C999;HANGUL SYLLABLE JEUB;Lo;0;L;;;;;N;;;;; +C99A;HANGUL SYLLABLE JEUBS;Lo;0;L;;;;;N;;;;; +C99B;HANGUL SYLLABLE JEUS;Lo;0;L;;;;;N;;;;; +C99C;HANGUL SYLLABLE JEUSS;Lo;0;L;;;;;N;;;;; +C99D;HANGUL SYLLABLE JEUNG;Lo;0;L;;;;;N;;;;; +C99E;HANGUL SYLLABLE JEUJ;Lo;0;L;;;;;N;;;;; +C99F;HANGUL SYLLABLE JEUC;Lo;0;L;;;;;N;;;;; +C9A0;HANGUL SYLLABLE JEUK;Lo;0;L;;;;;N;;;;; +C9A1;HANGUL SYLLABLE JEUT;Lo;0;L;;;;;N;;;;; +C9A2;HANGUL SYLLABLE JEUP;Lo;0;L;;;;;N;;;;; +C9A3;HANGUL SYLLABLE JEUH;Lo;0;L;;;;;N;;;;; +C9A4;HANGUL SYLLABLE JYI;Lo;0;L;;;;;N;;;;; +C9A5;HANGUL SYLLABLE JYIG;Lo;0;L;;;;;N;;;;; +C9A6;HANGUL SYLLABLE JYIGG;Lo;0;L;;;;;N;;;;; +C9A7;HANGUL SYLLABLE JYIGS;Lo;0;L;;;;;N;;;;; +C9A8;HANGUL SYLLABLE JYIN;Lo;0;L;;;;;N;;;;; +C9A9;HANGUL SYLLABLE JYINI;Lo;0;L;;;;;N;;;;; +C9AA;HANGUL SYLLABLE JYINH;Lo;0;L;;;;;N;;;;; +C9AB;HANGUL SYLLABLE JYID;Lo;0;L;;;;;N;;;;; +C9AC;HANGUL SYLLABLE JYIL;Lo;0;L;;;;;N;;;;; +C9AD;HANGUL SYLLABLE JYILG;Lo;0;L;;;;;N;;;;; +C9AE;HANGUL SYLLABLE JYILM;Lo;0;L;;;;;N;;;;; +C9AF;HANGUL SYLLABLE JYILB;Lo;0;L;;;;;N;;;;; +C9B0;HANGUL SYLLABLE JYILS;Lo;0;L;;;;;N;;;;; +C9B1;HANGUL SYLLABLE JYILT;Lo;0;L;;;;;N;;;;; +C9B2;HANGUL SYLLABLE JYILP;Lo;0;L;;;;;N;;;;; +C9B3;HANGUL SYLLABLE JYILH;Lo;0;L;;;;;N;;;;; +C9B4;HANGUL SYLLABLE JYIM;Lo;0;L;;;;;N;;;;; +C9B5;HANGUL SYLLABLE JYIB;Lo;0;L;;;;;N;;;;; +C9B6;HANGUL SYLLABLE JYIBS;Lo;0;L;;;;;N;;;;; +C9B7;HANGUL SYLLABLE JYIS;Lo;0;L;;;;;N;;;;; +C9B8;HANGUL SYLLABLE JYISS;Lo;0;L;;;;;N;;;;; +C9B9;HANGUL SYLLABLE JYING;Lo;0;L;;;;;N;;;;; +C9BA;HANGUL SYLLABLE JYIJ;Lo;0;L;;;;;N;;;;; +C9BB;HANGUL SYLLABLE JYIC;Lo;0;L;;;;;N;;;;; +C9BC;HANGUL SYLLABLE JYIK;Lo;0;L;;;;;N;;;;; +C9BD;HANGUL SYLLABLE JYIT;Lo;0;L;;;;;N;;;;; +C9BE;HANGUL SYLLABLE JYIP;Lo;0;L;;;;;N;;;;; +C9BF;HANGUL SYLLABLE JYIH;Lo;0;L;;;;;N;;;;; +C9C0;HANGUL SYLLABLE JI;Lo;0;L;;;;;N;;;;; +C9C1;HANGUL SYLLABLE JIG;Lo;0;L;;;;;N;;;;; +C9C2;HANGUL SYLLABLE JIGG;Lo;0;L;;;;;N;;;;; +C9C3;HANGUL SYLLABLE JIGS;Lo;0;L;;;;;N;;;;; +C9C4;HANGUL SYLLABLE JIN;Lo;0;L;;;;;N;;;;; +C9C5;HANGUL SYLLABLE JINI;Lo;0;L;;;;;N;;;;; +C9C6;HANGUL SYLLABLE JINH;Lo;0;L;;;;;N;;;;; +C9C7;HANGUL SYLLABLE JID;Lo;0;L;;;;;N;;;;; +C9C8;HANGUL SYLLABLE JIL;Lo;0;L;;;;;N;;;;; +C9C9;HANGUL SYLLABLE JILG;Lo;0;L;;;;;N;;;;; +C9CA;HANGUL SYLLABLE JILM;Lo;0;L;;;;;N;;;;; +C9CB;HANGUL SYLLABLE JILB;Lo;0;L;;;;;N;;;;; +C9CC;HANGUL SYLLABLE JILS;Lo;0;L;;;;;N;;;;; +C9CD;HANGUL SYLLABLE JILT;Lo;0;L;;;;;N;;;;; +C9CE;HANGUL SYLLABLE JILP;Lo;0;L;;;;;N;;;;; +C9CF;HANGUL SYLLABLE JILH;Lo;0;L;;;;;N;;;;; +C9D0;HANGUL SYLLABLE JIM;Lo;0;L;;;;;N;;;;; +C9D1;HANGUL SYLLABLE JIB;Lo;0;L;;;;;N;;;;; +C9D2;HANGUL SYLLABLE JIBS;Lo;0;L;;;;;N;;;;; +C9D3;HANGUL SYLLABLE JIS;Lo;0;L;;;;;N;;;;; +C9D4;HANGUL SYLLABLE JISS;Lo;0;L;;;;;N;;;;; +C9D5;HANGUL SYLLABLE JING;Lo;0;L;;;;;N;;;;; +C9D6;HANGUL SYLLABLE JIJ;Lo;0;L;;;;;N;;;;; +C9D7;HANGUL SYLLABLE JIC;Lo;0;L;;;;;N;;;;; +C9D8;HANGUL SYLLABLE JIK;Lo;0;L;;;;;N;;;;; +C9D9;HANGUL SYLLABLE JIT;Lo;0;L;;;;;N;;;;; +C9DA;HANGUL SYLLABLE JIP;Lo;0;L;;;;;N;;;;; +C9DB;HANGUL SYLLABLE JIH;Lo;0;L;;;;;N;;;;; +C9DC;HANGUL SYLLABLE JJA;Lo;0;L;;;;;N;;;;; +C9DD;HANGUL SYLLABLE JJAG;Lo;0;L;;;;;N;;;;; +C9DE;HANGUL SYLLABLE JJAGG;Lo;0;L;;;;;N;;;;; +C9DF;HANGUL SYLLABLE JJAGS;Lo;0;L;;;;;N;;;;; +C9E0;HANGUL SYLLABLE JJAN;Lo;0;L;;;;;N;;;;; +C9E1;HANGUL SYLLABLE JJANI;Lo;0;L;;;;;N;;;;; +C9E2;HANGUL SYLLABLE JJANH;Lo;0;L;;;;;N;;;;; +C9E3;HANGUL SYLLABLE JJAD;Lo;0;L;;;;;N;;;;; +C9E4;HANGUL SYLLABLE JJAL;Lo;0;L;;;;;N;;;;; +C9E5;HANGUL SYLLABLE JJALG;Lo;0;L;;;;;N;;;;; +C9E6;HANGUL SYLLABLE JJALM;Lo;0;L;;;;;N;;;;; +C9E7;HANGUL SYLLABLE JJALB;Lo;0;L;;;;;N;;;;; +C9E8;HANGUL SYLLABLE JJALS;Lo;0;L;;;;;N;;;;; +C9E9;HANGUL SYLLABLE JJALT;Lo;0;L;;;;;N;;;;; +C9EA;HANGUL SYLLABLE JJALP;Lo;0;L;;;;;N;;;;; +C9EB;HANGUL SYLLABLE JJALH;Lo;0;L;;;;;N;;;;; +C9EC;HANGUL SYLLABLE JJAM;Lo;0;L;;;;;N;;;;; +C9ED;HANGUL SYLLABLE JJAB;Lo;0;L;;;;;N;;;;; +C9EE;HANGUL SYLLABLE JJABS;Lo;0;L;;;;;N;;;;; +C9EF;HANGUL SYLLABLE JJAS;Lo;0;L;;;;;N;;;;; +C9F0;HANGUL SYLLABLE JJASS;Lo;0;L;;;;;N;;;;; +C9F1;HANGUL SYLLABLE JJANG;Lo;0;L;;;;;N;;;;; +C9F2;HANGUL SYLLABLE JJAJ;Lo;0;L;;;;;N;;;;; +C9F3;HANGUL SYLLABLE JJAC;Lo;0;L;;;;;N;;;;; +C9F4;HANGUL SYLLABLE JJAK;Lo;0;L;;;;;N;;;;; +C9F5;HANGUL SYLLABLE JJAT;Lo;0;L;;;;;N;;;;; +C9F6;HANGUL SYLLABLE JJAP;Lo;0;L;;;;;N;;;;; +C9F7;HANGUL SYLLABLE JJAH;Lo;0;L;;;;;N;;;;; +C9F8;HANGUL SYLLABLE JJAE;Lo;0;L;;;;;N;;;;; +C9F9;HANGUL SYLLABLE JJAEG;Lo;0;L;;;;;N;;;;; +C9FA;HANGUL SYLLABLE JJAEGG;Lo;0;L;;;;;N;;;;; +C9FB;HANGUL SYLLABLE JJAEGS;Lo;0;L;;;;;N;;;;; +C9FC;HANGUL SYLLABLE JJAEN;Lo;0;L;;;;;N;;;;; +C9FD;HANGUL SYLLABLE JJAENI;Lo;0;L;;;;;N;;;;; +C9FE;HANGUL SYLLABLE JJAENH;Lo;0;L;;;;;N;;;;; +C9FF;HANGUL SYLLABLE JJAED;Lo;0;L;;;;;N;;;;; +CA00;HANGUL SYLLABLE JJAEL;Lo;0;L;;;;;N;;;;; +CA01;HANGUL SYLLABLE JJAELG;Lo;0;L;;;;;N;;;;; +CA02;HANGUL SYLLABLE JJAELM;Lo;0;L;;;;;N;;;;; +CA03;HANGUL SYLLABLE JJAELB;Lo;0;L;;;;;N;;;;; +CA04;HANGUL SYLLABLE JJAELS;Lo;0;L;;;;;N;;;;; +CA05;HANGUL SYLLABLE JJAELT;Lo;0;L;;;;;N;;;;; +CA06;HANGUL SYLLABLE JJAELP;Lo;0;L;;;;;N;;;;; +CA07;HANGUL SYLLABLE JJAELH;Lo;0;L;;;;;N;;;;; +CA08;HANGUL SYLLABLE JJAEM;Lo;0;L;;;;;N;;;;; +CA09;HANGUL SYLLABLE JJAEB;Lo;0;L;;;;;N;;;;; +CA0A;HANGUL SYLLABLE JJAEBS;Lo;0;L;;;;;N;;;;; +CA0B;HANGUL SYLLABLE JJAES;Lo;0;L;;;;;N;;;;; +CA0C;HANGUL SYLLABLE JJAESS;Lo;0;L;;;;;N;;;;; +CA0D;HANGUL SYLLABLE JJAENG;Lo;0;L;;;;;N;;;;; +CA0E;HANGUL SYLLABLE JJAEJ;Lo;0;L;;;;;N;;;;; +CA0F;HANGUL SYLLABLE JJAEC;Lo;0;L;;;;;N;;;;; +CA10;HANGUL SYLLABLE JJAEK;Lo;0;L;;;;;N;;;;; +CA11;HANGUL SYLLABLE JJAET;Lo;0;L;;;;;N;;;;; +CA12;HANGUL SYLLABLE JJAEP;Lo;0;L;;;;;N;;;;; +CA13;HANGUL SYLLABLE JJAEH;Lo;0;L;;;;;N;;;;; +CA14;HANGUL SYLLABLE JJYA;Lo;0;L;;;;;N;;;;; +CA15;HANGUL SYLLABLE JJYAG;Lo;0;L;;;;;N;;;;; +CA16;HANGUL SYLLABLE JJYAGG;Lo;0;L;;;;;N;;;;; +CA17;HANGUL SYLLABLE JJYAGS;Lo;0;L;;;;;N;;;;; +CA18;HANGUL SYLLABLE JJYAN;Lo;0;L;;;;;N;;;;; +CA19;HANGUL SYLLABLE JJYANI;Lo;0;L;;;;;N;;;;; +CA1A;HANGUL SYLLABLE JJYANH;Lo;0;L;;;;;N;;;;; +CA1B;HANGUL SYLLABLE JJYAD;Lo;0;L;;;;;N;;;;; +CA1C;HANGUL SYLLABLE JJYAL;Lo;0;L;;;;;N;;;;; +CA1D;HANGUL SYLLABLE JJYALG;Lo;0;L;;;;;N;;;;; +CA1E;HANGUL SYLLABLE JJYALM;Lo;0;L;;;;;N;;;;; +CA1F;HANGUL SYLLABLE JJYALB;Lo;0;L;;;;;N;;;;; +CA20;HANGUL SYLLABLE JJYALS;Lo;0;L;;;;;N;;;;; +CA21;HANGUL SYLLABLE JJYALT;Lo;0;L;;;;;N;;;;; +CA22;HANGUL SYLLABLE JJYALP;Lo;0;L;;;;;N;;;;; +CA23;HANGUL SYLLABLE JJYALH;Lo;0;L;;;;;N;;;;; +CA24;HANGUL SYLLABLE JJYAM;Lo;0;L;;;;;N;;;;; +CA25;HANGUL SYLLABLE JJYAB;Lo;0;L;;;;;N;;;;; +CA26;HANGUL SYLLABLE JJYABS;Lo;0;L;;;;;N;;;;; +CA27;HANGUL SYLLABLE JJYAS;Lo;0;L;;;;;N;;;;; +CA28;HANGUL SYLLABLE JJYASS;Lo;0;L;;;;;N;;;;; +CA29;HANGUL SYLLABLE JJYANG;Lo;0;L;;;;;N;;;;; +CA2A;HANGUL SYLLABLE JJYAJ;Lo;0;L;;;;;N;;;;; +CA2B;HANGUL SYLLABLE JJYAC;Lo;0;L;;;;;N;;;;; +CA2C;HANGUL SYLLABLE JJYAK;Lo;0;L;;;;;N;;;;; +CA2D;HANGUL SYLLABLE JJYAT;Lo;0;L;;;;;N;;;;; +CA2E;HANGUL SYLLABLE JJYAP;Lo;0;L;;;;;N;;;;; +CA2F;HANGUL SYLLABLE JJYAH;Lo;0;L;;;;;N;;;;; +CA30;HANGUL SYLLABLE JJYAE;Lo;0;L;;;;;N;;;;; +CA31;HANGUL SYLLABLE JJYAEG;Lo;0;L;;;;;N;;;;; +CA32;HANGUL SYLLABLE JJYAEGG;Lo;0;L;;;;;N;;;;; +CA33;HANGUL SYLLABLE JJYAEGS;Lo;0;L;;;;;N;;;;; +CA34;HANGUL SYLLABLE JJYAEN;Lo;0;L;;;;;N;;;;; +CA35;HANGUL SYLLABLE JJYAENI;Lo;0;L;;;;;N;;;;; +CA36;HANGUL SYLLABLE JJYAENH;Lo;0;L;;;;;N;;;;; +CA37;HANGUL SYLLABLE JJYAED;Lo;0;L;;;;;N;;;;; +CA38;HANGUL SYLLABLE JJYAEL;Lo;0;L;;;;;N;;;;; +CA39;HANGUL SYLLABLE JJYAELG;Lo;0;L;;;;;N;;;;; +CA3A;HANGUL SYLLABLE JJYAELM;Lo;0;L;;;;;N;;;;; +CA3B;HANGUL SYLLABLE JJYAELB;Lo;0;L;;;;;N;;;;; +CA3C;HANGUL SYLLABLE JJYAELS;Lo;0;L;;;;;N;;;;; +CA3D;HANGUL SYLLABLE JJYAELT;Lo;0;L;;;;;N;;;;; +CA3E;HANGUL SYLLABLE JJYAELP;Lo;0;L;;;;;N;;;;; +CA3F;HANGUL SYLLABLE JJYAELH;Lo;0;L;;;;;N;;;;; +CA40;HANGUL SYLLABLE JJYAEM;Lo;0;L;;;;;N;;;;; +CA41;HANGUL SYLLABLE JJYAEB;Lo;0;L;;;;;N;;;;; +CA42;HANGUL SYLLABLE JJYAEBS;Lo;0;L;;;;;N;;;;; +CA43;HANGUL SYLLABLE JJYAES;Lo;0;L;;;;;N;;;;; +CA44;HANGUL SYLLABLE JJYAESS;Lo;0;L;;;;;N;;;;; +CA45;HANGUL SYLLABLE JJYAENG;Lo;0;L;;;;;N;;;;; +CA46;HANGUL SYLLABLE JJYAEJ;Lo;0;L;;;;;N;;;;; +CA47;HANGUL SYLLABLE JJYAEC;Lo;0;L;;;;;N;;;;; +CA48;HANGUL SYLLABLE JJYAEK;Lo;0;L;;;;;N;;;;; +CA49;HANGUL SYLLABLE JJYAET;Lo;0;L;;;;;N;;;;; +CA4A;HANGUL SYLLABLE JJYAEP;Lo;0;L;;;;;N;;;;; +CA4B;HANGUL SYLLABLE JJYAEH;Lo;0;L;;;;;N;;;;; +CA4C;HANGUL SYLLABLE JJEO;Lo;0;L;;;;;N;;;;; +CA4D;HANGUL SYLLABLE JJEOG;Lo;0;L;;;;;N;;;;; +CA4E;HANGUL SYLLABLE JJEOGG;Lo;0;L;;;;;N;;;;; +CA4F;HANGUL SYLLABLE JJEOGS;Lo;0;L;;;;;N;;;;; +CA50;HANGUL SYLLABLE JJEON;Lo;0;L;;;;;N;;;;; +CA51;HANGUL SYLLABLE JJEONI;Lo;0;L;;;;;N;;;;; +CA52;HANGUL SYLLABLE JJEONH;Lo;0;L;;;;;N;;;;; +CA53;HANGUL SYLLABLE JJEOD;Lo;0;L;;;;;N;;;;; +CA54;HANGUL SYLLABLE JJEOL;Lo;0;L;;;;;N;;;;; +CA55;HANGUL SYLLABLE JJEOLG;Lo;0;L;;;;;N;;;;; +CA56;HANGUL SYLLABLE JJEOLM;Lo;0;L;;;;;N;;;;; +CA57;HANGUL SYLLABLE JJEOLB;Lo;0;L;;;;;N;;;;; +CA58;HANGUL SYLLABLE JJEOLS;Lo;0;L;;;;;N;;;;; +CA59;HANGUL SYLLABLE JJEOLT;Lo;0;L;;;;;N;;;;; +CA5A;HANGUL SYLLABLE JJEOLP;Lo;0;L;;;;;N;;;;; +CA5B;HANGUL SYLLABLE JJEOLH;Lo;0;L;;;;;N;;;;; +CA5C;HANGUL SYLLABLE JJEOM;Lo;0;L;;;;;N;;;;; +CA5D;HANGUL SYLLABLE JJEOB;Lo;0;L;;;;;N;;;;; +CA5E;HANGUL SYLLABLE JJEOBS;Lo;0;L;;;;;N;;;;; +CA5F;HANGUL SYLLABLE JJEOS;Lo;0;L;;;;;N;;;;; +CA60;HANGUL SYLLABLE JJEOSS;Lo;0;L;;;;;N;;;;; +CA61;HANGUL SYLLABLE JJEONG;Lo;0;L;;;;;N;;;;; +CA62;HANGUL SYLLABLE JJEOJ;Lo;0;L;;;;;N;;;;; +CA63;HANGUL SYLLABLE JJEOC;Lo;0;L;;;;;N;;;;; +CA64;HANGUL SYLLABLE JJEOK;Lo;0;L;;;;;N;;;;; +CA65;HANGUL SYLLABLE JJEOT;Lo;0;L;;;;;N;;;;; +CA66;HANGUL SYLLABLE JJEOP;Lo;0;L;;;;;N;;;;; +CA67;HANGUL SYLLABLE JJEOH;Lo;0;L;;;;;N;;;;; +CA68;HANGUL SYLLABLE JJE;Lo;0;L;;;;;N;;;;; +CA69;HANGUL SYLLABLE JJEG;Lo;0;L;;;;;N;;;;; +CA6A;HANGUL SYLLABLE JJEGG;Lo;0;L;;;;;N;;;;; +CA6B;HANGUL SYLLABLE JJEGS;Lo;0;L;;;;;N;;;;; +CA6C;HANGUL SYLLABLE JJEN;Lo;0;L;;;;;N;;;;; +CA6D;HANGUL SYLLABLE JJENI;Lo;0;L;;;;;N;;;;; +CA6E;HANGUL SYLLABLE JJENH;Lo;0;L;;;;;N;;;;; +CA6F;HANGUL SYLLABLE JJED;Lo;0;L;;;;;N;;;;; +CA70;HANGUL SYLLABLE JJEL;Lo;0;L;;;;;N;;;;; +CA71;HANGUL SYLLABLE JJELG;Lo;0;L;;;;;N;;;;; +CA72;HANGUL SYLLABLE JJELM;Lo;0;L;;;;;N;;;;; +CA73;HANGUL SYLLABLE JJELB;Lo;0;L;;;;;N;;;;; +CA74;HANGUL SYLLABLE JJELS;Lo;0;L;;;;;N;;;;; +CA75;HANGUL SYLLABLE JJELT;Lo;0;L;;;;;N;;;;; +CA76;HANGUL SYLLABLE JJELP;Lo;0;L;;;;;N;;;;; +CA77;HANGUL SYLLABLE JJELH;Lo;0;L;;;;;N;;;;; +CA78;HANGUL SYLLABLE JJEM;Lo;0;L;;;;;N;;;;; +CA79;HANGUL SYLLABLE JJEB;Lo;0;L;;;;;N;;;;; +CA7A;HANGUL SYLLABLE JJEBS;Lo;0;L;;;;;N;;;;; +CA7B;HANGUL SYLLABLE JJES;Lo;0;L;;;;;N;;;;; +CA7C;HANGUL SYLLABLE JJESS;Lo;0;L;;;;;N;;;;; +CA7D;HANGUL SYLLABLE JJENG;Lo;0;L;;;;;N;;;;; +CA7E;HANGUL SYLLABLE JJEJ;Lo;0;L;;;;;N;;;;; +CA7F;HANGUL SYLLABLE JJEC;Lo;0;L;;;;;N;;;;; +CA80;HANGUL SYLLABLE JJEK;Lo;0;L;;;;;N;;;;; +CA81;HANGUL SYLLABLE JJET;Lo;0;L;;;;;N;;;;; +CA82;HANGUL SYLLABLE JJEP;Lo;0;L;;;;;N;;;;; +CA83;HANGUL SYLLABLE JJEH;Lo;0;L;;;;;N;;;;; +CA84;HANGUL SYLLABLE JJYEO;Lo;0;L;;;;;N;;;;; +CA85;HANGUL SYLLABLE JJYEOG;Lo;0;L;;;;;N;;;;; +CA86;HANGUL SYLLABLE JJYEOGG;Lo;0;L;;;;;N;;;;; +CA87;HANGUL SYLLABLE JJYEOGS;Lo;0;L;;;;;N;;;;; +CA88;HANGUL SYLLABLE JJYEON;Lo;0;L;;;;;N;;;;; +CA89;HANGUL SYLLABLE JJYEONI;Lo;0;L;;;;;N;;;;; +CA8A;HANGUL SYLLABLE JJYEONH;Lo;0;L;;;;;N;;;;; +CA8B;HANGUL SYLLABLE JJYEOD;Lo;0;L;;;;;N;;;;; +CA8C;HANGUL SYLLABLE JJYEOL;Lo;0;L;;;;;N;;;;; +CA8D;HANGUL SYLLABLE JJYEOLG;Lo;0;L;;;;;N;;;;; +CA8E;HANGUL SYLLABLE JJYEOLM;Lo;0;L;;;;;N;;;;; +CA8F;HANGUL SYLLABLE JJYEOLB;Lo;0;L;;;;;N;;;;; +CA90;HANGUL SYLLABLE JJYEOLS;Lo;0;L;;;;;N;;;;; +CA91;HANGUL SYLLABLE JJYEOLT;Lo;0;L;;;;;N;;;;; +CA92;HANGUL SYLLABLE JJYEOLP;Lo;0;L;;;;;N;;;;; +CA93;HANGUL SYLLABLE JJYEOLH;Lo;0;L;;;;;N;;;;; +CA94;HANGUL SYLLABLE JJYEOM;Lo;0;L;;;;;N;;;;; +CA95;HANGUL SYLLABLE JJYEOB;Lo;0;L;;;;;N;;;;; +CA96;HANGUL SYLLABLE JJYEOBS;Lo;0;L;;;;;N;;;;; +CA97;HANGUL SYLLABLE JJYEOS;Lo;0;L;;;;;N;;;;; +CA98;HANGUL SYLLABLE JJYEOSS;Lo;0;L;;;;;N;;;;; +CA99;HANGUL SYLLABLE JJYEONG;Lo;0;L;;;;;N;;;;; +CA9A;HANGUL SYLLABLE JJYEOJ;Lo;0;L;;;;;N;;;;; +CA9B;HANGUL SYLLABLE JJYEOC;Lo;0;L;;;;;N;;;;; +CA9C;HANGUL SYLLABLE JJYEOK;Lo;0;L;;;;;N;;;;; +CA9D;HANGUL SYLLABLE JJYEOT;Lo;0;L;;;;;N;;;;; +CA9E;HANGUL SYLLABLE JJYEOP;Lo;0;L;;;;;N;;;;; +CA9F;HANGUL SYLLABLE JJYEOH;Lo;0;L;;;;;N;;;;; +CAA0;HANGUL SYLLABLE JJYE;Lo;0;L;;;;;N;;;;; +CAA1;HANGUL SYLLABLE JJYEG;Lo;0;L;;;;;N;;;;; +CAA2;HANGUL SYLLABLE JJYEGG;Lo;0;L;;;;;N;;;;; +CAA3;HANGUL SYLLABLE JJYEGS;Lo;0;L;;;;;N;;;;; +CAA4;HANGUL SYLLABLE JJYEN;Lo;0;L;;;;;N;;;;; +CAA5;HANGUL SYLLABLE JJYENI;Lo;0;L;;;;;N;;;;; +CAA6;HANGUL SYLLABLE JJYENH;Lo;0;L;;;;;N;;;;; +CAA7;HANGUL SYLLABLE JJYED;Lo;0;L;;;;;N;;;;; +CAA8;HANGUL SYLLABLE JJYEL;Lo;0;L;;;;;N;;;;; +CAA9;HANGUL SYLLABLE JJYELG;Lo;0;L;;;;;N;;;;; +CAAA;HANGUL SYLLABLE JJYELM;Lo;0;L;;;;;N;;;;; +CAAB;HANGUL SYLLABLE JJYELB;Lo;0;L;;;;;N;;;;; +CAAC;HANGUL SYLLABLE JJYELS;Lo;0;L;;;;;N;;;;; +CAAD;HANGUL SYLLABLE JJYELT;Lo;0;L;;;;;N;;;;; +CAAE;HANGUL SYLLABLE JJYELP;Lo;0;L;;;;;N;;;;; +CAAF;HANGUL SYLLABLE JJYELH;Lo;0;L;;;;;N;;;;; +CAB0;HANGUL SYLLABLE JJYEM;Lo;0;L;;;;;N;;;;; +CAB1;HANGUL SYLLABLE JJYEB;Lo;0;L;;;;;N;;;;; +CAB2;HANGUL SYLLABLE JJYEBS;Lo;0;L;;;;;N;;;;; +CAB3;HANGUL SYLLABLE JJYES;Lo;0;L;;;;;N;;;;; +CAB4;HANGUL SYLLABLE JJYESS;Lo;0;L;;;;;N;;;;; +CAB5;HANGUL SYLLABLE JJYENG;Lo;0;L;;;;;N;;;;; +CAB6;HANGUL SYLLABLE JJYEJ;Lo;0;L;;;;;N;;;;; +CAB7;HANGUL SYLLABLE JJYEC;Lo;0;L;;;;;N;;;;; +CAB8;HANGUL SYLLABLE JJYEK;Lo;0;L;;;;;N;;;;; +CAB9;HANGUL SYLLABLE JJYET;Lo;0;L;;;;;N;;;;; +CABA;HANGUL SYLLABLE JJYEP;Lo;0;L;;;;;N;;;;; +CABB;HANGUL SYLLABLE JJYEH;Lo;0;L;;;;;N;;;;; +CABC;HANGUL SYLLABLE JJO;Lo;0;L;;;;;N;;;;; +CABD;HANGUL SYLLABLE JJOG;Lo;0;L;;;;;N;;;;; +CABE;HANGUL SYLLABLE JJOGG;Lo;0;L;;;;;N;;;;; +CABF;HANGUL SYLLABLE JJOGS;Lo;0;L;;;;;N;;;;; +CAC0;HANGUL SYLLABLE JJON;Lo;0;L;;;;;N;;;;; +CAC1;HANGUL SYLLABLE JJONI;Lo;0;L;;;;;N;;;;; +CAC2;HANGUL SYLLABLE JJONH;Lo;0;L;;;;;N;;;;; +CAC3;HANGUL SYLLABLE JJOD;Lo;0;L;;;;;N;;;;; +CAC4;HANGUL SYLLABLE JJOL;Lo;0;L;;;;;N;;;;; +CAC5;HANGUL SYLLABLE JJOLG;Lo;0;L;;;;;N;;;;; +CAC6;HANGUL SYLLABLE JJOLM;Lo;0;L;;;;;N;;;;; +CAC7;HANGUL SYLLABLE JJOLB;Lo;0;L;;;;;N;;;;; +CAC8;HANGUL SYLLABLE JJOLS;Lo;0;L;;;;;N;;;;; +CAC9;HANGUL SYLLABLE JJOLT;Lo;0;L;;;;;N;;;;; +CACA;HANGUL SYLLABLE JJOLP;Lo;0;L;;;;;N;;;;; +CACB;HANGUL SYLLABLE JJOLH;Lo;0;L;;;;;N;;;;; +CACC;HANGUL SYLLABLE JJOM;Lo;0;L;;;;;N;;;;; +CACD;HANGUL SYLLABLE JJOB;Lo;0;L;;;;;N;;;;; +CACE;HANGUL SYLLABLE JJOBS;Lo;0;L;;;;;N;;;;; +CACF;HANGUL SYLLABLE JJOS;Lo;0;L;;;;;N;;;;; +CAD0;HANGUL SYLLABLE JJOSS;Lo;0;L;;;;;N;;;;; +CAD1;HANGUL SYLLABLE JJONG;Lo;0;L;;;;;N;;;;; +CAD2;HANGUL SYLLABLE JJOJ;Lo;0;L;;;;;N;;;;; +CAD3;HANGUL SYLLABLE JJOC;Lo;0;L;;;;;N;;;;; +CAD4;HANGUL SYLLABLE JJOK;Lo;0;L;;;;;N;;;;; +CAD5;HANGUL SYLLABLE JJOT;Lo;0;L;;;;;N;;;;; +CAD6;HANGUL SYLLABLE JJOP;Lo;0;L;;;;;N;;;;; +CAD7;HANGUL SYLLABLE JJOH;Lo;0;L;;;;;N;;;;; +CAD8;HANGUL SYLLABLE JJWA;Lo;0;L;;;;;N;;;;; +CAD9;HANGUL SYLLABLE JJWAG;Lo;0;L;;;;;N;;;;; +CADA;HANGUL SYLLABLE JJWAGG;Lo;0;L;;;;;N;;;;; +CADB;HANGUL SYLLABLE JJWAGS;Lo;0;L;;;;;N;;;;; +CADC;HANGUL SYLLABLE JJWAN;Lo;0;L;;;;;N;;;;; +CADD;HANGUL SYLLABLE JJWANI;Lo;0;L;;;;;N;;;;; +CADE;HANGUL SYLLABLE JJWANH;Lo;0;L;;;;;N;;;;; +CADF;HANGUL SYLLABLE JJWAD;Lo;0;L;;;;;N;;;;; +CAE0;HANGUL SYLLABLE JJWAL;Lo;0;L;;;;;N;;;;; +CAE1;HANGUL SYLLABLE JJWALG;Lo;0;L;;;;;N;;;;; +CAE2;HANGUL SYLLABLE JJWALM;Lo;0;L;;;;;N;;;;; +CAE3;HANGUL SYLLABLE JJWALB;Lo;0;L;;;;;N;;;;; +CAE4;HANGUL SYLLABLE JJWALS;Lo;0;L;;;;;N;;;;; +CAE5;HANGUL SYLLABLE JJWALT;Lo;0;L;;;;;N;;;;; +CAE6;HANGUL SYLLABLE JJWALP;Lo;0;L;;;;;N;;;;; +CAE7;HANGUL SYLLABLE JJWALH;Lo;0;L;;;;;N;;;;; +CAE8;HANGUL SYLLABLE JJWAM;Lo;0;L;;;;;N;;;;; +CAE9;HANGUL SYLLABLE JJWAB;Lo;0;L;;;;;N;;;;; +CAEA;HANGUL SYLLABLE JJWABS;Lo;0;L;;;;;N;;;;; +CAEB;HANGUL SYLLABLE JJWAS;Lo;0;L;;;;;N;;;;; +CAEC;HANGUL SYLLABLE JJWASS;Lo;0;L;;;;;N;;;;; +CAED;HANGUL SYLLABLE JJWANG;Lo;0;L;;;;;N;;;;; +CAEE;HANGUL SYLLABLE JJWAJ;Lo;0;L;;;;;N;;;;; +CAEF;HANGUL SYLLABLE JJWAC;Lo;0;L;;;;;N;;;;; +CAF0;HANGUL SYLLABLE JJWAK;Lo;0;L;;;;;N;;;;; +CAF1;HANGUL SYLLABLE JJWAT;Lo;0;L;;;;;N;;;;; +CAF2;HANGUL SYLLABLE JJWAP;Lo;0;L;;;;;N;;;;; +CAF3;HANGUL SYLLABLE JJWAH;Lo;0;L;;;;;N;;;;; +CAF4;HANGUL SYLLABLE JJWAE;Lo;0;L;;;;;N;;;;; +CAF5;HANGUL SYLLABLE JJWAEG;Lo;0;L;;;;;N;;;;; +CAF6;HANGUL SYLLABLE JJWAEGG;Lo;0;L;;;;;N;;;;; +CAF7;HANGUL SYLLABLE JJWAEGS;Lo;0;L;;;;;N;;;;; +CAF8;HANGUL SYLLABLE JJWAEN;Lo;0;L;;;;;N;;;;; +CAF9;HANGUL SYLLABLE JJWAENI;Lo;0;L;;;;;N;;;;; +CAFA;HANGUL SYLLABLE JJWAENH;Lo;0;L;;;;;N;;;;; +CAFB;HANGUL SYLLABLE JJWAED;Lo;0;L;;;;;N;;;;; +CAFC;HANGUL SYLLABLE JJWAEL;Lo;0;L;;;;;N;;;;; +CAFD;HANGUL SYLLABLE JJWAELG;Lo;0;L;;;;;N;;;;; +CAFE;HANGUL SYLLABLE JJWAELM;Lo;0;L;;;;;N;;;;; +CAFF;HANGUL SYLLABLE JJWAELB;Lo;0;L;;;;;N;;;;; +CB00;HANGUL SYLLABLE JJWAELS;Lo;0;L;;;;;N;;;;; +CB01;HANGUL SYLLABLE JJWAELT;Lo;0;L;;;;;N;;;;; +CB02;HANGUL SYLLABLE JJWAELP;Lo;0;L;;;;;N;;;;; +CB03;HANGUL SYLLABLE JJWAELH;Lo;0;L;;;;;N;;;;; +CB04;HANGUL SYLLABLE JJWAEM;Lo;0;L;;;;;N;;;;; +CB05;HANGUL SYLLABLE JJWAEB;Lo;0;L;;;;;N;;;;; +CB06;HANGUL SYLLABLE JJWAEBS;Lo;0;L;;;;;N;;;;; +CB07;HANGUL SYLLABLE JJWAES;Lo;0;L;;;;;N;;;;; +CB08;HANGUL SYLLABLE JJWAESS;Lo;0;L;;;;;N;;;;; +CB09;HANGUL SYLLABLE JJWAENG;Lo;0;L;;;;;N;;;;; +CB0A;HANGUL SYLLABLE JJWAEJ;Lo;0;L;;;;;N;;;;; +CB0B;HANGUL SYLLABLE JJWAEC;Lo;0;L;;;;;N;;;;; +CB0C;HANGUL SYLLABLE JJWAEK;Lo;0;L;;;;;N;;;;; +CB0D;HANGUL SYLLABLE JJWAET;Lo;0;L;;;;;N;;;;; +CB0E;HANGUL SYLLABLE JJWAEP;Lo;0;L;;;;;N;;;;; +CB0F;HANGUL SYLLABLE JJWAEH;Lo;0;L;;;;;N;;;;; +CB10;HANGUL SYLLABLE JJOE;Lo;0;L;;;;;N;;;;; +CB11;HANGUL SYLLABLE JJOEG;Lo;0;L;;;;;N;;;;; +CB12;HANGUL SYLLABLE JJOEGG;Lo;0;L;;;;;N;;;;; +CB13;HANGUL SYLLABLE JJOEGS;Lo;0;L;;;;;N;;;;; +CB14;HANGUL SYLLABLE JJOEN;Lo;0;L;;;;;N;;;;; +CB15;HANGUL SYLLABLE JJOENI;Lo;0;L;;;;;N;;;;; +CB16;HANGUL SYLLABLE JJOENH;Lo;0;L;;;;;N;;;;; +CB17;HANGUL SYLLABLE JJOED;Lo;0;L;;;;;N;;;;; +CB18;HANGUL SYLLABLE JJOEL;Lo;0;L;;;;;N;;;;; +CB19;HANGUL SYLLABLE JJOELG;Lo;0;L;;;;;N;;;;; +CB1A;HANGUL SYLLABLE JJOELM;Lo;0;L;;;;;N;;;;; +CB1B;HANGUL SYLLABLE JJOELB;Lo;0;L;;;;;N;;;;; +CB1C;HANGUL SYLLABLE JJOELS;Lo;0;L;;;;;N;;;;; +CB1D;HANGUL SYLLABLE JJOELT;Lo;0;L;;;;;N;;;;; +CB1E;HANGUL SYLLABLE JJOELP;Lo;0;L;;;;;N;;;;; +CB1F;HANGUL SYLLABLE JJOELH;Lo;0;L;;;;;N;;;;; +CB20;HANGUL SYLLABLE JJOEM;Lo;0;L;;;;;N;;;;; +CB21;HANGUL SYLLABLE JJOEB;Lo;0;L;;;;;N;;;;; +CB22;HANGUL SYLLABLE JJOEBS;Lo;0;L;;;;;N;;;;; +CB23;HANGUL SYLLABLE JJOES;Lo;0;L;;;;;N;;;;; +CB24;HANGUL SYLLABLE JJOESS;Lo;0;L;;;;;N;;;;; +CB25;HANGUL SYLLABLE JJOENG;Lo;0;L;;;;;N;;;;; +CB26;HANGUL SYLLABLE JJOEJ;Lo;0;L;;;;;N;;;;; +CB27;HANGUL SYLLABLE JJOEC;Lo;0;L;;;;;N;;;;; +CB28;HANGUL SYLLABLE JJOEK;Lo;0;L;;;;;N;;;;; +CB29;HANGUL SYLLABLE JJOET;Lo;0;L;;;;;N;;;;; +CB2A;HANGUL SYLLABLE JJOEP;Lo;0;L;;;;;N;;;;; +CB2B;HANGUL SYLLABLE JJOEH;Lo;0;L;;;;;N;;;;; +CB2C;HANGUL SYLLABLE JJYO;Lo;0;L;;;;;N;;;;; +CB2D;HANGUL SYLLABLE JJYOG;Lo;0;L;;;;;N;;;;; +CB2E;HANGUL SYLLABLE JJYOGG;Lo;0;L;;;;;N;;;;; +CB2F;HANGUL SYLLABLE JJYOGS;Lo;0;L;;;;;N;;;;; +CB30;HANGUL SYLLABLE JJYON;Lo;0;L;;;;;N;;;;; +CB31;HANGUL SYLLABLE JJYONI;Lo;0;L;;;;;N;;;;; +CB32;HANGUL SYLLABLE JJYONH;Lo;0;L;;;;;N;;;;; +CB33;HANGUL SYLLABLE JJYOD;Lo;0;L;;;;;N;;;;; +CB34;HANGUL SYLLABLE JJYOL;Lo;0;L;;;;;N;;;;; +CB35;HANGUL SYLLABLE JJYOLG;Lo;0;L;;;;;N;;;;; +CB36;HANGUL SYLLABLE JJYOLM;Lo;0;L;;;;;N;;;;; +CB37;HANGUL SYLLABLE JJYOLB;Lo;0;L;;;;;N;;;;; +CB38;HANGUL SYLLABLE JJYOLS;Lo;0;L;;;;;N;;;;; +CB39;HANGUL SYLLABLE JJYOLT;Lo;0;L;;;;;N;;;;; +CB3A;HANGUL SYLLABLE JJYOLP;Lo;0;L;;;;;N;;;;; +CB3B;HANGUL SYLLABLE JJYOLH;Lo;0;L;;;;;N;;;;; +CB3C;HANGUL SYLLABLE JJYOM;Lo;0;L;;;;;N;;;;; +CB3D;HANGUL SYLLABLE JJYOB;Lo;0;L;;;;;N;;;;; +CB3E;HANGUL SYLLABLE JJYOBS;Lo;0;L;;;;;N;;;;; +CB3F;HANGUL SYLLABLE JJYOS;Lo;0;L;;;;;N;;;;; +CB40;HANGUL SYLLABLE JJYOSS;Lo;0;L;;;;;N;;;;; +CB41;HANGUL SYLLABLE JJYONG;Lo;0;L;;;;;N;;;;; +CB42;HANGUL SYLLABLE JJYOJ;Lo;0;L;;;;;N;;;;; +CB43;HANGUL SYLLABLE JJYOC;Lo;0;L;;;;;N;;;;; +CB44;HANGUL SYLLABLE JJYOK;Lo;0;L;;;;;N;;;;; +CB45;HANGUL SYLLABLE JJYOT;Lo;0;L;;;;;N;;;;; +CB46;HANGUL SYLLABLE JJYOP;Lo;0;L;;;;;N;;;;; +CB47;HANGUL SYLLABLE JJYOH;Lo;0;L;;;;;N;;;;; +CB48;HANGUL SYLLABLE JJU;Lo;0;L;;;;;N;;;;; +CB49;HANGUL SYLLABLE JJUG;Lo;0;L;;;;;N;;;;; +CB4A;HANGUL SYLLABLE JJUGG;Lo;0;L;;;;;N;;;;; +CB4B;HANGUL SYLLABLE JJUGS;Lo;0;L;;;;;N;;;;; +CB4C;HANGUL SYLLABLE JJUN;Lo;0;L;;;;;N;;;;; +CB4D;HANGUL SYLLABLE JJUNI;Lo;0;L;;;;;N;;;;; +CB4E;HANGUL SYLLABLE JJUNH;Lo;0;L;;;;;N;;;;; +CB4F;HANGUL SYLLABLE JJUD;Lo;0;L;;;;;N;;;;; +CB50;HANGUL SYLLABLE JJUL;Lo;0;L;;;;;N;;;;; +CB51;HANGUL SYLLABLE JJULG;Lo;0;L;;;;;N;;;;; +CB52;HANGUL SYLLABLE JJULM;Lo;0;L;;;;;N;;;;; +CB53;HANGUL SYLLABLE JJULB;Lo;0;L;;;;;N;;;;; +CB54;HANGUL SYLLABLE JJULS;Lo;0;L;;;;;N;;;;; +CB55;HANGUL SYLLABLE JJULT;Lo;0;L;;;;;N;;;;; +CB56;HANGUL SYLLABLE JJULP;Lo;0;L;;;;;N;;;;; +CB57;HANGUL SYLLABLE JJULH;Lo;0;L;;;;;N;;;;; +CB58;HANGUL SYLLABLE JJUM;Lo;0;L;;;;;N;;;;; +CB59;HANGUL SYLLABLE JJUB;Lo;0;L;;;;;N;;;;; +CB5A;HANGUL SYLLABLE JJUBS;Lo;0;L;;;;;N;;;;; +CB5B;HANGUL SYLLABLE JJUS;Lo;0;L;;;;;N;;;;; +CB5C;HANGUL SYLLABLE JJUSS;Lo;0;L;;;;;N;;;;; +CB5D;HANGUL SYLLABLE JJUNG;Lo;0;L;;;;;N;;;;; +CB5E;HANGUL SYLLABLE JJUJ;Lo;0;L;;;;;N;;;;; +CB5F;HANGUL SYLLABLE JJUC;Lo;0;L;;;;;N;;;;; +CB60;HANGUL SYLLABLE JJUK;Lo;0;L;;;;;N;;;;; +CB61;HANGUL SYLLABLE JJUT;Lo;0;L;;;;;N;;;;; +CB62;HANGUL SYLLABLE JJUP;Lo;0;L;;;;;N;;;;; +CB63;HANGUL SYLLABLE JJUH;Lo;0;L;;;;;N;;;;; +CB64;HANGUL SYLLABLE JJWEO;Lo;0;L;;;;;N;;;;; +CB65;HANGUL SYLLABLE JJWEOG;Lo;0;L;;;;;N;;;;; +CB66;HANGUL SYLLABLE JJWEOGG;Lo;0;L;;;;;N;;;;; +CB67;HANGUL SYLLABLE JJWEOGS;Lo;0;L;;;;;N;;;;; +CB68;HANGUL SYLLABLE JJWEON;Lo;0;L;;;;;N;;;;; +CB69;HANGUL SYLLABLE JJWEONI;Lo;0;L;;;;;N;;;;; +CB6A;HANGUL SYLLABLE JJWEONH;Lo;0;L;;;;;N;;;;; +CB6B;HANGUL SYLLABLE JJWEOD;Lo;0;L;;;;;N;;;;; +CB6C;HANGUL SYLLABLE JJWEOL;Lo;0;L;;;;;N;;;;; +CB6D;HANGUL SYLLABLE JJWEOLG;Lo;0;L;;;;;N;;;;; +CB6E;HANGUL SYLLABLE JJWEOLM;Lo;0;L;;;;;N;;;;; +CB6F;HANGUL SYLLABLE JJWEOLB;Lo;0;L;;;;;N;;;;; +CB70;HANGUL SYLLABLE JJWEOLS;Lo;0;L;;;;;N;;;;; +CB71;HANGUL SYLLABLE JJWEOLT;Lo;0;L;;;;;N;;;;; +CB72;HANGUL SYLLABLE JJWEOLP;Lo;0;L;;;;;N;;;;; +CB73;HANGUL SYLLABLE JJWEOLH;Lo;0;L;;;;;N;;;;; +CB74;HANGUL SYLLABLE JJWEOM;Lo;0;L;;;;;N;;;;; +CB75;HANGUL SYLLABLE JJWEOB;Lo;0;L;;;;;N;;;;; +CB76;HANGUL SYLLABLE JJWEOBS;Lo;0;L;;;;;N;;;;; +CB77;HANGUL SYLLABLE JJWEOS;Lo;0;L;;;;;N;;;;; +CB78;HANGUL SYLLABLE JJWEOSS;Lo;0;L;;;;;N;;;;; +CB79;HANGUL SYLLABLE JJWEONG;Lo;0;L;;;;;N;;;;; +CB7A;HANGUL SYLLABLE JJWEOJ;Lo;0;L;;;;;N;;;;; +CB7B;HANGUL SYLLABLE JJWEOC;Lo;0;L;;;;;N;;;;; +CB7C;HANGUL SYLLABLE JJWEOK;Lo;0;L;;;;;N;;;;; +CB7D;HANGUL SYLLABLE JJWEOT;Lo;0;L;;;;;N;;;;; +CB7E;HANGUL SYLLABLE JJWEOP;Lo;0;L;;;;;N;;;;; +CB7F;HANGUL SYLLABLE JJWEOH;Lo;0;L;;;;;N;;;;; +CB80;HANGUL SYLLABLE JJWE;Lo;0;L;;;;;N;;;;; +CB81;HANGUL SYLLABLE JJWEG;Lo;0;L;;;;;N;;;;; +CB82;HANGUL SYLLABLE JJWEGG;Lo;0;L;;;;;N;;;;; +CB83;HANGUL SYLLABLE JJWEGS;Lo;0;L;;;;;N;;;;; +CB84;HANGUL SYLLABLE JJWEN;Lo;0;L;;;;;N;;;;; +CB85;HANGUL SYLLABLE JJWENI;Lo;0;L;;;;;N;;;;; +CB86;HANGUL SYLLABLE JJWENH;Lo;0;L;;;;;N;;;;; +CB87;HANGUL SYLLABLE JJWED;Lo;0;L;;;;;N;;;;; +CB88;HANGUL SYLLABLE JJWEL;Lo;0;L;;;;;N;;;;; +CB89;HANGUL SYLLABLE JJWELG;Lo;0;L;;;;;N;;;;; +CB8A;HANGUL SYLLABLE JJWELM;Lo;0;L;;;;;N;;;;; +CB8B;HANGUL SYLLABLE JJWELB;Lo;0;L;;;;;N;;;;; +CB8C;HANGUL SYLLABLE JJWELS;Lo;0;L;;;;;N;;;;; +CB8D;HANGUL SYLLABLE JJWELT;Lo;0;L;;;;;N;;;;; +CB8E;HANGUL SYLLABLE JJWELP;Lo;0;L;;;;;N;;;;; +CB8F;HANGUL SYLLABLE JJWELH;Lo;0;L;;;;;N;;;;; +CB90;HANGUL SYLLABLE JJWEM;Lo;0;L;;;;;N;;;;; +CB91;HANGUL SYLLABLE JJWEB;Lo;0;L;;;;;N;;;;; +CB92;HANGUL SYLLABLE JJWEBS;Lo;0;L;;;;;N;;;;; +CB93;HANGUL SYLLABLE JJWES;Lo;0;L;;;;;N;;;;; +CB94;HANGUL SYLLABLE JJWESS;Lo;0;L;;;;;N;;;;; +CB95;HANGUL SYLLABLE JJWENG;Lo;0;L;;;;;N;;;;; +CB96;HANGUL SYLLABLE JJWEJ;Lo;0;L;;;;;N;;;;; +CB97;HANGUL SYLLABLE JJWEC;Lo;0;L;;;;;N;;;;; +CB98;HANGUL SYLLABLE JJWEK;Lo;0;L;;;;;N;;;;; +CB99;HANGUL SYLLABLE JJWET;Lo;0;L;;;;;N;;;;; +CB9A;HANGUL SYLLABLE JJWEP;Lo;0;L;;;;;N;;;;; +CB9B;HANGUL SYLLABLE JJWEH;Lo;0;L;;;;;N;;;;; +CB9C;HANGUL SYLLABLE JJWI;Lo;0;L;;;;;N;;;;; +CB9D;HANGUL SYLLABLE JJWIG;Lo;0;L;;;;;N;;;;; +CB9E;HANGUL SYLLABLE JJWIGG;Lo;0;L;;;;;N;;;;; +CB9F;HANGUL SYLLABLE JJWIGS;Lo;0;L;;;;;N;;;;; +CBA0;HANGUL SYLLABLE JJWIN;Lo;0;L;;;;;N;;;;; +CBA1;HANGUL SYLLABLE JJWINI;Lo;0;L;;;;;N;;;;; +CBA2;HANGUL SYLLABLE JJWINH;Lo;0;L;;;;;N;;;;; +CBA3;HANGUL SYLLABLE JJWID;Lo;0;L;;;;;N;;;;; +CBA4;HANGUL SYLLABLE JJWIL;Lo;0;L;;;;;N;;;;; +CBA5;HANGUL SYLLABLE JJWILG;Lo;0;L;;;;;N;;;;; +CBA6;HANGUL SYLLABLE JJWILM;Lo;0;L;;;;;N;;;;; +CBA7;HANGUL SYLLABLE JJWILB;Lo;0;L;;;;;N;;;;; +CBA8;HANGUL SYLLABLE JJWILS;Lo;0;L;;;;;N;;;;; +CBA9;HANGUL SYLLABLE JJWILT;Lo;0;L;;;;;N;;;;; +CBAA;HANGUL SYLLABLE JJWILP;Lo;0;L;;;;;N;;;;; +CBAB;HANGUL SYLLABLE JJWILH;Lo;0;L;;;;;N;;;;; +CBAC;HANGUL SYLLABLE JJWIM;Lo;0;L;;;;;N;;;;; +CBAD;HANGUL SYLLABLE JJWIB;Lo;0;L;;;;;N;;;;; +CBAE;HANGUL SYLLABLE JJWIBS;Lo;0;L;;;;;N;;;;; +CBAF;HANGUL SYLLABLE JJWIS;Lo;0;L;;;;;N;;;;; +CBB0;HANGUL SYLLABLE JJWISS;Lo;0;L;;;;;N;;;;; +CBB1;HANGUL SYLLABLE JJWING;Lo;0;L;;;;;N;;;;; +CBB2;HANGUL SYLLABLE JJWIJ;Lo;0;L;;;;;N;;;;; +CBB3;HANGUL SYLLABLE JJWIC;Lo;0;L;;;;;N;;;;; +CBB4;HANGUL SYLLABLE JJWIK;Lo;0;L;;;;;N;;;;; +CBB5;HANGUL SYLLABLE JJWIT;Lo;0;L;;;;;N;;;;; +CBB6;HANGUL SYLLABLE JJWIP;Lo;0;L;;;;;N;;;;; +CBB7;HANGUL SYLLABLE JJWIH;Lo;0;L;;;;;N;;;;; +CBB8;HANGUL SYLLABLE JJYU;Lo;0;L;;;;;N;;;;; +CBB9;HANGUL SYLLABLE JJYUG;Lo;0;L;;;;;N;;;;; +CBBA;HANGUL SYLLABLE JJYUGG;Lo;0;L;;;;;N;;;;; +CBBB;HANGUL SYLLABLE JJYUGS;Lo;0;L;;;;;N;;;;; +CBBC;HANGUL SYLLABLE JJYUN;Lo;0;L;;;;;N;;;;; +CBBD;HANGUL SYLLABLE JJYUNI;Lo;0;L;;;;;N;;;;; +CBBE;HANGUL SYLLABLE JJYUNH;Lo;0;L;;;;;N;;;;; +CBBF;HANGUL SYLLABLE JJYUD;Lo;0;L;;;;;N;;;;; +CBC0;HANGUL SYLLABLE JJYUL;Lo;0;L;;;;;N;;;;; +CBC1;HANGUL SYLLABLE JJYULG;Lo;0;L;;;;;N;;;;; +CBC2;HANGUL SYLLABLE JJYULM;Lo;0;L;;;;;N;;;;; +CBC3;HANGUL SYLLABLE JJYULB;Lo;0;L;;;;;N;;;;; +CBC4;HANGUL SYLLABLE JJYULS;Lo;0;L;;;;;N;;;;; +CBC5;HANGUL SYLLABLE JJYULT;Lo;0;L;;;;;N;;;;; +CBC6;HANGUL SYLLABLE JJYULP;Lo;0;L;;;;;N;;;;; +CBC7;HANGUL SYLLABLE JJYULH;Lo;0;L;;;;;N;;;;; +CBC8;HANGUL SYLLABLE JJYUM;Lo;0;L;;;;;N;;;;; +CBC9;HANGUL SYLLABLE JJYUB;Lo;0;L;;;;;N;;;;; +CBCA;HANGUL SYLLABLE JJYUBS;Lo;0;L;;;;;N;;;;; +CBCB;HANGUL SYLLABLE JJYUS;Lo;0;L;;;;;N;;;;; +CBCC;HANGUL SYLLABLE JJYUSS;Lo;0;L;;;;;N;;;;; +CBCD;HANGUL SYLLABLE JJYUNG;Lo;0;L;;;;;N;;;;; +CBCE;HANGUL SYLLABLE JJYUJ;Lo;0;L;;;;;N;;;;; +CBCF;HANGUL SYLLABLE JJYUC;Lo;0;L;;;;;N;;;;; +CBD0;HANGUL SYLLABLE JJYUK;Lo;0;L;;;;;N;;;;; +CBD1;HANGUL SYLLABLE JJYUT;Lo;0;L;;;;;N;;;;; +CBD2;HANGUL SYLLABLE JJYUP;Lo;0;L;;;;;N;;;;; +CBD3;HANGUL SYLLABLE JJYUH;Lo;0;L;;;;;N;;;;; +CBD4;HANGUL SYLLABLE JJEU;Lo;0;L;;;;;N;;;;; +CBD5;HANGUL SYLLABLE JJEUG;Lo;0;L;;;;;N;;;;; +CBD6;HANGUL SYLLABLE JJEUGG;Lo;0;L;;;;;N;;;;; +CBD7;HANGUL SYLLABLE JJEUGS;Lo;0;L;;;;;N;;;;; +CBD8;HANGUL SYLLABLE JJEUN;Lo;0;L;;;;;N;;;;; +CBD9;HANGUL SYLLABLE JJEUNI;Lo;0;L;;;;;N;;;;; +CBDA;HANGUL SYLLABLE JJEUNH;Lo;0;L;;;;;N;;;;; +CBDB;HANGUL SYLLABLE JJEUD;Lo;0;L;;;;;N;;;;; +CBDC;HANGUL SYLLABLE JJEUL;Lo;0;L;;;;;N;;;;; +CBDD;HANGUL SYLLABLE JJEULG;Lo;0;L;;;;;N;;;;; +CBDE;HANGUL SYLLABLE JJEULM;Lo;0;L;;;;;N;;;;; +CBDF;HANGUL SYLLABLE JJEULB;Lo;0;L;;;;;N;;;;; +CBE0;HANGUL SYLLABLE JJEULS;Lo;0;L;;;;;N;;;;; +CBE1;HANGUL SYLLABLE JJEULT;Lo;0;L;;;;;N;;;;; +CBE2;HANGUL SYLLABLE JJEULP;Lo;0;L;;;;;N;;;;; +CBE3;HANGUL SYLLABLE JJEULH;Lo;0;L;;;;;N;;;;; +CBE4;HANGUL SYLLABLE JJEUM;Lo;0;L;;;;;N;;;;; +CBE5;HANGUL SYLLABLE JJEUB;Lo;0;L;;;;;N;;;;; +CBE6;HANGUL SYLLABLE JJEUBS;Lo;0;L;;;;;N;;;;; +CBE7;HANGUL SYLLABLE JJEUS;Lo;0;L;;;;;N;;;;; +CBE8;HANGUL SYLLABLE JJEUSS;Lo;0;L;;;;;N;;;;; +CBE9;HANGUL SYLLABLE JJEUNG;Lo;0;L;;;;;N;;;;; +CBEA;HANGUL SYLLABLE JJEUJ;Lo;0;L;;;;;N;;;;; +CBEB;HANGUL SYLLABLE JJEUC;Lo;0;L;;;;;N;;;;; +CBEC;HANGUL SYLLABLE JJEUK;Lo;0;L;;;;;N;;;;; +CBED;HANGUL SYLLABLE JJEUT;Lo;0;L;;;;;N;;;;; +CBEE;HANGUL SYLLABLE JJEUP;Lo;0;L;;;;;N;;;;; +CBEF;HANGUL SYLLABLE JJEUH;Lo;0;L;;;;;N;;;;; +CBF0;HANGUL SYLLABLE JJYI;Lo;0;L;;;;;N;;;;; +CBF1;HANGUL SYLLABLE JJYIG;Lo;0;L;;;;;N;;;;; +CBF2;HANGUL SYLLABLE JJYIGG;Lo;0;L;;;;;N;;;;; +CBF3;HANGUL SYLLABLE JJYIGS;Lo;0;L;;;;;N;;;;; +CBF4;HANGUL SYLLABLE JJYIN;Lo;0;L;;;;;N;;;;; +CBF5;HANGUL SYLLABLE JJYINI;Lo;0;L;;;;;N;;;;; +CBF6;HANGUL SYLLABLE JJYINH;Lo;0;L;;;;;N;;;;; +CBF7;HANGUL SYLLABLE JJYID;Lo;0;L;;;;;N;;;;; +CBF8;HANGUL SYLLABLE JJYIL;Lo;0;L;;;;;N;;;;; +CBF9;HANGUL SYLLABLE JJYILG;Lo;0;L;;;;;N;;;;; +CBFA;HANGUL SYLLABLE JJYILM;Lo;0;L;;;;;N;;;;; +CBFB;HANGUL SYLLABLE JJYILB;Lo;0;L;;;;;N;;;;; +CBFC;HANGUL SYLLABLE JJYILS;Lo;0;L;;;;;N;;;;; +CBFD;HANGUL SYLLABLE JJYILT;Lo;0;L;;;;;N;;;;; +CBFE;HANGUL SYLLABLE JJYILP;Lo;0;L;;;;;N;;;;; +CBFF;HANGUL SYLLABLE JJYILH;Lo;0;L;;;;;N;;;;; +CC00;HANGUL SYLLABLE JJYIM;Lo;0;L;;;;;N;;;;; +CC01;HANGUL SYLLABLE JJYIB;Lo;0;L;;;;;N;;;;; +CC02;HANGUL SYLLABLE JJYIBS;Lo;0;L;;;;;N;;;;; +CC03;HANGUL SYLLABLE JJYIS;Lo;0;L;;;;;N;;;;; +CC04;HANGUL SYLLABLE JJYISS;Lo;0;L;;;;;N;;;;; +CC05;HANGUL SYLLABLE JJYING;Lo;0;L;;;;;N;;;;; +CC06;HANGUL SYLLABLE JJYIJ;Lo;0;L;;;;;N;;;;; +CC07;HANGUL SYLLABLE JJYIC;Lo;0;L;;;;;N;;;;; +CC08;HANGUL SYLLABLE JJYIK;Lo;0;L;;;;;N;;;;; +CC09;HANGUL SYLLABLE JJYIT;Lo;0;L;;;;;N;;;;; +CC0A;HANGUL SYLLABLE JJYIP;Lo;0;L;;;;;N;;;;; +CC0B;HANGUL SYLLABLE JJYIH;Lo;0;L;;;;;N;;;;; +CC0C;HANGUL SYLLABLE JJI;Lo;0;L;;;;;N;;;;; +CC0D;HANGUL SYLLABLE JJIG;Lo;0;L;;;;;N;;;;; +CC0E;HANGUL SYLLABLE JJIGG;Lo;0;L;;;;;N;;;;; +CC0F;HANGUL SYLLABLE JJIGS;Lo;0;L;;;;;N;;;;; +CC10;HANGUL SYLLABLE JJIN;Lo;0;L;;;;;N;;;;; +CC11;HANGUL SYLLABLE JJINI;Lo;0;L;;;;;N;;;;; +CC12;HANGUL SYLLABLE JJINH;Lo;0;L;;;;;N;;;;; +CC13;HANGUL SYLLABLE JJID;Lo;0;L;;;;;N;;;;; +CC14;HANGUL SYLLABLE JJIL;Lo;0;L;;;;;N;;;;; +CC15;HANGUL SYLLABLE JJILG;Lo;0;L;;;;;N;;;;; +CC16;HANGUL SYLLABLE JJILM;Lo;0;L;;;;;N;;;;; +CC17;HANGUL SYLLABLE JJILB;Lo;0;L;;;;;N;;;;; +CC18;HANGUL SYLLABLE JJILS;Lo;0;L;;;;;N;;;;; +CC19;HANGUL SYLLABLE JJILT;Lo;0;L;;;;;N;;;;; +CC1A;HANGUL SYLLABLE JJILP;Lo;0;L;;;;;N;;;;; +CC1B;HANGUL SYLLABLE JJILH;Lo;0;L;;;;;N;;;;; +CC1C;HANGUL SYLLABLE JJIM;Lo;0;L;;;;;N;;;;; +CC1D;HANGUL SYLLABLE JJIB;Lo;0;L;;;;;N;;;;; +CC1E;HANGUL SYLLABLE JJIBS;Lo;0;L;;;;;N;;;;; +CC1F;HANGUL SYLLABLE JJIS;Lo;0;L;;;;;N;;;;; +CC20;HANGUL SYLLABLE JJISS;Lo;0;L;;;;;N;;;;; +CC21;HANGUL SYLLABLE JJING;Lo;0;L;;;;;N;;;;; +CC22;HANGUL SYLLABLE JJIJ;Lo;0;L;;;;;N;;;;; +CC23;HANGUL SYLLABLE JJIC;Lo;0;L;;;;;N;;;;; +CC24;HANGUL SYLLABLE JJIK;Lo;0;L;;;;;N;;;;; +CC25;HANGUL SYLLABLE JJIT;Lo;0;L;;;;;N;;;;; +CC26;HANGUL SYLLABLE JJIP;Lo;0;L;;;;;N;;;;; +CC27;HANGUL SYLLABLE JJIH;Lo;0;L;;;;;N;;;;; +CC28;HANGUL SYLLABLE CA;Lo;0;L;;;;;N;;;;; +CC29;HANGUL SYLLABLE CAG;Lo;0;L;;;;;N;;;;; +CC2A;HANGUL SYLLABLE CAGG;Lo;0;L;;;;;N;;;;; +CC2B;HANGUL SYLLABLE CAGS;Lo;0;L;;;;;N;;;;; +CC2C;HANGUL SYLLABLE CAN;Lo;0;L;;;;;N;;;;; +CC2D;HANGUL SYLLABLE CANI;Lo;0;L;;;;;N;;;;; +CC2E;HANGUL SYLLABLE CANH;Lo;0;L;;;;;N;;;;; +CC2F;HANGUL SYLLABLE CAD;Lo;0;L;;;;;N;;;;; +CC30;HANGUL SYLLABLE CAL;Lo;0;L;;;;;N;;;;; +CC31;HANGUL SYLLABLE CALG;Lo;0;L;;;;;N;;;;; +CC32;HANGUL SYLLABLE CALM;Lo;0;L;;;;;N;;;;; +CC33;HANGUL SYLLABLE CALB;Lo;0;L;;;;;N;;;;; +CC34;HANGUL SYLLABLE CALS;Lo;0;L;;;;;N;;;;; +CC35;HANGUL SYLLABLE CALT;Lo;0;L;;;;;N;;;;; +CC36;HANGUL SYLLABLE CALP;Lo;0;L;;;;;N;;;;; +CC37;HANGUL SYLLABLE CALH;Lo;0;L;;;;;N;;;;; +CC38;HANGUL SYLLABLE CAM;Lo;0;L;;;;;N;;;;; +CC39;HANGUL SYLLABLE CAB;Lo;0;L;;;;;N;;;;; +CC3A;HANGUL SYLLABLE CABS;Lo;0;L;;;;;N;;;;; +CC3B;HANGUL SYLLABLE CAS;Lo;0;L;;;;;N;;;;; +CC3C;HANGUL SYLLABLE CASS;Lo;0;L;;;;;N;;;;; +CC3D;HANGUL SYLLABLE CANG;Lo;0;L;;;;;N;;;;; +CC3E;HANGUL SYLLABLE CAJ;Lo;0;L;;;;;N;;;;; +CC3F;HANGUL SYLLABLE CAC;Lo;0;L;;;;;N;;;;; +CC40;HANGUL SYLLABLE CAK;Lo;0;L;;;;;N;;;;; +CC41;HANGUL SYLLABLE CAT;Lo;0;L;;;;;N;;;;; +CC42;HANGUL SYLLABLE CAP;Lo;0;L;;;;;N;;;;; +CC43;HANGUL SYLLABLE CAH;Lo;0;L;;;;;N;;;;; +CC44;HANGUL SYLLABLE CAE;Lo;0;L;;;;;N;;;;; +CC45;HANGUL SYLLABLE CAEG;Lo;0;L;;;;;N;;;;; +CC46;HANGUL SYLLABLE CAEGG;Lo;0;L;;;;;N;;;;; +CC47;HANGUL SYLLABLE CAEGS;Lo;0;L;;;;;N;;;;; +CC48;HANGUL SYLLABLE CAEN;Lo;0;L;;;;;N;;;;; +CC49;HANGUL SYLLABLE CAENI;Lo;0;L;;;;;N;;;;; +CC4A;HANGUL SYLLABLE CAENH;Lo;0;L;;;;;N;;;;; +CC4B;HANGUL SYLLABLE CAED;Lo;0;L;;;;;N;;;;; +CC4C;HANGUL SYLLABLE CAEL;Lo;0;L;;;;;N;;;;; +CC4D;HANGUL SYLLABLE CAELG;Lo;0;L;;;;;N;;;;; +CC4E;HANGUL SYLLABLE CAELM;Lo;0;L;;;;;N;;;;; +CC4F;HANGUL SYLLABLE CAELB;Lo;0;L;;;;;N;;;;; +CC50;HANGUL SYLLABLE CAELS;Lo;0;L;;;;;N;;;;; +CC51;HANGUL SYLLABLE CAELT;Lo;0;L;;;;;N;;;;; +CC52;HANGUL SYLLABLE CAELP;Lo;0;L;;;;;N;;;;; +CC53;HANGUL SYLLABLE CAELH;Lo;0;L;;;;;N;;;;; +CC54;HANGUL SYLLABLE CAEM;Lo;0;L;;;;;N;;;;; +CC55;HANGUL SYLLABLE CAEB;Lo;0;L;;;;;N;;;;; +CC56;HANGUL SYLLABLE CAEBS;Lo;0;L;;;;;N;;;;; +CC57;HANGUL SYLLABLE CAES;Lo;0;L;;;;;N;;;;; +CC58;HANGUL SYLLABLE CAESS;Lo;0;L;;;;;N;;;;; +CC59;HANGUL SYLLABLE CAENG;Lo;0;L;;;;;N;;;;; +CC5A;HANGUL SYLLABLE CAEJ;Lo;0;L;;;;;N;;;;; +CC5B;HANGUL SYLLABLE CAEC;Lo;0;L;;;;;N;;;;; +CC5C;HANGUL SYLLABLE CAEK;Lo;0;L;;;;;N;;;;; +CC5D;HANGUL SYLLABLE CAET;Lo;0;L;;;;;N;;;;; +CC5E;HANGUL SYLLABLE CAEP;Lo;0;L;;;;;N;;;;; +CC5F;HANGUL SYLLABLE CAEH;Lo;0;L;;;;;N;;;;; +CC60;HANGUL SYLLABLE CYA;Lo;0;L;;;;;N;;;;; +CC61;HANGUL SYLLABLE CYAG;Lo;0;L;;;;;N;;;;; +CC62;HANGUL SYLLABLE CYAGG;Lo;0;L;;;;;N;;;;; +CC63;HANGUL SYLLABLE CYAGS;Lo;0;L;;;;;N;;;;; +CC64;HANGUL SYLLABLE CYAN;Lo;0;L;;;;;N;;;;; +CC65;HANGUL SYLLABLE CYANI;Lo;0;L;;;;;N;;;;; +CC66;HANGUL SYLLABLE CYANH;Lo;0;L;;;;;N;;;;; +CC67;HANGUL SYLLABLE CYAD;Lo;0;L;;;;;N;;;;; +CC68;HANGUL SYLLABLE CYAL;Lo;0;L;;;;;N;;;;; +CC69;HANGUL SYLLABLE CYALG;Lo;0;L;;;;;N;;;;; +CC6A;HANGUL SYLLABLE CYALM;Lo;0;L;;;;;N;;;;; +CC6B;HANGUL SYLLABLE CYALB;Lo;0;L;;;;;N;;;;; +CC6C;HANGUL SYLLABLE CYALS;Lo;0;L;;;;;N;;;;; +CC6D;HANGUL SYLLABLE CYALT;Lo;0;L;;;;;N;;;;; +CC6E;HANGUL SYLLABLE CYALP;Lo;0;L;;;;;N;;;;; +CC6F;HANGUL SYLLABLE CYALH;Lo;0;L;;;;;N;;;;; +CC70;HANGUL SYLLABLE CYAM;Lo;0;L;;;;;N;;;;; +CC71;HANGUL SYLLABLE CYAB;Lo;0;L;;;;;N;;;;; +CC72;HANGUL SYLLABLE CYABS;Lo;0;L;;;;;N;;;;; +CC73;HANGUL SYLLABLE CYAS;Lo;0;L;;;;;N;;;;; +CC74;HANGUL SYLLABLE CYASS;Lo;0;L;;;;;N;;;;; +CC75;HANGUL SYLLABLE CYANG;Lo;0;L;;;;;N;;;;; +CC76;HANGUL SYLLABLE CYAJ;Lo;0;L;;;;;N;;;;; +CC77;HANGUL SYLLABLE CYAC;Lo;0;L;;;;;N;;;;; +CC78;HANGUL SYLLABLE CYAK;Lo;0;L;;;;;N;;;;; +CC79;HANGUL SYLLABLE CYAT;Lo;0;L;;;;;N;;;;; +CC7A;HANGUL SYLLABLE CYAP;Lo;0;L;;;;;N;;;;; +CC7B;HANGUL SYLLABLE CYAH;Lo;0;L;;;;;N;;;;; +CC7C;HANGUL SYLLABLE CYAE;Lo;0;L;;;;;N;;;;; +CC7D;HANGUL SYLLABLE CYAEG;Lo;0;L;;;;;N;;;;; +CC7E;HANGUL SYLLABLE CYAEGG;Lo;0;L;;;;;N;;;;; +CC7F;HANGUL SYLLABLE CYAEGS;Lo;0;L;;;;;N;;;;; +CC80;HANGUL SYLLABLE CYAEN;Lo;0;L;;;;;N;;;;; +CC81;HANGUL SYLLABLE CYAENI;Lo;0;L;;;;;N;;;;; +CC82;HANGUL SYLLABLE CYAENH;Lo;0;L;;;;;N;;;;; +CC83;HANGUL SYLLABLE CYAED;Lo;0;L;;;;;N;;;;; +CC84;HANGUL SYLLABLE CYAEL;Lo;0;L;;;;;N;;;;; +CC85;HANGUL SYLLABLE CYAELG;Lo;0;L;;;;;N;;;;; +CC86;HANGUL SYLLABLE CYAELM;Lo;0;L;;;;;N;;;;; +CC87;HANGUL SYLLABLE CYAELB;Lo;0;L;;;;;N;;;;; +CC88;HANGUL SYLLABLE CYAELS;Lo;0;L;;;;;N;;;;; +CC89;HANGUL SYLLABLE CYAELT;Lo;0;L;;;;;N;;;;; +CC8A;HANGUL SYLLABLE CYAELP;Lo;0;L;;;;;N;;;;; +CC8B;HANGUL SYLLABLE CYAELH;Lo;0;L;;;;;N;;;;; +CC8C;HANGUL SYLLABLE CYAEM;Lo;0;L;;;;;N;;;;; +CC8D;HANGUL SYLLABLE CYAEB;Lo;0;L;;;;;N;;;;; +CC8E;HANGUL SYLLABLE CYAEBS;Lo;0;L;;;;;N;;;;; +CC8F;HANGUL SYLLABLE CYAES;Lo;0;L;;;;;N;;;;; +CC90;HANGUL SYLLABLE CYAESS;Lo;0;L;;;;;N;;;;; +CC91;HANGUL SYLLABLE CYAENG;Lo;0;L;;;;;N;;;;; +CC92;HANGUL SYLLABLE CYAEJ;Lo;0;L;;;;;N;;;;; +CC93;HANGUL SYLLABLE CYAEC;Lo;0;L;;;;;N;;;;; +CC94;HANGUL SYLLABLE CYAEK;Lo;0;L;;;;;N;;;;; +CC95;HANGUL SYLLABLE CYAET;Lo;0;L;;;;;N;;;;; +CC96;HANGUL SYLLABLE CYAEP;Lo;0;L;;;;;N;;;;; +CC97;HANGUL SYLLABLE CYAEH;Lo;0;L;;;;;N;;;;; +CC98;HANGUL SYLLABLE CEO;Lo;0;L;;;;;N;;;;; +CC99;HANGUL SYLLABLE CEOG;Lo;0;L;;;;;N;;;;; +CC9A;HANGUL SYLLABLE CEOGG;Lo;0;L;;;;;N;;;;; +CC9B;HANGUL SYLLABLE CEOGS;Lo;0;L;;;;;N;;;;; +CC9C;HANGUL SYLLABLE CEON;Lo;0;L;;;;;N;;;;; +CC9D;HANGUL SYLLABLE CEONI;Lo;0;L;;;;;N;;;;; +CC9E;HANGUL SYLLABLE CEONH;Lo;0;L;;;;;N;;;;; +CC9F;HANGUL SYLLABLE CEOD;Lo;0;L;;;;;N;;;;; +CCA0;HANGUL SYLLABLE CEOL;Lo;0;L;;;;;N;;;;; +CCA1;HANGUL SYLLABLE CEOLG;Lo;0;L;;;;;N;;;;; +CCA2;HANGUL SYLLABLE CEOLM;Lo;0;L;;;;;N;;;;; +CCA3;HANGUL SYLLABLE CEOLB;Lo;0;L;;;;;N;;;;; +CCA4;HANGUL SYLLABLE CEOLS;Lo;0;L;;;;;N;;;;; +CCA5;HANGUL SYLLABLE CEOLT;Lo;0;L;;;;;N;;;;; +CCA6;HANGUL SYLLABLE CEOLP;Lo;0;L;;;;;N;;;;; +CCA7;HANGUL SYLLABLE CEOLH;Lo;0;L;;;;;N;;;;; +CCA8;HANGUL SYLLABLE CEOM;Lo;0;L;;;;;N;;;;; +CCA9;HANGUL SYLLABLE CEOB;Lo;0;L;;;;;N;;;;; +CCAA;HANGUL SYLLABLE CEOBS;Lo;0;L;;;;;N;;;;; +CCAB;HANGUL SYLLABLE CEOS;Lo;0;L;;;;;N;;;;; +CCAC;HANGUL SYLLABLE CEOSS;Lo;0;L;;;;;N;;;;; +CCAD;HANGUL SYLLABLE CEONG;Lo;0;L;;;;;N;;;;; +CCAE;HANGUL SYLLABLE CEOJ;Lo;0;L;;;;;N;;;;; +CCAF;HANGUL SYLLABLE CEOC;Lo;0;L;;;;;N;;;;; +CCB0;HANGUL SYLLABLE CEOK;Lo;0;L;;;;;N;;;;; +CCB1;HANGUL SYLLABLE CEOT;Lo;0;L;;;;;N;;;;; +CCB2;HANGUL SYLLABLE CEOP;Lo;0;L;;;;;N;;;;; +CCB3;HANGUL SYLLABLE CEOH;Lo;0;L;;;;;N;;;;; +CCB4;HANGUL SYLLABLE CE;Lo;0;L;;;;;N;;;;; +CCB5;HANGUL SYLLABLE CEG;Lo;0;L;;;;;N;;;;; +CCB6;HANGUL SYLLABLE CEGG;Lo;0;L;;;;;N;;;;; +CCB7;HANGUL SYLLABLE CEGS;Lo;0;L;;;;;N;;;;; +CCB8;HANGUL SYLLABLE CEN;Lo;0;L;;;;;N;;;;; +CCB9;HANGUL SYLLABLE CENI;Lo;0;L;;;;;N;;;;; +CCBA;HANGUL SYLLABLE CENH;Lo;0;L;;;;;N;;;;; +CCBB;HANGUL SYLLABLE CED;Lo;0;L;;;;;N;;;;; +CCBC;HANGUL SYLLABLE CEL;Lo;0;L;;;;;N;;;;; +CCBD;HANGUL SYLLABLE CELG;Lo;0;L;;;;;N;;;;; +CCBE;HANGUL SYLLABLE CELM;Lo;0;L;;;;;N;;;;; +CCBF;HANGUL SYLLABLE CELB;Lo;0;L;;;;;N;;;;; +CCC0;HANGUL SYLLABLE CELS;Lo;0;L;;;;;N;;;;; +CCC1;HANGUL SYLLABLE CELT;Lo;0;L;;;;;N;;;;; +CCC2;HANGUL SYLLABLE CELP;Lo;0;L;;;;;N;;;;; +CCC3;HANGUL SYLLABLE CELH;Lo;0;L;;;;;N;;;;; +CCC4;HANGUL SYLLABLE CEM;Lo;0;L;;;;;N;;;;; +CCC5;HANGUL SYLLABLE CEB;Lo;0;L;;;;;N;;;;; +CCC6;HANGUL SYLLABLE CEBS;Lo;0;L;;;;;N;;;;; +CCC7;HANGUL SYLLABLE CES;Lo;0;L;;;;;N;;;;; +CCC8;HANGUL SYLLABLE CESS;Lo;0;L;;;;;N;;;;; +CCC9;HANGUL SYLLABLE CENG;Lo;0;L;;;;;N;;;;; +CCCA;HANGUL SYLLABLE CEJ;Lo;0;L;;;;;N;;;;; +CCCB;HANGUL SYLLABLE CEC;Lo;0;L;;;;;N;;;;; +CCCC;HANGUL SYLLABLE CEK;Lo;0;L;;;;;N;;;;; +CCCD;HANGUL SYLLABLE CET;Lo;0;L;;;;;N;;;;; +CCCE;HANGUL SYLLABLE CEP;Lo;0;L;;;;;N;;;;; +CCCF;HANGUL SYLLABLE CEH;Lo;0;L;;;;;N;;;;; +CCD0;HANGUL SYLLABLE CYEO;Lo;0;L;;;;;N;;;;; +CCD1;HANGUL SYLLABLE CYEOG;Lo;0;L;;;;;N;;;;; +CCD2;HANGUL SYLLABLE CYEOGG;Lo;0;L;;;;;N;;;;; +CCD3;HANGUL SYLLABLE CYEOGS;Lo;0;L;;;;;N;;;;; +CCD4;HANGUL SYLLABLE CYEON;Lo;0;L;;;;;N;;;;; +CCD5;HANGUL SYLLABLE CYEONI;Lo;0;L;;;;;N;;;;; +CCD6;HANGUL SYLLABLE CYEONH;Lo;0;L;;;;;N;;;;; +CCD7;HANGUL SYLLABLE CYEOD;Lo;0;L;;;;;N;;;;; +CCD8;HANGUL SYLLABLE CYEOL;Lo;0;L;;;;;N;;;;; +CCD9;HANGUL SYLLABLE CYEOLG;Lo;0;L;;;;;N;;;;; +CCDA;HANGUL SYLLABLE CYEOLM;Lo;0;L;;;;;N;;;;; +CCDB;HANGUL SYLLABLE CYEOLB;Lo;0;L;;;;;N;;;;; +CCDC;HANGUL SYLLABLE CYEOLS;Lo;0;L;;;;;N;;;;; +CCDD;HANGUL SYLLABLE CYEOLT;Lo;0;L;;;;;N;;;;; +CCDE;HANGUL SYLLABLE CYEOLP;Lo;0;L;;;;;N;;;;; +CCDF;HANGUL SYLLABLE CYEOLH;Lo;0;L;;;;;N;;;;; +CCE0;HANGUL SYLLABLE CYEOM;Lo;0;L;;;;;N;;;;; +CCE1;HANGUL SYLLABLE CYEOB;Lo;0;L;;;;;N;;;;; +CCE2;HANGUL SYLLABLE CYEOBS;Lo;0;L;;;;;N;;;;; +CCE3;HANGUL SYLLABLE CYEOS;Lo;0;L;;;;;N;;;;; +CCE4;HANGUL SYLLABLE CYEOSS;Lo;0;L;;;;;N;;;;; +CCE5;HANGUL SYLLABLE CYEONG;Lo;0;L;;;;;N;;;;; +CCE6;HANGUL SYLLABLE CYEOJ;Lo;0;L;;;;;N;;;;; +CCE7;HANGUL SYLLABLE CYEOC;Lo;0;L;;;;;N;;;;; +CCE8;HANGUL SYLLABLE CYEOK;Lo;0;L;;;;;N;;;;; +CCE9;HANGUL SYLLABLE CYEOT;Lo;0;L;;;;;N;;;;; +CCEA;HANGUL SYLLABLE CYEOP;Lo;0;L;;;;;N;;;;; +CCEB;HANGUL SYLLABLE CYEOH;Lo;0;L;;;;;N;;;;; +CCEC;HANGUL SYLLABLE CYE;Lo;0;L;;;;;N;;;;; +CCED;HANGUL SYLLABLE CYEG;Lo;0;L;;;;;N;;;;; +CCEE;HANGUL SYLLABLE CYEGG;Lo;0;L;;;;;N;;;;; +CCEF;HANGUL SYLLABLE CYEGS;Lo;0;L;;;;;N;;;;; +CCF0;HANGUL SYLLABLE CYEN;Lo;0;L;;;;;N;;;;; +CCF1;HANGUL SYLLABLE CYENI;Lo;0;L;;;;;N;;;;; +CCF2;HANGUL SYLLABLE CYENH;Lo;0;L;;;;;N;;;;; +CCF3;HANGUL SYLLABLE CYED;Lo;0;L;;;;;N;;;;; +CCF4;HANGUL SYLLABLE CYEL;Lo;0;L;;;;;N;;;;; +CCF5;HANGUL SYLLABLE CYELG;Lo;0;L;;;;;N;;;;; +CCF6;HANGUL SYLLABLE CYELM;Lo;0;L;;;;;N;;;;; +CCF7;HANGUL SYLLABLE CYELB;Lo;0;L;;;;;N;;;;; +CCF8;HANGUL SYLLABLE CYELS;Lo;0;L;;;;;N;;;;; +CCF9;HANGUL SYLLABLE CYELT;Lo;0;L;;;;;N;;;;; +CCFA;HANGUL SYLLABLE CYELP;Lo;0;L;;;;;N;;;;; +CCFB;HANGUL SYLLABLE CYELH;Lo;0;L;;;;;N;;;;; +CCFC;HANGUL SYLLABLE CYEM;Lo;0;L;;;;;N;;;;; +CCFD;HANGUL SYLLABLE CYEB;Lo;0;L;;;;;N;;;;; +CCFE;HANGUL SYLLABLE CYEBS;Lo;0;L;;;;;N;;;;; +CCFF;HANGUL SYLLABLE CYES;Lo;0;L;;;;;N;;;;; +CD00;HANGUL SYLLABLE CYESS;Lo;0;L;;;;;N;;;;; +CD01;HANGUL SYLLABLE CYENG;Lo;0;L;;;;;N;;;;; +CD02;HANGUL SYLLABLE CYEJ;Lo;0;L;;;;;N;;;;; +CD03;HANGUL SYLLABLE CYEC;Lo;0;L;;;;;N;;;;; +CD04;HANGUL SYLLABLE CYEK;Lo;0;L;;;;;N;;;;; +CD05;HANGUL SYLLABLE CYET;Lo;0;L;;;;;N;;;;; +CD06;HANGUL SYLLABLE CYEP;Lo;0;L;;;;;N;;;;; +CD07;HANGUL SYLLABLE CYEH;Lo;0;L;;;;;N;;;;; +CD08;HANGUL SYLLABLE CO;Lo;0;L;;;;;N;;;;; +CD09;HANGUL SYLLABLE COG;Lo;0;L;;;;;N;;;;; +CD0A;HANGUL SYLLABLE COGG;Lo;0;L;;;;;N;;;;; +CD0B;HANGUL SYLLABLE COGS;Lo;0;L;;;;;N;;;;; +CD0C;HANGUL SYLLABLE CON;Lo;0;L;;;;;N;;;;; +CD0D;HANGUL SYLLABLE CONI;Lo;0;L;;;;;N;;;;; +CD0E;HANGUL SYLLABLE CONH;Lo;0;L;;;;;N;;;;; +CD0F;HANGUL SYLLABLE COD;Lo;0;L;;;;;N;;;;; +CD10;HANGUL SYLLABLE COL;Lo;0;L;;;;;N;;;;; +CD11;HANGUL SYLLABLE COLG;Lo;0;L;;;;;N;;;;; +CD12;HANGUL SYLLABLE COLM;Lo;0;L;;;;;N;;;;; +CD13;HANGUL SYLLABLE COLB;Lo;0;L;;;;;N;;;;; +CD14;HANGUL SYLLABLE COLS;Lo;0;L;;;;;N;;;;; +CD15;HANGUL SYLLABLE COLT;Lo;0;L;;;;;N;;;;; +CD16;HANGUL SYLLABLE COLP;Lo;0;L;;;;;N;;;;; +CD17;HANGUL SYLLABLE COLH;Lo;0;L;;;;;N;;;;; +CD18;HANGUL SYLLABLE COM;Lo;0;L;;;;;N;;;;; +CD19;HANGUL SYLLABLE COB;Lo;0;L;;;;;N;;;;; +CD1A;HANGUL SYLLABLE COBS;Lo;0;L;;;;;N;;;;; +CD1B;HANGUL SYLLABLE COS;Lo;0;L;;;;;N;;;;; +CD1C;HANGUL SYLLABLE COSS;Lo;0;L;;;;;N;;;;; +CD1D;HANGUL SYLLABLE CONG;Lo;0;L;;;;;N;;;;; +CD1E;HANGUL SYLLABLE COJ;Lo;0;L;;;;;N;;;;; +CD1F;HANGUL SYLLABLE COC;Lo;0;L;;;;;N;;;;; +CD20;HANGUL SYLLABLE COK;Lo;0;L;;;;;N;;;;; +CD21;HANGUL SYLLABLE COT;Lo;0;L;;;;;N;;;;; +CD22;HANGUL SYLLABLE COP;Lo;0;L;;;;;N;;;;; +CD23;HANGUL SYLLABLE COH;Lo;0;L;;;;;N;;;;; +CD24;HANGUL SYLLABLE CWA;Lo;0;L;;;;;N;;;;; +CD25;HANGUL SYLLABLE CWAG;Lo;0;L;;;;;N;;;;; +CD26;HANGUL SYLLABLE CWAGG;Lo;0;L;;;;;N;;;;; +CD27;HANGUL SYLLABLE CWAGS;Lo;0;L;;;;;N;;;;; +CD28;HANGUL SYLLABLE CWAN;Lo;0;L;;;;;N;;;;; +CD29;HANGUL SYLLABLE CWANI;Lo;0;L;;;;;N;;;;; +CD2A;HANGUL SYLLABLE CWANH;Lo;0;L;;;;;N;;;;; +CD2B;HANGUL SYLLABLE CWAD;Lo;0;L;;;;;N;;;;; +CD2C;HANGUL SYLLABLE CWAL;Lo;0;L;;;;;N;;;;; +CD2D;HANGUL SYLLABLE CWALG;Lo;0;L;;;;;N;;;;; +CD2E;HANGUL SYLLABLE CWALM;Lo;0;L;;;;;N;;;;; +CD2F;HANGUL SYLLABLE CWALB;Lo;0;L;;;;;N;;;;; +CD30;HANGUL SYLLABLE CWALS;Lo;0;L;;;;;N;;;;; +CD31;HANGUL SYLLABLE CWALT;Lo;0;L;;;;;N;;;;; +CD32;HANGUL SYLLABLE CWALP;Lo;0;L;;;;;N;;;;; +CD33;HANGUL SYLLABLE CWALH;Lo;0;L;;;;;N;;;;; +CD34;HANGUL SYLLABLE CWAM;Lo;0;L;;;;;N;;;;; +CD35;HANGUL SYLLABLE CWAB;Lo;0;L;;;;;N;;;;; +CD36;HANGUL SYLLABLE CWABS;Lo;0;L;;;;;N;;;;; +CD37;HANGUL SYLLABLE CWAS;Lo;0;L;;;;;N;;;;; +CD38;HANGUL SYLLABLE CWASS;Lo;0;L;;;;;N;;;;; +CD39;HANGUL SYLLABLE CWANG;Lo;0;L;;;;;N;;;;; +CD3A;HANGUL SYLLABLE CWAJ;Lo;0;L;;;;;N;;;;; +CD3B;HANGUL SYLLABLE CWAC;Lo;0;L;;;;;N;;;;; +CD3C;HANGUL SYLLABLE CWAK;Lo;0;L;;;;;N;;;;; +CD3D;HANGUL SYLLABLE CWAT;Lo;0;L;;;;;N;;;;; +CD3E;HANGUL SYLLABLE CWAP;Lo;0;L;;;;;N;;;;; +CD3F;HANGUL SYLLABLE CWAH;Lo;0;L;;;;;N;;;;; +CD40;HANGUL SYLLABLE CWAE;Lo;0;L;;;;;N;;;;; +CD41;HANGUL SYLLABLE CWAEG;Lo;0;L;;;;;N;;;;; +CD42;HANGUL SYLLABLE CWAEGG;Lo;0;L;;;;;N;;;;; +CD43;HANGUL SYLLABLE CWAEGS;Lo;0;L;;;;;N;;;;; +CD44;HANGUL SYLLABLE CWAEN;Lo;0;L;;;;;N;;;;; +CD45;HANGUL SYLLABLE CWAENI;Lo;0;L;;;;;N;;;;; +CD46;HANGUL SYLLABLE CWAENH;Lo;0;L;;;;;N;;;;; +CD47;HANGUL SYLLABLE CWAED;Lo;0;L;;;;;N;;;;; +CD48;HANGUL SYLLABLE CWAEL;Lo;0;L;;;;;N;;;;; +CD49;HANGUL SYLLABLE CWAELG;Lo;0;L;;;;;N;;;;; +CD4A;HANGUL SYLLABLE CWAELM;Lo;0;L;;;;;N;;;;; +CD4B;HANGUL SYLLABLE CWAELB;Lo;0;L;;;;;N;;;;; +CD4C;HANGUL SYLLABLE CWAELS;Lo;0;L;;;;;N;;;;; +CD4D;HANGUL SYLLABLE CWAELT;Lo;0;L;;;;;N;;;;; +CD4E;HANGUL SYLLABLE CWAELP;Lo;0;L;;;;;N;;;;; +CD4F;HANGUL SYLLABLE CWAELH;Lo;0;L;;;;;N;;;;; +CD50;HANGUL SYLLABLE CWAEM;Lo;0;L;;;;;N;;;;; +CD51;HANGUL SYLLABLE CWAEB;Lo;0;L;;;;;N;;;;; +CD52;HANGUL SYLLABLE CWAEBS;Lo;0;L;;;;;N;;;;; +CD53;HANGUL SYLLABLE CWAES;Lo;0;L;;;;;N;;;;; +CD54;HANGUL SYLLABLE CWAESS;Lo;0;L;;;;;N;;;;; +CD55;HANGUL SYLLABLE CWAENG;Lo;0;L;;;;;N;;;;; +CD56;HANGUL SYLLABLE CWAEJ;Lo;0;L;;;;;N;;;;; +CD57;HANGUL SYLLABLE CWAEC;Lo;0;L;;;;;N;;;;; +CD58;HANGUL SYLLABLE CWAEK;Lo;0;L;;;;;N;;;;; +CD59;HANGUL SYLLABLE CWAET;Lo;0;L;;;;;N;;;;; +CD5A;HANGUL SYLLABLE CWAEP;Lo;0;L;;;;;N;;;;; +CD5B;HANGUL SYLLABLE CWAEH;Lo;0;L;;;;;N;;;;; +CD5C;HANGUL SYLLABLE COE;Lo;0;L;;;;;N;;;;; +CD5D;HANGUL SYLLABLE COEG;Lo;0;L;;;;;N;;;;; +CD5E;HANGUL SYLLABLE COEGG;Lo;0;L;;;;;N;;;;; +CD5F;HANGUL SYLLABLE COEGS;Lo;0;L;;;;;N;;;;; +CD60;HANGUL SYLLABLE COEN;Lo;0;L;;;;;N;;;;; +CD61;HANGUL SYLLABLE COENI;Lo;0;L;;;;;N;;;;; +CD62;HANGUL SYLLABLE COENH;Lo;0;L;;;;;N;;;;; +CD63;HANGUL SYLLABLE COED;Lo;0;L;;;;;N;;;;; +CD64;HANGUL SYLLABLE COEL;Lo;0;L;;;;;N;;;;; +CD65;HANGUL SYLLABLE COELG;Lo;0;L;;;;;N;;;;; +CD66;HANGUL SYLLABLE COELM;Lo;0;L;;;;;N;;;;; +CD67;HANGUL SYLLABLE COELB;Lo;0;L;;;;;N;;;;; +CD68;HANGUL SYLLABLE COELS;Lo;0;L;;;;;N;;;;; +CD69;HANGUL SYLLABLE COELT;Lo;0;L;;;;;N;;;;; +CD6A;HANGUL SYLLABLE COELP;Lo;0;L;;;;;N;;;;; +CD6B;HANGUL SYLLABLE COELH;Lo;0;L;;;;;N;;;;; +CD6C;HANGUL SYLLABLE COEM;Lo;0;L;;;;;N;;;;; +CD6D;HANGUL SYLLABLE COEB;Lo;0;L;;;;;N;;;;; +CD6E;HANGUL SYLLABLE COEBS;Lo;0;L;;;;;N;;;;; +CD6F;HANGUL SYLLABLE COES;Lo;0;L;;;;;N;;;;; +CD70;HANGUL SYLLABLE COESS;Lo;0;L;;;;;N;;;;; +CD71;HANGUL SYLLABLE COENG;Lo;0;L;;;;;N;;;;; +CD72;HANGUL SYLLABLE COEJ;Lo;0;L;;;;;N;;;;; +CD73;HANGUL SYLLABLE COEC;Lo;0;L;;;;;N;;;;; +CD74;HANGUL SYLLABLE COEK;Lo;0;L;;;;;N;;;;; +CD75;HANGUL SYLLABLE COET;Lo;0;L;;;;;N;;;;; +CD76;HANGUL SYLLABLE COEP;Lo;0;L;;;;;N;;;;; +CD77;HANGUL SYLLABLE COEH;Lo;0;L;;;;;N;;;;; +CD78;HANGUL SYLLABLE CYO;Lo;0;L;;;;;N;;;;; +CD79;HANGUL SYLLABLE CYOG;Lo;0;L;;;;;N;;;;; +CD7A;HANGUL SYLLABLE CYOGG;Lo;0;L;;;;;N;;;;; +CD7B;HANGUL SYLLABLE CYOGS;Lo;0;L;;;;;N;;;;; +CD7C;HANGUL SYLLABLE CYON;Lo;0;L;;;;;N;;;;; +CD7D;HANGUL SYLLABLE CYONI;Lo;0;L;;;;;N;;;;; +CD7E;HANGUL SYLLABLE CYONH;Lo;0;L;;;;;N;;;;; +CD7F;HANGUL SYLLABLE CYOD;Lo;0;L;;;;;N;;;;; +CD80;HANGUL SYLLABLE CYOL;Lo;0;L;;;;;N;;;;; +CD81;HANGUL SYLLABLE CYOLG;Lo;0;L;;;;;N;;;;; +CD82;HANGUL SYLLABLE CYOLM;Lo;0;L;;;;;N;;;;; +CD83;HANGUL SYLLABLE CYOLB;Lo;0;L;;;;;N;;;;; +CD84;HANGUL SYLLABLE CYOLS;Lo;0;L;;;;;N;;;;; +CD85;HANGUL SYLLABLE CYOLT;Lo;0;L;;;;;N;;;;; +CD86;HANGUL SYLLABLE CYOLP;Lo;0;L;;;;;N;;;;; +CD87;HANGUL SYLLABLE CYOLH;Lo;0;L;;;;;N;;;;; +CD88;HANGUL SYLLABLE CYOM;Lo;0;L;;;;;N;;;;; +CD89;HANGUL SYLLABLE CYOB;Lo;0;L;;;;;N;;;;; +CD8A;HANGUL SYLLABLE CYOBS;Lo;0;L;;;;;N;;;;; +CD8B;HANGUL SYLLABLE CYOS;Lo;0;L;;;;;N;;;;; +CD8C;HANGUL SYLLABLE CYOSS;Lo;0;L;;;;;N;;;;; +CD8D;HANGUL SYLLABLE CYONG;Lo;0;L;;;;;N;;;;; +CD8E;HANGUL SYLLABLE CYOJ;Lo;0;L;;;;;N;;;;; +CD8F;HANGUL SYLLABLE CYOC;Lo;0;L;;;;;N;;;;; +CD90;HANGUL SYLLABLE CYOK;Lo;0;L;;;;;N;;;;; +CD91;HANGUL SYLLABLE CYOT;Lo;0;L;;;;;N;;;;; +CD92;HANGUL SYLLABLE CYOP;Lo;0;L;;;;;N;;;;; +CD93;HANGUL SYLLABLE CYOH;Lo;0;L;;;;;N;;;;; +CD94;HANGUL SYLLABLE CU;Lo;0;L;;;;;N;;;;; +CD95;HANGUL SYLLABLE CUG;Lo;0;L;;;;;N;;;;; +CD96;HANGUL SYLLABLE CUGG;Lo;0;L;;;;;N;;;;; +CD97;HANGUL SYLLABLE CUGS;Lo;0;L;;;;;N;;;;; +CD98;HANGUL SYLLABLE CUN;Lo;0;L;;;;;N;;;;; +CD99;HANGUL SYLLABLE CUNI;Lo;0;L;;;;;N;;;;; +CD9A;HANGUL SYLLABLE CUNH;Lo;0;L;;;;;N;;;;; +CD9B;HANGUL SYLLABLE CUD;Lo;0;L;;;;;N;;;;; +CD9C;HANGUL SYLLABLE CUL;Lo;0;L;;;;;N;;;;; +CD9D;HANGUL SYLLABLE CULG;Lo;0;L;;;;;N;;;;; +CD9E;HANGUL SYLLABLE CULM;Lo;0;L;;;;;N;;;;; +CD9F;HANGUL SYLLABLE CULB;Lo;0;L;;;;;N;;;;; +CDA0;HANGUL SYLLABLE CULS;Lo;0;L;;;;;N;;;;; +CDA1;HANGUL SYLLABLE CULT;Lo;0;L;;;;;N;;;;; +CDA2;HANGUL SYLLABLE CULP;Lo;0;L;;;;;N;;;;; +CDA3;HANGUL SYLLABLE CULH;Lo;0;L;;;;;N;;;;; +CDA4;HANGUL SYLLABLE CUM;Lo;0;L;;;;;N;;;;; +CDA5;HANGUL SYLLABLE CUB;Lo;0;L;;;;;N;;;;; +CDA6;HANGUL SYLLABLE CUBS;Lo;0;L;;;;;N;;;;; +CDA7;HANGUL SYLLABLE CUS;Lo;0;L;;;;;N;;;;; +CDA8;HANGUL SYLLABLE CUSS;Lo;0;L;;;;;N;;;;; +CDA9;HANGUL SYLLABLE CUNG;Lo;0;L;;;;;N;;;;; +CDAA;HANGUL SYLLABLE CUJ;Lo;0;L;;;;;N;;;;; +CDAB;HANGUL SYLLABLE CUC;Lo;0;L;;;;;N;;;;; +CDAC;HANGUL SYLLABLE CUK;Lo;0;L;;;;;N;;;;; +CDAD;HANGUL SYLLABLE CUT;Lo;0;L;;;;;N;;;;; +CDAE;HANGUL SYLLABLE CUP;Lo;0;L;;;;;N;;;;; +CDAF;HANGUL SYLLABLE CUH;Lo;0;L;;;;;N;;;;; +CDB0;HANGUL SYLLABLE CWEO;Lo;0;L;;;;;N;;;;; +CDB1;HANGUL SYLLABLE CWEOG;Lo;0;L;;;;;N;;;;; +CDB2;HANGUL SYLLABLE CWEOGG;Lo;0;L;;;;;N;;;;; +CDB3;HANGUL SYLLABLE CWEOGS;Lo;0;L;;;;;N;;;;; +CDB4;HANGUL SYLLABLE CWEON;Lo;0;L;;;;;N;;;;; +CDB5;HANGUL SYLLABLE CWEONI;Lo;0;L;;;;;N;;;;; +CDB6;HANGUL SYLLABLE CWEONH;Lo;0;L;;;;;N;;;;; +CDB7;HANGUL SYLLABLE CWEOD;Lo;0;L;;;;;N;;;;; +CDB8;HANGUL SYLLABLE CWEOL;Lo;0;L;;;;;N;;;;; +CDB9;HANGUL SYLLABLE CWEOLG;Lo;0;L;;;;;N;;;;; +CDBA;HANGUL SYLLABLE CWEOLM;Lo;0;L;;;;;N;;;;; +CDBB;HANGUL SYLLABLE CWEOLB;Lo;0;L;;;;;N;;;;; +CDBC;HANGUL SYLLABLE CWEOLS;Lo;0;L;;;;;N;;;;; +CDBD;HANGUL SYLLABLE CWEOLT;Lo;0;L;;;;;N;;;;; +CDBE;HANGUL SYLLABLE CWEOLP;Lo;0;L;;;;;N;;;;; +CDBF;HANGUL SYLLABLE CWEOLH;Lo;0;L;;;;;N;;;;; +CDC0;HANGUL SYLLABLE CWEOM;Lo;0;L;;;;;N;;;;; +CDC1;HANGUL SYLLABLE CWEOB;Lo;0;L;;;;;N;;;;; +CDC2;HANGUL SYLLABLE CWEOBS;Lo;0;L;;;;;N;;;;; +CDC3;HANGUL SYLLABLE CWEOS;Lo;0;L;;;;;N;;;;; +CDC4;HANGUL SYLLABLE CWEOSS;Lo;0;L;;;;;N;;;;; +CDC5;HANGUL SYLLABLE CWEONG;Lo;0;L;;;;;N;;;;; +CDC6;HANGUL SYLLABLE CWEOJ;Lo;0;L;;;;;N;;;;; +CDC7;HANGUL SYLLABLE CWEOC;Lo;0;L;;;;;N;;;;; +CDC8;HANGUL SYLLABLE CWEOK;Lo;0;L;;;;;N;;;;; +CDC9;HANGUL SYLLABLE CWEOT;Lo;0;L;;;;;N;;;;; +CDCA;HANGUL SYLLABLE CWEOP;Lo;0;L;;;;;N;;;;; +CDCB;HANGUL SYLLABLE CWEOH;Lo;0;L;;;;;N;;;;; +CDCC;HANGUL SYLLABLE CWE;Lo;0;L;;;;;N;;;;; +CDCD;HANGUL SYLLABLE CWEG;Lo;0;L;;;;;N;;;;; +CDCE;HANGUL SYLLABLE CWEGG;Lo;0;L;;;;;N;;;;; +CDCF;HANGUL SYLLABLE CWEGS;Lo;0;L;;;;;N;;;;; +CDD0;HANGUL SYLLABLE CWEN;Lo;0;L;;;;;N;;;;; +CDD1;HANGUL SYLLABLE CWENI;Lo;0;L;;;;;N;;;;; +CDD2;HANGUL SYLLABLE CWENH;Lo;0;L;;;;;N;;;;; +CDD3;HANGUL SYLLABLE CWED;Lo;0;L;;;;;N;;;;; +CDD4;HANGUL SYLLABLE CWEL;Lo;0;L;;;;;N;;;;; +CDD5;HANGUL SYLLABLE CWELG;Lo;0;L;;;;;N;;;;; +CDD6;HANGUL SYLLABLE CWELM;Lo;0;L;;;;;N;;;;; +CDD7;HANGUL SYLLABLE CWELB;Lo;0;L;;;;;N;;;;; +CDD8;HANGUL SYLLABLE CWELS;Lo;0;L;;;;;N;;;;; +CDD9;HANGUL SYLLABLE CWELT;Lo;0;L;;;;;N;;;;; +CDDA;HANGUL SYLLABLE CWELP;Lo;0;L;;;;;N;;;;; +CDDB;HANGUL SYLLABLE CWELH;Lo;0;L;;;;;N;;;;; +CDDC;HANGUL SYLLABLE CWEM;Lo;0;L;;;;;N;;;;; +CDDD;HANGUL SYLLABLE CWEB;Lo;0;L;;;;;N;;;;; +CDDE;HANGUL SYLLABLE CWEBS;Lo;0;L;;;;;N;;;;; +CDDF;HANGUL SYLLABLE CWES;Lo;0;L;;;;;N;;;;; +CDE0;HANGUL SYLLABLE CWESS;Lo;0;L;;;;;N;;;;; +CDE1;HANGUL SYLLABLE CWENG;Lo;0;L;;;;;N;;;;; +CDE2;HANGUL SYLLABLE CWEJ;Lo;0;L;;;;;N;;;;; +CDE3;HANGUL SYLLABLE CWEC;Lo;0;L;;;;;N;;;;; +CDE4;HANGUL SYLLABLE CWEK;Lo;0;L;;;;;N;;;;; +CDE5;HANGUL SYLLABLE CWET;Lo;0;L;;;;;N;;;;; +CDE6;HANGUL SYLLABLE CWEP;Lo;0;L;;;;;N;;;;; +CDE7;HANGUL SYLLABLE CWEH;Lo;0;L;;;;;N;;;;; +CDE8;HANGUL SYLLABLE CWI;Lo;0;L;;;;;N;;;;; +CDE9;HANGUL SYLLABLE CWIG;Lo;0;L;;;;;N;;;;; +CDEA;HANGUL SYLLABLE CWIGG;Lo;0;L;;;;;N;;;;; +CDEB;HANGUL SYLLABLE CWIGS;Lo;0;L;;;;;N;;;;; +CDEC;HANGUL SYLLABLE CWIN;Lo;0;L;;;;;N;;;;; +CDED;HANGUL SYLLABLE CWINI;Lo;0;L;;;;;N;;;;; +CDEE;HANGUL SYLLABLE CWINH;Lo;0;L;;;;;N;;;;; +CDEF;HANGUL SYLLABLE CWID;Lo;0;L;;;;;N;;;;; +CDF0;HANGUL SYLLABLE CWIL;Lo;0;L;;;;;N;;;;; +CDF1;HANGUL SYLLABLE CWILG;Lo;0;L;;;;;N;;;;; +CDF2;HANGUL SYLLABLE CWILM;Lo;0;L;;;;;N;;;;; +CDF3;HANGUL SYLLABLE CWILB;Lo;0;L;;;;;N;;;;; +CDF4;HANGUL SYLLABLE CWILS;Lo;0;L;;;;;N;;;;; +CDF5;HANGUL SYLLABLE CWILT;Lo;0;L;;;;;N;;;;; +CDF6;HANGUL SYLLABLE CWILP;Lo;0;L;;;;;N;;;;; +CDF7;HANGUL SYLLABLE CWILH;Lo;0;L;;;;;N;;;;; +CDF8;HANGUL SYLLABLE CWIM;Lo;0;L;;;;;N;;;;; +CDF9;HANGUL SYLLABLE CWIB;Lo;0;L;;;;;N;;;;; +CDFA;HANGUL SYLLABLE CWIBS;Lo;0;L;;;;;N;;;;; +CDFB;HANGUL SYLLABLE CWIS;Lo;0;L;;;;;N;;;;; +CDFC;HANGUL SYLLABLE CWISS;Lo;0;L;;;;;N;;;;; +CDFD;HANGUL SYLLABLE CWING;Lo;0;L;;;;;N;;;;; +CDFE;HANGUL SYLLABLE CWIJ;Lo;0;L;;;;;N;;;;; +CDFF;HANGUL SYLLABLE CWIC;Lo;0;L;;;;;N;;;;; +CE00;HANGUL SYLLABLE CWIK;Lo;0;L;;;;;N;;;;; +CE01;HANGUL SYLLABLE CWIT;Lo;0;L;;;;;N;;;;; +CE02;HANGUL SYLLABLE CWIP;Lo;0;L;;;;;N;;;;; +CE03;HANGUL SYLLABLE CWIH;Lo;0;L;;;;;N;;;;; +CE04;HANGUL SYLLABLE CYU;Lo;0;L;;;;;N;;;;; +CE05;HANGUL SYLLABLE CYUG;Lo;0;L;;;;;N;;;;; +CE06;HANGUL SYLLABLE CYUGG;Lo;0;L;;;;;N;;;;; +CE07;HANGUL SYLLABLE CYUGS;Lo;0;L;;;;;N;;;;; +CE08;HANGUL SYLLABLE CYUN;Lo;0;L;;;;;N;;;;; +CE09;HANGUL SYLLABLE CYUNI;Lo;0;L;;;;;N;;;;; +CE0A;HANGUL SYLLABLE CYUNH;Lo;0;L;;;;;N;;;;; +CE0B;HANGUL SYLLABLE CYUD;Lo;0;L;;;;;N;;;;; +CE0C;HANGUL SYLLABLE CYUL;Lo;0;L;;;;;N;;;;; +CE0D;HANGUL SYLLABLE CYULG;Lo;0;L;;;;;N;;;;; +CE0E;HANGUL SYLLABLE CYULM;Lo;0;L;;;;;N;;;;; +CE0F;HANGUL SYLLABLE CYULB;Lo;0;L;;;;;N;;;;; +CE10;HANGUL SYLLABLE CYULS;Lo;0;L;;;;;N;;;;; +CE11;HANGUL SYLLABLE CYULT;Lo;0;L;;;;;N;;;;; +CE12;HANGUL SYLLABLE CYULP;Lo;0;L;;;;;N;;;;; +CE13;HANGUL SYLLABLE CYULH;Lo;0;L;;;;;N;;;;; +CE14;HANGUL SYLLABLE CYUM;Lo;0;L;;;;;N;;;;; +CE15;HANGUL SYLLABLE CYUB;Lo;0;L;;;;;N;;;;; +CE16;HANGUL SYLLABLE CYUBS;Lo;0;L;;;;;N;;;;; +CE17;HANGUL SYLLABLE CYUS;Lo;0;L;;;;;N;;;;; +CE18;HANGUL SYLLABLE CYUSS;Lo;0;L;;;;;N;;;;; +CE19;HANGUL SYLLABLE CYUNG;Lo;0;L;;;;;N;;;;; +CE1A;HANGUL SYLLABLE CYUJ;Lo;0;L;;;;;N;;;;; +CE1B;HANGUL SYLLABLE CYUC;Lo;0;L;;;;;N;;;;; +CE1C;HANGUL SYLLABLE CYUK;Lo;0;L;;;;;N;;;;; +CE1D;HANGUL SYLLABLE CYUT;Lo;0;L;;;;;N;;;;; +CE1E;HANGUL SYLLABLE CYUP;Lo;0;L;;;;;N;;;;; +CE1F;HANGUL SYLLABLE CYUH;Lo;0;L;;;;;N;;;;; +CE20;HANGUL SYLLABLE CEU;Lo;0;L;;;;;N;;;;; +CE21;HANGUL SYLLABLE CEUG;Lo;0;L;;;;;N;;;;; +CE22;HANGUL SYLLABLE CEUGG;Lo;0;L;;;;;N;;;;; +CE23;HANGUL SYLLABLE CEUGS;Lo;0;L;;;;;N;;;;; +CE24;HANGUL SYLLABLE CEUN;Lo;0;L;;;;;N;;;;; +CE25;HANGUL SYLLABLE CEUNI;Lo;0;L;;;;;N;;;;; +CE26;HANGUL SYLLABLE CEUNH;Lo;0;L;;;;;N;;;;; +CE27;HANGUL SYLLABLE CEUD;Lo;0;L;;;;;N;;;;; +CE28;HANGUL SYLLABLE CEUL;Lo;0;L;;;;;N;;;;; +CE29;HANGUL SYLLABLE CEULG;Lo;0;L;;;;;N;;;;; +CE2A;HANGUL SYLLABLE CEULM;Lo;0;L;;;;;N;;;;; +CE2B;HANGUL SYLLABLE CEULB;Lo;0;L;;;;;N;;;;; +CE2C;HANGUL SYLLABLE CEULS;Lo;0;L;;;;;N;;;;; +CE2D;HANGUL SYLLABLE CEULT;Lo;0;L;;;;;N;;;;; +CE2E;HANGUL SYLLABLE CEULP;Lo;0;L;;;;;N;;;;; +CE2F;HANGUL SYLLABLE CEULH;Lo;0;L;;;;;N;;;;; +CE30;HANGUL SYLLABLE CEUM;Lo;0;L;;;;;N;;;;; +CE31;HANGUL SYLLABLE CEUB;Lo;0;L;;;;;N;;;;; +CE32;HANGUL SYLLABLE CEUBS;Lo;0;L;;;;;N;;;;; +CE33;HANGUL SYLLABLE CEUS;Lo;0;L;;;;;N;;;;; +CE34;HANGUL SYLLABLE CEUSS;Lo;0;L;;;;;N;;;;; +CE35;HANGUL SYLLABLE CEUNG;Lo;0;L;;;;;N;;;;; +CE36;HANGUL SYLLABLE CEUJ;Lo;0;L;;;;;N;;;;; +CE37;HANGUL SYLLABLE CEUC;Lo;0;L;;;;;N;;;;; +CE38;HANGUL SYLLABLE CEUK;Lo;0;L;;;;;N;;;;; +CE39;HANGUL SYLLABLE CEUT;Lo;0;L;;;;;N;;;;; +CE3A;HANGUL SYLLABLE CEUP;Lo;0;L;;;;;N;;;;; +CE3B;HANGUL SYLLABLE CEUH;Lo;0;L;;;;;N;;;;; +CE3C;HANGUL SYLLABLE CYI;Lo;0;L;;;;;N;;;;; +CE3D;HANGUL SYLLABLE CYIG;Lo;0;L;;;;;N;;;;; +CE3E;HANGUL SYLLABLE CYIGG;Lo;0;L;;;;;N;;;;; +CE3F;HANGUL SYLLABLE CYIGS;Lo;0;L;;;;;N;;;;; +CE40;HANGUL SYLLABLE CYIN;Lo;0;L;;;;;N;;;;; +CE41;HANGUL SYLLABLE CYINI;Lo;0;L;;;;;N;;;;; +CE42;HANGUL SYLLABLE CYINH;Lo;0;L;;;;;N;;;;; +CE43;HANGUL SYLLABLE CYID;Lo;0;L;;;;;N;;;;; +CE44;HANGUL SYLLABLE CYIL;Lo;0;L;;;;;N;;;;; +CE45;HANGUL SYLLABLE CYILG;Lo;0;L;;;;;N;;;;; +CE46;HANGUL SYLLABLE CYILM;Lo;0;L;;;;;N;;;;; +CE47;HANGUL SYLLABLE CYILB;Lo;0;L;;;;;N;;;;; +CE48;HANGUL SYLLABLE CYILS;Lo;0;L;;;;;N;;;;; +CE49;HANGUL SYLLABLE CYILT;Lo;0;L;;;;;N;;;;; +CE4A;HANGUL SYLLABLE CYILP;Lo;0;L;;;;;N;;;;; +CE4B;HANGUL SYLLABLE CYILH;Lo;0;L;;;;;N;;;;; +CE4C;HANGUL SYLLABLE CYIM;Lo;0;L;;;;;N;;;;; +CE4D;HANGUL SYLLABLE CYIB;Lo;0;L;;;;;N;;;;; +CE4E;HANGUL SYLLABLE CYIBS;Lo;0;L;;;;;N;;;;; +CE4F;HANGUL SYLLABLE CYIS;Lo;0;L;;;;;N;;;;; +CE50;HANGUL SYLLABLE CYISS;Lo;0;L;;;;;N;;;;; +CE51;HANGUL SYLLABLE CYING;Lo;0;L;;;;;N;;;;; +CE52;HANGUL SYLLABLE CYIJ;Lo;0;L;;;;;N;;;;; +CE53;HANGUL SYLLABLE CYIC;Lo;0;L;;;;;N;;;;; +CE54;HANGUL SYLLABLE CYIK;Lo;0;L;;;;;N;;;;; +CE55;HANGUL SYLLABLE CYIT;Lo;0;L;;;;;N;;;;; +CE56;HANGUL SYLLABLE CYIP;Lo;0;L;;;;;N;;;;; +CE57;HANGUL SYLLABLE CYIH;Lo;0;L;;;;;N;;;;; +CE58;HANGUL SYLLABLE CI;Lo;0;L;;;;;N;;;;; +CE59;HANGUL SYLLABLE CIG;Lo;0;L;;;;;N;;;;; +CE5A;HANGUL SYLLABLE CIGG;Lo;0;L;;;;;N;;;;; +CE5B;HANGUL SYLLABLE CIGS;Lo;0;L;;;;;N;;;;; +CE5C;HANGUL SYLLABLE CIN;Lo;0;L;;;;;N;;;;; +CE5D;HANGUL SYLLABLE CINI;Lo;0;L;;;;;N;;;;; +CE5E;HANGUL SYLLABLE CINH;Lo;0;L;;;;;N;;;;; +CE5F;HANGUL SYLLABLE CID;Lo;0;L;;;;;N;;;;; +CE60;HANGUL SYLLABLE CIL;Lo;0;L;;;;;N;;;;; +CE61;HANGUL SYLLABLE CILG;Lo;0;L;;;;;N;;;;; +CE62;HANGUL SYLLABLE CILM;Lo;0;L;;;;;N;;;;; +CE63;HANGUL SYLLABLE CILB;Lo;0;L;;;;;N;;;;; +CE64;HANGUL SYLLABLE CILS;Lo;0;L;;;;;N;;;;; +CE65;HANGUL SYLLABLE CILT;Lo;0;L;;;;;N;;;;; +CE66;HANGUL SYLLABLE CILP;Lo;0;L;;;;;N;;;;; +CE67;HANGUL SYLLABLE CILH;Lo;0;L;;;;;N;;;;; +CE68;HANGUL SYLLABLE CIM;Lo;0;L;;;;;N;;;;; +CE69;HANGUL SYLLABLE CIB;Lo;0;L;;;;;N;;;;; +CE6A;HANGUL SYLLABLE CIBS;Lo;0;L;;;;;N;;;;; +CE6B;HANGUL SYLLABLE CIS;Lo;0;L;;;;;N;;;;; +CE6C;HANGUL SYLLABLE CISS;Lo;0;L;;;;;N;;;;; +CE6D;HANGUL SYLLABLE CING;Lo;0;L;;;;;N;;;;; +CE6E;HANGUL SYLLABLE CIJ;Lo;0;L;;;;;N;;;;; +CE6F;HANGUL SYLLABLE CIC;Lo;0;L;;;;;N;;;;; +CE70;HANGUL SYLLABLE CIK;Lo;0;L;;;;;N;;;;; +CE71;HANGUL SYLLABLE CIT;Lo;0;L;;;;;N;;;;; +CE72;HANGUL SYLLABLE CIP;Lo;0;L;;;;;N;;;;; +CE73;HANGUL SYLLABLE CIH;Lo;0;L;;;;;N;;;;; +CE74;HANGUL SYLLABLE KA;Lo;0;L;;;;;N;;;;; +CE75;HANGUL SYLLABLE KAG;Lo;0;L;;;;;N;;;;; +CE76;HANGUL SYLLABLE KAGG;Lo;0;L;;;;;N;;;;; +CE77;HANGUL SYLLABLE KAGS;Lo;0;L;;;;;N;;;;; +CE78;HANGUL SYLLABLE KAN;Lo;0;L;;;;;N;;;;; +CE79;HANGUL SYLLABLE KANI;Lo;0;L;;;;;N;;;;; +CE7A;HANGUL SYLLABLE KANH;Lo;0;L;;;;;N;;;;; +CE7B;HANGUL SYLLABLE KAD;Lo;0;L;;;;;N;;;;; +CE7C;HANGUL SYLLABLE KAL;Lo;0;L;;;;;N;;;;; +CE7D;HANGUL SYLLABLE KALG;Lo;0;L;;;;;N;;;;; +CE7E;HANGUL SYLLABLE KALM;Lo;0;L;;;;;N;;;;; +CE7F;HANGUL SYLLABLE KALB;Lo;0;L;;;;;N;;;;; +CE80;HANGUL SYLLABLE KALS;Lo;0;L;;;;;N;;;;; +CE81;HANGUL SYLLABLE KALT;Lo;0;L;;;;;N;;;;; +CE82;HANGUL SYLLABLE KALP;Lo;0;L;;;;;N;;;;; +CE83;HANGUL SYLLABLE KALH;Lo;0;L;;;;;N;;;;; +CE84;HANGUL SYLLABLE KAM;Lo;0;L;;;;;N;;;;; +CE85;HANGUL SYLLABLE KAB;Lo;0;L;;;;;N;;;;; +CE86;HANGUL SYLLABLE KABS;Lo;0;L;;;;;N;;;;; +CE87;HANGUL SYLLABLE KAS;Lo;0;L;;;;;N;;;;; +CE88;HANGUL SYLLABLE KASS;Lo;0;L;;;;;N;;;;; +CE89;HANGUL SYLLABLE KANG;Lo;0;L;;;;;N;;;;; +CE8A;HANGUL SYLLABLE KAJ;Lo;0;L;;;;;N;;;;; +CE8B;HANGUL SYLLABLE KAC;Lo;0;L;;;;;N;;;;; +CE8C;HANGUL SYLLABLE KAK;Lo;0;L;;;;;N;;;;; +CE8D;HANGUL SYLLABLE KAT;Lo;0;L;;;;;N;;;;; +CE8E;HANGUL SYLLABLE KAP;Lo;0;L;;;;;N;;;;; +CE8F;HANGUL SYLLABLE KAH;Lo;0;L;;;;;N;;;;; +CE90;HANGUL SYLLABLE KAE;Lo;0;L;;;;;N;;;;; +CE91;HANGUL SYLLABLE KAEG;Lo;0;L;;;;;N;;;;; +CE92;HANGUL SYLLABLE KAEGG;Lo;0;L;;;;;N;;;;; +CE93;HANGUL SYLLABLE KAEGS;Lo;0;L;;;;;N;;;;; +CE94;HANGUL SYLLABLE KAEN;Lo;0;L;;;;;N;;;;; +CE95;HANGUL SYLLABLE KAENI;Lo;0;L;;;;;N;;;;; +CE96;HANGUL SYLLABLE KAENH;Lo;0;L;;;;;N;;;;; +CE97;HANGUL SYLLABLE KAED;Lo;0;L;;;;;N;;;;; +CE98;HANGUL SYLLABLE KAEL;Lo;0;L;;;;;N;;;;; +CE99;HANGUL SYLLABLE KAELG;Lo;0;L;;;;;N;;;;; +CE9A;HANGUL SYLLABLE KAELM;Lo;0;L;;;;;N;;;;; +CE9B;HANGUL SYLLABLE KAELB;Lo;0;L;;;;;N;;;;; +CE9C;HANGUL SYLLABLE KAELS;Lo;0;L;;;;;N;;;;; +CE9D;HANGUL SYLLABLE KAELT;Lo;0;L;;;;;N;;;;; +CE9E;HANGUL SYLLABLE KAELP;Lo;0;L;;;;;N;;;;; +CE9F;HANGUL SYLLABLE KAELH;Lo;0;L;;;;;N;;;;; +CEA0;HANGUL SYLLABLE KAEM;Lo;0;L;;;;;N;;;;; +CEA1;HANGUL SYLLABLE KAEB;Lo;0;L;;;;;N;;;;; +CEA2;HANGUL SYLLABLE KAEBS;Lo;0;L;;;;;N;;;;; +CEA3;HANGUL SYLLABLE KAES;Lo;0;L;;;;;N;;;;; +CEA4;HANGUL SYLLABLE KAESS;Lo;0;L;;;;;N;;;;; +CEA5;HANGUL SYLLABLE KAENG;Lo;0;L;;;;;N;;;;; +CEA6;HANGUL SYLLABLE KAEJ;Lo;0;L;;;;;N;;;;; +CEA7;HANGUL SYLLABLE KAEC;Lo;0;L;;;;;N;;;;; +CEA8;HANGUL SYLLABLE KAEK;Lo;0;L;;;;;N;;;;; +CEA9;HANGUL SYLLABLE KAET;Lo;0;L;;;;;N;;;;; +CEAA;HANGUL SYLLABLE KAEP;Lo;0;L;;;;;N;;;;; +CEAB;HANGUL SYLLABLE KAEH;Lo;0;L;;;;;N;;;;; +CEAC;HANGUL SYLLABLE KYA;Lo;0;L;;;;;N;;;;; +CEAD;HANGUL SYLLABLE KYAG;Lo;0;L;;;;;N;;;;; +CEAE;HANGUL SYLLABLE KYAGG;Lo;0;L;;;;;N;;;;; +CEAF;HANGUL SYLLABLE KYAGS;Lo;0;L;;;;;N;;;;; +CEB0;HANGUL SYLLABLE KYAN;Lo;0;L;;;;;N;;;;; +CEB1;HANGUL SYLLABLE KYANI;Lo;0;L;;;;;N;;;;; +CEB2;HANGUL SYLLABLE KYANH;Lo;0;L;;;;;N;;;;; +CEB3;HANGUL SYLLABLE KYAD;Lo;0;L;;;;;N;;;;; +CEB4;HANGUL SYLLABLE KYAL;Lo;0;L;;;;;N;;;;; +CEB5;HANGUL SYLLABLE KYALG;Lo;0;L;;;;;N;;;;; +CEB6;HANGUL SYLLABLE KYALM;Lo;0;L;;;;;N;;;;; +CEB7;HANGUL SYLLABLE KYALB;Lo;0;L;;;;;N;;;;; +CEB8;HANGUL SYLLABLE KYALS;Lo;0;L;;;;;N;;;;; +CEB9;HANGUL SYLLABLE KYALT;Lo;0;L;;;;;N;;;;; +CEBA;HANGUL SYLLABLE KYALP;Lo;0;L;;;;;N;;;;; +CEBB;HANGUL SYLLABLE KYALH;Lo;0;L;;;;;N;;;;; +CEBC;HANGUL SYLLABLE KYAM;Lo;0;L;;;;;N;;;;; +CEBD;HANGUL SYLLABLE KYAB;Lo;0;L;;;;;N;;;;; +CEBE;HANGUL SYLLABLE KYABS;Lo;0;L;;;;;N;;;;; +CEBF;HANGUL SYLLABLE KYAS;Lo;0;L;;;;;N;;;;; +CEC0;HANGUL SYLLABLE KYASS;Lo;0;L;;;;;N;;;;; +CEC1;HANGUL SYLLABLE KYANG;Lo;0;L;;;;;N;;;;; +CEC2;HANGUL SYLLABLE KYAJ;Lo;0;L;;;;;N;;;;; +CEC3;HANGUL SYLLABLE KYAC;Lo;0;L;;;;;N;;;;; +CEC4;HANGUL SYLLABLE KYAK;Lo;0;L;;;;;N;;;;; +CEC5;HANGUL SYLLABLE KYAT;Lo;0;L;;;;;N;;;;; +CEC6;HANGUL SYLLABLE KYAP;Lo;0;L;;;;;N;;;;; +CEC7;HANGUL SYLLABLE KYAH;Lo;0;L;;;;;N;;;;; +CEC8;HANGUL SYLLABLE KYAE;Lo;0;L;;;;;N;;;;; +CEC9;HANGUL SYLLABLE KYAEG;Lo;0;L;;;;;N;;;;; +CECA;HANGUL SYLLABLE KYAEGG;Lo;0;L;;;;;N;;;;; +CECB;HANGUL SYLLABLE KYAEGS;Lo;0;L;;;;;N;;;;; +CECC;HANGUL SYLLABLE KYAEN;Lo;0;L;;;;;N;;;;; +CECD;HANGUL SYLLABLE KYAENI;Lo;0;L;;;;;N;;;;; +CECE;HANGUL SYLLABLE KYAENH;Lo;0;L;;;;;N;;;;; +CECF;HANGUL SYLLABLE KYAED;Lo;0;L;;;;;N;;;;; +CED0;HANGUL SYLLABLE KYAEL;Lo;0;L;;;;;N;;;;; +CED1;HANGUL SYLLABLE KYAELG;Lo;0;L;;;;;N;;;;; +CED2;HANGUL SYLLABLE KYAELM;Lo;0;L;;;;;N;;;;; +CED3;HANGUL SYLLABLE KYAELB;Lo;0;L;;;;;N;;;;; +CED4;HANGUL SYLLABLE KYAELS;Lo;0;L;;;;;N;;;;; +CED5;HANGUL SYLLABLE KYAELT;Lo;0;L;;;;;N;;;;; +CED6;HANGUL SYLLABLE KYAELP;Lo;0;L;;;;;N;;;;; +CED7;HANGUL SYLLABLE KYAELH;Lo;0;L;;;;;N;;;;; +CED8;HANGUL SYLLABLE KYAEM;Lo;0;L;;;;;N;;;;; +CED9;HANGUL SYLLABLE KYAEB;Lo;0;L;;;;;N;;;;; +CEDA;HANGUL SYLLABLE KYAEBS;Lo;0;L;;;;;N;;;;; +CEDB;HANGUL SYLLABLE KYAES;Lo;0;L;;;;;N;;;;; +CEDC;HANGUL SYLLABLE KYAESS;Lo;0;L;;;;;N;;;;; +CEDD;HANGUL SYLLABLE KYAENG;Lo;0;L;;;;;N;;;;; +CEDE;HANGUL SYLLABLE KYAEJ;Lo;0;L;;;;;N;;;;; +CEDF;HANGUL SYLLABLE KYAEC;Lo;0;L;;;;;N;;;;; +CEE0;HANGUL SYLLABLE KYAEK;Lo;0;L;;;;;N;;;;; +CEE1;HANGUL SYLLABLE KYAET;Lo;0;L;;;;;N;;;;; +CEE2;HANGUL SYLLABLE KYAEP;Lo;0;L;;;;;N;;;;; +CEE3;HANGUL SYLLABLE KYAEH;Lo;0;L;;;;;N;;;;; +CEE4;HANGUL SYLLABLE KEO;Lo;0;L;;;;;N;;;;; +CEE5;HANGUL SYLLABLE KEOG;Lo;0;L;;;;;N;;;;; +CEE6;HANGUL SYLLABLE KEOGG;Lo;0;L;;;;;N;;;;; +CEE7;HANGUL SYLLABLE KEOGS;Lo;0;L;;;;;N;;;;; +CEE8;HANGUL SYLLABLE KEON;Lo;0;L;;;;;N;;;;; +CEE9;HANGUL SYLLABLE KEONI;Lo;0;L;;;;;N;;;;; +CEEA;HANGUL SYLLABLE KEONH;Lo;0;L;;;;;N;;;;; +CEEB;HANGUL SYLLABLE KEOD;Lo;0;L;;;;;N;;;;; +CEEC;HANGUL SYLLABLE KEOL;Lo;0;L;;;;;N;;;;; +CEED;HANGUL SYLLABLE KEOLG;Lo;0;L;;;;;N;;;;; +CEEE;HANGUL SYLLABLE KEOLM;Lo;0;L;;;;;N;;;;; +CEEF;HANGUL SYLLABLE KEOLB;Lo;0;L;;;;;N;;;;; +CEF0;HANGUL SYLLABLE KEOLS;Lo;0;L;;;;;N;;;;; +CEF1;HANGUL SYLLABLE KEOLT;Lo;0;L;;;;;N;;;;; +CEF2;HANGUL SYLLABLE KEOLP;Lo;0;L;;;;;N;;;;; +CEF3;HANGUL SYLLABLE KEOLH;Lo;0;L;;;;;N;;;;; +CEF4;HANGUL SYLLABLE KEOM;Lo;0;L;;;;;N;;;;; +CEF5;HANGUL SYLLABLE KEOB;Lo;0;L;;;;;N;;;;; +CEF6;HANGUL SYLLABLE KEOBS;Lo;0;L;;;;;N;;;;; +CEF7;HANGUL SYLLABLE KEOS;Lo;0;L;;;;;N;;;;; +CEF8;HANGUL SYLLABLE KEOSS;Lo;0;L;;;;;N;;;;; +CEF9;HANGUL SYLLABLE KEONG;Lo;0;L;;;;;N;;;;; +CEFA;HANGUL SYLLABLE KEOJ;Lo;0;L;;;;;N;;;;; +CEFB;HANGUL SYLLABLE KEOC;Lo;0;L;;;;;N;;;;; +CEFC;HANGUL SYLLABLE KEOK;Lo;0;L;;;;;N;;;;; +CEFD;HANGUL SYLLABLE KEOT;Lo;0;L;;;;;N;;;;; +CEFE;HANGUL SYLLABLE KEOP;Lo;0;L;;;;;N;;;;; +CEFF;HANGUL SYLLABLE KEOH;Lo;0;L;;;;;N;;;;; +CF00;HANGUL SYLLABLE KE;Lo;0;L;;;;;N;;;;; +CF01;HANGUL SYLLABLE KEG;Lo;0;L;;;;;N;;;;; +CF02;HANGUL SYLLABLE KEGG;Lo;0;L;;;;;N;;;;; +CF03;HANGUL SYLLABLE KEGS;Lo;0;L;;;;;N;;;;; +CF04;HANGUL SYLLABLE KEN;Lo;0;L;;;;;N;;;;; +CF05;HANGUL SYLLABLE KENI;Lo;0;L;;;;;N;;;;; +CF06;HANGUL SYLLABLE KENH;Lo;0;L;;;;;N;;;;; +CF07;HANGUL SYLLABLE KED;Lo;0;L;;;;;N;;;;; +CF08;HANGUL SYLLABLE KEL;Lo;0;L;;;;;N;;;;; +CF09;HANGUL SYLLABLE KELG;Lo;0;L;;;;;N;;;;; +CF0A;HANGUL SYLLABLE KELM;Lo;0;L;;;;;N;;;;; +CF0B;HANGUL SYLLABLE KELB;Lo;0;L;;;;;N;;;;; +CF0C;HANGUL SYLLABLE KELS;Lo;0;L;;;;;N;;;;; +CF0D;HANGUL SYLLABLE KELT;Lo;0;L;;;;;N;;;;; +CF0E;HANGUL SYLLABLE KELP;Lo;0;L;;;;;N;;;;; +CF0F;HANGUL SYLLABLE KELH;Lo;0;L;;;;;N;;;;; +CF10;HANGUL SYLLABLE KEM;Lo;0;L;;;;;N;;;;; +CF11;HANGUL SYLLABLE KEB;Lo;0;L;;;;;N;;;;; +CF12;HANGUL SYLLABLE KEBS;Lo;0;L;;;;;N;;;;; +CF13;HANGUL SYLLABLE KES;Lo;0;L;;;;;N;;;;; +CF14;HANGUL SYLLABLE KESS;Lo;0;L;;;;;N;;;;; +CF15;HANGUL SYLLABLE KENG;Lo;0;L;;;;;N;;;;; +CF16;HANGUL SYLLABLE KEJ;Lo;0;L;;;;;N;;;;; +CF17;HANGUL SYLLABLE KEC;Lo;0;L;;;;;N;;;;; +CF18;HANGUL SYLLABLE KEK;Lo;0;L;;;;;N;;;;; +CF19;HANGUL SYLLABLE KET;Lo;0;L;;;;;N;;;;; +CF1A;HANGUL SYLLABLE KEP;Lo;0;L;;;;;N;;;;; +CF1B;HANGUL SYLLABLE KEH;Lo;0;L;;;;;N;;;;; +CF1C;HANGUL SYLLABLE KYEO;Lo;0;L;;;;;N;;;;; +CF1D;HANGUL SYLLABLE KYEOG;Lo;0;L;;;;;N;;;;; +CF1E;HANGUL SYLLABLE KYEOGG;Lo;0;L;;;;;N;;;;; +CF1F;HANGUL SYLLABLE KYEOGS;Lo;0;L;;;;;N;;;;; +CF20;HANGUL SYLLABLE KYEON;Lo;0;L;;;;;N;;;;; +CF21;HANGUL SYLLABLE KYEONI;Lo;0;L;;;;;N;;;;; +CF22;HANGUL SYLLABLE KYEONH;Lo;0;L;;;;;N;;;;; +CF23;HANGUL SYLLABLE KYEOD;Lo;0;L;;;;;N;;;;; +CF24;HANGUL SYLLABLE KYEOL;Lo;0;L;;;;;N;;;;; +CF25;HANGUL SYLLABLE KYEOLG;Lo;0;L;;;;;N;;;;; +CF26;HANGUL SYLLABLE KYEOLM;Lo;0;L;;;;;N;;;;; +CF27;HANGUL SYLLABLE KYEOLB;Lo;0;L;;;;;N;;;;; +CF28;HANGUL SYLLABLE KYEOLS;Lo;0;L;;;;;N;;;;; +CF29;HANGUL SYLLABLE KYEOLT;Lo;0;L;;;;;N;;;;; +CF2A;HANGUL SYLLABLE KYEOLP;Lo;0;L;;;;;N;;;;; +CF2B;HANGUL SYLLABLE KYEOLH;Lo;0;L;;;;;N;;;;; +CF2C;HANGUL SYLLABLE KYEOM;Lo;0;L;;;;;N;;;;; +CF2D;HANGUL SYLLABLE KYEOB;Lo;0;L;;;;;N;;;;; +CF2E;HANGUL SYLLABLE KYEOBS;Lo;0;L;;;;;N;;;;; +CF2F;HANGUL SYLLABLE KYEOS;Lo;0;L;;;;;N;;;;; +CF30;HANGUL SYLLABLE KYEOSS;Lo;0;L;;;;;N;;;;; +CF31;HANGUL SYLLABLE KYEONG;Lo;0;L;;;;;N;;;;; +CF32;HANGUL SYLLABLE KYEOJ;Lo;0;L;;;;;N;;;;; +CF33;HANGUL SYLLABLE KYEOC;Lo;0;L;;;;;N;;;;; +CF34;HANGUL SYLLABLE KYEOK;Lo;0;L;;;;;N;;;;; +CF35;HANGUL SYLLABLE KYEOT;Lo;0;L;;;;;N;;;;; +CF36;HANGUL SYLLABLE KYEOP;Lo;0;L;;;;;N;;;;; +CF37;HANGUL SYLLABLE KYEOH;Lo;0;L;;;;;N;;;;; +CF38;HANGUL SYLLABLE KYE;Lo;0;L;;;;;N;;;;; +CF39;HANGUL SYLLABLE KYEG;Lo;0;L;;;;;N;;;;; +CF3A;HANGUL SYLLABLE KYEGG;Lo;0;L;;;;;N;;;;; +CF3B;HANGUL SYLLABLE KYEGS;Lo;0;L;;;;;N;;;;; +CF3C;HANGUL SYLLABLE KYEN;Lo;0;L;;;;;N;;;;; +CF3D;HANGUL SYLLABLE KYENI;Lo;0;L;;;;;N;;;;; +CF3E;HANGUL SYLLABLE KYENH;Lo;0;L;;;;;N;;;;; +CF3F;HANGUL SYLLABLE KYED;Lo;0;L;;;;;N;;;;; +CF40;HANGUL SYLLABLE KYEL;Lo;0;L;;;;;N;;;;; +CF41;HANGUL SYLLABLE KYELG;Lo;0;L;;;;;N;;;;; +CF42;HANGUL SYLLABLE KYELM;Lo;0;L;;;;;N;;;;; +CF43;HANGUL SYLLABLE KYELB;Lo;0;L;;;;;N;;;;; +CF44;HANGUL SYLLABLE KYELS;Lo;0;L;;;;;N;;;;; +CF45;HANGUL SYLLABLE KYELT;Lo;0;L;;;;;N;;;;; +CF46;HANGUL SYLLABLE KYELP;Lo;0;L;;;;;N;;;;; +CF47;HANGUL SYLLABLE KYELH;Lo;0;L;;;;;N;;;;; +CF48;HANGUL SYLLABLE KYEM;Lo;0;L;;;;;N;;;;; +CF49;HANGUL SYLLABLE KYEB;Lo;0;L;;;;;N;;;;; +CF4A;HANGUL SYLLABLE KYEBS;Lo;0;L;;;;;N;;;;; +CF4B;HANGUL SYLLABLE KYES;Lo;0;L;;;;;N;;;;; +CF4C;HANGUL SYLLABLE KYESS;Lo;0;L;;;;;N;;;;; +CF4D;HANGUL SYLLABLE KYENG;Lo;0;L;;;;;N;;;;; +CF4E;HANGUL SYLLABLE KYEJ;Lo;0;L;;;;;N;;;;; +CF4F;HANGUL SYLLABLE KYEC;Lo;0;L;;;;;N;;;;; +CF50;HANGUL SYLLABLE KYEK;Lo;0;L;;;;;N;;;;; +CF51;HANGUL SYLLABLE KYET;Lo;0;L;;;;;N;;;;; +CF52;HANGUL SYLLABLE KYEP;Lo;0;L;;;;;N;;;;; +CF53;HANGUL SYLLABLE KYEH;Lo;0;L;;;;;N;;;;; +CF54;HANGUL SYLLABLE KO;Lo;0;L;;;;;N;;;;; +CF55;HANGUL SYLLABLE KOG;Lo;0;L;;;;;N;;;;; +CF56;HANGUL SYLLABLE KOGG;Lo;0;L;;;;;N;;;;; +CF57;HANGUL SYLLABLE KOGS;Lo;0;L;;;;;N;;;;; +CF58;HANGUL SYLLABLE KON;Lo;0;L;;;;;N;;;;; +CF59;HANGUL SYLLABLE KONI;Lo;0;L;;;;;N;;;;; +CF5A;HANGUL SYLLABLE KONH;Lo;0;L;;;;;N;;;;; +CF5B;HANGUL SYLLABLE KOD;Lo;0;L;;;;;N;;;;; +CF5C;HANGUL SYLLABLE KOL;Lo;0;L;;;;;N;;;;; +CF5D;HANGUL SYLLABLE KOLG;Lo;0;L;;;;;N;;;;; +CF5E;HANGUL SYLLABLE KOLM;Lo;0;L;;;;;N;;;;; +CF5F;HANGUL SYLLABLE KOLB;Lo;0;L;;;;;N;;;;; +CF60;HANGUL SYLLABLE KOLS;Lo;0;L;;;;;N;;;;; +CF61;HANGUL SYLLABLE KOLT;Lo;0;L;;;;;N;;;;; +CF62;HANGUL SYLLABLE KOLP;Lo;0;L;;;;;N;;;;; +CF63;HANGUL SYLLABLE KOLH;Lo;0;L;;;;;N;;;;; +CF64;HANGUL SYLLABLE KOM;Lo;0;L;;;;;N;;;;; +CF65;HANGUL SYLLABLE KOB;Lo;0;L;;;;;N;;;;; +CF66;HANGUL SYLLABLE KOBS;Lo;0;L;;;;;N;;;;; +CF67;HANGUL SYLLABLE KOS;Lo;0;L;;;;;N;;;;; +CF68;HANGUL SYLLABLE KOSS;Lo;0;L;;;;;N;;;;; +CF69;HANGUL SYLLABLE KONG;Lo;0;L;;;;;N;;;;; +CF6A;HANGUL SYLLABLE KOJ;Lo;0;L;;;;;N;;;;; +CF6B;HANGUL SYLLABLE KOC;Lo;0;L;;;;;N;;;;; +CF6C;HANGUL SYLLABLE KOK;Lo;0;L;;;;;N;;;;; +CF6D;HANGUL SYLLABLE KOT;Lo;0;L;;;;;N;;;;; +CF6E;HANGUL SYLLABLE KOP;Lo;0;L;;;;;N;;;;; +CF6F;HANGUL SYLLABLE KOH;Lo;0;L;;;;;N;;;;; +CF70;HANGUL SYLLABLE KWA;Lo;0;L;;;;;N;;;;; +CF71;HANGUL SYLLABLE KWAG;Lo;0;L;;;;;N;;;;; +CF72;HANGUL SYLLABLE KWAGG;Lo;0;L;;;;;N;;;;; +CF73;HANGUL SYLLABLE KWAGS;Lo;0;L;;;;;N;;;;; +CF74;HANGUL SYLLABLE KWAN;Lo;0;L;;;;;N;;;;; +CF75;HANGUL SYLLABLE KWANI;Lo;0;L;;;;;N;;;;; +CF76;HANGUL SYLLABLE KWANH;Lo;0;L;;;;;N;;;;; +CF77;HANGUL SYLLABLE KWAD;Lo;0;L;;;;;N;;;;; +CF78;HANGUL SYLLABLE KWAL;Lo;0;L;;;;;N;;;;; +CF79;HANGUL SYLLABLE KWALG;Lo;0;L;;;;;N;;;;; +CF7A;HANGUL SYLLABLE KWALM;Lo;0;L;;;;;N;;;;; +CF7B;HANGUL SYLLABLE KWALB;Lo;0;L;;;;;N;;;;; +CF7C;HANGUL SYLLABLE KWALS;Lo;0;L;;;;;N;;;;; +CF7D;HANGUL SYLLABLE KWALT;Lo;0;L;;;;;N;;;;; +CF7E;HANGUL SYLLABLE KWALP;Lo;0;L;;;;;N;;;;; +CF7F;HANGUL SYLLABLE KWALH;Lo;0;L;;;;;N;;;;; +CF80;HANGUL SYLLABLE KWAM;Lo;0;L;;;;;N;;;;; +CF81;HANGUL SYLLABLE KWAB;Lo;0;L;;;;;N;;;;; +CF82;HANGUL SYLLABLE KWABS;Lo;0;L;;;;;N;;;;; +CF83;HANGUL SYLLABLE KWAS;Lo;0;L;;;;;N;;;;; +CF84;HANGUL SYLLABLE KWASS;Lo;0;L;;;;;N;;;;; +CF85;HANGUL SYLLABLE KWANG;Lo;0;L;;;;;N;;;;; +CF86;HANGUL SYLLABLE KWAJ;Lo;0;L;;;;;N;;;;; +CF87;HANGUL SYLLABLE KWAC;Lo;0;L;;;;;N;;;;; +CF88;HANGUL SYLLABLE KWAK;Lo;0;L;;;;;N;;;;; +CF89;HANGUL SYLLABLE KWAT;Lo;0;L;;;;;N;;;;; +CF8A;HANGUL SYLLABLE KWAP;Lo;0;L;;;;;N;;;;; +CF8B;HANGUL SYLLABLE KWAH;Lo;0;L;;;;;N;;;;; +CF8C;HANGUL SYLLABLE KWAE;Lo;0;L;;;;;N;;;;; +CF8D;HANGUL SYLLABLE KWAEG;Lo;0;L;;;;;N;;;;; +CF8E;HANGUL SYLLABLE KWAEGG;Lo;0;L;;;;;N;;;;; +CF8F;HANGUL SYLLABLE KWAEGS;Lo;0;L;;;;;N;;;;; +CF90;HANGUL SYLLABLE KWAEN;Lo;0;L;;;;;N;;;;; +CF91;HANGUL SYLLABLE KWAENI;Lo;0;L;;;;;N;;;;; +CF92;HANGUL SYLLABLE KWAENH;Lo;0;L;;;;;N;;;;; +CF93;HANGUL SYLLABLE KWAED;Lo;0;L;;;;;N;;;;; +CF94;HANGUL SYLLABLE KWAEL;Lo;0;L;;;;;N;;;;; +CF95;HANGUL SYLLABLE KWAELG;Lo;0;L;;;;;N;;;;; +CF96;HANGUL SYLLABLE KWAELM;Lo;0;L;;;;;N;;;;; +CF97;HANGUL SYLLABLE KWAELB;Lo;0;L;;;;;N;;;;; +CF98;HANGUL SYLLABLE KWAELS;Lo;0;L;;;;;N;;;;; +CF99;HANGUL SYLLABLE KWAELT;Lo;0;L;;;;;N;;;;; +CF9A;HANGUL SYLLABLE KWAELP;Lo;0;L;;;;;N;;;;; +CF9B;HANGUL SYLLABLE KWAELH;Lo;0;L;;;;;N;;;;; +CF9C;HANGUL SYLLABLE KWAEM;Lo;0;L;;;;;N;;;;; +CF9D;HANGUL SYLLABLE KWAEB;Lo;0;L;;;;;N;;;;; +CF9E;HANGUL SYLLABLE KWAEBS;Lo;0;L;;;;;N;;;;; +CF9F;HANGUL SYLLABLE KWAES;Lo;0;L;;;;;N;;;;; +CFA0;HANGUL SYLLABLE KWAESS;Lo;0;L;;;;;N;;;;; +CFA1;HANGUL SYLLABLE KWAENG;Lo;0;L;;;;;N;;;;; +CFA2;HANGUL SYLLABLE KWAEJ;Lo;0;L;;;;;N;;;;; +CFA3;HANGUL SYLLABLE KWAEC;Lo;0;L;;;;;N;;;;; +CFA4;HANGUL SYLLABLE KWAEK;Lo;0;L;;;;;N;;;;; +CFA5;HANGUL SYLLABLE KWAET;Lo;0;L;;;;;N;;;;; +CFA6;HANGUL SYLLABLE KWAEP;Lo;0;L;;;;;N;;;;; +CFA7;HANGUL SYLLABLE KWAEH;Lo;0;L;;;;;N;;;;; +CFA8;HANGUL SYLLABLE KOE;Lo;0;L;;;;;N;;;;; +CFA9;HANGUL SYLLABLE KOEG;Lo;0;L;;;;;N;;;;; +CFAA;HANGUL SYLLABLE KOEGG;Lo;0;L;;;;;N;;;;; +CFAB;HANGUL SYLLABLE KOEGS;Lo;0;L;;;;;N;;;;; +CFAC;HANGUL SYLLABLE KOEN;Lo;0;L;;;;;N;;;;; +CFAD;HANGUL SYLLABLE KOENI;Lo;0;L;;;;;N;;;;; +CFAE;HANGUL SYLLABLE KOENH;Lo;0;L;;;;;N;;;;; +CFAF;HANGUL SYLLABLE KOED;Lo;0;L;;;;;N;;;;; +CFB0;HANGUL SYLLABLE KOEL;Lo;0;L;;;;;N;;;;; +CFB1;HANGUL SYLLABLE KOELG;Lo;0;L;;;;;N;;;;; +CFB2;HANGUL SYLLABLE KOELM;Lo;0;L;;;;;N;;;;; +CFB3;HANGUL SYLLABLE KOELB;Lo;0;L;;;;;N;;;;; +CFB4;HANGUL SYLLABLE KOELS;Lo;0;L;;;;;N;;;;; +CFB5;HANGUL SYLLABLE KOELT;Lo;0;L;;;;;N;;;;; +CFB6;HANGUL SYLLABLE KOELP;Lo;0;L;;;;;N;;;;; +CFB7;HANGUL SYLLABLE KOELH;Lo;0;L;;;;;N;;;;; +CFB8;HANGUL SYLLABLE KOEM;Lo;0;L;;;;;N;;;;; +CFB9;HANGUL SYLLABLE KOEB;Lo;0;L;;;;;N;;;;; +CFBA;HANGUL SYLLABLE KOEBS;Lo;0;L;;;;;N;;;;; +CFBB;HANGUL SYLLABLE KOES;Lo;0;L;;;;;N;;;;; +CFBC;HANGUL SYLLABLE KOESS;Lo;0;L;;;;;N;;;;; +CFBD;HANGUL SYLLABLE KOENG;Lo;0;L;;;;;N;;;;; +CFBE;HANGUL SYLLABLE KOEJ;Lo;0;L;;;;;N;;;;; +CFBF;HANGUL SYLLABLE KOEC;Lo;0;L;;;;;N;;;;; +CFC0;HANGUL SYLLABLE KOEK;Lo;0;L;;;;;N;;;;; +CFC1;HANGUL SYLLABLE KOET;Lo;0;L;;;;;N;;;;; +CFC2;HANGUL SYLLABLE KOEP;Lo;0;L;;;;;N;;;;; +CFC3;HANGUL SYLLABLE KOEH;Lo;0;L;;;;;N;;;;; +CFC4;HANGUL SYLLABLE KYO;Lo;0;L;;;;;N;;;;; +CFC5;HANGUL SYLLABLE KYOG;Lo;0;L;;;;;N;;;;; +CFC6;HANGUL SYLLABLE KYOGG;Lo;0;L;;;;;N;;;;; +CFC7;HANGUL SYLLABLE KYOGS;Lo;0;L;;;;;N;;;;; +CFC8;HANGUL SYLLABLE KYON;Lo;0;L;;;;;N;;;;; +CFC9;HANGUL SYLLABLE KYONI;Lo;0;L;;;;;N;;;;; +CFCA;HANGUL SYLLABLE KYONH;Lo;0;L;;;;;N;;;;; +CFCB;HANGUL SYLLABLE KYOD;Lo;0;L;;;;;N;;;;; +CFCC;HANGUL SYLLABLE KYOL;Lo;0;L;;;;;N;;;;; +CFCD;HANGUL SYLLABLE KYOLG;Lo;0;L;;;;;N;;;;; +CFCE;HANGUL SYLLABLE KYOLM;Lo;0;L;;;;;N;;;;; +CFCF;HANGUL SYLLABLE KYOLB;Lo;0;L;;;;;N;;;;; +CFD0;HANGUL SYLLABLE KYOLS;Lo;0;L;;;;;N;;;;; +CFD1;HANGUL SYLLABLE KYOLT;Lo;0;L;;;;;N;;;;; +CFD2;HANGUL SYLLABLE KYOLP;Lo;0;L;;;;;N;;;;; +CFD3;HANGUL SYLLABLE KYOLH;Lo;0;L;;;;;N;;;;; +CFD4;HANGUL SYLLABLE KYOM;Lo;0;L;;;;;N;;;;; +CFD5;HANGUL SYLLABLE KYOB;Lo;0;L;;;;;N;;;;; +CFD6;HANGUL SYLLABLE KYOBS;Lo;0;L;;;;;N;;;;; +CFD7;HANGUL SYLLABLE KYOS;Lo;0;L;;;;;N;;;;; +CFD8;HANGUL SYLLABLE KYOSS;Lo;0;L;;;;;N;;;;; +CFD9;HANGUL SYLLABLE KYONG;Lo;0;L;;;;;N;;;;; +CFDA;HANGUL SYLLABLE KYOJ;Lo;0;L;;;;;N;;;;; +CFDB;HANGUL SYLLABLE KYOC;Lo;0;L;;;;;N;;;;; +CFDC;HANGUL SYLLABLE KYOK;Lo;0;L;;;;;N;;;;; +CFDD;HANGUL SYLLABLE KYOT;Lo;0;L;;;;;N;;;;; +CFDE;HANGUL SYLLABLE KYOP;Lo;0;L;;;;;N;;;;; +CFDF;HANGUL SYLLABLE KYOH;Lo;0;L;;;;;N;;;;; +CFE0;HANGUL SYLLABLE KU;Lo;0;L;;;;;N;;;;; +CFE1;HANGUL SYLLABLE KUG;Lo;0;L;;;;;N;;;;; +CFE2;HANGUL SYLLABLE KUGG;Lo;0;L;;;;;N;;;;; +CFE3;HANGUL SYLLABLE KUGS;Lo;0;L;;;;;N;;;;; +CFE4;HANGUL SYLLABLE KUN;Lo;0;L;;;;;N;;;;; +CFE5;HANGUL SYLLABLE KUNI;Lo;0;L;;;;;N;;;;; +CFE6;HANGUL SYLLABLE KUNH;Lo;0;L;;;;;N;;;;; +CFE7;HANGUL SYLLABLE KUD;Lo;0;L;;;;;N;;;;; +CFE8;HANGUL SYLLABLE KUL;Lo;0;L;;;;;N;;;;; +CFE9;HANGUL SYLLABLE KULG;Lo;0;L;;;;;N;;;;; +CFEA;HANGUL SYLLABLE KULM;Lo;0;L;;;;;N;;;;; +CFEB;HANGUL SYLLABLE KULB;Lo;0;L;;;;;N;;;;; +CFEC;HANGUL SYLLABLE KULS;Lo;0;L;;;;;N;;;;; +CFED;HANGUL SYLLABLE KULT;Lo;0;L;;;;;N;;;;; +CFEE;HANGUL SYLLABLE KULP;Lo;0;L;;;;;N;;;;; +CFEF;HANGUL SYLLABLE KULH;Lo;0;L;;;;;N;;;;; +CFF0;HANGUL SYLLABLE KUM;Lo;0;L;;;;;N;;;;; +CFF1;HANGUL SYLLABLE KUB;Lo;0;L;;;;;N;;;;; +CFF2;HANGUL SYLLABLE KUBS;Lo;0;L;;;;;N;;;;; +CFF3;HANGUL SYLLABLE KUS;Lo;0;L;;;;;N;;;;; +CFF4;HANGUL SYLLABLE KUSS;Lo;0;L;;;;;N;;;;; +CFF5;HANGUL SYLLABLE KUNG;Lo;0;L;;;;;N;;;;; +CFF6;HANGUL SYLLABLE KUJ;Lo;0;L;;;;;N;;;;; +CFF7;HANGUL SYLLABLE KUC;Lo;0;L;;;;;N;;;;; +CFF8;HANGUL SYLLABLE KUK;Lo;0;L;;;;;N;;;;; +CFF9;HANGUL SYLLABLE KUT;Lo;0;L;;;;;N;;;;; +CFFA;HANGUL SYLLABLE KUP;Lo;0;L;;;;;N;;;;; +CFFB;HANGUL SYLLABLE KUH;Lo;0;L;;;;;N;;;;; +CFFC;HANGUL SYLLABLE KWEO;Lo;0;L;;;;;N;;;;; +CFFD;HANGUL SYLLABLE KWEOG;Lo;0;L;;;;;N;;;;; +CFFE;HANGUL SYLLABLE KWEOGG;Lo;0;L;;;;;N;;;;; +CFFF;HANGUL SYLLABLE KWEOGS;Lo;0;L;;;;;N;;;;; +D000;HANGUL SYLLABLE KWEON;Lo;0;L;;;;;N;;;;; +D001;HANGUL SYLLABLE KWEONI;Lo;0;L;;;;;N;;;;; +D002;HANGUL SYLLABLE KWEONH;Lo;0;L;;;;;N;;;;; +D003;HANGUL SYLLABLE KWEOD;Lo;0;L;;;;;N;;;;; +D004;HANGUL SYLLABLE KWEOL;Lo;0;L;;;;;N;;;;; +D005;HANGUL SYLLABLE KWEOLG;Lo;0;L;;;;;N;;;;; +D006;HANGUL SYLLABLE KWEOLM;Lo;0;L;;;;;N;;;;; +D007;HANGUL SYLLABLE KWEOLB;Lo;0;L;;;;;N;;;;; +D008;HANGUL SYLLABLE KWEOLS;Lo;0;L;;;;;N;;;;; +D009;HANGUL SYLLABLE KWEOLT;Lo;0;L;;;;;N;;;;; +D00A;HANGUL SYLLABLE KWEOLP;Lo;0;L;;;;;N;;;;; +D00B;HANGUL SYLLABLE KWEOLH;Lo;0;L;;;;;N;;;;; +D00C;HANGUL SYLLABLE KWEOM;Lo;0;L;;;;;N;;;;; +D00D;HANGUL SYLLABLE KWEOB;Lo;0;L;;;;;N;;;;; +D00E;HANGUL SYLLABLE KWEOBS;Lo;0;L;;;;;N;;;;; +D00F;HANGUL SYLLABLE KWEOS;Lo;0;L;;;;;N;;;;; +D010;HANGUL SYLLABLE KWEOSS;Lo;0;L;;;;;N;;;;; +D011;HANGUL SYLLABLE KWEONG;Lo;0;L;;;;;N;;;;; +D012;HANGUL SYLLABLE KWEOJ;Lo;0;L;;;;;N;;;;; +D013;HANGUL SYLLABLE KWEOC;Lo;0;L;;;;;N;;;;; +D014;HANGUL SYLLABLE KWEOK;Lo;0;L;;;;;N;;;;; +D015;HANGUL SYLLABLE KWEOT;Lo;0;L;;;;;N;;;;; +D016;HANGUL SYLLABLE KWEOP;Lo;0;L;;;;;N;;;;; +D017;HANGUL SYLLABLE KWEOH;Lo;0;L;;;;;N;;;;; +D018;HANGUL SYLLABLE KWE;Lo;0;L;;;;;N;;;;; +D019;HANGUL SYLLABLE KWEG;Lo;0;L;;;;;N;;;;; +D01A;HANGUL SYLLABLE KWEGG;Lo;0;L;;;;;N;;;;; +D01B;HANGUL SYLLABLE KWEGS;Lo;0;L;;;;;N;;;;; +D01C;HANGUL SYLLABLE KWEN;Lo;0;L;;;;;N;;;;; +D01D;HANGUL SYLLABLE KWENI;Lo;0;L;;;;;N;;;;; +D01E;HANGUL SYLLABLE KWENH;Lo;0;L;;;;;N;;;;; +D01F;HANGUL SYLLABLE KWED;Lo;0;L;;;;;N;;;;; +D020;HANGUL SYLLABLE KWEL;Lo;0;L;;;;;N;;;;; +D021;HANGUL SYLLABLE KWELG;Lo;0;L;;;;;N;;;;; +D022;HANGUL SYLLABLE KWELM;Lo;0;L;;;;;N;;;;; +D023;HANGUL SYLLABLE KWELB;Lo;0;L;;;;;N;;;;; +D024;HANGUL SYLLABLE KWELS;Lo;0;L;;;;;N;;;;; +D025;HANGUL SYLLABLE KWELT;Lo;0;L;;;;;N;;;;; +D026;HANGUL SYLLABLE KWELP;Lo;0;L;;;;;N;;;;; +D027;HANGUL SYLLABLE KWELH;Lo;0;L;;;;;N;;;;; +D028;HANGUL SYLLABLE KWEM;Lo;0;L;;;;;N;;;;; +D029;HANGUL SYLLABLE KWEB;Lo;0;L;;;;;N;;;;; +D02A;HANGUL SYLLABLE KWEBS;Lo;0;L;;;;;N;;;;; +D02B;HANGUL SYLLABLE KWES;Lo;0;L;;;;;N;;;;; +D02C;HANGUL SYLLABLE KWESS;Lo;0;L;;;;;N;;;;; +D02D;HANGUL SYLLABLE KWENG;Lo;0;L;;;;;N;;;;; +D02E;HANGUL SYLLABLE KWEJ;Lo;0;L;;;;;N;;;;; +D02F;HANGUL SYLLABLE KWEC;Lo;0;L;;;;;N;;;;; +D030;HANGUL SYLLABLE KWEK;Lo;0;L;;;;;N;;;;; +D031;HANGUL SYLLABLE KWET;Lo;0;L;;;;;N;;;;; +D032;HANGUL SYLLABLE KWEP;Lo;0;L;;;;;N;;;;; +D033;HANGUL SYLLABLE KWEH;Lo;0;L;;;;;N;;;;; +D034;HANGUL SYLLABLE KWI;Lo;0;L;;;;;N;;;;; +D035;HANGUL SYLLABLE KWIG;Lo;0;L;;;;;N;;;;; +D036;HANGUL SYLLABLE KWIGG;Lo;0;L;;;;;N;;;;; +D037;HANGUL SYLLABLE KWIGS;Lo;0;L;;;;;N;;;;; +D038;HANGUL SYLLABLE KWIN;Lo;0;L;;;;;N;;;;; +D039;HANGUL SYLLABLE KWINI;Lo;0;L;;;;;N;;;;; +D03A;HANGUL SYLLABLE KWINH;Lo;0;L;;;;;N;;;;; +D03B;HANGUL SYLLABLE KWID;Lo;0;L;;;;;N;;;;; +D03C;HANGUL SYLLABLE KWIL;Lo;0;L;;;;;N;;;;; +D03D;HANGUL SYLLABLE KWILG;Lo;0;L;;;;;N;;;;; +D03E;HANGUL SYLLABLE KWILM;Lo;0;L;;;;;N;;;;; +D03F;HANGUL SYLLABLE KWILB;Lo;0;L;;;;;N;;;;; +D040;HANGUL SYLLABLE KWILS;Lo;0;L;;;;;N;;;;; +D041;HANGUL SYLLABLE KWILT;Lo;0;L;;;;;N;;;;; +D042;HANGUL SYLLABLE KWILP;Lo;0;L;;;;;N;;;;; +D043;HANGUL SYLLABLE KWILH;Lo;0;L;;;;;N;;;;; +D044;HANGUL SYLLABLE KWIM;Lo;0;L;;;;;N;;;;; +D045;HANGUL SYLLABLE KWIB;Lo;0;L;;;;;N;;;;; +D046;HANGUL SYLLABLE KWIBS;Lo;0;L;;;;;N;;;;; +D047;HANGUL SYLLABLE KWIS;Lo;0;L;;;;;N;;;;; +D048;HANGUL SYLLABLE KWISS;Lo;0;L;;;;;N;;;;; +D049;HANGUL SYLLABLE KWING;Lo;0;L;;;;;N;;;;; +D04A;HANGUL SYLLABLE KWIJ;Lo;0;L;;;;;N;;;;; +D04B;HANGUL SYLLABLE KWIC;Lo;0;L;;;;;N;;;;; +D04C;HANGUL SYLLABLE KWIK;Lo;0;L;;;;;N;;;;; +D04D;HANGUL SYLLABLE KWIT;Lo;0;L;;;;;N;;;;; +D04E;HANGUL SYLLABLE KWIP;Lo;0;L;;;;;N;;;;; +D04F;HANGUL SYLLABLE KWIH;Lo;0;L;;;;;N;;;;; +D050;HANGUL SYLLABLE KYU;Lo;0;L;;;;;N;;;;; +D051;HANGUL SYLLABLE KYUG;Lo;0;L;;;;;N;;;;; +D052;HANGUL SYLLABLE KYUGG;Lo;0;L;;;;;N;;;;; +D053;HANGUL SYLLABLE KYUGS;Lo;0;L;;;;;N;;;;; +D054;HANGUL SYLLABLE KYUN;Lo;0;L;;;;;N;;;;; +D055;HANGUL SYLLABLE KYUNI;Lo;0;L;;;;;N;;;;; +D056;HANGUL SYLLABLE KYUNH;Lo;0;L;;;;;N;;;;; +D057;HANGUL SYLLABLE KYUD;Lo;0;L;;;;;N;;;;; +D058;HANGUL SYLLABLE KYUL;Lo;0;L;;;;;N;;;;; +D059;HANGUL SYLLABLE KYULG;Lo;0;L;;;;;N;;;;; +D05A;HANGUL SYLLABLE KYULM;Lo;0;L;;;;;N;;;;; +D05B;HANGUL SYLLABLE KYULB;Lo;0;L;;;;;N;;;;; +D05C;HANGUL SYLLABLE KYULS;Lo;0;L;;;;;N;;;;; +D05D;HANGUL SYLLABLE KYULT;Lo;0;L;;;;;N;;;;; +D05E;HANGUL SYLLABLE KYULP;Lo;0;L;;;;;N;;;;; +D05F;HANGUL SYLLABLE KYULH;Lo;0;L;;;;;N;;;;; +D060;HANGUL SYLLABLE KYUM;Lo;0;L;;;;;N;;;;; +D061;HANGUL SYLLABLE KYUB;Lo;0;L;;;;;N;;;;; +D062;HANGUL SYLLABLE KYUBS;Lo;0;L;;;;;N;;;;; +D063;HANGUL SYLLABLE KYUS;Lo;0;L;;;;;N;;;;; +D064;HANGUL SYLLABLE KYUSS;Lo;0;L;;;;;N;;;;; +D065;HANGUL SYLLABLE KYUNG;Lo;0;L;;;;;N;;;;; +D066;HANGUL SYLLABLE KYUJ;Lo;0;L;;;;;N;;;;; +D067;HANGUL SYLLABLE KYUC;Lo;0;L;;;;;N;;;;; +D068;HANGUL SYLLABLE KYUK;Lo;0;L;;;;;N;;;;; +D069;HANGUL SYLLABLE KYUT;Lo;0;L;;;;;N;;;;; +D06A;HANGUL SYLLABLE KYUP;Lo;0;L;;;;;N;;;;; +D06B;HANGUL SYLLABLE KYUH;Lo;0;L;;;;;N;;;;; +D06C;HANGUL SYLLABLE KEU;Lo;0;L;;;;;N;;;;; +D06D;HANGUL SYLLABLE KEUG;Lo;0;L;;;;;N;;;;; +D06E;HANGUL SYLLABLE KEUGG;Lo;0;L;;;;;N;;;;; +D06F;HANGUL SYLLABLE KEUGS;Lo;0;L;;;;;N;;;;; +D070;HANGUL SYLLABLE KEUN;Lo;0;L;;;;;N;;;;; +D071;HANGUL SYLLABLE KEUNI;Lo;0;L;;;;;N;;;;; +D072;HANGUL SYLLABLE KEUNH;Lo;0;L;;;;;N;;;;; +D073;HANGUL SYLLABLE KEUD;Lo;0;L;;;;;N;;;;; +D074;HANGUL SYLLABLE KEUL;Lo;0;L;;;;;N;;;;; +D075;HANGUL SYLLABLE KEULG;Lo;0;L;;;;;N;;;;; +D076;HANGUL SYLLABLE KEULM;Lo;0;L;;;;;N;;;;; +D077;HANGUL SYLLABLE KEULB;Lo;0;L;;;;;N;;;;; +D078;HANGUL SYLLABLE KEULS;Lo;0;L;;;;;N;;;;; +D079;HANGUL SYLLABLE KEULT;Lo;0;L;;;;;N;;;;; +D07A;HANGUL SYLLABLE KEULP;Lo;0;L;;;;;N;;;;; +D07B;HANGUL SYLLABLE KEULH;Lo;0;L;;;;;N;;;;; +D07C;HANGUL SYLLABLE KEUM;Lo;0;L;;;;;N;;;;; +D07D;HANGUL SYLLABLE KEUB;Lo;0;L;;;;;N;;;;; +D07E;HANGUL SYLLABLE KEUBS;Lo;0;L;;;;;N;;;;; +D07F;HANGUL SYLLABLE KEUS;Lo;0;L;;;;;N;;;;; +D080;HANGUL SYLLABLE KEUSS;Lo;0;L;;;;;N;;;;; +D081;HANGUL SYLLABLE KEUNG;Lo;0;L;;;;;N;;;;; +D082;HANGUL SYLLABLE KEUJ;Lo;0;L;;;;;N;;;;; +D083;HANGUL SYLLABLE KEUC;Lo;0;L;;;;;N;;;;; +D084;HANGUL SYLLABLE KEUK;Lo;0;L;;;;;N;;;;; +D085;HANGUL SYLLABLE KEUT;Lo;0;L;;;;;N;;;;; +D086;HANGUL SYLLABLE KEUP;Lo;0;L;;;;;N;;;;; +D087;HANGUL SYLLABLE KEUH;Lo;0;L;;;;;N;;;;; +D088;HANGUL SYLLABLE KYI;Lo;0;L;;;;;N;;;;; +D089;HANGUL SYLLABLE KYIG;Lo;0;L;;;;;N;;;;; +D08A;HANGUL SYLLABLE KYIGG;Lo;0;L;;;;;N;;;;; +D08B;HANGUL SYLLABLE KYIGS;Lo;0;L;;;;;N;;;;; +D08C;HANGUL SYLLABLE KYIN;Lo;0;L;;;;;N;;;;; +D08D;HANGUL SYLLABLE KYINI;Lo;0;L;;;;;N;;;;; +D08E;HANGUL SYLLABLE KYINH;Lo;0;L;;;;;N;;;;; +D08F;HANGUL SYLLABLE KYID;Lo;0;L;;;;;N;;;;; +D090;HANGUL SYLLABLE KYIL;Lo;0;L;;;;;N;;;;; +D091;HANGUL SYLLABLE KYILG;Lo;0;L;;;;;N;;;;; +D092;HANGUL SYLLABLE KYILM;Lo;0;L;;;;;N;;;;; +D093;HANGUL SYLLABLE KYILB;Lo;0;L;;;;;N;;;;; +D094;HANGUL SYLLABLE KYILS;Lo;0;L;;;;;N;;;;; +D095;HANGUL SYLLABLE KYILT;Lo;0;L;;;;;N;;;;; +D096;HANGUL SYLLABLE KYILP;Lo;0;L;;;;;N;;;;; +D097;HANGUL SYLLABLE KYILH;Lo;0;L;;;;;N;;;;; +D098;HANGUL SYLLABLE KYIM;Lo;0;L;;;;;N;;;;; +D099;HANGUL SYLLABLE KYIB;Lo;0;L;;;;;N;;;;; +D09A;HANGUL SYLLABLE KYIBS;Lo;0;L;;;;;N;;;;; +D09B;HANGUL SYLLABLE KYIS;Lo;0;L;;;;;N;;;;; +D09C;HANGUL SYLLABLE KYISS;Lo;0;L;;;;;N;;;;; +D09D;HANGUL SYLLABLE KYING;Lo;0;L;;;;;N;;;;; +D09E;HANGUL SYLLABLE KYIJ;Lo;0;L;;;;;N;;;;; +D09F;HANGUL SYLLABLE KYIC;Lo;0;L;;;;;N;;;;; +D0A0;HANGUL SYLLABLE KYIK;Lo;0;L;;;;;N;;;;; +D0A1;HANGUL SYLLABLE KYIT;Lo;0;L;;;;;N;;;;; +D0A2;HANGUL SYLLABLE KYIP;Lo;0;L;;;;;N;;;;; +D0A3;HANGUL SYLLABLE KYIH;Lo;0;L;;;;;N;;;;; +D0A4;HANGUL SYLLABLE KI;Lo;0;L;;;;;N;;;;; +D0A5;HANGUL SYLLABLE KIG;Lo;0;L;;;;;N;;;;; +D0A6;HANGUL SYLLABLE KIGG;Lo;0;L;;;;;N;;;;; +D0A7;HANGUL SYLLABLE KIGS;Lo;0;L;;;;;N;;;;; +D0A8;HANGUL SYLLABLE KIN;Lo;0;L;;;;;N;;;;; +D0A9;HANGUL SYLLABLE KINI;Lo;0;L;;;;;N;;;;; +D0AA;HANGUL SYLLABLE KINH;Lo;0;L;;;;;N;;;;; +D0AB;HANGUL SYLLABLE KID;Lo;0;L;;;;;N;;;;; +D0AC;HANGUL SYLLABLE KIL;Lo;0;L;;;;;N;;;;; +D0AD;HANGUL SYLLABLE KILG;Lo;0;L;;;;;N;;;;; +D0AE;HANGUL SYLLABLE KILM;Lo;0;L;;;;;N;;;;; +D0AF;HANGUL SYLLABLE KILB;Lo;0;L;;;;;N;;;;; +D0B0;HANGUL SYLLABLE KILS;Lo;0;L;;;;;N;;;;; +D0B1;HANGUL SYLLABLE KILT;Lo;0;L;;;;;N;;;;; +D0B2;HANGUL SYLLABLE KILP;Lo;0;L;;;;;N;;;;; +D0B3;HANGUL SYLLABLE KILH;Lo;0;L;;;;;N;;;;; +D0B4;HANGUL SYLLABLE KIM;Lo;0;L;;;;;N;;;;; +D0B5;HANGUL SYLLABLE KIB;Lo;0;L;;;;;N;;;;; +D0B6;HANGUL SYLLABLE KIBS;Lo;0;L;;;;;N;;;;; +D0B7;HANGUL SYLLABLE KIS;Lo;0;L;;;;;N;;;;; +D0B8;HANGUL SYLLABLE KISS;Lo;0;L;;;;;N;;;;; +D0B9;HANGUL SYLLABLE KING;Lo;0;L;;;;;N;;;;; +D0BA;HANGUL SYLLABLE KIJ;Lo;0;L;;;;;N;;;;; +D0BB;HANGUL SYLLABLE KIC;Lo;0;L;;;;;N;;;;; +D0BC;HANGUL SYLLABLE KIK;Lo;0;L;;;;;N;;;;; +D0BD;HANGUL SYLLABLE KIT;Lo;0;L;;;;;N;;;;; +D0BE;HANGUL SYLLABLE KIP;Lo;0;L;;;;;N;;;;; +D0BF;HANGUL SYLLABLE KIH;Lo;0;L;;;;;N;;;;; +D0C0;HANGUL SYLLABLE TA;Lo;0;L;;;;;N;;;;; +D0C1;HANGUL SYLLABLE TAG;Lo;0;L;;;;;N;;;;; +D0C2;HANGUL SYLLABLE TAGG;Lo;0;L;;;;;N;;;;; +D0C3;HANGUL SYLLABLE TAGS;Lo;0;L;;;;;N;;;;; +D0C4;HANGUL SYLLABLE TAN;Lo;0;L;;;;;N;;;;; +D0C5;HANGUL SYLLABLE TANI;Lo;0;L;;;;;N;;;;; +D0C6;HANGUL SYLLABLE TANH;Lo;0;L;;;;;N;;;;; +D0C7;HANGUL SYLLABLE TAD;Lo;0;L;;;;;N;;;;; +D0C8;HANGUL SYLLABLE TAL;Lo;0;L;;;;;N;;;;; +D0C9;HANGUL SYLLABLE TALG;Lo;0;L;;;;;N;;;;; +D0CA;HANGUL SYLLABLE TALM;Lo;0;L;;;;;N;;;;; +D0CB;HANGUL SYLLABLE TALB;Lo;0;L;;;;;N;;;;; +D0CC;HANGUL SYLLABLE TALS;Lo;0;L;;;;;N;;;;; +D0CD;HANGUL SYLLABLE TALT;Lo;0;L;;;;;N;;;;; +D0CE;HANGUL SYLLABLE TALP;Lo;0;L;;;;;N;;;;; +D0CF;HANGUL SYLLABLE TALH;Lo;0;L;;;;;N;;;;; +D0D0;HANGUL SYLLABLE TAM;Lo;0;L;;;;;N;;;;; +D0D1;HANGUL SYLLABLE TAB;Lo;0;L;;;;;N;;;;; +D0D2;HANGUL SYLLABLE TABS;Lo;0;L;;;;;N;;;;; +D0D3;HANGUL SYLLABLE TAS;Lo;0;L;;;;;N;;;;; +D0D4;HANGUL SYLLABLE TASS;Lo;0;L;;;;;N;;;;; +D0D5;HANGUL SYLLABLE TANG;Lo;0;L;;;;;N;;;;; +D0D6;HANGUL SYLLABLE TAJ;Lo;0;L;;;;;N;;;;; +D0D7;HANGUL SYLLABLE TAC;Lo;0;L;;;;;N;;;;; +D0D8;HANGUL SYLLABLE TAK;Lo;0;L;;;;;N;;;;; +D0D9;HANGUL SYLLABLE TAT;Lo;0;L;;;;;N;;;;; +D0DA;HANGUL SYLLABLE TAP;Lo;0;L;;;;;N;;;;; +D0DB;HANGUL SYLLABLE TAH;Lo;0;L;;;;;N;;;;; +D0DC;HANGUL SYLLABLE TAE;Lo;0;L;;;;;N;;;;; +D0DD;HANGUL SYLLABLE TAEG;Lo;0;L;;;;;N;;;;; +D0DE;HANGUL SYLLABLE TAEGG;Lo;0;L;;;;;N;;;;; +D0DF;HANGUL SYLLABLE TAEGS;Lo;0;L;;;;;N;;;;; +D0E0;HANGUL SYLLABLE TAEN;Lo;0;L;;;;;N;;;;; +D0E1;HANGUL SYLLABLE TAENI;Lo;0;L;;;;;N;;;;; +D0E2;HANGUL SYLLABLE TAENH;Lo;0;L;;;;;N;;;;; +D0E3;HANGUL SYLLABLE TAED;Lo;0;L;;;;;N;;;;; +D0E4;HANGUL SYLLABLE TAEL;Lo;0;L;;;;;N;;;;; +D0E5;HANGUL SYLLABLE TAELG;Lo;0;L;;;;;N;;;;; +D0E6;HANGUL SYLLABLE TAELM;Lo;0;L;;;;;N;;;;; +D0E7;HANGUL SYLLABLE TAELB;Lo;0;L;;;;;N;;;;; +D0E8;HANGUL SYLLABLE TAELS;Lo;0;L;;;;;N;;;;; +D0E9;HANGUL SYLLABLE TAELT;Lo;0;L;;;;;N;;;;; +D0EA;HANGUL SYLLABLE TAELP;Lo;0;L;;;;;N;;;;; +D0EB;HANGUL SYLLABLE TAELH;Lo;0;L;;;;;N;;;;; +D0EC;HANGUL SYLLABLE TAEM;Lo;0;L;;;;;N;;;;; +D0ED;HANGUL SYLLABLE TAEB;Lo;0;L;;;;;N;;;;; +D0EE;HANGUL SYLLABLE TAEBS;Lo;0;L;;;;;N;;;;; +D0EF;HANGUL SYLLABLE TAES;Lo;0;L;;;;;N;;;;; +D0F0;HANGUL SYLLABLE TAESS;Lo;0;L;;;;;N;;;;; +D0F1;HANGUL SYLLABLE TAENG;Lo;0;L;;;;;N;;;;; +D0F2;HANGUL SYLLABLE TAEJ;Lo;0;L;;;;;N;;;;; +D0F3;HANGUL SYLLABLE TAEC;Lo;0;L;;;;;N;;;;; +D0F4;HANGUL SYLLABLE TAEK;Lo;0;L;;;;;N;;;;; +D0F5;HANGUL SYLLABLE TAET;Lo;0;L;;;;;N;;;;; +D0F6;HANGUL SYLLABLE TAEP;Lo;0;L;;;;;N;;;;; +D0F7;HANGUL SYLLABLE TAEH;Lo;0;L;;;;;N;;;;; +D0F8;HANGUL SYLLABLE TYA;Lo;0;L;;;;;N;;;;; +D0F9;HANGUL SYLLABLE TYAG;Lo;0;L;;;;;N;;;;; +D0FA;HANGUL SYLLABLE TYAGG;Lo;0;L;;;;;N;;;;; +D0FB;HANGUL SYLLABLE TYAGS;Lo;0;L;;;;;N;;;;; +D0FC;HANGUL SYLLABLE TYAN;Lo;0;L;;;;;N;;;;; +D0FD;HANGUL SYLLABLE TYANI;Lo;0;L;;;;;N;;;;; +D0FE;HANGUL SYLLABLE TYANH;Lo;0;L;;;;;N;;;;; +D0FF;HANGUL SYLLABLE TYAD;Lo;0;L;;;;;N;;;;; +D100;HANGUL SYLLABLE TYAL;Lo;0;L;;;;;N;;;;; +D101;HANGUL SYLLABLE TYALG;Lo;0;L;;;;;N;;;;; +D102;HANGUL SYLLABLE TYALM;Lo;0;L;;;;;N;;;;; +D103;HANGUL SYLLABLE TYALB;Lo;0;L;;;;;N;;;;; +D104;HANGUL SYLLABLE TYALS;Lo;0;L;;;;;N;;;;; +D105;HANGUL SYLLABLE TYALT;Lo;0;L;;;;;N;;;;; +D106;HANGUL SYLLABLE TYALP;Lo;0;L;;;;;N;;;;; +D107;HANGUL SYLLABLE TYALH;Lo;0;L;;;;;N;;;;; +D108;HANGUL SYLLABLE TYAM;Lo;0;L;;;;;N;;;;; +D109;HANGUL SYLLABLE TYAB;Lo;0;L;;;;;N;;;;; +D10A;HANGUL SYLLABLE TYABS;Lo;0;L;;;;;N;;;;; +D10B;HANGUL SYLLABLE TYAS;Lo;0;L;;;;;N;;;;; +D10C;HANGUL SYLLABLE TYASS;Lo;0;L;;;;;N;;;;; +D10D;HANGUL SYLLABLE TYANG;Lo;0;L;;;;;N;;;;; +D10E;HANGUL SYLLABLE TYAJ;Lo;0;L;;;;;N;;;;; +D10F;HANGUL SYLLABLE TYAC;Lo;0;L;;;;;N;;;;; +D110;HANGUL SYLLABLE TYAK;Lo;0;L;;;;;N;;;;; +D111;HANGUL SYLLABLE TYAT;Lo;0;L;;;;;N;;;;; +D112;HANGUL SYLLABLE TYAP;Lo;0;L;;;;;N;;;;; +D113;HANGUL SYLLABLE TYAH;Lo;0;L;;;;;N;;;;; +D114;HANGUL SYLLABLE TYAE;Lo;0;L;;;;;N;;;;; +D115;HANGUL SYLLABLE TYAEG;Lo;0;L;;;;;N;;;;; +D116;HANGUL SYLLABLE TYAEGG;Lo;0;L;;;;;N;;;;; +D117;HANGUL SYLLABLE TYAEGS;Lo;0;L;;;;;N;;;;; +D118;HANGUL SYLLABLE TYAEN;Lo;0;L;;;;;N;;;;; +D119;HANGUL SYLLABLE TYAENI;Lo;0;L;;;;;N;;;;; +D11A;HANGUL SYLLABLE TYAENH;Lo;0;L;;;;;N;;;;; +D11B;HANGUL SYLLABLE TYAED;Lo;0;L;;;;;N;;;;; +D11C;HANGUL SYLLABLE TYAEL;Lo;0;L;;;;;N;;;;; +D11D;HANGUL SYLLABLE TYAELG;Lo;0;L;;;;;N;;;;; +D11E;HANGUL SYLLABLE TYAELM;Lo;0;L;;;;;N;;;;; +D11F;HANGUL SYLLABLE TYAELB;Lo;0;L;;;;;N;;;;; +D120;HANGUL SYLLABLE TYAELS;Lo;0;L;;;;;N;;;;; +D121;HANGUL SYLLABLE TYAELT;Lo;0;L;;;;;N;;;;; +D122;HANGUL SYLLABLE TYAELP;Lo;0;L;;;;;N;;;;; +D123;HANGUL SYLLABLE TYAELH;Lo;0;L;;;;;N;;;;; +D124;HANGUL SYLLABLE TYAEM;Lo;0;L;;;;;N;;;;; +D125;HANGUL SYLLABLE TYAEB;Lo;0;L;;;;;N;;;;; +D126;HANGUL SYLLABLE TYAEBS;Lo;0;L;;;;;N;;;;; +D127;HANGUL SYLLABLE TYAES;Lo;0;L;;;;;N;;;;; +D128;HANGUL SYLLABLE TYAESS;Lo;0;L;;;;;N;;;;; +D129;HANGUL SYLLABLE TYAENG;Lo;0;L;;;;;N;;;;; +D12A;HANGUL SYLLABLE TYAEJ;Lo;0;L;;;;;N;;;;; +D12B;HANGUL SYLLABLE TYAEC;Lo;0;L;;;;;N;;;;; +D12C;HANGUL SYLLABLE TYAEK;Lo;0;L;;;;;N;;;;; +D12D;HANGUL SYLLABLE TYAET;Lo;0;L;;;;;N;;;;; +D12E;HANGUL SYLLABLE TYAEP;Lo;0;L;;;;;N;;;;; +D12F;HANGUL SYLLABLE TYAEH;Lo;0;L;;;;;N;;;;; +D130;HANGUL SYLLABLE TEO;Lo;0;L;;;;;N;;;;; +D131;HANGUL SYLLABLE TEOG;Lo;0;L;;;;;N;;;;; +D132;HANGUL SYLLABLE TEOGG;Lo;0;L;;;;;N;;;;; +D133;HANGUL SYLLABLE TEOGS;Lo;0;L;;;;;N;;;;; +D134;HANGUL SYLLABLE TEON;Lo;0;L;;;;;N;;;;; +D135;HANGUL SYLLABLE TEONI;Lo;0;L;;;;;N;;;;; +D136;HANGUL SYLLABLE TEONH;Lo;0;L;;;;;N;;;;; +D137;HANGUL SYLLABLE TEOD;Lo;0;L;;;;;N;;;;; +D138;HANGUL SYLLABLE TEOL;Lo;0;L;;;;;N;;;;; +D139;HANGUL SYLLABLE TEOLG;Lo;0;L;;;;;N;;;;; +D13A;HANGUL SYLLABLE TEOLM;Lo;0;L;;;;;N;;;;; +D13B;HANGUL SYLLABLE TEOLB;Lo;0;L;;;;;N;;;;; +D13C;HANGUL SYLLABLE TEOLS;Lo;0;L;;;;;N;;;;; +D13D;HANGUL SYLLABLE TEOLT;Lo;0;L;;;;;N;;;;; +D13E;HANGUL SYLLABLE TEOLP;Lo;0;L;;;;;N;;;;; +D13F;HANGUL SYLLABLE TEOLH;Lo;0;L;;;;;N;;;;; +D140;HANGUL SYLLABLE TEOM;Lo;0;L;;;;;N;;;;; +D141;HANGUL SYLLABLE TEOB;Lo;0;L;;;;;N;;;;; +D142;HANGUL SYLLABLE TEOBS;Lo;0;L;;;;;N;;;;; +D143;HANGUL SYLLABLE TEOS;Lo;0;L;;;;;N;;;;; +D144;HANGUL SYLLABLE TEOSS;Lo;0;L;;;;;N;;;;; +D145;HANGUL SYLLABLE TEONG;Lo;0;L;;;;;N;;;;; +D146;HANGUL SYLLABLE TEOJ;Lo;0;L;;;;;N;;;;; +D147;HANGUL SYLLABLE TEOC;Lo;0;L;;;;;N;;;;; +D148;HANGUL SYLLABLE TEOK;Lo;0;L;;;;;N;;;;; +D149;HANGUL SYLLABLE TEOT;Lo;0;L;;;;;N;;;;; +D14A;HANGUL SYLLABLE TEOP;Lo;0;L;;;;;N;;;;; +D14B;HANGUL SYLLABLE TEOH;Lo;0;L;;;;;N;;;;; +D14C;HANGUL SYLLABLE TE;Lo;0;L;;;;;N;;;;; +D14D;HANGUL SYLLABLE TEG;Lo;0;L;;;;;N;;;;; +D14E;HANGUL SYLLABLE TEGG;Lo;0;L;;;;;N;;;;; +D14F;HANGUL SYLLABLE TEGS;Lo;0;L;;;;;N;;;;; +D150;HANGUL SYLLABLE TEN;Lo;0;L;;;;;N;;;;; +D151;HANGUL SYLLABLE TENI;Lo;0;L;;;;;N;;;;; +D152;HANGUL SYLLABLE TENH;Lo;0;L;;;;;N;;;;; +D153;HANGUL SYLLABLE TED;Lo;0;L;;;;;N;;;;; +D154;HANGUL SYLLABLE TEL;Lo;0;L;;;;;N;;;;; +D155;HANGUL SYLLABLE TELG;Lo;0;L;;;;;N;;;;; +D156;HANGUL SYLLABLE TELM;Lo;0;L;;;;;N;;;;; +D157;HANGUL SYLLABLE TELB;Lo;0;L;;;;;N;;;;; +D158;HANGUL SYLLABLE TELS;Lo;0;L;;;;;N;;;;; +D159;HANGUL SYLLABLE TELT;Lo;0;L;;;;;N;;;;; +D15A;HANGUL SYLLABLE TELP;Lo;0;L;;;;;N;;;;; +D15B;HANGUL SYLLABLE TELH;Lo;0;L;;;;;N;;;;; +D15C;HANGUL SYLLABLE TEM;Lo;0;L;;;;;N;;;;; +D15D;HANGUL SYLLABLE TEB;Lo;0;L;;;;;N;;;;; +D15E;HANGUL SYLLABLE TEBS;Lo;0;L;;;;;N;;;;; +D15F;HANGUL SYLLABLE TES;Lo;0;L;;;;;N;;;;; +D160;HANGUL SYLLABLE TESS;Lo;0;L;;;;;N;;;;; +D161;HANGUL SYLLABLE TENG;Lo;0;L;;;;;N;;;;; +D162;HANGUL SYLLABLE TEJ;Lo;0;L;;;;;N;;;;; +D163;HANGUL SYLLABLE TEC;Lo;0;L;;;;;N;;;;; +D164;HANGUL SYLLABLE TEK;Lo;0;L;;;;;N;;;;; +D165;HANGUL SYLLABLE TET;Lo;0;L;;;;;N;;;;; +D166;HANGUL SYLLABLE TEP;Lo;0;L;;;;;N;;;;; +D167;HANGUL SYLLABLE TEH;Lo;0;L;;;;;N;;;;; +D168;HANGUL SYLLABLE TYEO;Lo;0;L;;;;;N;;;;; +D169;HANGUL SYLLABLE TYEOG;Lo;0;L;;;;;N;;;;; +D16A;HANGUL SYLLABLE TYEOGG;Lo;0;L;;;;;N;;;;; +D16B;HANGUL SYLLABLE TYEOGS;Lo;0;L;;;;;N;;;;; +D16C;HANGUL SYLLABLE TYEON;Lo;0;L;;;;;N;;;;; +D16D;HANGUL SYLLABLE TYEONI;Lo;0;L;;;;;N;;;;; +D16E;HANGUL SYLLABLE TYEONH;Lo;0;L;;;;;N;;;;; +D16F;HANGUL SYLLABLE TYEOD;Lo;0;L;;;;;N;;;;; +D170;HANGUL SYLLABLE TYEOL;Lo;0;L;;;;;N;;;;; +D171;HANGUL SYLLABLE TYEOLG;Lo;0;L;;;;;N;;;;; +D172;HANGUL SYLLABLE TYEOLM;Lo;0;L;;;;;N;;;;; +D173;HANGUL SYLLABLE TYEOLB;Lo;0;L;;;;;N;;;;; +D174;HANGUL SYLLABLE TYEOLS;Lo;0;L;;;;;N;;;;; +D175;HANGUL SYLLABLE TYEOLT;Lo;0;L;;;;;N;;;;; +D176;HANGUL SYLLABLE TYEOLP;Lo;0;L;;;;;N;;;;; +D177;HANGUL SYLLABLE TYEOLH;Lo;0;L;;;;;N;;;;; +D178;HANGUL SYLLABLE TYEOM;Lo;0;L;;;;;N;;;;; +D179;HANGUL SYLLABLE TYEOB;Lo;0;L;;;;;N;;;;; +D17A;HANGUL SYLLABLE TYEOBS;Lo;0;L;;;;;N;;;;; +D17B;HANGUL SYLLABLE TYEOS;Lo;0;L;;;;;N;;;;; +D17C;HANGUL SYLLABLE TYEOSS;Lo;0;L;;;;;N;;;;; +D17D;HANGUL SYLLABLE TYEONG;Lo;0;L;;;;;N;;;;; +D17E;HANGUL SYLLABLE TYEOJ;Lo;0;L;;;;;N;;;;; +D17F;HANGUL SYLLABLE TYEOC;Lo;0;L;;;;;N;;;;; +D180;HANGUL SYLLABLE TYEOK;Lo;0;L;;;;;N;;;;; +D181;HANGUL SYLLABLE TYEOT;Lo;0;L;;;;;N;;;;; +D182;HANGUL SYLLABLE TYEOP;Lo;0;L;;;;;N;;;;; +D183;HANGUL SYLLABLE TYEOH;Lo;0;L;;;;;N;;;;; +D184;HANGUL SYLLABLE TYE;Lo;0;L;;;;;N;;;;; +D185;HANGUL SYLLABLE TYEG;Lo;0;L;;;;;N;;;;; +D186;HANGUL SYLLABLE TYEGG;Lo;0;L;;;;;N;;;;; +D187;HANGUL SYLLABLE TYEGS;Lo;0;L;;;;;N;;;;; +D188;HANGUL SYLLABLE TYEN;Lo;0;L;;;;;N;;;;; +D189;HANGUL SYLLABLE TYENI;Lo;0;L;;;;;N;;;;; +D18A;HANGUL SYLLABLE TYENH;Lo;0;L;;;;;N;;;;; +D18B;HANGUL SYLLABLE TYED;Lo;0;L;;;;;N;;;;; +D18C;HANGUL SYLLABLE TYEL;Lo;0;L;;;;;N;;;;; +D18D;HANGUL SYLLABLE TYELG;Lo;0;L;;;;;N;;;;; +D18E;HANGUL SYLLABLE TYELM;Lo;0;L;;;;;N;;;;; +D18F;HANGUL SYLLABLE TYELB;Lo;0;L;;;;;N;;;;; +D190;HANGUL SYLLABLE TYELS;Lo;0;L;;;;;N;;;;; +D191;HANGUL SYLLABLE TYELT;Lo;0;L;;;;;N;;;;; +D192;HANGUL SYLLABLE TYELP;Lo;0;L;;;;;N;;;;; +D193;HANGUL SYLLABLE TYELH;Lo;0;L;;;;;N;;;;; +D194;HANGUL SYLLABLE TYEM;Lo;0;L;;;;;N;;;;; +D195;HANGUL SYLLABLE TYEB;Lo;0;L;;;;;N;;;;; +D196;HANGUL SYLLABLE TYEBS;Lo;0;L;;;;;N;;;;; +D197;HANGUL SYLLABLE TYES;Lo;0;L;;;;;N;;;;; +D198;HANGUL SYLLABLE TYESS;Lo;0;L;;;;;N;;;;; +D199;HANGUL SYLLABLE TYENG;Lo;0;L;;;;;N;;;;; +D19A;HANGUL SYLLABLE TYEJ;Lo;0;L;;;;;N;;;;; +D19B;HANGUL SYLLABLE TYEC;Lo;0;L;;;;;N;;;;; +D19C;HANGUL SYLLABLE TYEK;Lo;0;L;;;;;N;;;;; +D19D;HANGUL SYLLABLE TYET;Lo;0;L;;;;;N;;;;; +D19E;HANGUL SYLLABLE TYEP;Lo;0;L;;;;;N;;;;; +D19F;HANGUL SYLLABLE TYEH;Lo;0;L;;;;;N;;;;; +D1A0;HANGUL SYLLABLE TO;Lo;0;L;;;;;N;;;;; +D1A1;HANGUL SYLLABLE TOG;Lo;0;L;;;;;N;;;;; +D1A2;HANGUL SYLLABLE TOGG;Lo;0;L;;;;;N;;;;; +D1A3;HANGUL SYLLABLE TOGS;Lo;0;L;;;;;N;;;;; +D1A4;HANGUL SYLLABLE TON;Lo;0;L;;;;;N;;;;; +D1A5;HANGUL SYLLABLE TONI;Lo;0;L;;;;;N;;;;; +D1A6;HANGUL SYLLABLE TONH;Lo;0;L;;;;;N;;;;; +D1A7;HANGUL SYLLABLE TOD;Lo;0;L;;;;;N;;;;; +D1A8;HANGUL SYLLABLE TOL;Lo;0;L;;;;;N;;;;; +D1A9;HANGUL SYLLABLE TOLG;Lo;0;L;;;;;N;;;;; +D1AA;HANGUL SYLLABLE TOLM;Lo;0;L;;;;;N;;;;; +D1AB;HANGUL SYLLABLE TOLB;Lo;0;L;;;;;N;;;;; +D1AC;HANGUL SYLLABLE TOLS;Lo;0;L;;;;;N;;;;; +D1AD;HANGUL SYLLABLE TOLT;Lo;0;L;;;;;N;;;;; +D1AE;HANGUL SYLLABLE TOLP;Lo;0;L;;;;;N;;;;; +D1AF;HANGUL SYLLABLE TOLH;Lo;0;L;;;;;N;;;;; +D1B0;HANGUL SYLLABLE TOM;Lo;0;L;;;;;N;;;;; +D1B1;HANGUL SYLLABLE TOB;Lo;0;L;;;;;N;;;;; +D1B2;HANGUL SYLLABLE TOBS;Lo;0;L;;;;;N;;;;; +D1B3;HANGUL SYLLABLE TOS;Lo;0;L;;;;;N;;;;; +D1B4;HANGUL SYLLABLE TOSS;Lo;0;L;;;;;N;;;;; +D1B5;HANGUL SYLLABLE TONG;Lo;0;L;;;;;N;;;;; +D1B6;HANGUL SYLLABLE TOJ;Lo;0;L;;;;;N;;;;; +D1B7;HANGUL SYLLABLE TOC;Lo;0;L;;;;;N;;;;; +D1B8;HANGUL SYLLABLE TOK;Lo;0;L;;;;;N;;;;; +D1B9;HANGUL SYLLABLE TOT;Lo;0;L;;;;;N;;;;; +D1BA;HANGUL SYLLABLE TOP;Lo;0;L;;;;;N;;;;; +D1BB;HANGUL SYLLABLE TOH;Lo;0;L;;;;;N;;;;; +D1BC;HANGUL SYLLABLE TWA;Lo;0;L;;;;;N;;;;; +D1BD;HANGUL SYLLABLE TWAG;Lo;0;L;;;;;N;;;;; +D1BE;HANGUL SYLLABLE TWAGG;Lo;0;L;;;;;N;;;;; +D1BF;HANGUL SYLLABLE TWAGS;Lo;0;L;;;;;N;;;;; +D1C0;HANGUL SYLLABLE TWAN;Lo;0;L;;;;;N;;;;; +D1C1;HANGUL SYLLABLE TWANI;Lo;0;L;;;;;N;;;;; +D1C2;HANGUL SYLLABLE TWANH;Lo;0;L;;;;;N;;;;; +D1C3;HANGUL SYLLABLE TWAD;Lo;0;L;;;;;N;;;;; +D1C4;HANGUL SYLLABLE TWAL;Lo;0;L;;;;;N;;;;; +D1C5;HANGUL SYLLABLE TWALG;Lo;0;L;;;;;N;;;;; +D1C6;HANGUL SYLLABLE TWALM;Lo;0;L;;;;;N;;;;; +D1C7;HANGUL SYLLABLE TWALB;Lo;0;L;;;;;N;;;;; +D1C8;HANGUL SYLLABLE TWALS;Lo;0;L;;;;;N;;;;; +D1C9;HANGUL SYLLABLE TWALT;Lo;0;L;;;;;N;;;;; +D1CA;HANGUL SYLLABLE TWALP;Lo;0;L;;;;;N;;;;; +D1CB;HANGUL SYLLABLE TWALH;Lo;0;L;;;;;N;;;;; +D1CC;HANGUL SYLLABLE TWAM;Lo;0;L;;;;;N;;;;; +D1CD;HANGUL SYLLABLE TWAB;Lo;0;L;;;;;N;;;;; +D1CE;HANGUL SYLLABLE TWABS;Lo;0;L;;;;;N;;;;; +D1CF;HANGUL SYLLABLE TWAS;Lo;0;L;;;;;N;;;;; +D1D0;HANGUL SYLLABLE TWASS;Lo;0;L;;;;;N;;;;; +D1D1;HANGUL SYLLABLE TWANG;Lo;0;L;;;;;N;;;;; +D1D2;HANGUL SYLLABLE TWAJ;Lo;0;L;;;;;N;;;;; +D1D3;HANGUL SYLLABLE TWAC;Lo;0;L;;;;;N;;;;; +D1D4;HANGUL SYLLABLE TWAK;Lo;0;L;;;;;N;;;;; +D1D5;HANGUL SYLLABLE TWAT;Lo;0;L;;;;;N;;;;; +D1D6;HANGUL SYLLABLE TWAP;Lo;0;L;;;;;N;;;;; +D1D7;HANGUL SYLLABLE TWAH;Lo;0;L;;;;;N;;;;; +D1D8;HANGUL SYLLABLE TWAE;Lo;0;L;;;;;N;;;;; +D1D9;HANGUL SYLLABLE TWAEG;Lo;0;L;;;;;N;;;;; +D1DA;HANGUL SYLLABLE TWAEGG;Lo;0;L;;;;;N;;;;; +D1DB;HANGUL SYLLABLE TWAEGS;Lo;0;L;;;;;N;;;;; +D1DC;HANGUL SYLLABLE TWAEN;Lo;0;L;;;;;N;;;;; +D1DD;HANGUL SYLLABLE TWAENI;Lo;0;L;;;;;N;;;;; +D1DE;HANGUL SYLLABLE TWAENH;Lo;0;L;;;;;N;;;;; +D1DF;HANGUL SYLLABLE TWAED;Lo;0;L;;;;;N;;;;; +D1E0;HANGUL SYLLABLE TWAEL;Lo;0;L;;;;;N;;;;; +D1E1;HANGUL SYLLABLE TWAELG;Lo;0;L;;;;;N;;;;; +D1E2;HANGUL SYLLABLE TWAELM;Lo;0;L;;;;;N;;;;; +D1E3;HANGUL SYLLABLE TWAELB;Lo;0;L;;;;;N;;;;; +D1E4;HANGUL SYLLABLE TWAELS;Lo;0;L;;;;;N;;;;; +D1E5;HANGUL SYLLABLE TWAELT;Lo;0;L;;;;;N;;;;; +D1E6;HANGUL SYLLABLE TWAELP;Lo;0;L;;;;;N;;;;; +D1E7;HANGUL SYLLABLE TWAELH;Lo;0;L;;;;;N;;;;; +D1E8;HANGUL SYLLABLE TWAEM;Lo;0;L;;;;;N;;;;; +D1E9;HANGUL SYLLABLE TWAEB;Lo;0;L;;;;;N;;;;; +D1EA;HANGUL SYLLABLE TWAEBS;Lo;0;L;;;;;N;;;;; +D1EB;HANGUL SYLLABLE TWAES;Lo;0;L;;;;;N;;;;; +D1EC;HANGUL SYLLABLE TWAESS;Lo;0;L;;;;;N;;;;; +D1ED;HANGUL SYLLABLE TWAENG;Lo;0;L;;;;;N;;;;; +D1EE;HANGUL SYLLABLE TWAEJ;Lo;0;L;;;;;N;;;;; +D1EF;HANGUL SYLLABLE TWAEC;Lo;0;L;;;;;N;;;;; +D1F0;HANGUL SYLLABLE TWAEK;Lo;0;L;;;;;N;;;;; +D1F1;HANGUL SYLLABLE TWAET;Lo;0;L;;;;;N;;;;; +D1F2;HANGUL SYLLABLE TWAEP;Lo;0;L;;;;;N;;;;; +D1F3;HANGUL SYLLABLE TWAEH;Lo;0;L;;;;;N;;;;; +D1F4;HANGUL SYLLABLE TOE;Lo;0;L;;;;;N;;;;; +D1F5;HANGUL SYLLABLE TOEG;Lo;0;L;;;;;N;;;;; +D1F6;HANGUL SYLLABLE TOEGG;Lo;0;L;;;;;N;;;;; +D1F7;HANGUL SYLLABLE TOEGS;Lo;0;L;;;;;N;;;;; +D1F8;HANGUL SYLLABLE TOEN;Lo;0;L;;;;;N;;;;; +D1F9;HANGUL SYLLABLE TOENI;Lo;0;L;;;;;N;;;;; +D1FA;HANGUL SYLLABLE TOENH;Lo;0;L;;;;;N;;;;; +D1FB;HANGUL SYLLABLE TOED;Lo;0;L;;;;;N;;;;; +D1FC;HANGUL SYLLABLE TOEL;Lo;0;L;;;;;N;;;;; +D1FD;HANGUL SYLLABLE TOELG;Lo;0;L;;;;;N;;;;; +D1FE;HANGUL SYLLABLE TOELM;Lo;0;L;;;;;N;;;;; +D1FF;HANGUL SYLLABLE TOELB;Lo;0;L;;;;;N;;;;; +D200;HANGUL SYLLABLE TOELS;Lo;0;L;;;;;N;;;;; +D201;HANGUL SYLLABLE TOELT;Lo;0;L;;;;;N;;;;; +D202;HANGUL SYLLABLE TOELP;Lo;0;L;;;;;N;;;;; +D203;HANGUL SYLLABLE TOELH;Lo;0;L;;;;;N;;;;; +D204;HANGUL SYLLABLE TOEM;Lo;0;L;;;;;N;;;;; +D205;HANGUL SYLLABLE TOEB;Lo;0;L;;;;;N;;;;; +D206;HANGUL SYLLABLE TOEBS;Lo;0;L;;;;;N;;;;; +D207;HANGUL SYLLABLE TOES;Lo;0;L;;;;;N;;;;; +D208;HANGUL SYLLABLE TOESS;Lo;0;L;;;;;N;;;;; +D209;HANGUL SYLLABLE TOENG;Lo;0;L;;;;;N;;;;; +D20A;HANGUL SYLLABLE TOEJ;Lo;0;L;;;;;N;;;;; +D20B;HANGUL SYLLABLE TOEC;Lo;0;L;;;;;N;;;;; +D20C;HANGUL SYLLABLE TOEK;Lo;0;L;;;;;N;;;;; +D20D;HANGUL SYLLABLE TOET;Lo;0;L;;;;;N;;;;; +D20E;HANGUL SYLLABLE TOEP;Lo;0;L;;;;;N;;;;; +D20F;HANGUL SYLLABLE TOEH;Lo;0;L;;;;;N;;;;; +D210;HANGUL SYLLABLE TYO;Lo;0;L;;;;;N;;;;; +D211;HANGUL SYLLABLE TYOG;Lo;0;L;;;;;N;;;;; +D212;HANGUL SYLLABLE TYOGG;Lo;0;L;;;;;N;;;;; +D213;HANGUL SYLLABLE TYOGS;Lo;0;L;;;;;N;;;;; +D214;HANGUL SYLLABLE TYON;Lo;0;L;;;;;N;;;;; +D215;HANGUL SYLLABLE TYONI;Lo;0;L;;;;;N;;;;; +D216;HANGUL SYLLABLE TYONH;Lo;0;L;;;;;N;;;;; +D217;HANGUL SYLLABLE TYOD;Lo;0;L;;;;;N;;;;; +D218;HANGUL SYLLABLE TYOL;Lo;0;L;;;;;N;;;;; +D219;HANGUL SYLLABLE TYOLG;Lo;0;L;;;;;N;;;;; +D21A;HANGUL SYLLABLE TYOLM;Lo;0;L;;;;;N;;;;; +D21B;HANGUL SYLLABLE TYOLB;Lo;0;L;;;;;N;;;;; +D21C;HANGUL SYLLABLE TYOLS;Lo;0;L;;;;;N;;;;; +D21D;HANGUL SYLLABLE TYOLT;Lo;0;L;;;;;N;;;;; +D21E;HANGUL SYLLABLE TYOLP;Lo;0;L;;;;;N;;;;; +D21F;HANGUL SYLLABLE TYOLH;Lo;0;L;;;;;N;;;;; +D220;HANGUL SYLLABLE TYOM;Lo;0;L;;;;;N;;;;; +D221;HANGUL SYLLABLE TYOB;Lo;0;L;;;;;N;;;;; +D222;HANGUL SYLLABLE TYOBS;Lo;0;L;;;;;N;;;;; +D223;HANGUL SYLLABLE TYOS;Lo;0;L;;;;;N;;;;; +D224;HANGUL SYLLABLE TYOSS;Lo;0;L;;;;;N;;;;; +D225;HANGUL SYLLABLE TYONG;Lo;0;L;;;;;N;;;;; +D226;HANGUL SYLLABLE TYOJ;Lo;0;L;;;;;N;;;;; +D227;HANGUL SYLLABLE TYOC;Lo;0;L;;;;;N;;;;; +D228;HANGUL SYLLABLE TYOK;Lo;0;L;;;;;N;;;;; +D229;HANGUL SYLLABLE TYOT;Lo;0;L;;;;;N;;;;; +D22A;HANGUL SYLLABLE TYOP;Lo;0;L;;;;;N;;;;; +D22B;HANGUL SYLLABLE TYOH;Lo;0;L;;;;;N;;;;; +D22C;HANGUL SYLLABLE TU;Lo;0;L;;;;;N;;;;; +D22D;HANGUL SYLLABLE TUG;Lo;0;L;;;;;N;;;;; +D22E;HANGUL SYLLABLE TUGG;Lo;0;L;;;;;N;;;;; +D22F;HANGUL SYLLABLE TUGS;Lo;0;L;;;;;N;;;;; +D230;HANGUL SYLLABLE TUN;Lo;0;L;;;;;N;;;;; +D231;HANGUL SYLLABLE TUNI;Lo;0;L;;;;;N;;;;; +D232;HANGUL SYLLABLE TUNH;Lo;0;L;;;;;N;;;;; +D233;HANGUL SYLLABLE TUD;Lo;0;L;;;;;N;;;;; +D234;HANGUL SYLLABLE TUL;Lo;0;L;;;;;N;;;;; +D235;HANGUL SYLLABLE TULG;Lo;0;L;;;;;N;;;;; +D236;HANGUL SYLLABLE TULM;Lo;0;L;;;;;N;;;;; +D237;HANGUL SYLLABLE TULB;Lo;0;L;;;;;N;;;;; +D238;HANGUL SYLLABLE TULS;Lo;0;L;;;;;N;;;;; +D239;HANGUL SYLLABLE TULT;Lo;0;L;;;;;N;;;;; +D23A;HANGUL SYLLABLE TULP;Lo;0;L;;;;;N;;;;; +D23B;HANGUL SYLLABLE TULH;Lo;0;L;;;;;N;;;;; +D23C;HANGUL SYLLABLE TUM;Lo;0;L;;;;;N;;;;; +D23D;HANGUL SYLLABLE TUB;Lo;0;L;;;;;N;;;;; +D23E;HANGUL SYLLABLE TUBS;Lo;0;L;;;;;N;;;;; +D23F;HANGUL SYLLABLE TUS;Lo;0;L;;;;;N;;;;; +D240;HANGUL SYLLABLE TUSS;Lo;0;L;;;;;N;;;;; +D241;HANGUL SYLLABLE TUNG;Lo;0;L;;;;;N;;;;; +D242;HANGUL SYLLABLE TUJ;Lo;0;L;;;;;N;;;;; +D243;HANGUL SYLLABLE TUC;Lo;0;L;;;;;N;;;;; +D244;HANGUL SYLLABLE TUK;Lo;0;L;;;;;N;;;;; +D245;HANGUL SYLLABLE TUT;Lo;0;L;;;;;N;;;;; +D246;HANGUL SYLLABLE TUP;Lo;0;L;;;;;N;;;;; +D247;HANGUL SYLLABLE TUH;Lo;0;L;;;;;N;;;;; +D248;HANGUL SYLLABLE TWEO;Lo;0;L;;;;;N;;;;; +D249;HANGUL SYLLABLE TWEOG;Lo;0;L;;;;;N;;;;; +D24A;HANGUL SYLLABLE TWEOGG;Lo;0;L;;;;;N;;;;; +D24B;HANGUL SYLLABLE TWEOGS;Lo;0;L;;;;;N;;;;; +D24C;HANGUL SYLLABLE TWEON;Lo;0;L;;;;;N;;;;; +D24D;HANGUL SYLLABLE TWEONI;Lo;0;L;;;;;N;;;;; +D24E;HANGUL SYLLABLE TWEONH;Lo;0;L;;;;;N;;;;; +D24F;HANGUL SYLLABLE TWEOD;Lo;0;L;;;;;N;;;;; +D250;HANGUL SYLLABLE TWEOL;Lo;0;L;;;;;N;;;;; +D251;HANGUL SYLLABLE TWEOLG;Lo;0;L;;;;;N;;;;; +D252;HANGUL SYLLABLE TWEOLM;Lo;0;L;;;;;N;;;;; +D253;HANGUL SYLLABLE TWEOLB;Lo;0;L;;;;;N;;;;; +D254;HANGUL SYLLABLE TWEOLS;Lo;0;L;;;;;N;;;;; +D255;HANGUL SYLLABLE TWEOLT;Lo;0;L;;;;;N;;;;; +D256;HANGUL SYLLABLE TWEOLP;Lo;0;L;;;;;N;;;;; +D257;HANGUL SYLLABLE TWEOLH;Lo;0;L;;;;;N;;;;; +D258;HANGUL SYLLABLE TWEOM;Lo;0;L;;;;;N;;;;; +D259;HANGUL SYLLABLE TWEOB;Lo;0;L;;;;;N;;;;; +D25A;HANGUL SYLLABLE TWEOBS;Lo;0;L;;;;;N;;;;; +D25B;HANGUL SYLLABLE TWEOS;Lo;0;L;;;;;N;;;;; +D25C;HANGUL SYLLABLE TWEOSS;Lo;0;L;;;;;N;;;;; +D25D;HANGUL SYLLABLE TWEONG;Lo;0;L;;;;;N;;;;; +D25E;HANGUL SYLLABLE TWEOJ;Lo;0;L;;;;;N;;;;; +D25F;HANGUL SYLLABLE TWEOC;Lo;0;L;;;;;N;;;;; +D260;HANGUL SYLLABLE TWEOK;Lo;0;L;;;;;N;;;;; +D261;HANGUL SYLLABLE TWEOT;Lo;0;L;;;;;N;;;;; +D262;HANGUL SYLLABLE TWEOP;Lo;0;L;;;;;N;;;;; +D263;HANGUL SYLLABLE TWEOH;Lo;0;L;;;;;N;;;;; +D264;HANGUL SYLLABLE TWE;Lo;0;L;;;;;N;;;;; +D265;HANGUL SYLLABLE TWEG;Lo;0;L;;;;;N;;;;; +D266;HANGUL SYLLABLE TWEGG;Lo;0;L;;;;;N;;;;; +D267;HANGUL SYLLABLE TWEGS;Lo;0;L;;;;;N;;;;; +D268;HANGUL SYLLABLE TWEN;Lo;0;L;;;;;N;;;;; +D269;HANGUL SYLLABLE TWENI;Lo;0;L;;;;;N;;;;; +D26A;HANGUL SYLLABLE TWENH;Lo;0;L;;;;;N;;;;; +D26B;HANGUL SYLLABLE TWED;Lo;0;L;;;;;N;;;;; +D26C;HANGUL SYLLABLE TWEL;Lo;0;L;;;;;N;;;;; +D26D;HANGUL SYLLABLE TWELG;Lo;0;L;;;;;N;;;;; +D26E;HANGUL SYLLABLE TWELM;Lo;0;L;;;;;N;;;;; +D26F;HANGUL SYLLABLE TWELB;Lo;0;L;;;;;N;;;;; +D270;HANGUL SYLLABLE TWELS;Lo;0;L;;;;;N;;;;; +D271;HANGUL SYLLABLE TWELT;Lo;0;L;;;;;N;;;;; +D272;HANGUL SYLLABLE TWELP;Lo;0;L;;;;;N;;;;; +D273;HANGUL SYLLABLE TWELH;Lo;0;L;;;;;N;;;;; +D274;HANGUL SYLLABLE TWEM;Lo;0;L;;;;;N;;;;; +D275;HANGUL SYLLABLE TWEB;Lo;0;L;;;;;N;;;;; +D276;HANGUL SYLLABLE TWEBS;Lo;0;L;;;;;N;;;;; +D277;HANGUL SYLLABLE TWES;Lo;0;L;;;;;N;;;;; +D278;HANGUL SYLLABLE TWESS;Lo;0;L;;;;;N;;;;; +D279;HANGUL SYLLABLE TWENG;Lo;0;L;;;;;N;;;;; +D27A;HANGUL SYLLABLE TWEJ;Lo;0;L;;;;;N;;;;; +D27B;HANGUL SYLLABLE TWEC;Lo;0;L;;;;;N;;;;; +D27C;HANGUL SYLLABLE TWEK;Lo;0;L;;;;;N;;;;; +D27D;HANGUL SYLLABLE TWET;Lo;0;L;;;;;N;;;;; +D27E;HANGUL SYLLABLE TWEP;Lo;0;L;;;;;N;;;;; +D27F;HANGUL SYLLABLE TWEH;Lo;0;L;;;;;N;;;;; +D280;HANGUL SYLLABLE TWI;Lo;0;L;;;;;N;;;;; +D281;HANGUL SYLLABLE TWIG;Lo;0;L;;;;;N;;;;; +D282;HANGUL SYLLABLE TWIGG;Lo;0;L;;;;;N;;;;; +D283;HANGUL SYLLABLE TWIGS;Lo;0;L;;;;;N;;;;; +D284;HANGUL SYLLABLE TWIN;Lo;0;L;;;;;N;;;;; +D285;HANGUL SYLLABLE TWINI;Lo;0;L;;;;;N;;;;; +D286;HANGUL SYLLABLE TWINH;Lo;0;L;;;;;N;;;;; +D287;HANGUL SYLLABLE TWID;Lo;0;L;;;;;N;;;;; +D288;HANGUL SYLLABLE TWIL;Lo;0;L;;;;;N;;;;; +D289;HANGUL SYLLABLE TWILG;Lo;0;L;;;;;N;;;;; +D28A;HANGUL SYLLABLE TWILM;Lo;0;L;;;;;N;;;;; +D28B;HANGUL SYLLABLE TWILB;Lo;0;L;;;;;N;;;;; +D28C;HANGUL SYLLABLE TWILS;Lo;0;L;;;;;N;;;;; +D28D;HANGUL SYLLABLE TWILT;Lo;0;L;;;;;N;;;;; +D28E;HANGUL SYLLABLE TWILP;Lo;0;L;;;;;N;;;;; +D28F;HANGUL SYLLABLE TWILH;Lo;0;L;;;;;N;;;;; +D290;HANGUL SYLLABLE TWIM;Lo;0;L;;;;;N;;;;; +D291;HANGUL SYLLABLE TWIB;Lo;0;L;;;;;N;;;;; +D292;HANGUL SYLLABLE TWIBS;Lo;0;L;;;;;N;;;;; +D293;HANGUL SYLLABLE TWIS;Lo;0;L;;;;;N;;;;; +D294;HANGUL SYLLABLE TWISS;Lo;0;L;;;;;N;;;;; +D295;HANGUL SYLLABLE TWING;Lo;0;L;;;;;N;;;;; +D296;HANGUL SYLLABLE TWIJ;Lo;0;L;;;;;N;;;;; +D297;HANGUL SYLLABLE TWIC;Lo;0;L;;;;;N;;;;; +D298;HANGUL SYLLABLE TWIK;Lo;0;L;;;;;N;;;;; +D299;HANGUL SYLLABLE TWIT;Lo;0;L;;;;;N;;;;; +D29A;HANGUL SYLLABLE TWIP;Lo;0;L;;;;;N;;;;; +D29B;HANGUL SYLLABLE TWIH;Lo;0;L;;;;;N;;;;; +D29C;HANGUL SYLLABLE TYU;Lo;0;L;;;;;N;;;;; +D29D;HANGUL SYLLABLE TYUG;Lo;0;L;;;;;N;;;;; +D29E;HANGUL SYLLABLE TYUGG;Lo;0;L;;;;;N;;;;; +D29F;HANGUL SYLLABLE TYUGS;Lo;0;L;;;;;N;;;;; +D2A0;HANGUL SYLLABLE TYUN;Lo;0;L;;;;;N;;;;; +D2A1;HANGUL SYLLABLE TYUNI;Lo;0;L;;;;;N;;;;; +D2A2;HANGUL SYLLABLE TYUNH;Lo;0;L;;;;;N;;;;; +D2A3;HANGUL SYLLABLE TYUD;Lo;0;L;;;;;N;;;;; +D2A4;HANGUL SYLLABLE TYUL;Lo;0;L;;;;;N;;;;; +D2A5;HANGUL SYLLABLE TYULG;Lo;0;L;;;;;N;;;;; +D2A6;HANGUL SYLLABLE TYULM;Lo;0;L;;;;;N;;;;; +D2A7;HANGUL SYLLABLE TYULB;Lo;0;L;;;;;N;;;;; +D2A8;HANGUL SYLLABLE TYULS;Lo;0;L;;;;;N;;;;; +D2A9;HANGUL SYLLABLE TYULT;Lo;0;L;;;;;N;;;;; +D2AA;HANGUL SYLLABLE TYULP;Lo;0;L;;;;;N;;;;; +D2AB;HANGUL SYLLABLE TYULH;Lo;0;L;;;;;N;;;;; +D2AC;HANGUL SYLLABLE TYUM;Lo;0;L;;;;;N;;;;; +D2AD;HANGUL SYLLABLE TYUB;Lo;0;L;;;;;N;;;;; +D2AE;HANGUL SYLLABLE TYUBS;Lo;0;L;;;;;N;;;;; +D2AF;HANGUL SYLLABLE TYUS;Lo;0;L;;;;;N;;;;; +D2B0;HANGUL SYLLABLE TYUSS;Lo;0;L;;;;;N;;;;; +D2B1;HANGUL SYLLABLE TYUNG;Lo;0;L;;;;;N;;;;; +D2B2;HANGUL SYLLABLE TYUJ;Lo;0;L;;;;;N;;;;; +D2B3;HANGUL SYLLABLE TYUC;Lo;0;L;;;;;N;;;;; +D2B4;HANGUL SYLLABLE TYUK;Lo;0;L;;;;;N;;;;; +D2B5;HANGUL SYLLABLE TYUT;Lo;0;L;;;;;N;;;;; +D2B6;HANGUL SYLLABLE TYUP;Lo;0;L;;;;;N;;;;; +D2B7;HANGUL SYLLABLE TYUH;Lo;0;L;;;;;N;;;;; +D2B8;HANGUL SYLLABLE TEU;Lo;0;L;;;;;N;;;;; +D2B9;HANGUL SYLLABLE TEUG;Lo;0;L;;;;;N;;;;; +D2BA;HANGUL SYLLABLE TEUGG;Lo;0;L;;;;;N;;;;; +D2BB;HANGUL SYLLABLE TEUGS;Lo;0;L;;;;;N;;;;; +D2BC;HANGUL SYLLABLE TEUN;Lo;0;L;;;;;N;;;;; +D2BD;HANGUL SYLLABLE TEUNI;Lo;0;L;;;;;N;;;;; +D2BE;HANGUL SYLLABLE TEUNH;Lo;0;L;;;;;N;;;;; +D2BF;HANGUL SYLLABLE TEUD;Lo;0;L;;;;;N;;;;; +D2C0;HANGUL SYLLABLE TEUL;Lo;0;L;;;;;N;;;;; +D2C1;HANGUL SYLLABLE TEULG;Lo;0;L;;;;;N;;;;; +D2C2;HANGUL SYLLABLE TEULM;Lo;0;L;;;;;N;;;;; +D2C3;HANGUL SYLLABLE TEULB;Lo;0;L;;;;;N;;;;; +D2C4;HANGUL SYLLABLE TEULS;Lo;0;L;;;;;N;;;;; +D2C5;HANGUL SYLLABLE TEULT;Lo;0;L;;;;;N;;;;; +D2C6;HANGUL SYLLABLE TEULP;Lo;0;L;;;;;N;;;;; +D2C7;HANGUL SYLLABLE TEULH;Lo;0;L;;;;;N;;;;; +D2C8;HANGUL SYLLABLE TEUM;Lo;0;L;;;;;N;;;;; +D2C9;HANGUL SYLLABLE TEUB;Lo;0;L;;;;;N;;;;; +D2CA;HANGUL SYLLABLE TEUBS;Lo;0;L;;;;;N;;;;; +D2CB;HANGUL SYLLABLE TEUS;Lo;0;L;;;;;N;;;;; +D2CC;HANGUL SYLLABLE TEUSS;Lo;0;L;;;;;N;;;;; +D2CD;HANGUL SYLLABLE TEUNG;Lo;0;L;;;;;N;;;;; +D2CE;HANGUL SYLLABLE TEUJ;Lo;0;L;;;;;N;;;;; +D2CF;HANGUL SYLLABLE TEUC;Lo;0;L;;;;;N;;;;; +D2D0;HANGUL SYLLABLE TEUK;Lo;0;L;;;;;N;;;;; +D2D1;HANGUL SYLLABLE TEUT;Lo;0;L;;;;;N;;;;; +D2D2;HANGUL SYLLABLE TEUP;Lo;0;L;;;;;N;;;;; +D2D3;HANGUL SYLLABLE TEUH;Lo;0;L;;;;;N;;;;; +D2D4;HANGUL SYLLABLE TYI;Lo;0;L;;;;;N;;;;; +D2D5;HANGUL SYLLABLE TYIG;Lo;0;L;;;;;N;;;;; +D2D6;HANGUL SYLLABLE TYIGG;Lo;0;L;;;;;N;;;;; +D2D7;HANGUL SYLLABLE TYIGS;Lo;0;L;;;;;N;;;;; +D2D8;HANGUL SYLLABLE TYIN;Lo;0;L;;;;;N;;;;; +D2D9;HANGUL SYLLABLE TYINI;Lo;0;L;;;;;N;;;;; +D2DA;HANGUL SYLLABLE TYINH;Lo;0;L;;;;;N;;;;; +D2DB;HANGUL SYLLABLE TYID;Lo;0;L;;;;;N;;;;; +D2DC;HANGUL SYLLABLE TYIL;Lo;0;L;;;;;N;;;;; +D2DD;HANGUL SYLLABLE TYILG;Lo;0;L;;;;;N;;;;; +D2DE;HANGUL SYLLABLE TYILM;Lo;0;L;;;;;N;;;;; +D2DF;HANGUL SYLLABLE TYILB;Lo;0;L;;;;;N;;;;; +D2E0;HANGUL SYLLABLE TYILS;Lo;0;L;;;;;N;;;;; +D2E1;HANGUL SYLLABLE TYILT;Lo;0;L;;;;;N;;;;; +D2E2;HANGUL SYLLABLE TYILP;Lo;0;L;;;;;N;;;;; +D2E3;HANGUL SYLLABLE TYILH;Lo;0;L;;;;;N;;;;; +D2E4;HANGUL SYLLABLE TYIM;Lo;0;L;;;;;N;;;;; +D2E5;HANGUL SYLLABLE TYIB;Lo;0;L;;;;;N;;;;; +D2E6;HANGUL SYLLABLE TYIBS;Lo;0;L;;;;;N;;;;; +D2E7;HANGUL SYLLABLE TYIS;Lo;0;L;;;;;N;;;;; +D2E8;HANGUL SYLLABLE TYISS;Lo;0;L;;;;;N;;;;; +D2E9;HANGUL SYLLABLE TYING;Lo;0;L;;;;;N;;;;; +D2EA;HANGUL SYLLABLE TYIJ;Lo;0;L;;;;;N;;;;; +D2EB;HANGUL SYLLABLE TYIC;Lo;0;L;;;;;N;;;;; +D2EC;HANGUL SYLLABLE TYIK;Lo;0;L;;;;;N;;;;; +D2ED;HANGUL SYLLABLE TYIT;Lo;0;L;;;;;N;;;;; +D2EE;HANGUL SYLLABLE TYIP;Lo;0;L;;;;;N;;;;; +D2EF;HANGUL SYLLABLE TYIH;Lo;0;L;;;;;N;;;;; +D2F0;HANGUL SYLLABLE TI;Lo;0;L;;;;;N;;;;; +D2F1;HANGUL SYLLABLE TIG;Lo;0;L;;;;;N;;;;; +D2F2;HANGUL SYLLABLE TIGG;Lo;0;L;;;;;N;;;;; +D2F3;HANGUL SYLLABLE TIGS;Lo;0;L;;;;;N;;;;; +D2F4;HANGUL SYLLABLE TIN;Lo;0;L;;;;;N;;;;; +D2F5;HANGUL SYLLABLE TINI;Lo;0;L;;;;;N;;;;; +D2F6;HANGUL SYLLABLE TINH;Lo;0;L;;;;;N;;;;; +D2F7;HANGUL SYLLABLE TID;Lo;0;L;;;;;N;;;;; +D2F8;HANGUL SYLLABLE TIL;Lo;0;L;;;;;N;;;;; +D2F9;HANGUL SYLLABLE TILG;Lo;0;L;;;;;N;;;;; +D2FA;HANGUL SYLLABLE TILM;Lo;0;L;;;;;N;;;;; +D2FB;HANGUL SYLLABLE TILB;Lo;0;L;;;;;N;;;;; +D2FC;HANGUL SYLLABLE TILS;Lo;0;L;;;;;N;;;;; +D2FD;HANGUL SYLLABLE TILT;Lo;0;L;;;;;N;;;;; +D2FE;HANGUL SYLLABLE TILP;Lo;0;L;;;;;N;;;;; +D2FF;HANGUL SYLLABLE TILH;Lo;0;L;;;;;N;;;;; +D300;HANGUL SYLLABLE TIM;Lo;0;L;;;;;N;;;;; +D301;HANGUL SYLLABLE TIB;Lo;0;L;;;;;N;;;;; +D302;HANGUL SYLLABLE TIBS;Lo;0;L;;;;;N;;;;; +D303;HANGUL SYLLABLE TIS;Lo;0;L;;;;;N;;;;; +D304;HANGUL SYLLABLE TISS;Lo;0;L;;;;;N;;;;; +D305;HANGUL SYLLABLE TING;Lo;0;L;;;;;N;;;;; +D306;HANGUL SYLLABLE TIJ;Lo;0;L;;;;;N;;;;; +D307;HANGUL SYLLABLE TIC;Lo;0;L;;;;;N;;;;; +D308;HANGUL SYLLABLE TIK;Lo;0;L;;;;;N;;;;; +D309;HANGUL SYLLABLE TIT;Lo;0;L;;;;;N;;;;; +D30A;HANGUL SYLLABLE TIP;Lo;0;L;;;;;N;;;;; +D30B;HANGUL SYLLABLE TIH;Lo;0;L;;;;;N;;;;; +D30C;HANGUL SYLLABLE PA;Lo;0;L;;;;;N;;;;; +D30D;HANGUL SYLLABLE PAG;Lo;0;L;;;;;N;;;;; +D30E;HANGUL SYLLABLE PAGG;Lo;0;L;;;;;N;;;;; +D30F;HANGUL SYLLABLE PAGS;Lo;0;L;;;;;N;;;;; +D310;HANGUL SYLLABLE PAN;Lo;0;L;;;;;N;;;;; +D311;HANGUL SYLLABLE PANI;Lo;0;L;;;;;N;;;;; +D312;HANGUL SYLLABLE PANH;Lo;0;L;;;;;N;;;;; +D313;HANGUL SYLLABLE PAD;Lo;0;L;;;;;N;;;;; +D314;HANGUL SYLLABLE PAL;Lo;0;L;;;;;N;;;;; +D315;HANGUL SYLLABLE PALG;Lo;0;L;;;;;N;;;;; +D316;HANGUL SYLLABLE PALM;Lo;0;L;;;;;N;;;;; +D317;HANGUL SYLLABLE PALB;Lo;0;L;;;;;N;;;;; +D318;HANGUL SYLLABLE PALS;Lo;0;L;;;;;N;;;;; +D319;HANGUL SYLLABLE PALT;Lo;0;L;;;;;N;;;;; +D31A;HANGUL SYLLABLE PALP;Lo;0;L;;;;;N;;;;; +D31B;HANGUL SYLLABLE PALH;Lo;0;L;;;;;N;;;;; +D31C;HANGUL SYLLABLE PAM;Lo;0;L;;;;;N;;;;; +D31D;HANGUL SYLLABLE PAB;Lo;0;L;;;;;N;;;;; +D31E;HANGUL SYLLABLE PABS;Lo;0;L;;;;;N;;;;; +D31F;HANGUL SYLLABLE PAS;Lo;0;L;;;;;N;;;;; +D320;HANGUL SYLLABLE PASS;Lo;0;L;;;;;N;;;;; +D321;HANGUL SYLLABLE PANG;Lo;0;L;;;;;N;;;;; +D322;HANGUL SYLLABLE PAJ;Lo;0;L;;;;;N;;;;; +D323;HANGUL SYLLABLE PAC;Lo;0;L;;;;;N;;;;; +D324;HANGUL SYLLABLE PAK;Lo;0;L;;;;;N;;;;; +D325;HANGUL SYLLABLE PAT;Lo;0;L;;;;;N;;;;; +D326;HANGUL SYLLABLE PAP;Lo;0;L;;;;;N;;;;; +D327;HANGUL SYLLABLE PAH;Lo;0;L;;;;;N;;;;; +D328;HANGUL SYLLABLE PAE;Lo;0;L;;;;;N;;;;; +D329;HANGUL SYLLABLE PAEG;Lo;0;L;;;;;N;;;;; +D32A;HANGUL SYLLABLE PAEGG;Lo;0;L;;;;;N;;;;; +D32B;HANGUL SYLLABLE PAEGS;Lo;0;L;;;;;N;;;;; +D32C;HANGUL SYLLABLE PAEN;Lo;0;L;;;;;N;;;;; +D32D;HANGUL SYLLABLE PAENI;Lo;0;L;;;;;N;;;;; +D32E;HANGUL SYLLABLE PAENH;Lo;0;L;;;;;N;;;;; +D32F;HANGUL SYLLABLE PAED;Lo;0;L;;;;;N;;;;; +D330;HANGUL SYLLABLE PAEL;Lo;0;L;;;;;N;;;;; +D331;HANGUL SYLLABLE PAELG;Lo;0;L;;;;;N;;;;; +D332;HANGUL SYLLABLE PAELM;Lo;0;L;;;;;N;;;;; +D333;HANGUL SYLLABLE PAELB;Lo;0;L;;;;;N;;;;; +D334;HANGUL SYLLABLE PAELS;Lo;0;L;;;;;N;;;;; +D335;HANGUL SYLLABLE PAELT;Lo;0;L;;;;;N;;;;; +D336;HANGUL SYLLABLE PAELP;Lo;0;L;;;;;N;;;;; +D337;HANGUL SYLLABLE PAELH;Lo;0;L;;;;;N;;;;; +D338;HANGUL SYLLABLE PAEM;Lo;0;L;;;;;N;;;;; +D339;HANGUL SYLLABLE PAEB;Lo;0;L;;;;;N;;;;; +D33A;HANGUL SYLLABLE PAEBS;Lo;0;L;;;;;N;;;;; +D33B;HANGUL SYLLABLE PAES;Lo;0;L;;;;;N;;;;; +D33C;HANGUL SYLLABLE PAESS;Lo;0;L;;;;;N;;;;; +D33D;HANGUL SYLLABLE PAENG;Lo;0;L;;;;;N;;;;; +D33E;HANGUL SYLLABLE PAEJ;Lo;0;L;;;;;N;;;;; +D33F;HANGUL SYLLABLE PAEC;Lo;0;L;;;;;N;;;;; +D340;HANGUL SYLLABLE PAEK;Lo;0;L;;;;;N;;;;; +D341;HANGUL SYLLABLE PAET;Lo;0;L;;;;;N;;;;; +D342;HANGUL SYLLABLE PAEP;Lo;0;L;;;;;N;;;;; +D343;HANGUL SYLLABLE PAEH;Lo;0;L;;;;;N;;;;; +D344;HANGUL SYLLABLE PYA;Lo;0;L;;;;;N;;;;; +D345;HANGUL SYLLABLE PYAG;Lo;0;L;;;;;N;;;;; +D346;HANGUL SYLLABLE PYAGG;Lo;0;L;;;;;N;;;;; +D347;HANGUL SYLLABLE PYAGS;Lo;0;L;;;;;N;;;;; +D348;HANGUL SYLLABLE PYAN;Lo;0;L;;;;;N;;;;; +D349;HANGUL SYLLABLE PYANI;Lo;0;L;;;;;N;;;;; +D34A;HANGUL SYLLABLE PYANH;Lo;0;L;;;;;N;;;;; +D34B;HANGUL SYLLABLE PYAD;Lo;0;L;;;;;N;;;;; +D34C;HANGUL SYLLABLE PYAL;Lo;0;L;;;;;N;;;;; +D34D;HANGUL SYLLABLE PYALG;Lo;0;L;;;;;N;;;;; +D34E;HANGUL SYLLABLE PYALM;Lo;0;L;;;;;N;;;;; +D34F;HANGUL SYLLABLE PYALB;Lo;0;L;;;;;N;;;;; +D350;HANGUL SYLLABLE PYALS;Lo;0;L;;;;;N;;;;; +D351;HANGUL SYLLABLE PYALT;Lo;0;L;;;;;N;;;;; +D352;HANGUL SYLLABLE PYALP;Lo;0;L;;;;;N;;;;; +D353;HANGUL SYLLABLE PYALH;Lo;0;L;;;;;N;;;;; +D354;HANGUL SYLLABLE PYAM;Lo;0;L;;;;;N;;;;; +D355;HANGUL SYLLABLE PYAB;Lo;0;L;;;;;N;;;;; +D356;HANGUL SYLLABLE PYABS;Lo;0;L;;;;;N;;;;; +D357;HANGUL SYLLABLE PYAS;Lo;0;L;;;;;N;;;;; +D358;HANGUL SYLLABLE PYASS;Lo;0;L;;;;;N;;;;; +D359;HANGUL SYLLABLE PYANG;Lo;0;L;;;;;N;;;;; +D35A;HANGUL SYLLABLE PYAJ;Lo;0;L;;;;;N;;;;; +D35B;HANGUL SYLLABLE PYAC;Lo;0;L;;;;;N;;;;; +D35C;HANGUL SYLLABLE PYAK;Lo;0;L;;;;;N;;;;; +D35D;HANGUL SYLLABLE PYAT;Lo;0;L;;;;;N;;;;; +D35E;HANGUL SYLLABLE PYAP;Lo;0;L;;;;;N;;;;; +D35F;HANGUL SYLLABLE PYAH;Lo;0;L;;;;;N;;;;; +D360;HANGUL SYLLABLE PYAE;Lo;0;L;;;;;N;;;;; +D361;HANGUL SYLLABLE PYAEG;Lo;0;L;;;;;N;;;;; +D362;HANGUL SYLLABLE PYAEGG;Lo;0;L;;;;;N;;;;; +D363;HANGUL SYLLABLE PYAEGS;Lo;0;L;;;;;N;;;;; +D364;HANGUL SYLLABLE PYAEN;Lo;0;L;;;;;N;;;;; +D365;HANGUL SYLLABLE PYAENI;Lo;0;L;;;;;N;;;;; +D366;HANGUL SYLLABLE PYAENH;Lo;0;L;;;;;N;;;;; +D367;HANGUL SYLLABLE PYAED;Lo;0;L;;;;;N;;;;; +D368;HANGUL SYLLABLE PYAEL;Lo;0;L;;;;;N;;;;; +D369;HANGUL SYLLABLE PYAELG;Lo;0;L;;;;;N;;;;; +D36A;HANGUL SYLLABLE PYAELM;Lo;0;L;;;;;N;;;;; +D36B;HANGUL SYLLABLE PYAELB;Lo;0;L;;;;;N;;;;; +D36C;HANGUL SYLLABLE PYAELS;Lo;0;L;;;;;N;;;;; +D36D;HANGUL SYLLABLE PYAELT;Lo;0;L;;;;;N;;;;; +D36E;HANGUL SYLLABLE PYAELP;Lo;0;L;;;;;N;;;;; +D36F;HANGUL SYLLABLE PYAELH;Lo;0;L;;;;;N;;;;; +D370;HANGUL SYLLABLE PYAEM;Lo;0;L;;;;;N;;;;; +D371;HANGUL SYLLABLE PYAEB;Lo;0;L;;;;;N;;;;; +D372;HANGUL SYLLABLE PYAEBS;Lo;0;L;;;;;N;;;;; +D373;HANGUL SYLLABLE PYAES;Lo;0;L;;;;;N;;;;; +D374;HANGUL SYLLABLE PYAESS;Lo;0;L;;;;;N;;;;; +D375;HANGUL SYLLABLE PYAENG;Lo;0;L;;;;;N;;;;; +D376;HANGUL SYLLABLE PYAEJ;Lo;0;L;;;;;N;;;;; +D377;HANGUL SYLLABLE PYAEC;Lo;0;L;;;;;N;;;;; +D378;HANGUL SYLLABLE PYAEK;Lo;0;L;;;;;N;;;;; +D379;HANGUL SYLLABLE PYAET;Lo;0;L;;;;;N;;;;; +D37A;HANGUL SYLLABLE PYAEP;Lo;0;L;;;;;N;;;;; +D37B;HANGUL SYLLABLE PYAEH;Lo;0;L;;;;;N;;;;; +D37C;HANGUL SYLLABLE PEO;Lo;0;L;;;;;N;;;;; +D37D;HANGUL SYLLABLE PEOG;Lo;0;L;;;;;N;;;;; +D37E;HANGUL SYLLABLE PEOGG;Lo;0;L;;;;;N;;;;; +D37F;HANGUL SYLLABLE PEOGS;Lo;0;L;;;;;N;;;;; +D380;HANGUL SYLLABLE PEON;Lo;0;L;;;;;N;;;;; +D381;HANGUL SYLLABLE PEONI;Lo;0;L;;;;;N;;;;; +D382;HANGUL SYLLABLE PEONH;Lo;0;L;;;;;N;;;;; +D383;HANGUL SYLLABLE PEOD;Lo;0;L;;;;;N;;;;; +D384;HANGUL SYLLABLE PEOL;Lo;0;L;;;;;N;;;;; +D385;HANGUL SYLLABLE PEOLG;Lo;0;L;;;;;N;;;;; +D386;HANGUL SYLLABLE PEOLM;Lo;0;L;;;;;N;;;;; +D387;HANGUL SYLLABLE PEOLB;Lo;0;L;;;;;N;;;;; +D388;HANGUL SYLLABLE PEOLS;Lo;0;L;;;;;N;;;;; +D389;HANGUL SYLLABLE PEOLT;Lo;0;L;;;;;N;;;;; +D38A;HANGUL SYLLABLE PEOLP;Lo;0;L;;;;;N;;;;; +D38B;HANGUL SYLLABLE PEOLH;Lo;0;L;;;;;N;;;;; +D38C;HANGUL SYLLABLE PEOM;Lo;0;L;;;;;N;;;;; +D38D;HANGUL SYLLABLE PEOB;Lo;0;L;;;;;N;;;;; +D38E;HANGUL SYLLABLE PEOBS;Lo;0;L;;;;;N;;;;; +D38F;HANGUL SYLLABLE PEOS;Lo;0;L;;;;;N;;;;; +D390;HANGUL SYLLABLE PEOSS;Lo;0;L;;;;;N;;;;; +D391;HANGUL SYLLABLE PEONG;Lo;0;L;;;;;N;;;;; +D392;HANGUL SYLLABLE PEOJ;Lo;0;L;;;;;N;;;;; +D393;HANGUL SYLLABLE PEOC;Lo;0;L;;;;;N;;;;; +D394;HANGUL SYLLABLE PEOK;Lo;0;L;;;;;N;;;;; +D395;HANGUL SYLLABLE PEOT;Lo;0;L;;;;;N;;;;; +D396;HANGUL SYLLABLE PEOP;Lo;0;L;;;;;N;;;;; +D397;HANGUL SYLLABLE PEOH;Lo;0;L;;;;;N;;;;; +D398;HANGUL SYLLABLE PE;Lo;0;L;;;;;N;;;;; +D399;HANGUL SYLLABLE PEG;Lo;0;L;;;;;N;;;;; +D39A;HANGUL SYLLABLE PEGG;Lo;0;L;;;;;N;;;;; +D39B;HANGUL SYLLABLE PEGS;Lo;0;L;;;;;N;;;;; +D39C;HANGUL SYLLABLE PEN;Lo;0;L;;;;;N;;;;; +D39D;HANGUL SYLLABLE PENI;Lo;0;L;;;;;N;;;;; +D39E;HANGUL SYLLABLE PENH;Lo;0;L;;;;;N;;;;; +D39F;HANGUL SYLLABLE PED;Lo;0;L;;;;;N;;;;; +D3A0;HANGUL SYLLABLE PEL;Lo;0;L;;;;;N;;;;; +D3A1;HANGUL SYLLABLE PELG;Lo;0;L;;;;;N;;;;; +D3A2;HANGUL SYLLABLE PELM;Lo;0;L;;;;;N;;;;; +D3A3;HANGUL SYLLABLE PELB;Lo;0;L;;;;;N;;;;; +D3A4;HANGUL SYLLABLE PELS;Lo;0;L;;;;;N;;;;; +D3A5;HANGUL SYLLABLE PELT;Lo;0;L;;;;;N;;;;; +D3A6;HANGUL SYLLABLE PELP;Lo;0;L;;;;;N;;;;; +D3A7;HANGUL SYLLABLE PELH;Lo;0;L;;;;;N;;;;; +D3A8;HANGUL SYLLABLE PEM;Lo;0;L;;;;;N;;;;; +D3A9;HANGUL SYLLABLE PEB;Lo;0;L;;;;;N;;;;; +D3AA;HANGUL SYLLABLE PEBS;Lo;0;L;;;;;N;;;;; +D3AB;HANGUL SYLLABLE PES;Lo;0;L;;;;;N;;;;; +D3AC;HANGUL SYLLABLE PESS;Lo;0;L;;;;;N;;;;; +D3AD;HANGUL SYLLABLE PENG;Lo;0;L;;;;;N;;;;; +D3AE;HANGUL SYLLABLE PEJ;Lo;0;L;;;;;N;;;;; +D3AF;HANGUL SYLLABLE PEC;Lo;0;L;;;;;N;;;;; +D3B0;HANGUL SYLLABLE PEK;Lo;0;L;;;;;N;;;;; +D3B1;HANGUL SYLLABLE PET;Lo;0;L;;;;;N;;;;; +D3B2;HANGUL SYLLABLE PEP;Lo;0;L;;;;;N;;;;; +D3B3;HANGUL SYLLABLE PEH;Lo;0;L;;;;;N;;;;; +D3B4;HANGUL SYLLABLE PYEO;Lo;0;L;;;;;N;;;;; +D3B5;HANGUL SYLLABLE PYEOG;Lo;0;L;;;;;N;;;;; +D3B6;HANGUL SYLLABLE PYEOGG;Lo;0;L;;;;;N;;;;; +D3B7;HANGUL SYLLABLE PYEOGS;Lo;0;L;;;;;N;;;;; +D3B8;HANGUL SYLLABLE PYEON;Lo;0;L;;;;;N;;;;; +D3B9;HANGUL SYLLABLE PYEONI;Lo;0;L;;;;;N;;;;; +D3BA;HANGUL SYLLABLE PYEONH;Lo;0;L;;;;;N;;;;; +D3BB;HANGUL SYLLABLE PYEOD;Lo;0;L;;;;;N;;;;; +D3BC;HANGUL SYLLABLE PYEOL;Lo;0;L;;;;;N;;;;; +D3BD;HANGUL SYLLABLE PYEOLG;Lo;0;L;;;;;N;;;;; +D3BE;HANGUL SYLLABLE PYEOLM;Lo;0;L;;;;;N;;;;; +D3BF;HANGUL SYLLABLE PYEOLB;Lo;0;L;;;;;N;;;;; +D3C0;HANGUL SYLLABLE PYEOLS;Lo;0;L;;;;;N;;;;; +D3C1;HANGUL SYLLABLE PYEOLT;Lo;0;L;;;;;N;;;;; +D3C2;HANGUL SYLLABLE PYEOLP;Lo;0;L;;;;;N;;;;; +D3C3;HANGUL SYLLABLE PYEOLH;Lo;0;L;;;;;N;;;;; +D3C4;HANGUL SYLLABLE PYEOM;Lo;0;L;;;;;N;;;;; +D3C5;HANGUL SYLLABLE PYEOB;Lo;0;L;;;;;N;;;;; +D3C6;HANGUL SYLLABLE PYEOBS;Lo;0;L;;;;;N;;;;; +D3C7;HANGUL SYLLABLE PYEOS;Lo;0;L;;;;;N;;;;; +D3C8;HANGUL SYLLABLE PYEOSS;Lo;0;L;;;;;N;;;;; +D3C9;HANGUL SYLLABLE PYEONG;Lo;0;L;;;;;N;;;;; +D3CA;HANGUL SYLLABLE PYEOJ;Lo;0;L;;;;;N;;;;; +D3CB;HANGUL SYLLABLE PYEOC;Lo;0;L;;;;;N;;;;; +D3CC;HANGUL SYLLABLE PYEOK;Lo;0;L;;;;;N;;;;; +D3CD;HANGUL SYLLABLE PYEOT;Lo;0;L;;;;;N;;;;; +D3CE;HANGUL SYLLABLE PYEOP;Lo;0;L;;;;;N;;;;; +D3CF;HANGUL SYLLABLE PYEOH;Lo;0;L;;;;;N;;;;; +D3D0;HANGUL SYLLABLE PYE;Lo;0;L;;;;;N;;;;; +D3D1;HANGUL SYLLABLE PYEG;Lo;0;L;;;;;N;;;;; +D3D2;HANGUL SYLLABLE PYEGG;Lo;0;L;;;;;N;;;;; +D3D3;HANGUL SYLLABLE PYEGS;Lo;0;L;;;;;N;;;;; +D3D4;HANGUL SYLLABLE PYEN;Lo;0;L;;;;;N;;;;; +D3D5;HANGUL SYLLABLE PYENI;Lo;0;L;;;;;N;;;;; +D3D6;HANGUL SYLLABLE PYENH;Lo;0;L;;;;;N;;;;; +D3D7;HANGUL SYLLABLE PYED;Lo;0;L;;;;;N;;;;; +D3D8;HANGUL SYLLABLE PYEL;Lo;0;L;;;;;N;;;;; +D3D9;HANGUL SYLLABLE PYELG;Lo;0;L;;;;;N;;;;; +D3DA;HANGUL SYLLABLE PYELM;Lo;0;L;;;;;N;;;;; +D3DB;HANGUL SYLLABLE PYELB;Lo;0;L;;;;;N;;;;; +D3DC;HANGUL SYLLABLE PYELS;Lo;0;L;;;;;N;;;;; +D3DD;HANGUL SYLLABLE PYELT;Lo;0;L;;;;;N;;;;; +D3DE;HANGUL SYLLABLE PYELP;Lo;0;L;;;;;N;;;;; +D3DF;HANGUL SYLLABLE PYELH;Lo;0;L;;;;;N;;;;; +D3E0;HANGUL SYLLABLE PYEM;Lo;0;L;;;;;N;;;;; +D3E1;HANGUL SYLLABLE PYEB;Lo;0;L;;;;;N;;;;; +D3E2;HANGUL SYLLABLE PYEBS;Lo;0;L;;;;;N;;;;; +D3E3;HANGUL SYLLABLE PYES;Lo;0;L;;;;;N;;;;; +D3E4;HANGUL SYLLABLE PYESS;Lo;0;L;;;;;N;;;;; +D3E5;HANGUL SYLLABLE PYENG;Lo;0;L;;;;;N;;;;; +D3E6;HANGUL SYLLABLE PYEJ;Lo;0;L;;;;;N;;;;; +D3E7;HANGUL SYLLABLE PYEC;Lo;0;L;;;;;N;;;;; +D3E8;HANGUL SYLLABLE PYEK;Lo;0;L;;;;;N;;;;; +D3E9;HANGUL SYLLABLE PYET;Lo;0;L;;;;;N;;;;; +D3EA;HANGUL SYLLABLE PYEP;Lo;0;L;;;;;N;;;;; +D3EB;HANGUL SYLLABLE PYEH;Lo;0;L;;;;;N;;;;; +D3EC;HANGUL SYLLABLE PO;Lo;0;L;;;;;N;;;;; +D3ED;HANGUL SYLLABLE POG;Lo;0;L;;;;;N;;;;; +D3EE;HANGUL SYLLABLE POGG;Lo;0;L;;;;;N;;;;; +D3EF;HANGUL SYLLABLE POGS;Lo;0;L;;;;;N;;;;; +D3F0;HANGUL SYLLABLE PON;Lo;0;L;;;;;N;;;;; +D3F1;HANGUL SYLLABLE PONI;Lo;0;L;;;;;N;;;;; +D3F2;HANGUL SYLLABLE PONH;Lo;0;L;;;;;N;;;;; +D3F3;HANGUL SYLLABLE POD;Lo;0;L;;;;;N;;;;; +D3F4;HANGUL SYLLABLE POL;Lo;0;L;;;;;N;;;;; +D3F5;HANGUL SYLLABLE POLG;Lo;0;L;;;;;N;;;;; +D3F6;HANGUL SYLLABLE POLM;Lo;0;L;;;;;N;;;;; +D3F7;HANGUL SYLLABLE POLB;Lo;0;L;;;;;N;;;;; +D3F8;HANGUL SYLLABLE POLS;Lo;0;L;;;;;N;;;;; +D3F9;HANGUL SYLLABLE POLT;Lo;0;L;;;;;N;;;;; +D3FA;HANGUL SYLLABLE POLP;Lo;0;L;;;;;N;;;;; +D3FB;HANGUL SYLLABLE POLH;Lo;0;L;;;;;N;;;;; +D3FC;HANGUL SYLLABLE POM;Lo;0;L;;;;;N;;;;; +D3FD;HANGUL SYLLABLE POB;Lo;0;L;;;;;N;;;;; +D3FE;HANGUL SYLLABLE POBS;Lo;0;L;;;;;N;;;;; +D3FF;HANGUL SYLLABLE POS;Lo;0;L;;;;;N;;;;; +D400;HANGUL SYLLABLE POSS;Lo;0;L;;;;;N;;;;; +D401;HANGUL SYLLABLE PONG;Lo;0;L;;;;;N;;;;; +D402;HANGUL SYLLABLE POJ;Lo;0;L;;;;;N;;;;; +D403;HANGUL SYLLABLE POC;Lo;0;L;;;;;N;;;;; +D404;HANGUL SYLLABLE POK;Lo;0;L;;;;;N;;;;; +D405;HANGUL SYLLABLE POT;Lo;0;L;;;;;N;;;;; +D406;HANGUL SYLLABLE POP;Lo;0;L;;;;;N;;;;; +D407;HANGUL SYLLABLE POH;Lo;0;L;;;;;N;;;;; +D408;HANGUL SYLLABLE PWA;Lo;0;L;;;;;N;;;;; +D409;HANGUL SYLLABLE PWAG;Lo;0;L;;;;;N;;;;; +D40A;HANGUL SYLLABLE PWAGG;Lo;0;L;;;;;N;;;;; +D40B;HANGUL SYLLABLE PWAGS;Lo;0;L;;;;;N;;;;; +D40C;HANGUL SYLLABLE PWAN;Lo;0;L;;;;;N;;;;; +D40D;HANGUL SYLLABLE PWANI;Lo;0;L;;;;;N;;;;; +D40E;HANGUL SYLLABLE PWANH;Lo;0;L;;;;;N;;;;; +D40F;HANGUL SYLLABLE PWAD;Lo;0;L;;;;;N;;;;; +D410;HANGUL SYLLABLE PWAL;Lo;0;L;;;;;N;;;;; +D411;HANGUL SYLLABLE PWALG;Lo;0;L;;;;;N;;;;; +D412;HANGUL SYLLABLE PWALM;Lo;0;L;;;;;N;;;;; +D413;HANGUL SYLLABLE PWALB;Lo;0;L;;;;;N;;;;; +D414;HANGUL SYLLABLE PWALS;Lo;0;L;;;;;N;;;;; +D415;HANGUL SYLLABLE PWALT;Lo;0;L;;;;;N;;;;; +D416;HANGUL SYLLABLE PWALP;Lo;0;L;;;;;N;;;;; +D417;HANGUL SYLLABLE PWALH;Lo;0;L;;;;;N;;;;; +D418;HANGUL SYLLABLE PWAM;Lo;0;L;;;;;N;;;;; +D419;HANGUL SYLLABLE PWAB;Lo;0;L;;;;;N;;;;; +D41A;HANGUL SYLLABLE PWABS;Lo;0;L;;;;;N;;;;; +D41B;HANGUL SYLLABLE PWAS;Lo;0;L;;;;;N;;;;; +D41C;HANGUL SYLLABLE PWASS;Lo;0;L;;;;;N;;;;; +D41D;HANGUL SYLLABLE PWANG;Lo;0;L;;;;;N;;;;; +D41E;HANGUL SYLLABLE PWAJ;Lo;0;L;;;;;N;;;;; +D41F;HANGUL SYLLABLE PWAC;Lo;0;L;;;;;N;;;;; +D420;HANGUL SYLLABLE PWAK;Lo;0;L;;;;;N;;;;; +D421;HANGUL SYLLABLE PWAT;Lo;0;L;;;;;N;;;;; +D422;HANGUL SYLLABLE PWAP;Lo;0;L;;;;;N;;;;; +D423;HANGUL SYLLABLE PWAH;Lo;0;L;;;;;N;;;;; +D424;HANGUL SYLLABLE PWAE;Lo;0;L;;;;;N;;;;; +D425;HANGUL SYLLABLE PWAEG;Lo;0;L;;;;;N;;;;; +D426;HANGUL SYLLABLE PWAEGG;Lo;0;L;;;;;N;;;;; +D427;HANGUL SYLLABLE PWAEGS;Lo;0;L;;;;;N;;;;; +D428;HANGUL SYLLABLE PWAEN;Lo;0;L;;;;;N;;;;; +D429;HANGUL SYLLABLE PWAENI;Lo;0;L;;;;;N;;;;; +D42A;HANGUL SYLLABLE PWAENH;Lo;0;L;;;;;N;;;;; +D42B;HANGUL SYLLABLE PWAED;Lo;0;L;;;;;N;;;;; +D42C;HANGUL SYLLABLE PWAEL;Lo;0;L;;;;;N;;;;; +D42D;HANGUL SYLLABLE PWAELG;Lo;0;L;;;;;N;;;;; +D42E;HANGUL SYLLABLE PWAELM;Lo;0;L;;;;;N;;;;; +D42F;HANGUL SYLLABLE PWAELB;Lo;0;L;;;;;N;;;;; +D430;HANGUL SYLLABLE PWAELS;Lo;0;L;;;;;N;;;;; +D431;HANGUL SYLLABLE PWAELT;Lo;0;L;;;;;N;;;;; +D432;HANGUL SYLLABLE PWAELP;Lo;0;L;;;;;N;;;;; +D433;HANGUL SYLLABLE PWAELH;Lo;0;L;;;;;N;;;;; +D434;HANGUL SYLLABLE PWAEM;Lo;0;L;;;;;N;;;;; +D435;HANGUL SYLLABLE PWAEB;Lo;0;L;;;;;N;;;;; +D436;HANGUL SYLLABLE PWAEBS;Lo;0;L;;;;;N;;;;; +D437;HANGUL SYLLABLE PWAES;Lo;0;L;;;;;N;;;;; +D438;HANGUL SYLLABLE PWAESS;Lo;0;L;;;;;N;;;;; +D439;HANGUL SYLLABLE PWAENG;Lo;0;L;;;;;N;;;;; +D43A;HANGUL SYLLABLE PWAEJ;Lo;0;L;;;;;N;;;;; +D43B;HANGUL SYLLABLE PWAEC;Lo;0;L;;;;;N;;;;; +D43C;HANGUL SYLLABLE PWAEK;Lo;0;L;;;;;N;;;;; +D43D;HANGUL SYLLABLE PWAET;Lo;0;L;;;;;N;;;;; +D43E;HANGUL SYLLABLE PWAEP;Lo;0;L;;;;;N;;;;; +D43F;HANGUL SYLLABLE PWAEH;Lo;0;L;;;;;N;;;;; +D440;HANGUL SYLLABLE POE;Lo;0;L;;;;;N;;;;; +D441;HANGUL SYLLABLE POEG;Lo;0;L;;;;;N;;;;; +D442;HANGUL SYLLABLE POEGG;Lo;0;L;;;;;N;;;;; +D443;HANGUL SYLLABLE POEGS;Lo;0;L;;;;;N;;;;; +D444;HANGUL SYLLABLE POEN;Lo;0;L;;;;;N;;;;; +D445;HANGUL SYLLABLE POENI;Lo;0;L;;;;;N;;;;; +D446;HANGUL SYLLABLE POENH;Lo;0;L;;;;;N;;;;; +D447;HANGUL SYLLABLE POED;Lo;0;L;;;;;N;;;;; +D448;HANGUL SYLLABLE POEL;Lo;0;L;;;;;N;;;;; +D449;HANGUL SYLLABLE POELG;Lo;0;L;;;;;N;;;;; +D44A;HANGUL SYLLABLE POELM;Lo;0;L;;;;;N;;;;; +D44B;HANGUL SYLLABLE POELB;Lo;0;L;;;;;N;;;;; +D44C;HANGUL SYLLABLE POELS;Lo;0;L;;;;;N;;;;; +D44D;HANGUL SYLLABLE POELT;Lo;0;L;;;;;N;;;;; +D44E;HANGUL SYLLABLE POELP;Lo;0;L;;;;;N;;;;; +D44F;HANGUL SYLLABLE POELH;Lo;0;L;;;;;N;;;;; +D450;HANGUL SYLLABLE POEM;Lo;0;L;;;;;N;;;;; +D451;HANGUL SYLLABLE POEB;Lo;0;L;;;;;N;;;;; +D452;HANGUL SYLLABLE POEBS;Lo;0;L;;;;;N;;;;; +D453;HANGUL SYLLABLE POES;Lo;0;L;;;;;N;;;;; +D454;HANGUL SYLLABLE POESS;Lo;0;L;;;;;N;;;;; +D455;HANGUL SYLLABLE POENG;Lo;0;L;;;;;N;;;;; +D456;HANGUL SYLLABLE POEJ;Lo;0;L;;;;;N;;;;; +D457;HANGUL SYLLABLE POEC;Lo;0;L;;;;;N;;;;; +D458;HANGUL SYLLABLE POEK;Lo;0;L;;;;;N;;;;; +D459;HANGUL SYLLABLE POET;Lo;0;L;;;;;N;;;;; +D45A;HANGUL SYLLABLE POEP;Lo;0;L;;;;;N;;;;; +D45B;HANGUL SYLLABLE POEH;Lo;0;L;;;;;N;;;;; +D45C;HANGUL SYLLABLE PYO;Lo;0;L;;;;;N;;;;; +D45D;HANGUL SYLLABLE PYOG;Lo;0;L;;;;;N;;;;; +D45E;HANGUL SYLLABLE PYOGG;Lo;0;L;;;;;N;;;;; +D45F;HANGUL SYLLABLE PYOGS;Lo;0;L;;;;;N;;;;; +D460;HANGUL SYLLABLE PYON;Lo;0;L;;;;;N;;;;; +D461;HANGUL SYLLABLE PYONI;Lo;0;L;;;;;N;;;;; +D462;HANGUL SYLLABLE PYONH;Lo;0;L;;;;;N;;;;; +D463;HANGUL SYLLABLE PYOD;Lo;0;L;;;;;N;;;;; +D464;HANGUL SYLLABLE PYOL;Lo;0;L;;;;;N;;;;; +D465;HANGUL SYLLABLE PYOLG;Lo;0;L;;;;;N;;;;; +D466;HANGUL SYLLABLE PYOLM;Lo;0;L;;;;;N;;;;; +D467;HANGUL SYLLABLE PYOLB;Lo;0;L;;;;;N;;;;; +D468;HANGUL SYLLABLE PYOLS;Lo;0;L;;;;;N;;;;; +D469;HANGUL SYLLABLE PYOLT;Lo;0;L;;;;;N;;;;; +D46A;HANGUL SYLLABLE PYOLP;Lo;0;L;;;;;N;;;;; +D46B;HANGUL SYLLABLE PYOLH;Lo;0;L;;;;;N;;;;; +D46C;HANGUL SYLLABLE PYOM;Lo;0;L;;;;;N;;;;; +D46D;HANGUL SYLLABLE PYOB;Lo;0;L;;;;;N;;;;; +D46E;HANGUL SYLLABLE PYOBS;Lo;0;L;;;;;N;;;;; +D46F;HANGUL SYLLABLE PYOS;Lo;0;L;;;;;N;;;;; +D470;HANGUL SYLLABLE PYOSS;Lo;0;L;;;;;N;;;;; +D471;HANGUL SYLLABLE PYONG;Lo;0;L;;;;;N;;;;; +D472;HANGUL SYLLABLE PYOJ;Lo;0;L;;;;;N;;;;; +D473;HANGUL SYLLABLE PYOC;Lo;0;L;;;;;N;;;;; +D474;HANGUL SYLLABLE PYOK;Lo;0;L;;;;;N;;;;; +D475;HANGUL SYLLABLE PYOT;Lo;0;L;;;;;N;;;;; +D476;HANGUL SYLLABLE PYOP;Lo;0;L;;;;;N;;;;; +D477;HANGUL SYLLABLE PYOH;Lo;0;L;;;;;N;;;;; +D478;HANGUL SYLLABLE PU;Lo;0;L;;;;;N;;;;; +D479;HANGUL SYLLABLE PUG;Lo;0;L;;;;;N;;;;; +D47A;HANGUL SYLLABLE PUGG;Lo;0;L;;;;;N;;;;; +D47B;HANGUL SYLLABLE PUGS;Lo;0;L;;;;;N;;;;; +D47C;HANGUL SYLLABLE PUN;Lo;0;L;;;;;N;;;;; +D47D;HANGUL SYLLABLE PUNI;Lo;0;L;;;;;N;;;;; +D47E;HANGUL SYLLABLE PUNH;Lo;0;L;;;;;N;;;;; +D47F;HANGUL SYLLABLE PUD;Lo;0;L;;;;;N;;;;; +D480;HANGUL SYLLABLE PUL;Lo;0;L;;;;;N;;;;; +D481;HANGUL SYLLABLE PULG;Lo;0;L;;;;;N;;;;; +D482;HANGUL SYLLABLE PULM;Lo;0;L;;;;;N;;;;; +D483;HANGUL SYLLABLE PULB;Lo;0;L;;;;;N;;;;; +D484;HANGUL SYLLABLE PULS;Lo;0;L;;;;;N;;;;; +D485;HANGUL SYLLABLE PULT;Lo;0;L;;;;;N;;;;; +D486;HANGUL SYLLABLE PULP;Lo;0;L;;;;;N;;;;; +D487;HANGUL SYLLABLE PULH;Lo;0;L;;;;;N;;;;; +D488;HANGUL SYLLABLE PUM;Lo;0;L;;;;;N;;;;; +D489;HANGUL SYLLABLE PUB;Lo;0;L;;;;;N;;;;; +D48A;HANGUL SYLLABLE PUBS;Lo;0;L;;;;;N;;;;; +D48B;HANGUL SYLLABLE PUS;Lo;0;L;;;;;N;;;;; +D48C;HANGUL SYLLABLE PUSS;Lo;0;L;;;;;N;;;;; +D48D;HANGUL SYLLABLE PUNG;Lo;0;L;;;;;N;;;;; +D48E;HANGUL SYLLABLE PUJ;Lo;0;L;;;;;N;;;;; +D48F;HANGUL SYLLABLE PUC;Lo;0;L;;;;;N;;;;; +D490;HANGUL SYLLABLE PUK;Lo;0;L;;;;;N;;;;; +D491;HANGUL SYLLABLE PUT;Lo;0;L;;;;;N;;;;; +D492;HANGUL SYLLABLE PUP;Lo;0;L;;;;;N;;;;; +D493;HANGUL SYLLABLE PUH;Lo;0;L;;;;;N;;;;; +D494;HANGUL SYLLABLE PWEO;Lo;0;L;;;;;N;;;;; +D495;HANGUL SYLLABLE PWEOG;Lo;0;L;;;;;N;;;;; +D496;HANGUL SYLLABLE PWEOGG;Lo;0;L;;;;;N;;;;; +D497;HANGUL SYLLABLE PWEOGS;Lo;0;L;;;;;N;;;;; +D498;HANGUL SYLLABLE PWEON;Lo;0;L;;;;;N;;;;; +D499;HANGUL SYLLABLE PWEONI;Lo;0;L;;;;;N;;;;; +D49A;HANGUL SYLLABLE PWEONH;Lo;0;L;;;;;N;;;;; +D49B;HANGUL SYLLABLE PWEOD;Lo;0;L;;;;;N;;;;; +D49C;HANGUL SYLLABLE PWEOL;Lo;0;L;;;;;N;;;;; +D49D;HANGUL SYLLABLE PWEOLG;Lo;0;L;;;;;N;;;;; +D49E;HANGUL SYLLABLE PWEOLM;Lo;0;L;;;;;N;;;;; +D49F;HANGUL SYLLABLE PWEOLB;Lo;0;L;;;;;N;;;;; +D4A0;HANGUL SYLLABLE PWEOLS;Lo;0;L;;;;;N;;;;; +D4A1;HANGUL SYLLABLE PWEOLT;Lo;0;L;;;;;N;;;;; +D4A2;HANGUL SYLLABLE PWEOLP;Lo;0;L;;;;;N;;;;; +D4A3;HANGUL SYLLABLE PWEOLH;Lo;0;L;;;;;N;;;;; +D4A4;HANGUL SYLLABLE PWEOM;Lo;0;L;;;;;N;;;;; +D4A5;HANGUL SYLLABLE PWEOB;Lo;0;L;;;;;N;;;;; +D4A6;HANGUL SYLLABLE PWEOBS;Lo;0;L;;;;;N;;;;; +D4A7;HANGUL SYLLABLE PWEOS;Lo;0;L;;;;;N;;;;; +D4A8;HANGUL SYLLABLE PWEOSS;Lo;0;L;;;;;N;;;;; +D4A9;HANGUL SYLLABLE PWEONG;Lo;0;L;;;;;N;;;;; +D4AA;HANGUL SYLLABLE PWEOJ;Lo;0;L;;;;;N;;;;; +D4AB;HANGUL SYLLABLE PWEOC;Lo;0;L;;;;;N;;;;; +D4AC;HANGUL SYLLABLE PWEOK;Lo;0;L;;;;;N;;;;; +D4AD;HANGUL SYLLABLE PWEOT;Lo;0;L;;;;;N;;;;; +D4AE;HANGUL SYLLABLE PWEOP;Lo;0;L;;;;;N;;;;; +D4AF;HANGUL SYLLABLE PWEOH;Lo;0;L;;;;;N;;;;; +D4B0;HANGUL SYLLABLE PWE;Lo;0;L;;;;;N;;;;; +D4B1;HANGUL SYLLABLE PWEG;Lo;0;L;;;;;N;;;;; +D4B2;HANGUL SYLLABLE PWEGG;Lo;0;L;;;;;N;;;;; +D4B3;HANGUL SYLLABLE PWEGS;Lo;0;L;;;;;N;;;;; +D4B4;HANGUL SYLLABLE PWEN;Lo;0;L;;;;;N;;;;; +D4B5;HANGUL SYLLABLE PWENI;Lo;0;L;;;;;N;;;;; +D4B6;HANGUL SYLLABLE PWENH;Lo;0;L;;;;;N;;;;; +D4B7;HANGUL SYLLABLE PWED;Lo;0;L;;;;;N;;;;; +D4B8;HANGUL SYLLABLE PWEL;Lo;0;L;;;;;N;;;;; +D4B9;HANGUL SYLLABLE PWELG;Lo;0;L;;;;;N;;;;; +D4BA;HANGUL SYLLABLE PWELM;Lo;0;L;;;;;N;;;;; +D4BB;HANGUL SYLLABLE PWELB;Lo;0;L;;;;;N;;;;; +D4BC;HANGUL SYLLABLE PWELS;Lo;0;L;;;;;N;;;;; +D4BD;HANGUL SYLLABLE PWELT;Lo;0;L;;;;;N;;;;; +D4BE;HANGUL SYLLABLE PWELP;Lo;0;L;;;;;N;;;;; +D4BF;HANGUL SYLLABLE PWELH;Lo;0;L;;;;;N;;;;; +D4C0;HANGUL SYLLABLE PWEM;Lo;0;L;;;;;N;;;;; +D4C1;HANGUL SYLLABLE PWEB;Lo;0;L;;;;;N;;;;; +D4C2;HANGUL SYLLABLE PWEBS;Lo;0;L;;;;;N;;;;; +D4C3;HANGUL SYLLABLE PWES;Lo;0;L;;;;;N;;;;; +D4C4;HANGUL SYLLABLE PWESS;Lo;0;L;;;;;N;;;;; +D4C5;HANGUL SYLLABLE PWENG;Lo;0;L;;;;;N;;;;; +D4C6;HANGUL SYLLABLE PWEJ;Lo;0;L;;;;;N;;;;; +D4C7;HANGUL SYLLABLE PWEC;Lo;0;L;;;;;N;;;;; +D4C8;HANGUL SYLLABLE PWEK;Lo;0;L;;;;;N;;;;; +D4C9;HANGUL SYLLABLE PWET;Lo;0;L;;;;;N;;;;; +D4CA;HANGUL SYLLABLE PWEP;Lo;0;L;;;;;N;;;;; +D4CB;HANGUL SYLLABLE PWEH;Lo;0;L;;;;;N;;;;; +D4CC;HANGUL SYLLABLE PWI;Lo;0;L;;;;;N;;;;; +D4CD;HANGUL SYLLABLE PWIG;Lo;0;L;;;;;N;;;;; +D4CE;HANGUL SYLLABLE PWIGG;Lo;0;L;;;;;N;;;;; +D4CF;HANGUL SYLLABLE PWIGS;Lo;0;L;;;;;N;;;;; +D4D0;HANGUL SYLLABLE PWIN;Lo;0;L;;;;;N;;;;; +D4D1;HANGUL SYLLABLE PWINI;Lo;0;L;;;;;N;;;;; +D4D2;HANGUL SYLLABLE PWINH;Lo;0;L;;;;;N;;;;; +D4D3;HANGUL SYLLABLE PWID;Lo;0;L;;;;;N;;;;; +D4D4;HANGUL SYLLABLE PWIL;Lo;0;L;;;;;N;;;;; +D4D5;HANGUL SYLLABLE PWILG;Lo;0;L;;;;;N;;;;; +D4D6;HANGUL SYLLABLE PWILM;Lo;0;L;;;;;N;;;;; +D4D7;HANGUL SYLLABLE PWILB;Lo;0;L;;;;;N;;;;; +D4D8;HANGUL SYLLABLE PWILS;Lo;0;L;;;;;N;;;;; +D4D9;HANGUL SYLLABLE PWILT;Lo;0;L;;;;;N;;;;; +D4DA;HANGUL SYLLABLE PWILP;Lo;0;L;;;;;N;;;;; +D4DB;HANGUL SYLLABLE PWILH;Lo;0;L;;;;;N;;;;; +D4DC;HANGUL SYLLABLE PWIM;Lo;0;L;;;;;N;;;;; +D4DD;HANGUL SYLLABLE PWIB;Lo;0;L;;;;;N;;;;; +D4DE;HANGUL SYLLABLE PWIBS;Lo;0;L;;;;;N;;;;; +D4DF;HANGUL SYLLABLE PWIS;Lo;0;L;;;;;N;;;;; +D4E0;HANGUL SYLLABLE PWISS;Lo;0;L;;;;;N;;;;; +D4E1;HANGUL SYLLABLE PWING;Lo;0;L;;;;;N;;;;; +D4E2;HANGUL SYLLABLE PWIJ;Lo;0;L;;;;;N;;;;; +D4E3;HANGUL SYLLABLE PWIC;Lo;0;L;;;;;N;;;;; +D4E4;HANGUL SYLLABLE PWIK;Lo;0;L;;;;;N;;;;; +D4E5;HANGUL SYLLABLE PWIT;Lo;0;L;;;;;N;;;;; +D4E6;HANGUL SYLLABLE PWIP;Lo;0;L;;;;;N;;;;; +D4E7;HANGUL SYLLABLE PWIH;Lo;0;L;;;;;N;;;;; +D4E8;HANGUL SYLLABLE PYU;Lo;0;L;;;;;N;;;;; +D4E9;HANGUL SYLLABLE PYUG;Lo;0;L;;;;;N;;;;; +D4EA;HANGUL SYLLABLE PYUGG;Lo;0;L;;;;;N;;;;; +D4EB;HANGUL SYLLABLE PYUGS;Lo;0;L;;;;;N;;;;; +D4EC;HANGUL SYLLABLE PYUN;Lo;0;L;;;;;N;;;;; +D4ED;HANGUL SYLLABLE PYUNI;Lo;0;L;;;;;N;;;;; +D4EE;HANGUL SYLLABLE PYUNH;Lo;0;L;;;;;N;;;;; +D4EF;HANGUL SYLLABLE PYUD;Lo;0;L;;;;;N;;;;; +D4F0;HANGUL SYLLABLE PYUL;Lo;0;L;;;;;N;;;;; +D4F1;HANGUL SYLLABLE PYULG;Lo;0;L;;;;;N;;;;; +D4F2;HANGUL SYLLABLE PYULM;Lo;0;L;;;;;N;;;;; +D4F3;HANGUL SYLLABLE PYULB;Lo;0;L;;;;;N;;;;; +D4F4;HANGUL SYLLABLE PYULS;Lo;0;L;;;;;N;;;;; +D4F5;HANGUL SYLLABLE PYULT;Lo;0;L;;;;;N;;;;; +D4F6;HANGUL SYLLABLE PYULP;Lo;0;L;;;;;N;;;;; +D4F7;HANGUL SYLLABLE PYULH;Lo;0;L;;;;;N;;;;; +D4F8;HANGUL SYLLABLE PYUM;Lo;0;L;;;;;N;;;;; +D4F9;HANGUL SYLLABLE PYUB;Lo;0;L;;;;;N;;;;; +D4FA;HANGUL SYLLABLE PYUBS;Lo;0;L;;;;;N;;;;; +D4FB;HANGUL SYLLABLE PYUS;Lo;0;L;;;;;N;;;;; +D4FC;HANGUL SYLLABLE PYUSS;Lo;0;L;;;;;N;;;;; +D4FD;HANGUL SYLLABLE PYUNG;Lo;0;L;;;;;N;;;;; +D4FE;HANGUL SYLLABLE PYUJ;Lo;0;L;;;;;N;;;;; +D4FF;HANGUL SYLLABLE PYUC;Lo;0;L;;;;;N;;;;; +D500;HANGUL SYLLABLE PYUK;Lo;0;L;;;;;N;;;;; +D501;HANGUL SYLLABLE PYUT;Lo;0;L;;;;;N;;;;; +D502;HANGUL SYLLABLE PYUP;Lo;0;L;;;;;N;;;;; +D503;HANGUL SYLLABLE PYUH;Lo;0;L;;;;;N;;;;; +D504;HANGUL SYLLABLE PEU;Lo;0;L;;;;;N;;;;; +D505;HANGUL SYLLABLE PEUG;Lo;0;L;;;;;N;;;;; +D506;HANGUL SYLLABLE PEUGG;Lo;0;L;;;;;N;;;;; +D507;HANGUL SYLLABLE PEUGS;Lo;0;L;;;;;N;;;;; +D508;HANGUL SYLLABLE PEUN;Lo;0;L;;;;;N;;;;; +D509;HANGUL SYLLABLE PEUNI;Lo;0;L;;;;;N;;;;; +D50A;HANGUL SYLLABLE PEUNH;Lo;0;L;;;;;N;;;;; +D50B;HANGUL SYLLABLE PEUD;Lo;0;L;;;;;N;;;;; +D50C;HANGUL SYLLABLE PEUL;Lo;0;L;;;;;N;;;;; +D50D;HANGUL SYLLABLE PEULG;Lo;0;L;;;;;N;;;;; +D50E;HANGUL SYLLABLE PEULM;Lo;0;L;;;;;N;;;;; +D50F;HANGUL SYLLABLE PEULB;Lo;0;L;;;;;N;;;;; +D510;HANGUL SYLLABLE PEULS;Lo;0;L;;;;;N;;;;; +D511;HANGUL SYLLABLE PEULT;Lo;0;L;;;;;N;;;;; +D512;HANGUL SYLLABLE PEULP;Lo;0;L;;;;;N;;;;; +D513;HANGUL SYLLABLE PEULH;Lo;0;L;;;;;N;;;;; +D514;HANGUL SYLLABLE PEUM;Lo;0;L;;;;;N;;;;; +D515;HANGUL SYLLABLE PEUB;Lo;0;L;;;;;N;;;;; +D516;HANGUL SYLLABLE PEUBS;Lo;0;L;;;;;N;;;;; +D517;HANGUL SYLLABLE PEUS;Lo;0;L;;;;;N;;;;; +D518;HANGUL SYLLABLE PEUSS;Lo;0;L;;;;;N;;;;; +D519;HANGUL SYLLABLE PEUNG;Lo;0;L;;;;;N;;;;; +D51A;HANGUL SYLLABLE PEUJ;Lo;0;L;;;;;N;;;;; +D51B;HANGUL SYLLABLE PEUC;Lo;0;L;;;;;N;;;;; +D51C;HANGUL SYLLABLE PEUK;Lo;0;L;;;;;N;;;;; +D51D;HANGUL SYLLABLE PEUT;Lo;0;L;;;;;N;;;;; +D51E;HANGUL SYLLABLE PEUP;Lo;0;L;;;;;N;;;;; +D51F;HANGUL SYLLABLE PEUH;Lo;0;L;;;;;N;;;;; +D520;HANGUL SYLLABLE PYI;Lo;0;L;;;;;N;;;;; +D521;HANGUL SYLLABLE PYIG;Lo;0;L;;;;;N;;;;; +D522;HANGUL SYLLABLE PYIGG;Lo;0;L;;;;;N;;;;; +D523;HANGUL SYLLABLE PYIGS;Lo;0;L;;;;;N;;;;; +D524;HANGUL SYLLABLE PYIN;Lo;0;L;;;;;N;;;;; +D525;HANGUL SYLLABLE PYINI;Lo;0;L;;;;;N;;;;; +D526;HANGUL SYLLABLE PYINH;Lo;0;L;;;;;N;;;;; +D527;HANGUL SYLLABLE PYID;Lo;0;L;;;;;N;;;;; +D528;HANGUL SYLLABLE PYIL;Lo;0;L;;;;;N;;;;; +D529;HANGUL SYLLABLE PYILG;Lo;0;L;;;;;N;;;;; +D52A;HANGUL SYLLABLE PYILM;Lo;0;L;;;;;N;;;;; +D52B;HANGUL SYLLABLE PYILB;Lo;0;L;;;;;N;;;;; +D52C;HANGUL SYLLABLE PYILS;Lo;0;L;;;;;N;;;;; +D52D;HANGUL SYLLABLE PYILT;Lo;0;L;;;;;N;;;;; +D52E;HANGUL SYLLABLE PYILP;Lo;0;L;;;;;N;;;;; +D52F;HANGUL SYLLABLE PYILH;Lo;0;L;;;;;N;;;;; +D530;HANGUL SYLLABLE PYIM;Lo;0;L;;;;;N;;;;; +D531;HANGUL SYLLABLE PYIB;Lo;0;L;;;;;N;;;;; +D532;HANGUL SYLLABLE PYIBS;Lo;0;L;;;;;N;;;;; +D533;HANGUL SYLLABLE PYIS;Lo;0;L;;;;;N;;;;; +D534;HANGUL SYLLABLE PYISS;Lo;0;L;;;;;N;;;;; +D535;HANGUL SYLLABLE PYING;Lo;0;L;;;;;N;;;;; +D536;HANGUL SYLLABLE PYIJ;Lo;0;L;;;;;N;;;;; +D537;HANGUL SYLLABLE PYIC;Lo;0;L;;;;;N;;;;; +D538;HANGUL SYLLABLE PYIK;Lo;0;L;;;;;N;;;;; +D539;HANGUL SYLLABLE PYIT;Lo;0;L;;;;;N;;;;; +D53A;HANGUL SYLLABLE PYIP;Lo;0;L;;;;;N;;;;; +D53B;HANGUL SYLLABLE PYIH;Lo;0;L;;;;;N;;;;; +D53C;HANGUL SYLLABLE PI;Lo;0;L;;;;;N;;;;; +D53D;HANGUL SYLLABLE PIG;Lo;0;L;;;;;N;;;;; +D53E;HANGUL SYLLABLE PIGG;Lo;0;L;;;;;N;;;;; +D53F;HANGUL SYLLABLE PIGS;Lo;0;L;;;;;N;;;;; +D540;HANGUL SYLLABLE PIN;Lo;0;L;;;;;N;;;;; +D541;HANGUL SYLLABLE PINI;Lo;0;L;;;;;N;;;;; +D542;HANGUL SYLLABLE PINH;Lo;0;L;;;;;N;;;;; +D543;HANGUL SYLLABLE PID;Lo;0;L;;;;;N;;;;; +D544;HANGUL SYLLABLE PIL;Lo;0;L;;;;;N;;;;; +D545;HANGUL SYLLABLE PILG;Lo;0;L;;;;;N;;;;; +D546;HANGUL SYLLABLE PILM;Lo;0;L;;;;;N;;;;; +D547;HANGUL SYLLABLE PILB;Lo;0;L;;;;;N;;;;; +D548;HANGUL SYLLABLE PILS;Lo;0;L;;;;;N;;;;; +D549;HANGUL SYLLABLE PILT;Lo;0;L;;;;;N;;;;; +D54A;HANGUL SYLLABLE PILP;Lo;0;L;;;;;N;;;;; +D54B;HANGUL SYLLABLE PILH;Lo;0;L;;;;;N;;;;; +D54C;HANGUL SYLLABLE PIM;Lo;0;L;;;;;N;;;;; +D54D;HANGUL SYLLABLE PIB;Lo;0;L;;;;;N;;;;; +D54E;HANGUL SYLLABLE PIBS;Lo;0;L;;;;;N;;;;; +D54F;HANGUL SYLLABLE PIS;Lo;0;L;;;;;N;;;;; +D550;HANGUL SYLLABLE PISS;Lo;0;L;;;;;N;;;;; +D551;HANGUL SYLLABLE PING;Lo;0;L;;;;;N;;;;; +D552;HANGUL SYLLABLE PIJ;Lo;0;L;;;;;N;;;;; +D553;HANGUL SYLLABLE PIC;Lo;0;L;;;;;N;;;;; +D554;HANGUL SYLLABLE PIK;Lo;0;L;;;;;N;;;;; +D555;HANGUL SYLLABLE PIT;Lo;0;L;;;;;N;;;;; +D556;HANGUL SYLLABLE PIP;Lo;0;L;;;;;N;;;;; +D557;HANGUL SYLLABLE PIH;Lo;0;L;;;;;N;;;;; +D558;HANGUL SYLLABLE HA;Lo;0;L;;;;;N;;;;; +D559;HANGUL SYLLABLE HAG;Lo;0;L;;;;;N;;;;; +D55A;HANGUL SYLLABLE HAGG;Lo;0;L;;;;;N;;;;; +D55B;HANGUL SYLLABLE HAGS;Lo;0;L;;;;;N;;;;; +D55C;HANGUL SYLLABLE HAN;Lo;0;L;;;;;N;;;;; +D55D;HANGUL SYLLABLE HANI;Lo;0;L;;;;;N;;;;; +D55E;HANGUL SYLLABLE HANH;Lo;0;L;;;;;N;;;;; +D55F;HANGUL SYLLABLE HAD;Lo;0;L;;;;;N;;;;; +D560;HANGUL SYLLABLE HAL;Lo;0;L;;;;;N;;;;; +D561;HANGUL SYLLABLE HALG;Lo;0;L;;;;;N;;;;; +D562;HANGUL SYLLABLE HALM;Lo;0;L;;;;;N;;;;; +D563;HANGUL SYLLABLE HALB;Lo;0;L;;;;;N;;;;; +D564;HANGUL SYLLABLE HALS;Lo;0;L;;;;;N;;;;; +D565;HANGUL SYLLABLE HALT;Lo;0;L;;;;;N;;;;; +D566;HANGUL SYLLABLE HALP;Lo;0;L;;;;;N;;;;; +D567;HANGUL SYLLABLE HALH;Lo;0;L;;;;;N;;;;; +D568;HANGUL SYLLABLE HAM;Lo;0;L;;;;;N;;;;; +D569;HANGUL SYLLABLE HAB;Lo;0;L;;;;;N;;;;; +D56A;HANGUL SYLLABLE HABS;Lo;0;L;;;;;N;;;;; +D56B;HANGUL SYLLABLE HAS;Lo;0;L;;;;;N;;;;; +D56C;HANGUL SYLLABLE HASS;Lo;0;L;;;;;N;;;;; +D56D;HANGUL SYLLABLE HANG;Lo;0;L;;;;;N;;;;; +D56E;HANGUL SYLLABLE HAJ;Lo;0;L;;;;;N;;;;; +D56F;HANGUL SYLLABLE HAC;Lo;0;L;;;;;N;;;;; +D570;HANGUL SYLLABLE HAK;Lo;0;L;;;;;N;;;;; +D571;HANGUL SYLLABLE HAT;Lo;0;L;;;;;N;;;;; +D572;HANGUL SYLLABLE HAP;Lo;0;L;;;;;N;;;;; +D573;HANGUL SYLLABLE HAH;Lo;0;L;;;;;N;;;;; +D574;HANGUL SYLLABLE HAE;Lo;0;L;;;;;N;;;;; +D575;HANGUL SYLLABLE HAEG;Lo;0;L;;;;;N;;;;; +D576;HANGUL SYLLABLE HAEGG;Lo;0;L;;;;;N;;;;; +D577;HANGUL SYLLABLE HAEGS;Lo;0;L;;;;;N;;;;; +D578;HANGUL SYLLABLE HAEN;Lo;0;L;;;;;N;;;;; +D579;HANGUL SYLLABLE HAENI;Lo;0;L;;;;;N;;;;; +D57A;HANGUL SYLLABLE HAENH;Lo;0;L;;;;;N;;;;; +D57B;HANGUL SYLLABLE HAED;Lo;0;L;;;;;N;;;;; +D57C;HANGUL SYLLABLE HAEL;Lo;0;L;;;;;N;;;;; +D57D;HANGUL SYLLABLE HAELG;Lo;0;L;;;;;N;;;;; +D57E;HANGUL SYLLABLE HAELM;Lo;0;L;;;;;N;;;;; +D57F;HANGUL SYLLABLE HAELB;Lo;0;L;;;;;N;;;;; +D580;HANGUL SYLLABLE HAELS;Lo;0;L;;;;;N;;;;; +D581;HANGUL SYLLABLE HAELT;Lo;0;L;;;;;N;;;;; +D582;HANGUL SYLLABLE HAELP;Lo;0;L;;;;;N;;;;; +D583;HANGUL SYLLABLE HAELH;Lo;0;L;;;;;N;;;;; +D584;HANGUL SYLLABLE HAEM;Lo;0;L;;;;;N;;;;; +D585;HANGUL SYLLABLE HAEB;Lo;0;L;;;;;N;;;;; +D586;HANGUL SYLLABLE HAEBS;Lo;0;L;;;;;N;;;;; +D587;HANGUL SYLLABLE HAES;Lo;0;L;;;;;N;;;;; +D588;HANGUL SYLLABLE HAESS;Lo;0;L;;;;;N;;;;; +D589;HANGUL SYLLABLE HAENG;Lo;0;L;;;;;N;;;;; +D58A;HANGUL SYLLABLE HAEJ;Lo;0;L;;;;;N;;;;; +D58B;HANGUL SYLLABLE HAEC;Lo;0;L;;;;;N;;;;; +D58C;HANGUL SYLLABLE HAEK;Lo;0;L;;;;;N;;;;; +D58D;HANGUL SYLLABLE HAET;Lo;0;L;;;;;N;;;;; +D58E;HANGUL SYLLABLE HAEP;Lo;0;L;;;;;N;;;;; +D58F;HANGUL SYLLABLE HAEH;Lo;0;L;;;;;N;;;;; +D590;HANGUL SYLLABLE HYA;Lo;0;L;;;;;N;;;;; +D591;HANGUL SYLLABLE HYAG;Lo;0;L;;;;;N;;;;; +D592;HANGUL SYLLABLE HYAGG;Lo;0;L;;;;;N;;;;; +D593;HANGUL SYLLABLE HYAGS;Lo;0;L;;;;;N;;;;; +D594;HANGUL SYLLABLE HYAN;Lo;0;L;;;;;N;;;;; +D595;HANGUL SYLLABLE HYANI;Lo;0;L;;;;;N;;;;; +D596;HANGUL SYLLABLE HYANH;Lo;0;L;;;;;N;;;;; +D597;HANGUL SYLLABLE HYAD;Lo;0;L;;;;;N;;;;; +D598;HANGUL SYLLABLE HYAL;Lo;0;L;;;;;N;;;;; +D599;HANGUL SYLLABLE HYALG;Lo;0;L;;;;;N;;;;; +D59A;HANGUL SYLLABLE HYALM;Lo;0;L;;;;;N;;;;; +D59B;HANGUL SYLLABLE HYALB;Lo;0;L;;;;;N;;;;; +D59C;HANGUL SYLLABLE HYALS;Lo;0;L;;;;;N;;;;; +D59D;HANGUL SYLLABLE HYALT;Lo;0;L;;;;;N;;;;; +D59E;HANGUL SYLLABLE HYALP;Lo;0;L;;;;;N;;;;; +D59F;HANGUL SYLLABLE HYALH;Lo;0;L;;;;;N;;;;; +D5A0;HANGUL SYLLABLE HYAM;Lo;0;L;;;;;N;;;;; +D5A1;HANGUL SYLLABLE HYAB;Lo;0;L;;;;;N;;;;; +D5A2;HANGUL SYLLABLE HYABS;Lo;0;L;;;;;N;;;;; +D5A3;HANGUL SYLLABLE HYAS;Lo;0;L;;;;;N;;;;; +D5A4;HANGUL SYLLABLE HYASS;Lo;0;L;;;;;N;;;;; +D5A5;HANGUL SYLLABLE HYANG;Lo;0;L;;;;;N;;;;; +D5A6;HANGUL SYLLABLE HYAJ;Lo;0;L;;;;;N;;;;; +D5A7;HANGUL SYLLABLE HYAC;Lo;0;L;;;;;N;;;;; +D5A8;HANGUL SYLLABLE HYAK;Lo;0;L;;;;;N;;;;; +D5A9;HANGUL SYLLABLE HYAT;Lo;0;L;;;;;N;;;;; +D5AA;HANGUL SYLLABLE HYAP;Lo;0;L;;;;;N;;;;; +D5AB;HANGUL SYLLABLE HYAH;Lo;0;L;;;;;N;;;;; +D5AC;HANGUL SYLLABLE HYAE;Lo;0;L;;;;;N;;;;; +D5AD;HANGUL SYLLABLE HYAEG;Lo;0;L;;;;;N;;;;; +D5AE;HANGUL SYLLABLE HYAEGG;Lo;0;L;;;;;N;;;;; +D5AF;HANGUL SYLLABLE HYAEGS;Lo;0;L;;;;;N;;;;; +D5B0;HANGUL SYLLABLE HYAEN;Lo;0;L;;;;;N;;;;; +D5B1;HANGUL SYLLABLE HYAENI;Lo;0;L;;;;;N;;;;; +D5B2;HANGUL SYLLABLE HYAENH;Lo;0;L;;;;;N;;;;; +D5B3;HANGUL SYLLABLE HYAED;Lo;0;L;;;;;N;;;;; +D5B4;HANGUL SYLLABLE HYAEL;Lo;0;L;;;;;N;;;;; +D5B5;HANGUL SYLLABLE HYAELG;Lo;0;L;;;;;N;;;;; +D5B6;HANGUL SYLLABLE HYAELM;Lo;0;L;;;;;N;;;;; +D5B7;HANGUL SYLLABLE HYAELB;Lo;0;L;;;;;N;;;;; +D5B8;HANGUL SYLLABLE HYAELS;Lo;0;L;;;;;N;;;;; +D5B9;HANGUL SYLLABLE HYAELT;Lo;0;L;;;;;N;;;;; +D5BA;HANGUL SYLLABLE HYAELP;Lo;0;L;;;;;N;;;;; +D5BB;HANGUL SYLLABLE HYAELH;Lo;0;L;;;;;N;;;;; +D5BC;HANGUL SYLLABLE HYAEM;Lo;0;L;;;;;N;;;;; +D5BD;HANGUL SYLLABLE HYAEB;Lo;0;L;;;;;N;;;;; +D5BE;HANGUL SYLLABLE HYAEBS;Lo;0;L;;;;;N;;;;; +D5BF;HANGUL SYLLABLE HYAES;Lo;0;L;;;;;N;;;;; +D5C0;HANGUL SYLLABLE HYAESS;Lo;0;L;;;;;N;;;;; +D5C1;HANGUL SYLLABLE HYAENG;Lo;0;L;;;;;N;;;;; +D5C2;HANGUL SYLLABLE HYAEJ;Lo;0;L;;;;;N;;;;; +D5C3;HANGUL SYLLABLE HYAEC;Lo;0;L;;;;;N;;;;; +D5C4;HANGUL SYLLABLE HYAEK;Lo;0;L;;;;;N;;;;; +D5C5;HANGUL SYLLABLE HYAET;Lo;0;L;;;;;N;;;;; +D5C6;HANGUL SYLLABLE HYAEP;Lo;0;L;;;;;N;;;;; +D5C7;HANGUL SYLLABLE HYAEH;Lo;0;L;;;;;N;;;;; +D5C8;HANGUL SYLLABLE HEO;Lo;0;L;;;;;N;;;;; +D5C9;HANGUL SYLLABLE HEOG;Lo;0;L;;;;;N;;;;; +D5CA;HANGUL SYLLABLE HEOGG;Lo;0;L;;;;;N;;;;; +D5CB;HANGUL SYLLABLE HEOGS;Lo;0;L;;;;;N;;;;; +D5CC;HANGUL SYLLABLE HEON;Lo;0;L;;;;;N;;;;; +D5CD;HANGUL SYLLABLE HEONI;Lo;0;L;;;;;N;;;;; +D5CE;HANGUL SYLLABLE HEONH;Lo;0;L;;;;;N;;;;; +D5CF;HANGUL SYLLABLE HEOD;Lo;0;L;;;;;N;;;;; +D5D0;HANGUL SYLLABLE HEOL;Lo;0;L;;;;;N;;;;; +D5D1;HANGUL SYLLABLE HEOLG;Lo;0;L;;;;;N;;;;; +D5D2;HANGUL SYLLABLE HEOLM;Lo;0;L;;;;;N;;;;; +D5D3;HANGUL SYLLABLE HEOLB;Lo;0;L;;;;;N;;;;; +D5D4;HANGUL SYLLABLE HEOLS;Lo;0;L;;;;;N;;;;; +D5D5;HANGUL SYLLABLE HEOLT;Lo;0;L;;;;;N;;;;; +D5D6;HANGUL SYLLABLE HEOLP;Lo;0;L;;;;;N;;;;; +D5D7;HANGUL SYLLABLE HEOLH;Lo;0;L;;;;;N;;;;; +D5D8;HANGUL SYLLABLE HEOM;Lo;0;L;;;;;N;;;;; +D5D9;HANGUL SYLLABLE HEOB;Lo;0;L;;;;;N;;;;; +D5DA;HANGUL SYLLABLE HEOBS;Lo;0;L;;;;;N;;;;; +D5DB;HANGUL SYLLABLE HEOS;Lo;0;L;;;;;N;;;;; +D5DC;HANGUL SYLLABLE HEOSS;Lo;0;L;;;;;N;;;;; +D5DD;HANGUL SYLLABLE HEONG;Lo;0;L;;;;;N;;;;; +D5DE;HANGUL SYLLABLE HEOJ;Lo;0;L;;;;;N;;;;; +D5DF;HANGUL SYLLABLE HEOC;Lo;0;L;;;;;N;;;;; +D5E0;HANGUL SYLLABLE HEOK;Lo;0;L;;;;;N;;;;; +D5E1;HANGUL SYLLABLE HEOT;Lo;0;L;;;;;N;;;;; +D5E2;HANGUL SYLLABLE HEOP;Lo;0;L;;;;;N;;;;; +D5E3;HANGUL SYLLABLE HEOH;Lo;0;L;;;;;N;;;;; +D5E4;HANGUL SYLLABLE HE;Lo;0;L;;;;;N;;;;; +D5E5;HANGUL SYLLABLE HEG;Lo;0;L;;;;;N;;;;; +D5E6;HANGUL SYLLABLE HEGG;Lo;0;L;;;;;N;;;;; +D5E7;HANGUL SYLLABLE HEGS;Lo;0;L;;;;;N;;;;; +D5E8;HANGUL SYLLABLE HEN;Lo;0;L;;;;;N;;;;; +D5E9;HANGUL SYLLABLE HENI;Lo;0;L;;;;;N;;;;; +D5EA;HANGUL SYLLABLE HENH;Lo;0;L;;;;;N;;;;; +D5EB;HANGUL SYLLABLE HED;Lo;0;L;;;;;N;;;;; +D5EC;HANGUL SYLLABLE HEL;Lo;0;L;;;;;N;;;;; +D5ED;HANGUL SYLLABLE HELG;Lo;0;L;;;;;N;;;;; +D5EE;HANGUL SYLLABLE HELM;Lo;0;L;;;;;N;;;;; +D5EF;HANGUL SYLLABLE HELB;Lo;0;L;;;;;N;;;;; +D5F0;HANGUL SYLLABLE HELS;Lo;0;L;;;;;N;;;;; +D5F1;HANGUL SYLLABLE HELT;Lo;0;L;;;;;N;;;;; +D5F2;HANGUL SYLLABLE HELP;Lo;0;L;;;;;N;;;;; +D5F3;HANGUL SYLLABLE HELH;Lo;0;L;;;;;N;;;;; +D5F4;HANGUL SYLLABLE HEM;Lo;0;L;;;;;N;;;;; +D5F5;HANGUL SYLLABLE HEB;Lo;0;L;;;;;N;;;;; +D5F6;HANGUL SYLLABLE HEBS;Lo;0;L;;;;;N;;;;; +D5F7;HANGUL SYLLABLE HES;Lo;0;L;;;;;N;;;;; +D5F8;HANGUL SYLLABLE HESS;Lo;0;L;;;;;N;;;;; +D5F9;HANGUL SYLLABLE HENG;Lo;0;L;;;;;N;;;;; +D5FA;HANGUL SYLLABLE HEJ;Lo;0;L;;;;;N;;;;; +D5FB;HANGUL SYLLABLE HEC;Lo;0;L;;;;;N;;;;; +D5FC;HANGUL SYLLABLE HEK;Lo;0;L;;;;;N;;;;; +D5FD;HANGUL SYLLABLE HET;Lo;0;L;;;;;N;;;;; +D5FE;HANGUL SYLLABLE HEP;Lo;0;L;;;;;N;;;;; +D5FF;HANGUL SYLLABLE HEH;Lo;0;L;;;;;N;;;;; +D600;HANGUL SYLLABLE HYEO;Lo;0;L;;;;;N;;;;; +D601;HANGUL SYLLABLE HYEOG;Lo;0;L;;;;;N;;;;; +D602;HANGUL SYLLABLE HYEOGG;Lo;0;L;;;;;N;;;;; +D603;HANGUL SYLLABLE HYEOGS;Lo;0;L;;;;;N;;;;; +D604;HANGUL SYLLABLE HYEON;Lo;0;L;;;;;N;;;;; +D605;HANGUL SYLLABLE HYEONI;Lo;0;L;;;;;N;;;;; +D606;HANGUL SYLLABLE HYEONH;Lo;0;L;;;;;N;;;;; +D607;HANGUL SYLLABLE HYEOD;Lo;0;L;;;;;N;;;;; +D608;HANGUL SYLLABLE HYEOL;Lo;0;L;;;;;N;;;;; +D609;HANGUL SYLLABLE HYEOLG;Lo;0;L;;;;;N;;;;; +D60A;HANGUL SYLLABLE HYEOLM;Lo;0;L;;;;;N;;;;; +D60B;HANGUL SYLLABLE HYEOLB;Lo;0;L;;;;;N;;;;; +D60C;HANGUL SYLLABLE HYEOLS;Lo;0;L;;;;;N;;;;; +D60D;HANGUL SYLLABLE HYEOLT;Lo;0;L;;;;;N;;;;; +D60E;HANGUL SYLLABLE HYEOLP;Lo;0;L;;;;;N;;;;; +D60F;HANGUL SYLLABLE HYEOLH;Lo;0;L;;;;;N;;;;; +D610;HANGUL SYLLABLE HYEOM;Lo;0;L;;;;;N;;;;; +D611;HANGUL SYLLABLE HYEOB;Lo;0;L;;;;;N;;;;; +D612;HANGUL SYLLABLE HYEOBS;Lo;0;L;;;;;N;;;;; +D613;HANGUL SYLLABLE HYEOS;Lo;0;L;;;;;N;;;;; +D614;HANGUL SYLLABLE HYEOSS;Lo;0;L;;;;;N;;;;; +D615;HANGUL SYLLABLE HYEONG;Lo;0;L;;;;;N;;;;; +D616;HANGUL SYLLABLE HYEOJ;Lo;0;L;;;;;N;;;;; +D617;HANGUL SYLLABLE HYEOC;Lo;0;L;;;;;N;;;;; +D618;HANGUL SYLLABLE HYEOK;Lo;0;L;;;;;N;;;;; +D619;HANGUL SYLLABLE HYEOT;Lo;0;L;;;;;N;;;;; +D61A;HANGUL SYLLABLE HYEOP;Lo;0;L;;;;;N;;;;; +D61B;HANGUL SYLLABLE HYEOH;Lo;0;L;;;;;N;;;;; +D61C;HANGUL SYLLABLE HYE;Lo;0;L;;;;;N;;;;; +D61D;HANGUL SYLLABLE HYEG;Lo;0;L;;;;;N;;;;; +D61E;HANGUL SYLLABLE HYEGG;Lo;0;L;;;;;N;;;;; +D61F;HANGUL SYLLABLE HYEGS;Lo;0;L;;;;;N;;;;; +D620;HANGUL SYLLABLE HYEN;Lo;0;L;;;;;N;;;;; +D621;HANGUL SYLLABLE HYENI;Lo;0;L;;;;;N;;;;; +D622;HANGUL SYLLABLE HYENH;Lo;0;L;;;;;N;;;;; +D623;HANGUL SYLLABLE HYED;Lo;0;L;;;;;N;;;;; +D624;HANGUL SYLLABLE HYEL;Lo;0;L;;;;;N;;;;; +D625;HANGUL SYLLABLE HYELG;Lo;0;L;;;;;N;;;;; +D626;HANGUL SYLLABLE HYELM;Lo;0;L;;;;;N;;;;; +D627;HANGUL SYLLABLE HYELB;Lo;0;L;;;;;N;;;;; +D628;HANGUL SYLLABLE HYELS;Lo;0;L;;;;;N;;;;; +D629;HANGUL SYLLABLE HYELT;Lo;0;L;;;;;N;;;;; +D62A;HANGUL SYLLABLE HYELP;Lo;0;L;;;;;N;;;;; +D62B;HANGUL SYLLABLE HYELH;Lo;0;L;;;;;N;;;;; +D62C;HANGUL SYLLABLE HYEM;Lo;0;L;;;;;N;;;;; +D62D;HANGUL SYLLABLE HYEB;Lo;0;L;;;;;N;;;;; +D62E;HANGUL SYLLABLE HYEBS;Lo;0;L;;;;;N;;;;; +D62F;HANGUL SYLLABLE HYES;Lo;0;L;;;;;N;;;;; +D630;HANGUL SYLLABLE HYESS;Lo;0;L;;;;;N;;;;; +D631;HANGUL SYLLABLE HYENG;Lo;0;L;;;;;N;;;;; +D632;HANGUL SYLLABLE HYEJ;Lo;0;L;;;;;N;;;;; +D633;HANGUL SYLLABLE HYEC;Lo;0;L;;;;;N;;;;; +D634;HANGUL SYLLABLE HYEK;Lo;0;L;;;;;N;;;;; +D635;HANGUL SYLLABLE HYET;Lo;0;L;;;;;N;;;;; +D636;HANGUL SYLLABLE HYEP;Lo;0;L;;;;;N;;;;; +D637;HANGUL SYLLABLE HYEH;Lo;0;L;;;;;N;;;;; +D638;HANGUL SYLLABLE HO;Lo;0;L;;;;;N;;;;; +D639;HANGUL SYLLABLE HOG;Lo;0;L;;;;;N;;;;; +D63A;HANGUL SYLLABLE HOGG;Lo;0;L;;;;;N;;;;; +D63B;HANGUL SYLLABLE HOGS;Lo;0;L;;;;;N;;;;; +D63C;HANGUL SYLLABLE HON;Lo;0;L;;;;;N;;;;; +D63D;HANGUL SYLLABLE HONI;Lo;0;L;;;;;N;;;;; +D63E;HANGUL SYLLABLE HONH;Lo;0;L;;;;;N;;;;; +D63F;HANGUL SYLLABLE HOD;Lo;0;L;;;;;N;;;;; +D640;HANGUL SYLLABLE HOL;Lo;0;L;;;;;N;;;;; +D641;HANGUL SYLLABLE HOLG;Lo;0;L;;;;;N;;;;; +D642;HANGUL SYLLABLE HOLM;Lo;0;L;;;;;N;;;;; +D643;HANGUL SYLLABLE HOLB;Lo;0;L;;;;;N;;;;; +D644;HANGUL SYLLABLE HOLS;Lo;0;L;;;;;N;;;;; +D645;HANGUL SYLLABLE HOLT;Lo;0;L;;;;;N;;;;; +D646;HANGUL SYLLABLE HOLP;Lo;0;L;;;;;N;;;;; +D647;HANGUL SYLLABLE HOLH;Lo;0;L;;;;;N;;;;; +D648;HANGUL SYLLABLE HOM;Lo;0;L;;;;;N;;;;; +D649;HANGUL SYLLABLE HOB;Lo;0;L;;;;;N;;;;; +D64A;HANGUL SYLLABLE HOBS;Lo;0;L;;;;;N;;;;; +D64B;HANGUL SYLLABLE HOS;Lo;0;L;;;;;N;;;;; +D64C;HANGUL SYLLABLE HOSS;Lo;0;L;;;;;N;;;;; +D64D;HANGUL SYLLABLE HONG;Lo;0;L;;;;;N;;;;; +D64E;HANGUL SYLLABLE HOJ;Lo;0;L;;;;;N;;;;; +D64F;HANGUL SYLLABLE HOC;Lo;0;L;;;;;N;;;;; +D650;HANGUL SYLLABLE HOK;Lo;0;L;;;;;N;;;;; +D651;HANGUL SYLLABLE HOT;Lo;0;L;;;;;N;;;;; +D652;HANGUL SYLLABLE HOP;Lo;0;L;;;;;N;;;;; +D653;HANGUL SYLLABLE HOH;Lo;0;L;;;;;N;;;;; +D654;HANGUL SYLLABLE HWA;Lo;0;L;;;;;N;;;;; +D655;HANGUL SYLLABLE HWAG;Lo;0;L;;;;;N;;;;; +D656;HANGUL SYLLABLE HWAGG;Lo;0;L;;;;;N;;;;; +D657;HANGUL SYLLABLE HWAGS;Lo;0;L;;;;;N;;;;; +D658;HANGUL SYLLABLE HWAN;Lo;0;L;;;;;N;;;;; +D659;HANGUL SYLLABLE HWANI;Lo;0;L;;;;;N;;;;; +D65A;HANGUL SYLLABLE HWANH;Lo;0;L;;;;;N;;;;; +D65B;HANGUL SYLLABLE HWAD;Lo;0;L;;;;;N;;;;; +D65C;HANGUL SYLLABLE HWAL;Lo;0;L;;;;;N;;;;; +D65D;HANGUL SYLLABLE HWALG;Lo;0;L;;;;;N;;;;; +D65E;HANGUL SYLLABLE HWALM;Lo;0;L;;;;;N;;;;; +D65F;HANGUL SYLLABLE HWALB;Lo;0;L;;;;;N;;;;; +D660;HANGUL SYLLABLE HWALS;Lo;0;L;;;;;N;;;;; +D661;HANGUL SYLLABLE HWALT;Lo;0;L;;;;;N;;;;; +D662;HANGUL SYLLABLE HWALP;Lo;0;L;;;;;N;;;;; +D663;HANGUL SYLLABLE HWALH;Lo;0;L;;;;;N;;;;; +D664;HANGUL SYLLABLE HWAM;Lo;0;L;;;;;N;;;;; +D665;HANGUL SYLLABLE HWAB;Lo;0;L;;;;;N;;;;; +D666;HANGUL SYLLABLE HWABS;Lo;0;L;;;;;N;;;;; +D667;HANGUL SYLLABLE HWAS;Lo;0;L;;;;;N;;;;; +D668;HANGUL SYLLABLE HWASS;Lo;0;L;;;;;N;;;;; +D669;HANGUL SYLLABLE HWANG;Lo;0;L;;;;;N;;;;; +D66A;HANGUL SYLLABLE HWAJ;Lo;0;L;;;;;N;;;;; +D66B;HANGUL SYLLABLE HWAC;Lo;0;L;;;;;N;;;;; +D66C;HANGUL SYLLABLE HWAK;Lo;0;L;;;;;N;;;;; +D66D;HANGUL SYLLABLE HWAT;Lo;0;L;;;;;N;;;;; +D66E;HANGUL SYLLABLE HWAP;Lo;0;L;;;;;N;;;;; +D66F;HANGUL SYLLABLE HWAH;Lo;0;L;;;;;N;;;;; +D670;HANGUL SYLLABLE HWAE;Lo;0;L;;;;;N;;;;; +D671;HANGUL SYLLABLE HWAEG;Lo;0;L;;;;;N;;;;; +D672;HANGUL SYLLABLE HWAEGG;Lo;0;L;;;;;N;;;;; +D673;HANGUL SYLLABLE HWAEGS;Lo;0;L;;;;;N;;;;; +D674;HANGUL SYLLABLE HWAEN;Lo;0;L;;;;;N;;;;; +D675;HANGUL SYLLABLE HWAENI;Lo;0;L;;;;;N;;;;; +D676;HANGUL SYLLABLE HWAENH;Lo;0;L;;;;;N;;;;; +D677;HANGUL SYLLABLE HWAED;Lo;0;L;;;;;N;;;;; +D678;HANGUL SYLLABLE HWAEL;Lo;0;L;;;;;N;;;;; +D679;HANGUL SYLLABLE HWAELG;Lo;0;L;;;;;N;;;;; +D67A;HANGUL SYLLABLE HWAELM;Lo;0;L;;;;;N;;;;; +D67B;HANGUL SYLLABLE HWAELB;Lo;0;L;;;;;N;;;;; +D67C;HANGUL SYLLABLE HWAELS;Lo;0;L;;;;;N;;;;; +D67D;HANGUL SYLLABLE HWAELT;Lo;0;L;;;;;N;;;;; +D67E;HANGUL SYLLABLE HWAELP;Lo;0;L;;;;;N;;;;; +D67F;HANGUL SYLLABLE HWAELH;Lo;0;L;;;;;N;;;;; +D680;HANGUL SYLLABLE HWAEM;Lo;0;L;;;;;N;;;;; +D681;HANGUL SYLLABLE HWAEB;Lo;0;L;;;;;N;;;;; +D682;HANGUL SYLLABLE HWAEBS;Lo;0;L;;;;;N;;;;; +D683;HANGUL SYLLABLE HWAES;Lo;0;L;;;;;N;;;;; +D684;HANGUL SYLLABLE HWAESS;Lo;0;L;;;;;N;;;;; +D685;HANGUL SYLLABLE HWAENG;Lo;0;L;;;;;N;;;;; +D686;HANGUL SYLLABLE HWAEJ;Lo;0;L;;;;;N;;;;; +D687;HANGUL SYLLABLE HWAEC;Lo;0;L;;;;;N;;;;; +D688;HANGUL SYLLABLE HWAEK;Lo;0;L;;;;;N;;;;; +D689;HANGUL SYLLABLE HWAET;Lo;0;L;;;;;N;;;;; +D68A;HANGUL SYLLABLE HWAEP;Lo;0;L;;;;;N;;;;; +D68B;HANGUL SYLLABLE HWAEH;Lo;0;L;;;;;N;;;;; +D68C;HANGUL SYLLABLE HOE;Lo;0;L;;;;;N;;;;; +D68D;HANGUL SYLLABLE HOEG;Lo;0;L;;;;;N;;;;; +D68E;HANGUL SYLLABLE HOEGG;Lo;0;L;;;;;N;;;;; +D68F;HANGUL SYLLABLE HOEGS;Lo;0;L;;;;;N;;;;; +D690;HANGUL SYLLABLE HOEN;Lo;0;L;;;;;N;;;;; +D691;HANGUL SYLLABLE HOENI;Lo;0;L;;;;;N;;;;; +D692;HANGUL SYLLABLE HOENH;Lo;0;L;;;;;N;;;;; +D693;HANGUL SYLLABLE HOED;Lo;0;L;;;;;N;;;;; +D694;HANGUL SYLLABLE HOEL;Lo;0;L;;;;;N;;;;; +D695;HANGUL SYLLABLE HOELG;Lo;0;L;;;;;N;;;;; +D696;HANGUL SYLLABLE HOELM;Lo;0;L;;;;;N;;;;; +D697;HANGUL SYLLABLE HOELB;Lo;0;L;;;;;N;;;;; +D698;HANGUL SYLLABLE HOELS;Lo;0;L;;;;;N;;;;; +D699;HANGUL SYLLABLE HOELT;Lo;0;L;;;;;N;;;;; +D69A;HANGUL SYLLABLE HOELP;Lo;0;L;;;;;N;;;;; +D69B;HANGUL SYLLABLE HOELH;Lo;0;L;;;;;N;;;;; +D69C;HANGUL SYLLABLE HOEM;Lo;0;L;;;;;N;;;;; +D69D;HANGUL SYLLABLE HOEB;Lo;0;L;;;;;N;;;;; +D69E;HANGUL SYLLABLE HOEBS;Lo;0;L;;;;;N;;;;; +D69F;HANGUL SYLLABLE HOES;Lo;0;L;;;;;N;;;;; +D6A0;HANGUL SYLLABLE HOESS;Lo;0;L;;;;;N;;;;; +D6A1;HANGUL SYLLABLE HOENG;Lo;0;L;;;;;N;;;;; +D6A2;HANGUL SYLLABLE HOEJ;Lo;0;L;;;;;N;;;;; +D6A3;HANGUL SYLLABLE HOEC;Lo;0;L;;;;;N;;;;; +D6A4;HANGUL SYLLABLE HOEK;Lo;0;L;;;;;N;;;;; +D6A5;HANGUL SYLLABLE HOET;Lo;0;L;;;;;N;;;;; +D6A6;HANGUL SYLLABLE HOEP;Lo;0;L;;;;;N;;;;; +D6A7;HANGUL SYLLABLE HOEH;Lo;0;L;;;;;N;;;;; +D6A8;HANGUL SYLLABLE HYO;Lo;0;L;;;;;N;;;;; +D6A9;HANGUL SYLLABLE HYOG;Lo;0;L;;;;;N;;;;; +D6AA;HANGUL SYLLABLE HYOGG;Lo;0;L;;;;;N;;;;; +D6AB;HANGUL SYLLABLE HYOGS;Lo;0;L;;;;;N;;;;; +D6AC;HANGUL SYLLABLE HYON;Lo;0;L;;;;;N;;;;; +D6AD;HANGUL SYLLABLE HYONI;Lo;0;L;;;;;N;;;;; +D6AE;HANGUL SYLLABLE HYONH;Lo;0;L;;;;;N;;;;; +D6AF;HANGUL SYLLABLE HYOD;Lo;0;L;;;;;N;;;;; +D6B0;HANGUL SYLLABLE HYOL;Lo;0;L;;;;;N;;;;; +D6B1;HANGUL SYLLABLE HYOLG;Lo;0;L;;;;;N;;;;; +D6B2;HANGUL SYLLABLE HYOLM;Lo;0;L;;;;;N;;;;; +D6B3;HANGUL SYLLABLE HYOLB;Lo;0;L;;;;;N;;;;; +D6B4;HANGUL SYLLABLE HYOLS;Lo;0;L;;;;;N;;;;; +D6B5;HANGUL SYLLABLE HYOLT;Lo;0;L;;;;;N;;;;; +D6B6;HANGUL SYLLABLE HYOLP;Lo;0;L;;;;;N;;;;; +D6B7;HANGUL SYLLABLE HYOLH;Lo;0;L;;;;;N;;;;; +D6B8;HANGUL SYLLABLE HYOM;Lo;0;L;;;;;N;;;;; +D6B9;HANGUL SYLLABLE HYOB;Lo;0;L;;;;;N;;;;; +D6BA;HANGUL SYLLABLE HYOBS;Lo;0;L;;;;;N;;;;; +D6BB;HANGUL SYLLABLE HYOS;Lo;0;L;;;;;N;;;;; +D6BC;HANGUL SYLLABLE HYOSS;Lo;0;L;;;;;N;;;;; +D6BD;HANGUL SYLLABLE HYONG;Lo;0;L;;;;;N;;;;; +D6BE;HANGUL SYLLABLE HYOJ;Lo;0;L;;;;;N;;;;; +D6BF;HANGUL SYLLABLE HYOC;Lo;0;L;;;;;N;;;;; +D6C0;HANGUL SYLLABLE HYOK;Lo;0;L;;;;;N;;;;; +D6C1;HANGUL SYLLABLE HYOT;Lo;0;L;;;;;N;;;;; +D6C2;HANGUL SYLLABLE HYOP;Lo;0;L;;;;;N;;;;; +D6C3;HANGUL SYLLABLE HYOH;Lo;0;L;;;;;N;;;;; +D6C4;HANGUL SYLLABLE HU;Lo;0;L;;;;;N;;;;; +D6C5;HANGUL SYLLABLE HUG;Lo;0;L;;;;;N;;;;; +D6C6;HANGUL SYLLABLE HUGG;Lo;0;L;;;;;N;;;;; +D6C7;HANGUL SYLLABLE HUGS;Lo;0;L;;;;;N;;;;; +D6C8;HANGUL SYLLABLE HUN;Lo;0;L;;;;;N;;;;; +D6C9;HANGUL SYLLABLE HUNI;Lo;0;L;;;;;N;;;;; +D6CA;HANGUL SYLLABLE HUNH;Lo;0;L;;;;;N;;;;; +D6CB;HANGUL SYLLABLE HUD;Lo;0;L;;;;;N;;;;; +D6CC;HANGUL SYLLABLE HUL;Lo;0;L;;;;;N;;;;; +D6CD;HANGUL SYLLABLE HULG;Lo;0;L;;;;;N;;;;; +D6CE;HANGUL SYLLABLE HULM;Lo;0;L;;;;;N;;;;; +D6CF;HANGUL SYLLABLE HULB;Lo;0;L;;;;;N;;;;; +D6D0;HANGUL SYLLABLE HULS;Lo;0;L;;;;;N;;;;; +D6D1;HANGUL SYLLABLE HULT;Lo;0;L;;;;;N;;;;; +D6D2;HANGUL SYLLABLE HULP;Lo;0;L;;;;;N;;;;; +D6D3;HANGUL SYLLABLE HULH;Lo;0;L;;;;;N;;;;; +D6D4;HANGUL SYLLABLE HUM;Lo;0;L;;;;;N;;;;; +D6D5;HANGUL SYLLABLE HUB;Lo;0;L;;;;;N;;;;; +D6D6;HANGUL SYLLABLE HUBS;Lo;0;L;;;;;N;;;;; +D6D7;HANGUL SYLLABLE HUS;Lo;0;L;;;;;N;;;;; +D6D8;HANGUL SYLLABLE HUSS;Lo;0;L;;;;;N;;;;; +D6D9;HANGUL SYLLABLE HUNG;Lo;0;L;;;;;N;;;;; +D6DA;HANGUL SYLLABLE HUJ;Lo;0;L;;;;;N;;;;; +D6DB;HANGUL SYLLABLE HUC;Lo;0;L;;;;;N;;;;; +D6DC;HANGUL SYLLABLE HUK;Lo;0;L;;;;;N;;;;; +D6DD;HANGUL SYLLABLE HUT;Lo;0;L;;;;;N;;;;; +D6DE;HANGUL SYLLABLE HUP;Lo;0;L;;;;;N;;;;; +D6DF;HANGUL SYLLABLE HUH;Lo;0;L;;;;;N;;;;; +D6E0;HANGUL SYLLABLE HWEO;Lo;0;L;;;;;N;;;;; +D6E1;HANGUL SYLLABLE HWEOG;Lo;0;L;;;;;N;;;;; +D6E2;HANGUL SYLLABLE HWEOGG;Lo;0;L;;;;;N;;;;; +D6E3;HANGUL SYLLABLE HWEOGS;Lo;0;L;;;;;N;;;;; +D6E4;HANGUL SYLLABLE HWEON;Lo;0;L;;;;;N;;;;; +D6E5;HANGUL SYLLABLE HWEONI;Lo;0;L;;;;;N;;;;; +D6E6;HANGUL SYLLABLE HWEONH;Lo;0;L;;;;;N;;;;; +D6E7;HANGUL SYLLABLE HWEOD;Lo;0;L;;;;;N;;;;; +D6E8;HANGUL SYLLABLE HWEOL;Lo;0;L;;;;;N;;;;; +D6E9;HANGUL SYLLABLE HWEOLG;Lo;0;L;;;;;N;;;;; +D6EA;HANGUL SYLLABLE HWEOLM;Lo;0;L;;;;;N;;;;; +D6EB;HANGUL SYLLABLE HWEOLB;Lo;0;L;;;;;N;;;;; +D6EC;HANGUL SYLLABLE HWEOLS;Lo;0;L;;;;;N;;;;; +D6ED;HANGUL SYLLABLE HWEOLT;Lo;0;L;;;;;N;;;;; +D6EE;HANGUL SYLLABLE HWEOLP;Lo;0;L;;;;;N;;;;; +D6EF;HANGUL SYLLABLE HWEOLH;Lo;0;L;;;;;N;;;;; +D6F0;HANGUL SYLLABLE HWEOM;Lo;0;L;;;;;N;;;;; +D6F1;HANGUL SYLLABLE HWEOB;Lo;0;L;;;;;N;;;;; +D6F2;HANGUL SYLLABLE HWEOBS;Lo;0;L;;;;;N;;;;; +D6F3;HANGUL SYLLABLE HWEOS;Lo;0;L;;;;;N;;;;; +D6F4;HANGUL SYLLABLE HWEOSS;Lo;0;L;;;;;N;;;;; +D6F5;HANGUL SYLLABLE HWEONG;Lo;0;L;;;;;N;;;;; +D6F6;HANGUL SYLLABLE HWEOJ;Lo;0;L;;;;;N;;;;; +D6F7;HANGUL SYLLABLE HWEOC;Lo;0;L;;;;;N;;;;; +D6F8;HANGUL SYLLABLE HWEOK;Lo;0;L;;;;;N;;;;; +D6F9;HANGUL SYLLABLE HWEOT;Lo;0;L;;;;;N;;;;; +D6FA;HANGUL SYLLABLE HWEOP;Lo;0;L;;;;;N;;;;; +D6FB;HANGUL SYLLABLE HWEOH;Lo;0;L;;;;;N;;;;; +D6FC;HANGUL SYLLABLE HWE;Lo;0;L;;;;;N;;;;; +D6FD;HANGUL SYLLABLE HWEG;Lo;0;L;;;;;N;;;;; +D6FE;HANGUL SYLLABLE HWEGG;Lo;0;L;;;;;N;;;;; +D6FF;HANGUL SYLLABLE HWEGS;Lo;0;L;;;;;N;;;;; +D700;HANGUL SYLLABLE HWEN;Lo;0;L;;;;;N;;;;; +D701;HANGUL SYLLABLE HWENI;Lo;0;L;;;;;N;;;;; +D702;HANGUL SYLLABLE HWENH;Lo;0;L;;;;;N;;;;; +D703;HANGUL SYLLABLE HWED;Lo;0;L;;;;;N;;;;; +D704;HANGUL SYLLABLE HWEL;Lo;0;L;;;;;N;;;;; +D705;HANGUL SYLLABLE HWELG;Lo;0;L;;;;;N;;;;; +D706;HANGUL SYLLABLE HWELM;Lo;0;L;;;;;N;;;;; +D707;HANGUL SYLLABLE HWELB;Lo;0;L;;;;;N;;;;; +D708;HANGUL SYLLABLE HWELS;Lo;0;L;;;;;N;;;;; +D709;HANGUL SYLLABLE HWELT;Lo;0;L;;;;;N;;;;; +D70A;HANGUL SYLLABLE HWELP;Lo;0;L;;;;;N;;;;; +D70B;HANGUL SYLLABLE HWELH;Lo;0;L;;;;;N;;;;; +D70C;HANGUL SYLLABLE HWEM;Lo;0;L;;;;;N;;;;; +D70D;HANGUL SYLLABLE HWEB;Lo;0;L;;;;;N;;;;; +D70E;HANGUL SYLLABLE HWEBS;Lo;0;L;;;;;N;;;;; +D70F;HANGUL SYLLABLE HWES;Lo;0;L;;;;;N;;;;; +D710;HANGUL SYLLABLE HWESS;Lo;0;L;;;;;N;;;;; +D711;HANGUL SYLLABLE HWENG;Lo;0;L;;;;;N;;;;; +D712;HANGUL SYLLABLE HWEJ;Lo;0;L;;;;;N;;;;; +D713;HANGUL SYLLABLE HWEC;Lo;0;L;;;;;N;;;;; +D714;HANGUL SYLLABLE HWEK;Lo;0;L;;;;;N;;;;; +D715;HANGUL SYLLABLE HWET;Lo;0;L;;;;;N;;;;; +D716;HANGUL SYLLABLE HWEP;Lo;0;L;;;;;N;;;;; +D717;HANGUL SYLLABLE HWEH;Lo;0;L;;;;;N;;;;; +D718;HANGUL SYLLABLE HWI;Lo;0;L;;;;;N;;;;; +D719;HANGUL SYLLABLE HWIG;Lo;0;L;;;;;N;;;;; +D71A;HANGUL SYLLABLE HWIGG;Lo;0;L;;;;;N;;;;; +D71B;HANGUL SYLLABLE HWIGS;Lo;0;L;;;;;N;;;;; +D71C;HANGUL SYLLABLE HWIN;Lo;0;L;;;;;N;;;;; +D71D;HANGUL SYLLABLE HWINI;Lo;0;L;;;;;N;;;;; +D71E;HANGUL SYLLABLE HWINH;Lo;0;L;;;;;N;;;;; +D71F;HANGUL SYLLABLE HWID;Lo;0;L;;;;;N;;;;; +D720;HANGUL SYLLABLE HWIL;Lo;0;L;;;;;N;;;;; +D721;HANGUL SYLLABLE HWILG;Lo;0;L;;;;;N;;;;; +D722;HANGUL SYLLABLE HWILM;Lo;0;L;;;;;N;;;;; +D723;HANGUL SYLLABLE HWILB;Lo;0;L;;;;;N;;;;; +D724;HANGUL SYLLABLE HWILS;Lo;0;L;;;;;N;;;;; +D725;HANGUL SYLLABLE HWILT;Lo;0;L;;;;;N;;;;; +D726;HANGUL SYLLABLE HWILP;Lo;0;L;;;;;N;;;;; +D727;HANGUL SYLLABLE HWILH;Lo;0;L;;;;;N;;;;; +D728;HANGUL SYLLABLE HWIM;Lo;0;L;;;;;N;;;;; +D729;HANGUL SYLLABLE HWIB;Lo;0;L;;;;;N;;;;; +D72A;HANGUL SYLLABLE HWIBS;Lo;0;L;;;;;N;;;;; +D72B;HANGUL SYLLABLE HWIS;Lo;0;L;;;;;N;;;;; +D72C;HANGUL SYLLABLE HWISS;Lo;0;L;;;;;N;;;;; +D72D;HANGUL SYLLABLE HWING;Lo;0;L;;;;;N;;;;; +D72E;HANGUL SYLLABLE HWIJ;Lo;0;L;;;;;N;;;;; +D72F;HANGUL SYLLABLE HWIC;Lo;0;L;;;;;N;;;;; +D730;HANGUL SYLLABLE HWIK;Lo;0;L;;;;;N;;;;; +D731;HANGUL SYLLABLE HWIT;Lo;0;L;;;;;N;;;;; +D732;HANGUL SYLLABLE HWIP;Lo;0;L;;;;;N;;;;; +D733;HANGUL SYLLABLE HWIH;Lo;0;L;;;;;N;;;;; +D734;HANGUL SYLLABLE HYU;Lo;0;L;;;;;N;;;;; +D735;HANGUL SYLLABLE HYUG;Lo;0;L;;;;;N;;;;; +D736;HANGUL SYLLABLE HYUGG;Lo;0;L;;;;;N;;;;; +D737;HANGUL SYLLABLE HYUGS;Lo;0;L;;;;;N;;;;; +D738;HANGUL SYLLABLE HYUN;Lo;0;L;;;;;N;;;;; +D739;HANGUL SYLLABLE HYUNI;Lo;0;L;;;;;N;;;;; +D73A;HANGUL SYLLABLE HYUNH;Lo;0;L;;;;;N;;;;; +D73B;HANGUL SYLLABLE HYUD;Lo;0;L;;;;;N;;;;; +D73C;HANGUL SYLLABLE HYUL;Lo;0;L;;;;;N;;;;; +D73D;HANGUL SYLLABLE HYULG;Lo;0;L;;;;;N;;;;; +D73E;HANGUL SYLLABLE HYULM;Lo;0;L;;;;;N;;;;; +D73F;HANGUL SYLLABLE HYULB;Lo;0;L;;;;;N;;;;; +D740;HANGUL SYLLABLE HYULS;Lo;0;L;;;;;N;;;;; +D741;HANGUL SYLLABLE HYULT;Lo;0;L;;;;;N;;;;; +D742;HANGUL SYLLABLE HYULP;Lo;0;L;;;;;N;;;;; +D743;HANGUL SYLLABLE HYULH;Lo;0;L;;;;;N;;;;; +D744;HANGUL SYLLABLE HYUM;Lo;0;L;;;;;N;;;;; +D745;HANGUL SYLLABLE HYUB;Lo;0;L;;;;;N;;;;; +D746;HANGUL SYLLABLE HYUBS;Lo;0;L;;;;;N;;;;; +D747;HANGUL SYLLABLE HYUS;Lo;0;L;;;;;N;;;;; +D748;HANGUL SYLLABLE HYUSS;Lo;0;L;;;;;N;;;;; +D749;HANGUL SYLLABLE HYUNG;Lo;0;L;;;;;N;;;;; +D74A;HANGUL SYLLABLE HYUJ;Lo;0;L;;;;;N;;;;; +D74B;HANGUL SYLLABLE HYUC;Lo;0;L;;;;;N;;;;; +D74C;HANGUL SYLLABLE HYUK;Lo;0;L;;;;;N;;;;; +D74D;HANGUL SYLLABLE HYUT;Lo;0;L;;;;;N;;;;; +D74E;HANGUL SYLLABLE HYUP;Lo;0;L;;;;;N;;;;; +D74F;HANGUL SYLLABLE HYUH;Lo;0;L;;;;;N;;;;; +D750;HANGUL SYLLABLE HEU;Lo;0;L;;;;;N;;;;; +D751;HANGUL SYLLABLE HEUG;Lo;0;L;;;;;N;;;;; +D752;HANGUL SYLLABLE HEUGG;Lo;0;L;;;;;N;;;;; +D753;HANGUL SYLLABLE HEUGS;Lo;0;L;;;;;N;;;;; +D754;HANGUL SYLLABLE HEUN;Lo;0;L;;;;;N;;;;; +D755;HANGUL SYLLABLE HEUNI;Lo;0;L;;;;;N;;;;; +D756;HANGUL SYLLABLE HEUNH;Lo;0;L;;;;;N;;;;; +D757;HANGUL SYLLABLE HEUD;Lo;0;L;;;;;N;;;;; +D758;HANGUL SYLLABLE HEUL;Lo;0;L;;;;;N;;;;; +D759;HANGUL SYLLABLE HEULG;Lo;0;L;;;;;N;;;;; +D75A;HANGUL SYLLABLE HEULM;Lo;0;L;;;;;N;;;;; +D75B;HANGUL SYLLABLE HEULB;Lo;0;L;;;;;N;;;;; +D75C;HANGUL SYLLABLE HEULS;Lo;0;L;;;;;N;;;;; +D75D;HANGUL SYLLABLE HEULT;Lo;0;L;;;;;N;;;;; +D75E;HANGUL SYLLABLE HEULP;Lo;0;L;;;;;N;;;;; +D75F;HANGUL SYLLABLE HEULH;Lo;0;L;;;;;N;;;;; +D760;HANGUL SYLLABLE HEUM;Lo;0;L;;;;;N;;;;; +D761;HANGUL SYLLABLE HEUB;Lo;0;L;;;;;N;;;;; +D762;HANGUL SYLLABLE HEUBS;Lo;0;L;;;;;N;;;;; +D763;HANGUL SYLLABLE HEUS;Lo;0;L;;;;;N;;;;; +D764;HANGUL SYLLABLE HEUSS;Lo;0;L;;;;;N;;;;; +D765;HANGUL SYLLABLE HEUNG;Lo;0;L;;;;;N;;;;; +D766;HANGUL SYLLABLE HEUJ;Lo;0;L;;;;;N;;;;; +D767;HANGUL SYLLABLE HEUC;Lo;0;L;;;;;N;;;;; +D768;HANGUL SYLLABLE HEUK;Lo;0;L;;;;;N;;;;; +D769;HANGUL SYLLABLE HEUT;Lo;0;L;;;;;N;;;;; +D76A;HANGUL SYLLABLE HEUP;Lo;0;L;;;;;N;;;;; +D76B;HANGUL SYLLABLE HEUH;Lo;0;L;;;;;N;;;;; +D76C;HANGUL SYLLABLE HYI;Lo;0;L;;;;;N;;;;; +D76D;HANGUL SYLLABLE HYIG;Lo;0;L;;;;;N;;;;; +D76E;HANGUL SYLLABLE HYIGG;Lo;0;L;;;;;N;;;;; +D76F;HANGUL SYLLABLE HYIGS;Lo;0;L;;;;;N;;;;; +D770;HANGUL SYLLABLE HYIN;Lo;0;L;;;;;N;;;;; +D771;HANGUL SYLLABLE HYINI;Lo;0;L;;;;;N;;;;; +D772;HANGUL SYLLABLE HYINH;Lo;0;L;;;;;N;;;;; +D773;HANGUL SYLLABLE HYID;Lo;0;L;;;;;N;;;;; +D774;HANGUL SYLLABLE HYIL;Lo;0;L;;;;;N;;;;; +D775;HANGUL SYLLABLE HYILG;Lo;0;L;;;;;N;;;;; +D776;HANGUL SYLLABLE HYILM;Lo;0;L;;;;;N;;;;; +D777;HANGUL SYLLABLE HYILB;Lo;0;L;;;;;N;;;;; +D778;HANGUL SYLLABLE HYILS;Lo;0;L;;;;;N;;;;; +D779;HANGUL SYLLABLE HYILT;Lo;0;L;;;;;N;;;;; +D77A;HANGUL SYLLABLE HYILP;Lo;0;L;;;;;N;;;;; +D77B;HANGUL SYLLABLE HYILH;Lo;0;L;;;;;N;;;;; +D77C;HANGUL SYLLABLE HYIM;Lo;0;L;;;;;N;;;;; +D77D;HANGUL SYLLABLE HYIB;Lo;0;L;;;;;N;;;;; +D77E;HANGUL SYLLABLE HYIBS;Lo;0;L;;;;;N;;;;; +D77F;HANGUL SYLLABLE HYIS;Lo;0;L;;;;;N;;;;; +D780;HANGUL SYLLABLE HYISS;Lo;0;L;;;;;N;;;;; +D781;HANGUL SYLLABLE HYING;Lo;0;L;;;;;N;;;;; +D782;HANGUL SYLLABLE HYIJ;Lo;0;L;;;;;N;;;;; +D783;HANGUL SYLLABLE HYIC;Lo;0;L;;;;;N;;;;; +D784;HANGUL SYLLABLE HYIK;Lo;0;L;;;;;N;;;;; +D785;HANGUL SYLLABLE HYIT;Lo;0;L;;;;;N;;;;; +D786;HANGUL SYLLABLE HYIP;Lo;0;L;;;;;N;;;;; +D787;HANGUL SYLLABLE HYIH;Lo;0;L;;;;;N;;;;; +D788;HANGUL SYLLABLE HI;Lo;0;L;;;;;N;;;;; +D789;HANGUL SYLLABLE HIG;Lo;0;L;;;;;N;;;;; +D78A;HANGUL SYLLABLE HIGG;Lo;0;L;;;;;N;;;;; +D78B;HANGUL SYLLABLE HIGS;Lo;0;L;;;;;N;;;;; +D78C;HANGUL SYLLABLE HIN;Lo;0;L;;;;;N;;;;; +D78D;HANGUL SYLLABLE HINI;Lo;0;L;;;;;N;;;;; +D78E;HANGUL SYLLABLE HINH;Lo;0;L;;;;;N;;;;; +D78F;HANGUL SYLLABLE HID;Lo;0;L;;;;;N;;;;; +D790;HANGUL SYLLABLE HIL;Lo;0;L;;;;;N;;;;; +D791;HANGUL SYLLABLE HILG;Lo;0;L;;;;;N;;;;; +D792;HANGUL SYLLABLE HILM;Lo;0;L;;;;;N;;;;; +D793;HANGUL SYLLABLE HILB;Lo;0;L;;;;;N;;;;; +D794;HANGUL SYLLABLE HILS;Lo;0;L;;;;;N;;;;; +D795;HANGUL SYLLABLE HILT;Lo;0;L;;;;;N;;;;; +D796;HANGUL SYLLABLE HILP;Lo;0;L;;;;;N;;;;; +D797;HANGUL SYLLABLE HILH;Lo;0;L;;;;;N;;;;; +D798;HANGUL SYLLABLE HIM;Lo;0;L;;;;;N;;;;; +D799;HANGUL SYLLABLE HIB;Lo;0;L;;;;;N;;;;; +D79A;HANGUL SYLLABLE HIBS;Lo;0;L;;;;;N;;;;; +D79B;HANGUL SYLLABLE HIS;Lo;0;L;;;;;N;;;;; +D79C;HANGUL SYLLABLE HISS;Lo;0;L;;;;;N;;;;; +D79D;HANGUL SYLLABLE HING;Lo;0;L;;;;;N;;;;; +D79E;HANGUL SYLLABLE HIJ;Lo;0;L;;;;;N;;;;; +D79F;HANGUL SYLLABLE HIC;Lo;0;L;;;;;N;;;;; +D7A0;HANGUL SYLLABLE HIK;Lo;0;L;;;;;N;;;;; +D7A1;HANGUL SYLLABLE HIT;Lo;0;L;;;;;N;;;;; +D7A2;HANGUL SYLLABLE HIP;Lo;0;L;;;;;N;;;;; +D7A3;HANGUL SYLLABLE HIH;Lo;0;L;;;;;N;;;;; +F900;CJK COMPATIBILITY IDEOGRAPH-F900;Lo;0;L;8C48;;;;N;;;;; +F901;CJK COMPATIBILITY IDEOGRAPH-F901;Lo;0;L;66F4;;;;N;;;;; +F902;CJK COMPATIBILITY IDEOGRAPH-F902;Lo;0;L;8ECA;;;;N;;;;; +F903;CJK COMPATIBILITY IDEOGRAPH-F903;Lo;0;L;8CC8;;;;N;;;;; +F904;CJK COMPATIBILITY IDEOGRAPH-F904;Lo;0;L;6ED1;;;;N;;;;; +F905;CJK COMPATIBILITY IDEOGRAPH-F905;Lo;0;L;4E32;;;;N;;;;; +F906;CJK COMPATIBILITY IDEOGRAPH-F906;Lo;0;L;53E5;;;;N;;;;; +F907;CJK COMPATIBILITY IDEOGRAPH-F907;Lo;0;L;9F9C;;;;N;;;;; +F908;CJK COMPATIBILITY IDEOGRAPH-F908;Lo;0;L;9F9C;;;;N;;;;; +F909;CJK COMPATIBILITY IDEOGRAPH-F909;Lo;0;L;5951;;;;N;;;;; +F90A;CJK COMPATIBILITY IDEOGRAPH-F90A;Lo;0;L;91D1;;;;N;;;;; +F90B;CJK COMPATIBILITY IDEOGRAPH-F90B;Lo;0;L;5587;;;;N;;;;; +F90C;CJK COMPATIBILITY IDEOGRAPH-F90C;Lo;0;L;5948;;;;N;;;;; +F90D;CJK COMPATIBILITY IDEOGRAPH-F90D;Lo;0;L;61F6;;;;N;;;;; +F90E;CJK COMPATIBILITY IDEOGRAPH-F90E;Lo;0;L;7669;;;;N;;;;; +F90F;CJK COMPATIBILITY IDEOGRAPH-F90F;Lo;0;L;7F85;;;;N;;;;; +F910;CJK COMPATIBILITY IDEOGRAPH-F910;Lo;0;L;863F;;;;N;;;;; +F911;CJK COMPATIBILITY IDEOGRAPH-F911;Lo;0;L;87BA;;;;N;;;;; +F912;CJK COMPATIBILITY IDEOGRAPH-F912;Lo;0;L;88F8;;;;N;;;;; +F913;CJK COMPATIBILITY IDEOGRAPH-F913;Lo;0;L;908F;;;;N;;;;; +F914;CJK COMPATIBILITY IDEOGRAPH-F914;Lo;0;L;6A02;;;;N;;;;; +F915;CJK COMPATIBILITY IDEOGRAPH-F915;Lo;0;L;6D1B;;;;N;;;;; +F916;CJK COMPATIBILITY IDEOGRAPH-F916;Lo;0;L;70D9;;;;N;;;;; +F917;CJK COMPATIBILITY IDEOGRAPH-F917;Lo;0;L;73DE;;;;N;;;;; +F918;CJK COMPATIBILITY IDEOGRAPH-F918;Lo;0;L;843D;;;;N;;;;; +F919;CJK COMPATIBILITY IDEOGRAPH-F919;Lo;0;L;916A;;;;N;;;;; +F91A;CJK COMPATIBILITY IDEOGRAPH-F91A;Lo;0;L;99F1;;;;N;;;;; +F91B;CJK COMPATIBILITY IDEOGRAPH-F91B;Lo;0;L;4E82;;;;N;;;;; +F91C;CJK COMPATIBILITY IDEOGRAPH-F91C;Lo;0;L;5375;;;;N;;;;; +F91D;CJK COMPATIBILITY IDEOGRAPH-F91D;Lo;0;L;6B04;;;;N;;;;; +F91E;CJK COMPATIBILITY IDEOGRAPH-F91E;Lo;0;L;721B;;;;N;;;;; +F91F;CJK COMPATIBILITY IDEOGRAPH-F91F;Lo;0;L;862D;;;;N;;;;; +F920;CJK COMPATIBILITY IDEOGRAPH-F920;Lo;0;L;9E1E;;;;N;;;;; +F921;CJK COMPATIBILITY IDEOGRAPH-F921;Lo;0;L;5D50;;;;N;;;;; +F922;CJK COMPATIBILITY IDEOGRAPH-F922;Lo;0;L;6FEB;;;;N;;;;; +F923;CJK COMPATIBILITY IDEOGRAPH-F923;Lo;0;L;85CD;;;;N;;;;; +F924;CJK COMPATIBILITY IDEOGRAPH-F924;Lo;0;L;8964;;;;N;;;;; +F925;CJK COMPATIBILITY IDEOGRAPH-F925;Lo;0;L;62C9;;;;N;;;;; +F926;CJK COMPATIBILITY IDEOGRAPH-F926;Lo;0;L;81D8;;;;N;;;;; +F927;CJK COMPATIBILITY IDEOGRAPH-F927;Lo;0;L;881F;;;;N;;;;; +F928;CJK COMPATIBILITY IDEOGRAPH-F928;Lo;0;L;5ECA;;;;N;;;;; +F929;CJK COMPATIBILITY IDEOGRAPH-F929;Lo;0;L;6717;;;;N;;;;; +F92A;CJK COMPATIBILITY IDEOGRAPH-F92A;Lo;0;L;6D6A;;;;N;;;;; +F92B;CJK COMPATIBILITY IDEOGRAPH-F92B;Lo;0;L;72FC;;;;N;;;;; +F92C;CJK COMPATIBILITY IDEOGRAPH-F92C;Lo;0;L;90CE;;;;N;;;;; +F92D;CJK COMPATIBILITY IDEOGRAPH-F92D;Lo;0;L;4F86;;;;N;;;;; +F92E;CJK COMPATIBILITY IDEOGRAPH-F92E;Lo;0;L;51B7;;;;N;;;;; +F92F;CJK COMPATIBILITY IDEOGRAPH-F92F;Lo;0;L;52DE;;;;N;;;;; +F930;CJK COMPATIBILITY IDEOGRAPH-F930;Lo;0;L;64C4;;;;N;;;;; +F931;CJK COMPATIBILITY IDEOGRAPH-F931;Lo;0;L;6AD3;;;;N;;;;; +F932;CJK COMPATIBILITY IDEOGRAPH-F932;Lo;0;L;7210;;;;N;;;;; +F933;CJK COMPATIBILITY IDEOGRAPH-F933;Lo;0;L;76E7;;;;N;;;;; +F934;CJK COMPATIBILITY IDEOGRAPH-F934;Lo;0;L;8001;;;;N;;;;; +F935;CJK COMPATIBILITY IDEOGRAPH-F935;Lo;0;L;8606;;;;N;;;;; +F936;CJK COMPATIBILITY IDEOGRAPH-F936;Lo;0;L;865C;;;;N;;;;; +F937;CJK COMPATIBILITY IDEOGRAPH-F937;Lo;0;L;8DEF;;;;N;;;;; +F938;CJK COMPATIBILITY IDEOGRAPH-F938;Lo;0;L;9732;;;;N;;;;; +F939;CJK COMPATIBILITY IDEOGRAPH-F939;Lo;0;L;9B6F;;;;N;;;;; +F93A;CJK COMPATIBILITY IDEOGRAPH-F93A;Lo;0;L;9DFA;;;;N;;;;; +F93B;CJK COMPATIBILITY IDEOGRAPH-F93B;Lo;0;L;788C;;;;N;;;;; +F93C;CJK COMPATIBILITY IDEOGRAPH-F93C;Lo;0;L;797F;;;;N;;;;; +F93D;CJK COMPATIBILITY IDEOGRAPH-F93D;Lo;0;L;7DA0;;;;N;;;;; +F93E;CJK COMPATIBILITY IDEOGRAPH-F93E;Lo;0;L;83C9;;;;N;;;;; +F93F;CJK COMPATIBILITY IDEOGRAPH-F93F;Lo;0;L;9304;;;;N;;;;; +F940;CJK COMPATIBILITY IDEOGRAPH-F940;Lo;0;L;9E7F;;;;N;;;;; +F941;CJK COMPATIBILITY IDEOGRAPH-F941;Lo;0;L;8AD6;;;;N;;;;; +F942;CJK COMPATIBILITY IDEOGRAPH-F942;Lo;0;L;58DF;;;;N;;;;; +F943;CJK COMPATIBILITY IDEOGRAPH-F943;Lo;0;L;5F04;;;;N;;;;; +F944;CJK COMPATIBILITY IDEOGRAPH-F944;Lo;0;L;7C60;;;;N;;;;; +F945;CJK COMPATIBILITY IDEOGRAPH-F945;Lo;0;L;807E;;;;N;;;;; +F946;CJK COMPATIBILITY IDEOGRAPH-F946;Lo;0;L;7262;;;;N;;;;; +F947;CJK COMPATIBILITY IDEOGRAPH-F947;Lo;0;L;78CA;;;;N;;;;; +F948;CJK COMPATIBILITY IDEOGRAPH-F948;Lo;0;L;8CC2;;;;N;;;;; +F949;CJK COMPATIBILITY IDEOGRAPH-F949;Lo;0;L;96F7;;;;N;;;;; +F94A;CJK COMPATIBILITY IDEOGRAPH-F94A;Lo;0;L;58D8;;;;N;;;;; +F94B;CJK COMPATIBILITY IDEOGRAPH-F94B;Lo;0;L;5C62;;;;N;;;;; +F94C;CJK COMPATIBILITY IDEOGRAPH-F94C;Lo;0;L;6A13;;;;N;;;;; +F94D;CJK COMPATIBILITY IDEOGRAPH-F94D;Lo;0;L;6DDA;;;;N;;;;; +F94E;CJK COMPATIBILITY IDEOGRAPH-F94E;Lo;0;L;6F0F;;;;N;;;;; +F94F;CJK COMPATIBILITY IDEOGRAPH-F94F;Lo;0;L;7D2F;;;;N;;;;; +F950;CJK COMPATIBILITY IDEOGRAPH-F950;Lo;0;L;7E37;;;;N;;;;; +F951;CJK COMPATIBILITY IDEOGRAPH-F951;Lo;0;L;964B;;;;N;;;;; +F952;CJK COMPATIBILITY IDEOGRAPH-F952;Lo;0;L;52D2;;;;N;;;;; +F953;CJK COMPATIBILITY IDEOGRAPH-F953;Lo;0;L;808B;;;;N;;;;; +F954;CJK COMPATIBILITY IDEOGRAPH-F954;Lo;0;L;51DC;;;;N;;;;; +F955;CJK COMPATIBILITY IDEOGRAPH-F955;Lo;0;L;51CC;;;;N;;;;; +F956;CJK COMPATIBILITY IDEOGRAPH-F956;Lo;0;L;7A1C;;;;N;;;;; +F957;CJK COMPATIBILITY IDEOGRAPH-F957;Lo;0;L;7DBE;;;;N;;;;; +F958;CJK COMPATIBILITY IDEOGRAPH-F958;Lo;0;L;83F1;;;;N;;;;; +F959;CJK COMPATIBILITY IDEOGRAPH-F959;Lo;0;L;9675;;;;N;;;;; +F95A;CJK COMPATIBILITY IDEOGRAPH-F95A;Lo;0;L;8B80;;;;N;;;;; +F95B;CJK COMPATIBILITY IDEOGRAPH-F95B;Lo;0;L;62CF;;;;N;;;;; +F95C;CJK COMPATIBILITY IDEOGRAPH-F95C;Lo;0;L;6A02;;;;N;;;;; +F95D;CJK COMPATIBILITY IDEOGRAPH-F95D;Lo;0;L;8AFE;;;;N;;;;; +F95E;CJK COMPATIBILITY IDEOGRAPH-F95E;Lo;0;L;4E39;;;;N;;;;; +F95F;CJK COMPATIBILITY IDEOGRAPH-F95F;Lo;0;L;5BE7;;;;N;;;;; +F960;CJK COMPATIBILITY IDEOGRAPH-F960;Lo;0;L;6012;;;;N;;;;; +F961;CJK COMPATIBILITY IDEOGRAPH-F961;Lo;0;L;7387;;;;N;;;;; +F962;CJK COMPATIBILITY IDEOGRAPH-F962;Lo;0;L;7570;;;;N;;;;; +F963;CJK COMPATIBILITY IDEOGRAPH-F963;Lo;0;L;5317;;;;N;;;;; +F964;CJK COMPATIBILITY IDEOGRAPH-F964;Lo;0;L;78FB;;;;N;;;;; +F965;CJK COMPATIBILITY IDEOGRAPH-F965;Lo;0;L;4FBF;;;;N;;;;; +F966;CJK COMPATIBILITY IDEOGRAPH-F966;Lo;0;L;5FA9;;;;N;;;;; +F967;CJK COMPATIBILITY IDEOGRAPH-F967;Lo;0;L;4E0D;;;;N;;;;; +F968;CJK COMPATIBILITY IDEOGRAPH-F968;Lo;0;L;6CCC;;;;N;;;;; +F969;CJK COMPATIBILITY IDEOGRAPH-F969;Lo;0;L;6578;;;;N;;;;; +F96A;CJK COMPATIBILITY IDEOGRAPH-F96A;Lo;0;L;7D22;;;;N;;;;; +F96B;CJK COMPATIBILITY IDEOGRAPH-F96B;Lo;0;L;53C3;;;3;N;;;;; +F96C;CJK COMPATIBILITY IDEOGRAPH-F96C;Lo;0;L;585E;;;;N;;;;; +F96D;CJK COMPATIBILITY IDEOGRAPH-F96D;Lo;0;L;7701;;;;N;;;;; +F96E;CJK COMPATIBILITY IDEOGRAPH-F96E;Lo;0;L;8449;;;;N;;;;; +F96F;CJK COMPATIBILITY IDEOGRAPH-F96F;Lo;0;L;8AAA;;;;N;;;;; +F970;CJK COMPATIBILITY IDEOGRAPH-F970;Lo;0;L;6BBA;;;;N;;;;; +F971;CJK COMPATIBILITY IDEOGRAPH-F971;Lo;0;L;8FB0;;;;N;;;;; +F972;CJK COMPATIBILITY IDEOGRAPH-F972;Lo;0;L;6C88;;;;N;;;;; +F973;CJK COMPATIBILITY IDEOGRAPH-F973;Lo;0;L;62FE;;;10;N;;;;; +F974;CJK COMPATIBILITY IDEOGRAPH-F974;Lo;0;L;82E5;;;;N;;;;; +F975;CJK COMPATIBILITY IDEOGRAPH-F975;Lo;0;L;63A0;;;;N;;;;; +F976;CJK COMPATIBILITY IDEOGRAPH-F976;Lo;0;L;7565;;;;N;;;;; +F977;CJK COMPATIBILITY IDEOGRAPH-F977;Lo;0;L;4EAE;;;;N;;;;; +F978;CJK COMPATIBILITY IDEOGRAPH-F978;Lo;0;L;5169;;;2;N;;;;; +F979;CJK COMPATIBILITY IDEOGRAPH-F979;Lo;0;L;51C9;;;;N;;;;; +F97A;CJK COMPATIBILITY IDEOGRAPH-F97A;Lo;0;L;6881;;;;N;;;;; +F97B;CJK COMPATIBILITY IDEOGRAPH-F97B;Lo;0;L;7CE7;;;;N;;;;; +F97C;CJK COMPATIBILITY IDEOGRAPH-F97C;Lo;0;L;826F;;;;N;;;;; +F97D;CJK COMPATIBILITY IDEOGRAPH-F97D;Lo;0;L;8AD2;;;;N;;;;; +F97E;CJK COMPATIBILITY IDEOGRAPH-F97E;Lo;0;L;91CF;;;;N;;;;; +F97F;CJK COMPATIBILITY IDEOGRAPH-F97F;Lo;0;L;52F5;;;;N;;;;; +F980;CJK COMPATIBILITY IDEOGRAPH-F980;Lo;0;L;5442;;;;N;;;;; +F981;CJK COMPATIBILITY IDEOGRAPH-F981;Lo;0;L;5973;;;;N;;;;; +F982;CJK COMPATIBILITY IDEOGRAPH-F982;Lo;0;L;5EEC;;;;N;;;;; +F983;CJK COMPATIBILITY IDEOGRAPH-F983;Lo;0;L;65C5;;;;N;;;;; +F984;CJK COMPATIBILITY IDEOGRAPH-F984;Lo;0;L;6FFE;;;;N;;;;; +F985;CJK COMPATIBILITY IDEOGRAPH-F985;Lo;0;L;792A;;;;N;;;;; +F986;CJK COMPATIBILITY IDEOGRAPH-F986;Lo;0;L;95AD;;;;N;;;;; +F987;CJK COMPATIBILITY IDEOGRAPH-F987;Lo;0;L;9A6A;;;;N;;;;; +F988;CJK COMPATIBILITY IDEOGRAPH-F988;Lo;0;L;9E97;;;;N;;;;; +F989;CJK COMPATIBILITY IDEOGRAPH-F989;Lo;0;L;9ECE;;;;N;;;;; +F98A;CJK COMPATIBILITY IDEOGRAPH-F98A;Lo;0;L;529B;;;;N;;;;; +F98B;CJK COMPATIBILITY IDEOGRAPH-F98B;Lo;0;L;66C6;;;;N;;;;; +F98C;CJK COMPATIBILITY IDEOGRAPH-F98C;Lo;0;L;6B77;;;;N;;;;; +F98D;CJK COMPATIBILITY IDEOGRAPH-F98D;Lo;0;L;8F62;;;;N;;;;; +F98E;CJK COMPATIBILITY IDEOGRAPH-F98E;Lo;0;L;5E74;;;;N;;;;; +F98F;CJK COMPATIBILITY IDEOGRAPH-F98F;Lo;0;L;6190;;;;N;;;;; +F990;CJK COMPATIBILITY IDEOGRAPH-F990;Lo;0;L;6200;;;;N;;;;; +F991;CJK COMPATIBILITY IDEOGRAPH-F991;Lo;0;L;649A;;;;N;;;;; +F992;CJK COMPATIBILITY IDEOGRAPH-F992;Lo;0;L;6F23;;;;N;;;;; +F993;CJK COMPATIBILITY IDEOGRAPH-F993;Lo;0;L;7149;;;;N;;;;; +F994;CJK COMPATIBILITY IDEOGRAPH-F994;Lo;0;L;7489;;;;N;;;;; +F995;CJK COMPATIBILITY IDEOGRAPH-F995;Lo;0;L;79CA;;;;N;;;;; +F996;CJK COMPATIBILITY IDEOGRAPH-F996;Lo;0;L;7DF4;;;;N;;;;; +F997;CJK COMPATIBILITY IDEOGRAPH-F997;Lo;0;L;806F;;;;N;;;;; +F998;CJK COMPATIBILITY IDEOGRAPH-F998;Lo;0;L;8F26;;;;N;;;;; +F999;CJK COMPATIBILITY IDEOGRAPH-F999;Lo;0;L;84EE;;;;N;;;;; +F99A;CJK COMPATIBILITY IDEOGRAPH-F99A;Lo;0;L;9023;;;;N;;;;; +F99B;CJK COMPATIBILITY IDEOGRAPH-F99B;Lo;0;L;934A;;;;N;;;;; +F99C;CJK COMPATIBILITY IDEOGRAPH-F99C;Lo;0;L;5217;;;;N;;;;; +F99D;CJK COMPATIBILITY IDEOGRAPH-F99D;Lo;0;L;52A3;;;;N;;;;; +F99E;CJK COMPATIBILITY IDEOGRAPH-F99E;Lo;0;L;54BD;;;;N;;;;; +F99F;CJK COMPATIBILITY IDEOGRAPH-F99F;Lo;0;L;70C8;;;;N;;;;; +F9A0;CJK COMPATIBILITY IDEOGRAPH-F9A0;Lo;0;L;88C2;;;;N;;;;; +F9A1;CJK COMPATIBILITY IDEOGRAPH-F9A1;Lo;0;L;8AAA;;;;N;;;;; +F9A2;CJK COMPATIBILITY IDEOGRAPH-F9A2;Lo;0;L;5EC9;;;;N;;;;; +F9A3;CJK COMPATIBILITY IDEOGRAPH-F9A3;Lo;0;L;5FF5;;;;N;;;;; +F9A4;CJK COMPATIBILITY IDEOGRAPH-F9A4;Lo;0;L;637B;;;;N;;;;; +F9A5;CJK COMPATIBILITY IDEOGRAPH-F9A5;Lo;0;L;6BAE;;;;N;;;;; +F9A6;CJK COMPATIBILITY IDEOGRAPH-F9A6;Lo;0;L;7C3E;;;;N;;;;; +F9A7;CJK COMPATIBILITY IDEOGRAPH-F9A7;Lo;0;L;7375;;;;N;;;;; +F9A8;CJK COMPATIBILITY IDEOGRAPH-F9A8;Lo;0;L;4EE4;;;;N;;;;; +F9A9;CJK COMPATIBILITY IDEOGRAPH-F9A9;Lo;0;L;56F9;;;;N;;;;; +F9AA;CJK COMPATIBILITY IDEOGRAPH-F9AA;Lo;0;L;5BE7;;;;N;;;;; +F9AB;CJK COMPATIBILITY IDEOGRAPH-F9AB;Lo;0;L;5DBA;;;;N;;;;; +F9AC;CJK COMPATIBILITY IDEOGRAPH-F9AC;Lo;0;L;601C;;;;N;;;;; +F9AD;CJK COMPATIBILITY IDEOGRAPH-F9AD;Lo;0;L;73B2;;;;N;;;;; +F9AE;CJK COMPATIBILITY IDEOGRAPH-F9AE;Lo;0;L;7469;;;;N;;;;; +F9AF;CJK COMPATIBILITY IDEOGRAPH-F9AF;Lo;0;L;7F9A;;;;N;;;;; +F9B0;CJK COMPATIBILITY IDEOGRAPH-F9B0;Lo;0;L;8046;;;;N;;;;; +F9B1;CJK COMPATIBILITY IDEOGRAPH-F9B1;Lo;0;L;9234;;;;N;;;;; +F9B2;CJK COMPATIBILITY IDEOGRAPH-F9B2;Lo;0;L;96F6;;;0;N;;;;; +F9B3;CJK COMPATIBILITY IDEOGRAPH-F9B3;Lo;0;L;9748;;;;N;;;;; +F9B4;CJK COMPATIBILITY IDEOGRAPH-F9B4;Lo;0;L;9818;;;;N;;;;; +F9B5;CJK COMPATIBILITY IDEOGRAPH-F9B5;Lo;0;L;4F8B;;;;N;;;;; +F9B6;CJK COMPATIBILITY IDEOGRAPH-F9B6;Lo;0;L;79AE;;;;N;;;;; +F9B7;CJK COMPATIBILITY IDEOGRAPH-F9B7;Lo;0;L;91B4;;;;N;;;;; +F9B8;CJK COMPATIBILITY IDEOGRAPH-F9B8;Lo;0;L;96B8;;;;N;;;;; +F9B9;CJK COMPATIBILITY IDEOGRAPH-F9B9;Lo;0;L;60E1;;;;N;;;;; +F9BA;CJK COMPATIBILITY IDEOGRAPH-F9BA;Lo;0;L;4E86;;;;N;;;;; +F9BB;CJK COMPATIBILITY IDEOGRAPH-F9BB;Lo;0;L;50DA;;;;N;;;;; +F9BC;CJK COMPATIBILITY IDEOGRAPH-F9BC;Lo;0;L;5BEE;;;;N;;;;; +F9BD;CJK COMPATIBILITY IDEOGRAPH-F9BD;Lo;0;L;5C3F;;;;N;;;;; +F9BE;CJK COMPATIBILITY IDEOGRAPH-F9BE;Lo;0;L;6599;;;;N;;;;; +F9BF;CJK COMPATIBILITY IDEOGRAPH-F9BF;Lo;0;L;6A02;;;;N;;;;; +F9C0;CJK COMPATIBILITY IDEOGRAPH-F9C0;Lo;0;L;71CE;;;;N;;;;; +F9C1;CJK COMPATIBILITY IDEOGRAPH-F9C1;Lo;0;L;7642;;;;N;;;;; +F9C2;CJK COMPATIBILITY IDEOGRAPH-F9C2;Lo;0;L;84FC;;;;N;;;;; +F9C3;CJK COMPATIBILITY IDEOGRAPH-F9C3;Lo;0;L;907C;;;;N;;;;; +F9C4;CJK COMPATIBILITY IDEOGRAPH-F9C4;Lo;0;L;9F8D;;;;N;;;;; +F9C5;CJK COMPATIBILITY IDEOGRAPH-F9C5;Lo;0;L;6688;;;;N;;;;; +F9C6;CJK COMPATIBILITY IDEOGRAPH-F9C6;Lo;0;L;962E;;;;N;;;;; +F9C7;CJK COMPATIBILITY IDEOGRAPH-F9C7;Lo;0;L;5289;;;;N;;;;; +F9C8;CJK COMPATIBILITY IDEOGRAPH-F9C8;Lo;0;L;677B;;;;N;;;;; +F9C9;CJK COMPATIBILITY IDEOGRAPH-F9C9;Lo;0;L;67F3;;;;N;;;;; +F9CA;CJK COMPATIBILITY IDEOGRAPH-F9CA;Lo;0;L;6D41;;;;N;;;;; +F9CB;CJK COMPATIBILITY IDEOGRAPH-F9CB;Lo;0;L;6E9C;;;;N;;;;; +F9CC;CJK COMPATIBILITY IDEOGRAPH-F9CC;Lo;0;L;7409;;;;N;;;;; +F9CD;CJK COMPATIBILITY IDEOGRAPH-F9CD;Lo;0;L;7559;;;;N;;;;; +F9CE;CJK COMPATIBILITY IDEOGRAPH-F9CE;Lo;0;L;786B;;;;N;;;;; +F9CF;CJK COMPATIBILITY IDEOGRAPH-F9CF;Lo;0;L;7D10;;;;N;;;;; +F9D0;CJK COMPATIBILITY IDEOGRAPH-F9D0;Lo;0;L;985E;;;;N;;;;; +F9D1;CJK COMPATIBILITY IDEOGRAPH-F9D1;Lo;0;L;516D;;;6;N;;;;; +F9D2;CJK COMPATIBILITY IDEOGRAPH-F9D2;Lo;0;L;622E;;;;N;;;;; +F9D3;CJK COMPATIBILITY IDEOGRAPH-F9D3;Lo;0;L;9678;;;6;N;;;;; +F9D4;CJK COMPATIBILITY IDEOGRAPH-F9D4;Lo;0;L;502B;;;;N;;;;; +F9D5;CJK COMPATIBILITY IDEOGRAPH-F9D5;Lo;0;L;5D19;;;;N;;;;; +F9D6;CJK COMPATIBILITY IDEOGRAPH-F9D6;Lo;0;L;6DEA;;;;N;;;;; +F9D7;CJK COMPATIBILITY IDEOGRAPH-F9D7;Lo;0;L;8F2A;;;;N;;;;; +F9D8;CJK COMPATIBILITY IDEOGRAPH-F9D8;Lo;0;L;5F8B;;;;N;;;;; +F9D9;CJK COMPATIBILITY IDEOGRAPH-F9D9;Lo;0;L;6144;;;;N;;;;; +F9DA;CJK COMPATIBILITY IDEOGRAPH-F9DA;Lo;0;L;6817;;;;N;;;;; +F9DB;CJK COMPATIBILITY IDEOGRAPH-F9DB;Lo;0;L;7387;;;;N;;;;; +F9DC;CJK COMPATIBILITY IDEOGRAPH-F9DC;Lo;0;L;9686;;;;N;;;;; +F9DD;CJK COMPATIBILITY IDEOGRAPH-F9DD;Lo;0;L;5229;;;;N;;;;; +F9DE;CJK COMPATIBILITY IDEOGRAPH-F9DE;Lo;0;L;540F;;;;N;;;;; +F9DF;CJK COMPATIBILITY IDEOGRAPH-F9DF;Lo;0;L;5C65;;;;N;;;;; +F9E0;CJK COMPATIBILITY IDEOGRAPH-F9E0;Lo;0;L;6613;;;;N;;;;; +F9E1;CJK COMPATIBILITY IDEOGRAPH-F9E1;Lo;0;L;674E;;;;N;;;;; +F9E2;CJK COMPATIBILITY IDEOGRAPH-F9E2;Lo;0;L;68A8;;;;N;;;;; +F9E3;CJK COMPATIBILITY IDEOGRAPH-F9E3;Lo;0;L;6CE5;;;;N;;;;; +F9E4;CJK COMPATIBILITY IDEOGRAPH-F9E4;Lo;0;L;7406;;;;N;;;;; +F9E5;CJK COMPATIBILITY IDEOGRAPH-F9E5;Lo;0;L;75E2;;;;N;;;;; +F9E6;CJK COMPATIBILITY IDEOGRAPH-F9E6;Lo;0;L;7F79;;;;N;;;;; +F9E7;CJK COMPATIBILITY IDEOGRAPH-F9E7;Lo;0;L;88CF;;;;N;;;;; +F9E8;CJK COMPATIBILITY IDEOGRAPH-F9E8;Lo;0;L;88E1;;;;N;;;;; +F9E9;CJK COMPATIBILITY IDEOGRAPH-F9E9;Lo;0;L;91CC;;;;N;;;;; +F9EA;CJK COMPATIBILITY IDEOGRAPH-F9EA;Lo;0;L;96E2;;;;N;;;;; +F9EB;CJK COMPATIBILITY IDEOGRAPH-F9EB;Lo;0;L;533F;;;;N;;;;; +F9EC;CJK COMPATIBILITY IDEOGRAPH-F9EC;Lo;0;L;6EBA;;;;N;;;;; +F9ED;CJK COMPATIBILITY IDEOGRAPH-F9ED;Lo;0;L;541D;;;;N;;;;; +F9EE;CJK COMPATIBILITY IDEOGRAPH-F9EE;Lo;0;L;71D0;;;;N;;;;; +F9EF;CJK COMPATIBILITY IDEOGRAPH-F9EF;Lo;0;L;7498;;;;N;;;;; +F9F0;CJK COMPATIBILITY IDEOGRAPH-F9F0;Lo;0;L;85FA;;;;N;;;;; +F9F1;CJK COMPATIBILITY IDEOGRAPH-F9F1;Lo;0;L;96A3;;;;N;;;;; +F9F2;CJK COMPATIBILITY IDEOGRAPH-F9F2;Lo;0;L;9C57;;;;N;;;;; +F9F3;CJK COMPATIBILITY IDEOGRAPH-F9F3;Lo;0;L;9E9F;;;;N;;;;; +F9F4;CJK COMPATIBILITY IDEOGRAPH-F9F4;Lo;0;L;6797;;;;N;;;;; +F9F5;CJK COMPATIBILITY IDEOGRAPH-F9F5;Lo;0;L;6DCB;;;;N;;;;; +F9F6;CJK COMPATIBILITY IDEOGRAPH-F9F6;Lo;0;L;81E8;;;;N;;;;; +F9F7;CJK COMPATIBILITY IDEOGRAPH-F9F7;Lo;0;L;7ACB;;;;N;;;;; +F9F8;CJK COMPATIBILITY IDEOGRAPH-F9F8;Lo;0;L;7B20;;;;N;;;;; +F9F9;CJK COMPATIBILITY IDEOGRAPH-F9F9;Lo;0;L;7C92;;;;N;;;;; +F9FA;CJK COMPATIBILITY IDEOGRAPH-F9FA;Lo;0;L;72C0;;;;N;;;;; +F9FB;CJK COMPATIBILITY IDEOGRAPH-F9FB;Lo;0;L;7099;;;;N;;;;; +F9FC;CJK COMPATIBILITY IDEOGRAPH-F9FC;Lo;0;L;8B58;;;;N;;;;; +F9FD;CJK COMPATIBILITY IDEOGRAPH-F9FD;Lo;0;L;4EC0;;;10;N;;;;; +F9FE;CJK COMPATIBILITY IDEOGRAPH-F9FE;Lo;0;L;8336;;;;N;;;;; +F9FF;CJK COMPATIBILITY IDEOGRAPH-F9FF;Lo;0;L;523A;;;;N;;;;; +FA00;CJK COMPATIBILITY IDEOGRAPH-FA00;Lo;0;L;5207;;;;N;;;;; +FA01;CJK COMPATIBILITY IDEOGRAPH-FA01;Lo;0;L;5EA6;;;;N;;;;; +FA02;CJK COMPATIBILITY IDEOGRAPH-FA02;Lo;0;L;62D3;;;;N;;;;; +FA03;CJK COMPATIBILITY IDEOGRAPH-FA03;Lo;0;L;7CD6;;;;N;;;;; +FA04;CJK COMPATIBILITY IDEOGRAPH-FA04;Lo;0;L;5B85;;;;N;;;;; +FA05;CJK COMPATIBILITY IDEOGRAPH-FA05;Lo;0;L;6D1E;;;;N;;;;; +FA06;CJK COMPATIBILITY IDEOGRAPH-FA06;Lo;0;L;66B4;;;;N;;;;; +FA07;CJK COMPATIBILITY IDEOGRAPH-FA07;Lo;0;L;8F3B;;;;N;;;;; +FA08;CJK COMPATIBILITY IDEOGRAPH-FA08;Lo;0;L;884C;;;;N;;;;; +FA09;CJK COMPATIBILITY IDEOGRAPH-FA09;Lo;0;L;964D;;;;N;;;;; +FA0A;CJK COMPATIBILITY IDEOGRAPH-FA0A;Lo;0;L;898B;;;;N;;;;; +FA0B;CJK COMPATIBILITY IDEOGRAPH-FA0B;Lo;0;L;5ED3;;;;N;;;;; +FA0C;CJK COMPATIBILITY IDEOGRAPH-FA0C;Lo;0;L;5140;;;;N;;;;; +FA0D;CJK COMPATIBILITY IDEOGRAPH-FA0D;Lo;0;L;55C0;;;;N;;;;; +FA0E;CJK COMPATIBILITY IDEOGRAPH-FA0E;Lo;0;L;;;;;N;;;;; +FA0F;CJK COMPATIBILITY IDEOGRAPH-FA0F;Lo;0;L;;;;;N;;;;; +FA10;CJK COMPATIBILITY IDEOGRAPH-FA10;Lo;0;L;585A;;;;N;;;;; +FA11;CJK COMPATIBILITY IDEOGRAPH-FA11;Lo;0;L;;;;;N;;;;; +FA12;CJK COMPATIBILITY IDEOGRAPH-FA12;Lo;0;L;6674;;;;N;;;;; +FA13;CJK COMPATIBILITY IDEOGRAPH-FA13;Lo;0;L;;;;;N;;;;; +FA14;CJK COMPATIBILITY IDEOGRAPH-FA14;Lo;0;L;;;;;N;;;;; +FA15;CJK COMPATIBILITY IDEOGRAPH-FA15;Lo;0;L;51DE;;;;N;;;;; +FA16;CJK COMPATIBILITY IDEOGRAPH-FA16;Lo;0;L;732A;;;;N;;;;; +FA17;CJK COMPATIBILITY IDEOGRAPH-FA17;Lo;0;L;76CA;;;;N;;;;; +FA18;CJK COMPATIBILITY IDEOGRAPH-FA18;Lo;0;L;793C;;;;N;;;;; +FA19;CJK COMPATIBILITY IDEOGRAPH-FA19;Lo;0;L;795E;;;;N;;;;; +FA1A;CJK COMPATIBILITY IDEOGRAPH-FA1A;Lo;0;L;7965;;;;N;;;;; +FA1B;CJK COMPATIBILITY IDEOGRAPH-FA1B;Lo;0;L;798F;;;;N;;;;; +FA1C;CJK COMPATIBILITY IDEOGRAPH-FA1C;Lo;0;L;9756;;;;N;;;;; +FA1D;CJK COMPATIBILITY IDEOGRAPH-FA1D;Lo;0;L;7CBE;;;;N;;;;; +FA1E;CJK COMPATIBILITY IDEOGRAPH-FA1E;Lo;0;L;7FBD;;;;N;;;;; +FA1F;CJK COMPATIBILITY IDEOGRAPH-FA1F;Lo;0;L;;;;;N;;*;;; +FA20;CJK COMPATIBILITY IDEOGRAPH-FA20;Lo;0;L;8612;;;;N;;;;; +FA21;CJK COMPATIBILITY IDEOGRAPH-FA21;Lo;0;L;;;;;N;;;;; +FA22;CJK COMPATIBILITY IDEOGRAPH-FA22;Lo;0;L;8AF8;;;;N;;;;; +FA23;CJK COMPATIBILITY IDEOGRAPH-FA23;Lo;0;L;;;;;N;;*;;; +FA24;CJK COMPATIBILITY IDEOGRAPH-FA24;Lo;0;L;;;;;N;;;;; +FA25;CJK COMPATIBILITY IDEOGRAPH-FA25;Lo;0;L;9038;;;;N;;;;; +FA26;CJK COMPATIBILITY IDEOGRAPH-FA26;Lo;0;L;90FD;;;;N;;;;; +FA27;CJK COMPATIBILITY IDEOGRAPH-FA27;Lo;0;L;;;;;N;;;;; +FA28;CJK COMPATIBILITY IDEOGRAPH-FA28;Lo;0;L;;;;;N;;;;; +FA29;CJK COMPATIBILITY IDEOGRAPH-FA29;Lo;0;L;;;;;N;;;;; +FA2A;CJK COMPATIBILITY IDEOGRAPH-FA2A;Lo;0;L;98EF;;;;N;;;;; +FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;; +FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;; +FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;N;;;;; +FA30;CJK COMPATIBILITY IDEOGRAPH-FA30;Lo;0;L;4FAE;;;;N;;;;; +FA31;CJK COMPATIBILITY IDEOGRAPH-FA31;Lo;0;L;50E7;;;;N;;;;; +FA32;CJK COMPATIBILITY IDEOGRAPH-FA32;Lo;0;L;514D;;;;N;;;;; +FA33;CJK COMPATIBILITY IDEOGRAPH-FA33;Lo;0;L;52C9;;;;N;;;;; +FA34;CJK COMPATIBILITY IDEOGRAPH-FA34;Lo;0;L;52E4;;;;N;;;;; +FA35;CJK COMPATIBILITY IDEOGRAPH-FA35;Lo;0;L;5351;;;;N;;;;; +FA36;CJK COMPATIBILITY IDEOGRAPH-FA36;Lo;0;L;559D;;;;N;;;;; +FA37;CJK COMPATIBILITY IDEOGRAPH-FA37;Lo;0;L;5606;;;;N;;;;; +FA38;CJK COMPATIBILITY IDEOGRAPH-FA38;Lo;0;L;5668;;;;N;;;;; +FA39;CJK COMPATIBILITY IDEOGRAPH-FA39;Lo;0;L;5840;;;;N;;;;; +FA3A;CJK COMPATIBILITY IDEOGRAPH-FA3A;Lo;0;L;58A8;;;;N;;;;; +FA3B;CJK COMPATIBILITY IDEOGRAPH-FA3B;Lo;0;L;5C64;;;;N;;;;; +FA3C;CJK COMPATIBILITY IDEOGRAPH-FA3C;Lo;0;L;5C6E;;;;N;;;;; +FA3D;CJK COMPATIBILITY IDEOGRAPH-FA3D;Lo;0;L;6094;;;;N;;;;; +FA3E;CJK COMPATIBILITY IDEOGRAPH-FA3E;Lo;0;L;6168;;;;N;;;;; +FA3F;CJK COMPATIBILITY IDEOGRAPH-FA3F;Lo;0;L;618E;;;;N;;;;; +FA40;CJK COMPATIBILITY IDEOGRAPH-FA40;Lo;0;L;61F2;;;;N;;;;; +FA41;CJK COMPATIBILITY IDEOGRAPH-FA41;Lo;0;L;654F;;;;N;;;;; +FA42;CJK COMPATIBILITY IDEOGRAPH-FA42;Lo;0;L;65E2;;;;N;;;;; +FA43;CJK COMPATIBILITY IDEOGRAPH-FA43;Lo;0;L;6691;;;;N;;;;; +FA44;CJK COMPATIBILITY IDEOGRAPH-FA44;Lo;0;L;6885;;;;N;;;;; +FA45;CJK COMPATIBILITY IDEOGRAPH-FA45;Lo;0;L;6D77;;;;N;;;;; +FA46;CJK COMPATIBILITY IDEOGRAPH-FA46;Lo;0;L;6E1A;;;;N;;;;; +FA47;CJK COMPATIBILITY IDEOGRAPH-FA47;Lo;0;L;6F22;;;;N;;;;; +FA48;CJK COMPATIBILITY IDEOGRAPH-FA48;Lo;0;L;716E;;;;N;;;;; +FA49;CJK COMPATIBILITY IDEOGRAPH-FA49;Lo;0;L;722B;;;;N;;;;; +FA4A;CJK COMPATIBILITY IDEOGRAPH-FA4A;Lo;0;L;7422;;;;N;;;;; +FA4B;CJK COMPATIBILITY IDEOGRAPH-FA4B;Lo;0;L;7891;;;;N;;;;; +FA4C;CJK COMPATIBILITY IDEOGRAPH-FA4C;Lo;0;L;793E;;;;N;;;;; +FA4D;CJK COMPATIBILITY IDEOGRAPH-FA4D;Lo;0;L;7949;;;;N;;;;; +FA4E;CJK COMPATIBILITY IDEOGRAPH-FA4E;Lo;0;L;7948;;;;N;;;;; +FA4F;CJK COMPATIBILITY IDEOGRAPH-FA4F;Lo;0;L;7950;;;;N;;;;; +FA50;CJK COMPATIBILITY IDEOGRAPH-FA50;Lo;0;L;7956;;;;N;;;;; +FA51;CJK COMPATIBILITY IDEOGRAPH-FA51;Lo;0;L;795D;;;;N;;;;; +FA52;CJK COMPATIBILITY IDEOGRAPH-FA52;Lo;0;L;798D;;;;N;;;;; +FA53;CJK COMPATIBILITY IDEOGRAPH-FA53;Lo;0;L;798E;;;;N;;;;; +FA54;CJK COMPATIBILITY IDEOGRAPH-FA54;Lo;0;L;7A40;;;;N;;;;; +FA55;CJK COMPATIBILITY IDEOGRAPH-FA55;Lo;0;L;7A81;;;;N;;;;; +FA56;CJK COMPATIBILITY IDEOGRAPH-FA56;Lo;0;L;7BC0;;;;N;;;;; +FA57;CJK COMPATIBILITY IDEOGRAPH-FA57;Lo;0;L;7DF4;;;;N;;;;; +FA58;CJK COMPATIBILITY IDEOGRAPH-FA58;Lo;0;L;7E09;;;;N;;;;; +FA59;CJK COMPATIBILITY IDEOGRAPH-FA59;Lo;0;L;7E41;;;;N;;;;; +FA5A;CJK COMPATIBILITY IDEOGRAPH-FA5A;Lo;0;L;7F72;;;;N;;;;; +FA5B;CJK COMPATIBILITY IDEOGRAPH-FA5B;Lo;0;L;8005;;;;N;;;;; +FA5C;CJK COMPATIBILITY IDEOGRAPH-FA5C;Lo;0;L;81ED;;;;N;;;;; +FA5D;CJK COMPATIBILITY IDEOGRAPH-FA5D;Lo;0;L;8279;;;;N;;;;; +FA5E;CJK COMPATIBILITY IDEOGRAPH-FA5E;Lo;0;L;8279;;;;N;;;;; +FA5F;CJK COMPATIBILITY IDEOGRAPH-FA5F;Lo;0;L;8457;;;;N;;;;; +FA60;CJK COMPATIBILITY IDEOGRAPH-FA60;Lo;0;L;8910;;;;N;;;;; +FA61;CJK COMPATIBILITY IDEOGRAPH-FA61;Lo;0;L;8996;;;;N;;;;; +FA62;CJK COMPATIBILITY IDEOGRAPH-FA62;Lo;0;L;8B01;;;;N;;;;; +FA63;CJK COMPATIBILITY IDEOGRAPH-FA63;Lo;0;L;8B39;;;;N;;;;; +FA64;CJK COMPATIBILITY IDEOGRAPH-FA64;Lo;0;L;8CD3;;;;N;;;;; +FA65;CJK COMPATIBILITY IDEOGRAPH-FA65;Lo;0;L;8D08;;;;N;;;;; +FA66;CJK COMPATIBILITY IDEOGRAPH-FA66;Lo;0;L;8FB6;;;;N;;;;; +FA67;CJK COMPATIBILITY IDEOGRAPH-FA67;Lo;0;L;9038;;;;N;;;;; +FA68;CJK COMPATIBILITY IDEOGRAPH-FA68;Lo;0;L;96E3;;;;N;;;;; +FA69;CJK COMPATIBILITY IDEOGRAPH-FA69;Lo;0;L;97FF;;;;N;;;;; +FA6A;CJK COMPATIBILITY IDEOGRAPH-FA6A;Lo;0;L;983B;;;;N;;;;; +FA70;CJK COMPATIBILITY IDEOGRAPH-FA70;Lo;0;L;4E26;;;;N;;;;; +FA71;CJK COMPATIBILITY IDEOGRAPH-FA71;Lo;0;L;51B5;;;;N;;;;; +FA72;CJK COMPATIBILITY IDEOGRAPH-FA72;Lo;0;L;5168;;;;N;;;;; +FA73;CJK COMPATIBILITY IDEOGRAPH-FA73;Lo;0;L;4F80;;;;N;;;;; +FA74;CJK COMPATIBILITY IDEOGRAPH-FA74;Lo;0;L;5145;;;;N;;;;; +FA75;CJK COMPATIBILITY IDEOGRAPH-FA75;Lo;0;L;5180;;;;N;;;;; +FA76;CJK COMPATIBILITY IDEOGRAPH-FA76;Lo;0;L;52C7;;;;N;;;;; +FA77;CJK COMPATIBILITY IDEOGRAPH-FA77;Lo;0;L;52FA;;;;N;;;;; +FA78;CJK COMPATIBILITY IDEOGRAPH-FA78;Lo;0;L;559D;;;;N;;;;; +FA79;CJK COMPATIBILITY IDEOGRAPH-FA79;Lo;0;L;5555;;;;N;;;;; +FA7A;CJK COMPATIBILITY IDEOGRAPH-FA7A;Lo;0;L;5599;;;;N;;;;; +FA7B;CJK COMPATIBILITY IDEOGRAPH-FA7B;Lo;0;L;55E2;;;;N;;;;; +FA7C;CJK COMPATIBILITY IDEOGRAPH-FA7C;Lo;0;L;585A;;;;N;;;;; +FA7D;CJK COMPATIBILITY IDEOGRAPH-FA7D;Lo;0;L;58B3;;;;N;;;;; +FA7E;CJK COMPATIBILITY IDEOGRAPH-FA7E;Lo;0;L;5944;;;;N;;;;; +FA7F;CJK COMPATIBILITY IDEOGRAPH-FA7F;Lo;0;L;5954;;;;N;;;;; +FA80;CJK COMPATIBILITY IDEOGRAPH-FA80;Lo;0;L;5A62;;;;N;;;;; +FA81;CJK COMPATIBILITY IDEOGRAPH-FA81;Lo;0;L;5B28;;;;N;;;;; +FA82;CJK COMPATIBILITY IDEOGRAPH-FA82;Lo;0;L;5ED2;;;;N;;;;; +FA83;CJK COMPATIBILITY IDEOGRAPH-FA83;Lo;0;L;5ED9;;;;N;;;;; +FA84;CJK COMPATIBILITY IDEOGRAPH-FA84;Lo;0;L;5F69;;;;N;;;;; +FA85;CJK COMPATIBILITY IDEOGRAPH-FA85;Lo;0;L;5FAD;;;;N;;;;; +FA86;CJK COMPATIBILITY IDEOGRAPH-FA86;Lo;0;L;60D8;;;;N;;;;; +FA87;CJK COMPATIBILITY IDEOGRAPH-FA87;Lo;0;L;614E;;;;N;;;;; +FA88;CJK COMPATIBILITY IDEOGRAPH-FA88;Lo;0;L;6108;;;;N;;;;; +FA89;CJK COMPATIBILITY IDEOGRAPH-FA89;Lo;0;L;618E;;;;N;;;;; +FA8A;CJK COMPATIBILITY IDEOGRAPH-FA8A;Lo;0;L;6160;;;;N;;;;; +FA8B;CJK COMPATIBILITY IDEOGRAPH-FA8B;Lo;0;L;61F2;;;;N;;;;; +FA8C;CJK COMPATIBILITY IDEOGRAPH-FA8C;Lo;0;L;6234;;;;N;;;;; +FA8D;CJK COMPATIBILITY IDEOGRAPH-FA8D;Lo;0;L;63C4;;;;N;;;;; +FA8E;CJK COMPATIBILITY IDEOGRAPH-FA8E;Lo;0;L;641C;;;;N;;;;; +FA8F;CJK COMPATIBILITY IDEOGRAPH-FA8F;Lo;0;L;6452;;;;N;;;;; +FA90;CJK COMPATIBILITY IDEOGRAPH-FA90;Lo;0;L;6556;;;;N;;;;; +FA91;CJK COMPATIBILITY IDEOGRAPH-FA91;Lo;0;L;6674;;;;N;;;;; +FA92;CJK COMPATIBILITY IDEOGRAPH-FA92;Lo;0;L;6717;;;;N;;;;; +FA93;CJK COMPATIBILITY IDEOGRAPH-FA93;Lo;0;L;671B;;;;N;;;;; +FA94;CJK COMPATIBILITY IDEOGRAPH-FA94;Lo;0;L;6756;;;;N;;;;; +FA95;CJK COMPATIBILITY IDEOGRAPH-FA95;Lo;0;L;6B79;;;;N;;;;; +FA96;CJK COMPATIBILITY IDEOGRAPH-FA96;Lo;0;L;6BBA;;;;N;;;;; +FA97;CJK COMPATIBILITY IDEOGRAPH-FA97;Lo;0;L;6D41;;;;N;;;;; +FA98;CJK COMPATIBILITY IDEOGRAPH-FA98;Lo;0;L;6EDB;;;;N;;;;; +FA99;CJK COMPATIBILITY IDEOGRAPH-FA99;Lo;0;L;6ECB;;;;N;;;;; +FA9A;CJK COMPATIBILITY IDEOGRAPH-FA9A;Lo;0;L;6F22;;;;N;;;;; +FA9B;CJK COMPATIBILITY IDEOGRAPH-FA9B;Lo;0;L;701E;;;;N;;;;; +FA9C;CJK COMPATIBILITY IDEOGRAPH-FA9C;Lo;0;L;716E;;;;N;;;;; +FA9D;CJK COMPATIBILITY IDEOGRAPH-FA9D;Lo;0;L;77A7;;;;N;;;;; +FA9E;CJK COMPATIBILITY IDEOGRAPH-FA9E;Lo;0;L;7235;;;;N;;;;; +FA9F;CJK COMPATIBILITY IDEOGRAPH-FA9F;Lo;0;L;72AF;;;;N;;;;; +FAA0;CJK COMPATIBILITY IDEOGRAPH-FAA0;Lo;0;L;732A;;;;N;;;;; +FAA1;CJK COMPATIBILITY IDEOGRAPH-FAA1;Lo;0;L;7471;;;;N;;;;; +FAA2;CJK COMPATIBILITY IDEOGRAPH-FAA2;Lo;0;L;7506;;;;N;;;;; +FAA3;CJK COMPATIBILITY IDEOGRAPH-FAA3;Lo;0;L;753B;;;;N;;;;; +FAA4;CJK COMPATIBILITY IDEOGRAPH-FAA4;Lo;0;L;761D;;;;N;;;;; +FAA5;CJK COMPATIBILITY IDEOGRAPH-FAA5;Lo;0;L;761F;;;;N;;;;; +FAA6;CJK COMPATIBILITY IDEOGRAPH-FAA6;Lo;0;L;76CA;;;;N;;;;; +FAA7;CJK COMPATIBILITY IDEOGRAPH-FAA7;Lo;0;L;76DB;;;;N;;;;; +FAA8;CJK COMPATIBILITY IDEOGRAPH-FAA8;Lo;0;L;76F4;;;;N;;;;; +FAA9;CJK COMPATIBILITY IDEOGRAPH-FAA9;Lo;0;L;774A;;;;N;;;;; +FAAA;CJK COMPATIBILITY IDEOGRAPH-FAAA;Lo;0;L;7740;;;;N;;;;; +FAAB;CJK COMPATIBILITY IDEOGRAPH-FAAB;Lo;0;L;78CC;;;;N;;;;; +FAAC;CJK COMPATIBILITY IDEOGRAPH-FAAC;Lo;0;L;7AB1;;;;N;;;;; +FAAD;CJK COMPATIBILITY IDEOGRAPH-FAAD;Lo;0;L;7BC0;;;;N;;;;; +FAAE;CJK COMPATIBILITY IDEOGRAPH-FAAE;Lo;0;L;7C7B;;;;N;;;;; +FAAF;CJK COMPATIBILITY IDEOGRAPH-FAAF;Lo;0;L;7D5B;;;;N;;;;; +FAB0;CJK COMPATIBILITY IDEOGRAPH-FAB0;Lo;0;L;7DF4;;;;N;;;;; +FAB1;CJK COMPATIBILITY IDEOGRAPH-FAB1;Lo;0;L;7F3E;;;;N;;;;; +FAB2;CJK COMPATIBILITY IDEOGRAPH-FAB2;Lo;0;L;8005;;;;N;;;;; +FAB3;CJK COMPATIBILITY IDEOGRAPH-FAB3;Lo;0;L;8352;;;;N;;;;; +FAB4;CJK COMPATIBILITY IDEOGRAPH-FAB4;Lo;0;L;83EF;;;;N;;;;; +FAB5;CJK COMPATIBILITY IDEOGRAPH-FAB5;Lo;0;L;8779;;;;N;;;;; +FAB6;CJK COMPATIBILITY IDEOGRAPH-FAB6;Lo;0;L;8941;;;;N;;;;; +FAB7;CJK COMPATIBILITY IDEOGRAPH-FAB7;Lo;0;L;8986;;;;N;;;;; +FAB8;CJK COMPATIBILITY IDEOGRAPH-FAB8;Lo;0;L;8996;;;;N;;;;; +FAB9;CJK COMPATIBILITY IDEOGRAPH-FAB9;Lo;0;L;8ABF;;;;N;;;;; +FABA;CJK COMPATIBILITY IDEOGRAPH-FABA;Lo;0;L;8AF8;;;;N;;;;; +FABB;CJK COMPATIBILITY IDEOGRAPH-FABB;Lo;0;L;8ACB;;;;N;;;;; +FABC;CJK COMPATIBILITY IDEOGRAPH-FABC;Lo;0;L;8B01;;;;N;;;;; +FABD;CJK COMPATIBILITY IDEOGRAPH-FABD;Lo;0;L;8AFE;;;;N;;;;; +FABE;CJK COMPATIBILITY IDEOGRAPH-FABE;Lo;0;L;8AED;;;;N;;;;; +FABF;CJK COMPATIBILITY IDEOGRAPH-FABF;Lo;0;L;8B39;;;;N;;;;; +FAC0;CJK COMPATIBILITY IDEOGRAPH-FAC0;Lo;0;L;8B8A;;;;N;;;;; +FAC1;CJK COMPATIBILITY IDEOGRAPH-FAC1;Lo;0;L;8D08;;;;N;;;;; +FAC2;CJK COMPATIBILITY IDEOGRAPH-FAC2;Lo;0;L;8F38;;;;N;;;;; +FAC3;CJK COMPATIBILITY IDEOGRAPH-FAC3;Lo;0;L;9072;;;;N;;;;; +FAC4;CJK COMPATIBILITY IDEOGRAPH-FAC4;Lo;0;L;9199;;;;N;;;;; +FAC5;CJK COMPATIBILITY IDEOGRAPH-FAC5;Lo;0;L;9276;;;;N;;;;; +FAC6;CJK COMPATIBILITY IDEOGRAPH-FAC6;Lo;0;L;967C;;;;N;;;;; +FAC7;CJK COMPATIBILITY IDEOGRAPH-FAC7;Lo;0;L;96E3;;;;N;;;;; +FAC8;CJK COMPATIBILITY IDEOGRAPH-FAC8;Lo;0;L;9756;;;;N;;;;; +FAC9;CJK COMPATIBILITY IDEOGRAPH-FAC9;Lo;0;L;97DB;;;;N;;;;; +FACA;CJK COMPATIBILITY IDEOGRAPH-FACA;Lo;0;L;97FF;;;;N;;;;; +FACB;CJK COMPATIBILITY IDEOGRAPH-FACB;Lo;0;L;980B;;;;N;;;;; +FACC;CJK COMPATIBILITY IDEOGRAPH-FACC;Lo;0;L;983B;;;;N;;;;; +FACD;CJK COMPATIBILITY IDEOGRAPH-FACD;Lo;0;L;9B12;;;;N;;;;; +FACE;CJK COMPATIBILITY IDEOGRAPH-FACE;Lo;0;L;9F9C;;;;N;;;;; +FACF;CJK COMPATIBILITY IDEOGRAPH-FACF;Lo;0;L;2284A;;;;N;;;;; +FAD0;CJK COMPATIBILITY IDEOGRAPH-FAD0;Lo;0;L;22844;;;;N;;;;; +FAD1;CJK COMPATIBILITY IDEOGRAPH-FAD1;Lo;0;L;233D5;;;;N;;;;; +FAD2;CJK COMPATIBILITY IDEOGRAPH-FAD2;Lo;0;L;3B9D;;;;N;;;;; +FAD3;CJK COMPATIBILITY IDEOGRAPH-FAD3;Lo;0;L;4018;;;;N;;;;; +FAD4;CJK COMPATIBILITY IDEOGRAPH-FAD4;Lo;0;L;4039;;;;N;;;;; +FAD5;CJK COMPATIBILITY IDEOGRAPH-FAD5;Lo;0;L;25249;;;;N;;;;; +FAD6;CJK COMPATIBILITY IDEOGRAPH-FAD6;Lo;0;L;25CD0;;;;N;;;;; +FAD7;CJK COMPATIBILITY IDEOGRAPH-FAD7;Lo;0;L;27ED3;;;;N;;;;; +FAD8;CJK COMPATIBILITY IDEOGRAPH-FAD8;Lo;0;L;9F43;;;;N;;;;; +FAD9;CJK COMPATIBILITY IDEOGRAPH-FAD9;Lo;0;L;9F8E;;;;N;;;;; +FB00;LATIN SMALL LIGATURE FF;Ll;0;L; 0066 0066;;;;N;;;;; +FB01;LATIN SMALL LIGATURE FI;Ll;0;L; 0066 0069;;;;N;;;;; +FB02;LATIN SMALL LIGATURE FL;Ll;0;L; 0066 006C;;;;N;;;;; +FB03;LATIN SMALL LIGATURE FFI;Ll;0;L; 0066 0066 0069;;;;N;;;;; +FB04;LATIN SMALL LIGATURE FFL;Ll;0;L; 0066 0066 006C;;;;N;;;;; +FB05;LATIN SMALL LIGATURE LONG S T;Ll;0;L; 017F 0074;;;;N;;;;; +FB06;LATIN SMALL LIGATURE ST;Ll;0;L; 0073 0074;;;;N;;;;; +FB13;ARMENIAN SMALL LIGATURE MEN NOW;Ll;0;L; 0574 0576;;;;N;;;;; +FB14;ARMENIAN SMALL LIGATURE MEN ECH;Ll;0;L; 0574 0565;;;;N;;;;; +FB15;ARMENIAN SMALL LIGATURE MEN INI;Ll;0;L; 0574 056B;;;;N;;;;; +FB16;ARMENIAN SMALL LIGATURE VEW NOW;Ll;0;L; 057E 0576;;;;N;;;;; +FB17;ARMENIAN SMALL LIGATURE MEN XEH;Ll;0;L; 0574 056D;;;;N;;;;; +FB1D;HEBREW LETTER YOD WITH HIRIQ;Lo;0;R;05D9 05B4;;;;N;;;;; +FB1E;HEBREW POINT JUDEO-SPANISH VARIKA;Mn;26;NSM;;;;;N;HEBREW POINT VARIKA;;;; +FB1F;HEBREW LIGATURE YIDDISH YOD YOD PATAH;Lo;0;R;05F2 05B7;;;;N;;;;; +FB20;HEBREW LETTER ALTERNATIVE AYIN;Lo;0;R; 05E2;;;;N;;;;; +FB21;HEBREW LETTER WIDE ALEF;Lo;0;R; 05D0;;;;N;;;;; +FB22;HEBREW LETTER WIDE DALET;Lo;0;R; 05D3;;;;N;;;;; +FB23;HEBREW LETTER WIDE HE;Lo;0;R; 05D4;;;;N;;;;; +FB24;HEBREW LETTER WIDE KAF;Lo;0;R; 05DB;;;;N;;;;; +FB25;HEBREW LETTER WIDE LAMED;Lo;0;R; 05DC;;;;N;;;;; +FB26;HEBREW LETTER WIDE FINAL MEM;Lo;0;R; 05DD;;;;N;;;;; +FB27;HEBREW LETTER WIDE RESH;Lo;0;R; 05E8;;;;N;;;;; +FB28;HEBREW LETTER WIDE TAV;Lo;0;R; 05EA;;;;N;;;;; +FB29;HEBREW LETTER ALTERNATIVE PLUS SIGN;Sm;0;ES; 002B;;;;N;;;;; +FB2A;HEBREW LETTER SHIN WITH SHIN DOT;Lo;0;R;05E9 05C1;;;;N;;;;; +FB2B;HEBREW LETTER SHIN WITH SIN DOT;Lo;0;R;05E9 05C2;;;;N;;;;; +FB2C;HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT;Lo;0;R;FB49 05C1;;;;N;;;;; +FB2D;HEBREW LETTER SHIN WITH DAGESH AND SIN DOT;Lo;0;R;FB49 05C2;;;;N;;;;; +FB2E;HEBREW LETTER ALEF WITH PATAH;Lo;0;R;05D0 05B7;;;;N;;;;; +FB2F;HEBREW LETTER ALEF WITH QAMATS;Lo;0;R;05D0 05B8;;;;N;;;;; +FB30;HEBREW LETTER ALEF WITH MAPIQ;Lo;0;R;05D0 05BC;;;;N;;;;; +FB31;HEBREW LETTER BET WITH DAGESH;Lo;0;R;05D1 05BC;;;;N;;;;; +FB32;HEBREW LETTER GIMEL WITH DAGESH;Lo;0;R;05D2 05BC;;;;N;;;;; +FB33;HEBREW LETTER DALET WITH DAGESH;Lo;0;R;05D3 05BC;;;;N;;;;; +FB34;HEBREW LETTER HE WITH MAPIQ;Lo;0;R;05D4 05BC;;;;N;;;;; +FB35;HEBREW LETTER VAV WITH DAGESH;Lo;0;R;05D5 05BC;;;;N;;;;; +FB36;HEBREW LETTER ZAYIN WITH DAGESH;Lo;0;R;05D6 05BC;;;;N;;;;; +FB38;HEBREW LETTER TET WITH DAGESH;Lo;0;R;05D8 05BC;;;;N;;;;; +FB39;HEBREW LETTER YOD WITH DAGESH;Lo;0;R;05D9 05BC;;;;N;;;;; +FB3A;HEBREW LETTER FINAL KAF WITH DAGESH;Lo;0;R;05DA 05BC;;;;N;;;;; +FB3B;HEBREW LETTER KAF WITH DAGESH;Lo;0;R;05DB 05BC;;;;N;;;;; +FB3C;HEBREW LETTER LAMED WITH DAGESH;Lo;0;R;05DC 05BC;;;;N;;;;; +FB3E;HEBREW LETTER MEM WITH DAGESH;Lo;0;R;05DE 05BC;;;;N;;;;; +FB40;HEBREW LETTER NUN WITH DAGESH;Lo;0;R;05E0 05BC;;;;N;;;;; +FB41;HEBREW LETTER SAMEKH WITH DAGESH;Lo;0;R;05E1 05BC;;;;N;;;;; +FB43;HEBREW LETTER FINAL PE WITH DAGESH;Lo;0;R;05E3 05BC;;;;N;;;;; +FB44;HEBREW LETTER PE WITH DAGESH;Lo;0;R;05E4 05BC;;;;N;;;;; +FB46;HEBREW LETTER TSADI WITH DAGESH;Lo;0;R;05E6 05BC;;;;N;;;;; +FB47;HEBREW LETTER QOF WITH DAGESH;Lo;0;R;05E7 05BC;;;;N;;;;; +FB48;HEBREW LETTER RESH WITH DAGESH;Lo;0;R;05E8 05BC;;;;N;;;;; +FB49;HEBREW LETTER SHIN WITH DAGESH;Lo;0;R;05E9 05BC;;;;N;;;;; +FB4A;HEBREW LETTER TAV WITH DAGESH;Lo;0;R;05EA 05BC;;;;N;;;;; +FB4B;HEBREW LETTER VAV WITH HOLAM;Lo;0;R;05D5 05B9;;;;N;;;;; +FB4C;HEBREW LETTER BET WITH RAFE;Lo;0;R;05D1 05BF;;;;N;;;;; +FB4D;HEBREW LETTER KAF WITH RAFE;Lo;0;R;05DB 05BF;;;;N;;;;; +FB4E;HEBREW LETTER PE WITH RAFE;Lo;0;R;05E4 05BF;;;;N;;;;; +FB4F;HEBREW LIGATURE ALEF LAMED;Lo;0;R; 05D0 05DC;;;;N;;;;; +FB50;ARABIC LETTER ALEF WASLA ISOLATED FORM;Lo;0;AL; 0671;;;;N;;;;; +FB51;ARABIC LETTER ALEF WASLA FINAL FORM;Lo;0;AL; 0671;;;;N;;;;; +FB52;ARABIC LETTER BEEH ISOLATED FORM;Lo;0;AL; 067B;;;;N;;;;; +FB53;ARABIC LETTER BEEH FINAL FORM;Lo;0;AL; 067B;;;;N;;;;; +FB54;ARABIC LETTER BEEH INITIAL FORM;Lo;0;AL; 067B;;;;N;;;;; +FB55;ARABIC LETTER BEEH MEDIAL FORM;Lo;0;AL; 067B;;;;N;;;;; +FB56;ARABIC LETTER PEH ISOLATED FORM;Lo;0;AL; 067E;;;;N;;;;; +FB57;ARABIC LETTER PEH FINAL FORM;Lo;0;AL; 067E;;;;N;;;;; +FB58;ARABIC LETTER PEH INITIAL FORM;Lo;0;AL; 067E;;;;N;;;;; +FB59;ARABIC LETTER PEH MEDIAL FORM;Lo;0;AL; 067E;;;;N;;;;; +FB5A;ARABIC LETTER BEHEH ISOLATED FORM;Lo;0;AL; 0680;;;;N;;;;; +FB5B;ARABIC LETTER BEHEH FINAL FORM;Lo;0;AL; 0680;;;;N;;;;; +FB5C;ARABIC LETTER BEHEH INITIAL FORM;Lo;0;AL; 0680;;;;N;;;;; +FB5D;ARABIC LETTER BEHEH MEDIAL FORM;Lo;0;AL; 0680;;;;N;;;;; +FB5E;ARABIC LETTER TTEHEH ISOLATED FORM;Lo;0;AL; 067A;;;;N;;;;; +FB5F;ARABIC LETTER TTEHEH FINAL FORM;Lo;0;AL; 067A;;;;N;;;;; +FB60;ARABIC LETTER TTEHEH INITIAL FORM;Lo;0;AL; 067A;;;;N;;;;; +FB61;ARABIC LETTER TTEHEH MEDIAL FORM;Lo;0;AL; 067A;;;;N;;;;; +FB62;ARABIC LETTER TEHEH ISOLATED FORM;Lo;0;AL; 067F;;;;N;;;;; +FB63;ARABIC LETTER TEHEH FINAL FORM;Lo;0;AL; 067F;;;;N;;;;; +FB64;ARABIC LETTER TEHEH INITIAL FORM;Lo;0;AL; 067F;;;;N;;;;; +FB65;ARABIC LETTER TEHEH MEDIAL FORM;Lo;0;AL; 067F;;;;N;;;;; +FB66;ARABIC LETTER TTEH ISOLATED FORM;Lo;0;AL; 0679;;;;N;;;;; +FB67;ARABIC LETTER TTEH FINAL FORM;Lo;0;AL; 0679;;;;N;;;;; +FB68;ARABIC LETTER TTEH INITIAL FORM;Lo;0;AL; 0679;;;;N;;;;; +FB69;ARABIC LETTER TTEH MEDIAL FORM;Lo;0;AL; 0679;;;;N;;;;; +FB6A;ARABIC LETTER VEH ISOLATED FORM;Lo;0;AL; 06A4;;;;N;;;;; +FB6B;ARABIC LETTER VEH FINAL FORM;Lo;0;AL; 06A4;;;;N;;;;; +FB6C;ARABIC LETTER VEH INITIAL FORM;Lo;0;AL; 06A4;;;;N;;;;; +FB6D;ARABIC LETTER VEH MEDIAL FORM;Lo;0;AL; 06A4;;;;N;;;;; +FB6E;ARABIC LETTER PEHEH ISOLATED FORM;Lo;0;AL; 06A6;;;;N;;;;; +FB6F;ARABIC LETTER PEHEH FINAL FORM;Lo;0;AL; 06A6;;;;N;;;;; +FB70;ARABIC LETTER PEHEH INITIAL FORM;Lo;0;AL; 06A6;;;;N;;;;; +FB71;ARABIC LETTER PEHEH MEDIAL FORM;Lo;0;AL; 06A6;;;;N;;;;; +FB72;ARABIC LETTER DYEH ISOLATED FORM;Lo;0;AL; 0684;;;;N;;;;; +FB73;ARABIC LETTER DYEH FINAL FORM;Lo;0;AL; 0684;;;;N;;;;; +FB74;ARABIC LETTER DYEH INITIAL FORM;Lo;0;AL; 0684;;;;N;;;;; +FB75;ARABIC LETTER DYEH MEDIAL FORM;Lo;0;AL; 0684;;;;N;;;;; +FB76;ARABIC LETTER NYEH ISOLATED FORM;Lo;0;AL; 0683;;;;N;;;;; +FB77;ARABIC LETTER NYEH FINAL FORM;Lo;0;AL; 0683;;;;N;;;;; +FB78;ARABIC LETTER NYEH INITIAL FORM;Lo;0;AL; 0683;;;;N;;;;; +FB79;ARABIC LETTER NYEH MEDIAL FORM;Lo;0;AL; 0683;;;;N;;;;; +FB7A;ARABIC LETTER TCHEH ISOLATED FORM;Lo;0;AL; 0686;;;;N;;;;; +FB7B;ARABIC LETTER TCHEH FINAL FORM;Lo;0;AL; 0686;;;;N;;;;; +FB7C;ARABIC LETTER TCHEH INITIAL FORM;Lo;0;AL; 0686;;;;N;;;;; +FB7D;ARABIC LETTER TCHEH MEDIAL FORM;Lo;0;AL; 0686;;;;N;;;;; +FB7E;ARABIC LETTER TCHEHEH ISOLATED FORM;Lo;0;AL; 0687;;;;N;;;;; +FB7F;ARABIC LETTER TCHEHEH FINAL FORM;Lo;0;AL; 0687;;;;N;;;;; +FB80;ARABIC LETTER TCHEHEH INITIAL FORM;Lo;0;AL; 0687;;;;N;;;;; +FB81;ARABIC LETTER TCHEHEH MEDIAL FORM;Lo;0;AL; 0687;;;;N;;;;; +FB82;ARABIC LETTER DDAHAL ISOLATED FORM;Lo;0;AL; 068D;;;;N;;;;; +FB83;ARABIC LETTER DDAHAL FINAL FORM;Lo;0;AL; 068D;;;;N;;;;; +FB84;ARABIC LETTER DAHAL ISOLATED FORM;Lo;0;AL; 068C;;;;N;;;;; +FB85;ARABIC LETTER DAHAL FINAL FORM;Lo;0;AL; 068C;;;;N;;;;; +FB86;ARABIC LETTER DUL ISOLATED FORM;Lo;0;AL; 068E;;;;N;;;;; +FB87;ARABIC LETTER DUL FINAL FORM;Lo;0;AL; 068E;;;;N;;;;; +FB88;ARABIC LETTER DDAL ISOLATED FORM;Lo;0;AL; 0688;;;;N;;;;; +FB89;ARABIC LETTER DDAL FINAL FORM;Lo;0;AL; 0688;;;;N;;;;; +FB8A;ARABIC LETTER JEH ISOLATED FORM;Lo;0;AL; 0698;;;;N;;;;; +FB8B;ARABIC LETTER JEH FINAL FORM;Lo;0;AL; 0698;;;;N;;;;; +FB8C;ARABIC LETTER RREH ISOLATED FORM;Lo;0;AL; 0691;;;;N;;;;; +FB8D;ARABIC LETTER RREH FINAL FORM;Lo;0;AL; 0691;;;;N;;;;; +FB8E;ARABIC LETTER KEHEH ISOLATED FORM;Lo;0;AL; 06A9;;;;N;;;;; +FB8F;ARABIC LETTER KEHEH FINAL FORM;Lo;0;AL; 06A9;;;;N;;;;; +FB90;ARABIC LETTER KEHEH INITIAL FORM;Lo;0;AL; 06A9;;;;N;;;;; +FB91;ARABIC LETTER KEHEH MEDIAL FORM;Lo;0;AL; 06A9;;;;N;;;;; +FB92;ARABIC LETTER GAF ISOLATED FORM;Lo;0;AL; 06AF;;;;N;;;;; +FB93;ARABIC LETTER GAF FINAL FORM;Lo;0;AL; 06AF;;;;N;;;;; +FB94;ARABIC LETTER GAF INITIAL FORM;Lo;0;AL; 06AF;;;;N;;;;; +FB95;ARABIC LETTER GAF MEDIAL FORM;Lo;0;AL; 06AF;;;;N;;;;; +FB96;ARABIC LETTER GUEH ISOLATED FORM;Lo;0;AL; 06B3;;;;N;;;;; +FB97;ARABIC LETTER GUEH FINAL FORM;Lo;0;AL; 06B3;;;;N;;;;; +FB98;ARABIC LETTER GUEH INITIAL FORM;Lo;0;AL; 06B3;;;;N;;;;; +FB99;ARABIC LETTER GUEH MEDIAL FORM;Lo;0;AL; 06B3;;;;N;;;;; +FB9A;ARABIC LETTER NGOEH ISOLATED FORM;Lo;0;AL; 06B1;;;;N;;;;; +FB9B;ARABIC LETTER NGOEH FINAL FORM;Lo;0;AL; 06B1;;;;N;;;;; +FB9C;ARABIC LETTER NGOEH INITIAL FORM;Lo;0;AL; 06B1;;;;N;;;;; +FB9D;ARABIC LETTER NGOEH MEDIAL FORM;Lo;0;AL; 06B1;;;;N;;;;; +FB9E;ARABIC LETTER NOON GHUNNA ISOLATED FORM;Lo;0;AL; 06BA;;;;N;;;;; +FB9F;ARABIC LETTER NOON GHUNNA FINAL FORM;Lo;0;AL; 06BA;;;;N;;;;; +FBA0;ARABIC LETTER RNOON ISOLATED FORM;Lo;0;AL; 06BB;;;;N;;;;; +FBA1;ARABIC LETTER RNOON FINAL FORM;Lo;0;AL; 06BB;;;;N;;;;; +FBA2;ARABIC LETTER RNOON INITIAL FORM;Lo;0;AL; 06BB;;;;N;;;;; +FBA3;ARABIC LETTER RNOON MEDIAL FORM;Lo;0;AL; 06BB;;;;N;;;;; +FBA4;ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM;Lo;0;AL; 06C0;;;;N;;;;; +FBA5;ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM;Lo;0;AL; 06C0;;;;N;;;;; +FBA6;ARABIC LETTER HEH GOAL ISOLATED FORM;Lo;0;AL; 06C1;;;;N;;;;; +FBA7;ARABIC LETTER HEH GOAL FINAL FORM;Lo;0;AL; 06C1;;;;N;;;;; +FBA8;ARABIC LETTER HEH GOAL INITIAL FORM;Lo;0;AL; 06C1;;;;N;;;;; +FBA9;ARABIC LETTER HEH GOAL MEDIAL FORM;Lo;0;AL; 06C1;;;;N;;;;; +FBAA;ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM;Lo;0;AL; 06BE;;;;N;;;;; +FBAB;ARABIC LETTER HEH DOACHASHMEE FINAL FORM;Lo;0;AL; 06BE;;;;N;;;;; +FBAC;ARABIC LETTER HEH DOACHASHMEE INITIAL FORM;Lo;0;AL; 06BE;;;;N;;;;; +FBAD;ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM;Lo;0;AL; 06BE;;;;N;;;;; +FBAE;ARABIC LETTER YEH BARREE ISOLATED FORM;Lo;0;AL; 06D2;;;;N;;;;; +FBAF;ARABIC LETTER YEH BARREE FINAL FORM;Lo;0;AL; 06D2;;;;N;;;;; +FBB0;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 06D3;;;;N;;;;; +FBB1;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 06D3;;;;N;;;;; +FBD3;ARABIC LETTER NG ISOLATED FORM;Lo;0;AL; 06AD;;;;N;;;;; +FBD4;ARABIC LETTER NG FINAL FORM;Lo;0;AL; 06AD;;;;N;;;;; +FBD5;ARABIC LETTER NG INITIAL FORM;Lo;0;AL; 06AD;;;;N;;;;; +FBD6;ARABIC LETTER NG MEDIAL FORM;Lo;0;AL; 06AD;;;;N;;;;; +FBD7;ARABIC LETTER U ISOLATED FORM;Lo;0;AL; 06C7;;;;N;;;;; +FBD8;ARABIC LETTER U FINAL FORM;Lo;0;AL; 06C7;;;;N;;;;; +FBD9;ARABIC LETTER OE ISOLATED FORM;Lo;0;AL; 06C6;;;;N;;;;; +FBDA;ARABIC LETTER OE FINAL FORM;Lo;0;AL; 06C6;;;;N;;;;; +FBDB;ARABIC LETTER YU ISOLATED FORM;Lo;0;AL; 06C8;;;;N;;;;; +FBDC;ARABIC LETTER YU FINAL FORM;Lo;0;AL; 06C8;;;;N;;;;; +FBDD;ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0677;;;;N;;;;; +FBDE;ARABIC LETTER VE ISOLATED FORM;Lo;0;AL; 06CB;;;;N;;;;; +FBDF;ARABIC LETTER VE FINAL FORM;Lo;0;AL; 06CB;;;;N;;;;; +FBE0;ARABIC LETTER KIRGHIZ OE ISOLATED FORM;Lo;0;AL; 06C5;;;;N;;;;; +FBE1;ARABIC LETTER KIRGHIZ OE FINAL FORM;Lo;0;AL; 06C5;;;;N;;;;; +FBE2;ARABIC LETTER KIRGHIZ YU ISOLATED FORM;Lo;0;AL; 06C9;;;;N;;;;; +FBE3;ARABIC LETTER KIRGHIZ YU FINAL FORM;Lo;0;AL; 06C9;;;;N;;;;; +FBE4;ARABIC LETTER E ISOLATED FORM;Lo;0;AL; 06D0;;;;N;;;;; +FBE5;ARABIC LETTER E FINAL FORM;Lo;0;AL; 06D0;;;;N;;;;; +FBE6;ARABIC LETTER E INITIAL FORM;Lo;0;AL; 06D0;;;;N;;;;; +FBE7;ARABIC LETTER E MEDIAL FORM;Lo;0;AL; 06D0;;;;N;;;;; +FBE8;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM;Lo;0;AL; 0649;;;;N;;;;; +FBE9;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM;Lo;0;AL; 0649;;;;N;;;;; +FBEA;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM;Lo;0;AL; 0626 0627;;;;N;;;;; +FBEB;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM;Lo;0;AL; 0626 0627;;;;N;;;;; +FBEC;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM;Lo;0;AL; 0626 06D5;;;;N;;;;; +FBED;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM;Lo;0;AL; 0626 06D5;;;;N;;;;; +FBEE;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM;Lo;0;AL; 0626 0648;;;;N;;;;; +FBEF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM;Lo;0;AL; 0626 0648;;;;N;;;;; +FBF0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM;Lo;0;AL; 0626 06C7;;;;N;;;;; +FBF1;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM;Lo;0;AL; 0626 06C7;;;;N;;;;; +FBF2;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM;Lo;0;AL; 0626 06C6;;;;N;;;;; +FBF3;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM;Lo;0;AL; 0626 06C6;;;;N;;;;; +FBF4;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM;Lo;0;AL; 0626 06C8;;;;N;;;;; +FBF5;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM;Lo;0;AL; 0626 06C8;;;;N;;;;; +FBF6;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; +FBF7;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; +FBF8;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; +FBF9;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0626 0649;;;;N;;;;; +FBFA;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; +FBFB;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; +FBFC;ARABIC LETTER FARSI YEH ISOLATED FORM;Lo;0;AL; 06CC;;;;N;;;;; +FBFD;ARABIC LETTER FARSI YEH FINAL FORM;Lo;0;AL; 06CC;;;;N;;;;; +FBFE;ARABIC LETTER FARSI YEH INITIAL FORM;Lo;0;AL; 06CC;;;;N;;;;; +FBFF;ARABIC LETTER FARSI YEH MEDIAL FORM;Lo;0;AL; 06CC;;;;N;;;;; +FC00;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM;Lo;0;AL; 0626 062C;;;;N;;;;; +FC01;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM;Lo;0;AL; 0626 062D;;;;N;;;;; +FC02;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM;Lo;0;AL; 0626 0645;;;;N;;;;; +FC03;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0626 0649;;;;N;;;;; +FC04;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM;Lo;0;AL; 0626 064A;;;;N;;;;; +FC05;ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0628 062C;;;;N;;;;; +FC06;ARABIC LIGATURE BEH WITH HAH ISOLATED FORM;Lo;0;AL; 0628 062D;;;;N;;;;; +FC07;ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM;Lo;0;AL; 0628 062E;;;;N;;;;; +FC08;ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0628 0645;;;;N;;;;; +FC09;ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0628 0649;;;;N;;;;; +FC0A;ARABIC LIGATURE BEH WITH YEH ISOLATED FORM;Lo;0;AL; 0628 064A;;;;N;;;;; +FC0B;ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM;Lo;0;AL; 062A 062C;;;;N;;;;; +FC0C;ARABIC LIGATURE TEH WITH HAH ISOLATED FORM;Lo;0;AL; 062A 062D;;;;N;;;;; +FC0D;ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM;Lo;0;AL; 062A 062E;;;;N;;;;; +FC0E;ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM;Lo;0;AL; 062A 0645;;;;N;;;;; +FC0F;ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062A 0649;;;;N;;;;; +FC10;ARABIC LIGATURE TEH WITH YEH ISOLATED FORM;Lo;0;AL; 062A 064A;;;;N;;;;; +FC11;ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM;Lo;0;AL; 062B 062C;;;;N;;;;; +FC12;ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM;Lo;0;AL; 062B 0645;;;;N;;;;; +FC13;ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062B 0649;;;;N;;;;; +FC14;ARABIC LIGATURE THEH WITH YEH ISOLATED FORM;Lo;0;AL; 062B 064A;;;;N;;;;; +FC15;ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM;Lo;0;AL; 062C 062D;;;;N;;;;; +FC16;ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM;Lo;0;AL; 062C 0645;;;;N;;;;; +FC17;ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM;Lo;0;AL; 062D 062C;;;;N;;;;; +FC18;ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM;Lo;0;AL; 062D 0645;;;;N;;;;; +FC19;ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM;Lo;0;AL; 062E 062C;;;;N;;;;; +FC1A;ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM;Lo;0;AL; 062E 062D;;;;N;;;;; +FC1B;ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM;Lo;0;AL; 062E 0645;;;;N;;;;; +FC1C;ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM;Lo;0;AL; 0633 062C;;;;N;;;;; +FC1D;ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM;Lo;0;AL; 0633 062D;;;;N;;;;; +FC1E;ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM;Lo;0;AL; 0633 062E;;;;N;;;;; +FC1F;ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM;Lo;0;AL; 0633 0645;;;;N;;;;; +FC20;ARABIC LIGATURE SAD WITH HAH ISOLATED FORM;Lo;0;AL; 0635 062D;;;;N;;;;; +FC21;ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM;Lo;0;AL; 0635 0645;;;;N;;;;; +FC22;ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM;Lo;0;AL; 0636 062C;;;;N;;;;; +FC23;ARABIC LIGATURE DAD WITH HAH ISOLATED FORM;Lo;0;AL; 0636 062D;;;;N;;;;; +FC24;ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM;Lo;0;AL; 0636 062E;;;;N;;;;; +FC25;ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM;Lo;0;AL; 0636 0645;;;;N;;;;; +FC26;ARABIC LIGATURE TAH WITH HAH ISOLATED FORM;Lo;0;AL; 0637 062D;;;;N;;;;; +FC27;ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM;Lo;0;AL; 0637 0645;;;;N;;;;; +FC28;ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM;Lo;0;AL; 0638 0645;;;;N;;;;; +FC29;ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM;Lo;0;AL; 0639 062C;;;;N;;;;; +FC2A;ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM;Lo;0;AL; 0639 0645;;;;N;;;;; +FC2B;ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM;Lo;0;AL; 063A 062C;;;;N;;;;; +FC2C;ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM;Lo;0;AL; 063A 0645;;;;N;;;;; +FC2D;ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0641 062C;;;;N;;;;; +FC2E;ARABIC LIGATURE FEH WITH HAH ISOLATED FORM;Lo;0;AL; 0641 062D;;;;N;;;;; +FC2F;ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM;Lo;0;AL; 0641 062E;;;;N;;;;; +FC30;ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0641 0645;;;;N;;;;; +FC31;ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0641 0649;;;;N;;;;; +FC32;ARABIC LIGATURE FEH WITH YEH ISOLATED FORM;Lo;0;AL; 0641 064A;;;;N;;;;; +FC33;ARABIC LIGATURE QAF WITH HAH ISOLATED FORM;Lo;0;AL; 0642 062D;;;;N;;;;; +FC34;ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM;Lo;0;AL; 0642 0645;;;;N;;;;; +FC35;ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0642 0649;;;;N;;;;; +FC36;ARABIC LIGATURE QAF WITH YEH ISOLATED FORM;Lo;0;AL; 0642 064A;;;;N;;;;; +FC37;ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM;Lo;0;AL; 0643 0627;;;;N;;;;; +FC38;ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM;Lo;0;AL; 0643 062C;;;;N;;;;; +FC39;ARABIC LIGATURE KAF WITH HAH ISOLATED FORM;Lo;0;AL; 0643 062D;;;;N;;;;; +FC3A;ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM;Lo;0;AL; 0643 062E;;;;N;;;;; +FC3B;ARABIC LIGATURE KAF WITH LAM ISOLATED FORM;Lo;0;AL; 0643 0644;;;;N;;;;; +FC3C;ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM;Lo;0;AL; 0643 0645;;;;N;;;;; +FC3D;ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0643 0649;;;;N;;;;; +FC3E;ARABIC LIGATURE KAF WITH YEH ISOLATED FORM;Lo;0;AL; 0643 064A;;;;N;;;;; +FC3F;ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM;Lo;0;AL; 0644 062C;;;;N;;;;; +FC40;ARABIC LIGATURE LAM WITH HAH ISOLATED FORM;Lo;0;AL; 0644 062D;;;;N;;;;; +FC41;ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM;Lo;0;AL; 0644 062E;;;;N;;;;; +FC42;ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM;Lo;0;AL; 0644 0645;;;;N;;;;; +FC43;ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0644 0649;;;;N;;;;; +FC44;ARABIC LIGATURE LAM WITH YEH ISOLATED FORM;Lo;0;AL; 0644 064A;;;;N;;;;; +FC45;ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM;Lo;0;AL; 0645 062C;;;;N;;;;; +FC46;ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM;Lo;0;AL; 0645 062D;;;;N;;;;; +FC47;ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM;Lo;0;AL; 0645 062E;;;;N;;;;; +FC48;ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM;Lo;0;AL; 0645 0645;;;;N;;;;; +FC49;ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0645 0649;;;;N;;;;; +FC4A;ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM;Lo;0;AL; 0645 064A;;;;N;;;;; +FC4B;ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM;Lo;0;AL; 0646 062C;;;;N;;;;; +FC4C;ARABIC LIGATURE NOON WITH HAH ISOLATED FORM;Lo;0;AL; 0646 062D;;;;N;;;;; +FC4D;ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM;Lo;0;AL; 0646 062E;;;;N;;;;; +FC4E;ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM;Lo;0;AL; 0646 0645;;;;N;;;;; +FC4F;ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0646 0649;;;;N;;;;; +FC50;ARABIC LIGATURE NOON WITH YEH ISOLATED FORM;Lo;0;AL; 0646 064A;;;;N;;;;; +FC51;ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0647 062C;;;;N;;;;; +FC52;ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0647 0645;;;;N;;;;; +FC53;ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0647 0649;;;;N;;;;; +FC54;ARABIC LIGATURE HEH WITH YEH ISOLATED FORM;Lo;0;AL; 0647 064A;;;;N;;;;; +FC55;ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM;Lo;0;AL; 064A 062C;;;;N;;;;; +FC56;ARABIC LIGATURE YEH WITH HAH ISOLATED FORM;Lo;0;AL; 064A 062D;;;;N;;;;; +FC57;ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM;Lo;0;AL; 064A 062E;;;;N;;;;; +FC58;ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM;Lo;0;AL; 064A 0645;;;;N;;;;; +FC59;ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 064A 0649;;;;N;;;;; +FC5A;ARABIC LIGATURE YEH WITH YEH ISOLATED FORM;Lo;0;AL; 064A 064A;;;;N;;;;; +FC5B;ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0630 0670;;;;N;;;;; +FC5C;ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0631 0670;;;;N;;;;; +FC5D;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0649 0670;;;;N;;;;; +FC5E;ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM;Lo;0;AL; 0020 064C 0651;;;;N;;;;; +FC5F;ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM;Lo;0;AL; 0020 064D 0651;;;;N;;;;; +FC60;ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM;Lo;0;AL; 0020 064E 0651;;;;N;;;;; +FC61;ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM;Lo;0;AL; 0020 064F 0651;;;;N;;;;; +FC62;ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM;Lo;0;AL; 0020 0650 0651;;;;N;;;;; +FC63;ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0020 0651 0670;;;;N;;;;; +FC64;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM;Lo;0;AL; 0626 0631;;;;N;;;;; +FC65;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM;Lo;0;AL; 0626 0632;;;;N;;;;; +FC66;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; +FC67;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM;Lo;0;AL; 0626 0646;;;;N;;;;; +FC68;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; +FC69;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM;Lo;0;AL; 0626 064A;;;;N;;;;; +FC6A;ARABIC LIGATURE BEH WITH REH FINAL FORM;Lo;0;AL; 0628 0631;;;;N;;;;; +FC6B;ARABIC LIGATURE BEH WITH ZAIN FINAL FORM;Lo;0;AL; 0628 0632;;;;N;;;;; +FC6C;ARABIC LIGATURE BEH WITH MEEM FINAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; +FC6D;ARABIC LIGATURE BEH WITH NOON FINAL FORM;Lo;0;AL; 0628 0646;;;;N;;;;; +FC6E;ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0628 0649;;;;N;;;;; +FC6F;ARABIC LIGATURE BEH WITH YEH FINAL FORM;Lo;0;AL; 0628 064A;;;;N;;;;; +FC70;ARABIC LIGATURE TEH WITH REH FINAL FORM;Lo;0;AL; 062A 0631;;;;N;;;;; +FC71;ARABIC LIGATURE TEH WITH ZAIN FINAL FORM;Lo;0;AL; 062A 0632;;;;N;;;;; +FC72;ARABIC LIGATURE TEH WITH MEEM FINAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; +FC73;ARABIC LIGATURE TEH WITH NOON FINAL FORM;Lo;0;AL; 062A 0646;;;;N;;;;; +FC74;ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 0649;;;;N;;;;; +FC75;ARABIC LIGATURE TEH WITH YEH FINAL FORM;Lo;0;AL; 062A 064A;;;;N;;;;; +FC76;ARABIC LIGATURE THEH WITH REH FINAL FORM;Lo;0;AL; 062B 0631;;;;N;;;;; +FC77;ARABIC LIGATURE THEH WITH ZAIN FINAL FORM;Lo;0;AL; 062B 0632;;;;N;;;;; +FC78;ARABIC LIGATURE THEH WITH MEEM FINAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; +FC79;ARABIC LIGATURE THEH WITH NOON FINAL FORM;Lo;0;AL; 062B 0646;;;;N;;;;; +FC7A;ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062B 0649;;;;N;;;;; +FC7B;ARABIC LIGATURE THEH WITH YEH FINAL FORM;Lo;0;AL; 062B 064A;;;;N;;;;; +FC7C;ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0641 0649;;;;N;;;;; +FC7D;ARABIC LIGATURE FEH WITH YEH FINAL FORM;Lo;0;AL; 0641 064A;;;;N;;;;; +FC7E;ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0642 0649;;;;N;;;;; +FC7F;ARABIC LIGATURE QAF WITH YEH FINAL FORM;Lo;0;AL; 0642 064A;;;;N;;;;; +FC80;ARABIC LIGATURE KAF WITH ALEF FINAL FORM;Lo;0;AL; 0643 0627;;;;N;;;;; +FC81;ARABIC LIGATURE KAF WITH LAM FINAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; +FC82;ARABIC LIGATURE KAF WITH MEEM FINAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; +FC83;ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0643 0649;;;;N;;;;; +FC84;ARABIC LIGATURE KAF WITH YEH FINAL FORM;Lo;0;AL; 0643 064A;;;;N;;;;; +FC85;ARABIC LIGATURE LAM WITH MEEM FINAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; +FC86;ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0644 0649;;;;N;;;;; +FC87;ARABIC LIGATURE LAM WITH YEH FINAL FORM;Lo;0;AL; 0644 064A;;;;N;;;;; +FC88;ARABIC LIGATURE MEEM WITH ALEF FINAL FORM;Lo;0;AL; 0645 0627;;;;N;;;;; +FC89;ARABIC LIGATURE MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0645 0645;;;;N;;;;; +FC8A;ARABIC LIGATURE NOON WITH REH FINAL FORM;Lo;0;AL; 0646 0631;;;;N;;;;; +FC8B;ARABIC LIGATURE NOON WITH ZAIN FINAL FORM;Lo;0;AL; 0646 0632;;;;N;;;;; +FC8C;ARABIC LIGATURE NOON WITH MEEM FINAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; +FC8D;ARABIC LIGATURE NOON WITH NOON FINAL FORM;Lo;0;AL; 0646 0646;;;;N;;;;; +FC8E;ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 0649;;;;N;;;;; +FC8F;ARABIC LIGATURE NOON WITH YEH FINAL FORM;Lo;0;AL; 0646 064A;;;;N;;;;; +FC90;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM;Lo;0;AL; 0649 0670;;;;N;;;;; +FC91;ARABIC LIGATURE YEH WITH REH FINAL FORM;Lo;0;AL; 064A 0631;;;;N;;;;; +FC92;ARABIC LIGATURE YEH WITH ZAIN FINAL FORM;Lo;0;AL; 064A 0632;;;;N;;;;; +FC93;ARABIC LIGATURE YEH WITH MEEM FINAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; +FC94;ARABIC LIGATURE YEH WITH NOON FINAL FORM;Lo;0;AL; 064A 0646;;;;N;;;;; +FC95;ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 064A 0649;;;;N;;;;; +FC96;ARABIC LIGATURE YEH WITH YEH FINAL FORM;Lo;0;AL; 064A 064A;;;;N;;;;; +FC97;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM;Lo;0;AL; 0626 062C;;;;N;;;;; +FC98;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM;Lo;0;AL; 0626 062D;;;;N;;;;; +FC99;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM;Lo;0;AL; 0626 062E;;;;N;;;;; +FC9A;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; +FC9B;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM;Lo;0;AL; 0626 0647;;;;N;;;;; +FC9C;ARABIC LIGATURE BEH WITH JEEM INITIAL FORM;Lo;0;AL; 0628 062C;;;;N;;;;; +FC9D;ARABIC LIGATURE BEH WITH HAH INITIAL FORM;Lo;0;AL; 0628 062D;;;;N;;;;; +FC9E;ARABIC LIGATURE BEH WITH KHAH INITIAL FORM;Lo;0;AL; 0628 062E;;;;N;;;;; +FC9F;ARABIC LIGATURE BEH WITH MEEM INITIAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; +FCA0;ARABIC LIGATURE BEH WITH HEH INITIAL FORM;Lo;0;AL; 0628 0647;;;;N;;;;; +FCA1;ARABIC LIGATURE TEH WITH JEEM INITIAL FORM;Lo;0;AL; 062A 062C;;;;N;;;;; +FCA2;ARABIC LIGATURE TEH WITH HAH INITIAL FORM;Lo;0;AL; 062A 062D;;;;N;;;;; +FCA3;ARABIC LIGATURE TEH WITH KHAH INITIAL FORM;Lo;0;AL; 062A 062E;;;;N;;;;; +FCA4;ARABIC LIGATURE TEH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; +FCA5;ARABIC LIGATURE TEH WITH HEH INITIAL FORM;Lo;0;AL; 062A 0647;;;;N;;;;; +FCA6;ARABIC LIGATURE THEH WITH MEEM INITIAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; +FCA7;ARABIC LIGATURE JEEM WITH HAH INITIAL FORM;Lo;0;AL; 062C 062D;;;;N;;;;; +FCA8;ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 062C 0645;;;;N;;;;; +FCA9;ARABIC LIGATURE HAH WITH JEEM INITIAL FORM;Lo;0;AL; 062D 062C;;;;N;;;;; +FCAA;ARABIC LIGATURE HAH WITH MEEM INITIAL FORM;Lo;0;AL; 062D 0645;;;;N;;;;; +FCAB;ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM;Lo;0;AL; 062E 062C;;;;N;;;;; +FCAC;ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 062E 0645;;;;N;;;;; +FCAD;ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM;Lo;0;AL; 0633 062C;;;;N;;;;; +FCAE;ARABIC LIGATURE SEEN WITH HAH INITIAL FORM;Lo;0;AL; 0633 062D;;;;N;;;;; +FCAF;ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM;Lo;0;AL; 0633 062E;;;;N;;;;; +FCB0;ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM;Lo;0;AL; 0633 0645;;;;N;;;;; +FCB1;ARABIC LIGATURE SAD WITH HAH INITIAL FORM;Lo;0;AL; 0635 062D;;;;N;;;;; +FCB2;ARABIC LIGATURE SAD WITH KHAH INITIAL FORM;Lo;0;AL; 0635 062E;;;;N;;;;; +FCB3;ARABIC LIGATURE SAD WITH MEEM INITIAL FORM;Lo;0;AL; 0635 0645;;;;N;;;;; +FCB4;ARABIC LIGATURE DAD WITH JEEM INITIAL FORM;Lo;0;AL; 0636 062C;;;;N;;;;; +FCB5;ARABIC LIGATURE DAD WITH HAH INITIAL FORM;Lo;0;AL; 0636 062D;;;;N;;;;; +FCB6;ARABIC LIGATURE DAD WITH KHAH INITIAL FORM;Lo;0;AL; 0636 062E;;;;N;;;;; +FCB7;ARABIC LIGATURE DAD WITH MEEM INITIAL FORM;Lo;0;AL; 0636 0645;;;;N;;;;; +FCB8;ARABIC LIGATURE TAH WITH HAH INITIAL FORM;Lo;0;AL; 0637 062D;;;;N;;;;; +FCB9;ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM;Lo;0;AL; 0638 0645;;;;N;;;;; +FCBA;ARABIC LIGATURE AIN WITH JEEM INITIAL FORM;Lo;0;AL; 0639 062C;;;;N;;;;; +FCBB;ARABIC LIGATURE AIN WITH MEEM INITIAL FORM;Lo;0;AL; 0639 0645;;;;N;;;;; +FCBC;ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM;Lo;0;AL; 063A 062C;;;;N;;;;; +FCBD;ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM;Lo;0;AL; 063A 0645;;;;N;;;;; +FCBE;ARABIC LIGATURE FEH WITH JEEM INITIAL FORM;Lo;0;AL; 0641 062C;;;;N;;;;; +FCBF;ARABIC LIGATURE FEH WITH HAH INITIAL FORM;Lo;0;AL; 0641 062D;;;;N;;;;; +FCC0;ARABIC LIGATURE FEH WITH KHAH INITIAL FORM;Lo;0;AL; 0641 062E;;;;N;;;;; +FCC1;ARABIC LIGATURE FEH WITH MEEM INITIAL FORM;Lo;0;AL; 0641 0645;;;;N;;;;; +FCC2;ARABIC LIGATURE QAF WITH HAH INITIAL FORM;Lo;0;AL; 0642 062D;;;;N;;;;; +FCC3;ARABIC LIGATURE QAF WITH MEEM INITIAL FORM;Lo;0;AL; 0642 0645;;;;N;;;;; +FCC4;ARABIC LIGATURE KAF WITH JEEM INITIAL FORM;Lo;0;AL; 0643 062C;;;;N;;;;; +FCC5;ARABIC LIGATURE KAF WITH HAH INITIAL FORM;Lo;0;AL; 0643 062D;;;;N;;;;; +FCC6;ARABIC LIGATURE KAF WITH KHAH INITIAL FORM;Lo;0;AL; 0643 062E;;;;N;;;;; +FCC7;ARABIC LIGATURE KAF WITH LAM INITIAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; +FCC8;ARABIC LIGATURE KAF WITH MEEM INITIAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; +FCC9;ARABIC LIGATURE LAM WITH JEEM INITIAL FORM;Lo;0;AL; 0644 062C;;;;N;;;;; +FCCA;ARABIC LIGATURE LAM WITH HAH INITIAL FORM;Lo;0;AL; 0644 062D;;;;N;;;;; +FCCB;ARABIC LIGATURE LAM WITH KHAH INITIAL FORM;Lo;0;AL; 0644 062E;;;;N;;;;; +FCCC;ARABIC LIGATURE LAM WITH MEEM INITIAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; +FCCD;ARABIC LIGATURE LAM WITH HEH INITIAL FORM;Lo;0;AL; 0644 0647;;;;N;;;;; +FCCE;ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062C;;;;N;;;;; +FCCF;ARABIC LIGATURE MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0645 062D;;;;N;;;;; +FCD0;ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0645 062E;;;;N;;;;; +FCD1;ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0645 0645;;;;N;;;;; +FCD2;ARABIC LIGATURE NOON WITH JEEM INITIAL FORM;Lo;0;AL; 0646 062C;;;;N;;;;; +FCD3;ARABIC LIGATURE NOON WITH HAH INITIAL FORM;Lo;0;AL; 0646 062D;;;;N;;;;; +FCD4;ARABIC LIGATURE NOON WITH KHAH INITIAL FORM;Lo;0;AL; 0646 062E;;;;N;;;;; +FCD5;ARABIC LIGATURE NOON WITH MEEM INITIAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; +FCD6;ARABIC LIGATURE NOON WITH HEH INITIAL FORM;Lo;0;AL; 0646 0647;;;;N;;;;; +FCD7;ARABIC LIGATURE HEH WITH JEEM INITIAL FORM;Lo;0;AL; 0647 062C;;;;N;;;;; +FCD8;ARABIC LIGATURE HEH WITH MEEM INITIAL FORM;Lo;0;AL; 0647 0645;;;;N;;;;; +FCD9;ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM;Lo;0;AL; 0647 0670;;;;N;;;;; +FCDA;ARABIC LIGATURE YEH WITH JEEM INITIAL FORM;Lo;0;AL; 064A 062C;;;;N;;;;; +FCDB;ARABIC LIGATURE YEH WITH HAH INITIAL FORM;Lo;0;AL; 064A 062D;;;;N;;;;; +FCDC;ARABIC LIGATURE YEH WITH KHAH INITIAL FORM;Lo;0;AL; 064A 062E;;;;N;;;;; +FCDD;ARABIC LIGATURE YEH WITH MEEM INITIAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; +FCDE;ARABIC LIGATURE YEH WITH HEH INITIAL FORM;Lo;0;AL; 064A 0647;;;;N;;;;; +FCDF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; +FCE0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM;Lo;0;AL; 0626 0647;;;;N;;;;; +FCE1;ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; +FCE2;ARABIC LIGATURE BEH WITH HEH MEDIAL FORM;Lo;0;AL; 0628 0647;;;;N;;;;; +FCE3;ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; +FCE4;ARABIC LIGATURE TEH WITH HEH MEDIAL FORM;Lo;0;AL; 062A 0647;;;;N;;;;; +FCE5;ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; +FCE6;ARABIC LIGATURE THEH WITH HEH MEDIAL FORM;Lo;0;AL; 062B 0647;;;;N;;;;; +FCE7;ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM;Lo;0;AL; 0633 0645;;;;N;;;;; +FCE8;ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM;Lo;0;AL; 0633 0647;;;;N;;;;; +FCE9;ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; +FCEA;ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM;Lo;0;AL; 0634 0647;;;;N;;;;; +FCEB;ARABIC LIGATURE KAF WITH LAM MEDIAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; +FCEC;ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; +FCED;ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; +FCEE;ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; +FCEF;ARABIC LIGATURE NOON WITH HEH MEDIAL FORM;Lo;0;AL; 0646 0647;;;;N;;;;; +FCF0;ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; +FCF1;ARABIC LIGATURE YEH WITH HEH MEDIAL FORM;Lo;0;AL; 064A 0647;;;;N;;;;; +FCF2;ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM;Lo;0;AL; 0640 064E 0651;;;;N;;;;; +FCF3;ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM;Lo;0;AL; 0640 064F 0651;;;;N;;;;; +FCF4;ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM;Lo;0;AL; 0640 0650 0651;;;;N;;;;; +FCF5;ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0637 0649;;;;N;;;;; +FCF6;ARABIC LIGATURE TAH WITH YEH ISOLATED FORM;Lo;0;AL; 0637 064A;;;;N;;;;; +FCF7;ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0639 0649;;;;N;;;;; +FCF8;ARABIC LIGATURE AIN WITH YEH ISOLATED FORM;Lo;0;AL; 0639 064A;;;;N;;;;; +FCF9;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 063A 0649;;;;N;;;;; +FCFA;ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM;Lo;0;AL; 063A 064A;;;;N;;;;; +FCFB;ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0633 0649;;;;N;;;;; +FCFC;ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM;Lo;0;AL; 0633 064A;;;;N;;;;; +FCFD;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0634 0649;;;;N;;;;; +FCFE;ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM;Lo;0;AL; 0634 064A;;;;N;;;;; +FCFF;ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062D 0649;;;;N;;;;; +FD00;ARABIC LIGATURE HAH WITH YEH ISOLATED FORM;Lo;0;AL; 062D 064A;;;;N;;;;; +FD01;ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062C 0649;;;;N;;;;; +FD02;ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM;Lo;0;AL; 062C 064A;;;;N;;;;; +FD03;ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062E 0649;;;;N;;;;; +FD04;ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM;Lo;0;AL; 062E 064A;;;;N;;;;; +FD05;ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0635 0649;;;;N;;;;; +FD06;ARABIC LIGATURE SAD WITH YEH ISOLATED FORM;Lo;0;AL; 0635 064A;;;;N;;;;; +FD07;ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0636 0649;;;;N;;;;; +FD08;ARABIC LIGATURE DAD WITH YEH ISOLATED FORM;Lo;0;AL; 0636 064A;;;;N;;;;; +FD09;ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM;Lo;0;AL; 0634 062C;;;;N;;;;; +FD0A;ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM;Lo;0;AL; 0634 062D;;;;N;;;;; +FD0B;ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM;Lo;0;AL; 0634 062E;;;;N;;;;; +FD0C;ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM;Lo;0;AL; 0634 0645;;;;N;;;;; +FD0D;ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM;Lo;0;AL; 0634 0631;;;;N;;;;; +FD0E;ARABIC LIGATURE SEEN WITH REH ISOLATED FORM;Lo;0;AL; 0633 0631;;;;N;;;;; +FD0F;ARABIC LIGATURE SAD WITH REH ISOLATED FORM;Lo;0;AL; 0635 0631;;;;N;;;;; +FD10;ARABIC LIGATURE DAD WITH REH ISOLATED FORM;Lo;0;AL; 0636 0631;;;;N;;;;; +FD11;ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0637 0649;;;;N;;;;; +FD12;ARABIC LIGATURE TAH WITH YEH FINAL FORM;Lo;0;AL; 0637 064A;;;;N;;;;; +FD13;ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0639 0649;;;;N;;;;; +FD14;ARABIC LIGATURE AIN WITH YEH FINAL FORM;Lo;0;AL; 0639 064A;;;;N;;;;; +FD15;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 063A 0649;;;;N;;;;; +FD16;ARABIC LIGATURE GHAIN WITH YEH FINAL FORM;Lo;0;AL; 063A 064A;;;;N;;;;; +FD17;ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 0649;;;;N;;;;; +FD18;ARABIC LIGATURE SEEN WITH YEH FINAL FORM;Lo;0;AL; 0633 064A;;;;N;;;;; +FD19;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0634 0649;;;;N;;;;; +FD1A;ARABIC LIGATURE SHEEN WITH YEH FINAL FORM;Lo;0;AL; 0634 064A;;;;N;;;;; +FD1B;ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062D 0649;;;;N;;;;; +FD1C;ARABIC LIGATURE HAH WITH YEH FINAL FORM;Lo;0;AL; 062D 064A;;;;N;;;;; +FD1D;ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 0649;;;;N;;;;; +FD1E;ARABIC LIGATURE JEEM WITH YEH FINAL FORM;Lo;0;AL; 062C 064A;;;;N;;;;; +FD1F;ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062E 0649;;;;N;;;;; +FD20;ARABIC LIGATURE KHAH WITH YEH FINAL FORM;Lo;0;AL; 062E 064A;;;;N;;;;; +FD21;ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0635 0649;;;;N;;;;; +FD22;ARABIC LIGATURE SAD WITH YEH FINAL FORM;Lo;0;AL; 0635 064A;;;;N;;;;; +FD23;ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0636 0649;;;;N;;;;; +FD24;ARABIC LIGATURE DAD WITH YEH FINAL FORM;Lo;0;AL; 0636 064A;;;;N;;;;; +FD25;ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; +FD26;ARABIC LIGATURE SHEEN WITH HAH FINAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; +FD27;ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; +FD28;ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; +FD29;ARABIC LIGATURE SHEEN WITH REH FINAL FORM;Lo;0;AL; 0634 0631;;;;N;;;;; +FD2A;ARABIC LIGATURE SEEN WITH REH FINAL FORM;Lo;0;AL; 0633 0631;;;;N;;;;; +FD2B;ARABIC LIGATURE SAD WITH REH FINAL FORM;Lo;0;AL; 0635 0631;;;;N;;;;; +FD2C;ARABIC LIGATURE DAD WITH REH FINAL FORM;Lo;0;AL; 0636 0631;;;;N;;;;; +FD2D;ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; +FD2E;ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; +FD2F;ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; +FD30;ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; +FD31;ARABIC LIGATURE SEEN WITH HEH INITIAL FORM;Lo;0;AL; 0633 0647;;;;N;;;;; +FD32;ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM;Lo;0;AL; 0634 0647;;;;N;;;;; +FD33;ARABIC LIGATURE TAH WITH MEEM INITIAL FORM;Lo;0;AL; 0637 0645;;;;N;;;;; +FD34;ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM;Lo;0;AL; 0633 062C;;;;N;;;;; +FD35;ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM;Lo;0;AL; 0633 062D;;;;N;;;;; +FD36;ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM;Lo;0;AL; 0633 062E;;;;N;;;;; +FD37;ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; +FD38;ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; +FD39;ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; +FD3A;ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM;Lo;0;AL; 0637 0645;;;;N;;;;; +FD3B;ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM;Lo;0;AL; 0638 0645;;;;N;;;;; +FD3C;ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM;Lo;0;AL; 0627 064B;;;;N;;;;; +FD3D;ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM;Lo;0;AL; 0627 064B;;;;N;;;;; +FD3E;ORNATE LEFT PARENTHESIS;Ps;0;ON;;;;;N;;;;; +FD3F;ORNATE RIGHT PARENTHESIS;Pe;0;ON;;;;;N;;;;; +FD50;ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062C 0645;;;;N;;;;; +FD51;ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM;Lo;0;AL; 062A 062D 062C;;;;N;;;;; +FD52;ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 062A 062D 062C;;;;N;;;;; +FD53;ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062D 0645;;;;N;;;;; +FD54;ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062E 0645;;;;N;;;;; +FD55;ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 062A 0645 062C;;;;N;;;;; +FD56;ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 062A 0645 062D;;;;N;;;;; +FD57;ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 062A 0645 062E;;;;N;;;;; +FD58;ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 062C 0645 062D;;;;N;;;;; +FD59;ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 062C 0645 062D;;;;N;;;;; +FD5A;ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062D 0645 064A;;;;N;;;;; +FD5B;ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062D 0645 0649;;;;N;;;;; +FD5C;ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 0633 062D 062C;;;;N;;;;; +FD5D;ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0633 062C 062D;;;;N;;;;; +FD5E;ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 062C 0649;;;;N;;;;; +FD5F;ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0633 0645 062D;;;;N;;;;; +FD60;ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0633 0645 062D;;;;N;;;;; +FD61;ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0633 0645 062C;;;;N;;;;; +FD62;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0633 0645 0645;;;;N;;;;; +FD63;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0633 0645 0645;;;;N;;;;; +FD64;ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM;Lo;0;AL; 0635 062D 062D;;;;N;;;;; +FD65;ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM;Lo;0;AL; 0635 062D 062D;;;;N;;;;; +FD66;ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0635 0645 0645;;;;N;;;;; +FD67;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM;Lo;0;AL; 0634 062D 0645;;;;N;;;;; +FD68;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0634 062D 0645;;;;N;;;;; +FD69;ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0634 062C 064A;;;;N;;;;; +FD6A;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM;Lo;0;AL; 0634 0645 062E;;;;N;;;;; +FD6B;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0634 0645 062E;;;;N;;;;; +FD6C;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0634 0645 0645;;;;N;;;;; +FD6D;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0634 0645 0645;;;;N;;;;; +FD6E;ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0636 062D 0649;;;;N;;;;; +FD6F;ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0636 062E 0645;;;;N;;;;; +FD70;ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0636 062E 0645;;;;N;;;;; +FD71;ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0637 0645 062D;;;;N;;;;; +FD72;ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0637 0645 062D;;;;N;;;;; +FD73;ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0637 0645 0645;;;;N;;;;; +FD74;ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0637 0645 064A;;;;N;;;;; +FD75;ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0639 062C 0645;;;;N;;;;; +FD76;ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0639 0645 0645;;;;N;;;;; +FD77;ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0639 0645 0645;;;;N;;;;; +FD78;ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0639 0645 0649;;;;N;;;;; +FD79;ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 063A 0645 0645;;;;N;;;;; +FD7A;ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 063A 0645 064A;;;;N;;;;; +FD7B;ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 063A 0645 0649;;;;N;;;;; +FD7C;ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0641 062E 0645;;;;N;;;;; +FD7D;ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0641 062E 0645;;;;N;;;;; +FD7E;ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0642 0645 062D;;;;N;;;;; +FD7F;ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0642 0645 0645;;;;N;;;;; +FD80;ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM;Lo;0;AL; 0644 062D 0645;;;;N;;;;; +FD81;ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0644 062D 064A;;;;N;;;;; +FD82;ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0644 062D 0649;;;;N;;;;; +FD83;ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0644 062C 062C;;;;N;;;;; +FD84;ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM;Lo;0;AL; 0644 062C 062C;;;;N;;;;; +FD85;ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0644 062E 0645;;;;N;;;;; +FD86;ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062E 0645;;;;N;;;;; +FD87;ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0644 0645 062D;;;;N;;;;; +FD88;ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0644 0645 062D;;;;N;;;;; +FD89;ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062D 062C;;;;N;;;;; +FD8A;ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062D 0645;;;;N;;;;; +FD8B;ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0645 062D 064A;;;;N;;;;; +FD8C;ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0645 062C 062D;;;;N;;;;; +FD8D;ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062C 0645;;;;N;;;;; +FD8E;ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062E 062C;;;;N;;;;; +FD8F;ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062E 0645;;;;N;;;;; +FD92;ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0645 062C 062E;;;;N;;;;; +FD93;ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0647 0645 062C;;;;N;;;;; +FD94;ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0647 0645 0645;;;;N;;;;; +FD95;ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0646 062D 0645;;;;N;;;;; +FD96;ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 062D 0649;;;;N;;;;; +FD97;ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0646 062C 0645;;;;N;;;;; +FD98;ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0646 062C 0645;;;;N;;;;; +FD99;ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 062C 0649;;;;N;;;;; +FD9A;ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0646 0645 064A;;;;N;;;;; +FD9B;ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 0645 0649;;;;N;;;;; +FD9C;ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 064A 0645 0645;;;;N;;;;; +FD9D;ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 064A 0645 0645;;;;N;;;;; +FD9E;ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0628 062E 064A;;;;N;;;;; +FD9F;ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 062A 062C 064A;;;;N;;;;; +FDA0;ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 062C 0649;;;;N;;;;; +FDA1;ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 062A 062E 064A;;;;N;;;;; +FDA2;ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 062E 0649;;;;N;;;;; +FDA3;ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062A 0645 064A;;;;N;;;;; +FDA4;ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 0645 0649;;;;N;;;;; +FDA5;ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062C 0645 064A;;;;N;;;;; +FDA6;ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 062D 0649;;;;N;;;;; +FDA7;ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 0645 0649;;;;N;;;;; +FDA8;ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 062E 0649;;;;N;;;;; +FDA9;ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0635 062D 064A;;;;N;;;;; +FDAA;ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0634 062D 064A;;;;N;;;;; +FDAB;ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0636 062D 064A;;;;N;;;;; +FDAC;ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0644 062C 064A;;;;N;;;;; +FDAD;ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0644 0645 064A;;;;N;;;;; +FDAE;ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 064A 062D 064A;;;;N;;;;; +FDAF;ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 064A 062C 064A;;;;N;;;;; +FDB0;ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 064A 0645 064A;;;;N;;;;; +FDB1;ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0645 0645 064A;;;;N;;;;; +FDB2;ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0642 0645 064A;;;;N;;;;; +FDB3;ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0646 062D 064A;;;;N;;;;; +FDB4;ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0642 0645 062D;;;;N;;;;; +FDB5;ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062D 0645;;;;N;;;;; +FDB6;ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0639 0645 064A;;;;N;;;;; +FDB7;ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0643 0645 064A;;;;N;;;;; +FDB8;ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0646 062C 062D;;;;N;;;;; +FDB9;ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0645 062E 064A;;;;N;;;;; +FDBA;ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062C 0645;;;;N;;;;; +FDBB;ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0643 0645 0645;;;;N;;;;; +FDBC;ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0644 062C 0645;;;;N;;;;; +FDBD;ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM;Lo;0;AL; 0646 062C 062D;;;;N;;;;; +FDBE;ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 062C 062D 064A;;;;N;;;;; +FDBF;ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 062D 062C 064A;;;;N;;;;; +FDC0;ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0645 062C 064A;;;;N;;;;; +FDC1;ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0641 0645 064A;;;;N;;;;; +FDC2;ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0628 062D 064A;;;;N;;;;; +FDC3;ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0643 0645 0645;;;;N;;;;; +FDC4;ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0639 062C 0645;;;;N;;;;; +FDC5;ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0635 0645 0645;;;;N;;;;; +FDC6;ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0633 062E 064A;;;;N;;;;; +FDC7;ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0646 062C 064A;;;;N;;;;; +FDF0;ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL; 0635 0644 06D2;;;;N;;;;; +FDF1;ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL; 0642 0644 06D2;;;;N;;;;; +FDF2;ARABIC LIGATURE ALLAH ISOLATED FORM;Lo;0;AL; 0627 0644 0644 0647;;;;N;;;;; +FDF3;ARABIC LIGATURE AKBAR ISOLATED FORM;Lo;0;AL; 0627 0643 0628 0631;;;;N;;;;; +FDF4;ARABIC LIGATURE MOHAMMAD ISOLATED FORM;Lo;0;AL; 0645 062D 0645 062F;;;;N;;;;; +FDF5;ARABIC LIGATURE SALAM ISOLATED FORM;Lo;0;AL; 0635 0644 0639 0645;;;;N;;;;; +FDF6;ARABIC LIGATURE RASOUL ISOLATED FORM;Lo;0;AL; 0631 0633 0648 0644;;;;N;;;;; +FDF7;ARABIC LIGATURE ALAYHE ISOLATED FORM;Lo;0;AL; 0639 0644 064A 0647;;;;N;;;;; +FDF8;ARABIC LIGATURE WASALLAM ISOLATED FORM;Lo;0;AL; 0648 0633 0644 0645;;;;N;;;;; +FDF9;ARABIC LIGATURE SALLA ISOLATED FORM;Lo;0;AL; 0635 0644 0649;;;;N;;;;; +FDFA;ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM;Lo;0;AL; 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;;;;N;ARABIC LETTER SALLALLAHOU ALAYHE WASALLAM;;;; +FDFB;ARABIC LIGATURE JALLAJALALOUHOU;Lo;0;AL; 062C 0644 0020 062C 0644 0627 0644 0647;;;;N;ARABIC LETTER JALLAJALALOUHOU;;;; +FDFC;RIAL SIGN;Sc;0;AL; 0631 06CC 0627 0644;;;;N;;;;; +FDFD;ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM;So;0;ON;;;;;N;;;;; +FE00;VARIATION SELECTOR-1;Mn;0;NSM;;;;;N;;;;; +FE01;VARIATION SELECTOR-2;Mn;0;NSM;;;;;N;;;;; +FE02;VARIATION SELECTOR-3;Mn;0;NSM;;;;;N;;;;; +FE03;VARIATION SELECTOR-4;Mn;0;NSM;;;;;N;;;;; +FE04;VARIATION SELECTOR-5;Mn;0;NSM;;;;;N;;;;; +FE05;VARIATION SELECTOR-6;Mn;0;NSM;;;;;N;;;;; +FE06;VARIATION SELECTOR-7;Mn;0;NSM;;;;;N;;;;; +FE07;VARIATION SELECTOR-8;Mn;0;NSM;;;;;N;;;;; +FE08;VARIATION SELECTOR-9;Mn;0;NSM;;;;;N;;;;; +FE09;VARIATION SELECTOR-10;Mn;0;NSM;;;;;N;;;;; +FE0A;VARIATION SELECTOR-11;Mn;0;NSM;;;;;N;;;;; +FE0B;VARIATION SELECTOR-12;Mn;0;NSM;;;;;N;;;;; +FE0C;VARIATION SELECTOR-13;Mn;0;NSM;;;;;N;;;;; +FE0D;VARIATION SELECTOR-14;Mn;0;NSM;;;;;N;;;;; +FE0E;VARIATION SELECTOR-15;Mn;0;NSM;;;;;N;;;;; +FE0F;VARIATION SELECTOR-16;Mn;0;NSM;;;;;N;;;;; +FE10;PRESENTATION FORM FOR VERTICAL COMMA;Po;0;ON; 002C;;;;N;;;;; +FE11;PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; +FE12;PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP;Po;0;ON; 3002;;;;N;;;;; +FE13;PRESENTATION FORM FOR VERTICAL COLON;Po;0;ON; 003A;;;;N;;;;; +FE14;PRESENTATION FORM FOR VERTICAL SEMICOLON;Po;0;ON; 003B;;;;N;;;;; +FE15;PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; +FE16;PRESENTATION FORM FOR VERTICAL QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; +FE17;PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET;Ps;0;ON; 3016;;;;N;;;;; +FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET;Pe;0;ON; 3017;;;;N;;;;; +FE19;PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS;Po;0;ON; 2026;;;;N;;;;; +FE20;COMBINING LIGATURE LEFT HALF;Mn;230;NSM;;;;;N;;;;; +FE21;COMBINING LIGATURE RIGHT HALF;Mn;230;NSM;;;;;N;;;;; +FE22;COMBINING DOUBLE TILDE LEFT HALF;Mn;230;NSM;;;;;N;;;;; +FE23;COMBINING DOUBLE TILDE RIGHT HALF;Mn;230;NSM;;;;;N;;;;; +FE24;COMBINING MACRON LEFT HALF;Mn;230;NSM;;;;;N;;;;; +FE25;COMBINING MACRON RIGHT HALF;Mn;230;NSM;;;;;N;;;;; +FE26;COMBINING CONJOINING MACRON;Mn;230;NSM;;;;;N;;;;; +FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON; 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;; +FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON; 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;; +FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON; 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;; +FE33;PRESENTATION FORM FOR VERTICAL LOW LINE;Pc;0;ON; 005F;;;;N;GLYPH FOR VERTICAL SPACING UNDERSCORE;;;; +FE34;PRESENTATION FORM FOR VERTICAL WAVY LOW LINE;Pc;0;ON; 005F;;;;N;GLYPH FOR VERTICAL SPACING WAVY UNDERSCORE;;;; +FE35;PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS;Ps;0;ON; 0028;;;;N;GLYPH FOR VERTICAL OPENING PARENTHESIS;;;; +FE36;PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;N;GLYPH FOR VERTICAL CLOSING PARENTHESIS;;;; +FE37;PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;N;GLYPH FOR VERTICAL OPENING CURLY BRACKET;;;; +FE38;PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;N;GLYPH FOR VERTICAL CLOSING CURLY BRACKET;;;; +FE39;PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET;Ps;0;ON; 3014;;;;N;GLYPH FOR VERTICAL OPENING TORTOISE SHELL BRACKET;;;; +FE3A;PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON; 3015;;;;N;GLYPH FOR VERTICAL CLOSING TORTOISE SHELL BRACKET;;;; +FE3B;PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET;Ps;0;ON; 3010;;;;N;GLYPH FOR VERTICAL OPENING BLACK LENTICULAR BRACKET;;;; +FE3C;PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON; 3011;;;;N;GLYPH FOR VERTICAL CLOSING BLACK LENTICULAR BRACKET;;;; +FE3D;PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON; 300A;;;;N;GLYPH FOR VERTICAL OPENING DOUBLE ANGLE BRACKET;;;; +FE3E;PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON; 300B;;;;N;GLYPH FOR VERTICAL CLOSING DOUBLE ANGLE BRACKET;;;; +FE3F;PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET;Ps;0;ON; 3008;;;;N;GLYPH FOR VERTICAL OPENING ANGLE BRACKET;;;; +FE40;PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET;Pe;0;ON; 3009;;;;N;GLYPH FOR VERTICAL CLOSING ANGLE BRACKET;;;; +FE41;PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET;Ps;0;ON; 300C;;;;N;GLYPH FOR VERTICAL OPENING CORNER BRACKET;;;; +FE42;PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET;Pe;0;ON; 300D;;;;N;GLYPH FOR VERTICAL CLOSING CORNER BRACKET;;;; +FE43;PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET;Ps;0;ON; 300E;;;;N;GLYPH FOR VERTICAL OPENING WHITE CORNER BRACKET;;;; +FE44;PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET;Pe;0;ON; 300F;;;;N;GLYPH FOR VERTICAL CLOSING WHITE CORNER BRACKET;;;; +FE45;SESAME DOT;Po;0;ON;;;;;N;;;;; +FE46;WHITE SESAME DOT;Po;0;ON;;;;;N;;;;; +FE47;PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET;Ps;0;ON; 005B;;;;N;;;;; +FE48;PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET;Pe;0;ON; 005D;;;;N;;;;; +FE49;DASHED OVERLINE;Po;0;ON; 203E;;;;N;SPACING DASHED OVERSCORE;;;; +FE4A;CENTRELINE OVERLINE;Po;0;ON; 203E;;;;N;SPACING CENTERLINE OVERSCORE;;;; +FE4B;WAVY OVERLINE;Po;0;ON; 203E;;;;N;SPACING WAVY OVERSCORE;;;; +FE4C;DOUBLE WAVY OVERLINE;Po;0;ON; 203E;;;;N;SPACING DOUBLE WAVY OVERSCORE;;;; +FE4D;DASHED LOW LINE;Pc;0;ON; 005F;;;;N;SPACING DASHED UNDERSCORE;;;; +FE4E;CENTRELINE LOW LINE;Pc;0;ON; 005F;;;;N;SPACING CENTERLINE UNDERSCORE;;;; +FE4F;WAVY LOW LINE;Pc;0;ON; 005F;;;;N;SPACING WAVY UNDERSCORE;;;; +FE50;SMALL COMMA;Po;0;CS; 002C;;;;N;;;;; +FE51;SMALL IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; +FE52;SMALL FULL STOP;Po;0;CS; 002E;;;;N;SMALL PERIOD;;;; +FE54;SMALL SEMICOLON;Po;0;ON; 003B;;;;N;;;;; +FE55;SMALL COLON;Po;0;CS; 003A;;;;N;;;;; +FE56;SMALL QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; +FE57;SMALL EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; +FE58;SMALL EM DASH;Pd;0;ON; 2014;;;;N;;;;; +FE59;SMALL LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SMALL OPENING PARENTHESIS;;;; +FE5A;SMALL RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SMALL CLOSING PARENTHESIS;;;; +FE5B;SMALL LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;Y;SMALL OPENING CURLY BRACKET;;;; +FE5C;SMALL RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;Y;SMALL CLOSING CURLY BRACKET;;;; +FE5D;SMALL LEFT TORTOISE SHELL BRACKET;Ps;0;ON; 3014;;;;Y;SMALL OPENING TORTOISE SHELL BRACKET;;;; +FE5E;SMALL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON; 3015;;;;Y;SMALL CLOSING TORTOISE SHELL BRACKET;;;; +FE5F;SMALL NUMBER SIGN;Po;0;ET; 0023;;;;N;;;;; +FE60;SMALL AMPERSAND;Po;0;ON; 0026;;;;N;;;;; +FE61;SMALL ASTERISK;Po;0;ON; 002A;;;;N;;;;; +FE62;SMALL PLUS SIGN;Sm;0;ES; 002B;;;;N;;;;; +FE63;SMALL HYPHEN-MINUS;Pd;0;ES; 002D;;;;N;;;;; +FE64;SMALL LESS-THAN SIGN;Sm;0;ON; 003C;;;;Y;;;;; +FE65;SMALL GREATER-THAN SIGN;Sm;0;ON; 003E;;;;Y;;;;; +FE66;SMALL EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; +FE68;SMALL REVERSE SOLIDUS;Po;0;ON; 005C;;;;N;SMALL BACKSLASH;;;; +FE69;SMALL DOLLAR SIGN;Sc;0;ET; 0024;;;;N;;;;; +FE6A;SMALL PERCENT SIGN;Po;0;ET; 0025;;;;N;;;;; +FE6B;SMALL COMMERCIAL AT;Po;0;ON; 0040;;;;N;;;;; +FE70;ARABIC FATHATAN ISOLATED FORM;Lo;0;AL; 0020 064B;;;;N;ARABIC SPACING FATHATAN;;;; +FE71;ARABIC TATWEEL WITH FATHATAN ABOVE;Lo;0;AL; 0640 064B;;;;N;ARABIC FATHATAN ON TATWEEL;;;; +FE72;ARABIC DAMMATAN ISOLATED FORM;Lo;0;AL; 0020 064C;;;;N;ARABIC SPACING DAMMATAN;;;; +FE73;ARABIC TAIL FRAGMENT;Lo;0;AL;;;;;N;;;;; +FE74;ARABIC KASRATAN ISOLATED FORM;Lo;0;AL; 0020 064D;;;;N;ARABIC SPACING KASRATAN;;;; +FE76;ARABIC FATHA ISOLATED FORM;Lo;0;AL; 0020 064E;;;;N;ARABIC SPACING FATHAH;;;; +FE77;ARABIC FATHA MEDIAL FORM;Lo;0;AL; 0640 064E;;;;N;ARABIC FATHAH ON TATWEEL;;;; +FE78;ARABIC DAMMA ISOLATED FORM;Lo;0;AL; 0020 064F;;;;N;ARABIC SPACING DAMMAH;;;; +FE79;ARABIC DAMMA MEDIAL FORM;Lo;0;AL; 0640 064F;;;;N;ARABIC DAMMAH ON TATWEEL;;;; +FE7A;ARABIC KASRA ISOLATED FORM;Lo;0;AL; 0020 0650;;;;N;ARABIC SPACING KASRAH;;;; +FE7B;ARABIC KASRA MEDIAL FORM;Lo;0;AL; 0640 0650;;;;N;ARABIC KASRAH ON TATWEEL;;;; +FE7C;ARABIC SHADDA ISOLATED FORM;Lo;0;AL; 0020 0651;;;;N;ARABIC SPACING SHADDAH;;;; +FE7D;ARABIC SHADDA MEDIAL FORM;Lo;0;AL; 0640 0651;;;;N;ARABIC SHADDAH ON TATWEEL;;;; +FE7E;ARABIC SUKUN ISOLATED FORM;Lo;0;AL; 0020 0652;;;;N;ARABIC SPACING SUKUN;;;; +FE7F;ARABIC SUKUN MEDIAL FORM;Lo;0;AL; 0640 0652;;;;N;ARABIC SUKUN ON TATWEEL;;;; +FE80;ARABIC LETTER HAMZA ISOLATED FORM;Lo;0;AL; 0621;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH;;;; +FE81;ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL; 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON ALEF;;;; +FE82;ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL; 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON ALEF;;;; +FE83;ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON ALEF;;;; +FE84;ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON ALEF;;;; +FE85;ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0624;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON WAW;;;; +FE86;ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0624;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON WAW;;;; +FE87;ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL; 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER ALEF;;;; +FE88;ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL; 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER ALEF;;;; +FE89;ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON YA;;;; +FE8A;ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON YA;;;; +FE8B;ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR INITIAL ARABIC HAMZAH ON YA;;;; +FE8C;ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR MEDIAL ARABIC HAMZAH ON YA;;;; +FE8D;ARABIC LETTER ALEF ISOLATED FORM;Lo;0;AL; 0627;;;;N;GLYPH FOR ISOLATE ARABIC ALEF;;;; +FE8E;ARABIC LETTER ALEF FINAL FORM;Lo;0;AL; 0627;;;;N;GLYPH FOR FINAL ARABIC ALEF;;;; +FE8F;ARABIC LETTER BEH ISOLATED FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR ISOLATE ARABIC BAA;;;; +FE90;ARABIC LETTER BEH FINAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR FINAL ARABIC BAA;;;; +FE91;ARABIC LETTER BEH INITIAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR INITIAL ARABIC BAA;;;; +FE92;ARABIC LETTER BEH MEDIAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR MEDIAL ARABIC BAA;;;; +FE93;ARABIC LETTER TEH MARBUTA ISOLATED FORM;Lo;0;AL; 0629;;;;N;GLYPH FOR ISOLATE ARABIC TAA MARBUTAH;;;; +FE94;ARABIC LETTER TEH MARBUTA FINAL FORM;Lo;0;AL; 0629;;;;N;GLYPH FOR FINAL ARABIC TAA MARBUTAH;;;; +FE95;ARABIC LETTER TEH ISOLATED FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR ISOLATE ARABIC TAA;;;; +FE96;ARABIC LETTER TEH FINAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR FINAL ARABIC TAA;;;; +FE97;ARABIC LETTER TEH INITIAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR INITIAL ARABIC TAA;;;; +FE98;ARABIC LETTER TEH MEDIAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR MEDIAL ARABIC TAA;;;; +FE99;ARABIC LETTER THEH ISOLATED FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR ISOLATE ARABIC THAA;;;; +FE9A;ARABIC LETTER THEH FINAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR FINAL ARABIC THAA;;;; +FE9B;ARABIC LETTER THEH INITIAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR INITIAL ARABIC THAA;;;; +FE9C;ARABIC LETTER THEH MEDIAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR MEDIAL ARABIC THAA;;;; +FE9D;ARABIC LETTER JEEM ISOLATED FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR ISOLATE ARABIC JEEM;;;; +FE9E;ARABIC LETTER JEEM FINAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR FINAL ARABIC JEEM;;;; +FE9F;ARABIC LETTER JEEM INITIAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR INITIAL ARABIC JEEM;;;; +FEA0;ARABIC LETTER JEEM MEDIAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR MEDIAL ARABIC JEEM;;;; +FEA1;ARABIC LETTER HAH ISOLATED FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR ISOLATE ARABIC HAA;;;; +FEA2;ARABIC LETTER HAH FINAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR FINAL ARABIC HAA;;;; +FEA3;ARABIC LETTER HAH INITIAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR INITIAL ARABIC HAA;;;; +FEA4;ARABIC LETTER HAH MEDIAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR MEDIAL ARABIC HAA;;;; +FEA5;ARABIC LETTER KHAH ISOLATED FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR ISOLATE ARABIC KHAA;;;; +FEA6;ARABIC LETTER KHAH FINAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR FINAL ARABIC KHAA;;;; +FEA7;ARABIC LETTER KHAH INITIAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR INITIAL ARABIC KHAA;;;; +FEA8;ARABIC LETTER KHAH MEDIAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR MEDIAL ARABIC KHAA;;;; +FEA9;ARABIC LETTER DAL ISOLATED FORM;Lo;0;AL; 062F;;;;N;GLYPH FOR ISOLATE ARABIC DAL;;;; +FEAA;ARABIC LETTER DAL FINAL FORM;Lo;0;AL; 062F;;;;N;GLYPH FOR FINAL ARABIC DAL;;;; +FEAB;ARABIC LETTER THAL ISOLATED FORM;Lo;0;AL; 0630;;;;N;GLYPH FOR ISOLATE ARABIC THAL;;;; +FEAC;ARABIC LETTER THAL FINAL FORM;Lo;0;AL; 0630;;;;N;GLYPH FOR FINAL ARABIC THAL;;;; +FEAD;ARABIC LETTER REH ISOLATED FORM;Lo;0;AL; 0631;;;;N;GLYPH FOR ISOLATE ARABIC RA;;;; +FEAE;ARABIC LETTER REH FINAL FORM;Lo;0;AL; 0631;;;;N;GLYPH FOR FINAL ARABIC RA;;;; +FEAF;ARABIC LETTER ZAIN ISOLATED FORM;Lo;0;AL; 0632;;;;N;GLYPH FOR ISOLATE ARABIC ZAIN;;;; +FEB0;ARABIC LETTER ZAIN FINAL FORM;Lo;0;AL; 0632;;;;N;GLYPH FOR FINAL ARABIC ZAIN;;;; +FEB1;ARABIC LETTER SEEN ISOLATED FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR ISOLATE ARABIC SEEN;;;; +FEB2;ARABIC LETTER SEEN FINAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR FINAL ARABIC SEEN;;;; +FEB3;ARABIC LETTER SEEN INITIAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR INITIAL ARABIC SEEN;;;; +FEB4;ARABIC LETTER SEEN MEDIAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR MEDIAL ARABIC SEEN;;;; +FEB5;ARABIC LETTER SHEEN ISOLATED FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR ISOLATE ARABIC SHEEN;;;; +FEB6;ARABIC LETTER SHEEN FINAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR FINAL ARABIC SHEEN;;;; +FEB7;ARABIC LETTER SHEEN INITIAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR INITIAL ARABIC SHEEN;;;; +FEB8;ARABIC LETTER SHEEN MEDIAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR MEDIAL ARABIC SHEEN;;;; +FEB9;ARABIC LETTER SAD ISOLATED FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR ISOLATE ARABIC SAD;;;; +FEBA;ARABIC LETTER SAD FINAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR FINAL ARABIC SAD;;;; +FEBB;ARABIC LETTER SAD INITIAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR INITIAL ARABIC SAD;;;; +FEBC;ARABIC LETTER SAD MEDIAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR MEDIAL ARABIC SAD;;;; +FEBD;ARABIC LETTER DAD ISOLATED FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR ISOLATE ARABIC DAD;;;; +FEBE;ARABIC LETTER DAD FINAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR FINAL ARABIC DAD;;;; +FEBF;ARABIC LETTER DAD INITIAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR INITIAL ARABIC DAD;;;; +FEC0;ARABIC LETTER DAD MEDIAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR MEDIAL ARABIC DAD;;;; +FEC1;ARABIC LETTER TAH ISOLATED FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR ISOLATE ARABIC TAH;;;; +FEC2;ARABIC LETTER TAH FINAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR FINAL ARABIC TAH;;;; +FEC3;ARABIC LETTER TAH INITIAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR INITIAL ARABIC TAH;;;; +FEC4;ARABIC LETTER TAH MEDIAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR MEDIAL ARABIC TAH;;;; +FEC5;ARABIC LETTER ZAH ISOLATED FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR ISOLATE ARABIC DHAH;;;; +FEC6;ARABIC LETTER ZAH FINAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR FINAL ARABIC DHAH;;;; +FEC7;ARABIC LETTER ZAH INITIAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR INITIAL ARABIC DHAH;;;; +FEC8;ARABIC LETTER ZAH MEDIAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR MEDIAL ARABIC DHAH;;;; +FEC9;ARABIC LETTER AIN ISOLATED FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR ISOLATE ARABIC AIN;;;; +FECA;ARABIC LETTER AIN FINAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR FINAL ARABIC AIN;;;; +FECB;ARABIC LETTER AIN INITIAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR INITIAL ARABIC AIN;;;; +FECC;ARABIC LETTER AIN MEDIAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR MEDIAL ARABIC AIN;;;; +FECD;ARABIC LETTER GHAIN ISOLATED FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR ISOLATE ARABIC GHAIN;;;; +FECE;ARABIC LETTER GHAIN FINAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR FINAL ARABIC GHAIN;;;; +FECF;ARABIC LETTER GHAIN INITIAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR INITIAL ARABIC GHAIN;;;; +FED0;ARABIC LETTER GHAIN MEDIAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR MEDIAL ARABIC GHAIN;;;; +FED1;ARABIC LETTER FEH ISOLATED FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR ISOLATE ARABIC FA;;;; +FED2;ARABIC LETTER FEH FINAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR FINAL ARABIC FA;;;; +FED3;ARABIC LETTER FEH INITIAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR INITIAL ARABIC FA;;;; +FED4;ARABIC LETTER FEH MEDIAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR MEDIAL ARABIC FA;;;; +FED5;ARABIC LETTER QAF ISOLATED FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR ISOLATE ARABIC QAF;;;; +FED6;ARABIC LETTER QAF FINAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR FINAL ARABIC QAF;;;; +FED7;ARABIC LETTER QAF INITIAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR INITIAL ARABIC QAF;;;; +FED8;ARABIC LETTER QAF MEDIAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR MEDIAL ARABIC QAF;;;; +FED9;ARABIC LETTER KAF ISOLATED FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR ISOLATE ARABIC CAF;;;; +FEDA;ARABIC LETTER KAF FINAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR FINAL ARABIC CAF;;;; +FEDB;ARABIC LETTER KAF INITIAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR INITIAL ARABIC CAF;;;; +FEDC;ARABIC LETTER KAF MEDIAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR MEDIAL ARABIC CAF;;;; +FEDD;ARABIC LETTER LAM ISOLATED FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR ISOLATE ARABIC LAM;;;; +FEDE;ARABIC LETTER LAM FINAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR FINAL ARABIC LAM;;;; +FEDF;ARABIC LETTER LAM INITIAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR INITIAL ARABIC LAM;;;; +FEE0;ARABIC LETTER LAM MEDIAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR MEDIAL ARABIC LAM;;;; +FEE1;ARABIC LETTER MEEM ISOLATED FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR ISOLATE ARABIC MEEM;;;; +FEE2;ARABIC LETTER MEEM FINAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR FINAL ARABIC MEEM;;;; +FEE3;ARABIC LETTER MEEM INITIAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR INITIAL ARABIC MEEM;;;; +FEE4;ARABIC LETTER MEEM MEDIAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR MEDIAL ARABIC MEEM;;;; +FEE5;ARABIC LETTER NOON ISOLATED FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR ISOLATE ARABIC NOON;;;; +FEE6;ARABIC LETTER NOON FINAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR FINAL ARABIC NOON;;;; +FEE7;ARABIC LETTER NOON INITIAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR INITIAL ARABIC NOON;;;; +FEE8;ARABIC LETTER NOON MEDIAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR MEDIAL ARABIC NOON;;;; +FEE9;ARABIC LETTER HEH ISOLATED FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR ISOLATE ARABIC HA;;;; +FEEA;ARABIC LETTER HEH FINAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR FINAL ARABIC HA;;;; +FEEB;ARABIC LETTER HEH INITIAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR INITIAL ARABIC HA;;;; +FEEC;ARABIC LETTER HEH MEDIAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR MEDIAL ARABIC HA;;;; +FEED;ARABIC LETTER WAW ISOLATED FORM;Lo;0;AL; 0648;;;;N;GLYPH FOR ISOLATE ARABIC WAW;;;; +FEEE;ARABIC LETTER WAW FINAL FORM;Lo;0;AL; 0648;;;;N;GLYPH FOR FINAL ARABIC WAW;;;; +FEEF;ARABIC LETTER ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0649;;;;N;GLYPH FOR ISOLATE ARABIC ALEF MAQSURAH;;;; +FEF0;ARABIC LETTER ALEF MAKSURA FINAL FORM;Lo;0;AL; 0649;;;;N;GLYPH FOR FINAL ARABIC ALEF MAQSURAH;;;; +FEF1;ARABIC LETTER YEH ISOLATED FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR ISOLATE ARABIC YA;;;; +FEF2;ARABIC LETTER YEH FINAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR FINAL ARABIC YA;;;; +FEF3;ARABIC LETTER YEH INITIAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR INITIAL ARABIC YA;;;; +FEF4;ARABIC LETTER YEH MEDIAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR MEDIAL ARABIC YA;;;; +FEF5;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL; 0644 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON LIGATURE LAM ALEF;;;; +FEF6;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL; 0644 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON LIGATURE LAM ALEF;;;; +FEF7;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0644 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON LIGATURE LAM ALEF;;;; +FEF8;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0644 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON LIGATURE LAM ALEF;;;; +FEF9;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL; 0644 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;; +FEFA;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL; 0644 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;; +FEFB;ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM;Lo;0;AL; 0644 0627;;;;N;GLYPH FOR ISOLATE ARABIC LIGATURE LAM ALEF;;;; +FEFC;ARABIC LIGATURE LAM WITH ALEF FINAL FORM;Lo;0;AL; 0644 0627;;;;N;GLYPH FOR FINAL ARABIC LIGATURE LAM ALEF;;;; +FEFF;ZERO WIDTH NO-BREAK SPACE;Cf;0;BN;;;;;N;BYTE ORDER MARK;;;; +FF01;FULLWIDTH EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; +FF02;FULLWIDTH QUOTATION MARK;Po;0;ON; 0022;;;;N;;;;; +FF03;FULLWIDTH NUMBER SIGN;Po;0;ET; 0023;;;;N;;;;; +FF04;FULLWIDTH DOLLAR SIGN;Sc;0;ET; 0024;;;;N;;;;; +FF05;FULLWIDTH PERCENT SIGN;Po;0;ET; 0025;;;;N;;;;; +FF06;FULLWIDTH AMPERSAND;Po;0;ON; 0026;;;;N;;;;; +FF07;FULLWIDTH APOSTROPHE;Po;0;ON; 0027;;;;N;;;;; +FF08;FULLWIDTH LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;FULLWIDTH OPENING PARENTHESIS;;;; +FF09;FULLWIDTH RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;FULLWIDTH CLOSING PARENTHESIS;;;; +FF0A;FULLWIDTH ASTERISK;Po;0;ON; 002A;;;;N;;;;; +FF0B;FULLWIDTH PLUS SIGN;Sm;0;ES; 002B;;;;N;;;;; +FF0C;FULLWIDTH COMMA;Po;0;CS; 002C;;;;N;;;;; +FF0D;FULLWIDTH HYPHEN-MINUS;Pd;0;ES; 002D;;;;N;;;;; +FF0E;FULLWIDTH FULL STOP;Po;0;CS; 002E;;;;N;FULLWIDTH PERIOD;;;; +FF0F;FULLWIDTH SOLIDUS;Po;0;CS; 002F;;;;N;FULLWIDTH SLASH;;;; +FF10;FULLWIDTH DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +FF11;FULLWIDTH DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +FF12;FULLWIDTH DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +FF13;FULLWIDTH DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +FF14;FULLWIDTH DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +FF15;FULLWIDTH DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +FF16;FULLWIDTH DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +FF17;FULLWIDTH DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +FF18;FULLWIDTH DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +FF19;FULLWIDTH DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +FF1A;FULLWIDTH COLON;Po;0;CS; 003A;;;;N;;;;; +FF1B;FULLWIDTH SEMICOLON;Po;0;ON; 003B;;;;N;;;;; +FF1C;FULLWIDTH LESS-THAN SIGN;Sm;0;ON; 003C;;;;Y;;;;; +FF1D;FULLWIDTH EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; +FF1E;FULLWIDTH GREATER-THAN SIGN;Sm;0;ON; 003E;;;;Y;;;;; +FF1F;FULLWIDTH QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; +FF20;FULLWIDTH COMMERCIAL AT;Po;0;ON; 0040;;;;N;;;;; +FF21;FULLWIDTH LATIN CAPITAL LETTER A;Lu;0;L; 0041;;;;N;;;;FF41; +FF22;FULLWIDTH LATIN CAPITAL LETTER B;Lu;0;L; 0042;;;;N;;;;FF42; +FF23;FULLWIDTH LATIN CAPITAL LETTER C;Lu;0;L; 0043;;;;N;;;;FF43; +FF24;FULLWIDTH LATIN CAPITAL LETTER D;Lu;0;L; 0044;;;;N;;;;FF44; +FF25;FULLWIDTH LATIN CAPITAL LETTER E;Lu;0;L; 0045;;;;N;;;;FF45; +FF26;FULLWIDTH LATIN CAPITAL LETTER F;Lu;0;L; 0046;;;;N;;;;FF46; +FF27;FULLWIDTH LATIN CAPITAL LETTER G;Lu;0;L; 0047;;;;N;;;;FF47; +FF28;FULLWIDTH LATIN CAPITAL LETTER H;Lu;0;L; 0048;;;;N;;;;FF48; +FF29;FULLWIDTH LATIN CAPITAL LETTER I;Lu;0;L; 0049;;;;N;;;;FF49; +FF2A;FULLWIDTH LATIN CAPITAL LETTER J;Lu;0;L; 004A;;;;N;;;;FF4A; +FF2B;FULLWIDTH LATIN CAPITAL LETTER K;Lu;0;L; 004B;;;;N;;;;FF4B; +FF2C;FULLWIDTH LATIN CAPITAL LETTER L;Lu;0;L; 004C;;;;N;;;;FF4C; +FF2D;FULLWIDTH LATIN CAPITAL LETTER M;Lu;0;L; 004D;;;;N;;;;FF4D; +FF2E;FULLWIDTH LATIN CAPITAL LETTER N;Lu;0;L; 004E;;;;N;;;;FF4E; +FF2F;FULLWIDTH LATIN CAPITAL LETTER O;Lu;0;L; 004F;;;;N;;;;FF4F; +FF30;FULLWIDTH LATIN CAPITAL LETTER P;Lu;0;L; 0050;;;;N;;;;FF50; +FF31;FULLWIDTH LATIN CAPITAL LETTER Q;Lu;0;L; 0051;;;;N;;;;FF51; +FF32;FULLWIDTH LATIN CAPITAL LETTER R;Lu;0;L; 0052;;;;N;;;;FF52; +FF33;FULLWIDTH LATIN CAPITAL LETTER S;Lu;0;L; 0053;;;;N;;;;FF53; +FF34;FULLWIDTH LATIN CAPITAL LETTER T;Lu;0;L; 0054;;;;N;;;;FF54; +FF35;FULLWIDTH LATIN CAPITAL LETTER U;Lu;0;L; 0055;;;;N;;;;FF55; +FF36;FULLWIDTH LATIN CAPITAL LETTER V;Lu;0;L; 0056;;;;N;;;;FF56; +FF37;FULLWIDTH LATIN CAPITAL LETTER W;Lu;0;L; 0057;;;;N;;;;FF57; +FF38;FULLWIDTH LATIN CAPITAL LETTER X;Lu;0;L; 0058;;;;N;;;;FF58; +FF39;FULLWIDTH LATIN CAPITAL LETTER Y;Lu;0;L; 0059;;;;N;;;;FF59; +FF3A;FULLWIDTH LATIN CAPITAL LETTER Z;Lu;0;L; 005A;;;;N;;;;FF5A; +FF3B;FULLWIDTH LEFT SQUARE BRACKET;Ps;0;ON; 005B;;;;Y;FULLWIDTH OPENING SQUARE BRACKET;;;; +FF3C;FULLWIDTH REVERSE SOLIDUS;Po;0;ON; 005C;;;;N;FULLWIDTH BACKSLASH;;;; +FF3D;FULLWIDTH RIGHT SQUARE BRACKET;Pe;0;ON; 005D;;;;Y;FULLWIDTH CLOSING SQUARE BRACKET;;;; +FF3E;FULLWIDTH CIRCUMFLEX ACCENT;Sk;0;ON; 005E;;;;N;FULLWIDTH SPACING CIRCUMFLEX;;;; +FF3F;FULLWIDTH LOW LINE;Pc;0;ON; 005F;;;;N;FULLWIDTH SPACING UNDERSCORE;;;; +FF40;FULLWIDTH GRAVE ACCENT;Sk;0;ON; 0060;;;;N;FULLWIDTH SPACING GRAVE;;;; +FF41;FULLWIDTH LATIN SMALL LETTER A;Ll;0;L; 0061;;;;N;;;FF21;;FF21 +FF42;FULLWIDTH LATIN SMALL LETTER B;Ll;0;L; 0062;;;;N;;;FF22;;FF22 +FF43;FULLWIDTH LATIN SMALL LETTER C;Ll;0;L; 0063;;;;N;;;FF23;;FF23 +FF44;FULLWIDTH LATIN SMALL LETTER D;Ll;0;L; 0064;;;;N;;;FF24;;FF24 +FF45;FULLWIDTH LATIN SMALL LETTER E;Ll;0;L; 0065;;;;N;;;FF25;;FF25 +FF46;FULLWIDTH LATIN SMALL LETTER F;Ll;0;L; 0066;;;;N;;;FF26;;FF26 +FF47;FULLWIDTH LATIN SMALL LETTER G;Ll;0;L; 0067;;;;N;;;FF27;;FF27 +FF48;FULLWIDTH LATIN SMALL LETTER H;Ll;0;L; 0068;;;;N;;;FF28;;FF28 +FF49;FULLWIDTH LATIN SMALL LETTER I;Ll;0;L; 0069;;;;N;;;FF29;;FF29 +FF4A;FULLWIDTH LATIN SMALL LETTER J;Ll;0;L; 006A;;;;N;;;FF2A;;FF2A +FF4B;FULLWIDTH LATIN SMALL LETTER K;Ll;0;L; 006B;;;;N;;;FF2B;;FF2B +FF4C;FULLWIDTH LATIN SMALL LETTER L;Ll;0;L; 006C;;;;N;;;FF2C;;FF2C +FF4D;FULLWIDTH LATIN SMALL LETTER M;Ll;0;L; 006D;;;;N;;;FF2D;;FF2D +FF4E;FULLWIDTH LATIN SMALL LETTER N;Ll;0;L; 006E;;;;N;;;FF2E;;FF2E +FF4F;FULLWIDTH LATIN SMALL LETTER O;Ll;0;L; 006F;;;;N;;;FF2F;;FF2F +FF50;FULLWIDTH LATIN SMALL LETTER P;Ll;0;L; 0070;;;;N;;;FF30;;FF30 +FF51;FULLWIDTH LATIN SMALL LETTER Q;Ll;0;L; 0071;;;;N;;;FF31;;FF31 +FF52;FULLWIDTH LATIN SMALL LETTER R;Ll;0;L; 0072;;;;N;;;FF32;;FF32 +FF53;FULLWIDTH LATIN SMALL LETTER S;Ll;0;L; 0073;;;;N;;;FF33;;FF33 +FF54;FULLWIDTH LATIN SMALL LETTER T;Ll;0;L; 0074;;;;N;;;FF34;;FF34 +FF55;FULLWIDTH LATIN SMALL LETTER U;Ll;0;L; 0075;;;;N;;;FF35;;FF35 +FF56;FULLWIDTH LATIN SMALL LETTER V;Ll;0;L; 0076;;;;N;;;FF36;;FF36 +FF57;FULLWIDTH LATIN SMALL LETTER W;Ll;0;L; 0077;;;;N;;;FF37;;FF37 +FF58;FULLWIDTH LATIN SMALL LETTER X;Ll;0;L; 0078;;;;N;;;FF38;;FF38 +FF59;FULLWIDTH LATIN SMALL LETTER Y;Ll;0;L; 0079;;;;N;;;FF39;;FF39 +FF5A;FULLWIDTH LATIN SMALL LETTER Z;Ll;0;L; 007A;;;;N;;;FF3A;;FF3A +FF5B;FULLWIDTH LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;Y;FULLWIDTH OPENING CURLY BRACKET;;;; +FF5C;FULLWIDTH VERTICAL LINE;Sm;0;ON; 007C;;;;N;FULLWIDTH VERTICAL BAR;;;; +FF5D;FULLWIDTH RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;Y;FULLWIDTH CLOSING CURLY BRACKET;;;; +FF5E;FULLWIDTH TILDE;Sm;0;ON; 007E;;;;N;FULLWIDTH SPACING TILDE;;;; +FF5F;FULLWIDTH LEFT WHITE PARENTHESIS;Ps;0;ON; 2985;;;;Y;;*;;; +FF60;FULLWIDTH RIGHT WHITE PARENTHESIS;Pe;0;ON; 2986;;;;Y;;*;;; +FF61;HALFWIDTH IDEOGRAPHIC FULL STOP;Po;0;ON; 3002;;;;N;HALFWIDTH IDEOGRAPHIC PERIOD;;;; +FF62;HALFWIDTH LEFT CORNER BRACKET;Ps;0;ON; 300C;;;;Y;HALFWIDTH OPENING CORNER BRACKET;;;; +FF63;HALFWIDTH RIGHT CORNER BRACKET;Pe;0;ON; 300D;;;;Y;HALFWIDTH CLOSING CORNER BRACKET;;;; +FF64;HALFWIDTH IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; +FF65;HALFWIDTH KATAKANA MIDDLE DOT;Po;0;ON; 30FB;;;;N;;;;; +FF66;HALFWIDTH KATAKANA LETTER WO;Lo;0;L; 30F2;;;;N;;;;; +FF67;HALFWIDTH KATAKANA LETTER SMALL A;Lo;0;L; 30A1;;;;N;;;;; +FF68;HALFWIDTH KATAKANA LETTER SMALL I;Lo;0;L; 30A3;;;;N;;;;; +FF69;HALFWIDTH KATAKANA LETTER SMALL U;Lo;0;L; 30A5;;;;N;;;;; +FF6A;HALFWIDTH KATAKANA LETTER SMALL E;Lo;0;L; 30A7;;;;N;;;;; +FF6B;HALFWIDTH KATAKANA LETTER SMALL O;Lo;0;L; 30A9;;;;N;;;;; +FF6C;HALFWIDTH KATAKANA LETTER SMALL YA;Lo;0;L; 30E3;;;;N;;;;; +FF6D;HALFWIDTH KATAKANA LETTER SMALL YU;Lo;0;L; 30E5;;;;N;;;;; +FF6E;HALFWIDTH KATAKANA LETTER SMALL YO;Lo;0;L; 30E7;;;;N;;;;; +FF6F;HALFWIDTH KATAKANA LETTER SMALL TU;Lo;0;L; 30C3;;;;N;;;;; +FF70;HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L; 30FC;;;;N;;;;; +FF71;HALFWIDTH KATAKANA LETTER A;Lo;0;L; 30A2;;;;N;;;;; +FF72;HALFWIDTH KATAKANA LETTER I;Lo;0;L; 30A4;;;;N;;;;; +FF73;HALFWIDTH KATAKANA LETTER U;Lo;0;L; 30A6;;;;N;;;;; +FF74;HALFWIDTH KATAKANA LETTER E;Lo;0;L; 30A8;;;;N;;;;; +FF75;HALFWIDTH KATAKANA LETTER O;Lo;0;L; 30AA;;;;N;;;;; +FF76;HALFWIDTH KATAKANA LETTER KA;Lo;0;L; 30AB;;;;N;;;;; +FF77;HALFWIDTH KATAKANA LETTER KI;Lo;0;L; 30AD;;;;N;;;;; +FF78;HALFWIDTH KATAKANA LETTER KU;Lo;0;L; 30AF;;;;N;;;;; +FF79;HALFWIDTH KATAKANA LETTER KE;Lo;0;L; 30B1;;;;N;;;;; +FF7A;HALFWIDTH KATAKANA LETTER KO;Lo;0;L; 30B3;;;;N;;;;; +FF7B;HALFWIDTH KATAKANA LETTER SA;Lo;0;L; 30B5;;;;N;;;;; +FF7C;HALFWIDTH KATAKANA LETTER SI;Lo;0;L; 30B7;;;;N;;;;; +FF7D;HALFWIDTH KATAKANA LETTER SU;Lo;0;L; 30B9;;;;N;;;;; +FF7E;HALFWIDTH KATAKANA LETTER SE;Lo;0;L; 30BB;;;;N;;;;; +FF7F;HALFWIDTH KATAKANA LETTER SO;Lo;0;L; 30BD;;;;N;;;;; +FF80;HALFWIDTH KATAKANA LETTER TA;Lo;0;L; 30BF;;;;N;;;;; +FF81;HALFWIDTH KATAKANA LETTER TI;Lo;0;L; 30C1;;;;N;;;;; +FF82;HALFWIDTH KATAKANA LETTER TU;Lo;0;L; 30C4;;;;N;;;;; +FF83;HALFWIDTH KATAKANA LETTER TE;Lo;0;L; 30C6;;;;N;;;;; +FF84;HALFWIDTH KATAKANA LETTER TO;Lo;0;L; 30C8;;;;N;;;;; +FF85;HALFWIDTH KATAKANA LETTER NA;Lo;0;L; 30CA;;;;N;;;;; +FF86;HALFWIDTH KATAKANA LETTER NI;Lo;0;L; 30CB;;;;N;;;;; +FF87;HALFWIDTH KATAKANA LETTER NU;Lo;0;L; 30CC;;;;N;;;;; +FF88;HALFWIDTH KATAKANA LETTER NE;Lo;0;L; 30CD;;;;N;;;;; +FF89;HALFWIDTH KATAKANA LETTER NO;Lo;0;L; 30CE;;;;N;;;;; +FF8A;HALFWIDTH KATAKANA LETTER HA;Lo;0;L; 30CF;;;;N;;;;; +FF8B;HALFWIDTH KATAKANA LETTER HI;Lo;0;L; 30D2;;;;N;;;;; +FF8C;HALFWIDTH KATAKANA LETTER HU;Lo;0;L; 30D5;;;;N;;;;; +FF8D;HALFWIDTH KATAKANA LETTER HE;Lo;0;L; 30D8;;;;N;;;;; +FF8E;HALFWIDTH KATAKANA LETTER HO;Lo;0;L; 30DB;;;;N;;;;; +FF8F;HALFWIDTH KATAKANA LETTER MA;Lo;0;L; 30DE;;;;N;;;;; +FF90;HALFWIDTH KATAKANA LETTER MI;Lo;0;L; 30DF;;;;N;;;;; +FF91;HALFWIDTH KATAKANA LETTER MU;Lo;0;L; 30E0;;;;N;;;;; +FF92;HALFWIDTH KATAKANA LETTER ME;Lo;0;L; 30E1;;;;N;;;;; +FF93;HALFWIDTH KATAKANA LETTER MO;Lo;0;L; 30E2;;;;N;;;;; +FF94;HALFWIDTH KATAKANA LETTER YA;Lo;0;L; 30E4;;;;N;;;;; +FF95;HALFWIDTH KATAKANA LETTER YU;Lo;0;L; 30E6;;;;N;;;;; +FF96;HALFWIDTH KATAKANA LETTER YO;Lo;0;L; 30E8;;;;N;;;;; +FF97;HALFWIDTH KATAKANA LETTER RA;Lo;0;L; 30E9;;;;N;;;;; +FF98;HALFWIDTH KATAKANA LETTER RI;Lo;0;L; 30EA;;;;N;;;;; +FF99;HALFWIDTH KATAKANA LETTER RU;Lo;0;L; 30EB;;;;N;;;;; +FF9A;HALFWIDTH KATAKANA LETTER RE;Lo;0;L; 30EC;;;;N;;;;; +FF9B;HALFWIDTH KATAKANA LETTER RO;Lo;0;L; 30ED;;;;N;;;;; +FF9C;HALFWIDTH KATAKANA LETTER WA;Lo;0;L; 30EF;;;;N;;;;; +FF9D;HALFWIDTH KATAKANA LETTER N;Lo;0;L; 30F3;;;;N;;;;; +FF9E;HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L; 3099;;;;N;;halfwidth katakana-hiragana voiced sound mark;;; +FF9F;HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L; 309A;;;;N;;halfwidth katakana-hiragana semi-voiced sound mark;;; +FFA0;HALFWIDTH HANGUL FILLER;Lo;0;L; 3164;;;;N;HALFWIDTH HANGUL CAE OM;;;; +FFA1;HALFWIDTH HANGUL LETTER KIYEOK;Lo;0;L; 3131;;;;N;HALFWIDTH HANGUL LETTER GIYEOG;;;; +FFA2;HALFWIDTH HANGUL LETTER SSANGKIYEOK;Lo;0;L; 3132;;;;N;HALFWIDTH HANGUL LETTER SSANG GIYEOG;;;; +FFA3;HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;; +FFA4;HALFWIDTH HANGUL LETTER NIEUN;Lo;0;L; 3134;;;;N;;;;; +FFA5;HALFWIDTH HANGUL LETTER NIEUN-CIEUC;Lo;0;L; 3135;;;;N;HALFWIDTH HANGUL LETTER NIEUN JIEUJ;;;; +FFA6;HALFWIDTH HANGUL LETTER NIEUN-HIEUH;Lo;0;L; 3136;;;;N;HALFWIDTH HANGUL LETTER NIEUN HIEUH;;;; +FFA7;HALFWIDTH HANGUL LETTER TIKEUT;Lo;0;L; 3137;;;;N;HALFWIDTH HANGUL LETTER DIGEUD;;;; +FFA8;HALFWIDTH HANGUL LETTER SSANGTIKEUT;Lo;0;L; 3138;;;;N;HALFWIDTH HANGUL LETTER SSANG DIGEUD;;;; +FFA9;HALFWIDTH HANGUL LETTER RIEUL;Lo;0;L; 3139;;;;N;HALFWIDTH HANGUL LETTER LIEUL;;;; +FFAA;HALFWIDTH HANGUL LETTER RIEUL-KIYEOK;Lo;0;L; 313A;;;;N;HALFWIDTH HANGUL LETTER LIEUL GIYEOG;;;; +FFAB;HALFWIDTH HANGUL LETTER RIEUL-MIEUM;Lo;0;L; 313B;;;;N;HALFWIDTH HANGUL LETTER LIEUL MIEUM;;;; +FFAC;HALFWIDTH HANGUL LETTER RIEUL-PIEUP;Lo;0;L; 313C;;;;N;HALFWIDTH HANGUL LETTER LIEUL BIEUB;;;; +FFAD;HALFWIDTH HANGUL LETTER RIEUL-SIOS;Lo;0;L; 313D;;;;N;HALFWIDTH HANGUL LETTER LIEUL SIOS;;;; +FFAE;HALFWIDTH HANGUL LETTER RIEUL-THIEUTH;Lo;0;L; 313E;;;;N;HALFWIDTH HANGUL LETTER LIEUL TIEUT;;;; +FFAF;HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L; 313F;;;;N;HALFWIDTH HANGUL LETTER LIEUL PIEUP;;;; +FFB0;HALFWIDTH HANGUL LETTER RIEUL-HIEUH;Lo;0;L; 3140;;;;N;HALFWIDTH HANGUL LETTER LIEUL HIEUH;;;; +FFB1;HALFWIDTH HANGUL LETTER MIEUM;Lo;0;L; 3141;;;;N;;;;; +FFB2;HALFWIDTH HANGUL LETTER PIEUP;Lo;0;L; 3142;;;;N;HALFWIDTH HANGUL LETTER BIEUB;;;; +FFB3;HALFWIDTH HANGUL LETTER SSANGPIEUP;Lo;0;L; 3143;;;;N;HALFWIDTH HANGUL LETTER SSANG BIEUB;;;; +FFB4;HALFWIDTH HANGUL LETTER PIEUP-SIOS;Lo;0;L; 3144;;;;N;HALFWIDTH HANGUL LETTER BIEUB SIOS;;;; +FFB5;HALFWIDTH HANGUL LETTER SIOS;Lo;0;L; 3145;;;;N;;;;; +FFB6;HALFWIDTH HANGUL LETTER SSANGSIOS;Lo;0;L; 3146;;;;N;HALFWIDTH HANGUL LETTER SSANG SIOS;;;; +FFB7;HALFWIDTH HANGUL LETTER IEUNG;Lo;0;L; 3147;;;;N;;;;; +FFB8;HALFWIDTH HANGUL LETTER CIEUC;Lo;0;L; 3148;;;;N;HALFWIDTH HANGUL LETTER JIEUJ;;;; +FFB9;HALFWIDTH HANGUL LETTER SSANGCIEUC;Lo;0;L; 3149;;;;N;HALFWIDTH HANGUL LETTER SSANG JIEUJ;;;; +FFBA;HALFWIDTH HANGUL LETTER CHIEUCH;Lo;0;L; 314A;;;;N;HALFWIDTH HANGUL LETTER CIEUC;;;; +FFBB;HALFWIDTH HANGUL LETTER KHIEUKH;Lo;0;L; 314B;;;;N;HALFWIDTH HANGUL LETTER KIYEOK;;;; +FFBC;HALFWIDTH HANGUL LETTER THIEUTH;Lo;0;L; 314C;;;;N;HALFWIDTH HANGUL LETTER TIEUT;;;; +FFBD;HALFWIDTH HANGUL LETTER PHIEUPH;Lo;0;L; 314D;;;;N;HALFWIDTH HANGUL LETTER PIEUP;;;; +FFBE;HALFWIDTH HANGUL LETTER HIEUH;Lo;0;L; 314E;;;;N;;;;; +FFC2;HALFWIDTH HANGUL LETTER A;Lo;0;L; 314F;;;;N;;;;; +FFC3;HALFWIDTH HANGUL LETTER AE;Lo;0;L; 3150;;;;N;;;;; +FFC4;HALFWIDTH HANGUL LETTER YA;Lo;0;L; 3151;;;;N;;;;; +FFC5;HALFWIDTH HANGUL LETTER YAE;Lo;0;L; 3152;;;;N;;;;; +FFC6;HALFWIDTH HANGUL LETTER EO;Lo;0;L; 3153;;;;N;;;;; +FFC7;HALFWIDTH HANGUL LETTER E;Lo;0;L; 3154;;;;N;;;;; +FFCA;HALFWIDTH HANGUL LETTER YEO;Lo;0;L; 3155;;;;N;;;;; +FFCB;HALFWIDTH HANGUL LETTER YE;Lo;0;L; 3156;;;;N;;;;; +FFCC;HALFWIDTH HANGUL LETTER O;Lo;0;L; 3157;;;;N;;;;; +FFCD;HALFWIDTH HANGUL LETTER WA;Lo;0;L; 3158;;;;N;;;;; +FFCE;HALFWIDTH HANGUL LETTER WAE;Lo;0;L; 3159;;;;N;;;;; +FFCF;HALFWIDTH HANGUL LETTER OE;Lo;0;L; 315A;;;;N;;;;; +FFD2;HALFWIDTH HANGUL LETTER YO;Lo;0;L; 315B;;;;N;;;;; +FFD3;HALFWIDTH HANGUL LETTER U;Lo;0;L; 315C;;;;N;;;;; +FFD4;HALFWIDTH HANGUL LETTER WEO;Lo;0;L; 315D;;;;N;;;;; +FFD5;HALFWIDTH HANGUL LETTER WE;Lo;0;L; 315E;;;;N;;;;; +FFD6;HALFWIDTH HANGUL LETTER WI;Lo;0;L; 315F;;;;N;;;;; +FFD7;HALFWIDTH HANGUL LETTER YU;Lo;0;L; 3160;;;;N;;;;; +FFDA;HALFWIDTH HANGUL LETTER EU;Lo;0;L; 3161;;;;N;;;;; +FFDB;HALFWIDTH HANGUL LETTER YI;Lo;0;L; 3162;;;;N;;;;; +FFDC;HALFWIDTH HANGUL LETTER I;Lo;0;L; 3163;;;;N;;;;; +FFE0;FULLWIDTH CENT SIGN;Sc;0;ET; 00A2;;;;N;;;;; +FFE1;FULLWIDTH POUND SIGN;Sc;0;ET; 00A3;;;;N;;;;; +FFE2;FULLWIDTH NOT SIGN;Sm;0;ON; 00AC;;;;N;;;;; +FFE3;FULLWIDTH MACRON;Sk;0;ON; 00AF;;;;N;FULLWIDTH SPACING MACRON;*;;; +FFE4;FULLWIDTH BROKEN BAR;So;0;ON; 00A6;;;;N;FULLWIDTH BROKEN VERTICAL BAR;;;; +FFE5;FULLWIDTH YEN SIGN;Sc;0;ET; 00A5;;;;N;;;;; +FFE6;FULLWIDTH WON SIGN;Sc;0;ET; 20A9;;;;N;;;;; +FFE8;HALFWIDTH FORMS LIGHT VERTICAL;So;0;ON; 2502;;;;N;;;;; +FFE9;HALFWIDTH LEFTWARDS ARROW;Sm;0;ON; 2190;;;;N;;;;; +FFEA;HALFWIDTH UPWARDS ARROW;Sm;0;ON; 2191;;;;N;;;;; +FFEB;HALFWIDTH RIGHTWARDS ARROW;Sm;0;ON; 2192;;;;N;;;;; +FFEC;HALFWIDTH DOWNWARDS ARROW;Sm;0;ON; 2193;;;;N;;;;; +FFED;HALFWIDTH BLACK SQUARE;So;0;ON; 25A0;;;;N;;;;; +FFEE;HALFWIDTH WHITE CIRCLE;So;0;ON; 25CB;;;;N;;;;; +FFF9;INTERLINEAR ANNOTATION ANCHOR;Cf;0;ON;;;;;N;;;;; +FFFA;INTERLINEAR ANNOTATION SEPARATOR;Cf;0;ON;;;;;N;;;;; +FFFB;INTERLINEAR ANNOTATION TERMINATOR;Cf;0;ON;;;;;N;;;;; +FFFC;OBJECT REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; +FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; +10000;LINEAR B SYLLABLE B008 A;Lo;0;L;;;;;N;;;;; +10001;LINEAR B SYLLABLE B038 E;Lo;0;L;;;;;N;;;;; +10002;LINEAR B SYLLABLE B028 I;Lo;0;L;;;;;N;;;;; +10003;LINEAR B SYLLABLE B061 O;Lo;0;L;;;;;N;;;;; +10004;LINEAR B SYLLABLE B010 U;Lo;0;L;;;;;N;;;;; +10005;LINEAR B SYLLABLE B001 DA;Lo;0;L;;;;;N;;;;; +10006;LINEAR B SYLLABLE B045 DE;Lo;0;L;;;;;N;;;;; +10007;LINEAR B SYLLABLE B007 DI;Lo;0;L;;;;;N;;;;; +10008;LINEAR B SYLLABLE B014 DO;Lo;0;L;;;;;N;;;;; +10009;LINEAR B SYLLABLE B051 DU;Lo;0;L;;;;;N;;;;; +1000A;LINEAR B SYLLABLE B057 JA;Lo;0;L;;;;;N;;;;; +1000B;LINEAR B SYLLABLE B046 JE;Lo;0;L;;;;;N;;;;; +1000D;LINEAR B SYLLABLE B036 JO;Lo;0;L;;;;;N;;;;; +1000E;LINEAR B SYLLABLE B065 JU;Lo;0;L;;;;;N;;;;; +1000F;LINEAR B SYLLABLE B077 KA;Lo;0;L;;;;;N;;;;; +10010;LINEAR B SYLLABLE B044 KE;Lo;0;L;;;;;N;;;;; +10011;LINEAR B SYLLABLE B067 KI;Lo;0;L;;;;;N;;;;; +10012;LINEAR B SYLLABLE B070 KO;Lo;0;L;;;;;N;;;;; +10013;LINEAR B SYLLABLE B081 KU;Lo;0;L;;;;;N;;;;; +10014;LINEAR B SYLLABLE B080 MA;Lo;0;L;;;;;N;;;;; +10015;LINEAR B SYLLABLE B013 ME;Lo;0;L;;;;;N;;;;; +10016;LINEAR B SYLLABLE B073 MI;Lo;0;L;;;;;N;;;;; +10017;LINEAR B SYLLABLE B015 MO;Lo;0;L;;;;;N;;;;; +10018;LINEAR B SYLLABLE B023 MU;Lo;0;L;;;;;N;;;;; +10019;LINEAR B SYLLABLE B006 NA;Lo;0;L;;;;;N;;;;; +1001A;LINEAR B SYLLABLE B024 NE;Lo;0;L;;;;;N;;;;; +1001B;LINEAR B SYLLABLE B030 NI;Lo;0;L;;;;;N;;;;; +1001C;LINEAR B SYLLABLE B052 NO;Lo;0;L;;;;;N;;;;; +1001D;LINEAR B SYLLABLE B055 NU;Lo;0;L;;;;;N;;;;; +1001E;LINEAR B SYLLABLE B003 PA;Lo;0;L;;;;;N;;;;; +1001F;LINEAR B SYLLABLE B072 PE;Lo;0;L;;;;;N;;;;; +10020;LINEAR B SYLLABLE B039 PI;Lo;0;L;;;;;N;;;;; +10021;LINEAR B SYLLABLE B011 PO;Lo;0;L;;;;;N;;;;; +10022;LINEAR B SYLLABLE B050 PU;Lo;0;L;;;;;N;;;;; +10023;LINEAR B SYLLABLE B016 QA;Lo;0;L;;;;;N;;;;; +10024;LINEAR B SYLLABLE B078 QE;Lo;0;L;;;;;N;;;;; +10025;LINEAR B SYLLABLE B021 QI;Lo;0;L;;;;;N;;;;; +10026;LINEAR B SYLLABLE B032 QO;Lo;0;L;;;;;N;;;;; +10028;LINEAR B SYLLABLE B060 RA;Lo;0;L;;;;;N;;;;; +10029;LINEAR B SYLLABLE B027 RE;Lo;0;L;;;;;N;;;;; +1002A;LINEAR B SYLLABLE B053 RI;Lo;0;L;;;;;N;;;;; +1002B;LINEAR B SYLLABLE B002 RO;Lo;0;L;;;;;N;;;;; +1002C;LINEAR B SYLLABLE B026 RU;Lo;0;L;;;;;N;;;;; +1002D;LINEAR B SYLLABLE B031 SA;Lo;0;L;;;;;N;;;;; +1002E;LINEAR B SYLLABLE B009 SE;Lo;0;L;;;;;N;;;;; +1002F;LINEAR B SYLLABLE B041 SI;Lo;0;L;;;;;N;;;;; +10030;LINEAR B SYLLABLE B012 SO;Lo;0;L;;;;;N;;;;; +10031;LINEAR B SYLLABLE B058 SU;Lo;0;L;;;;;N;;;;; +10032;LINEAR B SYLLABLE B059 TA;Lo;0;L;;;;;N;;;;; +10033;LINEAR B SYLLABLE B004 TE;Lo;0;L;;;;;N;;;;; +10034;LINEAR B SYLLABLE B037 TI;Lo;0;L;;;;;N;;;;; +10035;LINEAR B SYLLABLE B005 TO;Lo;0;L;;;;;N;;;;; +10036;LINEAR B SYLLABLE B069 TU;Lo;0;L;;;;;N;;;;; +10037;LINEAR B SYLLABLE B054 WA;Lo;0;L;;;;;N;;;;; +10038;LINEAR B SYLLABLE B075 WE;Lo;0;L;;;;;N;;;;; +10039;LINEAR B SYLLABLE B040 WI;Lo;0;L;;;;;N;;;;; +1003A;LINEAR B SYLLABLE B042 WO;Lo;0;L;;;;;N;;;;; +1003C;LINEAR B SYLLABLE B017 ZA;Lo;0;L;;;;;N;;;;; +1003D;LINEAR B SYLLABLE B074 ZE;Lo;0;L;;;;;N;;;;; +1003F;LINEAR B SYLLABLE B020 ZO;Lo;0;L;;;;;N;;;;; +10040;LINEAR B SYLLABLE B025 A2;Lo;0;L;;;;;N;;;;; +10041;LINEAR B SYLLABLE B043 A3;Lo;0;L;;;;;N;;;;; +10042;LINEAR B SYLLABLE B085 AU;Lo;0;L;;;;;N;;;;; +10043;LINEAR B SYLLABLE B071 DWE;Lo;0;L;;;;;N;;;;; +10044;LINEAR B SYLLABLE B090 DWO;Lo;0;L;;;;;N;;;;; +10045;LINEAR B SYLLABLE B048 NWA;Lo;0;L;;;;;N;;;;; +10046;LINEAR B SYLLABLE B029 PU2;Lo;0;L;;;;;N;;;;; +10047;LINEAR B SYLLABLE B062 PTE;Lo;0;L;;;;;N;;;;; +10048;LINEAR B SYLLABLE B076 RA2;Lo;0;L;;;;;N;;;;; +10049;LINEAR B SYLLABLE B033 RA3;Lo;0;L;;;;;N;;;;; +1004A;LINEAR B SYLLABLE B068 RO2;Lo;0;L;;;;;N;;;;; +1004B;LINEAR B SYLLABLE B066 TA2;Lo;0;L;;;;;N;;;;; +1004C;LINEAR B SYLLABLE B087 TWE;Lo;0;L;;;;;N;;;;; +1004D;LINEAR B SYLLABLE B091 TWO;Lo;0;L;;;;;N;;;;; +10050;LINEAR B SYMBOL B018;Lo;0;L;;;;;N;;;;; +10051;LINEAR B SYMBOL B019;Lo;0;L;;;;;N;;;;; +10052;LINEAR B SYMBOL B022;Lo;0;L;;;;;N;;;;; +10053;LINEAR B SYMBOL B034;Lo;0;L;;;;;N;;;;; +10054;LINEAR B SYMBOL B047;Lo;0;L;;;;;N;;;;; +10055;LINEAR B SYMBOL B049;Lo;0;L;;;;;N;;;;; +10056;LINEAR B SYMBOL B056;Lo;0;L;;;;;N;;;;; +10057;LINEAR B SYMBOL B063;Lo;0;L;;;;;N;;;;; +10058;LINEAR B SYMBOL B064;Lo;0;L;;;;;N;;;;; +10059;LINEAR B SYMBOL B079;Lo;0;L;;;;;N;;;;; +1005A;LINEAR B SYMBOL B082;Lo;0;L;;;;;N;;;;; +1005B;LINEAR B SYMBOL B083;Lo;0;L;;;;;N;;;;; +1005C;LINEAR B SYMBOL B086;Lo;0;L;;;;;N;;;;; +1005D;LINEAR B SYMBOL B089;Lo;0;L;;;;;N;;;;; +10080;LINEAR B IDEOGRAM B100 MAN;Lo;0;L;;;;;N;;;;; +10081;LINEAR B IDEOGRAM B102 WOMAN;Lo;0;L;;;;;N;;;;; +10082;LINEAR B IDEOGRAM B104 DEER;Lo;0;L;;;;;N;;;;; +10083;LINEAR B IDEOGRAM B105 EQUID;Lo;0;L;;;;;N;;;;; +10084;LINEAR B IDEOGRAM B105F MARE;Lo;0;L;;;;;N;;;;; +10085;LINEAR B IDEOGRAM B105M STALLION;Lo;0;L;;;;;N;;;;; +10086;LINEAR B IDEOGRAM B106F EWE;Lo;0;L;;;;;N;;;;; +10087;LINEAR B IDEOGRAM B106M RAM;Lo;0;L;;;;;N;;;;; +10088;LINEAR B IDEOGRAM B107F SHE-GOAT;Lo;0;L;;;;;N;;;;; +10089;LINEAR B IDEOGRAM B107M HE-GOAT;Lo;0;L;;;;;N;;;;; +1008A;LINEAR B IDEOGRAM B108F SOW;Lo;0;L;;;;;N;;;;; +1008B;LINEAR B IDEOGRAM B108M BOAR;Lo;0;L;;;;;N;;;;; +1008C;LINEAR B IDEOGRAM B109F COW;Lo;0;L;;;;;N;;;;; +1008D;LINEAR B IDEOGRAM B109M BULL;Lo;0;L;;;;;N;;;;; +1008E;LINEAR B IDEOGRAM B120 WHEAT;Lo;0;L;;;;;N;;;;; +1008F;LINEAR B IDEOGRAM B121 BARLEY;Lo;0;L;;;;;N;;;;; +10090;LINEAR B IDEOGRAM B122 OLIVE;Lo;0;L;;;;;N;;;;; +10091;LINEAR B IDEOGRAM B123 SPICE;Lo;0;L;;;;;N;;;;; +10092;LINEAR B IDEOGRAM B125 CYPERUS;Lo;0;L;;;;;N;;;;; +10093;LINEAR B MONOGRAM B127 KAPO;Lo;0;L;;;;;N;;;;; +10094;LINEAR B MONOGRAM B128 KANAKO;Lo;0;L;;;;;N;;;;; +10095;LINEAR B IDEOGRAM B130 OIL;Lo;0;L;;;;;N;;;;; +10096;LINEAR B IDEOGRAM B131 WINE;Lo;0;L;;;;;N;;;;; +10097;LINEAR B IDEOGRAM B132;Lo;0;L;;;;;N;;;;; +10098;LINEAR B MONOGRAM B133 AREPA;Lo;0;L;;;;;N;;;;; +10099;LINEAR B MONOGRAM B135 MERI;Lo;0;L;;;;;N;;;;; +1009A;LINEAR B IDEOGRAM B140 BRONZE;Lo;0;L;;;;;N;;;;; +1009B;LINEAR B IDEOGRAM B141 GOLD;Lo;0;L;;;;;N;;;;; +1009C;LINEAR B IDEOGRAM B142;Lo;0;L;;;;;N;;;;; +1009D;LINEAR B IDEOGRAM B145 WOOL;Lo;0;L;;;;;N;;;;; +1009E;LINEAR B IDEOGRAM B146;Lo;0;L;;;;;N;;;;; +1009F;LINEAR B IDEOGRAM B150;Lo;0;L;;;;;N;;;;; +100A0;LINEAR B IDEOGRAM B151 HORN;Lo;0;L;;;;;N;;;;; +100A1;LINEAR B IDEOGRAM B152;Lo;0;L;;;;;N;;;;; +100A2;LINEAR B IDEOGRAM B153;Lo;0;L;;;;;N;;;;; +100A3;LINEAR B IDEOGRAM B154;Lo;0;L;;;;;N;;;;; +100A4;LINEAR B MONOGRAM B156 TURO2;Lo;0;L;;;;;N;;;;; +100A5;LINEAR B IDEOGRAM B157;Lo;0;L;;;;;N;;;;; +100A6;LINEAR B IDEOGRAM B158;Lo;0;L;;;;;N;;;;; +100A7;LINEAR B IDEOGRAM B159 CLOTH;Lo;0;L;;;;;N;;;;; +100A8;LINEAR B IDEOGRAM B160;Lo;0;L;;;;;N;;;;; +100A9;LINEAR B IDEOGRAM B161;Lo;0;L;;;;;N;;;;; +100AA;LINEAR B IDEOGRAM B162 GARMENT;Lo;0;L;;;;;N;;;;; +100AB;LINEAR B IDEOGRAM B163 ARMOUR;Lo;0;L;;;;;N;;;;; +100AC;LINEAR B IDEOGRAM B164;Lo;0;L;;;;;N;;;;; +100AD;LINEAR B IDEOGRAM B165;Lo;0;L;;;;;N;;;;; +100AE;LINEAR B IDEOGRAM B166;Lo;0;L;;;;;N;;;;; +100AF;LINEAR B IDEOGRAM B167;Lo;0;L;;;;;N;;;;; +100B0;LINEAR B IDEOGRAM B168;Lo;0;L;;;;;N;;;;; +100B1;LINEAR B IDEOGRAM B169;Lo;0;L;;;;;N;;;;; +100B2;LINEAR B IDEOGRAM B170;Lo;0;L;;;;;N;;;;; +100B3;LINEAR B IDEOGRAM B171;Lo;0;L;;;;;N;;;;; +100B4;LINEAR B IDEOGRAM B172;Lo;0;L;;;;;N;;;;; +100B5;LINEAR B IDEOGRAM B173 MONTH;Lo;0;L;;;;;N;;;;; +100B6;LINEAR B IDEOGRAM B174;Lo;0;L;;;;;N;;;;; +100B7;LINEAR B IDEOGRAM B176 TREE;Lo;0;L;;;;;N;;;;; +100B8;LINEAR B IDEOGRAM B177;Lo;0;L;;;;;N;;;;; +100B9;LINEAR B IDEOGRAM B178;Lo;0;L;;;;;N;;;;; +100BA;LINEAR B IDEOGRAM B179;Lo;0;L;;;;;N;;;;; +100BB;LINEAR B IDEOGRAM B180;Lo;0;L;;;;;N;;;;; +100BC;LINEAR B IDEOGRAM B181;Lo;0;L;;;;;N;;;;; +100BD;LINEAR B IDEOGRAM B182;Lo;0;L;;;;;N;;;;; +100BE;LINEAR B IDEOGRAM B183;Lo;0;L;;;;;N;;;;; +100BF;LINEAR B IDEOGRAM B184;Lo;0;L;;;;;N;;;;; +100C0;LINEAR B IDEOGRAM B185;Lo;0;L;;;;;N;;;;; +100C1;LINEAR B IDEOGRAM B189;Lo;0;L;;;;;N;;;;; +100C2;LINEAR B IDEOGRAM B190;Lo;0;L;;;;;N;;;;; +100C3;LINEAR B IDEOGRAM B191 HELMET;Lo;0;L;;;;;N;;;;; +100C4;LINEAR B IDEOGRAM B220 FOOTSTOOL;Lo;0;L;;;;;N;;;;; +100C5;LINEAR B IDEOGRAM B225 BATHTUB;Lo;0;L;;;;;N;;;;; +100C6;LINEAR B IDEOGRAM B230 SPEAR;Lo;0;L;;;;;N;;;;; +100C7;LINEAR B IDEOGRAM B231 ARROW;Lo;0;L;;;;;N;;;;; +100C8;LINEAR B IDEOGRAM B232;Lo;0;L;;;;;N;;;;; +100C9;LINEAR B IDEOGRAM B233 SWORD;Lo;0;L;;;;;N;;pug;;; +100CA;LINEAR B IDEOGRAM B234;Lo;0;L;;;;;N;;;;; +100CB;LINEAR B IDEOGRAM B236;Lo;0;L;;;;;N;;gup;;; +100CC;LINEAR B IDEOGRAM B240 WHEELED CHARIOT;Lo;0;L;;;;;N;;;;; +100CD;LINEAR B IDEOGRAM B241 CHARIOT;Lo;0;L;;;;;N;;;;; +100CE;LINEAR B IDEOGRAM B242 CHARIOT FRAME;Lo;0;L;;;;;N;;;;; +100CF;LINEAR B IDEOGRAM B243 WHEEL;Lo;0;L;;;;;N;;;;; +100D0;LINEAR B IDEOGRAM B245;Lo;0;L;;;;;N;;;;; +100D1;LINEAR B IDEOGRAM B246;Lo;0;L;;;;;N;;;;; +100D2;LINEAR B MONOGRAM B247 DIPTE;Lo;0;L;;;;;N;;;;; +100D3;LINEAR B IDEOGRAM B248;Lo;0;L;;;;;N;;;;; +100D4;LINEAR B IDEOGRAM B249;Lo;0;L;;;;;N;;;;; +100D5;LINEAR B IDEOGRAM B251;Lo;0;L;;;;;N;;;;; +100D6;LINEAR B IDEOGRAM B252;Lo;0;L;;;;;N;;;;; +100D7;LINEAR B IDEOGRAM B253;Lo;0;L;;;;;N;;;;; +100D8;LINEAR B IDEOGRAM B254 DART;Lo;0;L;;;;;N;;;;; +100D9;LINEAR B IDEOGRAM B255;Lo;0;L;;;;;N;;;;; +100DA;LINEAR B IDEOGRAM B256;Lo;0;L;;;;;N;;;;; +100DB;LINEAR B IDEOGRAM B257;Lo;0;L;;;;;N;;;;; +100DC;LINEAR B IDEOGRAM B258;Lo;0;L;;;;;N;;;;; +100DD;LINEAR B IDEOGRAM B259;Lo;0;L;;;;;N;;;;; +100DE;LINEAR B IDEOGRAM VESSEL B155;Lo;0;L;;;;;N;;;;; +100DF;LINEAR B IDEOGRAM VESSEL B200;Lo;0;L;;;;;N;;;;; +100E0;LINEAR B IDEOGRAM VESSEL B201;Lo;0;L;;;;;N;;;;; +100E1;LINEAR B IDEOGRAM VESSEL B202;Lo;0;L;;;;;N;;;;; +100E2;LINEAR B IDEOGRAM VESSEL B203;Lo;0;L;;;;;N;;;;; +100E3;LINEAR B IDEOGRAM VESSEL B204;Lo;0;L;;;;;N;;;;; +100E4;LINEAR B IDEOGRAM VESSEL B205;Lo;0;L;;;;;N;;;;; +100E5;LINEAR B IDEOGRAM VESSEL B206;Lo;0;L;;;;;N;;;;; +100E6;LINEAR B IDEOGRAM VESSEL B207;Lo;0;L;;;;;N;;;;; +100E7;LINEAR B IDEOGRAM VESSEL B208;Lo;0;L;;;;;N;;;;; +100E8;LINEAR B IDEOGRAM VESSEL B209;Lo;0;L;;;;;N;;;;; +100E9;LINEAR B IDEOGRAM VESSEL B210;Lo;0;L;;;;;N;;;;; +100EA;LINEAR B IDEOGRAM VESSEL B211;Lo;0;L;;;;;N;;;;; +100EB;LINEAR B IDEOGRAM VESSEL B212;Lo;0;L;;;;;N;;;;; +100EC;LINEAR B IDEOGRAM VESSEL B213;Lo;0;L;;;;;N;;;;; +100ED;LINEAR B IDEOGRAM VESSEL B214;Lo;0;L;;;;;N;;;;; +100EE;LINEAR B IDEOGRAM VESSEL B215;Lo;0;L;;;;;N;;;;; +100EF;LINEAR B IDEOGRAM VESSEL B216;Lo;0;L;;;;;N;;;;; +100F0;LINEAR B IDEOGRAM VESSEL B217;Lo;0;L;;;;;N;;;;; +100F1;LINEAR B IDEOGRAM VESSEL B218;Lo;0;L;;;;;N;;;;; +100F2;LINEAR B IDEOGRAM VESSEL B219;Lo;0;L;;;;;N;;;;; +100F3;LINEAR B IDEOGRAM VESSEL B221;Lo;0;L;;;;;N;;;;; +100F4;LINEAR B IDEOGRAM VESSEL B222;Lo;0;L;;;;;N;;;;; +100F5;LINEAR B IDEOGRAM VESSEL B226;Lo;0;L;;;;;N;;;;; +100F6;LINEAR B IDEOGRAM VESSEL B227;Lo;0;L;;;;;N;;;;; +100F7;LINEAR B IDEOGRAM VESSEL B228;Lo;0;L;;;;;N;;;;; +100F8;LINEAR B IDEOGRAM VESSEL B229;Lo;0;L;;;;;N;;;;; +100F9;LINEAR B IDEOGRAM VESSEL B250;Lo;0;L;;;;;N;;;;; +100FA;LINEAR B IDEOGRAM VESSEL B305;Lo;0;L;;;;;N;;;;; +10100;AEGEAN WORD SEPARATOR LINE;Po;0;L;;;;;N;;;;; +10101;AEGEAN WORD SEPARATOR DOT;Po;0;ON;;;;;N;;;;; +10102;AEGEAN CHECK MARK;So;0;L;;;;;N;;;;; +10107;AEGEAN NUMBER ONE;No;0;L;;;;1;N;;;;; +10108;AEGEAN NUMBER TWO;No;0;L;;;;2;N;;;;; +10109;AEGEAN NUMBER THREE;No;0;L;;;;3;N;;;;; +1010A;AEGEAN NUMBER FOUR;No;0;L;;;;4;N;;;;; +1010B;AEGEAN NUMBER FIVE;No;0;L;;;;5;N;;;;; +1010C;AEGEAN NUMBER SIX;No;0;L;;;;6;N;;;;; +1010D;AEGEAN NUMBER SEVEN;No;0;L;;;;7;N;;;;; +1010E;AEGEAN NUMBER EIGHT;No;0;L;;;;8;N;;;;; +1010F;AEGEAN NUMBER NINE;No;0;L;;;;9;N;;;;; +10110;AEGEAN NUMBER TEN;No;0;L;;;;10;N;;;;; +10111;AEGEAN NUMBER TWENTY;No;0;L;;;;20;N;;;;; +10112;AEGEAN NUMBER THIRTY;No;0;L;;;;30;N;;;;; +10113;AEGEAN NUMBER FORTY;No;0;L;;;;40;N;;;;; +10114;AEGEAN NUMBER FIFTY;No;0;L;;;;50;N;;;;; +10115;AEGEAN NUMBER SIXTY;No;0;L;;;;60;N;;;;; +10116;AEGEAN NUMBER SEVENTY;No;0;L;;;;70;N;;;;; +10117;AEGEAN NUMBER EIGHTY;No;0;L;;;;80;N;;;;; +10118;AEGEAN NUMBER NINETY;No;0;L;;;;90;N;;;;; +10119;AEGEAN NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;; +1011A;AEGEAN NUMBER TWO HUNDRED;No;0;L;;;;200;N;;;;; +1011B;AEGEAN NUMBER THREE HUNDRED;No;0;L;;;;300;N;;;;; +1011C;AEGEAN NUMBER FOUR HUNDRED;No;0;L;;;;400;N;;;;; +1011D;AEGEAN NUMBER FIVE HUNDRED;No;0;L;;;;500;N;;;;; +1011E;AEGEAN NUMBER SIX HUNDRED;No;0;L;;;;600;N;;;;; +1011F;AEGEAN NUMBER SEVEN HUNDRED;No;0;L;;;;700;N;;;;; +10120;AEGEAN NUMBER EIGHT HUNDRED;No;0;L;;;;800;N;;;;; +10121;AEGEAN NUMBER NINE HUNDRED;No;0;L;;;;900;N;;;;; +10122;AEGEAN NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;; +10123;AEGEAN NUMBER TWO THOUSAND;No;0;L;;;;2000;N;;;;; +10124;AEGEAN NUMBER THREE THOUSAND;No;0;L;;;;3000;N;;;;; +10125;AEGEAN NUMBER FOUR THOUSAND;No;0;L;;;;4000;N;;;;; +10126;AEGEAN NUMBER FIVE THOUSAND;No;0;L;;;;5000;N;;;;; +10127;AEGEAN NUMBER SIX THOUSAND;No;0;L;;;;6000;N;;;;; +10128;AEGEAN NUMBER SEVEN THOUSAND;No;0;L;;;;7000;N;;;;; +10129;AEGEAN NUMBER EIGHT THOUSAND;No;0;L;;;;8000;N;;;;; +1012A;AEGEAN NUMBER NINE THOUSAND;No;0;L;;;;9000;N;;;;; +1012B;AEGEAN NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;; +1012C;AEGEAN NUMBER TWENTY THOUSAND;No;0;L;;;;20000;N;;;;; +1012D;AEGEAN NUMBER THIRTY THOUSAND;No;0;L;;;;30000;N;;;;; +1012E;AEGEAN NUMBER FORTY THOUSAND;No;0;L;;;;40000;N;;;;; +1012F;AEGEAN NUMBER FIFTY THOUSAND;No;0;L;;;;50000;N;;;;; +10130;AEGEAN NUMBER SIXTY THOUSAND;No;0;L;;;;60000;N;;;;; +10131;AEGEAN NUMBER SEVENTY THOUSAND;No;0;L;;;;70000;N;;;;; +10132;AEGEAN NUMBER EIGHTY THOUSAND;No;0;L;;;;80000;N;;;;; +10133;AEGEAN NUMBER NINETY THOUSAND;No;0;L;;;;90000;N;;;;; +10137;AEGEAN WEIGHT BASE UNIT;So;0;L;;;;;N;;;;; +10138;AEGEAN WEIGHT FIRST SUBUNIT;So;0;L;;;;;N;;;;; +10139;AEGEAN WEIGHT SECOND SUBUNIT;So;0;L;;;;;N;;;;; +1013A;AEGEAN WEIGHT THIRD SUBUNIT;So;0;L;;;;;N;;;;; +1013B;AEGEAN WEIGHT FOURTH SUBUNIT;So;0;L;;;;;N;;;;; +1013C;AEGEAN DRY MEASURE FIRST SUBUNIT;So;0;L;;;;;N;;;;; +1013D;AEGEAN LIQUID MEASURE FIRST SUBUNIT;So;0;L;;;;;N;;;;; +1013E;AEGEAN MEASURE SECOND SUBUNIT;So;0;L;;;;;N;;;;; +1013F;AEGEAN MEASURE THIRD SUBUNIT;So;0;L;;;;;N;;;;; +10140;GREEK ACROPHONIC ATTIC ONE QUARTER;Nl;0;ON;;;;1/4;N;;;;; +10141;GREEK ACROPHONIC ATTIC ONE HALF;Nl;0;ON;;;;1/2;N;;;;; +10142;GREEK ACROPHONIC ATTIC ONE DRACHMA;Nl;0;ON;;;;1;N;;;;; +10143;GREEK ACROPHONIC ATTIC FIVE;Nl;0;ON;;;;5;N;;;;; +10144;GREEK ACROPHONIC ATTIC FIFTY;Nl;0;ON;;;;50;N;;;;; +10145;GREEK ACROPHONIC ATTIC FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +10146;GREEK ACROPHONIC ATTIC FIVE THOUSAND;Nl;0;ON;;;;5000;N;;;;; +10147;GREEK ACROPHONIC ATTIC FIFTY THOUSAND;Nl;0;ON;;;;50000;N;;;;; +10148;GREEK ACROPHONIC ATTIC FIVE TALENTS;Nl;0;ON;;;;5;N;;;;; +10149;GREEK ACROPHONIC ATTIC TEN TALENTS;Nl;0;ON;;;;10;N;;;;; +1014A;GREEK ACROPHONIC ATTIC FIFTY TALENTS;Nl;0;ON;;;;50;N;;;;; +1014B;GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS;Nl;0;ON;;;;100;N;;;;; +1014C;GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS;Nl;0;ON;;;;500;N;;;;; +1014D;GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS;Nl;0;ON;;;;1000;N;;;;; +1014E;GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS;Nl;0;ON;;;;5000;N;;;;; +1014F;GREEK ACROPHONIC ATTIC FIVE STATERS;Nl;0;ON;;;;5;N;;;;; +10150;GREEK ACROPHONIC ATTIC TEN STATERS;Nl;0;ON;;;;10;N;;;;; +10151;GREEK ACROPHONIC ATTIC FIFTY STATERS;Nl;0;ON;;;;50;N;;;;; +10152;GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS;Nl;0;ON;;;;100;N;;;;; +10153;GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS;Nl;0;ON;;;;500;N;;;;; +10154;GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS;Nl;0;ON;;;;1000;N;;;;; +10155;GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS;Nl;0;ON;;;;10000;N;;;;; +10156;GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS;Nl;0;ON;;;;50000;N;;;;; +10157;GREEK ACROPHONIC ATTIC TEN MNAS;Nl;0;ON;;;;10;N;;;;; +10158;GREEK ACROPHONIC HERAEUM ONE PLETHRON;Nl;0;ON;;;;1;N;;;;; +10159;GREEK ACROPHONIC THESPIAN ONE;Nl;0;ON;;;;1;N;;;;; +1015A;GREEK ACROPHONIC HERMIONIAN ONE;Nl;0;ON;;;;1;N;;;;; +1015B;GREEK ACROPHONIC EPIDAUREAN TWO;Nl;0;ON;;;;2;N;;;;; +1015C;GREEK ACROPHONIC THESPIAN TWO;Nl;0;ON;;;;2;N;;;;; +1015D;GREEK ACROPHONIC CYRENAIC TWO DRACHMAS;Nl;0;ON;;;;2;N;;;;; +1015E;GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS;Nl;0;ON;;;;2;N;;;;; +1015F;GREEK ACROPHONIC TROEZENIAN FIVE;Nl;0;ON;;;;5;N;;;;; +10160;GREEK ACROPHONIC TROEZENIAN TEN;Nl;0;ON;;;;10;N;;;;; +10161;GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM;Nl;0;ON;;;;10;N;;;;; +10162;GREEK ACROPHONIC HERMIONIAN TEN;Nl;0;ON;;;;10;N;;;;; +10163;GREEK ACROPHONIC MESSENIAN TEN;Nl;0;ON;;;;10;N;;;;; +10164;GREEK ACROPHONIC THESPIAN TEN;Nl;0;ON;;;;10;N;;;;; +10165;GREEK ACROPHONIC THESPIAN THIRTY;Nl;0;ON;;;;30;N;;;;; +10166;GREEK ACROPHONIC TROEZENIAN FIFTY;Nl;0;ON;;;;50;N;;;;; +10167;GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM;Nl;0;ON;;;;50;N;;;;; +10168;GREEK ACROPHONIC HERMIONIAN FIFTY;Nl;0;ON;;;;50;N;;;;; +10169;GREEK ACROPHONIC THESPIAN FIFTY;Nl;0;ON;;;;50;N;;;;; +1016A;GREEK ACROPHONIC THESPIAN ONE HUNDRED;Nl;0;ON;;;;100;N;;;;; +1016B;GREEK ACROPHONIC THESPIAN THREE HUNDRED;Nl;0;ON;;;;300;N;;;;; +1016C;GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +1016D;GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +1016E;GREEK ACROPHONIC THESPIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +1016F;GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +10170;GREEK ACROPHONIC NAXIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +10171;GREEK ACROPHONIC THESPIAN ONE THOUSAND;Nl;0;ON;;;;1000;N;;;;; +10172;GREEK ACROPHONIC THESPIAN FIVE THOUSAND;Nl;0;ON;;;;5000;N;;;;; +10173;GREEK ACROPHONIC DELPHIC FIVE MNAS;Nl;0;ON;;;;5;N;;;;; +10174;GREEK ACROPHONIC STRATIAN FIFTY MNAS;Nl;0;ON;;;;50;N;;;;; +10175;GREEK ONE HALF SIGN;No;0;ON;;;;1/2;N;;;;; +10176;GREEK ONE HALF SIGN ALTERNATE FORM;No;0;ON;;;;1/2;N;;;;; +10177;GREEK TWO THIRDS SIGN;No;0;ON;;;;2/3;N;;;;; +10178;GREEK THREE QUARTERS SIGN;No;0;ON;;;;3/4;N;;;;; +10179;GREEK YEAR SIGN;So;0;ON;;;;;N;;;;; +1017A;GREEK TALENT SIGN;So;0;ON;;;;;N;;;;; +1017B;GREEK DRACHMA SIGN;So;0;ON;;;;;N;;;;; +1017C;GREEK OBOL SIGN;So;0;ON;;;;;N;;;;; +1017D;GREEK TWO OBOLS SIGN;So;0;ON;;;;;N;;;;; +1017E;GREEK THREE OBOLS SIGN;So;0;ON;;;;;N;;;;; +1017F;GREEK FOUR OBOLS SIGN;So;0;ON;;;;;N;;;;; +10180;GREEK FIVE OBOLS SIGN;So;0;ON;;;;;N;;;;; +10181;GREEK METRETES SIGN;So;0;ON;;;;;N;;;;; +10182;GREEK KYATHOS BASE SIGN;So;0;ON;;;;;N;;;;; +10183;GREEK LITRA SIGN;So;0;ON;;;;;N;;;;; +10184;GREEK OUNKIA SIGN;So;0;ON;;;;;N;;;;; +10185;GREEK XESTES SIGN;So;0;ON;;;;;N;;;;; +10186;GREEK ARTABE SIGN;So;0;ON;;;;;N;;;;; +10187;GREEK AROURA SIGN;So;0;ON;;;;;N;;;;; +10188;GREEK GRAMMA SIGN;So;0;ON;;;;;N;;;;; +10189;GREEK TRYBLION BASE SIGN;So;0;ON;;;;;N;;;;; +1018A;GREEK ZERO SIGN;No;0;ON;;;;0;N;;;;; +10190;ROMAN SEXTANS SIGN;So;0;ON;;;;;N;;;;; +10191;ROMAN UNCIA SIGN;So;0;ON;;;;;N;;;;; +10192;ROMAN SEMUNCIA SIGN;So;0;ON;;;;;N;;;;; +10193;ROMAN SEXTULA SIGN;So;0;ON;;;;;N;;;;; +10194;ROMAN DIMIDIA SEXTULA SIGN;So;0;ON;;;;;N;;;;; +10195;ROMAN SILIQUA SIGN;So;0;ON;;;;;N;;;;; +10196;ROMAN DENARIUS SIGN;So;0;ON;;;;;N;;;;; +10197;ROMAN QUINARIUS SIGN;So;0;ON;;;;;N;;;;; +10198;ROMAN SESTERTIUS SIGN;So;0;ON;;;;;N;;;;; +10199;ROMAN DUPONDIUS SIGN;So;0;ON;;;;;N;;;;; +1019A;ROMAN AS SIGN;So;0;ON;;;;;N;;;;; +1019B;ROMAN CENTURIAL SIGN;So;0;ON;;;;;N;;;;; +101D0;PHAISTOS DISC SIGN PEDESTRIAN;So;0;L;;;;;N;;;;; +101D1;PHAISTOS DISC SIGN PLUMED HEAD;So;0;L;;;;;N;;;;; +101D2;PHAISTOS DISC SIGN TATTOOED HEAD;So;0;L;;;;;N;;;;; +101D3;PHAISTOS DISC SIGN CAPTIVE;So;0;L;;;;;N;;;;; +101D4;PHAISTOS DISC SIGN CHILD;So;0;L;;;;;N;;;;; +101D5;PHAISTOS DISC SIGN WOMAN;So;0;L;;;;;N;;;;; +101D6;PHAISTOS DISC SIGN HELMET;So;0;L;;;;;N;;;;; +101D7;PHAISTOS DISC SIGN GAUNTLET;So;0;L;;;;;N;;;;; +101D8;PHAISTOS DISC SIGN TIARA;So;0;L;;;;;N;;;;; +101D9;PHAISTOS DISC SIGN ARROW;So;0;L;;;;;N;;;;; +101DA;PHAISTOS DISC SIGN BOW;So;0;L;;;;;N;;;;; +101DB;PHAISTOS DISC SIGN SHIELD;So;0;L;;;;;N;;;;; +101DC;PHAISTOS DISC SIGN CLUB;So;0;L;;;;;N;;;;; +101DD;PHAISTOS DISC SIGN MANACLES;So;0;L;;;;;N;;;;; +101DE;PHAISTOS DISC SIGN MATTOCK;So;0;L;;;;;N;;;;; +101DF;PHAISTOS DISC SIGN SAW;So;0;L;;;;;N;;;;; +101E0;PHAISTOS DISC SIGN LID;So;0;L;;;;;N;;;;; +101E1;PHAISTOS DISC SIGN BOOMERANG;So;0;L;;;;;N;;;;; +101E2;PHAISTOS DISC SIGN CARPENTRY PLANE;So;0;L;;;;;N;;;;; +101E3;PHAISTOS DISC SIGN DOLIUM;So;0;L;;;;;N;;;;; +101E4;PHAISTOS DISC SIGN COMB;So;0;L;;;;;N;;;;; +101E5;PHAISTOS DISC SIGN SLING;So;0;L;;;;;N;;;;; +101E6;PHAISTOS DISC SIGN COLUMN;So;0;L;;;;;N;;;;; +101E7;PHAISTOS DISC SIGN BEEHIVE;So;0;L;;;;;N;;;;; +101E8;PHAISTOS DISC SIGN SHIP;So;0;L;;;;;N;;;;; +101E9;PHAISTOS DISC SIGN HORN;So;0;L;;;;;N;;;;; +101EA;PHAISTOS DISC SIGN HIDE;So;0;L;;;;;N;;;;; +101EB;PHAISTOS DISC SIGN BULLS LEG;So;0;L;;;;;N;;;;; +101EC;PHAISTOS DISC SIGN CAT;So;0;L;;;;;N;;;;; +101ED;PHAISTOS DISC SIGN RAM;So;0;L;;;;;N;;;;; +101EE;PHAISTOS DISC SIGN EAGLE;So;0;L;;;;;N;;;;; +101EF;PHAISTOS DISC SIGN DOVE;So;0;L;;;;;N;;;;; +101F0;PHAISTOS DISC SIGN TUNNY;So;0;L;;;;;N;;;;; +101F1;PHAISTOS DISC SIGN BEE;So;0;L;;;;;N;;;;; +101F2;PHAISTOS DISC SIGN PLANE TREE;So;0;L;;;;;N;;;;; +101F3;PHAISTOS DISC SIGN VINE;So;0;L;;;;;N;;;;; +101F4;PHAISTOS DISC SIGN PAPYRUS;So;0;L;;;;;N;;;;; +101F5;PHAISTOS DISC SIGN ROSETTE;So;0;L;;;;;N;;;;; +101F6;PHAISTOS DISC SIGN LILY;So;0;L;;;;;N;;;;; +101F7;PHAISTOS DISC SIGN OX BACK;So;0;L;;;;;N;;;;; +101F8;PHAISTOS DISC SIGN FLUTE;So;0;L;;;;;N;;;;; +101F9;PHAISTOS DISC SIGN GRATER;So;0;L;;;;;N;;;;; +101FA;PHAISTOS DISC SIGN STRAINER;So;0;L;;;;;N;;;;; +101FB;PHAISTOS DISC SIGN SMALL AXE;So;0;L;;;;;N;;;;; +101FC;PHAISTOS DISC SIGN WAVY BAND;So;0;L;;;;;N;;;;; +101FD;PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE;Mn;220;NSM;;;;;N;;;;; +10280;LYCIAN LETTER A;Lo;0;L;;;;;N;;;;; +10281;LYCIAN LETTER E;Lo;0;L;;;;;N;;;;; +10282;LYCIAN LETTER B;Lo;0;L;;;;;N;;;;; +10283;LYCIAN LETTER BH;Lo;0;L;;;;;N;;;;; +10284;LYCIAN LETTER G;Lo;0;L;;;;;N;;;;; +10285;LYCIAN LETTER D;Lo;0;L;;;;;N;;;;; +10286;LYCIAN LETTER I;Lo;0;L;;;;;N;;;;; +10287;LYCIAN LETTER W;Lo;0;L;;;;;N;;;;; +10288;LYCIAN LETTER Z;Lo;0;L;;;;;N;;;;; +10289;LYCIAN LETTER TH;Lo;0;L;;;;;N;;;;; +1028A;LYCIAN LETTER J;Lo;0;L;;;;;N;;;;; +1028B;LYCIAN LETTER K;Lo;0;L;;;;;N;;;;; +1028C;LYCIAN LETTER Q;Lo;0;L;;;;;N;;;;; +1028D;LYCIAN LETTER L;Lo;0;L;;;;;N;;;;; +1028E;LYCIAN LETTER M;Lo;0;L;;;;;N;;;;; +1028F;LYCIAN LETTER N;Lo;0;L;;;;;N;;;;; +10290;LYCIAN LETTER MM;Lo;0;L;;;;;N;;;;; +10291;LYCIAN LETTER NN;Lo;0;L;;;;;N;;;;; +10292;LYCIAN LETTER U;Lo;0;L;;;;;N;;;;; +10293;LYCIAN LETTER P;Lo;0;L;;;;;N;;;;; +10294;LYCIAN LETTER KK;Lo;0;L;;;;;N;;;;; +10295;LYCIAN LETTER R;Lo;0;L;;;;;N;;;;; +10296;LYCIAN LETTER S;Lo;0;L;;;;;N;;;;; +10297;LYCIAN LETTER T;Lo;0;L;;;;;N;;;;; +10298;LYCIAN LETTER TT;Lo;0;L;;;;;N;;;;; +10299;LYCIAN LETTER AN;Lo;0;L;;;;;N;;;;; +1029A;LYCIAN LETTER EN;Lo;0;L;;;;;N;;;;; +1029B;LYCIAN LETTER H;Lo;0;L;;;;;N;;;;; +1029C;LYCIAN LETTER X;Lo;0;L;;;;;N;;;;; +102A0;CARIAN LETTER A;Lo;0;L;;;;;N;;;;; +102A1;CARIAN LETTER P2;Lo;0;L;;;;;N;;;;; +102A2;CARIAN LETTER D;Lo;0;L;;;;;N;;;;; +102A3;CARIAN LETTER L;Lo;0;L;;;;;N;;;;; +102A4;CARIAN LETTER UUU;Lo;0;L;;;;;N;;;;; +102A5;CARIAN LETTER R;Lo;0;L;;;;;N;;;;; +102A6;CARIAN LETTER LD;Lo;0;L;;;;;N;;;;; +102A7;CARIAN LETTER A2;Lo;0;L;;;;;N;;;;; +102A8;CARIAN LETTER Q;Lo;0;L;;;;;N;;;;; +102A9;CARIAN LETTER B;Lo;0;L;;;;;N;;;;; +102AA;CARIAN LETTER M;Lo;0;L;;;;;N;;;;; +102AB;CARIAN LETTER O;Lo;0;L;;;;;N;;;;; +102AC;CARIAN LETTER D2;Lo;0;L;;;;;N;;;;; +102AD;CARIAN LETTER T;Lo;0;L;;;;;N;;;;; +102AE;CARIAN LETTER SH;Lo;0;L;;;;;N;;;;; +102AF;CARIAN LETTER SH2;Lo;0;L;;;;;N;;;;; +102B0;CARIAN LETTER S;Lo;0;L;;;;;N;;;;; +102B1;CARIAN LETTER C-18;Lo;0;L;;;;;N;;;;; +102B2;CARIAN LETTER U;Lo;0;L;;;;;N;;;;; +102B3;CARIAN LETTER NN;Lo;0;L;;;;;N;;;;; +102B4;CARIAN LETTER X;Lo;0;L;;;;;N;;;;; +102B5;CARIAN LETTER N;Lo;0;L;;;;;N;;;;; +102B6;CARIAN LETTER TT2;Lo;0;L;;;;;N;;;;; +102B7;CARIAN LETTER P;Lo;0;L;;;;;N;;;;; +102B8;CARIAN LETTER SS;Lo;0;L;;;;;N;;;;; +102B9;CARIAN LETTER I;Lo;0;L;;;;;N;;;;; +102BA;CARIAN LETTER E;Lo;0;L;;;;;N;;;;; +102BB;CARIAN LETTER UUUU;Lo;0;L;;;;;N;;;;; +102BC;CARIAN LETTER K;Lo;0;L;;;;;N;;;;; +102BD;CARIAN LETTER K2;Lo;0;L;;;;;N;;;;; +102BE;CARIAN LETTER ND;Lo;0;L;;;;;N;;;;; +102BF;CARIAN LETTER UU;Lo;0;L;;;;;N;;;;; +102C0;CARIAN LETTER G;Lo;0;L;;;;;N;;;;; +102C1;CARIAN LETTER G2;Lo;0;L;;;;;N;;;;; +102C2;CARIAN LETTER ST;Lo;0;L;;;;;N;;;;; +102C3;CARIAN LETTER ST2;Lo;0;L;;;;;N;;;;; +102C4;CARIAN LETTER NG;Lo;0;L;;;;;N;;;;; +102C5;CARIAN LETTER II;Lo;0;L;;;;;N;;;;; +102C6;CARIAN LETTER C-39;Lo;0;L;;;;;N;;;;; +102C7;CARIAN LETTER TT;Lo;0;L;;;;;N;;;;; +102C8;CARIAN LETTER UUU2;Lo;0;L;;;;;N;;;;; +102C9;CARIAN LETTER RR;Lo;0;L;;;;;N;;;;; +102CA;CARIAN LETTER MB;Lo;0;L;;;;;N;;;;; +102CB;CARIAN LETTER MB2;Lo;0;L;;;;;N;;;;; +102CC;CARIAN LETTER MB3;Lo;0;L;;;;;N;;;;; +102CD;CARIAN LETTER MB4;Lo;0;L;;;;;N;;;;; +102CE;CARIAN LETTER LD2;Lo;0;L;;;;;N;;;;; +102CF;CARIAN LETTER E2;Lo;0;L;;;;;N;;;;; +102D0;CARIAN LETTER UUU3;Lo;0;L;;;;;N;;;;; +10300;OLD ITALIC LETTER A;Lo;0;L;;;;;N;;;;; +10301;OLD ITALIC LETTER BE;Lo;0;L;;;;;N;;;;; +10302;OLD ITALIC LETTER KE;Lo;0;L;;;;;N;;;;; +10303;OLD ITALIC LETTER DE;Lo;0;L;;;;;N;;;;; +10304;OLD ITALIC LETTER E;Lo;0;L;;;;;N;;;;; +10305;OLD ITALIC LETTER VE;Lo;0;L;;;;;N;;;;; +10306;OLD ITALIC LETTER ZE;Lo;0;L;;;;;N;;;;; +10307;OLD ITALIC LETTER HE;Lo;0;L;;;;;N;;;;; +10308;OLD ITALIC LETTER THE;Lo;0;L;;;;;N;;;;; +10309;OLD ITALIC LETTER I;Lo;0;L;;;;;N;;;;; +1030A;OLD ITALIC LETTER KA;Lo;0;L;;;;;N;;;;; +1030B;OLD ITALIC LETTER EL;Lo;0;L;;;;;N;;;;; +1030C;OLD ITALIC LETTER EM;Lo;0;L;;;;;N;;;;; +1030D;OLD ITALIC LETTER EN;Lo;0;L;;;;;N;;;;; +1030E;OLD ITALIC LETTER ESH;Lo;0;L;;;;;N;;;;; +1030F;OLD ITALIC LETTER O;Lo;0;L;;;;;N;;Faliscan;;; +10310;OLD ITALIC LETTER PE;Lo;0;L;;;;;N;;;;; +10311;OLD ITALIC LETTER SHE;Lo;0;L;;;;;N;;;;; +10312;OLD ITALIC LETTER KU;Lo;0;L;;;;;N;;;;; +10313;OLD ITALIC LETTER ER;Lo;0;L;;;;;N;;;;; +10314;OLD ITALIC LETTER ES;Lo;0;L;;;;;N;;;;; +10315;OLD ITALIC LETTER TE;Lo;0;L;;;;;N;;;;; +10316;OLD ITALIC LETTER U;Lo;0;L;;;;;N;;;;; +10317;OLD ITALIC LETTER EKS;Lo;0;L;;;;;N;;Faliscan;;; +10318;OLD ITALIC LETTER PHE;Lo;0;L;;;;;N;;;;; +10319;OLD ITALIC LETTER KHE;Lo;0;L;;;;;N;;;;; +1031A;OLD ITALIC LETTER EF;Lo;0;L;;;;;N;;;;; +1031B;OLD ITALIC LETTER ERS;Lo;0;L;;;;;N;;Umbrian;;; +1031C;OLD ITALIC LETTER CHE;Lo;0;L;;;;;N;;Umbrian;;; +1031D;OLD ITALIC LETTER II;Lo;0;L;;;;;N;;Oscan;;; +1031E;OLD ITALIC LETTER UU;Lo;0;L;;;;;N;;Oscan;;; +10320;OLD ITALIC NUMERAL ONE;No;0;L;;;;1;N;;;;; +10321;OLD ITALIC NUMERAL FIVE;No;0;L;;;;5;N;;;;; +10322;OLD ITALIC NUMERAL TEN;No;0;L;;;;10;N;;;;; +10323;OLD ITALIC NUMERAL FIFTY;No;0;L;;;;50;N;;;;; +10330;GOTHIC LETTER AHSA;Lo;0;L;;;;;N;;;;; +10331;GOTHIC LETTER BAIRKAN;Lo;0;L;;;;;N;;;;; +10332;GOTHIC LETTER GIBA;Lo;0;L;;;;;N;;;;; +10333;GOTHIC LETTER DAGS;Lo;0;L;;;;;N;;;;; +10334;GOTHIC LETTER AIHVUS;Lo;0;L;;;;;N;;;;; +10335;GOTHIC LETTER QAIRTHRA;Lo;0;L;;;;;N;;;;; +10336;GOTHIC LETTER IUJA;Lo;0;L;;;;;N;;;;; +10337;GOTHIC LETTER HAGL;Lo;0;L;;;;;N;;;;; +10338;GOTHIC LETTER THIUTH;Lo;0;L;;;;;N;;;;; +10339;GOTHIC LETTER EIS;Lo;0;L;;;;;N;;;;; +1033A;GOTHIC LETTER KUSMA;Lo;0;L;;;;;N;;;;; +1033B;GOTHIC LETTER LAGUS;Lo;0;L;;;;;N;;;;; +1033C;GOTHIC LETTER MANNA;Lo;0;L;;;;;N;;;;; +1033D;GOTHIC LETTER NAUTHS;Lo;0;L;;;;;N;;;;; +1033E;GOTHIC LETTER JER;Lo;0;L;;;;;N;;;;; +1033F;GOTHIC LETTER URUS;Lo;0;L;;;;;N;;;;; +10340;GOTHIC LETTER PAIRTHRA;Lo;0;L;;;;;N;;;;; +10341;GOTHIC LETTER NINETY;Nl;0;L;;;;90;N;;;;; +10342;GOTHIC LETTER RAIDA;Lo;0;L;;;;;N;;;;; +10343;GOTHIC LETTER SAUIL;Lo;0;L;;;;;N;;;;; +10344;GOTHIC LETTER TEIWS;Lo;0;L;;;;;N;;;;; +10345;GOTHIC LETTER WINJA;Lo;0;L;;;;;N;;;;; +10346;GOTHIC LETTER FAIHU;Lo;0;L;;;;;N;;;;; +10347;GOTHIC LETTER IGGWS;Lo;0;L;;;;;N;;;;; +10348;GOTHIC LETTER HWAIR;Lo;0;L;;;;;N;;;;; +10349;GOTHIC LETTER OTHAL;Lo;0;L;;;;;N;;;;; +1034A;GOTHIC LETTER NINE HUNDRED;Nl;0;L;;;;900;N;;;;; +10380;UGARITIC LETTER ALPA;Lo;0;L;;;;;N;;;;; +10381;UGARITIC LETTER BETA;Lo;0;L;;;;;N;;;;; +10382;UGARITIC LETTER GAMLA;Lo;0;L;;;;;N;;;;; +10383;UGARITIC LETTER KHA;Lo;0;L;;;;;N;;;;; +10384;UGARITIC LETTER DELTA;Lo;0;L;;;;;N;;;;; +10385;UGARITIC LETTER HO;Lo;0;L;;;;;N;;;;; +10386;UGARITIC LETTER WO;Lo;0;L;;;;;N;;;;; +10387;UGARITIC LETTER ZETA;Lo;0;L;;;;;N;;;;; +10388;UGARITIC LETTER HOTA;Lo;0;L;;;;;N;;;;; +10389;UGARITIC LETTER TET;Lo;0;L;;;;;N;;;;; +1038A;UGARITIC LETTER YOD;Lo;0;L;;;;;N;;;;; +1038B;UGARITIC LETTER KAF;Lo;0;L;;;;;N;;;;; +1038C;UGARITIC LETTER SHIN;Lo;0;L;;;;;N;;;;; +1038D;UGARITIC LETTER LAMDA;Lo;0;L;;;;;N;;;;; +1038E;UGARITIC LETTER MEM;Lo;0;L;;;;;N;;;;; +1038F;UGARITIC LETTER DHAL;Lo;0;L;;;;;N;;;;; +10390;UGARITIC LETTER NUN;Lo;0;L;;;;;N;;;;; +10391;UGARITIC LETTER ZU;Lo;0;L;;;;;N;;;;; +10392;UGARITIC LETTER SAMKA;Lo;0;L;;;;;N;;;;; +10393;UGARITIC LETTER AIN;Lo;0;L;;;;;N;;;;; +10394;UGARITIC LETTER PU;Lo;0;L;;;;;N;;;;; +10395;UGARITIC LETTER SADE;Lo;0;L;;;;;N;;;;; +10396;UGARITIC LETTER QOPA;Lo;0;L;;;;;N;;;;; +10397;UGARITIC LETTER RASHA;Lo;0;L;;;;;N;;;;; +10398;UGARITIC LETTER THANNA;Lo;0;L;;;;;N;;;;; +10399;UGARITIC LETTER GHAIN;Lo;0;L;;;;;N;;;;; +1039A;UGARITIC LETTER TO;Lo;0;L;;;;;N;;;;; +1039B;UGARITIC LETTER I;Lo;0;L;;;;;N;;;;; +1039C;UGARITIC LETTER U;Lo;0;L;;;;;N;;;;; +1039D;UGARITIC LETTER SSU;Lo;0;L;;;;;N;;;;; +1039F;UGARITIC WORD DIVIDER;Po;0;L;;;;;N;;;;; +103A0;OLD PERSIAN SIGN A;Lo;0;L;;;;;N;;;;; +103A1;OLD PERSIAN SIGN I;Lo;0;L;;;;;N;;;;; +103A2;OLD PERSIAN SIGN U;Lo;0;L;;;;;N;;;;; +103A3;OLD PERSIAN SIGN KA;Lo;0;L;;;;;N;;;;; +103A4;OLD PERSIAN SIGN KU;Lo;0;L;;;;;N;;;;; +103A5;OLD PERSIAN SIGN GA;Lo;0;L;;;;;N;;;;; +103A6;OLD PERSIAN SIGN GU;Lo;0;L;;;;;N;;;;; +103A7;OLD PERSIAN SIGN XA;Lo;0;L;;;;;N;;;;; +103A8;OLD PERSIAN SIGN CA;Lo;0;L;;;;;N;;;;; +103A9;OLD PERSIAN SIGN JA;Lo;0;L;;;;;N;;;;; +103AA;OLD PERSIAN SIGN JI;Lo;0;L;;;;;N;;;;; +103AB;OLD PERSIAN SIGN TA;Lo;0;L;;;;;N;;;;; +103AC;OLD PERSIAN SIGN TU;Lo;0;L;;;;;N;;;;; +103AD;OLD PERSIAN SIGN DA;Lo;0;L;;;;;N;;;;; +103AE;OLD PERSIAN SIGN DI;Lo;0;L;;;;;N;;;;; +103AF;OLD PERSIAN SIGN DU;Lo;0;L;;;;;N;;;;; +103B0;OLD PERSIAN SIGN THA;Lo;0;L;;;;;N;;;;; +103B1;OLD PERSIAN SIGN PA;Lo;0;L;;;;;N;;;;; +103B2;OLD PERSIAN SIGN BA;Lo;0;L;;;;;N;;;;; +103B3;OLD PERSIAN SIGN FA;Lo;0;L;;;;;N;;;;; +103B4;OLD PERSIAN SIGN NA;Lo;0;L;;;;;N;;;;; +103B5;OLD PERSIAN SIGN NU;Lo;0;L;;;;;N;;;;; +103B6;OLD PERSIAN SIGN MA;Lo;0;L;;;;;N;;;;; +103B7;OLD PERSIAN SIGN MI;Lo;0;L;;;;;N;;;;; +103B8;OLD PERSIAN SIGN MU;Lo;0;L;;;;;N;;;;; +103B9;OLD PERSIAN SIGN YA;Lo;0;L;;;;;N;;;;; +103BA;OLD PERSIAN SIGN VA;Lo;0;L;;;;;N;;;;; +103BB;OLD PERSIAN SIGN VI;Lo;0;L;;;;;N;;;;; +103BC;OLD PERSIAN SIGN RA;Lo;0;L;;;;;N;;;;; +103BD;OLD PERSIAN SIGN RU;Lo;0;L;;;;;N;;;;; +103BE;OLD PERSIAN SIGN LA;Lo;0;L;;;;;N;;;;; +103BF;OLD PERSIAN SIGN SA;Lo;0;L;;;;;N;;;;; +103C0;OLD PERSIAN SIGN ZA;Lo;0;L;;;;;N;;;;; +103C1;OLD PERSIAN SIGN SHA;Lo;0;L;;;;;N;;;;; +103C2;OLD PERSIAN SIGN SSA;Lo;0;L;;;;;N;;;;; +103C3;OLD PERSIAN SIGN HA;Lo;0;L;;;;;N;;;;; +103C8;OLD PERSIAN SIGN AURAMAZDAA;Lo;0;L;;;;;N;;;;; +103C9;OLD PERSIAN SIGN AURAMAZDAA-2;Lo;0;L;;;;;N;;;;; +103CA;OLD PERSIAN SIGN AURAMAZDAAHA;Lo;0;L;;;;;N;;;;; +103CB;OLD PERSIAN SIGN XSHAAYATHIYA;Lo;0;L;;;;;N;;;;; +103CC;OLD PERSIAN SIGN DAHYAAUSH;Lo;0;L;;;;;N;;;;; +103CD;OLD PERSIAN SIGN DAHYAAUSH-2;Lo;0;L;;;;;N;;;;; +103CE;OLD PERSIAN SIGN BAGA;Lo;0;L;;;;;N;;;;; +103CF;OLD PERSIAN SIGN BUUMISH;Lo;0;L;;;;;N;;;;; +103D0;OLD PERSIAN WORD DIVIDER;Po;0;L;;;;;N;;;;; +103D1;OLD PERSIAN NUMBER ONE;Nl;0;L;;;;1;N;;;;; +103D2;OLD PERSIAN NUMBER TWO;Nl;0;L;;;;2;N;;;;; +103D3;OLD PERSIAN NUMBER TEN;Nl;0;L;;;;10;N;;;;; +103D4;OLD PERSIAN NUMBER TWENTY;Nl;0;L;;;;20;N;;;;; +103D5;OLD PERSIAN NUMBER HUNDRED;Nl;0;L;;;;100;N;;;;; +10400;DESERET CAPITAL LETTER LONG I;Lu;0;L;;;;;N;;;;10428; +10401;DESERET CAPITAL LETTER LONG E;Lu;0;L;;;;;N;;;;10429; +10402;DESERET CAPITAL LETTER LONG A;Lu;0;L;;;;;N;;;;1042A; +10403;DESERET CAPITAL LETTER LONG AH;Lu;0;L;;;;;N;;;;1042B; +10404;DESERET CAPITAL LETTER LONG O;Lu;0;L;;;;;N;;;;1042C; +10405;DESERET CAPITAL LETTER LONG OO;Lu;0;L;;;;;N;;;;1042D; +10406;DESERET CAPITAL LETTER SHORT I;Lu;0;L;;;;;N;;;;1042E; +10407;DESERET CAPITAL LETTER SHORT E;Lu;0;L;;;;;N;;;;1042F; +10408;DESERET CAPITAL LETTER SHORT A;Lu;0;L;;;;;N;;;;10430; +10409;DESERET CAPITAL LETTER SHORT AH;Lu;0;L;;;;;N;;;;10431; +1040A;DESERET CAPITAL LETTER SHORT O;Lu;0;L;;;;;N;;;;10432; +1040B;DESERET CAPITAL LETTER SHORT OO;Lu;0;L;;;;;N;;;;10433; +1040C;DESERET CAPITAL LETTER AY;Lu;0;L;;;;;N;;;;10434; +1040D;DESERET CAPITAL LETTER OW;Lu;0;L;;;;;N;;;;10435; +1040E;DESERET CAPITAL LETTER WU;Lu;0;L;;;;;N;;;;10436; +1040F;DESERET CAPITAL LETTER YEE;Lu;0;L;;;;;N;;;;10437; +10410;DESERET CAPITAL LETTER H;Lu;0;L;;;;;N;;;;10438; +10411;DESERET CAPITAL LETTER PEE;Lu;0;L;;;;;N;;;;10439; +10412;DESERET CAPITAL LETTER BEE;Lu;0;L;;;;;N;;;;1043A; +10413;DESERET CAPITAL LETTER TEE;Lu;0;L;;;;;N;;;;1043B; +10414;DESERET CAPITAL LETTER DEE;Lu;0;L;;;;;N;;;;1043C; +10415;DESERET CAPITAL LETTER CHEE;Lu;0;L;;;;;N;;;;1043D; +10416;DESERET CAPITAL LETTER JEE;Lu;0;L;;;;;N;;;;1043E; +10417;DESERET CAPITAL LETTER KAY;Lu;0;L;;;;;N;;;;1043F; +10418;DESERET CAPITAL LETTER GAY;Lu;0;L;;;;;N;;;;10440; +10419;DESERET CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;10441; +1041A;DESERET CAPITAL LETTER VEE;Lu;0;L;;;;;N;;;;10442; +1041B;DESERET CAPITAL LETTER ETH;Lu;0;L;;;;;N;;;;10443; +1041C;DESERET CAPITAL LETTER THEE;Lu;0;L;;;;;N;;;;10444; +1041D;DESERET CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;10445; +1041E;DESERET CAPITAL LETTER ZEE;Lu;0;L;;;;;N;;;;10446; +1041F;DESERET CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;10447; +10420;DESERET CAPITAL LETTER ZHEE;Lu;0;L;;;;;N;;;;10448; +10421;DESERET CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;10449; +10422;DESERET CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;1044A; +10423;DESERET CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;1044B; +10424;DESERET CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;1044C; +10425;DESERET CAPITAL LETTER ENG;Lu;0;L;;;;;N;;;;1044D; +10426;DESERET CAPITAL LETTER OI;Lu;0;L;;;;;N;;;;1044E; +10427;DESERET CAPITAL LETTER EW;Lu;0;L;;;;;N;;;;1044F; +10428;DESERET SMALL LETTER LONG I;Ll;0;L;;;;;N;;;10400;;10400 +10429;DESERET SMALL LETTER LONG E;Ll;0;L;;;;;N;;;10401;;10401 +1042A;DESERET SMALL LETTER LONG A;Ll;0;L;;;;;N;;;10402;;10402 +1042B;DESERET SMALL LETTER LONG AH;Ll;0;L;;;;;N;;;10403;;10403 +1042C;DESERET SMALL LETTER LONG O;Ll;0;L;;;;;N;;;10404;;10404 +1042D;DESERET SMALL LETTER LONG OO;Ll;0;L;;;;;N;;;10405;;10405 +1042E;DESERET SMALL LETTER SHORT I;Ll;0;L;;;;;N;;;10406;;10406 +1042F;DESERET SMALL LETTER SHORT E;Ll;0;L;;;;;N;;;10407;;10407 +10430;DESERET SMALL LETTER SHORT A;Ll;0;L;;;;;N;;;10408;;10408 +10431;DESERET SMALL LETTER SHORT AH;Ll;0;L;;;;;N;;;10409;;10409 +10432;DESERET SMALL LETTER SHORT O;Ll;0;L;;;;;N;;;1040A;;1040A +10433;DESERET SMALL LETTER SHORT OO;Ll;0;L;;;;;N;;;1040B;;1040B +10434;DESERET SMALL LETTER AY;Ll;0;L;;;;;N;;;1040C;;1040C +10435;DESERET SMALL LETTER OW;Ll;0;L;;;;;N;;;1040D;;1040D +10436;DESERET SMALL LETTER WU;Ll;0;L;;;;;N;;;1040E;;1040E +10437;DESERET SMALL LETTER YEE;Ll;0;L;;;;;N;;;1040F;;1040F +10438;DESERET SMALL LETTER H;Ll;0;L;;;;;N;;;10410;;10410 +10439;DESERET SMALL LETTER PEE;Ll;0;L;;;;;N;;;10411;;10411 +1043A;DESERET SMALL LETTER BEE;Ll;0;L;;;;;N;;;10412;;10412 +1043B;DESERET SMALL LETTER TEE;Ll;0;L;;;;;N;;;10413;;10413 +1043C;DESERET SMALL LETTER DEE;Ll;0;L;;;;;N;;;10414;;10414 +1043D;DESERET SMALL LETTER CHEE;Ll;0;L;;;;;N;;;10415;;10415 +1043E;DESERET SMALL LETTER JEE;Ll;0;L;;;;;N;;;10416;;10416 +1043F;DESERET SMALL LETTER KAY;Ll;0;L;;;;;N;;;10417;;10417 +10440;DESERET SMALL LETTER GAY;Ll;0;L;;;;;N;;;10418;;10418 +10441;DESERET SMALL LETTER EF;Ll;0;L;;;;;N;;;10419;;10419 +10442;DESERET SMALL LETTER VEE;Ll;0;L;;;;;N;;;1041A;;1041A +10443;DESERET SMALL LETTER ETH;Ll;0;L;;;;;N;;;1041B;;1041B +10444;DESERET SMALL LETTER THEE;Ll;0;L;;;;;N;;;1041C;;1041C +10445;DESERET SMALL LETTER ES;Ll;0;L;;;;;N;;;1041D;;1041D +10446;DESERET SMALL LETTER ZEE;Ll;0;L;;;;;N;;;1041E;;1041E +10447;DESERET SMALL LETTER ESH;Ll;0;L;;;;;N;;;1041F;;1041F +10448;DESERET SMALL LETTER ZHEE;Ll;0;L;;;;;N;;;10420;;10420 +10449;DESERET SMALL LETTER ER;Ll;0;L;;;;;N;;;10421;;10421 +1044A;DESERET SMALL LETTER EL;Ll;0;L;;;;;N;;;10422;;10422 +1044B;DESERET SMALL LETTER EM;Ll;0;L;;;;;N;;;10423;;10423 +1044C;DESERET SMALL LETTER EN;Ll;0;L;;;;;N;;;10424;;10424 +1044D;DESERET SMALL LETTER ENG;Ll;0;L;;;;;N;;;10425;;10425 +1044E;DESERET SMALL LETTER OI;Ll;0;L;;;;;N;;;10426;;10426 +1044F;DESERET SMALL LETTER EW;Ll;0;L;;;;;N;;;10427;;10427 +10450;SHAVIAN LETTER PEEP;Lo;0;L;;;;;N;;;;; +10451;SHAVIAN LETTER TOT;Lo;0;L;;;;;N;;;;; +10452;SHAVIAN LETTER KICK;Lo;0;L;;;;;N;;;;; +10453;SHAVIAN LETTER FEE;Lo;0;L;;;;;N;;;;; +10454;SHAVIAN LETTER THIGH;Lo;0;L;;;;;N;;;;; +10455;SHAVIAN LETTER SO;Lo;0;L;;;;;N;;;;; +10456;SHAVIAN LETTER SURE;Lo;0;L;;;;;N;;;;; +10457;SHAVIAN LETTER CHURCH;Lo;0;L;;;;;N;;;;; +10458;SHAVIAN LETTER YEA;Lo;0;L;;;;;N;;;;; +10459;SHAVIAN LETTER HUNG;Lo;0;L;;;;;N;;;;; +1045A;SHAVIAN LETTER BIB;Lo;0;L;;;;;N;;;;; +1045B;SHAVIAN LETTER DEAD;Lo;0;L;;;;;N;;;;; +1045C;SHAVIAN LETTER GAG;Lo;0;L;;;;;N;;;;; +1045D;SHAVIAN LETTER VOW;Lo;0;L;;;;;N;;;;; +1045E;SHAVIAN LETTER THEY;Lo;0;L;;;;;N;;;;; +1045F;SHAVIAN LETTER ZOO;Lo;0;L;;;;;N;;;;; +10460;SHAVIAN LETTER MEASURE;Lo;0;L;;;;;N;;;;; +10461;SHAVIAN LETTER JUDGE;Lo;0;L;;;;;N;;;;; +10462;SHAVIAN LETTER WOE;Lo;0;L;;;;;N;;;;; +10463;SHAVIAN LETTER HA-HA;Lo;0;L;;;;;N;;;;; +10464;SHAVIAN LETTER LOLL;Lo;0;L;;;;;N;;;;; +10465;SHAVIAN LETTER MIME;Lo;0;L;;;;;N;;;;; +10466;SHAVIAN LETTER IF;Lo;0;L;;;;;N;;;;; +10467;SHAVIAN LETTER EGG;Lo;0;L;;;;;N;;;;; +10468;SHAVIAN LETTER ASH;Lo;0;L;;;;;N;;;;; +10469;SHAVIAN LETTER ADO;Lo;0;L;;;;;N;;;;; +1046A;SHAVIAN LETTER ON;Lo;0;L;;;;;N;;;;; +1046B;SHAVIAN LETTER WOOL;Lo;0;L;;;;;N;;;;; +1046C;SHAVIAN LETTER OUT;Lo;0;L;;;;;N;;;;; +1046D;SHAVIAN LETTER AH;Lo;0;L;;;;;N;;;;; +1046E;SHAVIAN LETTER ROAR;Lo;0;L;;;;;N;;;;; +1046F;SHAVIAN LETTER NUN;Lo;0;L;;;;;N;;;;; +10470;SHAVIAN LETTER EAT;Lo;0;L;;;;;N;;;;; +10471;SHAVIAN LETTER AGE;Lo;0;L;;;;;N;;;;; +10472;SHAVIAN LETTER ICE;Lo;0;L;;;;;N;;;;; +10473;SHAVIAN LETTER UP;Lo;0;L;;;;;N;;;;; +10474;SHAVIAN LETTER OAK;Lo;0;L;;;;;N;;;;; +10475;SHAVIAN LETTER OOZE;Lo;0;L;;;;;N;;;;; +10476;SHAVIAN LETTER OIL;Lo;0;L;;;;;N;;;;; +10477;SHAVIAN LETTER AWE;Lo;0;L;;;;;N;;;;; +10478;SHAVIAN LETTER ARE;Lo;0;L;;;;;N;;;;; +10479;SHAVIAN LETTER OR;Lo;0;L;;;;;N;;;;; +1047A;SHAVIAN LETTER AIR;Lo;0;L;;;;;N;;;;; +1047B;SHAVIAN LETTER ERR;Lo;0;L;;;;;N;;;;; +1047C;SHAVIAN LETTER ARRAY;Lo;0;L;;;;;N;;;;; +1047D;SHAVIAN LETTER EAR;Lo;0;L;;;;;N;;;;; +1047E;SHAVIAN LETTER IAN;Lo;0;L;;;;;N;;;;; +1047F;SHAVIAN LETTER YEW;Lo;0;L;;;;;N;;;;; +10480;OSMANYA LETTER ALEF;Lo;0;L;;;;;N;;;;; +10481;OSMANYA LETTER BA;Lo;0;L;;;;;N;;;;; +10482;OSMANYA LETTER TA;Lo;0;L;;;;;N;;;;; +10483;OSMANYA LETTER JA;Lo;0;L;;;;;N;;;;; +10484;OSMANYA LETTER XA;Lo;0;L;;;;;N;;;;; +10485;OSMANYA LETTER KHA;Lo;0;L;;;;;N;;;;; +10486;OSMANYA LETTER DEEL;Lo;0;L;;;;;N;;;;; +10487;OSMANYA LETTER RA;Lo;0;L;;;;;N;;;;; +10488;OSMANYA LETTER SA;Lo;0;L;;;;;N;;;;; +10489;OSMANYA LETTER SHIIN;Lo;0;L;;;;;N;;;;; +1048A;OSMANYA LETTER DHA;Lo;0;L;;;;;N;;;;; +1048B;OSMANYA LETTER CAYN;Lo;0;L;;;;;N;;;;; +1048C;OSMANYA LETTER GA;Lo;0;L;;;;;N;;;;; +1048D;OSMANYA LETTER FA;Lo;0;L;;;;;N;;;;; +1048E;OSMANYA LETTER QAAF;Lo;0;L;;;;;N;;;;; +1048F;OSMANYA LETTER KAAF;Lo;0;L;;;;;N;;;;; +10490;OSMANYA LETTER LAAN;Lo;0;L;;;;;N;;;;; +10491;OSMANYA LETTER MIIN;Lo;0;L;;;;;N;;;;; +10492;OSMANYA LETTER NUUN;Lo;0;L;;;;;N;;;;; +10493;OSMANYA LETTER WAW;Lo;0;L;;;;;N;;;;; +10494;OSMANYA LETTER HA;Lo;0;L;;;;;N;;;;; +10495;OSMANYA LETTER YA;Lo;0;L;;;;;N;;;;; +10496;OSMANYA LETTER A;Lo;0;L;;;;;N;;;;; +10497;OSMANYA LETTER E;Lo;0;L;;;;;N;;;;; +10498;OSMANYA LETTER I;Lo;0;L;;;;;N;;;;; +10499;OSMANYA LETTER O;Lo;0;L;;;;;N;;;;; +1049A;OSMANYA LETTER U;Lo;0;L;;;;;N;;;;; +1049B;OSMANYA LETTER AA;Lo;0;L;;;;;N;;;;; +1049C;OSMANYA LETTER EE;Lo;0;L;;;;;N;;;;; +1049D;OSMANYA LETTER OO;Lo;0;L;;;;;N;;;;; +104A0;OSMANYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +104A1;OSMANYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +104A2;OSMANYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +104A3;OSMANYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +104A4;OSMANYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +104A5;OSMANYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +104A6;OSMANYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +104A7;OSMANYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +104A8;OSMANYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +104A9;OSMANYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +10800;CYPRIOT SYLLABLE A;Lo;0;R;;;;;N;;;;; +10801;CYPRIOT SYLLABLE E;Lo;0;R;;;;;N;;;;; +10802;CYPRIOT SYLLABLE I;Lo;0;R;;;;;N;;;;; +10803;CYPRIOT SYLLABLE O;Lo;0;R;;;;;N;;;;; +10804;CYPRIOT SYLLABLE U;Lo;0;R;;;;;N;;;;; +10805;CYPRIOT SYLLABLE JA;Lo;0;R;;;;;N;;;;; +10808;CYPRIOT SYLLABLE JO;Lo;0;R;;;;;N;;;;; +1080A;CYPRIOT SYLLABLE KA;Lo;0;R;;;;;N;;;;; +1080B;CYPRIOT SYLLABLE KE;Lo;0;R;;;;;N;;;;; +1080C;CYPRIOT SYLLABLE KI;Lo;0;R;;;;;N;;;;; +1080D;CYPRIOT SYLLABLE KO;Lo;0;R;;;;;N;;;;; +1080E;CYPRIOT SYLLABLE KU;Lo;0;R;;;;;N;;;;; +1080F;CYPRIOT SYLLABLE LA;Lo;0;R;;;;;N;;;;; +10810;CYPRIOT SYLLABLE LE;Lo;0;R;;;;;N;;;;; +10811;CYPRIOT SYLLABLE LI;Lo;0;R;;;;;N;;;;; +10812;CYPRIOT SYLLABLE LO;Lo;0;R;;;;;N;;;;; +10813;CYPRIOT SYLLABLE LU;Lo;0;R;;;;;N;;;;; +10814;CYPRIOT SYLLABLE MA;Lo;0;R;;;;;N;;;;; +10815;CYPRIOT SYLLABLE ME;Lo;0;R;;;;;N;;;;; +10816;CYPRIOT SYLLABLE MI;Lo;0;R;;;;;N;;;;; +10817;CYPRIOT SYLLABLE MO;Lo;0;R;;;;;N;;;;; +10818;CYPRIOT SYLLABLE MU;Lo;0;R;;;;;N;;;;; +10819;CYPRIOT SYLLABLE NA;Lo;0;R;;;;;N;;;;; +1081A;CYPRIOT SYLLABLE NE;Lo;0;R;;;;;N;;;;; +1081B;CYPRIOT SYLLABLE NI;Lo;0;R;;;;;N;;;;; +1081C;CYPRIOT SYLLABLE NO;Lo;0;R;;;;;N;;;;; +1081D;CYPRIOT SYLLABLE NU;Lo;0;R;;;;;N;;;;; +1081E;CYPRIOT SYLLABLE PA;Lo;0;R;;;;;N;;;;; +1081F;CYPRIOT SYLLABLE PE;Lo;0;R;;;;;N;;;;; +10820;CYPRIOT SYLLABLE PI;Lo;0;R;;;;;N;;;;; +10821;CYPRIOT SYLLABLE PO;Lo;0;R;;;;;N;;;;; +10822;CYPRIOT SYLLABLE PU;Lo;0;R;;;;;N;;;;; +10823;CYPRIOT SYLLABLE RA;Lo;0;R;;;;;N;;;;; +10824;CYPRIOT SYLLABLE RE;Lo;0;R;;;;;N;;;;; +10825;CYPRIOT SYLLABLE RI;Lo;0;R;;;;;N;;;;; +10826;CYPRIOT SYLLABLE RO;Lo;0;R;;;;;N;;;;; +10827;CYPRIOT SYLLABLE RU;Lo;0;R;;;;;N;;;;; +10828;CYPRIOT SYLLABLE SA;Lo;0;R;;;;;N;;;;; +10829;CYPRIOT SYLLABLE SE;Lo;0;R;;;;;N;;;;; +1082A;CYPRIOT SYLLABLE SI;Lo;0;R;;;;;N;;;;; +1082B;CYPRIOT SYLLABLE SO;Lo;0;R;;;;;N;;;;; +1082C;CYPRIOT SYLLABLE SU;Lo;0;R;;;;;N;;;;; +1082D;CYPRIOT SYLLABLE TA;Lo;0;R;;;;;N;;;;; +1082E;CYPRIOT SYLLABLE TE;Lo;0;R;;;;;N;;;;; +1082F;CYPRIOT SYLLABLE TI;Lo;0;R;;;;;N;;;;; +10830;CYPRIOT SYLLABLE TO;Lo;0;R;;;;;N;;;;; +10831;CYPRIOT SYLLABLE TU;Lo;0;R;;;;;N;;;;; +10832;CYPRIOT SYLLABLE WA;Lo;0;R;;;;;N;;;;; +10833;CYPRIOT SYLLABLE WE;Lo;0;R;;;;;N;;;;; +10834;CYPRIOT SYLLABLE WI;Lo;0;R;;;;;N;;;;; +10835;CYPRIOT SYLLABLE WO;Lo;0;R;;;;;N;;;;; +10837;CYPRIOT SYLLABLE XA;Lo;0;R;;;;;N;;;;; +10838;CYPRIOT SYLLABLE XE;Lo;0;R;;;;;N;;;;; +1083C;CYPRIOT SYLLABLE ZA;Lo;0;R;;;;;N;;;;; +1083F;CYPRIOT SYLLABLE ZO;Lo;0;R;;;;;N;;;;; +10900;PHOENICIAN LETTER ALF;Lo;0;R;;;;;N;;;;; +10901;PHOENICIAN LETTER BET;Lo;0;R;;;;;N;;;;; +10902;PHOENICIAN LETTER GAML;Lo;0;R;;;;;N;;;;; +10903;PHOENICIAN LETTER DELT;Lo;0;R;;;;;N;;;;; +10904;PHOENICIAN LETTER HE;Lo;0;R;;;;;N;;;;; +10905;PHOENICIAN LETTER WAU;Lo;0;R;;;;;N;;;;; +10906;PHOENICIAN LETTER ZAI;Lo;0;R;;;;;N;;;;; +10907;PHOENICIAN LETTER HET;Lo;0;R;;;;;N;;;;; +10908;PHOENICIAN LETTER TET;Lo;0;R;;;;;N;;;;; +10909;PHOENICIAN LETTER YOD;Lo;0;R;;;;;N;;;;; +1090A;PHOENICIAN LETTER KAF;Lo;0;R;;;;;N;;;;; +1090B;PHOENICIAN LETTER LAMD;Lo;0;R;;;;;N;;;;; +1090C;PHOENICIAN LETTER MEM;Lo;0;R;;;;;N;;;;; +1090D;PHOENICIAN LETTER NUN;Lo;0;R;;;;;N;;;;; +1090E;PHOENICIAN LETTER SEMK;Lo;0;R;;;;;N;;;;; +1090F;PHOENICIAN LETTER AIN;Lo;0;R;;;;;N;;;;; +10910;PHOENICIAN LETTER PE;Lo;0;R;;;;;N;;;;; +10911;PHOENICIAN LETTER SADE;Lo;0;R;;;;;N;;;;; +10912;PHOENICIAN LETTER QOF;Lo;0;R;;;;;N;;;;; +10913;PHOENICIAN LETTER ROSH;Lo;0;R;;;;;N;;;;; +10914;PHOENICIAN LETTER SHIN;Lo;0;R;;;;;N;;;;; +10915;PHOENICIAN LETTER TAU;Lo;0;R;;;;;N;;;;; +10916;PHOENICIAN NUMBER ONE;No;0;R;;;;1;N;;;;; +10917;PHOENICIAN NUMBER TEN;No;0;R;;;;10;N;;;;; +10918;PHOENICIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10919;PHOENICIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +1091F;PHOENICIAN WORD SEPARATOR;Po;0;ON;;;;;N;;;;; +10920;LYDIAN LETTER A;Lo;0;R;;;;;N;;;;; +10921;LYDIAN LETTER B;Lo;0;R;;;;;N;;;;; +10922;LYDIAN LETTER G;Lo;0;R;;;;;N;;;;; +10923;LYDIAN LETTER D;Lo;0;R;;;;;N;;;;; +10924;LYDIAN LETTER E;Lo;0;R;;;;;N;;;;; +10925;LYDIAN LETTER V;Lo;0;R;;;;;N;;;;; +10926;LYDIAN LETTER I;Lo;0;R;;;;;N;;;;; +10927;LYDIAN LETTER Y;Lo;0;R;;;;;N;;;;; +10928;LYDIAN LETTER K;Lo;0;R;;;;;N;;;;; +10929;LYDIAN LETTER L;Lo;0;R;;;;;N;;;;; +1092A;LYDIAN LETTER M;Lo;0;R;;;;;N;;;;; +1092B;LYDIAN LETTER N;Lo;0;R;;;;;N;;;;; +1092C;LYDIAN LETTER O;Lo;0;R;;;;;N;;;;; +1092D;LYDIAN LETTER R;Lo;0;R;;;;;N;;;;; +1092E;LYDIAN LETTER SS;Lo;0;R;;;;;N;;;;; +1092F;LYDIAN LETTER T;Lo;0;R;;;;;N;;;;; +10930;LYDIAN LETTER U;Lo;0;R;;;;;N;;;;; +10931;LYDIAN LETTER F;Lo;0;R;;;;;N;;;;; +10932;LYDIAN LETTER Q;Lo;0;R;;;;;N;;;;; +10933;LYDIAN LETTER S;Lo;0;R;;;;;N;;;;; +10934;LYDIAN LETTER TT;Lo;0;R;;;;;N;;;;; +10935;LYDIAN LETTER AN;Lo;0;R;;;;;N;;;;; +10936;LYDIAN LETTER EN;Lo;0;R;;;;;N;;;;; +10937;LYDIAN LETTER LY;Lo;0;R;;;;;N;;;;; +10938;LYDIAN LETTER NN;Lo;0;R;;;;;N;;;;; +10939;LYDIAN LETTER C;Lo;0;R;;;;;N;;;;; +1093F;LYDIAN TRIANGULAR MARK;Po;0;R;;;;;N;;;;; +10A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;; +10A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +10A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +10A03;KHAROSHTHI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +10A05;KHAROSHTHI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +10A06;KHAROSHTHI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +10A0C;KHAROSHTHI VOWEL LENGTH MARK;Mn;0;NSM;;;;;N;;;;; +10A0D;KHAROSHTHI SIGN DOUBLE RING BELOW;Mn;220;NSM;;;;;N;;;;; +10A0E;KHAROSHTHI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +10A0F;KHAROSHTHI SIGN VISARGA;Mn;230;NSM;;;;;N;;;;; +10A10;KHAROSHTHI LETTER KA;Lo;0;R;;;;;N;;;;; +10A11;KHAROSHTHI LETTER KHA;Lo;0;R;;;;;N;;;;; +10A12;KHAROSHTHI LETTER GA;Lo;0;R;;;;;N;;;;; +10A13;KHAROSHTHI LETTER GHA;Lo;0;R;;;;;N;;;;; +10A15;KHAROSHTHI LETTER CA;Lo;0;R;;;;;N;;;;; +10A16;KHAROSHTHI LETTER CHA;Lo;0;R;;;;;N;;;;; +10A17;KHAROSHTHI LETTER JA;Lo;0;R;;;;;N;;;;; +10A19;KHAROSHTHI LETTER NYA;Lo;0;R;;;;;N;;;;; +10A1A;KHAROSHTHI LETTER TTA;Lo;0;R;;;;;N;;;;; +10A1B;KHAROSHTHI LETTER TTHA;Lo;0;R;;;;;N;;;;; +10A1C;KHAROSHTHI LETTER DDA;Lo;0;R;;;;;N;;;;; +10A1D;KHAROSHTHI LETTER DDHA;Lo;0;R;;;;;N;;;;; +10A1E;KHAROSHTHI LETTER NNA;Lo;0;R;;;;;N;;;;; +10A1F;KHAROSHTHI LETTER TA;Lo;0;R;;;;;N;;;;; +10A20;KHAROSHTHI LETTER THA;Lo;0;R;;;;;N;;;;; +10A21;KHAROSHTHI LETTER DA;Lo;0;R;;;;;N;;;;; +10A22;KHAROSHTHI LETTER DHA;Lo;0;R;;;;;N;;;;; +10A23;KHAROSHTHI LETTER NA;Lo;0;R;;;;;N;;;;; +10A24;KHAROSHTHI LETTER PA;Lo;0;R;;;;;N;;;;; +10A25;KHAROSHTHI LETTER PHA;Lo;0;R;;;;;N;;;;; +10A26;KHAROSHTHI LETTER BA;Lo;0;R;;;;;N;;;;; +10A27;KHAROSHTHI LETTER BHA;Lo;0;R;;;;;N;;;;; +10A28;KHAROSHTHI LETTER MA;Lo;0;R;;;;;N;;;;; +10A29;KHAROSHTHI LETTER YA;Lo;0;R;;;;;N;;;;; +10A2A;KHAROSHTHI LETTER RA;Lo;0;R;;;;;N;;;;; +10A2B;KHAROSHTHI LETTER LA;Lo;0;R;;;;;N;;;;; +10A2C;KHAROSHTHI LETTER VA;Lo;0;R;;;;;N;;;;; +10A2D;KHAROSHTHI LETTER SHA;Lo;0;R;;;;;N;;;;; +10A2E;KHAROSHTHI LETTER SSA;Lo;0;R;;;;;N;;;;; +10A2F;KHAROSHTHI LETTER SA;Lo;0;R;;;;;N;;;;; +10A30;KHAROSHTHI LETTER ZA;Lo;0;R;;;;;N;;;;; +10A31;KHAROSHTHI LETTER HA;Lo;0;R;;;;;N;;;;; +10A32;KHAROSHTHI LETTER KKA;Lo;0;R;;;;;N;;;;; +10A33;KHAROSHTHI LETTER TTTHA;Lo;0;R;;;;;N;;;;; +10A38;KHAROSHTHI SIGN BAR ABOVE;Mn;230;NSM;;;;;N;;;;; +10A39;KHAROSHTHI SIGN CAUDA;Mn;1;NSM;;;;;N;;;;; +10A3A;KHAROSHTHI SIGN DOT BELOW;Mn;220;NSM;;;;;N;;;;; +10A3F;KHAROSHTHI VIRAMA;Mn;9;NSM;;;;;N;;;;; +10A40;KHAROSHTHI DIGIT ONE;No;0;R;;;1;1;N;;;;; +10A41;KHAROSHTHI DIGIT TWO;No;0;R;;;2;2;N;;;;; +10A42;KHAROSHTHI DIGIT THREE;No;0;R;;;3;3;N;;;;; +10A43;KHAROSHTHI DIGIT FOUR;No;0;R;;;4;4;N;;;;; +10A44;KHAROSHTHI NUMBER TEN;No;0;R;;;;10;N;;;;; +10A45;KHAROSHTHI NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10A46;KHAROSHTHI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +10A47;KHAROSHTHI NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;; +10A50;KHAROSHTHI PUNCTUATION DOT;Po;0;R;;;;;N;;;;; +10A51;KHAROSHTHI PUNCTUATION SMALL CIRCLE;Po;0;R;;;;;N;;;;; +10A52;KHAROSHTHI PUNCTUATION CIRCLE;Po;0;R;;;;;N;;;;; +10A53;KHAROSHTHI PUNCTUATION CRESCENT BAR;Po;0;R;;;;;N;;;;; +10A54;KHAROSHTHI PUNCTUATION MANGALAM;Po;0;R;;;;;N;;;;; +10A55;KHAROSHTHI PUNCTUATION LOTUS;Po;0;R;;;;;N;;;;; +10A56;KHAROSHTHI PUNCTUATION DANDA;Po;0;R;;;;;N;;;;; +10A57;KHAROSHTHI PUNCTUATION DOUBLE DANDA;Po;0;R;;;;;N;;;;; +10A58;KHAROSHTHI PUNCTUATION LINES;Po;0;R;;;;;N;;;;; +12000;CUNEIFORM SIGN A;Lo;0;L;;;;;N;;;;; +12001;CUNEIFORM SIGN A TIMES A;Lo;0;L;;;;;N;;;;; +12002;CUNEIFORM SIGN A TIMES BAD;Lo;0;L;;;;;N;;;;; +12003;CUNEIFORM SIGN A TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +12004;CUNEIFORM SIGN A TIMES HA;Lo;0;L;;;;;N;;;;; +12005;CUNEIFORM SIGN A TIMES IGI;Lo;0;L;;;;;N;;;;; +12006;CUNEIFORM SIGN A TIMES LAGAR GUNU;Lo;0;L;;;;;N;;;;; +12007;CUNEIFORM SIGN A TIMES MUSH;Lo;0;L;;;;;N;;;;; +12008;CUNEIFORM SIGN A TIMES SAG;Lo;0;L;;;;;N;;;;; +12009;CUNEIFORM SIGN A2;Lo;0;L;;;;;N;;;;; +1200A;CUNEIFORM SIGN AB;Lo;0;L;;;;;N;;;;; +1200B;CUNEIFORM SIGN AB TIMES ASH2;Lo;0;L;;;;;N;;;;; +1200C;CUNEIFORM SIGN AB TIMES DUN3 GUNU;Lo;0;L;;;;;N;;;;; +1200D;CUNEIFORM SIGN AB TIMES GAL;Lo;0;L;;;;;N;;;;; +1200E;CUNEIFORM SIGN AB TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1200F;CUNEIFORM SIGN AB TIMES HA;Lo;0;L;;;;;N;;;;; +12010;CUNEIFORM SIGN AB TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +12011;CUNEIFORM SIGN AB TIMES IMIN;Lo;0;L;;;;;N;;;;; +12012;CUNEIFORM SIGN AB TIMES LAGAB;Lo;0;L;;;;;N;;;;; +12013;CUNEIFORM SIGN AB TIMES SHESH;Lo;0;L;;;;;N;;;;; +12014;CUNEIFORM SIGN AB TIMES U PLUS U PLUS U;Lo;0;L;;;;;N;;;;; +12015;CUNEIFORM SIGN AB GUNU;Lo;0;L;;;;;N;;;;; +12016;CUNEIFORM SIGN AB2;Lo;0;L;;;;;N;;;;; +12017;CUNEIFORM SIGN AB2 TIMES BALAG;Lo;0;L;;;;;N;;;;; +12018;CUNEIFORM SIGN AB2 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +12019;CUNEIFORM SIGN AB2 TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;; +1201A;CUNEIFORM SIGN AB2 TIMES SHA3;Lo;0;L;;;;;N;;;;; +1201B;CUNEIFORM SIGN AB2 TIMES TAK4;Lo;0;L;;;;;N;;;;; +1201C;CUNEIFORM SIGN AD;Lo;0;L;;;;;N;;;;; +1201D;CUNEIFORM SIGN AK;Lo;0;L;;;;;N;;;;; +1201E;CUNEIFORM SIGN AK TIMES ERIN2;Lo;0;L;;;;;N;;;;; +1201F;CUNEIFORM SIGN AK TIMES SHITA PLUS GISH;Lo;0;L;;;;;N;;;;; +12020;CUNEIFORM SIGN AL;Lo;0;L;;;;;N;;;;; +12021;CUNEIFORM SIGN AL TIMES AL;Lo;0;L;;;;;N;;;;; +12022;CUNEIFORM SIGN AL TIMES DIM2;Lo;0;L;;;;;N;;;;; +12023;CUNEIFORM SIGN AL TIMES GISH;Lo;0;L;;;;;N;;;;; +12024;CUNEIFORM SIGN AL TIMES HA;Lo;0;L;;;;;N;;;;; +12025;CUNEIFORM SIGN AL TIMES KAD3;Lo;0;L;;;;;N;;;;; +12026;CUNEIFORM SIGN AL TIMES KI;Lo;0;L;;;;;N;;;;; +12027;CUNEIFORM SIGN AL TIMES SHE;Lo;0;L;;;;;N;;;;; +12028;CUNEIFORM SIGN AL TIMES USH;Lo;0;L;;;;;N;;;;; +12029;CUNEIFORM SIGN ALAN;Lo;0;L;;;;;N;;;;; +1202A;CUNEIFORM SIGN ALEPH;Lo;0;L;;;;;N;;;;; +1202B;CUNEIFORM SIGN AMAR;Lo;0;L;;;;;N;;;;; +1202C;CUNEIFORM SIGN AMAR TIMES SHE;Lo;0;L;;;;;N;;;;; +1202D;CUNEIFORM SIGN AN;Lo;0;L;;;;;N;;;;; +1202E;CUNEIFORM SIGN AN OVER AN;Lo;0;L;;;;;N;;;;; +1202F;CUNEIFORM SIGN AN THREE TIMES;Lo;0;L;;;;;N;;;;; +12030;CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA;Lo;0;L;;;;;N;;;;; +12031;CUNEIFORM SIGN AN PLUS NAGA SQUARED;Lo;0;L;;;;;N;;;;; +12032;CUNEIFORM SIGN ANSHE;Lo;0;L;;;;;N;;;;; +12033;CUNEIFORM SIGN APIN;Lo;0;L;;;;;N;;;;; +12034;CUNEIFORM SIGN ARAD;Lo;0;L;;;;;N;;;;; +12035;CUNEIFORM SIGN ARAD TIMES KUR;Lo;0;L;;;;;N;;;;; +12036;CUNEIFORM SIGN ARKAB;Lo;0;L;;;;;N;;;;; +12037;CUNEIFORM SIGN ASAL2;Lo;0;L;;;;;N;;;;; +12038;CUNEIFORM SIGN ASH;Lo;0;L;;;;;N;;;;; +12039;CUNEIFORM SIGN ASH ZIDA TENU;Lo;0;L;;;;;N;;;;; +1203A;CUNEIFORM SIGN ASH KABA TENU;Lo;0;L;;;;;N;;;;; +1203B;CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP;Lo;0;L;;;;;N;;;;; +1203C;CUNEIFORM SIGN ASH OVER ASH OVER ASH;Lo;0;L;;;;;N;;;;; +1203D;CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH;Lo;0;L;;;;;N;;;;; +1203E;CUNEIFORM SIGN ASH2;Lo;0;L;;;;;N;;;;; +1203F;CUNEIFORM SIGN ASHGAB;Lo;0;L;;;;;N;;;;; +12040;CUNEIFORM SIGN BA;Lo;0;L;;;;;N;;;;; +12041;CUNEIFORM SIGN BAD;Lo;0;L;;;;;N;;;;; +12042;CUNEIFORM SIGN BAG3;Lo;0;L;;;;;N;;;;; +12043;CUNEIFORM SIGN BAHAR2;Lo;0;L;;;;;N;;;;; +12044;CUNEIFORM SIGN BAL;Lo;0;L;;;;;N;;;;; +12045;CUNEIFORM SIGN BAL OVER BAL;Lo;0;L;;;;;N;;;;; +12046;CUNEIFORM SIGN BALAG;Lo;0;L;;;;;N;;;;; +12047;CUNEIFORM SIGN BAR;Lo;0;L;;;;;N;;;;; +12048;CUNEIFORM SIGN BARA2;Lo;0;L;;;;;N;;;;; +12049;CUNEIFORM SIGN BI;Lo;0;L;;;;;N;;;;; +1204A;CUNEIFORM SIGN BI TIMES A;Lo;0;L;;;;;N;;;;; +1204B;CUNEIFORM SIGN BI TIMES GAR;Lo;0;L;;;;;N;;;;; +1204C;CUNEIFORM SIGN BI TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +1204D;CUNEIFORM SIGN BU;Lo;0;L;;;;;N;;;;; +1204E;CUNEIFORM SIGN BU OVER BU AB;Lo;0;L;;;;;N;;;;; +1204F;CUNEIFORM SIGN BU OVER BU UN;Lo;0;L;;;;;N;;;;; +12050;CUNEIFORM SIGN BU CROSSING BU;Lo;0;L;;;;;N;;;;; +12051;CUNEIFORM SIGN BULUG;Lo;0;L;;;;;N;;;;; +12052;CUNEIFORM SIGN BULUG OVER BULUG;Lo;0;L;;;;;N;;;;; +12053;CUNEIFORM SIGN BUR;Lo;0;L;;;;;N;;;;; +12054;CUNEIFORM SIGN BUR2;Lo;0;L;;;;;N;;;;; +12055;CUNEIFORM SIGN DA;Lo;0;L;;;;;N;;;;; +12056;CUNEIFORM SIGN DAG;Lo;0;L;;;;;N;;;;; +12057;CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH;Lo;0;L;;;;;N;;;;; +12058;CUNEIFORM SIGN DAG KISIM5 TIMES AMAR;Lo;0;L;;;;;N;;;;; +12059;CUNEIFORM SIGN DAG KISIM5 TIMES BALAG;Lo;0;L;;;;;N;;;;; +1205A;CUNEIFORM SIGN DAG KISIM5 TIMES BI;Lo;0;L;;;;;N;;;;; +1205B;CUNEIFORM SIGN DAG KISIM5 TIMES GA;Lo;0;L;;;;;N;;;;; +1205C;CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH;Lo;0;L;;;;;N;;;;; +1205D;CUNEIFORM SIGN DAG KISIM5 TIMES GI;Lo;0;L;;;;;N;;;;; +1205E;CUNEIFORM SIGN DAG KISIM5 TIMES GIR2;Lo;0;L;;;;;N;;;;; +1205F;CUNEIFORM SIGN DAG KISIM5 TIMES GUD;Lo;0;L;;;;;N;;;;; +12060;CUNEIFORM SIGN DAG KISIM5 TIMES HA;Lo;0;L;;;;;N;;;;; +12061;CUNEIFORM SIGN DAG KISIM5 TIMES IR;Lo;0;L;;;;;N;;;;; +12062;CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU;Lo;0;L;;;;;N;;;;; +12063;CUNEIFORM SIGN DAG KISIM5 TIMES KAK;Lo;0;L;;;;;N;;;;; +12064;CUNEIFORM SIGN DAG KISIM5 TIMES LA;Lo;0;L;;;;;N;;;;; +12065;CUNEIFORM SIGN DAG KISIM5 TIMES LU;Lo;0;L;;;;;N;;;;; +12066;CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2;Lo;0;L;;;;;N;;;;; +12067;CUNEIFORM SIGN DAG KISIM5 TIMES LUM;Lo;0;L;;;;;N;;;;; +12068;CUNEIFORM SIGN DAG KISIM5 TIMES NE;Lo;0;L;;;;;N;;;;; +12069;CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP;Lo;0;L;;;;;N;;;;; +1206A;CUNEIFORM SIGN DAG KISIM5 TIMES SI;Lo;0;L;;;;;N;;;;; +1206B;CUNEIFORM SIGN DAG KISIM5 TIMES TAK4;Lo;0;L;;;;;N;;;;; +1206C;CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2;Lo;0;L;;;;;N;;;;; +1206D;CUNEIFORM SIGN DAG KISIM5 TIMES USH;Lo;0;L;;;;;N;;;;; +1206E;CUNEIFORM SIGN DAM;Lo;0;L;;;;;N;;;;; +1206F;CUNEIFORM SIGN DAR;Lo;0;L;;;;;N;;;;; +12070;CUNEIFORM SIGN DARA3;Lo;0;L;;;;;N;;;;; +12071;CUNEIFORM SIGN DARA4;Lo;0;L;;;;;N;;;;; +12072;CUNEIFORM SIGN DI;Lo;0;L;;;;;N;;;;; +12073;CUNEIFORM SIGN DIB;Lo;0;L;;;;;N;;;;; +12074;CUNEIFORM SIGN DIM;Lo;0;L;;;;;N;;;;; +12075;CUNEIFORM SIGN DIM TIMES SHE;Lo;0;L;;;;;N;;;;; +12076;CUNEIFORM SIGN DIM2;Lo;0;L;;;;;N;;;;; +12077;CUNEIFORM SIGN DIN;Lo;0;L;;;;;N;;;;; +12078;CUNEIFORM SIGN DIN KASKAL U GUNU DISH;Lo;0;L;;;;;N;;;;; +12079;CUNEIFORM SIGN DISH;Lo;0;L;;;;;N;;;;; +1207A;CUNEIFORM SIGN DU;Lo;0;L;;;;;N;;;;; +1207B;CUNEIFORM SIGN DU OVER DU;Lo;0;L;;;;;N;;;;; +1207C;CUNEIFORM SIGN DU GUNU;Lo;0;L;;;;;N;;;;; +1207D;CUNEIFORM SIGN DU SHESHIG;Lo;0;L;;;;;N;;;;; +1207E;CUNEIFORM SIGN DUB;Lo;0;L;;;;;N;;;;; +1207F;CUNEIFORM SIGN DUB TIMES ESH2;Lo;0;L;;;;;N;;;;; +12080;CUNEIFORM SIGN DUB2;Lo;0;L;;;;;N;;;;; +12081;CUNEIFORM SIGN DUG;Lo;0;L;;;;;N;;;;; +12082;CUNEIFORM SIGN DUGUD;Lo;0;L;;;;;N;;;;; +12083;CUNEIFORM SIGN DUH;Lo;0;L;;;;;N;;;;; +12084;CUNEIFORM SIGN DUN;Lo;0;L;;;;;N;;;;; +12085;CUNEIFORM SIGN DUN3;Lo;0;L;;;;;N;;;;; +12086;CUNEIFORM SIGN DUN3 GUNU;Lo;0;L;;;;;N;;;;; +12087;CUNEIFORM SIGN DUN3 GUNU GUNU;Lo;0;L;;;;;N;;;;; +12088;CUNEIFORM SIGN DUN4;Lo;0;L;;;;;N;;;;; +12089;CUNEIFORM SIGN DUR2;Lo;0;L;;;;;N;;;;; +1208A;CUNEIFORM SIGN E;Lo;0;L;;;;;N;;;;; +1208B;CUNEIFORM SIGN E TIMES PAP;Lo;0;L;;;;;N;;;;; +1208C;CUNEIFORM SIGN E OVER E NUN OVER NUN;Lo;0;L;;;;;N;;;;; +1208D;CUNEIFORM SIGN E2;Lo;0;L;;;;;N;;;;; +1208E;CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA;Lo;0;L;;;;;N;;;;; +1208F;CUNEIFORM SIGN E2 TIMES GAR;Lo;0;L;;;;;N;;;;; +12090;CUNEIFORM SIGN E2 TIMES MI;Lo;0;L;;;;;N;;;;; +12091;CUNEIFORM SIGN E2 TIMES SAL;Lo;0;L;;;;;N;;;;; +12092;CUNEIFORM SIGN E2 TIMES SHE;Lo;0;L;;;;;N;;;;; +12093;CUNEIFORM SIGN E2 TIMES U;Lo;0;L;;;;;N;;;;; +12094;CUNEIFORM SIGN EDIN;Lo;0;L;;;;;N;;;;; +12095;CUNEIFORM SIGN EGIR;Lo;0;L;;;;;N;;;;; +12096;CUNEIFORM SIGN EL;Lo;0;L;;;;;N;;;;; +12097;CUNEIFORM SIGN EN;Lo;0;L;;;;;N;;;;; +12098;CUNEIFORM SIGN EN TIMES GAN2;Lo;0;L;;;;;N;;;;; +12099;CUNEIFORM SIGN EN TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1209A;CUNEIFORM SIGN EN TIMES ME;Lo;0;L;;;;;N;;;;; +1209B;CUNEIFORM SIGN EN CROSSING EN;Lo;0;L;;;;;N;;;;; +1209C;CUNEIFORM SIGN EN OPPOSING EN;Lo;0;L;;;;;N;;;;; +1209D;CUNEIFORM SIGN EN SQUARED;Lo;0;L;;;;;N;;;;; +1209E;CUNEIFORM SIGN EREN;Lo;0;L;;;;;N;;;;; +1209F;CUNEIFORM SIGN ERIN2;Lo;0;L;;;;;N;;;;; +120A0;CUNEIFORM SIGN ESH2;Lo;0;L;;;;;N;;;;; +120A1;CUNEIFORM SIGN EZEN;Lo;0;L;;;;;N;;;;; +120A2;CUNEIFORM SIGN EZEN TIMES A;Lo;0;L;;;;;N;;;;; +120A3;CUNEIFORM SIGN EZEN TIMES A PLUS LAL;Lo;0;L;;;;;N;;;;; +120A4;CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL;Lo;0;L;;;;;N;;;;; +120A5;CUNEIFORM SIGN EZEN TIMES AN;Lo;0;L;;;;;N;;;;; +120A6;CUNEIFORM SIGN EZEN TIMES BAD;Lo;0;L;;;;;N;;;;; +120A7;CUNEIFORM SIGN EZEN TIMES DUN3 GUNU;Lo;0;L;;;;;N;;;;; +120A8;CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU;Lo;0;L;;;;;N;;;;; +120A9;CUNEIFORM SIGN EZEN TIMES HA;Lo;0;L;;;;;N;;;;; +120AA;CUNEIFORM SIGN EZEN TIMES HA GUNU;Lo;0;L;;;;;N;;;;; +120AB;CUNEIFORM SIGN EZEN TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +120AC;CUNEIFORM SIGN EZEN TIMES KASKAL;Lo;0;L;;;;;N;;;;; +120AD;CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED;Lo;0;L;;;;;N;;;;; +120AE;CUNEIFORM SIGN EZEN TIMES KU3;Lo;0;L;;;;;N;;;;; +120AF;CUNEIFORM SIGN EZEN TIMES LA;Lo;0;L;;;;;N;;;;; +120B0;CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL;Lo;0;L;;;;;N;;;;; +120B1;CUNEIFORM SIGN EZEN TIMES LI;Lo;0;L;;;;;N;;;;; +120B2;CUNEIFORM SIGN EZEN TIMES LU;Lo;0;L;;;;;N;;;;; +120B3;CUNEIFORM SIGN EZEN TIMES U2;Lo;0;L;;;;;N;;;;; +120B4;CUNEIFORM SIGN EZEN TIMES UD;Lo;0;L;;;;;N;;;;; +120B5;CUNEIFORM SIGN GA;Lo;0;L;;;;;N;;;;; +120B6;CUNEIFORM SIGN GA GUNU;Lo;0;L;;;;;N;;;;; +120B7;CUNEIFORM SIGN GA2;Lo;0;L;;;;;N;;;;; +120B8;CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA;Lo;0;L;;;;;N;;;;; +120B9;CUNEIFORM SIGN GA2 TIMES A PLUS HA;Lo;0;L;;;;;N;;;;; +120BA;CUNEIFORM SIGN GA2 TIMES A PLUS IGI;Lo;0;L;;;;;N;;;;; +120BB;CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB;Lo;0;L;;;;;N;;;;; +120BC;CUNEIFORM SIGN GA2 TIMES AN;Lo;0;L;;;;;N;;;;; +120BD;CUNEIFORM SIGN GA2 TIMES ASH;Lo;0;L;;;;;N;;;;; +120BE;CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL;Lo;0;L;;;;;N;;;;; +120BF;CUNEIFORM SIGN GA2 TIMES BAD;Lo;0;L;;;;;N;;;;; +120C0;CUNEIFORM SIGN GA2 TIMES BAR PLUS RA;Lo;0;L;;;;;N;;;;; +120C1;CUNEIFORM SIGN GA2 TIMES BUR;Lo;0;L;;;;;N;;;;; +120C2;CUNEIFORM SIGN GA2 TIMES BUR PLUS RA;Lo;0;L;;;;;N;;;;; +120C3;CUNEIFORM SIGN GA2 TIMES DA;Lo;0;L;;;;;N;;;;; +120C4;CUNEIFORM SIGN GA2 TIMES DI;Lo;0;L;;;;;N;;;;; +120C5;CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE;Lo;0;L;;;;;N;;;;; +120C6;CUNEIFORM SIGN GA2 TIMES DUB;Lo;0;L;;;;;N;;;;; +120C7;CUNEIFORM SIGN GA2 TIMES EL;Lo;0;L;;;;;N;;;;; +120C8;CUNEIFORM SIGN GA2 TIMES EL PLUS LA;Lo;0;L;;;;;N;;;;; +120C9;CUNEIFORM SIGN GA2 TIMES EN;Lo;0;L;;;;;N;;;;; +120CA;CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +120CB;CUNEIFORM SIGN GA2 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +120CC;CUNEIFORM SIGN GA2 TIMES GAR;Lo;0;L;;;;;N;;;;; +120CD;CUNEIFORM SIGN GA2 TIMES GI;Lo;0;L;;;;;N;;;;; +120CE;CUNEIFORM SIGN GA2 TIMES GI4;Lo;0;L;;;;;N;;;;; +120CF;CUNEIFORM SIGN GA2 TIMES GI4 PLUS A;Lo;0;L;;;;;N;;;;; +120D0;CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU;Lo;0;L;;;;;N;;;;; +120D1;CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2;Lo;0;L;;;;;N;;;;; +120D2;CUNEIFORM SIGN GA2 TIMES HAL;Lo;0;L;;;;;N;;;;; +120D3;CUNEIFORM SIGN GA2 TIMES HAL PLUS LA;Lo;0;L;;;;;N;;;;; +120D4;CUNEIFORM SIGN GA2 TIMES HI PLUS LI;Lo;0;L;;;;;N;;;;; +120D5;CUNEIFORM SIGN GA2 TIMES HUB2;Lo;0;L;;;;;N;;;;; +120D6;CUNEIFORM SIGN GA2 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +120D7;CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH;Lo;0;L;;;;;N;;;;; +120D8;CUNEIFORM SIGN GA2 TIMES KAK;Lo;0;L;;;;;N;;;;; +120D9;CUNEIFORM SIGN GA2 TIMES KASKAL;Lo;0;L;;;;;N;;;;; +120DA;CUNEIFORM SIGN GA2 TIMES KID;Lo;0;L;;;;;N;;;;; +120DB;CUNEIFORM SIGN GA2 TIMES KID PLUS LAL;Lo;0;L;;;;;N;;;;; +120DC;CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN;Lo;0;L;;;;;N;;;;; +120DD;CUNEIFORM SIGN GA2 TIMES LA;Lo;0;L;;;;;N;;;;; +120DE;CUNEIFORM SIGN GA2 TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;; +120DF;CUNEIFORM SIGN GA2 TIMES MI;Lo;0;L;;;;;N;;;;; +120E0;CUNEIFORM SIGN GA2 TIMES NUN;Lo;0;L;;;;;N;;;;; +120E1;CUNEIFORM SIGN GA2 TIMES NUN OVER NUN;Lo;0;L;;;;;N;;;;; +120E2;CUNEIFORM SIGN GA2 TIMES PA;Lo;0;L;;;;;N;;;;; +120E3;CUNEIFORM SIGN GA2 TIMES SAL;Lo;0;L;;;;;N;;;;; +120E4;CUNEIFORM SIGN GA2 TIMES SAR;Lo;0;L;;;;;N;;;;; +120E5;CUNEIFORM SIGN GA2 TIMES SHE;Lo;0;L;;;;;N;;;;; +120E6;CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR;Lo;0;L;;;;;N;;;;; +120E7;CUNEIFORM SIGN GA2 TIMES SHID;Lo;0;L;;;;;N;;;;; +120E8;CUNEIFORM SIGN GA2 TIMES SUM;Lo;0;L;;;;;N;;;;; +120E9;CUNEIFORM SIGN GA2 TIMES TAK4;Lo;0;L;;;;;N;;;;; +120EA;CUNEIFORM SIGN GA2 TIMES U;Lo;0;L;;;;;N;;;;; +120EB;CUNEIFORM SIGN GA2 TIMES UD;Lo;0;L;;;;;N;;;;; +120EC;CUNEIFORM SIGN GA2 TIMES UD PLUS DU;Lo;0;L;;;;;N;;;;; +120ED;CUNEIFORM SIGN GA2 OVER GA2;Lo;0;L;;;;;N;;;;; +120EE;CUNEIFORM SIGN GABA;Lo;0;L;;;;;N;;;;; +120EF;CUNEIFORM SIGN GABA CROSSING GABA;Lo;0;L;;;;;N;;;;; +120F0;CUNEIFORM SIGN GAD;Lo;0;L;;;;;N;;;;; +120F1;CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;; +120F2;CUNEIFORM SIGN GAL;Lo;0;L;;;;;N;;;;; +120F3;CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;; +120F4;CUNEIFORM SIGN GALAM;Lo;0;L;;;;;N;;;;; +120F5;CUNEIFORM SIGN GAM;Lo;0;L;;;;;N;;;;; +120F6;CUNEIFORM SIGN GAN;Lo;0;L;;;;;N;;;;; +120F7;CUNEIFORM SIGN GAN2;Lo;0;L;;;;;N;;;;; +120F8;CUNEIFORM SIGN GAN2 TENU;Lo;0;L;;;;;N;;;;; +120F9;CUNEIFORM SIGN GAN2 OVER GAN2;Lo;0;L;;;;;N;;;;; +120FA;CUNEIFORM SIGN GAN2 CROSSING GAN2;Lo;0;L;;;;;N;;;;; +120FB;CUNEIFORM SIGN GAR;Lo;0;L;;;;;N;;;;; +120FC;CUNEIFORM SIGN GAR3;Lo;0;L;;;;;N;;;;; +120FD;CUNEIFORM SIGN GASHAN;Lo;0;L;;;;;N;;;;; +120FE;CUNEIFORM SIGN GESHTIN;Lo;0;L;;;;;N;;;;; +120FF;CUNEIFORM SIGN GESHTIN TIMES KUR;Lo;0;L;;;;;N;;;;; +12100;CUNEIFORM SIGN GI;Lo;0;L;;;;;N;;;;; +12101;CUNEIFORM SIGN GI TIMES E;Lo;0;L;;;;;N;;;;; +12102;CUNEIFORM SIGN GI TIMES U;Lo;0;L;;;;;N;;;;; +12103;CUNEIFORM SIGN GI CROSSING GI;Lo;0;L;;;;;N;;;;; +12104;CUNEIFORM SIGN GI4;Lo;0;L;;;;;N;;;;; +12105;CUNEIFORM SIGN GI4 OVER GI4;Lo;0;L;;;;;N;;;;; +12106;CUNEIFORM SIGN GI4 CROSSING GI4;Lo;0;L;;;;;N;;;;; +12107;CUNEIFORM SIGN GIDIM;Lo;0;L;;;;;N;;;;; +12108;CUNEIFORM SIGN GIR2;Lo;0;L;;;;;N;;;;; +12109;CUNEIFORM SIGN GIR2 GUNU;Lo;0;L;;;;;N;;;;; +1210A;CUNEIFORM SIGN GIR3;Lo;0;L;;;;;N;;;;; +1210B;CUNEIFORM SIGN GIR3 TIMES A PLUS IGI;Lo;0;L;;;;;N;;;;; +1210C;CUNEIFORM SIGN GIR3 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1210D;CUNEIFORM SIGN GIR3 TIMES IGI;Lo;0;L;;;;;N;;;;; +1210E;CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI;Lo;0;L;;;;;N;;;;; +1210F;CUNEIFORM SIGN GIR3 TIMES PA;Lo;0;L;;;;;N;;;;; +12110;CUNEIFORM SIGN GISAL;Lo;0;L;;;;;N;;;;; +12111;CUNEIFORM SIGN GISH;Lo;0;L;;;;;N;;;;; +12112;CUNEIFORM SIGN GISH CROSSING GISH;Lo;0;L;;;;;N;;;;; +12113;CUNEIFORM SIGN GISH TIMES BAD;Lo;0;L;;;;;N;;;;; +12114;CUNEIFORM SIGN GISH TIMES TAK4;Lo;0;L;;;;;N;;;;; +12115;CUNEIFORM SIGN GISH TENU;Lo;0;L;;;;;N;;;;; +12116;CUNEIFORM SIGN GU;Lo;0;L;;;;;N;;;;; +12117;CUNEIFORM SIGN GU CROSSING GU;Lo;0;L;;;;;N;;;;; +12118;CUNEIFORM SIGN GU2;Lo;0;L;;;;;N;;;;; +12119;CUNEIFORM SIGN GU2 TIMES KAK;Lo;0;L;;;;;N;;;;; +1211A;CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +1211B;CUNEIFORM SIGN GU2 TIMES NUN;Lo;0;L;;;;;N;;;;; +1211C;CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2;Lo;0;L;;;;;N;;;;; +1211D;CUNEIFORM SIGN GU2 GUNU;Lo;0;L;;;;;N;;;;; +1211E;CUNEIFORM SIGN GUD;Lo;0;L;;;;;N;;;;; +1211F;CUNEIFORM SIGN GUD TIMES A PLUS KUR;Lo;0;L;;;;;N;;;;; +12120;CUNEIFORM SIGN GUD TIMES KUR;Lo;0;L;;;;;N;;;;; +12121;CUNEIFORM SIGN GUD OVER GUD LUGAL;Lo;0;L;;;;;N;;;;; +12122;CUNEIFORM SIGN GUL;Lo;0;L;;;;;N;;;;; +12123;CUNEIFORM SIGN GUM;Lo;0;L;;;;;N;;;;; +12124;CUNEIFORM SIGN GUM TIMES SHE;Lo;0;L;;;;;N;;;;; +12125;CUNEIFORM SIGN GUR;Lo;0;L;;;;;N;;;;; +12126;CUNEIFORM SIGN GUR7;Lo;0;L;;;;;N;;;;; +12127;CUNEIFORM SIGN GURUN;Lo;0;L;;;;;N;;;;; +12128;CUNEIFORM SIGN GURUSH;Lo;0;L;;;;;N;;;;; +12129;CUNEIFORM SIGN HA;Lo;0;L;;;;;N;;;;; +1212A;CUNEIFORM SIGN HA TENU;Lo;0;L;;;;;N;;;;; +1212B;CUNEIFORM SIGN HA GUNU;Lo;0;L;;;;;N;;;;; +1212C;CUNEIFORM SIGN HAL;Lo;0;L;;;;;N;;;;; +1212D;CUNEIFORM SIGN HI;Lo;0;L;;;;;N;;;;; +1212E;CUNEIFORM SIGN HI TIMES ASH;Lo;0;L;;;;;N;;;;; +1212F;CUNEIFORM SIGN HI TIMES ASH2;Lo;0;L;;;;;N;;;;; +12130;CUNEIFORM SIGN HI TIMES BAD;Lo;0;L;;;;;N;;;;; +12131;CUNEIFORM SIGN HI TIMES DISH;Lo;0;L;;;;;N;;;;; +12132;CUNEIFORM SIGN HI TIMES GAD;Lo;0;L;;;;;N;;;;; +12133;CUNEIFORM SIGN HI TIMES KIN;Lo;0;L;;;;;N;;;;; +12134;CUNEIFORM SIGN HI TIMES NUN;Lo;0;L;;;;;N;;;;; +12135;CUNEIFORM SIGN HI TIMES SHE;Lo;0;L;;;;;N;;;;; +12136;CUNEIFORM SIGN HI TIMES U;Lo;0;L;;;;;N;;;;; +12137;CUNEIFORM SIGN HU;Lo;0;L;;;;;N;;;;; +12138;CUNEIFORM SIGN HUB2;Lo;0;L;;;;;N;;;;; +12139;CUNEIFORM SIGN HUB2 TIMES AN;Lo;0;L;;;;;N;;;;; +1213A;CUNEIFORM SIGN HUB2 TIMES HAL;Lo;0;L;;;;;N;;;;; +1213B;CUNEIFORM SIGN HUB2 TIMES KASKAL;Lo;0;L;;;;;N;;;;; +1213C;CUNEIFORM SIGN HUB2 TIMES LISH;Lo;0;L;;;;;N;;;;; +1213D;CUNEIFORM SIGN HUB2 TIMES UD;Lo;0;L;;;;;N;;;;; +1213E;CUNEIFORM SIGN HUL2;Lo;0;L;;;;;N;;;;; +1213F;CUNEIFORM SIGN I;Lo;0;L;;;;;N;;;;; +12140;CUNEIFORM SIGN I A;Lo;0;L;;;;;N;;;;; +12141;CUNEIFORM SIGN IB;Lo;0;L;;;;;N;;;;; +12142;CUNEIFORM SIGN IDIM;Lo;0;L;;;;;N;;;;; +12143;CUNEIFORM SIGN IDIM OVER IDIM BUR;Lo;0;L;;;;;N;;;;; +12144;CUNEIFORM SIGN IDIM OVER IDIM SQUARED;Lo;0;L;;;;;N;;;;; +12145;CUNEIFORM SIGN IG;Lo;0;L;;;;;N;;;;; +12146;CUNEIFORM SIGN IGI;Lo;0;L;;;;;N;;;;; +12147;CUNEIFORM SIGN IGI DIB;Lo;0;L;;;;;N;;;;; +12148;CUNEIFORM SIGN IGI RI;Lo;0;L;;;;;N;;;;; +12149;CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD;Lo;0;L;;;;;N;;;;; +1214A;CUNEIFORM SIGN IGI GUNU;Lo;0;L;;;;;N;;;;; +1214B;CUNEIFORM SIGN IL;Lo;0;L;;;;;N;;;;; +1214C;CUNEIFORM SIGN IL TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1214D;CUNEIFORM SIGN IL2;Lo;0;L;;;;;N;;;;; +1214E;CUNEIFORM SIGN IM;Lo;0;L;;;;;N;;;;; +1214F;CUNEIFORM SIGN IM TIMES TAK4;Lo;0;L;;;;;N;;;;; +12150;CUNEIFORM SIGN IM CROSSING IM;Lo;0;L;;;;;N;;;;; +12151;CUNEIFORM SIGN IM OPPOSING IM;Lo;0;L;;;;;N;;;;; +12152;CUNEIFORM SIGN IM SQUARED;Lo;0;L;;;;;N;;;;; +12153;CUNEIFORM SIGN IMIN;Lo;0;L;;;;;N;;;;; +12154;CUNEIFORM SIGN IN;Lo;0;L;;;;;N;;;;; +12155;CUNEIFORM SIGN IR;Lo;0;L;;;;;N;;;;; +12156;CUNEIFORM SIGN ISH;Lo;0;L;;;;;N;;;;; +12157;CUNEIFORM SIGN KA;Lo;0;L;;;;;N;;;;; +12158;CUNEIFORM SIGN KA TIMES A;Lo;0;L;;;;;N;;;;; +12159;CUNEIFORM SIGN KA TIMES AD;Lo;0;L;;;;;N;;;;; +1215A;CUNEIFORM SIGN KA TIMES AD PLUS KU3;Lo;0;L;;;;;N;;;;; +1215B;CUNEIFORM SIGN KA TIMES ASH2;Lo;0;L;;;;;N;;;;; +1215C;CUNEIFORM SIGN KA TIMES BAD;Lo;0;L;;;;;N;;;;; +1215D;CUNEIFORM SIGN KA TIMES BALAG;Lo;0;L;;;;;N;;;;; +1215E;CUNEIFORM SIGN KA TIMES BAR;Lo;0;L;;;;;N;;;;; +1215F;CUNEIFORM SIGN KA TIMES BI;Lo;0;L;;;;;N;;;;; +12160;CUNEIFORM SIGN KA TIMES ERIN2;Lo;0;L;;;;;N;;;;; +12161;CUNEIFORM SIGN KA TIMES ESH2;Lo;0;L;;;;;N;;;;; +12162;CUNEIFORM SIGN KA TIMES GA;Lo;0;L;;;;;N;;;;; +12163;CUNEIFORM SIGN KA TIMES GAL;Lo;0;L;;;;;N;;;;; +12164;CUNEIFORM SIGN KA TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +12165;CUNEIFORM SIGN KA TIMES GAR;Lo;0;L;;;;;N;;;;; +12166;CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A;Lo;0;L;;;;;N;;;;; +12167;CUNEIFORM SIGN KA TIMES GI;Lo;0;L;;;;;N;;;;; +12168;CUNEIFORM SIGN KA TIMES GIR2;Lo;0;L;;;;;N;;;;; +12169;CUNEIFORM SIGN KA TIMES GISH PLUS SAR;Lo;0;L;;;;;N;;;;; +1216A;CUNEIFORM SIGN KA TIMES GISH CROSSING GISH;Lo;0;L;;;;;N;;;;; +1216B;CUNEIFORM SIGN KA TIMES GU;Lo;0;L;;;;;N;;;;; +1216C;CUNEIFORM SIGN KA TIMES GUR7;Lo;0;L;;;;;N;;;;; +1216D;CUNEIFORM SIGN KA TIMES IGI;Lo;0;L;;;;;N;;;;; +1216E;CUNEIFORM SIGN KA TIMES IM;Lo;0;L;;;;;N;;;;; +1216F;CUNEIFORM SIGN KA TIMES KAK;Lo;0;L;;;;;N;;;;; +12170;CUNEIFORM SIGN KA TIMES KI;Lo;0;L;;;;;N;;;;; +12171;CUNEIFORM SIGN KA TIMES KID;Lo;0;L;;;;;N;;;;; +12172;CUNEIFORM SIGN KA TIMES LI;Lo;0;L;;;;;N;;;;; +12173;CUNEIFORM SIGN KA TIMES LU;Lo;0;L;;;;;N;;;;; +12174;CUNEIFORM SIGN KA TIMES ME;Lo;0;L;;;;;N;;;;; +12175;CUNEIFORM SIGN KA TIMES ME PLUS DU;Lo;0;L;;;;;N;;;;; +12176;CUNEIFORM SIGN KA TIMES ME PLUS GI;Lo;0;L;;;;;N;;;;; +12177;CUNEIFORM SIGN KA TIMES ME PLUS TE;Lo;0;L;;;;;N;;;;; +12178;CUNEIFORM SIGN KA TIMES MI;Lo;0;L;;;;;N;;;;; +12179;CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ;Lo;0;L;;;;;N;;;;; +1217A;CUNEIFORM SIGN KA TIMES NE;Lo;0;L;;;;;N;;;;; +1217B;CUNEIFORM SIGN KA TIMES NUN;Lo;0;L;;;;;N;;;;; +1217C;CUNEIFORM SIGN KA TIMES PI;Lo;0;L;;;;;N;;;;; +1217D;CUNEIFORM SIGN KA TIMES RU;Lo;0;L;;;;;N;;;;; +1217E;CUNEIFORM SIGN KA TIMES SA;Lo;0;L;;;;;N;;;;; +1217F;CUNEIFORM SIGN KA TIMES SAR;Lo;0;L;;;;;N;;;;; +12180;CUNEIFORM SIGN KA TIMES SHA;Lo;0;L;;;;;N;;;;; +12181;CUNEIFORM SIGN KA TIMES SHE;Lo;0;L;;;;;N;;;;; +12182;CUNEIFORM SIGN KA TIMES SHID;Lo;0;L;;;;;N;;;;; +12183;CUNEIFORM SIGN KA TIMES SHU;Lo;0;L;;;;;N;;;;; +12184;CUNEIFORM SIGN KA TIMES SIG;Lo;0;L;;;;;N;;;;; +12185;CUNEIFORM SIGN KA TIMES SUHUR;Lo;0;L;;;;;N;;;;; +12186;CUNEIFORM SIGN KA TIMES TAR;Lo;0;L;;;;;N;;;;; +12187;CUNEIFORM SIGN KA TIMES U;Lo;0;L;;;;;N;;;;; +12188;CUNEIFORM SIGN KA TIMES U2;Lo;0;L;;;;;N;;;;; +12189;CUNEIFORM SIGN KA TIMES UD;Lo;0;L;;;;;N;;;;; +1218A;CUNEIFORM SIGN KA TIMES UMUM TIMES PA;Lo;0;L;;;;;N;;;;; +1218B;CUNEIFORM SIGN KA TIMES USH;Lo;0;L;;;;;N;;;;; +1218C;CUNEIFORM SIGN KA TIMES ZI;Lo;0;L;;;;;N;;;;; +1218D;CUNEIFORM SIGN KA2;Lo;0;L;;;;;N;;;;; +1218E;CUNEIFORM SIGN KA2 CROSSING KA2;Lo;0;L;;;;;N;;;;; +1218F;CUNEIFORM SIGN KAB;Lo;0;L;;;;;N;;;;; +12190;CUNEIFORM SIGN KAD2;Lo;0;L;;;;;N;;;;; +12191;CUNEIFORM SIGN KAD3;Lo;0;L;;;;;N;;;;; +12192;CUNEIFORM SIGN KAD4;Lo;0;L;;;;;N;;;;; +12193;CUNEIFORM SIGN KAD5;Lo;0;L;;;;;N;;;;; +12194;CUNEIFORM SIGN KAD5 OVER KAD5;Lo;0;L;;;;;N;;;;; +12195;CUNEIFORM SIGN KAK;Lo;0;L;;;;;N;;;;; +12196;CUNEIFORM SIGN KAK TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +12197;CUNEIFORM SIGN KAL;Lo;0;L;;;;;N;;;;; +12198;CUNEIFORM SIGN KAL TIMES BAD;Lo;0;L;;;;;N;;;;; +12199;CUNEIFORM SIGN KAL CROSSING KAL;Lo;0;L;;;;;N;;;;; +1219A;CUNEIFORM SIGN KAM2;Lo;0;L;;;;;N;;;;; +1219B;CUNEIFORM SIGN KAM4;Lo;0;L;;;;;N;;;;; +1219C;CUNEIFORM SIGN KASKAL;Lo;0;L;;;;;N;;;;; +1219D;CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U;Lo;0;L;;;;;N;;;;; +1219E;CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U;Lo;0;L;;;;;N;;;;; +1219F;CUNEIFORM SIGN KESH2;Lo;0;L;;;;;N;;;;; +121A0;CUNEIFORM SIGN KI;Lo;0;L;;;;;N;;;;; +121A1;CUNEIFORM SIGN KI TIMES BAD;Lo;0;L;;;;;N;;;;; +121A2;CUNEIFORM SIGN KI TIMES U;Lo;0;L;;;;;N;;;;; +121A3;CUNEIFORM SIGN KI TIMES UD;Lo;0;L;;;;;N;;;;; +121A4;CUNEIFORM SIGN KID;Lo;0;L;;;;;N;;;;; +121A5;CUNEIFORM SIGN KIN;Lo;0;L;;;;;N;;;;; +121A6;CUNEIFORM SIGN KISAL;Lo;0;L;;;;;N;;;;; +121A7;CUNEIFORM SIGN KISH;Lo;0;L;;;;;N;;;;; +121A8;CUNEIFORM SIGN KISIM5;Lo;0;L;;;;;N;;;;; +121A9;CUNEIFORM SIGN KISIM5 OVER KISIM5;Lo;0;L;;;;;N;;;;; +121AA;CUNEIFORM SIGN KU;Lo;0;L;;;;;N;;;;; +121AB;CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2;Lo;0;L;;;;;N;;;;; +121AC;CUNEIFORM SIGN KU3;Lo;0;L;;;;;N;;;;; +121AD;CUNEIFORM SIGN KU4;Lo;0;L;;;;;N;;;;; +121AE;CUNEIFORM SIGN KU4 VARIANT FORM;Lo;0;L;;;;;N;;;;; +121AF;CUNEIFORM SIGN KU7;Lo;0;L;;;;;N;;;;; +121B0;CUNEIFORM SIGN KUL;Lo;0;L;;;;;N;;;;; +121B1;CUNEIFORM SIGN KUL GUNU;Lo;0;L;;;;;N;;;;; +121B2;CUNEIFORM SIGN KUN;Lo;0;L;;;;;N;;;;; +121B3;CUNEIFORM SIGN KUR;Lo;0;L;;;;;N;;;;; +121B4;CUNEIFORM SIGN KUR OPPOSING KUR;Lo;0;L;;;;;N;;;;; +121B5;CUNEIFORM SIGN KUSHU2;Lo;0;L;;;;;N;;;;; +121B6;CUNEIFORM SIGN KWU318;Lo;0;L;;;;;N;;;;; +121B7;CUNEIFORM SIGN LA;Lo;0;L;;;;;N;;;;; +121B8;CUNEIFORM SIGN LAGAB;Lo;0;L;;;;;N;;;;; +121B9;CUNEIFORM SIGN LAGAB TIMES A;Lo;0;L;;;;;N;;;;; +121BA;CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA;Lo;0;L;;;;;N;;;;; +121BB;CUNEIFORM SIGN LAGAB TIMES A PLUS GAR;Lo;0;L;;;;;N;;;;; +121BC;CUNEIFORM SIGN LAGAB TIMES A PLUS LAL;Lo;0;L;;;;;N;;;;; +121BD;CUNEIFORM SIGN LAGAB TIMES AL;Lo;0;L;;;;;N;;;;; +121BE;CUNEIFORM SIGN LAGAB TIMES AN;Lo;0;L;;;;;N;;;;; +121BF;CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU;Lo;0;L;;;;;N;;;;; +121C0;CUNEIFORM SIGN LAGAB TIMES BAD;Lo;0;L;;;;;N;;;;; +121C1;CUNEIFORM SIGN LAGAB TIMES BI;Lo;0;L;;;;;N;;;;; +121C2;CUNEIFORM SIGN LAGAB TIMES DAR;Lo;0;L;;;;;N;;;;; +121C3;CUNEIFORM SIGN LAGAB TIMES EN;Lo;0;L;;;;;N;;;;; +121C4;CUNEIFORM SIGN LAGAB TIMES GA;Lo;0;L;;;;;N;;;;; +121C5;CUNEIFORM SIGN LAGAB TIMES GAR;Lo;0;L;;;;;N;;;;; +121C6;CUNEIFORM SIGN LAGAB TIMES GUD;Lo;0;L;;;;;N;;;;; +121C7;CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD;Lo;0;L;;;;;N;;;;; +121C8;CUNEIFORM SIGN LAGAB TIMES HA;Lo;0;L;;;;;N;;;;; +121C9;CUNEIFORM SIGN LAGAB TIMES HAL;Lo;0;L;;;;;N;;;;; +121CA;CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN;Lo;0;L;;;;;N;;;;; +121CB;CUNEIFORM SIGN LAGAB TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +121CC;CUNEIFORM SIGN LAGAB TIMES IM;Lo;0;L;;;;;N;;;;; +121CD;CUNEIFORM SIGN LAGAB TIMES IM PLUS HA;Lo;0;L;;;;;N;;;;; +121CE;CUNEIFORM SIGN LAGAB TIMES IM PLUS LU;Lo;0;L;;;;;N;;;;; +121CF;CUNEIFORM SIGN LAGAB TIMES KI;Lo;0;L;;;;;N;;;;; +121D0;CUNEIFORM SIGN LAGAB TIMES KIN;Lo;0;L;;;;;N;;;;; +121D1;CUNEIFORM SIGN LAGAB TIMES KU3;Lo;0;L;;;;;N;;;;; +121D2;CUNEIFORM SIGN LAGAB TIMES KUL;Lo;0;L;;;;;N;;;;; +121D3;CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A;Lo;0;L;;;;;N;;;;; +121D4;CUNEIFORM SIGN LAGAB TIMES LAGAB;Lo;0;L;;;;;N;;;;; +121D5;CUNEIFORM SIGN LAGAB TIMES LISH;Lo;0;L;;;;;N;;;;; +121D6;CUNEIFORM SIGN LAGAB TIMES LU;Lo;0;L;;;;;N;;;;; +121D7;CUNEIFORM SIGN LAGAB TIMES LUL;Lo;0;L;;;;;N;;;;; +121D8;CUNEIFORM SIGN LAGAB TIMES ME;Lo;0;L;;;;;N;;;;; +121D9;CUNEIFORM SIGN LAGAB TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;; +121DA;CUNEIFORM SIGN LAGAB TIMES MUSH;Lo;0;L;;;;;N;;;;; +121DB;CUNEIFORM SIGN LAGAB TIMES NE;Lo;0;L;;;;;N;;;;; +121DC;CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM;Lo;0;L;;;;;N;;;;; +121DD;CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2;Lo;0;L;;;;;N;;;;; +121DE;CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU;Lo;0;L;;;;;N;;;;; +121DF;CUNEIFORM SIGN LAGAB TIMES SHU2;Lo;0;L;;;;;N;;;;; +121E0;CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2;Lo;0;L;;;;;N;;;;; +121E1;CUNEIFORM SIGN LAGAB TIMES SUM;Lo;0;L;;;;;N;;;;; +121E2;CUNEIFORM SIGN LAGAB TIMES TAG;Lo;0;L;;;;;N;;;;; +121E3;CUNEIFORM SIGN LAGAB TIMES TAK4;Lo;0;L;;;;;N;;;;; +121E4;CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA;Lo;0;L;;;;;N;;;;; +121E5;CUNEIFORM SIGN LAGAB TIMES U;Lo;0;L;;;;;N;;;;; +121E6;CUNEIFORM SIGN LAGAB TIMES U PLUS A;Lo;0;L;;;;;N;;;;; +121E7;CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U;Lo;0;L;;;;;N;;;;; +121E8;CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH;Lo;0;L;;;;;N;;;;; +121E9;CUNEIFORM SIGN LAGAB TIMES UD;Lo;0;L;;;;;N;;;;; +121EA;CUNEIFORM SIGN LAGAB TIMES USH;Lo;0;L;;;;;N;;;;; +121EB;CUNEIFORM SIGN LAGAB SQUARED;Lo;0;L;;;;;N;;;;; +121EC;CUNEIFORM SIGN LAGAR;Lo;0;L;;;;;N;;;;; +121ED;CUNEIFORM SIGN LAGAR TIMES SHE;Lo;0;L;;;;;N;;;;; +121EE;CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM;Lo;0;L;;;;;N;;;;; +121EF;CUNEIFORM SIGN LAGAR GUNU;Lo;0;L;;;;;N;;;;; +121F0;CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE;Lo;0;L;;;;;N;;;;; +121F1;CUNEIFORM SIGN LAHSHU;Lo;0;L;;;;;N;;;;; +121F2;CUNEIFORM SIGN LAL;Lo;0;L;;;;;N;;;;; +121F3;CUNEIFORM SIGN LAL TIMES LAL;Lo;0;L;;;;;N;;;;; +121F4;CUNEIFORM SIGN LAM;Lo;0;L;;;;;N;;;;; +121F5;CUNEIFORM SIGN LAM TIMES KUR;Lo;0;L;;;;;N;;;;; +121F6;CUNEIFORM SIGN LAM TIMES KUR PLUS RU;Lo;0;L;;;;;N;;;;; +121F7;CUNEIFORM SIGN LI;Lo;0;L;;;;;N;;;;; +121F8;CUNEIFORM SIGN LIL;Lo;0;L;;;;;N;;;;; +121F9;CUNEIFORM SIGN LIMMU2;Lo;0;L;;;;;N;;;;; +121FA;CUNEIFORM SIGN LISH;Lo;0;L;;;;;N;;;;; +121FB;CUNEIFORM SIGN LU;Lo;0;L;;;;;N;;;;; +121FC;CUNEIFORM SIGN LU TIMES BAD;Lo;0;L;;;;;N;;;;; +121FD;CUNEIFORM SIGN LU2;Lo;0;L;;;;;N;;;;; +121FE;CUNEIFORM SIGN LU2 TIMES AL;Lo;0;L;;;;;N;;;;; +121FF;CUNEIFORM SIGN LU2 TIMES BAD;Lo;0;L;;;;;N;;;;; +12200;CUNEIFORM SIGN LU2 TIMES ESH2;Lo;0;L;;;;;N;;;;; +12201;CUNEIFORM SIGN LU2 TIMES ESH2 TENU;Lo;0;L;;;;;N;;;;; +12202;CUNEIFORM SIGN LU2 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +12203;CUNEIFORM SIGN LU2 TIMES HI TIMES BAD;Lo;0;L;;;;;N;;;;; +12204;CUNEIFORM SIGN LU2 TIMES IM;Lo;0;L;;;;;N;;;;; +12205;CUNEIFORM SIGN LU2 TIMES KAD2;Lo;0;L;;;;;N;;;;; +12206;CUNEIFORM SIGN LU2 TIMES KAD3;Lo;0;L;;;;;N;;;;; +12207;CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH;Lo;0;L;;;;;N;;;;; +12208;CUNEIFORM SIGN LU2 TIMES KI;Lo;0;L;;;;;N;;;;; +12209;CUNEIFORM SIGN LU2 TIMES LA PLUS ASH;Lo;0;L;;;;;N;;;;; +1220A;CUNEIFORM SIGN LU2 TIMES LAGAB;Lo;0;L;;;;;N;;;;; +1220B;CUNEIFORM SIGN LU2 TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;; +1220C;CUNEIFORM SIGN LU2 TIMES NE;Lo;0;L;;;;;N;;;;; +1220D;CUNEIFORM SIGN LU2 TIMES NU;Lo;0;L;;;;;N;;;;; +1220E;CUNEIFORM SIGN LU2 TIMES SI PLUS ASH;Lo;0;L;;;;;N;;;;; +1220F;CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU;Lo;0;L;;;;;N;;;;; +12210;CUNEIFORM SIGN LU2 TIMES TUG2;Lo;0;L;;;;;N;;;;; +12211;CUNEIFORM SIGN LU2 TENU;Lo;0;L;;;;;N;;;;; +12212;CUNEIFORM SIGN LU2 CROSSING LU2;Lo;0;L;;;;;N;;;;; +12213;CUNEIFORM SIGN LU2 OPPOSING LU2;Lo;0;L;;;;;N;;;;; +12214;CUNEIFORM SIGN LU2 SQUARED;Lo;0;L;;;;;N;;;;; +12215;CUNEIFORM SIGN LU2 SHESHIG;Lo;0;L;;;;;N;;;;; +12216;CUNEIFORM SIGN LU3;Lo;0;L;;;;;N;;;;; +12217;CUNEIFORM SIGN LUGAL;Lo;0;L;;;;;N;;;;; +12218;CUNEIFORM SIGN LUGAL OVER LUGAL;Lo;0;L;;;;;N;;;;; +12219;CUNEIFORM SIGN LUGAL OPPOSING LUGAL;Lo;0;L;;;;;N;;;;; +1221A;CUNEIFORM SIGN LUGAL SHESHIG;Lo;0;L;;;;;N;;;;; +1221B;CUNEIFORM SIGN LUH;Lo;0;L;;;;;N;;;;; +1221C;CUNEIFORM SIGN LUL;Lo;0;L;;;;;N;;;;; +1221D;CUNEIFORM SIGN LUM;Lo;0;L;;;;;N;;;;; +1221E;CUNEIFORM SIGN LUM OVER LUM;Lo;0;L;;;;;N;;;;; +1221F;CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR;Lo;0;L;;;;;N;;;;; +12220;CUNEIFORM SIGN MA;Lo;0;L;;;;;N;;;;; +12221;CUNEIFORM SIGN MA TIMES TAK4;Lo;0;L;;;;;N;;;;; +12222;CUNEIFORM SIGN MA GUNU;Lo;0;L;;;;;N;;;;; +12223;CUNEIFORM SIGN MA2;Lo;0;L;;;;;N;;;;; +12224;CUNEIFORM SIGN MAH;Lo;0;L;;;;;N;;;;; +12225;CUNEIFORM SIGN MAR;Lo;0;L;;;;;N;;;;; +12226;CUNEIFORM SIGN MASH;Lo;0;L;;;;;N;;;;; +12227;CUNEIFORM SIGN MASH2;Lo;0;L;;;;;N;;;;; +12228;CUNEIFORM SIGN ME;Lo;0;L;;;;;N;;;;; +12229;CUNEIFORM SIGN MES;Lo;0;L;;;;;N;;;;; +1222A;CUNEIFORM SIGN MI;Lo;0;L;;;;;N;;;;; +1222B;CUNEIFORM SIGN MIN;Lo;0;L;;;;;N;;;;; +1222C;CUNEIFORM SIGN MU;Lo;0;L;;;;;N;;;;; +1222D;CUNEIFORM SIGN MU OVER MU;Lo;0;L;;;;;N;;;;; +1222E;CUNEIFORM SIGN MUG;Lo;0;L;;;;;N;;;;; +1222F;CUNEIFORM SIGN MUG GUNU;Lo;0;L;;;;;N;;;;; +12230;CUNEIFORM SIGN MUNSUB;Lo;0;L;;;;;N;;;;; +12231;CUNEIFORM SIGN MURGU2;Lo;0;L;;;;;N;;;;; +12232;CUNEIFORM SIGN MUSH;Lo;0;L;;;;;N;;;;; +12233;CUNEIFORM SIGN MUSH TIMES A;Lo;0;L;;;;;N;;;;; +12234;CUNEIFORM SIGN MUSH TIMES KUR;Lo;0;L;;;;;N;;;;; +12235;CUNEIFORM SIGN MUSH TIMES ZA;Lo;0;L;;;;;N;;;;; +12236;CUNEIFORM SIGN MUSH OVER MUSH;Lo;0;L;;;;;N;;;;; +12237;CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA;Lo;0;L;;;;;N;;;;; +12238;CUNEIFORM SIGN MUSH CROSSING MUSH;Lo;0;L;;;;;N;;;;; +12239;CUNEIFORM SIGN MUSH3;Lo;0;L;;;;;N;;;;; +1223A;CUNEIFORM SIGN MUSH3 TIMES A;Lo;0;L;;;;;N;;;;; +1223B;CUNEIFORM SIGN MUSH3 TIMES A PLUS DI;Lo;0;L;;;;;N;;;;; +1223C;CUNEIFORM SIGN MUSH3 TIMES DI;Lo;0;L;;;;;N;;;;; +1223D;CUNEIFORM SIGN MUSH3 GUNU;Lo;0;L;;;;;N;;;;; +1223E;CUNEIFORM SIGN NA;Lo;0;L;;;;;N;;;;; +1223F;CUNEIFORM SIGN NA2;Lo;0;L;;;;;N;;;;; +12240;CUNEIFORM SIGN NAGA;Lo;0;L;;;;;N;;;;; +12241;CUNEIFORM SIGN NAGA INVERTED;Lo;0;L;;;;;N;;;;; +12242;CUNEIFORM SIGN NAGA TIMES SHU TENU;Lo;0;L;;;;;N;;;;; +12243;CUNEIFORM SIGN NAGA OPPOSING NAGA;Lo;0;L;;;;;N;;;;; +12244;CUNEIFORM SIGN NAGAR;Lo;0;L;;;;;N;;;;; +12245;CUNEIFORM SIGN NAM NUTILLU;Lo;0;L;;;;;N;;;;; +12246;CUNEIFORM SIGN NAM;Lo;0;L;;;;;N;;;;; +12247;CUNEIFORM SIGN NAM2;Lo;0;L;;;;;N;;;;; +12248;CUNEIFORM SIGN NE;Lo;0;L;;;;;N;;;;; +12249;CUNEIFORM SIGN NE TIMES A;Lo;0;L;;;;;N;;;;; +1224A;CUNEIFORM SIGN NE TIMES UD;Lo;0;L;;;;;N;;;;; +1224B;CUNEIFORM SIGN NE SHESHIG;Lo;0;L;;;;;N;;;;; +1224C;CUNEIFORM SIGN NI;Lo;0;L;;;;;N;;;;; +1224D;CUNEIFORM SIGN NI TIMES E;Lo;0;L;;;;;N;;;;; +1224E;CUNEIFORM SIGN NI2;Lo;0;L;;;;;N;;;;; +1224F;CUNEIFORM SIGN NIM;Lo;0;L;;;;;N;;;;; +12250;CUNEIFORM SIGN NIM TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +12251;CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU;Lo;0;L;;;;;N;;;;; +12252;CUNEIFORM SIGN NINDA2;Lo;0;L;;;;;N;;;;; +12253;CUNEIFORM SIGN NINDA2 TIMES AN;Lo;0;L;;;;;N;;;;; +12254;CUNEIFORM SIGN NINDA2 TIMES ASH;Lo;0;L;;;;;N;;;;; +12255;CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH;Lo;0;L;;;;;N;;;;; +12256;CUNEIFORM SIGN NINDA2 TIMES GUD;Lo;0;L;;;;;N;;;;; +12257;CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU;Lo;0;L;;;;;N;;;;; +12258;CUNEIFORM SIGN NINDA2 TIMES NE;Lo;0;L;;;;;N;;;;; +12259;CUNEIFORM SIGN NINDA2 TIMES NUN;Lo;0;L;;;;;N;;;;; +1225A;CUNEIFORM SIGN NINDA2 TIMES SHE;Lo;0;L;;;;;N;;;;; +1225B;CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN;Lo;0;L;;;;;N;;;;; +1225C;CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH;Lo;0;L;;;;;N;;;;; +1225D;CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH;Lo;0;L;;;;;N;;;;; +1225E;CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH;Lo;0;L;;;;;N;;;;; +1225F;CUNEIFORM SIGN NINDA2 TIMES USH;Lo;0;L;;;;;N;;;;; +12260;CUNEIFORM SIGN NISAG;Lo;0;L;;;;;N;;;;; +12261;CUNEIFORM SIGN NU;Lo;0;L;;;;;N;;;;; +12262;CUNEIFORM SIGN NU11;Lo;0;L;;;;;N;;;;; +12263;CUNEIFORM SIGN NUN;Lo;0;L;;;;;N;;;;; +12264;CUNEIFORM SIGN NUN LAGAR TIMES GAR;Lo;0;L;;;;;N;;;;; +12265;CUNEIFORM SIGN NUN LAGAR TIMES MASH;Lo;0;L;;;;;N;;;;; +12266;CUNEIFORM SIGN NUN LAGAR TIMES SAL;Lo;0;L;;;;;N;;;;; +12267;CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL;Lo;0;L;;;;;N;;;;; +12268;CUNEIFORM SIGN NUN LAGAR TIMES USH;Lo;0;L;;;;;N;;;;; +12269;CUNEIFORM SIGN NUN TENU;Lo;0;L;;;;;N;;;;; +1226A;CUNEIFORM SIGN NUN OVER NUN;Lo;0;L;;;;;N;;;;; +1226B;CUNEIFORM SIGN NUN CROSSING NUN;Lo;0;L;;;;;N;;;;; +1226C;CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR;Lo;0;L;;;;;N;;;;; +1226D;CUNEIFORM SIGN NUNUZ;Lo;0;L;;;;;N;;;;; +1226E;CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB;Lo;0;L;;;;;N;;;;; +1226F;CUNEIFORM SIGN NUNUZ AB2 TIMES BI;Lo;0;L;;;;;N;;;;; +12270;CUNEIFORM SIGN NUNUZ AB2 TIMES DUG;Lo;0;L;;;;;N;;;;; +12271;CUNEIFORM SIGN NUNUZ AB2 TIMES GUD;Lo;0;L;;;;;N;;;;; +12272;CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +12273;CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3;Lo;0;L;;;;;N;;;;; +12274;CUNEIFORM SIGN NUNUZ AB2 TIMES LA;Lo;0;L;;;;;N;;;;; +12275;CUNEIFORM SIGN NUNUZ AB2 TIMES NE;Lo;0;L;;;;;N;;;;; +12276;CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3;Lo;0;L;;;;;N;;;;; +12277;CUNEIFORM SIGN NUNUZ AB2 TIMES U2;Lo;0;L;;;;;N;;;;; +12278;CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI;Lo;0;L;;;;;N;;;;; +12279;CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U;Lo;0;L;;;;;N;;;;; +1227A;CUNEIFORM SIGN PA;Lo;0;L;;;;;N;;;;; +1227B;CUNEIFORM SIGN PAD;Lo;0;L;;;;;N;;;;; +1227C;CUNEIFORM SIGN PAN;Lo;0;L;;;;;N;;;;; +1227D;CUNEIFORM SIGN PAP;Lo;0;L;;;;;N;;;;; +1227E;CUNEIFORM SIGN PESH2;Lo;0;L;;;;;N;;;;; +1227F;CUNEIFORM SIGN PI;Lo;0;L;;;;;N;;;;; +12280;CUNEIFORM SIGN PI TIMES A;Lo;0;L;;;;;N;;;;; +12281;CUNEIFORM SIGN PI TIMES AB;Lo;0;L;;;;;N;;;;; +12282;CUNEIFORM SIGN PI TIMES BI;Lo;0;L;;;;;N;;;;; +12283;CUNEIFORM SIGN PI TIMES BU;Lo;0;L;;;;;N;;;;; +12284;CUNEIFORM SIGN PI TIMES E;Lo;0;L;;;;;N;;;;; +12285;CUNEIFORM SIGN PI TIMES I;Lo;0;L;;;;;N;;;;; +12286;CUNEIFORM SIGN PI TIMES IB;Lo;0;L;;;;;N;;;;; +12287;CUNEIFORM SIGN PI TIMES U;Lo;0;L;;;;;N;;;;; +12288;CUNEIFORM SIGN PI TIMES U2;Lo;0;L;;;;;N;;;;; +12289;CUNEIFORM SIGN PI CROSSING PI;Lo;0;L;;;;;N;;;;; +1228A;CUNEIFORM SIGN PIRIG;Lo;0;L;;;;;N;;;;; +1228B;CUNEIFORM SIGN PIRIG TIMES KAL;Lo;0;L;;;;;N;;;;; +1228C;CUNEIFORM SIGN PIRIG TIMES UD;Lo;0;L;;;;;N;;;;; +1228D;CUNEIFORM SIGN PIRIG TIMES ZA;Lo;0;L;;;;;N;;;;; +1228E;CUNEIFORM SIGN PIRIG OPPOSING PIRIG;Lo;0;L;;;;;N;;;;; +1228F;CUNEIFORM SIGN RA;Lo;0;L;;;;;N;;;;; +12290;CUNEIFORM SIGN RAB;Lo;0;L;;;;;N;;;;; +12291;CUNEIFORM SIGN RI;Lo;0;L;;;;;N;;;;; +12292;CUNEIFORM SIGN RU;Lo;0;L;;;;;N;;;;; +12293;CUNEIFORM SIGN SA;Lo;0;L;;;;;N;;;;; +12294;CUNEIFORM SIGN SAG NUTILLU;Lo;0;L;;;;;N;;;;; +12295;CUNEIFORM SIGN SAG;Lo;0;L;;;;;N;;;;; +12296;CUNEIFORM SIGN SAG TIMES A;Lo;0;L;;;;;N;;;;; +12297;CUNEIFORM SIGN SAG TIMES DU;Lo;0;L;;;;;N;;;;; +12298;CUNEIFORM SIGN SAG TIMES DUB;Lo;0;L;;;;;N;;;;; +12299;CUNEIFORM SIGN SAG TIMES HA;Lo;0;L;;;;;N;;;;; +1229A;CUNEIFORM SIGN SAG TIMES KAK;Lo;0;L;;;;;N;;;;; +1229B;CUNEIFORM SIGN SAG TIMES KUR;Lo;0;L;;;;;N;;;;; +1229C;CUNEIFORM SIGN SAG TIMES LUM;Lo;0;L;;;;;N;;;;; +1229D;CUNEIFORM SIGN SAG TIMES MI;Lo;0;L;;;;;N;;;;; +1229E;CUNEIFORM SIGN SAG TIMES NUN;Lo;0;L;;;;;N;;;;; +1229F;CUNEIFORM SIGN SAG TIMES SAL;Lo;0;L;;;;;N;;;;; +122A0;CUNEIFORM SIGN SAG TIMES SHID;Lo;0;L;;;;;N;;;;; +122A1;CUNEIFORM SIGN SAG TIMES TAB;Lo;0;L;;;;;N;;;;; +122A2;CUNEIFORM SIGN SAG TIMES U2;Lo;0;L;;;;;N;;;;; +122A3;CUNEIFORM SIGN SAG TIMES UB;Lo;0;L;;;;;N;;;;; +122A4;CUNEIFORM SIGN SAG TIMES UM;Lo;0;L;;;;;N;;;;; +122A5;CUNEIFORM SIGN SAG TIMES UR;Lo;0;L;;;;;N;;;;; +122A6;CUNEIFORM SIGN SAG TIMES USH;Lo;0;L;;;;;N;;;;; +122A7;CUNEIFORM SIGN SAG OVER SAG;Lo;0;L;;;;;N;;;;; +122A8;CUNEIFORM SIGN SAG GUNU;Lo;0;L;;;;;N;;;;; +122A9;CUNEIFORM SIGN SAL;Lo;0;L;;;;;N;;;;; +122AA;CUNEIFORM SIGN SAL LAGAB TIMES ASH2;Lo;0;L;;;;;N;;;;; +122AB;CUNEIFORM SIGN SANGA2;Lo;0;L;;;;;N;;;;; +122AC;CUNEIFORM SIGN SAR;Lo;0;L;;;;;N;;;;; +122AD;CUNEIFORM SIGN SHA;Lo;0;L;;;;;N;;;;; +122AE;CUNEIFORM SIGN SHA3;Lo;0;L;;;;;N;;;;; +122AF;CUNEIFORM SIGN SHA3 TIMES A;Lo;0;L;;;;;N;;;;; +122B0;CUNEIFORM SIGN SHA3 TIMES BAD;Lo;0;L;;;;;N;;;;; +122B1;CUNEIFORM SIGN SHA3 TIMES GISH;Lo;0;L;;;;;N;;;;; +122B2;CUNEIFORM SIGN SHA3 TIMES NE;Lo;0;L;;;;;N;;;;; +122B3;CUNEIFORM SIGN SHA3 TIMES SHU2;Lo;0;L;;;;;N;;;;; +122B4;CUNEIFORM SIGN SHA3 TIMES TUR;Lo;0;L;;;;;N;;;;; +122B5;CUNEIFORM SIGN SHA3 TIMES U;Lo;0;L;;;;;N;;;;; +122B6;CUNEIFORM SIGN SHA3 TIMES U PLUS A;Lo;0;L;;;;;N;;;;; +122B7;CUNEIFORM SIGN SHA6;Lo;0;L;;;;;N;;;;; +122B8;CUNEIFORM SIGN SHAB6;Lo;0;L;;;;;N;;;;; +122B9;CUNEIFORM SIGN SHAR2;Lo;0;L;;;;;N;;;;; +122BA;CUNEIFORM SIGN SHE;Lo;0;L;;;;;N;;;;; +122BB;CUNEIFORM SIGN SHE HU;Lo;0;L;;;;;N;;;;; +122BC;CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;; +122BD;CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR;Lo;0;L;;;;;N;;;;; +122BE;CUNEIFORM SIGN SHEG9;Lo;0;L;;;;;N;;;;; +122BF;CUNEIFORM SIGN SHEN;Lo;0;L;;;;;N;;;;; +122C0;CUNEIFORM SIGN SHESH;Lo;0;L;;;;;N;;;;; +122C1;CUNEIFORM SIGN SHESH2;Lo;0;L;;;;;N;;;;; +122C2;CUNEIFORM SIGN SHESHLAM;Lo;0;L;;;;;N;;;;; +122C3;CUNEIFORM SIGN SHID;Lo;0;L;;;;;N;;;;; +122C4;CUNEIFORM SIGN SHID TIMES A;Lo;0;L;;;;;N;;;;; +122C5;CUNEIFORM SIGN SHID TIMES IM;Lo;0;L;;;;;N;;;;; +122C6;CUNEIFORM SIGN SHIM;Lo;0;L;;;;;N;;;;; +122C7;CUNEIFORM SIGN SHIM TIMES A;Lo;0;L;;;;;N;;;;; +122C8;CUNEIFORM SIGN SHIM TIMES BAL;Lo;0;L;;;;;N;;;;; +122C9;CUNEIFORM SIGN SHIM TIMES BULUG;Lo;0;L;;;;;N;;;;; +122CA;CUNEIFORM SIGN SHIM TIMES DIN;Lo;0;L;;;;;N;;;;; +122CB;CUNEIFORM SIGN SHIM TIMES GAR;Lo;0;L;;;;;N;;;;; +122CC;CUNEIFORM SIGN SHIM TIMES IGI;Lo;0;L;;;;;N;;;;; +122CD;CUNEIFORM SIGN SHIM TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +122CE;CUNEIFORM SIGN SHIM TIMES KUSHU2;Lo;0;L;;;;;N;;;;; +122CF;CUNEIFORM SIGN SHIM TIMES LUL;Lo;0;L;;;;;N;;;;; +122D0;CUNEIFORM SIGN SHIM TIMES MUG;Lo;0;L;;;;;N;;;;; +122D1;CUNEIFORM SIGN SHIM TIMES SAL;Lo;0;L;;;;;N;;;;; +122D2;CUNEIFORM SIGN SHINIG;Lo;0;L;;;;;N;;;;; +122D3;CUNEIFORM SIGN SHIR;Lo;0;L;;;;;N;;;;; +122D4;CUNEIFORM SIGN SHIR TENU;Lo;0;L;;;;;N;;;;; +122D5;CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR;Lo;0;L;;;;;N;;;;; +122D6;CUNEIFORM SIGN SHITA;Lo;0;L;;;;;N;;;;; +122D7;CUNEIFORM SIGN SHU;Lo;0;L;;;;;N;;;;; +122D8;CUNEIFORM SIGN SHU OVER INVERTED SHU;Lo;0;L;;;;;N;;;;; +122D9;CUNEIFORM SIGN SHU2;Lo;0;L;;;;;N;;;;; +122DA;CUNEIFORM SIGN SHUBUR;Lo;0;L;;;;;N;;;;; +122DB;CUNEIFORM SIGN SI;Lo;0;L;;;;;N;;;;; +122DC;CUNEIFORM SIGN SI GUNU;Lo;0;L;;;;;N;;;;; +122DD;CUNEIFORM SIGN SIG;Lo;0;L;;;;;N;;;;; +122DE;CUNEIFORM SIGN SIG4;Lo;0;L;;;;;N;;;;; +122DF;CUNEIFORM SIGN SIG4 OVER SIG4 SHU2;Lo;0;L;;;;;N;;;;; +122E0;CUNEIFORM SIGN SIK2;Lo;0;L;;;;;N;;;;; +122E1;CUNEIFORM SIGN SILA3;Lo;0;L;;;;;N;;;;; +122E2;CUNEIFORM SIGN SU;Lo;0;L;;;;;N;;;;; +122E3;CUNEIFORM SIGN SU OVER SU;Lo;0;L;;;;;N;;;;; +122E4;CUNEIFORM SIGN SUD;Lo;0;L;;;;;N;;;;; +122E5;CUNEIFORM SIGN SUD2;Lo;0;L;;;;;N;;;;; +122E6;CUNEIFORM SIGN SUHUR;Lo;0;L;;;;;N;;;;; +122E7;CUNEIFORM SIGN SUM;Lo;0;L;;;;;N;;;;; +122E8;CUNEIFORM SIGN SUMASH;Lo;0;L;;;;;N;;;;; +122E9;CUNEIFORM SIGN SUR;Lo;0;L;;;;;N;;;;; +122EA;CUNEIFORM SIGN SUR9;Lo;0;L;;;;;N;;;;; +122EB;CUNEIFORM SIGN TA;Lo;0;L;;;;;N;;;;; +122EC;CUNEIFORM SIGN TA ASTERISK;Lo;0;L;;;;;N;;;;; +122ED;CUNEIFORM SIGN TA TIMES HI;Lo;0;L;;;;;N;;;;; +122EE;CUNEIFORM SIGN TA TIMES MI;Lo;0;L;;;;;N;;;;; +122EF;CUNEIFORM SIGN TA GUNU;Lo;0;L;;;;;N;;;;; +122F0;CUNEIFORM SIGN TAB;Lo;0;L;;;;;N;;;;; +122F1;CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH;Lo;0;L;;;;;N;;;;; +122F2;CUNEIFORM SIGN TAB SQUARED;Lo;0;L;;;;;N;;;;; +122F3;CUNEIFORM SIGN TAG;Lo;0;L;;;;;N;;;;; +122F4;CUNEIFORM SIGN TAG TIMES BI;Lo;0;L;;;;;N;;;;; +122F5;CUNEIFORM SIGN TAG TIMES GUD;Lo;0;L;;;;;N;;;;; +122F6;CUNEIFORM SIGN TAG TIMES SHE;Lo;0;L;;;;;N;;;;; +122F7;CUNEIFORM SIGN TAG TIMES SHU;Lo;0;L;;;;;N;;;;; +122F8;CUNEIFORM SIGN TAG TIMES TUG2;Lo;0;L;;;;;N;;;;; +122F9;CUNEIFORM SIGN TAG TIMES UD;Lo;0;L;;;;;N;;;;; +122FA;CUNEIFORM SIGN TAK4;Lo;0;L;;;;;N;;;;; +122FB;CUNEIFORM SIGN TAR;Lo;0;L;;;;;N;;;;; +122FC;CUNEIFORM SIGN TE;Lo;0;L;;;;;N;;;;; +122FD;CUNEIFORM SIGN TE GUNU;Lo;0;L;;;;;N;;;;; +122FE;CUNEIFORM SIGN TI;Lo;0;L;;;;;N;;;;; +122FF;CUNEIFORM SIGN TI TENU;Lo;0;L;;;;;N;;;;; +12300;CUNEIFORM SIGN TIL;Lo;0;L;;;;;N;;;;; +12301;CUNEIFORM SIGN TIR;Lo;0;L;;;;;N;;;;; +12302;CUNEIFORM SIGN TIR TIMES TAK4;Lo;0;L;;;;;N;;;;; +12303;CUNEIFORM SIGN TIR OVER TIR;Lo;0;L;;;;;N;;;;; +12304;CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;; +12305;CUNEIFORM SIGN TU;Lo;0;L;;;;;N;;;;; +12306;CUNEIFORM SIGN TUG2;Lo;0;L;;;;;N;;;;; +12307;CUNEIFORM SIGN TUK;Lo;0;L;;;;;N;;;;; +12308;CUNEIFORM SIGN TUM;Lo;0;L;;;;;N;;;;; +12309;CUNEIFORM SIGN TUR;Lo;0;L;;;;;N;;;;; +1230A;CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA;Lo;0;L;;;;;N;;;;; +1230B;CUNEIFORM SIGN U;Lo;0;L;;;;;N;;;;; +1230C;CUNEIFORM SIGN U GUD;Lo;0;L;;;;;N;;;;; +1230D;CUNEIFORM SIGN U U U;Lo;0;L;;;;;N;;;;; +1230E;CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR;Lo;0;L;;;;;N;;;;; +1230F;CUNEIFORM SIGN U OVER U SUR OVER SUR;Lo;0;L;;;;;N;;;;; +12310;CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED;Lo;0;L;;;;;N;;;;; +12311;CUNEIFORM SIGN U2;Lo;0;L;;;;;N;;;;; +12312;CUNEIFORM SIGN UB;Lo;0;L;;;;;N;;;;; +12313;CUNEIFORM SIGN UD;Lo;0;L;;;;;N;;;;; +12314;CUNEIFORM SIGN UD KUSHU2;Lo;0;L;;;;;N;;;;; +12315;CUNEIFORM SIGN UD TIMES BAD;Lo;0;L;;;;;N;;;;; +12316;CUNEIFORM SIGN UD TIMES MI;Lo;0;L;;;;;N;;;;; +12317;CUNEIFORM SIGN UD TIMES U PLUS U PLUS U;Lo;0;L;;;;;N;;;;; +12318;CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU;Lo;0;L;;;;;N;;;;; +12319;CUNEIFORM SIGN UD GUNU;Lo;0;L;;;;;N;;;;; +1231A;CUNEIFORM SIGN UD SHESHIG;Lo;0;L;;;;;N;;;;; +1231B;CUNEIFORM SIGN UD SHESHIG TIMES BAD;Lo;0;L;;;;;N;;;;; +1231C;CUNEIFORM SIGN UDUG;Lo;0;L;;;;;N;;;;; +1231D;CUNEIFORM SIGN UM;Lo;0;L;;;;;N;;;;; +1231E;CUNEIFORM SIGN UM TIMES LAGAB;Lo;0;L;;;;;N;;;;; +1231F;CUNEIFORM SIGN UM TIMES ME PLUS DA;Lo;0;L;;;;;N;;;;; +12320;CUNEIFORM SIGN UM TIMES SHA3;Lo;0;L;;;;;N;;;;; +12321;CUNEIFORM SIGN UM TIMES U;Lo;0;L;;;;;N;;;;; +12322;CUNEIFORM SIGN UMBIN;Lo;0;L;;;;;N;;;;; +12323;CUNEIFORM SIGN UMUM;Lo;0;L;;;;;N;;;;; +12324;CUNEIFORM SIGN UMUM TIMES KASKAL;Lo;0;L;;;;;N;;;;; +12325;CUNEIFORM SIGN UMUM TIMES PA;Lo;0;L;;;;;N;;;;; +12326;CUNEIFORM SIGN UN;Lo;0;L;;;;;N;;;;; +12327;CUNEIFORM SIGN UN GUNU;Lo;0;L;;;;;N;;;;; +12328;CUNEIFORM SIGN UR;Lo;0;L;;;;;N;;;;; +12329;CUNEIFORM SIGN UR CROSSING UR;Lo;0;L;;;;;N;;;;; +1232A;CUNEIFORM SIGN UR SHESHIG;Lo;0;L;;;;;N;;;;; +1232B;CUNEIFORM SIGN UR2;Lo;0;L;;;;;N;;;;; +1232C;CUNEIFORM SIGN UR2 TIMES A PLUS HA;Lo;0;L;;;;;N;;;;; +1232D;CUNEIFORM SIGN UR2 TIMES A PLUS NA;Lo;0;L;;;;;N;;;;; +1232E;CUNEIFORM SIGN UR2 TIMES AL;Lo;0;L;;;;;N;;;;; +1232F;CUNEIFORM SIGN UR2 TIMES HA;Lo;0;L;;;;;N;;;;; +12330;CUNEIFORM SIGN UR2 TIMES NUN;Lo;0;L;;;;;N;;;;; +12331;CUNEIFORM SIGN UR2 TIMES U2;Lo;0;L;;;;;N;;;;; +12332;CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH;Lo;0;L;;;;;N;;;;; +12333;CUNEIFORM SIGN UR2 TIMES U2 PLUS BI;Lo;0;L;;;;;N;;;;; +12334;CUNEIFORM SIGN UR4;Lo;0;L;;;;;N;;;;; +12335;CUNEIFORM SIGN URI;Lo;0;L;;;;;N;;;;; +12336;CUNEIFORM SIGN URI3;Lo;0;L;;;;;N;;;;; +12337;CUNEIFORM SIGN URU;Lo;0;L;;;;;N;;;;; +12338;CUNEIFORM SIGN URU TIMES A;Lo;0;L;;;;;N;;;;; +12339;CUNEIFORM SIGN URU TIMES ASHGAB;Lo;0;L;;;;;N;;;;; +1233A;CUNEIFORM SIGN URU TIMES BAR;Lo;0;L;;;;;N;;;;; +1233B;CUNEIFORM SIGN URU TIMES DUN;Lo;0;L;;;;;N;;;;; +1233C;CUNEIFORM SIGN URU TIMES GA;Lo;0;L;;;;;N;;;;; +1233D;CUNEIFORM SIGN URU TIMES GAL;Lo;0;L;;;;;N;;;;; +1233E;CUNEIFORM SIGN URU TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1233F;CUNEIFORM SIGN URU TIMES GAR;Lo;0;L;;;;;N;;;;; +12340;CUNEIFORM SIGN URU TIMES GU;Lo;0;L;;;;;N;;;;; +12341;CUNEIFORM SIGN URU TIMES HA;Lo;0;L;;;;;N;;;;; +12342;CUNEIFORM SIGN URU TIMES IGI;Lo;0;L;;;;;N;;;;; +12343;CUNEIFORM SIGN URU TIMES IM;Lo;0;L;;;;;N;;;;; +12344;CUNEIFORM SIGN URU TIMES ISH;Lo;0;L;;;;;N;;;;; +12345;CUNEIFORM SIGN URU TIMES KI;Lo;0;L;;;;;N;;;;; +12346;CUNEIFORM SIGN URU TIMES LUM;Lo;0;L;;;;;N;;;;; +12347;CUNEIFORM SIGN URU TIMES MIN;Lo;0;L;;;;;N;;;;; +12348;CUNEIFORM SIGN URU TIMES PA;Lo;0;L;;;;;N;;;;; +12349;CUNEIFORM SIGN URU TIMES SHE;Lo;0;L;;;;;N;;;;; +1234A;CUNEIFORM SIGN URU TIMES SIG4;Lo;0;L;;;;;N;;;;; +1234B;CUNEIFORM SIGN URU TIMES TU;Lo;0;L;;;;;N;;;;; +1234C;CUNEIFORM SIGN URU TIMES U PLUS GUD;Lo;0;L;;;;;N;;;;; +1234D;CUNEIFORM SIGN URU TIMES UD;Lo;0;L;;;;;N;;;;; +1234E;CUNEIFORM SIGN URU TIMES URUDA;Lo;0;L;;;;;N;;;;; +1234F;CUNEIFORM SIGN URUDA;Lo;0;L;;;;;N;;;;; +12350;CUNEIFORM SIGN URUDA TIMES U;Lo;0;L;;;;;N;;;;; +12351;CUNEIFORM SIGN USH;Lo;0;L;;;;;N;;;;; +12352;CUNEIFORM SIGN USH TIMES A;Lo;0;L;;;;;N;;;;; +12353;CUNEIFORM SIGN USH TIMES KU;Lo;0;L;;;;;N;;;;; +12354;CUNEIFORM SIGN USH TIMES KUR;Lo;0;L;;;;;N;;;;; +12355;CUNEIFORM SIGN USH TIMES TAK4;Lo;0;L;;;;;N;;;;; +12356;CUNEIFORM SIGN USHX;Lo;0;L;;;;;N;;;;; +12357;CUNEIFORM SIGN USH2;Lo;0;L;;;;;N;;;;; +12358;CUNEIFORM SIGN USHUMX;Lo;0;L;;;;;N;;;;; +12359;CUNEIFORM SIGN UTUKI;Lo;0;L;;;;;N;;;;; +1235A;CUNEIFORM SIGN UZ3;Lo;0;L;;;;;N;;;;; +1235B;CUNEIFORM SIGN UZ3 TIMES KASKAL;Lo;0;L;;;;;N;;;;; +1235C;CUNEIFORM SIGN UZU;Lo;0;L;;;;;N;;;;; +1235D;CUNEIFORM SIGN ZA;Lo;0;L;;;;;N;;;;; +1235E;CUNEIFORM SIGN ZA TENU;Lo;0;L;;;;;N;;;;; +1235F;CUNEIFORM SIGN ZA SQUARED TIMES KUR;Lo;0;L;;;;;N;;;;; +12360;CUNEIFORM SIGN ZAG;Lo;0;L;;;;;N;;;;; +12361;CUNEIFORM SIGN ZAMX;Lo;0;L;;;;;N;;;;; +12362;CUNEIFORM SIGN ZE2;Lo;0;L;;;;;N;;;;; +12363;CUNEIFORM SIGN ZI;Lo;0;L;;;;;N;;;;; +12364;CUNEIFORM SIGN ZI OVER ZI;Lo;0;L;;;;;N;;;;; +12365;CUNEIFORM SIGN ZI3;Lo;0;L;;;;;N;;;;; +12366;CUNEIFORM SIGN ZIB;Lo;0;L;;;;;N;;;;; +12367;CUNEIFORM SIGN ZIB KABA TENU;Lo;0;L;;;;;N;;;;; +12368;CUNEIFORM SIGN ZIG;Lo;0;L;;;;;N;;;;; +12369;CUNEIFORM SIGN ZIZ2;Lo;0;L;;;;;N;;;;; +1236A;CUNEIFORM SIGN ZU;Lo;0;L;;;;;N;;;;; +1236B;CUNEIFORM SIGN ZU5;Lo;0;L;;;;;N;;;;; +1236C;CUNEIFORM SIGN ZU5 TIMES A;Lo;0;L;;;;;N;;;;; +1236D;CUNEIFORM SIGN ZUBUR;Lo;0;L;;;;;N;;;;; +1236E;CUNEIFORM SIGN ZUM;Lo;0;L;;;;;N;;;;; +12400;CUNEIFORM NUMERIC SIGN TWO ASH;Nl;0;L;;;;2;N;;;;; +12401;CUNEIFORM NUMERIC SIGN THREE ASH;Nl;0;L;;;;3;N;;;;; +12402;CUNEIFORM NUMERIC SIGN FOUR ASH;Nl;0;L;;;;4;N;;;;; +12403;CUNEIFORM NUMERIC SIGN FIVE ASH;Nl;0;L;;;;5;N;;;;; +12404;CUNEIFORM NUMERIC SIGN SIX ASH;Nl;0;L;;;;6;N;;;;; +12405;CUNEIFORM NUMERIC SIGN SEVEN ASH;Nl;0;L;;;;7;N;;;;; +12406;CUNEIFORM NUMERIC SIGN EIGHT ASH;Nl;0;L;;;;8;N;;;;; +12407;CUNEIFORM NUMERIC SIGN NINE ASH;Nl;0;L;;;;9;N;;;;; +12408;CUNEIFORM NUMERIC SIGN THREE DISH;Nl;0;L;;;;3;N;;;;; +12409;CUNEIFORM NUMERIC SIGN FOUR DISH;Nl;0;L;;;;4;N;;;;; +1240A;CUNEIFORM NUMERIC SIGN FIVE DISH;Nl;0;L;;;;5;N;;;;; +1240B;CUNEIFORM NUMERIC SIGN SIX DISH;Nl;0;L;;;;6;N;;;;; +1240C;CUNEIFORM NUMERIC SIGN SEVEN DISH;Nl;0;L;;;;7;N;;;;; +1240D;CUNEIFORM NUMERIC SIGN EIGHT DISH;Nl;0;L;;;;8;N;;;;; +1240E;CUNEIFORM NUMERIC SIGN NINE DISH;Nl;0;L;;;;9;N;;;;; +1240F;CUNEIFORM NUMERIC SIGN FOUR U;Nl;0;L;;;;4;N;;;;; +12410;CUNEIFORM NUMERIC SIGN FIVE U;Nl;0;L;;;;5;N;;;;; +12411;CUNEIFORM NUMERIC SIGN SIX U;Nl;0;L;;;;6;N;;;;; +12412;CUNEIFORM NUMERIC SIGN SEVEN U;Nl;0;L;;;;7;N;;;;; +12413;CUNEIFORM NUMERIC SIGN EIGHT U;Nl;0;L;;;;8;N;;;;; +12414;CUNEIFORM NUMERIC SIGN NINE U;Nl;0;L;;;;9;N;;;;; +12415;CUNEIFORM NUMERIC SIGN ONE GESH2;Nl;0;L;;;;1;N;;;;; +12416;CUNEIFORM NUMERIC SIGN TWO GESH2;Nl;0;L;;;;2;N;;;;; +12417;CUNEIFORM NUMERIC SIGN THREE GESH2;Nl;0;L;;;;3;N;;;;; +12418;CUNEIFORM NUMERIC SIGN FOUR GESH2;Nl;0;L;;;;4;N;;;;; +12419;CUNEIFORM NUMERIC SIGN FIVE GESH2;Nl;0;L;;;;5;N;;;;; +1241A;CUNEIFORM NUMERIC SIGN SIX GESH2;Nl;0;L;;;;6;N;;;;; +1241B;CUNEIFORM NUMERIC SIGN SEVEN GESH2;Nl;0;L;;;;7;N;;;;; +1241C;CUNEIFORM NUMERIC SIGN EIGHT GESH2;Nl;0;L;;;;8;N;;;;; +1241D;CUNEIFORM NUMERIC SIGN NINE GESH2;Nl;0;L;;;;9;N;;;;; +1241E;CUNEIFORM NUMERIC SIGN ONE GESHU;Nl;0;L;;;;1;N;;;;; +1241F;CUNEIFORM NUMERIC SIGN TWO GESHU;Nl;0;L;;;;2;N;;;;; +12420;CUNEIFORM NUMERIC SIGN THREE GESHU;Nl;0;L;;;;3;N;;;;; +12421;CUNEIFORM NUMERIC SIGN FOUR GESHU;Nl;0;L;;;;4;N;;;;; +12422;CUNEIFORM NUMERIC SIGN FIVE GESHU;Nl;0;L;;;;5;N;;;;; +12423;CUNEIFORM NUMERIC SIGN TWO SHAR2;Nl;0;L;;;;2;N;;;;; +12424;CUNEIFORM NUMERIC SIGN THREE SHAR2;Nl;0;L;;;;3;N;;;;; +12425;CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM;Nl;0;L;;;;3;N;;;;; +12426;CUNEIFORM NUMERIC SIGN FOUR SHAR2;Nl;0;L;;;;4;N;;;;; +12427;CUNEIFORM NUMERIC SIGN FIVE SHAR2;Nl;0;L;;;;5;N;;;;; +12428;CUNEIFORM NUMERIC SIGN SIX SHAR2;Nl;0;L;;;;6;N;;;;; +12429;CUNEIFORM NUMERIC SIGN SEVEN SHAR2;Nl;0;L;;;;7;N;;;;; +1242A;CUNEIFORM NUMERIC SIGN EIGHT SHAR2;Nl;0;L;;;;8;N;;;;; +1242B;CUNEIFORM NUMERIC SIGN NINE SHAR2;Nl;0;L;;;;9;N;;;;; +1242C;CUNEIFORM NUMERIC SIGN ONE SHARU;Nl;0;L;;;;1;N;;;;; +1242D;CUNEIFORM NUMERIC SIGN TWO SHARU;Nl;0;L;;;;2;N;;;;; +1242E;CUNEIFORM NUMERIC SIGN THREE SHARU;Nl;0;L;;;;3;N;;;;; +1242F;CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM;Nl;0;L;;;;3;N;;;;; +12430;CUNEIFORM NUMERIC SIGN FOUR SHARU;Nl;0;L;;;;4;N;;;;; +12431;CUNEIFORM NUMERIC SIGN FIVE SHARU;Nl;0;L;;;;5;N;;;;; +12432;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH;Nl;0;L;;;;;N;;;;; +12433;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN;Nl;0;L;;;;;N;;;;; +12434;CUNEIFORM NUMERIC SIGN ONE BURU;Nl;0;L;;;;1;N;;;;; +12435;CUNEIFORM NUMERIC SIGN TWO BURU;Nl;0;L;;;;2;N;;;;; +12436;CUNEIFORM NUMERIC SIGN THREE BURU;Nl;0;L;;;;3;N;;;;; +12437;CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM;Nl;0;L;;;;3;N;;;;; +12438;CUNEIFORM NUMERIC SIGN FOUR BURU;Nl;0;L;;;;4;N;;;;; +12439;CUNEIFORM NUMERIC SIGN FIVE BURU;Nl;0;L;;;;5;N;;;;; +1243A;CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16;Nl;0;L;;;;3;N;;;;; +1243B;CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21;Nl;0;L;;;;3;N;;;;; +1243C;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU;Nl;0;L;;;;4;N;;;;; +1243D;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4;Nl;0;L;;;;4;N;;;;; +1243E;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A;Nl;0;L;;;;4;N;;;;; +1243F;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B;Nl;0;L;;;;4;N;;;;; +12440;CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9;Nl;0;L;;;;6;N;;;;; +12441;CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3;Nl;0;L;;;;7;N;;;;; +12442;CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A;Nl;0;L;;;;7;N;;;;; +12443;CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B;Nl;0;L;;;;7;N;;;;; +12444;CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU;Nl;0;L;;;;8;N;;;;; +12445;CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3;Nl;0;L;;;;8;N;;;;; +12446;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU;Nl;0;L;;;;9;N;;;;; +12447;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3;Nl;0;L;;;;9;N;;;;; +12448;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4;Nl;0;L;;;;9;N;;;;; +12449;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A;Nl;0;L;;;;9;N;;;;; +1244A;CUNEIFORM NUMERIC SIGN TWO ASH TENU;Nl;0;L;;;;2;N;;;;; +1244B;CUNEIFORM NUMERIC SIGN THREE ASH TENU;Nl;0;L;;;;3;N;;;;; +1244C;CUNEIFORM NUMERIC SIGN FOUR ASH TENU;Nl;0;L;;;;4;N;;;;; +1244D;CUNEIFORM NUMERIC SIGN FIVE ASH TENU;Nl;0;L;;;;5;N;;;;; +1244E;CUNEIFORM NUMERIC SIGN SIX ASH TENU;Nl;0;L;;;;6;N;;;;; +1244F;CUNEIFORM NUMERIC SIGN ONE BAN2;Nl;0;L;;;;1;N;;;;; +12450;CUNEIFORM NUMERIC SIGN TWO BAN2;Nl;0;L;;;;2;N;;;;; +12451;CUNEIFORM NUMERIC SIGN THREE BAN2;Nl;0;L;;;;3;N;;;;; +12452;CUNEIFORM NUMERIC SIGN FOUR BAN2;Nl;0;L;;;;4;N;;;;; +12453;CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM;Nl;0;L;;;;4;N;;;;; +12454;CUNEIFORM NUMERIC SIGN FIVE BAN2;Nl;0;L;;;;5;N;;;;; +12455;CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM;Nl;0;L;;;;5;N;;;;; +12456;CUNEIFORM NUMERIC SIGN NIGIDAMIN;Nl;0;L;;;;;N;;;;; +12457;CUNEIFORM NUMERIC SIGN NIGIDAESH;Nl;0;L;;;;;N;;;;; +12458;CUNEIFORM NUMERIC SIGN ONE ESHE3;Nl;0;L;;;;1;N;;;;; +12459;CUNEIFORM NUMERIC SIGN TWO ESHE3;Nl;0;L;;;;2;N;;;;; +1245A;CUNEIFORM NUMERIC SIGN ONE THIRD DISH;Nl;0;L;;;;1/3;N;;;;; +1245B;CUNEIFORM NUMERIC SIGN TWO THIRDS DISH;Nl;0;L;;;;2/3;N;;;;; +1245C;CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH;Nl;0;L;;;;5/6;N;;;;; +1245D;CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A;Nl;0;L;;;;1/3;N;;;;; +1245E;CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A;Nl;0;L;;;;2/3;N;;;;; +1245F;CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH;Nl;0;L;;;;1/8;N;;;;; +12460;CUNEIFORM NUMERIC SIGN ONE QUARTER ASH;Nl;0;L;;;;1/4;N;;;;; +12461;CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH;Nl;0;L;;;;1/6;N;;;;; +12462;CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER;Nl;0;L;;;;1/4;N;;;;; +12470;CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER;Po;0;L;;;;;N;;;;; +12471;CUNEIFORM PUNCTUATION SIGN VERTICAL COLON;Po;0;L;;;;;N;;;;; +12472;CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON;Po;0;L;;;;;N;;;;; +12473;CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON;Po;0;L;;;;;N;;;;; +1D000;BYZANTINE MUSICAL SYMBOL PSILI;So;0;L;;;;;N;;;;; +1D001;BYZANTINE MUSICAL SYMBOL DASEIA;So;0;L;;;;;N;;;;; +1D002;BYZANTINE MUSICAL SYMBOL PERISPOMENI;So;0;L;;;;;N;;;;; +1D003;BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON;So;0;L;;;;;N;;;;; +1D004;BYZANTINE MUSICAL SYMBOL OXEIA DIPLI;So;0;L;;;;;N;;;;; +1D005;BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON;So;0;L;;;;;N;;;;; +1D006;BYZANTINE MUSICAL SYMBOL VAREIA DIPLI;So;0;L;;;;;N;;;;; +1D007;BYZANTINE MUSICAL SYMBOL KATHISTI;So;0;L;;;;;N;;;;; +1D008;BYZANTINE MUSICAL SYMBOL SYRMATIKI;So;0;L;;;;;N;;;;; +1D009;BYZANTINE MUSICAL SYMBOL PARAKLITIKI;So;0;L;;;;;N;;;;; +1D00A;BYZANTINE MUSICAL SYMBOL YPOKRISIS;So;0;L;;;;;N;;;;; +1D00B;BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI;So;0;L;;;;;N;;;;; +1D00C;BYZANTINE MUSICAL SYMBOL KREMASTI;So;0;L;;;;;N;;;;; +1D00D;BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON;So;0;L;;;;;N;;;;; +1D00E;BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON;So;0;L;;;;;N;;;;; +1D00F;BYZANTINE MUSICAL SYMBOL TELEIA;So;0;L;;;;;N;;;;; +1D010;BYZANTINE MUSICAL SYMBOL KENTIMATA;So;0;L;;;;;N;;;;; +1D011;BYZANTINE MUSICAL SYMBOL APOSTROFOS;So;0;L;;;;;N;;;;; +1D012;BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI;So;0;L;;;;;N;;;;; +1D013;BYZANTINE MUSICAL SYMBOL SYNEVMA;So;0;L;;;;;N;;;;; +1D014;BYZANTINE MUSICAL SYMBOL THITA;So;0;L;;;;;N;;;;; +1D015;BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION;So;0;L;;;;;N;;;;; +1D016;BYZANTINE MUSICAL SYMBOL GORGON ARCHAION;So;0;L;;;;;N;;;;; +1D017;BYZANTINE MUSICAL SYMBOL PSILON;So;0;L;;;;;N;;;;; +1D018;BYZANTINE MUSICAL SYMBOL CHAMILON;So;0;L;;;;;N;;;;; +1D019;BYZANTINE MUSICAL SYMBOL VATHY;So;0;L;;;;;N;;;;; +1D01A;BYZANTINE MUSICAL SYMBOL ISON ARCHAION;So;0;L;;;;;N;;;;; +1D01B;BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION;So;0;L;;;;;N;;;;; +1D01C;BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION;So;0;L;;;;;N;;;;; +1D01D;BYZANTINE MUSICAL SYMBOL SAXIMATA;So;0;L;;;;;N;;;;; +1D01E;BYZANTINE MUSICAL SYMBOL PARICHON;So;0;L;;;;;N;;;;; +1D01F;BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA;So;0;L;;;;;N;;;;; +1D020;BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION;So;0;L;;;;;N;;;;; +1D021;BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION;So;0;L;;;;;N;;;;; +1D022;BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION;So;0;L;;;;;N;;;;; +1D023;BYZANTINE MUSICAL SYMBOL APOTHEMA;So;0;L;;;;;N;;;;; +1D024;BYZANTINE MUSICAL SYMBOL KLASMA;So;0;L;;;;;N;;;;; +1D025;BYZANTINE MUSICAL SYMBOL REVMA;So;0;L;;;;;N;;;;; +1D026;BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION;So;0;L;;;;;N;;;;; +1D027;BYZANTINE MUSICAL SYMBOL TINAGMA;So;0;L;;;;;N;;;;; +1D028;BYZANTINE MUSICAL SYMBOL ANATRICHISMA;So;0;L;;;;;N;;;;; +1D029;BYZANTINE MUSICAL SYMBOL SEISMA;So;0;L;;;;;N;;;;; +1D02A;BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION;So;0;L;;;;;N;;;;; +1D02B;BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU;So;0;L;;;;;N;;;;; +1D02C;BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION;So;0;L;;;;;N;;;;; +1D02D;BYZANTINE MUSICAL SYMBOL THEMA;So;0;L;;;;;N;;;;; +1D02E;BYZANTINE MUSICAL SYMBOL LEMOI;So;0;L;;;;;N;;;;; +1D02F;BYZANTINE MUSICAL SYMBOL DYO;So;0;L;;;;;N;;;;; +1D030;BYZANTINE MUSICAL SYMBOL TRIA;So;0;L;;;;;N;;;;; +1D031;BYZANTINE MUSICAL SYMBOL TESSERA;So;0;L;;;;;N;;;;; +1D032;BYZANTINE MUSICAL SYMBOL KRATIMATA;So;0;L;;;;;N;;;;; +1D033;BYZANTINE MUSICAL SYMBOL APESO EXO NEO;So;0;L;;;;;N;;;;; +1D034;BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION;So;0;L;;;;;N;;;;; +1D035;BYZANTINE MUSICAL SYMBOL IMIFTHORA;So;0;L;;;;;N;;;;; +1D036;BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION;So;0;L;;;;;N;;;;; +1D037;BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON;So;0;L;;;;;N;;;;; +1D038;BYZANTINE MUSICAL SYMBOL PELASTON;So;0;L;;;;;N;;;;; +1D039;BYZANTINE MUSICAL SYMBOL PSIFISTON;So;0;L;;;;;N;;;;; +1D03A;BYZANTINE MUSICAL SYMBOL KONTEVMA;So;0;L;;;;;N;;;;; +1D03B;BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION;So;0;L;;;;;N;;;;; +1D03C;BYZANTINE MUSICAL SYMBOL RAPISMA;So;0;L;;;;;N;;;;; +1D03D;BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION;So;0;L;;;;;N;;;;; +1D03E;BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION;So;0;L;;;;;N;;;;; +1D03F;BYZANTINE MUSICAL SYMBOL ICHADIN;So;0;L;;;;;N;;;;; +1D040;BYZANTINE MUSICAL SYMBOL NANA;So;0;L;;;;;N;;;;; +1D041;BYZANTINE MUSICAL SYMBOL PETASMA;So;0;L;;;;;N;;;;; +1D042;BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO;So;0;L;;;;;N;;;;; +1D043;BYZANTINE MUSICAL SYMBOL TROMIKON ALLO;So;0;L;;;;;N;;;;; +1D044;BYZANTINE MUSICAL SYMBOL STRAGGISMATA;So;0;L;;;;;N;;;;; +1D045;BYZANTINE MUSICAL SYMBOL GRONTHISMATA;So;0;L;;;;;N;;;;; +1D046;BYZANTINE MUSICAL SYMBOL ISON NEO;So;0;L;;;;;N;;;;; +1D047;BYZANTINE MUSICAL SYMBOL OLIGON NEO;So;0;L;;;;;N;;;;; +1D048;BYZANTINE MUSICAL SYMBOL OXEIA NEO;So;0;L;;;;;N;;;;; +1D049;BYZANTINE MUSICAL SYMBOL PETASTI;So;0;L;;;;;N;;;;; +1D04A;BYZANTINE MUSICAL SYMBOL KOUFISMA;So;0;L;;;;;N;;;;; +1D04B;BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA;So;0;L;;;;;N;;;;; +1D04C;BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA;So;0;L;;;;;N;;;;; +1D04D;BYZANTINE MUSICAL SYMBOL PELASTON NEO;So;0;L;;;;;N;;;;; +1D04E;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO;So;0;L;;;;;N;;;;; +1D04F;BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO;So;0;L;;;;;N;;;;; +1D050;BYZANTINE MUSICAL SYMBOL YPSILI;So;0;L;;;;;N;;;;; +1D051;BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO;So;0;L;;;;;N;;;;; +1D052;BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO;So;0;L;;;;;N;;;;; +1D053;BYZANTINE MUSICAL SYMBOL YPORROI;So;0;L;;;;;N;;;;; +1D054;BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON;So;0;L;;;;;N;;;;; +1D055;BYZANTINE MUSICAL SYMBOL ELAFRON;So;0;L;;;;;N;;;;; +1D056;BYZANTINE MUSICAL SYMBOL CHAMILI;So;0;L;;;;;N;;;;; +1D057;BYZANTINE MUSICAL SYMBOL MIKRON ISON;So;0;L;;;;;N;;;;; +1D058;BYZANTINE MUSICAL SYMBOL VAREIA NEO;So;0;L;;;;;N;;;;; +1D059;BYZANTINE MUSICAL SYMBOL PIASMA NEO;So;0;L;;;;;N;;;;; +1D05A;BYZANTINE MUSICAL SYMBOL PSIFISTON NEO;So;0;L;;;;;N;;;;; +1D05B;BYZANTINE MUSICAL SYMBOL OMALON;So;0;L;;;;;N;;;;; +1D05C;BYZANTINE MUSICAL SYMBOL ANTIKENOMA;So;0;L;;;;;N;;;;; +1D05D;BYZANTINE MUSICAL SYMBOL LYGISMA;So;0;L;;;;;N;;;;; +1D05E;BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO;So;0;L;;;;;N;;;;; +1D05F;BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO;So;0;L;;;;;N;;;;; +1D060;BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA;So;0;L;;;;;N;;;;; +1D061;BYZANTINE MUSICAL SYMBOL KYLISMA;So;0;L;;;;;N;;;;; +1D062;BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA;So;0;L;;;;;N;;;;; +1D063;BYZANTINE MUSICAL SYMBOL TROMIKON NEO;So;0;L;;;;;N;;;;; +1D064;BYZANTINE MUSICAL SYMBOL EKSTREPTON;So;0;L;;;;;N;;;;; +1D065;BYZANTINE MUSICAL SYMBOL SYNAGMA NEO;So;0;L;;;;;N;;;;; +1D066;BYZANTINE MUSICAL SYMBOL SYRMA;So;0;L;;;;;N;;;;; +1D067;BYZANTINE MUSICAL SYMBOL CHOREVMA NEO;So;0;L;;;;;N;;;;; +1D068;BYZANTINE MUSICAL SYMBOL EPEGERMA;So;0;L;;;;;N;;;;; +1D069;BYZANTINE MUSICAL SYMBOL SEISMA NEO;So;0;L;;;;;N;;;;; +1D06A;BYZANTINE MUSICAL SYMBOL XIRON KLASMA;So;0;L;;;;;N;;;;; +1D06B;BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON;So;0;L;;;;;N;;;;; +1D06C;BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA;So;0;L;;;;;N;;;;; +1D06D;BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA;So;0;L;;;;;N;;;;; +1D06E;BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA;So;0;L;;;;;N;;;;; +1D06F;BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA;So;0;L;;;;;N;;;;; +1D070;BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA;So;0;L;;;;;N;;;;; +1D071;BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA;So;0;L;;;;;N;;;;; +1D072;BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON;So;0;L;;;;;N;;;;; +1D073;BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON;So;0;L;;;;;N;;;;; +1D074;BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON;So;0;L;;;;;N;;;;; +1D075;BYZANTINE MUSICAL SYMBOL OYRANISMA NEO;So;0;L;;;;;N;;;;; +1D076;BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO;So;0;L;;;;;N;;;;; +1D077;BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO;So;0;L;;;;;N;;;;; +1D078;BYZANTINE MUSICAL SYMBOL THEMA APLOUN;So;0;L;;;;;N;;;;; +1D079;BYZANTINE MUSICAL SYMBOL THES KAI APOTHES;So;0;L;;;;;N;;;;; +1D07A;BYZANTINE MUSICAL SYMBOL KATAVASMA;So;0;L;;;;;N;;;;; +1D07B;BYZANTINE MUSICAL SYMBOL ENDOFONON;So;0;L;;;;;N;;;;; +1D07C;BYZANTINE MUSICAL SYMBOL YFEN KATO;So;0;L;;;;;N;;;;; +1D07D;BYZANTINE MUSICAL SYMBOL YFEN ANO;So;0;L;;;;;N;;;;; +1D07E;BYZANTINE MUSICAL SYMBOL STAVROS;So;0;L;;;;;N;;;;; +1D07F;BYZANTINE MUSICAL SYMBOL KLASMA ANO;So;0;L;;;;;N;;;;; +1D080;BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION;So;0;L;;;;;N;;;;; +1D081;BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION;So;0;L;;;;;N;;;;; +1D082;BYZANTINE MUSICAL SYMBOL KRATIMA ALLO;So;0;L;;;;;N;;;;; +1D083;BYZANTINE MUSICAL SYMBOL KRATIMA NEO;So;0;L;;;;;N;;;;; +1D084;BYZANTINE MUSICAL SYMBOL APODERMA NEO;So;0;L;;;;;N;;;;; +1D085;BYZANTINE MUSICAL SYMBOL APLI;So;0;L;;;;;N;;;;; +1D086;BYZANTINE MUSICAL SYMBOL DIPLI;So;0;L;;;;;N;;;;; +1D087;BYZANTINE MUSICAL SYMBOL TRIPLI;So;0;L;;;;;N;;;;; +1D088;BYZANTINE MUSICAL SYMBOL TETRAPLI;So;0;L;;;;;N;;;;; +1D089;BYZANTINE MUSICAL SYMBOL KORONIS;So;0;L;;;;;N;;;;; +1D08A;BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU;So;0;L;;;;;N;;;;; +1D08B;BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON;So;0;L;;;;;N;;;;; +1D08C;BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON;So;0;L;;;;;N;;;;; +1D08D;BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON;So;0;L;;;;;N;;;;; +1D08E;BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU;So;0;L;;;;;N;;;;; +1D08F;BYZANTINE MUSICAL SYMBOL GORGON NEO ANO;So;0;L;;;;;N;;;;; +1D090;BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA;So;0;L;;;;;N;;;;; +1D091;BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA;So;0;L;;;;;N;;;;; +1D092;BYZANTINE MUSICAL SYMBOL DIGORGON;So;0;L;;;;;N;;;;; +1D093;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO;So;0;L;;;;;N;;;;; +1D094;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO;So;0;L;;;;;N;;;;; +1D095;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA;So;0;L;;;;;N;;;;; +1D096;BYZANTINE MUSICAL SYMBOL TRIGORGON;So;0;L;;;;;N;;;;; +1D097;BYZANTINE MUSICAL SYMBOL ARGON;So;0;L;;;;;N;;;;; +1D098;BYZANTINE MUSICAL SYMBOL IMIDIARGON;So;0;L;;;;;N;;;;; +1D099;BYZANTINE MUSICAL SYMBOL DIARGON;So;0;L;;;;;N;;;;; +1D09A;BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI;So;0;L;;;;;N;;;;; +1D09B;BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI;So;0;L;;;;;N;;;;; +1D09C;BYZANTINE MUSICAL SYMBOL AGOGI ARGI;So;0;L;;;;;N;;;;; +1D09D;BYZANTINE MUSICAL SYMBOL AGOGI METRIA;So;0;L;;;;;N;;;;; +1D09E;BYZANTINE MUSICAL SYMBOL AGOGI MESI;So;0;L;;;;;N;;;;; +1D09F;BYZANTINE MUSICAL SYMBOL AGOGI GORGI;So;0;L;;;;;N;;;;; +1D0A0;BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI;So;0;L;;;;;N;;;;; +1D0A1;BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI;So;0;L;;;;;N;;;;; +1D0A2;BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS;So;0;L;;;;;N;;;;; +1D0A3;BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS;So;0;L;;;;;N;;;;; +1D0A4;BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS;So;0;L;;;;;N;;;;; +1D0A5;BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS;So;0;L;;;;;N;;;;; +1D0A6;BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS;So;0;L;;;;;N;;;;; +1D0A7;BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS;So;0;L;;;;;N;;;;; +1D0A8;BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS;So;0;L;;;;;N;;;;; +1D0A9;BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS;So;0;L;;;;;N;;;;; +1D0AA;BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS;So;0;L;;;;;N;;;;; +1D0AB;BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS;So;0;L;;;;;N;;;;; +1D0AC;BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS;So;0;L;;;;;N;;;;; +1D0AD;BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS;So;0;L;;;;;N;;;;; +1D0AE;BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS;So;0;L;;;;;N;;;;; +1D0AF;BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS;So;0;L;;;;;N;;;;; +1D0B0;BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS;So;0;L;;;;;N;;;;; +1D0B1;BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS;So;0;L;;;;;N;;;;; +1D0B2;BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS;So;0;L;;;;;N;;;;; +1D0B3;BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS;So;0;L;;;;;N;;;;; +1D0B4;BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN;So;0;L;;;;;N;;;;; +1D0B5;BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN;So;0;L;;;;;N;;;;; +1D0B6;BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU;So;0;L;;;;;N;;;;; +1D0B7;BYZANTINE MUSICAL SYMBOL IMIFONON;So;0;L;;;;;N;;;;; +1D0B8;BYZANTINE MUSICAL SYMBOL IMIFTHORON;So;0;L;;;;;N;;;;; +1D0B9;BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU;So;0;L;;;;;N;;;;; +1D0BA;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA;So;0;L;;;;;N;;;;; +1D0BB;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA;So;0;L;;;;;N;;;;; +1D0BC;BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS;So;0;L;;;;;N;;;;; +1D0BD;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI;So;0;L;;;;;N;;;;; +1D0BE;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI;So;0;L;;;;;N;;;;; +1D0BF;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE;So;0;L;;;;;N;;;;; +1D0C0;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO;So;0;L;;;;;N;;;;; +1D0C1;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO;So;0;L;;;;;N;;;;; +1D0C2;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO;So;0;L;;;;;N;;;;; +1D0C3;BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS;So;0;L;;;;;N;;;;; +1D0C4;BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS;So;0;L;;;;;N;;;;; +1D0C5;BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS;So;0;L;;;;;N;;;;; +1D0C6;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI;So;0;L;;;;;N;;;;; +1D0C7;BYZANTINE MUSICAL SYMBOL FTHORA NENANO;So;0;L;;;;;N;;;;; +1D0C8;BYZANTINE MUSICAL SYMBOL CHROA ZYGOS;So;0;L;;;;;N;;;;; +1D0C9;BYZANTINE MUSICAL SYMBOL CHROA KLITON;So;0;L;;;;;N;;;;; +1D0CA;BYZANTINE MUSICAL SYMBOL CHROA SPATHI;So;0;L;;;;;N;;;;; +1D0CB;BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION;So;0;L;;;;;N;;;;; +1D0CC;BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA;So;0;L;;;;;N;;;;; +1D0CD;BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION;So;0;L;;;;;N;;;;; +1D0CE;BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION;So;0;L;;;;;N;;;;; +1D0CF;BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION;So;0;L;;;;;N;;;;; +1D0D0;BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA;So;0;L;;;;;N;;;;; +1D0D1;BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA;So;0;L;;;;;N;;;;; +1D0D2;BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA;So;0;L;;;;;N;;;;; +1D0D3;BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA;So;0;L;;;;;N;;;;; +1D0D4;BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA;So;0;L;;;;;N;;;;; +1D0D5;BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA;So;0;L;;;;;N;;;;; +1D0D6;BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA;So;0;L;;;;;N;;;;; +1D0D7;BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA;So;0;L;;;;;N;;;;; +1D0D8;BYZANTINE MUSICAL SYMBOL GENIKI DIESIS;So;0;L;;;;;N;;;;; +1D0D9;BYZANTINE MUSICAL SYMBOL GENIKI YFESIS;So;0;L;;;;;N;;;;; +1D0DA;BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI;So;0;L;;;;;N;;;;; +1D0DB;BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI;So;0;L;;;;;N;;;;; +1D0DC;BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI;So;0;L;;;;;N;;;;; +1D0DD;BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS;So;0;L;;;;;N;;;;; +1D0DE;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS;So;0;L;;;;;N;;;;; +1D0DF;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU;So;0;L;;;;;N;;;;; +1D0E0;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU;So;0;L;;;;;N;;;;; +1D0E1;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU;So;0;L;;;;;N;;;;; +1D0E2;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS;So;0;L;;;;;N;;;;; +1D0E3;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU;So;0;L;;;;;N;;;;; +1D0E4;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU;So;0;L;;;;;N;;;;; +1D0E5;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU;So;0;L;;;;;N;;;;; +1D0E6;BYZANTINE MUSICAL SYMBOL DIGRAMMA GG;So;0;L;;;;;N;;;;; +1D0E7;BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU;So;0;L;;;;;N;;;;; +1D0E8;BYZANTINE MUSICAL SYMBOL STIGMA;So;0;L;;;;;N;;;;; +1D0E9;BYZANTINE MUSICAL SYMBOL ARKTIKO PA;So;0;L;;;;;N;;;;; +1D0EA;BYZANTINE MUSICAL SYMBOL ARKTIKO VOU;So;0;L;;;;;N;;;;; +1D0EB;BYZANTINE MUSICAL SYMBOL ARKTIKO GA;So;0;L;;;;;N;;;;; +1D0EC;BYZANTINE MUSICAL SYMBOL ARKTIKO DI;So;0;L;;;;;N;;;;; +1D0ED;BYZANTINE MUSICAL SYMBOL ARKTIKO KE;So;0;L;;;;;N;;;;; +1D0EE;BYZANTINE MUSICAL SYMBOL ARKTIKO ZO;So;0;L;;;;;N;;;;; +1D0EF;BYZANTINE MUSICAL SYMBOL ARKTIKO NI;So;0;L;;;;;N;;;;; +1D0F0;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO;So;0;L;;;;;N;;;;; +1D0F1;BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO;So;0;L;;;;;N;;;;; +1D0F2;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO;So;0;L;;;;;N;;;;; +1D0F3;BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO;So;0;L;;;;;N;;;;; +1D0F4;BYZANTINE MUSICAL SYMBOL KLASMA KATO;So;0;L;;;;;N;;;;; +1D0F5;BYZANTINE MUSICAL SYMBOL GORGON NEO KATO;So;0;L;;;;;N;;;;; +1D100;MUSICAL SYMBOL SINGLE BARLINE;So;0;L;;;;;N;;;;; +1D101;MUSICAL SYMBOL DOUBLE BARLINE;So;0;L;;;;;N;;;;; +1D102;MUSICAL SYMBOL FINAL BARLINE;So;0;L;;;;;N;;;;; +1D103;MUSICAL SYMBOL REVERSE FINAL BARLINE;So;0;L;;;;;N;;;;; +1D104;MUSICAL SYMBOL DASHED BARLINE;So;0;L;;;;;N;;;;; +1D105;MUSICAL SYMBOL SHORT BARLINE;So;0;L;;;;;N;;;;; +1D106;MUSICAL SYMBOL LEFT REPEAT SIGN;So;0;L;;;;;N;;;;; +1D107;MUSICAL SYMBOL RIGHT REPEAT SIGN;So;0;L;;;;;N;;;;; +1D108;MUSICAL SYMBOL REPEAT DOTS;So;0;L;;;;;N;;;;; +1D109;MUSICAL SYMBOL DAL SEGNO;So;0;L;;;;;N;;;;; +1D10A;MUSICAL SYMBOL DA CAPO;So;0;L;;;;;N;;;;; +1D10B;MUSICAL SYMBOL SEGNO;So;0;L;;;;;N;;;;; +1D10C;MUSICAL SYMBOL CODA;So;0;L;;;;;N;;;;; +1D10D;MUSICAL SYMBOL REPEATED FIGURE-1;So;0;L;;;;;N;;;;; +1D10E;MUSICAL SYMBOL REPEATED FIGURE-2;So;0;L;;;;;N;;;;; +1D10F;MUSICAL SYMBOL REPEATED FIGURE-3;So;0;L;;;;;N;;;;; +1D110;MUSICAL SYMBOL FERMATA;So;0;L;;;;;N;;;;; +1D111;MUSICAL SYMBOL FERMATA BELOW;So;0;L;;;;;N;;;;; +1D112;MUSICAL SYMBOL BREATH MARK;So;0;L;;;;;N;;;;; +1D113;MUSICAL SYMBOL CAESURA;So;0;L;;;;;N;;;;; +1D114;MUSICAL SYMBOL BRACE;So;0;L;;;;;N;;;;; +1D115;MUSICAL SYMBOL BRACKET;So;0;L;;;;;N;;;;; +1D116;MUSICAL SYMBOL ONE-LINE STAFF;So;0;L;;;;;N;;;;; +1D117;MUSICAL SYMBOL TWO-LINE STAFF;So;0;L;;;;;N;;;;; +1D118;MUSICAL SYMBOL THREE-LINE STAFF;So;0;L;;;;;N;;;;; +1D119;MUSICAL SYMBOL FOUR-LINE STAFF;So;0;L;;;;;N;;;;; +1D11A;MUSICAL SYMBOL FIVE-LINE STAFF;So;0;L;;;;;N;;;;; +1D11B;MUSICAL SYMBOL SIX-LINE STAFF;So;0;L;;;;;N;;;;; +1D11C;MUSICAL SYMBOL SIX-STRING FRETBOARD;So;0;L;;;;;N;;;;; +1D11D;MUSICAL SYMBOL FOUR-STRING FRETBOARD;So;0;L;;;;;N;;;;; +1D11E;MUSICAL SYMBOL G CLEF;So;0;L;;;;;N;;;;; +1D11F;MUSICAL SYMBOL G CLEF OTTAVA ALTA;So;0;L;;;;;N;;;;; +1D120;MUSICAL SYMBOL G CLEF OTTAVA BASSA;So;0;L;;;;;N;;;;; +1D121;MUSICAL SYMBOL C CLEF;So;0;L;;;;;N;;;;; +1D122;MUSICAL SYMBOL F CLEF;So;0;L;;;;;N;;;;; +1D123;MUSICAL SYMBOL F CLEF OTTAVA ALTA;So;0;L;;;;;N;;;;; +1D124;MUSICAL SYMBOL F CLEF OTTAVA BASSA;So;0;L;;;;;N;;;;; +1D125;MUSICAL SYMBOL DRUM CLEF-1;So;0;L;;;;;N;;;;; +1D126;MUSICAL SYMBOL DRUM CLEF-2;So;0;L;;;;;N;;;;; +1D129;MUSICAL SYMBOL MULTIPLE MEASURE REST;So;0;L;;;;;N;;;;; +1D12A;MUSICAL SYMBOL DOUBLE SHARP;So;0;L;;;;;N;;;;; +1D12B;MUSICAL SYMBOL DOUBLE FLAT;So;0;L;;;;;N;;;;; +1D12C;MUSICAL SYMBOL FLAT UP;So;0;L;;;;;N;;;;; +1D12D;MUSICAL SYMBOL FLAT DOWN;So;0;L;;;;;N;;;;; +1D12E;MUSICAL SYMBOL NATURAL UP;So;0;L;;;;;N;;;;; +1D12F;MUSICAL SYMBOL NATURAL DOWN;So;0;L;;;;;N;;;;; +1D130;MUSICAL SYMBOL SHARP UP;So;0;L;;;;;N;;;;; +1D131;MUSICAL SYMBOL SHARP DOWN;So;0;L;;;;;N;;;;; +1D132;MUSICAL SYMBOL QUARTER TONE SHARP;So;0;L;;;;;N;;;;; +1D133;MUSICAL SYMBOL QUARTER TONE FLAT;So;0;L;;;;;N;;;;; +1D134;MUSICAL SYMBOL COMMON TIME;So;0;L;;;;;N;;;;; +1D135;MUSICAL SYMBOL CUT TIME;So;0;L;;;;;N;;;;; +1D136;MUSICAL SYMBOL OTTAVA ALTA;So;0;L;;;;;N;;;;; +1D137;MUSICAL SYMBOL OTTAVA BASSA;So;0;L;;;;;N;;;;; +1D138;MUSICAL SYMBOL QUINDICESIMA ALTA;So;0;L;;;;;N;;;;; +1D139;MUSICAL SYMBOL QUINDICESIMA BASSA;So;0;L;;;;;N;;;;; +1D13A;MUSICAL SYMBOL MULTI REST;So;0;L;;;;;N;;;;; +1D13B;MUSICAL SYMBOL WHOLE REST;So;0;L;;;;;N;;;;; +1D13C;MUSICAL SYMBOL HALF REST;So;0;L;;;;;N;;;;; +1D13D;MUSICAL SYMBOL QUARTER REST;So;0;L;;;;;N;;;;; +1D13E;MUSICAL SYMBOL EIGHTH REST;So;0;L;;;;;N;;;;; +1D13F;MUSICAL SYMBOL SIXTEENTH REST;So;0;L;;;;;N;;;;; +1D140;MUSICAL SYMBOL THIRTY-SECOND REST;So;0;L;;;;;N;;;;; +1D141;MUSICAL SYMBOL SIXTY-FOURTH REST;So;0;L;;;;;N;;;;; +1D142;MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST;So;0;L;;;;;N;;;;; +1D143;MUSICAL SYMBOL X NOTEHEAD;So;0;L;;;;;N;;;;; +1D144;MUSICAL SYMBOL PLUS NOTEHEAD;So;0;L;;;;;N;;;;; +1D145;MUSICAL SYMBOL CIRCLE X NOTEHEAD;So;0;L;;;;;N;;;;; +1D146;MUSICAL SYMBOL SQUARE NOTEHEAD WHITE;So;0;L;;;;;N;;;;; +1D147;MUSICAL SYMBOL SQUARE NOTEHEAD BLACK;So;0;L;;;;;N;;;;; +1D148;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE;So;0;L;;;;;N;;;;; +1D149;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK;So;0;L;;;;;N;;;;; +1D14A;MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE;So;0;L;;;;;N;;;;; +1D14B;MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK;So;0;L;;;;;N;;;;; +1D14C;MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE;So;0;L;;;;;N;;;;; +1D14D;MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK;So;0;L;;;;;N;;;;; +1D14E;MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE;So;0;L;;;;;N;;;;; +1D14F;MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK;So;0;L;;;;;N;;;;; +1D150;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE;So;0;L;;;;;N;;;;; +1D151;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK;So;0;L;;;;;N;;;;; +1D152;MUSICAL SYMBOL MOON NOTEHEAD WHITE;So;0;L;;;;;N;;;;; +1D153;MUSICAL SYMBOL MOON NOTEHEAD BLACK;So;0;L;;;;;N;;;;; +1D154;MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE;So;0;L;;;;;N;;;;; +1D155;MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK;So;0;L;;;;;N;;;;; +1D156;MUSICAL SYMBOL PARENTHESIS NOTEHEAD;So;0;L;;;;;N;;;;; +1D157;MUSICAL SYMBOL VOID NOTEHEAD;So;0;L;;;;;N;;;;; +1D158;MUSICAL SYMBOL NOTEHEAD BLACK;So;0;L;;;;;N;;;;; +1D159;MUSICAL SYMBOL NULL NOTEHEAD;So;0;L;;;;;N;;;;; +1D15A;MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE;So;0;L;;;;;N;;;;; +1D15B;MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK;So;0;L;;;;;N;;;;; +1D15C;MUSICAL SYMBOL BREVE;So;0;L;;;;;N;;;;; +1D15D;MUSICAL SYMBOL WHOLE NOTE;So;0;L;;;;;N;;;;; +1D15E;MUSICAL SYMBOL HALF NOTE;So;0;L;1D157 1D165;;;;N;;;;; +1D15F;MUSICAL SYMBOL QUARTER NOTE;So;0;L;1D158 1D165;;;;N;;;;; +1D160;MUSICAL SYMBOL EIGHTH NOTE;So;0;L;1D15F 1D16E;;;;N;;;;; +1D161;MUSICAL SYMBOL SIXTEENTH NOTE;So;0;L;1D15F 1D16F;;;;N;;;;; +1D162;MUSICAL SYMBOL THIRTY-SECOND NOTE;So;0;L;1D15F 1D170;;;;N;;;;; +1D163;MUSICAL SYMBOL SIXTY-FOURTH NOTE;So;0;L;1D15F 1D171;;;;N;;;;; +1D164;MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE;So;0;L;1D15F 1D172;;;;N;;;;; +1D165;MUSICAL SYMBOL COMBINING STEM;Mc;216;L;;;;;N;;;;; +1D166;MUSICAL SYMBOL COMBINING SPRECHGESANG STEM;Mc;216;L;;;;;N;;;;; +1D167;MUSICAL SYMBOL COMBINING TREMOLO-1;Mn;1;NSM;;;;;N;;;;; +1D168;MUSICAL SYMBOL COMBINING TREMOLO-2;Mn;1;NSM;;;;;N;;;;; +1D169;MUSICAL SYMBOL COMBINING TREMOLO-3;Mn;1;NSM;;;;;N;;;;; +1D16A;MUSICAL SYMBOL FINGERED TREMOLO-1;So;0;L;;;;;N;;;;; +1D16B;MUSICAL SYMBOL FINGERED TREMOLO-2;So;0;L;;;;;N;;;;; +1D16C;MUSICAL SYMBOL FINGERED TREMOLO-3;So;0;L;;;;;N;;;;; +1D16D;MUSICAL SYMBOL COMBINING AUGMENTATION DOT;Mc;226;L;;;;;N;;;;; +1D16E;MUSICAL SYMBOL COMBINING FLAG-1;Mc;216;L;;;;;N;;;;; +1D16F;MUSICAL SYMBOL COMBINING FLAG-2;Mc;216;L;;;;;N;;;;; +1D170;MUSICAL SYMBOL COMBINING FLAG-3;Mc;216;L;;;;;N;;;;; +1D171;MUSICAL SYMBOL COMBINING FLAG-4;Mc;216;L;;;;;N;;;;; +1D172;MUSICAL SYMBOL COMBINING FLAG-5;Mc;216;L;;;;;N;;;;; +1D173;MUSICAL SYMBOL BEGIN BEAM;Cf;0;BN;;;;;N;;;;; +1D174;MUSICAL SYMBOL END BEAM;Cf;0;BN;;;;;N;;;;; +1D175;MUSICAL SYMBOL BEGIN TIE;Cf;0;BN;;;;;N;;;;; +1D176;MUSICAL SYMBOL END TIE;Cf;0;BN;;;;;N;;;;; +1D177;MUSICAL SYMBOL BEGIN SLUR;Cf;0;BN;;;;;N;;;;; +1D178;MUSICAL SYMBOL END SLUR;Cf;0;BN;;;;;N;;;;; +1D179;MUSICAL SYMBOL BEGIN PHRASE;Cf;0;BN;;;;;N;;;;; +1D17A;MUSICAL SYMBOL END PHRASE;Cf;0;BN;;;;;N;;;;; +1D17B;MUSICAL SYMBOL COMBINING ACCENT;Mn;220;NSM;;;;;N;;;;; +1D17C;MUSICAL SYMBOL COMBINING STACCATO;Mn;220;NSM;;;;;N;;;;; +1D17D;MUSICAL SYMBOL COMBINING TENUTO;Mn;220;NSM;;;;;N;;;;; +1D17E;MUSICAL SYMBOL COMBINING STACCATISSIMO;Mn;220;NSM;;;;;N;;;;; +1D17F;MUSICAL SYMBOL COMBINING MARCATO;Mn;220;NSM;;;;;N;;;;; +1D180;MUSICAL SYMBOL COMBINING MARCATO-STACCATO;Mn;220;NSM;;;;;N;;;;; +1D181;MUSICAL SYMBOL COMBINING ACCENT-STACCATO;Mn;220;NSM;;;;;N;;;;; +1D182;MUSICAL SYMBOL COMBINING LOURE;Mn;220;NSM;;;;;N;;;;; +1D183;MUSICAL SYMBOL ARPEGGIATO UP;So;0;L;;;;;N;;;;; +1D184;MUSICAL SYMBOL ARPEGGIATO DOWN;So;0;L;;;;;N;;;;; +1D185;MUSICAL SYMBOL COMBINING DOIT;Mn;230;NSM;;;;;N;;;;; +1D186;MUSICAL SYMBOL COMBINING RIP;Mn;230;NSM;;;;;N;;;;; +1D187;MUSICAL SYMBOL COMBINING FLIP;Mn;230;NSM;;;;;N;;;;; +1D188;MUSICAL SYMBOL COMBINING SMEAR;Mn;230;NSM;;;;;N;;;;; +1D189;MUSICAL SYMBOL COMBINING BEND;Mn;230;NSM;;;;;N;;;;; +1D18A;MUSICAL SYMBOL COMBINING DOUBLE TONGUE;Mn;220;NSM;;;;;N;;;;; +1D18B;MUSICAL SYMBOL COMBINING TRIPLE TONGUE;Mn;220;NSM;;;;;N;;;;; +1D18C;MUSICAL SYMBOL RINFORZANDO;So;0;L;;;;;N;;;;; +1D18D;MUSICAL SYMBOL SUBITO;So;0;L;;;;;N;;;;; +1D18E;MUSICAL SYMBOL Z;So;0;L;;;;;N;;;;; +1D18F;MUSICAL SYMBOL PIANO;So;0;L;;;;;N;;;;; +1D190;MUSICAL SYMBOL MEZZO;So;0;L;;;;;N;;;;; +1D191;MUSICAL SYMBOL FORTE;So;0;L;;;;;N;;;;; +1D192;MUSICAL SYMBOL CRESCENDO;So;0;L;;;;;N;;;;; +1D193;MUSICAL SYMBOL DECRESCENDO;So;0;L;;;;;N;;;;; +1D194;MUSICAL SYMBOL GRACE NOTE SLASH;So;0;L;;;;;N;;;;; +1D195;MUSICAL SYMBOL GRACE NOTE NO SLASH;So;0;L;;;;;N;;;;; +1D196;MUSICAL SYMBOL TR;So;0;L;;;;;N;;;;; +1D197;MUSICAL SYMBOL TURN;So;0;L;;;;;N;;;;; +1D198;MUSICAL SYMBOL INVERTED TURN;So;0;L;;;;;N;;;;; +1D199;MUSICAL SYMBOL TURN SLASH;So;0;L;;;;;N;;;;; +1D19A;MUSICAL SYMBOL TURN UP;So;0;L;;;;;N;;;;; +1D19B;MUSICAL SYMBOL ORNAMENT STROKE-1;So;0;L;;;;;N;;;;; +1D19C;MUSICAL SYMBOL ORNAMENT STROKE-2;So;0;L;;;;;N;;;;; +1D19D;MUSICAL SYMBOL ORNAMENT STROKE-3;So;0;L;;;;;N;;;;; +1D19E;MUSICAL SYMBOL ORNAMENT STROKE-4;So;0;L;;;;;N;;;;; +1D19F;MUSICAL SYMBOL ORNAMENT STROKE-5;So;0;L;;;;;N;;;;; +1D1A0;MUSICAL SYMBOL ORNAMENT STROKE-6;So;0;L;;;;;N;;;;; +1D1A1;MUSICAL SYMBOL ORNAMENT STROKE-7;So;0;L;;;;;N;;;;; +1D1A2;MUSICAL SYMBOL ORNAMENT STROKE-8;So;0;L;;;;;N;;;;; +1D1A3;MUSICAL SYMBOL ORNAMENT STROKE-9;So;0;L;;;;;N;;;;; +1D1A4;MUSICAL SYMBOL ORNAMENT STROKE-10;So;0;L;;;;;N;;;;; +1D1A5;MUSICAL SYMBOL ORNAMENT STROKE-11;So;0;L;;;;;N;;;;; +1D1A6;MUSICAL SYMBOL HAUPTSTIMME;So;0;L;;;;;N;;;;; +1D1A7;MUSICAL SYMBOL NEBENSTIMME;So;0;L;;;;;N;;;;; +1D1A8;MUSICAL SYMBOL END OF STIMME;So;0;L;;;;;N;;;;; +1D1A9;MUSICAL SYMBOL DEGREE SLASH;So;0;L;;;;;N;;;;; +1D1AA;MUSICAL SYMBOL COMBINING DOWN BOW;Mn;230;NSM;;;;;N;;;;; +1D1AB;MUSICAL SYMBOL COMBINING UP BOW;Mn;230;NSM;;;;;N;;;;; +1D1AC;MUSICAL SYMBOL COMBINING HARMONIC;Mn;230;NSM;;;;;N;;;;; +1D1AD;MUSICAL SYMBOL COMBINING SNAP PIZZICATO;Mn;230;NSM;;;;;N;;;;; +1D1AE;MUSICAL SYMBOL PEDAL MARK;So;0;L;;;;;N;;;;; +1D1AF;MUSICAL SYMBOL PEDAL UP MARK;So;0;L;;;;;N;;;;; +1D1B0;MUSICAL SYMBOL HALF PEDAL MARK;So;0;L;;;;;N;;;;; +1D1B1;MUSICAL SYMBOL GLISSANDO UP;So;0;L;;;;;N;;;;; +1D1B2;MUSICAL SYMBOL GLISSANDO DOWN;So;0;L;;;;;N;;;;; +1D1B3;MUSICAL SYMBOL WITH FINGERNAILS;So;0;L;;;;;N;;;;; +1D1B4;MUSICAL SYMBOL DAMP;So;0;L;;;;;N;;;;; +1D1B5;MUSICAL SYMBOL DAMP ALL;So;0;L;;;;;N;;;;; +1D1B6;MUSICAL SYMBOL MAXIMA;So;0;L;;;;;N;;;;; +1D1B7;MUSICAL SYMBOL LONGA;So;0;L;;;;;N;;;;; +1D1B8;MUSICAL SYMBOL BREVIS;So;0;L;;;;;N;;;;; +1D1B9;MUSICAL SYMBOL SEMIBREVIS WHITE;So;0;L;;;;;N;;;;; +1D1BA;MUSICAL SYMBOL SEMIBREVIS BLACK;So;0;L;;;;;N;;;;; +1D1BB;MUSICAL SYMBOL MINIMA;So;0;L;1D1B9 1D165;;;;N;;;;; +1D1BC;MUSICAL SYMBOL MINIMA BLACK;So;0;L;1D1BA 1D165;;;;N;;;;; +1D1BD;MUSICAL SYMBOL SEMIMINIMA WHITE;So;0;L;1D1BB 1D16E;;;;N;;;;; +1D1BE;MUSICAL SYMBOL SEMIMINIMA BLACK;So;0;L;1D1BC 1D16E;;;;N;;;;; +1D1BF;MUSICAL SYMBOL FUSA WHITE;So;0;L;1D1BB 1D16F;;;;N;;;;; +1D1C0;MUSICAL SYMBOL FUSA BLACK;So;0;L;1D1BC 1D16F;;;;N;;;;; +1D1C1;MUSICAL SYMBOL LONGA PERFECTA REST;So;0;L;;;;;N;;;;; +1D1C2;MUSICAL SYMBOL LONGA IMPERFECTA REST;So;0;L;;;;;N;;;;; +1D1C3;MUSICAL SYMBOL BREVIS REST;So;0;L;;;;;N;;;;; +1D1C4;MUSICAL SYMBOL SEMIBREVIS REST;So;0;L;;;;;N;;;;; +1D1C5;MUSICAL SYMBOL MINIMA REST;So;0;L;;;;;N;;;;; +1D1C6;MUSICAL SYMBOL SEMIMINIMA REST;So;0;L;;;;;N;;;;; +1D1C7;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA;So;0;L;;;;;N;;;;; +1D1C8;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA;So;0;L;;;;;N;;;;; +1D1C9;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1;So;0;L;;;;;N;;;;; +1D1CA;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA;So;0;L;;;;;N;;;;; +1D1CB;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA;So;0;L;;;;;N;;;;; +1D1CC;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1;So;0;L;;;;;N;;;;; +1D1CD;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2;So;0;L;;;;;N;;;;; +1D1CE;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3;So;0;L;;;;;N;;;;; +1D1CF;MUSICAL SYMBOL CROIX;So;0;L;;;;;N;;;;; +1D1D0;MUSICAL SYMBOL GREGORIAN C CLEF;So;0;L;;;;;N;;;;; +1D1D1;MUSICAL SYMBOL GREGORIAN F CLEF;So;0;L;;;;;N;;;;; +1D1D2;MUSICAL SYMBOL SQUARE B;So;0;L;;;;;N;;;;; +1D1D3;MUSICAL SYMBOL VIRGA;So;0;L;;;;;N;;;;; +1D1D4;MUSICAL SYMBOL PODATUS;So;0;L;;;;;N;;;;; +1D1D5;MUSICAL SYMBOL CLIVIS;So;0;L;;;;;N;;;;; +1D1D6;MUSICAL SYMBOL SCANDICUS;So;0;L;;;;;N;;;;; +1D1D7;MUSICAL SYMBOL CLIMACUS;So;0;L;;;;;N;;;;; +1D1D8;MUSICAL SYMBOL TORCULUS;So;0;L;;;;;N;;;;; +1D1D9;MUSICAL SYMBOL PORRECTUS;So;0;L;;;;;N;;;;; +1D1DA;MUSICAL SYMBOL PORRECTUS FLEXUS;So;0;L;;;;;N;;;;; +1D1DB;MUSICAL SYMBOL SCANDICUS FLEXUS;So;0;L;;;;;N;;;;; +1D1DC;MUSICAL SYMBOL TORCULUS RESUPINUS;So;0;L;;;;;N;;;;; +1D1DD;MUSICAL SYMBOL PES SUBPUNCTIS;So;0;L;;;;;N;;;;; +1D200;GREEK VOCAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;; +1D201;GREEK VOCAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;; +1D202;GREEK VOCAL NOTATION SYMBOL-3;So;0;ON;;;;;N;;;;; +1D203;GREEK VOCAL NOTATION SYMBOL-4;So;0;ON;;;;;N;;;;; +1D204;GREEK VOCAL NOTATION SYMBOL-5;So;0;ON;;;;;N;;;;; +1D205;GREEK VOCAL NOTATION SYMBOL-6;So;0;ON;;;;;N;;;;; +1D206;GREEK VOCAL NOTATION SYMBOL-7;So;0;ON;;;;;N;;;;; +1D207;GREEK VOCAL NOTATION SYMBOL-8;So;0;ON;;;;;N;;;;; +1D208;GREEK VOCAL NOTATION SYMBOL-9;So;0;ON;;;;;N;;;;; +1D209;GREEK VOCAL NOTATION SYMBOL-10;So;0;ON;;;;;N;;;;; +1D20A;GREEK VOCAL NOTATION SYMBOL-11;So;0;ON;;;;;N;;;;; +1D20B;GREEK VOCAL NOTATION SYMBOL-12;So;0;ON;;;;;N;;;;; +1D20C;GREEK VOCAL NOTATION SYMBOL-13;So;0;ON;;;;;N;;;;; +1D20D;GREEK VOCAL NOTATION SYMBOL-14;So;0;ON;;;;;N;;;;; +1D20E;GREEK VOCAL NOTATION SYMBOL-15;So;0;ON;;;;;N;;;;; +1D20F;GREEK VOCAL NOTATION SYMBOL-16;So;0;ON;;;;;N;;;;; +1D210;GREEK VOCAL NOTATION SYMBOL-17;So;0;ON;;;;;N;;;;; +1D211;GREEK VOCAL NOTATION SYMBOL-18;So;0;ON;;;;;N;;;;; +1D212;GREEK VOCAL NOTATION SYMBOL-19;So;0;ON;;;;;N;;;;; +1D213;GREEK VOCAL NOTATION SYMBOL-20;So;0;ON;;;;;N;;;;; +1D214;GREEK VOCAL NOTATION SYMBOL-21;So;0;ON;;;;;N;;;;; +1D215;GREEK VOCAL NOTATION SYMBOL-22;So;0;ON;;;;;N;;;;; +1D216;GREEK VOCAL NOTATION SYMBOL-23;So;0;ON;;;;;N;;;;; +1D217;GREEK VOCAL NOTATION SYMBOL-24;So;0;ON;;;;;N;;;;; +1D218;GREEK VOCAL NOTATION SYMBOL-50;So;0;ON;;;;;N;;;;; +1D219;GREEK VOCAL NOTATION SYMBOL-51;So;0;ON;;;;;N;;;;; +1D21A;GREEK VOCAL NOTATION SYMBOL-52;So;0;ON;;;;;N;;;;; +1D21B;GREEK VOCAL NOTATION SYMBOL-53;So;0;ON;;;;;N;;;;; +1D21C;GREEK VOCAL NOTATION SYMBOL-54;So;0;ON;;;;;N;;;;; +1D21D;GREEK INSTRUMENTAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;; +1D21E;GREEK INSTRUMENTAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;; +1D21F;GREEK INSTRUMENTAL NOTATION SYMBOL-4;So;0;ON;;;;;N;;;;; +1D220;GREEK INSTRUMENTAL NOTATION SYMBOL-5;So;0;ON;;;;;N;;;;; +1D221;GREEK INSTRUMENTAL NOTATION SYMBOL-7;So;0;ON;;;;;N;;;;; +1D222;GREEK INSTRUMENTAL NOTATION SYMBOL-8;So;0;ON;;;;;N;;;;; +1D223;GREEK INSTRUMENTAL NOTATION SYMBOL-11;So;0;ON;;;;;N;;;;; +1D224;GREEK INSTRUMENTAL NOTATION SYMBOL-12;So;0;ON;;;;;N;;;;; +1D225;GREEK INSTRUMENTAL NOTATION SYMBOL-13;So;0;ON;;;;;N;;;;; +1D226;GREEK INSTRUMENTAL NOTATION SYMBOL-14;So;0;ON;;;;;N;;;;; +1D227;GREEK INSTRUMENTAL NOTATION SYMBOL-17;So;0;ON;;;;;N;;;;; +1D228;GREEK INSTRUMENTAL NOTATION SYMBOL-18;So;0;ON;;;;;N;;;;; +1D229;GREEK INSTRUMENTAL NOTATION SYMBOL-19;So;0;ON;;;;;N;;;;; +1D22A;GREEK INSTRUMENTAL NOTATION SYMBOL-23;So;0;ON;;;;;N;;;;; +1D22B;GREEK INSTRUMENTAL NOTATION SYMBOL-24;So;0;ON;;;;;N;;;;; +1D22C;GREEK INSTRUMENTAL NOTATION SYMBOL-25;So;0;ON;;;;;N;;;;; +1D22D;GREEK INSTRUMENTAL NOTATION SYMBOL-26;So;0;ON;;;;;N;;;;; +1D22E;GREEK INSTRUMENTAL NOTATION SYMBOL-27;So;0;ON;;;;;N;;;;; +1D22F;GREEK INSTRUMENTAL NOTATION SYMBOL-29;So;0;ON;;;;;N;;;;; +1D230;GREEK INSTRUMENTAL NOTATION SYMBOL-30;So;0;ON;;;;;N;;;;; +1D231;GREEK INSTRUMENTAL NOTATION SYMBOL-32;So;0;ON;;;;;N;;;;; +1D232;GREEK INSTRUMENTAL NOTATION SYMBOL-36;So;0;ON;;;;;N;;;;; +1D233;GREEK INSTRUMENTAL NOTATION SYMBOL-37;So;0;ON;;;;;N;;;;; +1D234;GREEK INSTRUMENTAL NOTATION SYMBOL-38;So;0;ON;;;;;N;;;;; +1D235;GREEK INSTRUMENTAL NOTATION SYMBOL-39;So;0;ON;;;;;N;;;;; +1D236;GREEK INSTRUMENTAL NOTATION SYMBOL-40;So;0;ON;;;;;N;;;;; +1D237;GREEK INSTRUMENTAL NOTATION SYMBOL-42;So;0;ON;;;;;N;;;;; +1D238;GREEK INSTRUMENTAL NOTATION SYMBOL-43;So;0;ON;;;;;N;;;;; +1D239;GREEK INSTRUMENTAL NOTATION SYMBOL-45;So;0;ON;;;;;N;;;;; +1D23A;GREEK INSTRUMENTAL NOTATION SYMBOL-47;So;0;ON;;;;;N;;;;; +1D23B;GREEK INSTRUMENTAL NOTATION SYMBOL-48;So;0;ON;;;;;N;;;;; +1D23C;GREEK INSTRUMENTAL NOTATION SYMBOL-49;So;0;ON;;;;;N;;;;; +1D23D;GREEK INSTRUMENTAL NOTATION SYMBOL-50;So;0;ON;;;;;N;;;;; +1D23E;GREEK INSTRUMENTAL NOTATION SYMBOL-51;So;0;ON;;;;;N;;;;; +1D23F;GREEK INSTRUMENTAL NOTATION SYMBOL-52;So;0;ON;;;;;N;;;;; +1D240;GREEK INSTRUMENTAL NOTATION SYMBOL-53;So;0;ON;;;;;N;;;;; +1D241;GREEK INSTRUMENTAL NOTATION SYMBOL-54;So;0;ON;;;;;N;;;;; +1D242;COMBINING GREEK MUSICAL TRISEME;Mn;230;NSM;;;;;N;;;;; +1D243;COMBINING GREEK MUSICAL TETRASEME;Mn;230;NSM;;;;;N;;;;; +1D244;COMBINING GREEK MUSICAL PENTASEME;Mn;230;NSM;;;;;N;;;;; +1D245;GREEK MUSICAL LEIMMA;So;0;ON;;;;;N;;;;; +1D300;MONOGRAM FOR EARTH;So;0;ON;;;;;N;;ren *;;; +1D301;DIGRAM FOR HEAVENLY EARTH;So;0;ON;;;;;N;;tian ren *;;; +1D302;DIGRAM FOR HUMAN EARTH;So;0;ON;;;;;N;;di ren *;;; +1D303;DIGRAM FOR EARTHLY HEAVEN;So;0;ON;;;;;N;;ren tian *;;; +1D304;DIGRAM FOR EARTHLY HUMAN;So;0;ON;;;;;N;;ren di *;;; +1D305;DIGRAM FOR EARTH;So;0;ON;;;;;N;;ren ren *;;; +1D306;TETRAGRAM FOR CENTRE;So;0;ON;;;;;N;;;;; +1D307;TETRAGRAM FOR FULL CIRCLE;So;0;ON;;;;;N;;;;; +1D308;TETRAGRAM FOR MIRED;So;0;ON;;;;;N;;;;; +1D309;TETRAGRAM FOR BARRIER;So;0;ON;;;;;N;;;;; +1D30A;TETRAGRAM FOR KEEPING SMALL;So;0;ON;;;;;N;;;;; +1D30B;TETRAGRAM FOR CONTRARIETY;So;0;ON;;;;;N;;;;; +1D30C;TETRAGRAM FOR ASCENT;So;0;ON;;;;;N;;;;; +1D30D;TETRAGRAM FOR OPPOSITION;So;0;ON;;;;;N;;;;; +1D30E;TETRAGRAM FOR BRANCHING OUT;So;0;ON;;;;;N;;;;; +1D30F;TETRAGRAM FOR DEFECTIVENESS OR DISTORTION;So;0;ON;;;;;N;;;;; +1D310;TETRAGRAM FOR DIVERGENCE;So;0;ON;;;;;N;;;;; +1D311;TETRAGRAM FOR YOUTHFULNESS;So;0;ON;;;;;N;;;;; +1D312;TETRAGRAM FOR INCREASE;So;0;ON;;;;;N;;;;; +1D313;TETRAGRAM FOR PENETRATION;So;0;ON;;;;;N;;;;; +1D314;TETRAGRAM FOR REACH;So;0;ON;;;;;N;;;;; +1D315;TETRAGRAM FOR CONTACT;So;0;ON;;;;;N;;;;; +1D316;TETRAGRAM FOR HOLDING BACK;So;0;ON;;;;;N;;;;; +1D317;TETRAGRAM FOR WAITING;So;0;ON;;;;;N;;;;; +1D318;TETRAGRAM FOR FOLLOWING;So;0;ON;;;;;N;;;;; +1D319;TETRAGRAM FOR ADVANCE;So;0;ON;;;;;N;;;;; +1D31A;TETRAGRAM FOR RELEASE;So;0;ON;;;;;N;;;;; +1D31B;TETRAGRAM FOR RESISTANCE;So;0;ON;;;;;N;;;;; +1D31C;TETRAGRAM FOR EASE;So;0;ON;;;;;N;;;;; +1D31D;TETRAGRAM FOR JOY;So;0;ON;;;;;N;;;;; +1D31E;TETRAGRAM FOR CONTENTION;So;0;ON;;;;;N;;;;; +1D31F;TETRAGRAM FOR ENDEAVOUR;So;0;ON;;;;;N;;;;; +1D320;TETRAGRAM FOR DUTIES;So;0;ON;;;;;N;;;;; +1D321;TETRAGRAM FOR CHANGE;So;0;ON;;;;;N;;;;; +1D322;TETRAGRAM FOR DECISIVENESS;So;0;ON;;;;;N;;;;; +1D323;TETRAGRAM FOR BOLD RESOLUTION;So;0;ON;;;;;N;;;;; +1D324;TETRAGRAM FOR PACKING;So;0;ON;;;;;N;;;;; +1D325;TETRAGRAM FOR LEGION;So;0;ON;;;;;N;;;;; +1D326;TETRAGRAM FOR CLOSENESS;So;0;ON;;;;;N;;;;; +1D327;TETRAGRAM FOR KINSHIP;So;0;ON;;;;;N;;;;; +1D328;TETRAGRAM FOR GATHERING;So;0;ON;;;;;N;;;;; +1D329;TETRAGRAM FOR STRENGTH;So;0;ON;;;;;N;;;;; +1D32A;TETRAGRAM FOR PURITY;So;0;ON;;;;;N;;;;; +1D32B;TETRAGRAM FOR FULLNESS;So;0;ON;;;;;N;;;;; +1D32C;TETRAGRAM FOR RESIDENCE;So;0;ON;;;;;N;;;;; +1D32D;TETRAGRAM FOR LAW OR MODEL;So;0;ON;;;;;N;;;;; +1D32E;TETRAGRAM FOR RESPONSE;So;0;ON;;;;;N;;;;; +1D32F;TETRAGRAM FOR GOING TO MEET;So;0;ON;;;;;N;;;;; +1D330;TETRAGRAM FOR ENCOUNTERS;So;0;ON;;;;;N;;;;; +1D331;TETRAGRAM FOR STOVE;So;0;ON;;;;;N;;;;; +1D332;TETRAGRAM FOR GREATNESS;So;0;ON;;;;;N;;;;; +1D333;TETRAGRAM FOR ENLARGEMENT;So;0;ON;;;;;N;;;;; +1D334;TETRAGRAM FOR PATTERN;So;0;ON;;;;;N;;;;; +1D335;TETRAGRAM FOR RITUAL;So;0;ON;;;;;N;;;;; +1D336;TETRAGRAM FOR FLIGHT;So;0;ON;;;;;N;;;;; +1D337;TETRAGRAM FOR VASTNESS OR WASTING;So;0;ON;;;;;N;;;;; +1D338;TETRAGRAM FOR CONSTANCY;So;0;ON;;;;;N;;;;; +1D339;TETRAGRAM FOR MEASURE;So;0;ON;;;;;N;;;;; +1D33A;TETRAGRAM FOR ETERNITY;So;0;ON;;;;;N;;;;; +1D33B;TETRAGRAM FOR UNITY;So;0;ON;;;;;N;;;;; +1D33C;TETRAGRAM FOR DIMINISHMENT;So;0;ON;;;;;N;;;;; +1D33D;TETRAGRAM FOR CLOSED MOUTH;So;0;ON;;;;;N;;;;; +1D33E;TETRAGRAM FOR GUARDEDNESS;So;0;ON;;;;;N;;;;; +1D33F;TETRAGRAM FOR GATHERING IN;So;0;ON;;;;;N;;;;; +1D340;TETRAGRAM FOR MASSING;So;0;ON;;;;;N;;;;; +1D341;TETRAGRAM FOR ACCUMULATION;So;0;ON;;;;;N;;;;; +1D342;TETRAGRAM FOR EMBELLISHMENT;So;0;ON;;;;;N;;;;; +1D343;TETRAGRAM FOR DOUBT;So;0;ON;;;;;N;;;;; +1D344;TETRAGRAM FOR WATCH;So;0;ON;;;;;N;;;;; +1D345;TETRAGRAM FOR SINKING;So;0;ON;;;;;N;;;;; +1D346;TETRAGRAM FOR INNER;So;0;ON;;;;;N;;;;; +1D347;TETRAGRAM FOR DEPARTURE;So;0;ON;;;;;N;;;;; +1D348;TETRAGRAM FOR DARKENING;So;0;ON;;;;;N;;;;; +1D349;TETRAGRAM FOR DIMMING;So;0;ON;;;;;N;;;;; +1D34A;TETRAGRAM FOR EXHAUSTION;So;0;ON;;;;;N;;;;; +1D34B;TETRAGRAM FOR SEVERANCE;So;0;ON;;;;;N;;;;; +1D34C;TETRAGRAM FOR STOPPAGE;So;0;ON;;;;;N;;;;; +1D34D;TETRAGRAM FOR HARDNESS;So;0;ON;;;;;N;;;;; +1D34E;TETRAGRAM FOR COMPLETION;So;0;ON;;;;;N;;;;; +1D34F;TETRAGRAM FOR CLOSURE;So;0;ON;;;;;N;;;;; +1D350;TETRAGRAM FOR FAILURE;So;0;ON;;;;;N;;;;; +1D351;TETRAGRAM FOR AGGRAVATION;So;0;ON;;;;;N;;;;; +1D352;TETRAGRAM FOR COMPLIANCE;So;0;ON;;;;;N;;;;; +1D353;TETRAGRAM FOR ON THE VERGE;So;0;ON;;;;;N;;;;; +1D354;TETRAGRAM FOR DIFFICULTIES;So;0;ON;;;;;N;;;;; +1D355;TETRAGRAM FOR LABOURING;So;0;ON;;;;;N;;;;; +1D356;TETRAGRAM FOR FOSTERING;So;0;ON;;;;;N;;;;; +1D360;COUNTING ROD UNIT DIGIT ONE;No;0;L;;;;1;N;;;;; +1D361;COUNTING ROD UNIT DIGIT TWO;No;0;L;;;;2;N;;;;; +1D362;COUNTING ROD UNIT DIGIT THREE;No;0;L;;;;3;N;;;;; +1D363;COUNTING ROD UNIT DIGIT FOUR;No;0;L;;;;4;N;;;;; +1D364;COUNTING ROD UNIT DIGIT FIVE;No;0;L;;;;5;N;;;;; +1D365;COUNTING ROD UNIT DIGIT SIX;No;0;L;;;;6;N;;;;; +1D366;COUNTING ROD UNIT DIGIT SEVEN;No;0;L;;;;7;N;;;;; +1D367;COUNTING ROD UNIT DIGIT EIGHT;No;0;L;;;;8;N;;;;; +1D368;COUNTING ROD UNIT DIGIT NINE;No;0;L;;;;9;N;;;;; +1D369;COUNTING ROD TENS DIGIT ONE;No;0;L;;;;10;N;;;;; +1D36A;COUNTING ROD TENS DIGIT TWO;No;0;L;;;;20;N;;;;; +1D36B;COUNTING ROD TENS DIGIT THREE;No;0;L;;;;30;N;;;;; +1D36C;COUNTING ROD TENS DIGIT FOUR;No;0;L;;;;40;N;;;;; +1D36D;COUNTING ROD TENS DIGIT FIVE;No;0;L;;;;50;N;;;;; +1D36E;COUNTING ROD TENS DIGIT SIX;No;0;L;;;;60;N;;;;; +1D36F;COUNTING ROD TENS DIGIT SEVEN;No;0;L;;;;70;N;;;;; +1D370;COUNTING ROD TENS DIGIT EIGHT;No;0;L;;;;80;N;;;;; +1D371;COUNTING ROD TENS DIGIT NINE;No;0;L;;;;90;N;;;;; +1D400;MATHEMATICAL BOLD CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D401;MATHEMATICAL BOLD CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D402;MATHEMATICAL BOLD CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D403;MATHEMATICAL BOLD CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D404;MATHEMATICAL BOLD CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D405;MATHEMATICAL BOLD CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D406;MATHEMATICAL BOLD CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D407;MATHEMATICAL BOLD CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D408;MATHEMATICAL BOLD CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D409;MATHEMATICAL BOLD CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D40A;MATHEMATICAL BOLD CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D40B;MATHEMATICAL BOLD CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D40C;MATHEMATICAL BOLD CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D40D;MATHEMATICAL BOLD CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D40E;MATHEMATICAL BOLD CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D40F;MATHEMATICAL BOLD CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D410;MATHEMATICAL BOLD CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D411;MATHEMATICAL BOLD CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D412;MATHEMATICAL BOLD CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D413;MATHEMATICAL BOLD CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D414;MATHEMATICAL BOLD CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D415;MATHEMATICAL BOLD CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D416;MATHEMATICAL BOLD CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D417;MATHEMATICAL BOLD CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D418;MATHEMATICAL BOLD CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D419;MATHEMATICAL BOLD CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D41A;MATHEMATICAL BOLD SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D41B;MATHEMATICAL BOLD SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D41C;MATHEMATICAL BOLD SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D41D;MATHEMATICAL BOLD SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D41E;MATHEMATICAL BOLD SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D41F;MATHEMATICAL BOLD SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D420;MATHEMATICAL BOLD SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D421;MATHEMATICAL BOLD SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D422;MATHEMATICAL BOLD SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D423;MATHEMATICAL BOLD SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D424;MATHEMATICAL BOLD SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D425;MATHEMATICAL BOLD SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D426;MATHEMATICAL BOLD SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D427;MATHEMATICAL BOLD SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D428;MATHEMATICAL BOLD SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D429;MATHEMATICAL BOLD SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D42A;MATHEMATICAL BOLD SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D42B;MATHEMATICAL BOLD SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D42C;MATHEMATICAL BOLD SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D42D;MATHEMATICAL BOLD SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D42E;MATHEMATICAL BOLD SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D42F;MATHEMATICAL BOLD SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D430;MATHEMATICAL BOLD SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D431;MATHEMATICAL BOLD SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D432;MATHEMATICAL BOLD SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D433;MATHEMATICAL BOLD SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D434;MATHEMATICAL ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D435;MATHEMATICAL ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D436;MATHEMATICAL ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D437;MATHEMATICAL ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D438;MATHEMATICAL ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D439;MATHEMATICAL ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D43A;MATHEMATICAL ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D43B;MATHEMATICAL ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D43C;MATHEMATICAL ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D43D;MATHEMATICAL ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D43E;MATHEMATICAL ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D43F;MATHEMATICAL ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D440;MATHEMATICAL ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D441;MATHEMATICAL ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D442;MATHEMATICAL ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D443;MATHEMATICAL ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D444;MATHEMATICAL ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D445;MATHEMATICAL ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D446;MATHEMATICAL ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D447;MATHEMATICAL ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D448;MATHEMATICAL ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D449;MATHEMATICAL ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D44A;MATHEMATICAL ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D44B;MATHEMATICAL ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D44C;MATHEMATICAL ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D44D;MATHEMATICAL ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D44E;MATHEMATICAL ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D44F;MATHEMATICAL ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D450;MATHEMATICAL ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D451;MATHEMATICAL ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D452;MATHEMATICAL ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D453;MATHEMATICAL ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D454;MATHEMATICAL ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D456;MATHEMATICAL ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D457;MATHEMATICAL ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D458;MATHEMATICAL ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D459;MATHEMATICAL ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D45A;MATHEMATICAL ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D45B;MATHEMATICAL ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D45C;MATHEMATICAL ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D45D;MATHEMATICAL ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D45E;MATHEMATICAL ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D45F;MATHEMATICAL ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D460;MATHEMATICAL ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D461;MATHEMATICAL ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D462;MATHEMATICAL ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D463;MATHEMATICAL ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D464;MATHEMATICAL ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D465;MATHEMATICAL ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D466;MATHEMATICAL ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D467;MATHEMATICAL ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D468;MATHEMATICAL BOLD ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D469;MATHEMATICAL BOLD ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D46A;MATHEMATICAL BOLD ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D46B;MATHEMATICAL BOLD ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D46C;MATHEMATICAL BOLD ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D46D;MATHEMATICAL BOLD ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D46E;MATHEMATICAL BOLD ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D46F;MATHEMATICAL BOLD ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D470;MATHEMATICAL BOLD ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D471;MATHEMATICAL BOLD ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D472;MATHEMATICAL BOLD ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D473;MATHEMATICAL BOLD ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D474;MATHEMATICAL BOLD ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D475;MATHEMATICAL BOLD ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D476;MATHEMATICAL BOLD ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D477;MATHEMATICAL BOLD ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D478;MATHEMATICAL BOLD ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D479;MATHEMATICAL BOLD ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D47A;MATHEMATICAL BOLD ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D47B;MATHEMATICAL BOLD ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D47C;MATHEMATICAL BOLD ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D47D;MATHEMATICAL BOLD ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D47E;MATHEMATICAL BOLD ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D47F;MATHEMATICAL BOLD ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D480;MATHEMATICAL BOLD ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D481;MATHEMATICAL BOLD ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D482;MATHEMATICAL BOLD ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D483;MATHEMATICAL BOLD ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D484;MATHEMATICAL BOLD ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D485;MATHEMATICAL BOLD ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D486;MATHEMATICAL BOLD ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D487;MATHEMATICAL BOLD ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D488;MATHEMATICAL BOLD ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D489;MATHEMATICAL BOLD ITALIC SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D48A;MATHEMATICAL BOLD ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D48B;MATHEMATICAL BOLD ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D48C;MATHEMATICAL BOLD ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D48D;MATHEMATICAL BOLD ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D48E;MATHEMATICAL BOLD ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D48F;MATHEMATICAL BOLD ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D490;MATHEMATICAL BOLD ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D491;MATHEMATICAL BOLD ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D492;MATHEMATICAL BOLD ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D493;MATHEMATICAL BOLD ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D494;MATHEMATICAL BOLD ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D495;MATHEMATICAL BOLD ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D496;MATHEMATICAL BOLD ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D497;MATHEMATICAL BOLD ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D498;MATHEMATICAL BOLD ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D499;MATHEMATICAL BOLD ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D49A;MATHEMATICAL BOLD ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D49B;MATHEMATICAL BOLD ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D49C;MATHEMATICAL SCRIPT CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D49E;MATHEMATICAL SCRIPT CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D49F;MATHEMATICAL SCRIPT CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D4A2;MATHEMATICAL SCRIPT CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D4A5;MATHEMATICAL SCRIPT CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D4A6;MATHEMATICAL SCRIPT CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D4A9;MATHEMATICAL SCRIPT CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D4AA;MATHEMATICAL SCRIPT CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D4AB;MATHEMATICAL SCRIPT CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D4AC;MATHEMATICAL SCRIPT CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D4AE;MATHEMATICAL SCRIPT CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D4AF;MATHEMATICAL SCRIPT CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D4B0;MATHEMATICAL SCRIPT CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D4B1;MATHEMATICAL SCRIPT CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D4B2;MATHEMATICAL SCRIPT CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D4B3;MATHEMATICAL SCRIPT CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D4B4;MATHEMATICAL SCRIPT CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D4B5;MATHEMATICAL SCRIPT CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D4B6;MATHEMATICAL SCRIPT SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D4B7;MATHEMATICAL SCRIPT SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D4B8;MATHEMATICAL SCRIPT SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D4B9;MATHEMATICAL SCRIPT SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D4BB;MATHEMATICAL SCRIPT SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D4BD;MATHEMATICAL SCRIPT SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D4BE;MATHEMATICAL SCRIPT SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D4BF;MATHEMATICAL SCRIPT SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D4C0;MATHEMATICAL SCRIPT SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D4C1;MATHEMATICAL SCRIPT SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D4C2;MATHEMATICAL SCRIPT SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D4C3;MATHEMATICAL SCRIPT SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D4C5;MATHEMATICAL SCRIPT SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D4C6;MATHEMATICAL SCRIPT SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D4C7;MATHEMATICAL SCRIPT SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D4C8;MATHEMATICAL SCRIPT SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D4C9;MATHEMATICAL SCRIPT SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D4CA;MATHEMATICAL SCRIPT SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D4CB;MATHEMATICAL SCRIPT SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D4CC;MATHEMATICAL SCRIPT SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D4CD;MATHEMATICAL SCRIPT SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D4CE;MATHEMATICAL SCRIPT SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D4CF;MATHEMATICAL SCRIPT SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D4D0;MATHEMATICAL BOLD SCRIPT CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D4D1;MATHEMATICAL BOLD SCRIPT CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D4D2;MATHEMATICAL BOLD SCRIPT CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D4D3;MATHEMATICAL BOLD SCRIPT CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D4D4;MATHEMATICAL BOLD SCRIPT CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D4D5;MATHEMATICAL BOLD SCRIPT CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D4D6;MATHEMATICAL BOLD SCRIPT CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D4D7;MATHEMATICAL BOLD SCRIPT CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D4D8;MATHEMATICAL BOLD SCRIPT CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D4D9;MATHEMATICAL BOLD SCRIPT CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D4DA;MATHEMATICAL BOLD SCRIPT CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D4DB;MATHEMATICAL BOLD SCRIPT CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D4DC;MATHEMATICAL BOLD SCRIPT CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D4DD;MATHEMATICAL BOLD SCRIPT CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D4DE;MATHEMATICAL BOLD SCRIPT CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D4DF;MATHEMATICAL BOLD SCRIPT CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D4E0;MATHEMATICAL BOLD SCRIPT CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D4E1;MATHEMATICAL BOLD SCRIPT CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D4E2;MATHEMATICAL BOLD SCRIPT CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D4E3;MATHEMATICAL BOLD SCRIPT CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D4E4;MATHEMATICAL BOLD SCRIPT CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D4E5;MATHEMATICAL BOLD SCRIPT CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D4E6;MATHEMATICAL BOLD SCRIPT CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D4E7;MATHEMATICAL BOLD SCRIPT CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D4E8;MATHEMATICAL BOLD SCRIPT CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D4E9;MATHEMATICAL BOLD SCRIPT CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D4EA;MATHEMATICAL BOLD SCRIPT SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D4EB;MATHEMATICAL BOLD SCRIPT SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D4EC;MATHEMATICAL BOLD SCRIPT SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D4ED;MATHEMATICAL BOLD SCRIPT SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D4EE;MATHEMATICAL BOLD SCRIPT SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D4EF;MATHEMATICAL BOLD SCRIPT SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D4F0;MATHEMATICAL BOLD SCRIPT SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D4F1;MATHEMATICAL BOLD SCRIPT SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D4F2;MATHEMATICAL BOLD SCRIPT SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D4F3;MATHEMATICAL BOLD SCRIPT SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D4F4;MATHEMATICAL BOLD SCRIPT SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D4F5;MATHEMATICAL BOLD SCRIPT SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D4F6;MATHEMATICAL BOLD SCRIPT SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D4F7;MATHEMATICAL BOLD SCRIPT SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D4F8;MATHEMATICAL BOLD SCRIPT SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D4F9;MATHEMATICAL BOLD SCRIPT SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D4FA;MATHEMATICAL BOLD SCRIPT SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D4FB;MATHEMATICAL BOLD SCRIPT SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D4FC;MATHEMATICAL BOLD SCRIPT SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D4FD;MATHEMATICAL BOLD SCRIPT SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D4FE;MATHEMATICAL BOLD SCRIPT SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D4FF;MATHEMATICAL BOLD SCRIPT SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D500;MATHEMATICAL BOLD SCRIPT SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D501;MATHEMATICAL BOLD SCRIPT SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D502;MATHEMATICAL BOLD SCRIPT SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D503;MATHEMATICAL BOLD SCRIPT SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D504;MATHEMATICAL FRAKTUR CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D505;MATHEMATICAL FRAKTUR CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D507;MATHEMATICAL FRAKTUR CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D508;MATHEMATICAL FRAKTUR CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D509;MATHEMATICAL FRAKTUR CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D50A;MATHEMATICAL FRAKTUR CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D50D;MATHEMATICAL FRAKTUR CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D50E;MATHEMATICAL FRAKTUR CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D50F;MATHEMATICAL FRAKTUR CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D510;MATHEMATICAL FRAKTUR CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D511;MATHEMATICAL FRAKTUR CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D512;MATHEMATICAL FRAKTUR CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D513;MATHEMATICAL FRAKTUR CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D514;MATHEMATICAL FRAKTUR CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D516;MATHEMATICAL FRAKTUR CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D517;MATHEMATICAL FRAKTUR CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D518;MATHEMATICAL FRAKTUR CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D519;MATHEMATICAL FRAKTUR CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D51A;MATHEMATICAL FRAKTUR CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D51B;MATHEMATICAL FRAKTUR CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D51C;MATHEMATICAL FRAKTUR CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D51E;MATHEMATICAL FRAKTUR SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D51F;MATHEMATICAL FRAKTUR SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D520;MATHEMATICAL FRAKTUR SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D521;MATHEMATICAL FRAKTUR SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D522;MATHEMATICAL FRAKTUR SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D523;MATHEMATICAL FRAKTUR SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D524;MATHEMATICAL FRAKTUR SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D525;MATHEMATICAL FRAKTUR SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D526;MATHEMATICAL FRAKTUR SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D527;MATHEMATICAL FRAKTUR SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D528;MATHEMATICAL FRAKTUR SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D529;MATHEMATICAL FRAKTUR SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D52A;MATHEMATICAL FRAKTUR SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D52B;MATHEMATICAL FRAKTUR SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D52C;MATHEMATICAL FRAKTUR SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D52D;MATHEMATICAL FRAKTUR SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D52E;MATHEMATICAL FRAKTUR SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D52F;MATHEMATICAL FRAKTUR SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D530;MATHEMATICAL FRAKTUR SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D531;MATHEMATICAL FRAKTUR SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D532;MATHEMATICAL FRAKTUR SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D533;MATHEMATICAL FRAKTUR SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D534;MATHEMATICAL FRAKTUR SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D535;MATHEMATICAL FRAKTUR SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D536;MATHEMATICAL FRAKTUR SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D537;MATHEMATICAL FRAKTUR SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D538;MATHEMATICAL DOUBLE-STRUCK CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D539;MATHEMATICAL DOUBLE-STRUCK CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D53B;MATHEMATICAL DOUBLE-STRUCK CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D53C;MATHEMATICAL DOUBLE-STRUCK CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D53D;MATHEMATICAL DOUBLE-STRUCK CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D53E;MATHEMATICAL DOUBLE-STRUCK CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D540;MATHEMATICAL DOUBLE-STRUCK CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D541;MATHEMATICAL DOUBLE-STRUCK CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D542;MATHEMATICAL DOUBLE-STRUCK CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D543;MATHEMATICAL DOUBLE-STRUCK CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D544;MATHEMATICAL DOUBLE-STRUCK CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D546;MATHEMATICAL DOUBLE-STRUCK CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D54A;MATHEMATICAL DOUBLE-STRUCK CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D54B;MATHEMATICAL DOUBLE-STRUCK CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D54C;MATHEMATICAL DOUBLE-STRUCK CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D54D;MATHEMATICAL DOUBLE-STRUCK CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D54E;MATHEMATICAL DOUBLE-STRUCK CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D54F;MATHEMATICAL DOUBLE-STRUCK CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D550;MATHEMATICAL DOUBLE-STRUCK CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D552;MATHEMATICAL DOUBLE-STRUCK SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D553;MATHEMATICAL DOUBLE-STRUCK SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D554;MATHEMATICAL DOUBLE-STRUCK SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D555;MATHEMATICAL DOUBLE-STRUCK SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D556;MATHEMATICAL DOUBLE-STRUCK SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D557;MATHEMATICAL DOUBLE-STRUCK SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D558;MATHEMATICAL DOUBLE-STRUCK SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D559;MATHEMATICAL DOUBLE-STRUCK SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D55A;MATHEMATICAL DOUBLE-STRUCK SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D55B;MATHEMATICAL DOUBLE-STRUCK SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D55C;MATHEMATICAL DOUBLE-STRUCK SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D55D;MATHEMATICAL DOUBLE-STRUCK SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D55E;MATHEMATICAL DOUBLE-STRUCK SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D55F;MATHEMATICAL DOUBLE-STRUCK SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D560;MATHEMATICAL DOUBLE-STRUCK SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D561;MATHEMATICAL DOUBLE-STRUCK SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D562;MATHEMATICAL DOUBLE-STRUCK SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D563;MATHEMATICAL DOUBLE-STRUCK SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D564;MATHEMATICAL DOUBLE-STRUCK SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D565;MATHEMATICAL DOUBLE-STRUCK SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D566;MATHEMATICAL DOUBLE-STRUCK SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D567;MATHEMATICAL DOUBLE-STRUCK SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D568;MATHEMATICAL DOUBLE-STRUCK SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D569;MATHEMATICAL DOUBLE-STRUCK SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D56A;MATHEMATICAL DOUBLE-STRUCK SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D56B;MATHEMATICAL DOUBLE-STRUCK SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D56C;MATHEMATICAL BOLD FRAKTUR CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D56D;MATHEMATICAL BOLD FRAKTUR CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D56E;MATHEMATICAL BOLD FRAKTUR CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D56F;MATHEMATICAL BOLD FRAKTUR CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D570;MATHEMATICAL BOLD FRAKTUR CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D571;MATHEMATICAL BOLD FRAKTUR CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D572;MATHEMATICAL BOLD FRAKTUR CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D573;MATHEMATICAL BOLD FRAKTUR CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D574;MATHEMATICAL BOLD FRAKTUR CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D575;MATHEMATICAL BOLD FRAKTUR CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D576;MATHEMATICAL BOLD FRAKTUR CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D577;MATHEMATICAL BOLD FRAKTUR CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D578;MATHEMATICAL BOLD FRAKTUR CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D579;MATHEMATICAL BOLD FRAKTUR CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D57A;MATHEMATICAL BOLD FRAKTUR CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D57B;MATHEMATICAL BOLD FRAKTUR CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D57C;MATHEMATICAL BOLD FRAKTUR CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D57D;MATHEMATICAL BOLD FRAKTUR CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D57E;MATHEMATICAL BOLD FRAKTUR CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D57F;MATHEMATICAL BOLD FRAKTUR CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D580;MATHEMATICAL BOLD FRAKTUR CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D581;MATHEMATICAL BOLD FRAKTUR CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D582;MATHEMATICAL BOLD FRAKTUR CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D583;MATHEMATICAL BOLD FRAKTUR CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D584;MATHEMATICAL BOLD FRAKTUR CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D585;MATHEMATICAL BOLD FRAKTUR CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D586;MATHEMATICAL BOLD FRAKTUR SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D587;MATHEMATICAL BOLD FRAKTUR SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D588;MATHEMATICAL BOLD FRAKTUR SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D589;MATHEMATICAL BOLD FRAKTUR SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D58A;MATHEMATICAL BOLD FRAKTUR SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D58B;MATHEMATICAL BOLD FRAKTUR SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D58C;MATHEMATICAL BOLD FRAKTUR SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D58D;MATHEMATICAL BOLD FRAKTUR SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D58E;MATHEMATICAL BOLD FRAKTUR SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D58F;MATHEMATICAL BOLD FRAKTUR SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D590;MATHEMATICAL BOLD FRAKTUR SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D591;MATHEMATICAL BOLD FRAKTUR SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D592;MATHEMATICAL BOLD FRAKTUR SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D593;MATHEMATICAL BOLD FRAKTUR SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D594;MATHEMATICAL BOLD FRAKTUR SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D595;MATHEMATICAL BOLD FRAKTUR SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D596;MATHEMATICAL BOLD FRAKTUR SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D597;MATHEMATICAL BOLD FRAKTUR SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D598;MATHEMATICAL BOLD FRAKTUR SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D599;MATHEMATICAL BOLD FRAKTUR SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D59A;MATHEMATICAL BOLD FRAKTUR SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D59B;MATHEMATICAL BOLD FRAKTUR SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D59C;MATHEMATICAL BOLD FRAKTUR SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D59D;MATHEMATICAL BOLD FRAKTUR SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D59E;MATHEMATICAL BOLD FRAKTUR SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D59F;MATHEMATICAL BOLD FRAKTUR SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D5A0;MATHEMATICAL SANS-SERIF CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D5A1;MATHEMATICAL SANS-SERIF CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D5A2;MATHEMATICAL SANS-SERIF CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D5A3;MATHEMATICAL SANS-SERIF CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D5A4;MATHEMATICAL SANS-SERIF CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D5A5;MATHEMATICAL SANS-SERIF CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D5A6;MATHEMATICAL SANS-SERIF CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D5A7;MATHEMATICAL SANS-SERIF CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D5A8;MATHEMATICAL SANS-SERIF CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D5A9;MATHEMATICAL SANS-SERIF CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D5AA;MATHEMATICAL SANS-SERIF CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D5AB;MATHEMATICAL SANS-SERIF CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D5AC;MATHEMATICAL SANS-SERIF CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D5AD;MATHEMATICAL SANS-SERIF CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D5AE;MATHEMATICAL SANS-SERIF CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D5AF;MATHEMATICAL SANS-SERIF CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D5B0;MATHEMATICAL SANS-SERIF CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D5B1;MATHEMATICAL SANS-SERIF CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D5B2;MATHEMATICAL SANS-SERIF CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D5B3;MATHEMATICAL SANS-SERIF CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D5B4;MATHEMATICAL SANS-SERIF CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D5B5;MATHEMATICAL SANS-SERIF CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D5B6;MATHEMATICAL SANS-SERIF CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D5B7;MATHEMATICAL SANS-SERIF CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D5B8;MATHEMATICAL SANS-SERIF CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D5B9;MATHEMATICAL SANS-SERIF CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D5BA;MATHEMATICAL SANS-SERIF SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D5BB;MATHEMATICAL SANS-SERIF SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D5BC;MATHEMATICAL SANS-SERIF SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D5BD;MATHEMATICAL SANS-SERIF SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D5BE;MATHEMATICAL SANS-SERIF SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D5BF;MATHEMATICAL SANS-SERIF SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D5C0;MATHEMATICAL SANS-SERIF SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D5C1;MATHEMATICAL SANS-SERIF SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D5C2;MATHEMATICAL SANS-SERIF SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D5C3;MATHEMATICAL SANS-SERIF SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D5C4;MATHEMATICAL SANS-SERIF SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D5C5;MATHEMATICAL SANS-SERIF SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D5C6;MATHEMATICAL SANS-SERIF SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D5C7;MATHEMATICAL SANS-SERIF SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D5C8;MATHEMATICAL SANS-SERIF SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D5C9;MATHEMATICAL SANS-SERIF SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D5CA;MATHEMATICAL SANS-SERIF SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D5CB;MATHEMATICAL SANS-SERIF SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D5CC;MATHEMATICAL SANS-SERIF SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D5CD;MATHEMATICAL SANS-SERIF SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D5CE;MATHEMATICAL SANS-SERIF SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D5CF;MATHEMATICAL SANS-SERIF SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D5D0;MATHEMATICAL SANS-SERIF SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D5D1;MATHEMATICAL SANS-SERIF SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D5D2;MATHEMATICAL SANS-SERIF SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D5D3;MATHEMATICAL SANS-SERIF SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D5D4;MATHEMATICAL SANS-SERIF BOLD CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D5D5;MATHEMATICAL SANS-SERIF BOLD CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D5D6;MATHEMATICAL SANS-SERIF BOLD CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D5D7;MATHEMATICAL SANS-SERIF BOLD CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D5D8;MATHEMATICAL SANS-SERIF BOLD CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D5D9;MATHEMATICAL SANS-SERIF BOLD CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D5DA;MATHEMATICAL SANS-SERIF BOLD CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D5DB;MATHEMATICAL SANS-SERIF BOLD CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D5DC;MATHEMATICAL SANS-SERIF BOLD CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D5DD;MATHEMATICAL SANS-SERIF BOLD CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D5DE;MATHEMATICAL SANS-SERIF BOLD CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D5DF;MATHEMATICAL SANS-SERIF BOLD CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D5E0;MATHEMATICAL SANS-SERIF BOLD CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D5E1;MATHEMATICAL SANS-SERIF BOLD CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D5E2;MATHEMATICAL SANS-SERIF BOLD CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D5E3;MATHEMATICAL SANS-SERIF BOLD CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D5E4;MATHEMATICAL SANS-SERIF BOLD CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D5E5;MATHEMATICAL SANS-SERIF BOLD CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D5E6;MATHEMATICAL SANS-SERIF BOLD CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D5E7;MATHEMATICAL SANS-SERIF BOLD CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D5E8;MATHEMATICAL SANS-SERIF BOLD CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D5E9;MATHEMATICAL SANS-SERIF BOLD CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D5EA;MATHEMATICAL SANS-SERIF BOLD CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D5EB;MATHEMATICAL SANS-SERIF BOLD CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D5EC;MATHEMATICAL SANS-SERIF BOLD CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D5ED;MATHEMATICAL SANS-SERIF BOLD CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D5EE;MATHEMATICAL SANS-SERIF BOLD SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D5EF;MATHEMATICAL SANS-SERIF BOLD SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D5F0;MATHEMATICAL SANS-SERIF BOLD SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D5F1;MATHEMATICAL SANS-SERIF BOLD SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D5F2;MATHEMATICAL SANS-SERIF BOLD SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D5F3;MATHEMATICAL SANS-SERIF BOLD SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D5F4;MATHEMATICAL SANS-SERIF BOLD SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D5F5;MATHEMATICAL SANS-SERIF BOLD SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D5F6;MATHEMATICAL SANS-SERIF BOLD SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D5F7;MATHEMATICAL SANS-SERIF BOLD SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D5F8;MATHEMATICAL SANS-SERIF BOLD SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D5F9;MATHEMATICAL SANS-SERIF BOLD SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D5FA;MATHEMATICAL SANS-SERIF BOLD SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D5FB;MATHEMATICAL SANS-SERIF BOLD SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D5FC;MATHEMATICAL SANS-SERIF BOLD SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D5FD;MATHEMATICAL SANS-SERIF BOLD SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D5FE;MATHEMATICAL SANS-SERIF BOLD SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D5FF;MATHEMATICAL SANS-SERIF BOLD SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D600;MATHEMATICAL SANS-SERIF BOLD SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D601;MATHEMATICAL SANS-SERIF BOLD SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D602;MATHEMATICAL SANS-SERIF BOLD SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D603;MATHEMATICAL SANS-SERIF BOLD SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D604;MATHEMATICAL SANS-SERIF BOLD SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D605;MATHEMATICAL SANS-SERIF BOLD SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D606;MATHEMATICAL SANS-SERIF BOLD SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D607;MATHEMATICAL SANS-SERIF BOLD SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D608;MATHEMATICAL SANS-SERIF ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D609;MATHEMATICAL SANS-SERIF ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D60A;MATHEMATICAL SANS-SERIF ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D60B;MATHEMATICAL SANS-SERIF ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D60C;MATHEMATICAL SANS-SERIF ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D60D;MATHEMATICAL SANS-SERIF ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D60E;MATHEMATICAL SANS-SERIF ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D60F;MATHEMATICAL SANS-SERIF ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D610;MATHEMATICAL SANS-SERIF ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D611;MATHEMATICAL SANS-SERIF ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D612;MATHEMATICAL SANS-SERIF ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D613;MATHEMATICAL SANS-SERIF ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D614;MATHEMATICAL SANS-SERIF ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D615;MATHEMATICAL SANS-SERIF ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D616;MATHEMATICAL SANS-SERIF ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D617;MATHEMATICAL SANS-SERIF ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D618;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D619;MATHEMATICAL SANS-SERIF ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D61A;MATHEMATICAL SANS-SERIF ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D61B;MATHEMATICAL SANS-SERIF ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D61C;MATHEMATICAL SANS-SERIF ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D61D;MATHEMATICAL SANS-SERIF ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D61E;MATHEMATICAL SANS-SERIF ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D61F;MATHEMATICAL SANS-SERIF ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D620;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D621;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D622;MATHEMATICAL SANS-SERIF ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D623;MATHEMATICAL SANS-SERIF ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D624;MATHEMATICAL SANS-SERIF ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D625;MATHEMATICAL SANS-SERIF ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D626;MATHEMATICAL SANS-SERIF ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D627;MATHEMATICAL SANS-SERIF ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D628;MATHEMATICAL SANS-SERIF ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D629;MATHEMATICAL SANS-SERIF ITALIC SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D62A;MATHEMATICAL SANS-SERIF ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D62B;MATHEMATICAL SANS-SERIF ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D62C;MATHEMATICAL SANS-SERIF ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D62D;MATHEMATICAL SANS-SERIF ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D62E;MATHEMATICAL SANS-SERIF ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D62F;MATHEMATICAL SANS-SERIF ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D630;MATHEMATICAL SANS-SERIF ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D631;MATHEMATICAL SANS-SERIF ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D632;MATHEMATICAL SANS-SERIF ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D633;MATHEMATICAL SANS-SERIF ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D634;MATHEMATICAL SANS-SERIF ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D635;MATHEMATICAL SANS-SERIF ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D636;MATHEMATICAL SANS-SERIF ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D637;MATHEMATICAL SANS-SERIF ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D638;MATHEMATICAL SANS-SERIF ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D639;MATHEMATICAL SANS-SERIF ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D63A;MATHEMATICAL SANS-SERIF ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D63B;MATHEMATICAL SANS-SERIF ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D63C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D63D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D63E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D63F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D640;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D641;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D642;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D643;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D644;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D645;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D646;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D647;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D648;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D649;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D64A;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D64B;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D64C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D64D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D64E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D64F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D650;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D651;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D652;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D653;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D654;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D655;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D656;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D657;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D658;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D659;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D65A;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D65B;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D65C;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D65D;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D65E;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D65F;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D660;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D661;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D662;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D663;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D664;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D665;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D666;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D667;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D668;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D669;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D66A;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D66B;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D66C;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D66D;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D66E;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D66F;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D670;MATHEMATICAL MONOSPACE CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D671;MATHEMATICAL MONOSPACE CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D672;MATHEMATICAL MONOSPACE CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D673;MATHEMATICAL MONOSPACE CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D674;MATHEMATICAL MONOSPACE CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D675;MATHEMATICAL MONOSPACE CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D676;MATHEMATICAL MONOSPACE CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D677;MATHEMATICAL MONOSPACE CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D678;MATHEMATICAL MONOSPACE CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D679;MATHEMATICAL MONOSPACE CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D67A;MATHEMATICAL MONOSPACE CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D67B;MATHEMATICAL MONOSPACE CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D67C;MATHEMATICAL MONOSPACE CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D67D;MATHEMATICAL MONOSPACE CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D67E;MATHEMATICAL MONOSPACE CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D67F;MATHEMATICAL MONOSPACE CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D680;MATHEMATICAL MONOSPACE CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D681;MATHEMATICAL MONOSPACE CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D682;MATHEMATICAL MONOSPACE CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D683;MATHEMATICAL MONOSPACE CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D684;MATHEMATICAL MONOSPACE CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D685;MATHEMATICAL MONOSPACE CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D686;MATHEMATICAL MONOSPACE CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D687;MATHEMATICAL MONOSPACE CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D688;MATHEMATICAL MONOSPACE CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D689;MATHEMATICAL MONOSPACE CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D68A;MATHEMATICAL MONOSPACE SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D68B;MATHEMATICAL MONOSPACE SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D68C;MATHEMATICAL MONOSPACE SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D68D;MATHEMATICAL MONOSPACE SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D68E;MATHEMATICAL MONOSPACE SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D68F;MATHEMATICAL MONOSPACE SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D690;MATHEMATICAL MONOSPACE SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D691;MATHEMATICAL MONOSPACE SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D692;MATHEMATICAL MONOSPACE SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D693;MATHEMATICAL MONOSPACE SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D694;MATHEMATICAL MONOSPACE SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D695;MATHEMATICAL MONOSPACE SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D696;MATHEMATICAL MONOSPACE SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D697;MATHEMATICAL MONOSPACE SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D698;MATHEMATICAL MONOSPACE SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D699;MATHEMATICAL MONOSPACE SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D69A;MATHEMATICAL MONOSPACE SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D69B;MATHEMATICAL MONOSPACE SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D69C;MATHEMATICAL MONOSPACE SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D69D;MATHEMATICAL MONOSPACE SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D69E;MATHEMATICAL MONOSPACE SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D69F;MATHEMATICAL MONOSPACE SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D6A0;MATHEMATICAL MONOSPACE SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D6A1;MATHEMATICAL MONOSPACE SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D6A2;MATHEMATICAL MONOSPACE SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D6A3;MATHEMATICAL MONOSPACE SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D6A4;MATHEMATICAL ITALIC SMALL DOTLESS I;Ll;0;L; 0131;;;;N;;;;; +1D6A5;MATHEMATICAL ITALIC SMALL DOTLESS J;Ll;0;L; 0237;;;;N;;;;; +1D6A8;MATHEMATICAL BOLD CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; +1D6A9;MATHEMATICAL BOLD CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; +1D6AA;MATHEMATICAL BOLD CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +1D6AB;MATHEMATICAL BOLD CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; +1D6AC;MATHEMATICAL BOLD CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; +1D6AD;MATHEMATICAL BOLD CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; +1D6AE;MATHEMATICAL BOLD CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; +1D6AF;MATHEMATICAL BOLD CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; +1D6B0;MATHEMATICAL BOLD CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; +1D6B1;MATHEMATICAL BOLD CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; +1D6B2;MATHEMATICAL BOLD CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; +1D6B3;MATHEMATICAL BOLD CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; +1D6B4;MATHEMATICAL BOLD CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; +1D6B5;MATHEMATICAL BOLD CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; +1D6B6;MATHEMATICAL BOLD CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; +1D6B7;MATHEMATICAL BOLD CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +1D6B8;MATHEMATICAL BOLD CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; +1D6B9;MATHEMATICAL BOLD CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; +1D6BA;MATHEMATICAL BOLD CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; +1D6BB;MATHEMATICAL BOLD CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; +1D6BC;MATHEMATICAL BOLD CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; +1D6BD;MATHEMATICAL BOLD CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; +1D6BE;MATHEMATICAL BOLD CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; +1D6BF;MATHEMATICAL BOLD CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; +1D6C0;MATHEMATICAL BOLD CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; +1D6C1;MATHEMATICAL BOLD NABLA;Sm;0;L; 2207;;;;N;;;;; +1D6C2;MATHEMATICAL BOLD SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; +1D6C3;MATHEMATICAL BOLD SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; +1D6C4;MATHEMATICAL BOLD SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +1D6C5;MATHEMATICAL BOLD SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; +1D6C6;MATHEMATICAL BOLD SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; +1D6C7;MATHEMATICAL BOLD SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; +1D6C8;MATHEMATICAL BOLD SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; +1D6C9;MATHEMATICAL BOLD SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; +1D6CA;MATHEMATICAL BOLD SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; +1D6CB;MATHEMATICAL BOLD SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; +1D6CC;MATHEMATICAL BOLD SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; +1D6CD;MATHEMATICAL BOLD SMALL MU;Ll;0;L; 03BC;;;;N;;;;; +1D6CE;MATHEMATICAL BOLD SMALL NU;Ll;0;L; 03BD;;;;N;;;;; +1D6CF;MATHEMATICAL BOLD SMALL XI;Ll;0;L; 03BE;;;;N;;;;; +1D6D0;MATHEMATICAL BOLD SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; +1D6D1;MATHEMATICAL BOLD SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +1D6D2;MATHEMATICAL BOLD SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; +1D6D3;MATHEMATICAL BOLD SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; +1D6D4;MATHEMATICAL BOLD SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; +1D6D5;MATHEMATICAL BOLD SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; +1D6D6;MATHEMATICAL BOLD SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; +1D6D7;MATHEMATICAL BOLD SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; +1D6D8;MATHEMATICAL BOLD SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; +1D6D9;MATHEMATICAL BOLD SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; +1D6DA;MATHEMATICAL BOLD SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; +1D6DB;MATHEMATICAL BOLD PARTIAL DIFFERENTIAL;Sm;0;L; 2202;;;;Y;;;;; +1D6DC;MATHEMATICAL BOLD EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; +1D6DD;MATHEMATICAL BOLD THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; +1D6DE;MATHEMATICAL BOLD KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; +1D6DF;MATHEMATICAL BOLD PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; +1D6E0;MATHEMATICAL BOLD RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; +1D6E1;MATHEMATICAL BOLD PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; +1D6E2;MATHEMATICAL ITALIC CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; +1D6E3;MATHEMATICAL ITALIC CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; +1D6E4;MATHEMATICAL ITALIC CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +1D6E5;MATHEMATICAL ITALIC CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; +1D6E6;MATHEMATICAL ITALIC CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; +1D6E7;MATHEMATICAL ITALIC CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; +1D6E8;MATHEMATICAL ITALIC CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; +1D6E9;MATHEMATICAL ITALIC CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; +1D6EA;MATHEMATICAL ITALIC CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; +1D6EB;MATHEMATICAL ITALIC CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; +1D6EC;MATHEMATICAL ITALIC CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; +1D6ED;MATHEMATICAL ITALIC CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; +1D6EE;MATHEMATICAL ITALIC CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; +1D6EF;MATHEMATICAL ITALIC CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; +1D6F0;MATHEMATICAL ITALIC CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; +1D6F1;MATHEMATICAL ITALIC CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +1D6F2;MATHEMATICAL ITALIC CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; +1D6F3;MATHEMATICAL ITALIC CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; +1D6F4;MATHEMATICAL ITALIC CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; +1D6F5;MATHEMATICAL ITALIC CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; +1D6F6;MATHEMATICAL ITALIC CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; +1D6F7;MATHEMATICAL ITALIC CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; +1D6F8;MATHEMATICAL ITALIC CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; +1D6F9;MATHEMATICAL ITALIC CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; +1D6FA;MATHEMATICAL ITALIC CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; +1D6FB;MATHEMATICAL ITALIC NABLA;Sm;0;L; 2207;;;;N;;;;; +1D6FC;MATHEMATICAL ITALIC SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; +1D6FD;MATHEMATICAL ITALIC SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; +1D6FE;MATHEMATICAL ITALIC SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +1D6FF;MATHEMATICAL ITALIC SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; +1D700;MATHEMATICAL ITALIC SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; +1D701;MATHEMATICAL ITALIC SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; +1D702;MATHEMATICAL ITALIC SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; +1D703;MATHEMATICAL ITALIC SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; +1D704;MATHEMATICAL ITALIC SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; +1D705;MATHEMATICAL ITALIC SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; +1D706;MATHEMATICAL ITALIC SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; +1D707;MATHEMATICAL ITALIC SMALL MU;Ll;0;L; 03BC;;;;N;;;;; +1D708;MATHEMATICAL ITALIC SMALL NU;Ll;0;L; 03BD;;;;N;;;;; +1D709;MATHEMATICAL ITALIC SMALL XI;Ll;0;L; 03BE;;;;N;;;;; +1D70A;MATHEMATICAL ITALIC SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; +1D70B;MATHEMATICAL ITALIC SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +1D70C;MATHEMATICAL ITALIC SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; +1D70D;MATHEMATICAL ITALIC SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; +1D70E;MATHEMATICAL ITALIC SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; +1D70F;MATHEMATICAL ITALIC SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; +1D710;MATHEMATICAL ITALIC SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; +1D711;MATHEMATICAL ITALIC SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; +1D712;MATHEMATICAL ITALIC SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; +1D713;MATHEMATICAL ITALIC SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; +1D714;MATHEMATICAL ITALIC SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; +1D715;MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL;Sm;0;L; 2202;;;;Y;;;;; +1D716;MATHEMATICAL ITALIC EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; +1D717;MATHEMATICAL ITALIC THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; +1D718;MATHEMATICAL ITALIC KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; +1D719;MATHEMATICAL ITALIC PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; +1D71A;MATHEMATICAL ITALIC RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; +1D71B;MATHEMATICAL ITALIC PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; +1D71C;MATHEMATICAL BOLD ITALIC CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; +1D71D;MATHEMATICAL BOLD ITALIC CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; +1D71E;MATHEMATICAL BOLD ITALIC CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +1D71F;MATHEMATICAL BOLD ITALIC CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; +1D720;MATHEMATICAL BOLD ITALIC CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; +1D721;MATHEMATICAL BOLD ITALIC CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; +1D722;MATHEMATICAL BOLD ITALIC CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; +1D723;MATHEMATICAL BOLD ITALIC CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; +1D724;MATHEMATICAL BOLD ITALIC CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; +1D725;MATHEMATICAL BOLD ITALIC CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; +1D726;MATHEMATICAL BOLD ITALIC CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; +1D727;MATHEMATICAL BOLD ITALIC CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; +1D728;MATHEMATICAL BOLD ITALIC CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; +1D729;MATHEMATICAL BOLD ITALIC CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; +1D72A;MATHEMATICAL BOLD ITALIC CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; +1D72B;MATHEMATICAL BOLD ITALIC CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +1D72C;MATHEMATICAL BOLD ITALIC CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; +1D72D;MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; +1D72E;MATHEMATICAL BOLD ITALIC CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; +1D72F;MATHEMATICAL BOLD ITALIC CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; +1D730;MATHEMATICAL BOLD ITALIC CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; +1D731;MATHEMATICAL BOLD ITALIC CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; +1D732;MATHEMATICAL BOLD ITALIC CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; +1D733;MATHEMATICAL BOLD ITALIC CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; +1D734;MATHEMATICAL BOLD ITALIC CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; +1D735;MATHEMATICAL BOLD ITALIC NABLA;Sm;0;L; 2207;;;;N;;;;; +1D736;MATHEMATICAL BOLD ITALIC SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; +1D737;MATHEMATICAL BOLD ITALIC SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; +1D738;MATHEMATICAL BOLD ITALIC SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +1D739;MATHEMATICAL BOLD ITALIC SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; +1D73A;MATHEMATICAL BOLD ITALIC SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; +1D73B;MATHEMATICAL BOLD ITALIC SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; +1D73C;MATHEMATICAL BOLD ITALIC SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; +1D73D;MATHEMATICAL BOLD ITALIC SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; +1D73E;MATHEMATICAL BOLD ITALIC SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; +1D73F;MATHEMATICAL BOLD ITALIC SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; +1D740;MATHEMATICAL BOLD ITALIC SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; +1D741;MATHEMATICAL BOLD ITALIC SMALL MU;Ll;0;L; 03BC;;;;N;;;;; +1D742;MATHEMATICAL BOLD ITALIC SMALL NU;Ll;0;L; 03BD;;;;N;;;;; +1D743;MATHEMATICAL BOLD ITALIC SMALL XI;Ll;0;L; 03BE;;;;N;;;;; +1D744;MATHEMATICAL BOLD ITALIC SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; +1D745;MATHEMATICAL BOLD ITALIC SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +1D746;MATHEMATICAL BOLD ITALIC SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; +1D747;MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; +1D748;MATHEMATICAL BOLD ITALIC SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; +1D749;MATHEMATICAL BOLD ITALIC SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; +1D74A;MATHEMATICAL BOLD ITALIC SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; +1D74B;MATHEMATICAL BOLD ITALIC SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; +1D74C;MATHEMATICAL BOLD ITALIC SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; +1D74D;MATHEMATICAL BOLD ITALIC SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; +1D74E;MATHEMATICAL BOLD ITALIC SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; +1D74F;MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;L; 2202;;;;Y;;;;; +1D750;MATHEMATICAL BOLD ITALIC EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; +1D751;MATHEMATICAL BOLD ITALIC THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; +1D752;MATHEMATICAL BOLD ITALIC KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; +1D753;MATHEMATICAL BOLD ITALIC PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; +1D754;MATHEMATICAL BOLD ITALIC RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; +1D755;MATHEMATICAL BOLD ITALIC PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; +1D756;MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; +1D757;MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; +1D758;MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +1D759;MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; +1D75A;MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; +1D75B;MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; +1D75C;MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; +1D75D;MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; +1D75E;MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; +1D75F;MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; +1D760;MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; +1D761;MATHEMATICAL SANS-SERIF BOLD CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; +1D762;MATHEMATICAL SANS-SERIF BOLD CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; +1D763;MATHEMATICAL SANS-SERIF BOLD CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; +1D764;MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; +1D765;MATHEMATICAL SANS-SERIF BOLD CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +1D766;MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; +1D767;MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; +1D768;MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; +1D769;MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; +1D76A;MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; +1D76B;MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; +1D76C;MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; +1D76D;MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; +1D76E;MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; +1D76F;MATHEMATICAL SANS-SERIF BOLD NABLA;Sm;0;L; 2207;;;;N;;;;; +1D770;MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; +1D771;MATHEMATICAL SANS-SERIF BOLD SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; +1D772;MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +1D773;MATHEMATICAL SANS-SERIF BOLD SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; +1D774;MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; +1D775;MATHEMATICAL SANS-SERIF BOLD SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; +1D776;MATHEMATICAL SANS-SERIF BOLD SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; +1D777;MATHEMATICAL SANS-SERIF BOLD SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; +1D778;MATHEMATICAL SANS-SERIF BOLD SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; +1D779;MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; +1D77A;MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; +1D77B;MATHEMATICAL SANS-SERIF BOLD SMALL MU;Ll;0;L; 03BC;;;;N;;;;; +1D77C;MATHEMATICAL SANS-SERIF BOLD SMALL NU;Ll;0;L; 03BD;;;;N;;;;; +1D77D;MATHEMATICAL SANS-SERIF BOLD SMALL XI;Ll;0;L; 03BE;;;;N;;;;; +1D77E;MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; +1D77F;MATHEMATICAL SANS-SERIF BOLD SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +1D780;MATHEMATICAL SANS-SERIF BOLD SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; +1D781;MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; +1D782;MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; +1D783;MATHEMATICAL SANS-SERIF BOLD SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; +1D784;MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; +1D785;MATHEMATICAL SANS-SERIF BOLD SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; +1D786;MATHEMATICAL SANS-SERIF BOLD SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; +1D787;MATHEMATICAL SANS-SERIF BOLD SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; +1D788;MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; +1D789;MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL;Sm;0;L; 2202;;;;Y;;;;; +1D78A;MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; +1D78B;MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; +1D78C;MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; +1D78D;MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; +1D78E;MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; +1D78F;MATHEMATICAL SANS-SERIF BOLD PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; +1D790;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; +1D791;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; +1D792;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +1D793;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; +1D794;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; +1D795;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; +1D796;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; +1D797;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; +1D798;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; +1D799;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; +1D79A;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; +1D79B;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; +1D79C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; +1D79D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; +1D79E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; +1D79F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +1D7A0;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; +1D7A1;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; +1D7A2;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; +1D7A3;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; +1D7A4;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; +1D7A5;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; +1D7A6;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; +1D7A7;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; +1D7A8;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; +1D7A9;MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA;Sm;0;L; 2207;;;;N;;;;; +1D7AA;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; +1D7AB;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; +1D7AC;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +1D7AD;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; +1D7AE;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; +1D7AF;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; +1D7B0;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; +1D7B1;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; +1D7B2;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; +1D7B3;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; +1D7B4;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; +1D7B5;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU;Ll;0;L; 03BC;;;;N;;;;; +1D7B6;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU;Ll;0;L; 03BD;;;;N;;;;; +1D7B7;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI;Ll;0;L; 03BE;;;;N;;;;; +1D7B8;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; +1D7B9;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +1D7BA;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; +1D7BB;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; +1D7BC;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; +1D7BD;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; +1D7BE;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; +1D7BF;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; +1D7C0;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; +1D7C1;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; +1D7C2;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; +1D7C3;MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;L; 2202;;;;Y;;;;; +1D7C4;MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; +1D7C5;MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; +1D7C6;MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; +1D7C7;MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; +1D7C8;MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; +1D7C9;MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; +1D7CA;MATHEMATICAL BOLD CAPITAL DIGAMMA;Lu;0;L; 03DC;;;;N;;;;; +1D7CB;MATHEMATICAL BOLD SMALL DIGAMMA;Ll;0;L; 03DD;;;;N;;;;; +1D7CE;MATHEMATICAL BOLD DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +1D7CF;MATHEMATICAL BOLD DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +1D7D0;MATHEMATICAL BOLD DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +1D7D1;MATHEMATICAL BOLD DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +1D7D2;MATHEMATICAL BOLD DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +1D7D3;MATHEMATICAL BOLD DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +1D7D4;MATHEMATICAL BOLD DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +1D7D5;MATHEMATICAL BOLD DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +1D7D6;MATHEMATICAL BOLD DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +1D7D7;MATHEMATICAL BOLD DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +1D7D8;MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +1D7D9;MATHEMATICAL DOUBLE-STRUCK DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +1D7DA;MATHEMATICAL DOUBLE-STRUCK DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +1D7DB;MATHEMATICAL DOUBLE-STRUCK DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +1D7DC;MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +1D7DD;MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +1D7DE;MATHEMATICAL DOUBLE-STRUCK DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +1D7DF;MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +1D7E0;MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +1D7E1;MATHEMATICAL DOUBLE-STRUCK DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +1D7E2;MATHEMATICAL SANS-SERIF DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +1D7E3;MATHEMATICAL SANS-SERIF DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +1D7E4;MATHEMATICAL SANS-SERIF DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +1D7E5;MATHEMATICAL SANS-SERIF DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +1D7E6;MATHEMATICAL SANS-SERIF DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +1D7E7;MATHEMATICAL SANS-SERIF DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +1D7E8;MATHEMATICAL SANS-SERIF DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +1D7E9;MATHEMATICAL SANS-SERIF DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +1D7EA;MATHEMATICAL SANS-SERIF DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +1D7EB;MATHEMATICAL SANS-SERIF DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +1D7EC;MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +1D7ED;MATHEMATICAL SANS-SERIF BOLD DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +1D7EE;MATHEMATICAL SANS-SERIF BOLD DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +1D7EF;MATHEMATICAL SANS-SERIF BOLD DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +1D7F0;MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +1D7F1;MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +1D7F2;MATHEMATICAL SANS-SERIF BOLD DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +1D7F3;MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +1D7F4;MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +1D7F5;MATHEMATICAL SANS-SERIF BOLD DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +1D7F6;MATHEMATICAL MONOSPACE DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +1D7F7;MATHEMATICAL MONOSPACE DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +1D7F8;MATHEMATICAL MONOSPACE DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +1D7F9;MATHEMATICAL MONOSPACE DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +1D7FA;MATHEMATICAL MONOSPACE DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +1D7FB;MATHEMATICAL MONOSPACE DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +1D7FC;MATHEMATICAL MONOSPACE DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +1D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +1D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +1D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +1F000;MAHJONG TILE EAST WIND;So;0;ON;;;;;N;;;;; +1F001;MAHJONG TILE SOUTH WIND;So;0;ON;;;;;N;;;;; +1F002;MAHJONG TILE WEST WIND;So;0;ON;;;;;N;;;;; +1F003;MAHJONG TILE NORTH WIND;So;0;ON;;;;;N;;;;; +1F004;MAHJONG TILE RED DRAGON;So;0;ON;;;;;N;;;;; +1F005;MAHJONG TILE GREEN DRAGON;So;0;ON;;;;;N;;;;; +1F006;MAHJONG TILE WHITE DRAGON;So;0;ON;;;;;N;;;;; +1F007;MAHJONG TILE ONE OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F008;MAHJONG TILE TWO OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F009;MAHJONG TILE THREE OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00A;MAHJONG TILE FOUR OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00B;MAHJONG TILE FIVE OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00C;MAHJONG TILE SIX OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00D;MAHJONG TILE SEVEN OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00E;MAHJONG TILE EIGHT OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00F;MAHJONG TILE NINE OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F010;MAHJONG TILE ONE OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F011;MAHJONG TILE TWO OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F012;MAHJONG TILE THREE OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F013;MAHJONG TILE FOUR OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F014;MAHJONG TILE FIVE OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F015;MAHJONG TILE SIX OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F016;MAHJONG TILE SEVEN OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F017;MAHJONG TILE EIGHT OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F018;MAHJONG TILE NINE OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F019;MAHJONG TILE ONE OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01A;MAHJONG TILE TWO OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01B;MAHJONG TILE THREE OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01C;MAHJONG TILE FOUR OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01D;MAHJONG TILE FIVE OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01E;MAHJONG TILE SIX OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01F;MAHJONG TILE SEVEN OF CIRCLES;So;0;ON;;;;;N;;;;; +1F020;MAHJONG TILE EIGHT OF CIRCLES;So;0;ON;;;;;N;;;;; +1F021;MAHJONG TILE NINE OF CIRCLES;So;0;ON;;;;;N;;;;; +1F022;MAHJONG TILE PLUM;So;0;ON;;;;;N;;;;; +1F023;MAHJONG TILE ORCHID;So;0;ON;;;;;N;;;;; +1F024;MAHJONG TILE BAMBOO;So;0;ON;;;;;N;;;;; +1F025;MAHJONG TILE CHRYSANTHEMUM;So;0;ON;;;;;N;;;;; +1F026;MAHJONG TILE SPRING;So;0;ON;;;;;N;;;;; +1F027;MAHJONG TILE SUMMER;So;0;ON;;;;;N;;;;; +1F028;MAHJONG TILE AUTUMN;So;0;ON;;;;;N;;;;; +1F029;MAHJONG TILE WINTER;So;0;ON;;;;;N;;;;; +1F02A;MAHJONG TILE JOKER;So;0;ON;;;;;N;;;;; +1F02B;MAHJONG TILE BACK;So;0;ON;;;;;N;;;;; +1F030;DOMINO TILE HORIZONTAL BACK;So;0;ON;;;;;N;;;;; +1F031;DOMINO TILE HORIZONTAL-00-00;So;0;ON;;;;;N;;;;; +1F032;DOMINO TILE HORIZONTAL-00-01;So;0;ON;;;;;N;;;;; +1F033;DOMINO TILE HORIZONTAL-00-02;So;0;ON;;;;;N;;;;; +1F034;DOMINO TILE HORIZONTAL-00-03;So;0;ON;;;;;N;;;;; +1F035;DOMINO TILE HORIZONTAL-00-04;So;0;ON;;;;;N;;;;; +1F036;DOMINO TILE HORIZONTAL-00-05;So;0;ON;;;;;N;;;;; +1F037;DOMINO TILE HORIZONTAL-00-06;So;0;ON;;;;;N;;;;; +1F038;DOMINO TILE HORIZONTAL-01-00;So;0;ON;;;;;N;;;;; +1F039;DOMINO TILE HORIZONTAL-01-01;So;0;ON;;;;;N;;;;; +1F03A;DOMINO TILE HORIZONTAL-01-02;So;0;ON;;;;;N;;;;; +1F03B;DOMINO TILE HORIZONTAL-01-03;So;0;ON;;;;;N;;;;; +1F03C;DOMINO TILE HORIZONTAL-01-04;So;0;ON;;;;;N;;;;; +1F03D;DOMINO TILE HORIZONTAL-01-05;So;0;ON;;;;;N;;;;; +1F03E;DOMINO TILE HORIZONTAL-01-06;So;0;ON;;;;;N;;;;; +1F03F;DOMINO TILE HORIZONTAL-02-00;So;0;ON;;;;;N;;;;; +1F040;DOMINO TILE HORIZONTAL-02-01;So;0;ON;;;;;N;;;;; +1F041;DOMINO TILE HORIZONTAL-02-02;So;0;ON;;;;;N;;;;; +1F042;DOMINO TILE HORIZONTAL-02-03;So;0;ON;;;;;N;;;;; +1F043;DOMINO TILE HORIZONTAL-02-04;So;0;ON;;;;;N;;;;; +1F044;DOMINO TILE HORIZONTAL-02-05;So;0;ON;;;;;N;;;;; +1F045;DOMINO TILE HORIZONTAL-02-06;So;0;ON;;;;;N;;;;; +1F046;DOMINO TILE HORIZONTAL-03-00;So;0;ON;;;;;N;;;;; +1F047;DOMINO TILE HORIZONTAL-03-01;So;0;ON;;;;;N;;;;; +1F048;DOMINO TILE HORIZONTAL-03-02;So;0;ON;;;;;N;;;;; +1F049;DOMINO TILE HORIZONTAL-03-03;So;0;ON;;;;;N;;;;; +1F04A;DOMINO TILE HORIZONTAL-03-04;So;0;ON;;;;;N;;;;; +1F04B;DOMINO TILE HORIZONTAL-03-05;So;0;ON;;;;;N;;;;; +1F04C;DOMINO TILE HORIZONTAL-03-06;So;0;ON;;;;;N;;;;; +1F04D;DOMINO TILE HORIZONTAL-04-00;So;0;ON;;;;;N;;;;; +1F04E;DOMINO TILE HORIZONTAL-04-01;So;0;ON;;;;;N;;;;; +1F04F;DOMINO TILE HORIZONTAL-04-02;So;0;ON;;;;;N;;;;; +1F050;DOMINO TILE HORIZONTAL-04-03;So;0;ON;;;;;N;;;;; +1F051;DOMINO TILE HORIZONTAL-04-04;So;0;ON;;;;;N;;;;; +1F052;DOMINO TILE HORIZONTAL-04-05;So;0;ON;;;;;N;;;;; +1F053;DOMINO TILE HORIZONTAL-04-06;So;0;ON;;;;;N;;;;; +1F054;DOMINO TILE HORIZONTAL-05-00;So;0;ON;;;;;N;;;;; +1F055;DOMINO TILE HORIZONTAL-05-01;So;0;ON;;;;;N;;;;; +1F056;DOMINO TILE HORIZONTAL-05-02;So;0;ON;;;;;N;;;;; +1F057;DOMINO TILE HORIZONTAL-05-03;So;0;ON;;;;;N;;;;; +1F058;DOMINO TILE HORIZONTAL-05-04;So;0;ON;;;;;N;;;;; +1F059;DOMINO TILE HORIZONTAL-05-05;So;0;ON;;;;;N;;;;; +1F05A;DOMINO TILE HORIZONTAL-05-06;So;0;ON;;;;;N;;;;; +1F05B;DOMINO TILE HORIZONTAL-06-00;So;0;ON;;;;;N;;;;; +1F05C;DOMINO TILE HORIZONTAL-06-01;So;0;ON;;;;;N;;;;; +1F05D;DOMINO TILE HORIZONTAL-06-02;So;0;ON;;;;;N;;;;; +1F05E;DOMINO TILE HORIZONTAL-06-03;So;0;ON;;;;;N;;;;; +1F05F;DOMINO TILE HORIZONTAL-06-04;So;0;ON;;;;;N;;;;; +1F060;DOMINO TILE HORIZONTAL-06-05;So;0;ON;;;;;N;;;;; +1F061;DOMINO TILE HORIZONTAL-06-06;So;0;ON;;;;;N;;;;; +1F062;DOMINO TILE VERTICAL BACK;So;0;ON;;;;;N;;;;; +1F063;DOMINO TILE VERTICAL-00-00;So;0;ON;;;;;N;;;;; +1F064;DOMINO TILE VERTICAL-00-01;So;0;ON;;;;;N;;;;; +1F065;DOMINO TILE VERTICAL-00-02;So;0;ON;;;;;N;;;;; +1F066;DOMINO TILE VERTICAL-00-03;So;0;ON;;;;;N;;;;; +1F067;DOMINO TILE VERTICAL-00-04;So;0;ON;;;;;N;;;;; +1F068;DOMINO TILE VERTICAL-00-05;So;0;ON;;;;;N;;;;; +1F069;DOMINO TILE VERTICAL-00-06;So;0;ON;;;;;N;;;;; +1F06A;DOMINO TILE VERTICAL-01-00;So;0;ON;;;;;N;;;;; +1F06B;DOMINO TILE VERTICAL-01-01;So;0;ON;;;;;N;;;;; +1F06C;DOMINO TILE VERTICAL-01-02;So;0;ON;;;;;N;;;;; +1F06D;DOMINO TILE VERTICAL-01-03;So;0;ON;;;;;N;;;;; +1F06E;DOMINO TILE VERTICAL-01-04;So;0;ON;;;;;N;;;;; +1F06F;DOMINO TILE VERTICAL-01-05;So;0;ON;;;;;N;;;;; +1F070;DOMINO TILE VERTICAL-01-06;So;0;ON;;;;;N;;;;; +1F071;DOMINO TILE VERTICAL-02-00;So;0;ON;;;;;N;;;;; +1F072;DOMINO TILE VERTICAL-02-01;So;0;ON;;;;;N;;;;; +1F073;DOMINO TILE VERTICAL-02-02;So;0;ON;;;;;N;;;;; +1F074;DOMINO TILE VERTICAL-02-03;So;0;ON;;;;;N;;;;; +1F075;DOMINO TILE VERTICAL-02-04;So;0;ON;;;;;N;;;;; +1F076;DOMINO TILE VERTICAL-02-05;So;0;ON;;;;;N;;;;; +1F077;DOMINO TILE VERTICAL-02-06;So;0;ON;;;;;N;;;;; +1F078;DOMINO TILE VERTICAL-03-00;So;0;ON;;;;;N;;;;; +1F079;DOMINO TILE VERTICAL-03-01;So;0;ON;;;;;N;;;;; +1F07A;DOMINO TILE VERTICAL-03-02;So;0;ON;;;;;N;;;;; +1F07B;DOMINO TILE VERTICAL-03-03;So;0;ON;;;;;N;;;;; +1F07C;DOMINO TILE VERTICAL-03-04;So;0;ON;;;;;N;;;;; +1F07D;DOMINO TILE VERTICAL-03-05;So;0;ON;;;;;N;;;;; +1F07E;DOMINO TILE VERTICAL-03-06;So;0;ON;;;;;N;;;;; +1F07F;DOMINO TILE VERTICAL-04-00;So;0;ON;;;;;N;;;;; +1F080;DOMINO TILE VERTICAL-04-01;So;0;ON;;;;;N;;;;; +1F081;DOMINO TILE VERTICAL-04-02;So;0;ON;;;;;N;;;;; +1F082;DOMINO TILE VERTICAL-04-03;So;0;ON;;;;;N;;;;; +1F083;DOMINO TILE VERTICAL-04-04;So;0;ON;;;;;N;;;;; +1F084;DOMINO TILE VERTICAL-04-05;So;0;ON;;;;;N;;;;; +1F085;DOMINO TILE VERTICAL-04-06;So;0;ON;;;;;N;;;;; +1F086;DOMINO TILE VERTICAL-05-00;So;0;ON;;;;;N;;;;; +1F087;DOMINO TILE VERTICAL-05-01;So;0;ON;;;;;N;;;;; +1F088;DOMINO TILE VERTICAL-05-02;So;0;ON;;;;;N;;;;; +1F089;DOMINO TILE VERTICAL-05-03;So;0;ON;;;;;N;;;;; +1F08A;DOMINO TILE VERTICAL-05-04;So;0;ON;;;;;N;;;;; +1F08B;DOMINO TILE VERTICAL-05-05;So;0;ON;;;;;N;;;;; +1F08C;DOMINO TILE VERTICAL-05-06;So;0;ON;;;;;N;;;;; +1F08D;DOMINO TILE VERTICAL-06-00;So;0;ON;;;;;N;;;;; +1F08E;DOMINO TILE VERTICAL-06-01;So;0;ON;;;;;N;;;;; +1F08F;DOMINO TILE VERTICAL-06-02;So;0;ON;;;;;N;;;;; +1F090;DOMINO TILE VERTICAL-06-03;So;0;ON;;;;;N;;;;; +1F091;DOMINO TILE VERTICAL-06-04;So;0;ON;;;;;N;;;;; +1F092;DOMINO TILE VERTICAL-06-05;So;0;ON;;;;;N;;;;; +1F093;DOMINO TILE VERTICAL-06-06;So;0;ON;;;;;N;;;;; +2F800;CJK COMPATIBILITY IDEOGRAPH-2F800;Lo;0;L;4E3D;;;;N;;;;; +2F801;CJK COMPATIBILITY IDEOGRAPH-2F801;Lo;0;L;4E38;;;;N;;;;; +2F802;CJK COMPATIBILITY IDEOGRAPH-2F802;Lo;0;L;4E41;;;;N;;;;; +2F803;CJK COMPATIBILITY IDEOGRAPH-2F803;Lo;0;L;20122;;;;N;;;;; +2F804;CJK COMPATIBILITY IDEOGRAPH-2F804;Lo;0;L;4F60;;;;N;;;;; +2F805;CJK COMPATIBILITY IDEOGRAPH-2F805;Lo;0;L;4FAE;;;;N;;;;; +2F806;CJK COMPATIBILITY IDEOGRAPH-2F806;Lo;0;L;4FBB;;;;N;;;;; +2F807;CJK COMPATIBILITY IDEOGRAPH-2F807;Lo;0;L;5002;;;;N;;;;; +2F808;CJK COMPATIBILITY IDEOGRAPH-2F808;Lo;0;L;507A;;;;N;;;;; +2F809;CJK COMPATIBILITY IDEOGRAPH-2F809;Lo;0;L;5099;;;;N;;;;; +2F80A;CJK COMPATIBILITY IDEOGRAPH-2F80A;Lo;0;L;50E7;;;;N;;;;; +2F80B;CJK COMPATIBILITY IDEOGRAPH-2F80B;Lo;0;L;50CF;;;;N;;;;; +2F80C;CJK COMPATIBILITY IDEOGRAPH-2F80C;Lo;0;L;349E;;;;N;;;;; +2F80D;CJK COMPATIBILITY IDEOGRAPH-2F80D;Lo;0;L;2063A;;;;N;;;;; +2F80E;CJK COMPATIBILITY IDEOGRAPH-2F80E;Lo;0;L;514D;;;;N;;;;; +2F80F;CJK COMPATIBILITY IDEOGRAPH-2F80F;Lo;0;L;5154;;;;N;;;;; +2F810;CJK COMPATIBILITY IDEOGRAPH-2F810;Lo;0;L;5164;;;;N;;;;; +2F811;CJK COMPATIBILITY IDEOGRAPH-2F811;Lo;0;L;5177;;;;N;;;;; +2F812;CJK COMPATIBILITY IDEOGRAPH-2F812;Lo;0;L;2051C;;;;N;;;;; +2F813;CJK COMPATIBILITY IDEOGRAPH-2F813;Lo;0;L;34B9;;;;N;;;;; +2F814;CJK COMPATIBILITY IDEOGRAPH-2F814;Lo;0;L;5167;;;;N;;;;; +2F815;CJK COMPATIBILITY IDEOGRAPH-2F815;Lo;0;L;518D;;;;N;;;;; +2F816;CJK COMPATIBILITY IDEOGRAPH-2F816;Lo;0;L;2054B;;;;N;;;;; +2F817;CJK COMPATIBILITY IDEOGRAPH-2F817;Lo;0;L;5197;;;;N;;;;; +2F818;CJK COMPATIBILITY IDEOGRAPH-2F818;Lo;0;L;51A4;;;;N;;;;; +2F819;CJK COMPATIBILITY IDEOGRAPH-2F819;Lo;0;L;4ECC;;;;N;;;;; +2F81A;CJK COMPATIBILITY IDEOGRAPH-2F81A;Lo;0;L;51AC;;;;N;;;;; +2F81B;CJK COMPATIBILITY IDEOGRAPH-2F81B;Lo;0;L;51B5;;;;N;;;;; +2F81C;CJK COMPATIBILITY IDEOGRAPH-2F81C;Lo;0;L;291DF;;;;N;;;;; +2F81D;CJK COMPATIBILITY IDEOGRAPH-2F81D;Lo;0;L;51F5;;;;N;;;;; +2F81E;CJK COMPATIBILITY IDEOGRAPH-2F81E;Lo;0;L;5203;;;;N;;;;; +2F81F;CJK COMPATIBILITY IDEOGRAPH-2F81F;Lo;0;L;34DF;;;;N;;;;; +2F820;CJK COMPATIBILITY IDEOGRAPH-2F820;Lo;0;L;523B;;;;N;;;;; +2F821;CJK COMPATIBILITY IDEOGRAPH-2F821;Lo;0;L;5246;;;;N;;;;; +2F822;CJK COMPATIBILITY IDEOGRAPH-2F822;Lo;0;L;5272;;;;N;;;;; +2F823;CJK COMPATIBILITY IDEOGRAPH-2F823;Lo;0;L;5277;;;;N;;;;; +2F824;CJK COMPATIBILITY IDEOGRAPH-2F824;Lo;0;L;3515;;;;N;;;;; +2F825;CJK COMPATIBILITY IDEOGRAPH-2F825;Lo;0;L;52C7;;;;N;;;;; +2F826;CJK COMPATIBILITY IDEOGRAPH-2F826;Lo;0;L;52C9;;;;N;;;;; +2F827;CJK COMPATIBILITY IDEOGRAPH-2F827;Lo;0;L;52E4;;;;N;;;;; +2F828;CJK COMPATIBILITY IDEOGRAPH-2F828;Lo;0;L;52FA;;;;N;;;;; +2F829;CJK COMPATIBILITY IDEOGRAPH-2F829;Lo;0;L;5305;;;;N;;;;; +2F82A;CJK COMPATIBILITY IDEOGRAPH-2F82A;Lo;0;L;5306;;;;N;;;;; +2F82B;CJK COMPATIBILITY IDEOGRAPH-2F82B;Lo;0;L;5317;;;;N;;;;; +2F82C;CJK COMPATIBILITY IDEOGRAPH-2F82C;Lo;0;L;5349;;;;N;;;;; +2F82D;CJK COMPATIBILITY IDEOGRAPH-2F82D;Lo;0;L;5351;;;;N;;;;; +2F82E;CJK COMPATIBILITY IDEOGRAPH-2F82E;Lo;0;L;535A;;;;N;;;;; +2F82F;CJK COMPATIBILITY IDEOGRAPH-2F82F;Lo;0;L;5373;;;;N;;;;; +2F830;CJK COMPATIBILITY IDEOGRAPH-2F830;Lo;0;L;537D;;;;N;;;;; +2F831;CJK COMPATIBILITY IDEOGRAPH-2F831;Lo;0;L;537F;;;;N;;;;; +2F832;CJK COMPATIBILITY IDEOGRAPH-2F832;Lo;0;L;537F;;;;N;;;;; +2F833;CJK COMPATIBILITY IDEOGRAPH-2F833;Lo;0;L;537F;;;;N;;;;; +2F834;CJK COMPATIBILITY IDEOGRAPH-2F834;Lo;0;L;20A2C;;;;N;;;;; +2F835;CJK COMPATIBILITY IDEOGRAPH-2F835;Lo;0;L;7070;;;;N;;;;; +2F836;CJK COMPATIBILITY IDEOGRAPH-2F836;Lo;0;L;53CA;;;;N;;;;; +2F837;CJK COMPATIBILITY IDEOGRAPH-2F837;Lo;0;L;53DF;;;;N;;;;; +2F838;CJK COMPATIBILITY IDEOGRAPH-2F838;Lo;0;L;20B63;;;;N;;;;; +2F839;CJK COMPATIBILITY IDEOGRAPH-2F839;Lo;0;L;53EB;;;;N;;;;; +2F83A;CJK COMPATIBILITY IDEOGRAPH-2F83A;Lo;0;L;53F1;;;;N;;;;; +2F83B;CJK COMPATIBILITY IDEOGRAPH-2F83B;Lo;0;L;5406;;;;N;;;;; +2F83C;CJK COMPATIBILITY IDEOGRAPH-2F83C;Lo;0;L;549E;;;;N;;;;; +2F83D;CJK COMPATIBILITY IDEOGRAPH-2F83D;Lo;0;L;5438;;;;N;;;;; +2F83E;CJK COMPATIBILITY IDEOGRAPH-2F83E;Lo;0;L;5448;;;;N;;;;; +2F83F;CJK COMPATIBILITY IDEOGRAPH-2F83F;Lo;0;L;5468;;;;N;;;;; +2F840;CJK COMPATIBILITY IDEOGRAPH-2F840;Lo;0;L;54A2;;;;N;;;;; +2F841;CJK COMPATIBILITY IDEOGRAPH-2F841;Lo;0;L;54F6;;;;N;;;;; +2F842;CJK COMPATIBILITY IDEOGRAPH-2F842;Lo;0;L;5510;;;;N;;;;; +2F843;CJK COMPATIBILITY IDEOGRAPH-2F843;Lo;0;L;5553;;;;N;;;;; +2F844;CJK COMPATIBILITY IDEOGRAPH-2F844;Lo;0;L;5563;;;;N;;;;; +2F845;CJK COMPATIBILITY IDEOGRAPH-2F845;Lo;0;L;5584;;;;N;;;;; +2F846;CJK COMPATIBILITY IDEOGRAPH-2F846;Lo;0;L;5584;;;;N;;;;; +2F847;CJK COMPATIBILITY IDEOGRAPH-2F847;Lo;0;L;5599;;;;N;;;;; +2F848;CJK COMPATIBILITY IDEOGRAPH-2F848;Lo;0;L;55AB;;;;N;;;;; +2F849;CJK COMPATIBILITY IDEOGRAPH-2F849;Lo;0;L;55B3;;;;N;;;;; +2F84A;CJK COMPATIBILITY IDEOGRAPH-2F84A;Lo;0;L;55C2;;;;N;;;;; +2F84B;CJK COMPATIBILITY IDEOGRAPH-2F84B;Lo;0;L;5716;;;;N;;;;; +2F84C;CJK COMPATIBILITY IDEOGRAPH-2F84C;Lo;0;L;5606;;;;N;;;;; +2F84D;CJK COMPATIBILITY IDEOGRAPH-2F84D;Lo;0;L;5717;;;;N;;;;; +2F84E;CJK COMPATIBILITY IDEOGRAPH-2F84E;Lo;0;L;5651;;;;N;;;;; +2F84F;CJK COMPATIBILITY IDEOGRAPH-2F84F;Lo;0;L;5674;;;;N;;;;; +2F850;CJK COMPATIBILITY IDEOGRAPH-2F850;Lo;0;L;5207;;;;N;;;;; +2F851;CJK COMPATIBILITY IDEOGRAPH-2F851;Lo;0;L;58EE;;;;N;;;;; +2F852;CJK COMPATIBILITY IDEOGRAPH-2F852;Lo;0;L;57CE;;;;N;;;;; +2F853;CJK COMPATIBILITY IDEOGRAPH-2F853;Lo;0;L;57F4;;;;N;;;;; +2F854;CJK COMPATIBILITY IDEOGRAPH-2F854;Lo;0;L;580D;;;;N;;;;; +2F855;CJK COMPATIBILITY IDEOGRAPH-2F855;Lo;0;L;578B;;;;N;;;;; +2F856;CJK COMPATIBILITY IDEOGRAPH-2F856;Lo;0;L;5832;;;;N;;;;; +2F857;CJK COMPATIBILITY IDEOGRAPH-2F857;Lo;0;L;5831;;;;N;;;;; +2F858;CJK COMPATIBILITY IDEOGRAPH-2F858;Lo;0;L;58AC;;;;N;;;;; +2F859;CJK COMPATIBILITY IDEOGRAPH-2F859;Lo;0;L;214E4;;;;N;;;;; +2F85A;CJK COMPATIBILITY IDEOGRAPH-2F85A;Lo;0;L;58F2;;;;N;;;;; +2F85B;CJK COMPATIBILITY IDEOGRAPH-2F85B;Lo;0;L;58F7;;;;N;;;;; +2F85C;CJK COMPATIBILITY IDEOGRAPH-2F85C;Lo;0;L;5906;;;;N;;;;; +2F85D;CJK COMPATIBILITY IDEOGRAPH-2F85D;Lo;0;L;591A;;;;N;;;;; +2F85E;CJK COMPATIBILITY IDEOGRAPH-2F85E;Lo;0;L;5922;;;;N;;;;; +2F85F;CJK COMPATIBILITY IDEOGRAPH-2F85F;Lo;0;L;5962;;;;N;;;;; +2F860;CJK COMPATIBILITY IDEOGRAPH-2F860;Lo;0;L;216A8;;;;N;;;;; +2F861;CJK COMPATIBILITY IDEOGRAPH-2F861;Lo;0;L;216EA;;;;N;;;;; +2F862;CJK COMPATIBILITY IDEOGRAPH-2F862;Lo;0;L;59EC;;;;N;;;;; +2F863;CJK COMPATIBILITY IDEOGRAPH-2F863;Lo;0;L;5A1B;;;;N;;;;; +2F864;CJK COMPATIBILITY IDEOGRAPH-2F864;Lo;0;L;5A27;;;;N;;;;; +2F865;CJK COMPATIBILITY IDEOGRAPH-2F865;Lo;0;L;59D8;;;;N;;;;; +2F866;CJK COMPATIBILITY IDEOGRAPH-2F866;Lo;0;L;5A66;;;;N;;;;; +2F867;CJK COMPATIBILITY IDEOGRAPH-2F867;Lo;0;L;36EE;;;;N;;;;; +2F868;CJK COMPATIBILITY IDEOGRAPH-2F868;Lo;0;L;36FC;;;;N;;;;; +2F869;CJK COMPATIBILITY IDEOGRAPH-2F869;Lo;0;L;5B08;;;;N;;;;; +2F86A;CJK COMPATIBILITY IDEOGRAPH-2F86A;Lo;0;L;5B3E;;;;N;;;;; +2F86B;CJK COMPATIBILITY IDEOGRAPH-2F86B;Lo;0;L;5B3E;;;;N;;;;; +2F86C;CJK COMPATIBILITY IDEOGRAPH-2F86C;Lo;0;L;219C8;;;;N;;;;; +2F86D;CJK COMPATIBILITY IDEOGRAPH-2F86D;Lo;0;L;5BC3;;;;N;;;;; +2F86E;CJK COMPATIBILITY IDEOGRAPH-2F86E;Lo;0;L;5BD8;;;;N;;;;; +2F86F;CJK COMPATIBILITY IDEOGRAPH-2F86F;Lo;0;L;5BE7;;;;N;;;;; +2F870;CJK COMPATIBILITY IDEOGRAPH-2F870;Lo;0;L;5BF3;;;;N;;;;; +2F871;CJK COMPATIBILITY IDEOGRAPH-2F871;Lo;0;L;21B18;;;;N;;;;; +2F872;CJK COMPATIBILITY IDEOGRAPH-2F872;Lo;0;L;5BFF;;;;N;;;;; +2F873;CJK COMPATIBILITY IDEOGRAPH-2F873;Lo;0;L;5C06;;;;N;;;;; +2F874;CJK COMPATIBILITY IDEOGRAPH-2F874;Lo;0;L;5F53;;;;N;;;;; +2F875;CJK COMPATIBILITY IDEOGRAPH-2F875;Lo;0;L;5C22;;;;N;;;;; +2F876;CJK COMPATIBILITY IDEOGRAPH-2F876;Lo;0;L;3781;;;;N;;;;; +2F877;CJK COMPATIBILITY IDEOGRAPH-2F877;Lo;0;L;5C60;;;;N;;;;; +2F878;CJK COMPATIBILITY IDEOGRAPH-2F878;Lo;0;L;5C6E;;;;N;;;;; +2F879;CJK COMPATIBILITY IDEOGRAPH-2F879;Lo;0;L;5CC0;;;;N;;;;; +2F87A;CJK COMPATIBILITY IDEOGRAPH-2F87A;Lo;0;L;5C8D;;;;N;;;;; +2F87B;CJK COMPATIBILITY IDEOGRAPH-2F87B;Lo;0;L;21DE4;;;;N;;;;; +2F87C;CJK COMPATIBILITY IDEOGRAPH-2F87C;Lo;0;L;5D43;;;;N;;;;; +2F87D;CJK COMPATIBILITY IDEOGRAPH-2F87D;Lo;0;L;21DE6;;;;N;;;;; +2F87E;CJK COMPATIBILITY IDEOGRAPH-2F87E;Lo;0;L;5D6E;;;;N;;;;; +2F87F;CJK COMPATIBILITY IDEOGRAPH-2F87F;Lo;0;L;5D6B;;;;N;;;;; +2F880;CJK COMPATIBILITY IDEOGRAPH-2F880;Lo;0;L;5D7C;;;;N;;;;; +2F881;CJK COMPATIBILITY IDEOGRAPH-2F881;Lo;0;L;5DE1;;;;N;;;;; +2F882;CJK COMPATIBILITY IDEOGRAPH-2F882;Lo;0;L;5DE2;;;;N;;;;; +2F883;CJK COMPATIBILITY IDEOGRAPH-2F883;Lo;0;L;382F;;;;N;;;;; +2F884;CJK COMPATIBILITY IDEOGRAPH-2F884;Lo;0;L;5DFD;;;;N;;;;; +2F885;CJK COMPATIBILITY IDEOGRAPH-2F885;Lo;0;L;5E28;;;;N;;;;; +2F886;CJK COMPATIBILITY IDEOGRAPH-2F886;Lo;0;L;5E3D;;;;N;;;;; +2F887;CJK COMPATIBILITY IDEOGRAPH-2F887;Lo;0;L;5E69;;;;N;;;;; +2F888;CJK COMPATIBILITY IDEOGRAPH-2F888;Lo;0;L;3862;;;;N;;;;; +2F889;CJK COMPATIBILITY IDEOGRAPH-2F889;Lo;0;L;22183;;;;N;;;;; +2F88A;CJK COMPATIBILITY IDEOGRAPH-2F88A;Lo;0;L;387C;;;;N;;;;; +2F88B;CJK COMPATIBILITY IDEOGRAPH-2F88B;Lo;0;L;5EB0;;;;N;;;;; +2F88C;CJK COMPATIBILITY IDEOGRAPH-2F88C;Lo;0;L;5EB3;;;;N;;;;; +2F88D;CJK COMPATIBILITY IDEOGRAPH-2F88D;Lo;0;L;5EB6;;;;N;;;;; +2F88E;CJK COMPATIBILITY IDEOGRAPH-2F88E;Lo;0;L;5ECA;;;;N;;;;; +2F88F;CJK COMPATIBILITY IDEOGRAPH-2F88F;Lo;0;L;2A392;;;;N;;;;; +2F890;CJK COMPATIBILITY IDEOGRAPH-2F890;Lo;0;L;5EFE;;;9;N;;;;; +2F891;CJK COMPATIBILITY IDEOGRAPH-2F891;Lo;0;L;22331;;;;N;;;;; +2F892;CJK COMPATIBILITY IDEOGRAPH-2F892;Lo;0;L;22331;;;;N;;;;; +2F893;CJK COMPATIBILITY IDEOGRAPH-2F893;Lo;0;L;8201;;;;N;;;;; +2F894;CJK COMPATIBILITY IDEOGRAPH-2F894;Lo;0;L;5F22;;;;N;;;;; +2F895;CJK COMPATIBILITY IDEOGRAPH-2F895;Lo;0;L;5F22;;;;N;;;;; +2F896;CJK COMPATIBILITY IDEOGRAPH-2F896;Lo;0;L;38C7;;;;N;;;;; +2F897;CJK COMPATIBILITY IDEOGRAPH-2F897;Lo;0;L;232B8;;;;N;;;;; +2F898;CJK COMPATIBILITY IDEOGRAPH-2F898;Lo;0;L;261DA;;;;N;;;;; +2F899;CJK COMPATIBILITY IDEOGRAPH-2F899;Lo;0;L;5F62;;;;N;;;;; +2F89A;CJK COMPATIBILITY IDEOGRAPH-2F89A;Lo;0;L;5F6B;;;;N;;;;; +2F89B;CJK COMPATIBILITY IDEOGRAPH-2F89B;Lo;0;L;38E3;;;;N;;;;; +2F89C;CJK COMPATIBILITY IDEOGRAPH-2F89C;Lo;0;L;5F9A;;;;N;;;;; +2F89D;CJK COMPATIBILITY IDEOGRAPH-2F89D;Lo;0;L;5FCD;;;;N;;;;; +2F89E;CJK COMPATIBILITY IDEOGRAPH-2F89E;Lo;0;L;5FD7;;;;N;;;;; +2F89F;CJK COMPATIBILITY IDEOGRAPH-2F89F;Lo;0;L;5FF9;;;;N;;;;; +2F8A0;CJK COMPATIBILITY IDEOGRAPH-2F8A0;Lo;0;L;6081;;;;N;;;;; +2F8A1;CJK COMPATIBILITY IDEOGRAPH-2F8A1;Lo;0;L;393A;;;;N;;;;; +2F8A2;CJK COMPATIBILITY IDEOGRAPH-2F8A2;Lo;0;L;391C;;;;N;;;;; +2F8A3;CJK COMPATIBILITY IDEOGRAPH-2F8A3;Lo;0;L;6094;;;;N;;;;; +2F8A4;CJK COMPATIBILITY IDEOGRAPH-2F8A4;Lo;0;L;226D4;;;;N;;;;; +2F8A5;CJK COMPATIBILITY IDEOGRAPH-2F8A5;Lo;0;L;60C7;;;;N;;;;; +2F8A6;CJK COMPATIBILITY IDEOGRAPH-2F8A6;Lo;0;L;6148;;;;N;;;;; +2F8A7;CJK COMPATIBILITY IDEOGRAPH-2F8A7;Lo;0;L;614C;;;;N;;;;; +2F8A8;CJK COMPATIBILITY IDEOGRAPH-2F8A8;Lo;0;L;614E;;;;N;;;;; +2F8A9;CJK COMPATIBILITY IDEOGRAPH-2F8A9;Lo;0;L;614C;;;;N;;;;; +2F8AA;CJK COMPATIBILITY IDEOGRAPH-2F8AA;Lo;0;L;617A;;;;N;;;;; +2F8AB;CJK COMPATIBILITY IDEOGRAPH-2F8AB;Lo;0;L;618E;;;;N;;;;; +2F8AC;CJK COMPATIBILITY IDEOGRAPH-2F8AC;Lo;0;L;61B2;;;;N;;;;; +2F8AD;CJK COMPATIBILITY IDEOGRAPH-2F8AD;Lo;0;L;61A4;;;;N;;;;; +2F8AE;CJK COMPATIBILITY IDEOGRAPH-2F8AE;Lo;0;L;61AF;;;;N;;;;; +2F8AF;CJK COMPATIBILITY IDEOGRAPH-2F8AF;Lo;0;L;61DE;;;;N;;;;; +2F8B0;CJK COMPATIBILITY IDEOGRAPH-2F8B0;Lo;0;L;61F2;;;;N;;;;; +2F8B1;CJK COMPATIBILITY IDEOGRAPH-2F8B1;Lo;0;L;61F6;;;;N;;;;; +2F8B2;CJK COMPATIBILITY IDEOGRAPH-2F8B2;Lo;0;L;6210;;;;N;;;;; +2F8B3;CJK COMPATIBILITY IDEOGRAPH-2F8B3;Lo;0;L;621B;;;;N;;;;; +2F8B4;CJK COMPATIBILITY IDEOGRAPH-2F8B4;Lo;0;L;625D;;;;N;;;;; +2F8B5;CJK COMPATIBILITY IDEOGRAPH-2F8B5;Lo;0;L;62B1;;;;N;;;;; +2F8B6;CJK COMPATIBILITY IDEOGRAPH-2F8B6;Lo;0;L;62D4;;;;N;;;;; +2F8B7;CJK COMPATIBILITY IDEOGRAPH-2F8B7;Lo;0;L;6350;;;;N;;;;; +2F8B8;CJK COMPATIBILITY IDEOGRAPH-2F8B8;Lo;0;L;22B0C;;;;N;;;;; +2F8B9;CJK COMPATIBILITY IDEOGRAPH-2F8B9;Lo;0;L;633D;;;;N;;;;; +2F8BA;CJK COMPATIBILITY IDEOGRAPH-2F8BA;Lo;0;L;62FC;;;;N;;;;; +2F8BB;CJK COMPATIBILITY IDEOGRAPH-2F8BB;Lo;0;L;6368;;;;N;;;;; +2F8BC;CJK COMPATIBILITY IDEOGRAPH-2F8BC;Lo;0;L;6383;;;;N;;;;; +2F8BD;CJK COMPATIBILITY IDEOGRAPH-2F8BD;Lo;0;L;63E4;;;;N;;;;; +2F8BE;CJK COMPATIBILITY IDEOGRAPH-2F8BE;Lo;0;L;22BF1;;;;N;;;;; +2F8BF;CJK COMPATIBILITY IDEOGRAPH-2F8BF;Lo;0;L;6422;;;;N;;;;; +2F8C0;CJK COMPATIBILITY IDEOGRAPH-2F8C0;Lo;0;L;63C5;;;;N;;;;; +2F8C1;CJK COMPATIBILITY IDEOGRAPH-2F8C1;Lo;0;L;63A9;;;;N;;;;; +2F8C2;CJK COMPATIBILITY IDEOGRAPH-2F8C2;Lo;0;L;3A2E;;;;N;;;;; +2F8C3;CJK COMPATIBILITY IDEOGRAPH-2F8C3;Lo;0;L;6469;;;;N;;;;; +2F8C4;CJK COMPATIBILITY IDEOGRAPH-2F8C4;Lo;0;L;647E;;;;N;;;;; +2F8C5;CJK COMPATIBILITY IDEOGRAPH-2F8C5;Lo;0;L;649D;;;;N;;;;; +2F8C6;CJK COMPATIBILITY IDEOGRAPH-2F8C6;Lo;0;L;6477;;;;N;;;;; +2F8C7;CJK COMPATIBILITY IDEOGRAPH-2F8C7;Lo;0;L;3A6C;;;;N;;;;; +2F8C8;CJK COMPATIBILITY IDEOGRAPH-2F8C8;Lo;0;L;654F;;;;N;;;;; +2F8C9;CJK COMPATIBILITY IDEOGRAPH-2F8C9;Lo;0;L;656C;;;;N;;;;; +2F8CA;CJK COMPATIBILITY IDEOGRAPH-2F8CA;Lo;0;L;2300A;;;;N;;;;; +2F8CB;CJK COMPATIBILITY IDEOGRAPH-2F8CB;Lo;0;L;65E3;;;;N;;;;; +2F8CC;CJK COMPATIBILITY IDEOGRAPH-2F8CC;Lo;0;L;66F8;;;;N;;;;; +2F8CD;CJK COMPATIBILITY IDEOGRAPH-2F8CD;Lo;0;L;6649;;;;N;;;;; +2F8CE;CJK COMPATIBILITY IDEOGRAPH-2F8CE;Lo;0;L;3B19;;;;N;;;;; +2F8CF;CJK COMPATIBILITY IDEOGRAPH-2F8CF;Lo;0;L;6691;;;;N;;;;; +2F8D0;CJK COMPATIBILITY IDEOGRAPH-2F8D0;Lo;0;L;3B08;;;;N;;;;; +2F8D1;CJK COMPATIBILITY IDEOGRAPH-2F8D1;Lo;0;L;3AE4;;;;N;;;;; +2F8D2;CJK COMPATIBILITY IDEOGRAPH-2F8D2;Lo;0;L;5192;;;;N;;;;; +2F8D3;CJK COMPATIBILITY IDEOGRAPH-2F8D3;Lo;0;L;5195;;;;N;;;;; +2F8D4;CJK COMPATIBILITY IDEOGRAPH-2F8D4;Lo;0;L;6700;;;;N;;;;; +2F8D5;CJK COMPATIBILITY IDEOGRAPH-2F8D5;Lo;0;L;669C;;;;N;;;;; +2F8D6;CJK COMPATIBILITY IDEOGRAPH-2F8D6;Lo;0;L;80AD;;;;N;;;;; +2F8D7;CJK COMPATIBILITY IDEOGRAPH-2F8D7;Lo;0;L;43D9;;;;N;;;;; +2F8D8;CJK COMPATIBILITY IDEOGRAPH-2F8D8;Lo;0;L;6717;;;;N;;;;; +2F8D9;CJK COMPATIBILITY IDEOGRAPH-2F8D9;Lo;0;L;671B;;;;N;;;;; +2F8DA;CJK COMPATIBILITY IDEOGRAPH-2F8DA;Lo;0;L;6721;;;;N;;;;; +2F8DB;CJK COMPATIBILITY IDEOGRAPH-2F8DB;Lo;0;L;675E;;;;N;;;;; +2F8DC;CJK COMPATIBILITY IDEOGRAPH-2F8DC;Lo;0;L;6753;;;;N;;;;; +2F8DD;CJK COMPATIBILITY IDEOGRAPH-2F8DD;Lo;0;L;233C3;;;;N;;;;; +2F8DE;CJK COMPATIBILITY IDEOGRAPH-2F8DE;Lo;0;L;3B49;;;;N;;;;; +2F8DF;CJK COMPATIBILITY IDEOGRAPH-2F8DF;Lo;0;L;67FA;;;;N;;;;; +2F8E0;CJK COMPATIBILITY IDEOGRAPH-2F8E0;Lo;0;L;6785;;;;N;;;;; +2F8E1;CJK COMPATIBILITY IDEOGRAPH-2F8E1;Lo;0;L;6852;;;;N;;;;; +2F8E2;CJK COMPATIBILITY IDEOGRAPH-2F8E2;Lo;0;L;6885;;;;N;;;;; +2F8E3;CJK COMPATIBILITY IDEOGRAPH-2F8E3;Lo;0;L;2346D;;;;N;;;;; +2F8E4;CJK COMPATIBILITY IDEOGRAPH-2F8E4;Lo;0;L;688E;;;;N;;;;; +2F8E5;CJK COMPATIBILITY IDEOGRAPH-2F8E5;Lo;0;L;681F;;;;N;;;;; +2F8E6;CJK COMPATIBILITY IDEOGRAPH-2F8E6;Lo;0;L;6914;;;;N;;;;; +2F8E7;CJK COMPATIBILITY IDEOGRAPH-2F8E7;Lo;0;L;3B9D;;;;N;;;;; +2F8E8;CJK COMPATIBILITY IDEOGRAPH-2F8E8;Lo;0;L;6942;;;;N;;;;; +2F8E9;CJK COMPATIBILITY IDEOGRAPH-2F8E9;Lo;0;L;69A3;;;;N;;;;; +2F8EA;CJK COMPATIBILITY IDEOGRAPH-2F8EA;Lo;0;L;69EA;;;;N;;;;; +2F8EB;CJK COMPATIBILITY IDEOGRAPH-2F8EB;Lo;0;L;6AA8;;;;N;;;;; +2F8EC;CJK COMPATIBILITY IDEOGRAPH-2F8EC;Lo;0;L;236A3;;;;N;;;;; +2F8ED;CJK COMPATIBILITY IDEOGRAPH-2F8ED;Lo;0;L;6ADB;;;;N;;;;; +2F8EE;CJK COMPATIBILITY IDEOGRAPH-2F8EE;Lo;0;L;3C18;;;;N;;;;; +2F8EF;CJK COMPATIBILITY IDEOGRAPH-2F8EF;Lo;0;L;6B21;;;;N;;;;; +2F8F0;CJK COMPATIBILITY IDEOGRAPH-2F8F0;Lo;0;L;238A7;;;;N;;;;; +2F8F1;CJK COMPATIBILITY IDEOGRAPH-2F8F1;Lo;0;L;6B54;;;;N;;;;; +2F8F2;CJK COMPATIBILITY IDEOGRAPH-2F8F2;Lo;0;L;3C4E;;;;N;;;;; +2F8F3;CJK COMPATIBILITY IDEOGRAPH-2F8F3;Lo;0;L;6B72;;;;N;;;;; +2F8F4;CJK COMPATIBILITY IDEOGRAPH-2F8F4;Lo;0;L;6B9F;;;;N;;;;; +2F8F5;CJK COMPATIBILITY IDEOGRAPH-2F8F5;Lo;0;L;6BBA;;;;N;;;;; +2F8F6;CJK COMPATIBILITY IDEOGRAPH-2F8F6;Lo;0;L;6BBB;;;;N;;;;; +2F8F7;CJK COMPATIBILITY IDEOGRAPH-2F8F7;Lo;0;L;23A8D;;;;N;;;;; +2F8F8;CJK COMPATIBILITY IDEOGRAPH-2F8F8;Lo;0;L;21D0B;;;;N;;;;; +2F8F9;CJK COMPATIBILITY IDEOGRAPH-2F8F9;Lo;0;L;23AFA;;;;N;;;;; +2F8FA;CJK COMPATIBILITY IDEOGRAPH-2F8FA;Lo;0;L;6C4E;;;;N;;;;; +2F8FB;CJK COMPATIBILITY IDEOGRAPH-2F8FB;Lo;0;L;23CBC;;;;N;;;;; +2F8FC;CJK COMPATIBILITY IDEOGRAPH-2F8FC;Lo;0;L;6CBF;;;;N;;;;; +2F8FD;CJK COMPATIBILITY IDEOGRAPH-2F8FD;Lo;0;L;6CCD;;;;N;;;;; +2F8FE;CJK COMPATIBILITY IDEOGRAPH-2F8FE;Lo;0;L;6C67;;;;N;;;;; +2F8FF;CJK COMPATIBILITY IDEOGRAPH-2F8FF;Lo;0;L;6D16;;;;N;;;;; +2F900;CJK COMPATIBILITY IDEOGRAPH-2F900;Lo;0;L;6D3E;;;;N;;;;; +2F901;CJK COMPATIBILITY IDEOGRAPH-2F901;Lo;0;L;6D77;;;;N;;;;; +2F902;CJK COMPATIBILITY IDEOGRAPH-2F902;Lo;0;L;6D41;;;;N;;;;; +2F903;CJK COMPATIBILITY IDEOGRAPH-2F903;Lo;0;L;6D69;;;;N;;;;; +2F904;CJK COMPATIBILITY IDEOGRAPH-2F904;Lo;0;L;6D78;;;;N;;;;; +2F905;CJK COMPATIBILITY IDEOGRAPH-2F905;Lo;0;L;6D85;;;;N;;;;; +2F906;CJK COMPATIBILITY IDEOGRAPH-2F906;Lo;0;L;23D1E;;;;N;;;;; +2F907;CJK COMPATIBILITY IDEOGRAPH-2F907;Lo;0;L;6D34;;;;N;;;;; +2F908;CJK COMPATIBILITY IDEOGRAPH-2F908;Lo;0;L;6E2F;;;;N;;;;; +2F909;CJK COMPATIBILITY IDEOGRAPH-2F909;Lo;0;L;6E6E;;;;N;;;;; +2F90A;CJK COMPATIBILITY IDEOGRAPH-2F90A;Lo;0;L;3D33;;;;N;;;;; +2F90B;CJK COMPATIBILITY IDEOGRAPH-2F90B;Lo;0;L;6ECB;;;;N;;;;; +2F90C;CJK COMPATIBILITY IDEOGRAPH-2F90C;Lo;0;L;6EC7;;;;N;;;;; +2F90D;CJK COMPATIBILITY IDEOGRAPH-2F90D;Lo;0;L;23ED1;;;;N;;;;; +2F90E;CJK COMPATIBILITY IDEOGRAPH-2F90E;Lo;0;L;6DF9;;;;N;;;;; +2F90F;CJK COMPATIBILITY IDEOGRAPH-2F90F;Lo;0;L;6F6E;;;;N;;;;; +2F910;CJK COMPATIBILITY IDEOGRAPH-2F910;Lo;0;L;23F5E;;;;N;;;;; +2F911;CJK COMPATIBILITY IDEOGRAPH-2F911;Lo;0;L;23F8E;;;;N;;;;; +2F912;CJK COMPATIBILITY IDEOGRAPH-2F912;Lo;0;L;6FC6;;;;N;;;;; +2F913;CJK COMPATIBILITY IDEOGRAPH-2F913;Lo;0;L;7039;;;;N;;;;; +2F914;CJK COMPATIBILITY IDEOGRAPH-2F914;Lo;0;L;701E;;;;N;;;;; +2F915;CJK COMPATIBILITY IDEOGRAPH-2F915;Lo;0;L;701B;;;;N;;;;; +2F916;CJK COMPATIBILITY IDEOGRAPH-2F916;Lo;0;L;3D96;;;;N;;;;; +2F917;CJK COMPATIBILITY IDEOGRAPH-2F917;Lo;0;L;704A;;;;N;;;;; +2F918;CJK COMPATIBILITY IDEOGRAPH-2F918;Lo;0;L;707D;;;;N;;;;; +2F919;CJK COMPATIBILITY IDEOGRAPH-2F919;Lo;0;L;7077;;;;N;;;;; +2F91A;CJK COMPATIBILITY IDEOGRAPH-2F91A;Lo;0;L;70AD;;;;N;;;;; +2F91B;CJK COMPATIBILITY IDEOGRAPH-2F91B;Lo;0;L;20525;;;;N;;;;; +2F91C;CJK COMPATIBILITY IDEOGRAPH-2F91C;Lo;0;L;7145;;;;N;;;;; +2F91D;CJK COMPATIBILITY IDEOGRAPH-2F91D;Lo;0;L;24263;;;;N;;;;; +2F91E;CJK COMPATIBILITY IDEOGRAPH-2F91E;Lo;0;L;719C;;;;N;;;;; +2F91F;CJK COMPATIBILITY IDEOGRAPH-2F91F;Lo;0;L;243AB;;;;N;;;;; +2F920;CJK COMPATIBILITY IDEOGRAPH-2F920;Lo;0;L;7228;;;;N;;;;; +2F921;CJK COMPATIBILITY IDEOGRAPH-2F921;Lo;0;L;7235;;;;N;;;;; +2F922;CJK COMPATIBILITY IDEOGRAPH-2F922;Lo;0;L;7250;;;;N;;;;; +2F923;CJK COMPATIBILITY IDEOGRAPH-2F923;Lo;0;L;24608;;;;N;;;;; +2F924;CJK COMPATIBILITY IDEOGRAPH-2F924;Lo;0;L;7280;;;;N;;;;; +2F925;CJK COMPATIBILITY IDEOGRAPH-2F925;Lo;0;L;7295;;;;N;;;;; +2F926;CJK COMPATIBILITY IDEOGRAPH-2F926;Lo;0;L;24735;;;;N;;;;; +2F927;CJK COMPATIBILITY IDEOGRAPH-2F927;Lo;0;L;24814;;;;N;;;;; +2F928;CJK COMPATIBILITY IDEOGRAPH-2F928;Lo;0;L;737A;;;;N;;;;; +2F929;CJK COMPATIBILITY IDEOGRAPH-2F929;Lo;0;L;738B;;;;N;;;;; +2F92A;CJK COMPATIBILITY IDEOGRAPH-2F92A;Lo;0;L;3EAC;;;;N;;;;; +2F92B;CJK COMPATIBILITY IDEOGRAPH-2F92B;Lo;0;L;73A5;;;;N;;;;; +2F92C;CJK COMPATIBILITY IDEOGRAPH-2F92C;Lo;0;L;3EB8;;;;N;;;;; +2F92D;CJK COMPATIBILITY IDEOGRAPH-2F92D;Lo;0;L;3EB8;;;;N;;;;; +2F92E;CJK COMPATIBILITY IDEOGRAPH-2F92E;Lo;0;L;7447;;;;N;;;;; +2F92F;CJK COMPATIBILITY IDEOGRAPH-2F92F;Lo;0;L;745C;;;;N;;;;; +2F930;CJK COMPATIBILITY IDEOGRAPH-2F930;Lo;0;L;7471;;;;N;;;;; +2F931;CJK COMPATIBILITY IDEOGRAPH-2F931;Lo;0;L;7485;;;;N;;;;; +2F932;CJK COMPATIBILITY IDEOGRAPH-2F932;Lo;0;L;74CA;;;;N;;;;; +2F933;CJK COMPATIBILITY IDEOGRAPH-2F933;Lo;0;L;3F1B;;;;N;;;;; +2F934;CJK COMPATIBILITY IDEOGRAPH-2F934;Lo;0;L;7524;;;;N;;;;; +2F935;CJK COMPATIBILITY IDEOGRAPH-2F935;Lo;0;L;24C36;;;;N;;;;; +2F936;CJK COMPATIBILITY IDEOGRAPH-2F936;Lo;0;L;753E;;;;N;;;;; +2F937;CJK COMPATIBILITY IDEOGRAPH-2F937;Lo;0;L;24C92;;;;N;;;;; +2F938;CJK COMPATIBILITY IDEOGRAPH-2F938;Lo;0;L;7570;;;;N;;;;; +2F939;CJK COMPATIBILITY IDEOGRAPH-2F939;Lo;0;L;2219F;;;;N;;;;; +2F93A;CJK COMPATIBILITY IDEOGRAPH-2F93A;Lo;0;L;7610;;;;N;;;;; +2F93B;CJK COMPATIBILITY IDEOGRAPH-2F93B;Lo;0;L;24FA1;;;;N;;;;; +2F93C;CJK COMPATIBILITY IDEOGRAPH-2F93C;Lo;0;L;24FB8;;;;N;;;;; +2F93D;CJK COMPATIBILITY IDEOGRAPH-2F93D;Lo;0;L;25044;;;;N;;;;; +2F93E;CJK COMPATIBILITY IDEOGRAPH-2F93E;Lo;0;L;3FFC;;;;N;;;;; +2F93F;CJK COMPATIBILITY IDEOGRAPH-2F93F;Lo;0;L;4008;;;;N;;;;; +2F940;CJK COMPATIBILITY IDEOGRAPH-2F940;Lo;0;L;76F4;;;;N;;;;; +2F941;CJK COMPATIBILITY IDEOGRAPH-2F941;Lo;0;L;250F3;;;;N;;;;; +2F942;CJK COMPATIBILITY IDEOGRAPH-2F942;Lo;0;L;250F2;;;;N;;;;; +2F943;CJK COMPATIBILITY IDEOGRAPH-2F943;Lo;0;L;25119;;;;N;;;;; +2F944;CJK COMPATIBILITY IDEOGRAPH-2F944;Lo;0;L;25133;;;;N;;;;; +2F945;CJK COMPATIBILITY IDEOGRAPH-2F945;Lo;0;L;771E;;;;N;;;;; +2F946;CJK COMPATIBILITY IDEOGRAPH-2F946;Lo;0;L;771F;;;;N;;;;; +2F947;CJK COMPATIBILITY IDEOGRAPH-2F947;Lo;0;L;771F;;;;N;;;;; +2F948;CJK COMPATIBILITY IDEOGRAPH-2F948;Lo;0;L;774A;;;;N;;;;; +2F949;CJK COMPATIBILITY IDEOGRAPH-2F949;Lo;0;L;4039;;;;N;;;;; +2F94A;CJK COMPATIBILITY IDEOGRAPH-2F94A;Lo;0;L;778B;;;;N;;;;; +2F94B;CJK COMPATIBILITY IDEOGRAPH-2F94B;Lo;0;L;4046;;;;N;;;;; +2F94C;CJK COMPATIBILITY IDEOGRAPH-2F94C;Lo;0;L;4096;;;;N;;;;; +2F94D;CJK COMPATIBILITY IDEOGRAPH-2F94D;Lo;0;L;2541D;;;;N;;;;; +2F94E;CJK COMPATIBILITY IDEOGRAPH-2F94E;Lo;0;L;784E;;;;N;;;;; +2F94F;CJK COMPATIBILITY IDEOGRAPH-2F94F;Lo;0;L;788C;;;;N;;;;; +2F950;CJK COMPATIBILITY IDEOGRAPH-2F950;Lo;0;L;78CC;;;;N;;;;; +2F951;CJK COMPATIBILITY IDEOGRAPH-2F951;Lo;0;L;40E3;;;;N;;;;; +2F952;CJK COMPATIBILITY IDEOGRAPH-2F952;Lo;0;L;25626;;;;N;;;;; +2F953;CJK COMPATIBILITY IDEOGRAPH-2F953;Lo;0;L;7956;;;;N;;;;; +2F954;CJK COMPATIBILITY IDEOGRAPH-2F954;Lo;0;L;2569A;;;;N;;;;; +2F955;CJK COMPATIBILITY IDEOGRAPH-2F955;Lo;0;L;256C5;;;;N;;;;; +2F956;CJK COMPATIBILITY IDEOGRAPH-2F956;Lo;0;L;798F;;;;N;;;;; +2F957;CJK COMPATIBILITY IDEOGRAPH-2F957;Lo;0;L;79EB;;;;N;;;;; +2F958;CJK COMPATIBILITY IDEOGRAPH-2F958;Lo;0;L;412F;;;;N;;;;; +2F959;CJK COMPATIBILITY IDEOGRAPH-2F959;Lo;0;L;7A40;;;;N;;;;; +2F95A;CJK COMPATIBILITY IDEOGRAPH-2F95A;Lo;0;L;7A4A;;;;N;;;;; +2F95B;CJK COMPATIBILITY IDEOGRAPH-2F95B;Lo;0;L;7A4F;;;;N;;;;; +2F95C;CJK COMPATIBILITY IDEOGRAPH-2F95C;Lo;0;L;2597C;;;;N;;;;; +2F95D;CJK COMPATIBILITY IDEOGRAPH-2F95D;Lo;0;L;25AA7;;;;N;;;;; +2F95E;CJK COMPATIBILITY IDEOGRAPH-2F95E;Lo;0;L;25AA7;;;;N;;;;; +2F95F;CJK COMPATIBILITY IDEOGRAPH-2F95F;Lo;0;L;7AEE;;;;N;;;;; +2F960;CJK COMPATIBILITY IDEOGRAPH-2F960;Lo;0;L;4202;;;;N;;;;; +2F961;CJK COMPATIBILITY IDEOGRAPH-2F961;Lo;0;L;25BAB;;;;N;;;;; +2F962;CJK COMPATIBILITY IDEOGRAPH-2F962;Lo;0;L;7BC6;;;;N;;;;; +2F963;CJK COMPATIBILITY IDEOGRAPH-2F963;Lo;0;L;7BC9;;;;N;;;;; +2F964;CJK COMPATIBILITY IDEOGRAPH-2F964;Lo;0;L;4227;;;;N;;;;; +2F965;CJK COMPATIBILITY IDEOGRAPH-2F965;Lo;0;L;25C80;;;;N;;;;; +2F966;CJK COMPATIBILITY IDEOGRAPH-2F966;Lo;0;L;7CD2;;;;N;;;;; +2F967;CJK COMPATIBILITY IDEOGRAPH-2F967;Lo;0;L;42A0;;;;N;;;;; +2F968;CJK COMPATIBILITY IDEOGRAPH-2F968;Lo;0;L;7CE8;;;;N;;;;; +2F969;CJK COMPATIBILITY IDEOGRAPH-2F969;Lo;0;L;7CE3;;;;N;;;;; +2F96A;CJK COMPATIBILITY IDEOGRAPH-2F96A;Lo;0;L;7D00;;;;N;;;;; +2F96B;CJK COMPATIBILITY IDEOGRAPH-2F96B;Lo;0;L;25F86;;;;N;;;;; +2F96C;CJK COMPATIBILITY IDEOGRAPH-2F96C;Lo;0;L;7D63;;;;N;;;;; +2F96D;CJK COMPATIBILITY IDEOGRAPH-2F96D;Lo;0;L;4301;;;;N;;;;; +2F96E;CJK COMPATIBILITY IDEOGRAPH-2F96E;Lo;0;L;7DC7;;;;N;;;;; +2F96F;CJK COMPATIBILITY IDEOGRAPH-2F96F;Lo;0;L;7E02;;;;N;;;;; +2F970;CJK COMPATIBILITY IDEOGRAPH-2F970;Lo;0;L;7E45;;;;N;;;;; +2F971;CJK COMPATIBILITY IDEOGRAPH-2F971;Lo;0;L;4334;;;;N;;;;; +2F972;CJK COMPATIBILITY IDEOGRAPH-2F972;Lo;0;L;26228;;;;N;;;;; +2F973;CJK COMPATIBILITY IDEOGRAPH-2F973;Lo;0;L;26247;;;;N;;;;; +2F974;CJK COMPATIBILITY IDEOGRAPH-2F974;Lo;0;L;4359;;;;N;;;;; +2F975;CJK COMPATIBILITY IDEOGRAPH-2F975;Lo;0;L;262D9;;;;N;;;;; +2F976;CJK COMPATIBILITY IDEOGRAPH-2F976;Lo;0;L;7F7A;;;;N;;;;; +2F977;CJK COMPATIBILITY IDEOGRAPH-2F977;Lo;0;L;2633E;;;;N;;;;; +2F978;CJK COMPATIBILITY IDEOGRAPH-2F978;Lo;0;L;7F95;;;;N;;;;; +2F979;CJK COMPATIBILITY IDEOGRAPH-2F979;Lo;0;L;7FFA;;;;N;;;;; +2F97A;CJK COMPATIBILITY IDEOGRAPH-2F97A;Lo;0;L;8005;;;;N;;;;; +2F97B;CJK COMPATIBILITY IDEOGRAPH-2F97B;Lo;0;L;264DA;;;;N;;;;; +2F97C;CJK COMPATIBILITY IDEOGRAPH-2F97C;Lo;0;L;26523;;;;N;;;;; +2F97D;CJK COMPATIBILITY IDEOGRAPH-2F97D;Lo;0;L;8060;;;;N;;;;; +2F97E;CJK COMPATIBILITY IDEOGRAPH-2F97E;Lo;0;L;265A8;;;;N;;;;; +2F97F;CJK COMPATIBILITY IDEOGRAPH-2F97F;Lo;0;L;8070;;;;N;;;;; +2F980;CJK COMPATIBILITY IDEOGRAPH-2F980;Lo;0;L;2335F;;;;N;;;;; +2F981;CJK COMPATIBILITY IDEOGRAPH-2F981;Lo;0;L;43D5;;;;N;;;;; +2F982;CJK COMPATIBILITY IDEOGRAPH-2F982;Lo;0;L;80B2;;;;N;;;;; +2F983;CJK COMPATIBILITY IDEOGRAPH-2F983;Lo;0;L;8103;;;;N;;;;; +2F984;CJK COMPATIBILITY IDEOGRAPH-2F984;Lo;0;L;440B;;;;N;;;;; +2F985;CJK COMPATIBILITY IDEOGRAPH-2F985;Lo;0;L;813E;;;;N;;;;; +2F986;CJK COMPATIBILITY IDEOGRAPH-2F986;Lo;0;L;5AB5;;;;N;;;;; +2F987;CJK COMPATIBILITY IDEOGRAPH-2F987;Lo;0;L;267A7;;;;N;;;;; +2F988;CJK COMPATIBILITY IDEOGRAPH-2F988;Lo;0;L;267B5;;;;N;;;;; +2F989;CJK COMPATIBILITY IDEOGRAPH-2F989;Lo;0;L;23393;;;;N;;;;; +2F98A;CJK COMPATIBILITY IDEOGRAPH-2F98A;Lo;0;L;2339C;;;;N;;;;; +2F98B;CJK COMPATIBILITY IDEOGRAPH-2F98B;Lo;0;L;8201;;;;N;;;;; +2F98C;CJK COMPATIBILITY IDEOGRAPH-2F98C;Lo;0;L;8204;;;;N;;;;; +2F98D;CJK COMPATIBILITY IDEOGRAPH-2F98D;Lo;0;L;8F9E;;;;N;;;;; +2F98E;CJK COMPATIBILITY IDEOGRAPH-2F98E;Lo;0;L;446B;;;;N;;;;; +2F98F;CJK COMPATIBILITY IDEOGRAPH-2F98F;Lo;0;L;8291;;;;N;;;;; +2F990;CJK COMPATIBILITY IDEOGRAPH-2F990;Lo;0;L;828B;;;;N;;;;; +2F991;CJK COMPATIBILITY IDEOGRAPH-2F991;Lo;0;L;829D;;;;N;;;;; +2F992;CJK COMPATIBILITY IDEOGRAPH-2F992;Lo;0;L;52B3;;;;N;;;;; +2F993;CJK COMPATIBILITY IDEOGRAPH-2F993;Lo;0;L;82B1;;;;N;;;;; +2F994;CJK COMPATIBILITY IDEOGRAPH-2F994;Lo;0;L;82B3;;;;N;;;;; +2F995;CJK COMPATIBILITY IDEOGRAPH-2F995;Lo;0;L;82BD;;;;N;;;;; +2F996;CJK COMPATIBILITY IDEOGRAPH-2F996;Lo;0;L;82E6;;;;N;;;;; +2F997;CJK COMPATIBILITY IDEOGRAPH-2F997;Lo;0;L;26B3C;;;;N;;;;; +2F998;CJK COMPATIBILITY IDEOGRAPH-2F998;Lo;0;L;82E5;;;;N;;;;; +2F999;CJK COMPATIBILITY IDEOGRAPH-2F999;Lo;0;L;831D;;;;N;;;;; +2F99A;CJK COMPATIBILITY IDEOGRAPH-2F99A;Lo;0;L;8363;;;;N;;;;; +2F99B;CJK COMPATIBILITY IDEOGRAPH-2F99B;Lo;0;L;83AD;;;;N;;;;; +2F99C;CJK COMPATIBILITY IDEOGRAPH-2F99C;Lo;0;L;8323;;;;N;;;;; +2F99D;CJK COMPATIBILITY IDEOGRAPH-2F99D;Lo;0;L;83BD;;;;N;;;;; +2F99E;CJK COMPATIBILITY IDEOGRAPH-2F99E;Lo;0;L;83E7;;;;N;;;;; +2F99F;CJK COMPATIBILITY IDEOGRAPH-2F99F;Lo;0;L;8457;;;;N;;;;; +2F9A0;CJK COMPATIBILITY IDEOGRAPH-2F9A0;Lo;0;L;8353;;;;N;;;;; +2F9A1;CJK COMPATIBILITY IDEOGRAPH-2F9A1;Lo;0;L;83CA;;;;N;;;;; +2F9A2;CJK COMPATIBILITY IDEOGRAPH-2F9A2;Lo;0;L;83CC;;;;N;;;;; +2F9A3;CJK COMPATIBILITY IDEOGRAPH-2F9A3;Lo;0;L;83DC;;;;N;;;;; +2F9A4;CJK COMPATIBILITY IDEOGRAPH-2F9A4;Lo;0;L;26C36;;;;N;;;;; +2F9A5;CJK COMPATIBILITY IDEOGRAPH-2F9A5;Lo;0;L;26D6B;;;;N;;;;; +2F9A6;CJK COMPATIBILITY IDEOGRAPH-2F9A6;Lo;0;L;26CD5;;;;N;;;;; +2F9A7;CJK COMPATIBILITY IDEOGRAPH-2F9A7;Lo;0;L;452B;;;;N;;;;; +2F9A8;CJK COMPATIBILITY IDEOGRAPH-2F9A8;Lo;0;L;84F1;;;;N;;;;; +2F9A9;CJK COMPATIBILITY IDEOGRAPH-2F9A9;Lo;0;L;84F3;;;;N;;;;; +2F9AA;CJK COMPATIBILITY IDEOGRAPH-2F9AA;Lo;0;L;8516;;;;N;;;;; +2F9AB;CJK COMPATIBILITY IDEOGRAPH-2F9AB;Lo;0;L;273CA;;;;N;;;;; +2F9AC;CJK COMPATIBILITY IDEOGRAPH-2F9AC;Lo;0;L;8564;;;;N;;;;; +2F9AD;CJK COMPATIBILITY IDEOGRAPH-2F9AD;Lo;0;L;26F2C;;;;N;;;;; +2F9AE;CJK COMPATIBILITY IDEOGRAPH-2F9AE;Lo;0;L;455D;;;;N;;;;; +2F9AF;CJK COMPATIBILITY IDEOGRAPH-2F9AF;Lo;0;L;4561;;;;N;;;;; +2F9B0;CJK COMPATIBILITY IDEOGRAPH-2F9B0;Lo;0;L;26FB1;;;;N;;;;; +2F9B1;CJK COMPATIBILITY IDEOGRAPH-2F9B1;Lo;0;L;270D2;;;;N;;;;; +2F9B2;CJK COMPATIBILITY IDEOGRAPH-2F9B2;Lo;0;L;456B;;;;N;;;;; +2F9B3;CJK COMPATIBILITY IDEOGRAPH-2F9B3;Lo;0;L;8650;;;;N;;;;; +2F9B4;CJK COMPATIBILITY IDEOGRAPH-2F9B4;Lo;0;L;865C;;;;N;;;;; +2F9B5;CJK COMPATIBILITY IDEOGRAPH-2F9B5;Lo;0;L;8667;;;;N;;;;; +2F9B6;CJK COMPATIBILITY IDEOGRAPH-2F9B6;Lo;0;L;8669;;;;N;;;;; +2F9B7;CJK COMPATIBILITY IDEOGRAPH-2F9B7;Lo;0;L;86A9;;;;N;;;;; +2F9B8;CJK COMPATIBILITY IDEOGRAPH-2F9B8;Lo;0;L;8688;;;;N;;;;; +2F9B9;CJK COMPATIBILITY IDEOGRAPH-2F9B9;Lo;0;L;870E;;;;N;;;;; +2F9BA;CJK COMPATIBILITY IDEOGRAPH-2F9BA;Lo;0;L;86E2;;;;N;;;;; +2F9BB;CJK COMPATIBILITY IDEOGRAPH-2F9BB;Lo;0;L;8779;;;;N;;;;; +2F9BC;CJK COMPATIBILITY IDEOGRAPH-2F9BC;Lo;0;L;8728;;;;N;;;;; +2F9BD;CJK COMPATIBILITY IDEOGRAPH-2F9BD;Lo;0;L;876B;;;;N;;;;; +2F9BE;CJK COMPATIBILITY IDEOGRAPH-2F9BE;Lo;0;L;8786;;;;N;;;;; +2F9BF;CJK COMPATIBILITY IDEOGRAPH-2F9BF;Lo;0;L;45D7;;;;N;;;;; +2F9C0;CJK COMPATIBILITY IDEOGRAPH-2F9C0;Lo;0;L;87E1;;;;N;;;;; +2F9C1;CJK COMPATIBILITY IDEOGRAPH-2F9C1;Lo;0;L;8801;;;;N;;;;; +2F9C2;CJK COMPATIBILITY IDEOGRAPH-2F9C2;Lo;0;L;45F9;;;;N;;;;; +2F9C3;CJK COMPATIBILITY IDEOGRAPH-2F9C3;Lo;0;L;8860;;;;N;;;;; +2F9C4;CJK COMPATIBILITY IDEOGRAPH-2F9C4;Lo;0;L;8863;;;;N;;;;; +2F9C5;CJK COMPATIBILITY IDEOGRAPH-2F9C5;Lo;0;L;27667;;;;N;;;;; +2F9C6;CJK COMPATIBILITY IDEOGRAPH-2F9C6;Lo;0;L;88D7;;;;N;;;;; +2F9C7;CJK COMPATIBILITY IDEOGRAPH-2F9C7;Lo;0;L;88DE;;;;N;;;;; +2F9C8;CJK COMPATIBILITY IDEOGRAPH-2F9C8;Lo;0;L;4635;;;;N;;;;; +2F9C9;CJK COMPATIBILITY IDEOGRAPH-2F9C9;Lo;0;L;88FA;;;;N;;;;; +2F9CA;CJK COMPATIBILITY IDEOGRAPH-2F9CA;Lo;0;L;34BB;;;;N;;;;; +2F9CB;CJK COMPATIBILITY IDEOGRAPH-2F9CB;Lo;0;L;278AE;;;;N;;;;; +2F9CC;CJK COMPATIBILITY IDEOGRAPH-2F9CC;Lo;0;L;27966;;;;N;;;;; +2F9CD;CJK COMPATIBILITY IDEOGRAPH-2F9CD;Lo;0;L;46BE;;;;N;;;;; +2F9CE;CJK COMPATIBILITY IDEOGRAPH-2F9CE;Lo;0;L;46C7;;;;N;;;;; +2F9CF;CJK COMPATIBILITY IDEOGRAPH-2F9CF;Lo;0;L;8AA0;;;;N;;;;; +2F9D0;CJK COMPATIBILITY IDEOGRAPH-2F9D0;Lo;0;L;8AED;;;;N;;;;; +2F9D1;CJK COMPATIBILITY IDEOGRAPH-2F9D1;Lo;0;L;8B8A;;;;N;;;;; +2F9D2;CJK COMPATIBILITY IDEOGRAPH-2F9D2;Lo;0;L;8C55;;;;N;;;;; +2F9D3;CJK COMPATIBILITY IDEOGRAPH-2F9D3;Lo;0;L;27CA8;;;;N;;;;; +2F9D4;CJK COMPATIBILITY IDEOGRAPH-2F9D4;Lo;0;L;8CAB;;;;N;;;;; +2F9D5;CJK COMPATIBILITY IDEOGRAPH-2F9D5;Lo;0;L;8CC1;;;;N;;;;; +2F9D6;CJK COMPATIBILITY IDEOGRAPH-2F9D6;Lo;0;L;8D1B;;;;N;;;;; +2F9D7;CJK COMPATIBILITY IDEOGRAPH-2F9D7;Lo;0;L;8D77;;;;N;;;;; +2F9D8;CJK COMPATIBILITY IDEOGRAPH-2F9D8;Lo;0;L;27F2F;;;;N;;;;; +2F9D9;CJK COMPATIBILITY IDEOGRAPH-2F9D9;Lo;0;L;20804;;;;N;;;;; +2F9DA;CJK COMPATIBILITY IDEOGRAPH-2F9DA;Lo;0;L;8DCB;;;;N;;;;; +2F9DB;CJK COMPATIBILITY IDEOGRAPH-2F9DB;Lo;0;L;8DBC;;;;N;;;;; +2F9DC;CJK COMPATIBILITY IDEOGRAPH-2F9DC;Lo;0;L;8DF0;;;;N;;;;; +2F9DD;CJK COMPATIBILITY IDEOGRAPH-2F9DD;Lo;0;L;208DE;;;;N;;;;; +2F9DE;CJK COMPATIBILITY IDEOGRAPH-2F9DE;Lo;0;L;8ED4;;;;N;;;;; +2F9DF;CJK COMPATIBILITY IDEOGRAPH-2F9DF;Lo;0;L;8F38;;;;N;;;;; +2F9E0;CJK COMPATIBILITY IDEOGRAPH-2F9E0;Lo;0;L;285D2;;;;N;;;;; +2F9E1;CJK COMPATIBILITY IDEOGRAPH-2F9E1;Lo;0;L;285ED;;;;N;;;;; +2F9E2;CJK COMPATIBILITY IDEOGRAPH-2F9E2;Lo;0;L;9094;;;;N;;;;; +2F9E3;CJK COMPATIBILITY IDEOGRAPH-2F9E3;Lo;0;L;90F1;;;;N;;;;; +2F9E4;CJK COMPATIBILITY IDEOGRAPH-2F9E4;Lo;0;L;9111;;;;N;;;;; +2F9E5;CJK COMPATIBILITY IDEOGRAPH-2F9E5;Lo;0;L;2872E;;;;N;;;;; +2F9E6;CJK COMPATIBILITY IDEOGRAPH-2F9E6;Lo;0;L;911B;;;;N;;;;; +2F9E7;CJK COMPATIBILITY IDEOGRAPH-2F9E7;Lo;0;L;9238;;;;N;;;;; +2F9E8;CJK COMPATIBILITY IDEOGRAPH-2F9E8;Lo;0;L;92D7;;;;N;;;;; +2F9E9;CJK COMPATIBILITY IDEOGRAPH-2F9E9;Lo;0;L;92D8;;;;N;;;;; +2F9EA;CJK COMPATIBILITY IDEOGRAPH-2F9EA;Lo;0;L;927C;;;;N;;;;; +2F9EB;CJK COMPATIBILITY IDEOGRAPH-2F9EB;Lo;0;L;93F9;;;;N;;;;; +2F9EC;CJK COMPATIBILITY IDEOGRAPH-2F9EC;Lo;0;L;9415;;;;N;;;;; +2F9ED;CJK COMPATIBILITY IDEOGRAPH-2F9ED;Lo;0;L;28BFA;;;;N;;;;; +2F9EE;CJK COMPATIBILITY IDEOGRAPH-2F9EE;Lo;0;L;958B;;;;N;;;;; +2F9EF;CJK COMPATIBILITY IDEOGRAPH-2F9EF;Lo;0;L;4995;;;;N;;;;; +2F9F0;CJK COMPATIBILITY IDEOGRAPH-2F9F0;Lo;0;L;95B7;;;;N;;;;; +2F9F1;CJK COMPATIBILITY IDEOGRAPH-2F9F1;Lo;0;L;28D77;;;;N;;;;; +2F9F2;CJK COMPATIBILITY IDEOGRAPH-2F9F2;Lo;0;L;49E6;;;;N;;;;; +2F9F3;CJK COMPATIBILITY IDEOGRAPH-2F9F3;Lo;0;L;96C3;;;;N;;;;; +2F9F4;CJK COMPATIBILITY IDEOGRAPH-2F9F4;Lo;0;L;5DB2;;;;N;;;;; +2F9F5;CJK COMPATIBILITY IDEOGRAPH-2F9F5;Lo;0;L;9723;;;;N;;;;; +2F9F6;CJK COMPATIBILITY IDEOGRAPH-2F9F6;Lo;0;L;29145;;;;N;;;;; +2F9F7;CJK COMPATIBILITY IDEOGRAPH-2F9F7;Lo;0;L;2921A;;;;N;;;;; +2F9F8;CJK COMPATIBILITY IDEOGRAPH-2F9F8;Lo;0;L;4A6E;;;;N;;;;; +2F9F9;CJK COMPATIBILITY IDEOGRAPH-2F9F9;Lo;0;L;4A76;;;;N;;;;; +2F9FA;CJK COMPATIBILITY IDEOGRAPH-2F9FA;Lo;0;L;97E0;;;;N;;;;; +2F9FB;CJK COMPATIBILITY IDEOGRAPH-2F9FB;Lo;0;L;2940A;;;;N;;;;; +2F9FC;CJK COMPATIBILITY IDEOGRAPH-2F9FC;Lo;0;L;4AB2;;;;N;;;;; +2F9FD;CJK COMPATIBILITY IDEOGRAPH-2F9FD;Lo;0;L;29496;;;;N;;;;; +2F9FE;CJK COMPATIBILITY IDEOGRAPH-2F9FE;Lo;0;L;980B;;;;N;;;;; +2F9FF;CJK COMPATIBILITY IDEOGRAPH-2F9FF;Lo;0;L;980B;;;;N;;;;; +2FA00;CJK COMPATIBILITY IDEOGRAPH-2FA00;Lo;0;L;9829;;;;N;;;;; +2FA01;CJK COMPATIBILITY IDEOGRAPH-2FA01;Lo;0;L;295B6;;;;N;;;;; +2FA02;CJK COMPATIBILITY IDEOGRAPH-2FA02;Lo;0;L;98E2;;;;N;;;;; +2FA03;CJK COMPATIBILITY IDEOGRAPH-2FA03;Lo;0;L;4B33;;;;N;;;;; +2FA04;CJK COMPATIBILITY IDEOGRAPH-2FA04;Lo;0;L;9929;;;;N;;;;; +2FA05;CJK COMPATIBILITY IDEOGRAPH-2FA05;Lo;0;L;99A7;;;;N;;;;; +2FA06;CJK COMPATIBILITY IDEOGRAPH-2FA06;Lo;0;L;99C2;;;;N;;;;; +2FA07;CJK COMPATIBILITY IDEOGRAPH-2FA07;Lo;0;L;99FE;;;;N;;;;; +2FA08;CJK COMPATIBILITY IDEOGRAPH-2FA08;Lo;0;L;4BCE;;;;N;;;;; +2FA09;CJK COMPATIBILITY IDEOGRAPH-2FA09;Lo;0;L;29B30;;;;N;;;;; +2FA0A;CJK COMPATIBILITY IDEOGRAPH-2FA0A;Lo;0;L;9B12;;;;N;;;;; +2FA0B;CJK COMPATIBILITY IDEOGRAPH-2FA0B;Lo;0;L;9C40;;;;N;;;;; +2FA0C;CJK COMPATIBILITY IDEOGRAPH-2FA0C;Lo;0;L;9CFD;;;;N;;;;; +2FA0D;CJK COMPATIBILITY IDEOGRAPH-2FA0D;Lo;0;L;4CCE;;;;N;;;;; +2FA0E;CJK COMPATIBILITY IDEOGRAPH-2FA0E;Lo;0;L;4CED;;;;N;;;;; +2FA0F;CJK COMPATIBILITY IDEOGRAPH-2FA0F;Lo;0;L;9D67;;;;N;;;;; +2FA10;CJK COMPATIBILITY IDEOGRAPH-2FA10;Lo;0;L;2A0CE;;;;N;;;;; +2FA11;CJK COMPATIBILITY IDEOGRAPH-2FA11;Lo;0;L;4CF8;;;;N;;;;; +2FA12;CJK COMPATIBILITY IDEOGRAPH-2FA12;Lo;0;L;2A105;;;;N;;;;; +2FA13;CJK COMPATIBILITY IDEOGRAPH-2FA13;Lo;0;L;2A20E;;;;N;;;;; +2FA14;CJK COMPATIBILITY IDEOGRAPH-2FA14;Lo;0;L;2A291;;;;N;;;;; +2FA15;CJK COMPATIBILITY IDEOGRAPH-2FA15;Lo;0;L;9EBB;;;;N;;;;; +2FA16;CJK COMPATIBILITY IDEOGRAPH-2FA16;Lo;0;L;4D56;;;;N;;;;; +2FA17;CJK COMPATIBILITY IDEOGRAPH-2FA17;Lo;0;L;9EF9;;;;N;;;;; +2FA18;CJK COMPATIBILITY IDEOGRAPH-2FA18;Lo;0;L;9EFE;;;;N;;;;; +2FA19;CJK COMPATIBILITY IDEOGRAPH-2FA19;Lo;0;L;9F05;;;;N;;;;; +2FA1A;CJK COMPATIBILITY IDEOGRAPH-2FA1A;Lo;0;L;9F0F;;;;N;;;;; +2FA1B;CJK COMPATIBILITY IDEOGRAPH-2FA1B;Lo;0;L;9F16;;;;N;;;;; +2FA1C;CJK COMPATIBILITY IDEOGRAPH-2FA1C;Lo;0;L;9F3B;;;;N;;;;; +2FA1D;CJK COMPATIBILITY IDEOGRAPH-2FA1D;Lo;0;L;2A600;;;;N;;;;; +E0001;LANGUAGE TAG;Cf;0;BN;;;;;N;;;;; +E0020;TAG SPACE;Cf;0;BN;;;;;N;;;;; +E0021;TAG EXCLAMATION MARK;Cf;0;BN;;;;;N;;;;; +E0022;TAG QUOTATION MARK;Cf;0;BN;;;;;N;;;;; +E0023;TAG NUMBER SIGN;Cf;0;BN;;;;;N;;;;; +E0024;TAG DOLLAR SIGN;Cf;0;BN;;;;;N;;;;; +E0025;TAG PERCENT SIGN;Cf;0;BN;;;;;N;;;;; +E0026;TAG AMPERSAND;Cf;0;BN;;;;;N;;;;; +E0027;TAG APOSTROPHE;Cf;0;BN;;;;;N;;;;; +E0028;TAG LEFT PARENTHESIS;Cf;0;BN;;;;;N;;;;; +E0029;TAG RIGHT PARENTHESIS;Cf;0;BN;;;;;N;;;;; +E002A;TAG ASTERISK;Cf;0;BN;;;;;N;;;;; +E002B;TAG PLUS SIGN;Cf;0;BN;;;;;N;;;;; +E002C;TAG COMMA;Cf;0;BN;;;;;N;;;;; +E002D;TAG HYPHEN-MINUS;Cf;0;BN;;;;;N;;;;; +E002E;TAG FULL STOP;Cf;0;BN;;;;;N;;;;; +E002F;TAG SOLIDUS;Cf;0;BN;;;;;N;;;;; +E0030;TAG DIGIT ZERO;Cf;0;BN;;;;;N;;;;; +E0031;TAG DIGIT ONE;Cf;0;BN;;;;;N;;;;; +E0032;TAG DIGIT TWO;Cf;0;BN;;;;;N;;;;; +E0033;TAG DIGIT THREE;Cf;0;BN;;;;;N;;;;; +E0034;TAG DIGIT FOUR;Cf;0;BN;;;;;N;;;;; +E0035;TAG DIGIT FIVE;Cf;0;BN;;;;;N;;;;; +E0036;TAG DIGIT SIX;Cf;0;BN;;;;;N;;;;; +E0037;TAG DIGIT SEVEN;Cf;0;BN;;;;;N;;;;; +E0038;TAG DIGIT EIGHT;Cf;0;BN;;;;;N;;;;; +E0039;TAG DIGIT NINE;Cf;0;BN;;;;;N;;;;; +E003A;TAG COLON;Cf;0;BN;;;;;N;;;;; +E003B;TAG SEMICOLON;Cf;0;BN;;;;;N;;;;; +E003C;TAG LESS-THAN SIGN;Cf;0;BN;;;;;N;;;;; +E003D;TAG EQUALS SIGN;Cf;0;BN;;;;;N;;;;; +E003E;TAG GREATER-THAN SIGN;Cf;0;BN;;;;;N;;;;; +E003F;TAG QUESTION MARK;Cf;0;BN;;;;;N;;;;; +E0040;TAG COMMERCIAL AT;Cf;0;BN;;;;;N;;;;; +E0041;TAG LATIN CAPITAL LETTER A;Cf;0;BN;;;;;N;;;;; +E0042;TAG LATIN CAPITAL LETTER B;Cf;0;BN;;;;;N;;;;; +E0043;TAG LATIN CAPITAL LETTER C;Cf;0;BN;;;;;N;;;;; +E0044;TAG LATIN CAPITAL LETTER D;Cf;0;BN;;;;;N;;;;; +E0045;TAG LATIN CAPITAL LETTER E;Cf;0;BN;;;;;N;;;;; +E0046;TAG LATIN CAPITAL LETTER F;Cf;0;BN;;;;;N;;;;; +E0047;TAG LATIN CAPITAL LETTER G;Cf;0;BN;;;;;N;;;;; +E0048;TAG LATIN CAPITAL LETTER H;Cf;0;BN;;;;;N;;;;; +E0049;TAG LATIN CAPITAL LETTER I;Cf;0;BN;;;;;N;;;;; +E004A;TAG LATIN CAPITAL LETTER J;Cf;0;BN;;;;;N;;;;; +E004B;TAG LATIN CAPITAL LETTER K;Cf;0;BN;;;;;N;;;;; +E004C;TAG LATIN CAPITAL LETTER L;Cf;0;BN;;;;;N;;;;; +E004D;TAG LATIN CAPITAL LETTER M;Cf;0;BN;;;;;N;;;;; +E004E;TAG LATIN CAPITAL LETTER N;Cf;0;BN;;;;;N;;;;; +E004F;TAG LATIN CAPITAL LETTER O;Cf;0;BN;;;;;N;;;;; +E0050;TAG LATIN CAPITAL LETTER P;Cf;0;BN;;;;;N;;;;; +E0051;TAG LATIN CAPITAL LETTER Q;Cf;0;BN;;;;;N;;;;; +E0052;TAG LATIN CAPITAL LETTER R;Cf;0;BN;;;;;N;;;;; +E0053;TAG LATIN CAPITAL LETTER S;Cf;0;BN;;;;;N;;;;; +E0054;TAG LATIN CAPITAL LETTER T;Cf;0;BN;;;;;N;;;;; +E0055;TAG LATIN CAPITAL LETTER U;Cf;0;BN;;;;;N;;;;; +E0056;TAG LATIN CAPITAL LETTER V;Cf;0;BN;;;;;N;;;;; +E0057;TAG LATIN CAPITAL LETTER W;Cf;0;BN;;;;;N;;;;; +E0058;TAG LATIN CAPITAL LETTER X;Cf;0;BN;;;;;N;;;;; +E0059;TAG LATIN CAPITAL LETTER Y;Cf;0;BN;;;;;N;;;;; +E005A;TAG LATIN CAPITAL LETTER Z;Cf;0;BN;;;;;N;;;;; +E005B;TAG LEFT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;; +E005C;TAG REVERSE SOLIDUS;Cf;0;BN;;;;;N;;;;; +E005D;TAG RIGHT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;; +E005E;TAG CIRCUMFLEX ACCENT;Cf;0;BN;;;;;N;;;;; +E005F;TAG LOW LINE;Cf;0;BN;;;;;N;;;;; +E0060;TAG GRAVE ACCENT;Cf;0;BN;;;;;N;;;;; +E0061;TAG LATIN SMALL LETTER A;Cf;0;BN;;;;;N;;;;; +E0062;TAG LATIN SMALL LETTER B;Cf;0;BN;;;;;N;;;;; +E0063;TAG LATIN SMALL LETTER C;Cf;0;BN;;;;;N;;;;; +E0064;TAG LATIN SMALL LETTER D;Cf;0;BN;;;;;N;;;;; +E0065;TAG LATIN SMALL LETTER E;Cf;0;BN;;;;;N;;;;; +E0066;TAG LATIN SMALL LETTER F;Cf;0;BN;;;;;N;;;;; +E0067;TAG LATIN SMALL LETTER G;Cf;0;BN;;;;;N;;;;; +E0068;TAG LATIN SMALL LETTER H;Cf;0;BN;;;;;N;;;;; +E0069;TAG LATIN SMALL LETTER I;Cf;0;BN;;;;;N;;;;; +E006A;TAG LATIN SMALL LETTER J;Cf;0;BN;;;;;N;;;;; +E006B;TAG LATIN SMALL LETTER K;Cf;0;BN;;;;;N;;;;; +E006C;TAG LATIN SMALL LETTER L;Cf;0;BN;;;;;N;;;;; +E006D;TAG LATIN SMALL LETTER M;Cf;0;BN;;;;;N;;;;; +E006E;TAG LATIN SMALL LETTER N;Cf;0;BN;;;;;N;;;;; +E006F;TAG LATIN SMALL LETTER O;Cf;0;BN;;;;;N;;;;; +E0070;TAG LATIN SMALL LETTER P;Cf;0;BN;;;;;N;;;;; +E0071;TAG LATIN SMALL LETTER Q;Cf;0;BN;;;;;N;;;;; +E0072;TAG LATIN SMALL LETTER R;Cf;0;BN;;;;;N;;;;; +E0073;TAG LATIN SMALL LETTER S;Cf;0;BN;;;;;N;;;;; +E0074;TAG LATIN SMALL LETTER T;Cf;0;BN;;;;;N;;;;; +E0075;TAG LATIN SMALL LETTER U;Cf;0;BN;;;;;N;;;;; +E0076;TAG LATIN SMALL LETTER V;Cf;0;BN;;;;;N;;;;; +E0077;TAG LATIN SMALL LETTER W;Cf;0;BN;;;;;N;;;;; +E0078;TAG LATIN SMALL LETTER X;Cf;0;BN;;;;;N;;;;; +E0079;TAG LATIN SMALL LETTER Y;Cf;0;BN;;;;;N;;;;; +E007A;TAG LATIN SMALL LETTER Z;Cf;0;BN;;;;;N;;;;; +E007B;TAG LEFT CURLY BRACKET;Cf;0;BN;;;;;N;;;;; +E007C;TAG VERTICAL LINE;Cf;0;BN;;;;;N;;;;; +E007D;TAG RIGHT CURLY BRACKET;Cf;0;BN;;;;;N;;;;; +E007E;TAG TILDE;Cf;0;BN;;;;;N;;;;; +E007F;CANCEL TAG;Cf;0;BN;;;;;N;;;;; +E0100;VARIATION SELECTOR-17;Mn;0;NSM;;;;;N;;;;; +E0101;VARIATION SELECTOR-18;Mn;0;NSM;;;;;N;;;;; +E0102;VARIATION SELECTOR-19;Mn;0;NSM;;;;;N;;;;; +E0103;VARIATION SELECTOR-20;Mn;0;NSM;;;;;N;;;;; +E0104;VARIATION SELECTOR-21;Mn;0;NSM;;;;;N;;;;; +E0105;VARIATION SELECTOR-22;Mn;0;NSM;;;;;N;;;;; +E0106;VARIATION SELECTOR-23;Mn;0;NSM;;;;;N;;;;; +E0107;VARIATION SELECTOR-24;Mn;0;NSM;;;;;N;;;;; +E0108;VARIATION SELECTOR-25;Mn;0;NSM;;;;;N;;;;; +E0109;VARIATION SELECTOR-26;Mn;0;NSM;;;;;N;;;;; +E010A;VARIATION SELECTOR-27;Mn;0;NSM;;;;;N;;;;; +E010B;VARIATION SELECTOR-28;Mn;0;NSM;;;;;N;;;;; +E010C;VARIATION SELECTOR-29;Mn;0;NSM;;;;;N;;;;; +E010D;VARIATION SELECTOR-30;Mn;0;NSM;;;;;N;;;;; +E010E;VARIATION SELECTOR-31;Mn;0;NSM;;;;;N;;;;; +E010F;VARIATION SELECTOR-32;Mn;0;NSM;;;;;N;;;;; +E0110;VARIATION SELECTOR-33;Mn;0;NSM;;;;;N;;;;; +E0111;VARIATION SELECTOR-34;Mn;0;NSM;;;;;N;;;;; +E0112;VARIATION SELECTOR-35;Mn;0;NSM;;;;;N;;;;; +E0113;VARIATION SELECTOR-36;Mn;0;NSM;;;;;N;;;;; +E0114;VARIATION SELECTOR-37;Mn;0;NSM;;;;;N;;;;; +E0115;VARIATION SELECTOR-38;Mn;0;NSM;;;;;N;;;;; +E0116;VARIATION SELECTOR-39;Mn;0;NSM;;;;;N;;;;; +E0117;VARIATION SELECTOR-40;Mn;0;NSM;;;;;N;;;;; +E0118;VARIATION SELECTOR-41;Mn;0;NSM;;;;;N;;;;; +E0119;VARIATION SELECTOR-42;Mn;0;NSM;;;;;N;;;;; +E011A;VARIATION SELECTOR-43;Mn;0;NSM;;;;;N;;;;; +E011B;VARIATION SELECTOR-44;Mn;0;NSM;;;;;N;;;;; +E011C;VARIATION SELECTOR-45;Mn;0;NSM;;;;;N;;;;; +E011D;VARIATION SELECTOR-46;Mn;0;NSM;;;;;N;;;;; +E011E;VARIATION SELECTOR-47;Mn;0;NSM;;;;;N;;;;; +E011F;VARIATION SELECTOR-48;Mn;0;NSM;;;;;N;;;;; +E0120;VARIATION SELECTOR-49;Mn;0;NSM;;;;;N;;;;; +E0121;VARIATION SELECTOR-50;Mn;0;NSM;;;;;N;;;;; +E0122;VARIATION SELECTOR-51;Mn;0;NSM;;;;;N;;;;; +E0123;VARIATION SELECTOR-52;Mn;0;NSM;;;;;N;;;;; +E0124;VARIATION SELECTOR-53;Mn;0;NSM;;;;;N;;;;; +E0125;VARIATION SELECTOR-54;Mn;0;NSM;;;;;N;;;;; +E0126;VARIATION SELECTOR-55;Mn;0;NSM;;;;;N;;;;; +E0127;VARIATION SELECTOR-56;Mn;0;NSM;;;;;N;;;;; +E0128;VARIATION SELECTOR-57;Mn;0;NSM;;;;;N;;;;; +E0129;VARIATION SELECTOR-58;Mn;0;NSM;;;;;N;;;;; +E012A;VARIATION SELECTOR-59;Mn;0;NSM;;;;;N;;;;; +E012B;VARIATION SELECTOR-60;Mn;0;NSM;;;;;N;;;;; +E012C;VARIATION SELECTOR-61;Mn;0;NSM;;;;;N;;;;; +E012D;VARIATION SELECTOR-62;Mn;0;NSM;;;;;N;;;;; +E012E;VARIATION SELECTOR-63;Mn;0;NSM;;;;;N;;;;; +E012F;VARIATION SELECTOR-64;Mn;0;NSM;;;;;N;;;;; +E0130;VARIATION SELECTOR-65;Mn;0;NSM;;;;;N;;;;; +E0131;VARIATION SELECTOR-66;Mn;0;NSM;;;;;N;;;;; +E0132;VARIATION SELECTOR-67;Mn;0;NSM;;;;;N;;;;; +E0133;VARIATION SELECTOR-68;Mn;0;NSM;;;;;N;;;;; +E0134;VARIATION SELECTOR-69;Mn;0;NSM;;;;;N;;;;; +E0135;VARIATION SELECTOR-70;Mn;0;NSM;;;;;N;;;;; +E0136;VARIATION SELECTOR-71;Mn;0;NSM;;;;;N;;;;; +E0137;VARIATION SELECTOR-72;Mn;0;NSM;;;;;N;;;;; +E0138;VARIATION SELECTOR-73;Mn;0;NSM;;;;;N;;;;; +E0139;VARIATION SELECTOR-74;Mn;0;NSM;;;;;N;;;;; +E013A;VARIATION SELECTOR-75;Mn;0;NSM;;;;;N;;;;; +E013B;VARIATION SELECTOR-76;Mn;0;NSM;;;;;N;;;;; +E013C;VARIATION SELECTOR-77;Mn;0;NSM;;;;;N;;;;; +E013D;VARIATION SELECTOR-78;Mn;0;NSM;;;;;N;;;;; +E013E;VARIATION SELECTOR-79;Mn;0;NSM;;;;;N;;;;; +E013F;VARIATION SELECTOR-80;Mn;0;NSM;;;;;N;;;;; +E0140;VARIATION SELECTOR-81;Mn;0;NSM;;;;;N;;;;; +E0141;VARIATION SELECTOR-82;Mn;0;NSM;;;;;N;;;;; +E0142;VARIATION SELECTOR-83;Mn;0;NSM;;;;;N;;;;; +E0143;VARIATION SELECTOR-84;Mn;0;NSM;;;;;N;;;;; +E0144;VARIATION SELECTOR-85;Mn;0;NSM;;;;;N;;;;; +E0145;VARIATION SELECTOR-86;Mn;0;NSM;;;;;N;;;;; +E0146;VARIATION SELECTOR-87;Mn;0;NSM;;;;;N;;;;; +E0147;VARIATION SELECTOR-88;Mn;0;NSM;;;;;N;;;;; +E0148;VARIATION SELECTOR-89;Mn;0;NSM;;;;;N;;;;; +E0149;VARIATION SELECTOR-90;Mn;0;NSM;;;;;N;;;;; +E014A;VARIATION SELECTOR-91;Mn;0;NSM;;;;;N;;;;; +E014B;VARIATION SELECTOR-92;Mn;0;NSM;;;;;N;;;;; +E014C;VARIATION SELECTOR-93;Mn;0;NSM;;;;;N;;;;; +E014D;VARIATION SELECTOR-94;Mn;0;NSM;;;;;N;;;;; +E014E;VARIATION SELECTOR-95;Mn;0;NSM;;;;;N;;;;; +E014F;VARIATION SELECTOR-96;Mn;0;NSM;;;;;N;;;;; +E0150;VARIATION SELECTOR-97;Mn;0;NSM;;;;;N;;;;; +E0151;VARIATION SELECTOR-98;Mn;0;NSM;;;;;N;;;;; +E0152;VARIATION SELECTOR-99;Mn;0;NSM;;;;;N;;;;; +E0153;VARIATION SELECTOR-100;Mn;0;NSM;;;;;N;;;;; +E0154;VARIATION SELECTOR-101;Mn;0;NSM;;;;;N;;;;; +E0155;VARIATION SELECTOR-102;Mn;0;NSM;;;;;N;;;;; +E0156;VARIATION SELECTOR-103;Mn;0;NSM;;;;;N;;;;; +E0157;VARIATION SELECTOR-104;Mn;0;NSM;;;;;N;;;;; +E0158;VARIATION SELECTOR-105;Mn;0;NSM;;;;;N;;;;; +E0159;VARIATION SELECTOR-106;Mn;0;NSM;;;;;N;;;;; +E015A;VARIATION SELECTOR-107;Mn;0;NSM;;;;;N;;;;; +E015B;VARIATION SELECTOR-108;Mn;0;NSM;;;;;N;;;;; +E015C;VARIATION SELECTOR-109;Mn;0;NSM;;;;;N;;;;; +E015D;VARIATION SELECTOR-110;Mn;0;NSM;;;;;N;;;;; +E015E;VARIATION SELECTOR-111;Mn;0;NSM;;;;;N;;;;; +E015F;VARIATION SELECTOR-112;Mn;0;NSM;;;;;N;;;;; +E0160;VARIATION SELECTOR-113;Mn;0;NSM;;;;;N;;;;; +E0161;VARIATION SELECTOR-114;Mn;0;NSM;;;;;N;;;;; +E0162;VARIATION SELECTOR-115;Mn;0;NSM;;;;;N;;;;; +E0163;VARIATION SELECTOR-116;Mn;0;NSM;;;;;N;;;;; +E0164;VARIATION SELECTOR-117;Mn;0;NSM;;;;;N;;;;; +E0165;VARIATION SELECTOR-118;Mn;0;NSM;;;;;N;;;;; +E0166;VARIATION SELECTOR-119;Mn;0;NSM;;;;;N;;;;; +E0167;VARIATION SELECTOR-120;Mn;0;NSM;;;;;N;;;;; +E0168;VARIATION SELECTOR-121;Mn;0;NSM;;;;;N;;;;; +E0169;VARIATION SELECTOR-122;Mn;0;NSM;;;;;N;;;;; +E016A;VARIATION SELECTOR-123;Mn;0;NSM;;;;;N;;;;; +E016B;VARIATION SELECTOR-124;Mn;0;NSM;;;;;N;;;;; +E016C;VARIATION SELECTOR-125;Mn;0;NSM;;;;;N;;;;; +E016D;VARIATION SELECTOR-126;Mn;0;NSM;;;;;N;;;;; +E016E;VARIATION SELECTOR-127;Mn;0;NSM;;;;;N;;;;; +E016F;VARIATION SELECTOR-128;Mn;0;NSM;;;;;N;;;;; +E0170;VARIATION SELECTOR-129;Mn;0;NSM;;;;;N;;;;; +E0171;VARIATION SELECTOR-130;Mn;0;NSM;;;;;N;;;;; +E0172;VARIATION SELECTOR-131;Mn;0;NSM;;;;;N;;;;; +E0173;VARIATION SELECTOR-132;Mn;0;NSM;;;;;N;;;;; +E0174;VARIATION SELECTOR-133;Mn;0;NSM;;;;;N;;;;; +E0175;VARIATION SELECTOR-134;Mn;0;NSM;;;;;N;;;;; +E0176;VARIATION SELECTOR-135;Mn;0;NSM;;;;;N;;;;; +E0177;VARIATION SELECTOR-136;Mn;0;NSM;;;;;N;;;;; +E0178;VARIATION SELECTOR-137;Mn;0;NSM;;;;;N;;;;; +E0179;VARIATION SELECTOR-138;Mn;0;NSM;;;;;N;;;;; +E017A;VARIATION SELECTOR-139;Mn;0;NSM;;;;;N;;;;; +E017B;VARIATION SELECTOR-140;Mn;0;NSM;;;;;N;;;;; +E017C;VARIATION SELECTOR-141;Mn;0;NSM;;;;;N;;;;; +E017D;VARIATION SELECTOR-142;Mn;0;NSM;;;;;N;;;;; +E017E;VARIATION SELECTOR-143;Mn;0;NSM;;;;;N;;;;; +E017F;VARIATION SELECTOR-144;Mn;0;NSM;;;;;N;;;;; +E0180;VARIATION SELECTOR-145;Mn;0;NSM;;;;;N;;;;; +E0181;VARIATION SELECTOR-146;Mn;0;NSM;;;;;N;;;;; +E0182;VARIATION SELECTOR-147;Mn;0;NSM;;;;;N;;;;; +E0183;VARIATION SELECTOR-148;Mn;0;NSM;;;;;N;;;;; +E0184;VARIATION SELECTOR-149;Mn;0;NSM;;;;;N;;;;; +E0185;VARIATION SELECTOR-150;Mn;0;NSM;;;;;N;;;;; +E0186;VARIATION SELECTOR-151;Mn;0;NSM;;;;;N;;;;; +E0187;VARIATION SELECTOR-152;Mn;0;NSM;;;;;N;;;;; +E0188;VARIATION SELECTOR-153;Mn;0;NSM;;;;;N;;;;; +E0189;VARIATION SELECTOR-154;Mn;0;NSM;;;;;N;;;;; +E018A;VARIATION SELECTOR-155;Mn;0;NSM;;;;;N;;;;; +E018B;VARIATION SELECTOR-156;Mn;0;NSM;;;;;N;;;;; +E018C;VARIATION SELECTOR-157;Mn;0;NSM;;;;;N;;;;; +E018D;VARIATION SELECTOR-158;Mn;0;NSM;;;;;N;;;;; +E018E;VARIATION SELECTOR-159;Mn;0;NSM;;;;;N;;;;; +E018F;VARIATION SELECTOR-160;Mn;0;NSM;;;;;N;;;;; +E0190;VARIATION SELECTOR-161;Mn;0;NSM;;;;;N;;;;; +E0191;VARIATION SELECTOR-162;Mn;0;NSM;;;;;N;;;;; +E0192;VARIATION SELECTOR-163;Mn;0;NSM;;;;;N;;;;; +E0193;VARIATION SELECTOR-164;Mn;0;NSM;;;;;N;;;;; +E0194;VARIATION SELECTOR-165;Mn;0;NSM;;;;;N;;;;; +E0195;VARIATION SELECTOR-166;Mn;0;NSM;;;;;N;;;;; +E0196;VARIATION SELECTOR-167;Mn;0;NSM;;;;;N;;;;; +E0197;VARIATION SELECTOR-168;Mn;0;NSM;;;;;N;;;;; +E0198;VARIATION SELECTOR-169;Mn;0;NSM;;;;;N;;;;; +E0199;VARIATION SELECTOR-170;Mn;0;NSM;;;;;N;;;;; +E019A;VARIATION SELECTOR-171;Mn;0;NSM;;;;;N;;;;; +E019B;VARIATION SELECTOR-172;Mn;0;NSM;;;;;N;;;;; +E019C;VARIATION SELECTOR-173;Mn;0;NSM;;;;;N;;;;; +E019D;VARIATION SELECTOR-174;Mn;0;NSM;;;;;N;;;;; +E019E;VARIATION SELECTOR-175;Mn;0;NSM;;;;;N;;;;; +E019F;VARIATION SELECTOR-176;Mn;0;NSM;;;;;N;;;;; +E01A0;VARIATION SELECTOR-177;Mn;0;NSM;;;;;N;;;;; +E01A1;VARIATION SELECTOR-178;Mn;0;NSM;;;;;N;;;;; +E01A2;VARIATION SELECTOR-179;Mn;0;NSM;;;;;N;;;;; +E01A3;VARIATION SELECTOR-180;Mn;0;NSM;;;;;N;;;;; +E01A4;VARIATION SELECTOR-181;Mn;0;NSM;;;;;N;;;;; +E01A5;VARIATION SELECTOR-182;Mn;0;NSM;;;;;N;;;;; +E01A6;VARIATION SELECTOR-183;Mn;0;NSM;;;;;N;;;;; +E01A7;VARIATION SELECTOR-184;Mn;0;NSM;;;;;N;;;;; +E01A8;VARIATION SELECTOR-185;Mn;0;NSM;;;;;N;;;;; +E01A9;VARIATION SELECTOR-186;Mn;0;NSM;;;;;N;;;;; +E01AA;VARIATION SELECTOR-187;Mn;0;NSM;;;;;N;;;;; +E01AB;VARIATION SELECTOR-188;Mn;0;NSM;;;;;N;;;;; +E01AC;VARIATION SELECTOR-189;Mn;0;NSM;;;;;N;;;;; +E01AD;VARIATION SELECTOR-190;Mn;0;NSM;;;;;N;;;;; +E01AE;VARIATION SELECTOR-191;Mn;0;NSM;;;;;N;;;;; +E01AF;VARIATION SELECTOR-192;Mn;0;NSM;;;;;N;;;;; +E01B0;VARIATION SELECTOR-193;Mn;0;NSM;;;;;N;;;;; +E01B1;VARIATION SELECTOR-194;Mn;0;NSM;;;;;N;;;;; +E01B2;VARIATION SELECTOR-195;Mn;0;NSM;;;;;N;;;;; +E01B3;VARIATION SELECTOR-196;Mn;0;NSM;;;;;N;;;;; +E01B4;VARIATION SELECTOR-197;Mn;0;NSM;;;;;N;;;;; +E01B5;VARIATION SELECTOR-198;Mn;0;NSM;;;;;N;;;;; +E01B6;VARIATION SELECTOR-199;Mn;0;NSM;;;;;N;;;;; +E01B7;VARIATION SELECTOR-200;Mn;0;NSM;;;;;N;;;;; +E01B8;VARIATION SELECTOR-201;Mn;0;NSM;;;;;N;;;;; +E01B9;VARIATION SELECTOR-202;Mn;0;NSM;;;;;N;;;;; +E01BA;VARIATION SELECTOR-203;Mn;0;NSM;;;;;N;;;;; +E01BB;VARIATION SELECTOR-204;Mn;0;NSM;;;;;N;;;;; +E01BC;VARIATION SELECTOR-205;Mn;0;NSM;;;;;N;;;;; +E01BD;VARIATION SELECTOR-206;Mn;0;NSM;;;;;N;;;;; +E01BE;VARIATION SELECTOR-207;Mn;0;NSM;;;;;N;;;;; +E01BF;VARIATION SELECTOR-208;Mn;0;NSM;;;;;N;;;;; +E01C0;VARIATION SELECTOR-209;Mn;0;NSM;;;;;N;;;;; +E01C1;VARIATION SELECTOR-210;Mn;0;NSM;;;;;N;;;;; +E01C2;VARIATION SELECTOR-211;Mn;0;NSM;;;;;N;;;;; +E01C3;VARIATION SELECTOR-212;Mn;0;NSM;;;;;N;;;;; +E01C4;VARIATION SELECTOR-213;Mn;0;NSM;;;;;N;;;;; +E01C5;VARIATION SELECTOR-214;Mn;0;NSM;;;;;N;;;;; +E01C6;VARIATION SELECTOR-215;Mn;0;NSM;;;;;N;;;;; +E01C7;VARIATION SELECTOR-216;Mn;0;NSM;;;;;N;;;;; +E01C8;VARIATION SELECTOR-217;Mn;0;NSM;;;;;N;;;;; +E01C9;VARIATION SELECTOR-218;Mn;0;NSM;;;;;N;;;;; +E01CA;VARIATION SELECTOR-219;Mn;0;NSM;;;;;N;;;;; +E01CB;VARIATION SELECTOR-220;Mn;0;NSM;;;;;N;;;;; +E01CC;VARIATION SELECTOR-221;Mn;0;NSM;;;;;N;;;;; +E01CD;VARIATION SELECTOR-222;Mn;0;NSM;;;;;N;;;;; +E01CE;VARIATION SELECTOR-223;Mn;0;NSM;;;;;N;;;;; +E01CF;VARIATION SELECTOR-224;Mn;0;NSM;;;;;N;;;;; +E01D0;VARIATION SELECTOR-225;Mn;0;NSM;;;;;N;;;;; +E01D1;VARIATION SELECTOR-226;Mn;0;NSM;;;;;N;;;;; +E01D2;VARIATION SELECTOR-227;Mn;0;NSM;;;;;N;;;;; +E01D3;VARIATION SELECTOR-228;Mn;0;NSM;;;;;N;;;;; +E01D4;VARIATION SELECTOR-229;Mn;0;NSM;;;;;N;;;;; +E01D5;VARIATION SELECTOR-230;Mn;0;NSM;;;;;N;;;;; +E01D6;VARIATION SELECTOR-231;Mn;0;NSM;;;;;N;;;;; +E01D7;VARIATION SELECTOR-232;Mn;0;NSM;;;;;N;;;;; +E01D8;VARIATION SELECTOR-233;Mn;0;NSM;;;;;N;;;;; +E01D9;VARIATION SELECTOR-234;Mn;0;NSM;;;;;N;;;;; +E01DA;VARIATION SELECTOR-235;Mn;0;NSM;;;;;N;;;;; +E01DB;VARIATION SELECTOR-236;Mn;0;NSM;;;;;N;;;;; +E01DC;VARIATION SELECTOR-237;Mn;0;NSM;;;;;N;;;;; +E01DD;VARIATION SELECTOR-238;Mn;0;NSM;;;;;N;;;;; +E01DE;VARIATION SELECTOR-239;Mn;0;NSM;;;;;N;;;;; +E01DF;VARIATION SELECTOR-240;Mn;0;NSM;;;;;N;;;;; +E01E0;VARIATION SELECTOR-241;Mn;0;NSM;;;;;N;;;;; +E01E1;VARIATION SELECTOR-242;Mn;0;NSM;;;;;N;;;;; +E01E2;VARIATION SELECTOR-243;Mn;0;NSM;;;;;N;;;;; +E01E3;VARIATION SELECTOR-244;Mn;0;NSM;;;;;N;;;;; +E01E4;VARIATION SELECTOR-245;Mn;0;NSM;;;;;N;;;;; +E01E5;VARIATION SELECTOR-246;Mn;0;NSM;;;;;N;;;;; +E01E6;VARIATION SELECTOR-247;Mn;0;NSM;;;;;N;;;;; +E01E7;VARIATION SELECTOR-248;Mn;0;NSM;;;;;N;;;;; +E01E8;VARIATION SELECTOR-249;Mn;0;NSM;;;;;N;;;;; +E01E9;VARIATION SELECTOR-250;Mn;0;NSM;;;;;N;;;;; +E01EA;VARIATION SELECTOR-251;Mn;0;NSM;;;;;N;;;;; +E01EB;VARIATION SELECTOR-252;Mn;0;NSM;;;;;N;;;;; +E01EC;VARIATION SELECTOR-253;Mn;0;NSM;;;;;N;;;;; +E01ED;VARIATION SELECTOR-254;Mn;0;NSM;;;;;N;;;;; +E01EE;VARIATION SELECTOR-255;Mn;0;NSM;;;;;N;;;;; +E01EF;VARIATION SELECTOR-256;Mn;0;NSM;;;;;N;;;;; diff --git a/tests/uniname/test-uninames.c b/tests/uniname/test-uninames.c new file mode 100644 index 00000000..1408434b --- /dev/null +++ b/tests/uniname/test-uninames.c @@ -0,0 +1,261 @@ +/* Test the Unicode character name functions. + Copyright (C) 2000-2003, 2005, 2007, 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include +#include +#include + +#include "xalloc.h" +#include "uniname.h" +#include "progname.h" + +/* The names according to the UnicodeData.txt file, modified to contain the + Hangul syllable names, as described in the Unicode 3.0 book. */ +const char * unicode_names [0x110000]; + +/* Maximum length of a field in the UnicodeData.txt file. */ +#define FIELDLEN 120 + +/* Reads the next field from STREAM. The buffer BUFFER has size FIELDLEN. + Reads up to (but excluding) DELIM. + Returns 1 when a field was successfully read, otherwise 0. */ +static int +getfield (FILE *stream, char *buffer, int delim) +{ + int count = 0; + int c; + + for (; (c = getc (stream)), (c != EOF && c != delim); ) + { + /* Put c into the buffer. */ + if (++count >= FIELDLEN - 1) + { + fprintf (stderr, "field too long\n"); + exit (EXIT_FAILURE); + } + *buffer++ = c; + } + + if (c == EOF) + return 0; + + *buffer = '\0'; + return 1; +} + +/* Stores in unicode_names[] the relevant contents of the UnicodeData.txt + file. */ +static void +fill_names (const char *unicodedata_filename) +{ + unsigned int i; + FILE *stream; + char field0[FIELDLEN]; + char field1[FIELDLEN]; + int lineno = 0; + + for (i = 0; i < 0x110000; i++) + unicode_names[i] = NULL; + + stream = fopen (unicodedata_filename, "r"); + if (stream == NULL) + { + fprintf (stderr, "error during fopen of '%s'\n", unicodedata_filename); + exit (EXIT_FAILURE); + } + + for (;;) + { + int n; + int c; + + lineno++; + n = getfield (stream, field0, ';'); + n += getfield (stream, field1, ';'); + if (n == 0) + break; + if (n != 2) + { + fprintf (stderr, "short line in '%s':%d\n", + unicodedata_filename, lineno); + exit (EXIT_FAILURE); + } + for (; (c = getc (stream)), (c != EOF && c != '\n'); ) + ; + i = strtoul (field0, NULL, 16); + if (i >= 0x110000) + { + fprintf (stderr, "index too large\n"); + exit (EXIT_FAILURE); + } + unicode_names[i] = xstrdup (field1); + } + if (ferror (stream) || fclose (stream)) + { + fprintf (stderr, "error reading from '%s'\n", unicodedata_filename); + exit (1); + } +} + +/* Perform an exhaustive test of the unicode_character_name function. */ +static int +test_name_lookup () +{ + int error = 0; + unsigned int i; + char buf[UNINAME_MAX]; + + for (i = 0; i < 0x11000; i++) + { + char *result = unicode_character_name (i, buf); + + if (unicode_names[i] != NULL) + { + if (result == NULL) + { + fprintf (stderr, "\\u%04X name lookup failed!\n", i); + error = 1; + } + else if (strcmp (result, unicode_names[i]) != 0) + { + fprintf (stderr, "\\u%04X name lookup returned wrong name: %s\n", + i, result); + error = 1; + } + } + else + { + if (result != NULL) + { + fprintf (stderr, "\\u%04X name lookup returned wrong name: %s\n", + i, result); + error = 1; + } + } + } + + for (i = 0x110000; i < 0x1000000; i++) + { + char *result = unicode_character_name (i, buf); + + if (result != NULL) + { + fprintf (stderr, "\\u%04X name lookup returned wrong name: %s\n", + i, result); + error = 1; + } + } + + return error; +} + +/* Perform a test of the unicode_name_character function. */ +static int +test_inverse_lookup () +{ + int error = 0; + unsigned int i; + + /* First, verify all valid character names are recognized. */ + for (i = 0; i < 0x110000; i++) + if (unicode_names[i] != NULL) + { + unsigned int result = unicode_name_character (unicode_names[i]); + if (result != i) + { + if (result == UNINAME_INVALID) + fprintf (stderr, "inverse name lookup of \"%s\" failed\n", + unicode_names[i]); + else + fprintf (stderr, + "inverse name lookup of \"%s\" returned 0x%04X\n", + unicode_names[i], result); + error = 1; + } + } + + /* Second, generate random but likely names and verify they are not + recognized unless really valid. */ + for (i = 0; i < 10000; i++) + { + unsigned int i1, i2; + const char *s1; + const char *s2; + unsigned int l1, l2, j1, j2; + char buf[2*UNINAME_MAX]; + unsigned int result; + + do i1 = ((rand () % 0x11) << 16) + + ((rand () & 0xff) << 8) + + (rand () & 0xff); + while (unicode_names[i1] == NULL); + + do i2 = ((rand () % 0x11) << 16) + + ((rand () & 0xff) << 8) + + (rand () & 0xff); + while (unicode_names[i2] == NULL); + + s1 = unicode_names[i1]; + l1 = strlen (s1); + s2 = unicode_names[i2]; + l2 = strlen (s2); + + /* Concatenate a starting piece of s1 with an ending piece of s2. */ + for (j1 = 1; j1 <= l1; j1++) + if (j1 == l1 || s1[j1] == ' ') + for (j2 = 0; j2 < l2; j2++) + if (j2 == 0 || s2[j2-1] == ' ') + { + memcpy (buf, s1, j1); + buf[j1] = ' '; + memcpy (buf + j1 + 1, s2 + j2, l2 - j2 + 1); + + result = unicode_name_character (buf); + if (result != UNINAME_INVALID + && !(unicode_names[result] != NULL + && strcmp (unicode_names[result], buf) == 0)) + { + fprintf (stderr, + "inverse name lookup of \"%s\" returned 0x%04X\n", + unicode_names[i], result); + error = 1; + } + } + } + + /* Third, some extreme case that used to loop. */ + if (unicode_name_character ("A A") != UNINAME_INVALID) + error = 1; + + return error; +} + +int +main (int argc, char *argv[]) +{ + int error = 0; + + set_program_name (argv[0]); + + fill_names (argv[1]); + + error |= test_name_lookup (); + error |= test_inverse_lookup (); + + return error; +} diff --git a/tests/uniname/test-uninames.sh b/tests/uniname/test-uninames.sh new file mode 100755 index 00000000..f26c275e --- /dev/null +++ b/tests/uniname/test-uninames.sh @@ -0,0 +1,2 @@ +#!/bin/sh +exec ./test-uninames${EXEEXT} "$srcdir/uniname/UnicodeDataNames.txt" diff --git a/tests/uninorm/NormalizationTest.txt b/tests/uninorm/NormalizationTest.txt new file mode 100644 index 00000000..0bb97659 --- /dev/null +++ b/tests/uninorm/NormalizationTest.txt @@ -0,0 +1,17819 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@Part0 + +1E0A;1E0A;0044 0307;1E0A;0044 0307; +1E0C;1E0C;0044 0323;1E0C;0044 0323; +1E0A 0323;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307; +1E0C 0307;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307; +0044 0307 0323;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307; +0044 0323 0307;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307; +1E0A 031B;1E0A 031B;0044 031B 0307;1E0A 031B;0044 031B 0307; +1E0C 031B;1E0C 031B;0044 031B 0323;1E0C 031B;0044 031B 0323; +1E0A 031B 0323;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307; +1E0C 031B 0307;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307; +0044 031B 0307 0323;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307; +0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307; +00C8;00C8;0045 0300;00C8;0045 0300; +0112;0112;0045 0304;0112;0045 0304; +0045 0300;00C8;0045 0300;00C8;0045 0300; +0045 0304;0112;0045 0304;0112;0045 0304; +1E14;1E14;0045 0304 0300;1E14;0045 0304 0300; +0112 0300;1E14;0045 0304 0300;1E14;0045 0304 0300; +1E14 0304;1E14 0304;0045 0304 0300 0304;1E14 0304;0045 0304 0300 0304; +0045 0304 0300;1E14;0045 0304 0300;1E14;0045 0304 0300; +0045 0300 0304;00C8 0304;0045 0300 0304;00C8 0304;0045 0300 0304; +05B8 05B9 05B1 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F; +0592 05B7 05BC 05A5 05B0 05C0 05C4 05AD;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4; + +@Part1 + + +00A0;00A0;00A0;0020;0020; +00A8;00A8;00A8;0020 0308;0020 0308; +00AA;00AA;00AA;0061;0061; +00AF;00AF;00AF;0020 0304;0020 0304; +00B2;00B2;00B2;0032;0032; +00B3;00B3;00B3;0033;0033; +00B4;00B4;00B4;0020 0301;0020 0301; +00B5;00B5;00B5;03BC;03BC; +00B8;00B8;00B8;0020 0327;0020 0327; +00B9;00B9;00B9;0031;0031; +00BA;00BA;00BA;006F;006F; +00BC;00BC;00BC;0031 2044 0034;0031 2044 0034; +00BD;00BD;00BD;0031 2044 0032;0031 2044 0032; +00BE;00BE;00BE;0033 2044 0034;0033 2044 0034; +00C0;00C0;0041 0300;00C0;0041 0300; +00C1;00C1;0041 0301;00C1;0041 0301; +00C2;00C2;0041 0302;00C2;0041 0302; +00C3;00C3;0041 0303;00C3;0041 0303; +00C4;00C4;0041 0308;00C4;0041 0308; +00C5;00C5;0041 030A;00C5;0041 030A; +00C7;00C7;0043 0327;00C7;0043 0327; +00C8;00C8;0045 0300;00C8;0045 0300; +00C9;00C9;0045 0301;00C9;0045 0301; +00CA;00CA;0045 0302;00CA;0045 0302; +00CB;00CB;0045 0308;00CB;0045 0308; +00CC;00CC;0049 0300;00CC;0049 0300; +00CD;00CD;0049 0301;00CD;0049 0301; +00CE;00CE;0049 0302;00CE;0049 0302; +00CF;00CF;0049 0308;00CF;0049 0308; +00D1;00D1;004E 0303;00D1;004E 0303; +00D2;00D2;004F 0300;00D2;004F 0300; +00D3;00D3;004F 0301;00D3;004F 0301; +00D4;00D4;004F 0302;00D4;004F 0302; +00D5;00D5;004F 0303;00D5;004F 0303; +00D6;00D6;004F 0308;00D6;004F 0308; +00D9;00D9;0055 0300;00D9;0055 0300; +00DA;00DA;0055 0301;00DA;0055 0301; +00DB;00DB;0055 0302;00DB;0055 0302; +00DC;00DC;0055 0308;00DC;0055 0308; +00DD;00DD;0059 0301;00DD;0059 0301; +00E0;00E0;0061 0300;00E0;0061 0300; +00E1;00E1;0061 0301;00E1;0061 0301; +00E2;00E2;0061 0302;00E2;0061 0302; +00E3;00E3;0061 0303;00E3;0061 0303; +00E4;00E4;0061 0308;00E4;0061 0308; +00E5;00E5;0061 030A;00E5;0061 030A; +00E7;00E7;0063 0327;00E7;0063 0327; +00E8;00E8;0065 0300;00E8;0065 0300; +00E9;00E9;0065 0301;00E9;0065 0301; +00EA;00EA;0065 0302;00EA;0065 0302; +00EB;00EB;0065 0308;00EB;0065 0308; +00EC;00EC;0069 0300;00EC;0069 0300; +00ED;00ED;0069 0301;00ED;0069 0301; +00EE;00EE;0069 0302;00EE;0069 0302; +00EF;00EF;0069 0308;00EF;0069 0308; +00F1;00F1;006E 0303;00F1;006E 0303; +00F2;00F2;006F 0300;00F2;006F 0300; +00F3;00F3;006F 0301;00F3;006F 0301; +00F4;00F4;006F 0302;00F4;006F 0302; +00F5;00F5;006F 0303;00F5;006F 0303; +00F6;00F6;006F 0308;00F6;006F 0308; +00F9;00F9;0075 0300;00F9;0075 0300; +00FA;00FA;0075 0301;00FA;0075 0301; +00FB;00FB;0075 0302;00FB;0075 0302; +00FC;00FC;0075 0308;00FC;0075 0308; +00FD;00FD;0079 0301;00FD;0079 0301; +00FF;00FF;0079 0308;00FF;0079 0308; +0100;0100;0041 0304;0100;0041 0304; +0101;0101;0061 0304;0101;0061 0304; +0102;0102;0041 0306;0102;0041 0306; +0103;0103;0061 0306;0103;0061 0306; +0104;0104;0041 0328;0104;0041 0328; +0105;0105;0061 0328;0105;0061 0328; +0106;0106;0043 0301;0106;0043 0301; +0107;0107;0063 0301;0107;0063 0301; +0108;0108;0043 0302;0108;0043 0302; +0109;0109;0063 0302;0109;0063 0302; +010A;010A;0043 0307;010A;0043 0307; +010B;010B;0063 0307;010B;0063 0307; +010C;010C;0043 030C;010C;0043 030C; +010D;010D;0063 030C;010D;0063 030C; +010E;010E;0044 030C;010E;0044 030C; +010F;010F;0064 030C;010F;0064 030C; +0112;0112;0045 0304;0112;0045 0304; +0113;0113;0065 0304;0113;0065 0304; +0114;0114;0045 0306;0114;0045 0306; +0115;0115;0065 0306;0115;0065 0306; +0116;0116;0045 0307;0116;0045 0307; +0117;0117;0065 0307;0117;0065 0307; +0118;0118;0045 0328;0118;0045 0328; +0119;0119;0065 0328;0119;0065 0328; +011A;011A;0045 030C;011A;0045 030C; +011B;011B;0065 030C;011B;0065 030C; +011C;011C;0047 0302;011C;0047 0302; +011D;011D;0067 0302;011D;0067 0302; +011E;011E;0047 0306;011E;0047 0306; +011F;011F;0067 0306;011F;0067 0306; +0120;0120;0047 0307;0120;0047 0307; +0121;0121;0067 0307;0121;0067 0307; +0122;0122;0047 0327;0122;0047 0327; +0123;0123;0067 0327;0123;0067 0327; +0124;0124;0048 0302;0124;0048 0302; +0125;0125;0068 0302;0125;0068 0302; +0128;0128;0049 0303;0128;0049 0303; +0129;0129;0069 0303;0129;0069 0303; +012A;012A;0049 0304;012A;0049 0304; +012B;012B;0069 0304;012B;0069 0304; +012C;012C;0049 0306;012C;0049 0306; +012D;012D;0069 0306;012D;0069 0306; +012E;012E;0049 0328;012E;0049 0328; +012F;012F;0069 0328;012F;0069 0328; +0130;0130;0049 0307;0130;0049 0307; +0132;0132;0132;0049 004A;0049 004A; +0133;0133;0133;0069 006A;0069 006A; +0134;0134;004A 0302;0134;004A 0302; +0135;0135;006A 0302;0135;006A 0302; +0136;0136;004B 0327;0136;004B 0327; +0137;0137;006B 0327;0137;006B 0327; +0139;0139;004C 0301;0139;004C 0301; +013A;013A;006C 0301;013A;006C 0301; +013B;013B;004C 0327;013B;004C 0327; +013C;013C;006C 0327;013C;006C 0327; +013D;013D;004C 030C;013D;004C 030C; +013E;013E;006C 030C;013E;006C 030C; +013F;013F;013F;004C 00B7;004C 00B7; +0140;0140;0140;006C 00B7;006C 00B7; +0143;0143;004E 0301;0143;004E 0301; +0144;0144;006E 0301;0144;006E 0301; +0145;0145;004E 0327;0145;004E 0327; +0146;0146;006E 0327;0146;006E 0327; +0147;0147;004E 030C;0147;004E 030C; +0148;0148;006E 030C;0148;006E 030C; +0149;0149;0149;02BC 006E;02BC 006E; +014C;014C;004F 0304;014C;004F 0304; +014D;014D;006F 0304;014D;006F 0304; +014E;014E;004F 0306;014E;004F 0306; +014F;014F;006F 0306;014F;006F 0306; +0150;0150;004F 030B;0150;004F 030B; +0151;0151;006F 030B;0151;006F 030B; +0154;0154;0052 0301;0154;0052 0301; +0155;0155;0072 0301;0155;0072 0301; +0156;0156;0052 0327;0156;0052 0327; +0157;0157;0072 0327;0157;0072 0327; +0158;0158;0052 030C;0158;0052 030C; +0159;0159;0072 030C;0159;0072 030C; +015A;015A;0053 0301;015A;0053 0301; +015B;015B;0073 0301;015B;0073 0301; +015C;015C;0053 0302;015C;0053 0302; +015D;015D;0073 0302;015D;0073 0302; +015E;015E;0053 0327;015E;0053 0327; +015F;015F;0073 0327;015F;0073 0327; +0160;0160;0053 030C;0160;0053 030C; +0161;0161;0073 030C;0161;0073 030C; +0162;0162;0054 0327;0162;0054 0327; +0163;0163;0074 0327;0163;0074 0327; +0164;0164;0054 030C;0164;0054 030C; +0165;0165;0074 030C;0165;0074 030C; +0168;0168;0055 0303;0168;0055 0303; +0169;0169;0075 0303;0169;0075 0303; +016A;016A;0055 0304;016A;0055 0304; +016B;016B;0075 0304;016B;0075 0304; +016C;016C;0055 0306;016C;0055 0306; +016D;016D;0075 0306;016D;0075 0306; +016E;016E;0055 030A;016E;0055 030A; +016F;016F;0075 030A;016F;0075 030A; +0170;0170;0055 030B;0170;0055 030B; +0171;0171;0075 030B;0171;0075 030B; +0172;0172;0055 0328;0172;0055 0328; +0173;0173;0075 0328;0173;0075 0328; +0174;0174;0057 0302;0174;0057 0302; +0175;0175;0077 0302;0175;0077 0302; +0176;0176;0059 0302;0176;0059 0302; +0177;0177;0079 0302;0177;0079 0302; +0178;0178;0059 0308;0178;0059 0308; +0179;0179;005A 0301;0179;005A 0301; +017A;017A;007A 0301;017A;007A 0301; +017B;017B;005A 0307;017B;005A 0307; +017C;017C;007A 0307;017C;007A 0307; +017D;017D;005A 030C;017D;005A 030C; +017E;017E;007A 030C;017E;007A 030C; +017F;017F;017F;0073;0073; +01A0;01A0;004F 031B;01A0;004F 031B; +01A1;01A1;006F 031B;01A1;006F 031B; +01AF;01AF;0055 031B;01AF;0055 031B; +01B0;01B0;0075 031B;01B0;0075 031B; +01C4;01C4;01C4;0044 017D;0044 005A 030C; +01C5;01C5;01C5;0044 017E;0044 007A 030C; +01C6;01C6;01C6;0064 017E;0064 007A 030C; +01C7;01C7;01C7;004C 004A;004C 004A; +01C8;01C8;01C8;004C 006A;004C 006A; +01C9;01C9;01C9;006C 006A;006C 006A; +01CA;01CA;01CA;004E 004A;004E 004A; +01CB;01CB;01CB;004E 006A;004E 006A; +01CC;01CC;01CC;006E 006A;006E 006A; +01CD;01CD;0041 030C;01CD;0041 030C; +01CE;01CE;0061 030C;01CE;0061 030C; +01CF;01CF;0049 030C;01CF;0049 030C; +01D0;01D0;0069 030C;01D0;0069 030C; +01D1;01D1;004F 030C;01D1;004F 030C; +01D2;01D2;006F 030C;01D2;006F 030C; +01D3;01D3;0055 030C;01D3;0055 030C; +01D4;01D4;0075 030C;01D4;0075 030C; +01D5;01D5;0055 0308 0304;01D5;0055 0308 0304; +01D6;01D6;0075 0308 0304;01D6;0075 0308 0304; +01D7;01D7;0055 0308 0301;01D7;0055 0308 0301; +01D8;01D8;0075 0308 0301;01D8;0075 0308 0301; +01D9;01D9;0055 0308 030C;01D9;0055 0308 030C; +01DA;01DA;0075 0308 030C;01DA;0075 0308 030C; +01DB;01DB;0055 0308 0300;01DB;0055 0308 0300; +01DC;01DC;0075 0308 0300;01DC;0075 0308 0300; +01DE;01DE;0041 0308 0304;01DE;0041 0308 0304; +01DF;01DF;0061 0308 0304;01DF;0061 0308 0304; +01E0;01E0;0041 0307 0304;01E0;0041 0307 0304; +01E1;01E1;0061 0307 0304;01E1;0061 0307 0304; +01E2;01E2;00C6 0304;01E2;00C6 0304; +01E3;01E3;00E6 0304;01E3;00E6 0304; +01E6;01E6;0047 030C;01E6;0047 030C; +01E7;01E7;0067 030C;01E7;0067 030C; +01E8;01E8;004B 030C;01E8;004B 030C; +01E9;01E9;006B 030C;01E9;006B 030C; +01EA;01EA;004F 0328;01EA;004F 0328; +01EB;01EB;006F 0328;01EB;006F 0328; +01EC;01EC;004F 0328 0304;01EC;004F 0328 0304; +01ED;01ED;006F 0328 0304;01ED;006F 0328 0304; +01EE;01EE;01B7 030C;01EE;01B7 030C; +01EF;01EF;0292 030C;01EF;0292 030C; +01F0;01F0;006A 030C;01F0;006A 030C; +01F1;01F1;01F1;0044 005A;0044 005A; +01F2;01F2;01F2;0044 007A;0044 007A; +01F3;01F3;01F3;0064 007A;0064 007A; +01F4;01F4;0047 0301;01F4;0047 0301; +01F5;01F5;0067 0301;01F5;0067 0301; +01F8;01F8;004E 0300;01F8;004E 0300; +01F9;01F9;006E 0300;01F9;006E 0300; +01FA;01FA;0041 030A 0301;01FA;0041 030A 0301; +01FB;01FB;0061 030A 0301;01FB;0061 030A 0301; +01FC;01FC;00C6 0301;01FC;00C6 0301; +01FD;01FD;00E6 0301;01FD;00E6 0301; +01FE;01FE;00D8 0301;01FE;00D8 0301; +01FF;01FF;00F8 0301;01FF;00F8 0301; +0200;0200;0041 030F;0200;0041 030F; +0201;0201;0061 030F;0201;0061 030F; +0202;0202;0041 0311;0202;0041 0311; +0203;0203;0061 0311;0203;0061 0311; +0204;0204;0045 030F;0204;0045 030F; +0205;0205;0065 030F;0205;0065 030F; +0206;0206;0045 0311;0206;0045 0311; +0207;0207;0065 0311;0207;0065 0311; +0208;0208;0049 030F;0208;0049 030F; +0209;0209;0069 030F;0209;0069 030F; +020A;020A;0049 0311;020A;0049 0311; +020B;020B;0069 0311;020B;0069 0311; +020C;020C;004F 030F;020C;004F 030F; +020D;020D;006F 030F;020D;006F 030F; +020E;020E;004F 0311;020E;004F 0311; +020F;020F;006F 0311;020F;006F 0311; +0210;0210;0052 030F;0210;0052 030F; +0211;0211;0072 030F;0211;0072 030F; +0212;0212;0052 0311;0212;0052 0311; +0213;0213;0072 0311;0213;0072 0311; +0214;0214;0055 030F;0214;0055 030F; +0215;0215;0075 030F;0215;0075 030F; +0216;0216;0055 0311;0216;0055 0311; +0217;0217;0075 0311;0217;0075 0311; +0218;0218;0053 0326;0218;0053 0326; +0219;0219;0073 0326;0219;0073 0326; +021A;021A;0054 0326;021A;0054 0326; +021B;021B;0074 0326;021B;0074 0326; +021E;021E;0048 030C;021E;0048 030C; +021F;021F;0068 030C;021F;0068 030C; +0226;0226;0041 0307;0226;0041 0307; +0227;0227;0061 0307;0227;0061 0307; +0228;0228;0045 0327;0228;0045 0327; +0229;0229;0065 0327;0229;0065 0327; +022A;022A;004F 0308 0304;022A;004F 0308 0304; +022B;022B;006F 0308 0304;022B;006F 0308 0304; +022C;022C;004F 0303 0304;022C;004F 0303 0304; +022D;022D;006F 0303 0304;022D;006F 0303 0304; +022E;022E;004F 0307;022E;004F 0307; +022F;022F;006F 0307;022F;006F 0307; +0230;0230;004F 0307 0304;0230;004F 0307 0304; +0231;0231;006F 0307 0304;0231;006F 0307 0304; +0232;0232;0059 0304;0232;0059 0304; +0233;0233;0079 0304;0233;0079 0304; +02B0;02B0;02B0;0068;0068; +02B1;02B1;02B1;0266;0266; +02B2;02B2;02B2;006A;006A; +02B3;02B3;02B3;0072;0072; +02B4;02B4;02B4;0279;0279; +02B5;02B5;02B5;027B;027B; +02B6;02B6;02B6;0281;0281; +02B7;02B7;02B7;0077;0077; +02B8;02B8;02B8;0079;0079; +02D8;02D8;02D8;0020 0306;0020 0306; +02D9;02D9;02D9;0020 0307;0020 0307; +02DA;02DA;02DA;0020 030A;0020 030A; +02DB;02DB;02DB;0020 0328;0020 0328; +02DC;02DC;02DC;0020 0303;0020 0303; +02DD;02DD;02DD;0020 030B;0020 030B; +02E0;02E0;02E0;0263;0263; +02E1;02E1;02E1;006C;006C; +02E2;02E2;02E2;0073;0073; +02E3;02E3;02E3;0078;0078; +02E4;02E4;02E4;0295;0295; +0340;0300;0300;0300;0300; +0341;0301;0301;0301;0301; +0343;0313;0313;0313;0313; +0344;0308 0301;0308 0301;0308 0301;0308 0301; +0374;02B9;02B9;02B9;02B9; +037A;037A;037A;0020 0345;0020 0345; +037E;003B;003B;003B;003B; +0384;0384;0384;0020 0301;0020 0301; +0385;0385;00A8 0301;0020 0308 0301;0020 0308 0301; +0386;0386;0391 0301;0386;0391 0301; +0387;00B7;00B7;00B7;00B7; +0388;0388;0395 0301;0388;0395 0301; +0389;0389;0397 0301;0389;0397 0301; +038A;038A;0399 0301;038A;0399 0301; +038C;038C;039F 0301;038C;039F 0301; +038E;038E;03A5 0301;038E;03A5 0301; +038F;038F;03A9 0301;038F;03A9 0301; +0390;0390;03B9 0308 0301;0390;03B9 0308 0301; +03AA;03AA;0399 0308;03AA;0399 0308; +03AB;03AB;03A5 0308;03AB;03A5 0308; +03AC;03AC;03B1 0301;03AC;03B1 0301; +03AD;03AD;03B5 0301;03AD;03B5 0301; +03AE;03AE;03B7 0301;03AE;03B7 0301; +03AF;03AF;03B9 0301;03AF;03B9 0301; +03B0;03B0;03C5 0308 0301;03B0;03C5 0308 0301; +03CA;03CA;03B9 0308;03CA;03B9 0308; +03CB;03CB;03C5 0308;03CB;03C5 0308; +03CC;03CC;03BF 0301;03CC;03BF 0301; +03CD;03CD;03C5 0301;03CD;03C5 0301; +03CE;03CE;03C9 0301;03CE;03C9 0301; +03D0;03D0;03D0;03B2;03B2; +03D1;03D1;03D1;03B8;03B8; +03D2;03D2;03D2;03A5;03A5; +03D3;03D3;03D2 0301;038E;03A5 0301; +03D4;03D4;03D2 0308;03AB;03A5 0308; +03D5;03D5;03D5;03C6;03C6; +03D6;03D6;03D6;03C0;03C0; +03F0;03F0;03F0;03BA;03BA; +03F1;03F1;03F1;03C1;03C1; +03F2;03F2;03F2;03C2;03C2; +03F4;03F4;03F4;0398;0398; +03F5;03F5;03F5;03B5;03B5; +03F9;03F9;03F9;03A3;03A3; +0400;0400;0415 0300;0400;0415 0300; +0401;0401;0415 0308;0401;0415 0308; +0403;0403;0413 0301;0403;0413 0301; +0407;0407;0406 0308;0407;0406 0308; +040C;040C;041A 0301;040C;041A 0301; +040D;040D;0418 0300;040D;0418 0300; +040E;040E;0423 0306;040E;0423 0306; +0419;0419;0418 0306;0419;0418 0306; +0439;0439;0438 0306;0439;0438 0306; +0450;0450;0435 0300;0450;0435 0300; +0451;0451;0435 0308;0451;0435 0308; +0453;0453;0433 0301;0453;0433 0301; +0457;0457;0456 0308;0457;0456 0308; +045C;045C;043A 0301;045C;043A 0301; +045D;045D;0438 0300;045D;0438 0300; +045E;045E;0443 0306;045E;0443 0306; +0476;0476;0474 030F;0476;0474 030F; +0477;0477;0475 030F;0477;0475 030F; +04C1;04C1;0416 0306;04C1;0416 0306; +04C2;04C2;0436 0306;04C2;0436 0306; +04D0;04D0;0410 0306;04D0;0410 0306; +04D1;04D1;0430 0306;04D1;0430 0306; +04D2;04D2;0410 0308;04D2;0410 0308; +04D3;04D3;0430 0308;04D3;0430 0308; +04D6;04D6;0415 0306;04D6;0415 0306; +04D7;04D7;0435 0306;04D7;0435 0306; +04DA;04DA;04D8 0308;04DA;04D8 0308; +04DB;04DB;04D9 0308;04DB;04D9 0308; +04DC;04DC;0416 0308;04DC;0416 0308; +04DD;04DD;0436 0308;04DD;0436 0308; +04DE;04DE;0417 0308;04DE;0417 0308; +04DF;04DF;0437 0308;04DF;0437 0308; +04E2;04E2;0418 0304;04E2;0418 0304; +04E3;04E3;0438 0304;04E3;0438 0304; +04E4;04E4;0418 0308;04E4;0418 0308; +04E5;04E5;0438 0308;04E5;0438 0308; +04E6;04E6;041E 0308;04E6;041E 0308; +04E7;04E7;043E 0308;04E7;043E 0308; +04EA;04EA;04E8 0308;04EA;04E8 0308; +04EB;04EB;04E9 0308;04EB;04E9 0308; +04EC;04EC;042D 0308;04EC;042D 0308; +04ED;04ED;044D 0308;04ED;044D 0308; +04EE;04EE;0423 0304;04EE;0423 0304; +04EF;04EF;0443 0304;04EF;0443 0304; +04F0;04F0;0423 0308;04F0;0423 0308; +04F1;04F1;0443 0308;04F1;0443 0308; +04F2;04F2;0423 030B;04F2;0423 030B; +04F3;04F3;0443 030B;04F3;0443 030B; +04F4;04F4;0427 0308;04F4;0427 0308; +04F5;04F5;0447 0308;04F5;0447 0308; +04F8;04F8;042B 0308;04F8;042B 0308; +04F9;04F9;044B 0308;04F9;044B 0308; +0587;0587;0587;0565 0582;0565 0582; +0622;0622;0627 0653;0622;0627 0653; +0623;0623;0627 0654;0623;0627 0654; +0624;0624;0648 0654;0624;0648 0654; +0625;0625;0627 0655;0625;0627 0655; +0626;0626;064A 0654;0626;064A 0654; +0675;0675;0675;0627 0674;0627 0674; +0676;0676;0676;0648 0674;0648 0674; +0677;0677;0677;06C7 0674;06C7 0674; +0678;0678;0678;064A 0674;064A 0674; +06C0;06C0;06D5 0654;06C0;06D5 0654; +06C2;06C2;06C1 0654;06C2;06C1 0654; +06D3;06D3;06D2 0654;06D3;06D2 0654; +0929;0929;0928 093C;0929;0928 093C; +0931;0931;0930 093C;0931;0930 093C; +0934;0934;0933 093C;0934;0933 093C; +0958;0915 093C;0915 093C;0915 093C;0915 093C; +0959;0916 093C;0916 093C;0916 093C;0916 093C; +095A;0917 093C;0917 093C;0917 093C;0917 093C; +095B;091C 093C;091C 093C;091C 093C;091C 093C; +095C;0921 093C;0921 093C;0921 093C;0921 093C; +095D;0922 093C;0922 093C;0922 093C;0922 093C; +095E;092B 093C;092B 093C;092B 093C;092B 093C; +095F;092F 093C;092F 093C;092F 093C;092F 093C; +09CB;09CB;09C7 09BE;09CB;09C7 09BE; +09CC;09CC;09C7 09D7;09CC;09C7 09D7; +09DC;09A1 09BC;09A1 09BC;09A1 09BC;09A1 09BC; +09DD;09A2 09BC;09A2 09BC;09A2 09BC;09A2 09BC; +09DF;09AF 09BC;09AF 09BC;09AF 09BC;09AF 09BC; +0A33;0A32 0A3C;0A32 0A3C;0A32 0A3C;0A32 0A3C; +0A36;0A38 0A3C;0A38 0A3C;0A38 0A3C;0A38 0A3C; +0A59;0A16 0A3C;0A16 0A3C;0A16 0A3C;0A16 0A3C; +0A5A;0A17 0A3C;0A17 0A3C;0A17 0A3C;0A17 0A3C; +0A5B;0A1C 0A3C;0A1C 0A3C;0A1C 0A3C;0A1C 0A3C; +0A5E;0A2B 0A3C;0A2B 0A3C;0A2B 0A3C;0A2B 0A3C; +0B48;0B48;0B47 0B56;0B48;0B47 0B56; +0B4B;0B4B;0B47 0B3E;0B4B;0B47 0B3E; +0B4C;0B4C;0B47 0B57;0B4C;0B47 0B57; +0B5C;0B21 0B3C;0B21 0B3C;0B21 0B3C;0B21 0B3C; +0B5D;0B22 0B3C;0B22 0B3C;0B22 0B3C;0B22 0B3C; +0B94;0B94;0B92 0BD7;0B94;0B92 0BD7; +0BCA;0BCA;0BC6 0BBE;0BCA;0BC6 0BBE; +0BCB;0BCB;0BC7 0BBE;0BCB;0BC7 0BBE; +0BCC;0BCC;0BC6 0BD7;0BCC;0BC6 0BD7; +0C48;0C48;0C46 0C56;0C48;0C46 0C56; +0CC0;0CC0;0CBF 0CD5;0CC0;0CBF 0CD5; +0CC7;0CC7;0CC6 0CD5;0CC7;0CC6 0CD5; +0CC8;0CC8;0CC6 0CD6;0CC8;0CC6 0CD6; +0CCA;0CCA;0CC6 0CC2;0CCA;0CC6 0CC2; +0CCB;0CCB;0CC6 0CC2 0CD5;0CCB;0CC6 0CC2 0CD5; +0D4A;0D4A;0D46 0D3E;0D4A;0D46 0D3E; +0D4B;0D4B;0D47 0D3E;0D4B;0D47 0D3E; +0D4C;0D4C;0D46 0D57;0D4C;0D46 0D57; +0DDA;0DDA;0DD9 0DCA;0DDA;0DD9 0DCA; +0DDC;0DDC;0DD9 0DCF;0DDC;0DD9 0DCF; +0DDD;0DDD;0DD9 0DCF 0DCA;0DDD;0DD9 0DCF 0DCA; +0DDE;0DDE;0DD9 0DDF;0DDE;0DD9 0DDF; +0E33;0E33;0E33;0E4D 0E32;0E4D 0E32; +0EB3;0EB3;0EB3;0ECD 0EB2;0ECD 0EB2; +0EDC;0EDC;0EDC;0EAB 0E99;0EAB 0E99; +0EDD;0EDD;0EDD;0EAB 0EA1;0EAB 0EA1; +0F0C;0F0C;0F0C;0F0B;0F0B; +0F43;0F42 0FB7;0F42 0FB7;0F42 0FB7;0F42 0FB7; +0F4D;0F4C 0FB7;0F4C 0FB7;0F4C 0FB7;0F4C 0FB7; +0F52;0F51 0FB7;0F51 0FB7;0F51 0FB7;0F51 0FB7; +0F57;0F56 0FB7;0F56 0FB7;0F56 0FB7;0F56 0FB7; +0F5C;0F5B 0FB7;0F5B 0FB7;0F5B 0FB7;0F5B 0FB7; +0F69;0F40 0FB5;0F40 0FB5;0F40 0FB5;0F40 0FB5; +0F73;0F71 0F72;0F71 0F72;0F71 0F72;0F71 0F72; +0F75;0F71 0F74;0F71 0F74;0F71 0F74;0F71 0F74; +0F76;0FB2 0F80;0FB2 0F80;0FB2 0F80;0FB2 0F80; +0F77;0F77;0F77;0FB2 0F71 0F80;0FB2 0F71 0F80; +0F78;0FB3 0F80;0FB3 0F80;0FB3 0F80;0FB3 0F80; +0F79;0F79;0F79;0FB3 0F71 0F80;0FB3 0F71 0F80; +0F81;0F71 0F80;0F71 0F80;0F71 0F80;0F71 0F80; +0F93;0F92 0FB7;0F92 0FB7;0F92 0FB7;0F92 0FB7; +0F9D;0F9C 0FB7;0F9C 0FB7;0F9C 0FB7;0F9C 0FB7; +0FA2;0FA1 0FB7;0FA1 0FB7;0FA1 0FB7;0FA1 0FB7; +0FA7;0FA6 0FB7;0FA6 0FB7;0FA6 0FB7;0FA6 0FB7; +0FAC;0FAB 0FB7;0FAB 0FB7;0FAB 0FB7;0FAB 0FB7; +0FB9;0F90 0FB5;0F90 0FB5;0F90 0FB5;0F90 0FB5; +1026;1026;1025 102E;1026;1025 102E; +10FC;10FC;10FC;10DC;10DC; +1B06;1B06;1B05 1B35;1B06;1B05 1B35; +1B08;1B08;1B07 1B35;1B08;1B07 1B35; +1B0A;1B0A;1B09 1B35;1B0A;1B09 1B35; +1B0C;1B0C;1B0B 1B35;1B0C;1B0B 1B35; +1B0E;1B0E;1B0D 1B35;1B0E;1B0D 1B35; +1B12;1B12;1B11 1B35;1B12;1B11 1B35; +1B3B;1B3B;1B3A 1B35;1B3B;1B3A 1B35; +1B3D;1B3D;1B3C 1B35;1B3D;1B3C 1B35; +1B40;1B40;1B3E 1B35;1B40;1B3E 1B35; +1B41;1B41;1B3F 1B35;1B41;1B3F 1B35; +1B43;1B43;1B42 1B35;1B43;1B42 1B35; +1D2C;1D2C;1D2C;0041;0041; +1D2D;1D2D;1D2D;00C6;00C6; +1D2E;1D2E;1D2E;0042;0042; +1D30;1D30;1D30;0044;0044; +1D31;1D31;1D31;0045;0045; +1D32;1D32;1D32;018E;018E; +1D33;1D33;1D33;0047;0047; +1D34;1D34;1D34;0048;0048; +1D35;1D35;1D35;0049;0049; +1D36;1D36;1D36;004A;004A; +1D37;1D37;1D37;004B;004B; +1D38;1D38;1D38;004C;004C; +1D39;1D39;1D39;004D;004D; +1D3A;1D3A;1D3A;004E;004E; +1D3C;1D3C;1D3C;004F;004F; +1D3D;1D3D;1D3D;0222;0222; +1D3E;1D3E;1D3E;0050;0050; +1D3F;1D3F;1D3F;0052;0052; +1D40;1D40;1D40;0054;0054; +1D41;1D41;1D41;0055;0055; +1D42;1D42;1D42;0057;0057; +1D43;1D43;1D43;0061;0061; +1D44;1D44;1D44;0250;0250; +1D45;1D45;1D45;0251;0251; +1D46;1D46;1D46;1D02;1D02; +1D47;1D47;1D47;0062;0062; +1D48;1D48;1D48;0064;0064; +1D49;1D49;1D49;0065;0065; +1D4A;1D4A;1D4A;0259;0259; +1D4B;1D4B;1D4B;025B;025B; +1D4C;1D4C;1D4C;025C;025C; +1D4D;1D4D;1D4D;0067;0067; +1D4F;1D4F;1D4F;006B;006B; +1D50;1D50;1D50;006D;006D; +1D51;1D51;1D51;014B;014B; +1D52;1D52;1D52;006F;006F; +1D53;1D53;1D53;0254;0254; +1D54;1D54;1D54;1D16;1D16; +1D55;1D55;1D55;1D17;1D17; +1D56;1D56;1D56;0070;0070; +1D57;1D57;1D57;0074;0074; +1D58;1D58;1D58;0075;0075; +1D59;1D59;1D59;1D1D;1D1D; +1D5A;1D5A;1D5A;026F;026F; +1D5B;1D5B;1D5B;0076;0076; +1D5C;1D5C;1D5C;1D25;1D25; +1D5D;1D5D;1D5D;03B2;03B2; +1D5E;1D5E;1D5E;03B3;03B3; +1D5F;1D5F;1D5F;03B4;03B4; +1D60;1D60;1D60;03C6;03C6; +1D61;1D61;1D61;03C7;03C7; +1D62;1D62;1D62;0069;0069; +1D63;1D63;1D63;0072;0072; +1D64;1D64;1D64;0075;0075; +1D65;1D65;1D65;0076;0076; +1D66;1D66;1D66;03B2;03B2; +1D67;1D67;1D67;03B3;03B3; +1D68;1D68;1D68;03C1;03C1; +1D69;1D69;1D69;03C6;03C6; +1D6A;1D6A;1D6A;03C7;03C7; +1D78;1D78;1D78;043D;043D; +1D9B;1D9B;1D9B;0252;0252; +1D9C;1D9C;1D9C;0063;0063; +1D9D;1D9D;1D9D;0255;0255; +1D9E;1D9E;1D9E;00F0;00F0; +1D9F;1D9F;1D9F;025C;025C; +1DA0;1DA0;1DA0;0066;0066; +1DA1;1DA1;1DA1;025F;025F; +1DA2;1DA2;1DA2;0261;0261; +1DA3;1DA3;1DA3;0265;0265; +1DA4;1DA4;1DA4;0268;0268; +1DA5;1DA5;1DA5;0269;0269; +1DA6;1DA6;1DA6;026A;026A; +1DA7;1DA7;1DA7;1D7B;1D7B; +1DA8;1DA8;1DA8;029D;029D; +1DA9;1DA9;1DA9;026D;026D; +1DAA;1DAA;1DAA;1D85;1D85; +1DAB;1DAB;1DAB;029F;029F; +1DAC;1DAC;1DAC;0271;0271; +1DAD;1DAD;1DAD;0270;0270; +1DAE;1DAE;1DAE;0272;0272; +1DAF;1DAF;1DAF;0273;0273; +1DB0;1DB0;1DB0;0274;0274; +1DB1;1DB1;1DB1;0275;0275; +1DB2;1DB2;1DB2;0278;0278; +1DB3;1DB3;1DB3;0282;0282; +1DB4;1DB4;1DB4;0283;0283; +1DB5;1DB5;1DB5;01AB;01AB; +1DB6;1DB6;1DB6;0289;0289; +1DB7;1DB7;1DB7;028A;028A; +1DB8;1DB8;1DB8;1D1C;1D1C; +1DB9;1DB9;1DB9;028B;028B; +1DBA;1DBA;1DBA;028C;028C; +1DBB;1DBB;1DBB;007A;007A; +1DBC;1DBC;1DBC;0290;0290; +1DBD;1DBD;1DBD;0291;0291; +1DBE;1DBE;1DBE;0292;0292; +1DBF;1DBF;1DBF;03B8;03B8; +1E00;1E00;0041 0325;1E00;0041 0325; +1E01;1E01;0061 0325;1E01;0061 0325; +1E02;1E02;0042 0307;1E02;0042 0307; +1E03;1E03;0062 0307;1E03;0062 0307; +1E04;1E04;0042 0323;1E04;0042 0323; +1E05;1E05;0062 0323;1E05;0062 0323; +1E06;1E06;0042 0331;1E06;0042 0331; +1E07;1E07;0062 0331;1E07;0062 0331; +1E08;1E08;0043 0327 0301;1E08;0043 0327 0301; +1E09;1E09;0063 0327 0301;1E09;0063 0327 0301; +1E0A;1E0A;0044 0307;1E0A;0044 0307; +1E0B;1E0B;0064 0307;1E0B;0064 0307; +1E0C;1E0C;0044 0323;1E0C;0044 0323; +1E0D;1E0D;0064 0323;1E0D;0064 0323; +1E0E;1E0E;0044 0331;1E0E;0044 0331; +1E0F;1E0F;0064 0331;1E0F;0064 0331; +1E10;1E10;0044 0327;1E10;0044 0327; +1E11;1E11;0064 0327;1E11;0064 0327; +1E12;1E12;0044 032D;1E12;0044 032D; +1E13;1E13;0064 032D;1E13;0064 032D; +1E14;1E14;0045 0304 0300;1E14;0045 0304 0300; +1E15;1E15;0065 0304 0300;1E15;0065 0304 0300; +1E16;1E16;0045 0304 0301;1E16;0045 0304 0301; +1E17;1E17;0065 0304 0301;1E17;0065 0304 0301; +1E18;1E18;0045 032D;1E18;0045 032D; +1E19;1E19;0065 032D;1E19;0065 032D; +1E1A;1E1A;0045 0330;1E1A;0045 0330; +1E1B;1E1B;0065 0330;1E1B;0065 0330; +1E1C;1E1C;0045 0327 0306;1E1C;0045 0327 0306; +1E1D;1E1D;0065 0327 0306;1E1D;0065 0327 0306; +1E1E;1E1E;0046 0307;1E1E;0046 0307; +1E1F;1E1F;0066 0307;1E1F;0066 0307; +1E20;1E20;0047 0304;1E20;0047 0304; +1E21;1E21;0067 0304;1E21;0067 0304; +1E22;1E22;0048 0307;1E22;0048 0307; +1E23;1E23;0068 0307;1E23;0068 0307; +1E24;1E24;0048 0323;1E24;0048 0323; +1E25;1E25;0068 0323;1E25;0068 0323; +1E26;1E26;0048 0308;1E26;0048 0308; +1E27;1E27;0068 0308;1E27;0068 0308; +1E28;1E28;0048 0327;1E28;0048 0327; +1E29;1E29;0068 0327;1E29;0068 0327; +1E2A;1E2A;0048 032E;1E2A;0048 032E; +1E2B;1E2B;0068 032E;1E2B;0068 032E; +1E2C;1E2C;0049 0330;1E2C;0049 0330; +1E2D;1E2D;0069 0330;1E2D;0069 0330; +1E2E;1E2E;0049 0308 0301;1E2E;0049 0308 0301; +1E2F;1E2F;0069 0308 0301;1E2F;0069 0308 0301; +1E30;1E30;004B 0301;1E30;004B 0301; +1E31;1E31;006B 0301;1E31;006B 0301; +1E32;1E32;004B 0323;1E32;004B 0323; +1E33;1E33;006B 0323;1E33;006B 0323; +1E34;1E34;004B 0331;1E34;004B 0331; +1E35;1E35;006B 0331;1E35;006B 0331; +1E36;1E36;004C 0323;1E36;004C 0323; +1E37;1E37;006C 0323;1E37;006C 0323; +1E38;1E38;004C 0323 0304;1E38;004C 0323 0304; +1E39;1E39;006C 0323 0304;1E39;006C 0323 0304; +1E3A;1E3A;004C 0331;1E3A;004C 0331; +1E3B;1E3B;006C 0331;1E3B;006C 0331; +1E3C;1E3C;004C 032D;1E3C;004C 032D; +1E3D;1E3D;006C 032D;1E3D;006C 032D; +1E3E;1E3E;004D 0301;1E3E;004D 0301; +1E3F;1E3F;006D 0301;1E3F;006D 0301; +1E40;1E40;004D 0307;1E40;004D 0307; +1E41;1E41;006D 0307;1E41;006D 0307; +1E42;1E42;004D 0323;1E42;004D 0323; +1E43;1E43;006D 0323;1E43;006D 0323; +1E44;1E44;004E 0307;1E44;004E 0307; +1E45;1E45;006E 0307;1E45;006E 0307; +1E46;1E46;004E 0323;1E46;004E 0323; +1E47;1E47;006E 0323;1E47;006E 0323; +1E48;1E48;004E 0331;1E48;004E 0331; +1E49;1E49;006E 0331;1E49;006E 0331; +1E4A;1E4A;004E 032D;1E4A;004E 032D; +1E4B;1E4B;006E 032D;1E4B;006E 032D; +1E4C;1E4C;004F 0303 0301;1E4C;004F 0303 0301; +1E4D;1E4D;006F 0303 0301;1E4D;006F 0303 0301; +1E4E;1E4E;004F 0303 0308;1E4E;004F 0303 0308; +1E4F;1E4F;006F 0303 0308;1E4F;006F 0303 0308; +1E50;1E50;004F 0304 0300;1E50;004F 0304 0300; +1E51;1E51;006F 0304 0300;1E51;006F 0304 0300; +1E52;1E52;004F 0304 0301;1E52;004F 0304 0301; +1E53;1E53;006F 0304 0301;1E53;006F 0304 0301; +1E54;1E54;0050 0301;1E54;0050 0301; +1E55;1E55;0070 0301;1E55;0070 0301; +1E56;1E56;0050 0307;1E56;0050 0307; +1E57;1E57;0070 0307;1E57;0070 0307; +1E58;1E58;0052 0307;1E58;0052 0307; +1E59;1E59;0072 0307;1E59;0072 0307; +1E5A;1E5A;0052 0323;1E5A;0052 0323; +1E5B;1E5B;0072 0323;1E5B;0072 0323; +1E5C;1E5C;0052 0323 0304;1E5C;0052 0323 0304; +1E5D;1E5D;0072 0323 0304;1E5D;0072 0323 0304; +1E5E;1E5E;0052 0331;1E5E;0052 0331; +1E5F;1E5F;0072 0331;1E5F;0072 0331; +1E60;1E60;0053 0307;1E60;0053 0307; +1E61;1E61;0073 0307;1E61;0073 0307; +1E62;1E62;0053 0323;1E62;0053 0323; +1E63;1E63;0073 0323;1E63;0073 0323; +1E64;1E64;0053 0301 0307;1E64;0053 0301 0307; +1E65;1E65;0073 0301 0307;1E65;0073 0301 0307; +1E66;1E66;0053 030C 0307;1E66;0053 030C 0307; +1E67;1E67;0073 030C 0307;1E67;0073 030C 0307; +1E68;1E68;0053 0323 0307;1E68;0053 0323 0307; +1E69;1E69;0073 0323 0307;1E69;0073 0323 0307; +1E6A;1E6A;0054 0307;1E6A;0054 0307; +1E6B;1E6B;0074 0307;1E6B;0074 0307; +1E6C;1E6C;0054 0323;1E6C;0054 0323; +1E6D;1E6D;0074 0323;1E6D;0074 0323; +1E6E;1E6E;0054 0331;1E6E;0054 0331; +1E6F;1E6F;0074 0331;1E6F;0074 0331; +1E70;1E70;0054 032D;1E70;0054 032D; +1E71;1E71;0074 032D;1E71;0074 032D; +1E72;1E72;0055 0324;1E72;0055 0324; +1E73;1E73;0075 0324;1E73;0075 0324; +1E74;1E74;0055 0330;1E74;0055 0330; +1E75;1E75;0075 0330;1E75;0075 0330; +1E76;1E76;0055 032D;1E76;0055 032D; +1E77;1E77;0075 032D;1E77;0075 032D; +1E78;1E78;0055 0303 0301;1E78;0055 0303 0301; +1E79;1E79;0075 0303 0301;1E79;0075 0303 0301; +1E7A;1E7A;0055 0304 0308;1E7A;0055 0304 0308; +1E7B;1E7B;0075 0304 0308;1E7B;0075 0304 0308; +1E7C;1E7C;0056 0303;1E7C;0056 0303; +1E7D;1E7D;0076 0303;1E7D;0076 0303; +1E7E;1E7E;0056 0323;1E7E;0056 0323; +1E7F;1E7F;0076 0323;1E7F;0076 0323; +1E80;1E80;0057 0300;1E80;0057 0300; +1E81;1E81;0077 0300;1E81;0077 0300; +1E82;1E82;0057 0301;1E82;0057 0301; +1E83;1E83;0077 0301;1E83;0077 0301; +1E84;1E84;0057 0308;1E84;0057 0308; +1E85;1E85;0077 0308;1E85;0077 0308; +1E86;1E86;0057 0307;1E86;0057 0307; +1E87;1E87;0077 0307;1E87;0077 0307; +1E88;1E88;0057 0323;1E88;0057 0323; +1E89;1E89;0077 0323;1E89;0077 0323; +1E8A;1E8A;0058 0307;1E8A;0058 0307; +1E8B;1E8B;0078 0307;1E8B;0078 0307; +1E8C;1E8C;0058 0308;1E8C;0058 0308; +1E8D;1E8D;0078 0308;1E8D;0078 0308; +1E8E;1E8E;0059 0307;1E8E;0059 0307; +1E8F;1E8F;0079 0307;1E8F;0079 0307; +1E90;1E90;005A 0302;1E90;005A 0302; +1E91;1E91;007A 0302;1E91;007A 0302; +1E92;1E92;005A 0323;1E92;005A 0323; +1E93;1E93;007A 0323;1E93;007A 0323; +1E94;1E94;005A 0331;1E94;005A 0331; +1E95;1E95;007A 0331;1E95;007A 0331; +1E96;1E96;0068 0331;1E96;0068 0331; +1E97;1E97;0074 0308;1E97;0074 0308; +1E98;1E98;0077 030A;1E98;0077 030A; +1E99;1E99;0079 030A;1E99;0079 030A; +1E9A;1E9A;1E9A;0061 02BE;0061 02BE; +1E9B;1E9B;017F 0307;1E61;0073 0307; +1EA0;1EA0;0041 0323;1EA0;0041 0323; +1EA1;1EA1;0061 0323;1EA1;0061 0323; +1EA2;1EA2;0041 0309;1EA2;0041 0309; +1EA3;1EA3;0061 0309;1EA3;0061 0309; +1EA4;1EA4;0041 0302 0301;1EA4;0041 0302 0301; +1EA5;1EA5;0061 0302 0301;1EA5;0061 0302 0301; +1EA6;1EA6;0041 0302 0300;1EA6;0041 0302 0300; +1EA7;1EA7;0061 0302 0300;1EA7;0061 0302 0300; +1EA8;1EA8;0041 0302 0309;1EA8;0041 0302 0309; +1EA9;1EA9;0061 0302 0309;1EA9;0061 0302 0309; +1EAA;1EAA;0041 0302 0303;1EAA;0041 0302 0303; +1EAB;1EAB;0061 0302 0303;1EAB;0061 0302 0303; +1EAC;1EAC;0041 0323 0302;1EAC;0041 0323 0302; +1EAD;1EAD;0061 0323 0302;1EAD;0061 0323 0302; +1EAE;1EAE;0041 0306 0301;1EAE;0041 0306 0301; +1EAF;1EAF;0061 0306 0301;1EAF;0061 0306 0301; +1EB0;1EB0;0041 0306 0300;1EB0;0041 0306 0300; +1EB1;1EB1;0061 0306 0300;1EB1;0061 0306 0300; +1EB2;1EB2;0041 0306 0309;1EB2;0041 0306 0309; +1EB3;1EB3;0061 0306 0309;1EB3;0061 0306 0309; +1EB4;1EB4;0041 0306 0303;1EB4;0041 0306 0303; +1EB5;1EB5;0061 0306 0303;1EB5;0061 0306 0303; +1EB6;1EB6;0041 0323 0306;1EB6;0041 0323 0306; +1EB7;1EB7;0061 0323 0306;1EB7;0061 0323 0306; +1EB8;1EB8;0045 0323;1EB8;0045 0323; +1EB9;1EB9;0065 0323;1EB9;0065 0323; +1EBA;1EBA;0045 0309;1EBA;0045 0309; +1EBB;1EBB;0065 0309;1EBB;0065 0309; +1EBC;1EBC;0045 0303;1EBC;0045 0303; +1EBD;1EBD;0065 0303;1EBD;0065 0303; +1EBE;1EBE;0045 0302 0301;1EBE;0045 0302 0301; +1EBF;1EBF;0065 0302 0301;1EBF;0065 0302 0301; +1EC0;1EC0;0045 0302 0300;1EC0;0045 0302 0300; +1EC1;1EC1;0065 0302 0300;1EC1;0065 0302 0300; +1EC2;1EC2;0045 0302 0309;1EC2;0045 0302 0309; +1EC3;1EC3;0065 0302 0309;1EC3;0065 0302 0309; +1EC4;1EC4;0045 0302 0303;1EC4;0045 0302 0303; +1EC5;1EC5;0065 0302 0303;1EC5;0065 0302 0303; +1EC6;1EC6;0045 0323 0302;1EC6;0045 0323 0302; +1EC7;1EC7;0065 0323 0302;1EC7;0065 0323 0302; +1EC8;1EC8;0049 0309;1EC8;0049 0309; +1EC9;1EC9;0069 0309;1EC9;0069 0309; +1ECA;1ECA;0049 0323;1ECA;0049 0323; +1ECB;1ECB;0069 0323;1ECB;0069 0323; +1ECC;1ECC;004F 0323;1ECC;004F 0323; +1ECD;1ECD;006F 0323;1ECD;006F 0323; +1ECE;1ECE;004F 0309;1ECE;004F 0309; +1ECF;1ECF;006F 0309;1ECF;006F 0309; +1ED0;1ED0;004F 0302 0301;1ED0;004F 0302 0301; +1ED1;1ED1;006F 0302 0301;1ED1;006F 0302 0301; +1ED2;1ED2;004F 0302 0300;1ED2;004F 0302 0300; +1ED3;1ED3;006F 0302 0300;1ED3;006F 0302 0300; +1ED4;1ED4;004F 0302 0309;1ED4;004F 0302 0309; +1ED5;1ED5;006F 0302 0309;1ED5;006F 0302 0309; +1ED6;1ED6;004F 0302 0303;1ED6;004F 0302 0303; +1ED7;1ED7;006F 0302 0303;1ED7;006F 0302 0303; +1ED8;1ED8;004F 0323 0302;1ED8;004F 0323 0302; +1ED9;1ED9;006F 0323 0302;1ED9;006F 0323 0302; +1EDA;1EDA;004F 031B 0301;1EDA;004F 031B 0301; +1EDB;1EDB;006F 031B 0301;1EDB;006F 031B 0301; +1EDC;1EDC;004F 031B 0300;1EDC;004F 031B 0300; +1EDD;1EDD;006F 031B 0300;1EDD;006F 031B 0300; +1EDE;1EDE;004F 031B 0309;1EDE;004F 031B 0309; +1EDF;1EDF;006F 031B 0309;1EDF;006F 031B 0309; +1EE0;1EE0;004F 031B 0303;1EE0;004F 031B 0303; +1EE1;1EE1;006F 031B 0303;1EE1;006F 031B 0303; +1EE2;1EE2;004F 031B 0323;1EE2;004F 031B 0323; +1EE3;1EE3;006F 031B 0323;1EE3;006F 031B 0323; +1EE4;1EE4;0055 0323;1EE4;0055 0323; +1EE5;1EE5;0075 0323;1EE5;0075 0323; +1EE6;1EE6;0055 0309;1EE6;0055 0309; +1EE7;1EE7;0075 0309;1EE7;0075 0309; +1EE8;1EE8;0055 031B 0301;1EE8;0055 031B 0301; +1EE9;1EE9;0075 031B 0301;1EE9;0075 031B 0301; +1EEA;1EEA;0055 031B 0300;1EEA;0055 031B 0300; +1EEB;1EEB;0075 031B 0300;1EEB;0075 031B 0300; +1EEC;1EEC;0055 031B 0309;1EEC;0055 031B 0309; +1EED;1EED;0075 031B 0309;1EED;0075 031B 0309; +1EEE;1EEE;0055 031B 0303;1EEE;0055 031B 0303; +1EEF;1EEF;0075 031B 0303;1EEF;0075 031B 0303; +1EF0;1EF0;0055 031B 0323;1EF0;0055 031B 0323; +1EF1;1EF1;0075 031B 0323;1EF1;0075 031B 0323; +1EF2;1EF2;0059 0300;1EF2;0059 0300; +1EF3;1EF3;0079 0300;1EF3;0079 0300; +1EF4;1EF4;0059 0323;1EF4;0059 0323; +1EF5;1EF5;0079 0323;1EF5;0079 0323; +1EF6;1EF6;0059 0309;1EF6;0059 0309; +1EF7;1EF7;0079 0309;1EF7;0079 0309; +1EF8;1EF8;0059 0303;1EF8;0059 0303; +1EF9;1EF9;0079 0303;1EF9;0079 0303; +1F00;1F00;03B1 0313;1F00;03B1 0313; +1F01;1F01;03B1 0314;1F01;03B1 0314; +1F02;1F02;03B1 0313 0300;1F02;03B1 0313 0300; +1F03;1F03;03B1 0314 0300;1F03;03B1 0314 0300; +1F04;1F04;03B1 0313 0301;1F04;03B1 0313 0301; +1F05;1F05;03B1 0314 0301;1F05;03B1 0314 0301; +1F06;1F06;03B1 0313 0342;1F06;03B1 0313 0342; +1F07;1F07;03B1 0314 0342;1F07;03B1 0314 0342; +1F08;1F08;0391 0313;1F08;0391 0313; +1F09;1F09;0391 0314;1F09;0391 0314; +1F0A;1F0A;0391 0313 0300;1F0A;0391 0313 0300; +1F0B;1F0B;0391 0314 0300;1F0B;0391 0314 0300; +1F0C;1F0C;0391 0313 0301;1F0C;0391 0313 0301; +1F0D;1F0D;0391 0314 0301;1F0D;0391 0314 0301; +1F0E;1F0E;0391 0313 0342;1F0E;0391 0313 0342; +1F0F;1F0F;0391 0314 0342;1F0F;0391 0314 0342; +1F10;1F10;03B5 0313;1F10;03B5 0313; +1F11;1F11;03B5 0314;1F11;03B5 0314; +1F12;1F12;03B5 0313 0300;1F12;03B5 0313 0300; +1F13;1F13;03B5 0314 0300;1F13;03B5 0314 0300; +1F14;1F14;03B5 0313 0301;1F14;03B5 0313 0301; +1F15;1F15;03B5 0314 0301;1F15;03B5 0314 0301; +1F18;1F18;0395 0313;1F18;0395 0313; +1F19;1F19;0395 0314;1F19;0395 0314; +1F1A;1F1A;0395 0313 0300;1F1A;0395 0313 0300; +1F1B;1F1B;0395 0314 0300;1F1B;0395 0314 0300; +1F1C;1F1C;0395 0313 0301;1F1C;0395 0313 0301; +1F1D;1F1D;0395 0314 0301;1F1D;0395 0314 0301; +1F20;1F20;03B7 0313;1F20;03B7 0313; +1F21;1F21;03B7 0314;1F21;03B7 0314; +1F22;1F22;03B7 0313 0300;1F22;03B7 0313 0300; +1F23;1F23;03B7 0314 0300;1F23;03B7 0314 0300; +1F24;1F24;03B7 0313 0301;1F24;03B7 0313 0301; +1F25;1F25;03B7 0314 0301;1F25;03B7 0314 0301; +1F26;1F26;03B7 0313 0342;1F26;03B7 0313 0342; +1F27;1F27;03B7 0314 0342;1F27;03B7 0314 0342; +1F28;1F28;0397 0313;1F28;0397 0313; +1F29;1F29;0397 0314;1F29;0397 0314; +1F2A;1F2A;0397 0313 0300;1F2A;0397 0313 0300; +1F2B;1F2B;0397 0314 0300;1F2B;0397 0314 0300; +1F2C;1F2C;0397 0313 0301;1F2C;0397 0313 0301; +1F2D;1F2D;0397 0314 0301;1F2D;0397 0314 0301; +1F2E;1F2E;0397 0313 0342;1F2E;0397 0313 0342; +1F2F;1F2F;0397 0314 0342;1F2F;0397 0314 0342; +1F30;1F30;03B9 0313;1F30;03B9 0313; +1F31;1F31;03B9 0314;1F31;03B9 0314; +1F32;1F32;03B9 0313 0300;1F32;03B9 0313 0300; +1F33;1F33;03B9 0314 0300;1F33;03B9 0314 0300; +1F34;1F34;03B9 0313 0301;1F34;03B9 0313 0301; +1F35;1F35;03B9 0314 0301;1F35;03B9 0314 0301; +1F36;1F36;03B9 0313 0342;1F36;03B9 0313 0342; +1F37;1F37;03B9 0314 0342;1F37;03B9 0314 0342; +1F38;1F38;0399 0313;1F38;0399 0313; +1F39;1F39;0399 0314;1F39;0399 0314; +1F3A;1F3A;0399 0313 0300;1F3A;0399 0313 0300; +1F3B;1F3B;0399 0314 0300;1F3B;0399 0314 0300; +1F3C;1F3C;0399 0313 0301;1F3C;0399 0313 0301; +1F3D;1F3D;0399 0314 0301;1F3D;0399 0314 0301; +1F3E;1F3E;0399 0313 0342;1F3E;0399 0313 0342; +1F3F;1F3F;0399 0314 0342;1F3F;0399 0314 0342; +1F40;1F40;03BF 0313;1F40;03BF 0313; +1F41;1F41;03BF 0314;1F41;03BF 0314; +1F42;1F42;03BF 0313 0300;1F42;03BF 0313 0300; +1F43;1F43;03BF 0314 0300;1F43;03BF 0314 0300; +1F44;1F44;03BF 0313 0301;1F44;03BF 0313 0301; +1F45;1F45;03BF 0314 0301;1F45;03BF 0314 0301; +1F48;1F48;039F 0313;1F48;039F 0313; +1F49;1F49;039F 0314;1F49;039F 0314; +1F4A;1F4A;039F 0313 0300;1F4A;039F 0313 0300; +1F4B;1F4B;039F 0314 0300;1F4B;039F 0314 0300; +1F4C;1F4C;039F 0313 0301;1F4C;039F 0313 0301; +1F4D;1F4D;039F 0314 0301;1F4D;039F 0314 0301; +1F50;1F50;03C5 0313;1F50;03C5 0313; +1F51;1F51;03C5 0314;1F51;03C5 0314; +1F52;1F52;03C5 0313 0300;1F52;03C5 0313 0300; +1F53;1F53;03C5 0314 0300;1F53;03C5 0314 0300; +1F54;1F54;03C5 0313 0301;1F54;03C5 0313 0301; +1F55;1F55;03C5 0314 0301;1F55;03C5 0314 0301; +1F56;1F56;03C5 0313 0342;1F56;03C5 0313 0342; +1F57;1F57;03C5 0314 0342;1F57;03C5 0314 0342; +1F59;1F59;03A5 0314;1F59;03A5 0314; +1F5B;1F5B;03A5 0314 0300;1F5B;03A5 0314 0300; +1F5D;1F5D;03A5 0314 0301;1F5D;03A5 0314 0301; +1F5F;1F5F;03A5 0314 0342;1F5F;03A5 0314 0342; +1F60;1F60;03C9 0313;1F60;03C9 0313; +1F61;1F61;03C9 0314;1F61;03C9 0314; +1F62;1F62;03C9 0313 0300;1F62;03C9 0313 0300; +1F63;1F63;03C9 0314 0300;1F63;03C9 0314 0300; +1F64;1F64;03C9 0313 0301;1F64;03C9 0313 0301; +1F65;1F65;03C9 0314 0301;1F65;03C9 0314 0301; +1F66;1F66;03C9 0313 0342;1F66;03C9 0313 0342; +1F67;1F67;03C9 0314 0342;1F67;03C9 0314 0342; +1F68;1F68;03A9 0313;1F68;03A9 0313; +1F69;1F69;03A9 0314;1F69;03A9 0314; +1F6A;1F6A;03A9 0313 0300;1F6A;03A9 0313 0300; +1F6B;1F6B;03A9 0314 0300;1F6B;03A9 0314 0300; +1F6C;1F6C;03A9 0313 0301;1F6C;03A9 0313 0301; +1F6D;1F6D;03A9 0314 0301;1F6D;03A9 0314 0301; +1F6E;1F6E;03A9 0313 0342;1F6E;03A9 0313 0342; +1F6F;1F6F;03A9 0314 0342;1F6F;03A9 0314 0342; +1F70;1F70;03B1 0300;1F70;03B1 0300; +1F71;03AC;03B1 0301;03AC;03B1 0301; +1F72;1F72;03B5 0300;1F72;03B5 0300; +1F73;03AD;03B5 0301;03AD;03B5 0301; +1F74;1F74;03B7 0300;1F74;03B7 0300; +1F75;03AE;03B7 0301;03AE;03B7 0301; +1F76;1F76;03B9 0300;1F76;03B9 0300; +1F77;03AF;03B9 0301;03AF;03B9 0301; +1F78;1F78;03BF 0300;1F78;03BF 0300; +1F79;03CC;03BF 0301;03CC;03BF 0301; +1F7A;1F7A;03C5 0300;1F7A;03C5 0300; +1F7B;03CD;03C5 0301;03CD;03C5 0301; +1F7C;1F7C;03C9 0300;1F7C;03C9 0300; +1F7D;03CE;03C9 0301;03CE;03C9 0301; +1F80;1F80;03B1 0313 0345;1F80;03B1 0313 0345; +1F81;1F81;03B1 0314 0345;1F81;03B1 0314 0345; +1F82;1F82;03B1 0313 0300 0345;1F82;03B1 0313 0300 0345; +1F83;1F83;03B1 0314 0300 0345;1F83;03B1 0314 0300 0345; +1F84;1F84;03B1 0313 0301 0345;1F84;03B1 0313 0301 0345; +1F85;1F85;03B1 0314 0301 0345;1F85;03B1 0314 0301 0345; +1F86;1F86;03B1 0313 0342 0345;1F86;03B1 0313 0342 0345; +1F87;1F87;03B1 0314 0342 0345;1F87;03B1 0314 0342 0345; +1F88;1F88;0391 0313 0345;1F88;0391 0313 0345; +1F89;1F89;0391 0314 0345;1F89;0391 0314 0345; +1F8A;1F8A;0391 0313 0300 0345;1F8A;0391 0313 0300 0345; +1F8B;1F8B;0391 0314 0300 0345;1F8B;0391 0314 0300 0345; +1F8C;1F8C;0391 0313 0301 0345;1F8C;0391 0313 0301 0345; +1F8D;1F8D;0391 0314 0301 0345;1F8D;0391 0314 0301 0345; +1F8E;1F8E;0391 0313 0342 0345;1F8E;0391 0313 0342 0345; +1F8F;1F8F;0391 0314 0342 0345;1F8F;0391 0314 0342 0345; +1F90;1F90;03B7 0313 0345;1F90;03B7 0313 0345; +1F91;1F91;03B7 0314 0345;1F91;03B7 0314 0345; +1F92;1F92;03B7 0313 0300 0345;1F92;03B7 0313 0300 0345; +1F93;1F93;03B7 0314 0300 0345;1F93;03B7 0314 0300 0345; +1F94;1F94;03B7 0313 0301 0345;1F94;03B7 0313 0301 0345; +1F95;1F95;03B7 0314 0301 0345;1F95;03B7 0314 0301 0345; +1F96;1F96;03B7 0313 0342 0345;1F96;03B7 0313 0342 0345; +1F97;1F97;03B7 0314 0342 0345;1F97;03B7 0314 0342 0345; +1F98;1F98;0397 0313 0345;1F98;0397 0313 0345; +1F99;1F99;0397 0314 0345;1F99;0397 0314 0345; +1F9A;1F9A;0397 0313 0300 0345;1F9A;0397 0313 0300 0345; +1F9B;1F9B;0397 0314 0300 0345;1F9B;0397 0314 0300 0345; +1F9C;1F9C;0397 0313 0301 0345;1F9C;0397 0313 0301 0345; +1F9D;1F9D;0397 0314 0301 0345;1F9D;0397 0314 0301 0345; +1F9E;1F9E;0397 0313 0342 0345;1F9E;0397 0313 0342 0345; +1F9F;1F9F;0397 0314 0342 0345;1F9F;0397 0314 0342 0345; +1FA0;1FA0;03C9 0313 0345;1FA0;03C9 0313 0345; +1FA1;1FA1;03C9 0314 0345;1FA1;03C9 0314 0345; +1FA2;1FA2;03C9 0313 0300 0345;1FA2;03C9 0313 0300 0345; +1FA3;1FA3;03C9 0314 0300 0345;1FA3;03C9 0314 0300 0345; +1FA4;1FA4;03C9 0313 0301 0345;1FA4;03C9 0313 0301 0345; +1FA5;1FA5;03C9 0314 0301 0345;1FA5;03C9 0314 0301 0345; +1FA6;1FA6;03C9 0313 0342 0345;1FA6;03C9 0313 0342 0345; +1FA7;1FA7;03C9 0314 0342 0345;1FA7;03C9 0314 0342 0345; +1FA8;1FA8;03A9 0313 0345;1FA8;03A9 0313 0345; +1FA9;1FA9;03A9 0314 0345;1FA9;03A9 0314 0345; +1FAA;1FAA;03A9 0313 0300 0345;1FAA;03A9 0313 0300 0345; +1FAB;1FAB;03A9 0314 0300 0345;1FAB;03A9 0314 0300 0345; +1FAC;1FAC;03A9 0313 0301 0345;1FAC;03A9 0313 0301 0345; +1FAD;1FAD;03A9 0314 0301 0345;1FAD;03A9 0314 0301 0345; +1FAE;1FAE;03A9 0313 0342 0345;1FAE;03A9 0313 0342 0345; +1FAF;1FAF;03A9 0314 0342 0345;1FAF;03A9 0314 0342 0345; +1FB0;1FB0;03B1 0306;1FB0;03B1 0306; +1FB1;1FB1;03B1 0304;1FB1;03B1 0304; +1FB2;1FB2;03B1 0300 0345;1FB2;03B1 0300 0345; +1FB3;1FB3;03B1 0345;1FB3;03B1 0345; +1FB4;1FB4;03B1 0301 0345;1FB4;03B1 0301 0345; +1FB6;1FB6;03B1 0342;1FB6;03B1 0342; +1FB7;1FB7;03B1 0342 0345;1FB7;03B1 0342 0345; +1FB8;1FB8;0391 0306;1FB8;0391 0306; +1FB9;1FB9;0391 0304;1FB9;0391 0304; +1FBA;1FBA;0391 0300;1FBA;0391 0300; +1FBB;0386;0391 0301;0386;0391 0301; +1FBC;1FBC;0391 0345;1FBC;0391 0345; +1FBD;1FBD;1FBD;0020 0313;0020 0313; +1FBE;03B9;03B9;03B9;03B9; +1FBF;1FBF;1FBF;0020 0313;0020 0313; +1FC0;1FC0;1FC0;0020 0342;0020 0342; +1FC1;1FC1;00A8 0342;0020 0308 0342;0020 0308 0342; +1FC2;1FC2;03B7 0300 0345;1FC2;03B7 0300 0345; +1FC3;1FC3;03B7 0345;1FC3;03B7 0345; +1FC4;1FC4;03B7 0301 0345;1FC4;03B7 0301 0345; +1FC6;1FC6;03B7 0342;1FC6;03B7 0342; +1FC7;1FC7;03B7 0342 0345;1FC7;03B7 0342 0345; +1FC8;1FC8;0395 0300;1FC8;0395 0300; +1FC9;0388;0395 0301;0388;0395 0301; +1FCA;1FCA;0397 0300;1FCA;0397 0300; +1FCB;0389;0397 0301;0389;0397 0301; +1FCC;1FCC;0397 0345;1FCC;0397 0345; +1FCD;1FCD;1FBF 0300;0020 0313 0300;0020 0313 0300; +1FCE;1FCE;1FBF 0301;0020 0313 0301;0020 0313 0301; +1FCF;1FCF;1FBF 0342;0020 0313 0342;0020 0313 0342; +1FD0;1FD0;03B9 0306;1FD0;03B9 0306; +1FD1;1FD1;03B9 0304;1FD1;03B9 0304; +1FD2;1FD2;03B9 0308 0300;1FD2;03B9 0308 0300; +1FD3;0390;03B9 0308 0301;0390;03B9 0308 0301; +1FD6;1FD6;03B9 0342;1FD6;03B9 0342; +1FD7;1FD7;03B9 0308 0342;1FD7;03B9 0308 0342; +1FD8;1FD8;0399 0306;1FD8;0399 0306; +1FD9;1FD9;0399 0304;1FD9;0399 0304; +1FDA;1FDA;0399 0300;1FDA;0399 0300; +1FDB;038A;0399 0301;038A;0399 0301; +1FDD;1FDD;1FFE 0300;0020 0314 0300;0020 0314 0300; +1FDE;1FDE;1FFE 0301;0020 0314 0301;0020 0314 0301; +1FDF;1FDF;1FFE 0342;0020 0314 0342;0020 0314 0342; +1FE0;1FE0;03C5 0306;1FE0;03C5 0306; +1FE1;1FE1;03C5 0304;1FE1;03C5 0304; +1FE2;1FE2;03C5 0308 0300;1FE2;03C5 0308 0300; +1FE3;03B0;03C5 0308 0301;03B0;03C5 0308 0301; +1FE4;1FE4;03C1 0313;1FE4;03C1 0313; +1FE5;1FE5;03C1 0314;1FE5;03C1 0314; +1FE6;1FE6;03C5 0342;1FE6;03C5 0342; +1FE7;1FE7;03C5 0308 0342;1FE7;03C5 0308 0342; +1FE8;1FE8;03A5 0306;1FE8;03A5 0306; +1FE9;1FE9;03A5 0304;1FE9;03A5 0304; +1FEA;1FEA;03A5 0300;1FEA;03A5 0300; +1FEB;038E;03A5 0301;038E;03A5 0301; +1FEC;1FEC;03A1 0314;1FEC;03A1 0314; +1FED;1FED;00A8 0300;0020 0308 0300;0020 0308 0300; +1FEE;0385;00A8 0301;0020 0308 0301;0020 0308 0301; +1FEF;0060;0060;0060;0060; +1FF2;1FF2;03C9 0300 0345;1FF2;03C9 0300 0345; +1FF3;1FF3;03C9 0345;1FF3;03C9 0345; +1FF4;1FF4;03C9 0301 0345;1FF4;03C9 0301 0345; +1FF6;1FF6;03C9 0342;1FF6;03C9 0342; +1FF7;1FF7;03C9 0342 0345;1FF7;03C9 0342 0345; +1FF8;1FF8;039F 0300;1FF8;039F 0300; +1FF9;038C;039F 0301;038C;039F 0301; +1FFA;1FFA;03A9 0300;1FFA;03A9 0300; +1FFB;038F;03A9 0301;038F;03A9 0301; +1FFC;1FFC;03A9 0345;1FFC;03A9 0345; +1FFD;00B4;00B4;0020 0301;0020 0301; +1FFE;1FFE;1FFE;0020 0314;0020 0314; +2000;2002;2002;0020;0020; +2001;2003;2003;0020;0020; +2002;2002;2002;0020;0020; +2003;2003;2003;0020;0020; +2004;2004;2004;0020;0020; +2005;2005;2005;0020;0020; +2006;2006;2006;0020;0020; +2007;2007;2007;0020;0020; +2008;2008;2008;0020;0020; +2009;2009;2009;0020;0020; +200A;200A;200A;0020;0020; +2011;2011;2011;2010;2010; +2017;2017;2017;0020 0333;0020 0333; +2024;2024;2024;002E;002E; +2025;2025;2025;002E 002E;002E 002E; +2026;2026;2026;002E 002E 002E;002E 002E 002E; +202F;202F;202F;0020;0020; +2033;2033;2033;2032 2032;2032 2032; +2034;2034;2034;2032 2032 2032;2032 2032 2032; +2036;2036;2036;2035 2035;2035 2035; +2037;2037;2037;2035 2035 2035;2035 2035 2035; +203C;203C;203C;0021 0021;0021 0021; +203E;203E;203E;0020 0305;0020 0305; +2047;2047;2047;003F 003F;003F 003F; +2048;2048;2048;003F 0021;003F 0021; +2049;2049;2049;0021 003F;0021 003F; +2057;2057;2057;2032 2032 2032 2032;2032 2032 2032 2032; +205F;205F;205F;0020;0020; +2070;2070;2070;0030;0030; +2071;2071;2071;0069;0069; +2074;2074;2074;0034;0034; +2075;2075;2075;0035;0035; +2076;2076;2076;0036;0036; +2077;2077;2077;0037;0037; +2078;2078;2078;0038;0038; +2079;2079;2079;0039;0039; +207A;207A;207A;002B;002B; +207B;207B;207B;2212;2212; +207C;207C;207C;003D;003D; +207D;207D;207D;0028;0028; +207E;207E;207E;0029;0029; +207F;207F;207F;006E;006E; +2080;2080;2080;0030;0030; +2081;2081;2081;0031;0031; +2082;2082;2082;0032;0032; +2083;2083;2083;0033;0033; +2084;2084;2084;0034;0034; +2085;2085;2085;0035;0035; +2086;2086;2086;0036;0036; +2087;2087;2087;0037;0037; +2088;2088;2088;0038;0038; +2089;2089;2089;0039;0039; +208A;208A;208A;002B;002B; +208B;208B;208B;2212;2212; +208C;208C;208C;003D;003D; +208D;208D;208D;0028;0028; +208E;208E;208E;0029;0029; +2090;2090;2090;0061;0061; +2091;2091;2091;0065;0065; +2092;2092;2092;006F;006F; +2093;2093;2093;0078;0078; +2094;2094;2094;0259;0259; +20A8;20A8;20A8;0052 0073;0052 0073; +2100;2100;2100;0061 002F 0063;0061 002F 0063; +2101;2101;2101;0061 002F 0073;0061 002F 0073; +2102;2102;2102;0043;0043; +2103;2103;2103;00B0 0043;00B0 0043; +2105;2105;2105;0063 002F 006F;0063 002F 006F; +2106;2106;2106;0063 002F 0075;0063 002F 0075; +2107;2107;2107;0190;0190; +2109;2109;2109;00B0 0046;00B0 0046; +210A;210A;210A;0067;0067; +210B;210B;210B;0048;0048; +210C;210C;210C;0048;0048; +210D;210D;210D;0048;0048; +210E;210E;210E;0068;0068; +210F;210F;210F;0127;0127; +2110;2110;2110;0049;0049; +2111;2111;2111;0049;0049; +2112;2112;2112;004C;004C; +2113;2113;2113;006C;006C; +2115;2115;2115;004E;004E; +2116;2116;2116;004E 006F;004E 006F; +2119;2119;2119;0050;0050; +211A;211A;211A;0051;0051; +211B;211B;211B;0052;0052; +211C;211C;211C;0052;0052; +211D;211D;211D;0052;0052; +2120;2120;2120;0053 004D;0053 004D; +2121;2121;2121;0054 0045 004C;0054 0045 004C; +2122;2122;2122;0054 004D;0054 004D; +2124;2124;2124;005A;005A; +2126;03A9;03A9;03A9;03A9; +2128;2128;2128;005A;005A; +212A;004B;004B;004B;004B; +212B;00C5;0041 030A;00C5;0041 030A; +212C;212C;212C;0042;0042; +212D;212D;212D;0043;0043; +212F;212F;212F;0065;0065; +2130;2130;2130;0045;0045; +2131;2131;2131;0046;0046; +2133;2133;2133;004D;004D; +2134;2134;2134;006F;006F; +2135;2135;2135;05D0;05D0; +2136;2136;2136;05D1;05D1; +2137;2137;2137;05D2;05D2; +2138;2138;2138;05D3;05D3; +2139;2139;2139;0069;0069; +213B;213B;213B;0046 0041 0058;0046 0041 0058; +213C;213C;213C;03C0;03C0; +213D;213D;213D;03B3;03B3; +213E;213E;213E;0393;0393; +213F;213F;213F;03A0;03A0; +2140;2140;2140;2211;2211; +2145;2145;2145;0044;0044; +2146;2146;2146;0064;0064; +2147;2147;2147;0065;0065; +2148;2148;2148;0069;0069; +2149;2149;2149;006A;006A; +2153;2153;2153;0031 2044 0033;0031 2044 0033; +2154;2154;2154;0032 2044 0033;0032 2044 0033; +2155;2155;2155;0031 2044 0035;0031 2044 0035; +2156;2156;2156;0032 2044 0035;0032 2044 0035; +2157;2157;2157;0033 2044 0035;0033 2044 0035; +2158;2158;2158;0034 2044 0035;0034 2044 0035; +2159;2159;2159;0031 2044 0036;0031 2044 0036; +215A;215A;215A;0035 2044 0036;0035 2044 0036; +215B;215B;215B;0031 2044 0038;0031 2044 0038; +215C;215C;215C;0033 2044 0038;0033 2044 0038; +215D;215D;215D;0035 2044 0038;0035 2044 0038; +215E;215E;215E;0037 2044 0038;0037 2044 0038; +215F;215F;215F;0031 2044;0031 2044; +2160;2160;2160;0049;0049; +2161;2161;2161;0049 0049;0049 0049; +2162;2162;2162;0049 0049 0049;0049 0049 0049; +2163;2163;2163;0049 0056;0049 0056; +2164;2164;2164;0056;0056; +2165;2165;2165;0056 0049;0056 0049; +2166;2166;2166;0056 0049 0049;0056 0049 0049; +2167;2167;2167;0056 0049 0049 0049;0056 0049 0049 0049; +2168;2168;2168;0049 0058;0049 0058; +2169;2169;2169;0058;0058; +216A;216A;216A;0058 0049;0058 0049; +216B;216B;216B;0058 0049 0049;0058 0049 0049; +216C;216C;216C;004C;004C; +216D;216D;216D;0043;0043; +216E;216E;216E;0044;0044; +216F;216F;216F;004D;004D; +2170;2170;2170;0069;0069; +2171;2171;2171;0069 0069;0069 0069; +2172;2172;2172;0069 0069 0069;0069 0069 0069; +2173;2173;2173;0069 0076;0069 0076; +2174;2174;2174;0076;0076; +2175;2175;2175;0076 0069;0076 0069; +2176;2176;2176;0076 0069 0069;0076 0069 0069; +2177;2177;2177;0076 0069 0069 0069;0076 0069 0069 0069; +2178;2178;2178;0069 0078;0069 0078; +2179;2179;2179;0078;0078; +217A;217A;217A;0078 0069;0078 0069; +217B;217B;217B;0078 0069 0069;0078 0069 0069; +217C;217C;217C;006C;006C; +217D;217D;217D;0063;0063; +217E;217E;217E;0064;0064; +217F;217F;217F;006D;006D; +219A;219A;2190 0338;219A;2190 0338; +219B;219B;2192 0338;219B;2192 0338; +21AE;21AE;2194 0338;21AE;2194 0338; +21CD;21CD;21D0 0338;21CD;21D0 0338; +21CE;21CE;21D4 0338;21CE;21D4 0338; +21CF;21CF;21D2 0338;21CF;21D2 0338; +2204;2204;2203 0338;2204;2203 0338; +2209;2209;2208 0338;2209;2208 0338; +220C;220C;220B 0338;220C;220B 0338; +2224;2224;2223 0338;2224;2223 0338; +2226;2226;2225 0338;2226;2225 0338; +222C;222C;222C;222B 222B;222B 222B; +222D;222D;222D;222B 222B 222B;222B 222B 222B; +222F;222F;222F;222E 222E;222E 222E; +2230;2230;2230;222E 222E 222E;222E 222E 222E; +2241;2241;223C 0338;2241;223C 0338; +2244;2244;2243 0338;2244;2243 0338; +2247;2247;2245 0338;2247;2245 0338; +2249;2249;2248 0338;2249;2248 0338; +2260;2260;003D 0338;2260;003D 0338; +2262;2262;2261 0338;2262;2261 0338; +226D;226D;224D 0338;226D;224D 0338; +226E;226E;003C 0338;226E;003C 0338; +226F;226F;003E 0338;226F;003E 0338; +2270;2270;2264 0338;2270;2264 0338; +2271;2271;2265 0338;2271;2265 0338; +2274;2274;2272 0338;2274;2272 0338; +2275;2275;2273 0338;2275;2273 0338; +2278;2278;2276 0338;2278;2276 0338; +2279;2279;2277 0338;2279;2277 0338; +2280;2280;227A 0338;2280;227A 0338; +2281;2281;227B 0338;2281;227B 0338; +2284;2284;2282 0338;2284;2282 0338; +2285;2285;2283 0338;2285;2283 0338; +2288;2288;2286 0338;2288;2286 0338; +2289;2289;2287 0338;2289;2287 0338; +22AC;22AC;22A2 0338;22AC;22A2 0338; +22AD;22AD;22A8 0338;22AD;22A8 0338; +22AE;22AE;22A9 0338;22AE;22A9 0338; +22AF;22AF;22AB 0338;22AF;22AB 0338; +22E0;22E0;227C 0338;22E0;227C 0338; +22E1;22E1;227D 0338;22E1;227D 0338; +22E2;22E2;2291 0338;22E2;2291 0338; +22E3;22E3;2292 0338;22E3;2292 0338; +22EA;22EA;22B2 0338;22EA;22B2 0338; +22EB;22EB;22B3 0338;22EB;22B3 0338; +22EC;22EC;22B4 0338;22EC;22B4 0338; +22ED;22ED;22B5 0338;22ED;22B5 0338; +2329;3008;3008;3008;3008; +232A;3009;3009;3009;3009; +2460;2460;2460;0031;0031; +2461;2461;2461;0032;0032; +2462;2462;2462;0033;0033; +2463;2463;2463;0034;0034; +2464;2464;2464;0035;0035; +2465;2465;2465;0036;0036; +2466;2466;2466;0037;0037; +2467;2467;2467;0038;0038; +2468;2468;2468;0039;0039; +2469;2469;2469;0031 0030;0031 0030; +246A;246A;246A;0031 0031;0031 0031; +246B;246B;246B;0031 0032;0031 0032; +246C;246C;246C;0031 0033;0031 0033; +246D;246D;246D;0031 0034;0031 0034; +246E;246E;246E;0031 0035;0031 0035; +246F;246F;246F;0031 0036;0031 0036; +2470;2470;2470;0031 0037;0031 0037; +2471;2471;2471;0031 0038;0031 0038; +2472;2472;2472;0031 0039;0031 0039; +2473;2473;2473;0032 0030;0032 0030; +2474;2474;2474;0028 0031 0029;0028 0031 0029; +2475;2475;2475;0028 0032 0029;0028 0032 0029; +2476;2476;2476;0028 0033 0029;0028 0033 0029; +2477;2477;2477;0028 0034 0029;0028 0034 0029; +2478;2478;2478;0028 0035 0029;0028 0035 0029; +2479;2479;2479;0028 0036 0029;0028 0036 0029; +247A;247A;247A;0028 0037 0029;0028 0037 0029; +247B;247B;247B;0028 0038 0029;0028 0038 0029; +247C;247C;247C;0028 0039 0029;0028 0039 0029; +247D;247D;247D;0028 0031 0030 0029;0028 0031 0030 0029; +247E;247E;247E;0028 0031 0031 0029;0028 0031 0031 0029; +247F;247F;247F;0028 0031 0032 0029;0028 0031 0032 0029; +2480;2480;2480;0028 0031 0033 0029;0028 0031 0033 0029; +2481;2481;2481;0028 0031 0034 0029;0028 0031 0034 0029; +2482;2482;2482;0028 0031 0035 0029;0028 0031 0035 0029; +2483;2483;2483;0028 0031 0036 0029;0028 0031 0036 0029; +2484;2484;2484;0028 0031 0037 0029;0028 0031 0037 0029; +2485;2485;2485;0028 0031 0038 0029;0028 0031 0038 0029; +2486;2486;2486;0028 0031 0039 0029;0028 0031 0039 0029; +2487;2487;2487;0028 0032 0030 0029;0028 0032 0030 0029; +2488;2488;2488;0031 002E;0031 002E; +2489;2489;2489;0032 002E;0032 002E; +248A;248A;248A;0033 002E;0033 002E; +248B;248B;248B;0034 002E;0034 002E; +248C;248C;248C;0035 002E;0035 002E; +248D;248D;248D;0036 002E;0036 002E; +248E;248E;248E;0037 002E;0037 002E; +248F;248F;248F;0038 002E;0038 002E; +2490;2490;2490;0039 002E;0039 002E; +2491;2491;2491;0031 0030 002E;0031 0030 002E; +2492;2492;2492;0031 0031 002E;0031 0031 002E; +2493;2493;2493;0031 0032 002E;0031 0032 002E; +2494;2494;2494;0031 0033 002E;0031 0033 002E; +2495;2495;2495;0031 0034 002E;0031 0034 002E; +2496;2496;2496;0031 0035 002E;0031 0035 002E; +2497;2497;2497;0031 0036 002E;0031 0036 002E; +2498;2498;2498;0031 0037 002E;0031 0037 002E; +2499;2499;2499;0031 0038 002E;0031 0038 002E; +249A;249A;249A;0031 0039 002E;0031 0039 002E; +249B;249B;249B;0032 0030 002E;0032 0030 002E; +249C;249C;249C;0028 0061 0029;0028 0061 0029; +249D;249D;249D;0028 0062 0029;0028 0062 0029; +249E;249E;249E;0028 0063 0029;0028 0063 0029; +249F;249F;249F;0028 0064 0029;0028 0064 0029; +24A0;24A0;24A0;0028 0065 0029;0028 0065 0029; +24A1;24A1;24A1;0028 0066 0029;0028 0066 0029; +24A2;24A2;24A2;0028 0067 0029;0028 0067 0029; +24A3;24A3;24A3;0028 0068 0029;0028 0068 0029; +24A4;24A4;24A4;0028 0069 0029;0028 0069 0029; +24A5;24A5;24A5;0028 006A 0029;0028 006A 0029; +24A6;24A6;24A6;0028 006B 0029;0028 006B 0029; +24A7;24A7;24A7;0028 006C 0029;0028 006C 0029; +24A8;24A8;24A8;0028 006D 0029;0028 006D 0029; +24A9;24A9;24A9;0028 006E 0029;0028 006E 0029; +24AA;24AA;24AA;0028 006F 0029;0028 006F 0029; +24AB;24AB;24AB;0028 0070 0029;0028 0070 0029; +24AC;24AC;24AC;0028 0071 0029;0028 0071 0029; +24AD;24AD;24AD;0028 0072 0029;0028 0072 0029; +24AE;24AE;24AE;0028 0073 0029;0028 0073 0029; +24AF;24AF;24AF;0028 0074 0029;0028 0074 0029; +24B0;24B0;24B0;0028 0075 0029;0028 0075 0029; +24B1;24B1;24B1;0028 0076 0029;0028 0076 0029; +24B2;24B2;24B2;0028 0077 0029;0028 0077 0029; +24B3;24B3;24B3;0028 0078 0029;0028 0078 0029; +24B4;24B4;24B4;0028 0079 0029;0028 0079 0029; +24B5;24B5;24B5;0028 007A 0029;0028 007A 0029; +24B6;24B6;24B6;0041;0041; +24B7;24B7;24B7;0042;0042; +24B8;24B8;24B8;0043;0043; +24B9;24B9;24B9;0044;0044; +24BA;24BA;24BA;0045;0045; +24BB;24BB;24BB;0046;0046; +24BC;24BC;24BC;0047;0047; +24BD;24BD;24BD;0048;0048; +24BE;24BE;24BE;0049;0049; +24BF;24BF;24BF;004A;004A; +24C0;24C0;24C0;004B;004B; +24C1;24C1;24C1;004C;004C; +24C2;24C2;24C2;004D;004D; +24C3;24C3;24C3;004E;004E; +24C4;24C4;24C4;004F;004F; +24C5;24C5;24C5;0050;0050; +24C6;24C6;24C6;0051;0051; +24C7;24C7;24C7;0052;0052; +24C8;24C8;24C8;0053;0053; +24C9;24C9;24C9;0054;0054; +24CA;24CA;24CA;0055;0055; +24CB;24CB;24CB;0056;0056; +24CC;24CC;24CC;0057;0057; +24CD;24CD;24CD;0058;0058; +24CE;24CE;24CE;0059;0059; +24CF;24CF;24CF;005A;005A; +24D0;24D0;24D0;0061;0061; +24D1;24D1;24D1;0062;0062; +24D2;24D2;24D2;0063;0063; +24D3;24D3;24D3;0064;0064; +24D4;24D4;24D4;0065;0065; +24D5;24D5;24D5;0066;0066; +24D6;24D6;24D6;0067;0067; +24D7;24D7;24D7;0068;0068; +24D8;24D8;24D8;0069;0069; +24D9;24D9;24D9;006A;006A; +24DA;24DA;24DA;006B;006B; +24DB;24DB;24DB;006C;006C; +24DC;24DC;24DC;006D;006D; +24DD;24DD;24DD;006E;006E; +24DE;24DE;24DE;006F;006F; +24DF;24DF;24DF;0070;0070; +24E0;24E0;24E0;0071;0071; +24E1;24E1;24E1;0072;0072; +24E2;24E2;24E2;0073;0073; +24E3;24E3;24E3;0074;0074; +24E4;24E4;24E4;0075;0075; +24E5;24E5;24E5;0076;0076; +24E6;24E6;24E6;0077;0077; +24E7;24E7;24E7;0078;0078; +24E8;24E8;24E8;0079;0079; +24E9;24E9;24E9;007A;007A; +24EA;24EA;24EA;0030;0030; +2A0C;2A0C;2A0C;222B 222B 222B 222B;222B 222B 222B 222B; +2A74;2A74;2A74;003A 003A 003D;003A 003A 003D; +2A75;2A75;2A75;003D 003D;003D 003D; +2A76;2A76;2A76;003D 003D 003D;003D 003D 003D; +2ADC;2ADD 0338;2ADD 0338;2ADD 0338;2ADD 0338; +2C7C;2C7C;2C7C;006A;006A; +2C7D;2C7D;2C7D;0056;0056; +2D6F;2D6F;2D6F;2D61;2D61; +2E9F;2E9F;2E9F;6BCD;6BCD; +2EF3;2EF3;2EF3;9F9F;9F9F; +2F00;2F00;2F00;4E00;4E00; +2F01;2F01;2F01;4E28;4E28; +2F02;2F02;2F02;4E36;4E36; +2F03;2F03;2F03;4E3F;4E3F; +2F04;2F04;2F04;4E59;4E59; +2F05;2F05;2F05;4E85;4E85; +2F06;2F06;2F06;4E8C;4E8C; +2F07;2F07;2F07;4EA0;4EA0; +2F08;2F08;2F08;4EBA;4EBA; +2F09;2F09;2F09;513F;513F; +2F0A;2F0A;2F0A;5165;5165; +2F0B;2F0B;2F0B;516B;516B; +2F0C;2F0C;2F0C;5182;5182; +2F0D;2F0D;2F0D;5196;5196; +2F0E;2F0E;2F0E;51AB;51AB; +2F0F;2F0F;2F0F;51E0;51E0; +2F10;2F10;2F10;51F5;51F5; +2F11;2F11;2F11;5200;5200; +2F12;2F12;2F12;529B;529B; +2F13;2F13;2F13;52F9;52F9; +2F14;2F14;2F14;5315;5315; +2F15;2F15;2F15;531A;531A; +2F16;2F16;2F16;5338;5338; +2F17;2F17;2F17;5341;5341; +2F18;2F18;2F18;535C;535C; +2F19;2F19;2F19;5369;5369; +2F1A;2F1A;2F1A;5382;5382; +2F1B;2F1B;2F1B;53B6;53B6; +2F1C;2F1C;2F1C;53C8;53C8; +2F1D;2F1D;2F1D;53E3;53E3; +2F1E;2F1E;2F1E;56D7;56D7; +2F1F;2F1F;2F1F;571F;571F; +2F20;2F20;2F20;58EB;58EB; +2F21;2F21;2F21;5902;5902; +2F22;2F22;2F22;590A;590A; +2F23;2F23;2F23;5915;5915; +2F24;2F24;2F24;5927;5927; +2F25;2F25;2F25;5973;5973; +2F26;2F26;2F26;5B50;5B50; +2F27;2F27;2F27;5B80;5B80; +2F28;2F28;2F28;5BF8;5BF8; +2F29;2F29;2F29;5C0F;5C0F; +2F2A;2F2A;2F2A;5C22;5C22; +2F2B;2F2B;2F2B;5C38;5C38; +2F2C;2F2C;2F2C;5C6E;5C6E; +2F2D;2F2D;2F2D;5C71;5C71; +2F2E;2F2E;2F2E;5DDB;5DDB; +2F2F;2F2F;2F2F;5DE5;5DE5; +2F30;2F30;2F30;5DF1;5DF1; +2F31;2F31;2F31;5DFE;5DFE; +2F32;2F32;2F32;5E72;5E72; +2F33;2F33;2F33;5E7A;5E7A; +2F34;2F34;2F34;5E7F;5E7F; +2F35;2F35;2F35;5EF4;5EF4; +2F36;2F36;2F36;5EFE;5EFE; +2F37;2F37;2F37;5F0B;5F0B; +2F38;2F38;2F38;5F13;5F13; +2F39;2F39;2F39;5F50;5F50; +2F3A;2F3A;2F3A;5F61;5F61; +2F3B;2F3B;2F3B;5F73;5F73; +2F3C;2F3C;2F3C;5FC3;5FC3; +2F3D;2F3D;2F3D;6208;6208; +2F3E;2F3E;2F3E;6236;6236; +2F3F;2F3F;2F3F;624B;624B; +2F40;2F40;2F40;652F;652F; +2F41;2F41;2F41;6534;6534; +2F42;2F42;2F42;6587;6587; +2F43;2F43;2F43;6597;6597; +2F44;2F44;2F44;65A4;65A4; +2F45;2F45;2F45;65B9;65B9; +2F46;2F46;2F46;65E0;65E0; +2F47;2F47;2F47;65E5;65E5; +2F48;2F48;2F48;66F0;66F0; +2F49;2F49;2F49;6708;6708; +2F4A;2F4A;2F4A;6728;6728; +2F4B;2F4B;2F4B;6B20;6B20; +2F4C;2F4C;2F4C;6B62;6B62; +2F4D;2F4D;2F4D;6B79;6B79; +2F4E;2F4E;2F4E;6BB3;6BB3; +2F4F;2F4F;2F4F;6BCB;6BCB; +2F50;2F50;2F50;6BD4;6BD4; +2F51;2F51;2F51;6BDB;6BDB; +2F52;2F52;2F52;6C0F;6C0F; +2F53;2F53;2F53;6C14;6C14; +2F54;2F54;2F54;6C34;6C34; +2F55;2F55;2F55;706B;706B; +2F56;2F56;2F56;722A;722A; +2F57;2F57;2F57;7236;7236; +2F58;2F58;2F58;723B;723B; +2F59;2F59;2F59;723F;723F; +2F5A;2F5A;2F5A;7247;7247; +2F5B;2F5B;2F5B;7259;7259; +2F5C;2F5C;2F5C;725B;725B; +2F5D;2F5D;2F5D;72AC;72AC; +2F5E;2F5E;2F5E;7384;7384; +2F5F;2F5F;2F5F;7389;7389; +2F60;2F60;2F60;74DC;74DC; +2F61;2F61;2F61;74E6;74E6; +2F62;2F62;2F62;7518;7518; +2F63;2F63;2F63;751F;751F; +2F64;2F64;2F64;7528;7528; +2F65;2F65;2F65;7530;7530; +2F66;2F66;2F66;758B;758B; +2F67;2F67;2F67;7592;7592; +2F68;2F68;2F68;7676;7676; +2F69;2F69;2F69;767D;767D; +2F6A;2F6A;2F6A;76AE;76AE; +2F6B;2F6B;2F6B;76BF;76BF; +2F6C;2F6C;2F6C;76EE;76EE; +2F6D;2F6D;2F6D;77DB;77DB; +2F6E;2F6E;2F6E;77E2;77E2; +2F6F;2F6F;2F6F;77F3;77F3; +2F70;2F70;2F70;793A;793A; +2F71;2F71;2F71;79B8;79B8; +2F72;2F72;2F72;79BE;79BE; +2F73;2F73;2F73;7A74;7A74; +2F74;2F74;2F74;7ACB;7ACB; +2F75;2F75;2F75;7AF9;7AF9; +2F76;2F76;2F76;7C73;7C73; +2F77;2F77;2F77;7CF8;7CF8; +2F78;2F78;2F78;7F36;7F36; +2F79;2F79;2F79;7F51;7F51; +2F7A;2F7A;2F7A;7F8A;7F8A; +2F7B;2F7B;2F7B;7FBD;7FBD; +2F7C;2F7C;2F7C;8001;8001; +2F7D;2F7D;2F7D;800C;800C; +2F7E;2F7E;2F7E;8012;8012; +2F7F;2F7F;2F7F;8033;8033; +2F80;2F80;2F80;807F;807F; +2F81;2F81;2F81;8089;8089; +2F82;2F82;2F82;81E3;81E3; +2F83;2F83;2F83;81EA;81EA; +2F84;2F84;2F84;81F3;81F3; +2F85;2F85;2F85;81FC;81FC; +2F86;2F86;2F86;820C;820C; +2F87;2F87;2F87;821B;821B; +2F88;2F88;2F88;821F;821F; +2F89;2F89;2F89;826E;826E; +2F8A;2F8A;2F8A;8272;8272; +2F8B;2F8B;2F8B;8278;8278; +2F8C;2F8C;2F8C;864D;864D; +2F8D;2F8D;2F8D;866B;866B; +2F8E;2F8E;2F8E;8840;8840; +2F8F;2F8F;2F8F;884C;884C; +2F90;2F90;2F90;8863;8863; +2F91;2F91;2F91;897E;897E; +2F92;2F92;2F92;898B;898B; +2F93;2F93;2F93;89D2;89D2; +2F94;2F94;2F94;8A00;8A00; +2F95;2F95;2F95;8C37;8C37; +2F96;2F96;2F96;8C46;8C46; +2F97;2F97;2F97;8C55;8C55; +2F98;2F98;2F98;8C78;8C78; +2F99;2F99;2F99;8C9D;8C9D; +2F9A;2F9A;2F9A;8D64;8D64; +2F9B;2F9B;2F9B;8D70;8D70; +2F9C;2F9C;2F9C;8DB3;8DB3; +2F9D;2F9D;2F9D;8EAB;8EAB; +2F9E;2F9E;2F9E;8ECA;8ECA; +2F9F;2F9F;2F9F;8F9B;8F9B; +2FA0;2FA0;2FA0;8FB0;8FB0; +2FA1;2FA1;2FA1;8FB5;8FB5; +2FA2;2FA2;2FA2;9091;9091; +2FA3;2FA3;2FA3;9149;9149; +2FA4;2FA4;2FA4;91C6;91C6; +2FA5;2FA5;2FA5;91CC;91CC; +2FA6;2FA6;2FA6;91D1;91D1; +2FA7;2FA7;2FA7;9577;9577; +2FA8;2FA8;2FA8;9580;9580; +2FA9;2FA9;2FA9;961C;961C; +2FAA;2FAA;2FAA;96B6;96B6; +2FAB;2FAB;2FAB;96B9;96B9; +2FAC;2FAC;2FAC;96E8;96E8; +2FAD;2FAD;2FAD;9751;9751; +2FAE;2FAE;2FAE;975E;975E; +2FAF;2FAF;2FAF;9762;9762; +2FB0;2FB0;2FB0;9769;9769; +2FB1;2FB1;2FB1;97CB;97CB; +2FB2;2FB2;2FB2;97ED;97ED; +2FB3;2FB3;2FB3;97F3;97F3; +2FB4;2FB4;2FB4;9801;9801; +2FB5;2FB5;2FB5;98A8;98A8; +2FB6;2FB6;2FB6;98DB;98DB; +2FB7;2FB7;2FB7;98DF;98DF; +2FB8;2FB8;2FB8;9996;9996; +2FB9;2FB9;2FB9;9999;9999; +2FBA;2FBA;2FBA;99AC;99AC; +2FBB;2FBB;2FBB;9AA8;9AA8; +2FBC;2FBC;2FBC;9AD8;9AD8; +2FBD;2FBD;2FBD;9ADF;9ADF; +2FBE;2FBE;2FBE;9B25;9B25; +2FBF;2FBF;2FBF;9B2F;9B2F; +2FC0;2FC0;2FC0;9B32;9B32; +2FC1;2FC1;2FC1;9B3C;9B3C; +2FC2;2FC2;2FC2;9B5A;9B5A; +2FC3;2FC3;2FC3;9CE5;9CE5; +2FC4;2FC4;2FC4;9E75;9E75; +2FC5;2FC5;2FC5;9E7F;9E7F; +2FC6;2FC6;2FC6;9EA5;9EA5; +2FC7;2FC7;2FC7;9EBB;9EBB; +2FC8;2FC8;2FC8;9EC3;9EC3; +2FC9;2FC9;2FC9;9ECD;9ECD; +2FCA;2FCA;2FCA;9ED1;9ED1; +2FCB;2FCB;2FCB;9EF9;9EF9; +2FCC;2FCC;2FCC;9EFD;9EFD; +2FCD;2FCD;2FCD;9F0E;9F0E; +2FCE;2FCE;2FCE;9F13;9F13; +2FCF;2FCF;2FCF;9F20;9F20; +2FD0;2FD0;2FD0;9F3B;9F3B; +2FD1;2FD1;2FD1;9F4A;9F4A; +2FD2;2FD2;2FD2;9F52;9F52; +2FD3;2FD3;2FD3;9F8D;9F8D; +2FD4;2FD4;2FD4;9F9C;9F9C; +2FD5;2FD5;2FD5;9FA0;9FA0; +3000;3000;3000;0020;0020; +3036;3036;3036;3012;3012; +3038;3038;3038;5341;5341; +3039;3039;3039;5344;5344; +303A;303A;303A;5345;5345; +304C;304C;304B 3099;304C;304B 3099; +304E;304E;304D 3099;304E;304D 3099; +3050;3050;304F 3099;3050;304F 3099; +3052;3052;3051 3099;3052;3051 3099; +3054;3054;3053 3099;3054;3053 3099; +3056;3056;3055 3099;3056;3055 3099; +3058;3058;3057 3099;3058;3057 3099; +305A;305A;3059 3099;305A;3059 3099; +305C;305C;305B 3099;305C;305B 3099; +305E;305E;305D 3099;305E;305D 3099; +3060;3060;305F 3099;3060;305F 3099; +3062;3062;3061 3099;3062;3061 3099; +3065;3065;3064 3099;3065;3064 3099; +3067;3067;3066 3099;3067;3066 3099; +3069;3069;3068 3099;3069;3068 3099; +3070;3070;306F 3099;3070;306F 3099; +3071;3071;306F 309A;3071;306F 309A; +3073;3073;3072 3099;3073;3072 3099; +3074;3074;3072 309A;3074;3072 309A; +3076;3076;3075 3099;3076;3075 3099; +3077;3077;3075 309A;3077;3075 309A; +3079;3079;3078 3099;3079;3078 3099; +307A;307A;3078 309A;307A;3078 309A; +307C;307C;307B 3099;307C;307B 3099; +307D;307D;307B 309A;307D;307B 309A; +3094;3094;3046 3099;3094;3046 3099; +309B;309B;309B;0020 3099;0020 3099; +309C;309C;309C;0020 309A;0020 309A; +309E;309E;309D 3099;309E;309D 3099; +309F;309F;309F;3088 308A;3088 308A; +30AC;30AC;30AB 3099;30AC;30AB 3099; +30AE;30AE;30AD 3099;30AE;30AD 3099; +30B0;30B0;30AF 3099;30B0;30AF 3099; +30B2;30B2;30B1 3099;30B2;30B1 3099; +30B4;30B4;30B3 3099;30B4;30B3 3099; +30B6;30B6;30B5 3099;30B6;30B5 3099; +30B8;30B8;30B7 3099;30B8;30B7 3099; +30BA;30BA;30B9 3099;30BA;30B9 3099; +30BC;30BC;30BB 3099;30BC;30BB 3099; +30BE;30BE;30BD 3099;30BE;30BD 3099; +30C0;30C0;30BF 3099;30C0;30BF 3099; +30C2;30C2;30C1 3099;30C2;30C1 3099; +30C5;30C5;30C4 3099;30C5;30C4 3099; +30C7;30C7;30C6 3099;30C7;30C6 3099; +30C9;30C9;30C8 3099;30C9;30C8 3099; +30D0;30D0;30CF 3099;30D0;30CF 3099; +30D1;30D1;30CF 309A;30D1;30CF 309A; +30D3;30D3;30D2 3099;30D3;30D2 3099; +30D4;30D4;30D2 309A;30D4;30D2 309A; +30D6;30D6;30D5 3099;30D6;30D5 3099; +30D7;30D7;30D5 309A;30D7;30D5 309A; +30D9;30D9;30D8 3099;30D9;30D8 3099; +30DA;30DA;30D8 309A;30DA;30D8 309A; +30DC;30DC;30DB 3099;30DC;30DB 3099; +30DD;30DD;30DB 309A;30DD;30DB 309A; +30F4;30F4;30A6 3099;30F4;30A6 3099; +30F7;30F7;30EF 3099;30F7;30EF 3099; +30F8;30F8;30F0 3099;30F8;30F0 3099; +30F9;30F9;30F1 3099;30F9;30F1 3099; +30FA;30FA;30F2 3099;30FA;30F2 3099; +30FE;30FE;30FD 3099;30FE;30FD 3099; +30FF;30FF;30FF;30B3 30C8;30B3 30C8; +3131;3131;3131;1100;1100; +3132;3132;3132;1101;1101; +3133;3133;3133;11AA;11AA; +3134;3134;3134;1102;1102; +3135;3135;3135;11AC;11AC; +3136;3136;3136;11AD;11AD; +3137;3137;3137;1103;1103; +3138;3138;3138;1104;1104; +3139;3139;3139;1105;1105; +313A;313A;313A;11B0;11B0; +313B;313B;313B;11B1;11B1; +313C;313C;313C;11B2;11B2; +313D;313D;313D;11B3;11B3; +313E;313E;313E;11B4;11B4; +313F;313F;313F;11B5;11B5; +3140;3140;3140;111A;111A; +3141;3141;3141;1106;1106; +3142;3142;3142;1107;1107; +3143;3143;3143;1108;1108; +3144;3144;3144;1121;1121; +3145;3145;3145;1109;1109; +3146;3146;3146;110A;110A; +3147;3147;3147;110B;110B; +3148;3148;3148;110C;110C; +3149;3149;3149;110D;110D; +314A;314A;314A;110E;110E; +314B;314B;314B;110F;110F; +314C;314C;314C;1110;1110; +314D;314D;314D;1111;1111; +314E;314E;314E;1112;1112; +314F;314F;314F;1161;1161; +3150;3150;3150;1162;1162; +3151;3151;3151;1163;1163; +3152;3152;3152;1164;1164; +3153;3153;3153;1165;1165; +3154;3154;3154;1166;1166; +3155;3155;3155;1167;1167; +3156;3156;3156;1168;1168; +3157;3157;3157;1169;1169; +3158;3158;3158;116A;116A; +3159;3159;3159;116B;116B; +315A;315A;315A;116C;116C; +315B;315B;315B;116D;116D; +315C;315C;315C;116E;116E; +315D;315D;315D;116F;116F; +315E;315E;315E;1170;1170; +315F;315F;315F;1171;1171; +3160;3160;3160;1172;1172; +3161;3161;3161;1173;1173; +3162;3162;3162;1174;1174; +3163;3163;3163;1175;1175; +3164;3164;3164;1160;1160; +3165;3165;3165;1114;1114; +3166;3166;3166;1115;1115; +3167;3167;3167;11C7;11C7; +3168;3168;3168;11C8;11C8; +3169;3169;3169;11CC;11CC; +316A;316A;316A;11CE;11CE; +316B;316B;316B;11D3;11D3; +316C;316C;316C;11D7;11D7; +316D;316D;316D;11D9;11D9; +316E;316E;316E;111C;111C; +316F;316F;316F;11DD;11DD; +3170;3170;3170;11DF;11DF; +3171;3171;3171;111D;111D; +3172;3172;3172;111E;111E; +3173;3173;3173;1120;1120; +3174;3174;3174;1122;1122; +3175;3175;3175;1123;1123; +3176;3176;3176;1127;1127; +3177;3177;3177;1129;1129; +3178;3178;3178;112B;112B; +3179;3179;3179;112C;112C; +317A;317A;317A;112D;112D; +317B;317B;317B;112E;112E; +317C;317C;317C;112F;112F; +317D;317D;317D;1132;1132; +317E;317E;317E;1136;1136; +317F;317F;317F;1140;1140; +3180;3180;3180;1147;1147; +3181;3181;3181;114C;114C; +3182;3182;3182;11F1;11F1; +3183;3183;3183;11F2;11F2; +3184;3184;3184;1157;1157; +3185;3185;3185;1158;1158; +3186;3186;3186;1159;1159; +3187;3187;3187;1184;1184; +3188;3188;3188;1185;1185; +3189;3189;3189;1188;1188; +318A;318A;318A;1191;1191; +318B;318B;318B;1192;1192; +318C;318C;318C;1194;1194; +318D;318D;318D;119E;119E; +318E;318E;318E;11A1;11A1; +3192;3192;3192;4E00;4E00; +3193;3193;3193;4E8C;4E8C; +3194;3194;3194;4E09;4E09; +3195;3195;3195;56DB;56DB; +3196;3196;3196;4E0A;4E0A; +3197;3197;3197;4E2D;4E2D; +3198;3198;3198;4E0B;4E0B; +3199;3199;3199;7532;7532; +319A;319A;319A;4E59;4E59; +319B;319B;319B;4E19;4E19; +319C;319C;319C;4E01;4E01; +319D;319D;319D;5929;5929; +319E;319E;319E;5730;5730; +319F;319F;319F;4EBA;4EBA; +3200;3200;3200;0028 1100 0029;0028 1100 0029; +3201;3201;3201;0028 1102 0029;0028 1102 0029; +3202;3202;3202;0028 1103 0029;0028 1103 0029; +3203;3203;3203;0028 1105 0029;0028 1105 0029; +3204;3204;3204;0028 1106 0029;0028 1106 0029; +3205;3205;3205;0028 1107 0029;0028 1107 0029; +3206;3206;3206;0028 1109 0029;0028 1109 0029; +3207;3207;3207;0028 110B 0029;0028 110B 0029; +3208;3208;3208;0028 110C 0029;0028 110C 0029; +3209;3209;3209;0028 110E 0029;0028 110E 0029; +320A;320A;320A;0028 110F 0029;0028 110F 0029; +320B;320B;320B;0028 1110 0029;0028 1110 0029; +320C;320C;320C;0028 1111 0029;0028 1111 0029; +320D;320D;320D;0028 1112 0029;0028 1112 0029; +320E;320E;320E;0028 AC00 0029;0028 1100 1161 0029; +320F;320F;320F;0028 B098 0029;0028 1102 1161 0029; +3210;3210;3210;0028 B2E4 0029;0028 1103 1161 0029; +3211;3211;3211;0028 B77C 0029;0028 1105 1161 0029; +3212;3212;3212;0028 B9C8 0029;0028 1106 1161 0029; +3213;3213;3213;0028 BC14 0029;0028 1107 1161 0029; +3214;3214;3214;0028 C0AC 0029;0028 1109 1161 0029; +3215;3215;3215;0028 C544 0029;0028 110B 1161 0029; +3216;3216;3216;0028 C790 0029;0028 110C 1161 0029; +3217;3217;3217;0028 CC28 0029;0028 110E 1161 0029; +3218;3218;3218;0028 CE74 0029;0028 110F 1161 0029; +3219;3219;3219;0028 D0C0 0029;0028 1110 1161 0029; +321A;321A;321A;0028 D30C 0029;0028 1111 1161 0029; +321B;321B;321B;0028 D558 0029;0028 1112 1161 0029; +321C;321C;321C;0028 C8FC 0029;0028 110C 116E 0029; +321D;321D;321D;0028 C624 C804 0029;0028 110B 1169 110C 1165 11AB 0029; +321E;321E;321E;0028 C624 D6C4 0029;0028 110B 1169 1112 116E 0029; +3220;3220;3220;0028 4E00 0029;0028 4E00 0029; +3221;3221;3221;0028 4E8C 0029;0028 4E8C 0029; +3222;3222;3222;0028 4E09 0029;0028 4E09 0029; +3223;3223;3223;0028 56DB 0029;0028 56DB 0029; +3224;3224;3224;0028 4E94 0029;0028 4E94 0029; +3225;3225;3225;0028 516D 0029;0028 516D 0029; +3226;3226;3226;0028 4E03 0029;0028 4E03 0029; +3227;3227;3227;0028 516B 0029;0028 516B 0029; +3228;3228;3228;0028 4E5D 0029;0028 4E5D 0029; +3229;3229;3229;0028 5341 0029;0028 5341 0029; +322A;322A;322A;0028 6708 0029;0028 6708 0029; +322B;322B;322B;0028 706B 0029;0028 706B 0029; +322C;322C;322C;0028 6C34 0029;0028 6C34 0029; +322D;322D;322D;0028 6728 0029;0028 6728 0029; +322E;322E;322E;0028 91D1 0029;0028 91D1 0029; +322F;322F;322F;0028 571F 0029;0028 571F 0029; +3230;3230;3230;0028 65E5 0029;0028 65E5 0029; +3231;3231;3231;0028 682A 0029;0028 682A 0029; +3232;3232;3232;0028 6709 0029;0028 6709 0029; +3233;3233;3233;0028 793E 0029;0028 793E 0029; +3234;3234;3234;0028 540D 0029;0028 540D 0029; +3235;3235;3235;0028 7279 0029;0028 7279 0029; +3236;3236;3236;0028 8CA1 0029;0028 8CA1 0029; +3237;3237;3237;0028 795D 0029;0028 795D 0029; +3238;3238;3238;0028 52B4 0029;0028 52B4 0029; +3239;3239;3239;0028 4EE3 0029;0028 4EE3 0029; +323A;323A;323A;0028 547C 0029;0028 547C 0029; +323B;323B;323B;0028 5B66 0029;0028 5B66 0029; +323C;323C;323C;0028 76E3 0029;0028 76E3 0029; +323D;323D;323D;0028 4F01 0029;0028 4F01 0029; +323E;323E;323E;0028 8CC7 0029;0028 8CC7 0029; +323F;323F;323F;0028 5354 0029;0028 5354 0029; +3240;3240;3240;0028 796D 0029;0028 796D 0029; +3241;3241;3241;0028 4F11 0029;0028 4F11 0029; +3242;3242;3242;0028 81EA 0029;0028 81EA 0029; +3243;3243;3243;0028 81F3 0029;0028 81F3 0029; +3250;3250;3250;0050 0054 0045;0050 0054 0045; +3251;3251;3251;0032 0031;0032 0031; +3252;3252;3252;0032 0032;0032 0032; +3253;3253;3253;0032 0033;0032 0033; +3254;3254;3254;0032 0034;0032 0034; +3255;3255;3255;0032 0035;0032 0035; +3256;3256;3256;0032 0036;0032 0036; +3257;3257;3257;0032 0037;0032 0037; +3258;3258;3258;0032 0038;0032 0038; +3259;3259;3259;0032 0039;0032 0039; +325A;325A;325A;0033 0030;0033 0030; +325B;325B;325B;0033 0031;0033 0031; +325C;325C;325C;0033 0032;0033 0032; +325D;325D;325D;0033 0033;0033 0033; +325E;325E;325E;0033 0034;0033 0034; +325F;325F;325F;0033 0035;0033 0035; +3260;3260;3260;1100;1100; +3261;3261;3261;1102;1102; +3262;3262;3262;1103;1103; +3263;3263;3263;1105;1105; +3264;3264;3264;1106;1106; +3265;3265;3265;1107;1107; +3266;3266;3266;1109;1109; +3267;3267;3267;110B;110B; +3268;3268;3268;110C;110C; +3269;3269;3269;110E;110E; +326A;326A;326A;110F;110F; +326B;326B;326B;1110;1110; +326C;326C;326C;1111;1111; +326D;326D;326D;1112;1112; +326E;326E;326E;AC00;1100 1161; +326F;326F;326F;B098;1102 1161; +3270;3270;3270;B2E4;1103 1161; +3271;3271;3271;B77C;1105 1161; +3272;3272;3272;B9C8;1106 1161; +3273;3273;3273;BC14;1107 1161; +3274;3274;3274;C0AC;1109 1161; +3275;3275;3275;C544;110B 1161; +3276;3276;3276;C790;110C 1161; +3277;3277;3277;CC28;110E 1161; +3278;3278;3278;CE74;110F 1161; +3279;3279;3279;D0C0;1110 1161; +327A;327A;327A;D30C;1111 1161; +327B;327B;327B;D558;1112 1161; +327C;327C;327C;CC38 ACE0;110E 1161 11B7 1100 1169; +327D;327D;327D;C8FC C758;110C 116E 110B 1174; +327E;327E;327E;C6B0;110B 116E; +3280;3280;3280;4E00;4E00; +3281;3281;3281;4E8C;4E8C; +3282;3282;3282;4E09;4E09; +3283;3283;3283;56DB;56DB; +3284;3284;3284;4E94;4E94; +3285;3285;3285;516D;516D; +3286;3286;3286;4E03;4E03; +3287;3287;3287;516B;516B; +3288;3288;3288;4E5D;4E5D; +3289;3289;3289;5341;5341; +328A;328A;328A;6708;6708; +328B;328B;328B;706B;706B; +328C;328C;328C;6C34;6C34; +328D;328D;328D;6728;6728; +328E;328E;328E;91D1;91D1; +328F;328F;328F;571F;571F; +3290;3290;3290;65E5;65E5; +3291;3291;3291;682A;682A; +3292;3292;3292;6709;6709; +3293;3293;3293;793E;793E; +3294;3294;3294;540D;540D; +3295;3295;3295;7279;7279; +3296;3296;3296;8CA1;8CA1; +3297;3297;3297;795D;795D; +3298;3298;3298;52B4;52B4; +3299;3299;3299;79D8;79D8; +329A;329A;329A;7537;7537; +329B;329B;329B;5973;5973; +329C;329C;329C;9069;9069; +329D;329D;329D;512A;512A; +329E;329E;329E;5370;5370; +329F;329F;329F;6CE8;6CE8; +32A0;32A0;32A0;9805;9805; +32A1;32A1;32A1;4F11;4F11; +32A2;32A2;32A2;5199;5199; +32A3;32A3;32A3;6B63;6B63; +32A4;32A4;32A4;4E0A;4E0A; +32A5;32A5;32A5;4E2D;4E2D; +32A6;32A6;32A6;4E0B;4E0B; +32A7;32A7;32A7;5DE6;5DE6; +32A8;32A8;32A8;53F3;53F3; +32A9;32A9;32A9;533B;533B; +32AA;32AA;32AA;5B97;5B97; +32AB;32AB;32AB;5B66;5B66; +32AC;32AC;32AC;76E3;76E3; +32AD;32AD;32AD;4F01;4F01; +32AE;32AE;32AE;8CC7;8CC7; +32AF;32AF;32AF;5354;5354; +32B0;32B0;32B0;591C;591C; +32B1;32B1;32B1;0033 0036;0033 0036; +32B2;32B2;32B2;0033 0037;0033 0037; +32B3;32B3;32B3;0033 0038;0033 0038; +32B4;32B4;32B4;0033 0039;0033 0039; +32B5;32B5;32B5;0034 0030;0034 0030; +32B6;32B6;32B6;0034 0031;0034 0031; +32B7;32B7;32B7;0034 0032;0034 0032; +32B8;32B8;32B8;0034 0033;0034 0033; +32B9;32B9;32B9;0034 0034;0034 0034; +32BA;32BA;32BA;0034 0035;0034 0035; +32BB;32BB;32BB;0034 0036;0034 0036; +32BC;32BC;32BC;0034 0037;0034 0037; +32BD;32BD;32BD;0034 0038;0034 0038; +32BE;32BE;32BE;0034 0039;0034 0039; +32BF;32BF;32BF;0035 0030;0035 0030; +32C0;32C0;32C0;0031 6708;0031 6708; +32C1;32C1;32C1;0032 6708;0032 6708; +32C2;32C2;32C2;0033 6708;0033 6708; +32C3;32C3;32C3;0034 6708;0034 6708; +32C4;32C4;32C4;0035 6708;0035 6708; +32C5;32C5;32C5;0036 6708;0036 6708; +32C6;32C6;32C6;0037 6708;0037 6708; +32C7;32C7;32C7;0038 6708;0038 6708; +32C8;32C8;32C8;0039 6708;0039 6708; +32C9;32C9;32C9;0031 0030 6708;0031 0030 6708; +32CA;32CA;32CA;0031 0031 6708;0031 0031 6708; +32CB;32CB;32CB;0031 0032 6708;0031 0032 6708; +32CC;32CC;32CC;0048 0067;0048 0067; +32CD;32CD;32CD;0065 0072 0067;0065 0072 0067; +32CE;32CE;32CE;0065 0056;0065 0056; +32CF;32CF;32CF;004C 0054 0044;004C 0054 0044; +32D0;32D0;32D0;30A2;30A2; +32D1;32D1;32D1;30A4;30A4; +32D2;32D2;32D2;30A6;30A6; +32D3;32D3;32D3;30A8;30A8; +32D4;32D4;32D4;30AA;30AA; +32D5;32D5;32D5;30AB;30AB; +32D6;32D6;32D6;30AD;30AD; +32D7;32D7;32D7;30AF;30AF; +32D8;32D8;32D8;30B1;30B1; +32D9;32D9;32D9;30B3;30B3; +32DA;32DA;32DA;30B5;30B5; +32DB;32DB;32DB;30B7;30B7; +32DC;32DC;32DC;30B9;30B9; +32DD;32DD;32DD;30BB;30BB; +32DE;32DE;32DE;30BD;30BD; +32DF;32DF;32DF;30BF;30BF; +32E0;32E0;32E0;30C1;30C1; +32E1;32E1;32E1;30C4;30C4; +32E2;32E2;32E2;30C6;30C6; +32E3;32E3;32E3;30C8;30C8; +32E4;32E4;32E4;30CA;30CA; +32E5;32E5;32E5;30CB;30CB; +32E6;32E6;32E6;30CC;30CC; +32E7;32E7;32E7;30CD;30CD; +32E8;32E8;32E8;30CE;30CE; +32E9;32E9;32E9;30CF;30CF; +32EA;32EA;32EA;30D2;30D2; +32EB;32EB;32EB;30D5;30D5; +32EC;32EC;32EC;30D8;30D8; +32ED;32ED;32ED;30DB;30DB; +32EE;32EE;32EE;30DE;30DE; +32EF;32EF;32EF;30DF;30DF; +32F0;32F0;32F0;30E0;30E0; +32F1;32F1;32F1;30E1;30E1; +32F2;32F2;32F2;30E2;30E2; +32F3;32F3;32F3;30E4;30E4; +32F4;32F4;32F4;30E6;30E6; +32F5;32F5;32F5;30E8;30E8; +32F6;32F6;32F6;30E9;30E9; +32F7;32F7;32F7;30EA;30EA; +32F8;32F8;32F8;30EB;30EB; +32F9;32F9;32F9;30EC;30EC; +32FA;32FA;32FA;30ED;30ED; +32FB;32FB;32FB;30EF;30EF; +32FC;32FC;32FC;30F0;30F0; +32FD;32FD;32FD;30F1;30F1; +32FE;32FE;32FE;30F2;30F2; +3300;3300;3300;30A2 30D1 30FC 30C8;30A2 30CF 309A 30FC 30C8; +3301;3301;3301;30A2 30EB 30D5 30A1;30A2 30EB 30D5 30A1; +3302;3302;3302;30A2 30F3 30DA 30A2;30A2 30F3 30D8 309A 30A2; +3303;3303;3303;30A2 30FC 30EB;30A2 30FC 30EB; +3304;3304;3304;30A4 30CB 30F3 30B0;30A4 30CB 30F3 30AF 3099; +3305;3305;3305;30A4 30F3 30C1;30A4 30F3 30C1; +3306;3306;3306;30A6 30A9 30F3;30A6 30A9 30F3; +3307;3307;3307;30A8 30B9 30AF 30FC 30C9;30A8 30B9 30AF 30FC 30C8 3099; +3308;3308;3308;30A8 30FC 30AB 30FC;30A8 30FC 30AB 30FC; +3309;3309;3309;30AA 30F3 30B9;30AA 30F3 30B9; +330A;330A;330A;30AA 30FC 30E0;30AA 30FC 30E0; +330B;330B;330B;30AB 30A4 30EA;30AB 30A4 30EA; +330C;330C;330C;30AB 30E9 30C3 30C8;30AB 30E9 30C3 30C8; +330D;330D;330D;30AB 30ED 30EA 30FC;30AB 30ED 30EA 30FC; +330E;330E;330E;30AC 30ED 30F3;30AB 3099 30ED 30F3; +330F;330F;330F;30AC 30F3 30DE;30AB 3099 30F3 30DE; +3310;3310;3310;30AE 30AC;30AD 3099 30AB 3099; +3311;3311;3311;30AE 30CB 30FC;30AD 3099 30CB 30FC; +3312;3312;3312;30AD 30E5 30EA 30FC;30AD 30E5 30EA 30FC; +3313;3313;3313;30AE 30EB 30C0 30FC;30AD 3099 30EB 30BF 3099 30FC; +3314;3314;3314;30AD 30ED;30AD 30ED; +3315;3315;3315;30AD 30ED 30B0 30E9 30E0;30AD 30ED 30AF 3099 30E9 30E0; +3316;3316;3316;30AD 30ED 30E1 30FC 30C8 30EB;30AD 30ED 30E1 30FC 30C8 30EB; +3317;3317;3317;30AD 30ED 30EF 30C3 30C8;30AD 30ED 30EF 30C3 30C8; +3318;3318;3318;30B0 30E9 30E0;30AF 3099 30E9 30E0; +3319;3319;3319;30B0 30E9 30E0 30C8 30F3;30AF 3099 30E9 30E0 30C8 30F3; +331A;331A;331A;30AF 30EB 30BC 30A4 30ED;30AF 30EB 30BB 3099 30A4 30ED; +331B;331B;331B;30AF 30ED 30FC 30CD;30AF 30ED 30FC 30CD; +331C;331C;331C;30B1 30FC 30B9;30B1 30FC 30B9; +331D;331D;331D;30B3 30EB 30CA;30B3 30EB 30CA; +331E;331E;331E;30B3 30FC 30DD;30B3 30FC 30DB 309A; +331F;331F;331F;30B5 30A4 30AF 30EB;30B5 30A4 30AF 30EB; +3320;3320;3320;30B5 30F3 30C1 30FC 30E0;30B5 30F3 30C1 30FC 30E0; +3321;3321;3321;30B7 30EA 30F3 30B0;30B7 30EA 30F3 30AF 3099; +3322;3322;3322;30BB 30F3 30C1;30BB 30F3 30C1; +3323;3323;3323;30BB 30F3 30C8;30BB 30F3 30C8; +3324;3324;3324;30C0 30FC 30B9;30BF 3099 30FC 30B9; +3325;3325;3325;30C7 30B7;30C6 3099 30B7; +3326;3326;3326;30C9 30EB;30C8 3099 30EB; +3327;3327;3327;30C8 30F3;30C8 30F3; +3328;3328;3328;30CA 30CE;30CA 30CE; +3329;3329;3329;30CE 30C3 30C8;30CE 30C3 30C8; +332A;332A;332A;30CF 30A4 30C4;30CF 30A4 30C4; +332B;332B;332B;30D1 30FC 30BB 30F3 30C8;30CF 309A 30FC 30BB 30F3 30C8; +332C;332C;332C;30D1 30FC 30C4;30CF 309A 30FC 30C4; +332D;332D;332D;30D0 30FC 30EC 30EB;30CF 3099 30FC 30EC 30EB; +332E;332E;332E;30D4 30A2 30B9 30C8 30EB;30D2 309A 30A2 30B9 30C8 30EB; +332F;332F;332F;30D4 30AF 30EB;30D2 309A 30AF 30EB; +3330;3330;3330;30D4 30B3;30D2 309A 30B3; +3331;3331;3331;30D3 30EB;30D2 3099 30EB; +3332;3332;3332;30D5 30A1 30E9 30C3 30C9;30D5 30A1 30E9 30C3 30C8 3099; +3333;3333;3333;30D5 30A3 30FC 30C8;30D5 30A3 30FC 30C8; +3334;3334;3334;30D6 30C3 30B7 30A7 30EB;30D5 3099 30C3 30B7 30A7 30EB; +3335;3335;3335;30D5 30E9 30F3;30D5 30E9 30F3; +3336;3336;3336;30D8 30AF 30BF 30FC 30EB;30D8 30AF 30BF 30FC 30EB; +3337;3337;3337;30DA 30BD;30D8 309A 30BD; +3338;3338;3338;30DA 30CB 30D2;30D8 309A 30CB 30D2; +3339;3339;3339;30D8 30EB 30C4;30D8 30EB 30C4; +333A;333A;333A;30DA 30F3 30B9;30D8 309A 30F3 30B9; +333B;333B;333B;30DA 30FC 30B8;30D8 309A 30FC 30B7 3099; +333C;333C;333C;30D9 30FC 30BF;30D8 3099 30FC 30BF; +333D;333D;333D;30DD 30A4 30F3 30C8;30DB 309A 30A4 30F3 30C8; +333E;333E;333E;30DC 30EB 30C8;30DB 3099 30EB 30C8; +333F;333F;333F;30DB 30F3;30DB 30F3; +3340;3340;3340;30DD 30F3 30C9;30DB 309A 30F3 30C8 3099; +3341;3341;3341;30DB 30FC 30EB;30DB 30FC 30EB; +3342;3342;3342;30DB 30FC 30F3;30DB 30FC 30F3; +3343;3343;3343;30DE 30A4 30AF 30ED;30DE 30A4 30AF 30ED; +3344;3344;3344;30DE 30A4 30EB;30DE 30A4 30EB; +3345;3345;3345;30DE 30C3 30CF;30DE 30C3 30CF; +3346;3346;3346;30DE 30EB 30AF;30DE 30EB 30AF; +3347;3347;3347;30DE 30F3 30B7 30E7 30F3;30DE 30F3 30B7 30E7 30F3; +3348;3348;3348;30DF 30AF 30ED 30F3;30DF 30AF 30ED 30F3; +3349;3349;3349;30DF 30EA;30DF 30EA; +334A;334A;334A;30DF 30EA 30D0 30FC 30EB;30DF 30EA 30CF 3099 30FC 30EB; +334B;334B;334B;30E1 30AC;30E1 30AB 3099; +334C;334C;334C;30E1 30AC 30C8 30F3;30E1 30AB 3099 30C8 30F3; +334D;334D;334D;30E1 30FC 30C8 30EB;30E1 30FC 30C8 30EB; +334E;334E;334E;30E4 30FC 30C9;30E4 30FC 30C8 3099; +334F;334F;334F;30E4 30FC 30EB;30E4 30FC 30EB; +3350;3350;3350;30E6 30A2 30F3;30E6 30A2 30F3; +3351;3351;3351;30EA 30C3 30C8 30EB;30EA 30C3 30C8 30EB; +3352;3352;3352;30EA 30E9;30EA 30E9; +3353;3353;3353;30EB 30D4 30FC;30EB 30D2 309A 30FC; +3354;3354;3354;30EB 30FC 30D6 30EB;30EB 30FC 30D5 3099 30EB; +3355;3355;3355;30EC 30E0;30EC 30E0; +3356;3356;3356;30EC 30F3 30C8 30B2 30F3;30EC 30F3 30C8 30B1 3099 30F3; +3357;3357;3357;30EF 30C3 30C8;30EF 30C3 30C8; +3358;3358;3358;0030 70B9;0030 70B9; +3359;3359;3359;0031 70B9;0031 70B9; +335A;335A;335A;0032 70B9;0032 70B9; +335B;335B;335B;0033 70B9;0033 70B9; +335C;335C;335C;0034 70B9;0034 70B9; +335D;335D;335D;0035 70B9;0035 70B9; +335E;335E;335E;0036 70B9;0036 70B9; +335F;335F;335F;0037 70B9;0037 70B9; +3360;3360;3360;0038 70B9;0038 70B9; +3361;3361;3361;0039 70B9;0039 70B9; +3362;3362;3362;0031 0030 70B9;0031 0030 70B9; +3363;3363;3363;0031 0031 70B9;0031 0031 70B9; +3364;3364;3364;0031 0032 70B9;0031 0032 70B9; +3365;3365;3365;0031 0033 70B9;0031 0033 70B9; +3366;3366;3366;0031 0034 70B9;0031 0034 70B9; +3367;3367;3367;0031 0035 70B9;0031 0035 70B9; +3368;3368;3368;0031 0036 70B9;0031 0036 70B9; +3369;3369;3369;0031 0037 70B9;0031 0037 70B9; +336A;336A;336A;0031 0038 70B9;0031 0038 70B9; +336B;336B;336B;0031 0039 70B9;0031 0039 70B9; +336C;336C;336C;0032 0030 70B9;0032 0030 70B9; +336D;336D;336D;0032 0031 70B9;0032 0031 70B9; +336E;336E;336E;0032 0032 70B9;0032 0032 70B9; +336F;336F;336F;0032 0033 70B9;0032 0033 70B9; +3370;3370;3370;0032 0034 70B9;0032 0034 70B9; +3371;3371;3371;0068 0050 0061;0068 0050 0061; +3372;3372;3372;0064 0061;0064 0061; +3373;3373;3373;0041 0055;0041 0055; +3374;3374;3374;0062 0061 0072;0062 0061 0072; +3375;3375;3375;006F 0056;006F 0056; +3376;3376;3376;0070 0063;0070 0063; +3377;3377;3377;0064 006D;0064 006D; +3378;3378;3378;0064 006D 0032;0064 006D 0032; +3379;3379;3379;0064 006D 0033;0064 006D 0033; +337A;337A;337A;0049 0055;0049 0055; +337B;337B;337B;5E73 6210;5E73 6210; +337C;337C;337C;662D 548C;662D 548C; +337D;337D;337D;5927 6B63;5927 6B63; +337E;337E;337E;660E 6CBB;660E 6CBB; +337F;337F;337F;682A 5F0F 4F1A 793E;682A 5F0F 4F1A 793E; +3380;3380;3380;0070 0041;0070 0041; +3381;3381;3381;006E 0041;006E 0041; +3382;3382;3382;03BC 0041;03BC 0041; +3383;3383;3383;006D 0041;006D 0041; +3384;3384;3384;006B 0041;006B 0041; +3385;3385;3385;004B 0042;004B 0042; +3386;3386;3386;004D 0042;004D 0042; +3387;3387;3387;0047 0042;0047 0042; +3388;3388;3388;0063 0061 006C;0063 0061 006C; +3389;3389;3389;006B 0063 0061 006C;006B 0063 0061 006C; +338A;338A;338A;0070 0046;0070 0046; +338B;338B;338B;006E 0046;006E 0046; +338C;338C;338C;03BC 0046;03BC 0046; +338D;338D;338D;03BC 0067;03BC 0067; +338E;338E;338E;006D 0067;006D 0067; +338F;338F;338F;006B 0067;006B 0067; +3390;3390;3390;0048 007A;0048 007A; +3391;3391;3391;006B 0048 007A;006B 0048 007A; +3392;3392;3392;004D 0048 007A;004D 0048 007A; +3393;3393;3393;0047 0048 007A;0047 0048 007A; +3394;3394;3394;0054 0048 007A;0054 0048 007A; +3395;3395;3395;03BC 006C;03BC 006C; +3396;3396;3396;006D 006C;006D 006C; +3397;3397;3397;0064 006C;0064 006C; +3398;3398;3398;006B 006C;006B 006C; +3399;3399;3399;0066 006D;0066 006D; +339A;339A;339A;006E 006D;006E 006D; +339B;339B;339B;03BC 006D;03BC 006D; +339C;339C;339C;006D 006D;006D 006D; +339D;339D;339D;0063 006D;0063 006D; +339E;339E;339E;006B 006D;006B 006D; +339F;339F;339F;006D 006D 0032;006D 006D 0032; +33A0;33A0;33A0;0063 006D 0032;0063 006D 0032; +33A1;33A1;33A1;006D 0032;006D 0032; +33A2;33A2;33A2;006B 006D 0032;006B 006D 0032; +33A3;33A3;33A3;006D 006D 0033;006D 006D 0033; +33A4;33A4;33A4;0063 006D 0033;0063 006D 0033; +33A5;33A5;33A5;006D 0033;006D 0033; +33A6;33A6;33A6;006B 006D 0033;006B 006D 0033; +33A7;33A7;33A7;006D 2215 0073;006D 2215 0073; +33A8;33A8;33A8;006D 2215 0073 0032;006D 2215 0073 0032; +33A9;33A9;33A9;0050 0061;0050 0061; +33AA;33AA;33AA;006B 0050 0061;006B 0050 0061; +33AB;33AB;33AB;004D 0050 0061;004D 0050 0061; +33AC;33AC;33AC;0047 0050 0061;0047 0050 0061; +33AD;33AD;33AD;0072 0061 0064;0072 0061 0064; +33AE;33AE;33AE;0072 0061 0064 2215 0073;0072 0061 0064 2215 0073; +33AF;33AF;33AF;0072 0061 0064 2215 0073 0032;0072 0061 0064 2215 0073 0032; +33B0;33B0;33B0;0070 0073;0070 0073; +33B1;33B1;33B1;006E 0073;006E 0073; +33B2;33B2;33B2;03BC 0073;03BC 0073; +33B3;33B3;33B3;006D 0073;006D 0073; +33B4;33B4;33B4;0070 0056;0070 0056; +33B5;33B5;33B5;006E 0056;006E 0056; +33B6;33B6;33B6;03BC 0056;03BC 0056; +33B7;33B7;33B7;006D 0056;006D 0056; +33B8;33B8;33B8;006B 0056;006B 0056; +33B9;33B9;33B9;004D 0056;004D 0056; +33BA;33BA;33BA;0070 0057;0070 0057; +33BB;33BB;33BB;006E 0057;006E 0057; +33BC;33BC;33BC;03BC 0057;03BC 0057; +33BD;33BD;33BD;006D 0057;006D 0057; +33BE;33BE;33BE;006B 0057;006B 0057; +33BF;33BF;33BF;004D 0057;004D 0057; +33C0;33C0;33C0;006B 03A9;006B 03A9; +33C1;33C1;33C1;004D 03A9;004D 03A9; +33C2;33C2;33C2;0061 002E 006D 002E;0061 002E 006D 002E; +33C3;33C3;33C3;0042 0071;0042 0071; +33C4;33C4;33C4;0063 0063;0063 0063; +33C5;33C5;33C5;0063 0064;0063 0064; +33C6;33C6;33C6;0043 2215 006B 0067;0043 2215 006B 0067; +33C7;33C7;33C7;0043 006F 002E;0043 006F 002E; +33C8;33C8;33C8;0064 0042;0064 0042; +33C9;33C9;33C9;0047 0079;0047 0079; +33CA;33CA;33CA;0068 0061;0068 0061; +33CB;33CB;33CB;0048 0050;0048 0050; +33CC;33CC;33CC;0069 006E;0069 006E; +33CD;33CD;33CD;004B 004B;004B 004B; +33CE;33CE;33CE;004B 004D;004B 004D; +33CF;33CF;33CF;006B 0074;006B 0074; +33D0;33D0;33D0;006C 006D;006C 006D; +33D1;33D1;33D1;006C 006E;006C 006E; +33D2;33D2;33D2;006C 006F 0067;006C 006F 0067; +33D3;33D3;33D3;006C 0078;006C 0078; +33D4;33D4;33D4;006D 0062;006D 0062; +33D5;33D5;33D5;006D 0069 006C;006D 0069 006C; +33D6;33D6;33D6;006D 006F 006C;006D 006F 006C; +33D7;33D7;33D7;0050 0048;0050 0048; +33D8;33D8;33D8;0070 002E 006D 002E;0070 002E 006D 002E; +33D9;33D9;33D9;0050 0050 004D;0050 0050 004D; +33DA;33DA;33DA;0050 0052;0050 0052; +33DB;33DB;33DB;0073 0072;0073 0072; +33DC;33DC;33DC;0053 0076;0053 0076; +33DD;33DD;33DD;0057 0062;0057 0062; +33DE;33DE;33DE;0056 2215 006D;0056 2215 006D; +33DF;33DF;33DF;0041 2215 006D;0041 2215 006D; +33E0;33E0;33E0;0031 65E5;0031 65E5; +33E1;33E1;33E1;0032 65E5;0032 65E5; +33E2;33E2;33E2;0033 65E5;0033 65E5; +33E3;33E3;33E3;0034 65E5;0034 65E5; +33E4;33E4;33E4;0035 65E5;0035 65E5; +33E5;33E5;33E5;0036 65E5;0036 65E5; +33E6;33E6;33E6;0037 65E5;0037 65E5; +33E7;33E7;33E7;0038 65E5;0038 65E5; +33E8;33E8;33E8;0039 65E5;0039 65E5; +33E9;33E9;33E9;0031 0030 65E5;0031 0030 65E5; +33EA;33EA;33EA;0031 0031 65E5;0031 0031 65E5; +33EB;33EB;33EB;0031 0032 65E5;0031 0032 65E5; +33EC;33EC;33EC;0031 0033 65E5;0031 0033 65E5; +33ED;33ED;33ED;0031 0034 65E5;0031 0034 65E5; +33EE;33EE;33EE;0031 0035 65E5;0031 0035 65E5; +33EF;33EF;33EF;0031 0036 65E5;0031 0036 65E5; +33F0;33F0;33F0;0031 0037 65E5;0031 0037 65E5; +33F1;33F1;33F1;0031 0038 65E5;0031 0038 65E5; +33F2;33F2;33F2;0031 0039 65E5;0031 0039 65E5; +33F3;33F3;33F3;0032 0030 65E5;0032 0030 65E5; +33F4;33F4;33F4;0032 0031 65E5;0032 0031 65E5; +33F5;33F5;33F5;0032 0032 65E5;0032 0032 65E5; +33F6;33F6;33F6;0032 0033 65E5;0032 0033 65E5; +33F7;33F7;33F7;0032 0034 65E5;0032 0034 65E5; +33F8;33F8;33F8;0032 0035 65E5;0032 0035 65E5; +33F9;33F9;33F9;0032 0036 65E5;0032 0036 65E5; +33FA;33FA;33FA;0032 0037 65E5;0032 0037 65E5; +33FB;33FB;33FB;0032 0038 65E5;0032 0038 65E5; +33FC;33FC;33FC;0032 0039 65E5;0032 0039 65E5; +33FD;33FD;33FD;0033 0030 65E5;0033 0030 65E5; +33FE;33FE;33FE;0033 0031 65E5;0033 0031 65E5; +33FF;33FF;33FF;0067 0061 006C;0067 0061 006C; +A770;A770;A770;A76F;A76F; +AC00;AC00;1100 1161;AC00;1100 1161; +AC01;AC01;1100 1161 11A8;AC01;1100 1161 11A8; +AC02;AC02;1100 1161 11A9;AC02;1100 1161 11A9; +AC03;AC03;1100 1161 11AA;AC03;1100 1161 11AA; +AC04;AC04;1100 1161 11AB;AC04;1100 1161 11AB; +AC05;AC05;1100 1161 11AC;AC05;1100 1161 11AC; +AC06;AC06;1100 1161 11AD;AC06;1100 1161 11AD; +AC07;AC07;1100 1161 11AE;AC07;1100 1161 11AE; +AC08;AC08;1100 1161 11AF;AC08;1100 1161 11AF; +AC09;AC09;1100 1161 11B0;AC09;1100 1161 11B0; +AC0A;AC0A;1100 1161 11B1;AC0A;1100 1161 11B1; +AC0B;AC0B;1100 1161 11B2;AC0B;1100 1161 11B2; +AC0C;AC0C;1100 1161 11B3;AC0C;1100 1161 11B3; +AC0D;AC0D;1100 1161 11B4;AC0D;1100 1161 11B4; +AC0E;AC0E;1100 1161 11B5;AC0E;1100 1161 11B5; +AC0F;AC0F;1100 1161 11B6;AC0F;1100 1161 11B6; +AC10;AC10;1100 1161 11B7;AC10;1100 1161 11B7; +AC11;AC11;1100 1161 11B8;AC11;1100 1161 11B8; +AC12;AC12;1100 1161 11B9;AC12;1100 1161 11B9; +AC13;AC13;1100 1161 11BA;AC13;1100 1161 11BA; +AC14;AC14;1100 1161 11BB;AC14;1100 1161 11BB; +AC15;AC15;1100 1161 11BC;AC15;1100 1161 11BC; +AC16;AC16;1100 1161 11BD;AC16;1100 1161 11BD; +AC17;AC17;1100 1161 11BE;AC17;1100 1161 11BE; +AC18;AC18;1100 1161 11BF;AC18;1100 1161 11BF; +AC19;AC19;1100 1161 11C0;AC19;1100 1161 11C0; +AC1A;AC1A;1100 1161 11C1;AC1A;1100 1161 11C1; +AC1B;AC1B;1100 1161 11C2;AC1B;1100 1161 11C2; +AC1C;AC1C;1100 1162;AC1C;1100 1162; +AC1D;AC1D;1100 1162 11A8;AC1D;1100 1162 11A8; +AC1E;AC1E;1100 1162 11A9;AC1E;1100 1162 11A9; +AC1F;AC1F;1100 1162 11AA;AC1F;1100 1162 11AA; +AC20;AC20;1100 1162 11AB;AC20;1100 1162 11AB; +AC21;AC21;1100 1162 11AC;AC21;1100 1162 11AC; +AC22;AC22;1100 1162 11AD;AC22;1100 1162 11AD; +AC23;AC23;1100 1162 11AE;AC23;1100 1162 11AE; +AC24;AC24;1100 1162 11AF;AC24;1100 1162 11AF; +AC25;AC25;1100 1162 11B0;AC25;1100 1162 11B0; +AC26;AC26;1100 1162 11B1;AC26;1100 1162 11B1; +AC27;AC27;1100 1162 11B2;AC27;1100 1162 11B2; +AC28;AC28;1100 1162 11B3;AC28;1100 1162 11B3; +AC29;AC29;1100 1162 11B4;AC29;1100 1162 11B4; +AC2A;AC2A;1100 1162 11B5;AC2A;1100 1162 11B5; +AC2B;AC2B;1100 1162 11B6;AC2B;1100 1162 11B6; +AC2C;AC2C;1100 1162 11B7;AC2C;1100 1162 11B7; +AC2D;AC2D;1100 1162 11B8;AC2D;1100 1162 11B8; +AC2E;AC2E;1100 1162 11B9;AC2E;1100 1162 11B9; +AC2F;AC2F;1100 1162 11BA;AC2F;1100 1162 11BA; +AC30;AC30;1100 1162 11BB;AC30;1100 1162 11BB; +AC31;AC31;1100 1162 11BC;AC31;1100 1162 11BC; +AC32;AC32;1100 1162 11BD;AC32;1100 1162 11BD; +AC33;AC33;1100 1162 11BE;AC33;1100 1162 11BE; +AC34;AC34;1100 1162 11BF;AC34;1100 1162 11BF; +AC35;AC35;1100 1162 11C0;AC35;1100 1162 11C0; +AC36;AC36;1100 1162 11C1;AC36;1100 1162 11C1; +AC37;AC37;1100 1162 11C2;AC37;1100 1162 11C2; +AC38;AC38;1100 1163;AC38;1100 1163; +AC39;AC39;1100 1163 11A8;AC39;1100 1163 11A8; +AC3A;AC3A;1100 1163 11A9;AC3A;1100 1163 11A9; +AC3B;AC3B;1100 1163 11AA;AC3B;1100 1163 11AA; +AC3C;AC3C;1100 1163 11AB;AC3C;1100 1163 11AB; +AC3D;AC3D;1100 1163 11AC;AC3D;1100 1163 11AC; +AC3E;AC3E;1100 1163 11AD;AC3E;1100 1163 11AD; +AC3F;AC3F;1100 1163 11AE;AC3F;1100 1163 11AE; +AC40;AC40;1100 1163 11AF;AC40;1100 1163 11AF; +AC41;AC41;1100 1163 11B0;AC41;1100 1163 11B0; +AC42;AC42;1100 1163 11B1;AC42;1100 1163 11B1; +AC43;AC43;1100 1163 11B2;AC43;1100 1163 11B2; +AC44;AC44;1100 1163 11B3;AC44;1100 1163 11B3; +AC45;AC45;1100 1163 11B4;AC45;1100 1163 11B4; +AC46;AC46;1100 1163 11B5;AC46;1100 1163 11B5; +AC47;AC47;1100 1163 11B6;AC47;1100 1163 11B6; +AC48;AC48;1100 1163 11B7;AC48;1100 1163 11B7; +AC49;AC49;1100 1163 11B8;AC49;1100 1163 11B8; +AC4A;AC4A;1100 1163 11B9;AC4A;1100 1163 11B9; +AC4B;AC4B;1100 1163 11BA;AC4B;1100 1163 11BA; +AC4C;AC4C;1100 1163 11BB;AC4C;1100 1163 11BB; +AC4D;AC4D;1100 1163 11BC;AC4D;1100 1163 11BC; +AC4E;AC4E;1100 1163 11BD;AC4E;1100 1163 11BD; +AC4F;AC4F;1100 1163 11BE;AC4F;1100 1163 11BE; +AC50;AC50;1100 1163 11BF;AC50;1100 1163 11BF; +AC51;AC51;1100 1163 11C0;AC51;1100 1163 11C0; +AC52;AC52;1100 1163 11C1;AC52;1100 1163 11C1; +AC53;AC53;1100 1163 11C2;AC53;1100 1163 11C2; +AC54;AC54;1100 1164;AC54;1100 1164; +AC55;AC55;1100 1164 11A8;AC55;1100 1164 11A8; +AC56;AC56;1100 1164 11A9;AC56;1100 1164 11A9; +AC57;AC57;1100 1164 11AA;AC57;1100 1164 11AA; +AC58;AC58;1100 1164 11AB;AC58;1100 1164 11AB; +AC59;AC59;1100 1164 11AC;AC59;1100 1164 11AC; +AC5A;AC5A;1100 1164 11AD;AC5A;1100 1164 11AD; +AC5B;AC5B;1100 1164 11AE;AC5B;1100 1164 11AE; +AC5C;AC5C;1100 1164 11AF;AC5C;1100 1164 11AF; +AC5D;AC5D;1100 1164 11B0;AC5D;1100 1164 11B0; +AC5E;AC5E;1100 1164 11B1;AC5E;1100 1164 11B1; +AC5F;AC5F;1100 1164 11B2;AC5F;1100 1164 11B2; +AC60;AC60;1100 1164 11B3;AC60;1100 1164 11B3; +AC61;AC61;1100 1164 11B4;AC61;1100 1164 11B4; +AC62;AC62;1100 1164 11B5;AC62;1100 1164 11B5; +AC63;AC63;1100 1164 11B6;AC63;1100 1164 11B6; +AC64;AC64;1100 1164 11B7;AC64;1100 1164 11B7; +AC65;AC65;1100 1164 11B8;AC65;1100 1164 11B8; +AC66;AC66;1100 1164 11B9;AC66;1100 1164 11B9; +AC67;AC67;1100 1164 11BA;AC67;1100 1164 11BA; +AC68;AC68;1100 1164 11BB;AC68;1100 1164 11BB; +AC69;AC69;1100 1164 11BC;AC69;1100 1164 11BC; +AC6A;AC6A;1100 1164 11BD;AC6A;1100 1164 11BD; +AC6B;AC6B;1100 1164 11BE;AC6B;1100 1164 11BE; +AC6C;AC6C;1100 1164 11BF;AC6C;1100 1164 11BF; +AC6D;AC6D;1100 1164 11C0;AC6D;1100 1164 11C0; +AC6E;AC6E;1100 1164 11C1;AC6E;1100 1164 11C1; +AC6F;AC6F;1100 1164 11C2;AC6F;1100 1164 11C2; +AC70;AC70;1100 1165;AC70;1100 1165; +AC71;AC71;1100 1165 11A8;AC71;1100 1165 11A8; +AC72;AC72;1100 1165 11A9;AC72;1100 1165 11A9; +AC73;AC73;1100 1165 11AA;AC73;1100 1165 11AA; +AC74;AC74;1100 1165 11AB;AC74;1100 1165 11AB; +AC75;AC75;1100 1165 11AC;AC75;1100 1165 11AC; +AC76;AC76;1100 1165 11AD;AC76;1100 1165 11AD; +AC77;AC77;1100 1165 11AE;AC77;1100 1165 11AE; +AC78;AC78;1100 1165 11AF;AC78;1100 1165 11AF; +AC79;AC79;1100 1165 11B0;AC79;1100 1165 11B0; +AC7A;AC7A;1100 1165 11B1;AC7A;1100 1165 11B1; +AC7B;AC7B;1100 1165 11B2;AC7B;1100 1165 11B2; +AC7C;AC7C;1100 1165 11B3;AC7C;1100 1165 11B3; +AC7D;AC7D;1100 1165 11B4;AC7D;1100 1165 11B4; +AC7E;AC7E;1100 1165 11B5;AC7E;1100 1165 11B5; +AC7F;AC7F;1100 1165 11B6;AC7F;1100 1165 11B6; +AC80;AC80;1100 1165 11B7;AC80;1100 1165 11B7; +AC81;AC81;1100 1165 11B8;AC81;1100 1165 11B8; +AC82;AC82;1100 1165 11B9;AC82;1100 1165 11B9; +AC83;AC83;1100 1165 11BA;AC83;1100 1165 11BA; +AC84;AC84;1100 1165 11BB;AC84;1100 1165 11BB; +AC85;AC85;1100 1165 11BC;AC85;1100 1165 11BC; +AC86;AC86;1100 1165 11BD;AC86;1100 1165 11BD; +AC87;AC87;1100 1165 11BE;AC87;1100 1165 11BE; +AC88;AC88;1100 1165 11BF;AC88;1100 1165 11BF; +AC89;AC89;1100 1165 11C0;AC89;1100 1165 11C0; +AC8A;AC8A;1100 1165 11C1;AC8A;1100 1165 11C1; +AC8B;AC8B;1100 1165 11C2;AC8B;1100 1165 11C2; +AC8C;AC8C;1100 1166;AC8C;1100 1166; +AC8D;AC8D;1100 1166 11A8;AC8D;1100 1166 11A8; +AC8E;AC8E;1100 1166 11A9;AC8E;1100 1166 11A9; +AC8F;AC8F;1100 1166 11AA;AC8F;1100 1166 11AA; +AC90;AC90;1100 1166 11AB;AC90;1100 1166 11AB; +AC91;AC91;1100 1166 11AC;AC91;1100 1166 11AC; +AC92;AC92;1100 1166 11AD;AC92;1100 1166 11AD; +AC93;AC93;1100 1166 11AE;AC93;1100 1166 11AE; +AC94;AC94;1100 1166 11AF;AC94;1100 1166 11AF; +AC95;AC95;1100 1166 11B0;AC95;1100 1166 11B0; +AC96;AC96;1100 1166 11B1;AC96;1100 1166 11B1; +AC97;AC97;1100 1166 11B2;AC97;1100 1166 11B2; +AC98;AC98;1100 1166 11B3;AC98;1100 1166 11B3; +AC99;AC99;1100 1166 11B4;AC99;1100 1166 11B4; +AC9A;AC9A;1100 1166 11B5;AC9A;1100 1166 11B5; +AC9B;AC9B;1100 1166 11B6;AC9B;1100 1166 11B6; +AC9C;AC9C;1100 1166 11B7;AC9C;1100 1166 11B7; +AC9D;AC9D;1100 1166 11B8;AC9D;1100 1166 11B8; +AC9E;AC9E;1100 1166 11B9;AC9E;1100 1166 11B9; +AC9F;AC9F;1100 1166 11BA;AC9F;1100 1166 11BA; +ACA0;ACA0;1100 1166 11BB;ACA0;1100 1166 11BB; +ACA1;ACA1;1100 1166 11BC;ACA1;1100 1166 11BC; +ACA2;ACA2;1100 1166 11BD;ACA2;1100 1166 11BD; +ACA3;ACA3;1100 1166 11BE;ACA3;1100 1166 11BE; +ACA4;ACA4;1100 1166 11BF;ACA4;1100 1166 11BF; +ACA5;ACA5;1100 1166 11C0;ACA5;1100 1166 11C0; +ACA6;ACA6;1100 1166 11C1;ACA6;1100 1166 11C1; +ACA7;ACA7;1100 1166 11C2;ACA7;1100 1166 11C2; +ACA8;ACA8;1100 1167;ACA8;1100 1167; +ACA9;ACA9;1100 1167 11A8;ACA9;1100 1167 11A8; +ACAA;ACAA;1100 1167 11A9;ACAA;1100 1167 11A9; +ACAB;ACAB;1100 1167 11AA;ACAB;1100 1167 11AA; +ACAC;ACAC;1100 1167 11AB;ACAC;1100 1167 11AB; +ACAD;ACAD;1100 1167 11AC;ACAD;1100 1167 11AC; +ACAE;ACAE;1100 1167 11AD;ACAE;1100 1167 11AD; +ACAF;ACAF;1100 1167 11AE;ACAF;1100 1167 11AE; +ACB0;ACB0;1100 1167 11AF;ACB0;1100 1167 11AF; +ACB1;ACB1;1100 1167 11B0;ACB1;1100 1167 11B0; +ACB2;ACB2;1100 1167 11B1;ACB2;1100 1167 11B1; +ACB3;ACB3;1100 1167 11B2;ACB3;1100 1167 11B2; +ACB4;ACB4;1100 1167 11B3;ACB4;1100 1167 11B3; +ACB5;ACB5;1100 1167 11B4;ACB5;1100 1167 11B4; +ACB6;ACB6;1100 1167 11B5;ACB6;1100 1167 11B5; +ACB7;ACB7;1100 1167 11B6;ACB7;1100 1167 11B6; +ACB8;ACB8;1100 1167 11B7;ACB8;1100 1167 11B7; +ACB9;ACB9;1100 1167 11B8;ACB9;1100 1167 11B8; +ACBA;ACBA;1100 1167 11B9;ACBA;1100 1167 11B9; +ACBB;ACBB;1100 1167 11BA;ACBB;1100 1167 11BA; +ACBC;ACBC;1100 1167 11BB;ACBC;1100 1167 11BB; +ACBD;ACBD;1100 1167 11BC;ACBD;1100 1167 11BC; +ACBE;ACBE;1100 1167 11BD;ACBE;1100 1167 11BD; +ACBF;ACBF;1100 1167 11BE;ACBF;1100 1167 11BE; +ACC0;ACC0;1100 1167 11BF;ACC0;1100 1167 11BF; +ACC1;ACC1;1100 1167 11C0;ACC1;1100 1167 11C0; +ACC2;ACC2;1100 1167 11C1;ACC2;1100 1167 11C1; +ACC3;ACC3;1100 1167 11C2;ACC3;1100 1167 11C2; +ACC4;ACC4;1100 1168;ACC4;1100 1168; +ACC5;ACC5;1100 1168 11A8;ACC5;1100 1168 11A8; +ACC6;ACC6;1100 1168 11A9;ACC6;1100 1168 11A9; +ACC7;ACC7;1100 1168 11AA;ACC7;1100 1168 11AA; +ACC8;ACC8;1100 1168 11AB;ACC8;1100 1168 11AB; +ACC9;ACC9;1100 1168 11AC;ACC9;1100 1168 11AC; +ACCA;ACCA;1100 1168 11AD;ACCA;1100 1168 11AD; +ACCB;ACCB;1100 1168 11AE;ACCB;1100 1168 11AE; +ACCC;ACCC;1100 1168 11AF;ACCC;1100 1168 11AF; +ACCD;ACCD;1100 1168 11B0;ACCD;1100 1168 11B0; +ACCE;ACCE;1100 1168 11B1;ACCE;1100 1168 11B1; +ACCF;ACCF;1100 1168 11B2;ACCF;1100 1168 11B2; +ACD0;ACD0;1100 1168 11B3;ACD0;1100 1168 11B3; +ACD1;ACD1;1100 1168 11B4;ACD1;1100 1168 11B4; +ACD2;ACD2;1100 1168 11B5;ACD2;1100 1168 11B5; +ACD3;ACD3;1100 1168 11B6;ACD3;1100 1168 11B6; +ACD4;ACD4;1100 1168 11B7;ACD4;1100 1168 11B7; +ACD5;ACD5;1100 1168 11B8;ACD5;1100 1168 11B8; +ACD6;ACD6;1100 1168 11B9;ACD6;1100 1168 11B9; +ACD7;ACD7;1100 1168 11BA;ACD7;1100 1168 11BA; +ACD8;ACD8;1100 1168 11BB;ACD8;1100 1168 11BB; +ACD9;ACD9;1100 1168 11BC;ACD9;1100 1168 11BC; +ACDA;ACDA;1100 1168 11BD;ACDA;1100 1168 11BD; +ACDB;ACDB;1100 1168 11BE;ACDB;1100 1168 11BE; +ACDC;ACDC;1100 1168 11BF;ACDC;1100 1168 11BF; +ACDD;ACDD;1100 1168 11C0;ACDD;1100 1168 11C0; +ACDE;ACDE;1100 1168 11C1;ACDE;1100 1168 11C1; +ACDF;ACDF;1100 1168 11C2;ACDF;1100 1168 11C2; +ACE0;ACE0;1100 1169;ACE0;1100 1169; +ACE1;ACE1;1100 1169 11A8;ACE1;1100 1169 11A8; +ACE2;ACE2;1100 1169 11A9;ACE2;1100 1169 11A9; +ACE3;ACE3;1100 1169 11AA;ACE3;1100 1169 11AA; +ACE4;ACE4;1100 1169 11AB;ACE4;1100 1169 11AB; +ACE5;ACE5;1100 1169 11AC;ACE5;1100 1169 11AC; +ACE6;ACE6;1100 1169 11AD;ACE6;1100 1169 11AD; +ACE7;ACE7;1100 1169 11AE;ACE7;1100 1169 11AE; +ACE8;ACE8;1100 1169 11AF;ACE8;1100 1169 11AF; +ACE9;ACE9;1100 1169 11B0;ACE9;1100 1169 11B0; +ACEA;ACEA;1100 1169 11B1;ACEA;1100 1169 11B1; +ACEB;ACEB;1100 1169 11B2;ACEB;1100 1169 11B2; +ACEC;ACEC;1100 1169 11B3;ACEC;1100 1169 11B3; +ACED;ACED;1100 1169 11B4;ACED;1100 1169 11B4; +ACEE;ACEE;1100 1169 11B5;ACEE;1100 1169 11B5; +ACEF;ACEF;1100 1169 11B6;ACEF;1100 1169 11B6; +ACF0;ACF0;1100 1169 11B7;ACF0;1100 1169 11B7; +ACF1;ACF1;1100 1169 11B8;ACF1;1100 1169 11B8; +ACF2;ACF2;1100 1169 11B9;ACF2;1100 1169 11B9; +ACF3;ACF3;1100 1169 11BA;ACF3;1100 1169 11BA; +ACF4;ACF4;1100 1169 11BB;ACF4;1100 1169 11BB; +ACF5;ACF5;1100 1169 11BC;ACF5;1100 1169 11BC; +ACF6;ACF6;1100 1169 11BD;ACF6;1100 1169 11BD; +ACF7;ACF7;1100 1169 11BE;ACF7;1100 1169 11BE; +ACF8;ACF8;1100 1169 11BF;ACF8;1100 1169 11BF; +ACF9;ACF9;1100 1169 11C0;ACF9;1100 1169 11C0; +ACFA;ACFA;1100 1169 11C1;ACFA;1100 1169 11C1; +ACFB;ACFB;1100 1169 11C2;ACFB;1100 1169 11C2; +ACFC;ACFC;1100 116A;ACFC;1100 116A; +ACFD;ACFD;1100 116A 11A8;ACFD;1100 116A 11A8; +ACFE;ACFE;1100 116A 11A9;ACFE;1100 116A 11A9; +ACFF;ACFF;1100 116A 11AA;ACFF;1100 116A 11AA; +AD00;AD00;1100 116A 11AB;AD00;1100 116A 11AB; +AD01;AD01;1100 116A 11AC;AD01;1100 116A 11AC; +AD02;AD02;1100 116A 11AD;AD02;1100 116A 11AD; +AD03;AD03;1100 116A 11AE;AD03;1100 116A 11AE; +AD04;AD04;1100 116A 11AF;AD04;1100 116A 11AF; +AD05;AD05;1100 116A 11B0;AD05;1100 116A 11B0; +AD06;AD06;1100 116A 11B1;AD06;1100 116A 11B1; +AD07;AD07;1100 116A 11B2;AD07;1100 116A 11B2; +AD08;AD08;1100 116A 11B3;AD08;1100 116A 11B3; +AD09;AD09;1100 116A 11B4;AD09;1100 116A 11B4; +AD0A;AD0A;1100 116A 11B5;AD0A;1100 116A 11B5; +AD0B;AD0B;1100 116A 11B6;AD0B;1100 116A 11B6; +AD0C;AD0C;1100 116A 11B7;AD0C;1100 116A 11B7; +AD0D;AD0D;1100 116A 11B8;AD0D;1100 116A 11B8; +AD0E;AD0E;1100 116A 11B9;AD0E;1100 116A 11B9; +AD0F;AD0F;1100 116A 11BA;AD0F;1100 116A 11BA; +AD10;AD10;1100 116A 11BB;AD10;1100 116A 11BB; +AD11;AD11;1100 116A 11BC;AD11;1100 116A 11BC; +AD12;AD12;1100 116A 11BD;AD12;1100 116A 11BD; +AD13;AD13;1100 116A 11BE;AD13;1100 116A 11BE; +AD14;AD14;1100 116A 11BF;AD14;1100 116A 11BF; +AD15;AD15;1100 116A 11C0;AD15;1100 116A 11C0; +AD16;AD16;1100 116A 11C1;AD16;1100 116A 11C1; +AD17;AD17;1100 116A 11C2;AD17;1100 116A 11C2; +AD18;AD18;1100 116B;AD18;1100 116B; +AD19;AD19;1100 116B 11A8;AD19;1100 116B 11A8; +AD1A;AD1A;1100 116B 11A9;AD1A;1100 116B 11A9; +AD1B;AD1B;1100 116B 11AA;AD1B;1100 116B 11AA; +AD1C;AD1C;1100 116B 11AB;AD1C;1100 116B 11AB; +AD1D;AD1D;1100 116B 11AC;AD1D;1100 116B 11AC; +AD1E;AD1E;1100 116B 11AD;AD1E;1100 116B 11AD; +AD1F;AD1F;1100 116B 11AE;AD1F;1100 116B 11AE; +AD20;AD20;1100 116B 11AF;AD20;1100 116B 11AF; +AD21;AD21;1100 116B 11B0;AD21;1100 116B 11B0; +AD22;AD22;1100 116B 11B1;AD22;1100 116B 11B1; +AD23;AD23;1100 116B 11B2;AD23;1100 116B 11B2; +AD24;AD24;1100 116B 11B3;AD24;1100 116B 11B3; +AD25;AD25;1100 116B 11B4;AD25;1100 116B 11B4; +AD26;AD26;1100 116B 11B5;AD26;1100 116B 11B5; +AD27;AD27;1100 116B 11B6;AD27;1100 116B 11B6; +AD28;AD28;1100 116B 11B7;AD28;1100 116B 11B7; +AD29;AD29;1100 116B 11B8;AD29;1100 116B 11B8; +AD2A;AD2A;1100 116B 11B9;AD2A;1100 116B 11B9; +AD2B;AD2B;1100 116B 11BA;AD2B;1100 116B 11BA; +AD2C;AD2C;1100 116B 11BB;AD2C;1100 116B 11BB; +AD2D;AD2D;1100 116B 11BC;AD2D;1100 116B 11BC; +AD2E;AD2E;1100 116B 11BD;AD2E;1100 116B 11BD; +AD2F;AD2F;1100 116B 11BE;AD2F;1100 116B 11BE; +AD30;AD30;1100 116B 11BF;AD30;1100 116B 11BF; +AD31;AD31;1100 116B 11C0;AD31;1100 116B 11C0; +AD32;AD32;1100 116B 11C1;AD32;1100 116B 11C1; +AD33;AD33;1100 116B 11C2;AD33;1100 116B 11C2; +AD34;AD34;1100 116C;AD34;1100 116C; +AD35;AD35;1100 116C 11A8;AD35;1100 116C 11A8; +AD36;AD36;1100 116C 11A9;AD36;1100 116C 11A9; +AD37;AD37;1100 116C 11AA;AD37;1100 116C 11AA; +AD38;AD38;1100 116C 11AB;AD38;1100 116C 11AB; +AD39;AD39;1100 116C 11AC;AD39;1100 116C 11AC; +AD3A;AD3A;1100 116C 11AD;AD3A;1100 116C 11AD; +AD3B;AD3B;1100 116C 11AE;AD3B;1100 116C 11AE; +AD3C;AD3C;1100 116C 11AF;AD3C;1100 116C 11AF; +AD3D;AD3D;1100 116C 11B0;AD3D;1100 116C 11B0; +AD3E;AD3E;1100 116C 11B1;AD3E;1100 116C 11B1; +AD3F;AD3F;1100 116C 11B2;AD3F;1100 116C 11B2; +AD40;AD40;1100 116C 11B3;AD40;1100 116C 11B3; +AD41;AD41;1100 116C 11B4;AD41;1100 116C 11B4; +AD42;AD42;1100 116C 11B5;AD42;1100 116C 11B5; +AD43;AD43;1100 116C 11B6;AD43;1100 116C 11B6; +AD44;AD44;1100 116C 11B7;AD44;1100 116C 11B7; +AD45;AD45;1100 116C 11B8;AD45;1100 116C 11B8; +AD46;AD46;1100 116C 11B9;AD46;1100 116C 11B9; +AD47;AD47;1100 116C 11BA;AD47;1100 116C 11BA; +AD48;AD48;1100 116C 11BB;AD48;1100 116C 11BB; +AD49;AD49;1100 116C 11BC;AD49;1100 116C 11BC; +AD4A;AD4A;1100 116C 11BD;AD4A;1100 116C 11BD; +AD4B;AD4B;1100 116C 11BE;AD4B;1100 116C 11BE; +AD4C;AD4C;1100 116C 11BF;AD4C;1100 116C 11BF; +AD4D;AD4D;1100 116C 11C0;AD4D;1100 116C 11C0; +AD4E;AD4E;1100 116C 11C1;AD4E;1100 116C 11C1; +AD4F;AD4F;1100 116C 11C2;AD4F;1100 116C 11C2; +AD50;AD50;1100 116D;AD50;1100 116D; +AD51;AD51;1100 116D 11A8;AD51;1100 116D 11A8; +AD52;AD52;1100 116D 11A9;AD52;1100 116D 11A9; +AD53;AD53;1100 116D 11AA;AD53;1100 116D 11AA; +AD54;AD54;1100 116D 11AB;AD54;1100 116D 11AB; +AD55;AD55;1100 116D 11AC;AD55;1100 116D 11AC; +AD56;AD56;1100 116D 11AD;AD56;1100 116D 11AD; +AD57;AD57;1100 116D 11AE;AD57;1100 116D 11AE; +AD58;AD58;1100 116D 11AF;AD58;1100 116D 11AF; +AD59;AD59;1100 116D 11B0;AD59;1100 116D 11B0; +AD5A;AD5A;1100 116D 11B1;AD5A;1100 116D 11B1; +AD5B;AD5B;1100 116D 11B2;AD5B;1100 116D 11B2; +AD5C;AD5C;1100 116D 11B3;AD5C;1100 116D 11B3; +AD5D;AD5D;1100 116D 11B4;AD5D;1100 116D 11B4; +AD5E;AD5E;1100 116D 11B5;AD5E;1100 116D 11B5; +AD5F;AD5F;1100 116D 11B6;AD5F;1100 116D 11B6; +AD60;AD60;1100 116D 11B7;AD60;1100 116D 11B7; +AD61;AD61;1100 116D 11B8;AD61;1100 116D 11B8; +AD62;AD62;1100 116D 11B9;AD62;1100 116D 11B9; +AD63;AD63;1100 116D 11BA;AD63;1100 116D 11BA; +AD64;AD64;1100 116D 11BB;AD64;1100 116D 11BB; +AD65;AD65;1100 116D 11BC;AD65;1100 116D 11BC; +AD66;AD66;1100 116D 11BD;AD66;1100 116D 11BD; +AD67;AD67;1100 116D 11BE;AD67;1100 116D 11BE; +AD68;AD68;1100 116D 11BF;AD68;1100 116D 11BF; +AD69;AD69;1100 116D 11C0;AD69;1100 116D 11C0; +AD6A;AD6A;1100 116D 11C1;AD6A;1100 116D 11C1; +AD6B;AD6B;1100 116D 11C2;AD6B;1100 116D 11C2; +AD6C;AD6C;1100 116E;AD6C;1100 116E; +AD6D;AD6D;1100 116E 11A8;AD6D;1100 116E 11A8; +AD6E;AD6E;1100 116E 11A9;AD6E;1100 116E 11A9; +AD6F;AD6F;1100 116E 11AA;AD6F;1100 116E 11AA; +AD70;AD70;1100 116E 11AB;AD70;1100 116E 11AB; +AD71;AD71;1100 116E 11AC;AD71;1100 116E 11AC; +AD72;AD72;1100 116E 11AD;AD72;1100 116E 11AD; +AD73;AD73;1100 116E 11AE;AD73;1100 116E 11AE; +AD74;AD74;1100 116E 11AF;AD74;1100 116E 11AF; +AD75;AD75;1100 116E 11B0;AD75;1100 116E 11B0; +AD76;AD76;1100 116E 11B1;AD76;1100 116E 11B1; +AD77;AD77;1100 116E 11B2;AD77;1100 116E 11B2; +AD78;AD78;1100 116E 11B3;AD78;1100 116E 11B3; +AD79;AD79;1100 116E 11B4;AD79;1100 116E 11B4; +AD7A;AD7A;1100 116E 11B5;AD7A;1100 116E 11B5; +AD7B;AD7B;1100 116E 11B6;AD7B;1100 116E 11B6; +AD7C;AD7C;1100 116E 11B7;AD7C;1100 116E 11B7; +AD7D;AD7D;1100 116E 11B8;AD7D;1100 116E 11B8; +AD7E;AD7E;1100 116E 11B9;AD7E;1100 116E 11B9; +AD7F;AD7F;1100 116E 11BA;AD7F;1100 116E 11BA; +AD80;AD80;1100 116E 11BB;AD80;1100 116E 11BB; +AD81;AD81;1100 116E 11BC;AD81;1100 116E 11BC; +AD82;AD82;1100 116E 11BD;AD82;1100 116E 11BD; +AD83;AD83;1100 116E 11BE;AD83;1100 116E 11BE; +AD84;AD84;1100 116E 11BF;AD84;1100 116E 11BF; +AD85;AD85;1100 116E 11C0;AD85;1100 116E 11C0; +AD86;AD86;1100 116E 11C1;AD86;1100 116E 11C1; +AD87;AD87;1100 116E 11C2;AD87;1100 116E 11C2; +AD88;AD88;1100 116F;AD88;1100 116F; +AD89;AD89;1100 116F 11A8;AD89;1100 116F 11A8; +AD8A;AD8A;1100 116F 11A9;AD8A;1100 116F 11A9; +AD8B;AD8B;1100 116F 11AA;AD8B;1100 116F 11AA; +AD8C;AD8C;1100 116F 11AB;AD8C;1100 116F 11AB; +AD8D;AD8D;1100 116F 11AC;AD8D;1100 116F 11AC; +AD8E;AD8E;1100 116F 11AD;AD8E;1100 116F 11AD; +AD8F;AD8F;1100 116F 11AE;AD8F;1100 116F 11AE; +AD90;AD90;1100 116F 11AF;AD90;1100 116F 11AF; +AD91;AD91;1100 116F 11B0;AD91;1100 116F 11B0; +AD92;AD92;1100 116F 11B1;AD92;1100 116F 11B1; +AD93;AD93;1100 116F 11B2;AD93;1100 116F 11B2; +AD94;AD94;1100 116F 11B3;AD94;1100 116F 11B3; +AD95;AD95;1100 116F 11B4;AD95;1100 116F 11B4; +AD96;AD96;1100 116F 11B5;AD96;1100 116F 11B5; +AD97;AD97;1100 116F 11B6;AD97;1100 116F 11B6; +AD98;AD98;1100 116F 11B7;AD98;1100 116F 11B7; +AD99;AD99;1100 116F 11B8;AD99;1100 116F 11B8; +AD9A;AD9A;1100 116F 11B9;AD9A;1100 116F 11B9; +AD9B;AD9B;1100 116F 11BA;AD9B;1100 116F 11BA; +AD9C;AD9C;1100 116F 11BB;AD9C;1100 116F 11BB; +AD9D;AD9D;1100 116F 11BC;AD9D;1100 116F 11BC; +AD9E;AD9E;1100 116F 11BD;AD9E;1100 116F 11BD; +AD9F;AD9F;1100 116F 11BE;AD9F;1100 116F 11BE; +ADA0;ADA0;1100 116F 11BF;ADA0;1100 116F 11BF; +ADA1;ADA1;1100 116F 11C0;ADA1;1100 116F 11C0; +ADA2;ADA2;1100 116F 11C1;ADA2;1100 116F 11C1; +ADA3;ADA3;1100 116F 11C2;ADA3;1100 116F 11C2; +ADA4;ADA4;1100 1170;ADA4;1100 1170; +ADA5;ADA5;1100 1170 11A8;ADA5;1100 1170 11A8; +ADA6;ADA6;1100 1170 11A9;ADA6;1100 1170 11A9; +ADA7;ADA7;1100 1170 11AA;ADA7;1100 1170 11AA; +ADA8;ADA8;1100 1170 11AB;ADA8;1100 1170 11AB; +ADA9;ADA9;1100 1170 11AC;ADA9;1100 1170 11AC; +ADAA;ADAA;1100 1170 11AD;ADAA;1100 1170 11AD; +ADAB;ADAB;1100 1170 11AE;ADAB;1100 1170 11AE; +ADAC;ADAC;1100 1170 11AF;ADAC;1100 1170 11AF; +ADAD;ADAD;1100 1170 11B0;ADAD;1100 1170 11B0; +ADAE;ADAE;1100 1170 11B1;ADAE;1100 1170 11B1; +ADAF;ADAF;1100 1170 11B2;ADAF;1100 1170 11B2; +ADB0;ADB0;1100 1170 11B3;ADB0;1100 1170 11B3; +ADB1;ADB1;1100 1170 11B4;ADB1;1100 1170 11B4; +ADB2;ADB2;1100 1170 11B5;ADB2;1100 1170 11B5; +ADB3;ADB3;1100 1170 11B6;ADB3;1100 1170 11B6; +ADB4;ADB4;1100 1170 11B7;ADB4;1100 1170 11B7; +ADB5;ADB5;1100 1170 11B8;ADB5;1100 1170 11B8; +ADB6;ADB6;1100 1170 11B9;ADB6;1100 1170 11B9; +ADB7;ADB7;1100 1170 11BA;ADB7;1100 1170 11BA; +ADB8;ADB8;1100 1170 11BB;ADB8;1100 1170 11BB; +ADB9;ADB9;1100 1170 11BC;ADB9;1100 1170 11BC; +ADBA;ADBA;1100 1170 11BD;ADBA;1100 1170 11BD; +ADBB;ADBB;1100 1170 11BE;ADBB;1100 1170 11BE; +ADBC;ADBC;1100 1170 11BF;ADBC;1100 1170 11BF; +ADBD;ADBD;1100 1170 11C0;ADBD;1100 1170 11C0; +ADBE;ADBE;1100 1170 11C1;ADBE;1100 1170 11C1; +ADBF;ADBF;1100 1170 11C2;ADBF;1100 1170 11C2; +ADC0;ADC0;1100 1171;ADC0;1100 1171; +ADC1;ADC1;1100 1171 11A8;ADC1;1100 1171 11A8; +ADC2;ADC2;1100 1171 11A9;ADC2;1100 1171 11A9; +ADC3;ADC3;1100 1171 11AA;ADC3;1100 1171 11AA; +ADC4;ADC4;1100 1171 11AB;ADC4;1100 1171 11AB; +ADC5;ADC5;1100 1171 11AC;ADC5;1100 1171 11AC; +ADC6;ADC6;1100 1171 11AD;ADC6;1100 1171 11AD; +ADC7;ADC7;1100 1171 11AE;ADC7;1100 1171 11AE; +ADC8;ADC8;1100 1171 11AF;ADC8;1100 1171 11AF; +ADC9;ADC9;1100 1171 11B0;ADC9;1100 1171 11B0; +ADCA;ADCA;1100 1171 11B1;ADCA;1100 1171 11B1; +ADCB;ADCB;1100 1171 11B2;ADCB;1100 1171 11B2; +ADCC;ADCC;1100 1171 11B3;ADCC;1100 1171 11B3; +ADCD;ADCD;1100 1171 11B4;ADCD;1100 1171 11B4; +ADCE;ADCE;1100 1171 11B5;ADCE;1100 1171 11B5; +ADCF;ADCF;1100 1171 11B6;ADCF;1100 1171 11B6; +ADD0;ADD0;1100 1171 11B7;ADD0;1100 1171 11B7; +ADD1;ADD1;1100 1171 11B8;ADD1;1100 1171 11B8; +ADD2;ADD2;1100 1171 11B9;ADD2;1100 1171 11B9; +ADD3;ADD3;1100 1171 11BA;ADD3;1100 1171 11BA; +ADD4;ADD4;1100 1171 11BB;ADD4;1100 1171 11BB; +ADD5;ADD5;1100 1171 11BC;ADD5;1100 1171 11BC; +ADD6;ADD6;1100 1171 11BD;ADD6;1100 1171 11BD; +ADD7;ADD7;1100 1171 11BE;ADD7;1100 1171 11BE; +ADD8;ADD8;1100 1171 11BF;ADD8;1100 1171 11BF; +ADD9;ADD9;1100 1171 11C0;ADD9;1100 1171 11C0; +ADDA;ADDA;1100 1171 11C1;ADDA;1100 1171 11C1; +ADDB;ADDB;1100 1171 11C2;ADDB;1100 1171 11C2; +ADDC;ADDC;1100 1172;ADDC;1100 1172; +ADDD;ADDD;1100 1172 11A8;ADDD;1100 1172 11A8; +ADDE;ADDE;1100 1172 11A9;ADDE;1100 1172 11A9; +ADDF;ADDF;1100 1172 11AA;ADDF;1100 1172 11AA; +ADE0;ADE0;1100 1172 11AB;ADE0;1100 1172 11AB; +ADE1;ADE1;1100 1172 11AC;ADE1;1100 1172 11AC; +ADE2;ADE2;1100 1172 11AD;ADE2;1100 1172 11AD; +ADE3;ADE3;1100 1172 11AE;ADE3;1100 1172 11AE; +ADE4;ADE4;1100 1172 11AF;ADE4;1100 1172 11AF; +ADE5;ADE5;1100 1172 11B0;ADE5;1100 1172 11B0; +ADE6;ADE6;1100 1172 11B1;ADE6;1100 1172 11B1; +ADE7;ADE7;1100 1172 11B2;ADE7;1100 1172 11B2; +ADE8;ADE8;1100 1172 11B3;ADE8;1100 1172 11B3; +ADE9;ADE9;1100 1172 11B4;ADE9;1100 1172 11B4; +ADEA;ADEA;1100 1172 11B5;ADEA;1100 1172 11B5; +ADEB;ADEB;1100 1172 11B6;ADEB;1100 1172 11B6; +ADEC;ADEC;1100 1172 11B7;ADEC;1100 1172 11B7; +ADED;ADED;1100 1172 11B8;ADED;1100 1172 11B8; +ADEE;ADEE;1100 1172 11B9;ADEE;1100 1172 11B9; +ADEF;ADEF;1100 1172 11BA;ADEF;1100 1172 11BA; +ADF0;ADF0;1100 1172 11BB;ADF0;1100 1172 11BB; +ADF1;ADF1;1100 1172 11BC;ADF1;1100 1172 11BC; +ADF2;ADF2;1100 1172 11BD;ADF2;1100 1172 11BD; +ADF3;ADF3;1100 1172 11BE;ADF3;1100 1172 11BE; +ADF4;ADF4;1100 1172 11BF;ADF4;1100 1172 11BF; +ADF5;ADF5;1100 1172 11C0;ADF5;1100 1172 11C0; +ADF6;ADF6;1100 1172 11C1;ADF6;1100 1172 11C1; +ADF7;ADF7;1100 1172 11C2;ADF7;1100 1172 11C2; +ADF8;ADF8;1100 1173;ADF8;1100 1173; +ADF9;ADF9;1100 1173 11A8;ADF9;1100 1173 11A8; +ADFA;ADFA;1100 1173 11A9;ADFA;1100 1173 11A9; +ADFB;ADFB;1100 1173 11AA;ADFB;1100 1173 11AA; +ADFC;ADFC;1100 1173 11AB;ADFC;1100 1173 11AB; +ADFD;ADFD;1100 1173 11AC;ADFD;1100 1173 11AC; +ADFE;ADFE;1100 1173 11AD;ADFE;1100 1173 11AD; +ADFF;ADFF;1100 1173 11AE;ADFF;1100 1173 11AE; +AE00;AE00;1100 1173 11AF;AE00;1100 1173 11AF; +AE01;AE01;1100 1173 11B0;AE01;1100 1173 11B0; +AE02;AE02;1100 1173 11B1;AE02;1100 1173 11B1; +AE03;AE03;1100 1173 11B2;AE03;1100 1173 11B2; +AE04;AE04;1100 1173 11B3;AE04;1100 1173 11B3; +AE05;AE05;1100 1173 11B4;AE05;1100 1173 11B4; +AE06;AE06;1100 1173 11B5;AE06;1100 1173 11B5; +AE07;AE07;1100 1173 11B6;AE07;1100 1173 11B6; +AE08;AE08;1100 1173 11B7;AE08;1100 1173 11B7; +AE09;AE09;1100 1173 11B8;AE09;1100 1173 11B8; +AE0A;AE0A;1100 1173 11B9;AE0A;1100 1173 11B9; +AE0B;AE0B;1100 1173 11BA;AE0B;1100 1173 11BA; +AE0C;AE0C;1100 1173 11BB;AE0C;1100 1173 11BB; +AE0D;AE0D;1100 1173 11BC;AE0D;1100 1173 11BC; +AE0E;AE0E;1100 1173 11BD;AE0E;1100 1173 11BD; +AE0F;AE0F;1100 1173 11BE;AE0F;1100 1173 11BE; +AE10;AE10;1100 1173 11BF;AE10;1100 1173 11BF; +AE11;AE11;1100 1173 11C0;AE11;1100 1173 11C0; +AE12;AE12;1100 1173 11C1;AE12;1100 1173 11C1; +AE13;AE13;1100 1173 11C2;AE13;1100 1173 11C2; +AE14;AE14;1100 1174;AE14;1100 1174; +AE15;AE15;1100 1174 11A8;AE15;1100 1174 11A8; +AE16;AE16;1100 1174 11A9;AE16;1100 1174 11A9; +AE17;AE17;1100 1174 11AA;AE17;1100 1174 11AA; +AE18;AE18;1100 1174 11AB;AE18;1100 1174 11AB; +AE19;AE19;1100 1174 11AC;AE19;1100 1174 11AC; +AE1A;AE1A;1100 1174 11AD;AE1A;1100 1174 11AD; +AE1B;AE1B;1100 1174 11AE;AE1B;1100 1174 11AE; +AE1C;AE1C;1100 1174 11AF;AE1C;1100 1174 11AF; +AE1D;AE1D;1100 1174 11B0;AE1D;1100 1174 11B0; +AE1E;AE1E;1100 1174 11B1;AE1E;1100 1174 11B1; +AE1F;AE1F;1100 1174 11B2;AE1F;1100 1174 11B2; +AE20;AE20;1100 1174 11B3;AE20;1100 1174 11B3; +AE21;AE21;1100 1174 11B4;AE21;1100 1174 11B4; +AE22;AE22;1100 1174 11B5;AE22;1100 1174 11B5; +AE23;AE23;1100 1174 11B6;AE23;1100 1174 11B6; +AE24;AE24;1100 1174 11B7;AE24;1100 1174 11B7; +AE25;AE25;1100 1174 11B8;AE25;1100 1174 11B8; +AE26;AE26;1100 1174 11B9;AE26;1100 1174 11B9; +AE27;AE27;1100 1174 11BA;AE27;1100 1174 11BA; +AE28;AE28;1100 1174 11BB;AE28;1100 1174 11BB; +AE29;AE29;1100 1174 11BC;AE29;1100 1174 11BC; +AE2A;AE2A;1100 1174 11BD;AE2A;1100 1174 11BD; +AE2B;AE2B;1100 1174 11BE;AE2B;1100 1174 11BE; +AE2C;AE2C;1100 1174 11BF;AE2C;1100 1174 11BF; +AE2D;AE2D;1100 1174 11C0;AE2D;1100 1174 11C0; +AE2E;AE2E;1100 1174 11C1;AE2E;1100 1174 11C1; +AE2F;AE2F;1100 1174 11C2;AE2F;1100 1174 11C2; +AE30;AE30;1100 1175;AE30;1100 1175; +AE31;AE31;1100 1175 11A8;AE31;1100 1175 11A8; +AE32;AE32;1100 1175 11A9;AE32;1100 1175 11A9; +AE33;AE33;1100 1175 11AA;AE33;1100 1175 11AA; +AE34;AE34;1100 1175 11AB;AE34;1100 1175 11AB; +AE35;AE35;1100 1175 11AC;AE35;1100 1175 11AC; +AE36;AE36;1100 1175 11AD;AE36;1100 1175 11AD; +AE37;AE37;1100 1175 11AE;AE37;1100 1175 11AE; +AE38;AE38;1100 1175 11AF;AE38;1100 1175 11AF; +AE39;AE39;1100 1175 11B0;AE39;1100 1175 11B0; +AE3A;AE3A;1100 1175 11B1;AE3A;1100 1175 11B1; +AE3B;AE3B;1100 1175 11B2;AE3B;1100 1175 11B2; +AE3C;AE3C;1100 1175 11B3;AE3C;1100 1175 11B3; +AE3D;AE3D;1100 1175 11B4;AE3D;1100 1175 11B4; +AE3E;AE3E;1100 1175 11B5;AE3E;1100 1175 11B5; +AE3F;AE3F;1100 1175 11B6;AE3F;1100 1175 11B6; +AE40;AE40;1100 1175 11B7;AE40;1100 1175 11B7; +AE41;AE41;1100 1175 11B8;AE41;1100 1175 11B8; +AE42;AE42;1100 1175 11B9;AE42;1100 1175 11B9; +AE43;AE43;1100 1175 11BA;AE43;1100 1175 11BA; +AE44;AE44;1100 1175 11BB;AE44;1100 1175 11BB; +AE45;AE45;1100 1175 11BC;AE45;1100 1175 11BC; +AE46;AE46;1100 1175 11BD;AE46;1100 1175 11BD; +AE47;AE47;1100 1175 11BE;AE47;1100 1175 11BE; +AE48;AE48;1100 1175 11BF;AE48;1100 1175 11BF; +AE49;AE49;1100 1175 11C0;AE49;1100 1175 11C0; +AE4A;AE4A;1100 1175 11C1;AE4A;1100 1175 11C1; +AE4B;AE4B;1100 1175 11C2;AE4B;1100 1175 11C2; +AE4C;AE4C;1101 1161;AE4C;1101 1161; +AE4D;AE4D;1101 1161 11A8;AE4D;1101 1161 11A8; +AE4E;AE4E;1101 1161 11A9;AE4E;1101 1161 11A9; +AE4F;AE4F;1101 1161 11AA;AE4F;1101 1161 11AA; +AE50;AE50;1101 1161 11AB;AE50;1101 1161 11AB; +AE51;AE51;1101 1161 11AC;AE51;1101 1161 11AC; +AE52;AE52;1101 1161 11AD;AE52;1101 1161 11AD; +AE53;AE53;1101 1161 11AE;AE53;1101 1161 11AE; +AE54;AE54;1101 1161 11AF;AE54;1101 1161 11AF; +AE55;AE55;1101 1161 11B0;AE55;1101 1161 11B0; +AE56;AE56;1101 1161 11B1;AE56;1101 1161 11B1; +AE57;AE57;1101 1161 11B2;AE57;1101 1161 11B2; +AE58;AE58;1101 1161 11B3;AE58;1101 1161 11B3; +AE59;AE59;1101 1161 11B4;AE59;1101 1161 11B4; +AE5A;AE5A;1101 1161 11B5;AE5A;1101 1161 11B5; +AE5B;AE5B;1101 1161 11B6;AE5B;1101 1161 11B6; +AE5C;AE5C;1101 1161 11B7;AE5C;1101 1161 11B7; +AE5D;AE5D;1101 1161 11B8;AE5D;1101 1161 11B8; +AE5E;AE5E;1101 1161 11B9;AE5E;1101 1161 11B9; +AE5F;AE5F;1101 1161 11BA;AE5F;1101 1161 11BA; +AE60;AE60;1101 1161 11BB;AE60;1101 1161 11BB; +AE61;AE61;1101 1161 11BC;AE61;1101 1161 11BC; +AE62;AE62;1101 1161 11BD;AE62;1101 1161 11BD; +AE63;AE63;1101 1161 11BE;AE63;1101 1161 11BE; +AE64;AE64;1101 1161 11BF;AE64;1101 1161 11BF; +AE65;AE65;1101 1161 11C0;AE65;1101 1161 11C0; +AE66;AE66;1101 1161 11C1;AE66;1101 1161 11C1; +AE67;AE67;1101 1161 11C2;AE67;1101 1161 11C2; +AE68;AE68;1101 1162;AE68;1101 1162; +AE69;AE69;1101 1162 11A8;AE69;1101 1162 11A8; +AE6A;AE6A;1101 1162 11A9;AE6A;1101 1162 11A9; +AE6B;AE6B;1101 1162 11AA;AE6B;1101 1162 11AA; +AE6C;AE6C;1101 1162 11AB;AE6C;1101 1162 11AB; +AE6D;AE6D;1101 1162 11AC;AE6D;1101 1162 11AC; +AE6E;AE6E;1101 1162 11AD;AE6E;1101 1162 11AD; +AE6F;AE6F;1101 1162 11AE;AE6F;1101 1162 11AE; +AE70;AE70;1101 1162 11AF;AE70;1101 1162 11AF; +AE71;AE71;1101 1162 11B0;AE71;1101 1162 11B0; +AE72;AE72;1101 1162 11B1;AE72;1101 1162 11B1; +AE73;AE73;1101 1162 11B2;AE73;1101 1162 11B2; +AE74;AE74;1101 1162 11B3;AE74;1101 1162 11B3; +AE75;AE75;1101 1162 11B4;AE75;1101 1162 11B4; +AE76;AE76;1101 1162 11B5;AE76;1101 1162 11B5; +AE77;AE77;1101 1162 11B6;AE77;1101 1162 11B6; +AE78;AE78;1101 1162 11B7;AE78;1101 1162 11B7; +AE79;AE79;1101 1162 11B8;AE79;1101 1162 11B8; +AE7A;AE7A;1101 1162 11B9;AE7A;1101 1162 11B9; +AE7B;AE7B;1101 1162 11BA;AE7B;1101 1162 11BA; +AE7C;AE7C;1101 1162 11BB;AE7C;1101 1162 11BB; +AE7D;AE7D;1101 1162 11BC;AE7D;1101 1162 11BC; +AE7E;AE7E;1101 1162 11BD;AE7E;1101 1162 11BD; +AE7F;AE7F;1101 1162 11BE;AE7F;1101 1162 11BE; +AE80;AE80;1101 1162 11BF;AE80;1101 1162 11BF; +AE81;AE81;1101 1162 11C0;AE81;1101 1162 11C0; +AE82;AE82;1101 1162 11C1;AE82;1101 1162 11C1; +AE83;AE83;1101 1162 11C2;AE83;1101 1162 11C2; +AE84;AE84;1101 1163;AE84;1101 1163; +AE85;AE85;1101 1163 11A8;AE85;1101 1163 11A8; +AE86;AE86;1101 1163 11A9;AE86;1101 1163 11A9; +AE87;AE87;1101 1163 11AA;AE87;1101 1163 11AA; +AE88;AE88;1101 1163 11AB;AE88;1101 1163 11AB; +AE89;AE89;1101 1163 11AC;AE89;1101 1163 11AC; +AE8A;AE8A;1101 1163 11AD;AE8A;1101 1163 11AD; +AE8B;AE8B;1101 1163 11AE;AE8B;1101 1163 11AE; +AE8C;AE8C;1101 1163 11AF;AE8C;1101 1163 11AF; +AE8D;AE8D;1101 1163 11B0;AE8D;1101 1163 11B0; +AE8E;AE8E;1101 1163 11B1;AE8E;1101 1163 11B1; +AE8F;AE8F;1101 1163 11B2;AE8F;1101 1163 11B2; +AE90;AE90;1101 1163 11B3;AE90;1101 1163 11B3; +AE91;AE91;1101 1163 11B4;AE91;1101 1163 11B4; +AE92;AE92;1101 1163 11B5;AE92;1101 1163 11B5; +AE93;AE93;1101 1163 11B6;AE93;1101 1163 11B6; +AE94;AE94;1101 1163 11B7;AE94;1101 1163 11B7; +AE95;AE95;1101 1163 11B8;AE95;1101 1163 11B8; +AE96;AE96;1101 1163 11B9;AE96;1101 1163 11B9; +AE97;AE97;1101 1163 11BA;AE97;1101 1163 11BA; +AE98;AE98;1101 1163 11BB;AE98;1101 1163 11BB; +AE99;AE99;1101 1163 11BC;AE99;1101 1163 11BC; +AE9A;AE9A;1101 1163 11BD;AE9A;1101 1163 11BD; +AE9B;AE9B;1101 1163 11BE;AE9B;1101 1163 11BE; +AE9C;AE9C;1101 1163 11BF;AE9C;1101 1163 11BF; +AE9D;AE9D;1101 1163 11C0;AE9D;1101 1163 11C0; +AE9E;AE9E;1101 1163 11C1;AE9E;1101 1163 11C1; +AE9F;AE9F;1101 1163 11C2;AE9F;1101 1163 11C2; +AEA0;AEA0;1101 1164;AEA0;1101 1164; +AEA1;AEA1;1101 1164 11A8;AEA1;1101 1164 11A8; +AEA2;AEA2;1101 1164 11A9;AEA2;1101 1164 11A9; +AEA3;AEA3;1101 1164 11AA;AEA3;1101 1164 11AA; +AEA4;AEA4;1101 1164 11AB;AEA4;1101 1164 11AB; +AEA5;AEA5;1101 1164 11AC;AEA5;1101 1164 11AC; +AEA6;AEA6;1101 1164 11AD;AEA6;1101 1164 11AD; +AEA7;AEA7;1101 1164 11AE;AEA7;1101 1164 11AE; +AEA8;AEA8;1101 1164 11AF;AEA8;1101 1164 11AF; +AEA9;AEA9;1101 1164 11B0;AEA9;1101 1164 11B0; +AEAA;AEAA;1101 1164 11B1;AEAA;1101 1164 11B1; +AEAB;AEAB;1101 1164 11B2;AEAB;1101 1164 11B2; +AEAC;AEAC;1101 1164 11B3;AEAC;1101 1164 11B3; +AEAD;AEAD;1101 1164 11B4;AEAD;1101 1164 11B4; +AEAE;AEAE;1101 1164 11B5;AEAE;1101 1164 11B5; +AEAF;AEAF;1101 1164 11B6;AEAF;1101 1164 11B6; +AEB0;AEB0;1101 1164 11B7;AEB0;1101 1164 11B7; +AEB1;AEB1;1101 1164 11B8;AEB1;1101 1164 11B8; +AEB2;AEB2;1101 1164 11B9;AEB2;1101 1164 11B9; +AEB3;AEB3;1101 1164 11BA;AEB3;1101 1164 11BA; +AEB4;AEB4;1101 1164 11BB;AEB4;1101 1164 11BB; +AEB5;AEB5;1101 1164 11BC;AEB5;1101 1164 11BC; +AEB6;AEB6;1101 1164 11BD;AEB6;1101 1164 11BD; +AEB7;AEB7;1101 1164 11BE;AEB7;1101 1164 11BE; +AEB8;AEB8;1101 1164 11BF;AEB8;1101 1164 11BF; +AEB9;AEB9;1101 1164 11C0;AEB9;1101 1164 11C0; +AEBA;AEBA;1101 1164 11C1;AEBA;1101 1164 11C1; +AEBB;AEBB;1101 1164 11C2;AEBB;1101 1164 11C2; +AEBC;AEBC;1101 1165;AEBC;1101 1165; +AEBD;AEBD;1101 1165 11A8;AEBD;1101 1165 11A8; +AEBE;AEBE;1101 1165 11A9;AEBE;1101 1165 11A9; +AEBF;AEBF;1101 1165 11AA;AEBF;1101 1165 11AA; +AEC0;AEC0;1101 1165 11AB;AEC0;1101 1165 11AB; +AEC1;AEC1;1101 1165 11AC;AEC1;1101 1165 11AC; +AEC2;AEC2;1101 1165 11AD;AEC2;1101 1165 11AD; +AEC3;AEC3;1101 1165 11AE;AEC3;1101 1165 11AE; +AEC4;AEC4;1101 1165 11AF;AEC4;1101 1165 11AF; +AEC5;AEC5;1101 1165 11B0;AEC5;1101 1165 11B0; +AEC6;AEC6;1101 1165 11B1;AEC6;1101 1165 11B1; +AEC7;AEC7;1101 1165 11B2;AEC7;1101 1165 11B2; +AEC8;AEC8;1101 1165 11B3;AEC8;1101 1165 11B3; +AEC9;AEC9;1101 1165 11B4;AEC9;1101 1165 11B4; +AECA;AECA;1101 1165 11B5;AECA;1101 1165 11B5; +AECB;AECB;1101 1165 11B6;AECB;1101 1165 11B6; +AECC;AECC;1101 1165 11B7;AECC;1101 1165 11B7; +AECD;AECD;1101 1165 11B8;AECD;1101 1165 11B8; +AECE;AECE;1101 1165 11B9;AECE;1101 1165 11B9; +AECF;AECF;1101 1165 11BA;AECF;1101 1165 11BA; +AED0;AED0;1101 1165 11BB;AED0;1101 1165 11BB; +AED1;AED1;1101 1165 11BC;AED1;1101 1165 11BC; +AED2;AED2;1101 1165 11BD;AED2;1101 1165 11BD; +AED3;AED3;1101 1165 11BE;AED3;1101 1165 11BE; +AED4;AED4;1101 1165 11BF;AED4;1101 1165 11BF; +AED5;AED5;1101 1165 11C0;AED5;1101 1165 11C0; +AED6;AED6;1101 1165 11C1;AED6;1101 1165 11C1; +AED7;AED7;1101 1165 11C2;AED7;1101 1165 11C2; +AED8;AED8;1101 1166;AED8;1101 1166; +AED9;AED9;1101 1166 11A8;AED9;1101 1166 11A8; +AEDA;AEDA;1101 1166 11A9;AEDA;1101 1166 11A9; +AEDB;AEDB;1101 1166 11AA;AEDB;1101 1166 11AA; +AEDC;AEDC;1101 1166 11AB;AEDC;1101 1166 11AB; +AEDD;AEDD;1101 1166 11AC;AEDD;1101 1166 11AC; +AEDE;AEDE;1101 1166 11AD;AEDE;1101 1166 11AD; +AEDF;AEDF;1101 1166 11AE;AEDF;1101 1166 11AE; +AEE0;AEE0;1101 1166 11AF;AEE0;1101 1166 11AF; +AEE1;AEE1;1101 1166 11B0;AEE1;1101 1166 11B0; +AEE2;AEE2;1101 1166 11B1;AEE2;1101 1166 11B1; +AEE3;AEE3;1101 1166 11B2;AEE3;1101 1166 11B2; +AEE4;AEE4;1101 1166 11B3;AEE4;1101 1166 11B3; +AEE5;AEE5;1101 1166 11B4;AEE5;1101 1166 11B4; +AEE6;AEE6;1101 1166 11B5;AEE6;1101 1166 11B5; +AEE7;AEE7;1101 1166 11B6;AEE7;1101 1166 11B6; +AEE8;AEE8;1101 1166 11B7;AEE8;1101 1166 11B7; +AEE9;AEE9;1101 1166 11B8;AEE9;1101 1166 11B8; +AEEA;AEEA;1101 1166 11B9;AEEA;1101 1166 11B9; +AEEB;AEEB;1101 1166 11BA;AEEB;1101 1166 11BA; +AEEC;AEEC;1101 1166 11BB;AEEC;1101 1166 11BB; +AEED;AEED;1101 1166 11BC;AEED;1101 1166 11BC; +AEEE;AEEE;1101 1166 11BD;AEEE;1101 1166 11BD; +AEEF;AEEF;1101 1166 11BE;AEEF;1101 1166 11BE; +AEF0;AEF0;1101 1166 11BF;AEF0;1101 1166 11BF; +AEF1;AEF1;1101 1166 11C0;AEF1;1101 1166 11C0; +AEF2;AEF2;1101 1166 11C1;AEF2;1101 1166 11C1; +AEF3;AEF3;1101 1166 11C2;AEF3;1101 1166 11C2; +AEF4;AEF4;1101 1167;AEF4;1101 1167; +AEF5;AEF5;1101 1167 11A8;AEF5;1101 1167 11A8; +AEF6;AEF6;1101 1167 11A9;AEF6;1101 1167 11A9; +AEF7;AEF7;1101 1167 11AA;AEF7;1101 1167 11AA; +AEF8;AEF8;1101 1167 11AB;AEF8;1101 1167 11AB; +AEF9;AEF9;1101 1167 11AC;AEF9;1101 1167 11AC; +AEFA;AEFA;1101 1167 11AD;AEFA;1101 1167 11AD; +AEFB;AEFB;1101 1167 11AE;AEFB;1101 1167 11AE; +AEFC;AEFC;1101 1167 11AF;AEFC;1101 1167 11AF; +AEFD;AEFD;1101 1167 11B0;AEFD;1101 1167 11B0; +AEFE;AEFE;1101 1167 11B1;AEFE;1101 1167 11B1; +AEFF;AEFF;1101 1167 11B2;AEFF;1101 1167 11B2; +AF00;AF00;1101 1167 11B3;AF00;1101 1167 11B3; +AF01;AF01;1101 1167 11B4;AF01;1101 1167 11B4; +AF02;AF02;1101 1167 11B5;AF02;1101 1167 11B5; +AF03;AF03;1101 1167 11B6;AF03;1101 1167 11B6; +AF04;AF04;1101 1167 11B7;AF04;1101 1167 11B7; +AF05;AF05;1101 1167 11B8;AF05;1101 1167 11B8; +AF06;AF06;1101 1167 11B9;AF06;1101 1167 11B9; +AF07;AF07;1101 1167 11BA;AF07;1101 1167 11BA; +AF08;AF08;1101 1167 11BB;AF08;1101 1167 11BB; +AF09;AF09;1101 1167 11BC;AF09;1101 1167 11BC; +AF0A;AF0A;1101 1167 11BD;AF0A;1101 1167 11BD; +AF0B;AF0B;1101 1167 11BE;AF0B;1101 1167 11BE; +AF0C;AF0C;1101 1167 11BF;AF0C;1101 1167 11BF; +AF0D;AF0D;1101 1167 11C0;AF0D;1101 1167 11C0; +AF0E;AF0E;1101 1167 11C1;AF0E;1101 1167 11C1; +AF0F;AF0F;1101 1167 11C2;AF0F;1101 1167 11C2; +AF10;AF10;1101 1168;AF10;1101 1168; +AF11;AF11;1101 1168 11A8;AF11;1101 1168 11A8; +AF12;AF12;1101 1168 11A9;AF12;1101 1168 11A9; +AF13;AF13;1101 1168 11AA;AF13;1101 1168 11AA; +AF14;AF14;1101 1168 11AB;AF14;1101 1168 11AB; +AF15;AF15;1101 1168 11AC;AF15;1101 1168 11AC; +AF16;AF16;1101 1168 11AD;AF16;1101 1168 11AD; +AF17;AF17;1101 1168 11AE;AF17;1101 1168 11AE; +AF18;AF18;1101 1168 11AF;AF18;1101 1168 11AF; +AF19;AF19;1101 1168 11B0;AF19;1101 1168 11B0; +AF1A;AF1A;1101 1168 11B1;AF1A;1101 1168 11B1; +AF1B;AF1B;1101 1168 11B2;AF1B;1101 1168 11B2; +AF1C;AF1C;1101 1168 11B3;AF1C;1101 1168 11B3; +AF1D;AF1D;1101 1168 11B4;AF1D;1101 1168 11B4; +AF1E;AF1E;1101 1168 11B5;AF1E;1101 1168 11B5; +AF1F;AF1F;1101 1168 11B6;AF1F;1101 1168 11B6; +AF20;AF20;1101 1168 11B7;AF20;1101 1168 11B7; +AF21;AF21;1101 1168 11B8;AF21;1101 1168 11B8; +AF22;AF22;1101 1168 11B9;AF22;1101 1168 11B9; +AF23;AF23;1101 1168 11BA;AF23;1101 1168 11BA; +AF24;AF24;1101 1168 11BB;AF24;1101 1168 11BB; +AF25;AF25;1101 1168 11BC;AF25;1101 1168 11BC; +AF26;AF26;1101 1168 11BD;AF26;1101 1168 11BD; +AF27;AF27;1101 1168 11BE;AF27;1101 1168 11BE; +AF28;AF28;1101 1168 11BF;AF28;1101 1168 11BF; +AF29;AF29;1101 1168 11C0;AF29;1101 1168 11C0; +AF2A;AF2A;1101 1168 11C1;AF2A;1101 1168 11C1; +AF2B;AF2B;1101 1168 11C2;AF2B;1101 1168 11C2; +AF2C;AF2C;1101 1169;AF2C;1101 1169; +AF2D;AF2D;1101 1169 11A8;AF2D;1101 1169 11A8; +AF2E;AF2E;1101 1169 11A9;AF2E;1101 1169 11A9; +AF2F;AF2F;1101 1169 11AA;AF2F;1101 1169 11AA; +AF30;AF30;1101 1169 11AB;AF30;1101 1169 11AB; +AF31;AF31;1101 1169 11AC;AF31;1101 1169 11AC; +AF32;AF32;1101 1169 11AD;AF32;1101 1169 11AD; +AF33;AF33;1101 1169 11AE;AF33;1101 1169 11AE; +AF34;AF34;1101 1169 11AF;AF34;1101 1169 11AF; +AF35;AF35;1101 1169 11B0;AF35;1101 1169 11B0; +AF36;AF36;1101 1169 11B1;AF36;1101 1169 11B1; +AF37;AF37;1101 1169 11B2;AF37;1101 1169 11B2; +AF38;AF38;1101 1169 11B3;AF38;1101 1169 11B3; +AF39;AF39;1101 1169 11B4;AF39;1101 1169 11B4; +AF3A;AF3A;1101 1169 11B5;AF3A;1101 1169 11B5; +AF3B;AF3B;1101 1169 11B6;AF3B;1101 1169 11B6; +AF3C;AF3C;1101 1169 11B7;AF3C;1101 1169 11B7; +AF3D;AF3D;1101 1169 11B8;AF3D;1101 1169 11B8; +AF3E;AF3E;1101 1169 11B9;AF3E;1101 1169 11B9; +AF3F;AF3F;1101 1169 11BA;AF3F;1101 1169 11BA; +AF40;AF40;1101 1169 11BB;AF40;1101 1169 11BB; +AF41;AF41;1101 1169 11BC;AF41;1101 1169 11BC; +AF42;AF42;1101 1169 11BD;AF42;1101 1169 11BD; +AF43;AF43;1101 1169 11BE;AF43;1101 1169 11BE; +AF44;AF44;1101 1169 11BF;AF44;1101 1169 11BF; +AF45;AF45;1101 1169 11C0;AF45;1101 1169 11C0; +AF46;AF46;1101 1169 11C1;AF46;1101 1169 11C1; +AF47;AF47;1101 1169 11C2;AF47;1101 1169 11C2; +AF48;AF48;1101 116A;AF48;1101 116A; +AF49;AF49;1101 116A 11A8;AF49;1101 116A 11A8; +AF4A;AF4A;1101 116A 11A9;AF4A;1101 116A 11A9; +AF4B;AF4B;1101 116A 11AA;AF4B;1101 116A 11AA; +AF4C;AF4C;1101 116A 11AB;AF4C;1101 116A 11AB; +AF4D;AF4D;1101 116A 11AC;AF4D;1101 116A 11AC; +AF4E;AF4E;1101 116A 11AD;AF4E;1101 116A 11AD; +AF4F;AF4F;1101 116A 11AE;AF4F;1101 116A 11AE; +AF50;AF50;1101 116A 11AF;AF50;1101 116A 11AF; +AF51;AF51;1101 116A 11B0;AF51;1101 116A 11B0; +AF52;AF52;1101 116A 11B1;AF52;1101 116A 11B1; +AF53;AF53;1101 116A 11B2;AF53;1101 116A 11B2; +AF54;AF54;1101 116A 11B3;AF54;1101 116A 11B3; +AF55;AF55;1101 116A 11B4;AF55;1101 116A 11B4; +AF56;AF56;1101 116A 11B5;AF56;1101 116A 11B5; +AF57;AF57;1101 116A 11B6;AF57;1101 116A 11B6; +AF58;AF58;1101 116A 11B7;AF58;1101 116A 11B7; +AF59;AF59;1101 116A 11B8;AF59;1101 116A 11B8; +AF5A;AF5A;1101 116A 11B9;AF5A;1101 116A 11B9; +AF5B;AF5B;1101 116A 11BA;AF5B;1101 116A 11BA; +AF5C;AF5C;1101 116A 11BB;AF5C;1101 116A 11BB; +AF5D;AF5D;1101 116A 11BC;AF5D;1101 116A 11BC; +AF5E;AF5E;1101 116A 11BD;AF5E;1101 116A 11BD; +AF5F;AF5F;1101 116A 11BE;AF5F;1101 116A 11BE; +AF60;AF60;1101 116A 11BF;AF60;1101 116A 11BF; +AF61;AF61;1101 116A 11C0;AF61;1101 116A 11C0; +AF62;AF62;1101 116A 11C1;AF62;1101 116A 11C1; +AF63;AF63;1101 116A 11C2;AF63;1101 116A 11C2; +AF64;AF64;1101 116B;AF64;1101 116B; +AF65;AF65;1101 116B 11A8;AF65;1101 116B 11A8; +AF66;AF66;1101 116B 11A9;AF66;1101 116B 11A9; +AF67;AF67;1101 116B 11AA;AF67;1101 116B 11AA; +AF68;AF68;1101 116B 11AB;AF68;1101 116B 11AB; +AF69;AF69;1101 116B 11AC;AF69;1101 116B 11AC; +AF6A;AF6A;1101 116B 11AD;AF6A;1101 116B 11AD; +AF6B;AF6B;1101 116B 11AE;AF6B;1101 116B 11AE; +AF6C;AF6C;1101 116B 11AF;AF6C;1101 116B 11AF; +AF6D;AF6D;1101 116B 11B0;AF6D;1101 116B 11B0; +AF6E;AF6E;1101 116B 11B1;AF6E;1101 116B 11B1; +AF6F;AF6F;1101 116B 11B2;AF6F;1101 116B 11B2; +AF70;AF70;1101 116B 11B3;AF70;1101 116B 11B3; +AF71;AF71;1101 116B 11B4;AF71;1101 116B 11B4; +AF72;AF72;1101 116B 11B5;AF72;1101 116B 11B5; +AF73;AF73;1101 116B 11B6;AF73;1101 116B 11B6; +AF74;AF74;1101 116B 11B7;AF74;1101 116B 11B7; +AF75;AF75;1101 116B 11B8;AF75;1101 116B 11B8; +AF76;AF76;1101 116B 11B9;AF76;1101 116B 11B9; +AF77;AF77;1101 116B 11BA;AF77;1101 116B 11BA; +AF78;AF78;1101 116B 11BB;AF78;1101 116B 11BB; +AF79;AF79;1101 116B 11BC;AF79;1101 116B 11BC; +AF7A;AF7A;1101 116B 11BD;AF7A;1101 116B 11BD; +AF7B;AF7B;1101 116B 11BE;AF7B;1101 116B 11BE; +AF7C;AF7C;1101 116B 11BF;AF7C;1101 116B 11BF; +AF7D;AF7D;1101 116B 11C0;AF7D;1101 116B 11C0; +AF7E;AF7E;1101 116B 11C1;AF7E;1101 116B 11C1; +AF7F;AF7F;1101 116B 11C2;AF7F;1101 116B 11C2; +AF80;AF80;1101 116C;AF80;1101 116C; +AF81;AF81;1101 116C 11A8;AF81;1101 116C 11A8; +AF82;AF82;1101 116C 11A9;AF82;1101 116C 11A9; +AF83;AF83;1101 116C 11AA;AF83;1101 116C 11AA; +AF84;AF84;1101 116C 11AB;AF84;1101 116C 11AB; +AF85;AF85;1101 116C 11AC;AF85;1101 116C 11AC; +AF86;AF86;1101 116C 11AD;AF86;1101 116C 11AD; +AF87;AF87;1101 116C 11AE;AF87;1101 116C 11AE; +AF88;AF88;1101 116C 11AF;AF88;1101 116C 11AF; +AF89;AF89;1101 116C 11B0;AF89;1101 116C 11B0; +AF8A;AF8A;1101 116C 11B1;AF8A;1101 116C 11B1; +AF8B;AF8B;1101 116C 11B2;AF8B;1101 116C 11B2; +AF8C;AF8C;1101 116C 11B3;AF8C;1101 116C 11B3; +AF8D;AF8D;1101 116C 11B4;AF8D;1101 116C 11B4; +AF8E;AF8E;1101 116C 11B5;AF8E;1101 116C 11B5; +AF8F;AF8F;1101 116C 11B6;AF8F;1101 116C 11B6; +AF90;AF90;1101 116C 11B7;AF90;1101 116C 11B7; +AF91;AF91;1101 116C 11B8;AF91;1101 116C 11B8; +AF92;AF92;1101 116C 11B9;AF92;1101 116C 11B9; +AF93;AF93;1101 116C 11BA;AF93;1101 116C 11BA; +AF94;AF94;1101 116C 11BB;AF94;1101 116C 11BB; +AF95;AF95;1101 116C 11BC;AF95;1101 116C 11BC; +AF96;AF96;1101 116C 11BD;AF96;1101 116C 11BD; +AF97;AF97;1101 116C 11BE;AF97;1101 116C 11BE; +AF98;AF98;1101 116C 11BF;AF98;1101 116C 11BF; +AF99;AF99;1101 116C 11C0;AF99;1101 116C 11C0; +AF9A;AF9A;1101 116C 11C1;AF9A;1101 116C 11C1; +AF9B;AF9B;1101 116C 11C2;AF9B;1101 116C 11C2; +AF9C;AF9C;1101 116D;AF9C;1101 116D; +AF9D;AF9D;1101 116D 11A8;AF9D;1101 116D 11A8; +AF9E;AF9E;1101 116D 11A9;AF9E;1101 116D 11A9; +AF9F;AF9F;1101 116D 11AA;AF9F;1101 116D 11AA; +AFA0;AFA0;1101 116D 11AB;AFA0;1101 116D 11AB; +AFA1;AFA1;1101 116D 11AC;AFA1;1101 116D 11AC; +AFA2;AFA2;1101 116D 11AD;AFA2;1101 116D 11AD; +AFA3;AFA3;1101 116D 11AE;AFA3;1101 116D 11AE; +AFA4;AFA4;1101 116D 11AF;AFA4;1101 116D 11AF; +AFA5;AFA5;1101 116D 11B0;AFA5;1101 116D 11B0; +AFA6;AFA6;1101 116D 11B1;AFA6;1101 116D 11B1; +AFA7;AFA7;1101 116D 11B2;AFA7;1101 116D 11B2; +AFA8;AFA8;1101 116D 11B3;AFA8;1101 116D 11B3; +AFA9;AFA9;1101 116D 11B4;AFA9;1101 116D 11B4; +AFAA;AFAA;1101 116D 11B5;AFAA;1101 116D 11B5; +AFAB;AFAB;1101 116D 11B6;AFAB;1101 116D 11B6; +AFAC;AFAC;1101 116D 11B7;AFAC;1101 116D 11B7; +AFAD;AFAD;1101 116D 11B8;AFAD;1101 116D 11B8; +AFAE;AFAE;1101 116D 11B9;AFAE;1101 116D 11B9; +AFAF;AFAF;1101 116D 11BA;AFAF;1101 116D 11BA; +AFB0;AFB0;1101 116D 11BB;AFB0;1101 116D 11BB; +AFB1;AFB1;1101 116D 11BC;AFB1;1101 116D 11BC; +AFB2;AFB2;1101 116D 11BD;AFB2;1101 116D 11BD; +AFB3;AFB3;1101 116D 11BE;AFB3;1101 116D 11BE; +AFB4;AFB4;1101 116D 11BF;AFB4;1101 116D 11BF; +AFB5;AFB5;1101 116D 11C0;AFB5;1101 116D 11C0; +AFB6;AFB6;1101 116D 11C1;AFB6;1101 116D 11C1; +AFB7;AFB7;1101 116D 11C2;AFB7;1101 116D 11C2; +AFB8;AFB8;1101 116E;AFB8;1101 116E; +AFB9;AFB9;1101 116E 11A8;AFB9;1101 116E 11A8; +AFBA;AFBA;1101 116E 11A9;AFBA;1101 116E 11A9; +AFBB;AFBB;1101 116E 11AA;AFBB;1101 116E 11AA; +AFBC;AFBC;1101 116E 11AB;AFBC;1101 116E 11AB; +AFBD;AFBD;1101 116E 11AC;AFBD;1101 116E 11AC; +AFBE;AFBE;1101 116E 11AD;AFBE;1101 116E 11AD; +AFBF;AFBF;1101 116E 11AE;AFBF;1101 116E 11AE; +AFC0;AFC0;1101 116E 11AF;AFC0;1101 116E 11AF; +AFC1;AFC1;1101 116E 11B0;AFC1;1101 116E 11B0; +AFC2;AFC2;1101 116E 11B1;AFC2;1101 116E 11B1; +AFC3;AFC3;1101 116E 11B2;AFC3;1101 116E 11B2; +AFC4;AFC4;1101 116E 11B3;AFC4;1101 116E 11B3; +AFC5;AFC5;1101 116E 11B4;AFC5;1101 116E 11B4; +AFC6;AFC6;1101 116E 11B5;AFC6;1101 116E 11B5; +AFC7;AFC7;1101 116E 11B6;AFC7;1101 116E 11B6; +AFC8;AFC8;1101 116E 11B7;AFC8;1101 116E 11B7; +AFC9;AFC9;1101 116E 11B8;AFC9;1101 116E 11B8; +AFCA;AFCA;1101 116E 11B9;AFCA;1101 116E 11B9; +AFCB;AFCB;1101 116E 11BA;AFCB;1101 116E 11BA; +AFCC;AFCC;1101 116E 11BB;AFCC;1101 116E 11BB; +AFCD;AFCD;1101 116E 11BC;AFCD;1101 116E 11BC; +AFCE;AFCE;1101 116E 11BD;AFCE;1101 116E 11BD; +AFCF;AFCF;1101 116E 11BE;AFCF;1101 116E 11BE; +AFD0;AFD0;1101 116E 11BF;AFD0;1101 116E 11BF; +AFD1;AFD1;1101 116E 11C0;AFD1;1101 116E 11C0; +AFD2;AFD2;1101 116E 11C1;AFD2;1101 116E 11C1; +AFD3;AFD3;1101 116E 11C2;AFD3;1101 116E 11C2; +AFD4;AFD4;1101 116F;AFD4;1101 116F; +AFD5;AFD5;1101 116F 11A8;AFD5;1101 116F 11A8; +AFD6;AFD6;1101 116F 11A9;AFD6;1101 116F 11A9; +AFD7;AFD7;1101 116F 11AA;AFD7;1101 116F 11AA; +AFD8;AFD8;1101 116F 11AB;AFD8;1101 116F 11AB; +AFD9;AFD9;1101 116F 11AC;AFD9;1101 116F 11AC; +AFDA;AFDA;1101 116F 11AD;AFDA;1101 116F 11AD; +AFDB;AFDB;1101 116F 11AE;AFDB;1101 116F 11AE; +AFDC;AFDC;1101 116F 11AF;AFDC;1101 116F 11AF; +AFDD;AFDD;1101 116F 11B0;AFDD;1101 116F 11B0; +AFDE;AFDE;1101 116F 11B1;AFDE;1101 116F 11B1; +AFDF;AFDF;1101 116F 11B2;AFDF;1101 116F 11B2; +AFE0;AFE0;1101 116F 11B3;AFE0;1101 116F 11B3; +AFE1;AFE1;1101 116F 11B4;AFE1;1101 116F 11B4; +AFE2;AFE2;1101 116F 11B5;AFE2;1101 116F 11B5; +AFE3;AFE3;1101 116F 11B6;AFE3;1101 116F 11B6; +AFE4;AFE4;1101 116F 11B7;AFE4;1101 116F 11B7; +AFE5;AFE5;1101 116F 11B8;AFE5;1101 116F 11B8; +AFE6;AFE6;1101 116F 11B9;AFE6;1101 116F 11B9; +AFE7;AFE7;1101 116F 11BA;AFE7;1101 116F 11BA; +AFE8;AFE8;1101 116F 11BB;AFE8;1101 116F 11BB; +AFE9;AFE9;1101 116F 11BC;AFE9;1101 116F 11BC; +AFEA;AFEA;1101 116F 11BD;AFEA;1101 116F 11BD; +AFEB;AFEB;1101 116F 11BE;AFEB;1101 116F 11BE; +AFEC;AFEC;1101 116F 11BF;AFEC;1101 116F 11BF; +AFED;AFED;1101 116F 11C0;AFED;1101 116F 11C0; +AFEE;AFEE;1101 116F 11C1;AFEE;1101 116F 11C1; +AFEF;AFEF;1101 116F 11C2;AFEF;1101 116F 11C2; +AFF0;AFF0;1101 1170;AFF0;1101 1170; +AFF1;AFF1;1101 1170 11A8;AFF1;1101 1170 11A8; +AFF2;AFF2;1101 1170 11A9;AFF2;1101 1170 11A9; +AFF3;AFF3;1101 1170 11AA;AFF3;1101 1170 11AA; +AFF4;AFF4;1101 1170 11AB;AFF4;1101 1170 11AB; +AFF5;AFF5;1101 1170 11AC;AFF5;1101 1170 11AC; +AFF6;AFF6;1101 1170 11AD;AFF6;1101 1170 11AD; +AFF7;AFF7;1101 1170 11AE;AFF7;1101 1170 11AE; +AFF8;AFF8;1101 1170 11AF;AFF8;1101 1170 11AF; +AFF9;AFF9;1101 1170 11B0;AFF9;1101 1170 11B0; +AFFA;AFFA;1101 1170 11B1;AFFA;1101 1170 11B1; +AFFB;AFFB;1101 1170 11B2;AFFB;1101 1170 11B2; +AFFC;AFFC;1101 1170 11B3;AFFC;1101 1170 11B3; +AFFD;AFFD;1101 1170 11B4;AFFD;1101 1170 11B4; +AFFE;AFFE;1101 1170 11B5;AFFE;1101 1170 11B5; +AFFF;AFFF;1101 1170 11B6;AFFF;1101 1170 11B6; +B000;B000;1101 1170 11B7;B000;1101 1170 11B7; +B001;B001;1101 1170 11B8;B001;1101 1170 11B8; +B002;B002;1101 1170 11B9;B002;1101 1170 11B9; +B003;B003;1101 1170 11BA;B003;1101 1170 11BA; +B004;B004;1101 1170 11BB;B004;1101 1170 11BB; +B005;B005;1101 1170 11BC;B005;1101 1170 11BC; +B006;B006;1101 1170 11BD;B006;1101 1170 11BD; +B007;B007;1101 1170 11BE;B007;1101 1170 11BE; +B008;B008;1101 1170 11BF;B008;1101 1170 11BF; +B009;B009;1101 1170 11C0;B009;1101 1170 11C0; +B00A;B00A;1101 1170 11C1;B00A;1101 1170 11C1; +B00B;B00B;1101 1170 11C2;B00B;1101 1170 11C2; +B00C;B00C;1101 1171;B00C;1101 1171; +B00D;B00D;1101 1171 11A8;B00D;1101 1171 11A8; +B00E;B00E;1101 1171 11A9;B00E;1101 1171 11A9; +B00F;B00F;1101 1171 11AA;B00F;1101 1171 11AA; +B010;B010;1101 1171 11AB;B010;1101 1171 11AB; +B011;B011;1101 1171 11AC;B011;1101 1171 11AC; +B012;B012;1101 1171 11AD;B012;1101 1171 11AD; +B013;B013;1101 1171 11AE;B013;1101 1171 11AE; +B014;B014;1101 1171 11AF;B014;1101 1171 11AF; +B015;B015;1101 1171 11B0;B015;1101 1171 11B0; +B016;B016;1101 1171 11B1;B016;1101 1171 11B1; +B017;B017;1101 1171 11B2;B017;1101 1171 11B2; +B018;B018;1101 1171 11B3;B018;1101 1171 11B3; +B019;B019;1101 1171 11B4;B019;1101 1171 11B4; +B01A;B01A;1101 1171 11B5;B01A;1101 1171 11B5; +B01B;B01B;1101 1171 11B6;B01B;1101 1171 11B6; +B01C;B01C;1101 1171 11B7;B01C;1101 1171 11B7; +B01D;B01D;1101 1171 11B8;B01D;1101 1171 11B8; +B01E;B01E;1101 1171 11B9;B01E;1101 1171 11B9; +B01F;B01F;1101 1171 11BA;B01F;1101 1171 11BA; +B020;B020;1101 1171 11BB;B020;1101 1171 11BB; +B021;B021;1101 1171 11BC;B021;1101 1171 11BC; +B022;B022;1101 1171 11BD;B022;1101 1171 11BD; +B023;B023;1101 1171 11BE;B023;1101 1171 11BE; +B024;B024;1101 1171 11BF;B024;1101 1171 11BF; +B025;B025;1101 1171 11C0;B025;1101 1171 11C0; +B026;B026;1101 1171 11C1;B026;1101 1171 11C1; +B027;B027;1101 1171 11C2;B027;1101 1171 11C2; +B028;B028;1101 1172;B028;1101 1172; +B029;B029;1101 1172 11A8;B029;1101 1172 11A8; +B02A;B02A;1101 1172 11A9;B02A;1101 1172 11A9; +B02B;B02B;1101 1172 11AA;B02B;1101 1172 11AA; +B02C;B02C;1101 1172 11AB;B02C;1101 1172 11AB; +B02D;B02D;1101 1172 11AC;B02D;1101 1172 11AC; +B02E;B02E;1101 1172 11AD;B02E;1101 1172 11AD; +B02F;B02F;1101 1172 11AE;B02F;1101 1172 11AE; +B030;B030;1101 1172 11AF;B030;1101 1172 11AF; +B031;B031;1101 1172 11B0;B031;1101 1172 11B0; +B032;B032;1101 1172 11B1;B032;1101 1172 11B1; +B033;B033;1101 1172 11B2;B033;1101 1172 11B2; +B034;B034;1101 1172 11B3;B034;1101 1172 11B3; +B035;B035;1101 1172 11B4;B035;1101 1172 11B4; +B036;B036;1101 1172 11B5;B036;1101 1172 11B5; +B037;B037;1101 1172 11B6;B037;1101 1172 11B6; +B038;B038;1101 1172 11B7;B038;1101 1172 11B7; +B039;B039;1101 1172 11B8;B039;1101 1172 11B8; +B03A;B03A;1101 1172 11B9;B03A;1101 1172 11B9; +B03B;B03B;1101 1172 11BA;B03B;1101 1172 11BA; +B03C;B03C;1101 1172 11BB;B03C;1101 1172 11BB; +B03D;B03D;1101 1172 11BC;B03D;1101 1172 11BC; +B03E;B03E;1101 1172 11BD;B03E;1101 1172 11BD; +B03F;B03F;1101 1172 11BE;B03F;1101 1172 11BE; +B040;B040;1101 1172 11BF;B040;1101 1172 11BF; +B041;B041;1101 1172 11C0;B041;1101 1172 11C0; +B042;B042;1101 1172 11C1;B042;1101 1172 11C1; +B043;B043;1101 1172 11C2;B043;1101 1172 11C2; +B044;B044;1101 1173;B044;1101 1173; +B045;B045;1101 1173 11A8;B045;1101 1173 11A8; +B046;B046;1101 1173 11A9;B046;1101 1173 11A9; +B047;B047;1101 1173 11AA;B047;1101 1173 11AA; +B048;B048;1101 1173 11AB;B048;1101 1173 11AB; +B049;B049;1101 1173 11AC;B049;1101 1173 11AC; +B04A;B04A;1101 1173 11AD;B04A;1101 1173 11AD; +B04B;B04B;1101 1173 11AE;B04B;1101 1173 11AE; +B04C;B04C;1101 1173 11AF;B04C;1101 1173 11AF; +B04D;B04D;1101 1173 11B0;B04D;1101 1173 11B0; +B04E;B04E;1101 1173 11B1;B04E;1101 1173 11B1; +B04F;B04F;1101 1173 11B2;B04F;1101 1173 11B2; +B050;B050;1101 1173 11B3;B050;1101 1173 11B3; +B051;B051;1101 1173 11B4;B051;1101 1173 11B4; +B052;B052;1101 1173 11B5;B052;1101 1173 11B5; +B053;B053;1101 1173 11B6;B053;1101 1173 11B6; +B054;B054;1101 1173 11B7;B054;1101 1173 11B7; +B055;B055;1101 1173 11B8;B055;1101 1173 11B8; +B056;B056;1101 1173 11B9;B056;1101 1173 11B9; +B057;B057;1101 1173 11BA;B057;1101 1173 11BA; +B058;B058;1101 1173 11BB;B058;1101 1173 11BB; +B059;B059;1101 1173 11BC;B059;1101 1173 11BC; +B05A;B05A;1101 1173 11BD;B05A;1101 1173 11BD; +B05B;B05B;1101 1173 11BE;B05B;1101 1173 11BE; +B05C;B05C;1101 1173 11BF;B05C;1101 1173 11BF; +B05D;B05D;1101 1173 11C0;B05D;1101 1173 11C0; +B05E;B05E;1101 1173 11C1;B05E;1101 1173 11C1; +B05F;B05F;1101 1173 11C2;B05F;1101 1173 11C2; +B060;B060;1101 1174;B060;1101 1174; +B061;B061;1101 1174 11A8;B061;1101 1174 11A8; +B062;B062;1101 1174 11A9;B062;1101 1174 11A9; +B063;B063;1101 1174 11AA;B063;1101 1174 11AA; +B064;B064;1101 1174 11AB;B064;1101 1174 11AB; +B065;B065;1101 1174 11AC;B065;1101 1174 11AC; +B066;B066;1101 1174 11AD;B066;1101 1174 11AD; +B067;B067;1101 1174 11AE;B067;1101 1174 11AE; +B068;B068;1101 1174 11AF;B068;1101 1174 11AF; +B069;B069;1101 1174 11B0;B069;1101 1174 11B0; +B06A;B06A;1101 1174 11B1;B06A;1101 1174 11B1; +B06B;B06B;1101 1174 11B2;B06B;1101 1174 11B2; +B06C;B06C;1101 1174 11B3;B06C;1101 1174 11B3; +B06D;B06D;1101 1174 11B4;B06D;1101 1174 11B4; +B06E;B06E;1101 1174 11B5;B06E;1101 1174 11B5; +B06F;B06F;1101 1174 11B6;B06F;1101 1174 11B6; +B070;B070;1101 1174 11B7;B070;1101 1174 11B7; +B071;B071;1101 1174 11B8;B071;1101 1174 11B8; +B072;B072;1101 1174 11B9;B072;1101 1174 11B9; +B073;B073;1101 1174 11BA;B073;1101 1174 11BA; +B074;B074;1101 1174 11BB;B074;1101 1174 11BB; +B075;B075;1101 1174 11BC;B075;1101 1174 11BC; +B076;B076;1101 1174 11BD;B076;1101 1174 11BD; +B077;B077;1101 1174 11BE;B077;1101 1174 11BE; +B078;B078;1101 1174 11BF;B078;1101 1174 11BF; +B079;B079;1101 1174 11C0;B079;1101 1174 11C0; +B07A;B07A;1101 1174 11C1;B07A;1101 1174 11C1; +B07B;B07B;1101 1174 11C2;B07B;1101 1174 11C2; +B07C;B07C;1101 1175;B07C;1101 1175; +B07D;B07D;1101 1175 11A8;B07D;1101 1175 11A8; +B07E;B07E;1101 1175 11A9;B07E;1101 1175 11A9; +B07F;B07F;1101 1175 11AA;B07F;1101 1175 11AA; +B080;B080;1101 1175 11AB;B080;1101 1175 11AB; +B081;B081;1101 1175 11AC;B081;1101 1175 11AC; +B082;B082;1101 1175 11AD;B082;1101 1175 11AD; +B083;B083;1101 1175 11AE;B083;1101 1175 11AE; +B084;B084;1101 1175 11AF;B084;1101 1175 11AF; +B085;B085;1101 1175 11B0;B085;1101 1175 11B0; +B086;B086;1101 1175 11B1;B086;1101 1175 11B1; +B087;B087;1101 1175 11B2;B087;1101 1175 11B2; +B088;B088;1101 1175 11B3;B088;1101 1175 11B3; +B089;B089;1101 1175 11B4;B089;1101 1175 11B4; +B08A;B08A;1101 1175 11B5;B08A;1101 1175 11B5; +B08B;B08B;1101 1175 11B6;B08B;1101 1175 11B6; +B08C;B08C;1101 1175 11B7;B08C;1101 1175 11B7; +B08D;B08D;1101 1175 11B8;B08D;1101 1175 11B8; +B08E;B08E;1101 1175 11B9;B08E;1101 1175 11B9; +B08F;B08F;1101 1175 11BA;B08F;1101 1175 11BA; +B090;B090;1101 1175 11BB;B090;1101 1175 11BB; +B091;B091;1101 1175 11BC;B091;1101 1175 11BC; +B092;B092;1101 1175 11BD;B092;1101 1175 11BD; +B093;B093;1101 1175 11BE;B093;1101 1175 11BE; +B094;B094;1101 1175 11BF;B094;1101 1175 11BF; +B095;B095;1101 1175 11C0;B095;1101 1175 11C0; +B096;B096;1101 1175 11C1;B096;1101 1175 11C1; +B097;B097;1101 1175 11C2;B097;1101 1175 11C2; +B098;B098;1102 1161;B098;1102 1161; +B099;B099;1102 1161 11A8;B099;1102 1161 11A8; +B09A;B09A;1102 1161 11A9;B09A;1102 1161 11A9; +B09B;B09B;1102 1161 11AA;B09B;1102 1161 11AA; +B09C;B09C;1102 1161 11AB;B09C;1102 1161 11AB; +B09D;B09D;1102 1161 11AC;B09D;1102 1161 11AC; +B09E;B09E;1102 1161 11AD;B09E;1102 1161 11AD; +B09F;B09F;1102 1161 11AE;B09F;1102 1161 11AE; +B0A0;B0A0;1102 1161 11AF;B0A0;1102 1161 11AF; +B0A1;B0A1;1102 1161 11B0;B0A1;1102 1161 11B0; +B0A2;B0A2;1102 1161 11B1;B0A2;1102 1161 11B1; +B0A3;B0A3;1102 1161 11B2;B0A3;1102 1161 11B2; +B0A4;B0A4;1102 1161 11B3;B0A4;1102 1161 11B3; +B0A5;B0A5;1102 1161 11B4;B0A5;1102 1161 11B4; +B0A6;B0A6;1102 1161 11B5;B0A6;1102 1161 11B5; +B0A7;B0A7;1102 1161 11B6;B0A7;1102 1161 11B6; +B0A8;B0A8;1102 1161 11B7;B0A8;1102 1161 11B7; +B0A9;B0A9;1102 1161 11B8;B0A9;1102 1161 11B8; +B0AA;B0AA;1102 1161 11B9;B0AA;1102 1161 11B9; +B0AB;B0AB;1102 1161 11BA;B0AB;1102 1161 11BA; +B0AC;B0AC;1102 1161 11BB;B0AC;1102 1161 11BB; +B0AD;B0AD;1102 1161 11BC;B0AD;1102 1161 11BC; +B0AE;B0AE;1102 1161 11BD;B0AE;1102 1161 11BD; +B0AF;B0AF;1102 1161 11BE;B0AF;1102 1161 11BE; +B0B0;B0B0;1102 1161 11BF;B0B0;1102 1161 11BF; +B0B1;B0B1;1102 1161 11C0;B0B1;1102 1161 11C0; +B0B2;B0B2;1102 1161 11C1;B0B2;1102 1161 11C1; +B0B3;B0B3;1102 1161 11C2;B0B3;1102 1161 11C2; +B0B4;B0B4;1102 1162;B0B4;1102 1162; +B0B5;B0B5;1102 1162 11A8;B0B5;1102 1162 11A8; +B0B6;B0B6;1102 1162 11A9;B0B6;1102 1162 11A9; +B0B7;B0B7;1102 1162 11AA;B0B7;1102 1162 11AA; +B0B8;B0B8;1102 1162 11AB;B0B8;1102 1162 11AB; +B0B9;B0B9;1102 1162 11AC;B0B9;1102 1162 11AC; +B0BA;B0BA;1102 1162 11AD;B0BA;1102 1162 11AD; +B0BB;B0BB;1102 1162 11AE;B0BB;1102 1162 11AE; +B0BC;B0BC;1102 1162 11AF;B0BC;1102 1162 11AF; +B0BD;B0BD;1102 1162 11B0;B0BD;1102 1162 11B0; +B0BE;B0BE;1102 1162 11B1;B0BE;1102 1162 11B1; +B0BF;B0BF;1102 1162 11B2;B0BF;1102 1162 11B2; +B0C0;B0C0;1102 1162 11B3;B0C0;1102 1162 11B3; +B0C1;B0C1;1102 1162 11B4;B0C1;1102 1162 11B4; +B0C2;B0C2;1102 1162 11B5;B0C2;1102 1162 11B5; +B0C3;B0C3;1102 1162 11B6;B0C3;1102 1162 11B6; +B0C4;B0C4;1102 1162 11B7;B0C4;1102 1162 11B7; +B0C5;B0C5;1102 1162 11B8;B0C5;1102 1162 11B8; +B0C6;B0C6;1102 1162 11B9;B0C6;1102 1162 11B9; +B0C7;B0C7;1102 1162 11BA;B0C7;1102 1162 11BA; +B0C8;B0C8;1102 1162 11BB;B0C8;1102 1162 11BB; +B0C9;B0C9;1102 1162 11BC;B0C9;1102 1162 11BC; +B0CA;B0CA;1102 1162 11BD;B0CA;1102 1162 11BD; +B0CB;B0CB;1102 1162 11BE;B0CB;1102 1162 11BE; +B0CC;B0CC;1102 1162 11BF;B0CC;1102 1162 11BF; +B0CD;B0CD;1102 1162 11C0;B0CD;1102 1162 11C0; +B0CE;B0CE;1102 1162 11C1;B0CE;1102 1162 11C1; +B0CF;B0CF;1102 1162 11C2;B0CF;1102 1162 11C2; +B0D0;B0D0;1102 1163;B0D0;1102 1163; +B0D1;B0D1;1102 1163 11A8;B0D1;1102 1163 11A8; +B0D2;B0D2;1102 1163 11A9;B0D2;1102 1163 11A9; +B0D3;B0D3;1102 1163 11AA;B0D3;1102 1163 11AA; +B0D4;B0D4;1102 1163 11AB;B0D4;1102 1163 11AB; +B0D5;B0D5;1102 1163 11AC;B0D5;1102 1163 11AC; +B0D6;B0D6;1102 1163 11AD;B0D6;1102 1163 11AD; +B0D7;B0D7;1102 1163 11AE;B0D7;1102 1163 11AE; +B0D8;B0D8;1102 1163 11AF;B0D8;1102 1163 11AF; +B0D9;B0D9;1102 1163 11B0;B0D9;1102 1163 11B0; +B0DA;B0DA;1102 1163 11B1;B0DA;1102 1163 11B1; +B0DB;B0DB;1102 1163 11B2;B0DB;1102 1163 11B2; +B0DC;B0DC;1102 1163 11B3;B0DC;1102 1163 11B3; +B0DD;B0DD;1102 1163 11B4;B0DD;1102 1163 11B4; +B0DE;B0DE;1102 1163 11B5;B0DE;1102 1163 11B5; +B0DF;B0DF;1102 1163 11B6;B0DF;1102 1163 11B6; +B0E0;B0E0;1102 1163 11B7;B0E0;1102 1163 11B7; +B0E1;B0E1;1102 1163 11B8;B0E1;1102 1163 11B8; +B0E2;B0E2;1102 1163 11B9;B0E2;1102 1163 11B9; +B0E3;B0E3;1102 1163 11BA;B0E3;1102 1163 11BA; +B0E4;B0E4;1102 1163 11BB;B0E4;1102 1163 11BB; +B0E5;B0E5;1102 1163 11BC;B0E5;1102 1163 11BC; +B0E6;B0E6;1102 1163 11BD;B0E6;1102 1163 11BD; +B0E7;B0E7;1102 1163 11BE;B0E7;1102 1163 11BE; +B0E8;B0E8;1102 1163 11BF;B0E8;1102 1163 11BF; +B0E9;B0E9;1102 1163 11C0;B0E9;1102 1163 11C0; +B0EA;B0EA;1102 1163 11C1;B0EA;1102 1163 11C1; +B0EB;B0EB;1102 1163 11C2;B0EB;1102 1163 11C2; +B0EC;B0EC;1102 1164;B0EC;1102 1164; +B0ED;B0ED;1102 1164 11A8;B0ED;1102 1164 11A8; +B0EE;B0EE;1102 1164 11A9;B0EE;1102 1164 11A9; +B0EF;B0EF;1102 1164 11AA;B0EF;1102 1164 11AA; +B0F0;B0F0;1102 1164 11AB;B0F0;1102 1164 11AB; +B0F1;B0F1;1102 1164 11AC;B0F1;1102 1164 11AC; +B0F2;B0F2;1102 1164 11AD;B0F2;1102 1164 11AD; +B0F3;B0F3;1102 1164 11AE;B0F3;1102 1164 11AE; +B0F4;B0F4;1102 1164 11AF;B0F4;1102 1164 11AF; +B0F5;B0F5;1102 1164 11B0;B0F5;1102 1164 11B0; +B0F6;B0F6;1102 1164 11B1;B0F6;1102 1164 11B1; +B0F7;B0F7;1102 1164 11B2;B0F7;1102 1164 11B2; +B0F8;B0F8;1102 1164 11B3;B0F8;1102 1164 11B3; +B0F9;B0F9;1102 1164 11B4;B0F9;1102 1164 11B4; +B0FA;B0FA;1102 1164 11B5;B0FA;1102 1164 11B5; +B0FB;B0FB;1102 1164 11B6;B0FB;1102 1164 11B6; +B0FC;B0FC;1102 1164 11B7;B0FC;1102 1164 11B7; +B0FD;B0FD;1102 1164 11B8;B0FD;1102 1164 11B8; +B0FE;B0FE;1102 1164 11B9;B0FE;1102 1164 11B9; +B0FF;B0FF;1102 1164 11BA;B0FF;1102 1164 11BA; +B100;B100;1102 1164 11BB;B100;1102 1164 11BB; +B101;B101;1102 1164 11BC;B101;1102 1164 11BC; +B102;B102;1102 1164 11BD;B102;1102 1164 11BD; +B103;B103;1102 1164 11BE;B103;1102 1164 11BE; +B104;B104;1102 1164 11BF;B104;1102 1164 11BF; +B105;B105;1102 1164 11C0;B105;1102 1164 11C0; +B106;B106;1102 1164 11C1;B106;1102 1164 11C1; +B107;B107;1102 1164 11C2;B107;1102 1164 11C2; +B108;B108;1102 1165;B108;1102 1165; +B109;B109;1102 1165 11A8;B109;1102 1165 11A8; +B10A;B10A;1102 1165 11A9;B10A;1102 1165 11A9; +B10B;B10B;1102 1165 11AA;B10B;1102 1165 11AA; +B10C;B10C;1102 1165 11AB;B10C;1102 1165 11AB; +B10D;B10D;1102 1165 11AC;B10D;1102 1165 11AC; +B10E;B10E;1102 1165 11AD;B10E;1102 1165 11AD; +B10F;B10F;1102 1165 11AE;B10F;1102 1165 11AE; +B110;B110;1102 1165 11AF;B110;1102 1165 11AF; +B111;B111;1102 1165 11B0;B111;1102 1165 11B0; +B112;B112;1102 1165 11B1;B112;1102 1165 11B1; +B113;B113;1102 1165 11B2;B113;1102 1165 11B2; +B114;B114;1102 1165 11B3;B114;1102 1165 11B3; +B115;B115;1102 1165 11B4;B115;1102 1165 11B4; +B116;B116;1102 1165 11B5;B116;1102 1165 11B5; +B117;B117;1102 1165 11B6;B117;1102 1165 11B6; +B118;B118;1102 1165 11B7;B118;1102 1165 11B7; +B119;B119;1102 1165 11B8;B119;1102 1165 11B8; +B11A;B11A;1102 1165 11B9;B11A;1102 1165 11B9; +B11B;B11B;1102 1165 11BA;B11B;1102 1165 11BA; +B11C;B11C;1102 1165 11BB;B11C;1102 1165 11BB; +B11D;B11D;1102 1165 11BC;B11D;1102 1165 11BC; +B11E;B11E;1102 1165 11BD;B11E;1102 1165 11BD; +B11F;B11F;1102 1165 11BE;B11F;1102 1165 11BE; +B120;B120;1102 1165 11BF;B120;1102 1165 11BF; +B121;B121;1102 1165 11C0;B121;1102 1165 11C0; +B122;B122;1102 1165 11C1;B122;1102 1165 11C1; +B123;B123;1102 1165 11C2;B123;1102 1165 11C2; +B124;B124;1102 1166;B124;1102 1166; +B125;B125;1102 1166 11A8;B125;1102 1166 11A8; +B126;B126;1102 1166 11A9;B126;1102 1166 11A9; +B127;B127;1102 1166 11AA;B127;1102 1166 11AA; +B128;B128;1102 1166 11AB;B128;1102 1166 11AB; +B129;B129;1102 1166 11AC;B129;1102 1166 11AC; +B12A;B12A;1102 1166 11AD;B12A;1102 1166 11AD; +B12B;B12B;1102 1166 11AE;B12B;1102 1166 11AE; +B12C;B12C;1102 1166 11AF;B12C;1102 1166 11AF; +B12D;B12D;1102 1166 11B0;B12D;1102 1166 11B0; +B12E;B12E;1102 1166 11B1;B12E;1102 1166 11B1; +B12F;B12F;1102 1166 11B2;B12F;1102 1166 11B2; +B130;B130;1102 1166 11B3;B130;1102 1166 11B3; +B131;B131;1102 1166 11B4;B131;1102 1166 11B4; +B132;B132;1102 1166 11B5;B132;1102 1166 11B5; +B133;B133;1102 1166 11B6;B133;1102 1166 11B6; +B134;B134;1102 1166 11B7;B134;1102 1166 11B7; +B135;B135;1102 1166 11B8;B135;1102 1166 11B8; +B136;B136;1102 1166 11B9;B136;1102 1166 11B9; +B137;B137;1102 1166 11BA;B137;1102 1166 11BA; +B138;B138;1102 1166 11BB;B138;1102 1166 11BB; +B139;B139;1102 1166 11BC;B139;1102 1166 11BC; +B13A;B13A;1102 1166 11BD;B13A;1102 1166 11BD; +B13B;B13B;1102 1166 11BE;B13B;1102 1166 11BE; +B13C;B13C;1102 1166 11BF;B13C;1102 1166 11BF; +B13D;B13D;1102 1166 11C0;B13D;1102 1166 11C0; +B13E;B13E;1102 1166 11C1;B13E;1102 1166 11C1; +B13F;B13F;1102 1166 11C2;B13F;1102 1166 11C2; +B140;B140;1102 1167;B140;1102 1167; +B141;B141;1102 1167 11A8;B141;1102 1167 11A8; +B142;B142;1102 1167 11A9;B142;1102 1167 11A9; +B143;B143;1102 1167 11AA;B143;1102 1167 11AA; +B144;B144;1102 1167 11AB;B144;1102 1167 11AB; +B145;B145;1102 1167 11AC;B145;1102 1167 11AC; +B146;B146;1102 1167 11AD;B146;1102 1167 11AD; +B147;B147;1102 1167 11AE;B147;1102 1167 11AE; +B148;B148;1102 1167 11AF;B148;1102 1167 11AF; +B149;B149;1102 1167 11B0;B149;1102 1167 11B0; +B14A;B14A;1102 1167 11B1;B14A;1102 1167 11B1; +B14B;B14B;1102 1167 11B2;B14B;1102 1167 11B2; +B14C;B14C;1102 1167 11B3;B14C;1102 1167 11B3; +B14D;B14D;1102 1167 11B4;B14D;1102 1167 11B4; +B14E;B14E;1102 1167 11B5;B14E;1102 1167 11B5; +B14F;B14F;1102 1167 11B6;B14F;1102 1167 11B6; +B150;B150;1102 1167 11B7;B150;1102 1167 11B7; +B151;B151;1102 1167 11B8;B151;1102 1167 11B8; +B152;B152;1102 1167 11B9;B152;1102 1167 11B9; +B153;B153;1102 1167 11BA;B153;1102 1167 11BA; +B154;B154;1102 1167 11BB;B154;1102 1167 11BB; +B155;B155;1102 1167 11BC;B155;1102 1167 11BC; +B156;B156;1102 1167 11BD;B156;1102 1167 11BD; +B157;B157;1102 1167 11BE;B157;1102 1167 11BE; +B158;B158;1102 1167 11BF;B158;1102 1167 11BF; +B159;B159;1102 1167 11C0;B159;1102 1167 11C0; +B15A;B15A;1102 1167 11C1;B15A;1102 1167 11C1; +B15B;B15B;1102 1167 11C2;B15B;1102 1167 11C2; +B15C;B15C;1102 1168;B15C;1102 1168; +B15D;B15D;1102 1168 11A8;B15D;1102 1168 11A8; +B15E;B15E;1102 1168 11A9;B15E;1102 1168 11A9; +B15F;B15F;1102 1168 11AA;B15F;1102 1168 11AA; +B160;B160;1102 1168 11AB;B160;1102 1168 11AB; +B161;B161;1102 1168 11AC;B161;1102 1168 11AC; +B162;B162;1102 1168 11AD;B162;1102 1168 11AD; +B163;B163;1102 1168 11AE;B163;1102 1168 11AE; +B164;B164;1102 1168 11AF;B164;1102 1168 11AF; +B165;B165;1102 1168 11B0;B165;1102 1168 11B0; +B166;B166;1102 1168 11B1;B166;1102 1168 11B1; +B167;B167;1102 1168 11B2;B167;1102 1168 11B2; +B168;B168;1102 1168 11B3;B168;1102 1168 11B3; +B169;B169;1102 1168 11B4;B169;1102 1168 11B4; +B16A;B16A;1102 1168 11B5;B16A;1102 1168 11B5; +B16B;B16B;1102 1168 11B6;B16B;1102 1168 11B6; +B16C;B16C;1102 1168 11B7;B16C;1102 1168 11B7; +B16D;B16D;1102 1168 11B8;B16D;1102 1168 11B8; +B16E;B16E;1102 1168 11B9;B16E;1102 1168 11B9; +B16F;B16F;1102 1168 11BA;B16F;1102 1168 11BA; +B170;B170;1102 1168 11BB;B170;1102 1168 11BB; +B171;B171;1102 1168 11BC;B171;1102 1168 11BC; +B172;B172;1102 1168 11BD;B172;1102 1168 11BD; +B173;B173;1102 1168 11BE;B173;1102 1168 11BE; +B174;B174;1102 1168 11BF;B174;1102 1168 11BF; +B175;B175;1102 1168 11C0;B175;1102 1168 11C0; +B176;B176;1102 1168 11C1;B176;1102 1168 11C1; +B177;B177;1102 1168 11C2;B177;1102 1168 11C2; +B178;B178;1102 1169;B178;1102 1169; +B179;B179;1102 1169 11A8;B179;1102 1169 11A8; +B17A;B17A;1102 1169 11A9;B17A;1102 1169 11A9; +B17B;B17B;1102 1169 11AA;B17B;1102 1169 11AA; +B17C;B17C;1102 1169 11AB;B17C;1102 1169 11AB; +B17D;B17D;1102 1169 11AC;B17D;1102 1169 11AC; +B17E;B17E;1102 1169 11AD;B17E;1102 1169 11AD; +B17F;B17F;1102 1169 11AE;B17F;1102 1169 11AE; +B180;B180;1102 1169 11AF;B180;1102 1169 11AF; +B181;B181;1102 1169 11B0;B181;1102 1169 11B0; +B182;B182;1102 1169 11B1;B182;1102 1169 11B1; +B183;B183;1102 1169 11B2;B183;1102 1169 11B2; +B184;B184;1102 1169 11B3;B184;1102 1169 11B3; +B185;B185;1102 1169 11B4;B185;1102 1169 11B4; +B186;B186;1102 1169 11B5;B186;1102 1169 11B5; +B187;B187;1102 1169 11B6;B187;1102 1169 11B6; +B188;B188;1102 1169 11B7;B188;1102 1169 11B7; +B189;B189;1102 1169 11B8;B189;1102 1169 11B8; +B18A;B18A;1102 1169 11B9;B18A;1102 1169 11B9; +B18B;B18B;1102 1169 11BA;B18B;1102 1169 11BA; +B18C;B18C;1102 1169 11BB;B18C;1102 1169 11BB; +B18D;B18D;1102 1169 11BC;B18D;1102 1169 11BC; +B18E;B18E;1102 1169 11BD;B18E;1102 1169 11BD; +B18F;B18F;1102 1169 11BE;B18F;1102 1169 11BE; +B190;B190;1102 1169 11BF;B190;1102 1169 11BF; +B191;B191;1102 1169 11C0;B191;1102 1169 11C0; +B192;B192;1102 1169 11C1;B192;1102 1169 11C1; +B193;B193;1102 1169 11C2;B193;1102 1169 11C2; +B194;B194;1102 116A;B194;1102 116A; +B195;B195;1102 116A 11A8;B195;1102 116A 11A8; +B196;B196;1102 116A 11A9;B196;1102 116A 11A9; +B197;B197;1102 116A 11AA;B197;1102 116A 11AA; +B198;B198;1102 116A 11AB;B198;1102 116A 11AB; +B199;B199;1102 116A 11AC;B199;1102 116A 11AC; +B19A;B19A;1102 116A 11AD;B19A;1102 116A 11AD; +B19B;B19B;1102 116A 11AE;B19B;1102 116A 11AE; +B19C;B19C;1102 116A 11AF;B19C;1102 116A 11AF; +B19D;B19D;1102 116A 11B0;B19D;1102 116A 11B0; +B19E;B19E;1102 116A 11B1;B19E;1102 116A 11B1; +B19F;B19F;1102 116A 11B2;B19F;1102 116A 11B2; +B1A0;B1A0;1102 116A 11B3;B1A0;1102 116A 11B3; +B1A1;B1A1;1102 116A 11B4;B1A1;1102 116A 11B4; +B1A2;B1A2;1102 116A 11B5;B1A2;1102 116A 11B5; +B1A3;B1A3;1102 116A 11B6;B1A3;1102 116A 11B6; +B1A4;B1A4;1102 116A 11B7;B1A4;1102 116A 11B7; +B1A5;B1A5;1102 116A 11B8;B1A5;1102 116A 11B8; +B1A6;B1A6;1102 116A 11B9;B1A6;1102 116A 11B9; +B1A7;B1A7;1102 116A 11BA;B1A7;1102 116A 11BA; +B1A8;B1A8;1102 116A 11BB;B1A8;1102 116A 11BB; +B1A9;B1A9;1102 116A 11BC;B1A9;1102 116A 11BC; +B1AA;B1AA;1102 116A 11BD;B1AA;1102 116A 11BD; +B1AB;B1AB;1102 116A 11BE;B1AB;1102 116A 11BE; +B1AC;B1AC;1102 116A 11BF;B1AC;1102 116A 11BF; +B1AD;B1AD;1102 116A 11C0;B1AD;1102 116A 11C0; +B1AE;B1AE;1102 116A 11C1;B1AE;1102 116A 11C1; +B1AF;B1AF;1102 116A 11C2;B1AF;1102 116A 11C2; +B1B0;B1B0;1102 116B;B1B0;1102 116B; +B1B1;B1B1;1102 116B 11A8;B1B1;1102 116B 11A8; +B1B2;B1B2;1102 116B 11A9;B1B2;1102 116B 11A9; +B1B3;B1B3;1102 116B 11AA;B1B3;1102 116B 11AA; +B1B4;B1B4;1102 116B 11AB;B1B4;1102 116B 11AB; +B1B5;B1B5;1102 116B 11AC;B1B5;1102 116B 11AC; +B1B6;B1B6;1102 116B 11AD;B1B6;1102 116B 11AD; +B1B7;B1B7;1102 116B 11AE;B1B7;1102 116B 11AE; +B1B8;B1B8;1102 116B 11AF;B1B8;1102 116B 11AF; +B1B9;B1B9;1102 116B 11B0;B1B9;1102 116B 11B0; +B1BA;B1BA;1102 116B 11B1;B1BA;1102 116B 11B1; +B1BB;B1BB;1102 116B 11B2;B1BB;1102 116B 11B2; +B1BC;B1BC;1102 116B 11B3;B1BC;1102 116B 11B3; +B1BD;B1BD;1102 116B 11B4;B1BD;1102 116B 11B4; +B1BE;B1BE;1102 116B 11B5;B1BE;1102 116B 11B5; +B1BF;B1BF;1102 116B 11B6;B1BF;1102 116B 11B6; +B1C0;B1C0;1102 116B 11B7;B1C0;1102 116B 11B7; +B1C1;B1C1;1102 116B 11B8;B1C1;1102 116B 11B8; +B1C2;B1C2;1102 116B 11B9;B1C2;1102 116B 11B9; +B1C3;B1C3;1102 116B 11BA;B1C3;1102 116B 11BA; +B1C4;B1C4;1102 116B 11BB;B1C4;1102 116B 11BB; +B1C5;B1C5;1102 116B 11BC;B1C5;1102 116B 11BC; +B1C6;B1C6;1102 116B 11BD;B1C6;1102 116B 11BD; +B1C7;B1C7;1102 116B 11BE;B1C7;1102 116B 11BE; +B1C8;B1C8;1102 116B 11BF;B1C8;1102 116B 11BF; +B1C9;B1C9;1102 116B 11C0;B1C9;1102 116B 11C0; +B1CA;B1CA;1102 116B 11C1;B1CA;1102 116B 11C1; +B1CB;B1CB;1102 116B 11C2;B1CB;1102 116B 11C2; +B1CC;B1CC;1102 116C;B1CC;1102 116C; +B1CD;B1CD;1102 116C 11A8;B1CD;1102 116C 11A8; +B1CE;B1CE;1102 116C 11A9;B1CE;1102 116C 11A9; +B1CF;B1CF;1102 116C 11AA;B1CF;1102 116C 11AA; +B1D0;B1D0;1102 116C 11AB;B1D0;1102 116C 11AB; +B1D1;B1D1;1102 116C 11AC;B1D1;1102 116C 11AC; +B1D2;B1D2;1102 116C 11AD;B1D2;1102 116C 11AD; +B1D3;B1D3;1102 116C 11AE;B1D3;1102 116C 11AE; +B1D4;B1D4;1102 116C 11AF;B1D4;1102 116C 11AF; +B1D5;B1D5;1102 116C 11B0;B1D5;1102 116C 11B0; +B1D6;B1D6;1102 116C 11B1;B1D6;1102 116C 11B1; +B1D7;B1D7;1102 116C 11B2;B1D7;1102 116C 11B2; +B1D8;B1D8;1102 116C 11B3;B1D8;1102 116C 11B3; +B1D9;B1D9;1102 116C 11B4;B1D9;1102 116C 11B4; +B1DA;B1DA;1102 116C 11B5;B1DA;1102 116C 11B5; +B1DB;B1DB;1102 116C 11B6;B1DB;1102 116C 11B6; +B1DC;B1DC;1102 116C 11B7;B1DC;1102 116C 11B7; +B1DD;B1DD;1102 116C 11B8;B1DD;1102 116C 11B8; +B1DE;B1DE;1102 116C 11B9;B1DE;1102 116C 11B9; +B1DF;B1DF;1102 116C 11BA;B1DF;1102 116C 11BA; +B1E0;B1E0;1102 116C 11BB;B1E0;1102 116C 11BB; +B1E1;B1E1;1102 116C 11BC;B1E1;1102 116C 11BC; +B1E2;B1E2;1102 116C 11BD;B1E2;1102 116C 11BD; +B1E3;B1E3;1102 116C 11BE;B1E3;1102 116C 11BE; +B1E4;B1E4;1102 116C 11BF;B1E4;1102 116C 11BF; +B1E5;B1E5;1102 116C 11C0;B1E5;1102 116C 11C0; +B1E6;B1E6;1102 116C 11C1;B1E6;1102 116C 11C1; +B1E7;B1E7;1102 116C 11C2;B1E7;1102 116C 11C2; +B1E8;B1E8;1102 116D;B1E8;1102 116D; +B1E9;B1E9;1102 116D 11A8;B1E9;1102 116D 11A8; +B1EA;B1EA;1102 116D 11A9;B1EA;1102 116D 11A9; +B1EB;B1EB;1102 116D 11AA;B1EB;1102 116D 11AA; +B1EC;B1EC;1102 116D 11AB;B1EC;1102 116D 11AB; +B1ED;B1ED;1102 116D 11AC;B1ED;1102 116D 11AC; +B1EE;B1EE;1102 116D 11AD;B1EE;1102 116D 11AD; +B1EF;B1EF;1102 116D 11AE;B1EF;1102 116D 11AE; +B1F0;B1F0;1102 116D 11AF;B1F0;1102 116D 11AF; +B1F1;B1F1;1102 116D 11B0;B1F1;1102 116D 11B0; +B1F2;B1F2;1102 116D 11B1;B1F2;1102 116D 11B1; +B1F3;B1F3;1102 116D 11B2;B1F3;1102 116D 11B2; +B1F4;B1F4;1102 116D 11B3;B1F4;1102 116D 11B3; +B1F5;B1F5;1102 116D 11B4;B1F5;1102 116D 11B4; +B1F6;B1F6;1102 116D 11B5;B1F6;1102 116D 11B5; +B1F7;B1F7;1102 116D 11B6;B1F7;1102 116D 11B6; +B1F8;B1F8;1102 116D 11B7;B1F8;1102 116D 11B7; +B1F9;B1F9;1102 116D 11B8;B1F9;1102 116D 11B8; +B1FA;B1FA;1102 116D 11B9;B1FA;1102 116D 11B9; +B1FB;B1FB;1102 116D 11BA;B1FB;1102 116D 11BA; +B1FC;B1FC;1102 116D 11BB;B1FC;1102 116D 11BB; +B1FD;B1FD;1102 116D 11BC;B1FD;1102 116D 11BC; +B1FE;B1FE;1102 116D 11BD;B1FE;1102 116D 11BD; +B1FF;B1FF;1102 116D 11BE;B1FF;1102 116D 11BE; +B200;B200;1102 116D 11BF;B200;1102 116D 11BF; +B201;B201;1102 116D 11C0;B201;1102 116D 11C0; +B202;B202;1102 116D 11C1;B202;1102 116D 11C1; +B203;B203;1102 116D 11C2;B203;1102 116D 11C2; +B204;B204;1102 116E;B204;1102 116E; +B205;B205;1102 116E 11A8;B205;1102 116E 11A8; +B206;B206;1102 116E 11A9;B206;1102 116E 11A9; +B207;B207;1102 116E 11AA;B207;1102 116E 11AA; +B208;B208;1102 116E 11AB;B208;1102 116E 11AB; +B209;B209;1102 116E 11AC;B209;1102 116E 11AC; +B20A;B20A;1102 116E 11AD;B20A;1102 116E 11AD; +B20B;B20B;1102 116E 11AE;B20B;1102 116E 11AE; +B20C;B20C;1102 116E 11AF;B20C;1102 116E 11AF; +B20D;B20D;1102 116E 11B0;B20D;1102 116E 11B0; +B20E;B20E;1102 116E 11B1;B20E;1102 116E 11B1; +B20F;B20F;1102 116E 11B2;B20F;1102 116E 11B2; +B210;B210;1102 116E 11B3;B210;1102 116E 11B3; +B211;B211;1102 116E 11B4;B211;1102 116E 11B4; +B212;B212;1102 116E 11B5;B212;1102 116E 11B5; +B213;B213;1102 116E 11B6;B213;1102 116E 11B6; +B214;B214;1102 116E 11B7;B214;1102 116E 11B7; +B215;B215;1102 116E 11B8;B215;1102 116E 11B8; +B216;B216;1102 116E 11B9;B216;1102 116E 11B9; +B217;B217;1102 116E 11BA;B217;1102 116E 11BA; +B218;B218;1102 116E 11BB;B218;1102 116E 11BB; +B219;B219;1102 116E 11BC;B219;1102 116E 11BC; +B21A;B21A;1102 116E 11BD;B21A;1102 116E 11BD; +B21B;B21B;1102 116E 11BE;B21B;1102 116E 11BE; +B21C;B21C;1102 116E 11BF;B21C;1102 116E 11BF; +B21D;B21D;1102 116E 11C0;B21D;1102 116E 11C0; +B21E;B21E;1102 116E 11C1;B21E;1102 116E 11C1; +B21F;B21F;1102 116E 11C2;B21F;1102 116E 11C2; +B220;B220;1102 116F;B220;1102 116F; +B221;B221;1102 116F 11A8;B221;1102 116F 11A8; +B222;B222;1102 116F 11A9;B222;1102 116F 11A9; +B223;B223;1102 116F 11AA;B223;1102 116F 11AA; +B224;B224;1102 116F 11AB;B224;1102 116F 11AB; +B225;B225;1102 116F 11AC;B225;1102 116F 11AC; +B226;B226;1102 116F 11AD;B226;1102 116F 11AD; +B227;B227;1102 116F 11AE;B227;1102 116F 11AE; +B228;B228;1102 116F 11AF;B228;1102 116F 11AF; +B229;B229;1102 116F 11B0;B229;1102 116F 11B0; +B22A;B22A;1102 116F 11B1;B22A;1102 116F 11B1; +B22B;B22B;1102 116F 11B2;B22B;1102 116F 11B2; +B22C;B22C;1102 116F 11B3;B22C;1102 116F 11B3; +B22D;B22D;1102 116F 11B4;B22D;1102 116F 11B4; +B22E;B22E;1102 116F 11B5;B22E;1102 116F 11B5; +B22F;B22F;1102 116F 11B6;B22F;1102 116F 11B6; +B230;B230;1102 116F 11B7;B230;1102 116F 11B7; +B231;B231;1102 116F 11B8;B231;1102 116F 11B8; +B232;B232;1102 116F 11B9;B232;1102 116F 11B9; +B233;B233;1102 116F 11BA;B233;1102 116F 11BA; +B234;B234;1102 116F 11BB;B234;1102 116F 11BB; +B235;B235;1102 116F 11BC;B235;1102 116F 11BC; +B236;B236;1102 116F 11BD;B236;1102 116F 11BD; +B237;B237;1102 116F 11BE;B237;1102 116F 11BE; +B238;B238;1102 116F 11BF;B238;1102 116F 11BF; +B239;B239;1102 116F 11C0;B239;1102 116F 11C0; +B23A;B23A;1102 116F 11C1;B23A;1102 116F 11C1; +B23B;B23B;1102 116F 11C2;B23B;1102 116F 11C2; +B23C;B23C;1102 1170;B23C;1102 1170; +B23D;B23D;1102 1170 11A8;B23D;1102 1170 11A8; +B23E;B23E;1102 1170 11A9;B23E;1102 1170 11A9; +B23F;B23F;1102 1170 11AA;B23F;1102 1170 11AA; +B240;B240;1102 1170 11AB;B240;1102 1170 11AB; +B241;B241;1102 1170 11AC;B241;1102 1170 11AC; +B242;B242;1102 1170 11AD;B242;1102 1170 11AD; +B243;B243;1102 1170 11AE;B243;1102 1170 11AE; +B244;B244;1102 1170 11AF;B244;1102 1170 11AF; +B245;B245;1102 1170 11B0;B245;1102 1170 11B0; +B246;B246;1102 1170 11B1;B246;1102 1170 11B1; +B247;B247;1102 1170 11B2;B247;1102 1170 11B2; +B248;B248;1102 1170 11B3;B248;1102 1170 11B3; +B249;B249;1102 1170 11B4;B249;1102 1170 11B4; +B24A;B24A;1102 1170 11B5;B24A;1102 1170 11B5; +B24B;B24B;1102 1170 11B6;B24B;1102 1170 11B6; +B24C;B24C;1102 1170 11B7;B24C;1102 1170 11B7; +B24D;B24D;1102 1170 11B8;B24D;1102 1170 11B8; +B24E;B24E;1102 1170 11B9;B24E;1102 1170 11B9; +B24F;B24F;1102 1170 11BA;B24F;1102 1170 11BA; +B250;B250;1102 1170 11BB;B250;1102 1170 11BB; +B251;B251;1102 1170 11BC;B251;1102 1170 11BC; +B252;B252;1102 1170 11BD;B252;1102 1170 11BD; +B253;B253;1102 1170 11BE;B253;1102 1170 11BE; +B254;B254;1102 1170 11BF;B254;1102 1170 11BF; +B255;B255;1102 1170 11C0;B255;1102 1170 11C0; +B256;B256;1102 1170 11C1;B256;1102 1170 11C1; +B257;B257;1102 1170 11C2;B257;1102 1170 11C2; +B258;B258;1102 1171;B258;1102 1171; +B259;B259;1102 1171 11A8;B259;1102 1171 11A8; +B25A;B25A;1102 1171 11A9;B25A;1102 1171 11A9; +B25B;B25B;1102 1171 11AA;B25B;1102 1171 11AA; +B25C;B25C;1102 1171 11AB;B25C;1102 1171 11AB; +B25D;B25D;1102 1171 11AC;B25D;1102 1171 11AC; +B25E;B25E;1102 1171 11AD;B25E;1102 1171 11AD; +B25F;B25F;1102 1171 11AE;B25F;1102 1171 11AE; +B260;B260;1102 1171 11AF;B260;1102 1171 11AF; +B261;B261;1102 1171 11B0;B261;1102 1171 11B0; +B262;B262;1102 1171 11B1;B262;1102 1171 11B1; +B263;B263;1102 1171 11B2;B263;1102 1171 11B2; +B264;B264;1102 1171 11B3;B264;1102 1171 11B3; +B265;B265;1102 1171 11B4;B265;1102 1171 11B4; +B266;B266;1102 1171 11B5;B266;1102 1171 11B5; +B267;B267;1102 1171 11B6;B267;1102 1171 11B6; +B268;B268;1102 1171 11B7;B268;1102 1171 11B7; +B269;B269;1102 1171 11B8;B269;1102 1171 11B8; +B26A;B26A;1102 1171 11B9;B26A;1102 1171 11B9; +B26B;B26B;1102 1171 11BA;B26B;1102 1171 11BA; +B26C;B26C;1102 1171 11BB;B26C;1102 1171 11BB; +B26D;B26D;1102 1171 11BC;B26D;1102 1171 11BC; +B26E;B26E;1102 1171 11BD;B26E;1102 1171 11BD; +B26F;B26F;1102 1171 11BE;B26F;1102 1171 11BE; +B270;B270;1102 1171 11BF;B270;1102 1171 11BF; +B271;B271;1102 1171 11C0;B271;1102 1171 11C0; +B272;B272;1102 1171 11C1;B272;1102 1171 11C1; +B273;B273;1102 1171 11C2;B273;1102 1171 11C2; +B274;B274;1102 1172;B274;1102 1172; +B275;B275;1102 1172 11A8;B275;1102 1172 11A8; +B276;B276;1102 1172 11A9;B276;1102 1172 11A9; +B277;B277;1102 1172 11AA;B277;1102 1172 11AA; +B278;B278;1102 1172 11AB;B278;1102 1172 11AB; +B279;B279;1102 1172 11AC;B279;1102 1172 11AC; +B27A;B27A;1102 1172 11AD;B27A;1102 1172 11AD; +B27B;B27B;1102 1172 11AE;B27B;1102 1172 11AE; +B27C;B27C;1102 1172 11AF;B27C;1102 1172 11AF; +B27D;B27D;1102 1172 11B0;B27D;1102 1172 11B0; +B27E;B27E;1102 1172 11B1;B27E;1102 1172 11B1; +B27F;B27F;1102 1172 11B2;B27F;1102 1172 11B2; +B280;B280;1102 1172 11B3;B280;1102 1172 11B3; +B281;B281;1102 1172 11B4;B281;1102 1172 11B4; +B282;B282;1102 1172 11B5;B282;1102 1172 11B5; +B283;B283;1102 1172 11B6;B283;1102 1172 11B6; +B284;B284;1102 1172 11B7;B284;1102 1172 11B7; +B285;B285;1102 1172 11B8;B285;1102 1172 11B8; +B286;B286;1102 1172 11B9;B286;1102 1172 11B9; +B287;B287;1102 1172 11BA;B287;1102 1172 11BA; +B288;B288;1102 1172 11BB;B288;1102 1172 11BB; +B289;B289;1102 1172 11BC;B289;1102 1172 11BC; +B28A;B28A;1102 1172 11BD;B28A;1102 1172 11BD; +B28B;B28B;1102 1172 11BE;B28B;1102 1172 11BE; +B28C;B28C;1102 1172 11BF;B28C;1102 1172 11BF; +B28D;B28D;1102 1172 11C0;B28D;1102 1172 11C0; +B28E;B28E;1102 1172 11C1;B28E;1102 1172 11C1; +B28F;B28F;1102 1172 11C2;B28F;1102 1172 11C2; +B290;B290;1102 1173;B290;1102 1173; +B291;B291;1102 1173 11A8;B291;1102 1173 11A8; +B292;B292;1102 1173 11A9;B292;1102 1173 11A9; +B293;B293;1102 1173 11AA;B293;1102 1173 11AA; +B294;B294;1102 1173 11AB;B294;1102 1173 11AB; +B295;B295;1102 1173 11AC;B295;1102 1173 11AC; +B296;B296;1102 1173 11AD;B296;1102 1173 11AD; +B297;B297;1102 1173 11AE;B297;1102 1173 11AE; +B298;B298;1102 1173 11AF;B298;1102 1173 11AF; +B299;B299;1102 1173 11B0;B299;1102 1173 11B0; +B29A;B29A;1102 1173 11B1;B29A;1102 1173 11B1; +B29B;B29B;1102 1173 11B2;B29B;1102 1173 11B2; +B29C;B29C;1102 1173 11B3;B29C;1102 1173 11B3; +B29D;B29D;1102 1173 11B4;B29D;1102 1173 11B4; +B29E;B29E;1102 1173 11B5;B29E;1102 1173 11B5; +B29F;B29F;1102 1173 11B6;B29F;1102 1173 11B6; +B2A0;B2A0;1102 1173 11B7;B2A0;1102 1173 11B7; +B2A1;B2A1;1102 1173 11B8;B2A1;1102 1173 11B8; +B2A2;B2A2;1102 1173 11B9;B2A2;1102 1173 11B9; +B2A3;B2A3;1102 1173 11BA;B2A3;1102 1173 11BA; +B2A4;B2A4;1102 1173 11BB;B2A4;1102 1173 11BB; +B2A5;B2A5;1102 1173 11BC;B2A5;1102 1173 11BC; +B2A6;B2A6;1102 1173 11BD;B2A6;1102 1173 11BD; +B2A7;B2A7;1102 1173 11BE;B2A7;1102 1173 11BE; +B2A8;B2A8;1102 1173 11BF;B2A8;1102 1173 11BF; +B2A9;B2A9;1102 1173 11C0;B2A9;1102 1173 11C0; +B2AA;B2AA;1102 1173 11C1;B2AA;1102 1173 11C1; +B2AB;B2AB;1102 1173 11C2;B2AB;1102 1173 11C2; +B2AC;B2AC;1102 1174;B2AC;1102 1174; +B2AD;B2AD;1102 1174 11A8;B2AD;1102 1174 11A8; +B2AE;B2AE;1102 1174 11A9;B2AE;1102 1174 11A9; +B2AF;B2AF;1102 1174 11AA;B2AF;1102 1174 11AA; +B2B0;B2B0;1102 1174 11AB;B2B0;1102 1174 11AB; +B2B1;B2B1;1102 1174 11AC;B2B1;1102 1174 11AC; +B2B2;B2B2;1102 1174 11AD;B2B2;1102 1174 11AD; +B2B3;B2B3;1102 1174 11AE;B2B3;1102 1174 11AE; +B2B4;B2B4;1102 1174 11AF;B2B4;1102 1174 11AF; +B2B5;B2B5;1102 1174 11B0;B2B5;1102 1174 11B0; +B2B6;B2B6;1102 1174 11B1;B2B6;1102 1174 11B1; +B2B7;B2B7;1102 1174 11B2;B2B7;1102 1174 11B2; +B2B8;B2B8;1102 1174 11B3;B2B8;1102 1174 11B3; +B2B9;B2B9;1102 1174 11B4;B2B9;1102 1174 11B4; +B2BA;B2BA;1102 1174 11B5;B2BA;1102 1174 11B5; +B2BB;B2BB;1102 1174 11B6;B2BB;1102 1174 11B6; +B2BC;B2BC;1102 1174 11B7;B2BC;1102 1174 11B7; +B2BD;B2BD;1102 1174 11B8;B2BD;1102 1174 11B8; +B2BE;B2BE;1102 1174 11B9;B2BE;1102 1174 11B9; +B2BF;B2BF;1102 1174 11BA;B2BF;1102 1174 11BA; +B2C0;B2C0;1102 1174 11BB;B2C0;1102 1174 11BB; +B2C1;B2C1;1102 1174 11BC;B2C1;1102 1174 11BC; +B2C2;B2C2;1102 1174 11BD;B2C2;1102 1174 11BD; +B2C3;B2C3;1102 1174 11BE;B2C3;1102 1174 11BE; +B2C4;B2C4;1102 1174 11BF;B2C4;1102 1174 11BF; +B2C5;B2C5;1102 1174 11C0;B2C5;1102 1174 11C0; +B2C6;B2C6;1102 1174 11C1;B2C6;1102 1174 11C1; +B2C7;B2C7;1102 1174 11C2;B2C7;1102 1174 11C2; +B2C8;B2C8;1102 1175;B2C8;1102 1175; +B2C9;B2C9;1102 1175 11A8;B2C9;1102 1175 11A8; +B2CA;B2CA;1102 1175 11A9;B2CA;1102 1175 11A9; +B2CB;B2CB;1102 1175 11AA;B2CB;1102 1175 11AA; +B2CC;B2CC;1102 1175 11AB;B2CC;1102 1175 11AB; +B2CD;B2CD;1102 1175 11AC;B2CD;1102 1175 11AC; +B2CE;B2CE;1102 1175 11AD;B2CE;1102 1175 11AD; +B2CF;B2CF;1102 1175 11AE;B2CF;1102 1175 11AE; +B2D0;B2D0;1102 1175 11AF;B2D0;1102 1175 11AF; +B2D1;B2D1;1102 1175 11B0;B2D1;1102 1175 11B0; +B2D2;B2D2;1102 1175 11B1;B2D2;1102 1175 11B1; +B2D3;B2D3;1102 1175 11B2;B2D3;1102 1175 11B2; +B2D4;B2D4;1102 1175 11B3;B2D4;1102 1175 11B3; +B2D5;B2D5;1102 1175 11B4;B2D5;1102 1175 11B4; +B2D6;B2D6;1102 1175 11B5;B2D6;1102 1175 11B5; +B2D7;B2D7;1102 1175 11B6;B2D7;1102 1175 11B6; +B2D8;B2D8;1102 1175 11B7;B2D8;1102 1175 11B7; +B2D9;B2D9;1102 1175 11B8;B2D9;1102 1175 11B8; +B2DA;B2DA;1102 1175 11B9;B2DA;1102 1175 11B9; +B2DB;B2DB;1102 1175 11BA;B2DB;1102 1175 11BA; +B2DC;B2DC;1102 1175 11BB;B2DC;1102 1175 11BB; +B2DD;B2DD;1102 1175 11BC;B2DD;1102 1175 11BC; +B2DE;B2DE;1102 1175 11BD;B2DE;1102 1175 11BD; +B2DF;B2DF;1102 1175 11BE;B2DF;1102 1175 11BE; +B2E0;B2E0;1102 1175 11BF;B2E0;1102 1175 11BF; +B2E1;B2E1;1102 1175 11C0;B2E1;1102 1175 11C0; +B2E2;B2E2;1102 1175 11C1;B2E2;1102 1175 11C1; +B2E3;B2E3;1102 1175 11C2;B2E3;1102 1175 11C2; +B2E4;B2E4;1103 1161;B2E4;1103 1161; +B2E5;B2E5;1103 1161 11A8;B2E5;1103 1161 11A8; +B2E6;B2E6;1103 1161 11A9;B2E6;1103 1161 11A9; +B2E7;B2E7;1103 1161 11AA;B2E7;1103 1161 11AA; +B2E8;B2E8;1103 1161 11AB;B2E8;1103 1161 11AB; +B2E9;B2E9;1103 1161 11AC;B2E9;1103 1161 11AC; +B2EA;B2EA;1103 1161 11AD;B2EA;1103 1161 11AD; +B2EB;B2EB;1103 1161 11AE;B2EB;1103 1161 11AE; +B2EC;B2EC;1103 1161 11AF;B2EC;1103 1161 11AF; +B2ED;B2ED;1103 1161 11B0;B2ED;1103 1161 11B0; +B2EE;B2EE;1103 1161 11B1;B2EE;1103 1161 11B1; +B2EF;B2EF;1103 1161 11B2;B2EF;1103 1161 11B2; +B2F0;B2F0;1103 1161 11B3;B2F0;1103 1161 11B3; +B2F1;B2F1;1103 1161 11B4;B2F1;1103 1161 11B4; +B2F2;B2F2;1103 1161 11B5;B2F2;1103 1161 11B5; +B2F3;B2F3;1103 1161 11B6;B2F3;1103 1161 11B6; +B2F4;B2F4;1103 1161 11B7;B2F4;1103 1161 11B7; +B2F5;B2F5;1103 1161 11B8;B2F5;1103 1161 11B8; +B2F6;B2F6;1103 1161 11B9;B2F6;1103 1161 11B9; +B2F7;B2F7;1103 1161 11BA;B2F7;1103 1161 11BA; +B2F8;B2F8;1103 1161 11BB;B2F8;1103 1161 11BB; +B2F9;B2F9;1103 1161 11BC;B2F9;1103 1161 11BC; +B2FA;B2FA;1103 1161 11BD;B2FA;1103 1161 11BD; +B2FB;B2FB;1103 1161 11BE;B2FB;1103 1161 11BE; +B2FC;B2FC;1103 1161 11BF;B2FC;1103 1161 11BF; +B2FD;B2FD;1103 1161 11C0;B2FD;1103 1161 11C0; +B2FE;B2FE;1103 1161 11C1;B2FE;1103 1161 11C1; +B2FF;B2FF;1103 1161 11C2;B2FF;1103 1161 11C2; +B300;B300;1103 1162;B300;1103 1162; +B301;B301;1103 1162 11A8;B301;1103 1162 11A8; +B302;B302;1103 1162 11A9;B302;1103 1162 11A9; +B303;B303;1103 1162 11AA;B303;1103 1162 11AA; +B304;B304;1103 1162 11AB;B304;1103 1162 11AB; +B305;B305;1103 1162 11AC;B305;1103 1162 11AC; +B306;B306;1103 1162 11AD;B306;1103 1162 11AD; +B307;B307;1103 1162 11AE;B307;1103 1162 11AE; +B308;B308;1103 1162 11AF;B308;1103 1162 11AF; +B309;B309;1103 1162 11B0;B309;1103 1162 11B0; +B30A;B30A;1103 1162 11B1;B30A;1103 1162 11B1; +B30B;B30B;1103 1162 11B2;B30B;1103 1162 11B2; +B30C;B30C;1103 1162 11B3;B30C;1103 1162 11B3; +B30D;B30D;1103 1162 11B4;B30D;1103 1162 11B4; +B30E;B30E;1103 1162 11B5;B30E;1103 1162 11B5; +B30F;B30F;1103 1162 11B6;B30F;1103 1162 11B6; +B310;B310;1103 1162 11B7;B310;1103 1162 11B7; +B311;B311;1103 1162 11B8;B311;1103 1162 11B8; +B312;B312;1103 1162 11B9;B312;1103 1162 11B9; +B313;B313;1103 1162 11BA;B313;1103 1162 11BA; +B314;B314;1103 1162 11BB;B314;1103 1162 11BB; +B315;B315;1103 1162 11BC;B315;1103 1162 11BC; +B316;B316;1103 1162 11BD;B316;1103 1162 11BD; +B317;B317;1103 1162 11BE;B317;1103 1162 11BE; +B318;B318;1103 1162 11BF;B318;1103 1162 11BF; +B319;B319;1103 1162 11C0;B319;1103 1162 11C0; +B31A;B31A;1103 1162 11C1;B31A;1103 1162 11C1; +B31B;B31B;1103 1162 11C2;B31B;1103 1162 11C2; +B31C;B31C;1103 1163;B31C;1103 1163; +B31D;B31D;1103 1163 11A8;B31D;1103 1163 11A8; +B31E;B31E;1103 1163 11A9;B31E;1103 1163 11A9; +B31F;B31F;1103 1163 11AA;B31F;1103 1163 11AA; +B320;B320;1103 1163 11AB;B320;1103 1163 11AB; +B321;B321;1103 1163 11AC;B321;1103 1163 11AC; +B322;B322;1103 1163 11AD;B322;1103 1163 11AD; +B323;B323;1103 1163 11AE;B323;1103 1163 11AE; +B324;B324;1103 1163 11AF;B324;1103 1163 11AF; +B325;B325;1103 1163 11B0;B325;1103 1163 11B0; +B326;B326;1103 1163 11B1;B326;1103 1163 11B1; +B327;B327;1103 1163 11B2;B327;1103 1163 11B2; +B328;B328;1103 1163 11B3;B328;1103 1163 11B3; +B329;B329;1103 1163 11B4;B329;1103 1163 11B4; +B32A;B32A;1103 1163 11B5;B32A;1103 1163 11B5; +B32B;B32B;1103 1163 11B6;B32B;1103 1163 11B6; +B32C;B32C;1103 1163 11B7;B32C;1103 1163 11B7; +B32D;B32D;1103 1163 11B8;B32D;1103 1163 11B8; +B32E;B32E;1103 1163 11B9;B32E;1103 1163 11B9; +B32F;B32F;1103 1163 11BA;B32F;1103 1163 11BA; +B330;B330;1103 1163 11BB;B330;1103 1163 11BB; +B331;B331;1103 1163 11BC;B331;1103 1163 11BC; +B332;B332;1103 1163 11BD;B332;1103 1163 11BD; +B333;B333;1103 1163 11BE;B333;1103 1163 11BE; +B334;B334;1103 1163 11BF;B334;1103 1163 11BF; +B335;B335;1103 1163 11C0;B335;1103 1163 11C0; +B336;B336;1103 1163 11C1;B336;1103 1163 11C1; +B337;B337;1103 1163 11C2;B337;1103 1163 11C2; +B338;B338;1103 1164;B338;1103 1164; +B339;B339;1103 1164 11A8;B339;1103 1164 11A8; +B33A;B33A;1103 1164 11A9;B33A;1103 1164 11A9; +B33B;B33B;1103 1164 11AA;B33B;1103 1164 11AA; +B33C;B33C;1103 1164 11AB;B33C;1103 1164 11AB; +B33D;B33D;1103 1164 11AC;B33D;1103 1164 11AC; +B33E;B33E;1103 1164 11AD;B33E;1103 1164 11AD; +B33F;B33F;1103 1164 11AE;B33F;1103 1164 11AE; +B340;B340;1103 1164 11AF;B340;1103 1164 11AF; +B341;B341;1103 1164 11B0;B341;1103 1164 11B0; +B342;B342;1103 1164 11B1;B342;1103 1164 11B1; +B343;B343;1103 1164 11B2;B343;1103 1164 11B2; +B344;B344;1103 1164 11B3;B344;1103 1164 11B3; +B345;B345;1103 1164 11B4;B345;1103 1164 11B4; +B346;B346;1103 1164 11B5;B346;1103 1164 11B5; +B347;B347;1103 1164 11B6;B347;1103 1164 11B6; +B348;B348;1103 1164 11B7;B348;1103 1164 11B7; +B349;B349;1103 1164 11B8;B349;1103 1164 11B8; +B34A;B34A;1103 1164 11B9;B34A;1103 1164 11B9; +B34B;B34B;1103 1164 11BA;B34B;1103 1164 11BA; +B34C;B34C;1103 1164 11BB;B34C;1103 1164 11BB; +B34D;B34D;1103 1164 11BC;B34D;1103 1164 11BC; +B34E;B34E;1103 1164 11BD;B34E;1103 1164 11BD; +B34F;B34F;1103 1164 11BE;B34F;1103 1164 11BE; +B350;B350;1103 1164 11BF;B350;1103 1164 11BF; +B351;B351;1103 1164 11C0;B351;1103 1164 11C0; +B352;B352;1103 1164 11C1;B352;1103 1164 11C1; +B353;B353;1103 1164 11C2;B353;1103 1164 11C2; +B354;B354;1103 1165;B354;1103 1165; +B355;B355;1103 1165 11A8;B355;1103 1165 11A8; +B356;B356;1103 1165 11A9;B356;1103 1165 11A9; +B357;B357;1103 1165 11AA;B357;1103 1165 11AA; +B358;B358;1103 1165 11AB;B358;1103 1165 11AB; +B359;B359;1103 1165 11AC;B359;1103 1165 11AC; +B35A;B35A;1103 1165 11AD;B35A;1103 1165 11AD; +B35B;B35B;1103 1165 11AE;B35B;1103 1165 11AE; +B35C;B35C;1103 1165 11AF;B35C;1103 1165 11AF; +B35D;B35D;1103 1165 11B0;B35D;1103 1165 11B0; +B35E;B35E;1103 1165 11B1;B35E;1103 1165 11B1; +B35F;B35F;1103 1165 11B2;B35F;1103 1165 11B2; +B360;B360;1103 1165 11B3;B360;1103 1165 11B3; +B361;B361;1103 1165 11B4;B361;1103 1165 11B4; +B362;B362;1103 1165 11B5;B362;1103 1165 11B5; +B363;B363;1103 1165 11B6;B363;1103 1165 11B6; +B364;B364;1103 1165 11B7;B364;1103 1165 11B7; +B365;B365;1103 1165 11B8;B365;1103 1165 11B8; +B366;B366;1103 1165 11B9;B366;1103 1165 11B9; +B367;B367;1103 1165 11BA;B367;1103 1165 11BA; +B368;B368;1103 1165 11BB;B368;1103 1165 11BB; +B369;B369;1103 1165 11BC;B369;1103 1165 11BC; +B36A;B36A;1103 1165 11BD;B36A;1103 1165 11BD; +B36B;B36B;1103 1165 11BE;B36B;1103 1165 11BE; +B36C;B36C;1103 1165 11BF;B36C;1103 1165 11BF; +B36D;B36D;1103 1165 11C0;B36D;1103 1165 11C0; +B36E;B36E;1103 1165 11C1;B36E;1103 1165 11C1; +B36F;B36F;1103 1165 11C2;B36F;1103 1165 11C2; +B370;B370;1103 1166;B370;1103 1166; +B371;B371;1103 1166 11A8;B371;1103 1166 11A8; +B372;B372;1103 1166 11A9;B372;1103 1166 11A9; +B373;B373;1103 1166 11AA;B373;1103 1166 11AA; +B374;B374;1103 1166 11AB;B374;1103 1166 11AB; +B375;B375;1103 1166 11AC;B375;1103 1166 11AC; +B376;B376;1103 1166 11AD;B376;1103 1166 11AD; +B377;B377;1103 1166 11AE;B377;1103 1166 11AE; +B378;B378;1103 1166 11AF;B378;1103 1166 11AF; +B379;B379;1103 1166 11B0;B379;1103 1166 11B0; +B37A;B37A;1103 1166 11B1;B37A;1103 1166 11B1; +B37B;B37B;1103 1166 11B2;B37B;1103 1166 11B2; +B37C;B37C;1103 1166 11B3;B37C;1103 1166 11B3; +B37D;B37D;1103 1166 11B4;B37D;1103 1166 11B4; +B37E;B37E;1103 1166 11B5;B37E;1103 1166 11B5; +B37F;B37F;1103 1166 11B6;B37F;1103 1166 11B6; +B380;B380;1103 1166 11B7;B380;1103 1166 11B7; +B381;B381;1103 1166 11B8;B381;1103 1166 11B8; +B382;B382;1103 1166 11B9;B382;1103 1166 11B9; +B383;B383;1103 1166 11BA;B383;1103 1166 11BA; +B384;B384;1103 1166 11BB;B384;1103 1166 11BB; +B385;B385;1103 1166 11BC;B385;1103 1166 11BC; +B386;B386;1103 1166 11BD;B386;1103 1166 11BD; +B387;B387;1103 1166 11BE;B387;1103 1166 11BE; +B388;B388;1103 1166 11BF;B388;1103 1166 11BF; +B389;B389;1103 1166 11C0;B389;1103 1166 11C0; +B38A;B38A;1103 1166 11C1;B38A;1103 1166 11C1; +B38B;B38B;1103 1166 11C2;B38B;1103 1166 11C2; +B38C;B38C;1103 1167;B38C;1103 1167; +B38D;B38D;1103 1167 11A8;B38D;1103 1167 11A8; +B38E;B38E;1103 1167 11A9;B38E;1103 1167 11A9; +B38F;B38F;1103 1167 11AA;B38F;1103 1167 11AA; +B390;B390;1103 1167 11AB;B390;1103 1167 11AB; +B391;B391;1103 1167 11AC;B391;1103 1167 11AC; +B392;B392;1103 1167 11AD;B392;1103 1167 11AD; +B393;B393;1103 1167 11AE;B393;1103 1167 11AE; +B394;B394;1103 1167 11AF;B394;1103 1167 11AF; +B395;B395;1103 1167 11B0;B395;1103 1167 11B0; +B396;B396;1103 1167 11B1;B396;1103 1167 11B1; +B397;B397;1103 1167 11B2;B397;1103 1167 11B2; +B398;B398;1103 1167 11B3;B398;1103 1167 11B3; +B399;B399;1103 1167 11B4;B399;1103 1167 11B4; +B39A;B39A;1103 1167 11B5;B39A;1103 1167 11B5; +B39B;B39B;1103 1167 11B6;B39B;1103 1167 11B6; +B39C;B39C;1103 1167 11B7;B39C;1103 1167 11B7; +B39D;B39D;1103 1167 11B8;B39D;1103 1167 11B8; +B39E;B39E;1103 1167 11B9;B39E;1103 1167 11B9; +B39F;B39F;1103 1167 11BA;B39F;1103 1167 11BA; +B3A0;B3A0;1103 1167 11BB;B3A0;1103 1167 11BB; +B3A1;B3A1;1103 1167 11BC;B3A1;1103 1167 11BC; +B3A2;B3A2;1103 1167 11BD;B3A2;1103 1167 11BD; +B3A3;B3A3;1103 1167 11BE;B3A3;1103 1167 11BE; +B3A4;B3A4;1103 1167 11BF;B3A4;1103 1167 11BF; +B3A5;B3A5;1103 1167 11C0;B3A5;1103 1167 11C0; +B3A6;B3A6;1103 1167 11C1;B3A6;1103 1167 11C1; +B3A7;B3A7;1103 1167 11C2;B3A7;1103 1167 11C2; +B3A8;B3A8;1103 1168;B3A8;1103 1168; +B3A9;B3A9;1103 1168 11A8;B3A9;1103 1168 11A8; +B3AA;B3AA;1103 1168 11A9;B3AA;1103 1168 11A9; +B3AB;B3AB;1103 1168 11AA;B3AB;1103 1168 11AA; +B3AC;B3AC;1103 1168 11AB;B3AC;1103 1168 11AB; +B3AD;B3AD;1103 1168 11AC;B3AD;1103 1168 11AC; +B3AE;B3AE;1103 1168 11AD;B3AE;1103 1168 11AD; +B3AF;B3AF;1103 1168 11AE;B3AF;1103 1168 11AE; +B3B0;B3B0;1103 1168 11AF;B3B0;1103 1168 11AF; +B3B1;B3B1;1103 1168 11B0;B3B1;1103 1168 11B0; +B3B2;B3B2;1103 1168 11B1;B3B2;1103 1168 11B1; +B3B3;B3B3;1103 1168 11B2;B3B3;1103 1168 11B2; +B3B4;B3B4;1103 1168 11B3;B3B4;1103 1168 11B3; +B3B5;B3B5;1103 1168 11B4;B3B5;1103 1168 11B4; +B3B6;B3B6;1103 1168 11B5;B3B6;1103 1168 11B5; +B3B7;B3B7;1103 1168 11B6;B3B7;1103 1168 11B6; +B3B8;B3B8;1103 1168 11B7;B3B8;1103 1168 11B7; +B3B9;B3B9;1103 1168 11B8;B3B9;1103 1168 11B8; +B3BA;B3BA;1103 1168 11B9;B3BA;1103 1168 11B9; +B3BB;B3BB;1103 1168 11BA;B3BB;1103 1168 11BA; +B3BC;B3BC;1103 1168 11BB;B3BC;1103 1168 11BB; +B3BD;B3BD;1103 1168 11BC;B3BD;1103 1168 11BC; +B3BE;B3BE;1103 1168 11BD;B3BE;1103 1168 11BD; +B3BF;B3BF;1103 1168 11BE;B3BF;1103 1168 11BE; +B3C0;B3C0;1103 1168 11BF;B3C0;1103 1168 11BF; +B3C1;B3C1;1103 1168 11C0;B3C1;1103 1168 11C0; +B3C2;B3C2;1103 1168 11C1;B3C2;1103 1168 11C1; +B3C3;B3C3;1103 1168 11C2;B3C3;1103 1168 11C2; +B3C4;B3C4;1103 1169;B3C4;1103 1169; +B3C5;B3C5;1103 1169 11A8;B3C5;1103 1169 11A8; +B3C6;B3C6;1103 1169 11A9;B3C6;1103 1169 11A9; +B3C7;B3C7;1103 1169 11AA;B3C7;1103 1169 11AA; +B3C8;B3C8;1103 1169 11AB;B3C8;1103 1169 11AB; +B3C9;B3C9;1103 1169 11AC;B3C9;1103 1169 11AC; +B3CA;B3CA;1103 1169 11AD;B3CA;1103 1169 11AD; +B3CB;B3CB;1103 1169 11AE;B3CB;1103 1169 11AE; +B3CC;B3CC;1103 1169 11AF;B3CC;1103 1169 11AF; +B3CD;B3CD;1103 1169 11B0;B3CD;1103 1169 11B0; +B3CE;B3CE;1103 1169 11B1;B3CE;1103 1169 11B1; +B3CF;B3CF;1103 1169 11B2;B3CF;1103 1169 11B2; +B3D0;B3D0;1103 1169 11B3;B3D0;1103 1169 11B3; +B3D1;B3D1;1103 1169 11B4;B3D1;1103 1169 11B4; +B3D2;B3D2;1103 1169 11B5;B3D2;1103 1169 11B5; +B3D3;B3D3;1103 1169 11B6;B3D3;1103 1169 11B6; +B3D4;B3D4;1103 1169 11B7;B3D4;1103 1169 11B7; +B3D5;B3D5;1103 1169 11B8;B3D5;1103 1169 11B8; +B3D6;B3D6;1103 1169 11B9;B3D6;1103 1169 11B9; +B3D7;B3D7;1103 1169 11BA;B3D7;1103 1169 11BA; +B3D8;B3D8;1103 1169 11BB;B3D8;1103 1169 11BB; +B3D9;B3D9;1103 1169 11BC;B3D9;1103 1169 11BC; +B3DA;B3DA;1103 1169 11BD;B3DA;1103 1169 11BD; +B3DB;B3DB;1103 1169 11BE;B3DB;1103 1169 11BE; +B3DC;B3DC;1103 1169 11BF;B3DC;1103 1169 11BF; +B3DD;B3DD;1103 1169 11C0;B3DD;1103 1169 11C0; +B3DE;B3DE;1103 1169 11C1;B3DE;1103 1169 11C1; +B3DF;B3DF;1103 1169 11C2;B3DF;1103 1169 11C2; +B3E0;B3E0;1103 116A;B3E0;1103 116A; +B3E1;B3E1;1103 116A 11A8;B3E1;1103 116A 11A8; +B3E2;B3E2;1103 116A 11A9;B3E2;1103 116A 11A9; +B3E3;B3E3;1103 116A 11AA;B3E3;1103 116A 11AA; +B3E4;B3E4;1103 116A 11AB;B3E4;1103 116A 11AB; +B3E5;B3E5;1103 116A 11AC;B3E5;1103 116A 11AC; +B3E6;B3E6;1103 116A 11AD;B3E6;1103 116A 11AD; +B3E7;B3E7;1103 116A 11AE;B3E7;1103 116A 11AE; +B3E8;B3E8;1103 116A 11AF;B3E8;1103 116A 11AF; +B3E9;B3E9;1103 116A 11B0;B3E9;1103 116A 11B0; +B3EA;B3EA;1103 116A 11B1;B3EA;1103 116A 11B1; +B3EB;B3EB;1103 116A 11B2;B3EB;1103 116A 11B2; +B3EC;B3EC;1103 116A 11B3;B3EC;1103 116A 11B3; +B3ED;B3ED;1103 116A 11B4;B3ED;1103 116A 11B4; +B3EE;B3EE;1103 116A 11B5;B3EE;1103 116A 11B5; +B3EF;B3EF;1103 116A 11B6;B3EF;1103 116A 11B6; +B3F0;B3F0;1103 116A 11B7;B3F0;1103 116A 11B7; +B3F1;B3F1;1103 116A 11B8;B3F1;1103 116A 11B8; +B3F2;B3F2;1103 116A 11B9;B3F2;1103 116A 11B9; +B3F3;B3F3;1103 116A 11BA;B3F3;1103 116A 11BA; +B3F4;B3F4;1103 116A 11BB;B3F4;1103 116A 11BB; +B3F5;B3F5;1103 116A 11BC;B3F5;1103 116A 11BC; +B3F6;B3F6;1103 116A 11BD;B3F6;1103 116A 11BD; +B3F7;B3F7;1103 116A 11BE;B3F7;1103 116A 11BE; +B3F8;B3F8;1103 116A 11BF;B3F8;1103 116A 11BF; +B3F9;B3F9;1103 116A 11C0;B3F9;1103 116A 11C0; +B3FA;B3FA;1103 116A 11C1;B3FA;1103 116A 11C1; +B3FB;B3FB;1103 116A 11C2;B3FB;1103 116A 11C2; +B3FC;B3FC;1103 116B;B3FC;1103 116B; +B3FD;B3FD;1103 116B 11A8;B3FD;1103 116B 11A8; +B3FE;B3FE;1103 116B 11A9;B3FE;1103 116B 11A9; +B3FF;B3FF;1103 116B 11AA;B3FF;1103 116B 11AA; +B400;B400;1103 116B 11AB;B400;1103 116B 11AB; +B401;B401;1103 116B 11AC;B401;1103 116B 11AC; +B402;B402;1103 116B 11AD;B402;1103 116B 11AD; +B403;B403;1103 116B 11AE;B403;1103 116B 11AE; +B404;B404;1103 116B 11AF;B404;1103 116B 11AF; +B405;B405;1103 116B 11B0;B405;1103 116B 11B0; +B406;B406;1103 116B 11B1;B406;1103 116B 11B1; +B407;B407;1103 116B 11B2;B407;1103 116B 11B2; +B408;B408;1103 116B 11B3;B408;1103 116B 11B3; +B409;B409;1103 116B 11B4;B409;1103 116B 11B4; +B40A;B40A;1103 116B 11B5;B40A;1103 116B 11B5; +B40B;B40B;1103 116B 11B6;B40B;1103 116B 11B6; +B40C;B40C;1103 116B 11B7;B40C;1103 116B 11B7; +B40D;B40D;1103 116B 11B8;B40D;1103 116B 11B8; +B40E;B40E;1103 116B 11B9;B40E;1103 116B 11B9; +B40F;B40F;1103 116B 11BA;B40F;1103 116B 11BA; +B410;B410;1103 116B 11BB;B410;1103 116B 11BB; +B411;B411;1103 116B 11BC;B411;1103 116B 11BC; +B412;B412;1103 116B 11BD;B412;1103 116B 11BD; +B413;B413;1103 116B 11BE;B413;1103 116B 11BE; +B414;B414;1103 116B 11BF;B414;1103 116B 11BF; +B415;B415;1103 116B 11C0;B415;1103 116B 11C0; +B416;B416;1103 116B 11C1;B416;1103 116B 11C1; +B417;B417;1103 116B 11C2;B417;1103 116B 11C2; +B418;B418;1103 116C;B418;1103 116C; +B419;B419;1103 116C 11A8;B419;1103 116C 11A8; +B41A;B41A;1103 116C 11A9;B41A;1103 116C 11A9; +B41B;B41B;1103 116C 11AA;B41B;1103 116C 11AA; +B41C;B41C;1103 116C 11AB;B41C;1103 116C 11AB; +B41D;B41D;1103 116C 11AC;B41D;1103 116C 11AC; +B41E;B41E;1103 116C 11AD;B41E;1103 116C 11AD; +B41F;B41F;1103 116C 11AE;B41F;1103 116C 11AE; +B420;B420;1103 116C 11AF;B420;1103 116C 11AF; +B421;B421;1103 116C 11B0;B421;1103 116C 11B0; +B422;B422;1103 116C 11B1;B422;1103 116C 11B1; +B423;B423;1103 116C 11B2;B423;1103 116C 11B2; +B424;B424;1103 116C 11B3;B424;1103 116C 11B3; +B425;B425;1103 116C 11B4;B425;1103 116C 11B4; +B426;B426;1103 116C 11B5;B426;1103 116C 11B5; +B427;B427;1103 116C 11B6;B427;1103 116C 11B6; +B428;B428;1103 116C 11B7;B428;1103 116C 11B7; +B429;B429;1103 116C 11B8;B429;1103 116C 11B8; +B42A;B42A;1103 116C 11B9;B42A;1103 116C 11B9; +B42B;B42B;1103 116C 11BA;B42B;1103 116C 11BA; +B42C;B42C;1103 116C 11BB;B42C;1103 116C 11BB; +B42D;B42D;1103 116C 11BC;B42D;1103 116C 11BC; +B42E;B42E;1103 116C 11BD;B42E;1103 116C 11BD; +B42F;B42F;1103 116C 11BE;B42F;1103 116C 11BE; +B430;B430;1103 116C 11BF;B430;1103 116C 11BF; +B431;B431;1103 116C 11C0;B431;1103 116C 11C0; +B432;B432;1103 116C 11C1;B432;1103 116C 11C1; +B433;B433;1103 116C 11C2;B433;1103 116C 11C2; +B434;B434;1103 116D;B434;1103 116D; +B435;B435;1103 116D 11A8;B435;1103 116D 11A8; +B436;B436;1103 116D 11A9;B436;1103 116D 11A9; +B437;B437;1103 116D 11AA;B437;1103 116D 11AA; +B438;B438;1103 116D 11AB;B438;1103 116D 11AB; +B439;B439;1103 116D 11AC;B439;1103 116D 11AC; +B43A;B43A;1103 116D 11AD;B43A;1103 116D 11AD; +B43B;B43B;1103 116D 11AE;B43B;1103 116D 11AE; +B43C;B43C;1103 116D 11AF;B43C;1103 116D 11AF; +B43D;B43D;1103 116D 11B0;B43D;1103 116D 11B0; +B43E;B43E;1103 116D 11B1;B43E;1103 116D 11B1; +B43F;B43F;1103 116D 11B2;B43F;1103 116D 11B2; +B440;B440;1103 116D 11B3;B440;1103 116D 11B3; +B441;B441;1103 116D 11B4;B441;1103 116D 11B4; +B442;B442;1103 116D 11B5;B442;1103 116D 11B5; +B443;B443;1103 116D 11B6;B443;1103 116D 11B6; +B444;B444;1103 116D 11B7;B444;1103 116D 11B7; +B445;B445;1103 116D 11B8;B445;1103 116D 11B8; +B446;B446;1103 116D 11B9;B446;1103 116D 11B9; +B447;B447;1103 116D 11BA;B447;1103 116D 11BA; +B448;B448;1103 116D 11BB;B448;1103 116D 11BB; +B449;B449;1103 116D 11BC;B449;1103 116D 11BC; +B44A;B44A;1103 116D 11BD;B44A;1103 116D 11BD; +B44B;B44B;1103 116D 11BE;B44B;1103 116D 11BE; +B44C;B44C;1103 116D 11BF;B44C;1103 116D 11BF; +B44D;B44D;1103 116D 11C0;B44D;1103 116D 11C0; +B44E;B44E;1103 116D 11C1;B44E;1103 116D 11C1; +B44F;B44F;1103 116D 11C2;B44F;1103 116D 11C2; +B450;B450;1103 116E;B450;1103 116E; +B451;B451;1103 116E 11A8;B451;1103 116E 11A8; +B452;B452;1103 116E 11A9;B452;1103 116E 11A9; +B453;B453;1103 116E 11AA;B453;1103 116E 11AA; +B454;B454;1103 116E 11AB;B454;1103 116E 11AB; +B455;B455;1103 116E 11AC;B455;1103 116E 11AC; +B456;B456;1103 116E 11AD;B456;1103 116E 11AD; +B457;B457;1103 116E 11AE;B457;1103 116E 11AE; +B458;B458;1103 116E 11AF;B458;1103 116E 11AF; +B459;B459;1103 116E 11B0;B459;1103 116E 11B0; +B45A;B45A;1103 116E 11B1;B45A;1103 116E 11B1; +B45B;B45B;1103 116E 11B2;B45B;1103 116E 11B2; +B45C;B45C;1103 116E 11B3;B45C;1103 116E 11B3; +B45D;B45D;1103 116E 11B4;B45D;1103 116E 11B4; +B45E;B45E;1103 116E 11B5;B45E;1103 116E 11B5; +B45F;B45F;1103 116E 11B6;B45F;1103 116E 11B6; +B460;B460;1103 116E 11B7;B460;1103 116E 11B7; +B461;B461;1103 116E 11B8;B461;1103 116E 11B8; +B462;B462;1103 116E 11B9;B462;1103 116E 11B9; +B463;B463;1103 116E 11BA;B463;1103 116E 11BA; +B464;B464;1103 116E 11BB;B464;1103 116E 11BB; +B465;B465;1103 116E 11BC;B465;1103 116E 11BC; +B466;B466;1103 116E 11BD;B466;1103 116E 11BD; +B467;B467;1103 116E 11BE;B467;1103 116E 11BE; +B468;B468;1103 116E 11BF;B468;1103 116E 11BF; +B469;B469;1103 116E 11C0;B469;1103 116E 11C0; +B46A;B46A;1103 116E 11C1;B46A;1103 116E 11C1; +B46B;B46B;1103 116E 11C2;B46B;1103 116E 11C2; +B46C;B46C;1103 116F;B46C;1103 116F; +B46D;B46D;1103 116F 11A8;B46D;1103 116F 11A8; +B46E;B46E;1103 116F 11A9;B46E;1103 116F 11A9; +B46F;B46F;1103 116F 11AA;B46F;1103 116F 11AA; +B470;B470;1103 116F 11AB;B470;1103 116F 11AB; +B471;B471;1103 116F 11AC;B471;1103 116F 11AC; +B472;B472;1103 116F 11AD;B472;1103 116F 11AD; +B473;B473;1103 116F 11AE;B473;1103 116F 11AE; +B474;B474;1103 116F 11AF;B474;1103 116F 11AF; +B475;B475;1103 116F 11B0;B475;1103 116F 11B0; +B476;B476;1103 116F 11B1;B476;1103 116F 11B1; +B477;B477;1103 116F 11B2;B477;1103 116F 11B2; +B478;B478;1103 116F 11B3;B478;1103 116F 11B3; +B479;B479;1103 116F 11B4;B479;1103 116F 11B4; +B47A;B47A;1103 116F 11B5;B47A;1103 116F 11B5; +B47B;B47B;1103 116F 11B6;B47B;1103 116F 11B6; +B47C;B47C;1103 116F 11B7;B47C;1103 116F 11B7; +B47D;B47D;1103 116F 11B8;B47D;1103 116F 11B8; +B47E;B47E;1103 116F 11B9;B47E;1103 116F 11B9; +B47F;B47F;1103 116F 11BA;B47F;1103 116F 11BA; +B480;B480;1103 116F 11BB;B480;1103 116F 11BB; +B481;B481;1103 116F 11BC;B481;1103 116F 11BC; +B482;B482;1103 116F 11BD;B482;1103 116F 11BD; +B483;B483;1103 116F 11BE;B483;1103 116F 11BE; +B484;B484;1103 116F 11BF;B484;1103 116F 11BF; +B485;B485;1103 116F 11C0;B485;1103 116F 11C0; +B486;B486;1103 116F 11C1;B486;1103 116F 11C1; +B487;B487;1103 116F 11C2;B487;1103 116F 11C2; +B488;B488;1103 1170;B488;1103 1170; +B489;B489;1103 1170 11A8;B489;1103 1170 11A8; +B48A;B48A;1103 1170 11A9;B48A;1103 1170 11A9; +B48B;B48B;1103 1170 11AA;B48B;1103 1170 11AA; +B48C;B48C;1103 1170 11AB;B48C;1103 1170 11AB; +B48D;B48D;1103 1170 11AC;B48D;1103 1170 11AC; +B48E;B48E;1103 1170 11AD;B48E;1103 1170 11AD; +B48F;B48F;1103 1170 11AE;B48F;1103 1170 11AE; +B490;B490;1103 1170 11AF;B490;1103 1170 11AF; +B491;B491;1103 1170 11B0;B491;1103 1170 11B0; +B492;B492;1103 1170 11B1;B492;1103 1170 11B1; +B493;B493;1103 1170 11B2;B493;1103 1170 11B2; +B494;B494;1103 1170 11B3;B494;1103 1170 11B3; +B495;B495;1103 1170 11B4;B495;1103 1170 11B4; +B496;B496;1103 1170 11B5;B496;1103 1170 11B5; +B497;B497;1103 1170 11B6;B497;1103 1170 11B6; +B498;B498;1103 1170 11B7;B498;1103 1170 11B7; +B499;B499;1103 1170 11B8;B499;1103 1170 11B8; +B49A;B49A;1103 1170 11B9;B49A;1103 1170 11B9; +B49B;B49B;1103 1170 11BA;B49B;1103 1170 11BA; +B49C;B49C;1103 1170 11BB;B49C;1103 1170 11BB; +B49D;B49D;1103 1170 11BC;B49D;1103 1170 11BC; +B49E;B49E;1103 1170 11BD;B49E;1103 1170 11BD; +B49F;B49F;1103 1170 11BE;B49F;1103 1170 11BE; +B4A0;B4A0;1103 1170 11BF;B4A0;1103 1170 11BF; +B4A1;B4A1;1103 1170 11C0;B4A1;1103 1170 11C0; +B4A2;B4A2;1103 1170 11C1;B4A2;1103 1170 11C1; +B4A3;B4A3;1103 1170 11C2;B4A3;1103 1170 11C2; +B4A4;B4A4;1103 1171;B4A4;1103 1171; +B4A5;B4A5;1103 1171 11A8;B4A5;1103 1171 11A8; +B4A6;B4A6;1103 1171 11A9;B4A6;1103 1171 11A9; +B4A7;B4A7;1103 1171 11AA;B4A7;1103 1171 11AA; +B4A8;B4A8;1103 1171 11AB;B4A8;1103 1171 11AB; +B4A9;B4A9;1103 1171 11AC;B4A9;1103 1171 11AC; +B4AA;B4AA;1103 1171 11AD;B4AA;1103 1171 11AD; +B4AB;B4AB;1103 1171 11AE;B4AB;1103 1171 11AE; +B4AC;B4AC;1103 1171 11AF;B4AC;1103 1171 11AF; +B4AD;B4AD;1103 1171 11B0;B4AD;1103 1171 11B0; +B4AE;B4AE;1103 1171 11B1;B4AE;1103 1171 11B1; +B4AF;B4AF;1103 1171 11B2;B4AF;1103 1171 11B2; +B4B0;B4B0;1103 1171 11B3;B4B0;1103 1171 11B3; +B4B1;B4B1;1103 1171 11B4;B4B1;1103 1171 11B4; +B4B2;B4B2;1103 1171 11B5;B4B2;1103 1171 11B5; +B4B3;B4B3;1103 1171 11B6;B4B3;1103 1171 11B6; +B4B4;B4B4;1103 1171 11B7;B4B4;1103 1171 11B7; +B4B5;B4B5;1103 1171 11B8;B4B5;1103 1171 11B8; +B4B6;B4B6;1103 1171 11B9;B4B6;1103 1171 11B9; +B4B7;B4B7;1103 1171 11BA;B4B7;1103 1171 11BA; +B4B8;B4B8;1103 1171 11BB;B4B8;1103 1171 11BB; +B4B9;B4B9;1103 1171 11BC;B4B9;1103 1171 11BC; +B4BA;B4BA;1103 1171 11BD;B4BA;1103 1171 11BD; +B4BB;B4BB;1103 1171 11BE;B4BB;1103 1171 11BE; +B4BC;B4BC;1103 1171 11BF;B4BC;1103 1171 11BF; +B4BD;B4BD;1103 1171 11C0;B4BD;1103 1171 11C0; +B4BE;B4BE;1103 1171 11C1;B4BE;1103 1171 11C1; +B4BF;B4BF;1103 1171 11C2;B4BF;1103 1171 11C2; +B4C0;B4C0;1103 1172;B4C0;1103 1172; +B4C1;B4C1;1103 1172 11A8;B4C1;1103 1172 11A8; +B4C2;B4C2;1103 1172 11A9;B4C2;1103 1172 11A9; +B4C3;B4C3;1103 1172 11AA;B4C3;1103 1172 11AA; +B4C4;B4C4;1103 1172 11AB;B4C4;1103 1172 11AB; +B4C5;B4C5;1103 1172 11AC;B4C5;1103 1172 11AC; +B4C6;B4C6;1103 1172 11AD;B4C6;1103 1172 11AD; +B4C7;B4C7;1103 1172 11AE;B4C7;1103 1172 11AE; +B4C8;B4C8;1103 1172 11AF;B4C8;1103 1172 11AF; +B4C9;B4C9;1103 1172 11B0;B4C9;1103 1172 11B0; +B4CA;B4CA;1103 1172 11B1;B4CA;1103 1172 11B1; +B4CB;B4CB;1103 1172 11B2;B4CB;1103 1172 11B2; +B4CC;B4CC;1103 1172 11B3;B4CC;1103 1172 11B3; +B4CD;B4CD;1103 1172 11B4;B4CD;1103 1172 11B4; +B4CE;B4CE;1103 1172 11B5;B4CE;1103 1172 11B5; +B4CF;B4CF;1103 1172 11B6;B4CF;1103 1172 11B6; +B4D0;B4D0;1103 1172 11B7;B4D0;1103 1172 11B7; +B4D1;B4D1;1103 1172 11B8;B4D1;1103 1172 11B8; +B4D2;B4D2;1103 1172 11B9;B4D2;1103 1172 11B9; +B4D3;B4D3;1103 1172 11BA;B4D3;1103 1172 11BA; +B4D4;B4D4;1103 1172 11BB;B4D4;1103 1172 11BB; +B4D5;B4D5;1103 1172 11BC;B4D5;1103 1172 11BC; +B4D6;B4D6;1103 1172 11BD;B4D6;1103 1172 11BD; +B4D7;B4D7;1103 1172 11BE;B4D7;1103 1172 11BE; +B4D8;B4D8;1103 1172 11BF;B4D8;1103 1172 11BF; +B4D9;B4D9;1103 1172 11C0;B4D9;1103 1172 11C0; +B4DA;B4DA;1103 1172 11C1;B4DA;1103 1172 11C1; +B4DB;B4DB;1103 1172 11C2;B4DB;1103 1172 11C2; +B4DC;B4DC;1103 1173;B4DC;1103 1173; +B4DD;B4DD;1103 1173 11A8;B4DD;1103 1173 11A8; +B4DE;B4DE;1103 1173 11A9;B4DE;1103 1173 11A9; +B4DF;B4DF;1103 1173 11AA;B4DF;1103 1173 11AA; +B4E0;B4E0;1103 1173 11AB;B4E0;1103 1173 11AB; +B4E1;B4E1;1103 1173 11AC;B4E1;1103 1173 11AC; +B4E2;B4E2;1103 1173 11AD;B4E2;1103 1173 11AD; +B4E3;B4E3;1103 1173 11AE;B4E3;1103 1173 11AE; +B4E4;B4E4;1103 1173 11AF;B4E4;1103 1173 11AF; +B4E5;B4E5;1103 1173 11B0;B4E5;1103 1173 11B0; +B4E6;B4E6;1103 1173 11B1;B4E6;1103 1173 11B1; +B4E7;B4E7;1103 1173 11B2;B4E7;1103 1173 11B2; +B4E8;B4E8;1103 1173 11B3;B4E8;1103 1173 11B3; +B4E9;B4E9;1103 1173 11B4;B4E9;1103 1173 11B4; +B4EA;B4EA;1103 1173 11B5;B4EA;1103 1173 11B5; +B4EB;B4EB;1103 1173 11B6;B4EB;1103 1173 11B6; +B4EC;B4EC;1103 1173 11B7;B4EC;1103 1173 11B7; +B4ED;B4ED;1103 1173 11B8;B4ED;1103 1173 11B8; +B4EE;B4EE;1103 1173 11B9;B4EE;1103 1173 11B9; +B4EF;B4EF;1103 1173 11BA;B4EF;1103 1173 11BA; +B4F0;B4F0;1103 1173 11BB;B4F0;1103 1173 11BB; +B4F1;B4F1;1103 1173 11BC;B4F1;1103 1173 11BC; +B4F2;B4F2;1103 1173 11BD;B4F2;1103 1173 11BD; +B4F3;B4F3;1103 1173 11BE;B4F3;1103 1173 11BE; +B4F4;B4F4;1103 1173 11BF;B4F4;1103 1173 11BF; +B4F5;B4F5;1103 1173 11C0;B4F5;1103 1173 11C0; +B4F6;B4F6;1103 1173 11C1;B4F6;1103 1173 11C1; +B4F7;B4F7;1103 1173 11C2;B4F7;1103 1173 11C2; +B4F8;B4F8;1103 1174;B4F8;1103 1174; +B4F9;B4F9;1103 1174 11A8;B4F9;1103 1174 11A8; +B4FA;B4FA;1103 1174 11A9;B4FA;1103 1174 11A9; +B4FB;B4FB;1103 1174 11AA;B4FB;1103 1174 11AA; +B4FC;B4FC;1103 1174 11AB;B4FC;1103 1174 11AB; +B4FD;B4FD;1103 1174 11AC;B4FD;1103 1174 11AC; +B4FE;B4FE;1103 1174 11AD;B4FE;1103 1174 11AD; +B4FF;B4FF;1103 1174 11AE;B4FF;1103 1174 11AE; +B500;B500;1103 1174 11AF;B500;1103 1174 11AF; +B501;B501;1103 1174 11B0;B501;1103 1174 11B0; +B502;B502;1103 1174 11B1;B502;1103 1174 11B1; +B503;B503;1103 1174 11B2;B503;1103 1174 11B2; +B504;B504;1103 1174 11B3;B504;1103 1174 11B3; +B505;B505;1103 1174 11B4;B505;1103 1174 11B4; +B506;B506;1103 1174 11B5;B506;1103 1174 11B5; +B507;B507;1103 1174 11B6;B507;1103 1174 11B6; +B508;B508;1103 1174 11B7;B508;1103 1174 11B7; +B509;B509;1103 1174 11B8;B509;1103 1174 11B8; +B50A;B50A;1103 1174 11B9;B50A;1103 1174 11B9; +B50B;B50B;1103 1174 11BA;B50B;1103 1174 11BA; +B50C;B50C;1103 1174 11BB;B50C;1103 1174 11BB; +B50D;B50D;1103 1174 11BC;B50D;1103 1174 11BC; +B50E;B50E;1103 1174 11BD;B50E;1103 1174 11BD; +B50F;B50F;1103 1174 11BE;B50F;1103 1174 11BE; +B510;B510;1103 1174 11BF;B510;1103 1174 11BF; +B511;B511;1103 1174 11C0;B511;1103 1174 11C0; +B512;B512;1103 1174 11C1;B512;1103 1174 11C1; +B513;B513;1103 1174 11C2;B513;1103 1174 11C2; +B514;B514;1103 1175;B514;1103 1175; +B515;B515;1103 1175 11A8;B515;1103 1175 11A8; +B516;B516;1103 1175 11A9;B516;1103 1175 11A9; +B517;B517;1103 1175 11AA;B517;1103 1175 11AA; +B518;B518;1103 1175 11AB;B518;1103 1175 11AB; +B519;B519;1103 1175 11AC;B519;1103 1175 11AC; +B51A;B51A;1103 1175 11AD;B51A;1103 1175 11AD; +B51B;B51B;1103 1175 11AE;B51B;1103 1175 11AE; +B51C;B51C;1103 1175 11AF;B51C;1103 1175 11AF; +B51D;B51D;1103 1175 11B0;B51D;1103 1175 11B0; +B51E;B51E;1103 1175 11B1;B51E;1103 1175 11B1; +B51F;B51F;1103 1175 11B2;B51F;1103 1175 11B2; +B520;B520;1103 1175 11B3;B520;1103 1175 11B3; +B521;B521;1103 1175 11B4;B521;1103 1175 11B4; +B522;B522;1103 1175 11B5;B522;1103 1175 11B5; +B523;B523;1103 1175 11B6;B523;1103 1175 11B6; +B524;B524;1103 1175 11B7;B524;1103 1175 11B7; +B525;B525;1103 1175 11B8;B525;1103 1175 11B8; +B526;B526;1103 1175 11B9;B526;1103 1175 11B9; +B527;B527;1103 1175 11BA;B527;1103 1175 11BA; +B528;B528;1103 1175 11BB;B528;1103 1175 11BB; +B529;B529;1103 1175 11BC;B529;1103 1175 11BC; +B52A;B52A;1103 1175 11BD;B52A;1103 1175 11BD; +B52B;B52B;1103 1175 11BE;B52B;1103 1175 11BE; +B52C;B52C;1103 1175 11BF;B52C;1103 1175 11BF; +B52D;B52D;1103 1175 11C0;B52D;1103 1175 11C0; +B52E;B52E;1103 1175 11C1;B52E;1103 1175 11C1; +B52F;B52F;1103 1175 11C2;B52F;1103 1175 11C2; +B530;B530;1104 1161;B530;1104 1161; +B531;B531;1104 1161 11A8;B531;1104 1161 11A8; +B532;B532;1104 1161 11A9;B532;1104 1161 11A9; +B533;B533;1104 1161 11AA;B533;1104 1161 11AA; +B534;B534;1104 1161 11AB;B534;1104 1161 11AB; +B535;B535;1104 1161 11AC;B535;1104 1161 11AC; +B536;B536;1104 1161 11AD;B536;1104 1161 11AD; +B537;B537;1104 1161 11AE;B537;1104 1161 11AE; +B538;B538;1104 1161 11AF;B538;1104 1161 11AF; +B539;B539;1104 1161 11B0;B539;1104 1161 11B0; +B53A;B53A;1104 1161 11B1;B53A;1104 1161 11B1; +B53B;B53B;1104 1161 11B2;B53B;1104 1161 11B2; +B53C;B53C;1104 1161 11B3;B53C;1104 1161 11B3; +B53D;B53D;1104 1161 11B4;B53D;1104 1161 11B4; +B53E;B53E;1104 1161 11B5;B53E;1104 1161 11B5; +B53F;B53F;1104 1161 11B6;B53F;1104 1161 11B6; +B540;B540;1104 1161 11B7;B540;1104 1161 11B7; +B541;B541;1104 1161 11B8;B541;1104 1161 11B8; +B542;B542;1104 1161 11B9;B542;1104 1161 11B9; +B543;B543;1104 1161 11BA;B543;1104 1161 11BA; +B544;B544;1104 1161 11BB;B544;1104 1161 11BB; +B545;B545;1104 1161 11BC;B545;1104 1161 11BC; +B546;B546;1104 1161 11BD;B546;1104 1161 11BD; +B547;B547;1104 1161 11BE;B547;1104 1161 11BE; +B548;B548;1104 1161 11BF;B548;1104 1161 11BF; +B549;B549;1104 1161 11C0;B549;1104 1161 11C0; +B54A;B54A;1104 1161 11C1;B54A;1104 1161 11C1; +B54B;B54B;1104 1161 11C2;B54B;1104 1161 11C2; +B54C;B54C;1104 1162;B54C;1104 1162; +B54D;B54D;1104 1162 11A8;B54D;1104 1162 11A8; +B54E;B54E;1104 1162 11A9;B54E;1104 1162 11A9; +B54F;B54F;1104 1162 11AA;B54F;1104 1162 11AA; +B550;B550;1104 1162 11AB;B550;1104 1162 11AB; +B551;B551;1104 1162 11AC;B551;1104 1162 11AC; +B552;B552;1104 1162 11AD;B552;1104 1162 11AD; +B553;B553;1104 1162 11AE;B553;1104 1162 11AE; +B554;B554;1104 1162 11AF;B554;1104 1162 11AF; +B555;B555;1104 1162 11B0;B555;1104 1162 11B0; +B556;B556;1104 1162 11B1;B556;1104 1162 11B1; +B557;B557;1104 1162 11B2;B557;1104 1162 11B2; +B558;B558;1104 1162 11B3;B558;1104 1162 11B3; +B559;B559;1104 1162 11B4;B559;1104 1162 11B4; +B55A;B55A;1104 1162 11B5;B55A;1104 1162 11B5; +B55B;B55B;1104 1162 11B6;B55B;1104 1162 11B6; +B55C;B55C;1104 1162 11B7;B55C;1104 1162 11B7; +B55D;B55D;1104 1162 11B8;B55D;1104 1162 11B8; +B55E;B55E;1104 1162 11B9;B55E;1104 1162 11B9; +B55F;B55F;1104 1162 11BA;B55F;1104 1162 11BA; +B560;B560;1104 1162 11BB;B560;1104 1162 11BB; +B561;B561;1104 1162 11BC;B561;1104 1162 11BC; +B562;B562;1104 1162 11BD;B562;1104 1162 11BD; +B563;B563;1104 1162 11BE;B563;1104 1162 11BE; +B564;B564;1104 1162 11BF;B564;1104 1162 11BF; +B565;B565;1104 1162 11C0;B565;1104 1162 11C0; +B566;B566;1104 1162 11C1;B566;1104 1162 11C1; +B567;B567;1104 1162 11C2;B567;1104 1162 11C2; +B568;B568;1104 1163;B568;1104 1163; +B569;B569;1104 1163 11A8;B569;1104 1163 11A8; +B56A;B56A;1104 1163 11A9;B56A;1104 1163 11A9; +B56B;B56B;1104 1163 11AA;B56B;1104 1163 11AA; +B56C;B56C;1104 1163 11AB;B56C;1104 1163 11AB; +B56D;B56D;1104 1163 11AC;B56D;1104 1163 11AC; +B56E;B56E;1104 1163 11AD;B56E;1104 1163 11AD; +B56F;B56F;1104 1163 11AE;B56F;1104 1163 11AE; +B570;B570;1104 1163 11AF;B570;1104 1163 11AF; +B571;B571;1104 1163 11B0;B571;1104 1163 11B0; +B572;B572;1104 1163 11B1;B572;1104 1163 11B1; +B573;B573;1104 1163 11B2;B573;1104 1163 11B2; +B574;B574;1104 1163 11B3;B574;1104 1163 11B3; +B575;B575;1104 1163 11B4;B575;1104 1163 11B4; +B576;B576;1104 1163 11B5;B576;1104 1163 11B5; +B577;B577;1104 1163 11B6;B577;1104 1163 11B6; +B578;B578;1104 1163 11B7;B578;1104 1163 11B7; +B579;B579;1104 1163 11B8;B579;1104 1163 11B8; +B57A;B57A;1104 1163 11B9;B57A;1104 1163 11B9; +B57B;B57B;1104 1163 11BA;B57B;1104 1163 11BA; +B57C;B57C;1104 1163 11BB;B57C;1104 1163 11BB; +B57D;B57D;1104 1163 11BC;B57D;1104 1163 11BC; +B57E;B57E;1104 1163 11BD;B57E;1104 1163 11BD; +B57F;B57F;1104 1163 11BE;B57F;1104 1163 11BE; +B580;B580;1104 1163 11BF;B580;1104 1163 11BF; +B581;B581;1104 1163 11C0;B581;1104 1163 11C0; +B582;B582;1104 1163 11C1;B582;1104 1163 11C1; +B583;B583;1104 1163 11C2;B583;1104 1163 11C2; +B584;B584;1104 1164;B584;1104 1164; +B585;B585;1104 1164 11A8;B585;1104 1164 11A8; +B586;B586;1104 1164 11A9;B586;1104 1164 11A9; +B587;B587;1104 1164 11AA;B587;1104 1164 11AA; +B588;B588;1104 1164 11AB;B588;1104 1164 11AB; +B589;B589;1104 1164 11AC;B589;1104 1164 11AC; +B58A;B58A;1104 1164 11AD;B58A;1104 1164 11AD; +B58B;B58B;1104 1164 11AE;B58B;1104 1164 11AE; +B58C;B58C;1104 1164 11AF;B58C;1104 1164 11AF; +B58D;B58D;1104 1164 11B0;B58D;1104 1164 11B0; +B58E;B58E;1104 1164 11B1;B58E;1104 1164 11B1; +B58F;B58F;1104 1164 11B2;B58F;1104 1164 11B2; +B590;B590;1104 1164 11B3;B590;1104 1164 11B3; +B591;B591;1104 1164 11B4;B591;1104 1164 11B4; +B592;B592;1104 1164 11B5;B592;1104 1164 11B5; +B593;B593;1104 1164 11B6;B593;1104 1164 11B6; +B594;B594;1104 1164 11B7;B594;1104 1164 11B7; +B595;B595;1104 1164 11B8;B595;1104 1164 11B8; +B596;B596;1104 1164 11B9;B596;1104 1164 11B9; +B597;B597;1104 1164 11BA;B597;1104 1164 11BA; +B598;B598;1104 1164 11BB;B598;1104 1164 11BB; +B599;B599;1104 1164 11BC;B599;1104 1164 11BC; +B59A;B59A;1104 1164 11BD;B59A;1104 1164 11BD; +B59B;B59B;1104 1164 11BE;B59B;1104 1164 11BE; +B59C;B59C;1104 1164 11BF;B59C;1104 1164 11BF; +B59D;B59D;1104 1164 11C0;B59D;1104 1164 11C0; +B59E;B59E;1104 1164 11C1;B59E;1104 1164 11C1; +B59F;B59F;1104 1164 11C2;B59F;1104 1164 11C2; +B5A0;B5A0;1104 1165;B5A0;1104 1165; +B5A1;B5A1;1104 1165 11A8;B5A1;1104 1165 11A8; +B5A2;B5A2;1104 1165 11A9;B5A2;1104 1165 11A9; +B5A3;B5A3;1104 1165 11AA;B5A3;1104 1165 11AA; +B5A4;B5A4;1104 1165 11AB;B5A4;1104 1165 11AB; +B5A5;B5A5;1104 1165 11AC;B5A5;1104 1165 11AC; +B5A6;B5A6;1104 1165 11AD;B5A6;1104 1165 11AD; +B5A7;B5A7;1104 1165 11AE;B5A7;1104 1165 11AE; +B5A8;B5A8;1104 1165 11AF;B5A8;1104 1165 11AF; +B5A9;B5A9;1104 1165 11B0;B5A9;1104 1165 11B0; +B5AA;B5AA;1104 1165 11B1;B5AA;1104 1165 11B1; +B5AB;B5AB;1104 1165 11B2;B5AB;1104 1165 11B2; +B5AC;B5AC;1104 1165 11B3;B5AC;1104 1165 11B3; +B5AD;B5AD;1104 1165 11B4;B5AD;1104 1165 11B4; +B5AE;B5AE;1104 1165 11B5;B5AE;1104 1165 11B5; +B5AF;B5AF;1104 1165 11B6;B5AF;1104 1165 11B6; +B5B0;B5B0;1104 1165 11B7;B5B0;1104 1165 11B7; +B5B1;B5B1;1104 1165 11B8;B5B1;1104 1165 11B8; +B5B2;B5B2;1104 1165 11B9;B5B2;1104 1165 11B9; +B5B3;B5B3;1104 1165 11BA;B5B3;1104 1165 11BA; +B5B4;B5B4;1104 1165 11BB;B5B4;1104 1165 11BB; +B5B5;B5B5;1104 1165 11BC;B5B5;1104 1165 11BC; +B5B6;B5B6;1104 1165 11BD;B5B6;1104 1165 11BD; +B5B7;B5B7;1104 1165 11BE;B5B7;1104 1165 11BE; +B5B8;B5B8;1104 1165 11BF;B5B8;1104 1165 11BF; +B5B9;B5B9;1104 1165 11C0;B5B9;1104 1165 11C0; +B5BA;B5BA;1104 1165 11C1;B5BA;1104 1165 11C1; +B5BB;B5BB;1104 1165 11C2;B5BB;1104 1165 11C2; +B5BC;B5BC;1104 1166;B5BC;1104 1166; +B5BD;B5BD;1104 1166 11A8;B5BD;1104 1166 11A8; +B5BE;B5BE;1104 1166 11A9;B5BE;1104 1166 11A9; +B5BF;B5BF;1104 1166 11AA;B5BF;1104 1166 11AA; +B5C0;B5C0;1104 1166 11AB;B5C0;1104 1166 11AB; +B5C1;B5C1;1104 1166 11AC;B5C1;1104 1166 11AC; +B5C2;B5C2;1104 1166 11AD;B5C2;1104 1166 11AD; +B5C3;B5C3;1104 1166 11AE;B5C3;1104 1166 11AE; +B5C4;B5C4;1104 1166 11AF;B5C4;1104 1166 11AF; +B5C5;B5C5;1104 1166 11B0;B5C5;1104 1166 11B0; +B5C6;B5C6;1104 1166 11B1;B5C6;1104 1166 11B1; +B5C7;B5C7;1104 1166 11B2;B5C7;1104 1166 11B2; +B5C8;B5C8;1104 1166 11B3;B5C8;1104 1166 11B3; +B5C9;B5C9;1104 1166 11B4;B5C9;1104 1166 11B4; +B5CA;B5CA;1104 1166 11B5;B5CA;1104 1166 11B5; +B5CB;B5CB;1104 1166 11B6;B5CB;1104 1166 11B6; +B5CC;B5CC;1104 1166 11B7;B5CC;1104 1166 11B7; +B5CD;B5CD;1104 1166 11B8;B5CD;1104 1166 11B8; +B5CE;B5CE;1104 1166 11B9;B5CE;1104 1166 11B9; +B5CF;B5CF;1104 1166 11BA;B5CF;1104 1166 11BA; +B5D0;B5D0;1104 1166 11BB;B5D0;1104 1166 11BB; +B5D1;B5D1;1104 1166 11BC;B5D1;1104 1166 11BC; +B5D2;B5D2;1104 1166 11BD;B5D2;1104 1166 11BD; +B5D3;B5D3;1104 1166 11BE;B5D3;1104 1166 11BE; +B5D4;B5D4;1104 1166 11BF;B5D4;1104 1166 11BF; +B5D5;B5D5;1104 1166 11C0;B5D5;1104 1166 11C0; +B5D6;B5D6;1104 1166 11C1;B5D6;1104 1166 11C1; +B5D7;B5D7;1104 1166 11C2;B5D7;1104 1166 11C2; +B5D8;B5D8;1104 1167;B5D8;1104 1167; +B5D9;B5D9;1104 1167 11A8;B5D9;1104 1167 11A8; +B5DA;B5DA;1104 1167 11A9;B5DA;1104 1167 11A9; +B5DB;B5DB;1104 1167 11AA;B5DB;1104 1167 11AA; +B5DC;B5DC;1104 1167 11AB;B5DC;1104 1167 11AB; +B5DD;B5DD;1104 1167 11AC;B5DD;1104 1167 11AC; +B5DE;B5DE;1104 1167 11AD;B5DE;1104 1167 11AD; +B5DF;B5DF;1104 1167 11AE;B5DF;1104 1167 11AE; +B5E0;B5E0;1104 1167 11AF;B5E0;1104 1167 11AF; +B5E1;B5E1;1104 1167 11B0;B5E1;1104 1167 11B0; +B5E2;B5E2;1104 1167 11B1;B5E2;1104 1167 11B1; +B5E3;B5E3;1104 1167 11B2;B5E3;1104 1167 11B2; +B5E4;B5E4;1104 1167 11B3;B5E4;1104 1167 11B3; +B5E5;B5E5;1104 1167 11B4;B5E5;1104 1167 11B4; +B5E6;B5E6;1104 1167 11B5;B5E6;1104 1167 11B5; +B5E7;B5E7;1104 1167 11B6;B5E7;1104 1167 11B6; +B5E8;B5E8;1104 1167 11B7;B5E8;1104 1167 11B7; +B5E9;B5E9;1104 1167 11B8;B5E9;1104 1167 11B8; +B5EA;B5EA;1104 1167 11B9;B5EA;1104 1167 11B9; +B5EB;B5EB;1104 1167 11BA;B5EB;1104 1167 11BA; +B5EC;B5EC;1104 1167 11BB;B5EC;1104 1167 11BB; +B5ED;B5ED;1104 1167 11BC;B5ED;1104 1167 11BC; +B5EE;B5EE;1104 1167 11BD;B5EE;1104 1167 11BD; +B5EF;B5EF;1104 1167 11BE;B5EF;1104 1167 11BE; +B5F0;B5F0;1104 1167 11BF;B5F0;1104 1167 11BF; +B5F1;B5F1;1104 1167 11C0;B5F1;1104 1167 11C0; +B5F2;B5F2;1104 1167 11C1;B5F2;1104 1167 11C1; +B5F3;B5F3;1104 1167 11C2;B5F3;1104 1167 11C2; +B5F4;B5F4;1104 1168;B5F4;1104 1168; +B5F5;B5F5;1104 1168 11A8;B5F5;1104 1168 11A8; +B5F6;B5F6;1104 1168 11A9;B5F6;1104 1168 11A9; +B5F7;B5F7;1104 1168 11AA;B5F7;1104 1168 11AA; +B5F8;B5F8;1104 1168 11AB;B5F8;1104 1168 11AB; +B5F9;B5F9;1104 1168 11AC;B5F9;1104 1168 11AC; +B5FA;B5FA;1104 1168 11AD;B5FA;1104 1168 11AD; +B5FB;B5FB;1104 1168 11AE;B5FB;1104 1168 11AE; +B5FC;B5FC;1104 1168 11AF;B5FC;1104 1168 11AF; +B5FD;B5FD;1104 1168 11B0;B5FD;1104 1168 11B0; +B5FE;B5FE;1104 1168 11B1;B5FE;1104 1168 11B1; +B5FF;B5FF;1104 1168 11B2;B5FF;1104 1168 11B2; +B600;B600;1104 1168 11B3;B600;1104 1168 11B3; +B601;B601;1104 1168 11B4;B601;1104 1168 11B4; +B602;B602;1104 1168 11B5;B602;1104 1168 11B5; +B603;B603;1104 1168 11B6;B603;1104 1168 11B6; +B604;B604;1104 1168 11B7;B604;1104 1168 11B7; +B605;B605;1104 1168 11B8;B605;1104 1168 11B8; +B606;B606;1104 1168 11B9;B606;1104 1168 11B9; +B607;B607;1104 1168 11BA;B607;1104 1168 11BA; +B608;B608;1104 1168 11BB;B608;1104 1168 11BB; +B609;B609;1104 1168 11BC;B609;1104 1168 11BC; +B60A;B60A;1104 1168 11BD;B60A;1104 1168 11BD; +B60B;B60B;1104 1168 11BE;B60B;1104 1168 11BE; +B60C;B60C;1104 1168 11BF;B60C;1104 1168 11BF; +B60D;B60D;1104 1168 11C0;B60D;1104 1168 11C0; +B60E;B60E;1104 1168 11C1;B60E;1104 1168 11C1; +B60F;B60F;1104 1168 11C2;B60F;1104 1168 11C2; +B610;B610;1104 1169;B610;1104 1169; +B611;B611;1104 1169 11A8;B611;1104 1169 11A8; +B612;B612;1104 1169 11A9;B612;1104 1169 11A9; +B613;B613;1104 1169 11AA;B613;1104 1169 11AA; +B614;B614;1104 1169 11AB;B614;1104 1169 11AB; +B615;B615;1104 1169 11AC;B615;1104 1169 11AC; +B616;B616;1104 1169 11AD;B616;1104 1169 11AD; +B617;B617;1104 1169 11AE;B617;1104 1169 11AE; +B618;B618;1104 1169 11AF;B618;1104 1169 11AF; +B619;B619;1104 1169 11B0;B619;1104 1169 11B0; +B61A;B61A;1104 1169 11B1;B61A;1104 1169 11B1; +B61B;B61B;1104 1169 11B2;B61B;1104 1169 11B2; +B61C;B61C;1104 1169 11B3;B61C;1104 1169 11B3; +B61D;B61D;1104 1169 11B4;B61D;1104 1169 11B4; +B61E;B61E;1104 1169 11B5;B61E;1104 1169 11B5; +B61F;B61F;1104 1169 11B6;B61F;1104 1169 11B6; +B620;B620;1104 1169 11B7;B620;1104 1169 11B7; +B621;B621;1104 1169 11B8;B621;1104 1169 11B8; +B622;B622;1104 1169 11B9;B622;1104 1169 11B9; +B623;B623;1104 1169 11BA;B623;1104 1169 11BA; +B624;B624;1104 1169 11BB;B624;1104 1169 11BB; +B625;B625;1104 1169 11BC;B625;1104 1169 11BC; +B626;B626;1104 1169 11BD;B626;1104 1169 11BD; +B627;B627;1104 1169 11BE;B627;1104 1169 11BE; +B628;B628;1104 1169 11BF;B628;1104 1169 11BF; +B629;B629;1104 1169 11C0;B629;1104 1169 11C0; +B62A;B62A;1104 1169 11C1;B62A;1104 1169 11C1; +B62B;B62B;1104 1169 11C2;B62B;1104 1169 11C2; +B62C;B62C;1104 116A;B62C;1104 116A; +B62D;B62D;1104 116A 11A8;B62D;1104 116A 11A8; +B62E;B62E;1104 116A 11A9;B62E;1104 116A 11A9; +B62F;B62F;1104 116A 11AA;B62F;1104 116A 11AA; +B630;B630;1104 116A 11AB;B630;1104 116A 11AB; +B631;B631;1104 116A 11AC;B631;1104 116A 11AC; +B632;B632;1104 116A 11AD;B632;1104 116A 11AD; +B633;B633;1104 116A 11AE;B633;1104 116A 11AE; +B634;B634;1104 116A 11AF;B634;1104 116A 11AF; +B635;B635;1104 116A 11B0;B635;1104 116A 11B0; +B636;B636;1104 116A 11B1;B636;1104 116A 11B1; +B637;B637;1104 116A 11B2;B637;1104 116A 11B2; +B638;B638;1104 116A 11B3;B638;1104 116A 11B3; +B639;B639;1104 116A 11B4;B639;1104 116A 11B4; +B63A;B63A;1104 116A 11B5;B63A;1104 116A 11B5; +B63B;B63B;1104 116A 11B6;B63B;1104 116A 11B6; +B63C;B63C;1104 116A 11B7;B63C;1104 116A 11B7; +B63D;B63D;1104 116A 11B8;B63D;1104 116A 11B8; +B63E;B63E;1104 116A 11B9;B63E;1104 116A 11B9; +B63F;B63F;1104 116A 11BA;B63F;1104 116A 11BA; +B640;B640;1104 116A 11BB;B640;1104 116A 11BB; +B641;B641;1104 116A 11BC;B641;1104 116A 11BC; +B642;B642;1104 116A 11BD;B642;1104 116A 11BD; +B643;B643;1104 116A 11BE;B643;1104 116A 11BE; +B644;B644;1104 116A 11BF;B644;1104 116A 11BF; +B645;B645;1104 116A 11C0;B645;1104 116A 11C0; +B646;B646;1104 116A 11C1;B646;1104 116A 11C1; +B647;B647;1104 116A 11C2;B647;1104 116A 11C2; +B648;B648;1104 116B;B648;1104 116B; +B649;B649;1104 116B 11A8;B649;1104 116B 11A8; +B64A;B64A;1104 116B 11A9;B64A;1104 116B 11A9; +B64B;B64B;1104 116B 11AA;B64B;1104 116B 11AA; +B64C;B64C;1104 116B 11AB;B64C;1104 116B 11AB; +B64D;B64D;1104 116B 11AC;B64D;1104 116B 11AC; +B64E;B64E;1104 116B 11AD;B64E;1104 116B 11AD; +B64F;B64F;1104 116B 11AE;B64F;1104 116B 11AE; +B650;B650;1104 116B 11AF;B650;1104 116B 11AF; +B651;B651;1104 116B 11B0;B651;1104 116B 11B0; +B652;B652;1104 116B 11B1;B652;1104 116B 11B1; +B653;B653;1104 116B 11B2;B653;1104 116B 11B2; +B654;B654;1104 116B 11B3;B654;1104 116B 11B3; +B655;B655;1104 116B 11B4;B655;1104 116B 11B4; +B656;B656;1104 116B 11B5;B656;1104 116B 11B5; +B657;B657;1104 116B 11B6;B657;1104 116B 11B6; +B658;B658;1104 116B 11B7;B658;1104 116B 11B7; +B659;B659;1104 116B 11B8;B659;1104 116B 11B8; +B65A;B65A;1104 116B 11B9;B65A;1104 116B 11B9; +B65B;B65B;1104 116B 11BA;B65B;1104 116B 11BA; +B65C;B65C;1104 116B 11BB;B65C;1104 116B 11BB; +B65D;B65D;1104 116B 11BC;B65D;1104 116B 11BC; +B65E;B65E;1104 116B 11BD;B65E;1104 116B 11BD; +B65F;B65F;1104 116B 11BE;B65F;1104 116B 11BE; +B660;B660;1104 116B 11BF;B660;1104 116B 11BF; +B661;B661;1104 116B 11C0;B661;1104 116B 11C0; +B662;B662;1104 116B 11C1;B662;1104 116B 11C1; +B663;B663;1104 116B 11C2;B663;1104 116B 11C2; +B664;B664;1104 116C;B664;1104 116C; +B665;B665;1104 116C 11A8;B665;1104 116C 11A8; +B666;B666;1104 116C 11A9;B666;1104 116C 11A9; +B667;B667;1104 116C 11AA;B667;1104 116C 11AA; +B668;B668;1104 116C 11AB;B668;1104 116C 11AB; +B669;B669;1104 116C 11AC;B669;1104 116C 11AC; +B66A;B66A;1104 116C 11AD;B66A;1104 116C 11AD; +B66B;B66B;1104 116C 11AE;B66B;1104 116C 11AE; +B66C;B66C;1104 116C 11AF;B66C;1104 116C 11AF; +B66D;B66D;1104 116C 11B0;B66D;1104 116C 11B0; +B66E;B66E;1104 116C 11B1;B66E;1104 116C 11B1; +B66F;B66F;1104 116C 11B2;B66F;1104 116C 11B2; +B670;B670;1104 116C 11B3;B670;1104 116C 11B3; +B671;B671;1104 116C 11B4;B671;1104 116C 11B4; +B672;B672;1104 116C 11B5;B672;1104 116C 11B5; +B673;B673;1104 116C 11B6;B673;1104 116C 11B6; +B674;B674;1104 116C 11B7;B674;1104 116C 11B7; +B675;B675;1104 116C 11B8;B675;1104 116C 11B8; +B676;B676;1104 116C 11B9;B676;1104 116C 11B9; +B677;B677;1104 116C 11BA;B677;1104 116C 11BA; +B678;B678;1104 116C 11BB;B678;1104 116C 11BB; +B679;B679;1104 116C 11BC;B679;1104 116C 11BC; +B67A;B67A;1104 116C 11BD;B67A;1104 116C 11BD; +B67B;B67B;1104 116C 11BE;B67B;1104 116C 11BE; +B67C;B67C;1104 116C 11BF;B67C;1104 116C 11BF; +B67D;B67D;1104 116C 11C0;B67D;1104 116C 11C0; +B67E;B67E;1104 116C 11C1;B67E;1104 116C 11C1; +B67F;B67F;1104 116C 11C2;B67F;1104 116C 11C2; +B680;B680;1104 116D;B680;1104 116D; +B681;B681;1104 116D 11A8;B681;1104 116D 11A8; +B682;B682;1104 116D 11A9;B682;1104 116D 11A9; +B683;B683;1104 116D 11AA;B683;1104 116D 11AA; +B684;B684;1104 116D 11AB;B684;1104 116D 11AB; +B685;B685;1104 116D 11AC;B685;1104 116D 11AC; +B686;B686;1104 116D 11AD;B686;1104 116D 11AD; +B687;B687;1104 116D 11AE;B687;1104 116D 11AE; +B688;B688;1104 116D 11AF;B688;1104 116D 11AF; +B689;B689;1104 116D 11B0;B689;1104 116D 11B0; +B68A;B68A;1104 116D 11B1;B68A;1104 116D 11B1; +B68B;B68B;1104 116D 11B2;B68B;1104 116D 11B2; +B68C;B68C;1104 116D 11B3;B68C;1104 116D 11B3; +B68D;B68D;1104 116D 11B4;B68D;1104 116D 11B4; +B68E;B68E;1104 116D 11B5;B68E;1104 116D 11B5; +B68F;B68F;1104 116D 11B6;B68F;1104 116D 11B6; +B690;B690;1104 116D 11B7;B690;1104 116D 11B7; +B691;B691;1104 116D 11B8;B691;1104 116D 11B8; +B692;B692;1104 116D 11B9;B692;1104 116D 11B9; +B693;B693;1104 116D 11BA;B693;1104 116D 11BA; +B694;B694;1104 116D 11BB;B694;1104 116D 11BB; +B695;B695;1104 116D 11BC;B695;1104 116D 11BC; +B696;B696;1104 116D 11BD;B696;1104 116D 11BD; +B697;B697;1104 116D 11BE;B697;1104 116D 11BE; +B698;B698;1104 116D 11BF;B698;1104 116D 11BF; +B699;B699;1104 116D 11C0;B699;1104 116D 11C0; +B69A;B69A;1104 116D 11C1;B69A;1104 116D 11C1; +B69B;B69B;1104 116D 11C2;B69B;1104 116D 11C2; +B69C;B69C;1104 116E;B69C;1104 116E; +B69D;B69D;1104 116E 11A8;B69D;1104 116E 11A8; +B69E;B69E;1104 116E 11A9;B69E;1104 116E 11A9; +B69F;B69F;1104 116E 11AA;B69F;1104 116E 11AA; +B6A0;B6A0;1104 116E 11AB;B6A0;1104 116E 11AB; +B6A1;B6A1;1104 116E 11AC;B6A1;1104 116E 11AC; +B6A2;B6A2;1104 116E 11AD;B6A2;1104 116E 11AD; +B6A3;B6A3;1104 116E 11AE;B6A3;1104 116E 11AE; +B6A4;B6A4;1104 116E 11AF;B6A4;1104 116E 11AF; +B6A5;B6A5;1104 116E 11B0;B6A5;1104 116E 11B0; +B6A6;B6A6;1104 116E 11B1;B6A6;1104 116E 11B1; +B6A7;B6A7;1104 116E 11B2;B6A7;1104 116E 11B2; +B6A8;B6A8;1104 116E 11B3;B6A8;1104 116E 11B3; +B6A9;B6A9;1104 116E 11B4;B6A9;1104 116E 11B4; +B6AA;B6AA;1104 116E 11B5;B6AA;1104 116E 11B5; +B6AB;B6AB;1104 116E 11B6;B6AB;1104 116E 11B6; +B6AC;B6AC;1104 116E 11B7;B6AC;1104 116E 11B7; +B6AD;B6AD;1104 116E 11B8;B6AD;1104 116E 11B8; +B6AE;B6AE;1104 116E 11B9;B6AE;1104 116E 11B9; +B6AF;B6AF;1104 116E 11BA;B6AF;1104 116E 11BA; +B6B0;B6B0;1104 116E 11BB;B6B0;1104 116E 11BB; +B6B1;B6B1;1104 116E 11BC;B6B1;1104 116E 11BC; +B6B2;B6B2;1104 116E 11BD;B6B2;1104 116E 11BD; +B6B3;B6B3;1104 116E 11BE;B6B3;1104 116E 11BE; +B6B4;B6B4;1104 116E 11BF;B6B4;1104 116E 11BF; +B6B5;B6B5;1104 116E 11C0;B6B5;1104 116E 11C0; +B6B6;B6B6;1104 116E 11C1;B6B6;1104 116E 11C1; +B6B7;B6B7;1104 116E 11C2;B6B7;1104 116E 11C2; +B6B8;B6B8;1104 116F;B6B8;1104 116F; +B6B9;B6B9;1104 116F 11A8;B6B9;1104 116F 11A8; +B6BA;B6BA;1104 116F 11A9;B6BA;1104 116F 11A9; +B6BB;B6BB;1104 116F 11AA;B6BB;1104 116F 11AA; +B6BC;B6BC;1104 116F 11AB;B6BC;1104 116F 11AB; +B6BD;B6BD;1104 116F 11AC;B6BD;1104 116F 11AC; +B6BE;B6BE;1104 116F 11AD;B6BE;1104 116F 11AD; +B6BF;B6BF;1104 116F 11AE;B6BF;1104 116F 11AE; +B6C0;B6C0;1104 116F 11AF;B6C0;1104 116F 11AF; +B6C1;B6C1;1104 116F 11B0;B6C1;1104 116F 11B0; +B6C2;B6C2;1104 116F 11B1;B6C2;1104 116F 11B1; +B6C3;B6C3;1104 116F 11B2;B6C3;1104 116F 11B2; +B6C4;B6C4;1104 116F 11B3;B6C4;1104 116F 11B3; +B6C5;B6C5;1104 116F 11B4;B6C5;1104 116F 11B4; +B6C6;B6C6;1104 116F 11B5;B6C6;1104 116F 11B5; +B6C7;B6C7;1104 116F 11B6;B6C7;1104 116F 11B6; +B6C8;B6C8;1104 116F 11B7;B6C8;1104 116F 11B7; +B6C9;B6C9;1104 116F 11B8;B6C9;1104 116F 11B8; +B6CA;B6CA;1104 116F 11B9;B6CA;1104 116F 11B9; +B6CB;B6CB;1104 116F 11BA;B6CB;1104 116F 11BA; +B6CC;B6CC;1104 116F 11BB;B6CC;1104 116F 11BB; +B6CD;B6CD;1104 116F 11BC;B6CD;1104 116F 11BC; +B6CE;B6CE;1104 116F 11BD;B6CE;1104 116F 11BD; +B6CF;B6CF;1104 116F 11BE;B6CF;1104 116F 11BE; +B6D0;B6D0;1104 116F 11BF;B6D0;1104 116F 11BF; +B6D1;B6D1;1104 116F 11C0;B6D1;1104 116F 11C0; +B6D2;B6D2;1104 116F 11C1;B6D2;1104 116F 11C1; +B6D3;B6D3;1104 116F 11C2;B6D3;1104 116F 11C2; +B6D4;B6D4;1104 1170;B6D4;1104 1170; +B6D5;B6D5;1104 1170 11A8;B6D5;1104 1170 11A8; +B6D6;B6D6;1104 1170 11A9;B6D6;1104 1170 11A9; +B6D7;B6D7;1104 1170 11AA;B6D7;1104 1170 11AA; +B6D8;B6D8;1104 1170 11AB;B6D8;1104 1170 11AB; +B6D9;B6D9;1104 1170 11AC;B6D9;1104 1170 11AC; +B6DA;B6DA;1104 1170 11AD;B6DA;1104 1170 11AD; +B6DB;B6DB;1104 1170 11AE;B6DB;1104 1170 11AE; +B6DC;B6DC;1104 1170 11AF;B6DC;1104 1170 11AF; +B6DD;B6DD;1104 1170 11B0;B6DD;1104 1170 11B0; +B6DE;B6DE;1104 1170 11B1;B6DE;1104 1170 11B1; +B6DF;B6DF;1104 1170 11B2;B6DF;1104 1170 11B2; +B6E0;B6E0;1104 1170 11B3;B6E0;1104 1170 11B3; +B6E1;B6E1;1104 1170 11B4;B6E1;1104 1170 11B4; +B6E2;B6E2;1104 1170 11B5;B6E2;1104 1170 11B5; +B6E3;B6E3;1104 1170 11B6;B6E3;1104 1170 11B6; +B6E4;B6E4;1104 1170 11B7;B6E4;1104 1170 11B7; +B6E5;B6E5;1104 1170 11B8;B6E5;1104 1170 11B8; +B6E6;B6E6;1104 1170 11B9;B6E6;1104 1170 11B9; +B6E7;B6E7;1104 1170 11BA;B6E7;1104 1170 11BA; +B6E8;B6E8;1104 1170 11BB;B6E8;1104 1170 11BB; +B6E9;B6E9;1104 1170 11BC;B6E9;1104 1170 11BC; +B6EA;B6EA;1104 1170 11BD;B6EA;1104 1170 11BD; +B6EB;B6EB;1104 1170 11BE;B6EB;1104 1170 11BE; +B6EC;B6EC;1104 1170 11BF;B6EC;1104 1170 11BF; +B6ED;B6ED;1104 1170 11C0;B6ED;1104 1170 11C0; +B6EE;B6EE;1104 1170 11C1;B6EE;1104 1170 11C1; +B6EF;B6EF;1104 1170 11C2;B6EF;1104 1170 11C2; +B6F0;B6F0;1104 1171;B6F0;1104 1171; +B6F1;B6F1;1104 1171 11A8;B6F1;1104 1171 11A8; +B6F2;B6F2;1104 1171 11A9;B6F2;1104 1171 11A9; +B6F3;B6F3;1104 1171 11AA;B6F3;1104 1171 11AA; +B6F4;B6F4;1104 1171 11AB;B6F4;1104 1171 11AB; +B6F5;B6F5;1104 1171 11AC;B6F5;1104 1171 11AC; +B6F6;B6F6;1104 1171 11AD;B6F6;1104 1171 11AD; +B6F7;B6F7;1104 1171 11AE;B6F7;1104 1171 11AE; +B6F8;B6F8;1104 1171 11AF;B6F8;1104 1171 11AF; +B6F9;B6F9;1104 1171 11B0;B6F9;1104 1171 11B0; +B6FA;B6FA;1104 1171 11B1;B6FA;1104 1171 11B1; +B6FB;B6FB;1104 1171 11B2;B6FB;1104 1171 11B2; +B6FC;B6FC;1104 1171 11B3;B6FC;1104 1171 11B3; +B6FD;B6FD;1104 1171 11B4;B6FD;1104 1171 11B4; +B6FE;B6FE;1104 1171 11B5;B6FE;1104 1171 11B5; +B6FF;B6FF;1104 1171 11B6;B6FF;1104 1171 11B6; +B700;B700;1104 1171 11B7;B700;1104 1171 11B7; +B701;B701;1104 1171 11B8;B701;1104 1171 11B8; +B702;B702;1104 1171 11B9;B702;1104 1171 11B9; +B703;B703;1104 1171 11BA;B703;1104 1171 11BA; +B704;B704;1104 1171 11BB;B704;1104 1171 11BB; +B705;B705;1104 1171 11BC;B705;1104 1171 11BC; +B706;B706;1104 1171 11BD;B706;1104 1171 11BD; +B707;B707;1104 1171 11BE;B707;1104 1171 11BE; +B708;B708;1104 1171 11BF;B708;1104 1171 11BF; +B709;B709;1104 1171 11C0;B709;1104 1171 11C0; +B70A;B70A;1104 1171 11C1;B70A;1104 1171 11C1; +B70B;B70B;1104 1171 11C2;B70B;1104 1171 11C2; +B70C;B70C;1104 1172;B70C;1104 1172; +B70D;B70D;1104 1172 11A8;B70D;1104 1172 11A8; +B70E;B70E;1104 1172 11A9;B70E;1104 1172 11A9; +B70F;B70F;1104 1172 11AA;B70F;1104 1172 11AA; +B710;B710;1104 1172 11AB;B710;1104 1172 11AB; +B711;B711;1104 1172 11AC;B711;1104 1172 11AC; +B712;B712;1104 1172 11AD;B712;1104 1172 11AD; +B713;B713;1104 1172 11AE;B713;1104 1172 11AE; +B714;B714;1104 1172 11AF;B714;1104 1172 11AF; +B715;B715;1104 1172 11B0;B715;1104 1172 11B0; +B716;B716;1104 1172 11B1;B716;1104 1172 11B1; +B717;B717;1104 1172 11B2;B717;1104 1172 11B2; +B718;B718;1104 1172 11B3;B718;1104 1172 11B3; +B719;B719;1104 1172 11B4;B719;1104 1172 11B4; +B71A;B71A;1104 1172 11B5;B71A;1104 1172 11B5; +B71B;B71B;1104 1172 11B6;B71B;1104 1172 11B6; +B71C;B71C;1104 1172 11B7;B71C;1104 1172 11B7; +B71D;B71D;1104 1172 11B8;B71D;1104 1172 11B8; +B71E;B71E;1104 1172 11B9;B71E;1104 1172 11B9; +B71F;B71F;1104 1172 11BA;B71F;1104 1172 11BA; +B720;B720;1104 1172 11BB;B720;1104 1172 11BB; +B721;B721;1104 1172 11BC;B721;1104 1172 11BC; +B722;B722;1104 1172 11BD;B722;1104 1172 11BD; +B723;B723;1104 1172 11BE;B723;1104 1172 11BE; +B724;B724;1104 1172 11BF;B724;1104 1172 11BF; +B725;B725;1104 1172 11C0;B725;1104 1172 11C0; +B726;B726;1104 1172 11C1;B726;1104 1172 11C1; +B727;B727;1104 1172 11C2;B727;1104 1172 11C2; +B728;B728;1104 1173;B728;1104 1173; +B729;B729;1104 1173 11A8;B729;1104 1173 11A8; +B72A;B72A;1104 1173 11A9;B72A;1104 1173 11A9; +B72B;B72B;1104 1173 11AA;B72B;1104 1173 11AA; +B72C;B72C;1104 1173 11AB;B72C;1104 1173 11AB; +B72D;B72D;1104 1173 11AC;B72D;1104 1173 11AC; +B72E;B72E;1104 1173 11AD;B72E;1104 1173 11AD; +B72F;B72F;1104 1173 11AE;B72F;1104 1173 11AE; +B730;B730;1104 1173 11AF;B730;1104 1173 11AF; +B731;B731;1104 1173 11B0;B731;1104 1173 11B0; +B732;B732;1104 1173 11B1;B732;1104 1173 11B1; +B733;B733;1104 1173 11B2;B733;1104 1173 11B2; +B734;B734;1104 1173 11B3;B734;1104 1173 11B3; +B735;B735;1104 1173 11B4;B735;1104 1173 11B4; +B736;B736;1104 1173 11B5;B736;1104 1173 11B5; +B737;B737;1104 1173 11B6;B737;1104 1173 11B6; +B738;B738;1104 1173 11B7;B738;1104 1173 11B7; +B739;B739;1104 1173 11B8;B739;1104 1173 11B8; +B73A;B73A;1104 1173 11B9;B73A;1104 1173 11B9; +B73B;B73B;1104 1173 11BA;B73B;1104 1173 11BA; +B73C;B73C;1104 1173 11BB;B73C;1104 1173 11BB; +B73D;B73D;1104 1173 11BC;B73D;1104 1173 11BC; +B73E;B73E;1104 1173 11BD;B73E;1104 1173 11BD; +B73F;B73F;1104 1173 11BE;B73F;1104 1173 11BE; +B740;B740;1104 1173 11BF;B740;1104 1173 11BF; +B741;B741;1104 1173 11C0;B741;1104 1173 11C0; +B742;B742;1104 1173 11C1;B742;1104 1173 11C1; +B743;B743;1104 1173 11C2;B743;1104 1173 11C2; +B744;B744;1104 1174;B744;1104 1174; +B745;B745;1104 1174 11A8;B745;1104 1174 11A8; +B746;B746;1104 1174 11A9;B746;1104 1174 11A9; +B747;B747;1104 1174 11AA;B747;1104 1174 11AA; +B748;B748;1104 1174 11AB;B748;1104 1174 11AB; +B749;B749;1104 1174 11AC;B749;1104 1174 11AC; +B74A;B74A;1104 1174 11AD;B74A;1104 1174 11AD; +B74B;B74B;1104 1174 11AE;B74B;1104 1174 11AE; +B74C;B74C;1104 1174 11AF;B74C;1104 1174 11AF; +B74D;B74D;1104 1174 11B0;B74D;1104 1174 11B0; +B74E;B74E;1104 1174 11B1;B74E;1104 1174 11B1; +B74F;B74F;1104 1174 11B2;B74F;1104 1174 11B2; +B750;B750;1104 1174 11B3;B750;1104 1174 11B3; +B751;B751;1104 1174 11B4;B751;1104 1174 11B4; +B752;B752;1104 1174 11B5;B752;1104 1174 11B5; +B753;B753;1104 1174 11B6;B753;1104 1174 11B6; +B754;B754;1104 1174 11B7;B754;1104 1174 11B7; +B755;B755;1104 1174 11B8;B755;1104 1174 11B8; +B756;B756;1104 1174 11B9;B756;1104 1174 11B9; +B757;B757;1104 1174 11BA;B757;1104 1174 11BA; +B758;B758;1104 1174 11BB;B758;1104 1174 11BB; +B759;B759;1104 1174 11BC;B759;1104 1174 11BC; +B75A;B75A;1104 1174 11BD;B75A;1104 1174 11BD; +B75B;B75B;1104 1174 11BE;B75B;1104 1174 11BE; +B75C;B75C;1104 1174 11BF;B75C;1104 1174 11BF; +B75D;B75D;1104 1174 11C0;B75D;1104 1174 11C0; +B75E;B75E;1104 1174 11C1;B75E;1104 1174 11C1; +B75F;B75F;1104 1174 11C2;B75F;1104 1174 11C2; +B760;B760;1104 1175;B760;1104 1175; +B761;B761;1104 1175 11A8;B761;1104 1175 11A8; +B762;B762;1104 1175 11A9;B762;1104 1175 11A9; +B763;B763;1104 1175 11AA;B763;1104 1175 11AA; +B764;B764;1104 1175 11AB;B764;1104 1175 11AB; +B765;B765;1104 1175 11AC;B765;1104 1175 11AC; +B766;B766;1104 1175 11AD;B766;1104 1175 11AD; +B767;B767;1104 1175 11AE;B767;1104 1175 11AE; +B768;B768;1104 1175 11AF;B768;1104 1175 11AF; +B769;B769;1104 1175 11B0;B769;1104 1175 11B0; +B76A;B76A;1104 1175 11B1;B76A;1104 1175 11B1; +B76B;B76B;1104 1175 11B2;B76B;1104 1175 11B2; +B76C;B76C;1104 1175 11B3;B76C;1104 1175 11B3; +B76D;B76D;1104 1175 11B4;B76D;1104 1175 11B4; +B76E;B76E;1104 1175 11B5;B76E;1104 1175 11B5; +B76F;B76F;1104 1175 11B6;B76F;1104 1175 11B6; +B770;B770;1104 1175 11B7;B770;1104 1175 11B7; +B771;B771;1104 1175 11B8;B771;1104 1175 11B8; +B772;B772;1104 1175 11B9;B772;1104 1175 11B9; +B773;B773;1104 1175 11BA;B773;1104 1175 11BA; +B774;B774;1104 1175 11BB;B774;1104 1175 11BB; +B775;B775;1104 1175 11BC;B775;1104 1175 11BC; +B776;B776;1104 1175 11BD;B776;1104 1175 11BD; +B777;B777;1104 1175 11BE;B777;1104 1175 11BE; +B778;B778;1104 1175 11BF;B778;1104 1175 11BF; +B779;B779;1104 1175 11C0;B779;1104 1175 11C0; +B77A;B77A;1104 1175 11C1;B77A;1104 1175 11C1; +B77B;B77B;1104 1175 11C2;B77B;1104 1175 11C2; +B77C;B77C;1105 1161;B77C;1105 1161; +B77D;B77D;1105 1161 11A8;B77D;1105 1161 11A8; +B77E;B77E;1105 1161 11A9;B77E;1105 1161 11A9; +B77F;B77F;1105 1161 11AA;B77F;1105 1161 11AA; +B780;B780;1105 1161 11AB;B780;1105 1161 11AB; +B781;B781;1105 1161 11AC;B781;1105 1161 11AC; +B782;B782;1105 1161 11AD;B782;1105 1161 11AD; +B783;B783;1105 1161 11AE;B783;1105 1161 11AE; +B784;B784;1105 1161 11AF;B784;1105 1161 11AF; +B785;B785;1105 1161 11B0;B785;1105 1161 11B0; +B786;B786;1105 1161 11B1;B786;1105 1161 11B1; +B787;B787;1105 1161 11B2;B787;1105 1161 11B2; +B788;B788;1105 1161 11B3;B788;1105 1161 11B3; +B789;B789;1105 1161 11B4;B789;1105 1161 11B4; +B78A;B78A;1105 1161 11B5;B78A;1105 1161 11B5; +B78B;B78B;1105 1161 11B6;B78B;1105 1161 11B6; +B78C;B78C;1105 1161 11B7;B78C;1105 1161 11B7; +B78D;B78D;1105 1161 11B8;B78D;1105 1161 11B8; +B78E;B78E;1105 1161 11B9;B78E;1105 1161 11B9; +B78F;B78F;1105 1161 11BA;B78F;1105 1161 11BA; +B790;B790;1105 1161 11BB;B790;1105 1161 11BB; +B791;B791;1105 1161 11BC;B791;1105 1161 11BC; +B792;B792;1105 1161 11BD;B792;1105 1161 11BD; +B793;B793;1105 1161 11BE;B793;1105 1161 11BE; +B794;B794;1105 1161 11BF;B794;1105 1161 11BF; +B795;B795;1105 1161 11C0;B795;1105 1161 11C0; +B796;B796;1105 1161 11C1;B796;1105 1161 11C1; +B797;B797;1105 1161 11C2;B797;1105 1161 11C2; +B798;B798;1105 1162;B798;1105 1162; +B799;B799;1105 1162 11A8;B799;1105 1162 11A8; +B79A;B79A;1105 1162 11A9;B79A;1105 1162 11A9; +B79B;B79B;1105 1162 11AA;B79B;1105 1162 11AA; +B79C;B79C;1105 1162 11AB;B79C;1105 1162 11AB; +B79D;B79D;1105 1162 11AC;B79D;1105 1162 11AC; +B79E;B79E;1105 1162 11AD;B79E;1105 1162 11AD; +B79F;B79F;1105 1162 11AE;B79F;1105 1162 11AE; +B7A0;B7A0;1105 1162 11AF;B7A0;1105 1162 11AF; +B7A1;B7A1;1105 1162 11B0;B7A1;1105 1162 11B0; +B7A2;B7A2;1105 1162 11B1;B7A2;1105 1162 11B1; +B7A3;B7A3;1105 1162 11B2;B7A3;1105 1162 11B2; +B7A4;B7A4;1105 1162 11B3;B7A4;1105 1162 11B3; +B7A5;B7A5;1105 1162 11B4;B7A5;1105 1162 11B4; +B7A6;B7A6;1105 1162 11B5;B7A6;1105 1162 11B5; +B7A7;B7A7;1105 1162 11B6;B7A7;1105 1162 11B6; +B7A8;B7A8;1105 1162 11B7;B7A8;1105 1162 11B7; +B7A9;B7A9;1105 1162 11B8;B7A9;1105 1162 11B8; +B7AA;B7AA;1105 1162 11B9;B7AA;1105 1162 11B9; +B7AB;B7AB;1105 1162 11BA;B7AB;1105 1162 11BA; +B7AC;B7AC;1105 1162 11BB;B7AC;1105 1162 11BB; +B7AD;B7AD;1105 1162 11BC;B7AD;1105 1162 11BC; +B7AE;B7AE;1105 1162 11BD;B7AE;1105 1162 11BD; +B7AF;B7AF;1105 1162 11BE;B7AF;1105 1162 11BE; +B7B0;B7B0;1105 1162 11BF;B7B0;1105 1162 11BF; +B7B1;B7B1;1105 1162 11C0;B7B1;1105 1162 11C0; +B7B2;B7B2;1105 1162 11C1;B7B2;1105 1162 11C1; +B7B3;B7B3;1105 1162 11C2;B7B3;1105 1162 11C2; +B7B4;B7B4;1105 1163;B7B4;1105 1163; +B7B5;B7B5;1105 1163 11A8;B7B5;1105 1163 11A8; +B7B6;B7B6;1105 1163 11A9;B7B6;1105 1163 11A9; +B7B7;B7B7;1105 1163 11AA;B7B7;1105 1163 11AA; +B7B8;B7B8;1105 1163 11AB;B7B8;1105 1163 11AB; +B7B9;B7B9;1105 1163 11AC;B7B9;1105 1163 11AC; +B7BA;B7BA;1105 1163 11AD;B7BA;1105 1163 11AD; +B7BB;B7BB;1105 1163 11AE;B7BB;1105 1163 11AE; +B7BC;B7BC;1105 1163 11AF;B7BC;1105 1163 11AF; +B7BD;B7BD;1105 1163 11B0;B7BD;1105 1163 11B0; +B7BE;B7BE;1105 1163 11B1;B7BE;1105 1163 11B1; +B7BF;B7BF;1105 1163 11B2;B7BF;1105 1163 11B2; +B7C0;B7C0;1105 1163 11B3;B7C0;1105 1163 11B3; +B7C1;B7C1;1105 1163 11B4;B7C1;1105 1163 11B4; +B7C2;B7C2;1105 1163 11B5;B7C2;1105 1163 11B5; +B7C3;B7C3;1105 1163 11B6;B7C3;1105 1163 11B6; +B7C4;B7C4;1105 1163 11B7;B7C4;1105 1163 11B7; +B7C5;B7C5;1105 1163 11B8;B7C5;1105 1163 11B8; +B7C6;B7C6;1105 1163 11B9;B7C6;1105 1163 11B9; +B7C7;B7C7;1105 1163 11BA;B7C7;1105 1163 11BA; +B7C8;B7C8;1105 1163 11BB;B7C8;1105 1163 11BB; +B7C9;B7C9;1105 1163 11BC;B7C9;1105 1163 11BC; +B7CA;B7CA;1105 1163 11BD;B7CA;1105 1163 11BD; +B7CB;B7CB;1105 1163 11BE;B7CB;1105 1163 11BE; +B7CC;B7CC;1105 1163 11BF;B7CC;1105 1163 11BF; +B7CD;B7CD;1105 1163 11C0;B7CD;1105 1163 11C0; +B7CE;B7CE;1105 1163 11C1;B7CE;1105 1163 11C1; +B7CF;B7CF;1105 1163 11C2;B7CF;1105 1163 11C2; +B7D0;B7D0;1105 1164;B7D0;1105 1164; +B7D1;B7D1;1105 1164 11A8;B7D1;1105 1164 11A8; +B7D2;B7D2;1105 1164 11A9;B7D2;1105 1164 11A9; +B7D3;B7D3;1105 1164 11AA;B7D3;1105 1164 11AA; +B7D4;B7D4;1105 1164 11AB;B7D4;1105 1164 11AB; +B7D5;B7D5;1105 1164 11AC;B7D5;1105 1164 11AC; +B7D6;B7D6;1105 1164 11AD;B7D6;1105 1164 11AD; +B7D7;B7D7;1105 1164 11AE;B7D7;1105 1164 11AE; +B7D8;B7D8;1105 1164 11AF;B7D8;1105 1164 11AF; +B7D9;B7D9;1105 1164 11B0;B7D9;1105 1164 11B0; +B7DA;B7DA;1105 1164 11B1;B7DA;1105 1164 11B1; +B7DB;B7DB;1105 1164 11B2;B7DB;1105 1164 11B2; +B7DC;B7DC;1105 1164 11B3;B7DC;1105 1164 11B3; +B7DD;B7DD;1105 1164 11B4;B7DD;1105 1164 11B4; +B7DE;B7DE;1105 1164 11B5;B7DE;1105 1164 11B5; +B7DF;B7DF;1105 1164 11B6;B7DF;1105 1164 11B6; +B7E0;B7E0;1105 1164 11B7;B7E0;1105 1164 11B7; +B7E1;B7E1;1105 1164 11B8;B7E1;1105 1164 11B8; +B7E2;B7E2;1105 1164 11B9;B7E2;1105 1164 11B9; +B7E3;B7E3;1105 1164 11BA;B7E3;1105 1164 11BA; +B7E4;B7E4;1105 1164 11BB;B7E4;1105 1164 11BB; +B7E5;B7E5;1105 1164 11BC;B7E5;1105 1164 11BC; +B7E6;B7E6;1105 1164 11BD;B7E6;1105 1164 11BD; +B7E7;B7E7;1105 1164 11BE;B7E7;1105 1164 11BE; +B7E8;B7E8;1105 1164 11BF;B7E8;1105 1164 11BF; +B7E9;B7E9;1105 1164 11C0;B7E9;1105 1164 11C0; +B7EA;B7EA;1105 1164 11C1;B7EA;1105 1164 11C1; +B7EB;B7EB;1105 1164 11C2;B7EB;1105 1164 11C2; +B7EC;B7EC;1105 1165;B7EC;1105 1165; +B7ED;B7ED;1105 1165 11A8;B7ED;1105 1165 11A8; +B7EE;B7EE;1105 1165 11A9;B7EE;1105 1165 11A9; +B7EF;B7EF;1105 1165 11AA;B7EF;1105 1165 11AA; +B7F0;B7F0;1105 1165 11AB;B7F0;1105 1165 11AB; +B7F1;B7F1;1105 1165 11AC;B7F1;1105 1165 11AC; +B7F2;B7F2;1105 1165 11AD;B7F2;1105 1165 11AD; +B7F3;B7F3;1105 1165 11AE;B7F3;1105 1165 11AE; +B7F4;B7F4;1105 1165 11AF;B7F4;1105 1165 11AF; +B7F5;B7F5;1105 1165 11B0;B7F5;1105 1165 11B0; +B7F6;B7F6;1105 1165 11B1;B7F6;1105 1165 11B1; +B7F7;B7F7;1105 1165 11B2;B7F7;1105 1165 11B2; +B7F8;B7F8;1105 1165 11B3;B7F8;1105 1165 11B3; +B7F9;B7F9;1105 1165 11B4;B7F9;1105 1165 11B4; +B7FA;B7FA;1105 1165 11B5;B7FA;1105 1165 11B5; +B7FB;B7FB;1105 1165 11B6;B7FB;1105 1165 11B6; +B7FC;B7FC;1105 1165 11B7;B7FC;1105 1165 11B7; +B7FD;B7FD;1105 1165 11B8;B7FD;1105 1165 11B8; +B7FE;B7FE;1105 1165 11B9;B7FE;1105 1165 11B9; +B7FF;B7FF;1105 1165 11BA;B7FF;1105 1165 11BA; +B800;B800;1105 1165 11BB;B800;1105 1165 11BB; +B801;B801;1105 1165 11BC;B801;1105 1165 11BC; +B802;B802;1105 1165 11BD;B802;1105 1165 11BD; +B803;B803;1105 1165 11BE;B803;1105 1165 11BE; +B804;B804;1105 1165 11BF;B804;1105 1165 11BF; +B805;B805;1105 1165 11C0;B805;1105 1165 11C0; +B806;B806;1105 1165 11C1;B806;1105 1165 11C1; +B807;B807;1105 1165 11C2;B807;1105 1165 11C2; +B808;B808;1105 1166;B808;1105 1166; +B809;B809;1105 1166 11A8;B809;1105 1166 11A8; +B80A;B80A;1105 1166 11A9;B80A;1105 1166 11A9; +B80B;B80B;1105 1166 11AA;B80B;1105 1166 11AA; +B80C;B80C;1105 1166 11AB;B80C;1105 1166 11AB; +B80D;B80D;1105 1166 11AC;B80D;1105 1166 11AC; +B80E;B80E;1105 1166 11AD;B80E;1105 1166 11AD; +B80F;B80F;1105 1166 11AE;B80F;1105 1166 11AE; +B810;B810;1105 1166 11AF;B810;1105 1166 11AF; +B811;B811;1105 1166 11B0;B811;1105 1166 11B0; +B812;B812;1105 1166 11B1;B812;1105 1166 11B1; +B813;B813;1105 1166 11B2;B813;1105 1166 11B2; +B814;B814;1105 1166 11B3;B814;1105 1166 11B3; +B815;B815;1105 1166 11B4;B815;1105 1166 11B4; +B816;B816;1105 1166 11B5;B816;1105 1166 11B5; +B817;B817;1105 1166 11B6;B817;1105 1166 11B6; +B818;B818;1105 1166 11B7;B818;1105 1166 11B7; +B819;B819;1105 1166 11B8;B819;1105 1166 11B8; +B81A;B81A;1105 1166 11B9;B81A;1105 1166 11B9; +B81B;B81B;1105 1166 11BA;B81B;1105 1166 11BA; +B81C;B81C;1105 1166 11BB;B81C;1105 1166 11BB; +B81D;B81D;1105 1166 11BC;B81D;1105 1166 11BC; +B81E;B81E;1105 1166 11BD;B81E;1105 1166 11BD; +B81F;B81F;1105 1166 11BE;B81F;1105 1166 11BE; +B820;B820;1105 1166 11BF;B820;1105 1166 11BF; +B821;B821;1105 1166 11C0;B821;1105 1166 11C0; +B822;B822;1105 1166 11C1;B822;1105 1166 11C1; +B823;B823;1105 1166 11C2;B823;1105 1166 11C2; +B824;B824;1105 1167;B824;1105 1167; +B825;B825;1105 1167 11A8;B825;1105 1167 11A8; +B826;B826;1105 1167 11A9;B826;1105 1167 11A9; +B827;B827;1105 1167 11AA;B827;1105 1167 11AA; +B828;B828;1105 1167 11AB;B828;1105 1167 11AB; +B829;B829;1105 1167 11AC;B829;1105 1167 11AC; +B82A;B82A;1105 1167 11AD;B82A;1105 1167 11AD; +B82B;B82B;1105 1167 11AE;B82B;1105 1167 11AE; +B82C;B82C;1105 1167 11AF;B82C;1105 1167 11AF; +B82D;B82D;1105 1167 11B0;B82D;1105 1167 11B0; +B82E;B82E;1105 1167 11B1;B82E;1105 1167 11B1; +B82F;B82F;1105 1167 11B2;B82F;1105 1167 11B2; +B830;B830;1105 1167 11B3;B830;1105 1167 11B3; +B831;B831;1105 1167 11B4;B831;1105 1167 11B4; +B832;B832;1105 1167 11B5;B832;1105 1167 11B5; +B833;B833;1105 1167 11B6;B833;1105 1167 11B6; +B834;B834;1105 1167 11B7;B834;1105 1167 11B7; +B835;B835;1105 1167 11B8;B835;1105 1167 11B8; +B836;B836;1105 1167 11B9;B836;1105 1167 11B9; +B837;B837;1105 1167 11BA;B837;1105 1167 11BA; +B838;B838;1105 1167 11BB;B838;1105 1167 11BB; +B839;B839;1105 1167 11BC;B839;1105 1167 11BC; +B83A;B83A;1105 1167 11BD;B83A;1105 1167 11BD; +B83B;B83B;1105 1167 11BE;B83B;1105 1167 11BE; +B83C;B83C;1105 1167 11BF;B83C;1105 1167 11BF; +B83D;B83D;1105 1167 11C0;B83D;1105 1167 11C0; +B83E;B83E;1105 1167 11C1;B83E;1105 1167 11C1; +B83F;B83F;1105 1167 11C2;B83F;1105 1167 11C2; +B840;B840;1105 1168;B840;1105 1168; +B841;B841;1105 1168 11A8;B841;1105 1168 11A8; +B842;B842;1105 1168 11A9;B842;1105 1168 11A9; +B843;B843;1105 1168 11AA;B843;1105 1168 11AA; +B844;B844;1105 1168 11AB;B844;1105 1168 11AB; +B845;B845;1105 1168 11AC;B845;1105 1168 11AC; +B846;B846;1105 1168 11AD;B846;1105 1168 11AD; +B847;B847;1105 1168 11AE;B847;1105 1168 11AE; +B848;B848;1105 1168 11AF;B848;1105 1168 11AF; +B849;B849;1105 1168 11B0;B849;1105 1168 11B0; +B84A;B84A;1105 1168 11B1;B84A;1105 1168 11B1; +B84B;B84B;1105 1168 11B2;B84B;1105 1168 11B2; +B84C;B84C;1105 1168 11B3;B84C;1105 1168 11B3; +B84D;B84D;1105 1168 11B4;B84D;1105 1168 11B4; +B84E;B84E;1105 1168 11B5;B84E;1105 1168 11B5; +B84F;B84F;1105 1168 11B6;B84F;1105 1168 11B6; +B850;B850;1105 1168 11B7;B850;1105 1168 11B7; +B851;B851;1105 1168 11B8;B851;1105 1168 11B8; +B852;B852;1105 1168 11B9;B852;1105 1168 11B9; +B853;B853;1105 1168 11BA;B853;1105 1168 11BA; +B854;B854;1105 1168 11BB;B854;1105 1168 11BB; +B855;B855;1105 1168 11BC;B855;1105 1168 11BC; +B856;B856;1105 1168 11BD;B856;1105 1168 11BD; +B857;B857;1105 1168 11BE;B857;1105 1168 11BE; +B858;B858;1105 1168 11BF;B858;1105 1168 11BF; +B859;B859;1105 1168 11C0;B859;1105 1168 11C0; +B85A;B85A;1105 1168 11C1;B85A;1105 1168 11C1; +B85B;B85B;1105 1168 11C2;B85B;1105 1168 11C2; +B85C;B85C;1105 1169;B85C;1105 1169; +B85D;B85D;1105 1169 11A8;B85D;1105 1169 11A8; +B85E;B85E;1105 1169 11A9;B85E;1105 1169 11A9; +B85F;B85F;1105 1169 11AA;B85F;1105 1169 11AA; +B860;B860;1105 1169 11AB;B860;1105 1169 11AB; +B861;B861;1105 1169 11AC;B861;1105 1169 11AC; +B862;B862;1105 1169 11AD;B862;1105 1169 11AD; +B863;B863;1105 1169 11AE;B863;1105 1169 11AE; +B864;B864;1105 1169 11AF;B864;1105 1169 11AF; +B865;B865;1105 1169 11B0;B865;1105 1169 11B0; +B866;B866;1105 1169 11B1;B866;1105 1169 11B1; +B867;B867;1105 1169 11B2;B867;1105 1169 11B2; +B868;B868;1105 1169 11B3;B868;1105 1169 11B3; +B869;B869;1105 1169 11B4;B869;1105 1169 11B4; +B86A;B86A;1105 1169 11B5;B86A;1105 1169 11B5; +B86B;B86B;1105 1169 11B6;B86B;1105 1169 11B6; +B86C;B86C;1105 1169 11B7;B86C;1105 1169 11B7; +B86D;B86D;1105 1169 11B8;B86D;1105 1169 11B8; +B86E;B86E;1105 1169 11B9;B86E;1105 1169 11B9; +B86F;B86F;1105 1169 11BA;B86F;1105 1169 11BA; +B870;B870;1105 1169 11BB;B870;1105 1169 11BB; +B871;B871;1105 1169 11BC;B871;1105 1169 11BC; +B872;B872;1105 1169 11BD;B872;1105 1169 11BD; +B873;B873;1105 1169 11BE;B873;1105 1169 11BE; +B874;B874;1105 1169 11BF;B874;1105 1169 11BF; +B875;B875;1105 1169 11C0;B875;1105 1169 11C0; +B876;B876;1105 1169 11C1;B876;1105 1169 11C1; +B877;B877;1105 1169 11C2;B877;1105 1169 11C2; +B878;B878;1105 116A;B878;1105 116A; +B879;B879;1105 116A 11A8;B879;1105 116A 11A8; +B87A;B87A;1105 116A 11A9;B87A;1105 116A 11A9; +B87B;B87B;1105 116A 11AA;B87B;1105 116A 11AA; +B87C;B87C;1105 116A 11AB;B87C;1105 116A 11AB; +B87D;B87D;1105 116A 11AC;B87D;1105 116A 11AC; +B87E;B87E;1105 116A 11AD;B87E;1105 116A 11AD; +B87F;B87F;1105 116A 11AE;B87F;1105 116A 11AE; +B880;B880;1105 116A 11AF;B880;1105 116A 11AF; +B881;B881;1105 116A 11B0;B881;1105 116A 11B0; +B882;B882;1105 116A 11B1;B882;1105 116A 11B1; +B883;B883;1105 116A 11B2;B883;1105 116A 11B2; +B884;B884;1105 116A 11B3;B884;1105 116A 11B3; +B885;B885;1105 116A 11B4;B885;1105 116A 11B4; +B886;B886;1105 116A 11B5;B886;1105 116A 11B5; +B887;B887;1105 116A 11B6;B887;1105 116A 11B6; +B888;B888;1105 116A 11B7;B888;1105 116A 11B7; +B889;B889;1105 116A 11B8;B889;1105 116A 11B8; +B88A;B88A;1105 116A 11B9;B88A;1105 116A 11B9; +B88B;B88B;1105 116A 11BA;B88B;1105 116A 11BA; +B88C;B88C;1105 116A 11BB;B88C;1105 116A 11BB; +B88D;B88D;1105 116A 11BC;B88D;1105 116A 11BC; +B88E;B88E;1105 116A 11BD;B88E;1105 116A 11BD; +B88F;B88F;1105 116A 11BE;B88F;1105 116A 11BE; +B890;B890;1105 116A 11BF;B890;1105 116A 11BF; +B891;B891;1105 116A 11C0;B891;1105 116A 11C0; +B892;B892;1105 116A 11C1;B892;1105 116A 11C1; +B893;B893;1105 116A 11C2;B893;1105 116A 11C2; +B894;B894;1105 116B;B894;1105 116B; +B895;B895;1105 116B 11A8;B895;1105 116B 11A8; +B896;B896;1105 116B 11A9;B896;1105 116B 11A9; +B897;B897;1105 116B 11AA;B897;1105 116B 11AA; +B898;B898;1105 116B 11AB;B898;1105 116B 11AB; +B899;B899;1105 116B 11AC;B899;1105 116B 11AC; +B89A;B89A;1105 116B 11AD;B89A;1105 116B 11AD; +B89B;B89B;1105 116B 11AE;B89B;1105 116B 11AE; +B89C;B89C;1105 116B 11AF;B89C;1105 116B 11AF; +B89D;B89D;1105 116B 11B0;B89D;1105 116B 11B0; +B89E;B89E;1105 116B 11B1;B89E;1105 116B 11B1; +B89F;B89F;1105 116B 11B2;B89F;1105 116B 11B2; +B8A0;B8A0;1105 116B 11B3;B8A0;1105 116B 11B3; +B8A1;B8A1;1105 116B 11B4;B8A1;1105 116B 11B4; +B8A2;B8A2;1105 116B 11B5;B8A2;1105 116B 11B5; +B8A3;B8A3;1105 116B 11B6;B8A3;1105 116B 11B6; +B8A4;B8A4;1105 116B 11B7;B8A4;1105 116B 11B7; +B8A5;B8A5;1105 116B 11B8;B8A5;1105 116B 11B8; +B8A6;B8A6;1105 116B 11B9;B8A6;1105 116B 11B9; +B8A7;B8A7;1105 116B 11BA;B8A7;1105 116B 11BA; +B8A8;B8A8;1105 116B 11BB;B8A8;1105 116B 11BB; +B8A9;B8A9;1105 116B 11BC;B8A9;1105 116B 11BC; +B8AA;B8AA;1105 116B 11BD;B8AA;1105 116B 11BD; +B8AB;B8AB;1105 116B 11BE;B8AB;1105 116B 11BE; +B8AC;B8AC;1105 116B 11BF;B8AC;1105 116B 11BF; +B8AD;B8AD;1105 116B 11C0;B8AD;1105 116B 11C0; +B8AE;B8AE;1105 116B 11C1;B8AE;1105 116B 11C1; +B8AF;B8AF;1105 116B 11C2;B8AF;1105 116B 11C2; +B8B0;B8B0;1105 116C;B8B0;1105 116C; +B8B1;B8B1;1105 116C 11A8;B8B1;1105 116C 11A8; +B8B2;B8B2;1105 116C 11A9;B8B2;1105 116C 11A9; +B8B3;B8B3;1105 116C 11AA;B8B3;1105 116C 11AA; +B8B4;B8B4;1105 116C 11AB;B8B4;1105 116C 11AB; +B8B5;B8B5;1105 116C 11AC;B8B5;1105 116C 11AC; +B8B6;B8B6;1105 116C 11AD;B8B6;1105 116C 11AD; +B8B7;B8B7;1105 116C 11AE;B8B7;1105 116C 11AE; +B8B8;B8B8;1105 116C 11AF;B8B8;1105 116C 11AF; +B8B9;B8B9;1105 116C 11B0;B8B9;1105 116C 11B0; +B8BA;B8BA;1105 116C 11B1;B8BA;1105 116C 11B1; +B8BB;B8BB;1105 116C 11B2;B8BB;1105 116C 11B2; +B8BC;B8BC;1105 116C 11B3;B8BC;1105 116C 11B3; +B8BD;B8BD;1105 116C 11B4;B8BD;1105 116C 11B4; +B8BE;B8BE;1105 116C 11B5;B8BE;1105 116C 11B5; +B8BF;B8BF;1105 116C 11B6;B8BF;1105 116C 11B6; +B8C0;B8C0;1105 116C 11B7;B8C0;1105 116C 11B7; +B8C1;B8C1;1105 116C 11B8;B8C1;1105 116C 11B8; +B8C2;B8C2;1105 116C 11B9;B8C2;1105 116C 11B9; +B8C3;B8C3;1105 116C 11BA;B8C3;1105 116C 11BA; +B8C4;B8C4;1105 116C 11BB;B8C4;1105 116C 11BB; +B8C5;B8C5;1105 116C 11BC;B8C5;1105 116C 11BC; +B8C6;B8C6;1105 116C 11BD;B8C6;1105 116C 11BD; +B8C7;B8C7;1105 116C 11BE;B8C7;1105 116C 11BE; +B8C8;B8C8;1105 116C 11BF;B8C8;1105 116C 11BF; +B8C9;B8C9;1105 116C 11C0;B8C9;1105 116C 11C0; +B8CA;B8CA;1105 116C 11C1;B8CA;1105 116C 11C1; +B8CB;B8CB;1105 116C 11C2;B8CB;1105 116C 11C2; +B8CC;B8CC;1105 116D;B8CC;1105 116D; +B8CD;B8CD;1105 116D 11A8;B8CD;1105 116D 11A8; +B8CE;B8CE;1105 116D 11A9;B8CE;1105 116D 11A9; +B8CF;B8CF;1105 116D 11AA;B8CF;1105 116D 11AA; +B8D0;B8D0;1105 116D 11AB;B8D0;1105 116D 11AB; +B8D1;B8D1;1105 116D 11AC;B8D1;1105 116D 11AC; +B8D2;B8D2;1105 116D 11AD;B8D2;1105 116D 11AD; +B8D3;B8D3;1105 116D 11AE;B8D3;1105 116D 11AE; +B8D4;B8D4;1105 116D 11AF;B8D4;1105 116D 11AF; +B8D5;B8D5;1105 116D 11B0;B8D5;1105 116D 11B0; +B8D6;B8D6;1105 116D 11B1;B8D6;1105 116D 11B1; +B8D7;B8D7;1105 116D 11B2;B8D7;1105 116D 11B2; +B8D8;B8D8;1105 116D 11B3;B8D8;1105 116D 11B3; +B8D9;B8D9;1105 116D 11B4;B8D9;1105 116D 11B4; +B8DA;B8DA;1105 116D 11B5;B8DA;1105 116D 11B5; +B8DB;B8DB;1105 116D 11B6;B8DB;1105 116D 11B6; +B8DC;B8DC;1105 116D 11B7;B8DC;1105 116D 11B7; +B8DD;B8DD;1105 116D 11B8;B8DD;1105 116D 11B8; +B8DE;B8DE;1105 116D 11B9;B8DE;1105 116D 11B9; +B8DF;B8DF;1105 116D 11BA;B8DF;1105 116D 11BA; +B8E0;B8E0;1105 116D 11BB;B8E0;1105 116D 11BB; +B8E1;B8E1;1105 116D 11BC;B8E1;1105 116D 11BC; +B8E2;B8E2;1105 116D 11BD;B8E2;1105 116D 11BD; +B8E3;B8E3;1105 116D 11BE;B8E3;1105 116D 11BE; +B8E4;B8E4;1105 116D 11BF;B8E4;1105 116D 11BF; +B8E5;B8E5;1105 116D 11C0;B8E5;1105 116D 11C0; +B8E6;B8E6;1105 116D 11C1;B8E6;1105 116D 11C1; +B8E7;B8E7;1105 116D 11C2;B8E7;1105 116D 11C2; +B8E8;B8E8;1105 116E;B8E8;1105 116E; +B8E9;B8E9;1105 116E 11A8;B8E9;1105 116E 11A8; +B8EA;B8EA;1105 116E 11A9;B8EA;1105 116E 11A9; +B8EB;B8EB;1105 116E 11AA;B8EB;1105 116E 11AA; +B8EC;B8EC;1105 116E 11AB;B8EC;1105 116E 11AB; +B8ED;B8ED;1105 116E 11AC;B8ED;1105 116E 11AC; +B8EE;B8EE;1105 116E 11AD;B8EE;1105 116E 11AD; +B8EF;B8EF;1105 116E 11AE;B8EF;1105 116E 11AE; +B8F0;B8F0;1105 116E 11AF;B8F0;1105 116E 11AF; +B8F1;B8F1;1105 116E 11B0;B8F1;1105 116E 11B0; +B8F2;B8F2;1105 116E 11B1;B8F2;1105 116E 11B1; +B8F3;B8F3;1105 116E 11B2;B8F3;1105 116E 11B2; +B8F4;B8F4;1105 116E 11B3;B8F4;1105 116E 11B3; +B8F5;B8F5;1105 116E 11B4;B8F5;1105 116E 11B4; +B8F6;B8F6;1105 116E 11B5;B8F6;1105 116E 11B5; +B8F7;B8F7;1105 116E 11B6;B8F7;1105 116E 11B6; +B8F8;B8F8;1105 116E 11B7;B8F8;1105 116E 11B7; +B8F9;B8F9;1105 116E 11B8;B8F9;1105 116E 11B8; +B8FA;B8FA;1105 116E 11B9;B8FA;1105 116E 11B9; +B8FB;B8FB;1105 116E 11BA;B8FB;1105 116E 11BA; +B8FC;B8FC;1105 116E 11BB;B8FC;1105 116E 11BB; +B8FD;B8FD;1105 116E 11BC;B8FD;1105 116E 11BC; +B8FE;B8FE;1105 116E 11BD;B8FE;1105 116E 11BD; +B8FF;B8FF;1105 116E 11BE;B8FF;1105 116E 11BE; +B900;B900;1105 116E 11BF;B900;1105 116E 11BF; +B901;B901;1105 116E 11C0;B901;1105 116E 11C0; +B902;B902;1105 116E 11C1;B902;1105 116E 11C1; +B903;B903;1105 116E 11C2;B903;1105 116E 11C2; +B904;B904;1105 116F;B904;1105 116F; +B905;B905;1105 116F 11A8;B905;1105 116F 11A8; +B906;B906;1105 116F 11A9;B906;1105 116F 11A9; +B907;B907;1105 116F 11AA;B907;1105 116F 11AA; +B908;B908;1105 116F 11AB;B908;1105 116F 11AB; +B909;B909;1105 116F 11AC;B909;1105 116F 11AC; +B90A;B90A;1105 116F 11AD;B90A;1105 116F 11AD; +B90B;B90B;1105 116F 11AE;B90B;1105 116F 11AE; +B90C;B90C;1105 116F 11AF;B90C;1105 116F 11AF; +B90D;B90D;1105 116F 11B0;B90D;1105 116F 11B0; +B90E;B90E;1105 116F 11B1;B90E;1105 116F 11B1; +B90F;B90F;1105 116F 11B2;B90F;1105 116F 11B2; +B910;B910;1105 116F 11B3;B910;1105 116F 11B3; +B911;B911;1105 116F 11B4;B911;1105 116F 11B4; +B912;B912;1105 116F 11B5;B912;1105 116F 11B5; +B913;B913;1105 116F 11B6;B913;1105 116F 11B6; +B914;B914;1105 116F 11B7;B914;1105 116F 11B7; +B915;B915;1105 116F 11B8;B915;1105 116F 11B8; +B916;B916;1105 116F 11B9;B916;1105 116F 11B9; +B917;B917;1105 116F 11BA;B917;1105 116F 11BA; +B918;B918;1105 116F 11BB;B918;1105 116F 11BB; +B919;B919;1105 116F 11BC;B919;1105 116F 11BC; +B91A;B91A;1105 116F 11BD;B91A;1105 116F 11BD; +B91B;B91B;1105 116F 11BE;B91B;1105 116F 11BE; +B91C;B91C;1105 116F 11BF;B91C;1105 116F 11BF; +B91D;B91D;1105 116F 11C0;B91D;1105 116F 11C0; +B91E;B91E;1105 116F 11C1;B91E;1105 116F 11C1; +B91F;B91F;1105 116F 11C2;B91F;1105 116F 11C2; +B920;B920;1105 1170;B920;1105 1170; +B921;B921;1105 1170 11A8;B921;1105 1170 11A8; +B922;B922;1105 1170 11A9;B922;1105 1170 11A9; +B923;B923;1105 1170 11AA;B923;1105 1170 11AA; +B924;B924;1105 1170 11AB;B924;1105 1170 11AB; +B925;B925;1105 1170 11AC;B925;1105 1170 11AC; +B926;B926;1105 1170 11AD;B926;1105 1170 11AD; +B927;B927;1105 1170 11AE;B927;1105 1170 11AE; +B928;B928;1105 1170 11AF;B928;1105 1170 11AF; +B929;B929;1105 1170 11B0;B929;1105 1170 11B0; +B92A;B92A;1105 1170 11B1;B92A;1105 1170 11B1; +B92B;B92B;1105 1170 11B2;B92B;1105 1170 11B2; +B92C;B92C;1105 1170 11B3;B92C;1105 1170 11B3; +B92D;B92D;1105 1170 11B4;B92D;1105 1170 11B4; +B92E;B92E;1105 1170 11B5;B92E;1105 1170 11B5; +B92F;B92F;1105 1170 11B6;B92F;1105 1170 11B6; +B930;B930;1105 1170 11B7;B930;1105 1170 11B7; +B931;B931;1105 1170 11B8;B931;1105 1170 11B8; +B932;B932;1105 1170 11B9;B932;1105 1170 11B9; +B933;B933;1105 1170 11BA;B933;1105 1170 11BA; +B934;B934;1105 1170 11BB;B934;1105 1170 11BB; +B935;B935;1105 1170 11BC;B935;1105 1170 11BC; +B936;B936;1105 1170 11BD;B936;1105 1170 11BD; +B937;B937;1105 1170 11BE;B937;1105 1170 11BE; +B938;B938;1105 1170 11BF;B938;1105 1170 11BF; +B939;B939;1105 1170 11C0;B939;1105 1170 11C0; +B93A;B93A;1105 1170 11C1;B93A;1105 1170 11C1; +B93B;B93B;1105 1170 11C2;B93B;1105 1170 11C2; +B93C;B93C;1105 1171;B93C;1105 1171; +B93D;B93D;1105 1171 11A8;B93D;1105 1171 11A8; +B93E;B93E;1105 1171 11A9;B93E;1105 1171 11A9; +B93F;B93F;1105 1171 11AA;B93F;1105 1171 11AA; +B940;B940;1105 1171 11AB;B940;1105 1171 11AB; +B941;B941;1105 1171 11AC;B941;1105 1171 11AC; +B942;B942;1105 1171 11AD;B942;1105 1171 11AD; +B943;B943;1105 1171 11AE;B943;1105 1171 11AE; +B944;B944;1105 1171 11AF;B944;1105 1171 11AF; +B945;B945;1105 1171 11B0;B945;1105 1171 11B0; +B946;B946;1105 1171 11B1;B946;1105 1171 11B1; +B947;B947;1105 1171 11B2;B947;1105 1171 11B2; +B948;B948;1105 1171 11B3;B948;1105 1171 11B3; +B949;B949;1105 1171 11B4;B949;1105 1171 11B4; +B94A;B94A;1105 1171 11B5;B94A;1105 1171 11B5; +B94B;B94B;1105 1171 11B6;B94B;1105 1171 11B6; +B94C;B94C;1105 1171 11B7;B94C;1105 1171 11B7; +B94D;B94D;1105 1171 11B8;B94D;1105 1171 11B8; +B94E;B94E;1105 1171 11B9;B94E;1105 1171 11B9; +B94F;B94F;1105 1171 11BA;B94F;1105 1171 11BA; +B950;B950;1105 1171 11BB;B950;1105 1171 11BB; +B951;B951;1105 1171 11BC;B951;1105 1171 11BC; +B952;B952;1105 1171 11BD;B952;1105 1171 11BD; +B953;B953;1105 1171 11BE;B953;1105 1171 11BE; +B954;B954;1105 1171 11BF;B954;1105 1171 11BF; +B955;B955;1105 1171 11C0;B955;1105 1171 11C0; +B956;B956;1105 1171 11C1;B956;1105 1171 11C1; +B957;B957;1105 1171 11C2;B957;1105 1171 11C2; +B958;B958;1105 1172;B958;1105 1172; +B959;B959;1105 1172 11A8;B959;1105 1172 11A8; +B95A;B95A;1105 1172 11A9;B95A;1105 1172 11A9; +B95B;B95B;1105 1172 11AA;B95B;1105 1172 11AA; +B95C;B95C;1105 1172 11AB;B95C;1105 1172 11AB; +B95D;B95D;1105 1172 11AC;B95D;1105 1172 11AC; +B95E;B95E;1105 1172 11AD;B95E;1105 1172 11AD; +B95F;B95F;1105 1172 11AE;B95F;1105 1172 11AE; +B960;B960;1105 1172 11AF;B960;1105 1172 11AF; +B961;B961;1105 1172 11B0;B961;1105 1172 11B0; +B962;B962;1105 1172 11B1;B962;1105 1172 11B1; +B963;B963;1105 1172 11B2;B963;1105 1172 11B2; +B964;B964;1105 1172 11B3;B964;1105 1172 11B3; +B965;B965;1105 1172 11B4;B965;1105 1172 11B4; +B966;B966;1105 1172 11B5;B966;1105 1172 11B5; +B967;B967;1105 1172 11B6;B967;1105 1172 11B6; +B968;B968;1105 1172 11B7;B968;1105 1172 11B7; +B969;B969;1105 1172 11B8;B969;1105 1172 11B8; +B96A;B96A;1105 1172 11B9;B96A;1105 1172 11B9; +B96B;B96B;1105 1172 11BA;B96B;1105 1172 11BA; +B96C;B96C;1105 1172 11BB;B96C;1105 1172 11BB; +B96D;B96D;1105 1172 11BC;B96D;1105 1172 11BC; +B96E;B96E;1105 1172 11BD;B96E;1105 1172 11BD; +B96F;B96F;1105 1172 11BE;B96F;1105 1172 11BE; +B970;B970;1105 1172 11BF;B970;1105 1172 11BF; +B971;B971;1105 1172 11C0;B971;1105 1172 11C0; +B972;B972;1105 1172 11C1;B972;1105 1172 11C1; +B973;B973;1105 1172 11C2;B973;1105 1172 11C2; +B974;B974;1105 1173;B974;1105 1173; +B975;B975;1105 1173 11A8;B975;1105 1173 11A8; +B976;B976;1105 1173 11A9;B976;1105 1173 11A9; +B977;B977;1105 1173 11AA;B977;1105 1173 11AA; +B978;B978;1105 1173 11AB;B978;1105 1173 11AB; +B979;B979;1105 1173 11AC;B979;1105 1173 11AC; +B97A;B97A;1105 1173 11AD;B97A;1105 1173 11AD; +B97B;B97B;1105 1173 11AE;B97B;1105 1173 11AE; +B97C;B97C;1105 1173 11AF;B97C;1105 1173 11AF; +B97D;B97D;1105 1173 11B0;B97D;1105 1173 11B0; +B97E;B97E;1105 1173 11B1;B97E;1105 1173 11B1; +B97F;B97F;1105 1173 11B2;B97F;1105 1173 11B2; +B980;B980;1105 1173 11B3;B980;1105 1173 11B3; +B981;B981;1105 1173 11B4;B981;1105 1173 11B4; +B982;B982;1105 1173 11B5;B982;1105 1173 11B5; +B983;B983;1105 1173 11B6;B983;1105 1173 11B6; +B984;B984;1105 1173 11B7;B984;1105 1173 11B7; +B985;B985;1105 1173 11B8;B985;1105 1173 11B8; +B986;B986;1105 1173 11B9;B986;1105 1173 11B9; +B987;B987;1105 1173 11BA;B987;1105 1173 11BA; +B988;B988;1105 1173 11BB;B988;1105 1173 11BB; +B989;B989;1105 1173 11BC;B989;1105 1173 11BC; +B98A;B98A;1105 1173 11BD;B98A;1105 1173 11BD; +B98B;B98B;1105 1173 11BE;B98B;1105 1173 11BE; +B98C;B98C;1105 1173 11BF;B98C;1105 1173 11BF; +B98D;B98D;1105 1173 11C0;B98D;1105 1173 11C0; +B98E;B98E;1105 1173 11C1;B98E;1105 1173 11C1; +B98F;B98F;1105 1173 11C2;B98F;1105 1173 11C2; +B990;B990;1105 1174;B990;1105 1174; +B991;B991;1105 1174 11A8;B991;1105 1174 11A8; +B992;B992;1105 1174 11A9;B992;1105 1174 11A9; +B993;B993;1105 1174 11AA;B993;1105 1174 11AA; +B994;B994;1105 1174 11AB;B994;1105 1174 11AB; +B995;B995;1105 1174 11AC;B995;1105 1174 11AC; +B996;B996;1105 1174 11AD;B996;1105 1174 11AD; +B997;B997;1105 1174 11AE;B997;1105 1174 11AE; +B998;B998;1105 1174 11AF;B998;1105 1174 11AF; +B999;B999;1105 1174 11B0;B999;1105 1174 11B0; +B99A;B99A;1105 1174 11B1;B99A;1105 1174 11B1; +B99B;B99B;1105 1174 11B2;B99B;1105 1174 11B2; +B99C;B99C;1105 1174 11B3;B99C;1105 1174 11B3; +B99D;B99D;1105 1174 11B4;B99D;1105 1174 11B4; +B99E;B99E;1105 1174 11B5;B99E;1105 1174 11B5; +B99F;B99F;1105 1174 11B6;B99F;1105 1174 11B6; +B9A0;B9A0;1105 1174 11B7;B9A0;1105 1174 11B7; +B9A1;B9A1;1105 1174 11B8;B9A1;1105 1174 11B8; +B9A2;B9A2;1105 1174 11B9;B9A2;1105 1174 11B9; +B9A3;B9A3;1105 1174 11BA;B9A3;1105 1174 11BA; +B9A4;B9A4;1105 1174 11BB;B9A4;1105 1174 11BB; +B9A5;B9A5;1105 1174 11BC;B9A5;1105 1174 11BC; +B9A6;B9A6;1105 1174 11BD;B9A6;1105 1174 11BD; +B9A7;B9A7;1105 1174 11BE;B9A7;1105 1174 11BE; +B9A8;B9A8;1105 1174 11BF;B9A8;1105 1174 11BF; +B9A9;B9A9;1105 1174 11C0;B9A9;1105 1174 11C0; +B9AA;B9AA;1105 1174 11C1;B9AA;1105 1174 11C1; +B9AB;B9AB;1105 1174 11C2;B9AB;1105 1174 11C2; +B9AC;B9AC;1105 1175;B9AC;1105 1175; +B9AD;B9AD;1105 1175 11A8;B9AD;1105 1175 11A8; +B9AE;B9AE;1105 1175 11A9;B9AE;1105 1175 11A9; +B9AF;B9AF;1105 1175 11AA;B9AF;1105 1175 11AA; +B9B0;B9B0;1105 1175 11AB;B9B0;1105 1175 11AB; +B9B1;B9B1;1105 1175 11AC;B9B1;1105 1175 11AC; +B9B2;B9B2;1105 1175 11AD;B9B2;1105 1175 11AD; +B9B3;B9B3;1105 1175 11AE;B9B3;1105 1175 11AE; +B9B4;B9B4;1105 1175 11AF;B9B4;1105 1175 11AF; +B9B5;B9B5;1105 1175 11B0;B9B5;1105 1175 11B0; +B9B6;B9B6;1105 1175 11B1;B9B6;1105 1175 11B1; +B9B7;B9B7;1105 1175 11B2;B9B7;1105 1175 11B2; +B9B8;B9B8;1105 1175 11B3;B9B8;1105 1175 11B3; +B9B9;B9B9;1105 1175 11B4;B9B9;1105 1175 11B4; +B9BA;B9BA;1105 1175 11B5;B9BA;1105 1175 11B5; +B9BB;B9BB;1105 1175 11B6;B9BB;1105 1175 11B6; +B9BC;B9BC;1105 1175 11B7;B9BC;1105 1175 11B7; +B9BD;B9BD;1105 1175 11B8;B9BD;1105 1175 11B8; +B9BE;B9BE;1105 1175 11B9;B9BE;1105 1175 11B9; +B9BF;B9BF;1105 1175 11BA;B9BF;1105 1175 11BA; +B9C0;B9C0;1105 1175 11BB;B9C0;1105 1175 11BB; +B9C1;B9C1;1105 1175 11BC;B9C1;1105 1175 11BC; +B9C2;B9C2;1105 1175 11BD;B9C2;1105 1175 11BD; +B9C3;B9C3;1105 1175 11BE;B9C3;1105 1175 11BE; +B9C4;B9C4;1105 1175 11BF;B9C4;1105 1175 11BF; +B9C5;B9C5;1105 1175 11C0;B9C5;1105 1175 11C0; +B9C6;B9C6;1105 1175 11C1;B9C6;1105 1175 11C1; +B9C7;B9C7;1105 1175 11C2;B9C7;1105 1175 11C2; +B9C8;B9C8;1106 1161;B9C8;1106 1161; +B9C9;B9C9;1106 1161 11A8;B9C9;1106 1161 11A8; +B9CA;B9CA;1106 1161 11A9;B9CA;1106 1161 11A9; +B9CB;B9CB;1106 1161 11AA;B9CB;1106 1161 11AA; +B9CC;B9CC;1106 1161 11AB;B9CC;1106 1161 11AB; +B9CD;B9CD;1106 1161 11AC;B9CD;1106 1161 11AC; +B9CE;B9CE;1106 1161 11AD;B9CE;1106 1161 11AD; +B9CF;B9CF;1106 1161 11AE;B9CF;1106 1161 11AE; +B9D0;B9D0;1106 1161 11AF;B9D0;1106 1161 11AF; +B9D1;B9D1;1106 1161 11B0;B9D1;1106 1161 11B0; +B9D2;B9D2;1106 1161 11B1;B9D2;1106 1161 11B1; +B9D3;B9D3;1106 1161 11B2;B9D3;1106 1161 11B2; +B9D4;B9D4;1106 1161 11B3;B9D4;1106 1161 11B3; +B9D5;B9D5;1106 1161 11B4;B9D5;1106 1161 11B4; +B9D6;B9D6;1106 1161 11B5;B9D6;1106 1161 11B5; +B9D7;B9D7;1106 1161 11B6;B9D7;1106 1161 11B6; +B9D8;B9D8;1106 1161 11B7;B9D8;1106 1161 11B7; +B9D9;B9D9;1106 1161 11B8;B9D9;1106 1161 11B8; +B9DA;B9DA;1106 1161 11B9;B9DA;1106 1161 11B9; +B9DB;B9DB;1106 1161 11BA;B9DB;1106 1161 11BA; +B9DC;B9DC;1106 1161 11BB;B9DC;1106 1161 11BB; +B9DD;B9DD;1106 1161 11BC;B9DD;1106 1161 11BC; +B9DE;B9DE;1106 1161 11BD;B9DE;1106 1161 11BD; +B9DF;B9DF;1106 1161 11BE;B9DF;1106 1161 11BE; +B9E0;B9E0;1106 1161 11BF;B9E0;1106 1161 11BF; +B9E1;B9E1;1106 1161 11C0;B9E1;1106 1161 11C0; +B9E2;B9E2;1106 1161 11C1;B9E2;1106 1161 11C1; +B9E3;B9E3;1106 1161 11C2;B9E3;1106 1161 11C2; +B9E4;B9E4;1106 1162;B9E4;1106 1162; +B9E5;B9E5;1106 1162 11A8;B9E5;1106 1162 11A8; +B9E6;B9E6;1106 1162 11A9;B9E6;1106 1162 11A9; +B9E7;B9E7;1106 1162 11AA;B9E7;1106 1162 11AA; +B9E8;B9E8;1106 1162 11AB;B9E8;1106 1162 11AB; +B9E9;B9E9;1106 1162 11AC;B9E9;1106 1162 11AC; +B9EA;B9EA;1106 1162 11AD;B9EA;1106 1162 11AD; +B9EB;B9EB;1106 1162 11AE;B9EB;1106 1162 11AE; +B9EC;B9EC;1106 1162 11AF;B9EC;1106 1162 11AF; +B9ED;B9ED;1106 1162 11B0;B9ED;1106 1162 11B0; +B9EE;B9EE;1106 1162 11B1;B9EE;1106 1162 11B1; +B9EF;B9EF;1106 1162 11B2;B9EF;1106 1162 11B2; +B9F0;B9F0;1106 1162 11B3;B9F0;1106 1162 11B3; +B9F1;B9F1;1106 1162 11B4;B9F1;1106 1162 11B4; +B9F2;B9F2;1106 1162 11B5;B9F2;1106 1162 11B5; +B9F3;B9F3;1106 1162 11B6;B9F3;1106 1162 11B6; +B9F4;B9F4;1106 1162 11B7;B9F4;1106 1162 11B7; +B9F5;B9F5;1106 1162 11B8;B9F5;1106 1162 11B8; +B9F6;B9F6;1106 1162 11B9;B9F6;1106 1162 11B9; +B9F7;B9F7;1106 1162 11BA;B9F7;1106 1162 11BA; +B9F8;B9F8;1106 1162 11BB;B9F8;1106 1162 11BB; +B9F9;B9F9;1106 1162 11BC;B9F9;1106 1162 11BC; +B9FA;B9FA;1106 1162 11BD;B9FA;1106 1162 11BD; +B9FB;B9FB;1106 1162 11BE;B9FB;1106 1162 11BE; +B9FC;B9FC;1106 1162 11BF;B9FC;1106 1162 11BF; +B9FD;B9FD;1106 1162 11C0;B9FD;1106 1162 11C0; +B9FE;B9FE;1106 1162 11C1;B9FE;1106 1162 11C1; +B9FF;B9FF;1106 1162 11C2;B9FF;1106 1162 11C2; +BA00;BA00;1106 1163;BA00;1106 1163; +BA01;BA01;1106 1163 11A8;BA01;1106 1163 11A8; +BA02;BA02;1106 1163 11A9;BA02;1106 1163 11A9; +BA03;BA03;1106 1163 11AA;BA03;1106 1163 11AA; +BA04;BA04;1106 1163 11AB;BA04;1106 1163 11AB; +BA05;BA05;1106 1163 11AC;BA05;1106 1163 11AC; +BA06;BA06;1106 1163 11AD;BA06;1106 1163 11AD; +BA07;BA07;1106 1163 11AE;BA07;1106 1163 11AE; +BA08;BA08;1106 1163 11AF;BA08;1106 1163 11AF; +BA09;BA09;1106 1163 11B0;BA09;1106 1163 11B0; +BA0A;BA0A;1106 1163 11B1;BA0A;1106 1163 11B1; +BA0B;BA0B;1106 1163 11B2;BA0B;1106 1163 11B2; +BA0C;BA0C;1106 1163 11B3;BA0C;1106 1163 11B3; +BA0D;BA0D;1106 1163 11B4;BA0D;1106 1163 11B4; +BA0E;BA0E;1106 1163 11B5;BA0E;1106 1163 11B5; +BA0F;BA0F;1106 1163 11B6;BA0F;1106 1163 11B6; +BA10;BA10;1106 1163 11B7;BA10;1106 1163 11B7; +BA11;BA11;1106 1163 11B8;BA11;1106 1163 11B8; +BA12;BA12;1106 1163 11B9;BA12;1106 1163 11B9; +BA13;BA13;1106 1163 11BA;BA13;1106 1163 11BA; +BA14;BA14;1106 1163 11BB;BA14;1106 1163 11BB; +BA15;BA15;1106 1163 11BC;BA15;1106 1163 11BC; +BA16;BA16;1106 1163 11BD;BA16;1106 1163 11BD; +BA17;BA17;1106 1163 11BE;BA17;1106 1163 11BE; +BA18;BA18;1106 1163 11BF;BA18;1106 1163 11BF; +BA19;BA19;1106 1163 11C0;BA19;1106 1163 11C0; +BA1A;BA1A;1106 1163 11C1;BA1A;1106 1163 11C1; +BA1B;BA1B;1106 1163 11C2;BA1B;1106 1163 11C2; +BA1C;BA1C;1106 1164;BA1C;1106 1164; +BA1D;BA1D;1106 1164 11A8;BA1D;1106 1164 11A8; +BA1E;BA1E;1106 1164 11A9;BA1E;1106 1164 11A9; +BA1F;BA1F;1106 1164 11AA;BA1F;1106 1164 11AA; +BA20;BA20;1106 1164 11AB;BA20;1106 1164 11AB; +BA21;BA21;1106 1164 11AC;BA21;1106 1164 11AC; +BA22;BA22;1106 1164 11AD;BA22;1106 1164 11AD; +BA23;BA23;1106 1164 11AE;BA23;1106 1164 11AE; +BA24;BA24;1106 1164 11AF;BA24;1106 1164 11AF; +BA25;BA25;1106 1164 11B0;BA25;1106 1164 11B0; +BA26;BA26;1106 1164 11B1;BA26;1106 1164 11B1; +BA27;BA27;1106 1164 11B2;BA27;1106 1164 11B2; +BA28;BA28;1106 1164 11B3;BA28;1106 1164 11B3; +BA29;BA29;1106 1164 11B4;BA29;1106 1164 11B4; +BA2A;BA2A;1106 1164 11B5;BA2A;1106 1164 11B5; +BA2B;BA2B;1106 1164 11B6;BA2B;1106 1164 11B6; +BA2C;BA2C;1106 1164 11B7;BA2C;1106 1164 11B7; +BA2D;BA2D;1106 1164 11B8;BA2D;1106 1164 11B8; +BA2E;BA2E;1106 1164 11B9;BA2E;1106 1164 11B9; +BA2F;BA2F;1106 1164 11BA;BA2F;1106 1164 11BA; +BA30;BA30;1106 1164 11BB;BA30;1106 1164 11BB; +BA31;BA31;1106 1164 11BC;BA31;1106 1164 11BC; +BA32;BA32;1106 1164 11BD;BA32;1106 1164 11BD; +BA33;BA33;1106 1164 11BE;BA33;1106 1164 11BE; +BA34;BA34;1106 1164 11BF;BA34;1106 1164 11BF; +BA35;BA35;1106 1164 11C0;BA35;1106 1164 11C0; +BA36;BA36;1106 1164 11C1;BA36;1106 1164 11C1; +BA37;BA37;1106 1164 11C2;BA37;1106 1164 11C2; +BA38;BA38;1106 1165;BA38;1106 1165; +BA39;BA39;1106 1165 11A8;BA39;1106 1165 11A8; +BA3A;BA3A;1106 1165 11A9;BA3A;1106 1165 11A9; +BA3B;BA3B;1106 1165 11AA;BA3B;1106 1165 11AA; +BA3C;BA3C;1106 1165 11AB;BA3C;1106 1165 11AB; +BA3D;BA3D;1106 1165 11AC;BA3D;1106 1165 11AC; +BA3E;BA3E;1106 1165 11AD;BA3E;1106 1165 11AD; +BA3F;BA3F;1106 1165 11AE;BA3F;1106 1165 11AE; +BA40;BA40;1106 1165 11AF;BA40;1106 1165 11AF; +BA41;BA41;1106 1165 11B0;BA41;1106 1165 11B0; +BA42;BA42;1106 1165 11B1;BA42;1106 1165 11B1; +BA43;BA43;1106 1165 11B2;BA43;1106 1165 11B2; +BA44;BA44;1106 1165 11B3;BA44;1106 1165 11B3; +BA45;BA45;1106 1165 11B4;BA45;1106 1165 11B4; +BA46;BA46;1106 1165 11B5;BA46;1106 1165 11B5; +BA47;BA47;1106 1165 11B6;BA47;1106 1165 11B6; +BA48;BA48;1106 1165 11B7;BA48;1106 1165 11B7; +BA49;BA49;1106 1165 11B8;BA49;1106 1165 11B8; +BA4A;BA4A;1106 1165 11B9;BA4A;1106 1165 11B9; +BA4B;BA4B;1106 1165 11BA;BA4B;1106 1165 11BA; +BA4C;BA4C;1106 1165 11BB;BA4C;1106 1165 11BB; +BA4D;BA4D;1106 1165 11BC;BA4D;1106 1165 11BC; +BA4E;BA4E;1106 1165 11BD;BA4E;1106 1165 11BD; +BA4F;BA4F;1106 1165 11BE;BA4F;1106 1165 11BE; +BA50;BA50;1106 1165 11BF;BA50;1106 1165 11BF; +BA51;BA51;1106 1165 11C0;BA51;1106 1165 11C0; +BA52;BA52;1106 1165 11C1;BA52;1106 1165 11C1; +BA53;BA53;1106 1165 11C2;BA53;1106 1165 11C2; +BA54;BA54;1106 1166;BA54;1106 1166; +BA55;BA55;1106 1166 11A8;BA55;1106 1166 11A8; +BA56;BA56;1106 1166 11A9;BA56;1106 1166 11A9; +BA57;BA57;1106 1166 11AA;BA57;1106 1166 11AA; +BA58;BA58;1106 1166 11AB;BA58;1106 1166 11AB; +BA59;BA59;1106 1166 11AC;BA59;1106 1166 11AC; +BA5A;BA5A;1106 1166 11AD;BA5A;1106 1166 11AD; +BA5B;BA5B;1106 1166 11AE;BA5B;1106 1166 11AE; +BA5C;BA5C;1106 1166 11AF;BA5C;1106 1166 11AF; +BA5D;BA5D;1106 1166 11B0;BA5D;1106 1166 11B0; +BA5E;BA5E;1106 1166 11B1;BA5E;1106 1166 11B1; +BA5F;BA5F;1106 1166 11B2;BA5F;1106 1166 11B2; +BA60;BA60;1106 1166 11B3;BA60;1106 1166 11B3; +BA61;BA61;1106 1166 11B4;BA61;1106 1166 11B4; +BA62;BA62;1106 1166 11B5;BA62;1106 1166 11B5; +BA63;BA63;1106 1166 11B6;BA63;1106 1166 11B6; +BA64;BA64;1106 1166 11B7;BA64;1106 1166 11B7; +BA65;BA65;1106 1166 11B8;BA65;1106 1166 11B8; +BA66;BA66;1106 1166 11B9;BA66;1106 1166 11B9; +BA67;BA67;1106 1166 11BA;BA67;1106 1166 11BA; +BA68;BA68;1106 1166 11BB;BA68;1106 1166 11BB; +BA69;BA69;1106 1166 11BC;BA69;1106 1166 11BC; +BA6A;BA6A;1106 1166 11BD;BA6A;1106 1166 11BD; +BA6B;BA6B;1106 1166 11BE;BA6B;1106 1166 11BE; +BA6C;BA6C;1106 1166 11BF;BA6C;1106 1166 11BF; +BA6D;BA6D;1106 1166 11C0;BA6D;1106 1166 11C0; +BA6E;BA6E;1106 1166 11C1;BA6E;1106 1166 11C1; +BA6F;BA6F;1106 1166 11C2;BA6F;1106 1166 11C2; +BA70;BA70;1106 1167;BA70;1106 1167; +BA71;BA71;1106 1167 11A8;BA71;1106 1167 11A8; +BA72;BA72;1106 1167 11A9;BA72;1106 1167 11A9; +BA73;BA73;1106 1167 11AA;BA73;1106 1167 11AA; +BA74;BA74;1106 1167 11AB;BA74;1106 1167 11AB; +BA75;BA75;1106 1167 11AC;BA75;1106 1167 11AC; +BA76;BA76;1106 1167 11AD;BA76;1106 1167 11AD; +BA77;BA77;1106 1167 11AE;BA77;1106 1167 11AE; +BA78;BA78;1106 1167 11AF;BA78;1106 1167 11AF; +BA79;BA79;1106 1167 11B0;BA79;1106 1167 11B0; +BA7A;BA7A;1106 1167 11B1;BA7A;1106 1167 11B1; +BA7B;BA7B;1106 1167 11B2;BA7B;1106 1167 11B2; +BA7C;BA7C;1106 1167 11B3;BA7C;1106 1167 11B3; +BA7D;BA7D;1106 1167 11B4;BA7D;1106 1167 11B4; +BA7E;BA7E;1106 1167 11B5;BA7E;1106 1167 11B5; +BA7F;BA7F;1106 1167 11B6;BA7F;1106 1167 11B6; +BA80;BA80;1106 1167 11B7;BA80;1106 1167 11B7; +BA81;BA81;1106 1167 11B8;BA81;1106 1167 11B8; +BA82;BA82;1106 1167 11B9;BA82;1106 1167 11B9; +BA83;BA83;1106 1167 11BA;BA83;1106 1167 11BA; +BA84;BA84;1106 1167 11BB;BA84;1106 1167 11BB; +BA85;BA85;1106 1167 11BC;BA85;1106 1167 11BC; +BA86;BA86;1106 1167 11BD;BA86;1106 1167 11BD; +BA87;BA87;1106 1167 11BE;BA87;1106 1167 11BE; +BA88;BA88;1106 1167 11BF;BA88;1106 1167 11BF; +BA89;BA89;1106 1167 11C0;BA89;1106 1167 11C0; +BA8A;BA8A;1106 1167 11C1;BA8A;1106 1167 11C1; +BA8B;BA8B;1106 1167 11C2;BA8B;1106 1167 11C2; +BA8C;BA8C;1106 1168;BA8C;1106 1168; +BA8D;BA8D;1106 1168 11A8;BA8D;1106 1168 11A8; +BA8E;BA8E;1106 1168 11A9;BA8E;1106 1168 11A9; +BA8F;BA8F;1106 1168 11AA;BA8F;1106 1168 11AA; +BA90;BA90;1106 1168 11AB;BA90;1106 1168 11AB; +BA91;BA91;1106 1168 11AC;BA91;1106 1168 11AC; +BA92;BA92;1106 1168 11AD;BA92;1106 1168 11AD; +BA93;BA93;1106 1168 11AE;BA93;1106 1168 11AE; +BA94;BA94;1106 1168 11AF;BA94;1106 1168 11AF; +BA95;BA95;1106 1168 11B0;BA95;1106 1168 11B0; +BA96;BA96;1106 1168 11B1;BA96;1106 1168 11B1; +BA97;BA97;1106 1168 11B2;BA97;1106 1168 11B2; +BA98;BA98;1106 1168 11B3;BA98;1106 1168 11B3; +BA99;BA99;1106 1168 11B4;BA99;1106 1168 11B4; +BA9A;BA9A;1106 1168 11B5;BA9A;1106 1168 11B5; +BA9B;BA9B;1106 1168 11B6;BA9B;1106 1168 11B6; +BA9C;BA9C;1106 1168 11B7;BA9C;1106 1168 11B7; +BA9D;BA9D;1106 1168 11B8;BA9D;1106 1168 11B8; +BA9E;BA9E;1106 1168 11B9;BA9E;1106 1168 11B9; +BA9F;BA9F;1106 1168 11BA;BA9F;1106 1168 11BA; +BAA0;BAA0;1106 1168 11BB;BAA0;1106 1168 11BB; +BAA1;BAA1;1106 1168 11BC;BAA1;1106 1168 11BC; +BAA2;BAA2;1106 1168 11BD;BAA2;1106 1168 11BD; +BAA3;BAA3;1106 1168 11BE;BAA3;1106 1168 11BE; +BAA4;BAA4;1106 1168 11BF;BAA4;1106 1168 11BF; +BAA5;BAA5;1106 1168 11C0;BAA5;1106 1168 11C0; +BAA6;BAA6;1106 1168 11C1;BAA6;1106 1168 11C1; +BAA7;BAA7;1106 1168 11C2;BAA7;1106 1168 11C2; +BAA8;BAA8;1106 1169;BAA8;1106 1169; +BAA9;BAA9;1106 1169 11A8;BAA9;1106 1169 11A8; +BAAA;BAAA;1106 1169 11A9;BAAA;1106 1169 11A9; +BAAB;BAAB;1106 1169 11AA;BAAB;1106 1169 11AA; +BAAC;BAAC;1106 1169 11AB;BAAC;1106 1169 11AB; +BAAD;BAAD;1106 1169 11AC;BAAD;1106 1169 11AC; +BAAE;BAAE;1106 1169 11AD;BAAE;1106 1169 11AD; +BAAF;BAAF;1106 1169 11AE;BAAF;1106 1169 11AE; +BAB0;BAB0;1106 1169 11AF;BAB0;1106 1169 11AF; +BAB1;BAB1;1106 1169 11B0;BAB1;1106 1169 11B0; +BAB2;BAB2;1106 1169 11B1;BAB2;1106 1169 11B1; +BAB3;BAB3;1106 1169 11B2;BAB3;1106 1169 11B2; +BAB4;BAB4;1106 1169 11B3;BAB4;1106 1169 11B3; +BAB5;BAB5;1106 1169 11B4;BAB5;1106 1169 11B4; +BAB6;BAB6;1106 1169 11B5;BAB6;1106 1169 11B5; +BAB7;BAB7;1106 1169 11B6;BAB7;1106 1169 11B6; +BAB8;BAB8;1106 1169 11B7;BAB8;1106 1169 11B7; +BAB9;BAB9;1106 1169 11B8;BAB9;1106 1169 11B8; +BABA;BABA;1106 1169 11B9;BABA;1106 1169 11B9; +BABB;BABB;1106 1169 11BA;BABB;1106 1169 11BA; +BABC;BABC;1106 1169 11BB;BABC;1106 1169 11BB; +BABD;BABD;1106 1169 11BC;BABD;1106 1169 11BC; +BABE;BABE;1106 1169 11BD;BABE;1106 1169 11BD; +BABF;BABF;1106 1169 11BE;BABF;1106 1169 11BE; +BAC0;BAC0;1106 1169 11BF;BAC0;1106 1169 11BF; +BAC1;BAC1;1106 1169 11C0;BAC1;1106 1169 11C0; +BAC2;BAC2;1106 1169 11C1;BAC2;1106 1169 11C1; +BAC3;BAC3;1106 1169 11C2;BAC3;1106 1169 11C2; +BAC4;BAC4;1106 116A;BAC4;1106 116A; +BAC5;BAC5;1106 116A 11A8;BAC5;1106 116A 11A8; +BAC6;BAC6;1106 116A 11A9;BAC6;1106 116A 11A9; +BAC7;BAC7;1106 116A 11AA;BAC7;1106 116A 11AA; +BAC8;BAC8;1106 116A 11AB;BAC8;1106 116A 11AB; +BAC9;BAC9;1106 116A 11AC;BAC9;1106 116A 11AC; +BACA;BACA;1106 116A 11AD;BACA;1106 116A 11AD; +BACB;BACB;1106 116A 11AE;BACB;1106 116A 11AE; +BACC;BACC;1106 116A 11AF;BACC;1106 116A 11AF; +BACD;BACD;1106 116A 11B0;BACD;1106 116A 11B0; +BACE;BACE;1106 116A 11B1;BACE;1106 116A 11B1; +BACF;BACF;1106 116A 11B2;BACF;1106 116A 11B2; +BAD0;BAD0;1106 116A 11B3;BAD0;1106 116A 11B3; +BAD1;BAD1;1106 116A 11B4;BAD1;1106 116A 11B4; +BAD2;BAD2;1106 116A 11B5;BAD2;1106 116A 11B5; +BAD3;BAD3;1106 116A 11B6;BAD3;1106 116A 11B6; +BAD4;BAD4;1106 116A 11B7;BAD4;1106 116A 11B7; +BAD5;BAD5;1106 116A 11B8;BAD5;1106 116A 11B8; +BAD6;BAD6;1106 116A 11B9;BAD6;1106 116A 11B9; +BAD7;BAD7;1106 116A 11BA;BAD7;1106 116A 11BA; +BAD8;BAD8;1106 116A 11BB;BAD8;1106 116A 11BB; +BAD9;BAD9;1106 116A 11BC;BAD9;1106 116A 11BC; +BADA;BADA;1106 116A 11BD;BADA;1106 116A 11BD; +BADB;BADB;1106 116A 11BE;BADB;1106 116A 11BE; +BADC;BADC;1106 116A 11BF;BADC;1106 116A 11BF; +BADD;BADD;1106 116A 11C0;BADD;1106 116A 11C0; +BADE;BADE;1106 116A 11C1;BADE;1106 116A 11C1; +BADF;BADF;1106 116A 11C2;BADF;1106 116A 11C2; +BAE0;BAE0;1106 116B;BAE0;1106 116B; +BAE1;BAE1;1106 116B 11A8;BAE1;1106 116B 11A8; +BAE2;BAE2;1106 116B 11A9;BAE2;1106 116B 11A9; +BAE3;BAE3;1106 116B 11AA;BAE3;1106 116B 11AA; +BAE4;BAE4;1106 116B 11AB;BAE4;1106 116B 11AB; +BAE5;BAE5;1106 116B 11AC;BAE5;1106 116B 11AC; +BAE6;BAE6;1106 116B 11AD;BAE6;1106 116B 11AD; +BAE7;BAE7;1106 116B 11AE;BAE7;1106 116B 11AE; +BAE8;BAE8;1106 116B 11AF;BAE8;1106 116B 11AF; +BAE9;BAE9;1106 116B 11B0;BAE9;1106 116B 11B0; +BAEA;BAEA;1106 116B 11B1;BAEA;1106 116B 11B1; +BAEB;BAEB;1106 116B 11B2;BAEB;1106 116B 11B2; +BAEC;BAEC;1106 116B 11B3;BAEC;1106 116B 11B3; +BAED;BAED;1106 116B 11B4;BAED;1106 116B 11B4; +BAEE;BAEE;1106 116B 11B5;BAEE;1106 116B 11B5; +BAEF;BAEF;1106 116B 11B6;BAEF;1106 116B 11B6; +BAF0;BAF0;1106 116B 11B7;BAF0;1106 116B 11B7; +BAF1;BAF1;1106 116B 11B8;BAF1;1106 116B 11B8; +BAF2;BAF2;1106 116B 11B9;BAF2;1106 116B 11B9; +BAF3;BAF3;1106 116B 11BA;BAF3;1106 116B 11BA; +BAF4;BAF4;1106 116B 11BB;BAF4;1106 116B 11BB; +BAF5;BAF5;1106 116B 11BC;BAF5;1106 116B 11BC; +BAF6;BAF6;1106 116B 11BD;BAF6;1106 116B 11BD; +BAF7;BAF7;1106 116B 11BE;BAF7;1106 116B 11BE; +BAF8;BAF8;1106 116B 11BF;BAF8;1106 116B 11BF; +BAF9;BAF9;1106 116B 11C0;BAF9;1106 116B 11C0; +BAFA;BAFA;1106 116B 11C1;BAFA;1106 116B 11C1; +BAFB;BAFB;1106 116B 11C2;BAFB;1106 116B 11C2; +BAFC;BAFC;1106 116C;BAFC;1106 116C; +BAFD;BAFD;1106 116C 11A8;BAFD;1106 116C 11A8; +BAFE;BAFE;1106 116C 11A9;BAFE;1106 116C 11A9; +BAFF;BAFF;1106 116C 11AA;BAFF;1106 116C 11AA; +BB00;BB00;1106 116C 11AB;BB00;1106 116C 11AB; +BB01;BB01;1106 116C 11AC;BB01;1106 116C 11AC; +BB02;BB02;1106 116C 11AD;BB02;1106 116C 11AD; +BB03;BB03;1106 116C 11AE;BB03;1106 116C 11AE; +BB04;BB04;1106 116C 11AF;BB04;1106 116C 11AF; +BB05;BB05;1106 116C 11B0;BB05;1106 116C 11B0; +BB06;BB06;1106 116C 11B1;BB06;1106 116C 11B1; +BB07;BB07;1106 116C 11B2;BB07;1106 116C 11B2; +BB08;BB08;1106 116C 11B3;BB08;1106 116C 11B3; +BB09;BB09;1106 116C 11B4;BB09;1106 116C 11B4; +BB0A;BB0A;1106 116C 11B5;BB0A;1106 116C 11B5; +BB0B;BB0B;1106 116C 11B6;BB0B;1106 116C 11B6; +BB0C;BB0C;1106 116C 11B7;BB0C;1106 116C 11B7; +BB0D;BB0D;1106 116C 11B8;BB0D;1106 116C 11B8; +BB0E;BB0E;1106 116C 11B9;BB0E;1106 116C 11B9; +BB0F;BB0F;1106 116C 11BA;BB0F;1106 116C 11BA; +BB10;BB10;1106 116C 11BB;BB10;1106 116C 11BB; +BB11;BB11;1106 116C 11BC;BB11;1106 116C 11BC; +BB12;BB12;1106 116C 11BD;BB12;1106 116C 11BD; +BB13;BB13;1106 116C 11BE;BB13;1106 116C 11BE; +BB14;BB14;1106 116C 11BF;BB14;1106 116C 11BF; +BB15;BB15;1106 116C 11C0;BB15;1106 116C 11C0; +BB16;BB16;1106 116C 11C1;BB16;1106 116C 11C1; +BB17;BB17;1106 116C 11C2;BB17;1106 116C 11C2; +BB18;BB18;1106 116D;BB18;1106 116D; +BB19;BB19;1106 116D 11A8;BB19;1106 116D 11A8; +BB1A;BB1A;1106 116D 11A9;BB1A;1106 116D 11A9; +BB1B;BB1B;1106 116D 11AA;BB1B;1106 116D 11AA; +BB1C;BB1C;1106 116D 11AB;BB1C;1106 116D 11AB; +BB1D;BB1D;1106 116D 11AC;BB1D;1106 116D 11AC; +BB1E;BB1E;1106 116D 11AD;BB1E;1106 116D 11AD; +BB1F;BB1F;1106 116D 11AE;BB1F;1106 116D 11AE; +BB20;BB20;1106 116D 11AF;BB20;1106 116D 11AF; +BB21;BB21;1106 116D 11B0;BB21;1106 116D 11B0; +BB22;BB22;1106 116D 11B1;BB22;1106 116D 11B1; +BB23;BB23;1106 116D 11B2;BB23;1106 116D 11B2; +BB24;BB24;1106 116D 11B3;BB24;1106 116D 11B3; +BB25;BB25;1106 116D 11B4;BB25;1106 116D 11B4; +BB26;BB26;1106 116D 11B5;BB26;1106 116D 11B5; +BB27;BB27;1106 116D 11B6;BB27;1106 116D 11B6; +BB28;BB28;1106 116D 11B7;BB28;1106 116D 11B7; +BB29;BB29;1106 116D 11B8;BB29;1106 116D 11B8; +BB2A;BB2A;1106 116D 11B9;BB2A;1106 116D 11B9; +BB2B;BB2B;1106 116D 11BA;BB2B;1106 116D 11BA; +BB2C;BB2C;1106 116D 11BB;BB2C;1106 116D 11BB; +BB2D;BB2D;1106 116D 11BC;BB2D;1106 116D 11BC; +BB2E;BB2E;1106 116D 11BD;BB2E;1106 116D 11BD; +BB2F;BB2F;1106 116D 11BE;BB2F;1106 116D 11BE; +BB30;BB30;1106 116D 11BF;BB30;1106 116D 11BF; +BB31;BB31;1106 116D 11C0;BB31;1106 116D 11C0; +BB32;BB32;1106 116D 11C1;BB32;1106 116D 11C1; +BB33;BB33;1106 116D 11C2;BB33;1106 116D 11C2; +BB34;BB34;1106 116E;BB34;1106 116E; +BB35;BB35;1106 116E 11A8;BB35;1106 116E 11A8; +BB36;BB36;1106 116E 11A9;BB36;1106 116E 11A9; +BB37;BB37;1106 116E 11AA;BB37;1106 116E 11AA; +BB38;BB38;1106 116E 11AB;BB38;1106 116E 11AB; +BB39;BB39;1106 116E 11AC;BB39;1106 116E 11AC; +BB3A;BB3A;1106 116E 11AD;BB3A;1106 116E 11AD; +BB3B;BB3B;1106 116E 11AE;BB3B;1106 116E 11AE; +BB3C;BB3C;1106 116E 11AF;BB3C;1106 116E 11AF; +BB3D;BB3D;1106 116E 11B0;BB3D;1106 116E 11B0; +BB3E;BB3E;1106 116E 11B1;BB3E;1106 116E 11B1; +BB3F;BB3F;1106 116E 11B2;BB3F;1106 116E 11B2; +BB40;BB40;1106 116E 11B3;BB40;1106 116E 11B3; +BB41;BB41;1106 116E 11B4;BB41;1106 116E 11B4; +BB42;BB42;1106 116E 11B5;BB42;1106 116E 11B5; +BB43;BB43;1106 116E 11B6;BB43;1106 116E 11B6; +BB44;BB44;1106 116E 11B7;BB44;1106 116E 11B7; +BB45;BB45;1106 116E 11B8;BB45;1106 116E 11B8; +BB46;BB46;1106 116E 11B9;BB46;1106 116E 11B9; +BB47;BB47;1106 116E 11BA;BB47;1106 116E 11BA; +BB48;BB48;1106 116E 11BB;BB48;1106 116E 11BB; +BB49;BB49;1106 116E 11BC;BB49;1106 116E 11BC; +BB4A;BB4A;1106 116E 11BD;BB4A;1106 116E 11BD; +BB4B;BB4B;1106 116E 11BE;BB4B;1106 116E 11BE; +BB4C;BB4C;1106 116E 11BF;BB4C;1106 116E 11BF; +BB4D;BB4D;1106 116E 11C0;BB4D;1106 116E 11C0; +BB4E;BB4E;1106 116E 11C1;BB4E;1106 116E 11C1; +BB4F;BB4F;1106 116E 11C2;BB4F;1106 116E 11C2; +BB50;BB50;1106 116F;BB50;1106 116F; +BB51;BB51;1106 116F 11A8;BB51;1106 116F 11A8; +BB52;BB52;1106 116F 11A9;BB52;1106 116F 11A9; +BB53;BB53;1106 116F 11AA;BB53;1106 116F 11AA; +BB54;BB54;1106 116F 11AB;BB54;1106 116F 11AB; +BB55;BB55;1106 116F 11AC;BB55;1106 116F 11AC; +BB56;BB56;1106 116F 11AD;BB56;1106 116F 11AD; +BB57;BB57;1106 116F 11AE;BB57;1106 116F 11AE; +BB58;BB58;1106 116F 11AF;BB58;1106 116F 11AF; +BB59;BB59;1106 116F 11B0;BB59;1106 116F 11B0; +BB5A;BB5A;1106 116F 11B1;BB5A;1106 116F 11B1; +BB5B;BB5B;1106 116F 11B2;BB5B;1106 116F 11B2; +BB5C;BB5C;1106 116F 11B3;BB5C;1106 116F 11B3; +BB5D;BB5D;1106 116F 11B4;BB5D;1106 116F 11B4; +BB5E;BB5E;1106 116F 11B5;BB5E;1106 116F 11B5; +BB5F;BB5F;1106 116F 11B6;BB5F;1106 116F 11B6; +BB60;BB60;1106 116F 11B7;BB60;1106 116F 11B7; +BB61;BB61;1106 116F 11B8;BB61;1106 116F 11B8; +BB62;BB62;1106 116F 11B9;BB62;1106 116F 11B9; +BB63;BB63;1106 116F 11BA;BB63;1106 116F 11BA; +BB64;BB64;1106 116F 11BB;BB64;1106 116F 11BB; +BB65;BB65;1106 116F 11BC;BB65;1106 116F 11BC; +BB66;BB66;1106 116F 11BD;BB66;1106 116F 11BD; +BB67;BB67;1106 116F 11BE;BB67;1106 116F 11BE; +BB68;BB68;1106 116F 11BF;BB68;1106 116F 11BF; +BB69;BB69;1106 116F 11C0;BB69;1106 116F 11C0; +BB6A;BB6A;1106 116F 11C1;BB6A;1106 116F 11C1; +BB6B;BB6B;1106 116F 11C2;BB6B;1106 116F 11C2; +BB6C;BB6C;1106 1170;BB6C;1106 1170; +BB6D;BB6D;1106 1170 11A8;BB6D;1106 1170 11A8; +BB6E;BB6E;1106 1170 11A9;BB6E;1106 1170 11A9; +BB6F;BB6F;1106 1170 11AA;BB6F;1106 1170 11AA; +BB70;BB70;1106 1170 11AB;BB70;1106 1170 11AB; +BB71;BB71;1106 1170 11AC;BB71;1106 1170 11AC; +BB72;BB72;1106 1170 11AD;BB72;1106 1170 11AD; +BB73;BB73;1106 1170 11AE;BB73;1106 1170 11AE; +BB74;BB74;1106 1170 11AF;BB74;1106 1170 11AF; +BB75;BB75;1106 1170 11B0;BB75;1106 1170 11B0; +BB76;BB76;1106 1170 11B1;BB76;1106 1170 11B1; +BB77;BB77;1106 1170 11B2;BB77;1106 1170 11B2; +BB78;BB78;1106 1170 11B3;BB78;1106 1170 11B3; +BB79;BB79;1106 1170 11B4;BB79;1106 1170 11B4; +BB7A;BB7A;1106 1170 11B5;BB7A;1106 1170 11B5; +BB7B;BB7B;1106 1170 11B6;BB7B;1106 1170 11B6; +BB7C;BB7C;1106 1170 11B7;BB7C;1106 1170 11B7; +BB7D;BB7D;1106 1170 11B8;BB7D;1106 1170 11B8; +BB7E;BB7E;1106 1170 11B9;BB7E;1106 1170 11B9; +BB7F;BB7F;1106 1170 11BA;BB7F;1106 1170 11BA; +BB80;BB80;1106 1170 11BB;BB80;1106 1170 11BB; +BB81;BB81;1106 1170 11BC;BB81;1106 1170 11BC; +BB82;BB82;1106 1170 11BD;BB82;1106 1170 11BD; +BB83;BB83;1106 1170 11BE;BB83;1106 1170 11BE; +BB84;BB84;1106 1170 11BF;BB84;1106 1170 11BF; +BB85;BB85;1106 1170 11C0;BB85;1106 1170 11C0; +BB86;BB86;1106 1170 11C1;BB86;1106 1170 11C1; +BB87;BB87;1106 1170 11C2;BB87;1106 1170 11C2; +BB88;BB88;1106 1171;BB88;1106 1171; +BB89;BB89;1106 1171 11A8;BB89;1106 1171 11A8; +BB8A;BB8A;1106 1171 11A9;BB8A;1106 1171 11A9; +BB8B;BB8B;1106 1171 11AA;BB8B;1106 1171 11AA; +BB8C;BB8C;1106 1171 11AB;BB8C;1106 1171 11AB; +BB8D;BB8D;1106 1171 11AC;BB8D;1106 1171 11AC; +BB8E;BB8E;1106 1171 11AD;BB8E;1106 1171 11AD; +BB8F;BB8F;1106 1171 11AE;BB8F;1106 1171 11AE; +BB90;BB90;1106 1171 11AF;BB90;1106 1171 11AF; +BB91;BB91;1106 1171 11B0;BB91;1106 1171 11B0; +BB92;BB92;1106 1171 11B1;BB92;1106 1171 11B1; +BB93;BB93;1106 1171 11B2;BB93;1106 1171 11B2; +BB94;BB94;1106 1171 11B3;BB94;1106 1171 11B3; +BB95;BB95;1106 1171 11B4;BB95;1106 1171 11B4; +BB96;BB96;1106 1171 11B5;BB96;1106 1171 11B5; +BB97;BB97;1106 1171 11B6;BB97;1106 1171 11B6; +BB98;BB98;1106 1171 11B7;BB98;1106 1171 11B7; +BB99;BB99;1106 1171 11B8;BB99;1106 1171 11B8; +BB9A;BB9A;1106 1171 11B9;BB9A;1106 1171 11B9; +BB9B;BB9B;1106 1171 11BA;BB9B;1106 1171 11BA; +BB9C;BB9C;1106 1171 11BB;BB9C;1106 1171 11BB; +BB9D;BB9D;1106 1171 11BC;BB9D;1106 1171 11BC; +BB9E;BB9E;1106 1171 11BD;BB9E;1106 1171 11BD; +BB9F;BB9F;1106 1171 11BE;BB9F;1106 1171 11BE; +BBA0;BBA0;1106 1171 11BF;BBA0;1106 1171 11BF; +BBA1;BBA1;1106 1171 11C0;BBA1;1106 1171 11C0; +BBA2;BBA2;1106 1171 11C1;BBA2;1106 1171 11C1; +BBA3;BBA3;1106 1171 11C2;BBA3;1106 1171 11C2; +BBA4;BBA4;1106 1172;BBA4;1106 1172; +BBA5;BBA5;1106 1172 11A8;BBA5;1106 1172 11A8; +BBA6;BBA6;1106 1172 11A9;BBA6;1106 1172 11A9; +BBA7;BBA7;1106 1172 11AA;BBA7;1106 1172 11AA; +BBA8;BBA8;1106 1172 11AB;BBA8;1106 1172 11AB; +BBA9;BBA9;1106 1172 11AC;BBA9;1106 1172 11AC; +BBAA;BBAA;1106 1172 11AD;BBAA;1106 1172 11AD; +BBAB;BBAB;1106 1172 11AE;BBAB;1106 1172 11AE; +BBAC;BBAC;1106 1172 11AF;BBAC;1106 1172 11AF; +BBAD;BBAD;1106 1172 11B0;BBAD;1106 1172 11B0; +BBAE;BBAE;1106 1172 11B1;BBAE;1106 1172 11B1; +BBAF;BBAF;1106 1172 11B2;BBAF;1106 1172 11B2; +BBB0;BBB0;1106 1172 11B3;BBB0;1106 1172 11B3; +BBB1;BBB1;1106 1172 11B4;BBB1;1106 1172 11B4; +BBB2;BBB2;1106 1172 11B5;BBB2;1106 1172 11B5; +BBB3;BBB3;1106 1172 11B6;BBB3;1106 1172 11B6; +BBB4;BBB4;1106 1172 11B7;BBB4;1106 1172 11B7; +BBB5;BBB5;1106 1172 11B8;BBB5;1106 1172 11B8; +BBB6;BBB6;1106 1172 11B9;BBB6;1106 1172 11B9; +BBB7;BBB7;1106 1172 11BA;BBB7;1106 1172 11BA; +BBB8;BBB8;1106 1172 11BB;BBB8;1106 1172 11BB; +BBB9;BBB9;1106 1172 11BC;BBB9;1106 1172 11BC; +BBBA;BBBA;1106 1172 11BD;BBBA;1106 1172 11BD; +BBBB;BBBB;1106 1172 11BE;BBBB;1106 1172 11BE; +BBBC;BBBC;1106 1172 11BF;BBBC;1106 1172 11BF; +BBBD;BBBD;1106 1172 11C0;BBBD;1106 1172 11C0; +BBBE;BBBE;1106 1172 11C1;BBBE;1106 1172 11C1; +BBBF;BBBF;1106 1172 11C2;BBBF;1106 1172 11C2; +BBC0;BBC0;1106 1173;BBC0;1106 1173; +BBC1;BBC1;1106 1173 11A8;BBC1;1106 1173 11A8; +BBC2;BBC2;1106 1173 11A9;BBC2;1106 1173 11A9; +BBC3;BBC3;1106 1173 11AA;BBC3;1106 1173 11AA; +BBC4;BBC4;1106 1173 11AB;BBC4;1106 1173 11AB; +BBC5;BBC5;1106 1173 11AC;BBC5;1106 1173 11AC; +BBC6;BBC6;1106 1173 11AD;BBC6;1106 1173 11AD; +BBC7;BBC7;1106 1173 11AE;BBC7;1106 1173 11AE; +BBC8;BBC8;1106 1173 11AF;BBC8;1106 1173 11AF; +BBC9;BBC9;1106 1173 11B0;BBC9;1106 1173 11B0; +BBCA;BBCA;1106 1173 11B1;BBCA;1106 1173 11B1; +BBCB;BBCB;1106 1173 11B2;BBCB;1106 1173 11B2; +BBCC;BBCC;1106 1173 11B3;BBCC;1106 1173 11B3; +BBCD;BBCD;1106 1173 11B4;BBCD;1106 1173 11B4; +BBCE;BBCE;1106 1173 11B5;BBCE;1106 1173 11B5; +BBCF;BBCF;1106 1173 11B6;BBCF;1106 1173 11B6; +BBD0;BBD0;1106 1173 11B7;BBD0;1106 1173 11B7; +BBD1;BBD1;1106 1173 11B8;BBD1;1106 1173 11B8; +BBD2;BBD2;1106 1173 11B9;BBD2;1106 1173 11B9; +BBD3;BBD3;1106 1173 11BA;BBD3;1106 1173 11BA; +BBD4;BBD4;1106 1173 11BB;BBD4;1106 1173 11BB; +BBD5;BBD5;1106 1173 11BC;BBD5;1106 1173 11BC; +BBD6;BBD6;1106 1173 11BD;BBD6;1106 1173 11BD; +BBD7;BBD7;1106 1173 11BE;BBD7;1106 1173 11BE; +BBD8;BBD8;1106 1173 11BF;BBD8;1106 1173 11BF; +BBD9;BBD9;1106 1173 11C0;BBD9;1106 1173 11C0; +BBDA;BBDA;1106 1173 11C1;BBDA;1106 1173 11C1; +BBDB;BBDB;1106 1173 11C2;BBDB;1106 1173 11C2; +BBDC;BBDC;1106 1174;BBDC;1106 1174; +BBDD;BBDD;1106 1174 11A8;BBDD;1106 1174 11A8; +BBDE;BBDE;1106 1174 11A9;BBDE;1106 1174 11A9; +BBDF;BBDF;1106 1174 11AA;BBDF;1106 1174 11AA; +BBE0;BBE0;1106 1174 11AB;BBE0;1106 1174 11AB; +BBE1;BBE1;1106 1174 11AC;BBE1;1106 1174 11AC; +BBE2;BBE2;1106 1174 11AD;BBE2;1106 1174 11AD; +BBE3;BBE3;1106 1174 11AE;BBE3;1106 1174 11AE; +BBE4;BBE4;1106 1174 11AF;BBE4;1106 1174 11AF; +BBE5;BBE5;1106 1174 11B0;BBE5;1106 1174 11B0; +BBE6;BBE6;1106 1174 11B1;BBE6;1106 1174 11B1; +BBE7;BBE7;1106 1174 11B2;BBE7;1106 1174 11B2; +BBE8;BBE8;1106 1174 11B3;BBE8;1106 1174 11B3; +BBE9;BBE9;1106 1174 11B4;BBE9;1106 1174 11B4; +BBEA;BBEA;1106 1174 11B5;BBEA;1106 1174 11B5; +BBEB;BBEB;1106 1174 11B6;BBEB;1106 1174 11B6; +BBEC;BBEC;1106 1174 11B7;BBEC;1106 1174 11B7; +BBED;BBED;1106 1174 11B8;BBED;1106 1174 11B8; +BBEE;BBEE;1106 1174 11B9;BBEE;1106 1174 11B9; +BBEF;BBEF;1106 1174 11BA;BBEF;1106 1174 11BA; +BBF0;BBF0;1106 1174 11BB;BBF0;1106 1174 11BB; +BBF1;BBF1;1106 1174 11BC;BBF1;1106 1174 11BC; +BBF2;BBF2;1106 1174 11BD;BBF2;1106 1174 11BD; +BBF3;BBF3;1106 1174 11BE;BBF3;1106 1174 11BE; +BBF4;BBF4;1106 1174 11BF;BBF4;1106 1174 11BF; +BBF5;BBF5;1106 1174 11C0;BBF5;1106 1174 11C0; +BBF6;BBF6;1106 1174 11C1;BBF6;1106 1174 11C1; +BBF7;BBF7;1106 1174 11C2;BBF7;1106 1174 11C2; +BBF8;BBF8;1106 1175;BBF8;1106 1175; +BBF9;BBF9;1106 1175 11A8;BBF9;1106 1175 11A8; +BBFA;BBFA;1106 1175 11A9;BBFA;1106 1175 11A9; +BBFB;BBFB;1106 1175 11AA;BBFB;1106 1175 11AA; +BBFC;BBFC;1106 1175 11AB;BBFC;1106 1175 11AB; +BBFD;BBFD;1106 1175 11AC;BBFD;1106 1175 11AC; +BBFE;BBFE;1106 1175 11AD;BBFE;1106 1175 11AD; +BBFF;BBFF;1106 1175 11AE;BBFF;1106 1175 11AE; +BC00;BC00;1106 1175 11AF;BC00;1106 1175 11AF; +BC01;BC01;1106 1175 11B0;BC01;1106 1175 11B0; +BC02;BC02;1106 1175 11B1;BC02;1106 1175 11B1; +BC03;BC03;1106 1175 11B2;BC03;1106 1175 11B2; +BC04;BC04;1106 1175 11B3;BC04;1106 1175 11B3; +BC05;BC05;1106 1175 11B4;BC05;1106 1175 11B4; +BC06;BC06;1106 1175 11B5;BC06;1106 1175 11B5; +BC07;BC07;1106 1175 11B6;BC07;1106 1175 11B6; +BC08;BC08;1106 1175 11B7;BC08;1106 1175 11B7; +BC09;BC09;1106 1175 11B8;BC09;1106 1175 11B8; +BC0A;BC0A;1106 1175 11B9;BC0A;1106 1175 11B9; +BC0B;BC0B;1106 1175 11BA;BC0B;1106 1175 11BA; +BC0C;BC0C;1106 1175 11BB;BC0C;1106 1175 11BB; +BC0D;BC0D;1106 1175 11BC;BC0D;1106 1175 11BC; +BC0E;BC0E;1106 1175 11BD;BC0E;1106 1175 11BD; +BC0F;BC0F;1106 1175 11BE;BC0F;1106 1175 11BE; +BC10;BC10;1106 1175 11BF;BC10;1106 1175 11BF; +BC11;BC11;1106 1175 11C0;BC11;1106 1175 11C0; +BC12;BC12;1106 1175 11C1;BC12;1106 1175 11C1; +BC13;BC13;1106 1175 11C2;BC13;1106 1175 11C2; +BC14;BC14;1107 1161;BC14;1107 1161; +BC15;BC15;1107 1161 11A8;BC15;1107 1161 11A8; +BC16;BC16;1107 1161 11A9;BC16;1107 1161 11A9; +BC17;BC17;1107 1161 11AA;BC17;1107 1161 11AA; +BC18;BC18;1107 1161 11AB;BC18;1107 1161 11AB; +BC19;BC19;1107 1161 11AC;BC19;1107 1161 11AC; +BC1A;BC1A;1107 1161 11AD;BC1A;1107 1161 11AD; +BC1B;BC1B;1107 1161 11AE;BC1B;1107 1161 11AE; +BC1C;BC1C;1107 1161 11AF;BC1C;1107 1161 11AF; +BC1D;BC1D;1107 1161 11B0;BC1D;1107 1161 11B0; +BC1E;BC1E;1107 1161 11B1;BC1E;1107 1161 11B1; +BC1F;BC1F;1107 1161 11B2;BC1F;1107 1161 11B2; +BC20;BC20;1107 1161 11B3;BC20;1107 1161 11B3; +BC21;BC21;1107 1161 11B4;BC21;1107 1161 11B4; +BC22;BC22;1107 1161 11B5;BC22;1107 1161 11B5; +BC23;BC23;1107 1161 11B6;BC23;1107 1161 11B6; +BC24;BC24;1107 1161 11B7;BC24;1107 1161 11B7; +BC25;BC25;1107 1161 11B8;BC25;1107 1161 11B8; +BC26;BC26;1107 1161 11B9;BC26;1107 1161 11B9; +BC27;BC27;1107 1161 11BA;BC27;1107 1161 11BA; +BC28;BC28;1107 1161 11BB;BC28;1107 1161 11BB; +BC29;BC29;1107 1161 11BC;BC29;1107 1161 11BC; +BC2A;BC2A;1107 1161 11BD;BC2A;1107 1161 11BD; +BC2B;BC2B;1107 1161 11BE;BC2B;1107 1161 11BE; +BC2C;BC2C;1107 1161 11BF;BC2C;1107 1161 11BF; +BC2D;BC2D;1107 1161 11C0;BC2D;1107 1161 11C0; +BC2E;BC2E;1107 1161 11C1;BC2E;1107 1161 11C1; +BC2F;BC2F;1107 1161 11C2;BC2F;1107 1161 11C2; +BC30;BC30;1107 1162;BC30;1107 1162; +BC31;BC31;1107 1162 11A8;BC31;1107 1162 11A8; +BC32;BC32;1107 1162 11A9;BC32;1107 1162 11A9; +BC33;BC33;1107 1162 11AA;BC33;1107 1162 11AA; +BC34;BC34;1107 1162 11AB;BC34;1107 1162 11AB; +BC35;BC35;1107 1162 11AC;BC35;1107 1162 11AC; +BC36;BC36;1107 1162 11AD;BC36;1107 1162 11AD; +BC37;BC37;1107 1162 11AE;BC37;1107 1162 11AE; +BC38;BC38;1107 1162 11AF;BC38;1107 1162 11AF; +BC39;BC39;1107 1162 11B0;BC39;1107 1162 11B0; +BC3A;BC3A;1107 1162 11B1;BC3A;1107 1162 11B1; +BC3B;BC3B;1107 1162 11B2;BC3B;1107 1162 11B2; +BC3C;BC3C;1107 1162 11B3;BC3C;1107 1162 11B3; +BC3D;BC3D;1107 1162 11B4;BC3D;1107 1162 11B4; +BC3E;BC3E;1107 1162 11B5;BC3E;1107 1162 11B5; +BC3F;BC3F;1107 1162 11B6;BC3F;1107 1162 11B6; +BC40;BC40;1107 1162 11B7;BC40;1107 1162 11B7; +BC41;BC41;1107 1162 11B8;BC41;1107 1162 11B8; +BC42;BC42;1107 1162 11B9;BC42;1107 1162 11B9; +BC43;BC43;1107 1162 11BA;BC43;1107 1162 11BA; +BC44;BC44;1107 1162 11BB;BC44;1107 1162 11BB; +BC45;BC45;1107 1162 11BC;BC45;1107 1162 11BC; +BC46;BC46;1107 1162 11BD;BC46;1107 1162 11BD; +BC47;BC47;1107 1162 11BE;BC47;1107 1162 11BE; +BC48;BC48;1107 1162 11BF;BC48;1107 1162 11BF; +BC49;BC49;1107 1162 11C0;BC49;1107 1162 11C0; +BC4A;BC4A;1107 1162 11C1;BC4A;1107 1162 11C1; +BC4B;BC4B;1107 1162 11C2;BC4B;1107 1162 11C2; +BC4C;BC4C;1107 1163;BC4C;1107 1163; +BC4D;BC4D;1107 1163 11A8;BC4D;1107 1163 11A8; +BC4E;BC4E;1107 1163 11A9;BC4E;1107 1163 11A9; +BC4F;BC4F;1107 1163 11AA;BC4F;1107 1163 11AA; +BC50;BC50;1107 1163 11AB;BC50;1107 1163 11AB; +BC51;BC51;1107 1163 11AC;BC51;1107 1163 11AC; +BC52;BC52;1107 1163 11AD;BC52;1107 1163 11AD; +BC53;BC53;1107 1163 11AE;BC53;1107 1163 11AE; +BC54;BC54;1107 1163 11AF;BC54;1107 1163 11AF; +BC55;BC55;1107 1163 11B0;BC55;1107 1163 11B0; +BC56;BC56;1107 1163 11B1;BC56;1107 1163 11B1; +BC57;BC57;1107 1163 11B2;BC57;1107 1163 11B2; +BC58;BC58;1107 1163 11B3;BC58;1107 1163 11B3; +BC59;BC59;1107 1163 11B4;BC59;1107 1163 11B4; +BC5A;BC5A;1107 1163 11B5;BC5A;1107 1163 11B5; +BC5B;BC5B;1107 1163 11B6;BC5B;1107 1163 11B6; +BC5C;BC5C;1107 1163 11B7;BC5C;1107 1163 11B7; +BC5D;BC5D;1107 1163 11B8;BC5D;1107 1163 11B8; +BC5E;BC5E;1107 1163 11B9;BC5E;1107 1163 11B9; +BC5F;BC5F;1107 1163 11BA;BC5F;1107 1163 11BA; +BC60;BC60;1107 1163 11BB;BC60;1107 1163 11BB; +BC61;BC61;1107 1163 11BC;BC61;1107 1163 11BC; +BC62;BC62;1107 1163 11BD;BC62;1107 1163 11BD; +BC63;BC63;1107 1163 11BE;BC63;1107 1163 11BE; +BC64;BC64;1107 1163 11BF;BC64;1107 1163 11BF; +BC65;BC65;1107 1163 11C0;BC65;1107 1163 11C0; +BC66;BC66;1107 1163 11C1;BC66;1107 1163 11C1; +BC67;BC67;1107 1163 11C2;BC67;1107 1163 11C2; +BC68;BC68;1107 1164;BC68;1107 1164; +BC69;BC69;1107 1164 11A8;BC69;1107 1164 11A8; +BC6A;BC6A;1107 1164 11A9;BC6A;1107 1164 11A9; +BC6B;BC6B;1107 1164 11AA;BC6B;1107 1164 11AA; +BC6C;BC6C;1107 1164 11AB;BC6C;1107 1164 11AB; +BC6D;BC6D;1107 1164 11AC;BC6D;1107 1164 11AC; +BC6E;BC6E;1107 1164 11AD;BC6E;1107 1164 11AD; +BC6F;BC6F;1107 1164 11AE;BC6F;1107 1164 11AE; +BC70;BC70;1107 1164 11AF;BC70;1107 1164 11AF; +BC71;BC71;1107 1164 11B0;BC71;1107 1164 11B0; +BC72;BC72;1107 1164 11B1;BC72;1107 1164 11B1; +BC73;BC73;1107 1164 11B2;BC73;1107 1164 11B2; +BC74;BC74;1107 1164 11B3;BC74;1107 1164 11B3; +BC75;BC75;1107 1164 11B4;BC75;1107 1164 11B4; +BC76;BC76;1107 1164 11B5;BC76;1107 1164 11B5; +BC77;BC77;1107 1164 11B6;BC77;1107 1164 11B6; +BC78;BC78;1107 1164 11B7;BC78;1107 1164 11B7; +BC79;BC79;1107 1164 11B8;BC79;1107 1164 11B8; +BC7A;BC7A;1107 1164 11B9;BC7A;1107 1164 11B9; +BC7B;BC7B;1107 1164 11BA;BC7B;1107 1164 11BA; +BC7C;BC7C;1107 1164 11BB;BC7C;1107 1164 11BB; +BC7D;BC7D;1107 1164 11BC;BC7D;1107 1164 11BC; +BC7E;BC7E;1107 1164 11BD;BC7E;1107 1164 11BD; +BC7F;BC7F;1107 1164 11BE;BC7F;1107 1164 11BE; +BC80;BC80;1107 1164 11BF;BC80;1107 1164 11BF; +BC81;BC81;1107 1164 11C0;BC81;1107 1164 11C0; +BC82;BC82;1107 1164 11C1;BC82;1107 1164 11C1; +BC83;BC83;1107 1164 11C2;BC83;1107 1164 11C2; +BC84;BC84;1107 1165;BC84;1107 1165; +BC85;BC85;1107 1165 11A8;BC85;1107 1165 11A8; +BC86;BC86;1107 1165 11A9;BC86;1107 1165 11A9; +BC87;BC87;1107 1165 11AA;BC87;1107 1165 11AA; +BC88;BC88;1107 1165 11AB;BC88;1107 1165 11AB; +BC89;BC89;1107 1165 11AC;BC89;1107 1165 11AC; +BC8A;BC8A;1107 1165 11AD;BC8A;1107 1165 11AD; +BC8B;BC8B;1107 1165 11AE;BC8B;1107 1165 11AE; +BC8C;BC8C;1107 1165 11AF;BC8C;1107 1165 11AF; +BC8D;BC8D;1107 1165 11B0;BC8D;1107 1165 11B0; +BC8E;BC8E;1107 1165 11B1;BC8E;1107 1165 11B1; +BC8F;BC8F;1107 1165 11B2;BC8F;1107 1165 11B2; +BC90;BC90;1107 1165 11B3;BC90;1107 1165 11B3; +BC91;BC91;1107 1165 11B4;BC91;1107 1165 11B4; +BC92;BC92;1107 1165 11B5;BC92;1107 1165 11B5; +BC93;BC93;1107 1165 11B6;BC93;1107 1165 11B6; +BC94;BC94;1107 1165 11B7;BC94;1107 1165 11B7; +BC95;BC95;1107 1165 11B8;BC95;1107 1165 11B8; +BC96;BC96;1107 1165 11B9;BC96;1107 1165 11B9; +BC97;BC97;1107 1165 11BA;BC97;1107 1165 11BA; +BC98;BC98;1107 1165 11BB;BC98;1107 1165 11BB; +BC99;BC99;1107 1165 11BC;BC99;1107 1165 11BC; +BC9A;BC9A;1107 1165 11BD;BC9A;1107 1165 11BD; +BC9B;BC9B;1107 1165 11BE;BC9B;1107 1165 11BE; +BC9C;BC9C;1107 1165 11BF;BC9C;1107 1165 11BF; +BC9D;BC9D;1107 1165 11C0;BC9D;1107 1165 11C0; +BC9E;BC9E;1107 1165 11C1;BC9E;1107 1165 11C1; +BC9F;BC9F;1107 1165 11C2;BC9F;1107 1165 11C2; +BCA0;BCA0;1107 1166;BCA0;1107 1166; +BCA1;BCA1;1107 1166 11A8;BCA1;1107 1166 11A8; +BCA2;BCA2;1107 1166 11A9;BCA2;1107 1166 11A9; +BCA3;BCA3;1107 1166 11AA;BCA3;1107 1166 11AA; +BCA4;BCA4;1107 1166 11AB;BCA4;1107 1166 11AB; +BCA5;BCA5;1107 1166 11AC;BCA5;1107 1166 11AC; +BCA6;BCA6;1107 1166 11AD;BCA6;1107 1166 11AD; +BCA7;BCA7;1107 1166 11AE;BCA7;1107 1166 11AE; +BCA8;BCA8;1107 1166 11AF;BCA8;1107 1166 11AF; +BCA9;BCA9;1107 1166 11B0;BCA9;1107 1166 11B0; +BCAA;BCAA;1107 1166 11B1;BCAA;1107 1166 11B1; +BCAB;BCAB;1107 1166 11B2;BCAB;1107 1166 11B2; +BCAC;BCAC;1107 1166 11B3;BCAC;1107 1166 11B3; +BCAD;BCAD;1107 1166 11B4;BCAD;1107 1166 11B4; +BCAE;BCAE;1107 1166 11B5;BCAE;1107 1166 11B5; +BCAF;BCAF;1107 1166 11B6;BCAF;1107 1166 11B6; +BCB0;BCB0;1107 1166 11B7;BCB0;1107 1166 11B7; +BCB1;BCB1;1107 1166 11B8;BCB1;1107 1166 11B8; +BCB2;BCB2;1107 1166 11B9;BCB2;1107 1166 11B9; +BCB3;BCB3;1107 1166 11BA;BCB3;1107 1166 11BA; +BCB4;BCB4;1107 1166 11BB;BCB4;1107 1166 11BB; +BCB5;BCB5;1107 1166 11BC;BCB5;1107 1166 11BC; +BCB6;BCB6;1107 1166 11BD;BCB6;1107 1166 11BD; +BCB7;BCB7;1107 1166 11BE;BCB7;1107 1166 11BE; +BCB8;BCB8;1107 1166 11BF;BCB8;1107 1166 11BF; +BCB9;BCB9;1107 1166 11C0;BCB9;1107 1166 11C0; +BCBA;BCBA;1107 1166 11C1;BCBA;1107 1166 11C1; +BCBB;BCBB;1107 1166 11C2;BCBB;1107 1166 11C2; +BCBC;BCBC;1107 1167;BCBC;1107 1167; +BCBD;BCBD;1107 1167 11A8;BCBD;1107 1167 11A8; +BCBE;BCBE;1107 1167 11A9;BCBE;1107 1167 11A9; +BCBF;BCBF;1107 1167 11AA;BCBF;1107 1167 11AA; +BCC0;BCC0;1107 1167 11AB;BCC0;1107 1167 11AB; +BCC1;BCC1;1107 1167 11AC;BCC1;1107 1167 11AC; +BCC2;BCC2;1107 1167 11AD;BCC2;1107 1167 11AD; +BCC3;BCC3;1107 1167 11AE;BCC3;1107 1167 11AE; +BCC4;BCC4;1107 1167 11AF;BCC4;1107 1167 11AF; +BCC5;BCC5;1107 1167 11B0;BCC5;1107 1167 11B0; +BCC6;BCC6;1107 1167 11B1;BCC6;1107 1167 11B1; +BCC7;BCC7;1107 1167 11B2;BCC7;1107 1167 11B2; +BCC8;BCC8;1107 1167 11B3;BCC8;1107 1167 11B3; +BCC9;BCC9;1107 1167 11B4;BCC9;1107 1167 11B4; +BCCA;BCCA;1107 1167 11B5;BCCA;1107 1167 11B5; +BCCB;BCCB;1107 1167 11B6;BCCB;1107 1167 11B6; +BCCC;BCCC;1107 1167 11B7;BCCC;1107 1167 11B7; +BCCD;BCCD;1107 1167 11B8;BCCD;1107 1167 11B8; +BCCE;BCCE;1107 1167 11B9;BCCE;1107 1167 11B9; +BCCF;BCCF;1107 1167 11BA;BCCF;1107 1167 11BA; +BCD0;BCD0;1107 1167 11BB;BCD0;1107 1167 11BB; +BCD1;BCD1;1107 1167 11BC;BCD1;1107 1167 11BC; +BCD2;BCD2;1107 1167 11BD;BCD2;1107 1167 11BD; +BCD3;BCD3;1107 1167 11BE;BCD3;1107 1167 11BE; +BCD4;BCD4;1107 1167 11BF;BCD4;1107 1167 11BF; +BCD5;BCD5;1107 1167 11C0;BCD5;1107 1167 11C0; +BCD6;BCD6;1107 1167 11C1;BCD6;1107 1167 11C1; +BCD7;BCD7;1107 1167 11C2;BCD7;1107 1167 11C2; +BCD8;BCD8;1107 1168;BCD8;1107 1168; +BCD9;BCD9;1107 1168 11A8;BCD9;1107 1168 11A8; +BCDA;BCDA;1107 1168 11A9;BCDA;1107 1168 11A9; +BCDB;BCDB;1107 1168 11AA;BCDB;1107 1168 11AA; +BCDC;BCDC;1107 1168 11AB;BCDC;1107 1168 11AB; +BCDD;BCDD;1107 1168 11AC;BCDD;1107 1168 11AC; +BCDE;BCDE;1107 1168 11AD;BCDE;1107 1168 11AD; +BCDF;BCDF;1107 1168 11AE;BCDF;1107 1168 11AE; +BCE0;BCE0;1107 1168 11AF;BCE0;1107 1168 11AF; +BCE1;BCE1;1107 1168 11B0;BCE1;1107 1168 11B0; +BCE2;BCE2;1107 1168 11B1;BCE2;1107 1168 11B1; +BCE3;BCE3;1107 1168 11B2;BCE3;1107 1168 11B2; +BCE4;BCE4;1107 1168 11B3;BCE4;1107 1168 11B3; +BCE5;BCE5;1107 1168 11B4;BCE5;1107 1168 11B4; +BCE6;BCE6;1107 1168 11B5;BCE6;1107 1168 11B5; +BCE7;BCE7;1107 1168 11B6;BCE7;1107 1168 11B6; +BCE8;BCE8;1107 1168 11B7;BCE8;1107 1168 11B7; +BCE9;BCE9;1107 1168 11B8;BCE9;1107 1168 11B8; +BCEA;BCEA;1107 1168 11B9;BCEA;1107 1168 11B9; +BCEB;BCEB;1107 1168 11BA;BCEB;1107 1168 11BA; +BCEC;BCEC;1107 1168 11BB;BCEC;1107 1168 11BB; +BCED;BCED;1107 1168 11BC;BCED;1107 1168 11BC; +BCEE;BCEE;1107 1168 11BD;BCEE;1107 1168 11BD; +BCEF;BCEF;1107 1168 11BE;BCEF;1107 1168 11BE; +BCF0;BCF0;1107 1168 11BF;BCF0;1107 1168 11BF; +BCF1;BCF1;1107 1168 11C0;BCF1;1107 1168 11C0; +BCF2;BCF2;1107 1168 11C1;BCF2;1107 1168 11C1; +BCF3;BCF3;1107 1168 11C2;BCF3;1107 1168 11C2; +BCF4;BCF4;1107 1169;BCF4;1107 1169; +BCF5;BCF5;1107 1169 11A8;BCF5;1107 1169 11A8; +BCF6;BCF6;1107 1169 11A9;BCF6;1107 1169 11A9; +BCF7;BCF7;1107 1169 11AA;BCF7;1107 1169 11AA; +BCF8;BCF8;1107 1169 11AB;BCF8;1107 1169 11AB; +BCF9;BCF9;1107 1169 11AC;BCF9;1107 1169 11AC; +BCFA;BCFA;1107 1169 11AD;BCFA;1107 1169 11AD; +BCFB;BCFB;1107 1169 11AE;BCFB;1107 1169 11AE; +BCFC;BCFC;1107 1169 11AF;BCFC;1107 1169 11AF; +BCFD;BCFD;1107 1169 11B0;BCFD;1107 1169 11B0; +BCFE;BCFE;1107 1169 11B1;BCFE;1107 1169 11B1; +BCFF;BCFF;1107 1169 11B2;BCFF;1107 1169 11B2; +BD00;BD00;1107 1169 11B3;BD00;1107 1169 11B3; +BD01;BD01;1107 1169 11B4;BD01;1107 1169 11B4; +BD02;BD02;1107 1169 11B5;BD02;1107 1169 11B5; +BD03;BD03;1107 1169 11B6;BD03;1107 1169 11B6; +BD04;BD04;1107 1169 11B7;BD04;1107 1169 11B7; +BD05;BD05;1107 1169 11B8;BD05;1107 1169 11B8; +BD06;BD06;1107 1169 11B9;BD06;1107 1169 11B9; +BD07;BD07;1107 1169 11BA;BD07;1107 1169 11BA; +BD08;BD08;1107 1169 11BB;BD08;1107 1169 11BB; +BD09;BD09;1107 1169 11BC;BD09;1107 1169 11BC; +BD0A;BD0A;1107 1169 11BD;BD0A;1107 1169 11BD; +BD0B;BD0B;1107 1169 11BE;BD0B;1107 1169 11BE; +BD0C;BD0C;1107 1169 11BF;BD0C;1107 1169 11BF; +BD0D;BD0D;1107 1169 11C0;BD0D;1107 1169 11C0; +BD0E;BD0E;1107 1169 11C1;BD0E;1107 1169 11C1; +BD0F;BD0F;1107 1169 11C2;BD0F;1107 1169 11C2; +BD10;BD10;1107 116A;BD10;1107 116A; +BD11;BD11;1107 116A 11A8;BD11;1107 116A 11A8; +BD12;BD12;1107 116A 11A9;BD12;1107 116A 11A9; +BD13;BD13;1107 116A 11AA;BD13;1107 116A 11AA; +BD14;BD14;1107 116A 11AB;BD14;1107 116A 11AB; +BD15;BD15;1107 116A 11AC;BD15;1107 116A 11AC; +BD16;BD16;1107 116A 11AD;BD16;1107 116A 11AD; +BD17;BD17;1107 116A 11AE;BD17;1107 116A 11AE; +BD18;BD18;1107 116A 11AF;BD18;1107 116A 11AF; +BD19;BD19;1107 116A 11B0;BD19;1107 116A 11B0; +BD1A;BD1A;1107 116A 11B1;BD1A;1107 116A 11B1; +BD1B;BD1B;1107 116A 11B2;BD1B;1107 116A 11B2; +BD1C;BD1C;1107 116A 11B3;BD1C;1107 116A 11B3; +BD1D;BD1D;1107 116A 11B4;BD1D;1107 116A 11B4; +BD1E;BD1E;1107 116A 11B5;BD1E;1107 116A 11B5; +BD1F;BD1F;1107 116A 11B6;BD1F;1107 116A 11B6; +BD20;BD20;1107 116A 11B7;BD20;1107 116A 11B7; +BD21;BD21;1107 116A 11B8;BD21;1107 116A 11B8; +BD22;BD22;1107 116A 11B9;BD22;1107 116A 11B9; +BD23;BD23;1107 116A 11BA;BD23;1107 116A 11BA; +BD24;BD24;1107 116A 11BB;BD24;1107 116A 11BB; +BD25;BD25;1107 116A 11BC;BD25;1107 116A 11BC; +BD26;BD26;1107 116A 11BD;BD26;1107 116A 11BD; +BD27;BD27;1107 116A 11BE;BD27;1107 116A 11BE; +BD28;BD28;1107 116A 11BF;BD28;1107 116A 11BF; +BD29;BD29;1107 116A 11C0;BD29;1107 116A 11C0; +BD2A;BD2A;1107 116A 11C1;BD2A;1107 116A 11C1; +BD2B;BD2B;1107 116A 11C2;BD2B;1107 116A 11C2; +BD2C;BD2C;1107 116B;BD2C;1107 116B; +BD2D;BD2D;1107 116B 11A8;BD2D;1107 116B 11A8; +BD2E;BD2E;1107 116B 11A9;BD2E;1107 116B 11A9; +BD2F;BD2F;1107 116B 11AA;BD2F;1107 116B 11AA; +BD30;BD30;1107 116B 11AB;BD30;1107 116B 11AB; +BD31;BD31;1107 116B 11AC;BD31;1107 116B 11AC; +BD32;BD32;1107 116B 11AD;BD32;1107 116B 11AD; +BD33;BD33;1107 116B 11AE;BD33;1107 116B 11AE; +BD34;BD34;1107 116B 11AF;BD34;1107 116B 11AF; +BD35;BD35;1107 116B 11B0;BD35;1107 116B 11B0; +BD36;BD36;1107 116B 11B1;BD36;1107 116B 11B1; +BD37;BD37;1107 116B 11B2;BD37;1107 116B 11B2; +BD38;BD38;1107 116B 11B3;BD38;1107 116B 11B3; +BD39;BD39;1107 116B 11B4;BD39;1107 116B 11B4; +BD3A;BD3A;1107 116B 11B5;BD3A;1107 116B 11B5; +BD3B;BD3B;1107 116B 11B6;BD3B;1107 116B 11B6; +BD3C;BD3C;1107 116B 11B7;BD3C;1107 116B 11B7; +BD3D;BD3D;1107 116B 11B8;BD3D;1107 116B 11B8; +BD3E;BD3E;1107 116B 11B9;BD3E;1107 116B 11B9; +BD3F;BD3F;1107 116B 11BA;BD3F;1107 116B 11BA; +BD40;BD40;1107 116B 11BB;BD40;1107 116B 11BB; +BD41;BD41;1107 116B 11BC;BD41;1107 116B 11BC; +BD42;BD42;1107 116B 11BD;BD42;1107 116B 11BD; +BD43;BD43;1107 116B 11BE;BD43;1107 116B 11BE; +BD44;BD44;1107 116B 11BF;BD44;1107 116B 11BF; +BD45;BD45;1107 116B 11C0;BD45;1107 116B 11C0; +BD46;BD46;1107 116B 11C1;BD46;1107 116B 11C1; +BD47;BD47;1107 116B 11C2;BD47;1107 116B 11C2; +BD48;BD48;1107 116C;BD48;1107 116C; +BD49;BD49;1107 116C 11A8;BD49;1107 116C 11A8; +BD4A;BD4A;1107 116C 11A9;BD4A;1107 116C 11A9; +BD4B;BD4B;1107 116C 11AA;BD4B;1107 116C 11AA; +BD4C;BD4C;1107 116C 11AB;BD4C;1107 116C 11AB; +BD4D;BD4D;1107 116C 11AC;BD4D;1107 116C 11AC; +BD4E;BD4E;1107 116C 11AD;BD4E;1107 116C 11AD; +BD4F;BD4F;1107 116C 11AE;BD4F;1107 116C 11AE; +BD50;BD50;1107 116C 11AF;BD50;1107 116C 11AF; +BD51;BD51;1107 116C 11B0;BD51;1107 116C 11B0; +BD52;BD52;1107 116C 11B1;BD52;1107 116C 11B1; +BD53;BD53;1107 116C 11B2;BD53;1107 116C 11B2; +BD54;BD54;1107 116C 11B3;BD54;1107 116C 11B3; +BD55;BD55;1107 116C 11B4;BD55;1107 116C 11B4; +BD56;BD56;1107 116C 11B5;BD56;1107 116C 11B5; +BD57;BD57;1107 116C 11B6;BD57;1107 116C 11B6; +BD58;BD58;1107 116C 11B7;BD58;1107 116C 11B7; +BD59;BD59;1107 116C 11B8;BD59;1107 116C 11B8; +BD5A;BD5A;1107 116C 11B9;BD5A;1107 116C 11B9; +BD5B;BD5B;1107 116C 11BA;BD5B;1107 116C 11BA; +BD5C;BD5C;1107 116C 11BB;BD5C;1107 116C 11BB; +BD5D;BD5D;1107 116C 11BC;BD5D;1107 116C 11BC; +BD5E;BD5E;1107 116C 11BD;BD5E;1107 116C 11BD; +BD5F;BD5F;1107 116C 11BE;BD5F;1107 116C 11BE; +BD60;BD60;1107 116C 11BF;BD60;1107 116C 11BF; +BD61;BD61;1107 116C 11C0;BD61;1107 116C 11C0; +BD62;BD62;1107 116C 11C1;BD62;1107 116C 11C1; +BD63;BD63;1107 116C 11C2;BD63;1107 116C 11C2; +BD64;BD64;1107 116D;BD64;1107 116D; +BD65;BD65;1107 116D 11A8;BD65;1107 116D 11A8; +BD66;BD66;1107 116D 11A9;BD66;1107 116D 11A9; +BD67;BD67;1107 116D 11AA;BD67;1107 116D 11AA; +BD68;BD68;1107 116D 11AB;BD68;1107 116D 11AB; +BD69;BD69;1107 116D 11AC;BD69;1107 116D 11AC; +BD6A;BD6A;1107 116D 11AD;BD6A;1107 116D 11AD; +BD6B;BD6B;1107 116D 11AE;BD6B;1107 116D 11AE; +BD6C;BD6C;1107 116D 11AF;BD6C;1107 116D 11AF; +BD6D;BD6D;1107 116D 11B0;BD6D;1107 116D 11B0; +BD6E;BD6E;1107 116D 11B1;BD6E;1107 116D 11B1; +BD6F;BD6F;1107 116D 11B2;BD6F;1107 116D 11B2; +BD70;BD70;1107 116D 11B3;BD70;1107 116D 11B3; +BD71;BD71;1107 116D 11B4;BD71;1107 116D 11B4; +BD72;BD72;1107 116D 11B5;BD72;1107 116D 11B5; +BD73;BD73;1107 116D 11B6;BD73;1107 116D 11B6; +BD74;BD74;1107 116D 11B7;BD74;1107 116D 11B7; +BD75;BD75;1107 116D 11B8;BD75;1107 116D 11B8; +BD76;BD76;1107 116D 11B9;BD76;1107 116D 11B9; +BD77;BD77;1107 116D 11BA;BD77;1107 116D 11BA; +BD78;BD78;1107 116D 11BB;BD78;1107 116D 11BB; +BD79;BD79;1107 116D 11BC;BD79;1107 116D 11BC; +BD7A;BD7A;1107 116D 11BD;BD7A;1107 116D 11BD; +BD7B;BD7B;1107 116D 11BE;BD7B;1107 116D 11BE; +BD7C;BD7C;1107 116D 11BF;BD7C;1107 116D 11BF; +BD7D;BD7D;1107 116D 11C0;BD7D;1107 116D 11C0; +BD7E;BD7E;1107 116D 11C1;BD7E;1107 116D 11C1; +BD7F;BD7F;1107 116D 11C2;BD7F;1107 116D 11C2; +BD80;BD80;1107 116E;BD80;1107 116E; +BD81;BD81;1107 116E 11A8;BD81;1107 116E 11A8; +BD82;BD82;1107 116E 11A9;BD82;1107 116E 11A9; +BD83;BD83;1107 116E 11AA;BD83;1107 116E 11AA; +BD84;BD84;1107 116E 11AB;BD84;1107 116E 11AB; +BD85;BD85;1107 116E 11AC;BD85;1107 116E 11AC; +BD86;BD86;1107 116E 11AD;BD86;1107 116E 11AD; +BD87;BD87;1107 116E 11AE;BD87;1107 116E 11AE; +BD88;BD88;1107 116E 11AF;BD88;1107 116E 11AF; +BD89;BD89;1107 116E 11B0;BD89;1107 116E 11B0; +BD8A;BD8A;1107 116E 11B1;BD8A;1107 116E 11B1; +BD8B;BD8B;1107 116E 11B2;BD8B;1107 116E 11B2; +BD8C;BD8C;1107 116E 11B3;BD8C;1107 116E 11B3; +BD8D;BD8D;1107 116E 11B4;BD8D;1107 116E 11B4; +BD8E;BD8E;1107 116E 11B5;BD8E;1107 116E 11B5; +BD8F;BD8F;1107 116E 11B6;BD8F;1107 116E 11B6; +BD90;BD90;1107 116E 11B7;BD90;1107 116E 11B7; +BD91;BD91;1107 116E 11B8;BD91;1107 116E 11B8; +BD92;BD92;1107 116E 11B9;BD92;1107 116E 11B9; +BD93;BD93;1107 116E 11BA;BD93;1107 116E 11BA; +BD94;BD94;1107 116E 11BB;BD94;1107 116E 11BB; +BD95;BD95;1107 116E 11BC;BD95;1107 116E 11BC; +BD96;BD96;1107 116E 11BD;BD96;1107 116E 11BD; +BD97;BD97;1107 116E 11BE;BD97;1107 116E 11BE; +BD98;BD98;1107 116E 11BF;BD98;1107 116E 11BF; +BD99;BD99;1107 116E 11C0;BD99;1107 116E 11C0; +BD9A;BD9A;1107 116E 11C1;BD9A;1107 116E 11C1; +BD9B;BD9B;1107 116E 11C2;BD9B;1107 116E 11C2; +BD9C;BD9C;1107 116F;BD9C;1107 116F; +BD9D;BD9D;1107 116F 11A8;BD9D;1107 116F 11A8; +BD9E;BD9E;1107 116F 11A9;BD9E;1107 116F 11A9; +BD9F;BD9F;1107 116F 11AA;BD9F;1107 116F 11AA; +BDA0;BDA0;1107 116F 11AB;BDA0;1107 116F 11AB; +BDA1;BDA1;1107 116F 11AC;BDA1;1107 116F 11AC; +BDA2;BDA2;1107 116F 11AD;BDA2;1107 116F 11AD; +BDA3;BDA3;1107 116F 11AE;BDA3;1107 116F 11AE; +BDA4;BDA4;1107 116F 11AF;BDA4;1107 116F 11AF; +BDA5;BDA5;1107 116F 11B0;BDA5;1107 116F 11B0; +BDA6;BDA6;1107 116F 11B1;BDA6;1107 116F 11B1; +BDA7;BDA7;1107 116F 11B2;BDA7;1107 116F 11B2; +BDA8;BDA8;1107 116F 11B3;BDA8;1107 116F 11B3; +BDA9;BDA9;1107 116F 11B4;BDA9;1107 116F 11B4; +BDAA;BDAA;1107 116F 11B5;BDAA;1107 116F 11B5; +BDAB;BDAB;1107 116F 11B6;BDAB;1107 116F 11B6; +BDAC;BDAC;1107 116F 11B7;BDAC;1107 116F 11B7; +BDAD;BDAD;1107 116F 11B8;BDAD;1107 116F 11B8; +BDAE;BDAE;1107 116F 11B9;BDAE;1107 116F 11B9; +BDAF;BDAF;1107 116F 11BA;BDAF;1107 116F 11BA; +BDB0;BDB0;1107 116F 11BB;BDB0;1107 116F 11BB; +BDB1;BDB1;1107 116F 11BC;BDB1;1107 116F 11BC; +BDB2;BDB2;1107 116F 11BD;BDB2;1107 116F 11BD; +BDB3;BDB3;1107 116F 11BE;BDB3;1107 116F 11BE; +BDB4;BDB4;1107 116F 11BF;BDB4;1107 116F 11BF; +BDB5;BDB5;1107 116F 11C0;BDB5;1107 116F 11C0; +BDB6;BDB6;1107 116F 11C1;BDB6;1107 116F 11C1; +BDB7;BDB7;1107 116F 11C2;BDB7;1107 116F 11C2; +BDB8;BDB8;1107 1170;BDB8;1107 1170; +BDB9;BDB9;1107 1170 11A8;BDB9;1107 1170 11A8; +BDBA;BDBA;1107 1170 11A9;BDBA;1107 1170 11A9; +BDBB;BDBB;1107 1170 11AA;BDBB;1107 1170 11AA; +BDBC;BDBC;1107 1170 11AB;BDBC;1107 1170 11AB; +BDBD;BDBD;1107 1170 11AC;BDBD;1107 1170 11AC; +BDBE;BDBE;1107 1170 11AD;BDBE;1107 1170 11AD; +BDBF;BDBF;1107 1170 11AE;BDBF;1107 1170 11AE; +BDC0;BDC0;1107 1170 11AF;BDC0;1107 1170 11AF; +BDC1;BDC1;1107 1170 11B0;BDC1;1107 1170 11B0; +BDC2;BDC2;1107 1170 11B1;BDC2;1107 1170 11B1; +BDC3;BDC3;1107 1170 11B2;BDC3;1107 1170 11B2; +BDC4;BDC4;1107 1170 11B3;BDC4;1107 1170 11B3; +BDC5;BDC5;1107 1170 11B4;BDC5;1107 1170 11B4; +BDC6;BDC6;1107 1170 11B5;BDC6;1107 1170 11B5; +BDC7;BDC7;1107 1170 11B6;BDC7;1107 1170 11B6; +BDC8;BDC8;1107 1170 11B7;BDC8;1107 1170 11B7; +BDC9;BDC9;1107 1170 11B8;BDC9;1107 1170 11B8; +BDCA;BDCA;1107 1170 11B9;BDCA;1107 1170 11B9; +BDCB;BDCB;1107 1170 11BA;BDCB;1107 1170 11BA; +BDCC;BDCC;1107 1170 11BB;BDCC;1107 1170 11BB; +BDCD;BDCD;1107 1170 11BC;BDCD;1107 1170 11BC; +BDCE;BDCE;1107 1170 11BD;BDCE;1107 1170 11BD; +BDCF;BDCF;1107 1170 11BE;BDCF;1107 1170 11BE; +BDD0;BDD0;1107 1170 11BF;BDD0;1107 1170 11BF; +BDD1;BDD1;1107 1170 11C0;BDD1;1107 1170 11C0; +BDD2;BDD2;1107 1170 11C1;BDD2;1107 1170 11C1; +BDD3;BDD3;1107 1170 11C2;BDD3;1107 1170 11C2; +BDD4;BDD4;1107 1171;BDD4;1107 1171; +BDD5;BDD5;1107 1171 11A8;BDD5;1107 1171 11A8; +BDD6;BDD6;1107 1171 11A9;BDD6;1107 1171 11A9; +BDD7;BDD7;1107 1171 11AA;BDD7;1107 1171 11AA; +BDD8;BDD8;1107 1171 11AB;BDD8;1107 1171 11AB; +BDD9;BDD9;1107 1171 11AC;BDD9;1107 1171 11AC; +BDDA;BDDA;1107 1171 11AD;BDDA;1107 1171 11AD; +BDDB;BDDB;1107 1171 11AE;BDDB;1107 1171 11AE; +BDDC;BDDC;1107 1171 11AF;BDDC;1107 1171 11AF; +BDDD;BDDD;1107 1171 11B0;BDDD;1107 1171 11B0; +BDDE;BDDE;1107 1171 11B1;BDDE;1107 1171 11B1; +BDDF;BDDF;1107 1171 11B2;BDDF;1107 1171 11B2; +BDE0;BDE0;1107 1171 11B3;BDE0;1107 1171 11B3; +BDE1;BDE1;1107 1171 11B4;BDE1;1107 1171 11B4; +BDE2;BDE2;1107 1171 11B5;BDE2;1107 1171 11B5; +BDE3;BDE3;1107 1171 11B6;BDE3;1107 1171 11B6; +BDE4;BDE4;1107 1171 11B7;BDE4;1107 1171 11B7; +BDE5;BDE5;1107 1171 11B8;BDE5;1107 1171 11B8; +BDE6;BDE6;1107 1171 11B9;BDE6;1107 1171 11B9; +BDE7;BDE7;1107 1171 11BA;BDE7;1107 1171 11BA; +BDE8;BDE8;1107 1171 11BB;BDE8;1107 1171 11BB; +BDE9;BDE9;1107 1171 11BC;BDE9;1107 1171 11BC; +BDEA;BDEA;1107 1171 11BD;BDEA;1107 1171 11BD; +BDEB;BDEB;1107 1171 11BE;BDEB;1107 1171 11BE; +BDEC;BDEC;1107 1171 11BF;BDEC;1107 1171 11BF; +BDED;BDED;1107 1171 11C0;BDED;1107 1171 11C0; +BDEE;BDEE;1107 1171 11C1;BDEE;1107 1171 11C1; +BDEF;BDEF;1107 1171 11C2;BDEF;1107 1171 11C2; +BDF0;BDF0;1107 1172;BDF0;1107 1172; +BDF1;BDF1;1107 1172 11A8;BDF1;1107 1172 11A8; +BDF2;BDF2;1107 1172 11A9;BDF2;1107 1172 11A9; +BDF3;BDF3;1107 1172 11AA;BDF3;1107 1172 11AA; +BDF4;BDF4;1107 1172 11AB;BDF4;1107 1172 11AB; +BDF5;BDF5;1107 1172 11AC;BDF5;1107 1172 11AC; +BDF6;BDF6;1107 1172 11AD;BDF6;1107 1172 11AD; +BDF7;BDF7;1107 1172 11AE;BDF7;1107 1172 11AE; +BDF8;BDF8;1107 1172 11AF;BDF8;1107 1172 11AF; +BDF9;BDF9;1107 1172 11B0;BDF9;1107 1172 11B0; +BDFA;BDFA;1107 1172 11B1;BDFA;1107 1172 11B1; +BDFB;BDFB;1107 1172 11B2;BDFB;1107 1172 11B2; +BDFC;BDFC;1107 1172 11B3;BDFC;1107 1172 11B3; +BDFD;BDFD;1107 1172 11B4;BDFD;1107 1172 11B4; +BDFE;BDFE;1107 1172 11B5;BDFE;1107 1172 11B5; +BDFF;BDFF;1107 1172 11B6;BDFF;1107 1172 11B6; +BE00;BE00;1107 1172 11B7;BE00;1107 1172 11B7; +BE01;BE01;1107 1172 11B8;BE01;1107 1172 11B8; +BE02;BE02;1107 1172 11B9;BE02;1107 1172 11B9; +BE03;BE03;1107 1172 11BA;BE03;1107 1172 11BA; +BE04;BE04;1107 1172 11BB;BE04;1107 1172 11BB; +BE05;BE05;1107 1172 11BC;BE05;1107 1172 11BC; +BE06;BE06;1107 1172 11BD;BE06;1107 1172 11BD; +BE07;BE07;1107 1172 11BE;BE07;1107 1172 11BE; +BE08;BE08;1107 1172 11BF;BE08;1107 1172 11BF; +BE09;BE09;1107 1172 11C0;BE09;1107 1172 11C0; +BE0A;BE0A;1107 1172 11C1;BE0A;1107 1172 11C1; +BE0B;BE0B;1107 1172 11C2;BE0B;1107 1172 11C2; +BE0C;BE0C;1107 1173;BE0C;1107 1173; +BE0D;BE0D;1107 1173 11A8;BE0D;1107 1173 11A8; +BE0E;BE0E;1107 1173 11A9;BE0E;1107 1173 11A9; +BE0F;BE0F;1107 1173 11AA;BE0F;1107 1173 11AA; +BE10;BE10;1107 1173 11AB;BE10;1107 1173 11AB; +BE11;BE11;1107 1173 11AC;BE11;1107 1173 11AC; +BE12;BE12;1107 1173 11AD;BE12;1107 1173 11AD; +BE13;BE13;1107 1173 11AE;BE13;1107 1173 11AE; +BE14;BE14;1107 1173 11AF;BE14;1107 1173 11AF; +BE15;BE15;1107 1173 11B0;BE15;1107 1173 11B0; +BE16;BE16;1107 1173 11B1;BE16;1107 1173 11B1; +BE17;BE17;1107 1173 11B2;BE17;1107 1173 11B2; +BE18;BE18;1107 1173 11B3;BE18;1107 1173 11B3; +BE19;BE19;1107 1173 11B4;BE19;1107 1173 11B4; +BE1A;BE1A;1107 1173 11B5;BE1A;1107 1173 11B5; +BE1B;BE1B;1107 1173 11B6;BE1B;1107 1173 11B6; +BE1C;BE1C;1107 1173 11B7;BE1C;1107 1173 11B7; +BE1D;BE1D;1107 1173 11B8;BE1D;1107 1173 11B8; +BE1E;BE1E;1107 1173 11B9;BE1E;1107 1173 11B9; +BE1F;BE1F;1107 1173 11BA;BE1F;1107 1173 11BA; +BE20;BE20;1107 1173 11BB;BE20;1107 1173 11BB; +BE21;BE21;1107 1173 11BC;BE21;1107 1173 11BC; +BE22;BE22;1107 1173 11BD;BE22;1107 1173 11BD; +BE23;BE23;1107 1173 11BE;BE23;1107 1173 11BE; +BE24;BE24;1107 1173 11BF;BE24;1107 1173 11BF; +BE25;BE25;1107 1173 11C0;BE25;1107 1173 11C0; +BE26;BE26;1107 1173 11C1;BE26;1107 1173 11C1; +BE27;BE27;1107 1173 11C2;BE27;1107 1173 11C2; +BE28;BE28;1107 1174;BE28;1107 1174; +BE29;BE29;1107 1174 11A8;BE29;1107 1174 11A8; +BE2A;BE2A;1107 1174 11A9;BE2A;1107 1174 11A9; +BE2B;BE2B;1107 1174 11AA;BE2B;1107 1174 11AA; +BE2C;BE2C;1107 1174 11AB;BE2C;1107 1174 11AB; +BE2D;BE2D;1107 1174 11AC;BE2D;1107 1174 11AC; +BE2E;BE2E;1107 1174 11AD;BE2E;1107 1174 11AD; +BE2F;BE2F;1107 1174 11AE;BE2F;1107 1174 11AE; +BE30;BE30;1107 1174 11AF;BE30;1107 1174 11AF; +BE31;BE31;1107 1174 11B0;BE31;1107 1174 11B0; +BE32;BE32;1107 1174 11B1;BE32;1107 1174 11B1; +BE33;BE33;1107 1174 11B2;BE33;1107 1174 11B2; +BE34;BE34;1107 1174 11B3;BE34;1107 1174 11B3; +BE35;BE35;1107 1174 11B4;BE35;1107 1174 11B4; +BE36;BE36;1107 1174 11B5;BE36;1107 1174 11B5; +BE37;BE37;1107 1174 11B6;BE37;1107 1174 11B6; +BE38;BE38;1107 1174 11B7;BE38;1107 1174 11B7; +BE39;BE39;1107 1174 11B8;BE39;1107 1174 11B8; +BE3A;BE3A;1107 1174 11B9;BE3A;1107 1174 11B9; +BE3B;BE3B;1107 1174 11BA;BE3B;1107 1174 11BA; +BE3C;BE3C;1107 1174 11BB;BE3C;1107 1174 11BB; +BE3D;BE3D;1107 1174 11BC;BE3D;1107 1174 11BC; +BE3E;BE3E;1107 1174 11BD;BE3E;1107 1174 11BD; +BE3F;BE3F;1107 1174 11BE;BE3F;1107 1174 11BE; +BE40;BE40;1107 1174 11BF;BE40;1107 1174 11BF; +BE41;BE41;1107 1174 11C0;BE41;1107 1174 11C0; +BE42;BE42;1107 1174 11C1;BE42;1107 1174 11C1; +BE43;BE43;1107 1174 11C2;BE43;1107 1174 11C2; +BE44;BE44;1107 1175;BE44;1107 1175; +BE45;BE45;1107 1175 11A8;BE45;1107 1175 11A8; +BE46;BE46;1107 1175 11A9;BE46;1107 1175 11A9; +BE47;BE47;1107 1175 11AA;BE47;1107 1175 11AA; +BE48;BE48;1107 1175 11AB;BE48;1107 1175 11AB; +BE49;BE49;1107 1175 11AC;BE49;1107 1175 11AC; +BE4A;BE4A;1107 1175 11AD;BE4A;1107 1175 11AD; +BE4B;BE4B;1107 1175 11AE;BE4B;1107 1175 11AE; +BE4C;BE4C;1107 1175 11AF;BE4C;1107 1175 11AF; +BE4D;BE4D;1107 1175 11B0;BE4D;1107 1175 11B0; +BE4E;BE4E;1107 1175 11B1;BE4E;1107 1175 11B1; +BE4F;BE4F;1107 1175 11B2;BE4F;1107 1175 11B2; +BE50;BE50;1107 1175 11B3;BE50;1107 1175 11B3; +BE51;BE51;1107 1175 11B4;BE51;1107 1175 11B4; +BE52;BE52;1107 1175 11B5;BE52;1107 1175 11B5; +BE53;BE53;1107 1175 11B6;BE53;1107 1175 11B6; +BE54;BE54;1107 1175 11B7;BE54;1107 1175 11B7; +BE55;BE55;1107 1175 11B8;BE55;1107 1175 11B8; +BE56;BE56;1107 1175 11B9;BE56;1107 1175 11B9; +BE57;BE57;1107 1175 11BA;BE57;1107 1175 11BA; +BE58;BE58;1107 1175 11BB;BE58;1107 1175 11BB; +BE59;BE59;1107 1175 11BC;BE59;1107 1175 11BC; +BE5A;BE5A;1107 1175 11BD;BE5A;1107 1175 11BD; +BE5B;BE5B;1107 1175 11BE;BE5B;1107 1175 11BE; +BE5C;BE5C;1107 1175 11BF;BE5C;1107 1175 11BF; +BE5D;BE5D;1107 1175 11C0;BE5D;1107 1175 11C0; +BE5E;BE5E;1107 1175 11C1;BE5E;1107 1175 11C1; +BE5F;BE5F;1107 1175 11C2;BE5F;1107 1175 11C2; +BE60;BE60;1108 1161;BE60;1108 1161; +BE61;BE61;1108 1161 11A8;BE61;1108 1161 11A8; +BE62;BE62;1108 1161 11A9;BE62;1108 1161 11A9; +BE63;BE63;1108 1161 11AA;BE63;1108 1161 11AA; +BE64;BE64;1108 1161 11AB;BE64;1108 1161 11AB; +BE65;BE65;1108 1161 11AC;BE65;1108 1161 11AC; +BE66;BE66;1108 1161 11AD;BE66;1108 1161 11AD; +BE67;BE67;1108 1161 11AE;BE67;1108 1161 11AE; +BE68;BE68;1108 1161 11AF;BE68;1108 1161 11AF; +BE69;BE69;1108 1161 11B0;BE69;1108 1161 11B0; +BE6A;BE6A;1108 1161 11B1;BE6A;1108 1161 11B1; +BE6B;BE6B;1108 1161 11B2;BE6B;1108 1161 11B2; +BE6C;BE6C;1108 1161 11B3;BE6C;1108 1161 11B3; +BE6D;BE6D;1108 1161 11B4;BE6D;1108 1161 11B4; +BE6E;BE6E;1108 1161 11B5;BE6E;1108 1161 11B5; +BE6F;BE6F;1108 1161 11B6;BE6F;1108 1161 11B6; +BE70;BE70;1108 1161 11B7;BE70;1108 1161 11B7; +BE71;BE71;1108 1161 11B8;BE71;1108 1161 11B8; +BE72;BE72;1108 1161 11B9;BE72;1108 1161 11B9; +BE73;BE73;1108 1161 11BA;BE73;1108 1161 11BA; +BE74;BE74;1108 1161 11BB;BE74;1108 1161 11BB; +BE75;BE75;1108 1161 11BC;BE75;1108 1161 11BC; +BE76;BE76;1108 1161 11BD;BE76;1108 1161 11BD; +BE77;BE77;1108 1161 11BE;BE77;1108 1161 11BE; +BE78;BE78;1108 1161 11BF;BE78;1108 1161 11BF; +BE79;BE79;1108 1161 11C0;BE79;1108 1161 11C0; +BE7A;BE7A;1108 1161 11C1;BE7A;1108 1161 11C1; +BE7B;BE7B;1108 1161 11C2;BE7B;1108 1161 11C2; +BE7C;BE7C;1108 1162;BE7C;1108 1162; +BE7D;BE7D;1108 1162 11A8;BE7D;1108 1162 11A8; +BE7E;BE7E;1108 1162 11A9;BE7E;1108 1162 11A9; +BE7F;BE7F;1108 1162 11AA;BE7F;1108 1162 11AA; +BE80;BE80;1108 1162 11AB;BE80;1108 1162 11AB; +BE81;BE81;1108 1162 11AC;BE81;1108 1162 11AC; +BE82;BE82;1108 1162 11AD;BE82;1108 1162 11AD; +BE83;BE83;1108 1162 11AE;BE83;1108 1162 11AE; +BE84;BE84;1108 1162 11AF;BE84;1108 1162 11AF; +BE85;BE85;1108 1162 11B0;BE85;1108 1162 11B0; +BE86;BE86;1108 1162 11B1;BE86;1108 1162 11B1; +BE87;BE87;1108 1162 11B2;BE87;1108 1162 11B2; +BE88;BE88;1108 1162 11B3;BE88;1108 1162 11B3; +BE89;BE89;1108 1162 11B4;BE89;1108 1162 11B4; +BE8A;BE8A;1108 1162 11B5;BE8A;1108 1162 11B5; +BE8B;BE8B;1108 1162 11B6;BE8B;1108 1162 11B6; +BE8C;BE8C;1108 1162 11B7;BE8C;1108 1162 11B7; +BE8D;BE8D;1108 1162 11B8;BE8D;1108 1162 11B8; +BE8E;BE8E;1108 1162 11B9;BE8E;1108 1162 11B9; +BE8F;BE8F;1108 1162 11BA;BE8F;1108 1162 11BA; +BE90;BE90;1108 1162 11BB;BE90;1108 1162 11BB; +BE91;BE91;1108 1162 11BC;BE91;1108 1162 11BC; +BE92;BE92;1108 1162 11BD;BE92;1108 1162 11BD; +BE93;BE93;1108 1162 11BE;BE93;1108 1162 11BE; +BE94;BE94;1108 1162 11BF;BE94;1108 1162 11BF; +BE95;BE95;1108 1162 11C0;BE95;1108 1162 11C0; +BE96;BE96;1108 1162 11C1;BE96;1108 1162 11C1; +BE97;BE97;1108 1162 11C2;BE97;1108 1162 11C2; +BE98;BE98;1108 1163;BE98;1108 1163; +BE99;BE99;1108 1163 11A8;BE99;1108 1163 11A8; +BE9A;BE9A;1108 1163 11A9;BE9A;1108 1163 11A9; +BE9B;BE9B;1108 1163 11AA;BE9B;1108 1163 11AA; +BE9C;BE9C;1108 1163 11AB;BE9C;1108 1163 11AB; +BE9D;BE9D;1108 1163 11AC;BE9D;1108 1163 11AC; +BE9E;BE9E;1108 1163 11AD;BE9E;1108 1163 11AD; +BE9F;BE9F;1108 1163 11AE;BE9F;1108 1163 11AE; +BEA0;BEA0;1108 1163 11AF;BEA0;1108 1163 11AF; +BEA1;BEA1;1108 1163 11B0;BEA1;1108 1163 11B0; +BEA2;BEA2;1108 1163 11B1;BEA2;1108 1163 11B1; +BEA3;BEA3;1108 1163 11B2;BEA3;1108 1163 11B2; +BEA4;BEA4;1108 1163 11B3;BEA4;1108 1163 11B3; +BEA5;BEA5;1108 1163 11B4;BEA5;1108 1163 11B4; +BEA6;BEA6;1108 1163 11B5;BEA6;1108 1163 11B5; +BEA7;BEA7;1108 1163 11B6;BEA7;1108 1163 11B6; +BEA8;BEA8;1108 1163 11B7;BEA8;1108 1163 11B7; +BEA9;BEA9;1108 1163 11B8;BEA9;1108 1163 11B8; +BEAA;BEAA;1108 1163 11B9;BEAA;1108 1163 11B9; +BEAB;BEAB;1108 1163 11BA;BEAB;1108 1163 11BA; +BEAC;BEAC;1108 1163 11BB;BEAC;1108 1163 11BB; +BEAD;BEAD;1108 1163 11BC;BEAD;1108 1163 11BC; +BEAE;BEAE;1108 1163 11BD;BEAE;1108 1163 11BD; +BEAF;BEAF;1108 1163 11BE;BEAF;1108 1163 11BE; +BEB0;BEB0;1108 1163 11BF;BEB0;1108 1163 11BF; +BEB1;BEB1;1108 1163 11C0;BEB1;1108 1163 11C0; +BEB2;BEB2;1108 1163 11C1;BEB2;1108 1163 11C1; +BEB3;BEB3;1108 1163 11C2;BEB3;1108 1163 11C2; +BEB4;BEB4;1108 1164;BEB4;1108 1164; +BEB5;BEB5;1108 1164 11A8;BEB5;1108 1164 11A8; +BEB6;BEB6;1108 1164 11A9;BEB6;1108 1164 11A9; +BEB7;BEB7;1108 1164 11AA;BEB7;1108 1164 11AA; +BEB8;BEB8;1108 1164 11AB;BEB8;1108 1164 11AB; +BEB9;BEB9;1108 1164 11AC;BEB9;1108 1164 11AC; +BEBA;BEBA;1108 1164 11AD;BEBA;1108 1164 11AD; +BEBB;BEBB;1108 1164 11AE;BEBB;1108 1164 11AE; +BEBC;BEBC;1108 1164 11AF;BEBC;1108 1164 11AF; +BEBD;BEBD;1108 1164 11B0;BEBD;1108 1164 11B0; +BEBE;BEBE;1108 1164 11B1;BEBE;1108 1164 11B1; +BEBF;BEBF;1108 1164 11B2;BEBF;1108 1164 11B2; +BEC0;BEC0;1108 1164 11B3;BEC0;1108 1164 11B3; +BEC1;BEC1;1108 1164 11B4;BEC1;1108 1164 11B4; +BEC2;BEC2;1108 1164 11B5;BEC2;1108 1164 11B5; +BEC3;BEC3;1108 1164 11B6;BEC3;1108 1164 11B6; +BEC4;BEC4;1108 1164 11B7;BEC4;1108 1164 11B7; +BEC5;BEC5;1108 1164 11B8;BEC5;1108 1164 11B8; +BEC6;BEC6;1108 1164 11B9;BEC6;1108 1164 11B9; +BEC7;BEC7;1108 1164 11BA;BEC7;1108 1164 11BA; +BEC8;BEC8;1108 1164 11BB;BEC8;1108 1164 11BB; +BEC9;BEC9;1108 1164 11BC;BEC9;1108 1164 11BC; +BECA;BECA;1108 1164 11BD;BECA;1108 1164 11BD; +BECB;BECB;1108 1164 11BE;BECB;1108 1164 11BE; +BECC;BECC;1108 1164 11BF;BECC;1108 1164 11BF; +BECD;BECD;1108 1164 11C0;BECD;1108 1164 11C0; +BECE;BECE;1108 1164 11C1;BECE;1108 1164 11C1; +BECF;BECF;1108 1164 11C2;BECF;1108 1164 11C2; +BED0;BED0;1108 1165;BED0;1108 1165; +BED1;BED1;1108 1165 11A8;BED1;1108 1165 11A8; +BED2;BED2;1108 1165 11A9;BED2;1108 1165 11A9; +BED3;BED3;1108 1165 11AA;BED3;1108 1165 11AA; +BED4;BED4;1108 1165 11AB;BED4;1108 1165 11AB; +BED5;BED5;1108 1165 11AC;BED5;1108 1165 11AC; +BED6;BED6;1108 1165 11AD;BED6;1108 1165 11AD; +BED7;BED7;1108 1165 11AE;BED7;1108 1165 11AE; +BED8;BED8;1108 1165 11AF;BED8;1108 1165 11AF; +BED9;BED9;1108 1165 11B0;BED9;1108 1165 11B0; +BEDA;BEDA;1108 1165 11B1;BEDA;1108 1165 11B1; +BEDB;BEDB;1108 1165 11B2;BEDB;1108 1165 11B2; +BEDC;BEDC;1108 1165 11B3;BEDC;1108 1165 11B3; +BEDD;BEDD;1108 1165 11B4;BEDD;1108 1165 11B4; +BEDE;BEDE;1108 1165 11B5;BEDE;1108 1165 11B5; +BEDF;BEDF;1108 1165 11B6;BEDF;1108 1165 11B6; +BEE0;BEE0;1108 1165 11B7;BEE0;1108 1165 11B7; +BEE1;BEE1;1108 1165 11B8;BEE1;1108 1165 11B8; +BEE2;BEE2;1108 1165 11B9;BEE2;1108 1165 11B9; +BEE3;BEE3;1108 1165 11BA;BEE3;1108 1165 11BA; +BEE4;BEE4;1108 1165 11BB;BEE4;1108 1165 11BB; +BEE5;BEE5;1108 1165 11BC;BEE5;1108 1165 11BC; +BEE6;BEE6;1108 1165 11BD;BEE6;1108 1165 11BD; +BEE7;BEE7;1108 1165 11BE;BEE7;1108 1165 11BE; +BEE8;BEE8;1108 1165 11BF;BEE8;1108 1165 11BF; +BEE9;BEE9;1108 1165 11C0;BEE9;1108 1165 11C0; +BEEA;BEEA;1108 1165 11C1;BEEA;1108 1165 11C1; +BEEB;BEEB;1108 1165 11C2;BEEB;1108 1165 11C2; +BEEC;BEEC;1108 1166;BEEC;1108 1166; +BEED;BEED;1108 1166 11A8;BEED;1108 1166 11A8; +BEEE;BEEE;1108 1166 11A9;BEEE;1108 1166 11A9; +BEEF;BEEF;1108 1166 11AA;BEEF;1108 1166 11AA; +BEF0;BEF0;1108 1166 11AB;BEF0;1108 1166 11AB; +BEF1;BEF1;1108 1166 11AC;BEF1;1108 1166 11AC; +BEF2;BEF2;1108 1166 11AD;BEF2;1108 1166 11AD; +BEF3;BEF3;1108 1166 11AE;BEF3;1108 1166 11AE; +BEF4;BEF4;1108 1166 11AF;BEF4;1108 1166 11AF; +BEF5;BEF5;1108 1166 11B0;BEF5;1108 1166 11B0; +BEF6;BEF6;1108 1166 11B1;BEF6;1108 1166 11B1; +BEF7;BEF7;1108 1166 11B2;BEF7;1108 1166 11B2; +BEF8;BEF8;1108 1166 11B3;BEF8;1108 1166 11B3; +BEF9;BEF9;1108 1166 11B4;BEF9;1108 1166 11B4; +BEFA;BEFA;1108 1166 11B5;BEFA;1108 1166 11B5; +BEFB;BEFB;1108 1166 11B6;BEFB;1108 1166 11B6; +BEFC;BEFC;1108 1166 11B7;BEFC;1108 1166 11B7; +BEFD;BEFD;1108 1166 11B8;BEFD;1108 1166 11B8; +BEFE;BEFE;1108 1166 11B9;BEFE;1108 1166 11B9; +BEFF;BEFF;1108 1166 11BA;BEFF;1108 1166 11BA; +BF00;BF00;1108 1166 11BB;BF00;1108 1166 11BB; +BF01;BF01;1108 1166 11BC;BF01;1108 1166 11BC; +BF02;BF02;1108 1166 11BD;BF02;1108 1166 11BD; +BF03;BF03;1108 1166 11BE;BF03;1108 1166 11BE; +BF04;BF04;1108 1166 11BF;BF04;1108 1166 11BF; +BF05;BF05;1108 1166 11C0;BF05;1108 1166 11C0; +BF06;BF06;1108 1166 11C1;BF06;1108 1166 11C1; +BF07;BF07;1108 1166 11C2;BF07;1108 1166 11C2; +BF08;BF08;1108 1167;BF08;1108 1167; +BF09;BF09;1108 1167 11A8;BF09;1108 1167 11A8; +BF0A;BF0A;1108 1167 11A9;BF0A;1108 1167 11A9; +BF0B;BF0B;1108 1167 11AA;BF0B;1108 1167 11AA; +BF0C;BF0C;1108 1167 11AB;BF0C;1108 1167 11AB; +BF0D;BF0D;1108 1167 11AC;BF0D;1108 1167 11AC; +BF0E;BF0E;1108 1167 11AD;BF0E;1108 1167 11AD; +BF0F;BF0F;1108 1167 11AE;BF0F;1108 1167 11AE; +BF10;BF10;1108 1167 11AF;BF10;1108 1167 11AF; +BF11;BF11;1108 1167 11B0;BF11;1108 1167 11B0; +BF12;BF12;1108 1167 11B1;BF12;1108 1167 11B1; +BF13;BF13;1108 1167 11B2;BF13;1108 1167 11B2; +BF14;BF14;1108 1167 11B3;BF14;1108 1167 11B3; +BF15;BF15;1108 1167 11B4;BF15;1108 1167 11B4; +BF16;BF16;1108 1167 11B5;BF16;1108 1167 11B5; +BF17;BF17;1108 1167 11B6;BF17;1108 1167 11B6; +BF18;BF18;1108 1167 11B7;BF18;1108 1167 11B7; +BF19;BF19;1108 1167 11B8;BF19;1108 1167 11B8; +BF1A;BF1A;1108 1167 11B9;BF1A;1108 1167 11B9; +BF1B;BF1B;1108 1167 11BA;BF1B;1108 1167 11BA; +BF1C;BF1C;1108 1167 11BB;BF1C;1108 1167 11BB; +BF1D;BF1D;1108 1167 11BC;BF1D;1108 1167 11BC; +BF1E;BF1E;1108 1167 11BD;BF1E;1108 1167 11BD; +BF1F;BF1F;1108 1167 11BE;BF1F;1108 1167 11BE; +BF20;BF20;1108 1167 11BF;BF20;1108 1167 11BF; +BF21;BF21;1108 1167 11C0;BF21;1108 1167 11C0; +BF22;BF22;1108 1167 11C1;BF22;1108 1167 11C1; +BF23;BF23;1108 1167 11C2;BF23;1108 1167 11C2; +BF24;BF24;1108 1168;BF24;1108 1168; +BF25;BF25;1108 1168 11A8;BF25;1108 1168 11A8; +BF26;BF26;1108 1168 11A9;BF26;1108 1168 11A9; +BF27;BF27;1108 1168 11AA;BF27;1108 1168 11AA; +BF28;BF28;1108 1168 11AB;BF28;1108 1168 11AB; +BF29;BF29;1108 1168 11AC;BF29;1108 1168 11AC; +BF2A;BF2A;1108 1168 11AD;BF2A;1108 1168 11AD; +BF2B;BF2B;1108 1168 11AE;BF2B;1108 1168 11AE; +BF2C;BF2C;1108 1168 11AF;BF2C;1108 1168 11AF; +BF2D;BF2D;1108 1168 11B0;BF2D;1108 1168 11B0; +BF2E;BF2E;1108 1168 11B1;BF2E;1108 1168 11B1; +BF2F;BF2F;1108 1168 11B2;BF2F;1108 1168 11B2; +BF30;BF30;1108 1168 11B3;BF30;1108 1168 11B3; +BF31;BF31;1108 1168 11B4;BF31;1108 1168 11B4; +BF32;BF32;1108 1168 11B5;BF32;1108 1168 11B5; +BF33;BF33;1108 1168 11B6;BF33;1108 1168 11B6; +BF34;BF34;1108 1168 11B7;BF34;1108 1168 11B7; +BF35;BF35;1108 1168 11B8;BF35;1108 1168 11B8; +BF36;BF36;1108 1168 11B9;BF36;1108 1168 11B9; +BF37;BF37;1108 1168 11BA;BF37;1108 1168 11BA; +BF38;BF38;1108 1168 11BB;BF38;1108 1168 11BB; +BF39;BF39;1108 1168 11BC;BF39;1108 1168 11BC; +BF3A;BF3A;1108 1168 11BD;BF3A;1108 1168 11BD; +BF3B;BF3B;1108 1168 11BE;BF3B;1108 1168 11BE; +BF3C;BF3C;1108 1168 11BF;BF3C;1108 1168 11BF; +BF3D;BF3D;1108 1168 11C0;BF3D;1108 1168 11C0; +BF3E;BF3E;1108 1168 11C1;BF3E;1108 1168 11C1; +BF3F;BF3F;1108 1168 11C2;BF3F;1108 1168 11C2; +BF40;BF40;1108 1169;BF40;1108 1169; +BF41;BF41;1108 1169 11A8;BF41;1108 1169 11A8; +BF42;BF42;1108 1169 11A9;BF42;1108 1169 11A9; +BF43;BF43;1108 1169 11AA;BF43;1108 1169 11AA; +BF44;BF44;1108 1169 11AB;BF44;1108 1169 11AB; +BF45;BF45;1108 1169 11AC;BF45;1108 1169 11AC; +BF46;BF46;1108 1169 11AD;BF46;1108 1169 11AD; +BF47;BF47;1108 1169 11AE;BF47;1108 1169 11AE; +BF48;BF48;1108 1169 11AF;BF48;1108 1169 11AF; +BF49;BF49;1108 1169 11B0;BF49;1108 1169 11B0; +BF4A;BF4A;1108 1169 11B1;BF4A;1108 1169 11B1; +BF4B;BF4B;1108 1169 11B2;BF4B;1108 1169 11B2; +BF4C;BF4C;1108 1169 11B3;BF4C;1108 1169 11B3; +BF4D;BF4D;1108 1169 11B4;BF4D;1108 1169 11B4; +BF4E;BF4E;1108 1169 11B5;BF4E;1108 1169 11B5; +BF4F;BF4F;1108 1169 11B6;BF4F;1108 1169 11B6; +BF50;BF50;1108 1169 11B7;BF50;1108 1169 11B7; +BF51;BF51;1108 1169 11B8;BF51;1108 1169 11B8; +BF52;BF52;1108 1169 11B9;BF52;1108 1169 11B9; +BF53;BF53;1108 1169 11BA;BF53;1108 1169 11BA; +BF54;BF54;1108 1169 11BB;BF54;1108 1169 11BB; +BF55;BF55;1108 1169 11BC;BF55;1108 1169 11BC; +BF56;BF56;1108 1169 11BD;BF56;1108 1169 11BD; +BF57;BF57;1108 1169 11BE;BF57;1108 1169 11BE; +BF58;BF58;1108 1169 11BF;BF58;1108 1169 11BF; +BF59;BF59;1108 1169 11C0;BF59;1108 1169 11C0; +BF5A;BF5A;1108 1169 11C1;BF5A;1108 1169 11C1; +BF5B;BF5B;1108 1169 11C2;BF5B;1108 1169 11C2; +BF5C;BF5C;1108 116A;BF5C;1108 116A; +BF5D;BF5D;1108 116A 11A8;BF5D;1108 116A 11A8; +BF5E;BF5E;1108 116A 11A9;BF5E;1108 116A 11A9; +BF5F;BF5F;1108 116A 11AA;BF5F;1108 116A 11AA; +BF60;BF60;1108 116A 11AB;BF60;1108 116A 11AB; +BF61;BF61;1108 116A 11AC;BF61;1108 116A 11AC; +BF62;BF62;1108 116A 11AD;BF62;1108 116A 11AD; +BF63;BF63;1108 116A 11AE;BF63;1108 116A 11AE; +BF64;BF64;1108 116A 11AF;BF64;1108 116A 11AF; +BF65;BF65;1108 116A 11B0;BF65;1108 116A 11B0; +BF66;BF66;1108 116A 11B1;BF66;1108 116A 11B1; +BF67;BF67;1108 116A 11B2;BF67;1108 116A 11B2; +BF68;BF68;1108 116A 11B3;BF68;1108 116A 11B3; +BF69;BF69;1108 116A 11B4;BF69;1108 116A 11B4; +BF6A;BF6A;1108 116A 11B5;BF6A;1108 116A 11B5; +BF6B;BF6B;1108 116A 11B6;BF6B;1108 116A 11B6; +BF6C;BF6C;1108 116A 11B7;BF6C;1108 116A 11B7; +BF6D;BF6D;1108 116A 11B8;BF6D;1108 116A 11B8; +BF6E;BF6E;1108 116A 11B9;BF6E;1108 116A 11B9; +BF6F;BF6F;1108 116A 11BA;BF6F;1108 116A 11BA; +BF70;BF70;1108 116A 11BB;BF70;1108 116A 11BB; +BF71;BF71;1108 116A 11BC;BF71;1108 116A 11BC; +BF72;BF72;1108 116A 11BD;BF72;1108 116A 11BD; +BF73;BF73;1108 116A 11BE;BF73;1108 116A 11BE; +BF74;BF74;1108 116A 11BF;BF74;1108 116A 11BF; +BF75;BF75;1108 116A 11C0;BF75;1108 116A 11C0; +BF76;BF76;1108 116A 11C1;BF76;1108 116A 11C1; +BF77;BF77;1108 116A 11C2;BF77;1108 116A 11C2; +BF78;BF78;1108 116B;BF78;1108 116B; +BF79;BF79;1108 116B 11A8;BF79;1108 116B 11A8; +BF7A;BF7A;1108 116B 11A9;BF7A;1108 116B 11A9; +BF7B;BF7B;1108 116B 11AA;BF7B;1108 116B 11AA; +BF7C;BF7C;1108 116B 11AB;BF7C;1108 116B 11AB; +BF7D;BF7D;1108 116B 11AC;BF7D;1108 116B 11AC; +BF7E;BF7E;1108 116B 11AD;BF7E;1108 116B 11AD; +BF7F;BF7F;1108 116B 11AE;BF7F;1108 116B 11AE; +BF80;BF80;1108 116B 11AF;BF80;1108 116B 11AF; +BF81;BF81;1108 116B 11B0;BF81;1108 116B 11B0; +BF82;BF82;1108 116B 11B1;BF82;1108 116B 11B1; +BF83;BF83;1108 116B 11B2;BF83;1108 116B 11B2; +BF84;BF84;1108 116B 11B3;BF84;1108 116B 11B3; +BF85;BF85;1108 116B 11B4;BF85;1108 116B 11B4; +BF86;BF86;1108 116B 11B5;BF86;1108 116B 11B5; +BF87;BF87;1108 116B 11B6;BF87;1108 116B 11B6; +BF88;BF88;1108 116B 11B7;BF88;1108 116B 11B7; +BF89;BF89;1108 116B 11B8;BF89;1108 116B 11B8; +BF8A;BF8A;1108 116B 11B9;BF8A;1108 116B 11B9; +BF8B;BF8B;1108 116B 11BA;BF8B;1108 116B 11BA; +BF8C;BF8C;1108 116B 11BB;BF8C;1108 116B 11BB; +BF8D;BF8D;1108 116B 11BC;BF8D;1108 116B 11BC; +BF8E;BF8E;1108 116B 11BD;BF8E;1108 116B 11BD; +BF8F;BF8F;1108 116B 11BE;BF8F;1108 116B 11BE; +BF90;BF90;1108 116B 11BF;BF90;1108 116B 11BF; +BF91;BF91;1108 116B 11C0;BF91;1108 116B 11C0; +BF92;BF92;1108 116B 11C1;BF92;1108 116B 11C1; +BF93;BF93;1108 116B 11C2;BF93;1108 116B 11C2; +BF94;BF94;1108 116C;BF94;1108 116C; +BF95;BF95;1108 116C 11A8;BF95;1108 116C 11A8; +BF96;BF96;1108 116C 11A9;BF96;1108 116C 11A9; +BF97;BF97;1108 116C 11AA;BF97;1108 116C 11AA; +BF98;BF98;1108 116C 11AB;BF98;1108 116C 11AB; +BF99;BF99;1108 116C 11AC;BF99;1108 116C 11AC; +BF9A;BF9A;1108 116C 11AD;BF9A;1108 116C 11AD; +BF9B;BF9B;1108 116C 11AE;BF9B;1108 116C 11AE; +BF9C;BF9C;1108 116C 11AF;BF9C;1108 116C 11AF; +BF9D;BF9D;1108 116C 11B0;BF9D;1108 116C 11B0; +BF9E;BF9E;1108 116C 11B1;BF9E;1108 116C 11B1; +BF9F;BF9F;1108 116C 11B2;BF9F;1108 116C 11B2; +BFA0;BFA0;1108 116C 11B3;BFA0;1108 116C 11B3; +BFA1;BFA1;1108 116C 11B4;BFA1;1108 116C 11B4; +BFA2;BFA2;1108 116C 11B5;BFA2;1108 116C 11B5; +BFA3;BFA3;1108 116C 11B6;BFA3;1108 116C 11B6; +BFA4;BFA4;1108 116C 11B7;BFA4;1108 116C 11B7; +BFA5;BFA5;1108 116C 11B8;BFA5;1108 116C 11B8; +BFA6;BFA6;1108 116C 11B9;BFA6;1108 116C 11B9; +BFA7;BFA7;1108 116C 11BA;BFA7;1108 116C 11BA; +BFA8;BFA8;1108 116C 11BB;BFA8;1108 116C 11BB; +BFA9;BFA9;1108 116C 11BC;BFA9;1108 116C 11BC; +BFAA;BFAA;1108 116C 11BD;BFAA;1108 116C 11BD; +BFAB;BFAB;1108 116C 11BE;BFAB;1108 116C 11BE; +BFAC;BFAC;1108 116C 11BF;BFAC;1108 116C 11BF; +BFAD;BFAD;1108 116C 11C0;BFAD;1108 116C 11C0; +BFAE;BFAE;1108 116C 11C1;BFAE;1108 116C 11C1; +BFAF;BFAF;1108 116C 11C2;BFAF;1108 116C 11C2; +BFB0;BFB0;1108 116D;BFB0;1108 116D; +BFB1;BFB1;1108 116D 11A8;BFB1;1108 116D 11A8; +BFB2;BFB2;1108 116D 11A9;BFB2;1108 116D 11A9; +BFB3;BFB3;1108 116D 11AA;BFB3;1108 116D 11AA; +BFB4;BFB4;1108 116D 11AB;BFB4;1108 116D 11AB; +BFB5;BFB5;1108 116D 11AC;BFB5;1108 116D 11AC; +BFB6;BFB6;1108 116D 11AD;BFB6;1108 116D 11AD; +BFB7;BFB7;1108 116D 11AE;BFB7;1108 116D 11AE; +BFB8;BFB8;1108 116D 11AF;BFB8;1108 116D 11AF; +BFB9;BFB9;1108 116D 11B0;BFB9;1108 116D 11B0; +BFBA;BFBA;1108 116D 11B1;BFBA;1108 116D 11B1; +BFBB;BFBB;1108 116D 11B2;BFBB;1108 116D 11B2; +BFBC;BFBC;1108 116D 11B3;BFBC;1108 116D 11B3; +BFBD;BFBD;1108 116D 11B4;BFBD;1108 116D 11B4; +BFBE;BFBE;1108 116D 11B5;BFBE;1108 116D 11B5; +BFBF;BFBF;1108 116D 11B6;BFBF;1108 116D 11B6; +BFC0;BFC0;1108 116D 11B7;BFC0;1108 116D 11B7; +BFC1;BFC1;1108 116D 11B8;BFC1;1108 116D 11B8; +BFC2;BFC2;1108 116D 11B9;BFC2;1108 116D 11B9; +BFC3;BFC3;1108 116D 11BA;BFC3;1108 116D 11BA; +BFC4;BFC4;1108 116D 11BB;BFC4;1108 116D 11BB; +BFC5;BFC5;1108 116D 11BC;BFC5;1108 116D 11BC; +BFC6;BFC6;1108 116D 11BD;BFC6;1108 116D 11BD; +BFC7;BFC7;1108 116D 11BE;BFC7;1108 116D 11BE; +BFC8;BFC8;1108 116D 11BF;BFC8;1108 116D 11BF; +BFC9;BFC9;1108 116D 11C0;BFC9;1108 116D 11C0; +BFCA;BFCA;1108 116D 11C1;BFCA;1108 116D 11C1; +BFCB;BFCB;1108 116D 11C2;BFCB;1108 116D 11C2; +BFCC;BFCC;1108 116E;BFCC;1108 116E; +BFCD;BFCD;1108 116E 11A8;BFCD;1108 116E 11A8; +BFCE;BFCE;1108 116E 11A9;BFCE;1108 116E 11A9; +BFCF;BFCF;1108 116E 11AA;BFCF;1108 116E 11AA; +BFD0;BFD0;1108 116E 11AB;BFD0;1108 116E 11AB; +BFD1;BFD1;1108 116E 11AC;BFD1;1108 116E 11AC; +BFD2;BFD2;1108 116E 11AD;BFD2;1108 116E 11AD; +BFD3;BFD3;1108 116E 11AE;BFD3;1108 116E 11AE; +BFD4;BFD4;1108 116E 11AF;BFD4;1108 116E 11AF; +BFD5;BFD5;1108 116E 11B0;BFD5;1108 116E 11B0; +BFD6;BFD6;1108 116E 11B1;BFD6;1108 116E 11B1; +BFD7;BFD7;1108 116E 11B2;BFD7;1108 116E 11B2; +BFD8;BFD8;1108 116E 11B3;BFD8;1108 116E 11B3; +BFD9;BFD9;1108 116E 11B4;BFD9;1108 116E 11B4; +BFDA;BFDA;1108 116E 11B5;BFDA;1108 116E 11B5; +BFDB;BFDB;1108 116E 11B6;BFDB;1108 116E 11B6; +BFDC;BFDC;1108 116E 11B7;BFDC;1108 116E 11B7; +BFDD;BFDD;1108 116E 11B8;BFDD;1108 116E 11B8; +BFDE;BFDE;1108 116E 11B9;BFDE;1108 116E 11B9; +BFDF;BFDF;1108 116E 11BA;BFDF;1108 116E 11BA; +BFE0;BFE0;1108 116E 11BB;BFE0;1108 116E 11BB; +BFE1;BFE1;1108 116E 11BC;BFE1;1108 116E 11BC; +BFE2;BFE2;1108 116E 11BD;BFE2;1108 116E 11BD; +BFE3;BFE3;1108 116E 11BE;BFE3;1108 116E 11BE; +BFE4;BFE4;1108 116E 11BF;BFE4;1108 116E 11BF; +BFE5;BFE5;1108 116E 11C0;BFE5;1108 116E 11C0; +BFE6;BFE6;1108 116E 11C1;BFE6;1108 116E 11C1; +BFE7;BFE7;1108 116E 11C2;BFE7;1108 116E 11C2; +BFE8;BFE8;1108 116F;BFE8;1108 116F; +BFE9;BFE9;1108 116F 11A8;BFE9;1108 116F 11A8; +BFEA;BFEA;1108 116F 11A9;BFEA;1108 116F 11A9; +BFEB;BFEB;1108 116F 11AA;BFEB;1108 116F 11AA; +BFEC;BFEC;1108 116F 11AB;BFEC;1108 116F 11AB; +BFED;BFED;1108 116F 11AC;BFED;1108 116F 11AC; +BFEE;BFEE;1108 116F 11AD;BFEE;1108 116F 11AD; +BFEF;BFEF;1108 116F 11AE;BFEF;1108 116F 11AE; +BFF0;BFF0;1108 116F 11AF;BFF0;1108 116F 11AF; +BFF1;BFF1;1108 116F 11B0;BFF1;1108 116F 11B0; +BFF2;BFF2;1108 116F 11B1;BFF2;1108 116F 11B1; +BFF3;BFF3;1108 116F 11B2;BFF3;1108 116F 11B2; +BFF4;BFF4;1108 116F 11B3;BFF4;1108 116F 11B3; +BFF5;BFF5;1108 116F 11B4;BFF5;1108 116F 11B4; +BFF6;BFF6;1108 116F 11B5;BFF6;1108 116F 11B5; +BFF7;BFF7;1108 116F 11B6;BFF7;1108 116F 11B6; +BFF8;BFF8;1108 116F 11B7;BFF8;1108 116F 11B7; +BFF9;BFF9;1108 116F 11B8;BFF9;1108 116F 11B8; +BFFA;BFFA;1108 116F 11B9;BFFA;1108 116F 11B9; +BFFB;BFFB;1108 116F 11BA;BFFB;1108 116F 11BA; +BFFC;BFFC;1108 116F 11BB;BFFC;1108 116F 11BB; +BFFD;BFFD;1108 116F 11BC;BFFD;1108 116F 11BC; +BFFE;BFFE;1108 116F 11BD;BFFE;1108 116F 11BD; +BFFF;BFFF;1108 116F 11BE;BFFF;1108 116F 11BE; +C000;C000;1108 116F 11BF;C000;1108 116F 11BF; +C001;C001;1108 116F 11C0;C001;1108 116F 11C0; +C002;C002;1108 116F 11C1;C002;1108 116F 11C1; +C003;C003;1108 116F 11C2;C003;1108 116F 11C2; +C004;C004;1108 1170;C004;1108 1170; +C005;C005;1108 1170 11A8;C005;1108 1170 11A8; +C006;C006;1108 1170 11A9;C006;1108 1170 11A9; +C007;C007;1108 1170 11AA;C007;1108 1170 11AA; +C008;C008;1108 1170 11AB;C008;1108 1170 11AB; +C009;C009;1108 1170 11AC;C009;1108 1170 11AC; +C00A;C00A;1108 1170 11AD;C00A;1108 1170 11AD; +C00B;C00B;1108 1170 11AE;C00B;1108 1170 11AE; +C00C;C00C;1108 1170 11AF;C00C;1108 1170 11AF; +C00D;C00D;1108 1170 11B0;C00D;1108 1170 11B0; +C00E;C00E;1108 1170 11B1;C00E;1108 1170 11B1; +C00F;C00F;1108 1170 11B2;C00F;1108 1170 11B2; +C010;C010;1108 1170 11B3;C010;1108 1170 11B3; +C011;C011;1108 1170 11B4;C011;1108 1170 11B4; +C012;C012;1108 1170 11B5;C012;1108 1170 11B5; +C013;C013;1108 1170 11B6;C013;1108 1170 11B6; +C014;C014;1108 1170 11B7;C014;1108 1170 11B7; +C015;C015;1108 1170 11B8;C015;1108 1170 11B8; +C016;C016;1108 1170 11B9;C016;1108 1170 11B9; +C017;C017;1108 1170 11BA;C017;1108 1170 11BA; +C018;C018;1108 1170 11BB;C018;1108 1170 11BB; +C019;C019;1108 1170 11BC;C019;1108 1170 11BC; +C01A;C01A;1108 1170 11BD;C01A;1108 1170 11BD; +C01B;C01B;1108 1170 11BE;C01B;1108 1170 11BE; +C01C;C01C;1108 1170 11BF;C01C;1108 1170 11BF; +C01D;C01D;1108 1170 11C0;C01D;1108 1170 11C0; +C01E;C01E;1108 1170 11C1;C01E;1108 1170 11C1; +C01F;C01F;1108 1170 11C2;C01F;1108 1170 11C2; +C020;C020;1108 1171;C020;1108 1171; +C021;C021;1108 1171 11A8;C021;1108 1171 11A8; +C022;C022;1108 1171 11A9;C022;1108 1171 11A9; +C023;C023;1108 1171 11AA;C023;1108 1171 11AA; +C024;C024;1108 1171 11AB;C024;1108 1171 11AB; +C025;C025;1108 1171 11AC;C025;1108 1171 11AC; +C026;C026;1108 1171 11AD;C026;1108 1171 11AD; +C027;C027;1108 1171 11AE;C027;1108 1171 11AE; +C028;C028;1108 1171 11AF;C028;1108 1171 11AF; +C029;C029;1108 1171 11B0;C029;1108 1171 11B0; +C02A;C02A;1108 1171 11B1;C02A;1108 1171 11B1; +C02B;C02B;1108 1171 11B2;C02B;1108 1171 11B2; +C02C;C02C;1108 1171 11B3;C02C;1108 1171 11B3; +C02D;C02D;1108 1171 11B4;C02D;1108 1171 11B4; +C02E;C02E;1108 1171 11B5;C02E;1108 1171 11B5; +C02F;C02F;1108 1171 11B6;C02F;1108 1171 11B6; +C030;C030;1108 1171 11B7;C030;1108 1171 11B7; +C031;C031;1108 1171 11B8;C031;1108 1171 11B8; +C032;C032;1108 1171 11B9;C032;1108 1171 11B9; +C033;C033;1108 1171 11BA;C033;1108 1171 11BA; +C034;C034;1108 1171 11BB;C034;1108 1171 11BB; +C035;C035;1108 1171 11BC;C035;1108 1171 11BC; +C036;C036;1108 1171 11BD;C036;1108 1171 11BD; +C037;C037;1108 1171 11BE;C037;1108 1171 11BE; +C038;C038;1108 1171 11BF;C038;1108 1171 11BF; +C039;C039;1108 1171 11C0;C039;1108 1171 11C0; +C03A;C03A;1108 1171 11C1;C03A;1108 1171 11C1; +C03B;C03B;1108 1171 11C2;C03B;1108 1171 11C2; +C03C;C03C;1108 1172;C03C;1108 1172; +C03D;C03D;1108 1172 11A8;C03D;1108 1172 11A8; +C03E;C03E;1108 1172 11A9;C03E;1108 1172 11A9; +C03F;C03F;1108 1172 11AA;C03F;1108 1172 11AA; +C040;C040;1108 1172 11AB;C040;1108 1172 11AB; +C041;C041;1108 1172 11AC;C041;1108 1172 11AC; +C042;C042;1108 1172 11AD;C042;1108 1172 11AD; +C043;C043;1108 1172 11AE;C043;1108 1172 11AE; +C044;C044;1108 1172 11AF;C044;1108 1172 11AF; +C045;C045;1108 1172 11B0;C045;1108 1172 11B0; +C046;C046;1108 1172 11B1;C046;1108 1172 11B1; +C047;C047;1108 1172 11B2;C047;1108 1172 11B2; +C048;C048;1108 1172 11B3;C048;1108 1172 11B3; +C049;C049;1108 1172 11B4;C049;1108 1172 11B4; +C04A;C04A;1108 1172 11B5;C04A;1108 1172 11B5; +C04B;C04B;1108 1172 11B6;C04B;1108 1172 11B6; +C04C;C04C;1108 1172 11B7;C04C;1108 1172 11B7; +C04D;C04D;1108 1172 11B8;C04D;1108 1172 11B8; +C04E;C04E;1108 1172 11B9;C04E;1108 1172 11B9; +C04F;C04F;1108 1172 11BA;C04F;1108 1172 11BA; +C050;C050;1108 1172 11BB;C050;1108 1172 11BB; +C051;C051;1108 1172 11BC;C051;1108 1172 11BC; +C052;C052;1108 1172 11BD;C052;1108 1172 11BD; +C053;C053;1108 1172 11BE;C053;1108 1172 11BE; +C054;C054;1108 1172 11BF;C054;1108 1172 11BF; +C055;C055;1108 1172 11C0;C055;1108 1172 11C0; +C056;C056;1108 1172 11C1;C056;1108 1172 11C1; +C057;C057;1108 1172 11C2;C057;1108 1172 11C2; +C058;C058;1108 1173;C058;1108 1173; +C059;C059;1108 1173 11A8;C059;1108 1173 11A8; +C05A;C05A;1108 1173 11A9;C05A;1108 1173 11A9; +C05B;C05B;1108 1173 11AA;C05B;1108 1173 11AA; +C05C;C05C;1108 1173 11AB;C05C;1108 1173 11AB; +C05D;C05D;1108 1173 11AC;C05D;1108 1173 11AC; +C05E;C05E;1108 1173 11AD;C05E;1108 1173 11AD; +C05F;C05F;1108 1173 11AE;C05F;1108 1173 11AE; +C060;C060;1108 1173 11AF;C060;1108 1173 11AF; +C061;C061;1108 1173 11B0;C061;1108 1173 11B0; +C062;C062;1108 1173 11B1;C062;1108 1173 11B1; +C063;C063;1108 1173 11B2;C063;1108 1173 11B2; +C064;C064;1108 1173 11B3;C064;1108 1173 11B3; +C065;C065;1108 1173 11B4;C065;1108 1173 11B4; +C066;C066;1108 1173 11B5;C066;1108 1173 11B5; +C067;C067;1108 1173 11B6;C067;1108 1173 11B6; +C068;C068;1108 1173 11B7;C068;1108 1173 11B7; +C069;C069;1108 1173 11B8;C069;1108 1173 11B8; +C06A;C06A;1108 1173 11B9;C06A;1108 1173 11B9; +C06B;C06B;1108 1173 11BA;C06B;1108 1173 11BA; +C06C;C06C;1108 1173 11BB;C06C;1108 1173 11BB; +C06D;C06D;1108 1173 11BC;C06D;1108 1173 11BC; +C06E;C06E;1108 1173 11BD;C06E;1108 1173 11BD; +C06F;C06F;1108 1173 11BE;C06F;1108 1173 11BE; +C070;C070;1108 1173 11BF;C070;1108 1173 11BF; +C071;C071;1108 1173 11C0;C071;1108 1173 11C0; +C072;C072;1108 1173 11C1;C072;1108 1173 11C1; +C073;C073;1108 1173 11C2;C073;1108 1173 11C2; +C074;C074;1108 1174;C074;1108 1174; +C075;C075;1108 1174 11A8;C075;1108 1174 11A8; +C076;C076;1108 1174 11A9;C076;1108 1174 11A9; +C077;C077;1108 1174 11AA;C077;1108 1174 11AA; +C078;C078;1108 1174 11AB;C078;1108 1174 11AB; +C079;C079;1108 1174 11AC;C079;1108 1174 11AC; +C07A;C07A;1108 1174 11AD;C07A;1108 1174 11AD; +C07B;C07B;1108 1174 11AE;C07B;1108 1174 11AE; +C07C;C07C;1108 1174 11AF;C07C;1108 1174 11AF; +C07D;C07D;1108 1174 11B0;C07D;1108 1174 11B0; +C07E;C07E;1108 1174 11B1;C07E;1108 1174 11B1; +C07F;C07F;1108 1174 11B2;C07F;1108 1174 11B2; +C080;C080;1108 1174 11B3;C080;1108 1174 11B3; +C081;C081;1108 1174 11B4;C081;1108 1174 11B4; +C082;C082;1108 1174 11B5;C082;1108 1174 11B5; +C083;C083;1108 1174 11B6;C083;1108 1174 11B6; +C084;C084;1108 1174 11B7;C084;1108 1174 11B7; +C085;C085;1108 1174 11B8;C085;1108 1174 11B8; +C086;C086;1108 1174 11B9;C086;1108 1174 11B9; +C087;C087;1108 1174 11BA;C087;1108 1174 11BA; +C088;C088;1108 1174 11BB;C088;1108 1174 11BB; +C089;C089;1108 1174 11BC;C089;1108 1174 11BC; +C08A;C08A;1108 1174 11BD;C08A;1108 1174 11BD; +C08B;C08B;1108 1174 11BE;C08B;1108 1174 11BE; +C08C;C08C;1108 1174 11BF;C08C;1108 1174 11BF; +C08D;C08D;1108 1174 11C0;C08D;1108 1174 11C0; +C08E;C08E;1108 1174 11C1;C08E;1108 1174 11C1; +C08F;C08F;1108 1174 11C2;C08F;1108 1174 11C2; +C090;C090;1108 1175;C090;1108 1175; +C091;C091;1108 1175 11A8;C091;1108 1175 11A8; +C092;C092;1108 1175 11A9;C092;1108 1175 11A9; +C093;C093;1108 1175 11AA;C093;1108 1175 11AA; +C094;C094;1108 1175 11AB;C094;1108 1175 11AB; +C095;C095;1108 1175 11AC;C095;1108 1175 11AC; +C096;C096;1108 1175 11AD;C096;1108 1175 11AD; +C097;C097;1108 1175 11AE;C097;1108 1175 11AE; +C098;C098;1108 1175 11AF;C098;1108 1175 11AF; +C099;C099;1108 1175 11B0;C099;1108 1175 11B0; +C09A;C09A;1108 1175 11B1;C09A;1108 1175 11B1; +C09B;C09B;1108 1175 11B2;C09B;1108 1175 11B2; +C09C;C09C;1108 1175 11B3;C09C;1108 1175 11B3; +C09D;C09D;1108 1175 11B4;C09D;1108 1175 11B4; +C09E;C09E;1108 1175 11B5;C09E;1108 1175 11B5; +C09F;C09F;1108 1175 11B6;C09F;1108 1175 11B6; +C0A0;C0A0;1108 1175 11B7;C0A0;1108 1175 11B7; +C0A1;C0A1;1108 1175 11B8;C0A1;1108 1175 11B8; +C0A2;C0A2;1108 1175 11B9;C0A2;1108 1175 11B9; +C0A3;C0A3;1108 1175 11BA;C0A3;1108 1175 11BA; +C0A4;C0A4;1108 1175 11BB;C0A4;1108 1175 11BB; +C0A5;C0A5;1108 1175 11BC;C0A5;1108 1175 11BC; +C0A6;C0A6;1108 1175 11BD;C0A6;1108 1175 11BD; +C0A7;C0A7;1108 1175 11BE;C0A7;1108 1175 11BE; +C0A8;C0A8;1108 1175 11BF;C0A8;1108 1175 11BF; +C0A9;C0A9;1108 1175 11C0;C0A9;1108 1175 11C0; +C0AA;C0AA;1108 1175 11C1;C0AA;1108 1175 11C1; +C0AB;C0AB;1108 1175 11C2;C0AB;1108 1175 11C2; +C0AC;C0AC;1109 1161;C0AC;1109 1161; +C0AD;C0AD;1109 1161 11A8;C0AD;1109 1161 11A8; +C0AE;C0AE;1109 1161 11A9;C0AE;1109 1161 11A9; +C0AF;C0AF;1109 1161 11AA;C0AF;1109 1161 11AA; +C0B0;C0B0;1109 1161 11AB;C0B0;1109 1161 11AB; +C0B1;C0B1;1109 1161 11AC;C0B1;1109 1161 11AC; +C0B2;C0B2;1109 1161 11AD;C0B2;1109 1161 11AD; +C0B3;C0B3;1109 1161 11AE;C0B3;1109 1161 11AE; +C0B4;C0B4;1109 1161 11AF;C0B4;1109 1161 11AF; +C0B5;C0B5;1109 1161 11B0;C0B5;1109 1161 11B0; +C0B6;C0B6;1109 1161 11B1;C0B6;1109 1161 11B1; +C0B7;C0B7;1109 1161 11B2;C0B7;1109 1161 11B2; +C0B8;C0B8;1109 1161 11B3;C0B8;1109 1161 11B3; +C0B9;C0B9;1109 1161 11B4;C0B9;1109 1161 11B4; +C0BA;C0BA;1109 1161 11B5;C0BA;1109 1161 11B5; +C0BB;C0BB;1109 1161 11B6;C0BB;1109 1161 11B6; +C0BC;C0BC;1109 1161 11B7;C0BC;1109 1161 11B7; +C0BD;C0BD;1109 1161 11B8;C0BD;1109 1161 11B8; +C0BE;C0BE;1109 1161 11B9;C0BE;1109 1161 11B9; +C0BF;C0BF;1109 1161 11BA;C0BF;1109 1161 11BA; +C0C0;C0C0;1109 1161 11BB;C0C0;1109 1161 11BB; +C0C1;C0C1;1109 1161 11BC;C0C1;1109 1161 11BC; +C0C2;C0C2;1109 1161 11BD;C0C2;1109 1161 11BD; +C0C3;C0C3;1109 1161 11BE;C0C3;1109 1161 11BE; +C0C4;C0C4;1109 1161 11BF;C0C4;1109 1161 11BF; +C0C5;C0C5;1109 1161 11C0;C0C5;1109 1161 11C0; +C0C6;C0C6;1109 1161 11C1;C0C6;1109 1161 11C1; +C0C7;C0C7;1109 1161 11C2;C0C7;1109 1161 11C2; +C0C8;C0C8;1109 1162;C0C8;1109 1162; +C0C9;C0C9;1109 1162 11A8;C0C9;1109 1162 11A8; +C0CA;C0CA;1109 1162 11A9;C0CA;1109 1162 11A9; +C0CB;C0CB;1109 1162 11AA;C0CB;1109 1162 11AA; +C0CC;C0CC;1109 1162 11AB;C0CC;1109 1162 11AB; +C0CD;C0CD;1109 1162 11AC;C0CD;1109 1162 11AC; +C0CE;C0CE;1109 1162 11AD;C0CE;1109 1162 11AD; +C0CF;C0CF;1109 1162 11AE;C0CF;1109 1162 11AE; +C0D0;C0D0;1109 1162 11AF;C0D0;1109 1162 11AF; +C0D1;C0D1;1109 1162 11B0;C0D1;1109 1162 11B0; +C0D2;C0D2;1109 1162 11B1;C0D2;1109 1162 11B1; +C0D3;C0D3;1109 1162 11B2;C0D3;1109 1162 11B2; +C0D4;C0D4;1109 1162 11B3;C0D4;1109 1162 11B3; +C0D5;C0D5;1109 1162 11B4;C0D5;1109 1162 11B4; +C0D6;C0D6;1109 1162 11B5;C0D6;1109 1162 11B5; +C0D7;C0D7;1109 1162 11B6;C0D7;1109 1162 11B6; +C0D8;C0D8;1109 1162 11B7;C0D8;1109 1162 11B7; +C0D9;C0D9;1109 1162 11B8;C0D9;1109 1162 11B8; +C0DA;C0DA;1109 1162 11B9;C0DA;1109 1162 11B9; +C0DB;C0DB;1109 1162 11BA;C0DB;1109 1162 11BA; +C0DC;C0DC;1109 1162 11BB;C0DC;1109 1162 11BB; +C0DD;C0DD;1109 1162 11BC;C0DD;1109 1162 11BC; +C0DE;C0DE;1109 1162 11BD;C0DE;1109 1162 11BD; +C0DF;C0DF;1109 1162 11BE;C0DF;1109 1162 11BE; +C0E0;C0E0;1109 1162 11BF;C0E0;1109 1162 11BF; +C0E1;C0E1;1109 1162 11C0;C0E1;1109 1162 11C0; +C0E2;C0E2;1109 1162 11C1;C0E2;1109 1162 11C1; +C0E3;C0E3;1109 1162 11C2;C0E3;1109 1162 11C2; +C0E4;C0E4;1109 1163;C0E4;1109 1163; +C0E5;C0E5;1109 1163 11A8;C0E5;1109 1163 11A8; +C0E6;C0E6;1109 1163 11A9;C0E6;1109 1163 11A9; +C0E7;C0E7;1109 1163 11AA;C0E7;1109 1163 11AA; +C0E8;C0E8;1109 1163 11AB;C0E8;1109 1163 11AB; +C0E9;C0E9;1109 1163 11AC;C0E9;1109 1163 11AC; +C0EA;C0EA;1109 1163 11AD;C0EA;1109 1163 11AD; +C0EB;C0EB;1109 1163 11AE;C0EB;1109 1163 11AE; +C0EC;C0EC;1109 1163 11AF;C0EC;1109 1163 11AF; +C0ED;C0ED;1109 1163 11B0;C0ED;1109 1163 11B0; +C0EE;C0EE;1109 1163 11B1;C0EE;1109 1163 11B1; +C0EF;C0EF;1109 1163 11B2;C0EF;1109 1163 11B2; +C0F0;C0F0;1109 1163 11B3;C0F0;1109 1163 11B3; +C0F1;C0F1;1109 1163 11B4;C0F1;1109 1163 11B4; +C0F2;C0F2;1109 1163 11B5;C0F2;1109 1163 11B5; +C0F3;C0F3;1109 1163 11B6;C0F3;1109 1163 11B6; +C0F4;C0F4;1109 1163 11B7;C0F4;1109 1163 11B7; +C0F5;C0F5;1109 1163 11B8;C0F5;1109 1163 11B8; +C0F6;C0F6;1109 1163 11B9;C0F6;1109 1163 11B9; +C0F7;C0F7;1109 1163 11BA;C0F7;1109 1163 11BA; +C0F8;C0F8;1109 1163 11BB;C0F8;1109 1163 11BB; +C0F9;C0F9;1109 1163 11BC;C0F9;1109 1163 11BC; +C0FA;C0FA;1109 1163 11BD;C0FA;1109 1163 11BD; +C0FB;C0FB;1109 1163 11BE;C0FB;1109 1163 11BE; +C0FC;C0FC;1109 1163 11BF;C0FC;1109 1163 11BF; +C0FD;C0FD;1109 1163 11C0;C0FD;1109 1163 11C0; +C0FE;C0FE;1109 1163 11C1;C0FE;1109 1163 11C1; +C0FF;C0FF;1109 1163 11C2;C0FF;1109 1163 11C2; +C100;C100;1109 1164;C100;1109 1164; +C101;C101;1109 1164 11A8;C101;1109 1164 11A8; +C102;C102;1109 1164 11A9;C102;1109 1164 11A9; +C103;C103;1109 1164 11AA;C103;1109 1164 11AA; +C104;C104;1109 1164 11AB;C104;1109 1164 11AB; +C105;C105;1109 1164 11AC;C105;1109 1164 11AC; +C106;C106;1109 1164 11AD;C106;1109 1164 11AD; +C107;C107;1109 1164 11AE;C107;1109 1164 11AE; +C108;C108;1109 1164 11AF;C108;1109 1164 11AF; +C109;C109;1109 1164 11B0;C109;1109 1164 11B0; +C10A;C10A;1109 1164 11B1;C10A;1109 1164 11B1; +C10B;C10B;1109 1164 11B2;C10B;1109 1164 11B2; +C10C;C10C;1109 1164 11B3;C10C;1109 1164 11B3; +C10D;C10D;1109 1164 11B4;C10D;1109 1164 11B4; +C10E;C10E;1109 1164 11B5;C10E;1109 1164 11B5; +C10F;C10F;1109 1164 11B6;C10F;1109 1164 11B6; +C110;C110;1109 1164 11B7;C110;1109 1164 11B7; +C111;C111;1109 1164 11B8;C111;1109 1164 11B8; +C112;C112;1109 1164 11B9;C112;1109 1164 11B9; +C113;C113;1109 1164 11BA;C113;1109 1164 11BA; +C114;C114;1109 1164 11BB;C114;1109 1164 11BB; +C115;C115;1109 1164 11BC;C115;1109 1164 11BC; +C116;C116;1109 1164 11BD;C116;1109 1164 11BD; +C117;C117;1109 1164 11BE;C117;1109 1164 11BE; +C118;C118;1109 1164 11BF;C118;1109 1164 11BF; +C119;C119;1109 1164 11C0;C119;1109 1164 11C0; +C11A;C11A;1109 1164 11C1;C11A;1109 1164 11C1; +C11B;C11B;1109 1164 11C2;C11B;1109 1164 11C2; +C11C;C11C;1109 1165;C11C;1109 1165; +C11D;C11D;1109 1165 11A8;C11D;1109 1165 11A8; +C11E;C11E;1109 1165 11A9;C11E;1109 1165 11A9; +C11F;C11F;1109 1165 11AA;C11F;1109 1165 11AA; +C120;C120;1109 1165 11AB;C120;1109 1165 11AB; +C121;C121;1109 1165 11AC;C121;1109 1165 11AC; +C122;C122;1109 1165 11AD;C122;1109 1165 11AD; +C123;C123;1109 1165 11AE;C123;1109 1165 11AE; +C124;C124;1109 1165 11AF;C124;1109 1165 11AF; +C125;C125;1109 1165 11B0;C125;1109 1165 11B0; +C126;C126;1109 1165 11B1;C126;1109 1165 11B1; +C127;C127;1109 1165 11B2;C127;1109 1165 11B2; +C128;C128;1109 1165 11B3;C128;1109 1165 11B3; +C129;C129;1109 1165 11B4;C129;1109 1165 11B4; +C12A;C12A;1109 1165 11B5;C12A;1109 1165 11B5; +C12B;C12B;1109 1165 11B6;C12B;1109 1165 11B6; +C12C;C12C;1109 1165 11B7;C12C;1109 1165 11B7; +C12D;C12D;1109 1165 11B8;C12D;1109 1165 11B8; +C12E;C12E;1109 1165 11B9;C12E;1109 1165 11B9; +C12F;C12F;1109 1165 11BA;C12F;1109 1165 11BA; +C130;C130;1109 1165 11BB;C130;1109 1165 11BB; +C131;C131;1109 1165 11BC;C131;1109 1165 11BC; +C132;C132;1109 1165 11BD;C132;1109 1165 11BD; +C133;C133;1109 1165 11BE;C133;1109 1165 11BE; +C134;C134;1109 1165 11BF;C134;1109 1165 11BF; +C135;C135;1109 1165 11C0;C135;1109 1165 11C0; +C136;C136;1109 1165 11C1;C136;1109 1165 11C1; +C137;C137;1109 1165 11C2;C137;1109 1165 11C2; +C138;C138;1109 1166;C138;1109 1166; +C139;C139;1109 1166 11A8;C139;1109 1166 11A8; +C13A;C13A;1109 1166 11A9;C13A;1109 1166 11A9; +C13B;C13B;1109 1166 11AA;C13B;1109 1166 11AA; +C13C;C13C;1109 1166 11AB;C13C;1109 1166 11AB; +C13D;C13D;1109 1166 11AC;C13D;1109 1166 11AC; +C13E;C13E;1109 1166 11AD;C13E;1109 1166 11AD; +C13F;C13F;1109 1166 11AE;C13F;1109 1166 11AE; +C140;C140;1109 1166 11AF;C140;1109 1166 11AF; +C141;C141;1109 1166 11B0;C141;1109 1166 11B0; +C142;C142;1109 1166 11B1;C142;1109 1166 11B1; +C143;C143;1109 1166 11B2;C143;1109 1166 11B2; +C144;C144;1109 1166 11B3;C144;1109 1166 11B3; +C145;C145;1109 1166 11B4;C145;1109 1166 11B4; +C146;C146;1109 1166 11B5;C146;1109 1166 11B5; +C147;C147;1109 1166 11B6;C147;1109 1166 11B6; +C148;C148;1109 1166 11B7;C148;1109 1166 11B7; +C149;C149;1109 1166 11B8;C149;1109 1166 11B8; +C14A;C14A;1109 1166 11B9;C14A;1109 1166 11B9; +C14B;C14B;1109 1166 11BA;C14B;1109 1166 11BA; +C14C;C14C;1109 1166 11BB;C14C;1109 1166 11BB; +C14D;C14D;1109 1166 11BC;C14D;1109 1166 11BC; +C14E;C14E;1109 1166 11BD;C14E;1109 1166 11BD; +C14F;C14F;1109 1166 11BE;C14F;1109 1166 11BE; +C150;C150;1109 1166 11BF;C150;1109 1166 11BF; +C151;C151;1109 1166 11C0;C151;1109 1166 11C0; +C152;C152;1109 1166 11C1;C152;1109 1166 11C1; +C153;C153;1109 1166 11C2;C153;1109 1166 11C2; +C154;C154;1109 1167;C154;1109 1167; +C155;C155;1109 1167 11A8;C155;1109 1167 11A8; +C156;C156;1109 1167 11A9;C156;1109 1167 11A9; +C157;C157;1109 1167 11AA;C157;1109 1167 11AA; +C158;C158;1109 1167 11AB;C158;1109 1167 11AB; +C159;C159;1109 1167 11AC;C159;1109 1167 11AC; +C15A;C15A;1109 1167 11AD;C15A;1109 1167 11AD; +C15B;C15B;1109 1167 11AE;C15B;1109 1167 11AE; +C15C;C15C;1109 1167 11AF;C15C;1109 1167 11AF; +C15D;C15D;1109 1167 11B0;C15D;1109 1167 11B0; +C15E;C15E;1109 1167 11B1;C15E;1109 1167 11B1; +C15F;C15F;1109 1167 11B2;C15F;1109 1167 11B2; +C160;C160;1109 1167 11B3;C160;1109 1167 11B3; +C161;C161;1109 1167 11B4;C161;1109 1167 11B4; +C162;C162;1109 1167 11B5;C162;1109 1167 11B5; +C163;C163;1109 1167 11B6;C163;1109 1167 11B6; +C164;C164;1109 1167 11B7;C164;1109 1167 11B7; +C165;C165;1109 1167 11B8;C165;1109 1167 11B8; +C166;C166;1109 1167 11B9;C166;1109 1167 11B9; +C167;C167;1109 1167 11BA;C167;1109 1167 11BA; +C168;C168;1109 1167 11BB;C168;1109 1167 11BB; +C169;C169;1109 1167 11BC;C169;1109 1167 11BC; +C16A;C16A;1109 1167 11BD;C16A;1109 1167 11BD; +C16B;C16B;1109 1167 11BE;C16B;1109 1167 11BE; +C16C;C16C;1109 1167 11BF;C16C;1109 1167 11BF; +C16D;C16D;1109 1167 11C0;C16D;1109 1167 11C0; +C16E;C16E;1109 1167 11C1;C16E;1109 1167 11C1; +C16F;C16F;1109 1167 11C2;C16F;1109 1167 11C2; +C170;C170;1109 1168;C170;1109 1168; +C171;C171;1109 1168 11A8;C171;1109 1168 11A8; +C172;C172;1109 1168 11A9;C172;1109 1168 11A9; +C173;C173;1109 1168 11AA;C173;1109 1168 11AA; +C174;C174;1109 1168 11AB;C174;1109 1168 11AB; +C175;C175;1109 1168 11AC;C175;1109 1168 11AC; +C176;C176;1109 1168 11AD;C176;1109 1168 11AD; +C177;C177;1109 1168 11AE;C177;1109 1168 11AE; +C178;C178;1109 1168 11AF;C178;1109 1168 11AF; +C179;C179;1109 1168 11B0;C179;1109 1168 11B0; +C17A;C17A;1109 1168 11B1;C17A;1109 1168 11B1; +C17B;C17B;1109 1168 11B2;C17B;1109 1168 11B2; +C17C;C17C;1109 1168 11B3;C17C;1109 1168 11B3; +C17D;C17D;1109 1168 11B4;C17D;1109 1168 11B4; +C17E;C17E;1109 1168 11B5;C17E;1109 1168 11B5; +C17F;C17F;1109 1168 11B6;C17F;1109 1168 11B6; +C180;C180;1109 1168 11B7;C180;1109 1168 11B7; +C181;C181;1109 1168 11B8;C181;1109 1168 11B8; +C182;C182;1109 1168 11B9;C182;1109 1168 11B9; +C183;C183;1109 1168 11BA;C183;1109 1168 11BA; +C184;C184;1109 1168 11BB;C184;1109 1168 11BB; +C185;C185;1109 1168 11BC;C185;1109 1168 11BC; +C186;C186;1109 1168 11BD;C186;1109 1168 11BD; +C187;C187;1109 1168 11BE;C187;1109 1168 11BE; +C188;C188;1109 1168 11BF;C188;1109 1168 11BF; +C189;C189;1109 1168 11C0;C189;1109 1168 11C0; +C18A;C18A;1109 1168 11C1;C18A;1109 1168 11C1; +C18B;C18B;1109 1168 11C2;C18B;1109 1168 11C2; +C18C;C18C;1109 1169;C18C;1109 1169; +C18D;C18D;1109 1169 11A8;C18D;1109 1169 11A8; +C18E;C18E;1109 1169 11A9;C18E;1109 1169 11A9; +C18F;C18F;1109 1169 11AA;C18F;1109 1169 11AA; +C190;C190;1109 1169 11AB;C190;1109 1169 11AB; +C191;C191;1109 1169 11AC;C191;1109 1169 11AC; +C192;C192;1109 1169 11AD;C192;1109 1169 11AD; +C193;C193;1109 1169 11AE;C193;1109 1169 11AE; +C194;C194;1109 1169 11AF;C194;1109 1169 11AF; +C195;C195;1109 1169 11B0;C195;1109 1169 11B0; +C196;C196;1109 1169 11B1;C196;1109 1169 11B1; +C197;C197;1109 1169 11B2;C197;1109 1169 11B2; +C198;C198;1109 1169 11B3;C198;1109 1169 11B3; +C199;C199;1109 1169 11B4;C199;1109 1169 11B4; +C19A;C19A;1109 1169 11B5;C19A;1109 1169 11B5; +C19B;C19B;1109 1169 11B6;C19B;1109 1169 11B6; +C19C;C19C;1109 1169 11B7;C19C;1109 1169 11B7; +C19D;C19D;1109 1169 11B8;C19D;1109 1169 11B8; +C19E;C19E;1109 1169 11B9;C19E;1109 1169 11B9; +C19F;C19F;1109 1169 11BA;C19F;1109 1169 11BA; +C1A0;C1A0;1109 1169 11BB;C1A0;1109 1169 11BB; +C1A1;C1A1;1109 1169 11BC;C1A1;1109 1169 11BC; +C1A2;C1A2;1109 1169 11BD;C1A2;1109 1169 11BD; +C1A3;C1A3;1109 1169 11BE;C1A3;1109 1169 11BE; +C1A4;C1A4;1109 1169 11BF;C1A4;1109 1169 11BF; +C1A5;C1A5;1109 1169 11C0;C1A5;1109 1169 11C0; +C1A6;C1A6;1109 1169 11C1;C1A6;1109 1169 11C1; +C1A7;C1A7;1109 1169 11C2;C1A7;1109 1169 11C2; +C1A8;C1A8;1109 116A;C1A8;1109 116A; +C1A9;C1A9;1109 116A 11A8;C1A9;1109 116A 11A8; +C1AA;C1AA;1109 116A 11A9;C1AA;1109 116A 11A9; +C1AB;C1AB;1109 116A 11AA;C1AB;1109 116A 11AA; +C1AC;C1AC;1109 116A 11AB;C1AC;1109 116A 11AB; +C1AD;C1AD;1109 116A 11AC;C1AD;1109 116A 11AC; +C1AE;C1AE;1109 116A 11AD;C1AE;1109 116A 11AD; +C1AF;C1AF;1109 116A 11AE;C1AF;1109 116A 11AE; +C1B0;C1B0;1109 116A 11AF;C1B0;1109 116A 11AF; +C1B1;C1B1;1109 116A 11B0;C1B1;1109 116A 11B0; +C1B2;C1B2;1109 116A 11B1;C1B2;1109 116A 11B1; +C1B3;C1B3;1109 116A 11B2;C1B3;1109 116A 11B2; +C1B4;C1B4;1109 116A 11B3;C1B4;1109 116A 11B3; +C1B5;C1B5;1109 116A 11B4;C1B5;1109 116A 11B4; +C1B6;C1B6;1109 116A 11B5;C1B6;1109 116A 11B5; +C1B7;C1B7;1109 116A 11B6;C1B7;1109 116A 11B6; +C1B8;C1B8;1109 116A 11B7;C1B8;1109 116A 11B7; +C1B9;C1B9;1109 116A 11B8;C1B9;1109 116A 11B8; +C1BA;C1BA;1109 116A 11B9;C1BA;1109 116A 11B9; +C1BB;C1BB;1109 116A 11BA;C1BB;1109 116A 11BA; +C1BC;C1BC;1109 116A 11BB;C1BC;1109 116A 11BB; +C1BD;C1BD;1109 116A 11BC;C1BD;1109 116A 11BC; +C1BE;C1BE;1109 116A 11BD;C1BE;1109 116A 11BD; +C1BF;C1BF;1109 116A 11BE;C1BF;1109 116A 11BE; +C1C0;C1C0;1109 116A 11BF;C1C0;1109 116A 11BF; +C1C1;C1C1;1109 116A 11C0;C1C1;1109 116A 11C0; +C1C2;C1C2;1109 116A 11C1;C1C2;1109 116A 11C1; +C1C3;C1C3;1109 116A 11C2;C1C3;1109 116A 11C2; +C1C4;C1C4;1109 116B;C1C4;1109 116B; +C1C5;C1C5;1109 116B 11A8;C1C5;1109 116B 11A8; +C1C6;C1C6;1109 116B 11A9;C1C6;1109 116B 11A9; +C1C7;C1C7;1109 116B 11AA;C1C7;1109 116B 11AA; +C1C8;C1C8;1109 116B 11AB;C1C8;1109 116B 11AB; +C1C9;C1C9;1109 116B 11AC;C1C9;1109 116B 11AC; +C1CA;C1CA;1109 116B 11AD;C1CA;1109 116B 11AD; +C1CB;C1CB;1109 116B 11AE;C1CB;1109 116B 11AE; +C1CC;C1CC;1109 116B 11AF;C1CC;1109 116B 11AF; +C1CD;C1CD;1109 116B 11B0;C1CD;1109 116B 11B0; +C1CE;C1CE;1109 116B 11B1;C1CE;1109 116B 11B1; +C1CF;C1CF;1109 116B 11B2;C1CF;1109 116B 11B2; +C1D0;C1D0;1109 116B 11B3;C1D0;1109 116B 11B3; +C1D1;C1D1;1109 116B 11B4;C1D1;1109 116B 11B4; +C1D2;C1D2;1109 116B 11B5;C1D2;1109 116B 11B5; +C1D3;C1D3;1109 116B 11B6;C1D3;1109 116B 11B6; +C1D4;C1D4;1109 116B 11B7;C1D4;1109 116B 11B7; +C1D5;C1D5;1109 116B 11B8;C1D5;1109 116B 11B8; +C1D6;C1D6;1109 116B 11B9;C1D6;1109 116B 11B9; +C1D7;C1D7;1109 116B 11BA;C1D7;1109 116B 11BA; +C1D8;C1D8;1109 116B 11BB;C1D8;1109 116B 11BB; +C1D9;C1D9;1109 116B 11BC;C1D9;1109 116B 11BC; +C1DA;C1DA;1109 116B 11BD;C1DA;1109 116B 11BD; +C1DB;C1DB;1109 116B 11BE;C1DB;1109 116B 11BE; +C1DC;C1DC;1109 116B 11BF;C1DC;1109 116B 11BF; +C1DD;C1DD;1109 116B 11C0;C1DD;1109 116B 11C0; +C1DE;C1DE;1109 116B 11C1;C1DE;1109 116B 11C1; +C1DF;C1DF;1109 116B 11C2;C1DF;1109 116B 11C2; +C1E0;C1E0;1109 116C;C1E0;1109 116C; +C1E1;C1E1;1109 116C 11A8;C1E1;1109 116C 11A8; +C1E2;C1E2;1109 116C 11A9;C1E2;1109 116C 11A9; +C1E3;C1E3;1109 116C 11AA;C1E3;1109 116C 11AA; +C1E4;C1E4;1109 116C 11AB;C1E4;1109 116C 11AB; +C1E5;C1E5;1109 116C 11AC;C1E5;1109 116C 11AC; +C1E6;C1E6;1109 116C 11AD;C1E6;1109 116C 11AD; +C1E7;C1E7;1109 116C 11AE;C1E7;1109 116C 11AE; +C1E8;C1E8;1109 116C 11AF;C1E8;1109 116C 11AF; +C1E9;C1E9;1109 116C 11B0;C1E9;1109 116C 11B0; +C1EA;C1EA;1109 116C 11B1;C1EA;1109 116C 11B1; +C1EB;C1EB;1109 116C 11B2;C1EB;1109 116C 11B2; +C1EC;C1EC;1109 116C 11B3;C1EC;1109 116C 11B3; +C1ED;C1ED;1109 116C 11B4;C1ED;1109 116C 11B4; +C1EE;C1EE;1109 116C 11B5;C1EE;1109 116C 11B5; +C1EF;C1EF;1109 116C 11B6;C1EF;1109 116C 11B6; +C1F0;C1F0;1109 116C 11B7;C1F0;1109 116C 11B7; +C1F1;C1F1;1109 116C 11B8;C1F1;1109 116C 11B8; +C1F2;C1F2;1109 116C 11B9;C1F2;1109 116C 11B9; +C1F3;C1F3;1109 116C 11BA;C1F3;1109 116C 11BA; +C1F4;C1F4;1109 116C 11BB;C1F4;1109 116C 11BB; +C1F5;C1F5;1109 116C 11BC;C1F5;1109 116C 11BC; +C1F6;C1F6;1109 116C 11BD;C1F6;1109 116C 11BD; +C1F7;C1F7;1109 116C 11BE;C1F7;1109 116C 11BE; +C1F8;C1F8;1109 116C 11BF;C1F8;1109 116C 11BF; +C1F9;C1F9;1109 116C 11C0;C1F9;1109 116C 11C0; +C1FA;C1FA;1109 116C 11C1;C1FA;1109 116C 11C1; +C1FB;C1FB;1109 116C 11C2;C1FB;1109 116C 11C2; +C1FC;C1FC;1109 116D;C1FC;1109 116D; +C1FD;C1FD;1109 116D 11A8;C1FD;1109 116D 11A8; +C1FE;C1FE;1109 116D 11A9;C1FE;1109 116D 11A9; +C1FF;C1FF;1109 116D 11AA;C1FF;1109 116D 11AA; +C200;C200;1109 116D 11AB;C200;1109 116D 11AB; +C201;C201;1109 116D 11AC;C201;1109 116D 11AC; +C202;C202;1109 116D 11AD;C202;1109 116D 11AD; +C203;C203;1109 116D 11AE;C203;1109 116D 11AE; +C204;C204;1109 116D 11AF;C204;1109 116D 11AF; +C205;C205;1109 116D 11B0;C205;1109 116D 11B0; +C206;C206;1109 116D 11B1;C206;1109 116D 11B1; +C207;C207;1109 116D 11B2;C207;1109 116D 11B2; +C208;C208;1109 116D 11B3;C208;1109 116D 11B3; +C209;C209;1109 116D 11B4;C209;1109 116D 11B4; +C20A;C20A;1109 116D 11B5;C20A;1109 116D 11B5; +C20B;C20B;1109 116D 11B6;C20B;1109 116D 11B6; +C20C;C20C;1109 116D 11B7;C20C;1109 116D 11B7; +C20D;C20D;1109 116D 11B8;C20D;1109 116D 11B8; +C20E;C20E;1109 116D 11B9;C20E;1109 116D 11B9; +C20F;C20F;1109 116D 11BA;C20F;1109 116D 11BA; +C210;C210;1109 116D 11BB;C210;1109 116D 11BB; +C211;C211;1109 116D 11BC;C211;1109 116D 11BC; +C212;C212;1109 116D 11BD;C212;1109 116D 11BD; +C213;C213;1109 116D 11BE;C213;1109 116D 11BE; +C214;C214;1109 116D 11BF;C214;1109 116D 11BF; +C215;C215;1109 116D 11C0;C215;1109 116D 11C0; +C216;C216;1109 116D 11C1;C216;1109 116D 11C1; +C217;C217;1109 116D 11C2;C217;1109 116D 11C2; +C218;C218;1109 116E;C218;1109 116E; +C219;C219;1109 116E 11A8;C219;1109 116E 11A8; +C21A;C21A;1109 116E 11A9;C21A;1109 116E 11A9; +C21B;C21B;1109 116E 11AA;C21B;1109 116E 11AA; +C21C;C21C;1109 116E 11AB;C21C;1109 116E 11AB; +C21D;C21D;1109 116E 11AC;C21D;1109 116E 11AC; +C21E;C21E;1109 116E 11AD;C21E;1109 116E 11AD; +C21F;C21F;1109 116E 11AE;C21F;1109 116E 11AE; +C220;C220;1109 116E 11AF;C220;1109 116E 11AF; +C221;C221;1109 116E 11B0;C221;1109 116E 11B0; +C222;C222;1109 116E 11B1;C222;1109 116E 11B1; +C223;C223;1109 116E 11B2;C223;1109 116E 11B2; +C224;C224;1109 116E 11B3;C224;1109 116E 11B3; +C225;C225;1109 116E 11B4;C225;1109 116E 11B4; +C226;C226;1109 116E 11B5;C226;1109 116E 11B5; +C227;C227;1109 116E 11B6;C227;1109 116E 11B6; +C228;C228;1109 116E 11B7;C228;1109 116E 11B7; +C229;C229;1109 116E 11B8;C229;1109 116E 11B8; +C22A;C22A;1109 116E 11B9;C22A;1109 116E 11B9; +C22B;C22B;1109 116E 11BA;C22B;1109 116E 11BA; +C22C;C22C;1109 116E 11BB;C22C;1109 116E 11BB; +C22D;C22D;1109 116E 11BC;C22D;1109 116E 11BC; +C22E;C22E;1109 116E 11BD;C22E;1109 116E 11BD; +C22F;C22F;1109 116E 11BE;C22F;1109 116E 11BE; +C230;C230;1109 116E 11BF;C230;1109 116E 11BF; +C231;C231;1109 116E 11C0;C231;1109 116E 11C0; +C232;C232;1109 116E 11C1;C232;1109 116E 11C1; +C233;C233;1109 116E 11C2;C233;1109 116E 11C2; +C234;C234;1109 116F;C234;1109 116F; +C235;C235;1109 116F 11A8;C235;1109 116F 11A8; +C236;C236;1109 116F 11A9;C236;1109 116F 11A9; +C237;C237;1109 116F 11AA;C237;1109 116F 11AA; +C238;C238;1109 116F 11AB;C238;1109 116F 11AB; +C239;C239;1109 116F 11AC;C239;1109 116F 11AC; +C23A;C23A;1109 116F 11AD;C23A;1109 116F 11AD; +C23B;C23B;1109 116F 11AE;C23B;1109 116F 11AE; +C23C;C23C;1109 116F 11AF;C23C;1109 116F 11AF; +C23D;C23D;1109 116F 11B0;C23D;1109 116F 11B0; +C23E;C23E;1109 116F 11B1;C23E;1109 116F 11B1; +C23F;C23F;1109 116F 11B2;C23F;1109 116F 11B2; +C240;C240;1109 116F 11B3;C240;1109 116F 11B3; +C241;C241;1109 116F 11B4;C241;1109 116F 11B4; +C242;C242;1109 116F 11B5;C242;1109 116F 11B5; +C243;C243;1109 116F 11B6;C243;1109 116F 11B6; +C244;C244;1109 116F 11B7;C244;1109 116F 11B7; +C245;C245;1109 116F 11B8;C245;1109 116F 11B8; +C246;C246;1109 116F 11B9;C246;1109 116F 11B9; +C247;C247;1109 116F 11BA;C247;1109 116F 11BA; +C248;C248;1109 116F 11BB;C248;1109 116F 11BB; +C249;C249;1109 116F 11BC;C249;1109 116F 11BC; +C24A;C24A;1109 116F 11BD;C24A;1109 116F 11BD; +C24B;C24B;1109 116F 11BE;C24B;1109 116F 11BE; +C24C;C24C;1109 116F 11BF;C24C;1109 116F 11BF; +C24D;C24D;1109 116F 11C0;C24D;1109 116F 11C0; +C24E;C24E;1109 116F 11C1;C24E;1109 116F 11C1; +C24F;C24F;1109 116F 11C2;C24F;1109 116F 11C2; +C250;C250;1109 1170;C250;1109 1170; +C251;C251;1109 1170 11A8;C251;1109 1170 11A8; +C252;C252;1109 1170 11A9;C252;1109 1170 11A9; +C253;C253;1109 1170 11AA;C253;1109 1170 11AA; +C254;C254;1109 1170 11AB;C254;1109 1170 11AB; +C255;C255;1109 1170 11AC;C255;1109 1170 11AC; +C256;C256;1109 1170 11AD;C256;1109 1170 11AD; +C257;C257;1109 1170 11AE;C257;1109 1170 11AE; +C258;C258;1109 1170 11AF;C258;1109 1170 11AF; +C259;C259;1109 1170 11B0;C259;1109 1170 11B0; +C25A;C25A;1109 1170 11B1;C25A;1109 1170 11B1; +C25B;C25B;1109 1170 11B2;C25B;1109 1170 11B2; +C25C;C25C;1109 1170 11B3;C25C;1109 1170 11B3; +C25D;C25D;1109 1170 11B4;C25D;1109 1170 11B4; +C25E;C25E;1109 1170 11B5;C25E;1109 1170 11B5; +C25F;C25F;1109 1170 11B6;C25F;1109 1170 11B6; +C260;C260;1109 1170 11B7;C260;1109 1170 11B7; +C261;C261;1109 1170 11B8;C261;1109 1170 11B8; +C262;C262;1109 1170 11B9;C262;1109 1170 11B9; +C263;C263;1109 1170 11BA;C263;1109 1170 11BA; +C264;C264;1109 1170 11BB;C264;1109 1170 11BB; +C265;C265;1109 1170 11BC;C265;1109 1170 11BC; +C266;C266;1109 1170 11BD;C266;1109 1170 11BD; +C267;C267;1109 1170 11BE;C267;1109 1170 11BE; +C268;C268;1109 1170 11BF;C268;1109 1170 11BF; +C269;C269;1109 1170 11C0;C269;1109 1170 11C0; +C26A;C26A;1109 1170 11C1;C26A;1109 1170 11C1; +C26B;C26B;1109 1170 11C2;C26B;1109 1170 11C2; +C26C;C26C;1109 1171;C26C;1109 1171; +C26D;C26D;1109 1171 11A8;C26D;1109 1171 11A8; +C26E;C26E;1109 1171 11A9;C26E;1109 1171 11A9; +C26F;C26F;1109 1171 11AA;C26F;1109 1171 11AA; +C270;C270;1109 1171 11AB;C270;1109 1171 11AB; +C271;C271;1109 1171 11AC;C271;1109 1171 11AC; +C272;C272;1109 1171 11AD;C272;1109 1171 11AD; +C273;C273;1109 1171 11AE;C273;1109 1171 11AE; +C274;C274;1109 1171 11AF;C274;1109 1171 11AF; +C275;C275;1109 1171 11B0;C275;1109 1171 11B0; +C276;C276;1109 1171 11B1;C276;1109 1171 11B1; +C277;C277;1109 1171 11B2;C277;1109 1171 11B2; +C278;C278;1109 1171 11B3;C278;1109 1171 11B3; +C279;C279;1109 1171 11B4;C279;1109 1171 11B4; +C27A;C27A;1109 1171 11B5;C27A;1109 1171 11B5; +C27B;C27B;1109 1171 11B6;C27B;1109 1171 11B6; +C27C;C27C;1109 1171 11B7;C27C;1109 1171 11B7; +C27D;C27D;1109 1171 11B8;C27D;1109 1171 11B8; +C27E;C27E;1109 1171 11B9;C27E;1109 1171 11B9; +C27F;C27F;1109 1171 11BA;C27F;1109 1171 11BA; +C280;C280;1109 1171 11BB;C280;1109 1171 11BB; +C281;C281;1109 1171 11BC;C281;1109 1171 11BC; +C282;C282;1109 1171 11BD;C282;1109 1171 11BD; +C283;C283;1109 1171 11BE;C283;1109 1171 11BE; +C284;C284;1109 1171 11BF;C284;1109 1171 11BF; +C285;C285;1109 1171 11C0;C285;1109 1171 11C0; +C286;C286;1109 1171 11C1;C286;1109 1171 11C1; +C287;C287;1109 1171 11C2;C287;1109 1171 11C2; +C288;C288;1109 1172;C288;1109 1172; +C289;C289;1109 1172 11A8;C289;1109 1172 11A8; +C28A;C28A;1109 1172 11A9;C28A;1109 1172 11A9; +C28B;C28B;1109 1172 11AA;C28B;1109 1172 11AA; +C28C;C28C;1109 1172 11AB;C28C;1109 1172 11AB; +C28D;C28D;1109 1172 11AC;C28D;1109 1172 11AC; +C28E;C28E;1109 1172 11AD;C28E;1109 1172 11AD; +C28F;C28F;1109 1172 11AE;C28F;1109 1172 11AE; +C290;C290;1109 1172 11AF;C290;1109 1172 11AF; +C291;C291;1109 1172 11B0;C291;1109 1172 11B0; +C292;C292;1109 1172 11B1;C292;1109 1172 11B1; +C293;C293;1109 1172 11B2;C293;1109 1172 11B2; +C294;C294;1109 1172 11B3;C294;1109 1172 11B3; +C295;C295;1109 1172 11B4;C295;1109 1172 11B4; +C296;C296;1109 1172 11B5;C296;1109 1172 11B5; +C297;C297;1109 1172 11B6;C297;1109 1172 11B6; +C298;C298;1109 1172 11B7;C298;1109 1172 11B7; +C299;C299;1109 1172 11B8;C299;1109 1172 11B8; +C29A;C29A;1109 1172 11B9;C29A;1109 1172 11B9; +C29B;C29B;1109 1172 11BA;C29B;1109 1172 11BA; +C29C;C29C;1109 1172 11BB;C29C;1109 1172 11BB; +C29D;C29D;1109 1172 11BC;C29D;1109 1172 11BC; +C29E;C29E;1109 1172 11BD;C29E;1109 1172 11BD; +C29F;C29F;1109 1172 11BE;C29F;1109 1172 11BE; +C2A0;C2A0;1109 1172 11BF;C2A0;1109 1172 11BF; +C2A1;C2A1;1109 1172 11C0;C2A1;1109 1172 11C0; +C2A2;C2A2;1109 1172 11C1;C2A2;1109 1172 11C1; +C2A3;C2A3;1109 1172 11C2;C2A3;1109 1172 11C2; +C2A4;C2A4;1109 1173;C2A4;1109 1173; +C2A5;C2A5;1109 1173 11A8;C2A5;1109 1173 11A8; +C2A6;C2A6;1109 1173 11A9;C2A6;1109 1173 11A9; +C2A7;C2A7;1109 1173 11AA;C2A7;1109 1173 11AA; +C2A8;C2A8;1109 1173 11AB;C2A8;1109 1173 11AB; +C2A9;C2A9;1109 1173 11AC;C2A9;1109 1173 11AC; +C2AA;C2AA;1109 1173 11AD;C2AA;1109 1173 11AD; +C2AB;C2AB;1109 1173 11AE;C2AB;1109 1173 11AE; +C2AC;C2AC;1109 1173 11AF;C2AC;1109 1173 11AF; +C2AD;C2AD;1109 1173 11B0;C2AD;1109 1173 11B0; +C2AE;C2AE;1109 1173 11B1;C2AE;1109 1173 11B1; +C2AF;C2AF;1109 1173 11B2;C2AF;1109 1173 11B2; +C2B0;C2B0;1109 1173 11B3;C2B0;1109 1173 11B3; +C2B1;C2B1;1109 1173 11B4;C2B1;1109 1173 11B4; +C2B2;C2B2;1109 1173 11B5;C2B2;1109 1173 11B5; +C2B3;C2B3;1109 1173 11B6;C2B3;1109 1173 11B6; +C2B4;C2B4;1109 1173 11B7;C2B4;1109 1173 11B7; +C2B5;C2B5;1109 1173 11B8;C2B5;1109 1173 11B8; +C2B6;C2B6;1109 1173 11B9;C2B6;1109 1173 11B9; +C2B7;C2B7;1109 1173 11BA;C2B7;1109 1173 11BA; +C2B8;C2B8;1109 1173 11BB;C2B8;1109 1173 11BB; +C2B9;C2B9;1109 1173 11BC;C2B9;1109 1173 11BC; +C2BA;C2BA;1109 1173 11BD;C2BA;1109 1173 11BD; +C2BB;C2BB;1109 1173 11BE;C2BB;1109 1173 11BE; +C2BC;C2BC;1109 1173 11BF;C2BC;1109 1173 11BF; +C2BD;C2BD;1109 1173 11C0;C2BD;1109 1173 11C0; +C2BE;C2BE;1109 1173 11C1;C2BE;1109 1173 11C1; +C2BF;C2BF;1109 1173 11C2;C2BF;1109 1173 11C2; +C2C0;C2C0;1109 1174;C2C0;1109 1174; +C2C1;C2C1;1109 1174 11A8;C2C1;1109 1174 11A8; +C2C2;C2C2;1109 1174 11A9;C2C2;1109 1174 11A9; +C2C3;C2C3;1109 1174 11AA;C2C3;1109 1174 11AA; +C2C4;C2C4;1109 1174 11AB;C2C4;1109 1174 11AB; +C2C5;C2C5;1109 1174 11AC;C2C5;1109 1174 11AC; +C2C6;C2C6;1109 1174 11AD;C2C6;1109 1174 11AD; +C2C7;C2C7;1109 1174 11AE;C2C7;1109 1174 11AE; +C2C8;C2C8;1109 1174 11AF;C2C8;1109 1174 11AF; +C2C9;C2C9;1109 1174 11B0;C2C9;1109 1174 11B0; +C2CA;C2CA;1109 1174 11B1;C2CA;1109 1174 11B1; +C2CB;C2CB;1109 1174 11B2;C2CB;1109 1174 11B2; +C2CC;C2CC;1109 1174 11B3;C2CC;1109 1174 11B3; +C2CD;C2CD;1109 1174 11B4;C2CD;1109 1174 11B4; +C2CE;C2CE;1109 1174 11B5;C2CE;1109 1174 11B5; +C2CF;C2CF;1109 1174 11B6;C2CF;1109 1174 11B6; +C2D0;C2D0;1109 1174 11B7;C2D0;1109 1174 11B7; +C2D1;C2D1;1109 1174 11B8;C2D1;1109 1174 11B8; +C2D2;C2D2;1109 1174 11B9;C2D2;1109 1174 11B9; +C2D3;C2D3;1109 1174 11BA;C2D3;1109 1174 11BA; +C2D4;C2D4;1109 1174 11BB;C2D4;1109 1174 11BB; +C2D5;C2D5;1109 1174 11BC;C2D5;1109 1174 11BC; +C2D6;C2D6;1109 1174 11BD;C2D6;1109 1174 11BD; +C2D7;C2D7;1109 1174 11BE;C2D7;1109 1174 11BE; +C2D8;C2D8;1109 1174 11BF;C2D8;1109 1174 11BF; +C2D9;C2D9;1109 1174 11C0;C2D9;1109 1174 11C0; +C2DA;C2DA;1109 1174 11C1;C2DA;1109 1174 11C1; +C2DB;C2DB;1109 1174 11C2;C2DB;1109 1174 11C2; +C2DC;C2DC;1109 1175;C2DC;1109 1175; +C2DD;C2DD;1109 1175 11A8;C2DD;1109 1175 11A8; +C2DE;C2DE;1109 1175 11A9;C2DE;1109 1175 11A9; +C2DF;C2DF;1109 1175 11AA;C2DF;1109 1175 11AA; +C2E0;C2E0;1109 1175 11AB;C2E0;1109 1175 11AB; +C2E1;C2E1;1109 1175 11AC;C2E1;1109 1175 11AC; +C2E2;C2E2;1109 1175 11AD;C2E2;1109 1175 11AD; +C2E3;C2E3;1109 1175 11AE;C2E3;1109 1175 11AE; +C2E4;C2E4;1109 1175 11AF;C2E4;1109 1175 11AF; +C2E5;C2E5;1109 1175 11B0;C2E5;1109 1175 11B0; +C2E6;C2E6;1109 1175 11B1;C2E6;1109 1175 11B1; +C2E7;C2E7;1109 1175 11B2;C2E7;1109 1175 11B2; +C2E8;C2E8;1109 1175 11B3;C2E8;1109 1175 11B3; +C2E9;C2E9;1109 1175 11B4;C2E9;1109 1175 11B4; +C2EA;C2EA;1109 1175 11B5;C2EA;1109 1175 11B5; +C2EB;C2EB;1109 1175 11B6;C2EB;1109 1175 11B6; +C2EC;C2EC;1109 1175 11B7;C2EC;1109 1175 11B7; +C2ED;C2ED;1109 1175 11B8;C2ED;1109 1175 11B8; +C2EE;C2EE;1109 1175 11B9;C2EE;1109 1175 11B9; +C2EF;C2EF;1109 1175 11BA;C2EF;1109 1175 11BA; +C2F0;C2F0;1109 1175 11BB;C2F0;1109 1175 11BB; +C2F1;C2F1;1109 1175 11BC;C2F1;1109 1175 11BC; +C2F2;C2F2;1109 1175 11BD;C2F2;1109 1175 11BD; +C2F3;C2F3;1109 1175 11BE;C2F3;1109 1175 11BE; +C2F4;C2F4;1109 1175 11BF;C2F4;1109 1175 11BF; +C2F5;C2F5;1109 1175 11C0;C2F5;1109 1175 11C0; +C2F6;C2F6;1109 1175 11C1;C2F6;1109 1175 11C1; +C2F7;C2F7;1109 1175 11C2;C2F7;1109 1175 11C2; +C2F8;C2F8;110A 1161;C2F8;110A 1161; +C2F9;C2F9;110A 1161 11A8;C2F9;110A 1161 11A8; +C2FA;C2FA;110A 1161 11A9;C2FA;110A 1161 11A9; +C2FB;C2FB;110A 1161 11AA;C2FB;110A 1161 11AA; +C2FC;C2FC;110A 1161 11AB;C2FC;110A 1161 11AB; +C2FD;C2FD;110A 1161 11AC;C2FD;110A 1161 11AC; +C2FE;C2FE;110A 1161 11AD;C2FE;110A 1161 11AD; +C2FF;C2FF;110A 1161 11AE;C2FF;110A 1161 11AE; +C300;C300;110A 1161 11AF;C300;110A 1161 11AF; +C301;C301;110A 1161 11B0;C301;110A 1161 11B0; +C302;C302;110A 1161 11B1;C302;110A 1161 11B1; +C303;C303;110A 1161 11B2;C303;110A 1161 11B2; +C304;C304;110A 1161 11B3;C304;110A 1161 11B3; +C305;C305;110A 1161 11B4;C305;110A 1161 11B4; +C306;C306;110A 1161 11B5;C306;110A 1161 11B5; +C307;C307;110A 1161 11B6;C307;110A 1161 11B6; +C308;C308;110A 1161 11B7;C308;110A 1161 11B7; +C309;C309;110A 1161 11B8;C309;110A 1161 11B8; +C30A;C30A;110A 1161 11B9;C30A;110A 1161 11B9; +C30B;C30B;110A 1161 11BA;C30B;110A 1161 11BA; +C30C;C30C;110A 1161 11BB;C30C;110A 1161 11BB; +C30D;C30D;110A 1161 11BC;C30D;110A 1161 11BC; +C30E;C30E;110A 1161 11BD;C30E;110A 1161 11BD; +C30F;C30F;110A 1161 11BE;C30F;110A 1161 11BE; +C310;C310;110A 1161 11BF;C310;110A 1161 11BF; +C311;C311;110A 1161 11C0;C311;110A 1161 11C0; +C312;C312;110A 1161 11C1;C312;110A 1161 11C1; +C313;C313;110A 1161 11C2;C313;110A 1161 11C2; +C314;C314;110A 1162;C314;110A 1162; +C315;C315;110A 1162 11A8;C315;110A 1162 11A8; +C316;C316;110A 1162 11A9;C316;110A 1162 11A9; +C317;C317;110A 1162 11AA;C317;110A 1162 11AA; +C318;C318;110A 1162 11AB;C318;110A 1162 11AB; +C319;C319;110A 1162 11AC;C319;110A 1162 11AC; +C31A;C31A;110A 1162 11AD;C31A;110A 1162 11AD; +C31B;C31B;110A 1162 11AE;C31B;110A 1162 11AE; +C31C;C31C;110A 1162 11AF;C31C;110A 1162 11AF; +C31D;C31D;110A 1162 11B0;C31D;110A 1162 11B0; +C31E;C31E;110A 1162 11B1;C31E;110A 1162 11B1; +C31F;C31F;110A 1162 11B2;C31F;110A 1162 11B2; +C320;C320;110A 1162 11B3;C320;110A 1162 11B3; +C321;C321;110A 1162 11B4;C321;110A 1162 11B4; +C322;C322;110A 1162 11B5;C322;110A 1162 11B5; +C323;C323;110A 1162 11B6;C323;110A 1162 11B6; +C324;C324;110A 1162 11B7;C324;110A 1162 11B7; +C325;C325;110A 1162 11B8;C325;110A 1162 11B8; +C326;C326;110A 1162 11B9;C326;110A 1162 11B9; +C327;C327;110A 1162 11BA;C327;110A 1162 11BA; +C328;C328;110A 1162 11BB;C328;110A 1162 11BB; +C329;C329;110A 1162 11BC;C329;110A 1162 11BC; +C32A;C32A;110A 1162 11BD;C32A;110A 1162 11BD; +C32B;C32B;110A 1162 11BE;C32B;110A 1162 11BE; +C32C;C32C;110A 1162 11BF;C32C;110A 1162 11BF; +C32D;C32D;110A 1162 11C0;C32D;110A 1162 11C0; +C32E;C32E;110A 1162 11C1;C32E;110A 1162 11C1; +C32F;C32F;110A 1162 11C2;C32F;110A 1162 11C2; +C330;C330;110A 1163;C330;110A 1163; +C331;C331;110A 1163 11A8;C331;110A 1163 11A8; +C332;C332;110A 1163 11A9;C332;110A 1163 11A9; +C333;C333;110A 1163 11AA;C333;110A 1163 11AA; +C334;C334;110A 1163 11AB;C334;110A 1163 11AB; +C335;C335;110A 1163 11AC;C335;110A 1163 11AC; +C336;C336;110A 1163 11AD;C336;110A 1163 11AD; +C337;C337;110A 1163 11AE;C337;110A 1163 11AE; +C338;C338;110A 1163 11AF;C338;110A 1163 11AF; +C339;C339;110A 1163 11B0;C339;110A 1163 11B0; +C33A;C33A;110A 1163 11B1;C33A;110A 1163 11B1; +C33B;C33B;110A 1163 11B2;C33B;110A 1163 11B2; +C33C;C33C;110A 1163 11B3;C33C;110A 1163 11B3; +C33D;C33D;110A 1163 11B4;C33D;110A 1163 11B4; +C33E;C33E;110A 1163 11B5;C33E;110A 1163 11B5; +C33F;C33F;110A 1163 11B6;C33F;110A 1163 11B6; +C340;C340;110A 1163 11B7;C340;110A 1163 11B7; +C341;C341;110A 1163 11B8;C341;110A 1163 11B8; +C342;C342;110A 1163 11B9;C342;110A 1163 11B9; +C343;C343;110A 1163 11BA;C343;110A 1163 11BA; +C344;C344;110A 1163 11BB;C344;110A 1163 11BB; +C345;C345;110A 1163 11BC;C345;110A 1163 11BC; +C346;C346;110A 1163 11BD;C346;110A 1163 11BD; +C347;C347;110A 1163 11BE;C347;110A 1163 11BE; +C348;C348;110A 1163 11BF;C348;110A 1163 11BF; +C349;C349;110A 1163 11C0;C349;110A 1163 11C0; +C34A;C34A;110A 1163 11C1;C34A;110A 1163 11C1; +C34B;C34B;110A 1163 11C2;C34B;110A 1163 11C2; +C34C;C34C;110A 1164;C34C;110A 1164; +C34D;C34D;110A 1164 11A8;C34D;110A 1164 11A8; +C34E;C34E;110A 1164 11A9;C34E;110A 1164 11A9; +C34F;C34F;110A 1164 11AA;C34F;110A 1164 11AA; +C350;C350;110A 1164 11AB;C350;110A 1164 11AB; +C351;C351;110A 1164 11AC;C351;110A 1164 11AC; +C352;C352;110A 1164 11AD;C352;110A 1164 11AD; +C353;C353;110A 1164 11AE;C353;110A 1164 11AE; +C354;C354;110A 1164 11AF;C354;110A 1164 11AF; +C355;C355;110A 1164 11B0;C355;110A 1164 11B0; +C356;C356;110A 1164 11B1;C356;110A 1164 11B1; +C357;C357;110A 1164 11B2;C357;110A 1164 11B2; +C358;C358;110A 1164 11B3;C358;110A 1164 11B3; +C359;C359;110A 1164 11B4;C359;110A 1164 11B4; +C35A;C35A;110A 1164 11B5;C35A;110A 1164 11B5; +C35B;C35B;110A 1164 11B6;C35B;110A 1164 11B6; +C35C;C35C;110A 1164 11B7;C35C;110A 1164 11B7; +C35D;C35D;110A 1164 11B8;C35D;110A 1164 11B8; +C35E;C35E;110A 1164 11B9;C35E;110A 1164 11B9; +C35F;C35F;110A 1164 11BA;C35F;110A 1164 11BA; +C360;C360;110A 1164 11BB;C360;110A 1164 11BB; +C361;C361;110A 1164 11BC;C361;110A 1164 11BC; +C362;C362;110A 1164 11BD;C362;110A 1164 11BD; +C363;C363;110A 1164 11BE;C363;110A 1164 11BE; +C364;C364;110A 1164 11BF;C364;110A 1164 11BF; +C365;C365;110A 1164 11C0;C365;110A 1164 11C0; +C366;C366;110A 1164 11C1;C366;110A 1164 11C1; +C367;C367;110A 1164 11C2;C367;110A 1164 11C2; +C368;C368;110A 1165;C368;110A 1165; +C369;C369;110A 1165 11A8;C369;110A 1165 11A8; +C36A;C36A;110A 1165 11A9;C36A;110A 1165 11A9; +C36B;C36B;110A 1165 11AA;C36B;110A 1165 11AA; +C36C;C36C;110A 1165 11AB;C36C;110A 1165 11AB; +C36D;C36D;110A 1165 11AC;C36D;110A 1165 11AC; +C36E;C36E;110A 1165 11AD;C36E;110A 1165 11AD; +C36F;C36F;110A 1165 11AE;C36F;110A 1165 11AE; +C370;C370;110A 1165 11AF;C370;110A 1165 11AF; +C371;C371;110A 1165 11B0;C371;110A 1165 11B0; +C372;C372;110A 1165 11B1;C372;110A 1165 11B1; +C373;C373;110A 1165 11B2;C373;110A 1165 11B2; +C374;C374;110A 1165 11B3;C374;110A 1165 11B3; +C375;C375;110A 1165 11B4;C375;110A 1165 11B4; +C376;C376;110A 1165 11B5;C376;110A 1165 11B5; +C377;C377;110A 1165 11B6;C377;110A 1165 11B6; +C378;C378;110A 1165 11B7;C378;110A 1165 11B7; +C379;C379;110A 1165 11B8;C379;110A 1165 11B8; +C37A;C37A;110A 1165 11B9;C37A;110A 1165 11B9; +C37B;C37B;110A 1165 11BA;C37B;110A 1165 11BA; +C37C;C37C;110A 1165 11BB;C37C;110A 1165 11BB; +C37D;C37D;110A 1165 11BC;C37D;110A 1165 11BC; +C37E;C37E;110A 1165 11BD;C37E;110A 1165 11BD; +C37F;C37F;110A 1165 11BE;C37F;110A 1165 11BE; +C380;C380;110A 1165 11BF;C380;110A 1165 11BF; +C381;C381;110A 1165 11C0;C381;110A 1165 11C0; +C382;C382;110A 1165 11C1;C382;110A 1165 11C1; +C383;C383;110A 1165 11C2;C383;110A 1165 11C2; +C384;C384;110A 1166;C384;110A 1166; +C385;C385;110A 1166 11A8;C385;110A 1166 11A8; +C386;C386;110A 1166 11A9;C386;110A 1166 11A9; +C387;C387;110A 1166 11AA;C387;110A 1166 11AA; +C388;C388;110A 1166 11AB;C388;110A 1166 11AB; +C389;C389;110A 1166 11AC;C389;110A 1166 11AC; +C38A;C38A;110A 1166 11AD;C38A;110A 1166 11AD; +C38B;C38B;110A 1166 11AE;C38B;110A 1166 11AE; +C38C;C38C;110A 1166 11AF;C38C;110A 1166 11AF; +C38D;C38D;110A 1166 11B0;C38D;110A 1166 11B0; +C38E;C38E;110A 1166 11B1;C38E;110A 1166 11B1; +C38F;C38F;110A 1166 11B2;C38F;110A 1166 11B2; +C390;C390;110A 1166 11B3;C390;110A 1166 11B3; +C391;C391;110A 1166 11B4;C391;110A 1166 11B4; +C392;C392;110A 1166 11B5;C392;110A 1166 11B5; +C393;C393;110A 1166 11B6;C393;110A 1166 11B6; +C394;C394;110A 1166 11B7;C394;110A 1166 11B7; +C395;C395;110A 1166 11B8;C395;110A 1166 11B8; +C396;C396;110A 1166 11B9;C396;110A 1166 11B9; +C397;C397;110A 1166 11BA;C397;110A 1166 11BA; +C398;C398;110A 1166 11BB;C398;110A 1166 11BB; +C399;C399;110A 1166 11BC;C399;110A 1166 11BC; +C39A;C39A;110A 1166 11BD;C39A;110A 1166 11BD; +C39B;C39B;110A 1166 11BE;C39B;110A 1166 11BE; +C39C;C39C;110A 1166 11BF;C39C;110A 1166 11BF; +C39D;C39D;110A 1166 11C0;C39D;110A 1166 11C0; +C39E;C39E;110A 1166 11C1;C39E;110A 1166 11C1; +C39F;C39F;110A 1166 11C2;C39F;110A 1166 11C2; +C3A0;C3A0;110A 1167;C3A0;110A 1167; +C3A1;C3A1;110A 1167 11A8;C3A1;110A 1167 11A8; +C3A2;C3A2;110A 1167 11A9;C3A2;110A 1167 11A9; +C3A3;C3A3;110A 1167 11AA;C3A3;110A 1167 11AA; +C3A4;C3A4;110A 1167 11AB;C3A4;110A 1167 11AB; +C3A5;C3A5;110A 1167 11AC;C3A5;110A 1167 11AC; +C3A6;C3A6;110A 1167 11AD;C3A6;110A 1167 11AD; +C3A7;C3A7;110A 1167 11AE;C3A7;110A 1167 11AE; +C3A8;C3A8;110A 1167 11AF;C3A8;110A 1167 11AF; +C3A9;C3A9;110A 1167 11B0;C3A9;110A 1167 11B0; +C3AA;C3AA;110A 1167 11B1;C3AA;110A 1167 11B1; +C3AB;C3AB;110A 1167 11B2;C3AB;110A 1167 11B2; +C3AC;C3AC;110A 1167 11B3;C3AC;110A 1167 11B3; +C3AD;C3AD;110A 1167 11B4;C3AD;110A 1167 11B4; +C3AE;C3AE;110A 1167 11B5;C3AE;110A 1167 11B5; +C3AF;C3AF;110A 1167 11B6;C3AF;110A 1167 11B6; +C3B0;C3B0;110A 1167 11B7;C3B0;110A 1167 11B7; +C3B1;C3B1;110A 1167 11B8;C3B1;110A 1167 11B8; +C3B2;C3B2;110A 1167 11B9;C3B2;110A 1167 11B9; +C3B3;C3B3;110A 1167 11BA;C3B3;110A 1167 11BA; +C3B4;C3B4;110A 1167 11BB;C3B4;110A 1167 11BB; +C3B5;C3B5;110A 1167 11BC;C3B5;110A 1167 11BC; +C3B6;C3B6;110A 1167 11BD;C3B6;110A 1167 11BD; +C3B7;C3B7;110A 1167 11BE;C3B7;110A 1167 11BE; +C3B8;C3B8;110A 1167 11BF;C3B8;110A 1167 11BF; +C3B9;C3B9;110A 1167 11C0;C3B9;110A 1167 11C0; +C3BA;C3BA;110A 1167 11C1;C3BA;110A 1167 11C1; +C3BB;C3BB;110A 1167 11C2;C3BB;110A 1167 11C2; +C3BC;C3BC;110A 1168;C3BC;110A 1168; +C3BD;C3BD;110A 1168 11A8;C3BD;110A 1168 11A8; +C3BE;C3BE;110A 1168 11A9;C3BE;110A 1168 11A9; +C3BF;C3BF;110A 1168 11AA;C3BF;110A 1168 11AA; +C3C0;C3C0;110A 1168 11AB;C3C0;110A 1168 11AB; +C3C1;C3C1;110A 1168 11AC;C3C1;110A 1168 11AC; +C3C2;C3C2;110A 1168 11AD;C3C2;110A 1168 11AD; +C3C3;C3C3;110A 1168 11AE;C3C3;110A 1168 11AE; +C3C4;C3C4;110A 1168 11AF;C3C4;110A 1168 11AF; +C3C5;C3C5;110A 1168 11B0;C3C5;110A 1168 11B0; +C3C6;C3C6;110A 1168 11B1;C3C6;110A 1168 11B1; +C3C7;C3C7;110A 1168 11B2;C3C7;110A 1168 11B2; +C3C8;C3C8;110A 1168 11B3;C3C8;110A 1168 11B3; +C3C9;C3C9;110A 1168 11B4;C3C9;110A 1168 11B4; +C3CA;C3CA;110A 1168 11B5;C3CA;110A 1168 11B5; +C3CB;C3CB;110A 1168 11B6;C3CB;110A 1168 11B6; +C3CC;C3CC;110A 1168 11B7;C3CC;110A 1168 11B7; +C3CD;C3CD;110A 1168 11B8;C3CD;110A 1168 11B8; +C3CE;C3CE;110A 1168 11B9;C3CE;110A 1168 11B9; +C3CF;C3CF;110A 1168 11BA;C3CF;110A 1168 11BA; +C3D0;C3D0;110A 1168 11BB;C3D0;110A 1168 11BB; +C3D1;C3D1;110A 1168 11BC;C3D1;110A 1168 11BC; +C3D2;C3D2;110A 1168 11BD;C3D2;110A 1168 11BD; +C3D3;C3D3;110A 1168 11BE;C3D3;110A 1168 11BE; +C3D4;C3D4;110A 1168 11BF;C3D4;110A 1168 11BF; +C3D5;C3D5;110A 1168 11C0;C3D5;110A 1168 11C0; +C3D6;C3D6;110A 1168 11C1;C3D6;110A 1168 11C1; +C3D7;C3D7;110A 1168 11C2;C3D7;110A 1168 11C2; +C3D8;C3D8;110A 1169;C3D8;110A 1169; +C3D9;C3D9;110A 1169 11A8;C3D9;110A 1169 11A8; +C3DA;C3DA;110A 1169 11A9;C3DA;110A 1169 11A9; +C3DB;C3DB;110A 1169 11AA;C3DB;110A 1169 11AA; +C3DC;C3DC;110A 1169 11AB;C3DC;110A 1169 11AB; +C3DD;C3DD;110A 1169 11AC;C3DD;110A 1169 11AC; +C3DE;C3DE;110A 1169 11AD;C3DE;110A 1169 11AD; +C3DF;C3DF;110A 1169 11AE;C3DF;110A 1169 11AE; +C3E0;C3E0;110A 1169 11AF;C3E0;110A 1169 11AF; +C3E1;C3E1;110A 1169 11B0;C3E1;110A 1169 11B0; +C3E2;C3E2;110A 1169 11B1;C3E2;110A 1169 11B1; +C3E3;C3E3;110A 1169 11B2;C3E3;110A 1169 11B2; +C3E4;C3E4;110A 1169 11B3;C3E4;110A 1169 11B3; +C3E5;C3E5;110A 1169 11B4;C3E5;110A 1169 11B4; +C3E6;C3E6;110A 1169 11B5;C3E6;110A 1169 11B5; +C3E7;C3E7;110A 1169 11B6;C3E7;110A 1169 11B6; +C3E8;C3E8;110A 1169 11B7;C3E8;110A 1169 11B7; +C3E9;C3E9;110A 1169 11B8;C3E9;110A 1169 11B8; +C3EA;C3EA;110A 1169 11B9;C3EA;110A 1169 11B9; +C3EB;C3EB;110A 1169 11BA;C3EB;110A 1169 11BA; +C3EC;C3EC;110A 1169 11BB;C3EC;110A 1169 11BB; +C3ED;C3ED;110A 1169 11BC;C3ED;110A 1169 11BC; +C3EE;C3EE;110A 1169 11BD;C3EE;110A 1169 11BD; +C3EF;C3EF;110A 1169 11BE;C3EF;110A 1169 11BE; +C3F0;C3F0;110A 1169 11BF;C3F0;110A 1169 11BF; +C3F1;C3F1;110A 1169 11C0;C3F1;110A 1169 11C0; +C3F2;C3F2;110A 1169 11C1;C3F2;110A 1169 11C1; +C3F3;C3F3;110A 1169 11C2;C3F3;110A 1169 11C2; +C3F4;C3F4;110A 116A;C3F4;110A 116A; +C3F5;C3F5;110A 116A 11A8;C3F5;110A 116A 11A8; +C3F6;C3F6;110A 116A 11A9;C3F6;110A 116A 11A9; +C3F7;C3F7;110A 116A 11AA;C3F7;110A 116A 11AA; +C3F8;C3F8;110A 116A 11AB;C3F8;110A 116A 11AB; +C3F9;C3F9;110A 116A 11AC;C3F9;110A 116A 11AC; +C3FA;C3FA;110A 116A 11AD;C3FA;110A 116A 11AD; +C3FB;C3FB;110A 116A 11AE;C3FB;110A 116A 11AE; +C3FC;C3FC;110A 116A 11AF;C3FC;110A 116A 11AF; +C3FD;C3FD;110A 116A 11B0;C3FD;110A 116A 11B0; +C3FE;C3FE;110A 116A 11B1;C3FE;110A 116A 11B1; +C3FF;C3FF;110A 116A 11B2;C3FF;110A 116A 11B2; +C400;C400;110A 116A 11B3;C400;110A 116A 11B3; +C401;C401;110A 116A 11B4;C401;110A 116A 11B4; +C402;C402;110A 116A 11B5;C402;110A 116A 11B5; +C403;C403;110A 116A 11B6;C403;110A 116A 11B6; +C404;C404;110A 116A 11B7;C404;110A 116A 11B7; +C405;C405;110A 116A 11B8;C405;110A 116A 11B8; +C406;C406;110A 116A 11B9;C406;110A 116A 11B9; +C407;C407;110A 116A 11BA;C407;110A 116A 11BA; +C408;C408;110A 116A 11BB;C408;110A 116A 11BB; +C409;C409;110A 116A 11BC;C409;110A 116A 11BC; +C40A;C40A;110A 116A 11BD;C40A;110A 116A 11BD; +C40B;C40B;110A 116A 11BE;C40B;110A 116A 11BE; +C40C;C40C;110A 116A 11BF;C40C;110A 116A 11BF; +C40D;C40D;110A 116A 11C0;C40D;110A 116A 11C0; +C40E;C40E;110A 116A 11C1;C40E;110A 116A 11C1; +C40F;C40F;110A 116A 11C2;C40F;110A 116A 11C2; +C410;C410;110A 116B;C410;110A 116B; +C411;C411;110A 116B 11A8;C411;110A 116B 11A8; +C412;C412;110A 116B 11A9;C412;110A 116B 11A9; +C413;C413;110A 116B 11AA;C413;110A 116B 11AA; +C414;C414;110A 116B 11AB;C414;110A 116B 11AB; +C415;C415;110A 116B 11AC;C415;110A 116B 11AC; +C416;C416;110A 116B 11AD;C416;110A 116B 11AD; +C417;C417;110A 116B 11AE;C417;110A 116B 11AE; +C418;C418;110A 116B 11AF;C418;110A 116B 11AF; +C419;C419;110A 116B 11B0;C419;110A 116B 11B0; +C41A;C41A;110A 116B 11B1;C41A;110A 116B 11B1; +C41B;C41B;110A 116B 11B2;C41B;110A 116B 11B2; +C41C;C41C;110A 116B 11B3;C41C;110A 116B 11B3; +C41D;C41D;110A 116B 11B4;C41D;110A 116B 11B4; +C41E;C41E;110A 116B 11B5;C41E;110A 116B 11B5; +C41F;C41F;110A 116B 11B6;C41F;110A 116B 11B6; +C420;C420;110A 116B 11B7;C420;110A 116B 11B7; +C421;C421;110A 116B 11B8;C421;110A 116B 11B8; +C422;C422;110A 116B 11B9;C422;110A 116B 11B9; +C423;C423;110A 116B 11BA;C423;110A 116B 11BA; +C424;C424;110A 116B 11BB;C424;110A 116B 11BB; +C425;C425;110A 116B 11BC;C425;110A 116B 11BC; +C426;C426;110A 116B 11BD;C426;110A 116B 11BD; +C427;C427;110A 116B 11BE;C427;110A 116B 11BE; +C428;C428;110A 116B 11BF;C428;110A 116B 11BF; +C429;C429;110A 116B 11C0;C429;110A 116B 11C0; +C42A;C42A;110A 116B 11C1;C42A;110A 116B 11C1; +C42B;C42B;110A 116B 11C2;C42B;110A 116B 11C2; +C42C;C42C;110A 116C;C42C;110A 116C; +C42D;C42D;110A 116C 11A8;C42D;110A 116C 11A8; +C42E;C42E;110A 116C 11A9;C42E;110A 116C 11A9; +C42F;C42F;110A 116C 11AA;C42F;110A 116C 11AA; +C430;C430;110A 116C 11AB;C430;110A 116C 11AB; +C431;C431;110A 116C 11AC;C431;110A 116C 11AC; +C432;C432;110A 116C 11AD;C432;110A 116C 11AD; +C433;C433;110A 116C 11AE;C433;110A 116C 11AE; +C434;C434;110A 116C 11AF;C434;110A 116C 11AF; +C435;C435;110A 116C 11B0;C435;110A 116C 11B0; +C436;C436;110A 116C 11B1;C436;110A 116C 11B1; +C437;C437;110A 116C 11B2;C437;110A 116C 11B2; +C438;C438;110A 116C 11B3;C438;110A 116C 11B3; +C439;C439;110A 116C 11B4;C439;110A 116C 11B4; +C43A;C43A;110A 116C 11B5;C43A;110A 116C 11B5; +C43B;C43B;110A 116C 11B6;C43B;110A 116C 11B6; +C43C;C43C;110A 116C 11B7;C43C;110A 116C 11B7; +C43D;C43D;110A 116C 11B8;C43D;110A 116C 11B8; +C43E;C43E;110A 116C 11B9;C43E;110A 116C 11B9; +C43F;C43F;110A 116C 11BA;C43F;110A 116C 11BA; +C440;C440;110A 116C 11BB;C440;110A 116C 11BB; +C441;C441;110A 116C 11BC;C441;110A 116C 11BC; +C442;C442;110A 116C 11BD;C442;110A 116C 11BD; +C443;C443;110A 116C 11BE;C443;110A 116C 11BE; +C444;C444;110A 116C 11BF;C444;110A 116C 11BF; +C445;C445;110A 116C 11C0;C445;110A 116C 11C0; +C446;C446;110A 116C 11C1;C446;110A 116C 11C1; +C447;C447;110A 116C 11C2;C447;110A 116C 11C2; +C448;C448;110A 116D;C448;110A 116D; +C449;C449;110A 116D 11A8;C449;110A 116D 11A8; +C44A;C44A;110A 116D 11A9;C44A;110A 116D 11A9; +C44B;C44B;110A 116D 11AA;C44B;110A 116D 11AA; +C44C;C44C;110A 116D 11AB;C44C;110A 116D 11AB; +C44D;C44D;110A 116D 11AC;C44D;110A 116D 11AC; +C44E;C44E;110A 116D 11AD;C44E;110A 116D 11AD; +C44F;C44F;110A 116D 11AE;C44F;110A 116D 11AE; +C450;C450;110A 116D 11AF;C450;110A 116D 11AF; +C451;C451;110A 116D 11B0;C451;110A 116D 11B0; +C452;C452;110A 116D 11B1;C452;110A 116D 11B1; +C453;C453;110A 116D 11B2;C453;110A 116D 11B2; +C454;C454;110A 116D 11B3;C454;110A 116D 11B3; +C455;C455;110A 116D 11B4;C455;110A 116D 11B4; +C456;C456;110A 116D 11B5;C456;110A 116D 11B5; +C457;C457;110A 116D 11B6;C457;110A 116D 11B6; +C458;C458;110A 116D 11B7;C458;110A 116D 11B7; +C459;C459;110A 116D 11B8;C459;110A 116D 11B8; +C45A;C45A;110A 116D 11B9;C45A;110A 116D 11B9; +C45B;C45B;110A 116D 11BA;C45B;110A 116D 11BA; +C45C;C45C;110A 116D 11BB;C45C;110A 116D 11BB; +C45D;C45D;110A 116D 11BC;C45D;110A 116D 11BC; +C45E;C45E;110A 116D 11BD;C45E;110A 116D 11BD; +C45F;C45F;110A 116D 11BE;C45F;110A 116D 11BE; +C460;C460;110A 116D 11BF;C460;110A 116D 11BF; +C461;C461;110A 116D 11C0;C461;110A 116D 11C0; +C462;C462;110A 116D 11C1;C462;110A 116D 11C1; +C463;C463;110A 116D 11C2;C463;110A 116D 11C2; +C464;C464;110A 116E;C464;110A 116E; +C465;C465;110A 116E 11A8;C465;110A 116E 11A8; +C466;C466;110A 116E 11A9;C466;110A 116E 11A9; +C467;C467;110A 116E 11AA;C467;110A 116E 11AA; +C468;C468;110A 116E 11AB;C468;110A 116E 11AB; +C469;C469;110A 116E 11AC;C469;110A 116E 11AC; +C46A;C46A;110A 116E 11AD;C46A;110A 116E 11AD; +C46B;C46B;110A 116E 11AE;C46B;110A 116E 11AE; +C46C;C46C;110A 116E 11AF;C46C;110A 116E 11AF; +C46D;C46D;110A 116E 11B0;C46D;110A 116E 11B0; +C46E;C46E;110A 116E 11B1;C46E;110A 116E 11B1; +C46F;C46F;110A 116E 11B2;C46F;110A 116E 11B2; +C470;C470;110A 116E 11B3;C470;110A 116E 11B3; +C471;C471;110A 116E 11B4;C471;110A 116E 11B4; +C472;C472;110A 116E 11B5;C472;110A 116E 11B5; +C473;C473;110A 116E 11B6;C473;110A 116E 11B6; +C474;C474;110A 116E 11B7;C474;110A 116E 11B7; +C475;C475;110A 116E 11B8;C475;110A 116E 11B8; +C476;C476;110A 116E 11B9;C476;110A 116E 11B9; +C477;C477;110A 116E 11BA;C477;110A 116E 11BA; +C478;C478;110A 116E 11BB;C478;110A 116E 11BB; +C479;C479;110A 116E 11BC;C479;110A 116E 11BC; +C47A;C47A;110A 116E 11BD;C47A;110A 116E 11BD; +C47B;C47B;110A 116E 11BE;C47B;110A 116E 11BE; +C47C;C47C;110A 116E 11BF;C47C;110A 116E 11BF; +C47D;C47D;110A 116E 11C0;C47D;110A 116E 11C0; +C47E;C47E;110A 116E 11C1;C47E;110A 116E 11C1; +C47F;C47F;110A 116E 11C2;C47F;110A 116E 11C2; +C480;C480;110A 116F;C480;110A 116F; +C481;C481;110A 116F 11A8;C481;110A 116F 11A8; +C482;C482;110A 116F 11A9;C482;110A 116F 11A9; +C483;C483;110A 116F 11AA;C483;110A 116F 11AA; +C484;C484;110A 116F 11AB;C484;110A 116F 11AB; +C485;C485;110A 116F 11AC;C485;110A 116F 11AC; +C486;C486;110A 116F 11AD;C486;110A 116F 11AD; +C487;C487;110A 116F 11AE;C487;110A 116F 11AE; +C488;C488;110A 116F 11AF;C488;110A 116F 11AF; +C489;C489;110A 116F 11B0;C489;110A 116F 11B0; +C48A;C48A;110A 116F 11B1;C48A;110A 116F 11B1; +C48B;C48B;110A 116F 11B2;C48B;110A 116F 11B2; +C48C;C48C;110A 116F 11B3;C48C;110A 116F 11B3; +C48D;C48D;110A 116F 11B4;C48D;110A 116F 11B4; +C48E;C48E;110A 116F 11B5;C48E;110A 116F 11B5; +C48F;C48F;110A 116F 11B6;C48F;110A 116F 11B6; +C490;C490;110A 116F 11B7;C490;110A 116F 11B7; +C491;C491;110A 116F 11B8;C491;110A 116F 11B8; +C492;C492;110A 116F 11B9;C492;110A 116F 11B9; +C493;C493;110A 116F 11BA;C493;110A 116F 11BA; +C494;C494;110A 116F 11BB;C494;110A 116F 11BB; +C495;C495;110A 116F 11BC;C495;110A 116F 11BC; +C496;C496;110A 116F 11BD;C496;110A 116F 11BD; +C497;C497;110A 116F 11BE;C497;110A 116F 11BE; +C498;C498;110A 116F 11BF;C498;110A 116F 11BF; +C499;C499;110A 116F 11C0;C499;110A 116F 11C0; +C49A;C49A;110A 116F 11C1;C49A;110A 116F 11C1; +C49B;C49B;110A 116F 11C2;C49B;110A 116F 11C2; +C49C;C49C;110A 1170;C49C;110A 1170; +C49D;C49D;110A 1170 11A8;C49D;110A 1170 11A8; +C49E;C49E;110A 1170 11A9;C49E;110A 1170 11A9; +C49F;C49F;110A 1170 11AA;C49F;110A 1170 11AA; +C4A0;C4A0;110A 1170 11AB;C4A0;110A 1170 11AB; +C4A1;C4A1;110A 1170 11AC;C4A1;110A 1170 11AC; +C4A2;C4A2;110A 1170 11AD;C4A2;110A 1170 11AD; +C4A3;C4A3;110A 1170 11AE;C4A3;110A 1170 11AE; +C4A4;C4A4;110A 1170 11AF;C4A4;110A 1170 11AF; +C4A5;C4A5;110A 1170 11B0;C4A5;110A 1170 11B0; +C4A6;C4A6;110A 1170 11B1;C4A6;110A 1170 11B1; +C4A7;C4A7;110A 1170 11B2;C4A7;110A 1170 11B2; +C4A8;C4A8;110A 1170 11B3;C4A8;110A 1170 11B3; +C4A9;C4A9;110A 1170 11B4;C4A9;110A 1170 11B4; +C4AA;C4AA;110A 1170 11B5;C4AA;110A 1170 11B5; +C4AB;C4AB;110A 1170 11B6;C4AB;110A 1170 11B6; +C4AC;C4AC;110A 1170 11B7;C4AC;110A 1170 11B7; +C4AD;C4AD;110A 1170 11B8;C4AD;110A 1170 11B8; +C4AE;C4AE;110A 1170 11B9;C4AE;110A 1170 11B9; +C4AF;C4AF;110A 1170 11BA;C4AF;110A 1170 11BA; +C4B0;C4B0;110A 1170 11BB;C4B0;110A 1170 11BB; +C4B1;C4B1;110A 1170 11BC;C4B1;110A 1170 11BC; +C4B2;C4B2;110A 1170 11BD;C4B2;110A 1170 11BD; +C4B3;C4B3;110A 1170 11BE;C4B3;110A 1170 11BE; +C4B4;C4B4;110A 1170 11BF;C4B4;110A 1170 11BF; +C4B5;C4B5;110A 1170 11C0;C4B5;110A 1170 11C0; +C4B6;C4B6;110A 1170 11C1;C4B6;110A 1170 11C1; +C4B7;C4B7;110A 1170 11C2;C4B7;110A 1170 11C2; +C4B8;C4B8;110A 1171;C4B8;110A 1171; +C4B9;C4B9;110A 1171 11A8;C4B9;110A 1171 11A8; +C4BA;C4BA;110A 1171 11A9;C4BA;110A 1171 11A9; +C4BB;C4BB;110A 1171 11AA;C4BB;110A 1171 11AA; +C4BC;C4BC;110A 1171 11AB;C4BC;110A 1171 11AB; +C4BD;C4BD;110A 1171 11AC;C4BD;110A 1171 11AC; +C4BE;C4BE;110A 1171 11AD;C4BE;110A 1171 11AD; +C4BF;C4BF;110A 1171 11AE;C4BF;110A 1171 11AE; +C4C0;C4C0;110A 1171 11AF;C4C0;110A 1171 11AF; +C4C1;C4C1;110A 1171 11B0;C4C1;110A 1171 11B0; +C4C2;C4C2;110A 1171 11B1;C4C2;110A 1171 11B1; +C4C3;C4C3;110A 1171 11B2;C4C3;110A 1171 11B2; +C4C4;C4C4;110A 1171 11B3;C4C4;110A 1171 11B3; +C4C5;C4C5;110A 1171 11B4;C4C5;110A 1171 11B4; +C4C6;C4C6;110A 1171 11B5;C4C6;110A 1171 11B5; +C4C7;C4C7;110A 1171 11B6;C4C7;110A 1171 11B6; +C4C8;C4C8;110A 1171 11B7;C4C8;110A 1171 11B7; +C4C9;C4C9;110A 1171 11B8;C4C9;110A 1171 11B8; +C4CA;C4CA;110A 1171 11B9;C4CA;110A 1171 11B9; +C4CB;C4CB;110A 1171 11BA;C4CB;110A 1171 11BA; +C4CC;C4CC;110A 1171 11BB;C4CC;110A 1171 11BB; +C4CD;C4CD;110A 1171 11BC;C4CD;110A 1171 11BC; +C4CE;C4CE;110A 1171 11BD;C4CE;110A 1171 11BD; +C4CF;C4CF;110A 1171 11BE;C4CF;110A 1171 11BE; +C4D0;C4D0;110A 1171 11BF;C4D0;110A 1171 11BF; +C4D1;C4D1;110A 1171 11C0;C4D1;110A 1171 11C0; +C4D2;C4D2;110A 1171 11C1;C4D2;110A 1171 11C1; +C4D3;C4D3;110A 1171 11C2;C4D3;110A 1171 11C2; +C4D4;C4D4;110A 1172;C4D4;110A 1172; +C4D5;C4D5;110A 1172 11A8;C4D5;110A 1172 11A8; +C4D6;C4D6;110A 1172 11A9;C4D6;110A 1172 11A9; +C4D7;C4D7;110A 1172 11AA;C4D7;110A 1172 11AA; +C4D8;C4D8;110A 1172 11AB;C4D8;110A 1172 11AB; +C4D9;C4D9;110A 1172 11AC;C4D9;110A 1172 11AC; +C4DA;C4DA;110A 1172 11AD;C4DA;110A 1172 11AD; +C4DB;C4DB;110A 1172 11AE;C4DB;110A 1172 11AE; +C4DC;C4DC;110A 1172 11AF;C4DC;110A 1172 11AF; +C4DD;C4DD;110A 1172 11B0;C4DD;110A 1172 11B0; +C4DE;C4DE;110A 1172 11B1;C4DE;110A 1172 11B1; +C4DF;C4DF;110A 1172 11B2;C4DF;110A 1172 11B2; +C4E0;C4E0;110A 1172 11B3;C4E0;110A 1172 11B3; +C4E1;C4E1;110A 1172 11B4;C4E1;110A 1172 11B4; +C4E2;C4E2;110A 1172 11B5;C4E2;110A 1172 11B5; +C4E3;C4E3;110A 1172 11B6;C4E3;110A 1172 11B6; +C4E4;C4E4;110A 1172 11B7;C4E4;110A 1172 11B7; +C4E5;C4E5;110A 1172 11B8;C4E5;110A 1172 11B8; +C4E6;C4E6;110A 1172 11B9;C4E6;110A 1172 11B9; +C4E7;C4E7;110A 1172 11BA;C4E7;110A 1172 11BA; +C4E8;C4E8;110A 1172 11BB;C4E8;110A 1172 11BB; +C4E9;C4E9;110A 1172 11BC;C4E9;110A 1172 11BC; +C4EA;C4EA;110A 1172 11BD;C4EA;110A 1172 11BD; +C4EB;C4EB;110A 1172 11BE;C4EB;110A 1172 11BE; +C4EC;C4EC;110A 1172 11BF;C4EC;110A 1172 11BF; +C4ED;C4ED;110A 1172 11C0;C4ED;110A 1172 11C0; +C4EE;C4EE;110A 1172 11C1;C4EE;110A 1172 11C1; +C4EF;C4EF;110A 1172 11C2;C4EF;110A 1172 11C2; +C4F0;C4F0;110A 1173;C4F0;110A 1173; +C4F1;C4F1;110A 1173 11A8;C4F1;110A 1173 11A8; +C4F2;C4F2;110A 1173 11A9;C4F2;110A 1173 11A9; +C4F3;C4F3;110A 1173 11AA;C4F3;110A 1173 11AA; +C4F4;C4F4;110A 1173 11AB;C4F4;110A 1173 11AB; +C4F5;C4F5;110A 1173 11AC;C4F5;110A 1173 11AC; +C4F6;C4F6;110A 1173 11AD;C4F6;110A 1173 11AD; +C4F7;C4F7;110A 1173 11AE;C4F7;110A 1173 11AE; +C4F8;C4F8;110A 1173 11AF;C4F8;110A 1173 11AF; +C4F9;C4F9;110A 1173 11B0;C4F9;110A 1173 11B0; +C4FA;C4FA;110A 1173 11B1;C4FA;110A 1173 11B1; +C4FB;C4FB;110A 1173 11B2;C4FB;110A 1173 11B2; +C4FC;C4FC;110A 1173 11B3;C4FC;110A 1173 11B3; +C4FD;C4FD;110A 1173 11B4;C4FD;110A 1173 11B4; +C4FE;C4FE;110A 1173 11B5;C4FE;110A 1173 11B5; +C4FF;C4FF;110A 1173 11B6;C4FF;110A 1173 11B6; +C500;C500;110A 1173 11B7;C500;110A 1173 11B7; +C501;C501;110A 1173 11B8;C501;110A 1173 11B8; +C502;C502;110A 1173 11B9;C502;110A 1173 11B9; +C503;C503;110A 1173 11BA;C503;110A 1173 11BA; +C504;C504;110A 1173 11BB;C504;110A 1173 11BB; +C505;C505;110A 1173 11BC;C505;110A 1173 11BC; +C506;C506;110A 1173 11BD;C506;110A 1173 11BD; +C507;C507;110A 1173 11BE;C507;110A 1173 11BE; +C508;C508;110A 1173 11BF;C508;110A 1173 11BF; +C509;C509;110A 1173 11C0;C509;110A 1173 11C0; +C50A;C50A;110A 1173 11C1;C50A;110A 1173 11C1; +C50B;C50B;110A 1173 11C2;C50B;110A 1173 11C2; +C50C;C50C;110A 1174;C50C;110A 1174; +C50D;C50D;110A 1174 11A8;C50D;110A 1174 11A8; +C50E;C50E;110A 1174 11A9;C50E;110A 1174 11A9; +C50F;C50F;110A 1174 11AA;C50F;110A 1174 11AA; +C510;C510;110A 1174 11AB;C510;110A 1174 11AB; +C511;C511;110A 1174 11AC;C511;110A 1174 11AC; +C512;C512;110A 1174 11AD;C512;110A 1174 11AD; +C513;C513;110A 1174 11AE;C513;110A 1174 11AE; +C514;C514;110A 1174 11AF;C514;110A 1174 11AF; +C515;C515;110A 1174 11B0;C515;110A 1174 11B0; +C516;C516;110A 1174 11B1;C516;110A 1174 11B1; +C517;C517;110A 1174 11B2;C517;110A 1174 11B2; +C518;C518;110A 1174 11B3;C518;110A 1174 11B3; +C519;C519;110A 1174 11B4;C519;110A 1174 11B4; +C51A;C51A;110A 1174 11B5;C51A;110A 1174 11B5; +C51B;C51B;110A 1174 11B6;C51B;110A 1174 11B6; +C51C;C51C;110A 1174 11B7;C51C;110A 1174 11B7; +C51D;C51D;110A 1174 11B8;C51D;110A 1174 11B8; +C51E;C51E;110A 1174 11B9;C51E;110A 1174 11B9; +C51F;C51F;110A 1174 11BA;C51F;110A 1174 11BA; +C520;C520;110A 1174 11BB;C520;110A 1174 11BB; +C521;C521;110A 1174 11BC;C521;110A 1174 11BC; +C522;C522;110A 1174 11BD;C522;110A 1174 11BD; +C523;C523;110A 1174 11BE;C523;110A 1174 11BE; +C524;C524;110A 1174 11BF;C524;110A 1174 11BF; +C525;C525;110A 1174 11C0;C525;110A 1174 11C0; +C526;C526;110A 1174 11C1;C526;110A 1174 11C1; +C527;C527;110A 1174 11C2;C527;110A 1174 11C2; +C528;C528;110A 1175;C528;110A 1175; +C529;C529;110A 1175 11A8;C529;110A 1175 11A8; +C52A;C52A;110A 1175 11A9;C52A;110A 1175 11A9; +C52B;C52B;110A 1175 11AA;C52B;110A 1175 11AA; +C52C;C52C;110A 1175 11AB;C52C;110A 1175 11AB; +C52D;C52D;110A 1175 11AC;C52D;110A 1175 11AC; +C52E;C52E;110A 1175 11AD;C52E;110A 1175 11AD; +C52F;C52F;110A 1175 11AE;C52F;110A 1175 11AE; +C530;C530;110A 1175 11AF;C530;110A 1175 11AF; +C531;C531;110A 1175 11B0;C531;110A 1175 11B0; +C532;C532;110A 1175 11B1;C532;110A 1175 11B1; +C533;C533;110A 1175 11B2;C533;110A 1175 11B2; +C534;C534;110A 1175 11B3;C534;110A 1175 11B3; +C535;C535;110A 1175 11B4;C535;110A 1175 11B4; +C536;C536;110A 1175 11B5;C536;110A 1175 11B5; +C537;C537;110A 1175 11B6;C537;110A 1175 11B6; +C538;C538;110A 1175 11B7;C538;110A 1175 11B7; +C539;C539;110A 1175 11B8;C539;110A 1175 11B8; +C53A;C53A;110A 1175 11B9;C53A;110A 1175 11B9; +C53B;C53B;110A 1175 11BA;C53B;110A 1175 11BA; +C53C;C53C;110A 1175 11BB;C53C;110A 1175 11BB; +C53D;C53D;110A 1175 11BC;C53D;110A 1175 11BC; +C53E;C53E;110A 1175 11BD;C53E;110A 1175 11BD; +C53F;C53F;110A 1175 11BE;C53F;110A 1175 11BE; +C540;C540;110A 1175 11BF;C540;110A 1175 11BF; +C541;C541;110A 1175 11C0;C541;110A 1175 11C0; +C542;C542;110A 1175 11C1;C542;110A 1175 11C1; +C543;C543;110A 1175 11C2;C543;110A 1175 11C2; +C544;C544;110B 1161;C544;110B 1161; +C545;C545;110B 1161 11A8;C545;110B 1161 11A8; +C546;C546;110B 1161 11A9;C546;110B 1161 11A9; +C547;C547;110B 1161 11AA;C547;110B 1161 11AA; +C548;C548;110B 1161 11AB;C548;110B 1161 11AB; +C549;C549;110B 1161 11AC;C549;110B 1161 11AC; +C54A;C54A;110B 1161 11AD;C54A;110B 1161 11AD; +C54B;C54B;110B 1161 11AE;C54B;110B 1161 11AE; +C54C;C54C;110B 1161 11AF;C54C;110B 1161 11AF; +C54D;C54D;110B 1161 11B0;C54D;110B 1161 11B0; +C54E;C54E;110B 1161 11B1;C54E;110B 1161 11B1; +C54F;C54F;110B 1161 11B2;C54F;110B 1161 11B2; +C550;C550;110B 1161 11B3;C550;110B 1161 11B3; +C551;C551;110B 1161 11B4;C551;110B 1161 11B4; +C552;C552;110B 1161 11B5;C552;110B 1161 11B5; +C553;C553;110B 1161 11B6;C553;110B 1161 11B6; +C554;C554;110B 1161 11B7;C554;110B 1161 11B7; +C555;C555;110B 1161 11B8;C555;110B 1161 11B8; +C556;C556;110B 1161 11B9;C556;110B 1161 11B9; +C557;C557;110B 1161 11BA;C557;110B 1161 11BA; +C558;C558;110B 1161 11BB;C558;110B 1161 11BB; +C559;C559;110B 1161 11BC;C559;110B 1161 11BC; +C55A;C55A;110B 1161 11BD;C55A;110B 1161 11BD; +C55B;C55B;110B 1161 11BE;C55B;110B 1161 11BE; +C55C;C55C;110B 1161 11BF;C55C;110B 1161 11BF; +C55D;C55D;110B 1161 11C0;C55D;110B 1161 11C0; +C55E;C55E;110B 1161 11C1;C55E;110B 1161 11C1; +C55F;C55F;110B 1161 11C2;C55F;110B 1161 11C2; +C560;C560;110B 1162;C560;110B 1162; +C561;C561;110B 1162 11A8;C561;110B 1162 11A8; +C562;C562;110B 1162 11A9;C562;110B 1162 11A9; +C563;C563;110B 1162 11AA;C563;110B 1162 11AA; +C564;C564;110B 1162 11AB;C564;110B 1162 11AB; +C565;C565;110B 1162 11AC;C565;110B 1162 11AC; +C566;C566;110B 1162 11AD;C566;110B 1162 11AD; +C567;C567;110B 1162 11AE;C567;110B 1162 11AE; +C568;C568;110B 1162 11AF;C568;110B 1162 11AF; +C569;C569;110B 1162 11B0;C569;110B 1162 11B0; +C56A;C56A;110B 1162 11B1;C56A;110B 1162 11B1; +C56B;C56B;110B 1162 11B2;C56B;110B 1162 11B2; +C56C;C56C;110B 1162 11B3;C56C;110B 1162 11B3; +C56D;C56D;110B 1162 11B4;C56D;110B 1162 11B4; +C56E;C56E;110B 1162 11B5;C56E;110B 1162 11B5; +C56F;C56F;110B 1162 11B6;C56F;110B 1162 11B6; +C570;C570;110B 1162 11B7;C570;110B 1162 11B7; +C571;C571;110B 1162 11B8;C571;110B 1162 11B8; +C572;C572;110B 1162 11B9;C572;110B 1162 11B9; +C573;C573;110B 1162 11BA;C573;110B 1162 11BA; +C574;C574;110B 1162 11BB;C574;110B 1162 11BB; +C575;C575;110B 1162 11BC;C575;110B 1162 11BC; +C576;C576;110B 1162 11BD;C576;110B 1162 11BD; +C577;C577;110B 1162 11BE;C577;110B 1162 11BE; +C578;C578;110B 1162 11BF;C578;110B 1162 11BF; +C579;C579;110B 1162 11C0;C579;110B 1162 11C0; +C57A;C57A;110B 1162 11C1;C57A;110B 1162 11C1; +C57B;C57B;110B 1162 11C2;C57B;110B 1162 11C2; +C57C;C57C;110B 1163;C57C;110B 1163; +C57D;C57D;110B 1163 11A8;C57D;110B 1163 11A8; +C57E;C57E;110B 1163 11A9;C57E;110B 1163 11A9; +C57F;C57F;110B 1163 11AA;C57F;110B 1163 11AA; +C580;C580;110B 1163 11AB;C580;110B 1163 11AB; +C581;C581;110B 1163 11AC;C581;110B 1163 11AC; +C582;C582;110B 1163 11AD;C582;110B 1163 11AD; +C583;C583;110B 1163 11AE;C583;110B 1163 11AE; +C584;C584;110B 1163 11AF;C584;110B 1163 11AF; +C585;C585;110B 1163 11B0;C585;110B 1163 11B0; +C586;C586;110B 1163 11B1;C586;110B 1163 11B1; +C587;C587;110B 1163 11B2;C587;110B 1163 11B2; +C588;C588;110B 1163 11B3;C588;110B 1163 11B3; +C589;C589;110B 1163 11B4;C589;110B 1163 11B4; +C58A;C58A;110B 1163 11B5;C58A;110B 1163 11B5; +C58B;C58B;110B 1163 11B6;C58B;110B 1163 11B6; +C58C;C58C;110B 1163 11B7;C58C;110B 1163 11B7; +C58D;C58D;110B 1163 11B8;C58D;110B 1163 11B8; +C58E;C58E;110B 1163 11B9;C58E;110B 1163 11B9; +C58F;C58F;110B 1163 11BA;C58F;110B 1163 11BA; +C590;C590;110B 1163 11BB;C590;110B 1163 11BB; +C591;C591;110B 1163 11BC;C591;110B 1163 11BC; +C592;C592;110B 1163 11BD;C592;110B 1163 11BD; +C593;C593;110B 1163 11BE;C593;110B 1163 11BE; +C594;C594;110B 1163 11BF;C594;110B 1163 11BF; +C595;C595;110B 1163 11C0;C595;110B 1163 11C0; +C596;C596;110B 1163 11C1;C596;110B 1163 11C1; +C597;C597;110B 1163 11C2;C597;110B 1163 11C2; +C598;C598;110B 1164;C598;110B 1164; +C599;C599;110B 1164 11A8;C599;110B 1164 11A8; +C59A;C59A;110B 1164 11A9;C59A;110B 1164 11A9; +C59B;C59B;110B 1164 11AA;C59B;110B 1164 11AA; +C59C;C59C;110B 1164 11AB;C59C;110B 1164 11AB; +C59D;C59D;110B 1164 11AC;C59D;110B 1164 11AC; +C59E;C59E;110B 1164 11AD;C59E;110B 1164 11AD; +C59F;C59F;110B 1164 11AE;C59F;110B 1164 11AE; +C5A0;C5A0;110B 1164 11AF;C5A0;110B 1164 11AF; +C5A1;C5A1;110B 1164 11B0;C5A1;110B 1164 11B0; +C5A2;C5A2;110B 1164 11B1;C5A2;110B 1164 11B1; +C5A3;C5A3;110B 1164 11B2;C5A3;110B 1164 11B2; +C5A4;C5A4;110B 1164 11B3;C5A4;110B 1164 11B3; +C5A5;C5A5;110B 1164 11B4;C5A5;110B 1164 11B4; +C5A6;C5A6;110B 1164 11B5;C5A6;110B 1164 11B5; +C5A7;C5A7;110B 1164 11B6;C5A7;110B 1164 11B6; +C5A8;C5A8;110B 1164 11B7;C5A8;110B 1164 11B7; +C5A9;C5A9;110B 1164 11B8;C5A9;110B 1164 11B8; +C5AA;C5AA;110B 1164 11B9;C5AA;110B 1164 11B9; +C5AB;C5AB;110B 1164 11BA;C5AB;110B 1164 11BA; +C5AC;C5AC;110B 1164 11BB;C5AC;110B 1164 11BB; +C5AD;C5AD;110B 1164 11BC;C5AD;110B 1164 11BC; +C5AE;C5AE;110B 1164 11BD;C5AE;110B 1164 11BD; +C5AF;C5AF;110B 1164 11BE;C5AF;110B 1164 11BE; +C5B0;C5B0;110B 1164 11BF;C5B0;110B 1164 11BF; +C5B1;C5B1;110B 1164 11C0;C5B1;110B 1164 11C0; +C5B2;C5B2;110B 1164 11C1;C5B2;110B 1164 11C1; +C5B3;C5B3;110B 1164 11C2;C5B3;110B 1164 11C2; +C5B4;C5B4;110B 1165;C5B4;110B 1165; +C5B5;C5B5;110B 1165 11A8;C5B5;110B 1165 11A8; +C5B6;C5B6;110B 1165 11A9;C5B6;110B 1165 11A9; +C5B7;C5B7;110B 1165 11AA;C5B7;110B 1165 11AA; +C5B8;C5B8;110B 1165 11AB;C5B8;110B 1165 11AB; +C5B9;C5B9;110B 1165 11AC;C5B9;110B 1165 11AC; +C5BA;C5BA;110B 1165 11AD;C5BA;110B 1165 11AD; +C5BB;C5BB;110B 1165 11AE;C5BB;110B 1165 11AE; +C5BC;C5BC;110B 1165 11AF;C5BC;110B 1165 11AF; +C5BD;C5BD;110B 1165 11B0;C5BD;110B 1165 11B0; +C5BE;C5BE;110B 1165 11B1;C5BE;110B 1165 11B1; +C5BF;C5BF;110B 1165 11B2;C5BF;110B 1165 11B2; +C5C0;C5C0;110B 1165 11B3;C5C0;110B 1165 11B3; +C5C1;C5C1;110B 1165 11B4;C5C1;110B 1165 11B4; +C5C2;C5C2;110B 1165 11B5;C5C2;110B 1165 11B5; +C5C3;C5C3;110B 1165 11B6;C5C3;110B 1165 11B6; +C5C4;C5C4;110B 1165 11B7;C5C4;110B 1165 11B7; +C5C5;C5C5;110B 1165 11B8;C5C5;110B 1165 11B8; +C5C6;C5C6;110B 1165 11B9;C5C6;110B 1165 11B9; +C5C7;C5C7;110B 1165 11BA;C5C7;110B 1165 11BA; +C5C8;C5C8;110B 1165 11BB;C5C8;110B 1165 11BB; +C5C9;C5C9;110B 1165 11BC;C5C9;110B 1165 11BC; +C5CA;C5CA;110B 1165 11BD;C5CA;110B 1165 11BD; +C5CB;C5CB;110B 1165 11BE;C5CB;110B 1165 11BE; +C5CC;C5CC;110B 1165 11BF;C5CC;110B 1165 11BF; +C5CD;C5CD;110B 1165 11C0;C5CD;110B 1165 11C0; +C5CE;C5CE;110B 1165 11C1;C5CE;110B 1165 11C1; +C5CF;C5CF;110B 1165 11C2;C5CF;110B 1165 11C2; +C5D0;C5D0;110B 1166;C5D0;110B 1166; +C5D1;C5D1;110B 1166 11A8;C5D1;110B 1166 11A8; +C5D2;C5D2;110B 1166 11A9;C5D2;110B 1166 11A9; +C5D3;C5D3;110B 1166 11AA;C5D3;110B 1166 11AA; +C5D4;C5D4;110B 1166 11AB;C5D4;110B 1166 11AB; +C5D5;C5D5;110B 1166 11AC;C5D5;110B 1166 11AC; +C5D6;C5D6;110B 1166 11AD;C5D6;110B 1166 11AD; +C5D7;C5D7;110B 1166 11AE;C5D7;110B 1166 11AE; +C5D8;C5D8;110B 1166 11AF;C5D8;110B 1166 11AF; +C5D9;C5D9;110B 1166 11B0;C5D9;110B 1166 11B0; +C5DA;C5DA;110B 1166 11B1;C5DA;110B 1166 11B1; +C5DB;C5DB;110B 1166 11B2;C5DB;110B 1166 11B2; +C5DC;C5DC;110B 1166 11B3;C5DC;110B 1166 11B3; +C5DD;C5DD;110B 1166 11B4;C5DD;110B 1166 11B4; +C5DE;C5DE;110B 1166 11B5;C5DE;110B 1166 11B5; +C5DF;C5DF;110B 1166 11B6;C5DF;110B 1166 11B6; +C5E0;C5E0;110B 1166 11B7;C5E0;110B 1166 11B7; +C5E1;C5E1;110B 1166 11B8;C5E1;110B 1166 11B8; +C5E2;C5E2;110B 1166 11B9;C5E2;110B 1166 11B9; +C5E3;C5E3;110B 1166 11BA;C5E3;110B 1166 11BA; +C5E4;C5E4;110B 1166 11BB;C5E4;110B 1166 11BB; +C5E5;C5E5;110B 1166 11BC;C5E5;110B 1166 11BC; +C5E6;C5E6;110B 1166 11BD;C5E6;110B 1166 11BD; +C5E7;C5E7;110B 1166 11BE;C5E7;110B 1166 11BE; +C5E8;C5E8;110B 1166 11BF;C5E8;110B 1166 11BF; +C5E9;C5E9;110B 1166 11C0;C5E9;110B 1166 11C0; +C5EA;C5EA;110B 1166 11C1;C5EA;110B 1166 11C1; +C5EB;C5EB;110B 1166 11C2;C5EB;110B 1166 11C2; +C5EC;C5EC;110B 1167;C5EC;110B 1167; +C5ED;C5ED;110B 1167 11A8;C5ED;110B 1167 11A8; +C5EE;C5EE;110B 1167 11A9;C5EE;110B 1167 11A9; +C5EF;C5EF;110B 1167 11AA;C5EF;110B 1167 11AA; +C5F0;C5F0;110B 1167 11AB;C5F0;110B 1167 11AB; +C5F1;C5F1;110B 1167 11AC;C5F1;110B 1167 11AC; +C5F2;C5F2;110B 1167 11AD;C5F2;110B 1167 11AD; +C5F3;C5F3;110B 1167 11AE;C5F3;110B 1167 11AE; +C5F4;C5F4;110B 1167 11AF;C5F4;110B 1167 11AF; +C5F5;C5F5;110B 1167 11B0;C5F5;110B 1167 11B0; +C5F6;C5F6;110B 1167 11B1;C5F6;110B 1167 11B1; +C5F7;C5F7;110B 1167 11B2;C5F7;110B 1167 11B2; +C5F8;C5F8;110B 1167 11B3;C5F8;110B 1167 11B3; +C5F9;C5F9;110B 1167 11B4;C5F9;110B 1167 11B4; +C5FA;C5FA;110B 1167 11B5;C5FA;110B 1167 11B5; +C5FB;C5FB;110B 1167 11B6;C5FB;110B 1167 11B6; +C5FC;C5FC;110B 1167 11B7;C5FC;110B 1167 11B7; +C5FD;C5FD;110B 1167 11B8;C5FD;110B 1167 11B8; +C5FE;C5FE;110B 1167 11B9;C5FE;110B 1167 11B9; +C5FF;C5FF;110B 1167 11BA;C5FF;110B 1167 11BA; +C600;C600;110B 1167 11BB;C600;110B 1167 11BB; +C601;C601;110B 1167 11BC;C601;110B 1167 11BC; +C602;C602;110B 1167 11BD;C602;110B 1167 11BD; +C603;C603;110B 1167 11BE;C603;110B 1167 11BE; +C604;C604;110B 1167 11BF;C604;110B 1167 11BF; +C605;C605;110B 1167 11C0;C605;110B 1167 11C0; +C606;C606;110B 1167 11C1;C606;110B 1167 11C1; +C607;C607;110B 1167 11C2;C607;110B 1167 11C2; +C608;C608;110B 1168;C608;110B 1168; +C609;C609;110B 1168 11A8;C609;110B 1168 11A8; +C60A;C60A;110B 1168 11A9;C60A;110B 1168 11A9; +C60B;C60B;110B 1168 11AA;C60B;110B 1168 11AA; +C60C;C60C;110B 1168 11AB;C60C;110B 1168 11AB; +C60D;C60D;110B 1168 11AC;C60D;110B 1168 11AC; +C60E;C60E;110B 1168 11AD;C60E;110B 1168 11AD; +C60F;C60F;110B 1168 11AE;C60F;110B 1168 11AE; +C610;C610;110B 1168 11AF;C610;110B 1168 11AF; +C611;C611;110B 1168 11B0;C611;110B 1168 11B0; +C612;C612;110B 1168 11B1;C612;110B 1168 11B1; +C613;C613;110B 1168 11B2;C613;110B 1168 11B2; +C614;C614;110B 1168 11B3;C614;110B 1168 11B3; +C615;C615;110B 1168 11B4;C615;110B 1168 11B4; +C616;C616;110B 1168 11B5;C616;110B 1168 11B5; +C617;C617;110B 1168 11B6;C617;110B 1168 11B6; +C618;C618;110B 1168 11B7;C618;110B 1168 11B7; +C619;C619;110B 1168 11B8;C619;110B 1168 11B8; +C61A;C61A;110B 1168 11B9;C61A;110B 1168 11B9; +C61B;C61B;110B 1168 11BA;C61B;110B 1168 11BA; +C61C;C61C;110B 1168 11BB;C61C;110B 1168 11BB; +C61D;C61D;110B 1168 11BC;C61D;110B 1168 11BC; +C61E;C61E;110B 1168 11BD;C61E;110B 1168 11BD; +C61F;C61F;110B 1168 11BE;C61F;110B 1168 11BE; +C620;C620;110B 1168 11BF;C620;110B 1168 11BF; +C621;C621;110B 1168 11C0;C621;110B 1168 11C0; +C622;C622;110B 1168 11C1;C622;110B 1168 11C1; +C623;C623;110B 1168 11C2;C623;110B 1168 11C2; +C624;C624;110B 1169;C624;110B 1169; +C625;C625;110B 1169 11A8;C625;110B 1169 11A8; +C626;C626;110B 1169 11A9;C626;110B 1169 11A9; +C627;C627;110B 1169 11AA;C627;110B 1169 11AA; +C628;C628;110B 1169 11AB;C628;110B 1169 11AB; +C629;C629;110B 1169 11AC;C629;110B 1169 11AC; +C62A;C62A;110B 1169 11AD;C62A;110B 1169 11AD; +C62B;C62B;110B 1169 11AE;C62B;110B 1169 11AE; +C62C;C62C;110B 1169 11AF;C62C;110B 1169 11AF; +C62D;C62D;110B 1169 11B0;C62D;110B 1169 11B0; +C62E;C62E;110B 1169 11B1;C62E;110B 1169 11B1; +C62F;C62F;110B 1169 11B2;C62F;110B 1169 11B2; +C630;C630;110B 1169 11B3;C630;110B 1169 11B3; +C631;C631;110B 1169 11B4;C631;110B 1169 11B4; +C632;C632;110B 1169 11B5;C632;110B 1169 11B5; +C633;C633;110B 1169 11B6;C633;110B 1169 11B6; +C634;C634;110B 1169 11B7;C634;110B 1169 11B7; +C635;C635;110B 1169 11B8;C635;110B 1169 11B8; +C636;C636;110B 1169 11B9;C636;110B 1169 11B9; +C637;C637;110B 1169 11BA;C637;110B 1169 11BA; +C638;C638;110B 1169 11BB;C638;110B 1169 11BB; +C639;C639;110B 1169 11BC;C639;110B 1169 11BC; +C63A;C63A;110B 1169 11BD;C63A;110B 1169 11BD; +C63B;C63B;110B 1169 11BE;C63B;110B 1169 11BE; +C63C;C63C;110B 1169 11BF;C63C;110B 1169 11BF; +C63D;C63D;110B 1169 11C0;C63D;110B 1169 11C0; +C63E;C63E;110B 1169 11C1;C63E;110B 1169 11C1; +C63F;C63F;110B 1169 11C2;C63F;110B 1169 11C2; +C640;C640;110B 116A;C640;110B 116A; +C641;C641;110B 116A 11A8;C641;110B 116A 11A8; +C642;C642;110B 116A 11A9;C642;110B 116A 11A9; +C643;C643;110B 116A 11AA;C643;110B 116A 11AA; +C644;C644;110B 116A 11AB;C644;110B 116A 11AB; +C645;C645;110B 116A 11AC;C645;110B 116A 11AC; +C646;C646;110B 116A 11AD;C646;110B 116A 11AD; +C647;C647;110B 116A 11AE;C647;110B 116A 11AE; +C648;C648;110B 116A 11AF;C648;110B 116A 11AF; +C649;C649;110B 116A 11B0;C649;110B 116A 11B0; +C64A;C64A;110B 116A 11B1;C64A;110B 116A 11B1; +C64B;C64B;110B 116A 11B2;C64B;110B 116A 11B2; +C64C;C64C;110B 116A 11B3;C64C;110B 116A 11B3; +C64D;C64D;110B 116A 11B4;C64D;110B 116A 11B4; +C64E;C64E;110B 116A 11B5;C64E;110B 116A 11B5; +C64F;C64F;110B 116A 11B6;C64F;110B 116A 11B6; +C650;C650;110B 116A 11B7;C650;110B 116A 11B7; +C651;C651;110B 116A 11B8;C651;110B 116A 11B8; +C652;C652;110B 116A 11B9;C652;110B 116A 11B9; +C653;C653;110B 116A 11BA;C653;110B 116A 11BA; +C654;C654;110B 116A 11BB;C654;110B 116A 11BB; +C655;C655;110B 116A 11BC;C655;110B 116A 11BC; +C656;C656;110B 116A 11BD;C656;110B 116A 11BD; +C657;C657;110B 116A 11BE;C657;110B 116A 11BE; +C658;C658;110B 116A 11BF;C658;110B 116A 11BF; +C659;C659;110B 116A 11C0;C659;110B 116A 11C0; +C65A;C65A;110B 116A 11C1;C65A;110B 116A 11C1; +C65B;C65B;110B 116A 11C2;C65B;110B 116A 11C2; +C65C;C65C;110B 116B;C65C;110B 116B; +C65D;C65D;110B 116B 11A8;C65D;110B 116B 11A8; +C65E;C65E;110B 116B 11A9;C65E;110B 116B 11A9; +C65F;C65F;110B 116B 11AA;C65F;110B 116B 11AA; +C660;C660;110B 116B 11AB;C660;110B 116B 11AB; +C661;C661;110B 116B 11AC;C661;110B 116B 11AC; +C662;C662;110B 116B 11AD;C662;110B 116B 11AD; +C663;C663;110B 116B 11AE;C663;110B 116B 11AE; +C664;C664;110B 116B 11AF;C664;110B 116B 11AF; +C665;C665;110B 116B 11B0;C665;110B 116B 11B0; +C666;C666;110B 116B 11B1;C666;110B 116B 11B1; +C667;C667;110B 116B 11B2;C667;110B 116B 11B2; +C668;C668;110B 116B 11B3;C668;110B 116B 11B3; +C669;C669;110B 116B 11B4;C669;110B 116B 11B4; +C66A;C66A;110B 116B 11B5;C66A;110B 116B 11B5; +C66B;C66B;110B 116B 11B6;C66B;110B 116B 11B6; +C66C;C66C;110B 116B 11B7;C66C;110B 116B 11B7; +C66D;C66D;110B 116B 11B8;C66D;110B 116B 11B8; +C66E;C66E;110B 116B 11B9;C66E;110B 116B 11B9; +C66F;C66F;110B 116B 11BA;C66F;110B 116B 11BA; +C670;C670;110B 116B 11BB;C670;110B 116B 11BB; +C671;C671;110B 116B 11BC;C671;110B 116B 11BC; +C672;C672;110B 116B 11BD;C672;110B 116B 11BD; +C673;C673;110B 116B 11BE;C673;110B 116B 11BE; +C674;C674;110B 116B 11BF;C674;110B 116B 11BF; +C675;C675;110B 116B 11C0;C675;110B 116B 11C0; +C676;C676;110B 116B 11C1;C676;110B 116B 11C1; +C677;C677;110B 116B 11C2;C677;110B 116B 11C2; +C678;C678;110B 116C;C678;110B 116C; +C679;C679;110B 116C 11A8;C679;110B 116C 11A8; +C67A;C67A;110B 116C 11A9;C67A;110B 116C 11A9; +C67B;C67B;110B 116C 11AA;C67B;110B 116C 11AA; +C67C;C67C;110B 116C 11AB;C67C;110B 116C 11AB; +C67D;C67D;110B 116C 11AC;C67D;110B 116C 11AC; +C67E;C67E;110B 116C 11AD;C67E;110B 116C 11AD; +C67F;C67F;110B 116C 11AE;C67F;110B 116C 11AE; +C680;C680;110B 116C 11AF;C680;110B 116C 11AF; +C681;C681;110B 116C 11B0;C681;110B 116C 11B0; +C682;C682;110B 116C 11B1;C682;110B 116C 11B1; +C683;C683;110B 116C 11B2;C683;110B 116C 11B2; +C684;C684;110B 116C 11B3;C684;110B 116C 11B3; +C685;C685;110B 116C 11B4;C685;110B 116C 11B4; +C686;C686;110B 116C 11B5;C686;110B 116C 11B5; +C687;C687;110B 116C 11B6;C687;110B 116C 11B6; +C688;C688;110B 116C 11B7;C688;110B 116C 11B7; +C689;C689;110B 116C 11B8;C689;110B 116C 11B8; +C68A;C68A;110B 116C 11B9;C68A;110B 116C 11B9; +C68B;C68B;110B 116C 11BA;C68B;110B 116C 11BA; +C68C;C68C;110B 116C 11BB;C68C;110B 116C 11BB; +C68D;C68D;110B 116C 11BC;C68D;110B 116C 11BC; +C68E;C68E;110B 116C 11BD;C68E;110B 116C 11BD; +C68F;C68F;110B 116C 11BE;C68F;110B 116C 11BE; +C690;C690;110B 116C 11BF;C690;110B 116C 11BF; +C691;C691;110B 116C 11C0;C691;110B 116C 11C0; +C692;C692;110B 116C 11C1;C692;110B 116C 11C1; +C693;C693;110B 116C 11C2;C693;110B 116C 11C2; +C694;C694;110B 116D;C694;110B 116D; +C695;C695;110B 116D 11A8;C695;110B 116D 11A8; +C696;C696;110B 116D 11A9;C696;110B 116D 11A9; +C697;C697;110B 116D 11AA;C697;110B 116D 11AA; +C698;C698;110B 116D 11AB;C698;110B 116D 11AB; +C699;C699;110B 116D 11AC;C699;110B 116D 11AC; +C69A;C69A;110B 116D 11AD;C69A;110B 116D 11AD; +C69B;C69B;110B 116D 11AE;C69B;110B 116D 11AE; +C69C;C69C;110B 116D 11AF;C69C;110B 116D 11AF; +C69D;C69D;110B 116D 11B0;C69D;110B 116D 11B0; +C69E;C69E;110B 116D 11B1;C69E;110B 116D 11B1; +C69F;C69F;110B 116D 11B2;C69F;110B 116D 11B2; +C6A0;C6A0;110B 116D 11B3;C6A0;110B 116D 11B3; +C6A1;C6A1;110B 116D 11B4;C6A1;110B 116D 11B4; +C6A2;C6A2;110B 116D 11B5;C6A2;110B 116D 11B5; +C6A3;C6A3;110B 116D 11B6;C6A3;110B 116D 11B6; +C6A4;C6A4;110B 116D 11B7;C6A4;110B 116D 11B7; +C6A5;C6A5;110B 116D 11B8;C6A5;110B 116D 11B8; +C6A6;C6A6;110B 116D 11B9;C6A6;110B 116D 11B9; +C6A7;C6A7;110B 116D 11BA;C6A7;110B 116D 11BA; +C6A8;C6A8;110B 116D 11BB;C6A8;110B 116D 11BB; +C6A9;C6A9;110B 116D 11BC;C6A9;110B 116D 11BC; +C6AA;C6AA;110B 116D 11BD;C6AA;110B 116D 11BD; +C6AB;C6AB;110B 116D 11BE;C6AB;110B 116D 11BE; +C6AC;C6AC;110B 116D 11BF;C6AC;110B 116D 11BF; +C6AD;C6AD;110B 116D 11C0;C6AD;110B 116D 11C0; +C6AE;C6AE;110B 116D 11C1;C6AE;110B 116D 11C1; +C6AF;C6AF;110B 116D 11C2;C6AF;110B 116D 11C2; +C6B0;C6B0;110B 116E;C6B0;110B 116E; +C6B1;C6B1;110B 116E 11A8;C6B1;110B 116E 11A8; +C6B2;C6B2;110B 116E 11A9;C6B2;110B 116E 11A9; +C6B3;C6B3;110B 116E 11AA;C6B3;110B 116E 11AA; +C6B4;C6B4;110B 116E 11AB;C6B4;110B 116E 11AB; +C6B5;C6B5;110B 116E 11AC;C6B5;110B 116E 11AC; +C6B6;C6B6;110B 116E 11AD;C6B6;110B 116E 11AD; +C6B7;C6B7;110B 116E 11AE;C6B7;110B 116E 11AE; +C6B8;C6B8;110B 116E 11AF;C6B8;110B 116E 11AF; +C6B9;C6B9;110B 116E 11B0;C6B9;110B 116E 11B0; +C6BA;C6BA;110B 116E 11B1;C6BA;110B 116E 11B1; +C6BB;C6BB;110B 116E 11B2;C6BB;110B 116E 11B2; +C6BC;C6BC;110B 116E 11B3;C6BC;110B 116E 11B3; +C6BD;C6BD;110B 116E 11B4;C6BD;110B 116E 11B4; +C6BE;C6BE;110B 116E 11B5;C6BE;110B 116E 11B5; +C6BF;C6BF;110B 116E 11B6;C6BF;110B 116E 11B6; +C6C0;C6C0;110B 116E 11B7;C6C0;110B 116E 11B7; +C6C1;C6C1;110B 116E 11B8;C6C1;110B 116E 11B8; +C6C2;C6C2;110B 116E 11B9;C6C2;110B 116E 11B9; +C6C3;C6C3;110B 116E 11BA;C6C3;110B 116E 11BA; +C6C4;C6C4;110B 116E 11BB;C6C4;110B 116E 11BB; +C6C5;C6C5;110B 116E 11BC;C6C5;110B 116E 11BC; +C6C6;C6C6;110B 116E 11BD;C6C6;110B 116E 11BD; +C6C7;C6C7;110B 116E 11BE;C6C7;110B 116E 11BE; +C6C8;C6C8;110B 116E 11BF;C6C8;110B 116E 11BF; +C6C9;C6C9;110B 116E 11C0;C6C9;110B 116E 11C0; +C6CA;C6CA;110B 116E 11C1;C6CA;110B 116E 11C1; +C6CB;C6CB;110B 116E 11C2;C6CB;110B 116E 11C2; +C6CC;C6CC;110B 116F;C6CC;110B 116F; +C6CD;C6CD;110B 116F 11A8;C6CD;110B 116F 11A8; +C6CE;C6CE;110B 116F 11A9;C6CE;110B 116F 11A9; +C6CF;C6CF;110B 116F 11AA;C6CF;110B 116F 11AA; +C6D0;C6D0;110B 116F 11AB;C6D0;110B 116F 11AB; +C6D1;C6D1;110B 116F 11AC;C6D1;110B 116F 11AC; +C6D2;C6D2;110B 116F 11AD;C6D2;110B 116F 11AD; +C6D3;C6D3;110B 116F 11AE;C6D3;110B 116F 11AE; +C6D4;C6D4;110B 116F 11AF;C6D4;110B 116F 11AF; +C6D5;C6D5;110B 116F 11B0;C6D5;110B 116F 11B0; +C6D6;C6D6;110B 116F 11B1;C6D6;110B 116F 11B1; +C6D7;C6D7;110B 116F 11B2;C6D7;110B 116F 11B2; +C6D8;C6D8;110B 116F 11B3;C6D8;110B 116F 11B3; +C6D9;C6D9;110B 116F 11B4;C6D9;110B 116F 11B4; +C6DA;C6DA;110B 116F 11B5;C6DA;110B 116F 11B5; +C6DB;C6DB;110B 116F 11B6;C6DB;110B 116F 11B6; +C6DC;C6DC;110B 116F 11B7;C6DC;110B 116F 11B7; +C6DD;C6DD;110B 116F 11B8;C6DD;110B 116F 11B8; +C6DE;C6DE;110B 116F 11B9;C6DE;110B 116F 11B9; +C6DF;C6DF;110B 116F 11BA;C6DF;110B 116F 11BA; +C6E0;C6E0;110B 116F 11BB;C6E0;110B 116F 11BB; +C6E1;C6E1;110B 116F 11BC;C6E1;110B 116F 11BC; +C6E2;C6E2;110B 116F 11BD;C6E2;110B 116F 11BD; +C6E3;C6E3;110B 116F 11BE;C6E3;110B 116F 11BE; +C6E4;C6E4;110B 116F 11BF;C6E4;110B 116F 11BF; +C6E5;C6E5;110B 116F 11C0;C6E5;110B 116F 11C0; +C6E6;C6E6;110B 116F 11C1;C6E6;110B 116F 11C1; +C6E7;C6E7;110B 116F 11C2;C6E7;110B 116F 11C2; +C6E8;C6E8;110B 1170;C6E8;110B 1170; +C6E9;C6E9;110B 1170 11A8;C6E9;110B 1170 11A8; +C6EA;C6EA;110B 1170 11A9;C6EA;110B 1170 11A9; +C6EB;C6EB;110B 1170 11AA;C6EB;110B 1170 11AA; +C6EC;C6EC;110B 1170 11AB;C6EC;110B 1170 11AB; +C6ED;C6ED;110B 1170 11AC;C6ED;110B 1170 11AC; +C6EE;C6EE;110B 1170 11AD;C6EE;110B 1170 11AD; +C6EF;C6EF;110B 1170 11AE;C6EF;110B 1170 11AE; +C6F0;C6F0;110B 1170 11AF;C6F0;110B 1170 11AF; +C6F1;C6F1;110B 1170 11B0;C6F1;110B 1170 11B0; +C6F2;C6F2;110B 1170 11B1;C6F2;110B 1170 11B1; +C6F3;C6F3;110B 1170 11B2;C6F3;110B 1170 11B2; +C6F4;C6F4;110B 1170 11B3;C6F4;110B 1170 11B3; +C6F5;C6F5;110B 1170 11B4;C6F5;110B 1170 11B4; +C6F6;C6F6;110B 1170 11B5;C6F6;110B 1170 11B5; +C6F7;C6F7;110B 1170 11B6;C6F7;110B 1170 11B6; +C6F8;C6F8;110B 1170 11B7;C6F8;110B 1170 11B7; +C6F9;C6F9;110B 1170 11B8;C6F9;110B 1170 11B8; +C6FA;C6FA;110B 1170 11B9;C6FA;110B 1170 11B9; +C6FB;C6FB;110B 1170 11BA;C6FB;110B 1170 11BA; +C6FC;C6FC;110B 1170 11BB;C6FC;110B 1170 11BB; +C6FD;C6FD;110B 1170 11BC;C6FD;110B 1170 11BC; +C6FE;C6FE;110B 1170 11BD;C6FE;110B 1170 11BD; +C6FF;C6FF;110B 1170 11BE;C6FF;110B 1170 11BE; +C700;C700;110B 1170 11BF;C700;110B 1170 11BF; +C701;C701;110B 1170 11C0;C701;110B 1170 11C0; +C702;C702;110B 1170 11C1;C702;110B 1170 11C1; +C703;C703;110B 1170 11C2;C703;110B 1170 11C2; +C704;C704;110B 1171;C704;110B 1171; +C705;C705;110B 1171 11A8;C705;110B 1171 11A8; +C706;C706;110B 1171 11A9;C706;110B 1171 11A9; +C707;C707;110B 1171 11AA;C707;110B 1171 11AA; +C708;C708;110B 1171 11AB;C708;110B 1171 11AB; +C709;C709;110B 1171 11AC;C709;110B 1171 11AC; +C70A;C70A;110B 1171 11AD;C70A;110B 1171 11AD; +C70B;C70B;110B 1171 11AE;C70B;110B 1171 11AE; +C70C;C70C;110B 1171 11AF;C70C;110B 1171 11AF; +C70D;C70D;110B 1171 11B0;C70D;110B 1171 11B0; +C70E;C70E;110B 1171 11B1;C70E;110B 1171 11B1; +C70F;C70F;110B 1171 11B2;C70F;110B 1171 11B2; +C710;C710;110B 1171 11B3;C710;110B 1171 11B3; +C711;C711;110B 1171 11B4;C711;110B 1171 11B4; +C712;C712;110B 1171 11B5;C712;110B 1171 11B5; +C713;C713;110B 1171 11B6;C713;110B 1171 11B6; +C714;C714;110B 1171 11B7;C714;110B 1171 11B7; +C715;C715;110B 1171 11B8;C715;110B 1171 11B8; +C716;C716;110B 1171 11B9;C716;110B 1171 11B9; +C717;C717;110B 1171 11BA;C717;110B 1171 11BA; +C718;C718;110B 1171 11BB;C718;110B 1171 11BB; +C719;C719;110B 1171 11BC;C719;110B 1171 11BC; +C71A;C71A;110B 1171 11BD;C71A;110B 1171 11BD; +C71B;C71B;110B 1171 11BE;C71B;110B 1171 11BE; +C71C;C71C;110B 1171 11BF;C71C;110B 1171 11BF; +C71D;C71D;110B 1171 11C0;C71D;110B 1171 11C0; +C71E;C71E;110B 1171 11C1;C71E;110B 1171 11C1; +C71F;C71F;110B 1171 11C2;C71F;110B 1171 11C2; +C720;C720;110B 1172;C720;110B 1172; +C721;C721;110B 1172 11A8;C721;110B 1172 11A8; +C722;C722;110B 1172 11A9;C722;110B 1172 11A9; +C723;C723;110B 1172 11AA;C723;110B 1172 11AA; +C724;C724;110B 1172 11AB;C724;110B 1172 11AB; +C725;C725;110B 1172 11AC;C725;110B 1172 11AC; +C726;C726;110B 1172 11AD;C726;110B 1172 11AD; +C727;C727;110B 1172 11AE;C727;110B 1172 11AE; +C728;C728;110B 1172 11AF;C728;110B 1172 11AF; +C729;C729;110B 1172 11B0;C729;110B 1172 11B0; +C72A;C72A;110B 1172 11B1;C72A;110B 1172 11B1; +C72B;C72B;110B 1172 11B2;C72B;110B 1172 11B2; +C72C;C72C;110B 1172 11B3;C72C;110B 1172 11B3; +C72D;C72D;110B 1172 11B4;C72D;110B 1172 11B4; +C72E;C72E;110B 1172 11B5;C72E;110B 1172 11B5; +C72F;C72F;110B 1172 11B6;C72F;110B 1172 11B6; +C730;C730;110B 1172 11B7;C730;110B 1172 11B7; +C731;C731;110B 1172 11B8;C731;110B 1172 11B8; +C732;C732;110B 1172 11B9;C732;110B 1172 11B9; +C733;C733;110B 1172 11BA;C733;110B 1172 11BA; +C734;C734;110B 1172 11BB;C734;110B 1172 11BB; +C735;C735;110B 1172 11BC;C735;110B 1172 11BC; +C736;C736;110B 1172 11BD;C736;110B 1172 11BD; +C737;C737;110B 1172 11BE;C737;110B 1172 11BE; +C738;C738;110B 1172 11BF;C738;110B 1172 11BF; +C739;C739;110B 1172 11C0;C739;110B 1172 11C0; +C73A;C73A;110B 1172 11C1;C73A;110B 1172 11C1; +C73B;C73B;110B 1172 11C2;C73B;110B 1172 11C2; +C73C;C73C;110B 1173;C73C;110B 1173; +C73D;C73D;110B 1173 11A8;C73D;110B 1173 11A8; +C73E;C73E;110B 1173 11A9;C73E;110B 1173 11A9; +C73F;C73F;110B 1173 11AA;C73F;110B 1173 11AA; +C740;C740;110B 1173 11AB;C740;110B 1173 11AB; +C741;C741;110B 1173 11AC;C741;110B 1173 11AC; +C742;C742;110B 1173 11AD;C742;110B 1173 11AD; +C743;C743;110B 1173 11AE;C743;110B 1173 11AE; +C744;C744;110B 1173 11AF;C744;110B 1173 11AF; +C745;C745;110B 1173 11B0;C745;110B 1173 11B0; +C746;C746;110B 1173 11B1;C746;110B 1173 11B1; +C747;C747;110B 1173 11B2;C747;110B 1173 11B2; +C748;C748;110B 1173 11B3;C748;110B 1173 11B3; +C749;C749;110B 1173 11B4;C749;110B 1173 11B4; +C74A;C74A;110B 1173 11B5;C74A;110B 1173 11B5; +C74B;C74B;110B 1173 11B6;C74B;110B 1173 11B6; +C74C;C74C;110B 1173 11B7;C74C;110B 1173 11B7; +C74D;C74D;110B 1173 11B8;C74D;110B 1173 11B8; +C74E;C74E;110B 1173 11B9;C74E;110B 1173 11B9; +C74F;C74F;110B 1173 11BA;C74F;110B 1173 11BA; +C750;C750;110B 1173 11BB;C750;110B 1173 11BB; +C751;C751;110B 1173 11BC;C751;110B 1173 11BC; +C752;C752;110B 1173 11BD;C752;110B 1173 11BD; +C753;C753;110B 1173 11BE;C753;110B 1173 11BE; +C754;C754;110B 1173 11BF;C754;110B 1173 11BF; +C755;C755;110B 1173 11C0;C755;110B 1173 11C0; +C756;C756;110B 1173 11C1;C756;110B 1173 11C1; +C757;C757;110B 1173 11C2;C757;110B 1173 11C2; +C758;C758;110B 1174;C758;110B 1174; +C759;C759;110B 1174 11A8;C759;110B 1174 11A8; +C75A;C75A;110B 1174 11A9;C75A;110B 1174 11A9; +C75B;C75B;110B 1174 11AA;C75B;110B 1174 11AA; +C75C;C75C;110B 1174 11AB;C75C;110B 1174 11AB; +C75D;C75D;110B 1174 11AC;C75D;110B 1174 11AC; +C75E;C75E;110B 1174 11AD;C75E;110B 1174 11AD; +C75F;C75F;110B 1174 11AE;C75F;110B 1174 11AE; +C760;C760;110B 1174 11AF;C760;110B 1174 11AF; +C761;C761;110B 1174 11B0;C761;110B 1174 11B0; +C762;C762;110B 1174 11B1;C762;110B 1174 11B1; +C763;C763;110B 1174 11B2;C763;110B 1174 11B2; +C764;C764;110B 1174 11B3;C764;110B 1174 11B3; +C765;C765;110B 1174 11B4;C765;110B 1174 11B4; +C766;C766;110B 1174 11B5;C766;110B 1174 11B5; +C767;C767;110B 1174 11B6;C767;110B 1174 11B6; +C768;C768;110B 1174 11B7;C768;110B 1174 11B7; +C769;C769;110B 1174 11B8;C769;110B 1174 11B8; +C76A;C76A;110B 1174 11B9;C76A;110B 1174 11B9; +C76B;C76B;110B 1174 11BA;C76B;110B 1174 11BA; +C76C;C76C;110B 1174 11BB;C76C;110B 1174 11BB; +C76D;C76D;110B 1174 11BC;C76D;110B 1174 11BC; +C76E;C76E;110B 1174 11BD;C76E;110B 1174 11BD; +C76F;C76F;110B 1174 11BE;C76F;110B 1174 11BE; +C770;C770;110B 1174 11BF;C770;110B 1174 11BF; +C771;C771;110B 1174 11C0;C771;110B 1174 11C0; +C772;C772;110B 1174 11C1;C772;110B 1174 11C1; +C773;C773;110B 1174 11C2;C773;110B 1174 11C2; +C774;C774;110B 1175;C774;110B 1175; +C775;C775;110B 1175 11A8;C775;110B 1175 11A8; +C776;C776;110B 1175 11A9;C776;110B 1175 11A9; +C777;C777;110B 1175 11AA;C777;110B 1175 11AA; +C778;C778;110B 1175 11AB;C778;110B 1175 11AB; +C779;C779;110B 1175 11AC;C779;110B 1175 11AC; +C77A;C77A;110B 1175 11AD;C77A;110B 1175 11AD; +C77B;C77B;110B 1175 11AE;C77B;110B 1175 11AE; +C77C;C77C;110B 1175 11AF;C77C;110B 1175 11AF; +C77D;C77D;110B 1175 11B0;C77D;110B 1175 11B0; +C77E;C77E;110B 1175 11B1;C77E;110B 1175 11B1; +C77F;C77F;110B 1175 11B2;C77F;110B 1175 11B2; +C780;C780;110B 1175 11B3;C780;110B 1175 11B3; +C781;C781;110B 1175 11B4;C781;110B 1175 11B4; +C782;C782;110B 1175 11B5;C782;110B 1175 11B5; +C783;C783;110B 1175 11B6;C783;110B 1175 11B6; +C784;C784;110B 1175 11B7;C784;110B 1175 11B7; +C785;C785;110B 1175 11B8;C785;110B 1175 11B8; +C786;C786;110B 1175 11B9;C786;110B 1175 11B9; +C787;C787;110B 1175 11BA;C787;110B 1175 11BA; +C788;C788;110B 1175 11BB;C788;110B 1175 11BB; +C789;C789;110B 1175 11BC;C789;110B 1175 11BC; +C78A;C78A;110B 1175 11BD;C78A;110B 1175 11BD; +C78B;C78B;110B 1175 11BE;C78B;110B 1175 11BE; +C78C;C78C;110B 1175 11BF;C78C;110B 1175 11BF; +C78D;C78D;110B 1175 11C0;C78D;110B 1175 11C0; +C78E;C78E;110B 1175 11C1;C78E;110B 1175 11C1; +C78F;C78F;110B 1175 11C2;C78F;110B 1175 11C2; +C790;C790;110C 1161;C790;110C 1161; +C791;C791;110C 1161 11A8;C791;110C 1161 11A8; +C792;C792;110C 1161 11A9;C792;110C 1161 11A9; +C793;C793;110C 1161 11AA;C793;110C 1161 11AA; +C794;C794;110C 1161 11AB;C794;110C 1161 11AB; +C795;C795;110C 1161 11AC;C795;110C 1161 11AC; +C796;C796;110C 1161 11AD;C796;110C 1161 11AD; +C797;C797;110C 1161 11AE;C797;110C 1161 11AE; +C798;C798;110C 1161 11AF;C798;110C 1161 11AF; +C799;C799;110C 1161 11B0;C799;110C 1161 11B0; +C79A;C79A;110C 1161 11B1;C79A;110C 1161 11B1; +C79B;C79B;110C 1161 11B2;C79B;110C 1161 11B2; +C79C;C79C;110C 1161 11B3;C79C;110C 1161 11B3; +C79D;C79D;110C 1161 11B4;C79D;110C 1161 11B4; +C79E;C79E;110C 1161 11B5;C79E;110C 1161 11B5; +C79F;C79F;110C 1161 11B6;C79F;110C 1161 11B6; +C7A0;C7A0;110C 1161 11B7;C7A0;110C 1161 11B7; +C7A1;C7A1;110C 1161 11B8;C7A1;110C 1161 11B8; +C7A2;C7A2;110C 1161 11B9;C7A2;110C 1161 11B9; +C7A3;C7A3;110C 1161 11BA;C7A3;110C 1161 11BA; +C7A4;C7A4;110C 1161 11BB;C7A4;110C 1161 11BB; +C7A5;C7A5;110C 1161 11BC;C7A5;110C 1161 11BC; +C7A6;C7A6;110C 1161 11BD;C7A6;110C 1161 11BD; +C7A7;C7A7;110C 1161 11BE;C7A7;110C 1161 11BE; +C7A8;C7A8;110C 1161 11BF;C7A8;110C 1161 11BF; +C7A9;C7A9;110C 1161 11C0;C7A9;110C 1161 11C0; +C7AA;C7AA;110C 1161 11C1;C7AA;110C 1161 11C1; +C7AB;C7AB;110C 1161 11C2;C7AB;110C 1161 11C2; +C7AC;C7AC;110C 1162;C7AC;110C 1162; +C7AD;C7AD;110C 1162 11A8;C7AD;110C 1162 11A8; +C7AE;C7AE;110C 1162 11A9;C7AE;110C 1162 11A9; +C7AF;C7AF;110C 1162 11AA;C7AF;110C 1162 11AA; +C7B0;C7B0;110C 1162 11AB;C7B0;110C 1162 11AB; +C7B1;C7B1;110C 1162 11AC;C7B1;110C 1162 11AC; +C7B2;C7B2;110C 1162 11AD;C7B2;110C 1162 11AD; +C7B3;C7B3;110C 1162 11AE;C7B3;110C 1162 11AE; +C7B4;C7B4;110C 1162 11AF;C7B4;110C 1162 11AF; +C7B5;C7B5;110C 1162 11B0;C7B5;110C 1162 11B0; +C7B6;C7B6;110C 1162 11B1;C7B6;110C 1162 11B1; +C7B7;C7B7;110C 1162 11B2;C7B7;110C 1162 11B2; +C7B8;C7B8;110C 1162 11B3;C7B8;110C 1162 11B3; +C7B9;C7B9;110C 1162 11B4;C7B9;110C 1162 11B4; +C7BA;C7BA;110C 1162 11B5;C7BA;110C 1162 11B5; +C7BB;C7BB;110C 1162 11B6;C7BB;110C 1162 11B6; +C7BC;C7BC;110C 1162 11B7;C7BC;110C 1162 11B7; +C7BD;C7BD;110C 1162 11B8;C7BD;110C 1162 11B8; +C7BE;C7BE;110C 1162 11B9;C7BE;110C 1162 11B9; +C7BF;C7BF;110C 1162 11BA;C7BF;110C 1162 11BA; +C7C0;C7C0;110C 1162 11BB;C7C0;110C 1162 11BB; +C7C1;C7C1;110C 1162 11BC;C7C1;110C 1162 11BC; +C7C2;C7C2;110C 1162 11BD;C7C2;110C 1162 11BD; +C7C3;C7C3;110C 1162 11BE;C7C3;110C 1162 11BE; +C7C4;C7C4;110C 1162 11BF;C7C4;110C 1162 11BF; +C7C5;C7C5;110C 1162 11C0;C7C5;110C 1162 11C0; +C7C6;C7C6;110C 1162 11C1;C7C6;110C 1162 11C1; +C7C7;C7C7;110C 1162 11C2;C7C7;110C 1162 11C2; +C7C8;C7C8;110C 1163;C7C8;110C 1163; +C7C9;C7C9;110C 1163 11A8;C7C9;110C 1163 11A8; +C7CA;C7CA;110C 1163 11A9;C7CA;110C 1163 11A9; +C7CB;C7CB;110C 1163 11AA;C7CB;110C 1163 11AA; +C7CC;C7CC;110C 1163 11AB;C7CC;110C 1163 11AB; +C7CD;C7CD;110C 1163 11AC;C7CD;110C 1163 11AC; +C7CE;C7CE;110C 1163 11AD;C7CE;110C 1163 11AD; +C7CF;C7CF;110C 1163 11AE;C7CF;110C 1163 11AE; +C7D0;C7D0;110C 1163 11AF;C7D0;110C 1163 11AF; +C7D1;C7D1;110C 1163 11B0;C7D1;110C 1163 11B0; +C7D2;C7D2;110C 1163 11B1;C7D2;110C 1163 11B1; +C7D3;C7D3;110C 1163 11B2;C7D3;110C 1163 11B2; +C7D4;C7D4;110C 1163 11B3;C7D4;110C 1163 11B3; +C7D5;C7D5;110C 1163 11B4;C7D5;110C 1163 11B4; +C7D6;C7D6;110C 1163 11B5;C7D6;110C 1163 11B5; +C7D7;C7D7;110C 1163 11B6;C7D7;110C 1163 11B6; +C7D8;C7D8;110C 1163 11B7;C7D8;110C 1163 11B7; +C7D9;C7D9;110C 1163 11B8;C7D9;110C 1163 11B8; +C7DA;C7DA;110C 1163 11B9;C7DA;110C 1163 11B9; +C7DB;C7DB;110C 1163 11BA;C7DB;110C 1163 11BA; +C7DC;C7DC;110C 1163 11BB;C7DC;110C 1163 11BB; +C7DD;C7DD;110C 1163 11BC;C7DD;110C 1163 11BC; +C7DE;C7DE;110C 1163 11BD;C7DE;110C 1163 11BD; +C7DF;C7DF;110C 1163 11BE;C7DF;110C 1163 11BE; +C7E0;C7E0;110C 1163 11BF;C7E0;110C 1163 11BF; +C7E1;C7E1;110C 1163 11C0;C7E1;110C 1163 11C0; +C7E2;C7E2;110C 1163 11C1;C7E2;110C 1163 11C1; +C7E3;C7E3;110C 1163 11C2;C7E3;110C 1163 11C2; +C7E4;C7E4;110C 1164;C7E4;110C 1164; +C7E5;C7E5;110C 1164 11A8;C7E5;110C 1164 11A8; +C7E6;C7E6;110C 1164 11A9;C7E6;110C 1164 11A9; +C7E7;C7E7;110C 1164 11AA;C7E7;110C 1164 11AA; +C7E8;C7E8;110C 1164 11AB;C7E8;110C 1164 11AB; +C7E9;C7E9;110C 1164 11AC;C7E9;110C 1164 11AC; +C7EA;C7EA;110C 1164 11AD;C7EA;110C 1164 11AD; +C7EB;C7EB;110C 1164 11AE;C7EB;110C 1164 11AE; +C7EC;C7EC;110C 1164 11AF;C7EC;110C 1164 11AF; +C7ED;C7ED;110C 1164 11B0;C7ED;110C 1164 11B0; +C7EE;C7EE;110C 1164 11B1;C7EE;110C 1164 11B1; +C7EF;C7EF;110C 1164 11B2;C7EF;110C 1164 11B2; +C7F0;C7F0;110C 1164 11B3;C7F0;110C 1164 11B3; +C7F1;C7F1;110C 1164 11B4;C7F1;110C 1164 11B4; +C7F2;C7F2;110C 1164 11B5;C7F2;110C 1164 11B5; +C7F3;C7F3;110C 1164 11B6;C7F3;110C 1164 11B6; +C7F4;C7F4;110C 1164 11B7;C7F4;110C 1164 11B7; +C7F5;C7F5;110C 1164 11B8;C7F5;110C 1164 11B8; +C7F6;C7F6;110C 1164 11B9;C7F6;110C 1164 11B9; +C7F7;C7F7;110C 1164 11BA;C7F7;110C 1164 11BA; +C7F8;C7F8;110C 1164 11BB;C7F8;110C 1164 11BB; +C7F9;C7F9;110C 1164 11BC;C7F9;110C 1164 11BC; +C7FA;C7FA;110C 1164 11BD;C7FA;110C 1164 11BD; +C7FB;C7FB;110C 1164 11BE;C7FB;110C 1164 11BE; +C7FC;C7FC;110C 1164 11BF;C7FC;110C 1164 11BF; +C7FD;C7FD;110C 1164 11C0;C7FD;110C 1164 11C0; +C7FE;C7FE;110C 1164 11C1;C7FE;110C 1164 11C1; +C7FF;C7FF;110C 1164 11C2;C7FF;110C 1164 11C2; +C800;C800;110C 1165;C800;110C 1165; +C801;C801;110C 1165 11A8;C801;110C 1165 11A8; +C802;C802;110C 1165 11A9;C802;110C 1165 11A9; +C803;C803;110C 1165 11AA;C803;110C 1165 11AA; +C804;C804;110C 1165 11AB;C804;110C 1165 11AB; +C805;C805;110C 1165 11AC;C805;110C 1165 11AC; +C806;C806;110C 1165 11AD;C806;110C 1165 11AD; +C807;C807;110C 1165 11AE;C807;110C 1165 11AE; +C808;C808;110C 1165 11AF;C808;110C 1165 11AF; +C809;C809;110C 1165 11B0;C809;110C 1165 11B0; +C80A;C80A;110C 1165 11B1;C80A;110C 1165 11B1; +C80B;C80B;110C 1165 11B2;C80B;110C 1165 11B2; +C80C;C80C;110C 1165 11B3;C80C;110C 1165 11B3; +C80D;C80D;110C 1165 11B4;C80D;110C 1165 11B4; +C80E;C80E;110C 1165 11B5;C80E;110C 1165 11B5; +C80F;C80F;110C 1165 11B6;C80F;110C 1165 11B6; +C810;C810;110C 1165 11B7;C810;110C 1165 11B7; +C811;C811;110C 1165 11B8;C811;110C 1165 11B8; +C812;C812;110C 1165 11B9;C812;110C 1165 11B9; +C813;C813;110C 1165 11BA;C813;110C 1165 11BA; +C814;C814;110C 1165 11BB;C814;110C 1165 11BB; +C815;C815;110C 1165 11BC;C815;110C 1165 11BC; +C816;C816;110C 1165 11BD;C816;110C 1165 11BD; +C817;C817;110C 1165 11BE;C817;110C 1165 11BE; +C818;C818;110C 1165 11BF;C818;110C 1165 11BF; +C819;C819;110C 1165 11C0;C819;110C 1165 11C0; +C81A;C81A;110C 1165 11C1;C81A;110C 1165 11C1; +C81B;C81B;110C 1165 11C2;C81B;110C 1165 11C2; +C81C;C81C;110C 1166;C81C;110C 1166; +C81D;C81D;110C 1166 11A8;C81D;110C 1166 11A8; +C81E;C81E;110C 1166 11A9;C81E;110C 1166 11A9; +C81F;C81F;110C 1166 11AA;C81F;110C 1166 11AA; +C820;C820;110C 1166 11AB;C820;110C 1166 11AB; +C821;C821;110C 1166 11AC;C821;110C 1166 11AC; +C822;C822;110C 1166 11AD;C822;110C 1166 11AD; +C823;C823;110C 1166 11AE;C823;110C 1166 11AE; +C824;C824;110C 1166 11AF;C824;110C 1166 11AF; +C825;C825;110C 1166 11B0;C825;110C 1166 11B0; +C826;C826;110C 1166 11B1;C826;110C 1166 11B1; +C827;C827;110C 1166 11B2;C827;110C 1166 11B2; +C828;C828;110C 1166 11B3;C828;110C 1166 11B3; +C829;C829;110C 1166 11B4;C829;110C 1166 11B4; +C82A;C82A;110C 1166 11B5;C82A;110C 1166 11B5; +C82B;C82B;110C 1166 11B6;C82B;110C 1166 11B6; +C82C;C82C;110C 1166 11B7;C82C;110C 1166 11B7; +C82D;C82D;110C 1166 11B8;C82D;110C 1166 11B8; +C82E;C82E;110C 1166 11B9;C82E;110C 1166 11B9; +C82F;C82F;110C 1166 11BA;C82F;110C 1166 11BA; +C830;C830;110C 1166 11BB;C830;110C 1166 11BB; +C831;C831;110C 1166 11BC;C831;110C 1166 11BC; +C832;C832;110C 1166 11BD;C832;110C 1166 11BD; +C833;C833;110C 1166 11BE;C833;110C 1166 11BE; +C834;C834;110C 1166 11BF;C834;110C 1166 11BF; +C835;C835;110C 1166 11C0;C835;110C 1166 11C0; +C836;C836;110C 1166 11C1;C836;110C 1166 11C1; +C837;C837;110C 1166 11C2;C837;110C 1166 11C2; +C838;C838;110C 1167;C838;110C 1167; +C839;C839;110C 1167 11A8;C839;110C 1167 11A8; +C83A;C83A;110C 1167 11A9;C83A;110C 1167 11A9; +C83B;C83B;110C 1167 11AA;C83B;110C 1167 11AA; +C83C;C83C;110C 1167 11AB;C83C;110C 1167 11AB; +C83D;C83D;110C 1167 11AC;C83D;110C 1167 11AC; +C83E;C83E;110C 1167 11AD;C83E;110C 1167 11AD; +C83F;C83F;110C 1167 11AE;C83F;110C 1167 11AE; +C840;C840;110C 1167 11AF;C840;110C 1167 11AF; +C841;C841;110C 1167 11B0;C841;110C 1167 11B0; +C842;C842;110C 1167 11B1;C842;110C 1167 11B1; +C843;C843;110C 1167 11B2;C843;110C 1167 11B2; +C844;C844;110C 1167 11B3;C844;110C 1167 11B3; +C845;C845;110C 1167 11B4;C845;110C 1167 11B4; +C846;C846;110C 1167 11B5;C846;110C 1167 11B5; +C847;C847;110C 1167 11B6;C847;110C 1167 11B6; +C848;C848;110C 1167 11B7;C848;110C 1167 11B7; +C849;C849;110C 1167 11B8;C849;110C 1167 11B8; +C84A;C84A;110C 1167 11B9;C84A;110C 1167 11B9; +C84B;C84B;110C 1167 11BA;C84B;110C 1167 11BA; +C84C;C84C;110C 1167 11BB;C84C;110C 1167 11BB; +C84D;C84D;110C 1167 11BC;C84D;110C 1167 11BC; +C84E;C84E;110C 1167 11BD;C84E;110C 1167 11BD; +C84F;C84F;110C 1167 11BE;C84F;110C 1167 11BE; +C850;C850;110C 1167 11BF;C850;110C 1167 11BF; +C851;C851;110C 1167 11C0;C851;110C 1167 11C0; +C852;C852;110C 1167 11C1;C852;110C 1167 11C1; +C853;C853;110C 1167 11C2;C853;110C 1167 11C2; +C854;C854;110C 1168;C854;110C 1168; +C855;C855;110C 1168 11A8;C855;110C 1168 11A8; +C856;C856;110C 1168 11A9;C856;110C 1168 11A9; +C857;C857;110C 1168 11AA;C857;110C 1168 11AA; +C858;C858;110C 1168 11AB;C858;110C 1168 11AB; +C859;C859;110C 1168 11AC;C859;110C 1168 11AC; +C85A;C85A;110C 1168 11AD;C85A;110C 1168 11AD; +C85B;C85B;110C 1168 11AE;C85B;110C 1168 11AE; +C85C;C85C;110C 1168 11AF;C85C;110C 1168 11AF; +C85D;C85D;110C 1168 11B0;C85D;110C 1168 11B0; +C85E;C85E;110C 1168 11B1;C85E;110C 1168 11B1; +C85F;C85F;110C 1168 11B2;C85F;110C 1168 11B2; +C860;C860;110C 1168 11B3;C860;110C 1168 11B3; +C861;C861;110C 1168 11B4;C861;110C 1168 11B4; +C862;C862;110C 1168 11B5;C862;110C 1168 11B5; +C863;C863;110C 1168 11B6;C863;110C 1168 11B6; +C864;C864;110C 1168 11B7;C864;110C 1168 11B7; +C865;C865;110C 1168 11B8;C865;110C 1168 11B8; +C866;C866;110C 1168 11B9;C866;110C 1168 11B9; +C867;C867;110C 1168 11BA;C867;110C 1168 11BA; +C868;C868;110C 1168 11BB;C868;110C 1168 11BB; +C869;C869;110C 1168 11BC;C869;110C 1168 11BC; +C86A;C86A;110C 1168 11BD;C86A;110C 1168 11BD; +C86B;C86B;110C 1168 11BE;C86B;110C 1168 11BE; +C86C;C86C;110C 1168 11BF;C86C;110C 1168 11BF; +C86D;C86D;110C 1168 11C0;C86D;110C 1168 11C0; +C86E;C86E;110C 1168 11C1;C86E;110C 1168 11C1; +C86F;C86F;110C 1168 11C2;C86F;110C 1168 11C2; +C870;C870;110C 1169;C870;110C 1169; +C871;C871;110C 1169 11A8;C871;110C 1169 11A8; +C872;C872;110C 1169 11A9;C872;110C 1169 11A9; +C873;C873;110C 1169 11AA;C873;110C 1169 11AA; +C874;C874;110C 1169 11AB;C874;110C 1169 11AB; +C875;C875;110C 1169 11AC;C875;110C 1169 11AC; +C876;C876;110C 1169 11AD;C876;110C 1169 11AD; +C877;C877;110C 1169 11AE;C877;110C 1169 11AE; +C878;C878;110C 1169 11AF;C878;110C 1169 11AF; +C879;C879;110C 1169 11B0;C879;110C 1169 11B0; +C87A;C87A;110C 1169 11B1;C87A;110C 1169 11B1; +C87B;C87B;110C 1169 11B2;C87B;110C 1169 11B2; +C87C;C87C;110C 1169 11B3;C87C;110C 1169 11B3; +C87D;C87D;110C 1169 11B4;C87D;110C 1169 11B4; +C87E;C87E;110C 1169 11B5;C87E;110C 1169 11B5; +C87F;C87F;110C 1169 11B6;C87F;110C 1169 11B6; +C880;C880;110C 1169 11B7;C880;110C 1169 11B7; +C881;C881;110C 1169 11B8;C881;110C 1169 11B8; +C882;C882;110C 1169 11B9;C882;110C 1169 11B9; +C883;C883;110C 1169 11BA;C883;110C 1169 11BA; +C884;C884;110C 1169 11BB;C884;110C 1169 11BB; +C885;C885;110C 1169 11BC;C885;110C 1169 11BC; +C886;C886;110C 1169 11BD;C886;110C 1169 11BD; +C887;C887;110C 1169 11BE;C887;110C 1169 11BE; +C888;C888;110C 1169 11BF;C888;110C 1169 11BF; +C889;C889;110C 1169 11C0;C889;110C 1169 11C0; +C88A;C88A;110C 1169 11C1;C88A;110C 1169 11C1; +C88B;C88B;110C 1169 11C2;C88B;110C 1169 11C2; +C88C;C88C;110C 116A;C88C;110C 116A; +C88D;C88D;110C 116A 11A8;C88D;110C 116A 11A8; +C88E;C88E;110C 116A 11A9;C88E;110C 116A 11A9; +C88F;C88F;110C 116A 11AA;C88F;110C 116A 11AA; +C890;C890;110C 116A 11AB;C890;110C 116A 11AB; +C891;C891;110C 116A 11AC;C891;110C 116A 11AC; +C892;C892;110C 116A 11AD;C892;110C 116A 11AD; +C893;C893;110C 116A 11AE;C893;110C 116A 11AE; +C894;C894;110C 116A 11AF;C894;110C 116A 11AF; +C895;C895;110C 116A 11B0;C895;110C 116A 11B0; +C896;C896;110C 116A 11B1;C896;110C 116A 11B1; +C897;C897;110C 116A 11B2;C897;110C 116A 11B2; +C898;C898;110C 116A 11B3;C898;110C 116A 11B3; +C899;C899;110C 116A 11B4;C899;110C 116A 11B4; +C89A;C89A;110C 116A 11B5;C89A;110C 116A 11B5; +C89B;C89B;110C 116A 11B6;C89B;110C 116A 11B6; +C89C;C89C;110C 116A 11B7;C89C;110C 116A 11B7; +C89D;C89D;110C 116A 11B8;C89D;110C 116A 11B8; +C89E;C89E;110C 116A 11B9;C89E;110C 116A 11B9; +C89F;C89F;110C 116A 11BA;C89F;110C 116A 11BA; +C8A0;C8A0;110C 116A 11BB;C8A0;110C 116A 11BB; +C8A1;C8A1;110C 116A 11BC;C8A1;110C 116A 11BC; +C8A2;C8A2;110C 116A 11BD;C8A2;110C 116A 11BD; +C8A3;C8A3;110C 116A 11BE;C8A3;110C 116A 11BE; +C8A4;C8A4;110C 116A 11BF;C8A4;110C 116A 11BF; +C8A5;C8A5;110C 116A 11C0;C8A5;110C 116A 11C0; +C8A6;C8A6;110C 116A 11C1;C8A6;110C 116A 11C1; +C8A7;C8A7;110C 116A 11C2;C8A7;110C 116A 11C2; +C8A8;C8A8;110C 116B;C8A8;110C 116B; +C8A9;C8A9;110C 116B 11A8;C8A9;110C 116B 11A8; +C8AA;C8AA;110C 116B 11A9;C8AA;110C 116B 11A9; +C8AB;C8AB;110C 116B 11AA;C8AB;110C 116B 11AA; +C8AC;C8AC;110C 116B 11AB;C8AC;110C 116B 11AB; +C8AD;C8AD;110C 116B 11AC;C8AD;110C 116B 11AC; +C8AE;C8AE;110C 116B 11AD;C8AE;110C 116B 11AD; +C8AF;C8AF;110C 116B 11AE;C8AF;110C 116B 11AE; +C8B0;C8B0;110C 116B 11AF;C8B0;110C 116B 11AF; +C8B1;C8B1;110C 116B 11B0;C8B1;110C 116B 11B0; +C8B2;C8B2;110C 116B 11B1;C8B2;110C 116B 11B1; +C8B3;C8B3;110C 116B 11B2;C8B3;110C 116B 11B2; +C8B4;C8B4;110C 116B 11B3;C8B4;110C 116B 11B3; +C8B5;C8B5;110C 116B 11B4;C8B5;110C 116B 11B4; +C8B6;C8B6;110C 116B 11B5;C8B6;110C 116B 11B5; +C8B7;C8B7;110C 116B 11B6;C8B7;110C 116B 11B6; +C8B8;C8B8;110C 116B 11B7;C8B8;110C 116B 11B7; +C8B9;C8B9;110C 116B 11B8;C8B9;110C 116B 11B8; +C8BA;C8BA;110C 116B 11B9;C8BA;110C 116B 11B9; +C8BB;C8BB;110C 116B 11BA;C8BB;110C 116B 11BA; +C8BC;C8BC;110C 116B 11BB;C8BC;110C 116B 11BB; +C8BD;C8BD;110C 116B 11BC;C8BD;110C 116B 11BC; +C8BE;C8BE;110C 116B 11BD;C8BE;110C 116B 11BD; +C8BF;C8BF;110C 116B 11BE;C8BF;110C 116B 11BE; +C8C0;C8C0;110C 116B 11BF;C8C0;110C 116B 11BF; +C8C1;C8C1;110C 116B 11C0;C8C1;110C 116B 11C0; +C8C2;C8C2;110C 116B 11C1;C8C2;110C 116B 11C1; +C8C3;C8C3;110C 116B 11C2;C8C3;110C 116B 11C2; +C8C4;C8C4;110C 116C;C8C4;110C 116C; +C8C5;C8C5;110C 116C 11A8;C8C5;110C 116C 11A8; +C8C6;C8C6;110C 116C 11A9;C8C6;110C 116C 11A9; +C8C7;C8C7;110C 116C 11AA;C8C7;110C 116C 11AA; +C8C8;C8C8;110C 116C 11AB;C8C8;110C 116C 11AB; +C8C9;C8C9;110C 116C 11AC;C8C9;110C 116C 11AC; +C8CA;C8CA;110C 116C 11AD;C8CA;110C 116C 11AD; +C8CB;C8CB;110C 116C 11AE;C8CB;110C 116C 11AE; +C8CC;C8CC;110C 116C 11AF;C8CC;110C 116C 11AF; +C8CD;C8CD;110C 116C 11B0;C8CD;110C 116C 11B0; +C8CE;C8CE;110C 116C 11B1;C8CE;110C 116C 11B1; +C8CF;C8CF;110C 116C 11B2;C8CF;110C 116C 11B2; +C8D0;C8D0;110C 116C 11B3;C8D0;110C 116C 11B3; +C8D1;C8D1;110C 116C 11B4;C8D1;110C 116C 11B4; +C8D2;C8D2;110C 116C 11B5;C8D2;110C 116C 11B5; +C8D3;C8D3;110C 116C 11B6;C8D3;110C 116C 11B6; +C8D4;C8D4;110C 116C 11B7;C8D4;110C 116C 11B7; +C8D5;C8D5;110C 116C 11B8;C8D5;110C 116C 11B8; +C8D6;C8D6;110C 116C 11B9;C8D6;110C 116C 11B9; +C8D7;C8D7;110C 116C 11BA;C8D7;110C 116C 11BA; +C8D8;C8D8;110C 116C 11BB;C8D8;110C 116C 11BB; +C8D9;C8D9;110C 116C 11BC;C8D9;110C 116C 11BC; +C8DA;C8DA;110C 116C 11BD;C8DA;110C 116C 11BD; +C8DB;C8DB;110C 116C 11BE;C8DB;110C 116C 11BE; +C8DC;C8DC;110C 116C 11BF;C8DC;110C 116C 11BF; +C8DD;C8DD;110C 116C 11C0;C8DD;110C 116C 11C0; +C8DE;C8DE;110C 116C 11C1;C8DE;110C 116C 11C1; +C8DF;C8DF;110C 116C 11C2;C8DF;110C 116C 11C2; +C8E0;C8E0;110C 116D;C8E0;110C 116D; +C8E1;C8E1;110C 116D 11A8;C8E1;110C 116D 11A8; +C8E2;C8E2;110C 116D 11A9;C8E2;110C 116D 11A9; +C8E3;C8E3;110C 116D 11AA;C8E3;110C 116D 11AA; +C8E4;C8E4;110C 116D 11AB;C8E4;110C 116D 11AB; +C8E5;C8E5;110C 116D 11AC;C8E5;110C 116D 11AC; +C8E6;C8E6;110C 116D 11AD;C8E6;110C 116D 11AD; +C8E7;C8E7;110C 116D 11AE;C8E7;110C 116D 11AE; +C8E8;C8E8;110C 116D 11AF;C8E8;110C 116D 11AF; +C8E9;C8E9;110C 116D 11B0;C8E9;110C 116D 11B0; +C8EA;C8EA;110C 116D 11B1;C8EA;110C 116D 11B1; +C8EB;C8EB;110C 116D 11B2;C8EB;110C 116D 11B2; +C8EC;C8EC;110C 116D 11B3;C8EC;110C 116D 11B3; +C8ED;C8ED;110C 116D 11B4;C8ED;110C 116D 11B4; +C8EE;C8EE;110C 116D 11B5;C8EE;110C 116D 11B5; +C8EF;C8EF;110C 116D 11B6;C8EF;110C 116D 11B6; +C8F0;C8F0;110C 116D 11B7;C8F0;110C 116D 11B7; +C8F1;C8F1;110C 116D 11B8;C8F1;110C 116D 11B8; +C8F2;C8F2;110C 116D 11B9;C8F2;110C 116D 11B9; +C8F3;C8F3;110C 116D 11BA;C8F3;110C 116D 11BA; +C8F4;C8F4;110C 116D 11BB;C8F4;110C 116D 11BB; +C8F5;C8F5;110C 116D 11BC;C8F5;110C 116D 11BC; +C8F6;C8F6;110C 116D 11BD;C8F6;110C 116D 11BD; +C8F7;C8F7;110C 116D 11BE;C8F7;110C 116D 11BE; +C8F8;C8F8;110C 116D 11BF;C8F8;110C 116D 11BF; +C8F9;C8F9;110C 116D 11C0;C8F9;110C 116D 11C0; +C8FA;C8FA;110C 116D 11C1;C8FA;110C 116D 11C1; +C8FB;C8FB;110C 116D 11C2;C8FB;110C 116D 11C2; +C8FC;C8FC;110C 116E;C8FC;110C 116E; +C8FD;C8FD;110C 116E 11A8;C8FD;110C 116E 11A8; +C8FE;C8FE;110C 116E 11A9;C8FE;110C 116E 11A9; +C8FF;C8FF;110C 116E 11AA;C8FF;110C 116E 11AA; +C900;C900;110C 116E 11AB;C900;110C 116E 11AB; +C901;C901;110C 116E 11AC;C901;110C 116E 11AC; +C902;C902;110C 116E 11AD;C902;110C 116E 11AD; +C903;C903;110C 116E 11AE;C903;110C 116E 11AE; +C904;C904;110C 116E 11AF;C904;110C 116E 11AF; +C905;C905;110C 116E 11B0;C905;110C 116E 11B0; +C906;C906;110C 116E 11B1;C906;110C 116E 11B1; +C907;C907;110C 116E 11B2;C907;110C 116E 11B2; +C908;C908;110C 116E 11B3;C908;110C 116E 11B3; +C909;C909;110C 116E 11B4;C909;110C 116E 11B4; +C90A;C90A;110C 116E 11B5;C90A;110C 116E 11B5; +C90B;C90B;110C 116E 11B6;C90B;110C 116E 11B6; +C90C;C90C;110C 116E 11B7;C90C;110C 116E 11B7; +C90D;C90D;110C 116E 11B8;C90D;110C 116E 11B8; +C90E;C90E;110C 116E 11B9;C90E;110C 116E 11B9; +C90F;C90F;110C 116E 11BA;C90F;110C 116E 11BA; +C910;C910;110C 116E 11BB;C910;110C 116E 11BB; +C911;C911;110C 116E 11BC;C911;110C 116E 11BC; +C912;C912;110C 116E 11BD;C912;110C 116E 11BD; +C913;C913;110C 116E 11BE;C913;110C 116E 11BE; +C914;C914;110C 116E 11BF;C914;110C 116E 11BF; +C915;C915;110C 116E 11C0;C915;110C 116E 11C0; +C916;C916;110C 116E 11C1;C916;110C 116E 11C1; +C917;C917;110C 116E 11C2;C917;110C 116E 11C2; +C918;C918;110C 116F;C918;110C 116F; +C919;C919;110C 116F 11A8;C919;110C 116F 11A8; +C91A;C91A;110C 116F 11A9;C91A;110C 116F 11A9; +C91B;C91B;110C 116F 11AA;C91B;110C 116F 11AA; +C91C;C91C;110C 116F 11AB;C91C;110C 116F 11AB; +C91D;C91D;110C 116F 11AC;C91D;110C 116F 11AC; +C91E;C91E;110C 116F 11AD;C91E;110C 116F 11AD; +C91F;C91F;110C 116F 11AE;C91F;110C 116F 11AE; +C920;C920;110C 116F 11AF;C920;110C 116F 11AF; +C921;C921;110C 116F 11B0;C921;110C 116F 11B0; +C922;C922;110C 116F 11B1;C922;110C 116F 11B1; +C923;C923;110C 116F 11B2;C923;110C 116F 11B2; +C924;C924;110C 116F 11B3;C924;110C 116F 11B3; +C925;C925;110C 116F 11B4;C925;110C 116F 11B4; +C926;C926;110C 116F 11B5;C926;110C 116F 11B5; +C927;C927;110C 116F 11B6;C927;110C 116F 11B6; +C928;C928;110C 116F 11B7;C928;110C 116F 11B7; +C929;C929;110C 116F 11B8;C929;110C 116F 11B8; +C92A;C92A;110C 116F 11B9;C92A;110C 116F 11B9; +C92B;C92B;110C 116F 11BA;C92B;110C 116F 11BA; +C92C;C92C;110C 116F 11BB;C92C;110C 116F 11BB; +C92D;C92D;110C 116F 11BC;C92D;110C 116F 11BC; +C92E;C92E;110C 116F 11BD;C92E;110C 116F 11BD; +C92F;C92F;110C 116F 11BE;C92F;110C 116F 11BE; +C930;C930;110C 116F 11BF;C930;110C 116F 11BF; +C931;C931;110C 116F 11C0;C931;110C 116F 11C0; +C932;C932;110C 116F 11C1;C932;110C 116F 11C1; +C933;C933;110C 116F 11C2;C933;110C 116F 11C2; +C934;C934;110C 1170;C934;110C 1170; +C935;C935;110C 1170 11A8;C935;110C 1170 11A8; +C936;C936;110C 1170 11A9;C936;110C 1170 11A9; +C937;C937;110C 1170 11AA;C937;110C 1170 11AA; +C938;C938;110C 1170 11AB;C938;110C 1170 11AB; +C939;C939;110C 1170 11AC;C939;110C 1170 11AC; +C93A;C93A;110C 1170 11AD;C93A;110C 1170 11AD; +C93B;C93B;110C 1170 11AE;C93B;110C 1170 11AE; +C93C;C93C;110C 1170 11AF;C93C;110C 1170 11AF; +C93D;C93D;110C 1170 11B0;C93D;110C 1170 11B0; +C93E;C93E;110C 1170 11B1;C93E;110C 1170 11B1; +C93F;C93F;110C 1170 11B2;C93F;110C 1170 11B2; +C940;C940;110C 1170 11B3;C940;110C 1170 11B3; +C941;C941;110C 1170 11B4;C941;110C 1170 11B4; +C942;C942;110C 1170 11B5;C942;110C 1170 11B5; +C943;C943;110C 1170 11B6;C943;110C 1170 11B6; +C944;C944;110C 1170 11B7;C944;110C 1170 11B7; +C945;C945;110C 1170 11B8;C945;110C 1170 11B8; +C946;C946;110C 1170 11B9;C946;110C 1170 11B9; +C947;C947;110C 1170 11BA;C947;110C 1170 11BA; +C948;C948;110C 1170 11BB;C948;110C 1170 11BB; +C949;C949;110C 1170 11BC;C949;110C 1170 11BC; +C94A;C94A;110C 1170 11BD;C94A;110C 1170 11BD; +C94B;C94B;110C 1170 11BE;C94B;110C 1170 11BE; +C94C;C94C;110C 1170 11BF;C94C;110C 1170 11BF; +C94D;C94D;110C 1170 11C0;C94D;110C 1170 11C0; +C94E;C94E;110C 1170 11C1;C94E;110C 1170 11C1; +C94F;C94F;110C 1170 11C2;C94F;110C 1170 11C2; +C950;C950;110C 1171;C950;110C 1171; +C951;C951;110C 1171 11A8;C951;110C 1171 11A8; +C952;C952;110C 1171 11A9;C952;110C 1171 11A9; +C953;C953;110C 1171 11AA;C953;110C 1171 11AA; +C954;C954;110C 1171 11AB;C954;110C 1171 11AB; +C955;C955;110C 1171 11AC;C955;110C 1171 11AC; +C956;C956;110C 1171 11AD;C956;110C 1171 11AD; +C957;C957;110C 1171 11AE;C957;110C 1171 11AE; +C958;C958;110C 1171 11AF;C958;110C 1171 11AF; +C959;C959;110C 1171 11B0;C959;110C 1171 11B0; +C95A;C95A;110C 1171 11B1;C95A;110C 1171 11B1; +C95B;C95B;110C 1171 11B2;C95B;110C 1171 11B2; +C95C;C95C;110C 1171 11B3;C95C;110C 1171 11B3; +C95D;C95D;110C 1171 11B4;C95D;110C 1171 11B4; +C95E;C95E;110C 1171 11B5;C95E;110C 1171 11B5; +C95F;C95F;110C 1171 11B6;C95F;110C 1171 11B6; +C960;C960;110C 1171 11B7;C960;110C 1171 11B7; +C961;C961;110C 1171 11B8;C961;110C 1171 11B8; +C962;C962;110C 1171 11B9;C962;110C 1171 11B9; +C963;C963;110C 1171 11BA;C963;110C 1171 11BA; +C964;C964;110C 1171 11BB;C964;110C 1171 11BB; +C965;C965;110C 1171 11BC;C965;110C 1171 11BC; +C966;C966;110C 1171 11BD;C966;110C 1171 11BD; +C967;C967;110C 1171 11BE;C967;110C 1171 11BE; +C968;C968;110C 1171 11BF;C968;110C 1171 11BF; +C969;C969;110C 1171 11C0;C969;110C 1171 11C0; +C96A;C96A;110C 1171 11C1;C96A;110C 1171 11C1; +C96B;C96B;110C 1171 11C2;C96B;110C 1171 11C2; +C96C;C96C;110C 1172;C96C;110C 1172; +C96D;C96D;110C 1172 11A8;C96D;110C 1172 11A8; +C96E;C96E;110C 1172 11A9;C96E;110C 1172 11A9; +C96F;C96F;110C 1172 11AA;C96F;110C 1172 11AA; +C970;C970;110C 1172 11AB;C970;110C 1172 11AB; +C971;C971;110C 1172 11AC;C971;110C 1172 11AC; +C972;C972;110C 1172 11AD;C972;110C 1172 11AD; +C973;C973;110C 1172 11AE;C973;110C 1172 11AE; +C974;C974;110C 1172 11AF;C974;110C 1172 11AF; +C975;C975;110C 1172 11B0;C975;110C 1172 11B0; +C976;C976;110C 1172 11B1;C976;110C 1172 11B1; +C977;C977;110C 1172 11B2;C977;110C 1172 11B2; +C978;C978;110C 1172 11B3;C978;110C 1172 11B3; +C979;C979;110C 1172 11B4;C979;110C 1172 11B4; +C97A;C97A;110C 1172 11B5;C97A;110C 1172 11B5; +C97B;C97B;110C 1172 11B6;C97B;110C 1172 11B6; +C97C;C97C;110C 1172 11B7;C97C;110C 1172 11B7; +C97D;C97D;110C 1172 11B8;C97D;110C 1172 11B8; +C97E;C97E;110C 1172 11B9;C97E;110C 1172 11B9; +C97F;C97F;110C 1172 11BA;C97F;110C 1172 11BA; +C980;C980;110C 1172 11BB;C980;110C 1172 11BB; +C981;C981;110C 1172 11BC;C981;110C 1172 11BC; +C982;C982;110C 1172 11BD;C982;110C 1172 11BD; +C983;C983;110C 1172 11BE;C983;110C 1172 11BE; +C984;C984;110C 1172 11BF;C984;110C 1172 11BF; +C985;C985;110C 1172 11C0;C985;110C 1172 11C0; +C986;C986;110C 1172 11C1;C986;110C 1172 11C1; +C987;C987;110C 1172 11C2;C987;110C 1172 11C2; +C988;C988;110C 1173;C988;110C 1173; +C989;C989;110C 1173 11A8;C989;110C 1173 11A8; +C98A;C98A;110C 1173 11A9;C98A;110C 1173 11A9; +C98B;C98B;110C 1173 11AA;C98B;110C 1173 11AA; +C98C;C98C;110C 1173 11AB;C98C;110C 1173 11AB; +C98D;C98D;110C 1173 11AC;C98D;110C 1173 11AC; +C98E;C98E;110C 1173 11AD;C98E;110C 1173 11AD; +C98F;C98F;110C 1173 11AE;C98F;110C 1173 11AE; +C990;C990;110C 1173 11AF;C990;110C 1173 11AF; +C991;C991;110C 1173 11B0;C991;110C 1173 11B0; +C992;C992;110C 1173 11B1;C992;110C 1173 11B1; +C993;C993;110C 1173 11B2;C993;110C 1173 11B2; +C994;C994;110C 1173 11B3;C994;110C 1173 11B3; +C995;C995;110C 1173 11B4;C995;110C 1173 11B4; +C996;C996;110C 1173 11B5;C996;110C 1173 11B5; +C997;C997;110C 1173 11B6;C997;110C 1173 11B6; +C998;C998;110C 1173 11B7;C998;110C 1173 11B7; +C999;C999;110C 1173 11B8;C999;110C 1173 11B8; +C99A;C99A;110C 1173 11B9;C99A;110C 1173 11B9; +C99B;C99B;110C 1173 11BA;C99B;110C 1173 11BA; +C99C;C99C;110C 1173 11BB;C99C;110C 1173 11BB; +C99D;C99D;110C 1173 11BC;C99D;110C 1173 11BC; +C99E;C99E;110C 1173 11BD;C99E;110C 1173 11BD; +C99F;C99F;110C 1173 11BE;C99F;110C 1173 11BE; +C9A0;C9A0;110C 1173 11BF;C9A0;110C 1173 11BF; +C9A1;C9A1;110C 1173 11C0;C9A1;110C 1173 11C0; +C9A2;C9A2;110C 1173 11C1;C9A2;110C 1173 11C1; +C9A3;C9A3;110C 1173 11C2;C9A3;110C 1173 11C2; +C9A4;C9A4;110C 1174;C9A4;110C 1174; +C9A5;C9A5;110C 1174 11A8;C9A5;110C 1174 11A8; +C9A6;C9A6;110C 1174 11A9;C9A6;110C 1174 11A9; +C9A7;C9A7;110C 1174 11AA;C9A7;110C 1174 11AA; +C9A8;C9A8;110C 1174 11AB;C9A8;110C 1174 11AB; +C9A9;C9A9;110C 1174 11AC;C9A9;110C 1174 11AC; +C9AA;C9AA;110C 1174 11AD;C9AA;110C 1174 11AD; +C9AB;C9AB;110C 1174 11AE;C9AB;110C 1174 11AE; +C9AC;C9AC;110C 1174 11AF;C9AC;110C 1174 11AF; +C9AD;C9AD;110C 1174 11B0;C9AD;110C 1174 11B0; +C9AE;C9AE;110C 1174 11B1;C9AE;110C 1174 11B1; +C9AF;C9AF;110C 1174 11B2;C9AF;110C 1174 11B2; +C9B0;C9B0;110C 1174 11B3;C9B0;110C 1174 11B3; +C9B1;C9B1;110C 1174 11B4;C9B1;110C 1174 11B4; +C9B2;C9B2;110C 1174 11B5;C9B2;110C 1174 11B5; +C9B3;C9B3;110C 1174 11B6;C9B3;110C 1174 11B6; +C9B4;C9B4;110C 1174 11B7;C9B4;110C 1174 11B7; +C9B5;C9B5;110C 1174 11B8;C9B5;110C 1174 11B8; +C9B6;C9B6;110C 1174 11B9;C9B6;110C 1174 11B9; +C9B7;C9B7;110C 1174 11BA;C9B7;110C 1174 11BA; +C9B8;C9B8;110C 1174 11BB;C9B8;110C 1174 11BB; +C9B9;C9B9;110C 1174 11BC;C9B9;110C 1174 11BC; +C9BA;C9BA;110C 1174 11BD;C9BA;110C 1174 11BD; +C9BB;C9BB;110C 1174 11BE;C9BB;110C 1174 11BE; +C9BC;C9BC;110C 1174 11BF;C9BC;110C 1174 11BF; +C9BD;C9BD;110C 1174 11C0;C9BD;110C 1174 11C0; +C9BE;C9BE;110C 1174 11C1;C9BE;110C 1174 11C1; +C9BF;C9BF;110C 1174 11C2;C9BF;110C 1174 11C2; +C9C0;C9C0;110C 1175;C9C0;110C 1175; +C9C1;C9C1;110C 1175 11A8;C9C1;110C 1175 11A8; +C9C2;C9C2;110C 1175 11A9;C9C2;110C 1175 11A9; +C9C3;C9C3;110C 1175 11AA;C9C3;110C 1175 11AA; +C9C4;C9C4;110C 1175 11AB;C9C4;110C 1175 11AB; +C9C5;C9C5;110C 1175 11AC;C9C5;110C 1175 11AC; +C9C6;C9C6;110C 1175 11AD;C9C6;110C 1175 11AD; +C9C7;C9C7;110C 1175 11AE;C9C7;110C 1175 11AE; +C9C8;C9C8;110C 1175 11AF;C9C8;110C 1175 11AF; +C9C9;C9C9;110C 1175 11B0;C9C9;110C 1175 11B0; +C9CA;C9CA;110C 1175 11B1;C9CA;110C 1175 11B1; +C9CB;C9CB;110C 1175 11B2;C9CB;110C 1175 11B2; +C9CC;C9CC;110C 1175 11B3;C9CC;110C 1175 11B3; +C9CD;C9CD;110C 1175 11B4;C9CD;110C 1175 11B4; +C9CE;C9CE;110C 1175 11B5;C9CE;110C 1175 11B5; +C9CF;C9CF;110C 1175 11B6;C9CF;110C 1175 11B6; +C9D0;C9D0;110C 1175 11B7;C9D0;110C 1175 11B7; +C9D1;C9D1;110C 1175 11B8;C9D1;110C 1175 11B8; +C9D2;C9D2;110C 1175 11B9;C9D2;110C 1175 11B9; +C9D3;C9D3;110C 1175 11BA;C9D3;110C 1175 11BA; +C9D4;C9D4;110C 1175 11BB;C9D4;110C 1175 11BB; +C9D5;C9D5;110C 1175 11BC;C9D5;110C 1175 11BC; +C9D6;C9D6;110C 1175 11BD;C9D6;110C 1175 11BD; +C9D7;C9D7;110C 1175 11BE;C9D7;110C 1175 11BE; +C9D8;C9D8;110C 1175 11BF;C9D8;110C 1175 11BF; +C9D9;C9D9;110C 1175 11C0;C9D9;110C 1175 11C0; +C9DA;C9DA;110C 1175 11C1;C9DA;110C 1175 11C1; +C9DB;C9DB;110C 1175 11C2;C9DB;110C 1175 11C2; +C9DC;C9DC;110D 1161;C9DC;110D 1161; +C9DD;C9DD;110D 1161 11A8;C9DD;110D 1161 11A8; +C9DE;C9DE;110D 1161 11A9;C9DE;110D 1161 11A9; +C9DF;C9DF;110D 1161 11AA;C9DF;110D 1161 11AA; +C9E0;C9E0;110D 1161 11AB;C9E0;110D 1161 11AB; +C9E1;C9E1;110D 1161 11AC;C9E1;110D 1161 11AC; +C9E2;C9E2;110D 1161 11AD;C9E2;110D 1161 11AD; +C9E3;C9E3;110D 1161 11AE;C9E3;110D 1161 11AE; +C9E4;C9E4;110D 1161 11AF;C9E4;110D 1161 11AF; +C9E5;C9E5;110D 1161 11B0;C9E5;110D 1161 11B0; +C9E6;C9E6;110D 1161 11B1;C9E6;110D 1161 11B1; +C9E7;C9E7;110D 1161 11B2;C9E7;110D 1161 11B2; +C9E8;C9E8;110D 1161 11B3;C9E8;110D 1161 11B3; +C9E9;C9E9;110D 1161 11B4;C9E9;110D 1161 11B4; +C9EA;C9EA;110D 1161 11B5;C9EA;110D 1161 11B5; +C9EB;C9EB;110D 1161 11B6;C9EB;110D 1161 11B6; +C9EC;C9EC;110D 1161 11B7;C9EC;110D 1161 11B7; +C9ED;C9ED;110D 1161 11B8;C9ED;110D 1161 11B8; +C9EE;C9EE;110D 1161 11B9;C9EE;110D 1161 11B9; +C9EF;C9EF;110D 1161 11BA;C9EF;110D 1161 11BA; +C9F0;C9F0;110D 1161 11BB;C9F0;110D 1161 11BB; +C9F1;C9F1;110D 1161 11BC;C9F1;110D 1161 11BC; +C9F2;C9F2;110D 1161 11BD;C9F2;110D 1161 11BD; +C9F3;C9F3;110D 1161 11BE;C9F3;110D 1161 11BE; +C9F4;C9F4;110D 1161 11BF;C9F4;110D 1161 11BF; +C9F5;C9F5;110D 1161 11C0;C9F5;110D 1161 11C0; +C9F6;C9F6;110D 1161 11C1;C9F6;110D 1161 11C1; +C9F7;C9F7;110D 1161 11C2;C9F7;110D 1161 11C2; +C9F8;C9F8;110D 1162;C9F8;110D 1162; +C9F9;C9F9;110D 1162 11A8;C9F9;110D 1162 11A8; +C9FA;C9FA;110D 1162 11A9;C9FA;110D 1162 11A9; +C9FB;C9FB;110D 1162 11AA;C9FB;110D 1162 11AA; +C9FC;C9FC;110D 1162 11AB;C9FC;110D 1162 11AB; +C9FD;C9FD;110D 1162 11AC;C9FD;110D 1162 11AC; +C9FE;C9FE;110D 1162 11AD;C9FE;110D 1162 11AD; +C9FF;C9FF;110D 1162 11AE;C9FF;110D 1162 11AE; +CA00;CA00;110D 1162 11AF;CA00;110D 1162 11AF; +CA01;CA01;110D 1162 11B0;CA01;110D 1162 11B0; +CA02;CA02;110D 1162 11B1;CA02;110D 1162 11B1; +CA03;CA03;110D 1162 11B2;CA03;110D 1162 11B2; +CA04;CA04;110D 1162 11B3;CA04;110D 1162 11B3; +CA05;CA05;110D 1162 11B4;CA05;110D 1162 11B4; +CA06;CA06;110D 1162 11B5;CA06;110D 1162 11B5; +CA07;CA07;110D 1162 11B6;CA07;110D 1162 11B6; +CA08;CA08;110D 1162 11B7;CA08;110D 1162 11B7; +CA09;CA09;110D 1162 11B8;CA09;110D 1162 11B8; +CA0A;CA0A;110D 1162 11B9;CA0A;110D 1162 11B9; +CA0B;CA0B;110D 1162 11BA;CA0B;110D 1162 11BA; +CA0C;CA0C;110D 1162 11BB;CA0C;110D 1162 11BB; +CA0D;CA0D;110D 1162 11BC;CA0D;110D 1162 11BC; +CA0E;CA0E;110D 1162 11BD;CA0E;110D 1162 11BD; +CA0F;CA0F;110D 1162 11BE;CA0F;110D 1162 11BE; +CA10;CA10;110D 1162 11BF;CA10;110D 1162 11BF; +CA11;CA11;110D 1162 11C0;CA11;110D 1162 11C0; +CA12;CA12;110D 1162 11C1;CA12;110D 1162 11C1; +CA13;CA13;110D 1162 11C2;CA13;110D 1162 11C2; +CA14;CA14;110D 1163;CA14;110D 1163; +CA15;CA15;110D 1163 11A8;CA15;110D 1163 11A8; +CA16;CA16;110D 1163 11A9;CA16;110D 1163 11A9; +CA17;CA17;110D 1163 11AA;CA17;110D 1163 11AA; +CA18;CA18;110D 1163 11AB;CA18;110D 1163 11AB; +CA19;CA19;110D 1163 11AC;CA19;110D 1163 11AC; +CA1A;CA1A;110D 1163 11AD;CA1A;110D 1163 11AD; +CA1B;CA1B;110D 1163 11AE;CA1B;110D 1163 11AE; +CA1C;CA1C;110D 1163 11AF;CA1C;110D 1163 11AF; +CA1D;CA1D;110D 1163 11B0;CA1D;110D 1163 11B0; +CA1E;CA1E;110D 1163 11B1;CA1E;110D 1163 11B1; +CA1F;CA1F;110D 1163 11B2;CA1F;110D 1163 11B2; +CA20;CA20;110D 1163 11B3;CA20;110D 1163 11B3; +CA21;CA21;110D 1163 11B4;CA21;110D 1163 11B4; +CA22;CA22;110D 1163 11B5;CA22;110D 1163 11B5; +CA23;CA23;110D 1163 11B6;CA23;110D 1163 11B6; +CA24;CA24;110D 1163 11B7;CA24;110D 1163 11B7; +CA25;CA25;110D 1163 11B8;CA25;110D 1163 11B8; +CA26;CA26;110D 1163 11B9;CA26;110D 1163 11B9; +CA27;CA27;110D 1163 11BA;CA27;110D 1163 11BA; +CA28;CA28;110D 1163 11BB;CA28;110D 1163 11BB; +CA29;CA29;110D 1163 11BC;CA29;110D 1163 11BC; +CA2A;CA2A;110D 1163 11BD;CA2A;110D 1163 11BD; +CA2B;CA2B;110D 1163 11BE;CA2B;110D 1163 11BE; +CA2C;CA2C;110D 1163 11BF;CA2C;110D 1163 11BF; +CA2D;CA2D;110D 1163 11C0;CA2D;110D 1163 11C0; +CA2E;CA2E;110D 1163 11C1;CA2E;110D 1163 11C1; +CA2F;CA2F;110D 1163 11C2;CA2F;110D 1163 11C2; +CA30;CA30;110D 1164;CA30;110D 1164; +CA31;CA31;110D 1164 11A8;CA31;110D 1164 11A8; +CA32;CA32;110D 1164 11A9;CA32;110D 1164 11A9; +CA33;CA33;110D 1164 11AA;CA33;110D 1164 11AA; +CA34;CA34;110D 1164 11AB;CA34;110D 1164 11AB; +CA35;CA35;110D 1164 11AC;CA35;110D 1164 11AC; +CA36;CA36;110D 1164 11AD;CA36;110D 1164 11AD; +CA37;CA37;110D 1164 11AE;CA37;110D 1164 11AE; +CA38;CA38;110D 1164 11AF;CA38;110D 1164 11AF; +CA39;CA39;110D 1164 11B0;CA39;110D 1164 11B0; +CA3A;CA3A;110D 1164 11B1;CA3A;110D 1164 11B1; +CA3B;CA3B;110D 1164 11B2;CA3B;110D 1164 11B2; +CA3C;CA3C;110D 1164 11B3;CA3C;110D 1164 11B3; +CA3D;CA3D;110D 1164 11B4;CA3D;110D 1164 11B4; +CA3E;CA3E;110D 1164 11B5;CA3E;110D 1164 11B5; +CA3F;CA3F;110D 1164 11B6;CA3F;110D 1164 11B6; +CA40;CA40;110D 1164 11B7;CA40;110D 1164 11B7; +CA41;CA41;110D 1164 11B8;CA41;110D 1164 11B8; +CA42;CA42;110D 1164 11B9;CA42;110D 1164 11B9; +CA43;CA43;110D 1164 11BA;CA43;110D 1164 11BA; +CA44;CA44;110D 1164 11BB;CA44;110D 1164 11BB; +CA45;CA45;110D 1164 11BC;CA45;110D 1164 11BC; +CA46;CA46;110D 1164 11BD;CA46;110D 1164 11BD; +CA47;CA47;110D 1164 11BE;CA47;110D 1164 11BE; +CA48;CA48;110D 1164 11BF;CA48;110D 1164 11BF; +CA49;CA49;110D 1164 11C0;CA49;110D 1164 11C0; +CA4A;CA4A;110D 1164 11C1;CA4A;110D 1164 11C1; +CA4B;CA4B;110D 1164 11C2;CA4B;110D 1164 11C2; +CA4C;CA4C;110D 1165;CA4C;110D 1165; +CA4D;CA4D;110D 1165 11A8;CA4D;110D 1165 11A8; +CA4E;CA4E;110D 1165 11A9;CA4E;110D 1165 11A9; +CA4F;CA4F;110D 1165 11AA;CA4F;110D 1165 11AA; +CA50;CA50;110D 1165 11AB;CA50;110D 1165 11AB; +CA51;CA51;110D 1165 11AC;CA51;110D 1165 11AC; +CA52;CA52;110D 1165 11AD;CA52;110D 1165 11AD; +CA53;CA53;110D 1165 11AE;CA53;110D 1165 11AE; +CA54;CA54;110D 1165 11AF;CA54;110D 1165 11AF; +CA55;CA55;110D 1165 11B0;CA55;110D 1165 11B0; +CA56;CA56;110D 1165 11B1;CA56;110D 1165 11B1; +CA57;CA57;110D 1165 11B2;CA57;110D 1165 11B2; +CA58;CA58;110D 1165 11B3;CA58;110D 1165 11B3; +CA59;CA59;110D 1165 11B4;CA59;110D 1165 11B4; +CA5A;CA5A;110D 1165 11B5;CA5A;110D 1165 11B5; +CA5B;CA5B;110D 1165 11B6;CA5B;110D 1165 11B6; +CA5C;CA5C;110D 1165 11B7;CA5C;110D 1165 11B7; +CA5D;CA5D;110D 1165 11B8;CA5D;110D 1165 11B8; +CA5E;CA5E;110D 1165 11B9;CA5E;110D 1165 11B9; +CA5F;CA5F;110D 1165 11BA;CA5F;110D 1165 11BA; +CA60;CA60;110D 1165 11BB;CA60;110D 1165 11BB; +CA61;CA61;110D 1165 11BC;CA61;110D 1165 11BC; +CA62;CA62;110D 1165 11BD;CA62;110D 1165 11BD; +CA63;CA63;110D 1165 11BE;CA63;110D 1165 11BE; +CA64;CA64;110D 1165 11BF;CA64;110D 1165 11BF; +CA65;CA65;110D 1165 11C0;CA65;110D 1165 11C0; +CA66;CA66;110D 1165 11C1;CA66;110D 1165 11C1; +CA67;CA67;110D 1165 11C2;CA67;110D 1165 11C2; +CA68;CA68;110D 1166;CA68;110D 1166; +CA69;CA69;110D 1166 11A8;CA69;110D 1166 11A8; +CA6A;CA6A;110D 1166 11A9;CA6A;110D 1166 11A9; +CA6B;CA6B;110D 1166 11AA;CA6B;110D 1166 11AA; +CA6C;CA6C;110D 1166 11AB;CA6C;110D 1166 11AB; +CA6D;CA6D;110D 1166 11AC;CA6D;110D 1166 11AC; +CA6E;CA6E;110D 1166 11AD;CA6E;110D 1166 11AD; +CA6F;CA6F;110D 1166 11AE;CA6F;110D 1166 11AE; +CA70;CA70;110D 1166 11AF;CA70;110D 1166 11AF; +CA71;CA71;110D 1166 11B0;CA71;110D 1166 11B0; +CA72;CA72;110D 1166 11B1;CA72;110D 1166 11B1; +CA73;CA73;110D 1166 11B2;CA73;110D 1166 11B2; +CA74;CA74;110D 1166 11B3;CA74;110D 1166 11B3; +CA75;CA75;110D 1166 11B4;CA75;110D 1166 11B4; +CA76;CA76;110D 1166 11B5;CA76;110D 1166 11B5; +CA77;CA77;110D 1166 11B6;CA77;110D 1166 11B6; +CA78;CA78;110D 1166 11B7;CA78;110D 1166 11B7; +CA79;CA79;110D 1166 11B8;CA79;110D 1166 11B8; +CA7A;CA7A;110D 1166 11B9;CA7A;110D 1166 11B9; +CA7B;CA7B;110D 1166 11BA;CA7B;110D 1166 11BA; +CA7C;CA7C;110D 1166 11BB;CA7C;110D 1166 11BB; +CA7D;CA7D;110D 1166 11BC;CA7D;110D 1166 11BC; +CA7E;CA7E;110D 1166 11BD;CA7E;110D 1166 11BD; +CA7F;CA7F;110D 1166 11BE;CA7F;110D 1166 11BE; +CA80;CA80;110D 1166 11BF;CA80;110D 1166 11BF; +CA81;CA81;110D 1166 11C0;CA81;110D 1166 11C0; +CA82;CA82;110D 1166 11C1;CA82;110D 1166 11C1; +CA83;CA83;110D 1166 11C2;CA83;110D 1166 11C2; +CA84;CA84;110D 1167;CA84;110D 1167; +CA85;CA85;110D 1167 11A8;CA85;110D 1167 11A8; +CA86;CA86;110D 1167 11A9;CA86;110D 1167 11A9; +CA87;CA87;110D 1167 11AA;CA87;110D 1167 11AA; +CA88;CA88;110D 1167 11AB;CA88;110D 1167 11AB; +CA89;CA89;110D 1167 11AC;CA89;110D 1167 11AC; +CA8A;CA8A;110D 1167 11AD;CA8A;110D 1167 11AD; +CA8B;CA8B;110D 1167 11AE;CA8B;110D 1167 11AE; +CA8C;CA8C;110D 1167 11AF;CA8C;110D 1167 11AF; +CA8D;CA8D;110D 1167 11B0;CA8D;110D 1167 11B0; +CA8E;CA8E;110D 1167 11B1;CA8E;110D 1167 11B1; +CA8F;CA8F;110D 1167 11B2;CA8F;110D 1167 11B2; +CA90;CA90;110D 1167 11B3;CA90;110D 1167 11B3; +CA91;CA91;110D 1167 11B4;CA91;110D 1167 11B4; +CA92;CA92;110D 1167 11B5;CA92;110D 1167 11B5; +CA93;CA93;110D 1167 11B6;CA93;110D 1167 11B6; +CA94;CA94;110D 1167 11B7;CA94;110D 1167 11B7; +CA95;CA95;110D 1167 11B8;CA95;110D 1167 11B8; +CA96;CA96;110D 1167 11B9;CA96;110D 1167 11B9; +CA97;CA97;110D 1167 11BA;CA97;110D 1167 11BA; +CA98;CA98;110D 1167 11BB;CA98;110D 1167 11BB; +CA99;CA99;110D 1167 11BC;CA99;110D 1167 11BC; +CA9A;CA9A;110D 1167 11BD;CA9A;110D 1167 11BD; +CA9B;CA9B;110D 1167 11BE;CA9B;110D 1167 11BE; +CA9C;CA9C;110D 1167 11BF;CA9C;110D 1167 11BF; +CA9D;CA9D;110D 1167 11C0;CA9D;110D 1167 11C0; +CA9E;CA9E;110D 1167 11C1;CA9E;110D 1167 11C1; +CA9F;CA9F;110D 1167 11C2;CA9F;110D 1167 11C2; +CAA0;CAA0;110D 1168;CAA0;110D 1168; +CAA1;CAA1;110D 1168 11A8;CAA1;110D 1168 11A8; +CAA2;CAA2;110D 1168 11A9;CAA2;110D 1168 11A9; +CAA3;CAA3;110D 1168 11AA;CAA3;110D 1168 11AA; +CAA4;CAA4;110D 1168 11AB;CAA4;110D 1168 11AB; +CAA5;CAA5;110D 1168 11AC;CAA5;110D 1168 11AC; +CAA6;CAA6;110D 1168 11AD;CAA6;110D 1168 11AD; +CAA7;CAA7;110D 1168 11AE;CAA7;110D 1168 11AE; +CAA8;CAA8;110D 1168 11AF;CAA8;110D 1168 11AF; +CAA9;CAA9;110D 1168 11B0;CAA9;110D 1168 11B0; +CAAA;CAAA;110D 1168 11B1;CAAA;110D 1168 11B1; +CAAB;CAAB;110D 1168 11B2;CAAB;110D 1168 11B2; +CAAC;CAAC;110D 1168 11B3;CAAC;110D 1168 11B3; +CAAD;CAAD;110D 1168 11B4;CAAD;110D 1168 11B4; +CAAE;CAAE;110D 1168 11B5;CAAE;110D 1168 11B5; +CAAF;CAAF;110D 1168 11B6;CAAF;110D 1168 11B6; +CAB0;CAB0;110D 1168 11B7;CAB0;110D 1168 11B7; +CAB1;CAB1;110D 1168 11B8;CAB1;110D 1168 11B8; +CAB2;CAB2;110D 1168 11B9;CAB2;110D 1168 11B9; +CAB3;CAB3;110D 1168 11BA;CAB3;110D 1168 11BA; +CAB4;CAB4;110D 1168 11BB;CAB4;110D 1168 11BB; +CAB5;CAB5;110D 1168 11BC;CAB5;110D 1168 11BC; +CAB6;CAB6;110D 1168 11BD;CAB6;110D 1168 11BD; +CAB7;CAB7;110D 1168 11BE;CAB7;110D 1168 11BE; +CAB8;CAB8;110D 1168 11BF;CAB8;110D 1168 11BF; +CAB9;CAB9;110D 1168 11C0;CAB9;110D 1168 11C0; +CABA;CABA;110D 1168 11C1;CABA;110D 1168 11C1; +CABB;CABB;110D 1168 11C2;CABB;110D 1168 11C2; +CABC;CABC;110D 1169;CABC;110D 1169; +CABD;CABD;110D 1169 11A8;CABD;110D 1169 11A8; +CABE;CABE;110D 1169 11A9;CABE;110D 1169 11A9; +CABF;CABF;110D 1169 11AA;CABF;110D 1169 11AA; +CAC0;CAC0;110D 1169 11AB;CAC0;110D 1169 11AB; +CAC1;CAC1;110D 1169 11AC;CAC1;110D 1169 11AC; +CAC2;CAC2;110D 1169 11AD;CAC2;110D 1169 11AD; +CAC3;CAC3;110D 1169 11AE;CAC3;110D 1169 11AE; +CAC4;CAC4;110D 1169 11AF;CAC4;110D 1169 11AF; +CAC5;CAC5;110D 1169 11B0;CAC5;110D 1169 11B0; +CAC6;CAC6;110D 1169 11B1;CAC6;110D 1169 11B1; +CAC7;CAC7;110D 1169 11B2;CAC7;110D 1169 11B2; +CAC8;CAC8;110D 1169 11B3;CAC8;110D 1169 11B3; +CAC9;CAC9;110D 1169 11B4;CAC9;110D 1169 11B4; +CACA;CACA;110D 1169 11B5;CACA;110D 1169 11B5; +CACB;CACB;110D 1169 11B6;CACB;110D 1169 11B6; +CACC;CACC;110D 1169 11B7;CACC;110D 1169 11B7; +CACD;CACD;110D 1169 11B8;CACD;110D 1169 11B8; +CACE;CACE;110D 1169 11B9;CACE;110D 1169 11B9; +CACF;CACF;110D 1169 11BA;CACF;110D 1169 11BA; +CAD0;CAD0;110D 1169 11BB;CAD0;110D 1169 11BB; +CAD1;CAD1;110D 1169 11BC;CAD1;110D 1169 11BC; +CAD2;CAD2;110D 1169 11BD;CAD2;110D 1169 11BD; +CAD3;CAD3;110D 1169 11BE;CAD3;110D 1169 11BE; +CAD4;CAD4;110D 1169 11BF;CAD4;110D 1169 11BF; +CAD5;CAD5;110D 1169 11C0;CAD5;110D 1169 11C0; +CAD6;CAD6;110D 1169 11C1;CAD6;110D 1169 11C1; +CAD7;CAD7;110D 1169 11C2;CAD7;110D 1169 11C2; +CAD8;CAD8;110D 116A;CAD8;110D 116A; +CAD9;CAD9;110D 116A 11A8;CAD9;110D 116A 11A8; +CADA;CADA;110D 116A 11A9;CADA;110D 116A 11A9; +CADB;CADB;110D 116A 11AA;CADB;110D 116A 11AA; +CADC;CADC;110D 116A 11AB;CADC;110D 116A 11AB; +CADD;CADD;110D 116A 11AC;CADD;110D 116A 11AC; +CADE;CADE;110D 116A 11AD;CADE;110D 116A 11AD; +CADF;CADF;110D 116A 11AE;CADF;110D 116A 11AE; +CAE0;CAE0;110D 116A 11AF;CAE0;110D 116A 11AF; +CAE1;CAE1;110D 116A 11B0;CAE1;110D 116A 11B0; +CAE2;CAE2;110D 116A 11B1;CAE2;110D 116A 11B1; +CAE3;CAE3;110D 116A 11B2;CAE3;110D 116A 11B2; +CAE4;CAE4;110D 116A 11B3;CAE4;110D 116A 11B3; +CAE5;CAE5;110D 116A 11B4;CAE5;110D 116A 11B4; +CAE6;CAE6;110D 116A 11B5;CAE6;110D 116A 11B5; +CAE7;CAE7;110D 116A 11B6;CAE7;110D 116A 11B6; +CAE8;CAE8;110D 116A 11B7;CAE8;110D 116A 11B7; +CAE9;CAE9;110D 116A 11B8;CAE9;110D 116A 11B8; +CAEA;CAEA;110D 116A 11B9;CAEA;110D 116A 11B9; +CAEB;CAEB;110D 116A 11BA;CAEB;110D 116A 11BA; +CAEC;CAEC;110D 116A 11BB;CAEC;110D 116A 11BB; +CAED;CAED;110D 116A 11BC;CAED;110D 116A 11BC; +CAEE;CAEE;110D 116A 11BD;CAEE;110D 116A 11BD; +CAEF;CAEF;110D 116A 11BE;CAEF;110D 116A 11BE; +CAF0;CAF0;110D 116A 11BF;CAF0;110D 116A 11BF; +CAF1;CAF1;110D 116A 11C0;CAF1;110D 116A 11C0; +CAF2;CAF2;110D 116A 11C1;CAF2;110D 116A 11C1; +CAF3;CAF3;110D 116A 11C2;CAF3;110D 116A 11C2; +CAF4;CAF4;110D 116B;CAF4;110D 116B; +CAF5;CAF5;110D 116B 11A8;CAF5;110D 116B 11A8; +CAF6;CAF6;110D 116B 11A9;CAF6;110D 116B 11A9; +CAF7;CAF7;110D 116B 11AA;CAF7;110D 116B 11AA; +CAF8;CAF8;110D 116B 11AB;CAF8;110D 116B 11AB; +CAF9;CAF9;110D 116B 11AC;CAF9;110D 116B 11AC; +CAFA;CAFA;110D 116B 11AD;CAFA;110D 116B 11AD; +CAFB;CAFB;110D 116B 11AE;CAFB;110D 116B 11AE; +CAFC;CAFC;110D 116B 11AF;CAFC;110D 116B 11AF; +CAFD;CAFD;110D 116B 11B0;CAFD;110D 116B 11B0; +CAFE;CAFE;110D 116B 11B1;CAFE;110D 116B 11B1; +CAFF;CAFF;110D 116B 11B2;CAFF;110D 116B 11B2; +CB00;CB00;110D 116B 11B3;CB00;110D 116B 11B3; +CB01;CB01;110D 116B 11B4;CB01;110D 116B 11B4; +CB02;CB02;110D 116B 11B5;CB02;110D 116B 11B5; +CB03;CB03;110D 116B 11B6;CB03;110D 116B 11B6; +CB04;CB04;110D 116B 11B7;CB04;110D 116B 11B7; +CB05;CB05;110D 116B 11B8;CB05;110D 116B 11B8; +CB06;CB06;110D 116B 11B9;CB06;110D 116B 11B9; +CB07;CB07;110D 116B 11BA;CB07;110D 116B 11BA; +CB08;CB08;110D 116B 11BB;CB08;110D 116B 11BB; +CB09;CB09;110D 116B 11BC;CB09;110D 116B 11BC; +CB0A;CB0A;110D 116B 11BD;CB0A;110D 116B 11BD; +CB0B;CB0B;110D 116B 11BE;CB0B;110D 116B 11BE; +CB0C;CB0C;110D 116B 11BF;CB0C;110D 116B 11BF; +CB0D;CB0D;110D 116B 11C0;CB0D;110D 116B 11C0; +CB0E;CB0E;110D 116B 11C1;CB0E;110D 116B 11C1; +CB0F;CB0F;110D 116B 11C2;CB0F;110D 116B 11C2; +CB10;CB10;110D 116C;CB10;110D 116C; +CB11;CB11;110D 116C 11A8;CB11;110D 116C 11A8; +CB12;CB12;110D 116C 11A9;CB12;110D 116C 11A9; +CB13;CB13;110D 116C 11AA;CB13;110D 116C 11AA; +CB14;CB14;110D 116C 11AB;CB14;110D 116C 11AB; +CB15;CB15;110D 116C 11AC;CB15;110D 116C 11AC; +CB16;CB16;110D 116C 11AD;CB16;110D 116C 11AD; +CB17;CB17;110D 116C 11AE;CB17;110D 116C 11AE; +CB18;CB18;110D 116C 11AF;CB18;110D 116C 11AF; +CB19;CB19;110D 116C 11B0;CB19;110D 116C 11B0; +CB1A;CB1A;110D 116C 11B1;CB1A;110D 116C 11B1; +CB1B;CB1B;110D 116C 11B2;CB1B;110D 116C 11B2; +CB1C;CB1C;110D 116C 11B3;CB1C;110D 116C 11B3; +CB1D;CB1D;110D 116C 11B4;CB1D;110D 116C 11B4; +CB1E;CB1E;110D 116C 11B5;CB1E;110D 116C 11B5; +CB1F;CB1F;110D 116C 11B6;CB1F;110D 116C 11B6; +CB20;CB20;110D 116C 11B7;CB20;110D 116C 11B7; +CB21;CB21;110D 116C 11B8;CB21;110D 116C 11B8; +CB22;CB22;110D 116C 11B9;CB22;110D 116C 11B9; +CB23;CB23;110D 116C 11BA;CB23;110D 116C 11BA; +CB24;CB24;110D 116C 11BB;CB24;110D 116C 11BB; +CB25;CB25;110D 116C 11BC;CB25;110D 116C 11BC; +CB26;CB26;110D 116C 11BD;CB26;110D 116C 11BD; +CB27;CB27;110D 116C 11BE;CB27;110D 116C 11BE; +CB28;CB28;110D 116C 11BF;CB28;110D 116C 11BF; +CB29;CB29;110D 116C 11C0;CB29;110D 116C 11C0; +CB2A;CB2A;110D 116C 11C1;CB2A;110D 116C 11C1; +CB2B;CB2B;110D 116C 11C2;CB2B;110D 116C 11C2; +CB2C;CB2C;110D 116D;CB2C;110D 116D; +CB2D;CB2D;110D 116D 11A8;CB2D;110D 116D 11A8; +CB2E;CB2E;110D 116D 11A9;CB2E;110D 116D 11A9; +CB2F;CB2F;110D 116D 11AA;CB2F;110D 116D 11AA; +CB30;CB30;110D 116D 11AB;CB30;110D 116D 11AB; +CB31;CB31;110D 116D 11AC;CB31;110D 116D 11AC; +CB32;CB32;110D 116D 11AD;CB32;110D 116D 11AD; +CB33;CB33;110D 116D 11AE;CB33;110D 116D 11AE; +CB34;CB34;110D 116D 11AF;CB34;110D 116D 11AF; +CB35;CB35;110D 116D 11B0;CB35;110D 116D 11B0; +CB36;CB36;110D 116D 11B1;CB36;110D 116D 11B1; +CB37;CB37;110D 116D 11B2;CB37;110D 116D 11B2; +CB38;CB38;110D 116D 11B3;CB38;110D 116D 11B3; +CB39;CB39;110D 116D 11B4;CB39;110D 116D 11B4; +CB3A;CB3A;110D 116D 11B5;CB3A;110D 116D 11B5; +CB3B;CB3B;110D 116D 11B6;CB3B;110D 116D 11B6; +CB3C;CB3C;110D 116D 11B7;CB3C;110D 116D 11B7; +CB3D;CB3D;110D 116D 11B8;CB3D;110D 116D 11B8; +CB3E;CB3E;110D 116D 11B9;CB3E;110D 116D 11B9; +CB3F;CB3F;110D 116D 11BA;CB3F;110D 116D 11BA; +CB40;CB40;110D 116D 11BB;CB40;110D 116D 11BB; +CB41;CB41;110D 116D 11BC;CB41;110D 116D 11BC; +CB42;CB42;110D 116D 11BD;CB42;110D 116D 11BD; +CB43;CB43;110D 116D 11BE;CB43;110D 116D 11BE; +CB44;CB44;110D 116D 11BF;CB44;110D 116D 11BF; +CB45;CB45;110D 116D 11C0;CB45;110D 116D 11C0; +CB46;CB46;110D 116D 11C1;CB46;110D 116D 11C1; +CB47;CB47;110D 116D 11C2;CB47;110D 116D 11C2; +CB48;CB48;110D 116E;CB48;110D 116E; +CB49;CB49;110D 116E 11A8;CB49;110D 116E 11A8; +CB4A;CB4A;110D 116E 11A9;CB4A;110D 116E 11A9; +CB4B;CB4B;110D 116E 11AA;CB4B;110D 116E 11AA; +CB4C;CB4C;110D 116E 11AB;CB4C;110D 116E 11AB; +CB4D;CB4D;110D 116E 11AC;CB4D;110D 116E 11AC; +CB4E;CB4E;110D 116E 11AD;CB4E;110D 116E 11AD; +CB4F;CB4F;110D 116E 11AE;CB4F;110D 116E 11AE; +CB50;CB50;110D 116E 11AF;CB50;110D 116E 11AF; +CB51;CB51;110D 116E 11B0;CB51;110D 116E 11B0; +CB52;CB52;110D 116E 11B1;CB52;110D 116E 11B1; +CB53;CB53;110D 116E 11B2;CB53;110D 116E 11B2; +CB54;CB54;110D 116E 11B3;CB54;110D 116E 11B3; +CB55;CB55;110D 116E 11B4;CB55;110D 116E 11B4; +CB56;CB56;110D 116E 11B5;CB56;110D 116E 11B5; +CB57;CB57;110D 116E 11B6;CB57;110D 116E 11B6; +CB58;CB58;110D 116E 11B7;CB58;110D 116E 11B7; +CB59;CB59;110D 116E 11B8;CB59;110D 116E 11B8; +CB5A;CB5A;110D 116E 11B9;CB5A;110D 116E 11B9; +CB5B;CB5B;110D 116E 11BA;CB5B;110D 116E 11BA; +CB5C;CB5C;110D 116E 11BB;CB5C;110D 116E 11BB; +CB5D;CB5D;110D 116E 11BC;CB5D;110D 116E 11BC; +CB5E;CB5E;110D 116E 11BD;CB5E;110D 116E 11BD; +CB5F;CB5F;110D 116E 11BE;CB5F;110D 116E 11BE; +CB60;CB60;110D 116E 11BF;CB60;110D 116E 11BF; +CB61;CB61;110D 116E 11C0;CB61;110D 116E 11C0; +CB62;CB62;110D 116E 11C1;CB62;110D 116E 11C1; +CB63;CB63;110D 116E 11C2;CB63;110D 116E 11C2; +CB64;CB64;110D 116F;CB64;110D 116F; +CB65;CB65;110D 116F 11A8;CB65;110D 116F 11A8; +CB66;CB66;110D 116F 11A9;CB66;110D 116F 11A9; +CB67;CB67;110D 116F 11AA;CB67;110D 116F 11AA; +CB68;CB68;110D 116F 11AB;CB68;110D 116F 11AB; +CB69;CB69;110D 116F 11AC;CB69;110D 116F 11AC; +CB6A;CB6A;110D 116F 11AD;CB6A;110D 116F 11AD; +CB6B;CB6B;110D 116F 11AE;CB6B;110D 116F 11AE; +CB6C;CB6C;110D 116F 11AF;CB6C;110D 116F 11AF; +CB6D;CB6D;110D 116F 11B0;CB6D;110D 116F 11B0; +CB6E;CB6E;110D 116F 11B1;CB6E;110D 116F 11B1; +CB6F;CB6F;110D 116F 11B2;CB6F;110D 116F 11B2; +CB70;CB70;110D 116F 11B3;CB70;110D 116F 11B3; +CB71;CB71;110D 116F 11B4;CB71;110D 116F 11B4; +CB72;CB72;110D 116F 11B5;CB72;110D 116F 11B5; +CB73;CB73;110D 116F 11B6;CB73;110D 116F 11B6; +CB74;CB74;110D 116F 11B7;CB74;110D 116F 11B7; +CB75;CB75;110D 116F 11B8;CB75;110D 116F 11B8; +CB76;CB76;110D 116F 11B9;CB76;110D 116F 11B9; +CB77;CB77;110D 116F 11BA;CB77;110D 116F 11BA; +CB78;CB78;110D 116F 11BB;CB78;110D 116F 11BB; +CB79;CB79;110D 116F 11BC;CB79;110D 116F 11BC; +CB7A;CB7A;110D 116F 11BD;CB7A;110D 116F 11BD; +CB7B;CB7B;110D 116F 11BE;CB7B;110D 116F 11BE; +CB7C;CB7C;110D 116F 11BF;CB7C;110D 116F 11BF; +CB7D;CB7D;110D 116F 11C0;CB7D;110D 116F 11C0; +CB7E;CB7E;110D 116F 11C1;CB7E;110D 116F 11C1; +CB7F;CB7F;110D 116F 11C2;CB7F;110D 116F 11C2; +CB80;CB80;110D 1170;CB80;110D 1170; +CB81;CB81;110D 1170 11A8;CB81;110D 1170 11A8; +CB82;CB82;110D 1170 11A9;CB82;110D 1170 11A9; +CB83;CB83;110D 1170 11AA;CB83;110D 1170 11AA; +CB84;CB84;110D 1170 11AB;CB84;110D 1170 11AB; +CB85;CB85;110D 1170 11AC;CB85;110D 1170 11AC; +CB86;CB86;110D 1170 11AD;CB86;110D 1170 11AD; +CB87;CB87;110D 1170 11AE;CB87;110D 1170 11AE; +CB88;CB88;110D 1170 11AF;CB88;110D 1170 11AF; +CB89;CB89;110D 1170 11B0;CB89;110D 1170 11B0; +CB8A;CB8A;110D 1170 11B1;CB8A;110D 1170 11B1; +CB8B;CB8B;110D 1170 11B2;CB8B;110D 1170 11B2; +CB8C;CB8C;110D 1170 11B3;CB8C;110D 1170 11B3; +CB8D;CB8D;110D 1170 11B4;CB8D;110D 1170 11B4; +CB8E;CB8E;110D 1170 11B5;CB8E;110D 1170 11B5; +CB8F;CB8F;110D 1170 11B6;CB8F;110D 1170 11B6; +CB90;CB90;110D 1170 11B7;CB90;110D 1170 11B7; +CB91;CB91;110D 1170 11B8;CB91;110D 1170 11B8; +CB92;CB92;110D 1170 11B9;CB92;110D 1170 11B9; +CB93;CB93;110D 1170 11BA;CB93;110D 1170 11BA; +CB94;CB94;110D 1170 11BB;CB94;110D 1170 11BB; +CB95;CB95;110D 1170 11BC;CB95;110D 1170 11BC; +CB96;CB96;110D 1170 11BD;CB96;110D 1170 11BD; +CB97;CB97;110D 1170 11BE;CB97;110D 1170 11BE; +CB98;CB98;110D 1170 11BF;CB98;110D 1170 11BF; +CB99;CB99;110D 1170 11C0;CB99;110D 1170 11C0; +CB9A;CB9A;110D 1170 11C1;CB9A;110D 1170 11C1; +CB9B;CB9B;110D 1170 11C2;CB9B;110D 1170 11C2; +CB9C;CB9C;110D 1171;CB9C;110D 1171; +CB9D;CB9D;110D 1171 11A8;CB9D;110D 1171 11A8; +CB9E;CB9E;110D 1171 11A9;CB9E;110D 1171 11A9; +CB9F;CB9F;110D 1171 11AA;CB9F;110D 1171 11AA; +CBA0;CBA0;110D 1171 11AB;CBA0;110D 1171 11AB; +CBA1;CBA1;110D 1171 11AC;CBA1;110D 1171 11AC; +CBA2;CBA2;110D 1171 11AD;CBA2;110D 1171 11AD; +CBA3;CBA3;110D 1171 11AE;CBA3;110D 1171 11AE; +CBA4;CBA4;110D 1171 11AF;CBA4;110D 1171 11AF; +CBA5;CBA5;110D 1171 11B0;CBA5;110D 1171 11B0; +CBA6;CBA6;110D 1171 11B1;CBA6;110D 1171 11B1; +CBA7;CBA7;110D 1171 11B2;CBA7;110D 1171 11B2; +CBA8;CBA8;110D 1171 11B3;CBA8;110D 1171 11B3; +CBA9;CBA9;110D 1171 11B4;CBA9;110D 1171 11B4; +CBAA;CBAA;110D 1171 11B5;CBAA;110D 1171 11B5; +CBAB;CBAB;110D 1171 11B6;CBAB;110D 1171 11B6; +CBAC;CBAC;110D 1171 11B7;CBAC;110D 1171 11B7; +CBAD;CBAD;110D 1171 11B8;CBAD;110D 1171 11B8; +CBAE;CBAE;110D 1171 11B9;CBAE;110D 1171 11B9; +CBAF;CBAF;110D 1171 11BA;CBAF;110D 1171 11BA; +CBB0;CBB0;110D 1171 11BB;CBB0;110D 1171 11BB; +CBB1;CBB1;110D 1171 11BC;CBB1;110D 1171 11BC; +CBB2;CBB2;110D 1171 11BD;CBB2;110D 1171 11BD; +CBB3;CBB3;110D 1171 11BE;CBB3;110D 1171 11BE; +CBB4;CBB4;110D 1171 11BF;CBB4;110D 1171 11BF; +CBB5;CBB5;110D 1171 11C0;CBB5;110D 1171 11C0; +CBB6;CBB6;110D 1171 11C1;CBB6;110D 1171 11C1; +CBB7;CBB7;110D 1171 11C2;CBB7;110D 1171 11C2; +CBB8;CBB8;110D 1172;CBB8;110D 1172; +CBB9;CBB9;110D 1172 11A8;CBB9;110D 1172 11A8; +CBBA;CBBA;110D 1172 11A9;CBBA;110D 1172 11A9; +CBBB;CBBB;110D 1172 11AA;CBBB;110D 1172 11AA; +CBBC;CBBC;110D 1172 11AB;CBBC;110D 1172 11AB; +CBBD;CBBD;110D 1172 11AC;CBBD;110D 1172 11AC; +CBBE;CBBE;110D 1172 11AD;CBBE;110D 1172 11AD; +CBBF;CBBF;110D 1172 11AE;CBBF;110D 1172 11AE; +CBC0;CBC0;110D 1172 11AF;CBC0;110D 1172 11AF; +CBC1;CBC1;110D 1172 11B0;CBC1;110D 1172 11B0; +CBC2;CBC2;110D 1172 11B1;CBC2;110D 1172 11B1; +CBC3;CBC3;110D 1172 11B2;CBC3;110D 1172 11B2; +CBC4;CBC4;110D 1172 11B3;CBC4;110D 1172 11B3; +CBC5;CBC5;110D 1172 11B4;CBC5;110D 1172 11B4; +CBC6;CBC6;110D 1172 11B5;CBC6;110D 1172 11B5; +CBC7;CBC7;110D 1172 11B6;CBC7;110D 1172 11B6; +CBC8;CBC8;110D 1172 11B7;CBC8;110D 1172 11B7; +CBC9;CBC9;110D 1172 11B8;CBC9;110D 1172 11B8; +CBCA;CBCA;110D 1172 11B9;CBCA;110D 1172 11B9; +CBCB;CBCB;110D 1172 11BA;CBCB;110D 1172 11BA; +CBCC;CBCC;110D 1172 11BB;CBCC;110D 1172 11BB; +CBCD;CBCD;110D 1172 11BC;CBCD;110D 1172 11BC; +CBCE;CBCE;110D 1172 11BD;CBCE;110D 1172 11BD; +CBCF;CBCF;110D 1172 11BE;CBCF;110D 1172 11BE; +CBD0;CBD0;110D 1172 11BF;CBD0;110D 1172 11BF; +CBD1;CBD1;110D 1172 11C0;CBD1;110D 1172 11C0; +CBD2;CBD2;110D 1172 11C1;CBD2;110D 1172 11C1; +CBD3;CBD3;110D 1172 11C2;CBD3;110D 1172 11C2; +CBD4;CBD4;110D 1173;CBD4;110D 1173; +CBD5;CBD5;110D 1173 11A8;CBD5;110D 1173 11A8; +CBD6;CBD6;110D 1173 11A9;CBD6;110D 1173 11A9; +CBD7;CBD7;110D 1173 11AA;CBD7;110D 1173 11AA; +CBD8;CBD8;110D 1173 11AB;CBD8;110D 1173 11AB; +CBD9;CBD9;110D 1173 11AC;CBD9;110D 1173 11AC; +CBDA;CBDA;110D 1173 11AD;CBDA;110D 1173 11AD; +CBDB;CBDB;110D 1173 11AE;CBDB;110D 1173 11AE; +CBDC;CBDC;110D 1173 11AF;CBDC;110D 1173 11AF; +CBDD;CBDD;110D 1173 11B0;CBDD;110D 1173 11B0; +CBDE;CBDE;110D 1173 11B1;CBDE;110D 1173 11B1; +CBDF;CBDF;110D 1173 11B2;CBDF;110D 1173 11B2; +CBE0;CBE0;110D 1173 11B3;CBE0;110D 1173 11B3; +CBE1;CBE1;110D 1173 11B4;CBE1;110D 1173 11B4; +CBE2;CBE2;110D 1173 11B5;CBE2;110D 1173 11B5; +CBE3;CBE3;110D 1173 11B6;CBE3;110D 1173 11B6; +CBE4;CBE4;110D 1173 11B7;CBE4;110D 1173 11B7; +CBE5;CBE5;110D 1173 11B8;CBE5;110D 1173 11B8; +CBE6;CBE6;110D 1173 11B9;CBE6;110D 1173 11B9; +CBE7;CBE7;110D 1173 11BA;CBE7;110D 1173 11BA; +CBE8;CBE8;110D 1173 11BB;CBE8;110D 1173 11BB; +CBE9;CBE9;110D 1173 11BC;CBE9;110D 1173 11BC; +CBEA;CBEA;110D 1173 11BD;CBEA;110D 1173 11BD; +CBEB;CBEB;110D 1173 11BE;CBEB;110D 1173 11BE; +CBEC;CBEC;110D 1173 11BF;CBEC;110D 1173 11BF; +CBED;CBED;110D 1173 11C0;CBED;110D 1173 11C0; +CBEE;CBEE;110D 1173 11C1;CBEE;110D 1173 11C1; +CBEF;CBEF;110D 1173 11C2;CBEF;110D 1173 11C2; +CBF0;CBF0;110D 1174;CBF0;110D 1174; +CBF1;CBF1;110D 1174 11A8;CBF1;110D 1174 11A8; +CBF2;CBF2;110D 1174 11A9;CBF2;110D 1174 11A9; +CBF3;CBF3;110D 1174 11AA;CBF3;110D 1174 11AA; +CBF4;CBF4;110D 1174 11AB;CBF4;110D 1174 11AB; +CBF5;CBF5;110D 1174 11AC;CBF5;110D 1174 11AC; +CBF6;CBF6;110D 1174 11AD;CBF6;110D 1174 11AD; +CBF7;CBF7;110D 1174 11AE;CBF7;110D 1174 11AE; +CBF8;CBF8;110D 1174 11AF;CBF8;110D 1174 11AF; +CBF9;CBF9;110D 1174 11B0;CBF9;110D 1174 11B0; +CBFA;CBFA;110D 1174 11B1;CBFA;110D 1174 11B1; +CBFB;CBFB;110D 1174 11B2;CBFB;110D 1174 11B2; +CBFC;CBFC;110D 1174 11B3;CBFC;110D 1174 11B3; +CBFD;CBFD;110D 1174 11B4;CBFD;110D 1174 11B4; +CBFE;CBFE;110D 1174 11B5;CBFE;110D 1174 11B5; +CBFF;CBFF;110D 1174 11B6;CBFF;110D 1174 11B6; +CC00;CC00;110D 1174 11B7;CC00;110D 1174 11B7; +CC01;CC01;110D 1174 11B8;CC01;110D 1174 11B8; +CC02;CC02;110D 1174 11B9;CC02;110D 1174 11B9; +CC03;CC03;110D 1174 11BA;CC03;110D 1174 11BA; +CC04;CC04;110D 1174 11BB;CC04;110D 1174 11BB; +CC05;CC05;110D 1174 11BC;CC05;110D 1174 11BC; +CC06;CC06;110D 1174 11BD;CC06;110D 1174 11BD; +CC07;CC07;110D 1174 11BE;CC07;110D 1174 11BE; +CC08;CC08;110D 1174 11BF;CC08;110D 1174 11BF; +CC09;CC09;110D 1174 11C0;CC09;110D 1174 11C0; +CC0A;CC0A;110D 1174 11C1;CC0A;110D 1174 11C1; +CC0B;CC0B;110D 1174 11C2;CC0B;110D 1174 11C2; +CC0C;CC0C;110D 1175;CC0C;110D 1175; +CC0D;CC0D;110D 1175 11A8;CC0D;110D 1175 11A8; +CC0E;CC0E;110D 1175 11A9;CC0E;110D 1175 11A9; +CC0F;CC0F;110D 1175 11AA;CC0F;110D 1175 11AA; +CC10;CC10;110D 1175 11AB;CC10;110D 1175 11AB; +CC11;CC11;110D 1175 11AC;CC11;110D 1175 11AC; +CC12;CC12;110D 1175 11AD;CC12;110D 1175 11AD; +CC13;CC13;110D 1175 11AE;CC13;110D 1175 11AE; +CC14;CC14;110D 1175 11AF;CC14;110D 1175 11AF; +CC15;CC15;110D 1175 11B0;CC15;110D 1175 11B0; +CC16;CC16;110D 1175 11B1;CC16;110D 1175 11B1; +CC17;CC17;110D 1175 11B2;CC17;110D 1175 11B2; +CC18;CC18;110D 1175 11B3;CC18;110D 1175 11B3; +CC19;CC19;110D 1175 11B4;CC19;110D 1175 11B4; +CC1A;CC1A;110D 1175 11B5;CC1A;110D 1175 11B5; +CC1B;CC1B;110D 1175 11B6;CC1B;110D 1175 11B6; +CC1C;CC1C;110D 1175 11B7;CC1C;110D 1175 11B7; +CC1D;CC1D;110D 1175 11B8;CC1D;110D 1175 11B8; +CC1E;CC1E;110D 1175 11B9;CC1E;110D 1175 11B9; +CC1F;CC1F;110D 1175 11BA;CC1F;110D 1175 11BA; +CC20;CC20;110D 1175 11BB;CC20;110D 1175 11BB; +CC21;CC21;110D 1175 11BC;CC21;110D 1175 11BC; +CC22;CC22;110D 1175 11BD;CC22;110D 1175 11BD; +CC23;CC23;110D 1175 11BE;CC23;110D 1175 11BE; +CC24;CC24;110D 1175 11BF;CC24;110D 1175 11BF; +CC25;CC25;110D 1175 11C0;CC25;110D 1175 11C0; +CC26;CC26;110D 1175 11C1;CC26;110D 1175 11C1; +CC27;CC27;110D 1175 11C2;CC27;110D 1175 11C2; +CC28;CC28;110E 1161;CC28;110E 1161; +CC29;CC29;110E 1161 11A8;CC29;110E 1161 11A8; +CC2A;CC2A;110E 1161 11A9;CC2A;110E 1161 11A9; +CC2B;CC2B;110E 1161 11AA;CC2B;110E 1161 11AA; +CC2C;CC2C;110E 1161 11AB;CC2C;110E 1161 11AB; +CC2D;CC2D;110E 1161 11AC;CC2D;110E 1161 11AC; +CC2E;CC2E;110E 1161 11AD;CC2E;110E 1161 11AD; +CC2F;CC2F;110E 1161 11AE;CC2F;110E 1161 11AE; +CC30;CC30;110E 1161 11AF;CC30;110E 1161 11AF; +CC31;CC31;110E 1161 11B0;CC31;110E 1161 11B0; +CC32;CC32;110E 1161 11B1;CC32;110E 1161 11B1; +CC33;CC33;110E 1161 11B2;CC33;110E 1161 11B2; +CC34;CC34;110E 1161 11B3;CC34;110E 1161 11B3; +CC35;CC35;110E 1161 11B4;CC35;110E 1161 11B4; +CC36;CC36;110E 1161 11B5;CC36;110E 1161 11B5; +CC37;CC37;110E 1161 11B6;CC37;110E 1161 11B6; +CC38;CC38;110E 1161 11B7;CC38;110E 1161 11B7; +CC39;CC39;110E 1161 11B8;CC39;110E 1161 11B8; +CC3A;CC3A;110E 1161 11B9;CC3A;110E 1161 11B9; +CC3B;CC3B;110E 1161 11BA;CC3B;110E 1161 11BA; +CC3C;CC3C;110E 1161 11BB;CC3C;110E 1161 11BB; +CC3D;CC3D;110E 1161 11BC;CC3D;110E 1161 11BC; +CC3E;CC3E;110E 1161 11BD;CC3E;110E 1161 11BD; +CC3F;CC3F;110E 1161 11BE;CC3F;110E 1161 11BE; +CC40;CC40;110E 1161 11BF;CC40;110E 1161 11BF; +CC41;CC41;110E 1161 11C0;CC41;110E 1161 11C0; +CC42;CC42;110E 1161 11C1;CC42;110E 1161 11C1; +CC43;CC43;110E 1161 11C2;CC43;110E 1161 11C2; +CC44;CC44;110E 1162;CC44;110E 1162; +CC45;CC45;110E 1162 11A8;CC45;110E 1162 11A8; +CC46;CC46;110E 1162 11A9;CC46;110E 1162 11A9; +CC47;CC47;110E 1162 11AA;CC47;110E 1162 11AA; +CC48;CC48;110E 1162 11AB;CC48;110E 1162 11AB; +CC49;CC49;110E 1162 11AC;CC49;110E 1162 11AC; +CC4A;CC4A;110E 1162 11AD;CC4A;110E 1162 11AD; +CC4B;CC4B;110E 1162 11AE;CC4B;110E 1162 11AE; +CC4C;CC4C;110E 1162 11AF;CC4C;110E 1162 11AF; +CC4D;CC4D;110E 1162 11B0;CC4D;110E 1162 11B0; +CC4E;CC4E;110E 1162 11B1;CC4E;110E 1162 11B1; +CC4F;CC4F;110E 1162 11B2;CC4F;110E 1162 11B2; +CC50;CC50;110E 1162 11B3;CC50;110E 1162 11B3; +CC51;CC51;110E 1162 11B4;CC51;110E 1162 11B4; +CC52;CC52;110E 1162 11B5;CC52;110E 1162 11B5; +CC53;CC53;110E 1162 11B6;CC53;110E 1162 11B6; +CC54;CC54;110E 1162 11B7;CC54;110E 1162 11B7; +CC55;CC55;110E 1162 11B8;CC55;110E 1162 11B8; +CC56;CC56;110E 1162 11B9;CC56;110E 1162 11B9; +CC57;CC57;110E 1162 11BA;CC57;110E 1162 11BA; +CC58;CC58;110E 1162 11BB;CC58;110E 1162 11BB; +CC59;CC59;110E 1162 11BC;CC59;110E 1162 11BC; +CC5A;CC5A;110E 1162 11BD;CC5A;110E 1162 11BD; +CC5B;CC5B;110E 1162 11BE;CC5B;110E 1162 11BE; +CC5C;CC5C;110E 1162 11BF;CC5C;110E 1162 11BF; +CC5D;CC5D;110E 1162 11C0;CC5D;110E 1162 11C0; +CC5E;CC5E;110E 1162 11C1;CC5E;110E 1162 11C1; +CC5F;CC5F;110E 1162 11C2;CC5F;110E 1162 11C2; +CC60;CC60;110E 1163;CC60;110E 1163; +CC61;CC61;110E 1163 11A8;CC61;110E 1163 11A8; +CC62;CC62;110E 1163 11A9;CC62;110E 1163 11A9; +CC63;CC63;110E 1163 11AA;CC63;110E 1163 11AA; +CC64;CC64;110E 1163 11AB;CC64;110E 1163 11AB; +CC65;CC65;110E 1163 11AC;CC65;110E 1163 11AC; +CC66;CC66;110E 1163 11AD;CC66;110E 1163 11AD; +CC67;CC67;110E 1163 11AE;CC67;110E 1163 11AE; +CC68;CC68;110E 1163 11AF;CC68;110E 1163 11AF; +CC69;CC69;110E 1163 11B0;CC69;110E 1163 11B0; +CC6A;CC6A;110E 1163 11B1;CC6A;110E 1163 11B1; +CC6B;CC6B;110E 1163 11B2;CC6B;110E 1163 11B2; +CC6C;CC6C;110E 1163 11B3;CC6C;110E 1163 11B3; +CC6D;CC6D;110E 1163 11B4;CC6D;110E 1163 11B4; +CC6E;CC6E;110E 1163 11B5;CC6E;110E 1163 11B5; +CC6F;CC6F;110E 1163 11B6;CC6F;110E 1163 11B6; +CC70;CC70;110E 1163 11B7;CC70;110E 1163 11B7; +CC71;CC71;110E 1163 11B8;CC71;110E 1163 11B8; +CC72;CC72;110E 1163 11B9;CC72;110E 1163 11B9; +CC73;CC73;110E 1163 11BA;CC73;110E 1163 11BA; +CC74;CC74;110E 1163 11BB;CC74;110E 1163 11BB; +CC75;CC75;110E 1163 11BC;CC75;110E 1163 11BC; +CC76;CC76;110E 1163 11BD;CC76;110E 1163 11BD; +CC77;CC77;110E 1163 11BE;CC77;110E 1163 11BE; +CC78;CC78;110E 1163 11BF;CC78;110E 1163 11BF; +CC79;CC79;110E 1163 11C0;CC79;110E 1163 11C0; +CC7A;CC7A;110E 1163 11C1;CC7A;110E 1163 11C1; +CC7B;CC7B;110E 1163 11C2;CC7B;110E 1163 11C2; +CC7C;CC7C;110E 1164;CC7C;110E 1164; +CC7D;CC7D;110E 1164 11A8;CC7D;110E 1164 11A8; +CC7E;CC7E;110E 1164 11A9;CC7E;110E 1164 11A9; +CC7F;CC7F;110E 1164 11AA;CC7F;110E 1164 11AA; +CC80;CC80;110E 1164 11AB;CC80;110E 1164 11AB; +CC81;CC81;110E 1164 11AC;CC81;110E 1164 11AC; +CC82;CC82;110E 1164 11AD;CC82;110E 1164 11AD; +CC83;CC83;110E 1164 11AE;CC83;110E 1164 11AE; +CC84;CC84;110E 1164 11AF;CC84;110E 1164 11AF; +CC85;CC85;110E 1164 11B0;CC85;110E 1164 11B0; +CC86;CC86;110E 1164 11B1;CC86;110E 1164 11B1; +CC87;CC87;110E 1164 11B2;CC87;110E 1164 11B2; +CC88;CC88;110E 1164 11B3;CC88;110E 1164 11B3; +CC89;CC89;110E 1164 11B4;CC89;110E 1164 11B4; +CC8A;CC8A;110E 1164 11B5;CC8A;110E 1164 11B5; +CC8B;CC8B;110E 1164 11B6;CC8B;110E 1164 11B6; +CC8C;CC8C;110E 1164 11B7;CC8C;110E 1164 11B7; +CC8D;CC8D;110E 1164 11B8;CC8D;110E 1164 11B8; +CC8E;CC8E;110E 1164 11B9;CC8E;110E 1164 11B9; +CC8F;CC8F;110E 1164 11BA;CC8F;110E 1164 11BA; +CC90;CC90;110E 1164 11BB;CC90;110E 1164 11BB; +CC91;CC91;110E 1164 11BC;CC91;110E 1164 11BC; +CC92;CC92;110E 1164 11BD;CC92;110E 1164 11BD; +CC93;CC93;110E 1164 11BE;CC93;110E 1164 11BE; +CC94;CC94;110E 1164 11BF;CC94;110E 1164 11BF; +CC95;CC95;110E 1164 11C0;CC95;110E 1164 11C0; +CC96;CC96;110E 1164 11C1;CC96;110E 1164 11C1; +CC97;CC97;110E 1164 11C2;CC97;110E 1164 11C2; +CC98;CC98;110E 1165;CC98;110E 1165; +CC99;CC99;110E 1165 11A8;CC99;110E 1165 11A8; +CC9A;CC9A;110E 1165 11A9;CC9A;110E 1165 11A9; +CC9B;CC9B;110E 1165 11AA;CC9B;110E 1165 11AA; +CC9C;CC9C;110E 1165 11AB;CC9C;110E 1165 11AB; +CC9D;CC9D;110E 1165 11AC;CC9D;110E 1165 11AC; +CC9E;CC9E;110E 1165 11AD;CC9E;110E 1165 11AD; +CC9F;CC9F;110E 1165 11AE;CC9F;110E 1165 11AE; +CCA0;CCA0;110E 1165 11AF;CCA0;110E 1165 11AF; +CCA1;CCA1;110E 1165 11B0;CCA1;110E 1165 11B0; +CCA2;CCA2;110E 1165 11B1;CCA2;110E 1165 11B1; +CCA3;CCA3;110E 1165 11B2;CCA3;110E 1165 11B2; +CCA4;CCA4;110E 1165 11B3;CCA4;110E 1165 11B3; +CCA5;CCA5;110E 1165 11B4;CCA5;110E 1165 11B4; +CCA6;CCA6;110E 1165 11B5;CCA6;110E 1165 11B5; +CCA7;CCA7;110E 1165 11B6;CCA7;110E 1165 11B6; +CCA8;CCA8;110E 1165 11B7;CCA8;110E 1165 11B7; +CCA9;CCA9;110E 1165 11B8;CCA9;110E 1165 11B8; +CCAA;CCAA;110E 1165 11B9;CCAA;110E 1165 11B9; +CCAB;CCAB;110E 1165 11BA;CCAB;110E 1165 11BA; +CCAC;CCAC;110E 1165 11BB;CCAC;110E 1165 11BB; +CCAD;CCAD;110E 1165 11BC;CCAD;110E 1165 11BC; +CCAE;CCAE;110E 1165 11BD;CCAE;110E 1165 11BD; +CCAF;CCAF;110E 1165 11BE;CCAF;110E 1165 11BE; +CCB0;CCB0;110E 1165 11BF;CCB0;110E 1165 11BF; +CCB1;CCB1;110E 1165 11C0;CCB1;110E 1165 11C0; +CCB2;CCB2;110E 1165 11C1;CCB2;110E 1165 11C1; +CCB3;CCB3;110E 1165 11C2;CCB3;110E 1165 11C2; +CCB4;CCB4;110E 1166;CCB4;110E 1166; +CCB5;CCB5;110E 1166 11A8;CCB5;110E 1166 11A8; +CCB6;CCB6;110E 1166 11A9;CCB6;110E 1166 11A9; +CCB7;CCB7;110E 1166 11AA;CCB7;110E 1166 11AA; +CCB8;CCB8;110E 1166 11AB;CCB8;110E 1166 11AB; +CCB9;CCB9;110E 1166 11AC;CCB9;110E 1166 11AC; +CCBA;CCBA;110E 1166 11AD;CCBA;110E 1166 11AD; +CCBB;CCBB;110E 1166 11AE;CCBB;110E 1166 11AE; +CCBC;CCBC;110E 1166 11AF;CCBC;110E 1166 11AF; +CCBD;CCBD;110E 1166 11B0;CCBD;110E 1166 11B0; +CCBE;CCBE;110E 1166 11B1;CCBE;110E 1166 11B1; +CCBF;CCBF;110E 1166 11B2;CCBF;110E 1166 11B2; +CCC0;CCC0;110E 1166 11B3;CCC0;110E 1166 11B3; +CCC1;CCC1;110E 1166 11B4;CCC1;110E 1166 11B4; +CCC2;CCC2;110E 1166 11B5;CCC2;110E 1166 11B5; +CCC3;CCC3;110E 1166 11B6;CCC3;110E 1166 11B6; +CCC4;CCC4;110E 1166 11B7;CCC4;110E 1166 11B7; +CCC5;CCC5;110E 1166 11B8;CCC5;110E 1166 11B8; +CCC6;CCC6;110E 1166 11B9;CCC6;110E 1166 11B9; +CCC7;CCC7;110E 1166 11BA;CCC7;110E 1166 11BA; +CCC8;CCC8;110E 1166 11BB;CCC8;110E 1166 11BB; +CCC9;CCC9;110E 1166 11BC;CCC9;110E 1166 11BC; +CCCA;CCCA;110E 1166 11BD;CCCA;110E 1166 11BD; +CCCB;CCCB;110E 1166 11BE;CCCB;110E 1166 11BE; +CCCC;CCCC;110E 1166 11BF;CCCC;110E 1166 11BF; +CCCD;CCCD;110E 1166 11C0;CCCD;110E 1166 11C0; +CCCE;CCCE;110E 1166 11C1;CCCE;110E 1166 11C1; +CCCF;CCCF;110E 1166 11C2;CCCF;110E 1166 11C2; +CCD0;CCD0;110E 1167;CCD0;110E 1167; +CCD1;CCD1;110E 1167 11A8;CCD1;110E 1167 11A8; +CCD2;CCD2;110E 1167 11A9;CCD2;110E 1167 11A9; +CCD3;CCD3;110E 1167 11AA;CCD3;110E 1167 11AA; +CCD4;CCD4;110E 1167 11AB;CCD4;110E 1167 11AB; +CCD5;CCD5;110E 1167 11AC;CCD5;110E 1167 11AC; +CCD6;CCD6;110E 1167 11AD;CCD6;110E 1167 11AD; +CCD7;CCD7;110E 1167 11AE;CCD7;110E 1167 11AE; +CCD8;CCD8;110E 1167 11AF;CCD8;110E 1167 11AF; +CCD9;CCD9;110E 1167 11B0;CCD9;110E 1167 11B0; +CCDA;CCDA;110E 1167 11B1;CCDA;110E 1167 11B1; +CCDB;CCDB;110E 1167 11B2;CCDB;110E 1167 11B2; +CCDC;CCDC;110E 1167 11B3;CCDC;110E 1167 11B3; +CCDD;CCDD;110E 1167 11B4;CCDD;110E 1167 11B4; +CCDE;CCDE;110E 1167 11B5;CCDE;110E 1167 11B5; +CCDF;CCDF;110E 1167 11B6;CCDF;110E 1167 11B6; +CCE0;CCE0;110E 1167 11B7;CCE0;110E 1167 11B7; +CCE1;CCE1;110E 1167 11B8;CCE1;110E 1167 11B8; +CCE2;CCE2;110E 1167 11B9;CCE2;110E 1167 11B9; +CCE3;CCE3;110E 1167 11BA;CCE3;110E 1167 11BA; +CCE4;CCE4;110E 1167 11BB;CCE4;110E 1167 11BB; +CCE5;CCE5;110E 1167 11BC;CCE5;110E 1167 11BC; +CCE6;CCE6;110E 1167 11BD;CCE6;110E 1167 11BD; +CCE7;CCE7;110E 1167 11BE;CCE7;110E 1167 11BE; +CCE8;CCE8;110E 1167 11BF;CCE8;110E 1167 11BF; +CCE9;CCE9;110E 1167 11C0;CCE9;110E 1167 11C0; +CCEA;CCEA;110E 1167 11C1;CCEA;110E 1167 11C1; +CCEB;CCEB;110E 1167 11C2;CCEB;110E 1167 11C2; +CCEC;CCEC;110E 1168;CCEC;110E 1168; +CCED;CCED;110E 1168 11A8;CCED;110E 1168 11A8; +CCEE;CCEE;110E 1168 11A9;CCEE;110E 1168 11A9; +CCEF;CCEF;110E 1168 11AA;CCEF;110E 1168 11AA; +CCF0;CCF0;110E 1168 11AB;CCF0;110E 1168 11AB; +CCF1;CCF1;110E 1168 11AC;CCF1;110E 1168 11AC; +CCF2;CCF2;110E 1168 11AD;CCF2;110E 1168 11AD; +CCF3;CCF3;110E 1168 11AE;CCF3;110E 1168 11AE; +CCF4;CCF4;110E 1168 11AF;CCF4;110E 1168 11AF; +CCF5;CCF5;110E 1168 11B0;CCF5;110E 1168 11B0; +CCF6;CCF6;110E 1168 11B1;CCF6;110E 1168 11B1; +CCF7;CCF7;110E 1168 11B2;CCF7;110E 1168 11B2; +CCF8;CCF8;110E 1168 11B3;CCF8;110E 1168 11B3; +CCF9;CCF9;110E 1168 11B4;CCF9;110E 1168 11B4; +CCFA;CCFA;110E 1168 11B5;CCFA;110E 1168 11B5; +CCFB;CCFB;110E 1168 11B6;CCFB;110E 1168 11B6; +CCFC;CCFC;110E 1168 11B7;CCFC;110E 1168 11B7; +CCFD;CCFD;110E 1168 11B8;CCFD;110E 1168 11B8; +CCFE;CCFE;110E 1168 11B9;CCFE;110E 1168 11B9; +CCFF;CCFF;110E 1168 11BA;CCFF;110E 1168 11BA; +CD00;CD00;110E 1168 11BB;CD00;110E 1168 11BB; +CD01;CD01;110E 1168 11BC;CD01;110E 1168 11BC; +CD02;CD02;110E 1168 11BD;CD02;110E 1168 11BD; +CD03;CD03;110E 1168 11BE;CD03;110E 1168 11BE; +CD04;CD04;110E 1168 11BF;CD04;110E 1168 11BF; +CD05;CD05;110E 1168 11C0;CD05;110E 1168 11C0; +CD06;CD06;110E 1168 11C1;CD06;110E 1168 11C1; +CD07;CD07;110E 1168 11C2;CD07;110E 1168 11C2; +CD08;CD08;110E 1169;CD08;110E 1169; +CD09;CD09;110E 1169 11A8;CD09;110E 1169 11A8; +CD0A;CD0A;110E 1169 11A9;CD0A;110E 1169 11A9; +CD0B;CD0B;110E 1169 11AA;CD0B;110E 1169 11AA; +CD0C;CD0C;110E 1169 11AB;CD0C;110E 1169 11AB; +CD0D;CD0D;110E 1169 11AC;CD0D;110E 1169 11AC; +CD0E;CD0E;110E 1169 11AD;CD0E;110E 1169 11AD; +CD0F;CD0F;110E 1169 11AE;CD0F;110E 1169 11AE; +CD10;CD10;110E 1169 11AF;CD10;110E 1169 11AF; +CD11;CD11;110E 1169 11B0;CD11;110E 1169 11B0; +CD12;CD12;110E 1169 11B1;CD12;110E 1169 11B1; +CD13;CD13;110E 1169 11B2;CD13;110E 1169 11B2; +CD14;CD14;110E 1169 11B3;CD14;110E 1169 11B3; +CD15;CD15;110E 1169 11B4;CD15;110E 1169 11B4; +CD16;CD16;110E 1169 11B5;CD16;110E 1169 11B5; +CD17;CD17;110E 1169 11B6;CD17;110E 1169 11B6; +CD18;CD18;110E 1169 11B7;CD18;110E 1169 11B7; +CD19;CD19;110E 1169 11B8;CD19;110E 1169 11B8; +CD1A;CD1A;110E 1169 11B9;CD1A;110E 1169 11B9; +CD1B;CD1B;110E 1169 11BA;CD1B;110E 1169 11BA; +CD1C;CD1C;110E 1169 11BB;CD1C;110E 1169 11BB; +CD1D;CD1D;110E 1169 11BC;CD1D;110E 1169 11BC; +CD1E;CD1E;110E 1169 11BD;CD1E;110E 1169 11BD; +CD1F;CD1F;110E 1169 11BE;CD1F;110E 1169 11BE; +CD20;CD20;110E 1169 11BF;CD20;110E 1169 11BF; +CD21;CD21;110E 1169 11C0;CD21;110E 1169 11C0; +CD22;CD22;110E 1169 11C1;CD22;110E 1169 11C1; +CD23;CD23;110E 1169 11C2;CD23;110E 1169 11C2; +CD24;CD24;110E 116A;CD24;110E 116A; +CD25;CD25;110E 116A 11A8;CD25;110E 116A 11A8; +CD26;CD26;110E 116A 11A9;CD26;110E 116A 11A9; +CD27;CD27;110E 116A 11AA;CD27;110E 116A 11AA; +CD28;CD28;110E 116A 11AB;CD28;110E 116A 11AB; +CD29;CD29;110E 116A 11AC;CD29;110E 116A 11AC; +CD2A;CD2A;110E 116A 11AD;CD2A;110E 116A 11AD; +CD2B;CD2B;110E 116A 11AE;CD2B;110E 116A 11AE; +CD2C;CD2C;110E 116A 11AF;CD2C;110E 116A 11AF; +CD2D;CD2D;110E 116A 11B0;CD2D;110E 116A 11B0; +CD2E;CD2E;110E 116A 11B1;CD2E;110E 116A 11B1; +CD2F;CD2F;110E 116A 11B2;CD2F;110E 116A 11B2; +CD30;CD30;110E 116A 11B3;CD30;110E 116A 11B3; +CD31;CD31;110E 116A 11B4;CD31;110E 116A 11B4; +CD32;CD32;110E 116A 11B5;CD32;110E 116A 11B5; +CD33;CD33;110E 116A 11B6;CD33;110E 116A 11B6; +CD34;CD34;110E 116A 11B7;CD34;110E 116A 11B7; +CD35;CD35;110E 116A 11B8;CD35;110E 116A 11B8; +CD36;CD36;110E 116A 11B9;CD36;110E 116A 11B9; +CD37;CD37;110E 116A 11BA;CD37;110E 116A 11BA; +CD38;CD38;110E 116A 11BB;CD38;110E 116A 11BB; +CD39;CD39;110E 116A 11BC;CD39;110E 116A 11BC; +CD3A;CD3A;110E 116A 11BD;CD3A;110E 116A 11BD; +CD3B;CD3B;110E 116A 11BE;CD3B;110E 116A 11BE; +CD3C;CD3C;110E 116A 11BF;CD3C;110E 116A 11BF; +CD3D;CD3D;110E 116A 11C0;CD3D;110E 116A 11C0; +CD3E;CD3E;110E 116A 11C1;CD3E;110E 116A 11C1; +CD3F;CD3F;110E 116A 11C2;CD3F;110E 116A 11C2; +CD40;CD40;110E 116B;CD40;110E 116B; +CD41;CD41;110E 116B 11A8;CD41;110E 116B 11A8; +CD42;CD42;110E 116B 11A9;CD42;110E 116B 11A9; +CD43;CD43;110E 116B 11AA;CD43;110E 116B 11AA; +CD44;CD44;110E 116B 11AB;CD44;110E 116B 11AB; +CD45;CD45;110E 116B 11AC;CD45;110E 116B 11AC; +CD46;CD46;110E 116B 11AD;CD46;110E 116B 11AD; +CD47;CD47;110E 116B 11AE;CD47;110E 116B 11AE; +CD48;CD48;110E 116B 11AF;CD48;110E 116B 11AF; +CD49;CD49;110E 116B 11B0;CD49;110E 116B 11B0; +CD4A;CD4A;110E 116B 11B1;CD4A;110E 116B 11B1; +CD4B;CD4B;110E 116B 11B2;CD4B;110E 116B 11B2; +CD4C;CD4C;110E 116B 11B3;CD4C;110E 116B 11B3; +CD4D;CD4D;110E 116B 11B4;CD4D;110E 116B 11B4; +CD4E;CD4E;110E 116B 11B5;CD4E;110E 116B 11B5; +CD4F;CD4F;110E 116B 11B6;CD4F;110E 116B 11B6; +CD50;CD50;110E 116B 11B7;CD50;110E 116B 11B7; +CD51;CD51;110E 116B 11B8;CD51;110E 116B 11B8; +CD52;CD52;110E 116B 11B9;CD52;110E 116B 11B9; +CD53;CD53;110E 116B 11BA;CD53;110E 116B 11BA; +CD54;CD54;110E 116B 11BB;CD54;110E 116B 11BB; +CD55;CD55;110E 116B 11BC;CD55;110E 116B 11BC; +CD56;CD56;110E 116B 11BD;CD56;110E 116B 11BD; +CD57;CD57;110E 116B 11BE;CD57;110E 116B 11BE; +CD58;CD58;110E 116B 11BF;CD58;110E 116B 11BF; +CD59;CD59;110E 116B 11C0;CD59;110E 116B 11C0; +CD5A;CD5A;110E 116B 11C1;CD5A;110E 116B 11C1; +CD5B;CD5B;110E 116B 11C2;CD5B;110E 116B 11C2; +CD5C;CD5C;110E 116C;CD5C;110E 116C; +CD5D;CD5D;110E 116C 11A8;CD5D;110E 116C 11A8; +CD5E;CD5E;110E 116C 11A9;CD5E;110E 116C 11A9; +CD5F;CD5F;110E 116C 11AA;CD5F;110E 116C 11AA; +CD60;CD60;110E 116C 11AB;CD60;110E 116C 11AB; +CD61;CD61;110E 116C 11AC;CD61;110E 116C 11AC; +CD62;CD62;110E 116C 11AD;CD62;110E 116C 11AD; +CD63;CD63;110E 116C 11AE;CD63;110E 116C 11AE; +CD64;CD64;110E 116C 11AF;CD64;110E 116C 11AF; +CD65;CD65;110E 116C 11B0;CD65;110E 116C 11B0; +CD66;CD66;110E 116C 11B1;CD66;110E 116C 11B1; +CD67;CD67;110E 116C 11B2;CD67;110E 116C 11B2; +CD68;CD68;110E 116C 11B3;CD68;110E 116C 11B3; +CD69;CD69;110E 116C 11B4;CD69;110E 116C 11B4; +CD6A;CD6A;110E 116C 11B5;CD6A;110E 116C 11B5; +CD6B;CD6B;110E 116C 11B6;CD6B;110E 116C 11B6; +CD6C;CD6C;110E 116C 11B7;CD6C;110E 116C 11B7; +CD6D;CD6D;110E 116C 11B8;CD6D;110E 116C 11B8; +CD6E;CD6E;110E 116C 11B9;CD6E;110E 116C 11B9; +CD6F;CD6F;110E 116C 11BA;CD6F;110E 116C 11BA; +CD70;CD70;110E 116C 11BB;CD70;110E 116C 11BB; +CD71;CD71;110E 116C 11BC;CD71;110E 116C 11BC; +CD72;CD72;110E 116C 11BD;CD72;110E 116C 11BD; +CD73;CD73;110E 116C 11BE;CD73;110E 116C 11BE; +CD74;CD74;110E 116C 11BF;CD74;110E 116C 11BF; +CD75;CD75;110E 116C 11C0;CD75;110E 116C 11C0; +CD76;CD76;110E 116C 11C1;CD76;110E 116C 11C1; +CD77;CD77;110E 116C 11C2;CD77;110E 116C 11C2; +CD78;CD78;110E 116D;CD78;110E 116D; +CD79;CD79;110E 116D 11A8;CD79;110E 116D 11A8; +CD7A;CD7A;110E 116D 11A9;CD7A;110E 116D 11A9; +CD7B;CD7B;110E 116D 11AA;CD7B;110E 116D 11AA; +CD7C;CD7C;110E 116D 11AB;CD7C;110E 116D 11AB; +CD7D;CD7D;110E 116D 11AC;CD7D;110E 116D 11AC; +CD7E;CD7E;110E 116D 11AD;CD7E;110E 116D 11AD; +CD7F;CD7F;110E 116D 11AE;CD7F;110E 116D 11AE; +CD80;CD80;110E 116D 11AF;CD80;110E 116D 11AF; +CD81;CD81;110E 116D 11B0;CD81;110E 116D 11B0; +CD82;CD82;110E 116D 11B1;CD82;110E 116D 11B1; +CD83;CD83;110E 116D 11B2;CD83;110E 116D 11B2; +CD84;CD84;110E 116D 11B3;CD84;110E 116D 11B3; +CD85;CD85;110E 116D 11B4;CD85;110E 116D 11B4; +CD86;CD86;110E 116D 11B5;CD86;110E 116D 11B5; +CD87;CD87;110E 116D 11B6;CD87;110E 116D 11B6; +CD88;CD88;110E 116D 11B7;CD88;110E 116D 11B7; +CD89;CD89;110E 116D 11B8;CD89;110E 116D 11B8; +CD8A;CD8A;110E 116D 11B9;CD8A;110E 116D 11B9; +CD8B;CD8B;110E 116D 11BA;CD8B;110E 116D 11BA; +CD8C;CD8C;110E 116D 11BB;CD8C;110E 116D 11BB; +CD8D;CD8D;110E 116D 11BC;CD8D;110E 116D 11BC; +CD8E;CD8E;110E 116D 11BD;CD8E;110E 116D 11BD; +CD8F;CD8F;110E 116D 11BE;CD8F;110E 116D 11BE; +CD90;CD90;110E 116D 11BF;CD90;110E 116D 11BF; +CD91;CD91;110E 116D 11C0;CD91;110E 116D 11C0; +CD92;CD92;110E 116D 11C1;CD92;110E 116D 11C1; +CD93;CD93;110E 116D 11C2;CD93;110E 116D 11C2; +CD94;CD94;110E 116E;CD94;110E 116E; +CD95;CD95;110E 116E 11A8;CD95;110E 116E 11A8; +CD96;CD96;110E 116E 11A9;CD96;110E 116E 11A9; +CD97;CD97;110E 116E 11AA;CD97;110E 116E 11AA; +CD98;CD98;110E 116E 11AB;CD98;110E 116E 11AB; +CD99;CD99;110E 116E 11AC;CD99;110E 116E 11AC; +CD9A;CD9A;110E 116E 11AD;CD9A;110E 116E 11AD; +CD9B;CD9B;110E 116E 11AE;CD9B;110E 116E 11AE; +CD9C;CD9C;110E 116E 11AF;CD9C;110E 116E 11AF; +CD9D;CD9D;110E 116E 11B0;CD9D;110E 116E 11B0; +CD9E;CD9E;110E 116E 11B1;CD9E;110E 116E 11B1; +CD9F;CD9F;110E 116E 11B2;CD9F;110E 116E 11B2; +CDA0;CDA0;110E 116E 11B3;CDA0;110E 116E 11B3; +CDA1;CDA1;110E 116E 11B4;CDA1;110E 116E 11B4; +CDA2;CDA2;110E 116E 11B5;CDA2;110E 116E 11B5; +CDA3;CDA3;110E 116E 11B6;CDA3;110E 116E 11B6; +CDA4;CDA4;110E 116E 11B7;CDA4;110E 116E 11B7; +CDA5;CDA5;110E 116E 11B8;CDA5;110E 116E 11B8; +CDA6;CDA6;110E 116E 11B9;CDA6;110E 116E 11B9; +CDA7;CDA7;110E 116E 11BA;CDA7;110E 116E 11BA; +CDA8;CDA8;110E 116E 11BB;CDA8;110E 116E 11BB; +CDA9;CDA9;110E 116E 11BC;CDA9;110E 116E 11BC; +CDAA;CDAA;110E 116E 11BD;CDAA;110E 116E 11BD; +CDAB;CDAB;110E 116E 11BE;CDAB;110E 116E 11BE; +CDAC;CDAC;110E 116E 11BF;CDAC;110E 116E 11BF; +CDAD;CDAD;110E 116E 11C0;CDAD;110E 116E 11C0; +CDAE;CDAE;110E 116E 11C1;CDAE;110E 116E 11C1; +CDAF;CDAF;110E 116E 11C2;CDAF;110E 116E 11C2; +CDB0;CDB0;110E 116F;CDB0;110E 116F; +CDB1;CDB1;110E 116F 11A8;CDB1;110E 116F 11A8; +CDB2;CDB2;110E 116F 11A9;CDB2;110E 116F 11A9; +CDB3;CDB3;110E 116F 11AA;CDB3;110E 116F 11AA; +CDB4;CDB4;110E 116F 11AB;CDB4;110E 116F 11AB; +CDB5;CDB5;110E 116F 11AC;CDB5;110E 116F 11AC; +CDB6;CDB6;110E 116F 11AD;CDB6;110E 116F 11AD; +CDB7;CDB7;110E 116F 11AE;CDB7;110E 116F 11AE; +CDB8;CDB8;110E 116F 11AF;CDB8;110E 116F 11AF; +CDB9;CDB9;110E 116F 11B0;CDB9;110E 116F 11B0; +CDBA;CDBA;110E 116F 11B1;CDBA;110E 116F 11B1; +CDBB;CDBB;110E 116F 11B2;CDBB;110E 116F 11B2; +CDBC;CDBC;110E 116F 11B3;CDBC;110E 116F 11B3; +CDBD;CDBD;110E 116F 11B4;CDBD;110E 116F 11B4; +CDBE;CDBE;110E 116F 11B5;CDBE;110E 116F 11B5; +CDBF;CDBF;110E 116F 11B6;CDBF;110E 116F 11B6; +CDC0;CDC0;110E 116F 11B7;CDC0;110E 116F 11B7; +CDC1;CDC1;110E 116F 11B8;CDC1;110E 116F 11B8; +CDC2;CDC2;110E 116F 11B9;CDC2;110E 116F 11B9; +CDC3;CDC3;110E 116F 11BA;CDC3;110E 116F 11BA; +CDC4;CDC4;110E 116F 11BB;CDC4;110E 116F 11BB; +CDC5;CDC5;110E 116F 11BC;CDC5;110E 116F 11BC; +CDC6;CDC6;110E 116F 11BD;CDC6;110E 116F 11BD; +CDC7;CDC7;110E 116F 11BE;CDC7;110E 116F 11BE; +CDC8;CDC8;110E 116F 11BF;CDC8;110E 116F 11BF; +CDC9;CDC9;110E 116F 11C0;CDC9;110E 116F 11C0; +CDCA;CDCA;110E 116F 11C1;CDCA;110E 116F 11C1; +CDCB;CDCB;110E 116F 11C2;CDCB;110E 116F 11C2; +CDCC;CDCC;110E 1170;CDCC;110E 1170; +CDCD;CDCD;110E 1170 11A8;CDCD;110E 1170 11A8; +CDCE;CDCE;110E 1170 11A9;CDCE;110E 1170 11A9; +CDCF;CDCF;110E 1170 11AA;CDCF;110E 1170 11AA; +CDD0;CDD0;110E 1170 11AB;CDD0;110E 1170 11AB; +CDD1;CDD1;110E 1170 11AC;CDD1;110E 1170 11AC; +CDD2;CDD2;110E 1170 11AD;CDD2;110E 1170 11AD; +CDD3;CDD3;110E 1170 11AE;CDD3;110E 1170 11AE; +CDD4;CDD4;110E 1170 11AF;CDD4;110E 1170 11AF; +CDD5;CDD5;110E 1170 11B0;CDD5;110E 1170 11B0; +CDD6;CDD6;110E 1170 11B1;CDD6;110E 1170 11B1; +CDD7;CDD7;110E 1170 11B2;CDD7;110E 1170 11B2; +CDD8;CDD8;110E 1170 11B3;CDD8;110E 1170 11B3; +CDD9;CDD9;110E 1170 11B4;CDD9;110E 1170 11B4; +CDDA;CDDA;110E 1170 11B5;CDDA;110E 1170 11B5; +CDDB;CDDB;110E 1170 11B6;CDDB;110E 1170 11B6; +CDDC;CDDC;110E 1170 11B7;CDDC;110E 1170 11B7; +CDDD;CDDD;110E 1170 11B8;CDDD;110E 1170 11B8; +CDDE;CDDE;110E 1170 11B9;CDDE;110E 1170 11B9; +CDDF;CDDF;110E 1170 11BA;CDDF;110E 1170 11BA; +CDE0;CDE0;110E 1170 11BB;CDE0;110E 1170 11BB; +CDE1;CDE1;110E 1170 11BC;CDE1;110E 1170 11BC; +CDE2;CDE2;110E 1170 11BD;CDE2;110E 1170 11BD; +CDE3;CDE3;110E 1170 11BE;CDE3;110E 1170 11BE; +CDE4;CDE4;110E 1170 11BF;CDE4;110E 1170 11BF; +CDE5;CDE5;110E 1170 11C0;CDE5;110E 1170 11C0; +CDE6;CDE6;110E 1170 11C1;CDE6;110E 1170 11C1; +CDE7;CDE7;110E 1170 11C2;CDE7;110E 1170 11C2; +CDE8;CDE8;110E 1171;CDE8;110E 1171; +CDE9;CDE9;110E 1171 11A8;CDE9;110E 1171 11A8; +CDEA;CDEA;110E 1171 11A9;CDEA;110E 1171 11A9; +CDEB;CDEB;110E 1171 11AA;CDEB;110E 1171 11AA; +CDEC;CDEC;110E 1171 11AB;CDEC;110E 1171 11AB; +CDED;CDED;110E 1171 11AC;CDED;110E 1171 11AC; +CDEE;CDEE;110E 1171 11AD;CDEE;110E 1171 11AD; +CDEF;CDEF;110E 1171 11AE;CDEF;110E 1171 11AE; +CDF0;CDF0;110E 1171 11AF;CDF0;110E 1171 11AF; +CDF1;CDF1;110E 1171 11B0;CDF1;110E 1171 11B0; +CDF2;CDF2;110E 1171 11B1;CDF2;110E 1171 11B1; +CDF3;CDF3;110E 1171 11B2;CDF3;110E 1171 11B2; +CDF4;CDF4;110E 1171 11B3;CDF4;110E 1171 11B3; +CDF5;CDF5;110E 1171 11B4;CDF5;110E 1171 11B4; +CDF6;CDF6;110E 1171 11B5;CDF6;110E 1171 11B5; +CDF7;CDF7;110E 1171 11B6;CDF7;110E 1171 11B6; +CDF8;CDF8;110E 1171 11B7;CDF8;110E 1171 11B7; +CDF9;CDF9;110E 1171 11B8;CDF9;110E 1171 11B8; +CDFA;CDFA;110E 1171 11B9;CDFA;110E 1171 11B9; +CDFB;CDFB;110E 1171 11BA;CDFB;110E 1171 11BA; +CDFC;CDFC;110E 1171 11BB;CDFC;110E 1171 11BB; +CDFD;CDFD;110E 1171 11BC;CDFD;110E 1171 11BC; +CDFE;CDFE;110E 1171 11BD;CDFE;110E 1171 11BD; +CDFF;CDFF;110E 1171 11BE;CDFF;110E 1171 11BE; +CE00;CE00;110E 1171 11BF;CE00;110E 1171 11BF; +CE01;CE01;110E 1171 11C0;CE01;110E 1171 11C0; +CE02;CE02;110E 1171 11C1;CE02;110E 1171 11C1; +CE03;CE03;110E 1171 11C2;CE03;110E 1171 11C2; +CE04;CE04;110E 1172;CE04;110E 1172; +CE05;CE05;110E 1172 11A8;CE05;110E 1172 11A8; +CE06;CE06;110E 1172 11A9;CE06;110E 1172 11A9; +CE07;CE07;110E 1172 11AA;CE07;110E 1172 11AA; +CE08;CE08;110E 1172 11AB;CE08;110E 1172 11AB; +CE09;CE09;110E 1172 11AC;CE09;110E 1172 11AC; +CE0A;CE0A;110E 1172 11AD;CE0A;110E 1172 11AD; +CE0B;CE0B;110E 1172 11AE;CE0B;110E 1172 11AE; +CE0C;CE0C;110E 1172 11AF;CE0C;110E 1172 11AF; +CE0D;CE0D;110E 1172 11B0;CE0D;110E 1172 11B0; +CE0E;CE0E;110E 1172 11B1;CE0E;110E 1172 11B1; +CE0F;CE0F;110E 1172 11B2;CE0F;110E 1172 11B2; +CE10;CE10;110E 1172 11B3;CE10;110E 1172 11B3; +CE11;CE11;110E 1172 11B4;CE11;110E 1172 11B4; +CE12;CE12;110E 1172 11B5;CE12;110E 1172 11B5; +CE13;CE13;110E 1172 11B6;CE13;110E 1172 11B6; +CE14;CE14;110E 1172 11B7;CE14;110E 1172 11B7; +CE15;CE15;110E 1172 11B8;CE15;110E 1172 11B8; +CE16;CE16;110E 1172 11B9;CE16;110E 1172 11B9; +CE17;CE17;110E 1172 11BA;CE17;110E 1172 11BA; +CE18;CE18;110E 1172 11BB;CE18;110E 1172 11BB; +CE19;CE19;110E 1172 11BC;CE19;110E 1172 11BC; +CE1A;CE1A;110E 1172 11BD;CE1A;110E 1172 11BD; +CE1B;CE1B;110E 1172 11BE;CE1B;110E 1172 11BE; +CE1C;CE1C;110E 1172 11BF;CE1C;110E 1172 11BF; +CE1D;CE1D;110E 1172 11C0;CE1D;110E 1172 11C0; +CE1E;CE1E;110E 1172 11C1;CE1E;110E 1172 11C1; +CE1F;CE1F;110E 1172 11C2;CE1F;110E 1172 11C2; +CE20;CE20;110E 1173;CE20;110E 1173; +CE21;CE21;110E 1173 11A8;CE21;110E 1173 11A8; +CE22;CE22;110E 1173 11A9;CE22;110E 1173 11A9; +CE23;CE23;110E 1173 11AA;CE23;110E 1173 11AA; +CE24;CE24;110E 1173 11AB;CE24;110E 1173 11AB; +CE25;CE25;110E 1173 11AC;CE25;110E 1173 11AC; +CE26;CE26;110E 1173 11AD;CE26;110E 1173 11AD; +CE27;CE27;110E 1173 11AE;CE27;110E 1173 11AE; +CE28;CE28;110E 1173 11AF;CE28;110E 1173 11AF; +CE29;CE29;110E 1173 11B0;CE29;110E 1173 11B0; +CE2A;CE2A;110E 1173 11B1;CE2A;110E 1173 11B1; +CE2B;CE2B;110E 1173 11B2;CE2B;110E 1173 11B2; +CE2C;CE2C;110E 1173 11B3;CE2C;110E 1173 11B3; +CE2D;CE2D;110E 1173 11B4;CE2D;110E 1173 11B4; +CE2E;CE2E;110E 1173 11B5;CE2E;110E 1173 11B5; +CE2F;CE2F;110E 1173 11B6;CE2F;110E 1173 11B6; +CE30;CE30;110E 1173 11B7;CE30;110E 1173 11B7; +CE31;CE31;110E 1173 11B8;CE31;110E 1173 11B8; +CE32;CE32;110E 1173 11B9;CE32;110E 1173 11B9; +CE33;CE33;110E 1173 11BA;CE33;110E 1173 11BA; +CE34;CE34;110E 1173 11BB;CE34;110E 1173 11BB; +CE35;CE35;110E 1173 11BC;CE35;110E 1173 11BC; +CE36;CE36;110E 1173 11BD;CE36;110E 1173 11BD; +CE37;CE37;110E 1173 11BE;CE37;110E 1173 11BE; +CE38;CE38;110E 1173 11BF;CE38;110E 1173 11BF; +CE39;CE39;110E 1173 11C0;CE39;110E 1173 11C0; +CE3A;CE3A;110E 1173 11C1;CE3A;110E 1173 11C1; +CE3B;CE3B;110E 1173 11C2;CE3B;110E 1173 11C2; +CE3C;CE3C;110E 1174;CE3C;110E 1174; +CE3D;CE3D;110E 1174 11A8;CE3D;110E 1174 11A8; +CE3E;CE3E;110E 1174 11A9;CE3E;110E 1174 11A9; +CE3F;CE3F;110E 1174 11AA;CE3F;110E 1174 11AA; +CE40;CE40;110E 1174 11AB;CE40;110E 1174 11AB; +CE41;CE41;110E 1174 11AC;CE41;110E 1174 11AC; +CE42;CE42;110E 1174 11AD;CE42;110E 1174 11AD; +CE43;CE43;110E 1174 11AE;CE43;110E 1174 11AE; +CE44;CE44;110E 1174 11AF;CE44;110E 1174 11AF; +CE45;CE45;110E 1174 11B0;CE45;110E 1174 11B0; +CE46;CE46;110E 1174 11B1;CE46;110E 1174 11B1; +CE47;CE47;110E 1174 11B2;CE47;110E 1174 11B2; +CE48;CE48;110E 1174 11B3;CE48;110E 1174 11B3; +CE49;CE49;110E 1174 11B4;CE49;110E 1174 11B4; +CE4A;CE4A;110E 1174 11B5;CE4A;110E 1174 11B5; +CE4B;CE4B;110E 1174 11B6;CE4B;110E 1174 11B6; +CE4C;CE4C;110E 1174 11B7;CE4C;110E 1174 11B7; +CE4D;CE4D;110E 1174 11B8;CE4D;110E 1174 11B8; +CE4E;CE4E;110E 1174 11B9;CE4E;110E 1174 11B9; +CE4F;CE4F;110E 1174 11BA;CE4F;110E 1174 11BA; +CE50;CE50;110E 1174 11BB;CE50;110E 1174 11BB; +CE51;CE51;110E 1174 11BC;CE51;110E 1174 11BC; +CE52;CE52;110E 1174 11BD;CE52;110E 1174 11BD; +CE53;CE53;110E 1174 11BE;CE53;110E 1174 11BE; +CE54;CE54;110E 1174 11BF;CE54;110E 1174 11BF; +CE55;CE55;110E 1174 11C0;CE55;110E 1174 11C0; +CE56;CE56;110E 1174 11C1;CE56;110E 1174 11C1; +CE57;CE57;110E 1174 11C2;CE57;110E 1174 11C2; +CE58;CE58;110E 1175;CE58;110E 1175; +CE59;CE59;110E 1175 11A8;CE59;110E 1175 11A8; +CE5A;CE5A;110E 1175 11A9;CE5A;110E 1175 11A9; +CE5B;CE5B;110E 1175 11AA;CE5B;110E 1175 11AA; +CE5C;CE5C;110E 1175 11AB;CE5C;110E 1175 11AB; +CE5D;CE5D;110E 1175 11AC;CE5D;110E 1175 11AC; +CE5E;CE5E;110E 1175 11AD;CE5E;110E 1175 11AD; +CE5F;CE5F;110E 1175 11AE;CE5F;110E 1175 11AE; +CE60;CE60;110E 1175 11AF;CE60;110E 1175 11AF; +CE61;CE61;110E 1175 11B0;CE61;110E 1175 11B0; +CE62;CE62;110E 1175 11B1;CE62;110E 1175 11B1; +CE63;CE63;110E 1175 11B2;CE63;110E 1175 11B2; +CE64;CE64;110E 1175 11B3;CE64;110E 1175 11B3; +CE65;CE65;110E 1175 11B4;CE65;110E 1175 11B4; +CE66;CE66;110E 1175 11B5;CE66;110E 1175 11B5; +CE67;CE67;110E 1175 11B6;CE67;110E 1175 11B6; +CE68;CE68;110E 1175 11B7;CE68;110E 1175 11B7; +CE69;CE69;110E 1175 11B8;CE69;110E 1175 11B8; +CE6A;CE6A;110E 1175 11B9;CE6A;110E 1175 11B9; +CE6B;CE6B;110E 1175 11BA;CE6B;110E 1175 11BA; +CE6C;CE6C;110E 1175 11BB;CE6C;110E 1175 11BB; +CE6D;CE6D;110E 1175 11BC;CE6D;110E 1175 11BC; +CE6E;CE6E;110E 1175 11BD;CE6E;110E 1175 11BD; +CE6F;CE6F;110E 1175 11BE;CE6F;110E 1175 11BE; +CE70;CE70;110E 1175 11BF;CE70;110E 1175 11BF; +CE71;CE71;110E 1175 11C0;CE71;110E 1175 11C0; +CE72;CE72;110E 1175 11C1;CE72;110E 1175 11C1; +CE73;CE73;110E 1175 11C2;CE73;110E 1175 11C2; +CE74;CE74;110F 1161;CE74;110F 1161; +CE75;CE75;110F 1161 11A8;CE75;110F 1161 11A8; +CE76;CE76;110F 1161 11A9;CE76;110F 1161 11A9; +CE77;CE77;110F 1161 11AA;CE77;110F 1161 11AA; +CE78;CE78;110F 1161 11AB;CE78;110F 1161 11AB; +CE79;CE79;110F 1161 11AC;CE79;110F 1161 11AC; +CE7A;CE7A;110F 1161 11AD;CE7A;110F 1161 11AD; +CE7B;CE7B;110F 1161 11AE;CE7B;110F 1161 11AE; +CE7C;CE7C;110F 1161 11AF;CE7C;110F 1161 11AF; +CE7D;CE7D;110F 1161 11B0;CE7D;110F 1161 11B0; +CE7E;CE7E;110F 1161 11B1;CE7E;110F 1161 11B1; +CE7F;CE7F;110F 1161 11B2;CE7F;110F 1161 11B2; +CE80;CE80;110F 1161 11B3;CE80;110F 1161 11B3; +CE81;CE81;110F 1161 11B4;CE81;110F 1161 11B4; +CE82;CE82;110F 1161 11B5;CE82;110F 1161 11B5; +CE83;CE83;110F 1161 11B6;CE83;110F 1161 11B6; +CE84;CE84;110F 1161 11B7;CE84;110F 1161 11B7; +CE85;CE85;110F 1161 11B8;CE85;110F 1161 11B8; +CE86;CE86;110F 1161 11B9;CE86;110F 1161 11B9; +CE87;CE87;110F 1161 11BA;CE87;110F 1161 11BA; +CE88;CE88;110F 1161 11BB;CE88;110F 1161 11BB; +CE89;CE89;110F 1161 11BC;CE89;110F 1161 11BC; +CE8A;CE8A;110F 1161 11BD;CE8A;110F 1161 11BD; +CE8B;CE8B;110F 1161 11BE;CE8B;110F 1161 11BE; +CE8C;CE8C;110F 1161 11BF;CE8C;110F 1161 11BF; +CE8D;CE8D;110F 1161 11C0;CE8D;110F 1161 11C0; +CE8E;CE8E;110F 1161 11C1;CE8E;110F 1161 11C1; +CE8F;CE8F;110F 1161 11C2;CE8F;110F 1161 11C2; +CE90;CE90;110F 1162;CE90;110F 1162; +CE91;CE91;110F 1162 11A8;CE91;110F 1162 11A8; +CE92;CE92;110F 1162 11A9;CE92;110F 1162 11A9; +CE93;CE93;110F 1162 11AA;CE93;110F 1162 11AA; +CE94;CE94;110F 1162 11AB;CE94;110F 1162 11AB; +CE95;CE95;110F 1162 11AC;CE95;110F 1162 11AC; +CE96;CE96;110F 1162 11AD;CE96;110F 1162 11AD; +CE97;CE97;110F 1162 11AE;CE97;110F 1162 11AE; +CE98;CE98;110F 1162 11AF;CE98;110F 1162 11AF; +CE99;CE99;110F 1162 11B0;CE99;110F 1162 11B0; +CE9A;CE9A;110F 1162 11B1;CE9A;110F 1162 11B1; +CE9B;CE9B;110F 1162 11B2;CE9B;110F 1162 11B2; +CE9C;CE9C;110F 1162 11B3;CE9C;110F 1162 11B3; +CE9D;CE9D;110F 1162 11B4;CE9D;110F 1162 11B4; +CE9E;CE9E;110F 1162 11B5;CE9E;110F 1162 11B5; +CE9F;CE9F;110F 1162 11B6;CE9F;110F 1162 11B6; +CEA0;CEA0;110F 1162 11B7;CEA0;110F 1162 11B7; +CEA1;CEA1;110F 1162 11B8;CEA1;110F 1162 11B8; +CEA2;CEA2;110F 1162 11B9;CEA2;110F 1162 11B9; +CEA3;CEA3;110F 1162 11BA;CEA3;110F 1162 11BA; +CEA4;CEA4;110F 1162 11BB;CEA4;110F 1162 11BB; +CEA5;CEA5;110F 1162 11BC;CEA5;110F 1162 11BC; +CEA6;CEA6;110F 1162 11BD;CEA6;110F 1162 11BD; +CEA7;CEA7;110F 1162 11BE;CEA7;110F 1162 11BE; +CEA8;CEA8;110F 1162 11BF;CEA8;110F 1162 11BF; +CEA9;CEA9;110F 1162 11C0;CEA9;110F 1162 11C0; +CEAA;CEAA;110F 1162 11C1;CEAA;110F 1162 11C1; +CEAB;CEAB;110F 1162 11C2;CEAB;110F 1162 11C2; +CEAC;CEAC;110F 1163;CEAC;110F 1163; +CEAD;CEAD;110F 1163 11A8;CEAD;110F 1163 11A8; +CEAE;CEAE;110F 1163 11A9;CEAE;110F 1163 11A9; +CEAF;CEAF;110F 1163 11AA;CEAF;110F 1163 11AA; +CEB0;CEB0;110F 1163 11AB;CEB0;110F 1163 11AB; +CEB1;CEB1;110F 1163 11AC;CEB1;110F 1163 11AC; +CEB2;CEB2;110F 1163 11AD;CEB2;110F 1163 11AD; +CEB3;CEB3;110F 1163 11AE;CEB3;110F 1163 11AE; +CEB4;CEB4;110F 1163 11AF;CEB4;110F 1163 11AF; +CEB5;CEB5;110F 1163 11B0;CEB5;110F 1163 11B0; +CEB6;CEB6;110F 1163 11B1;CEB6;110F 1163 11B1; +CEB7;CEB7;110F 1163 11B2;CEB7;110F 1163 11B2; +CEB8;CEB8;110F 1163 11B3;CEB8;110F 1163 11B3; +CEB9;CEB9;110F 1163 11B4;CEB9;110F 1163 11B4; +CEBA;CEBA;110F 1163 11B5;CEBA;110F 1163 11B5; +CEBB;CEBB;110F 1163 11B6;CEBB;110F 1163 11B6; +CEBC;CEBC;110F 1163 11B7;CEBC;110F 1163 11B7; +CEBD;CEBD;110F 1163 11B8;CEBD;110F 1163 11B8; +CEBE;CEBE;110F 1163 11B9;CEBE;110F 1163 11B9; +CEBF;CEBF;110F 1163 11BA;CEBF;110F 1163 11BA; +CEC0;CEC0;110F 1163 11BB;CEC0;110F 1163 11BB; +CEC1;CEC1;110F 1163 11BC;CEC1;110F 1163 11BC; +CEC2;CEC2;110F 1163 11BD;CEC2;110F 1163 11BD; +CEC3;CEC3;110F 1163 11BE;CEC3;110F 1163 11BE; +CEC4;CEC4;110F 1163 11BF;CEC4;110F 1163 11BF; +CEC5;CEC5;110F 1163 11C0;CEC5;110F 1163 11C0; +CEC6;CEC6;110F 1163 11C1;CEC6;110F 1163 11C1; +CEC7;CEC7;110F 1163 11C2;CEC7;110F 1163 11C2; +CEC8;CEC8;110F 1164;CEC8;110F 1164; +CEC9;CEC9;110F 1164 11A8;CEC9;110F 1164 11A8; +CECA;CECA;110F 1164 11A9;CECA;110F 1164 11A9; +CECB;CECB;110F 1164 11AA;CECB;110F 1164 11AA; +CECC;CECC;110F 1164 11AB;CECC;110F 1164 11AB; +CECD;CECD;110F 1164 11AC;CECD;110F 1164 11AC; +CECE;CECE;110F 1164 11AD;CECE;110F 1164 11AD; +CECF;CECF;110F 1164 11AE;CECF;110F 1164 11AE; +CED0;CED0;110F 1164 11AF;CED0;110F 1164 11AF; +CED1;CED1;110F 1164 11B0;CED1;110F 1164 11B0; +CED2;CED2;110F 1164 11B1;CED2;110F 1164 11B1; +CED3;CED3;110F 1164 11B2;CED3;110F 1164 11B2; +CED4;CED4;110F 1164 11B3;CED4;110F 1164 11B3; +CED5;CED5;110F 1164 11B4;CED5;110F 1164 11B4; +CED6;CED6;110F 1164 11B5;CED6;110F 1164 11B5; +CED7;CED7;110F 1164 11B6;CED7;110F 1164 11B6; +CED8;CED8;110F 1164 11B7;CED8;110F 1164 11B7; +CED9;CED9;110F 1164 11B8;CED9;110F 1164 11B8; +CEDA;CEDA;110F 1164 11B9;CEDA;110F 1164 11B9; +CEDB;CEDB;110F 1164 11BA;CEDB;110F 1164 11BA; +CEDC;CEDC;110F 1164 11BB;CEDC;110F 1164 11BB; +CEDD;CEDD;110F 1164 11BC;CEDD;110F 1164 11BC; +CEDE;CEDE;110F 1164 11BD;CEDE;110F 1164 11BD; +CEDF;CEDF;110F 1164 11BE;CEDF;110F 1164 11BE; +CEE0;CEE0;110F 1164 11BF;CEE0;110F 1164 11BF; +CEE1;CEE1;110F 1164 11C0;CEE1;110F 1164 11C0; +CEE2;CEE2;110F 1164 11C1;CEE2;110F 1164 11C1; +CEE3;CEE3;110F 1164 11C2;CEE3;110F 1164 11C2; +CEE4;CEE4;110F 1165;CEE4;110F 1165; +CEE5;CEE5;110F 1165 11A8;CEE5;110F 1165 11A8; +CEE6;CEE6;110F 1165 11A9;CEE6;110F 1165 11A9; +CEE7;CEE7;110F 1165 11AA;CEE7;110F 1165 11AA; +CEE8;CEE8;110F 1165 11AB;CEE8;110F 1165 11AB; +CEE9;CEE9;110F 1165 11AC;CEE9;110F 1165 11AC; +CEEA;CEEA;110F 1165 11AD;CEEA;110F 1165 11AD; +CEEB;CEEB;110F 1165 11AE;CEEB;110F 1165 11AE; +CEEC;CEEC;110F 1165 11AF;CEEC;110F 1165 11AF; +CEED;CEED;110F 1165 11B0;CEED;110F 1165 11B0; +CEEE;CEEE;110F 1165 11B1;CEEE;110F 1165 11B1; +CEEF;CEEF;110F 1165 11B2;CEEF;110F 1165 11B2; +CEF0;CEF0;110F 1165 11B3;CEF0;110F 1165 11B3; +CEF1;CEF1;110F 1165 11B4;CEF1;110F 1165 11B4; +CEF2;CEF2;110F 1165 11B5;CEF2;110F 1165 11B5; +CEF3;CEF3;110F 1165 11B6;CEF3;110F 1165 11B6; +CEF4;CEF4;110F 1165 11B7;CEF4;110F 1165 11B7; +CEF5;CEF5;110F 1165 11B8;CEF5;110F 1165 11B8; +CEF6;CEF6;110F 1165 11B9;CEF6;110F 1165 11B9; +CEF7;CEF7;110F 1165 11BA;CEF7;110F 1165 11BA; +CEF8;CEF8;110F 1165 11BB;CEF8;110F 1165 11BB; +CEF9;CEF9;110F 1165 11BC;CEF9;110F 1165 11BC; +CEFA;CEFA;110F 1165 11BD;CEFA;110F 1165 11BD; +CEFB;CEFB;110F 1165 11BE;CEFB;110F 1165 11BE; +CEFC;CEFC;110F 1165 11BF;CEFC;110F 1165 11BF; +CEFD;CEFD;110F 1165 11C0;CEFD;110F 1165 11C0; +CEFE;CEFE;110F 1165 11C1;CEFE;110F 1165 11C1; +CEFF;CEFF;110F 1165 11C2;CEFF;110F 1165 11C2; +CF00;CF00;110F 1166;CF00;110F 1166; +CF01;CF01;110F 1166 11A8;CF01;110F 1166 11A8; +CF02;CF02;110F 1166 11A9;CF02;110F 1166 11A9; +CF03;CF03;110F 1166 11AA;CF03;110F 1166 11AA; +CF04;CF04;110F 1166 11AB;CF04;110F 1166 11AB; +CF05;CF05;110F 1166 11AC;CF05;110F 1166 11AC; +CF06;CF06;110F 1166 11AD;CF06;110F 1166 11AD; +CF07;CF07;110F 1166 11AE;CF07;110F 1166 11AE; +CF08;CF08;110F 1166 11AF;CF08;110F 1166 11AF; +CF09;CF09;110F 1166 11B0;CF09;110F 1166 11B0; +CF0A;CF0A;110F 1166 11B1;CF0A;110F 1166 11B1; +CF0B;CF0B;110F 1166 11B2;CF0B;110F 1166 11B2; +CF0C;CF0C;110F 1166 11B3;CF0C;110F 1166 11B3; +CF0D;CF0D;110F 1166 11B4;CF0D;110F 1166 11B4; +CF0E;CF0E;110F 1166 11B5;CF0E;110F 1166 11B5; +CF0F;CF0F;110F 1166 11B6;CF0F;110F 1166 11B6; +CF10;CF10;110F 1166 11B7;CF10;110F 1166 11B7; +CF11;CF11;110F 1166 11B8;CF11;110F 1166 11B8; +CF12;CF12;110F 1166 11B9;CF12;110F 1166 11B9; +CF13;CF13;110F 1166 11BA;CF13;110F 1166 11BA; +CF14;CF14;110F 1166 11BB;CF14;110F 1166 11BB; +CF15;CF15;110F 1166 11BC;CF15;110F 1166 11BC; +CF16;CF16;110F 1166 11BD;CF16;110F 1166 11BD; +CF17;CF17;110F 1166 11BE;CF17;110F 1166 11BE; +CF18;CF18;110F 1166 11BF;CF18;110F 1166 11BF; +CF19;CF19;110F 1166 11C0;CF19;110F 1166 11C0; +CF1A;CF1A;110F 1166 11C1;CF1A;110F 1166 11C1; +CF1B;CF1B;110F 1166 11C2;CF1B;110F 1166 11C2; +CF1C;CF1C;110F 1167;CF1C;110F 1167; +CF1D;CF1D;110F 1167 11A8;CF1D;110F 1167 11A8; +CF1E;CF1E;110F 1167 11A9;CF1E;110F 1167 11A9; +CF1F;CF1F;110F 1167 11AA;CF1F;110F 1167 11AA; +CF20;CF20;110F 1167 11AB;CF20;110F 1167 11AB; +CF21;CF21;110F 1167 11AC;CF21;110F 1167 11AC; +CF22;CF22;110F 1167 11AD;CF22;110F 1167 11AD; +CF23;CF23;110F 1167 11AE;CF23;110F 1167 11AE; +CF24;CF24;110F 1167 11AF;CF24;110F 1167 11AF; +CF25;CF25;110F 1167 11B0;CF25;110F 1167 11B0; +CF26;CF26;110F 1167 11B1;CF26;110F 1167 11B1; +CF27;CF27;110F 1167 11B2;CF27;110F 1167 11B2; +CF28;CF28;110F 1167 11B3;CF28;110F 1167 11B3; +CF29;CF29;110F 1167 11B4;CF29;110F 1167 11B4; +CF2A;CF2A;110F 1167 11B5;CF2A;110F 1167 11B5; +CF2B;CF2B;110F 1167 11B6;CF2B;110F 1167 11B6; +CF2C;CF2C;110F 1167 11B7;CF2C;110F 1167 11B7; +CF2D;CF2D;110F 1167 11B8;CF2D;110F 1167 11B8; +CF2E;CF2E;110F 1167 11B9;CF2E;110F 1167 11B9; +CF2F;CF2F;110F 1167 11BA;CF2F;110F 1167 11BA; +CF30;CF30;110F 1167 11BB;CF30;110F 1167 11BB; +CF31;CF31;110F 1167 11BC;CF31;110F 1167 11BC; +CF32;CF32;110F 1167 11BD;CF32;110F 1167 11BD; +CF33;CF33;110F 1167 11BE;CF33;110F 1167 11BE; +CF34;CF34;110F 1167 11BF;CF34;110F 1167 11BF; +CF35;CF35;110F 1167 11C0;CF35;110F 1167 11C0; +CF36;CF36;110F 1167 11C1;CF36;110F 1167 11C1; +CF37;CF37;110F 1167 11C2;CF37;110F 1167 11C2; +CF38;CF38;110F 1168;CF38;110F 1168; +CF39;CF39;110F 1168 11A8;CF39;110F 1168 11A8; +CF3A;CF3A;110F 1168 11A9;CF3A;110F 1168 11A9; +CF3B;CF3B;110F 1168 11AA;CF3B;110F 1168 11AA; +CF3C;CF3C;110F 1168 11AB;CF3C;110F 1168 11AB; +CF3D;CF3D;110F 1168 11AC;CF3D;110F 1168 11AC; +CF3E;CF3E;110F 1168 11AD;CF3E;110F 1168 11AD; +CF3F;CF3F;110F 1168 11AE;CF3F;110F 1168 11AE; +CF40;CF40;110F 1168 11AF;CF40;110F 1168 11AF; +CF41;CF41;110F 1168 11B0;CF41;110F 1168 11B0; +CF42;CF42;110F 1168 11B1;CF42;110F 1168 11B1; +CF43;CF43;110F 1168 11B2;CF43;110F 1168 11B2; +CF44;CF44;110F 1168 11B3;CF44;110F 1168 11B3; +CF45;CF45;110F 1168 11B4;CF45;110F 1168 11B4; +CF46;CF46;110F 1168 11B5;CF46;110F 1168 11B5; +CF47;CF47;110F 1168 11B6;CF47;110F 1168 11B6; +CF48;CF48;110F 1168 11B7;CF48;110F 1168 11B7; +CF49;CF49;110F 1168 11B8;CF49;110F 1168 11B8; +CF4A;CF4A;110F 1168 11B9;CF4A;110F 1168 11B9; +CF4B;CF4B;110F 1168 11BA;CF4B;110F 1168 11BA; +CF4C;CF4C;110F 1168 11BB;CF4C;110F 1168 11BB; +CF4D;CF4D;110F 1168 11BC;CF4D;110F 1168 11BC; +CF4E;CF4E;110F 1168 11BD;CF4E;110F 1168 11BD; +CF4F;CF4F;110F 1168 11BE;CF4F;110F 1168 11BE; +CF50;CF50;110F 1168 11BF;CF50;110F 1168 11BF; +CF51;CF51;110F 1168 11C0;CF51;110F 1168 11C0; +CF52;CF52;110F 1168 11C1;CF52;110F 1168 11C1; +CF53;CF53;110F 1168 11C2;CF53;110F 1168 11C2; +CF54;CF54;110F 1169;CF54;110F 1169; +CF55;CF55;110F 1169 11A8;CF55;110F 1169 11A8; +CF56;CF56;110F 1169 11A9;CF56;110F 1169 11A9; +CF57;CF57;110F 1169 11AA;CF57;110F 1169 11AA; +CF58;CF58;110F 1169 11AB;CF58;110F 1169 11AB; +CF59;CF59;110F 1169 11AC;CF59;110F 1169 11AC; +CF5A;CF5A;110F 1169 11AD;CF5A;110F 1169 11AD; +CF5B;CF5B;110F 1169 11AE;CF5B;110F 1169 11AE; +CF5C;CF5C;110F 1169 11AF;CF5C;110F 1169 11AF; +CF5D;CF5D;110F 1169 11B0;CF5D;110F 1169 11B0; +CF5E;CF5E;110F 1169 11B1;CF5E;110F 1169 11B1; +CF5F;CF5F;110F 1169 11B2;CF5F;110F 1169 11B2; +CF60;CF60;110F 1169 11B3;CF60;110F 1169 11B3; +CF61;CF61;110F 1169 11B4;CF61;110F 1169 11B4; +CF62;CF62;110F 1169 11B5;CF62;110F 1169 11B5; +CF63;CF63;110F 1169 11B6;CF63;110F 1169 11B6; +CF64;CF64;110F 1169 11B7;CF64;110F 1169 11B7; +CF65;CF65;110F 1169 11B8;CF65;110F 1169 11B8; +CF66;CF66;110F 1169 11B9;CF66;110F 1169 11B9; +CF67;CF67;110F 1169 11BA;CF67;110F 1169 11BA; +CF68;CF68;110F 1169 11BB;CF68;110F 1169 11BB; +CF69;CF69;110F 1169 11BC;CF69;110F 1169 11BC; +CF6A;CF6A;110F 1169 11BD;CF6A;110F 1169 11BD; +CF6B;CF6B;110F 1169 11BE;CF6B;110F 1169 11BE; +CF6C;CF6C;110F 1169 11BF;CF6C;110F 1169 11BF; +CF6D;CF6D;110F 1169 11C0;CF6D;110F 1169 11C0; +CF6E;CF6E;110F 1169 11C1;CF6E;110F 1169 11C1; +CF6F;CF6F;110F 1169 11C2;CF6F;110F 1169 11C2; +CF70;CF70;110F 116A;CF70;110F 116A; +CF71;CF71;110F 116A 11A8;CF71;110F 116A 11A8; +CF72;CF72;110F 116A 11A9;CF72;110F 116A 11A9; +CF73;CF73;110F 116A 11AA;CF73;110F 116A 11AA; +CF74;CF74;110F 116A 11AB;CF74;110F 116A 11AB; +CF75;CF75;110F 116A 11AC;CF75;110F 116A 11AC; +CF76;CF76;110F 116A 11AD;CF76;110F 116A 11AD; +CF77;CF77;110F 116A 11AE;CF77;110F 116A 11AE; +CF78;CF78;110F 116A 11AF;CF78;110F 116A 11AF; +CF79;CF79;110F 116A 11B0;CF79;110F 116A 11B0; +CF7A;CF7A;110F 116A 11B1;CF7A;110F 116A 11B1; +CF7B;CF7B;110F 116A 11B2;CF7B;110F 116A 11B2; +CF7C;CF7C;110F 116A 11B3;CF7C;110F 116A 11B3; +CF7D;CF7D;110F 116A 11B4;CF7D;110F 116A 11B4; +CF7E;CF7E;110F 116A 11B5;CF7E;110F 116A 11B5; +CF7F;CF7F;110F 116A 11B6;CF7F;110F 116A 11B6; +CF80;CF80;110F 116A 11B7;CF80;110F 116A 11B7; +CF81;CF81;110F 116A 11B8;CF81;110F 116A 11B8; +CF82;CF82;110F 116A 11B9;CF82;110F 116A 11B9; +CF83;CF83;110F 116A 11BA;CF83;110F 116A 11BA; +CF84;CF84;110F 116A 11BB;CF84;110F 116A 11BB; +CF85;CF85;110F 116A 11BC;CF85;110F 116A 11BC; +CF86;CF86;110F 116A 11BD;CF86;110F 116A 11BD; +CF87;CF87;110F 116A 11BE;CF87;110F 116A 11BE; +CF88;CF88;110F 116A 11BF;CF88;110F 116A 11BF; +CF89;CF89;110F 116A 11C0;CF89;110F 116A 11C0; +CF8A;CF8A;110F 116A 11C1;CF8A;110F 116A 11C1; +CF8B;CF8B;110F 116A 11C2;CF8B;110F 116A 11C2; +CF8C;CF8C;110F 116B;CF8C;110F 116B; +CF8D;CF8D;110F 116B 11A8;CF8D;110F 116B 11A8; +CF8E;CF8E;110F 116B 11A9;CF8E;110F 116B 11A9; +CF8F;CF8F;110F 116B 11AA;CF8F;110F 116B 11AA; +CF90;CF90;110F 116B 11AB;CF90;110F 116B 11AB; +CF91;CF91;110F 116B 11AC;CF91;110F 116B 11AC; +CF92;CF92;110F 116B 11AD;CF92;110F 116B 11AD; +CF93;CF93;110F 116B 11AE;CF93;110F 116B 11AE; +CF94;CF94;110F 116B 11AF;CF94;110F 116B 11AF; +CF95;CF95;110F 116B 11B0;CF95;110F 116B 11B0; +CF96;CF96;110F 116B 11B1;CF96;110F 116B 11B1; +CF97;CF97;110F 116B 11B2;CF97;110F 116B 11B2; +CF98;CF98;110F 116B 11B3;CF98;110F 116B 11B3; +CF99;CF99;110F 116B 11B4;CF99;110F 116B 11B4; +CF9A;CF9A;110F 116B 11B5;CF9A;110F 116B 11B5; +CF9B;CF9B;110F 116B 11B6;CF9B;110F 116B 11B6; +CF9C;CF9C;110F 116B 11B7;CF9C;110F 116B 11B7; +CF9D;CF9D;110F 116B 11B8;CF9D;110F 116B 11B8; +CF9E;CF9E;110F 116B 11B9;CF9E;110F 116B 11B9; +CF9F;CF9F;110F 116B 11BA;CF9F;110F 116B 11BA; +CFA0;CFA0;110F 116B 11BB;CFA0;110F 116B 11BB; +CFA1;CFA1;110F 116B 11BC;CFA1;110F 116B 11BC; +CFA2;CFA2;110F 116B 11BD;CFA2;110F 116B 11BD; +CFA3;CFA3;110F 116B 11BE;CFA3;110F 116B 11BE; +CFA4;CFA4;110F 116B 11BF;CFA4;110F 116B 11BF; +CFA5;CFA5;110F 116B 11C0;CFA5;110F 116B 11C0; +CFA6;CFA6;110F 116B 11C1;CFA6;110F 116B 11C1; +CFA7;CFA7;110F 116B 11C2;CFA7;110F 116B 11C2; +CFA8;CFA8;110F 116C;CFA8;110F 116C; +CFA9;CFA9;110F 116C 11A8;CFA9;110F 116C 11A8; +CFAA;CFAA;110F 116C 11A9;CFAA;110F 116C 11A9; +CFAB;CFAB;110F 116C 11AA;CFAB;110F 116C 11AA; +CFAC;CFAC;110F 116C 11AB;CFAC;110F 116C 11AB; +CFAD;CFAD;110F 116C 11AC;CFAD;110F 116C 11AC; +CFAE;CFAE;110F 116C 11AD;CFAE;110F 116C 11AD; +CFAF;CFAF;110F 116C 11AE;CFAF;110F 116C 11AE; +CFB0;CFB0;110F 116C 11AF;CFB0;110F 116C 11AF; +CFB1;CFB1;110F 116C 11B0;CFB1;110F 116C 11B0; +CFB2;CFB2;110F 116C 11B1;CFB2;110F 116C 11B1; +CFB3;CFB3;110F 116C 11B2;CFB3;110F 116C 11B2; +CFB4;CFB4;110F 116C 11B3;CFB4;110F 116C 11B3; +CFB5;CFB5;110F 116C 11B4;CFB5;110F 116C 11B4; +CFB6;CFB6;110F 116C 11B5;CFB6;110F 116C 11B5; +CFB7;CFB7;110F 116C 11B6;CFB7;110F 116C 11B6; +CFB8;CFB8;110F 116C 11B7;CFB8;110F 116C 11B7; +CFB9;CFB9;110F 116C 11B8;CFB9;110F 116C 11B8; +CFBA;CFBA;110F 116C 11B9;CFBA;110F 116C 11B9; +CFBB;CFBB;110F 116C 11BA;CFBB;110F 116C 11BA; +CFBC;CFBC;110F 116C 11BB;CFBC;110F 116C 11BB; +CFBD;CFBD;110F 116C 11BC;CFBD;110F 116C 11BC; +CFBE;CFBE;110F 116C 11BD;CFBE;110F 116C 11BD; +CFBF;CFBF;110F 116C 11BE;CFBF;110F 116C 11BE; +CFC0;CFC0;110F 116C 11BF;CFC0;110F 116C 11BF; +CFC1;CFC1;110F 116C 11C0;CFC1;110F 116C 11C0; +CFC2;CFC2;110F 116C 11C1;CFC2;110F 116C 11C1; +CFC3;CFC3;110F 116C 11C2;CFC3;110F 116C 11C2; +CFC4;CFC4;110F 116D;CFC4;110F 116D; +CFC5;CFC5;110F 116D 11A8;CFC5;110F 116D 11A8; +CFC6;CFC6;110F 116D 11A9;CFC6;110F 116D 11A9; +CFC7;CFC7;110F 116D 11AA;CFC7;110F 116D 11AA; +CFC8;CFC8;110F 116D 11AB;CFC8;110F 116D 11AB; +CFC9;CFC9;110F 116D 11AC;CFC9;110F 116D 11AC; +CFCA;CFCA;110F 116D 11AD;CFCA;110F 116D 11AD; +CFCB;CFCB;110F 116D 11AE;CFCB;110F 116D 11AE; +CFCC;CFCC;110F 116D 11AF;CFCC;110F 116D 11AF; +CFCD;CFCD;110F 116D 11B0;CFCD;110F 116D 11B0; +CFCE;CFCE;110F 116D 11B1;CFCE;110F 116D 11B1; +CFCF;CFCF;110F 116D 11B2;CFCF;110F 116D 11B2; +CFD0;CFD0;110F 116D 11B3;CFD0;110F 116D 11B3; +CFD1;CFD1;110F 116D 11B4;CFD1;110F 116D 11B4; +CFD2;CFD2;110F 116D 11B5;CFD2;110F 116D 11B5; +CFD3;CFD3;110F 116D 11B6;CFD3;110F 116D 11B6; +CFD4;CFD4;110F 116D 11B7;CFD4;110F 116D 11B7; +CFD5;CFD5;110F 116D 11B8;CFD5;110F 116D 11B8; +CFD6;CFD6;110F 116D 11B9;CFD6;110F 116D 11B9; +CFD7;CFD7;110F 116D 11BA;CFD7;110F 116D 11BA; +CFD8;CFD8;110F 116D 11BB;CFD8;110F 116D 11BB; +CFD9;CFD9;110F 116D 11BC;CFD9;110F 116D 11BC; +CFDA;CFDA;110F 116D 11BD;CFDA;110F 116D 11BD; +CFDB;CFDB;110F 116D 11BE;CFDB;110F 116D 11BE; +CFDC;CFDC;110F 116D 11BF;CFDC;110F 116D 11BF; +CFDD;CFDD;110F 116D 11C0;CFDD;110F 116D 11C0; +CFDE;CFDE;110F 116D 11C1;CFDE;110F 116D 11C1; +CFDF;CFDF;110F 116D 11C2;CFDF;110F 116D 11C2; +CFE0;CFE0;110F 116E;CFE0;110F 116E; +CFE1;CFE1;110F 116E 11A8;CFE1;110F 116E 11A8; +CFE2;CFE2;110F 116E 11A9;CFE2;110F 116E 11A9; +CFE3;CFE3;110F 116E 11AA;CFE3;110F 116E 11AA; +CFE4;CFE4;110F 116E 11AB;CFE4;110F 116E 11AB; +CFE5;CFE5;110F 116E 11AC;CFE5;110F 116E 11AC; +CFE6;CFE6;110F 116E 11AD;CFE6;110F 116E 11AD; +CFE7;CFE7;110F 116E 11AE;CFE7;110F 116E 11AE; +CFE8;CFE8;110F 116E 11AF;CFE8;110F 116E 11AF; +CFE9;CFE9;110F 116E 11B0;CFE9;110F 116E 11B0; +CFEA;CFEA;110F 116E 11B1;CFEA;110F 116E 11B1; +CFEB;CFEB;110F 116E 11B2;CFEB;110F 116E 11B2; +CFEC;CFEC;110F 116E 11B3;CFEC;110F 116E 11B3; +CFED;CFED;110F 116E 11B4;CFED;110F 116E 11B4; +CFEE;CFEE;110F 116E 11B5;CFEE;110F 116E 11B5; +CFEF;CFEF;110F 116E 11B6;CFEF;110F 116E 11B6; +CFF0;CFF0;110F 116E 11B7;CFF0;110F 116E 11B7; +CFF1;CFF1;110F 116E 11B8;CFF1;110F 116E 11B8; +CFF2;CFF2;110F 116E 11B9;CFF2;110F 116E 11B9; +CFF3;CFF3;110F 116E 11BA;CFF3;110F 116E 11BA; +CFF4;CFF4;110F 116E 11BB;CFF4;110F 116E 11BB; +CFF5;CFF5;110F 116E 11BC;CFF5;110F 116E 11BC; +CFF6;CFF6;110F 116E 11BD;CFF6;110F 116E 11BD; +CFF7;CFF7;110F 116E 11BE;CFF7;110F 116E 11BE; +CFF8;CFF8;110F 116E 11BF;CFF8;110F 116E 11BF; +CFF9;CFF9;110F 116E 11C0;CFF9;110F 116E 11C0; +CFFA;CFFA;110F 116E 11C1;CFFA;110F 116E 11C1; +CFFB;CFFB;110F 116E 11C2;CFFB;110F 116E 11C2; +CFFC;CFFC;110F 116F;CFFC;110F 116F; +CFFD;CFFD;110F 116F 11A8;CFFD;110F 116F 11A8; +CFFE;CFFE;110F 116F 11A9;CFFE;110F 116F 11A9; +CFFF;CFFF;110F 116F 11AA;CFFF;110F 116F 11AA; +D000;D000;110F 116F 11AB;D000;110F 116F 11AB; +D001;D001;110F 116F 11AC;D001;110F 116F 11AC; +D002;D002;110F 116F 11AD;D002;110F 116F 11AD; +D003;D003;110F 116F 11AE;D003;110F 116F 11AE; +D004;D004;110F 116F 11AF;D004;110F 116F 11AF; +D005;D005;110F 116F 11B0;D005;110F 116F 11B0; +D006;D006;110F 116F 11B1;D006;110F 116F 11B1; +D007;D007;110F 116F 11B2;D007;110F 116F 11B2; +D008;D008;110F 116F 11B3;D008;110F 116F 11B3; +D009;D009;110F 116F 11B4;D009;110F 116F 11B4; +D00A;D00A;110F 116F 11B5;D00A;110F 116F 11B5; +D00B;D00B;110F 116F 11B6;D00B;110F 116F 11B6; +D00C;D00C;110F 116F 11B7;D00C;110F 116F 11B7; +D00D;D00D;110F 116F 11B8;D00D;110F 116F 11B8; +D00E;D00E;110F 116F 11B9;D00E;110F 116F 11B9; +D00F;D00F;110F 116F 11BA;D00F;110F 116F 11BA; +D010;D010;110F 116F 11BB;D010;110F 116F 11BB; +D011;D011;110F 116F 11BC;D011;110F 116F 11BC; +D012;D012;110F 116F 11BD;D012;110F 116F 11BD; +D013;D013;110F 116F 11BE;D013;110F 116F 11BE; +D014;D014;110F 116F 11BF;D014;110F 116F 11BF; +D015;D015;110F 116F 11C0;D015;110F 116F 11C0; +D016;D016;110F 116F 11C1;D016;110F 116F 11C1; +D017;D017;110F 116F 11C2;D017;110F 116F 11C2; +D018;D018;110F 1170;D018;110F 1170; +D019;D019;110F 1170 11A8;D019;110F 1170 11A8; +D01A;D01A;110F 1170 11A9;D01A;110F 1170 11A9; +D01B;D01B;110F 1170 11AA;D01B;110F 1170 11AA; +D01C;D01C;110F 1170 11AB;D01C;110F 1170 11AB; +D01D;D01D;110F 1170 11AC;D01D;110F 1170 11AC; +D01E;D01E;110F 1170 11AD;D01E;110F 1170 11AD; +D01F;D01F;110F 1170 11AE;D01F;110F 1170 11AE; +D020;D020;110F 1170 11AF;D020;110F 1170 11AF; +D021;D021;110F 1170 11B0;D021;110F 1170 11B0; +D022;D022;110F 1170 11B1;D022;110F 1170 11B1; +D023;D023;110F 1170 11B2;D023;110F 1170 11B2; +D024;D024;110F 1170 11B3;D024;110F 1170 11B3; +D025;D025;110F 1170 11B4;D025;110F 1170 11B4; +D026;D026;110F 1170 11B5;D026;110F 1170 11B5; +D027;D027;110F 1170 11B6;D027;110F 1170 11B6; +D028;D028;110F 1170 11B7;D028;110F 1170 11B7; +D029;D029;110F 1170 11B8;D029;110F 1170 11B8; +D02A;D02A;110F 1170 11B9;D02A;110F 1170 11B9; +D02B;D02B;110F 1170 11BA;D02B;110F 1170 11BA; +D02C;D02C;110F 1170 11BB;D02C;110F 1170 11BB; +D02D;D02D;110F 1170 11BC;D02D;110F 1170 11BC; +D02E;D02E;110F 1170 11BD;D02E;110F 1170 11BD; +D02F;D02F;110F 1170 11BE;D02F;110F 1170 11BE; +D030;D030;110F 1170 11BF;D030;110F 1170 11BF; +D031;D031;110F 1170 11C0;D031;110F 1170 11C0; +D032;D032;110F 1170 11C1;D032;110F 1170 11C1; +D033;D033;110F 1170 11C2;D033;110F 1170 11C2; +D034;D034;110F 1171;D034;110F 1171; +D035;D035;110F 1171 11A8;D035;110F 1171 11A8; +D036;D036;110F 1171 11A9;D036;110F 1171 11A9; +D037;D037;110F 1171 11AA;D037;110F 1171 11AA; +D038;D038;110F 1171 11AB;D038;110F 1171 11AB; +D039;D039;110F 1171 11AC;D039;110F 1171 11AC; +D03A;D03A;110F 1171 11AD;D03A;110F 1171 11AD; +D03B;D03B;110F 1171 11AE;D03B;110F 1171 11AE; +D03C;D03C;110F 1171 11AF;D03C;110F 1171 11AF; +D03D;D03D;110F 1171 11B0;D03D;110F 1171 11B0; +D03E;D03E;110F 1171 11B1;D03E;110F 1171 11B1; +D03F;D03F;110F 1171 11B2;D03F;110F 1171 11B2; +D040;D040;110F 1171 11B3;D040;110F 1171 11B3; +D041;D041;110F 1171 11B4;D041;110F 1171 11B4; +D042;D042;110F 1171 11B5;D042;110F 1171 11B5; +D043;D043;110F 1171 11B6;D043;110F 1171 11B6; +D044;D044;110F 1171 11B7;D044;110F 1171 11B7; +D045;D045;110F 1171 11B8;D045;110F 1171 11B8; +D046;D046;110F 1171 11B9;D046;110F 1171 11B9; +D047;D047;110F 1171 11BA;D047;110F 1171 11BA; +D048;D048;110F 1171 11BB;D048;110F 1171 11BB; +D049;D049;110F 1171 11BC;D049;110F 1171 11BC; +D04A;D04A;110F 1171 11BD;D04A;110F 1171 11BD; +D04B;D04B;110F 1171 11BE;D04B;110F 1171 11BE; +D04C;D04C;110F 1171 11BF;D04C;110F 1171 11BF; +D04D;D04D;110F 1171 11C0;D04D;110F 1171 11C0; +D04E;D04E;110F 1171 11C1;D04E;110F 1171 11C1; +D04F;D04F;110F 1171 11C2;D04F;110F 1171 11C2; +D050;D050;110F 1172;D050;110F 1172; +D051;D051;110F 1172 11A8;D051;110F 1172 11A8; +D052;D052;110F 1172 11A9;D052;110F 1172 11A9; +D053;D053;110F 1172 11AA;D053;110F 1172 11AA; +D054;D054;110F 1172 11AB;D054;110F 1172 11AB; +D055;D055;110F 1172 11AC;D055;110F 1172 11AC; +D056;D056;110F 1172 11AD;D056;110F 1172 11AD; +D057;D057;110F 1172 11AE;D057;110F 1172 11AE; +D058;D058;110F 1172 11AF;D058;110F 1172 11AF; +D059;D059;110F 1172 11B0;D059;110F 1172 11B0; +D05A;D05A;110F 1172 11B1;D05A;110F 1172 11B1; +D05B;D05B;110F 1172 11B2;D05B;110F 1172 11B2; +D05C;D05C;110F 1172 11B3;D05C;110F 1172 11B3; +D05D;D05D;110F 1172 11B4;D05D;110F 1172 11B4; +D05E;D05E;110F 1172 11B5;D05E;110F 1172 11B5; +D05F;D05F;110F 1172 11B6;D05F;110F 1172 11B6; +D060;D060;110F 1172 11B7;D060;110F 1172 11B7; +D061;D061;110F 1172 11B8;D061;110F 1172 11B8; +D062;D062;110F 1172 11B9;D062;110F 1172 11B9; +D063;D063;110F 1172 11BA;D063;110F 1172 11BA; +D064;D064;110F 1172 11BB;D064;110F 1172 11BB; +D065;D065;110F 1172 11BC;D065;110F 1172 11BC; +D066;D066;110F 1172 11BD;D066;110F 1172 11BD; +D067;D067;110F 1172 11BE;D067;110F 1172 11BE; +D068;D068;110F 1172 11BF;D068;110F 1172 11BF; +D069;D069;110F 1172 11C0;D069;110F 1172 11C0; +D06A;D06A;110F 1172 11C1;D06A;110F 1172 11C1; +D06B;D06B;110F 1172 11C2;D06B;110F 1172 11C2; +D06C;D06C;110F 1173;D06C;110F 1173; +D06D;D06D;110F 1173 11A8;D06D;110F 1173 11A8; +D06E;D06E;110F 1173 11A9;D06E;110F 1173 11A9; +D06F;D06F;110F 1173 11AA;D06F;110F 1173 11AA; +D070;D070;110F 1173 11AB;D070;110F 1173 11AB; +D071;D071;110F 1173 11AC;D071;110F 1173 11AC; +D072;D072;110F 1173 11AD;D072;110F 1173 11AD; +D073;D073;110F 1173 11AE;D073;110F 1173 11AE; +D074;D074;110F 1173 11AF;D074;110F 1173 11AF; +D075;D075;110F 1173 11B0;D075;110F 1173 11B0; +D076;D076;110F 1173 11B1;D076;110F 1173 11B1; +D077;D077;110F 1173 11B2;D077;110F 1173 11B2; +D078;D078;110F 1173 11B3;D078;110F 1173 11B3; +D079;D079;110F 1173 11B4;D079;110F 1173 11B4; +D07A;D07A;110F 1173 11B5;D07A;110F 1173 11B5; +D07B;D07B;110F 1173 11B6;D07B;110F 1173 11B6; +D07C;D07C;110F 1173 11B7;D07C;110F 1173 11B7; +D07D;D07D;110F 1173 11B8;D07D;110F 1173 11B8; +D07E;D07E;110F 1173 11B9;D07E;110F 1173 11B9; +D07F;D07F;110F 1173 11BA;D07F;110F 1173 11BA; +D080;D080;110F 1173 11BB;D080;110F 1173 11BB; +D081;D081;110F 1173 11BC;D081;110F 1173 11BC; +D082;D082;110F 1173 11BD;D082;110F 1173 11BD; +D083;D083;110F 1173 11BE;D083;110F 1173 11BE; +D084;D084;110F 1173 11BF;D084;110F 1173 11BF; +D085;D085;110F 1173 11C0;D085;110F 1173 11C0; +D086;D086;110F 1173 11C1;D086;110F 1173 11C1; +D087;D087;110F 1173 11C2;D087;110F 1173 11C2; +D088;D088;110F 1174;D088;110F 1174; +D089;D089;110F 1174 11A8;D089;110F 1174 11A8; +D08A;D08A;110F 1174 11A9;D08A;110F 1174 11A9; +D08B;D08B;110F 1174 11AA;D08B;110F 1174 11AA; +D08C;D08C;110F 1174 11AB;D08C;110F 1174 11AB; +D08D;D08D;110F 1174 11AC;D08D;110F 1174 11AC; +D08E;D08E;110F 1174 11AD;D08E;110F 1174 11AD; +D08F;D08F;110F 1174 11AE;D08F;110F 1174 11AE; +D090;D090;110F 1174 11AF;D090;110F 1174 11AF; +D091;D091;110F 1174 11B0;D091;110F 1174 11B0; +D092;D092;110F 1174 11B1;D092;110F 1174 11B1; +D093;D093;110F 1174 11B2;D093;110F 1174 11B2; +D094;D094;110F 1174 11B3;D094;110F 1174 11B3; +D095;D095;110F 1174 11B4;D095;110F 1174 11B4; +D096;D096;110F 1174 11B5;D096;110F 1174 11B5; +D097;D097;110F 1174 11B6;D097;110F 1174 11B6; +D098;D098;110F 1174 11B7;D098;110F 1174 11B7; +D099;D099;110F 1174 11B8;D099;110F 1174 11B8; +D09A;D09A;110F 1174 11B9;D09A;110F 1174 11B9; +D09B;D09B;110F 1174 11BA;D09B;110F 1174 11BA; +D09C;D09C;110F 1174 11BB;D09C;110F 1174 11BB; +D09D;D09D;110F 1174 11BC;D09D;110F 1174 11BC; +D09E;D09E;110F 1174 11BD;D09E;110F 1174 11BD; +D09F;D09F;110F 1174 11BE;D09F;110F 1174 11BE; +D0A0;D0A0;110F 1174 11BF;D0A0;110F 1174 11BF; +D0A1;D0A1;110F 1174 11C0;D0A1;110F 1174 11C0; +D0A2;D0A2;110F 1174 11C1;D0A2;110F 1174 11C1; +D0A3;D0A3;110F 1174 11C2;D0A3;110F 1174 11C2; +D0A4;D0A4;110F 1175;D0A4;110F 1175; +D0A5;D0A5;110F 1175 11A8;D0A5;110F 1175 11A8; +D0A6;D0A6;110F 1175 11A9;D0A6;110F 1175 11A9; +D0A7;D0A7;110F 1175 11AA;D0A7;110F 1175 11AA; +D0A8;D0A8;110F 1175 11AB;D0A8;110F 1175 11AB; +D0A9;D0A9;110F 1175 11AC;D0A9;110F 1175 11AC; +D0AA;D0AA;110F 1175 11AD;D0AA;110F 1175 11AD; +D0AB;D0AB;110F 1175 11AE;D0AB;110F 1175 11AE; +D0AC;D0AC;110F 1175 11AF;D0AC;110F 1175 11AF; +D0AD;D0AD;110F 1175 11B0;D0AD;110F 1175 11B0; +D0AE;D0AE;110F 1175 11B1;D0AE;110F 1175 11B1; +D0AF;D0AF;110F 1175 11B2;D0AF;110F 1175 11B2; +D0B0;D0B0;110F 1175 11B3;D0B0;110F 1175 11B3; +D0B1;D0B1;110F 1175 11B4;D0B1;110F 1175 11B4; +D0B2;D0B2;110F 1175 11B5;D0B2;110F 1175 11B5; +D0B3;D0B3;110F 1175 11B6;D0B3;110F 1175 11B6; +D0B4;D0B4;110F 1175 11B7;D0B4;110F 1175 11B7; +D0B5;D0B5;110F 1175 11B8;D0B5;110F 1175 11B8; +D0B6;D0B6;110F 1175 11B9;D0B6;110F 1175 11B9; +D0B7;D0B7;110F 1175 11BA;D0B7;110F 1175 11BA; +D0B8;D0B8;110F 1175 11BB;D0B8;110F 1175 11BB; +D0B9;D0B9;110F 1175 11BC;D0B9;110F 1175 11BC; +D0BA;D0BA;110F 1175 11BD;D0BA;110F 1175 11BD; +D0BB;D0BB;110F 1175 11BE;D0BB;110F 1175 11BE; +D0BC;D0BC;110F 1175 11BF;D0BC;110F 1175 11BF; +D0BD;D0BD;110F 1175 11C0;D0BD;110F 1175 11C0; +D0BE;D0BE;110F 1175 11C1;D0BE;110F 1175 11C1; +D0BF;D0BF;110F 1175 11C2;D0BF;110F 1175 11C2; +D0C0;D0C0;1110 1161;D0C0;1110 1161; +D0C1;D0C1;1110 1161 11A8;D0C1;1110 1161 11A8; +D0C2;D0C2;1110 1161 11A9;D0C2;1110 1161 11A9; +D0C3;D0C3;1110 1161 11AA;D0C3;1110 1161 11AA; +D0C4;D0C4;1110 1161 11AB;D0C4;1110 1161 11AB; +D0C5;D0C5;1110 1161 11AC;D0C5;1110 1161 11AC; +D0C6;D0C6;1110 1161 11AD;D0C6;1110 1161 11AD; +D0C7;D0C7;1110 1161 11AE;D0C7;1110 1161 11AE; +D0C8;D0C8;1110 1161 11AF;D0C8;1110 1161 11AF; +D0C9;D0C9;1110 1161 11B0;D0C9;1110 1161 11B0; +D0CA;D0CA;1110 1161 11B1;D0CA;1110 1161 11B1; +D0CB;D0CB;1110 1161 11B2;D0CB;1110 1161 11B2; +D0CC;D0CC;1110 1161 11B3;D0CC;1110 1161 11B3; +D0CD;D0CD;1110 1161 11B4;D0CD;1110 1161 11B4; +D0CE;D0CE;1110 1161 11B5;D0CE;1110 1161 11B5; +D0CF;D0CF;1110 1161 11B6;D0CF;1110 1161 11B6; +D0D0;D0D0;1110 1161 11B7;D0D0;1110 1161 11B7; +D0D1;D0D1;1110 1161 11B8;D0D1;1110 1161 11B8; +D0D2;D0D2;1110 1161 11B9;D0D2;1110 1161 11B9; +D0D3;D0D3;1110 1161 11BA;D0D3;1110 1161 11BA; +D0D4;D0D4;1110 1161 11BB;D0D4;1110 1161 11BB; +D0D5;D0D5;1110 1161 11BC;D0D5;1110 1161 11BC; +D0D6;D0D6;1110 1161 11BD;D0D6;1110 1161 11BD; +D0D7;D0D7;1110 1161 11BE;D0D7;1110 1161 11BE; +D0D8;D0D8;1110 1161 11BF;D0D8;1110 1161 11BF; +D0D9;D0D9;1110 1161 11C0;D0D9;1110 1161 11C0; +D0DA;D0DA;1110 1161 11C1;D0DA;1110 1161 11C1; +D0DB;D0DB;1110 1161 11C2;D0DB;1110 1161 11C2; +D0DC;D0DC;1110 1162;D0DC;1110 1162; +D0DD;D0DD;1110 1162 11A8;D0DD;1110 1162 11A8; +D0DE;D0DE;1110 1162 11A9;D0DE;1110 1162 11A9; +D0DF;D0DF;1110 1162 11AA;D0DF;1110 1162 11AA; +D0E0;D0E0;1110 1162 11AB;D0E0;1110 1162 11AB; +D0E1;D0E1;1110 1162 11AC;D0E1;1110 1162 11AC; +D0E2;D0E2;1110 1162 11AD;D0E2;1110 1162 11AD; +D0E3;D0E3;1110 1162 11AE;D0E3;1110 1162 11AE; +D0E4;D0E4;1110 1162 11AF;D0E4;1110 1162 11AF; +D0E5;D0E5;1110 1162 11B0;D0E5;1110 1162 11B0; +D0E6;D0E6;1110 1162 11B1;D0E6;1110 1162 11B1; +D0E7;D0E7;1110 1162 11B2;D0E7;1110 1162 11B2; +D0E8;D0E8;1110 1162 11B3;D0E8;1110 1162 11B3; +D0E9;D0E9;1110 1162 11B4;D0E9;1110 1162 11B4; +D0EA;D0EA;1110 1162 11B5;D0EA;1110 1162 11B5; +D0EB;D0EB;1110 1162 11B6;D0EB;1110 1162 11B6; +D0EC;D0EC;1110 1162 11B7;D0EC;1110 1162 11B7; +D0ED;D0ED;1110 1162 11B8;D0ED;1110 1162 11B8; +D0EE;D0EE;1110 1162 11B9;D0EE;1110 1162 11B9; +D0EF;D0EF;1110 1162 11BA;D0EF;1110 1162 11BA; +D0F0;D0F0;1110 1162 11BB;D0F0;1110 1162 11BB; +D0F1;D0F1;1110 1162 11BC;D0F1;1110 1162 11BC; +D0F2;D0F2;1110 1162 11BD;D0F2;1110 1162 11BD; +D0F3;D0F3;1110 1162 11BE;D0F3;1110 1162 11BE; +D0F4;D0F4;1110 1162 11BF;D0F4;1110 1162 11BF; +D0F5;D0F5;1110 1162 11C0;D0F5;1110 1162 11C0; +D0F6;D0F6;1110 1162 11C1;D0F6;1110 1162 11C1; +D0F7;D0F7;1110 1162 11C2;D0F7;1110 1162 11C2; +D0F8;D0F8;1110 1163;D0F8;1110 1163; +D0F9;D0F9;1110 1163 11A8;D0F9;1110 1163 11A8; +D0FA;D0FA;1110 1163 11A9;D0FA;1110 1163 11A9; +D0FB;D0FB;1110 1163 11AA;D0FB;1110 1163 11AA; +D0FC;D0FC;1110 1163 11AB;D0FC;1110 1163 11AB; +D0FD;D0FD;1110 1163 11AC;D0FD;1110 1163 11AC; +D0FE;D0FE;1110 1163 11AD;D0FE;1110 1163 11AD; +D0FF;D0FF;1110 1163 11AE;D0FF;1110 1163 11AE; +D100;D100;1110 1163 11AF;D100;1110 1163 11AF; +D101;D101;1110 1163 11B0;D101;1110 1163 11B0; +D102;D102;1110 1163 11B1;D102;1110 1163 11B1; +D103;D103;1110 1163 11B2;D103;1110 1163 11B2; +D104;D104;1110 1163 11B3;D104;1110 1163 11B3; +D105;D105;1110 1163 11B4;D105;1110 1163 11B4; +D106;D106;1110 1163 11B5;D106;1110 1163 11B5; +D107;D107;1110 1163 11B6;D107;1110 1163 11B6; +D108;D108;1110 1163 11B7;D108;1110 1163 11B7; +D109;D109;1110 1163 11B8;D109;1110 1163 11B8; +D10A;D10A;1110 1163 11B9;D10A;1110 1163 11B9; +D10B;D10B;1110 1163 11BA;D10B;1110 1163 11BA; +D10C;D10C;1110 1163 11BB;D10C;1110 1163 11BB; +D10D;D10D;1110 1163 11BC;D10D;1110 1163 11BC; +D10E;D10E;1110 1163 11BD;D10E;1110 1163 11BD; +D10F;D10F;1110 1163 11BE;D10F;1110 1163 11BE; +D110;D110;1110 1163 11BF;D110;1110 1163 11BF; +D111;D111;1110 1163 11C0;D111;1110 1163 11C0; +D112;D112;1110 1163 11C1;D112;1110 1163 11C1; +D113;D113;1110 1163 11C2;D113;1110 1163 11C2; +D114;D114;1110 1164;D114;1110 1164; +D115;D115;1110 1164 11A8;D115;1110 1164 11A8; +D116;D116;1110 1164 11A9;D116;1110 1164 11A9; +D117;D117;1110 1164 11AA;D117;1110 1164 11AA; +D118;D118;1110 1164 11AB;D118;1110 1164 11AB; +D119;D119;1110 1164 11AC;D119;1110 1164 11AC; +D11A;D11A;1110 1164 11AD;D11A;1110 1164 11AD; +D11B;D11B;1110 1164 11AE;D11B;1110 1164 11AE; +D11C;D11C;1110 1164 11AF;D11C;1110 1164 11AF; +D11D;D11D;1110 1164 11B0;D11D;1110 1164 11B0; +D11E;D11E;1110 1164 11B1;D11E;1110 1164 11B1; +D11F;D11F;1110 1164 11B2;D11F;1110 1164 11B2; +D120;D120;1110 1164 11B3;D120;1110 1164 11B3; +D121;D121;1110 1164 11B4;D121;1110 1164 11B4; +D122;D122;1110 1164 11B5;D122;1110 1164 11B5; +D123;D123;1110 1164 11B6;D123;1110 1164 11B6; +D124;D124;1110 1164 11B7;D124;1110 1164 11B7; +D125;D125;1110 1164 11B8;D125;1110 1164 11B8; +D126;D126;1110 1164 11B9;D126;1110 1164 11B9; +D127;D127;1110 1164 11BA;D127;1110 1164 11BA; +D128;D128;1110 1164 11BB;D128;1110 1164 11BB; +D129;D129;1110 1164 11BC;D129;1110 1164 11BC; +D12A;D12A;1110 1164 11BD;D12A;1110 1164 11BD; +D12B;D12B;1110 1164 11BE;D12B;1110 1164 11BE; +D12C;D12C;1110 1164 11BF;D12C;1110 1164 11BF; +D12D;D12D;1110 1164 11C0;D12D;1110 1164 11C0; +D12E;D12E;1110 1164 11C1;D12E;1110 1164 11C1; +D12F;D12F;1110 1164 11C2;D12F;1110 1164 11C2; +D130;D130;1110 1165;D130;1110 1165; +D131;D131;1110 1165 11A8;D131;1110 1165 11A8; +D132;D132;1110 1165 11A9;D132;1110 1165 11A9; +D133;D133;1110 1165 11AA;D133;1110 1165 11AA; +D134;D134;1110 1165 11AB;D134;1110 1165 11AB; +D135;D135;1110 1165 11AC;D135;1110 1165 11AC; +D136;D136;1110 1165 11AD;D136;1110 1165 11AD; +D137;D137;1110 1165 11AE;D137;1110 1165 11AE; +D138;D138;1110 1165 11AF;D138;1110 1165 11AF; +D139;D139;1110 1165 11B0;D139;1110 1165 11B0; +D13A;D13A;1110 1165 11B1;D13A;1110 1165 11B1; +D13B;D13B;1110 1165 11B2;D13B;1110 1165 11B2; +D13C;D13C;1110 1165 11B3;D13C;1110 1165 11B3; +D13D;D13D;1110 1165 11B4;D13D;1110 1165 11B4; +D13E;D13E;1110 1165 11B5;D13E;1110 1165 11B5; +D13F;D13F;1110 1165 11B6;D13F;1110 1165 11B6; +D140;D140;1110 1165 11B7;D140;1110 1165 11B7; +D141;D141;1110 1165 11B8;D141;1110 1165 11B8; +D142;D142;1110 1165 11B9;D142;1110 1165 11B9; +D143;D143;1110 1165 11BA;D143;1110 1165 11BA; +D144;D144;1110 1165 11BB;D144;1110 1165 11BB; +D145;D145;1110 1165 11BC;D145;1110 1165 11BC; +D146;D146;1110 1165 11BD;D146;1110 1165 11BD; +D147;D147;1110 1165 11BE;D147;1110 1165 11BE; +D148;D148;1110 1165 11BF;D148;1110 1165 11BF; +D149;D149;1110 1165 11C0;D149;1110 1165 11C0; +D14A;D14A;1110 1165 11C1;D14A;1110 1165 11C1; +D14B;D14B;1110 1165 11C2;D14B;1110 1165 11C2; +D14C;D14C;1110 1166;D14C;1110 1166; +D14D;D14D;1110 1166 11A8;D14D;1110 1166 11A8; +D14E;D14E;1110 1166 11A9;D14E;1110 1166 11A9; +D14F;D14F;1110 1166 11AA;D14F;1110 1166 11AA; +D150;D150;1110 1166 11AB;D150;1110 1166 11AB; +D151;D151;1110 1166 11AC;D151;1110 1166 11AC; +D152;D152;1110 1166 11AD;D152;1110 1166 11AD; +D153;D153;1110 1166 11AE;D153;1110 1166 11AE; +D154;D154;1110 1166 11AF;D154;1110 1166 11AF; +D155;D155;1110 1166 11B0;D155;1110 1166 11B0; +D156;D156;1110 1166 11B1;D156;1110 1166 11B1; +D157;D157;1110 1166 11B2;D157;1110 1166 11B2; +D158;D158;1110 1166 11B3;D158;1110 1166 11B3; +D159;D159;1110 1166 11B4;D159;1110 1166 11B4; +D15A;D15A;1110 1166 11B5;D15A;1110 1166 11B5; +D15B;D15B;1110 1166 11B6;D15B;1110 1166 11B6; +D15C;D15C;1110 1166 11B7;D15C;1110 1166 11B7; +D15D;D15D;1110 1166 11B8;D15D;1110 1166 11B8; +D15E;D15E;1110 1166 11B9;D15E;1110 1166 11B9; +D15F;D15F;1110 1166 11BA;D15F;1110 1166 11BA; +D160;D160;1110 1166 11BB;D160;1110 1166 11BB; +D161;D161;1110 1166 11BC;D161;1110 1166 11BC; +D162;D162;1110 1166 11BD;D162;1110 1166 11BD; +D163;D163;1110 1166 11BE;D163;1110 1166 11BE; +D164;D164;1110 1166 11BF;D164;1110 1166 11BF; +D165;D165;1110 1166 11C0;D165;1110 1166 11C0; +D166;D166;1110 1166 11C1;D166;1110 1166 11C1; +D167;D167;1110 1166 11C2;D167;1110 1166 11C2; +D168;D168;1110 1167;D168;1110 1167; +D169;D169;1110 1167 11A8;D169;1110 1167 11A8; +D16A;D16A;1110 1167 11A9;D16A;1110 1167 11A9; +D16B;D16B;1110 1167 11AA;D16B;1110 1167 11AA; +D16C;D16C;1110 1167 11AB;D16C;1110 1167 11AB; +D16D;D16D;1110 1167 11AC;D16D;1110 1167 11AC; +D16E;D16E;1110 1167 11AD;D16E;1110 1167 11AD; +D16F;D16F;1110 1167 11AE;D16F;1110 1167 11AE; +D170;D170;1110 1167 11AF;D170;1110 1167 11AF; +D171;D171;1110 1167 11B0;D171;1110 1167 11B0; +D172;D172;1110 1167 11B1;D172;1110 1167 11B1; +D173;D173;1110 1167 11B2;D173;1110 1167 11B2; +D174;D174;1110 1167 11B3;D174;1110 1167 11B3; +D175;D175;1110 1167 11B4;D175;1110 1167 11B4; +D176;D176;1110 1167 11B5;D176;1110 1167 11B5; +D177;D177;1110 1167 11B6;D177;1110 1167 11B6; +D178;D178;1110 1167 11B7;D178;1110 1167 11B7; +D179;D179;1110 1167 11B8;D179;1110 1167 11B8; +D17A;D17A;1110 1167 11B9;D17A;1110 1167 11B9; +D17B;D17B;1110 1167 11BA;D17B;1110 1167 11BA; +D17C;D17C;1110 1167 11BB;D17C;1110 1167 11BB; +D17D;D17D;1110 1167 11BC;D17D;1110 1167 11BC; +D17E;D17E;1110 1167 11BD;D17E;1110 1167 11BD; +D17F;D17F;1110 1167 11BE;D17F;1110 1167 11BE; +D180;D180;1110 1167 11BF;D180;1110 1167 11BF; +D181;D181;1110 1167 11C0;D181;1110 1167 11C0; +D182;D182;1110 1167 11C1;D182;1110 1167 11C1; +D183;D183;1110 1167 11C2;D183;1110 1167 11C2; +D184;D184;1110 1168;D184;1110 1168; +D185;D185;1110 1168 11A8;D185;1110 1168 11A8; +D186;D186;1110 1168 11A9;D186;1110 1168 11A9; +D187;D187;1110 1168 11AA;D187;1110 1168 11AA; +D188;D188;1110 1168 11AB;D188;1110 1168 11AB; +D189;D189;1110 1168 11AC;D189;1110 1168 11AC; +D18A;D18A;1110 1168 11AD;D18A;1110 1168 11AD; +D18B;D18B;1110 1168 11AE;D18B;1110 1168 11AE; +D18C;D18C;1110 1168 11AF;D18C;1110 1168 11AF; +D18D;D18D;1110 1168 11B0;D18D;1110 1168 11B0; +D18E;D18E;1110 1168 11B1;D18E;1110 1168 11B1; +D18F;D18F;1110 1168 11B2;D18F;1110 1168 11B2; +D190;D190;1110 1168 11B3;D190;1110 1168 11B3; +D191;D191;1110 1168 11B4;D191;1110 1168 11B4; +D192;D192;1110 1168 11B5;D192;1110 1168 11B5; +D193;D193;1110 1168 11B6;D193;1110 1168 11B6; +D194;D194;1110 1168 11B7;D194;1110 1168 11B7; +D195;D195;1110 1168 11B8;D195;1110 1168 11B8; +D196;D196;1110 1168 11B9;D196;1110 1168 11B9; +D197;D197;1110 1168 11BA;D197;1110 1168 11BA; +D198;D198;1110 1168 11BB;D198;1110 1168 11BB; +D199;D199;1110 1168 11BC;D199;1110 1168 11BC; +D19A;D19A;1110 1168 11BD;D19A;1110 1168 11BD; +D19B;D19B;1110 1168 11BE;D19B;1110 1168 11BE; +D19C;D19C;1110 1168 11BF;D19C;1110 1168 11BF; +D19D;D19D;1110 1168 11C0;D19D;1110 1168 11C0; +D19E;D19E;1110 1168 11C1;D19E;1110 1168 11C1; +D19F;D19F;1110 1168 11C2;D19F;1110 1168 11C2; +D1A0;D1A0;1110 1169;D1A0;1110 1169; +D1A1;D1A1;1110 1169 11A8;D1A1;1110 1169 11A8; +D1A2;D1A2;1110 1169 11A9;D1A2;1110 1169 11A9; +D1A3;D1A3;1110 1169 11AA;D1A3;1110 1169 11AA; +D1A4;D1A4;1110 1169 11AB;D1A4;1110 1169 11AB; +D1A5;D1A5;1110 1169 11AC;D1A5;1110 1169 11AC; +D1A6;D1A6;1110 1169 11AD;D1A6;1110 1169 11AD; +D1A7;D1A7;1110 1169 11AE;D1A7;1110 1169 11AE; +D1A8;D1A8;1110 1169 11AF;D1A8;1110 1169 11AF; +D1A9;D1A9;1110 1169 11B0;D1A9;1110 1169 11B0; +D1AA;D1AA;1110 1169 11B1;D1AA;1110 1169 11B1; +D1AB;D1AB;1110 1169 11B2;D1AB;1110 1169 11B2; +D1AC;D1AC;1110 1169 11B3;D1AC;1110 1169 11B3; +D1AD;D1AD;1110 1169 11B4;D1AD;1110 1169 11B4; +D1AE;D1AE;1110 1169 11B5;D1AE;1110 1169 11B5; +D1AF;D1AF;1110 1169 11B6;D1AF;1110 1169 11B6; +D1B0;D1B0;1110 1169 11B7;D1B0;1110 1169 11B7; +D1B1;D1B1;1110 1169 11B8;D1B1;1110 1169 11B8; +D1B2;D1B2;1110 1169 11B9;D1B2;1110 1169 11B9; +D1B3;D1B3;1110 1169 11BA;D1B3;1110 1169 11BA; +D1B4;D1B4;1110 1169 11BB;D1B4;1110 1169 11BB; +D1B5;D1B5;1110 1169 11BC;D1B5;1110 1169 11BC; +D1B6;D1B6;1110 1169 11BD;D1B6;1110 1169 11BD; +D1B7;D1B7;1110 1169 11BE;D1B7;1110 1169 11BE; +D1B8;D1B8;1110 1169 11BF;D1B8;1110 1169 11BF; +D1B9;D1B9;1110 1169 11C0;D1B9;1110 1169 11C0; +D1BA;D1BA;1110 1169 11C1;D1BA;1110 1169 11C1; +D1BB;D1BB;1110 1169 11C2;D1BB;1110 1169 11C2; +D1BC;D1BC;1110 116A;D1BC;1110 116A; +D1BD;D1BD;1110 116A 11A8;D1BD;1110 116A 11A8; +D1BE;D1BE;1110 116A 11A9;D1BE;1110 116A 11A9; +D1BF;D1BF;1110 116A 11AA;D1BF;1110 116A 11AA; +D1C0;D1C0;1110 116A 11AB;D1C0;1110 116A 11AB; +D1C1;D1C1;1110 116A 11AC;D1C1;1110 116A 11AC; +D1C2;D1C2;1110 116A 11AD;D1C2;1110 116A 11AD; +D1C3;D1C3;1110 116A 11AE;D1C3;1110 116A 11AE; +D1C4;D1C4;1110 116A 11AF;D1C4;1110 116A 11AF; +D1C5;D1C5;1110 116A 11B0;D1C5;1110 116A 11B0; +D1C6;D1C6;1110 116A 11B1;D1C6;1110 116A 11B1; +D1C7;D1C7;1110 116A 11B2;D1C7;1110 116A 11B2; +D1C8;D1C8;1110 116A 11B3;D1C8;1110 116A 11B3; +D1C9;D1C9;1110 116A 11B4;D1C9;1110 116A 11B4; +D1CA;D1CA;1110 116A 11B5;D1CA;1110 116A 11B5; +D1CB;D1CB;1110 116A 11B6;D1CB;1110 116A 11B6; +D1CC;D1CC;1110 116A 11B7;D1CC;1110 116A 11B7; +D1CD;D1CD;1110 116A 11B8;D1CD;1110 116A 11B8; +D1CE;D1CE;1110 116A 11B9;D1CE;1110 116A 11B9; +D1CF;D1CF;1110 116A 11BA;D1CF;1110 116A 11BA; +D1D0;D1D0;1110 116A 11BB;D1D0;1110 116A 11BB; +D1D1;D1D1;1110 116A 11BC;D1D1;1110 116A 11BC; +D1D2;D1D2;1110 116A 11BD;D1D2;1110 116A 11BD; +D1D3;D1D3;1110 116A 11BE;D1D3;1110 116A 11BE; +D1D4;D1D4;1110 116A 11BF;D1D4;1110 116A 11BF; +D1D5;D1D5;1110 116A 11C0;D1D5;1110 116A 11C0; +D1D6;D1D6;1110 116A 11C1;D1D6;1110 116A 11C1; +D1D7;D1D7;1110 116A 11C2;D1D7;1110 116A 11C2; +D1D8;D1D8;1110 116B;D1D8;1110 116B; +D1D9;D1D9;1110 116B 11A8;D1D9;1110 116B 11A8; +D1DA;D1DA;1110 116B 11A9;D1DA;1110 116B 11A9; +D1DB;D1DB;1110 116B 11AA;D1DB;1110 116B 11AA; +D1DC;D1DC;1110 116B 11AB;D1DC;1110 116B 11AB; +D1DD;D1DD;1110 116B 11AC;D1DD;1110 116B 11AC; +D1DE;D1DE;1110 116B 11AD;D1DE;1110 116B 11AD; +D1DF;D1DF;1110 116B 11AE;D1DF;1110 116B 11AE; +D1E0;D1E0;1110 116B 11AF;D1E0;1110 116B 11AF; +D1E1;D1E1;1110 116B 11B0;D1E1;1110 116B 11B0; +D1E2;D1E2;1110 116B 11B1;D1E2;1110 116B 11B1; +D1E3;D1E3;1110 116B 11B2;D1E3;1110 116B 11B2; +D1E4;D1E4;1110 116B 11B3;D1E4;1110 116B 11B3; +D1E5;D1E5;1110 116B 11B4;D1E5;1110 116B 11B4; +D1E6;D1E6;1110 116B 11B5;D1E6;1110 116B 11B5; +D1E7;D1E7;1110 116B 11B6;D1E7;1110 116B 11B6; +D1E8;D1E8;1110 116B 11B7;D1E8;1110 116B 11B7; +D1E9;D1E9;1110 116B 11B8;D1E9;1110 116B 11B8; +D1EA;D1EA;1110 116B 11B9;D1EA;1110 116B 11B9; +D1EB;D1EB;1110 116B 11BA;D1EB;1110 116B 11BA; +D1EC;D1EC;1110 116B 11BB;D1EC;1110 116B 11BB; +D1ED;D1ED;1110 116B 11BC;D1ED;1110 116B 11BC; +D1EE;D1EE;1110 116B 11BD;D1EE;1110 116B 11BD; +D1EF;D1EF;1110 116B 11BE;D1EF;1110 116B 11BE; +D1F0;D1F0;1110 116B 11BF;D1F0;1110 116B 11BF; +D1F1;D1F1;1110 116B 11C0;D1F1;1110 116B 11C0; +D1F2;D1F2;1110 116B 11C1;D1F2;1110 116B 11C1; +D1F3;D1F3;1110 116B 11C2;D1F3;1110 116B 11C2; +D1F4;D1F4;1110 116C;D1F4;1110 116C; +D1F5;D1F5;1110 116C 11A8;D1F5;1110 116C 11A8; +D1F6;D1F6;1110 116C 11A9;D1F6;1110 116C 11A9; +D1F7;D1F7;1110 116C 11AA;D1F7;1110 116C 11AA; +D1F8;D1F8;1110 116C 11AB;D1F8;1110 116C 11AB; +D1F9;D1F9;1110 116C 11AC;D1F9;1110 116C 11AC; +D1FA;D1FA;1110 116C 11AD;D1FA;1110 116C 11AD; +D1FB;D1FB;1110 116C 11AE;D1FB;1110 116C 11AE; +D1FC;D1FC;1110 116C 11AF;D1FC;1110 116C 11AF; +D1FD;D1FD;1110 116C 11B0;D1FD;1110 116C 11B0; +D1FE;D1FE;1110 116C 11B1;D1FE;1110 116C 11B1; +D1FF;D1FF;1110 116C 11B2;D1FF;1110 116C 11B2; +D200;D200;1110 116C 11B3;D200;1110 116C 11B3; +D201;D201;1110 116C 11B4;D201;1110 116C 11B4; +D202;D202;1110 116C 11B5;D202;1110 116C 11B5; +D203;D203;1110 116C 11B6;D203;1110 116C 11B6; +D204;D204;1110 116C 11B7;D204;1110 116C 11B7; +D205;D205;1110 116C 11B8;D205;1110 116C 11B8; +D206;D206;1110 116C 11B9;D206;1110 116C 11B9; +D207;D207;1110 116C 11BA;D207;1110 116C 11BA; +D208;D208;1110 116C 11BB;D208;1110 116C 11BB; +D209;D209;1110 116C 11BC;D209;1110 116C 11BC; +D20A;D20A;1110 116C 11BD;D20A;1110 116C 11BD; +D20B;D20B;1110 116C 11BE;D20B;1110 116C 11BE; +D20C;D20C;1110 116C 11BF;D20C;1110 116C 11BF; +D20D;D20D;1110 116C 11C0;D20D;1110 116C 11C0; +D20E;D20E;1110 116C 11C1;D20E;1110 116C 11C1; +D20F;D20F;1110 116C 11C2;D20F;1110 116C 11C2; +D210;D210;1110 116D;D210;1110 116D; +D211;D211;1110 116D 11A8;D211;1110 116D 11A8; +D212;D212;1110 116D 11A9;D212;1110 116D 11A9; +D213;D213;1110 116D 11AA;D213;1110 116D 11AA; +D214;D214;1110 116D 11AB;D214;1110 116D 11AB; +D215;D215;1110 116D 11AC;D215;1110 116D 11AC; +D216;D216;1110 116D 11AD;D216;1110 116D 11AD; +D217;D217;1110 116D 11AE;D217;1110 116D 11AE; +D218;D218;1110 116D 11AF;D218;1110 116D 11AF; +D219;D219;1110 116D 11B0;D219;1110 116D 11B0; +D21A;D21A;1110 116D 11B1;D21A;1110 116D 11B1; +D21B;D21B;1110 116D 11B2;D21B;1110 116D 11B2; +D21C;D21C;1110 116D 11B3;D21C;1110 116D 11B3; +D21D;D21D;1110 116D 11B4;D21D;1110 116D 11B4; +D21E;D21E;1110 116D 11B5;D21E;1110 116D 11B5; +D21F;D21F;1110 116D 11B6;D21F;1110 116D 11B6; +D220;D220;1110 116D 11B7;D220;1110 116D 11B7; +D221;D221;1110 116D 11B8;D221;1110 116D 11B8; +D222;D222;1110 116D 11B9;D222;1110 116D 11B9; +D223;D223;1110 116D 11BA;D223;1110 116D 11BA; +D224;D224;1110 116D 11BB;D224;1110 116D 11BB; +D225;D225;1110 116D 11BC;D225;1110 116D 11BC; +D226;D226;1110 116D 11BD;D226;1110 116D 11BD; +D227;D227;1110 116D 11BE;D227;1110 116D 11BE; +D228;D228;1110 116D 11BF;D228;1110 116D 11BF; +D229;D229;1110 116D 11C0;D229;1110 116D 11C0; +D22A;D22A;1110 116D 11C1;D22A;1110 116D 11C1; +D22B;D22B;1110 116D 11C2;D22B;1110 116D 11C2; +D22C;D22C;1110 116E;D22C;1110 116E; +D22D;D22D;1110 116E 11A8;D22D;1110 116E 11A8; +D22E;D22E;1110 116E 11A9;D22E;1110 116E 11A9; +D22F;D22F;1110 116E 11AA;D22F;1110 116E 11AA; +D230;D230;1110 116E 11AB;D230;1110 116E 11AB; +D231;D231;1110 116E 11AC;D231;1110 116E 11AC; +D232;D232;1110 116E 11AD;D232;1110 116E 11AD; +D233;D233;1110 116E 11AE;D233;1110 116E 11AE; +D234;D234;1110 116E 11AF;D234;1110 116E 11AF; +D235;D235;1110 116E 11B0;D235;1110 116E 11B0; +D236;D236;1110 116E 11B1;D236;1110 116E 11B1; +D237;D237;1110 116E 11B2;D237;1110 116E 11B2; +D238;D238;1110 116E 11B3;D238;1110 116E 11B3; +D239;D239;1110 116E 11B4;D239;1110 116E 11B4; +D23A;D23A;1110 116E 11B5;D23A;1110 116E 11B5; +D23B;D23B;1110 116E 11B6;D23B;1110 116E 11B6; +D23C;D23C;1110 116E 11B7;D23C;1110 116E 11B7; +D23D;D23D;1110 116E 11B8;D23D;1110 116E 11B8; +D23E;D23E;1110 116E 11B9;D23E;1110 116E 11B9; +D23F;D23F;1110 116E 11BA;D23F;1110 116E 11BA; +D240;D240;1110 116E 11BB;D240;1110 116E 11BB; +D241;D241;1110 116E 11BC;D241;1110 116E 11BC; +D242;D242;1110 116E 11BD;D242;1110 116E 11BD; +D243;D243;1110 116E 11BE;D243;1110 116E 11BE; +D244;D244;1110 116E 11BF;D244;1110 116E 11BF; +D245;D245;1110 116E 11C0;D245;1110 116E 11C0; +D246;D246;1110 116E 11C1;D246;1110 116E 11C1; +D247;D247;1110 116E 11C2;D247;1110 116E 11C2; +D248;D248;1110 116F;D248;1110 116F; +D249;D249;1110 116F 11A8;D249;1110 116F 11A8; +D24A;D24A;1110 116F 11A9;D24A;1110 116F 11A9; +D24B;D24B;1110 116F 11AA;D24B;1110 116F 11AA; +D24C;D24C;1110 116F 11AB;D24C;1110 116F 11AB; +D24D;D24D;1110 116F 11AC;D24D;1110 116F 11AC; +D24E;D24E;1110 116F 11AD;D24E;1110 116F 11AD; +D24F;D24F;1110 116F 11AE;D24F;1110 116F 11AE; +D250;D250;1110 116F 11AF;D250;1110 116F 11AF; +D251;D251;1110 116F 11B0;D251;1110 116F 11B0; +D252;D252;1110 116F 11B1;D252;1110 116F 11B1; +D253;D253;1110 116F 11B2;D253;1110 116F 11B2; +D254;D254;1110 116F 11B3;D254;1110 116F 11B3; +D255;D255;1110 116F 11B4;D255;1110 116F 11B4; +D256;D256;1110 116F 11B5;D256;1110 116F 11B5; +D257;D257;1110 116F 11B6;D257;1110 116F 11B6; +D258;D258;1110 116F 11B7;D258;1110 116F 11B7; +D259;D259;1110 116F 11B8;D259;1110 116F 11B8; +D25A;D25A;1110 116F 11B9;D25A;1110 116F 11B9; +D25B;D25B;1110 116F 11BA;D25B;1110 116F 11BA; +D25C;D25C;1110 116F 11BB;D25C;1110 116F 11BB; +D25D;D25D;1110 116F 11BC;D25D;1110 116F 11BC; +D25E;D25E;1110 116F 11BD;D25E;1110 116F 11BD; +D25F;D25F;1110 116F 11BE;D25F;1110 116F 11BE; +D260;D260;1110 116F 11BF;D260;1110 116F 11BF; +D261;D261;1110 116F 11C0;D261;1110 116F 11C0; +D262;D262;1110 116F 11C1;D262;1110 116F 11C1; +D263;D263;1110 116F 11C2;D263;1110 116F 11C2; +D264;D264;1110 1170;D264;1110 1170; +D265;D265;1110 1170 11A8;D265;1110 1170 11A8; +D266;D266;1110 1170 11A9;D266;1110 1170 11A9; +D267;D267;1110 1170 11AA;D267;1110 1170 11AA; +D268;D268;1110 1170 11AB;D268;1110 1170 11AB; +D269;D269;1110 1170 11AC;D269;1110 1170 11AC; +D26A;D26A;1110 1170 11AD;D26A;1110 1170 11AD; +D26B;D26B;1110 1170 11AE;D26B;1110 1170 11AE; +D26C;D26C;1110 1170 11AF;D26C;1110 1170 11AF; +D26D;D26D;1110 1170 11B0;D26D;1110 1170 11B0; +D26E;D26E;1110 1170 11B1;D26E;1110 1170 11B1; +D26F;D26F;1110 1170 11B2;D26F;1110 1170 11B2; +D270;D270;1110 1170 11B3;D270;1110 1170 11B3; +D271;D271;1110 1170 11B4;D271;1110 1170 11B4; +D272;D272;1110 1170 11B5;D272;1110 1170 11B5; +D273;D273;1110 1170 11B6;D273;1110 1170 11B6; +D274;D274;1110 1170 11B7;D274;1110 1170 11B7; +D275;D275;1110 1170 11B8;D275;1110 1170 11B8; +D276;D276;1110 1170 11B9;D276;1110 1170 11B9; +D277;D277;1110 1170 11BA;D277;1110 1170 11BA; +D278;D278;1110 1170 11BB;D278;1110 1170 11BB; +D279;D279;1110 1170 11BC;D279;1110 1170 11BC; +D27A;D27A;1110 1170 11BD;D27A;1110 1170 11BD; +D27B;D27B;1110 1170 11BE;D27B;1110 1170 11BE; +D27C;D27C;1110 1170 11BF;D27C;1110 1170 11BF; +D27D;D27D;1110 1170 11C0;D27D;1110 1170 11C0; +D27E;D27E;1110 1170 11C1;D27E;1110 1170 11C1; +D27F;D27F;1110 1170 11C2;D27F;1110 1170 11C2; +D280;D280;1110 1171;D280;1110 1171; +D281;D281;1110 1171 11A8;D281;1110 1171 11A8; +D282;D282;1110 1171 11A9;D282;1110 1171 11A9; +D283;D283;1110 1171 11AA;D283;1110 1171 11AA; +D284;D284;1110 1171 11AB;D284;1110 1171 11AB; +D285;D285;1110 1171 11AC;D285;1110 1171 11AC; +D286;D286;1110 1171 11AD;D286;1110 1171 11AD; +D287;D287;1110 1171 11AE;D287;1110 1171 11AE; +D288;D288;1110 1171 11AF;D288;1110 1171 11AF; +D289;D289;1110 1171 11B0;D289;1110 1171 11B0; +D28A;D28A;1110 1171 11B1;D28A;1110 1171 11B1; +D28B;D28B;1110 1171 11B2;D28B;1110 1171 11B2; +D28C;D28C;1110 1171 11B3;D28C;1110 1171 11B3; +D28D;D28D;1110 1171 11B4;D28D;1110 1171 11B4; +D28E;D28E;1110 1171 11B5;D28E;1110 1171 11B5; +D28F;D28F;1110 1171 11B6;D28F;1110 1171 11B6; +D290;D290;1110 1171 11B7;D290;1110 1171 11B7; +D291;D291;1110 1171 11B8;D291;1110 1171 11B8; +D292;D292;1110 1171 11B9;D292;1110 1171 11B9; +D293;D293;1110 1171 11BA;D293;1110 1171 11BA; +D294;D294;1110 1171 11BB;D294;1110 1171 11BB; +D295;D295;1110 1171 11BC;D295;1110 1171 11BC; +D296;D296;1110 1171 11BD;D296;1110 1171 11BD; +D297;D297;1110 1171 11BE;D297;1110 1171 11BE; +D298;D298;1110 1171 11BF;D298;1110 1171 11BF; +D299;D299;1110 1171 11C0;D299;1110 1171 11C0; +D29A;D29A;1110 1171 11C1;D29A;1110 1171 11C1; +D29B;D29B;1110 1171 11C2;D29B;1110 1171 11C2; +D29C;D29C;1110 1172;D29C;1110 1172; +D29D;D29D;1110 1172 11A8;D29D;1110 1172 11A8; +D29E;D29E;1110 1172 11A9;D29E;1110 1172 11A9; +D29F;D29F;1110 1172 11AA;D29F;1110 1172 11AA; +D2A0;D2A0;1110 1172 11AB;D2A0;1110 1172 11AB; +D2A1;D2A1;1110 1172 11AC;D2A1;1110 1172 11AC; +D2A2;D2A2;1110 1172 11AD;D2A2;1110 1172 11AD; +D2A3;D2A3;1110 1172 11AE;D2A3;1110 1172 11AE; +D2A4;D2A4;1110 1172 11AF;D2A4;1110 1172 11AF; +D2A5;D2A5;1110 1172 11B0;D2A5;1110 1172 11B0; +D2A6;D2A6;1110 1172 11B1;D2A6;1110 1172 11B1; +D2A7;D2A7;1110 1172 11B2;D2A7;1110 1172 11B2; +D2A8;D2A8;1110 1172 11B3;D2A8;1110 1172 11B3; +D2A9;D2A9;1110 1172 11B4;D2A9;1110 1172 11B4; +D2AA;D2AA;1110 1172 11B5;D2AA;1110 1172 11B5; +D2AB;D2AB;1110 1172 11B6;D2AB;1110 1172 11B6; +D2AC;D2AC;1110 1172 11B7;D2AC;1110 1172 11B7; +D2AD;D2AD;1110 1172 11B8;D2AD;1110 1172 11B8; +D2AE;D2AE;1110 1172 11B9;D2AE;1110 1172 11B9; +D2AF;D2AF;1110 1172 11BA;D2AF;1110 1172 11BA; +D2B0;D2B0;1110 1172 11BB;D2B0;1110 1172 11BB; +D2B1;D2B1;1110 1172 11BC;D2B1;1110 1172 11BC; +D2B2;D2B2;1110 1172 11BD;D2B2;1110 1172 11BD; +D2B3;D2B3;1110 1172 11BE;D2B3;1110 1172 11BE; +D2B4;D2B4;1110 1172 11BF;D2B4;1110 1172 11BF; +D2B5;D2B5;1110 1172 11C0;D2B5;1110 1172 11C0; +D2B6;D2B6;1110 1172 11C1;D2B6;1110 1172 11C1; +D2B7;D2B7;1110 1172 11C2;D2B7;1110 1172 11C2; +D2B8;D2B8;1110 1173;D2B8;1110 1173; +D2B9;D2B9;1110 1173 11A8;D2B9;1110 1173 11A8; +D2BA;D2BA;1110 1173 11A9;D2BA;1110 1173 11A9; +D2BB;D2BB;1110 1173 11AA;D2BB;1110 1173 11AA; +D2BC;D2BC;1110 1173 11AB;D2BC;1110 1173 11AB; +D2BD;D2BD;1110 1173 11AC;D2BD;1110 1173 11AC; +D2BE;D2BE;1110 1173 11AD;D2BE;1110 1173 11AD; +D2BF;D2BF;1110 1173 11AE;D2BF;1110 1173 11AE; +D2C0;D2C0;1110 1173 11AF;D2C0;1110 1173 11AF; +D2C1;D2C1;1110 1173 11B0;D2C1;1110 1173 11B0; +D2C2;D2C2;1110 1173 11B1;D2C2;1110 1173 11B1; +D2C3;D2C3;1110 1173 11B2;D2C3;1110 1173 11B2; +D2C4;D2C4;1110 1173 11B3;D2C4;1110 1173 11B3; +D2C5;D2C5;1110 1173 11B4;D2C5;1110 1173 11B4; +D2C6;D2C6;1110 1173 11B5;D2C6;1110 1173 11B5; +D2C7;D2C7;1110 1173 11B6;D2C7;1110 1173 11B6; +D2C8;D2C8;1110 1173 11B7;D2C8;1110 1173 11B7; +D2C9;D2C9;1110 1173 11B8;D2C9;1110 1173 11B8; +D2CA;D2CA;1110 1173 11B9;D2CA;1110 1173 11B9; +D2CB;D2CB;1110 1173 11BA;D2CB;1110 1173 11BA; +D2CC;D2CC;1110 1173 11BB;D2CC;1110 1173 11BB; +D2CD;D2CD;1110 1173 11BC;D2CD;1110 1173 11BC; +D2CE;D2CE;1110 1173 11BD;D2CE;1110 1173 11BD; +D2CF;D2CF;1110 1173 11BE;D2CF;1110 1173 11BE; +D2D0;D2D0;1110 1173 11BF;D2D0;1110 1173 11BF; +D2D1;D2D1;1110 1173 11C0;D2D1;1110 1173 11C0; +D2D2;D2D2;1110 1173 11C1;D2D2;1110 1173 11C1; +D2D3;D2D3;1110 1173 11C2;D2D3;1110 1173 11C2; +D2D4;D2D4;1110 1174;D2D4;1110 1174; +D2D5;D2D5;1110 1174 11A8;D2D5;1110 1174 11A8; +D2D6;D2D6;1110 1174 11A9;D2D6;1110 1174 11A9; +D2D7;D2D7;1110 1174 11AA;D2D7;1110 1174 11AA; +D2D8;D2D8;1110 1174 11AB;D2D8;1110 1174 11AB; +D2D9;D2D9;1110 1174 11AC;D2D9;1110 1174 11AC; +D2DA;D2DA;1110 1174 11AD;D2DA;1110 1174 11AD; +D2DB;D2DB;1110 1174 11AE;D2DB;1110 1174 11AE; +D2DC;D2DC;1110 1174 11AF;D2DC;1110 1174 11AF; +D2DD;D2DD;1110 1174 11B0;D2DD;1110 1174 11B0; +D2DE;D2DE;1110 1174 11B1;D2DE;1110 1174 11B1; +D2DF;D2DF;1110 1174 11B2;D2DF;1110 1174 11B2; +D2E0;D2E0;1110 1174 11B3;D2E0;1110 1174 11B3; +D2E1;D2E1;1110 1174 11B4;D2E1;1110 1174 11B4; +D2E2;D2E2;1110 1174 11B5;D2E2;1110 1174 11B5; +D2E3;D2E3;1110 1174 11B6;D2E3;1110 1174 11B6; +D2E4;D2E4;1110 1174 11B7;D2E4;1110 1174 11B7; +D2E5;D2E5;1110 1174 11B8;D2E5;1110 1174 11B8; +D2E6;D2E6;1110 1174 11B9;D2E6;1110 1174 11B9; +D2E7;D2E7;1110 1174 11BA;D2E7;1110 1174 11BA; +D2E8;D2E8;1110 1174 11BB;D2E8;1110 1174 11BB; +D2E9;D2E9;1110 1174 11BC;D2E9;1110 1174 11BC; +D2EA;D2EA;1110 1174 11BD;D2EA;1110 1174 11BD; +D2EB;D2EB;1110 1174 11BE;D2EB;1110 1174 11BE; +D2EC;D2EC;1110 1174 11BF;D2EC;1110 1174 11BF; +D2ED;D2ED;1110 1174 11C0;D2ED;1110 1174 11C0; +D2EE;D2EE;1110 1174 11C1;D2EE;1110 1174 11C1; +D2EF;D2EF;1110 1174 11C2;D2EF;1110 1174 11C2; +D2F0;D2F0;1110 1175;D2F0;1110 1175; +D2F1;D2F1;1110 1175 11A8;D2F1;1110 1175 11A8; +D2F2;D2F2;1110 1175 11A9;D2F2;1110 1175 11A9; +D2F3;D2F3;1110 1175 11AA;D2F3;1110 1175 11AA; +D2F4;D2F4;1110 1175 11AB;D2F4;1110 1175 11AB; +D2F5;D2F5;1110 1175 11AC;D2F5;1110 1175 11AC; +D2F6;D2F6;1110 1175 11AD;D2F6;1110 1175 11AD; +D2F7;D2F7;1110 1175 11AE;D2F7;1110 1175 11AE; +D2F8;D2F8;1110 1175 11AF;D2F8;1110 1175 11AF; +D2F9;D2F9;1110 1175 11B0;D2F9;1110 1175 11B0; +D2FA;D2FA;1110 1175 11B1;D2FA;1110 1175 11B1; +D2FB;D2FB;1110 1175 11B2;D2FB;1110 1175 11B2; +D2FC;D2FC;1110 1175 11B3;D2FC;1110 1175 11B3; +D2FD;D2FD;1110 1175 11B4;D2FD;1110 1175 11B4; +D2FE;D2FE;1110 1175 11B5;D2FE;1110 1175 11B5; +D2FF;D2FF;1110 1175 11B6;D2FF;1110 1175 11B6; +D300;D300;1110 1175 11B7;D300;1110 1175 11B7; +D301;D301;1110 1175 11B8;D301;1110 1175 11B8; +D302;D302;1110 1175 11B9;D302;1110 1175 11B9; +D303;D303;1110 1175 11BA;D303;1110 1175 11BA; +D304;D304;1110 1175 11BB;D304;1110 1175 11BB; +D305;D305;1110 1175 11BC;D305;1110 1175 11BC; +D306;D306;1110 1175 11BD;D306;1110 1175 11BD; +D307;D307;1110 1175 11BE;D307;1110 1175 11BE; +D308;D308;1110 1175 11BF;D308;1110 1175 11BF; +D309;D309;1110 1175 11C0;D309;1110 1175 11C0; +D30A;D30A;1110 1175 11C1;D30A;1110 1175 11C1; +D30B;D30B;1110 1175 11C2;D30B;1110 1175 11C2; +D30C;D30C;1111 1161;D30C;1111 1161; +D30D;D30D;1111 1161 11A8;D30D;1111 1161 11A8; +D30E;D30E;1111 1161 11A9;D30E;1111 1161 11A9; +D30F;D30F;1111 1161 11AA;D30F;1111 1161 11AA; +D310;D310;1111 1161 11AB;D310;1111 1161 11AB; +D311;D311;1111 1161 11AC;D311;1111 1161 11AC; +D312;D312;1111 1161 11AD;D312;1111 1161 11AD; +D313;D313;1111 1161 11AE;D313;1111 1161 11AE; +D314;D314;1111 1161 11AF;D314;1111 1161 11AF; +D315;D315;1111 1161 11B0;D315;1111 1161 11B0; +D316;D316;1111 1161 11B1;D316;1111 1161 11B1; +D317;D317;1111 1161 11B2;D317;1111 1161 11B2; +D318;D318;1111 1161 11B3;D318;1111 1161 11B3; +D319;D319;1111 1161 11B4;D319;1111 1161 11B4; +D31A;D31A;1111 1161 11B5;D31A;1111 1161 11B5; +D31B;D31B;1111 1161 11B6;D31B;1111 1161 11B6; +D31C;D31C;1111 1161 11B7;D31C;1111 1161 11B7; +D31D;D31D;1111 1161 11B8;D31D;1111 1161 11B8; +D31E;D31E;1111 1161 11B9;D31E;1111 1161 11B9; +D31F;D31F;1111 1161 11BA;D31F;1111 1161 11BA; +D320;D320;1111 1161 11BB;D320;1111 1161 11BB; +D321;D321;1111 1161 11BC;D321;1111 1161 11BC; +D322;D322;1111 1161 11BD;D322;1111 1161 11BD; +D323;D323;1111 1161 11BE;D323;1111 1161 11BE; +D324;D324;1111 1161 11BF;D324;1111 1161 11BF; +D325;D325;1111 1161 11C0;D325;1111 1161 11C0; +D326;D326;1111 1161 11C1;D326;1111 1161 11C1; +D327;D327;1111 1161 11C2;D327;1111 1161 11C2; +D328;D328;1111 1162;D328;1111 1162; +D329;D329;1111 1162 11A8;D329;1111 1162 11A8; +D32A;D32A;1111 1162 11A9;D32A;1111 1162 11A9; +D32B;D32B;1111 1162 11AA;D32B;1111 1162 11AA; +D32C;D32C;1111 1162 11AB;D32C;1111 1162 11AB; +D32D;D32D;1111 1162 11AC;D32D;1111 1162 11AC; +D32E;D32E;1111 1162 11AD;D32E;1111 1162 11AD; +D32F;D32F;1111 1162 11AE;D32F;1111 1162 11AE; +D330;D330;1111 1162 11AF;D330;1111 1162 11AF; +D331;D331;1111 1162 11B0;D331;1111 1162 11B0; +D332;D332;1111 1162 11B1;D332;1111 1162 11B1; +D333;D333;1111 1162 11B2;D333;1111 1162 11B2; +D334;D334;1111 1162 11B3;D334;1111 1162 11B3; +D335;D335;1111 1162 11B4;D335;1111 1162 11B4; +D336;D336;1111 1162 11B5;D336;1111 1162 11B5; +D337;D337;1111 1162 11B6;D337;1111 1162 11B6; +D338;D338;1111 1162 11B7;D338;1111 1162 11B7; +D339;D339;1111 1162 11B8;D339;1111 1162 11B8; +D33A;D33A;1111 1162 11B9;D33A;1111 1162 11B9; +D33B;D33B;1111 1162 11BA;D33B;1111 1162 11BA; +D33C;D33C;1111 1162 11BB;D33C;1111 1162 11BB; +D33D;D33D;1111 1162 11BC;D33D;1111 1162 11BC; +D33E;D33E;1111 1162 11BD;D33E;1111 1162 11BD; +D33F;D33F;1111 1162 11BE;D33F;1111 1162 11BE; +D340;D340;1111 1162 11BF;D340;1111 1162 11BF; +D341;D341;1111 1162 11C0;D341;1111 1162 11C0; +D342;D342;1111 1162 11C1;D342;1111 1162 11C1; +D343;D343;1111 1162 11C2;D343;1111 1162 11C2; +D344;D344;1111 1163;D344;1111 1163; +D345;D345;1111 1163 11A8;D345;1111 1163 11A8; +D346;D346;1111 1163 11A9;D346;1111 1163 11A9; +D347;D347;1111 1163 11AA;D347;1111 1163 11AA; +D348;D348;1111 1163 11AB;D348;1111 1163 11AB; +D349;D349;1111 1163 11AC;D349;1111 1163 11AC; +D34A;D34A;1111 1163 11AD;D34A;1111 1163 11AD; +D34B;D34B;1111 1163 11AE;D34B;1111 1163 11AE; +D34C;D34C;1111 1163 11AF;D34C;1111 1163 11AF; +D34D;D34D;1111 1163 11B0;D34D;1111 1163 11B0; +D34E;D34E;1111 1163 11B1;D34E;1111 1163 11B1; +D34F;D34F;1111 1163 11B2;D34F;1111 1163 11B2; +D350;D350;1111 1163 11B3;D350;1111 1163 11B3; +D351;D351;1111 1163 11B4;D351;1111 1163 11B4; +D352;D352;1111 1163 11B5;D352;1111 1163 11B5; +D353;D353;1111 1163 11B6;D353;1111 1163 11B6; +D354;D354;1111 1163 11B7;D354;1111 1163 11B7; +D355;D355;1111 1163 11B8;D355;1111 1163 11B8; +D356;D356;1111 1163 11B9;D356;1111 1163 11B9; +D357;D357;1111 1163 11BA;D357;1111 1163 11BA; +D358;D358;1111 1163 11BB;D358;1111 1163 11BB; +D359;D359;1111 1163 11BC;D359;1111 1163 11BC; +D35A;D35A;1111 1163 11BD;D35A;1111 1163 11BD; +D35B;D35B;1111 1163 11BE;D35B;1111 1163 11BE; +D35C;D35C;1111 1163 11BF;D35C;1111 1163 11BF; +D35D;D35D;1111 1163 11C0;D35D;1111 1163 11C0; +D35E;D35E;1111 1163 11C1;D35E;1111 1163 11C1; +D35F;D35F;1111 1163 11C2;D35F;1111 1163 11C2; +D360;D360;1111 1164;D360;1111 1164; +D361;D361;1111 1164 11A8;D361;1111 1164 11A8; +D362;D362;1111 1164 11A9;D362;1111 1164 11A9; +D363;D363;1111 1164 11AA;D363;1111 1164 11AA; +D364;D364;1111 1164 11AB;D364;1111 1164 11AB; +D365;D365;1111 1164 11AC;D365;1111 1164 11AC; +D366;D366;1111 1164 11AD;D366;1111 1164 11AD; +D367;D367;1111 1164 11AE;D367;1111 1164 11AE; +D368;D368;1111 1164 11AF;D368;1111 1164 11AF; +D369;D369;1111 1164 11B0;D369;1111 1164 11B0; +D36A;D36A;1111 1164 11B1;D36A;1111 1164 11B1; +D36B;D36B;1111 1164 11B2;D36B;1111 1164 11B2; +D36C;D36C;1111 1164 11B3;D36C;1111 1164 11B3; +D36D;D36D;1111 1164 11B4;D36D;1111 1164 11B4; +D36E;D36E;1111 1164 11B5;D36E;1111 1164 11B5; +D36F;D36F;1111 1164 11B6;D36F;1111 1164 11B6; +D370;D370;1111 1164 11B7;D370;1111 1164 11B7; +D371;D371;1111 1164 11B8;D371;1111 1164 11B8; +D372;D372;1111 1164 11B9;D372;1111 1164 11B9; +D373;D373;1111 1164 11BA;D373;1111 1164 11BA; +D374;D374;1111 1164 11BB;D374;1111 1164 11BB; +D375;D375;1111 1164 11BC;D375;1111 1164 11BC; +D376;D376;1111 1164 11BD;D376;1111 1164 11BD; +D377;D377;1111 1164 11BE;D377;1111 1164 11BE; +D378;D378;1111 1164 11BF;D378;1111 1164 11BF; +D379;D379;1111 1164 11C0;D379;1111 1164 11C0; +D37A;D37A;1111 1164 11C1;D37A;1111 1164 11C1; +D37B;D37B;1111 1164 11C2;D37B;1111 1164 11C2; +D37C;D37C;1111 1165;D37C;1111 1165; +D37D;D37D;1111 1165 11A8;D37D;1111 1165 11A8; +D37E;D37E;1111 1165 11A9;D37E;1111 1165 11A9; +D37F;D37F;1111 1165 11AA;D37F;1111 1165 11AA; +D380;D380;1111 1165 11AB;D380;1111 1165 11AB; +D381;D381;1111 1165 11AC;D381;1111 1165 11AC; +D382;D382;1111 1165 11AD;D382;1111 1165 11AD; +D383;D383;1111 1165 11AE;D383;1111 1165 11AE; +D384;D384;1111 1165 11AF;D384;1111 1165 11AF; +D385;D385;1111 1165 11B0;D385;1111 1165 11B0; +D386;D386;1111 1165 11B1;D386;1111 1165 11B1; +D387;D387;1111 1165 11B2;D387;1111 1165 11B2; +D388;D388;1111 1165 11B3;D388;1111 1165 11B3; +D389;D389;1111 1165 11B4;D389;1111 1165 11B4; +D38A;D38A;1111 1165 11B5;D38A;1111 1165 11B5; +D38B;D38B;1111 1165 11B6;D38B;1111 1165 11B6; +D38C;D38C;1111 1165 11B7;D38C;1111 1165 11B7; +D38D;D38D;1111 1165 11B8;D38D;1111 1165 11B8; +D38E;D38E;1111 1165 11B9;D38E;1111 1165 11B9; +D38F;D38F;1111 1165 11BA;D38F;1111 1165 11BA; +D390;D390;1111 1165 11BB;D390;1111 1165 11BB; +D391;D391;1111 1165 11BC;D391;1111 1165 11BC; +D392;D392;1111 1165 11BD;D392;1111 1165 11BD; +D393;D393;1111 1165 11BE;D393;1111 1165 11BE; +D394;D394;1111 1165 11BF;D394;1111 1165 11BF; +D395;D395;1111 1165 11C0;D395;1111 1165 11C0; +D396;D396;1111 1165 11C1;D396;1111 1165 11C1; +D397;D397;1111 1165 11C2;D397;1111 1165 11C2; +D398;D398;1111 1166;D398;1111 1166; +D399;D399;1111 1166 11A8;D399;1111 1166 11A8; +D39A;D39A;1111 1166 11A9;D39A;1111 1166 11A9; +D39B;D39B;1111 1166 11AA;D39B;1111 1166 11AA; +D39C;D39C;1111 1166 11AB;D39C;1111 1166 11AB; +D39D;D39D;1111 1166 11AC;D39D;1111 1166 11AC; +D39E;D39E;1111 1166 11AD;D39E;1111 1166 11AD; +D39F;D39F;1111 1166 11AE;D39F;1111 1166 11AE; +D3A0;D3A0;1111 1166 11AF;D3A0;1111 1166 11AF; +D3A1;D3A1;1111 1166 11B0;D3A1;1111 1166 11B0; +D3A2;D3A2;1111 1166 11B1;D3A2;1111 1166 11B1; +D3A3;D3A3;1111 1166 11B2;D3A3;1111 1166 11B2; +D3A4;D3A4;1111 1166 11B3;D3A4;1111 1166 11B3; +D3A5;D3A5;1111 1166 11B4;D3A5;1111 1166 11B4; +D3A6;D3A6;1111 1166 11B5;D3A6;1111 1166 11B5; +D3A7;D3A7;1111 1166 11B6;D3A7;1111 1166 11B6; +D3A8;D3A8;1111 1166 11B7;D3A8;1111 1166 11B7; +D3A9;D3A9;1111 1166 11B8;D3A9;1111 1166 11B8; +D3AA;D3AA;1111 1166 11B9;D3AA;1111 1166 11B9; +D3AB;D3AB;1111 1166 11BA;D3AB;1111 1166 11BA; +D3AC;D3AC;1111 1166 11BB;D3AC;1111 1166 11BB; +D3AD;D3AD;1111 1166 11BC;D3AD;1111 1166 11BC; +D3AE;D3AE;1111 1166 11BD;D3AE;1111 1166 11BD; +D3AF;D3AF;1111 1166 11BE;D3AF;1111 1166 11BE; +D3B0;D3B0;1111 1166 11BF;D3B0;1111 1166 11BF; +D3B1;D3B1;1111 1166 11C0;D3B1;1111 1166 11C0; +D3B2;D3B2;1111 1166 11C1;D3B2;1111 1166 11C1; +D3B3;D3B3;1111 1166 11C2;D3B3;1111 1166 11C2; +D3B4;D3B4;1111 1167;D3B4;1111 1167; +D3B5;D3B5;1111 1167 11A8;D3B5;1111 1167 11A8; +D3B6;D3B6;1111 1167 11A9;D3B6;1111 1167 11A9; +D3B7;D3B7;1111 1167 11AA;D3B7;1111 1167 11AA; +D3B8;D3B8;1111 1167 11AB;D3B8;1111 1167 11AB; +D3B9;D3B9;1111 1167 11AC;D3B9;1111 1167 11AC; +D3BA;D3BA;1111 1167 11AD;D3BA;1111 1167 11AD; +D3BB;D3BB;1111 1167 11AE;D3BB;1111 1167 11AE; +D3BC;D3BC;1111 1167 11AF;D3BC;1111 1167 11AF; +D3BD;D3BD;1111 1167 11B0;D3BD;1111 1167 11B0; +D3BE;D3BE;1111 1167 11B1;D3BE;1111 1167 11B1; +D3BF;D3BF;1111 1167 11B2;D3BF;1111 1167 11B2; +D3C0;D3C0;1111 1167 11B3;D3C0;1111 1167 11B3; +D3C1;D3C1;1111 1167 11B4;D3C1;1111 1167 11B4; +D3C2;D3C2;1111 1167 11B5;D3C2;1111 1167 11B5; +D3C3;D3C3;1111 1167 11B6;D3C3;1111 1167 11B6; +D3C4;D3C4;1111 1167 11B7;D3C4;1111 1167 11B7; +D3C5;D3C5;1111 1167 11B8;D3C5;1111 1167 11B8; +D3C6;D3C6;1111 1167 11B9;D3C6;1111 1167 11B9; +D3C7;D3C7;1111 1167 11BA;D3C7;1111 1167 11BA; +D3C8;D3C8;1111 1167 11BB;D3C8;1111 1167 11BB; +D3C9;D3C9;1111 1167 11BC;D3C9;1111 1167 11BC; +D3CA;D3CA;1111 1167 11BD;D3CA;1111 1167 11BD; +D3CB;D3CB;1111 1167 11BE;D3CB;1111 1167 11BE; +D3CC;D3CC;1111 1167 11BF;D3CC;1111 1167 11BF; +D3CD;D3CD;1111 1167 11C0;D3CD;1111 1167 11C0; +D3CE;D3CE;1111 1167 11C1;D3CE;1111 1167 11C1; +D3CF;D3CF;1111 1167 11C2;D3CF;1111 1167 11C2; +D3D0;D3D0;1111 1168;D3D0;1111 1168; +D3D1;D3D1;1111 1168 11A8;D3D1;1111 1168 11A8; +D3D2;D3D2;1111 1168 11A9;D3D2;1111 1168 11A9; +D3D3;D3D3;1111 1168 11AA;D3D3;1111 1168 11AA; +D3D4;D3D4;1111 1168 11AB;D3D4;1111 1168 11AB; +D3D5;D3D5;1111 1168 11AC;D3D5;1111 1168 11AC; +D3D6;D3D6;1111 1168 11AD;D3D6;1111 1168 11AD; +D3D7;D3D7;1111 1168 11AE;D3D7;1111 1168 11AE; +D3D8;D3D8;1111 1168 11AF;D3D8;1111 1168 11AF; +D3D9;D3D9;1111 1168 11B0;D3D9;1111 1168 11B0; +D3DA;D3DA;1111 1168 11B1;D3DA;1111 1168 11B1; +D3DB;D3DB;1111 1168 11B2;D3DB;1111 1168 11B2; +D3DC;D3DC;1111 1168 11B3;D3DC;1111 1168 11B3; +D3DD;D3DD;1111 1168 11B4;D3DD;1111 1168 11B4; +D3DE;D3DE;1111 1168 11B5;D3DE;1111 1168 11B5; +D3DF;D3DF;1111 1168 11B6;D3DF;1111 1168 11B6; +D3E0;D3E0;1111 1168 11B7;D3E0;1111 1168 11B7; +D3E1;D3E1;1111 1168 11B8;D3E1;1111 1168 11B8; +D3E2;D3E2;1111 1168 11B9;D3E2;1111 1168 11B9; +D3E3;D3E3;1111 1168 11BA;D3E3;1111 1168 11BA; +D3E4;D3E4;1111 1168 11BB;D3E4;1111 1168 11BB; +D3E5;D3E5;1111 1168 11BC;D3E5;1111 1168 11BC; +D3E6;D3E6;1111 1168 11BD;D3E6;1111 1168 11BD; +D3E7;D3E7;1111 1168 11BE;D3E7;1111 1168 11BE; +D3E8;D3E8;1111 1168 11BF;D3E8;1111 1168 11BF; +D3E9;D3E9;1111 1168 11C0;D3E9;1111 1168 11C0; +D3EA;D3EA;1111 1168 11C1;D3EA;1111 1168 11C1; +D3EB;D3EB;1111 1168 11C2;D3EB;1111 1168 11C2; +D3EC;D3EC;1111 1169;D3EC;1111 1169; +D3ED;D3ED;1111 1169 11A8;D3ED;1111 1169 11A8; +D3EE;D3EE;1111 1169 11A9;D3EE;1111 1169 11A9; +D3EF;D3EF;1111 1169 11AA;D3EF;1111 1169 11AA; +D3F0;D3F0;1111 1169 11AB;D3F0;1111 1169 11AB; +D3F1;D3F1;1111 1169 11AC;D3F1;1111 1169 11AC; +D3F2;D3F2;1111 1169 11AD;D3F2;1111 1169 11AD; +D3F3;D3F3;1111 1169 11AE;D3F3;1111 1169 11AE; +D3F4;D3F4;1111 1169 11AF;D3F4;1111 1169 11AF; +D3F5;D3F5;1111 1169 11B0;D3F5;1111 1169 11B0; +D3F6;D3F6;1111 1169 11B1;D3F6;1111 1169 11B1; +D3F7;D3F7;1111 1169 11B2;D3F7;1111 1169 11B2; +D3F8;D3F8;1111 1169 11B3;D3F8;1111 1169 11B3; +D3F9;D3F9;1111 1169 11B4;D3F9;1111 1169 11B4; +D3FA;D3FA;1111 1169 11B5;D3FA;1111 1169 11B5; +D3FB;D3FB;1111 1169 11B6;D3FB;1111 1169 11B6; +D3FC;D3FC;1111 1169 11B7;D3FC;1111 1169 11B7; +D3FD;D3FD;1111 1169 11B8;D3FD;1111 1169 11B8; +D3FE;D3FE;1111 1169 11B9;D3FE;1111 1169 11B9; +D3FF;D3FF;1111 1169 11BA;D3FF;1111 1169 11BA; +D400;D400;1111 1169 11BB;D400;1111 1169 11BB; +D401;D401;1111 1169 11BC;D401;1111 1169 11BC; +D402;D402;1111 1169 11BD;D402;1111 1169 11BD; +D403;D403;1111 1169 11BE;D403;1111 1169 11BE; +D404;D404;1111 1169 11BF;D404;1111 1169 11BF; +D405;D405;1111 1169 11C0;D405;1111 1169 11C0; +D406;D406;1111 1169 11C1;D406;1111 1169 11C1; +D407;D407;1111 1169 11C2;D407;1111 1169 11C2; +D408;D408;1111 116A;D408;1111 116A; +D409;D409;1111 116A 11A8;D409;1111 116A 11A8; +D40A;D40A;1111 116A 11A9;D40A;1111 116A 11A9; +D40B;D40B;1111 116A 11AA;D40B;1111 116A 11AA; +D40C;D40C;1111 116A 11AB;D40C;1111 116A 11AB; +D40D;D40D;1111 116A 11AC;D40D;1111 116A 11AC; +D40E;D40E;1111 116A 11AD;D40E;1111 116A 11AD; +D40F;D40F;1111 116A 11AE;D40F;1111 116A 11AE; +D410;D410;1111 116A 11AF;D410;1111 116A 11AF; +D411;D411;1111 116A 11B0;D411;1111 116A 11B0; +D412;D412;1111 116A 11B1;D412;1111 116A 11B1; +D413;D413;1111 116A 11B2;D413;1111 116A 11B2; +D414;D414;1111 116A 11B3;D414;1111 116A 11B3; +D415;D415;1111 116A 11B4;D415;1111 116A 11B4; +D416;D416;1111 116A 11B5;D416;1111 116A 11B5; +D417;D417;1111 116A 11B6;D417;1111 116A 11B6; +D418;D418;1111 116A 11B7;D418;1111 116A 11B7; +D419;D419;1111 116A 11B8;D419;1111 116A 11B8; +D41A;D41A;1111 116A 11B9;D41A;1111 116A 11B9; +D41B;D41B;1111 116A 11BA;D41B;1111 116A 11BA; +D41C;D41C;1111 116A 11BB;D41C;1111 116A 11BB; +D41D;D41D;1111 116A 11BC;D41D;1111 116A 11BC; +D41E;D41E;1111 116A 11BD;D41E;1111 116A 11BD; +D41F;D41F;1111 116A 11BE;D41F;1111 116A 11BE; +D420;D420;1111 116A 11BF;D420;1111 116A 11BF; +D421;D421;1111 116A 11C0;D421;1111 116A 11C0; +D422;D422;1111 116A 11C1;D422;1111 116A 11C1; +D423;D423;1111 116A 11C2;D423;1111 116A 11C2; +D424;D424;1111 116B;D424;1111 116B; +D425;D425;1111 116B 11A8;D425;1111 116B 11A8; +D426;D426;1111 116B 11A9;D426;1111 116B 11A9; +D427;D427;1111 116B 11AA;D427;1111 116B 11AA; +D428;D428;1111 116B 11AB;D428;1111 116B 11AB; +D429;D429;1111 116B 11AC;D429;1111 116B 11AC; +D42A;D42A;1111 116B 11AD;D42A;1111 116B 11AD; +D42B;D42B;1111 116B 11AE;D42B;1111 116B 11AE; +D42C;D42C;1111 116B 11AF;D42C;1111 116B 11AF; +D42D;D42D;1111 116B 11B0;D42D;1111 116B 11B0; +D42E;D42E;1111 116B 11B1;D42E;1111 116B 11B1; +D42F;D42F;1111 116B 11B2;D42F;1111 116B 11B2; +D430;D430;1111 116B 11B3;D430;1111 116B 11B3; +D431;D431;1111 116B 11B4;D431;1111 116B 11B4; +D432;D432;1111 116B 11B5;D432;1111 116B 11B5; +D433;D433;1111 116B 11B6;D433;1111 116B 11B6; +D434;D434;1111 116B 11B7;D434;1111 116B 11B7; +D435;D435;1111 116B 11B8;D435;1111 116B 11B8; +D436;D436;1111 116B 11B9;D436;1111 116B 11B9; +D437;D437;1111 116B 11BA;D437;1111 116B 11BA; +D438;D438;1111 116B 11BB;D438;1111 116B 11BB; +D439;D439;1111 116B 11BC;D439;1111 116B 11BC; +D43A;D43A;1111 116B 11BD;D43A;1111 116B 11BD; +D43B;D43B;1111 116B 11BE;D43B;1111 116B 11BE; +D43C;D43C;1111 116B 11BF;D43C;1111 116B 11BF; +D43D;D43D;1111 116B 11C0;D43D;1111 116B 11C0; +D43E;D43E;1111 116B 11C1;D43E;1111 116B 11C1; +D43F;D43F;1111 116B 11C2;D43F;1111 116B 11C2; +D440;D440;1111 116C;D440;1111 116C; +D441;D441;1111 116C 11A8;D441;1111 116C 11A8; +D442;D442;1111 116C 11A9;D442;1111 116C 11A9; +D443;D443;1111 116C 11AA;D443;1111 116C 11AA; +D444;D444;1111 116C 11AB;D444;1111 116C 11AB; +D445;D445;1111 116C 11AC;D445;1111 116C 11AC; +D446;D446;1111 116C 11AD;D446;1111 116C 11AD; +D447;D447;1111 116C 11AE;D447;1111 116C 11AE; +D448;D448;1111 116C 11AF;D448;1111 116C 11AF; +D449;D449;1111 116C 11B0;D449;1111 116C 11B0; +D44A;D44A;1111 116C 11B1;D44A;1111 116C 11B1; +D44B;D44B;1111 116C 11B2;D44B;1111 116C 11B2; +D44C;D44C;1111 116C 11B3;D44C;1111 116C 11B3; +D44D;D44D;1111 116C 11B4;D44D;1111 116C 11B4; +D44E;D44E;1111 116C 11B5;D44E;1111 116C 11B5; +D44F;D44F;1111 116C 11B6;D44F;1111 116C 11B6; +D450;D450;1111 116C 11B7;D450;1111 116C 11B7; +D451;D451;1111 116C 11B8;D451;1111 116C 11B8; +D452;D452;1111 116C 11B9;D452;1111 116C 11B9; +D453;D453;1111 116C 11BA;D453;1111 116C 11BA; +D454;D454;1111 116C 11BB;D454;1111 116C 11BB; +D455;D455;1111 116C 11BC;D455;1111 116C 11BC; +D456;D456;1111 116C 11BD;D456;1111 116C 11BD; +D457;D457;1111 116C 11BE;D457;1111 116C 11BE; +D458;D458;1111 116C 11BF;D458;1111 116C 11BF; +D459;D459;1111 116C 11C0;D459;1111 116C 11C0; +D45A;D45A;1111 116C 11C1;D45A;1111 116C 11C1; +D45B;D45B;1111 116C 11C2;D45B;1111 116C 11C2; +D45C;D45C;1111 116D;D45C;1111 116D; +D45D;D45D;1111 116D 11A8;D45D;1111 116D 11A8; +D45E;D45E;1111 116D 11A9;D45E;1111 116D 11A9; +D45F;D45F;1111 116D 11AA;D45F;1111 116D 11AA; +D460;D460;1111 116D 11AB;D460;1111 116D 11AB; +D461;D461;1111 116D 11AC;D461;1111 116D 11AC; +D462;D462;1111 116D 11AD;D462;1111 116D 11AD; +D463;D463;1111 116D 11AE;D463;1111 116D 11AE; +D464;D464;1111 116D 11AF;D464;1111 116D 11AF; +D465;D465;1111 116D 11B0;D465;1111 116D 11B0; +D466;D466;1111 116D 11B1;D466;1111 116D 11B1; +D467;D467;1111 116D 11B2;D467;1111 116D 11B2; +D468;D468;1111 116D 11B3;D468;1111 116D 11B3; +D469;D469;1111 116D 11B4;D469;1111 116D 11B4; +D46A;D46A;1111 116D 11B5;D46A;1111 116D 11B5; +D46B;D46B;1111 116D 11B6;D46B;1111 116D 11B6; +D46C;D46C;1111 116D 11B7;D46C;1111 116D 11B7; +D46D;D46D;1111 116D 11B8;D46D;1111 116D 11B8; +D46E;D46E;1111 116D 11B9;D46E;1111 116D 11B9; +D46F;D46F;1111 116D 11BA;D46F;1111 116D 11BA; +D470;D470;1111 116D 11BB;D470;1111 116D 11BB; +D471;D471;1111 116D 11BC;D471;1111 116D 11BC; +D472;D472;1111 116D 11BD;D472;1111 116D 11BD; +D473;D473;1111 116D 11BE;D473;1111 116D 11BE; +D474;D474;1111 116D 11BF;D474;1111 116D 11BF; +D475;D475;1111 116D 11C0;D475;1111 116D 11C0; +D476;D476;1111 116D 11C1;D476;1111 116D 11C1; +D477;D477;1111 116D 11C2;D477;1111 116D 11C2; +D478;D478;1111 116E;D478;1111 116E; +D479;D479;1111 116E 11A8;D479;1111 116E 11A8; +D47A;D47A;1111 116E 11A9;D47A;1111 116E 11A9; +D47B;D47B;1111 116E 11AA;D47B;1111 116E 11AA; +D47C;D47C;1111 116E 11AB;D47C;1111 116E 11AB; +D47D;D47D;1111 116E 11AC;D47D;1111 116E 11AC; +D47E;D47E;1111 116E 11AD;D47E;1111 116E 11AD; +D47F;D47F;1111 116E 11AE;D47F;1111 116E 11AE; +D480;D480;1111 116E 11AF;D480;1111 116E 11AF; +D481;D481;1111 116E 11B0;D481;1111 116E 11B0; +D482;D482;1111 116E 11B1;D482;1111 116E 11B1; +D483;D483;1111 116E 11B2;D483;1111 116E 11B2; +D484;D484;1111 116E 11B3;D484;1111 116E 11B3; +D485;D485;1111 116E 11B4;D485;1111 116E 11B4; +D486;D486;1111 116E 11B5;D486;1111 116E 11B5; +D487;D487;1111 116E 11B6;D487;1111 116E 11B6; +D488;D488;1111 116E 11B7;D488;1111 116E 11B7; +D489;D489;1111 116E 11B8;D489;1111 116E 11B8; +D48A;D48A;1111 116E 11B9;D48A;1111 116E 11B9; +D48B;D48B;1111 116E 11BA;D48B;1111 116E 11BA; +D48C;D48C;1111 116E 11BB;D48C;1111 116E 11BB; +D48D;D48D;1111 116E 11BC;D48D;1111 116E 11BC; +D48E;D48E;1111 116E 11BD;D48E;1111 116E 11BD; +D48F;D48F;1111 116E 11BE;D48F;1111 116E 11BE; +D490;D490;1111 116E 11BF;D490;1111 116E 11BF; +D491;D491;1111 116E 11C0;D491;1111 116E 11C0; +D492;D492;1111 116E 11C1;D492;1111 116E 11C1; +D493;D493;1111 116E 11C2;D493;1111 116E 11C2; +D494;D494;1111 116F;D494;1111 116F; +D495;D495;1111 116F 11A8;D495;1111 116F 11A8; +D496;D496;1111 116F 11A9;D496;1111 116F 11A9; +D497;D497;1111 116F 11AA;D497;1111 116F 11AA; +D498;D498;1111 116F 11AB;D498;1111 116F 11AB; +D499;D499;1111 116F 11AC;D499;1111 116F 11AC; +D49A;D49A;1111 116F 11AD;D49A;1111 116F 11AD; +D49B;D49B;1111 116F 11AE;D49B;1111 116F 11AE; +D49C;D49C;1111 116F 11AF;D49C;1111 116F 11AF; +D49D;D49D;1111 116F 11B0;D49D;1111 116F 11B0; +D49E;D49E;1111 116F 11B1;D49E;1111 116F 11B1; +D49F;D49F;1111 116F 11B2;D49F;1111 116F 11B2; +D4A0;D4A0;1111 116F 11B3;D4A0;1111 116F 11B3; +D4A1;D4A1;1111 116F 11B4;D4A1;1111 116F 11B4; +D4A2;D4A2;1111 116F 11B5;D4A2;1111 116F 11B5; +D4A3;D4A3;1111 116F 11B6;D4A3;1111 116F 11B6; +D4A4;D4A4;1111 116F 11B7;D4A4;1111 116F 11B7; +D4A5;D4A5;1111 116F 11B8;D4A5;1111 116F 11B8; +D4A6;D4A6;1111 116F 11B9;D4A6;1111 116F 11B9; +D4A7;D4A7;1111 116F 11BA;D4A7;1111 116F 11BA; +D4A8;D4A8;1111 116F 11BB;D4A8;1111 116F 11BB; +D4A9;D4A9;1111 116F 11BC;D4A9;1111 116F 11BC; +D4AA;D4AA;1111 116F 11BD;D4AA;1111 116F 11BD; +D4AB;D4AB;1111 116F 11BE;D4AB;1111 116F 11BE; +D4AC;D4AC;1111 116F 11BF;D4AC;1111 116F 11BF; +D4AD;D4AD;1111 116F 11C0;D4AD;1111 116F 11C0; +D4AE;D4AE;1111 116F 11C1;D4AE;1111 116F 11C1; +D4AF;D4AF;1111 116F 11C2;D4AF;1111 116F 11C2; +D4B0;D4B0;1111 1170;D4B0;1111 1170; +D4B1;D4B1;1111 1170 11A8;D4B1;1111 1170 11A8; +D4B2;D4B2;1111 1170 11A9;D4B2;1111 1170 11A9; +D4B3;D4B3;1111 1170 11AA;D4B3;1111 1170 11AA; +D4B4;D4B4;1111 1170 11AB;D4B4;1111 1170 11AB; +D4B5;D4B5;1111 1170 11AC;D4B5;1111 1170 11AC; +D4B6;D4B6;1111 1170 11AD;D4B6;1111 1170 11AD; +D4B7;D4B7;1111 1170 11AE;D4B7;1111 1170 11AE; +D4B8;D4B8;1111 1170 11AF;D4B8;1111 1170 11AF; +D4B9;D4B9;1111 1170 11B0;D4B9;1111 1170 11B0; +D4BA;D4BA;1111 1170 11B1;D4BA;1111 1170 11B1; +D4BB;D4BB;1111 1170 11B2;D4BB;1111 1170 11B2; +D4BC;D4BC;1111 1170 11B3;D4BC;1111 1170 11B3; +D4BD;D4BD;1111 1170 11B4;D4BD;1111 1170 11B4; +D4BE;D4BE;1111 1170 11B5;D4BE;1111 1170 11B5; +D4BF;D4BF;1111 1170 11B6;D4BF;1111 1170 11B6; +D4C0;D4C0;1111 1170 11B7;D4C0;1111 1170 11B7; +D4C1;D4C1;1111 1170 11B8;D4C1;1111 1170 11B8; +D4C2;D4C2;1111 1170 11B9;D4C2;1111 1170 11B9; +D4C3;D4C3;1111 1170 11BA;D4C3;1111 1170 11BA; +D4C4;D4C4;1111 1170 11BB;D4C4;1111 1170 11BB; +D4C5;D4C5;1111 1170 11BC;D4C5;1111 1170 11BC; +D4C6;D4C6;1111 1170 11BD;D4C6;1111 1170 11BD; +D4C7;D4C7;1111 1170 11BE;D4C7;1111 1170 11BE; +D4C8;D4C8;1111 1170 11BF;D4C8;1111 1170 11BF; +D4C9;D4C9;1111 1170 11C0;D4C9;1111 1170 11C0; +D4CA;D4CA;1111 1170 11C1;D4CA;1111 1170 11C1; +D4CB;D4CB;1111 1170 11C2;D4CB;1111 1170 11C2; +D4CC;D4CC;1111 1171;D4CC;1111 1171; +D4CD;D4CD;1111 1171 11A8;D4CD;1111 1171 11A8; +D4CE;D4CE;1111 1171 11A9;D4CE;1111 1171 11A9; +D4CF;D4CF;1111 1171 11AA;D4CF;1111 1171 11AA; +D4D0;D4D0;1111 1171 11AB;D4D0;1111 1171 11AB; +D4D1;D4D1;1111 1171 11AC;D4D1;1111 1171 11AC; +D4D2;D4D2;1111 1171 11AD;D4D2;1111 1171 11AD; +D4D3;D4D3;1111 1171 11AE;D4D3;1111 1171 11AE; +D4D4;D4D4;1111 1171 11AF;D4D4;1111 1171 11AF; +D4D5;D4D5;1111 1171 11B0;D4D5;1111 1171 11B0; +D4D6;D4D6;1111 1171 11B1;D4D6;1111 1171 11B1; +D4D7;D4D7;1111 1171 11B2;D4D7;1111 1171 11B2; +D4D8;D4D8;1111 1171 11B3;D4D8;1111 1171 11B3; +D4D9;D4D9;1111 1171 11B4;D4D9;1111 1171 11B4; +D4DA;D4DA;1111 1171 11B5;D4DA;1111 1171 11B5; +D4DB;D4DB;1111 1171 11B6;D4DB;1111 1171 11B6; +D4DC;D4DC;1111 1171 11B7;D4DC;1111 1171 11B7; +D4DD;D4DD;1111 1171 11B8;D4DD;1111 1171 11B8; +D4DE;D4DE;1111 1171 11B9;D4DE;1111 1171 11B9; +D4DF;D4DF;1111 1171 11BA;D4DF;1111 1171 11BA; +D4E0;D4E0;1111 1171 11BB;D4E0;1111 1171 11BB; +D4E1;D4E1;1111 1171 11BC;D4E1;1111 1171 11BC; +D4E2;D4E2;1111 1171 11BD;D4E2;1111 1171 11BD; +D4E3;D4E3;1111 1171 11BE;D4E3;1111 1171 11BE; +D4E4;D4E4;1111 1171 11BF;D4E4;1111 1171 11BF; +D4E5;D4E5;1111 1171 11C0;D4E5;1111 1171 11C0; +D4E6;D4E6;1111 1171 11C1;D4E6;1111 1171 11C1; +D4E7;D4E7;1111 1171 11C2;D4E7;1111 1171 11C2; +D4E8;D4E8;1111 1172;D4E8;1111 1172; +D4E9;D4E9;1111 1172 11A8;D4E9;1111 1172 11A8; +D4EA;D4EA;1111 1172 11A9;D4EA;1111 1172 11A9; +D4EB;D4EB;1111 1172 11AA;D4EB;1111 1172 11AA; +D4EC;D4EC;1111 1172 11AB;D4EC;1111 1172 11AB; +D4ED;D4ED;1111 1172 11AC;D4ED;1111 1172 11AC; +D4EE;D4EE;1111 1172 11AD;D4EE;1111 1172 11AD; +D4EF;D4EF;1111 1172 11AE;D4EF;1111 1172 11AE; +D4F0;D4F0;1111 1172 11AF;D4F0;1111 1172 11AF; +D4F1;D4F1;1111 1172 11B0;D4F1;1111 1172 11B0; +D4F2;D4F2;1111 1172 11B1;D4F2;1111 1172 11B1; +D4F3;D4F3;1111 1172 11B2;D4F3;1111 1172 11B2; +D4F4;D4F4;1111 1172 11B3;D4F4;1111 1172 11B3; +D4F5;D4F5;1111 1172 11B4;D4F5;1111 1172 11B4; +D4F6;D4F6;1111 1172 11B5;D4F6;1111 1172 11B5; +D4F7;D4F7;1111 1172 11B6;D4F7;1111 1172 11B6; +D4F8;D4F8;1111 1172 11B7;D4F8;1111 1172 11B7; +D4F9;D4F9;1111 1172 11B8;D4F9;1111 1172 11B8; +D4FA;D4FA;1111 1172 11B9;D4FA;1111 1172 11B9; +D4FB;D4FB;1111 1172 11BA;D4FB;1111 1172 11BA; +D4FC;D4FC;1111 1172 11BB;D4FC;1111 1172 11BB; +D4FD;D4FD;1111 1172 11BC;D4FD;1111 1172 11BC; +D4FE;D4FE;1111 1172 11BD;D4FE;1111 1172 11BD; +D4FF;D4FF;1111 1172 11BE;D4FF;1111 1172 11BE; +D500;D500;1111 1172 11BF;D500;1111 1172 11BF; +D501;D501;1111 1172 11C0;D501;1111 1172 11C0; +D502;D502;1111 1172 11C1;D502;1111 1172 11C1; +D503;D503;1111 1172 11C2;D503;1111 1172 11C2; +D504;D504;1111 1173;D504;1111 1173; +D505;D505;1111 1173 11A8;D505;1111 1173 11A8; +D506;D506;1111 1173 11A9;D506;1111 1173 11A9; +D507;D507;1111 1173 11AA;D507;1111 1173 11AA; +D508;D508;1111 1173 11AB;D508;1111 1173 11AB; +D509;D509;1111 1173 11AC;D509;1111 1173 11AC; +D50A;D50A;1111 1173 11AD;D50A;1111 1173 11AD; +D50B;D50B;1111 1173 11AE;D50B;1111 1173 11AE; +D50C;D50C;1111 1173 11AF;D50C;1111 1173 11AF; +D50D;D50D;1111 1173 11B0;D50D;1111 1173 11B0; +D50E;D50E;1111 1173 11B1;D50E;1111 1173 11B1; +D50F;D50F;1111 1173 11B2;D50F;1111 1173 11B2; +D510;D510;1111 1173 11B3;D510;1111 1173 11B3; +D511;D511;1111 1173 11B4;D511;1111 1173 11B4; +D512;D512;1111 1173 11B5;D512;1111 1173 11B5; +D513;D513;1111 1173 11B6;D513;1111 1173 11B6; +D514;D514;1111 1173 11B7;D514;1111 1173 11B7; +D515;D515;1111 1173 11B8;D515;1111 1173 11B8; +D516;D516;1111 1173 11B9;D516;1111 1173 11B9; +D517;D517;1111 1173 11BA;D517;1111 1173 11BA; +D518;D518;1111 1173 11BB;D518;1111 1173 11BB; +D519;D519;1111 1173 11BC;D519;1111 1173 11BC; +D51A;D51A;1111 1173 11BD;D51A;1111 1173 11BD; +D51B;D51B;1111 1173 11BE;D51B;1111 1173 11BE; +D51C;D51C;1111 1173 11BF;D51C;1111 1173 11BF; +D51D;D51D;1111 1173 11C0;D51D;1111 1173 11C0; +D51E;D51E;1111 1173 11C1;D51E;1111 1173 11C1; +D51F;D51F;1111 1173 11C2;D51F;1111 1173 11C2; +D520;D520;1111 1174;D520;1111 1174; +D521;D521;1111 1174 11A8;D521;1111 1174 11A8; +D522;D522;1111 1174 11A9;D522;1111 1174 11A9; +D523;D523;1111 1174 11AA;D523;1111 1174 11AA; +D524;D524;1111 1174 11AB;D524;1111 1174 11AB; +D525;D525;1111 1174 11AC;D525;1111 1174 11AC; +D526;D526;1111 1174 11AD;D526;1111 1174 11AD; +D527;D527;1111 1174 11AE;D527;1111 1174 11AE; +D528;D528;1111 1174 11AF;D528;1111 1174 11AF; +D529;D529;1111 1174 11B0;D529;1111 1174 11B0; +D52A;D52A;1111 1174 11B1;D52A;1111 1174 11B1; +D52B;D52B;1111 1174 11B2;D52B;1111 1174 11B2; +D52C;D52C;1111 1174 11B3;D52C;1111 1174 11B3; +D52D;D52D;1111 1174 11B4;D52D;1111 1174 11B4; +D52E;D52E;1111 1174 11B5;D52E;1111 1174 11B5; +D52F;D52F;1111 1174 11B6;D52F;1111 1174 11B6; +D530;D530;1111 1174 11B7;D530;1111 1174 11B7; +D531;D531;1111 1174 11B8;D531;1111 1174 11B8; +D532;D532;1111 1174 11B9;D532;1111 1174 11B9; +D533;D533;1111 1174 11BA;D533;1111 1174 11BA; +D534;D534;1111 1174 11BB;D534;1111 1174 11BB; +D535;D535;1111 1174 11BC;D535;1111 1174 11BC; +D536;D536;1111 1174 11BD;D536;1111 1174 11BD; +D537;D537;1111 1174 11BE;D537;1111 1174 11BE; +D538;D538;1111 1174 11BF;D538;1111 1174 11BF; +D539;D539;1111 1174 11C0;D539;1111 1174 11C0; +D53A;D53A;1111 1174 11C1;D53A;1111 1174 11C1; +D53B;D53B;1111 1174 11C2;D53B;1111 1174 11C2; +D53C;D53C;1111 1175;D53C;1111 1175; +D53D;D53D;1111 1175 11A8;D53D;1111 1175 11A8; +D53E;D53E;1111 1175 11A9;D53E;1111 1175 11A9; +D53F;D53F;1111 1175 11AA;D53F;1111 1175 11AA; +D540;D540;1111 1175 11AB;D540;1111 1175 11AB; +D541;D541;1111 1175 11AC;D541;1111 1175 11AC; +D542;D542;1111 1175 11AD;D542;1111 1175 11AD; +D543;D543;1111 1175 11AE;D543;1111 1175 11AE; +D544;D544;1111 1175 11AF;D544;1111 1175 11AF; +D545;D545;1111 1175 11B0;D545;1111 1175 11B0; +D546;D546;1111 1175 11B1;D546;1111 1175 11B1; +D547;D547;1111 1175 11B2;D547;1111 1175 11B2; +D548;D548;1111 1175 11B3;D548;1111 1175 11B3; +D549;D549;1111 1175 11B4;D549;1111 1175 11B4; +D54A;D54A;1111 1175 11B5;D54A;1111 1175 11B5; +D54B;D54B;1111 1175 11B6;D54B;1111 1175 11B6; +D54C;D54C;1111 1175 11B7;D54C;1111 1175 11B7; +D54D;D54D;1111 1175 11B8;D54D;1111 1175 11B8; +D54E;D54E;1111 1175 11B9;D54E;1111 1175 11B9; +D54F;D54F;1111 1175 11BA;D54F;1111 1175 11BA; +D550;D550;1111 1175 11BB;D550;1111 1175 11BB; +D551;D551;1111 1175 11BC;D551;1111 1175 11BC; +D552;D552;1111 1175 11BD;D552;1111 1175 11BD; +D553;D553;1111 1175 11BE;D553;1111 1175 11BE; +D554;D554;1111 1175 11BF;D554;1111 1175 11BF; +D555;D555;1111 1175 11C0;D555;1111 1175 11C0; +D556;D556;1111 1175 11C1;D556;1111 1175 11C1; +D557;D557;1111 1175 11C2;D557;1111 1175 11C2; +D558;D558;1112 1161;D558;1112 1161; +D559;D559;1112 1161 11A8;D559;1112 1161 11A8; +D55A;D55A;1112 1161 11A9;D55A;1112 1161 11A9; +D55B;D55B;1112 1161 11AA;D55B;1112 1161 11AA; +D55C;D55C;1112 1161 11AB;D55C;1112 1161 11AB; +D55D;D55D;1112 1161 11AC;D55D;1112 1161 11AC; +D55E;D55E;1112 1161 11AD;D55E;1112 1161 11AD; +D55F;D55F;1112 1161 11AE;D55F;1112 1161 11AE; +D560;D560;1112 1161 11AF;D560;1112 1161 11AF; +D561;D561;1112 1161 11B0;D561;1112 1161 11B0; +D562;D562;1112 1161 11B1;D562;1112 1161 11B1; +D563;D563;1112 1161 11B2;D563;1112 1161 11B2; +D564;D564;1112 1161 11B3;D564;1112 1161 11B3; +D565;D565;1112 1161 11B4;D565;1112 1161 11B4; +D566;D566;1112 1161 11B5;D566;1112 1161 11B5; +D567;D567;1112 1161 11B6;D567;1112 1161 11B6; +D568;D568;1112 1161 11B7;D568;1112 1161 11B7; +D569;D569;1112 1161 11B8;D569;1112 1161 11B8; +D56A;D56A;1112 1161 11B9;D56A;1112 1161 11B9; +D56B;D56B;1112 1161 11BA;D56B;1112 1161 11BA; +D56C;D56C;1112 1161 11BB;D56C;1112 1161 11BB; +D56D;D56D;1112 1161 11BC;D56D;1112 1161 11BC; +D56E;D56E;1112 1161 11BD;D56E;1112 1161 11BD; +D56F;D56F;1112 1161 11BE;D56F;1112 1161 11BE; +D570;D570;1112 1161 11BF;D570;1112 1161 11BF; +D571;D571;1112 1161 11C0;D571;1112 1161 11C0; +D572;D572;1112 1161 11C1;D572;1112 1161 11C1; +D573;D573;1112 1161 11C2;D573;1112 1161 11C2; +D574;D574;1112 1162;D574;1112 1162; +D575;D575;1112 1162 11A8;D575;1112 1162 11A8; +D576;D576;1112 1162 11A9;D576;1112 1162 11A9; +D577;D577;1112 1162 11AA;D577;1112 1162 11AA; +D578;D578;1112 1162 11AB;D578;1112 1162 11AB; +D579;D579;1112 1162 11AC;D579;1112 1162 11AC; +D57A;D57A;1112 1162 11AD;D57A;1112 1162 11AD; +D57B;D57B;1112 1162 11AE;D57B;1112 1162 11AE; +D57C;D57C;1112 1162 11AF;D57C;1112 1162 11AF; +D57D;D57D;1112 1162 11B0;D57D;1112 1162 11B0; +D57E;D57E;1112 1162 11B1;D57E;1112 1162 11B1; +D57F;D57F;1112 1162 11B2;D57F;1112 1162 11B2; +D580;D580;1112 1162 11B3;D580;1112 1162 11B3; +D581;D581;1112 1162 11B4;D581;1112 1162 11B4; +D582;D582;1112 1162 11B5;D582;1112 1162 11B5; +D583;D583;1112 1162 11B6;D583;1112 1162 11B6; +D584;D584;1112 1162 11B7;D584;1112 1162 11B7; +D585;D585;1112 1162 11B8;D585;1112 1162 11B8; +D586;D586;1112 1162 11B9;D586;1112 1162 11B9; +D587;D587;1112 1162 11BA;D587;1112 1162 11BA; +D588;D588;1112 1162 11BB;D588;1112 1162 11BB; +D589;D589;1112 1162 11BC;D589;1112 1162 11BC; +D58A;D58A;1112 1162 11BD;D58A;1112 1162 11BD; +D58B;D58B;1112 1162 11BE;D58B;1112 1162 11BE; +D58C;D58C;1112 1162 11BF;D58C;1112 1162 11BF; +D58D;D58D;1112 1162 11C0;D58D;1112 1162 11C0; +D58E;D58E;1112 1162 11C1;D58E;1112 1162 11C1; +D58F;D58F;1112 1162 11C2;D58F;1112 1162 11C2; +D590;D590;1112 1163;D590;1112 1163; +D591;D591;1112 1163 11A8;D591;1112 1163 11A8; +D592;D592;1112 1163 11A9;D592;1112 1163 11A9; +D593;D593;1112 1163 11AA;D593;1112 1163 11AA; +D594;D594;1112 1163 11AB;D594;1112 1163 11AB; +D595;D595;1112 1163 11AC;D595;1112 1163 11AC; +D596;D596;1112 1163 11AD;D596;1112 1163 11AD; +D597;D597;1112 1163 11AE;D597;1112 1163 11AE; +D598;D598;1112 1163 11AF;D598;1112 1163 11AF; +D599;D599;1112 1163 11B0;D599;1112 1163 11B0; +D59A;D59A;1112 1163 11B1;D59A;1112 1163 11B1; +D59B;D59B;1112 1163 11B2;D59B;1112 1163 11B2; +D59C;D59C;1112 1163 11B3;D59C;1112 1163 11B3; +D59D;D59D;1112 1163 11B4;D59D;1112 1163 11B4; +D59E;D59E;1112 1163 11B5;D59E;1112 1163 11B5; +D59F;D59F;1112 1163 11B6;D59F;1112 1163 11B6; +D5A0;D5A0;1112 1163 11B7;D5A0;1112 1163 11B7; +D5A1;D5A1;1112 1163 11B8;D5A1;1112 1163 11B8; +D5A2;D5A2;1112 1163 11B9;D5A2;1112 1163 11B9; +D5A3;D5A3;1112 1163 11BA;D5A3;1112 1163 11BA; +D5A4;D5A4;1112 1163 11BB;D5A4;1112 1163 11BB; +D5A5;D5A5;1112 1163 11BC;D5A5;1112 1163 11BC; +D5A6;D5A6;1112 1163 11BD;D5A6;1112 1163 11BD; +D5A7;D5A7;1112 1163 11BE;D5A7;1112 1163 11BE; +D5A8;D5A8;1112 1163 11BF;D5A8;1112 1163 11BF; +D5A9;D5A9;1112 1163 11C0;D5A9;1112 1163 11C0; +D5AA;D5AA;1112 1163 11C1;D5AA;1112 1163 11C1; +D5AB;D5AB;1112 1163 11C2;D5AB;1112 1163 11C2; +D5AC;D5AC;1112 1164;D5AC;1112 1164; +D5AD;D5AD;1112 1164 11A8;D5AD;1112 1164 11A8; +D5AE;D5AE;1112 1164 11A9;D5AE;1112 1164 11A9; +D5AF;D5AF;1112 1164 11AA;D5AF;1112 1164 11AA; +D5B0;D5B0;1112 1164 11AB;D5B0;1112 1164 11AB; +D5B1;D5B1;1112 1164 11AC;D5B1;1112 1164 11AC; +D5B2;D5B2;1112 1164 11AD;D5B2;1112 1164 11AD; +D5B3;D5B3;1112 1164 11AE;D5B3;1112 1164 11AE; +D5B4;D5B4;1112 1164 11AF;D5B4;1112 1164 11AF; +D5B5;D5B5;1112 1164 11B0;D5B5;1112 1164 11B0; +D5B6;D5B6;1112 1164 11B1;D5B6;1112 1164 11B1; +D5B7;D5B7;1112 1164 11B2;D5B7;1112 1164 11B2; +D5B8;D5B8;1112 1164 11B3;D5B8;1112 1164 11B3; +D5B9;D5B9;1112 1164 11B4;D5B9;1112 1164 11B4; +D5BA;D5BA;1112 1164 11B5;D5BA;1112 1164 11B5; +D5BB;D5BB;1112 1164 11B6;D5BB;1112 1164 11B6; +D5BC;D5BC;1112 1164 11B7;D5BC;1112 1164 11B7; +D5BD;D5BD;1112 1164 11B8;D5BD;1112 1164 11B8; +D5BE;D5BE;1112 1164 11B9;D5BE;1112 1164 11B9; +D5BF;D5BF;1112 1164 11BA;D5BF;1112 1164 11BA; +D5C0;D5C0;1112 1164 11BB;D5C0;1112 1164 11BB; +D5C1;D5C1;1112 1164 11BC;D5C1;1112 1164 11BC; +D5C2;D5C2;1112 1164 11BD;D5C2;1112 1164 11BD; +D5C3;D5C3;1112 1164 11BE;D5C3;1112 1164 11BE; +D5C4;D5C4;1112 1164 11BF;D5C4;1112 1164 11BF; +D5C5;D5C5;1112 1164 11C0;D5C5;1112 1164 11C0; +D5C6;D5C6;1112 1164 11C1;D5C6;1112 1164 11C1; +D5C7;D5C7;1112 1164 11C2;D5C7;1112 1164 11C2; +D5C8;D5C8;1112 1165;D5C8;1112 1165; +D5C9;D5C9;1112 1165 11A8;D5C9;1112 1165 11A8; +D5CA;D5CA;1112 1165 11A9;D5CA;1112 1165 11A9; +D5CB;D5CB;1112 1165 11AA;D5CB;1112 1165 11AA; +D5CC;D5CC;1112 1165 11AB;D5CC;1112 1165 11AB; +D5CD;D5CD;1112 1165 11AC;D5CD;1112 1165 11AC; +D5CE;D5CE;1112 1165 11AD;D5CE;1112 1165 11AD; +D5CF;D5CF;1112 1165 11AE;D5CF;1112 1165 11AE; +D5D0;D5D0;1112 1165 11AF;D5D0;1112 1165 11AF; +D5D1;D5D1;1112 1165 11B0;D5D1;1112 1165 11B0; +D5D2;D5D2;1112 1165 11B1;D5D2;1112 1165 11B1; +D5D3;D5D3;1112 1165 11B2;D5D3;1112 1165 11B2; +D5D4;D5D4;1112 1165 11B3;D5D4;1112 1165 11B3; +D5D5;D5D5;1112 1165 11B4;D5D5;1112 1165 11B4; +D5D6;D5D6;1112 1165 11B5;D5D6;1112 1165 11B5; +D5D7;D5D7;1112 1165 11B6;D5D7;1112 1165 11B6; +D5D8;D5D8;1112 1165 11B7;D5D8;1112 1165 11B7; +D5D9;D5D9;1112 1165 11B8;D5D9;1112 1165 11B8; +D5DA;D5DA;1112 1165 11B9;D5DA;1112 1165 11B9; +D5DB;D5DB;1112 1165 11BA;D5DB;1112 1165 11BA; +D5DC;D5DC;1112 1165 11BB;D5DC;1112 1165 11BB; +D5DD;D5DD;1112 1165 11BC;D5DD;1112 1165 11BC; +D5DE;D5DE;1112 1165 11BD;D5DE;1112 1165 11BD; +D5DF;D5DF;1112 1165 11BE;D5DF;1112 1165 11BE; +D5E0;D5E0;1112 1165 11BF;D5E0;1112 1165 11BF; +D5E1;D5E1;1112 1165 11C0;D5E1;1112 1165 11C0; +D5E2;D5E2;1112 1165 11C1;D5E2;1112 1165 11C1; +D5E3;D5E3;1112 1165 11C2;D5E3;1112 1165 11C2; +D5E4;D5E4;1112 1166;D5E4;1112 1166; +D5E5;D5E5;1112 1166 11A8;D5E5;1112 1166 11A8; +D5E6;D5E6;1112 1166 11A9;D5E6;1112 1166 11A9; +D5E7;D5E7;1112 1166 11AA;D5E7;1112 1166 11AA; +D5E8;D5E8;1112 1166 11AB;D5E8;1112 1166 11AB; +D5E9;D5E9;1112 1166 11AC;D5E9;1112 1166 11AC; +D5EA;D5EA;1112 1166 11AD;D5EA;1112 1166 11AD; +D5EB;D5EB;1112 1166 11AE;D5EB;1112 1166 11AE; +D5EC;D5EC;1112 1166 11AF;D5EC;1112 1166 11AF; +D5ED;D5ED;1112 1166 11B0;D5ED;1112 1166 11B0; +D5EE;D5EE;1112 1166 11B1;D5EE;1112 1166 11B1; +D5EF;D5EF;1112 1166 11B2;D5EF;1112 1166 11B2; +D5F0;D5F0;1112 1166 11B3;D5F0;1112 1166 11B3; +D5F1;D5F1;1112 1166 11B4;D5F1;1112 1166 11B4; +D5F2;D5F2;1112 1166 11B5;D5F2;1112 1166 11B5; +D5F3;D5F3;1112 1166 11B6;D5F3;1112 1166 11B6; +D5F4;D5F4;1112 1166 11B7;D5F4;1112 1166 11B7; +D5F5;D5F5;1112 1166 11B8;D5F5;1112 1166 11B8; +D5F6;D5F6;1112 1166 11B9;D5F6;1112 1166 11B9; +D5F7;D5F7;1112 1166 11BA;D5F7;1112 1166 11BA; +D5F8;D5F8;1112 1166 11BB;D5F8;1112 1166 11BB; +D5F9;D5F9;1112 1166 11BC;D5F9;1112 1166 11BC; +D5FA;D5FA;1112 1166 11BD;D5FA;1112 1166 11BD; +D5FB;D5FB;1112 1166 11BE;D5FB;1112 1166 11BE; +D5FC;D5FC;1112 1166 11BF;D5FC;1112 1166 11BF; +D5FD;D5FD;1112 1166 11C0;D5FD;1112 1166 11C0; +D5FE;D5FE;1112 1166 11C1;D5FE;1112 1166 11C1; +D5FF;D5FF;1112 1166 11C2;D5FF;1112 1166 11C2; +D600;D600;1112 1167;D600;1112 1167; +D601;D601;1112 1167 11A8;D601;1112 1167 11A8; +D602;D602;1112 1167 11A9;D602;1112 1167 11A9; +D603;D603;1112 1167 11AA;D603;1112 1167 11AA; +D604;D604;1112 1167 11AB;D604;1112 1167 11AB; +D605;D605;1112 1167 11AC;D605;1112 1167 11AC; +D606;D606;1112 1167 11AD;D606;1112 1167 11AD; +D607;D607;1112 1167 11AE;D607;1112 1167 11AE; +D608;D608;1112 1167 11AF;D608;1112 1167 11AF; +D609;D609;1112 1167 11B0;D609;1112 1167 11B0; +D60A;D60A;1112 1167 11B1;D60A;1112 1167 11B1; +D60B;D60B;1112 1167 11B2;D60B;1112 1167 11B2; +D60C;D60C;1112 1167 11B3;D60C;1112 1167 11B3; +D60D;D60D;1112 1167 11B4;D60D;1112 1167 11B4; +D60E;D60E;1112 1167 11B5;D60E;1112 1167 11B5; +D60F;D60F;1112 1167 11B6;D60F;1112 1167 11B6; +D610;D610;1112 1167 11B7;D610;1112 1167 11B7; +D611;D611;1112 1167 11B8;D611;1112 1167 11B8; +D612;D612;1112 1167 11B9;D612;1112 1167 11B9; +D613;D613;1112 1167 11BA;D613;1112 1167 11BA; +D614;D614;1112 1167 11BB;D614;1112 1167 11BB; +D615;D615;1112 1167 11BC;D615;1112 1167 11BC; +D616;D616;1112 1167 11BD;D616;1112 1167 11BD; +D617;D617;1112 1167 11BE;D617;1112 1167 11BE; +D618;D618;1112 1167 11BF;D618;1112 1167 11BF; +D619;D619;1112 1167 11C0;D619;1112 1167 11C0; +D61A;D61A;1112 1167 11C1;D61A;1112 1167 11C1; +D61B;D61B;1112 1167 11C2;D61B;1112 1167 11C2; +D61C;D61C;1112 1168;D61C;1112 1168; +D61D;D61D;1112 1168 11A8;D61D;1112 1168 11A8; +D61E;D61E;1112 1168 11A9;D61E;1112 1168 11A9; +D61F;D61F;1112 1168 11AA;D61F;1112 1168 11AA; +D620;D620;1112 1168 11AB;D620;1112 1168 11AB; +D621;D621;1112 1168 11AC;D621;1112 1168 11AC; +D622;D622;1112 1168 11AD;D622;1112 1168 11AD; +D623;D623;1112 1168 11AE;D623;1112 1168 11AE; +D624;D624;1112 1168 11AF;D624;1112 1168 11AF; +D625;D625;1112 1168 11B0;D625;1112 1168 11B0; +D626;D626;1112 1168 11B1;D626;1112 1168 11B1; +D627;D627;1112 1168 11B2;D627;1112 1168 11B2; +D628;D628;1112 1168 11B3;D628;1112 1168 11B3; +D629;D629;1112 1168 11B4;D629;1112 1168 11B4; +D62A;D62A;1112 1168 11B5;D62A;1112 1168 11B5; +D62B;D62B;1112 1168 11B6;D62B;1112 1168 11B6; +D62C;D62C;1112 1168 11B7;D62C;1112 1168 11B7; +D62D;D62D;1112 1168 11B8;D62D;1112 1168 11B8; +D62E;D62E;1112 1168 11B9;D62E;1112 1168 11B9; +D62F;D62F;1112 1168 11BA;D62F;1112 1168 11BA; +D630;D630;1112 1168 11BB;D630;1112 1168 11BB; +D631;D631;1112 1168 11BC;D631;1112 1168 11BC; +D632;D632;1112 1168 11BD;D632;1112 1168 11BD; +D633;D633;1112 1168 11BE;D633;1112 1168 11BE; +D634;D634;1112 1168 11BF;D634;1112 1168 11BF; +D635;D635;1112 1168 11C0;D635;1112 1168 11C0; +D636;D636;1112 1168 11C1;D636;1112 1168 11C1; +D637;D637;1112 1168 11C2;D637;1112 1168 11C2; +D638;D638;1112 1169;D638;1112 1169; +D639;D639;1112 1169 11A8;D639;1112 1169 11A8; +D63A;D63A;1112 1169 11A9;D63A;1112 1169 11A9; +D63B;D63B;1112 1169 11AA;D63B;1112 1169 11AA; +D63C;D63C;1112 1169 11AB;D63C;1112 1169 11AB; +D63D;D63D;1112 1169 11AC;D63D;1112 1169 11AC; +D63E;D63E;1112 1169 11AD;D63E;1112 1169 11AD; +D63F;D63F;1112 1169 11AE;D63F;1112 1169 11AE; +D640;D640;1112 1169 11AF;D640;1112 1169 11AF; +D641;D641;1112 1169 11B0;D641;1112 1169 11B0; +D642;D642;1112 1169 11B1;D642;1112 1169 11B1; +D643;D643;1112 1169 11B2;D643;1112 1169 11B2; +D644;D644;1112 1169 11B3;D644;1112 1169 11B3; +D645;D645;1112 1169 11B4;D645;1112 1169 11B4; +D646;D646;1112 1169 11B5;D646;1112 1169 11B5; +D647;D647;1112 1169 11B6;D647;1112 1169 11B6; +D648;D648;1112 1169 11B7;D648;1112 1169 11B7; +D649;D649;1112 1169 11B8;D649;1112 1169 11B8; +D64A;D64A;1112 1169 11B9;D64A;1112 1169 11B9; +D64B;D64B;1112 1169 11BA;D64B;1112 1169 11BA; +D64C;D64C;1112 1169 11BB;D64C;1112 1169 11BB; +D64D;D64D;1112 1169 11BC;D64D;1112 1169 11BC; +D64E;D64E;1112 1169 11BD;D64E;1112 1169 11BD; +D64F;D64F;1112 1169 11BE;D64F;1112 1169 11BE; +D650;D650;1112 1169 11BF;D650;1112 1169 11BF; +D651;D651;1112 1169 11C0;D651;1112 1169 11C0; +D652;D652;1112 1169 11C1;D652;1112 1169 11C1; +D653;D653;1112 1169 11C2;D653;1112 1169 11C2; +D654;D654;1112 116A;D654;1112 116A; +D655;D655;1112 116A 11A8;D655;1112 116A 11A8; +D656;D656;1112 116A 11A9;D656;1112 116A 11A9; +D657;D657;1112 116A 11AA;D657;1112 116A 11AA; +D658;D658;1112 116A 11AB;D658;1112 116A 11AB; +D659;D659;1112 116A 11AC;D659;1112 116A 11AC; +D65A;D65A;1112 116A 11AD;D65A;1112 116A 11AD; +D65B;D65B;1112 116A 11AE;D65B;1112 116A 11AE; +D65C;D65C;1112 116A 11AF;D65C;1112 116A 11AF; +D65D;D65D;1112 116A 11B0;D65D;1112 116A 11B0; +D65E;D65E;1112 116A 11B1;D65E;1112 116A 11B1; +D65F;D65F;1112 116A 11B2;D65F;1112 116A 11B2; +D660;D660;1112 116A 11B3;D660;1112 116A 11B3; +D661;D661;1112 116A 11B4;D661;1112 116A 11B4; +D662;D662;1112 116A 11B5;D662;1112 116A 11B5; +D663;D663;1112 116A 11B6;D663;1112 116A 11B6; +D664;D664;1112 116A 11B7;D664;1112 116A 11B7; +D665;D665;1112 116A 11B8;D665;1112 116A 11B8; +D666;D666;1112 116A 11B9;D666;1112 116A 11B9; +D667;D667;1112 116A 11BA;D667;1112 116A 11BA; +D668;D668;1112 116A 11BB;D668;1112 116A 11BB; +D669;D669;1112 116A 11BC;D669;1112 116A 11BC; +D66A;D66A;1112 116A 11BD;D66A;1112 116A 11BD; +D66B;D66B;1112 116A 11BE;D66B;1112 116A 11BE; +D66C;D66C;1112 116A 11BF;D66C;1112 116A 11BF; +D66D;D66D;1112 116A 11C0;D66D;1112 116A 11C0; +D66E;D66E;1112 116A 11C1;D66E;1112 116A 11C1; +D66F;D66F;1112 116A 11C2;D66F;1112 116A 11C2; +D670;D670;1112 116B;D670;1112 116B; +D671;D671;1112 116B 11A8;D671;1112 116B 11A8; +D672;D672;1112 116B 11A9;D672;1112 116B 11A9; +D673;D673;1112 116B 11AA;D673;1112 116B 11AA; +D674;D674;1112 116B 11AB;D674;1112 116B 11AB; +D675;D675;1112 116B 11AC;D675;1112 116B 11AC; +D676;D676;1112 116B 11AD;D676;1112 116B 11AD; +D677;D677;1112 116B 11AE;D677;1112 116B 11AE; +D678;D678;1112 116B 11AF;D678;1112 116B 11AF; +D679;D679;1112 116B 11B0;D679;1112 116B 11B0; +D67A;D67A;1112 116B 11B1;D67A;1112 116B 11B1; +D67B;D67B;1112 116B 11B2;D67B;1112 116B 11B2; +D67C;D67C;1112 116B 11B3;D67C;1112 116B 11B3; +D67D;D67D;1112 116B 11B4;D67D;1112 116B 11B4; +D67E;D67E;1112 116B 11B5;D67E;1112 116B 11B5; +D67F;D67F;1112 116B 11B6;D67F;1112 116B 11B6; +D680;D680;1112 116B 11B7;D680;1112 116B 11B7; +D681;D681;1112 116B 11B8;D681;1112 116B 11B8; +D682;D682;1112 116B 11B9;D682;1112 116B 11B9; +D683;D683;1112 116B 11BA;D683;1112 116B 11BA; +D684;D684;1112 116B 11BB;D684;1112 116B 11BB; +D685;D685;1112 116B 11BC;D685;1112 116B 11BC; +D686;D686;1112 116B 11BD;D686;1112 116B 11BD; +D687;D687;1112 116B 11BE;D687;1112 116B 11BE; +D688;D688;1112 116B 11BF;D688;1112 116B 11BF; +D689;D689;1112 116B 11C0;D689;1112 116B 11C0; +D68A;D68A;1112 116B 11C1;D68A;1112 116B 11C1; +D68B;D68B;1112 116B 11C2;D68B;1112 116B 11C2; +D68C;D68C;1112 116C;D68C;1112 116C; +D68D;D68D;1112 116C 11A8;D68D;1112 116C 11A8; +D68E;D68E;1112 116C 11A9;D68E;1112 116C 11A9; +D68F;D68F;1112 116C 11AA;D68F;1112 116C 11AA; +D690;D690;1112 116C 11AB;D690;1112 116C 11AB; +D691;D691;1112 116C 11AC;D691;1112 116C 11AC; +D692;D692;1112 116C 11AD;D692;1112 116C 11AD; +D693;D693;1112 116C 11AE;D693;1112 116C 11AE; +D694;D694;1112 116C 11AF;D694;1112 116C 11AF; +D695;D695;1112 116C 11B0;D695;1112 116C 11B0; +D696;D696;1112 116C 11B1;D696;1112 116C 11B1; +D697;D697;1112 116C 11B2;D697;1112 116C 11B2; +D698;D698;1112 116C 11B3;D698;1112 116C 11B3; +D699;D699;1112 116C 11B4;D699;1112 116C 11B4; +D69A;D69A;1112 116C 11B5;D69A;1112 116C 11B5; +D69B;D69B;1112 116C 11B6;D69B;1112 116C 11B6; +D69C;D69C;1112 116C 11B7;D69C;1112 116C 11B7; +D69D;D69D;1112 116C 11B8;D69D;1112 116C 11B8; +D69E;D69E;1112 116C 11B9;D69E;1112 116C 11B9; +D69F;D69F;1112 116C 11BA;D69F;1112 116C 11BA; +D6A0;D6A0;1112 116C 11BB;D6A0;1112 116C 11BB; +D6A1;D6A1;1112 116C 11BC;D6A1;1112 116C 11BC; +D6A2;D6A2;1112 116C 11BD;D6A2;1112 116C 11BD; +D6A3;D6A3;1112 116C 11BE;D6A3;1112 116C 11BE; +D6A4;D6A4;1112 116C 11BF;D6A4;1112 116C 11BF; +D6A5;D6A5;1112 116C 11C0;D6A5;1112 116C 11C0; +D6A6;D6A6;1112 116C 11C1;D6A6;1112 116C 11C1; +D6A7;D6A7;1112 116C 11C2;D6A7;1112 116C 11C2; +D6A8;D6A8;1112 116D;D6A8;1112 116D; +D6A9;D6A9;1112 116D 11A8;D6A9;1112 116D 11A8; +D6AA;D6AA;1112 116D 11A9;D6AA;1112 116D 11A9; +D6AB;D6AB;1112 116D 11AA;D6AB;1112 116D 11AA; +D6AC;D6AC;1112 116D 11AB;D6AC;1112 116D 11AB; +D6AD;D6AD;1112 116D 11AC;D6AD;1112 116D 11AC; +D6AE;D6AE;1112 116D 11AD;D6AE;1112 116D 11AD; +D6AF;D6AF;1112 116D 11AE;D6AF;1112 116D 11AE; +D6B0;D6B0;1112 116D 11AF;D6B0;1112 116D 11AF; +D6B1;D6B1;1112 116D 11B0;D6B1;1112 116D 11B0; +D6B2;D6B2;1112 116D 11B1;D6B2;1112 116D 11B1; +D6B3;D6B3;1112 116D 11B2;D6B3;1112 116D 11B2; +D6B4;D6B4;1112 116D 11B3;D6B4;1112 116D 11B3; +D6B5;D6B5;1112 116D 11B4;D6B5;1112 116D 11B4; +D6B6;D6B6;1112 116D 11B5;D6B6;1112 116D 11B5; +D6B7;D6B7;1112 116D 11B6;D6B7;1112 116D 11B6; +D6B8;D6B8;1112 116D 11B7;D6B8;1112 116D 11B7; +D6B9;D6B9;1112 116D 11B8;D6B9;1112 116D 11B8; +D6BA;D6BA;1112 116D 11B9;D6BA;1112 116D 11B9; +D6BB;D6BB;1112 116D 11BA;D6BB;1112 116D 11BA; +D6BC;D6BC;1112 116D 11BB;D6BC;1112 116D 11BB; +D6BD;D6BD;1112 116D 11BC;D6BD;1112 116D 11BC; +D6BE;D6BE;1112 116D 11BD;D6BE;1112 116D 11BD; +D6BF;D6BF;1112 116D 11BE;D6BF;1112 116D 11BE; +D6C0;D6C0;1112 116D 11BF;D6C0;1112 116D 11BF; +D6C1;D6C1;1112 116D 11C0;D6C1;1112 116D 11C0; +D6C2;D6C2;1112 116D 11C1;D6C2;1112 116D 11C1; +D6C3;D6C3;1112 116D 11C2;D6C3;1112 116D 11C2; +D6C4;D6C4;1112 116E;D6C4;1112 116E; +D6C5;D6C5;1112 116E 11A8;D6C5;1112 116E 11A8; +D6C6;D6C6;1112 116E 11A9;D6C6;1112 116E 11A9; +D6C7;D6C7;1112 116E 11AA;D6C7;1112 116E 11AA; +D6C8;D6C8;1112 116E 11AB;D6C8;1112 116E 11AB; +D6C9;D6C9;1112 116E 11AC;D6C9;1112 116E 11AC; +D6CA;D6CA;1112 116E 11AD;D6CA;1112 116E 11AD; +D6CB;D6CB;1112 116E 11AE;D6CB;1112 116E 11AE; +D6CC;D6CC;1112 116E 11AF;D6CC;1112 116E 11AF; +D6CD;D6CD;1112 116E 11B0;D6CD;1112 116E 11B0; +D6CE;D6CE;1112 116E 11B1;D6CE;1112 116E 11B1; +D6CF;D6CF;1112 116E 11B2;D6CF;1112 116E 11B2; +D6D0;D6D0;1112 116E 11B3;D6D0;1112 116E 11B3; +D6D1;D6D1;1112 116E 11B4;D6D1;1112 116E 11B4; +D6D2;D6D2;1112 116E 11B5;D6D2;1112 116E 11B5; +D6D3;D6D3;1112 116E 11B6;D6D3;1112 116E 11B6; +D6D4;D6D4;1112 116E 11B7;D6D4;1112 116E 11B7; +D6D5;D6D5;1112 116E 11B8;D6D5;1112 116E 11B8; +D6D6;D6D6;1112 116E 11B9;D6D6;1112 116E 11B9; +D6D7;D6D7;1112 116E 11BA;D6D7;1112 116E 11BA; +D6D8;D6D8;1112 116E 11BB;D6D8;1112 116E 11BB; +D6D9;D6D9;1112 116E 11BC;D6D9;1112 116E 11BC; +D6DA;D6DA;1112 116E 11BD;D6DA;1112 116E 11BD; +D6DB;D6DB;1112 116E 11BE;D6DB;1112 116E 11BE; +D6DC;D6DC;1112 116E 11BF;D6DC;1112 116E 11BF; +D6DD;D6DD;1112 116E 11C0;D6DD;1112 116E 11C0; +D6DE;D6DE;1112 116E 11C1;D6DE;1112 116E 11C1; +D6DF;D6DF;1112 116E 11C2;D6DF;1112 116E 11C2; +D6E0;D6E0;1112 116F;D6E0;1112 116F; +D6E1;D6E1;1112 116F 11A8;D6E1;1112 116F 11A8; +D6E2;D6E2;1112 116F 11A9;D6E2;1112 116F 11A9; +D6E3;D6E3;1112 116F 11AA;D6E3;1112 116F 11AA; +D6E4;D6E4;1112 116F 11AB;D6E4;1112 116F 11AB; +D6E5;D6E5;1112 116F 11AC;D6E5;1112 116F 11AC; +D6E6;D6E6;1112 116F 11AD;D6E6;1112 116F 11AD; +D6E7;D6E7;1112 116F 11AE;D6E7;1112 116F 11AE; +D6E8;D6E8;1112 116F 11AF;D6E8;1112 116F 11AF; +D6E9;D6E9;1112 116F 11B0;D6E9;1112 116F 11B0; +D6EA;D6EA;1112 116F 11B1;D6EA;1112 116F 11B1; +D6EB;D6EB;1112 116F 11B2;D6EB;1112 116F 11B2; +D6EC;D6EC;1112 116F 11B3;D6EC;1112 116F 11B3; +D6ED;D6ED;1112 116F 11B4;D6ED;1112 116F 11B4; +D6EE;D6EE;1112 116F 11B5;D6EE;1112 116F 11B5; +D6EF;D6EF;1112 116F 11B6;D6EF;1112 116F 11B6; +D6F0;D6F0;1112 116F 11B7;D6F0;1112 116F 11B7; +D6F1;D6F1;1112 116F 11B8;D6F1;1112 116F 11B8; +D6F2;D6F2;1112 116F 11B9;D6F2;1112 116F 11B9; +D6F3;D6F3;1112 116F 11BA;D6F3;1112 116F 11BA; +D6F4;D6F4;1112 116F 11BB;D6F4;1112 116F 11BB; +D6F5;D6F5;1112 116F 11BC;D6F5;1112 116F 11BC; +D6F6;D6F6;1112 116F 11BD;D6F6;1112 116F 11BD; +D6F7;D6F7;1112 116F 11BE;D6F7;1112 116F 11BE; +D6F8;D6F8;1112 116F 11BF;D6F8;1112 116F 11BF; +D6F9;D6F9;1112 116F 11C0;D6F9;1112 116F 11C0; +D6FA;D6FA;1112 116F 11C1;D6FA;1112 116F 11C1; +D6FB;D6FB;1112 116F 11C2;D6FB;1112 116F 11C2; +D6FC;D6FC;1112 1170;D6FC;1112 1170; +D6FD;D6FD;1112 1170 11A8;D6FD;1112 1170 11A8; +D6FE;D6FE;1112 1170 11A9;D6FE;1112 1170 11A9; +D6FF;D6FF;1112 1170 11AA;D6FF;1112 1170 11AA; +D700;D700;1112 1170 11AB;D700;1112 1170 11AB; +D701;D701;1112 1170 11AC;D701;1112 1170 11AC; +D702;D702;1112 1170 11AD;D702;1112 1170 11AD; +D703;D703;1112 1170 11AE;D703;1112 1170 11AE; +D704;D704;1112 1170 11AF;D704;1112 1170 11AF; +D705;D705;1112 1170 11B0;D705;1112 1170 11B0; +D706;D706;1112 1170 11B1;D706;1112 1170 11B1; +D707;D707;1112 1170 11B2;D707;1112 1170 11B2; +D708;D708;1112 1170 11B3;D708;1112 1170 11B3; +D709;D709;1112 1170 11B4;D709;1112 1170 11B4; +D70A;D70A;1112 1170 11B5;D70A;1112 1170 11B5; +D70B;D70B;1112 1170 11B6;D70B;1112 1170 11B6; +D70C;D70C;1112 1170 11B7;D70C;1112 1170 11B7; +D70D;D70D;1112 1170 11B8;D70D;1112 1170 11B8; +D70E;D70E;1112 1170 11B9;D70E;1112 1170 11B9; +D70F;D70F;1112 1170 11BA;D70F;1112 1170 11BA; +D710;D710;1112 1170 11BB;D710;1112 1170 11BB; +D711;D711;1112 1170 11BC;D711;1112 1170 11BC; +D712;D712;1112 1170 11BD;D712;1112 1170 11BD; +D713;D713;1112 1170 11BE;D713;1112 1170 11BE; +D714;D714;1112 1170 11BF;D714;1112 1170 11BF; +D715;D715;1112 1170 11C0;D715;1112 1170 11C0; +D716;D716;1112 1170 11C1;D716;1112 1170 11C1; +D717;D717;1112 1170 11C2;D717;1112 1170 11C2; +D718;D718;1112 1171;D718;1112 1171; +D719;D719;1112 1171 11A8;D719;1112 1171 11A8; +D71A;D71A;1112 1171 11A9;D71A;1112 1171 11A9; +D71B;D71B;1112 1171 11AA;D71B;1112 1171 11AA; +D71C;D71C;1112 1171 11AB;D71C;1112 1171 11AB; +D71D;D71D;1112 1171 11AC;D71D;1112 1171 11AC; +D71E;D71E;1112 1171 11AD;D71E;1112 1171 11AD; +D71F;D71F;1112 1171 11AE;D71F;1112 1171 11AE; +D720;D720;1112 1171 11AF;D720;1112 1171 11AF; +D721;D721;1112 1171 11B0;D721;1112 1171 11B0; +D722;D722;1112 1171 11B1;D722;1112 1171 11B1; +D723;D723;1112 1171 11B2;D723;1112 1171 11B2; +D724;D724;1112 1171 11B3;D724;1112 1171 11B3; +D725;D725;1112 1171 11B4;D725;1112 1171 11B4; +D726;D726;1112 1171 11B5;D726;1112 1171 11B5; +D727;D727;1112 1171 11B6;D727;1112 1171 11B6; +D728;D728;1112 1171 11B7;D728;1112 1171 11B7; +D729;D729;1112 1171 11B8;D729;1112 1171 11B8; +D72A;D72A;1112 1171 11B9;D72A;1112 1171 11B9; +D72B;D72B;1112 1171 11BA;D72B;1112 1171 11BA; +D72C;D72C;1112 1171 11BB;D72C;1112 1171 11BB; +D72D;D72D;1112 1171 11BC;D72D;1112 1171 11BC; +D72E;D72E;1112 1171 11BD;D72E;1112 1171 11BD; +D72F;D72F;1112 1171 11BE;D72F;1112 1171 11BE; +D730;D730;1112 1171 11BF;D730;1112 1171 11BF; +D731;D731;1112 1171 11C0;D731;1112 1171 11C0; +D732;D732;1112 1171 11C1;D732;1112 1171 11C1; +D733;D733;1112 1171 11C2;D733;1112 1171 11C2; +D734;D734;1112 1172;D734;1112 1172; +D735;D735;1112 1172 11A8;D735;1112 1172 11A8; +D736;D736;1112 1172 11A9;D736;1112 1172 11A9; +D737;D737;1112 1172 11AA;D737;1112 1172 11AA; +D738;D738;1112 1172 11AB;D738;1112 1172 11AB; +D739;D739;1112 1172 11AC;D739;1112 1172 11AC; +D73A;D73A;1112 1172 11AD;D73A;1112 1172 11AD; +D73B;D73B;1112 1172 11AE;D73B;1112 1172 11AE; +D73C;D73C;1112 1172 11AF;D73C;1112 1172 11AF; +D73D;D73D;1112 1172 11B0;D73D;1112 1172 11B0; +D73E;D73E;1112 1172 11B1;D73E;1112 1172 11B1; +D73F;D73F;1112 1172 11B2;D73F;1112 1172 11B2; +D740;D740;1112 1172 11B3;D740;1112 1172 11B3; +D741;D741;1112 1172 11B4;D741;1112 1172 11B4; +D742;D742;1112 1172 11B5;D742;1112 1172 11B5; +D743;D743;1112 1172 11B6;D743;1112 1172 11B6; +D744;D744;1112 1172 11B7;D744;1112 1172 11B7; +D745;D745;1112 1172 11B8;D745;1112 1172 11B8; +D746;D746;1112 1172 11B9;D746;1112 1172 11B9; +D747;D747;1112 1172 11BA;D747;1112 1172 11BA; +D748;D748;1112 1172 11BB;D748;1112 1172 11BB; +D749;D749;1112 1172 11BC;D749;1112 1172 11BC; +D74A;D74A;1112 1172 11BD;D74A;1112 1172 11BD; +D74B;D74B;1112 1172 11BE;D74B;1112 1172 11BE; +D74C;D74C;1112 1172 11BF;D74C;1112 1172 11BF; +D74D;D74D;1112 1172 11C0;D74D;1112 1172 11C0; +D74E;D74E;1112 1172 11C1;D74E;1112 1172 11C1; +D74F;D74F;1112 1172 11C2;D74F;1112 1172 11C2; +D750;D750;1112 1173;D750;1112 1173; +D751;D751;1112 1173 11A8;D751;1112 1173 11A8; +D752;D752;1112 1173 11A9;D752;1112 1173 11A9; +D753;D753;1112 1173 11AA;D753;1112 1173 11AA; +D754;D754;1112 1173 11AB;D754;1112 1173 11AB; +D755;D755;1112 1173 11AC;D755;1112 1173 11AC; +D756;D756;1112 1173 11AD;D756;1112 1173 11AD; +D757;D757;1112 1173 11AE;D757;1112 1173 11AE; +D758;D758;1112 1173 11AF;D758;1112 1173 11AF; +D759;D759;1112 1173 11B0;D759;1112 1173 11B0; +D75A;D75A;1112 1173 11B1;D75A;1112 1173 11B1; +D75B;D75B;1112 1173 11B2;D75B;1112 1173 11B2; +D75C;D75C;1112 1173 11B3;D75C;1112 1173 11B3; +D75D;D75D;1112 1173 11B4;D75D;1112 1173 11B4; +D75E;D75E;1112 1173 11B5;D75E;1112 1173 11B5; +D75F;D75F;1112 1173 11B6;D75F;1112 1173 11B6; +D760;D760;1112 1173 11B7;D760;1112 1173 11B7; +D761;D761;1112 1173 11B8;D761;1112 1173 11B8; +D762;D762;1112 1173 11B9;D762;1112 1173 11B9; +D763;D763;1112 1173 11BA;D763;1112 1173 11BA; +D764;D764;1112 1173 11BB;D764;1112 1173 11BB; +D765;D765;1112 1173 11BC;D765;1112 1173 11BC; +D766;D766;1112 1173 11BD;D766;1112 1173 11BD; +D767;D767;1112 1173 11BE;D767;1112 1173 11BE; +D768;D768;1112 1173 11BF;D768;1112 1173 11BF; +D769;D769;1112 1173 11C0;D769;1112 1173 11C0; +D76A;D76A;1112 1173 11C1;D76A;1112 1173 11C1; +D76B;D76B;1112 1173 11C2;D76B;1112 1173 11C2; +D76C;D76C;1112 1174;D76C;1112 1174; +D76D;D76D;1112 1174 11A8;D76D;1112 1174 11A8; +D76E;D76E;1112 1174 11A9;D76E;1112 1174 11A9; +D76F;D76F;1112 1174 11AA;D76F;1112 1174 11AA; +D770;D770;1112 1174 11AB;D770;1112 1174 11AB; +D771;D771;1112 1174 11AC;D771;1112 1174 11AC; +D772;D772;1112 1174 11AD;D772;1112 1174 11AD; +D773;D773;1112 1174 11AE;D773;1112 1174 11AE; +D774;D774;1112 1174 11AF;D774;1112 1174 11AF; +D775;D775;1112 1174 11B0;D775;1112 1174 11B0; +D776;D776;1112 1174 11B1;D776;1112 1174 11B1; +D777;D777;1112 1174 11B2;D777;1112 1174 11B2; +D778;D778;1112 1174 11B3;D778;1112 1174 11B3; +D779;D779;1112 1174 11B4;D779;1112 1174 11B4; +D77A;D77A;1112 1174 11B5;D77A;1112 1174 11B5; +D77B;D77B;1112 1174 11B6;D77B;1112 1174 11B6; +D77C;D77C;1112 1174 11B7;D77C;1112 1174 11B7; +D77D;D77D;1112 1174 11B8;D77D;1112 1174 11B8; +D77E;D77E;1112 1174 11B9;D77E;1112 1174 11B9; +D77F;D77F;1112 1174 11BA;D77F;1112 1174 11BA; +D780;D780;1112 1174 11BB;D780;1112 1174 11BB; +D781;D781;1112 1174 11BC;D781;1112 1174 11BC; +D782;D782;1112 1174 11BD;D782;1112 1174 11BD; +D783;D783;1112 1174 11BE;D783;1112 1174 11BE; +D784;D784;1112 1174 11BF;D784;1112 1174 11BF; +D785;D785;1112 1174 11C0;D785;1112 1174 11C0; +D786;D786;1112 1174 11C1;D786;1112 1174 11C1; +D787;D787;1112 1174 11C2;D787;1112 1174 11C2; +D788;D788;1112 1175;D788;1112 1175; +D789;D789;1112 1175 11A8;D789;1112 1175 11A8; +D78A;D78A;1112 1175 11A9;D78A;1112 1175 11A9; +D78B;D78B;1112 1175 11AA;D78B;1112 1175 11AA; +D78C;D78C;1112 1175 11AB;D78C;1112 1175 11AB; +D78D;D78D;1112 1175 11AC;D78D;1112 1175 11AC; +D78E;D78E;1112 1175 11AD;D78E;1112 1175 11AD; +D78F;D78F;1112 1175 11AE;D78F;1112 1175 11AE; +D790;D790;1112 1175 11AF;D790;1112 1175 11AF; +D791;D791;1112 1175 11B0;D791;1112 1175 11B0; +D792;D792;1112 1175 11B1;D792;1112 1175 11B1; +D793;D793;1112 1175 11B2;D793;1112 1175 11B2; +D794;D794;1112 1175 11B3;D794;1112 1175 11B3; +D795;D795;1112 1175 11B4;D795;1112 1175 11B4; +D796;D796;1112 1175 11B5;D796;1112 1175 11B5; +D797;D797;1112 1175 11B6;D797;1112 1175 11B6; +D798;D798;1112 1175 11B7;D798;1112 1175 11B7; +D799;D799;1112 1175 11B8;D799;1112 1175 11B8; +D79A;D79A;1112 1175 11B9;D79A;1112 1175 11B9; +D79B;D79B;1112 1175 11BA;D79B;1112 1175 11BA; +D79C;D79C;1112 1175 11BB;D79C;1112 1175 11BB; +D79D;D79D;1112 1175 11BC;D79D;1112 1175 11BC; +D79E;D79E;1112 1175 11BD;D79E;1112 1175 11BD; +D79F;D79F;1112 1175 11BE;D79F;1112 1175 11BE; +D7A0;D7A0;1112 1175 11BF;D7A0;1112 1175 11BF; +D7A1;D7A1;1112 1175 11C0;D7A1;1112 1175 11C0; +D7A2;D7A2;1112 1175 11C1;D7A2;1112 1175 11C1; +D7A3;D7A3;1112 1175 11C2;D7A3;1112 1175 11C2; +F900;8C48;8C48;8C48;8C48; +F901;66F4;66F4;66F4;66F4; +F902;8ECA;8ECA;8ECA;8ECA; +F903;8CC8;8CC8;8CC8;8CC8; +F904;6ED1;6ED1;6ED1;6ED1; +F905;4E32;4E32;4E32;4E32; +F906;53E5;53E5;53E5;53E5; +F907;9F9C;9F9C;9F9C;9F9C; +F908;9F9C;9F9C;9F9C;9F9C; +F909;5951;5951;5951;5951; +F90A;91D1;91D1;91D1;91D1; +F90B;5587;5587;5587;5587; +F90C;5948;5948;5948;5948; +F90D;61F6;61F6;61F6;61F6; +F90E;7669;7669;7669;7669; +F90F;7F85;7F85;7F85;7F85; +F910;863F;863F;863F;863F; +F911;87BA;87BA;87BA;87BA; +F912;88F8;88F8;88F8;88F8; +F913;908F;908F;908F;908F; +F914;6A02;6A02;6A02;6A02; +F915;6D1B;6D1B;6D1B;6D1B; +F916;70D9;70D9;70D9;70D9; +F917;73DE;73DE;73DE;73DE; +F918;843D;843D;843D;843D; +F919;916A;916A;916A;916A; +F91A;99F1;99F1;99F1;99F1; +F91B;4E82;4E82;4E82;4E82; +F91C;5375;5375;5375;5375; +F91D;6B04;6B04;6B04;6B04; +F91E;721B;721B;721B;721B; +F91F;862D;862D;862D;862D; +F920;9E1E;9E1E;9E1E;9E1E; +F921;5D50;5D50;5D50;5D50; +F922;6FEB;6FEB;6FEB;6FEB; +F923;85CD;85CD;85CD;85CD; +F924;8964;8964;8964;8964; +F925;62C9;62C9;62C9;62C9; +F926;81D8;81D8;81D8;81D8; +F927;881F;881F;881F;881F; +F928;5ECA;5ECA;5ECA;5ECA; +F929;6717;6717;6717;6717; +F92A;6D6A;6D6A;6D6A;6D6A; +F92B;72FC;72FC;72FC;72FC; +F92C;90CE;90CE;90CE;90CE; +F92D;4F86;4F86;4F86;4F86; +F92E;51B7;51B7;51B7;51B7; +F92F;52DE;52DE;52DE;52DE; +F930;64C4;64C4;64C4;64C4; +F931;6AD3;6AD3;6AD3;6AD3; +F932;7210;7210;7210;7210; +F933;76E7;76E7;76E7;76E7; +F934;8001;8001;8001;8001; +F935;8606;8606;8606;8606; +F936;865C;865C;865C;865C; +F937;8DEF;8DEF;8DEF;8DEF; +F938;9732;9732;9732;9732; +F939;9B6F;9B6F;9B6F;9B6F; +F93A;9DFA;9DFA;9DFA;9DFA; +F93B;788C;788C;788C;788C; +F93C;797F;797F;797F;797F; +F93D;7DA0;7DA0;7DA0;7DA0; +F93E;83C9;83C9;83C9;83C9; +F93F;9304;9304;9304;9304; +F940;9E7F;9E7F;9E7F;9E7F; +F941;8AD6;8AD6;8AD6;8AD6; +F942;58DF;58DF;58DF;58DF; +F943;5F04;5F04;5F04;5F04; +F944;7C60;7C60;7C60;7C60; +F945;807E;807E;807E;807E; +F946;7262;7262;7262;7262; +F947;78CA;78CA;78CA;78CA; +F948;8CC2;8CC2;8CC2;8CC2; +F949;96F7;96F7;96F7;96F7; +F94A;58D8;58D8;58D8;58D8; +F94B;5C62;5C62;5C62;5C62; +F94C;6A13;6A13;6A13;6A13; +F94D;6DDA;6DDA;6DDA;6DDA; +F94E;6F0F;6F0F;6F0F;6F0F; +F94F;7D2F;7D2F;7D2F;7D2F; +F950;7E37;7E37;7E37;7E37; +F951;964B;964B;964B;964B; +F952;52D2;52D2;52D2;52D2; +F953;808B;808B;808B;808B; +F954;51DC;51DC;51DC;51DC; +F955;51CC;51CC;51CC;51CC; +F956;7A1C;7A1C;7A1C;7A1C; +F957;7DBE;7DBE;7DBE;7DBE; +F958;83F1;83F1;83F1;83F1; +F959;9675;9675;9675;9675; +F95A;8B80;8B80;8B80;8B80; +F95B;62CF;62CF;62CF;62CF; +F95C;6A02;6A02;6A02;6A02; +F95D;8AFE;8AFE;8AFE;8AFE; +F95E;4E39;4E39;4E39;4E39; +F95F;5BE7;5BE7;5BE7;5BE7; +F960;6012;6012;6012;6012; +F961;7387;7387;7387;7387; +F962;7570;7570;7570;7570; +F963;5317;5317;5317;5317; +F964;78FB;78FB;78FB;78FB; +F965;4FBF;4FBF;4FBF;4FBF; +F966;5FA9;5FA9;5FA9;5FA9; +F967;4E0D;4E0D;4E0D;4E0D; +F968;6CCC;6CCC;6CCC;6CCC; +F969;6578;6578;6578;6578; +F96A;7D22;7D22;7D22;7D22; +F96B;53C3;53C3;53C3;53C3; +F96C;585E;585E;585E;585E; +F96D;7701;7701;7701;7701; +F96E;8449;8449;8449;8449; +F96F;8AAA;8AAA;8AAA;8AAA; +F970;6BBA;6BBA;6BBA;6BBA; +F971;8FB0;8FB0;8FB0;8FB0; +F972;6C88;6C88;6C88;6C88; +F973;62FE;62FE;62FE;62FE; +F974;82E5;82E5;82E5;82E5; +F975;63A0;63A0;63A0;63A0; +F976;7565;7565;7565;7565; +F977;4EAE;4EAE;4EAE;4EAE; +F978;5169;5169;5169;5169; +F979;51C9;51C9;51C9;51C9; +F97A;6881;6881;6881;6881; +F97B;7CE7;7CE7;7CE7;7CE7; +F97C;826F;826F;826F;826F; +F97D;8AD2;8AD2;8AD2;8AD2; +F97E;91CF;91CF;91CF;91CF; +F97F;52F5;52F5;52F5;52F5; +F980;5442;5442;5442;5442; +F981;5973;5973;5973;5973; +F982;5EEC;5EEC;5EEC;5EEC; +F983;65C5;65C5;65C5;65C5; +F984;6FFE;6FFE;6FFE;6FFE; +F985;792A;792A;792A;792A; +F986;95AD;95AD;95AD;95AD; +F987;9A6A;9A6A;9A6A;9A6A; +F988;9E97;9E97;9E97;9E97; +F989;9ECE;9ECE;9ECE;9ECE; +F98A;529B;529B;529B;529B; +F98B;66C6;66C6;66C6;66C6; +F98C;6B77;6B77;6B77;6B77; +F98D;8F62;8F62;8F62;8F62; +F98E;5E74;5E74;5E74;5E74; +F98F;6190;6190;6190;6190; +F990;6200;6200;6200;6200; +F991;649A;649A;649A;649A; +F992;6F23;6F23;6F23;6F23; +F993;7149;7149;7149;7149; +F994;7489;7489;7489;7489; +F995;79CA;79CA;79CA;79CA; +F996;7DF4;7DF4;7DF4;7DF4; +F997;806F;806F;806F;806F; +F998;8F26;8F26;8F26;8F26; +F999;84EE;84EE;84EE;84EE; +F99A;9023;9023;9023;9023; +F99B;934A;934A;934A;934A; +F99C;5217;5217;5217;5217; +F99D;52A3;52A3;52A3;52A3; +F99E;54BD;54BD;54BD;54BD; +F99F;70C8;70C8;70C8;70C8; +F9A0;88C2;88C2;88C2;88C2; +F9A1;8AAA;8AAA;8AAA;8AAA; +F9A2;5EC9;5EC9;5EC9;5EC9; +F9A3;5FF5;5FF5;5FF5;5FF5; +F9A4;637B;637B;637B;637B; +F9A5;6BAE;6BAE;6BAE;6BAE; +F9A6;7C3E;7C3E;7C3E;7C3E; +F9A7;7375;7375;7375;7375; +F9A8;4EE4;4EE4;4EE4;4EE4; +F9A9;56F9;56F9;56F9;56F9; +F9AA;5BE7;5BE7;5BE7;5BE7; +F9AB;5DBA;5DBA;5DBA;5DBA; +F9AC;601C;601C;601C;601C; +F9AD;73B2;73B2;73B2;73B2; +F9AE;7469;7469;7469;7469; +F9AF;7F9A;7F9A;7F9A;7F9A; +F9B0;8046;8046;8046;8046; +F9B1;9234;9234;9234;9234; +F9B2;96F6;96F6;96F6;96F6; +F9B3;9748;9748;9748;9748; +F9B4;9818;9818;9818;9818; +F9B5;4F8B;4F8B;4F8B;4F8B; +F9B6;79AE;79AE;79AE;79AE; +F9B7;91B4;91B4;91B4;91B4; +F9B8;96B8;96B8;96B8;96B8; +F9B9;60E1;60E1;60E1;60E1; +F9BA;4E86;4E86;4E86;4E86; +F9BB;50DA;50DA;50DA;50DA; +F9BC;5BEE;5BEE;5BEE;5BEE; +F9BD;5C3F;5C3F;5C3F;5C3F; +F9BE;6599;6599;6599;6599; +F9BF;6A02;6A02;6A02;6A02; +F9C0;71CE;71CE;71CE;71CE; +F9C1;7642;7642;7642;7642; +F9C2;84FC;84FC;84FC;84FC; +F9C3;907C;907C;907C;907C; +F9C4;9F8D;9F8D;9F8D;9F8D; +F9C5;6688;6688;6688;6688; +F9C6;962E;962E;962E;962E; +F9C7;5289;5289;5289;5289; +F9C8;677B;677B;677B;677B; +F9C9;67F3;67F3;67F3;67F3; +F9CA;6D41;6D41;6D41;6D41; +F9CB;6E9C;6E9C;6E9C;6E9C; +F9CC;7409;7409;7409;7409; +F9CD;7559;7559;7559;7559; +F9CE;786B;786B;786B;786B; +F9CF;7D10;7D10;7D10;7D10; +F9D0;985E;985E;985E;985E; +F9D1;516D;516D;516D;516D; +F9D2;622E;622E;622E;622E; +F9D3;9678;9678;9678;9678; +F9D4;502B;502B;502B;502B; +F9D5;5D19;5D19;5D19;5D19; +F9D6;6DEA;6DEA;6DEA;6DEA; +F9D7;8F2A;8F2A;8F2A;8F2A; +F9D8;5F8B;5F8B;5F8B;5F8B; +F9D9;6144;6144;6144;6144; +F9DA;6817;6817;6817;6817; +F9DB;7387;7387;7387;7387; +F9DC;9686;9686;9686;9686; +F9DD;5229;5229;5229;5229; +F9DE;540F;540F;540F;540F; +F9DF;5C65;5C65;5C65;5C65; +F9E0;6613;6613;6613;6613; +F9E1;674E;674E;674E;674E; +F9E2;68A8;68A8;68A8;68A8; +F9E3;6CE5;6CE5;6CE5;6CE5; +F9E4;7406;7406;7406;7406; +F9E5;75E2;75E2;75E2;75E2; +F9E6;7F79;7F79;7F79;7F79; +F9E7;88CF;88CF;88CF;88CF; +F9E8;88E1;88E1;88E1;88E1; +F9E9;91CC;91CC;91CC;91CC; +F9EA;96E2;96E2;96E2;96E2; +F9EB;533F;533F;533F;533F; +F9EC;6EBA;6EBA;6EBA;6EBA; +F9ED;541D;541D;541D;541D; +F9EE;71D0;71D0;71D0;71D0; +F9EF;7498;7498;7498;7498; +F9F0;85FA;85FA;85FA;85FA; +F9F1;96A3;96A3;96A3;96A3; +F9F2;9C57;9C57;9C57;9C57; +F9F3;9E9F;9E9F;9E9F;9E9F; +F9F4;6797;6797;6797;6797; +F9F5;6DCB;6DCB;6DCB;6DCB; +F9F6;81E8;81E8;81E8;81E8; +F9F7;7ACB;7ACB;7ACB;7ACB; +F9F8;7B20;7B20;7B20;7B20; +F9F9;7C92;7C92;7C92;7C92; +F9FA;72C0;72C0;72C0;72C0; +F9FB;7099;7099;7099;7099; +F9FC;8B58;8B58;8B58;8B58; +F9FD;4EC0;4EC0;4EC0;4EC0; +F9FE;8336;8336;8336;8336; +F9FF;523A;523A;523A;523A; +FA00;5207;5207;5207;5207; +FA01;5EA6;5EA6;5EA6;5EA6; +FA02;62D3;62D3;62D3;62D3; +FA03;7CD6;7CD6;7CD6;7CD6; +FA04;5B85;5B85;5B85;5B85; +FA05;6D1E;6D1E;6D1E;6D1E; +FA06;66B4;66B4;66B4;66B4; +FA07;8F3B;8F3B;8F3B;8F3B; +FA08;884C;884C;884C;884C; +FA09;964D;964D;964D;964D; +FA0A;898B;898B;898B;898B; +FA0B;5ED3;5ED3;5ED3;5ED3; +FA0C;5140;5140;5140;5140; +FA0D;55C0;55C0;55C0;55C0; +FA10;585A;585A;585A;585A; +FA12;6674;6674;6674;6674; +FA15;51DE;51DE;51DE;51DE; +FA16;732A;732A;732A;732A; +FA17;76CA;76CA;76CA;76CA; +FA18;793C;793C;793C;793C; +FA19;795E;795E;795E;795E; +FA1A;7965;7965;7965;7965; +FA1B;798F;798F;798F;798F; +FA1C;9756;9756;9756;9756; +FA1D;7CBE;7CBE;7CBE;7CBE; +FA1E;7FBD;7FBD;7FBD;7FBD; +FA20;8612;8612;8612;8612; +FA22;8AF8;8AF8;8AF8;8AF8; +FA25;9038;9038;9038;9038; +FA26;90FD;90FD;90FD;90FD; +FA2A;98EF;98EF;98EF;98EF; +FA2B;98FC;98FC;98FC;98FC; +FA2C;9928;9928;9928;9928; +FA2D;9DB4;9DB4;9DB4;9DB4; +FA30;4FAE;4FAE;4FAE;4FAE; +FA31;50E7;50E7;50E7;50E7; +FA32;514D;514D;514D;514D; +FA33;52C9;52C9;52C9;52C9; +FA34;52E4;52E4;52E4;52E4; +FA35;5351;5351;5351;5351; +FA36;559D;559D;559D;559D; +FA37;5606;5606;5606;5606; +FA38;5668;5668;5668;5668; +FA39;5840;5840;5840;5840; +FA3A;58A8;58A8;58A8;58A8; +FA3B;5C64;5C64;5C64;5C64; +FA3C;5C6E;5C6E;5C6E;5C6E; +FA3D;6094;6094;6094;6094; +FA3E;6168;6168;6168;6168; +FA3F;618E;618E;618E;618E; +FA40;61F2;61F2;61F2;61F2; +FA41;654F;654F;654F;654F; +FA42;65E2;65E2;65E2;65E2; +FA43;6691;6691;6691;6691; +FA44;6885;6885;6885;6885; +FA45;6D77;6D77;6D77;6D77; +FA46;6E1A;6E1A;6E1A;6E1A; +FA47;6F22;6F22;6F22;6F22; +FA48;716E;716E;716E;716E; +FA49;722B;722B;722B;722B; +FA4A;7422;7422;7422;7422; +FA4B;7891;7891;7891;7891; +FA4C;793E;793E;793E;793E; +FA4D;7949;7949;7949;7949; +FA4E;7948;7948;7948;7948; +FA4F;7950;7950;7950;7950; +FA50;7956;7956;7956;7956; +FA51;795D;795D;795D;795D; +FA52;798D;798D;798D;798D; +FA53;798E;798E;798E;798E; +FA54;7A40;7A40;7A40;7A40; +FA55;7A81;7A81;7A81;7A81; +FA56;7BC0;7BC0;7BC0;7BC0; +FA57;7DF4;7DF4;7DF4;7DF4; +FA58;7E09;7E09;7E09;7E09; +FA59;7E41;7E41;7E41;7E41; +FA5A;7F72;7F72;7F72;7F72; +FA5B;8005;8005;8005;8005; +FA5C;81ED;81ED;81ED;81ED; +FA5D;8279;8279;8279;8279; +FA5E;8279;8279;8279;8279; +FA5F;8457;8457;8457;8457; +FA60;8910;8910;8910;8910; +FA61;8996;8996;8996;8996; +FA62;8B01;8B01;8B01;8B01; +FA63;8B39;8B39;8B39;8B39; +FA64;8CD3;8CD3;8CD3;8CD3; +FA65;8D08;8D08;8D08;8D08; +FA66;8FB6;8FB6;8FB6;8FB6; +FA67;9038;9038;9038;9038; +FA68;96E3;96E3;96E3;96E3; +FA69;97FF;97FF;97FF;97FF; +FA6A;983B;983B;983B;983B; +FA70;4E26;4E26;4E26;4E26; +FA71;51B5;51B5;51B5;51B5; +FA72;5168;5168;5168;5168; +FA73;4F80;4F80;4F80;4F80; +FA74;5145;5145;5145;5145; +FA75;5180;5180;5180;5180; +FA76;52C7;52C7;52C7;52C7; +FA77;52FA;52FA;52FA;52FA; +FA78;559D;559D;559D;559D; +FA79;5555;5555;5555;5555; +FA7A;5599;5599;5599;5599; +FA7B;55E2;55E2;55E2;55E2; +FA7C;585A;585A;585A;585A; +FA7D;58B3;58B3;58B3;58B3; +FA7E;5944;5944;5944;5944; +FA7F;5954;5954;5954;5954; +FA80;5A62;5A62;5A62;5A62; +FA81;5B28;5B28;5B28;5B28; +FA82;5ED2;5ED2;5ED2;5ED2; +FA83;5ED9;5ED9;5ED9;5ED9; +FA84;5F69;5F69;5F69;5F69; +FA85;5FAD;5FAD;5FAD;5FAD; +FA86;60D8;60D8;60D8;60D8; +FA87;614E;614E;614E;614E; +FA88;6108;6108;6108;6108; +FA89;618E;618E;618E;618E; +FA8A;6160;6160;6160;6160; +FA8B;61F2;61F2;61F2;61F2; +FA8C;6234;6234;6234;6234; +FA8D;63C4;63C4;63C4;63C4; +FA8E;641C;641C;641C;641C; +FA8F;6452;6452;6452;6452; +FA90;6556;6556;6556;6556; +FA91;6674;6674;6674;6674; +FA92;6717;6717;6717;6717; +FA93;671B;671B;671B;671B; +FA94;6756;6756;6756;6756; +FA95;6B79;6B79;6B79;6B79; +FA96;6BBA;6BBA;6BBA;6BBA; +FA97;6D41;6D41;6D41;6D41; +FA98;6EDB;6EDB;6EDB;6EDB; +FA99;6ECB;6ECB;6ECB;6ECB; +FA9A;6F22;6F22;6F22;6F22; +FA9B;701E;701E;701E;701E; +FA9C;716E;716E;716E;716E; +FA9D;77A7;77A7;77A7;77A7; +FA9E;7235;7235;7235;7235; +FA9F;72AF;72AF;72AF;72AF; +FAA0;732A;732A;732A;732A; +FAA1;7471;7471;7471;7471; +FAA2;7506;7506;7506;7506; +FAA3;753B;753B;753B;753B; +FAA4;761D;761D;761D;761D; +FAA5;761F;761F;761F;761F; +FAA6;76CA;76CA;76CA;76CA; +FAA7;76DB;76DB;76DB;76DB; +FAA8;76F4;76F4;76F4;76F4; +FAA9;774A;774A;774A;774A; +FAAA;7740;7740;7740;7740; +FAAB;78CC;78CC;78CC;78CC; +FAAC;7AB1;7AB1;7AB1;7AB1; +FAAD;7BC0;7BC0;7BC0;7BC0; +FAAE;7C7B;7C7B;7C7B;7C7B; +FAAF;7D5B;7D5B;7D5B;7D5B; +FAB0;7DF4;7DF4;7DF4;7DF4; +FAB1;7F3E;7F3E;7F3E;7F3E; +FAB2;8005;8005;8005;8005; +FAB3;8352;8352;8352;8352; +FAB4;83EF;83EF;83EF;83EF; +FAB5;8779;8779;8779;8779; +FAB6;8941;8941;8941;8941; +FAB7;8986;8986;8986;8986; +FAB8;8996;8996;8996;8996; +FAB9;8ABF;8ABF;8ABF;8ABF; +FABA;8AF8;8AF8;8AF8;8AF8; +FABB;8ACB;8ACB;8ACB;8ACB; +FABC;8B01;8B01;8B01;8B01; +FABD;8AFE;8AFE;8AFE;8AFE; +FABE;8AED;8AED;8AED;8AED; +FABF;8B39;8B39;8B39;8B39; +FAC0;8B8A;8B8A;8B8A;8B8A; +FAC1;8D08;8D08;8D08;8D08; +FAC2;8F38;8F38;8F38;8F38; +FAC3;9072;9072;9072;9072; +FAC4;9199;9199;9199;9199; +FAC5;9276;9276;9276;9276; +FAC6;967C;967C;967C;967C; +FAC7;96E3;96E3;96E3;96E3; +FAC8;9756;9756;9756;9756; +FAC9;97DB;97DB;97DB;97DB; +FACA;97FF;97FF;97FF;97FF; +FACB;980B;980B;980B;980B; +FACC;983B;983B;983B;983B; +FACD;9B12;9B12;9B12;9B12; +FACE;9F9C;9F9C;9F9C;9F9C; +FACF;2284A;2284A;2284A;2284A; +FAD0;22844;22844;22844;22844; +FAD1;233D5;233D5;233D5;233D5; +FAD2;3B9D;3B9D;3B9D;3B9D; +FAD3;4018;4018;4018;4018; +FAD4;4039;4039;4039;4039; +FAD5;25249;25249;25249;25249; +FAD6;25CD0;25CD0;25CD0;25CD0; +FAD7;27ED3;27ED3;27ED3;27ED3; +FAD8;9F43;9F43;9F43;9F43; +FAD9;9F8E;9F8E;9F8E;9F8E; +FB00;FB00;FB00;0066 0066;0066 0066; +FB01;FB01;FB01;0066 0069;0066 0069; +FB02;FB02;FB02;0066 006C;0066 006C; +FB03;FB03;FB03;0066 0066 0069;0066 0066 0069; +FB04;FB04;FB04;0066 0066 006C;0066 0066 006C; +FB05;FB05;FB05;0073 0074;0073 0074; +FB06;FB06;FB06;0073 0074;0073 0074; +FB13;FB13;FB13;0574 0576;0574 0576; +FB14;FB14;FB14;0574 0565;0574 0565; +FB15;FB15;FB15;0574 056B;0574 056B; +FB16;FB16;FB16;057E 0576;057E 0576; +FB17;FB17;FB17;0574 056D;0574 056D; +FB1D;05D9 05B4;05D9 05B4;05D9 05B4;05D9 05B4; +FB1F;05F2 05B7;05F2 05B7;05F2 05B7;05F2 05B7; +FB20;FB20;FB20;05E2;05E2; +FB21;FB21;FB21;05D0;05D0; +FB22;FB22;FB22;05D3;05D3; +FB23;FB23;FB23;05D4;05D4; +FB24;FB24;FB24;05DB;05DB; +FB25;FB25;FB25;05DC;05DC; +FB26;FB26;FB26;05DD;05DD; +FB27;FB27;FB27;05E8;05E8; +FB28;FB28;FB28;05EA;05EA; +FB29;FB29;FB29;002B;002B; +FB2A;05E9 05C1;05E9 05C1;05E9 05C1;05E9 05C1; +FB2B;05E9 05C2;05E9 05C2;05E9 05C2;05E9 05C2; +FB2C;05E9 05BC 05C1;05E9 05BC 05C1;05E9 05BC 05C1;05E9 05BC 05C1; +FB2D;05E9 05BC 05C2;05E9 05BC 05C2;05E9 05BC 05C2;05E9 05BC 05C2; +FB2E;05D0 05B7;05D0 05B7;05D0 05B7;05D0 05B7; +FB2F;05D0 05B8;05D0 05B8;05D0 05B8;05D0 05B8; +FB30;05D0 05BC;05D0 05BC;05D0 05BC;05D0 05BC; +FB31;05D1 05BC;05D1 05BC;05D1 05BC;05D1 05BC; +FB32;05D2 05BC;05D2 05BC;05D2 05BC;05D2 05BC; +FB33;05D3 05BC;05D3 05BC;05D3 05BC;05D3 05BC; +FB34;05D4 05BC;05D4 05BC;05D4 05BC;05D4 05BC; +FB35;05D5 05BC;05D5 05BC;05D5 05BC;05D5 05BC; +FB36;05D6 05BC;05D6 05BC;05D6 05BC;05D6 05BC; +FB38;05D8 05BC;05D8 05BC;05D8 05BC;05D8 05BC; +FB39;05D9 05BC;05D9 05BC;05D9 05BC;05D9 05BC; +FB3A;05DA 05BC;05DA 05BC;05DA 05BC;05DA 05BC; +FB3B;05DB 05BC;05DB 05BC;05DB 05BC;05DB 05BC; +FB3C;05DC 05BC;05DC 05BC;05DC 05BC;05DC 05BC; +FB3E;05DE 05BC;05DE 05BC;05DE 05BC;05DE 05BC; +FB40;05E0 05BC;05E0 05BC;05E0 05BC;05E0 05BC; +FB41;05E1 05BC;05E1 05BC;05E1 05BC;05E1 05BC; +FB43;05E3 05BC;05E3 05BC;05E3 05BC;05E3 05BC; +FB44;05E4 05BC;05E4 05BC;05E4 05BC;05E4 05BC; +FB46;05E6 05BC;05E6 05BC;05E6 05BC;05E6 05BC; +FB47;05E7 05BC;05E7 05BC;05E7 05BC;05E7 05BC; +FB48;05E8 05BC;05E8 05BC;05E8 05BC;05E8 05BC; +FB49;05E9 05BC;05E9 05BC;05E9 05BC;05E9 05BC; +FB4A;05EA 05BC;05EA 05BC;05EA 05BC;05EA 05BC; +FB4B;05D5 05B9;05D5 05B9;05D5 05B9;05D5 05B9; +FB4C;05D1 05BF;05D1 05BF;05D1 05BF;05D1 05BF; +FB4D;05DB 05BF;05DB 05BF;05DB 05BF;05DB 05BF; +FB4E;05E4 05BF;05E4 05BF;05E4 05BF;05E4 05BF; +FB4F;FB4F;FB4F;05D0 05DC;05D0 05DC; +FB50;FB50;FB50;0671;0671; +FB51;FB51;FB51;0671;0671; +FB52;FB52;FB52;067B;067B; +FB53;FB53;FB53;067B;067B; +FB54;FB54;FB54;067B;067B; +FB55;FB55;FB55;067B;067B; +FB56;FB56;FB56;067E;067E; +FB57;FB57;FB57;067E;067E; +FB58;FB58;FB58;067E;067E; +FB59;FB59;FB59;067E;067E; +FB5A;FB5A;FB5A;0680;0680; +FB5B;FB5B;FB5B;0680;0680; +FB5C;FB5C;FB5C;0680;0680; +FB5D;FB5D;FB5D;0680;0680; +FB5E;FB5E;FB5E;067A;067A; +FB5F;FB5F;FB5F;067A;067A; +FB60;FB60;FB60;067A;067A; +FB61;FB61;FB61;067A;067A; +FB62;FB62;FB62;067F;067F; +FB63;FB63;FB63;067F;067F; +FB64;FB64;FB64;067F;067F; +FB65;FB65;FB65;067F;067F; +FB66;FB66;FB66;0679;0679; +FB67;FB67;FB67;0679;0679; +FB68;FB68;FB68;0679;0679; +FB69;FB69;FB69;0679;0679; +FB6A;FB6A;FB6A;06A4;06A4; +FB6B;FB6B;FB6B;06A4;06A4; +FB6C;FB6C;FB6C;06A4;06A4; +FB6D;FB6D;FB6D;06A4;06A4; +FB6E;FB6E;FB6E;06A6;06A6; +FB6F;FB6F;FB6F;06A6;06A6; +FB70;FB70;FB70;06A6;06A6; +FB71;FB71;FB71;06A6;06A6; +FB72;FB72;FB72;0684;0684; +FB73;FB73;FB73;0684;0684; +FB74;FB74;FB74;0684;0684; +FB75;FB75;FB75;0684;0684; +FB76;FB76;FB76;0683;0683; +FB77;FB77;FB77;0683;0683; +FB78;FB78;FB78;0683;0683; +FB79;FB79;FB79;0683;0683; +FB7A;FB7A;FB7A;0686;0686; +FB7B;FB7B;FB7B;0686;0686; +FB7C;FB7C;FB7C;0686;0686; +FB7D;FB7D;FB7D;0686;0686; +FB7E;FB7E;FB7E;0687;0687; +FB7F;FB7F;FB7F;0687;0687; +FB80;FB80;FB80;0687;0687; +FB81;FB81;FB81;0687;0687; +FB82;FB82;FB82;068D;068D; +FB83;FB83;FB83;068D;068D; +FB84;FB84;FB84;068C;068C; +FB85;FB85;FB85;068C;068C; +FB86;FB86;FB86;068E;068E; +FB87;FB87;FB87;068E;068E; +FB88;FB88;FB88;0688;0688; +FB89;FB89;FB89;0688;0688; +FB8A;FB8A;FB8A;0698;0698; +FB8B;FB8B;FB8B;0698;0698; +FB8C;FB8C;FB8C;0691;0691; +FB8D;FB8D;FB8D;0691;0691; +FB8E;FB8E;FB8E;06A9;06A9; +FB8F;FB8F;FB8F;06A9;06A9; +FB90;FB90;FB90;06A9;06A9; +FB91;FB91;FB91;06A9;06A9; +FB92;FB92;FB92;06AF;06AF; +FB93;FB93;FB93;06AF;06AF; +FB94;FB94;FB94;06AF;06AF; +FB95;FB95;FB95;06AF;06AF; +FB96;FB96;FB96;06B3;06B3; +FB97;FB97;FB97;06B3;06B3; +FB98;FB98;FB98;06B3;06B3; +FB99;FB99;FB99;06B3;06B3; +FB9A;FB9A;FB9A;06B1;06B1; +FB9B;FB9B;FB9B;06B1;06B1; +FB9C;FB9C;FB9C;06B1;06B1; +FB9D;FB9D;FB9D;06B1;06B1; +FB9E;FB9E;FB9E;06BA;06BA; +FB9F;FB9F;FB9F;06BA;06BA; +FBA0;FBA0;FBA0;06BB;06BB; +FBA1;FBA1;FBA1;06BB;06BB; +FBA2;FBA2;FBA2;06BB;06BB; +FBA3;FBA3;FBA3;06BB;06BB; +FBA4;FBA4;FBA4;06C0;06D5 0654; +FBA5;FBA5;FBA5;06C0;06D5 0654; +FBA6;FBA6;FBA6;06C1;06C1; +FBA7;FBA7;FBA7;06C1;06C1; +FBA8;FBA8;FBA8;06C1;06C1; +FBA9;FBA9;FBA9;06C1;06C1; +FBAA;FBAA;FBAA;06BE;06BE; +FBAB;FBAB;FBAB;06BE;06BE; +FBAC;FBAC;FBAC;06BE;06BE; +FBAD;FBAD;FBAD;06BE;06BE; +FBAE;FBAE;FBAE;06D2;06D2; +FBAF;FBAF;FBAF;06D2;06D2; +FBB0;FBB0;FBB0;06D3;06D2 0654; +FBB1;FBB1;FBB1;06D3;06D2 0654; +FBD3;FBD3;FBD3;06AD;06AD; +FBD4;FBD4;FBD4;06AD;06AD; +FBD5;FBD5;FBD5;06AD;06AD; +FBD6;FBD6;FBD6;06AD;06AD; +FBD7;FBD7;FBD7;06C7;06C7; +FBD8;FBD8;FBD8;06C7;06C7; +FBD9;FBD9;FBD9;06C6;06C6; +FBDA;FBDA;FBDA;06C6;06C6; +FBDB;FBDB;FBDB;06C8;06C8; +FBDC;FBDC;FBDC;06C8;06C8; +FBDD;FBDD;FBDD;06C7 0674;06C7 0674; +FBDE;FBDE;FBDE;06CB;06CB; +FBDF;FBDF;FBDF;06CB;06CB; +FBE0;FBE0;FBE0;06C5;06C5; +FBE1;FBE1;FBE1;06C5;06C5; +FBE2;FBE2;FBE2;06C9;06C9; +FBE3;FBE3;FBE3;06C9;06C9; +FBE4;FBE4;FBE4;06D0;06D0; +FBE5;FBE5;FBE5;06D0;06D0; +FBE6;FBE6;FBE6;06D0;06D0; +FBE7;FBE7;FBE7;06D0;06D0; +FBE8;FBE8;FBE8;0649;0649; +FBE9;FBE9;FBE9;0649;0649; +FBEA;FBEA;FBEA;0626 0627;064A 0654 0627; +FBEB;FBEB;FBEB;0626 0627;064A 0654 0627; +FBEC;FBEC;FBEC;0626 06D5;064A 0654 06D5; +FBED;FBED;FBED;0626 06D5;064A 0654 06D5; +FBEE;FBEE;FBEE;0626 0648;064A 0654 0648; +FBEF;FBEF;FBEF;0626 0648;064A 0654 0648; +FBF0;FBF0;FBF0;0626 06C7;064A 0654 06C7; +FBF1;FBF1;FBF1;0626 06C7;064A 0654 06C7; +FBF2;FBF2;FBF2;0626 06C6;064A 0654 06C6; +FBF3;FBF3;FBF3;0626 06C6;064A 0654 06C6; +FBF4;FBF4;FBF4;0626 06C8;064A 0654 06C8; +FBF5;FBF5;FBF5;0626 06C8;064A 0654 06C8; +FBF6;FBF6;FBF6;0626 06D0;064A 0654 06D0; +FBF7;FBF7;FBF7;0626 06D0;064A 0654 06D0; +FBF8;FBF8;FBF8;0626 06D0;064A 0654 06D0; +FBF9;FBF9;FBF9;0626 0649;064A 0654 0649; +FBFA;FBFA;FBFA;0626 0649;064A 0654 0649; +FBFB;FBFB;FBFB;0626 0649;064A 0654 0649; +FBFC;FBFC;FBFC;06CC;06CC; +FBFD;FBFD;FBFD;06CC;06CC; +FBFE;FBFE;FBFE;06CC;06CC; +FBFF;FBFF;FBFF;06CC;06CC; +FC00;FC00;FC00;0626 062C;064A 0654 062C; +FC01;FC01;FC01;0626 062D;064A 0654 062D; +FC02;FC02;FC02;0626 0645;064A 0654 0645; +FC03;FC03;FC03;0626 0649;064A 0654 0649; +FC04;FC04;FC04;0626 064A;064A 0654 064A; +FC05;FC05;FC05;0628 062C;0628 062C; +FC06;FC06;FC06;0628 062D;0628 062D; +FC07;FC07;FC07;0628 062E;0628 062E; +FC08;FC08;FC08;0628 0645;0628 0645; +FC09;FC09;FC09;0628 0649;0628 0649; +FC0A;FC0A;FC0A;0628 064A;0628 064A; +FC0B;FC0B;FC0B;062A 062C;062A 062C; +FC0C;FC0C;FC0C;062A 062D;062A 062D; +FC0D;FC0D;FC0D;062A 062E;062A 062E; +FC0E;FC0E;FC0E;062A 0645;062A 0645; +FC0F;FC0F;FC0F;062A 0649;062A 0649; +FC10;FC10;FC10;062A 064A;062A 064A; +FC11;FC11;FC11;062B 062C;062B 062C; +FC12;FC12;FC12;062B 0645;062B 0645; +FC13;FC13;FC13;062B 0649;062B 0649; +FC14;FC14;FC14;062B 064A;062B 064A; +FC15;FC15;FC15;062C 062D;062C 062D; +FC16;FC16;FC16;062C 0645;062C 0645; +FC17;FC17;FC17;062D 062C;062D 062C; +FC18;FC18;FC18;062D 0645;062D 0645; +FC19;FC19;FC19;062E 062C;062E 062C; +FC1A;FC1A;FC1A;062E 062D;062E 062D; +FC1B;FC1B;FC1B;062E 0645;062E 0645; +FC1C;FC1C;FC1C;0633 062C;0633 062C; +FC1D;FC1D;FC1D;0633 062D;0633 062D; +FC1E;FC1E;FC1E;0633 062E;0633 062E; +FC1F;FC1F;FC1F;0633 0645;0633 0645; +FC20;FC20;FC20;0635 062D;0635 062D; +FC21;FC21;FC21;0635 0645;0635 0645; +FC22;FC22;FC22;0636 062C;0636 062C; +FC23;FC23;FC23;0636 062D;0636 062D; +FC24;FC24;FC24;0636 062E;0636 062E; +FC25;FC25;FC25;0636 0645;0636 0645; +FC26;FC26;FC26;0637 062D;0637 062D; +FC27;FC27;FC27;0637 0645;0637 0645; +FC28;FC28;FC28;0638 0645;0638 0645; +FC29;FC29;FC29;0639 062C;0639 062C; +FC2A;FC2A;FC2A;0639 0645;0639 0645; +FC2B;FC2B;FC2B;063A 062C;063A 062C; +FC2C;FC2C;FC2C;063A 0645;063A 0645; +FC2D;FC2D;FC2D;0641 062C;0641 062C; +FC2E;FC2E;FC2E;0641 062D;0641 062D; +FC2F;FC2F;FC2F;0641 062E;0641 062E; +FC30;FC30;FC30;0641 0645;0641 0645; +FC31;FC31;FC31;0641 0649;0641 0649; +FC32;FC32;FC32;0641 064A;0641 064A; +FC33;FC33;FC33;0642 062D;0642 062D; +FC34;FC34;FC34;0642 0645;0642 0645; +FC35;FC35;FC35;0642 0649;0642 0649; +FC36;FC36;FC36;0642 064A;0642 064A; +FC37;FC37;FC37;0643 0627;0643 0627; +FC38;FC38;FC38;0643 062C;0643 062C; +FC39;FC39;FC39;0643 062D;0643 062D; +FC3A;FC3A;FC3A;0643 062E;0643 062E; +FC3B;FC3B;FC3B;0643 0644;0643 0644; +FC3C;FC3C;FC3C;0643 0645;0643 0645; +FC3D;FC3D;FC3D;0643 0649;0643 0649; +FC3E;FC3E;FC3E;0643 064A;0643 064A; +FC3F;FC3F;FC3F;0644 062C;0644 062C; +FC40;FC40;FC40;0644 062D;0644 062D; +FC41;FC41;FC41;0644 062E;0644 062E; +FC42;FC42;FC42;0644 0645;0644 0645; +FC43;FC43;FC43;0644 0649;0644 0649; +FC44;FC44;FC44;0644 064A;0644 064A; +FC45;FC45;FC45;0645 062C;0645 062C; +FC46;FC46;FC46;0645 062D;0645 062D; +FC47;FC47;FC47;0645 062E;0645 062E; +FC48;FC48;FC48;0645 0645;0645 0645; +FC49;FC49;FC49;0645 0649;0645 0649; +FC4A;FC4A;FC4A;0645 064A;0645 064A; +FC4B;FC4B;FC4B;0646 062C;0646 062C; +FC4C;FC4C;FC4C;0646 062D;0646 062D; +FC4D;FC4D;FC4D;0646 062E;0646 062E; +FC4E;FC4E;FC4E;0646 0645;0646 0645; +FC4F;FC4F;FC4F;0646 0649;0646 0649; +FC50;FC50;FC50;0646 064A;0646 064A; +FC51;FC51;FC51;0647 062C;0647 062C; +FC52;FC52;FC52;0647 0645;0647 0645; +FC53;FC53;FC53;0647 0649;0647 0649; +FC54;FC54;FC54;0647 064A;0647 064A; +FC55;FC55;FC55;064A 062C;064A 062C; +FC56;FC56;FC56;064A 062D;064A 062D; +FC57;FC57;FC57;064A 062E;064A 062E; +FC58;FC58;FC58;064A 0645;064A 0645; +FC59;FC59;FC59;064A 0649;064A 0649; +FC5A;FC5A;FC5A;064A 064A;064A 064A; +FC5B;FC5B;FC5B;0630 0670;0630 0670; +FC5C;FC5C;FC5C;0631 0670;0631 0670; +FC5D;FC5D;FC5D;0649 0670;0649 0670; +FC5E;FC5E;FC5E;0020 064C 0651;0020 064C 0651; +FC5F;FC5F;FC5F;0020 064D 0651;0020 064D 0651; +FC60;FC60;FC60;0020 064E 0651;0020 064E 0651; +FC61;FC61;FC61;0020 064F 0651;0020 064F 0651; +FC62;FC62;FC62;0020 0650 0651;0020 0650 0651; +FC63;FC63;FC63;0020 0651 0670;0020 0651 0670; +FC64;FC64;FC64;0626 0631;064A 0654 0631; +FC65;FC65;FC65;0626 0632;064A 0654 0632; +FC66;FC66;FC66;0626 0645;064A 0654 0645; +FC67;FC67;FC67;0626 0646;064A 0654 0646; +FC68;FC68;FC68;0626 0649;064A 0654 0649; +FC69;FC69;FC69;0626 064A;064A 0654 064A; +FC6A;FC6A;FC6A;0628 0631;0628 0631; +FC6B;FC6B;FC6B;0628 0632;0628 0632; +FC6C;FC6C;FC6C;0628 0645;0628 0645; +FC6D;FC6D;FC6D;0628 0646;0628 0646; +FC6E;FC6E;FC6E;0628 0649;0628 0649; +FC6F;FC6F;FC6F;0628 064A;0628 064A; +FC70;FC70;FC70;062A 0631;062A 0631; +FC71;FC71;FC71;062A 0632;062A 0632; +FC72;FC72;FC72;062A 0645;062A 0645; +FC73;FC73;FC73;062A 0646;062A 0646; +FC74;FC74;FC74;062A 0649;062A 0649; +FC75;FC75;FC75;062A 064A;062A 064A; +FC76;FC76;FC76;062B 0631;062B 0631; +FC77;FC77;FC77;062B 0632;062B 0632; +FC78;FC78;FC78;062B 0645;062B 0645; +FC79;FC79;FC79;062B 0646;062B 0646; +FC7A;FC7A;FC7A;062B 0649;062B 0649; +FC7B;FC7B;FC7B;062B 064A;062B 064A; +FC7C;FC7C;FC7C;0641 0649;0641 0649; +FC7D;FC7D;FC7D;0641 064A;0641 064A; +FC7E;FC7E;FC7E;0642 0649;0642 0649; +FC7F;FC7F;FC7F;0642 064A;0642 064A; +FC80;FC80;FC80;0643 0627;0643 0627; +FC81;FC81;FC81;0643 0644;0643 0644; +FC82;FC82;FC82;0643 0645;0643 0645; +FC83;FC83;FC83;0643 0649;0643 0649; +FC84;FC84;FC84;0643 064A;0643 064A; +FC85;FC85;FC85;0644 0645;0644 0645; +FC86;FC86;FC86;0644 0649;0644 0649; +FC87;FC87;FC87;0644 064A;0644 064A; +FC88;FC88;FC88;0645 0627;0645 0627; +FC89;FC89;FC89;0645 0645;0645 0645; +FC8A;FC8A;FC8A;0646 0631;0646 0631; +FC8B;FC8B;FC8B;0646 0632;0646 0632; +FC8C;FC8C;FC8C;0646 0645;0646 0645; +FC8D;FC8D;FC8D;0646 0646;0646 0646; +FC8E;FC8E;FC8E;0646 0649;0646 0649; +FC8F;FC8F;FC8F;0646 064A;0646 064A; +FC90;FC90;FC90;0649 0670;0649 0670; +FC91;FC91;FC91;064A 0631;064A 0631; +FC92;FC92;FC92;064A 0632;064A 0632; +FC93;FC93;FC93;064A 0645;064A 0645; +FC94;FC94;FC94;064A 0646;064A 0646; +FC95;FC95;FC95;064A 0649;064A 0649; +FC96;FC96;FC96;064A 064A;064A 064A; +FC97;FC97;FC97;0626 062C;064A 0654 062C; +FC98;FC98;FC98;0626 062D;064A 0654 062D; +FC99;FC99;FC99;0626 062E;064A 0654 062E; +FC9A;FC9A;FC9A;0626 0645;064A 0654 0645; +FC9B;FC9B;FC9B;0626 0647;064A 0654 0647; +FC9C;FC9C;FC9C;0628 062C;0628 062C; +FC9D;FC9D;FC9D;0628 062D;0628 062D; +FC9E;FC9E;FC9E;0628 062E;0628 062E; +FC9F;FC9F;FC9F;0628 0645;0628 0645; +FCA0;FCA0;FCA0;0628 0647;0628 0647; +FCA1;FCA1;FCA1;062A 062C;062A 062C; +FCA2;FCA2;FCA2;062A 062D;062A 062D; +FCA3;FCA3;FCA3;062A 062E;062A 062E; +FCA4;FCA4;FCA4;062A 0645;062A 0645; +FCA5;FCA5;FCA5;062A 0647;062A 0647; +FCA6;FCA6;FCA6;062B 0645;062B 0645; +FCA7;FCA7;FCA7;062C 062D;062C 062D; +FCA8;FCA8;FCA8;062C 0645;062C 0645; +FCA9;FCA9;FCA9;062D 062C;062D 062C; +FCAA;FCAA;FCAA;062D 0645;062D 0645; +FCAB;FCAB;FCAB;062E 062C;062E 062C; +FCAC;FCAC;FCAC;062E 0645;062E 0645; +FCAD;FCAD;FCAD;0633 062C;0633 062C; +FCAE;FCAE;FCAE;0633 062D;0633 062D; +FCAF;FCAF;FCAF;0633 062E;0633 062E; +FCB0;FCB0;FCB0;0633 0645;0633 0645; +FCB1;FCB1;FCB1;0635 062D;0635 062D; +FCB2;FCB2;FCB2;0635 062E;0635 062E; +FCB3;FCB3;FCB3;0635 0645;0635 0645; +FCB4;FCB4;FCB4;0636 062C;0636 062C; +FCB5;FCB5;FCB5;0636 062D;0636 062D; +FCB6;FCB6;FCB6;0636 062E;0636 062E; +FCB7;FCB7;FCB7;0636 0645;0636 0645; +FCB8;FCB8;FCB8;0637 062D;0637 062D; +FCB9;FCB9;FCB9;0638 0645;0638 0645; +FCBA;FCBA;FCBA;0639 062C;0639 062C; +FCBB;FCBB;FCBB;0639 0645;0639 0645; +FCBC;FCBC;FCBC;063A 062C;063A 062C; +FCBD;FCBD;FCBD;063A 0645;063A 0645; +FCBE;FCBE;FCBE;0641 062C;0641 062C; +FCBF;FCBF;FCBF;0641 062D;0641 062D; +FCC0;FCC0;FCC0;0641 062E;0641 062E; +FCC1;FCC1;FCC1;0641 0645;0641 0645; +FCC2;FCC2;FCC2;0642 062D;0642 062D; +FCC3;FCC3;FCC3;0642 0645;0642 0645; +FCC4;FCC4;FCC4;0643 062C;0643 062C; +FCC5;FCC5;FCC5;0643 062D;0643 062D; +FCC6;FCC6;FCC6;0643 062E;0643 062E; +FCC7;FCC7;FCC7;0643 0644;0643 0644; +FCC8;FCC8;FCC8;0643 0645;0643 0645; +FCC9;FCC9;FCC9;0644 062C;0644 062C; +FCCA;FCCA;FCCA;0644 062D;0644 062D; +FCCB;FCCB;FCCB;0644 062E;0644 062E; +FCCC;FCCC;FCCC;0644 0645;0644 0645; +FCCD;FCCD;FCCD;0644 0647;0644 0647; +FCCE;FCCE;FCCE;0645 062C;0645 062C; +FCCF;FCCF;FCCF;0645 062D;0645 062D; +FCD0;FCD0;FCD0;0645 062E;0645 062E; +FCD1;FCD1;FCD1;0645 0645;0645 0645; +FCD2;FCD2;FCD2;0646 062C;0646 062C; +FCD3;FCD3;FCD3;0646 062D;0646 062D; +FCD4;FCD4;FCD4;0646 062E;0646 062E; +FCD5;FCD5;FCD5;0646 0645;0646 0645; +FCD6;FCD6;FCD6;0646 0647;0646 0647; +FCD7;FCD7;FCD7;0647 062C;0647 062C; +FCD8;FCD8;FCD8;0647 0645;0647 0645; +FCD9;FCD9;FCD9;0647 0670;0647 0670; +FCDA;FCDA;FCDA;064A 062C;064A 062C; +FCDB;FCDB;FCDB;064A 062D;064A 062D; +FCDC;FCDC;FCDC;064A 062E;064A 062E; +FCDD;FCDD;FCDD;064A 0645;064A 0645; +FCDE;FCDE;FCDE;064A 0647;064A 0647; +FCDF;FCDF;FCDF;0626 0645;064A 0654 0645; +FCE0;FCE0;FCE0;0626 0647;064A 0654 0647; +FCE1;FCE1;FCE1;0628 0645;0628 0645; +FCE2;FCE2;FCE2;0628 0647;0628 0647; +FCE3;FCE3;FCE3;062A 0645;062A 0645; +FCE4;FCE4;FCE4;062A 0647;062A 0647; +FCE5;FCE5;FCE5;062B 0645;062B 0645; +FCE6;FCE6;FCE6;062B 0647;062B 0647; +FCE7;FCE7;FCE7;0633 0645;0633 0645; +FCE8;FCE8;FCE8;0633 0647;0633 0647; +FCE9;FCE9;FCE9;0634 0645;0634 0645; +FCEA;FCEA;FCEA;0634 0647;0634 0647; +FCEB;FCEB;FCEB;0643 0644;0643 0644; +FCEC;FCEC;FCEC;0643 0645;0643 0645; +FCED;FCED;FCED;0644 0645;0644 0645; +FCEE;FCEE;FCEE;0646 0645;0646 0645; +FCEF;FCEF;FCEF;0646 0647;0646 0647; +FCF0;FCF0;FCF0;064A 0645;064A 0645; +FCF1;FCF1;FCF1;064A 0647;064A 0647; +FCF2;FCF2;FCF2;0640 064E 0651;0640 064E 0651; +FCF3;FCF3;FCF3;0640 064F 0651;0640 064F 0651; +FCF4;FCF4;FCF4;0640 0650 0651;0640 0650 0651; +FCF5;FCF5;FCF5;0637 0649;0637 0649; +FCF6;FCF6;FCF6;0637 064A;0637 064A; +FCF7;FCF7;FCF7;0639 0649;0639 0649; +FCF8;FCF8;FCF8;0639 064A;0639 064A; +FCF9;FCF9;FCF9;063A 0649;063A 0649; +FCFA;FCFA;FCFA;063A 064A;063A 064A; +FCFB;FCFB;FCFB;0633 0649;0633 0649; +FCFC;FCFC;FCFC;0633 064A;0633 064A; +FCFD;FCFD;FCFD;0634 0649;0634 0649; +FCFE;FCFE;FCFE;0634 064A;0634 064A; +FCFF;FCFF;FCFF;062D 0649;062D 0649; +FD00;FD00;FD00;062D 064A;062D 064A; +FD01;FD01;FD01;062C 0649;062C 0649; +FD02;FD02;FD02;062C 064A;062C 064A; +FD03;FD03;FD03;062E 0649;062E 0649; +FD04;FD04;FD04;062E 064A;062E 064A; +FD05;FD05;FD05;0635 0649;0635 0649; +FD06;FD06;FD06;0635 064A;0635 064A; +FD07;FD07;FD07;0636 0649;0636 0649; +FD08;FD08;FD08;0636 064A;0636 064A; +FD09;FD09;FD09;0634 062C;0634 062C; +FD0A;FD0A;FD0A;0634 062D;0634 062D; +FD0B;FD0B;FD0B;0634 062E;0634 062E; +FD0C;FD0C;FD0C;0634 0645;0634 0645; +FD0D;FD0D;FD0D;0634 0631;0634 0631; +FD0E;FD0E;FD0E;0633 0631;0633 0631; +FD0F;FD0F;FD0F;0635 0631;0635 0631; +FD10;FD10;FD10;0636 0631;0636 0631; +FD11;FD11;FD11;0637 0649;0637 0649; +FD12;FD12;FD12;0637 064A;0637 064A; +FD13;FD13;FD13;0639 0649;0639 0649; +FD14;FD14;FD14;0639 064A;0639 064A; +FD15;FD15;FD15;063A 0649;063A 0649; +FD16;FD16;FD16;063A 064A;063A 064A; +FD17;FD17;FD17;0633 0649;0633 0649; +FD18;FD18;FD18;0633 064A;0633 064A; +FD19;FD19;FD19;0634 0649;0634 0649; +FD1A;FD1A;FD1A;0634 064A;0634 064A; +FD1B;FD1B;FD1B;062D 0649;062D 0649; +FD1C;FD1C;FD1C;062D 064A;062D 064A; +FD1D;FD1D;FD1D;062C 0649;062C 0649; +FD1E;FD1E;FD1E;062C 064A;062C 064A; +FD1F;FD1F;FD1F;062E 0649;062E 0649; +FD20;FD20;FD20;062E 064A;062E 064A; +FD21;FD21;FD21;0635 0649;0635 0649; +FD22;FD22;FD22;0635 064A;0635 064A; +FD23;FD23;FD23;0636 0649;0636 0649; +FD24;FD24;FD24;0636 064A;0636 064A; +FD25;FD25;FD25;0634 062C;0634 062C; +FD26;FD26;FD26;0634 062D;0634 062D; +FD27;FD27;FD27;0634 062E;0634 062E; +FD28;FD28;FD28;0634 0645;0634 0645; +FD29;FD29;FD29;0634 0631;0634 0631; +FD2A;FD2A;FD2A;0633 0631;0633 0631; +FD2B;FD2B;FD2B;0635 0631;0635 0631; +FD2C;FD2C;FD2C;0636 0631;0636 0631; +FD2D;FD2D;FD2D;0634 062C;0634 062C; +FD2E;FD2E;FD2E;0634 062D;0634 062D; +FD2F;FD2F;FD2F;0634 062E;0634 062E; +FD30;FD30;FD30;0634 0645;0634 0645; +FD31;FD31;FD31;0633 0647;0633 0647; +FD32;FD32;FD32;0634 0647;0634 0647; +FD33;FD33;FD33;0637 0645;0637 0645; +FD34;FD34;FD34;0633 062C;0633 062C; +FD35;FD35;FD35;0633 062D;0633 062D; +FD36;FD36;FD36;0633 062E;0633 062E; +FD37;FD37;FD37;0634 062C;0634 062C; +FD38;FD38;FD38;0634 062D;0634 062D; +FD39;FD39;FD39;0634 062E;0634 062E; +FD3A;FD3A;FD3A;0637 0645;0637 0645; +FD3B;FD3B;FD3B;0638 0645;0638 0645; +FD3C;FD3C;FD3C;0627 064B;0627 064B; +FD3D;FD3D;FD3D;0627 064B;0627 064B; +FD50;FD50;FD50;062A 062C 0645;062A 062C 0645; +FD51;FD51;FD51;062A 062D 062C;062A 062D 062C; +FD52;FD52;FD52;062A 062D 062C;062A 062D 062C; +FD53;FD53;FD53;062A 062D 0645;062A 062D 0645; +FD54;FD54;FD54;062A 062E 0645;062A 062E 0645; +FD55;FD55;FD55;062A 0645 062C;062A 0645 062C; +FD56;FD56;FD56;062A 0645 062D;062A 0645 062D; +FD57;FD57;FD57;062A 0645 062E;062A 0645 062E; +FD58;FD58;FD58;062C 0645 062D;062C 0645 062D; +FD59;FD59;FD59;062C 0645 062D;062C 0645 062D; +FD5A;FD5A;FD5A;062D 0645 064A;062D 0645 064A; +FD5B;FD5B;FD5B;062D 0645 0649;062D 0645 0649; +FD5C;FD5C;FD5C;0633 062D 062C;0633 062D 062C; +FD5D;FD5D;FD5D;0633 062C 062D;0633 062C 062D; +FD5E;FD5E;FD5E;0633 062C 0649;0633 062C 0649; +FD5F;FD5F;FD5F;0633 0645 062D;0633 0645 062D; +FD60;FD60;FD60;0633 0645 062D;0633 0645 062D; +FD61;FD61;FD61;0633 0645 062C;0633 0645 062C; +FD62;FD62;FD62;0633 0645 0645;0633 0645 0645; +FD63;FD63;FD63;0633 0645 0645;0633 0645 0645; +FD64;FD64;FD64;0635 062D 062D;0635 062D 062D; +FD65;FD65;FD65;0635 062D 062D;0635 062D 062D; +FD66;FD66;FD66;0635 0645 0645;0635 0645 0645; +FD67;FD67;FD67;0634 062D 0645;0634 062D 0645; +FD68;FD68;FD68;0634 062D 0645;0634 062D 0645; +FD69;FD69;FD69;0634 062C 064A;0634 062C 064A; +FD6A;FD6A;FD6A;0634 0645 062E;0634 0645 062E; +FD6B;FD6B;FD6B;0634 0645 062E;0634 0645 062E; +FD6C;FD6C;FD6C;0634 0645 0645;0634 0645 0645; +FD6D;FD6D;FD6D;0634 0645 0645;0634 0645 0645; +FD6E;FD6E;FD6E;0636 062D 0649;0636 062D 0649; +FD6F;FD6F;FD6F;0636 062E 0645;0636 062E 0645; +FD70;FD70;FD70;0636 062E 0645;0636 062E 0645; +FD71;FD71;FD71;0637 0645 062D;0637 0645 062D; +FD72;FD72;FD72;0637 0645 062D;0637 0645 062D; +FD73;FD73;FD73;0637 0645 0645;0637 0645 0645; +FD74;FD74;FD74;0637 0645 064A;0637 0645 064A; +FD75;FD75;FD75;0639 062C 0645;0639 062C 0645; +FD76;FD76;FD76;0639 0645 0645;0639 0645 0645; +FD77;FD77;FD77;0639 0645 0645;0639 0645 0645; +FD78;FD78;FD78;0639 0645 0649;0639 0645 0649; +FD79;FD79;FD79;063A 0645 0645;063A 0645 0645; +FD7A;FD7A;FD7A;063A 0645 064A;063A 0645 064A; +FD7B;FD7B;FD7B;063A 0645 0649;063A 0645 0649; +FD7C;FD7C;FD7C;0641 062E 0645;0641 062E 0645; +FD7D;FD7D;FD7D;0641 062E 0645;0641 062E 0645; +FD7E;FD7E;FD7E;0642 0645 062D;0642 0645 062D; +FD7F;FD7F;FD7F;0642 0645 0645;0642 0645 0645; +FD80;FD80;FD80;0644 062D 0645;0644 062D 0645; +FD81;FD81;FD81;0644 062D 064A;0644 062D 064A; +FD82;FD82;FD82;0644 062D 0649;0644 062D 0649; +FD83;FD83;FD83;0644 062C 062C;0644 062C 062C; +FD84;FD84;FD84;0644 062C 062C;0644 062C 062C; +FD85;FD85;FD85;0644 062E 0645;0644 062E 0645; +FD86;FD86;FD86;0644 062E 0645;0644 062E 0645; +FD87;FD87;FD87;0644 0645 062D;0644 0645 062D; +FD88;FD88;FD88;0644 0645 062D;0644 0645 062D; +FD89;FD89;FD89;0645 062D 062C;0645 062D 062C; +FD8A;FD8A;FD8A;0645 062D 0645;0645 062D 0645; +FD8B;FD8B;FD8B;0645 062D 064A;0645 062D 064A; +FD8C;FD8C;FD8C;0645 062C 062D;0645 062C 062D; +FD8D;FD8D;FD8D;0645 062C 0645;0645 062C 0645; +FD8E;FD8E;FD8E;0645 062E 062C;0645 062E 062C; +FD8F;FD8F;FD8F;0645 062E 0645;0645 062E 0645; +FD92;FD92;FD92;0645 062C 062E;0645 062C 062E; +FD93;FD93;FD93;0647 0645 062C;0647 0645 062C; +FD94;FD94;FD94;0647 0645 0645;0647 0645 0645; +FD95;FD95;FD95;0646 062D 0645;0646 062D 0645; +FD96;FD96;FD96;0646 062D 0649;0646 062D 0649; +FD97;FD97;FD97;0646 062C 0645;0646 062C 0645; +FD98;FD98;FD98;0646 062C 0645;0646 062C 0645; +FD99;FD99;FD99;0646 062C 0649;0646 062C 0649; +FD9A;FD9A;FD9A;0646 0645 064A;0646 0645 064A; +FD9B;FD9B;FD9B;0646 0645 0649;0646 0645 0649; +FD9C;FD9C;FD9C;064A 0645 0645;064A 0645 0645; +FD9D;FD9D;FD9D;064A 0645 0645;064A 0645 0645; +FD9E;FD9E;FD9E;0628 062E 064A;0628 062E 064A; +FD9F;FD9F;FD9F;062A 062C 064A;062A 062C 064A; +FDA0;FDA0;FDA0;062A 062C 0649;062A 062C 0649; +FDA1;FDA1;FDA1;062A 062E 064A;062A 062E 064A; +FDA2;FDA2;FDA2;062A 062E 0649;062A 062E 0649; +FDA3;FDA3;FDA3;062A 0645 064A;062A 0645 064A; +FDA4;FDA4;FDA4;062A 0645 0649;062A 0645 0649; +FDA5;FDA5;FDA5;062C 0645 064A;062C 0645 064A; +FDA6;FDA6;FDA6;062C 062D 0649;062C 062D 0649; +FDA7;FDA7;FDA7;062C 0645 0649;062C 0645 0649; +FDA8;FDA8;FDA8;0633 062E 0649;0633 062E 0649; +FDA9;FDA9;FDA9;0635 062D 064A;0635 062D 064A; +FDAA;FDAA;FDAA;0634 062D 064A;0634 062D 064A; +FDAB;FDAB;FDAB;0636 062D 064A;0636 062D 064A; +FDAC;FDAC;FDAC;0644 062C 064A;0644 062C 064A; +FDAD;FDAD;FDAD;0644 0645 064A;0644 0645 064A; +FDAE;FDAE;FDAE;064A 062D 064A;064A 062D 064A; +FDAF;FDAF;FDAF;064A 062C 064A;064A 062C 064A; +FDB0;FDB0;FDB0;064A 0645 064A;064A 0645 064A; +FDB1;FDB1;FDB1;0645 0645 064A;0645 0645 064A; +FDB2;FDB2;FDB2;0642 0645 064A;0642 0645 064A; +FDB3;FDB3;FDB3;0646 062D 064A;0646 062D 064A; +FDB4;FDB4;FDB4;0642 0645 062D;0642 0645 062D; +FDB5;FDB5;FDB5;0644 062D 0645;0644 062D 0645; +FDB6;FDB6;FDB6;0639 0645 064A;0639 0645 064A; +FDB7;FDB7;FDB7;0643 0645 064A;0643 0645 064A; +FDB8;FDB8;FDB8;0646 062C 062D;0646 062C 062D; +FDB9;FDB9;FDB9;0645 062E 064A;0645 062E 064A; +FDBA;FDBA;FDBA;0644 062C 0645;0644 062C 0645; +FDBB;FDBB;FDBB;0643 0645 0645;0643 0645 0645; +FDBC;FDBC;FDBC;0644 062C 0645;0644 062C 0645; +FDBD;FDBD;FDBD;0646 062C 062D;0646 062C 062D; +FDBE;FDBE;FDBE;062C 062D 064A;062C 062D 064A; +FDBF;FDBF;FDBF;062D 062C 064A;062D 062C 064A; +FDC0;FDC0;FDC0;0645 062C 064A;0645 062C 064A; +FDC1;FDC1;FDC1;0641 0645 064A;0641 0645 064A; +FDC2;FDC2;FDC2;0628 062D 064A;0628 062D 064A; +FDC3;FDC3;FDC3;0643 0645 0645;0643 0645 0645; +FDC4;FDC4;FDC4;0639 062C 0645;0639 062C 0645; +FDC5;FDC5;FDC5;0635 0645 0645;0635 0645 0645; +FDC6;FDC6;FDC6;0633 062E 064A;0633 062E 064A; +FDC7;FDC7;FDC7;0646 062C 064A;0646 062C 064A; +FDF0;FDF0;FDF0;0635 0644 06D2;0635 0644 06D2; +FDF1;FDF1;FDF1;0642 0644 06D2;0642 0644 06D2; +FDF2;FDF2;FDF2;0627 0644 0644 0647;0627 0644 0644 0647; +FDF3;FDF3;FDF3;0627 0643 0628 0631;0627 0643 0628 0631; +FDF4;FDF4;FDF4;0645 062D 0645 062F;0645 062D 0645 062F; +FDF5;FDF5;FDF5;0635 0644 0639 0645;0635 0644 0639 0645; +FDF6;FDF6;FDF6;0631 0633 0648 0644;0631 0633 0648 0644; +FDF7;FDF7;FDF7;0639 0644 064A 0647;0639 0644 064A 0647; +FDF8;FDF8;FDF8;0648 0633 0644 0645;0648 0633 0644 0645; +FDF9;FDF9;FDF9;0635 0644 0649;0635 0644 0649; +FDFA;FDFA;FDFA;0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645; +FDFB;FDFB;FDFB;062C 0644 0020 062C 0644 0627 0644 0647;062C 0644 0020 062C 0644 0627 0644 0647; +FDFC;FDFC;FDFC;0631 06CC 0627 0644;0631 06CC 0627 0644; +FE10;FE10;FE10;002C;002C; +FE11;FE11;FE11;3001;3001; +FE12;FE12;FE12;3002;3002; +FE13;FE13;FE13;003A;003A; +FE14;FE14;FE14;003B;003B; +FE15;FE15;FE15;0021;0021; +FE16;FE16;FE16;003F;003F; +FE17;FE17;FE17;3016;3016; +FE18;FE18;FE18;3017;3017; +FE19;FE19;FE19;002E 002E 002E;002E 002E 002E; +FE30;FE30;FE30;002E 002E;002E 002E; +FE31;FE31;FE31;2014;2014; +FE32;FE32;FE32;2013;2013; +FE33;FE33;FE33;005F;005F; +FE34;FE34;FE34;005F;005F; +FE35;FE35;FE35;0028;0028; +FE36;FE36;FE36;0029;0029; +FE37;FE37;FE37;007B;007B; +FE38;FE38;FE38;007D;007D; +FE39;FE39;FE39;3014;3014; +FE3A;FE3A;FE3A;3015;3015; +FE3B;FE3B;FE3B;3010;3010; +FE3C;FE3C;FE3C;3011;3011; +FE3D;FE3D;FE3D;300A;300A; +FE3E;FE3E;FE3E;300B;300B; +FE3F;FE3F;FE3F;3008;3008; +FE40;FE40;FE40;3009;3009; +FE41;FE41;FE41;300C;300C; +FE42;FE42;FE42;300D;300D; +FE43;FE43;FE43;300E;300E; +FE44;FE44;FE44;300F;300F; +FE47;FE47;FE47;005B;005B; +FE48;FE48;FE48;005D;005D; +FE49;FE49;FE49;0020 0305;0020 0305; +FE4A;FE4A;FE4A;0020 0305;0020 0305; +FE4B;FE4B;FE4B;0020 0305;0020 0305; +FE4C;FE4C;FE4C;0020 0305;0020 0305; +FE4D;FE4D;FE4D;005F;005F; +FE4E;FE4E;FE4E;005F;005F; +FE4F;FE4F;FE4F;005F;005F; +FE50;FE50;FE50;002C;002C; +FE51;FE51;FE51;3001;3001; +FE52;FE52;FE52;002E;002E; +FE54;FE54;FE54;003B;003B; +FE55;FE55;FE55;003A;003A; +FE56;FE56;FE56;003F;003F; +FE57;FE57;FE57;0021;0021; +FE58;FE58;FE58;2014;2014; +FE59;FE59;FE59;0028;0028; +FE5A;FE5A;FE5A;0029;0029; +FE5B;FE5B;FE5B;007B;007B; +FE5C;FE5C;FE5C;007D;007D; +FE5D;FE5D;FE5D;3014;3014; +FE5E;FE5E;FE5E;3015;3015; +FE5F;FE5F;FE5F;0023;0023; +FE60;FE60;FE60;0026;0026; +FE61;FE61;FE61;002A;002A; +FE62;FE62;FE62;002B;002B; +FE63;FE63;FE63;002D;002D; +FE64;FE64;FE64;003C;003C; +FE65;FE65;FE65;003E;003E; +FE66;FE66;FE66;003D;003D; +FE68;FE68;FE68;005C;005C; +FE69;FE69;FE69;0024;0024; +FE6A;FE6A;FE6A;0025;0025; +FE6B;FE6B;FE6B;0040;0040; +FE70;FE70;FE70;0020 064B;0020 064B; +FE71;FE71;FE71;0640 064B;0640 064B; +FE72;FE72;FE72;0020 064C;0020 064C; +FE74;FE74;FE74;0020 064D;0020 064D; +FE76;FE76;FE76;0020 064E;0020 064E; +FE77;FE77;FE77;0640 064E;0640 064E; +FE78;FE78;FE78;0020 064F;0020 064F; +FE79;FE79;FE79;0640 064F;0640 064F; +FE7A;FE7A;FE7A;0020 0650;0020 0650; +FE7B;FE7B;FE7B;0640 0650;0640 0650; +FE7C;FE7C;FE7C;0020 0651;0020 0651; +FE7D;FE7D;FE7D;0640 0651;0640 0651; +FE7E;FE7E;FE7E;0020 0652;0020 0652; +FE7F;FE7F;FE7F;0640 0652;0640 0652; +FE80;FE80;FE80;0621;0621; +FE81;FE81;FE81;0622;0627 0653; +FE82;FE82;FE82;0622;0627 0653; +FE83;FE83;FE83;0623;0627 0654; +FE84;FE84;FE84;0623;0627 0654; +FE85;FE85;FE85;0624;0648 0654; +FE86;FE86;FE86;0624;0648 0654; +FE87;FE87;FE87;0625;0627 0655; +FE88;FE88;FE88;0625;0627 0655; +FE89;FE89;FE89;0626;064A 0654; +FE8A;FE8A;FE8A;0626;064A 0654; +FE8B;FE8B;FE8B;0626;064A 0654; +FE8C;FE8C;FE8C;0626;064A 0654; +FE8D;FE8D;FE8D;0627;0627; +FE8E;FE8E;FE8E;0627;0627; +FE8F;FE8F;FE8F;0628;0628; +FE90;FE90;FE90;0628;0628; +FE91;FE91;FE91;0628;0628; +FE92;FE92;FE92;0628;0628; +FE93;FE93;FE93;0629;0629; +FE94;FE94;FE94;0629;0629; +FE95;FE95;FE95;062A;062A; +FE96;FE96;FE96;062A;062A; +FE97;FE97;FE97;062A;062A; +FE98;FE98;FE98;062A;062A; +FE99;FE99;FE99;062B;062B; +FE9A;FE9A;FE9A;062B;062B; +FE9B;FE9B;FE9B;062B;062B; +FE9C;FE9C;FE9C;062B;062B; +FE9D;FE9D;FE9D;062C;062C; +FE9E;FE9E;FE9E;062C;062C; +FE9F;FE9F;FE9F;062C;062C; +FEA0;FEA0;FEA0;062C;062C; +FEA1;FEA1;FEA1;062D;062D; +FEA2;FEA2;FEA2;062D;062D; +FEA3;FEA3;FEA3;062D;062D; +FEA4;FEA4;FEA4;062D;062D; +FEA5;FEA5;FEA5;062E;062E; +FEA6;FEA6;FEA6;062E;062E; +FEA7;FEA7;FEA7;062E;062E; +FEA8;FEA8;FEA8;062E;062E; +FEA9;FEA9;FEA9;062F;062F; +FEAA;FEAA;FEAA;062F;062F; +FEAB;FEAB;FEAB;0630;0630; +FEAC;FEAC;FEAC;0630;0630; +FEAD;FEAD;FEAD;0631;0631; +FEAE;FEAE;FEAE;0631;0631; +FEAF;FEAF;FEAF;0632;0632; +FEB0;FEB0;FEB0;0632;0632; +FEB1;FEB1;FEB1;0633;0633; +FEB2;FEB2;FEB2;0633;0633; +FEB3;FEB3;FEB3;0633;0633; +FEB4;FEB4;FEB4;0633;0633; +FEB5;FEB5;FEB5;0634;0634; +FEB6;FEB6;FEB6;0634;0634; +FEB7;FEB7;FEB7;0634;0634; +FEB8;FEB8;FEB8;0634;0634; +FEB9;FEB9;FEB9;0635;0635; +FEBA;FEBA;FEBA;0635;0635; +FEBB;FEBB;FEBB;0635;0635; +FEBC;FEBC;FEBC;0635;0635; +FEBD;FEBD;FEBD;0636;0636; +FEBE;FEBE;FEBE;0636;0636; +FEBF;FEBF;FEBF;0636;0636; +FEC0;FEC0;FEC0;0636;0636; +FEC1;FEC1;FEC1;0637;0637; +FEC2;FEC2;FEC2;0637;0637; +FEC3;FEC3;FEC3;0637;0637; +FEC4;FEC4;FEC4;0637;0637; +FEC5;FEC5;FEC5;0638;0638; +FEC6;FEC6;FEC6;0638;0638; +FEC7;FEC7;FEC7;0638;0638; +FEC8;FEC8;FEC8;0638;0638; +FEC9;FEC9;FEC9;0639;0639; +FECA;FECA;FECA;0639;0639; +FECB;FECB;FECB;0639;0639; +FECC;FECC;FECC;0639;0639; +FECD;FECD;FECD;063A;063A; +FECE;FECE;FECE;063A;063A; +FECF;FECF;FECF;063A;063A; +FED0;FED0;FED0;063A;063A; +FED1;FED1;FED1;0641;0641; +FED2;FED2;FED2;0641;0641; +FED3;FED3;FED3;0641;0641; +FED4;FED4;FED4;0641;0641; +FED5;FED5;FED5;0642;0642; +FED6;FED6;FED6;0642;0642; +FED7;FED7;FED7;0642;0642; +FED8;FED8;FED8;0642;0642; +FED9;FED9;FED9;0643;0643; +FEDA;FEDA;FEDA;0643;0643; +FEDB;FEDB;FEDB;0643;0643; +FEDC;FEDC;FEDC;0643;0643; +FEDD;FEDD;FEDD;0644;0644; +FEDE;FEDE;FEDE;0644;0644; +FEDF;FEDF;FEDF;0644;0644; +FEE0;FEE0;FEE0;0644;0644; +FEE1;FEE1;FEE1;0645;0645; +FEE2;FEE2;FEE2;0645;0645; +FEE3;FEE3;FEE3;0645;0645; +FEE4;FEE4;FEE4;0645;0645; +FEE5;FEE5;FEE5;0646;0646; +FEE6;FEE6;FEE6;0646;0646; +FEE7;FEE7;FEE7;0646;0646; +FEE8;FEE8;FEE8;0646;0646; +FEE9;FEE9;FEE9;0647;0647; +FEEA;FEEA;FEEA;0647;0647; +FEEB;FEEB;FEEB;0647;0647; +FEEC;FEEC;FEEC;0647;0647; +FEED;FEED;FEED;0648;0648; +FEEE;FEEE;FEEE;0648;0648; +FEEF;FEEF;FEEF;0649;0649; +FEF0;FEF0;FEF0;0649;0649; +FEF1;FEF1;FEF1;064A;064A; +FEF2;FEF2;FEF2;064A;064A; +FEF3;FEF3;FEF3;064A;064A; +FEF4;FEF4;FEF4;064A;064A; +FEF5;FEF5;FEF5;0644 0622;0644 0627 0653; +FEF6;FEF6;FEF6;0644 0622;0644 0627 0653; +FEF7;FEF7;FEF7;0644 0623;0644 0627 0654; +FEF8;FEF8;FEF8;0644 0623;0644 0627 0654; +FEF9;FEF9;FEF9;0644 0625;0644 0627 0655; +FEFA;FEFA;FEFA;0644 0625;0644 0627 0655; +FEFB;FEFB;FEFB;0644 0627;0644 0627; +FEFC;FEFC;FEFC;0644 0627;0644 0627; +FF01;FF01;FF01;0021;0021; +FF02;FF02;FF02;0022;0022; +FF03;FF03;FF03;0023;0023; +FF04;FF04;FF04;0024;0024; +FF05;FF05;FF05;0025;0025; +FF06;FF06;FF06;0026;0026; +FF07;FF07;FF07;0027;0027; +FF08;FF08;FF08;0028;0028; +FF09;FF09;FF09;0029;0029; +FF0A;FF0A;FF0A;002A;002A; +FF0B;FF0B;FF0B;002B;002B; +FF0C;FF0C;FF0C;002C;002C; +FF0D;FF0D;FF0D;002D;002D; +FF0E;FF0E;FF0E;002E;002E; +FF0F;FF0F;FF0F;002F;002F; +FF10;FF10;FF10;0030;0030; +FF11;FF11;FF11;0031;0031; +FF12;FF12;FF12;0032;0032; +FF13;FF13;FF13;0033;0033; +FF14;FF14;FF14;0034;0034; +FF15;FF15;FF15;0035;0035; +FF16;FF16;FF16;0036;0036; +FF17;FF17;FF17;0037;0037; +FF18;FF18;FF18;0038;0038; +FF19;FF19;FF19;0039;0039; +FF1A;FF1A;FF1A;003A;003A; +FF1B;FF1B;FF1B;003B;003B; +FF1C;FF1C;FF1C;003C;003C; +FF1D;FF1D;FF1D;003D;003D; +FF1E;FF1E;FF1E;003E;003E; +FF1F;FF1F;FF1F;003F;003F; +FF20;FF20;FF20;0040;0040; +FF21;FF21;FF21;0041;0041; +FF22;FF22;FF22;0042;0042; +FF23;FF23;FF23;0043;0043; +FF24;FF24;FF24;0044;0044; +FF25;FF25;FF25;0045;0045; +FF26;FF26;FF26;0046;0046; +FF27;FF27;FF27;0047;0047; +FF28;FF28;FF28;0048;0048; +FF29;FF29;FF29;0049;0049; +FF2A;FF2A;FF2A;004A;004A; +FF2B;FF2B;FF2B;004B;004B; +FF2C;FF2C;FF2C;004C;004C; +FF2D;FF2D;FF2D;004D;004D; +FF2E;FF2E;FF2E;004E;004E; +FF2F;FF2F;FF2F;004F;004F; +FF30;FF30;FF30;0050;0050; +FF31;FF31;FF31;0051;0051; +FF32;FF32;FF32;0052;0052; +FF33;FF33;FF33;0053;0053; +FF34;FF34;FF34;0054;0054; +FF35;FF35;FF35;0055;0055; +FF36;FF36;FF36;0056;0056; +FF37;FF37;FF37;0057;0057; +FF38;FF38;FF38;0058;0058; +FF39;FF39;FF39;0059;0059; +FF3A;FF3A;FF3A;005A;005A; +FF3B;FF3B;FF3B;005B;005B; +FF3C;FF3C;FF3C;005C;005C; +FF3D;FF3D;FF3D;005D;005D; +FF3E;FF3E;FF3E;005E;005E; +FF3F;FF3F;FF3F;005F;005F; +FF40;FF40;FF40;0060;0060; +FF41;FF41;FF41;0061;0061; +FF42;FF42;FF42;0062;0062; +FF43;FF43;FF43;0063;0063; +FF44;FF44;FF44;0064;0064; +FF45;FF45;FF45;0065;0065; +FF46;FF46;FF46;0066;0066; +FF47;FF47;FF47;0067;0067; +FF48;FF48;FF48;0068;0068; +FF49;FF49;FF49;0069;0069; +FF4A;FF4A;FF4A;006A;006A; +FF4B;FF4B;FF4B;006B;006B; +FF4C;FF4C;FF4C;006C;006C; +FF4D;FF4D;FF4D;006D;006D; +FF4E;FF4E;FF4E;006E;006E; +FF4F;FF4F;FF4F;006F;006F; +FF50;FF50;FF50;0070;0070; +FF51;FF51;FF51;0071;0071; +FF52;FF52;FF52;0072;0072; +FF53;FF53;FF53;0073;0073; +FF54;FF54;FF54;0074;0074; +FF55;FF55;FF55;0075;0075; +FF56;FF56;FF56;0076;0076; +FF57;FF57;FF57;0077;0077; +FF58;FF58;FF58;0078;0078; +FF59;FF59;FF59;0079;0079; +FF5A;FF5A;FF5A;007A;007A; +FF5B;FF5B;FF5B;007B;007B; +FF5C;FF5C;FF5C;007C;007C; +FF5D;FF5D;FF5D;007D;007D; +FF5E;FF5E;FF5E;007E;007E; +FF5F;FF5F;FF5F;2985;2985; +FF60;FF60;FF60;2986;2986; +FF61;FF61;FF61;3002;3002; +FF62;FF62;FF62;300C;300C; +FF63;FF63;FF63;300D;300D; +FF64;FF64;FF64;3001;3001; +FF65;FF65;FF65;30FB;30FB; +FF66;FF66;FF66;30F2;30F2; +FF67;FF67;FF67;30A1;30A1; +FF68;FF68;FF68;30A3;30A3; +FF69;FF69;FF69;30A5;30A5; +FF6A;FF6A;FF6A;30A7;30A7; +FF6B;FF6B;FF6B;30A9;30A9; +FF6C;FF6C;FF6C;30E3;30E3; +FF6D;FF6D;FF6D;30E5;30E5; +FF6E;FF6E;FF6E;30E7;30E7; +FF6F;FF6F;FF6F;30C3;30C3; +FF70;FF70;FF70;30FC;30FC; +FF71;FF71;FF71;30A2;30A2; +FF72;FF72;FF72;30A4;30A4; +FF73;FF73;FF73;30A6;30A6; +FF74;FF74;FF74;30A8;30A8; +FF75;FF75;FF75;30AA;30AA; +FF76;FF76;FF76;30AB;30AB; +FF77;FF77;FF77;30AD;30AD; +FF78;FF78;FF78;30AF;30AF; +FF79;FF79;FF79;30B1;30B1; +FF7A;FF7A;FF7A;30B3;30B3; +FF7B;FF7B;FF7B;30B5;30B5; +FF7C;FF7C;FF7C;30B7;30B7; +FF7D;FF7D;FF7D;30B9;30B9; +FF7E;FF7E;FF7E;30BB;30BB; +FF7F;FF7F;FF7F;30BD;30BD; +FF80;FF80;FF80;30BF;30BF; +FF81;FF81;FF81;30C1;30C1; +FF82;FF82;FF82;30C4;30C4; +FF83;FF83;FF83;30C6;30C6; +FF84;FF84;FF84;30C8;30C8; +FF85;FF85;FF85;30CA;30CA; +FF86;FF86;FF86;30CB;30CB; +FF87;FF87;FF87;30CC;30CC; +FF88;FF88;FF88;30CD;30CD; +FF89;FF89;FF89;30CE;30CE; +FF8A;FF8A;FF8A;30CF;30CF; +FF8B;FF8B;FF8B;30D2;30D2; +FF8C;FF8C;FF8C;30D5;30D5; +FF8D;FF8D;FF8D;30D8;30D8; +FF8E;FF8E;FF8E;30DB;30DB; +FF8F;FF8F;FF8F;30DE;30DE; +FF90;FF90;FF90;30DF;30DF; +FF91;FF91;FF91;30E0;30E0; +FF92;FF92;FF92;30E1;30E1; +FF93;FF93;FF93;30E2;30E2; +FF94;FF94;FF94;30E4;30E4; +FF95;FF95;FF95;30E6;30E6; +FF96;FF96;FF96;30E8;30E8; +FF97;FF97;FF97;30E9;30E9; +FF98;FF98;FF98;30EA;30EA; +FF99;FF99;FF99;30EB;30EB; +FF9A;FF9A;FF9A;30EC;30EC; +FF9B;FF9B;FF9B;30ED;30ED; +FF9C;FF9C;FF9C;30EF;30EF; +FF9D;FF9D;FF9D;30F3;30F3; +FF9E;FF9E;FF9E;3099;3099; +FF9F;FF9F;FF9F;309A;309A; +FFA0;FFA0;FFA0;1160;1160; +FFA1;FFA1;FFA1;1100;1100; +FFA2;FFA2;FFA2;1101;1101; +FFA3;FFA3;FFA3;11AA;11AA; +FFA4;FFA4;FFA4;1102;1102; +FFA5;FFA5;FFA5;11AC;11AC; +FFA6;FFA6;FFA6;11AD;11AD; +FFA7;FFA7;FFA7;1103;1103; +FFA8;FFA8;FFA8;1104;1104; +FFA9;FFA9;FFA9;1105;1105; +FFAA;FFAA;FFAA;11B0;11B0; +FFAB;FFAB;FFAB;11B1;11B1; +FFAC;FFAC;FFAC;11B2;11B2; +FFAD;FFAD;FFAD;11B3;11B3; +FFAE;FFAE;FFAE;11B4;11B4; +FFAF;FFAF;FFAF;11B5;11B5; +FFB0;FFB0;FFB0;111A;111A; +FFB1;FFB1;FFB1;1106;1106; +FFB2;FFB2;FFB2;1107;1107; +FFB3;FFB3;FFB3;1108;1108; +FFB4;FFB4;FFB4;1121;1121; +FFB5;FFB5;FFB5;1109;1109; +FFB6;FFB6;FFB6;110A;110A; +FFB7;FFB7;FFB7;110B;110B; +FFB8;FFB8;FFB8;110C;110C; +FFB9;FFB9;FFB9;110D;110D; +FFBA;FFBA;FFBA;110E;110E; +FFBB;FFBB;FFBB;110F;110F; +FFBC;FFBC;FFBC;1110;1110; +FFBD;FFBD;FFBD;1111;1111; +FFBE;FFBE;FFBE;1112;1112; +FFC2;FFC2;FFC2;1161;1161; +FFC3;FFC3;FFC3;1162;1162; +FFC4;FFC4;FFC4;1163;1163; +FFC5;FFC5;FFC5;1164;1164; +FFC6;FFC6;FFC6;1165;1165; +FFC7;FFC7;FFC7;1166;1166; +FFCA;FFCA;FFCA;1167;1167; +FFCB;FFCB;FFCB;1168;1168; +FFCC;FFCC;FFCC;1169;1169; +FFCD;FFCD;FFCD;116A;116A; +FFCE;FFCE;FFCE;116B;116B; +FFCF;FFCF;FFCF;116C;116C; +FFD2;FFD2;FFD2;116D;116D; +FFD3;FFD3;FFD3;116E;116E; +FFD4;FFD4;FFD4;116F;116F; +FFD5;FFD5;FFD5;1170;1170; +FFD6;FFD6;FFD6;1171;1171; +FFD7;FFD7;FFD7;1172;1172; +FFDA;FFDA;FFDA;1173;1173; +FFDB;FFDB;FFDB;1174;1174; +FFDC;FFDC;FFDC;1175;1175; +FFE0;FFE0;FFE0;00A2;00A2; +FFE1;FFE1;FFE1;00A3;00A3; +FFE2;FFE2;FFE2;00AC;00AC; +FFE3;FFE3;FFE3;0020 0304;0020 0304; +FFE4;FFE4;FFE4;00A6;00A6; +FFE5;FFE5;FFE5;00A5;00A5; +FFE6;FFE6;FFE6;20A9;20A9; +FFE8;FFE8;FFE8;2502;2502; +FFE9;FFE9;FFE9;2190;2190; +FFEA;FFEA;FFEA;2191;2191; +FFEB;FFEB;FFEB;2192;2192; +FFEC;FFEC;FFEC;2193;2193; +FFED;FFED;FFED;25A0;25A0; +FFEE;FFEE;FFEE;25CB;25CB; +1D15E;1D157 1D165;1D157 1D165;1D157 1D165;1D157 1D165; +1D15F;1D158 1D165;1D158 1D165;1D158 1D165;1D158 1D165; +1D160;1D158 1D165 1D16E;1D158 1D165 1D16E;1D158 1D165 1D16E;1D158 1D165 1D16E; +1D161;1D158 1D165 1D16F;1D158 1D165 1D16F;1D158 1D165 1D16F;1D158 1D165 1D16F; +1D162;1D158 1D165 1D170;1D158 1D165 1D170;1D158 1D165 1D170;1D158 1D165 1D170; +1D163;1D158 1D165 1D171;1D158 1D165 1D171;1D158 1D165 1D171;1D158 1D165 1D171; +1D164;1D158 1D165 1D172;1D158 1D165 1D172;1D158 1D165 1D172;1D158 1D165 1D172; +1D1BB;1D1B9 1D165;1D1B9 1D165;1D1B9 1D165;1D1B9 1D165; +1D1BC;1D1BA 1D165;1D1BA 1D165;1D1BA 1D165;1D1BA 1D165; +1D1BD;1D1B9 1D165 1D16E;1D1B9 1D165 1D16E;1D1B9 1D165 1D16E;1D1B9 1D165 1D16E; +1D1BE;1D1BA 1D165 1D16E;1D1BA 1D165 1D16E;1D1BA 1D165 1D16E;1D1BA 1D165 1D16E; +1D1BF;1D1B9 1D165 1D16F;1D1B9 1D165 1D16F;1D1B9 1D165 1D16F;1D1B9 1D165 1D16F; +1D1C0;1D1BA 1D165 1D16F;1D1BA 1D165 1D16F;1D1BA 1D165 1D16F;1D1BA 1D165 1D16F; +1D400;1D400;1D400;0041;0041; +1D401;1D401;1D401;0042;0042; +1D402;1D402;1D402;0043;0043; +1D403;1D403;1D403;0044;0044; +1D404;1D404;1D404;0045;0045; +1D405;1D405;1D405;0046;0046; +1D406;1D406;1D406;0047;0047; +1D407;1D407;1D407;0048;0048; +1D408;1D408;1D408;0049;0049; +1D409;1D409;1D409;004A;004A; +1D40A;1D40A;1D40A;004B;004B; +1D40B;1D40B;1D40B;004C;004C; +1D40C;1D40C;1D40C;004D;004D; +1D40D;1D40D;1D40D;004E;004E; +1D40E;1D40E;1D40E;004F;004F; +1D40F;1D40F;1D40F;0050;0050; +1D410;1D410;1D410;0051;0051; +1D411;1D411;1D411;0052;0052; +1D412;1D412;1D412;0053;0053; +1D413;1D413;1D413;0054;0054; +1D414;1D414;1D414;0055;0055; +1D415;1D415;1D415;0056;0056; +1D416;1D416;1D416;0057;0057; +1D417;1D417;1D417;0058;0058; +1D418;1D418;1D418;0059;0059; +1D419;1D419;1D419;005A;005A; +1D41A;1D41A;1D41A;0061;0061; +1D41B;1D41B;1D41B;0062;0062; +1D41C;1D41C;1D41C;0063;0063; +1D41D;1D41D;1D41D;0064;0064; +1D41E;1D41E;1D41E;0065;0065; +1D41F;1D41F;1D41F;0066;0066; +1D420;1D420;1D420;0067;0067; +1D421;1D421;1D421;0068;0068; +1D422;1D422;1D422;0069;0069; +1D423;1D423;1D423;006A;006A; +1D424;1D424;1D424;006B;006B; +1D425;1D425;1D425;006C;006C; +1D426;1D426;1D426;006D;006D; +1D427;1D427;1D427;006E;006E; +1D428;1D428;1D428;006F;006F; +1D429;1D429;1D429;0070;0070; +1D42A;1D42A;1D42A;0071;0071; +1D42B;1D42B;1D42B;0072;0072; +1D42C;1D42C;1D42C;0073;0073; +1D42D;1D42D;1D42D;0074;0074; +1D42E;1D42E;1D42E;0075;0075; +1D42F;1D42F;1D42F;0076;0076; +1D430;1D430;1D430;0077;0077; +1D431;1D431;1D431;0078;0078; +1D432;1D432;1D432;0079;0079; +1D433;1D433;1D433;007A;007A; +1D434;1D434;1D434;0041;0041; +1D435;1D435;1D435;0042;0042; +1D436;1D436;1D436;0043;0043; +1D437;1D437;1D437;0044;0044; +1D438;1D438;1D438;0045;0045; +1D439;1D439;1D439;0046;0046; +1D43A;1D43A;1D43A;0047;0047; +1D43B;1D43B;1D43B;0048;0048; +1D43C;1D43C;1D43C;0049;0049; +1D43D;1D43D;1D43D;004A;004A; +1D43E;1D43E;1D43E;004B;004B; +1D43F;1D43F;1D43F;004C;004C; +1D440;1D440;1D440;004D;004D; +1D441;1D441;1D441;004E;004E; +1D442;1D442;1D442;004F;004F; +1D443;1D443;1D443;0050;0050; +1D444;1D444;1D444;0051;0051; +1D445;1D445;1D445;0052;0052; +1D446;1D446;1D446;0053;0053; +1D447;1D447;1D447;0054;0054; +1D448;1D448;1D448;0055;0055; +1D449;1D449;1D449;0056;0056; +1D44A;1D44A;1D44A;0057;0057; +1D44B;1D44B;1D44B;0058;0058; +1D44C;1D44C;1D44C;0059;0059; +1D44D;1D44D;1D44D;005A;005A; +1D44E;1D44E;1D44E;0061;0061; +1D44F;1D44F;1D44F;0062;0062; +1D450;1D450;1D450;0063;0063; +1D451;1D451;1D451;0064;0064; +1D452;1D452;1D452;0065;0065; +1D453;1D453;1D453;0066;0066; +1D454;1D454;1D454;0067;0067; +1D456;1D456;1D456;0069;0069; +1D457;1D457;1D457;006A;006A; +1D458;1D458;1D458;006B;006B; +1D459;1D459;1D459;006C;006C; +1D45A;1D45A;1D45A;006D;006D; +1D45B;1D45B;1D45B;006E;006E; +1D45C;1D45C;1D45C;006F;006F; +1D45D;1D45D;1D45D;0070;0070; +1D45E;1D45E;1D45E;0071;0071; +1D45F;1D45F;1D45F;0072;0072; +1D460;1D460;1D460;0073;0073; +1D461;1D461;1D461;0074;0074; +1D462;1D462;1D462;0075;0075; +1D463;1D463;1D463;0076;0076; +1D464;1D464;1D464;0077;0077; +1D465;1D465;1D465;0078;0078; +1D466;1D466;1D466;0079;0079; +1D467;1D467;1D467;007A;007A; +1D468;1D468;1D468;0041;0041; +1D469;1D469;1D469;0042;0042; +1D46A;1D46A;1D46A;0043;0043; +1D46B;1D46B;1D46B;0044;0044; +1D46C;1D46C;1D46C;0045;0045; +1D46D;1D46D;1D46D;0046;0046; +1D46E;1D46E;1D46E;0047;0047; +1D46F;1D46F;1D46F;0048;0048; +1D470;1D470;1D470;0049;0049; +1D471;1D471;1D471;004A;004A; +1D472;1D472;1D472;004B;004B; +1D473;1D473;1D473;004C;004C; +1D474;1D474;1D474;004D;004D; +1D475;1D475;1D475;004E;004E; +1D476;1D476;1D476;004F;004F; +1D477;1D477;1D477;0050;0050; +1D478;1D478;1D478;0051;0051; +1D479;1D479;1D479;0052;0052; +1D47A;1D47A;1D47A;0053;0053; +1D47B;1D47B;1D47B;0054;0054; +1D47C;1D47C;1D47C;0055;0055; +1D47D;1D47D;1D47D;0056;0056; +1D47E;1D47E;1D47E;0057;0057; +1D47F;1D47F;1D47F;0058;0058; +1D480;1D480;1D480;0059;0059; +1D481;1D481;1D481;005A;005A; +1D482;1D482;1D482;0061;0061; +1D483;1D483;1D483;0062;0062; +1D484;1D484;1D484;0063;0063; +1D485;1D485;1D485;0064;0064; +1D486;1D486;1D486;0065;0065; +1D487;1D487;1D487;0066;0066; +1D488;1D488;1D488;0067;0067; +1D489;1D489;1D489;0068;0068; +1D48A;1D48A;1D48A;0069;0069; +1D48B;1D48B;1D48B;006A;006A; +1D48C;1D48C;1D48C;006B;006B; +1D48D;1D48D;1D48D;006C;006C; +1D48E;1D48E;1D48E;006D;006D; +1D48F;1D48F;1D48F;006E;006E; +1D490;1D490;1D490;006F;006F; +1D491;1D491;1D491;0070;0070; +1D492;1D492;1D492;0071;0071; +1D493;1D493;1D493;0072;0072; +1D494;1D494;1D494;0073;0073; +1D495;1D495;1D495;0074;0074; +1D496;1D496;1D496;0075;0075; +1D497;1D497;1D497;0076;0076; +1D498;1D498;1D498;0077;0077; +1D499;1D499;1D499;0078;0078; +1D49A;1D49A;1D49A;0079;0079; +1D49B;1D49B;1D49B;007A;007A; +1D49C;1D49C;1D49C;0041;0041; +1D49E;1D49E;1D49E;0043;0043; +1D49F;1D49F;1D49F;0044;0044; +1D4A2;1D4A2;1D4A2;0047;0047; +1D4A5;1D4A5;1D4A5;004A;004A; +1D4A6;1D4A6;1D4A6;004B;004B; +1D4A9;1D4A9;1D4A9;004E;004E; +1D4AA;1D4AA;1D4AA;004F;004F; +1D4AB;1D4AB;1D4AB;0050;0050; +1D4AC;1D4AC;1D4AC;0051;0051; +1D4AE;1D4AE;1D4AE;0053;0053; +1D4AF;1D4AF;1D4AF;0054;0054; +1D4B0;1D4B0;1D4B0;0055;0055; +1D4B1;1D4B1;1D4B1;0056;0056; +1D4B2;1D4B2;1D4B2;0057;0057; +1D4B3;1D4B3;1D4B3;0058;0058; +1D4B4;1D4B4;1D4B4;0059;0059; +1D4B5;1D4B5;1D4B5;005A;005A; +1D4B6;1D4B6;1D4B6;0061;0061; +1D4B7;1D4B7;1D4B7;0062;0062; +1D4B8;1D4B8;1D4B8;0063;0063; +1D4B9;1D4B9;1D4B9;0064;0064; +1D4BB;1D4BB;1D4BB;0066;0066; +1D4BD;1D4BD;1D4BD;0068;0068; +1D4BE;1D4BE;1D4BE;0069;0069; +1D4BF;1D4BF;1D4BF;006A;006A; +1D4C0;1D4C0;1D4C0;006B;006B; +1D4C1;1D4C1;1D4C1;006C;006C; +1D4C2;1D4C2;1D4C2;006D;006D; +1D4C3;1D4C3;1D4C3;006E;006E; +1D4C5;1D4C5;1D4C5;0070;0070; +1D4C6;1D4C6;1D4C6;0071;0071; +1D4C7;1D4C7;1D4C7;0072;0072; +1D4C8;1D4C8;1D4C8;0073;0073; +1D4C9;1D4C9;1D4C9;0074;0074; +1D4CA;1D4CA;1D4CA;0075;0075; +1D4CB;1D4CB;1D4CB;0076;0076; +1D4CC;1D4CC;1D4CC;0077;0077; +1D4CD;1D4CD;1D4CD;0078;0078; +1D4CE;1D4CE;1D4CE;0079;0079; +1D4CF;1D4CF;1D4CF;007A;007A; +1D4D0;1D4D0;1D4D0;0041;0041; +1D4D1;1D4D1;1D4D1;0042;0042; +1D4D2;1D4D2;1D4D2;0043;0043; +1D4D3;1D4D3;1D4D3;0044;0044; +1D4D4;1D4D4;1D4D4;0045;0045; +1D4D5;1D4D5;1D4D5;0046;0046; +1D4D6;1D4D6;1D4D6;0047;0047; +1D4D7;1D4D7;1D4D7;0048;0048; +1D4D8;1D4D8;1D4D8;0049;0049; +1D4D9;1D4D9;1D4D9;004A;004A; +1D4DA;1D4DA;1D4DA;004B;004B; +1D4DB;1D4DB;1D4DB;004C;004C; +1D4DC;1D4DC;1D4DC;004D;004D; +1D4DD;1D4DD;1D4DD;004E;004E; +1D4DE;1D4DE;1D4DE;004F;004F; +1D4DF;1D4DF;1D4DF;0050;0050; +1D4E0;1D4E0;1D4E0;0051;0051; +1D4E1;1D4E1;1D4E1;0052;0052; +1D4E2;1D4E2;1D4E2;0053;0053; +1D4E3;1D4E3;1D4E3;0054;0054; +1D4E4;1D4E4;1D4E4;0055;0055; +1D4E5;1D4E5;1D4E5;0056;0056; +1D4E6;1D4E6;1D4E6;0057;0057; +1D4E7;1D4E7;1D4E7;0058;0058; +1D4E8;1D4E8;1D4E8;0059;0059; +1D4E9;1D4E9;1D4E9;005A;005A; +1D4EA;1D4EA;1D4EA;0061;0061; +1D4EB;1D4EB;1D4EB;0062;0062; +1D4EC;1D4EC;1D4EC;0063;0063; +1D4ED;1D4ED;1D4ED;0064;0064; +1D4EE;1D4EE;1D4EE;0065;0065; +1D4EF;1D4EF;1D4EF;0066;0066; +1D4F0;1D4F0;1D4F0;0067;0067; +1D4F1;1D4F1;1D4F1;0068;0068; +1D4F2;1D4F2;1D4F2;0069;0069; +1D4F3;1D4F3;1D4F3;006A;006A; +1D4F4;1D4F4;1D4F4;006B;006B; +1D4F5;1D4F5;1D4F5;006C;006C; +1D4F6;1D4F6;1D4F6;006D;006D; +1D4F7;1D4F7;1D4F7;006E;006E; +1D4F8;1D4F8;1D4F8;006F;006F; +1D4F9;1D4F9;1D4F9;0070;0070; +1D4FA;1D4FA;1D4FA;0071;0071; +1D4FB;1D4FB;1D4FB;0072;0072; +1D4FC;1D4FC;1D4FC;0073;0073; +1D4FD;1D4FD;1D4FD;0074;0074; +1D4FE;1D4FE;1D4FE;0075;0075; +1D4FF;1D4FF;1D4FF;0076;0076; +1D500;1D500;1D500;0077;0077; +1D501;1D501;1D501;0078;0078; +1D502;1D502;1D502;0079;0079; +1D503;1D503;1D503;007A;007A; +1D504;1D504;1D504;0041;0041; +1D505;1D505;1D505;0042;0042; +1D507;1D507;1D507;0044;0044; +1D508;1D508;1D508;0045;0045; +1D509;1D509;1D509;0046;0046; +1D50A;1D50A;1D50A;0047;0047; +1D50D;1D50D;1D50D;004A;004A; +1D50E;1D50E;1D50E;004B;004B; +1D50F;1D50F;1D50F;004C;004C; +1D510;1D510;1D510;004D;004D; +1D511;1D511;1D511;004E;004E; +1D512;1D512;1D512;004F;004F; +1D513;1D513;1D513;0050;0050; +1D514;1D514;1D514;0051;0051; +1D516;1D516;1D516;0053;0053; +1D517;1D517;1D517;0054;0054; +1D518;1D518;1D518;0055;0055; +1D519;1D519;1D519;0056;0056; +1D51A;1D51A;1D51A;0057;0057; +1D51B;1D51B;1D51B;0058;0058; +1D51C;1D51C;1D51C;0059;0059; +1D51E;1D51E;1D51E;0061;0061; +1D51F;1D51F;1D51F;0062;0062; +1D520;1D520;1D520;0063;0063; +1D521;1D521;1D521;0064;0064; +1D522;1D522;1D522;0065;0065; +1D523;1D523;1D523;0066;0066; +1D524;1D524;1D524;0067;0067; +1D525;1D525;1D525;0068;0068; +1D526;1D526;1D526;0069;0069; +1D527;1D527;1D527;006A;006A; +1D528;1D528;1D528;006B;006B; +1D529;1D529;1D529;006C;006C; +1D52A;1D52A;1D52A;006D;006D; +1D52B;1D52B;1D52B;006E;006E; +1D52C;1D52C;1D52C;006F;006F; +1D52D;1D52D;1D52D;0070;0070; +1D52E;1D52E;1D52E;0071;0071; +1D52F;1D52F;1D52F;0072;0072; +1D530;1D530;1D530;0073;0073; +1D531;1D531;1D531;0074;0074; +1D532;1D532;1D532;0075;0075; +1D533;1D533;1D533;0076;0076; +1D534;1D534;1D534;0077;0077; +1D535;1D535;1D535;0078;0078; +1D536;1D536;1D536;0079;0079; +1D537;1D537;1D537;007A;007A; +1D538;1D538;1D538;0041;0041; +1D539;1D539;1D539;0042;0042; +1D53B;1D53B;1D53B;0044;0044; +1D53C;1D53C;1D53C;0045;0045; +1D53D;1D53D;1D53D;0046;0046; +1D53E;1D53E;1D53E;0047;0047; +1D540;1D540;1D540;0049;0049; +1D541;1D541;1D541;004A;004A; +1D542;1D542;1D542;004B;004B; +1D543;1D543;1D543;004C;004C; +1D544;1D544;1D544;004D;004D; +1D546;1D546;1D546;004F;004F; +1D54A;1D54A;1D54A;0053;0053; +1D54B;1D54B;1D54B;0054;0054; +1D54C;1D54C;1D54C;0055;0055; +1D54D;1D54D;1D54D;0056;0056; +1D54E;1D54E;1D54E;0057;0057; +1D54F;1D54F;1D54F;0058;0058; +1D550;1D550;1D550;0059;0059; +1D552;1D552;1D552;0061;0061; +1D553;1D553;1D553;0062;0062; +1D554;1D554;1D554;0063;0063; +1D555;1D555;1D555;0064;0064; +1D556;1D556;1D556;0065;0065; +1D557;1D557;1D557;0066;0066; +1D558;1D558;1D558;0067;0067; +1D559;1D559;1D559;0068;0068; +1D55A;1D55A;1D55A;0069;0069; +1D55B;1D55B;1D55B;006A;006A; +1D55C;1D55C;1D55C;006B;006B; +1D55D;1D55D;1D55D;006C;006C; +1D55E;1D55E;1D55E;006D;006D; +1D55F;1D55F;1D55F;006E;006E; +1D560;1D560;1D560;006F;006F; +1D561;1D561;1D561;0070;0070; +1D562;1D562;1D562;0071;0071; +1D563;1D563;1D563;0072;0072; +1D564;1D564;1D564;0073;0073; +1D565;1D565;1D565;0074;0074; +1D566;1D566;1D566;0075;0075; +1D567;1D567;1D567;0076;0076; +1D568;1D568;1D568;0077;0077; +1D569;1D569;1D569;0078;0078; +1D56A;1D56A;1D56A;0079;0079; +1D56B;1D56B;1D56B;007A;007A; +1D56C;1D56C;1D56C;0041;0041; +1D56D;1D56D;1D56D;0042;0042; +1D56E;1D56E;1D56E;0043;0043; +1D56F;1D56F;1D56F;0044;0044; +1D570;1D570;1D570;0045;0045; +1D571;1D571;1D571;0046;0046; +1D572;1D572;1D572;0047;0047; +1D573;1D573;1D573;0048;0048; +1D574;1D574;1D574;0049;0049; +1D575;1D575;1D575;004A;004A; +1D576;1D576;1D576;004B;004B; +1D577;1D577;1D577;004C;004C; +1D578;1D578;1D578;004D;004D; +1D579;1D579;1D579;004E;004E; +1D57A;1D57A;1D57A;004F;004F; +1D57B;1D57B;1D57B;0050;0050; +1D57C;1D57C;1D57C;0051;0051; +1D57D;1D57D;1D57D;0052;0052; +1D57E;1D57E;1D57E;0053;0053; +1D57F;1D57F;1D57F;0054;0054; +1D580;1D580;1D580;0055;0055; +1D581;1D581;1D581;0056;0056; +1D582;1D582;1D582;0057;0057; +1D583;1D583;1D583;0058;0058; +1D584;1D584;1D584;0059;0059; +1D585;1D585;1D585;005A;005A; +1D586;1D586;1D586;0061;0061; +1D587;1D587;1D587;0062;0062; +1D588;1D588;1D588;0063;0063; +1D589;1D589;1D589;0064;0064; +1D58A;1D58A;1D58A;0065;0065; +1D58B;1D58B;1D58B;0066;0066; +1D58C;1D58C;1D58C;0067;0067; +1D58D;1D58D;1D58D;0068;0068; +1D58E;1D58E;1D58E;0069;0069; +1D58F;1D58F;1D58F;006A;006A; +1D590;1D590;1D590;006B;006B; +1D591;1D591;1D591;006C;006C; +1D592;1D592;1D592;006D;006D; +1D593;1D593;1D593;006E;006E; +1D594;1D594;1D594;006F;006F; +1D595;1D595;1D595;0070;0070; +1D596;1D596;1D596;0071;0071; +1D597;1D597;1D597;0072;0072; +1D598;1D598;1D598;0073;0073; +1D599;1D599;1D599;0074;0074; +1D59A;1D59A;1D59A;0075;0075; +1D59B;1D59B;1D59B;0076;0076; +1D59C;1D59C;1D59C;0077;0077; +1D59D;1D59D;1D59D;0078;0078; +1D59E;1D59E;1D59E;0079;0079; +1D59F;1D59F;1D59F;007A;007A; +1D5A0;1D5A0;1D5A0;0041;0041; +1D5A1;1D5A1;1D5A1;0042;0042; +1D5A2;1D5A2;1D5A2;0043;0043; +1D5A3;1D5A3;1D5A3;0044;0044; +1D5A4;1D5A4;1D5A4;0045;0045; +1D5A5;1D5A5;1D5A5;0046;0046; +1D5A6;1D5A6;1D5A6;0047;0047; +1D5A7;1D5A7;1D5A7;0048;0048; +1D5A8;1D5A8;1D5A8;0049;0049; +1D5A9;1D5A9;1D5A9;004A;004A; +1D5AA;1D5AA;1D5AA;004B;004B; +1D5AB;1D5AB;1D5AB;004C;004C; +1D5AC;1D5AC;1D5AC;004D;004D; +1D5AD;1D5AD;1D5AD;004E;004E; +1D5AE;1D5AE;1D5AE;004F;004F; +1D5AF;1D5AF;1D5AF;0050;0050; +1D5B0;1D5B0;1D5B0;0051;0051; +1D5B1;1D5B1;1D5B1;0052;0052; +1D5B2;1D5B2;1D5B2;0053;0053; +1D5B3;1D5B3;1D5B3;0054;0054; +1D5B4;1D5B4;1D5B4;0055;0055; +1D5B5;1D5B5;1D5B5;0056;0056; +1D5B6;1D5B6;1D5B6;0057;0057; +1D5B7;1D5B7;1D5B7;0058;0058; +1D5B8;1D5B8;1D5B8;0059;0059; +1D5B9;1D5B9;1D5B9;005A;005A; +1D5BA;1D5BA;1D5BA;0061;0061; +1D5BB;1D5BB;1D5BB;0062;0062; +1D5BC;1D5BC;1D5BC;0063;0063; +1D5BD;1D5BD;1D5BD;0064;0064; +1D5BE;1D5BE;1D5BE;0065;0065; +1D5BF;1D5BF;1D5BF;0066;0066; +1D5C0;1D5C0;1D5C0;0067;0067; +1D5C1;1D5C1;1D5C1;0068;0068; +1D5C2;1D5C2;1D5C2;0069;0069; +1D5C3;1D5C3;1D5C3;006A;006A; +1D5C4;1D5C4;1D5C4;006B;006B; +1D5C5;1D5C5;1D5C5;006C;006C; +1D5C6;1D5C6;1D5C6;006D;006D; +1D5C7;1D5C7;1D5C7;006E;006E; +1D5C8;1D5C8;1D5C8;006F;006F; +1D5C9;1D5C9;1D5C9;0070;0070; +1D5CA;1D5CA;1D5CA;0071;0071; +1D5CB;1D5CB;1D5CB;0072;0072; +1D5CC;1D5CC;1D5CC;0073;0073; +1D5CD;1D5CD;1D5CD;0074;0074; +1D5CE;1D5CE;1D5CE;0075;0075; +1D5CF;1D5CF;1D5CF;0076;0076; +1D5D0;1D5D0;1D5D0;0077;0077; +1D5D1;1D5D1;1D5D1;0078;0078; +1D5D2;1D5D2;1D5D2;0079;0079; +1D5D3;1D5D3;1D5D3;007A;007A; +1D5D4;1D5D4;1D5D4;0041;0041; +1D5D5;1D5D5;1D5D5;0042;0042; +1D5D6;1D5D6;1D5D6;0043;0043; +1D5D7;1D5D7;1D5D7;0044;0044; +1D5D8;1D5D8;1D5D8;0045;0045; +1D5D9;1D5D9;1D5D9;0046;0046; +1D5DA;1D5DA;1D5DA;0047;0047; +1D5DB;1D5DB;1D5DB;0048;0048; +1D5DC;1D5DC;1D5DC;0049;0049; +1D5DD;1D5DD;1D5DD;004A;004A; +1D5DE;1D5DE;1D5DE;004B;004B; +1D5DF;1D5DF;1D5DF;004C;004C; +1D5E0;1D5E0;1D5E0;004D;004D; +1D5E1;1D5E1;1D5E1;004E;004E; +1D5E2;1D5E2;1D5E2;004F;004F; +1D5E3;1D5E3;1D5E3;0050;0050; +1D5E4;1D5E4;1D5E4;0051;0051; +1D5E5;1D5E5;1D5E5;0052;0052; +1D5E6;1D5E6;1D5E6;0053;0053; +1D5E7;1D5E7;1D5E7;0054;0054; +1D5E8;1D5E8;1D5E8;0055;0055; +1D5E9;1D5E9;1D5E9;0056;0056; +1D5EA;1D5EA;1D5EA;0057;0057; +1D5EB;1D5EB;1D5EB;0058;0058; +1D5EC;1D5EC;1D5EC;0059;0059; +1D5ED;1D5ED;1D5ED;005A;005A; +1D5EE;1D5EE;1D5EE;0061;0061; +1D5EF;1D5EF;1D5EF;0062;0062; +1D5F0;1D5F0;1D5F0;0063;0063; +1D5F1;1D5F1;1D5F1;0064;0064; +1D5F2;1D5F2;1D5F2;0065;0065; +1D5F3;1D5F3;1D5F3;0066;0066; +1D5F4;1D5F4;1D5F4;0067;0067; +1D5F5;1D5F5;1D5F5;0068;0068; +1D5F6;1D5F6;1D5F6;0069;0069; +1D5F7;1D5F7;1D5F7;006A;006A; +1D5F8;1D5F8;1D5F8;006B;006B; +1D5F9;1D5F9;1D5F9;006C;006C; +1D5FA;1D5FA;1D5FA;006D;006D; +1D5FB;1D5FB;1D5FB;006E;006E; +1D5FC;1D5FC;1D5FC;006F;006F; +1D5FD;1D5FD;1D5FD;0070;0070; +1D5FE;1D5FE;1D5FE;0071;0071; +1D5FF;1D5FF;1D5FF;0072;0072; +1D600;1D600;1D600;0073;0073; +1D601;1D601;1D601;0074;0074; +1D602;1D602;1D602;0075;0075; +1D603;1D603;1D603;0076;0076; +1D604;1D604;1D604;0077;0077; +1D605;1D605;1D605;0078;0078; +1D606;1D606;1D606;0079;0079; +1D607;1D607;1D607;007A;007A; +1D608;1D608;1D608;0041;0041; +1D609;1D609;1D609;0042;0042; +1D60A;1D60A;1D60A;0043;0043; +1D60B;1D60B;1D60B;0044;0044; +1D60C;1D60C;1D60C;0045;0045; +1D60D;1D60D;1D60D;0046;0046; +1D60E;1D60E;1D60E;0047;0047; +1D60F;1D60F;1D60F;0048;0048; +1D610;1D610;1D610;0049;0049; +1D611;1D611;1D611;004A;004A; +1D612;1D612;1D612;004B;004B; +1D613;1D613;1D613;004C;004C; +1D614;1D614;1D614;004D;004D; +1D615;1D615;1D615;004E;004E; +1D616;1D616;1D616;004F;004F; +1D617;1D617;1D617;0050;0050; +1D618;1D618;1D618;0051;0051; +1D619;1D619;1D619;0052;0052; +1D61A;1D61A;1D61A;0053;0053; +1D61B;1D61B;1D61B;0054;0054; +1D61C;1D61C;1D61C;0055;0055; +1D61D;1D61D;1D61D;0056;0056; +1D61E;1D61E;1D61E;0057;0057; +1D61F;1D61F;1D61F;0058;0058; +1D620;1D620;1D620;0059;0059; +1D621;1D621;1D621;005A;005A; +1D622;1D622;1D622;0061;0061; +1D623;1D623;1D623;0062;0062; +1D624;1D624;1D624;0063;0063; +1D625;1D625;1D625;0064;0064; +1D626;1D626;1D626;0065;0065; +1D627;1D627;1D627;0066;0066; +1D628;1D628;1D628;0067;0067; +1D629;1D629;1D629;0068;0068; +1D62A;1D62A;1D62A;0069;0069; +1D62B;1D62B;1D62B;006A;006A; +1D62C;1D62C;1D62C;006B;006B; +1D62D;1D62D;1D62D;006C;006C; +1D62E;1D62E;1D62E;006D;006D; +1D62F;1D62F;1D62F;006E;006E; +1D630;1D630;1D630;006F;006F; +1D631;1D631;1D631;0070;0070; +1D632;1D632;1D632;0071;0071; +1D633;1D633;1D633;0072;0072; +1D634;1D634;1D634;0073;0073; +1D635;1D635;1D635;0074;0074; +1D636;1D636;1D636;0075;0075; +1D637;1D637;1D637;0076;0076; +1D638;1D638;1D638;0077;0077; +1D639;1D639;1D639;0078;0078; +1D63A;1D63A;1D63A;0079;0079; +1D63B;1D63B;1D63B;007A;007A; +1D63C;1D63C;1D63C;0041;0041; +1D63D;1D63D;1D63D;0042;0042; +1D63E;1D63E;1D63E;0043;0043; +1D63F;1D63F;1D63F;0044;0044; +1D640;1D640;1D640;0045;0045; +1D641;1D641;1D641;0046;0046; +1D642;1D642;1D642;0047;0047; +1D643;1D643;1D643;0048;0048; +1D644;1D644;1D644;0049;0049; +1D645;1D645;1D645;004A;004A; +1D646;1D646;1D646;004B;004B; +1D647;1D647;1D647;004C;004C; +1D648;1D648;1D648;004D;004D; +1D649;1D649;1D649;004E;004E; +1D64A;1D64A;1D64A;004F;004F; +1D64B;1D64B;1D64B;0050;0050; +1D64C;1D64C;1D64C;0051;0051; +1D64D;1D64D;1D64D;0052;0052; +1D64E;1D64E;1D64E;0053;0053; +1D64F;1D64F;1D64F;0054;0054; +1D650;1D650;1D650;0055;0055; +1D651;1D651;1D651;0056;0056; +1D652;1D652;1D652;0057;0057; +1D653;1D653;1D653;0058;0058; +1D654;1D654;1D654;0059;0059; +1D655;1D655;1D655;005A;005A; +1D656;1D656;1D656;0061;0061; +1D657;1D657;1D657;0062;0062; +1D658;1D658;1D658;0063;0063; +1D659;1D659;1D659;0064;0064; +1D65A;1D65A;1D65A;0065;0065; +1D65B;1D65B;1D65B;0066;0066; +1D65C;1D65C;1D65C;0067;0067; +1D65D;1D65D;1D65D;0068;0068; +1D65E;1D65E;1D65E;0069;0069; +1D65F;1D65F;1D65F;006A;006A; +1D660;1D660;1D660;006B;006B; +1D661;1D661;1D661;006C;006C; +1D662;1D662;1D662;006D;006D; +1D663;1D663;1D663;006E;006E; +1D664;1D664;1D664;006F;006F; +1D665;1D665;1D665;0070;0070; +1D666;1D666;1D666;0071;0071; +1D667;1D667;1D667;0072;0072; +1D668;1D668;1D668;0073;0073; +1D669;1D669;1D669;0074;0074; +1D66A;1D66A;1D66A;0075;0075; +1D66B;1D66B;1D66B;0076;0076; +1D66C;1D66C;1D66C;0077;0077; +1D66D;1D66D;1D66D;0078;0078; +1D66E;1D66E;1D66E;0079;0079; +1D66F;1D66F;1D66F;007A;007A; +1D670;1D670;1D670;0041;0041; +1D671;1D671;1D671;0042;0042; +1D672;1D672;1D672;0043;0043; +1D673;1D673;1D673;0044;0044; +1D674;1D674;1D674;0045;0045; +1D675;1D675;1D675;0046;0046; +1D676;1D676;1D676;0047;0047; +1D677;1D677;1D677;0048;0048; +1D678;1D678;1D678;0049;0049; +1D679;1D679;1D679;004A;004A; +1D67A;1D67A;1D67A;004B;004B; +1D67B;1D67B;1D67B;004C;004C; +1D67C;1D67C;1D67C;004D;004D; +1D67D;1D67D;1D67D;004E;004E; +1D67E;1D67E;1D67E;004F;004F; +1D67F;1D67F;1D67F;0050;0050; +1D680;1D680;1D680;0051;0051; +1D681;1D681;1D681;0052;0052; +1D682;1D682;1D682;0053;0053; +1D683;1D683;1D683;0054;0054; +1D684;1D684;1D684;0055;0055; +1D685;1D685;1D685;0056;0056; +1D686;1D686;1D686;0057;0057; +1D687;1D687;1D687;0058;0058; +1D688;1D688;1D688;0059;0059; +1D689;1D689;1D689;005A;005A; +1D68A;1D68A;1D68A;0061;0061; +1D68B;1D68B;1D68B;0062;0062; +1D68C;1D68C;1D68C;0063;0063; +1D68D;1D68D;1D68D;0064;0064; +1D68E;1D68E;1D68E;0065;0065; +1D68F;1D68F;1D68F;0066;0066; +1D690;1D690;1D690;0067;0067; +1D691;1D691;1D691;0068;0068; +1D692;1D692;1D692;0069;0069; +1D693;1D693;1D693;006A;006A; +1D694;1D694;1D694;006B;006B; +1D695;1D695;1D695;006C;006C; +1D696;1D696;1D696;006D;006D; +1D697;1D697;1D697;006E;006E; +1D698;1D698;1D698;006F;006F; +1D699;1D699;1D699;0070;0070; +1D69A;1D69A;1D69A;0071;0071; +1D69B;1D69B;1D69B;0072;0072; +1D69C;1D69C;1D69C;0073;0073; +1D69D;1D69D;1D69D;0074;0074; +1D69E;1D69E;1D69E;0075;0075; +1D69F;1D69F;1D69F;0076;0076; +1D6A0;1D6A0;1D6A0;0077;0077; +1D6A1;1D6A1;1D6A1;0078;0078; +1D6A2;1D6A2;1D6A2;0079;0079; +1D6A3;1D6A3;1D6A3;007A;007A; +1D6A4;1D6A4;1D6A4;0131;0131; +1D6A5;1D6A5;1D6A5;0237;0237; +1D6A8;1D6A8;1D6A8;0391;0391; +1D6A9;1D6A9;1D6A9;0392;0392; +1D6AA;1D6AA;1D6AA;0393;0393; +1D6AB;1D6AB;1D6AB;0394;0394; +1D6AC;1D6AC;1D6AC;0395;0395; +1D6AD;1D6AD;1D6AD;0396;0396; +1D6AE;1D6AE;1D6AE;0397;0397; +1D6AF;1D6AF;1D6AF;0398;0398; +1D6B0;1D6B0;1D6B0;0399;0399; +1D6B1;1D6B1;1D6B1;039A;039A; +1D6B2;1D6B2;1D6B2;039B;039B; +1D6B3;1D6B3;1D6B3;039C;039C; +1D6B4;1D6B4;1D6B4;039D;039D; +1D6B5;1D6B5;1D6B5;039E;039E; +1D6B6;1D6B6;1D6B6;039F;039F; +1D6B7;1D6B7;1D6B7;03A0;03A0; +1D6B8;1D6B8;1D6B8;03A1;03A1; +1D6B9;1D6B9;1D6B9;0398;0398; +1D6BA;1D6BA;1D6BA;03A3;03A3; +1D6BB;1D6BB;1D6BB;03A4;03A4; +1D6BC;1D6BC;1D6BC;03A5;03A5; +1D6BD;1D6BD;1D6BD;03A6;03A6; +1D6BE;1D6BE;1D6BE;03A7;03A7; +1D6BF;1D6BF;1D6BF;03A8;03A8; +1D6C0;1D6C0;1D6C0;03A9;03A9; +1D6C1;1D6C1;1D6C1;2207;2207; +1D6C2;1D6C2;1D6C2;03B1;03B1; +1D6C3;1D6C3;1D6C3;03B2;03B2; +1D6C4;1D6C4;1D6C4;03B3;03B3; +1D6C5;1D6C5;1D6C5;03B4;03B4; +1D6C6;1D6C6;1D6C6;03B5;03B5; +1D6C7;1D6C7;1D6C7;03B6;03B6; +1D6C8;1D6C8;1D6C8;03B7;03B7; +1D6C9;1D6C9;1D6C9;03B8;03B8; +1D6CA;1D6CA;1D6CA;03B9;03B9; +1D6CB;1D6CB;1D6CB;03BA;03BA; +1D6CC;1D6CC;1D6CC;03BB;03BB; +1D6CD;1D6CD;1D6CD;03BC;03BC; +1D6CE;1D6CE;1D6CE;03BD;03BD; +1D6CF;1D6CF;1D6CF;03BE;03BE; +1D6D0;1D6D0;1D6D0;03BF;03BF; +1D6D1;1D6D1;1D6D1;03C0;03C0; +1D6D2;1D6D2;1D6D2;03C1;03C1; +1D6D3;1D6D3;1D6D3;03C2;03C2; +1D6D4;1D6D4;1D6D4;03C3;03C3; +1D6D5;1D6D5;1D6D5;03C4;03C4; +1D6D6;1D6D6;1D6D6;03C5;03C5; +1D6D7;1D6D7;1D6D7;03C6;03C6; +1D6D8;1D6D8;1D6D8;03C7;03C7; +1D6D9;1D6D9;1D6D9;03C8;03C8; +1D6DA;1D6DA;1D6DA;03C9;03C9; +1D6DB;1D6DB;1D6DB;2202;2202; +1D6DC;1D6DC;1D6DC;03B5;03B5; +1D6DD;1D6DD;1D6DD;03B8;03B8; +1D6DE;1D6DE;1D6DE;03BA;03BA; +1D6DF;1D6DF;1D6DF;03C6;03C6; +1D6E0;1D6E0;1D6E0;03C1;03C1; +1D6E1;1D6E1;1D6E1;03C0;03C0; +1D6E2;1D6E2;1D6E2;0391;0391; +1D6E3;1D6E3;1D6E3;0392;0392; +1D6E4;1D6E4;1D6E4;0393;0393; +1D6E5;1D6E5;1D6E5;0394;0394; +1D6E6;1D6E6;1D6E6;0395;0395; +1D6E7;1D6E7;1D6E7;0396;0396; +1D6E8;1D6E8;1D6E8;0397;0397; +1D6E9;1D6E9;1D6E9;0398;0398; +1D6EA;1D6EA;1D6EA;0399;0399; +1D6EB;1D6EB;1D6EB;039A;039A; +1D6EC;1D6EC;1D6EC;039B;039B; +1D6ED;1D6ED;1D6ED;039C;039C; +1D6EE;1D6EE;1D6EE;039D;039D; +1D6EF;1D6EF;1D6EF;039E;039E; +1D6F0;1D6F0;1D6F0;039F;039F; +1D6F1;1D6F1;1D6F1;03A0;03A0; +1D6F2;1D6F2;1D6F2;03A1;03A1; +1D6F3;1D6F3;1D6F3;0398;0398; +1D6F4;1D6F4;1D6F4;03A3;03A3; +1D6F5;1D6F5;1D6F5;03A4;03A4; +1D6F6;1D6F6;1D6F6;03A5;03A5; +1D6F7;1D6F7;1D6F7;03A6;03A6; +1D6F8;1D6F8;1D6F8;03A7;03A7; +1D6F9;1D6F9;1D6F9;03A8;03A8; +1D6FA;1D6FA;1D6FA;03A9;03A9; +1D6FB;1D6FB;1D6FB;2207;2207; +1D6FC;1D6FC;1D6FC;03B1;03B1; +1D6FD;1D6FD;1D6FD;03B2;03B2; +1D6FE;1D6FE;1D6FE;03B3;03B3; +1D6FF;1D6FF;1D6FF;03B4;03B4; +1D700;1D700;1D700;03B5;03B5; +1D701;1D701;1D701;03B6;03B6; +1D702;1D702;1D702;03B7;03B7; +1D703;1D703;1D703;03B8;03B8; +1D704;1D704;1D704;03B9;03B9; +1D705;1D705;1D705;03BA;03BA; +1D706;1D706;1D706;03BB;03BB; +1D707;1D707;1D707;03BC;03BC; +1D708;1D708;1D708;03BD;03BD; +1D709;1D709;1D709;03BE;03BE; +1D70A;1D70A;1D70A;03BF;03BF; +1D70B;1D70B;1D70B;03C0;03C0; +1D70C;1D70C;1D70C;03C1;03C1; +1D70D;1D70D;1D70D;03C2;03C2; +1D70E;1D70E;1D70E;03C3;03C3; +1D70F;1D70F;1D70F;03C4;03C4; +1D710;1D710;1D710;03C5;03C5; +1D711;1D711;1D711;03C6;03C6; +1D712;1D712;1D712;03C7;03C7; +1D713;1D713;1D713;03C8;03C8; +1D714;1D714;1D714;03C9;03C9; +1D715;1D715;1D715;2202;2202; +1D716;1D716;1D716;03B5;03B5; +1D717;1D717;1D717;03B8;03B8; +1D718;1D718;1D718;03BA;03BA; +1D719;1D719;1D719;03C6;03C6; +1D71A;1D71A;1D71A;03C1;03C1; +1D71B;1D71B;1D71B;03C0;03C0; +1D71C;1D71C;1D71C;0391;0391; +1D71D;1D71D;1D71D;0392;0392; +1D71E;1D71E;1D71E;0393;0393; +1D71F;1D71F;1D71F;0394;0394; +1D720;1D720;1D720;0395;0395; +1D721;1D721;1D721;0396;0396; +1D722;1D722;1D722;0397;0397; +1D723;1D723;1D723;0398;0398; +1D724;1D724;1D724;0399;0399; +1D725;1D725;1D725;039A;039A; +1D726;1D726;1D726;039B;039B; +1D727;1D727;1D727;039C;039C; +1D728;1D728;1D728;039D;039D; +1D729;1D729;1D729;039E;039E; +1D72A;1D72A;1D72A;039F;039F; +1D72B;1D72B;1D72B;03A0;03A0; +1D72C;1D72C;1D72C;03A1;03A1; +1D72D;1D72D;1D72D;0398;0398; +1D72E;1D72E;1D72E;03A3;03A3; +1D72F;1D72F;1D72F;03A4;03A4; +1D730;1D730;1D730;03A5;03A5; +1D731;1D731;1D731;03A6;03A6; +1D732;1D732;1D732;03A7;03A7; +1D733;1D733;1D733;03A8;03A8; +1D734;1D734;1D734;03A9;03A9; +1D735;1D735;1D735;2207;2207; +1D736;1D736;1D736;03B1;03B1; +1D737;1D737;1D737;03B2;03B2; +1D738;1D738;1D738;03B3;03B3; +1D739;1D739;1D739;03B4;03B4; +1D73A;1D73A;1D73A;03B5;03B5; +1D73B;1D73B;1D73B;03B6;03B6; +1D73C;1D73C;1D73C;03B7;03B7; +1D73D;1D73D;1D73D;03B8;03B8; +1D73E;1D73E;1D73E;03B9;03B9; +1D73F;1D73F;1D73F;03BA;03BA; +1D740;1D740;1D740;03BB;03BB; +1D741;1D741;1D741;03BC;03BC; +1D742;1D742;1D742;03BD;03BD; +1D743;1D743;1D743;03BE;03BE; +1D744;1D744;1D744;03BF;03BF; +1D745;1D745;1D745;03C0;03C0; +1D746;1D746;1D746;03C1;03C1; +1D747;1D747;1D747;03C2;03C2; +1D748;1D748;1D748;03C3;03C3; +1D749;1D749;1D749;03C4;03C4; +1D74A;1D74A;1D74A;03C5;03C5; +1D74B;1D74B;1D74B;03C6;03C6; +1D74C;1D74C;1D74C;03C7;03C7; +1D74D;1D74D;1D74D;03C8;03C8; +1D74E;1D74E;1D74E;03C9;03C9; +1D74F;1D74F;1D74F;2202;2202; +1D750;1D750;1D750;03B5;03B5; +1D751;1D751;1D751;03B8;03B8; +1D752;1D752;1D752;03BA;03BA; +1D753;1D753;1D753;03C6;03C6; +1D754;1D754;1D754;03C1;03C1; +1D755;1D755;1D755;03C0;03C0; +1D756;1D756;1D756;0391;0391; +1D757;1D757;1D757;0392;0392; +1D758;1D758;1D758;0393;0393; +1D759;1D759;1D759;0394;0394; +1D75A;1D75A;1D75A;0395;0395; +1D75B;1D75B;1D75B;0396;0396; +1D75C;1D75C;1D75C;0397;0397; +1D75D;1D75D;1D75D;0398;0398; +1D75E;1D75E;1D75E;0399;0399; +1D75F;1D75F;1D75F;039A;039A; +1D760;1D760;1D760;039B;039B; +1D761;1D761;1D761;039C;039C; +1D762;1D762;1D762;039D;039D; +1D763;1D763;1D763;039E;039E; +1D764;1D764;1D764;039F;039F; +1D765;1D765;1D765;03A0;03A0; +1D766;1D766;1D766;03A1;03A1; +1D767;1D767;1D767;0398;0398; +1D768;1D768;1D768;03A3;03A3; +1D769;1D769;1D769;03A4;03A4; +1D76A;1D76A;1D76A;03A5;03A5; +1D76B;1D76B;1D76B;03A6;03A6; +1D76C;1D76C;1D76C;03A7;03A7; +1D76D;1D76D;1D76D;03A8;03A8; +1D76E;1D76E;1D76E;03A9;03A9; +1D76F;1D76F;1D76F;2207;2207; +1D770;1D770;1D770;03B1;03B1; +1D771;1D771;1D771;03B2;03B2; +1D772;1D772;1D772;03B3;03B3; +1D773;1D773;1D773;03B4;03B4; +1D774;1D774;1D774;03B5;03B5; +1D775;1D775;1D775;03B6;03B6; +1D776;1D776;1D776;03B7;03B7; +1D777;1D777;1D777;03B8;03B8; +1D778;1D778;1D778;03B9;03B9; +1D779;1D779;1D779;03BA;03BA; +1D77A;1D77A;1D77A;03BB;03BB; +1D77B;1D77B;1D77B;03BC;03BC; +1D77C;1D77C;1D77C;03BD;03BD; +1D77D;1D77D;1D77D;03BE;03BE; +1D77E;1D77E;1D77E;03BF;03BF; +1D77F;1D77F;1D77F;03C0;03C0; +1D780;1D780;1D780;03C1;03C1; +1D781;1D781;1D781;03C2;03C2; +1D782;1D782;1D782;03C3;03C3; +1D783;1D783;1D783;03C4;03C4; +1D784;1D784;1D784;03C5;03C5; +1D785;1D785;1D785;03C6;03C6; +1D786;1D786;1D786;03C7;03C7; +1D787;1D787;1D787;03C8;03C8; +1D788;1D788;1D788;03C9;03C9; +1D789;1D789;1D789;2202;2202; +1D78A;1D78A;1D78A;03B5;03B5; +1D78B;1D78B;1D78B;03B8;03B8; +1D78C;1D78C;1D78C;03BA;03BA; +1D78D;1D78D;1D78D;03C6;03C6; +1D78E;1D78E;1D78E;03C1;03C1; +1D78F;1D78F;1D78F;03C0;03C0; +1D790;1D790;1D790;0391;0391; +1D791;1D791;1D791;0392;0392; +1D792;1D792;1D792;0393;0393; +1D793;1D793;1D793;0394;0394; +1D794;1D794;1D794;0395;0395; +1D795;1D795;1D795;0396;0396; +1D796;1D796;1D796;0397;0397; +1D797;1D797;1D797;0398;0398; +1D798;1D798;1D798;0399;0399; +1D799;1D799;1D799;039A;039A; +1D79A;1D79A;1D79A;039B;039B; +1D79B;1D79B;1D79B;039C;039C; +1D79C;1D79C;1D79C;039D;039D; +1D79D;1D79D;1D79D;039E;039E; +1D79E;1D79E;1D79E;039F;039F; +1D79F;1D79F;1D79F;03A0;03A0; +1D7A0;1D7A0;1D7A0;03A1;03A1; +1D7A1;1D7A1;1D7A1;0398;0398; +1D7A2;1D7A2;1D7A2;03A3;03A3; +1D7A3;1D7A3;1D7A3;03A4;03A4; +1D7A4;1D7A4;1D7A4;03A5;03A5; +1D7A5;1D7A5;1D7A5;03A6;03A6; +1D7A6;1D7A6;1D7A6;03A7;03A7; +1D7A7;1D7A7;1D7A7;03A8;03A8; +1D7A8;1D7A8;1D7A8;03A9;03A9; +1D7A9;1D7A9;1D7A9;2207;2207; +1D7AA;1D7AA;1D7AA;03B1;03B1; +1D7AB;1D7AB;1D7AB;03B2;03B2; +1D7AC;1D7AC;1D7AC;03B3;03B3; +1D7AD;1D7AD;1D7AD;03B4;03B4; +1D7AE;1D7AE;1D7AE;03B5;03B5; +1D7AF;1D7AF;1D7AF;03B6;03B6; +1D7B0;1D7B0;1D7B0;03B7;03B7; +1D7B1;1D7B1;1D7B1;03B8;03B8; +1D7B2;1D7B2;1D7B2;03B9;03B9; +1D7B3;1D7B3;1D7B3;03BA;03BA; +1D7B4;1D7B4;1D7B4;03BB;03BB; +1D7B5;1D7B5;1D7B5;03BC;03BC; +1D7B6;1D7B6;1D7B6;03BD;03BD; +1D7B7;1D7B7;1D7B7;03BE;03BE; +1D7B8;1D7B8;1D7B8;03BF;03BF; +1D7B9;1D7B9;1D7B9;03C0;03C0; +1D7BA;1D7BA;1D7BA;03C1;03C1; +1D7BB;1D7BB;1D7BB;03C2;03C2; +1D7BC;1D7BC;1D7BC;03C3;03C3; +1D7BD;1D7BD;1D7BD;03C4;03C4; +1D7BE;1D7BE;1D7BE;03C5;03C5; +1D7BF;1D7BF;1D7BF;03C6;03C6; +1D7C0;1D7C0;1D7C0;03C7;03C7; +1D7C1;1D7C1;1D7C1;03C8;03C8; +1D7C2;1D7C2;1D7C2;03C9;03C9; +1D7C3;1D7C3;1D7C3;2202;2202; +1D7C4;1D7C4;1D7C4;03B5;03B5; +1D7C5;1D7C5;1D7C5;03B8;03B8; +1D7C6;1D7C6;1D7C6;03BA;03BA; +1D7C7;1D7C7;1D7C7;03C6;03C6; +1D7C8;1D7C8;1D7C8;03C1;03C1; +1D7C9;1D7C9;1D7C9;03C0;03C0; +1D7CA;1D7CA;1D7CA;03DC;03DC; +1D7CB;1D7CB;1D7CB;03DD;03DD; +1D7CE;1D7CE;1D7CE;0030;0030; +1D7CF;1D7CF;1D7CF;0031;0031; +1D7D0;1D7D0;1D7D0;0032;0032; +1D7D1;1D7D1;1D7D1;0033;0033; +1D7D2;1D7D2;1D7D2;0034;0034; +1D7D3;1D7D3;1D7D3;0035;0035; +1D7D4;1D7D4;1D7D4;0036;0036; +1D7D5;1D7D5;1D7D5;0037;0037; +1D7D6;1D7D6;1D7D6;0038;0038; +1D7D7;1D7D7;1D7D7;0039;0039; +1D7D8;1D7D8;1D7D8;0030;0030; +1D7D9;1D7D9;1D7D9;0031;0031; +1D7DA;1D7DA;1D7DA;0032;0032; +1D7DB;1D7DB;1D7DB;0033;0033; +1D7DC;1D7DC;1D7DC;0034;0034; +1D7DD;1D7DD;1D7DD;0035;0035; +1D7DE;1D7DE;1D7DE;0036;0036; +1D7DF;1D7DF;1D7DF;0037;0037; +1D7E0;1D7E0;1D7E0;0038;0038; +1D7E1;1D7E1;1D7E1;0039;0039; +1D7E2;1D7E2;1D7E2;0030;0030; +1D7E3;1D7E3;1D7E3;0031;0031; +1D7E4;1D7E4;1D7E4;0032;0032; +1D7E5;1D7E5;1D7E5;0033;0033; +1D7E6;1D7E6;1D7E6;0034;0034; +1D7E7;1D7E7;1D7E7;0035;0035; +1D7E8;1D7E8;1D7E8;0036;0036; +1D7E9;1D7E9;1D7E9;0037;0037; +1D7EA;1D7EA;1D7EA;0038;0038; +1D7EB;1D7EB;1D7EB;0039;0039; +1D7EC;1D7EC;1D7EC;0030;0030; +1D7ED;1D7ED;1D7ED;0031;0031; +1D7EE;1D7EE;1D7EE;0032;0032; +1D7EF;1D7EF;1D7EF;0033;0033; +1D7F0;1D7F0;1D7F0;0034;0034; +1D7F1;1D7F1;1D7F1;0035;0035; +1D7F2;1D7F2;1D7F2;0036;0036; +1D7F3;1D7F3;1D7F3;0037;0037; +1D7F4;1D7F4;1D7F4;0038;0038; +1D7F5;1D7F5;1D7F5;0039;0039; +1D7F6;1D7F6;1D7F6;0030;0030; +1D7F7;1D7F7;1D7F7;0031;0031; +1D7F8;1D7F8;1D7F8;0032;0032; +1D7F9;1D7F9;1D7F9;0033;0033; +1D7FA;1D7FA;1D7FA;0034;0034; +1D7FB;1D7FB;1D7FB;0035;0035; +1D7FC;1D7FC;1D7FC;0036;0036; +1D7FD;1D7FD;1D7FD;0037;0037; +1D7FE;1D7FE;1D7FE;0038;0038; +1D7FF;1D7FF;1D7FF;0039;0039; +2F800;4E3D;4E3D;4E3D;4E3D; +2F801;4E38;4E38;4E38;4E38; +2F802;4E41;4E41;4E41;4E41; +2F803;20122;20122;20122;20122; +2F804;4F60;4F60;4F60;4F60; +2F805;4FAE;4FAE;4FAE;4FAE; +2F806;4FBB;4FBB;4FBB;4FBB; +2F807;5002;5002;5002;5002; +2F808;507A;507A;507A;507A; +2F809;5099;5099;5099;5099; +2F80A;50E7;50E7;50E7;50E7; +2F80B;50CF;50CF;50CF;50CF; +2F80C;349E;349E;349E;349E; +2F80D;2063A;2063A;2063A;2063A; +2F80E;514D;514D;514D;514D; +2F80F;5154;5154;5154;5154; +2F810;5164;5164;5164;5164; +2F811;5177;5177;5177;5177; +2F812;2051C;2051C;2051C;2051C; +2F813;34B9;34B9;34B9;34B9; +2F814;5167;5167;5167;5167; +2F815;518D;518D;518D;518D; +2F816;2054B;2054B;2054B;2054B; +2F817;5197;5197;5197;5197; +2F818;51A4;51A4;51A4;51A4; +2F819;4ECC;4ECC;4ECC;4ECC; +2F81A;51AC;51AC;51AC;51AC; +2F81B;51B5;51B5;51B5;51B5; +2F81C;291DF;291DF;291DF;291DF; +2F81D;51F5;51F5;51F5;51F5; +2F81E;5203;5203;5203;5203; +2F81F;34DF;34DF;34DF;34DF; +2F820;523B;523B;523B;523B; +2F821;5246;5246;5246;5246; +2F822;5272;5272;5272;5272; +2F823;5277;5277;5277;5277; +2F824;3515;3515;3515;3515; +2F825;52C7;52C7;52C7;52C7; +2F826;52C9;52C9;52C9;52C9; +2F827;52E4;52E4;52E4;52E4; +2F828;52FA;52FA;52FA;52FA; +2F829;5305;5305;5305;5305; +2F82A;5306;5306;5306;5306; +2F82B;5317;5317;5317;5317; +2F82C;5349;5349;5349;5349; +2F82D;5351;5351;5351;5351; +2F82E;535A;535A;535A;535A; +2F82F;5373;5373;5373;5373; +2F830;537D;537D;537D;537D; +2F831;537F;537F;537F;537F; +2F832;537F;537F;537F;537F; +2F833;537F;537F;537F;537F; +2F834;20A2C;20A2C;20A2C;20A2C; +2F835;7070;7070;7070;7070; +2F836;53CA;53CA;53CA;53CA; +2F837;53DF;53DF;53DF;53DF; +2F838;20B63;20B63;20B63;20B63; +2F839;53EB;53EB;53EB;53EB; +2F83A;53F1;53F1;53F1;53F1; +2F83B;5406;5406;5406;5406; +2F83C;549E;549E;549E;549E; +2F83D;5438;5438;5438;5438; +2F83E;5448;5448;5448;5448; +2F83F;5468;5468;5468;5468; +2F840;54A2;54A2;54A2;54A2; +2F841;54F6;54F6;54F6;54F6; +2F842;5510;5510;5510;5510; +2F843;5553;5553;5553;5553; +2F844;5563;5563;5563;5563; +2F845;5584;5584;5584;5584; +2F846;5584;5584;5584;5584; +2F847;5599;5599;5599;5599; +2F848;55AB;55AB;55AB;55AB; +2F849;55B3;55B3;55B3;55B3; +2F84A;55C2;55C2;55C2;55C2; +2F84B;5716;5716;5716;5716; +2F84C;5606;5606;5606;5606; +2F84D;5717;5717;5717;5717; +2F84E;5651;5651;5651;5651; +2F84F;5674;5674;5674;5674; +2F850;5207;5207;5207;5207; +2F851;58EE;58EE;58EE;58EE; +2F852;57CE;57CE;57CE;57CE; +2F853;57F4;57F4;57F4;57F4; +2F854;580D;580D;580D;580D; +2F855;578B;578B;578B;578B; +2F856;5832;5832;5832;5832; +2F857;5831;5831;5831;5831; +2F858;58AC;58AC;58AC;58AC; +2F859;214E4;214E4;214E4;214E4; +2F85A;58F2;58F2;58F2;58F2; +2F85B;58F7;58F7;58F7;58F7; +2F85C;5906;5906;5906;5906; +2F85D;591A;591A;591A;591A; +2F85E;5922;5922;5922;5922; +2F85F;5962;5962;5962;5962; +2F860;216A8;216A8;216A8;216A8; +2F861;216EA;216EA;216EA;216EA; +2F862;59EC;59EC;59EC;59EC; +2F863;5A1B;5A1B;5A1B;5A1B; +2F864;5A27;5A27;5A27;5A27; +2F865;59D8;59D8;59D8;59D8; +2F866;5A66;5A66;5A66;5A66; +2F867;36EE;36EE;36EE;36EE; +2F868;36FC;36FC;36FC;36FC; +2F869;5B08;5B08;5B08;5B08; +2F86A;5B3E;5B3E;5B3E;5B3E; +2F86B;5B3E;5B3E;5B3E;5B3E; +2F86C;219C8;219C8;219C8;219C8; +2F86D;5BC3;5BC3;5BC3;5BC3; +2F86E;5BD8;5BD8;5BD8;5BD8; +2F86F;5BE7;5BE7;5BE7;5BE7; +2F870;5BF3;5BF3;5BF3;5BF3; +2F871;21B18;21B18;21B18;21B18; +2F872;5BFF;5BFF;5BFF;5BFF; +2F873;5C06;5C06;5C06;5C06; +2F874;5F53;5F53;5F53;5F53; +2F875;5C22;5C22;5C22;5C22; +2F876;3781;3781;3781;3781; +2F877;5C60;5C60;5C60;5C60; +2F878;5C6E;5C6E;5C6E;5C6E; +2F879;5CC0;5CC0;5CC0;5CC0; +2F87A;5C8D;5C8D;5C8D;5C8D; +2F87B;21DE4;21DE4;21DE4;21DE4; +2F87C;5D43;5D43;5D43;5D43; +2F87D;21DE6;21DE6;21DE6;21DE6; +2F87E;5D6E;5D6E;5D6E;5D6E; +2F87F;5D6B;5D6B;5D6B;5D6B; +2F880;5D7C;5D7C;5D7C;5D7C; +2F881;5DE1;5DE1;5DE1;5DE1; +2F882;5DE2;5DE2;5DE2;5DE2; +2F883;382F;382F;382F;382F; +2F884;5DFD;5DFD;5DFD;5DFD; +2F885;5E28;5E28;5E28;5E28; +2F886;5E3D;5E3D;5E3D;5E3D; +2F887;5E69;5E69;5E69;5E69; +2F888;3862;3862;3862;3862; +2F889;22183;22183;22183;22183; +2F88A;387C;387C;387C;387C; +2F88B;5EB0;5EB0;5EB0;5EB0; +2F88C;5EB3;5EB3;5EB3;5EB3; +2F88D;5EB6;5EB6;5EB6;5EB6; +2F88E;5ECA;5ECA;5ECA;5ECA; +2F88F;2A392;2A392;2A392;2A392; +2F890;5EFE;5EFE;5EFE;5EFE; +2F891;22331;22331;22331;22331; +2F892;22331;22331;22331;22331; +2F893;8201;8201;8201;8201; +2F894;5F22;5F22;5F22;5F22; +2F895;5F22;5F22;5F22;5F22; +2F896;38C7;38C7;38C7;38C7; +2F897;232B8;232B8;232B8;232B8; +2F898;261DA;261DA;261DA;261DA; +2F899;5F62;5F62;5F62;5F62; +2F89A;5F6B;5F6B;5F6B;5F6B; +2F89B;38E3;38E3;38E3;38E3; +2F89C;5F9A;5F9A;5F9A;5F9A; +2F89D;5FCD;5FCD;5FCD;5FCD; +2F89E;5FD7;5FD7;5FD7;5FD7; +2F89F;5FF9;5FF9;5FF9;5FF9; +2F8A0;6081;6081;6081;6081; +2F8A1;393A;393A;393A;393A; +2F8A2;391C;391C;391C;391C; +2F8A3;6094;6094;6094;6094; +2F8A4;226D4;226D4;226D4;226D4; +2F8A5;60C7;60C7;60C7;60C7; +2F8A6;6148;6148;6148;6148; +2F8A7;614C;614C;614C;614C; +2F8A8;614E;614E;614E;614E; +2F8A9;614C;614C;614C;614C; +2F8AA;617A;617A;617A;617A; +2F8AB;618E;618E;618E;618E; +2F8AC;61B2;61B2;61B2;61B2; +2F8AD;61A4;61A4;61A4;61A4; +2F8AE;61AF;61AF;61AF;61AF; +2F8AF;61DE;61DE;61DE;61DE; +2F8B0;61F2;61F2;61F2;61F2; +2F8B1;61F6;61F6;61F6;61F6; +2F8B2;6210;6210;6210;6210; +2F8B3;621B;621B;621B;621B; +2F8B4;625D;625D;625D;625D; +2F8B5;62B1;62B1;62B1;62B1; +2F8B6;62D4;62D4;62D4;62D4; +2F8B7;6350;6350;6350;6350; +2F8B8;22B0C;22B0C;22B0C;22B0C; +2F8B9;633D;633D;633D;633D; +2F8BA;62FC;62FC;62FC;62FC; +2F8BB;6368;6368;6368;6368; +2F8BC;6383;6383;6383;6383; +2F8BD;63E4;63E4;63E4;63E4; +2F8BE;22BF1;22BF1;22BF1;22BF1; +2F8BF;6422;6422;6422;6422; +2F8C0;63C5;63C5;63C5;63C5; +2F8C1;63A9;63A9;63A9;63A9; +2F8C2;3A2E;3A2E;3A2E;3A2E; +2F8C3;6469;6469;6469;6469; +2F8C4;647E;647E;647E;647E; +2F8C5;649D;649D;649D;649D; +2F8C6;6477;6477;6477;6477; +2F8C7;3A6C;3A6C;3A6C;3A6C; +2F8C8;654F;654F;654F;654F; +2F8C9;656C;656C;656C;656C; +2F8CA;2300A;2300A;2300A;2300A; +2F8CB;65E3;65E3;65E3;65E3; +2F8CC;66F8;66F8;66F8;66F8; +2F8CD;6649;6649;6649;6649; +2F8CE;3B19;3B19;3B19;3B19; +2F8CF;6691;6691;6691;6691; +2F8D0;3B08;3B08;3B08;3B08; +2F8D1;3AE4;3AE4;3AE4;3AE4; +2F8D2;5192;5192;5192;5192; +2F8D3;5195;5195;5195;5195; +2F8D4;6700;6700;6700;6700; +2F8D5;669C;669C;669C;669C; +2F8D6;80AD;80AD;80AD;80AD; +2F8D7;43D9;43D9;43D9;43D9; +2F8D8;6717;6717;6717;6717; +2F8D9;671B;671B;671B;671B; +2F8DA;6721;6721;6721;6721; +2F8DB;675E;675E;675E;675E; +2F8DC;6753;6753;6753;6753; +2F8DD;233C3;233C3;233C3;233C3; +2F8DE;3B49;3B49;3B49;3B49; +2F8DF;67FA;67FA;67FA;67FA; +2F8E0;6785;6785;6785;6785; +2F8E1;6852;6852;6852;6852; +2F8E2;6885;6885;6885;6885; +2F8E3;2346D;2346D;2346D;2346D; +2F8E4;688E;688E;688E;688E; +2F8E5;681F;681F;681F;681F; +2F8E6;6914;6914;6914;6914; +2F8E7;3B9D;3B9D;3B9D;3B9D; +2F8E8;6942;6942;6942;6942; +2F8E9;69A3;69A3;69A3;69A3; +2F8EA;69EA;69EA;69EA;69EA; +2F8EB;6AA8;6AA8;6AA8;6AA8; +2F8EC;236A3;236A3;236A3;236A3; +2F8ED;6ADB;6ADB;6ADB;6ADB; +2F8EE;3C18;3C18;3C18;3C18; +2F8EF;6B21;6B21;6B21;6B21; +2F8F0;238A7;238A7;238A7;238A7; +2F8F1;6B54;6B54;6B54;6B54; +2F8F2;3C4E;3C4E;3C4E;3C4E; +2F8F3;6B72;6B72;6B72;6B72; +2F8F4;6B9F;6B9F;6B9F;6B9F; +2F8F5;6BBA;6BBA;6BBA;6BBA; +2F8F6;6BBB;6BBB;6BBB;6BBB; +2F8F7;23A8D;23A8D;23A8D;23A8D; +2F8F8;21D0B;21D0B;21D0B;21D0B; +2F8F9;23AFA;23AFA;23AFA;23AFA; +2F8FA;6C4E;6C4E;6C4E;6C4E; +2F8FB;23CBC;23CBC;23CBC;23CBC; +2F8FC;6CBF;6CBF;6CBF;6CBF; +2F8FD;6CCD;6CCD;6CCD;6CCD; +2F8FE;6C67;6C67;6C67;6C67; +2F8FF;6D16;6D16;6D16;6D16; +2F900;6D3E;6D3E;6D3E;6D3E; +2F901;6D77;6D77;6D77;6D77; +2F902;6D41;6D41;6D41;6D41; +2F903;6D69;6D69;6D69;6D69; +2F904;6D78;6D78;6D78;6D78; +2F905;6D85;6D85;6D85;6D85; +2F906;23D1E;23D1E;23D1E;23D1E; +2F907;6D34;6D34;6D34;6D34; +2F908;6E2F;6E2F;6E2F;6E2F; +2F909;6E6E;6E6E;6E6E;6E6E; +2F90A;3D33;3D33;3D33;3D33; +2F90B;6ECB;6ECB;6ECB;6ECB; +2F90C;6EC7;6EC7;6EC7;6EC7; +2F90D;23ED1;23ED1;23ED1;23ED1; +2F90E;6DF9;6DF9;6DF9;6DF9; +2F90F;6F6E;6F6E;6F6E;6F6E; +2F910;23F5E;23F5E;23F5E;23F5E; +2F911;23F8E;23F8E;23F8E;23F8E; +2F912;6FC6;6FC6;6FC6;6FC6; +2F913;7039;7039;7039;7039; +2F914;701E;701E;701E;701E; +2F915;701B;701B;701B;701B; +2F916;3D96;3D96;3D96;3D96; +2F917;704A;704A;704A;704A; +2F918;707D;707D;707D;707D; +2F919;7077;7077;7077;7077; +2F91A;70AD;70AD;70AD;70AD; +2F91B;20525;20525;20525;20525; +2F91C;7145;7145;7145;7145; +2F91D;24263;24263;24263;24263; +2F91E;719C;719C;719C;719C; +2F91F;243AB;243AB;243AB;243AB; +2F920;7228;7228;7228;7228; +2F921;7235;7235;7235;7235; +2F922;7250;7250;7250;7250; +2F923;24608;24608;24608;24608; +2F924;7280;7280;7280;7280; +2F925;7295;7295;7295;7295; +2F926;24735;24735;24735;24735; +2F927;24814;24814;24814;24814; +2F928;737A;737A;737A;737A; +2F929;738B;738B;738B;738B; +2F92A;3EAC;3EAC;3EAC;3EAC; +2F92B;73A5;73A5;73A5;73A5; +2F92C;3EB8;3EB8;3EB8;3EB8; +2F92D;3EB8;3EB8;3EB8;3EB8; +2F92E;7447;7447;7447;7447; +2F92F;745C;745C;745C;745C; +2F930;7471;7471;7471;7471; +2F931;7485;7485;7485;7485; +2F932;74CA;74CA;74CA;74CA; +2F933;3F1B;3F1B;3F1B;3F1B; +2F934;7524;7524;7524;7524; +2F935;24C36;24C36;24C36;24C36; +2F936;753E;753E;753E;753E; +2F937;24C92;24C92;24C92;24C92; +2F938;7570;7570;7570;7570; +2F939;2219F;2219F;2219F;2219F; +2F93A;7610;7610;7610;7610; +2F93B;24FA1;24FA1;24FA1;24FA1; +2F93C;24FB8;24FB8;24FB8;24FB8; +2F93D;25044;25044;25044;25044; +2F93E;3FFC;3FFC;3FFC;3FFC; +2F93F;4008;4008;4008;4008; +2F940;76F4;76F4;76F4;76F4; +2F941;250F3;250F3;250F3;250F3; +2F942;250F2;250F2;250F2;250F2; +2F943;25119;25119;25119;25119; +2F944;25133;25133;25133;25133; +2F945;771E;771E;771E;771E; +2F946;771F;771F;771F;771F; +2F947;771F;771F;771F;771F; +2F948;774A;774A;774A;774A; +2F949;4039;4039;4039;4039; +2F94A;778B;778B;778B;778B; +2F94B;4046;4046;4046;4046; +2F94C;4096;4096;4096;4096; +2F94D;2541D;2541D;2541D;2541D; +2F94E;784E;784E;784E;784E; +2F94F;788C;788C;788C;788C; +2F950;78CC;78CC;78CC;78CC; +2F951;40E3;40E3;40E3;40E3; +2F952;25626;25626;25626;25626; +2F953;7956;7956;7956;7956; +2F954;2569A;2569A;2569A;2569A; +2F955;256C5;256C5;256C5;256C5; +2F956;798F;798F;798F;798F; +2F957;79EB;79EB;79EB;79EB; +2F958;412F;412F;412F;412F; +2F959;7A40;7A40;7A40;7A40; +2F95A;7A4A;7A4A;7A4A;7A4A; +2F95B;7A4F;7A4F;7A4F;7A4F; +2F95C;2597C;2597C;2597C;2597C; +2F95D;25AA7;25AA7;25AA7;25AA7; +2F95E;25AA7;25AA7;25AA7;25AA7; +2F95F;7AEE;7AEE;7AEE;7AEE; +2F960;4202;4202;4202;4202; +2F961;25BAB;25BAB;25BAB;25BAB; +2F962;7BC6;7BC6;7BC6;7BC6; +2F963;7BC9;7BC9;7BC9;7BC9; +2F964;4227;4227;4227;4227; +2F965;25C80;25C80;25C80;25C80; +2F966;7CD2;7CD2;7CD2;7CD2; +2F967;42A0;42A0;42A0;42A0; +2F968;7CE8;7CE8;7CE8;7CE8; +2F969;7CE3;7CE3;7CE3;7CE3; +2F96A;7D00;7D00;7D00;7D00; +2F96B;25F86;25F86;25F86;25F86; +2F96C;7D63;7D63;7D63;7D63; +2F96D;4301;4301;4301;4301; +2F96E;7DC7;7DC7;7DC7;7DC7; +2F96F;7E02;7E02;7E02;7E02; +2F970;7E45;7E45;7E45;7E45; +2F971;4334;4334;4334;4334; +2F972;26228;26228;26228;26228; +2F973;26247;26247;26247;26247; +2F974;4359;4359;4359;4359; +2F975;262D9;262D9;262D9;262D9; +2F976;7F7A;7F7A;7F7A;7F7A; +2F977;2633E;2633E;2633E;2633E; +2F978;7F95;7F95;7F95;7F95; +2F979;7FFA;7FFA;7FFA;7FFA; +2F97A;8005;8005;8005;8005; +2F97B;264DA;264DA;264DA;264DA; +2F97C;26523;26523;26523;26523; +2F97D;8060;8060;8060;8060; +2F97E;265A8;265A8;265A8;265A8; +2F97F;8070;8070;8070;8070; +2F980;2335F;2335F;2335F;2335F; +2F981;43D5;43D5;43D5;43D5; +2F982;80B2;80B2;80B2;80B2; +2F983;8103;8103;8103;8103; +2F984;440B;440B;440B;440B; +2F985;813E;813E;813E;813E; +2F986;5AB5;5AB5;5AB5;5AB5; +2F987;267A7;267A7;267A7;267A7; +2F988;267B5;267B5;267B5;267B5; +2F989;23393;23393;23393;23393; +2F98A;2339C;2339C;2339C;2339C; +2F98B;8201;8201;8201;8201; +2F98C;8204;8204;8204;8204; +2F98D;8F9E;8F9E;8F9E;8F9E; +2F98E;446B;446B;446B;446B; +2F98F;8291;8291;8291;8291; +2F990;828B;828B;828B;828B; +2F991;829D;829D;829D;829D; +2F992;52B3;52B3;52B3;52B3; +2F993;82B1;82B1;82B1;82B1; +2F994;82B3;82B3;82B3;82B3; +2F995;82BD;82BD;82BD;82BD; +2F996;82E6;82E6;82E6;82E6; +2F997;26B3C;26B3C;26B3C;26B3C; +2F998;82E5;82E5;82E5;82E5; +2F999;831D;831D;831D;831D; +2F99A;8363;8363;8363;8363; +2F99B;83AD;83AD;83AD;83AD; +2F99C;8323;8323;8323;8323; +2F99D;83BD;83BD;83BD;83BD; +2F99E;83E7;83E7;83E7;83E7; +2F99F;8457;8457;8457;8457; +2F9A0;8353;8353;8353;8353; +2F9A1;83CA;83CA;83CA;83CA; +2F9A2;83CC;83CC;83CC;83CC; +2F9A3;83DC;83DC;83DC;83DC; +2F9A4;26C36;26C36;26C36;26C36; +2F9A5;26D6B;26D6B;26D6B;26D6B; +2F9A6;26CD5;26CD5;26CD5;26CD5; +2F9A7;452B;452B;452B;452B; +2F9A8;84F1;84F1;84F1;84F1; +2F9A9;84F3;84F3;84F3;84F3; +2F9AA;8516;8516;8516;8516; +2F9AB;273CA;273CA;273CA;273CA; +2F9AC;8564;8564;8564;8564; +2F9AD;26F2C;26F2C;26F2C;26F2C; +2F9AE;455D;455D;455D;455D; +2F9AF;4561;4561;4561;4561; +2F9B0;26FB1;26FB1;26FB1;26FB1; +2F9B1;270D2;270D2;270D2;270D2; +2F9B2;456B;456B;456B;456B; +2F9B3;8650;8650;8650;8650; +2F9B4;865C;865C;865C;865C; +2F9B5;8667;8667;8667;8667; +2F9B6;8669;8669;8669;8669; +2F9B7;86A9;86A9;86A9;86A9; +2F9B8;8688;8688;8688;8688; +2F9B9;870E;870E;870E;870E; +2F9BA;86E2;86E2;86E2;86E2; +2F9BB;8779;8779;8779;8779; +2F9BC;8728;8728;8728;8728; +2F9BD;876B;876B;876B;876B; +2F9BE;8786;8786;8786;8786; +2F9BF;45D7;45D7;45D7;45D7; +2F9C0;87E1;87E1;87E1;87E1; +2F9C1;8801;8801;8801;8801; +2F9C2;45F9;45F9;45F9;45F9; +2F9C3;8860;8860;8860;8860; +2F9C4;8863;8863;8863;8863; +2F9C5;27667;27667;27667;27667; +2F9C6;88D7;88D7;88D7;88D7; +2F9C7;88DE;88DE;88DE;88DE; +2F9C8;4635;4635;4635;4635; +2F9C9;88FA;88FA;88FA;88FA; +2F9CA;34BB;34BB;34BB;34BB; +2F9CB;278AE;278AE;278AE;278AE; +2F9CC;27966;27966;27966;27966; +2F9CD;46BE;46BE;46BE;46BE; +2F9CE;46C7;46C7;46C7;46C7; +2F9CF;8AA0;8AA0;8AA0;8AA0; +2F9D0;8AED;8AED;8AED;8AED; +2F9D1;8B8A;8B8A;8B8A;8B8A; +2F9D2;8C55;8C55;8C55;8C55; +2F9D3;27CA8;27CA8;27CA8;27CA8; +2F9D4;8CAB;8CAB;8CAB;8CAB; +2F9D5;8CC1;8CC1;8CC1;8CC1; +2F9D6;8D1B;8D1B;8D1B;8D1B; +2F9D7;8D77;8D77;8D77;8D77; +2F9D8;27F2F;27F2F;27F2F;27F2F; +2F9D9;20804;20804;20804;20804; +2F9DA;8DCB;8DCB;8DCB;8DCB; +2F9DB;8DBC;8DBC;8DBC;8DBC; +2F9DC;8DF0;8DF0;8DF0;8DF0; +2F9DD;208DE;208DE;208DE;208DE; +2F9DE;8ED4;8ED4;8ED4;8ED4; +2F9DF;8F38;8F38;8F38;8F38; +2F9E0;285D2;285D2;285D2;285D2; +2F9E1;285ED;285ED;285ED;285ED; +2F9E2;9094;9094;9094;9094; +2F9E3;90F1;90F1;90F1;90F1; +2F9E4;9111;9111;9111;9111; +2F9E5;2872E;2872E;2872E;2872E; +2F9E6;911B;911B;911B;911B; +2F9E7;9238;9238;9238;9238; +2F9E8;92D7;92D7;92D7;92D7; +2F9E9;92D8;92D8;92D8;92D8; +2F9EA;927C;927C;927C;927C; +2F9EB;93F9;93F9;93F9;93F9; +2F9EC;9415;9415;9415;9415; +2F9ED;28BFA;28BFA;28BFA;28BFA; +2F9EE;958B;958B;958B;958B; +2F9EF;4995;4995;4995;4995; +2F9F0;95B7;95B7;95B7;95B7; +2F9F1;28D77;28D77;28D77;28D77; +2F9F2;49E6;49E6;49E6;49E6; +2F9F3;96C3;96C3;96C3;96C3; +2F9F4;5DB2;5DB2;5DB2;5DB2; +2F9F5;9723;9723;9723;9723; +2F9F6;29145;29145;29145;29145; +2F9F7;2921A;2921A;2921A;2921A; +2F9F8;4A6E;4A6E;4A6E;4A6E; +2F9F9;4A76;4A76;4A76;4A76; +2F9FA;97E0;97E0;97E0;97E0; +2F9FB;2940A;2940A;2940A;2940A; +2F9FC;4AB2;4AB2;4AB2;4AB2; +2F9FD;29496;29496;29496;29496; +2F9FE;980B;980B;980B;980B; +2F9FF;980B;980B;980B;980B; +2FA00;9829;9829;9829;9829; +2FA01;295B6;295B6;295B6;295B6; +2FA02;98E2;98E2;98E2;98E2; +2FA03;4B33;4B33;4B33;4B33; +2FA04;9929;9929;9929;9929; +2FA05;99A7;99A7;99A7;99A7; +2FA06;99C2;99C2;99C2;99C2; +2FA07;99FE;99FE;99FE;99FE; +2FA08;4BCE;4BCE;4BCE;4BCE; +2FA09;29B30;29B30;29B30;29B30; +2FA0A;9B12;9B12;9B12;9B12; +2FA0B;9C40;9C40;9C40;9C40; +2FA0C;9CFD;9CFD;9CFD;9CFD; +2FA0D;4CCE;4CCE;4CCE;4CCE; +2FA0E;4CED;4CED;4CED;4CED; +2FA0F;9D67;9D67;9D67;9D67; +2FA10;2A0CE;2A0CE;2A0CE;2A0CE; +2FA11;4CF8;4CF8;4CF8;4CF8; +2FA12;2A105;2A105;2A105;2A105; +2FA13;2A20E;2A20E;2A20E;2A20E; +2FA14;2A291;2A291;2A291;2A291; +2FA15;9EBB;9EBB;9EBB;9EBB; +2FA16;4D56;4D56;4D56;4D56; +2FA17;9EF9;9EF9;9EF9;9EF9; +2FA18;9EFE;9EFE;9EFE;9EFE; +2FA19;9F05;9F05;9F05;9F05; +2FA1A;9F0F;9F0F;9F0F;9F0F; +2FA1B;9F16;9F16;9F16;9F16; +2FA1C;9F3B;9F3B;9F3B;9F3B; +2FA1D;2A600;2A600;2A600;2A600; + +@Part2 + +0061 0315 0300 05AE 0300 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062; +0061 0300 0315 0300 05AE 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062; +0061 0315 0300 05AE 0301 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062; +0061 0301 0315 0300 05AE 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062; +0061 0315 0300 05AE 0302 0062;00E0 05AE 0302 0315 0062;0061 05AE 0300 0302 0315 0062;00E0 05AE 0302 0315 0062;0061 05AE 0300 0302 0315 0062; +0061 0302 0315 0300 05AE 0062;1EA7 05AE 0315 0062;0061 05AE 0302 0300 0315 0062;1EA7 05AE 0315 0062;0061 05AE 0302 0300 0315 0062; +0061 0315 0300 05AE 0303 0062;00E0 05AE 0303 0315 0062;0061 05AE 0300 0303 0315 0062;00E0 05AE 0303 0315 0062;0061 05AE 0300 0303 0315 0062; +0061 0303 0315 0300 05AE 0062;00E3 05AE 0300 0315 0062;0061 05AE 0303 0300 0315 0062;00E3 05AE 0300 0315 0062;0061 05AE 0303 0300 0315 0062; +0061 0315 0300 05AE 0304 0062;00E0 05AE 0304 0315 0062;0061 05AE 0300 0304 0315 0062;00E0 05AE 0304 0315 0062;0061 05AE 0300 0304 0315 0062; +0061 0304 0315 0300 05AE 0062;0101 05AE 0300 0315 0062;0061 05AE 0304 0300 0315 0062;0101 05AE 0300 0315 0062;0061 05AE 0304 0300 0315 0062; +0061 0315 0300 05AE 0305 0062;00E0 05AE 0305 0315 0062;0061 05AE 0300 0305 0315 0062;00E0 05AE 0305 0315 0062;0061 05AE 0300 0305 0315 0062; +0061 0305 0315 0300 05AE 0062;0061 05AE 0305 0300 0315 0062;0061 05AE 0305 0300 0315 0062;0061 05AE 0305 0300 0315 0062;0061 05AE 0305 0300 0315 0062; +0061 0315 0300 05AE 0306 0062;00E0 05AE 0306 0315 0062;0061 05AE 0300 0306 0315 0062;00E0 05AE 0306 0315 0062;0061 05AE 0300 0306 0315 0062; +0061 0306 0315 0300 05AE 0062;1EB1 05AE 0315 0062;0061 05AE 0306 0300 0315 0062;1EB1 05AE 0315 0062;0061 05AE 0306 0300 0315 0062; +0061 0315 0300 05AE 0307 0062;00E0 05AE 0307 0315 0062;0061 05AE 0300 0307 0315 0062;00E0 05AE 0307 0315 0062;0061 05AE 0300 0307 0315 0062; +0061 0307 0315 0300 05AE 0062;0227 05AE 0300 0315 0062;0061 05AE 0307 0300 0315 0062;0227 05AE 0300 0315 0062;0061 05AE 0307 0300 0315 0062; +0061 0315 0300 05AE 0308 0062;00E0 05AE 0308 0315 0062;0061 05AE 0300 0308 0315 0062;00E0 05AE 0308 0315 0062;0061 05AE 0300 0308 0315 0062; +0061 0308 0315 0300 05AE 0062;00E4 05AE 0300 0315 0062;0061 05AE 0308 0300 0315 0062;00E4 05AE 0300 0315 0062;0061 05AE 0308 0300 0315 0062; +0061 0315 0300 05AE 0309 0062;00E0 05AE 0309 0315 0062;0061 05AE 0300 0309 0315 0062;00E0 05AE 0309 0315 0062;0061 05AE 0300 0309 0315 0062; +0061 0309 0315 0300 05AE 0062;1EA3 05AE 0300 0315 0062;0061 05AE 0309 0300 0315 0062;1EA3 05AE 0300 0315 0062;0061 05AE 0309 0300 0315 0062; +0061 0315 0300 05AE 030A 0062;00E0 05AE 030A 0315 0062;0061 05AE 0300 030A 0315 0062;00E0 05AE 030A 0315 0062;0061 05AE 0300 030A 0315 0062; +0061 030A 0315 0300 05AE 0062;00E5 05AE 0300 0315 0062;0061 05AE 030A 0300 0315 0062;00E5 05AE 0300 0315 0062;0061 05AE 030A 0300 0315 0062; +0061 0315 0300 05AE 030B 0062;00E0 05AE 030B 0315 0062;0061 05AE 0300 030B 0315 0062;00E0 05AE 030B 0315 0062;0061 05AE 0300 030B 0315 0062; +0061 030B 0315 0300 05AE 0062;0061 05AE 030B 0300 0315 0062;0061 05AE 030B 0300 0315 0062;0061 05AE 030B 0300 0315 0062;0061 05AE 030B 0300 0315 0062; +0061 0315 0300 05AE 030C 0062;00E0 05AE 030C 0315 0062;0061 05AE 0300 030C 0315 0062;00E0 05AE 030C 0315 0062;0061 05AE 0300 030C 0315 0062; +0061 030C 0315 0300 05AE 0062;01CE 05AE 0300 0315 0062;0061 05AE 030C 0300 0315 0062;01CE 05AE 0300 0315 0062;0061 05AE 030C 0300 0315 0062; +0061 0315 0300 05AE 030D 0062;00E0 05AE 030D 0315 0062;0061 05AE 0300 030D 0315 0062;00E0 05AE 030D 0315 0062;0061 05AE 0300 030D 0315 0062; +0061 030D 0315 0300 05AE 0062;0061 05AE 030D 0300 0315 0062;0061 05AE 030D 0300 0315 0062;0061 05AE 030D 0300 0315 0062;0061 05AE 030D 0300 0315 0062; +0061 0315 0300 05AE 030E 0062;00E0 05AE 030E 0315 0062;0061 05AE 0300 030E 0315 0062;00E0 05AE 030E 0315 0062;0061 05AE 0300 030E 0315 0062; +0061 030E 0315 0300 05AE 0062;0061 05AE 030E 0300 0315 0062;0061 05AE 030E 0300 0315 0062;0061 05AE 030E 0300 0315 0062;0061 05AE 030E 0300 0315 0062; +0061 0315 0300 05AE 030F 0062;00E0 05AE 030F 0315 0062;0061 05AE 0300 030F 0315 0062;00E0 05AE 030F 0315 0062;0061 05AE 0300 030F 0315 0062; +0061 030F 0315 0300 05AE 0062;0201 05AE 0300 0315 0062;0061 05AE 030F 0300 0315 0062;0201 05AE 0300 0315 0062;0061 05AE 030F 0300 0315 0062; +0061 0315 0300 05AE 0310 0062;00E0 05AE 0310 0315 0062;0061 05AE 0300 0310 0315 0062;00E0 05AE 0310 0315 0062;0061 05AE 0300 0310 0315 0062; +0061 0310 0315 0300 05AE 0062;0061 05AE 0310 0300 0315 0062;0061 05AE 0310 0300 0315 0062;0061 05AE 0310 0300 0315 0062;0061 05AE 0310 0300 0315 0062; +0061 0315 0300 05AE 0311 0062;00E0 05AE 0311 0315 0062;0061 05AE 0300 0311 0315 0062;00E0 05AE 0311 0315 0062;0061 05AE 0300 0311 0315 0062; +0061 0311 0315 0300 05AE 0062;0203 05AE 0300 0315 0062;0061 05AE 0311 0300 0315 0062;0203 05AE 0300 0315 0062;0061 05AE 0311 0300 0315 0062; +0061 0315 0300 05AE 0312 0062;00E0 05AE 0312 0315 0062;0061 05AE 0300 0312 0315 0062;00E0 05AE 0312 0315 0062;0061 05AE 0300 0312 0315 0062; +0061 0312 0315 0300 05AE 0062;0061 05AE 0312 0300 0315 0062;0061 05AE 0312 0300 0315 0062;0061 05AE 0312 0300 0315 0062;0061 05AE 0312 0300 0315 0062; +0061 0315 0300 05AE 0313 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062; +0061 0313 0315 0300 05AE 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062; +0061 0315 0300 05AE 0314 0062;00E0 05AE 0314 0315 0062;0061 05AE 0300 0314 0315 0062;00E0 05AE 0314 0315 0062;0061 05AE 0300 0314 0315 0062; +0061 0314 0315 0300 05AE 0062;0061 05AE 0314 0300 0315 0062;0061 05AE 0314 0300 0315 0062;0061 05AE 0314 0300 0315 0062;0061 05AE 0314 0300 0315 0062; +0061 035C 0315 0300 0315 0062;00E0 0315 0315 035C 0062;0061 0300 0315 0315 035C 0062;00E0 0315 0315 035C 0062;0061 0300 0315 0315 035C 0062; +0061 0315 035C 0315 0300 0062;00E0 0315 0315 035C 0062;0061 0300 0315 0315 035C 0062;00E0 0315 0315 035C 0062;0061 0300 0315 0315 035C 0062; +0061 059A 0316 302A 0316 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062; +0061 0316 059A 0316 302A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062; +0061 059A 0316 302A 0317 0062;0061 302A 0316 0317 059A 0062;0061 302A 0316 0317 059A 0062;0061 302A 0316 0317 059A 0062;0061 302A 0316 0317 059A 0062; +0061 0317 059A 0316 302A 0062;0061 302A 0317 0316 059A 0062;0061 302A 0317 0316 059A 0062;0061 302A 0317 0316 059A 0062;0061 302A 0317 0316 059A 0062; +0061 059A 0316 302A 0318 0062;0061 302A 0316 0318 059A 0062;0061 302A 0316 0318 059A 0062;0061 302A 0316 0318 059A 0062;0061 302A 0316 0318 059A 0062; +0061 0318 059A 0316 302A 0062;0061 302A 0318 0316 059A 0062;0061 302A 0318 0316 059A 0062;0061 302A 0318 0316 059A 0062;0061 302A 0318 0316 059A 0062; +0061 059A 0316 302A 0319 0062;0061 302A 0316 0319 059A 0062;0061 302A 0316 0319 059A 0062;0061 302A 0316 0319 059A 0062;0061 302A 0316 0319 059A 0062; +0061 0319 059A 0316 302A 0062;0061 302A 0319 0316 059A 0062;0061 302A 0319 0316 059A 0062;0061 302A 0319 0316 059A 0062;0061 302A 0319 0316 059A 0062; +0061 035C 0315 0300 031A 0062;00E0 0315 031A 035C 0062;0061 0300 0315 031A 035C 0062;00E0 0315 031A 035C 0062;0061 0300 0315 031A 035C 0062; +0061 031A 035C 0315 0300 0062;00E0 031A 0315 035C 0062;0061 0300 031A 0315 035C 0062;00E0 031A 0315 035C 0062;0061 0300 031A 0315 035C 0062; +0061 302A 031B 1DCE 031B 0062;0061 1DCE 031B 031B 302A 0062;0061 1DCE 031B 031B 302A 0062;0061 1DCE 031B 031B 302A 0062;0061 1DCE 031B 031B 302A 0062; +0061 031B 302A 031B 1DCE 0062;0061 1DCE 031B 031B 302A 0062;0061 1DCE 031B 031B 302A 0062;0061 1DCE 031B 031B 302A 0062;0061 1DCE 031B 031B 302A 0062; +0061 059A 0316 302A 031C 0062;0061 302A 0316 031C 059A 0062;0061 302A 0316 031C 059A 0062;0061 302A 0316 031C 059A 0062;0061 302A 0316 031C 059A 0062; +0061 031C 059A 0316 302A 0062;0061 302A 031C 0316 059A 0062;0061 302A 031C 0316 059A 0062;0061 302A 031C 0316 059A 0062;0061 302A 031C 0316 059A 0062; +0061 059A 0316 302A 031D 0062;0061 302A 0316 031D 059A 0062;0061 302A 0316 031D 059A 0062;0061 302A 0316 031D 059A 0062;0061 302A 0316 031D 059A 0062; +0061 031D 059A 0316 302A 0062;0061 302A 031D 0316 059A 0062;0061 302A 031D 0316 059A 0062;0061 302A 031D 0316 059A 0062;0061 302A 031D 0316 059A 0062; +0061 059A 0316 302A 031E 0062;0061 302A 0316 031E 059A 0062;0061 302A 0316 031E 059A 0062;0061 302A 0316 031E 059A 0062;0061 302A 0316 031E 059A 0062; +0061 031E 059A 0316 302A 0062;0061 302A 031E 0316 059A 0062;0061 302A 031E 0316 059A 0062;0061 302A 031E 0316 059A 0062;0061 302A 031E 0316 059A 0062; +0061 059A 0316 302A 031F 0062;0061 302A 0316 031F 059A 0062;0061 302A 0316 031F 059A 0062;0061 302A 0316 031F 059A 0062;0061 302A 0316 031F 059A 0062; +0061 031F 059A 0316 302A 0062;0061 302A 031F 0316 059A 0062;0061 302A 031F 0316 059A 0062;0061 302A 031F 0316 059A 0062;0061 302A 031F 0316 059A 0062; +0061 059A 0316 302A 0320 0062;0061 302A 0316 0320 059A 0062;0061 302A 0316 0320 059A 0062;0061 302A 0316 0320 059A 0062;0061 302A 0316 0320 059A 0062; +0061 0320 059A 0316 302A 0062;0061 302A 0320 0316 059A 0062;0061 302A 0320 0316 059A 0062;0061 302A 0320 0316 059A 0062;0061 302A 0320 0316 059A 0062; +0061 1DCE 0321 0F74 0321 0062;0061 0F74 0321 0321 1DCE 0062;0061 0F74 0321 0321 1DCE 0062;0061 0F74 0321 0321 1DCE 0062;0061 0F74 0321 0321 1DCE 0062; +0061 0321 1DCE 0321 0F74 0062;0061 0F74 0321 0321 1DCE 0062;0061 0F74 0321 0321 1DCE 0062;0061 0F74 0321 0321 1DCE 0062;0061 0F74 0321 0321 1DCE 0062; +0061 1DCE 0321 0F74 0322 0062;0061 0F74 0321 0322 1DCE 0062;0061 0F74 0321 0322 1DCE 0062;0061 0F74 0321 0322 1DCE 0062;0061 0F74 0321 0322 1DCE 0062; +0061 0322 1DCE 0321 0F74 0062;0061 0F74 0322 0321 1DCE 0062;0061 0F74 0322 0321 1DCE 0062;0061 0F74 0322 0321 1DCE 0062;0061 0F74 0322 0321 1DCE 0062; +0061 059A 0316 302A 0323 0062;0061 302A 0316 0323 059A 0062;0061 302A 0316 0323 059A 0062;0061 302A 0316 0323 059A 0062;0061 302A 0316 0323 059A 0062; +0061 0323 059A 0316 302A 0062;1EA1 302A 0316 059A 0062;0061 302A 0323 0316 059A 0062;1EA1 302A 0316 059A 0062;0061 302A 0323 0316 059A 0062; +0061 059A 0316 302A 0324 0062;0061 302A 0316 0324 059A 0062;0061 302A 0316 0324 059A 0062;0061 302A 0316 0324 059A 0062;0061 302A 0316 0324 059A 0062; +0061 0324 059A 0316 302A 0062;0061 302A 0324 0316 059A 0062;0061 302A 0324 0316 059A 0062;0061 302A 0324 0316 059A 0062;0061 302A 0324 0316 059A 0062; +0061 059A 0316 302A 0325 0062;0061 302A 0316 0325 059A 0062;0061 302A 0316 0325 059A 0062;0061 302A 0316 0325 059A 0062;0061 302A 0316 0325 059A 0062; +0061 0325 059A 0316 302A 0062;1E01 302A 0316 059A 0062;0061 302A 0325 0316 059A 0062;1E01 302A 0316 059A 0062;0061 302A 0325 0316 059A 0062; +0061 059A 0316 302A 0326 0062;0061 302A 0316 0326 059A 0062;0061 302A 0316 0326 059A 0062;0061 302A 0316 0326 059A 0062;0061 302A 0316 0326 059A 0062; +0061 0326 059A 0316 302A 0062;0061 302A 0326 0316 059A 0062;0061 302A 0326 0316 059A 0062;0061 302A 0326 0316 059A 0062;0061 302A 0326 0316 059A 0062; +0061 1DCE 0321 0F74 0327 0062;0061 0F74 0321 0327 1DCE 0062;0061 0F74 0321 0327 1DCE 0062;0061 0F74 0321 0327 1DCE 0062;0061 0F74 0321 0327 1DCE 0062; +0061 0327 1DCE 0321 0F74 0062;0061 0F74 0327 0321 1DCE 0062;0061 0F74 0327 0321 1DCE 0062;0061 0F74 0327 0321 1DCE 0062;0061 0F74 0327 0321 1DCE 0062; +0061 1DCE 0321 0F74 0328 0062;0061 0F74 0321 0328 1DCE 0062;0061 0F74 0321 0328 1DCE 0062;0061 0F74 0321 0328 1DCE 0062;0061 0F74 0321 0328 1DCE 0062; +0061 0328 1DCE 0321 0F74 0062;0105 0F74 0321 1DCE 0062;0061 0F74 0328 0321 1DCE 0062;0105 0F74 0321 1DCE 0062;0061 0F74 0328 0321 1DCE 0062; +0061 059A 0316 302A 0329 0062;0061 302A 0316 0329 059A 0062;0061 302A 0316 0329 059A 0062;0061 302A 0316 0329 059A 0062;0061 302A 0316 0329 059A 0062; +0061 0329 059A 0316 302A 0062;0061 302A 0329 0316 059A 0062;0061 302A 0329 0316 059A 0062;0061 302A 0329 0316 059A 0062;0061 302A 0329 0316 059A 0062; +0061 059A 0316 302A 032A 0062;0061 302A 0316 032A 059A 0062;0061 302A 0316 032A 059A 0062;0061 302A 0316 032A 059A 0062;0061 302A 0316 032A 059A 0062; +0061 032A 059A 0316 302A 0062;0061 302A 032A 0316 059A 0062;0061 302A 032A 0316 059A 0062;0061 302A 032A 0316 059A 0062;0061 302A 032A 0316 059A 0062; +0061 059A 0316 302A 032B 0062;0061 302A 0316 032B 059A 0062;0061 302A 0316 032B 059A 0062;0061 302A 0316 032B 059A 0062;0061 302A 0316 032B 059A 0062; +0061 032B 059A 0316 302A 0062;0061 302A 032B 0316 059A 0062;0061 302A 032B 0316 059A 0062;0061 302A 032B 0316 059A 0062;0061 302A 032B 0316 059A 0062; +0061 059A 0316 302A 032C 0062;0061 302A 0316 032C 059A 0062;0061 302A 0316 032C 059A 0062;0061 302A 0316 032C 059A 0062;0061 302A 0316 032C 059A 0062; +0061 032C 059A 0316 302A 0062;0061 302A 032C 0316 059A 0062;0061 302A 032C 0316 059A 0062;0061 302A 032C 0316 059A 0062;0061 302A 032C 0316 059A 0062; +0061 059A 0316 302A 032D 0062;0061 302A 0316 032D 059A 0062;0061 302A 0316 032D 059A 0062;0061 302A 0316 032D 059A 0062;0061 302A 0316 032D 059A 0062; +0061 032D 059A 0316 302A 0062;0061 302A 032D 0316 059A 0062;0061 302A 032D 0316 059A 0062;0061 302A 032D 0316 059A 0062;0061 302A 032D 0316 059A 0062; +0061 059A 0316 302A 032E 0062;0061 302A 0316 032E 059A 0062;0061 302A 0316 032E 059A 0062;0061 302A 0316 032E 059A 0062;0061 302A 0316 032E 059A 0062; +0061 032E 059A 0316 302A 0062;0061 302A 032E 0316 059A 0062;0061 302A 032E 0316 059A 0062;0061 302A 032E 0316 059A 0062;0061 302A 032E 0316 059A 0062; +0061 059A 0316 302A 032F 0062;0061 302A 0316 032F 059A 0062;0061 302A 0316 032F 059A 0062;0061 302A 0316 032F 059A 0062;0061 302A 0316 032F 059A 0062; +0061 032F 059A 0316 302A 0062;0061 302A 032F 0316 059A 0062;0061 302A 032F 0316 059A 0062;0061 302A 032F 0316 059A 0062;0061 302A 032F 0316 059A 0062; +0061 059A 0316 302A 0330 0062;0061 302A 0316 0330 059A 0062;0061 302A 0316 0330 059A 0062;0061 302A 0316 0330 059A 0062;0061 302A 0316 0330 059A 0062; +0061 0330 059A 0316 302A 0062;0061 302A 0330 0316 059A 0062;0061 302A 0330 0316 059A 0062;0061 302A 0330 0316 059A 0062;0061 302A 0330 0316 059A 0062; +0061 059A 0316 302A 0331 0062;0061 302A 0316 0331 059A 0062;0061 302A 0316 0331 059A 0062;0061 302A 0316 0331 059A 0062;0061 302A 0316 0331 059A 0062; +0061 0331 059A 0316 302A 0062;0061 302A 0331 0316 059A 0062;0061 302A 0331 0316 059A 0062;0061 302A 0331 0316 059A 0062;0061 302A 0331 0316 059A 0062; +0061 059A 0316 302A 0332 0062;0061 302A 0316 0332 059A 0062;0061 302A 0316 0332 059A 0062;0061 302A 0316 0332 059A 0062;0061 302A 0316 0332 059A 0062; +0061 0332 059A 0316 302A 0062;0061 302A 0332 0316 059A 0062;0061 302A 0332 0316 059A 0062;0061 302A 0332 0316 059A 0062;0061 302A 0332 0316 059A 0062; +0061 059A 0316 302A 0333 0062;0061 302A 0316 0333 059A 0062;0061 302A 0316 0333 059A 0062;0061 302A 0316 0333 059A 0062;0061 302A 0316 0333 059A 0062; +0061 0333 059A 0316 302A 0062;0061 302A 0333 0316 059A 0062;0061 302A 0333 0316 059A 0062;0061 302A 0333 0316 059A 0062;0061 302A 0333 0316 059A 0062; +0061 093C 0334 0334 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062; +0061 0334 093C 0334 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062; +0061 093C 0334 0335 0062;0061 0334 0335 093C 0062;0061 0334 0335 093C 0062;0061 0334 0335 093C 0062;0061 0334 0335 093C 0062; +0061 0335 093C 0334 0062;0061 0335 0334 093C 0062;0061 0335 0334 093C 0062;0061 0335 0334 093C 0062;0061 0335 0334 093C 0062; +0061 093C 0334 0336 0062;0061 0334 0336 093C 0062;0061 0334 0336 093C 0062;0061 0334 0336 093C 0062;0061 0334 0336 093C 0062; +0061 0336 093C 0334 0062;0061 0336 0334 093C 0062;0061 0336 0334 093C 0062;0061 0336 0334 093C 0062;0061 0336 0334 093C 0062; +0061 093C 0334 0337 0062;0061 0334 0337 093C 0062;0061 0334 0337 093C 0062;0061 0334 0337 093C 0062;0061 0334 0337 093C 0062; +0061 0337 093C 0334 0062;0061 0337 0334 093C 0062;0061 0337 0334 093C 0062;0061 0337 0334 093C 0062;0061 0337 0334 093C 0062; +0061 093C 0334 0338 0062;0061 0334 0338 093C 0062;0061 0334 0338 093C 0062;0061 0334 0338 093C 0062;0061 0334 0338 093C 0062; +0061 0338 093C 0334 0062;0061 0338 0334 093C 0062;0061 0338 0334 093C 0062;0061 0338 0334 093C 0062;0061 0338 0334 093C 0062; +0061 059A 0316 302A 0339 0062;0061 302A 0316 0339 059A 0062;0061 302A 0316 0339 059A 0062;0061 302A 0316 0339 059A 0062;0061 302A 0316 0339 059A 0062; +0061 0339 059A 0316 302A 0062;0061 302A 0339 0316 059A 0062;0061 302A 0339 0316 059A 0062;0061 302A 0339 0316 059A 0062;0061 302A 0339 0316 059A 0062; +0061 059A 0316 302A 033A 0062;0061 302A 0316 033A 059A 0062;0061 302A 0316 033A 059A 0062;0061 302A 0316 033A 059A 0062;0061 302A 0316 033A 059A 0062; +0061 033A 059A 0316 302A 0062;0061 302A 033A 0316 059A 0062;0061 302A 033A 0316 059A 0062;0061 302A 033A 0316 059A 0062;0061 302A 033A 0316 059A 0062; +0061 059A 0316 302A 033B 0062;0061 302A 0316 033B 059A 0062;0061 302A 0316 033B 059A 0062;0061 302A 0316 033B 059A 0062;0061 302A 0316 033B 059A 0062; +0061 033B 059A 0316 302A 0062;0061 302A 033B 0316 059A 0062;0061 302A 033B 0316 059A 0062;0061 302A 033B 0316 059A 0062;0061 302A 033B 0316 059A 0062; +0061 059A 0316 302A 033C 0062;0061 302A 0316 033C 059A 0062;0061 302A 0316 033C 059A 0062;0061 302A 0316 033C 059A 0062;0061 302A 0316 033C 059A 0062; +0061 033C 059A 0316 302A 0062;0061 302A 033C 0316 059A 0062;0061 302A 033C 0316 059A 0062;0061 302A 033C 0316 059A 0062;0061 302A 033C 0316 059A 0062; +0061 0315 0300 05AE 033D 0062;00E0 05AE 033D 0315 0062;0061 05AE 0300 033D 0315 0062;00E0 05AE 033D 0315 0062;0061 05AE 0300 033D 0315 0062; +0061 033D 0315 0300 05AE 0062;0061 05AE 033D 0300 0315 0062;0061 05AE 033D 0300 0315 0062;0061 05AE 033D 0300 0315 0062;0061 05AE 033D 0300 0315 0062; +0061 0315 0300 05AE 033E 0062;00E0 05AE 033E 0315 0062;0061 05AE 0300 033E 0315 0062;00E0 05AE 033E 0315 0062;0061 05AE 0300 033E 0315 0062; +0061 033E 0315 0300 05AE 0062;0061 05AE 033E 0300 0315 0062;0061 05AE 033E 0300 0315 0062;0061 05AE 033E 0300 0315 0062;0061 05AE 033E 0300 0315 0062; +0061 0315 0300 05AE 033F 0062;00E0 05AE 033F 0315 0062;0061 05AE 0300 033F 0315 0062;00E0 05AE 033F 0315 0062;0061 05AE 0300 033F 0315 0062; +0061 033F 0315 0300 05AE 0062;0061 05AE 033F 0300 0315 0062;0061 05AE 033F 0300 0315 0062;0061 05AE 033F 0300 0315 0062;0061 05AE 033F 0300 0315 0062; +0061 0315 0300 05AE 0340 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062; +0061 0340 0315 0300 05AE 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062; +0061 0315 0300 05AE 0341 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062; +0061 0341 0315 0300 05AE 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062; +0061 0315 0300 05AE 0342 0062;00E0 05AE 0342 0315 0062;0061 05AE 0300 0342 0315 0062;00E0 05AE 0342 0315 0062;0061 05AE 0300 0342 0315 0062; +0061 0342 0315 0300 05AE 0062;0061 05AE 0342 0300 0315 0062;0061 05AE 0342 0300 0315 0062;0061 05AE 0342 0300 0315 0062;0061 05AE 0342 0300 0315 0062; +0061 0315 0300 05AE 0343 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062; +0061 0343 0315 0300 05AE 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062; +0061 0315 0300 05AE 0344 0062;00E0 05AE 0308 0301 0315 0062;0061 05AE 0300 0308 0301 0315 0062;00E0 05AE 0308 0301 0315 0062;0061 05AE 0300 0308 0301 0315 0062; +0061 0344 0315 0300 05AE 0062;00E4 05AE 0301 0300 0315 0062;0061 05AE 0308 0301 0300 0315 0062;00E4 05AE 0301 0300 0315 0062;0061 05AE 0308 0301 0300 0315 0062; +0061 0345 035D 0345 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062; +0061 0345 0345 035D 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062; +0061 0315 0300 05AE 0346 0062;00E0 05AE 0346 0315 0062;0061 05AE 0300 0346 0315 0062;00E0 05AE 0346 0315 0062;0061 05AE 0300 0346 0315 0062; +0061 0346 0315 0300 05AE 0062;0061 05AE 0346 0300 0315 0062;0061 05AE 0346 0300 0315 0062;0061 05AE 0346 0300 0315 0062;0061 05AE 0346 0300 0315 0062; +0061 059A 0316 302A 0347 0062;0061 302A 0316 0347 059A 0062;0061 302A 0316 0347 059A 0062;0061 302A 0316 0347 059A 0062;0061 302A 0316 0347 059A 0062; +0061 0347 059A 0316 302A 0062;0061 302A 0347 0316 059A 0062;0061 302A 0347 0316 059A 0062;0061 302A 0347 0316 059A 0062;0061 302A 0347 0316 059A 0062; +0061 059A 0316 302A 0348 0062;0061 302A 0316 0348 059A 0062;0061 302A 0316 0348 059A 0062;0061 302A 0316 0348 059A 0062;0061 302A 0316 0348 059A 0062; +0061 0348 059A 0316 302A 0062;0061 302A 0348 0316 059A 0062;0061 302A 0348 0316 059A 0062;0061 302A 0348 0316 059A 0062;0061 302A 0348 0316 059A 0062; +0061 059A 0316 302A 0349 0062;0061 302A 0316 0349 059A 0062;0061 302A 0316 0349 059A 0062;0061 302A 0316 0349 059A 0062;0061 302A 0316 0349 059A 0062; +0061 0349 059A 0316 302A 0062;0061 302A 0349 0316 059A 0062;0061 302A 0349 0316 059A 0062;0061 302A 0349 0316 059A 0062;0061 302A 0349 0316 059A 0062; +0061 0315 0300 05AE 034A 0062;00E0 05AE 034A 0315 0062;0061 05AE 0300 034A 0315 0062;00E0 05AE 034A 0315 0062;0061 05AE 0300 034A 0315 0062; +0061 034A 0315 0300 05AE 0062;0061 05AE 034A 0300 0315 0062;0061 05AE 034A 0300 0315 0062;0061 05AE 034A 0300 0315 0062;0061 05AE 034A 0300 0315 0062; +0061 0315 0300 05AE 034B 0062;00E0 05AE 034B 0315 0062;0061 05AE 0300 034B 0315 0062;00E0 05AE 034B 0315 0062;0061 05AE 0300 034B 0315 0062; +0061 034B 0315 0300 05AE 0062;0061 05AE 034B 0300 0315 0062;0061 05AE 034B 0300 0315 0062;0061 05AE 034B 0300 0315 0062;0061 05AE 034B 0300 0315 0062; +0061 0315 0300 05AE 034C 0062;00E0 05AE 034C 0315 0062;0061 05AE 0300 034C 0315 0062;00E0 05AE 034C 0315 0062;0061 05AE 0300 034C 0315 0062; +0061 034C 0315 0300 05AE 0062;0061 05AE 034C 0300 0315 0062;0061 05AE 034C 0300 0315 0062;0061 05AE 034C 0300 0315 0062;0061 05AE 034C 0300 0315 0062; +0061 059A 0316 302A 034D 0062;0061 302A 0316 034D 059A 0062;0061 302A 0316 034D 059A 0062;0061 302A 0316 034D 059A 0062;0061 302A 0316 034D 059A 0062; +0061 034D 059A 0316 302A 0062;0061 302A 034D 0316 059A 0062;0061 302A 034D 0316 059A 0062;0061 302A 034D 0316 059A 0062;0061 302A 034D 0316 059A 0062; +0061 059A 0316 302A 034E 0062;0061 302A 0316 034E 059A 0062;0061 302A 0316 034E 059A 0062;0061 302A 0316 034E 059A 0062;0061 302A 0316 034E 059A 0062; +0061 034E 059A 0316 302A 0062;0061 302A 034E 0316 059A 0062;0061 302A 034E 0316 059A 0062;0061 302A 034E 0316 059A 0062;0061 302A 034E 0316 059A 0062; +0061 0315 0300 05AE 0350 0062;00E0 05AE 0350 0315 0062;0061 05AE 0300 0350 0315 0062;00E0 05AE 0350 0315 0062;0061 05AE 0300 0350 0315 0062; +0061 0350 0315 0300 05AE 0062;0061 05AE 0350 0300 0315 0062;0061 05AE 0350 0300 0315 0062;0061 05AE 0350 0300 0315 0062;0061 05AE 0350 0300 0315 0062; +0061 0315 0300 05AE 0351 0062;00E0 05AE 0351 0315 0062;0061 05AE 0300 0351 0315 0062;00E0 05AE 0351 0315 0062;0061 05AE 0300 0351 0315 0062; +0061 0351 0315 0300 05AE 0062;0061 05AE 0351 0300 0315 0062;0061 05AE 0351 0300 0315 0062;0061 05AE 0351 0300 0315 0062;0061 05AE 0351 0300 0315 0062; +0061 0315 0300 05AE 0352 0062;00E0 05AE 0352 0315 0062;0061 05AE 0300 0352 0315 0062;00E0 05AE 0352 0315 0062;0061 05AE 0300 0352 0315 0062; +0061 0352 0315 0300 05AE 0062;0061 05AE 0352 0300 0315 0062;0061 05AE 0352 0300 0315 0062;0061 05AE 0352 0300 0315 0062;0061 05AE 0352 0300 0315 0062; +0061 059A 0316 302A 0353 0062;0061 302A 0316 0353 059A 0062;0061 302A 0316 0353 059A 0062;0061 302A 0316 0353 059A 0062;0061 302A 0316 0353 059A 0062; +0061 0353 059A 0316 302A 0062;0061 302A 0353 0316 059A 0062;0061 302A 0353 0316 059A 0062;0061 302A 0353 0316 059A 0062;0061 302A 0353 0316 059A 0062; +0061 059A 0316 302A 0354 0062;0061 302A 0316 0354 059A 0062;0061 302A 0316 0354 059A 0062;0061 302A 0316 0354 059A 0062;0061 302A 0316 0354 059A 0062; +0061 0354 059A 0316 302A 0062;0061 302A 0354 0316 059A 0062;0061 302A 0354 0316 059A 0062;0061 302A 0354 0316 059A 0062;0061 302A 0354 0316 059A 0062; +0061 059A 0316 302A 0355 0062;0061 302A 0316 0355 059A 0062;0061 302A 0316 0355 059A 0062;0061 302A 0316 0355 059A 0062;0061 302A 0316 0355 059A 0062; +0061 0355 059A 0316 302A 0062;0061 302A 0355 0316 059A 0062;0061 302A 0355 0316 059A 0062;0061 302A 0355 0316 059A 0062;0061 302A 0355 0316 059A 0062; +0061 059A 0316 302A 0356 0062;0061 302A 0316 0356 059A 0062;0061 302A 0316 0356 059A 0062;0061 302A 0316 0356 059A 0062;0061 302A 0316 0356 059A 0062; +0061 0356 059A 0316 302A 0062;0061 302A 0356 0316 059A 0062;0061 302A 0356 0316 059A 0062;0061 302A 0356 0316 059A 0062;0061 302A 0356 0316 059A 0062; +0061 0315 0300 05AE 0357 0062;00E0 05AE 0357 0315 0062;0061 05AE 0300 0357 0315 0062;00E0 05AE 0357 0315 0062;0061 05AE 0300 0357 0315 0062; +0061 0357 0315 0300 05AE 0062;0061 05AE 0357 0300 0315 0062;0061 05AE 0357 0300 0315 0062;0061 05AE 0357 0300 0315 0062;0061 05AE 0357 0300 0315 0062; +0061 035C 0315 0300 0358 0062;00E0 0315 0358 035C 0062;0061 0300 0315 0358 035C 0062;00E0 0315 0358 035C 0062;0061 0300 0315 0358 035C 0062; +0061 0358 035C 0315 0300 0062;00E0 0358 0315 035C 0062;0061 0300 0358 0315 035C 0062;00E0 0358 0315 035C 0062;0061 0300 0358 0315 035C 0062; +0061 059A 0316 302A 0359 0062;0061 302A 0316 0359 059A 0062;0061 302A 0316 0359 059A 0062;0061 302A 0316 0359 059A 0062;0061 302A 0316 0359 059A 0062; +0061 0359 059A 0316 302A 0062;0061 302A 0359 0316 059A 0062;0061 302A 0359 0316 059A 0062;0061 302A 0359 0316 059A 0062;0061 302A 0359 0316 059A 0062; +0061 059A 0316 302A 035A 0062;0061 302A 0316 035A 059A 0062;0061 302A 0316 035A 059A 0062;0061 302A 0316 035A 059A 0062;0061 302A 0316 035A 059A 0062; +0061 035A 059A 0316 302A 0062;0061 302A 035A 0316 059A 0062;0061 302A 035A 0316 059A 0062;0061 302A 035A 0316 059A 0062;0061 302A 035A 0316 059A 0062; +0061 0315 0300 05AE 035B 0062;00E0 05AE 035B 0315 0062;0061 05AE 0300 035B 0315 0062;00E0 05AE 035B 0315 0062;0061 05AE 0300 035B 0315 0062; +0061 035B 0315 0300 05AE 0062;0061 05AE 035B 0300 0315 0062;0061 05AE 035B 0300 0315 0062;0061 05AE 035B 0300 0315 0062;0061 05AE 035B 0300 0315 0062; +0061 035D 035C 0315 035C 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062; +0061 035C 035D 035C 0315 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062; +0061 0345 035D 035C 035D 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062; +0061 035D 0345 035D 035C 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062; +0061 0345 035D 035C 035E 0062;0061 035C 035D 035E 0345 0062;0061 035C 035D 035E 0345 0062;0061 035C 035D 035E 0345 0062;0061 035C 035D 035E 0345 0062; +0061 035E 0345 035D 035C 0062;0061 035C 035E 035D 0345 0062;0061 035C 035E 035D 0345 0062;0061 035C 035E 035D 0345 0062;0061 035C 035E 035D 0345 0062; +0061 035D 035C 0315 035F 0062;0061 0315 035C 035F 035D 0062;0061 0315 035C 035F 035D 0062;0061 0315 035C 035F 035D 0062;0061 0315 035C 035F 035D 0062; +0061 035F 035D 035C 0315 0062;0061 0315 035F 035C 035D 0062;0061 0315 035F 035C 035D 0062;0061 0315 035F 035C 035D 0062;0061 0315 035F 035C 035D 0062; +0061 0345 035D 035C 0360 0062;0061 035C 035D 0360 0345 0062;0061 035C 035D 0360 0345 0062;0061 035C 035D 0360 0345 0062;0061 035C 035D 0360 0345 0062; +0061 0360 0345 035D 035C 0062;0061 035C 0360 035D 0345 0062;0061 035C 0360 035D 0345 0062;0061 035C 0360 035D 0345 0062;0061 035C 0360 035D 0345 0062; +0061 0345 035D 035C 0361 0062;0061 035C 035D 0361 0345 0062;0061 035C 035D 0361 0345 0062;0061 035C 035D 0361 0345 0062;0061 035C 035D 0361 0345 0062; +0061 0361 0345 035D 035C 0062;0061 035C 0361 035D 0345 0062;0061 035C 0361 035D 0345 0062;0061 035C 0361 035D 0345 0062;0061 035C 0361 035D 0345 0062; +0061 035D 035C 0315 0362 0062;0061 0315 035C 0362 035D 0062;0061 0315 035C 0362 035D 0062;0061 0315 035C 0362 035D 0062;0061 0315 035C 0362 035D 0062; +0061 0362 035D 035C 0315 0062;0061 0315 0362 035C 035D 0062;0061 0315 0362 035C 035D 0062;0061 0315 0362 035C 035D 0062;0061 0315 0362 035C 035D 0062; +0061 0315 0300 05AE 0363 0062;00E0 05AE 0363 0315 0062;0061 05AE 0300 0363 0315 0062;00E0 05AE 0363 0315 0062;0061 05AE 0300 0363 0315 0062; +0061 0363 0315 0300 05AE 0062;0061 05AE 0363 0300 0315 0062;0061 05AE 0363 0300 0315 0062;0061 05AE 0363 0300 0315 0062;0061 05AE 0363 0300 0315 0062; +0061 0315 0300 05AE 0364 0062;00E0 05AE 0364 0315 0062;0061 05AE 0300 0364 0315 0062;00E0 05AE 0364 0315 0062;0061 05AE 0300 0364 0315 0062; +0061 0364 0315 0300 05AE 0062;0061 05AE 0364 0300 0315 0062;0061 05AE 0364 0300 0315 0062;0061 05AE 0364 0300 0315 0062;0061 05AE 0364 0300 0315 0062; +0061 0315 0300 05AE 0365 0062;00E0 05AE 0365 0315 0062;0061 05AE 0300 0365 0315 0062;00E0 05AE 0365 0315 0062;0061 05AE 0300 0365 0315 0062; +0061 0365 0315 0300 05AE 0062;0061 05AE 0365 0300 0315 0062;0061 05AE 0365 0300 0315 0062;0061 05AE 0365 0300 0315 0062;0061 05AE 0365 0300 0315 0062; +0061 0315 0300 05AE 0366 0062;00E0 05AE 0366 0315 0062;0061 05AE 0300 0366 0315 0062;00E0 05AE 0366 0315 0062;0061 05AE 0300 0366 0315 0062; +0061 0366 0315 0300 05AE 0062;0061 05AE 0366 0300 0315 0062;0061 05AE 0366 0300 0315 0062;0061 05AE 0366 0300 0315 0062;0061 05AE 0366 0300 0315 0062; +0061 0315 0300 05AE 0367 0062;00E0 05AE 0367 0315 0062;0061 05AE 0300 0367 0315 0062;00E0 05AE 0367 0315 0062;0061 05AE 0300 0367 0315 0062; +0061 0367 0315 0300 05AE 0062;0061 05AE 0367 0300 0315 0062;0061 05AE 0367 0300 0315 0062;0061 05AE 0367 0300 0315 0062;0061 05AE 0367 0300 0315 0062; +0061 0315 0300 05AE 0368 0062;00E0 05AE 0368 0315 0062;0061 05AE 0300 0368 0315 0062;00E0 05AE 0368 0315 0062;0061 05AE 0300 0368 0315 0062; +0061 0368 0315 0300 05AE 0062;0061 05AE 0368 0300 0315 0062;0061 05AE 0368 0300 0315 0062;0061 05AE 0368 0300 0315 0062;0061 05AE 0368 0300 0315 0062; +0061 0315 0300 05AE 0369 0062;00E0 05AE 0369 0315 0062;0061 05AE 0300 0369 0315 0062;00E0 05AE 0369 0315 0062;0061 05AE 0300 0369 0315 0062; +0061 0369 0315 0300 05AE 0062;0061 05AE 0369 0300 0315 0062;0061 05AE 0369 0300 0315 0062;0061 05AE 0369 0300 0315 0062;0061 05AE 0369 0300 0315 0062; +0061 0315 0300 05AE 036A 0062;00E0 05AE 036A 0315 0062;0061 05AE 0300 036A 0315 0062;00E0 05AE 036A 0315 0062;0061 05AE 0300 036A 0315 0062; +0061 036A 0315 0300 05AE 0062;0061 05AE 036A 0300 0315 0062;0061 05AE 036A 0300 0315 0062;0061 05AE 036A 0300 0315 0062;0061 05AE 036A 0300 0315 0062; +0061 0315 0300 05AE 036B 0062;00E0 05AE 036B 0315 0062;0061 05AE 0300 036B 0315 0062;00E0 05AE 036B 0315 0062;0061 05AE 0300 036B 0315 0062; +0061 036B 0315 0300 05AE 0062;0061 05AE 036B 0300 0315 0062;0061 05AE 036B 0300 0315 0062;0061 05AE 036B 0300 0315 0062;0061 05AE 036B 0300 0315 0062; +0061 0315 0300 05AE 036C 0062;00E0 05AE 036C 0315 0062;0061 05AE 0300 036C 0315 0062;00E0 05AE 036C 0315 0062;0061 05AE 0300 036C 0315 0062; +0061 036C 0315 0300 05AE 0062;0061 05AE 036C 0300 0315 0062;0061 05AE 036C 0300 0315 0062;0061 05AE 036C 0300 0315 0062;0061 05AE 036C 0300 0315 0062; +0061 0315 0300 05AE 036D 0062;00E0 05AE 036D 0315 0062;0061 05AE 0300 036D 0315 0062;00E0 05AE 036D 0315 0062;0061 05AE 0300 036D 0315 0062; +0061 036D 0315 0300 05AE 0062;0061 05AE 036D 0300 0315 0062;0061 05AE 036D 0300 0315 0062;0061 05AE 036D 0300 0315 0062;0061 05AE 036D 0300 0315 0062; +0061 0315 0300 05AE 036E 0062;00E0 05AE 036E 0315 0062;0061 05AE 0300 036E 0315 0062;00E0 05AE 036E 0315 0062;0061 05AE 0300 036E 0315 0062; +0061 036E 0315 0300 05AE 0062;0061 05AE 036E 0300 0315 0062;0061 05AE 036E 0300 0315 0062;0061 05AE 036E 0300 0315 0062;0061 05AE 036E 0300 0315 0062; +0061 0315 0300 05AE 036F 0062;00E0 05AE 036F 0315 0062;0061 05AE 0300 036F 0315 0062;00E0 05AE 036F 0315 0062;0061 05AE 0300 036F 0315 0062; +0061 036F 0315 0300 05AE 0062;0061 05AE 036F 0300 0315 0062;0061 05AE 036F 0300 0315 0062;0061 05AE 036F 0300 0315 0062;0061 05AE 036F 0300 0315 0062; +0061 0315 0300 05AE 0483 0062;00E0 05AE 0483 0315 0062;0061 05AE 0300 0483 0315 0062;00E0 05AE 0483 0315 0062;0061 05AE 0300 0483 0315 0062; +0061 0483 0315 0300 05AE 0062;0061 05AE 0483 0300 0315 0062;0061 05AE 0483 0300 0315 0062;0061 05AE 0483 0300 0315 0062;0061 05AE 0483 0300 0315 0062; +0061 0315 0300 05AE 0484 0062;00E0 05AE 0484 0315 0062;0061 05AE 0300 0484 0315 0062;00E0 05AE 0484 0315 0062;0061 05AE 0300 0484 0315 0062; +0061 0484 0315 0300 05AE 0062;0061 05AE 0484 0300 0315 0062;0061 05AE 0484 0300 0315 0062;0061 05AE 0484 0300 0315 0062;0061 05AE 0484 0300 0315 0062; +0061 0315 0300 05AE 0485 0062;00E0 05AE 0485 0315 0062;0061 05AE 0300 0485 0315 0062;00E0 05AE 0485 0315 0062;0061 05AE 0300 0485 0315 0062; +0061 0485 0315 0300 05AE 0062;0061 05AE 0485 0300 0315 0062;0061 05AE 0485 0300 0315 0062;0061 05AE 0485 0300 0315 0062;0061 05AE 0485 0300 0315 0062; +0061 0315 0300 05AE 0486 0062;00E0 05AE 0486 0315 0062;0061 05AE 0300 0486 0315 0062;00E0 05AE 0486 0315 0062;0061 05AE 0300 0486 0315 0062; +0061 0486 0315 0300 05AE 0062;0061 05AE 0486 0300 0315 0062;0061 05AE 0486 0300 0315 0062;0061 05AE 0486 0300 0315 0062;0061 05AE 0486 0300 0315 0062; +0061 0315 0300 05AE 0487 0062;00E0 05AE 0487 0315 0062;0061 05AE 0300 0487 0315 0062;00E0 05AE 0487 0315 0062;0061 05AE 0300 0487 0315 0062; +0061 0487 0315 0300 05AE 0062;0061 05AE 0487 0300 0315 0062;0061 05AE 0487 0300 0315 0062;0061 05AE 0487 0300 0315 0062;0061 05AE 0487 0300 0315 0062; +0061 059A 0316 302A 0591 0062;0061 302A 0316 0591 059A 0062;0061 302A 0316 0591 059A 0062;0061 302A 0316 0591 059A 0062;0061 302A 0316 0591 059A 0062; +0061 0591 059A 0316 302A 0062;0061 302A 0591 0316 059A 0062;0061 302A 0591 0316 059A 0062;0061 302A 0591 0316 059A 0062;0061 302A 0591 0316 059A 0062; +0061 0315 0300 05AE 0592 0062;00E0 05AE 0592 0315 0062;0061 05AE 0300 0592 0315 0062;00E0 05AE 0592 0315 0062;0061 05AE 0300 0592 0315 0062; +0061 0592 0315 0300 05AE 0062;0061 05AE 0592 0300 0315 0062;0061 05AE 0592 0300 0315 0062;0061 05AE 0592 0300 0315 0062;0061 05AE 0592 0300 0315 0062; +0061 0315 0300 05AE 0593 0062;00E0 05AE 0593 0315 0062;0061 05AE 0300 0593 0315 0062;00E0 05AE 0593 0315 0062;0061 05AE 0300 0593 0315 0062; +0061 0593 0315 0300 05AE 0062;0061 05AE 0593 0300 0315 0062;0061 05AE 0593 0300 0315 0062;0061 05AE 0593 0300 0315 0062;0061 05AE 0593 0300 0315 0062; +0061 0315 0300 05AE 0594 0062;00E0 05AE 0594 0315 0062;0061 05AE 0300 0594 0315 0062;00E0 05AE 0594 0315 0062;0061 05AE 0300 0594 0315 0062; +0061 0594 0315 0300 05AE 0062;0061 05AE 0594 0300 0315 0062;0061 05AE 0594 0300 0315 0062;0061 05AE 0594 0300 0315 0062;0061 05AE 0594 0300 0315 0062; +0061 0315 0300 05AE 0595 0062;00E0 05AE 0595 0315 0062;0061 05AE 0300 0595 0315 0062;00E0 05AE 0595 0315 0062;0061 05AE 0300 0595 0315 0062; +0061 0595 0315 0300 05AE 0062;0061 05AE 0595 0300 0315 0062;0061 05AE 0595 0300 0315 0062;0061 05AE 0595 0300 0315 0062;0061 05AE 0595 0300 0315 0062; +0061 059A 0316 302A 0596 0062;0061 302A 0316 0596 059A 0062;0061 302A 0316 0596 059A 0062;0061 302A 0316 0596 059A 0062;0061 302A 0316 0596 059A 0062; +0061 0596 059A 0316 302A 0062;0061 302A 0596 0316 059A 0062;0061 302A 0596 0316 059A 0062;0061 302A 0596 0316 059A 0062;0061 302A 0596 0316 059A 0062; +0061 0315 0300 05AE 0597 0062;00E0 05AE 0597 0315 0062;0061 05AE 0300 0597 0315 0062;00E0 05AE 0597 0315 0062;0061 05AE 0300 0597 0315 0062; +0061 0597 0315 0300 05AE 0062;0061 05AE 0597 0300 0315 0062;0061 05AE 0597 0300 0315 0062;0061 05AE 0597 0300 0315 0062;0061 05AE 0597 0300 0315 0062; +0061 0315 0300 05AE 0598 0062;00E0 05AE 0598 0315 0062;0061 05AE 0300 0598 0315 0062;00E0 05AE 0598 0315 0062;0061 05AE 0300 0598 0315 0062; +0061 0598 0315 0300 05AE 0062;0061 05AE 0598 0300 0315 0062;0061 05AE 0598 0300 0315 0062;0061 05AE 0598 0300 0315 0062;0061 05AE 0598 0300 0315 0062; +0061 0315 0300 05AE 0599 0062;00E0 05AE 0599 0315 0062;0061 05AE 0300 0599 0315 0062;00E0 05AE 0599 0315 0062;0061 05AE 0300 0599 0315 0062; +0061 0599 0315 0300 05AE 0062;0061 05AE 0599 0300 0315 0062;0061 05AE 0599 0300 0315 0062;0061 05AE 0599 0300 0315 0062;0061 05AE 0599 0300 0315 0062; +0061 302E 059A 0316 059A 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062; +0061 059A 302E 059A 0316 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062; +0061 059A 0316 302A 059B 0062;0061 302A 0316 059B 059A 0062;0061 302A 0316 059B 059A 0062;0061 302A 0316 059B 059A 0062;0061 302A 0316 059B 059A 0062; +0061 059B 059A 0316 302A 0062;0061 302A 059B 0316 059A 0062;0061 302A 059B 0316 059A 0062;0061 302A 059B 0316 059A 0062;0061 302A 059B 0316 059A 0062; +0061 0315 0300 05AE 059C 0062;00E0 05AE 059C 0315 0062;0061 05AE 0300 059C 0315 0062;00E0 05AE 059C 0315 0062;0061 05AE 0300 059C 0315 0062; +0061 059C 0315 0300 05AE 0062;0061 05AE 059C 0300 0315 0062;0061 05AE 059C 0300 0315 0062;0061 05AE 059C 0300 0315 0062;0061 05AE 059C 0300 0315 0062; +0061 0315 0300 05AE 059D 0062;00E0 05AE 059D 0315 0062;0061 05AE 0300 059D 0315 0062;00E0 05AE 059D 0315 0062;0061 05AE 0300 059D 0315 0062; +0061 059D 0315 0300 05AE 0062;0061 05AE 059D 0300 0315 0062;0061 05AE 059D 0300 0315 0062;0061 05AE 059D 0300 0315 0062;0061 05AE 059D 0300 0315 0062; +0061 0315 0300 05AE 059E 0062;00E0 05AE 059E 0315 0062;0061 05AE 0300 059E 0315 0062;00E0 05AE 059E 0315 0062;0061 05AE 0300 059E 0315 0062; +0061 059E 0315 0300 05AE 0062;0061 05AE 059E 0300 0315 0062;0061 05AE 059E 0300 0315 0062;0061 05AE 059E 0300 0315 0062;0061 05AE 059E 0300 0315 0062; +0061 0315 0300 05AE 059F 0062;00E0 05AE 059F 0315 0062;0061 05AE 0300 059F 0315 0062;00E0 05AE 059F 0315 0062;0061 05AE 0300 059F 0315 0062; +0061 059F 0315 0300 05AE 0062;0061 05AE 059F 0300 0315 0062;0061 05AE 059F 0300 0315 0062;0061 05AE 059F 0300 0315 0062;0061 05AE 059F 0300 0315 0062; +0061 0315 0300 05AE 05A0 0062;00E0 05AE 05A0 0315 0062;0061 05AE 0300 05A0 0315 0062;00E0 05AE 05A0 0315 0062;0061 05AE 0300 05A0 0315 0062; +0061 05A0 0315 0300 05AE 0062;0061 05AE 05A0 0300 0315 0062;0061 05AE 05A0 0300 0315 0062;0061 05AE 05A0 0300 0315 0062;0061 05AE 05A0 0300 0315 0062; +0061 0315 0300 05AE 05A1 0062;00E0 05AE 05A1 0315 0062;0061 05AE 0300 05A1 0315 0062;00E0 05AE 05A1 0315 0062;0061 05AE 0300 05A1 0315 0062; +0061 05A1 0315 0300 05AE 0062;0061 05AE 05A1 0300 0315 0062;0061 05AE 05A1 0300 0315 0062;0061 05AE 05A1 0300 0315 0062;0061 05AE 05A1 0300 0315 0062; +0061 059A 0316 302A 05A2 0062;0061 302A 0316 05A2 059A 0062;0061 302A 0316 05A2 059A 0062;0061 302A 0316 05A2 059A 0062;0061 302A 0316 05A2 059A 0062; +0061 05A2 059A 0316 302A 0062;0061 302A 05A2 0316 059A 0062;0061 302A 05A2 0316 059A 0062;0061 302A 05A2 0316 059A 0062;0061 302A 05A2 0316 059A 0062; +0061 059A 0316 302A 05A3 0062;0061 302A 0316 05A3 059A 0062;0061 302A 0316 05A3 059A 0062;0061 302A 0316 05A3 059A 0062;0061 302A 0316 05A3 059A 0062; +0061 05A3 059A 0316 302A 0062;0061 302A 05A3 0316 059A 0062;0061 302A 05A3 0316 059A 0062;0061 302A 05A3 0316 059A 0062;0061 302A 05A3 0316 059A 0062; +0061 059A 0316 302A 05A4 0062;0061 302A 0316 05A4 059A 0062;0061 302A 0316 05A4 059A 0062;0061 302A 0316 05A4 059A 0062;0061 302A 0316 05A4 059A 0062; +0061 05A4 059A 0316 302A 0062;0061 302A 05A4 0316 059A 0062;0061 302A 05A4 0316 059A 0062;0061 302A 05A4 0316 059A 0062;0061 302A 05A4 0316 059A 0062; +0061 059A 0316 302A 05A5 0062;0061 302A 0316 05A5 059A 0062;0061 302A 0316 05A5 059A 0062;0061 302A 0316 05A5 059A 0062;0061 302A 0316 05A5 059A 0062; +0061 05A5 059A 0316 302A 0062;0061 302A 05A5 0316 059A 0062;0061 302A 05A5 0316 059A 0062;0061 302A 05A5 0316 059A 0062;0061 302A 05A5 0316 059A 0062; +0061 059A 0316 302A 05A6 0062;0061 302A 0316 05A6 059A 0062;0061 302A 0316 05A6 059A 0062;0061 302A 0316 05A6 059A 0062;0061 302A 0316 05A6 059A 0062; +0061 05A6 059A 0316 302A 0062;0061 302A 05A6 0316 059A 0062;0061 302A 05A6 0316 059A 0062;0061 302A 05A6 0316 059A 0062;0061 302A 05A6 0316 059A 0062; +0061 059A 0316 302A 05A7 0062;0061 302A 0316 05A7 059A 0062;0061 302A 0316 05A7 059A 0062;0061 302A 0316 05A7 059A 0062;0061 302A 0316 05A7 059A 0062; +0061 05A7 059A 0316 302A 0062;0061 302A 05A7 0316 059A 0062;0061 302A 05A7 0316 059A 0062;0061 302A 05A7 0316 059A 0062;0061 302A 05A7 0316 059A 0062; +0061 0315 0300 05AE 05A8 0062;00E0 05AE 05A8 0315 0062;0061 05AE 0300 05A8 0315 0062;00E0 05AE 05A8 0315 0062;0061 05AE 0300 05A8 0315 0062; +0061 05A8 0315 0300 05AE 0062;0061 05AE 05A8 0300 0315 0062;0061 05AE 05A8 0300 0315 0062;0061 05AE 05A8 0300 0315 0062;0061 05AE 05A8 0300 0315 0062; +0061 0315 0300 05AE 05A9 0062;00E0 05AE 05A9 0315 0062;0061 05AE 0300 05A9 0315 0062;00E0 05AE 05A9 0315 0062;0061 05AE 0300 05A9 0315 0062; +0061 05A9 0315 0300 05AE 0062;0061 05AE 05A9 0300 0315 0062;0061 05AE 05A9 0300 0315 0062;0061 05AE 05A9 0300 0315 0062;0061 05AE 05A9 0300 0315 0062; +0061 059A 0316 302A 05AA 0062;0061 302A 0316 05AA 059A 0062;0061 302A 0316 05AA 059A 0062;0061 302A 0316 05AA 059A 0062;0061 302A 0316 05AA 059A 0062; +0061 05AA 059A 0316 302A 0062;0061 302A 05AA 0316 059A 0062;0061 302A 05AA 0316 059A 0062;0061 302A 05AA 0316 059A 0062;0061 302A 05AA 0316 059A 0062; +0061 0315 0300 05AE 05AB 0062;00E0 05AE 05AB 0315 0062;0061 05AE 0300 05AB 0315 0062;00E0 05AE 05AB 0315 0062;0061 05AE 0300 05AB 0315 0062; +0061 05AB 0315 0300 05AE 0062;0061 05AE 05AB 0300 0315 0062;0061 05AE 05AB 0300 0315 0062;0061 05AE 05AB 0300 0315 0062;0061 05AE 05AB 0300 0315 0062; +0061 0315 0300 05AE 05AC 0062;00E0 05AE 05AC 0315 0062;0061 05AE 0300 05AC 0315 0062;00E0 05AE 05AC 0315 0062;0061 05AE 0300 05AC 0315 0062; +0061 05AC 0315 0300 05AE 0062;0061 05AE 05AC 0300 0315 0062;0061 05AE 05AC 0300 0315 0062;0061 05AE 05AC 0300 0315 0062;0061 05AE 05AC 0300 0315 0062; +0061 302E 059A 0316 05AD 0062;0061 0316 059A 05AD 302E 0062;0061 0316 059A 05AD 302E 0062;0061 0316 059A 05AD 302E 0062;0061 0316 059A 05AD 302E 0062; +0061 05AD 302E 059A 0316 0062;0061 0316 05AD 059A 302E 0062;0061 0316 05AD 059A 302E 0062;0061 0316 05AD 059A 302E 0062;0061 0316 05AD 059A 302E 0062; +0061 0300 05AE 1D16D 05AE 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062; +0061 05AE 0300 05AE 1D16D 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062; +0061 0315 0300 05AE 05AF 0062;00E0 05AE 05AF 0315 0062;0061 05AE 0300 05AF 0315 0062;00E0 05AE 05AF 0315 0062;0061 05AE 0300 05AF 0315 0062; +0061 05AF 0315 0300 05AE 0062;0061 05AE 05AF 0300 0315 0062;0061 05AE 05AF 0300 0315 0062;0061 05AE 05AF 0300 0315 0062;0061 05AE 05AF 0300 0315 0062; +0061 05B1 05B0 094D 05B0 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062; +0061 05B0 05B1 05B0 094D 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062; +0061 05B2 05B1 05B0 05B1 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062; +0061 05B1 05B2 05B1 05B0 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062; +0061 05B3 05B2 05B1 05B2 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062; +0061 05B2 05B3 05B2 05B1 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062; +0061 05B4 05B3 05B2 05B3 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062; +0061 05B3 05B4 05B3 05B2 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062; +0061 05B5 05B4 05B3 05B4 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062; +0061 05B4 05B5 05B4 05B3 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062; +0061 05B6 05B5 05B4 05B5 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062; +0061 05B5 05B6 05B5 05B4 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062; +0061 05B7 05B6 05B5 05B6 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062; +0061 05B6 05B7 05B6 05B5 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062; +0061 05B8 05B7 05B6 05B7 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062; +0061 05B7 05B8 05B7 05B6 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062; +0061 05B9 05B8 05B7 05B8 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062; +0061 05B8 05B9 05B8 05B7 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062; +0061 05BB 05B9 05B8 05B9 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062; +0061 05B9 05BB 05B9 05B8 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062; +0061 05BB 05B9 05B8 05BA 0062;0061 05B8 05B9 05BA 05BB 0062;0061 05B8 05B9 05BA 05BB 0062;0061 05B8 05B9 05BA 05BB 0062;0061 05B8 05B9 05BA 05BB 0062; +0061 05BA 05BB 05B9 05B8 0062;0061 05B8 05BA 05B9 05BB 0062;0061 05B8 05BA 05B9 05BB 0062;0061 05B8 05BA 05B9 05BB 0062;0061 05B8 05BA 05B9 05BB 0062; +0061 05BC 05BB 05B9 05BB 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062; +0061 05BB 05BC 05BB 05B9 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062; +0061 05BD 05BC 05BB 05BC 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062; +0061 05BC 05BD 05BC 05BB 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062; +0061 05BF 05BD 05BC 05BD 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062; +0061 05BD 05BF 05BD 05BC 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062; +0061 05C1 05BF 05BD 05BF 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062; +0061 05BF 05C1 05BF 05BD 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062; +0061 05C2 05C1 05BF 05C1 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062; +0061 05C1 05C2 05C1 05BF 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062; +0061 FB1E 05C2 05C1 05C2 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062; +0061 05C2 FB1E 05C2 05C1 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062; +0061 0315 0300 05AE 05C4 0062;00E0 05AE 05C4 0315 0062;0061 05AE 0300 05C4 0315 0062;00E0 05AE 05C4 0315 0062;0061 05AE 0300 05C4 0315 0062; +0061 05C4 0315 0300 05AE 0062;0061 05AE 05C4 0300 0315 0062;0061 05AE 05C4 0300 0315 0062;0061 05AE 05C4 0300 0315 0062;0061 05AE 05C4 0300 0315 0062; +0061 059A 0316 302A 05C5 0062;0061 302A 0316 05C5 059A 0062;0061 302A 0316 05C5 059A 0062;0061 302A 0316 05C5 059A 0062;0061 302A 0316 05C5 059A 0062; +0061 05C5 059A 0316 302A 0062;0061 302A 05C5 0316 059A 0062;0061 302A 05C5 0316 059A 0062;0061 302A 05C5 0316 059A 0062;0061 302A 05C5 0316 059A 0062; +0061 05B9 05B8 05B7 05C7 0062;0061 05B7 05B8 05C7 05B9 0062;0061 05B7 05B8 05C7 05B9 0062;0061 05B7 05B8 05C7 05B9 0062;0061 05B7 05B8 05C7 05B9 0062; +0061 05C7 05B9 05B8 05B7 0062;0061 05B7 05C7 05B8 05B9 0062;0061 05B7 05C7 05B8 05B9 0062;0061 05B7 05C7 05B8 05B9 0062;0061 05B7 05C7 05B8 05B9 0062; +0061 0315 0300 05AE 0610 0062;00E0 05AE 0610 0315 0062;0061 05AE 0300 0610 0315 0062;00E0 05AE 0610 0315 0062;0061 05AE 0300 0610 0315 0062; +0061 0610 0315 0300 05AE 0062;0061 05AE 0610 0300 0315 0062;0061 05AE 0610 0300 0315 0062;0061 05AE 0610 0300 0315 0062;0061 05AE 0610 0300 0315 0062; +0061 0315 0300 05AE 0611 0062;00E0 05AE 0611 0315 0062;0061 05AE 0300 0611 0315 0062;00E0 05AE 0611 0315 0062;0061 05AE 0300 0611 0315 0062; +0061 0611 0315 0300 05AE 0062;0061 05AE 0611 0300 0315 0062;0061 05AE 0611 0300 0315 0062;0061 05AE 0611 0300 0315 0062;0061 05AE 0611 0300 0315 0062; +0061 0315 0300 05AE 0612 0062;00E0 05AE 0612 0315 0062;0061 05AE 0300 0612 0315 0062;00E0 05AE 0612 0315 0062;0061 05AE 0300 0612 0315 0062; +0061 0612 0315 0300 05AE 0062;0061 05AE 0612 0300 0315 0062;0061 05AE 0612 0300 0315 0062;0061 05AE 0612 0300 0315 0062;0061 05AE 0612 0300 0315 0062; +0061 0315 0300 05AE 0613 0062;00E0 05AE 0613 0315 0062;0061 05AE 0300 0613 0315 0062;00E0 05AE 0613 0315 0062;0061 05AE 0300 0613 0315 0062; +0061 0613 0315 0300 05AE 0062;0061 05AE 0613 0300 0315 0062;0061 05AE 0613 0300 0315 0062;0061 05AE 0613 0300 0315 0062;0061 05AE 0613 0300 0315 0062; +0061 0315 0300 05AE 0614 0062;00E0 05AE 0614 0315 0062;0061 05AE 0300 0614 0315 0062;00E0 05AE 0614 0315 0062;0061 05AE 0300 0614 0315 0062; +0061 0614 0315 0300 05AE 0062;0061 05AE 0614 0300 0315 0062;0061 05AE 0614 0300 0315 0062;0061 05AE 0614 0300 0315 0062;0061 05AE 0614 0300 0315 0062; +0061 0315 0300 05AE 0615 0062;00E0 05AE 0615 0315 0062;0061 05AE 0300 0615 0315 0062;00E0 05AE 0615 0315 0062;0061 05AE 0300 0615 0315 0062; +0061 0615 0315 0300 05AE 0062;0061 05AE 0615 0300 0315 0062;0061 05AE 0615 0300 0315 0062;0061 05AE 0615 0300 0315 0062;0061 05AE 0615 0300 0315 0062; +0061 0315 0300 05AE 0616 0062;00E0 05AE 0616 0315 0062;0061 05AE 0300 0616 0315 0062;00E0 05AE 0616 0315 0062;0061 05AE 0300 0616 0315 0062; +0061 0616 0315 0300 05AE 0062;0061 05AE 0616 0300 0315 0062;0061 05AE 0616 0300 0315 0062;0061 05AE 0616 0300 0315 0062;0061 05AE 0616 0300 0315 0062; +0061 0315 0300 05AE 0617 0062;00E0 05AE 0617 0315 0062;0061 05AE 0300 0617 0315 0062;00E0 05AE 0617 0315 0062;0061 05AE 0300 0617 0315 0062; +0061 0617 0315 0300 05AE 0062;0061 05AE 0617 0300 0315 0062;0061 05AE 0617 0300 0315 0062;0061 05AE 0617 0300 0315 0062;0061 05AE 0617 0300 0315 0062; +0061 0619 0618 064D 0618 0062;0061 064D 0618 0618 0619 0062;0061 064D 0618 0618 0619 0062;0061 064D 0618 0618 0619 0062;0061 064D 0618 0618 0619 0062; +0061 0618 0619 0618 064D 0062;0061 064D 0618 0618 0619 0062;0061 064D 0618 0618 0619 0062;0061 064D 0618 0618 0619 0062;0061 064D 0618 0618 0619 0062; +0061 061A 0619 0618 0619 0062;0061 0618 0619 0619 061A 0062;0061 0618 0619 0619 061A 0062;0061 0618 0619 0619 061A 0062;0061 0618 0619 0619 061A 0062; +0061 0619 061A 0619 0618 0062;0061 0618 0619 0619 061A 0062;0061 0618 0619 0619 061A 0062;0061 0618 0619 0619 061A 0062;0061 0618 0619 0619 061A 0062; +0061 0651 061A 0619 061A 0062;0061 0619 061A 061A 0651 0062;0061 0619 061A 061A 0651 0062;0061 0619 061A 061A 0651 0062;0061 0619 061A 061A 0651 0062; +0061 061A 0651 061A 0619 0062;0061 0619 061A 061A 0651 0062;0061 0619 061A 061A 0651 0062;0061 0619 061A 061A 0651 0062;0061 0619 061A 061A 0651 0062; +0061 064C 064B FB1E 064B 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062; +0061 064B 064C 064B FB1E 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062; +0061 064D 064C 064B 064C 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062; +0061 064C 064D 064C 064B 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062; +0061 0618 064D 064C 064D 0062;0061 064C 064D 064D 0618 0062;0061 064C 064D 064D 0618 0062;0061 064C 064D 064D 0618 0062;0061 064C 064D 064D 0618 0062; +0061 064D 0618 064D 064C 0062;0061 064C 064D 064D 0618 0062;0061 064C 064D 064D 0618 0062;0061 064C 064D 064D 0618 0062;0061 064C 064D 064D 0618 0062; +0061 0619 0618 064D 064E 0062;0061 064D 0618 064E 0619 0062;0061 064D 0618 064E 0619 0062;0061 064D 0618 064E 0619 0062;0061 064D 0618 064E 0619 0062; +0061 064E 0619 0618 064D 0062;0061 064D 064E 0618 0619 0062;0061 064D 064E 0618 0619 0062;0061 064D 064E 0618 0619 0062;0061 064D 064E 0618 0619 0062; +0061 061A 0619 0618 064F 0062;0061 0618 0619 064F 061A 0062;0061 0618 0619 064F 061A 0062;0061 0618 0619 064F 061A 0062;0061 0618 0619 064F 061A 0062; +0061 064F 061A 0619 0618 0062;0061 0618 064F 0619 061A 0062;0061 0618 064F 0619 061A 0062;0061 0618 064F 0619 061A 0062;0061 0618 064F 0619 061A 0062; +0061 0651 061A 0619 0650 0062;0061 0619 061A 0650 0651 0062;0061 0619 061A 0650 0651 0062;0061 0619 061A 0650 0651 0062;0061 0619 061A 0650 0651 0062; +0061 0650 0651 061A 0619 0062;0061 0619 0650 061A 0651 0062;0061 0619 0650 061A 0651 0062;0061 0619 0650 061A 0651 0062;0061 0619 0650 061A 0651 0062; +0061 0652 0651 061A 0651 0062;0061 061A 0651 0651 0652 0062;0061 061A 0651 0651 0652 0062;0061 061A 0651 0651 0652 0062;0061 061A 0651 0651 0652 0062; +0061 0651 0652 0651 061A 0062;0061 061A 0651 0651 0652 0062;0061 061A 0651 0651 0652 0062;0061 061A 0651 0651 0652 0062;0061 061A 0651 0651 0652 0062; +0061 0670 0652 0651 0652 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062; +0061 0652 0670 0652 0651 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062; +0061 0315 0300 05AE 0653 0062;00E0 05AE 0653 0315 0062;0061 05AE 0300 0653 0315 0062;00E0 05AE 0653 0315 0062;0061 05AE 0300 0653 0315 0062; +0061 0653 0315 0300 05AE 0062;0061 05AE 0653 0300 0315 0062;0061 05AE 0653 0300 0315 0062;0061 05AE 0653 0300 0315 0062;0061 05AE 0653 0300 0315 0062; +0061 0315 0300 05AE 0654 0062;00E0 05AE 0654 0315 0062;0061 05AE 0300 0654 0315 0062;00E0 05AE 0654 0315 0062;0061 05AE 0300 0654 0315 0062; +0061 0654 0315 0300 05AE 0062;0061 05AE 0654 0300 0315 0062;0061 05AE 0654 0300 0315 0062;0061 05AE 0654 0300 0315 0062;0061 05AE 0654 0300 0315 0062; +0061 059A 0316 302A 0655 0062;0061 302A 0316 0655 059A 0062;0061 302A 0316 0655 059A 0062;0061 302A 0316 0655 059A 0062;0061 302A 0316 0655 059A 0062; +0061 0655 059A 0316 302A 0062;0061 302A 0655 0316 059A 0062;0061 302A 0655 0316 059A 0062;0061 302A 0655 0316 059A 0062;0061 302A 0655 0316 059A 0062; +0061 059A 0316 302A 0656 0062;0061 302A 0316 0656 059A 0062;0061 302A 0316 0656 059A 0062;0061 302A 0316 0656 059A 0062;0061 302A 0316 0656 059A 0062; +0061 0656 059A 0316 302A 0062;0061 302A 0656 0316 059A 0062;0061 302A 0656 0316 059A 0062;0061 302A 0656 0316 059A 0062;0061 302A 0656 0316 059A 0062; +0061 0315 0300 05AE 0657 0062;00E0 05AE 0657 0315 0062;0061 05AE 0300 0657 0315 0062;00E0 05AE 0657 0315 0062;0061 05AE 0300 0657 0315 0062; +0061 0657 0315 0300 05AE 0062;0061 05AE 0657 0300 0315 0062;0061 05AE 0657 0300 0315 0062;0061 05AE 0657 0300 0315 0062;0061 05AE 0657 0300 0315 0062; +0061 0315 0300 05AE 0658 0062;00E0 05AE 0658 0315 0062;0061 05AE 0300 0658 0315 0062;00E0 05AE 0658 0315 0062;0061 05AE 0300 0658 0315 0062; +0061 0658 0315 0300 05AE 0062;0061 05AE 0658 0300 0315 0062;0061 05AE 0658 0300 0315 0062;0061 05AE 0658 0300 0315 0062;0061 05AE 0658 0300 0315 0062; +0061 0315 0300 05AE 0659 0062;00E0 05AE 0659 0315 0062;0061 05AE 0300 0659 0315 0062;00E0 05AE 0659 0315 0062;0061 05AE 0300 0659 0315 0062; +0061 0659 0315 0300 05AE 0062;0061 05AE 0659 0300 0315 0062;0061 05AE 0659 0300 0315 0062;0061 05AE 0659 0300 0315 0062;0061 05AE 0659 0300 0315 0062; +0061 0315 0300 05AE 065A 0062;00E0 05AE 065A 0315 0062;0061 05AE 0300 065A 0315 0062;00E0 05AE 065A 0315 0062;0061 05AE 0300 065A 0315 0062; +0061 065A 0315 0300 05AE 0062;0061 05AE 065A 0300 0315 0062;0061 05AE 065A 0300 0315 0062;0061 05AE 065A 0300 0315 0062;0061 05AE 065A 0300 0315 0062; +0061 0315 0300 05AE 065B 0062;00E0 05AE 065B 0315 0062;0061 05AE 0300 065B 0315 0062;00E0 05AE 065B 0315 0062;0061 05AE 0300 065B 0315 0062; +0061 065B 0315 0300 05AE 0062;0061 05AE 065B 0300 0315 0062;0061 05AE 065B 0300 0315 0062;0061 05AE 065B 0300 0315 0062;0061 05AE 065B 0300 0315 0062; +0061 059A 0316 302A 065C 0062;0061 302A 0316 065C 059A 0062;0061 302A 0316 065C 059A 0062;0061 302A 0316 065C 059A 0062;0061 302A 0316 065C 059A 0062; +0061 065C 059A 0316 302A 0062;0061 302A 065C 0316 059A 0062;0061 302A 065C 0316 059A 0062;0061 302A 065C 0316 059A 0062;0061 302A 065C 0316 059A 0062; +0061 0315 0300 05AE 065D 0062;00E0 05AE 065D 0315 0062;0061 05AE 0300 065D 0315 0062;00E0 05AE 065D 0315 0062;0061 05AE 0300 065D 0315 0062; +0061 065D 0315 0300 05AE 0062;0061 05AE 065D 0300 0315 0062;0061 05AE 065D 0300 0315 0062;0061 05AE 065D 0300 0315 0062;0061 05AE 065D 0300 0315 0062; +0061 0315 0300 05AE 065E 0062;00E0 05AE 065E 0315 0062;0061 05AE 0300 065E 0315 0062;00E0 05AE 065E 0315 0062;0061 05AE 0300 065E 0315 0062; +0061 065E 0315 0300 05AE 0062;0061 05AE 065E 0300 0315 0062;0061 05AE 065E 0300 0315 0062;0061 05AE 065E 0300 0315 0062;0061 05AE 065E 0300 0315 0062; +0061 0711 0670 0652 0670 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062; +0061 0670 0711 0670 0652 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062; +0061 0315 0300 05AE 06D6 0062;00E0 05AE 06D6 0315 0062;0061 05AE 0300 06D6 0315 0062;00E0 05AE 06D6 0315 0062;0061 05AE 0300 06D6 0315 0062; +0061 06D6 0315 0300 05AE 0062;0061 05AE 06D6 0300 0315 0062;0061 05AE 06D6 0300 0315 0062;0061 05AE 06D6 0300 0315 0062;0061 05AE 06D6 0300 0315 0062; +0061 0315 0300 05AE 06D7 0062;00E0 05AE 06D7 0315 0062;0061 05AE 0300 06D7 0315 0062;00E0 05AE 06D7 0315 0062;0061 05AE 0300 06D7 0315 0062; +0061 06D7 0315 0300 05AE 0062;0061 05AE 06D7 0300 0315 0062;0061 05AE 06D7 0300 0315 0062;0061 05AE 06D7 0300 0315 0062;0061 05AE 06D7 0300 0315 0062; +0061 0315 0300 05AE 06D8 0062;00E0 05AE 06D8 0315 0062;0061 05AE 0300 06D8 0315 0062;00E0 05AE 06D8 0315 0062;0061 05AE 0300 06D8 0315 0062; +0061 06D8 0315 0300 05AE 0062;0061 05AE 06D8 0300 0315 0062;0061 05AE 06D8 0300 0315 0062;0061 05AE 06D8 0300 0315 0062;0061 05AE 06D8 0300 0315 0062; +0061 0315 0300 05AE 06D9 0062;00E0 05AE 06D9 0315 0062;0061 05AE 0300 06D9 0315 0062;00E0 05AE 06D9 0315 0062;0061 05AE 0300 06D9 0315 0062; +0061 06D9 0315 0300 05AE 0062;0061 05AE 06D9 0300 0315 0062;0061 05AE 06D9 0300 0315 0062;0061 05AE 06D9 0300 0315 0062;0061 05AE 06D9 0300 0315 0062; +0061 0315 0300 05AE 06DA 0062;00E0 05AE 06DA 0315 0062;0061 05AE 0300 06DA 0315 0062;00E0 05AE 06DA 0315 0062;0061 05AE 0300 06DA 0315 0062; +0061 06DA 0315 0300 05AE 0062;0061 05AE 06DA 0300 0315 0062;0061 05AE 06DA 0300 0315 0062;0061 05AE 06DA 0300 0315 0062;0061 05AE 06DA 0300 0315 0062; +0061 0315 0300 05AE 06DB 0062;00E0 05AE 06DB 0315 0062;0061 05AE 0300 06DB 0315 0062;00E0 05AE 06DB 0315 0062;0061 05AE 0300 06DB 0315 0062; +0061 06DB 0315 0300 05AE 0062;0061 05AE 06DB 0300 0315 0062;0061 05AE 06DB 0300 0315 0062;0061 05AE 06DB 0300 0315 0062;0061 05AE 06DB 0300 0315 0062; +0061 0315 0300 05AE 06DC 0062;00E0 05AE 06DC 0315 0062;0061 05AE 0300 06DC 0315 0062;00E0 05AE 06DC 0315 0062;0061 05AE 0300 06DC 0315 0062; +0061 06DC 0315 0300 05AE 0062;0061 05AE 06DC 0300 0315 0062;0061 05AE 06DC 0300 0315 0062;0061 05AE 06DC 0300 0315 0062;0061 05AE 06DC 0300 0315 0062; +0061 0315 0300 05AE 06DF 0062;00E0 05AE 06DF 0315 0062;0061 05AE 0300 06DF 0315 0062;00E0 05AE 06DF 0315 0062;0061 05AE 0300 06DF 0315 0062; +0061 06DF 0315 0300 05AE 0062;0061 05AE 06DF 0300 0315 0062;0061 05AE 06DF 0300 0315 0062;0061 05AE 06DF 0300 0315 0062;0061 05AE 06DF 0300 0315 0062; +0061 0315 0300 05AE 06E0 0062;00E0 05AE 06E0 0315 0062;0061 05AE 0300 06E0 0315 0062;00E0 05AE 06E0 0315 0062;0061 05AE 0300 06E0 0315 0062; +0061 06E0 0315 0300 05AE 0062;0061 05AE 06E0 0300 0315 0062;0061 05AE 06E0 0300 0315 0062;0061 05AE 06E0 0300 0315 0062;0061 05AE 06E0 0300 0315 0062; +0061 0315 0300 05AE 06E1 0062;00E0 05AE 06E1 0315 0062;0061 05AE 0300 06E1 0315 0062;00E0 05AE 06E1 0315 0062;0061 05AE 0300 06E1 0315 0062; +0061 06E1 0315 0300 05AE 0062;0061 05AE 06E1 0300 0315 0062;0061 05AE 06E1 0300 0315 0062;0061 05AE 06E1 0300 0315 0062;0061 05AE 06E1 0300 0315 0062; +0061 0315 0300 05AE 06E2 0062;00E0 05AE 06E2 0315 0062;0061 05AE 0300 06E2 0315 0062;00E0 05AE 06E2 0315 0062;0061 05AE 0300 06E2 0315 0062; +0061 06E2 0315 0300 05AE 0062;0061 05AE 06E2 0300 0315 0062;0061 05AE 06E2 0300 0315 0062;0061 05AE 06E2 0300 0315 0062;0061 05AE 06E2 0300 0315 0062; +0061 059A 0316 302A 06E3 0062;0061 302A 0316 06E3 059A 0062;0061 302A 0316 06E3 059A 0062;0061 302A 0316 06E3 059A 0062;0061 302A 0316 06E3 059A 0062; +0061 06E3 059A 0316 302A 0062;0061 302A 06E3 0316 059A 0062;0061 302A 06E3 0316 059A 0062;0061 302A 06E3 0316 059A 0062;0061 302A 06E3 0316 059A 0062; +0061 0315 0300 05AE 06E4 0062;00E0 05AE 06E4 0315 0062;0061 05AE 0300 06E4 0315 0062;00E0 05AE 06E4 0315 0062;0061 05AE 0300 06E4 0315 0062; +0061 06E4 0315 0300 05AE 0062;0061 05AE 06E4 0300 0315 0062;0061 05AE 06E4 0300 0315 0062;0061 05AE 06E4 0300 0315 0062;0061 05AE 06E4 0300 0315 0062; +0061 0315 0300 05AE 06E7 0062;00E0 05AE 06E7 0315 0062;0061 05AE 0300 06E7 0315 0062;00E0 05AE 06E7 0315 0062;0061 05AE 0300 06E7 0315 0062; +0061 06E7 0315 0300 05AE 0062;0061 05AE 06E7 0300 0315 0062;0061 05AE 06E7 0300 0315 0062;0061 05AE 06E7 0300 0315 0062;0061 05AE 06E7 0300 0315 0062; +0061 0315 0300 05AE 06E8 0062;00E0 05AE 06E8 0315 0062;0061 05AE 0300 06E8 0315 0062;00E0 05AE 06E8 0315 0062;0061 05AE 0300 06E8 0315 0062; +0061 06E8 0315 0300 05AE 0062;0061 05AE 06E8 0300 0315 0062;0061 05AE 06E8 0300 0315 0062;0061 05AE 06E8 0300 0315 0062;0061 05AE 06E8 0300 0315 0062; +0061 059A 0316 302A 06EA 0062;0061 302A 0316 06EA 059A 0062;0061 302A 0316 06EA 059A 0062;0061 302A 0316 06EA 059A 0062;0061 302A 0316 06EA 059A 0062; +0061 06EA 059A 0316 302A 0062;0061 302A 06EA 0316 059A 0062;0061 302A 06EA 0316 059A 0062;0061 302A 06EA 0316 059A 0062;0061 302A 06EA 0316 059A 0062; +0061 0315 0300 05AE 06EB 0062;00E0 05AE 06EB 0315 0062;0061 05AE 0300 06EB 0315 0062;00E0 05AE 06EB 0315 0062;0061 05AE 0300 06EB 0315 0062; +0061 06EB 0315 0300 05AE 0062;0061 05AE 06EB 0300 0315 0062;0061 05AE 06EB 0300 0315 0062;0061 05AE 06EB 0300 0315 0062;0061 05AE 06EB 0300 0315 0062; +0061 0315 0300 05AE 06EC 0062;00E0 05AE 06EC 0315 0062;0061 05AE 0300 06EC 0315 0062;00E0 05AE 06EC 0315 0062;0061 05AE 0300 06EC 0315 0062; +0061 06EC 0315 0300 05AE 0062;0061 05AE 06EC 0300 0315 0062;0061 05AE 06EC 0300 0315 0062;0061 05AE 06EC 0300 0315 0062;0061 05AE 06EC 0300 0315 0062; +0061 059A 0316 302A 06ED 0062;0061 302A 0316 06ED 059A 0062;0061 302A 0316 06ED 059A 0062;0061 302A 0316 06ED 059A 0062;0061 302A 0316 06ED 059A 0062; +0061 06ED 059A 0316 302A 0062;0061 302A 06ED 0316 059A 0062;0061 302A 06ED 0316 059A 0062;0061 302A 06ED 0316 059A 0062;0061 302A 06ED 0316 059A 0062; +0061 0C55 0711 0670 0711 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062; +0061 0711 0C55 0711 0670 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062; +0061 0315 0300 05AE 0730 0062;00E0 05AE 0730 0315 0062;0061 05AE 0300 0730 0315 0062;00E0 05AE 0730 0315 0062;0061 05AE 0300 0730 0315 0062; +0061 0730 0315 0300 05AE 0062;0061 05AE 0730 0300 0315 0062;0061 05AE 0730 0300 0315 0062;0061 05AE 0730 0300 0315 0062;0061 05AE 0730 0300 0315 0062; +0061 059A 0316 302A 0731 0062;0061 302A 0316 0731 059A 0062;0061 302A 0316 0731 059A 0062;0061 302A 0316 0731 059A 0062;0061 302A 0316 0731 059A 0062; +0061 0731 059A 0316 302A 0062;0061 302A 0731 0316 059A 0062;0061 302A 0731 0316 059A 0062;0061 302A 0731 0316 059A 0062;0061 302A 0731 0316 059A 0062; +0061 0315 0300 05AE 0732 0062;00E0 05AE 0732 0315 0062;0061 05AE 0300 0732 0315 0062;00E0 05AE 0732 0315 0062;0061 05AE 0300 0732 0315 0062; +0061 0732 0315 0300 05AE 0062;0061 05AE 0732 0300 0315 0062;0061 05AE 0732 0300 0315 0062;0061 05AE 0732 0300 0315 0062;0061 05AE 0732 0300 0315 0062; +0061 0315 0300 05AE 0733 0062;00E0 05AE 0733 0315 0062;0061 05AE 0300 0733 0315 0062;00E0 05AE 0733 0315 0062;0061 05AE 0300 0733 0315 0062; +0061 0733 0315 0300 05AE 0062;0061 05AE 0733 0300 0315 0062;0061 05AE 0733 0300 0315 0062;0061 05AE 0733 0300 0315 0062;0061 05AE 0733 0300 0315 0062; +0061 059A 0316 302A 0734 0062;0061 302A 0316 0734 059A 0062;0061 302A 0316 0734 059A 0062;0061 302A 0316 0734 059A 0062;0061 302A 0316 0734 059A 0062; +0061 0734 059A 0316 302A 0062;0061 302A 0734 0316 059A 0062;0061 302A 0734 0316 059A 0062;0061 302A 0734 0316 059A 0062;0061 302A 0734 0316 059A 0062; +0061 0315 0300 05AE 0735 0062;00E0 05AE 0735 0315 0062;0061 05AE 0300 0735 0315 0062;00E0 05AE 0735 0315 0062;0061 05AE 0300 0735 0315 0062; +0061 0735 0315 0300 05AE 0062;0061 05AE 0735 0300 0315 0062;0061 05AE 0735 0300 0315 0062;0061 05AE 0735 0300 0315 0062;0061 05AE 0735 0300 0315 0062; +0061 0315 0300 05AE 0736 0062;00E0 05AE 0736 0315 0062;0061 05AE 0300 0736 0315 0062;00E0 05AE 0736 0315 0062;0061 05AE 0300 0736 0315 0062; +0061 0736 0315 0300 05AE 0062;0061 05AE 0736 0300 0315 0062;0061 05AE 0736 0300 0315 0062;0061 05AE 0736 0300 0315 0062;0061 05AE 0736 0300 0315 0062; +0061 059A 0316 302A 0737 0062;0061 302A 0316 0737 059A 0062;0061 302A 0316 0737 059A 0062;0061 302A 0316 0737 059A 0062;0061 302A 0316 0737 059A 0062; +0061 0737 059A 0316 302A 0062;0061 302A 0737 0316 059A 0062;0061 302A 0737 0316 059A 0062;0061 302A 0737 0316 059A 0062;0061 302A 0737 0316 059A 0062; +0061 059A 0316 302A 0738 0062;0061 302A 0316 0738 059A 0062;0061 302A 0316 0738 059A 0062;0061 302A 0316 0738 059A 0062;0061 302A 0316 0738 059A 0062; +0061 0738 059A 0316 302A 0062;0061 302A 0738 0316 059A 0062;0061 302A 0738 0316 059A 0062;0061 302A 0738 0316 059A 0062;0061 302A 0738 0316 059A 0062; +0061 059A 0316 302A 0739 0062;0061 302A 0316 0739 059A 0062;0061 302A 0316 0739 059A 0062;0061 302A 0316 0739 059A 0062;0061 302A 0316 0739 059A 0062; +0061 0739 059A 0316 302A 0062;0061 302A 0739 0316 059A 0062;0061 302A 0739 0316 059A 0062;0061 302A 0739 0316 059A 0062;0061 302A 0739 0316 059A 0062; +0061 0315 0300 05AE 073A 0062;00E0 05AE 073A 0315 0062;0061 05AE 0300 073A 0315 0062;00E0 05AE 073A 0315 0062;0061 05AE 0300 073A 0315 0062; +0061 073A 0315 0300 05AE 0062;0061 05AE 073A 0300 0315 0062;0061 05AE 073A 0300 0315 0062;0061 05AE 073A 0300 0315 0062;0061 05AE 073A 0300 0315 0062; +0061 059A 0316 302A 073B 0062;0061 302A 0316 073B 059A 0062;0061 302A 0316 073B 059A 0062;0061 302A 0316 073B 059A 0062;0061 302A 0316 073B 059A 0062; +0061 073B 059A 0316 302A 0062;0061 302A 073B 0316 059A 0062;0061 302A 073B 0316 059A 0062;0061 302A 073B 0316 059A 0062;0061 302A 073B 0316 059A 0062; +0061 059A 0316 302A 073C 0062;0061 302A 0316 073C 059A 0062;0061 302A 0316 073C 059A 0062;0061 302A 0316 073C 059A 0062;0061 302A 0316 073C 059A 0062; +0061 073C 059A 0316 302A 0062;0061 302A 073C 0316 059A 0062;0061 302A 073C 0316 059A 0062;0061 302A 073C 0316 059A 0062;0061 302A 073C 0316 059A 0062; +0061 0315 0300 05AE 073D 0062;00E0 05AE 073D 0315 0062;0061 05AE 0300 073D 0315 0062;00E0 05AE 073D 0315 0062;0061 05AE 0300 073D 0315 0062; +0061 073D 0315 0300 05AE 0062;0061 05AE 073D 0300 0315 0062;0061 05AE 073D 0300 0315 0062;0061 05AE 073D 0300 0315 0062;0061 05AE 073D 0300 0315 0062; +0061 059A 0316 302A 073E 0062;0061 302A 0316 073E 059A 0062;0061 302A 0316 073E 059A 0062;0061 302A 0316 073E 059A 0062;0061 302A 0316 073E 059A 0062; +0061 073E 059A 0316 302A 0062;0061 302A 073E 0316 059A 0062;0061 302A 073E 0316 059A 0062;0061 302A 073E 0316 059A 0062;0061 302A 073E 0316 059A 0062; +0061 0315 0300 05AE 073F 0062;00E0 05AE 073F 0315 0062;0061 05AE 0300 073F 0315 0062;00E0 05AE 073F 0315 0062;0061 05AE 0300 073F 0315 0062; +0061 073F 0315 0300 05AE 0062;0061 05AE 073F 0300 0315 0062;0061 05AE 073F 0300 0315 0062;0061 05AE 073F 0300 0315 0062;0061 05AE 073F 0300 0315 0062; +0061 0315 0300 05AE 0740 0062;00E0 05AE 0740 0315 0062;0061 05AE 0300 0740 0315 0062;00E0 05AE 0740 0315 0062;0061 05AE 0300 0740 0315 0062; +0061 0740 0315 0300 05AE 0062;0061 05AE 0740 0300 0315 0062;0061 05AE 0740 0300 0315 0062;0061 05AE 0740 0300 0315 0062;0061 05AE 0740 0300 0315 0062; +0061 0315 0300 05AE 0741 0062;00E0 05AE 0741 0315 0062;0061 05AE 0300 0741 0315 0062;00E0 05AE 0741 0315 0062;0061 05AE 0300 0741 0315 0062; +0061 0741 0315 0300 05AE 0062;0061 05AE 0741 0300 0315 0062;0061 05AE 0741 0300 0315 0062;0061 05AE 0741 0300 0315 0062;0061 05AE 0741 0300 0315 0062; +0061 059A 0316 302A 0742 0062;0061 302A 0316 0742 059A 0062;0061 302A 0316 0742 059A 0062;0061 302A 0316 0742 059A 0062;0061 302A 0316 0742 059A 0062; +0061 0742 059A 0316 302A 0062;0061 302A 0742 0316 059A 0062;0061 302A 0742 0316 059A 0062;0061 302A 0742 0316 059A 0062;0061 302A 0742 0316 059A 0062; +0061 0315 0300 05AE 0743 0062;00E0 05AE 0743 0315 0062;0061 05AE 0300 0743 0315 0062;00E0 05AE 0743 0315 0062;0061 05AE 0300 0743 0315 0062; +0061 0743 0315 0300 05AE 0062;0061 05AE 0743 0300 0315 0062;0061 05AE 0743 0300 0315 0062;0061 05AE 0743 0300 0315 0062;0061 05AE 0743 0300 0315 0062; +0061 059A 0316 302A 0744 0062;0061 302A 0316 0744 059A 0062;0061 302A 0316 0744 059A 0062;0061 302A 0316 0744 059A 0062;0061 302A 0316 0744 059A 0062; +0061 0744 059A 0316 302A 0062;0061 302A 0744 0316 059A 0062;0061 302A 0744 0316 059A 0062;0061 302A 0744 0316 059A 0062;0061 302A 0744 0316 059A 0062; +0061 0315 0300 05AE 0745 0062;00E0 05AE 0745 0315 0062;0061 05AE 0300 0745 0315 0062;00E0 05AE 0745 0315 0062;0061 05AE 0300 0745 0315 0062; +0061 0745 0315 0300 05AE 0062;0061 05AE 0745 0300 0315 0062;0061 05AE 0745 0300 0315 0062;0061 05AE 0745 0300 0315 0062;0061 05AE 0745 0300 0315 0062; +0061 059A 0316 302A 0746 0062;0061 302A 0316 0746 059A 0062;0061 302A 0316 0746 059A 0062;0061 302A 0316 0746 059A 0062;0061 302A 0316 0746 059A 0062; +0061 0746 059A 0316 302A 0062;0061 302A 0746 0316 059A 0062;0061 302A 0746 0316 059A 0062;0061 302A 0746 0316 059A 0062;0061 302A 0746 0316 059A 0062; +0061 0315 0300 05AE 0747 0062;00E0 05AE 0747 0315 0062;0061 05AE 0300 0747 0315 0062;00E0 05AE 0747 0315 0062;0061 05AE 0300 0747 0315 0062; +0061 0747 0315 0300 05AE 0062;0061 05AE 0747 0300 0315 0062;0061 05AE 0747 0300 0315 0062;0061 05AE 0747 0300 0315 0062;0061 05AE 0747 0300 0315 0062; +0061 059A 0316 302A 0748 0062;0061 302A 0316 0748 059A 0062;0061 302A 0316 0748 059A 0062;0061 302A 0316 0748 059A 0062;0061 302A 0316 0748 059A 0062; +0061 0748 059A 0316 302A 0062;0061 302A 0748 0316 059A 0062;0061 302A 0748 0316 059A 0062;0061 302A 0748 0316 059A 0062;0061 302A 0748 0316 059A 0062; +0061 0315 0300 05AE 0749 0062;00E0 05AE 0749 0315 0062;0061 05AE 0300 0749 0315 0062;00E0 05AE 0749 0315 0062;0061 05AE 0300 0749 0315 0062; +0061 0749 0315 0300 05AE 0062;0061 05AE 0749 0300 0315 0062;0061 05AE 0749 0300 0315 0062;0061 05AE 0749 0300 0315 0062;0061 05AE 0749 0300 0315 0062; +0061 0315 0300 05AE 074A 0062;00E0 05AE 074A 0315 0062;0061 05AE 0300 074A 0315 0062;00E0 05AE 074A 0315 0062;0061 05AE 0300 074A 0315 0062; +0061 074A 0315 0300 05AE 0062;0061 05AE 074A 0300 0315 0062;0061 05AE 074A 0300 0315 0062;0061 05AE 074A 0300 0315 0062;0061 05AE 074A 0300 0315 0062; +0061 0315 0300 05AE 07EB 0062;00E0 05AE 07EB 0315 0062;0061 05AE 0300 07EB 0315 0062;00E0 05AE 07EB 0315 0062;0061 05AE 0300 07EB 0315 0062; +0061 07EB 0315 0300 05AE 0062;0061 05AE 07EB 0300 0315 0062;0061 05AE 07EB 0300 0315 0062;0061 05AE 07EB 0300 0315 0062;0061 05AE 07EB 0300 0315 0062; +0061 0315 0300 05AE 07EC 0062;00E0 05AE 07EC 0315 0062;0061 05AE 0300 07EC 0315 0062;00E0 05AE 07EC 0315 0062;0061 05AE 0300 07EC 0315 0062; +0061 07EC 0315 0300 05AE 0062;0061 05AE 07EC 0300 0315 0062;0061 05AE 07EC 0300 0315 0062;0061 05AE 07EC 0300 0315 0062;0061 05AE 07EC 0300 0315 0062; +0061 0315 0300 05AE 07ED 0062;00E0 05AE 07ED 0315 0062;0061 05AE 0300 07ED 0315 0062;00E0 05AE 07ED 0315 0062;0061 05AE 0300 07ED 0315 0062; +0061 07ED 0315 0300 05AE 0062;0061 05AE 07ED 0300 0315 0062;0061 05AE 07ED 0300 0315 0062;0061 05AE 07ED 0300 0315 0062;0061 05AE 07ED 0300 0315 0062; +0061 0315 0300 05AE 07EE 0062;00E0 05AE 07EE 0315 0062;0061 05AE 0300 07EE 0315 0062;00E0 05AE 07EE 0315 0062;0061 05AE 0300 07EE 0315 0062; +0061 07EE 0315 0300 05AE 0062;0061 05AE 07EE 0300 0315 0062;0061 05AE 07EE 0300 0315 0062;0061 05AE 07EE 0300 0315 0062;0061 05AE 07EE 0300 0315 0062; +0061 0315 0300 05AE 07EF 0062;00E0 05AE 07EF 0315 0062;0061 05AE 0300 07EF 0315 0062;00E0 05AE 07EF 0315 0062;0061 05AE 0300 07EF 0315 0062; +0061 07EF 0315 0300 05AE 0062;0061 05AE 07EF 0300 0315 0062;0061 05AE 07EF 0300 0315 0062;0061 05AE 07EF 0300 0315 0062;0061 05AE 07EF 0300 0315 0062; +0061 0315 0300 05AE 07F0 0062;00E0 05AE 07F0 0315 0062;0061 05AE 0300 07F0 0315 0062;00E0 05AE 07F0 0315 0062;0061 05AE 0300 07F0 0315 0062; +0061 07F0 0315 0300 05AE 0062;0061 05AE 07F0 0300 0315 0062;0061 05AE 07F0 0300 0315 0062;0061 05AE 07F0 0300 0315 0062;0061 05AE 07F0 0300 0315 0062; +0061 0315 0300 05AE 07F1 0062;00E0 05AE 07F1 0315 0062;0061 05AE 0300 07F1 0315 0062;00E0 05AE 07F1 0315 0062;0061 05AE 0300 07F1 0315 0062; +0061 07F1 0315 0300 05AE 0062;0061 05AE 07F1 0300 0315 0062;0061 05AE 07F1 0300 0315 0062;0061 05AE 07F1 0300 0315 0062;0061 05AE 07F1 0300 0315 0062; +0061 059A 0316 302A 07F2 0062;0061 302A 0316 07F2 059A 0062;0061 302A 0316 07F2 059A 0062;0061 302A 0316 07F2 059A 0062;0061 302A 0316 07F2 059A 0062; +0061 07F2 059A 0316 302A 0062;0061 302A 07F2 0316 059A 0062;0061 302A 07F2 0316 059A 0062;0061 302A 07F2 0316 059A 0062;0061 302A 07F2 0316 059A 0062; +0061 0315 0300 05AE 07F3 0062;00E0 05AE 07F3 0315 0062;0061 05AE 0300 07F3 0315 0062;00E0 05AE 07F3 0315 0062;0061 05AE 0300 07F3 0315 0062; +0061 07F3 0315 0300 05AE 0062;0061 05AE 07F3 0300 0315 0062;0061 05AE 07F3 0300 0315 0062;0061 05AE 07F3 0300 0315 0062;0061 05AE 07F3 0300 0315 0062; +0061 3099 093C 0334 093C 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062; +0061 093C 3099 093C 0334 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062; +0061 05B0 094D 3099 094D 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062; +0061 094D 05B0 094D 3099 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062; +0061 0315 0300 05AE 0951 0062;00E0 05AE 0951 0315 0062;0061 05AE 0300 0951 0315 0062;00E0 05AE 0951 0315 0062;0061 05AE 0300 0951 0315 0062; +0061 0951 0315 0300 05AE 0062;0061 05AE 0951 0300 0315 0062;0061 05AE 0951 0300 0315 0062;0061 05AE 0951 0300 0315 0062;0061 05AE 0951 0300 0315 0062; +0061 059A 0316 302A 0952 0062;0061 302A 0316 0952 059A 0062;0061 302A 0316 0952 059A 0062;0061 302A 0316 0952 059A 0062;0061 302A 0316 0952 059A 0062; +0061 0952 059A 0316 302A 0062;0061 302A 0952 0316 059A 0062;0061 302A 0952 0316 059A 0062;0061 302A 0952 0316 059A 0062;0061 302A 0952 0316 059A 0062; +0061 0315 0300 05AE 0953 0062;00E0 05AE 0953 0315 0062;0061 05AE 0300 0953 0315 0062;00E0 05AE 0953 0315 0062;0061 05AE 0300 0953 0315 0062; +0061 0953 0315 0300 05AE 0062;0061 05AE 0953 0300 0315 0062;0061 05AE 0953 0300 0315 0062;0061 05AE 0953 0300 0315 0062;0061 05AE 0953 0300 0315 0062; +0061 0315 0300 05AE 0954 0062;00E0 05AE 0954 0315 0062;0061 05AE 0300 0954 0315 0062;00E0 05AE 0954 0315 0062;0061 05AE 0300 0954 0315 0062; +0061 0954 0315 0300 05AE 0062;0061 05AE 0954 0300 0315 0062;0061 05AE 0954 0300 0315 0062;0061 05AE 0954 0300 0315 0062;0061 05AE 0954 0300 0315 0062; +0061 3099 093C 0334 09BC 0062;0061 0334 093C 09BC 3099 0062;0061 0334 093C 09BC 3099 0062;0061 0334 093C 09BC 3099 0062;0061 0334 093C 09BC 3099 0062; +0061 09BC 3099 093C 0334 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062; +0061 05B0 094D 3099 09CD 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062; +0061 09CD 05B0 094D 3099 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062; +0061 3099 093C 0334 0A3C 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062; +0061 0A3C 3099 093C 0334 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062; +0061 05B0 094D 3099 0A4D 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062; +0061 0A4D 05B0 094D 3099 0062;0061 3099 0A4D 094D 05B0 0062;0061 3099 0A4D 094D 05B0 0062;0061 3099 0A4D 094D 05B0 0062;0061 3099 0A4D 094D 05B0 0062; +0061 3099 093C 0334 0ABC 0062;0061 0334 093C 0ABC 3099 0062;0061 0334 093C 0ABC 3099 0062;0061 0334 093C 0ABC 3099 0062;0061 0334 093C 0ABC 3099 0062; +0061 0ABC 3099 093C 0334 0062;0061 0334 0ABC 093C 3099 0062;0061 0334 0ABC 093C 3099 0062;0061 0334 0ABC 093C 3099 0062;0061 0334 0ABC 093C 3099 0062; +0061 05B0 094D 3099 0ACD 0062;0061 3099 094D 0ACD 05B0 0062;0061 3099 094D 0ACD 05B0 0062;0061 3099 094D 0ACD 05B0 0062;0061 3099 094D 0ACD 05B0 0062; +0061 0ACD 05B0 094D 3099 0062;0061 3099 0ACD 094D 05B0 0062;0061 3099 0ACD 094D 05B0 0062;0061 3099 0ACD 094D 05B0 0062;0061 3099 0ACD 094D 05B0 0062; +0061 3099 093C 0334 0B3C 0062;0061 0334 093C 0B3C 3099 0062;0061 0334 093C 0B3C 3099 0062;0061 0334 093C 0B3C 3099 0062;0061 0334 093C 0B3C 3099 0062; +0061 0B3C 3099 093C 0334 0062;0061 0334 0B3C 093C 3099 0062;0061 0334 0B3C 093C 3099 0062;0061 0334 0B3C 093C 3099 0062;0061 0334 0B3C 093C 3099 0062; +0061 05B0 094D 3099 0B4D 0062;0061 3099 094D 0B4D 05B0 0062;0061 3099 094D 0B4D 05B0 0062;0061 3099 094D 0B4D 05B0 0062;0061 3099 094D 0B4D 05B0 0062; +0061 0B4D 05B0 094D 3099 0062;0061 3099 0B4D 094D 05B0 0062;0061 3099 0B4D 094D 05B0 0062;0061 3099 0B4D 094D 05B0 0062;0061 3099 0B4D 094D 05B0 0062; +0061 05B0 094D 3099 0BCD 0062;0061 3099 094D 0BCD 05B0 0062;0061 3099 094D 0BCD 05B0 0062;0061 3099 094D 0BCD 05B0 0062;0061 3099 094D 0BCD 05B0 0062; +0061 0BCD 05B0 094D 3099 0062;0061 3099 0BCD 094D 05B0 0062;0061 3099 0BCD 094D 05B0 0062;0061 3099 0BCD 094D 05B0 0062;0061 3099 0BCD 094D 05B0 0062; +0061 05B0 094D 3099 0C4D 0062;0061 3099 094D 0C4D 05B0 0062;0061 3099 094D 0C4D 05B0 0062;0061 3099 094D 0C4D 05B0 0062;0061 3099 094D 0C4D 05B0 0062; +0061 0C4D 05B0 094D 3099 0062;0061 3099 0C4D 094D 05B0 0062;0061 3099 0C4D 094D 05B0 0062;0061 3099 0C4D 094D 05B0 0062;0061 3099 0C4D 094D 05B0 0062; +0061 0C56 0C55 0711 0C55 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062; +0061 0C55 0C56 0C55 0711 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062; +0061 0E38 0C56 0C55 0C56 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062; +0061 0C56 0E38 0C56 0C55 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062; +0061 3099 093C 0334 0CBC 0062;0061 0334 093C 0CBC 3099 0062;0061 0334 093C 0CBC 3099 0062;0061 0334 093C 0CBC 3099 0062;0061 0334 093C 0CBC 3099 0062; +0061 0CBC 3099 093C 0334 0062;0061 0334 0CBC 093C 3099 0062;0061 0334 0CBC 093C 3099 0062;0061 0334 0CBC 093C 3099 0062;0061 0334 0CBC 093C 3099 0062; +0061 05B0 094D 3099 0CCD 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062; +0061 0CCD 05B0 094D 3099 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062; +0061 05B0 094D 3099 0D4D 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062; +0061 0D4D 05B0 094D 3099 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062; +0061 05B0 094D 3099 0DCA 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062; +0061 0DCA 05B0 094D 3099 0062;0061 3099 0DCA 094D 05B0 0062;0061 3099 0DCA 094D 05B0 0062;0061 3099 0DCA 094D 05B0 0062;0061 3099 0DCA 094D 05B0 0062; +0061 0E48 0E38 0C56 0E38 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062; +0061 0E38 0E48 0E38 0C56 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062; +0061 0E48 0E38 0C56 0E39 0062;0061 0C56 0E38 0E39 0E48 0062;0061 0C56 0E38 0E39 0E48 0062;0061 0C56 0E38 0E39 0E48 0062;0061 0C56 0E38 0E39 0E48 0062; +0061 0E39 0E48 0E38 0C56 0062;0061 0C56 0E39 0E38 0E48 0062;0061 0C56 0E39 0E38 0E48 0062;0061 0C56 0E39 0E38 0E48 0062;0061 0C56 0E39 0E38 0E48 0062; +0061 05B0 094D 3099 0E3A 0062;0061 3099 094D 0E3A 05B0 0062;0061 3099 094D 0E3A 05B0 0062;0061 3099 094D 0E3A 05B0 0062;0061 3099 094D 0E3A 05B0 0062; +0061 0E3A 05B0 094D 3099 0062;0061 3099 0E3A 094D 05B0 0062;0061 3099 0E3A 094D 05B0 0062;0061 3099 0E3A 094D 05B0 0062;0061 3099 0E3A 094D 05B0 0062; +0061 0EB8 0E48 0E38 0E48 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062; +0061 0E48 0EB8 0E48 0E38 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062; +0061 0EB8 0E48 0E38 0E49 0062;0061 0E38 0E48 0E49 0EB8 0062;0061 0E38 0E48 0E49 0EB8 0062;0061 0E38 0E48 0E49 0EB8 0062;0061 0E38 0E48 0E49 0EB8 0062; +0061 0E49 0EB8 0E48 0E38 0062;0061 0E38 0E49 0E48 0EB8 0062;0061 0E38 0E49 0E48 0EB8 0062;0061 0E38 0E49 0E48 0EB8 0062;0061 0E38 0E49 0E48 0EB8 0062; +0061 0EB8 0E48 0E38 0E4A 0062;0061 0E38 0E48 0E4A 0EB8 0062;0061 0E38 0E48 0E4A 0EB8 0062;0061 0E38 0E48 0E4A 0EB8 0062;0061 0E38 0E48 0E4A 0EB8 0062; +0061 0E4A 0EB8 0E48 0E38 0062;0061 0E38 0E4A 0E48 0EB8 0062;0061 0E38 0E4A 0E48 0EB8 0062;0061 0E38 0E4A 0E48 0EB8 0062;0061 0E38 0E4A 0E48 0EB8 0062; +0061 0EB8 0E48 0E38 0E4B 0062;0061 0E38 0E48 0E4B 0EB8 0062;0061 0E38 0E48 0E4B 0EB8 0062;0061 0E38 0E48 0E4B 0EB8 0062;0061 0E38 0E48 0E4B 0EB8 0062; +0061 0E4B 0EB8 0E48 0E38 0062;0061 0E38 0E4B 0E48 0EB8 0062;0061 0E38 0E4B 0E48 0EB8 0062;0061 0E38 0E4B 0E48 0EB8 0062;0061 0E38 0E4B 0E48 0EB8 0062; +0061 0EC8 0EB8 0E48 0EB8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062; +0061 0EB8 0EC8 0EB8 0E48 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062; +0061 0EC8 0EB8 0E48 0EB9 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062; +0061 0EB9 0EC8 0EB8 0E48 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062; +0061 0F71 0EC8 0EB8 0EC8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062; +0061 0EC8 0F71 0EC8 0EB8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062; +0061 0F71 0EC8 0EB8 0EC9 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062; +0061 0EC9 0F71 0EC8 0EB8 0062;0061 0EB8 0EC9 0EC8 0F71 0062;0061 0EB8 0EC9 0EC8 0F71 0062;0061 0EB8 0EC9 0EC8 0F71 0062;0061 0EB8 0EC9 0EC8 0F71 0062; +0061 0F71 0EC8 0EB8 0ECA 0062;0061 0EB8 0EC8 0ECA 0F71 0062;0061 0EB8 0EC8 0ECA 0F71 0062;0061 0EB8 0EC8 0ECA 0F71 0062;0061 0EB8 0EC8 0ECA 0F71 0062; +0061 0ECA 0F71 0EC8 0EB8 0062;0061 0EB8 0ECA 0EC8 0F71 0062;0061 0EB8 0ECA 0EC8 0F71 0062;0061 0EB8 0ECA 0EC8 0F71 0062;0061 0EB8 0ECA 0EC8 0F71 0062; +0061 0F71 0EC8 0EB8 0ECB 0062;0061 0EB8 0EC8 0ECB 0F71 0062;0061 0EB8 0EC8 0ECB 0F71 0062;0061 0EB8 0EC8 0ECB 0F71 0062;0061 0EB8 0EC8 0ECB 0F71 0062; +0061 0ECB 0F71 0EC8 0EB8 0062;0061 0EB8 0ECB 0EC8 0F71 0062;0061 0EB8 0ECB 0EC8 0F71 0062;0061 0EB8 0ECB 0EC8 0F71 0062;0061 0EB8 0ECB 0EC8 0F71 0062; +0061 059A 0316 302A 0F18 0062;0061 302A 0316 0F18 059A 0062;0061 302A 0316 0F18 059A 0062;0061 302A 0316 0F18 059A 0062;0061 302A 0316 0F18 059A 0062; +0061 0F18 059A 0316 302A 0062;0061 302A 0F18 0316 059A 0062;0061 302A 0F18 0316 059A 0062;0061 302A 0F18 0316 059A 0062;0061 302A 0F18 0316 059A 0062; +0061 059A 0316 302A 0F19 0062;0061 302A 0316 0F19 059A 0062;0061 302A 0316 0F19 059A 0062;0061 302A 0316 0F19 059A 0062;0061 302A 0316 0F19 059A 0062; +0061 0F19 059A 0316 302A 0062;0061 302A 0F19 0316 059A 0062;0061 302A 0F19 0316 059A 0062;0061 302A 0F19 0316 059A 0062;0061 302A 0F19 0316 059A 0062; +0061 059A 0316 302A 0F35 0062;0061 302A 0316 0F35 059A 0062;0061 302A 0316 0F35 059A 0062;0061 302A 0316 0F35 059A 0062;0061 302A 0316 0F35 059A 0062; +0061 0F35 059A 0316 302A 0062;0061 302A 0F35 0316 059A 0062;0061 302A 0F35 0316 059A 0062;0061 302A 0F35 0316 059A 0062;0061 302A 0F35 0316 059A 0062; +0061 059A 0316 302A 0F37 0062;0061 302A 0316 0F37 059A 0062;0061 302A 0316 0F37 059A 0062;0061 302A 0316 0F37 059A 0062;0061 302A 0316 0F37 059A 0062; +0061 0F37 059A 0316 302A 0062;0061 302A 0F37 0316 059A 0062;0061 302A 0F37 0316 059A 0062;0061 302A 0F37 0316 059A 0062;0061 302A 0F37 0316 059A 0062; +0061 302A 031B 1DCE 0F39 0062;0061 1DCE 031B 0F39 302A 0062;0061 1DCE 031B 0F39 302A 0062;0061 1DCE 031B 0F39 302A 0062;0061 1DCE 031B 0F39 302A 0062; +0061 0F39 302A 031B 1DCE 0062;0061 1DCE 0F39 031B 302A 0062;0061 1DCE 0F39 031B 302A 0062;0061 1DCE 0F39 031B 302A 0062;0061 1DCE 0F39 031B 302A 0062; +0061 0F72 0F71 0EC8 0F71 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062; +0061 0F71 0F72 0F71 0EC8 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062; +0061 0F74 0F72 0F71 0F72 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062; +0061 0F72 0F74 0F72 0F71 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062; +0061 0321 0F74 0F72 0F74 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062; +0061 0F74 0321 0F74 0F72 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062; +0061 0F74 0F72 0F71 0F7A 0062;0061 0F71 0F72 0F7A 0F74 0062;0061 0F71 0F72 0F7A 0F74 0062;0061 0F71 0F72 0F7A 0F74 0062;0061 0F71 0F72 0F7A 0F74 0062; +0061 0F7A 0F74 0F72 0F71 0062;0061 0F71 0F7A 0F72 0F74 0062;0061 0F71 0F7A 0F72 0F74 0062;0061 0F71 0F7A 0F72 0F74 0062;0061 0F71 0F7A 0F72 0F74 0062; +0061 0F74 0F72 0F71 0F7B 0062;0061 0F71 0F72 0F7B 0F74 0062;0061 0F71 0F72 0F7B 0F74 0062;0061 0F71 0F72 0F7B 0F74 0062;0061 0F71 0F72 0F7B 0F74 0062; +0061 0F7B 0F74 0F72 0F71 0062;0061 0F71 0F7B 0F72 0F74 0062;0061 0F71 0F7B 0F72 0F74 0062;0061 0F71 0F7B 0F72 0F74 0062;0061 0F71 0F7B 0F72 0F74 0062; +0061 0F74 0F72 0F71 0F7C 0062;0061 0F71 0F72 0F7C 0F74 0062;0061 0F71 0F72 0F7C 0F74 0062;0061 0F71 0F72 0F7C 0F74 0062;0061 0F71 0F72 0F7C 0F74 0062; +0061 0F7C 0F74 0F72 0F71 0062;0061 0F71 0F7C 0F72 0F74 0062;0061 0F71 0F7C 0F72 0F74 0062;0061 0F71 0F7C 0F72 0F74 0062;0061 0F71 0F7C 0F72 0F74 0062; +0061 0F74 0F72 0F71 0F7D 0062;0061 0F71 0F72 0F7D 0F74 0062;0061 0F71 0F72 0F7D 0F74 0062;0061 0F71 0F72 0F7D 0F74 0062;0061 0F71 0F72 0F7D 0F74 0062; +0061 0F7D 0F74 0F72 0F71 0062;0061 0F71 0F7D 0F72 0F74 0062;0061 0F71 0F7D 0F72 0F74 0062;0061 0F71 0F7D 0F72 0F74 0062;0061 0F71 0F7D 0F72 0F74 0062; +0061 0F74 0F72 0F71 0F80 0062;0061 0F71 0F72 0F80 0F74 0062;0061 0F71 0F72 0F80 0F74 0062;0061 0F71 0F72 0F80 0F74 0062;0061 0F71 0F72 0F80 0F74 0062; +0061 0F80 0F74 0F72 0F71 0062;0061 0F71 0F80 0F72 0F74 0062;0061 0F71 0F80 0F72 0F74 0062;0061 0F71 0F80 0F72 0F74 0062;0061 0F71 0F80 0F72 0F74 0062; +0061 0315 0300 05AE 0F82 0062;00E0 05AE 0F82 0315 0062;0061 05AE 0300 0F82 0315 0062;00E0 05AE 0F82 0315 0062;0061 05AE 0300 0F82 0315 0062; +0061 0F82 0315 0300 05AE 0062;0061 05AE 0F82 0300 0315 0062;0061 05AE 0F82 0300 0315 0062;0061 05AE 0F82 0300 0315 0062;0061 05AE 0F82 0300 0315 0062; +0061 0315 0300 05AE 0F83 0062;00E0 05AE 0F83 0315 0062;0061 05AE 0300 0F83 0315 0062;00E0 05AE 0F83 0315 0062;0061 05AE 0300 0F83 0315 0062; +0061 0F83 0315 0300 05AE 0062;0061 05AE 0F83 0300 0315 0062;0061 05AE 0F83 0300 0315 0062;0061 05AE 0F83 0300 0315 0062;0061 05AE 0F83 0300 0315 0062; +0061 05B0 094D 3099 0F84 0062;0061 3099 094D 0F84 05B0 0062;0061 3099 094D 0F84 05B0 0062;0061 3099 094D 0F84 05B0 0062;0061 3099 094D 0F84 05B0 0062; +0061 0F84 05B0 094D 3099 0062;0061 3099 0F84 094D 05B0 0062;0061 3099 0F84 094D 05B0 0062;0061 3099 0F84 094D 05B0 0062;0061 3099 0F84 094D 05B0 0062; +0061 0315 0300 05AE 0F86 0062;00E0 05AE 0F86 0315 0062;0061 05AE 0300 0F86 0315 0062;00E0 05AE 0F86 0315 0062;0061 05AE 0300 0F86 0315 0062; +0061 0F86 0315 0300 05AE 0062;0061 05AE 0F86 0300 0315 0062;0061 05AE 0F86 0300 0315 0062;0061 05AE 0F86 0300 0315 0062;0061 05AE 0F86 0300 0315 0062; +0061 0315 0300 05AE 0F87 0062;00E0 05AE 0F87 0315 0062;0061 05AE 0300 0F87 0315 0062;00E0 05AE 0F87 0315 0062;0061 05AE 0300 0F87 0315 0062; +0061 0F87 0315 0300 05AE 0062;0061 05AE 0F87 0300 0315 0062;0061 05AE 0F87 0300 0315 0062;0061 05AE 0F87 0300 0315 0062;0061 05AE 0F87 0300 0315 0062; +0061 059A 0316 302A 0FC6 0062;0061 302A 0316 0FC6 059A 0062;0061 302A 0316 0FC6 059A 0062;0061 302A 0316 0FC6 059A 0062;0061 302A 0316 0FC6 059A 0062; +0061 0FC6 059A 0316 302A 0062;0061 302A 0FC6 0316 059A 0062;0061 302A 0FC6 0316 059A 0062;0061 302A 0FC6 0316 059A 0062;0061 302A 0FC6 0316 059A 0062; +0061 3099 093C 0334 1037 0062;0061 0334 093C 1037 3099 0062;0061 0334 093C 1037 3099 0062;0061 0334 093C 1037 3099 0062;0061 0334 093C 1037 3099 0062; +0061 1037 3099 093C 0334 0062;0061 0334 1037 093C 3099 0062;0061 0334 1037 093C 3099 0062;0061 0334 1037 093C 3099 0062;0061 0334 1037 093C 3099 0062; +0061 05B0 094D 3099 1039 0062;0061 3099 094D 1039 05B0 0062;0061 3099 094D 1039 05B0 0062;0061 3099 094D 1039 05B0 0062;0061 3099 094D 1039 05B0 0062; +0061 1039 05B0 094D 3099 0062;0061 3099 1039 094D 05B0 0062;0061 3099 1039 094D 05B0 0062;0061 3099 1039 094D 05B0 0062;0061 3099 1039 094D 05B0 0062; +0061 05B0 094D 3099 103A 0062;0061 3099 094D 103A 05B0 0062;0061 3099 094D 103A 05B0 0062;0061 3099 094D 103A 05B0 0062;0061 3099 094D 103A 05B0 0062; +0061 103A 05B0 094D 3099 0062;0061 3099 103A 094D 05B0 0062;0061 3099 103A 094D 05B0 0062;0061 3099 103A 094D 05B0 0062;0061 3099 103A 094D 05B0 0062; +0061 059A 0316 302A 108D 0062;0061 302A 0316 108D 059A 0062;0061 302A 0316 108D 059A 0062;0061 302A 0316 108D 059A 0062;0061 302A 0316 108D 059A 0062; +0061 108D 059A 0316 302A 0062;0061 302A 108D 0316 059A 0062;0061 302A 108D 0316 059A 0062;0061 302A 108D 0316 059A 0062;0061 302A 108D 0316 059A 0062; +0061 0315 0300 05AE 135F 0062;00E0 05AE 135F 0315 0062;0061 05AE 0300 135F 0315 0062;00E0 05AE 135F 0315 0062;0061 05AE 0300 135F 0315 0062; +0061 135F 0315 0300 05AE 0062;0061 05AE 135F 0300 0315 0062;0061 05AE 135F 0300 0315 0062;0061 05AE 135F 0300 0315 0062;0061 05AE 135F 0300 0315 0062; +0061 05B0 094D 3099 1714 0062;0061 3099 094D 1714 05B0 0062;0061 3099 094D 1714 05B0 0062;0061 3099 094D 1714 05B0 0062;0061 3099 094D 1714 05B0 0062; +0061 1714 05B0 094D 3099 0062;0061 3099 1714 094D 05B0 0062;0061 3099 1714 094D 05B0 0062;0061 3099 1714 094D 05B0 0062;0061 3099 1714 094D 05B0 0062; +0061 05B0 094D 3099 1734 0062;0061 3099 094D 1734 05B0 0062;0061 3099 094D 1734 05B0 0062;0061 3099 094D 1734 05B0 0062;0061 3099 094D 1734 05B0 0062; +0061 1734 05B0 094D 3099 0062;0061 3099 1734 094D 05B0 0062;0061 3099 1734 094D 05B0 0062;0061 3099 1734 094D 05B0 0062;0061 3099 1734 094D 05B0 0062; +0061 05B0 094D 3099 17D2 0062;0061 3099 094D 17D2 05B0 0062;0061 3099 094D 17D2 05B0 0062;0061 3099 094D 17D2 05B0 0062;0061 3099 094D 17D2 05B0 0062; +0061 17D2 05B0 094D 3099 0062;0061 3099 17D2 094D 05B0 0062;0061 3099 17D2 094D 05B0 0062;0061 3099 17D2 094D 05B0 0062;0061 3099 17D2 094D 05B0 0062; +0061 0315 0300 05AE 17DD 0062;00E0 05AE 17DD 0315 0062;0061 05AE 0300 17DD 0315 0062;00E0 05AE 17DD 0315 0062;0061 05AE 0300 17DD 0315 0062; +0061 17DD 0315 0300 05AE 0062;0061 05AE 17DD 0300 0315 0062;0061 05AE 17DD 0300 0315 0062;0061 05AE 17DD 0300 0315 0062;0061 05AE 17DD 0300 0315 0062; +0061 0300 05AE 1D16D 18A9 0062;00E0 1D16D 05AE 18A9 0062;0061 1D16D 05AE 18A9 0300 0062;00E0 1D16D 05AE 18A9 0062;0061 1D16D 05AE 18A9 0300 0062; +0061 18A9 0300 05AE 1D16D 0062;00E0 1D16D 18A9 05AE 0062;0061 1D16D 18A9 05AE 0300 0062;00E0 1D16D 18A9 05AE 0062;0061 1D16D 18A9 05AE 0300 0062; +0061 302E 059A 0316 1939 0062;0061 0316 059A 1939 302E 0062;0061 0316 059A 1939 302E 0062;0061 0316 059A 1939 302E 0062;0061 0316 059A 1939 302E 0062; +0061 1939 302E 059A 0316 0062;0061 0316 1939 059A 302E 0062;0061 0316 1939 059A 302E 0062;0061 0316 1939 059A 302E 0062;0061 0316 1939 059A 302E 0062; +0061 0315 0300 05AE 193A 0062;00E0 05AE 193A 0315 0062;0061 05AE 0300 193A 0315 0062;00E0 05AE 193A 0315 0062;0061 05AE 0300 193A 0315 0062; +0061 193A 0315 0300 05AE 0062;0061 05AE 193A 0300 0315 0062;0061 05AE 193A 0300 0315 0062;0061 05AE 193A 0300 0315 0062;0061 05AE 193A 0300 0315 0062; +0061 059A 0316 302A 193B 0062;0061 302A 0316 193B 059A 0062;0061 302A 0316 193B 059A 0062;0061 302A 0316 193B 059A 0062;0061 302A 0316 193B 059A 0062; +0061 193B 059A 0316 302A 0062;0061 302A 193B 0316 059A 0062;0061 302A 193B 0316 059A 0062;0061 302A 193B 0316 059A 0062;0061 302A 193B 0316 059A 0062; +0061 0315 0300 05AE 1A17 0062;00E0 05AE 1A17 0315 0062;0061 05AE 0300 1A17 0315 0062;00E0 05AE 1A17 0315 0062;0061 05AE 0300 1A17 0315 0062; +0061 1A17 0315 0300 05AE 0062;0061 05AE 1A17 0300 0315 0062;0061 05AE 1A17 0300 0315 0062;0061 05AE 1A17 0300 0315 0062;0061 05AE 1A17 0300 0315 0062; +0061 059A 0316 302A 1A18 0062;0061 302A 0316 1A18 059A 0062;0061 302A 0316 1A18 059A 0062;0061 302A 0316 1A18 059A 0062;0061 302A 0316 1A18 059A 0062; +0061 1A18 059A 0316 302A 0062;0061 302A 1A18 0316 059A 0062;0061 302A 1A18 0316 059A 0062;0061 302A 1A18 0316 059A 0062;0061 302A 1A18 0316 059A 0062; +0061 3099 093C 0334 1B34 0062;0061 0334 093C 1B34 3099 0062;0061 0334 093C 1B34 3099 0062;0061 0334 093C 1B34 3099 0062;0061 0334 093C 1B34 3099 0062; +0061 1B34 3099 093C 0334 0062;0061 0334 1B34 093C 3099 0062;0061 0334 1B34 093C 3099 0062;0061 0334 1B34 093C 3099 0062;0061 0334 1B34 093C 3099 0062; +0061 05B0 094D 3099 1B44 0062;0061 3099 094D 1B44 05B0 0062;0061 3099 094D 1B44 05B0 0062;0061 3099 094D 1B44 05B0 0062;0061 3099 094D 1B44 05B0 0062; +0061 1B44 05B0 094D 3099 0062;0061 3099 1B44 094D 05B0 0062;0061 3099 1B44 094D 05B0 0062;0061 3099 1B44 094D 05B0 0062;0061 3099 1B44 094D 05B0 0062; +0061 0315 0300 05AE 1B6B 0062;00E0 05AE 1B6B 0315 0062;0061 05AE 0300 1B6B 0315 0062;00E0 05AE 1B6B 0315 0062;0061 05AE 0300 1B6B 0315 0062; +0061 1B6B 0315 0300 05AE 0062;0061 05AE 1B6B 0300 0315 0062;0061 05AE 1B6B 0300 0315 0062;0061 05AE 1B6B 0300 0315 0062;0061 05AE 1B6B 0300 0315 0062; +0061 059A 0316 302A 1B6C 0062;0061 302A 0316 1B6C 059A 0062;0061 302A 0316 1B6C 059A 0062;0061 302A 0316 1B6C 059A 0062;0061 302A 0316 1B6C 059A 0062; +0061 1B6C 059A 0316 302A 0062;0061 302A 1B6C 0316 059A 0062;0061 302A 1B6C 0316 059A 0062;0061 302A 1B6C 0316 059A 0062;0061 302A 1B6C 0316 059A 0062; +0061 0315 0300 05AE 1B6D 0062;00E0 05AE 1B6D 0315 0062;0061 05AE 0300 1B6D 0315 0062;00E0 05AE 1B6D 0315 0062;0061 05AE 0300 1B6D 0315 0062; +0061 1B6D 0315 0300 05AE 0062;0061 05AE 1B6D 0300 0315 0062;0061 05AE 1B6D 0300 0315 0062;0061 05AE 1B6D 0300 0315 0062;0061 05AE 1B6D 0300 0315 0062; +0061 0315 0300 05AE 1B6E 0062;00E0 05AE 1B6E 0315 0062;0061 05AE 0300 1B6E 0315 0062;00E0 05AE 1B6E 0315 0062;0061 05AE 0300 1B6E 0315 0062; +0061 1B6E 0315 0300 05AE 0062;0061 05AE 1B6E 0300 0315 0062;0061 05AE 1B6E 0300 0315 0062;0061 05AE 1B6E 0300 0315 0062;0061 05AE 1B6E 0300 0315 0062; +0061 0315 0300 05AE 1B6F 0062;00E0 05AE 1B6F 0315 0062;0061 05AE 0300 1B6F 0315 0062;00E0 05AE 1B6F 0315 0062;0061 05AE 0300 1B6F 0315 0062; +0061 1B6F 0315 0300 05AE 0062;0061 05AE 1B6F 0300 0315 0062;0061 05AE 1B6F 0300 0315 0062;0061 05AE 1B6F 0300 0315 0062;0061 05AE 1B6F 0300 0315 0062; +0061 0315 0300 05AE 1B70 0062;00E0 05AE 1B70 0315 0062;0061 05AE 0300 1B70 0315 0062;00E0 05AE 1B70 0315 0062;0061 05AE 0300 1B70 0315 0062; +0061 1B70 0315 0300 05AE 0062;0061 05AE 1B70 0300 0315 0062;0061 05AE 1B70 0300 0315 0062;0061 05AE 1B70 0300 0315 0062;0061 05AE 1B70 0300 0315 0062; +0061 0315 0300 05AE 1B71 0062;00E0 05AE 1B71 0315 0062;0061 05AE 0300 1B71 0315 0062;00E0 05AE 1B71 0315 0062;0061 05AE 0300 1B71 0315 0062; +0061 1B71 0315 0300 05AE 0062;0061 05AE 1B71 0300 0315 0062;0061 05AE 1B71 0300 0315 0062;0061 05AE 1B71 0300 0315 0062;0061 05AE 1B71 0300 0315 0062; +0061 0315 0300 05AE 1B72 0062;00E0 05AE 1B72 0315 0062;0061 05AE 0300 1B72 0315 0062;00E0 05AE 1B72 0315 0062;0061 05AE 0300 1B72 0315 0062; +0061 1B72 0315 0300 05AE 0062;0061 05AE 1B72 0300 0315 0062;0061 05AE 1B72 0300 0315 0062;0061 05AE 1B72 0300 0315 0062;0061 05AE 1B72 0300 0315 0062; +0061 0315 0300 05AE 1B73 0062;00E0 05AE 1B73 0315 0062;0061 05AE 0300 1B73 0315 0062;00E0 05AE 1B73 0315 0062;0061 05AE 0300 1B73 0315 0062; +0061 1B73 0315 0300 05AE 0062;0061 05AE 1B73 0300 0315 0062;0061 05AE 1B73 0300 0315 0062;0061 05AE 1B73 0300 0315 0062;0061 05AE 1B73 0300 0315 0062; +0061 05B0 094D 3099 1BAA 0062;0061 3099 094D 1BAA 05B0 0062;0061 3099 094D 1BAA 05B0 0062;0061 3099 094D 1BAA 05B0 0062;0061 3099 094D 1BAA 05B0 0062; +0061 1BAA 05B0 094D 3099 0062;0061 3099 1BAA 094D 05B0 0062;0061 3099 1BAA 094D 05B0 0062;0061 3099 1BAA 094D 05B0 0062;0061 3099 1BAA 094D 05B0 0062; +0061 3099 093C 0334 1C37 0062;0061 0334 093C 1C37 3099 0062;0061 0334 093C 1C37 3099 0062;0061 0334 093C 1C37 3099 0062;0061 0334 093C 1C37 3099 0062; +0061 1C37 3099 093C 0334 0062;0061 0334 1C37 093C 3099 0062;0061 0334 1C37 093C 3099 0062;0061 0334 1C37 093C 3099 0062;0061 0334 1C37 093C 3099 0062; +0061 0315 0300 05AE 1DC0 0062;00E0 05AE 1DC0 0315 0062;0061 05AE 0300 1DC0 0315 0062;00E0 05AE 1DC0 0315 0062;0061 05AE 0300 1DC0 0315 0062; +0061 1DC0 0315 0300 05AE 0062;0061 05AE 1DC0 0300 0315 0062;0061 05AE 1DC0 0300 0315 0062;0061 05AE 1DC0 0300 0315 0062;0061 05AE 1DC0 0300 0315 0062; +0061 0315 0300 05AE 1DC1 0062;00E0 05AE 1DC1 0315 0062;0061 05AE 0300 1DC1 0315 0062;00E0 05AE 1DC1 0315 0062;0061 05AE 0300 1DC1 0315 0062; +0061 1DC1 0315 0300 05AE 0062;0061 05AE 1DC1 0300 0315 0062;0061 05AE 1DC1 0300 0315 0062;0061 05AE 1DC1 0300 0315 0062;0061 05AE 1DC1 0300 0315 0062; +0061 059A 0316 302A 1DC2 0062;0061 302A 0316 1DC2 059A 0062;0061 302A 0316 1DC2 059A 0062;0061 302A 0316 1DC2 059A 0062;0061 302A 0316 1DC2 059A 0062; +0061 1DC2 059A 0316 302A 0062;0061 302A 1DC2 0316 059A 0062;0061 302A 1DC2 0316 059A 0062;0061 302A 1DC2 0316 059A 0062;0061 302A 1DC2 0316 059A 0062; +0061 0315 0300 05AE 1DC3 0062;00E0 05AE 1DC3 0315 0062;0061 05AE 0300 1DC3 0315 0062;00E0 05AE 1DC3 0315 0062;0061 05AE 0300 1DC3 0315 0062; +0061 1DC3 0315 0300 05AE 0062;0061 05AE 1DC3 0300 0315 0062;0061 05AE 1DC3 0300 0315 0062;0061 05AE 1DC3 0300 0315 0062;0061 05AE 1DC3 0300 0315 0062; +0061 0315 0300 05AE 1DC4 0062;00E0 05AE 1DC4 0315 0062;0061 05AE 0300 1DC4 0315 0062;00E0 05AE 1DC4 0315 0062;0061 05AE 0300 1DC4 0315 0062; +0061 1DC4 0315 0300 05AE 0062;0061 05AE 1DC4 0300 0315 0062;0061 05AE 1DC4 0300 0315 0062;0061 05AE 1DC4 0300 0315 0062;0061 05AE 1DC4 0300 0315 0062; +0061 0315 0300 05AE 1DC5 0062;00E0 05AE 1DC5 0315 0062;0061 05AE 0300 1DC5 0315 0062;00E0 05AE 1DC5 0315 0062;0061 05AE 0300 1DC5 0315 0062; +0061 1DC5 0315 0300 05AE 0062;0061 05AE 1DC5 0300 0315 0062;0061 05AE 1DC5 0300 0315 0062;0061 05AE 1DC5 0300 0315 0062;0061 05AE 1DC5 0300 0315 0062; +0061 0315 0300 05AE 1DC6 0062;00E0 05AE 1DC6 0315 0062;0061 05AE 0300 1DC6 0315 0062;00E0 05AE 1DC6 0315 0062;0061 05AE 0300 1DC6 0315 0062; +0061 1DC6 0315 0300 05AE 0062;0061 05AE 1DC6 0300 0315 0062;0061 05AE 1DC6 0300 0315 0062;0061 05AE 1DC6 0300 0315 0062;0061 05AE 1DC6 0300 0315 0062; +0061 0315 0300 05AE 1DC7 0062;00E0 05AE 1DC7 0315 0062;0061 05AE 0300 1DC7 0315 0062;00E0 05AE 1DC7 0315 0062;0061 05AE 0300 1DC7 0315 0062; +0061 1DC7 0315 0300 05AE 0062;0061 05AE 1DC7 0300 0315 0062;0061 05AE 1DC7 0300 0315 0062;0061 05AE 1DC7 0300 0315 0062;0061 05AE 1DC7 0300 0315 0062; +0061 0315 0300 05AE 1DC8 0062;00E0 05AE 1DC8 0315 0062;0061 05AE 0300 1DC8 0315 0062;00E0 05AE 1DC8 0315 0062;0061 05AE 0300 1DC8 0315 0062; +0061 1DC8 0315 0300 05AE 0062;0061 05AE 1DC8 0300 0315 0062;0061 05AE 1DC8 0300 0315 0062;0061 05AE 1DC8 0300 0315 0062;0061 05AE 1DC8 0300 0315 0062; +0061 0315 0300 05AE 1DC9 0062;00E0 05AE 1DC9 0315 0062;0061 05AE 0300 1DC9 0315 0062;00E0 05AE 1DC9 0315 0062;0061 05AE 0300 1DC9 0315 0062; +0061 1DC9 0315 0300 05AE 0062;0061 05AE 1DC9 0300 0315 0062;0061 05AE 1DC9 0300 0315 0062;0061 05AE 1DC9 0300 0315 0062;0061 05AE 1DC9 0300 0315 0062; +0061 059A 0316 302A 1DCA 0062;0061 302A 0316 1DCA 059A 0062;0061 302A 0316 1DCA 059A 0062;0061 302A 0316 1DCA 059A 0062;0061 302A 0316 1DCA 059A 0062; +0061 1DCA 059A 0316 302A 0062;0061 302A 1DCA 0316 059A 0062;0061 302A 1DCA 0316 059A 0062;0061 302A 1DCA 0316 059A 0062;0061 302A 1DCA 0316 059A 0062; +0061 0315 0300 05AE 1DCB 0062;00E0 05AE 1DCB 0315 0062;0061 05AE 0300 1DCB 0315 0062;00E0 05AE 1DCB 0315 0062;0061 05AE 0300 1DCB 0315 0062; +0061 1DCB 0315 0300 05AE 0062;0061 05AE 1DCB 0300 0315 0062;0061 05AE 1DCB 0300 0315 0062;0061 05AE 1DCB 0300 0315 0062;0061 05AE 1DCB 0300 0315 0062; +0061 0315 0300 05AE 1DCC 0062;00E0 05AE 1DCC 0315 0062;0061 05AE 0300 1DCC 0315 0062;00E0 05AE 1DCC 0315 0062;0061 05AE 0300 1DCC 0315 0062; +0061 1DCC 0315 0300 05AE 0062;0061 05AE 1DCC 0300 0315 0062;0061 05AE 1DCC 0300 0315 0062;0061 05AE 1DCC 0300 0315 0062;0061 05AE 1DCC 0300 0315 0062; +0061 0345 035D 035C 1DCD 0062;0061 035C 035D 1DCD 0345 0062;0061 035C 035D 1DCD 0345 0062;0061 035C 035D 1DCD 0345 0062;0061 035C 035D 1DCD 0345 0062; +0061 1DCD 0345 035D 035C 0062;0061 035C 1DCD 035D 0345 0062;0061 035C 1DCD 035D 0345 0062;0061 035C 1DCD 035D 0345 0062;0061 035C 1DCD 035D 0345 0062; +0061 031B 1DCE 0321 1DCE 0062;0061 0321 1DCE 1DCE 031B 0062;0061 0321 1DCE 1DCE 031B 0062;0061 0321 1DCE 1DCE 031B 0062;0061 0321 1DCE 1DCE 031B 0062; +0061 1DCE 031B 1DCE 0321 0062;0061 0321 1DCE 1DCE 031B 0062;0061 0321 1DCE 1DCE 031B 0062;0061 0321 1DCE 1DCE 031B 0062;0061 0321 1DCE 1DCE 031B 0062; +0061 059A 0316 302A 1DCF 0062;0061 302A 0316 1DCF 059A 0062;0061 302A 0316 1DCF 059A 0062;0061 302A 0316 1DCF 059A 0062;0061 302A 0316 1DCF 059A 0062; +0061 1DCF 059A 0316 302A 0062;0061 302A 1DCF 0316 059A 0062;0061 302A 1DCF 0316 059A 0062;0061 302A 1DCF 0316 059A 0062;0061 302A 1DCF 0316 059A 0062; +0061 1DCE 0321 0F74 1DD0 0062;0061 0F74 0321 1DD0 1DCE 0062;0061 0F74 0321 1DD0 1DCE 0062;0061 0F74 0321 1DD0 1DCE 0062;0061 0F74 0321 1DD0 1DCE 0062; +0061 1DD0 1DCE 0321 0F74 0062;0061 0F74 1DD0 0321 1DCE 0062;0061 0F74 1DD0 0321 1DCE 0062;0061 0F74 1DD0 0321 1DCE 0062;0061 0F74 1DD0 0321 1DCE 0062; +0061 0315 0300 05AE 1DD1 0062;00E0 05AE 1DD1 0315 0062;0061 05AE 0300 1DD1 0315 0062;00E0 05AE 1DD1 0315 0062;0061 05AE 0300 1DD1 0315 0062; +0061 1DD1 0315 0300 05AE 0062;0061 05AE 1DD1 0300 0315 0062;0061 05AE 1DD1 0300 0315 0062;0061 05AE 1DD1 0300 0315 0062;0061 05AE 1DD1 0300 0315 0062; +0061 0315 0300 05AE 1DD2 0062;00E0 05AE 1DD2 0315 0062;0061 05AE 0300 1DD2 0315 0062;00E0 05AE 1DD2 0315 0062;0061 05AE 0300 1DD2 0315 0062; +0061 1DD2 0315 0300 05AE 0062;0061 05AE 1DD2 0300 0315 0062;0061 05AE 1DD2 0300 0315 0062;0061 05AE 1DD2 0300 0315 0062;0061 05AE 1DD2 0300 0315 0062; +0061 0315 0300 05AE 1DD3 0062;00E0 05AE 1DD3 0315 0062;0061 05AE 0300 1DD3 0315 0062;00E0 05AE 1DD3 0315 0062;0061 05AE 0300 1DD3 0315 0062; +0061 1DD3 0315 0300 05AE 0062;0061 05AE 1DD3 0300 0315 0062;0061 05AE 1DD3 0300 0315 0062;0061 05AE 1DD3 0300 0315 0062;0061 05AE 1DD3 0300 0315 0062; +0061 0315 0300 05AE 1DD4 0062;00E0 05AE 1DD4 0315 0062;0061 05AE 0300 1DD4 0315 0062;00E0 05AE 1DD4 0315 0062;0061 05AE 0300 1DD4 0315 0062; +0061 1DD4 0315 0300 05AE 0062;0061 05AE 1DD4 0300 0315 0062;0061 05AE 1DD4 0300 0315 0062;0061 05AE 1DD4 0300 0315 0062;0061 05AE 1DD4 0300 0315 0062; +0061 0315 0300 05AE 1DD5 0062;00E0 05AE 1DD5 0315 0062;0061 05AE 0300 1DD5 0315 0062;00E0 05AE 1DD5 0315 0062;0061 05AE 0300 1DD5 0315 0062; +0061 1DD5 0315 0300 05AE 0062;0061 05AE 1DD5 0300 0315 0062;0061 05AE 1DD5 0300 0315 0062;0061 05AE 1DD5 0300 0315 0062;0061 05AE 1DD5 0300 0315 0062; +0061 0315 0300 05AE 1DD6 0062;00E0 05AE 1DD6 0315 0062;0061 05AE 0300 1DD6 0315 0062;00E0 05AE 1DD6 0315 0062;0061 05AE 0300 1DD6 0315 0062; +0061 1DD6 0315 0300 05AE 0062;0061 05AE 1DD6 0300 0315 0062;0061 05AE 1DD6 0300 0315 0062;0061 05AE 1DD6 0300 0315 0062;0061 05AE 1DD6 0300 0315 0062; +0061 0315 0300 05AE 1DD7 0062;00E0 05AE 1DD7 0315 0062;0061 05AE 0300 1DD7 0315 0062;00E0 05AE 1DD7 0315 0062;0061 05AE 0300 1DD7 0315 0062; +0061 1DD7 0315 0300 05AE 0062;0061 05AE 1DD7 0300 0315 0062;0061 05AE 1DD7 0300 0315 0062;0061 05AE 1DD7 0300 0315 0062;0061 05AE 1DD7 0300 0315 0062; +0061 0315 0300 05AE 1DD8 0062;00E0 05AE 1DD8 0315 0062;0061 05AE 0300 1DD8 0315 0062;00E0 05AE 1DD8 0315 0062;0061 05AE 0300 1DD8 0315 0062; +0061 1DD8 0315 0300 05AE 0062;0061 05AE 1DD8 0300 0315 0062;0061 05AE 1DD8 0300 0315 0062;0061 05AE 1DD8 0300 0315 0062;0061 05AE 1DD8 0300 0315 0062; +0061 0315 0300 05AE 1DD9 0062;00E0 05AE 1DD9 0315 0062;0061 05AE 0300 1DD9 0315 0062;00E0 05AE 1DD9 0315 0062;0061 05AE 0300 1DD9 0315 0062; +0061 1DD9 0315 0300 05AE 0062;0061 05AE 1DD9 0300 0315 0062;0061 05AE 1DD9 0300 0315 0062;0061 05AE 1DD9 0300 0315 0062;0061 05AE 1DD9 0300 0315 0062; +0061 0315 0300 05AE 1DDA 0062;00E0 05AE 1DDA 0315 0062;0061 05AE 0300 1DDA 0315 0062;00E0 05AE 1DDA 0315 0062;0061 05AE 0300 1DDA 0315 0062; +0061 1DDA 0315 0300 05AE 0062;0061 05AE 1DDA 0300 0315 0062;0061 05AE 1DDA 0300 0315 0062;0061 05AE 1DDA 0300 0315 0062;0061 05AE 1DDA 0300 0315 0062; +0061 0315 0300 05AE 1DDB 0062;00E0 05AE 1DDB 0315 0062;0061 05AE 0300 1DDB 0315 0062;00E0 05AE 1DDB 0315 0062;0061 05AE 0300 1DDB 0315 0062; +0061 1DDB 0315 0300 05AE 0062;0061 05AE 1DDB 0300 0315 0062;0061 05AE 1DDB 0300 0315 0062;0061 05AE 1DDB 0300 0315 0062;0061 05AE 1DDB 0300 0315 0062; +0061 0315 0300 05AE 1DDC 0062;00E0 05AE 1DDC 0315 0062;0061 05AE 0300 1DDC 0315 0062;00E0 05AE 1DDC 0315 0062;0061 05AE 0300 1DDC 0315 0062; +0061 1DDC 0315 0300 05AE 0062;0061 05AE 1DDC 0300 0315 0062;0061 05AE 1DDC 0300 0315 0062;0061 05AE 1DDC 0300 0315 0062;0061 05AE 1DDC 0300 0315 0062; +0061 0315 0300 05AE 1DDD 0062;00E0 05AE 1DDD 0315 0062;0061 05AE 0300 1DDD 0315 0062;00E0 05AE 1DDD 0315 0062;0061 05AE 0300 1DDD 0315 0062; +0061 1DDD 0315 0300 05AE 0062;0061 05AE 1DDD 0300 0315 0062;0061 05AE 1DDD 0300 0315 0062;0061 05AE 1DDD 0300 0315 0062;0061 05AE 1DDD 0300 0315 0062; +0061 0315 0300 05AE 1DDE 0062;00E0 05AE 1DDE 0315 0062;0061 05AE 0300 1DDE 0315 0062;00E0 05AE 1DDE 0315 0062;0061 05AE 0300 1DDE 0315 0062; +0061 1DDE 0315 0300 05AE 0062;0061 05AE 1DDE 0300 0315 0062;0061 05AE 1DDE 0300 0315 0062;0061 05AE 1DDE 0300 0315 0062;0061 05AE 1DDE 0300 0315 0062; +0061 0315 0300 05AE 1DDF 0062;00E0 05AE 1DDF 0315 0062;0061 05AE 0300 1DDF 0315 0062;00E0 05AE 1DDF 0315 0062;0061 05AE 0300 1DDF 0315 0062; +0061 1DDF 0315 0300 05AE 0062;0061 05AE 1DDF 0300 0315 0062;0061 05AE 1DDF 0300 0315 0062;0061 05AE 1DDF 0300 0315 0062;0061 05AE 1DDF 0300 0315 0062; +0061 0315 0300 05AE 1DE0 0062;00E0 05AE 1DE0 0315 0062;0061 05AE 0300 1DE0 0315 0062;00E0 05AE 1DE0 0315 0062;0061 05AE 0300 1DE0 0315 0062; +0061 1DE0 0315 0300 05AE 0062;0061 05AE 1DE0 0300 0315 0062;0061 05AE 1DE0 0300 0315 0062;0061 05AE 1DE0 0300 0315 0062;0061 05AE 1DE0 0300 0315 0062; +0061 0315 0300 05AE 1DE1 0062;00E0 05AE 1DE1 0315 0062;0061 05AE 0300 1DE1 0315 0062;00E0 05AE 1DE1 0315 0062;0061 05AE 0300 1DE1 0315 0062; +0061 1DE1 0315 0300 05AE 0062;0061 05AE 1DE1 0300 0315 0062;0061 05AE 1DE1 0300 0315 0062;0061 05AE 1DE1 0300 0315 0062;0061 05AE 1DE1 0300 0315 0062; +0061 0315 0300 05AE 1DE2 0062;00E0 05AE 1DE2 0315 0062;0061 05AE 0300 1DE2 0315 0062;00E0 05AE 1DE2 0315 0062;0061 05AE 0300 1DE2 0315 0062; +0061 1DE2 0315 0300 05AE 0062;0061 05AE 1DE2 0300 0315 0062;0061 05AE 1DE2 0300 0315 0062;0061 05AE 1DE2 0300 0315 0062;0061 05AE 1DE2 0300 0315 0062; +0061 0315 0300 05AE 1DE3 0062;00E0 05AE 1DE3 0315 0062;0061 05AE 0300 1DE3 0315 0062;00E0 05AE 1DE3 0315 0062;0061 05AE 0300 1DE3 0315 0062; +0061 1DE3 0315 0300 05AE 0062;0061 05AE 1DE3 0300 0315 0062;0061 05AE 1DE3 0300 0315 0062;0061 05AE 1DE3 0300 0315 0062;0061 05AE 1DE3 0300 0315 0062; +0061 0315 0300 05AE 1DE4 0062;00E0 05AE 1DE4 0315 0062;0061 05AE 0300 1DE4 0315 0062;00E0 05AE 1DE4 0315 0062;0061 05AE 0300 1DE4 0315 0062; +0061 1DE4 0315 0300 05AE 0062;0061 05AE 1DE4 0300 0315 0062;0061 05AE 1DE4 0300 0315 0062;0061 05AE 1DE4 0300 0315 0062;0061 05AE 1DE4 0300 0315 0062; +0061 0315 0300 05AE 1DE5 0062;00E0 05AE 1DE5 0315 0062;0061 05AE 0300 1DE5 0315 0062;00E0 05AE 1DE5 0315 0062;0061 05AE 0300 1DE5 0315 0062; +0061 1DE5 0315 0300 05AE 0062;0061 05AE 1DE5 0300 0315 0062;0061 05AE 1DE5 0300 0315 0062;0061 05AE 1DE5 0300 0315 0062;0061 05AE 1DE5 0300 0315 0062; +0061 0315 0300 05AE 1DE6 0062;00E0 05AE 1DE6 0315 0062;0061 05AE 0300 1DE6 0315 0062;00E0 05AE 1DE6 0315 0062;0061 05AE 0300 1DE6 0315 0062; +0061 1DE6 0315 0300 05AE 0062;0061 05AE 1DE6 0300 0315 0062;0061 05AE 1DE6 0300 0315 0062;0061 05AE 1DE6 0300 0315 0062;0061 05AE 1DE6 0300 0315 0062; +0061 0315 0300 05AE 1DFE 0062;00E0 05AE 1DFE 0315 0062;0061 05AE 0300 1DFE 0315 0062;00E0 05AE 1DFE 0315 0062;0061 05AE 0300 1DFE 0315 0062; +0061 1DFE 0315 0300 05AE 0062;0061 05AE 1DFE 0300 0315 0062;0061 05AE 1DFE 0300 0315 0062;0061 05AE 1DFE 0300 0315 0062;0061 05AE 1DFE 0300 0315 0062; +0061 059A 0316 302A 1DFF 0062;0061 302A 0316 1DFF 059A 0062;0061 302A 0316 1DFF 059A 0062;0061 302A 0316 1DFF 059A 0062;0061 302A 0316 1DFF 059A 0062; +0061 1DFF 059A 0316 302A 0062;0061 302A 1DFF 0316 059A 0062;0061 302A 1DFF 0316 059A 0062;0061 302A 1DFF 0316 059A 0062;0061 302A 1DFF 0316 059A 0062; +0061 0315 0300 05AE 20D0 0062;00E0 05AE 20D0 0315 0062;0061 05AE 0300 20D0 0315 0062;00E0 05AE 20D0 0315 0062;0061 05AE 0300 20D0 0315 0062; +0061 20D0 0315 0300 05AE 0062;0061 05AE 20D0 0300 0315 0062;0061 05AE 20D0 0300 0315 0062;0061 05AE 20D0 0300 0315 0062;0061 05AE 20D0 0300 0315 0062; +0061 0315 0300 05AE 20D1 0062;00E0 05AE 20D1 0315 0062;0061 05AE 0300 20D1 0315 0062;00E0 05AE 20D1 0315 0062;0061 05AE 0300 20D1 0315 0062; +0061 20D1 0315 0300 05AE 0062;0061 05AE 20D1 0300 0315 0062;0061 05AE 20D1 0300 0315 0062;0061 05AE 20D1 0300 0315 0062;0061 05AE 20D1 0300 0315 0062; +0061 093C 0334 20D2 0062;0061 0334 20D2 093C 0062;0061 0334 20D2 093C 0062;0061 0334 20D2 093C 0062;0061 0334 20D2 093C 0062; +0061 20D2 093C 0334 0062;0061 20D2 0334 093C 0062;0061 20D2 0334 093C 0062;0061 20D2 0334 093C 0062;0061 20D2 0334 093C 0062; +0061 093C 0334 20D3 0062;0061 0334 20D3 093C 0062;0061 0334 20D3 093C 0062;0061 0334 20D3 093C 0062;0061 0334 20D3 093C 0062; +0061 20D3 093C 0334 0062;0061 20D3 0334 093C 0062;0061 20D3 0334 093C 0062;0061 20D3 0334 093C 0062;0061 20D3 0334 093C 0062; +0061 0315 0300 05AE 20D4 0062;00E0 05AE 20D4 0315 0062;0061 05AE 0300 20D4 0315 0062;00E0 05AE 20D4 0315 0062;0061 05AE 0300 20D4 0315 0062; +0061 20D4 0315 0300 05AE 0062;0061 05AE 20D4 0300 0315 0062;0061 05AE 20D4 0300 0315 0062;0061 05AE 20D4 0300 0315 0062;0061 05AE 20D4 0300 0315 0062; +0061 0315 0300 05AE 20D5 0062;00E0 05AE 20D5 0315 0062;0061 05AE 0300 20D5 0315 0062;00E0 05AE 20D5 0315 0062;0061 05AE 0300 20D5 0315 0062; +0061 20D5 0315 0300 05AE 0062;0061 05AE 20D5 0300 0315 0062;0061 05AE 20D5 0300 0315 0062;0061 05AE 20D5 0300 0315 0062;0061 05AE 20D5 0300 0315 0062; +0061 0315 0300 05AE 20D6 0062;00E0 05AE 20D6 0315 0062;0061 05AE 0300 20D6 0315 0062;00E0 05AE 20D6 0315 0062;0061 05AE 0300 20D6 0315 0062; +0061 20D6 0315 0300 05AE 0062;0061 05AE 20D6 0300 0315 0062;0061 05AE 20D6 0300 0315 0062;0061 05AE 20D6 0300 0315 0062;0061 05AE 20D6 0300 0315 0062; +0061 0315 0300 05AE 20D7 0062;00E0 05AE 20D7 0315 0062;0061 05AE 0300 20D7 0315 0062;00E0 05AE 20D7 0315 0062;0061 05AE 0300 20D7 0315 0062; +0061 20D7 0315 0300 05AE 0062;0061 05AE 20D7 0300 0315 0062;0061 05AE 20D7 0300 0315 0062;0061 05AE 20D7 0300 0315 0062;0061 05AE 20D7 0300 0315 0062; +0061 093C 0334 20D8 0062;0061 0334 20D8 093C 0062;0061 0334 20D8 093C 0062;0061 0334 20D8 093C 0062;0061 0334 20D8 093C 0062; +0061 20D8 093C 0334 0062;0061 20D8 0334 093C 0062;0061 20D8 0334 093C 0062;0061 20D8 0334 093C 0062;0061 20D8 0334 093C 0062; +0061 093C 0334 20D9 0062;0061 0334 20D9 093C 0062;0061 0334 20D9 093C 0062;0061 0334 20D9 093C 0062;0061 0334 20D9 093C 0062; +0061 20D9 093C 0334 0062;0061 20D9 0334 093C 0062;0061 20D9 0334 093C 0062;0061 20D9 0334 093C 0062;0061 20D9 0334 093C 0062; +0061 093C 0334 20DA 0062;0061 0334 20DA 093C 0062;0061 0334 20DA 093C 0062;0061 0334 20DA 093C 0062;0061 0334 20DA 093C 0062; +0061 20DA 093C 0334 0062;0061 20DA 0334 093C 0062;0061 20DA 0334 093C 0062;0061 20DA 0334 093C 0062;0061 20DA 0334 093C 0062; +0061 0315 0300 05AE 20DB 0062;00E0 05AE 20DB 0315 0062;0061 05AE 0300 20DB 0315 0062;00E0 05AE 20DB 0315 0062;0061 05AE 0300 20DB 0315 0062; +0061 20DB 0315 0300 05AE 0062;0061 05AE 20DB 0300 0315 0062;0061 05AE 20DB 0300 0315 0062;0061 05AE 20DB 0300 0315 0062;0061 05AE 20DB 0300 0315 0062; +0061 0315 0300 05AE 20DC 0062;00E0 05AE 20DC 0315 0062;0061 05AE 0300 20DC 0315 0062;00E0 05AE 20DC 0315 0062;0061 05AE 0300 20DC 0315 0062; +0061 20DC 0315 0300 05AE 0062;0061 05AE 20DC 0300 0315 0062;0061 05AE 20DC 0300 0315 0062;0061 05AE 20DC 0300 0315 0062;0061 05AE 20DC 0300 0315 0062; +0061 0315 0300 05AE 20E1 0062;00E0 05AE 20E1 0315 0062;0061 05AE 0300 20E1 0315 0062;00E0 05AE 20E1 0315 0062;0061 05AE 0300 20E1 0315 0062; +0061 20E1 0315 0300 05AE 0062;0061 05AE 20E1 0300 0315 0062;0061 05AE 20E1 0300 0315 0062;0061 05AE 20E1 0300 0315 0062;0061 05AE 20E1 0300 0315 0062; +0061 093C 0334 20E5 0062;0061 0334 20E5 093C 0062;0061 0334 20E5 093C 0062;0061 0334 20E5 093C 0062;0061 0334 20E5 093C 0062; +0061 20E5 093C 0334 0062;0061 20E5 0334 093C 0062;0061 20E5 0334 093C 0062;0061 20E5 0334 093C 0062;0061 20E5 0334 093C 0062; +0061 093C 0334 20E6 0062;0061 0334 20E6 093C 0062;0061 0334 20E6 093C 0062;0061 0334 20E6 093C 0062;0061 0334 20E6 093C 0062; +0061 20E6 093C 0334 0062;0061 20E6 0334 093C 0062;0061 20E6 0334 093C 0062;0061 20E6 0334 093C 0062;0061 20E6 0334 093C 0062; +0061 0315 0300 05AE 20E7 0062;00E0 05AE 20E7 0315 0062;0061 05AE 0300 20E7 0315 0062;00E0 05AE 20E7 0315 0062;0061 05AE 0300 20E7 0315 0062; +0061 20E7 0315 0300 05AE 0062;0061 05AE 20E7 0300 0315 0062;0061 05AE 20E7 0300 0315 0062;0061 05AE 20E7 0300 0315 0062;0061 05AE 20E7 0300 0315 0062; +0061 059A 0316 302A 20E8 0062;0061 302A 0316 20E8 059A 0062;0061 302A 0316 20E8 059A 0062;0061 302A 0316 20E8 059A 0062;0061 302A 0316 20E8 059A 0062; +0061 20E8 059A 0316 302A 0062;0061 302A 20E8 0316 059A 0062;0061 302A 20E8 0316 059A 0062;0061 302A 20E8 0316 059A 0062;0061 302A 20E8 0316 059A 0062; +0061 0315 0300 05AE 20E9 0062;00E0 05AE 20E9 0315 0062;0061 05AE 0300 20E9 0315 0062;00E0 05AE 20E9 0315 0062;0061 05AE 0300 20E9 0315 0062; +0061 20E9 0315 0300 05AE 0062;0061 05AE 20E9 0300 0315 0062;0061 05AE 20E9 0300 0315 0062;0061 05AE 20E9 0300 0315 0062;0061 05AE 20E9 0300 0315 0062; +0061 093C 0334 20EA 0062;0061 0334 20EA 093C 0062;0061 0334 20EA 093C 0062;0061 0334 20EA 093C 0062;0061 0334 20EA 093C 0062; +0061 20EA 093C 0334 0062;0061 20EA 0334 093C 0062;0061 20EA 0334 093C 0062;0061 20EA 0334 093C 0062;0061 20EA 0334 093C 0062; +0061 093C 0334 20EB 0062;0061 0334 20EB 093C 0062;0061 0334 20EB 093C 0062;0061 0334 20EB 093C 0062;0061 0334 20EB 093C 0062; +0061 20EB 093C 0334 0062;0061 20EB 0334 093C 0062;0061 20EB 0334 093C 0062;0061 20EB 0334 093C 0062;0061 20EB 0334 093C 0062; +0061 059A 0316 302A 20EC 0062;0061 302A 0316 20EC 059A 0062;0061 302A 0316 20EC 059A 0062;0061 302A 0316 20EC 059A 0062;0061 302A 0316 20EC 059A 0062; +0061 20EC 059A 0316 302A 0062;0061 302A 20EC 0316 059A 0062;0061 302A 20EC 0316 059A 0062;0061 302A 20EC 0316 059A 0062;0061 302A 20EC 0316 059A 0062; +0061 059A 0316 302A 20ED 0062;0061 302A 0316 20ED 059A 0062;0061 302A 0316 20ED 059A 0062;0061 302A 0316 20ED 059A 0062;0061 302A 0316 20ED 059A 0062; +0061 20ED 059A 0316 302A 0062;0061 302A 20ED 0316 059A 0062;0061 302A 20ED 0316 059A 0062;0061 302A 20ED 0316 059A 0062;0061 302A 20ED 0316 059A 0062; +0061 059A 0316 302A 20EE 0062;0061 302A 0316 20EE 059A 0062;0061 302A 0316 20EE 059A 0062;0061 302A 0316 20EE 059A 0062;0061 302A 0316 20EE 059A 0062; +0061 20EE 059A 0316 302A 0062;0061 302A 20EE 0316 059A 0062;0061 302A 20EE 0316 059A 0062;0061 302A 20EE 0316 059A 0062;0061 302A 20EE 0316 059A 0062; +0061 059A 0316 302A 20EF 0062;0061 302A 0316 20EF 059A 0062;0061 302A 0316 20EF 059A 0062;0061 302A 0316 20EF 059A 0062;0061 302A 0316 20EF 059A 0062; +0061 20EF 059A 0316 302A 0062;0061 302A 20EF 0316 059A 0062;0061 302A 20EF 0316 059A 0062;0061 302A 20EF 0316 059A 0062;0061 302A 20EF 0316 059A 0062; +0061 0315 0300 05AE 20F0 0062;00E0 05AE 20F0 0315 0062;0061 05AE 0300 20F0 0315 0062;00E0 05AE 20F0 0315 0062;0061 05AE 0300 20F0 0315 0062; +0061 20F0 0315 0300 05AE 0062;0061 05AE 20F0 0300 0315 0062;0061 05AE 20F0 0300 0315 0062;0061 05AE 20F0 0300 0315 0062;0061 05AE 20F0 0300 0315 0062; +0061 0315 0300 05AE 2DE0 0062;00E0 05AE 2DE0 0315 0062;0061 05AE 0300 2DE0 0315 0062;00E0 05AE 2DE0 0315 0062;0061 05AE 0300 2DE0 0315 0062; +0061 2DE0 0315 0300 05AE 0062;0061 05AE 2DE0 0300 0315 0062;0061 05AE 2DE0 0300 0315 0062;0061 05AE 2DE0 0300 0315 0062;0061 05AE 2DE0 0300 0315 0062; +0061 0315 0300 05AE 2DE1 0062;00E0 05AE 2DE1 0315 0062;0061 05AE 0300 2DE1 0315 0062;00E0 05AE 2DE1 0315 0062;0061 05AE 0300 2DE1 0315 0062; +0061 2DE1 0315 0300 05AE 0062;0061 05AE 2DE1 0300 0315 0062;0061 05AE 2DE1 0300 0315 0062;0061 05AE 2DE1 0300 0315 0062;0061 05AE 2DE1 0300 0315 0062; +0061 0315 0300 05AE 2DE2 0062;00E0 05AE 2DE2 0315 0062;0061 05AE 0300 2DE2 0315 0062;00E0 05AE 2DE2 0315 0062;0061 05AE 0300 2DE2 0315 0062; +0061 2DE2 0315 0300 05AE 0062;0061 05AE 2DE2 0300 0315 0062;0061 05AE 2DE2 0300 0315 0062;0061 05AE 2DE2 0300 0315 0062;0061 05AE 2DE2 0300 0315 0062; +0061 0315 0300 05AE 2DE3 0062;00E0 05AE 2DE3 0315 0062;0061 05AE 0300 2DE3 0315 0062;00E0 05AE 2DE3 0315 0062;0061 05AE 0300 2DE3 0315 0062; +0061 2DE3 0315 0300 05AE 0062;0061 05AE 2DE3 0300 0315 0062;0061 05AE 2DE3 0300 0315 0062;0061 05AE 2DE3 0300 0315 0062;0061 05AE 2DE3 0300 0315 0062; +0061 0315 0300 05AE 2DE4 0062;00E0 05AE 2DE4 0315 0062;0061 05AE 0300 2DE4 0315 0062;00E0 05AE 2DE4 0315 0062;0061 05AE 0300 2DE4 0315 0062; +0061 2DE4 0315 0300 05AE 0062;0061 05AE 2DE4 0300 0315 0062;0061 05AE 2DE4 0300 0315 0062;0061 05AE 2DE4 0300 0315 0062;0061 05AE 2DE4 0300 0315 0062; +0061 0315 0300 05AE 2DE5 0062;00E0 05AE 2DE5 0315 0062;0061 05AE 0300 2DE5 0315 0062;00E0 05AE 2DE5 0315 0062;0061 05AE 0300 2DE5 0315 0062; +0061 2DE5 0315 0300 05AE 0062;0061 05AE 2DE5 0300 0315 0062;0061 05AE 2DE5 0300 0315 0062;0061 05AE 2DE5 0300 0315 0062;0061 05AE 2DE5 0300 0315 0062; +0061 0315 0300 05AE 2DE6 0062;00E0 05AE 2DE6 0315 0062;0061 05AE 0300 2DE6 0315 0062;00E0 05AE 2DE6 0315 0062;0061 05AE 0300 2DE6 0315 0062; +0061 2DE6 0315 0300 05AE 0062;0061 05AE 2DE6 0300 0315 0062;0061 05AE 2DE6 0300 0315 0062;0061 05AE 2DE6 0300 0315 0062;0061 05AE 2DE6 0300 0315 0062; +0061 0315 0300 05AE 2DE7 0062;00E0 05AE 2DE7 0315 0062;0061 05AE 0300 2DE7 0315 0062;00E0 05AE 2DE7 0315 0062;0061 05AE 0300 2DE7 0315 0062; +0061 2DE7 0315 0300 05AE 0062;0061 05AE 2DE7 0300 0315 0062;0061 05AE 2DE7 0300 0315 0062;0061 05AE 2DE7 0300 0315 0062;0061 05AE 2DE7 0300 0315 0062; +0061 0315 0300 05AE 2DE8 0062;00E0 05AE 2DE8 0315 0062;0061 05AE 0300 2DE8 0315 0062;00E0 05AE 2DE8 0315 0062;0061 05AE 0300 2DE8 0315 0062; +0061 2DE8 0315 0300 05AE 0062;0061 05AE 2DE8 0300 0315 0062;0061 05AE 2DE8 0300 0315 0062;0061 05AE 2DE8 0300 0315 0062;0061 05AE 2DE8 0300 0315 0062; +0061 0315 0300 05AE 2DE9 0062;00E0 05AE 2DE9 0315 0062;0061 05AE 0300 2DE9 0315 0062;00E0 05AE 2DE9 0315 0062;0061 05AE 0300 2DE9 0315 0062; +0061 2DE9 0315 0300 05AE 0062;0061 05AE 2DE9 0300 0315 0062;0061 05AE 2DE9 0300 0315 0062;0061 05AE 2DE9 0300 0315 0062;0061 05AE 2DE9 0300 0315 0062; +0061 0315 0300 05AE 2DEA 0062;00E0 05AE 2DEA 0315 0062;0061 05AE 0300 2DEA 0315 0062;00E0 05AE 2DEA 0315 0062;0061 05AE 0300 2DEA 0315 0062; +0061 2DEA 0315 0300 05AE 0062;0061 05AE 2DEA 0300 0315 0062;0061 05AE 2DEA 0300 0315 0062;0061 05AE 2DEA 0300 0315 0062;0061 05AE 2DEA 0300 0315 0062; +0061 0315 0300 05AE 2DEB 0062;00E0 05AE 2DEB 0315 0062;0061 05AE 0300 2DEB 0315 0062;00E0 05AE 2DEB 0315 0062;0061 05AE 0300 2DEB 0315 0062; +0061 2DEB 0315 0300 05AE 0062;0061 05AE 2DEB 0300 0315 0062;0061 05AE 2DEB 0300 0315 0062;0061 05AE 2DEB 0300 0315 0062;0061 05AE 2DEB 0300 0315 0062; +0061 0315 0300 05AE 2DEC 0062;00E0 05AE 2DEC 0315 0062;0061 05AE 0300 2DEC 0315 0062;00E0 05AE 2DEC 0315 0062;0061 05AE 0300 2DEC 0315 0062; +0061 2DEC 0315 0300 05AE 0062;0061 05AE 2DEC 0300 0315 0062;0061 05AE 2DEC 0300 0315 0062;0061 05AE 2DEC 0300 0315 0062;0061 05AE 2DEC 0300 0315 0062; +0061 0315 0300 05AE 2DED 0062;00E0 05AE 2DED 0315 0062;0061 05AE 0300 2DED 0315 0062;00E0 05AE 2DED 0315 0062;0061 05AE 0300 2DED 0315 0062; +0061 2DED 0315 0300 05AE 0062;0061 05AE 2DED 0300 0315 0062;0061 05AE 2DED 0300 0315 0062;0061 05AE 2DED 0300 0315 0062;0061 05AE 2DED 0300 0315 0062; +0061 0315 0300 05AE 2DEE 0062;00E0 05AE 2DEE 0315 0062;0061 05AE 0300 2DEE 0315 0062;00E0 05AE 2DEE 0315 0062;0061 05AE 0300 2DEE 0315 0062; +0061 2DEE 0315 0300 05AE 0062;0061 05AE 2DEE 0300 0315 0062;0061 05AE 2DEE 0300 0315 0062;0061 05AE 2DEE 0300 0315 0062;0061 05AE 2DEE 0300 0315 0062; +0061 0315 0300 05AE 2DEF 0062;00E0 05AE 2DEF 0315 0062;0061 05AE 0300 2DEF 0315 0062;00E0 05AE 2DEF 0315 0062;0061 05AE 0300 2DEF 0315 0062; +0061 2DEF 0315 0300 05AE 0062;0061 05AE 2DEF 0300 0315 0062;0061 05AE 2DEF 0300 0315 0062;0061 05AE 2DEF 0300 0315 0062;0061 05AE 2DEF 0300 0315 0062; +0061 0315 0300 05AE 2DF0 0062;00E0 05AE 2DF0 0315 0062;0061 05AE 0300 2DF0 0315 0062;00E0 05AE 2DF0 0315 0062;0061 05AE 0300 2DF0 0315 0062; +0061 2DF0 0315 0300 05AE 0062;0061 05AE 2DF0 0300 0315 0062;0061 05AE 2DF0 0300 0315 0062;0061 05AE 2DF0 0300 0315 0062;0061 05AE 2DF0 0300 0315 0062; +0061 0315 0300 05AE 2DF1 0062;00E0 05AE 2DF1 0315 0062;0061 05AE 0300 2DF1 0315 0062;00E0 05AE 2DF1 0315 0062;0061 05AE 0300 2DF1 0315 0062; +0061 2DF1 0315 0300 05AE 0062;0061 05AE 2DF1 0300 0315 0062;0061 05AE 2DF1 0300 0315 0062;0061 05AE 2DF1 0300 0315 0062;0061 05AE 2DF1 0300 0315 0062; +0061 0315 0300 05AE 2DF2 0062;00E0 05AE 2DF2 0315 0062;0061 05AE 0300 2DF2 0315 0062;00E0 05AE 2DF2 0315 0062;0061 05AE 0300 2DF2 0315 0062; +0061 2DF2 0315 0300 05AE 0062;0061 05AE 2DF2 0300 0315 0062;0061 05AE 2DF2 0300 0315 0062;0061 05AE 2DF2 0300 0315 0062;0061 05AE 2DF2 0300 0315 0062; +0061 0315 0300 05AE 2DF3 0062;00E0 05AE 2DF3 0315 0062;0061 05AE 0300 2DF3 0315 0062;00E0 05AE 2DF3 0315 0062;0061 05AE 0300 2DF3 0315 0062; +0061 2DF3 0315 0300 05AE 0062;0061 05AE 2DF3 0300 0315 0062;0061 05AE 2DF3 0300 0315 0062;0061 05AE 2DF3 0300 0315 0062;0061 05AE 2DF3 0300 0315 0062; +0061 0315 0300 05AE 2DF4 0062;00E0 05AE 2DF4 0315 0062;0061 05AE 0300 2DF4 0315 0062;00E0 05AE 2DF4 0315 0062;0061 05AE 0300 2DF4 0315 0062; +0061 2DF4 0315 0300 05AE 0062;0061 05AE 2DF4 0300 0315 0062;0061 05AE 2DF4 0300 0315 0062;0061 05AE 2DF4 0300 0315 0062;0061 05AE 2DF4 0300 0315 0062; +0061 0315 0300 05AE 2DF5 0062;00E0 05AE 2DF5 0315 0062;0061 05AE 0300 2DF5 0315 0062;00E0 05AE 2DF5 0315 0062;0061 05AE 0300 2DF5 0315 0062; +0061 2DF5 0315 0300 05AE 0062;0061 05AE 2DF5 0300 0315 0062;0061 05AE 2DF5 0300 0315 0062;0061 05AE 2DF5 0300 0315 0062;0061 05AE 2DF5 0300 0315 0062; +0061 0315 0300 05AE 2DF6 0062;00E0 05AE 2DF6 0315 0062;0061 05AE 0300 2DF6 0315 0062;00E0 05AE 2DF6 0315 0062;0061 05AE 0300 2DF6 0315 0062; +0061 2DF6 0315 0300 05AE 0062;0061 05AE 2DF6 0300 0315 0062;0061 05AE 2DF6 0300 0315 0062;0061 05AE 2DF6 0300 0315 0062;0061 05AE 2DF6 0300 0315 0062; +0061 0315 0300 05AE 2DF7 0062;00E0 05AE 2DF7 0315 0062;0061 05AE 0300 2DF7 0315 0062;00E0 05AE 2DF7 0315 0062;0061 05AE 0300 2DF7 0315 0062; +0061 2DF7 0315 0300 05AE 0062;0061 05AE 2DF7 0300 0315 0062;0061 05AE 2DF7 0300 0315 0062;0061 05AE 2DF7 0300 0315 0062;0061 05AE 2DF7 0300 0315 0062; +0061 0315 0300 05AE 2DF8 0062;00E0 05AE 2DF8 0315 0062;0061 05AE 0300 2DF8 0315 0062;00E0 05AE 2DF8 0315 0062;0061 05AE 0300 2DF8 0315 0062; +0061 2DF8 0315 0300 05AE 0062;0061 05AE 2DF8 0300 0315 0062;0061 05AE 2DF8 0300 0315 0062;0061 05AE 2DF8 0300 0315 0062;0061 05AE 2DF8 0300 0315 0062; +0061 0315 0300 05AE 2DF9 0062;00E0 05AE 2DF9 0315 0062;0061 05AE 0300 2DF9 0315 0062;00E0 05AE 2DF9 0315 0062;0061 05AE 0300 2DF9 0315 0062; +0061 2DF9 0315 0300 05AE 0062;0061 05AE 2DF9 0300 0315 0062;0061 05AE 2DF9 0300 0315 0062;0061 05AE 2DF9 0300 0315 0062;0061 05AE 2DF9 0300 0315 0062; +0061 0315 0300 05AE 2DFA 0062;00E0 05AE 2DFA 0315 0062;0061 05AE 0300 2DFA 0315 0062;00E0 05AE 2DFA 0315 0062;0061 05AE 0300 2DFA 0315 0062; +0061 2DFA 0315 0300 05AE 0062;0061 05AE 2DFA 0300 0315 0062;0061 05AE 2DFA 0300 0315 0062;0061 05AE 2DFA 0300 0315 0062;0061 05AE 2DFA 0300 0315 0062; +0061 0315 0300 05AE 2DFB 0062;00E0 05AE 2DFB 0315 0062;0061 05AE 0300 2DFB 0315 0062;00E0 05AE 2DFB 0315 0062;0061 05AE 0300 2DFB 0315 0062; +0061 2DFB 0315 0300 05AE 0062;0061 05AE 2DFB 0300 0315 0062;0061 05AE 2DFB 0300 0315 0062;0061 05AE 2DFB 0300 0315 0062;0061 05AE 2DFB 0300 0315 0062; +0061 0315 0300 05AE 2DFC 0062;00E0 05AE 2DFC 0315 0062;0061 05AE 0300 2DFC 0315 0062;00E0 05AE 2DFC 0315 0062;0061 05AE 0300 2DFC 0315 0062; +0061 2DFC 0315 0300 05AE 0062;0061 05AE 2DFC 0300 0315 0062;0061 05AE 2DFC 0300 0315 0062;0061 05AE 2DFC 0300 0315 0062;0061 05AE 2DFC 0300 0315 0062; +0061 0315 0300 05AE 2DFD 0062;00E0 05AE 2DFD 0315 0062;0061 05AE 0300 2DFD 0315 0062;00E0 05AE 2DFD 0315 0062;0061 05AE 0300 2DFD 0315 0062; +0061 2DFD 0315 0300 05AE 0062;0061 05AE 2DFD 0300 0315 0062;0061 05AE 2DFD 0300 0315 0062;0061 05AE 2DFD 0300 0315 0062;0061 05AE 2DFD 0300 0315 0062; +0061 0315 0300 05AE 2DFE 0062;00E0 05AE 2DFE 0315 0062;0061 05AE 0300 2DFE 0315 0062;00E0 05AE 2DFE 0315 0062;0061 05AE 0300 2DFE 0315 0062; +0061 2DFE 0315 0300 05AE 0062;0061 05AE 2DFE 0300 0315 0062;0061 05AE 2DFE 0300 0315 0062;0061 05AE 2DFE 0300 0315 0062;0061 05AE 2DFE 0300 0315 0062; +0061 0315 0300 05AE 2DFF 0062;00E0 05AE 2DFF 0315 0062;0061 05AE 0300 2DFF 0315 0062;00E0 05AE 2DFF 0315 0062;0061 05AE 0300 2DFF 0315 0062; +0061 2DFF 0315 0300 05AE 0062;0061 05AE 2DFF 0300 0315 0062;0061 05AE 2DFF 0300 0315 0062;0061 05AE 2DFF 0300 0315 0062;0061 05AE 2DFF 0300 0315 0062; +0061 0316 302A 031B 302A 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062; +0061 302A 0316 302A 031B 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062; +0061 0300 05AE 1D16D 302B 0062;00E0 1D16D 05AE 302B 0062;0061 1D16D 05AE 302B 0300 0062;00E0 1D16D 05AE 302B 0062;0061 1D16D 05AE 302B 0300 0062; +0061 302B 0300 05AE 1D16D 0062;00E0 1D16D 302B 05AE 0062;0061 1D16D 302B 05AE 0300 0062;00E0 1D16D 302B 05AE 0062;0061 1D16D 302B 05AE 0300 0062; +0061 035C 0315 0300 302C 0062;00E0 0315 302C 035C 0062;0061 0300 0315 302C 035C 0062;00E0 0315 302C 035C 0062;0061 0300 0315 302C 035C 0062; +0061 302C 035C 0315 0300 0062;00E0 302C 0315 035C 0062;0061 0300 302C 0315 035C 0062;00E0 302C 0315 035C 0062;0061 0300 302C 0315 035C 0062; +0061 302E 059A 0316 302D 0062;0061 0316 059A 302D 302E 0062;0061 0316 059A 302D 302E 0062;0061 0316 059A 302D 302E 0062;0061 0316 059A 302D 302E 0062; +0061 302D 302E 059A 0316 0062;0061 0316 302D 059A 302E 0062;0061 0316 302D 059A 302E 0062;0061 0316 302D 059A 302E 0062;0061 0316 302D 059A 302E 0062; +0061 1D16D 302E 059A 302E 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062; +0061 302E 1D16D 302E 059A 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062; +0061 1D16D 302E 059A 302F 0062;0061 059A 302E 302F 1D16D 0062;0061 059A 302E 302F 1D16D 0062;0061 059A 302E 302F 1D16D 0062;0061 059A 302E 302F 1D16D 0062; +0061 302F 1D16D 302E 059A 0062;0061 059A 302F 302E 1D16D 0062;0061 059A 302F 302E 1D16D 0062;0061 059A 302F 302E 1D16D 0062;0061 059A 302F 302E 1D16D 0062; +0061 094D 3099 093C 3099 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062; +0061 3099 094D 3099 093C 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062; +0061 094D 3099 093C 309A 0062;0061 093C 3099 309A 094D 0062;0061 093C 3099 309A 094D 0062;0061 093C 3099 309A 094D 0062;0061 093C 3099 309A 094D 0062; +0061 309A 094D 3099 093C 0062;0061 093C 309A 3099 094D 0062;0061 093C 309A 3099 094D 0062;0061 093C 309A 3099 094D 0062;0061 093C 309A 3099 094D 0062; +0061 0315 0300 05AE A66F 0062;00E0 05AE A66F 0315 0062;0061 05AE 0300 A66F 0315 0062;00E0 05AE A66F 0315 0062;0061 05AE 0300 A66F 0315 0062; +0061 A66F 0315 0300 05AE 0062;0061 05AE A66F 0300 0315 0062;0061 05AE A66F 0300 0315 0062;0061 05AE A66F 0300 0315 0062;0061 05AE A66F 0300 0315 0062; +0061 0315 0300 05AE A67C 0062;00E0 05AE A67C 0315 0062;0061 05AE 0300 A67C 0315 0062;00E0 05AE A67C 0315 0062;0061 05AE 0300 A67C 0315 0062; +0061 A67C 0315 0300 05AE 0062;0061 05AE A67C 0300 0315 0062;0061 05AE A67C 0300 0315 0062;0061 05AE A67C 0300 0315 0062;0061 05AE A67C 0300 0315 0062; +0061 0315 0300 05AE A67D 0062;00E0 05AE A67D 0315 0062;0061 05AE 0300 A67D 0315 0062;00E0 05AE A67D 0315 0062;0061 05AE 0300 A67D 0315 0062; +0061 A67D 0315 0300 05AE 0062;0061 05AE A67D 0300 0315 0062;0061 05AE A67D 0300 0315 0062;0061 05AE A67D 0300 0315 0062;0061 05AE A67D 0300 0315 0062; +0061 05B0 094D 3099 A806 0062;0061 3099 094D A806 05B0 0062;0061 3099 094D A806 05B0 0062;0061 3099 094D A806 05B0 0062;0061 3099 094D A806 05B0 0062; +0061 A806 05B0 094D 3099 0062;0061 3099 A806 094D 05B0 0062;0061 3099 A806 094D 05B0 0062;0061 3099 A806 094D 05B0 0062;0061 3099 A806 094D 05B0 0062; +0061 05B0 094D 3099 A8C4 0062;0061 3099 094D A8C4 05B0 0062;0061 3099 094D A8C4 05B0 0062;0061 3099 094D A8C4 05B0 0062;0061 3099 094D A8C4 05B0 0062; +0061 A8C4 05B0 094D 3099 0062;0061 3099 A8C4 094D 05B0 0062;0061 3099 A8C4 094D 05B0 0062;0061 3099 A8C4 094D 05B0 0062;0061 3099 A8C4 094D 05B0 0062; +0061 059A 0316 302A A92B 0062;0061 302A 0316 A92B 059A 0062;0061 302A 0316 A92B 059A 0062;0061 302A 0316 A92B 059A 0062;0061 302A 0316 A92B 059A 0062; +0061 A92B 059A 0316 302A 0062;0061 302A A92B 0316 059A 0062;0061 302A A92B 0316 059A 0062;0061 302A A92B 0316 059A 0062;0061 302A A92B 0316 059A 0062; +0061 059A 0316 302A A92C 0062;0061 302A 0316 A92C 059A 0062;0061 302A 0316 A92C 059A 0062;0061 302A 0316 A92C 059A 0062;0061 302A 0316 A92C 059A 0062; +0061 A92C 059A 0316 302A 0062;0061 302A A92C 0316 059A 0062;0061 302A A92C 0316 059A 0062;0061 302A A92C 0316 059A 0062;0061 302A A92C 0316 059A 0062; +0061 059A 0316 302A A92D 0062;0061 302A 0316 A92D 059A 0062;0061 302A 0316 A92D 059A 0062;0061 302A 0316 A92D 059A 0062;0061 302A 0316 A92D 059A 0062; +0061 A92D 059A 0316 302A 0062;0061 302A A92D 0316 059A 0062;0061 302A A92D 0316 059A 0062;0061 302A A92D 0316 059A 0062;0061 302A A92D 0316 059A 0062; +0061 05B0 094D 3099 A953 0062;0061 3099 094D A953 05B0 0062;0061 3099 094D A953 05B0 0062;0061 3099 094D A953 05B0 0062;0061 3099 094D A953 05B0 0062; +0061 A953 05B0 094D 3099 0062;0061 3099 A953 094D 05B0 0062;0061 3099 A953 094D 05B0 0062;0061 3099 A953 094D 05B0 0062;0061 3099 A953 094D 05B0 0062; +0061 064B FB1E 05C2 FB1E 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062; +0061 FB1E 064B FB1E 05C2 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062; +0061 0315 0300 05AE FE20 0062;00E0 05AE FE20 0315 0062;0061 05AE 0300 FE20 0315 0062;00E0 05AE FE20 0315 0062;0061 05AE 0300 FE20 0315 0062; +0061 FE20 0315 0300 05AE 0062;0061 05AE FE20 0300 0315 0062;0061 05AE FE20 0300 0315 0062;0061 05AE FE20 0300 0315 0062;0061 05AE FE20 0300 0315 0062; +0061 0315 0300 05AE FE21 0062;00E0 05AE FE21 0315 0062;0061 05AE 0300 FE21 0315 0062;00E0 05AE FE21 0315 0062;0061 05AE 0300 FE21 0315 0062; +0061 FE21 0315 0300 05AE 0062;0061 05AE FE21 0300 0315 0062;0061 05AE FE21 0300 0315 0062;0061 05AE FE21 0300 0315 0062;0061 05AE FE21 0300 0315 0062; +0061 0315 0300 05AE FE22 0062;00E0 05AE FE22 0315 0062;0061 05AE 0300 FE22 0315 0062;00E0 05AE FE22 0315 0062;0061 05AE 0300 FE22 0315 0062; +0061 FE22 0315 0300 05AE 0062;0061 05AE FE22 0300 0315 0062;0061 05AE FE22 0300 0315 0062;0061 05AE FE22 0300 0315 0062;0061 05AE FE22 0300 0315 0062; +0061 0315 0300 05AE FE23 0062;00E0 05AE FE23 0315 0062;0061 05AE 0300 FE23 0315 0062;00E0 05AE FE23 0315 0062;0061 05AE 0300 FE23 0315 0062; +0061 FE23 0315 0300 05AE 0062;0061 05AE FE23 0300 0315 0062;0061 05AE FE23 0300 0315 0062;0061 05AE FE23 0300 0315 0062;0061 05AE FE23 0300 0315 0062; +0061 0315 0300 05AE FE24 0062;00E0 05AE FE24 0315 0062;0061 05AE 0300 FE24 0315 0062;00E0 05AE FE24 0315 0062;0061 05AE 0300 FE24 0315 0062; +0061 FE24 0315 0300 05AE 0062;0061 05AE FE24 0300 0315 0062;0061 05AE FE24 0300 0315 0062;0061 05AE FE24 0300 0315 0062;0061 05AE FE24 0300 0315 0062; +0061 0315 0300 05AE FE25 0062;00E0 05AE FE25 0315 0062;0061 05AE 0300 FE25 0315 0062;00E0 05AE FE25 0315 0062;0061 05AE 0300 FE25 0315 0062; +0061 FE25 0315 0300 05AE 0062;0061 05AE FE25 0300 0315 0062;0061 05AE FE25 0300 0315 0062;0061 05AE FE25 0300 0315 0062;0061 05AE FE25 0300 0315 0062; +0061 0315 0300 05AE FE26 0062;00E0 05AE FE26 0315 0062;0061 05AE 0300 FE26 0315 0062;00E0 05AE FE26 0315 0062;0061 05AE 0300 FE26 0315 0062; +0061 FE26 0315 0300 05AE 0062;0061 05AE FE26 0300 0315 0062;0061 05AE FE26 0300 0315 0062;0061 05AE FE26 0300 0315 0062;0061 05AE FE26 0300 0315 0062; +0061 059A 0316 302A 101FD 0062;0061 302A 0316 101FD 059A 0062;0061 302A 0316 101FD 059A 0062;0061 302A 0316 101FD 059A 0062;0061 302A 0316 101FD 059A 0062; +0061 101FD 059A 0316 302A 0062;0061 302A 101FD 0316 059A 0062;0061 302A 101FD 0316 059A 0062;0061 302A 101FD 0316 059A 0062;0061 302A 101FD 0316 059A 0062; +0061 059A 0316 302A 10A0D 0062;0061 302A 0316 10A0D 059A 0062;0061 302A 0316 10A0D 059A 0062;0061 302A 0316 10A0D 059A 0062;0061 302A 0316 10A0D 059A 0062; +0061 10A0D 059A 0316 302A 0062;0061 302A 10A0D 0316 059A 0062;0061 302A 10A0D 0316 059A 0062;0061 302A 10A0D 0316 059A 0062;0061 302A 10A0D 0316 059A 0062; +0061 0315 0300 05AE 10A0F 0062;00E0 05AE 10A0F 0315 0062;0061 05AE 0300 10A0F 0315 0062;00E0 05AE 10A0F 0315 0062;0061 05AE 0300 10A0F 0315 0062; +0061 10A0F 0315 0300 05AE 0062;0061 05AE 10A0F 0300 0315 0062;0061 05AE 10A0F 0300 0315 0062;0061 05AE 10A0F 0300 0315 0062;0061 05AE 10A0F 0300 0315 0062; +0061 0315 0300 05AE 10A38 0062;00E0 05AE 10A38 0315 0062;0061 05AE 0300 10A38 0315 0062;00E0 05AE 10A38 0315 0062;0061 05AE 0300 10A38 0315 0062; +0061 10A38 0315 0300 05AE 0062;0061 05AE 10A38 0300 0315 0062;0061 05AE 10A38 0300 0315 0062;0061 05AE 10A38 0300 0315 0062;0061 05AE 10A38 0300 0315 0062; +0061 093C 0334 10A39 0062;0061 0334 10A39 093C 0062;0061 0334 10A39 093C 0062;0061 0334 10A39 093C 0062;0061 0334 10A39 093C 0062; +0061 10A39 093C 0334 0062;0061 10A39 0334 093C 0062;0061 10A39 0334 093C 0062;0061 10A39 0334 093C 0062;0061 10A39 0334 093C 0062; +0061 059A 0316 302A 10A3A 0062;0061 302A 0316 10A3A 059A 0062;0061 302A 0316 10A3A 059A 0062;0061 302A 0316 10A3A 059A 0062;0061 302A 0316 10A3A 059A 0062; +0061 10A3A 059A 0316 302A 0062;0061 302A 10A3A 0316 059A 0062;0061 302A 10A3A 0316 059A 0062;0061 302A 10A3A 0316 059A 0062;0061 302A 10A3A 0316 059A 0062; +0061 05B0 094D 3099 10A3F 0062;0061 3099 094D 10A3F 05B0 0062;0061 3099 094D 10A3F 05B0 0062;0061 3099 094D 10A3F 05B0 0062;0061 3099 094D 10A3F 05B0 0062; +0061 10A3F 05B0 094D 3099 0062;0061 3099 10A3F 094D 05B0 0062;0061 3099 10A3F 094D 05B0 0062;0061 3099 10A3F 094D 05B0 0062;0061 3099 10A3F 094D 05B0 0062; +0061 302A 031B 1DCE 1D165 0062;0061 1DCE 031B 1D165 302A 0062;0061 1DCE 031B 1D165 302A 0062;0061 1DCE 031B 1D165 302A 0062;0061 1DCE 031B 1D165 302A 0062; +0061 1D165 302A 031B 1DCE 0062;0061 1DCE 1D165 031B 302A 0062;0061 1DCE 1D165 031B 302A 0062;0061 1DCE 1D165 031B 302A 0062;0061 1DCE 1D165 031B 302A 0062; +0061 302A 031B 1DCE 1D166 0062;0061 1DCE 031B 1D166 302A 0062;0061 1DCE 031B 1D166 302A 0062;0061 1DCE 031B 1D166 302A 0062;0061 1DCE 031B 1D166 302A 0062; +0061 1D166 302A 031B 1DCE 0062;0061 1DCE 1D166 031B 302A 0062;0061 1DCE 1D166 031B 302A 0062;0061 1DCE 1D166 031B 302A 0062;0061 1DCE 1D166 031B 302A 0062; +0061 093C 0334 1D167 0062;0061 0334 1D167 093C 0062;0061 0334 1D167 093C 0062;0061 0334 1D167 093C 0062;0061 0334 1D167 093C 0062; +0061 1D167 093C 0334 0062;0061 1D167 0334 093C 0062;0061 1D167 0334 093C 0062;0061 1D167 0334 093C 0062;0061 1D167 0334 093C 0062; +0061 093C 0334 1D168 0062;0061 0334 1D168 093C 0062;0061 0334 1D168 093C 0062;0061 0334 1D168 093C 0062;0061 0334 1D168 093C 0062; +0061 1D168 093C 0334 0062;0061 1D168 0334 093C 0062;0061 1D168 0334 093C 0062;0061 1D168 0334 093C 0062;0061 1D168 0334 093C 0062; +0061 093C 0334 1D169 0062;0061 0334 1D169 093C 0062;0061 0334 1D169 093C 0062;0061 0334 1D169 093C 0062;0061 0334 1D169 093C 0062; +0061 1D169 093C 0334 0062;0061 1D169 0334 093C 0062;0061 1D169 0334 093C 0062;0061 1D169 0334 093C 0062;0061 1D169 0334 093C 0062; +0061 05AE 1D16D 302E 1D16D 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062; +0061 1D16D 05AE 1D16D 302E 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062; +0061 302A 031B 1DCE 1D16E 0062;0061 1DCE 031B 1D16E 302A 0062;0061 1DCE 031B 1D16E 302A 0062;0061 1DCE 031B 1D16E 302A 0062;0061 1DCE 031B 1D16E 302A 0062; +0061 1D16E 302A 031B 1DCE 0062;0061 1DCE 1D16E 031B 302A 0062;0061 1DCE 1D16E 031B 302A 0062;0061 1DCE 1D16E 031B 302A 0062;0061 1DCE 1D16E 031B 302A 0062; +0061 302A 031B 1DCE 1D16F 0062;0061 1DCE 031B 1D16F 302A 0062;0061 1DCE 031B 1D16F 302A 0062;0061 1DCE 031B 1D16F 302A 0062;0061 1DCE 031B 1D16F 302A 0062; +0061 1D16F 302A 031B 1DCE 0062;0061 1DCE 1D16F 031B 302A 0062;0061 1DCE 1D16F 031B 302A 0062;0061 1DCE 1D16F 031B 302A 0062;0061 1DCE 1D16F 031B 302A 0062; +0061 302A 031B 1DCE 1D170 0062;0061 1DCE 031B 1D170 302A 0062;0061 1DCE 031B 1D170 302A 0062;0061 1DCE 031B 1D170 302A 0062;0061 1DCE 031B 1D170 302A 0062; +0061 1D170 302A 031B 1DCE 0062;0061 1DCE 1D170 031B 302A 0062;0061 1DCE 1D170 031B 302A 0062;0061 1DCE 1D170 031B 302A 0062;0061 1DCE 1D170 031B 302A 0062; +0061 302A 031B 1DCE 1D171 0062;0061 1DCE 031B 1D171 302A 0062;0061 1DCE 031B 1D171 302A 0062;0061 1DCE 031B 1D171 302A 0062;0061 1DCE 031B 1D171 302A 0062; +0061 1D171 302A 031B 1DCE 0062;0061 1DCE 1D171 031B 302A 0062;0061 1DCE 1D171 031B 302A 0062;0061 1DCE 1D171 031B 302A 0062;0061 1DCE 1D171 031B 302A 0062; +0061 302A 031B 1DCE 1D172 0062;0061 1DCE 031B 1D172 302A 0062;0061 1DCE 031B 1D172 302A 0062;0061 1DCE 031B 1D172 302A 0062;0061 1DCE 031B 1D172 302A 0062; +0061 1D172 302A 031B 1DCE 0062;0061 1DCE 1D172 031B 302A 0062;0061 1DCE 1D172 031B 302A 0062;0061 1DCE 1D172 031B 302A 0062;0061 1DCE 1D172 031B 302A 0062; +0061 059A 0316 302A 1D17B 0062;0061 302A 0316 1D17B 059A 0062;0061 302A 0316 1D17B 059A 0062;0061 302A 0316 1D17B 059A 0062;0061 302A 0316 1D17B 059A 0062; +0061 1D17B 059A 0316 302A 0062;0061 302A 1D17B 0316 059A 0062;0061 302A 1D17B 0316 059A 0062;0061 302A 1D17B 0316 059A 0062;0061 302A 1D17B 0316 059A 0062; +0061 059A 0316 302A 1D17C 0062;0061 302A 0316 1D17C 059A 0062;0061 302A 0316 1D17C 059A 0062;0061 302A 0316 1D17C 059A 0062;0061 302A 0316 1D17C 059A 0062; +0061 1D17C 059A 0316 302A 0062;0061 302A 1D17C 0316 059A 0062;0061 302A 1D17C 0316 059A 0062;0061 302A 1D17C 0316 059A 0062;0061 302A 1D17C 0316 059A 0062; +0061 059A 0316 302A 1D17D 0062;0061 302A 0316 1D17D 059A 0062;0061 302A 0316 1D17D 059A 0062;0061 302A 0316 1D17D 059A 0062;0061 302A 0316 1D17D 059A 0062; +0061 1D17D 059A 0316 302A 0062;0061 302A 1D17D 0316 059A 0062;0061 302A 1D17D 0316 059A 0062;0061 302A 1D17D 0316 059A 0062;0061 302A 1D17D 0316 059A 0062; +0061 059A 0316 302A 1D17E 0062;0061 302A 0316 1D17E 059A 0062;0061 302A 0316 1D17E 059A 0062;0061 302A 0316 1D17E 059A 0062;0061 302A 0316 1D17E 059A 0062; +0061 1D17E 059A 0316 302A 0062;0061 302A 1D17E 0316 059A 0062;0061 302A 1D17E 0316 059A 0062;0061 302A 1D17E 0316 059A 0062;0061 302A 1D17E 0316 059A 0062; +0061 059A 0316 302A 1D17F 0062;0061 302A 0316 1D17F 059A 0062;0061 302A 0316 1D17F 059A 0062;0061 302A 0316 1D17F 059A 0062;0061 302A 0316 1D17F 059A 0062; +0061 1D17F 059A 0316 302A 0062;0061 302A 1D17F 0316 059A 0062;0061 302A 1D17F 0316 059A 0062;0061 302A 1D17F 0316 059A 0062;0061 302A 1D17F 0316 059A 0062; +0061 059A 0316 302A 1D180 0062;0061 302A 0316 1D180 059A 0062;0061 302A 0316 1D180 059A 0062;0061 302A 0316 1D180 059A 0062;0061 302A 0316 1D180 059A 0062; +0061 1D180 059A 0316 302A 0062;0061 302A 1D180 0316 059A 0062;0061 302A 1D180 0316 059A 0062;0061 302A 1D180 0316 059A 0062;0061 302A 1D180 0316 059A 0062; +0061 059A 0316 302A 1D181 0062;0061 302A 0316 1D181 059A 0062;0061 302A 0316 1D181 059A 0062;0061 302A 0316 1D181 059A 0062;0061 302A 0316 1D181 059A 0062; +0061 1D181 059A 0316 302A 0062;0061 302A 1D181 0316 059A 0062;0061 302A 1D181 0316 059A 0062;0061 302A 1D181 0316 059A 0062;0061 302A 1D181 0316 059A 0062; +0061 059A 0316 302A 1D182 0062;0061 302A 0316 1D182 059A 0062;0061 302A 0316 1D182 059A 0062;0061 302A 0316 1D182 059A 0062;0061 302A 0316 1D182 059A 0062; +0061 1D182 059A 0316 302A 0062;0061 302A 1D182 0316 059A 0062;0061 302A 1D182 0316 059A 0062;0061 302A 1D182 0316 059A 0062;0061 302A 1D182 0316 059A 0062; +0061 0315 0300 05AE 1D185 0062;00E0 05AE 1D185 0315 0062;0061 05AE 0300 1D185 0315 0062;00E0 05AE 1D185 0315 0062;0061 05AE 0300 1D185 0315 0062; +0061 1D185 0315 0300 05AE 0062;0061 05AE 1D185 0300 0315 0062;0061 05AE 1D185 0300 0315 0062;0061 05AE 1D185 0300 0315 0062;0061 05AE 1D185 0300 0315 0062; +0061 0315 0300 05AE 1D186 0062;00E0 05AE 1D186 0315 0062;0061 05AE 0300 1D186 0315 0062;00E0 05AE 1D186 0315 0062;0061 05AE 0300 1D186 0315 0062; +0061 1D186 0315 0300 05AE 0062;0061 05AE 1D186 0300 0315 0062;0061 05AE 1D186 0300 0315 0062;0061 05AE 1D186 0300 0315 0062;0061 05AE 1D186 0300 0315 0062; +0061 0315 0300 05AE 1D187 0062;00E0 05AE 1D187 0315 0062;0061 05AE 0300 1D187 0315 0062;00E0 05AE 1D187 0315 0062;0061 05AE 0300 1D187 0315 0062; +0061 1D187 0315 0300 05AE 0062;0061 05AE 1D187 0300 0315 0062;0061 05AE 1D187 0300 0315 0062;0061 05AE 1D187 0300 0315 0062;0061 05AE 1D187 0300 0315 0062; +0061 0315 0300 05AE 1D188 0062;00E0 05AE 1D188 0315 0062;0061 05AE 0300 1D188 0315 0062;00E0 05AE 1D188 0315 0062;0061 05AE 0300 1D188 0315 0062; +0061 1D188 0315 0300 05AE 0062;0061 05AE 1D188 0300 0315 0062;0061 05AE 1D188 0300 0315 0062;0061 05AE 1D188 0300 0315 0062;0061 05AE 1D188 0300 0315 0062; +0061 0315 0300 05AE 1D189 0062;00E0 05AE 1D189 0315 0062;0061 05AE 0300 1D189 0315 0062;00E0 05AE 1D189 0315 0062;0061 05AE 0300 1D189 0315 0062; +0061 1D189 0315 0300 05AE 0062;0061 05AE 1D189 0300 0315 0062;0061 05AE 1D189 0300 0315 0062;0061 05AE 1D189 0300 0315 0062;0061 05AE 1D189 0300 0315 0062; +0061 059A 0316 302A 1D18A 0062;0061 302A 0316 1D18A 059A 0062;0061 302A 0316 1D18A 059A 0062;0061 302A 0316 1D18A 059A 0062;0061 302A 0316 1D18A 059A 0062; +0061 1D18A 059A 0316 302A 0062;0061 302A 1D18A 0316 059A 0062;0061 302A 1D18A 0316 059A 0062;0061 302A 1D18A 0316 059A 0062;0061 302A 1D18A 0316 059A 0062; +0061 059A 0316 302A 1D18B 0062;0061 302A 0316 1D18B 059A 0062;0061 302A 0316 1D18B 059A 0062;0061 302A 0316 1D18B 059A 0062;0061 302A 0316 1D18B 059A 0062; +0061 1D18B 059A 0316 302A 0062;0061 302A 1D18B 0316 059A 0062;0061 302A 1D18B 0316 059A 0062;0061 302A 1D18B 0316 059A 0062;0061 302A 1D18B 0316 059A 0062; +0061 0315 0300 05AE 1D1AA 0062;00E0 05AE 1D1AA 0315 0062;0061 05AE 0300 1D1AA 0315 0062;00E0 05AE 1D1AA 0315 0062;0061 05AE 0300 1D1AA 0315 0062; +0061 1D1AA 0315 0300 05AE 0062;0061 05AE 1D1AA 0300 0315 0062;0061 05AE 1D1AA 0300 0315 0062;0061 05AE 1D1AA 0300 0315 0062;0061 05AE 1D1AA 0300 0315 0062; +0061 0315 0300 05AE 1D1AB 0062;00E0 05AE 1D1AB 0315 0062;0061 05AE 0300 1D1AB 0315 0062;00E0 05AE 1D1AB 0315 0062;0061 05AE 0300 1D1AB 0315 0062; +0061 1D1AB 0315 0300 05AE 0062;0061 05AE 1D1AB 0300 0315 0062;0061 05AE 1D1AB 0300 0315 0062;0061 05AE 1D1AB 0300 0315 0062;0061 05AE 1D1AB 0300 0315 0062; +0061 0315 0300 05AE 1D1AC 0062;00E0 05AE 1D1AC 0315 0062;0061 05AE 0300 1D1AC 0315 0062;00E0 05AE 1D1AC 0315 0062;0061 05AE 0300 1D1AC 0315 0062; +0061 1D1AC 0315 0300 05AE 0062;0061 05AE 1D1AC 0300 0315 0062;0061 05AE 1D1AC 0300 0315 0062;0061 05AE 1D1AC 0300 0315 0062;0061 05AE 1D1AC 0300 0315 0062; +0061 0315 0300 05AE 1D1AD 0062;00E0 05AE 1D1AD 0315 0062;0061 05AE 0300 1D1AD 0315 0062;00E0 05AE 1D1AD 0315 0062;0061 05AE 0300 1D1AD 0315 0062; +0061 1D1AD 0315 0300 05AE 0062;0061 05AE 1D1AD 0300 0315 0062;0061 05AE 1D1AD 0300 0315 0062;0061 05AE 1D1AD 0300 0315 0062;0061 05AE 1D1AD 0300 0315 0062; +0061 0315 0300 05AE 1D242 0062;00E0 05AE 1D242 0315 0062;0061 05AE 0300 1D242 0315 0062;00E0 05AE 1D242 0315 0062;0061 05AE 0300 1D242 0315 0062; +0061 1D242 0315 0300 05AE 0062;0061 05AE 1D242 0300 0315 0062;0061 05AE 1D242 0300 0315 0062;0061 05AE 1D242 0300 0315 0062;0061 05AE 1D242 0300 0315 0062; +0061 0315 0300 05AE 1D243 0062;00E0 05AE 1D243 0315 0062;0061 05AE 0300 1D243 0315 0062;00E0 05AE 1D243 0315 0062;0061 05AE 0300 1D243 0315 0062; +0061 1D243 0315 0300 05AE 0062;0061 05AE 1D243 0300 0315 0062;0061 05AE 1D243 0300 0315 0062;0061 05AE 1D243 0300 0315 0062;0061 05AE 1D243 0300 0315 0062; +0061 0315 0300 05AE 1D244 0062;00E0 05AE 1D244 0315 0062;0061 05AE 0300 1D244 0315 0062;00E0 05AE 1D244 0315 0062;0061 05AE 0300 1D244 0315 0062; +0061 1D244 0315 0300 05AE 0062;0061 05AE 1D244 0300 0315 0062;0061 05AE 1D244 0300 0315 0062;0061 05AE 1D244 0300 0315 0062;0061 05AE 1D244 0300 0315 0062; + +@Part3 + +09C7 0334 09BE;09C7 0334 09BE;09C7 0334 09BE;09C7 0334 09BE;09C7 0334 09BE; +09C7 0334 09D7;09C7 0334 09D7;09C7 0334 09D7;09C7 0334 09D7;09C7 0334 09D7; +0B47 0334 0B3E;0B47 0334 0B3E;0B47 0334 0B3E;0B47 0334 0B3E;0B47 0334 0B3E; +0B47 0334 0B56;0B47 0334 0B56;0B47 0334 0B56;0B47 0334 0B56;0B47 0334 0B56; +0B47 0334 0B57;0B47 0334 0B57;0B47 0334 0B57;0B47 0334 0B57;0B47 0334 0B57; +0B92 0334 0BD7;0B92 0334 0BD7;0B92 0334 0BD7;0B92 0334 0BD7;0B92 0334 0BD7; +0BC6 0334 0BBE;0BC6 0334 0BBE;0BC6 0334 0BBE;0BC6 0334 0BBE;0BC6 0334 0BBE; +0BC6 0334 0BD7;0BC6 0334 0BD7;0BC6 0334 0BD7;0BC6 0334 0BD7;0BC6 0334 0BD7; +0BC7 0334 0BBE;0BC7 0334 0BBE;0BC7 0334 0BBE;0BC7 0334 0BBE;0BC7 0334 0BBE; +0CBF 0334 0CD5;0CBF 0334 0CD5;0CBF 0334 0CD5;0CBF 0334 0CD5;0CBF 0334 0CD5; +0CC6 0334 0CC2;0CC6 0334 0CC2;0CC6 0334 0CC2;0CC6 0334 0CC2;0CC6 0334 0CC2; +0CC6 0334 0CD5;0CC6 0334 0CD5;0CC6 0334 0CD5;0CC6 0334 0CD5;0CC6 0334 0CD5; +0CC6 0334 0CD6;0CC6 0334 0CD6;0CC6 0334 0CD6;0CC6 0334 0CD6;0CC6 0334 0CD6; +0CCA 0334 0CD5;0CCA 0334 0CD5;0CC6 0CC2 0334 0CD5;0CCA 0334 0CD5;0CC6 0CC2 0334 0CD5; +0D46 0334 0D3E;0D46 0334 0D3E;0D46 0334 0D3E;0D46 0334 0D3E;0D46 0334 0D3E; +0D46 0334 0D57;0D46 0334 0D57;0D46 0334 0D57;0D46 0334 0D57;0D46 0334 0D57; +0D47 0334 0D3E;0D47 0334 0D3E;0D47 0334 0D3E;0D47 0334 0D3E;0D47 0334 0D3E; +0DD9 0334 0DCF;0DD9 0334 0DCF;0DD9 0334 0DCF;0DD9 0334 0DCF;0DD9 0334 0DCF; +0DD9 0334 0DDF;0DD9 0334 0DDF;0DD9 0334 0DDF;0DD9 0334 0DDF;0DD9 0334 0DDF; +0F40 0334 0FB5;0F40 0334 0FB5;0F40 0334 0FB5;0F40 0334 0FB5;0F40 0334 0FB5; +0F42 0334 0FB7;0F42 0334 0FB7;0F42 0334 0FB7;0F42 0334 0FB7;0F42 0334 0FB7; +0F4C 0334 0FB7;0F4C 0334 0FB7;0F4C 0334 0FB7;0F4C 0334 0FB7;0F4C 0334 0FB7; +0F51 0334 0FB7;0F51 0334 0FB7;0F51 0334 0FB7;0F51 0334 0FB7;0F51 0334 0FB7; +0F56 0334 0FB7;0F56 0334 0FB7;0F56 0334 0FB7;0F56 0334 0FB7;0F56 0334 0FB7; +0F5B 0334 0FB7;0F5B 0334 0FB7;0F5B 0334 0FB7;0F5B 0334 0FB7;0F5B 0334 0FB7; +0F90 0334 0FB5;0F90 0334 0FB5;0F90 0334 0FB5;0F90 0334 0FB5;0F90 0334 0FB5; +0F92 0334 0FB7;0F92 0334 0FB7;0F92 0334 0FB7;0F92 0334 0FB7;0F92 0334 0FB7; +0F9C 0334 0FB7;0F9C 0334 0FB7;0F9C 0334 0FB7;0F9C 0334 0FB7;0F9C 0334 0FB7; +0FA1 0334 0FB7;0FA1 0334 0FB7;0FA1 0334 0FB7;0FA1 0334 0FB7;0FA1 0334 0FB7; +0FA6 0334 0FB7;0FA6 0334 0FB7;0FA6 0334 0FB7;0FA6 0334 0FB7;0FA6 0334 0FB7; +0FAB 0334 0FB7;0FAB 0334 0FB7;0FAB 0334 0FB7;0FAB 0334 0FB7;0FAB 0334 0FB7; +1025 0334 102E;1025 0334 102E;1025 0334 102E;1025 0334 102E;1025 0334 102E; +1100 0334 1161;1100 0334 1161;1100 0334 1161;1100 0334 1161;1100 0334 1161; +1100 0334 116E;1100 0334 116E;1100 0334 116E;1100 0334 116E;1100 0334 116E; +1101 0334 1166;1101 0334 1166;1101 0334 1166;1101 0334 1166;1101 0334 1166; +1101 0334 1173;1101 0334 1173;1101 0334 1173;1101 0334 1173;1101 0334 1173; +1102 0334 116B;1102 0334 116B;1102 0334 116B;1102 0334 116B;1102 0334 116B; +1103 0334 1163;1103 0334 1163;1103 0334 1163;1103 0334 1163;1103 0334 1163; +1103 0334 1170;1103 0334 1170;1103 0334 1170;1103 0334 1170;1103 0334 1170; +1104 0334 1168;1104 0334 1168;1104 0334 1168;1104 0334 1168;1104 0334 1168; +1104 0334 1175;1104 0334 1175;1104 0334 1175;1104 0334 1175;1104 0334 1175; +1105 0334 116D;1105 0334 116D;1105 0334 116D;1105 0334 116D;1105 0334 116D; +1106 0334 1165;1106 0334 1165;1106 0334 1165;1106 0334 1165;1106 0334 1165; +1106 0334 1172;1106 0334 1172;1106 0334 1172;1106 0334 1172;1106 0334 1172; +1107 0334 116A;1107 0334 116A;1107 0334 116A;1107 0334 116A;1107 0334 116A; +1108 0334 1162;1108 0334 1162;1108 0334 1162;1108 0334 1162;1108 0334 1162; +1108 0334 116F;1108 0334 116F;1108 0334 116F;1108 0334 116F;1108 0334 116F; +1109 0334 1167;1109 0334 1167;1109 0334 1167;1109 0334 1167;1109 0334 1167; +1109 0334 1174;1109 0334 1174;1109 0334 1174;1109 0334 1174;1109 0334 1174; +110A 0334 116C;110A 0334 116C;110A 0334 116C;110A 0334 116C;110A 0334 116C; +110B 0334 1164;110B 0334 1164;110B 0334 1164;110B 0334 1164;110B 0334 1164; +110B 0334 1171;110B 0334 1171;110B 0334 1171;110B 0334 1171;110B 0334 1171; +110C 0334 1169;110C 0334 1169;110C 0334 1169;110C 0334 1169;110C 0334 1169; +110D 0334 1161;110D 0334 1161;110D 0334 1161;110D 0334 1161;110D 0334 1161; +110D 0334 116E;110D 0334 116E;110D 0334 116E;110D 0334 116E;110D 0334 116E; +110E 0334 1166;110E 0334 1166;110E 0334 1166;110E 0334 1166;110E 0334 1166; +110E 0334 1173;110E 0334 1173;110E 0334 1173;110E 0334 1173;110E 0334 1173; +110F 0334 116B;110F 0334 116B;110F 0334 116B;110F 0334 116B;110F 0334 116B; +1110 0334 1163;1110 0334 1163;1110 0334 1163;1110 0334 1163;1110 0334 1163; +1110 0334 1170;1110 0334 1170;1110 0334 1170;1110 0334 1170;1110 0334 1170; +1111 0334 1168;1111 0334 1168;1111 0334 1168;1111 0334 1168;1111 0334 1168; +1111 0334 1175;1111 0334 1175;1111 0334 1175;1111 0334 1175;1111 0334 1175; +1112 0334 116D;1112 0334 116D;1112 0334 116D;1112 0334 116D;1112 0334 116D; +1B05 0334 1B35;1B05 0334 1B35;1B05 0334 1B35;1B05 0334 1B35;1B05 0334 1B35; +1B07 0334 1B35;1B07 0334 1B35;1B07 0334 1B35;1B07 0334 1B35;1B07 0334 1B35; +1B09 0334 1B35;1B09 0334 1B35;1B09 0334 1B35;1B09 0334 1B35;1B09 0334 1B35; +1B0B 0334 1B35;1B0B 0334 1B35;1B0B 0334 1B35;1B0B 0334 1B35;1B0B 0334 1B35; +1B0D 0334 1B35;1B0D 0334 1B35;1B0D 0334 1B35;1B0D 0334 1B35;1B0D 0334 1B35; +1B11 0334 1B35;1B11 0334 1B35;1B11 0334 1B35;1B11 0334 1B35;1B11 0334 1B35; +1B3A 0334 1B35;1B3A 0334 1B35;1B3A 0334 1B35;1B3A 0334 1B35;1B3A 0334 1B35; +1B3C 0334 1B35;1B3C 0334 1B35;1B3C 0334 1B35;1B3C 0334 1B35;1B3C 0334 1B35; +1B3E 0334 1B35;1B3E 0334 1B35;1B3E 0334 1B35;1B3E 0334 1B35;1B3E 0334 1B35; +1B3F 0334 1B35;1B3F 0334 1B35;1B3F 0334 1B35;1B3F 0334 1B35;1B3F 0334 1B35; +1B42 0334 1B35;1B42 0334 1B35;1B42 0334 1B35;1B42 0334 1B35;1B42 0334 1B35; +AC54 0334 11AE;AC54 0334 11AE;1100 1164 0334 11AE;AC54 0334 11AE;1100 1164 0334 11AE; +ACA8 0334 11B5;ACA8 0334 11B5;1100 1167 0334 11B5;ACA8 0334 11B5;1100 1167 0334 11B5; +ACFC 0334 11BC;ACFC 0334 11BC;1100 116A 0334 11BC;ACFC 0334 11BC;1100 116A 0334 11BC; +ADC0 0334 11AE;ADC0 0334 11AE;1100 1171 0334 11AE;ADC0 0334 11AE;1100 1171 0334 11AE; +AE14 0334 11B5;AE14 0334 11B5;1100 1174 0334 11B5;AE14 0334 11B5;1100 1174 0334 11B5; +AE68 0334 11BC;AE68 0334 11BC;1101 1162 0334 11BC;AE68 0334 11BC;1101 1162 0334 11BC; +AF2C 0334 11AE;AF2C 0334 11AE;1101 1169 0334 11AE;AF2C 0334 11AE;1101 1169 0334 11AE; +AF80 0334 11B5;AF80 0334 11B5;1101 116C 0334 11B5;AF80 0334 11B5;1101 116C 0334 11B5; +AFD4 0334 11BC;AFD4 0334 11BC;1101 116F 0334 11BC;AFD4 0334 11BC;1101 116F 0334 11BC; +B098 0334 11AE;B098 0334 11AE;1102 1161 0334 11AE;B098 0334 11AE;1102 1161 0334 11AE; +B0EC 0334 11B5;B0EC 0334 11B5;1102 1164 0334 11B5;B0EC 0334 11B5;1102 1164 0334 11B5; +B140 0334 11BC;B140 0334 11BC;1102 1167 0334 11BC;B140 0334 11BC;1102 1167 0334 11BC; +B204 0334 11AE;B204 0334 11AE;1102 116E 0334 11AE;B204 0334 11AE;1102 116E 0334 11AE; +B258 0334 11B5;B258 0334 11B5;1102 1171 0334 11B5;B258 0334 11B5;1102 1171 0334 11B5; +B2AC 0334 11BC;B2AC 0334 11BC;1102 1174 0334 11BC;B2AC 0334 11BC;1102 1174 0334 11BC; +B370 0334 11AE;B370 0334 11AE;1103 1166 0334 11AE;B370 0334 11AE;1103 1166 0334 11AE; +B3C4 0334 11B5;B3C4 0334 11B5;1103 1169 0334 11B5;B3C4 0334 11B5;1103 1169 0334 11B5; +B418 0334 11BC;B418 0334 11BC;1103 116C 0334 11BC;B418 0334 11BC;1103 116C 0334 11BC; +B4DC 0334 11AE;B4DC 0334 11AE;1103 1173 0334 11AE;B4DC 0334 11AE;1103 1173 0334 11AE; +B530 0334 11B5;B530 0334 11B5;1104 1161 0334 11B5;B530 0334 11B5;1104 1161 0334 11B5; +B584 0334 11BC;B584 0334 11BC;1104 1164 0334 11BC;B584 0334 11BC;1104 1164 0334 11BC; +B648 0334 11AE;B648 0334 11AE;1104 116B 0334 11AE;B648 0334 11AE;1104 116B 0334 11AE; +B69C 0334 11B5;B69C 0334 11B5;1104 116E 0334 11B5;B69C 0334 11B5;1104 116E 0334 11B5; +B6F0 0334 11BC;B6F0 0334 11BC;1104 1171 0334 11BC;B6F0 0334 11BC;1104 1171 0334 11BC; +B7B4 0334 11AE;B7B4 0334 11AE;1105 1163 0334 11AE;B7B4 0334 11AE;1105 1163 0334 11AE; +B808 0334 11B5;B808 0334 11B5;1105 1166 0334 11B5;B808 0334 11B5;1105 1166 0334 11B5; +B85C 0334 11BC;B85C 0334 11BC;1105 1169 0334 11BC;B85C 0334 11BC;1105 1169 0334 11BC; +B920 0334 11AE;B920 0334 11AE;1105 1170 0334 11AE;B920 0334 11AE;1105 1170 0334 11AE; +B974 0334 11B5;B974 0334 11B5;1105 1173 0334 11B5;B974 0334 11B5;1105 1173 0334 11B5; +B9C8 0334 11BC;B9C8 0334 11BC;1106 1161 0334 11BC;B9C8 0334 11BC;1106 1161 0334 11BC; +BA8C 0334 11AE;BA8C 0334 11AE;1106 1168 0334 11AE;BA8C 0334 11AE;1106 1168 0334 11AE; +BAE0 0334 11B5;BAE0 0334 11B5;1106 116B 0334 11B5;BAE0 0334 11B5;1106 116B 0334 11B5; +BB34 0334 11BC;BB34 0334 11BC;1106 116E 0334 11BC;BB34 0334 11BC;1106 116E 0334 11BC; +BBF8 0334 11AE;BBF8 0334 11AE;1106 1175 0334 11AE;BBF8 0334 11AE;1106 1175 0334 11AE; +BC4C 0334 11B5;BC4C 0334 11B5;1107 1163 0334 11B5;BC4C 0334 11B5;1107 1163 0334 11B5; +BCA0 0334 11BC;BCA0 0334 11BC;1107 1166 0334 11BC;BCA0 0334 11BC;1107 1166 0334 11BC; +BD64 0334 11AE;BD64 0334 11AE;1107 116D 0334 11AE;BD64 0334 11AE;1107 116D 0334 11AE; +BDB8 0334 11B5;BDB8 0334 11B5;1107 1170 0334 11B5;BDB8 0334 11B5;1107 1170 0334 11B5; +BE0C 0334 11BC;BE0C 0334 11BC;1107 1173 0334 11BC;BE0C 0334 11BC;1107 1173 0334 11BC; +BED0 0334 11AE;BED0 0334 11AE;1108 1165 0334 11AE;BED0 0334 11AE;1108 1165 0334 11AE; +BF24 0334 11B5;BF24 0334 11B5;1108 1168 0334 11B5;BF24 0334 11B5;1108 1168 0334 11B5; +BF78 0334 11BC;BF78 0334 11BC;1108 116B 0334 11BC;BF78 0334 11BC;1108 116B 0334 11BC; +C03C 0334 11AE;C03C 0334 11AE;1108 1172 0334 11AE;C03C 0334 11AE;1108 1172 0334 11AE; +C090 0334 11B5;C090 0334 11B5;1108 1175 0334 11B5;C090 0334 11B5;1108 1175 0334 11B5; +C0E4 0334 11BC;C0E4 0334 11BC;1109 1163 0334 11BC;C0E4 0334 11BC;1109 1163 0334 11BC; +C1A8 0334 11AE;C1A8 0334 11AE;1109 116A 0334 11AE;C1A8 0334 11AE;1109 116A 0334 11AE; +C1FC 0334 11B5;C1FC 0334 11B5;1109 116D 0334 11B5;C1FC 0334 11B5;1109 116D 0334 11B5; +C250 0334 11BC;C250 0334 11BC;1109 1170 0334 11BC;C250 0334 11BC;1109 1170 0334 11BC; +C314 0334 11AE;C314 0334 11AE;110A 1162 0334 11AE;C314 0334 11AE;110A 1162 0334 11AE; +C368 0334 11B5;C368 0334 11B5;110A 1165 0334 11B5;C368 0334 11B5;110A 1165 0334 11B5; +C3BC 0334 11BC;C3BC 0334 11BC;110A 1168 0334 11BC;C3BC 0334 11BC;110A 1168 0334 11BC; +C480 0334 11AE;C480 0334 11AE;110A 116F 0334 11AE;C480 0334 11AE;110A 116F 0334 11AE; +C4D4 0334 11B5;C4D4 0334 11B5;110A 1172 0334 11B5;C4D4 0334 11B5;110A 1172 0334 11B5; +C528 0334 11BC;C528 0334 11BC;110A 1175 0334 11BC;C528 0334 11BC;110A 1175 0334 11BC; +C5EC 0334 11AE;C5EC 0334 11AE;110B 1167 0334 11AE;C5EC 0334 11AE;110B 1167 0334 11AE; +C640 0334 11B5;C640 0334 11B5;110B 116A 0334 11B5;C640 0334 11B5;110B 116A 0334 11B5; +C694 0334 11BC;C694 0334 11BC;110B 116D 0334 11BC;C694 0334 11BC;110B 116D 0334 11BC; +C758 0334 11AE;C758 0334 11AE;110B 1174 0334 11AE;C758 0334 11AE;110B 1174 0334 11AE; +C7AC 0334 11B5;C7AC 0334 11B5;110C 1162 0334 11B5;C7AC 0334 11B5;110C 1162 0334 11B5; +C800 0334 11BC;C800 0334 11BC;110C 1165 0334 11BC;C800 0334 11BC;110C 1165 0334 11BC; +C8C4 0334 11AE;C8C4 0334 11AE;110C 116C 0334 11AE;C8C4 0334 11AE;110C 116C 0334 11AE; +C918 0334 11B5;C918 0334 11B5;110C 116F 0334 11B5;C918 0334 11B5;110C 116F 0334 11B5; +C96C 0334 11BC;C96C 0334 11BC;110C 1172 0334 11BC;C96C 0334 11BC;110C 1172 0334 11BC; +CA30 0334 11AE;CA30 0334 11AE;110D 1164 0334 11AE;CA30 0334 11AE;110D 1164 0334 11AE; +CA84 0334 11B5;CA84 0334 11B5;110D 1167 0334 11B5;CA84 0334 11B5;110D 1167 0334 11B5; +CAD8 0334 11BC;CAD8 0334 11BC;110D 116A 0334 11BC;CAD8 0334 11BC;110D 116A 0334 11BC; +CB9C 0334 11AE;CB9C 0334 11AE;110D 1171 0334 11AE;CB9C 0334 11AE;110D 1171 0334 11AE; +CBF0 0334 11B5;CBF0 0334 11B5;110D 1174 0334 11B5;CBF0 0334 11B5;110D 1174 0334 11B5; +CC44 0334 11BC;CC44 0334 11BC;110E 1162 0334 11BC;CC44 0334 11BC;110E 1162 0334 11BC; +CD08 0334 11AE;CD08 0334 11AE;110E 1169 0334 11AE;CD08 0334 11AE;110E 1169 0334 11AE; +CD5C 0334 11B5;CD5C 0334 11B5;110E 116C 0334 11B5;CD5C 0334 11B5;110E 116C 0334 11B5; +CDB0 0334 11BC;CDB0 0334 11BC;110E 116F 0334 11BC;CDB0 0334 11BC;110E 116F 0334 11BC; +CE74 0334 11AE;CE74 0334 11AE;110F 1161 0334 11AE;CE74 0334 11AE;110F 1161 0334 11AE; +CEC8 0334 11B5;CEC8 0334 11B5;110F 1164 0334 11B5;CEC8 0334 11B5;110F 1164 0334 11B5; +CF1C 0334 11BC;CF1C 0334 11BC;110F 1167 0334 11BC;CF1C 0334 11BC;110F 1167 0334 11BC; +CFE0 0334 11AE;CFE0 0334 11AE;110F 116E 0334 11AE;CFE0 0334 11AE;110F 116E 0334 11AE; +D034 0334 11B5;D034 0334 11B5;110F 1171 0334 11B5;D034 0334 11B5;110F 1171 0334 11B5; +D088 0334 11BC;D088 0334 11BC;110F 1174 0334 11BC;D088 0334 11BC;110F 1174 0334 11BC; +D14C 0334 11AE;D14C 0334 11AE;1110 1166 0334 11AE;D14C 0334 11AE;1110 1166 0334 11AE; +D1A0 0334 11B5;D1A0 0334 11B5;1110 1169 0334 11B5;D1A0 0334 11B5;1110 1169 0334 11B5; +D1F4 0334 11BC;D1F4 0334 11BC;1110 116C 0334 11BC;D1F4 0334 11BC;1110 116C 0334 11BC; +D2B8 0334 11AE;D2B8 0334 11AE;1110 1173 0334 11AE;D2B8 0334 11AE;1110 1173 0334 11AE; +D30C 0334 11B5;D30C 0334 11B5;1111 1161 0334 11B5;D30C 0334 11B5;1111 1161 0334 11B5; +D360 0334 11BC;D360 0334 11BC;1111 1164 0334 11BC;D360 0334 11BC;1111 1164 0334 11BC; +D424 0334 11AE;D424 0334 11AE;1111 116B 0334 11AE;D424 0334 11AE;1111 116B 0334 11AE; +D478 0334 11B5;D478 0334 11B5;1111 116E 0334 11B5;D478 0334 11B5;1111 116E 0334 11B5; +D4CC 0334 11BC;D4CC 0334 11BC;1111 1171 0334 11BC;D4CC 0334 11BC;1111 1171 0334 11BC; +D590 0334 11AE;D590 0334 11AE;1112 1163 0334 11AE;D590 0334 11AE;1112 1163 0334 11AE; +D5E4 0334 11B5;D5E4 0334 11B5;1112 1166 0334 11B5;D5E4 0334 11B5;1112 1166 0334 11B5; +D638 0334 11BC;D638 0334 11BC;1112 1169 0334 11BC;D638 0334 11BC;1112 1169 0334 11BC; +D6FC 0334 11AE;D6FC 0334 11AE;1112 1170 0334 11AE;D6FC 0334 11AE;1112 1170 0334 11AE; +D750 0334 11B5;D750 0334 11B5;1112 1173 0334 11B5;D750 0334 11B5;1112 1173 0334 11B5; + + diff --git a/tests/uninorm/test-canonical-decomposition.c b/tests/uninorm/test-canonical-decomposition.c new file mode 100644 index 00000000..040011b5 --- /dev/null +++ b/tests/uninorm/test-canonical-decomposition.c @@ -0,0 +1,156 @@ +/* Test of canonical decomposition of Unicode characters. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ucs4_t decomposed[UC_DECOMPOSITION_MAX_LENGTH]; + int ret; + + /* SPACE */ + ret = uc_canonical_decomposition (0x0020, decomposed); + ASSERT (ret == -1); + + /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + ret = uc_canonical_decomposition (0x00C4, decomposed); + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0x0041); + ASSERT (decomposed[1] == 0x0308); + + /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + ret = uc_canonical_decomposition (0x01DE, decomposed); + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0x00C4); + ASSERT (decomposed[1] == 0x0304); + + /* GREEK DIALYTIKA AND PERISPOMENI */ + ret = uc_canonical_decomposition (0x1FC1, decomposed); + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0x00A8); + ASSERT (decomposed[1] == 0x0342); + + /* SCRIPT SMALL L */ + ret = uc_canonical_decomposition (0x2113, decomposed); + ASSERT (ret == -1); + + /* NO-BREAK SPACE */ + ret = uc_canonical_decomposition (0x00A0, decomposed); + ASSERT (ret == -1); + + /* ARABIC LETTER VEH INITIAL FORM */ + ret = uc_canonical_decomposition (0xFB6C, decomposed); + ASSERT (ret == -1); + + /* ARABIC LETTER VEH MEDIAL FORM */ + ret = uc_canonical_decomposition (0xFB6D, decomposed); + ASSERT (ret == -1); + + /* ARABIC LETTER VEH FINAL FORM */ + ret = uc_canonical_decomposition (0xFB6B, decomposed); + ASSERT (ret == -1); + + /* ARABIC LETTER VEH ISOLATED FORM */ + ret = uc_canonical_decomposition (0xFB6A, decomposed); + ASSERT (ret == -1); + + /* CIRCLED NUMBER FIFTEEN */ + ret = uc_canonical_decomposition (0x246E, decomposed); + ASSERT (ret == -1); + + /* TRADE MARK SIGN */ + ret = uc_canonical_decomposition (0x2122, decomposed); + ASSERT (ret == -1); + + /* LATIN SUBSCRIPT SMALL LETTER I */ + ret = uc_canonical_decomposition (0x1D62, decomposed); + ASSERT (ret == -1); + + /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + ret = uc_canonical_decomposition (0xFE35, decomposed); + ASSERT (ret == -1); + + /* FULLWIDTH LATIN CAPITAL LETTER A */ + ret = uc_canonical_decomposition (0xFF21, decomposed); + ASSERT (ret == -1); + + /* HALFWIDTH IDEOGRAPHIC COMMA */ + ret = uc_canonical_decomposition (0xFF64, decomposed); + ASSERT (ret == -1); + + /* SMALL IDEOGRAPHIC COMMA */ + ret = uc_canonical_decomposition (0xFE51, decomposed); + ASSERT (ret == -1); + + /* SQUARE MHZ */ + ret = uc_canonical_decomposition (0x3392, decomposed); + ASSERT (ret == -1); + + /* VULGAR FRACTION THREE EIGHTHS */ + ret = uc_canonical_decomposition (0x215C, decomposed); + ASSERT (ret == -1); + + /* MICRO SIGN */ + ret = uc_canonical_decomposition (0x00B5, decomposed); + ASSERT (ret == -1); + + /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + ret = uc_canonical_decomposition (0xFDFA, decomposed); + ASSERT (ret == -1); + + /* HANGUL SYLLABLE GEUL */ + ret = uc_canonical_decomposition (0xAE00, decomposed); + /* See the clarification at , + section "Clarification of Hangul Jamo Handling". */ +#if 1 + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0xADF8); + ASSERT (decomposed[1] == 0x11AF); +#else + ASSERT (ret == 3); + ASSERT (decomposed[0] == 0x1100); + ASSERT (decomposed[1] == 0x1173); + ASSERT (decomposed[2] == 0x11AF); +#endif + + /* HANGUL SYLLABLE GEU */ + ret = uc_canonical_decomposition (0xADF8, decomposed); + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0x1100); + ASSERT (decomposed[1] == 0x1173); + + return 0; +} diff --git a/tests/uninorm/test-compat-decomposition.c b/tests/uninorm/test-compat-decomposition.c new file mode 100644 index 00000000..49a2b09f --- /dev/null +++ b/tests/uninorm/test-compat-decomposition.c @@ -0,0 +1,198 @@ +/* Test of compatibility decomposition of Unicode characters. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm/decompose-internal.h" + +#include +#include + +#include "uninorm.h" + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ucs4_t decomposed[UC_DECOMPOSITION_MAX_LENGTH]; + int ret; + + /* SPACE */ + ret = uc_compat_decomposition (0x0020, decomposed); + ASSERT (ret == -1); + + /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + ret = uc_compat_decomposition (0x00C4, decomposed); + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0x0041); + ASSERT (decomposed[1] == 0x0308); + + /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + ret = uc_compat_decomposition (0x01DE, decomposed); + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0x00C4); + ASSERT (decomposed[1] == 0x0304); + + /* GREEK DIALYTIKA AND PERISPOMENI */ + ret = uc_compat_decomposition (0x1FC1, decomposed); + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0x00A8); + ASSERT (decomposed[1] == 0x0342); + + /* SCRIPT SMALL L */ + ret = uc_compat_decomposition (0x2113, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x006C); + + /* NO-BREAK SPACE */ + ret = uc_compat_decomposition (0x00A0, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x0020); + + /* ARABIC LETTER VEH INITIAL FORM */ + ret = uc_compat_decomposition (0xFB6C, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x06A4); + + /* ARABIC LETTER VEH MEDIAL FORM */ + ret = uc_compat_decomposition (0xFB6D, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x06A4); + + /* ARABIC LETTER VEH FINAL FORM */ + ret = uc_compat_decomposition (0xFB6B, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x06A4); + + /* ARABIC LETTER VEH ISOLATED FORM */ + ret = uc_compat_decomposition (0xFB6A, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x06A4); + + /* CIRCLED NUMBER FIFTEEN */ + ret = uc_compat_decomposition (0x246E, decomposed); + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0x0031); + ASSERT (decomposed[1] == 0x0035); + + /* TRADE MARK SIGN */ + ret = uc_compat_decomposition (0x2122, decomposed); + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0x0054); + ASSERT (decomposed[1] == 0x004D); + + /* LATIN SUBSCRIPT SMALL LETTER I */ + ret = uc_compat_decomposition (0x1D62, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x0069); + + /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + ret = uc_compat_decomposition (0xFE35, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x0028); + + /* FULLWIDTH LATIN CAPITAL LETTER A */ + ret = uc_compat_decomposition (0xFF21, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x0041); + + /* HALFWIDTH IDEOGRAPHIC COMMA */ + ret = uc_compat_decomposition (0xFF64, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x3001); + + /* SMALL IDEOGRAPHIC COMMA */ + ret = uc_compat_decomposition (0xFE51, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x3001); + + /* SQUARE MHZ */ + ret = uc_compat_decomposition (0x3392, decomposed); + ASSERT (ret == 3); + ASSERT (decomposed[0] == 0x004D); + ASSERT (decomposed[1] == 0x0048); + ASSERT (decomposed[2] == 0x007A); + + /* VULGAR FRACTION THREE EIGHTHS */ + ret = uc_compat_decomposition (0x215C, decomposed); + ASSERT (ret == 3); + ASSERT (decomposed[0] == 0x0033); + ASSERT (decomposed[1] == 0x2044); + ASSERT (decomposed[2] == 0x0038); + + /* MICRO SIGN */ + ret = uc_compat_decomposition (0x00B5, decomposed); + ASSERT (ret == 1); + ASSERT (decomposed[0] == 0x03BC); + + /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + ret = uc_compat_decomposition (0xFDFA, decomposed); + ASSERT (ret == 18); + ASSERT (decomposed[0] == 0x0635); + ASSERT (decomposed[1] == 0x0644); + ASSERT (decomposed[2] == 0x0649); + ASSERT (decomposed[3] == 0x0020); + ASSERT (decomposed[4] == 0x0627); + ASSERT (decomposed[5] == 0x0644); + ASSERT (decomposed[6] == 0x0644); + ASSERT (decomposed[7] == 0x0647); + ASSERT (decomposed[8] == 0x0020); + ASSERT (decomposed[9] == 0x0639); + ASSERT (decomposed[10] == 0x0644); + ASSERT (decomposed[11] == 0x064A); + ASSERT (decomposed[12] == 0x0647); + ASSERT (decomposed[13] == 0x0020); + ASSERT (decomposed[14] == 0x0648); + ASSERT (decomposed[15] == 0x0633); + ASSERT (decomposed[16] == 0x0644); + ASSERT (decomposed[17] == 0x0645); + + /* HANGUL SYLLABLE GEUL */ + ret = uc_compat_decomposition (0xAE00, decomposed); + /* See the clarification at , + section "Clarification of Hangul Jamo Handling". */ +#if 1 + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0xADF8); + ASSERT (decomposed[1] == 0x11AF); +#else + ASSERT (ret == 3); + ASSERT (decomposed[0] == 0x1100); + ASSERT (decomposed[1] == 0x1173); + ASSERT (decomposed[2] == 0x11AF); +#endif + + /* HANGUL SYLLABLE GEU */ + ret = uc_compat_decomposition (0xADF8, decomposed); + ASSERT (ret == 2); + ASSERT (decomposed[0] == 0x1100); + ASSERT (decomposed[1] == 0x1173); + + return 0; +} diff --git a/tests/uninorm/test-composition.c b/tests/uninorm/test-composition.c new file mode 100644 index 00000000..dbadbbac --- /dev/null +++ b/tests/uninorm/test-composition.c @@ -0,0 +1,66 @@ +/* Test of canonical composition of Unicode characters. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + ASSERT (uc_composition (0x0041, 0x0308) == 0x00C4); + + /* LATIN CAPITAL LETTER A WITH RING ABOVE */ + ASSERT (uc_composition (0x0041, 0x030A) == 0x00C5); + + /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + ASSERT (uc_composition (0x00C4, 0x0304) == 0x01DE); + + /* GREEK DIALYTIKA AND PERISPOMENI */ + ASSERT (uc_composition (0x00A8, 0x0342) == 0x1FC1); + + /* CIRCLED NUMBER FIFTEEN */ + ASSERT (uc_composition (0x0031, 0x0035) == 0); + + /* TRADE MARK SIGN */ + ASSERT (uc_composition (0x0054, 0x004D) == 0); + + /* HANGUL SYLLABLE GEU */ + ASSERT (uc_composition (0x1100, 0x1173) == 0xADF8); + + /* HANGUL SYLLABLE GEUL */ + ASSERT (uc_composition (0xADF8, 0x11AF) == 0xAE00); + + return 0; +} diff --git a/tests/uninorm/test-decomposing-form.c b/tests/uninorm/test-decomposing-form.c new file mode 100644 index 00000000..3802c3fe --- /dev/null +++ b/tests/uninorm/test-decomposing-form.c @@ -0,0 +1,47 @@ +/* Test of decomposing variant of a normalization form. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (uninorm_decomposing_form (UNINORM_NFC) == UNINORM_NFD); + ASSERT (uninorm_decomposing_form (UNINORM_NFD) == UNINORM_NFD); + ASSERT (uninorm_decomposing_form (UNINORM_NFKC) == UNINORM_NFKD); + ASSERT (uninorm_decomposing_form (UNINORM_NFKD) == UNINORM_NFKD); + + return 0; +} diff --git a/tests/uninorm/test-decomposition.c b/tests/uninorm/test-decomposition.c new file mode 100644 index 00000000..684dee45 --- /dev/null +++ b/tests/uninorm/test-decomposition.c @@ -0,0 +1,220 @@ +/* Test of decomposition of Unicode characters. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ucs4_t decomposed[UC_DECOMPOSITION_MAX_LENGTH]; + int tag; + int ret; + + /* SPACE */ + ret = uc_decomposition (0x0020, &tag, decomposed); + ASSERT (ret == -1); + + /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + ret = uc_decomposition (0x00C4, &tag, decomposed); + ASSERT (ret == 2); + ASSERT (tag == UC_DECOMP_CANONICAL); + ASSERT (decomposed[0] == 0x0041); + ASSERT (decomposed[1] == 0x0308); + + /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + ret = uc_decomposition (0x01DE, &tag, decomposed); + ASSERT (ret == 2); + ASSERT (tag == UC_DECOMP_CANONICAL); + ASSERT (decomposed[0] == 0x00C4); + ASSERT (decomposed[1] == 0x0304); + + /* GREEK DIALYTIKA AND PERISPOMENI */ + ret = uc_decomposition (0x1FC1, &tag, decomposed); + ASSERT (ret == 2); + ASSERT (tag == UC_DECOMP_CANONICAL); + ASSERT (decomposed[0] == 0x00A8); + ASSERT (decomposed[1] == 0x0342); + + /* SCRIPT SMALL L */ + ret = uc_decomposition (0x2113, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_FONT); + ASSERT (decomposed[0] == 0x006C); + + /* NO-BREAK SPACE */ + ret = uc_decomposition (0x00A0, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_NOBREAK); + ASSERT (decomposed[0] == 0x0020); + + /* ARABIC LETTER VEH INITIAL FORM */ + ret = uc_decomposition (0xFB6C, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_INITIAL); + ASSERT (decomposed[0] == 0x06A4); + + /* ARABIC LETTER VEH MEDIAL FORM */ + ret = uc_decomposition (0xFB6D, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_MEDIAL); + ASSERT (decomposed[0] == 0x06A4); + + /* ARABIC LETTER VEH FINAL FORM */ + ret = uc_decomposition (0xFB6B, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_FINAL); + ASSERT (decomposed[0] == 0x06A4); + + /* ARABIC LETTER VEH ISOLATED FORM */ + ret = uc_decomposition (0xFB6A, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_ISOLATED); + ASSERT (decomposed[0] == 0x06A4); + + /* CIRCLED NUMBER FIFTEEN */ + ret = uc_decomposition (0x246E, &tag, decomposed); + ASSERT (ret == 2); + ASSERT (tag == UC_DECOMP_CIRCLE); + ASSERT (decomposed[0] == 0x0031); + ASSERT (decomposed[1] == 0x0035); + + /* TRADE MARK SIGN */ + ret = uc_decomposition (0x2122, &tag, decomposed); + ASSERT (ret == 2); + ASSERT (tag == UC_DECOMP_SUPER); + ASSERT (decomposed[0] == 0x0054); + ASSERT (decomposed[1] == 0x004D); + + /* LATIN SUBSCRIPT SMALL LETTER I */ + ret = uc_decomposition (0x1D62, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_SUB); + ASSERT (decomposed[0] == 0x0069); + + /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + ret = uc_decomposition (0xFE35, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_VERTICAL); + ASSERT (decomposed[0] == 0x0028); + + /* FULLWIDTH LATIN CAPITAL LETTER A */ + ret = uc_decomposition (0xFF21, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_WIDE); + ASSERT (decomposed[0] == 0x0041); + + /* HALFWIDTH IDEOGRAPHIC COMMA */ + ret = uc_decomposition (0xFF64, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_NARROW); + ASSERT (decomposed[0] == 0x3001); + + /* SMALL IDEOGRAPHIC COMMA */ + ret = uc_decomposition (0xFE51, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_SMALL); + ASSERT (decomposed[0] == 0x3001); + + /* SQUARE MHZ */ + ret = uc_decomposition (0x3392, &tag, decomposed); + ASSERT (ret == 3); + ASSERT (tag == UC_DECOMP_SQUARE); + ASSERT (decomposed[0] == 0x004D); + ASSERT (decomposed[1] == 0x0048); + ASSERT (decomposed[2] == 0x007A); + + /* VULGAR FRACTION THREE EIGHTHS */ + ret = uc_decomposition (0x215C, &tag, decomposed); + ASSERT (ret == 3); + ASSERT (tag == UC_DECOMP_FRACTION); + ASSERT (decomposed[0] == 0x0033); + ASSERT (decomposed[1] == 0x2044); + ASSERT (decomposed[2] == 0x0038); + + /* MICRO SIGN */ + ret = uc_decomposition (0x00B5, &tag, decomposed); + ASSERT (ret == 1); + ASSERT (tag == UC_DECOMP_COMPAT); + ASSERT (decomposed[0] == 0x03BC); + + /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + ret = uc_decomposition (0xFDFA, &tag, decomposed); + ASSERT (ret == 18); + ASSERT (tag == UC_DECOMP_ISOLATED); + ASSERT (decomposed[0] == 0x0635); + ASSERT (decomposed[1] == 0x0644); + ASSERT (decomposed[2] == 0x0649); + ASSERT (decomposed[3] == 0x0020); + ASSERT (decomposed[4] == 0x0627); + ASSERT (decomposed[5] == 0x0644); + ASSERT (decomposed[6] == 0x0644); + ASSERT (decomposed[7] == 0x0647); + ASSERT (decomposed[8] == 0x0020); + ASSERT (decomposed[9] == 0x0639); + ASSERT (decomposed[10] == 0x0644); + ASSERT (decomposed[11] == 0x064A); + ASSERT (decomposed[12] == 0x0647); + ASSERT (decomposed[13] == 0x0020); + ASSERT (decomposed[14] == 0x0648); + ASSERT (decomposed[15] == 0x0633); + ASSERT (decomposed[16] == 0x0644); + ASSERT (decomposed[17] == 0x0645); + + /* HANGUL SYLLABLE GEUL */ + ret = uc_decomposition (0xAE00, &tag, decomposed); + /* See the clarification at , + section "Clarification of Hangul Jamo Handling". */ +#if 1 + ASSERT (ret == 2); + ASSERT (tag == UC_DECOMP_CANONICAL); + ASSERT (decomposed[0] == 0xADF8); + ASSERT (decomposed[1] == 0x11AF); +#else + ASSERT (ret == 3); + ASSERT (tag == UC_DECOMP_CANONICAL); + ASSERT (decomposed[0] == 0x1100); + ASSERT (decomposed[1] == 0x1173); + ASSERT (decomposed[2] == 0x11AF); +#endif + + /* HANGUL SYLLABLE GEU */ + ret = uc_decomposition (0xADF8, &tag, decomposed); + ASSERT (ret == 2); + ASSERT (tag == UC_DECOMP_CANONICAL); + ASSERT (decomposed[0] == 0x1100); + ASSERT (decomposed[1] == 0x1173); + + return 0; +} diff --git a/tests/uninorm/test-nfc.c b/tests/uninorm/test-nfc.c new file mode 100644 index 00000000..ca957102 --- /dev/null +++ b/tests/uninorm/test-nfc.c @@ -0,0 +1,44 @@ +/* Test of canonical normalization of Unicode strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#if !WOE32DLL +/* Check that UNINORM_NFC is defined and links. */ +uninorm_t n = UNINORM_NFC; +#endif + +extern void test_u8_nfc (void); +extern void test_u16_nfc (void); +extern void test_u32_nfc (void); + +int +main () +{ + /* Check that UNINORM_NFC is defined and links. */ + uninorm_t nf = UNINORM_NFC; + (void) nf; + + test_u32_nfc (); + test_u16_nfc (); + test_u8_nfc (); + + return 0; +} diff --git a/tests/uninorm/test-nfd.c b/tests/uninorm/test-nfd.c new file mode 100644 index 00000000..2a7e55b0 --- /dev/null +++ b/tests/uninorm/test-nfd.c @@ -0,0 +1,44 @@ +/* Test of canonical decomposition of Unicode strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#if !WOE32DLL +/* Check that UNINORM_NFD is defined and links. */ +uninorm_t n = UNINORM_NFD; +#endif + +extern void test_u8_nfd (void); +extern void test_u16_nfd (void); +extern void test_u32_nfd (void); + +int +main () +{ + /* Check that UNINORM_NFD is defined and links. */ + uninorm_t nf = UNINORM_NFD; + (void) nf; + + test_u32_nfd (); + test_u16_nfd (); + test_u8_nfd (); + + return 0; +} diff --git a/tests/uninorm/test-nfkc.c b/tests/uninorm/test-nfkc.c new file mode 100644 index 00000000..2e57a15e --- /dev/null +++ b/tests/uninorm/test-nfkc.c @@ -0,0 +1,44 @@ +/* Test of compatibility normalization of Unicode strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#if !WOE32DLL +/* Check that UNINORM_NFKC is defined and links. */ +uninorm_t n = UNINORM_NFKC; +#endif + +extern void test_u8_nfkc (void); +extern void test_u16_nfkc (void); +extern void test_u32_nfkc (void); + +int +main () +{ + /* Check that UNINORM_NFKC is defined and links. */ + uninorm_t nf = UNINORM_NFKC; + (void) nf; + + test_u32_nfkc (); + test_u16_nfkc (); + test_u8_nfkc (); + + return 0; +} diff --git a/tests/uninorm/test-nfkd.c b/tests/uninorm/test-nfkd.c new file mode 100644 index 00000000..8e330feb --- /dev/null +++ b/tests/uninorm/test-nfkd.c @@ -0,0 +1,44 @@ +/* Test of compatibility decomposition of Unicode strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#if !WOE32DLL +/* Check that UNINORM_NFKD is defined and links. */ +uninorm_t n = UNINORM_NFKD; +#endif + +extern void test_u8_nfkd (void); +extern void test_u16_nfkd (void); +extern void test_u32_nfkd (void); + +int +main () +{ + /* Check that UNINORM_NFKD is defined and links. */ + uninorm_t nf = UNINORM_NFKD; + (void) nf; + + test_u32_nfkd (); + test_u16_nfkd (); + test_u8_nfkd (); + + return 0; +} diff --git a/tests/uninorm/test-u16-nfc.c b/tests/uninorm/test-u16-nfc.c new file mode 100644 index 00000000..1bf9a94d --- /dev/null +++ b/tests/uninorm/test-u16-nfc.c @@ -0,0 +1,345 @@ +/* Test of canonical normalization of UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U16_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint16_t *input, size_t input_length, + const uint16_t *expected, size_t expected_length) +{ + size_t length; + uint16_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u16_normalize (UNINORM_NFC, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint16_t *preallocated; + + length = expected_length - 1; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_normalize (UNINORM_NFC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint16_t *preallocated; + + length = expected_length; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_normalize (UNINORM_NFC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u16_nfc (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint16_t input[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint16_t input[] = { 0x00C4 }; + static const uint16_t decomposed[] = { 0x0041, 0x0308 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint16_t input[] = { 0x01DE }; + static const uint16_t decomposed[] = { 0x0041, 0x0308, 0x0304 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* ANGSTROM SIGN */ + static const uint16_t input[] = { 0x212B }; + static const uint16_t decomposed[] = { 0x0041, 0x030A }; + static const uint16_t expected[] = { 0x00C5 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), expected, SIZEOF (expected)) == 0); + ASSERT (check (expected, SIZEOF (expected), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint16_t input[] = { 0x1FC1 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint16_t input[] = { 0x2113 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint16_t input[] = { 0x00A0 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint16_t input[] = { 0xFB6C }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint16_t input[] = { 0xFB6D }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint16_t input[] = { 0xFB6B }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint16_t input[] = { 0xFB6A }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint16_t input[] = { 0x246E }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint16_t input[] = { 0x2122 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint16_t input[] = { 0x1D62 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint16_t input[] = { 0xFE35 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint16_t input[] = { 0xFF21 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint16_t input[] = { 0xFF64 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint16_t input[] = { 0xFE51 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SQUARE MHZ */ + static const uint16_t input[] = { 0x3392 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint16_t input[] = { 0x215C }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* MICRO SIGN */ + static const uint16_t input[] = { 0x00B5 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint16_t input[] = { 0xFDFA }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint16_t input[] = { 0xAE00 }; + static const uint16_t decomposed[] = { 0x1100, 0x1173, 0x11AF }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint16_t input[] = { 0xADF8 }; + static const uint16_t decomposed[] = { 0x1100, 0x1173 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint16_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint16_t decomposed[] = + { 'G', 'r', 0x0075, 0x0308, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0438, 0x0306, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', + 0x1112, 0x1161, 0x11AB, 0x1100, 0x1173, 0x11AF, '\n' + }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint16_t *input = (uint16_t *) malloc (2 * m * sizeof (uint16_t)); + if (input != NULL) + { + uint16_t *expected = input + m; + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint16_t *p; + size_t i; + + input[0] = 0x0041; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + break; + + case 1: + for (i = 0; i < m2; i++) + *p++ = 0x0300; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0x0319; + *p++ = 0x0300; + } + for (; i < m1; i++) + *p++ = 0x0319; + break; + + default: + abort (); + } + + expected[0] = 0x00C0; + p = expected + 1; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2 - 1; i++) + *p++ = 0x0300; + + for (; repeat > 0; repeat--) + { + ASSERT (check (input, m, expected, m - 1) == 0); + ASSERT (check (expected, m - 1, expected, m - 1) == 0); + } + + free (input); + } + } + } +} + +#else + +void +test_u16_nfc (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u16-nfd.c b/tests/uninorm/test-u16-nfd.c new file mode 100644 index 00000000..34789b8d --- /dev/null +++ b/tests/uninorm/test-u16-nfd.c @@ -0,0 +1,329 @@ +/* Test of canonical decomposition of UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U16_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint16_t *input, size_t input_length, + const uint16_t *expected, size_t expected_length) +{ + size_t length; + uint16_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u16_normalize (UNINORM_NFD, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint16_t *preallocated; + + length = expected_length - 1; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_normalize (UNINORM_NFD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint16_t *preallocated; + + length = expected_length; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_normalize (UNINORM_NFD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u16_nfd (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint16_t input[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint16_t input[] = { 0x00C4 }; + static const uint16_t expected[] = { 0x0041, 0x0308 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint16_t input[] = { 0x01DE }; + static const uint16_t expected[] = { 0x0041, 0x0308, 0x0304 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint16_t input[] = { 0x1FC1 }; + static const uint16_t expected[] = { 0x00A8, 0x0342 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint16_t input[] = { 0x2113 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint16_t input[] = { 0x00A0 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint16_t input[] = { 0xFB6C }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint16_t input[] = { 0xFB6D }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint16_t input[] = { 0xFB6B }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint16_t input[] = { 0xFB6A }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint16_t input[] = { 0x246E }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint16_t input[] = { 0x2122 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint16_t input[] = { 0x1D62 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint16_t input[] = { 0xFE35 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint16_t input[] = { 0xFF21 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint16_t input[] = { 0xFF64 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint16_t input[] = { 0xFE51 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SQUARE MHZ */ + static const uint16_t input[] = { 0x3392 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint16_t input[] = { 0x215C }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* MICRO SIGN */ + static const uint16_t input[] = { 0x00B5 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint16_t input[] = { 0xFDFA }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint16_t input[] = { 0xAE00 }; + static const uint16_t expected[] = { 0x1100, 0x1173, 0x11AF }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint16_t input[] = { 0xADF8 }; + static const uint16_t expected[] = { 0x1100, 0x1173 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint16_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint16_t expected[] = + { 'G', 'r', 0x0075, 0x0308, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0438, 0x0306, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', + 0x1112, 0x1161, 0x11AB, 0x1100, 0x1173, 0x11AF, '\n' + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint16_t *input = (uint16_t *) malloc (2 * m * sizeof (uint16_t)); + if (input != NULL) + { + uint16_t *expected = input + m; + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint16_t *p; + size_t i; + + input[0] = 0x0041; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + break; + + case 1: + for (i = 0; i < m2; i++) + *p++ = 0x0300; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0x0319; + *p++ = 0x0300; + } + for (; i < m1; i++) + *p++ = 0x0319; + break; + + default: + abort (); + } + + expected[0] = 0x0041; + p = expected + 1; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + + for (; repeat > 0; repeat--) + ASSERT (check (input, m, expected, m) == 0); + + free (input); + } + } + } +} + +#else + +void +test_u16_nfd (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u16-nfkc.c b/tests/uninorm/test-u16-nfkc.c new file mode 100644 index 00000000..4ac8f7ed --- /dev/null +++ b/tests/uninorm/test-u16-nfkc.c @@ -0,0 +1,393 @@ +/* Test of compatibility normalization of UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U16_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint16_t *input, size_t input_length, + const uint16_t *expected, size_t expected_length) +{ + size_t length; + uint16_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u16_normalize (UNINORM_NFKC, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint16_t *preallocated; + + length = expected_length - 1; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_normalize (UNINORM_NFKC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint16_t *preallocated; + + length = expected_length; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_normalize (UNINORM_NFKC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u16_nfkc (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint16_t input[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint16_t input[] = { 0x00C4 }; + static const uint16_t decomposed[] = { 0x0041, 0x0308 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint16_t input[] = { 0x01DE }; + static const uint16_t decomposed[] = { 0x0041, 0x0308, 0x0304 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* ANGSTROM SIGN */ + static const uint16_t input[] = { 0x212B }; + static const uint16_t decomposed[] = { 0x0041, 0x030A }; + static const uint16_t expected[] = { 0x00C5 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), expected, SIZEOF (expected)) == 0); + ASSERT (check (expected, SIZEOF (expected), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint16_t input[] = { 0x1FC1 }; + static const uint16_t decomposed[] = { 0x0020, 0x0308, 0x0342 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint16_t input[] = { 0x2113 }; + static const uint16_t decomposed[] = { 0x006C }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint16_t input[] = { 0x00A0 }; + static const uint16_t decomposed[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint16_t input[] = { 0xFB6C }; + static const uint16_t decomposed[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint16_t input[] = { 0xFB6D }; + static const uint16_t decomposed[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint16_t input[] = { 0xFB6B }; + static const uint16_t decomposed[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint16_t input[] = { 0xFB6A }; + static const uint16_t decomposed[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint16_t input[] = { 0x246E }; + static const uint16_t decomposed[] = { 0x0031, 0x0035 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint16_t input[] = { 0x2122 }; + static const uint16_t decomposed[] = { 0x0054, 0x004D }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint16_t input[] = { 0x1D62 }; + static const uint16_t decomposed[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint16_t input[] = { 0xFE35 }; + static const uint16_t decomposed[] = { 0x0028 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint16_t input[] = { 0xFF21 }; + static const uint16_t decomposed[] = { 0x0041 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint16_t input[] = { 0xFF64 }; + static const uint16_t decomposed[] = { 0x3001 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint16_t input[] = { 0xFE51 }; + static const uint16_t decomposed[] = { 0x3001 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* SQUARE MHZ */ + static const uint16_t input[] = { 0x3392 }; + static const uint16_t decomposed[] = { 0x004D, 0x0048, 0x007A }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint16_t input[] = { 0x215C }; + static const uint16_t decomposed[] = { 0x0033, 0x2044, 0x0038 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* MICRO SIGN */ + static const uint16_t input[] = { 0x00B5 }; + static const uint16_t decomposed[] = { 0x03BC }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint16_t input[] = { 0xFDFA }; + static const uint16_t decomposed[] = + { 0x0635, 0x0644, 0x0649, 0x0020, 0x0627, 0x0644, 0x0644, 0x0647, 0x0020, + 0x0639, 0x0644, 0x064A, 0x0647, 0x0020, 0x0648, 0x0633, 0x0644, 0x0645 + }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint16_t input[] = { 0xAE00 }; + static const uint16_t decomposed[] = { 0x1100, 0x1173, 0x11AF }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint16_t input[] = { 0xADF8 }; + static const uint16_t decomposed[] = { 0x1100, 0x1173 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint16_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint16_t decomposed[] = + { 'G', 'r', 0x0075, 0x0308, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0438, 0x0306, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x0032, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', + 0x1112, 0x1161, 0x11AB, 0x1100, 0x1173, 0x11AF, '\n' + }; + static const uint16_t expected[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x0032, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), expected, SIZEOF (expected)) == 0); + ASSERT (check (expected, SIZEOF (expected), expected, SIZEOF (expected)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint16_t *input = (uint16_t *) malloc (2 * m * sizeof (uint16_t)); + if (input != NULL) + { + uint16_t *expected = input + m; + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint16_t *p; + size_t i; + + input[0] = 0x0041; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + break; + + case 1: + for (i = 0; i < m2; i++) + *p++ = 0x0300; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0x0319; + *p++ = 0x0300; + } + for (; i < m1; i++) + *p++ = 0x0319; + break; + + default: + abort (); + } + + expected[0] = 0x00C0; + p = expected + 1; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2 - 1; i++) + *p++ = 0x0300; + + for (; repeat > 0; repeat--) + { + ASSERT (check (input, m, expected, m - 1) == 0); + ASSERT (check (expected, m - 1, expected, m - 1) == 0); + } + + free (input); + } + } + } +} + +#else + +void +test_u16_nfkc (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u16-nfkd.c b/tests/uninorm/test-u16-nfkd.c new file mode 100644 index 00000000..6dfa39f3 --- /dev/null +++ b/tests/uninorm/test-u16-nfkd.c @@ -0,0 +1,349 @@ +/* Test of compatibility decomposition of UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U16_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint16_t *input, size_t input_length, + const uint16_t *expected, size_t expected_length) +{ + size_t length; + uint16_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u16_normalize (UNINORM_NFKD, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint16_t *preallocated; + + length = expected_length - 1; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_normalize (UNINORM_NFKD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint16_t *preallocated; + + length = expected_length; + preallocated = (uint16_t *) malloc (length * sizeof (uint16_t)); + result = u16_normalize (UNINORM_NFKD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u16_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u16_nfkd (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint16_t input[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint16_t input[] = { 0x00C4 }; + static const uint16_t expected[] = { 0x0041, 0x0308 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint16_t input[] = { 0x01DE }; + static const uint16_t expected[] = { 0x0041, 0x0308, 0x0304 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint16_t input[] = { 0x1FC1 }; + static const uint16_t expected[] = { 0x0020, 0x0308, 0x0342 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint16_t input[] = { 0x2113 }; + static const uint16_t expected[] = { 0x006C }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint16_t input[] = { 0x00A0 }; + static const uint16_t expected[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint16_t input[] = { 0xFB6C }; + static const uint16_t expected[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint16_t input[] = { 0xFB6D }; + static const uint16_t expected[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint16_t input[] = { 0xFB6B }; + static const uint16_t expected[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint16_t input[] = { 0xFB6A }; + static const uint16_t expected[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint16_t input[] = { 0x246E }; + static const uint16_t expected[] = { 0x0031, 0x0035 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint16_t input[] = { 0x2122 }; + static const uint16_t expected[] = { 0x0054, 0x004D }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint16_t input[] = { 0x1D62 }; + static const uint16_t expected[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint16_t input[] = { 0xFE35 }; + static const uint16_t expected[] = { 0x0028 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint16_t input[] = { 0xFF21 }; + static const uint16_t expected[] = { 0x0041 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint16_t input[] = { 0xFF64 }; + static const uint16_t expected[] = { 0x3001 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint16_t input[] = { 0xFE51 }; + static const uint16_t expected[] = { 0x3001 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SQUARE MHZ */ + static const uint16_t input[] = { 0x3392 }; + static const uint16_t expected[] = { 0x004D, 0x0048, 0x007A }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint16_t input[] = { 0x215C }; + static const uint16_t expected[] = { 0x0033, 0x2044, 0x0038 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* MICRO SIGN */ + static const uint16_t input[] = { 0x00B5 }; + static const uint16_t expected[] = { 0x03BC }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint16_t input[] = { 0xFDFA }; + static const uint16_t expected[] = + { 0x0635, 0x0644, 0x0649, 0x0020, 0x0627, 0x0644, 0x0644, 0x0647, 0x0020, + 0x0639, 0x0644, 0x064A, 0x0647, 0x0020, 0x0648, 0x0633, 0x0644, 0x0645 + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint16_t input[] = { 0xAE00 }; + static const uint16_t expected[] = { 0x1100, 0x1173, 0x11AF }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint16_t input[] = { 0xADF8 }; + static const uint16_t expected[] = { 0x1100, 0x1173 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint16_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint16_t expected[] = + { 'G', 'r', 0x0075, 0x0308, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0438, 0x0306, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x0032, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', + 0x1112, 0x1161, 0x11AB, 0x1100, 0x1173, 0x11AF, '\n' + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint16_t *input = (uint16_t *) malloc (2 * m * sizeof (uint16_t)); + if (input != NULL) + { + uint16_t *expected = input + m; + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint16_t *p; + size_t i; + + input[0] = 0x0041; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + break; + + case 1: + for (i = 0; i < m2; i++) + *p++ = 0x0300; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0x0319; + *p++ = 0x0300; + } + for (; i < m1; i++) + *p++ = 0x0319; + break; + + default: + abort (); + } + + expected[0] = 0x0041; + p = expected + 1; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + + for (; repeat > 0; repeat--) + ASSERT (check (input, m, expected, m) == 0); + + free (input); + } + } + } +} + +#else + +void +test_u16_nfkd (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u16-normcmp.c b/tests/uninorm/test-u16-normcmp.c new file mode 100644 index 00000000..3cf947a3 --- /dev/null +++ b/tests/uninorm/test-u16-normcmp.c @@ -0,0 +1,130 @@ +/* Test of normalization insensitive comparison of UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u16-normcmp.h" + +static void +test_nonascii (int (*my_normcmp) (const uint16_t *, size_t, const uint16_t *, size_t, uninorm_t, int *)) +{ + /* Normalization effects. */ + { + static const uint16_t input1[] = { 'H', 0x00F6, 'h', 'l', 'e' }; + static const uint16_t input2[] = { 'H', 'o', 0x0308, 'h', 'l', 'e' }; + static const uint16_t input3[] = { 'H', 0x00F6, 'h', 'l', 'e', 'n' }; + static const uint16_t input4[] = { 'H', 'o', 0x0308, 'h', 'l', 'e', 'n' }; + static const uint16_t input5[] = { 'H', 'u', 'r', 'z' }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input1, SIZEOF (input1), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input3, SIZEOF (input3), input4, SIZEOF (input4), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input4, SIZEOF (input4), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input1, SIZEOF (input1), input4, SIZEOF (input4), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input1, SIZEOF (input1), input5, SIZEOF (input5), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input5, SIZEOF (input5), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint16_t input1[] = { 0x00C4 }; + static const uint16_t input2[] = { 0x0041, 0x0308 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint16_t input1[] = { 0x01DE }; + static const uint16_t input2[] = { 0x0041, 0x0308, 0x0304 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint16_t input1[] = { 0x1FC1 }; + static const uint16_t input2[] = { 0x00A8, 0x0342 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEUL */ + static const uint16_t input1[] = { 0xAE00 }; + static const uint16_t input2[] = { 0xADF8, 0x11AF }; + static const uint16_t input3[] = { 0x1100, 0x1173, 0x11AF }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input1, SIZEOF (input1), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEU */ + static const uint16_t input1[] = { 0xADF8 }; + static const uint16_t input2[] = { 0x1100, 0x1173 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } +} + +int +main () +{ + test_ascii (u16_normcmp, UNINORM_NFD); + test_nonascii (u16_normcmp); + + return 0; +} diff --git a/tests/uninorm/test-u16-normcmp.h b/tests/uninorm/test-u16-normcmp.h new file mode 100644 index 00000000..ea7def8f --- /dev/null +++ b/tests/uninorm/test-u16-normcmp.h @@ -0,0 +1,69 @@ +/* Test of normalization insensitive comparison of UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +static void +test_ascii (int (*my_normcmp) (const uint16_t *, size_t, const uint16_t *, size_t, uninorm_t, int *), + uninorm_t nf) +{ + /* Empty string. */ + { + int cmp; + + ASSERT (my_normcmp (NULL, 0, NULL, 0, nf, &cmp) == 0); + ASSERT (cmp == 0); + } + { + static const uint16_t input[] = { 'x', 'y' }; + int cmp; + + ASSERT (my_normcmp (input, SIZEOF (input), NULL, 0, nf, &cmp) == 0); + ASSERT (cmp == 1); + + ASSERT (my_normcmp (NULL, 0, input, SIZEOF (input), nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input, SIZEOF (input), input, SIZEOF (input), nf, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Normal lexicographic order. */ + { + static const uint16_t input1[] = { 'A', 'm', 'e', 'r', 'i', 'c', 'a' }; + static const uint16_t input2[] = { 'A', 'm', 'i', 'g', 'o' }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input1, SIZEOF (input1), nf, &cmp) == 0); + ASSERT (cmp == 1); + } + + /* Shorter and longer strings. */ + { + static const uint16_t input1[] = { 'R', 'e', 'a', 'g', 'a', 'n' }; + static const uint16_t input2[] = { 'R', 'e', 'a', 'g', 'a', 'n', 'o', 'm', 'i', 'c', 's' }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input1, SIZEOF (input1), nf, &cmp) == 0); + ASSERT (cmp == 1); + } +} diff --git a/tests/uninorm/test-u16-normcoll.c b/tests/uninorm/test-u16-normcoll.c new file mode 100644 index 00000000..d83799dd --- /dev/null +++ b/tests/uninorm/test-u16-normcoll.c @@ -0,0 +1,49 @@ +/* Test of locale dependent, normalization insensitive comparison of + UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u16-normcmp.h" +int +main () +{ + /* In the "C" locale, strcoll is equivalent to strcmp, therefore u8_normcoll + on ASCII strings should behave like strcmp as well. */ + test_ascii (u16_normcoll, UNINORM_NFC); + + return 0; +} diff --git a/tests/uninorm/test-u32-nfc-big.c b/tests/uninorm/test-u32-nfc-big.c new file mode 100644 index 00000000..2a1b611f --- /dev/null +++ b/tests/uninorm/test-u32-nfc-big.c @@ -0,0 +1,125 @@ +/* Test of Unicode compliance of canonical normalization of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U32_NORMALIZE + +#include "uninorm.h" + +#include + +#include "unistr.h" +#include "progname.h" +#include "test-u32-normalize-big.h" + +static int +check (const uint32_t *c1, size_t c1_length, + const uint32_t *c2, size_t c2_length, + const uint32_t *c3, size_t c3_length, + const uint32_t *c4, size_t c4_length, + const uint32_t *c5, size_t c5_length) +{ + /* Check + c2 == NFC(c1) == NFC(c2) == NFC(c3) + c4 == NFC(c4) == NFC(c5) + */ + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFC, c1, c1_length, NULL, &length); + if (!(result != NULL + && length == c2_length + && u32_cmp (result, c2, c2_length) == 0)) + return 1; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFC, c2, c2_length, NULL, &length); + if (!(result != NULL + && length == c2_length + && u32_cmp (result, c2, c2_length) == 0)) + return 2; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFC, c3, c3_length, NULL, &length); + if (!(result != NULL + && length == c2_length + && u32_cmp (result, c2, c2_length) == 0)) + return 3; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFC, c4, c4_length, NULL, &length); + if (!(result != NULL + && length == c4_length + && u32_cmp (result, c4, c4_length) == 0)) + return 4; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFC, c5, c5_length, NULL, &length); + if (!(result != NULL + && length == c4_length + && u32_cmp (result, c4, c4_length) == 0)) + return 5; + free (result); + } + return 0; +} + +int +main (int argc, char *argv[]) +{ + struct normalization_test_file file; + + set_program_name (argv[0]); + read_normalization_test_file (argv[1], &file); + + test_specific (&file, check); + test_other (&file, UNINORM_NFC); + + return 0; +} + +#else + +#include + +int +main () +{ + fprintf (stderr, "Skipping test: uninorm/u32-normalize module not included.\n"); + return 77; +} + +#endif diff --git a/tests/uninorm/test-u32-nfc-big.sh b/tests/uninorm/test-u32-nfc-big.sh new file mode 100755 index 00000000..93d0003d --- /dev/null +++ b/tests/uninorm/test-u32-nfc-big.sh @@ -0,0 +1,2 @@ +#!/bin/sh +exec ./test-u32-nfc-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt" diff --git a/tests/uninorm/test-u32-nfc.c b/tests/uninorm/test-u32-nfc.c new file mode 100644 index 00000000..0d8311cc --- /dev/null +++ b/tests/uninorm/test-u32-nfc.c @@ -0,0 +1,345 @@ +/* Test of canonical normalization of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U32_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint32_t *input, size_t input_length, + const uint32_t *expected, size_t expected_length) +{ + size_t length; + uint32_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u32_normalize (UNINORM_NFC, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint32_t *preallocated; + + length = expected_length - 1; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_normalize (UNINORM_NFC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint32_t *preallocated; + + length = expected_length; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_normalize (UNINORM_NFC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u32_nfc (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint32_t input[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint32_t input[] = { 0x00C4 }; + static const uint32_t decomposed[] = { 0x0041, 0x0308 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint32_t input[] = { 0x01DE }; + static const uint32_t decomposed[] = { 0x0041, 0x0308, 0x0304 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* ANGSTROM SIGN */ + static const uint32_t input[] = { 0x212B }; + static const uint32_t decomposed[] = { 0x0041, 0x030A }; + static const uint32_t expected[] = { 0x00C5 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), expected, SIZEOF (expected)) == 0); + ASSERT (check (expected, SIZEOF (expected), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint32_t input[] = { 0x1FC1 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint32_t input[] = { 0x2113 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint32_t input[] = { 0x00A0 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint32_t input[] = { 0xFB6C }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint32_t input[] = { 0xFB6D }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint32_t input[] = { 0xFB6B }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint32_t input[] = { 0xFB6A }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint32_t input[] = { 0x246E }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint32_t input[] = { 0x2122 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint32_t input[] = { 0x1D62 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint32_t input[] = { 0xFE35 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint32_t input[] = { 0xFF21 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint32_t input[] = { 0xFF64 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint32_t input[] = { 0xFE51 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SQUARE MHZ */ + static const uint32_t input[] = { 0x3392 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint32_t input[] = { 0x215C }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* MICRO SIGN */ + static const uint32_t input[] = { 0x00B5 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint32_t input[] = { 0xFDFA }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint32_t input[] = { 0xAE00 }; + static const uint32_t decomposed[] = { 0x1100, 0x1173, 0x11AF }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint32_t input[] = { 0xADF8 }; + static const uint32_t decomposed[] = { 0x1100, 0x1173 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint32_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint32_t decomposed[] = + { 'G', 'r', 0x0075, 0x0308, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0438, 0x0306, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', + 0x1112, 0x1161, 0x11AB, 0x1100, 0x1173, 0x11AF, '\n' + }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint32_t *input = (uint32_t *) malloc (2 * m * sizeof (uint32_t)); + if (input != NULL) + { + uint32_t *expected = input + m; + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint32_t *p; + size_t i; + + input[0] = 0x0041; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + break; + + case 1: + for (i = 0; i < m2; i++) + *p++ = 0x0300; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0x0319; + *p++ = 0x0300; + } + for (; i < m1; i++) + *p++ = 0x0319; + break; + + default: + abort (); + } + + expected[0] = 0x00C0; + p = expected + 1; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2 - 1; i++) + *p++ = 0x0300; + + for (; repeat > 0; repeat--) + { + ASSERT (check (input, m, expected, m - 1) == 0); + ASSERT (check (expected, m - 1, expected, m - 1) == 0); + } + + free (input); + } + } + } +} + +#else + +void +test_u32_nfc (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u32-nfd-big.c b/tests/uninorm/test-u32-nfd-big.c new file mode 100644 index 00000000..9bfd0d89 --- /dev/null +++ b/tests/uninorm/test-u32-nfd-big.c @@ -0,0 +1,125 @@ +/* Test of Unicode compliance of canonical decomposition of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U32_NORMALIZE + +#include "uninorm.h" + +#include + +#include "unistr.h" +#include "progname.h" +#include "test-u32-normalize-big.h" + +static int +check (const uint32_t *c1, size_t c1_length, + const uint32_t *c2, size_t c2_length, + const uint32_t *c3, size_t c3_length, + const uint32_t *c4, size_t c4_length, + const uint32_t *c5, size_t c5_length) +{ + /* Check + c3 == NFD(c1) == NFD(c2) == NFD(c3) + c5 == NFD(c4) == NFD(c5) + */ + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFD, c1, c1_length, NULL, &length); + if (!(result != NULL + && length == c3_length + && u32_cmp (result, c3, c3_length) == 0)) + return 1; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFD, c2, c2_length, NULL, &length); + if (!(result != NULL + && length == c3_length + && u32_cmp (result, c3, c3_length) == 0)) + return 2; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFD, c3, c3_length, NULL, &length); + if (!(result != NULL + && length == c3_length + && u32_cmp (result, c3, c3_length) == 0)) + return 3; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFD, c4, c4_length, NULL, &length); + if (!(result != NULL + && length == c5_length + && u32_cmp (result, c5, c5_length) == 0)) + return 4; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFD, c5, c5_length, NULL, &length); + if (!(result != NULL + && length == c5_length + && u32_cmp (result, c5, c5_length) == 0)) + return 5; + free (result); + } + return 0; +} + +int +main (int argc, char *argv[]) +{ + struct normalization_test_file file; + + set_program_name (argv[0]); + read_normalization_test_file (argv[1], &file); + + test_specific (&file, check); + test_other (&file, UNINORM_NFD); + + return 0; +} + +#else + +#include + +int +main () +{ + fprintf (stderr, "Skipping test: uninorm/u32-normalize module not included.\n"); + return 77; +} + +#endif diff --git a/tests/uninorm/test-u32-nfd-big.sh b/tests/uninorm/test-u32-nfd-big.sh new file mode 100755 index 00000000..3cfe2c56 --- /dev/null +++ b/tests/uninorm/test-u32-nfd-big.sh @@ -0,0 +1,2 @@ +#!/bin/sh +exec ./test-u32-nfd-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt" diff --git a/tests/uninorm/test-u32-nfd.c b/tests/uninorm/test-u32-nfd.c new file mode 100644 index 00000000..f7b2d8df --- /dev/null +++ b/tests/uninorm/test-u32-nfd.c @@ -0,0 +1,329 @@ +/* Test of canonical decomposition of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U32_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint32_t *input, size_t input_length, + const uint32_t *expected, size_t expected_length) +{ + size_t length; + uint32_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u32_normalize (UNINORM_NFD, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint32_t *preallocated; + + length = expected_length - 1; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_normalize (UNINORM_NFD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint32_t *preallocated; + + length = expected_length; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_normalize (UNINORM_NFD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u32_nfd (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint32_t input[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint32_t input[] = { 0x00C4 }; + static const uint32_t expected[] = { 0x0041, 0x0308 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint32_t input[] = { 0x01DE }; + static const uint32_t expected[] = { 0x0041, 0x0308, 0x0304 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint32_t input[] = { 0x1FC1 }; + static const uint32_t expected[] = { 0x00A8, 0x0342 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint32_t input[] = { 0x2113 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint32_t input[] = { 0x00A0 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint32_t input[] = { 0xFB6C }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint32_t input[] = { 0xFB6D }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint32_t input[] = { 0xFB6B }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint32_t input[] = { 0xFB6A }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint32_t input[] = { 0x246E }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint32_t input[] = { 0x2122 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint32_t input[] = { 0x1D62 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint32_t input[] = { 0xFE35 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint32_t input[] = { 0xFF21 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint32_t input[] = { 0xFF64 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint32_t input[] = { 0xFE51 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SQUARE MHZ */ + static const uint32_t input[] = { 0x3392 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint32_t input[] = { 0x215C }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* MICRO SIGN */ + static const uint32_t input[] = { 0x00B5 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint32_t input[] = { 0xFDFA }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint32_t input[] = { 0xAE00 }; + static const uint32_t expected[] = { 0x1100, 0x1173, 0x11AF }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint32_t input[] = { 0xADF8 }; + static const uint32_t expected[] = { 0x1100, 0x1173 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint32_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint32_t expected[] = + { 'G', 'r', 0x0075, 0x0308, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0438, 0x0306, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', + 0x1112, 0x1161, 0x11AB, 0x1100, 0x1173, 0x11AF, '\n' + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint32_t *input = (uint32_t *) malloc (2 * m * sizeof (uint32_t)); + if (input != NULL) + { + uint32_t *expected = input + m; + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint32_t *p; + size_t i; + + input[0] = 0x0041; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + break; + + case 1: + for (i = 0; i < m2; i++) + *p++ = 0x0300; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0x0319; + *p++ = 0x0300; + } + for (; i < m1; i++) + *p++ = 0x0319; + break; + + default: + abort (); + } + + expected[0] = 0x0041; + p = expected + 1; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + + for (; repeat > 0; repeat--) + ASSERT (check (input, m, expected, m) == 0); + + free (input); + } + } + } +} + +#else + +void +test_u32_nfd (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u32-nfkc-big.c b/tests/uninorm/test-u32-nfkc-big.c new file mode 100644 index 00000000..340fe65b --- /dev/null +++ b/tests/uninorm/test-u32-nfkc-big.c @@ -0,0 +1,122 @@ +/* Test of Unicode compliance of compatibility normalization of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U32_NORMALIZE + +#include "uninorm.h" + +#include + +#include "unistr.h" +#include "progname.h" +#include "test-u32-normalize-big.h" + +static int +check (const uint32_t *c1, size_t c1_length, + const uint32_t *c2, size_t c2_length, + const uint32_t *c3, size_t c3_length, + const uint32_t *c4, size_t c4_length, + const uint32_t *c5, size_t c5_length) +{ + /* Check c4 == NFKC(c1) == NFKC(c2) == NFKC(c3) == NFKC(c4) == NFKC(c5). */ + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFKC, c1, c1_length, NULL, &length); + if (!(result != NULL + && length == c4_length + && u32_cmp (result, c4, c4_length) == 0)) + return 1; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFKC, c2, c2_length, NULL, &length); + if (!(result != NULL + && length == c4_length + && u32_cmp (result, c4, c4_length) == 0)) + return 2; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFKC, c3, c3_length, NULL, &length); + if (!(result != NULL + && length == c4_length + && u32_cmp (result, c4, c4_length) == 0)) + return 3; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFKC, c4, c4_length, NULL, &length); + if (!(result != NULL + && length == c4_length + && u32_cmp (result, c4, c4_length) == 0)) + return 4; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFKC, c5, c5_length, NULL, &length); + if (!(result != NULL + && length == c4_length + && u32_cmp (result, c4, c4_length) == 0)) + return 5; + free (result); + } + return 0; +} + +int +main (int argc, char *argv[]) +{ + struct normalization_test_file file; + + set_program_name (argv[0]); + read_normalization_test_file (argv[1], &file); + + test_specific (&file, check); + test_other (&file, UNINORM_NFKC); + + return 0; +} + +#else + +#include + +int +main () +{ + fprintf (stderr, "Skipping test: uninorm/u32-normalize module not included.\n"); + return 77; +} + +#endif diff --git a/tests/uninorm/test-u32-nfkc-big.sh b/tests/uninorm/test-u32-nfkc-big.sh new file mode 100755 index 00000000..cd816196 --- /dev/null +++ b/tests/uninorm/test-u32-nfkc-big.sh @@ -0,0 +1,2 @@ +#!/bin/sh +exec ./test-u32-nfkc-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt" diff --git a/tests/uninorm/test-u32-nfkc.c b/tests/uninorm/test-u32-nfkc.c new file mode 100644 index 00000000..75f7e825 --- /dev/null +++ b/tests/uninorm/test-u32-nfkc.c @@ -0,0 +1,393 @@ +/* Test of compatibility normalization of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U32_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint32_t *input, size_t input_length, + const uint32_t *expected, size_t expected_length) +{ + size_t length; + uint32_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u32_normalize (UNINORM_NFKC, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint32_t *preallocated; + + length = expected_length - 1; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_normalize (UNINORM_NFKC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint32_t *preallocated; + + length = expected_length; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_normalize (UNINORM_NFKC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u32_nfkc (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint32_t input[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint32_t input[] = { 0x00C4 }; + static const uint32_t decomposed[] = { 0x0041, 0x0308 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint32_t input[] = { 0x01DE }; + static const uint32_t decomposed[] = { 0x0041, 0x0308, 0x0304 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* ANGSTROM SIGN */ + static const uint32_t input[] = { 0x212B }; + static const uint32_t decomposed[] = { 0x0041, 0x030A }; + static const uint32_t expected[] = { 0x00C5 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), expected, SIZEOF (expected)) == 0); + ASSERT (check (expected, SIZEOF (expected), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint32_t input[] = { 0x1FC1 }; + static const uint32_t decomposed[] = { 0x0020, 0x0308, 0x0342 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint32_t input[] = { 0x2113 }; + static const uint32_t decomposed[] = { 0x006C }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint32_t input[] = { 0x00A0 }; + static const uint32_t decomposed[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint32_t input[] = { 0xFB6C }; + static const uint32_t decomposed[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint32_t input[] = { 0xFB6D }; + static const uint32_t decomposed[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint32_t input[] = { 0xFB6B }; + static const uint32_t decomposed[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint32_t input[] = { 0xFB6A }; + static const uint32_t decomposed[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint32_t input[] = { 0x246E }; + static const uint32_t decomposed[] = { 0x0031, 0x0035 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint32_t input[] = { 0x2122 }; + static const uint32_t decomposed[] = { 0x0054, 0x004D }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint32_t input[] = { 0x1D62 }; + static const uint32_t decomposed[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint32_t input[] = { 0xFE35 }; + static const uint32_t decomposed[] = { 0x0028 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint32_t input[] = { 0xFF21 }; + static const uint32_t decomposed[] = { 0x0041 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint32_t input[] = { 0xFF64 }; + static const uint32_t decomposed[] = { 0x3001 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint32_t input[] = { 0xFE51 }; + static const uint32_t decomposed[] = { 0x3001 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* SQUARE MHZ */ + static const uint32_t input[] = { 0x3392 }; + static const uint32_t decomposed[] = { 0x004D, 0x0048, 0x007A }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint32_t input[] = { 0x215C }; + static const uint32_t decomposed[] = { 0x0033, 0x2044, 0x0038 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* MICRO SIGN */ + static const uint32_t input[] = { 0x00B5 }; + static const uint32_t decomposed[] = { 0x03BC }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint32_t input[] = { 0xFDFA }; + static const uint32_t decomposed[] = + { 0x0635, 0x0644, 0x0649, 0x0020, 0x0627, 0x0644, 0x0644, 0x0647, 0x0020, + 0x0639, 0x0644, 0x064A, 0x0647, 0x0020, 0x0648, 0x0633, 0x0644, 0x0645 + }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint32_t input[] = { 0xAE00 }; + static const uint32_t decomposed[] = { 0x1100, 0x1173, 0x11AF }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint32_t input[] = { 0xADF8 }; + static const uint32_t decomposed[] = { 0x1100, 0x1173 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint32_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint32_t decomposed[] = + { 'G', 'r', 0x0075, 0x0308, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0438, 0x0306, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x0032, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', + 0x1112, 0x1161, 0x11AB, 0x1100, 0x1173, 0x11AF, '\n' + }; + static const uint32_t expected[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x0032, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), expected, SIZEOF (expected)) == 0); + ASSERT (check (expected, SIZEOF (expected), expected, SIZEOF (expected)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint32_t *input = (uint32_t *) malloc (2 * m * sizeof (uint32_t)); + if (input != NULL) + { + uint32_t *expected = input + m; + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint32_t *p; + size_t i; + + input[0] = 0x0041; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + break; + + case 1: + for (i = 0; i < m2; i++) + *p++ = 0x0300; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0x0319; + *p++ = 0x0300; + } + for (; i < m1; i++) + *p++ = 0x0319; + break; + + default: + abort (); + } + + expected[0] = 0x00C0; + p = expected + 1; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2 - 1; i++) + *p++ = 0x0300; + + for (; repeat > 0; repeat--) + { + ASSERT (check (input, m, expected, m - 1) == 0); + ASSERT (check (expected, m - 1, expected, m - 1) == 0); + } + + free (input); + } + } + } +} + +#else + +void +test_u32_nfkc (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u32-nfkd-big.c b/tests/uninorm/test-u32-nfkd-big.c new file mode 100644 index 00000000..e7c1b4f3 --- /dev/null +++ b/tests/uninorm/test-u32-nfkd-big.c @@ -0,0 +1,122 @@ +/* Test of Unicode compliance of compatibility decomposition of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U32_NORMALIZE + +#include "uninorm.h" + +#include + +#include "unistr.h" +#include "progname.h" +#include "test-u32-normalize-big.h" + +static int +check (const uint32_t *c1, size_t c1_length, + const uint32_t *c2, size_t c2_length, + const uint32_t *c3, size_t c3_length, + const uint32_t *c4, size_t c4_length, + const uint32_t *c5, size_t c5_length) +{ + /* Check c5 == NFKD(c1) == NFKD(c2) == NFKD(c3) == NFKD(c4) == NFKD(c5). */ + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFKD, c1, c1_length, NULL, &length); + if (!(result != NULL + && length == c5_length + && u32_cmp (result, c5, c5_length) == 0)) + return 1; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFKD, c2, c2_length, NULL, &length); + if (!(result != NULL + && length == c5_length + && u32_cmp (result, c5, c5_length) == 0)) + return 2; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFKD, c3, c3_length, NULL, &length); + if (!(result != NULL + && length == c5_length + && u32_cmp (result, c5, c5_length) == 0)) + return 3; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFKD, c4, c4_length, NULL, &length); + if (!(result != NULL + && length == c5_length + && u32_cmp (result, c5, c5_length) == 0)) + return 4; + free (result); + } + { + size_t length; + uint32_t *result; + + result = u32_normalize (UNINORM_NFKD, c5, c5_length, NULL, &length); + if (!(result != NULL + && length == c5_length + && u32_cmp (result, c5, c5_length) == 0)) + return 5; + free (result); + } + return 0; +} + +int +main (int argc, char *argv[]) +{ + struct normalization_test_file file; + + set_program_name (argv[0]); + read_normalization_test_file (argv[1], &file); + + test_specific (&file, check); + test_other (&file, UNINORM_NFKD); + + return 0; +} + +#else + +#include + +int +main () +{ + fprintf (stderr, "Skipping test: uninorm/u32-normalize module not included.\n"); + return 77; +} + +#endif diff --git a/tests/uninorm/test-u32-nfkd-big.sh b/tests/uninorm/test-u32-nfkd-big.sh new file mode 100755 index 00000000..a279c124 --- /dev/null +++ b/tests/uninorm/test-u32-nfkd-big.sh @@ -0,0 +1,2 @@ +#!/bin/sh +exec ./test-u32-nfkd-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt" diff --git a/tests/uninorm/test-u32-nfkd.c b/tests/uninorm/test-u32-nfkd.c new file mode 100644 index 00000000..d3de7f76 --- /dev/null +++ b/tests/uninorm/test-u32-nfkd.c @@ -0,0 +1,349 @@ +/* Test of compatibility decomposition of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U32_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint32_t *input, size_t input_length, + const uint32_t *expected, size_t expected_length) +{ + size_t length; + uint32_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u32_normalize (UNINORM_NFKD, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint32_t *preallocated; + + length = expected_length - 1; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_normalize (UNINORM_NFKD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint32_t *preallocated; + + length = expected_length; + preallocated = (uint32_t *) malloc (length * sizeof (uint32_t)); + result = u32_normalize (UNINORM_NFKD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u32_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u32_nfkd (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint32_t input[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint32_t input[] = { 0x00C4 }; + static const uint32_t expected[] = { 0x0041, 0x0308 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint32_t input[] = { 0x01DE }; + static const uint32_t expected[] = { 0x0041, 0x0308, 0x0304 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint32_t input[] = { 0x1FC1 }; + static const uint32_t expected[] = { 0x0020, 0x0308, 0x0342 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint32_t input[] = { 0x2113 }; + static const uint32_t expected[] = { 0x006C }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint32_t input[] = { 0x00A0 }; + static const uint32_t expected[] = { 0x0020 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint32_t input[] = { 0xFB6C }; + static const uint32_t expected[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint32_t input[] = { 0xFB6D }; + static const uint32_t expected[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint32_t input[] = { 0xFB6B }; + static const uint32_t expected[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint32_t input[] = { 0xFB6A }; + static const uint32_t expected[] = { 0x06A4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint32_t input[] = { 0x246E }; + static const uint32_t expected[] = { 0x0031, 0x0035 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint32_t input[] = { 0x2122 }; + static const uint32_t expected[] = { 0x0054, 0x004D }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint32_t input[] = { 0x1D62 }; + static const uint32_t expected[] = { 0x0069 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint32_t input[] = { 0xFE35 }; + static const uint32_t expected[] = { 0x0028 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint32_t input[] = { 0xFF21 }; + static const uint32_t expected[] = { 0x0041 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint32_t input[] = { 0xFF64 }; + static const uint32_t expected[] = { 0x3001 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint32_t input[] = { 0xFE51 }; + static const uint32_t expected[] = { 0x3001 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SQUARE MHZ */ + static const uint32_t input[] = { 0x3392 }; + static const uint32_t expected[] = { 0x004D, 0x0048, 0x007A }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint32_t input[] = { 0x215C }; + static const uint32_t expected[] = { 0x0033, 0x2044, 0x0038 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* MICRO SIGN */ + static const uint32_t input[] = { 0x00B5 }; + static const uint32_t expected[] = { 0x03BC }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint32_t input[] = { 0xFDFA }; + static const uint32_t expected[] = + { 0x0635, 0x0644, 0x0649, 0x0020, 0x0627, 0x0644, 0x0644, 0x0647, 0x0020, + 0x0639, 0x0644, 0x064A, 0x0647, 0x0020, 0x0648, 0x0633, 0x0644, 0x0645 + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint32_t input[] = { 0xAE00 }; + static const uint32_t expected[] = { 0x1100, 0x1173, 0x11AF }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint32_t input[] = { 0xADF8 }; + static const uint32_t expected[] = { 0x1100, 0x1173 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint32_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint32_t expected[] = + { 'G', 'r', 0x0075, 0x0308, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0438, 0x0306, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x0032, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', + 0x1112, 0x1161, 0x11AB, 0x1100, 0x1173, 0x11AF, '\n' + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint32_t *input = (uint32_t *) malloc (2 * m * sizeof (uint32_t)); + if (input != NULL) + { + uint32_t *expected = input + m; + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint32_t *p; + size_t i; + + input[0] = 0x0041; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + break; + + case 1: + for (i = 0; i < m2; i++) + *p++ = 0x0300; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0x0319; + *p++ = 0x0300; + } + for (; i < m1; i++) + *p++ = 0x0319; + break; + + default: + abort (); + } + + expected[0] = 0x0041; + p = expected + 1; + for (i = 0; i < m1; i++) + *p++ = 0x0319; + for (i = 0; i < m2; i++) + *p++ = 0x0300; + + for (; repeat > 0; repeat--) + ASSERT (check (input, m, expected, m) == 0); + + free (input); + } + } + } +} + +#else + +void +test_u32_nfkd (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u32-normalize-big.c b/tests/uninorm/test-u32-normalize-big.c new file mode 100644 index 00000000..96781ab0 --- /dev/null +++ b/tests/uninorm/test-u32-normalize-big.c @@ -0,0 +1,315 @@ +/* Test of Unicode compliance of normalization of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +/* Specification. */ +#include "test-u32-normalize-big.h" + +#if GNULIB_UNINORM_U32_NORMALIZE + +#include +#include + +#include "xalloc.h" +#include "unistr.h" + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#define ASSERT_WITH_LINE(expr, file, line) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed for %s:%u\n", \ + __FILE__, __LINE__, file, line); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +cmp_ucs4_t (const void *a, const void *b) +{ + ucs4_t a_value = *(const ucs4_t *)a; + ucs4_t b_value = *(const ucs4_t *)b; + return (a_value < b_value ? -1 : a_value > b_value ? 1 : 0); +} + +void +read_normalization_test_file (const char *filename, + struct normalization_test_file *file) +{ + FILE *stream; + unsigned int lineno; + int part_index; + struct normalization_test_line *lines; + size_t lines_length; + size_t lines_allocated; + + stream = fopen (filename, "r"); + if (stream == NULL) + { + fprintf (stderr, "error during fopen of '%s'\n", filename); + exit (1); + } + + for (part_index = 0; part_index < 4; part_index++) + { + file->parts[part_index].lines = NULL; + file->parts[part_index].lines_length = 0; + } + + lineno = 0; + + part_index = -1; + lines = NULL; + lines_length = 0; + lines_allocated = 0; + + for (;;) + { + char buf[1000+1]; + char *ptr; + int c; + struct normalization_test_line line; + size_t sequence_index; + + lineno++; + + /* Read a line. */ + ptr = buf; + do + { + c = getc (stream); + if (c == EOF || c == '\n') + break; + *ptr++ = c; + } + while (ptr < buf + 1000); + *ptr = '\0'; + if (c == EOF) + break; + + /* Ignore empty lines and comment lines. */ + if (buf[0] == '\0' || buf[0] == '#') + continue; + + /* Handle lines that introduce a new part. */ + if (buf[0] == '@') + { + /* Switch to the next part. */ + if (part_index >= 0) + { + lines = + (struct normalization_test_line *) + xnrealloc (lines, lines_length, sizeof (struct normalization_test_line)); + file->parts[part_index].lines = lines; + file->parts[part_index].lines_length = lines_length; + } + part_index++; + lines = NULL; + lines_length = 0; + lines_allocated = 0; + continue; + } + + /* It's a line containing 5 sequences of Unicode characters. + Parse it and append it to the current part. */ + if (!(part_index >= 0 && part_index < 4)) + { + fprintf (stderr, "unexpected structure of '%s'\n", filename); + exit (1); + } + ptr = buf; + line.lineno = lineno; + for (sequence_index = 0; sequence_index < 5; sequence_index++) + line.sequences[sequence_index] = NULL; + for (sequence_index = 0; sequence_index < 5; sequence_index++) + { + uint32_t *sequence = XNMALLOC (1, uint32_t); + size_t sequence_length = 0; + + for (;;) + { + char *endptr; + unsigned int uc; + + uc = strtoul (ptr, &endptr, 16); + if (endptr == ptr) + break; + ptr = endptr; + + /* Append uc to the sequence. */ + sequence = + (uint32_t *) + xnrealloc (sequence, sequence_length + 2, sizeof (uint32_t)); + sequence[sequence_length] = uc; + sequence_length++; + + if (*ptr == ' ') + ptr++; + } + if (sequence_length == 0) + { + fprintf (stderr, "empty character sequence in '%s'\n", filename); + exit (1); + } + sequence[sequence_length] = 0; /* terminator */ + + line.sequences[sequence_index] = sequence; + + if (*ptr != ';') + { + fprintf (stderr, "error parsing '%s'\n", filename); + exit (1); + } + ptr++; + } + + /* Append the line to the current part. */ + if (lines_length == lines_allocated) + { + lines_allocated = 2 * lines_allocated; + if (lines_allocated < 7) + lines_allocated = 7; + lines = + (struct normalization_test_line *) + xnrealloc (lines, lines_allocated, sizeof (struct normalization_test_line)); + } + lines[lines_length] = line; + lines_length++; + } + + if (part_index >= 0) + { + lines = + (struct normalization_test_line *) + xnrealloc (lines, lines_length, sizeof (struct normalization_test_line)); + file->parts[part_index].lines = lines; + file->parts[part_index].lines_length = lines_length; + } + + { + /* Collect all c1 values from the part 1 in an array. */ + const struct normalization_test_part *p = &file->parts[1]; + ucs4_t *c1_array = XNMALLOC (p->lines_length + 1, ucs4_t); + size_t line_index; + + for (line_index = 0; line_index < p->lines_length; line_index++) + { + const uint32_t *sequence = p->lines[line_index].sequences[0]; + /* In part 1, every sequences[0] consists of a single character. */ + if (!(sequence[0] != 0 && sequence[1] == 0)) + abort (); + c1_array[line_index] = sequence[0]; + } + + /* Sort this array. */ + qsort (c1_array, p->lines_length, sizeof (ucs4_t), cmp_ucs4_t); + + /* Add the sentinel at the end. */ + c1_array[p->lines_length] = 0x110000; + + file->part1_c1_sorted = c1_array; + } + + file->filename = xstrdup (filename); + + if (ferror (stream) || fclose (stream)) + { + fprintf (stderr, "error reading from '%s'\n", filename); + exit (1); + } +} + +void +test_specific (const struct normalization_test_file *file, + int (*check) (const uint32_t *c1, size_t c1_length, + const uint32_t *c2, size_t c2_length, + const uint32_t *c3, size_t c3_length, + const uint32_t *c4, size_t c4_length, + const uint32_t *c5, size_t c5_length)) +{ + size_t part_index; + + for (part_index = 0; part_index < 4; part_index++) + { + const struct normalization_test_part *p = &file->parts[part_index]; + size_t line_index; + + for (line_index = 0; line_index < p->lines_length; line_index++) + { + const struct normalization_test_line *l = &p->lines[line_index]; + + ASSERT_WITH_LINE (check (l->sequences[0], u32_strlen (l->sequences[0]), + l->sequences[1], u32_strlen (l->sequences[1]), + l->sequences[2], u32_strlen (l->sequences[2]), + l->sequences[3], u32_strlen (l->sequences[3]), + l->sequences[4], u32_strlen (l->sequences[4])) + == 0, + file->filename, l->lineno); + } + } +} + +void +test_other (const struct normalization_test_file *file, uninorm_t nf) +{ + /* Check that for every character not listed in part 1 of the + NormalizationTest.txt file, the character maps to itself in each + of the four normalization forms. */ + const ucs4_t *p = file->part1_c1_sorted; + ucs4_t uc; + + for (uc = 0; uc < 0x110000; uc++) + { + if (uc >= 0xD800 && uc < 0xE000) + { + /* A surrogate, not a character. Skip uc. */ + } + else if (uc == *p) + { + /* Skip uc. */ + p++; + } + else + { + uint32_t input[1]; + size_t length; + uint32_t *result; + + input[0] = uc; + result = u32_normalize (nf, input, 1, NULL, &length); + ASSERT (result != NULL && length == 1 && result[0] == uc); + } + } +} + +#endif diff --git a/tests/uninorm/test-u32-normalize-big.h b/tests/uninorm/test-u32-normalize-big.h new file mode 100644 index 00000000..f154daa9 --- /dev/null +++ b/tests/uninorm/test-u32-normalize-big.h @@ -0,0 +1,70 @@ +/* Test of Unicode compliance of normalization of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unitypes.h" +#include "uninorm.h" + +/* The NormalizationTest.txt is from www.unicode.org, with stripped comments: + sed -e 's| *#.*||' < .../ucd/NormalizationTest.txt \ + > tests/uninorm/NormalizationTest.txt + It is only used to verify the compliance of this implementation of the + Unicode normalization forms. It is not used by the library code, only + by the unit tests. */ + +/* Representation of a line in the NormalizationTest.txt file. */ +struct normalization_test_line +{ + unsigned int lineno; + uint32_t *sequences[5]; +}; + +/* Representation of a delimited part of the NormalizationTest.txt file. */ +struct normalization_test_part +{ + struct normalization_test_line *lines; + size_t lines_length; +}; + +/* Representation of the entire NormalizationTest.txt file. */ +struct normalization_test_file +{ + struct normalization_test_part parts[4]; + /* The set of c1 values from part 1, sorted in ascending order, with a + sentinel value of 0x110000 at the end. */ + ucs4_t *part1_c1_sorted; + /* The filename of the NormalizationTest.txt file. */ + const char *filename; +}; + +/* Read the NormalizationTest.txt file and return its contents. */ +extern void + read_normalization_test_file (const char *filename, + struct normalization_test_file *file); + +/* Perform the first compliance test. */ +extern void + test_specific (const struct normalization_test_file *file, + int (*check) (const uint32_t *c1, size_t c1_length, + const uint32_t *c2, size_t c2_length, + const uint32_t *c3, size_t c3_length, + const uint32_t *c4, size_t c4_length, + const uint32_t *c5, size_t c5_length)); + +/* Perform the second compliance test. */ +extern void + test_other (const struct normalization_test_file *file, uninorm_t nf); diff --git a/tests/uninorm/test-u32-normcmp.c b/tests/uninorm/test-u32-normcmp.c new file mode 100644 index 00000000..846300a8 --- /dev/null +++ b/tests/uninorm/test-u32-normcmp.c @@ -0,0 +1,130 @@ +/* Test of normalization insensitive comparison of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u32-normcmp.h" + +static void +test_nonascii (int (*my_normcmp) (const uint32_t *, size_t, const uint32_t *, size_t, uninorm_t, int *)) +{ + /* Normalization effects. */ + { + static const uint32_t input1[] = { 'H', 0x00F6, 'h', 'l', 'e' }; + static const uint32_t input2[] = { 'H', 'o', 0x0308, 'h', 'l', 'e' }; + static const uint32_t input3[] = { 'H', 0x00F6, 'h', 'l', 'e', 'n' }; + static const uint32_t input4[] = { 'H', 'o', 0x0308, 'h', 'l', 'e', 'n' }; + static const uint32_t input5[] = { 'H', 'u', 'r', 'z' }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input1, SIZEOF (input1), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input3, SIZEOF (input3), input4, SIZEOF (input4), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input4, SIZEOF (input4), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input1, SIZEOF (input1), input4, SIZEOF (input4), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input1, SIZEOF (input1), input5, SIZEOF (input5), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input5, SIZEOF (input5), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint32_t input1[] = { 0x00C4 }; + static const uint32_t input2[] = { 0x0041, 0x0308 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint32_t input1[] = { 0x01DE }; + static const uint32_t input2[] = { 0x0041, 0x0308, 0x0304 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint32_t input1[] = { 0x1FC1 }; + static const uint32_t input2[] = { 0x00A8, 0x0342 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEUL */ + static const uint32_t input1[] = { 0xAE00 }; + static const uint32_t input2[] = { 0xADF8, 0x11AF }; + static const uint32_t input3[] = { 0x1100, 0x1173, 0x11AF }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input1, SIZEOF (input1), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEU */ + static const uint32_t input1[] = { 0xADF8 }; + static const uint32_t input2[] = { 0x1100, 0x1173 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } +} + +int +main () +{ + test_ascii (u32_normcmp, UNINORM_NFD); + test_nonascii (u32_normcmp); + + return 0; +} diff --git a/tests/uninorm/test-u32-normcmp.h b/tests/uninorm/test-u32-normcmp.h new file mode 100644 index 00000000..06d5fad8 --- /dev/null +++ b/tests/uninorm/test-u32-normcmp.h @@ -0,0 +1,69 @@ +/* Test of normalization insensitive comparison of UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +static void +test_ascii (int (*my_normcmp) (const uint32_t *, size_t, const uint32_t *, size_t, uninorm_t, int *), + uninorm_t nf) +{ + /* Empty string. */ + { + int cmp; + + ASSERT (my_normcmp (NULL, 0, NULL, 0, nf, &cmp) == 0); + ASSERT (cmp == 0); + } + { + static const uint32_t input[] = { 'x', 'y' }; + int cmp; + + ASSERT (my_normcmp (input, SIZEOF (input), NULL, 0, nf, &cmp) == 0); + ASSERT (cmp == 1); + + ASSERT (my_normcmp (NULL, 0, input, SIZEOF (input), nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input, SIZEOF (input), input, SIZEOF (input), nf, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Normal lexicographic order. */ + { + static const uint32_t input1[] = { 'A', 'm', 'e', 'r', 'i', 'c', 'a' }; + static const uint32_t input2[] = { 'A', 'm', 'i', 'g', 'o' }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input1, SIZEOF (input1), nf, &cmp) == 0); + ASSERT (cmp == 1); + } + + /* Shorter and longer strings. */ + { + static const uint32_t input1[] = { 'R', 'e', 'a', 'g', 'a', 'n' }; + static const uint32_t input2[] = { 'R', 'e', 'a', 'g', 'a', 'n', 'o', 'm', 'i', 'c', 's' }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input1, SIZEOF (input1), nf, &cmp) == 0); + ASSERT (cmp == 1); + } +} diff --git a/tests/uninorm/test-u32-normcoll.c b/tests/uninorm/test-u32-normcoll.c new file mode 100644 index 00000000..916d433f --- /dev/null +++ b/tests/uninorm/test-u32-normcoll.c @@ -0,0 +1,49 @@ +/* Test of locale dependent, normalization insensitive comparison of + UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u32-normcmp.h" +int +main () +{ + /* In the "C" locale, strcoll is equivalent to strcmp, therefore u8_normcoll + on ASCII strings should behave like strcmp as well. */ + test_ascii (u32_normcoll, UNINORM_NFC); + + return 0; +} diff --git a/tests/uninorm/test-u8-nfc.c b/tests/uninorm/test-u8-nfc.c new file mode 100644 index 00000000..52baa68b --- /dev/null +++ b/tests/uninorm/test-u8-nfc.c @@ -0,0 +1,375 @@ +/* Test of canonical normalization of UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U8_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint8_t *input, size_t input_length, + const uint8_t *expected, size_t expected_length) +{ + size_t length; + uint8_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u8_normalize (UNINORM_NFC, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint8_t *preallocated; + + length = expected_length - 1; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_normalize (UNINORM_NFC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint8_t *preallocated; + + length = expected_length; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_normalize (UNINORM_NFC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u8_nfc (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint8_t input[] = { 0x20 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint8_t input[] = { 0xC3, 0x84 }; + static const uint8_t decomposed[] = { 0x41, 0xCC, 0x88 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint8_t input[] = { 0xC7, 0x9E }; + static const uint8_t decomposed[] = { 0x41, 0xCC, 0x88, 0xCC, 0x84 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* ANGSTROM SIGN */ + static const uint8_t input[] = { 0xE2, 0x84, 0xAB }; + static const uint8_t decomposed[] = { 0x41, 0xCC, 0x8A }; + static const uint8_t expected[] = { 0xC3, 0x85 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), expected, SIZEOF (expected)) == 0); + ASSERT (check (expected, SIZEOF (expected), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint8_t input[] = { 0xE1, 0xBF, 0x81 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint8_t input[] = { 0xE2, 0x84, 0x93 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint8_t input[] = { 0xC2, 0xA0 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAC }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAD }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAB }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAA }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint8_t input[] = { 0xE2, 0x91, 0xAE }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint8_t input[] = { 0xE2, 0x84, 0xA2 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint8_t input[] = { 0xE1, 0xB5, 0xA2 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint8_t input[] = { 0xEF, 0xB8, 0xB5 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint8_t input[] = { 0xEF, 0xBC, 0xA1 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint8_t input[] = { 0xEF, 0xBD, 0xA4 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint8_t input[] = { 0xEF, 0xB9, 0x91 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SQUARE MHZ */ + static const uint8_t input[] = { 0xE3, 0x8E, 0x92 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint8_t input[] = { 0xE2, 0x85, 0x9C }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* MICRO SIGN */ + static const uint8_t input[] = { 0xC2, 0xB5 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint8_t input[] = { 0xEF, 0xB7, 0xBA }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint8_t input[] = { 0xEA, 0xB8, 0x80 }; + static const uint8_t decomposed[] = + { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3, 0xE1, 0x86, 0xAF }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint8_t input[] = { 0xEA, 0xB7, 0xB8 }; + static const uint8_t decomposed[] = { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint8_t input[] = + { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', + ' ', 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, + 0x81, 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, + 0xD1, 0x82, 0xD0, 0xB5, '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, + 's', 'q', 'r', 't', '(', 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', + '/', '(', '2', 'a', ')', ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, + 0xE8, 0xAA, 0x9E, ',', 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, + 0xEA, 0xB8, 0x80, '\n' + }; + static const uint8_t decomposed[] = + { 'G', 'r', 0x75, 0xCC, 0x88, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', + ' ', 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, + 0x81, 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB8, 0xCC, 0x86, + 0xD1, 0x82, 0xD0, 0xB5, '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, + 's', 'q', 'r', 't', '(', 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', + '/', '(', '2', 'a', ')', ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, + 0xE8, 0xAA, 0x9E, ',', 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0xE1, 0x86, 0xAB, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3, 0xE1, 0x86, 0xAF, '\n' + }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint8_t *input = (uint8_t *) malloc (2 * (2 * m - 1) * sizeof (uint8_t)); + if (input != NULL) + { + uint8_t *expected = input + (2 * m - 1); + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint8_t *p; + size_t i; + + input[0] = 0x41; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + break; + + case 1: + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + *p++ = 0xCC; + *p++ = 0x80; + } + for (; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + break; + + default: + abort (); + } + + expected[0] = 0xC3; + expected[1] = 0x80; + p = expected + 2; + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + for (i = 0; i < m2 - 1; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + + for (; repeat > 0; repeat--) + { + ASSERT (check (input, 2 * m - 1, expected, 2 * m - 2) == 0); + ASSERT (check (expected, 2 * m - 2, expected, 2 * m - 2) == 0); + } + + free (input); + } + } + } +} + +#else + +void +test_u8_nfc (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u8-nfd.c b/tests/uninorm/test-u8-nfd.c new file mode 100644 index 00000000..d1d840ac --- /dev/null +++ b/tests/uninorm/test-u8-nfd.c @@ -0,0 +1,358 @@ +/* Test of canonical decomposition of UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U8_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint8_t *input, size_t input_length, + const uint8_t *expected, size_t expected_length) +{ + size_t length; + uint8_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u8_normalize (UNINORM_NFD, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint8_t *preallocated; + + length = expected_length - 1; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_normalize (UNINORM_NFD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint8_t *preallocated; + + length = expected_length; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_normalize (UNINORM_NFD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u8_nfd (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint8_t input[] = { 0x20 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint8_t input[] = { 0xC3, 0x84 }; + static const uint8_t expected[] = { 0x41, 0xCC, 0x88 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint8_t input[] = { 0xC7, 0x9E }; + static const uint8_t expected[] = { 0x41, 0xCC, 0x88, 0xCC, 0x84 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint8_t input[] = { 0xE1, 0xBF, 0x81 }; + static const uint8_t expected[] = { 0xC2, 0xA8, 0xCD, 0x82 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint8_t input[] = { 0xE2, 0x84, 0x93 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint8_t input[] = { 0xC2, 0xA0 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAC }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAD }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAB }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAA }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint8_t input[] = { 0xE2, 0x91, 0xAE }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint8_t input[] = { 0xE2, 0x84, 0xA2 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint8_t input[] = { 0xE1, 0xB5, 0xA2 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint8_t input[] = { 0xEF, 0xB8, 0xB5 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint8_t input[] = { 0xEF, 0xBC, 0xA1 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint8_t input[] = { 0xEF, 0xBD, 0xA4 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint8_t input[] = { 0xEF, 0xB9, 0x91 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* SQUARE MHZ */ + static const uint8_t input[] = { 0xE3, 0x8E, 0x92 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint8_t input[] = { 0xE2, 0x85, 0x9C }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* MICRO SIGN */ + static const uint8_t input[] = { 0xC2, 0xB5 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint8_t input[] = { 0xEF, 0xB7, 0xBA }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint8_t input[] = { 0xEA, 0xB8, 0x80 }; + static const uint8_t expected[] = + { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3, 0xE1, 0x86, 0xAF }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint8_t input[] = { 0xEA, 0xB7, 0xB8 }; + static const uint8_t expected[] = { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint8_t input[] = + { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', + ' ', 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, + 0x81, 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, + 0xD1, 0x82, 0xD0, 0xB5, '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, + 's', 'q', 'r', 't', '(', 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', + '/', '(', '2', 'a', ')', ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, + 0xE8, 0xAA, 0x9E, ',', 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, + 0xEA, 0xB8, 0x80, '\n' + }; + static const uint8_t expected[] = + { 'G', 'r', 0x75, 0xCC, 0x88, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', + ' ', 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, + 0x81, 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB8, 0xCC, 0x86, + 0xD1, 0x82, 0xD0, 0xB5, '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, + 's', 'q', 'r', 't', '(', 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', + '/', '(', '2', 'a', ')', ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, + 0xE8, 0xAA, 0x9E, ',', 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0xE1, 0x86, 0xAB, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3, 0xE1, 0x86, 0xAF, '\n' + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint8_t *input = (uint8_t *) malloc (2 * (2 * m - 1) * sizeof (uint8_t)); + if (input != NULL) + { + uint8_t *expected = input + (2 * m - 1); + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint8_t *p; + size_t i; + + input[0] = 0x41; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + break; + + case 1: + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + *p++ = 0xCC; + *p++ = 0x80; + } + for (; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + break; + + default: + abort (); + } + + expected[0] = 0x41; + p = expected + 1; + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + + for (; repeat > 0; repeat--) + ASSERT (check (input, 2 * m - 1, expected, 2 * m - 1) == 0); + + free (input); + } + } + } +} + +#else + +void +test_u8_nfd (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u8-nfkc.c b/tests/uninorm/test-u8-nfkc.c new file mode 100644 index 00000000..0ea46363 --- /dev/null +++ b/tests/uninorm/test-u8-nfkc.c @@ -0,0 +1,427 @@ +/* Test of compatibility normalization of UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U8_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint8_t *input, size_t input_length, + const uint8_t *expected, size_t expected_length) +{ + size_t length; + uint8_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u8_normalize (UNINORM_NFKC, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint8_t *preallocated; + + length = expected_length - 1; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_normalize (UNINORM_NFKC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint8_t *preallocated; + + length = expected_length; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_normalize (UNINORM_NFKC, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u8_nfkc (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint8_t input[] = { 0x20 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint8_t input[] = { 0xC3, 0x84 }; + static const uint8_t decomposed[] = { 0x41, 0xCC, 0x88 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint8_t input[] = { 0xC7, 0x9E }; + static const uint8_t decomposed[] = { 0x41, 0xCC, 0x88, 0xCC, 0x84 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* ANGSTROM SIGN */ + static const uint8_t input[] = { 0xE2, 0x84, 0xAB }; + static const uint8_t decomposed[] = { 0x41, 0xCC, 0x8A }; + static const uint8_t expected[] = { 0xC3, 0x85 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), expected, SIZEOF (expected)) == 0); + ASSERT (check (expected, SIZEOF (expected), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint8_t input[] = { 0xE1, 0xBF, 0x81 }; + static const uint8_t decomposed[] = { 0x20, 0xCC, 0x88, 0xCD, 0x82 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint8_t input[] = { 0xE2, 0x84, 0x93 }; + static const uint8_t decomposed[] = { 0x6C }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint8_t input[] = { 0xC2, 0xA0 }; + static const uint8_t decomposed[] = { 0x20 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAC }; + static const uint8_t decomposed[] = { 0xDA, 0xA4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAD }; + static const uint8_t decomposed[] = { 0xDA, 0xA4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAB }; + static const uint8_t decomposed[] = { 0xDA, 0xA4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAA }; + static const uint8_t decomposed[] = { 0xDA, 0xA4 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint8_t input[] = { 0xE2, 0x91, 0xAE }; + static const uint8_t decomposed[] = { 0x31, 0x35 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint8_t input[] = { 0xE2, 0x84, 0xA2 }; + static const uint8_t decomposed[] = { 0x54, 0x4D }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint8_t input[] = { 0xE1, 0xB5, 0xA2 }; + static const uint8_t decomposed[] = { 0x69 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint8_t input[] = { 0xEF, 0xB8, 0xB5 }; + static const uint8_t decomposed[] = { 0x28 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint8_t input[] = { 0xEF, 0xBC, 0xA1 }; + static const uint8_t decomposed[] = { 0x41 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint8_t input[] = { 0xEF, 0xBD, 0xA4 }; + static const uint8_t decomposed[] = { 0xE3, 0x80, 0x81 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint8_t input[] = { 0xEF, 0xB9, 0x91 }; + static const uint8_t decomposed[] = { 0xE3, 0x80, 0x81 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* SQUARE MHZ */ + static const uint8_t input[] = { 0xE3, 0x8E, 0x92 }; + static const uint8_t decomposed[] = { 0x4D, 0x48, 0x7A }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint8_t input[] = { 0xE2, 0x85, 0x9C }; + static const uint8_t decomposed[] = { 0x33, 0xE2, 0x81, 0x84, 0x38 }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* MICRO SIGN */ + static const uint8_t input[] = { 0xC2, 0xB5 }; + static const uint8_t decomposed[] = { 0xCE, 0xBC }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint8_t input[] = { 0xEF, 0xB7, 0xBA }; + static const uint8_t decomposed[] = + { 0xD8, 0xB5, 0xD9, 0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, + 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9, 0x84, 0xD9, 0x8A, 0xD9, 0x87, + 0x20, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85 + }; + ASSERT (check (input, SIZEOF (input), decomposed, SIZEOF (decomposed)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), decomposed, SIZEOF (decomposed)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint8_t input[] = { 0xEA, 0xB8, 0x80 }; + static const uint8_t decomposed[] = + { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3, 0xE1, 0x86, 0xAF }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint8_t input[] = { 0xEA, 0xB7, 0xB8 }; + static const uint8_t decomposed[] = { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint8_t input[] = + { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', + ' ', 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, + 0x81, 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, + 0xD1, 0x82, 0xD0, 0xB5, '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, + 's', 'q', 'r', 't', '(', 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', + '/', '(', '2', 'a', ')', ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, + 0xE8, 0xAA, 0x9E, ',', 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, + 0xEA, 0xB8, 0x80, '\n' + }; + static const uint8_t decomposed[] = + { 'G', 'r', 0x75, 0xCC, 0x88, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', + ' ', 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, + 0x81, 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB8, 0xCC, 0x86, + 0xD1, 0x82, 0xD0, 0xB5, '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, + 's', 'q', 'r', 't', '(', 'b', 0x32, '-', '4', 'a', 'c', ')', ')', + '/', '(', '2', 'a', ')', ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, + 0xE8, 0xAA, 0x9E, ',', 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0xE1, 0x86, 0xAB, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3, 0xE1, 0x86, 0xAF, '\n' + }; + static const uint8_t expected[] = + { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', + ' ', 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, + 0x81, 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, + 0xD1, 0x82, 0xD0, 0xB5, '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, + 's', 'q', 'r', 't', '(', 'b', 0x32, '-', '4', 'a', 'c', ')', ')', + '/', '(', '2', 'a', ')', ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, + 0xE8, 0xAA, 0x9E, ',', 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, + 0xEA, 0xB8, 0x80, '\n' + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), expected, SIZEOF (expected)) == 0); + ASSERT (check (expected, SIZEOF (expected), expected, SIZEOF (expected)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint8_t *input = (uint8_t *) malloc (2 * (2 * m - 1) * sizeof (uint8_t)); + if (input != NULL) + { + uint8_t *expected = input + (2 * m - 1); + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint8_t *p; + size_t i; + + input[0] = 0x41; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + break; + + case 1: + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + *p++ = 0xCC; + *p++ = 0x80; + } + for (; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + break; + + default: + abort (); + } + + expected[0] = 0xC3; + expected[1] = 0x80; + p = expected + 2; + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + for (i = 0; i < m2 - 1; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + + for (; repeat > 0; repeat--) + { + ASSERT (check (input, 2 * m - 1, expected, 2 * m - 2) == 0); + ASSERT (check (expected, 2 * m - 2, expected, 2 * m - 2) == 0); + } + + free (input); + } + } + } +} + +#else + +void +test_u8_nfkc (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u8-nfkd.c b/tests/uninorm/test-u8-nfkd.c new file mode 100644 index 00000000..2d883a05 --- /dev/null +++ b/tests/uninorm/test-u8-nfkd.c @@ -0,0 +1,379 @@ +/* Test of compatibility decomposition of UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#if GNULIB_UNINORM_U8_NORMALIZE + +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static int +check (const uint8_t *input, size_t input_length, + const uint8_t *expected, size_t expected_length) +{ + size_t length; + uint8_t *result; + + /* Test return conventions with resultbuf == NULL. */ + result = u8_normalize (UNINORM_NFKD, input, input_length, NULL, &length); + if (!(result != NULL)) + return 1; + if (!(length == expected_length)) + return 2; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 3; + free (result); + + /* Test return conventions with resultbuf too small. */ + if (expected_length > 0) + { + uint8_t *preallocated; + + length = expected_length - 1; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_normalize (UNINORM_NFKD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 4; + if (!(result != preallocated)) + return 5; + if (!(length == expected_length)) + return 6; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 7; + free (result); + free (preallocated); + } + + /* Test return conventions with resultbuf large enough. */ + { + uint8_t *preallocated; + + length = expected_length; + preallocated = (uint8_t *) malloc (length * sizeof (uint8_t)); + result = u8_normalize (UNINORM_NFKD, input, input_length, preallocated, &length); + if (!(result != NULL)) + return 8; + if (!(preallocated == NULL || result == preallocated)) + return 9; + if (!(length == expected_length)) + return 10; + if (!(u8_cmp (result, expected, expected_length) == 0)) + return 11; + free (preallocated); + } + + return 0; +} + +void +test_u8_nfkd (void) +{ + { /* Empty string. */ + ASSERT (check (NULL, 0, NULL, 0) == 0); + } + { /* SPACE */ + static const uint8_t input[] = { 0x20 }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint8_t input[] = { 0xC3, 0x84 }; + static const uint8_t expected[] = { 0x41, 0xCC, 0x88 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint8_t input[] = { 0xC7, 0x9E }; + static const uint8_t expected[] = { 0x41, 0xCC, 0x88, 0xCC, 0x84 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint8_t input[] = { 0xE1, 0xBF, 0x81 }; + static const uint8_t expected[] = { 0x20, 0xCC, 0x88, 0xCD, 0x82 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SCRIPT SMALL L */ + static const uint8_t input[] = { 0xE2, 0x84, 0x93 }; + static const uint8_t expected[] = { 0x6C }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* NO-BREAK SPACE */ + static const uint8_t input[] = { 0xC2, 0xA0 }; + static const uint8_t expected[] = { 0x20 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH INITIAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAC }; + static const uint8_t expected[] = { 0xDA, 0xA4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH MEDIAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAD }; + static const uint8_t expected[] = { 0xDA, 0xA4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH FINAL FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAB }; + static const uint8_t expected[] = { 0xDA, 0xA4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LETTER VEH ISOLATED FORM */ + static const uint8_t input[] = { 0xEF, 0xAD, 0xAA }; + static const uint8_t expected[] = { 0xDA, 0xA4 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* CIRCLED NUMBER FIFTEEN */ + static const uint8_t input[] = { 0xE2, 0x91, 0xAE }; + static const uint8_t expected[] = { 0x31, 0x35 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* TRADE MARK SIGN */ + static const uint8_t input[] = { 0xE2, 0x84, 0xA2 }; + static const uint8_t expected[] = { 0x54, 0x4D }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* LATIN SUBSCRIPT SMALL LETTER I */ + static const uint8_t input[] = { 0xE1, 0xB5, 0xA2 }; + static const uint8_t expected[] = { 0x69 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */ + static const uint8_t input[] = { 0xEF, 0xB8, 0xB5 }; + static const uint8_t expected[] = { 0x28 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* FULLWIDTH LATIN CAPITAL LETTER A */ + static const uint8_t input[] = { 0xEF, 0xBC, 0xA1 }; + static const uint8_t expected[] = { 0x41 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HALFWIDTH IDEOGRAPHIC COMMA */ + static const uint8_t input[] = { 0xEF, 0xBD, 0xA4 }; + static const uint8_t expected[] = { 0xE3, 0x80, 0x81 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SMALL IDEOGRAPHIC COMMA */ + static const uint8_t input[] = { 0xEF, 0xB9, 0x91 }; + static const uint8_t expected[] = { 0xE3, 0x80, 0x81 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* SQUARE MHZ */ + static const uint8_t input[] = { 0xE3, 0x8E, 0x92 }; + static const uint8_t expected[] = { 0x4D, 0x48, 0x7A }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* VULGAR FRACTION THREE EIGHTHS */ + static const uint8_t input[] = { 0xE2, 0x85, 0x9C }; + static const uint8_t expected[] = { 0x33, 0xE2, 0x81, 0x84, 0x38 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* MICRO SIGN */ + static const uint8_t input[] = { 0xC2, 0xB5 }; + static const uint8_t expected[] = { 0xCE, 0xBC }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */ + static const uint8_t input[] = { 0xEF, 0xB7, 0xBA }; + static const uint8_t expected[] = + { 0xD8, 0xB5, 0xD9, 0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, + 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9, 0x84, 0xD9, 0x8A, 0xD9, 0x87, + 0x20, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85 + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HANGUL SYLLABLE GEUL */ + static const uint8_t input[] = { 0xEA, 0xB8, 0x80 }; + static const uint8_t expected[] = + { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3, 0xE1, 0x86, 0xAF }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* HANGUL SYLLABLE GEU */ + static const uint8_t input[] = { 0xEA, 0xB7, 0xB8 }; + static const uint8_t expected[] = { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3 }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint8_t input[] = + { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', + ' ', 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, + 0x81, 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, + 0xD1, 0x82, 0xD0, 0xB5, '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, + 's', 'q', 'r', 't', '(', 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', + '/', '(', '2', 'a', ')', ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, + 0xE8, 0xAA, 0x9E, ',', 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xED, 0x95, 0x9C, + 0xEA, 0xB8, 0x80, '\n' + }; + static const uint8_t expected[] = + { 'G', 'r', 0x75, 0xCC, 0x88, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', + ' ', 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, + 0x81, 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB8, 0xCC, 0x86, + 0xD1, 0x82, 0xD0, 0xB5, '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, + 's', 'q', 'r', 't', '(', 'b', 0x32, '-', '4', 'a', 'c', ')', ')', + '/', '(', '2', 'a', ')', ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, + 0xE8, 0xAA, 0x9E, ',', 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', + 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0xE1, 0x86, 0xAB, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3, 0xE1, 0x86, 0xAF, '\n' + }; + ASSERT (check (input, SIZEOF (input), expected, SIZEOF (expected)) == 0); + } + +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + signal (SIGALRM, SIG_DFL); + alarm (50); +#endif + + /* Check that the sorting is not O(n²) but O(n log n). */ + { + int pass; + for (pass = 0; pass < 3; pass++) + { + size_t repeat = 1; + size_t m = 100000; + uint8_t *input = (uint8_t *) malloc (2 * (2 * m - 1) * sizeof (uint8_t)); + if (input != NULL) + { + uint8_t *expected = input + (2 * m - 1); + size_t m1 = m / 2; + size_t m2 = (m - 1) / 2; + /* NB: m1 + m2 == m - 1. */ + uint8_t *p; + size_t i; + + input[0] = 0x41; + p = input + 1; + switch (pass) + { + case 0: + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + break; + + case 1: + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + break; + + case 2: + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + *p++ = 0xCC; + *p++ = 0x80; + } + for (; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + break; + + default: + abort (); + } + + expected[0] = 0x41; + p = expected + 1; + for (i = 0; i < m1; i++) + { + *p++ = 0xCC; + *p++ = 0x99; + } + for (i = 0; i < m2; i++) + { + *p++ = 0xCC; + *p++ = 0x80; + } + + for (; repeat > 0; repeat--) + ASSERT (check (input, 2 * m - 1, expected, 2 * m - 1) == 0); + + free (input); + } + } + } +} + +#else + +void +test_u8_nfkd (void) +{ +} + +#endif diff --git a/tests/uninorm/test-u8-normcmp.c b/tests/uninorm/test-u8-normcmp.c new file mode 100644 index 00000000..ec479472 --- /dev/null +++ b/tests/uninorm/test-u8-normcmp.c @@ -0,0 +1,130 @@ +/* Test of normalization insensitive comparison of UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u8-normcmp.h" + +static void +test_nonascii (int (*my_normcmp) (const uint8_t *, size_t, const uint8_t *, size_t, uninorm_t, int *)) +{ + /* Normalization effects. */ + { + static const uint8_t input1[] = { 'H', 0xC3, 0xB6, 'h', 'l', 'e' }; + static const uint8_t input2[] = { 'H', 'o', 0xCC, 0x88, 'h', 'l', 'e' }; + static const uint8_t input3[] = { 'H', 0xC3, 0xB6, 'h', 'l', 'e', 'n' }; + static const uint8_t input4[] = { 'H', 'o', 0xCC, 0x88, 'h', 'l', 'e', 'n' }; + static const uint8_t input5[] = { 'H', 'u', 'r', 'z' }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input1, SIZEOF (input1), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input3, SIZEOF (input3), input4, SIZEOF (input4), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input4, SIZEOF (input4), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input1, SIZEOF (input1), input4, SIZEOF (input4), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input1, SIZEOF (input1), input5, SIZEOF (input5), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input5, SIZEOF (input5), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == -1); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + static const uint8_t input1[] = { 0xC3, 0x84 }; + static const uint8_t input2[] = { 0x41, 0xCC, 0x88 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + static const uint8_t input1[] = { 0xC7, 0x9E }; + static const uint8_t input2[] = { 0x41, 0xCC, 0x88, 0xCC, 0x84 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* GREEK DIALYTIKA AND PERISPOMENI */ + static const uint8_t input1[] = { 0xE1, 0xBF, 0x81 }; + static const uint8_t input2[] = { 0xC2, 0xA8, 0xCD, 0x82 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEUL */ + static const uint8_t input1[] = { 0xEA, 0xB8, 0x80 }; + static const uint8_t input2[] = { 0xEA, 0xB7, 0xB8, 0xE1, 0x86, 0xAF }; + static const uint8_t input3[] = { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3, 0xE1, 0x86, 0xAF }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + + ASSERT (my_normcmp (input1, SIZEOF (input1), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } + { /* HANGUL SYLLABLE GEU */ + static const uint8_t input1[] = { 0xEA, 0xB7, 0xB8 }; + static const uint8_t input2[] = { 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xB3 }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0); + ASSERT (cmp == 0); + } +} + +int +main () +{ + test_ascii (u8_normcmp, UNINORM_NFD); + test_nonascii (u8_normcmp); + + return 0; +} diff --git a/tests/uninorm/test-u8-normcmp.h b/tests/uninorm/test-u8-normcmp.h new file mode 100644 index 00000000..78c887d2 --- /dev/null +++ b/tests/uninorm/test-u8-normcmp.h @@ -0,0 +1,69 @@ +/* Test of normalization insensitive comparison of UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +static void +test_ascii (int (*my_normcmp) (const uint8_t *, size_t, const uint8_t *, size_t, uninorm_t, int *), + uninorm_t nf) +{ + /* Empty string. */ + { + int cmp; + + ASSERT (my_normcmp (NULL, 0, NULL, 0, nf, &cmp) == 0); + ASSERT (cmp == 0); + } + { + static const uint8_t input[] = { 'x', 'y' }; + int cmp; + + ASSERT (my_normcmp (input, SIZEOF (input), NULL, 0, nf, &cmp) == 0); + ASSERT (cmp == 1); + + ASSERT (my_normcmp (NULL, 0, input, SIZEOF (input), nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input, SIZEOF (input), input, SIZEOF (input), nf, &cmp) == 0); + ASSERT (cmp == 0); + } + + /* Normal lexicographic order. */ + { + static const uint8_t input1[] = { 'A', 'm', 'e', 'r', 'i', 'c', 'a' }; + static const uint8_t input2[] = { 'A', 'm', 'i', 'g', 'o' }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input1, SIZEOF (input1), nf, &cmp) == 0); + ASSERT (cmp == 1); + } + + /* Shorter and longer strings. */ + { + static const uint8_t input1[] = { 'R', 'e', 'a', 'g', 'a', 'n' }; + static const uint8_t input2[] = { 'R', 'e', 'a', 'g', 'a', 'n', 'o', 'm', 'i', 'c', 's' }; + int cmp; + + ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), nf, &cmp) == 0); + ASSERT (cmp == -1); + + ASSERT (my_normcmp (input2, SIZEOF (input2), input1, SIZEOF (input1), nf, &cmp) == 0); + ASSERT (cmp == 1); + } +} diff --git a/tests/uninorm/test-u8-normcoll.c b/tests/uninorm/test-u8-normcoll.c new file mode 100644 index 00000000..edf91720 --- /dev/null +++ b/tests/uninorm/test-u8-normcoll.c @@ -0,0 +1,49 @@ +/* Test of locale dependent, normalization insensitive comparison of + UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u8-normcmp.h" +int +main () +{ + /* In the "C" locale, strcoll is equivalent to strcmp, therefore u8_normcoll + on ASCII strings should behave like strcmp as well. */ + test_ascii (u8_normcoll, UNINORM_NFC); + + return 0; +} diff --git a/tests/uninorm/test-uninorm-filter-nfc.c b/tests/uninorm/test-uninorm-filter-nfc.c new file mode 100644 index 00000000..32b77efa --- /dev/null +++ b/tests/uninorm/test-uninorm-filter-nfc.c @@ -0,0 +1,122 @@ +/* Test of canonical normalization of streams. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* A stream of Unicode characters that simply accumulates the contents. */ + +struct accumulator +{ + uint32_t *result; + size_t length; + size_t allocated; +}; + +static int +write_to_accumulator (void *stream_data, ucs4_t uc) +{ + struct accumulator *accu = (struct accumulator *) stream_data; + + if (accu->length == accu->allocated) + { + accu->allocated = 2 * accu->allocated + 1; + accu->result = (uint32_t *) realloc (accu->result, accu->allocated * sizeof (uint32_t)); + } + accu->result[accu->length] = uc; + accu->length++; + return 0; +} + +static int +check (const uint32_t *input, size_t input_length, + const uint32_t *expected, size_t expected_length) +{ + struct accumulator accu; + struct uninorm_filter *filter; + size_t i; + + accu.result = NULL; + accu.length = 0; + accu.allocated = 0; + + filter = uninorm_filter_create (UNINORM_NFC, write_to_accumulator, &accu); + ASSERT (filter != NULL); + + for (i = 0; i < input_length; i++) + ASSERT (uninorm_filter_write (filter, input[i]) == 0); + + ASSERT (uninorm_filter_free (filter) == 0); + + if (!(accu.result != NULL)) + return 1; + if (!(accu.length == expected_length)) + return 2; + if (!(u32_cmp (accu.result, expected, expected_length) == 0)) + return 3; + free (accu.result); + + return 0; +} + +int +main () +{ + { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + static const uint32_t input[] = + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + static const uint32_t decomposed[] = + { 'G', 'r', 0x0075, 0x0308, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0438, 0x0306, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', + 0x1112, 0x1161, 0x11AB, 0x1100, 0x1173, 0x11AF, '\n' + }; + ASSERT (check (input, SIZEOF (input), input, SIZEOF (input)) == 0); + ASSERT (check (decomposed, SIZEOF (decomposed), input, SIZEOF (input)) == 0); + } + + return 0; +} diff --git a/tests/unistdio/test-u16-asnprintf1.c b/tests/unistdio/test-u16-asnprintf1.c new file mode 100644 index 00000000..53fedf34 --- /dev/null +++ b/tests/unistdio/test-u16-asnprintf1.c @@ -0,0 +1,59 @@ +/* Test of u16_asnprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u16-asnprintf1.h" + +static void +test_asnprintf () +{ + test_function (u16_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + test_asnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u16-asnprintf1.h b/tests/unistdio/test-u16-asnprintf1.h new file mode 100644 index 00000000..34d4f821 --- /dev/null +++ b/tests/unistdio/test-u16-asnprintf1.h @@ -0,0 +1,60 @@ +/* Test of u16_[v]asnprintf() function. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +static void +test_function (uint16_t * (*my_asnprintf) (uint16_t *, size_t *, const char *, ...)) +{ + uint16_t buf[8]; + int size; + + /* Test return value convention. */ + + for (size = 0; size <= 8; size++) + { + size_t length = size; + uint16_t *result = my_asnprintf (NULL, &length, "%d", 12345); + static const uint16_t expected[] = + { '1', '2', '3', '4', '5', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + ASSERT (length == 5); + free (result); + } + + for (size = 0; size <= 8; size++) + { + static const uint16_t initializer[] = + { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F', 0 }; + static const uint16_t expected[] = + { '1', '2', '3', '4', '5', 0 }; + size_t length; + uint16_t *result; + + u16_cpy (buf, initializer, 8); + length = size; + result = my_asnprintf (buf, &length, "%d", 12345); + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + ASSERT (length == 5); + if (size < 6) + ASSERT (result != buf); + ASSERT (u16_cmp (buf + size, initializer + size, 8 - size) == 0); + if (result != buf) + free (result); + } +} diff --git a/tests/unistdio/test-u16-printf1.h b/tests/unistdio/test-u16-printf1.h new file mode 100644 index 00000000..199ece90 --- /dev/null +++ b/tests/unistdio/test-u16-printf1.h @@ -0,0 +1,941 @@ +/* Test of u16_v[a]s[n]printf() function. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +static void +test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...)) +{ + /* Test support of size specifiers as in C99. */ + + { + uint16_t *result = + my_xasprintf ("%ju %d", (uintmax_t) 12345671, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '3', '4', '5', '6', '7', '1', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { + uint16_t *result = + my_xasprintf ("%zu %d", (size_t) 12345672, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '3', '4', '5', '6', '7', '2', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { + uint16_t *result = + my_xasprintf ("%tu %d", (ptrdiff_t) 12345673, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '3', '4', '5', '6', '7', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { + uint16_t *result = + my_xasprintf ("%Lg %d", (long double) 1.5, 33, 44, 55); + static const uint16_t expected[] = + { '1', '.', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the 'U' conversion specifier for Unicode strings. */ + + { + static const uint8_t unicode_string[] = "Hello"; + { + uint16_t *result = + my_xasprintf ("%U %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint16_t *result = + my_xasprintf ("%10U %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint16_t *result = + my_xasprintf ("%-10U %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint16_t *result = + my_xasprintf ("%010U %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint16_t unicode_string[] = { 'H', 'e', 'l', 'l', 'o', 0 }; + { + uint16_t *result = + my_xasprintf ("%lU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint16_t *result = + my_xasprintf ("%10lU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint16_t *result = + my_xasprintf ("%-10lU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint16_t *result = + my_xasprintf ("%010lU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint32_t unicode_string[] = { 'H', 'e', 'l', 'l', 'o', 0 }; + { + uint16_t *result = + my_xasprintf ("%llU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint16_t *result = + my_xasprintf ("%10llU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint16_t *result = + my_xasprintf ("%-10llU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint16_t *result = + my_xasprintf ("%010llU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + } + + /* Test the support of the 's' conversion specifier for strings. */ + + { + uint16_t *result = + my_xasprintf ("Mr. %s %d", "Ronald Reagan", 33, 44, 55); + static const uint16_t expected[] = + { 'M', 'r', '.', ' ', 'R', 'o', 'n', 'a', 'l', 'd', + ' ', 'R', 'e', 'a', 'g', 'a', 'n', ' ', '3', '3', + 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint16_t *result = + my_xasprintf ("Mr. %20s %d", "Ronald Reagan", 33, 44, 55); + static const uint16_t expected[] = + { 'M', 'r', '.', ' ', ' ', ' ', ' ', ' ', ' ', ' ', + ' ', 'R', 'o', 'n', 'a', 'l', 'd', ' ', 'R', 'e', + 'a', 'g', 'a', 'n', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* FLAG_LEFT. */ + uint16_t *result = + my_xasprintf ("Mr. %-20s %d", "Ronald Reagan", 33, 44, 55); + static const uint16_t expected[] = + { 'M', 'r', '.', ' ', 'R', 'o', 'n', 'a', 'l', 'd', + ' ', 'R', 'e', 'a', 'g', 'a', 'n', ' ', ' ', ' ', + ' ', ' ', ' ', ' ', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* FLAG_ZERO: no effect. */ + uint16_t *result = + my_xasprintf ("Mr. %020s %d", "Ronald Reagan", 33, 44, 55); + static const uint16_t expected[] = + { 'M', 'r', '.', ' ', ' ', ' ', ' ', ' ', ' ', ' ', + ' ', 'R', 'o', 'n', 'a', 'l', 'd', ' ', 'R', 'e', + 'a', 'g', 'a', 'n', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the 'a' and 'A' conversion specifier for hexadecimal + output of floating-point numbers. */ + + { /* A positive number. */ + uint16_t *result = + my_xasprintf ("%a %d", 3.1416015625, 33, 44, 55); + static const uint16_t expected1[] = + { '0', 'x', '1', '.', '9', '2', '2', 'p', '+', '1', ' ', '3', '3', 0 }; + static const uint16_t expected2[] = + { '0', 'x', '3', '.', '2', '4', '4', 'p', '+', '0', ' ', '3', '3', 0 }; + static const uint16_t expected3[] = + { '0', 'x', '6', '.', '4', '8', '8', 'p', '-', '1', ' ', '3', '3', 0 }; + static const uint16_t expected4[] = + { '0', 'x', 'c', '.', '9', '1', 'p', '-', '2', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0 + || u16_strcmp (result, expected3) == 0 + || u16_strcmp (result, expected4) == 0); + free (result); + } + + { /* Width. */ + uint16_t *result = + my_xasprintf ("%10a %d", 1.75, 33, 44, 55); + static const uint16_t expected1[] = + { ' ', ' ', '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', '3', '3', 0 }; + static const uint16_t expected2[] = + { ' ', ' ', '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', '3', '3', 0 }; + static const uint16_t expected3[] = + { ' ', ' ', ' ', ' ', '0', 'x', '7', 'p', '-', '2', ' ', '3', '3', 0 }; + static const uint16_t expected4[] = + { ' ', ' ', ' ', ' ', '0', 'x', 'e', 'p', '-', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0 + || u16_strcmp (result, expected3) == 0 + || u16_strcmp (result, expected4) == 0); + free (result); + } + + { /* Small precision. */ + uint16_t *result = + my_xasprintf ("%.10a %d", 1.75, 33, 44, 55); + static const uint16_t expected1[] = + { '0', 'x', '1', '.', 'c', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '+', '0', ' ', '3', '3', + 0 + }; + static const uint16_t expected2[] = + { '0', 'x', '3', '.', '8', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '1', ' ', '3', '3', + 0 + }; + static const uint16_t expected3[] = + { '0', 'x', '7', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '2', ' ', '3', '3', + 0 + }; + static const uint16_t expected4[] = + { '0', 'x', 'e', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '3', ' ', '3', '3', + 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0 + || u16_strcmp (result, expected3) == 0 + || u16_strcmp (result, expected4) == 0); + free (result); + } + + { /* Large precision. */ + uint16_t *result = + my_xasprintf ("%.50a %d", 1.75, 33, 44, 55); + static const uint16_t expected1[] = + { '0', 'x', '1', '.', 'c', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '+', '0', ' ', '3', '3', + 0 + }; + static const uint16_t expected2[] = + { '0', 'x', '3', '.', '8', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '1', ' ', '3', '3', + 0 + }; + static const uint16_t expected3[] = + { '0', 'x', '7', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '2', ' ', '3', '3', + 0 + }; + static const uint16_t expected4[] = + { '0', 'x', 'e', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '3', ' ', '3', '3', + 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0 + || u16_strcmp (result, expected3) == 0 + || u16_strcmp (result, expected4) == 0); + free (result); + } + + { /* A positive number. */ + uint16_t *result = + my_xasprintf ("%La %d", 3.1416015625L, 33, 44, 55); + static const uint16_t expected1[] = + { '0', 'x', '1', '.', '9', '2', '2', 'p', '+', '1', + ' ', '3', '3', 0 + }; + static const uint16_t expected2[] = + { '0', 'x', '3', '.', '2', '4', '4', 'p', '+', '0', + ' ', '3', '3', 0 + }; + static const uint16_t expected3[] = + { '0', 'x', '6', '.', '4', '8', '8', 'p', '-', '1', + ' ', '3', '3', 0 + }; + static const uint16_t expected4[] = + { '0', 'x', 'c', '.', '9', '1', 'p', '-', '2', ' ', + '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0 + || u16_strcmp (result, expected3) == 0 + || u16_strcmp (result, expected4) == 0); + free (result); + } + + { /* Width. */ + uint16_t *result = + my_xasprintf ("%10La %d", 1.75L, 33, 44, 55); + static const uint16_t expected1[] = + { ' ', ' ', '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', '3', '3', 0 }; + static const uint16_t expected2[] = + { ' ', ' ', '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', '3', '3', 0 }; + static const uint16_t expected3[] = + { ' ', ' ', ' ', ' ', '0', 'x', '7', 'p', '-', '2', ' ', '3', '3', 0 }; + static const uint16_t expected4[] = + { ' ', ' ', ' ', ' ', '0', 'x', 'e', 'p', '-', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0 + || u16_strcmp (result, expected3) == 0 + || u16_strcmp (result, expected4) == 0); + free (result); + } + + { /* Small precision. */ + uint16_t *result = + my_xasprintf ("%.10La %d", 1.75L, 33, 44, 55); + static const uint16_t expected1[] = + { '0', 'x', '1', '.', 'c', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '+', '0', ' ', '3', '3', + 0 + }; + static const uint16_t expected2[] = + { '0', 'x', '3', '.', '8', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '1', ' ', '3', '3', + 0 + }; + static const uint16_t expected3[] = + { '0', 'x', '7', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '2', ' ', '3', '3', + 0 + }; + static const uint16_t expected4[] = + { '0', 'x', 'e', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '3', ' ', '3', '3', + 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0 + || u16_strcmp (result, expected3) == 0 + || u16_strcmp (result, expected4) == 0); + free (result); + } + + { /* Large precision. */ + uint16_t *result = + my_xasprintf ("%.50La %d", 1.75L, 33, 44, 55); + static const uint16_t expected1[] = + { '0', 'x', '1', '.', 'c', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '+', '0', ' ', '3', '3', + 0 + }; + static const uint16_t expected2[] = + { '0', 'x', '3', '.', '8', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '1', ' ', '3', '3', + 0 + }; + static const uint16_t expected3[] = + { '0', 'x', '7', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '2', ' ', '3', '3', + 0 + }; + static const uint16_t expected4[] = + { '0', 'x', 'e', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '3', ' ', '3', '3', + 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0 + || u16_strcmp (result, expected3) == 0 + || u16_strcmp (result, expected4) == 0); + free (result); + } + + /* Test the support of the %f format directive. */ + + { /* A positive number. */ + uint16_t *result = + my_xasprintf ("%f %d", 12.75, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint16_t *result = + my_xasprintf ("%10f %d", 1.75, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint16_t *result = + my_xasprintf ("%.f %d", 1234.0, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '3', '4', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* A positive number. */ + uint16_t *result = + my_xasprintf ("%Lf %d", 12.75L, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint16_t *result = + my_xasprintf ("%10Lf %d", 1.75L, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint16_t *result = + my_xasprintf ("%.Lf %d", 1234.0L, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '3', '4', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %F format directive. */ + + { /* A positive number. */ + uint16_t *result = + my_xasprintf ("%F %d", 12.75, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint16_t *result = + my_xasprintf ("%.F %d", 1234.0, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '3', '4', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* A positive number. */ + uint16_t *result = + my_xasprintf ("%LF %d", 12.75L, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint16_t *result = + my_xasprintf ("%.LF %d", 1234.0L, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '3', '4', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %e format directive. */ + + { /* A positive number. */ + uint16_t *result = + my_xasprintf ("%e %d", 12.75, 33, 44, 55); + static const uint16_t expected1[] = + { '1', '.', '2', '7', '5', '0', '0', '0', 'e', '+', + '0', '1', ' ', '3', '3', 0 + }; + static const uint16_t expected2[] = + { '1', '.', '2', '7', '5', '0', '0', '0', 'e', '+', + '0', '0', '1', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0); + free (result); + } + + { /* Width. */ + uint16_t *result = + my_xasprintf ("%15e %d", 1.75, 33, 44, 55); + static const uint16_t expected1[] = + { ' ', ' ', ' ', '1', '.', '7', '5', '0', '0', '0', + '0', 'e', '+', '0', '0', ' ', '3', '3', 0 + }; + static const uint16_t expected2[] = + { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0', + 'e', '+', '0', '0', '0', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0); + free (result); + } + + { /* Precision. */ + uint16_t *result = + my_xasprintf ("%.e %d", 1234.0, 33, 44, 55); + static const uint16_t expected1[] = + { '1', 'e', '+', '0', '3', ' ', '3', '3', 0 }; + static const uint16_t expected2[] = + { '1', 'e', '+', '0', '0', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0); + free (result); + } + + { /* A positive number. */ + uint16_t *result = + my_xasprintf ("%Le %d", 12.75L, 33, 44, 55); + static const uint16_t expected[] = + { '1', '.', '2', '7', '5', '0', '0', '0', 'e', '+', + '0', '1', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint16_t *result = + my_xasprintf ("%15Le %d", 1.75L, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', '1', '.', '7', '5', '0', '0', '0', + '0', 'e', '+', '0', '0', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint16_t *result = + my_xasprintf ("%.Le %d", 1234.0L, 33, 44, 55); + static const uint16_t expected[] = + { '1', 'e', '+', '0', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %g format directive. */ + + { /* A positive number. */ + uint16_t *result = + my_xasprintf ("%g %d", 12.75, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '.', '7', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint16_t *result = + my_xasprintf ("%10g %d", 1.75, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', ' ', '1', '.', '7', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint16_t *result = + my_xasprintf ("%.g %d", 1234.0, 33, 44, 55); + static const uint16_t expected1[] = + { '1', 'e', '+', '0', '3', ' ', '3', '3', 0 }; + static const uint16_t expected2[] = + { '1', 'e', '+', '0', '0', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected1) == 0 + || u16_strcmp (result, expected2) == 0); + free (result); + } + + { /* A positive number. */ + uint16_t *result = + my_xasprintf ("%Lg %d", 12.75L, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '.', '7', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint16_t *result = + my_xasprintf ("%10Lg %d", 1.75L, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', ' ', '1', '.', '7', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint16_t *result = + my_xasprintf ("%.Lg %d", 1234.0L, 33, 44, 55); + static const uint16_t expected[] = + { '1', 'e', '+', '0', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %n format directive. */ + + { + int count = -1; + uint16_t *result = + my_xasprintf ("%d %n", 123, &count, 33, 44, 55); + static const uint16_t expected[] = + { '1', '2', '3', ' ', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + ASSERT (count == 4); + free (result); + } + + /* Test the support of the POSIX/XSI format strings with positions. */ + + { + uint16_t *result = + my_xasprintf ("%2$d %1$d", 33, 55); + static const uint16_t expected[] = + { '5', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the grouping flag. */ + + { + uint16_t *result = + my_xasprintf ("%'d %d", 1234567, 99); + ASSERT (result != NULL); + ASSERT (result[u16_strlen (result) - 1] == '9'); + free (result); + } + + /* Test the support of the 'U' conversion specifier for Unicode strings. */ + + { + static const uint8_t unicode_string[] = "Rafa\305\202 Maszkowski"; /* Rafał Maszkowski */ + { + uint16_t *result = + my_xasprintf ("%U %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint16_t *result = + my_xasprintf ("%20U %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint16_t *result = + my_xasprintf ("%-20U %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint16_t *result = + my_xasprintf ("%020U %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint16_t unicode_string[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + { + uint16_t *result = + my_xasprintf ("%lU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint16_t *result = + my_xasprintf ("%20lU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint16_t *result = + my_xasprintf ("%-20lU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint16_t *result = + my_xasprintf ("%020lU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint32_t unicode_string[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + { + uint16_t *result = + my_xasprintf ("%llU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint16_t *result = + my_xasprintf ("%20llU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint16_t *result = + my_xasprintf ("%-20llU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint16_t *result = + my_xasprintf ("%020llU %d", unicode_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + free (result); + } + } + + /* Test non-ASCII characters in the format string. */ + + { + uint16_t *result = + my_xasprintf ("\304rger", 33, 44, 55); + ASSERT (result == NULL && errno == EINVAL); + } +} diff --git a/tests/unistdio/test-u16-vasnprintf1.c b/tests/unistdio/test-u16-vasnprintf1.c new file mode 100644 index 00000000..b236e3fe --- /dev/null +++ b/tests/unistdio/test-u16-vasnprintf1.c @@ -0,0 +1,88 @@ +/* Test of u16_vasnprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u16-asnprintf1.h" +#include "test-u16-printf1.h" + +static uint16_t * +my_asnprintf (uint16_t *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + uint16_t *ret; + + va_start (args, format); + ret = u16_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static uint16_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + size_t length; + uint16_t *ret; + + va_start (args, format); + ret = u16_vasnprintf (NULL, &length, format, args); + va_end (args); + if (ret != NULL) + ASSERT (length == u16_strlen (ret)); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u16-vasnprintf2.c b/tests/unistdio/test-u16-vasnprintf2.c new file mode 100644 index 00000000..6f7b7cf6 --- /dev/null +++ b/tests/unistdio/test-u16-vasnprintf2.c @@ -0,0 +1,132 @@ +/* Test of u16_vasnprintf() function in an ISO-8859-1 locale. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static void +test_function (uint16_t * (*my_asnprintf) (uint16_t *, size_t *, const char *, ...)) +{ + /* Test the support of the 's' conversion specifier for strings. */ + + { + const char *locale_string = "\304rger"; /* Ärger */ + { + size_t length; + uint16_t *result = + my_asnprintf (NULL, &length, "%s %d", locale_string, 33, 44, 55); + static const uint16_t expected[] = + { 0x00c4, 'r', 'g', 'e', 'r', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + ASSERT (length == u16_strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + uint16_t *result = + my_asnprintf (NULL, &length, "%10s %d", locale_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 0x00c4, 'r', 'g', 'e', 'r', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + ASSERT (length == u16_strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + uint16_t *result = + my_asnprintf (NULL, &length, "%-10s %d", locale_string, 33, 44, 55); + static const uint16_t expected[] = + { 0x00c4, 'r', 'g', 'e', 'r', ' ', ' ', ' ', ' ', ' ', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + ASSERT (length == u16_strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + uint16_t *result = + my_asnprintf (NULL, &length, "%010s %d", locale_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 0x00c4, 'r', 'g', 'e', 'r', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + ASSERT (length == u16_strlen (result)); + free (result); + } + } +} + +static uint16_t * +my_asnprintf (uint16_t *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + uint16_t *ret; + + va_start (args, format); + ret = u16_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u16-vasnprintf2.sh b/tests/unistdio/test-u16-vasnprintf2.sh new file mode 100755 index 00000000..418b8aac --- /dev/null +++ b/tests/unistdio/test-u16-vasnprintf2.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Test whether a traditional french locale is installed. +: ${LOCALE_FR=fr_FR} +if test $LOCALE_FR != none; then + testlocale=$LOCALE_FR +else + if test -f /usr/bin/localedef; then + echo "Skipping test: no traditional french locale is installed" + else + echo "Skipping test: no traditional french locale is supported" + fi + exit 77 +fi + +LC_ALL=$testlocale \ +./test-u16-vasnprintf1${EXEEXT} \ + || exit 1 + +LC_ALL=$testlocale \ +./test-u16-vasnprintf2${EXEEXT} diff --git a/tests/unistdio/test-u16-vasnprintf3.c b/tests/unistdio/test-u16-vasnprintf3.c new file mode 100644 index 00000000..14021819 --- /dev/null +++ b/tests/unistdio/test-u16-vasnprintf3.c @@ -0,0 +1,132 @@ +/* Test of u16_vasnprintf() function in an UTF-8 locale. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static void +test_function (uint16_t * (*my_asnprintf) (uint16_t *, size_t *, const char *, ...)) +{ + /* Test the support of the 's' conversion specifier for strings. */ + + { + const char *locale_string = "\303\204rger"; /* Ärger */ + { + size_t length; + uint16_t *result = + my_asnprintf (NULL, &length, "%s %d", locale_string, 33, 44, 55); + static const uint16_t expected[] = + { 0x00c4, 'r', 'g', 'e', 'r', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + ASSERT (length == u16_strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + uint16_t *result = + my_asnprintf (NULL, &length, "%10s %d", locale_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 0x00c4, 'r', 'g', 'e', 'r', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + ASSERT (length == u16_strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + uint16_t *result = + my_asnprintf (NULL, &length, "%-10s %d", locale_string, 33, 44, 55); + static const uint16_t expected[] = + { 0x00c4, 'r', 'g', 'e', 'r', ' ', ' ', ' ', ' ', ' ', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + ASSERT (length == u16_strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + uint16_t *result = + my_asnprintf (NULL, &length, "%010s %d", locale_string, 33, 44, 55); + static const uint16_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 0x00c4, 'r', 'g', 'e', 'r', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u16_strcmp (result, expected) == 0); + ASSERT (length == u16_strlen (result)); + free (result); + } + } +} + +static uint16_t * +my_asnprintf (uint16_t *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + uint16_t *ret; + + va_start (args, format); + ret = u16_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u16-vasnprintf3.sh b/tests/unistdio/test-u16-vasnprintf3.sh new file mode 100755 index 00000000..57488c06 --- /dev/null +++ b/tests/unistdio/test-u16-vasnprintf3.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Test whether a french Unicode locale is installed. +: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +if test $LOCALE_FR_UTF8 != none; then + testlocale=$LOCALE_FR_UTF8 +else + if test -f /usr/bin/localedef; then + echo "Skipping test: no french Unicode locale is installed" + else + echo "Skipping test: no french Unicode locale is supported" + fi + exit 77 +fi + +LC_ALL=$testlocale \ +./test-u16-vasnprintf1${EXEEXT} \ + || exit 1 + +LC_ALL=$testlocale \ +./test-u16-vasnprintf3${EXEEXT} diff --git a/tests/unistdio/test-u16-vasprintf1.c b/tests/unistdio/test-u16-vasprintf1.c new file mode 100644 index 00000000..8b961268 --- /dev/null +++ b/tests/unistdio/test-u16-vasprintf1.c @@ -0,0 +1,75 @@ +/* Test of u16_vasprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u16-printf1.h" + +static uint16_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + uint16_t *result; + int retval; + + va_start (args, format); + retval = u16_vasprintf (&result, format, args); + va_end (args); + if (retval < 0) + return NULL; + ASSERT (result != NULL); + return result; +} + +static void +test_vasprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + test_vasprintf (); + return 0; +} diff --git a/tests/unistdio/test-u16-vsnprintf1.c b/tests/unistdio/test-u16-vsnprintf1.c new file mode 100644 index 00000000..886e95b3 --- /dev/null +++ b/tests/unistdio/test-u16-vsnprintf1.c @@ -0,0 +1,84 @@ +/* Test of u16_vsnprintf() function. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" +#include "xalloc.h" +#include "progname.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u16-printf1.h" + +static uint16_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + uint16_t buf[1000]; + int retval; + size_t length; + uint16_t *result; + + va_start (args, format); + retval = u16_vsnprintf (buf, sizeof (buf), format, args); + va_end (args); + if (retval < 0 || retval >= (int) sizeof (buf)) + return NULL; + length = u16_strlen (buf); + result = XNMALLOC (length + 1, uint16_t); + u16_cpy (result, buf, length + 1); + return result; +} + +static void +test_vsnprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + set_program_name (argv[0]); + + test_vsnprintf (); + + return 0; +} diff --git a/tests/unistdio/test-u16-vsprintf1.c b/tests/unistdio/test-u16-vsprintf1.c new file mode 100644 index 00000000..e6b6eab7 --- /dev/null +++ b/tests/unistdio/test-u16-vsprintf1.c @@ -0,0 +1,84 @@ +/* Test of u16_vsprintf() function. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" +#include "xalloc.h" +#include "progname.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u16-printf1.h" + +static uint16_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + uint16_t buf[1000]; + int retval; + size_t length; + uint16_t *result; + + va_start (args, format); + retval = u16_vsprintf (buf, format, args); + va_end (args); + if (retval < 0 || retval >= (int) sizeof (buf)) + return NULL; + length = u16_strlen (buf); + result = XNMALLOC (length + 1, uint16_t); + u16_cpy (result, buf, length + 1); + return result; +} + +static void +test_vsprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + set_program_name (argv[0]); + + test_vsprintf (); + + return 0; +} diff --git a/tests/unistdio/test-u32-asnprintf1.c b/tests/unistdio/test-u32-asnprintf1.c new file mode 100644 index 00000000..252e919f --- /dev/null +++ b/tests/unistdio/test-u32-asnprintf1.c @@ -0,0 +1,59 @@ +/* Test of u32_asnprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u32-asnprintf1.h" + +static void +test_asnprintf () +{ + test_function (u32_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + test_asnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u32-asnprintf1.h b/tests/unistdio/test-u32-asnprintf1.h new file mode 100644 index 00000000..dfaed98d --- /dev/null +++ b/tests/unistdio/test-u32-asnprintf1.h @@ -0,0 +1,60 @@ +/* Test of u32_[v]asnprintf() function. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +static void +test_function (uint32_t * (*my_asnprintf) (uint32_t *, size_t *, const char *, ...)) +{ + uint32_t buf[8]; + int size; + + /* Test return value convention. */ + + for (size = 0; size <= 8; size++) + { + size_t length = size; + uint32_t *result = my_asnprintf (NULL, &length, "%d", 12345); + static const uint32_t expected[] = + { '1', '2', '3', '4', '5', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + ASSERT (length == 5); + free (result); + } + + for (size = 0; size <= 8; size++) + { + static const uint32_t initializer[] = + { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F', 0 }; + static const uint32_t expected[] = + { '1', '2', '3', '4', '5', 0 }; + size_t length; + uint32_t *result; + + u32_cpy (buf, initializer, 8); + length = size; + result = my_asnprintf (buf, &length, "%d", 12345); + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + ASSERT (length == 5); + if (size < 6) + ASSERT (result != buf); + ASSERT (u32_cmp (buf + size, initializer + size, 8 - size) == 0); + if (result != buf) + free (result); + } +} diff --git a/tests/unistdio/test-u32-printf1.h b/tests/unistdio/test-u32-printf1.h new file mode 100644 index 00000000..240232fd --- /dev/null +++ b/tests/unistdio/test-u32-printf1.h @@ -0,0 +1,941 @@ +/* Test of u32_v[a]s[n]printf() function. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +static void +test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...)) +{ + /* Test support of size specifiers as in C99. */ + + { + uint32_t *result = + my_xasprintf ("%ju %d", (uintmax_t) 12345671, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '3', '4', '5', '6', '7', '1', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { + uint32_t *result = + my_xasprintf ("%zu %d", (size_t) 12345672, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '3', '4', '5', '6', '7', '2', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { + uint32_t *result = + my_xasprintf ("%tu %d", (ptrdiff_t) 12345673, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '3', '4', '5', '6', '7', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { + uint32_t *result = + my_xasprintf ("%Lg %d", (long double) 1.5, 33, 44, 55); + static const uint32_t expected[] = + { '1', '.', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the 'U' conversion specifier for Unicode strings. */ + + { + static const uint8_t unicode_string[] = "Hello"; + { + uint32_t *result = + my_xasprintf ("%U %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint32_t *result = + my_xasprintf ("%10U %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint32_t *result = + my_xasprintf ("%-10U %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint32_t *result = + my_xasprintf ("%010U %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint16_t unicode_string[] = { 'H', 'e', 'l', 'l', 'o', 0 }; + { + uint32_t *result = + my_xasprintf ("%lU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint32_t *result = + my_xasprintf ("%10lU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint32_t *result = + my_xasprintf ("%-10lU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint32_t *result = + my_xasprintf ("%010lU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint32_t unicode_string[] = { 'H', 'e', 'l', 'l', 'o', 0 }; + { + uint32_t *result = + my_xasprintf ("%llU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint32_t *result = + my_xasprintf ("%10llU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint32_t *result = + my_xasprintf ("%-10llU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint32_t *result = + my_xasprintf ("%010llU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + } + + /* Test the support of the 's' conversion specifier for strings. */ + + { + uint32_t *result = + my_xasprintf ("Mr. %s %d", "Ronald Reagan", 33, 44, 55); + static const uint32_t expected[] = + { 'M', 'r', '.', ' ', 'R', 'o', 'n', 'a', 'l', 'd', + ' ', 'R', 'e', 'a', 'g', 'a', 'n', ' ', '3', '3', + 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint32_t *result = + my_xasprintf ("Mr. %20s %d", "Ronald Reagan", 33, 44, 55); + static const uint32_t expected[] = + { 'M', 'r', '.', ' ', ' ', ' ', ' ', ' ', ' ', ' ', + ' ', 'R', 'o', 'n', 'a', 'l', 'd', ' ', 'R', 'e', + 'a', 'g', 'a', 'n', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* FLAG_LEFT. */ + uint32_t *result = + my_xasprintf ("Mr. %-20s %d", "Ronald Reagan", 33, 44, 55); + static const uint32_t expected[] = + { 'M', 'r', '.', ' ', 'R', 'o', 'n', 'a', 'l', 'd', + ' ', 'R', 'e', 'a', 'g', 'a', 'n', ' ', ' ', ' ', + ' ', ' ', ' ', ' ', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* FLAG_ZERO: no effect. */ + uint32_t *result = + my_xasprintf ("Mr. %020s %d", "Ronald Reagan", 33, 44, 55); + static const uint32_t expected[] = + { 'M', 'r', '.', ' ', ' ', ' ', ' ', ' ', ' ', ' ', + ' ', 'R', 'o', 'n', 'a', 'l', 'd', ' ', 'R', 'e', + 'a', 'g', 'a', 'n', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the 'a' and 'A' conversion specifier for hexadecimal + output of floating-point numbers. */ + + { /* A positive number. */ + uint32_t *result = + my_xasprintf ("%a %d", 3.1416015625, 33, 44, 55); + static const uint32_t expected1[] = + { '0', 'x', '1', '.', '9', '2', '2', 'p', '+', '1', ' ', '3', '3', 0 }; + static const uint32_t expected2[] = + { '0', 'x', '3', '.', '2', '4', '4', 'p', '+', '0', ' ', '3', '3', 0 }; + static const uint32_t expected3[] = + { '0', 'x', '6', '.', '4', '8', '8', 'p', '-', '1', ' ', '3', '3', 0 }; + static const uint32_t expected4[] = + { '0', 'x', 'c', '.', '9', '1', 'p', '-', '2', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0 + || u32_strcmp (result, expected3) == 0 + || u32_strcmp (result, expected4) == 0); + free (result); + } + + { /* Width. */ + uint32_t *result = + my_xasprintf ("%10a %d", 1.75, 33, 44, 55); + static const uint32_t expected1[] = + { ' ', ' ', '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', '3', '3', 0 }; + static const uint32_t expected2[] = + { ' ', ' ', '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', '3', '3', 0 }; + static const uint32_t expected3[] = + { ' ', ' ', ' ', ' ', '0', 'x', '7', 'p', '-', '2', ' ', '3', '3', 0 }; + static const uint32_t expected4[] = + { ' ', ' ', ' ', ' ', '0', 'x', 'e', 'p', '-', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0 + || u32_strcmp (result, expected3) == 0 + || u32_strcmp (result, expected4) == 0); + free (result); + } + + { /* Small precision. */ + uint32_t *result = + my_xasprintf ("%.10a %d", 1.75, 33, 44, 55); + static const uint32_t expected1[] = + { '0', 'x', '1', '.', 'c', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '+', '0', ' ', '3', '3', + 0 + }; + static const uint32_t expected2[] = + { '0', 'x', '3', '.', '8', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '1', ' ', '3', '3', + 0 + }; + static const uint32_t expected3[] = + { '0', 'x', '7', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '2', ' ', '3', '3', + 0 + }; + static const uint32_t expected4[] = + { '0', 'x', 'e', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '3', ' ', '3', '3', + 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0 + || u32_strcmp (result, expected3) == 0 + || u32_strcmp (result, expected4) == 0); + free (result); + } + + { /* Large precision. */ + uint32_t *result = + my_xasprintf ("%.50a %d", 1.75, 33, 44, 55); + static const uint32_t expected1[] = + { '0', 'x', '1', '.', 'c', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '+', '0', ' ', '3', '3', + 0 + }; + static const uint32_t expected2[] = + { '0', 'x', '3', '.', '8', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '1', ' ', '3', '3', + 0 + }; + static const uint32_t expected3[] = + { '0', 'x', '7', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '2', ' ', '3', '3', + 0 + }; + static const uint32_t expected4[] = + { '0', 'x', 'e', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '3', ' ', '3', '3', + 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0 + || u32_strcmp (result, expected3) == 0 + || u32_strcmp (result, expected4) == 0); + free (result); + } + + { /* A positive number. */ + uint32_t *result = + my_xasprintf ("%La %d", 3.1416015625L, 33, 44, 55); + static const uint32_t expected1[] = + { '0', 'x', '1', '.', '9', '2', '2', 'p', '+', '1', + ' ', '3', '3', 0 + }; + static const uint32_t expected2[] = + { '0', 'x', '3', '.', '2', '4', '4', 'p', '+', '0', + ' ', '3', '3', 0 + }; + static const uint32_t expected3[] = + { '0', 'x', '6', '.', '4', '8', '8', 'p', '-', '1', + ' ', '3', '3', 0 + }; + static const uint32_t expected4[] = + { '0', 'x', 'c', '.', '9', '1', 'p', '-', '2', ' ', + '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0 + || u32_strcmp (result, expected3) == 0 + || u32_strcmp (result, expected4) == 0); + free (result); + } + + { /* Width. */ + uint32_t *result = + my_xasprintf ("%10La %d", 1.75L, 33, 44, 55); + static const uint32_t expected1[] = + { ' ', ' ', '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', '3', '3', 0 }; + static const uint32_t expected2[] = + { ' ', ' ', '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', '3', '3', 0 }; + static const uint32_t expected3[] = + { ' ', ' ', ' ', ' ', '0', 'x', '7', 'p', '-', '2', ' ', '3', '3', 0 }; + static const uint32_t expected4[] = + { ' ', ' ', ' ', ' ', '0', 'x', 'e', 'p', '-', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0 + || u32_strcmp (result, expected3) == 0 + || u32_strcmp (result, expected4) == 0); + free (result); + } + + { /* Small precision. */ + uint32_t *result = + my_xasprintf ("%.10La %d", 1.75L, 33, 44, 55); + static const uint32_t expected1[] = + { '0', 'x', '1', '.', 'c', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '+', '0', ' ', '3', '3', + 0 + }; + static const uint32_t expected2[] = + { '0', 'x', '3', '.', '8', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '1', ' ', '3', '3', + 0 + }; + static const uint32_t expected3[] = + { '0', 'x', '7', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '2', ' ', '3', '3', + 0 + }; + static const uint32_t expected4[] = + { '0', 'x', 'e', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '3', ' ', '3', '3', + 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0 + || u32_strcmp (result, expected3) == 0 + || u32_strcmp (result, expected4) == 0); + free (result); + } + + { /* Large precision. */ + uint32_t *result = + my_xasprintf ("%.50La %d", 1.75L, 33, 44, 55); + static const uint32_t expected1[] = + { '0', 'x', '1', '.', 'c', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '+', '0', ' ', '3', '3', + 0 + }; + static const uint32_t expected2[] = + { '0', 'x', '3', '.', '8', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '1', ' ', '3', '3', + 0 + }; + static const uint32_t expected3[] = + { '0', 'x', '7', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '2', ' ', '3', '3', + 0 + }; + static const uint32_t expected4[] = + { '0', 'x', 'e', '.', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', 'p', '-', '3', ' ', '3', '3', + 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0 + || u32_strcmp (result, expected3) == 0 + || u32_strcmp (result, expected4) == 0); + free (result); + } + + /* Test the support of the %f format directive. */ + + { /* A positive number. */ + uint32_t *result = + my_xasprintf ("%f %d", 12.75, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint32_t *result = + my_xasprintf ("%10f %d", 1.75, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint32_t *result = + my_xasprintf ("%.f %d", 1234.0, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '3', '4', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* A positive number. */ + uint32_t *result = + my_xasprintf ("%Lf %d", 12.75L, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint32_t *result = + my_xasprintf ("%10Lf %d", 1.75L, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint32_t *result = + my_xasprintf ("%.Lf %d", 1234.0L, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '3', '4', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %F format directive. */ + + { /* A positive number. */ + uint32_t *result = + my_xasprintf ("%F %d", 12.75, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint32_t *result = + my_xasprintf ("%.F %d", 1234.0, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '3', '4', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* A positive number. */ + uint32_t *result = + my_xasprintf ("%LF %d", 12.75L, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint32_t *result = + my_xasprintf ("%.LF %d", 1234.0L, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '3', '4', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %e format directive. */ + + { /* A positive number. */ + uint32_t *result = + my_xasprintf ("%e %d", 12.75, 33, 44, 55); + static const uint32_t expected1[] = + { '1', '.', '2', '7', '5', '0', '0', '0', 'e', '+', + '0', '1', ' ', '3', '3', 0 + }; + static const uint32_t expected2[] = + { '1', '.', '2', '7', '5', '0', '0', '0', 'e', '+', + '0', '0', '1', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0); + free (result); + } + + { /* Width. */ + uint32_t *result = + my_xasprintf ("%15e %d", 1.75, 33, 44, 55); + static const uint32_t expected1[] = + { ' ', ' ', ' ', '1', '.', '7', '5', '0', '0', '0', + '0', 'e', '+', '0', '0', ' ', '3', '3', 0 + }; + static const uint32_t expected2[] = + { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0', + 'e', '+', '0', '0', '0', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0); + free (result); + } + + { /* Precision. */ + uint32_t *result = + my_xasprintf ("%.e %d", 1234.0, 33, 44, 55); + static const uint32_t expected1[] = + { '1', 'e', '+', '0', '3', ' ', '3', '3', 0 }; + static const uint32_t expected2[] = + { '1', 'e', '+', '0', '0', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0); + free (result); + } + + { /* A positive number. */ + uint32_t *result = + my_xasprintf ("%Le %d", 12.75L, 33, 44, 55); + static const uint32_t expected[] = + { '1', '.', '2', '7', '5', '0', '0', '0', 'e', '+', + '0', '1', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint32_t *result = + my_xasprintf ("%15Le %d", 1.75L, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', '1', '.', '7', '5', '0', '0', '0', + '0', 'e', '+', '0', '0', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint32_t *result = + my_xasprintf ("%.Le %d", 1234.0L, 33, 44, 55); + static const uint32_t expected[] = + { '1', 'e', '+', '0', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %g format directive. */ + + { /* A positive number. */ + uint32_t *result = + my_xasprintf ("%g %d", 12.75, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '.', '7', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint32_t *result = + my_xasprintf ("%10g %d", 1.75, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', ' ', '1', '.', '7', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint32_t *result = + my_xasprintf ("%.g %d", 1234.0, 33, 44, 55); + static const uint32_t expected1[] = + { '1', 'e', '+', '0', '3', ' ', '3', '3', 0 }; + static const uint32_t expected2[] = + { '1', 'e', '+', '0', '0', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected1) == 0 + || u32_strcmp (result, expected2) == 0); + free (result); + } + + { /* A positive number. */ + uint32_t *result = + my_xasprintf ("%Lg %d", 12.75L, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '.', '7', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint32_t *result = + my_xasprintf ("%10Lg %d", 1.75L, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', ' ', '1', '.', '7', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint32_t *result = + my_xasprintf ("%.Lg %d", 1234.0L, 33, 44, 55); + static const uint32_t expected[] = + { '1', 'e', '+', '0', '3', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %n format directive. */ + + { + int count = -1; + uint32_t *result = + my_xasprintf ("%d %n", 123, &count, 33, 44, 55); + static const uint32_t expected[] = + { '1', '2', '3', ' ', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + ASSERT (count == 4); + free (result); + } + + /* Test the support of the POSIX/XSI format strings with positions. */ + + { + uint32_t *result = + my_xasprintf ("%2$d %1$d", 33, 55); + static const uint32_t expected[] = + { '5', '5', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the grouping flag. */ + + { + uint32_t *result = + my_xasprintf ("%'d %d", 1234567, 99); + ASSERT (result != NULL); + ASSERT (result[u32_strlen (result) - 1] == '9'); + free (result); + } + + /* Test the support of the 'U' conversion specifier for Unicode strings. */ + + { + static const uint8_t unicode_string[] = "Rafa\305\202 Maszkowski"; /* Rafał Maszkowski */ + { + uint32_t *result = + my_xasprintf ("%U %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint32_t *result = + my_xasprintf ("%20U %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint32_t *result = + my_xasprintf ("%-20U %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint32_t *result = + my_xasprintf ("%020U %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint16_t unicode_string[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + { + uint32_t *result = + my_xasprintf ("%lU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint32_t *result = + my_xasprintf ("%20lU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint32_t *result = + my_xasprintf ("%-20lU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint32_t *result = + my_xasprintf ("%020lU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint32_t unicode_string[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + { + uint32_t *result = + my_xasprintf ("%llU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint32_t *result = + my_xasprintf ("%20llU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint32_t *result = + my_xasprintf ("%-20llU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', + 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint32_t *result = + my_xasprintf ("%020llU %d", unicode_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ', + 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + free (result); + } + } + + /* Test non-ASCII characters in the format string. */ + + { + uint32_t *result = + my_xasprintf ("\304rger", 33, 44, 55); + ASSERT (result == NULL && errno == EINVAL); + } +} diff --git a/tests/unistdio/test-u32-vasnprintf1.c b/tests/unistdio/test-u32-vasnprintf1.c new file mode 100644 index 00000000..959bdab3 --- /dev/null +++ b/tests/unistdio/test-u32-vasnprintf1.c @@ -0,0 +1,88 @@ +/* Test of u32_vasnprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u32-asnprintf1.h" +#include "test-u32-printf1.h" + +static uint32_t * +my_asnprintf (uint32_t *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + uint32_t *ret; + + va_start (args, format); + ret = u32_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static uint32_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + size_t length; + uint32_t *ret; + + va_start (args, format); + ret = u32_vasnprintf (NULL, &length, format, args); + va_end (args); + if (ret != NULL) + ASSERT (length == u32_strlen (ret)); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u32-vasnprintf2.c b/tests/unistdio/test-u32-vasnprintf2.c new file mode 100644 index 00000000..9d8ab007 --- /dev/null +++ b/tests/unistdio/test-u32-vasnprintf2.c @@ -0,0 +1,132 @@ +/* Test of u32_vasnprintf() function in an ISO-8859-1 locale. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static void +test_function (uint32_t * (*my_asnprintf) (uint32_t *, size_t *, const char *, ...)) +{ + /* Test the support of the 's' conversion specifier for strings. */ + + { + const char *locale_string = "\304rger"; /* Ärger */ + { + size_t length; + uint32_t *result = + my_asnprintf (NULL, &length, "%s %d", locale_string, 33, 44, 55); + static const uint32_t expected[] = + { 0x00c4, 'r', 'g', 'e', 'r', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + ASSERT (length == u32_strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + uint32_t *result = + my_asnprintf (NULL, &length, "%10s %d", locale_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 0x00c4, 'r', 'g', 'e', 'r', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + ASSERT (length == u32_strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + uint32_t *result = + my_asnprintf (NULL, &length, "%-10s %d", locale_string, 33, 44, 55); + static const uint32_t expected[] = + { 0x00c4, 'r', 'g', 'e', 'r', ' ', ' ', ' ', ' ', ' ', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + ASSERT (length == u32_strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + uint32_t *result = + my_asnprintf (NULL, &length, "%010s %d", locale_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 0x00c4, 'r', 'g', 'e', 'r', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + ASSERT (length == u32_strlen (result)); + free (result); + } + } +} + +static uint32_t * +my_asnprintf (uint32_t *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + uint32_t *ret; + + va_start (args, format); + ret = u32_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u32-vasnprintf2.sh b/tests/unistdio/test-u32-vasnprintf2.sh new file mode 100755 index 00000000..ae39dd48 --- /dev/null +++ b/tests/unistdio/test-u32-vasnprintf2.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Test whether a traditional french locale is installed. +: ${LOCALE_FR=fr_FR} +if test $LOCALE_FR != none; then + testlocale=$LOCALE_FR +else + if test -f /usr/bin/localedef; then + echo "Skipping test: no traditional french locale is installed" + else + echo "Skipping test: no traditional french locale is supported" + fi + exit 77 +fi + +LC_ALL=$testlocale \ +./test-u32-vasnprintf1${EXEEXT} \ + || exit 1 + +LC_ALL=$testlocale \ +./test-u32-vasnprintf2${EXEEXT} diff --git a/tests/unistdio/test-u32-vasnprintf3.c b/tests/unistdio/test-u32-vasnprintf3.c new file mode 100644 index 00000000..73f7c6c7 --- /dev/null +++ b/tests/unistdio/test-u32-vasnprintf3.c @@ -0,0 +1,132 @@ +/* Test of u32_vasnprintf() function in an UTF-8 locale. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static void +test_function (uint32_t * (*my_asnprintf) (uint32_t *, size_t *, const char *, ...)) +{ + /* Test the support of the 's' conversion specifier for strings. */ + + { + const char *locale_string = "\303\204rger"; /* Ärger */ + { + size_t length; + uint32_t *result = + my_asnprintf (NULL, &length, "%s %d", locale_string, 33, 44, 55); + static const uint32_t expected[] = + { 0x00c4, 'r', 'g', 'e', 'r', ' ', '3', '3', 0 }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + ASSERT (length == u32_strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + uint32_t *result = + my_asnprintf (NULL, &length, "%10s %d", locale_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 0x00c4, 'r', 'g', 'e', 'r', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + ASSERT (length == u32_strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + uint32_t *result = + my_asnprintf (NULL, &length, "%-10s %d", locale_string, 33, 44, 55); + static const uint32_t expected[] = + { 0x00c4, 'r', 'g', 'e', 'r', ' ', ' ', ' ', ' ', ' ', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + ASSERT (length == u32_strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + uint32_t *result = + my_asnprintf (NULL, &length, "%010s %d", locale_string, 33, 44, 55); + static const uint32_t expected[] = + { ' ', ' ', ' ', ' ', ' ', 0x00c4, 'r', 'g', 'e', 'r', + ' ', '3', '3', 0 + }; + ASSERT (result != NULL); + ASSERT (u32_strcmp (result, expected) == 0); + ASSERT (length == u32_strlen (result)); + free (result); + } + } +} + +static uint32_t * +my_asnprintf (uint32_t *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + uint32_t *ret; + + va_start (args, format); + ret = u32_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u32-vasnprintf3.sh b/tests/unistdio/test-u32-vasnprintf3.sh new file mode 100755 index 00000000..d2c31170 --- /dev/null +++ b/tests/unistdio/test-u32-vasnprintf3.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Test whether a french Unicode locale is installed. +: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +if test $LOCALE_FR_UTF8 != none; then + testlocale=$LOCALE_FR_UTF8 +else + if test -f /usr/bin/localedef; then + echo "Skipping test: no french Unicode locale is installed" + else + echo "Skipping test: no french Unicode locale is supported" + fi + exit 77 +fi + +LC_ALL=$testlocale \ +./test-u32-vasnprintf1${EXEEXT} \ + || exit 1 + +LC_ALL=$testlocale \ +./test-u32-vasnprintf3${EXEEXT} diff --git a/tests/unistdio/test-u32-vasprintf1.c b/tests/unistdio/test-u32-vasprintf1.c new file mode 100644 index 00000000..39e68d25 --- /dev/null +++ b/tests/unistdio/test-u32-vasprintf1.c @@ -0,0 +1,75 @@ +/* Test of u32_vasprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u32-printf1.h" + +static uint32_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + uint32_t *result; + int retval; + + va_start (args, format); + retval = u32_vasprintf (&result, format, args); + va_end (args); + if (retval < 0) + return NULL; + ASSERT (result != NULL); + return result; +} + +static void +test_vasprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + test_vasprintf (); + return 0; +} diff --git a/tests/unistdio/test-u32-vsnprintf1.c b/tests/unistdio/test-u32-vsnprintf1.c new file mode 100644 index 00000000..d7727081 --- /dev/null +++ b/tests/unistdio/test-u32-vsnprintf1.c @@ -0,0 +1,84 @@ +/* Test of u32_vsnprintf() function. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" +#include "xalloc.h" +#include "progname.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u32-printf1.h" + +static uint32_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + uint32_t buf[1000]; + int retval; + size_t length; + uint32_t *result; + + va_start (args, format); + retval = u32_vsnprintf (buf, sizeof (buf), format, args); + va_end (args); + if (retval < 0 || retval >= (int) sizeof (buf)) + return NULL; + length = u32_strlen (buf); + result = XNMALLOC (length + 1, uint32_t); + u32_cpy (result, buf, length + 1); + return result; +} + +static void +test_vsnprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + set_program_name (argv[0]); + + test_vsnprintf (); + + return 0; +} diff --git a/tests/unistdio/test-u32-vsprintf1.c b/tests/unistdio/test-u32-vsprintf1.c new file mode 100644 index 00000000..8398b274 --- /dev/null +++ b/tests/unistdio/test-u32-vsprintf1.c @@ -0,0 +1,84 @@ +/* Test of u32_vsprintf() function. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" +#include "xalloc.h" +#include "progname.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u32-printf1.h" + +static uint32_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + uint32_t buf[1000]; + int retval; + size_t length; + uint32_t *result; + + va_start (args, format); + retval = u32_vsprintf (buf, format, args); + va_end (args); + if (retval < 0 || retval >= (int) sizeof (buf)) + return NULL; + length = u32_strlen (buf); + result = XNMALLOC (length + 1, uint32_t); + u32_cpy (result, buf, length + 1); + return result; +} + +static void +test_vsprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + set_program_name (argv[0]); + + test_vsprintf (); + + return 0; +} diff --git a/tests/unistdio/test-u8-asnprintf1.c b/tests/unistdio/test-u8-asnprintf1.c new file mode 100644 index 00000000..852d76b4 --- /dev/null +++ b/tests/unistdio/test-u8-asnprintf1.c @@ -0,0 +1,59 @@ +/* Test of u8_asnprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u8-asnprintf1.h" + +static void +test_asnprintf () +{ + test_function (u8_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + test_asnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u8-asnprintf1.h b/tests/unistdio/test-u8-asnprintf1.h new file mode 100644 index 00000000..063f145f --- /dev/null +++ b/tests/unistdio/test-u8-asnprintf1.h @@ -0,0 +1,57 @@ +/* Test of u8_[v]asnprintf() function. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +static void +test_function (uint8_t * (*my_asnprintf) (uint8_t *, size_t *, const char *, ...)) +{ + uint8_t buf[8]; + int size; + + /* Test return value convention. */ + + for (size = 0; size <= 8; size++) + { + size_t length = size; + uint8_t *result = my_asnprintf (NULL, &length, "%d", 12345); + static const uint8_t expected[] = "12345"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + ASSERT (length == 5); + free (result); + } + + for (size = 0; size <= 8; size++) + { + static const uint8_t initializer[] = "DEADBEEF"; + static const uint8_t expected[] = "12345"; + size_t length; + uint8_t *result; + + u8_cpy (buf, initializer, 8); + length = size; + result = my_asnprintf (buf, &length, "%d", 12345); + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + ASSERT (length == 5); + if (size < 6) + ASSERT (result != buf); + ASSERT (u8_cmp (buf + size, initializer + size, 8 - size) == 0); + if (result != buf) + free (result); + } +} diff --git a/tests/unistdio/test-u8-printf1.h b/tests/unistdio/test-u8-printf1.h new file mode 100644 index 00000000..4ac6573f --- /dev/null +++ b/tests/unistdio/test-u8-printf1.h @@ -0,0 +1,704 @@ +/* Test of u8_v[a]s[n]printf() function. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +static void +test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...)) +{ + /* Test support of size specifiers as in C99. */ + + { + uint8_t *result = + my_xasprintf ("%ju %d", (uintmax_t) 12345671, 33, 44, 55); + static const uint8_t expected[] = "12345671 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { + uint8_t *result = + my_xasprintf ("%zu %d", (size_t) 12345672, 33, 44, 55); + static const uint8_t expected[] = "12345672 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { + uint8_t *result = + my_xasprintf ("%tu %d", (ptrdiff_t) 12345673, 33, 44, 55); + static const uint8_t expected[] = "12345673 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { + uint8_t *result = + my_xasprintf ("%Lg %d", (long double) 1.5, 33, 44, 55); + static const uint8_t expected[] = "1.5 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the 'U' conversion specifier for Unicode strings. */ + + { + static const uint8_t unicode_string[] = "Hello"; + { + uint8_t *result = + my_xasprintf ("%U %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint8_t *result = + my_xasprintf ("%10U %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint8_t *result = + my_xasprintf ("%-10U %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint8_t *result = + my_xasprintf ("%010U %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint16_t unicode_string[] = { 'H', 'e', 'l', 'l', 'o', 0 }; + { + uint8_t *result = + my_xasprintf ("%lU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint8_t *result = + my_xasprintf ("%10lU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint8_t *result = + my_xasprintf ("%-10lU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint8_t *result = + my_xasprintf ("%010lU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint32_t unicode_string[] = { 'H', 'e', 'l', 'l', 'o', 0 }; + { + uint8_t *result = + my_xasprintf ("%llU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint8_t *result = + my_xasprintf ("%10llU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint8_t *result = + my_xasprintf ("%-10llU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint8_t *result = + my_xasprintf ("%010llU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Hello 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + } + + /* Test the support of the 's' conversion specifier for strings. */ + + { + uint8_t *result = + my_xasprintf ("Mr. %s %d", "Ronald Reagan", 33, 44, 55); + static const uint8_t expected[] = "Mr. Ronald Reagan 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint8_t *result = + my_xasprintf ("Mr. %20s %d", "Ronald Reagan", 33, 44, 55); + static const uint8_t expected[] = "Mr. Ronald Reagan 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* FLAG_LEFT. */ + uint8_t *result = + my_xasprintf ("Mr. %-20s %d", "Ronald Reagan", 33, 44, 55); + static const uint8_t expected[] = "Mr. Ronald Reagan 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* FLAG_ZERO: no effect. */ + uint8_t *result = + my_xasprintf ("Mr. %020s %d", "Ronald Reagan", 33, 44, 55); + static const uint8_t expected[] = "Mr. Ronald Reagan 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the 'a' and 'A' conversion specifier for hexadecimal + output of floating-point numbers. */ + + { /* A positive number. */ + uint8_t *result = + my_xasprintf ("%a %d", 3.1416015625, 33, 44, 55); + static const uint8_t expected1[] = "0x1.922p+1 33"; + static const uint8_t expected2[] = "0x3.244p+0 33"; + static const uint8_t expected3[] = "0x6.488p-1 33"; + static const uint8_t expected4[] = "0xc.91p-2 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0 + || u8_strcmp (result, expected3) == 0 + || u8_strcmp (result, expected4) == 0); + free (result); + } + + { /* Width. */ + uint8_t *result = + my_xasprintf ("%10a %d", 1.75, 33, 44, 55); + static const uint8_t expected1[] = " 0x1.cp+0 33"; + static const uint8_t expected2[] = " 0x3.8p-1 33"; + static const uint8_t expected3[] = " 0x7p-2 33"; + static const uint8_t expected4[] = " 0xep-3 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0 + || u8_strcmp (result, expected3) == 0 + || u8_strcmp (result, expected4) == 0); + free (result); + } + + { /* Small precision. */ + uint8_t *result = + my_xasprintf ("%.10a %d", 1.75, 33, 44, 55); + static const uint8_t expected1[] = "0x1.c000000000p+0 33"; + static const uint8_t expected2[] = "0x3.8000000000p-1 33"; + static const uint8_t expected3[] = "0x7.0000000000p-2 33"; + static const uint8_t expected4[] = "0xe.0000000000p-3 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0 + || u8_strcmp (result, expected3) == 0 + || u8_strcmp (result, expected4) == 0); + free (result); + } + + { /* Large precision. */ + uint8_t *result = + my_xasprintf ("%.50a %d", 1.75, 33, 44, 55); + static const uint8_t expected1[] = "0x1.c0000000000000000000000000000000000000000000000000p+0 33"; + static const uint8_t expected2[] = "0x3.80000000000000000000000000000000000000000000000000p-1 33"; + static const uint8_t expected3[] = "0x7.00000000000000000000000000000000000000000000000000p-2 33"; + static const uint8_t expected4[] = "0xe.00000000000000000000000000000000000000000000000000p-3 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0 + || u8_strcmp (result, expected3) == 0 + || u8_strcmp (result, expected4) == 0); + free (result); + } + + { /* A positive number. */ + uint8_t *result = + my_xasprintf ("%La %d", 3.1416015625L, 33, 44, 55); + static const uint8_t expected1[] = "0x1.922p+1 33"; + static const uint8_t expected2[] = "0x3.244p+0 33"; + static const uint8_t expected3[] = "0x6.488p-1 33"; + static const uint8_t expected4[] = "0xc.91p-2 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0 + || u8_strcmp (result, expected3) == 0 + || u8_strcmp (result, expected4) == 0); + free (result); + } + + { /* Width. */ + uint8_t *result = + my_xasprintf ("%10La %d", 1.75L, 33, 44, 55); + static const uint8_t expected1[] = " 0x1.cp+0 33"; + static const uint8_t expected2[] = " 0x3.8p-1 33"; + static const uint8_t expected3[] = " 0x7p-2 33"; + static const uint8_t expected4[] = " 0xep-3 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0 + || u8_strcmp (result, expected3) == 0 + || u8_strcmp (result, expected4) == 0); + free (result); + } + + { /* Small precision. */ + uint8_t *result = + my_xasprintf ("%.10La %d", 1.75L, 33, 44, 55); + static const uint8_t expected1[] = "0x1.c000000000p+0 33"; + static const uint8_t expected2[] = "0x3.8000000000p-1 33"; + static const uint8_t expected3[] = "0x7.0000000000p-2 33"; + static const uint8_t expected4[] = "0xe.0000000000p-3 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0 + || u8_strcmp (result, expected3) == 0 + || u8_strcmp (result, expected4) == 0); + free (result); + } + + { /* Large precision. */ + uint8_t *result = + my_xasprintf ("%.50La %d", 1.75L, 33, 44, 55); + static const uint8_t expected1[] = "0x1.c0000000000000000000000000000000000000000000000000p+0 33"; + static const uint8_t expected2[] = "0x3.80000000000000000000000000000000000000000000000000p-1 33"; + static const uint8_t expected3[] = "0x7.00000000000000000000000000000000000000000000000000p-2 33"; + static const uint8_t expected4[] = "0xe.00000000000000000000000000000000000000000000000000p-3 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0 + || u8_strcmp (result, expected3) == 0 + || u8_strcmp (result, expected4) == 0); + free (result); + } + + /* Test the support of the %f format directive. */ + + { /* A positive number. */ + uint8_t *result = + my_xasprintf ("%f %d", 12.75, 33, 44, 55); + static const uint8_t expected[] = "12.750000 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint8_t *result = + my_xasprintf ("%10f %d", 1.75, 33, 44, 55); + static const uint8_t expected[] = " 1.750000 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint8_t *result = + my_xasprintf ("%.f %d", 1234.0, 33, 44, 55); + static const uint8_t expected[] = "1234 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* A positive number. */ + uint8_t *result = + my_xasprintf ("%Lf %d", 12.75L, 33, 44, 55); + static const uint8_t expected[] = "12.750000 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint8_t *result = + my_xasprintf ("%10Lf %d", 1.75L, 33, 44, 55); + static const uint8_t expected[] = " 1.750000 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint8_t *result = + my_xasprintf ("%.Lf %d", 1234.0L, 33, 44, 55); + static const uint8_t expected[] = "1234 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %F format directive. */ + + { /* A positive number. */ + uint8_t *result = + my_xasprintf ("%F %d", 12.75, 33, 44, 55); + static const uint8_t expected[] = "12.750000 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint8_t *result = + my_xasprintf ("%.F %d", 1234.0, 33, 44, 55); + static const uint8_t expected[] = "1234 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* A positive number. */ + uint8_t *result = + my_xasprintf ("%LF %d", 12.75L, 33, 44, 55); + static const uint8_t expected[] = "12.750000 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint8_t *result = + my_xasprintf ("%.LF %d", 1234.0L, 33, 44, 55); + static const uint8_t expected[] = "1234 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %e format directive. */ + + { /* A positive number. */ + uint8_t *result = + my_xasprintf ("%e %d", 12.75, 33, 44, 55); + static const uint8_t expected1[] = "1.275000e+01 33"; + static const uint8_t expected2[] = "1.275000e+001 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0); + free (result); + } + + { /* Width. */ + uint8_t *result = + my_xasprintf ("%15e %d", 1.75, 33, 44, 55); + static const uint8_t expected1[] = " 1.750000e+00 33"; + static const uint8_t expected2[] = " 1.750000e+000 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0); + free (result); + } + + { /* Precision. */ + uint8_t *result = + my_xasprintf ("%.e %d", 1234.0, 33, 44, 55); + static const uint8_t expected1[] = "1e+03 33"; + static const uint8_t expected2[] = "1e+003 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0); + free (result); + } + + { /* A positive number. */ + uint8_t *result = + my_xasprintf ("%Le %d", 12.75L, 33, 44, 55); + static const uint8_t expected[] = "1.275000e+01 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint8_t *result = + my_xasprintf ("%15Le %d", 1.75L, 33, 44, 55); + static const uint8_t expected[] = " 1.750000e+00 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint8_t *result = + my_xasprintf ("%.Le %d", 1234.0L, 33, 44, 55); + static const uint8_t expected[] = "1e+03 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %g format directive. */ + + { /* A positive number. */ + uint8_t *result = + my_xasprintf ("%g %d", 12.75, 33, 44, 55); + static const uint8_t expected[] = "12.75 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint8_t *result = + my_xasprintf ("%10g %d", 1.75, 33, 44, 55); + static const uint8_t expected[] = " 1.75 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint8_t *result = + my_xasprintf ("%.g %d", 1234.0, 33, 44, 55); + static const uint8_t expected1[] = "1e+03 33"; + static const uint8_t expected2[] = "1e+003 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected1) == 0 + || u8_strcmp (result, expected2) == 0); + free (result); + } + + { /* A positive number. */ + uint8_t *result = + my_xasprintf ("%Lg %d", 12.75L, 33, 44, 55); + static const uint8_t expected[] = "12.75 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Width. */ + uint8_t *result = + my_xasprintf ("%10Lg %d", 1.75L, 33, 44, 55); + static const uint8_t expected[] = " 1.75 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + { /* Precision. */ + uint8_t *result = + my_xasprintf ("%.Lg %d", 1234.0L, 33, 44, 55); + static const uint8_t expected[] = "1e+03 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the %n format directive. */ + + { + int count = -1; + uint8_t *result = + my_xasprintf ("%d %n", 123, &count, 33, 44, 55); + static const uint8_t expected[] = "123 "; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + ASSERT (count == 4); + free (result); + } + + /* Test the support of the POSIX/XSI format strings with positions. */ + + { + uint8_t *result = + my_xasprintf ("%2$d %1$d", 33, 55); + static const uint8_t expected[] = "55 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + + /* Test the support of the grouping flag. */ + + { + uint8_t *result = + my_xasprintf ("%'d %d", 1234567, 99); + ASSERT (result != NULL); + ASSERT (result[u8_strlen (result) - 1] == '9'); + free (result); + } + + /* Test the support of the 'U' conversion specifier for Unicode strings. */ + + { + static const uint8_t unicode_string[] = "Rafa\305\202 Maszkowski"; /* Rafał Maszkowski */ + { + uint8_t *result = + my_xasprintf ("%U %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint8_t *result = + my_xasprintf ("%20U %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint8_t *result = + my_xasprintf ("%-20U %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint8_t *result = + my_xasprintf ("%020U %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint16_t unicode_string[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + { + uint8_t *result = + my_xasprintf ("%lU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint8_t *result = + my_xasprintf ("%20lU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint8_t *result = + my_xasprintf ("%-20lU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint8_t *result = + my_xasprintf ("%020lU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + } + + { + static const uint32_t unicode_string[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + { + uint8_t *result = + my_xasprintf ("%llU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* Width. */ + uint8_t *result = + my_xasprintf ("%20llU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_LEFT. */ + uint8_t *result = + my_xasprintf ("%-20llU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = "Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + uint8_t *result = + my_xasprintf ("%020llU %d", unicode_string, 33, 44, 55); + static const uint8_t expected[] = " Rafa\305\202 Maszkowski 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + free (result); + } + } + + /* Test non-ASCII characters in the format string. */ + + { + uint8_t *result = + my_xasprintf ("\304rger", 33, 44, 55); + ASSERT (result == NULL && errno == EINVAL); + } +} diff --git a/tests/unistdio/test-u8-vasnprintf1.c b/tests/unistdio/test-u8-vasnprintf1.c new file mode 100644 index 00000000..3329df40 --- /dev/null +++ b/tests/unistdio/test-u8-vasnprintf1.c @@ -0,0 +1,88 @@ +/* Test of u8_vasnprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u8-asnprintf1.h" +#include "test-u8-printf1.h" + +static uint8_t * +my_asnprintf (uint8_t *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + uint8_t *ret; + + va_start (args, format); + ret = u8_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static uint8_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + size_t length; + uint8_t *ret; + + va_start (args, format); + ret = u8_vasnprintf (NULL, &length, format, args); + va_end (args); + if (ret != NULL) + ASSERT (length == u8_strlen (ret)); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u8-vasnprintf2.c b/tests/unistdio/test-u8-vasnprintf2.c new file mode 100644 index 00000000..4283be69 --- /dev/null +++ b/tests/unistdio/test-u8-vasnprintf2.c @@ -0,0 +1,122 @@ +/* Test of u8_vasnprintf() function in an ISO-8859-1 locale. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static void +test_function (uint8_t * (*my_asnprintf) (uint8_t *, size_t *, const char *, ...)) +{ + /* Test the support of the 's' conversion specifier for strings. */ + + { + const char *locale_string = "\304rger"; /* Ärger */ + { + size_t length; + uint8_t *result = + my_asnprintf (NULL, &length, "%s %d", locale_string, 33, 44, 55); + static const uint8_t expected[] = "\303\204rger 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + ASSERT (length == u8_strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + uint8_t *result = + my_asnprintf (NULL, &length, "%10s %d", locale_string, 33, 44, 55); + static const uint8_t expected[] = " \303\204rger 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + ASSERT (length == u8_strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + uint8_t *result = + my_asnprintf (NULL, &length, "%-10s %d", locale_string, 33, 44, 55); + static const uint8_t expected[] = "\303\204rger 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + ASSERT (length == u8_strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + uint8_t *result = + my_asnprintf (NULL, &length, "%010s %d", locale_string, 33, 44, 55); + static const uint8_t expected[] = " \303\204rger 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + ASSERT (length == u8_strlen (result)); + free (result); + } + } +} + +static uint8_t * +my_asnprintf (uint8_t *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + uint8_t *ret; + + va_start (args, format); + ret = u8_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u8-vasnprintf2.sh b/tests/unistdio/test-u8-vasnprintf2.sh new file mode 100755 index 00000000..ea5fcb08 --- /dev/null +++ b/tests/unistdio/test-u8-vasnprintf2.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Test whether a traditional french locale is installed. +: ${LOCALE_FR=fr_FR} +if test $LOCALE_FR != none; then + testlocale=$LOCALE_FR +else + if test -f /usr/bin/localedef; then + echo "Skipping test: no traditional french locale is installed" + else + echo "Skipping test: no traditional french locale is supported" + fi + exit 77 +fi + +LC_ALL=$testlocale \ +./test-u8-vasnprintf1${EXEEXT} \ + || exit 1 + +LC_ALL=$testlocale \ +./test-u8-vasnprintf2${EXEEXT} diff --git a/tests/unistdio/test-u8-vasnprintf3.c b/tests/unistdio/test-u8-vasnprintf3.c new file mode 100644 index 00000000..fc645bca --- /dev/null +++ b/tests/unistdio/test-u8-vasnprintf3.c @@ -0,0 +1,122 @@ +/* Test of u8_vasnprintf() function in an UTF-8 locale. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static void +test_function (uint8_t * (*my_asnprintf) (uint8_t *, size_t *, const char *, ...)) +{ + /* Test the support of the 's' conversion specifier for strings. */ + + { + const char *locale_string = "\303\204rger"; /* Ärger */ + { + size_t length; + uint8_t *result = + my_asnprintf (NULL, &length, "%s %d", locale_string, 33, 44, 55); + static const uint8_t expected[] = "\303\204rger 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + ASSERT (length == u8_strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + uint8_t *result = + my_asnprintf (NULL, &length, "%10s %d", locale_string, 33, 44, 55); + static const uint8_t expected[] = " \303\204rger 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + ASSERT (length == u8_strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + uint8_t *result = + my_asnprintf (NULL, &length, "%-10s %d", locale_string, 33, 44, 55); + static const uint8_t expected[] = "\303\204rger 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + ASSERT (length == u8_strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + uint8_t *result = + my_asnprintf (NULL, &length, "%010s %d", locale_string, 33, 44, 55); + static const uint8_t expected[] = " \303\204rger 33"; + ASSERT (result != NULL); + ASSERT (u8_strcmp (result, expected) == 0); + ASSERT (length == u8_strlen (result)); + free (result); + } + } +} + +static uint8_t * +my_asnprintf (uint8_t *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + uint8_t *ret; + + va_start (args, format); + ret = u8_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-u8-vasnprintf3.sh b/tests/unistdio/test-u8-vasnprintf3.sh new file mode 100755 index 00000000..9df0044a --- /dev/null +++ b/tests/unistdio/test-u8-vasnprintf3.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Test whether a french Unicode locale is installed. +: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +if test $LOCALE_FR_UTF8 != none; then + testlocale=$LOCALE_FR_UTF8 +else + if test -f /usr/bin/localedef; then + echo "Skipping test: no french Unicode locale is installed" + else + echo "Skipping test: no french Unicode locale is supported" + fi + exit 77 +fi + +LC_ALL=$testlocale \ +./test-u8-vasnprintf1${EXEEXT} \ + || exit 1 + +LC_ALL=$testlocale \ +./test-u8-vasnprintf3${EXEEXT} diff --git a/tests/unistdio/test-u8-vasprintf1.c b/tests/unistdio/test-u8-vasprintf1.c new file mode 100644 index 00000000..8a2caae8 --- /dev/null +++ b/tests/unistdio/test-u8-vasprintf1.c @@ -0,0 +1,75 @@ +/* Test of u8_vasprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u8-printf1.h" + +static uint8_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + uint8_t *result; + int retval; + + va_start (args, format); + retval = u8_vasprintf (&result, format, args); + va_end (args); + if (retval < 0) + return NULL; + ASSERT (result != NULL); + return result; +} + +static void +test_vasprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + test_vasprintf (); + return 0; +} diff --git a/tests/unistdio/test-u8-vsnprintf1.c b/tests/unistdio/test-u8-vsnprintf1.c new file mode 100644 index 00000000..6dd7439d --- /dev/null +++ b/tests/unistdio/test-u8-vsnprintf1.c @@ -0,0 +1,84 @@ +/* Test of u8_vsnprintf() function. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" +#include "xalloc.h" +#include "progname.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u8-printf1.h" + +static uint8_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + uint8_t buf[1000]; + int retval; + size_t length; + uint8_t *result; + + va_start (args, format); + retval = u8_vsnprintf (buf, sizeof (buf), format, args); + va_end (args); + if (retval < 0 || retval >= (int) sizeof (buf)) + return NULL; + length = u8_strlen (buf); + result = XNMALLOC (length + 1, uint8_t); + u8_cpy (result, buf, length + 1); + return result; +} + +static void +test_vsnprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + set_program_name (argv[0]); + + test_vsnprintf (); + + return 0; +} diff --git a/tests/unistdio/test-u8-vsprintf1.c b/tests/unistdio/test-u8-vsprintf1.c new file mode 100644 index 00000000..9559df0c --- /dev/null +++ b/tests/unistdio/test-u8-vsprintf1.c @@ -0,0 +1,84 @@ +/* Test of u8_vsprintf() function. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "unistr.h" +#include "xalloc.h" +#include "progname.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-u8-printf1.h" + +static uint8_t * +my_xasprintf (const char *format, ...) +{ + va_list args; + uint8_t buf[1000]; + int retval; + size_t length; + uint8_t *result; + + va_start (args, format); + retval = u8_vsprintf (buf, format, args); + va_end (args); + if (retval < 0 || retval >= (int) sizeof (buf)) + return NULL; + length = u8_strlen (buf); + result = XNMALLOC (length + 1, uint8_t); + u8_cpy (result, buf, length + 1); + return result; +} + +static void +test_vsprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + set_program_name (argv[0]); + + test_vsprintf (); + + return 0; +} diff --git a/tests/unistdio/test-ulc-asnprintf1.c b/tests/unistdio/test-ulc-asnprintf1.c new file mode 100644 index 00000000..591ae262 --- /dev/null +++ b/tests/unistdio/test-ulc-asnprintf1.c @@ -0,0 +1,56 @@ +/* Test of ulc_asnprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-ulc-asnprintf1.h" + +static void +test_asnprintf () +{ + test_function (ulc_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + test_asnprintf (); + return 0; +} diff --git a/tests/unistdio/test-ulc-asnprintf1.h b/tests/unistdio/test-ulc-asnprintf1.h new file mode 100644 index 00000000..285a4062 --- /dev/null +++ b/tests/unistdio/test-ulc-asnprintf1.h @@ -0,0 +1,54 @@ +/* Test of ulc_[v]asnprintf() functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +static void +test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) +{ + char buf[8]; + int size; + + /* Test return value convention. */ + + for (size = 0; size <= 8; size++) + { + size_t length = size; + char *result = my_asnprintf (NULL, &length, "%d", 12345); + ASSERT (result != NULL); + ASSERT (strcmp (result, "12345") == 0); + ASSERT (length == 5); + free (result); + } + + for (size = 0; size <= 8; size++) + { + size_t length; + char *result; + + memcpy (buf, "DEADBEEF", 8); + length = size; + result = my_asnprintf (buf, &length, "%d", 12345); + ASSERT (result != NULL); + ASSERT (strcmp (result, "12345") == 0); + ASSERT (length == 5); + if (size < 6) + ASSERT (result != buf); + ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0); + if (result != buf) + free (result); + } +} diff --git a/tests/unistdio/test-ulc-printf1.h b/tests/unistdio/test-ulc-printf1.h new file mode 100644 index 00000000..77516d61 --- /dev/null +++ b/tests/unistdio/test-ulc-printf1.h @@ -0,0 +1,498 @@ +/* Test of ulc_v[a]s[n]printf() functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +static void +test_xfunction (char * (*my_xasprintf) (const char *, ...)) +{ + /* Test support of size specifiers as in C99. */ + + { + char *result = + my_xasprintf ("%ju %d", (uintmax_t) 12345671, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "12345671 33") == 0); + free (result); + } + + { + char *result = + my_xasprintf ("%zu %d", (size_t) 12345672, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "12345672 33") == 0); + free (result); + } + + { + char *result = + my_xasprintf ("%tu %d", (ptrdiff_t) 12345673, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "12345673 33") == 0); + free (result); + } + + { + char *result = + my_xasprintf ("%Lg %d", (long double) 1.5, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "1.5 33") == 0); + free (result); + } + + /* Test the support of the 'U' conversion specifier for Unicode strings. */ + + { + static const uint8_t unicode_string[] = "Hello"; + { + char *result = + my_xasprintf ("%U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Hello 33") == 0); + free (result); + } + { /* Width. */ + char *result = + my_xasprintf ("%10U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Hello 33") == 0); + free (result); + } + { /* FLAG_LEFT. */ + char *result = + my_xasprintf ("%-10U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Hello 33") == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + char *result = + my_xasprintf ("%010U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Hello 33") == 0); + free (result); + } + } + + { + static const uint16_t unicode_string[] = { 'H', 'e', 'l', 'l', 'o', 0 }; + { + char *result = + my_xasprintf ("%lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Hello 33") == 0); + free (result); + } + { /* Width. */ + char *result = + my_xasprintf ("%10lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Hello 33") == 0); + free (result); + } + { /* FLAG_LEFT. */ + char *result = + my_xasprintf ("%-10lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Hello 33") == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + char *result = + my_xasprintf ("%010lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Hello 33") == 0); + free (result); + } + } + + { + static const uint32_t unicode_string[] = { 'H', 'e', 'l', 'l', 'o', 0 }; + { + char *result = + my_xasprintf ("%llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Hello 33") == 0); + free (result); + } + { /* Width. */ + char *result = + my_xasprintf ("%10llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Hello 33") == 0); + free (result); + } + { /* FLAG_LEFT. */ + char *result = + my_xasprintf ("%-10llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Hello 33") == 0); + free (result); + } + { /* FLAG_ZERO: no effect. */ + char *result = + my_xasprintf ("%010llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Hello 33") == 0); + free (result); + } + } + + /* Test the support of the 's' conversion specifier for strings. */ + + { + char *result = + my_xasprintf ("Mr. %s %d", "Ronald Reagan", 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Mr. Ronald Reagan 33") == 0); + free (result); + } + + { /* Width. */ + char *result = + my_xasprintf ("Mr. %20s %d", "Ronald Reagan", 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Mr. Ronald Reagan 33") == 0); + free (result); + } + + { /* FLAG_LEFT. */ + char *result = + my_xasprintf ("Mr. %-20s %d", "Ronald Reagan", 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Mr. Ronald Reagan 33") == 0); + free (result); + } + + { /* FLAG_ZERO: no effect. */ + char *result = + my_xasprintf ("Mr. %020s %d", "Ronald Reagan", 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Mr. Ronald Reagan 33") == 0); + free (result); + } + + /* Test the support of the 'a' and 'A' conversion specifier for hexadecimal + output of floating-point numbers. */ + + { /* A positive number. */ + char *result = + my_xasprintf ("%a %d", 3.1416015625, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "0x1.922p+1 33") == 0 + || strcmp (result, "0x3.244p+0 33") == 0 + || strcmp (result, "0x6.488p-1 33") == 0 + || strcmp (result, "0xc.91p-2 33") == 0); + free (result); + } + + { /* Width. */ + char *result = + my_xasprintf ("%10a %d", 1.75, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " 0x1.cp+0 33") == 0 + || strcmp (result, " 0x3.8p-1 33") == 0 + || strcmp (result, " 0x7p-2 33") == 0 + || strcmp (result, " 0xep-3 33") == 0); + free (result); + } + + { /* Small precision. */ + char *result = + my_xasprintf ("%.10a %d", 1.75, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "0x1.c000000000p+0 33") == 0 + || strcmp (result, "0x3.8000000000p-1 33") == 0 + || strcmp (result, "0x7.0000000000p-2 33") == 0 + || strcmp (result, "0xe.0000000000p-3 33") == 0); + free (result); + } + + { /* Large precision. */ + char *result = + my_xasprintf ("%.50a %d", 1.75, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "0x1.c0000000000000000000000000000000000000000000000000p+0 33") == 0 + || strcmp (result, "0x3.80000000000000000000000000000000000000000000000000p-1 33") == 0 + || strcmp (result, "0x7.00000000000000000000000000000000000000000000000000p-2 33") == 0 + || strcmp (result, "0xe.00000000000000000000000000000000000000000000000000p-3 33") == 0); + free (result); + } + + { /* A positive number. */ + char *result = + my_xasprintf ("%La %d", 3.1416015625L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "0x1.922p+1 33") == 0 + || strcmp (result, "0x3.244p+0 33") == 0 + || strcmp (result, "0x6.488p-1 33") == 0 + || strcmp (result, "0xc.91p-2 33") == 0); + free (result); + } + + { /* Width. */ + char *result = + my_xasprintf ("%10La %d", 1.75L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " 0x1.cp+0 33") == 0 + || strcmp (result, " 0x3.8p-1 33") == 0 + || strcmp (result, " 0x7p-2 33") == 0 + || strcmp (result, " 0xep-3 33") == 0); + free (result); + } + + { /* Small precision. */ + char *result = + my_xasprintf ("%.10La %d", 1.75L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "0x1.c000000000p+0 33") == 0 + || strcmp (result, "0x3.8000000000p-1 33") == 0 + || strcmp (result, "0x7.0000000000p-2 33") == 0 + || strcmp (result, "0xe.0000000000p-3 33") == 0); + free (result); + } + + { /* Large precision. */ + char *result = + my_xasprintf ("%.50La %d", 1.75L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "0x1.c0000000000000000000000000000000000000000000000000p+0 33") == 0 + || strcmp (result, "0x3.80000000000000000000000000000000000000000000000000p-1 33") == 0 + || strcmp (result, "0x7.00000000000000000000000000000000000000000000000000p-2 33") == 0 + || strcmp (result, "0xe.00000000000000000000000000000000000000000000000000p-3 33") == 0); + free (result); + } + + /* Test the support of the %f format directive. */ + + { /* A positive number. */ + char *result = + my_xasprintf ("%f %d", 12.75, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "12.750000 33") == 0); + free (result); + } + + { /* Width. */ + char *result = + my_xasprintf ("%10f %d", 1.75, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " 1.750000 33") == 0); + free (result); + } + + { /* Precision. */ + char *result = + my_xasprintf ("%.f %d", 1234.0, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "1234 33") == 0); + free (result); + } + + { /* A positive number. */ + char *result = + my_xasprintf ("%Lf %d", 12.75L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "12.750000 33") == 0); + free (result); + } + + { /* Width. */ + char *result = + my_xasprintf ("%10Lf %d", 1.75L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " 1.750000 33") == 0); + free (result); + } + + { /* Precision. */ + char *result = + my_xasprintf ("%.Lf %d", 1234.0L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "1234 33") == 0); + free (result); + } + + /* Test the support of the %F format directive. */ + + { /* A positive number. */ + char *result = + my_xasprintf ("%F %d", 12.75, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "12.750000 33") == 0); + free (result); + } + + { /* Precision. */ + char *result = + my_xasprintf ("%.F %d", 1234.0, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "1234 33") == 0); + free (result); + } + + { /* A positive number. */ + char *result = + my_xasprintf ("%LF %d", 12.75L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "12.750000 33") == 0); + free (result); + } + + { /* Precision. */ + char *result = + my_xasprintf ("%.LF %d", 1234.0L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "1234 33") == 0); + free (result); + } + + /* Test the support of the %e format directive. */ + + { /* A positive number. */ + char *result = + my_xasprintf ("%e %d", 12.75, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "1.275000e+01 33") == 0 + || strcmp (result, "1.275000e+001 33") == 0); + free (result); + } + + { /* Width. */ + char *result = + my_xasprintf ("%15e %d", 1.75, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " 1.750000e+00 33") == 0 + || strcmp (result, " 1.750000e+000 33") == 0); + free (result); + } + + { /* Precision. */ + char *result = + my_xasprintf ("%.e %d", 1234.0, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "1e+03 33") == 0 + || strcmp (result, "1e+003 33") == 0); + free (result); + } + + { /* A positive number. */ + char *result = + my_xasprintf ("%Le %d", 12.75L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "1.275000e+01 33") == 0); + free (result); + } + + { /* Width. */ + char *result = + my_xasprintf ("%15Le %d", 1.75L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " 1.750000e+00 33") == 0); + free (result); + } + + { /* Precision. */ + char *result = + my_xasprintf ("%.Le %d", 1234.0L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "1e+03 33") == 0); + free (result); + } + + /* Test the support of the %g format directive. */ + + { /* A positive number. */ + char *result = + my_xasprintf ("%g %d", 12.75, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "12.75 33") == 0); + free (result); + } + + { /* Width. */ + char *result = + my_xasprintf ("%10g %d", 1.75, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " 1.75 33") == 0); + free (result); + } + + { /* Precision. */ + char *result = + my_xasprintf ("%.g %d", 1234.0, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "1e+03 33") == 0 + || strcmp (result, "1e+003 33") == 0); + free (result); + } + + { /* A positive number. */ + char *result = + my_xasprintf ("%Lg %d", 12.75L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "12.75 33") == 0); + free (result); + } + + { /* Width. */ + char *result = + my_xasprintf ("%10Lg %d", 1.75L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " 1.75 33") == 0); + free (result); + } + + { /* Precision. */ + char *result = + my_xasprintf ("%.Lg %d", 1234.0L, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "1e+03 33") == 0); + free (result); + } + + /* Test the support of the %n format directive. */ + + { + int count = -1; + char *result = + my_xasprintf ("%d %n", 123, &count, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "123 ") == 0); + ASSERT (count == 4); + free (result); + } + + /* Test the support of the POSIX/XSI format strings with positions. */ + + { + char *result = + my_xasprintf ("%2$d %1$d", 33, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "55 33") == 0); + free (result); + } + + /* Test the support of the grouping flag. */ + + { + char *result = + my_xasprintf ("%'d %d", 1234567, 99); + ASSERT (result != NULL); + ASSERT (result[strlen (result) - 1] == '9'); + free (result); + } +} diff --git a/tests/unistdio/test-ulc-vasnprintf1.c b/tests/unistdio/test-ulc-vasnprintf1.c new file mode 100644 index 00000000..e2f8be6d --- /dev/null +++ b/tests/unistdio/test-ulc-vasnprintf1.c @@ -0,0 +1,85 @@ +/* Test of ulc_vasnprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-ulc-asnprintf1.h" +#include "test-ulc-printf1.h" + +static char * +my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + char *ret; + + va_start (args, format); + ret = ulc_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static char * +my_xasprintf (const char *format, ...) +{ + va_list args; + size_t length; + char *ret; + + va_start (args, format); + ret = ulc_vasnprintf (NULL, &length, format, args); + va_end (args); + if (ret != NULL) + ASSERT (length == strlen (ret)); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-ulc-vasnprintf2.c b/tests/unistdio/test-ulc-vasnprintf2.c new file mode 100644 index 00000000..90229751 --- /dev/null +++ b/tests/unistdio/test-ulc-vasnprintf2.c @@ -0,0 +1,258 @@ +/* Test of ulc_vasnprintf() function in an ISO-8859-1 locale. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static void +test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) +{ + /* Test the support of the 'U' conversion specifier for Unicode strings. */ + + { + static const uint8_t unicode_string[] = "Rafa\305\202 Maszkowski"; /* Rafał Maszkowski */ + { + size_t length; + char *result = + my_asnprintf (NULL, &length, "%U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa? Maszkowski 33") == 0 + || strcmp (result, "Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%20U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa? Maszkowski 33") == 0 + || strcmp (result, " Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%-20U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa? Maszkowski 33") == 0 + || strcmp (result, "Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%020U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa? Maszkowski 33") == 0 + || strcmp (result, " Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + } + + { + static const uint16_t unicode_string[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + { + size_t length; + char *result = + my_asnprintf (NULL, &length, "%lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa? Maszkowski 33") == 0 + || strcmp (result, "Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%20lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa? Maszkowski 33") == 0 + || strcmp (result, " Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%-20lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa? Maszkowski 33") == 0 + || strcmp (result, "Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%020lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa? Maszkowski 33") == 0 + || strcmp (result, " Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + } + + { + static const uint32_t unicode_string[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + { + size_t length; + char *result = + my_asnprintf (NULL, &length, "%llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa? Maszkowski 33") == 0 + || strcmp (result, "Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%20llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa? Maszkowski 33") == 0 + || strcmp (result, " Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%-20llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa? Maszkowski 33") == 0 + || strcmp (result, "Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%020llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa? Maszkowski 33") == 0 + || strcmp (result, " Rafal Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + } + + /* Test the support of the 's' conversion specifier for strings. */ + + { + const char *locale_string = "\304rger"; /* Ärger */ + { + size_t length; + char *result = + my_asnprintf (NULL, &length, "%s %d", locale_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "\304rger 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%10s %d", locale_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " \304rger 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%-10s %d", locale_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "\304rger 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%010s %d", locale_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " \304rger 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + } +} + +static char * +my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + char *ret; + + va_start (args, format); + ret = ulc_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-ulc-vasnprintf2.sh b/tests/unistdio/test-ulc-vasnprintf2.sh new file mode 100755 index 00000000..39056a63 --- /dev/null +++ b/tests/unistdio/test-ulc-vasnprintf2.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Test whether a traditional french locale is installed. +: ${LOCALE_FR=fr_FR} +if test $LOCALE_FR != none; then + testlocale=$LOCALE_FR +else + if test -f /usr/bin/localedef; then + echo "Skipping test: no traditional french locale is installed" + else + echo "Skipping test: no traditional french locale is supported" + fi + exit 77 +fi + +LC_ALL=$testlocale \ +./test-ulc-vasnprintf1${EXEEXT} \ + || exit 1 + +LC_ALL=$testlocale \ +./test-ulc-vasnprintf2${EXEEXT} diff --git a/tests/unistdio/test-ulc-vasnprintf3.c b/tests/unistdio/test-ulc-vasnprintf3.c new file mode 100644 index 00000000..1fbd925d --- /dev/null +++ b/tests/unistdio/test-ulc-vasnprintf3.c @@ -0,0 +1,246 @@ +/* Test of ulc_vasnprintf() function in an UTF-8 locale. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +static void +test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) +{ + /* Test the support of the 'U' conversion specifier for Unicode strings. */ + + { + static const uint8_t unicode_string[] = "Rafa\305\202 Maszkowski"; /* Rafał Maszkowski */ + { + size_t length; + char *result = + my_asnprintf (NULL, &length, "%U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%20U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%-20U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%020U %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + } + + { + static const uint16_t unicode_string[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + { + size_t length; + char *result = + my_asnprintf (NULL, &length, "%lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%20lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%-20lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%020lU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + } + + { + static const uint32_t unicode_string[] = /* Rafał Maszkowski */ + { + 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z', 'k', 'o', 'w', + 's', 'k', 'i', 0 + }; + { + size_t length; + char *result = + my_asnprintf (NULL, &length, "%llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%20llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%-20llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%020llU %d", unicode_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " Rafa\305\202 Maszkowski 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + } + + /* Test the support of the 's' conversion specifier for strings. */ + + { + const char *locale_string = "\303\204rger"; /* Ärger */ + { + size_t length; + char *result = + my_asnprintf (NULL, &length, "%s %d", locale_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "\303\204rger 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* Width. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%10s %d", locale_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " \303\204rger 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_LEFT. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%-10s %d", locale_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, "\303\204rger 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + { /* FLAG_ZERO: no effect. */ + size_t length; + char *result = + my_asnprintf (NULL, &length, "%010s %d", locale_string, 33, 44, 55); + ASSERT (result != NULL); + ASSERT (strcmp (result, " \303\204rger 33") == 0); + ASSERT (length == strlen (result)); + free (result); + } + } +} + +static char * +my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) +{ + va_list args; + char *ret; + + va_start (args, format); + ret = ulc_vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); +} + +int +main (int argc, char *argv[]) +{ + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + test_vasnprintf (); + return 0; +} diff --git a/tests/unistdio/test-ulc-vasnprintf3.sh b/tests/unistdio/test-ulc-vasnprintf3.sh new file mode 100755 index 00000000..caa528a6 --- /dev/null +++ b/tests/unistdio/test-ulc-vasnprintf3.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Test whether a french Unicode locale is installed. +: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +if test $LOCALE_FR_UTF8 != none; then + testlocale=$LOCALE_FR_UTF8 +else + if test -f /usr/bin/localedef; then + echo "Skipping test: no french Unicode locale is installed" + else + echo "Skipping test: no french Unicode locale is supported" + fi + exit 77 +fi + +LC_ALL=$testlocale \ +./test-ulc-vasnprintf1${EXEEXT} \ + || exit 1 + +LC_ALL=$testlocale \ +./test-ulc-vasnprintf3${EXEEXT} diff --git a/tests/unistdio/test-ulc-vasprintf1.c b/tests/unistdio/test-ulc-vasprintf1.c new file mode 100644 index 00000000..d8ed67c2 --- /dev/null +++ b/tests/unistdio/test-ulc-vasprintf1.c @@ -0,0 +1,72 @@ +/* Test of ulc_vasprintf() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-ulc-printf1.h" + +static char * +my_xasprintf (const char *format, ...) +{ + va_list args; + char *result; + int retval; + + va_start (args, format); + retval = ulc_vasprintf (&result, format, args); + va_end (args); + if (retval < 0) + return NULL; + ASSERT (result != NULL); + return result; +} + +static void +test_vasprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + test_vasprintf (); + return 0; +} diff --git a/tests/unistdio/test-ulc-vsnprintf1.c b/tests/unistdio/test-ulc-vsnprintf1.c new file mode 100644 index 00000000..7701c21e --- /dev/null +++ b/tests/unistdio/test-ulc-vsnprintf1.c @@ -0,0 +1,77 @@ +/* Test of ulc_vsnprintf() function. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#include "xalloc.h" +#include "progname.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-ulc-printf1.h" + +static char * +my_xasprintf (const char *format, ...) +{ + va_list args; + char result[1000]; + int retval; + + va_start (args, format); + retval = ulc_vsnprintf (result, sizeof (result), format, args); + va_end (args); + if (retval < 0 || retval >= (int) sizeof (result)) + return NULL; + return xstrdup (result); +} + +static void +test_vsnprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + set_program_name (argv[0]); + + test_vsnprintf (); + + return 0; +} diff --git a/tests/unistdio/test-ulc-vsprintf1.c b/tests/unistdio/test-ulc-vsprintf1.c new file mode 100644 index 00000000..76b85b29 --- /dev/null +++ b/tests/unistdio/test-ulc-vsprintf1.c @@ -0,0 +1,77 @@ +/* Test of ulc_vsprintf() function. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "unistdio.h" + +#include +#include +#include +#include +#include +#include + +#include "xalloc.h" +#include "progname.h" + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +#include "test-ulc-printf1.h" + +static char * +my_xasprintf (const char *format, ...) +{ + va_list args; + char result[1000]; + int retval; + + va_start (args, format); + retval = ulc_vsprintf (result, format, args); + va_end (args); + if (retval < 0 || retval >= (int) sizeof (result)) + return NULL; + return xstrdup (result); +} + +static void +test_vsprintf () +{ + test_xfunction (my_xasprintf); +} + +int +main (int argc, char *argv[]) +{ + set_program_name (argv[0]); + + test_vsprintf (); + + return 0; +} diff --git a/tests/uniwbrk/test-u16-wordbreaks.c b/tests/uniwbrk/test-u16-wordbreaks.c new file mode 100644 index 00000000..b5eb26cd --- /dev/null +++ b/tests/uniwbrk/test-u16-wordbreaks.c @@ -0,0 +1,106 @@ +/* Test of word breaks in UTF-16 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uniwbrk.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test case n = 0. */ + u16_wordbreaks (NULL, 0, NULL); + + { + static const uint16_t input[61] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u16_wordbreaks (input, SIZEOF (input), p); + + for (i = 0; i < 61; i++) + { + ASSERT (p[i] == ((i >= 4 && i <= 5) + || (i >= 9 && i <= 11) + || (i >= 23 && i <= 31) + || (i >= 35 && i <= 39) + || (i >= 42 && i <= 46) + || (i >= 48 && i <= 58) + || i == 60 + ? 1 : 0)); + } + free (p); + } + + { + /* Same input string, decomposed. */ + static const uint16_t input[67] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + { 'G', 'r', 0x0075, 0x0308, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0438, 0x0306, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', + 0x1112, 0x1161, 0x11AB, 0x1100, 0x1173, 0x11AF, '\n' + }; + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u16_wordbreaks (input, SIZEOF (input), p); + + for (i = 0; i < 67; i++) + { + ASSERT (p[i] == ((i >= 5 && i <= 6) + || (i >= 10 && i <= 12) + || (i >= 25 && i <= 33) + || (i >= 37 && i <= 41) + || (i >= 44 && i <= 48) + || (i >= 50 && i <= 60) + || i == 66 + ? 1 : 0)); + } + free (p); + } + + return 0; +} diff --git a/tests/uniwbrk/test-u32-wordbreaks.c b/tests/uniwbrk/test-u32-wordbreaks.c new file mode 100644 index 00000000..c6feb84f --- /dev/null +++ b/tests/uniwbrk/test-u32-wordbreaks.c @@ -0,0 +1,106 @@ +/* Test of word breaks in UTF-32 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uniwbrk.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test case n = 0. */ + u32_wordbreaks (NULL, 0, NULL); + + { + static const uint32_t input[61] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + { 'G', 'r', 0x00FC, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0439, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', 0xD55C, 0xAE00, '\n' + }; + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u32_wordbreaks (input, SIZEOF (input), p); + + for (i = 0; i < 61; i++) + { + ASSERT (p[i] == ((i >= 4 && i <= 5) + || (i >= 9 && i <= 11) + || (i >= 23 && i <= 31) + || (i >= 35 && i <= 39) + || (i >= 42 && i <= 46) + || (i >= 48 && i <= 58) + || i == 60 + ? 1 : 0)); + } + free (p); + } + + { + /* Same input string, decomposed. */ + static const uint32_t input[67] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + { 'G', 'r', 0x0075, 0x0308, 0x00DF, ' ', 'G', 'o', 't', 't', '.', ' ', + 0x0417, 0x0434, 0x0440, 0x0430, 0x0432, 0x0441, 0x0442, 0x0432, 0x0443, + 0x0438, 0x0306, 0x0442, 0x0435, '!', ' ', + 'x', '=', '(', '-', 'b', 0x00B1, 's', 'q', 'r', 't', '(', 'b', 0x00B2, + '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', + 0x65E5, 0x672C, 0x8A9E, ',', 0x4E2D, 0x6587, ',', + 0x1112, 0x1161, 0x11AB, 0x1100, 0x1173, 0x11AF, '\n' + }; + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u32_wordbreaks (input, SIZEOF (input), p); + + for (i = 0; i < 67; i++) + { + ASSERT (p[i] == ((i >= 5 && i <= 6) + || (i >= 10 && i <= 12) + || (i >= 25 && i <= 33) + || (i >= 37 && i <= 41) + || (i >= 44 && i <= 48) + || (i >= 50 && i <= 60) + || i == 66 + ? 1 : 0)); + } + free (p); + } + + return 0; +} diff --git a/tests/uniwbrk/test-u8-wordbreaks.c b/tests/uniwbrk/test-u8-wordbreaks.c new file mode 100644 index 00000000..c2633025 --- /dev/null +++ b/tests/uniwbrk/test-u8-wordbreaks.c @@ -0,0 +1,97 @@ +/* Test of word breaks in UTF-8 strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uniwbrk.h" + +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* Test case n = 0. */ + u8_wordbreaks (NULL, 0, NULL); + + { + static const uint8_t input[91] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + "Gr\303\274\303\237 Gott. \320\227\320\264\321\200\320\260\320\262\321\201\321\202\320\262\321\203\320\271\321\202\320\265! x=(-b\302\261sqrt(b\302\262-4ac))/(2a) \346\227\245\346\234\254\350\252\236,\344\270\255\346\226\207,\355\225\234\352\270\200\n"; + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u8_wordbreaks (input, SIZEOF (input), p); + + for (i = 0; i < 91; i++) + { + ASSERT (p[i] == ((i >= 6 && i <= 7) + || (i >= 11 && i <= 13) + || (i >= 37 && i <= 44) + || i == 46 || (i >= 50 && i <= 52) + || (i >= 54 && i <= 55) + || (i >= 58 && i <= 62) || (i >= 64 && i <= 67) + || i == 70 || i == 73 || i == 76 + || i == 77 || i == 80 || i == 83 + || i == 84 || i == 90 + ? 1 : 0)); + } + free (p); + } + + { + /* Same input string, decomposed. */ + static const uint8_t input[106] = + /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ + "Gru\314\210\303\237 Gott. \320\227\320\264\321\200\320\260\320\262\321\201\321\202\320\262\321\203\320\270\314\206\321\202\320\265! x=(-b\302\261sqrt(b\302\262-4ac))/(2a) \346\227\245\346\234\254\350\252\236,\344\270\255\346\226\207,\341\204\222\341\205\241\341\206\253\341\204\200\341\205\263\341\206\257\n"; + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + u8_wordbreaks (input, SIZEOF (input), p); + + for (i = 0; i < 106; i++) + { + ASSERT (p[i] == ((i >= 7 && i <= 8) + || (i >= 12 && i <= 14) + || (i >= 40 && i <= 47) + || i == 49 || (i >= 53 && i <= 55) + || (i >= 57 && i <= 58) + || (i >= 61 && i <= 65) || (i >= 67 && i <= 70) + || i == 73 || i == 76 || i == 79 + || i == 80 || i == 83 || i == 86 + || i == 87 || i == 105 + ? 1 : 0)); + } + free (p); + } + + return 0; +} diff --git a/tests/uniwbrk/test-ulc-wordbreaks.c b/tests/uniwbrk/test-ulc-wordbreaks.c new file mode 100644 index 00000000..80284ab2 --- /dev/null +++ b/tests/uniwbrk/test-ulc-wordbreaks.c @@ -0,0 +1,74 @@ +/* Test of word breaks in strings. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uniwbrk.h" + +#include +#include +#include + +#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + /* configure should already have checked that the locale is supported. */ + if (setlocale (LC_ALL, "") == NULL) + return 1; + + /* Test case n = 0. */ + ulc_wordbreaks (NULL, 0, NULL); + +#if HAVE_ICONV + { + static const char input[36] = + /* "Grüß Gott. x=(-b±sqrt(b²-4ac))/(2a)" */ + "Gr\374\337 Gott. x=(-b\261sqrt(b\262-4ac))/(2a)\n"; + char *p = (char *) malloc (SIZEOF (input)); + size_t i; + + ulc_wordbreaks (input, SIZEOF (input), p); + + for (i = 0; i < 36; i++) + { + ASSERT (p[i] == ((i >= 4 && i <= 5) + || (i >= 9 && i <= 17) + || (i >= 21 && i <= 25) + || (i >= 28 && i <= 32) + || (i >= 34 && i <= 35) + ? 1 : 0)); + } + free (p); + } +#endif + + return 0; +} diff --git a/tests/uniwbrk/test-ulc-wordbreaks.sh b/tests/uniwbrk/test-ulc-wordbreaks.sh new file mode 100755 index 00000000..96bae501 --- /dev/null +++ b/tests/uniwbrk/test-ulc-wordbreaks.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Test in an ISO-8859-1 or ISO-8859-15 locale. +: ${LOCALE_FR=fr_FR} +if test $LOCALE_FR = none; then + if test -f /usr/bin/localedef; then + echo "Skipping test: no traditional french locale is installed" + else + echo "Skipping test: no traditional french locale is supported" + fi + exit 77 +fi + +LC_ALL=$LOCALE_FR \ +./test-ulc-wordbreaks${EXEEXT} diff --git a/tests/uniwidth/test-u16-strwidth.c b/tests/uniwidth/test-u16-strwidth.c new file mode 100644 index 00000000..7365426f --- /dev/null +++ b/tests/uniwidth/test-u16-strwidth.c @@ -0,0 +1,71 @@ +/* Test of u16_strwidth() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniwidth.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + { + static const uint16_t input[] = /* "Danilo Šegan" */ + { 'D', 'a', 'n', 'i', 'l', 'o', ' ', 0x0160, 'e', 'g', 'a', 'n', 0 }; + ASSERT (u16_strwidth (input, "UTF-8") == 12); + } + + { + static const uint16_t input[] = /* "Danilo Šegan" decomposed */ + { 'D', 'a', 'n', 'i', 'l', 'o', ' ', 'S', 0x030C, 'e', 'g', 'a', 'n', 0 }; + ASSERT (u16_strwidth (input, "UTF-8") == 12); + } + + { + static const uint16_t input[] = /* "Данило Шеган" */ + { + 0x0414, 0x0430, 0x043D, 0x0438, 0x043B, 0x043E, ' ', + 0x0428, 0x0435, 0x0433, 0x0430, 0x043D, 0 + }; + ASSERT (u16_strwidth (input, "UTF-8") == 12); + ASSERT (u16_strwidth (input, "EUC-JP") == 23); + } + + { + static const uint16_t input[] = /* 刘军民 */ + { 0x5218, 0x519B, 0x6C11, 0 }; + ASSERT (u16_strwidth (input, "UTF-8") == 6); + ASSERT (u16_strwidth (input, "GB2312") == 6); + } + + return 0; +} diff --git a/tests/uniwidth/test-u16-width.c b/tests/uniwidth/test-u16-width.c new file mode 100644 index 00000000..b3e2b592 --- /dev/null +++ b/tests/uniwidth/test-u16-width.c @@ -0,0 +1,77 @@ +/* Test of u16_width() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniwidth.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + static const uint16_t input[] = + { + #define INPUT1_OFFSET 0 + #define INPUT1_LENGTH 12 + 'D', 'a', 'n', 'i', 'l', 'o', ' ', 0x0160, 'e', 'g', 'a', 'n', + #define INPUT2_OFFSET 12 + #define INPUT2_LENGTH 13 + 'D', 'a', 'n', 'i', 'l', 'o', ' ', 'S', 0x030C, 'e', 'g', 'a', 'n', + #define INPUT3_OFFSET 25 + #define INPUT3_LENGTH 12 + 0x0414, 0x0430, 0x043D, 0x0438, 0x043B, 0x043E, ' ', + 0x0428, 0x0435, 0x0433, 0x0430, 0x043D, + #define INPUT4_OFFSET 37 + #define INPUT4_LENGTH 3 + 0x5218, 0x519B, 0x6C11 + }; + + { /* "Danilo Šegan" */ + ASSERT (u16_width (input + INPUT1_OFFSET, INPUT1_LENGTH, "UTF-8") == 12); + } + + { /* "Danilo Šegan" decomposed */ + ASSERT (u16_width (input + INPUT2_OFFSET, INPUT2_LENGTH, "UTF-8") == 12); + } + + { /* "Данило Шеган" */ + ASSERT (u16_width (input + INPUT3_OFFSET, INPUT3_LENGTH, "UTF-8") == 12); + ASSERT (u16_width (input + INPUT3_OFFSET, INPUT3_LENGTH, "EUC-JP") == 23); + } + + { /* 刘军民 */ + ASSERT (u16_width (input + INPUT4_OFFSET, INPUT4_LENGTH, "UTF-8") == 6); + ASSERT (u16_width (input + INPUT4_OFFSET, INPUT4_LENGTH, "GB2312") == 6); + } + + return 0; +} diff --git a/tests/uniwidth/test-u32-strwidth.c b/tests/uniwidth/test-u32-strwidth.c new file mode 100644 index 00000000..3976daa9 --- /dev/null +++ b/tests/uniwidth/test-u32-strwidth.c @@ -0,0 +1,71 @@ +/* Test of u32_strwidth() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniwidth.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + { + static const uint32_t input[] = /* "Danilo Šegan" */ + { 'D', 'a', 'n', 'i', 'l', 'o', ' ', 0x0160, 'e', 'g', 'a', 'n', 0 }; + ASSERT (u32_strwidth (input, "UTF-8") == 12); + } + + { + static const uint32_t input[] = /* "Danilo Šegan" decomposed */ + { 'D', 'a', 'n', 'i', 'l', 'o', ' ', 'S', 0x030C, 'e', 'g', 'a', 'n', 0 }; + ASSERT (u32_strwidth (input, "UTF-8") == 12); + } + + { + static const uint32_t input[] = /* "Данило Шеган" */ + { + 0x0414, 0x0430, 0x043D, 0x0438, 0x043B, 0x043E, ' ', + 0x0428, 0x0435, 0x0433, 0x0430, 0x043D, 0 + }; + ASSERT (u32_strwidth (input, "UTF-8") == 12); + ASSERT (u32_strwidth (input, "EUC-JP") == 23); + } + + { + static const uint32_t input[] = /* 刘军民 */ + { 0x5218, 0x519B, 0x6C11, 0 }; + ASSERT (u32_strwidth (input, "UTF-8") == 6); + ASSERT (u32_strwidth (input, "GB2312") == 6); + } + + return 0; +} diff --git a/tests/uniwidth/test-u32-width.c b/tests/uniwidth/test-u32-width.c new file mode 100644 index 00000000..05fd856d --- /dev/null +++ b/tests/uniwidth/test-u32-width.c @@ -0,0 +1,77 @@ +/* Test of u32_width() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniwidth.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + static const uint32_t input[] = + { + #define INPUT1_OFFSET 0 + #define INPUT1_LENGTH 12 + 'D', 'a', 'n', 'i', 'l', 'o', ' ', 0x0160, 'e', 'g', 'a', 'n', + #define INPUT2_OFFSET 12 + #define INPUT2_LENGTH 13 + 'D', 'a', 'n', 'i', 'l', 'o', ' ', 'S', 0x030C, 'e', 'g', 'a', 'n', + #define INPUT3_OFFSET 25 + #define INPUT3_LENGTH 12 + 0x0414, 0x0430, 0x043D, 0x0438, 0x043B, 0x043E, ' ', + 0x0428, 0x0435, 0x0433, 0x0430, 0x043D, + #define INPUT4_OFFSET 37 + #define INPUT4_LENGTH 3 + 0x5218, 0x519B, 0x6C11 + }; + + { /* "Danilo Šegan" */ + ASSERT (u32_width (input + INPUT1_OFFSET, INPUT1_LENGTH, "UTF-8") == 12); + } + + { /* "Danilo Šegan" decomposed */ + ASSERT (u32_width (input + INPUT2_OFFSET, INPUT2_LENGTH, "UTF-8") == 12); + } + + { /* "Данило Шеган" */ + ASSERT (u32_width (input + INPUT3_OFFSET, INPUT3_LENGTH, "UTF-8") == 12); + ASSERT (u32_width (input + INPUT3_OFFSET, INPUT3_LENGTH, "EUC-JP") == 23); + } + + { /* 刘军民 */ + ASSERT (u32_width (input + INPUT4_OFFSET, INPUT4_LENGTH, "UTF-8") == 6); + ASSERT (u32_width (input + INPUT4_OFFSET, INPUT4_LENGTH, "GB2312") == 6); + } + + return 0; +} diff --git a/tests/uniwidth/test-u8-strwidth.c b/tests/uniwidth/test-u8-strwidth.c new file mode 100644 index 00000000..3fbb39e5 --- /dev/null +++ b/tests/uniwidth/test-u8-strwidth.c @@ -0,0 +1,66 @@ +/* Test of u8_strwidth() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniwidth.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + { + static const uint8_t input[] = "Danilo \305\240egan"; /* "Danilo Šegan" */ + ASSERT (u8_strwidth (input, "UTF-8") == 12); + } + + { + static const uint8_t input[] = "Danilo S\314\214egan"; /* "Danilo Šegan" decomposed */ + ASSERT (u8_strwidth (input, "UTF-8") == 12); + } + + { + static const uint8_t input[] = /* "Данило Шеган" */ + "\320\224\320\260\320\275\320\270\320\273\320\276 \320\250\320\265\320\263\320\260\320\275"; + ASSERT (u8_strwidth (input, "UTF-8") == 12); + ASSERT (u8_strwidth (input, "EUC-JP") == 23); + } + + { + static const uint8_t input[] = /* 刘军民 */ + "\345\210\230\345\206\233\346\260\221"; + ASSERT (u8_strwidth (input, "UTF-8") == 6); + ASSERT (u8_strwidth (input, "GB2312") == 6); + } + + return 0; +} diff --git a/tests/uniwidth/test-u8-width.c b/tests/uniwidth/test-u8-width.c new file mode 100644 index 00000000..b2532897 --- /dev/null +++ b/tests/uniwidth/test-u8-width.c @@ -0,0 +1,75 @@ +/* Test of u8_width() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniwidth.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + static const uint8_t input[] = + #define INPUT1_OFFSET 0 + #define INPUT1_LENGTH 13 + "Danilo \305\240egan" + #define INPUT2_OFFSET 13 + #define INPUT2_LENGTH 14 + "Danilo S\314\214egan" + #define INPUT3_OFFSET 27 + #define INPUT3_LENGTH 23 + "\320\224\320\260\320\275\320\270\320\273\320\276 \320\250\320\265\320\263\320\260\320\275" + #define INPUT4_OFFSET 50 + #define INPUT4_LENGTH 9 + "\345\210\230\345\206\233\346\260\221" + ; + + { /* "Danilo Šegan" */ + ASSERT (u8_width (input + INPUT1_OFFSET, INPUT1_LENGTH, "UTF-8") == 12); + } + + { /* "Danilo Šegan" decomposed */ + ASSERT (u8_width (input + INPUT2_OFFSET, INPUT2_LENGTH, "UTF-8") == 12); + } + + { /* "Данило Шеган" */ + ASSERT (u8_width (input + INPUT3_OFFSET, INPUT3_LENGTH, "UTF-8") == 12); + ASSERT (u8_width (input + INPUT3_OFFSET, INPUT3_LENGTH, "EUC-JP") == 23); + } + + { /* 刘军民 */ + ASSERT (u8_width (input + INPUT4_OFFSET, INPUT4_LENGTH, "UTF-8") == 6); + ASSERT (u8_width (input + INPUT4_OFFSET, INPUT4_LENGTH, "GB2312") == 6); + } + + return 0; +} diff --git a/tests/uniwidth/test-uc_width.c b/tests/uniwidth/test-uc_width.c new file mode 100644 index 00000000..d7335cfd --- /dev/null +++ b/tests/uniwidth/test-uc_width.c @@ -0,0 +1,69 @@ +/* Test of uc_width() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "uniwidth.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ucs4_t uc; + + /* Test width of ASCII characters. */ + for (uc = 0x0020; uc < 0x007F; uc++) + ASSERT (uc_width (uc, "ISO-8859-2") == 1); + + /* Test width of some non-spacing characters. */ + ASSERT (uc_width (0x0301, "UTF-8") == 0); + ASSERT (uc_width (0x05B0, "UTF-8") == 0); + + /* Test width of some format control characters. */ + ASSERT (uc_width (0x200E, "UTF-8") == 0); + ASSERT (uc_width (0x2060, "UTF-8") == 0); + ASSERT (uc_width (0xE0001, "UTF-8") == 0); + ASSERT (uc_width (0xE0044, "UTF-8") == 0); + + /* Test width of some zero width characters. */ + ASSERT (uc_width (0x200B, "UTF-8") == 0); + ASSERT (uc_width (0xFEFF, "UTF-8") == 0); + + /* Test width of some CJK characters. */ + ASSERT (uc_width (0x3000, "UTF-8") == 2); + ASSERT (uc_width (0xB250, "UTF-8") == 2); + ASSERT (uc_width (0xFF1A, "UTF-8") == 2); + ASSERT (uc_width (0x20369, "UTF-8") == 2); + ASSERT (uc_width (0x2F876, "UTF-8") == 2); + + return 0; +} diff --git a/tests/uniwidth/test-uc_width2.c b/tests/uniwidth/test-uc_width2.c new file mode 100644 index 00000000..2bf143c2 --- /dev/null +++ b/tests/uniwidth/test-uc_width2.c @@ -0,0 +1,97 @@ +/* Test of uc_width() function. + Copyright (C) 2007-2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2008. */ + +#include + +#include "uniwidth.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +/* One of 0, '0', '1', 'A', '2'. */ +static char current_width; +/* The interval for which the current_width holds. */ +static ucs4_t current_start; +static ucs4_t current_end; + +static void +finish_interval (void) +{ + if (current_width != 0) + { + if (current_start == current_end) + printf ("%04X\t\t%c\n", (unsigned) current_start, current_width); + else + printf ("%04X..%04X\t%c\n", (unsigned) current_start, + (unsigned) current_end, current_width); + current_width = 0; + } +} + +static void +add_to_interval (ucs4_t uc, char width) +{ + if (current_width == width && uc == current_end + 1) + current_end = uc; + else + { + finish_interval (); + current_width = width; + current_start = current_end = uc; + } +} + +int +main () +{ + ucs4_t uc; + + for (uc = 0; uc < 0x110000; uc++) + { + int w1 = uc_width (uc, "UTF-8"); + int w2 = uc_width (uc, "GBK"); + char width = + (w1 == 0 && w2 == 0 ? '0' : + w1 == 1 && w2 == 1 ? '1' : + w1 == 1 && w2 == 2 ? 'A' : + w1 == 2 && w2 == 2 ? '2' : + 0); + if (width == 0) + { + /* uc must be a control character. */ + ASSERT (w1 < 0 && w2 < 0); + } + else + add_to_interval (uc, width); + } + finish_interval (); + + return 0; +} diff --git a/tests/uniwidth/test-uc_width2.sh b/tests/uniwidth/test-uc_width2.sh new file mode 100755 index 00000000..484288c9 --- /dev/null +++ b/tests/uniwidth/test-uc_width2.sh @@ -0,0 +1,382 @@ +#!/bin/sh + +tmpfiles="" +trap 'rm -fr $tmpfiles' 1 2 3 15 + +tmpfiles="$tmpfiles uc_width.out" +./test-uc_width2${EXEEXT} | LC_ALL=C tr -d '\r' > uc_width.out + +tmpfiles="$tmpfiles uc_width.ok" +cat > uc_width.ok <<\EOF +0000 0 +0020..007E 1 +00A0 1 +00A1..00AC A +00AD 0 +00AE..02FF A +0300..036F 0 +0370..0482 A +0483..0489 0 +048A..0590 A +0591..05BD 0 +05BE A +05BF 0 +05C0 A +05C1..05C2 0 +05C3 A +05C4..05C5 0 +05C6 A +05C7 0 +05C8..05FF A +0600..0603 0 +0604..060F A +0610..061A 0 +061B..064A A +064B..065E 0 +065F..066F A +0670 0 +0671..06D5 A +06D6..06E4 0 +06E5..06E6 A +06E7..06E8 0 +06E9 A +06EA..06ED 0 +06EE..070E A +070F 0 +0710 A +0711 0 +0712..072F A +0730..074A 0 +074B..07A5 A +07A6..07B0 0 +07B1..07EA A +07EB..07F3 0 +07F4..0900 A +0901..0902 0 +0903..093B A +093C 0 +093D..0940 A +0941..0948 0 +0949..094C A +094D 0 +094E..0950 A +0951..0954 0 +0955..0961 A +0962..0963 0 +0964..0980 A +0981 0 +0982..09BB A +09BC 0 +09BD..09C0 A +09C1..09C4 0 +09C5..09CC A +09CD 0 +09CE..09E1 A +09E2..09E3 0 +09E4..0A00 A +0A01..0A02 0 +0A03..0A3B A +0A3C 0 +0A3D..0A40 A +0A41..0A42 0 +0A43..0A46 A +0A47..0A48 0 +0A49..0A4A A +0A4B..0A4D 0 +0A4E..0A50 A +0A51 0 +0A52..0A6F A +0A70..0A71 0 +0A72..0A74 A +0A75 0 +0A76..0A80 A +0A81..0A82 0 +0A83..0ABB A +0ABC 0 +0ABD..0AC0 A +0AC1..0AC5 0 +0AC6 A +0AC7..0AC8 0 +0AC9..0ACC A +0ACD 0 +0ACE..0AE1 A +0AE2..0AE3 0 +0AE4..0B00 A +0B01 0 +0B02..0B3B A +0B3C 0 +0B3D..0B3E A +0B3F 0 +0B40 A +0B41..0B44 0 +0B45..0B4C A +0B4D 0 +0B4E..0B55 A +0B56 0 +0B57..0B61 A +0B62..0B63 0 +0B64..0B81 A +0B82 0 +0B83..0BBF A +0BC0 0 +0BC1..0BCC A +0BCD 0 +0BCE..0C3D A +0C3E..0C40 0 +0C41..0C45 A +0C46..0C48 0 +0C49 A +0C4A..0C4D 0 +0C4E..0C54 A +0C55..0C56 0 +0C57..0C61 A +0C62..0C63 0 +0C64..0CBB A +0CBC 0 +0CBD..0CCB A +0CCC..0CCD 0 +0CCE..0CE1 A +0CE2..0CE3 0 +0CE4..0D40 A +0D41..0D44 0 +0D45..0D4C A +0D4D 0 +0D4E..0D61 A +0D62..0D63 0 +0D64..0DC9 A +0DCA 0 +0DCB..0DD1 A +0DD2..0DD4 0 +0DD5 A +0DD6 0 +0DD7..0E30 A +0E31 0 +0E32..0E33 A +0E34..0E3A 0 +0E3B..0E46 A +0E47..0E4E 0 +0E4F..0EB0 A +0EB1 0 +0EB2..0EB3 A +0EB4..0EB9 0 +0EBA A +0EBB..0EBC 0 +0EBD..0EC7 A +0EC8..0ECD 0 +0ECE..0F17 A +0F18..0F19 0 +0F1A..0F34 A +0F35 0 +0F36 A +0F37 0 +0F38 A +0F39 0 +0F3A..0F70 A +0F71..0F7E 0 +0F7F A +0F80..0F84 0 +0F85 A +0F86..0F87 0 +0F88..0F8F A +0F90..0F97 0 +0F98 A +0F99..0FBC 0 +0FBD..0FC5 A +0FC6 0 +0FC7..102C A +102D..1030 0 +1031 A +1032..1037 0 +1038 A +1039..103A 0 +103B..103C A +103D..103E 0 +103F..1057 A +1058..1059 0 +105A..105D A +105E..1060 0 +1061..1070 A +1071..1074 0 +1075..1081 A +1082 0 +1083..1084 A +1085..1086 0 +1087..108C A +108D 0 +108E..10FF A +1100..115F 2 +1160..135E A +135F 0 +1360..1711 A +1712..1714 0 +1715..1731 A +1732..1734 0 +1735..1751 A +1752..1753 0 +1754..1771 A +1772..1773 0 +1774..17B3 A +17B4..17B5 0 +17B6 A +17B7..17BD 0 +17BE..17C5 A +17C6 0 +17C7..17C8 A +17C9..17D3 0 +17D4..17DC A +17DD 0 +17DE..180A A +180B..180D 0 +180E..18A8 A +18A9 0 +18AA..191F A +1920..1922 0 +1923..1926 A +1927..1928 0 +1929..1931 A +1932 0 +1933..1938 A +1939..193B 0 +193C..1A16 A +1A17..1A18 0 +1A19..1AFF A +1B00..1B03 0 +1B04..1B33 A +1B34 0 +1B35 A +1B36..1B3A 0 +1B3B A +1B3C 0 +1B3D..1B41 A +1B42 0 +1B43..1B6A A +1B6B..1B73 0 +1B74..1B7F A +1B80..1B81 0 +1B82..1BA1 A +1BA2..1BA5 0 +1BA6..1BA7 A +1BA8..1BA9 0 +1BAA..1C2B A +1C2C..1C33 0 +1C34..1C35 A +1C36..1C37 0 +1C38..1DBF A +1DC0..1DE6 0 +1DE7..1DFD A +1DFE..1DFF 0 +1E00..200A A +200B..200F 0 +2010..2029 A +202A..202E 0 +202F..205F A +2060..2064 0 +2065..2069 A +206A..206F 0 +2070..20A8 A +20A9 1 +20AA..20CF A +20D0..20F0 0 +20F1..2328 A +2329..232A 2 +232B..2DDF A +2DE0..2DFF 0 +2E00..2E7F A +2E80..3029 2 +302A..302F 0 +3030..303E 2 +303F A +3040..3098 2 +3099..309A 0 +309B..4DBF 2 +4DC0..4DFF A +4E00..A4CF 2 +A4D0..A66E A +A66F..A672 0 +A673..A67B A +A67C..A67D 0 +A67E..A801 A +A802 0 +A803..A805 A +A806 0 +A807..A80A A +A80B 0 +A80C..A824 A +A825..A826 0 +A827..A8C3 A +A8C4 0 +A8C5..A925 A +A926..A92D 0 +A92E..A946 A +A947..A951 0 +A952..AA28 A +AA29..AA2E 0 +AA2F..AA30 A +AA31..AA32 0 +AA33..AA34 A +AA35..AA36 0 +AA37..AA42 A +AA43 0 +AA44..AA4B A +AA4C 0 +AA4D..ABFF A +AC00..D7A3 2 +D7A4..F8FF A +F900..FAFF 2 +FB00..FB1D A +FB1E 0 +FB1F..FDFF A +FE00..FE0F 0 +FE10..FE1F 2 +FE20..FE26 0 +FE27..FE2F A +FE30..FE6F 2 +FE70..FEFE A +FEFF 0 +FF00..FF60 2 +FF61..FFDF 1 +FFE0..FFE6 2 +FFE7..FFF8 1 +FFF9..FFFB 0 +FFFC..101FC 1 +101FD 0 +101FE..10A00 1 +10A01..10A03 0 +10A04 1 +10A05..10A06 0 +10A07..10A0B 1 +10A0C..10A0F 0 +10A10..10A37 1 +10A38..10A3A 0 +10A3B..10A3E 1 +10A3F 0 +10A40..1D166 1 +1D167..1D169 0 +1D16A..1D17A 1 +1D17B..1D182 0 +1D183..1D184 1 +1D185..1D18B 0 +1D18C..1D1A9 1 +1D1AA..1D1AD 0 +1D1AE..1D241 1 +1D242..1D244 0 +1D245..1FFFF 1 +20000..2A6D6 2 +2A6D7..2F7FF 1 +2F800..2FA1D 2 +2FA1E..E0000 1 +E0001 0 +E0002..E001F 1 +E0020..E007F 0 +E0080..E00FF 1 +E0100..E01EF 0 +E01F0..10FFFF 1 +EOF + +: ${DIFF=diff} +${DIFF} uc_width.ok uc_width.out +result=$? + +rm -fr $tmpfiles + +exit $result diff --git a/tests/unsetenv.c b/tests/unsetenv.c new file mode 100644 index 00000000..73ea878a --- /dev/null +++ b/tests/unsetenv.c @@ -0,0 +1,90 @@ +/* Copyright (C) 1992,1995-1999,2000-2002,2005-2008 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include +#if !_LIBC +# define __set_errno(ev) ((errno) = (ev)) +#endif + +#include +#include + +#if !_LIBC +# define __environ environ +#endif + +#if _LIBC +/* This lock protects against simultaneous modifications of `environ'. */ +# include +__libc_lock_define_initialized (static, envlock) +# define LOCK __libc_lock_lock (envlock) +# define UNLOCK __libc_lock_unlock (envlock) +#else +# define LOCK +# define UNLOCK +#endif + +/* In the GNU C library we must keep the namespace clean. */ +#ifdef _LIBC +# define unsetenv __unsetenv +#endif + + +int +unsetenv (const char *name) +{ + size_t len; + char **ep; + + if (name == NULL || *name == '\0' || strchr (name, '=') != NULL) + { + __set_errno (EINVAL); + return -1; + } + + len = strlen (name); + + LOCK; + + ep = __environ; + while (*ep != NULL) + if (!strncmp (*ep, name, len) && (*ep)[len] == '=') + { + /* Found it. Remove this pointer by moving later ones back. */ + char **dp = ep; + + do + dp[0] = dp[1]; + while (*dp++); + /* Continue the loop in case NAME appears again. */ + } + else + ++ep; + + UNLOCK; + + return 0; +} + +#ifdef _LIBC +# undef unsetenv +weak_alias (__unsetenv, unsetenv) +#endif diff --git a/tests/wctob.c b/tests/wctob.c new file mode 100644 index 00000000..4fa71b0d --- /dev/null +++ b/tests/wctob.c @@ -0,0 +1,37 @@ +/* Convert wide character to unibyte character. + Copyright (C) 2008 Free Software Foundation, Inc. + Written by Bruno Haible , 2008. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include +#include + +int +wctob (wint_t wc) +{ + char buf[64]; + + if (!(MB_CUR_MAX <= sizeof (buf))) + abort (); + if (wctomb (buf, wc) == 1) + return (unsigned char) buf[0]; + else + return EOF; +} diff --git a/tests/xalloc-die.c b/tests/xalloc-die.c new file mode 100644 index 00000000..0a0694fc --- /dev/null +++ b/tests/xalloc-die.c @@ -0,0 +1,41 @@ +/* Report a memory allocation failure and exit. + + Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2006 Free + Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "xalloc.h" + +#include + +#include "error.h" +#include "exitfail.h" + +#include "gettext.h" +#define _(msgid) gettext (msgid) + +void +xalloc_die (void) +{ + error (exit_failure, 0, "%s", _("memory exhausted")); + + /* The `noreturn' cannot be given to error, since it may return if + its first argument is 0. To help compilers understand the + xalloc_die does not return, call abort. Also, the abort is a + safety feature if exit_failure is 0 (which shouldn't happen). */ + abort (); +} diff --git a/tests/xalloc.h b/tests/xalloc.h new file mode 100644 index 00000000..57a13e0a --- /dev/null +++ b/tests/xalloc.h @@ -0,0 +1,280 @@ +/* xalloc.h -- malloc with out-of-memory checking + + Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, + 1999, 2000, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef XALLOC_H_ +# define XALLOC_H_ + +# include + + +# ifdef __cplusplus +extern "C" { +# endif + + +# ifndef __attribute__ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) +# define __attribute__(x) +# endif +# endif + +# ifndef ATTRIBUTE_NORETURN +# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) +# endif + +# ifndef ATTRIBUTE_MALLOC +# if __GNUC__ >= 3 +# define ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +# else +# define ATTRIBUTE_MALLOC +# endif +# endif + +/* This function is always triggered when memory is exhausted. + It must be defined by the application, either explicitly + or by using gnulib's xalloc-die module. This is the + function to call when one wants the program to die because of a + memory allocation failure. */ +extern void xalloc_die (void) ATTRIBUTE_NORETURN; + +void *xmalloc (size_t s) ATTRIBUTE_MALLOC; +void *xzalloc (size_t s) ATTRIBUTE_MALLOC; +void *xcalloc (size_t n, size_t s) ATTRIBUTE_MALLOC; +void *xrealloc (void *p, size_t s); +void *x2realloc (void *p, size_t *pn); +void *xmemdup (void const *p, size_t s) ATTRIBUTE_MALLOC; +char *xstrdup (char const *str) ATTRIBUTE_MALLOC; + +/* Return 1 if an array of N objects, each of size S, cannot exist due + to size arithmetic overflow. S must be positive and N must be + nonnegative. This is a macro, not an inline function, so that it + works correctly even when SIZE_MAX < N. + + By gnulib convention, SIZE_MAX represents overflow in size + calculations, so the conservative dividend to use here is + SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value. + However, malloc (SIZE_MAX) fails on all known hosts where + sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for + exactly-SIZE_MAX allocations on such hosts; this avoids a test and + branch when S is known to be 1. */ +# define xalloc_oversized(n, s) \ + ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n)) + + +/* In the following macros, T must be an elementary or structure/union or + typedef'ed type, or a pointer to such a type. To apply one of the + following macros to a function pointer or array type, you need to typedef + it first and use the typedef name. */ + +/* Allocate an object of type T dynamically, with error checking. */ +/* extern t *XMALLOC (typename t); */ +# define XMALLOC(t) ((t *) xmalloc (sizeof (t))) + +/* Allocate memory for N elements of type T, with error checking. */ +/* extern t *XNMALLOC (size_t n, typename t); */ +# define XNMALLOC(n, t) \ + ((t *) (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t)))) + +/* Allocate an object of type T dynamically, with error checking, + and zero it. */ +/* extern t *XZALLOC (typename t); */ +# define XZALLOC(t) ((t *) xzalloc (sizeof (t))) + +/* Allocate memory for N elements of type T, with error checking, + and zero it. */ +/* extern t *XCALLOC (size_t n, typename t); */ +# define XCALLOC(n, t) \ + ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t)))) + + +# if HAVE_INLINE +# define static_inline static inline +# else + void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC; + void *xnrealloc (void *p, size_t n, size_t s); + void *x2nrealloc (void *p, size_t *pn, size_t s); + char *xcharalloc (size_t n) ATTRIBUTE_MALLOC; +# endif + +# ifdef static_inline + +/* Allocate an array of N objects, each with S bytes of memory, + dynamically, with error checking. S must be nonzero. */ + +static_inline void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC; +static_inline void * +xnmalloc (size_t n, size_t s) +{ + if (xalloc_oversized (n, s)) + xalloc_die (); + return xmalloc (n * s); +} + +/* Change the size of an allocated block of memory P to an array of N + objects each of S bytes, with error checking. S must be nonzero. */ + +static_inline void * +xnrealloc (void *p, size_t n, size_t s) +{ + if (xalloc_oversized (n, s)) + xalloc_die (); + return xrealloc (p, n * s); +} + +/* If P is null, allocate a block of at least *PN such objects; + otherwise, reallocate P so that it contains more than *PN objects + each of S bytes. *PN must be nonzero unless P is null, and S must + be nonzero. Set *PN to the new number of objects, and return the + pointer to the new block. *PN is never set to zero, and the + returned pointer is never null. + + Repeated reallocations are guaranteed to make progress, either by + allocating an initial block with a nonzero size, or by allocating a + larger block. + + In the following implementation, nonzero sizes are increased by a + factor of approximately 1.5 so that repeated reallocations have + O(N) overall cost rather than O(N**2) cost, but the + specification for this function does not guarantee that rate. + + Here is an example of use: + + int *p = NULL; + size_t used = 0; + size_t allocated = 0; + + void + append_int (int value) + { + if (used == allocated) + p = x2nrealloc (p, &allocated, sizeof *p); + p[used++] = value; + } + + This causes x2nrealloc to allocate a block of some nonzero size the + first time it is called. + + To have finer-grained control over the initial size, set *PN to a + nonzero value before calling this function with P == NULL. For + example: + + int *p = NULL; + size_t used = 0; + size_t allocated = 0; + size_t allocated1 = 1000; + + void + append_int (int value) + { + if (used == allocated) + { + p = x2nrealloc (p, &allocated1, sizeof *p); + allocated = allocated1; + } + p[used++] = value; + } + + */ + +static_inline void * +x2nrealloc (void *p, size_t *pn, size_t s) +{ + size_t n = *pn; + + if (! p) + { + if (! n) + { + /* The approximate size to use for initial small allocation + requests, when the invoking code specifies an old size of + zero. 64 bytes is the largest "small" request for the + GNU C library malloc. */ + enum { DEFAULT_MXFAST = 64 }; + + n = DEFAULT_MXFAST / s; + n += !n; + } + } + else + { + /* Set N = ceil (1.5 * N) so that progress is made if N == 1. + Check for overflow, so that N * S stays in size_t range. + The check is slightly conservative, but an exact check isn't + worth the trouble. */ + if ((size_t) -1 / 3 * 2 / s <= n) + xalloc_die (); + n += (n + 1) / 2; + } + + *pn = n; + return xrealloc (p, n * s); +} + +/* Return a pointer to a new buffer of N bytes. This is like xmalloc, + except it returns char *. */ + +static_inline char *xcharalloc (size_t n) ATTRIBUTE_MALLOC; +static_inline char * +xcharalloc (size_t n) +{ + return XNMALLOC (n, char); +} + +# endif + +# ifdef __cplusplus +} + +/* C++ does not allow conversions from void * to other pointer types + without a cast. Use templates to work around the problem when + possible. */ + +template inline T * +xrealloc (T *p, size_t s) +{ + return (T *) xrealloc ((void *) p, s); +} + +template inline T * +xnrealloc (T *p, size_t n, size_t s) +{ + return (T *) xnrealloc ((void *) p, n, s); +} + +template inline T * +x2realloc (T *p, size_t *pn) +{ + return (T *) x2realloc ((void *) p, pn); +} + +template inline T * +x2nrealloc (T *p, size_t *pn, size_t s) +{ + return (T *) x2nrealloc ((void *) p, pn, s); +} + +template inline T * +xmemdup (T const *p, size_t s) +{ + return (T *) xmemdup ((void const *) p, s); +} + +# endif + + +#endif /* !XALLOC_H_ */ diff --git a/tests/xmalloc.c b/tests/xmalloc.c new file mode 100644 index 00000000..585fb4b1 --- /dev/null +++ b/tests/xmalloc.c @@ -0,0 +1,118 @@ +/* xmalloc.c -- malloc with out of memory checking + + Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, + 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2008-2009 Free Software Foundation, + Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#if ! HAVE_INLINE +# define static_inline +#endif +#include "xalloc.h" +#undef static_inline + +#include +#include + +/* 1 if calloc is known to be compatible with GNU calloc. This + matters if we are not also using the calloc module, which defines + HAVE_CALLOC and supports the GNU API even on non-GNU platforms. */ +#if defined HAVE_CALLOC || defined __GLIBC__ +enum { HAVE_GNU_CALLOC = 1 }; +#else +enum { HAVE_GNU_CALLOC = 0 }; +#endif + +/* Allocate N bytes of memory dynamically, with error checking. */ + +void * +xmalloc (size_t n) +{ + void *p = malloc (n); + if (!p && n != 0) + xalloc_die (); + return p; +} + +/* Change the size of an allocated block of memory P to N bytes, + with error checking. */ + +void * +xrealloc (void *p, size_t n) +{ + p = realloc (p, n); + if (!p && n != 0) + xalloc_die (); + return p; +} + +/* If P is null, allocate a block of at least *PN bytes; otherwise, + reallocate P so that it contains more than *PN bytes. *PN must be + nonzero unless P is null. Set *PN to the new block's size, and + return the pointer to the new block. *PN is never set to zero, and + the returned pointer is never null. */ + +void * +x2realloc (void *p, size_t *pn) +{ + return x2nrealloc (p, pn, 1); +} + +/* Allocate S bytes of zeroed memory dynamically, with error checking. + There's no need for xnzalloc (N, S), since it would be equivalent + to xcalloc (N, S). */ + +void * +xzalloc (size_t s) +{ + return memset (xmalloc (s), 0, s); +} + +/* Allocate zeroed memory for N elements of S bytes, with error + checking. S must be nonzero. */ + +void * +xcalloc (size_t n, size_t s) +{ + void *p; + /* Test for overflow, since some calloc implementations don't have + proper overflow checks. But omit overflow and size-zero tests if + HAVE_GNU_CALLOC, since GNU calloc catches overflow and never + returns NULL if successful. */ + if ((! HAVE_GNU_CALLOC && xalloc_oversized (n, s)) + || (! (p = calloc (n, s)) && (HAVE_GNU_CALLOC || n != 0))) + xalloc_die (); + return p; +} + +/* Clone an object P of size S, with error checking. There's no need + for xnmemdup (P, N, S), since xmemdup (P, N * S) works without any + need for an arithmetic overflow check. */ + +void * +xmemdup (void const *p, size_t s) +{ + return memcpy (xmalloc (s), p, s); +} + +/* Clone STRING. */ + +char * +xstrdup (char const *string) +{ + return xmemdup (string, strlen (string) + 1); +} diff --git a/tests/zerosize-ptr.h b/tests/zerosize-ptr.h new file mode 100644 index 00000000..a38a2cf4 --- /dev/null +++ b/tests/zerosize-ptr.h @@ -0,0 +1,68 @@ +/* Return a pointer to a zero-size object in memory. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* ISO C 99 does not allow memcmp(), memchr() etc. to be invoked with a NULL + argument. Therefore this file produces a non-NULL pointer which cannot + be dereferenced, if possible. */ + +#include + +/* Test whether mmap() and mprotect() are available. + We don't use HAVE_MMAP, because AC_FUNC_MMAP would not define it on HP-UX. + HAVE_MPROTECT is not enough, because mingw does not have mmap() but has an + mprotect() function in libgcc.a. */ +#if HAVE_SYS_MMAN_H && HAVE_MPROTECT +# include +# include +# include +# include +/* Define MAP_FILE when it isn't otherwise. */ +# ifndef MAP_FILE +# define MAP_FILE 0 +# endif +#endif + +/* Return a pointer to a zero-size object in memory (that is, actually, a + pointer to a page boundary where the previous page is readable and writable + and the next page is neither readable not writable), if possible. + Return NULL otherwise. */ + +static void * +zerosize_ptr (void) +{ +/* Use mmap and mprotect when they exist. Don't test HAVE_MMAP, because it is + not defined on HP-UX 11 (since it does not support MAP_FIXED). */ +#if HAVE_SYS_MMAN_H && HAVE_MPROTECT +# if HAVE_MAP_ANONYMOUS + const int flags = MAP_ANONYMOUS | MAP_PRIVATE; + const int fd = -1; +# else /* !HAVE_MAP_ANONYMOUS */ + const int flags = MAP_FILE | MAP_PRIVATE; + int fd = open ("/dev/zero", O_RDONLY, 0666); + if (fd >= 0) +# endif + { + int pagesize = getpagesize (); + char *two_pages = + (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, + flags, fd, 0); + if (two_pages != (char *)(-1) + && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) + return two_pages + pagesize; + } +#endif + return NULL; +} -- cgit v1.2.3