#![doc(primitive = "str")]
+use core::prelude::*;
+
pub use self::MaybeOwned::*;
use self::RecompositionState::*;
use self::DecompositionType::*;
+
use core::borrow::{BorrowFrom, Cow, ToOwned};
use core::default::Default;
use core::fmt;
+use core::hash;
use core::cmp;
use core::iter::AdditiveIterator;
-use core::kinds::Sized;
-use core::prelude::{Char, Clone, Eq, Equiv};
-use core::prelude::{Iterator, IteratorExt, SlicePrelude, None, Option, Ord, Ordering};
-use core::prelude::{PartialEq, PartialOrd, Result, AsSlice, Some, Tuple2};
-use core::prelude::{range};
-use hash;
use ring_buf::RingBuf;
use string::String;
use unicode;
pub trait StrVector for Sized? {
/// Concatenates a vector of strings.
///
- /// # Example
+ /// # Examples
///
/// ```rust
/// let first = "Restaurant at the End of the".to_string();
/// Concatenates a vector of strings, placing a given separator between each.
///
- /// # Example
+ /// # Examples
///
/// ```rust
/// let first = "Roast".to_string();
for i in range(0, len) {
let mut swapped = false;
for j in range(1, len-i) {
- let class_a = *comb[j-1].ref1();
- let class_b = *comb[j].ref1();
+ let class_a = comb[j-1].1;
+ let class_b = comb[j].1;
if class_a != 0 && class_b != 0 && class_a > class_b {
comb.swap(j-1, j);
swapped = true;
///
/// The original string with all occurrences of `from` replaced with `to`.
///
-/// # Example
+/// # Examples
///
/// ```rust
/// use std::str;
impl<'a> MaybeOwned<'a> {
/// Returns `true` if this `MaybeOwned` wraps an owned string.
///
- /// # Example
+ /// # Examples
///
/// ``` ignore
/// let string = String::from_str("orange");
/// Returns `true` if this `MaybeOwned` wraps a borrowed string.
///
- /// # Example
+ /// # Examples
///
/// ``` ignore
/// let string = "orange";
#[deprecated = "use std::borrow::IntoCow"]
#[allow(deprecated)]
impl<'a> IntoMaybeOwned<'a> for String {
- /// # Example
+ /// # Examples
///
/// ``` ignore
/// let owned_string = String::from_str("orange");
#[deprecated = "use std::borrow::IntoCow"]
#[allow(deprecated)]
impl<'a> IntoMaybeOwned<'a> for &'a str {
- /// # Example
+ /// # Examples
///
/// ``` ignore
/// let string = "orange";
#[allow(deprecated)]
#[deprecated = "use std::borrow::IntoCow"]
impl<'a> IntoMaybeOwned<'a> for MaybeOwned<'a> {
- /// # Example
+ /// # Examples
///
/// ``` ignore
/// let str = "orange";
///
/// The original string with all occurrences of `from` replaced with `to`.
///
- /// # Example
+ /// # Examples
///
/// ```rust
/// let s = "Do you know the muffin man,
use std::iter::{Iterator, IteratorExt, DoubleEndedIteratorExt};
use super::*;
- use std::slice::{AsSlice, SlicePrelude};
+ use std::slice::{AsSlice, SliceExt};
use string::String;
use vec::Vec;
- use slice::CloneSliceAllocPrelude;
+ use slice::CloneSliceExt;
use unicode::char::UnicodeChar;
assert_eq!("".len(), 0u);
assert_eq!("hello world".len(), 11u);
assert_eq!("\x63".len(), 1u);
- assert_eq!("\u00a2".len(), 2u);
- assert_eq!("\u03c0".len(), 2u);
- assert_eq!("\u2620".len(), 3u);
- assert_eq!("\U0001d11e".len(), 4u);
+ assert_eq!("\u{a2}".len(), 2u);
+ assert_eq!("\u{3c0}".len(), 2u);
+ assert_eq!("\u{2620}".len(), 3u);
+ assert_eq!("\u{1d11e}".len(), 4u);
assert_eq!("".char_len(), 0u);
assert_eq!("hello world".char_len(), 11u);
assert_eq!("\x63".char_len(), 1u);
- assert_eq!("\u00a2".char_len(), 1u);
- assert_eq!("\u03c0".char_len(), 1u);
- assert_eq!("\u2620".char_len(), 1u);
- assert_eq!("\U0001d11e".char_len(), 1u);
+ assert_eq!("\u{a2}".char_len(), 1u);
+ assert_eq!("\u{3c0}".char_len(), 1u);
+ assert_eq!("\u{2620}".char_len(), 1u);
+ assert_eq!("\u{1d11e}".char_len(), 1u);
assert_eq!("ประเทศไทย中华Việt Nam".char_len(), 19u);
assert_eq!("hello".width(false), 10u);
assert_eq!("\0\0\0\0\0".width(true), 0u);
assert_eq!("".width(false), 0u);
assert_eq!("".width(true), 0u);
- assert_eq!("\u2081\u2082\u2083\u2084".width(false), 4u);
- assert_eq!("\u2081\u2082\u2083\u2084".width(true), 8u);
+ assert_eq!("\u{2081}\u{2082}\u{2083}\u{2084}".width(false), 4u);
+ assert_eq!("\u{2081}\u{2082}\u{2083}\u{2084}".width(true), 8u);
}
#[test]
fn test_find() {
assert_eq!("hello".find('l'), Some(2u));
- assert_eq!("hello".find(|c:char| c == 'o'), Some(4u));
+ assert_eq!("hello".find(|&: c:char| c == 'o'), Some(4u));
assert!("hello".find('x').is_none());
- assert!("hello".find(|c:char| c == 'x').is_none());
+ assert!("hello".find(|&: c:char| c == 'x').is_none());
assert_eq!("ประเทศไทย中华Việt Nam".find('华'), Some(30u));
- assert_eq!("ประเทศไทย中华Việt Nam".find(|c: char| c == '华'), Some(30u));
+ assert_eq!("ประเทศไทย中华Việt Nam".find(|&: c: char| c == '华'), Some(30u));
}
#[test]
fn test_rfind() {
assert_eq!("hello".rfind('l'), Some(3u));
- assert_eq!("hello".rfind(|c:char| c == 'o'), Some(4u));
+ assert_eq!("hello".rfind(|&: c:char| c == 'o'), Some(4u));
assert!("hello".rfind('x').is_none());
- assert!("hello".rfind(|c:char| c == 'x').is_none());
+ assert!("hello".rfind(|&: c:char| c == 'x').is_none());
assert_eq!("ประเทศไทย中华Việt Nam".rfind('华'), Some(30u));
- assert_eq!("ประเทศไทย中华Việt Nam".rfind(|c: char| c == '华'), Some(30u));
+ assert_eq!("ประเทศไทย中华Việt Nam".rfind(|&: c: char| c == '华'), Some(30u));
}
#[test]
assert_eq!("ab", "abc".slice(0, 2));
assert_eq!("bc", "abc".slice(1, 3));
assert_eq!("", "abc".slice(1, 1));
- assert_eq!("\u65e5", "\u65e5\u672c".slice(0, 3));
+ assert_eq!("\u{65e5}", "\u{65e5}\u{672c}".slice(0, 3));
let data = "ประเทศไทย中华";
assert_eq!("ป", data.slice(0, 3));
assert_eq!("11foo1bar11".trim_left_chars('1'), "foo1bar11");
let chars: &[char] = &['1', '2'];
assert_eq!("12foo1bar12".trim_left_chars(chars), "foo1bar12");
- assert_eq!("123foo1bar123".trim_left_chars(|c: char| c.is_numeric()), "foo1bar123");
+ assert_eq!("123foo1bar123".trim_left_chars(|&: c: char| c.is_numeric()), "foo1bar123");
}
#[test]
assert_eq!("11foo1bar11".trim_right_chars('1'), "11foo1bar");
let chars: &[char] = &['1', '2'];
assert_eq!("12foo1bar12".trim_right_chars(chars), "12foo1bar");
- assert_eq!("123foo1bar123".trim_right_chars(|c: char| c.is_numeric()), "123foo1bar");
+ assert_eq!("123foo1bar123".trim_right_chars(|&: c: char| c.is_numeric()), "123foo1bar");
}
#[test]
assert_eq!("11foo1bar11".trim_chars('1'), "foo1bar");
let chars: &[char] = &['1', '2'];
assert_eq!("12foo1bar12".trim_chars(chars), "foo1bar");
- assert_eq!("123foo1bar123".trim_chars(|c: char| c.is_numeric()), "foo1bar");
+ assert_eq!("123foo1bar123".trim_chars(|&: c: char| c.is_numeric()), "foo1bar");
}
#[test]
assert_eq!("a".trim_left(), "a");
assert_eq!(" ".trim_left(), "");
assert_eq!(" blah".trim_left(), "blah");
- assert_eq!(" \u3000 wut".trim_left(), "wut");
+ assert_eq!(" \u{3000} wut".trim_left(), "wut");
assert_eq!("hey ".trim_left(), "hey ");
}
assert_eq!("a".trim_right(), "a");
assert_eq!(" ".trim_right(), "");
assert_eq!("blah ".trim_right(), "blah");
- assert_eq!("wut \u3000 ".trim_right(), "wut");
+ assert_eq!("wut \u{3000} ".trim_right(), "wut");
assert_eq!(" hey".trim_right(), " hey");
}
assert_eq!("a".trim(), "a");
assert_eq!(" ".trim(), "");
assert_eq!(" blah ".trim(), "blah");
- assert_eq!("\nwut \u3000 ".trim(), "wut");
+ assert_eq!("\nwut \u{3000} ".trim(), "wut");
assert_eq!(" hey dude ".trim(), "hey dude");
}
fn test_is_whitespace() {
assert!("".is_whitespace());
assert!(" ".is_whitespace());
- assert!("\u2009".is_whitespace()); // Thin space
+ assert!("\u{2009}".is_whitespace()); // Thin space
assert!(" \n\t ".is_whitespace());
assert!(!" _ ".is_whitespace());
}
#[test]
fn test_escape_unicode() {
- assert_eq!("abc".escape_unicode(), String::from_str("\\x61\\x62\\x63"));
- assert_eq!("a c".escape_unicode(), String::from_str("\\x61\\x20\\x63"));
- assert_eq!("\r\n\t".escape_unicode(), String::from_str("\\x0d\\x0a\\x09"));
- assert_eq!("'\"\\".escape_unicode(), String::from_str("\\x27\\x22\\x5c"));
- assert_eq!("\x00\x01\u00fe\u00ff".escape_unicode(),
- String::from_str("\\x00\\x01\\u00fe\\u00ff"));
- assert_eq!("\u0100\uffff".escape_unicode(), String::from_str("\\u0100\\uffff"));
- assert_eq!("\U00010000\U0010ffff".escape_unicode(),
- String::from_str("\\U00010000\\U0010ffff"));
- assert_eq!("ab\ufb00".escape_unicode(), String::from_str("\\x61\\x62\\ufb00"));
- assert_eq!("\U0001d4ea\r".escape_unicode(), String::from_str("\\U0001d4ea\\x0d"));
+ assert_eq!("abc".escape_unicode(),
+ String::from_str("\\u{61}\\u{62}\\u{63}"));
+ assert_eq!("a c".escape_unicode(),
+ String::from_str("\\u{61}\\u{20}\\u{63}"));
+ assert_eq!("\r\n\t".escape_unicode(),
+ String::from_str("\\u{d}\\u{a}\\u{9}"));
+ assert_eq!("'\"\\".escape_unicode(),
+ String::from_str("\\u{27}\\u{22}\\u{5c}"));
+ assert_eq!("\x00\x01\u{fe}\u{ff}".escape_unicode(),
+ String::from_str("\\u{0}\\u{1}\\u{fe}\\u{ff}"));
+ assert_eq!("\u{100}\u{ffff}".escape_unicode(),
+ String::from_str("\\u{100}\\u{ffff}"));
+ assert_eq!("\u{10000}\u{10ffff}".escape_unicode(),
+ String::from_str("\\u{10000}\\u{10ffff}"));
+ assert_eq!("ab\u{fb00}".escape_unicode(),
+ String::from_str("\\u{61}\\u{62}\\u{fb00}"));
+ assert_eq!("\u{1d4ea}\r".escape_unicode(),
+ String::from_str("\\u{1d4ea}\\u{d}"));
}
#[test]
assert_eq!("a c".escape_default(), String::from_str("a c"));
assert_eq!("\r\n\t".escape_default(), String::from_str("\\r\\n\\t"));
assert_eq!("'\"\\".escape_default(), String::from_str("\\'\\\"\\\\"));
- assert_eq!("\u0100\uffff".escape_default(), String::from_str("\\u0100\\uffff"));
- assert_eq!("\U00010000\U0010ffff".escape_default(),
- String::from_str("\\U00010000\\U0010ffff"));
- assert_eq!("ab\ufb00".escape_default(), String::from_str("ab\\ufb00"));
- assert_eq!("\U0001d4ea\r".escape_default(), String::from_str("\\U0001d4ea\\r"));
+ assert_eq!("\u{100}\u{ffff}".escape_default(),
+ String::from_str("\\u{100}\\u{ffff}"));
+ assert_eq!("\u{10000}\u{10ffff}".escape_default(),
+ String::from_str("\\u{10000}\\u{10ffff}"));
+ assert_eq!("ab\u{fb00}".escape_default(),
+ String::from_str("ab\\u{fb00}"));
+ assert_eq!("\u{1d4ea}\r".escape_default(),
+ String::from_str("\\u{1d4ea}\\r"));
}
#[test]
let split: Vec<&str> = data.splitn(3, ' ').collect();
assert_eq!(split, vec!["\nMäry", "häd", "ä", "little lämb\nLittle lämb\n"]);
- let split: Vec<&str> = data.splitn(3, |c: char| c == ' ').collect();
+ let split: Vec<&str> = data.splitn(3, |&: c: char| c == ' ').collect();
assert_eq!(split, vec!["\nMäry", "häd", "ä", "little lämb\nLittle lämb\n"]);
// Unicode
let split: Vec<&str> = data.splitn(3, 'ä').collect();
assert_eq!(split, vec!["\nM", "ry h", "d ", " little lämb\nLittle lämb\n"]);
- let split: Vec<&str> = data.splitn(3, |c: char| c == 'ä').collect();
+ let split: Vec<&str> = data.splitn(3, |&: c: char| c == 'ä').collect();
assert_eq!(split, vec!["\nM", "ry h", "d ", " little lämb\nLittle lämb\n"]);
}
}
}
t!("abc", "abc");
- t!("\u1e0b\u01c4", "d\u0307\u01c4");
- t!("\u2026", "\u2026");
- t!("\u2126", "\u03a9");
- t!("\u1e0b\u0323", "d\u0323\u0307");
- t!("\u1e0d\u0307", "d\u0323\u0307");
- t!("a\u0301", "a\u0301");
- t!("\u0301a", "\u0301a");
- t!("\ud4db", "\u1111\u1171\u11b6");
- t!("\uac1c", "\u1100\u1162");
+ t!("\u{1e0b}\u{1c4}", "d\u{307}\u{1c4}");
+ t!("\u{2026}", "\u{2026}");
+ t!("\u{2126}", "\u{3a9}");
+ t!("\u{1e0b}\u{323}", "d\u{323}\u{307}");
+ t!("\u{1e0d}\u{307}", "d\u{323}\u{307}");
+ t!("a\u{301}", "a\u{301}");
+ t!("\u{301}a", "\u{301}a");
+ t!("\u{d4db}", "\u{1111}\u{1171}\u{11b6}");
+ t!("\u{ac1c}", "\u{1100}\u{1162}");
}
#[test]
}
}
t!("abc", "abc");
- t!("\u1e0b\u01c4", "d\u0307DZ\u030c");
- t!("\u2026", "...");
- t!("\u2126", "\u03a9");
- t!("\u1e0b\u0323", "d\u0323\u0307");
- t!("\u1e0d\u0307", "d\u0323\u0307");
- t!("a\u0301", "a\u0301");
- t!("\u0301a", "\u0301a");
- t!("\ud4db", "\u1111\u1171\u11b6");
- t!("\uac1c", "\u1100\u1162");
+ t!("\u{1e0b}\u{1c4}", "d\u{307}DZ\u{30c}");
+ t!("\u{2026}", "...");
+ t!("\u{2126}", "\u{3a9}");
+ t!("\u{1e0b}\u{323}", "d\u{323}\u{307}");
+ t!("\u{1e0d}\u{307}", "d\u{323}\u{307}");
+ t!("a\u{301}", "a\u{301}");
+ t!("\u{301}a", "\u{301}a");
+ t!("\u{d4db}", "\u{1111}\u{1171}\u{11b6}");
+ t!("\u{ac1c}", "\u{1100}\u{1162}");
}
#[test]
}
}
t!("abc", "abc");
- t!("\u1e0b\u01c4", "\u1e0b\u01c4");
- t!("\u2026", "\u2026");
- t!("\u2126", "\u03a9");
- t!("\u1e0b\u0323", "\u1e0d\u0307");
- t!("\u1e0d\u0307", "\u1e0d\u0307");
- t!("a\u0301", "\u00e1");
- t!("\u0301a", "\u0301a");
- t!("\ud4db", "\ud4db");
- t!("\uac1c", "\uac1c");
- t!("a\u0300\u0305\u0315\u05aeb", "\u00e0\u05ae\u0305\u0315b");
+ t!("\u{1e0b}\u{1c4}", "\u{1e0b}\u{1c4}");
+ t!("\u{2026}", "\u{2026}");
+ t!("\u{2126}", "\u{3a9}");
+ t!("\u{1e0b}\u{323}", "\u{1e0d}\u{307}");
+ t!("\u{1e0d}\u{307}", "\u{1e0d}\u{307}");
+ t!("a\u{301}", "\u{e1}");
+ t!("\u{301}a", "\u{301}a");
+ t!("\u{d4db}", "\u{d4db}");
+ t!("\u{ac1c}", "\u{ac1c}");
+ t!("a\u{300}\u{305}\u{315}\u{5ae}b", "\u{e0}\u{5ae}\u{305}\u{315}b");
}
#[test]
}
}
t!("abc", "abc");
- t!("\u1e0b\u01c4", "\u1e0bD\u017d");
- t!("\u2026", "...");
- t!("\u2126", "\u03a9");
- t!("\u1e0b\u0323", "\u1e0d\u0307");
- t!("\u1e0d\u0307", "\u1e0d\u0307");
- t!("a\u0301", "\u00e1");
- t!("\u0301a", "\u0301a");
- t!("\ud4db", "\ud4db");
- t!("\uac1c", "\uac1c");
- t!("a\u0300\u0305\u0315\u05aeb", "\u00e0\u05ae\u0305\u0315b");
+ t!("\u{1e0b}\u{1c4}", "\u{1e0b}D\u{17d}");
+ t!("\u{2026}", "...");
+ t!("\u{2126}", "\u{3a9}");
+ t!("\u{1e0b}\u{323}", "\u{1e0d}\u{307}");
+ t!("\u{1e0d}\u{307}", "\u{1e0d}\u{307}");
+ t!("a\u{301}", "\u{e1}");
+ t!("\u{301}a", "\u{301}a");
+ t!("\u{d4db}", "\u{d4db}");
+ t!("\u{ac1c}", "\u{ac1c}");
+ t!("a\u{300}\u{305}\u{315}\u{5ae}b", "\u{e0}\u{5ae}\u{305}\u{315}b");
}
#[test]
// official Unicode test data
// from http://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakTest.txt
let test_same: [(_, &[_]), .. 325] = [
- ("\u0020\u0020", &["\u0020", "\u0020"]), ("\u0020\u0308\u0020", &["\u0020\u0308",
- "\u0020"]), ("\u0020\u000D", &["\u0020", "\u000D"]), ("\u0020\u0308\u000D",
- &["\u0020\u0308", "\u000D"]), ("\u0020\u000A", &["\u0020", "\u000A"]),
- ("\u0020\u0308\u000A", &["\u0020\u0308", "\u000A"]), ("\u0020\u0001", &["\u0020",
- "\u0001"]), ("\u0020\u0308\u0001", &["\u0020\u0308", "\u0001"]), ("\u0020\u0300",
- &["\u0020\u0300"]), ("\u0020\u0308\u0300", &["\u0020\u0308\u0300"]), ("\u0020\u1100",
- &["\u0020", "\u1100"]), ("\u0020\u0308\u1100", &["\u0020\u0308", "\u1100"]),
- ("\u0020\u1160", &["\u0020", "\u1160"]), ("\u0020\u0308\u1160", &["\u0020\u0308",
- "\u1160"]), ("\u0020\u11A8", &["\u0020", "\u11A8"]), ("\u0020\u0308\u11A8",
- &["\u0020\u0308", "\u11A8"]), ("\u0020\uAC00", &["\u0020", "\uAC00"]),
- ("\u0020\u0308\uAC00", &["\u0020\u0308", "\uAC00"]), ("\u0020\uAC01", &["\u0020",
- "\uAC01"]), ("\u0020\u0308\uAC01", &["\u0020\u0308", "\uAC01"]), ("\u0020\U0001F1E6",
- &["\u0020", "\U0001F1E6"]), ("\u0020\u0308\U0001F1E6", &["\u0020\u0308",
- "\U0001F1E6"]), ("\u0020\u0378", &["\u0020", "\u0378"]), ("\u0020\u0308\u0378",
- &["\u0020\u0308", "\u0378"]), ("\u000D\u0020", &["\u000D", "\u0020"]),
- ("\u000D\u0308\u0020", &["\u000D", "\u0308", "\u0020"]), ("\u000D\u000D", &["\u000D",
- "\u000D"]), ("\u000D\u0308\u000D", &["\u000D", "\u0308", "\u000D"]), ("\u000D\u000A",
- &["\u000D\u000A"]), ("\u000D\u0308\u000A", &["\u000D", "\u0308", "\u000A"]),
- ("\u000D\u0001", &["\u000D", "\u0001"]), ("\u000D\u0308\u0001", &["\u000D", "\u0308",
- "\u0001"]), ("\u000D\u0300", &["\u000D", "\u0300"]), ("\u000D\u0308\u0300",
- &["\u000D", "\u0308\u0300"]), ("\u000D\u0903", &["\u000D", "\u0903"]),
- ("\u000D\u1100", &["\u000D", "\u1100"]), ("\u000D\u0308\u1100", &["\u000D", "\u0308",
- "\u1100"]), ("\u000D\u1160", &["\u000D", "\u1160"]), ("\u000D\u0308\u1160",
- &["\u000D", "\u0308", "\u1160"]), ("\u000D\u11A8", &["\u000D", "\u11A8"]),
- ("\u000D\u0308\u11A8", &["\u000D", "\u0308", "\u11A8"]), ("\u000D\uAC00", &["\u000D",
- "\uAC00"]), ("\u000D\u0308\uAC00", &["\u000D", "\u0308", "\uAC00"]), ("\u000D\uAC01",
- &["\u000D", "\uAC01"]), ("\u000D\u0308\uAC01", &["\u000D", "\u0308", "\uAC01"]),
- ("\u000D\U0001F1E6", &["\u000D", "\U0001F1E6"]), ("\u000D\u0308\U0001F1E6",
- &["\u000D", "\u0308", "\U0001F1E6"]), ("\u000D\u0378", &["\u000D", "\u0378"]),
- ("\u000D\u0308\u0378", &["\u000D", "\u0308", "\u0378"]), ("\u000A\u0020", &["\u000A",
- "\u0020"]), ("\u000A\u0308\u0020", &["\u000A", "\u0308", "\u0020"]), ("\u000A\u000D",
- &["\u000A", "\u000D"]), ("\u000A\u0308\u000D", &["\u000A", "\u0308", "\u000D"]),
- ("\u000A\u000A", &["\u000A", "\u000A"]), ("\u000A\u0308\u000A", &["\u000A", "\u0308",
- "\u000A"]), ("\u000A\u0001", &["\u000A", "\u0001"]), ("\u000A\u0308\u0001",
- &["\u000A", "\u0308", "\u0001"]), ("\u000A\u0300", &["\u000A", "\u0300"]),
- ("\u000A\u0308\u0300", &["\u000A", "\u0308\u0300"]), ("\u000A\u0903", &["\u000A",
- "\u0903"]), ("\u000A\u1100", &["\u000A", "\u1100"]), ("\u000A\u0308\u1100",
- &["\u000A", "\u0308", "\u1100"]), ("\u000A\u1160", &["\u000A", "\u1160"]),
- ("\u000A\u0308\u1160", &["\u000A", "\u0308", "\u1160"]), ("\u000A\u11A8", &["\u000A",
- "\u11A8"]), ("\u000A\u0308\u11A8", &["\u000A", "\u0308", "\u11A8"]), ("\u000A\uAC00",
- &["\u000A", "\uAC00"]), ("\u000A\u0308\uAC00", &["\u000A", "\u0308", "\uAC00"]),
- ("\u000A\uAC01", &["\u000A", "\uAC01"]), ("\u000A\u0308\uAC01", &["\u000A", "\u0308",
- "\uAC01"]), ("\u000A\U0001F1E6", &["\u000A", "\U0001F1E6"]),
- ("\u000A\u0308\U0001F1E6", &["\u000A", "\u0308", "\U0001F1E6"]), ("\u000A\u0378",
- &["\u000A", "\u0378"]), ("\u000A\u0308\u0378", &["\u000A", "\u0308", "\u0378"]),
- ("\u0001\u0020", &["\u0001", "\u0020"]), ("\u0001\u0308\u0020", &["\u0001", "\u0308",
- "\u0020"]), ("\u0001\u000D", &["\u0001", "\u000D"]), ("\u0001\u0308\u000D",
- &["\u0001", "\u0308", "\u000D"]), ("\u0001\u000A", &["\u0001", "\u000A"]),
- ("\u0001\u0308\u000A", &["\u0001", "\u0308", "\u000A"]), ("\u0001\u0001", &["\u0001",
- "\u0001"]), ("\u0001\u0308\u0001", &["\u0001", "\u0308", "\u0001"]), ("\u0001\u0300",
- &["\u0001", "\u0300"]), ("\u0001\u0308\u0300", &["\u0001", "\u0308\u0300"]),
- ("\u0001\u0903", &["\u0001", "\u0903"]), ("\u0001\u1100", &["\u0001", "\u1100"]),
- ("\u0001\u0308\u1100", &["\u0001", "\u0308", "\u1100"]), ("\u0001\u1160", &["\u0001",
- "\u1160"]), ("\u0001\u0308\u1160", &["\u0001", "\u0308", "\u1160"]), ("\u0001\u11A8",
- &["\u0001", "\u11A8"]), ("\u0001\u0308\u11A8", &["\u0001", "\u0308", "\u11A8"]),
- ("\u0001\uAC00", &["\u0001", "\uAC00"]), ("\u0001\u0308\uAC00", &["\u0001", "\u0308",
- "\uAC00"]), ("\u0001\uAC01", &["\u0001", "\uAC01"]), ("\u0001\u0308\uAC01",
- &["\u0001", "\u0308", "\uAC01"]), ("\u0001\U0001F1E6", &["\u0001", "\U0001F1E6"]),
- ("\u0001\u0308\U0001F1E6", &["\u0001", "\u0308", "\U0001F1E6"]), ("\u0001\u0378",
- &["\u0001", "\u0378"]), ("\u0001\u0308\u0378", &["\u0001", "\u0308", "\u0378"]),
- ("\u0300\u0020", &["\u0300", "\u0020"]), ("\u0300\u0308\u0020", &["\u0300\u0308",
- "\u0020"]), ("\u0300\u000D", &["\u0300", "\u000D"]), ("\u0300\u0308\u000D",
- &["\u0300\u0308", "\u000D"]), ("\u0300\u000A", &["\u0300", "\u000A"]),
- ("\u0300\u0308\u000A", &["\u0300\u0308", "\u000A"]), ("\u0300\u0001", &["\u0300",
- "\u0001"]), ("\u0300\u0308\u0001", &["\u0300\u0308", "\u0001"]), ("\u0300\u0300",
- &["\u0300\u0300"]), ("\u0300\u0308\u0300", &["\u0300\u0308\u0300"]), ("\u0300\u1100",
- &["\u0300", "\u1100"]), ("\u0300\u0308\u1100", &["\u0300\u0308", "\u1100"]),
- ("\u0300\u1160", &["\u0300", "\u1160"]), ("\u0300\u0308\u1160", &["\u0300\u0308",
- "\u1160"]), ("\u0300\u11A8", &["\u0300", "\u11A8"]), ("\u0300\u0308\u11A8",
- &["\u0300\u0308", "\u11A8"]), ("\u0300\uAC00", &["\u0300", "\uAC00"]),
- ("\u0300\u0308\uAC00", &["\u0300\u0308", "\uAC00"]), ("\u0300\uAC01", &["\u0300",
- "\uAC01"]), ("\u0300\u0308\uAC01", &["\u0300\u0308", "\uAC01"]), ("\u0300\U0001F1E6",
- &["\u0300", "\U0001F1E6"]), ("\u0300\u0308\U0001F1E6", &["\u0300\u0308",
- "\U0001F1E6"]), ("\u0300\u0378", &["\u0300", "\u0378"]), ("\u0300\u0308\u0378",
- &["\u0300\u0308", "\u0378"]), ("\u0903\u0020", &["\u0903", "\u0020"]),
- ("\u0903\u0308\u0020", &["\u0903\u0308", "\u0020"]), ("\u0903\u000D", &["\u0903",
- "\u000D"]), ("\u0903\u0308\u000D", &["\u0903\u0308", "\u000D"]), ("\u0903\u000A",
- &["\u0903", "\u000A"]), ("\u0903\u0308\u000A", &["\u0903\u0308", "\u000A"]),
- ("\u0903\u0001", &["\u0903", "\u0001"]), ("\u0903\u0308\u0001", &["\u0903\u0308",
- "\u0001"]), ("\u0903\u0300", &["\u0903\u0300"]), ("\u0903\u0308\u0300",
- &["\u0903\u0308\u0300"]), ("\u0903\u1100", &["\u0903", "\u1100"]),
- ("\u0903\u0308\u1100", &["\u0903\u0308", "\u1100"]), ("\u0903\u1160", &["\u0903",
- "\u1160"]), ("\u0903\u0308\u1160", &["\u0903\u0308", "\u1160"]), ("\u0903\u11A8",
- &["\u0903", "\u11A8"]), ("\u0903\u0308\u11A8", &["\u0903\u0308", "\u11A8"]),
- ("\u0903\uAC00", &["\u0903", "\uAC00"]), ("\u0903\u0308\uAC00", &["\u0903\u0308",
- "\uAC00"]), ("\u0903\uAC01", &["\u0903", "\uAC01"]), ("\u0903\u0308\uAC01",
- &["\u0903\u0308", "\uAC01"]), ("\u0903\U0001F1E6", &["\u0903", "\U0001F1E6"]),
- ("\u0903\u0308\U0001F1E6", &["\u0903\u0308", "\U0001F1E6"]), ("\u0903\u0378",
- &["\u0903", "\u0378"]), ("\u0903\u0308\u0378", &["\u0903\u0308", "\u0378"]),
- ("\u1100\u0020", &["\u1100", "\u0020"]), ("\u1100\u0308\u0020", &["\u1100\u0308",
- "\u0020"]), ("\u1100\u000D", &["\u1100", "\u000D"]), ("\u1100\u0308\u000D",
- &["\u1100\u0308", "\u000D"]), ("\u1100\u000A", &["\u1100", "\u000A"]),
- ("\u1100\u0308\u000A", &["\u1100\u0308", "\u000A"]), ("\u1100\u0001", &["\u1100",
- "\u0001"]), ("\u1100\u0308\u0001", &["\u1100\u0308", "\u0001"]), ("\u1100\u0300",
- &["\u1100\u0300"]), ("\u1100\u0308\u0300", &["\u1100\u0308\u0300"]), ("\u1100\u1100",
- &["\u1100\u1100"]), ("\u1100\u0308\u1100", &["\u1100\u0308", "\u1100"]),
- ("\u1100\u1160", &["\u1100\u1160"]), ("\u1100\u0308\u1160", &["\u1100\u0308",
- "\u1160"]), ("\u1100\u11A8", &["\u1100", "\u11A8"]), ("\u1100\u0308\u11A8",
- &["\u1100\u0308", "\u11A8"]), ("\u1100\uAC00", &["\u1100\uAC00"]),
- ("\u1100\u0308\uAC00", &["\u1100\u0308", "\uAC00"]), ("\u1100\uAC01",
- &["\u1100\uAC01"]), ("\u1100\u0308\uAC01", &["\u1100\u0308", "\uAC01"]),
- ("\u1100\U0001F1E6", &["\u1100", "\U0001F1E6"]), ("\u1100\u0308\U0001F1E6",
- &["\u1100\u0308", "\U0001F1E6"]), ("\u1100\u0378", &["\u1100", "\u0378"]),
- ("\u1100\u0308\u0378", &["\u1100\u0308", "\u0378"]), ("\u1160\u0020", &["\u1160",
- "\u0020"]), ("\u1160\u0308\u0020", &["\u1160\u0308", "\u0020"]), ("\u1160\u000D",
- &["\u1160", "\u000D"]), ("\u1160\u0308\u000D", &["\u1160\u0308", "\u000D"]),
- ("\u1160\u000A", &["\u1160", "\u000A"]), ("\u1160\u0308\u000A", &["\u1160\u0308",
- "\u000A"]), ("\u1160\u0001", &["\u1160", "\u0001"]), ("\u1160\u0308\u0001",
- &["\u1160\u0308", "\u0001"]), ("\u1160\u0300", &["\u1160\u0300"]),
- ("\u1160\u0308\u0300", &["\u1160\u0308\u0300"]), ("\u1160\u1100", &["\u1160",
- "\u1100"]), ("\u1160\u0308\u1100", &["\u1160\u0308", "\u1100"]), ("\u1160\u1160",
- &["\u1160\u1160"]), ("\u1160\u0308\u1160", &["\u1160\u0308", "\u1160"]),
- ("\u1160\u11A8", &["\u1160\u11A8"]), ("\u1160\u0308\u11A8", &["\u1160\u0308",
- "\u11A8"]), ("\u1160\uAC00", &["\u1160", "\uAC00"]), ("\u1160\u0308\uAC00",
- &["\u1160\u0308", "\uAC00"]), ("\u1160\uAC01", &["\u1160", "\uAC01"]),
- ("\u1160\u0308\uAC01", &["\u1160\u0308", "\uAC01"]), ("\u1160\U0001F1E6", &["\u1160",
- "\U0001F1E6"]), ("\u1160\u0308\U0001F1E6", &["\u1160\u0308", "\U0001F1E6"]),
- ("\u1160\u0378", &["\u1160", "\u0378"]), ("\u1160\u0308\u0378", &["\u1160\u0308",
- "\u0378"]), ("\u11A8\u0020", &["\u11A8", "\u0020"]), ("\u11A8\u0308\u0020",
- &["\u11A8\u0308", "\u0020"]), ("\u11A8\u000D", &["\u11A8", "\u000D"]),
- ("\u11A8\u0308\u000D", &["\u11A8\u0308", "\u000D"]), ("\u11A8\u000A", &["\u11A8",
- "\u000A"]), ("\u11A8\u0308\u000A", &["\u11A8\u0308", "\u000A"]), ("\u11A8\u0001",
- &["\u11A8", "\u0001"]), ("\u11A8\u0308\u0001", &["\u11A8\u0308", "\u0001"]),
- ("\u11A8\u0300", &["\u11A8\u0300"]), ("\u11A8\u0308\u0300", &["\u11A8\u0308\u0300"]),
- ("\u11A8\u1100", &["\u11A8", "\u1100"]), ("\u11A8\u0308\u1100", &["\u11A8\u0308",
- "\u1100"]), ("\u11A8\u1160", &["\u11A8", "\u1160"]), ("\u11A8\u0308\u1160",
- &["\u11A8\u0308", "\u1160"]), ("\u11A8\u11A8", &["\u11A8\u11A8"]),
- ("\u11A8\u0308\u11A8", &["\u11A8\u0308", "\u11A8"]), ("\u11A8\uAC00", &["\u11A8",
- "\uAC00"]), ("\u11A8\u0308\uAC00", &["\u11A8\u0308", "\uAC00"]), ("\u11A8\uAC01",
- &["\u11A8", "\uAC01"]), ("\u11A8\u0308\uAC01", &["\u11A8\u0308", "\uAC01"]),
- ("\u11A8\U0001F1E6", &["\u11A8", "\U0001F1E6"]), ("\u11A8\u0308\U0001F1E6",
- &["\u11A8\u0308", "\U0001F1E6"]), ("\u11A8\u0378", &["\u11A8", "\u0378"]),
- ("\u11A8\u0308\u0378", &["\u11A8\u0308", "\u0378"]), ("\uAC00\u0020", &["\uAC00",
- "\u0020"]), ("\uAC00\u0308\u0020", &["\uAC00\u0308", "\u0020"]), ("\uAC00\u000D",
- &["\uAC00", "\u000D"]), ("\uAC00\u0308\u000D", &["\uAC00\u0308", "\u000D"]),
- ("\uAC00\u000A", &["\uAC00", "\u000A"]), ("\uAC00\u0308\u000A", &["\uAC00\u0308",
- "\u000A"]), ("\uAC00\u0001", &["\uAC00", "\u0001"]), ("\uAC00\u0308\u0001",
- &["\uAC00\u0308", "\u0001"]), ("\uAC00\u0300", &["\uAC00\u0300"]),
- ("\uAC00\u0308\u0300", &["\uAC00\u0308\u0300"]), ("\uAC00\u1100", &["\uAC00",
- "\u1100"]), ("\uAC00\u0308\u1100", &["\uAC00\u0308", "\u1100"]), ("\uAC00\u1160",
- &["\uAC00\u1160"]), ("\uAC00\u0308\u1160", &["\uAC00\u0308", "\u1160"]),
- ("\uAC00\u11A8", &["\uAC00\u11A8"]), ("\uAC00\u0308\u11A8", &["\uAC00\u0308",
- "\u11A8"]), ("\uAC00\uAC00", &["\uAC00", "\uAC00"]), ("\uAC00\u0308\uAC00",
- &["\uAC00\u0308", "\uAC00"]), ("\uAC00\uAC01", &["\uAC00", "\uAC01"]),
- ("\uAC00\u0308\uAC01", &["\uAC00\u0308", "\uAC01"]), ("\uAC00\U0001F1E6", &["\uAC00",
- "\U0001F1E6"]), ("\uAC00\u0308\U0001F1E6", &["\uAC00\u0308", "\U0001F1E6"]),
- ("\uAC00\u0378", &["\uAC00", "\u0378"]), ("\uAC00\u0308\u0378", &["\uAC00\u0308",
- "\u0378"]), ("\uAC01\u0020", &["\uAC01", "\u0020"]), ("\uAC01\u0308\u0020",
- &["\uAC01\u0308", "\u0020"]), ("\uAC01\u000D", &["\uAC01", "\u000D"]),
- ("\uAC01\u0308\u000D", &["\uAC01\u0308", "\u000D"]), ("\uAC01\u000A", &["\uAC01",
- "\u000A"]), ("\uAC01\u0308\u000A", &["\uAC01\u0308", "\u000A"]), ("\uAC01\u0001",
- &["\uAC01", "\u0001"]), ("\uAC01\u0308\u0001", &["\uAC01\u0308", "\u0001"]),
- ("\uAC01\u0300", &["\uAC01\u0300"]), ("\uAC01\u0308\u0300", &["\uAC01\u0308\u0300"]),
- ("\uAC01\u1100", &["\uAC01", "\u1100"]), ("\uAC01\u0308\u1100", &["\uAC01\u0308",
- "\u1100"]), ("\uAC01\u1160", &["\uAC01", "\u1160"]), ("\uAC01\u0308\u1160",
- &["\uAC01\u0308", "\u1160"]), ("\uAC01\u11A8", &["\uAC01\u11A8"]),
- ("\uAC01\u0308\u11A8", &["\uAC01\u0308", "\u11A8"]), ("\uAC01\uAC00", &["\uAC01",
- "\uAC00"]), ("\uAC01\u0308\uAC00", &["\uAC01\u0308", "\uAC00"]), ("\uAC01\uAC01",
- &["\uAC01", "\uAC01"]), ("\uAC01\u0308\uAC01", &["\uAC01\u0308", "\uAC01"]),
- ("\uAC01\U0001F1E6", &["\uAC01", "\U0001F1E6"]), ("\uAC01\u0308\U0001F1E6",
- &["\uAC01\u0308", "\U0001F1E6"]), ("\uAC01\u0378", &["\uAC01", "\u0378"]),
- ("\uAC01\u0308\u0378", &["\uAC01\u0308", "\u0378"]), ("\U0001F1E6\u0020",
- &["\U0001F1E6", "\u0020"]), ("\U0001F1E6\u0308\u0020", &["\U0001F1E6\u0308",
- "\u0020"]), ("\U0001F1E6\u000D", &["\U0001F1E6", "\u000D"]),
- ("\U0001F1E6\u0308\u000D", &["\U0001F1E6\u0308", "\u000D"]), ("\U0001F1E6\u000A",
- &["\U0001F1E6", "\u000A"]), ("\U0001F1E6\u0308\u000A", &["\U0001F1E6\u0308",
- "\u000A"]), ("\U0001F1E6\u0001", &["\U0001F1E6", "\u0001"]),
- ("\U0001F1E6\u0308\u0001", &["\U0001F1E6\u0308", "\u0001"]), ("\U0001F1E6\u0300",
- &["\U0001F1E6\u0300"]), ("\U0001F1E6\u0308\u0300", &["\U0001F1E6\u0308\u0300"]),
- ("\U0001F1E6\u1100", &["\U0001F1E6", "\u1100"]), ("\U0001F1E6\u0308\u1100",
- &["\U0001F1E6\u0308", "\u1100"]), ("\U0001F1E6\u1160", &["\U0001F1E6", "\u1160"]),
- ("\U0001F1E6\u0308\u1160", &["\U0001F1E6\u0308", "\u1160"]), ("\U0001F1E6\u11A8",
- &["\U0001F1E6", "\u11A8"]), ("\U0001F1E6\u0308\u11A8", &["\U0001F1E6\u0308",
- "\u11A8"]), ("\U0001F1E6\uAC00", &["\U0001F1E6", "\uAC00"]),
- ("\U0001F1E6\u0308\uAC00", &["\U0001F1E6\u0308", "\uAC00"]), ("\U0001F1E6\uAC01",
- &["\U0001F1E6", "\uAC01"]), ("\U0001F1E6\u0308\uAC01", &["\U0001F1E6\u0308",
- "\uAC01"]), ("\U0001F1E6\U0001F1E6", &["\U0001F1E6\U0001F1E6"]),
- ("\U0001F1E6\u0308\U0001F1E6", &["\U0001F1E6\u0308", "\U0001F1E6"]),
- ("\U0001F1E6\u0378", &["\U0001F1E6", "\u0378"]), ("\U0001F1E6\u0308\u0378",
- &["\U0001F1E6\u0308", "\u0378"]), ("\u0378\u0020", &["\u0378", "\u0020"]),
- ("\u0378\u0308\u0020", &["\u0378\u0308", "\u0020"]), ("\u0378\u000D", &["\u0378",
- "\u000D"]), ("\u0378\u0308\u000D", &["\u0378\u0308", "\u000D"]), ("\u0378\u000A",
- &["\u0378", "\u000A"]), ("\u0378\u0308\u000A", &["\u0378\u0308", "\u000A"]),
- ("\u0378\u0001", &["\u0378", "\u0001"]), ("\u0378\u0308\u0001", &["\u0378\u0308",
- "\u0001"]), ("\u0378\u0300", &["\u0378\u0300"]), ("\u0378\u0308\u0300",
- &["\u0378\u0308\u0300"]), ("\u0378\u1100", &["\u0378", "\u1100"]),
- ("\u0378\u0308\u1100", &["\u0378\u0308", "\u1100"]), ("\u0378\u1160", &["\u0378",
- "\u1160"]), ("\u0378\u0308\u1160", &["\u0378\u0308", "\u1160"]), ("\u0378\u11A8",
- &["\u0378", "\u11A8"]), ("\u0378\u0308\u11A8", &["\u0378\u0308", "\u11A8"]),
- ("\u0378\uAC00", &["\u0378", "\uAC00"]), ("\u0378\u0308\uAC00", &["\u0378\u0308",
- "\uAC00"]), ("\u0378\uAC01", &["\u0378", "\uAC01"]), ("\u0378\u0308\uAC01",
- &["\u0378\u0308", "\uAC01"]), ("\u0378\U0001F1E6", &["\u0378", "\U0001F1E6"]),
- ("\u0378\u0308\U0001F1E6", &["\u0378\u0308", "\U0001F1E6"]), ("\u0378\u0378",
- &["\u0378", "\u0378"]), ("\u0378\u0308\u0378", &["\u0378\u0308", "\u0378"]),
- ("\u0061\U0001F1E6\u0062", &["\u0061", "\U0001F1E6", "\u0062"]),
- ("\U0001F1F7\U0001F1FA", &["\U0001F1F7\U0001F1FA"]),
- ("\U0001F1F7\U0001F1FA\U0001F1F8", &["\U0001F1F7\U0001F1FA\U0001F1F8"]),
- ("\U0001F1F7\U0001F1FA\U0001F1F8\U0001F1EA",
- &["\U0001F1F7\U0001F1FA\U0001F1F8\U0001F1EA"]),
- ("\U0001F1F7\U0001F1FA\u200B\U0001F1F8\U0001F1EA", &["\U0001F1F7\U0001F1FA", "\u200B",
- "\U0001F1F8\U0001F1EA"]), ("\U0001F1E6\U0001F1E7\U0001F1E8",
- &["\U0001F1E6\U0001F1E7\U0001F1E8"]), ("\U0001F1E6\u200D\U0001F1E7\U0001F1E8",
- &["\U0001F1E6\u200D", "\U0001F1E7\U0001F1E8"]),
- ("\U0001F1E6\U0001F1E7\u200D\U0001F1E8", &["\U0001F1E6\U0001F1E7\u200D",
- "\U0001F1E8"]), ("\u0020\u200D\u0646", &["\u0020\u200D", "\u0646"]),
- ("\u0646\u200D\u0020", &["\u0646\u200D", "\u0020"]),
+ ("\u{20}\u{20}", &["\u{20}", "\u{20}"]),
+ ("\u{20}\u{308}\u{20}", &["\u{20}\u{308}", "\u{20}"]),
+ ("\u{20}\u{D}", &["\u{20}", "\u{D}"]),
+ ("\u{20}\u{308}\u{D}", &["\u{20}\u{308}", "\u{D}"]),
+ ("\u{20}\u{A}", &["\u{20}", "\u{A}"]),
+ ("\u{20}\u{308}\u{A}", &["\u{20}\u{308}", "\u{A}"]),
+ ("\u{20}\u{1}", &["\u{20}", "\u{1}"]),
+ ("\u{20}\u{308}\u{1}", &["\u{20}\u{308}", "\u{1}"]),
+ ("\u{20}\u{300}", &["\u{20}\u{300}"]),
+ ("\u{20}\u{308}\u{300}", &["\u{20}\u{308}\u{300}"]),
+ ("\u{20}\u{1100}", &["\u{20}", "\u{1100}"]),
+ ("\u{20}\u{308}\u{1100}", &["\u{20}\u{308}", "\u{1100}"]),
+ ("\u{20}\u{1160}", &["\u{20}", "\u{1160}"]),
+ ("\u{20}\u{308}\u{1160}", &["\u{20}\u{308}", "\u{1160}"]),
+ ("\u{20}\u{11A8}", &["\u{20}", "\u{11A8}"]),
+ ("\u{20}\u{308}\u{11A8}", &["\u{20}\u{308}", "\u{11A8}"]),
+ ("\u{20}\u{AC00}", &["\u{20}", "\u{AC00}"]),
+ ("\u{20}\u{308}\u{AC00}", &["\u{20}\u{308}", "\u{AC00}"]),
+ ("\u{20}\u{AC01}", &["\u{20}", "\u{AC01}"]),
+ ("\u{20}\u{308}\u{AC01}", &["\u{20}\u{308}", "\u{AC01}"]),
+ ("\u{20}\u{1F1E6}", &["\u{20}", "\u{1F1E6}"]),
+ ("\u{20}\u{308}\u{1F1E6}", &["\u{20}\u{308}", "\u{1F1E6}"]),
+ ("\u{20}\u{378}", &["\u{20}", "\u{378}"]),
+ ("\u{20}\u{308}\u{378}", &["\u{20}\u{308}", "\u{378}"]),
+ ("\u{D}\u{20}", &["\u{D}", "\u{20}"]),
+ ("\u{D}\u{308}\u{20}", &["\u{D}", "\u{308}", "\u{20}"]),
+ ("\u{D}\u{D}", &["\u{D}", "\u{D}"]),
+ ("\u{D}\u{308}\u{D}", &["\u{D}", "\u{308}", "\u{D}"]),
+ ("\u{D}\u{A}", &["\u{D}\u{A}"]),
+ ("\u{D}\u{308}\u{A}", &["\u{D}", "\u{308}", "\u{A}"]),
+ ("\u{D}\u{1}", &["\u{D}", "\u{1}"]),
+ ("\u{D}\u{308}\u{1}", &["\u{D}", "\u{308}", "\u{1}"]),
+ ("\u{D}\u{300}", &["\u{D}", "\u{300}"]),
+ ("\u{D}\u{308}\u{300}", &["\u{D}", "\u{308}\u{300}"]),
+ ("\u{D}\u{903}", &["\u{D}", "\u{903}"]),
+ ("\u{D}\u{1100}", &["\u{D}", "\u{1100}"]),
+ ("\u{D}\u{308}\u{1100}", &["\u{D}", "\u{308}", "\u{1100}"]),
+ ("\u{D}\u{1160}", &["\u{D}", "\u{1160}"]),
+ ("\u{D}\u{308}\u{1160}", &["\u{D}", "\u{308}", "\u{1160}"]),
+ ("\u{D}\u{11A8}", &["\u{D}", "\u{11A8}"]),
+ ("\u{D}\u{308}\u{11A8}", &["\u{D}", "\u{308}", "\u{11A8}"]),
+ ("\u{D}\u{AC00}", &["\u{D}", "\u{AC00}"]),
+ ("\u{D}\u{308}\u{AC00}", &["\u{D}", "\u{308}", "\u{AC00}"]),
+ ("\u{D}\u{AC01}", &["\u{D}", "\u{AC01}"]),
+ ("\u{D}\u{308}\u{AC01}", &["\u{D}", "\u{308}", "\u{AC01}"]),
+ ("\u{D}\u{1F1E6}", &["\u{D}", "\u{1F1E6}"]),
+ ("\u{D}\u{308}\u{1F1E6}", &["\u{D}", "\u{308}", "\u{1F1E6}"]),
+ ("\u{D}\u{378}", &["\u{D}", "\u{378}"]),
+ ("\u{D}\u{308}\u{378}", &["\u{D}", "\u{308}", "\u{378}"]),
+ ("\u{A}\u{20}", &["\u{A}", "\u{20}"]),
+ ("\u{A}\u{308}\u{20}", &["\u{A}", "\u{308}", "\u{20}"]),
+ ("\u{A}\u{D}", &["\u{A}", "\u{D}"]),
+ ("\u{A}\u{308}\u{D}", &["\u{A}", "\u{308}", "\u{D}"]),
+ ("\u{A}\u{A}", &["\u{A}", "\u{A}"]),
+ ("\u{A}\u{308}\u{A}", &["\u{A}", "\u{308}", "\u{A}"]),
+ ("\u{A}\u{1}", &["\u{A}", "\u{1}"]),
+ ("\u{A}\u{308}\u{1}", &["\u{A}", "\u{308}", "\u{1}"]),
+ ("\u{A}\u{300}", &["\u{A}", "\u{300}"]),
+ ("\u{A}\u{308}\u{300}", &["\u{A}", "\u{308}\u{300}"]),
+ ("\u{A}\u{903}", &["\u{A}", "\u{903}"]),
+ ("\u{A}\u{1100}", &["\u{A}", "\u{1100}"]),
+ ("\u{A}\u{308}\u{1100}", &["\u{A}", "\u{308}", "\u{1100}"]),
+ ("\u{A}\u{1160}", &["\u{A}", "\u{1160}"]),
+ ("\u{A}\u{308}\u{1160}", &["\u{A}", "\u{308}", "\u{1160}"]),
+ ("\u{A}\u{11A8}", &["\u{A}", "\u{11A8}"]),
+ ("\u{A}\u{308}\u{11A8}", &["\u{A}", "\u{308}", "\u{11A8}"]),
+ ("\u{A}\u{AC00}", &["\u{A}", "\u{AC00}"]),
+ ("\u{A}\u{308}\u{AC00}", &["\u{A}", "\u{308}", "\u{AC00}"]),
+ ("\u{A}\u{AC01}", &["\u{A}", "\u{AC01}"]),
+ ("\u{A}\u{308}\u{AC01}", &["\u{A}", "\u{308}", "\u{AC01}"]),
+ ("\u{A}\u{1F1E6}", &["\u{A}", "\u{1F1E6}"]),
+ ("\u{A}\u{308}\u{1F1E6}", &["\u{A}", "\u{308}", "\u{1F1E6}"]),
+ ("\u{A}\u{378}", &["\u{A}", "\u{378}"]),
+ ("\u{A}\u{308}\u{378}", &["\u{A}", "\u{308}", "\u{378}"]),
+ ("\u{1}\u{20}", &["\u{1}", "\u{20}"]),
+ ("\u{1}\u{308}\u{20}", &["\u{1}", "\u{308}", "\u{20}"]),
+ ("\u{1}\u{D}", &["\u{1}", "\u{D}"]),
+ ("\u{1}\u{308}\u{D}", &["\u{1}", "\u{308}", "\u{D}"]),
+ ("\u{1}\u{A}", &["\u{1}", "\u{A}"]),
+ ("\u{1}\u{308}\u{A}", &["\u{1}", "\u{308}", "\u{A}"]),
+ ("\u{1}\u{1}", &["\u{1}", "\u{1}"]),
+ ("\u{1}\u{308}\u{1}", &["\u{1}", "\u{308}", "\u{1}"]),
+ ("\u{1}\u{300}", &["\u{1}", "\u{300}"]),
+ ("\u{1}\u{308}\u{300}", &["\u{1}", "\u{308}\u{300}"]),
+ ("\u{1}\u{903}", &["\u{1}", "\u{903}"]),
+ ("\u{1}\u{1100}", &["\u{1}", "\u{1100}"]),
+ ("\u{1}\u{308}\u{1100}", &["\u{1}", "\u{308}", "\u{1100}"]),
+ ("\u{1}\u{1160}", &["\u{1}", "\u{1160}"]),
+ ("\u{1}\u{308}\u{1160}", &["\u{1}", "\u{308}", "\u{1160}"]),
+ ("\u{1}\u{11A8}", &["\u{1}", "\u{11A8}"]),
+ ("\u{1}\u{308}\u{11A8}", &["\u{1}", "\u{308}", "\u{11A8}"]),
+ ("\u{1}\u{AC00}", &["\u{1}", "\u{AC00}"]),
+ ("\u{1}\u{308}\u{AC00}", &["\u{1}", "\u{308}", "\u{AC00}"]),
+ ("\u{1}\u{AC01}", &["\u{1}", "\u{AC01}"]),
+ ("\u{1}\u{308}\u{AC01}", &["\u{1}", "\u{308}", "\u{AC01}"]),
+ ("\u{1}\u{1F1E6}", &["\u{1}", "\u{1F1E6}"]),
+ ("\u{1}\u{308}\u{1F1E6}", &["\u{1}", "\u{308}", "\u{1F1E6}"]),
+ ("\u{1}\u{378}", &["\u{1}", "\u{378}"]),
+ ("\u{1}\u{308}\u{378}", &["\u{1}", "\u{308}", "\u{378}"]),
+ ("\u{300}\u{20}", &["\u{300}", "\u{20}"]),
+ ("\u{300}\u{308}\u{20}", &["\u{300}\u{308}", "\u{20}"]),
+ ("\u{300}\u{D}", &["\u{300}", "\u{D}"]),
+ ("\u{300}\u{308}\u{D}", &["\u{300}\u{308}", "\u{D}"]),
+ ("\u{300}\u{A}", &["\u{300}", "\u{A}"]),
+ ("\u{300}\u{308}\u{A}", &["\u{300}\u{308}", "\u{A}"]),
+ ("\u{300}\u{1}", &["\u{300}", "\u{1}"]),
+ ("\u{300}\u{308}\u{1}", &["\u{300}\u{308}", "\u{1}"]),
+ ("\u{300}\u{300}", &["\u{300}\u{300}"]),
+ ("\u{300}\u{308}\u{300}", &["\u{300}\u{308}\u{300}"]),
+ ("\u{300}\u{1100}", &["\u{300}", "\u{1100}"]),
+ ("\u{300}\u{308}\u{1100}", &["\u{300}\u{308}", "\u{1100}"]),
+ ("\u{300}\u{1160}", &["\u{300}", "\u{1160}"]),
+ ("\u{300}\u{308}\u{1160}", &["\u{300}\u{308}", "\u{1160}"]),
+ ("\u{300}\u{11A8}", &["\u{300}", "\u{11A8}"]),
+ ("\u{300}\u{308}\u{11A8}", &["\u{300}\u{308}", "\u{11A8}"]),
+ ("\u{300}\u{AC00}", &["\u{300}", "\u{AC00}"]),
+ ("\u{300}\u{308}\u{AC00}", &["\u{300}\u{308}", "\u{AC00}"]),
+ ("\u{300}\u{AC01}", &["\u{300}", "\u{AC01}"]),
+ ("\u{300}\u{308}\u{AC01}", &["\u{300}\u{308}", "\u{AC01}"]),
+ ("\u{300}\u{1F1E6}", &["\u{300}", "\u{1F1E6}"]),
+ ("\u{300}\u{308}\u{1F1E6}", &["\u{300}\u{308}", "\u{1F1E6}"]),
+ ("\u{300}\u{378}", &["\u{300}", "\u{378}"]),
+ ("\u{300}\u{308}\u{378}", &["\u{300}\u{308}", "\u{378}"]),
+ ("\u{903}\u{20}", &["\u{903}", "\u{20}"]),
+ ("\u{903}\u{308}\u{20}", &["\u{903}\u{308}", "\u{20}"]),
+ ("\u{903}\u{D}", &["\u{903}", "\u{D}"]),
+ ("\u{903}\u{308}\u{D}", &["\u{903}\u{308}", "\u{D}"]),
+ ("\u{903}\u{A}", &["\u{903}", "\u{A}"]),
+ ("\u{903}\u{308}\u{A}", &["\u{903}\u{308}", "\u{A}"]),
+ ("\u{903}\u{1}", &["\u{903}", "\u{1}"]),
+ ("\u{903}\u{308}\u{1}", &["\u{903}\u{308}", "\u{1}"]),
+ ("\u{903}\u{300}", &["\u{903}\u{300}"]),
+ ("\u{903}\u{308}\u{300}", &["\u{903}\u{308}\u{300}"]),
+ ("\u{903}\u{1100}", &["\u{903}", "\u{1100}"]),
+ ("\u{903}\u{308}\u{1100}", &["\u{903}\u{308}", "\u{1100}"]),
+ ("\u{903}\u{1160}", &["\u{903}", "\u{1160}"]),
+ ("\u{903}\u{308}\u{1160}", &["\u{903}\u{308}", "\u{1160}"]),
+ ("\u{903}\u{11A8}", &["\u{903}", "\u{11A8}"]),
+ ("\u{903}\u{308}\u{11A8}", &["\u{903}\u{308}", "\u{11A8}"]),
+ ("\u{903}\u{AC00}", &["\u{903}", "\u{AC00}"]),
+ ("\u{903}\u{308}\u{AC00}", &["\u{903}\u{308}", "\u{AC00}"]),
+ ("\u{903}\u{AC01}", &["\u{903}", "\u{AC01}"]),
+ ("\u{903}\u{308}\u{AC01}", &["\u{903}\u{308}", "\u{AC01}"]),
+ ("\u{903}\u{1F1E6}", &["\u{903}", "\u{1F1E6}"]),
+ ("\u{903}\u{308}\u{1F1E6}", &["\u{903}\u{308}", "\u{1F1E6}"]),
+ ("\u{903}\u{378}", &["\u{903}", "\u{378}"]),
+ ("\u{903}\u{308}\u{378}", &["\u{903}\u{308}", "\u{378}"]),
+ ("\u{1100}\u{20}", &["\u{1100}", "\u{20}"]),
+ ("\u{1100}\u{308}\u{20}", &["\u{1100}\u{308}", "\u{20}"]),
+ ("\u{1100}\u{D}", &["\u{1100}", "\u{D}"]),
+ ("\u{1100}\u{308}\u{D}", &["\u{1100}\u{308}", "\u{D}"]),
+ ("\u{1100}\u{A}", &["\u{1100}", "\u{A}"]),
+ ("\u{1100}\u{308}\u{A}", &["\u{1100}\u{308}", "\u{A}"]),
+ ("\u{1100}\u{1}", &["\u{1100}", "\u{1}"]),
+ ("\u{1100}\u{308}\u{1}", &["\u{1100}\u{308}", "\u{1}"]),
+ ("\u{1100}\u{300}", &["\u{1100}\u{300}"]),
+ ("\u{1100}\u{308}\u{300}", &["\u{1100}\u{308}\u{300}"]),
+ ("\u{1100}\u{1100}", &["\u{1100}\u{1100}"]),
+ ("\u{1100}\u{308}\u{1100}", &["\u{1100}\u{308}", "\u{1100}"]),
+ ("\u{1100}\u{1160}", &["\u{1100}\u{1160}"]),
+ ("\u{1100}\u{308}\u{1160}", &["\u{1100}\u{308}", "\u{1160}"]),
+ ("\u{1100}\u{11A8}", &["\u{1100}", "\u{11A8}"]),
+ ("\u{1100}\u{308}\u{11A8}", &["\u{1100}\u{308}", "\u{11A8}"]),
+ ("\u{1100}\u{AC00}", &["\u{1100}\u{AC00}"]),
+ ("\u{1100}\u{308}\u{AC00}", &["\u{1100}\u{308}", "\u{AC00}"]),
+ ("\u{1100}\u{AC01}", &["\u{1100}\u{AC01}"]),
+ ("\u{1100}\u{308}\u{AC01}", &["\u{1100}\u{308}", "\u{AC01}"]),
+ ("\u{1100}\u{1F1E6}", &["\u{1100}", "\u{1F1E6}"]),
+ ("\u{1100}\u{308}\u{1F1E6}", &["\u{1100}\u{308}", "\u{1F1E6}"]),
+ ("\u{1100}\u{378}", &["\u{1100}", "\u{378}"]),
+ ("\u{1100}\u{308}\u{378}", &["\u{1100}\u{308}", "\u{378}"]),
+ ("\u{1160}\u{20}", &["\u{1160}", "\u{20}"]),
+ ("\u{1160}\u{308}\u{20}", &["\u{1160}\u{308}", "\u{20}"]),
+ ("\u{1160}\u{D}", &["\u{1160}", "\u{D}"]),
+ ("\u{1160}\u{308}\u{D}", &["\u{1160}\u{308}", "\u{D}"]),
+ ("\u{1160}\u{A}", &["\u{1160}", "\u{A}"]),
+ ("\u{1160}\u{308}\u{A}", &["\u{1160}\u{308}", "\u{A}"]),
+ ("\u{1160}\u{1}", &["\u{1160}", "\u{1}"]),
+ ("\u{1160}\u{308}\u{1}", &["\u{1160}\u{308}", "\u{1}"]),
+ ("\u{1160}\u{300}", &["\u{1160}\u{300}"]),
+ ("\u{1160}\u{308}\u{300}", &["\u{1160}\u{308}\u{300}"]),
+ ("\u{1160}\u{1100}", &["\u{1160}", "\u{1100}"]),
+ ("\u{1160}\u{308}\u{1100}", &["\u{1160}\u{308}", "\u{1100}"]),
+ ("\u{1160}\u{1160}", &["\u{1160}\u{1160}"]),
+ ("\u{1160}\u{308}\u{1160}", &["\u{1160}\u{308}", "\u{1160}"]),
+ ("\u{1160}\u{11A8}", &["\u{1160}\u{11A8}"]),
+ ("\u{1160}\u{308}\u{11A8}", &["\u{1160}\u{308}", "\u{11A8}"]),
+ ("\u{1160}\u{AC00}", &["\u{1160}", "\u{AC00}"]),
+ ("\u{1160}\u{308}\u{AC00}", &["\u{1160}\u{308}", "\u{AC00}"]),
+ ("\u{1160}\u{AC01}", &["\u{1160}", "\u{AC01}"]),
+ ("\u{1160}\u{308}\u{AC01}", &["\u{1160}\u{308}", "\u{AC01}"]),
+ ("\u{1160}\u{1F1E6}", &["\u{1160}", "\u{1F1E6}"]),
+ ("\u{1160}\u{308}\u{1F1E6}", &["\u{1160}\u{308}", "\u{1F1E6}"]),
+ ("\u{1160}\u{378}", &["\u{1160}", "\u{378}"]),
+ ("\u{1160}\u{308}\u{378}", &["\u{1160}\u{308}", "\u{378}"]),
+ ("\u{11A8}\u{20}", &["\u{11A8}", "\u{20}"]),
+ ("\u{11A8}\u{308}\u{20}", &["\u{11A8}\u{308}", "\u{20}"]),
+ ("\u{11A8}\u{D}", &["\u{11A8}", "\u{D}"]),
+ ("\u{11A8}\u{308}\u{D}", &["\u{11A8}\u{308}", "\u{D}"]),
+ ("\u{11A8}\u{A}", &["\u{11A8}", "\u{A}"]),
+ ("\u{11A8}\u{308}\u{A}", &["\u{11A8}\u{308}", "\u{A}"]),
+ ("\u{11A8}\u{1}", &["\u{11A8}", "\u{1}"]),
+ ("\u{11A8}\u{308}\u{1}", &["\u{11A8}\u{308}", "\u{1}"]),
+ ("\u{11A8}\u{300}", &["\u{11A8}\u{300}"]),
+ ("\u{11A8}\u{308}\u{300}", &["\u{11A8}\u{308}\u{300}"]),
+ ("\u{11A8}\u{1100}", &["\u{11A8}", "\u{1100}"]),
+ ("\u{11A8}\u{308}\u{1100}", &["\u{11A8}\u{308}", "\u{1100}"]),
+ ("\u{11A8}\u{1160}", &["\u{11A8}", "\u{1160}"]),
+ ("\u{11A8}\u{308}\u{1160}", &["\u{11A8}\u{308}", "\u{1160}"]),
+ ("\u{11A8}\u{11A8}", &["\u{11A8}\u{11A8}"]),
+ ("\u{11A8}\u{308}\u{11A8}", &["\u{11A8}\u{308}", "\u{11A8}"]),
+ ("\u{11A8}\u{AC00}", &["\u{11A8}", "\u{AC00}"]),
+ ("\u{11A8}\u{308}\u{AC00}", &["\u{11A8}\u{308}", "\u{AC00}"]),
+ ("\u{11A8}\u{AC01}", &["\u{11A8}", "\u{AC01}"]),
+ ("\u{11A8}\u{308}\u{AC01}", &["\u{11A8}\u{308}", "\u{AC01}"]),
+ ("\u{11A8}\u{1F1E6}", &["\u{11A8}", "\u{1F1E6}"]),
+ ("\u{11A8}\u{308}\u{1F1E6}", &["\u{11A8}\u{308}", "\u{1F1E6}"]),
+ ("\u{11A8}\u{378}", &["\u{11A8}", "\u{378}"]),
+ ("\u{11A8}\u{308}\u{378}", &["\u{11A8}\u{308}", "\u{378}"]),
+ ("\u{AC00}\u{20}", &["\u{AC00}", "\u{20}"]),
+ ("\u{AC00}\u{308}\u{20}", &["\u{AC00}\u{308}", "\u{20}"]),
+ ("\u{AC00}\u{D}", &["\u{AC00}", "\u{D}"]),
+ ("\u{AC00}\u{308}\u{D}", &["\u{AC00}\u{308}", "\u{D}"]),
+ ("\u{AC00}\u{A}", &["\u{AC00}", "\u{A}"]),
+ ("\u{AC00}\u{308}\u{A}", &["\u{AC00}\u{308}", "\u{A}"]),
+ ("\u{AC00}\u{1}", &["\u{AC00}", "\u{1}"]),
+ ("\u{AC00}\u{308}\u{1}", &["\u{AC00}\u{308}", "\u{1}"]),
+ ("\u{AC00}\u{300}", &["\u{AC00}\u{300}"]),
+ ("\u{AC00}\u{308}\u{300}", &["\u{AC00}\u{308}\u{300}"]),
+ ("\u{AC00}\u{1100}", &["\u{AC00}", "\u{1100}"]),
+ ("\u{AC00}\u{308}\u{1100}", &["\u{AC00}\u{308}", "\u{1100}"]),
+ ("\u{AC00}\u{1160}", &["\u{AC00}\u{1160}"]),
+ ("\u{AC00}\u{308}\u{1160}", &["\u{AC00}\u{308}", "\u{1160}"]),
+ ("\u{AC00}\u{11A8}", &["\u{AC00}\u{11A8}"]),
+ ("\u{AC00}\u{308}\u{11A8}", &["\u{AC00}\u{308}", "\u{11A8}"]),
+ ("\u{AC00}\u{AC00}", &["\u{AC00}", "\u{AC00}"]),
+ ("\u{AC00}\u{308}\u{AC00}", &["\u{AC00}\u{308}", "\u{AC00}"]),
+ ("\u{AC00}\u{AC01}", &["\u{AC00}", "\u{AC01}"]),
+ ("\u{AC00}\u{308}\u{AC01}", &["\u{AC00}\u{308}", "\u{AC01}"]),
+ ("\u{AC00}\u{1F1E6}", &["\u{AC00}", "\u{1F1E6}"]),
+ ("\u{AC00}\u{308}\u{1F1E6}", &["\u{AC00}\u{308}", "\u{1F1E6}"]),
+ ("\u{AC00}\u{378}", &["\u{AC00}", "\u{378}"]),
+ ("\u{AC00}\u{308}\u{378}", &["\u{AC00}\u{308}", "\u{378}"]),
+ ("\u{AC01}\u{20}", &["\u{AC01}", "\u{20}"]),
+ ("\u{AC01}\u{308}\u{20}", &["\u{AC01}\u{308}", "\u{20}"]),
+ ("\u{AC01}\u{D}", &["\u{AC01}", "\u{D}"]),
+ ("\u{AC01}\u{308}\u{D}", &["\u{AC01}\u{308}", "\u{D}"]),
+ ("\u{AC01}\u{A}", &["\u{AC01}", "\u{A}"]),
+ ("\u{AC01}\u{308}\u{A}", &["\u{AC01}\u{308}", "\u{A}"]),
+ ("\u{AC01}\u{1}", &["\u{AC01}", "\u{1}"]),
+ ("\u{AC01}\u{308}\u{1}", &["\u{AC01}\u{308}", "\u{1}"]),
+ ("\u{AC01}\u{300}", &["\u{AC01}\u{300}"]),
+ ("\u{AC01}\u{308}\u{300}", &["\u{AC01}\u{308}\u{300}"]),
+ ("\u{AC01}\u{1100}", &["\u{AC01}", "\u{1100}"]),
+ ("\u{AC01}\u{308}\u{1100}", &["\u{AC01}\u{308}", "\u{1100}"]),
+ ("\u{AC01}\u{1160}", &["\u{AC01}", "\u{1160}"]),
+ ("\u{AC01}\u{308}\u{1160}", &["\u{AC01}\u{308}", "\u{1160}"]),
+ ("\u{AC01}\u{11A8}", &["\u{AC01}\u{11A8}"]),
+ ("\u{AC01}\u{308}\u{11A8}", &["\u{AC01}\u{308}", "\u{11A8}"]),
+ ("\u{AC01}\u{AC00}", &["\u{AC01}", "\u{AC00}"]),
+ ("\u{AC01}\u{308}\u{AC00}", &["\u{AC01}\u{308}", "\u{AC00}"]),
+ ("\u{AC01}\u{AC01}", &["\u{AC01}", "\u{AC01}"]),
+ ("\u{AC01}\u{308}\u{AC01}", &["\u{AC01}\u{308}", "\u{AC01}"]),
+ ("\u{AC01}\u{1F1E6}", &["\u{AC01}", "\u{1F1E6}"]),
+ ("\u{AC01}\u{308}\u{1F1E6}", &["\u{AC01}\u{308}", "\u{1F1E6}"]),
+ ("\u{AC01}\u{378}", &["\u{AC01}", "\u{378}"]),
+ ("\u{AC01}\u{308}\u{378}", &["\u{AC01}\u{308}", "\u{378}"]),
+ ("\u{1F1E6}\u{20}", &["\u{1F1E6}", "\u{20}"]),
+ ("\u{1F1E6}\u{308}\u{20}", &["\u{1F1E6}\u{308}", "\u{20}"]),
+ ("\u{1F1E6}\u{D}", &["\u{1F1E6}", "\u{D}"]),
+ ("\u{1F1E6}\u{308}\u{D}", &["\u{1F1E6}\u{308}", "\u{D}"]),
+ ("\u{1F1E6}\u{A}", &["\u{1F1E6}", "\u{A}"]),
+ ("\u{1F1E6}\u{308}\u{A}", &["\u{1F1E6}\u{308}", "\u{A}"]),
+ ("\u{1F1E6}\u{1}", &["\u{1F1E6}", "\u{1}"]),
+ ("\u{1F1E6}\u{308}\u{1}", &["\u{1F1E6}\u{308}", "\u{1}"]),
+ ("\u{1F1E6}\u{300}", &["\u{1F1E6}\u{300}"]),
+ ("\u{1F1E6}\u{308}\u{300}", &["\u{1F1E6}\u{308}\u{300}"]),
+ ("\u{1F1E6}\u{1100}", &["\u{1F1E6}", "\u{1100}"]),
+ ("\u{1F1E6}\u{308}\u{1100}", &["\u{1F1E6}\u{308}", "\u{1100}"]),
+ ("\u{1F1E6}\u{1160}", &["\u{1F1E6}", "\u{1160}"]),
+ ("\u{1F1E6}\u{308}\u{1160}", &["\u{1F1E6}\u{308}", "\u{1160}"]),
+ ("\u{1F1E6}\u{11A8}", &["\u{1F1E6}", "\u{11A8}"]),
+ ("\u{1F1E6}\u{308}\u{11A8}", &["\u{1F1E6}\u{308}", "\u{11A8}"]),
+ ("\u{1F1E6}\u{AC00}", &["\u{1F1E6}", "\u{AC00}"]),
+ ("\u{1F1E6}\u{308}\u{AC00}", &["\u{1F1E6}\u{308}", "\u{AC00}"]),
+ ("\u{1F1E6}\u{AC01}", &["\u{1F1E6}", "\u{AC01}"]),
+ ("\u{1F1E6}\u{308}\u{AC01}", &["\u{1F1E6}\u{308}", "\u{AC01}"]),
+ ("\u{1F1E6}\u{1F1E6}", &["\u{1F1E6}\u{1F1E6}"]),
+ ("\u{1F1E6}\u{308}\u{1F1E6}", &["\u{1F1E6}\u{308}", "\u{1F1E6}"]),
+ ("\u{1F1E6}\u{378}", &["\u{1F1E6}", "\u{378}"]),
+ ("\u{1F1E6}\u{308}\u{378}", &["\u{1F1E6}\u{308}", "\u{378}"]),
+ ("\u{378}\u{20}", &["\u{378}", "\u{20}"]),
+ ("\u{378}\u{308}\u{20}", &["\u{378}\u{308}", "\u{20}"]),
+ ("\u{378}\u{D}", &["\u{378}", "\u{D}"]),
+ ("\u{378}\u{308}\u{D}", &["\u{378}\u{308}", "\u{D}"]),
+ ("\u{378}\u{A}", &["\u{378}", "\u{A}"]),
+ ("\u{378}\u{308}\u{A}", &["\u{378}\u{308}", "\u{A}"]),
+ ("\u{378}\u{1}", &["\u{378}", "\u{1}"]),
+ ("\u{378}\u{308}\u{1}", &["\u{378}\u{308}", "\u{1}"]),
+ ("\u{378}\u{300}", &["\u{378}\u{300}"]),
+ ("\u{378}\u{308}\u{300}", &["\u{378}\u{308}\u{300}"]),
+ ("\u{378}\u{1100}", &["\u{378}", "\u{1100}"]),
+ ("\u{378}\u{308}\u{1100}", &["\u{378}\u{308}", "\u{1100}"]),
+ ("\u{378}\u{1160}", &["\u{378}", "\u{1160}"]),
+ ("\u{378}\u{308}\u{1160}", &["\u{378}\u{308}", "\u{1160}"]),
+ ("\u{378}\u{11A8}", &["\u{378}", "\u{11A8}"]),
+ ("\u{378}\u{308}\u{11A8}", &["\u{378}\u{308}", "\u{11A8}"]),
+ ("\u{378}\u{AC00}", &["\u{378}", "\u{AC00}"]),
+ ("\u{378}\u{308}\u{AC00}", &["\u{378}\u{308}", "\u{AC00}"]),
+ ("\u{378}\u{AC01}", &["\u{378}", "\u{AC01}"]),
+ ("\u{378}\u{308}\u{AC01}", &["\u{378}\u{308}", "\u{AC01}"]),
+ ("\u{378}\u{1F1E6}", &["\u{378}", "\u{1F1E6}"]),
+ ("\u{378}\u{308}\u{1F1E6}", &["\u{378}\u{308}", "\u{1F1E6}"]),
+ ("\u{378}\u{378}", &["\u{378}", "\u{378}"]),
+ ("\u{378}\u{308}\u{378}", &["\u{378}\u{308}", "\u{378}"]),
+ ("\u{61}\u{1F1E6}\u{62}", &["\u{61}", "\u{1F1E6}", "\u{62}"]),
+ ("\u{1F1F7}\u{1F1FA}", &["\u{1F1F7}\u{1F1FA}"]),
+ ("\u{1F1F7}\u{1F1FA}\u{1F1F8}", &["\u{1F1F7}\u{1F1FA}\u{1F1F8}"]),
+ ("\u{1F1F7}\u{1F1FA}\u{1F1F8}\u{1F1EA}",
+ &["\u{1F1F7}\u{1F1FA}\u{1F1F8}\u{1F1EA}"]),
+ ("\u{1F1F7}\u{1F1FA}\u{200B}\u{1F1F8}\u{1F1EA}",
+ &["\u{1F1F7}\u{1F1FA}", "\u{200B}", "\u{1F1F8}\u{1F1EA}"]),
+ ("\u{1F1E6}\u{1F1E7}\u{1F1E8}", &["\u{1F1E6}\u{1F1E7}\u{1F1E8}"]),
+ ("\u{1F1E6}\u{200D}\u{1F1E7}\u{1F1E8}", &["\u{1F1E6}\u{200D}",
+ "\u{1F1E7}\u{1F1E8}"]),
+ ("\u{1F1E6}\u{1F1E7}\u{200D}\u{1F1E8}",
+ &["\u{1F1E6}\u{1F1E7}\u{200D}", "\u{1F1E8}"]),
+ ("\u{20}\u{200D}\u{646}", &["\u{20}\u{200D}", "\u{646}"]),
+ ("\u{646}\u{200D}\u{20}", &["\u{646}\u{200D}", "\u{20}"]),
];
let test_diff: [(_, &[_], &[_]), .. 23] = [
- ("\u0020\u0903", &["\u0020\u0903"], &["\u0020", "\u0903"]), ("\u0020\u0308\u0903",
- &["\u0020\u0308\u0903"], &["\u0020\u0308", "\u0903"]), ("\u000D\u0308\u0903",
- &["\u000D", "\u0308\u0903"], &["\u000D", "\u0308", "\u0903"]), ("\u000A\u0308\u0903",
- &["\u000A", "\u0308\u0903"], &["\u000A", "\u0308", "\u0903"]), ("\u0001\u0308\u0903",
- &["\u0001", "\u0308\u0903"], &["\u0001", "\u0308", "\u0903"]), ("\u0300\u0903",
- &["\u0300\u0903"], &["\u0300", "\u0903"]), ("\u0300\u0308\u0903",
- &["\u0300\u0308\u0903"], &["\u0300\u0308", "\u0903"]), ("\u0903\u0903",
- &["\u0903\u0903"], &["\u0903", "\u0903"]), ("\u0903\u0308\u0903",
- &["\u0903\u0308\u0903"], &["\u0903\u0308", "\u0903"]), ("\u1100\u0903",
- &["\u1100\u0903"], &["\u1100", "\u0903"]), ("\u1100\u0308\u0903",
- &["\u1100\u0308\u0903"], &["\u1100\u0308", "\u0903"]), ("\u1160\u0903",
- &["\u1160\u0903"], &["\u1160", "\u0903"]), ("\u1160\u0308\u0903",
- &["\u1160\u0308\u0903"], &["\u1160\u0308", "\u0903"]), ("\u11A8\u0903",
- &["\u11A8\u0903"], &["\u11A8", "\u0903"]), ("\u11A8\u0308\u0903",
- &["\u11A8\u0308\u0903"], &["\u11A8\u0308", "\u0903"]), ("\uAC00\u0903",
- &["\uAC00\u0903"], &["\uAC00", "\u0903"]), ("\uAC00\u0308\u0903",
- &["\uAC00\u0308\u0903"], &["\uAC00\u0308", "\u0903"]), ("\uAC01\u0903",
- &["\uAC01\u0903"], &["\uAC01", "\u0903"]), ("\uAC01\u0308\u0903",
- &["\uAC01\u0308\u0903"], &["\uAC01\u0308", "\u0903"]), ("\U0001F1E6\u0903",
- &["\U0001F1E6\u0903"], &["\U0001F1E6", "\u0903"]), ("\U0001F1E6\u0308\u0903",
- &["\U0001F1E6\u0308\u0903"], &["\U0001F1E6\u0308", "\u0903"]), ("\u0378\u0903",
- &["\u0378\u0903"], &["\u0378", "\u0903"]), ("\u0378\u0308\u0903",
- &["\u0378\u0308\u0903"], &["\u0378\u0308", "\u0903"]),
+ ("\u{20}\u{903}", &["\u{20}\u{903}"], &["\u{20}", "\u{903}"]), ("\u{20}\u{308}\u{903}",
+ &["\u{20}\u{308}\u{903}"], &["\u{20}\u{308}", "\u{903}"]), ("\u{D}\u{308}\u{903}",
+ &["\u{D}", "\u{308}\u{903}"], &["\u{D}", "\u{308}", "\u{903}"]), ("\u{A}\u{308}\u{903}",
+ &["\u{A}", "\u{308}\u{903}"], &["\u{A}", "\u{308}", "\u{903}"]), ("\u{1}\u{308}\u{903}",
+ &["\u{1}", "\u{308}\u{903}"], &["\u{1}", "\u{308}", "\u{903}"]), ("\u{300}\u{903}",
+ &["\u{300}\u{903}"], &["\u{300}", "\u{903}"]), ("\u{300}\u{308}\u{903}",
+ &["\u{300}\u{308}\u{903}"], &["\u{300}\u{308}", "\u{903}"]), ("\u{903}\u{903}",
+ &["\u{903}\u{903}"], &["\u{903}", "\u{903}"]), ("\u{903}\u{308}\u{903}",
+ &["\u{903}\u{308}\u{903}"], &["\u{903}\u{308}", "\u{903}"]), ("\u{1100}\u{903}",
+ &["\u{1100}\u{903}"], &["\u{1100}", "\u{903}"]), ("\u{1100}\u{308}\u{903}",
+ &["\u{1100}\u{308}\u{903}"], &["\u{1100}\u{308}", "\u{903}"]), ("\u{1160}\u{903}",
+ &["\u{1160}\u{903}"], &["\u{1160}", "\u{903}"]), ("\u{1160}\u{308}\u{903}",
+ &["\u{1160}\u{308}\u{903}"], &["\u{1160}\u{308}", "\u{903}"]), ("\u{11A8}\u{903}",
+ &["\u{11A8}\u{903}"], &["\u{11A8}", "\u{903}"]), ("\u{11A8}\u{308}\u{903}",
+ &["\u{11A8}\u{308}\u{903}"], &["\u{11A8}\u{308}", "\u{903}"]), ("\u{AC00}\u{903}",
+ &["\u{AC00}\u{903}"], &["\u{AC00}", "\u{903}"]), ("\u{AC00}\u{308}\u{903}",
+ &["\u{AC00}\u{308}\u{903}"], &["\u{AC00}\u{308}", "\u{903}"]), ("\u{AC01}\u{903}",
+ &["\u{AC01}\u{903}"], &["\u{AC01}", "\u{903}"]), ("\u{AC01}\u{308}\u{903}",
+ &["\u{AC01}\u{308}\u{903}"], &["\u{AC01}\u{308}", "\u{903}"]), ("\u{1F1E6}\u{903}",
+ &["\u{1F1E6}\u{903}"], &["\u{1F1E6}", "\u{903}"]), ("\u{1F1E6}\u{308}\u{903}",
+ &["\u{1F1E6}\u{308}\u{903}"], &["\u{1F1E6}\u{308}", "\u{903}"]), ("\u{378}\u{903}",
+ &["\u{378}\u{903}"], &["\u{378}", "\u{903}"]), ("\u{378}\u{308}\u{903}",
+ &["\u{378}\u{308}\u{903}"], &["\u{378}\u{308}", "\u{903}"]),
];
for &(s, g) in test_same.iter() {
use super::*;
use std::iter::{IteratorExt, DoubleEndedIteratorExt};
use std::str::StrPrelude;
- use std::slice::SlicePrelude;
+ use std::slice::SliceExt;
#[bench]
fn char_iterator(b: &mut Bencher) {
let s = "Mary had a little lamb, Little lamb, little-lamb.";
let len = s.split(' ').count();
- b.iter(|| assert_eq!(s.split(|c: char| c == ' ').count(), len));
+ b.iter(|| assert_eq!(s.split(|&: c: char| c == ' ').count(), len));
}
#[bench]