in server/core/src/main/java/org/apache/vysper/xmpp/addressing/stringprep/StringPrepConstants.java [2532:2895]
private static final Set<String> build_D_2_CharactersWithBiDiPropertyL() {
Set<String> LCat = new HashSet<String>();
addRange(LCat, 0x0041, 0x005A);
addRange(LCat, 0x0061, 0x007A);
LCat.add("\u00AA");
LCat.add("\u00B5");
LCat.add("\u00BA");
addRange(LCat, 0x00C0, 0x00D6);
addRange(LCat, 0x00D8, 0x00F6);
addRange(LCat, 0x00F8, 0x0220);
addRange(LCat, 0x0222, 0x0233);
addRange(LCat, 0x0250, 0x02AD);
addRange(LCat, 0x02B0, 0x02B8);
addRange(LCat, 0x02BB, 0x02C1);
addRange(LCat, 0x02D0, 0x02D1);
addRange(LCat, 0x02E0, 0x02E4);
LCat.add("\u02EE");
LCat.add("\u037A");
LCat.add("\u0386");
addRange(LCat, 0x0388, 0x038A);
LCat.add("\u038C");
addRange(LCat, 0x038E, 0x03A1);
addRange(LCat, 0x03A3, 0x03CE);
addRange(LCat, 0x03D0, 0x03F5);
addRange(LCat, 0x0400, 0x0482);
addRange(LCat, 0x048A, 0x04CE);
addRange(LCat, 0x04D0, 0x04F5);
addRange(LCat, 0x04F8, 0x04F9);
addRange(LCat, 0x0500, 0x050F);
addRange(LCat, 0x0531, 0x0556);
addRange(LCat, 0x0559, 0x055F);
addRange(LCat, 0x0561, 0x0587);
LCat.add("\u0589");
LCat.add("\u0903");
addRange(LCat, 0x0905, 0x0939);
addRange(LCat, 0x093D, 0x0940);
addRange(LCat, 0x0949, 0x094C);
LCat.add("\u0950");
addRange(LCat, 0x0958, 0x0961);
addRange(LCat, 0x0964, 0x0970);
addRange(LCat, 0x0982, 0x0983);
addRange(LCat, 0x0985, 0x098C);
addRange(LCat, 0x098F, 0x0990);
addRange(LCat, 0x0993, 0x09A8);
addRange(LCat, 0x09AA, 0x09B0);
LCat.add("\u09B2");
addRange(LCat, 0x09B6, 0x09B9);
addRange(LCat, 0x09BE, 0x09C0);
addRange(LCat, 0x09C7, 0x09C8);
addRange(LCat, 0x09CB, 0x09CC);
LCat.add("\u09D7");
addRange(LCat, 0x09DC, 0x09DD);
addRange(LCat, 0x09DF, 0x09E1);
addRange(LCat, 0x09E6, 0x09F1);
addRange(LCat, 0x09F4, 0x09FA);
addRange(LCat, 0x0A05, 0x0A0A);
addRange(LCat, 0x0A0F, 0x0A10);
addRange(LCat, 0x0A13, 0x0A28);
addRange(LCat, 0x0A2A, 0x0A30);
addRange(LCat, 0x0A32, 0x0A33);
addRange(LCat, 0x0A35, 0x0A36);
addRange(LCat, 0x0A38, 0x0A39);
addRange(LCat, 0x0A3E, 0x0A40);
addRange(LCat, 0x0A59, 0x0A5C);
LCat.add("\u0A5E");
addRange(LCat, 0x0A66, 0x0A6F);
addRange(LCat, 0x0A72, 0x0A74);
LCat.add("\u0A83");
addRange(LCat, 0x0A85, 0x0A8B);
LCat.add("\u0A8D");
addRange(LCat, 0x0A8F, 0x0A91);
addRange(LCat, 0x0A93, 0x0AA8);
addRange(LCat, 0x0AAA, 0x0AB0);
addRange(LCat, 0x0AB2, 0x0AB3);
addRange(LCat, 0x0AB5, 0x0AB9);
addRange(LCat, 0x0ABD, 0x0AC0);
LCat.add("\u0AC9");
addRange(LCat, 0x0ACB, 0x0ACC);
LCat.add("\u0AD0");
LCat.add("\u0AE0");
addRange(LCat, 0x0AE6, 0x0AEF);
addRange(LCat, 0x0B02, 0x0B03);
addRange(LCat, 0x0B05, 0x0B0C);
addRange(LCat, 0x0B0F, 0x0B10);
addRange(LCat, 0x0B13, 0x0B28);
addRange(LCat, 0x0B2A, 0x0B30);
addRange(LCat, 0x0B32, 0x0B33);
addRange(LCat, 0x0B36, 0x0B39);
addRange(LCat, 0x0B3D, 0x0B3E);
LCat.add("\u0B40");
addRange(LCat, 0x0B47, 0x0B48);
addRange(LCat, 0x0B4B, 0x0B4C);
LCat.add("\u0B57");
addRange(LCat, 0x0B5C, 0x0B5D);
addRange(LCat, 0x0B5F, 0x0B61);
addRange(LCat, 0x0B66, 0x0B70);
LCat.add("\u0B83");
addRange(LCat, 0x0B85, 0x0B8A);
addRange(LCat, 0x0B8E, 0x0B90);
addRange(LCat, 0x0B92, 0x0B95);
addRange(LCat, 0x0B99, 0x0B9A);
LCat.add("\u0B9C");
addRange(LCat, 0x0B9E, 0x0B9F);
addRange(LCat, 0x0BA3, 0x0BA4);
addRange(LCat, 0x0BA8, 0x0BAA);
addRange(LCat, 0x0BAE, 0x0BB5);
addRange(LCat, 0x0BB7, 0x0BB9);
addRange(LCat, 0x0BBE, 0x0BBF);
addRange(LCat, 0x0BC1, 0x0BC2);
addRange(LCat, 0x0BC6, 0x0BC8);
addRange(LCat, 0x0BCA, 0x0BCC);
LCat.add("\u0BD7");
addRange(LCat, 0x0BE7, 0x0BF2);
addRange(LCat, 0x0C01, 0x0C03);
addRange(LCat, 0x0C05, 0x0C0C);
addRange(LCat, 0x0C0E, 0x0C10);
addRange(LCat, 0x0C12, 0x0C28);
addRange(LCat, 0x0C2A, 0x0C33);
addRange(LCat, 0x0C35, 0x0C39);
addRange(LCat, 0x0C41, 0x0C44);
addRange(LCat, 0x0C60, 0x0C61);
addRange(LCat, 0x0C66, 0x0C6F);
addRange(LCat, 0x0C82, 0x0C83);
addRange(LCat, 0x0C85, 0x0C8C);
addRange(LCat, 0x0C8E, 0x0C90);
addRange(LCat, 0x0C92, 0x0CA8);
addRange(LCat, 0x0CAA, 0x0CB3);
addRange(LCat, 0x0CB5, 0x0CB9);
LCat.add("\u0CBE");
addRange(LCat, 0x0CC0, 0x0CC4);
addRange(LCat, 0x0CC7, 0x0CC8);
addRange(LCat, 0x0CCA, 0x0CCB);
addRange(LCat, 0x0CD5, 0x0CD6);
LCat.add("\u0CDE");
addRange(LCat, 0x0CE0, 0x0CE1);
addRange(LCat, 0x0CE6, 0x0CEF);
addRange(LCat, 0x0D02, 0x0D03);
addRange(LCat, 0x0D05, 0x0D0C);
addRange(LCat, 0x0D0E, 0x0D10);
addRange(LCat, 0x0D12, 0x0D28);
addRange(LCat, 0x0D2A, 0x0D39);
addRange(LCat, 0x0D3E, 0x0D40);
addRange(LCat, 0x0D46, 0x0D48);
addRange(LCat, 0x0D4A, 0x0D4C);
LCat.add("\u0D57");
addRange(LCat, 0x0D60, 0x0D61);
addRange(LCat, 0x0D66, 0x0D6F);
addRange(LCat, 0x0D82, 0x0D83);
addRange(LCat, 0x0D85, 0x0D96);
addRange(LCat, 0x0D9A, 0x0DB1);
addRange(LCat, 0x0DB3, 0x0DBB);
LCat.add("\u0DBD");
addRange(LCat, 0x0DC0, 0x0DC6);
addRange(LCat, 0x0DCF, 0x0DD1);
addRange(LCat, 0x0DD8, 0x0DDF);
addRange(LCat, 0x0DF2, 0x0DF4);
addRange(LCat, 0x0E01, 0x0E30);
addRange(LCat, 0x0E32, 0x0E33);
addRange(LCat, 0x0E40, 0x0E46);
addRange(LCat, 0x0E4F, 0x0E5B);
addRange(LCat, 0x0E81, 0x0E82);
LCat.add("\u0E84");
addRange(LCat, 0x0E87, 0x0E88);
LCat.add("\u0E8A");
LCat.add("\u0E8D");
addRange(LCat, 0x0E94, 0x0E97);
addRange(LCat, 0x0E99, 0x0E9F);
addRange(LCat, 0x0EA1, 0x0EA3);
LCat.add("\u0EA5");
LCat.add("\u0EA7");
addRange(LCat, 0x0EAA, 0x0EAB);
addRange(LCat, 0x0EAD, 0x0EB0);
addRange(LCat, 0x0EB2, 0x0EB3);
LCat.add("\u0EBD");
addRange(LCat, 0x0EC0, 0x0EC4);
LCat.add("\u0EC6");
addRange(LCat, 0x0ED0, 0x0ED9);
addRange(LCat, 0x0EDC, 0x0EDD);
addRange(LCat, 0x0F00, 0x0F17);
addRange(LCat, 0x0F1A, 0x0F34);
LCat.add("\u0F36");
LCat.add("\u0F38");
addRange(LCat, 0x0F3E, 0x0F47);
addRange(LCat, 0x0F49, 0x0F6A);
LCat.add("\u0F7F");
LCat.add("\u0F85");
addRange(LCat, 0x0F88, 0x0F8B);
addRange(LCat, 0x0FBE, 0x0FC5);
addRange(LCat, 0x0FC7, 0x0FCC);
LCat.add("\u0FCF");
addRange(LCat, 0x1000, 0x1021);
addRange(LCat, 0x1023, 0x1027);
addRange(LCat, 0x1029, 0x102A);
LCat.add("\u102C");
LCat.add("\u1031");
LCat.add("\u1038");
addRange(LCat, 0x1040, 0x1057);
addRange(LCat, 0x10A0, 0x10C5);
addRange(LCat, 0x10D0, 0x10F8);
LCat.add("\u10FB");
addRange(LCat, 0x1100, 0x1159);
addRange(LCat, 0x115F, 0x11A2);
addRange(LCat, 0x11A8, 0x11F9);
addRange(LCat, 0x1200, 0x1206);
addRange(LCat, 0x1208, 0x1246);
LCat.add("\u1248");
addRange(LCat, 0x124A, 0x124D);
addRange(LCat, 0x1250, 0x1256);
LCat.add("\u1258");
addRange(LCat, 0x125A, 0x125D);
addRange(LCat, 0x1260, 0x1286);
LCat.add("\u1288");
addRange(LCat, 0x128A, 0x128D);
addRange(LCat, 0x1290, 0x12AE);
LCat.add("\u12B0");
addRange(LCat, 0x12B2, 0x12B5);
addRange(LCat, 0x12B8, 0x12BE);
LCat.add("\u12C0");
addRange(LCat, 0x12C2, 0x12C5);
addRange(LCat, 0x12C8, 0x12CE);
addRange(LCat, 0x12D0, 0x12D6);
addRange(LCat, 0x12D8, 0x12EE);
addRange(LCat, 0x12F0, 0x130E);
LCat.add("\u1310");
addRange(LCat, 0x1312, 0x1315);
addRange(LCat, 0x1318, 0x131E);
addRange(LCat, 0x1320, 0x1346);
addRange(LCat, 0x1348, 0x135A);
addRange(LCat, 0x1361, 0x137C);
addRange(LCat, 0x13A0, 0x13F4);
addRange(LCat, 0x1401, 0x1676);
addRange(LCat, 0x1681, 0x169A);
addRange(LCat, 0x16A0, 0x16F0);
addRange(LCat, 0x1700, 0x170C);
addRange(LCat, 0x170E, 0x1711);
addRange(LCat, 0x1720, 0x1731);
addRange(LCat, 0x1735, 0x1736);
addRange(LCat, 0x1740, 0x1751);
addRange(LCat, 0x1760, 0x176C);
addRange(LCat, 0x176E, 0x1770);
addRange(LCat, 0x1780, 0x17B6);
addRange(LCat, 0x17BE, 0x17C5);
addRange(LCat, 0x17C7, 0x17C8);
addRange(LCat, 0x17D4, 0x17DA);
LCat.add("\u17DC");
addRange(LCat, 0x17E0, 0x17E9);
addRange(LCat, 0x1810, 0x1819);
addRange(LCat, 0x1820, 0x1877);
addRange(LCat, 0x1880, 0x18A8);
addRange(LCat, 0x1E00, 0x1E9B);
addRange(LCat, 0x1EA0, 0x1EF9);
addRange(LCat, 0x1F00, 0x1F15);
addRange(LCat, 0x1F18, 0x1F1D);
addRange(LCat, 0x1F20, 0x1F45);
addRange(LCat, 0x1F48, 0x1F4D);
addRange(LCat, 0x1F50, 0x1F57);
LCat.add("\u1F59");
LCat.add("\u1F5B");
LCat.add("\u1F5D");
addRange(LCat, 0x1F5F, 0x1F7D);
addRange(LCat, 0x1F80, 0x1FB4);
addRange(LCat, 0x1FB6, 0x1FBC);
LCat.add("\u1FBE");
addRange(LCat, 0x1FC2, 0x1FC4);
addRange(LCat, 0x1FC6, 0x1FCC);
addRange(LCat, 0x1FD0, 0x1FD3);
addRange(LCat, 0x1FD6, 0x1FDB);
addRange(LCat, 0x1FE0, 0x1FEC);
addRange(LCat, 0x1FF2, 0x1FF4);
addRange(LCat, 0x1FF6, 0x1FFC);
LCat.add("\u200E");
LCat.add("\u2071");
LCat.add("\u207F");
LCat.add("\u2102");
LCat.add("\u2107");
addRange(LCat, 0x210A, 0x2113);
LCat.add("\u2115");
addRange(LCat, 0x2119, 0x211D);
LCat.add("\u2124");
LCat.add("\u2126");
LCat.add("\u2128");
addRange(LCat, 0x212A, 0x212D);
addRange(LCat, 0x212F, 0x2131);
addRange(LCat, 0x2133, 0x2139);
addRange(LCat, 0x213D, 0x213F);
addRange(LCat, 0x2145, 0x2149);
addRange(LCat, 0x2160, 0x2183);
addRange(LCat, 0x2336, 0x237A);
LCat.add("\u2395");
addRange(LCat, 0x249C, 0x24E9);
addRange(LCat, 0x3005, 0x3007);
addRange(LCat, 0x3021, 0x3029);
addRange(LCat, 0x3031, 0x3035);
addRange(LCat, 0x3038, 0x303C);
addRange(LCat, 0x3041, 0x3096);
addRange(LCat, 0x309D, 0x309F);
addRange(LCat, 0x30A1, 0x30FA);
addRange(LCat, 0x30FC, 0x30FF);
addRange(LCat, 0x3105, 0x312C);
addRange(LCat, 0x3131, 0x318E);
addRange(LCat, 0x3190, 0x31B7);
addRange(LCat, 0x31F0, 0x321C);
addRange(LCat, 0x3220, 0x3243);
addRange(LCat, 0x3260, 0x327B);
addRange(LCat, 0x327F, 0x32B0);
addRange(LCat, 0x32C0, 0x32CB);
addRange(LCat, 0x32D0, 0x32FE);
addRange(LCat, 0x3300, 0x3376);
addRange(LCat, 0x337B, 0x33DD);
addRange(LCat, 0x33E0, 0x33FE);
addRange(LCat, 0x3400, 0x4DB5);
addRange(LCat, 0x4E00, 0x9FA5);
addRange(LCat, 0xA000, 0xA48C);
addRange(LCat, 0xAC00, 0xD7A3);
addRange(LCat, 0xD800, 0xFA2D);
addRange(LCat, 0xFA30, 0xFA6A);
addRange(LCat, 0xFB00, 0xFB06);
addRange(LCat, 0xFB13, 0xFB17);
addRange(LCat, 0xFF21, 0xFF3A);
addRange(LCat, 0xFF41, 0xFF5A);
addRange(LCat, 0xFF66, 0xFFBE);
addRange(LCat, 0xFFC2, 0xFFC7);
addRange(LCat, 0xFFCA, 0xFFCF);
addRange(LCat, 0xFFD2, 0xFFD7);
addRange(LCat, 0xFFDA, 0xFFDC);
addRange(LCat, 0x10300, 0x1031E);
addRange(LCat, 0x10320, 0x10323);
addRange(LCat, 0x10330, 0x1034A);
addRange(LCat, 0x10400, 0x10425);
addRange(LCat, 0x10428, 0x1044D);
addRange(LCat, 0x1D000, 0x1D0F5);
addRange(LCat, 0x1D100, 0x1D126);
addRange(LCat, 0x1D12A, 0x1D166);
addRange(LCat, 0x1D16A, 0x1D172);
addRange(LCat, 0x1D183, 0x1D184);
addRange(LCat, 0x1D18C, 0x1D1A9);
addRange(LCat, 0x1D1AE, 0x1D1DD);
addRange(LCat, 0x1D400, 0x1D454);
addRange(LCat, 0x1D456, 0x1D49C);
addRange(LCat, 0x1D49E, 0x1D49F);
LCat.add(codePointToString(0x1D4A2));
addRange(LCat, 0x1D4A5, 0x1D4A6);
addRange(LCat, 0x1D4A9, 0x1D4AC);
addRange(LCat, 0x1D4AE, 0x1D4B9);
LCat.add(codePointToString(0x1D4BB));
addRange(LCat, 0x1D4BD, 0x1D4C0);
addRange(LCat, 0x1D4C2, 0x1D4C3);
addRange(LCat, 0x1D4C5, 0x1D505);
addRange(LCat, 0x1D507, 0x1D50A);
addRange(LCat, 0x1D50D, 0x1D514);
addRange(LCat, 0x1D516, 0x1D51C);
addRange(LCat, 0x1D51E, 0x1D539);
addRange(LCat, 0x1D53B, 0x1D53E);
addRange(LCat, 0x1D540, 0x1D544);
LCat.add(codePointToString(0x1D546));
addRange(LCat, 0x1D54A, 0x1D550);
addRange(LCat, 0x1D552, 0x1D6A3);
addRange(LCat, 0x1D6A8, 0x1D7C9);
addRange(LCat, 0x20000, 0x2A6D6);
addRange(LCat, 0x2F800, 0x2FA1D);
addRange(LCat, 0xF0000, 0xFFFFD);
addRange(LCat, 0x100000, 0x10FFFD);
return Collections.unmodifiableSet(LCat);
}