unic-segment-0.9.0/Cargo.toml.orig010064400007650000024000000017771343665764000152560ustar0000000000000000[package] name = "unic-segment" version = "0.9.0" edition = "2018" authors = ["The UNIC Project Developers"] repository = "https://github.com/open-i18n/rust-unic/" license = "MIT/Apache-2.0" description = "UNIC — Unicode Text Segmentation Algorithms" keywords = ["text", "unicode", "grapheme", "word", "boundary"] categories = ["internationalization", "text-processing", "parsing", "rendering"] readme = "README.md" # No tests/benches that depends on /data/ exclude = [] [dependencies] unic-ucd-segment = { path = "../ucd/segment/", version = "0.9.0" } [dev-dependencies] quickcheck = "0.6" unic-ucd-common = { path = "../ucd/common/", version = "0.9.0" } [badges] maintenance = { status = "actively-developed" } is-it-maintained-issue-resolution = { repository = "open-i18n/rust-unic" } is-it-maintained-open-issues = { repository = "open-i18n/rust-unic" } appveyor = { repository = "open-i18n/rust-unic", branch = "master", service = "github" } travis-ci = { repository = "open-i18n/rust-unic", branch = "master" } unic-segment-0.9.0/Cargo.toml0000644000000027010000000000000114750ustar00# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g. crates.io) dependencies # # If you believe there's an error in this file please file an # issue against the rust-lang/cargo repository. If you're # editing this file be aware that the upstream Cargo.toml # will likely look very different (and much more reasonable) [package] edition = "2018" name = "unic-segment" version = "0.9.0" authors = ["The UNIC Project Developers"] exclude = [] description = "UNIC — Unicode Text Segmentation Algorithms" readme = "README.md" keywords = ["text", "unicode", "grapheme", "word", "boundary"] categories = ["internationalization", "text-processing", "parsing", "rendering"] license = "MIT/Apache-2.0" repository = "https://github.com/open-i18n/rust-unic/" [dependencies.unic-ucd-segment] version = "0.9.0" [dev-dependencies.quickcheck] version = "0.6" [dev-dependencies.unic-ucd-common] version = "0.9.0" [badges.appveyor] branch = "master" repository = "open-i18n/rust-unic" service = "github" [badges.is-it-maintained-issue-resolution] repository = "open-i18n/rust-unic" [badges.is-it-maintained-open-issues] repository = "open-i18n/rust-unic" [badges.maintenance] status = "actively-developed" [badges.travis-ci] branch = "master" repository = "open-i18n/rust-unic" unic-segment-0.9.0/README.md010064400007650000024000000012321343520353600136160ustar0000000000000000# UNIC — Unicode Text Segmentation Algorithms [![Crates.io](https://img.shields.io/crates/v/unic-segment.svg)](https://crates.io/crates/unic-segment) [![Documentation](https://docs.rs/unic-segment/badge.svg)](https://docs.rs/unic-segment/) This UNIC component implements algorithms from [Unicode® Standard Annex #29 - Unicode Text Segmentation](http://unicode.org/reports/tr29/), used for detecting boundaries of text element boundaries, such as user-perceived characters (a.k.a. *Grapheme Clusters)*, *Words*, and *Sentences*. ## Notes Initial code for this component is based on [`unicode-segmentation`](https://github.com/unicode-rs/unicode-segmentation). unic-segment-0.9.0/src/grapheme.rs010064400007650000024000000727271343520353600153050ustar0000000000000000// Copyright 2012-2015 The Rust Project Developers. // Copyright 2017 The UNIC Project Developers. // // See the COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. //! Unicode Grapheme Clusters of a string. //! //! ## References //! //! * use std::cmp; use unic_ucd_segment::GraphemeClusterBreak as GCB; /// External iterator for grapheme clusters and byte offsets. #[derive(Clone, Debug)] pub struct GraphemeIndices<'a> { start_offset: usize, iter: Graphemes<'a>, } impl<'a> GraphemeIndices<'a> { /// Create new iterator for *extended grapheme clusters*. #[inline] pub fn new(s: &str) -> GraphemeIndices<'_> { GraphemeIndices { start_offset: s.as_ptr() as usize, iter: Graphemes::new(s), } } /// Create new iterator for *legacy grapheme clusters*. #[inline] pub fn new_legacy(s: &str) -> GraphemeIndices<'_> { GraphemeIndices { start_offset: s.as_ptr() as usize, iter: Graphemes::new_legacy(s), } } #[inline] /// View the underlying data (the part yet to be iterated) as a slice of the original string. /// /// ```rust /// # use unic_segment::GraphemeIndices; /// let mut iter = GraphemeIndices::new("abc"); /// assert_eq!(iter.as_str(), "abc"); /// iter.next(); /// assert_eq!(iter.as_str(), "bc"); /// iter.next(); /// iter.next(); /// assert_eq!(iter.as_str(), ""); /// ``` pub fn as_str(&self) -> &'a str { self.iter.as_str() } } impl<'a> Iterator for GraphemeIndices<'a> { type Item = (usize, &'a str); #[inline] fn next(&mut self) -> Option<(usize, &'a str)> { self.iter .next() .map(|s| (s.as_ptr() as usize - self.start_offset, s)) } #[inline] fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } } impl<'a> DoubleEndedIterator for GraphemeIndices<'a> { #[inline] fn next_back(&mut self) -> Option<(usize, &'a str)> { self.iter .next_back() .map(|s| (s.as_ptr() as usize - self.start_offset, s)) } } /// External iterator for a string's /// [grapheme clusters](https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries). #[derive(Clone, Debug)] pub struct Graphemes<'a> { string: &'a str, cursor: GraphemeCursor, cursor_back: GraphemeCursor, } impl<'a> Graphemes<'a> { /// Create new iterator for *extended grapheme clusters*. #[inline] pub fn new(s: &str) -> Graphemes<'_> { let len = s.len(); Graphemes { string: s, cursor: GraphemeCursor::new(0, len), cursor_back: GraphemeCursor::new(len, len), } } /// Create new iterator for *legacy grapheme clusters*. #[inline] pub fn new_legacy(s: &str) -> Graphemes<'_> { let len = s.len(); Graphemes { string: s, cursor: GraphemeCursor::new_legacy(0, len), cursor_back: GraphemeCursor::new_legacy(len, len), } } #[inline] /// View the underlying data (the part yet to be iterated) as a slice of the original string. /// /// ```rust /// # use unic_segment::Graphemes; /// let mut iter = Graphemes::new("abc"); /// assert_eq!(iter.as_str(), "abc"); /// iter.next(); /// assert_eq!(iter.as_str(), "bc"); /// iter.next(); /// iter.next(); /// assert_eq!(iter.as_str(), ""); /// ``` pub fn as_str(&self) -> &'a str { &self.string[self.cursor.cur_cursor()..self.cursor_back.cur_cursor()] } } impl<'a> Iterator for Graphemes<'a> { type Item = &'a str; #[inline] fn size_hint(&self) -> (usize, Option) { let slen = self.cursor_back.cur_cursor() - self.cursor.cur_cursor(); (cmp::min(slen, 1), Some(slen)) } #[inline] fn next(&mut self) -> Option<&'a str> { let start = self.cursor.cur_cursor(); if start == self.cursor_back.cur_cursor() { return None; } let next = self.cursor.next_boundary(self.string, 0).unwrap().unwrap(); Some(&self.string[start..next]) } } impl<'a> DoubleEndedIterator for Graphemes<'a> { #[inline] fn next_back(&mut self) -> Option<&'a str> { let end = self.cursor_back.cur_cursor(); if end == self.cursor.cur_cursor() { return None; } let prev = self .cursor_back .prev_boundary(self.string, 0) .unwrap() .unwrap(); Some(&self.string[prev..end]) } } // maybe unify with PairResult? // An enum describing information about a potential boundary. #[derive(Clone, Debug, Eq, PartialEq)] enum GraphemeState { // No information is known. Unknown, // It is known to not be a boundary. NotBreak, // It is known to be a boundary. Break, // The codepoint after is a Regional Indicator Symbol, so a boundary iff // it is preceded by an even number of RIS codepoints. (GB12, GB13) Regional, // The codepoint after is in the E_Modifier category, so whether it's a boundary // depends on pre-context according to GB10. Emoji, } /// Cursor-based segmenter for grapheme clusters. #[derive(Clone, Debug)] pub struct GraphemeCursor { /// Current cursor position. offset: usize, /// Total length of the string. len: usize, /// A config flag indicating whether this cursor computes legacy or extended grapheme cluster /// boundaries (enables GB9a and GB9b if set). is_extended: bool, /// Information about the potential boundary at `offset`. state: GraphemeState, /// Category of codepoint immediately preceding cursor, if known. cat_before: Option, /// Category of codepoint immediately after cursor, if known. cat_after: Option, /// If set, at least one more codepoint immediately preceding this offset is needed to resolve /// whether there's a boundary at `offset`. pre_context_offset: Option, /// The number of RIS codepoints preceding `offset`. If `pre_context_offset` is set, then counts /// the number of RIS between that and `offset`, otherwise is an accurate count relative to the /// string. ris_count: Option, /// Set if a call to `prev_boundary` or `next_boundary` was suspended due to needing more input. resuming: bool, } /// An error return indicating that not enough content was available in the /// provided chunk to satisfy the query, and that more content must be provided. #[derive(Debug, Eq, PartialEq)] pub enum GraphemeIncomplete { /// More pre-context is needed. The caller should call `provide_context` /// with a chunk ending at the offset given, then retry the query. This /// will only be returned if the `chunk_start` parameter is nonzero. PreContext(usize), /// When requesting `prev_boundary`, the cursor is moving past the beginning /// of the current chunk, so the chunk before that is requested. This will /// only be returned if the `chunk_start` parameter is nonzero. PrevChunk, /// When requesting `next_boundary`, the cursor is moving past the end of the /// current chunk, so the chunk after that is requested. This will only be /// returned if the chunk ends before the `len` parameter provided on /// creation of the cursor. NextChunk, // requesting chunk following the one given /// An error returned when the chunk given does not contain the cursor position. InvalidOffset, } // An enum describing the result from lookup of a pair of categories. #[derive(Eq, PartialEq)] enum PairResult { /// definitely not a break NotBreak, /// definitely a break Break, /// a break iff not in extended mode Extended, /// a break if preceded by an even number of Regional Indicators Regional, /// a break if preceded by Emoji Base and (Extend)* Emoji, } fn check_pair(before: GCB, after: GCB) -> PairResult { use self::PairResult::*; #[cfg_attr(feature = "cargo-clippy", allow(match_same_arms))] match (before, after) { // Do not break between a CR and LF. Otherwise, break before and after controls. (GCB::CR, GCB::LF) => NotBreak, // GB3 (GCB::Control, _) => Break, // GB4 (GCB::CR, _) => Break, // GB4 (GCB::LF, _) => Break, // GB4 (_, GCB::Control) => Break, // GB5 (_, GCB::CR) => Break, // GB5 (_, GCB::LF) => Break, // GB5 // Do not break Hangul syllable sequences. (GCB::L, GCB::L) => NotBreak, // GB6 (GCB::L, GCB::V) => NotBreak, // GB6 (GCB::L, GCB::LV) => NotBreak, // GB6 (GCB::L, GCB::LVT) => NotBreak, // GB6 (GCB::LV, GCB::V) => NotBreak, // GB7 (GCB::LV, GCB::T) => NotBreak, // GB7 (GCB::V, GCB::V) => NotBreak, // GB7 (GCB::V, GCB::T) => NotBreak, // GB7 (GCB::LVT, GCB::T) => NotBreak, // GB8 (GCB::T, GCB::T) => NotBreak, // GB8 // Do not break before extending characters or ZWJ. (_, GCB::Extend) => NotBreak, // GB9 (_, GCB::ZWJ) => NotBreak, // GB9 // Only for extended grapheme clusters: // Do not break before SpacingMarks, or after Prepend characters. (_, GCB::SpacingMark) => Extended, // GB9a (GCB::Prepend, _) => Extended, // GB9b // Do not break within Emoji Modifier Sequences or Emoji ZWJ Sequences. (GCB::EBase, GCB::EModifier) => NotBreak, // GB10 (GCB::EBaseGAZ, GCB::EModifier) => NotBreak, // GB10 (GCB::Extend, GCB::EModifier) => Emoji, // GB10 (GCB::ZWJ, GCB::GlueAfterZwj) => NotBreak, // GB11 (GCB::ZWJ, GCB::EBaseGAZ) => NotBreak, // GB11 // Do not break within emoji flag sequences. That is, do not break between regional // indicator (RI) symbols if there is an odd number of RI characters before the break point. (GCB::RegionalIndicator, GCB::RegionalIndicator) => Regional, // GB12, GB13 // Otherwise, break everywhere. (_, _) => Break, // GB999 } } impl GraphemeCursor { /// Create a new cursor. The string and initial offset are given at creation /// time, but the contents of the string are not. /// /// The `offset` parameter must be on a codepoint boundary. /// /// ```rust /// # use unic_segment::GraphemeCursor; /// let s = "हिन्दी"; /// let mut extended = GraphemeCursor::new(0, s.len()); /// assert_eq!(extended.next_boundary(s, 0), Ok(Some("हि".len()))); /// ``` pub fn new(offset: usize, len: usize) -> GraphemeCursor { let state = if offset == 0 || offset == len { GraphemeState::Break } else { GraphemeState::Unknown }; GraphemeCursor { offset, len, state, is_extended: true, cat_before: None, cat_after: None, pre_context_offset: None, ris_count: None, resuming: false, } } /// Create a new cursor. The string and initial offset are given at creation /// time, but the contents of the string are not. /// /// The `offset` parameter must be on a codepoint boundary. /// /// ```rust /// # use unic_segment::GraphemeCursor; /// let s = "हिन्दी"; /// let mut legacy = GraphemeCursor::new_legacy(0, s.len()); /// assert_eq!(legacy.next_boundary(s, 0), Ok(Some("ह".len()))); /// ``` pub fn new_legacy(offset: usize, len: usize) -> GraphemeCursor { let state = if offset == 0 || offset == len { GraphemeState::Break } else { GraphemeState::Unknown }; GraphemeCursor { offset, len, state, is_extended: false, cat_before: None, cat_after: None, pre_context_offset: None, ris_count: None, resuming: false, } } // FIXME: Not sure I'm gonna keep this, the advantage over new() seems thin. /// Set the cursor to a new location in the same string. /// /// ```rust /// # use unic_segment::GraphemeCursor; /// let s = "abcd"; /// let mut cursor = GraphemeCursor::new(0, s.len()); /// assert_eq!(cursor.cur_cursor(), 0); /// cursor.set_cursor(2); /// assert_eq!(cursor.cur_cursor(), 2); /// ``` pub fn set_cursor(&mut self, offset: usize) { if offset != self.offset { self.offset = offset; self.state = if offset == 0 || offset == self.len { GraphemeState::Break } else { GraphemeState::Unknown }; // reset state derived from text around cursor self.cat_before = None; self.cat_after = None; self.ris_count = None; } } /// The current offset of the cursor. Equal to the last value provided to /// `new()` or `set_cursor()`, or returned from `next_boundary()` or /// `prev_boundary()`. /// /// ```rust /// # use unic_segment::GraphemeCursor; /// // Two flags (🇷🇸🇮🇴), each flag is two RIS codepoints, each RIS is 4 bytes. /// let flags = "\u{1F1F7}\u{1F1F8}\u{1F1EE}\u{1F1F4}"; /// let mut cursor = GraphemeCursor::new(4, flags.len()); /// assert_eq!(cursor.cur_cursor(), 4); /// assert_eq!(cursor.next_boundary(flags, 0), Ok(Some(8))); /// assert_eq!(cursor.cur_cursor(), 8); /// ``` pub fn cur_cursor(&self) -> usize { self.offset } /// Provide additional pre-context when it is needed to decide a boundary. /// The end of the chunk must coincide with the value given in the /// `GraphemeIncomplete::PreContext` request. /// /// ```rust /// # use unic_segment::{GraphemeCursor, GraphemeIncomplete}; /// let flags = "\u{1F1F7}\u{1F1F8}\u{1F1EE}\u{1F1F4}"; /// let mut cursor = GraphemeCursor::new(8, flags.len()); /// /// // Not enough pre-context to decide if there's a boundary between the two flags. /// assert_eq!(cursor.is_boundary(&flags[8..], 8), Err(GraphemeIncomplete::PreContext(8))); /// /// // Provide one more Regional Indicator Symbol of pre-context /// cursor.provide_context(&flags[4..8], 4); /// /// // Still not enough context to decide. /// assert_eq!(cursor.is_boundary(&flags[8..], 8), Err(GraphemeIncomplete::PreContext(4))); /// /// // Provide additional requested context. /// cursor.provide_context(&flags[0..4], 0); /// /// // That's enough to decide (it always is when context goes to the start of the string) /// assert_eq!(cursor.is_boundary(&flags[8..], 8), Ok(true)); /// ``` pub fn provide_context(&mut self, chunk: &str, chunk_start: usize) { assert!(chunk_start + chunk.len() == self.pre_context_offset.unwrap()); self.pre_context_offset = None; if self.is_extended && chunk_start + chunk.len() == self.offset { let ch = chunk.chars().rev().next().unwrap(); if GCB::of(ch) == GCB::Prepend { self.decide(false); // GB9b return; } } match self.state { GraphemeState::Regional => self.handle_regional(chunk, chunk_start), GraphemeState::Emoji => self.handle_emoji(chunk, chunk_start), _ => panic!("invalid state"), } } fn decide(&mut self, is_break: bool) { self.state = if is_break { GraphemeState::Break } else { GraphemeState::NotBreak }; } fn decision(&mut self, is_break: bool) -> Result { self.decide(is_break); Ok(is_break) } fn is_boundary_result(&self) -> Result { if self.state == GraphemeState::Break { Ok(true) } else if self.state == GraphemeState::NotBreak { Ok(false) } else if let Some(pre_context_offset) = self.pre_context_offset { Err(GraphemeIncomplete::PreContext(pre_context_offset)) } else { unreachable!("inconsistent state"); } } fn handle_regional(&mut self, chunk: &str, chunk_start: usize) { let mut ris_count = self.ris_count.unwrap_or(0); for ch in chunk.chars().rev() { if GCB::of(ch) != GCB::RegionalIndicator { self.ris_count = Some(ris_count); self.decide((ris_count % 2) == 0); return; } ris_count += 1; } self.ris_count = Some(ris_count); if chunk_start == 0 { self.decide((ris_count % 2) == 0); return; } self.pre_context_offset = Some(chunk_start); } fn handle_emoji(&mut self, chunk: &str, chunk_start: usize) { for ch in chunk.chars().rev() { match GCB::of(ch) { GCB::Extend => (), GCB::EBase | GCB::EBaseGAZ => { self.decide(false); return; } _ => { self.decide(true); return; } } } if chunk_start == 0 { self.decide(true); return; } self.pre_context_offset = Some(chunk_start); } // TODO(clippy): Fix clippy warning or leave it as allowed if really needed. // `warning: methods called `is_*` usually take self by reference or no self; consider choosing // a less ambiguous name` #[cfg_attr(feature = "cargo-clippy", allow(wrong_self_convention))] /// Determine whether the current cursor location is a grapheme cluster boundary. /// Only a part of the string need be supplied. If `chunk_start` is nonzero or /// the length of `chunk` is not equal to `len` on creation, then this method /// may return `GraphemeIncomplete::PreContext`. The caller should then /// call `provide_context` with the requested chunk, then retry calling this /// method. /// /// For partial chunks, if the cursor is not at the beginning or end of the /// string, the chunk should contain at least the codepoint following the cursor. /// If the string is nonempty, the chunk must be nonempty. /// /// All calls should have consistent chunk contents (ie, if a chunk provides /// content for a given slice, all further chunks covering that slice must have /// the same content for it). /// /// ```rust /// # use unic_segment::GraphemeCursor; /// let flags = "\u{1F1F7}\u{1F1F8}\u{1F1EE}\u{1F1F4}"; /// let mut cursor = GraphemeCursor::new(8, flags.len()); /// assert_eq!(cursor.is_boundary(flags, 0), Ok(true)); /// cursor.set_cursor(12); /// assert_eq!(cursor.is_boundary(flags, 0), Ok(false)); /// ``` pub fn is_boundary( &mut self, chunk: &str, chunk_start: usize, ) -> Result { if self.state == GraphemeState::Break { return Ok(true); } if self.state == GraphemeState::NotBreak { return Ok(false); } if (self.offset < chunk_start || self.offset >= chunk_start + chunk.len()) && (self.offset > chunk_start + chunk.len() || self.cat_after.is_none()) { return Err(GraphemeIncomplete::InvalidOffset); } if let Some(pre_context_offset) = self.pre_context_offset { return Err(GraphemeIncomplete::PreContext(pre_context_offset)); } let offset_in_chunk = self.offset - chunk_start; if self.cat_after.is_none() { let ch = chunk[offset_in_chunk..].chars().next().unwrap(); self.cat_after = Some(GCB::of(ch)); } if self.offset == chunk_start { let mut need_pre_context = true; match self.cat_after.unwrap() { GCB::RegionalIndicator => self.state = GraphemeState::Regional, GCB::EModifier => self.state = GraphemeState::Emoji, _ => need_pre_context = self.cat_before.is_none(), } if need_pre_context { self.pre_context_offset = Some(chunk_start); return Err(GraphemeIncomplete::PreContext(chunk_start)); } } if self.cat_before.is_none() { let ch = chunk[..offset_in_chunk].chars().rev().next().unwrap(); self.cat_before = Some(GCB::of(ch)); } match check_pair(self.cat_before.unwrap(), self.cat_after.unwrap()) { PairResult::NotBreak => self.decision(false), PairResult::Break => self.decision(true), PairResult::Extended => { let is_extended = self.is_extended; self.decision(!is_extended) } PairResult::Regional => { if let Some(ris_count) = self.ris_count { return self.decision((ris_count % 2) == 0); } self.handle_regional(&chunk[..offset_in_chunk], chunk_start); self.is_boundary_result() } PairResult::Emoji => { self.handle_emoji(&chunk[..offset_in_chunk], chunk_start); self.is_boundary_result() } } } /// Find the next boundary after the current cursor position. Only a part of /// the string need be supplied. If the chunk is incomplete, then this /// method might return `GraphemeIncomplete::PreContext` or /// `GraphemeIncomplete::NextChunk`. In the former case, the caller should /// call `provide_context` with the requested chunk, then retry. In the /// latter case, the caller should provide the chunk following the one /// given, then retry. /// /// See `is_boundary` for expectations on the provided chunk. /// /// ```rust /// # use unic_segment::GraphemeCursor; /// let flags = "\u{1F1F7}\u{1F1F8}\u{1F1EE}\u{1F1F4}"; /// let mut cursor = GraphemeCursor::new(4, flags.len()); /// assert_eq!(cursor.next_boundary(flags, 0), Ok(Some(8))); /// assert_eq!(cursor.next_boundary(flags, 0), Ok(Some(16))); /// assert_eq!(cursor.next_boundary(flags, 0), Ok(None)); /// ``` /// /// And an example that uses partial strings: /// /// ```rust /// # use unic_segment::{GraphemeCursor, GraphemeIncomplete}; /// let s = "abcd"; /// let mut cursor = GraphemeCursor::new(0, s.len()); /// assert_eq!(cursor.next_boundary(&s[..2], 0), Ok(Some(1))); /// assert_eq!(cursor.next_boundary(&s[..2], 0), Err(GraphemeIncomplete::NextChunk)); /// assert_eq!(cursor.next_boundary(&s[2..4], 2), Ok(Some(2))); /// assert_eq!(cursor.next_boundary(&s[2..4], 2), Ok(Some(3))); /// assert_eq!(cursor.next_boundary(&s[2..4], 2), Ok(Some(4))); /// assert_eq!(cursor.next_boundary(&s[2..4], 2), Ok(None)); /// ``` pub fn next_boundary( &mut self, chunk: &str, chunk_start: usize, ) -> Result, GraphemeIncomplete> { if self.offset == self.len { return Ok(None); } let mut iter = chunk[self.offset - chunk_start..].chars(); let mut ch = iter.next().unwrap(); loop { if self.resuming { if self.cat_after.is_none() { self.cat_after = Some(GCB::of(ch)); } } else { self.offset += ch.len_utf8(); self.state = GraphemeState::Unknown; self.cat_before = self.cat_after.take(); if self.cat_before.is_none() { self.cat_before = Some(GCB::of(ch)); } if self.cat_before == Some(GCB::RegionalIndicator) { self.ris_count = self.ris_count.map(|c| c + 1); } else { self.ris_count = Some(0); } if let Some(next_ch) = iter.next() { ch = next_ch; self.cat_after = Some(GCB::of(ch)); } else if self.offset == self.len { self.decide(true); } else { self.resuming = true; return Err(GraphemeIncomplete::NextChunk); } } self.resuming = true; if self.is_boundary(chunk, chunk_start)? { self.resuming = false; return Ok(Some(self.offset)); } self.resuming = false; } } /// Find the previous boundary after the current cursor position. Only a part /// of the string need be supplied. If the chunk is incomplete, then this /// method might return `GraphemeIncomplete::PreContext` or /// `GraphemeIncomplete::PrevChunk`. In the former case, the caller should /// call `provide_context` with the requested chunk, then retry. In the /// latter case, the caller should provide the chunk preceding the one /// given, then retry. /// /// See `is_boundary` for expectations on the provided chunk. /// /// ```rust /// # use unic_segment::GraphemeCursor; /// let flags = "\u{1F1F7}\u{1F1F8}\u{1F1EE}\u{1F1F4}"; /// let mut cursor = GraphemeCursor::new(12, flags.len()); /// assert_eq!(cursor.prev_boundary(flags, 0), Ok(Some(8))); /// assert_eq!(cursor.prev_boundary(flags, 0), Ok(Some(0))); /// assert_eq!(cursor.prev_boundary(flags, 0), Ok(None)); /// ``` /// /// And an example that uses partial strings (note the exact return is not /// guaranteed, and may be `PrevChunk` or `PreContext` arbitrarily): /// /// ```rust /// # use unic_segment::{GraphemeCursor, GraphemeIncomplete}; /// let s = "abcd"; /// let mut cursor = GraphemeCursor::new(4, s.len()); /// assert_eq!(cursor.prev_boundary(&s[2..4], 2), Ok(Some(3))); /// assert_eq!(cursor.prev_boundary(&s[2..4], 2), Err(GraphemeIncomplete::PrevChunk)); /// assert_eq!(cursor.prev_boundary(&s[0..2], 0), Ok(Some(2))); /// assert_eq!(cursor.prev_boundary(&s[0..2], 0), Ok(Some(1))); /// assert_eq!(cursor.prev_boundary(&s[0..2], 0), Ok(Some(0))); /// assert_eq!(cursor.prev_boundary(&s[0..2], 0), Ok(None)); /// ``` pub fn prev_boundary( &mut self, chunk: &str, chunk_start: usize, ) -> Result, GraphemeIncomplete> { if self.offset == 0 { return Ok(None); } let mut iter = chunk[..self.offset - chunk_start].chars().rev(); let mut ch = iter.next().unwrap(); loop { if self.offset == chunk_start { self.resuming = true; return Err(GraphemeIncomplete::PrevChunk); } if self.resuming { self.cat_before = Some(GCB::of(ch)); } else { self.offset -= ch.len_utf8(); self.cat_after = self.cat_before.take(); self.state = GraphemeState::Unknown; if let Some(ris_count) = self.ris_count { self.ris_count = if ris_count > 0 { Some(ris_count - 1) } else { None }; } if let Some(prev_ch) = iter.next() { ch = prev_ch; self.cat_before = Some(GCB::of(ch)); } else if self.offset == 0 { self.decide(true); } else { self.resuming = true; return Err(GraphemeIncomplete::PrevChunk); } } self.resuming = true; if self.is_boundary(chunk, chunk_start)? { self.resuming = false; return Ok(Some(self.offset)); } self.resuming = false; } } } #[cfg(test)] mod tests { use super::{GraphemeIndices, Graphemes}; #[test] fn test_grapheme_indices() { let input = "a̐éö̲\r\n"; let grapheme_indices = GraphemeIndices::new(input).collect::>(); assert_eq!( grapheme_indices, &[(0, "a̐"), (3, "é"), (6, "ö̲"), (11, "\r\n")] ); let grapheme_indices = GraphemeIndices::new(input) .rev() .collect::>(); assert_eq!( grapheme_indices, &[(11, "\r\n"), (6, "ö̲"), (3, "é"), (0, "a̐")] ); let mut grapheme_indices_iter = GraphemeIndices::new(input); { let grapheme_indices = grapheme_indices_iter.by_ref(); let e1 = grapheme_indices.size_hint(); assert_eq!(e1, (1, Some(13))); let c = grapheme_indices.count(); assert_eq!(c, 4); } assert_eq!(grapheme_indices_iter.size_hint(), (0, Some(0))); } #[test] fn test_graphemes() { let input = "a̐éö̲\r\n"; let graphemes = Graphemes::new(input).collect::>(); assert_eq!(graphemes, &["a̐", "é", "ö̲", "\r\n"]); // Make sure the reverse iterator does the right thing with "\n" at beginning of string. let input = "\n\r\n\r"; let graphemes = Graphemes::new(input).rev().collect::>(); assert_eq!(graphemes, &["\r", "\r\n", "\n"]); } } unic-segment-0.9.0/src/lib.rs010064400007650000024000000055421343520353600142520ustar0000000000000000// Copyright 2012-2015 The Rust Project Developers. // Copyright 2017 The UNIC Project Developers. // // See the COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. #![warn( bad_style, missing_debug_implementations, missing_docs, unconditional_recursion )] #![forbid(unsafe_code)] //! # UNIC — Unicode Text Segmentation Algorithms //! //! A component of [`unic`: Unicode and Internationalization Crates for Rust](/unic/). //! //! This UNIC component implements algorithms from [Unicode® Standard Annex #29 - //! Unicode Text Segmentation](http://unicode.org/reports/tr29/), used for detecting //! boundaries of text element boundaries, such as user-perceived characters (a.k.a. //! *Grapheme Clusters)*, *Words*, and *Sentences* (last one not implemented yet). //! //! # Examples //! //! ```rust //! # use unic_segment::{GraphemeIndices, Graphemes, WordBoundIndices, WordBounds, Words}; //! assert_eq!( //! Graphemes::new("a\u{310}e\u{301}o\u{308}\u{332}").collect::>(), //! &["a\u{310}", "e\u{301}", "o\u{308}\u{332}"] //! ); //! //! assert_eq!( //! Graphemes::new("a\r\nb🇺🇳🇮🇨").collect::>(), //! &["a", "\r\n", "b", "🇺🇳", "🇮🇨"] //! ); //! //! assert_eq!( //! GraphemeIndices::new("a̐éö̲\r\n").collect::>(), //! &[(0, "a̐"), (3, "é"), (6, "ö̲"), (11, "\r\n")] //! ); //! //! fn has_alphanumeric(s: &&str) -> bool { //! s.chars().any(|ch| ch.is_alphanumeric()) //! } //! //! assert_eq!( //! Words::new( //! "The quick (\"brown\") fox can't jump 32.3 feet, right?", //! has_alphanumeric, //! ).collect::>(), //! &["The", "quick", "brown", "fox", "can't", "jump", "32.3", "feet", "right"] //! ); //! //! assert_eq!( //! WordBounds::new("The quick (\"brown\") fox").collect::>(), //! &["The", " ", "quick", " ", "(", "\"", "brown", "\"", ")", " ", " ", "fox"] //! ); //! //! assert_eq!( //! WordBoundIndices::new("Brr, it's 29.3°F!").collect::>(), //! &[ //! (0, "Brr"), //! (3, ","), //! (4, " "), //! (5, "it's"), //! (9, " "), //! (10, "29.3"), //! (14, "°"), //! (16, "F"), //! (17, "!") //! ] //! ); //! ``` pub use unic_ucd_segment::UNICODE_VERSION; mod pkg_info; pub use crate::pkg_info::{PKG_DESCRIPTION, PKG_NAME, PKG_VERSION}; mod grapheme; pub use crate::grapheme::{GraphemeCursor, GraphemeIncomplete, GraphemeIndices, Graphemes}; mod word; pub use crate::word::{WordBoundIndices, WordBounds, Words}; unic-segment-0.9.0/src/pkg_info.rs010064400007650000024000000013121343520353600152670ustar0000000000000000// Copyright 2017 The UNIC Project Developers. // // See the COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. //! Package information /// UNIC component version. pub const PKG_VERSION: &str = env!("CARGO_PKG_VERSION"); /// UNIC component name. pub const PKG_NAME: &str = env!("CARGO_PKG_NAME"); /// UNIC component description. pub const PKG_DESCRIPTION: &str = env!("CARGO_PKG_DESCRIPTION"); unic-segment-0.9.0/src/word.rs010064400007650000024000000626011343520353600144560ustar0000000000000000// Copyright 2012-2015 The Rust Project Developers. // Copyright 2017 The UNIC Project Developers. // // See the COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. //! Unicode Words of a string. //! //! ## References //! //! * use std::cmp; use std::iter::Filter; use unic_ucd_segment::WordBreak as WB; /// An iterator over the substrings of a string which, after splitting the string on [word /// boundaries](https://www.unicode.org/reports/tr29/#Word_Boundaries), contain any characters with /// the [Alphabetic](http://unicode.org/reports/tr44/#Alphabetic) property, or with /// [`General_Category=Number`](http://unicode.org/reports/tr44/#General_Category_Values). #[derive(Debug)] pub struct Words<'a> { inner: Filter, fn(&&str) -> bool>, } impl<'a> Iterator for Words<'a> { type Item = &'a str; #[inline] fn next(&mut self) -> Option<&'a str> { self.inner.next() } } impl<'a> DoubleEndedIterator for Words<'a> { #[inline] fn next_back(&mut self) -> Option<&'a str> { self.inner.next_back() } } impl<'a> Words<'a> { /// Create new iterator for *words*. #[inline] pub fn new(s: &str, filter: fn(&&str) -> bool) -> Words<'_> { Words { inner: WordBounds::new(s).filter(filter), } } } /// External iterator for a string's /// [word boundaries](https://www.unicode.org/reports/tr29/#Word_Boundaries). #[derive(Clone, Debug)] pub struct WordBounds<'a> { string: &'a str, cat: Option, catb: Option, } /// External iterator for word boundaries and byte offsets. #[derive(Clone, Debug)] pub struct WordBoundIndices<'a> { start_offset: usize, iter: WordBounds<'a>, } impl<'a> WordBoundIndices<'a> { /// Create new iterator for *word boundries and their indices*. #[inline] pub fn new(s: &str) -> WordBoundIndices<'_> { WordBoundIndices { start_offset: s.as_ptr() as usize, iter: WordBounds::new(s), } } #[inline] /// View the underlying data (the part yet to be iterated) as a slice of the original string. /// /// ```rust /// # use unic_segment::WordBoundIndices; /// let mut iter = WordBoundIndices::new("Hello world"); /// assert_eq!(iter.as_str(), "Hello world"); /// /// iter.next(); /// assert_eq!(iter.as_str(), " world"); /// /// iter.next(); /// assert_eq!(iter.as_str(), "world"); /// ``` pub fn as_str(&self) -> &'a str { self.iter.as_str() } } impl<'a> Iterator for WordBoundIndices<'a> { type Item = (usize, &'a str); #[inline] fn next(&mut self) -> Option<(usize, &'a str)> { self.iter .next() .map(|s| (s.as_ptr() as usize - self.start_offset, s)) } #[inline] fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } } impl<'a> DoubleEndedIterator for WordBoundIndices<'a> { #[inline] fn next_back(&mut self) -> Option<(usize, &'a str)> { self.iter .next_back() .map(|s| (s.as_ptr() as usize - self.start_offset, s)) } } // state machine for word boundary rules #[derive(Clone, Copy, Debug, Eq, PartialEq)] enum WordBoundsState { Start, Letter, HLetter, Numeric, Katakana, ExtendNumLet, Regional(RegionalState), FormatExtend(FormatExtendType), Zwj, Emoji, } // subtypes for FormatExtend state in WordBoundsState #[derive(Clone, Copy, Debug, Eq, PartialEq)] enum FormatExtendType { AcceptAny, AcceptNone, RequireLetter, RequireHLetter, AcceptQLetter, RequireNumeric, } #[derive(Clone, Copy, Debug, Eq, PartialEq)] enum RegionalState { Half, Full, Unknown, } impl<'a> Iterator for WordBounds<'a> { type Item = &'a str; #[inline] fn size_hint(&self) -> (usize, Option) { let slen = self.string.len(); (cmp::min(slen, 1), Some(slen)) } #[inline] #[cfg_attr(feature = "cargo-clippy", allow(match_same_arms))] fn next(&mut self) -> Option<&'a str> { use self::FormatExtendType::*; use self::WordBoundsState::*; if self.string.is_empty() { return None; } let mut take_curr = true; let mut take_cat = true; let mut idx = 0; let mut saveidx = 0; let mut state = Start; let mut cat = WB::Other; let mut savecat = WB::Other; // Whether or not the previous category was ZWJ // ZWJs get collapsed, so this handles precedence of WB3c over WB4 let mut prev_zwj; for (curr, ch) in self.string.char_indices() { idx = curr; prev_zwj = cat == WB::ZWJ; // if there's a category cached, grab it cat = match self.cat { None => WB::of(ch), _ => self.cat.take().unwrap(), }; take_cat = true; // handle rule WB4 // just skip all format, extend, and zwj chars // note that Start is a special case: if there's a bunch of Format | Extend // characters at the beginning of a block of text, dump them out as one unit. // // (This is not obvious from the wording of UAX#29, but if you look at the // test cases https://www.unicode.org/Public/UNIDATA/auxiliary/WordBreakTest.txt // then the "correct" interpretation of WB4 becomes apparent.) if state != Start { match cat { WB::Extend | WB::Format | WB::ZWJ => continue, _ => {} } } // rule WB3c // WB4 makes all ZWJs collapse into the previous state // but you can still be in a Zwj state if you started with Zwj // // This means that Zwj + Extend will collapse into Zwj, which is wrong, // since Extend has a boundary with following EBG/GAZ chars but ZWJ doesn't, // and that rule (WB3c) has higher priority // // Additionally, Emoji_Base+ZWJ+(EBG/GAZ) will collapse into Emoji_Base+EBG/GAZ // which won't have a boundary even though EB+ZWJ+GAZ should have a boundary. // // Thus, we separately keep track of whether or not the last character // was a ZWJ. This is an additional bit of state tracked outside of the // state enum; the state enum represents the last non-zwj state encountered. // When prev_zwj is true, for the purposes of WB3c, we are in the Zwj state, // however we are in the previous state for the purposes of all other rules. if prev_zwj { match cat { WB::GlueAfterZwj => continue, WB::EBaseGAZ => { state = Emoji; continue; } _ => (), } } // Don't use `continue` in this match without updating `cat` state = match state { Start if cat == WB::CR => { idx += match self.get_next_cat(idx) { Some(ncat) if ncat == WB::LF => 1, // rule WB3 _ => 0, }; break; // rule WB3a } Start => match cat { WB::ALetter => Letter, // rule WB5, WB6, WB9, WB13a WB::HebrewLetter => HLetter, // rule WB5, WB6, WB7a, WB7b, WB9, WB13a WB::Numeric => Numeric, // rule WB8, WB10, WB12, WB13a WB::Katakana => Katakana, // rule WB13, WB13a WB::ExtendNumLet => ExtendNumLet, // rule WB13a, WB13b WB::RegionalIndicator => Regional(RegionalState::Half), // rule WB13c WB::LF | WB::Newline => break, // rule WB3a WB::ZWJ => Zwj, // rule WB3c WB::EBase | WB::EBaseGAZ => Emoji, // rule WB14 _ => { if let Some(ncat) = self.get_next_cat(idx) { // rule WB4 if ncat == WB::Format || ncat == WB::Extend || ncat == WB::ZWJ { state = FormatExtend(AcceptNone); self.cat = Some(ncat); continue; } } break; // rule WB999 } }, Zwj => { // We already handle WB3c above. At this point, // the current category is not GAZ or EBG, // or the previous character was not actually a ZWJ take_curr = false; break; } Letter | HLetter => match cat { WB::ALetter => Letter, // rule WB5 WB::HebrewLetter => HLetter, // rule WB5 WB::Numeric => Numeric, // rule WB9 WB::ExtendNumLet => ExtendNumLet, // rule WB13a WB::DoubleQuote if state == HLetter => { savecat = cat; saveidx = idx; FormatExtend(RequireHLetter) // rule WB7b } WB::SingleQuote if state == HLetter => { FormatExtend(AcceptQLetter) // rule WB7a } WB::MidLetter | WB::MidNumLet | WB::SingleQuote => { savecat = cat; saveidx = idx; FormatExtend(RequireLetter) // rule WB6 } _ => { take_curr = false; break; } }, Numeric => match cat { WB::Numeric => Numeric, // rule WB8 WB::ALetter => Letter, // rule WB10 WB::HebrewLetter => HLetter, // rule WB10 WB::ExtendNumLet => ExtendNumLet, // rule WB13a WB::MidNum | WB::MidNumLet | WB::SingleQuote => { savecat = cat; saveidx = idx; FormatExtend(RequireNumeric) // rule WB12 } _ => { take_curr = false; break; } }, Katakana => match cat { WB::Katakana => Katakana, // rule WB13 WB::ExtendNumLet => ExtendNumLet, // rule WB13a _ => { take_curr = false; break; } }, ExtendNumLet => match cat { WB::ExtendNumLet => ExtendNumLet, // rule WB13a WB::ALetter => Letter, // rule WB13b WB::HebrewLetter => HLetter, // rule WB13b WB::Numeric => Numeric, // rule WB13b WB::Katakana => Katakana, // rule WB13b _ => { take_curr = false; break; } }, Regional(RegionalState::Full) => { // if it reaches here we've gone too far, // a full flag can only compose with ZWJ/Extend/Format // proceeding it. take_curr = false; break; } Regional(RegionalState::Half) => match cat { WB::RegionalIndicator => Regional(RegionalState::Full), // rule WB13c _ => { take_curr = false; break; } }, Regional(_) => { unreachable!("RegionalState::Unknown should not occur on forward iteration") } Emoji => match cat { // rule WB14 WB::EModifier => state, _ => { take_curr = false; break; } }, FormatExtend(t) => match t { // handle FormatExtends depending on what type RequireNumeric if cat == WB::Numeric => Numeric, // rule WB11 RequireLetter | AcceptQLetter if cat == WB::ALetter => Letter, // rule WB7 RequireLetter | AcceptQLetter if cat == WB::HebrewLetter => HLetter, // WB7a RequireHLetter if cat == WB::HebrewLetter => HLetter, // rule WB7b AcceptNone | AcceptQLetter => { take_curr = false; // emit all the Format|Extend characters take_cat = false; break; } _ => break, // rewind (in if statement below) }, } } if let FormatExtend(t) = state { // we were looking for something and didn't find it; we have to back up if t == RequireLetter || t == RequireHLetter || t == RequireNumeric { idx = saveidx; cat = savecat; take_curr = false; } } self.cat = if take_curr { idx += self.string[idx..].chars().next().unwrap().len_utf8(); None } else if take_cat { Some(cat) } else { None }; let retstr = &self.string[..idx]; self.string = &self.string[idx..]; Some(retstr) } } impl<'a> DoubleEndedIterator for WordBounds<'a> { #[inline] #[cfg_attr(feature = "cargo-clippy", allow(cyclomatic_complexity))] fn next_back(&mut self) -> Option<&'a str> { use self::FormatExtendType::*; use self::WordBoundsState::*; if self.string.is_empty() { return None; } let mut take_curr = true; let mut take_cat = true; let mut idx = self.string.len(); idx -= self.string.chars().next_back().unwrap().len_utf8(); let mut previdx = idx; let mut saveidx = idx; let mut state = Start; let mut savestate = Start; let mut cat = WB::Other; for (curr, ch) in self.string.char_indices().rev() { previdx = idx; idx = curr; // if there's a category cached, grab it cat = match self.catb { None => WB::of(ch), _ => self.catb.take().unwrap(), }; take_cat = true; // backward iterator over word boundaries. Mostly the same as the forward // iterator, with two weirdnesses: // (1) If we encounter a single quote in the Start state, we have to check for a // Hebrew Letter immediately before it. // (2) Format and Extend char handling takes some gymnastics. if cat == WB::Extend || cat == WB::Format || (cat == WB::ZWJ && state != Zwj) { // WB3c has more priority so we should not // fold in that case if match state { FormatExtend(_) | Start => false, _ => true, } { saveidx = previdx; savestate = state; state = FormatExtend(AcceptNone); } if state != Start { continue; } } else if state == FormatExtend(AcceptNone) { // finished a scan of some Format|Extend chars, restore previous state state = savestate; previdx = saveidx; take_cat = false; } // Don't use `continue` in this match without updating `catb` state = match state { Start | FormatExtend(AcceptAny) => match cat { WB::ALetter => Letter, // rule WB5, WB7, WB10, WB13b WB::HebrewLetter => HLetter, // rule WB5, WB7, WB7c, WB10, WB13b WB::Numeric => Numeric, // rule WB8, WB9, WB11, WB13b WB::Katakana => Katakana, // rule WB13, WB13b WB::ExtendNumLet => ExtendNumLet, // rule WB13a WB::RegionalIndicator => Regional(RegionalState::Unknown), // rule WB13c WB::GlueAfterZwj | WB::EBaseGAZ => Zwj, // rule WB3c // rule WB4: WB::Extend | WB::Format | WB::ZWJ => FormatExtend(AcceptAny), WB::SingleQuote => { saveidx = idx; FormatExtend(AcceptQLetter) // rule WB7a } WB::EModifier => Emoji, // rule WB14 WB::CR | WB::LF | WB::Newline => { if state == Start { if cat == WB::LF { idx -= match self.get_prev_cat(idx) { Some(pcat) if pcat == WB::CR => 1, // rule WB3 _ => 0, }; } } else { take_curr = false; } break; // rule WB3a } _ => break, // rule WB999 }, Zwj => match cat { // rule WB3c WB::ZWJ => FormatExtend(AcceptAny), _ => { take_curr = false; break; } }, Letter | HLetter => match cat { WB::ALetter => Letter, // rule WB5 WB::HebrewLetter => HLetter, // rule WB5 WB::Numeric => Numeric, // rule WB10 WB::ExtendNumLet => ExtendNumLet, // rule WB13b WB::DoubleQuote if state == HLetter => { saveidx = previdx; FormatExtend(RequireHLetter) // rule WB7c } WB::MidLetter | WB::MidNumLet | WB::SingleQuote => { saveidx = previdx; FormatExtend(RequireLetter) // rule WB7 } _ => { take_curr = false; break; } }, Numeric => match cat { WB::Numeric => Numeric, // rule WB8 WB::ALetter => Letter, // rule WB9 WB::HebrewLetter => HLetter, // rule WB9 WB::ExtendNumLet => ExtendNumLet, // rule WB13b WB::MidNum | WB::MidNumLet | WB::SingleQuote => { saveidx = previdx; FormatExtend(RequireNumeric) // rule WB11 } _ => { take_curr = false; break; } }, Katakana => match cat { WB::Katakana => Katakana, // rule WB13 WB::ExtendNumLet => ExtendNumLet, // rule WB13b _ => { take_curr = false; break; } }, ExtendNumLet => match cat { WB::ExtendNumLet => ExtendNumLet, // rule WB13a WB::ALetter => Letter, // rule WB13a WB::HebrewLetter => HLetter, // rule WB13a WB::Numeric => Numeric, // rule WB13a WB::Katakana => Katakana, // rule WB13a _ => { take_curr = false; break; } }, Regional(mut regional_state) => match cat { // rule WB13c WB::RegionalIndicator => { if regional_state == RegionalState::Unknown { let count = self.string[..previdx] .chars() .rev() .map(WB::of) .filter(|&c| !(c == WB::ZWJ || c == WB::Extend || c == WB::Format)) .take_while(|&c| c == WB::RegionalIndicator) .count(); regional_state = if count % 2 == 0 { RegionalState::Full } else { RegionalState::Half }; } if regional_state == RegionalState::Full { take_curr = false; break; } else { Regional(RegionalState::Full) } } _ => { take_curr = false; break; } }, Emoji => match cat { // rule WB14 WB::EBase | WB::EBaseGAZ => Zwj, _ => { take_curr = false; break; } }, FormatExtend(t) => match t { RequireNumeric if cat == WB::Numeric => Numeric, // rule WB12 RequireLetter if cat == WB::ALetter => Letter, // rule WB6 RequireLetter if cat == WB::HebrewLetter => HLetter, // rule WB6 AcceptQLetter if cat == WB::HebrewLetter => HLetter, // rule WB7a RequireHLetter if cat == WB::HebrewLetter => HLetter, // rule WB7b _ => break, // backtrack will happens }, } } if let FormatExtend(t) = state { // if we required something but didn't find it, backtrack if t == RequireLetter || t == RequireHLetter || t == RequireNumeric || t == AcceptNone || t == AcceptQLetter { previdx = saveidx; take_cat = false; take_curr = false; } } self.catb = if take_curr { None } else { idx = previdx; if take_cat { Some(cat) } else { None } }; let retstr = &self.string[idx..]; self.string = &self.string[..idx]; Some(retstr) } } impl<'a> WordBounds<'a> { /// Create new iterator for *word boundries*. #[inline] pub fn new(s: &str) -> WordBounds<'_> { WordBounds { string: s, cat: None, catb: None, } } #[inline] /// View the underlying data (the part yet to be iterated) as a slice of the original string. /// /// ```rust /// # use unic_segment::WordBounds; /// let mut iter = WordBounds::new("Hello world"); /// assert_eq!(iter.as_str(), "Hello world"); /// /// iter.next(); /// assert_eq!(iter.as_str(), " world"); /// /// iter.next(); /// assert_eq!(iter.as_str(), "world"); /// ``` pub fn as_str(&self) -> &'a str { self.string } #[inline] fn get_next_cat(&self, idx: usize) -> Option { let nidx = idx + self.string[idx..].chars().next().unwrap().len_utf8(); if nidx < self.string.len() { let nch = self.string[nidx..].chars().next().unwrap(); Some(WB::of(nch)) } else { None } } #[inline] fn get_prev_cat(&self, idx: usize) -> Option { if idx > 0 { let nch = self.string[..idx].chars().next_back().unwrap(); Some(WB::of(nch)) } else { None } } } #[cfg(test)] mod tests { use super::{WordBounds, Words}; use unic_ucd_common::is_alphanumeric; #[test] fn test_word_bounds() { assert_eq!( WordBounds::new("The quick (\"brown\") fox").collect::>(), &["The", " ", "quick", " ", "(", "\"", "brown", "\"", ")", " ", " ", "fox"] ); } #[test] fn test_words() { assert_eq!( Words::new( "The quick (\"brown\") fox can't jump 32.3 feet, right?", |s: &&str| s.chars().any(is_alphanumeric), ) .collect::>(), &["The", "quick", "brown", "fox", "can't", "jump", "32.3", "feet", "right"] ); } } unic-segment-0.9.0/tests/basic_example.rs010064400007650000024000000036071343520353600166530ustar0000000000000000// Copyright 2012-2015 The Rust Project Developers. // Copyright 2017 The UNIC Project Developers. // // See the COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. use unic_segment::{GraphemeIndices, Graphemes, WordBoundIndices, WordBounds, Words}; use unic_ucd_common::is_alphanumeric; #[test] fn test_all() { assert_eq!( Graphemes::new("a\u{310}e\u{301}o\u{308}\u{332}").collect::>(), &["a\u{310}", "e\u{301}", "o\u{308}\u{332}"] ); assert_eq!( Graphemes::new("a\r\nb🇺🇳🇮🇨").collect::>(), &["a", "\r\n", "b", "🇺🇳", "🇮🇨"] ); assert_eq!( GraphemeIndices::new("a̐éö̲\r\n").collect::>(), &[(0, "a̐"), (3, "é"), (6, "ö̲"), (11, "\r\n")] ); assert_eq!( Words::new( "The quick (\"brown\") fox can't jump 32.3 feet, right?", |s: &&str| s.chars().any(is_alphanumeric), ) .collect::>(), &["The", "quick", "brown", "fox", "can't", "jump", "32.3", "feet", "right"] ); assert_eq!( WordBounds::new("The quick (\"brown\") fox").collect::>(), &["The", " ", "quick", " ", "(", "\"", "brown", "\"", ")", " ", " ", "fox"] ); assert_eq!( WordBoundIndices::new("Brr, it's 29.3°F!").collect::>(), &[ (0, "Brr"), (3, ","), (4, " "), (5, "it's"), (9, " "), (10, "29.3"), (14, "°"), (16, "F"), (17, "!") ] ); } unic-segment-0.9.0/tests/extra_grapheme_cluster_break_test_data.rsv010064400007650000024000000024771343520353600242010ustar0000000000000000// Copyright 2012-2015 The Rust Project Developers. // Copyright 2017 The UNIC Project Developers. // // See the COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. &[ // Two Prepend chars between two other chars. ( "\u{20}\u{600}\u{600}\u{20}", &["\u{20}", "\u{600}\u{600}\u{20}"], Some(&["\u{20}", "\u{600}", "\u{600}", "\u{20}"]), ), // Test for Prepend followed by two other chars. ( "\u{600}\u{20}\u{20}", &["\u{600}\u{20}", "\u{20}"], Some(&["\u{600}", "\u{20}", "\u{20}"]), ), // Family emoji (more than two emoji joined by ZWJ) ( "\u{1f468}\u{200d}\u{1f467}\u{200d}\u{1f466}", &["\u{1f468}\u{200d}\u{1f467}\u{200d}\u{1f466}"], None, ), // Cartwheel emoji followed by two fitzpatrick skin tone modifiers // (test case from ) ( "\u{1F938}\u{1F3FE}\u{1F3FE}", &["\u{1F938}\u{1F3FE}", "\u{1F3FE}"], None, ), ] unic-segment-0.9.0/tests/extra_word_break_test_data.rsv010064400007650000024000000030651343520353600216150ustar0000000000000000// Copyright 2012-2015 The Rust Project Developers. // Copyright 2017 The UNIC Project Developers. // // See the COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. // TODO: This could be improved with more tests like flag emoji with interspersed Extend chars and // ZWJ &[ ("hello world", &["hello", " ", "world"]), // Long chains of flag emoji ( "🇦🇫🇦🇽🇦🇱🇩🇿🇦🇸🇦🇩🇦🇴", &["🇦🇫", "🇦🇽", "🇦🇱", "🇩🇿", "🇦🇸", "🇦🇩", "🇦🇴"], ), // Long chains of flag emoji ( "🇦🇫🇦🇽🇦🇱🇩🇿🇦🇸🇦🇩🇦", &["🇦🇫", "🇦🇽", "🇦🇱", "🇩🇿", "🇦🇸", "🇦🇩", "🇦"], ), // Long chains of flag emoji ( "🇦a🇫🇦🇽a🇦🇱🇩🇿🇦🇸🇦🇩🇦", &["🇦", "a", "🇫🇦", "🇽", "a", "🇦🇱", "🇩🇿", "🇦🇸", "🇦🇩", "🇦"], ), ( "\u{1f468}\u{200d}\u{1f468}\u{200d}\u{1f466}", &["\u{1f468}\u{200d}\u{1f468}\u{200d}\u{1f466}"], ), ( "😌👎🏼", &["😌", "👎🏼"], ), ( "🇨🇦🇨🇭🇿🇲🇿 hi", &["🇨🇦", "🇨🇭", "🇿🇲", "🇿", " ", "hi"], ), ] unic-segment-0.9.0/tests/grapheme_cluster_conformance_tests.rs010064400007650000024000000031051343520353600231750ustar0000000000000000// Copyright 2012-2015 The Rust Project Developers. // Copyright 2017 The UNIC Project Developers. // // See the COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. use unic_segment::Graphemes; type TestData = &'static [( &'static str, &'static [&'static str], Option<&'static [&'static str]>, )]; const TEST_DATA: TestData = include!("tables/grapheme_cluster_break_test_data.rsv"); /// Extra cases that the official test suite doesn't cover. const EXTRA_TEST_DATA: TestData = include!("extra_grapheme_cluster_break_test_data.rsv"); #[test] fn test_graphemes_conformance() { let tests = TEST_DATA.iter().chain(EXTRA_TEST_DATA); for &(input, graphemes, legacy_graphemes) in tests { let legacy_graphemes = match legacy_graphemes { Some(s) => s, None => graphemes, }; // test forward iterator assert!(Graphemes::new(input).eq(graphemes.iter().cloned())); assert!(Graphemes::new_legacy(input).eq(legacy_graphemes.iter().cloned())); // test reverse iterator assert!(Graphemes::new(input) .rev() .eq(graphemes.iter().rev().cloned())); assert!(Graphemes::new_legacy(input) .rev() .eq(legacy_graphemes.iter().rev().cloned())); } } unic-segment-0.9.0/tests/quickcheck_tests.rs010064400007650000024000000037721343520353600174160ustar0000000000000000// Copyright 2012-2015 The Rust Project Developers. // Copyright 2017 The UNIC Project Developers. // // See the COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. #[macro_use] extern crate quickcheck; use unic_segment::{Graphemes, WordBounds}; // QuickCheck Graphemes quickcheck! { fn quickcheck_graphemes_new_join_vs_input(input: String) -> bool { let graphemes = Graphemes::new(&input).collect::(); graphemes == input } fn quickcheck_graphemes_new_forward_vs_reverse(input: String) -> bool { let graphemes1 = Graphemes::new(&input).collect::>(); let mut graphemes2 = Graphemes::new(&input).rev().collect::>(); graphemes2.reverse(); graphemes1 == graphemes2 } fn quickcheck_graphemes_new_legacy_join_vs_input(input: String) -> bool { let graphemes = Graphemes::new_legacy(&input).collect::(); graphemes == input } fn quickcheck_graphemes_new_legacy_forward_vs_reverse(input: String) -> bool { let graphemes1 = Graphemes::new_legacy(&input).collect::>(); let mut graphemes2 = Graphemes::new_legacy(&input).rev().collect::>(); graphemes2.reverse(); graphemes1 == graphemes2 } } // QuickCheck Words quickcheck! { fn quickcheck_words_new_join_vs_input(input: String) -> bool { let words = WordBounds::new(&input).collect::(); words == input } fn quickcheck_words_new_forward_vs_reverse(input: String) -> bool { let words1 = WordBounds::new(&input).collect::>(); let mut words2 = WordBounds::new(&input).rev().collect::>(); words2.reverse(); words1 == words2 } } unic-segment-0.9.0/tests/tables/grapheme_cluster_break_test_data.rsv010064400007650000024000001371721343520353600242510ustar0000000000000000// WARNING: Auto-generated by the `unic-gen` crate. // WARNING: DO NOT EDIT MANUALLY! &[ ("\u{20}\u{20}", &["\u{20}", "\u{20}"], None), ("\u{20}\u{308}\u{20}", &["\u{20}\u{308}", "\u{20}"], None), ("\u{20}\u{d}", &["\u{20}", "\u{d}"], None), ("\u{20}\u{308}\u{d}", &["\u{20}\u{308}", "\u{d}"], None), ("\u{20}\u{a}", &["\u{20}", "\u{a}"], None), ("\u{20}\u{308}\u{a}", &["\u{20}\u{308}", "\u{a}"], None), ("\u{20}\u{1}", &["\u{20}", "\u{1}"], None), ("\u{20}\u{308}\u{1}", &["\u{20}\u{308}", "\u{1}"], None), ("\u{20}\u{300}", &["\u{20}\u{300}"], None), ("\u{20}\u{308}\u{300}", &["\u{20}\u{308}\u{300}"], None), ("\u{20}\u{600}", &["\u{20}", "\u{600}"], None), ("\u{20}\u{308}\u{600}", &["\u{20}\u{308}", "\u{600}"], None), ("\u{20}\u{903}", &["\u{20}\u{903}"], Some(&["\u{20}", "\u{903}"])), ("\u{20}\u{308}\u{903}", &["\u{20}\u{308}\u{903}"], Some(&["\u{20}\u{308}", "\u{903}"])), ("\u{20}\u{1100}", &["\u{20}", "\u{1100}"], None), ("\u{20}\u{308}\u{1100}", &["\u{20}\u{308}", "\u{1100}"], None), ("\u{20}\u{1160}", &["\u{20}", "\u{1160}"], None), ("\u{20}\u{308}\u{1160}", &["\u{20}\u{308}", "\u{1160}"], None), ("\u{20}\u{11a8}", &["\u{20}", "\u{11a8}"], None), ("\u{20}\u{308}\u{11a8}", &["\u{20}\u{308}", "\u{11a8}"], None), ("\u{20}\u{ac00}", &["\u{20}", "\u{ac00}"], None), ("\u{20}\u{308}\u{ac00}", &["\u{20}\u{308}", "\u{ac00}"], None), ("\u{20}\u{ac01}", &["\u{20}", "\u{ac01}"], None), ("\u{20}\u{308}\u{ac01}", &["\u{20}\u{308}", "\u{ac01}"], None), ("\u{20}\u{1f1e6}", &["\u{20}", "\u{1f1e6}"], None), ("\u{20}\u{308}\u{1f1e6}", &["\u{20}\u{308}", "\u{1f1e6}"], None), ("\u{20}\u{261d}", &["\u{20}", "\u{261d}"], None), ("\u{20}\u{308}\u{261d}", &["\u{20}\u{308}", "\u{261d}"], None), ("\u{20}\u{1f3fb}", &["\u{20}", "\u{1f3fb}"], None), ("\u{20}\u{308}\u{1f3fb}", &["\u{20}\u{308}", "\u{1f3fb}"], None), ("\u{20}\u{200d}", &["\u{20}\u{200d}"], None), ("\u{20}\u{308}\u{200d}", &["\u{20}\u{308}\u{200d}"], None), ("\u{20}\u{2640}", &["\u{20}", "\u{2640}"], None), ("\u{20}\u{308}\u{2640}", &["\u{20}\u{308}", "\u{2640}"], None), ("\u{20}\u{1f466}", &["\u{20}", "\u{1f466}"], None), ("\u{20}\u{308}\u{1f466}", &["\u{20}\u{308}", "\u{1f466}"], None), ("\u{20}\u{378}", &["\u{20}", "\u{378}"], None), ("\u{20}\u{308}\u{378}", &["\u{20}\u{308}", "\u{378}"], None), ("\u{d}\u{20}", &["\u{d}", "\u{20}"], None), ("\u{d}\u{308}\u{20}", &["\u{d}", "\u{308}", "\u{20}"], None), ("\u{d}\u{d}", &["\u{d}", "\u{d}"], None), ("\u{d}\u{308}\u{d}", &["\u{d}", "\u{308}", "\u{d}"], None), ("\u{d}\u{a}", &["\u{d}\u{a}"], None), ("\u{d}\u{308}\u{a}", &["\u{d}", "\u{308}", "\u{a}"], None), ("\u{d}\u{1}", &["\u{d}", "\u{1}"], None), ("\u{d}\u{308}\u{1}", &["\u{d}", "\u{308}", "\u{1}"], None), ("\u{d}\u{300}", &["\u{d}", "\u{300}"], None), ("\u{d}\u{308}\u{300}", &["\u{d}", "\u{308}\u{300}"], None), ("\u{d}\u{600}", &["\u{d}", "\u{600}"], None), ("\u{d}\u{308}\u{600}", &["\u{d}", "\u{308}", "\u{600}"], None), ("\u{d}\u{903}", &["\u{d}", "\u{903}"], None), ("\u{d}\u{308}\u{903}", &["\u{d}", "\u{308}\u{903}"], Some(&["\u{d}", "\u{308}", "\u{903}"])), ("\u{d}\u{1100}", &["\u{d}", "\u{1100}"], None), ("\u{d}\u{308}\u{1100}", &["\u{d}", "\u{308}", "\u{1100}"], None), ("\u{d}\u{1160}", &["\u{d}", "\u{1160}"], None), ("\u{d}\u{308}\u{1160}", &["\u{d}", "\u{308}", "\u{1160}"], None), ("\u{d}\u{11a8}", &["\u{d}", "\u{11a8}"], None), ("\u{d}\u{308}\u{11a8}", &["\u{d}", "\u{308}", "\u{11a8}"], None), ("\u{d}\u{ac00}", &["\u{d}", "\u{ac00}"], None), ("\u{d}\u{308}\u{ac00}", &["\u{d}", "\u{308}", "\u{ac00}"], None), ("\u{d}\u{ac01}", &["\u{d}", "\u{ac01}"], None), ("\u{d}\u{308}\u{ac01}", &["\u{d}", "\u{308}", "\u{ac01}"], None), ("\u{d}\u{1f1e6}", &["\u{d}", "\u{1f1e6}"], None), ("\u{d}\u{308}\u{1f1e6}", &["\u{d}", "\u{308}", "\u{1f1e6}"], None), ("\u{d}\u{261d}", &["\u{d}", "\u{261d}"], None), ("\u{d}\u{308}\u{261d}", &["\u{d}", "\u{308}", "\u{261d}"], None), ("\u{d}\u{1f3fb}", &["\u{d}", "\u{1f3fb}"], None), ("\u{d}\u{308}\u{1f3fb}", &["\u{d}", "\u{308}", "\u{1f3fb}"], None), ("\u{d}\u{200d}", &["\u{d}", "\u{200d}"], None), ("\u{d}\u{308}\u{200d}", &["\u{d}", "\u{308}\u{200d}"], None), ("\u{d}\u{2640}", &["\u{d}", "\u{2640}"], None), ("\u{d}\u{308}\u{2640}", &["\u{d}", "\u{308}", "\u{2640}"], None), ("\u{d}\u{1f466}", &["\u{d}", "\u{1f466}"], None), ("\u{d}\u{308}\u{1f466}", &["\u{d}", "\u{308}", "\u{1f466}"], None), ("\u{d}\u{378}", &["\u{d}", "\u{378}"], None), ("\u{d}\u{308}\u{378}", &["\u{d}", "\u{308}", "\u{378}"], None), ("\u{a}\u{20}", &["\u{a}", "\u{20}"], None), ("\u{a}\u{308}\u{20}", &["\u{a}", "\u{308}", "\u{20}"], None), ("\u{a}\u{d}", &["\u{a}", "\u{d}"], None), ("\u{a}\u{308}\u{d}", &["\u{a}", "\u{308}", "\u{d}"], None), ("\u{a}\u{a}", &["\u{a}", "\u{a}"], None), ("\u{a}\u{308}\u{a}", &["\u{a}", "\u{308}", "\u{a}"], None), ("\u{a}\u{1}", &["\u{a}", "\u{1}"], None), ("\u{a}\u{308}\u{1}", &["\u{a}", "\u{308}", "\u{1}"], None), ("\u{a}\u{300}", &["\u{a}", "\u{300}"], None), ("\u{a}\u{308}\u{300}", &["\u{a}", "\u{308}\u{300}"], None), ("\u{a}\u{600}", &["\u{a}", "\u{600}"], None), ("\u{a}\u{308}\u{600}", &["\u{a}", "\u{308}", "\u{600}"], None), ("\u{a}\u{903}", &["\u{a}", "\u{903}"], None), ("\u{a}\u{308}\u{903}", &["\u{a}", "\u{308}\u{903}"], Some(&["\u{a}", "\u{308}", "\u{903}"])), ("\u{a}\u{1100}", &["\u{a}", "\u{1100}"], None), ("\u{a}\u{308}\u{1100}", &["\u{a}", "\u{308}", "\u{1100}"], None), ("\u{a}\u{1160}", &["\u{a}", "\u{1160}"], None), ("\u{a}\u{308}\u{1160}", &["\u{a}", "\u{308}", "\u{1160}"], None), ("\u{a}\u{11a8}", &["\u{a}", "\u{11a8}"], None), ("\u{a}\u{308}\u{11a8}", &["\u{a}", "\u{308}", "\u{11a8}"], None), ("\u{a}\u{ac00}", &["\u{a}", "\u{ac00}"], None), ("\u{a}\u{308}\u{ac00}", &["\u{a}", "\u{308}", "\u{ac00}"], None), ("\u{a}\u{ac01}", &["\u{a}", "\u{ac01}"], None), ("\u{a}\u{308}\u{ac01}", &["\u{a}", "\u{308}", "\u{ac01}"], None), ("\u{a}\u{1f1e6}", &["\u{a}", "\u{1f1e6}"], None), ("\u{a}\u{308}\u{1f1e6}", &["\u{a}", "\u{308}", "\u{1f1e6}"], None), ("\u{a}\u{261d}", &["\u{a}", "\u{261d}"], None), ("\u{a}\u{308}\u{261d}", &["\u{a}", "\u{308}", "\u{261d}"], None), ("\u{a}\u{1f3fb}", &["\u{a}", "\u{1f3fb}"], None), ("\u{a}\u{308}\u{1f3fb}", &["\u{a}", "\u{308}", "\u{1f3fb}"], None), ("\u{a}\u{200d}", &["\u{a}", "\u{200d}"], None), ("\u{a}\u{308}\u{200d}", &["\u{a}", "\u{308}\u{200d}"], None), ("\u{a}\u{2640}", &["\u{a}", "\u{2640}"], None), ("\u{a}\u{308}\u{2640}", &["\u{a}", "\u{308}", "\u{2640}"], None), ("\u{a}\u{1f466}", &["\u{a}", "\u{1f466}"], None), ("\u{a}\u{308}\u{1f466}", &["\u{a}", "\u{308}", "\u{1f466}"], None), ("\u{a}\u{378}", &["\u{a}", "\u{378}"], None), ("\u{a}\u{308}\u{378}", &["\u{a}", "\u{308}", "\u{378}"], None), ("\u{1}\u{20}", &["\u{1}", "\u{20}"], None), ("\u{1}\u{308}\u{20}", &["\u{1}", "\u{308}", "\u{20}"], None), ("\u{1}\u{d}", &["\u{1}", "\u{d}"], None), ("\u{1}\u{308}\u{d}", &["\u{1}", "\u{308}", "\u{d}"], None), ("\u{1}\u{a}", &["\u{1}", "\u{a}"], None), ("\u{1}\u{308}\u{a}", &["\u{1}", "\u{308}", "\u{a}"], None), ("\u{1}\u{1}", &["\u{1}", "\u{1}"], None), ("\u{1}\u{308}\u{1}", &["\u{1}", "\u{308}", "\u{1}"], None), ("\u{1}\u{300}", &["\u{1}", "\u{300}"], None), ("\u{1}\u{308}\u{300}", &["\u{1}", "\u{308}\u{300}"], None), ("\u{1}\u{600}", &["\u{1}", "\u{600}"], None), ("\u{1}\u{308}\u{600}", &["\u{1}", "\u{308}", "\u{600}"], None), ("\u{1}\u{903}", &["\u{1}", "\u{903}"], None), ("\u{1}\u{308}\u{903}", &["\u{1}", "\u{308}\u{903}"], Some(&["\u{1}", "\u{308}", "\u{903}"])), ("\u{1}\u{1100}", &["\u{1}", "\u{1100}"], None), ("\u{1}\u{308}\u{1100}", &["\u{1}", "\u{308}", "\u{1100}"], None), ("\u{1}\u{1160}", &["\u{1}", "\u{1160}"], None), ("\u{1}\u{308}\u{1160}", &["\u{1}", "\u{308}", "\u{1160}"], None), ("\u{1}\u{11a8}", &["\u{1}", "\u{11a8}"], None), ("\u{1}\u{308}\u{11a8}", &["\u{1}", "\u{308}", "\u{11a8}"], None), ("\u{1}\u{ac00}", &["\u{1}", "\u{ac00}"], None), ("\u{1}\u{308}\u{ac00}", &["\u{1}", "\u{308}", "\u{ac00}"], None), ("\u{1}\u{ac01}", &["\u{1}", "\u{ac01}"], None), ("\u{1}\u{308}\u{ac01}", &["\u{1}", "\u{308}", "\u{ac01}"], None), ("\u{1}\u{1f1e6}", &["\u{1}", "\u{1f1e6}"], None), ("\u{1}\u{308}\u{1f1e6}", &["\u{1}", "\u{308}", "\u{1f1e6}"], None), ("\u{1}\u{261d}", &["\u{1}", "\u{261d}"], None), ("\u{1}\u{308}\u{261d}", &["\u{1}", "\u{308}", "\u{261d}"], None), ("\u{1}\u{1f3fb}", &["\u{1}", "\u{1f3fb}"], None), ("\u{1}\u{308}\u{1f3fb}", &["\u{1}", "\u{308}", "\u{1f3fb}"], None), ("\u{1}\u{200d}", &["\u{1}", "\u{200d}"], None), ("\u{1}\u{308}\u{200d}", &["\u{1}", "\u{308}\u{200d}"], None), ("\u{1}\u{2640}", &["\u{1}", "\u{2640}"], None), ("\u{1}\u{308}\u{2640}", &["\u{1}", "\u{308}", "\u{2640}"], None), ("\u{1}\u{1f466}", &["\u{1}", "\u{1f466}"], None), ("\u{1}\u{308}\u{1f466}", &["\u{1}", "\u{308}", "\u{1f466}"], None), ("\u{1}\u{378}", &["\u{1}", "\u{378}"], None), ("\u{1}\u{308}\u{378}", &["\u{1}", "\u{308}", "\u{378}"], None), ("\u{300}\u{20}", &["\u{300}", "\u{20}"], None), ("\u{300}\u{308}\u{20}", &["\u{300}\u{308}", "\u{20}"], None), ("\u{300}\u{d}", &["\u{300}", "\u{d}"], None), ("\u{300}\u{308}\u{d}", &["\u{300}\u{308}", "\u{d}"], None), ("\u{300}\u{a}", &["\u{300}", "\u{a}"], None), ("\u{300}\u{308}\u{a}", &["\u{300}\u{308}", "\u{a}"], None), ("\u{300}\u{1}", &["\u{300}", "\u{1}"], None), ("\u{300}\u{308}\u{1}", &["\u{300}\u{308}", "\u{1}"], None), ("\u{300}\u{300}", &["\u{300}\u{300}"], None), ("\u{300}\u{308}\u{300}", &["\u{300}\u{308}\u{300}"], None), ("\u{300}\u{600}", &["\u{300}", "\u{600}"], None), ("\u{300}\u{308}\u{600}", &["\u{300}\u{308}", "\u{600}"], None), ("\u{300}\u{903}", &["\u{300}\u{903}"], Some(&["\u{300}", "\u{903}"])), ("\u{300}\u{308}\u{903}", &["\u{300}\u{308}\u{903}"], Some(&["\u{300}\u{308}", "\u{903}"])), ("\u{300}\u{1100}", &["\u{300}", "\u{1100}"], None), ("\u{300}\u{308}\u{1100}", &["\u{300}\u{308}", "\u{1100}"], None), ("\u{300}\u{1160}", &["\u{300}", "\u{1160}"], None), ("\u{300}\u{308}\u{1160}", &["\u{300}\u{308}", "\u{1160}"], None), ("\u{300}\u{11a8}", &["\u{300}", "\u{11a8}"], None), ("\u{300}\u{308}\u{11a8}", &["\u{300}\u{308}", "\u{11a8}"], None), ("\u{300}\u{ac00}", &["\u{300}", "\u{ac00}"], None), ("\u{300}\u{308}\u{ac00}", &["\u{300}\u{308}", "\u{ac00}"], None), ("\u{300}\u{ac01}", &["\u{300}", "\u{ac01}"], None), ("\u{300}\u{308}\u{ac01}", &["\u{300}\u{308}", "\u{ac01}"], None), ("\u{300}\u{1f1e6}", &["\u{300}", "\u{1f1e6}"], None), ("\u{300}\u{308}\u{1f1e6}", &["\u{300}\u{308}", "\u{1f1e6}"], None), ("\u{300}\u{261d}", &["\u{300}", "\u{261d}"], None), ("\u{300}\u{308}\u{261d}", &["\u{300}\u{308}", "\u{261d}"], None), ("\u{300}\u{1f3fb}", &["\u{300}", "\u{1f3fb}"], None), ("\u{300}\u{308}\u{1f3fb}", &["\u{300}\u{308}", "\u{1f3fb}"], None), ("\u{300}\u{200d}", &["\u{300}\u{200d}"], None), ("\u{300}\u{308}\u{200d}", &["\u{300}\u{308}\u{200d}"], None), ("\u{300}\u{2640}", &["\u{300}", "\u{2640}"], None), ("\u{300}\u{308}\u{2640}", &["\u{300}\u{308}", "\u{2640}"], None), ("\u{300}\u{1f466}", &["\u{300}", "\u{1f466}"], None), ("\u{300}\u{308}\u{1f466}", &["\u{300}\u{308}", "\u{1f466}"], None), ("\u{300}\u{378}", &["\u{300}", "\u{378}"], None), ("\u{300}\u{308}\u{378}", &["\u{300}\u{308}", "\u{378}"], None), ("\u{600}\u{20}", &["\u{600}\u{20}"], Some(&["\u{600}", "\u{20}"])), ("\u{600}\u{308}\u{20}", &["\u{600}\u{308}", "\u{20}"], None), ("\u{600}\u{d}", &["\u{600}", "\u{d}"], None), ("\u{600}\u{308}\u{d}", &["\u{600}\u{308}", "\u{d}"], None), ("\u{600}\u{a}", &["\u{600}", "\u{a}"], None), ("\u{600}\u{308}\u{a}", &["\u{600}\u{308}", "\u{a}"], None), ("\u{600}\u{1}", &["\u{600}", "\u{1}"], None), ("\u{600}\u{308}\u{1}", &["\u{600}\u{308}", "\u{1}"], None), ("\u{600}\u{300}", &["\u{600}\u{300}"], None), ("\u{600}\u{308}\u{300}", &["\u{600}\u{308}\u{300}"], None), ("\u{600}\u{600}", &["\u{600}\u{600}"], Some(&["\u{600}", "\u{600}"])), ("\u{600}\u{308}\u{600}", &["\u{600}\u{308}", "\u{600}"], None), ("\u{600}\u{903}", &["\u{600}\u{903}"], Some(&["\u{600}", "\u{903}"])), ("\u{600}\u{308}\u{903}", &["\u{600}\u{308}\u{903}"], Some(&["\u{600}\u{308}", "\u{903}"])), ("\u{600}\u{1100}", &["\u{600}\u{1100}"], Some(&["\u{600}", "\u{1100}"])), ("\u{600}\u{308}\u{1100}", &["\u{600}\u{308}", "\u{1100}"], None), ("\u{600}\u{1160}", &["\u{600}\u{1160}"], Some(&["\u{600}", "\u{1160}"])), ("\u{600}\u{308}\u{1160}", &["\u{600}\u{308}", "\u{1160}"], None), ("\u{600}\u{11a8}", &["\u{600}\u{11a8}"], Some(&["\u{600}", "\u{11a8}"])), ("\u{600}\u{308}\u{11a8}", &["\u{600}\u{308}", "\u{11a8}"], None), ("\u{600}\u{ac00}", &["\u{600}\u{ac00}"], Some(&["\u{600}", "\u{ac00}"])), ("\u{600}\u{308}\u{ac00}", &["\u{600}\u{308}", "\u{ac00}"], None), ("\u{600}\u{ac01}", &["\u{600}\u{ac01}"], Some(&["\u{600}", "\u{ac01}"])), ("\u{600}\u{308}\u{ac01}", &["\u{600}\u{308}", "\u{ac01}"], None), ("\u{600}\u{1f1e6}", &["\u{600}\u{1f1e6}"], Some(&["\u{600}", "\u{1f1e6}"])), ("\u{600}\u{308}\u{1f1e6}", &["\u{600}\u{308}", "\u{1f1e6}"], None), ("\u{600}\u{261d}", &["\u{600}\u{261d}"], Some(&["\u{600}", "\u{261d}"])), ("\u{600}\u{308}\u{261d}", &["\u{600}\u{308}", "\u{261d}"], None), ("\u{600}\u{1f3fb}", &["\u{600}\u{1f3fb}"], Some(&["\u{600}", "\u{1f3fb}"])), ("\u{600}\u{308}\u{1f3fb}", &["\u{600}\u{308}", "\u{1f3fb}"], None), ("\u{600}\u{200d}", &["\u{600}\u{200d}"], None), ("\u{600}\u{308}\u{200d}", &["\u{600}\u{308}\u{200d}"], None), ("\u{600}\u{2640}", &["\u{600}\u{2640}"], Some(&["\u{600}", "\u{2640}"])), ("\u{600}\u{308}\u{2640}", &["\u{600}\u{308}", "\u{2640}"], None), ("\u{600}\u{1f466}", &["\u{600}\u{1f466}"], Some(&["\u{600}", "\u{1f466}"])), ("\u{600}\u{308}\u{1f466}", &["\u{600}\u{308}", "\u{1f466}"], None), ("\u{600}\u{378}", &["\u{600}\u{378}"], Some(&["\u{600}", "\u{378}"])), ("\u{600}\u{308}\u{378}", &["\u{600}\u{308}", "\u{378}"], None), ("\u{903}\u{20}", &["\u{903}", "\u{20}"], None), ("\u{903}\u{308}\u{20}", &["\u{903}\u{308}", "\u{20}"], None), ("\u{903}\u{d}", &["\u{903}", "\u{d}"], None), ("\u{903}\u{308}\u{d}", &["\u{903}\u{308}", "\u{d}"], None), ("\u{903}\u{a}", &["\u{903}", "\u{a}"], None), ("\u{903}\u{308}\u{a}", &["\u{903}\u{308}", "\u{a}"], None), ("\u{903}\u{1}", &["\u{903}", "\u{1}"], None), ("\u{903}\u{308}\u{1}", &["\u{903}\u{308}", "\u{1}"], None), ("\u{903}\u{300}", &["\u{903}\u{300}"], None), ("\u{903}\u{308}\u{300}", &["\u{903}\u{308}\u{300}"], None), ("\u{903}\u{600}", &["\u{903}", "\u{600}"], None), ("\u{903}\u{308}\u{600}", &["\u{903}\u{308}", "\u{600}"], None), ("\u{903}\u{903}", &["\u{903}\u{903}"], Some(&["\u{903}", "\u{903}"])), ("\u{903}\u{308}\u{903}", &["\u{903}\u{308}\u{903}"], Some(&["\u{903}\u{308}", "\u{903}"])), ("\u{903}\u{1100}", &["\u{903}", "\u{1100}"], None), ("\u{903}\u{308}\u{1100}", &["\u{903}\u{308}", "\u{1100}"], None), ("\u{903}\u{1160}", &["\u{903}", "\u{1160}"], None), ("\u{903}\u{308}\u{1160}", &["\u{903}\u{308}", "\u{1160}"], None), ("\u{903}\u{11a8}", &["\u{903}", "\u{11a8}"], None), ("\u{903}\u{308}\u{11a8}", &["\u{903}\u{308}", "\u{11a8}"], None), ("\u{903}\u{ac00}", &["\u{903}", "\u{ac00}"], None), ("\u{903}\u{308}\u{ac00}", &["\u{903}\u{308}", "\u{ac00}"], None), ("\u{903}\u{ac01}", &["\u{903}", "\u{ac01}"], None), ("\u{903}\u{308}\u{ac01}", &["\u{903}\u{308}", "\u{ac01}"], None), ("\u{903}\u{1f1e6}", &["\u{903}", "\u{1f1e6}"], None), ("\u{903}\u{308}\u{1f1e6}", &["\u{903}\u{308}", "\u{1f1e6}"], None), ("\u{903}\u{261d}", &["\u{903}", "\u{261d}"], None), ("\u{903}\u{308}\u{261d}", &["\u{903}\u{308}", "\u{261d}"], None), ("\u{903}\u{1f3fb}", &["\u{903}", "\u{1f3fb}"], None), ("\u{903}\u{308}\u{1f3fb}", &["\u{903}\u{308}", "\u{1f3fb}"], None), ("\u{903}\u{200d}", &["\u{903}\u{200d}"], None), ("\u{903}\u{308}\u{200d}", &["\u{903}\u{308}\u{200d}"], None), ("\u{903}\u{2640}", &["\u{903}", "\u{2640}"], None), ("\u{903}\u{308}\u{2640}", &["\u{903}\u{308}", "\u{2640}"], None), ("\u{903}\u{1f466}", &["\u{903}", "\u{1f466}"], None), ("\u{903}\u{308}\u{1f466}", &["\u{903}\u{308}", "\u{1f466}"], None), ("\u{903}\u{378}", &["\u{903}", "\u{378}"], None), ("\u{903}\u{308}\u{378}", &["\u{903}\u{308}", "\u{378}"], None), ("\u{1100}\u{20}", &["\u{1100}", "\u{20}"], None), ("\u{1100}\u{308}\u{20}", &["\u{1100}\u{308}", "\u{20}"], None), ("\u{1100}\u{d}", &["\u{1100}", "\u{d}"], None), ("\u{1100}\u{308}\u{d}", &["\u{1100}\u{308}", "\u{d}"], None), ("\u{1100}\u{a}", &["\u{1100}", "\u{a}"], None), ("\u{1100}\u{308}\u{a}", &["\u{1100}\u{308}", "\u{a}"], None), ("\u{1100}\u{1}", &["\u{1100}", "\u{1}"], None), ("\u{1100}\u{308}\u{1}", &["\u{1100}\u{308}", "\u{1}"], None), ("\u{1100}\u{300}", &["\u{1100}\u{300}"], None), ("\u{1100}\u{308}\u{300}", &["\u{1100}\u{308}\u{300}"], None), ("\u{1100}\u{600}", &["\u{1100}", "\u{600}"], None), ("\u{1100}\u{308}\u{600}", &["\u{1100}\u{308}", "\u{600}"], None), ("\u{1100}\u{903}", &["\u{1100}\u{903}"], Some(&["\u{1100}", "\u{903}"])), ("\u{1100}\u{308}\u{903}", &["\u{1100}\u{308}\u{903}"], Some(&["\u{1100}\u{308}", "\u{903}"])), ("\u{1100}\u{1100}", &["\u{1100}\u{1100}"], None), ("\u{1100}\u{308}\u{1100}", &["\u{1100}\u{308}", "\u{1100}"], None), ("\u{1100}\u{1160}", &["\u{1100}\u{1160}"], None), ("\u{1100}\u{308}\u{1160}", &["\u{1100}\u{308}", "\u{1160}"], None), ("\u{1100}\u{11a8}", &["\u{1100}", "\u{11a8}"], None), ("\u{1100}\u{308}\u{11a8}", &["\u{1100}\u{308}", "\u{11a8}"], None), ("\u{1100}\u{ac00}", &["\u{1100}\u{ac00}"], None), ("\u{1100}\u{308}\u{ac00}", &["\u{1100}\u{308}", "\u{ac00}"], None), ("\u{1100}\u{ac01}", &["\u{1100}\u{ac01}"], None), ("\u{1100}\u{308}\u{ac01}", &["\u{1100}\u{308}", "\u{ac01}"], None), ("\u{1100}\u{1f1e6}", &["\u{1100}", "\u{1f1e6}"], None), ("\u{1100}\u{308}\u{1f1e6}", &["\u{1100}\u{308}", "\u{1f1e6}"], None), ("\u{1100}\u{261d}", &["\u{1100}", "\u{261d}"], None), ("\u{1100}\u{308}\u{261d}", &["\u{1100}\u{308}", "\u{261d}"], None), ("\u{1100}\u{1f3fb}", &["\u{1100}", "\u{1f3fb}"], None), ("\u{1100}\u{308}\u{1f3fb}", &["\u{1100}\u{308}", "\u{1f3fb}"], None), ("\u{1100}\u{200d}", &["\u{1100}\u{200d}"], None), ("\u{1100}\u{308}\u{200d}", &["\u{1100}\u{308}\u{200d}"], None), ("\u{1100}\u{2640}", &["\u{1100}", "\u{2640}"], None), ("\u{1100}\u{308}\u{2640}", &["\u{1100}\u{308}", "\u{2640}"], None), ("\u{1100}\u{1f466}", &["\u{1100}", "\u{1f466}"], None), ("\u{1100}\u{308}\u{1f466}", &["\u{1100}\u{308}", "\u{1f466}"], None), ("\u{1100}\u{378}", &["\u{1100}", "\u{378}"], None), ("\u{1100}\u{308}\u{378}", &["\u{1100}\u{308}", "\u{378}"], None), ("\u{1160}\u{20}", &["\u{1160}", "\u{20}"], None), ("\u{1160}\u{308}\u{20}", &["\u{1160}\u{308}", "\u{20}"], None), ("\u{1160}\u{d}", &["\u{1160}", "\u{d}"], None), ("\u{1160}\u{308}\u{d}", &["\u{1160}\u{308}", "\u{d}"], None), ("\u{1160}\u{a}", &["\u{1160}", "\u{a}"], None), ("\u{1160}\u{308}\u{a}", &["\u{1160}\u{308}", "\u{a}"], None), ("\u{1160}\u{1}", &["\u{1160}", "\u{1}"], None), ("\u{1160}\u{308}\u{1}", &["\u{1160}\u{308}", "\u{1}"], None), ("\u{1160}\u{300}", &["\u{1160}\u{300}"], None), ("\u{1160}\u{308}\u{300}", &["\u{1160}\u{308}\u{300}"], None), ("\u{1160}\u{600}", &["\u{1160}", "\u{600}"], None), ("\u{1160}\u{308}\u{600}", &["\u{1160}\u{308}", "\u{600}"], None), ("\u{1160}\u{903}", &["\u{1160}\u{903}"], Some(&["\u{1160}", "\u{903}"])), ("\u{1160}\u{308}\u{903}", &["\u{1160}\u{308}\u{903}"], Some(&["\u{1160}\u{308}", "\u{903}"])), ("\u{1160}\u{1100}", &["\u{1160}", "\u{1100}"], None), ("\u{1160}\u{308}\u{1100}", &["\u{1160}\u{308}", "\u{1100}"], None), ("\u{1160}\u{1160}", &["\u{1160}\u{1160}"], None), ("\u{1160}\u{308}\u{1160}", &["\u{1160}\u{308}", "\u{1160}"], None), ("\u{1160}\u{11a8}", &["\u{1160}\u{11a8}"], None), ("\u{1160}\u{308}\u{11a8}", &["\u{1160}\u{308}", "\u{11a8}"], None), ("\u{1160}\u{ac00}", &["\u{1160}", "\u{ac00}"], None), ("\u{1160}\u{308}\u{ac00}", &["\u{1160}\u{308}", "\u{ac00}"], None), ("\u{1160}\u{ac01}", &["\u{1160}", "\u{ac01}"], None), ("\u{1160}\u{308}\u{ac01}", &["\u{1160}\u{308}", "\u{ac01}"], None), ("\u{1160}\u{1f1e6}", &["\u{1160}", "\u{1f1e6}"], None), ("\u{1160}\u{308}\u{1f1e6}", &["\u{1160}\u{308}", "\u{1f1e6}"], None), ("\u{1160}\u{261d}", &["\u{1160}", "\u{261d}"], None), ("\u{1160}\u{308}\u{261d}", &["\u{1160}\u{308}", "\u{261d}"], None), ("\u{1160}\u{1f3fb}", &["\u{1160}", "\u{1f3fb}"], None), ("\u{1160}\u{308}\u{1f3fb}", &["\u{1160}\u{308}", "\u{1f3fb}"], None), ("\u{1160}\u{200d}", &["\u{1160}\u{200d}"], None), ("\u{1160}\u{308}\u{200d}", &["\u{1160}\u{308}\u{200d}"], None), ("\u{1160}\u{2640}", &["\u{1160}", "\u{2640}"], None), ("\u{1160}\u{308}\u{2640}", &["\u{1160}\u{308}", "\u{2640}"], None), ("\u{1160}\u{1f466}", &["\u{1160}", "\u{1f466}"], None), ("\u{1160}\u{308}\u{1f466}", &["\u{1160}\u{308}", "\u{1f466}"], None), ("\u{1160}\u{378}", &["\u{1160}", "\u{378}"], None), ("\u{1160}\u{308}\u{378}", &["\u{1160}\u{308}", "\u{378}"], None), ("\u{11a8}\u{20}", &["\u{11a8}", "\u{20}"], None), ("\u{11a8}\u{308}\u{20}", &["\u{11a8}\u{308}", "\u{20}"], None), ("\u{11a8}\u{d}", &["\u{11a8}", "\u{d}"], None), ("\u{11a8}\u{308}\u{d}", &["\u{11a8}\u{308}", "\u{d}"], None), ("\u{11a8}\u{a}", &["\u{11a8}", "\u{a}"], None), ("\u{11a8}\u{308}\u{a}", &["\u{11a8}\u{308}", "\u{a}"], None), ("\u{11a8}\u{1}", &["\u{11a8}", "\u{1}"], None), ("\u{11a8}\u{308}\u{1}", &["\u{11a8}\u{308}", "\u{1}"], None), ("\u{11a8}\u{300}", &["\u{11a8}\u{300}"], None), ("\u{11a8}\u{308}\u{300}", &["\u{11a8}\u{308}\u{300}"], None), ("\u{11a8}\u{600}", &["\u{11a8}", "\u{600}"], None), ("\u{11a8}\u{308}\u{600}", &["\u{11a8}\u{308}", "\u{600}"], None), ("\u{11a8}\u{903}", &["\u{11a8}\u{903}"], Some(&["\u{11a8}", "\u{903}"])), ("\u{11a8}\u{308}\u{903}", &["\u{11a8}\u{308}\u{903}"], Some(&["\u{11a8}\u{308}", "\u{903}"])), ("\u{11a8}\u{1100}", &["\u{11a8}", "\u{1100}"], None), ("\u{11a8}\u{308}\u{1100}", &["\u{11a8}\u{308}", "\u{1100}"], None), ("\u{11a8}\u{1160}", &["\u{11a8}", "\u{1160}"], None), ("\u{11a8}\u{308}\u{1160}", &["\u{11a8}\u{308}", "\u{1160}"], None), ("\u{11a8}\u{11a8}", &["\u{11a8}\u{11a8}"], None), ("\u{11a8}\u{308}\u{11a8}", &["\u{11a8}\u{308}", "\u{11a8}"], None), ("\u{11a8}\u{ac00}", &["\u{11a8}", "\u{ac00}"], None), ("\u{11a8}\u{308}\u{ac00}", &["\u{11a8}\u{308}", "\u{ac00}"], None), ("\u{11a8}\u{ac01}", &["\u{11a8}", "\u{ac01}"], None), ("\u{11a8}\u{308}\u{ac01}", &["\u{11a8}\u{308}", "\u{ac01}"], None), ("\u{11a8}\u{1f1e6}", &["\u{11a8}", "\u{1f1e6}"], None), ("\u{11a8}\u{308}\u{1f1e6}", &["\u{11a8}\u{308}", "\u{1f1e6}"], None), ("\u{11a8}\u{261d}", &["\u{11a8}", "\u{261d}"], None), ("\u{11a8}\u{308}\u{261d}", &["\u{11a8}\u{308}", "\u{261d}"], None), ("\u{11a8}\u{1f3fb}", &["\u{11a8}", "\u{1f3fb}"], None), ("\u{11a8}\u{308}\u{1f3fb}", &["\u{11a8}\u{308}", "\u{1f3fb}"], None), ("\u{11a8}\u{200d}", &["\u{11a8}\u{200d}"], None), ("\u{11a8}\u{308}\u{200d}", &["\u{11a8}\u{308}\u{200d}"], None), ("\u{11a8}\u{2640}", &["\u{11a8}", "\u{2640}"], None), ("\u{11a8}\u{308}\u{2640}", &["\u{11a8}\u{308}", "\u{2640}"], None), ("\u{11a8}\u{1f466}", &["\u{11a8}", "\u{1f466}"], None), ("\u{11a8}\u{308}\u{1f466}", &["\u{11a8}\u{308}", "\u{1f466}"], None), ("\u{11a8}\u{378}", &["\u{11a8}", "\u{378}"], None), ("\u{11a8}\u{308}\u{378}", &["\u{11a8}\u{308}", "\u{378}"], None), ("\u{ac00}\u{20}", &["\u{ac00}", "\u{20}"], None), ("\u{ac00}\u{308}\u{20}", &["\u{ac00}\u{308}", "\u{20}"], None), ("\u{ac00}\u{d}", &["\u{ac00}", "\u{d}"], None), ("\u{ac00}\u{308}\u{d}", &["\u{ac00}\u{308}", "\u{d}"], None), ("\u{ac00}\u{a}", &["\u{ac00}", "\u{a}"], None), ("\u{ac00}\u{308}\u{a}", &["\u{ac00}\u{308}", "\u{a}"], None), ("\u{ac00}\u{1}", &["\u{ac00}", "\u{1}"], None), ("\u{ac00}\u{308}\u{1}", &["\u{ac00}\u{308}", "\u{1}"], None), ("\u{ac00}\u{300}", &["\u{ac00}\u{300}"], None), ("\u{ac00}\u{308}\u{300}", &["\u{ac00}\u{308}\u{300}"], None), ("\u{ac00}\u{600}", &["\u{ac00}", "\u{600}"], None), ("\u{ac00}\u{308}\u{600}", &["\u{ac00}\u{308}", "\u{600}"], None), ("\u{ac00}\u{903}", &["\u{ac00}\u{903}"], Some(&["\u{ac00}", "\u{903}"])), ("\u{ac00}\u{308}\u{903}", &["\u{ac00}\u{308}\u{903}"], Some(&["\u{ac00}\u{308}", "\u{903}"])), ("\u{ac00}\u{1100}", &["\u{ac00}", "\u{1100}"], None), ("\u{ac00}\u{308}\u{1100}", &["\u{ac00}\u{308}", "\u{1100}"], None), ("\u{ac00}\u{1160}", &["\u{ac00}\u{1160}"], None), ("\u{ac00}\u{308}\u{1160}", &["\u{ac00}\u{308}", "\u{1160}"], None), ("\u{ac00}\u{11a8}", &["\u{ac00}\u{11a8}"], None), ("\u{ac00}\u{308}\u{11a8}", &["\u{ac00}\u{308}", "\u{11a8}"], None), ("\u{ac00}\u{ac00}", &["\u{ac00}", "\u{ac00}"], None), ("\u{ac00}\u{308}\u{ac00}", &["\u{ac00}\u{308}", "\u{ac00}"], None), ("\u{ac00}\u{ac01}", &["\u{ac00}", "\u{ac01}"], None), ("\u{ac00}\u{308}\u{ac01}", &["\u{ac00}\u{308}", "\u{ac01}"], None), ("\u{ac00}\u{1f1e6}", &["\u{ac00}", "\u{1f1e6}"], None), ("\u{ac00}\u{308}\u{1f1e6}", &["\u{ac00}\u{308}", "\u{1f1e6}"], None), ("\u{ac00}\u{261d}", &["\u{ac00}", "\u{261d}"], None), ("\u{ac00}\u{308}\u{261d}", &["\u{ac00}\u{308}", "\u{261d}"], None), ("\u{ac00}\u{1f3fb}", &["\u{ac00}", "\u{1f3fb}"], None), ("\u{ac00}\u{308}\u{1f3fb}", &["\u{ac00}\u{308}", "\u{1f3fb}"], None), ("\u{ac00}\u{200d}", &["\u{ac00}\u{200d}"], None), ("\u{ac00}\u{308}\u{200d}", &["\u{ac00}\u{308}\u{200d}"], None), ("\u{ac00}\u{2640}", &["\u{ac00}", "\u{2640}"], None), ("\u{ac00}\u{308}\u{2640}", &["\u{ac00}\u{308}", "\u{2640}"], None), ("\u{ac00}\u{1f466}", &["\u{ac00}", "\u{1f466}"], None), ("\u{ac00}\u{308}\u{1f466}", &["\u{ac00}\u{308}", "\u{1f466}"], None), ("\u{ac00}\u{378}", &["\u{ac00}", "\u{378}"], None), ("\u{ac00}\u{308}\u{378}", &["\u{ac00}\u{308}", "\u{378}"], None), ("\u{ac01}\u{20}", &["\u{ac01}", "\u{20}"], None), ("\u{ac01}\u{308}\u{20}", &["\u{ac01}\u{308}", "\u{20}"], None), ("\u{ac01}\u{d}", &["\u{ac01}", "\u{d}"], None), ("\u{ac01}\u{308}\u{d}", &["\u{ac01}\u{308}", "\u{d}"], None), ("\u{ac01}\u{a}", &["\u{ac01}", "\u{a}"], None), ("\u{ac01}\u{308}\u{a}", &["\u{ac01}\u{308}", "\u{a}"], None), ("\u{ac01}\u{1}", &["\u{ac01}", "\u{1}"], None), ("\u{ac01}\u{308}\u{1}", &["\u{ac01}\u{308}", "\u{1}"], None), ("\u{ac01}\u{300}", &["\u{ac01}\u{300}"], None), ("\u{ac01}\u{308}\u{300}", &["\u{ac01}\u{308}\u{300}"], None), ("\u{ac01}\u{600}", &["\u{ac01}", "\u{600}"], None), ("\u{ac01}\u{308}\u{600}", &["\u{ac01}\u{308}", "\u{600}"], None), ("\u{ac01}\u{903}", &["\u{ac01}\u{903}"], Some(&["\u{ac01}", "\u{903}"])), ("\u{ac01}\u{308}\u{903}", &["\u{ac01}\u{308}\u{903}"], Some(&["\u{ac01}\u{308}", "\u{903}"])), ("\u{ac01}\u{1100}", &["\u{ac01}", "\u{1100}"], None), ("\u{ac01}\u{308}\u{1100}", &["\u{ac01}\u{308}", "\u{1100}"], None), ("\u{ac01}\u{1160}", &["\u{ac01}", "\u{1160}"], None), ("\u{ac01}\u{308}\u{1160}", &["\u{ac01}\u{308}", "\u{1160}"], None), ("\u{ac01}\u{11a8}", &["\u{ac01}\u{11a8}"], None), ("\u{ac01}\u{308}\u{11a8}", &["\u{ac01}\u{308}", "\u{11a8}"], None), ("\u{ac01}\u{ac00}", &["\u{ac01}", "\u{ac00}"], None), ("\u{ac01}\u{308}\u{ac00}", &["\u{ac01}\u{308}", "\u{ac00}"], None), ("\u{ac01}\u{ac01}", &["\u{ac01}", "\u{ac01}"], None), ("\u{ac01}\u{308}\u{ac01}", &["\u{ac01}\u{308}", "\u{ac01}"], None), ("\u{ac01}\u{1f1e6}", &["\u{ac01}", "\u{1f1e6}"], None), ("\u{ac01}\u{308}\u{1f1e6}", &["\u{ac01}\u{308}", "\u{1f1e6}"], None), ("\u{ac01}\u{261d}", &["\u{ac01}", "\u{261d}"], None), ("\u{ac01}\u{308}\u{261d}", &["\u{ac01}\u{308}", "\u{261d}"], None), ("\u{ac01}\u{1f3fb}", &["\u{ac01}", "\u{1f3fb}"], None), ("\u{ac01}\u{308}\u{1f3fb}", &["\u{ac01}\u{308}", "\u{1f3fb}"], None), ("\u{ac01}\u{200d}", &["\u{ac01}\u{200d}"], None), ("\u{ac01}\u{308}\u{200d}", &["\u{ac01}\u{308}\u{200d}"], None), ("\u{ac01}\u{2640}", &["\u{ac01}", "\u{2640}"], None), ("\u{ac01}\u{308}\u{2640}", &["\u{ac01}\u{308}", "\u{2640}"], None), ("\u{ac01}\u{1f466}", &["\u{ac01}", "\u{1f466}"], None), ("\u{ac01}\u{308}\u{1f466}", &["\u{ac01}\u{308}", "\u{1f466}"], None), ("\u{ac01}\u{378}", &["\u{ac01}", "\u{378}"], None), ("\u{ac01}\u{308}\u{378}", &["\u{ac01}\u{308}", "\u{378}"], None), ("\u{1f1e6}\u{20}", &["\u{1f1e6}", "\u{20}"], None), ("\u{1f1e6}\u{308}\u{20}", &["\u{1f1e6}\u{308}", "\u{20}"], None), ("\u{1f1e6}\u{d}", &["\u{1f1e6}", "\u{d}"], None), ("\u{1f1e6}\u{308}\u{d}", &["\u{1f1e6}\u{308}", "\u{d}"], None), ("\u{1f1e6}\u{a}", &["\u{1f1e6}", "\u{a}"], None), ("\u{1f1e6}\u{308}\u{a}", &["\u{1f1e6}\u{308}", "\u{a}"], None), ("\u{1f1e6}\u{1}", &["\u{1f1e6}", "\u{1}"], None), ("\u{1f1e6}\u{308}\u{1}", &["\u{1f1e6}\u{308}", "\u{1}"], None), ("\u{1f1e6}\u{300}", &["\u{1f1e6}\u{300}"], None), ("\u{1f1e6}\u{308}\u{300}", &["\u{1f1e6}\u{308}\u{300}"], None), ("\u{1f1e6}\u{600}", &["\u{1f1e6}", "\u{600}"], None), ("\u{1f1e6}\u{308}\u{600}", &["\u{1f1e6}\u{308}", "\u{600}"], None), ("\u{1f1e6}\u{903}", &["\u{1f1e6}\u{903}"], Some(&["\u{1f1e6}", "\u{903}"])), ("\u{1f1e6}\u{308}\u{903}", &["\u{1f1e6}\u{308}\u{903}"], Some(&["\u{1f1e6}\u{308}", "\u{903}"])), ("\u{1f1e6}\u{1100}", &["\u{1f1e6}", "\u{1100}"], None), ("\u{1f1e6}\u{308}\u{1100}", &["\u{1f1e6}\u{308}", "\u{1100}"], None), ("\u{1f1e6}\u{1160}", &["\u{1f1e6}", "\u{1160}"], None), ("\u{1f1e6}\u{308}\u{1160}", &["\u{1f1e6}\u{308}", "\u{1160}"], None), ("\u{1f1e6}\u{11a8}", &["\u{1f1e6}", "\u{11a8}"], None), ("\u{1f1e6}\u{308}\u{11a8}", &["\u{1f1e6}\u{308}", "\u{11a8}"], None), ("\u{1f1e6}\u{ac00}", &["\u{1f1e6}", "\u{ac00}"], None), ("\u{1f1e6}\u{308}\u{ac00}", &["\u{1f1e6}\u{308}", "\u{ac00}"], None), ("\u{1f1e6}\u{ac01}", &["\u{1f1e6}", "\u{ac01}"], None), ("\u{1f1e6}\u{308}\u{ac01}", &["\u{1f1e6}\u{308}", "\u{ac01}"], None), ("\u{1f1e6}\u{1f1e6}", &["\u{1f1e6}\u{1f1e6}"], None), ("\u{1f1e6}\u{308}\u{1f1e6}", &["\u{1f1e6}\u{308}", "\u{1f1e6}"], None), ("\u{1f1e6}\u{261d}", &["\u{1f1e6}", "\u{261d}"], None), ("\u{1f1e6}\u{308}\u{261d}", &["\u{1f1e6}\u{308}", "\u{261d}"], None), ("\u{1f1e6}\u{1f3fb}", &["\u{1f1e6}", "\u{1f3fb}"], None), ("\u{1f1e6}\u{308}\u{1f3fb}", &["\u{1f1e6}\u{308}", "\u{1f3fb}"], None), ("\u{1f1e6}\u{200d}", &["\u{1f1e6}\u{200d}"], None), ("\u{1f1e6}\u{308}\u{200d}", &["\u{1f1e6}\u{308}\u{200d}"], None), ("\u{1f1e6}\u{2640}", &["\u{1f1e6}", "\u{2640}"], None), ("\u{1f1e6}\u{308}\u{2640}", &["\u{1f1e6}\u{308}", "\u{2640}"], None), ("\u{1f1e6}\u{1f466}", &["\u{1f1e6}", "\u{1f466}"], None), ("\u{1f1e6}\u{308}\u{1f466}", &["\u{1f1e6}\u{308}", "\u{1f466}"], None), ("\u{1f1e6}\u{378}", &["\u{1f1e6}", "\u{378}"], None), ("\u{1f1e6}\u{308}\u{378}", &["\u{1f1e6}\u{308}", "\u{378}"], None), ("\u{261d}\u{20}", &["\u{261d}", "\u{20}"], None), ("\u{261d}\u{308}\u{20}", &["\u{261d}\u{308}", "\u{20}"], None), ("\u{261d}\u{d}", &["\u{261d}", "\u{d}"], None), ("\u{261d}\u{308}\u{d}", &["\u{261d}\u{308}", "\u{d}"], None), ("\u{261d}\u{a}", &["\u{261d}", "\u{a}"], None), ("\u{261d}\u{308}\u{a}", &["\u{261d}\u{308}", "\u{a}"], None), ("\u{261d}\u{1}", &["\u{261d}", "\u{1}"], None), ("\u{261d}\u{308}\u{1}", &["\u{261d}\u{308}", "\u{1}"], None), ("\u{261d}\u{300}", &["\u{261d}\u{300}"], None), ("\u{261d}\u{308}\u{300}", &["\u{261d}\u{308}\u{300}"], None), ("\u{261d}\u{600}", &["\u{261d}", "\u{600}"], None), ("\u{261d}\u{308}\u{600}", &["\u{261d}\u{308}", "\u{600}"], None), ("\u{261d}\u{903}", &["\u{261d}\u{903}"], Some(&["\u{261d}", "\u{903}"])), ("\u{261d}\u{308}\u{903}", &["\u{261d}\u{308}\u{903}"], Some(&["\u{261d}\u{308}", "\u{903}"])), ("\u{261d}\u{1100}", &["\u{261d}", "\u{1100}"], None), ("\u{261d}\u{308}\u{1100}", &["\u{261d}\u{308}", "\u{1100}"], None), ("\u{261d}\u{1160}", &["\u{261d}", "\u{1160}"], None), ("\u{261d}\u{308}\u{1160}", &["\u{261d}\u{308}", "\u{1160}"], None), ("\u{261d}\u{11a8}", &["\u{261d}", "\u{11a8}"], None), ("\u{261d}\u{308}\u{11a8}", &["\u{261d}\u{308}", "\u{11a8}"], None), ("\u{261d}\u{ac00}", &["\u{261d}", "\u{ac00}"], None), ("\u{261d}\u{308}\u{ac00}", &["\u{261d}\u{308}", "\u{ac00}"], None), ("\u{261d}\u{ac01}", &["\u{261d}", "\u{ac01}"], None), ("\u{261d}\u{308}\u{ac01}", &["\u{261d}\u{308}", "\u{ac01}"], None), ("\u{261d}\u{1f1e6}", &["\u{261d}", "\u{1f1e6}"], None), ("\u{261d}\u{308}\u{1f1e6}", &["\u{261d}\u{308}", "\u{1f1e6}"], None), ("\u{261d}\u{261d}", &["\u{261d}", "\u{261d}"], None), ("\u{261d}\u{308}\u{261d}", &["\u{261d}\u{308}", "\u{261d}"], None), ("\u{261d}\u{1f3fb}", &["\u{261d}\u{1f3fb}"], None), ("\u{261d}\u{308}\u{1f3fb}", &["\u{261d}\u{308}\u{1f3fb}"], None), ("\u{261d}\u{200d}", &["\u{261d}\u{200d}"], None), ("\u{261d}\u{308}\u{200d}", &["\u{261d}\u{308}\u{200d}"], None), ("\u{261d}\u{2640}", &["\u{261d}", "\u{2640}"], None), ("\u{261d}\u{308}\u{2640}", &["\u{261d}\u{308}", "\u{2640}"], None), ("\u{261d}\u{1f466}", &["\u{261d}", "\u{1f466}"], None), ("\u{261d}\u{308}\u{1f466}", &["\u{261d}\u{308}", "\u{1f466}"], None), ("\u{261d}\u{378}", &["\u{261d}", "\u{378}"], None), ("\u{261d}\u{308}\u{378}", &["\u{261d}\u{308}", "\u{378}"], None), ("\u{1f3fb}\u{20}", &["\u{1f3fb}", "\u{20}"], None), ("\u{1f3fb}\u{308}\u{20}", &["\u{1f3fb}\u{308}", "\u{20}"], None), ("\u{1f3fb}\u{d}", &["\u{1f3fb}", "\u{d}"], None), ("\u{1f3fb}\u{308}\u{d}", &["\u{1f3fb}\u{308}", "\u{d}"], None), ("\u{1f3fb}\u{a}", &["\u{1f3fb}", "\u{a}"], None), ("\u{1f3fb}\u{308}\u{a}", &["\u{1f3fb}\u{308}", "\u{a}"], None), ("\u{1f3fb}\u{1}", &["\u{1f3fb}", "\u{1}"], None), ("\u{1f3fb}\u{308}\u{1}", &["\u{1f3fb}\u{308}", "\u{1}"], None), ("\u{1f3fb}\u{300}", &["\u{1f3fb}\u{300}"], None), ("\u{1f3fb}\u{308}\u{300}", &["\u{1f3fb}\u{308}\u{300}"], None), ("\u{1f3fb}\u{600}", &["\u{1f3fb}", "\u{600}"], None), ("\u{1f3fb}\u{308}\u{600}", &["\u{1f3fb}\u{308}", "\u{600}"], None), ("\u{1f3fb}\u{903}", &["\u{1f3fb}\u{903}"], Some(&["\u{1f3fb}", "\u{903}"])), ("\u{1f3fb}\u{308}\u{903}", &["\u{1f3fb}\u{308}\u{903}"], Some(&["\u{1f3fb}\u{308}", "\u{903}"])), ("\u{1f3fb}\u{1100}", &["\u{1f3fb}", "\u{1100}"], None), ("\u{1f3fb}\u{308}\u{1100}", &["\u{1f3fb}\u{308}", "\u{1100}"], None), ("\u{1f3fb}\u{1160}", &["\u{1f3fb}", "\u{1160}"], None), ("\u{1f3fb}\u{308}\u{1160}", &["\u{1f3fb}\u{308}", "\u{1160}"], None), ("\u{1f3fb}\u{11a8}", &["\u{1f3fb}", "\u{11a8}"], None), ("\u{1f3fb}\u{308}\u{11a8}", &["\u{1f3fb}\u{308}", "\u{11a8}"], None), ("\u{1f3fb}\u{ac00}", &["\u{1f3fb}", "\u{ac00}"], None), ("\u{1f3fb}\u{308}\u{ac00}", &["\u{1f3fb}\u{308}", "\u{ac00}"], None), ("\u{1f3fb}\u{ac01}", &["\u{1f3fb}", "\u{ac01}"], None), ("\u{1f3fb}\u{308}\u{ac01}", &["\u{1f3fb}\u{308}", "\u{ac01}"], None), ("\u{1f3fb}\u{1f1e6}", &["\u{1f3fb}", "\u{1f1e6}"], None), ("\u{1f3fb}\u{308}\u{1f1e6}", &["\u{1f3fb}\u{308}", "\u{1f1e6}"], None), ("\u{1f3fb}\u{261d}", &["\u{1f3fb}", "\u{261d}"], None), ("\u{1f3fb}\u{308}\u{261d}", &["\u{1f3fb}\u{308}", "\u{261d}"], None), ("\u{1f3fb}\u{1f3fb}", &["\u{1f3fb}", "\u{1f3fb}"], None), ("\u{1f3fb}\u{308}\u{1f3fb}", &["\u{1f3fb}\u{308}", "\u{1f3fb}"], None), ("\u{1f3fb}\u{200d}", &["\u{1f3fb}\u{200d}"], None), ("\u{1f3fb}\u{308}\u{200d}", &["\u{1f3fb}\u{308}\u{200d}"], None), ("\u{1f3fb}\u{2640}", &["\u{1f3fb}", "\u{2640}"], None), ("\u{1f3fb}\u{308}\u{2640}", &["\u{1f3fb}\u{308}", "\u{2640}"], None), ("\u{1f3fb}\u{1f466}", &["\u{1f3fb}", "\u{1f466}"], None), ("\u{1f3fb}\u{308}\u{1f466}", &["\u{1f3fb}\u{308}", "\u{1f466}"], None), ("\u{1f3fb}\u{378}", &["\u{1f3fb}", "\u{378}"], None), ("\u{1f3fb}\u{308}\u{378}", &["\u{1f3fb}\u{308}", "\u{378}"], None), ("\u{200d}\u{20}", &["\u{200d}", "\u{20}"], None), ("\u{200d}\u{308}\u{20}", &["\u{200d}\u{308}", "\u{20}"], None), ("\u{200d}\u{d}", &["\u{200d}", "\u{d}"], None), ("\u{200d}\u{308}\u{d}", &["\u{200d}\u{308}", "\u{d}"], None), ("\u{200d}\u{a}", &["\u{200d}", "\u{a}"], None), ("\u{200d}\u{308}\u{a}", &["\u{200d}\u{308}", "\u{a}"], None), ("\u{200d}\u{1}", &["\u{200d}", "\u{1}"], None), ("\u{200d}\u{308}\u{1}", &["\u{200d}\u{308}", "\u{1}"], None), ("\u{200d}\u{300}", &["\u{200d}\u{300}"], None), ("\u{200d}\u{308}\u{300}", &["\u{200d}\u{308}\u{300}"], None), ("\u{200d}\u{600}", &["\u{200d}", "\u{600}"], None), ("\u{200d}\u{308}\u{600}", &["\u{200d}\u{308}", "\u{600}"], None), ("\u{200d}\u{903}", &["\u{200d}\u{903}"], Some(&["\u{200d}", "\u{903}"])), ("\u{200d}\u{308}\u{903}", &["\u{200d}\u{308}\u{903}"], Some(&["\u{200d}\u{308}", "\u{903}"])), ("\u{200d}\u{1100}", &["\u{200d}", "\u{1100}"], None), ("\u{200d}\u{308}\u{1100}", &["\u{200d}\u{308}", "\u{1100}"], None), ("\u{200d}\u{1160}", &["\u{200d}", "\u{1160}"], None), ("\u{200d}\u{308}\u{1160}", &["\u{200d}\u{308}", "\u{1160}"], None), ("\u{200d}\u{11a8}", &["\u{200d}", "\u{11a8}"], None), ("\u{200d}\u{308}\u{11a8}", &["\u{200d}\u{308}", "\u{11a8}"], None), ("\u{200d}\u{ac00}", &["\u{200d}", "\u{ac00}"], None), ("\u{200d}\u{308}\u{ac00}", &["\u{200d}\u{308}", "\u{ac00}"], None), ("\u{200d}\u{ac01}", &["\u{200d}", "\u{ac01}"], None), ("\u{200d}\u{308}\u{ac01}", &["\u{200d}\u{308}", "\u{ac01}"], None), ("\u{200d}\u{1f1e6}", &["\u{200d}", "\u{1f1e6}"], None), ("\u{200d}\u{308}\u{1f1e6}", &["\u{200d}\u{308}", "\u{1f1e6}"], None), ("\u{200d}\u{261d}", &["\u{200d}", "\u{261d}"], None), ("\u{200d}\u{308}\u{261d}", &["\u{200d}\u{308}", "\u{261d}"], None), ("\u{200d}\u{1f3fb}", &["\u{200d}", "\u{1f3fb}"], None), ("\u{200d}\u{308}\u{1f3fb}", &["\u{200d}\u{308}", "\u{1f3fb}"], None), ("\u{200d}\u{200d}", &["\u{200d}\u{200d}"], None), ("\u{200d}\u{308}\u{200d}", &["\u{200d}\u{308}\u{200d}"], None), ("\u{200d}\u{2640}", &["\u{200d}\u{2640}"], None), ("\u{200d}\u{308}\u{2640}", &["\u{200d}\u{308}", "\u{2640}"], None), ("\u{200d}\u{1f466}", &["\u{200d}\u{1f466}"], None), ("\u{200d}\u{308}\u{1f466}", &["\u{200d}\u{308}", "\u{1f466}"], None), ("\u{200d}\u{378}", &["\u{200d}", "\u{378}"], None), ("\u{200d}\u{308}\u{378}", &["\u{200d}\u{308}", "\u{378}"], None), ("\u{2640}\u{20}", &["\u{2640}", "\u{20}"], None), ("\u{2640}\u{308}\u{20}", &["\u{2640}\u{308}", "\u{20}"], None), ("\u{2640}\u{d}", &["\u{2640}", "\u{d}"], None), ("\u{2640}\u{308}\u{d}", &["\u{2640}\u{308}", "\u{d}"], None), ("\u{2640}\u{a}", &["\u{2640}", "\u{a}"], None), ("\u{2640}\u{308}\u{a}", &["\u{2640}\u{308}", "\u{a}"], None), ("\u{2640}\u{1}", &["\u{2640}", "\u{1}"], None), ("\u{2640}\u{308}\u{1}", &["\u{2640}\u{308}", "\u{1}"], None), ("\u{2640}\u{300}", &["\u{2640}\u{300}"], None), ("\u{2640}\u{308}\u{300}", &["\u{2640}\u{308}\u{300}"], None), ("\u{2640}\u{600}", &["\u{2640}", "\u{600}"], None), ("\u{2640}\u{308}\u{600}", &["\u{2640}\u{308}", "\u{600}"], None), ("\u{2640}\u{903}", &["\u{2640}\u{903}"], Some(&["\u{2640}", "\u{903}"])), ("\u{2640}\u{308}\u{903}", &["\u{2640}\u{308}\u{903}"], Some(&["\u{2640}\u{308}", "\u{903}"])), ("\u{2640}\u{1100}", &["\u{2640}", "\u{1100}"], None), ("\u{2640}\u{308}\u{1100}", &["\u{2640}\u{308}", "\u{1100}"], None), ("\u{2640}\u{1160}", &["\u{2640}", "\u{1160}"], None), ("\u{2640}\u{308}\u{1160}", &["\u{2640}\u{308}", "\u{1160}"], None), ("\u{2640}\u{11a8}", &["\u{2640}", "\u{11a8}"], None), ("\u{2640}\u{308}\u{11a8}", &["\u{2640}\u{308}", "\u{11a8}"], None), ("\u{2640}\u{ac00}", &["\u{2640}", "\u{ac00}"], None), ("\u{2640}\u{308}\u{ac00}", &["\u{2640}\u{308}", "\u{ac00}"], None), ("\u{2640}\u{ac01}", &["\u{2640}", "\u{ac01}"], None), ("\u{2640}\u{308}\u{ac01}", &["\u{2640}\u{308}", "\u{ac01}"], None), ("\u{2640}\u{1f1e6}", &["\u{2640}", "\u{1f1e6}"], None), ("\u{2640}\u{308}\u{1f1e6}", &["\u{2640}\u{308}", "\u{1f1e6}"], None), ("\u{2640}\u{261d}", &["\u{2640}", "\u{261d}"], None), ("\u{2640}\u{308}\u{261d}", &["\u{2640}\u{308}", "\u{261d}"], None), ("\u{2640}\u{1f3fb}", &["\u{2640}", "\u{1f3fb}"], None), ("\u{2640}\u{308}\u{1f3fb}", &["\u{2640}\u{308}", "\u{1f3fb}"], None), ("\u{2640}\u{200d}", &["\u{2640}\u{200d}"], None), ("\u{2640}\u{308}\u{200d}", &["\u{2640}\u{308}\u{200d}"], None), ("\u{2640}\u{2640}", &["\u{2640}", "\u{2640}"], None), ("\u{2640}\u{308}\u{2640}", &["\u{2640}\u{308}", "\u{2640}"], None), ("\u{2640}\u{1f466}", &["\u{2640}", "\u{1f466}"], None), ("\u{2640}\u{308}\u{1f466}", &["\u{2640}\u{308}", "\u{1f466}"], None), ("\u{2640}\u{378}", &["\u{2640}", "\u{378}"], None), ("\u{2640}\u{308}\u{378}", &["\u{2640}\u{308}", "\u{378}"], None), ("\u{1f466}\u{20}", &["\u{1f466}", "\u{20}"], None), ("\u{1f466}\u{308}\u{20}", &["\u{1f466}\u{308}", "\u{20}"], None), ("\u{1f466}\u{d}", &["\u{1f466}", "\u{d}"], None), ("\u{1f466}\u{308}\u{d}", &["\u{1f466}\u{308}", "\u{d}"], None), ("\u{1f466}\u{a}", &["\u{1f466}", "\u{a}"], None), ("\u{1f466}\u{308}\u{a}", &["\u{1f466}\u{308}", "\u{a}"], None), ("\u{1f466}\u{1}", &["\u{1f466}", "\u{1}"], None), ("\u{1f466}\u{308}\u{1}", &["\u{1f466}\u{308}", "\u{1}"], None), ("\u{1f466}\u{300}", &["\u{1f466}\u{300}"], None), ("\u{1f466}\u{308}\u{300}", &["\u{1f466}\u{308}\u{300}"], None), ("\u{1f466}\u{600}", &["\u{1f466}", "\u{600}"], None), ("\u{1f466}\u{308}\u{600}", &["\u{1f466}\u{308}", "\u{600}"], None), ("\u{1f466}\u{903}", &["\u{1f466}\u{903}"], Some(&["\u{1f466}", "\u{903}"])), ("\u{1f466}\u{308}\u{903}", &["\u{1f466}\u{308}\u{903}"], Some(&["\u{1f466}\u{308}", "\u{903}"])), ("\u{1f466}\u{1100}", &["\u{1f466}", "\u{1100}"], None), ("\u{1f466}\u{308}\u{1100}", &["\u{1f466}\u{308}", "\u{1100}"], None), ("\u{1f466}\u{1160}", &["\u{1f466}", "\u{1160}"], None), ("\u{1f466}\u{308}\u{1160}", &["\u{1f466}\u{308}", "\u{1160}"], None), ("\u{1f466}\u{11a8}", &["\u{1f466}", "\u{11a8}"], None), ("\u{1f466}\u{308}\u{11a8}", &["\u{1f466}\u{308}", "\u{11a8}"], None), ("\u{1f466}\u{ac00}", &["\u{1f466}", "\u{ac00}"], None), ("\u{1f466}\u{308}\u{ac00}", &["\u{1f466}\u{308}", "\u{ac00}"], None), ("\u{1f466}\u{ac01}", &["\u{1f466}", "\u{ac01}"], None), ("\u{1f466}\u{308}\u{ac01}", &["\u{1f466}\u{308}", "\u{ac01}"], None), ("\u{1f466}\u{1f1e6}", &["\u{1f466}", "\u{1f1e6}"], None), ("\u{1f466}\u{308}\u{1f1e6}", &["\u{1f466}\u{308}", "\u{1f1e6}"], None), ("\u{1f466}\u{261d}", &["\u{1f466}", "\u{261d}"], None), ("\u{1f466}\u{308}\u{261d}", &["\u{1f466}\u{308}", "\u{261d}"], None), ("\u{1f466}\u{1f3fb}", &["\u{1f466}\u{1f3fb}"], None), ("\u{1f466}\u{308}\u{1f3fb}", &["\u{1f466}\u{308}\u{1f3fb}"], None), ("\u{1f466}\u{200d}", &["\u{1f466}\u{200d}"], None), ("\u{1f466}\u{308}\u{200d}", &["\u{1f466}\u{308}\u{200d}"], None), ("\u{1f466}\u{2640}", &["\u{1f466}", "\u{2640}"], None), ("\u{1f466}\u{308}\u{2640}", &["\u{1f466}\u{308}", "\u{2640}"], None), ("\u{1f466}\u{1f466}", &["\u{1f466}", "\u{1f466}"], None), ("\u{1f466}\u{308}\u{1f466}", &["\u{1f466}\u{308}", "\u{1f466}"], None), ("\u{1f466}\u{378}", &["\u{1f466}", "\u{378}"], None), ("\u{1f466}\u{308}\u{378}", &["\u{1f466}\u{308}", "\u{378}"], None), ("\u{378}\u{20}", &["\u{378}", "\u{20}"], None), ("\u{378}\u{308}\u{20}", &["\u{378}\u{308}", "\u{20}"], None), ("\u{378}\u{d}", &["\u{378}", "\u{d}"], None), ("\u{378}\u{308}\u{d}", &["\u{378}\u{308}", "\u{d}"], None), ("\u{378}\u{a}", &["\u{378}", "\u{a}"], None), ("\u{378}\u{308}\u{a}", &["\u{378}\u{308}", "\u{a}"], None), ("\u{378}\u{1}", &["\u{378}", "\u{1}"], None), ("\u{378}\u{308}\u{1}", &["\u{378}\u{308}", "\u{1}"], None), ("\u{378}\u{300}", &["\u{378}\u{300}"], None), ("\u{378}\u{308}\u{300}", &["\u{378}\u{308}\u{300}"], None), ("\u{378}\u{600}", &["\u{378}", "\u{600}"], None), ("\u{378}\u{308}\u{600}", &["\u{378}\u{308}", "\u{600}"], None), ("\u{378}\u{903}", &["\u{378}\u{903}"], Some(&["\u{378}", "\u{903}"])), ("\u{378}\u{308}\u{903}", &["\u{378}\u{308}\u{903}"], Some(&["\u{378}\u{308}", "\u{903}"])), ("\u{378}\u{1100}", &["\u{378}", "\u{1100}"], None), ("\u{378}\u{308}\u{1100}", &["\u{378}\u{308}", "\u{1100}"], None), ("\u{378}\u{1160}", &["\u{378}", "\u{1160}"], None), ("\u{378}\u{308}\u{1160}", &["\u{378}\u{308}", "\u{1160}"], None), ("\u{378}\u{11a8}", &["\u{378}", "\u{11a8}"], None), ("\u{378}\u{308}\u{11a8}", &["\u{378}\u{308}", "\u{11a8}"], None), ("\u{378}\u{ac00}", &["\u{378}", "\u{ac00}"], None), ("\u{378}\u{308}\u{ac00}", &["\u{378}\u{308}", "\u{ac00}"], None), ("\u{378}\u{ac01}", &["\u{378}", "\u{ac01}"], None), ("\u{378}\u{308}\u{ac01}", &["\u{378}\u{308}", "\u{ac01}"], None), ("\u{378}\u{1f1e6}", &["\u{378}", "\u{1f1e6}"], None), ("\u{378}\u{308}\u{1f1e6}", &["\u{378}\u{308}", "\u{1f1e6}"], None), ("\u{378}\u{261d}", &["\u{378}", "\u{261d}"], None), ("\u{378}\u{308}\u{261d}", &["\u{378}\u{308}", "\u{261d}"], None), ("\u{378}\u{1f3fb}", &["\u{378}", "\u{1f3fb}"], None), ("\u{378}\u{308}\u{1f3fb}", &["\u{378}\u{308}", "\u{1f3fb}"], None), ("\u{378}\u{200d}", &["\u{378}\u{200d}"], None), ("\u{378}\u{308}\u{200d}", &["\u{378}\u{308}\u{200d}"], None), ("\u{378}\u{2640}", &["\u{378}", "\u{2640}"], None), ("\u{378}\u{308}\u{2640}", &["\u{378}\u{308}", "\u{2640}"], None), ("\u{378}\u{1f466}", &["\u{378}", "\u{1f466}"], None), ("\u{378}\u{308}\u{1f466}", &["\u{378}\u{308}", "\u{1f466}"], None), ("\u{378}\u{378}", &["\u{378}", "\u{378}"], None), ("\u{378}\u{308}\u{378}", &["\u{378}\u{308}", "\u{378}"], None), ("\u{d}\u{a}\u{61}\u{a}\u{308}", &["\u{d}\u{a}", "\u{61}", "\u{a}", "\u{308}"], None), ("\u{61}\u{308}", &["\u{61}\u{308}"], None), ("\u{20}\u{200d}\u{646}", &["\u{20}\u{200d}", "\u{646}"], None), ("\u{646}\u{200d}\u{20}", &["\u{646}\u{200d}", "\u{20}"], None), ("\u{1100}\u{1100}", &["\u{1100}\u{1100}"], None), ("\u{ac00}\u{11a8}\u{1100}", &["\u{ac00}\u{11a8}", "\u{1100}"], None), ("\u{ac01}\u{11a8}\u{1100}", &["\u{ac01}\u{11a8}", "\u{1100}"], None), ("\u{1f1e6}\u{1f1e7}\u{1f1e8}\u{62}", &["\u{1f1e6}\u{1f1e7}", "\u{1f1e8}", "\u{62}"], None), ("\u{61}\u{1f1e6}\u{1f1e7}\u{1f1e8}\u{62}", &["\u{61}", "\u{1f1e6}\u{1f1e7}", "\u{1f1e8}", "\u{62}"], None), ("\u{61}\u{1f1e6}\u{1f1e7}\u{200d}\u{1f1e8}\u{62}", &["\u{61}", "\u{1f1e6}\u{1f1e7}\u{200d}", "\u{1f1e8}", "\u{62}"], None), ("\u{61}\u{1f1e6}\u{200d}\u{1f1e7}\u{1f1e8}\u{62}", &["\u{61}", "\u{1f1e6}\u{200d}", "\u{1f1e7}\u{1f1e8}", "\u{62}"], None), ("\u{61}\u{1f1e6}\u{1f1e7}\u{1f1e8}\u{1f1e9}\u{62}", &["\u{61}", "\u{1f1e6}\u{1f1e7}", "\u{1f1e8}\u{1f1e9}", "\u{62}"], None), ("\u{61}\u{200d}", &["\u{61}\u{200d}"], None), ("\u{61}\u{308}\u{62}", &["\u{61}\u{308}", "\u{62}"], None), ("\u{61}\u{903}\u{62}", &["\u{61}\u{903}", "\u{62}"], Some(&["\u{61}", "\u{903}", "\u{62}"])), ("\u{61}\u{600}\u{62}", &["\u{61}", "\u{600}\u{62}"], Some(&["\u{61}", "\u{600}", "\u{62}"])), ("\u{261d}\u{1f3fb}\u{261d}", &["\u{261d}\u{1f3fb}", "\u{261d}"], None), ("\u{1f466}\u{1f3fb}", &["\u{1f466}\u{1f3fb}"], None), ("\u{200d}\u{1f466}\u{1f3fb}", &["\u{200d}\u{1f466}\u{1f3fb}"], None), ("\u{200d}\u{2640}", &["\u{200d}\u{2640}"], None), ("\u{200d}\u{1f466}", &["\u{200d}\u{1f466}"], None), ("\u{1f466}\u{1f466}", &["\u{1f466}", "\u{1f466}"], None), ] unic-segment-0.9.0/tests/tables/word_break_test_data.rsv010064400007650000024000004116021343520353600216640ustar0000000000000000// WARNING: Auto-generated by the `unic-gen` crate. // WARNING: DO NOT EDIT MANUALLY! &[ ("\u{1}\u{1}", &["\u{1}", "\u{1}"]), ("\u{1}\u{308}\u{1}", &["\u{1}\u{308}", "\u{1}"]), ("\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{b}", &["\u{1}", "\u{b}"]), ("\u{1}\u{308}\u{b}", &["\u{1}\u{308}", "\u{b}"]), ("\u{1}\u{3031}", &["\u{1}", "\u{3031}"]), ("\u{1}\u{308}\u{3031}", &["\u{1}\u{308}", "\u{3031}"]), ("\u{1}\u{41}", &["\u{1}", "\u{41}"]), ("\u{1}\u{308}\u{41}", &["\u{1}\u{308}", "\u{41}"]), ("\u{1}\u{3a}", &["\u{1}", "\u{3a}"]), ("\u{1}\u{308}\u{3a}", &["\u{1}\u{308}", "\u{3a}"]), ("\u{1}\u{2c}", &["\u{1}", "\u{2c}"]), ("\u{1}\u{308}\u{2c}", &["\u{1}\u{308}", "\u{2c}"]), ("\u{1}\u{2e}", &["\u{1}", "\u{2e}"]), ("\u{1}\u{308}\u{2e}", &["\u{1}\u{308}", "\u{2e}"]), ("\u{1}\u{30}", &["\u{1}", "\u{30}"]), ("\u{1}\u{308}\u{30}", &["\u{1}\u{308}", "\u{30}"]), ("\u{1}\u{5f}", &["\u{1}", "\u{5f}"]), ("\u{1}\u{308}\u{5f}", &["\u{1}\u{308}", "\u{5f}"]), ("\u{1}\u{1f1e6}", &["\u{1}", "\u{1f1e6}"]), ("\u{1}\u{308}\u{1f1e6}", &["\u{1}\u{308}", "\u{1f1e6}"]), ("\u{1}\u{5d0}", &["\u{1}", "\u{5d0}"]), ("\u{1}\u{308}\u{5d0}", &["\u{1}\u{308}", "\u{5d0}"]), ("\u{1}\u{22}", &["\u{1}", "\u{22}"]), ("\u{1}\u{308}\u{22}", &["\u{1}\u{308}", "\u{22}"]), ("\u{1}\u{27}", &["\u{1}", "\u{27}"]), ("\u{1}\u{308}\u{27}", &["\u{1}\u{308}", "\u{27}"]), ("\u{1}\u{261d}", &["\u{1}", "\u{261d}"]), ("\u{1}\u{308}\u{261d}", &["\u{1}\u{308}", "\u{261d}"]), ("\u{1}\u{1f3fb}", &["\u{1}", "\u{1f3fb}"]), ("\u{1}\u{308}\u{1f3fb}", &["\u{1}\u{308}", "\u{1f3fb}"]), ("\u{1}\u{2640}", &["\u{1}", "\u{2640}"]), ("\u{1}\u{308}\u{2640}", &["\u{1}\u{308}", "\u{2640}"]), ("\u{1}\u{1f466}", &["\u{1}", "\u{1f466}"]), ("\u{1}\u{308}\u{1f466}", &["\u{1}\u{308}", "\u{1f466}"]), ("\u{1}\u{ad}", &["\u{1}\u{ad}"]), ("\u{1}\u{308}\u{ad}", &["\u{1}\u{308}\u{ad}"]), ("\u{1}\u{300}", &["\u{1}\u{300}"]), ("\u{1}\u{308}\u{300}", &["\u{1}\u{308}\u{300}"]), ("\u{1}\u{200d}", &["\u{1}\u{200d}"]), ("\u{1}\u{308}\u{200d}", &["\u{1}\u{308}\u{200d}"]), ("\u{1}\u{61}\u{2060}", &["\u{1}", "\u{61}\u{2060}"]), ("\u{1}\u{308}\u{61}\u{2060}", &["\u{1}\u{308}", "\u{61}\u{2060}"]), ("\u{1}\u{61}\u{3a}", &["\u{1}", "\u{61}", "\u{3a}"]), ("\u{1}\u{308}\u{61}\u{3a}", &["\u{1}\u{308}", "\u{61}", "\u{3a}"]), ("\u{1}\u{61}\u{27}", &["\u{1}", "\u{61}", "\u{27}"]), ("\u{1}\u{308}\u{61}\u{27}", &["\u{1}\u{308}", "\u{61}", "\u{27}"]), ("\u{1}\u{61}\u{27}\u{2060}", &["\u{1}", "\u{61}", "\u{27}\u{2060}"]), ("\u{1}\u{308}\u{61}\u{27}\u{2060}", &["\u{1}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{1}\u{61}\u{2c}", &["\u{1}", "\u{61}", "\u{2c}"]), ("\u{1}\u{308}\u{61}\u{2c}", &["\u{1}\u{308}", "\u{61}", "\u{2c}"]), ("\u{1}\u{31}\u{3a}", &["\u{1}", "\u{31}", "\u{3a}"]), ("\u{1}\u{308}\u{31}\u{3a}", &["\u{1}\u{308}", "\u{31}", "\u{3a}"]), ("\u{1}\u{31}\u{27}", &["\u{1}", "\u{31}", "\u{27}"]), ("\u{1}\u{308}\u{31}\u{27}", &["\u{1}\u{308}", "\u{31}", "\u{27}"]), ("\u{1}\u{31}\u{2c}", &["\u{1}", "\u{31}", "\u{2c}"]), ("\u{1}\u{308}\u{31}\u{2c}", &["\u{1}\u{308}", "\u{31}", "\u{2c}"]), ("\u{1}\u{31}\u{2e}\u{2060}", &["\u{1}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{1}\u{308}\u{31}\u{2e}\u{2060}", &["\u{1}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{d}\u{1}", &["\u{d}", "\u{1}"]), ("\u{d}\u{308}\u{1}", &["\u{d}", "\u{308}", "\u{1}"]), ("\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{b}", &["\u{d}", "\u{b}"]), ("\u{d}\u{308}\u{b}", &["\u{d}", "\u{308}", "\u{b}"]), ("\u{d}\u{3031}", &["\u{d}", "\u{3031}"]), ("\u{d}\u{308}\u{3031}", &["\u{d}", "\u{308}", "\u{3031}"]), ("\u{d}\u{41}", &["\u{d}", "\u{41}"]), ("\u{d}\u{308}\u{41}", &["\u{d}", "\u{308}", "\u{41}"]), ("\u{d}\u{3a}", &["\u{d}", "\u{3a}"]), ("\u{d}\u{308}\u{3a}", &["\u{d}", "\u{308}", "\u{3a}"]), ("\u{d}\u{2c}", &["\u{d}", "\u{2c}"]), ("\u{d}\u{308}\u{2c}", &["\u{d}", "\u{308}", "\u{2c}"]), ("\u{d}\u{2e}", &["\u{d}", "\u{2e}"]), ("\u{d}\u{308}\u{2e}", &["\u{d}", "\u{308}", "\u{2e}"]), ("\u{d}\u{30}", &["\u{d}", "\u{30}"]), ("\u{d}\u{308}\u{30}", &["\u{d}", "\u{308}", "\u{30}"]), ("\u{d}\u{5f}", &["\u{d}", "\u{5f}"]), ("\u{d}\u{308}\u{5f}", &["\u{d}", "\u{308}", "\u{5f}"]), ("\u{d}\u{1f1e6}", &["\u{d}", "\u{1f1e6}"]), ("\u{d}\u{308}\u{1f1e6}", &["\u{d}", "\u{308}", "\u{1f1e6}"]), ("\u{d}\u{5d0}", &["\u{d}", "\u{5d0}"]), ("\u{d}\u{308}\u{5d0}", &["\u{d}", "\u{308}", "\u{5d0}"]), ("\u{d}\u{22}", &["\u{d}", "\u{22}"]), ("\u{d}\u{308}\u{22}", &["\u{d}", "\u{308}", "\u{22}"]), ("\u{d}\u{27}", &["\u{d}", "\u{27}"]), ("\u{d}\u{308}\u{27}", &["\u{d}", "\u{308}", "\u{27}"]), ("\u{d}\u{261d}", &["\u{d}", "\u{261d}"]), ("\u{d}\u{308}\u{261d}", &["\u{d}", "\u{308}", "\u{261d}"]), ("\u{d}\u{1f3fb}", &["\u{d}", "\u{1f3fb}"]), ("\u{d}\u{308}\u{1f3fb}", &["\u{d}", "\u{308}", "\u{1f3fb}"]), ("\u{d}\u{2640}", &["\u{d}", "\u{2640}"]), ("\u{d}\u{308}\u{2640}", &["\u{d}", "\u{308}", "\u{2640}"]), ("\u{d}\u{1f466}", &["\u{d}", "\u{1f466}"]), ("\u{d}\u{308}\u{1f466}", &["\u{d}", "\u{308}", "\u{1f466}"]), ("\u{d}\u{ad}", &["\u{d}", "\u{ad}"]), ("\u{d}\u{308}\u{ad}", &["\u{d}", "\u{308}\u{ad}"]), ("\u{d}\u{300}", &["\u{d}", "\u{300}"]), ("\u{d}\u{308}\u{300}", &["\u{d}", "\u{308}\u{300}"]), ("\u{d}\u{200d}", &["\u{d}", "\u{200d}"]), ("\u{d}\u{308}\u{200d}", &["\u{d}", "\u{308}\u{200d}"]), ("\u{d}\u{61}\u{2060}", &["\u{d}", "\u{61}\u{2060}"]), ("\u{d}\u{308}\u{61}\u{2060}", &["\u{d}", "\u{308}", "\u{61}\u{2060}"]), ("\u{d}\u{61}\u{3a}", &["\u{d}", "\u{61}", "\u{3a}"]), ("\u{d}\u{308}\u{61}\u{3a}", &["\u{d}", "\u{308}", "\u{61}", "\u{3a}"]), ("\u{d}\u{61}\u{27}", &["\u{d}", "\u{61}", "\u{27}"]), ("\u{d}\u{308}\u{61}\u{27}", &["\u{d}", "\u{308}", "\u{61}", "\u{27}"]), ("\u{d}\u{61}\u{27}\u{2060}", &["\u{d}", "\u{61}", "\u{27}\u{2060}"]), ("\u{d}\u{308}\u{61}\u{27}\u{2060}", &["\u{d}", "\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{d}\u{61}\u{2c}", &["\u{d}", "\u{61}", "\u{2c}"]), ("\u{d}\u{308}\u{61}\u{2c}", &["\u{d}", "\u{308}", "\u{61}", "\u{2c}"]), ("\u{d}\u{31}\u{3a}", &["\u{d}", "\u{31}", "\u{3a}"]), ("\u{d}\u{308}\u{31}\u{3a}", &["\u{d}", "\u{308}", "\u{31}", "\u{3a}"]), ("\u{d}\u{31}\u{27}", &["\u{d}", "\u{31}", "\u{27}"]), ("\u{d}\u{308}\u{31}\u{27}", &["\u{d}", "\u{308}", "\u{31}", "\u{27}"]), ("\u{d}\u{31}\u{2c}", &["\u{d}", "\u{31}", "\u{2c}"]), ("\u{d}\u{308}\u{31}\u{2c}", &["\u{d}", "\u{308}", "\u{31}", "\u{2c}"]), ("\u{d}\u{31}\u{2e}\u{2060}", &["\u{d}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{d}\u{308}\u{31}\u{2e}\u{2060}", &["\u{d}", "\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{a}\u{1}", &["\u{a}", "\u{1}"]), ("\u{a}\u{308}\u{1}", &["\u{a}", "\u{308}", "\u{1}"]), ("\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{b}", &["\u{a}", "\u{b}"]), ("\u{a}\u{308}\u{b}", &["\u{a}", "\u{308}", "\u{b}"]), ("\u{a}\u{3031}", &["\u{a}", "\u{3031}"]), ("\u{a}\u{308}\u{3031}", &["\u{a}", "\u{308}", "\u{3031}"]), ("\u{a}\u{41}", &["\u{a}", "\u{41}"]), ("\u{a}\u{308}\u{41}", &["\u{a}", "\u{308}", "\u{41}"]), ("\u{a}\u{3a}", &["\u{a}", "\u{3a}"]), ("\u{a}\u{308}\u{3a}", &["\u{a}", "\u{308}", "\u{3a}"]), ("\u{a}\u{2c}", &["\u{a}", "\u{2c}"]), ("\u{a}\u{308}\u{2c}", &["\u{a}", "\u{308}", "\u{2c}"]), ("\u{a}\u{2e}", &["\u{a}", "\u{2e}"]), ("\u{a}\u{308}\u{2e}", &["\u{a}", "\u{308}", "\u{2e}"]), ("\u{a}\u{30}", &["\u{a}", "\u{30}"]), ("\u{a}\u{308}\u{30}", &["\u{a}", "\u{308}", "\u{30}"]), ("\u{a}\u{5f}", &["\u{a}", "\u{5f}"]), ("\u{a}\u{308}\u{5f}", &["\u{a}", "\u{308}", "\u{5f}"]), ("\u{a}\u{1f1e6}", &["\u{a}", "\u{1f1e6}"]), ("\u{a}\u{308}\u{1f1e6}", &["\u{a}", "\u{308}", "\u{1f1e6}"]), ("\u{a}\u{5d0}", &["\u{a}", "\u{5d0}"]), ("\u{a}\u{308}\u{5d0}", &["\u{a}", "\u{308}", "\u{5d0}"]), ("\u{a}\u{22}", &["\u{a}", "\u{22}"]), ("\u{a}\u{308}\u{22}", &["\u{a}", "\u{308}", "\u{22}"]), ("\u{a}\u{27}", &["\u{a}", "\u{27}"]), ("\u{a}\u{308}\u{27}", &["\u{a}", "\u{308}", "\u{27}"]), ("\u{a}\u{261d}", &["\u{a}", "\u{261d}"]), ("\u{a}\u{308}\u{261d}", &["\u{a}", "\u{308}", "\u{261d}"]), ("\u{a}\u{1f3fb}", &["\u{a}", "\u{1f3fb}"]), ("\u{a}\u{308}\u{1f3fb}", &["\u{a}", "\u{308}", "\u{1f3fb}"]), ("\u{a}\u{2640}", &["\u{a}", "\u{2640}"]), ("\u{a}\u{308}\u{2640}", &["\u{a}", "\u{308}", "\u{2640}"]), ("\u{a}\u{1f466}", &["\u{a}", "\u{1f466}"]), ("\u{a}\u{308}\u{1f466}", &["\u{a}", "\u{308}", "\u{1f466}"]), ("\u{a}\u{ad}", &["\u{a}", "\u{ad}"]), ("\u{a}\u{308}\u{ad}", &["\u{a}", "\u{308}\u{ad}"]), ("\u{a}\u{300}", &["\u{a}", "\u{300}"]), ("\u{a}\u{308}\u{300}", &["\u{a}", "\u{308}\u{300}"]), ("\u{a}\u{200d}", &["\u{a}", "\u{200d}"]), ("\u{a}\u{308}\u{200d}", &["\u{a}", "\u{308}\u{200d}"]), ("\u{a}\u{61}\u{2060}", &["\u{a}", "\u{61}\u{2060}"]), ("\u{a}\u{308}\u{61}\u{2060}", &["\u{a}", "\u{308}", "\u{61}\u{2060}"]), ("\u{a}\u{61}\u{3a}", &["\u{a}", "\u{61}", "\u{3a}"]), ("\u{a}\u{308}\u{61}\u{3a}", &["\u{a}", "\u{308}", "\u{61}", "\u{3a}"]), ("\u{a}\u{61}\u{27}", &["\u{a}", "\u{61}", "\u{27}"]), ("\u{a}\u{308}\u{61}\u{27}", &["\u{a}", "\u{308}", "\u{61}", "\u{27}"]), ("\u{a}\u{61}\u{27}\u{2060}", &["\u{a}", "\u{61}", "\u{27}\u{2060}"]), ("\u{a}\u{308}\u{61}\u{27}\u{2060}", &["\u{a}", "\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{a}\u{61}\u{2c}", &["\u{a}", "\u{61}", "\u{2c}"]), ("\u{a}\u{308}\u{61}\u{2c}", &["\u{a}", "\u{308}", "\u{61}", "\u{2c}"]), ("\u{a}\u{31}\u{3a}", &["\u{a}", "\u{31}", "\u{3a}"]), ("\u{a}\u{308}\u{31}\u{3a}", &["\u{a}", "\u{308}", "\u{31}", "\u{3a}"]), ("\u{a}\u{31}\u{27}", &["\u{a}", "\u{31}", "\u{27}"]), ("\u{a}\u{308}\u{31}\u{27}", &["\u{a}", "\u{308}", "\u{31}", "\u{27}"]), ("\u{a}\u{31}\u{2c}", &["\u{a}", "\u{31}", "\u{2c}"]), ("\u{a}\u{308}\u{31}\u{2c}", &["\u{a}", "\u{308}", "\u{31}", "\u{2c}"]), ("\u{a}\u{31}\u{2e}\u{2060}", &["\u{a}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{a}\u{308}\u{31}\u{2e}\u{2060}", &["\u{a}", "\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{b}\u{1}", &["\u{b}", "\u{1}"]), ("\u{b}\u{308}\u{1}", &["\u{b}", "\u{308}", "\u{1}"]), ("\u{b}\u{d}", &["\u{b}", "\u{d}"]), ("\u{b}\u{308}\u{d}", &["\u{b}", "\u{308}", "\u{d}"]), ("\u{b}\u{a}", &["\u{b}", "\u{a}"]), ("\u{b}\u{308}\u{a}", &["\u{b}", "\u{308}", "\u{a}"]), ("\u{b}\u{b}", &["\u{b}", "\u{b}"]), ("\u{b}\u{308}\u{b}", &["\u{b}", "\u{308}", "\u{b}"]), ("\u{b}\u{3031}", &["\u{b}", "\u{3031}"]), ("\u{b}\u{308}\u{3031}", &["\u{b}", "\u{308}", "\u{3031}"]), ("\u{b}\u{41}", &["\u{b}", "\u{41}"]), ("\u{b}\u{308}\u{41}", &["\u{b}", "\u{308}", "\u{41}"]), ("\u{b}\u{3a}", &["\u{b}", "\u{3a}"]), ("\u{b}\u{308}\u{3a}", &["\u{b}", "\u{308}", "\u{3a}"]), ("\u{b}\u{2c}", &["\u{b}", "\u{2c}"]), ("\u{b}\u{308}\u{2c}", &["\u{b}", "\u{308}", "\u{2c}"]), ("\u{b}\u{2e}", &["\u{b}", "\u{2e}"]), ("\u{b}\u{308}\u{2e}", &["\u{b}", "\u{308}", "\u{2e}"]), ("\u{b}\u{30}", &["\u{b}", "\u{30}"]), ("\u{b}\u{308}\u{30}", &["\u{b}", "\u{308}", "\u{30}"]), ("\u{b}\u{5f}", &["\u{b}", "\u{5f}"]), ("\u{b}\u{308}\u{5f}", &["\u{b}", "\u{308}", "\u{5f}"]), ("\u{b}\u{1f1e6}", &["\u{b}", "\u{1f1e6}"]), ("\u{b}\u{308}\u{1f1e6}", &["\u{b}", "\u{308}", "\u{1f1e6}"]), ("\u{b}\u{5d0}", &["\u{b}", "\u{5d0}"]), ("\u{b}\u{308}\u{5d0}", &["\u{b}", "\u{308}", "\u{5d0}"]), ("\u{b}\u{22}", &["\u{b}", "\u{22}"]), ("\u{b}\u{308}\u{22}", &["\u{b}", "\u{308}", "\u{22}"]), ("\u{b}\u{27}", &["\u{b}", "\u{27}"]), ("\u{b}\u{308}\u{27}", &["\u{b}", "\u{308}", "\u{27}"]), ("\u{b}\u{261d}", &["\u{b}", "\u{261d}"]), ("\u{b}\u{308}\u{261d}", &["\u{b}", "\u{308}", "\u{261d}"]), ("\u{b}\u{1f3fb}", &["\u{b}", "\u{1f3fb}"]), ("\u{b}\u{308}\u{1f3fb}", &["\u{b}", "\u{308}", "\u{1f3fb}"]), ("\u{b}\u{2640}", &["\u{b}", "\u{2640}"]), ("\u{b}\u{308}\u{2640}", &["\u{b}", "\u{308}", "\u{2640}"]), ("\u{b}\u{1f466}", &["\u{b}", "\u{1f466}"]), ("\u{b}\u{308}\u{1f466}", &["\u{b}", "\u{308}", "\u{1f466}"]), ("\u{b}\u{ad}", &["\u{b}", "\u{ad}"]), ("\u{b}\u{308}\u{ad}", &["\u{b}", "\u{308}\u{ad}"]), ("\u{b}\u{300}", &["\u{b}", "\u{300}"]), ("\u{b}\u{308}\u{300}", &["\u{b}", "\u{308}\u{300}"]), ("\u{b}\u{200d}", &["\u{b}", "\u{200d}"]), ("\u{b}\u{308}\u{200d}", &["\u{b}", "\u{308}\u{200d}"]), ("\u{b}\u{61}\u{2060}", &["\u{b}", "\u{61}\u{2060}"]), ("\u{b}\u{308}\u{61}\u{2060}", &["\u{b}", "\u{308}", "\u{61}\u{2060}"]), ("\u{b}\u{61}\u{3a}", &["\u{b}", "\u{61}", "\u{3a}"]), ("\u{b}\u{308}\u{61}\u{3a}", &["\u{b}", "\u{308}", "\u{61}", "\u{3a}"]), ("\u{b}\u{61}\u{27}", &["\u{b}", "\u{61}", "\u{27}"]), ("\u{b}\u{308}\u{61}\u{27}", &["\u{b}", "\u{308}", "\u{61}", "\u{27}"]), ("\u{b}\u{61}\u{27}\u{2060}", &["\u{b}", "\u{61}", "\u{27}\u{2060}"]), ("\u{b}\u{308}\u{61}\u{27}\u{2060}", &["\u{b}", "\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{b}\u{61}\u{2c}", &["\u{b}", "\u{61}", "\u{2c}"]), ("\u{b}\u{308}\u{61}\u{2c}", &["\u{b}", "\u{308}", "\u{61}", "\u{2c}"]), ("\u{b}\u{31}\u{3a}", &["\u{b}", "\u{31}", "\u{3a}"]), ("\u{b}\u{308}\u{31}\u{3a}", &["\u{b}", "\u{308}", "\u{31}", "\u{3a}"]), ("\u{b}\u{31}\u{27}", &["\u{b}", "\u{31}", "\u{27}"]), ("\u{b}\u{308}\u{31}\u{27}", &["\u{b}", "\u{308}", "\u{31}", "\u{27}"]), ("\u{b}\u{31}\u{2c}", &["\u{b}", "\u{31}", "\u{2c}"]), ("\u{b}\u{308}\u{31}\u{2c}", &["\u{b}", "\u{308}", "\u{31}", "\u{2c}"]), ("\u{b}\u{31}\u{2e}\u{2060}", &["\u{b}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{b}\u{308}\u{31}\u{2e}\u{2060}", &["\u{b}", "\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{3031}\u{1}", &["\u{3031}", "\u{1}"]), ("\u{3031}\u{308}\u{1}", &["\u{3031}\u{308}", "\u{1}"]), ("\u{3031}\u{d}", &["\u{3031}", "\u{d}"]), ("\u{3031}\u{308}\u{d}", &["\u{3031}\u{308}", "\u{d}"]), ("\u{3031}\u{a}", &["\u{3031}", "\u{a}"]), ("\u{3031}\u{308}\u{a}", &["\u{3031}\u{308}", "\u{a}"]), ("\u{3031}\u{b}", &["\u{3031}", "\u{b}"]), ("\u{3031}\u{308}\u{b}", &["\u{3031}\u{308}", "\u{b}"]), ("\u{3031}\u{3031}", &["\u{3031}\u{3031}"]), ("\u{3031}\u{308}\u{3031}", &["\u{3031}\u{308}\u{3031}"]), ("\u{3031}\u{41}", &["\u{3031}", "\u{41}"]), ("\u{3031}\u{308}\u{41}", &["\u{3031}\u{308}", "\u{41}"]), ("\u{3031}\u{3a}", &["\u{3031}", "\u{3a}"]), ("\u{3031}\u{308}\u{3a}", &["\u{3031}\u{308}", "\u{3a}"]), ("\u{3031}\u{2c}", &["\u{3031}", "\u{2c}"]), ("\u{3031}\u{308}\u{2c}", &["\u{3031}\u{308}", "\u{2c}"]), ("\u{3031}\u{2e}", &["\u{3031}", "\u{2e}"]), ("\u{3031}\u{308}\u{2e}", &["\u{3031}\u{308}", "\u{2e}"]), ("\u{3031}\u{30}", &["\u{3031}", "\u{30}"]), ("\u{3031}\u{308}\u{30}", &["\u{3031}\u{308}", "\u{30}"]), ("\u{3031}\u{5f}", &["\u{3031}\u{5f}"]), ("\u{3031}\u{308}\u{5f}", &["\u{3031}\u{308}\u{5f}"]), ("\u{3031}\u{1f1e6}", &["\u{3031}", "\u{1f1e6}"]), ("\u{3031}\u{308}\u{1f1e6}", &["\u{3031}\u{308}", "\u{1f1e6}"]), ("\u{3031}\u{5d0}", &["\u{3031}", "\u{5d0}"]), ("\u{3031}\u{308}\u{5d0}", &["\u{3031}\u{308}", "\u{5d0}"]), ("\u{3031}\u{22}", &["\u{3031}", "\u{22}"]), ("\u{3031}\u{308}\u{22}", &["\u{3031}\u{308}", "\u{22}"]), ("\u{3031}\u{27}", &["\u{3031}", "\u{27}"]), ("\u{3031}\u{308}\u{27}", &["\u{3031}\u{308}", "\u{27}"]), ("\u{3031}\u{261d}", &["\u{3031}", "\u{261d}"]), ("\u{3031}\u{308}\u{261d}", &["\u{3031}\u{308}", "\u{261d}"]), ("\u{3031}\u{1f3fb}", &["\u{3031}", "\u{1f3fb}"]), ("\u{3031}\u{308}\u{1f3fb}", &["\u{3031}\u{308}", "\u{1f3fb}"]), ("\u{3031}\u{2640}", &["\u{3031}", "\u{2640}"]), ("\u{3031}\u{308}\u{2640}", &["\u{3031}\u{308}", "\u{2640}"]), ("\u{3031}\u{1f466}", &["\u{3031}", "\u{1f466}"]), ("\u{3031}\u{308}\u{1f466}", &["\u{3031}\u{308}", "\u{1f466}"]), ("\u{3031}\u{ad}", &["\u{3031}\u{ad}"]), ("\u{3031}\u{308}\u{ad}", &["\u{3031}\u{308}\u{ad}"]), ("\u{3031}\u{300}", &["\u{3031}\u{300}"]), ("\u{3031}\u{308}\u{300}", &["\u{3031}\u{308}\u{300}"]), ("\u{3031}\u{200d}", &["\u{3031}\u{200d}"]), ("\u{3031}\u{308}\u{200d}", &["\u{3031}\u{308}\u{200d}"]), ("\u{3031}\u{61}\u{2060}", &["\u{3031}", "\u{61}\u{2060}"]), ("\u{3031}\u{308}\u{61}\u{2060}", &["\u{3031}\u{308}", "\u{61}\u{2060}"]), ("\u{3031}\u{61}\u{3a}", &["\u{3031}", "\u{61}", "\u{3a}"]), ("\u{3031}\u{308}\u{61}\u{3a}", &["\u{3031}\u{308}", "\u{61}", "\u{3a}"]), ("\u{3031}\u{61}\u{27}", &["\u{3031}", "\u{61}", "\u{27}"]), ("\u{3031}\u{308}\u{61}\u{27}", &["\u{3031}\u{308}", "\u{61}", "\u{27}"]), ("\u{3031}\u{61}\u{27}\u{2060}", &["\u{3031}", "\u{61}", "\u{27}\u{2060}"]), ("\u{3031}\u{308}\u{61}\u{27}\u{2060}", &["\u{3031}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{3031}\u{61}\u{2c}", &["\u{3031}", "\u{61}", "\u{2c}"]), ("\u{3031}\u{308}\u{61}\u{2c}", &["\u{3031}\u{308}", "\u{61}", "\u{2c}"]), ("\u{3031}\u{31}\u{3a}", &["\u{3031}", "\u{31}", "\u{3a}"]), ("\u{3031}\u{308}\u{31}\u{3a}", &["\u{3031}\u{308}", "\u{31}", "\u{3a}"]), ("\u{3031}\u{31}\u{27}", &["\u{3031}", "\u{31}", "\u{27}"]), ("\u{3031}\u{308}\u{31}\u{27}", &["\u{3031}\u{308}", "\u{31}", "\u{27}"]), ("\u{3031}\u{31}\u{2c}", &["\u{3031}", "\u{31}", "\u{2c}"]), ("\u{3031}\u{308}\u{31}\u{2c}", &["\u{3031}\u{308}", "\u{31}", "\u{2c}"]), ("\u{3031}\u{31}\u{2e}\u{2060}", &["\u{3031}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{3031}\u{308}\u{31}\u{2e}\u{2060}", &["\u{3031}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{41}\u{1}", &["\u{41}", "\u{1}"]), ("\u{41}\u{308}\u{1}", &["\u{41}\u{308}", "\u{1}"]), ("\u{41}\u{d}", &["\u{41}", "\u{d}"]), ("\u{41}\u{308}\u{d}", &["\u{41}\u{308}", "\u{d}"]), ("\u{41}\u{a}", &["\u{41}", "\u{a}"]), ("\u{41}\u{308}\u{a}", &["\u{41}\u{308}", "\u{a}"]), ("\u{41}\u{b}", &["\u{41}", "\u{b}"]), ("\u{41}\u{308}\u{b}", &["\u{41}\u{308}", "\u{b}"]), ("\u{41}\u{3031}", &["\u{41}", "\u{3031}"]), ("\u{41}\u{308}\u{3031}", &["\u{41}\u{308}", "\u{3031}"]), ("\u{41}\u{41}", &["\u{41}\u{41}"]), ("\u{41}\u{308}\u{41}", &["\u{41}\u{308}\u{41}"]), ("\u{41}\u{3a}", &["\u{41}", "\u{3a}"]), ("\u{41}\u{308}\u{3a}", &["\u{41}\u{308}", "\u{3a}"]), ("\u{41}\u{2c}", &["\u{41}", "\u{2c}"]), ("\u{41}\u{308}\u{2c}", &["\u{41}\u{308}", "\u{2c}"]), ("\u{41}\u{2e}", &["\u{41}", "\u{2e}"]), ("\u{41}\u{308}\u{2e}", &["\u{41}\u{308}", "\u{2e}"]), ("\u{41}\u{30}", &["\u{41}\u{30}"]), ("\u{41}\u{308}\u{30}", &["\u{41}\u{308}\u{30}"]), ("\u{41}\u{5f}", &["\u{41}\u{5f}"]), ("\u{41}\u{308}\u{5f}", &["\u{41}\u{308}\u{5f}"]), ("\u{41}\u{1f1e6}", &["\u{41}", "\u{1f1e6}"]), ("\u{41}\u{308}\u{1f1e6}", &["\u{41}\u{308}", "\u{1f1e6}"]), ("\u{41}\u{5d0}", &["\u{41}\u{5d0}"]), ("\u{41}\u{308}\u{5d0}", &["\u{41}\u{308}\u{5d0}"]), ("\u{41}\u{22}", &["\u{41}", "\u{22}"]), ("\u{41}\u{308}\u{22}", &["\u{41}\u{308}", "\u{22}"]), ("\u{41}\u{27}", &["\u{41}", "\u{27}"]), ("\u{41}\u{308}\u{27}", &["\u{41}\u{308}", "\u{27}"]), ("\u{41}\u{261d}", &["\u{41}", "\u{261d}"]), ("\u{41}\u{308}\u{261d}", &["\u{41}\u{308}", "\u{261d}"]), ("\u{41}\u{1f3fb}", &["\u{41}", "\u{1f3fb}"]), ("\u{41}\u{308}\u{1f3fb}", &["\u{41}\u{308}", "\u{1f3fb}"]), ("\u{41}\u{2640}", &["\u{41}", "\u{2640}"]), ("\u{41}\u{308}\u{2640}", &["\u{41}\u{308}", "\u{2640}"]), ("\u{41}\u{1f466}", &["\u{41}", "\u{1f466}"]), ("\u{41}\u{308}\u{1f466}", &["\u{41}\u{308}", "\u{1f466}"]), ("\u{41}\u{ad}", &["\u{41}\u{ad}"]), ("\u{41}\u{308}\u{ad}", &["\u{41}\u{308}\u{ad}"]), ("\u{41}\u{300}", &["\u{41}\u{300}"]), ("\u{41}\u{308}\u{300}", &["\u{41}\u{308}\u{300}"]), ("\u{41}\u{200d}", &["\u{41}\u{200d}"]), ("\u{41}\u{308}\u{200d}", &["\u{41}\u{308}\u{200d}"]), ("\u{41}\u{61}\u{2060}", &["\u{41}\u{61}\u{2060}"]), ("\u{41}\u{308}\u{61}\u{2060}", &["\u{41}\u{308}\u{61}\u{2060}"]), ("\u{41}\u{61}\u{3a}", &["\u{41}\u{61}", "\u{3a}"]), ("\u{41}\u{308}\u{61}\u{3a}", &["\u{41}\u{308}\u{61}", "\u{3a}"]), ("\u{41}\u{61}\u{27}", &["\u{41}\u{61}", "\u{27}"]), ("\u{41}\u{308}\u{61}\u{27}", &["\u{41}\u{308}\u{61}", "\u{27}"]), ("\u{41}\u{61}\u{27}\u{2060}", &["\u{41}\u{61}", "\u{27}\u{2060}"]), ("\u{41}\u{308}\u{61}\u{27}\u{2060}", &["\u{41}\u{308}\u{61}", "\u{27}\u{2060}"]), ("\u{41}\u{61}\u{2c}", &["\u{41}\u{61}", "\u{2c}"]), ("\u{41}\u{308}\u{61}\u{2c}", &["\u{41}\u{308}\u{61}", "\u{2c}"]), ("\u{41}\u{31}\u{3a}", &["\u{41}\u{31}", "\u{3a}"]), ("\u{41}\u{308}\u{31}\u{3a}", &["\u{41}\u{308}\u{31}", "\u{3a}"]), ("\u{41}\u{31}\u{27}", &["\u{41}\u{31}", "\u{27}"]), ("\u{41}\u{308}\u{31}\u{27}", &["\u{41}\u{308}\u{31}", "\u{27}"]), ("\u{41}\u{31}\u{2c}", &["\u{41}\u{31}", "\u{2c}"]), ("\u{41}\u{308}\u{31}\u{2c}", &["\u{41}\u{308}\u{31}", "\u{2c}"]), ("\u{41}\u{31}\u{2e}\u{2060}", &["\u{41}\u{31}", "\u{2e}\u{2060}"]), ("\u{41}\u{308}\u{31}\u{2e}\u{2060}", &["\u{41}\u{308}\u{31}", "\u{2e}\u{2060}"]), ("\u{3a}\u{1}", &["\u{3a}", "\u{1}"]), ("\u{3a}\u{308}\u{1}", &["\u{3a}\u{308}", "\u{1}"]), ("\u{3a}\u{d}", &["\u{3a}", "\u{d}"]), ("\u{3a}\u{308}\u{d}", &["\u{3a}\u{308}", "\u{d}"]), ("\u{3a}\u{a}", &["\u{3a}", "\u{a}"]), ("\u{3a}\u{308}\u{a}", &["\u{3a}\u{308}", "\u{a}"]), ("\u{3a}\u{b}", &["\u{3a}", "\u{b}"]), ("\u{3a}\u{308}\u{b}", &["\u{3a}\u{308}", "\u{b}"]), ("\u{3a}\u{3031}", &["\u{3a}", "\u{3031}"]), ("\u{3a}\u{308}\u{3031}", &["\u{3a}\u{308}", "\u{3031}"]), ("\u{3a}\u{41}", &["\u{3a}", "\u{41}"]), ("\u{3a}\u{308}\u{41}", &["\u{3a}\u{308}", "\u{41}"]), ("\u{3a}\u{3a}", &["\u{3a}", "\u{3a}"]), ("\u{3a}\u{308}\u{3a}", &["\u{3a}\u{308}", "\u{3a}"]), ("\u{3a}\u{2c}", &["\u{3a}", "\u{2c}"]), ("\u{3a}\u{308}\u{2c}", &["\u{3a}\u{308}", "\u{2c}"]), ("\u{3a}\u{2e}", &["\u{3a}", "\u{2e}"]), ("\u{3a}\u{308}\u{2e}", &["\u{3a}\u{308}", "\u{2e}"]), ("\u{3a}\u{30}", &["\u{3a}", "\u{30}"]), ("\u{3a}\u{308}\u{30}", &["\u{3a}\u{308}", "\u{30}"]), ("\u{3a}\u{5f}", &["\u{3a}", "\u{5f}"]), ("\u{3a}\u{308}\u{5f}", &["\u{3a}\u{308}", "\u{5f}"]), ("\u{3a}\u{1f1e6}", &["\u{3a}", "\u{1f1e6}"]), ("\u{3a}\u{308}\u{1f1e6}", &["\u{3a}\u{308}", "\u{1f1e6}"]), ("\u{3a}\u{5d0}", &["\u{3a}", "\u{5d0}"]), ("\u{3a}\u{308}\u{5d0}", &["\u{3a}\u{308}", "\u{5d0}"]), ("\u{3a}\u{22}", &["\u{3a}", "\u{22}"]), ("\u{3a}\u{308}\u{22}", &["\u{3a}\u{308}", "\u{22}"]), ("\u{3a}\u{27}", &["\u{3a}", "\u{27}"]), ("\u{3a}\u{308}\u{27}", &["\u{3a}\u{308}", "\u{27}"]), ("\u{3a}\u{261d}", &["\u{3a}", "\u{261d}"]), ("\u{3a}\u{308}\u{261d}", &["\u{3a}\u{308}", "\u{261d}"]), ("\u{3a}\u{1f3fb}", &["\u{3a}", "\u{1f3fb}"]), ("\u{3a}\u{308}\u{1f3fb}", &["\u{3a}\u{308}", "\u{1f3fb}"]), ("\u{3a}\u{2640}", &["\u{3a}", "\u{2640}"]), ("\u{3a}\u{308}\u{2640}", &["\u{3a}\u{308}", "\u{2640}"]), ("\u{3a}\u{1f466}", &["\u{3a}", "\u{1f466}"]), ("\u{3a}\u{308}\u{1f466}", &["\u{3a}\u{308}", "\u{1f466}"]), ("\u{3a}\u{ad}", &["\u{3a}\u{ad}"]), ("\u{3a}\u{308}\u{ad}", &["\u{3a}\u{308}\u{ad}"]), ("\u{3a}\u{300}", &["\u{3a}\u{300}"]), ("\u{3a}\u{308}\u{300}", &["\u{3a}\u{308}\u{300}"]), ("\u{3a}\u{200d}", &["\u{3a}\u{200d}"]), ("\u{3a}\u{308}\u{200d}", &["\u{3a}\u{308}\u{200d}"]), ("\u{3a}\u{61}\u{2060}", &["\u{3a}", "\u{61}\u{2060}"]), ("\u{3a}\u{308}\u{61}\u{2060}", &["\u{3a}\u{308}", "\u{61}\u{2060}"]), ("\u{3a}\u{61}\u{3a}", &["\u{3a}", "\u{61}", "\u{3a}"]), ("\u{3a}\u{308}\u{61}\u{3a}", &["\u{3a}\u{308}", "\u{61}", "\u{3a}"]), ("\u{3a}\u{61}\u{27}", &["\u{3a}", "\u{61}", "\u{27}"]), ("\u{3a}\u{308}\u{61}\u{27}", &["\u{3a}\u{308}", "\u{61}", "\u{27}"]), ("\u{3a}\u{61}\u{27}\u{2060}", &["\u{3a}", "\u{61}", "\u{27}\u{2060}"]), ("\u{3a}\u{308}\u{61}\u{27}\u{2060}", &["\u{3a}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{3a}\u{61}\u{2c}", &["\u{3a}", "\u{61}", "\u{2c}"]), ("\u{3a}\u{308}\u{61}\u{2c}", &["\u{3a}\u{308}", "\u{61}", "\u{2c}"]), ("\u{3a}\u{31}\u{3a}", &["\u{3a}", "\u{31}", "\u{3a}"]), ("\u{3a}\u{308}\u{31}\u{3a}", &["\u{3a}\u{308}", "\u{31}", "\u{3a}"]), ("\u{3a}\u{31}\u{27}", &["\u{3a}", "\u{31}", "\u{27}"]), ("\u{3a}\u{308}\u{31}\u{27}", &["\u{3a}\u{308}", "\u{31}", "\u{27}"]), ("\u{3a}\u{31}\u{2c}", &["\u{3a}", "\u{31}", "\u{2c}"]), ("\u{3a}\u{308}\u{31}\u{2c}", &["\u{3a}\u{308}", "\u{31}", "\u{2c}"]), ("\u{3a}\u{31}\u{2e}\u{2060}", &["\u{3a}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{3a}\u{308}\u{31}\u{2e}\u{2060}", &["\u{3a}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{2c}\u{1}", &["\u{2c}", "\u{1}"]), ("\u{2c}\u{308}\u{1}", &["\u{2c}\u{308}", "\u{1}"]), ("\u{2c}\u{d}", &["\u{2c}", "\u{d}"]), ("\u{2c}\u{308}\u{d}", &["\u{2c}\u{308}", "\u{d}"]), ("\u{2c}\u{a}", &["\u{2c}", "\u{a}"]), ("\u{2c}\u{308}\u{a}", &["\u{2c}\u{308}", "\u{a}"]), ("\u{2c}\u{b}", &["\u{2c}", "\u{b}"]), ("\u{2c}\u{308}\u{b}", &["\u{2c}\u{308}", "\u{b}"]), ("\u{2c}\u{3031}", &["\u{2c}", "\u{3031}"]), ("\u{2c}\u{308}\u{3031}", &["\u{2c}\u{308}", "\u{3031}"]), ("\u{2c}\u{41}", &["\u{2c}", "\u{41}"]), ("\u{2c}\u{308}\u{41}", &["\u{2c}\u{308}", "\u{41}"]), ("\u{2c}\u{3a}", &["\u{2c}", "\u{3a}"]), ("\u{2c}\u{308}\u{3a}", &["\u{2c}\u{308}", "\u{3a}"]), ("\u{2c}\u{2c}", &["\u{2c}", "\u{2c}"]), ("\u{2c}\u{308}\u{2c}", &["\u{2c}\u{308}", "\u{2c}"]), ("\u{2c}\u{2e}", &["\u{2c}", "\u{2e}"]), ("\u{2c}\u{308}\u{2e}", &["\u{2c}\u{308}", "\u{2e}"]), ("\u{2c}\u{30}", &["\u{2c}", "\u{30}"]), ("\u{2c}\u{308}\u{30}", &["\u{2c}\u{308}", "\u{30}"]), ("\u{2c}\u{5f}", &["\u{2c}", "\u{5f}"]), ("\u{2c}\u{308}\u{5f}", &["\u{2c}\u{308}", "\u{5f}"]), ("\u{2c}\u{1f1e6}", &["\u{2c}", "\u{1f1e6}"]), ("\u{2c}\u{308}\u{1f1e6}", &["\u{2c}\u{308}", "\u{1f1e6}"]), ("\u{2c}\u{5d0}", &["\u{2c}", "\u{5d0}"]), ("\u{2c}\u{308}\u{5d0}", &["\u{2c}\u{308}", "\u{5d0}"]), ("\u{2c}\u{22}", &["\u{2c}", "\u{22}"]), ("\u{2c}\u{308}\u{22}", &["\u{2c}\u{308}", "\u{22}"]), ("\u{2c}\u{27}", &["\u{2c}", "\u{27}"]), ("\u{2c}\u{308}\u{27}", &["\u{2c}\u{308}", "\u{27}"]), ("\u{2c}\u{261d}", &["\u{2c}", "\u{261d}"]), ("\u{2c}\u{308}\u{261d}", &["\u{2c}\u{308}", "\u{261d}"]), ("\u{2c}\u{1f3fb}", &["\u{2c}", "\u{1f3fb}"]), ("\u{2c}\u{308}\u{1f3fb}", &["\u{2c}\u{308}", "\u{1f3fb}"]), ("\u{2c}\u{2640}", &["\u{2c}", "\u{2640}"]), ("\u{2c}\u{308}\u{2640}", &["\u{2c}\u{308}", "\u{2640}"]), ("\u{2c}\u{1f466}", &["\u{2c}", "\u{1f466}"]), ("\u{2c}\u{308}\u{1f466}", &["\u{2c}\u{308}", "\u{1f466}"]), ("\u{2c}\u{ad}", &["\u{2c}\u{ad}"]), ("\u{2c}\u{308}\u{ad}", &["\u{2c}\u{308}\u{ad}"]), ("\u{2c}\u{300}", &["\u{2c}\u{300}"]), ("\u{2c}\u{308}\u{300}", &["\u{2c}\u{308}\u{300}"]), ("\u{2c}\u{200d}", &["\u{2c}\u{200d}"]), ("\u{2c}\u{308}\u{200d}", &["\u{2c}\u{308}\u{200d}"]), ("\u{2c}\u{61}\u{2060}", &["\u{2c}", "\u{61}\u{2060}"]), ("\u{2c}\u{308}\u{61}\u{2060}", &["\u{2c}\u{308}", "\u{61}\u{2060}"]), ("\u{2c}\u{61}\u{3a}", &["\u{2c}", "\u{61}", "\u{3a}"]), ("\u{2c}\u{308}\u{61}\u{3a}", &["\u{2c}\u{308}", "\u{61}", "\u{3a}"]), ("\u{2c}\u{61}\u{27}", &["\u{2c}", "\u{61}", "\u{27}"]), ("\u{2c}\u{308}\u{61}\u{27}", &["\u{2c}\u{308}", "\u{61}", "\u{27}"]), ("\u{2c}\u{61}\u{27}\u{2060}", &["\u{2c}", "\u{61}", "\u{27}\u{2060}"]), ("\u{2c}\u{308}\u{61}\u{27}\u{2060}", &["\u{2c}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{2c}\u{61}\u{2c}", &["\u{2c}", "\u{61}", "\u{2c}"]), ("\u{2c}\u{308}\u{61}\u{2c}", &["\u{2c}\u{308}", "\u{61}", "\u{2c}"]), ("\u{2c}\u{31}\u{3a}", &["\u{2c}", "\u{31}", "\u{3a}"]), ("\u{2c}\u{308}\u{31}\u{3a}", &["\u{2c}\u{308}", "\u{31}", "\u{3a}"]), ("\u{2c}\u{31}\u{27}", &["\u{2c}", "\u{31}", "\u{27}"]), ("\u{2c}\u{308}\u{31}\u{27}", &["\u{2c}\u{308}", "\u{31}", "\u{27}"]), ("\u{2c}\u{31}\u{2c}", &["\u{2c}", "\u{31}", "\u{2c}"]), ("\u{2c}\u{308}\u{31}\u{2c}", &["\u{2c}\u{308}", "\u{31}", "\u{2c}"]), ("\u{2c}\u{31}\u{2e}\u{2060}", &["\u{2c}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{2c}\u{308}\u{31}\u{2e}\u{2060}", &["\u{2c}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{2e}\u{1}", &["\u{2e}", "\u{1}"]), ("\u{2e}\u{308}\u{1}", &["\u{2e}\u{308}", "\u{1}"]), ("\u{2e}\u{d}", &["\u{2e}", "\u{d}"]), ("\u{2e}\u{308}\u{d}", &["\u{2e}\u{308}", "\u{d}"]), ("\u{2e}\u{a}", &["\u{2e}", "\u{a}"]), ("\u{2e}\u{308}\u{a}", &["\u{2e}\u{308}", "\u{a}"]), ("\u{2e}\u{b}", &["\u{2e}", "\u{b}"]), ("\u{2e}\u{308}\u{b}", &["\u{2e}\u{308}", "\u{b}"]), ("\u{2e}\u{3031}", &["\u{2e}", "\u{3031}"]), ("\u{2e}\u{308}\u{3031}", &["\u{2e}\u{308}", "\u{3031}"]), ("\u{2e}\u{41}", &["\u{2e}", "\u{41}"]), ("\u{2e}\u{308}\u{41}", &["\u{2e}\u{308}", "\u{41}"]), ("\u{2e}\u{3a}", &["\u{2e}", "\u{3a}"]), ("\u{2e}\u{308}\u{3a}", &["\u{2e}\u{308}", "\u{3a}"]), ("\u{2e}\u{2c}", &["\u{2e}", "\u{2c}"]), ("\u{2e}\u{308}\u{2c}", &["\u{2e}\u{308}", "\u{2c}"]), ("\u{2e}\u{2e}", &["\u{2e}", "\u{2e}"]), ("\u{2e}\u{308}\u{2e}", &["\u{2e}\u{308}", "\u{2e}"]), ("\u{2e}\u{30}", &["\u{2e}", "\u{30}"]), ("\u{2e}\u{308}\u{30}", &["\u{2e}\u{308}", "\u{30}"]), ("\u{2e}\u{5f}", &["\u{2e}", "\u{5f}"]), ("\u{2e}\u{308}\u{5f}", &["\u{2e}\u{308}", "\u{5f}"]), ("\u{2e}\u{1f1e6}", &["\u{2e}", "\u{1f1e6}"]), ("\u{2e}\u{308}\u{1f1e6}", &["\u{2e}\u{308}", "\u{1f1e6}"]), ("\u{2e}\u{5d0}", &["\u{2e}", "\u{5d0}"]), ("\u{2e}\u{308}\u{5d0}", &["\u{2e}\u{308}", "\u{5d0}"]), ("\u{2e}\u{22}", &["\u{2e}", "\u{22}"]), ("\u{2e}\u{308}\u{22}", &["\u{2e}\u{308}", "\u{22}"]), ("\u{2e}\u{27}", &["\u{2e}", "\u{27}"]), ("\u{2e}\u{308}\u{27}", &["\u{2e}\u{308}", "\u{27}"]), ("\u{2e}\u{261d}", &["\u{2e}", "\u{261d}"]), ("\u{2e}\u{308}\u{261d}", &["\u{2e}\u{308}", "\u{261d}"]), ("\u{2e}\u{1f3fb}", &["\u{2e}", "\u{1f3fb}"]), ("\u{2e}\u{308}\u{1f3fb}", &["\u{2e}\u{308}", "\u{1f3fb}"]), ("\u{2e}\u{2640}", &["\u{2e}", "\u{2640}"]), ("\u{2e}\u{308}\u{2640}", &["\u{2e}\u{308}", "\u{2640}"]), ("\u{2e}\u{1f466}", &["\u{2e}", "\u{1f466}"]), ("\u{2e}\u{308}\u{1f466}", &["\u{2e}\u{308}", "\u{1f466}"]), ("\u{2e}\u{ad}", &["\u{2e}\u{ad}"]), ("\u{2e}\u{308}\u{ad}", &["\u{2e}\u{308}\u{ad}"]), ("\u{2e}\u{300}", &["\u{2e}\u{300}"]), ("\u{2e}\u{308}\u{300}", &["\u{2e}\u{308}\u{300}"]), ("\u{2e}\u{200d}", &["\u{2e}\u{200d}"]), ("\u{2e}\u{308}\u{200d}", &["\u{2e}\u{308}\u{200d}"]), ("\u{2e}\u{61}\u{2060}", &["\u{2e}", "\u{61}\u{2060}"]), ("\u{2e}\u{308}\u{61}\u{2060}", &["\u{2e}\u{308}", "\u{61}\u{2060}"]), ("\u{2e}\u{61}\u{3a}", &["\u{2e}", "\u{61}", "\u{3a}"]), ("\u{2e}\u{308}\u{61}\u{3a}", &["\u{2e}\u{308}", "\u{61}", "\u{3a}"]), ("\u{2e}\u{61}\u{27}", &["\u{2e}", "\u{61}", "\u{27}"]), ("\u{2e}\u{308}\u{61}\u{27}", &["\u{2e}\u{308}", "\u{61}", "\u{27}"]), ("\u{2e}\u{61}\u{27}\u{2060}", &["\u{2e}", "\u{61}", "\u{27}\u{2060}"]), ("\u{2e}\u{308}\u{61}\u{27}\u{2060}", &["\u{2e}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{2e}\u{61}\u{2c}", &["\u{2e}", "\u{61}", "\u{2c}"]), ("\u{2e}\u{308}\u{61}\u{2c}", &["\u{2e}\u{308}", "\u{61}", "\u{2c}"]), ("\u{2e}\u{31}\u{3a}", &["\u{2e}", "\u{31}", "\u{3a}"]), ("\u{2e}\u{308}\u{31}\u{3a}", &["\u{2e}\u{308}", "\u{31}", "\u{3a}"]), ("\u{2e}\u{31}\u{27}", &["\u{2e}", "\u{31}", "\u{27}"]), ("\u{2e}\u{308}\u{31}\u{27}", &["\u{2e}\u{308}", "\u{31}", "\u{27}"]), ("\u{2e}\u{31}\u{2c}", &["\u{2e}", "\u{31}", "\u{2c}"]), ("\u{2e}\u{308}\u{31}\u{2c}", &["\u{2e}\u{308}", "\u{31}", "\u{2c}"]), ("\u{2e}\u{31}\u{2e}\u{2060}", &["\u{2e}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{2e}\u{308}\u{31}\u{2e}\u{2060}", &["\u{2e}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{30}\u{1}", &["\u{30}", "\u{1}"]), ("\u{30}\u{308}\u{1}", &["\u{30}\u{308}", "\u{1}"]), ("\u{30}\u{d}", &["\u{30}", "\u{d}"]), ("\u{30}\u{308}\u{d}", &["\u{30}\u{308}", "\u{d}"]), ("\u{30}\u{a}", &["\u{30}", "\u{a}"]), ("\u{30}\u{308}\u{a}", &["\u{30}\u{308}", "\u{a}"]), ("\u{30}\u{b}", &["\u{30}", "\u{b}"]), ("\u{30}\u{308}\u{b}", &["\u{30}\u{308}", "\u{b}"]), ("\u{30}\u{3031}", &["\u{30}", "\u{3031}"]), ("\u{30}\u{308}\u{3031}", &["\u{30}\u{308}", "\u{3031}"]), ("\u{30}\u{41}", &["\u{30}\u{41}"]), ("\u{30}\u{308}\u{41}", &["\u{30}\u{308}\u{41}"]), ("\u{30}\u{3a}", &["\u{30}", "\u{3a}"]), ("\u{30}\u{308}\u{3a}", &["\u{30}\u{308}", "\u{3a}"]), ("\u{30}\u{2c}", &["\u{30}", "\u{2c}"]), ("\u{30}\u{308}\u{2c}", &["\u{30}\u{308}", "\u{2c}"]), ("\u{30}\u{2e}", &["\u{30}", "\u{2e}"]), ("\u{30}\u{308}\u{2e}", &["\u{30}\u{308}", "\u{2e}"]), ("\u{30}\u{30}", &["\u{30}\u{30}"]), ("\u{30}\u{308}\u{30}", &["\u{30}\u{308}\u{30}"]), ("\u{30}\u{5f}", &["\u{30}\u{5f}"]), ("\u{30}\u{308}\u{5f}", &["\u{30}\u{308}\u{5f}"]), ("\u{30}\u{1f1e6}", &["\u{30}", "\u{1f1e6}"]), ("\u{30}\u{308}\u{1f1e6}", &["\u{30}\u{308}", "\u{1f1e6}"]), ("\u{30}\u{5d0}", &["\u{30}\u{5d0}"]), ("\u{30}\u{308}\u{5d0}", &["\u{30}\u{308}\u{5d0}"]), ("\u{30}\u{22}", &["\u{30}", "\u{22}"]), ("\u{30}\u{308}\u{22}", &["\u{30}\u{308}", "\u{22}"]), ("\u{30}\u{27}", &["\u{30}", "\u{27}"]), ("\u{30}\u{308}\u{27}", &["\u{30}\u{308}", "\u{27}"]), ("\u{30}\u{261d}", &["\u{30}", "\u{261d}"]), ("\u{30}\u{308}\u{261d}", &["\u{30}\u{308}", "\u{261d}"]), ("\u{30}\u{1f3fb}", &["\u{30}", "\u{1f3fb}"]), ("\u{30}\u{308}\u{1f3fb}", &["\u{30}\u{308}", "\u{1f3fb}"]), ("\u{30}\u{2640}", &["\u{30}", "\u{2640}"]), ("\u{30}\u{308}\u{2640}", &["\u{30}\u{308}", "\u{2640}"]), ("\u{30}\u{1f466}", &["\u{30}", "\u{1f466}"]), ("\u{30}\u{308}\u{1f466}", &["\u{30}\u{308}", "\u{1f466}"]), ("\u{30}\u{ad}", &["\u{30}\u{ad}"]), ("\u{30}\u{308}\u{ad}", &["\u{30}\u{308}\u{ad}"]), ("\u{30}\u{300}", &["\u{30}\u{300}"]), ("\u{30}\u{308}\u{300}", &["\u{30}\u{308}\u{300}"]), ("\u{30}\u{200d}", &["\u{30}\u{200d}"]), ("\u{30}\u{308}\u{200d}", &["\u{30}\u{308}\u{200d}"]), ("\u{30}\u{61}\u{2060}", &["\u{30}\u{61}\u{2060}"]), ("\u{30}\u{308}\u{61}\u{2060}", &["\u{30}\u{308}\u{61}\u{2060}"]), ("\u{30}\u{61}\u{3a}", &["\u{30}\u{61}", "\u{3a}"]), ("\u{30}\u{308}\u{61}\u{3a}", &["\u{30}\u{308}\u{61}", "\u{3a}"]), ("\u{30}\u{61}\u{27}", &["\u{30}\u{61}", "\u{27}"]), ("\u{30}\u{308}\u{61}\u{27}", &["\u{30}\u{308}\u{61}", "\u{27}"]), ("\u{30}\u{61}\u{27}\u{2060}", &["\u{30}\u{61}", "\u{27}\u{2060}"]), ("\u{30}\u{308}\u{61}\u{27}\u{2060}", &["\u{30}\u{308}\u{61}", "\u{27}\u{2060}"]), ("\u{30}\u{61}\u{2c}", &["\u{30}\u{61}", "\u{2c}"]), ("\u{30}\u{308}\u{61}\u{2c}", &["\u{30}\u{308}\u{61}", "\u{2c}"]), ("\u{30}\u{31}\u{3a}", &["\u{30}\u{31}", "\u{3a}"]), ("\u{30}\u{308}\u{31}\u{3a}", &["\u{30}\u{308}\u{31}", "\u{3a}"]), ("\u{30}\u{31}\u{27}", &["\u{30}\u{31}", "\u{27}"]), ("\u{30}\u{308}\u{31}\u{27}", &["\u{30}\u{308}\u{31}", "\u{27}"]), ("\u{30}\u{31}\u{2c}", &["\u{30}\u{31}", "\u{2c}"]), ("\u{30}\u{308}\u{31}\u{2c}", &["\u{30}\u{308}\u{31}", "\u{2c}"]), ("\u{30}\u{31}\u{2e}\u{2060}", &["\u{30}\u{31}", "\u{2e}\u{2060}"]), ("\u{30}\u{308}\u{31}\u{2e}\u{2060}", &["\u{30}\u{308}\u{31}", "\u{2e}\u{2060}"]), ("\u{5f}\u{1}", &["\u{5f}", "\u{1}"]), ("\u{5f}\u{308}\u{1}", &["\u{5f}\u{308}", "\u{1}"]), ("\u{5f}\u{d}", &["\u{5f}", "\u{d}"]), ("\u{5f}\u{308}\u{d}", &["\u{5f}\u{308}", "\u{d}"]), ("\u{5f}\u{a}", &["\u{5f}", "\u{a}"]), ("\u{5f}\u{308}\u{a}", &["\u{5f}\u{308}", "\u{a}"]), ("\u{5f}\u{b}", &["\u{5f}", "\u{b}"]), ("\u{5f}\u{308}\u{b}", &["\u{5f}\u{308}", "\u{b}"]), ("\u{5f}\u{3031}", &["\u{5f}\u{3031}"]), ("\u{5f}\u{308}\u{3031}", &["\u{5f}\u{308}\u{3031}"]), ("\u{5f}\u{41}", &["\u{5f}\u{41}"]), ("\u{5f}\u{308}\u{41}", &["\u{5f}\u{308}\u{41}"]), ("\u{5f}\u{3a}", &["\u{5f}", "\u{3a}"]), ("\u{5f}\u{308}\u{3a}", &["\u{5f}\u{308}", "\u{3a}"]), ("\u{5f}\u{2c}", &["\u{5f}", "\u{2c}"]), ("\u{5f}\u{308}\u{2c}", &["\u{5f}\u{308}", "\u{2c}"]), ("\u{5f}\u{2e}", &["\u{5f}", "\u{2e}"]), ("\u{5f}\u{308}\u{2e}", &["\u{5f}\u{308}", "\u{2e}"]), ("\u{5f}\u{30}", &["\u{5f}\u{30}"]), ("\u{5f}\u{308}\u{30}", &["\u{5f}\u{308}\u{30}"]), ("\u{5f}\u{5f}", &["\u{5f}\u{5f}"]), ("\u{5f}\u{308}\u{5f}", &["\u{5f}\u{308}\u{5f}"]), ("\u{5f}\u{1f1e6}", &["\u{5f}", "\u{1f1e6}"]), ("\u{5f}\u{308}\u{1f1e6}", &["\u{5f}\u{308}", "\u{1f1e6}"]), ("\u{5f}\u{5d0}", &["\u{5f}\u{5d0}"]), ("\u{5f}\u{308}\u{5d0}", &["\u{5f}\u{308}\u{5d0}"]), ("\u{5f}\u{22}", &["\u{5f}", "\u{22}"]), ("\u{5f}\u{308}\u{22}", &["\u{5f}\u{308}", "\u{22}"]), ("\u{5f}\u{27}", &["\u{5f}", "\u{27}"]), ("\u{5f}\u{308}\u{27}", &["\u{5f}\u{308}", "\u{27}"]), ("\u{5f}\u{261d}", &["\u{5f}", "\u{261d}"]), ("\u{5f}\u{308}\u{261d}", &["\u{5f}\u{308}", "\u{261d}"]), ("\u{5f}\u{1f3fb}", &["\u{5f}", "\u{1f3fb}"]), ("\u{5f}\u{308}\u{1f3fb}", &["\u{5f}\u{308}", "\u{1f3fb}"]), ("\u{5f}\u{2640}", &["\u{5f}", "\u{2640}"]), ("\u{5f}\u{308}\u{2640}", &["\u{5f}\u{308}", "\u{2640}"]), ("\u{5f}\u{1f466}", &["\u{5f}", "\u{1f466}"]), ("\u{5f}\u{308}\u{1f466}", &["\u{5f}\u{308}", "\u{1f466}"]), ("\u{5f}\u{ad}", &["\u{5f}\u{ad}"]), ("\u{5f}\u{308}\u{ad}", &["\u{5f}\u{308}\u{ad}"]), ("\u{5f}\u{300}", &["\u{5f}\u{300}"]), ("\u{5f}\u{308}\u{300}", &["\u{5f}\u{308}\u{300}"]), ("\u{5f}\u{200d}", &["\u{5f}\u{200d}"]), ("\u{5f}\u{308}\u{200d}", &["\u{5f}\u{308}\u{200d}"]), ("\u{5f}\u{61}\u{2060}", &["\u{5f}\u{61}\u{2060}"]), ("\u{5f}\u{308}\u{61}\u{2060}", &["\u{5f}\u{308}\u{61}\u{2060}"]), ("\u{5f}\u{61}\u{3a}", &["\u{5f}\u{61}", "\u{3a}"]), ("\u{5f}\u{308}\u{61}\u{3a}", &["\u{5f}\u{308}\u{61}", "\u{3a}"]), ("\u{5f}\u{61}\u{27}", &["\u{5f}\u{61}", "\u{27}"]), ("\u{5f}\u{308}\u{61}\u{27}", &["\u{5f}\u{308}\u{61}", "\u{27}"]), ("\u{5f}\u{61}\u{27}\u{2060}", &["\u{5f}\u{61}", "\u{27}\u{2060}"]), ("\u{5f}\u{308}\u{61}\u{27}\u{2060}", &["\u{5f}\u{308}\u{61}", "\u{27}\u{2060}"]), ("\u{5f}\u{61}\u{2c}", &["\u{5f}\u{61}", "\u{2c}"]), ("\u{5f}\u{308}\u{61}\u{2c}", &["\u{5f}\u{308}\u{61}", "\u{2c}"]), ("\u{5f}\u{31}\u{3a}", &["\u{5f}\u{31}", "\u{3a}"]), ("\u{5f}\u{308}\u{31}\u{3a}", &["\u{5f}\u{308}\u{31}", "\u{3a}"]), ("\u{5f}\u{31}\u{27}", &["\u{5f}\u{31}", "\u{27}"]), ("\u{5f}\u{308}\u{31}\u{27}", &["\u{5f}\u{308}\u{31}", "\u{27}"]), ("\u{5f}\u{31}\u{2c}", &["\u{5f}\u{31}", "\u{2c}"]), ("\u{5f}\u{308}\u{31}\u{2c}", &["\u{5f}\u{308}\u{31}", "\u{2c}"]), ("\u{5f}\u{31}\u{2e}\u{2060}", &["\u{5f}\u{31}", "\u{2e}\u{2060}"]), ("\u{5f}\u{308}\u{31}\u{2e}\u{2060}", &["\u{5f}\u{308}\u{31}", "\u{2e}\u{2060}"]), ("\u{1f1e6}\u{1}", &["\u{1f1e6}", "\u{1}"]), ("\u{1f1e6}\u{308}\u{1}", &["\u{1f1e6}\u{308}", "\u{1}"]), ("\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{b}", &["\u{1f1e6}", "\u{b}"]), ("\u{1f1e6}\u{308}\u{b}", &["\u{1f1e6}\u{308}", "\u{b}"]), ("\u{1f1e6}\u{3031}", &["\u{1f1e6}", "\u{3031}"]), ("\u{1f1e6}\u{308}\u{3031}", &["\u{1f1e6}\u{308}", "\u{3031}"]), ("\u{1f1e6}\u{41}", &["\u{1f1e6}", "\u{41}"]), ("\u{1f1e6}\u{308}\u{41}", &["\u{1f1e6}\u{308}", "\u{41}"]), ("\u{1f1e6}\u{3a}", &["\u{1f1e6}", "\u{3a}"]), ("\u{1f1e6}\u{308}\u{3a}", &["\u{1f1e6}\u{308}", "\u{3a}"]), ("\u{1f1e6}\u{2c}", &["\u{1f1e6}", "\u{2c}"]), ("\u{1f1e6}\u{308}\u{2c}", &["\u{1f1e6}\u{308}", "\u{2c}"]), ("\u{1f1e6}\u{2e}", &["\u{1f1e6}", "\u{2e}"]), ("\u{1f1e6}\u{308}\u{2e}", &["\u{1f1e6}\u{308}", "\u{2e}"]), ("\u{1f1e6}\u{30}", &["\u{1f1e6}", "\u{30}"]), ("\u{1f1e6}\u{308}\u{30}", &["\u{1f1e6}\u{308}", "\u{30}"]), ("\u{1f1e6}\u{5f}", &["\u{1f1e6}", "\u{5f}"]), ("\u{1f1e6}\u{308}\u{5f}", &["\u{1f1e6}\u{308}", "\u{5f}"]), ("\u{1f1e6}\u{1f1e6}", &["\u{1f1e6}\u{1f1e6}"]), ("\u{1f1e6}\u{308}\u{1f1e6}", &["\u{1f1e6}\u{308}\u{1f1e6}"]), ("\u{1f1e6}\u{5d0}", &["\u{1f1e6}", "\u{5d0}"]), ("\u{1f1e6}\u{308}\u{5d0}", &["\u{1f1e6}\u{308}", "\u{5d0}"]), ("\u{1f1e6}\u{22}", &["\u{1f1e6}", "\u{22}"]), ("\u{1f1e6}\u{308}\u{22}", &["\u{1f1e6}\u{308}", "\u{22}"]), ("\u{1f1e6}\u{27}", &["\u{1f1e6}", "\u{27}"]), ("\u{1f1e6}\u{308}\u{27}", &["\u{1f1e6}\u{308}", "\u{27}"]), ("\u{1f1e6}\u{261d}", &["\u{1f1e6}", "\u{261d}"]), ("\u{1f1e6}\u{308}\u{261d}", &["\u{1f1e6}\u{308}", "\u{261d}"]), ("\u{1f1e6}\u{1f3fb}", &["\u{1f1e6}", "\u{1f3fb}"]), ("\u{1f1e6}\u{308}\u{1f3fb}", &["\u{1f1e6}\u{308}", "\u{1f3fb}"]), ("\u{1f1e6}\u{2640}", &["\u{1f1e6}", "\u{2640}"]), ("\u{1f1e6}\u{308}\u{2640}", &["\u{1f1e6}\u{308}", "\u{2640}"]), ("\u{1f1e6}\u{1f466}", &["\u{1f1e6}", "\u{1f466}"]), ("\u{1f1e6}\u{308}\u{1f466}", &["\u{1f1e6}\u{308}", "\u{1f466}"]), ("\u{1f1e6}\u{ad}", &["\u{1f1e6}\u{ad}"]), ("\u{1f1e6}\u{308}\u{ad}", &["\u{1f1e6}\u{308}\u{ad}"]), ("\u{1f1e6}\u{300}", &["\u{1f1e6}\u{300}"]), ("\u{1f1e6}\u{308}\u{300}", &["\u{1f1e6}\u{308}\u{300}"]), ("\u{1f1e6}\u{200d}", &["\u{1f1e6}\u{200d}"]), ("\u{1f1e6}\u{308}\u{200d}", &["\u{1f1e6}\u{308}\u{200d}"]), ("\u{1f1e6}\u{61}\u{2060}", &["\u{1f1e6}", "\u{61}\u{2060}"]), ("\u{1f1e6}\u{308}\u{61}\u{2060}", &["\u{1f1e6}\u{308}", "\u{61}\u{2060}"]), ("\u{1f1e6}\u{61}\u{3a}", &["\u{1f1e6}", "\u{61}", "\u{3a}"]), ("\u{1f1e6}\u{308}\u{61}\u{3a}", &["\u{1f1e6}\u{308}", "\u{61}", "\u{3a}"]), ("\u{1f1e6}\u{61}\u{27}", &["\u{1f1e6}", "\u{61}", "\u{27}"]), ("\u{1f1e6}\u{308}\u{61}\u{27}", &["\u{1f1e6}\u{308}", "\u{61}", "\u{27}"]), ("\u{1f1e6}\u{61}\u{27}\u{2060}", &["\u{1f1e6}", "\u{61}", "\u{27}\u{2060}"]), ("\u{1f1e6}\u{308}\u{61}\u{27}\u{2060}", &["\u{1f1e6}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{1f1e6}\u{61}\u{2c}", &["\u{1f1e6}", "\u{61}", "\u{2c}"]), ("\u{1f1e6}\u{308}\u{61}\u{2c}", &["\u{1f1e6}\u{308}", "\u{61}", "\u{2c}"]), ("\u{1f1e6}\u{31}\u{3a}", &["\u{1f1e6}", "\u{31}", "\u{3a}"]), ("\u{1f1e6}\u{308}\u{31}\u{3a}", &["\u{1f1e6}\u{308}", "\u{31}", "\u{3a}"]), ("\u{1f1e6}\u{31}\u{27}", &["\u{1f1e6}", "\u{31}", "\u{27}"]), ("\u{1f1e6}\u{308}\u{31}\u{27}", &["\u{1f1e6}\u{308}", "\u{31}", "\u{27}"]), ("\u{1f1e6}\u{31}\u{2c}", &["\u{1f1e6}", "\u{31}", "\u{2c}"]), ("\u{1f1e6}\u{308}\u{31}\u{2c}", &["\u{1f1e6}\u{308}", "\u{31}", "\u{2c}"]), ("\u{1f1e6}\u{31}\u{2e}\u{2060}", &["\u{1f1e6}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{1f1e6}\u{308}\u{31}\u{2e}\u{2060}", &["\u{1f1e6}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{5d0}\u{1}", &["\u{5d0}", "\u{1}"]), ("\u{5d0}\u{308}\u{1}", &["\u{5d0}\u{308}", "\u{1}"]), ("\u{5d0}\u{d}", &["\u{5d0}", "\u{d}"]), ("\u{5d0}\u{308}\u{d}", &["\u{5d0}\u{308}", "\u{d}"]), ("\u{5d0}\u{a}", &["\u{5d0}", "\u{a}"]), ("\u{5d0}\u{308}\u{a}", &["\u{5d0}\u{308}", "\u{a}"]), ("\u{5d0}\u{b}", &["\u{5d0}", "\u{b}"]), ("\u{5d0}\u{308}\u{b}", &["\u{5d0}\u{308}", "\u{b}"]), ("\u{5d0}\u{3031}", &["\u{5d0}", "\u{3031}"]), ("\u{5d0}\u{308}\u{3031}", &["\u{5d0}\u{308}", "\u{3031}"]), ("\u{5d0}\u{41}", &["\u{5d0}\u{41}"]), ("\u{5d0}\u{308}\u{41}", &["\u{5d0}\u{308}\u{41}"]), ("\u{5d0}\u{3a}", &["\u{5d0}", "\u{3a}"]), ("\u{5d0}\u{308}\u{3a}", &["\u{5d0}\u{308}", "\u{3a}"]), ("\u{5d0}\u{2c}", &["\u{5d0}", "\u{2c}"]), ("\u{5d0}\u{308}\u{2c}", &["\u{5d0}\u{308}", "\u{2c}"]), ("\u{5d0}\u{2e}", &["\u{5d0}", "\u{2e}"]), ("\u{5d0}\u{308}\u{2e}", &["\u{5d0}\u{308}", "\u{2e}"]), ("\u{5d0}\u{30}", &["\u{5d0}\u{30}"]), ("\u{5d0}\u{308}\u{30}", &["\u{5d0}\u{308}\u{30}"]), ("\u{5d0}\u{5f}", &["\u{5d0}\u{5f}"]), ("\u{5d0}\u{308}\u{5f}", &["\u{5d0}\u{308}\u{5f}"]), ("\u{5d0}\u{1f1e6}", &["\u{5d0}", "\u{1f1e6}"]), ("\u{5d0}\u{308}\u{1f1e6}", &["\u{5d0}\u{308}", "\u{1f1e6}"]), ("\u{5d0}\u{5d0}", &["\u{5d0}\u{5d0}"]), ("\u{5d0}\u{308}\u{5d0}", &["\u{5d0}\u{308}\u{5d0}"]), ("\u{5d0}\u{22}", &["\u{5d0}", "\u{22}"]), ("\u{5d0}\u{308}\u{22}", &["\u{5d0}\u{308}", "\u{22}"]), ("\u{5d0}\u{27}", &["\u{5d0}\u{27}"]), ("\u{5d0}\u{308}\u{27}", &["\u{5d0}\u{308}\u{27}"]), ("\u{5d0}\u{261d}", &["\u{5d0}", "\u{261d}"]), ("\u{5d0}\u{308}\u{261d}", &["\u{5d0}\u{308}", "\u{261d}"]), ("\u{5d0}\u{1f3fb}", &["\u{5d0}", "\u{1f3fb}"]), ("\u{5d0}\u{308}\u{1f3fb}", &["\u{5d0}\u{308}", "\u{1f3fb}"]), ("\u{5d0}\u{2640}", &["\u{5d0}", "\u{2640}"]), ("\u{5d0}\u{308}\u{2640}", &["\u{5d0}\u{308}", "\u{2640}"]), ("\u{5d0}\u{1f466}", &["\u{5d0}", "\u{1f466}"]), ("\u{5d0}\u{308}\u{1f466}", &["\u{5d0}\u{308}", "\u{1f466}"]), ("\u{5d0}\u{ad}", &["\u{5d0}\u{ad}"]), ("\u{5d0}\u{308}\u{ad}", &["\u{5d0}\u{308}\u{ad}"]), ("\u{5d0}\u{300}", &["\u{5d0}\u{300}"]), ("\u{5d0}\u{308}\u{300}", &["\u{5d0}\u{308}\u{300}"]), ("\u{5d0}\u{200d}", &["\u{5d0}\u{200d}"]), ("\u{5d0}\u{308}\u{200d}", &["\u{5d0}\u{308}\u{200d}"]), ("\u{5d0}\u{61}\u{2060}", &["\u{5d0}\u{61}\u{2060}"]), ("\u{5d0}\u{308}\u{61}\u{2060}", &["\u{5d0}\u{308}\u{61}\u{2060}"]), ("\u{5d0}\u{61}\u{3a}", &["\u{5d0}\u{61}", "\u{3a}"]), ("\u{5d0}\u{308}\u{61}\u{3a}", &["\u{5d0}\u{308}\u{61}", "\u{3a}"]), ("\u{5d0}\u{61}\u{27}", &["\u{5d0}\u{61}", "\u{27}"]), ("\u{5d0}\u{308}\u{61}\u{27}", &["\u{5d0}\u{308}\u{61}", "\u{27}"]), ("\u{5d0}\u{61}\u{27}\u{2060}", &["\u{5d0}\u{61}", "\u{27}\u{2060}"]), ("\u{5d0}\u{308}\u{61}\u{27}\u{2060}", &["\u{5d0}\u{308}\u{61}", "\u{27}\u{2060}"]), ("\u{5d0}\u{61}\u{2c}", &["\u{5d0}\u{61}", "\u{2c}"]), ("\u{5d0}\u{308}\u{61}\u{2c}", &["\u{5d0}\u{308}\u{61}", "\u{2c}"]), ("\u{5d0}\u{31}\u{3a}", &["\u{5d0}\u{31}", "\u{3a}"]), ("\u{5d0}\u{308}\u{31}\u{3a}", &["\u{5d0}\u{308}\u{31}", "\u{3a}"]), ("\u{5d0}\u{31}\u{27}", &["\u{5d0}\u{31}", "\u{27}"]), ("\u{5d0}\u{308}\u{31}\u{27}", &["\u{5d0}\u{308}\u{31}", "\u{27}"]), ("\u{5d0}\u{31}\u{2c}", &["\u{5d0}\u{31}", "\u{2c}"]), ("\u{5d0}\u{308}\u{31}\u{2c}", &["\u{5d0}\u{308}\u{31}", "\u{2c}"]), ("\u{5d0}\u{31}\u{2e}\u{2060}", &["\u{5d0}\u{31}", "\u{2e}\u{2060}"]), ("\u{5d0}\u{308}\u{31}\u{2e}\u{2060}", &["\u{5d0}\u{308}\u{31}", "\u{2e}\u{2060}"]), ("\u{22}\u{1}", &["\u{22}", "\u{1}"]), ("\u{22}\u{308}\u{1}", &["\u{22}\u{308}", "\u{1}"]), ("\u{22}\u{d}", &["\u{22}", "\u{d}"]), ("\u{22}\u{308}\u{d}", &["\u{22}\u{308}", "\u{d}"]), ("\u{22}\u{a}", &["\u{22}", "\u{a}"]), ("\u{22}\u{308}\u{a}", &["\u{22}\u{308}", "\u{a}"]), ("\u{22}\u{b}", &["\u{22}", "\u{b}"]), ("\u{22}\u{308}\u{b}", &["\u{22}\u{308}", "\u{b}"]), ("\u{22}\u{3031}", &["\u{22}", "\u{3031}"]), ("\u{22}\u{308}\u{3031}", &["\u{22}\u{308}", "\u{3031}"]), ("\u{22}\u{41}", &["\u{22}", "\u{41}"]), ("\u{22}\u{308}\u{41}", &["\u{22}\u{308}", "\u{41}"]), ("\u{22}\u{3a}", &["\u{22}", "\u{3a}"]), ("\u{22}\u{308}\u{3a}", &["\u{22}\u{308}", "\u{3a}"]), ("\u{22}\u{2c}", &["\u{22}", "\u{2c}"]), ("\u{22}\u{308}\u{2c}", &["\u{22}\u{308}", "\u{2c}"]), ("\u{22}\u{2e}", &["\u{22}", "\u{2e}"]), ("\u{22}\u{308}\u{2e}", &["\u{22}\u{308}", "\u{2e}"]), ("\u{22}\u{30}", &["\u{22}", "\u{30}"]), ("\u{22}\u{308}\u{30}", &["\u{22}\u{308}", "\u{30}"]), ("\u{22}\u{5f}", &["\u{22}", "\u{5f}"]), ("\u{22}\u{308}\u{5f}", &["\u{22}\u{308}", "\u{5f}"]), ("\u{22}\u{1f1e6}", &["\u{22}", "\u{1f1e6}"]), ("\u{22}\u{308}\u{1f1e6}", &["\u{22}\u{308}", "\u{1f1e6}"]), ("\u{22}\u{5d0}", &["\u{22}", "\u{5d0}"]), ("\u{22}\u{308}\u{5d0}", &["\u{22}\u{308}", "\u{5d0}"]), ("\u{22}\u{22}", &["\u{22}", "\u{22}"]), ("\u{22}\u{308}\u{22}", &["\u{22}\u{308}", "\u{22}"]), ("\u{22}\u{27}", &["\u{22}", "\u{27}"]), ("\u{22}\u{308}\u{27}", &["\u{22}\u{308}", "\u{27}"]), ("\u{22}\u{261d}", &["\u{22}", "\u{261d}"]), ("\u{22}\u{308}\u{261d}", &["\u{22}\u{308}", "\u{261d}"]), ("\u{22}\u{1f3fb}", &["\u{22}", "\u{1f3fb}"]), ("\u{22}\u{308}\u{1f3fb}", &["\u{22}\u{308}", "\u{1f3fb}"]), ("\u{22}\u{2640}", &["\u{22}", "\u{2640}"]), ("\u{22}\u{308}\u{2640}", &["\u{22}\u{308}", "\u{2640}"]), ("\u{22}\u{1f466}", &["\u{22}", "\u{1f466}"]), ("\u{22}\u{308}\u{1f466}", &["\u{22}\u{308}", "\u{1f466}"]), ("\u{22}\u{ad}", &["\u{22}\u{ad}"]), ("\u{22}\u{308}\u{ad}", &["\u{22}\u{308}\u{ad}"]), ("\u{22}\u{300}", &["\u{22}\u{300}"]), ("\u{22}\u{308}\u{300}", &["\u{22}\u{308}\u{300}"]), ("\u{22}\u{200d}", &["\u{22}\u{200d}"]), ("\u{22}\u{308}\u{200d}", &["\u{22}\u{308}\u{200d}"]), ("\u{22}\u{61}\u{2060}", &["\u{22}", "\u{61}\u{2060}"]), ("\u{22}\u{308}\u{61}\u{2060}", &["\u{22}\u{308}", "\u{61}\u{2060}"]), ("\u{22}\u{61}\u{3a}", &["\u{22}", "\u{61}", "\u{3a}"]), ("\u{22}\u{308}\u{61}\u{3a}", &["\u{22}\u{308}", "\u{61}", "\u{3a}"]), ("\u{22}\u{61}\u{27}", &["\u{22}", "\u{61}", "\u{27}"]), ("\u{22}\u{308}\u{61}\u{27}", &["\u{22}\u{308}", "\u{61}", "\u{27}"]), ("\u{22}\u{61}\u{27}\u{2060}", &["\u{22}", "\u{61}", "\u{27}\u{2060}"]), ("\u{22}\u{308}\u{61}\u{27}\u{2060}", &["\u{22}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{22}\u{61}\u{2c}", &["\u{22}", "\u{61}", "\u{2c}"]), ("\u{22}\u{308}\u{61}\u{2c}", &["\u{22}\u{308}", "\u{61}", "\u{2c}"]), ("\u{22}\u{31}\u{3a}", &["\u{22}", "\u{31}", "\u{3a}"]), ("\u{22}\u{308}\u{31}\u{3a}", &["\u{22}\u{308}", "\u{31}", "\u{3a}"]), ("\u{22}\u{31}\u{27}", &["\u{22}", "\u{31}", "\u{27}"]), ("\u{22}\u{308}\u{31}\u{27}", &["\u{22}\u{308}", "\u{31}", "\u{27}"]), ("\u{22}\u{31}\u{2c}", &["\u{22}", "\u{31}", "\u{2c}"]), ("\u{22}\u{308}\u{31}\u{2c}", &["\u{22}\u{308}", "\u{31}", "\u{2c}"]), ("\u{22}\u{31}\u{2e}\u{2060}", &["\u{22}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{22}\u{308}\u{31}\u{2e}\u{2060}", &["\u{22}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{27}\u{1}", &["\u{27}", "\u{1}"]), ("\u{27}\u{308}\u{1}", &["\u{27}\u{308}", "\u{1}"]), ("\u{27}\u{d}", &["\u{27}", "\u{d}"]), ("\u{27}\u{308}\u{d}", &["\u{27}\u{308}", "\u{d}"]), ("\u{27}\u{a}", &["\u{27}", "\u{a}"]), ("\u{27}\u{308}\u{a}", &["\u{27}\u{308}", "\u{a}"]), ("\u{27}\u{b}", &["\u{27}", "\u{b}"]), ("\u{27}\u{308}\u{b}", &["\u{27}\u{308}", "\u{b}"]), ("\u{27}\u{3031}", &["\u{27}", "\u{3031}"]), ("\u{27}\u{308}\u{3031}", &["\u{27}\u{308}", "\u{3031}"]), ("\u{27}\u{41}", &["\u{27}", "\u{41}"]), ("\u{27}\u{308}\u{41}", &["\u{27}\u{308}", "\u{41}"]), ("\u{27}\u{3a}", &["\u{27}", "\u{3a}"]), ("\u{27}\u{308}\u{3a}", &["\u{27}\u{308}", "\u{3a}"]), ("\u{27}\u{2c}", &["\u{27}", "\u{2c}"]), ("\u{27}\u{308}\u{2c}", &["\u{27}\u{308}", "\u{2c}"]), ("\u{27}\u{2e}", &["\u{27}", "\u{2e}"]), ("\u{27}\u{308}\u{2e}", &["\u{27}\u{308}", "\u{2e}"]), ("\u{27}\u{30}", &["\u{27}", "\u{30}"]), ("\u{27}\u{308}\u{30}", &["\u{27}\u{308}", "\u{30}"]), ("\u{27}\u{5f}", &["\u{27}", "\u{5f}"]), ("\u{27}\u{308}\u{5f}", &["\u{27}\u{308}", "\u{5f}"]), ("\u{27}\u{1f1e6}", &["\u{27}", "\u{1f1e6}"]), ("\u{27}\u{308}\u{1f1e6}", &["\u{27}\u{308}", "\u{1f1e6}"]), ("\u{27}\u{5d0}", &["\u{27}", "\u{5d0}"]), ("\u{27}\u{308}\u{5d0}", &["\u{27}\u{308}", "\u{5d0}"]), ("\u{27}\u{22}", &["\u{27}", "\u{22}"]), ("\u{27}\u{308}\u{22}", &["\u{27}\u{308}", "\u{22}"]), ("\u{27}\u{27}", &["\u{27}", "\u{27}"]), ("\u{27}\u{308}\u{27}", &["\u{27}\u{308}", "\u{27}"]), ("\u{27}\u{261d}", &["\u{27}", "\u{261d}"]), ("\u{27}\u{308}\u{261d}", &["\u{27}\u{308}", "\u{261d}"]), ("\u{27}\u{1f3fb}", &["\u{27}", "\u{1f3fb}"]), ("\u{27}\u{308}\u{1f3fb}", &["\u{27}\u{308}", "\u{1f3fb}"]), ("\u{27}\u{2640}", &["\u{27}", "\u{2640}"]), ("\u{27}\u{308}\u{2640}", &["\u{27}\u{308}", "\u{2640}"]), ("\u{27}\u{1f466}", &["\u{27}", "\u{1f466}"]), ("\u{27}\u{308}\u{1f466}", &["\u{27}\u{308}", "\u{1f466}"]), ("\u{27}\u{ad}", &["\u{27}\u{ad}"]), ("\u{27}\u{308}\u{ad}", &["\u{27}\u{308}\u{ad}"]), ("\u{27}\u{300}", &["\u{27}\u{300}"]), ("\u{27}\u{308}\u{300}", &["\u{27}\u{308}\u{300}"]), ("\u{27}\u{200d}", &["\u{27}\u{200d}"]), ("\u{27}\u{308}\u{200d}", &["\u{27}\u{308}\u{200d}"]), ("\u{27}\u{61}\u{2060}", &["\u{27}", "\u{61}\u{2060}"]), ("\u{27}\u{308}\u{61}\u{2060}", &["\u{27}\u{308}", "\u{61}\u{2060}"]), ("\u{27}\u{61}\u{3a}", &["\u{27}", "\u{61}", "\u{3a}"]), ("\u{27}\u{308}\u{61}\u{3a}", &["\u{27}\u{308}", "\u{61}", "\u{3a}"]), ("\u{27}\u{61}\u{27}", &["\u{27}", "\u{61}", "\u{27}"]), ("\u{27}\u{308}\u{61}\u{27}", &["\u{27}\u{308}", "\u{61}", "\u{27}"]), ("\u{27}\u{61}\u{27}\u{2060}", &["\u{27}", "\u{61}", "\u{27}\u{2060}"]), ("\u{27}\u{308}\u{61}\u{27}\u{2060}", &["\u{27}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{27}\u{61}\u{2c}", &["\u{27}", "\u{61}", "\u{2c}"]), ("\u{27}\u{308}\u{61}\u{2c}", &["\u{27}\u{308}", "\u{61}", "\u{2c}"]), ("\u{27}\u{31}\u{3a}", &["\u{27}", "\u{31}", "\u{3a}"]), ("\u{27}\u{308}\u{31}\u{3a}", &["\u{27}\u{308}", "\u{31}", "\u{3a}"]), ("\u{27}\u{31}\u{27}", &["\u{27}", "\u{31}", "\u{27}"]), ("\u{27}\u{308}\u{31}\u{27}", &["\u{27}\u{308}", "\u{31}", "\u{27}"]), ("\u{27}\u{31}\u{2c}", &["\u{27}", "\u{31}", "\u{2c}"]), ("\u{27}\u{308}\u{31}\u{2c}", &["\u{27}\u{308}", "\u{31}", "\u{2c}"]), ("\u{27}\u{31}\u{2e}\u{2060}", &["\u{27}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{27}\u{308}\u{31}\u{2e}\u{2060}", &["\u{27}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{261d}\u{1}", &["\u{261d}", "\u{1}"]), ("\u{261d}\u{308}\u{1}", &["\u{261d}\u{308}", "\u{1}"]), ("\u{261d}\u{d}", &["\u{261d}", "\u{d}"]), ("\u{261d}\u{308}\u{d}", &["\u{261d}\u{308}", "\u{d}"]), ("\u{261d}\u{a}", &["\u{261d}", "\u{a}"]), ("\u{261d}\u{308}\u{a}", &["\u{261d}\u{308}", "\u{a}"]), ("\u{261d}\u{b}", &["\u{261d}", "\u{b}"]), ("\u{261d}\u{308}\u{b}", &["\u{261d}\u{308}", "\u{b}"]), ("\u{261d}\u{3031}", &["\u{261d}", "\u{3031}"]), ("\u{261d}\u{308}\u{3031}", &["\u{261d}\u{308}", "\u{3031}"]), ("\u{261d}\u{41}", &["\u{261d}", "\u{41}"]), ("\u{261d}\u{308}\u{41}", &["\u{261d}\u{308}", "\u{41}"]), ("\u{261d}\u{3a}", &["\u{261d}", "\u{3a}"]), ("\u{261d}\u{308}\u{3a}", &["\u{261d}\u{308}", "\u{3a}"]), ("\u{261d}\u{2c}", &["\u{261d}", "\u{2c}"]), ("\u{261d}\u{308}\u{2c}", &["\u{261d}\u{308}", "\u{2c}"]), ("\u{261d}\u{2e}", &["\u{261d}", "\u{2e}"]), ("\u{261d}\u{308}\u{2e}", &["\u{261d}\u{308}", "\u{2e}"]), ("\u{261d}\u{30}", &["\u{261d}", "\u{30}"]), ("\u{261d}\u{308}\u{30}", &["\u{261d}\u{308}", "\u{30}"]), ("\u{261d}\u{5f}", &["\u{261d}", "\u{5f}"]), ("\u{261d}\u{308}\u{5f}", &["\u{261d}\u{308}", "\u{5f}"]), ("\u{261d}\u{1f1e6}", &["\u{261d}", "\u{1f1e6}"]), ("\u{261d}\u{308}\u{1f1e6}", &["\u{261d}\u{308}", "\u{1f1e6}"]), ("\u{261d}\u{5d0}", &["\u{261d}", "\u{5d0}"]), ("\u{261d}\u{308}\u{5d0}", &["\u{261d}\u{308}", "\u{5d0}"]), ("\u{261d}\u{22}", &["\u{261d}", "\u{22}"]), ("\u{261d}\u{308}\u{22}", &["\u{261d}\u{308}", "\u{22}"]), ("\u{261d}\u{27}", &["\u{261d}", "\u{27}"]), ("\u{261d}\u{308}\u{27}", &["\u{261d}\u{308}", "\u{27}"]), ("\u{261d}\u{261d}", &["\u{261d}", "\u{261d}"]), ("\u{261d}\u{308}\u{261d}", &["\u{261d}\u{308}", "\u{261d}"]), ("\u{261d}\u{1f3fb}", &["\u{261d}\u{1f3fb}"]), ("\u{261d}\u{308}\u{1f3fb}", &["\u{261d}\u{308}\u{1f3fb}"]), ("\u{261d}\u{2640}", &["\u{261d}", "\u{2640}"]), ("\u{261d}\u{308}\u{2640}", &["\u{261d}\u{308}", "\u{2640}"]), ("\u{261d}\u{1f466}", &["\u{261d}", "\u{1f466}"]), ("\u{261d}\u{308}\u{1f466}", &["\u{261d}\u{308}", "\u{1f466}"]), ("\u{261d}\u{ad}", &["\u{261d}\u{ad}"]), ("\u{261d}\u{308}\u{ad}", &["\u{261d}\u{308}\u{ad}"]), ("\u{261d}\u{300}", &["\u{261d}\u{300}"]), ("\u{261d}\u{308}\u{300}", &["\u{261d}\u{308}\u{300}"]), ("\u{261d}\u{200d}", &["\u{261d}\u{200d}"]), ("\u{261d}\u{308}\u{200d}", &["\u{261d}\u{308}\u{200d}"]), ("\u{261d}\u{61}\u{2060}", &["\u{261d}", "\u{61}\u{2060}"]), ("\u{261d}\u{308}\u{61}\u{2060}", &["\u{261d}\u{308}", "\u{61}\u{2060}"]), ("\u{261d}\u{61}\u{3a}", &["\u{261d}", "\u{61}", "\u{3a}"]), ("\u{261d}\u{308}\u{61}\u{3a}", &["\u{261d}\u{308}", "\u{61}", "\u{3a}"]), ("\u{261d}\u{61}\u{27}", &["\u{261d}", "\u{61}", "\u{27}"]), ("\u{261d}\u{308}\u{61}\u{27}", &["\u{261d}\u{308}", "\u{61}", "\u{27}"]), ("\u{261d}\u{61}\u{27}\u{2060}", &["\u{261d}", "\u{61}", "\u{27}\u{2060}"]), ("\u{261d}\u{308}\u{61}\u{27}\u{2060}", &["\u{261d}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{261d}\u{61}\u{2c}", &["\u{261d}", "\u{61}", "\u{2c}"]), ("\u{261d}\u{308}\u{61}\u{2c}", &["\u{261d}\u{308}", "\u{61}", "\u{2c}"]), ("\u{261d}\u{31}\u{3a}", &["\u{261d}", "\u{31}", "\u{3a}"]), ("\u{261d}\u{308}\u{31}\u{3a}", &["\u{261d}\u{308}", "\u{31}", "\u{3a}"]), ("\u{261d}\u{31}\u{27}", &["\u{261d}", "\u{31}", "\u{27}"]), ("\u{261d}\u{308}\u{31}\u{27}", &["\u{261d}\u{308}", "\u{31}", "\u{27}"]), ("\u{261d}\u{31}\u{2c}", &["\u{261d}", "\u{31}", "\u{2c}"]), ("\u{261d}\u{308}\u{31}\u{2c}", &["\u{261d}\u{308}", "\u{31}", "\u{2c}"]), ("\u{261d}\u{31}\u{2e}\u{2060}", &["\u{261d}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{261d}\u{308}\u{31}\u{2e}\u{2060}", &["\u{261d}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{1f3fb}\u{1}", &["\u{1f3fb}", "\u{1}"]), ("\u{1f3fb}\u{308}\u{1}", &["\u{1f3fb}\u{308}", "\u{1}"]), ("\u{1f3fb}\u{d}", &["\u{1f3fb}", "\u{d}"]), ("\u{1f3fb}\u{308}\u{d}", &["\u{1f3fb}\u{308}", "\u{d}"]), ("\u{1f3fb}\u{a}", &["\u{1f3fb}", "\u{a}"]), ("\u{1f3fb}\u{308}\u{a}", &["\u{1f3fb}\u{308}", "\u{a}"]), ("\u{1f3fb}\u{b}", &["\u{1f3fb}", "\u{b}"]), ("\u{1f3fb}\u{308}\u{b}", &["\u{1f3fb}\u{308}", "\u{b}"]), ("\u{1f3fb}\u{3031}", &["\u{1f3fb}", "\u{3031}"]), ("\u{1f3fb}\u{308}\u{3031}", &["\u{1f3fb}\u{308}", "\u{3031}"]), ("\u{1f3fb}\u{41}", &["\u{1f3fb}", "\u{41}"]), ("\u{1f3fb}\u{308}\u{41}", &["\u{1f3fb}\u{308}", "\u{41}"]), ("\u{1f3fb}\u{3a}", &["\u{1f3fb}", "\u{3a}"]), ("\u{1f3fb}\u{308}\u{3a}", &["\u{1f3fb}\u{308}", "\u{3a}"]), ("\u{1f3fb}\u{2c}", &["\u{1f3fb}", "\u{2c}"]), ("\u{1f3fb}\u{308}\u{2c}", &["\u{1f3fb}\u{308}", "\u{2c}"]), ("\u{1f3fb}\u{2e}", &["\u{1f3fb}", "\u{2e}"]), ("\u{1f3fb}\u{308}\u{2e}", &["\u{1f3fb}\u{308}", "\u{2e}"]), ("\u{1f3fb}\u{30}", &["\u{1f3fb}", "\u{30}"]), ("\u{1f3fb}\u{308}\u{30}", &["\u{1f3fb}\u{308}", "\u{30}"]), ("\u{1f3fb}\u{5f}", &["\u{1f3fb}", "\u{5f}"]), ("\u{1f3fb}\u{308}\u{5f}", &["\u{1f3fb}\u{308}", "\u{5f}"]), ("\u{1f3fb}\u{1f1e6}", &["\u{1f3fb}", "\u{1f1e6}"]), ("\u{1f3fb}\u{308}\u{1f1e6}", &["\u{1f3fb}\u{308}", "\u{1f1e6}"]), ("\u{1f3fb}\u{5d0}", &["\u{1f3fb}", "\u{5d0}"]), ("\u{1f3fb}\u{308}\u{5d0}", &["\u{1f3fb}\u{308}", "\u{5d0}"]), ("\u{1f3fb}\u{22}", &["\u{1f3fb}", "\u{22}"]), ("\u{1f3fb}\u{308}\u{22}", &["\u{1f3fb}\u{308}", "\u{22}"]), ("\u{1f3fb}\u{27}", &["\u{1f3fb}", "\u{27}"]), ("\u{1f3fb}\u{308}\u{27}", &["\u{1f3fb}\u{308}", "\u{27}"]), ("\u{1f3fb}\u{261d}", &["\u{1f3fb}", "\u{261d}"]), ("\u{1f3fb}\u{308}\u{261d}", &["\u{1f3fb}\u{308}", "\u{261d}"]), ("\u{1f3fb}\u{1f3fb}", &["\u{1f3fb}", "\u{1f3fb}"]), ("\u{1f3fb}\u{308}\u{1f3fb}", &["\u{1f3fb}\u{308}", "\u{1f3fb}"]), ("\u{1f3fb}\u{2640}", &["\u{1f3fb}", "\u{2640}"]), ("\u{1f3fb}\u{308}\u{2640}", &["\u{1f3fb}\u{308}", "\u{2640}"]), ("\u{1f3fb}\u{1f466}", &["\u{1f3fb}", "\u{1f466}"]), ("\u{1f3fb}\u{308}\u{1f466}", &["\u{1f3fb}\u{308}", "\u{1f466}"]), ("\u{1f3fb}\u{ad}", &["\u{1f3fb}\u{ad}"]), ("\u{1f3fb}\u{308}\u{ad}", &["\u{1f3fb}\u{308}\u{ad}"]), ("\u{1f3fb}\u{300}", &["\u{1f3fb}\u{300}"]), ("\u{1f3fb}\u{308}\u{300}", &["\u{1f3fb}\u{308}\u{300}"]), ("\u{1f3fb}\u{200d}", &["\u{1f3fb}\u{200d}"]), ("\u{1f3fb}\u{308}\u{200d}", &["\u{1f3fb}\u{308}\u{200d}"]), ("\u{1f3fb}\u{61}\u{2060}", &["\u{1f3fb}", "\u{61}\u{2060}"]), ("\u{1f3fb}\u{308}\u{61}\u{2060}", &["\u{1f3fb}\u{308}", "\u{61}\u{2060}"]), ("\u{1f3fb}\u{61}\u{3a}", &["\u{1f3fb}", "\u{61}", "\u{3a}"]), ("\u{1f3fb}\u{308}\u{61}\u{3a}", &["\u{1f3fb}\u{308}", "\u{61}", "\u{3a}"]), ("\u{1f3fb}\u{61}\u{27}", &["\u{1f3fb}", "\u{61}", "\u{27}"]), ("\u{1f3fb}\u{308}\u{61}\u{27}", &["\u{1f3fb}\u{308}", "\u{61}", "\u{27}"]), ("\u{1f3fb}\u{61}\u{27}\u{2060}", &["\u{1f3fb}", "\u{61}", "\u{27}\u{2060}"]), ("\u{1f3fb}\u{308}\u{61}\u{27}\u{2060}", &["\u{1f3fb}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{1f3fb}\u{61}\u{2c}", &["\u{1f3fb}", "\u{61}", "\u{2c}"]), ("\u{1f3fb}\u{308}\u{61}\u{2c}", &["\u{1f3fb}\u{308}", "\u{61}", "\u{2c}"]), ("\u{1f3fb}\u{31}\u{3a}", &["\u{1f3fb}", "\u{31}", "\u{3a}"]), ("\u{1f3fb}\u{308}\u{31}\u{3a}", &["\u{1f3fb}\u{308}", "\u{31}", "\u{3a}"]), ("\u{1f3fb}\u{31}\u{27}", &["\u{1f3fb}", "\u{31}", "\u{27}"]), ("\u{1f3fb}\u{308}\u{31}\u{27}", &["\u{1f3fb}\u{308}", "\u{31}", "\u{27}"]), ("\u{1f3fb}\u{31}\u{2c}", &["\u{1f3fb}", "\u{31}", "\u{2c}"]), ("\u{1f3fb}\u{308}\u{31}\u{2c}", &["\u{1f3fb}\u{308}", "\u{31}", "\u{2c}"]), ("\u{1f3fb}\u{31}\u{2e}\u{2060}", &["\u{1f3fb}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{1f3fb}\u{308}\u{31}\u{2e}\u{2060}", &["\u{1f3fb}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{2640}\u{1}", &["\u{2640}", "\u{1}"]), ("\u{2640}\u{308}\u{1}", &["\u{2640}\u{308}", "\u{1}"]), ("\u{2640}\u{d}", &["\u{2640}", "\u{d}"]), ("\u{2640}\u{308}\u{d}", &["\u{2640}\u{308}", "\u{d}"]), ("\u{2640}\u{a}", &["\u{2640}", "\u{a}"]), ("\u{2640}\u{308}\u{a}", &["\u{2640}\u{308}", "\u{a}"]), ("\u{2640}\u{b}", &["\u{2640}", "\u{b}"]), ("\u{2640}\u{308}\u{b}", &["\u{2640}\u{308}", "\u{b}"]), ("\u{2640}\u{3031}", &["\u{2640}", "\u{3031}"]), ("\u{2640}\u{308}\u{3031}", &["\u{2640}\u{308}", "\u{3031}"]), ("\u{2640}\u{41}", &["\u{2640}", "\u{41}"]), ("\u{2640}\u{308}\u{41}", &["\u{2640}\u{308}", "\u{41}"]), ("\u{2640}\u{3a}", &["\u{2640}", "\u{3a}"]), ("\u{2640}\u{308}\u{3a}", &["\u{2640}\u{308}", "\u{3a}"]), ("\u{2640}\u{2c}", &["\u{2640}", "\u{2c}"]), ("\u{2640}\u{308}\u{2c}", &["\u{2640}\u{308}", "\u{2c}"]), ("\u{2640}\u{2e}", &["\u{2640}", "\u{2e}"]), ("\u{2640}\u{308}\u{2e}", &["\u{2640}\u{308}", "\u{2e}"]), ("\u{2640}\u{30}", &["\u{2640}", "\u{30}"]), ("\u{2640}\u{308}\u{30}", &["\u{2640}\u{308}", "\u{30}"]), ("\u{2640}\u{5f}", &["\u{2640}", "\u{5f}"]), ("\u{2640}\u{308}\u{5f}", &["\u{2640}\u{308}", "\u{5f}"]), ("\u{2640}\u{1f1e6}", &["\u{2640}", "\u{1f1e6}"]), ("\u{2640}\u{308}\u{1f1e6}", &["\u{2640}\u{308}", "\u{1f1e6}"]), ("\u{2640}\u{5d0}", &["\u{2640}", "\u{5d0}"]), ("\u{2640}\u{308}\u{5d0}", &["\u{2640}\u{308}", "\u{5d0}"]), ("\u{2640}\u{22}", &["\u{2640}", "\u{22}"]), ("\u{2640}\u{308}\u{22}", &["\u{2640}\u{308}", "\u{22}"]), ("\u{2640}\u{27}", &["\u{2640}", "\u{27}"]), ("\u{2640}\u{308}\u{27}", &["\u{2640}\u{308}", "\u{27}"]), ("\u{2640}\u{261d}", &["\u{2640}", "\u{261d}"]), ("\u{2640}\u{308}\u{261d}", &["\u{2640}\u{308}", "\u{261d}"]), ("\u{2640}\u{1f3fb}", &["\u{2640}", "\u{1f3fb}"]), ("\u{2640}\u{308}\u{1f3fb}", &["\u{2640}\u{308}", "\u{1f3fb}"]), ("\u{2640}\u{2640}", &["\u{2640}", "\u{2640}"]), ("\u{2640}\u{308}\u{2640}", &["\u{2640}\u{308}", "\u{2640}"]), ("\u{2640}\u{1f466}", &["\u{2640}", "\u{1f466}"]), ("\u{2640}\u{308}\u{1f466}", &["\u{2640}\u{308}", "\u{1f466}"]), ("\u{2640}\u{ad}", &["\u{2640}\u{ad}"]), ("\u{2640}\u{308}\u{ad}", &["\u{2640}\u{308}\u{ad}"]), ("\u{2640}\u{300}", &["\u{2640}\u{300}"]), ("\u{2640}\u{308}\u{300}", &["\u{2640}\u{308}\u{300}"]), ("\u{2640}\u{200d}", &["\u{2640}\u{200d}"]), ("\u{2640}\u{308}\u{200d}", &["\u{2640}\u{308}\u{200d}"]), ("\u{2640}\u{61}\u{2060}", &["\u{2640}", "\u{61}\u{2060}"]), ("\u{2640}\u{308}\u{61}\u{2060}", &["\u{2640}\u{308}", "\u{61}\u{2060}"]), ("\u{2640}\u{61}\u{3a}", &["\u{2640}", "\u{61}", "\u{3a}"]), ("\u{2640}\u{308}\u{61}\u{3a}", &["\u{2640}\u{308}", "\u{61}", "\u{3a}"]), ("\u{2640}\u{61}\u{27}", &["\u{2640}", "\u{61}", "\u{27}"]), ("\u{2640}\u{308}\u{61}\u{27}", &["\u{2640}\u{308}", "\u{61}", "\u{27}"]), ("\u{2640}\u{61}\u{27}\u{2060}", &["\u{2640}", "\u{61}", "\u{27}\u{2060}"]), ("\u{2640}\u{308}\u{61}\u{27}\u{2060}", &["\u{2640}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{2640}\u{61}\u{2c}", &["\u{2640}", "\u{61}", "\u{2c}"]), ("\u{2640}\u{308}\u{61}\u{2c}", &["\u{2640}\u{308}", "\u{61}", "\u{2c}"]), ("\u{2640}\u{31}\u{3a}", &["\u{2640}", "\u{31}", "\u{3a}"]), ("\u{2640}\u{308}\u{31}\u{3a}", &["\u{2640}\u{308}", "\u{31}", "\u{3a}"]), ("\u{2640}\u{31}\u{27}", &["\u{2640}", "\u{31}", "\u{27}"]), ("\u{2640}\u{308}\u{31}\u{27}", &["\u{2640}\u{308}", "\u{31}", "\u{27}"]), ("\u{2640}\u{31}\u{2c}", &["\u{2640}", "\u{31}", "\u{2c}"]), ("\u{2640}\u{308}\u{31}\u{2c}", &["\u{2640}\u{308}", "\u{31}", "\u{2c}"]), ("\u{2640}\u{31}\u{2e}\u{2060}", &["\u{2640}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{2640}\u{308}\u{31}\u{2e}\u{2060}", &["\u{2640}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{1f466}\u{1}", &["\u{1f466}", "\u{1}"]), ("\u{1f466}\u{308}\u{1}", &["\u{1f466}\u{308}", "\u{1}"]), ("\u{1f466}\u{d}", &["\u{1f466}", "\u{d}"]), ("\u{1f466}\u{308}\u{d}", &["\u{1f466}\u{308}", "\u{d}"]), ("\u{1f466}\u{a}", &["\u{1f466}", "\u{a}"]), ("\u{1f466}\u{308}\u{a}", &["\u{1f466}\u{308}", "\u{a}"]), ("\u{1f466}\u{b}", &["\u{1f466}", "\u{b}"]), ("\u{1f466}\u{308}\u{b}", &["\u{1f466}\u{308}", "\u{b}"]), ("\u{1f466}\u{3031}", &["\u{1f466}", "\u{3031}"]), ("\u{1f466}\u{308}\u{3031}", &["\u{1f466}\u{308}", "\u{3031}"]), ("\u{1f466}\u{41}", &["\u{1f466}", "\u{41}"]), ("\u{1f466}\u{308}\u{41}", &["\u{1f466}\u{308}", "\u{41}"]), ("\u{1f466}\u{3a}", &["\u{1f466}", "\u{3a}"]), ("\u{1f466}\u{308}\u{3a}", &["\u{1f466}\u{308}", "\u{3a}"]), ("\u{1f466}\u{2c}", &["\u{1f466}", "\u{2c}"]), ("\u{1f466}\u{308}\u{2c}", &["\u{1f466}\u{308}", "\u{2c}"]), ("\u{1f466}\u{2e}", &["\u{1f466}", "\u{2e}"]), ("\u{1f466}\u{308}\u{2e}", &["\u{1f466}\u{308}", "\u{2e}"]), ("\u{1f466}\u{30}", &["\u{1f466}", "\u{30}"]), ("\u{1f466}\u{308}\u{30}", &["\u{1f466}\u{308}", "\u{30}"]), ("\u{1f466}\u{5f}", &["\u{1f466}", "\u{5f}"]), ("\u{1f466}\u{308}\u{5f}", &["\u{1f466}\u{308}", "\u{5f}"]), ("\u{1f466}\u{1f1e6}", &["\u{1f466}", "\u{1f1e6}"]), ("\u{1f466}\u{308}\u{1f1e6}", &["\u{1f466}\u{308}", "\u{1f1e6}"]), ("\u{1f466}\u{5d0}", &["\u{1f466}", "\u{5d0}"]), ("\u{1f466}\u{308}\u{5d0}", &["\u{1f466}\u{308}", "\u{5d0}"]), ("\u{1f466}\u{22}", &["\u{1f466}", "\u{22}"]), ("\u{1f466}\u{308}\u{22}", &["\u{1f466}\u{308}", "\u{22}"]), ("\u{1f466}\u{27}", &["\u{1f466}", "\u{27}"]), ("\u{1f466}\u{308}\u{27}", &["\u{1f466}\u{308}", "\u{27}"]), ("\u{1f466}\u{261d}", &["\u{1f466}", "\u{261d}"]), ("\u{1f466}\u{308}\u{261d}", &["\u{1f466}\u{308}", "\u{261d}"]), ("\u{1f466}\u{1f3fb}", &["\u{1f466}\u{1f3fb}"]), ("\u{1f466}\u{308}\u{1f3fb}", &["\u{1f466}\u{308}\u{1f3fb}"]), ("\u{1f466}\u{2640}", &["\u{1f466}", "\u{2640}"]), ("\u{1f466}\u{308}\u{2640}", &["\u{1f466}\u{308}", "\u{2640}"]), ("\u{1f466}\u{1f466}", &["\u{1f466}", "\u{1f466}"]), ("\u{1f466}\u{308}\u{1f466}", &["\u{1f466}\u{308}", "\u{1f466}"]), ("\u{1f466}\u{ad}", &["\u{1f466}\u{ad}"]), ("\u{1f466}\u{308}\u{ad}", &["\u{1f466}\u{308}\u{ad}"]), ("\u{1f466}\u{300}", &["\u{1f466}\u{300}"]), ("\u{1f466}\u{308}\u{300}", &["\u{1f466}\u{308}\u{300}"]), ("\u{1f466}\u{200d}", &["\u{1f466}\u{200d}"]), ("\u{1f466}\u{308}\u{200d}", &["\u{1f466}\u{308}\u{200d}"]), ("\u{1f466}\u{61}\u{2060}", &["\u{1f466}", "\u{61}\u{2060}"]), ("\u{1f466}\u{308}\u{61}\u{2060}", &["\u{1f466}\u{308}", "\u{61}\u{2060}"]), ("\u{1f466}\u{61}\u{3a}", &["\u{1f466}", "\u{61}", "\u{3a}"]), ("\u{1f466}\u{308}\u{61}\u{3a}", &["\u{1f466}\u{308}", "\u{61}", "\u{3a}"]), ("\u{1f466}\u{61}\u{27}", &["\u{1f466}", "\u{61}", "\u{27}"]), ("\u{1f466}\u{308}\u{61}\u{27}", &["\u{1f466}\u{308}", "\u{61}", "\u{27}"]), ("\u{1f466}\u{61}\u{27}\u{2060}", &["\u{1f466}", "\u{61}", "\u{27}\u{2060}"]), ("\u{1f466}\u{308}\u{61}\u{27}\u{2060}", &["\u{1f466}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{1f466}\u{61}\u{2c}", &["\u{1f466}", "\u{61}", "\u{2c}"]), ("\u{1f466}\u{308}\u{61}\u{2c}", &["\u{1f466}\u{308}", "\u{61}", "\u{2c}"]), ("\u{1f466}\u{31}\u{3a}", &["\u{1f466}", "\u{31}", "\u{3a}"]), ("\u{1f466}\u{308}\u{31}\u{3a}", &["\u{1f466}\u{308}", "\u{31}", "\u{3a}"]), ("\u{1f466}\u{31}\u{27}", &["\u{1f466}", "\u{31}", "\u{27}"]), ("\u{1f466}\u{308}\u{31}\u{27}", &["\u{1f466}\u{308}", "\u{31}", "\u{27}"]), ("\u{1f466}\u{31}\u{2c}", &["\u{1f466}", "\u{31}", "\u{2c}"]), ("\u{1f466}\u{308}\u{31}\u{2c}", &["\u{1f466}\u{308}", "\u{31}", "\u{2c}"]), ("\u{1f466}\u{31}\u{2e}\u{2060}", &["\u{1f466}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{1f466}\u{308}\u{31}\u{2e}\u{2060}", &["\u{1f466}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{ad}\u{1}", &["\u{ad}", "\u{1}"]), ("\u{ad}\u{308}\u{1}", &["\u{ad}\u{308}", "\u{1}"]), ("\u{ad}\u{d}", &["\u{ad}", "\u{d}"]), ("\u{ad}\u{308}\u{d}", &["\u{ad}\u{308}", "\u{d}"]), ("\u{ad}\u{a}", &["\u{ad}", "\u{a}"]), ("\u{ad}\u{308}\u{a}", &["\u{ad}\u{308}", "\u{a}"]), ("\u{ad}\u{b}", &["\u{ad}", "\u{b}"]), ("\u{ad}\u{308}\u{b}", &["\u{ad}\u{308}", "\u{b}"]), ("\u{ad}\u{3031}", &["\u{ad}", "\u{3031}"]), ("\u{ad}\u{308}\u{3031}", &["\u{ad}\u{308}", "\u{3031}"]), ("\u{ad}\u{41}", &["\u{ad}", "\u{41}"]), ("\u{ad}\u{308}\u{41}", &["\u{ad}\u{308}", "\u{41}"]), ("\u{ad}\u{3a}", &["\u{ad}", "\u{3a}"]), ("\u{ad}\u{308}\u{3a}", &["\u{ad}\u{308}", "\u{3a}"]), ("\u{ad}\u{2c}", &["\u{ad}", "\u{2c}"]), ("\u{ad}\u{308}\u{2c}", &["\u{ad}\u{308}", "\u{2c}"]), ("\u{ad}\u{2e}", &["\u{ad}", "\u{2e}"]), ("\u{ad}\u{308}\u{2e}", &["\u{ad}\u{308}", "\u{2e}"]), ("\u{ad}\u{30}", &["\u{ad}", "\u{30}"]), ("\u{ad}\u{308}\u{30}", &["\u{ad}\u{308}", "\u{30}"]), ("\u{ad}\u{5f}", &["\u{ad}", "\u{5f}"]), ("\u{ad}\u{308}\u{5f}", &["\u{ad}\u{308}", "\u{5f}"]), ("\u{ad}\u{1f1e6}", &["\u{ad}", "\u{1f1e6}"]), ("\u{ad}\u{308}\u{1f1e6}", &["\u{ad}\u{308}", "\u{1f1e6}"]), ("\u{ad}\u{5d0}", &["\u{ad}", "\u{5d0}"]), ("\u{ad}\u{308}\u{5d0}", &["\u{ad}\u{308}", "\u{5d0}"]), ("\u{ad}\u{22}", &["\u{ad}", "\u{22}"]), ("\u{ad}\u{308}\u{22}", &["\u{ad}\u{308}", "\u{22}"]), ("\u{ad}\u{27}", &["\u{ad}", "\u{27}"]), ("\u{ad}\u{308}\u{27}", &["\u{ad}\u{308}", "\u{27}"]), ("\u{ad}\u{261d}", &["\u{ad}", "\u{261d}"]), ("\u{ad}\u{308}\u{261d}", &["\u{ad}\u{308}", "\u{261d}"]), ("\u{ad}\u{1f3fb}", &["\u{ad}", "\u{1f3fb}"]), ("\u{ad}\u{308}\u{1f3fb}", &["\u{ad}\u{308}", "\u{1f3fb}"]), ("\u{ad}\u{2640}", &["\u{ad}", "\u{2640}"]), ("\u{ad}\u{308}\u{2640}", &["\u{ad}\u{308}", "\u{2640}"]), ("\u{ad}\u{1f466}", &["\u{ad}", "\u{1f466}"]), ("\u{ad}\u{308}\u{1f466}", &["\u{ad}\u{308}", "\u{1f466}"]), ("\u{ad}\u{ad}", &["\u{ad}\u{ad}"]), ("\u{ad}\u{308}\u{ad}", &["\u{ad}\u{308}\u{ad}"]), ("\u{ad}\u{300}", &["\u{ad}\u{300}"]), ("\u{ad}\u{308}\u{300}", &["\u{ad}\u{308}\u{300}"]), ("\u{ad}\u{200d}", &["\u{ad}\u{200d}"]), ("\u{ad}\u{308}\u{200d}", &["\u{ad}\u{308}\u{200d}"]), ("\u{ad}\u{61}\u{2060}", &["\u{ad}", "\u{61}\u{2060}"]), ("\u{ad}\u{308}\u{61}\u{2060}", &["\u{ad}\u{308}", "\u{61}\u{2060}"]), ("\u{ad}\u{61}\u{3a}", &["\u{ad}", "\u{61}", "\u{3a}"]), ("\u{ad}\u{308}\u{61}\u{3a}", &["\u{ad}\u{308}", "\u{61}", "\u{3a}"]), ("\u{ad}\u{61}\u{27}", &["\u{ad}", "\u{61}", "\u{27}"]), ("\u{ad}\u{308}\u{61}\u{27}", &["\u{ad}\u{308}", "\u{61}", "\u{27}"]), ("\u{ad}\u{61}\u{27}\u{2060}", &["\u{ad}", "\u{61}", "\u{27}\u{2060}"]), ("\u{ad}\u{308}\u{61}\u{27}\u{2060}", &["\u{ad}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{ad}\u{61}\u{2c}", &["\u{ad}", "\u{61}", "\u{2c}"]), ("\u{ad}\u{308}\u{61}\u{2c}", &["\u{ad}\u{308}", "\u{61}", "\u{2c}"]), ("\u{ad}\u{31}\u{3a}", &["\u{ad}", "\u{31}", "\u{3a}"]), ("\u{ad}\u{308}\u{31}\u{3a}", &["\u{ad}\u{308}", "\u{31}", "\u{3a}"]), ("\u{ad}\u{31}\u{27}", &["\u{ad}", "\u{31}", "\u{27}"]), ("\u{ad}\u{308}\u{31}\u{27}", &["\u{ad}\u{308}", "\u{31}", "\u{27}"]), ("\u{ad}\u{31}\u{2c}", &["\u{ad}", "\u{31}", "\u{2c}"]), ("\u{ad}\u{308}\u{31}\u{2c}", &["\u{ad}\u{308}", "\u{31}", "\u{2c}"]), ("\u{ad}\u{31}\u{2e}\u{2060}", &["\u{ad}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{ad}\u{308}\u{31}\u{2e}\u{2060}", &["\u{ad}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{300}\u{1}", &["\u{300}", "\u{1}"]), ("\u{300}\u{308}\u{1}", &["\u{300}\u{308}", "\u{1}"]), ("\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{b}", &["\u{300}", "\u{b}"]), ("\u{300}\u{308}\u{b}", &["\u{300}\u{308}", "\u{b}"]), ("\u{300}\u{3031}", &["\u{300}", "\u{3031}"]), ("\u{300}\u{308}\u{3031}", &["\u{300}\u{308}", "\u{3031}"]), ("\u{300}\u{41}", &["\u{300}", "\u{41}"]), ("\u{300}\u{308}\u{41}", &["\u{300}\u{308}", "\u{41}"]), ("\u{300}\u{3a}", &["\u{300}", "\u{3a}"]), ("\u{300}\u{308}\u{3a}", &["\u{300}\u{308}", "\u{3a}"]), ("\u{300}\u{2c}", &["\u{300}", "\u{2c}"]), ("\u{300}\u{308}\u{2c}", &["\u{300}\u{308}", "\u{2c}"]), ("\u{300}\u{2e}", &["\u{300}", "\u{2e}"]), ("\u{300}\u{308}\u{2e}", &["\u{300}\u{308}", "\u{2e}"]), ("\u{300}\u{30}", &["\u{300}", "\u{30}"]), ("\u{300}\u{308}\u{30}", &["\u{300}\u{308}", "\u{30}"]), ("\u{300}\u{5f}", &["\u{300}", "\u{5f}"]), ("\u{300}\u{308}\u{5f}", &["\u{300}\u{308}", "\u{5f}"]), ("\u{300}\u{1f1e6}", &["\u{300}", "\u{1f1e6}"]), ("\u{300}\u{308}\u{1f1e6}", &["\u{300}\u{308}", "\u{1f1e6}"]), ("\u{300}\u{5d0}", &["\u{300}", "\u{5d0}"]), ("\u{300}\u{308}\u{5d0}", &["\u{300}\u{308}", "\u{5d0}"]), ("\u{300}\u{22}", &["\u{300}", "\u{22}"]), ("\u{300}\u{308}\u{22}", &["\u{300}\u{308}", "\u{22}"]), ("\u{300}\u{27}", &["\u{300}", "\u{27}"]), ("\u{300}\u{308}\u{27}", &["\u{300}\u{308}", "\u{27}"]), ("\u{300}\u{261d}", &["\u{300}", "\u{261d}"]), ("\u{300}\u{308}\u{261d}", &["\u{300}\u{308}", "\u{261d}"]), ("\u{300}\u{1f3fb}", &["\u{300}", "\u{1f3fb}"]), ("\u{300}\u{308}\u{1f3fb}", &["\u{300}\u{308}", "\u{1f3fb}"]), ("\u{300}\u{2640}", &["\u{300}", "\u{2640}"]), ("\u{300}\u{308}\u{2640}", &["\u{300}\u{308}", "\u{2640}"]), ("\u{300}\u{1f466}", &["\u{300}", "\u{1f466}"]), ("\u{300}\u{308}\u{1f466}", &["\u{300}\u{308}", "\u{1f466}"]), ("\u{300}\u{ad}", &["\u{300}\u{ad}"]), ("\u{300}\u{308}\u{ad}", &["\u{300}\u{308}\u{ad}"]), ("\u{300}\u{300}", &["\u{300}\u{300}"]), ("\u{300}\u{308}\u{300}", &["\u{300}\u{308}\u{300}"]), ("\u{300}\u{200d}", &["\u{300}\u{200d}"]), ("\u{300}\u{308}\u{200d}", &["\u{300}\u{308}\u{200d}"]), ("\u{300}\u{61}\u{2060}", &["\u{300}", "\u{61}\u{2060}"]), ("\u{300}\u{308}\u{61}\u{2060}", &["\u{300}\u{308}", "\u{61}\u{2060}"]), ("\u{300}\u{61}\u{3a}", &["\u{300}", "\u{61}", "\u{3a}"]), ("\u{300}\u{308}\u{61}\u{3a}", &["\u{300}\u{308}", "\u{61}", "\u{3a}"]), ("\u{300}\u{61}\u{27}", &["\u{300}", "\u{61}", "\u{27}"]), ("\u{300}\u{308}\u{61}\u{27}", &["\u{300}\u{308}", "\u{61}", "\u{27}"]), ("\u{300}\u{61}\u{27}\u{2060}", &["\u{300}", "\u{61}", "\u{27}\u{2060}"]), ("\u{300}\u{308}\u{61}\u{27}\u{2060}", &["\u{300}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{300}\u{61}\u{2c}", &["\u{300}", "\u{61}", "\u{2c}"]), ("\u{300}\u{308}\u{61}\u{2c}", &["\u{300}\u{308}", "\u{61}", "\u{2c}"]), ("\u{300}\u{31}\u{3a}", &["\u{300}", "\u{31}", "\u{3a}"]), ("\u{300}\u{308}\u{31}\u{3a}", &["\u{300}\u{308}", "\u{31}", "\u{3a}"]), ("\u{300}\u{31}\u{27}", &["\u{300}", "\u{31}", "\u{27}"]), ("\u{300}\u{308}\u{31}\u{27}", &["\u{300}\u{308}", "\u{31}", "\u{27}"]), ("\u{300}\u{31}\u{2c}", &["\u{300}", "\u{31}", "\u{2c}"]), ("\u{300}\u{308}\u{31}\u{2c}", &["\u{300}\u{308}", "\u{31}", "\u{2c}"]), ("\u{300}\u{31}\u{2e}\u{2060}", &["\u{300}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{300}\u{308}\u{31}\u{2e}\u{2060}", &["\u{300}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{200d}\u{1}", &["\u{200d}", "\u{1}"]), ("\u{200d}\u{308}\u{1}", &["\u{200d}\u{308}", "\u{1}"]), ("\u{200d}\u{d}", &["\u{200d}", "\u{d}"]), ("\u{200d}\u{308}\u{d}", &["\u{200d}\u{308}", "\u{d}"]), ("\u{200d}\u{a}", &["\u{200d}", "\u{a}"]), ("\u{200d}\u{308}\u{a}", &["\u{200d}\u{308}", "\u{a}"]), ("\u{200d}\u{b}", &["\u{200d}", "\u{b}"]), ("\u{200d}\u{308}\u{b}", &["\u{200d}\u{308}", "\u{b}"]), ("\u{200d}\u{3031}", &["\u{200d}", "\u{3031}"]), ("\u{200d}\u{308}\u{3031}", &["\u{200d}\u{308}", "\u{3031}"]), ("\u{200d}\u{41}", &["\u{200d}", "\u{41}"]), ("\u{200d}\u{308}\u{41}", &["\u{200d}\u{308}", "\u{41}"]), ("\u{200d}\u{3a}", &["\u{200d}", "\u{3a}"]), ("\u{200d}\u{308}\u{3a}", &["\u{200d}\u{308}", "\u{3a}"]), ("\u{200d}\u{2c}", &["\u{200d}", "\u{2c}"]), ("\u{200d}\u{308}\u{2c}", &["\u{200d}\u{308}", "\u{2c}"]), ("\u{200d}\u{2e}", &["\u{200d}", "\u{2e}"]), ("\u{200d}\u{308}\u{2e}", &["\u{200d}\u{308}", "\u{2e}"]), ("\u{200d}\u{30}", &["\u{200d}", "\u{30}"]), ("\u{200d}\u{308}\u{30}", &["\u{200d}\u{308}", "\u{30}"]), ("\u{200d}\u{5f}", &["\u{200d}", "\u{5f}"]), ("\u{200d}\u{308}\u{5f}", &["\u{200d}\u{308}", "\u{5f}"]), ("\u{200d}\u{1f1e6}", &["\u{200d}", "\u{1f1e6}"]), ("\u{200d}\u{308}\u{1f1e6}", &["\u{200d}\u{308}", "\u{1f1e6}"]), ("\u{200d}\u{5d0}", &["\u{200d}", "\u{5d0}"]), ("\u{200d}\u{308}\u{5d0}", &["\u{200d}\u{308}", "\u{5d0}"]), ("\u{200d}\u{22}", &["\u{200d}", "\u{22}"]), ("\u{200d}\u{308}\u{22}", &["\u{200d}\u{308}", "\u{22}"]), ("\u{200d}\u{27}", &["\u{200d}", "\u{27}"]), ("\u{200d}\u{308}\u{27}", &["\u{200d}\u{308}", "\u{27}"]), ("\u{200d}\u{261d}", &["\u{200d}", "\u{261d}"]), ("\u{200d}\u{308}\u{261d}", &["\u{200d}\u{308}", "\u{261d}"]), ("\u{200d}\u{1f3fb}", &["\u{200d}", "\u{1f3fb}"]), ("\u{200d}\u{308}\u{1f3fb}", &["\u{200d}\u{308}", "\u{1f3fb}"]), ("\u{200d}\u{2640}", &["\u{200d}\u{2640}"]), ("\u{200d}\u{308}\u{2640}", &["\u{200d}\u{308}", "\u{2640}"]), ("\u{200d}\u{1f466}", &["\u{200d}\u{1f466}"]), ("\u{200d}\u{308}\u{1f466}", &["\u{200d}\u{308}", "\u{1f466}"]), ("\u{200d}\u{ad}", &["\u{200d}\u{ad}"]), ("\u{200d}\u{308}\u{ad}", &["\u{200d}\u{308}\u{ad}"]), ("\u{200d}\u{300}", &["\u{200d}\u{300}"]), ("\u{200d}\u{308}\u{300}", &["\u{200d}\u{308}\u{300}"]), ("\u{200d}\u{200d}", &["\u{200d}\u{200d}"]), ("\u{200d}\u{308}\u{200d}", &["\u{200d}\u{308}\u{200d}"]), ("\u{200d}\u{61}\u{2060}", &["\u{200d}", "\u{61}\u{2060}"]), ("\u{200d}\u{308}\u{61}\u{2060}", &["\u{200d}\u{308}", "\u{61}\u{2060}"]), ("\u{200d}\u{61}\u{3a}", &["\u{200d}", "\u{61}", "\u{3a}"]), ("\u{200d}\u{308}\u{61}\u{3a}", &["\u{200d}\u{308}", "\u{61}", "\u{3a}"]), ("\u{200d}\u{61}\u{27}", &["\u{200d}", "\u{61}", "\u{27}"]), ("\u{200d}\u{308}\u{61}\u{27}", &["\u{200d}\u{308}", "\u{61}", "\u{27}"]), ("\u{200d}\u{61}\u{27}\u{2060}", &["\u{200d}", "\u{61}", "\u{27}\u{2060}"]), ("\u{200d}\u{308}\u{61}\u{27}\u{2060}", &["\u{200d}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{200d}\u{61}\u{2c}", &["\u{200d}", "\u{61}", "\u{2c}"]), ("\u{200d}\u{308}\u{61}\u{2c}", &["\u{200d}\u{308}", "\u{61}", "\u{2c}"]), ("\u{200d}\u{31}\u{3a}", &["\u{200d}", "\u{31}", "\u{3a}"]), ("\u{200d}\u{308}\u{31}\u{3a}", &["\u{200d}\u{308}", "\u{31}", "\u{3a}"]), ("\u{200d}\u{31}\u{27}", &["\u{200d}", "\u{31}", "\u{27}"]), ("\u{200d}\u{308}\u{31}\u{27}", &["\u{200d}\u{308}", "\u{31}", "\u{27}"]), ("\u{200d}\u{31}\u{2c}", &["\u{200d}", "\u{31}", "\u{2c}"]), ("\u{200d}\u{308}\u{31}\u{2c}", &["\u{200d}\u{308}", "\u{31}", "\u{2c}"]), ("\u{200d}\u{31}\u{2e}\u{2060}", &["\u{200d}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{200d}\u{308}\u{31}\u{2e}\u{2060}", &["\u{200d}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{61}\u{2060}\u{1}", &["\u{61}\u{2060}", "\u{1}"]), ("\u{61}\u{2060}\u{308}\u{1}", &["\u{61}\u{2060}\u{308}", "\u{1}"]), ("\u{61}\u{2060}\u{d}", &["\u{61}\u{2060}", "\u{d}"]), ("\u{61}\u{2060}\u{308}\u{d}", &["\u{61}\u{2060}\u{308}", "\u{d}"]), ("\u{61}\u{2060}\u{a}", &["\u{61}\u{2060}", "\u{a}"]), ("\u{61}\u{2060}\u{308}\u{a}", &["\u{61}\u{2060}\u{308}", "\u{a}"]), ("\u{61}\u{2060}\u{b}", &["\u{61}\u{2060}", "\u{b}"]), ("\u{61}\u{2060}\u{308}\u{b}", &["\u{61}\u{2060}\u{308}", "\u{b}"]), ("\u{61}\u{2060}\u{3031}", &["\u{61}\u{2060}", "\u{3031}"]), ("\u{61}\u{2060}\u{308}\u{3031}", &["\u{61}\u{2060}\u{308}", "\u{3031}"]), ("\u{61}\u{2060}\u{41}", &["\u{61}\u{2060}\u{41}"]), ("\u{61}\u{2060}\u{308}\u{41}", &["\u{61}\u{2060}\u{308}\u{41}"]), ("\u{61}\u{2060}\u{3a}", &["\u{61}\u{2060}", "\u{3a}"]), ("\u{61}\u{2060}\u{308}\u{3a}", &["\u{61}\u{2060}\u{308}", "\u{3a}"]), ("\u{61}\u{2060}\u{2c}", &["\u{61}\u{2060}", "\u{2c}"]), ("\u{61}\u{2060}\u{308}\u{2c}", &["\u{61}\u{2060}\u{308}", "\u{2c}"]), ("\u{61}\u{2060}\u{2e}", &["\u{61}\u{2060}", "\u{2e}"]), ("\u{61}\u{2060}\u{308}\u{2e}", &["\u{61}\u{2060}\u{308}", "\u{2e}"]), ("\u{61}\u{2060}\u{30}", &["\u{61}\u{2060}\u{30}"]), ("\u{61}\u{2060}\u{308}\u{30}", &["\u{61}\u{2060}\u{308}\u{30}"]), ("\u{61}\u{2060}\u{5f}", &["\u{61}\u{2060}\u{5f}"]), ("\u{61}\u{2060}\u{308}\u{5f}", &["\u{61}\u{2060}\u{308}\u{5f}"]), ("\u{61}\u{2060}\u{1f1e6}", &["\u{61}\u{2060}", "\u{1f1e6}"]), ("\u{61}\u{2060}\u{308}\u{1f1e6}", &["\u{61}\u{2060}\u{308}", "\u{1f1e6}"]), ("\u{61}\u{2060}\u{5d0}", &["\u{61}\u{2060}\u{5d0}"]), ("\u{61}\u{2060}\u{308}\u{5d0}", &["\u{61}\u{2060}\u{308}\u{5d0}"]), ("\u{61}\u{2060}\u{22}", &["\u{61}\u{2060}", "\u{22}"]), ("\u{61}\u{2060}\u{308}\u{22}", &["\u{61}\u{2060}\u{308}", "\u{22}"]), ("\u{61}\u{2060}\u{27}", &["\u{61}\u{2060}", "\u{27}"]), ("\u{61}\u{2060}\u{308}\u{27}", &["\u{61}\u{2060}\u{308}", "\u{27}"]), ("\u{61}\u{2060}\u{261d}", &["\u{61}\u{2060}", "\u{261d}"]), ("\u{61}\u{2060}\u{308}\u{261d}", &["\u{61}\u{2060}\u{308}", "\u{261d}"]), ("\u{61}\u{2060}\u{1f3fb}", &["\u{61}\u{2060}", "\u{1f3fb}"]), ("\u{61}\u{2060}\u{308}\u{1f3fb}", &["\u{61}\u{2060}\u{308}", "\u{1f3fb}"]), ("\u{61}\u{2060}\u{2640}", &["\u{61}\u{2060}", "\u{2640}"]), ("\u{61}\u{2060}\u{308}\u{2640}", &["\u{61}\u{2060}\u{308}", "\u{2640}"]), ("\u{61}\u{2060}\u{1f466}", &["\u{61}\u{2060}", "\u{1f466}"]), ("\u{61}\u{2060}\u{308}\u{1f466}", &["\u{61}\u{2060}\u{308}", "\u{1f466}"]), ("\u{61}\u{2060}\u{ad}", &["\u{61}\u{2060}\u{ad}"]), ("\u{61}\u{2060}\u{308}\u{ad}", &["\u{61}\u{2060}\u{308}\u{ad}"]), ("\u{61}\u{2060}\u{300}", &["\u{61}\u{2060}\u{300}"]), ("\u{61}\u{2060}\u{308}\u{300}", &["\u{61}\u{2060}\u{308}\u{300}"]), ("\u{61}\u{2060}\u{200d}", &["\u{61}\u{2060}\u{200d}"]), ("\u{61}\u{2060}\u{308}\u{200d}", &["\u{61}\u{2060}\u{308}\u{200d}"]), ("\u{61}\u{2060}\u{61}\u{2060}", &["\u{61}\u{2060}\u{61}\u{2060}"]), ("\u{61}\u{2060}\u{308}\u{61}\u{2060}", &["\u{61}\u{2060}\u{308}\u{61}\u{2060}"]), ("\u{61}\u{2060}\u{61}\u{3a}", &["\u{61}\u{2060}\u{61}", "\u{3a}"]), ("\u{61}\u{2060}\u{308}\u{61}\u{3a}", &["\u{61}\u{2060}\u{308}\u{61}", "\u{3a}"]), ("\u{61}\u{2060}\u{61}\u{27}", &["\u{61}\u{2060}\u{61}", "\u{27}"]), ("\u{61}\u{2060}\u{308}\u{61}\u{27}", &["\u{61}\u{2060}\u{308}\u{61}", "\u{27}"]), ("\u{61}\u{2060}\u{61}\u{27}\u{2060}", &["\u{61}\u{2060}\u{61}", "\u{27}\u{2060}"]), ("\u{61}\u{2060}\u{308}\u{61}\u{27}\u{2060}", &["\u{61}\u{2060}\u{308}\u{61}", "\u{27}\u{2060}"]), ("\u{61}\u{2060}\u{61}\u{2c}", &["\u{61}\u{2060}\u{61}", "\u{2c}"]), ("\u{61}\u{2060}\u{308}\u{61}\u{2c}", &["\u{61}\u{2060}\u{308}\u{61}", "\u{2c}"]), ("\u{61}\u{2060}\u{31}\u{3a}", &["\u{61}\u{2060}\u{31}", "\u{3a}"]), ("\u{61}\u{2060}\u{308}\u{31}\u{3a}", &["\u{61}\u{2060}\u{308}\u{31}", "\u{3a}"]), ("\u{61}\u{2060}\u{31}\u{27}", &["\u{61}\u{2060}\u{31}", "\u{27}"]), ("\u{61}\u{2060}\u{308}\u{31}\u{27}", &["\u{61}\u{2060}\u{308}\u{31}", "\u{27}"]), ("\u{61}\u{2060}\u{31}\u{2c}", &["\u{61}\u{2060}\u{31}", "\u{2c}"]), ("\u{61}\u{2060}\u{308}\u{31}\u{2c}", &["\u{61}\u{2060}\u{308}\u{31}", "\u{2c}"]), ("\u{61}\u{2060}\u{31}\u{2e}\u{2060}", &["\u{61}\u{2060}\u{31}", "\u{2e}\u{2060}"]), ("\u{61}\u{2060}\u{308}\u{31}\u{2e}\u{2060}", &["\u{61}\u{2060}\u{308}\u{31}", "\u{2e}\u{2060}"]), ("\u{61}\u{3a}\u{1}", &["\u{61}", "\u{3a}", "\u{1}"]), ("\u{61}\u{3a}\u{308}\u{1}", &["\u{61}", "\u{3a}\u{308}", "\u{1}"]), ("\u{61}\u{3a}\u{d}", &["\u{61}", "\u{3a}", "\u{d}"]), ("\u{61}\u{3a}\u{308}\u{d}", &["\u{61}", "\u{3a}\u{308}", "\u{d}"]), ("\u{61}\u{3a}\u{a}", &["\u{61}", "\u{3a}", "\u{a}"]), ("\u{61}\u{3a}\u{308}\u{a}", &["\u{61}", "\u{3a}\u{308}", "\u{a}"]), ("\u{61}\u{3a}\u{b}", &["\u{61}", "\u{3a}", "\u{b}"]), ("\u{61}\u{3a}\u{308}\u{b}", &["\u{61}", "\u{3a}\u{308}", "\u{b}"]), ("\u{61}\u{3a}\u{3031}", &["\u{61}", "\u{3a}", "\u{3031}"]), ("\u{61}\u{3a}\u{308}\u{3031}", &["\u{61}", "\u{3a}\u{308}", "\u{3031}"]), ("\u{61}\u{3a}\u{41}", &["\u{61}\u{3a}\u{41}"]), ("\u{61}\u{3a}\u{308}\u{41}", &["\u{61}\u{3a}\u{308}\u{41}"]), ("\u{61}\u{3a}\u{3a}", &["\u{61}", "\u{3a}", "\u{3a}"]), ("\u{61}\u{3a}\u{308}\u{3a}", &["\u{61}", "\u{3a}\u{308}", "\u{3a}"]), ("\u{61}\u{3a}\u{2c}", &["\u{61}", "\u{3a}", "\u{2c}"]), ("\u{61}\u{3a}\u{308}\u{2c}", &["\u{61}", "\u{3a}\u{308}", "\u{2c}"]), ("\u{61}\u{3a}\u{2e}", &["\u{61}", "\u{3a}", "\u{2e}"]), ("\u{61}\u{3a}\u{308}\u{2e}", &["\u{61}", "\u{3a}\u{308}", "\u{2e}"]), ("\u{61}\u{3a}\u{30}", &["\u{61}", "\u{3a}", "\u{30}"]), ("\u{61}\u{3a}\u{308}\u{30}", &["\u{61}", "\u{3a}\u{308}", "\u{30}"]), ("\u{61}\u{3a}\u{5f}", &["\u{61}", "\u{3a}", "\u{5f}"]), ("\u{61}\u{3a}\u{308}\u{5f}", &["\u{61}", "\u{3a}\u{308}", "\u{5f}"]), ("\u{61}\u{3a}\u{1f1e6}", &["\u{61}", "\u{3a}", "\u{1f1e6}"]), ("\u{61}\u{3a}\u{308}\u{1f1e6}", &["\u{61}", "\u{3a}\u{308}", "\u{1f1e6}"]), ("\u{61}\u{3a}\u{5d0}", &["\u{61}\u{3a}\u{5d0}"]), ("\u{61}\u{3a}\u{308}\u{5d0}", &["\u{61}\u{3a}\u{308}\u{5d0}"]), ("\u{61}\u{3a}\u{22}", &["\u{61}", "\u{3a}", "\u{22}"]), ("\u{61}\u{3a}\u{308}\u{22}", &["\u{61}", "\u{3a}\u{308}", "\u{22}"]), ("\u{61}\u{3a}\u{27}", &["\u{61}", "\u{3a}", "\u{27}"]), ("\u{61}\u{3a}\u{308}\u{27}", &["\u{61}", "\u{3a}\u{308}", "\u{27}"]), ("\u{61}\u{3a}\u{261d}", &["\u{61}", "\u{3a}", "\u{261d}"]), ("\u{61}\u{3a}\u{308}\u{261d}", &["\u{61}", "\u{3a}\u{308}", "\u{261d}"]), ("\u{61}\u{3a}\u{1f3fb}", &["\u{61}", "\u{3a}", "\u{1f3fb}"]), ("\u{61}\u{3a}\u{308}\u{1f3fb}", &["\u{61}", "\u{3a}\u{308}", "\u{1f3fb}"]), ("\u{61}\u{3a}\u{2640}", &["\u{61}", "\u{3a}", "\u{2640}"]), ("\u{61}\u{3a}\u{308}\u{2640}", &["\u{61}", "\u{3a}\u{308}", "\u{2640}"]), ("\u{61}\u{3a}\u{1f466}", &["\u{61}", "\u{3a}", "\u{1f466}"]), ("\u{61}\u{3a}\u{308}\u{1f466}", &["\u{61}", "\u{3a}\u{308}", "\u{1f466}"]), ("\u{61}\u{3a}\u{ad}", &["\u{61}", "\u{3a}\u{ad}"]), ("\u{61}\u{3a}\u{308}\u{ad}", &["\u{61}", "\u{3a}\u{308}\u{ad}"]), ("\u{61}\u{3a}\u{300}", &["\u{61}", "\u{3a}\u{300}"]), ("\u{61}\u{3a}\u{308}\u{300}", &["\u{61}", "\u{3a}\u{308}\u{300}"]), ("\u{61}\u{3a}\u{200d}", &["\u{61}", "\u{3a}\u{200d}"]), ("\u{61}\u{3a}\u{308}\u{200d}", &["\u{61}", "\u{3a}\u{308}\u{200d}"]), ("\u{61}\u{3a}\u{61}\u{2060}", &["\u{61}\u{3a}\u{61}\u{2060}"]), ("\u{61}\u{3a}\u{308}\u{61}\u{2060}", &["\u{61}\u{3a}\u{308}\u{61}\u{2060}"]), ("\u{61}\u{3a}\u{61}\u{3a}", &["\u{61}\u{3a}\u{61}", "\u{3a}"]), ("\u{61}\u{3a}\u{308}\u{61}\u{3a}", &["\u{61}\u{3a}\u{308}\u{61}", "\u{3a}"]), ("\u{61}\u{3a}\u{61}\u{27}", &["\u{61}\u{3a}\u{61}", "\u{27}"]), ("\u{61}\u{3a}\u{308}\u{61}\u{27}", &["\u{61}\u{3a}\u{308}\u{61}", "\u{27}"]), ("\u{61}\u{3a}\u{61}\u{27}\u{2060}", &["\u{61}\u{3a}\u{61}", "\u{27}\u{2060}"]), ("\u{61}\u{3a}\u{308}\u{61}\u{27}\u{2060}", &["\u{61}\u{3a}\u{308}\u{61}", "\u{27}\u{2060}"]), ("\u{61}\u{3a}\u{61}\u{2c}", &["\u{61}\u{3a}\u{61}", "\u{2c}"]), ("\u{61}\u{3a}\u{308}\u{61}\u{2c}", &["\u{61}\u{3a}\u{308}\u{61}", "\u{2c}"]), ("\u{61}\u{3a}\u{31}\u{3a}", &["\u{61}", "\u{3a}", "\u{31}", "\u{3a}"]), ("\u{61}\u{3a}\u{308}\u{31}\u{3a}", &["\u{61}", "\u{3a}\u{308}", "\u{31}", "\u{3a}"]), ("\u{61}\u{3a}\u{31}\u{27}", &["\u{61}", "\u{3a}", "\u{31}", "\u{27}"]), ("\u{61}\u{3a}\u{308}\u{31}\u{27}", &["\u{61}", "\u{3a}\u{308}", "\u{31}", "\u{27}"]), ("\u{61}\u{3a}\u{31}\u{2c}", &["\u{61}", "\u{3a}", "\u{31}", "\u{2c}"]), ("\u{61}\u{3a}\u{308}\u{31}\u{2c}", &["\u{61}", "\u{3a}\u{308}", "\u{31}", "\u{2c}"]), ("\u{61}\u{3a}\u{31}\u{2e}\u{2060}", &["\u{61}", "\u{3a}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{61}\u{3a}\u{308}\u{31}\u{2e}\u{2060}", &["\u{61}", "\u{3a}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{61}\u{27}\u{1}", &["\u{61}", "\u{27}", "\u{1}"]), ("\u{61}\u{27}\u{308}\u{1}", &["\u{61}", "\u{27}\u{308}", "\u{1}"]), ("\u{61}\u{27}\u{d}", &["\u{61}", "\u{27}", "\u{d}"]), ("\u{61}\u{27}\u{308}\u{d}", &["\u{61}", "\u{27}\u{308}", "\u{d}"]), ("\u{61}\u{27}\u{a}", &["\u{61}", "\u{27}", "\u{a}"]), ("\u{61}\u{27}\u{308}\u{a}", &["\u{61}", "\u{27}\u{308}", "\u{a}"]), ("\u{61}\u{27}\u{b}", &["\u{61}", "\u{27}", "\u{b}"]), ("\u{61}\u{27}\u{308}\u{b}", &["\u{61}", "\u{27}\u{308}", "\u{b}"]), ("\u{61}\u{27}\u{3031}", &["\u{61}", "\u{27}", "\u{3031}"]), ("\u{61}\u{27}\u{308}\u{3031}", &["\u{61}", "\u{27}\u{308}", "\u{3031}"]), ("\u{61}\u{27}\u{41}", &["\u{61}\u{27}\u{41}"]), ("\u{61}\u{27}\u{308}\u{41}", &["\u{61}\u{27}\u{308}\u{41}"]), ("\u{61}\u{27}\u{3a}", &["\u{61}", "\u{27}", "\u{3a}"]), ("\u{61}\u{27}\u{308}\u{3a}", &["\u{61}", "\u{27}\u{308}", "\u{3a}"]), ("\u{61}\u{27}\u{2c}", &["\u{61}", "\u{27}", "\u{2c}"]), ("\u{61}\u{27}\u{308}\u{2c}", &["\u{61}", "\u{27}\u{308}", "\u{2c}"]), ("\u{61}\u{27}\u{2e}", &["\u{61}", "\u{27}", "\u{2e}"]), ("\u{61}\u{27}\u{308}\u{2e}", &["\u{61}", "\u{27}\u{308}", "\u{2e}"]), ("\u{61}\u{27}\u{30}", &["\u{61}", "\u{27}", "\u{30}"]), ("\u{61}\u{27}\u{308}\u{30}", &["\u{61}", "\u{27}\u{308}", "\u{30}"]), ("\u{61}\u{27}\u{5f}", &["\u{61}", "\u{27}", "\u{5f}"]), ("\u{61}\u{27}\u{308}\u{5f}", &["\u{61}", "\u{27}\u{308}", "\u{5f}"]), ("\u{61}\u{27}\u{1f1e6}", &["\u{61}", "\u{27}", "\u{1f1e6}"]), ("\u{61}\u{27}\u{308}\u{1f1e6}", &["\u{61}", "\u{27}\u{308}", "\u{1f1e6}"]), ("\u{61}\u{27}\u{5d0}", &["\u{61}\u{27}\u{5d0}"]), ("\u{61}\u{27}\u{308}\u{5d0}", &["\u{61}\u{27}\u{308}\u{5d0}"]), ("\u{61}\u{27}\u{22}", &["\u{61}", "\u{27}", "\u{22}"]), ("\u{61}\u{27}\u{308}\u{22}", &["\u{61}", "\u{27}\u{308}", "\u{22}"]), ("\u{61}\u{27}\u{27}", &["\u{61}", "\u{27}", "\u{27}"]), ("\u{61}\u{27}\u{308}\u{27}", &["\u{61}", "\u{27}\u{308}", "\u{27}"]), ("\u{61}\u{27}\u{261d}", &["\u{61}", "\u{27}", "\u{261d}"]), ("\u{61}\u{27}\u{308}\u{261d}", &["\u{61}", "\u{27}\u{308}", "\u{261d}"]), ("\u{61}\u{27}\u{1f3fb}", &["\u{61}", "\u{27}", "\u{1f3fb}"]), ("\u{61}\u{27}\u{308}\u{1f3fb}", &["\u{61}", "\u{27}\u{308}", "\u{1f3fb}"]), ("\u{61}\u{27}\u{2640}", &["\u{61}", "\u{27}", "\u{2640}"]), ("\u{61}\u{27}\u{308}\u{2640}", &["\u{61}", "\u{27}\u{308}", "\u{2640}"]), ("\u{61}\u{27}\u{1f466}", &["\u{61}", "\u{27}", "\u{1f466}"]), ("\u{61}\u{27}\u{308}\u{1f466}", &["\u{61}", "\u{27}\u{308}", "\u{1f466}"]), ("\u{61}\u{27}\u{ad}", &["\u{61}", "\u{27}\u{ad}"]), ("\u{61}\u{27}\u{308}\u{ad}", &["\u{61}", "\u{27}\u{308}\u{ad}"]), ("\u{61}\u{27}\u{300}", &["\u{61}", "\u{27}\u{300}"]), ("\u{61}\u{27}\u{308}\u{300}", &["\u{61}", "\u{27}\u{308}\u{300}"]), ("\u{61}\u{27}\u{200d}", &["\u{61}", "\u{27}\u{200d}"]), ("\u{61}\u{27}\u{308}\u{200d}", &["\u{61}", "\u{27}\u{308}\u{200d}"]), ("\u{61}\u{27}\u{61}\u{2060}", &["\u{61}\u{27}\u{61}\u{2060}"]), ("\u{61}\u{27}\u{308}\u{61}\u{2060}", &["\u{61}\u{27}\u{308}\u{61}\u{2060}"]), ("\u{61}\u{27}\u{61}\u{3a}", &["\u{61}\u{27}\u{61}", "\u{3a}"]), ("\u{61}\u{27}\u{308}\u{61}\u{3a}", &["\u{61}\u{27}\u{308}\u{61}", "\u{3a}"]), ("\u{61}\u{27}\u{61}\u{27}", &["\u{61}\u{27}\u{61}", "\u{27}"]), ("\u{61}\u{27}\u{308}\u{61}\u{27}", &["\u{61}\u{27}\u{308}\u{61}", "\u{27}"]), ("\u{61}\u{27}\u{61}\u{27}\u{2060}", &["\u{61}\u{27}\u{61}", "\u{27}\u{2060}"]), ("\u{61}\u{27}\u{308}\u{61}\u{27}\u{2060}", &["\u{61}\u{27}\u{308}\u{61}", "\u{27}\u{2060}"]), ("\u{61}\u{27}\u{61}\u{2c}", &["\u{61}\u{27}\u{61}", "\u{2c}"]), ("\u{61}\u{27}\u{308}\u{61}\u{2c}", &["\u{61}\u{27}\u{308}\u{61}", "\u{2c}"]), ("\u{61}\u{27}\u{31}\u{3a}", &["\u{61}", "\u{27}", "\u{31}", "\u{3a}"]), ("\u{61}\u{27}\u{308}\u{31}\u{3a}", &["\u{61}", "\u{27}\u{308}", "\u{31}", "\u{3a}"]), ("\u{61}\u{27}\u{31}\u{27}", &["\u{61}", "\u{27}", "\u{31}", "\u{27}"]), ("\u{61}\u{27}\u{308}\u{31}\u{27}", &["\u{61}", "\u{27}\u{308}", "\u{31}", "\u{27}"]), ("\u{61}\u{27}\u{31}\u{2c}", &["\u{61}", "\u{27}", "\u{31}", "\u{2c}"]), ("\u{61}\u{27}\u{308}\u{31}\u{2c}", &["\u{61}", "\u{27}\u{308}", "\u{31}", "\u{2c}"]), ("\u{61}\u{27}\u{31}\u{2e}\u{2060}", &["\u{61}", "\u{27}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{61}\u{27}\u{308}\u{31}\u{2e}\u{2060}", &["\u{61}", "\u{27}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{61}\u{27}\u{2060}\u{1}", &["\u{61}", "\u{27}\u{2060}", "\u{1}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{1}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{1}"]), ("\u{61}\u{27}\u{2060}\u{d}", &["\u{61}", "\u{27}\u{2060}", "\u{d}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{d}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{d}"]), ("\u{61}\u{27}\u{2060}\u{a}", &["\u{61}", "\u{27}\u{2060}", "\u{a}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{a}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{a}"]), ("\u{61}\u{27}\u{2060}\u{b}", &["\u{61}", "\u{27}\u{2060}", "\u{b}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{b}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{b}"]), ("\u{61}\u{27}\u{2060}\u{3031}", &["\u{61}", "\u{27}\u{2060}", "\u{3031}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{3031}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{3031}"]), ("\u{61}\u{27}\u{2060}\u{41}", &["\u{61}\u{27}\u{2060}\u{41}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{41}", &["\u{61}\u{27}\u{2060}\u{308}\u{41}"]), ("\u{61}\u{27}\u{2060}\u{3a}", &["\u{61}", "\u{27}\u{2060}", "\u{3a}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{3a}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{3a}"]), ("\u{61}\u{27}\u{2060}\u{2c}", &["\u{61}", "\u{27}\u{2060}", "\u{2c}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{2c}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{2c}"]), ("\u{61}\u{27}\u{2060}\u{2e}", &["\u{61}", "\u{27}\u{2060}", "\u{2e}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{2e}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{2e}"]), ("\u{61}\u{27}\u{2060}\u{30}", &["\u{61}", "\u{27}\u{2060}", "\u{30}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{30}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{30}"]), ("\u{61}\u{27}\u{2060}\u{5f}", &["\u{61}", "\u{27}\u{2060}", "\u{5f}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{5f}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{5f}"]), ("\u{61}\u{27}\u{2060}\u{1f1e6}", &["\u{61}", "\u{27}\u{2060}", "\u{1f1e6}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{1f1e6}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{1f1e6}"]), ("\u{61}\u{27}\u{2060}\u{5d0}", &["\u{61}\u{27}\u{2060}\u{5d0}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{5d0}", &["\u{61}\u{27}\u{2060}\u{308}\u{5d0}"]), ("\u{61}\u{27}\u{2060}\u{22}", &["\u{61}", "\u{27}\u{2060}", "\u{22}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{22}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{22}"]), ("\u{61}\u{27}\u{2060}\u{27}", &["\u{61}", "\u{27}\u{2060}", "\u{27}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{27}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{27}"]), ("\u{61}\u{27}\u{2060}\u{261d}", &["\u{61}", "\u{27}\u{2060}", "\u{261d}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{261d}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{261d}"]), ("\u{61}\u{27}\u{2060}\u{1f3fb}", &["\u{61}", "\u{27}\u{2060}", "\u{1f3fb}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{1f3fb}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{1f3fb}"]), ("\u{61}\u{27}\u{2060}\u{2640}", &["\u{61}", "\u{27}\u{2060}", "\u{2640}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{2640}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{2640}"]), ("\u{61}\u{27}\u{2060}\u{1f466}", &["\u{61}", "\u{27}\u{2060}", "\u{1f466}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{1f466}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{1f466}"]), ("\u{61}\u{27}\u{2060}\u{ad}", &["\u{61}", "\u{27}\u{2060}\u{ad}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{ad}", &["\u{61}", "\u{27}\u{2060}\u{308}\u{ad}"]), ("\u{61}\u{27}\u{2060}\u{300}", &["\u{61}", "\u{27}\u{2060}\u{300}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{300}", &["\u{61}", "\u{27}\u{2060}\u{308}\u{300}"]), ("\u{61}\u{27}\u{2060}\u{200d}", &["\u{61}", "\u{27}\u{2060}\u{200d}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{200d}", &["\u{61}", "\u{27}\u{2060}\u{308}\u{200d}"]), ("\u{61}\u{27}\u{2060}\u{61}\u{2060}", &["\u{61}\u{27}\u{2060}\u{61}\u{2060}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{61}\u{2060}", &["\u{61}\u{27}\u{2060}\u{308}\u{61}\u{2060}"]), ("\u{61}\u{27}\u{2060}\u{61}\u{3a}", &["\u{61}\u{27}\u{2060}\u{61}", "\u{3a}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{61}\u{3a}", &["\u{61}\u{27}\u{2060}\u{308}\u{61}", "\u{3a}"]), ("\u{61}\u{27}\u{2060}\u{61}\u{27}", &["\u{61}\u{27}\u{2060}\u{61}", "\u{27}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{61}\u{27}", &["\u{61}\u{27}\u{2060}\u{308}\u{61}", "\u{27}"]), ("\u{61}\u{27}\u{2060}\u{61}\u{27}\u{2060}", &["\u{61}\u{27}\u{2060}\u{61}", "\u{27}\u{2060}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{61}\u{27}\u{2060}", &["\u{61}\u{27}\u{2060}\u{308}\u{61}", "\u{27}\u{2060}"]), ("\u{61}\u{27}\u{2060}\u{61}\u{2c}", &["\u{61}\u{27}\u{2060}\u{61}", "\u{2c}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{61}\u{2c}", &["\u{61}\u{27}\u{2060}\u{308}\u{61}", "\u{2c}"]), ("\u{61}\u{27}\u{2060}\u{31}\u{3a}", &["\u{61}", "\u{27}\u{2060}", "\u{31}", "\u{3a}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{31}\u{3a}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{31}", "\u{3a}"]), ("\u{61}\u{27}\u{2060}\u{31}\u{27}", &["\u{61}", "\u{27}\u{2060}", "\u{31}", "\u{27}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{31}\u{27}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{31}", "\u{27}"]), ("\u{61}\u{27}\u{2060}\u{31}\u{2c}", &["\u{61}", "\u{27}\u{2060}", "\u{31}", "\u{2c}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{31}\u{2c}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{31}", "\u{2c}"]), ("\u{61}\u{27}\u{2060}\u{31}\u{2e}\u{2060}", &["\u{61}", "\u{27}\u{2060}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{61}\u{27}\u{2060}\u{308}\u{31}\u{2e}\u{2060}", &["\u{61}", "\u{27}\u{2060}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{61}\u{2c}\u{1}", &["\u{61}", "\u{2c}", "\u{1}"]), ("\u{61}\u{2c}\u{308}\u{1}", &["\u{61}", "\u{2c}\u{308}", "\u{1}"]), ("\u{61}\u{2c}\u{d}", &["\u{61}", "\u{2c}", "\u{d}"]), ("\u{61}\u{2c}\u{308}\u{d}", &["\u{61}", "\u{2c}\u{308}", "\u{d}"]), ("\u{61}\u{2c}\u{a}", &["\u{61}", "\u{2c}", "\u{a}"]), ("\u{61}\u{2c}\u{308}\u{a}", &["\u{61}", "\u{2c}\u{308}", "\u{a}"]), ("\u{61}\u{2c}\u{b}", &["\u{61}", "\u{2c}", "\u{b}"]), ("\u{61}\u{2c}\u{308}\u{b}", &["\u{61}", "\u{2c}\u{308}", "\u{b}"]), ("\u{61}\u{2c}\u{3031}", &["\u{61}", "\u{2c}", "\u{3031}"]), ("\u{61}\u{2c}\u{308}\u{3031}", &["\u{61}", "\u{2c}\u{308}", "\u{3031}"]), ("\u{61}\u{2c}\u{41}", &["\u{61}", "\u{2c}", "\u{41}"]), ("\u{61}\u{2c}\u{308}\u{41}", &["\u{61}", "\u{2c}\u{308}", "\u{41}"]), ("\u{61}\u{2c}\u{3a}", &["\u{61}", "\u{2c}", "\u{3a}"]), ("\u{61}\u{2c}\u{308}\u{3a}", &["\u{61}", "\u{2c}\u{308}", "\u{3a}"]), ("\u{61}\u{2c}\u{2c}", &["\u{61}", "\u{2c}", "\u{2c}"]), ("\u{61}\u{2c}\u{308}\u{2c}", &["\u{61}", "\u{2c}\u{308}", "\u{2c}"]), ("\u{61}\u{2c}\u{2e}", &["\u{61}", "\u{2c}", "\u{2e}"]), ("\u{61}\u{2c}\u{308}\u{2e}", &["\u{61}", "\u{2c}\u{308}", "\u{2e}"]), ("\u{61}\u{2c}\u{30}", &["\u{61}", "\u{2c}", "\u{30}"]), ("\u{61}\u{2c}\u{308}\u{30}", &["\u{61}", "\u{2c}\u{308}", "\u{30}"]), ("\u{61}\u{2c}\u{5f}", &["\u{61}", "\u{2c}", "\u{5f}"]), ("\u{61}\u{2c}\u{308}\u{5f}", &["\u{61}", "\u{2c}\u{308}", "\u{5f}"]), ("\u{61}\u{2c}\u{1f1e6}", &["\u{61}", "\u{2c}", "\u{1f1e6}"]), ("\u{61}\u{2c}\u{308}\u{1f1e6}", &["\u{61}", "\u{2c}\u{308}", "\u{1f1e6}"]), ("\u{61}\u{2c}\u{5d0}", &["\u{61}", "\u{2c}", "\u{5d0}"]), ("\u{61}\u{2c}\u{308}\u{5d0}", &["\u{61}", "\u{2c}\u{308}", "\u{5d0}"]), ("\u{61}\u{2c}\u{22}", &["\u{61}", "\u{2c}", "\u{22}"]), ("\u{61}\u{2c}\u{308}\u{22}", &["\u{61}", "\u{2c}\u{308}", "\u{22}"]), ("\u{61}\u{2c}\u{27}", &["\u{61}", "\u{2c}", "\u{27}"]), ("\u{61}\u{2c}\u{308}\u{27}", &["\u{61}", "\u{2c}\u{308}", "\u{27}"]), ("\u{61}\u{2c}\u{261d}", &["\u{61}", "\u{2c}", "\u{261d}"]), ("\u{61}\u{2c}\u{308}\u{261d}", &["\u{61}", "\u{2c}\u{308}", "\u{261d}"]), ("\u{61}\u{2c}\u{1f3fb}", &["\u{61}", "\u{2c}", "\u{1f3fb}"]), ("\u{61}\u{2c}\u{308}\u{1f3fb}", &["\u{61}", "\u{2c}\u{308}", "\u{1f3fb}"]), ("\u{61}\u{2c}\u{2640}", &["\u{61}", "\u{2c}", "\u{2640}"]), ("\u{61}\u{2c}\u{308}\u{2640}", &["\u{61}", "\u{2c}\u{308}", "\u{2640}"]), ("\u{61}\u{2c}\u{1f466}", &["\u{61}", "\u{2c}", "\u{1f466}"]), ("\u{61}\u{2c}\u{308}\u{1f466}", &["\u{61}", "\u{2c}\u{308}", "\u{1f466}"]), ("\u{61}\u{2c}\u{ad}", &["\u{61}", "\u{2c}\u{ad}"]), ("\u{61}\u{2c}\u{308}\u{ad}", &["\u{61}", "\u{2c}\u{308}\u{ad}"]), ("\u{61}\u{2c}\u{300}", &["\u{61}", "\u{2c}\u{300}"]), ("\u{61}\u{2c}\u{308}\u{300}", &["\u{61}", "\u{2c}\u{308}\u{300}"]), ("\u{61}\u{2c}\u{200d}", &["\u{61}", "\u{2c}\u{200d}"]), ("\u{61}\u{2c}\u{308}\u{200d}", &["\u{61}", "\u{2c}\u{308}\u{200d}"]), ("\u{61}\u{2c}\u{61}\u{2060}", &["\u{61}", "\u{2c}", "\u{61}\u{2060}"]), ("\u{61}\u{2c}\u{308}\u{61}\u{2060}", &["\u{61}", "\u{2c}\u{308}", "\u{61}\u{2060}"]), ("\u{61}\u{2c}\u{61}\u{3a}", &["\u{61}", "\u{2c}", "\u{61}", "\u{3a}"]), ("\u{61}\u{2c}\u{308}\u{61}\u{3a}", &["\u{61}", "\u{2c}\u{308}", "\u{61}", "\u{3a}"]), ("\u{61}\u{2c}\u{61}\u{27}", &["\u{61}", "\u{2c}", "\u{61}", "\u{27}"]), ("\u{61}\u{2c}\u{308}\u{61}\u{27}", &["\u{61}", "\u{2c}\u{308}", "\u{61}", "\u{27}"]), ("\u{61}\u{2c}\u{61}\u{27}\u{2060}", &["\u{61}", "\u{2c}", "\u{61}", "\u{27}\u{2060}"]), ("\u{61}\u{2c}\u{308}\u{61}\u{27}\u{2060}", &["\u{61}", "\u{2c}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{61}\u{2c}\u{61}\u{2c}", &["\u{61}", "\u{2c}", "\u{61}", "\u{2c}"]), ("\u{61}\u{2c}\u{308}\u{61}\u{2c}", &["\u{61}", "\u{2c}\u{308}", "\u{61}", "\u{2c}"]), ("\u{61}\u{2c}\u{31}\u{3a}", &["\u{61}", "\u{2c}", "\u{31}", "\u{3a}"]), ("\u{61}\u{2c}\u{308}\u{31}\u{3a}", &["\u{61}", "\u{2c}\u{308}", "\u{31}", "\u{3a}"]), ("\u{61}\u{2c}\u{31}\u{27}", &["\u{61}", "\u{2c}", "\u{31}", "\u{27}"]), ("\u{61}\u{2c}\u{308}\u{31}\u{27}", &["\u{61}", "\u{2c}\u{308}", "\u{31}", "\u{27}"]), ("\u{61}\u{2c}\u{31}\u{2c}", &["\u{61}", "\u{2c}", "\u{31}", "\u{2c}"]), ("\u{61}\u{2c}\u{308}\u{31}\u{2c}", &["\u{61}", "\u{2c}\u{308}", "\u{31}", "\u{2c}"]), ("\u{61}\u{2c}\u{31}\u{2e}\u{2060}", &["\u{61}", "\u{2c}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{61}\u{2c}\u{308}\u{31}\u{2e}\u{2060}", &["\u{61}", "\u{2c}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{31}\u{3a}\u{1}", &["\u{31}", "\u{3a}", "\u{1}"]), ("\u{31}\u{3a}\u{308}\u{1}", &["\u{31}", "\u{3a}\u{308}", "\u{1}"]), ("\u{31}\u{3a}\u{d}", &["\u{31}", "\u{3a}", "\u{d}"]), ("\u{31}\u{3a}\u{308}\u{d}", &["\u{31}", "\u{3a}\u{308}", "\u{d}"]), ("\u{31}\u{3a}\u{a}", &["\u{31}", "\u{3a}", "\u{a}"]), ("\u{31}\u{3a}\u{308}\u{a}", &["\u{31}", "\u{3a}\u{308}", "\u{a}"]), ("\u{31}\u{3a}\u{b}", &["\u{31}", "\u{3a}", "\u{b}"]), ("\u{31}\u{3a}\u{308}\u{b}", &["\u{31}", "\u{3a}\u{308}", "\u{b}"]), ("\u{31}\u{3a}\u{3031}", &["\u{31}", "\u{3a}", "\u{3031}"]), ("\u{31}\u{3a}\u{308}\u{3031}", &["\u{31}", "\u{3a}\u{308}", "\u{3031}"]), ("\u{31}\u{3a}\u{41}", &["\u{31}", "\u{3a}", "\u{41}"]), ("\u{31}\u{3a}\u{308}\u{41}", &["\u{31}", "\u{3a}\u{308}", "\u{41}"]), ("\u{31}\u{3a}\u{3a}", &["\u{31}", "\u{3a}", "\u{3a}"]), ("\u{31}\u{3a}\u{308}\u{3a}", &["\u{31}", "\u{3a}\u{308}", "\u{3a}"]), ("\u{31}\u{3a}\u{2c}", &["\u{31}", "\u{3a}", "\u{2c}"]), ("\u{31}\u{3a}\u{308}\u{2c}", &["\u{31}", "\u{3a}\u{308}", "\u{2c}"]), ("\u{31}\u{3a}\u{2e}", &["\u{31}", "\u{3a}", "\u{2e}"]), ("\u{31}\u{3a}\u{308}\u{2e}", &["\u{31}", "\u{3a}\u{308}", "\u{2e}"]), ("\u{31}\u{3a}\u{30}", &["\u{31}", "\u{3a}", "\u{30}"]), ("\u{31}\u{3a}\u{308}\u{30}", &["\u{31}", "\u{3a}\u{308}", "\u{30}"]), ("\u{31}\u{3a}\u{5f}", &["\u{31}", "\u{3a}", "\u{5f}"]), ("\u{31}\u{3a}\u{308}\u{5f}", &["\u{31}", "\u{3a}\u{308}", "\u{5f}"]), ("\u{31}\u{3a}\u{1f1e6}", &["\u{31}", "\u{3a}", "\u{1f1e6}"]), ("\u{31}\u{3a}\u{308}\u{1f1e6}", &["\u{31}", "\u{3a}\u{308}", "\u{1f1e6}"]), ("\u{31}\u{3a}\u{5d0}", &["\u{31}", "\u{3a}", "\u{5d0}"]), ("\u{31}\u{3a}\u{308}\u{5d0}", &["\u{31}", "\u{3a}\u{308}", "\u{5d0}"]), ("\u{31}\u{3a}\u{22}", &["\u{31}", "\u{3a}", "\u{22}"]), ("\u{31}\u{3a}\u{308}\u{22}", &["\u{31}", "\u{3a}\u{308}", "\u{22}"]), ("\u{31}\u{3a}\u{27}", &["\u{31}", "\u{3a}", "\u{27}"]), ("\u{31}\u{3a}\u{308}\u{27}", &["\u{31}", "\u{3a}\u{308}", "\u{27}"]), ("\u{31}\u{3a}\u{261d}", &["\u{31}", "\u{3a}", "\u{261d}"]), ("\u{31}\u{3a}\u{308}\u{261d}", &["\u{31}", "\u{3a}\u{308}", "\u{261d}"]), ("\u{31}\u{3a}\u{1f3fb}", &["\u{31}", "\u{3a}", "\u{1f3fb}"]), ("\u{31}\u{3a}\u{308}\u{1f3fb}", &["\u{31}", "\u{3a}\u{308}", "\u{1f3fb}"]), ("\u{31}\u{3a}\u{2640}", &["\u{31}", "\u{3a}", "\u{2640}"]), ("\u{31}\u{3a}\u{308}\u{2640}", &["\u{31}", "\u{3a}\u{308}", "\u{2640}"]), ("\u{31}\u{3a}\u{1f466}", &["\u{31}", "\u{3a}", "\u{1f466}"]), ("\u{31}\u{3a}\u{308}\u{1f466}", &["\u{31}", "\u{3a}\u{308}", "\u{1f466}"]), ("\u{31}\u{3a}\u{ad}", &["\u{31}", "\u{3a}\u{ad}"]), ("\u{31}\u{3a}\u{308}\u{ad}", &["\u{31}", "\u{3a}\u{308}\u{ad}"]), ("\u{31}\u{3a}\u{300}", &["\u{31}", "\u{3a}\u{300}"]), ("\u{31}\u{3a}\u{308}\u{300}", &["\u{31}", "\u{3a}\u{308}\u{300}"]), ("\u{31}\u{3a}\u{200d}", &["\u{31}", "\u{3a}\u{200d}"]), ("\u{31}\u{3a}\u{308}\u{200d}", &["\u{31}", "\u{3a}\u{308}\u{200d}"]), ("\u{31}\u{3a}\u{61}\u{2060}", &["\u{31}", "\u{3a}", "\u{61}\u{2060}"]), ("\u{31}\u{3a}\u{308}\u{61}\u{2060}", &["\u{31}", "\u{3a}\u{308}", "\u{61}\u{2060}"]), ("\u{31}\u{3a}\u{61}\u{3a}", &["\u{31}", "\u{3a}", "\u{61}", "\u{3a}"]), ("\u{31}\u{3a}\u{308}\u{61}\u{3a}", &["\u{31}", "\u{3a}\u{308}", "\u{61}", "\u{3a}"]), ("\u{31}\u{3a}\u{61}\u{27}", &["\u{31}", "\u{3a}", "\u{61}", "\u{27}"]), ("\u{31}\u{3a}\u{308}\u{61}\u{27}", &["\u{31}", "\u{3a}\u{308}", "\u{61}", "\u{27}"]), ("\u{31}\u{3a}\u{61}\u{27}\u{2060}", &["\u{31}", "\u{3a}", "\u{61}", "\u{27}\u{2060}"]), ("\u{31}\u{3a}\u{308}\u{61}\u{27}\u{2060}", &["\u{31}", "\u{3a}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{31}\u{3a}\u{61}\u{2c}", &["\u{31}", "\u{3a}", "\u{61}", "\u{2c}"]), ("\u{31}\u{3a}\u{308}\u{61}\u{2c}", &["\u{31}", "\u{3a}\u{308}", "\u{61}", "\u{2c}"]), ("\u{31}\u{3a}\u{31}\u{3a}", &["\u{31}", "\u{3a}", "\u{31}", "\u{3a}"]), ("\u{31}\u{3a}\u{308}\u{31}\u{3a}", &["\u{31}", "\u{3a}\u{308}", "\u{31}", "\u{3a}"]), ("\u{31}\u{3a}\u{31}\u{27}", &["\u{31}", "\u{3a}", "\u{31}", "\u{27}"]), ("\u{31}\u{3a}\u{308}\u{31}\u{27}", &["\u{31}", "\u{3a}\u{308}", "\u{31}", "\u{27}"]), ("\u{31}\u{3a}\u{31}\u{2c}", &["\u{31}", "\u{3a}", "\u{31}", "\u{2c}"]), ("\u{31}\u{3a}\u{308}\u{31}\u{2c}", &["\u{31}", "\u{3a}\u{308}", "\u{31}", "\u{2c}"]), ("\u{31}\u{3a}\u{31}\u{2e}\u{2060}", &["\u{31}", "\u{3a}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{31}\u{3a}\u{308}\u{31}\u{2e}\u{2060}", &["\u{31}", "\u{3a}\u{308}", "\u{31}", "\u{2e}\u{2060}"]), ("\u{31}\u{27}\u{1}", &["\u{31}", "\u{27}", "\u{1}"]), ("\u{31}\u{27}\u{308}\u{1}", &["\u{31}", "\u{27}\u{308}", "\u{1}"]), ("\u{31}\u{27}\u{d}", &["\u{31}", "\u{27}", "\u{d}"]), ("\u{31}\u{27}\u{308}\u{d}", &["\u{31}", "\u{27}\u{308}", "\u{d}"]), ("\u{31}\u{27}\u{a}", &["\u{31}", "\u{27}", "\u{a}"]), ("\u{31}\u{27}\u{308}\u{a}", &["\u{31}", "\u{27}\u{308}", "\u{a}"]), ("\u{31}\u{27}\u{b}", &["\u{31}", "\u{27}", "\u{b}"]), ("\u{31}\u{27}\u{308}\u{b}", &["\u{31}", "\u{27}\u{308}", "\u{b}"]), ("\u{31}\u{27}\u{3031}", &["\u{31}", "\u{27}", "\u{3031}"]), ("\u{31}\u{27}\u{308}\u{3031}", &["\u{31}", "\u{27}\u{308}", "\u{3031}"]), ("\u{31}\u{27}\u{41}", &["\u{31}", "\u{27}", "\u{41}"]), ("\u{31}\u{27}\u{308}\u{41}", &["\u{31}", "\u{27}\u{308}", "\u{41}"]), ("\u{31}\u{27}\u{3a}", &["\u{31}", "\u{27}", "\u{3a}"]), ("\u{31}\u{27}\u{308}\u{3a}", &["\u{31}", "\u{27}\u{308}", "\u{3a}"]), ("\u{31}\u{27}\u{2c}", &["\u{31}", "\u{27}", "\u{2c}"]), ("\u{31}\u{27}\u{308}\u{2c}", &["\u{31}", "\u{27}\u{308}", "\u{2c}"]), ("\u{31}\u{27}\u{2e}", &["\u{31}", "\u{27}", "\u{2e}"]), ("\u{31}\u{27}\u{308}\u{2e}", &["\u{31}", "\u{27}\u{308}", "\u{2e}"]), ("\u{31}\u{27}\u{30}", &["\u{31}\u{27}\u{30}"]), ("\u{31}\u{27}\u{308}\u{30}", &["\u{31}\u{27}\u{308}\u{30}"]), ("\u{31}\u{27}\u{5f}", &["\u{31}", "\u{27}", "\u{5f}"]), ("\u{31}\u{27}\u{308}\u{5f}", &["\u{31}", "\u{27}\u{308}", "\u{5f}"]), ("\u{31}\u{27}\u{1f1e6}", &["\u{31}", "\u{27}", "\u{1f1e6}"]), ("\u{31}\u{27}\u{308}\u{1f1e6}", &["\u{31}", "\u{27}\u{308}", "\u{1f1e6}"]), ("\u{31}\u{27}\u{5d0}", &["\u{31}", "\u{27}", "\u{5d0}"]), ("\u{31}\u{27}\u{308}\u{5d0}", &["\u{31}", "\u{27}\u{308}", "\u{5d0}"]), ("\u{31}\u{27}\u{22}", &["\u{31}", "\u{27}", "\u{22}"]), ("\u{31}\u{27}\u{308}\u{22}", &["\u{31}", "\u{27}\u{308}", "\u{22}"]), ("\u{31}\u{27}\u{27}", &["\u{31}", "\u{27}", "\u{27}"]), ("\u{31}\u{27}\u{308}\u{27}", &["\u{31}", "\u{27}\u{308}", "\u{27}"]), ("\u{31}\u{27}\u{261d}", &["\u{31}", "\u{27}", "\u{261d}"]), ("\u{31}\u{27}\u{308}\u{261d}", &["\u{31}", "\u{27}\u{308}", "\u{261d}"]), ("\u{31}\u{27}\u{1f3fb}", &["\u{31}", "\u{27}", "\u{1f3fb}"]), ("\u{31}\u{27}\u{308}\u{1f3fb}", &["\u{31}", "\u{27}\u{308}", "\u{1f3fb}"]), ("\u{31}\u{27}\u{2640}", &["\u{31}", "\u{27}", "\u{2640}"]), ("\u{31}\u{27}\u{308}\u{2640}", &["\u{31}", "\u{27}\u{308}", "\u{2640}"]), ("\u{31}\u{27}\u{1f466}", &["\u{31}", "\u{27}", "\u{1f466}"]), ("\u{31}\u{27}\u{308}\u{1f466}", &["\u{31}", "\u{27}\u{308}", "\u{1f466}"]), ("\u{31}\u{27}\u{ad}", &["\u{31}", "\u{27}\u{ad}"]), ("\u{31}\u{27}\u{308}\u{ad}", &["\u{31}", "\u{27}\u{308}\u{ad}"]), ("\u{31}\u{27}\u{300}", &["\u{31}", "\u{27}\u{300}"]), ("\u{31}\u{27}\u{308}\u{300}", &["\u{31}", "\u{27}\u{308}\u{300}"]), ("\u{31}\u{27}\u{200d}", &["\u{31}", "\u{27}\u{200d}"]), ("\u{31}\u{27}\u{308}\u{200d}", &["\u{31}", "\u{27}\u{308}\u{200d}"]), ("\u{31}\u{27}\u{61}\u{2060}", &["\u{31}", "\u{27}", "\u{61}\u{2060}"]), ("\u{31}\u{27}\u{308}\u{61}\u{2060}", &["\u{31}", "\u{27}\u{308}", "\u{61}\u{2060}"]), ("\u{31}\u{27}\u{61}\u{3a}", &["\u{31}", "\u{27}", "\u{61}", "\u{3a}"]), ("\u{31}\u{27}\u{308}\u{61}\u{3a}", &["\u{31}", "\u{27}\u{308}", "\u{61}", "\u{3a}"]), ("\u{31}\u{27}\u{61}\u{27}", &["\u{31}", "\u{27}", "\u{61}", "\u{27}"]), ("\u{31}\u{27}\u{308}\u{61}\u{27}", &["\u{31}", "\u{27}\u{308}", "\u{61}", "\u{27}"]), ("\u{31}\u{27}\u{61}\u{27}\u{2060}", &["\u{31}", "\u{27}", "\u{61}", "\u{27}\u{2060}"]), ("\u{31}\u{27}\u{308}\u{61}\u{27}\u{2060}", &["\u{31}", "\u{27}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{31}\u{27}\u{61}\u{2c}", &["\u{31}", "\u{27}", "\u{61}", "\u{2c}"]), ("\u{31}\u{27}\u{308}\u{61}\u{2c}", &["\u{31}", "\u{27}\u{308}", "\u{61}", "\u{2c}"]), ("\u{31}\u{27}\u{31}\u{3a}", &["\u{31}\u{27}\u{31}", "\u{3a}"]), ("\u{31}\u{27}\u{308}\u{31}\u{3a}", &["\u{31}\u{27}\u{308}\u{31}", "\u{3a}"]), ("\u{31}\u{27}\u{31}\u{27}", &["\u{31}\u{27}\u{31}", "\u{27}"]), ("\u{31}\u{27}\u{308}\u{31}\u{27}", &["\u{31}\u{27}\u{308}\u{31}", "\u{27}"]), ("\u{31}\u{27}\u{31}\u{2c}", &["\u{31}\u{27}\u{31}", "\u{2c}"]), ("\u{31}\u{27}\u{308}\u{31}\u{2c}", &["\u{31}\u{27}\u{308}\u{31}", "\u{2c}"]), ("\u{31}\u{27}\u{31}\u{2e}\u{2060}", &["\u{31}\u{27}\u{31}", "\u{2e}\u{2060}"]), ("\u{31}\u{27}\u{308}\u{31}\u{2e}\u{2060}", &["\u{31}\u{27}\u{308}\u{31}", "\u{2e}\u{2060}"]), ("\u{31}\u{2c}\u{1}", &["\u{31}", "\u{2c}", "\u{1}"]), ("\u{31}\u{2c}\u{308}\u{1}", &["\u{31}", "\u{2c}\u{308}", "\u{1}"]), ("\u{31}\u{2c}\u{d}", &["\u{31}", "\u{2c}", "\u{d}"]), ("\u{31}\u{2c}\u{308}\u{d}", &["\u{31}", "\u{2c}\u{308}", "\u{d}"]), ("\u{31}\u{2c}\u{a}", &["\u{31}", "\u{2c}", "\u{a}"]), ("\u{31}\u{2c}\u{308}\u{a}", &["\u{31}", "\u{2c}\u{308}", "\u{a}"]), ("\u{31}\u{2c}\u{b}", &["\u{31}", "\u{2c}", "\u{b}"]), ("\u{31}\u{2c}\u{308}\u{b}", &["\u{31}", "\u{2c}\u{308}", "\u{b}"]), ("\u{31}\u{2c}\u{3031}", &["\u{31}", "\u{2c}", "\u{3031}"]), ("\u{31}\u{2c}\u{308}\u{3031}", &["\u{31}", "\u{2c}\u{308}", "\u{3031}"]), ("\u{31}\u{2c}\u{41}", &["\u{31}", "\u{2c}", "\u{41}"]), ("\u{31}\u{2c}\u{308}\u{41}", &["\u{31}", "\u{2c}\u{308}", "\u{41}"]), ("\u{31}\u{2c}\u{3a}", &["\u{31}", "\u{2c}", "\u{3a}"]), ("\u{31}\u{2c}\u{308}\u{3a}", &["\u{31}", "\u{2c}\u{308}", "\u{3a}"]), ("\u{31}\u{2c}\u{2c}", &["\u{31}", "\u{2c}", "\u{2c}"]), ("\u{31}\u{2c}\u{308}\u{2c}", &["\u{31}", "\u{2c}\u{308}", "\u{2c}"]), ("\u{31}\u{2c}\u{2e}", &["\u{31}", "\u{2c}", "\u{2e}"]), ("\u{31}\u{2c}\u{308}\u{2e}", &["\u{31}", "\u{2c}\u{308}", "\u{2e}"]), ("\u{31}\u{2c}\u{30}", &["\u{31}\u{2c}\u{30}"]), ("\u{31}\u{2c}\u{308}\u{30}", &["\u{31}\u{2c}\u{308}\u{30}"]), ("\u{31}\u{2c}\u{5f}", &["\u{31}", "\u{2c}", "\u{5f}"]), ("\u{31}\u{2c}\u{308}\u{5f}", &["\u{31}", "\u{2c}\u{308}", "\u{5f}"]), ("\u{31}\u{2c}\u{1f1e6}", &["\u{31}", "\u{2c}", "\u{1f1e6}"]), ("\u{31}\u{2c}\u{308}\u{1f1e6}", &["\u{31}", "\u{2c}\u{308}", "\u{1f1e6}"]), ("\u{31}\u{2c}\u{5d0}", &["\u{31}", "\u{2c}", "\u{5d0}"]), ("\u{31}\u{2c}\u{308}\u{5d0}", &["\u{31}", "\u{2c}\u{308}", "\u{5d0}"]), ("\u{31}\u{2c}\u{22}", &["\u{31}", "\u{2c}", "\u{22}"]), ("\u{31}\u{2c}\u{308}\u{22}", &["\u{31}", "\u{2c}\u{308}", "\u{22}"]), ("\u{31}\u{2c}\u{27}", &["\u{31}", "\u{2c}", "\u{27}"]), ("\u{31}\u{2c}\u{308}\u{27}", &["\u{31}", "\u{2c}\u{308}", "\u{27}"]), ("\u{31}\u{2c}\u{261d}", &["\u{31}", "\u{2c}", "\u{261d}"]), ("\u{31}\u{2c}\u{308}\u{261d}", &["\u{31}", "\u{2c}\u{308}", "\u{261d}"]), ("\u{31}\u{2c}\u{1f3fb}", &["\u{31}", "\u{2c}", "\u{1f3fb}"]), ("\u{31}\u{2c}\u{308}\u{1f3fb}", &["\u{31}", "\u{2c}\u{308}", "\u{1f3fb}"]), ("\u{31}\u{2c}\u{2640}", &["\u{31}", "\u{2c}", "\u{2640}"]), ("\u{31}\u{2c}\u{308}\u{2640}", &["\u{31}", "\u{2c}\u{308}", "\u{2640}"]), ("\u{31}\u{2c}\u{1f466}", &["\u{31}", "\u{2c}", "\u{1f466}"]), ("\u{31}\u{2c}\u{308}\u{1f466}", &["\u{31}", "\u{2c}\u{308}", "\u{1f466}"]), ("\u{31}\u{2c}\u{ad}", &["\u{31}", "\u{2c}\u{ad}"]), ("\u{31}\u{2c}\u{308}\u{ad}", &["\u{31}", "\u{2c}\u{308}\u{ad}"]), ("\u{31}\u{2c}\u{300}", &["\u{31}", "\u{2c}\u{300}"]), ("\u{31}\u{2c}\u{308}\u{300}", &["\u{31}", "\u{2c}\u{308}\u{300}"]), ("\u{31}\u{2c}\u{200d}", &["\u{31}", "\u{2c}\u{200d}"]), ("\u{31}\u{2c}\u{308}\u{200d}", &["\u{31}", "\u{2c}\u{308}\u{200d}"]), ("\u{31}\u{2c}\u{61}\u{2060}", &["\u{31}", "\u{2c}", "\u{61}\u{2060}"]), ("\u{31}\u{2c}\u{308}\u{61}\u{2060}", &["\u{31}", "\u{2c}\u{308}", "\u{61}\u{2060}"]), ("\u{31}\u{2c}\u{61}\u{3a}", &["\u{31}", "\u{2c}", "\u{61}", "\u{3a}"]), ("\u{31}\u{2c}\u{308}\u{61}\u{3a}", &["\u{31}", "\u{2c}\u{308}", "\u{61}", "\u{3a}"]), ("\u{31}\u{2c}\u{61}\u{27}", &["\u{31}", "\u{2c}", "\u{61}", "\u{27}"]), ("\u{31}\u{2c}\u{308}\u{61}\u{27}", &["\u{31}", "\u{2c}\u{308}", "\u{61}", "\u{27}"]), ("\u{31}\u{2c}\u{61}\u{27}\u{2060}", &["\u{31}", "\u{2c}", "\u{61}", "\u{27}\u{2060}"]), ("\u{31}\u{2c}\u{308}\u{61}\u{27}\u{2060}", &["\u{31}", "\u{2c}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{31}\u{2c}\u{61}\u{2c}", &["\u{31}", "\u{2c}", "\u{61}", "\u{2c}"]), ("\u{31}\u{2c}\u{308}\u{61}\u{2c}", &["\u{31}", "\u{2c}\u{308}", "\u{61}", "\u{2c}"]), ("\u{31}\u{2c}\u{31}\u{3a}", &["\u{31}\u{2c}\u{31}", "\u{3a}"]), ("\u{31}\u{2c}\u{308}\u{31}\u{3a}", &["\u{31}\u{2c}\u{308}\u{31}", "\u{3a}"]), ("\u{31}\u{2c}\u{31}\u{27}", &["\u{31}\u{2c}\u{31}", "\u{27}"]), ("\u{31}\u{2c}\u{308}\u{31}\u{27}", &["\u{31}\u{2c}\u{308}\u{31}", "\u{27}"]), ("\u{31}\u{2c}\u{31}\u{2c}", &["\u{31}\u{2c}\u{31}", "\u{2c}"]), ("\u{31}\u{2c}\u{308}\u{31}\u{2c}", &["\u{31}\u{2c}\u{308}\u{31}", "\u{2c}"]), ("\u{31}\u{2c}\u{31}\u{2e}\u{2060}", &["\u{31}\u{2c}\u{31}", "\u{2e}\u{2060}"]), ("\u{31}\u{2c}\u{308}\u{31}\u{2e}\u{2060}", &["\u{31}\u{2c}\u{308}\u{31}", "\u{2e}\u{2060}"]), ("\u{31}\u{2e}\u{2060}\u{1}", &["\u{31}", "\u{2e}\u{2060}", "\u{1}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{1}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{1}"]), ("\u{31}\u{2e}\u{2060}\u{d}", &["\u{31}", "\u{2e}\u{2060}", "\u{d}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{d}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{d}"]), ("\u{31}\u{2e}\u{2060}\u{a}", &["\u{31}", "\u{2e}\u{2060}", "\u{a}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{a}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{a}"]), ("\u{31}\u{2e}\u{2060}\u{b}", &["\u{31}", "\u{2e}\u{2060}", "\u{b}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{b}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{b}"]), ("\u{31}\u{2e}\u{2060}\u{3031}", &["\u{31}", "\u{2e}\u{2060}", "\u{3031}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{3031}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{3031}"]), ("\u{31}\u{2e}\u{2060}\u{41}", &["\u{31}", "\u{2e}\u{2060}", "\u{41}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{41}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{41}"]), ("\u{31}\u{2e}\u{2060}\u{3a}", &["\u{31}", "\u{2e}\u{2060}", "\u{3a}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{3a}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{3a}"]), ("\u{31}\u{2e}\u{2060}\u{2c}", &["\u{31}", "\u{2e}\u{2060}", "\u{2c}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{2c}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{2c}"]), ("\u{31}\u{2e}\u{2060}\u{2e}", &["\u{31}", "\u{2e}\u{2060}", "\u{2e}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{2e}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{2e}"]), ("\u{31}\u{2e}\u{2060}\u{30}", &["\u{31}\u{2e}\u{2060}\u{30}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{30}", &["\u{31}\u{2e}\u{2060}\u{308}\u{30}"]), ("\u{31}\u{2e}\u{2060}\u{5f}", &["\u{31}", "\u{2e}\u{2060}", "\u{5f}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{5f}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{5f}"]), ("\u{31}\u{2e}\u{2060}\u{1f1e6}", &["\u{31}", "\u{2e}\u{2060}", "\u{1f1e6}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{1f1e6}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{1f1e6}"]), ("\u{31}\u{2e}\u{2060}\u{5d0}", &["\u{31}", "\u{2e}\u{2060}", "\u{5d0}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{5d0}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{5d0}"]), ("\u{31}\u{2e}\u{2060}\u{22}", &["\u{31}", "\u{2e}\u{2060}", "\u{22}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{22}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{22}"]), ("\u{31}\u{2e}\u{2060}\u{27}", &["\u{31}", "\u{2e}\u{2060}", "\u{27}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{27}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{27}"]), ("\u{31}\u{2e}\u{2060}\u{261d}", &["\u{31}", "\u{2e}\u{2060}", "\u{261d}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{261d}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{261d}"]), ("\u{31}\u{2e}\u{2060}\u{1f3fb}", &["\u{31}", "\u{2e}\u{2060}", "\u{1f3fb}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{1f3fb}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{1f3fb}"]), ("\u{31}\u{2e}\u{2060}\u{2640}", &["\u{31}", "\u{2e}\u{2060}", "\u{2640}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{2640}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{2640}"]), ("\u{31}\u{2e}\u{2060}\u{1f466}", &["\u{31}", "\u{2e}\u{2060}", "\u{1f466}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{1f466}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{1f466}"]), ("\u{31}\u{2e}\u{2060}\u{ad}", &["\u{31}", "\u{2e}\u{2060}\u{ad}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{ad}", &["\u{31}", "\u{2e}\u{2060}\u{308}\u{ad}"]), ("\u{31}\u{2e}\u{2060}\u{300}", &["\u{31}", "\u{2e}\u{2060}\u{300}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{300}", &["\u{31}", "\u{2e}\u{2060}\u{308}\u{300}"]), ("\u{31}\u{2e}\u{2060}\u{200d}", &["\u{31}", "\u{2e}\u{2060}\u{200d}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{200d}", &["\u{31}", "\u{2e}\u{2060}\u{308}\u{200d}"]), ("\u{31}\u{2e}\u{2060}\u{61}\u{2060}", &["\u{31}", "\u{2e}\u{2060}", "\u{61}\u{2060}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{61}\u{2060}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{61}\u{2060}"]), ("\u{31}\u{2e}\u{2060}\u{61}\u{3a}", &["\u{31}", "\u{2e}\u{2060}", "\u{61}", "\u{3a}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{61}\u{3a}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{61}", "\u{3a}"]), ("\u{31}\u{2e}\u{2060}\u{61}\u{27}", &["\u{31}", "\u{2e}\u{2060}", "\u{61}", "\u{27}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{61}\u{27}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{61}", "\u{27}"]), ("\u{31}\u{2e}\u{2060}\u{61}\u{27}\u{2060}", &["\u{31}", "\u{2e}\u{2060}", "\u{61}", "\u{27}\u{2060}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{61}\u{27}\u{2060}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{61}", "\u{27}\u{2060}"]), ("\u{31}\u{2e}\u{2060}\u{61}\u{2c}", &["\u{31}", "\u{2e}\u{2060}", "\u{61}", "\u{2c}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{61}\u{2c}", &["\u{31}", "\u{2e}\u{2060}\u{308}", "\u{61}", "\u{2c}"]), ("\u{31}\u{2e}\u{2060}\u{31}\u{3a}", &["\u{31}\u{2e}\u{2060}\u{31}", "\u{3a}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{31}\u{3a}", &["\u{31}\u{2e}\u{2060}\u{308}\u{31}", "\u{3a}"]), ("\u{31}\u{2e}\u{2060}\u{31}\u{27}", &["\u{31}\u{2e}\u{2060}\u{31}", "\u{27}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{31}\u{27}", &["\u{31}\u{2e}\u{2060}\u{308}\u{31}", "\u{27}"]), ("\u{31}\u{2e}\u{2060}\u{31}\u{2c}", &["\u{31}\u{2e}\u{2060}\u{31}", "\u{2c}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{31}\u{2c}", &["\u{31}\u{2e}\u{2060}\u{308}\u{31}", "\u{2c}"]), ("\u{31}\u{2e}\u{2060}\u{31}\u{2e}\u{2060}", &["\u{31}\u{2e}\u{2060}\u{31}", "\u{2e}\u{2060}"]), ("\u{31}\u{2e}\u{2060}\u{308}\u{31}\u{2e}\u{2060}", &["\u{31}\u{2e}\u{2060}\u{308}\u{31}", "\u{2e}\u{2060}"]), ("\u{d}\u{a}\u{61}\u{a}\u{308}", &["\u{d}\u{a}", "\u{61}", "\u{a}", "\u{308}"]), ("\u{61}\u{308}", &["\u{61}\u{308}"]), ("\u{20}\u{200d}\u{646}", &["\u{20}\u{200d}", "\u{646}"]), ("\u{646}\u{200d}\u{20}", &["\u{646}\u{200d}", "\u{20}"]), ("\u{41}\u{41}\u{41}", &["\u{41}\u{41}\u{41}"]), ("\u{41}\u{3a}\u{41}", &["\u{41}\u{3a}\u{41}"]), ("\u{41}\u{3a}\u{3a}\u{41}", &["\u{41}", "\u{3a}", "\u{3a}", "\u{41}"]), ("\u{5d0}\u{27}", &["\u{5d0}\u{27}"]), ("\u{5d0}\u{22}\u{5d0}", &["\u{5d0}\u{22}\u{5d0}"]), ("\u{41}\u{30}\u{30}\u{41}", &["\u{41}\u{30}\u{30}\u{41}"]), ("\u{30}\u{2c}\u{30}", &["\u{30}\u{2c}\u{30}"]), ("\u{30}\u{2c}\u{2c}\u{30}", &["\u{30}", "\u{2c}", "\u{2c}", "\u{30}"]), ("\u{3031}\u{3031}", &["\u{3031}\u{3031}"]), ("\u{41}\u{5f}\u{30}\u{5f}\u{3031}\u{5f}", &["\u{41}\u{5f}\u{30}\u{5f}\u{3031}\u{5f}"]), ("\u{41}\u{5f}\u{5f}\u{41}", &["\u{41}\u{5f}\u{5f}\u{41}"]), ("\u{1f1e6}\u{1f1e7}\u{1f1e8}\u{62}", &["\u{1f1e6}\u{1f1e7}", "\u{1f1e8}", "\u{62}"]), ("\u{61}\u{1f1e6}\u{1f1e7}\u{1f1e8}\u{62}", &["\u{61}", "\u{1f1e6}\u{1f1e7}", "\u{1f1e8}", "\u{62}"]), ("\u{61}\u{1f1e6}\u{1f1e7}\u{200d}\u{1f1e8}\u{62}", &["\u{61}", "\u{1f1e6}\u{1f1e7}\u{200d}", "\u{1f1e8}", "\u{62}"]), ("\u{61}\u{1f1e6}\u{200d}\u{1f1e7}\u{1f1e8}\u{62}", &["\u{61}", "\u{1f1e6}\u{200d}\u{1f1e7}", "\u{1f1e8}", "\u{62}"]), ("\u{61}\u{1f1e6}\u{1f1e7}\u{1f1e8}\u{1f1e9}\u{62}", &["\u{61}", "\u{1f1e6}\u{1f1e7}", "\u{1f1e8}\u{1f1e9}", "\u{62}"]), ("\u{261d}\u{1f3fb}\u{261d}", &["\u{261d}\u{1f3fb}", "\u{261d}"]), ("\u{1f466}\u{1f3fb}", &["\u{1f466}\u{1f3fb}"]), ("\u{200d}\u{1f466}\u{1f3fb}", &["\u{200d}\u{1f466}\u{1f3fb}"]), ("\u{200d}\u{2640}", &["\u{200d}\u{2640}"]), ("\u{200d}\u{1f466}", &["\u{200d}\u{1f466}"]), ("\u{1f466}\u{1f466}", &["\u{1f466}", "\u{1f466}"]), ("\u{61}\u{308}\u{200d}\u{308}\u{62}", &["\u{61}\u{308}\u{200d}\u{308}\u{62}"]), ("\u{31}\u{3a}\u{3a}\u{31}", &["\u{31}", "\u{3a}", "\u{3a}", "\u{31}"]), ("\u{31}\u{5f}\u{31}\u{3a}\u{3a}\u{31}", &["\u{31}\u{5f}\u{31}", "\u{3a}", "\u{3a}", "\u{31}"]), ("\u{31}\u{5f}\u{61}\u{3a}\u{3a}\u{31}", &["\u{31}\u{5f}\u{61}", "\u{3a}", "\u{3a}", "\u{31}"]), ("\u{31}\u{3a}\u{3a}\u{61}", &["\u{31}", "\u{3a}", "\u{3a}", "\u{61}"]), ("\u{31}\u{5f}\u{31}\u{3a}\u{3a}\u{61}", &["\u{31}\u{5f}\u{31}", "\u{3a}", "\u{3a}", "\u{61}"]), ("\u{31}\u{5f}\u{61}\u{3a}\u{3a}\u{61}", &["\u{31}\u{5f}\u{61}", "\u{3a}", "\u{3a}", "\u{61}"]), ("\u{31}\u{3a}\u{2e}\u{31}", &["\u{31}", "\u{3a}", "\u{2e}", "\u{31}"]), ("\u{31}\u{5f}\u{31}\u{3a}\u{2e}\u{31}", &["\u{31}\u{5f}\u{31}", "\u{3a}", "\u{2e}", "\u{31}"]), ("\u{31}\u{5f}\u{61}\u{3a}\u{2e}\u{31}", &["\u{31}\u{5f}\u{61}", "\u{3a}", "\u{2e}", "\u{31}"]), ("\u{31}\u{3a}\u{2e}\u{61}", &["\u{31}", "\u{3a}", "\u{2e}", "\u{61}"]), ("\u{31}\u{5f}\u{31}\u{3a}\u{2e}\u{61}", &["\u{31}\u{5f}\u{31}", "\u{3a}", "\u{2e}", "\u{61}"]), ("\u{31}\u{5f}\u{61}\u{3a}\u{2e}\u{61}", &["\u{31}\u{5f}\u{61}", "\u{3a}", "\u{2e}", "\u{61}"]), ("\u{31}\u{3a}\u{2c}\u{31}", &["\u{31}", "\u{3a}", "\u{2c}", "\u{31}"]), ("\u{31}\u{5f}\u{31}\u{3a}\u{2c}\u{31}", &["\u{31}\u{5f}\u{31}", "\u{3a}", "\u{2c}", "\u{31}"]), ("\u{31}\u{5f}\u{61}\u{3a}\u{2c}\u{31}", &["\u{31}\u{5f}\u{61}", "\u{3a}", "\u{2c}", "\u{31}"]), ("\u{31}\u{3a}\u{2c}\u{61}", &["\u{31}", "\u{3a}", "\u{2c}", "\u{61}"]), ("\u{31}\u{5f}\u{31}\u{3a}\u{2c}\u{61}", &["\u{31}\u{5f}\u{31}", "\u{3a}", "\u{2c}", "\u{61}"]), ("\u{31}\u{5f}\u{61}\u{3a}\u{2c}\u{61}", &["\u{31}\u{5f}\u{61}", "\u{3a}", "\u{2c}", "\u{61}"]), ("\u{31}\u{2e}\u{3a}\u{31}", &["\u{31}", "\u{2e}", "\u{3a}", "\u{31}"]), ("\u{31}\u{5f}\u{31}\u{2e}\u{3a}\u{31}", &["\u{31}\u{5f}\u{31}", "\u{2e}", "\u{3a}", "\u{31}"]), ("\u{31}\u{5f}\u{61}\u{2e}\u{3a}\u{31}", &["\u{31}\u{5f}\u{61}", "\u{2e}", "\u{3a}", "\u{31}"]), ("\u{31}\u{2e}\u{3a}\u{61}", &["\u{31}", "\u{2e}", "\u{3a}", "\u{61}"]), ("\u{31}\u{5f}\u{31}\u{2e}\u{3a}\u{61}", &["\u{31}\u{5f}\u{31}", "\u{2e}", "\u{3a}", "\u{61}"]), ("\u{31}\u{5f}\u{61}\u{2e}\u{3a}\u{61}", &["\u{31}\u{5f}\u{61}", "\u{2e}", "\u{3a}", "\u{61}"]), ("\u{31}\u{2e}\u{2e}\u{31}", &["\u{31}", "\u{2e}", "\u{2e}", "\u{31}"]), ("\u{31}\u{5f}\u{31}\u{2e}\u{2e}\u{31}", &["\u{31}\u{5f}\u{31}", "\u{2e}", "\u{2e}", "\u{31}"]), ("\u{31}\u{5f}\u{61}\u{2e}\u{2e}\u{31}", &["\u{31}\u{5f}\u{61}", "\u{2e}", "\u{2e}", "\u{31}"]), ("\u{31}\u{2e}\u{2e}\u{61}", &["\u{31}", "\u{2e}", "\u{2e}", "\u{61}"]), ("\u{31}\u{5f}\u{31}\u{2e}\u{2e}\u{61}", &["\u{31}\u{5f}\u{31}", "\u{2e}", "\u{2e}", "\u{61}"]), ("\u{31}\u{5f}\u{61}\u{2e}\u{2e}\u{61}", &["\u{31}\u{5f}\u{61}", "\u{2e}", "\u{2e}", "\u{61}"]), ("\u{31}\u{2e}\u{2c}\u{31}", &["\u{31}", "\u{2e}", "\u{2c}", "\u{31}"]), ("\u{31}\u{5f}\u{31}\u{2e}\u{2c}\u{31}", &["\u{31}\u{5f}\u{31}", "\u{2e}", "\u{2c}", "\u{31}"]), ("\u{31}\u{5f}\u{61}\u{2e}\u{2c}\u{31}", &["\u{31}\u{5f}\u{61}", "\u{2e}", "\u{2c}", "\u{31}"]), ("\u{31}\u{2e}\u{2c}\u{61}", &["\u{31}", "\u{2e}", "\u{2c}", "\u{61}"]), ("\u{31}\u{5f}\u{31}\u{2e}\u{2c}\u{61}", &["\u{31}\u{5f}\u{31}", "\u{2e}", "\u{2c}", "\u{61}"]), ("\u{31}\u{5f}\u{61}\u{2e}\u{2c}\u{61}", &["\u{31}\u{5f}\u{61}", "\u{2e}", "\u{2c}", "\u{61}"]), ("\u{31}\u{2c}\u{3a}\u{31}", &["\u{31}", "\u{2c}", "\u{3a}", "\u{31}"]), ("\u{31}\u{5f}\u{31}\u{2c}\u{3a}\u{31}", &["\u{31}\u{5f}\u{31}", "\u{2c}", "\u{3a}", "\u{31}"]), ("\u{31}\u{5f}\u{61}\u{2c}\u{3a}\u{31}", &["\u{31}\u{5f}\u{61}", "\u{2c}", "\u{3a}", "\u{31}"]), ("\u{31}\u{2c}\u{3a}\u{61}", &["\u{31}", "\u{2c}", "\u{3a}", "\u{61}"]), ("\u{31}\u{5f}\u{31}\u{2c}\u{3a}\u{61}", &["\u{31}\u{5f}\u{31}", "\u{2c}", "\u{3a}", "\u{61}"]), ("\u{31}\u{5f}\u{61}\u{2c}\u{3a}\u{61}", &["\u{31}\u{5f}\u{61}", "\u{2c}", "\u{3a}", "\u{61}"]), ("\u{31}\u{2c}\u{2e}\u{31}", &["\u{31}", "\u{2c}", "\u{2e}", "\u{31}"]), ("\u{31}\u{5f}\u{31}\u{2c}\u{2e}\u{31}", &["\u{31}\u{5f}\u{31}", "\u{2c}", "\u{2e}", "\u{31}"]), ("\u{31}\u{5f}\u{61}\u{2c}\u{2e}\u{31}", &["\u{31}\u{5f}\u{61}", "\u{2c}", "\u{2e}", "\u{31}"]), ("\u{31}\u{2c}\u{2e}\u{61}", &["\u{31}", "\u{2c}", "\u{2e}", "\u{61}"]), ("\u{31}\u{5f}\u{31}\u{2c}\u{2e}\u{61}", &["\u{31}\u{5f}\u{31}", "\u{2c}", "\u{2e}", "\u{61}"]), ("\u{31}\u{5f}\u{61}\u{2c}\u{2e}\u{61}", &["\u{31}\u{5f}\u{61}", "\u{2c}", "\u{2e}", "\u{61}"]), ("\u{31}\u{2c}\u{2c}\u{31}", &["\u{31}", "\u{2c}", "\u{2c}", "\u{31}"]), ("\u{31}\u{5f}\u{31}\u{2c}\u{2c}\u{31}", &["\u{31}\u{5f}\u{31}", "\u{2c}", "\u{2c}", "\u{31}"]), ("\u{31}\u{5f}\u{61}\u{2c}\u{2c}\u{31}", &["\u{31}\u{5f}\u{61}", "\u{2c}", "\u{2c}", "\u{31}"]), ("\u{31}\u{2c}\u{2c}\u{61}", &["\u{31}", "\u{2c}", "\u{2c}", "\u{61}"]), ("\u{31}\u{5f}\u{31}\u{2c}\u{2c}\u{61}", &["\u{31}\u{5f}\u{31}", "\u{2c}", "\u{2c}", "\u{61}"]), ("\u{31}\u{5f}\u{61}\u{2c}\u{2c}\u{61}", &["\u{31}\u{5f}\u{61}", "\u{2c}", "\u{2c}", "\u{61}"]), ("\u{61}\u{3a}\u{3a}\u{31}", &["\u{61}", "\u{3a}", "\u{3a}", "\u{31}"]), ("\u{61}\u{5f}\u{31}\u{3a}\u{3a}\u{31}", &["\u{61}\u{5f}\u{31}", "\u{3a}", "\u{3a}", "\u{31}"]), ("\u{61}\u{5f}\u{61}\u{3a}\u{3a}\u{31}", &["\u{61}\u{5f}\u{61}", "\u{3a}", "\u{3a}", "\u{31}"]), ("\u{61}\u{3a}\u{3a}\u{61}", &["\u{61}", "\u{3a}", "\u{3a}", "\u{61}"]), ("\u{61}\u{5f}\u{31}\u{3a}\u{3a}\u{61}", &["\u{61}\u{5f}\u{31}", "\u{3a}", "\u{3a}", "\u{61}"]), ("\u{61}\u{5f}\u{61}\u{3a}\u{3a}\u{61}", &["\u{61}\u{5f}\u{61}", "\u{3a}", "\u{3a}", "\u{61}"]), ("\u{61}\u{3a}\u{2e}\u{31}", &["\u{61}", "\u{3a}", "\u{2e}", "\u{31}"]), ("\u{61}\u{5f}\u{31}\u{3a}\u{2e}\u{31}", &["\u{61}\u{5f}\u{31}", "\u{3a}", "\u{2e}", "\u{31}"]), ("\u{61}\u{5f}\u{61}\u{3a}\u{2e}\u{31}", &["\u{61}\u{5f}\u{61}", "\u{3a}", "\u{2e}", "\u{31}"]), ("\u{61}\u{3a}\u{2e}\u{61}", &["\u{61}", "\u{3a}", "\u{2e}", "\u{61}"]), ("\u{61}\u{5f}\u{31}\u{3a}\u{2e}\u{61}", &["\u{61}\u{5f}\u{31}", "\u{3a}", "\u{2e}", "\u{61}"]), ("\u{61}\u{5f}\u{61}\u{3a}\u{2e}\u{61}", &["\u{61}\u{5f}\u{61}", "\u{3a}", "\u{2e}", "\u{61}"]), ("\u{61}\u{3a}\u{2c}\u{31}", &["\u{61}", "\u{3a}", "\u{2c}", "\u{31}"]), ("\u{61}\u{5f}\u{31}\u{3a}\u{2c}\u{31}", &["\u{61}\u{5f}\u{31}", "\u{3a}", "\u{2c}", "\u{31}"]), ("\u{61}\u{5f}\u{61}\u{3a}\u{2c}\u{31}", &["\u{61}\u{5f}\u{61}", "\u{3a}", "\u{2c}", "\u{31}"]), ("\u{61}\u{3a}\u{2c}\u{61}", &["\u{61}", "\u{3a}", "\u{2c}", "\u{61}"]), ("\u{61}\u{5f}\u{31}\u{3a}\u{2c}\u{61}", &["\u{61}\u{5f}\u{31}", "\u{3a}", "\u{2c}", "\u{61}"]), ("\u{61}\u{5f}\u{61}\u{3a}\u{2c}\u{61}", &["\u{61}\u{5f}\u{61}", "\u{3a}", "\u{2c}", "\u{61}"]), ("\u{61}\u{2e}\u{3a}\u{31}", &["\u{61}", "\u{2e}", "\u{3a}", "\u{31}"]), ("\u{61}\u{5f}\u{31}\u{2e}\u{3a}\u{31}", &["\u{61}\u{5f}\u{31}", "\u{2e}", "\u{3a}", "\u{31}"]), ("\u{61}\u{5f}\u{61}\u{2e}\u{3a}\u{31}", &["\u{61}\u{5f}\u{61}", "\u{2e}", "\u{3a}", "\u{31}"]), ("\u{61}\u{2e}\u{3a}\u{61}", &["\u{61}", "\u{2e}", "\u{3a}", "\u{61}"]), ("\u{61}\u{5f}\u{31}\u{2e}\u{3a}\u{61}", &["\u{61}\u{5f}\u{31}", "\u{2e}", "\u{3a}", "\u{61}"]), ("\u{61}\u{5f}\u{61}\u{2e}\u{3a}\u{61}", &["\u{61}\u{5f}\u{61}", "\u{2e}", "\u{3a}", "\u{61}"]), ("\u{61}\u{2e}\u{2e}\u{31}", &["\u{61}", "\u{2e}", "\u{2e}", "\u{31}"]), ("\u{61}\u{5f}\u{31}\u{2e}\u{2e}\u{31}", &["\u{61}\u{5f}\u{31}", "\u{2e}", "\u{2e}", "\u{31}"]), ("\u{61}\u{5f}\u{61}\u{2e}\u{2e}\u{31}", &["\u{61}\u{5f}\u{61}", "\u{2e}", "\u{2e}", "\u{31}"]), ("\u{61}\u{2e}\u{2e}\u{61}", &["\u{61}", "\u{2e}", "\u{2e}", "\u{61}"]), ("\u{61}\u{5f}\u{31}\u{2e}\u{2e}\u{61}", &["\u{61}\u{5f}\u{31}", "\u{2e}", "\u{2e}", "\u{61}"]), ("\u{61}\u{5f}\u{61}\u{2e}\u{2e}\u{61}", &["\u{61}\u{5f}\u{61}", "\u{2e}", "\u{2e}", "\u{61}"]), ("\u{61}\u{2e}\u{2c}\u{31}", &["\u{61}", "\u{2e}", "\u{2c}", "\u{31}"]), ("\u{61}\u{5f}\u{31}\u{2e}\u{2c}\u{31}", &["\u{61}\u{5f}\u{31}", "\u{2e}", "\u{2c}", "\u{31}"]), ("\u{61}\u{5f}\u{61}\u{2e}\u{2c}\u{31}", &["\u{61}\u{5f}\u{61}", "\u{2e}", "\u{2c}", "\u{31}"]), ("\u{61}\u{2e}\u{2c}\u{61}", &["\u{61}", "\u{2e}", "\u{2c}", "\u{61}"]), ("\u{61}\u{5f}\u{31}\u{2e}\u{2c}\u{61}", &["\u{61}\u{5f}\u{31}", "\u{2e}", "\u{2c}", "\u{61}"]), ("\u{61}\u{5f}\u{61}\u{2e}\u{2c}\u{61}", &["\u{61}\u{5f}\u{61}", "\u{2e}", "\u{2c}", "\u{61}"]), ("\u{61}\u{2c}\u{3a}\u{31}", &["\u{61}", "\u{2c}", "\u{3a}", "\u{31}"]), ("\u{61}\u{5f}\u{31}\u{2c}\u{3a}\u{31}", &["\u{61}\u{5f}\u{31}", "\u{2c}", "\u{3a}", "\u{31}"]), ("\u{61}\u{5f}\u{61}\u{2c}\u{3a}\u{31}", &["\u{61}\u{5f}\u{61}", "\u{2c}", "\u{3a}", "\u{31}"]), ("\u{61}\u{2c}\u{3a}\u{61}", &["\u{61}", "\u{2c}", "\u{3a}", "\u{61}"]), ("\u{61}\u{5f}\u{31}\u{2c}\u{3a}\u{61}", &["\u{61}\u{5f}\u{31}", "\u{2c}", "\u{3a}", "\u{61}"]), ("\u{61}\u{5f}\u{61}\u{2c}\u{3a}\u{61}", &["\u{61}\u{5f}\u{61}", "\u{2c}", "\u{3a}", "\u{61}"]), ("\u{61}\u{2c}\u{2e}\u{31}", &["\u{61}", "\u{2c}", "\u{2e}", "\u{31}"]), ("\u{61}\u{5f}\u{31}\u{2c}\u{2e}\u{31}", &["\u{61}\u{5f}\u{31}", "\u{2c}", "\u{2e}", "\u{31}"]), ("\u{61}\u{5f}\u{61}\u{2c}\u{2e}\u{31}", &["\u{61}\u{5f}\u{61}", "\u{2c}", "\u{2e}", "\u{31}"]), ("\u{61}\u{2c}\u{2e}\u{61}", &["\u{61}", "\u{2c}", "\u{2e}", "\u{61}"]), ("\u{61}\u{5f}\u{31}\u{2c}\u{2e}\u{61}", &["\u{61}\u{5f}\u{31}", "\u{2c}", "\u{2e}", "\u{61}"]), ("\u{61}\u{5f}\u{61}\u{2c}\u{2e}\u{61}", &["\u{61}\u{5f}\u{61}", "\u{2c}", "\u{2e}", "\u{61}"]), ("\u{61}\u{2c}\u{2c}\u{31}", &["\u{61}", "\u{2c}", "\u{2c}", "\u{31}"]), ("\u{61}\u{5f}\u{31}\u{2c}\u{2c}\u{31}", &["\u{61}\u{5f}\u{31}", "\u{2c}", "\u{2c}", "\u{31}"]), ("\u{61}\u{5f}\u{61}\u{2c}\u{2c}\u{31}", &["\u{61}\u{5f}\u{61}", "\u{2c}", "\u{2c}", "\u{31}"]), ("\u{61}\u{2c}\u{2c}\u{61}", &["\u{61}", "\u{2c}", "\u{2c}", "\u{61}"]), ("\u{61}\u{5f}\u{31}\u{2c}\u{2c}\u{61}", &["\u{61}\u{5f}\u{31}", "\u{2c}", "\u{2c}", "\u{61}"]), ("\u{61}\u{5f}\u{61}\u{2c}\u{2c}\u{61}", &["\u{61}\u{5f}\u{61}", "\u{2c}", "\u{2c}", "\u{61}"]), ] unic-segment-0.9.0/tests/words_conformance_tests.rs010064400007650000024000000047531343520353600210140ustar0000000000000000// Copyright 2012-2015 The Rust Project Developers. // Copyright 2017 The UNIC Project Developers. // // See the COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. use unic_segment::{WordBoundIndices, WordBounds}; type TestData = &'static [(&'static str, &'static [&'static str])]; const TEST_DATA: TestData = include!("tables/word_break_test_data.rsv"); /// Extra cases that the official test suite doesn't cover. const EXTRA_TEST_DATA: TestData = include!("extra_word_break_test_data.rsv"); #[test] fn test_words_conformance() { let tests = TEST_DATA.iter().chain(EXTRA_TEST_DATA); for &(input, words) in tests { macro_rules! assert_ { ($test:expr, $exp:expr, $name:expr) => { // collect into vector for better diagnostics in failure case let testing = $test.collect::>(); let expected = $exp.collect::>(); assert_eq!( testing, expected, "{} test for testcase ({:?}, {:?}) failed.", $name, input, words ) }; } // test forward word boundaries assert_!( WordBounds::new(input), words.iter().cloned(), "Forward word boundaries" ); // test reverse word boundaries assert_!( WordBounds::new(input).rev(), words.iter().rev().cloned(), "Reverse word boundaries" ); // generate offsets from word string lengths let mut indices = vec![0]; for i in words.iter().cloned().map(|s| s.len()).scan(0, |t, n| { *t += n; Some(*t) }) { indices.push(i); } indices.pop(); let indices = indices; // test forward indices iterator assert_!( WordBoundIndices::new(input).map(|(l, _)| l), indices.iter().cloned(), "Forward word indices" ); // test backward indices iterator assert_!( WordBoundIndices::new(input).rev().map(|(l, _)| l), indices.iter().rev().cloned(), "Reverse word indices" ); } } unic-segment-0.9.0/.cargo_vcs_info.json0000644000000001120000000000000134710ustar00{ "git": { "sha1": "8a6ce83063d90b91ae2ce59eddb803edd393fca9" } }