Composition.cs   [plain text]


/// <summary> Copyright (C) 2004, 2005  Free Software Foundation, Inc.
/// *
/// Author: Alexander Gnauck AG-Software
/// *
/// This file is part of GNU Libidn.
/// *
/// This program is free software; you can redistribute it and/or
/// modify it under the terms of the GNU General Public License as
/// published by the Free Software Foundation; either version 2 of the
/// License, or (at your option) any later version.
/// *
/// This program is distributed in the hope that it will be useful,
/// but WITHOUT ANY WARRANTY; without even the implied warranty of
/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
/// General Public License for more details.
/// *
/// You should have received a copy of the GNU General Public License
/// along with this program; if not, write to the Free Software
/// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
/// 02111-1307 USA.
/// </summary>

using System;

namespace gnu.inet.encoding
{	
	
	public class Composition
	{
		public static char[][] multiFirst = new char[][] {
			new char[] { '\u00C0', '\u00C1', '\u00C2', '\u00C3', '\u0100', '\u0102', '\u0226', '\u00C4', '\u1EA2', '\u00C5', '\u01CD', '\u0200', '\u0202', '\u1EA0', '\u1E00', '\u0104', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E02', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E04', (char) 0, (char) 0, '\u1E06', },
			new char[] { (char) 0, '\u0106', '\u0108', (char) 0, (char) 0, (char) 0, '\u010A', (char) 0, (char) 0, (char) 0, '\u010C', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u00C7', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E0A', (char) 0, (char) 0, (char) 0, '\u010E', (char) 0, (char) 0, '\u1E0C', (char) 0, (char) 0, '\u1E0E', '\u1E10', '\u1E12', },
			new char[] { '\u00C8', '\u00C9', '\u00CA', '\u1EBC', '\u0112', '\u0114', '\u0116', '\u00CB', '\u1EBA', (char) 0, '\u011A', '\u0204', '\u0206', '\u1EB8', (char) 0, '\u0118', (char) 0, '\u0228', '\u1E18', '\u1E1A', },
			new char[] { (char) 0, '\u01F4', '\u011C', (char) 0, '\u1E20', '\u011E', '\u0120', (char) 0, (char) 0, (char) 0, '\u01E6', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u0122', },
			new char[] { (char) 0, (char) 0, '\u0124', (char) 0, (char) 0, (char) 0, '\u1E22', '\u1E26', (char) 0, (char) 0, '\u021E', (char) 0, (char) 0, '\u1E24', (char) 0, (char) 0, (char) 0, '\u1E28', (char) 0, (char) 0, '\u1E2A', },
			new char[] { '\u00CC', '\u00CD', '\u00CE', '\u0128', '\u012A', '\u012C', '\u0130', '\u00CF', '\u1EC8', (char) 0, '\u01CF', '\u0208', '\u020A', '\u1ECA', (char) 0, '\u012E', (char) 0, (char) 0, (char) 0, '\u1E2C', },
			new char[] { (char) 0, '\u1E30', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u01E8', (char) 0, (char) 0, '\u1E32', (char) 0, (char) 0, '\u1E34', '\u0136', },
			new char[] { (char) 0, '\u0139', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u013D', (char) 0, (char) 0, '\u1E36', (char) 0, (char) 0, '\u1E3A', '\u013B', '\u1E3C', },
			new char[] { (char) 0, '\u1E3E', (char) 0, (char) 0, (char) 0, (char) 0, '\u1E40', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E42', },
			new char[] { '\u01F8', '\u0143', (char) 0, '\u00D1', (char) 0, (char) 0, '\u1E44', (char) 0, (char) 0, (char) 0, '\u0147', (char) 0, (char) 0, '\u1E46', (char) 0, (char) 0, '\u1E48', '\u0145', '\u1E4A', },
			new char[] { '\u00D2', '\u00D3', '\u00D4', '\u00D5', '\u014C', '\u014E', '\u022E', '\u00D6', '\u1ECE', (char) 0, '\u01D1', '\u020C', '\u020E', '\u1ECC', (char) 0, '\u01EA', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u0150', '\u01A0', },
			new char[] { (char) 0, '\u1E54', (char) 0, (char) 0, (char) 0, (char) 0, '\u1E56', },
			new char[] { (char) 0, '\u0154', (char) 0, (char) 0, (char) 0, (char) 0, '\u1E58', (char) 0, (char) 0, (char) 0, '\u0158', '\u0210', '\u0212', '\u1E5A', (char) 0, (char) 0, '\u1E5E', '\u0156', },
			new char[] { (char) 0, '\u015A', '\u015C', (char) 0, (char) 0, (char) 0, '\u1E60', (char) 0, (char) 0, (char) 0, '\u0160', (char) 0, (char) 0, '\u1E62', (char) 0, (char) 0, (char) 0, '\u015E', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u0218', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E6A', (char) 0, (char) 0, (char) 0, '\u0164', (char) 0, (char) 0, '\u1E6C', (char) 0, (char) 0, '\u1E6E', '\u0162', '\u1E70', (char) 0, (char) 0, (char) 0, (char) 0, '\u021A', },
			new char[] { '\u00D9', '\u00DA', '\u00DB', '\u0168', '\u016A', '\u016C', (char) 0, '\u00DC', '\u1EE6', '\u016E', '\u01D3', '\u0214', '\u0216', '\u1EE4', (char) 0, '\u0172', (char) 0, (char) 0, '\u1E76', '\u1E74', (char) 0, '\u0170', '\u01AF', (char) 0, '\u1E72', },
			new char[] { (char) 0, (char) 0, (char) 0, '\u1E7C', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E7E', },
			new char[] { '\u1E80', '\u1E82', '\u0174', (char) 0, (char) 0, (char) 0, '\u1E86', '\u1E84', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E88', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E8A', '\u1E8C', },
			new char[] { '\u1EF2', '\u00DD', '\u0176', '\u1EF8', '\u0232', (char) 0, '\u1E8E', '\u0178', '\u1EF6', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EF4', },
			new char[] { (char) 0, '\u0179', '\u1E90', (char) 0, (char) 0, (char) 0, '\u017B', (char) 0, (char) 0, (char) 0, '\u017D', (char) 0, (char) 0, '\u1E92', (char) 0, (char) 0, '\u1E94', },
			new char[] { '\u00E0', '\u00E1', '\u00E2', '\u00E3', '\u0101', '\u0103', '\u0227', '\u00E4', '\u1EA3', '\u00E5', '\u01CE', '\u0201', '\u0203', '\u1EA1', '\u1E01', '\u0105', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E03', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E05', (char) 0, (char) 0, '\u1E07', },
			new char[] { (char) 0, '\u0107', '\u0109', (char) 0, (char) 0, (char) 0, '\u010B', (char) 0, (char) 0, (char) 0, '\u010D', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u00E7', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E0B', (char) 0, (char) 0, (char) 0, '\u010F', (char) 0, (char) 0, '\u1E0D', (char) 0, (char) 0, '\u1E0F', '\u1E11', '\u1E13', },
			new char[] { '\u00E8', '\u00E9', '\u00EA', '\u1EBD', '\u0113', '\u0115', '\u0117', '\u00EB', '\u1EBB', (char) 0, '\u011B', '\u0205', '\u0207', '\u1EB9', (char) 0, '\u0119', (char) 0, '\u0229', '\u1E19', '\u1E1B', },
			new char[] { (char) 0, '\u01F5', '\u011D', (char) 0, '\u1E21', '\u011F', '\u0121', (char) 0, (char) 0, (char) 0, '\u01E7', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u0123', },
			new char[] { (char) 0, (char) 0, '\u0125', (char) 0, (char) 0, (char) 0, '\u1E23', '\u1E27', (char) 0, (char) 0, '\u021F', (char) 0, (char) 0, '\u1E25', (char) 0, (char) 0, '\u1E96', '\u1E29', (char) 0, (char) 0, '\u1E2B', },
			new char[] { '\u00EC', '\u00ED', '\u00EE', '\u0129', '\u012B', '\u012D', (char) 0, '\u00EF', '\u1EC9', (char) 0, '\u01D0', '\u0209', '\u020B', '\u1ECB', (char) 0, '\u012F', (char) 0, (char) 0, (char) 0, '\u1E2D', },
			new char[] { (char) 0, (char) 0, '\u0135', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u01F0', },
			new char[] { (char) 0, '\u1E31', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u01E9', (char) 0, (char) 0, '\u1E33', (char) 0, (char) 0, '\u1E35', '\u0137', },
			new char[] { (char) 0, '\u013A', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u013E', (char) 0, (char) 0, '\u1E37', (char) 0, (char) 0, '\u1E3B', '\u013C', '\u1E3D', },
			new char[] { (char) 0, '\u1E3F', (char) 0, (char) 0, (char) 0, (char) 0, '\u1E41', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E43', },
			new char[] { '\u01F9', '\u0144', (char) 0, '\u00F1', (char) 0, (char) 0, '\u1E45', (char) 0, (char) 0, (char) 0, '\u0148', (char) 0, (char) 0, '\u1E47', (char) 0, (char) 0, '\u1E49', '\u0146', '\u1E4B', },
			new char[] { '\u00F2', '\u00F3', '\u00F4', '\u00F5', '\u014D', '\u014F', '\u022F', '\u00F6', '\u1ECF', (char) 0, '\u01D2', '\u020D', '\u020F', '\u1ECD', (char) 0, '\u01EB', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u0151', '\u01A1', },
			new char[] { (char) 0, '\u1E55', (char) 0, (char) 0, (char) 0, (char) 0, '\u1E57', },
			new char[] { (char) 0, '\u0155', (char) 0, (char) 0, (char) 0, (char) 0, '\u1E59', (char) 0, (char) 0, (char) 0, '\u0159', '\u0211', '\u0213', '\u1E5B', (char) 0, (char) 0, '\u1E5F', '\u0157', },
			new char[] { (char) 0, '\u015B', '\u015D', (char) 0, (char) 0, (char) 0, '\u1E61', (char) 0, (char) 0, (char) 0, '\u0161', (char) 0, (char) 0, '\u1E63', (char) 0, (char) 0, (char) 0, '\u015F', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u0219', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E6B', '\u1E97', (char) 0, (char) 0, '\u0165', (char) 0, (char) 0, '\u1E6D', (char) 0, (char) 0, '\u1E6F', '\u0163', '\u1E71', (char) 0, (char) 0, (char) 0, (char) 0, '\u021B', },
			new char[] { '\u00F9', '\u00FA', '\u00FB', '\u0169', '\u016B', '\u016D', (char) 0, '\u00FC', '\u1EE7', '\u016F', '\u01D4', '\u0215', '\u0217', '\u1EE5', (char) 0, '\u0173', (char) 0, (char) 0, '\u1E77', '\u1E75', (char) 0, '\u0171', '\u01B0', (char) 0, '\u1E73', },
			new char[] { (char) 0, (char) 0, (char) 0, '\u1E7D', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E7F', },
			new char[] { '\u1E81', '\u1E83', '\u0175', (char) 0, (char) 0, (char) 0, '\u1E87', '\u1E85', (char) 0, '\u1E98', (char) 0, (char) 0, (char) 0, '\u1E89', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1E8B', '\u1E8D', },
			new char[] { '\u1EF3', '\u00FD', '\u0177', '\u1EF9', '\u0233', (char) 0, '\u1E8F', '\u00FF', '\u1EF7', '\u1E99', (char) 0, (char) 0, (char) 0, '\u1EF5', },
			new char[] { (char) 0, '\u017A', '\u1E91', (char) 0, (char) 0, (char) 0, '\u017C', (char) 0, (char) 0, (char) 0, '\u017E', (char) 0, (char) 0, '\u1E93', (char) 0, (char) 0, '\u1E95', },
			new char[] { '\u1FED', '\u0385', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1FC1', },
			new char[] { '\u1EA6', '\u1EA4', (char) 0, '\u1EAA', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EA8', },
			new char[] { (char) 0, '\u01FC', (char) 0, (char) 0, '\u01E2', },
			new char[] { '\u1EC0', '\u1EBE', (char) 0, '\u1EC4', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EC2', },
			new char[] { '\u1ED2', '\u1ED0', (char) 0, '\u1ED6', (char) 0, (char) 0, (char) 0, (char) 0, '\u1ED4', },
			new char[] { (char) 0, '\u1E4C', (char) 0, (char) 0, '\u022C', (char) 0, (char) 0, '\u1E4E', },
			new char[] { '\u01DB', '\u01D7', (char) 0, (char) 0, '\u01D5', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u01D9', },
			new char[] { '\u1EA7', '\u1EA5', (char) 0, '\u1EAB', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EA9', },
			new char[] { (char) 0, '\u01FD', (char) 0, (char) 0, '\u01E3', },
			new char[] { '\u1EC1', '\u1EBF', (char) 0, '\u1EC5', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EC3', },
			new char[] { '\u1ED3', '\u1ED1', (char) 0, '\u1ED7', (char) 0, (char) 0, (char) 0, (char) 0, '\u1ED5', },
			new char[] { (char) 0, '\u1E4D', (char) 0, (char) 0, '\u022D', (char) 0, (char) 0, '\u1E4F', },
			new char[] { '\u01DC', '\u01D8', (char) 0, (char) 0, '\u01D6', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u01DA', },
			new char[] { '\u1EB0', '\u1EAE', (char) 0, '\u1EB4', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EB2', },
			new char[] { '\u1EB1', '\u1EAF', (char) 0, '\u1EB5', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EB3', },
			new char[] { '\u1E14', '\u1E16', },
			new char[] { '\u1E15', '\u1E17', },
			new char[] { '\u1E50', '\u1E52', },
			new char[] { '\u1E51', '\u1E53', },
			new char[] { '\u1EDC', '\u1EDA', (char) 0, '\u1EE0', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EDE', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EE2', },
			new char[] { '\u1EDD', '\u1EDB', (char) 0, '\u1EE1', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EDF', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EE3', },
			new char[] { '\u1EEA', '\u1EE8', (char) 0, '\u1EEE', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EEC', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EF0', },
			new char[] { '\u1EEB', '\u1EE9', (char) 0, '\u1EEF', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EED', (char) 0, (char) 0, (char) 0, (char) 0, '\u1EF1', },
			new char[] { '\u1FBA', '\u0386', (char) 0, (char) 0, '\u1FB9', '\u1FB8', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F08', '\u1F09', '\u1FBC', },
			new char[] { '\u1FC8', '\u0388', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F18', '\u1F19', },
			new char[] { '\u1FCA', '\u0389', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F28', '\u1F29', '\u1FCC', },
			new char[] { '\u1FDA', '\u038A', (char) 0, (char) 0, '\u1FD9', '\u1FD8', (char) 0, '\u03AA', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F38', '\u1F39', },
			new char[] { '\u1FF8', '\u038C', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F48', '\u1F49', },
			new char[] { '\u1FEA', '\u038E', (char) 0, (char) 0, '\u1FE9', '\u1FE8', (char) 0, '\u03AB', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F59', },
			new char[] { '\u1FFA', '\u038F', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F68', '\u1F69', '\u1FFC', },
			new char[] { '\u1F70', '\u03AC', (char) 0, (char) 0, '\u1FB1', '\u1FB0', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1FB6', '\u1F00', '\u1F01', '\u1FB3', },
			new char[] { '\u1F72', '\u03AD', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F10', '\u1F11', },
			new char[] { '\u1F74', '\u03AE', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1FC6', '\u1F20', '\u1F21', '\u1FC3', },
			new char[] { '\u1F76', '\u03AF', (char) 0, (char) 0, '\u1FD1', '\u1FD0', (char) 0, '\u03CA', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1FD6', '\u1F30', '\u1F31', },
			new char[] { '\u1F78', '\u03CC', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F40', '\u1F41', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1FE4', '\u1FE5', },
			new char[] { '\u1F7A', '\u03CD', (char) 0, (char) 0, '\u1FE1', '\u1FE0', (char) 0, '\u03CB', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1FE6', '\u1F50', '\u1F51', },
			new char[] { '\u1F7C', '\u03CE', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1FF6', '\u1F60', '\u1F61', '\u1FF3', },
			new char[] { '\u1FD2', '\u0390', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1FD7', },
			new char[] { '\u1FE2', '\u03B0', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1FE7', },
			new char[] { (char) 0, '\u03D3', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u03D4', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u04D0', (char) 0, '\u04D2', },
			new char[] { '\u0400', (char) 0, (char) 0, (char) 0, (char) 0, '\u04D6', (char) 0, '\u0401', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u04C1', (char) 0, '\u04DC', },
			new char[] { '\u040D', (char) 0, (char) 0, (char) 0, '\u04E2', '\u0419', (char) 0, '\u04E4', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, '\u04EE', '\u040E', (char) 0, '\u04F0', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u04F2', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u04D1', (char) 0, '\u04D3', },
			new char[] { '\u0450', (char) 0, (char) 0, (char) 0, (char) 0, '\u04D7', (char) 0, '\u0451', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u04C2', (char) 0, '\u04DD', },
			new char[] { '\u045D', (char) 0, (char) 0, (char) 0, '\u04E3', '\u0439', (char) 0, '\u04E5', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, '\u04EF', '\u045E', (char) 0, '\u04F1', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u04F3', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u0623', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u0BCA', '\u0BCC', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u0CC7', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u0D4A', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u0DDA', },
			new char[] { (char) 0, (char) 0, '\u1EAC', (char) 0, (char) 0, '\u1EB6', },
			new char[] { (char) 0, (char) 0, '\u1EAD', (char) 0, (char) 0, '\u1EB7', },
			new char[] { '\u1F02', '\u1F04', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F06', (char) 0, (char) 0, '\u1F80', },
			new char[] { '\u1F03', '\u1F05', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F07', (char) 0, (char) 0, '\u1F81', },
			new char[] { '\u1F0A', '\u1F0C', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F0E', (char) 0, (char) 0, '\u1F88', },
			new char[] { '\u1F0B', '\u1F0D', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F0F', (char) 0, (char) 0, '\u1F89', },
			new char[] { '\u1F12', '\u1F14', },
			new char[] { '\u1F13', '\u1F15', },
			new char[] { '\u1F1A', '\u1F1C', },
			new char[] { '\u1F1B', '\u1F1D', },
			new char[] { '\u1F22', '\u1F24', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F26', (char) 0, (char) 0, '\u1F90', },
			new char[] { '\u1F23', '\u1F25', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F27', (char) 0, (char) 0, '\u1F91', },
			new char[] { '\u1F2A', '\u1F2C', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F2E', (char) 0, (char) 0, '\u1F98', },
			new char[] { '\u1F2B', '\u1F2D', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F2F', (char) 0, (char) 0, '\u1F99', },
			new char[] { '\u1F32', '\u1F34', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F36', },
			new char[] { '\u1F33', '\u1F35', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F37', },
			new char[] { '\u1F3A', '\u1F3C', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F3E', },
			new char[] { '\u1F3B', '\u1F3D', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F3F', },
			new char[] { '\u1F42', '\u1F44', },
			new char[] { '\u1F43', '\u1F45', },
			new char[] { '\u1F4A', '\u1F4C', },
			new char[] { '\u1F4B', '\u1F4D', },
			new char[] { '\u1F52', '\u1F54', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F56', },
			new char[] { '\u1F53', '\u1F55', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F57', },
			new char[] { '\u1F5B', '\u1F5D', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F5F', },
			new char[] { '\u1F62', '\u1F64', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F66', (char) 0, (char) 0, '\u1FA0', },
			new char[] { '\u1F63', '\u1F65', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F67', (char) 0, (char) 0, '\u1FA1', },
			new char[] { '\u1F6A', '\u1F6C', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F6E', (char) 0, (char) 0, '\u1FA8', },
			new char[] { '\u1F6B', '\u1F6D', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1F6F', (char) 0, (char) 0, '\u1FA9', },
			new char[] { '\u1FCD', '\u1FCE', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1FCF', },
			new char[] { '\u1FDD', '\u1FDE', (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u1FDF', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u3070', '\u3071', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u3073', '\u3074', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u3076', '\u3077', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u3079', '\u307A', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u307C', '\u307D', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u30D0', '\u30D1', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u30D3', '\u30D4', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u30D6', '\u30D7', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u30D9', '\u30DA', },
			new char[] { (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, (char) 0, '\u30DC', '\u30DD', },
					 };

		public static char[][] singleFirst = new char[][] {
			new char[] { '\u0338', '\u226E' },
			new char[] { '\u0338', '\u2260' },
			new char[] { '\u0338', '\u226F' },
			new char[] { '\u0307', '\u1E1E' },
			new char[] { '\u0302', '\u0134' },
			new char[] { '\u0307', '\u1E1F' },
			new char[] { '\u0304', '\u01DE' },
			new char[] { '\u0301', '\u01FA' },
			new char[] { '\u0301', '\u1E08' },
			new char[] { '\u0301', '\u1E2E' },
			new char[] { '\u0304', '\u022A' },
			new char[] { '\u0301', '\u01FE' },
			new char[] { '\u0304', '\u01DF' },
			new char[] { '\u0301', '\u01FB' },
			new char[] { '\u0301', '\u1E09' },
			new char[] { '\u0301', '\u1E2F' },
			new char[] { '\u0304', '\u022B' },
			new char[] { '\u0301', '\u01FF' },
			new char[] { '\u0307', '\u1E64' },
			new char[] { '\u0307', '\u1E65' },
			new char[] { '\u0307', '\u1E66' },
			new char[] { '\u0307', '\u1E67' },
			new char[] { '\u0301', '\u1E78' },
			new char[] { '\u0301', '\u1E79' },
			new char[] { '\u0308', '\u1E7A' },
			new char[] { '\u0308', '\u1E7B' },
			new char[] { '\u0307', '\u1E9B' },
			new char[] { '\u030C', '\u01EE' },
			new char[] { '\u0304', '\u01EC' },
			new char[] { '\u0304', '\u01ED' },
			new char[] { '\u0304', '\u01E0' },
			new char[] { '\u0304', '\u01E1' },
			new char[] { '\u0306', '\u1E1C' },
			new char[] { '\u0306', '\u1E1D' },
			new char[] { '\u0304', '\u0230' },
			new char[] { '\u0304', '\u0231' },
			new char[] { '\u030C', '\u01EF' },
			new char[] { '\u0314', '\u1FEC' },
			new char[] { '\u0345', '\u1FB4' },
			new char[] { '\u0345', '\u1FC4' },
			new char[] { '\u0345', '\u1FF4' },
			new char[] { '\u0308', '\u0407' },
			new char[] { '\u0301', '\u0403' },
			new char[] { '\u0308', '\u04DE' },
			new char[] { '\u0301', '\u040C' },
			new char[] { '\u0308', '\u04E6' },
			new char[] { '\u0308', '\u04F4' },
			new char[] { '\u0308', '\u04F8' },
			new char[] { '\u0308', '\u04EC' },
			new char[] { '\u0301', '\u0453' },
			new char[] { '\u0308', '\u04DF' },
			new char[] { '\u0301', '\u045C' },
			new char[] { '\u0308', '\u04E7' },
			new char[] { '\u0308', '\u04F5' },
			new char[] { '\u0308', '\u04F9' },
			new char[] { '\u0308', '\u04ED' },
			new char[] { '\u0308', '\u0457' },
			new char[] { '\u030F', '\u0476' },
			new char[] { '\u030F', '\u0477' },
			new char[] { '\u0308', '\u04DA' },
			new char[] { '\u0308', '\u04DB' },
			new char[] { '\u0308', '\u04EA' },
			new char[] { '\u0308', '\u04EB' },
			new char[] { '\u0654', '\u0624' },
			new char[] { '\u0654', '\u0626' },
			new char[] { '\u0654', '\u06C2' },
			new char[] { '\u0654', '\u06D3' },
			new char[] { '\u0654', '\u06C0' },
			new char[] { '\u093C', '\u0929' },
			new char[] { '\u093C', '\u0931' },
			new char[] { '\u093C', '\u0934' },
			new char[] { '\u0BD7', '\u0B94' },
			new char[] { '\u0BBE', '\u0BCB' },
			new char[] { '\u0C56', '\u0C48' },
			new char[] { '\u0CD5', '\u0CC0' },
			new char[] { '\u0CD5', '\u0CCB' },
			new char[] { '\u0D3E', '\u0D4B' },
			new char[] { '\u0DCA', '\u0DDD' },
			new char[] { '\u102E', '\u1026' },
			new char[] { '\u0304', '\u1E38' },
			new char[] { '\u0304', '\u1E39' },
			new char[] { '\u0304', '\u1E5C' },
			new char[] { '\u0304', '\u1E5D' },
			new char[] { '\u0307', '\u1E68' },
			new char[] { '\u0307', '\u1E69' },
			new char[] { '\u0302', '\u1EC6' },
			new char[] { '\u0302', '\u1EC7' },
			new char[] { '\u0302', '\u1ED8' },
			new char[] { '\u0302', '\u1ED9' },
			new char[] { '\u0345', '\u1F82' },
			new char[] { '\u0345', '\u1F83' },
			new char[] { '\u0345', '\u1F84' },
			new char[] { '\u0345', '\u1F85' },
			new char[] { '\u0345', '\u1F86' },
			new char[] { '\u0345', '\u1F87' },
			new char[] { '\u0345', '\u1F8A' },
			new char[] { '\u0345', '\u1F8B' },
			new char[] { '\u0345', '\u1F8C' },
			new char[] { '\u0345', '\u1F8D' },
			new char[] { '\u0345', '\u1F8E' },
			new char[] { '\u0345', '\u1F8F' },
			new char[] { '\u0345', '\u1F92' },
			new char[] { '\u0345', '\u1F93' },
			new char[] { '\u0345', '\u1F94' },
			new char[] { '\u0345', '\u1F95' },
			new char[] { '\u0345', '\u1F96' },
			new char[] { '\u0345', '\u1F97' },
			new char[] { '\u0345', '\u1F9A' },
			new char[] { '\u0345', '\u1F9B' },
			new char[] { '\u0345', '\u1F9C' },
			new char[] { '\u0345', '\u1F9D' },
			new char[] { '\u0345', '\u1F9E' },
			new char[] { '\u0345', '\u1F9F' },
			new char[] { '\u0345', '\u1FA2' },
			new char[] { '\u0345', '\u1FA3' },
			new char[] { '\u0345', '\u1FA4' },
			new char[] { '\u0345', '\u1FA5' },
			new char[] { '\u0345', '\u1FA6' },
			new char[] { '\u0345', '\u1FA7' },
			new char[] { '\u0345', '\u1FAA' },
			new char[] { '\u0345', '\u1FAB' },
			new char[] { '\u0345', '\u1FAC' },
			new char[] { '\u0345', '\u1FAD' },
			new char[] { '\u0345', '\u1FAE' },
			new char[] { '\u0345', '\u1FAF' },
			new char[] { '\u0345', '\u1FB2' },
			new char[] { '\u0345', '\u1FC2' },
			new char[] { '\u0345', '\u1FF2' },
			new char[] { '\u0345', '\u1FB7' },
			new char[] { '\u0345', '\u1FC7' },
			new char[] { '\u0345', '\u1FF7' },
			new char[] { '\u0338', '\u219A' },
			new char[] { '\u0338', '\u219B' },
			new char[] { '\u0338', '\u21AE' },
			new char[] { '\u0338', '\u21CD' },
			new char[] { '\u0338', '\u21CF' },
			new char[] { '\u0338', '\u21CE' },
			new char[] { '\u0338', '\u2204' },
			new char[] { '\u0338', '\u2209' },
			new char[] { '\u0338', '\u220C' },
			new char[] { '\u0338', '\u2224' },
			new char[] { '\u0338', '\u2226' },
			new char[] { '\u0338', '\u2241' },
			new char[] { '\u0338', '\u2244' },
			new char[] { '\u0338', '\u2247' },
			new char[] { '\u0338', '\u2249' },
			new char[] { '\u0338', '\u226D' },
			new char[] { '\u0338', '\u2262' },
			new char[] { '\u0338', '\u2270' },
			new char[] { '\u0338', '\u2271' },
			new char[] { '\u0338', '\u2274' },
			new char[] { '\u0338', '\u2275' },
			new char[] { '\u0338', '\u2278' },
			new char[] { '\u0338', '\u2279' },
			new char[] { '\u0338', '\u2280' },
			new char[] { '\u0338', '\u2281' },
			new char[] { '\u0338', '\u22E0' },
			new char[] { '\u0338', '\u22E1' },
			new char[] { '\u0338', '\u2284' },
			new char[] { '\u0338', '\u2285' },
			new char[] { '\u0338', '\u2288' },
			new char[] { '\u0338', '\u2289' },
			new char[] { '\u0338', '\u22E2' },
			new char[] { '\u0338', '\u22E3' },
			new char[] { '\u0338', '\u22AC' },
			new char[] { '\u0338', '\u22AD' },
			new char[] { '\u0338', '\u22AE' },
			new char[] { '\u0338', '\u22AF' },
			new char[] { '\u0338', '\u22EA' },
			new char[] { '\u0338', '\u22EB' },
			new char[] { '\u0338', '\u22EC' },
			new char[] { '\u0338', '\u22ED' },
			new char[] { '\u3099', '\u3094' },
			new char[] { '\u3099', '\u304C' },
			new char[] { '\u3099', '\u304E' },
			new char[] { '\u3099', '\u3050' },
			new char[] { '\u3099', '\u3052' },
			new char[] { '\u3099', '\u3054' },
			new char[] { '\u3099', '\u3056' },
			new char[] { '\u3099', '\u3058' },
			new char[] { '\u3099', '\u305A' },
			new char[] { '\u3099', '\u305C' },
			new char[] { '\u3099', '\u305E' },
			new char[] { '\u3099', '\u3060' },
			new char[] { '\u3099', '\u3062' },
			new char[] { '\u3099', '\u3065' },
			new char[] { '\u3099', '\u3067' },
			new char[] { '\u3099', '\u3069' },
			new char[] { '\u3099', '\u309E' },
			new char[] { '\u3099', '\u30F4' },
			new char[] { '\u3099', '\u30AC' },
			new char[] { '\u3099', '\u30AE' },
			new char[] { '\u3099', '\u30B0' },
			new char[] { '\u3099', '\u30B2' },
			new char[] { '\u3099', '\u30B4' },
			new char[] { '\u3099', '\u30B6' },
			new char[] { '\u3099', '\u30B8' },
			new char[] { '\u3099', '\u30BA' },
			new char[] { '\u3099', '\u30BC' },
			new char[] { '\u3099', '\u30BE' },
			new char[] { '\u3099', '\u30C0' },
			new char[] { '\u3099', '\u30C2' },
			new char[] { '\u3099', '\u30C5' },
			new char[] { '\u3099', '\u30C7' },
			new char[] { '\u3099', '\u30C9' },
			new char[] { '\u3099', '\u30F7' },
			new char[] { '\u3099', '\u30F8' },
			new char[] { '\u3099', '\u30F9' },
			new char[] { '\u3099', '\u30FA' },
			new char[] { '\u3099', '\u30FE' },
					 };
		public static char[][] singleSecond = new char[][] {
			new char[] { '\u0627', '\u0622' },
			new char[] { '\u0627', '\u0625' },
			new char[] { '\u09C7', '\u09CB' },
			new char[] { '\u09C7', '\u09CC' },
			new char[] { '\u0B47', '\u0B4B' },
			new char[] { '\u0B47', '\u0B48' },
			new char[] { '\u0B47', '\u0B4C' },
			new char[] { '\u0CC6', '\u0CCA' },
			new char[] { '\u0CC6', '\u0CC8' },
			new char[] { '\u0D46', '\u0D4C' },
			new char[] { '\u0DD9', '\u0DDC' },
			new char[] { '\u0DD9', '\u0DDE' },
					 };
		public static int multiSecondStart = 144;
		public static int singleFirstStart = 181;
		public static int singleSecondStart = 391;
		public static int[] composePage = new int[] {
			0,
			1,
			2,
			3,
			4,
			-1,
			5,
			-1,
			-1,
			6,
			-1,
			7,
			8,
			9,
			-1,
			-1,
			10,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			11,
			12,
			-1,
			13,
			14,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			-1,
			15,
			-1,
		};

		public static int[][] composeData = new int[][] {
			new int[] 
			{
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 181, 182, 183, -1, 
				-1, 0, 1, 2, 3, 4, 184, 5, 6, 7, 185, 8, 9, 10, 11, 12, 
				13, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, 
				-1, 23, 24, 25, 26, 27, 186, 28, 29, 30, 31, 32, 33, 34, 35, 36, 
				37, -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, 48, -1, 187, 188, 49, 189, -1, -1, 50, -1, -1, -1, -1, 190, 
				-1, -1, -1, -1, 51, 52, 191, -1, 192, -1, -1, -1, 53, -1, -1, -1, 
				-1, -1, 54, -1, 193, 194, 55, 195, -1, -1, 56, -1, -1, -1, -1, 196, 
				-1, -1, -1, -1, 57, 58, 197, -1, 198, -1, -1, -1, 59, -1, -1, -1, 
			},
			
			new int[] 
			{
				-1, -1, 60, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 199, 200, -1, -1, -1, -1, 
				201, 202, -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 207, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				66, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, 
				69, -1, -1, -1, -1, -1, -1, 208, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 209, 210, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
			
			new int[] {
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, 211, 212, 213, 214, -1, -1, -1, -1, 215, 216, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, 217, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
	
			new int[] {
				144, 145, 146, 147, 148, -1, 149, 150, 151, 152, 153, 165, 154, -1, -1, 155, 
				-1, 156, -1, 170, 171, -1, -1, -1, -1, -1, -1, 166, -1, -1, -1, -1, 
				-1, -1, -1, 157, 168, 158, 167, 161, 159, -1, -1, -1, -1, 162, 164, -1, 
				163, 160, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, 169, -1, -1, 172, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, 70, -1, -1, -1, 71, -1, 72, -1, 73, -1, -1, -1, -1, -1, 74, 
				-1, 218, -1, -1, -1, 75, -1, -1, -1, 76, -1, -1, 219, -1, 220, -1, 
				-1, 77, -1, -1, -1, 78, -1, 79, -1, 80, -1, -1, -1, -1, -1, 81, 
				-1, 82, -1, -1, -1, 83, -1, -1, -1, 84, 85, 86, -1, -1, 221, -1, 
				-1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
	
		new int[] 
			{
				-1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				88, -1, -1, 223, -1, 89, 90, 224, 91, -1, 225, -1, -1, -1, 226, -1, 
				-1, -1, -1, 92, -1, -1, -1, 227, -1, -1, -1, 228, -1, 229, -1, -1, 
				93, -1, -1, 230, -1, 94, 95, 231, 96, -1, 232, -1, -1, -1, 233, -1, 
				-1, -1, -1, 97, -1, -1, -1, 234, -1, -1, -1, 235, -1, 236, -1, -1, 
				-1, -1, -1, -1, -1, -1, 237, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, 238, 239, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, 240, 241, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
			new int[] {
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, 244, -1, 245, -1, -1, -1, -1, -1, 
				-1, -1, -1, 391, 173, 392, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, 246, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, 247, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
			new int[] {
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, 249, -1, -1, -1, -1, -1, -1, -1, 
				250, -1, -1, 251, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 393, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, 394, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
			new int[] {
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 395, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, 396, 397, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, 252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, 
				-1, -1, -1, -1, -1, -1, 99, 253, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
			new int[] {
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, 254, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 255, 
				-1, -1, 398, -1, -1, -1, 100, -1, -1, -1, 256, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, 176, 399, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
			new int[] {
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, 
				-1, -1, -1, -1, -1, -1, 101, 257, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, 400, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, 401, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, 102, -1, -1, 258, -1, -1, 402, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
			new int[] {
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
			new int[] {
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, 260, 261, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 262, 263, -1, -1, -1, -1, 
				-1, -1, 264, 265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				103, 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, 266, 267, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 268, 269, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
			new int[] {
				105, 106, 270, 271, 272, 273, 274, 275, 107, 108, 276, 277, 278, 279, 280, 281, 
				109, 110, -1, -1, -1, -1, -1, -1, 111, 112, -1, -1, -1, -1, -1, -1, 
				113, 114, 282, 283, 284, 285, 286, 287, 115, 116, 288, 289, 290, 291, 292, 293, 
				117, 118, -1, -1, -1, -1, -1, -1, 119, 120, -1, -1, -1, -1, -1, -1, 
				121, 122, -1, -1, -1, -1, -1, -1, 123, 124, -1, -1, -1, -1, -1, -1, 
				125, 126, -1, -1, -1, -1, -1, -1, -1, 127, -1, -1, -1, -1, -1, -1, 
				128, 129, 294, 295, 296, 297, 298, 299, 130, 131, 300, 301, 302, 303, 304, 305, 
				306, -1, -1, -1, 307, -1, -1, -1, -1, -1, -1, -1, 308, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, 309, -1, -1, -1, -1, -1, -1, -1, -1, 132, 
				-1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, 311, -1, -1, -1, -1, -1, -1, -1, 133, -1, 
			},
			new int[] {
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				312, -1, 313, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				315, -1, 316, -1, 317, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
			new int[] {
				-1, -1, -1, 318, -1, -1, -1, -1, 319, -1, -1, 320, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, 321, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 323, -1, -1, -1, 
				-1, -1, -1, 324, -1, 325, -1, -1, 326, -1, -1, -1, -1, 327, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, 328, -1, -1, 329, 330, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, 331, 332, -1, -1, 333, 334, -1, -1, 335, 336, 337, 338, -1, -1, 
				-1, -1, 339, 340, -1, -1, 341, 342, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, 343, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, 345, -1, -1, -1, -1, -1, 346, 347, -1, 348, -1, -1, -1, -1, 
				-1, -1, 349, 350, 351, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
			},
			new int[] {
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, 354, -1, 355, -1, 356, 
				-1, 357, -1, 358, -1, 359, -1, 360, -1, 361, -1, 362, -1, 363, -1, 364, 
				-1, 365, -1, -1, 366, -1, 367, -1, 368, -1, -1, -1, -1, -1, -1, 134, 
				-1, -1, 135, -1, -1, 136, -1, -1, 137, -1, -1, 138, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, -1, -1, 369, -1, -1, 
				-1, -1, -1, -1, -1, -1, 370, -1, -1, -1, -1, 371, -1, 372, -1, 373, 
				-1, 374, -1, 375, -1, 376, -1, 377, -1, 378, -1, 379, -1, 380, -1, 381, 
				-1, 382, -1, -1, 383, -1, 384, -1, 385, -1, -1, -1, -1, -1, -1, 139, 
				-1, -1, 140, -1, -1, 141, -1, -1, 142, -1, -1, 143, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 386, 
				387, 388, 389, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 390, -1, -1, 
			},
		};


	}
}