LUCENE-5447: Fully patch StandardTokenizerImpl.jflex, to bring parity with rules in UAX29URLEmailTokenizerImpl.jflex; add tests that fail without this fix and succeed with it.

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1569831 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Steven Rowe 2014-02-19 17:22:16 +00:00
parent 7dcba673e6
commit 05ee89ea9d
4 changed files with 200 additions and 547 deletions

View File

@ -221,12 +221,10 @@ public final class StandardTokenizerImpl implements StandardTokenizerInterface {
private static final String ZZ_ACTION_PACKED_0 = private static final String ZZ_ACTION_PACKED_0 =
"\1\0\26\1\1\2\1\3\1\4\1\1\1\5\1\6"+ "\1\0\26\1\1\2\1\3\1\4\1\1\1\5\1\6"+
"\1\7\1\2\1\10\21\0\1\2\1\0\1\2\12\0"+ "\1\7\1\2\1\10\21\0\1\2\1\0\1\2\12\0"+
"\1\3\21\0\1\2\25\0\1\2\61\0\3\2\22\0"+ "\1\3\21\0\1\2\25\0\1\2\115\0\1\1\20\0";
"\1\3\25\0\1\1\21\0\1\2\10\0\1\2\20\0"+
"\1\3\56\0\1\2\27\0";
private static int [] zzUnpackAction() { private static int [] zzUnpackAction() {
int [] result = new int[310]; int [] result = new int[197];
int offset = 0; int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result; return result;
@ -275,24 +273,10 @@ public final class StandardTokenizerImpl implements StandardTokenizerInterface {
"\0\u57a4\0\u5832\0\u58c0\0\u594e\0\u59dc\0\u5a6a\0\u5af8\0\u5b86"+ "\0\u57a4\0\u5832\0\u58c0\0\u594e\0\u59dc\0\u5a6a\0\u5af8\0\u5b86"+
"\0\u5c14\0\u5ca2\0\u5d30\0\u5dbe\0\u5e4c\0\u5eda\0\u5f68\0\u5ff6"+ "\0\u5c14\0\u5ca2\0\u5d30\0\u5dbe\0\u5e4c\0\u5eda\0\u5f68\0\u5ff6"+
"\0\u6084\0\u6112\0\u61a0\0\u622e\0\u62bc\0\u634a\0\u63d8\0\u6466"+ "\0\u6084\0\u6112\0\u61a0\0\u622e\0\u62bc\0\u634a\0\u63d8\0\u6466"+
"\0\u64f4\0\u6582\0\u6610\0\u669e\0\u672c\0\u67ba\0\u6848\0\u68d6"+ "\0\u64f4\0\u6582\0\u6610\0\u669e\0\u672c";
"\0\u6964\0\u69f2\0\u6a80\0\u6b0e\0\u6b9c\0\u6c2a\0\u6cb8\0\u6d46"+
"\0\u6dd4\0\u6e62\0\u6ef0\0\u6f7e\0\u700c\0\u709a\0\u7128\0\u71b6"+
"\0\u7244\0\u72d2\0\u7360\0\u73ee\0\u747c\0\u750a\0\u7598\0\u7626"+
"\0\u76b4\0\u7742\0\u77d0\0\u785e\0\u78ec\0\u797a\0\u7a08\0\u7a96"+
"\0\u7b24\0\u7bb2\0\u7c40\0\u7cce\0\u7d5c\0\u7dea\0\u7e78\0\u7f06"+
"\0\u7f94\0\u8022\0\u80b0\0\u813e\0\u81cc\0\u825a\0\u82e8\0\u8376"+
"\0\u8404\0\u8492\0\u8520\0\u85ae\0\u863c\0\u86ca\0\u8758\0\u87e6"+
"\0\u8874\0\u8902\0\u8990\0\u8a1e\0\u8aac\0\u8b3a\0\u8bc8\0\u8c56"+
"\0\u8ce4\0\u8d72\0\u8e00\0\u8e8e\0\u8f1c\0\u8faa\0\u9038\0\u90c6"+
"\0\u9154\0\u91e2\0\u9270\0\u92fe\0\u938c\0\u941a\0\u94a8\0\u9536"+
"\0\u95c4\0\u9652\0\u96e0\0\u976e\0\u97fc\0\u988a\0\u9918\0\u99a6"+
"\0\u9a34\0\u9ac2\0\u9b50\0\u9bde\0\u9c6c\0\u9cfa\0\u9d88\0\u9e16"+
"\0\u9ea4\0\u9f32\0\u9fc0\0\ua04e\0\ua0dc\0\ua16a\0\ua1f8\0\ua286"+
"\0\ua314\0\ua3a2\0\ua430\0\ua4be\0\ua54c\0\ua5da";
private static int [] zzUnpackRowMap() { private static int [] zzUnpackRowMap() {
int [] result = new int[310]; int [] result = new int[197];
int offset = 0; int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result; return result;
@ -488,12 +472,12 @@ public final class StandardTokenizerImpl implements StandardTokenizerInterface {
"\3\0\1\202\2\0\1\203\4\0\1\204\3\0\1\205"+ "\3\0\1\202\2\0\1\203\4\0\1\204\3\0\1\205"+
"\17\0\1\56\2\0\1\206\21\0\1\207\2\0\1\210"+ "\17\0\1\56\2\0\1\206\21\0\1\207\2\0\1\210"+
"\61\0\1\30\1\63\7\0\1\63\4\0\2\30\1\0"+ "\61\0\1\30\1\63\7\0\1\63\4\0\2\30\1\0"+
"\1\211\1\0\1\212\2\0\1\213\1\0\1\214\4\0"+ "\1\42\1\0\1\43\2\0\1\211\1\0\1\45\4\0"+
"\1\215\1\0\1\216\1\0\1\217\2\0\1\220\3\0"+ "\1\46\1\0\1\47\1\0\1\50\2\0\1\51\3\0"+
"\1\221\2\0\1\222\4\0\1\223\3\0\1\224\17\0"+ "\1\212\2\0\1\213\4\0\1\54\3\0\1\214\17\0"+
"\1\225\2\0\1\226\21\0\1\227\2\0\1\230\41\0"+ "\1\56\2\0\1\215\21\0\1\216\2\0\1\217\41\0"+
"\1\117\17\0\1\231\1\64\1\232\1\121\3\0\1\64"+ "\1\117\17\0\1\30\1\64\1\62\1\121\3\0\1\64"+
"\1\0\1\64\4\0\1\233\1\231\7\0\1\30\4\0"+ "\1\0\1\64\4\0\1\37\1\30\7\0\1\30\4\0"+
"\1\30\11\0\1\30\22\0\1\30\3\0\1\30\13\0"+ "\1\30\11\0\1\30\22\0\1\30\3\0\1\30\13\0"+
"\1\31\2\0\1\31\10\0\1\30\22\0\4\31\35\0"+ "\1\31\2\0\1\31\10\0\1\30\22\0\4\31\35\0"+
"\1\30\26\0\1\30\26\0\2\30\23\0\1\31\1\30"+ "\1\30\26\0\1\30\26\0\2\30\23\0\1\31\1\30"+
@ -517,16 +501,16 @@ public final class StandardTokenizerImpl implements StandardTokenizerInterface {
"\11\0\1\31\11\0\2\31\6\0\1\31\2\0\4\31"+ "\11\0\1\31\11\0\2\31\6\0\1\31\2\0\4\31"+
"\3\0\1\31\2\0\2\31\1\0\3\31\1\0\2\31"+ "\3\0\1\31\2\0\2\31\1\0\3\31\1\0\2\31"+
"\1\0\1\31\10\0\1\31\1\0\2\31\2\0\2\31"+ "\1\0\1\31\10\0\1\31\1\0\2\31\2\0\2\31"+
"\1\0\4\31\23\0\1\31\26\0\1\234\1\0\1\235"+ "\1\0\4\31\23\0\1\31\26\0\1\220\1\0\1\221"+
"\17\0\1\236\2\0\1\237\4\0\1\240\3\0\1\241"+ "\17\0\1\222\2\0\1\223\4\0\1\224\3\0\1\225"+
"\22\0\1\242\21\0\1\243\2\0\1\244\62\0\1\76"+ "\22\0\1\226\21\0\1\227\2\0\1\230\62\0\1\76"+
"\1\31\6\0\1\76\7\0\1\211\1\0\1\212\2\0"+ "\1\31\6\0\1\76\7\0\1\42\1\0\1\43\2\0"+
"\1\245\1\0\1\246\4\0\1\215\1\0\1\216\1\0"+ "\1\231\1\0\1\66\4\0\1\46\1\0\1\47\1\0"+
"\1\217\2\0\1\220\3\0\1\247\2\0\1\250\4\0"+ "\1\50\2\0\1\51\3\0\1\232\2\0\1\233\4\0"+
"\1\251\3\0\1\252\17\0\1\225\2\0\1\253\21\0"+ "\1\71\3\0\1\234\17\0\1\56\2\0\1\235\21\0"+
"\1\254\2\0\1\255\41\0\1\117\17\0\1\231\1\77"+ "\1\236\2\0\1\237\41\0\1\117\17\0\1\30\1\77"+
"\1\256\1\121\3\0\1\77\1\0\1\77\4\0\1\233"+ "\1\31\1\121\3\0\1\77\1\0\1\77\4\0\1\37"+
"\1\231\71\0\1\32\2\0\1\32\33\0\4\32\216\0"+ "\1\30\71\0\1\32\2\0\1\32\33\0\4\32\216\0"+
"\1\32\77\0\1\32\44\0\1\32\1\0\2\32\21\0"+ "\1\32\77\0\1\32\44\0\1\32\1\0\2\32\21\0"+
"\1\32\4\0\1\32\17\0\4\32\3\0\1\32\12\0"+ "\1\32\4\0\1\32\17\0\4\32\3\0\1\32\12\0"+
"\1\32\203\0\1\32\222\0\4\32\152\0\2\32\25\0"+ "\1\32\203\0\1\32\222\0\4\32\152\0\2\32\25\0"+
@ -559,8 +543,8 @@ public final class StandardTokenizerImpl implements StandardTokenizerInterface {
"\6\0\1\120\2\0\4\120\3\0\1\120\2\0\2\120"+ "\6\0\1\120\2\0\4\120\3\0\1\120\2\0\2\120"+
"\1\0\3\120\1\0\2\120\1\0\1\120\10\0\1\120"+ "\1\0\3\120\1\0\2\120\1\0\1\120\10\0\1\120"+
"\1\0\2\120\2\0\2\120\1\0\4\120\23\0\1\120"+ "\1\0\2\120\2\0\2\120\1\0\4\120\23\0\1\120"+
"\177\0\1\121\44\0\1\257\21\0\1\260\2\0\1\261"+ "\177\0\1\121\44\0\1\240\21\0\1\241\2\0\1\242"+
"\10\0\1\262\22\0\1\263\21\0\1\264\2\0\1\265"+ "\10\0\1\243\22\0\1\244\21\0\1\245\2\0\1\246"+
"\41\0\1\117\20\0\1\121\1\0\1\121\3\0\1\64"+ "\41\0\1\117\20\0\1\121\1\0\1\121\3\0\1\64"+
"\1\0\1\121\77\0\1\35\2\0\1\35\33\0\4\35"+ "\1\0\1\121\77\0\1\35\2\0\1\35\33\0\4\35"+
"\216\0\1\35\77\0\1\35\44\0\1\35\1\0\2\35"+ "\216\0\1\35\77\0\1\35\44\0\1\35\1\0\2\35"+
@ -604,13 +588,13 @@ public final class StandardTokenizerImpl implements StandardTokenizerInterface {
"\4\37\3\0\1\37\2\0\2\37\1\0\3\37\1\0"+ "\4\37\3\0\1\37\2\0\2\37\1\0\3\37\1\0"+
"\2\37\1\0\1\37\10\0\1\37\1\0\2\37\2\0"+ "\2\37\1\0\1\37\10\0\1\37\1\0\2\37\2\0"+
"\2\37\1\0\4\37\23\0\1\37\21\0\1\42\1\0"+ "\2\37\1\0\4\37\23\0\1\37\21\0\1\42\1\0"+
"\1\43\2\0\1\266\1\0\1\45\4\0\1\46\1\0"+ "\1\43\2\0\1\247\1\0\1\45\4\0\1\46\1\0"+
"\1\47\1\0\1\50\2\0\1\51\3\0\1\267\2\0"+ "\1\47\1\0\1\50\2\0\1\51\3\0\1\250\2\0"+
"\1\270\4\0\1\54\3\0\1\271\17\0\1\56\2\0"+ "\1\251\4\0\1\54\3\0\1\252\17\0\1\56\2\0"+
"\1\272\21\0\1\273\2\0\1\274\61\0\1\30\1\147"+ "\1\253\21\0\1\254\2\0\1\255\61\0\1\30\1\147"+
"\1\62\4\0\1\64\1\0\1\147\4\0\1\37\1\30"+ "\1\62\4\0\1\64\1\0\1\147\4\0\1\37\1\30"+
"\6\0\1\275\21\0\1\276\2\0\1\277\10\0\1\300"+ "\6\0\1\256\21\0\1\257\2\0\1\260\10\0\1\261"+
"\22\0\1\301\21\0\1\302\2\0\1\303\62\0\1\150"+ "\22\0\1\262\21\0\1\263\2\0\1\264\62\0\1\150"+
"\7\0\1\150\4\0\1\147\10\0\1\30\4\0\1\30"+ "\7\0\1\150\4\0\1\147\10\0\1\30\4\0\1\30"+
"\11\0\1\30\22\0\1\30\3\0\1\30\13\0\1\40"+ "\11\0\1\30\22\0\1\30\3\0\1\30\13\0\1\40"+
"\2\0\1\40\10\0\1\30\22\0\4\40\35\0\1\30"+ "\2\0\1\40\10\0\1\30\22\0\4\40\35\0\1\30"+
@ -644,7 +628,7 @@ public final class StandardTokenizerImpl implements StandardTokenizerInterface {
"\2\41\6\0\1\41\2\0\4\41\3\0\1\41\2\0"+ "\2\41\6\0\1\41\2\0\4\41\3\0\1\41\2\0"+
"\2\41\1\0\3\41\1\0\2\41\1\0\1\41\10\0"+ "\2\41\1\0\3\41\1\0\2\41\1\0\1\41\10\0"+
"\1\41\1\0\2\41\2\0\2\41\1\0\4\41\23\0"+ "\1\41\1\0\2\41\2\0\2\41\1\0\4\41\23\0"+
"\1\41\165\0\1\304\26\0\2\304\27\0\1\30\4\0"+ "\1\41\165\0\1\265\26\0\2\265\27\0\1\30\4\0"+
"\1\30\11\0\1\30\22\0\1\30\3\0\1\30\13\0"+ "\1\30\11\0\1\30\22\0\1\30\3\0\1\30\13\0"+
"\1\62\2\0\1\62\10\0\1\30\22\0\4\62\35\0"+ "\1\62\2\0\1\62\10\0\1\30\22\0\4\62\35\0"+
"\1\30\26\0\1\30\26\0\2\30\23\0\1\62\1\30"+ "\1\30\26\0\1\30\26\0\2\30\23\0\1\62\1\30"+
@ -668,9 +652,9 @@ public final class StandardTokenizerImpl implements StandardTokenizerInterface {
"\11\0\1\62\11\0\2\62\6\0\1\62\2\0\4\62"+ "\11\0\1\62\11\0\2\62\6\0\1\62\2\0\4\62"+
"\3\0\1\62\2\0\2\62\1\0\3\62\1\0\2\62"+ "\3\0\1\62\2\0\2\62\1\0\3\62\1\0\2\62"+
"\1\0\1\62\10\0\1\62\1\0\2\62\2\0\2\62"+ "\1\0\1\62\10\0\1\62\1\0\2\62\2\0\2\62"+
"\1\0\4\62\23\0\1\62\26\0\1\305\1\0\1\306"+ "\1\0\4\62\23\0\1\62\26\0\1\266\1\0\1\267"+
"\17\0\1\307\2\0\1\310\4\0\1\311\3\0\1\312"+ "\17\0\1\270\2\0\1\271\4\0\1\272\3\0\1\273"+
"\22\0\1\313\21\0\1\314\2\0\1\315\62\0\1\177"+ "\22\0\1\274\21\0\1\275\2\0\1\276\62\0\1\177"+
"\1\62\6\0\1\177\15\0\1\30\4\0\1\30\11\0"+ "\1\62\6\0\1\177\15\0\1\30\4\0\1\30\11\0"+
"\1\30\22\0\1\30\3\0\1\30\13\0\1\63\2\0"+ "\1\30\22\0\1\30\3\0\1\30\13\0\1\63\2\0"+
"\1\63\10\0\1\30\22\0\4\63\35\0\1\30\31\0"+ "\1\63\10\0\1\30\22\0\4\63\35\0\1\30\31\0"+
@ -704,499 +688,132 @@ public final class StandardTokenizerImpl implements StandardTokenizerInterface {
"\1\63\1\0\1\63\11\0\1\63\11\0\2\63\6\0"+ "\1\63\1\0\1\63\11\0\1\63\11\0\2\63\6\0"+
"\1\63\2\0\4\63\3\0\1\63\2\0\2\63\1\0"+ "\1\63\2\0\4\63\3\0\1\63\2\0\2\63\1\0"+
"\3\63\1\0\2\63\1\0\1\63\10\0\1\63\1\0"+ "\3\63\1\0\2\63\1\0\1\63\10\0\1\63\1\0"+
"\2\63\2\0\2\63\1\0\4\63\23\0\1\63\22\0"+ "\2\63\2\0\2\63\1\0\4\63\23\0\1\63\27\0"+
"\1\231\2\0\1\231\4\0\1\231\16\0\1\231\15\0"+ "\1\30\4\0\1\30\11\0\1\30\22\0\1\30\3\0"+
"\1\231\20\0\1\231\1\0\1\231\41\0\1\231\4\0"+ "\1\30\13\0\1\64\2\0\1\64\10\0\1\30\22\0"+
"\1\231\10\0\2\231\5\0\2\231\10\0\1\231\26\0"+ "\4\64\35\0\1\30\26\0\1\30\26\0\2\30\23\0"+
"\2\231\5\0\1\231\2\0\1\231\3\0\2\231\10\0"+ "\1\62\1\30\40\0\1\62\13\0\1\64\65\0\1\62"+
"\4\231\1\0\3\231\1\0\1\231\2\0\1\231\2\0"+ "\11\0\1\64\15\0\4\30\2\0\2\30\14\0\3\30"+
"\1\231\4\0\4\231\1\0\2\231\1\0\1\231\2\0"+ "\1\64\1\0\2\64\11\0\3\30\3\0\1\30\1\0"+
"\1\231\1\0\1\231\2\0\4\231\2\0\3\231\1\0"+ "\1\64\4\0\1\64\2\30\1\0\4\62\1\0\2\30"+
"\2\231\1\0\3\231\1\0\4\231\1\0\2\231\5\0"+ "\5\0\4\64\2\0\1\30\1\64\12\0\1\64\7\0"+
"\4\231\2\0\10\231\1\0\1\231\2\0\1\231\1\0"+ "\1\30\30\0\1\30\4\0\1\30\6\0\1\30\3\0"+
"\2\231\4\0\1\231\3\0\3\231\27\0\1\231\4\0"+ "\1\30\6\0\1\30\5\0\1\30\2\0\2\30\1\0"+
"\1\231\11\0\1\231\22\0\1\231\3\0\1\231\13\0"+ "\17\30\2\0\1\30\13\0\7\30\2\0\1\30\1\0"+
"\1\64\2\0\1\64\10\0\1\231\22\0\4\64\35\0"+ "\1\30\1\0\2\30\2\0\1\30\1\0\3\30\2\0"+
"\1\231\31\0\1\231\3\0\4\231\1\0\1\231\1\0"+ "\1\30\1\0\1\30\1\0\1\30\1\0\1\30\4\0"+
"\1\232\2\0\1\231\1\0\2\231\2\0\2\231\2\0"+ "\1\64\1\0\2\30\6\0\1\30\7\0\1\30\1\0"+
"\3\231\1\0\1\231\1\0\1\231\2\0\4\231\1\0"+ "\1\30\33\0\1\30\6\0\1\30\3\0\1\30\3\0"+
"\3\231\1\0\1\231\1\0\3\231\1\0\2\231\1\0"+ "\1\30\7\0\1\30\31\0\20\30\5\0\3\30\4\0"+
"\4\231\1\0\2\231\2\0\10\231\1\0\2\231\1\0"+ "\1\30\6\0\1\30\3\0\2\30\2\0\2\30\4\0"+
"\10\231\1\232\1\0\7\231\1\0\10\231\1\0\6\231"+ "\1\30\4\64\1\0\1\30\2\0\1\30\4\0\1\30"+
"\1\0\1\231\1\0\2\231\2\0\1\231\1\0\1\231"+ "\1\0\1\30\1\0\1\30\134\0\2\64\25\0\4\64"+
"\3\0\3\231\36\0\1\231\17\0\1\231\23\0\1\231"+ "\55\0\1\64\15\0\2\64\10\0\2\64\1\0\1\64"+
"\23\0\1\231\6\0\3\231\37\0\1\231\7\0\1\231"+ "\1\0\1\64\11\0\1\64\11\0\2\64\6\0\1\64"+
"\30\0\1\231\1\0\2\231\1\0\1\231\1\0\4\231"+ "\2\0\4\64\3\0\1\64\2\0\2\64\1\0\3\64"+
"\1\0\1\231\1\0\1\231\1\0\2\231\1\0\3\231"+ "\1\0\2\64\1\0\1\64\10\0\1\64\1\0\2\64"+
"\1\0\2\231\1\0\4\231\1\0\3\231\1\0\17\231"+ "\2\0\2\64\1\0\4\64\23\0\1\64\111\0\1\76"+
"\1\0\2\231\1\0\21\231\1\0\2\231\1\0\41\231"+ "\2\0\1\76\33\0\4\76\102\0\1\31\104\0\1\31"+
"\1\0\1\231\1\0\2\231\2\0\1\231\1\0\1\231"+ "\146\0\1\31\41\0\1\31\13\0\1\76\65\0\1\31"+
"\1\0\1\231\1\0\3\231\36\0\1\231\3\0\2\231"+ "\11\0\1\76\44\0\1\76\1\0\2\76\21\0\1\76"+
"\12\0\2\231\13\0\1\231\6\0\1\231\2\0\2\231"+ "\4\0\1\76\3\0\4\31\10\0\4\76\3\0\1\76"+
"\6\0\1\231\4\0\2\231\2\0\2\231\5\0\3\231"+ "\12\0\1\76\164\0\2\31\233\0\1\76\222\0\4\76"+
"\20\0\1\231\16\0\1\231\7\0\1\231\30\0\1\231"+ "\152\0\2\76\25\0\4\76\55\0\1\76\15\0\2\76"+
"\1\0\2\231\1\0\1\231\2\0\2\231\2\0\1\231"+ "\10\0\2\76\1\0\1\76\1\0\1\76\11\0\1\76"+
"\3\0\2\231\1\0\3\231\1\0\2\231\1\0\4\231"+ "\11\0\2\76\6\0\1\76\2\0\4\76\3\0\1\76"+
"\1\0\3\231\1\0\1\231\1\0\2\231\2\0\11\231"+ "\2\0\2\76\1\0\3\76\1\0\2\76\1\0\1\76"+
"\1\0\2\231\1\0\1\231\1\0\2\231\1\0\14\231"+ "\10\0\1\76\1\0\2\76\2\0\2\76\1\0\4\76"+
"\1\0\2\231\1\0\10\231\1\0\2\231\1\0\1\231"+ "\23\0\1\76\27\0\1\30\4\0\1\30\11\0\1\30"+
"\1\0\23\231\1\0\1\231\1\0\2\231\2\0\1\231"+ "\22\0\1\30\3\0\1\30\13\0\1\77\2\0\1\77"+
"\1\0\1\231\1\0\1\231\1\0\3\231\22\0\1\231"+ "\10\0\1\30\22\0\4\77\35\0\1\30\26\0\1\30"+
"\26\0\2\231\23\0\1\232\1\231\40\0\1\232\13\0"+ "\26\0\2\30\23\0\1\31\1\30\40\0\1\31\13\0"+
"\1\64\65\0\1\232\11\0\1\64\15\0\4\231\2\0"+ "\1\77\65\0\1\31\11\0\1\77\15\0\4\30\2\0"+
"\2\231\14\0\3\231\1\64\1\0\2\64\11\0\3\231"+ "\2\30\14\0\3\30\1\77\1\0\2\77\11\0\3\30"+
"\3\0\1\231\1\0\1\64\4\0\1\64\2\231\1\0"+ "\3\0\1\30\1\0\1\77\4\0\1\77\2\30\1\0"+
"\4\232\1\0\2\231\5\0\4\64\2\0\1\231\1\64"+ "\4\31\1\0\2\30\5\0\4\77\2\0\1\30\1\77"+
"\12\0\1\64\7\0\1\231\44\0\1\231\3\0\2\231"+ "\12\0\1\77\7\0\1\30\30\0\1\30\4\0\1\30"+
"\12\0\2\231\1\0\3\231\7\0\1\231\6\0\2\231"+ "\6\0\1\30\3\0\1\30\6\0\1\30\5\0\1\30"+
"\1\0\2\231\6\0\1\231\4\0\2\231\2\0\2\231"+ "\2\0\2\30\1\0\17\30\2\0\1\30\13\0\7\30"+
"\5\0\3\231\2\0\1\231\3\0\2\232\10\0\1\231"+ "\2\0\1\30\1\0\1\30\1\0\2\30\2\0\1\30"+
"\16\0\1\231\7\0\1\231\30\0\1\231\4\0\1\231"+ "\1\0\3\30\2\0\1\30\1\0\1\30\1\0\1\30"+
"\6\0\1\231\3\0\1\231\6\0\1\231\5\0\1\231"+ "\1\0\1\30\4\0\1\77\1\0\2\30\6\0\1\30"+
"\2\0\2\231\1\0\17\231\2\0\1\231\13\0\7\231"+ "\7\0\1\30\1\0\1\30\33\0\1\30\6\0\1\30"+
"\2\0\1\231\1\0\1\231\1\0\2\231\2\0\1\231"+ "\3\0\1\30\3\0\1\30\7\0\1\30\31\0\20\30"+
"\1\0\3\231\2\0\1\231\1\0\1\231\1\0\1\231"+ "\5\0\3\30\4\0\1\30\6\0\1\30\3\0\2\30"+
"\1\0\1\231\4\0\1\64\1\0\2\231\6\0\1\231"+ "\2\0\2\30\4\0\1\30\4\77\1\0\1\30\2\0"+
"\7\0\1\231\1\0\1\231\42\0\1\231\17\0\2\231"+ "\1\30\4\0\1\30\1\0\1\30\1\0\1\30\134\0"+
"\22\0\1\231\2\0\2\231\13\0\1\231\3\0\2\231"+ "\2\77\25\0\4\77\55\0\1\77\15\0\2\77\10\0"+
"\5\0\3\231\20\0\1\231\16\0\1\231\7\0\1\231"+ "\2\77\1\0\1\77\1\0\1\77\11\0\1\77\11\0"+
"\35\0\1\231\6\0\1\231\3\0\1\231\3\0\1\231"+ "\2\77\6\0\1\77\2\0\4\77\3\0\1\77\2\0"+
"\7\0\1\231\31\0\20\231\5\0\3\231\4\0\1\231"+ "\2\77\1\0\3\77\1\0\2\77\1\0\1\77\10\0"+
"\6\0\1\231\3\0\2\231\2\0\2\231\4\0\1\231"+ "\1\77\1\0\2\77\2\0\2\77\1\0\4\77\23\0"+
"\4\64\1\0\1\231\2\0\1\231\4\0\1\231\1\0"+ "\1\77\111\0\1\121\2\0\1\121\33\0\4\121\216\0"+
"\1\231\1\0\1\231\134\0\2\64\25\0\4\64\55\0"+ "\1\121\77\0\1\121\44\0\1\121\1\0\2\121\21\0"+
"\1\64\15\0\2\64\10\0\2\64\1\0\1\64\1\0"+ "\1\121\4\0\1\121\17\0\4\121\3\0\1\121\12\0"+
"\1\64\11\0\1\64\11\0\2\64\6\0\1\64\2\0"+ "\1\121\203\0\1\121\222\0\4\121\152\0\2\121\25\0"+
"\4\64\3\0\1\64\2\0\2\64\1\0\3\64\1\0"+ "\4\121\55\0\1\121\15\0\2\121\10\0\2\121\1\0"+
"\2\64\1\0\1\64\10\0\1\64\1\0\2\64\2\0"+ "\1\121\1\0\1\121\11\0\1\121\11\0\2\121\6\0"+
"\2\64\1\0\4\64\23\0\1\64\21\0\1\211\1\0"+ "\1\121\2\0\4\121\3\0\1\121\2\0\2\121\1\0"+
"\1\212\2\0\1\316\1\0\1\214\4\0\1\215\1\0"+ "\3\121\1\0\2\121\1\0\1\121\10\0\1\121\1\0"+
"\1\216\1\0\1\217\2\0\1\220\3\0\1\317\2\0"+ "\2\121\2\0\2\121\1\0\4\121\23\0\1\121\27\0"+
"\1\320\4\0\1\223\3\0\1\321\17\0\1\225\2\0"+ "\1\30\4\0\1\30\11\0\1\30\22\0\1\30\3\0"+
"\1\322\21\0\1\323\2\0\1\324\61\0\2\231\1\232"+ "\1\30\13\0\1\147\2\0\1\147\10\0\1\30\22\0"+
"\1\0\1\325\1\0\1\325\1\326\1\0\1\231\2\0"+ "\4\147\35\0\1\30\26\0\1\30\26\0\2\30\23\0"+
"\1\325\1\0\1\233\1\231\1\0\1\211\1\0\1\212"+ "\1\62\1\30\40\0\1\62\13\0\1\147\65\0\1\62"+
"\2\0\1\327\1\0\1\214\4\0\1\215\1\0\1\216"+ "\11\0\1\147\15\0\4\30\2\0\2\30\14\0\3\30"+
"\1\0\1\217\2\0\1\220\3\0\1\330\2\0\1\331"+ "\1\147\1\0\2\147\11\0\3\30\3\0\1\30\1\0"+
"\4\0\1\223\3\0\1\332\17\0\1\225\2\0\1\333"+ "\1\147\4\0\1\147\2\30\1\0\4\62\1\0\2\30"+
"\21\0\1\334\2\0\1\335\61\0\1\231\2\232\2\0"+ "\5\0\4\147\2\0\1\30\1\147\12\0\1\147\7\0"+
"\2\336\1\337\1\0\1\232\2\0\1\336\1\0\1\233"+ "\1\30\30\0\1\30\4\0\1\30\6\0\1\30\3\0"+
"\1\231\1\0\1\211\1\0\1\212\2\0\1\340\1\0"+ "\1\30\6\0\1\30\5\0\1\30\2\0\2\30\1\0"+
"\1\214\4\0\1\215\1\0\1\216\1\0\1\217\2\0"+ "\17\30\2\0\1\30\13\0\7\30\2\0\1\30\1\0"+
"\1\220\3\0\1\341\2\0\1\342\4\0\1\223\3\0"+ "\1\30\1\0\2\30\2\0\1\30\1\0\3\30\2\0"+
"\1\343\17\0\1\225\2\0\1\344\21\0\1\345\2\0"+ "\1\30\1\0\1\30\1\0\1\30\1\0\1\30\4\0"+
"\1\346\61\0\1\231\1\233\1\232\1\0\1\325\1\0"+ "\1\147\1\0\2\30\6\0\1\30\7\0\1\30\1\0"+
"\1\325\1\326\1\0\1\233\2\0\1\231\1\347\1\233"+ "\1\30\33\0\1\30\6\0\1\30\3\0\1\30\3\0"+
"\1\231\71\0\1\76\2\0\1\76\33\0\4\76\102\0"+ "\1\30\7\0\1\30\31\0\20\30\5\0\3\30\4\0"+
"\1\31\104\0\1\31\146\0\1\31\41\0\1\31\13\0"+ "\1\30\6\0\1\30\3\0\2\30\2\0\2\30\4\0"+
"\1\76\65\0\1\31\11\0\1\76\44\0\1\76\1\0"+ "\1\30\4\147\1\0\1\30\2\0\1\30\4\0\1\30"+
"\2\76\21\0\1\76\4\0\1\76\3\0\4\31\10\0"+ "\1\0\1\30\1\0\1\30\134\0\2\147\25\0\4\147"+
"\4\76\3\0\1\76\12\0\1\76\164\0\2\31\233\0"+ "\55\0\1\147\15\0\2\147\10\0\2\147\1\0\1\147"+
"\1\76\222\0\4\76\152\0\2\76\25\0\4\76\55\0"+ "\1\0\1\147\11\0\1\147\11\0\2\147\6\0\1\147"+
"\1\76\15\0\2\76\10\0\2\76\1\0\1\76\1\0"+ "\2\0\4\147\3\0\1\147\2\0\2\147\1\0\3\147"+
"\1\76\11\0\1\76\11\0\2\76\6\0\1\76\2\0"+ "\1\0\2\147\1\0\1\147\10\0\1\147\1\0\2\147"+
"\4\76\3\0\1\76\2\0\2\76\1\0\3\76\1\0"+ "\2\0\2\147\1\0\4\147\23\0\1\147\111\0\1\150"+
"\2\76\1\0\1\76\10\0\1\76\1\0\2\76\2\0"+ "\2\0\1\150\33\0\4\150\216\0\1\150\77\0\1\150"+
"\2\76\1\0\4\76\23\0\1\76\27\0\1\231\4\0"+ "\44\0\1\150\1\0\2\150\21\0\1\150\4\0\1\150"+
"\1\231\11\0\1\231\22\0\1\231\3\0\1\231\13\0"+ "\17\0\4\150\3\0\1\150\12\0\1\150\203\0\1\150"+
"\1\77\2\0\1\77\10\0\1\231\22\0\4\77\35\0"+ "\222\0\4\150\152\0\2\150\25\0\4\150\55\0\1\150"+
"\1\231\31\0\1\231\3\0\4\231\1\0\1\231\1\0"+ "\15\0\2\150\10\0\2\150\1\0\1\150\1\0\1\150"+
"\1\256\2\0\1\231\1\0\2\231\2\0\2\231\2\0"+ "\11\0\1\150\11\0\2\150\6\0\1\150\2\0\4\150"+
"\3\231\1\0\1\231\1\0\1\231\2\0\4\231\1\0"+ "\3\0\1\150\2\0\2\150\1\0\3\150\1\0\2\150"+
"\3\231\1\0\1\231\1\0\3\231\1\0\2\231\1\0"+ "\1\0\1\150\10\0\1\150\1\0\2\150\2\0\2\150"+
"\4\231\1\0\2\231\2\0\10\231\1\0\2\231\1\0"+ "\1\0\4\150\23\0\1\150\26\0\1\277\21\0\1\300"+
"\10\231\1\256\1\0\7\231\1\0\10\231\1\0\6\231"+ "\2\0\1\301\10\0\1\302\22\0\1\303\21\0\1\304"+
"\1\0\1\231\1\0\2\231\2\0\1\231\1\0\1\231"+ "\2\0\1\305\55\0\1\167\4\0\1\265\7\0\1\265"+
"\3\0\3\231\22\0\1\231\26\0\2\231\23\0\1\256"+ "\77\0\1\177\2\0\1\177\33\0\4\177\102\0\1\62"+
"\1\231\40\0\1\256\13\0\1\77\65\0\1\256\11\0"+ "\104\0\1\62\146\0\1\62\41\0\1\62\13\0\1\177"+
"\1\77\15\0\4\231\2\0\2\231\14\0\3\231\1\77"+ "\65\0\1\62\11\0\1\177\44\0\1\177\1\0\2\177"+
"\1\0\2\77\11\0\3\231\3\0\1\231\1\0\1\77"+ "\21\0\1\177\4\0\1\177\3\0\4\62\10\0\4\177"+
"\4\0\1\77\2\231\1\0\4\256\1\0\2\231\5\0"+ "\3\0\1\177\12\0\1\177\164\0\2\62\233\0\1\177"+
"\4\77\2\0\1\231\1\77\12\0\1\77\7\0\1\231"+ "\222\0\4\177\152\0\2\177\25\0\4\177\55\0\1\177"+
"\44\0\1\231\3\0\2\231\12\0\2\231\1\0\3\231"+ "\15\0\2\177\10\0\2\177\1\0\1\177\1\0\1\177"+
"\7\0\1\231\6\0\2\231\1\0\2\231\6\0\1\231"+ "\11\0\1\177\11\0\2\177\6\0\1\177\2\0\4\177"+
"\4\0\2\231\2\0\2\231\5\0\3\231\2\0\1\231"+ "\3\0\1\177\2\0\2\177\1\0\3\177\1\0\2\177"+
"\3\0\2\256\10\0\1\231\16\0\1\231\7\0\1\231"+ "\1\0\1\177\10\0\1\177\1\0\2\177\2\0\2\177"+
"\30\0\1\231\4\0\1\231\6\0\1\231\3\0\1\231"+ "\1\0\4\177\23\0\1\177\111\0\1\265\2\0\1\265"+
"\6\0\1\231\5\0\1\231\2\0\2\231\1\0\17\231"+ "\33\0\4\265\216\0\1\265\77\0\1\265\44\0\1\265"+
"\2\0\1\231\13\0\7\231\2\0\1\231\1\0\1\231"+ "\1\0\2\265\21\0\1\265\4\0\1\265\17\0\4\265"+
"\1\0\2\231\2\0\1\231\1\0\3\231\2\0\1\231"+ "\3\0\1\265\12\0\1\265\203\0\1\265\222\0\4\265"+
"\1\0\1\231\1\0\1\231\1\0\1\231\4\0\1\77"+ "\152\0\2\265\25\0\4\265\55\0\1\265\15\0\2\265"+
"\1\0\2\231\6\0\1\231\7\0\1\231\1\0\1\231"+ "\10\0\2\265\1\0\1\265\1\0\1\265\11\0\1\265"+
"\33\0\1\231\6\0\1\231\3\0\1\231\3\0\1\231"+ "\11\0\2\265\6\0\1\265\2\0\4\265\3\0\1\265"+
"\7\0\1\231\31\0\20\231\5\0\3\231\4\0\1\231"+ "\2\0\2\265\1\0\3\265\1\0\2\265\1\0\1\265"+
"\6\0\1\231\3\0\2\231\2\0\2\231\4\0\1\231"+ "\10\0\1\265\1\0\2\265\2\0\2\265\1\0\4\265"+
"\4\77\1\0\1\231\2\0\1\231\4\0\1\231\1\0"+ "\23\0\1\265\20\0";
"\1\231\1\0\1\231\134\0\2\77\25\0\4\77\55\0"+
"\1\77\15\0\2\77\10\0\2\77\1\0\1\77\1\0"+
"\1\77\11\0\1\77\11\0\2\77\6\0\1\77\2\0"+
"\4\77\3\0\1\77\2\0\2\77\1\0\3\77\1\0"+
"\2\77\1\0\1\77\10\0\1\77\1\0\2\77\2\0"+
"\2\77\1\0\4\77\23\0\1\77\21\0\1\211\1\0"+
"\1\212\2\0\1\350\1\0\1\246\4\0\1\215\1\0"+
"\1\216\1\0\1\217\2\0\1\220\3\0\1\351\2\0"+
"\1\352\4\0\1\251\3\0\1\353\17\0\1\225\2\0"+
"\1\354\21\0\1\355\2\0\1\356\61\0\1\231\2\256"+
"\2\0\2\357\1\360\1\0\1\256\2\0\1\357\1\0"+
"\1\233\1\231\71\0\1\121\2\0\1\121\33\0\4\121"+
"\216\0\1\121\77\0\1\121\44\0\1\121\1\0\2\121"+
"\21\0\1\121\4\0\1\121\17\0\4\121\3\0\1\121"+
"\12\0\1\121\203\0\1\121\222\0\4\121\152\0\2\121"+
"\25\0\4\121\55\0\1\121\15\0\2\121\10\0\2\121"+
"\1\0\1\121\1\0\1\121\11\0\1\121\11\0\2\121"+
"\6\0\1\121\2\0\4\121\3\0\1\121\2\0\2\121"+
"\1\0\3\121\1\0\2\121\1\0\1\121\10\0\1\121"+
"\1\0\2\121\2\0\2\121\1\0\4\121\23\0\1\121"+
"\27\0\1\30\4\0\1\30\11\0\1\30\22\0\1\30"+
"\3\0\1\30\13\0\1\147\2\0\1\147\10\0\1\30"+
"\22\0\4\147\35\0\1\30\26\0\1\30\26\0\2\30"+
"\23\0\1\62\1\30\40\0\1\62\13\0\1\147\65\0"+
"\1\62\11\0\1\147\15\0\4\30\2\0\2\30\14\0"+
"\3\30\1\147\1\0\2\147\11\0\3\30\3\0\1\30"+
"\1\0\1\147\4\0\1\147\2\30\1\0\4\62\1\0"+
"\2\30\5\0\4\147\2\0\1\30\1\147\12\0\1\147"+
"\7\0\1\30\30\0\1\30\4\0\1\30\6\0\1\30"+
"\3\0\1\30\6\0\1\30\5\0\1\30\2\0\2\30"+
"\1\0\17\30\2\0\1\30\13\0\7\30\2\0\1\30"+
"\1\0\1\30\1\0\2\30\2\0\1\30\1\0\3\30"+
"\2\0\1\30\1\0\1\30\1\0\1\30\1\0\1\30"+
"\4\0\1\147\1\0\2\30\6\0\1\30\7\0\1\30"+
"\1\0\1\30\33\0\1\30\6\0\1\30\3\0\1\30"+
"\3\0\1\30\7\0\1\30\31\0\20\30\5\0\3\30"+
"\4\0\1\30\6\0\1\30\3\0\2\30\2\0\2\30"+
"\4\0\1\30\4\147\1\0\1\30\2\0\1\30\4\0"+
"\1\30\1\0\1\30\1\0\1\30\134\0\2\147\25\0"+
"\4\147\55\0\1\147\15\0\2\147\10\0\2\147\1\0"+
"\1\147\1\0\1\147\11\0\1\147\11\0\2\147\6\0"+
"\1\147\2\0\4\147\3\0\1\147\2\0\2\147\1\0"+
"\3\147\1\0\2\147\1\0\1\147\10\0\1\147\1\0"+
"\2\147\2\0\2\147\1\0\4\147\23\0\1\147\111\0"+
"\1\150\2\0\1\150\33\0\4\150\216\0\1\150\77\0"+
"\1\150\44\0\1\150\1\0\2\150\21\0\1\150\4\0"+
"\1\150\17\0\4\150\3\0\1\150\12\0\1\150\203\0"+
"\1\150\222\0\4\150\152\0\2\150\25\0\4\150\55\0"+
"\1\150\15\0\2\150\10\0\2\150\1\0\1\150\1\0"+
"\1\150\11\0\1\150\11\0\2\150\6\0\1\150\2\0"+
"\4\150\3\0\1\150\2\0\2\150\1\0\3\150\1\0"+
"\2\150\1\0\1\150\10\0\1\150\1\0\2\150\2\0"+
"\2\150\1\0\4\150\23\0\1\150\26\0\1\361\21\0"+
"\1\362\2\0\1\363\10\0\1\364\22\0\1\365\21\0"+
"\1\366\2\0\1\367\55\0\1\167\4\0\1\304\7\0"+
"\1\304\77\0\1\177\2\0\1\177\33\0\4\177\102\0"+
"\1\62\104\0\1\62\146\0\1\62\41\0\1\62\13\0"+
"\1\177\65\0\1\62\11\0\1\177\44\0\1\177\1\0"+
"\2\177\21\0\1\177\4\0\1\177\3\0\4\62\10\0"+
"\4\177\3\0\1\177\12\0\1\177\164\0\2\62\233\0"+
"\1\177\222\0\4\177\152\0\2\177\25\0\4\177\55\0"+
"\1\177\15\0\2\177\10\0\2\177\1\0\1\177\1\0"+
"\1\177\11\0\1\177\11\0\2\177\6\0\1\177\2\0"+
"\4\177\3\0\1\177\2\0\2\177\1\0\3\177\1\0"+
"\2\177\1\0\1\177\10\0\1\177\1\0\2\177\2\0"+
"\2\177\1\0\4\177\23\0\1\177\27\0\1\231\4\0"+
"\1\231\11\0\1\231\22\0\1\231\3\0\1\231\13\0"+
"\1\231\2\0\1\231\10\0\1\231\22\0\4\231\35\0"+
"\1\231\26\0\1\231\26\0\2\231\23\0\1\232\1\231"+
"\40\0\1\232\13\0\1\231\65\0\1\232\11\0\1\231"+
"\15\0\4\231\2\0\2\231\14\0\4\231\1\0\2\231"+
"\11\0\3\231\3\0\1\231\1\0\1\231\4\0\3\231"+
"\1\0\4\232\1\0\2\231\5\0\4\231\2\0\2\231"+
"\12\0\1\231\7\0\1\231\30\0\1\231\4\0\1\231"+
"\6\0\1\231\3\0\1\231\6\0\1\231\5\0\1\231"+
"\2\0\2\231\1\0\17\231\2\0\1\231\13\0\7\231"+
"\2\0\1\231\1\0\1\231\1\0\2\231\2\0\1\231"+
"\1\0\3\231\2\0\1\231\1\0\1\231\1\0\1\231"+
"\1\0\1\231\4\0\1\231\1\0\2\231\6\0\1\231"+
"\7\0\1\231\1\0\1\231\33\0\1\231\6\0\1\231"+
"\3\0\1\231\3\0\1\231\7\0\1\231\31\0\20\231"+
"\5\0\3\231\4\0\1\231\6\0\1\231\3\0\2\231"+
"\2\0\2\231\4\0\5\231\1\0\1\231\2\0\1\231"+
"\4\0\1\231\1\0\1\231\1\0\1\231\134\0\2\231"+
"\25\0\4\231\55\0\1\231\15\0\2\231\10\0\2\231"+
"\1\0\1\231\1\0\1\231\11\0\1\231\11\0\2\231"+
"\6\0\1\231\2\0\4\231\3\0\1\231\2\0\2\231"+
"\1\0\3\231\1\0\2\231\1\0\1\231\10\0\1\231"+
"\1\0\2\231\2\0\2\231\1\0\4\231\23\0\1\231"+
"\21\0\1\211\1\0\1\212\2\0\1\370\1\0\1\371"+
"\4\0\1\215\1\0\1\216\1\0\1\217\2\0\1\220"+
"\3\0\1\372\2\0\1\373\4\0\1\374\3\0\1\375"+
"\17\0\1\225\2\0\1\376\21\0\1\377\2\0\1\u0100"+
"\61\0\1\231\1\325\2\0\1\325\1\0\2\325\1\0"+
"\1\325\2\0\1\325\1\0\2\231\1\0\1\211\1\0"+
"\1\212\2\0\1\u0101\1\0\1\214\4\0\1\215\1\0"+
"\1\216\1\0\1\217\2\0\1\220\3\0\1\u0102\2\0"+
"\1\u0103\4\0\1\223\3\0\1\u0104\17\0\1\225\2\0"+
"\1\u0105\21\0\1\u0106\2\0\1\u0107\41\0\1\117\17\0"+
"\1\231\1\326\1\232\1\121\1\325\1\0\1\325\1\326"+
"\1\0\1\326\2\0\1\325\1\0\1\233\1\231\7\0"+
"\1\231\4\0\1\231\11\0\1\231\22\0\1\231\3\0"+
"\1\231\13\0\1\232\2\0\1\232\10\0\1\231\22\0"+
"\4\232\35\0\1\231\26\0\1\231\26\0\2\231\23\0"+
"\1\232\1\231\40\0\1\232\13\0\1\232\65\0\1\232"+
"\11\0\1\232\15\0\4\231\2\0\2\231\14\0\3\231"+
"\1\232\1\0\2\232\11\0\3\231\3\0\1\231\1\0"+
"\1\232\4\0\1\232\2\231\1\0\4\232\1\0\2\231"+
"\5\0\4\232\2\0\1\231\1\232\12\0\1\232\7\0"+
"\1\231\30\0\1\231\4\0\1\231\6\0\1\231\3\0"+
"\1\231\6\0\1\231\5\0\1\231\2\0\2\231\1\0"+
"\17\231\2\0\1\231\13\0\7\231\2\0\1\231\1\0"+
"\1\231\1\0\2\231\2\0\1\231\1\0\3\231\2\0"+
"\1\231\1\0\1\231\1\0\1\231\1\0\1\231\4\0"+
"\1\232\1\0\2\231\6\0\1\231\7\0\1\231\1\0"+
"\1\231\33\0\1\231\6\0\1\231\3\0\1\231\3\0"+
"\1\231\7\0\1\231\31\0\20\231\5\0\3\231\4\0"+
"\1\231\6\0\1\231\3\0\2\231\2\0\2\231\4\0"+
"\1\231\4\232\1\0\1\231\2\0\1\231\4\0\1\231"+
"\1\0\1\231\1\0\1\231\134\0\2\232\25\0\4\232"+
"\55\0\1\232\15\0\2\232\10\0\2\232\1\0\1\232"+
"\1\0\1\232\11\0\1\232\11\0\2\232\6\0\1\232"+
"\2\0\4\232\3\0\1\232\2\0\2\232\1\0\3\232"+
"\1\0\2\232\1\0\1\232\10\0\1\232\1\0\2\232"+
"\2\0\2\232\1\0\4\232\23\0\1\232\26\0\1\u0108"+
"\1\0\1\u0109\17\0\1\u010a\2\0\1\u010b\4\0\1\u010c"+
"\3\0\1\u010d\22\0\1\u010e\21\0\1\u010f\2\0\1\u0110"+
"\62\0\1\336\1\232\2\0\3\336\1\0\1\336\2\0"+
"\1\336\4\0\1\211\1\0\1\212\2\0\1\u0111\1\0"+
"\1\214\4\0\1\215\1\0\1\216\1\0\1\217\2\0"+
"\1\220\3\0\1\u0112\2\0\1\u0113\4\0\1\223\3\0"+
"\1\u0114\17\0\1\225\2\0\1\u0115\21\0\1\u0116\2\0"+
"\1\u0117\41\0\1\117\17\0\1\231\1\337\1\232\1\121"+
"\1\0\2\336\1\337\1\0\1\337\2\0\1\336\1\0"+
"\1\233\1\231\7\0\1\231\4\0\1\231\11\0\1\231"+
"\22\0\1\231\3\0\1\231\13\0\1\233\2\0\1\233"+
"\10\0\1\231\22\0\4\233\35\0\1\231\26\0\1\231"+
"\26\0\2\231\23\0\1\232\1\231\40\0\1\232\13\0"+
"\1\233\65\0\1\232\11\0\1\233\15\0\4\231\2\0"+
"\2\231\14\0\3\231\1\233\1\0\2\233\11\0\3\231"+
"\3\0\1\231\1\0\1\233\4\0\1\233\2\231\1\0"+
"\4\232\1\0\2\231\5\0\4\233\2\0\1\231\1\233"+
"\12\0\1\233\7\0\1\231\30\0\1\231\4\0\1\231"+
"\6\0\1\231\3\0\1\231\6\0\1\231\5\0\1\231"+
"\2\0\2\231\1\0\17\231\2\0\1\231\13\0\7\231"+
"\2\0\1\231\1\0\1\231\1\0\2\231\2\0\1\231"+
"\1\0\3\231\2\0\1\231\1\0\1\231\1\0\1\231"+
"\1\0\1\231\4\0\1\233\1\0\2\231\6\0\1\231"+
"\7\0\1\231\1\0\1\231\33\0\1\231\6\0\1\231"+
"\3\0\1\231\3\0\1\231\7\0\1\231\31\0\20\231"+
"\5\0\3\231\4\0\1\231\6\0\1\231\3\0\2\231"+
"\2\0\2\231\4\0\1\231\4\233\1\0\1\231\2\0"+
"\1\231\4\0\1\231\1\0\1\231\1\0\1\231\134\0"+
"\2\233\25\0\4\233\55\0\1\233\15\0\2\233\10\0"+
"\2\233\1\0\1\233\1\0\1\233\11\0\1\233\11\0"+
"\2\233\6\0\1\233\2\0\4\233\3\0\1\233\2\0"+
"\2\233\1\0\3\233\1\0\2\233\1\0\1\233\10\0"+
"\1\233\1\0\2\233\2\0\2\233\1\0\4\233\23\0"+
"\1\233\26\0\1\u0118\21\0\1\u0119\2\0\1\u011a\10\0"+
"\1\u011b\22\0\1\u011c\21\0\1\u011d\2\0\1\u011e\62\0"+
"\1\347\7\0\1\347\4\0\1\u011f\10\0\1\231\4\0"+
"\1\231\11\0\1\231\22\0\1\231\3\0\1\231\13\0"+
"\1\256\2\0\1\256\10\0\1\231\22\0\4\256\35\0"+
"\1\231\26\0\1\231\26\0\2\231\23\0\1\256\1\231"+
"\40\0\1\256\13\0\1\256\65\0\1\256\11\0\1\256"+
"\15\0\4\231\2\0\2\231\14\0\3\231\1\256\1\0"+
"\2\256\11\0\3\231\3\0\1\231\1\0\1\256\4\0"+
"\1\256\2\231\1\0\4\256\1\0\2\231\5\0\4\256"+
"\2\0\1\231\1\256\12\0\1\256\7\0\1\231\30\0"+
"\1\231\4\0\1\231\6\0\1\231\3\0\1\231\6\0"+
"\1\231\5\0\1\231\2\0\2\231\1\0\17\231\2\0"+
"\1\231\13\0\7\231\2\0\1\231\1\0\1\231\1\0"+
"\2\231\2\0\1\231\1\0\3\231\2\0\1\231\1\0"+
"\1\231\1\0\1\231\1\0\1\231\4\0\1\256\1\0"+
"\2\231\6\0\1\231\7\0\1\231\1\0\1\231\33\0"+
"\1\231\6\0\1\231\3\0\1\231\3\0\1\231\7\0"+
"\1\231\31\0\20\231\5\0\3\231\4\0\1\231\6\0"+
"\1\231\3\0\2\231\2\0\2\231\4\0\1\231\4\256"+
"\1\0\1\231\2\0\1\231\4\0\1\231\1\0\1\231"+
"\1\0\1\231\134\0\2\256\25\0\4\256\55\0\1\256"+
"\15\0\2\256\10\0\2\256\1\0\1\256\1\0\1\256"+
"\11\0\1\256\11\0\2\256\6\0\1\256\2\0\4\256"+
"\3\0\1\256\2\0\2\256\1\0\3\256\1\0\2\256"+
"\1\0\1\256\10\0\1\256\1\0\2\256\2\0\2\256"+
"\1\0\4\256\23\0\1\256\26\0\1\u0120\1\0\1\u0121"+
"\17\0\1\u0122\2\0\1\u0123\4\0\1\u0124\3\0\1\u0125"+
"\22\0\1\u0126\21\0\1\u0127\2\0\1\u0128\62\0\1\357"+
"\1\256\2\0\3\336\1\0\1\357\2\0\1\336\4\0"+
"\1\211\1\0\1\212\2\0\1\u0129\1\0\1\246\4\0"+
"\1\215\1\0\1\216\1\0\1\217\2\0\1\220\3\0"+
"\1\u012a\2\0\1\u012b\4\0\1\251\3\0\1\u012c\17\0"+
"\1\225\2\0\1\u012d\21\0\1\u012e\2\0\1\u012f\41\0"+
"\1\117\17\0\1\231\1\360\1\256\1\121\1\0\2\336"+
"\1\360\1\0\1\360\2\0\1\336\1\0\1\233\1\231"+
"\71\0\1\304\2\0\1\304\33\0\4\304\216\0\1\304"+
"\77\0\1\304\44\0\1\304\1\0\2\304\21\0\1\304"+
"\4\0\1\304\17\0\4\304\3\0\1\304\12\0\1\304"+
"\203\0\1\304\222\0\4\304\152\0\2\304\25\0\4\304"+
"\55\0\1\304\15\0\2\304\10\0\2\304\1\0\1\304"+
"\1\0\1\304\11\0\1\304\11\0\2\304\6\0\1\304"+
"\2\0\4\304\3\0\1\304\2\0\2\304\1\0\3\304"+
"\1\0\2\304\1\0\1\304\10\0\1\304\1\0\2\304"+
"\2\0\2\304\1\0\4\304\23\0\1\304\27\0\1\231"+
"\4\0\1\231\11\0\1\231\22\0\1\231\3\0\1\231"+
"\13\0\1\325\2\0\1\325\10\0\1\231\22\0\4\325"+
"\35\0\1\231\31\0\1\231\3\0\4\231\1\0\1\231"+
"\4\0\1\231\1\0\2\231\2\0\2\231\2\0\3\231"+
"\1\0\1\231\1\0\1\231\2\0\4\231\1\0\3\231"+
"\1\0\1\231\1\0\3\231\1\0\2\231\1\0\4\231"+
"\1\0\2\231\2\0\10\231\1\0\2\231\1\0\10\231"+
"\2\0\7\231\1\0\10\231\1\0\6\231\1\0\1\231"+
"\1\0\2\231\2\0\1\231\1\0\1\231\3\0\3\231"+
"\22\0\1\231\26\0\2\231\24\0\1\231\54\0\1\325"+
"\77\0\1\325\15\0\4\231\2\0\2\231\14\0\3\231"+
"\1\325\1\0\2\325\11\0\3\231\3\0\1\231\1\0"+
"\1\325\4\0\1\325\2\231\6\0\2\231\5\0\4\325"+
"\2\0\1\231\1\325\12\0\1\325\7\0\1\231\44\0"+
"\1\231\3\0\2\231\12\0\2\231\1\0\3\231\7\0"+
"\1\231\6\0\2\231\1\0\2\231\6\0\1\231\4\0"+
"\2\231\2\0\2\231\5\0\3\231\2\0\1\231\15\0"+
"\1\231\16\0\1\231\7\0\1\231\30\0\1\231\4\0"+
"\1\231\6\0\1\231\3\0\1\231\6\0\1\231\5\0"+
"\1\231\2\0\2\231\1\0\17\231\2\0\1\231\13\0"+
"\7\231\2\0\1\231\1\0\1\231\1\0\2\231\2\0"+
"\1\231\1\0\3\231\2\0\1\231\1\0\1\231\1\0"+
"\1\231\1\0\1\231\4\0\1\325\1\0\2\231\6\0"+
"\1\231\7\0\1\231\1\0\1\231\33\0\1\231\6\0"+
"\1\231\3\0\1\231\3\0\1\231\7\0\1\231\31\0"+
"\20\231\5\0\3\231\4\0\1\231\6\0\1\231\3\0"+
"\2\231\2\0\2\231\4\0\1\231\4\325\1\0\1\231"+
"\2\0\1\231\4\0\1\231\1\0\1\231\1\0\1\231"+
"\134\0\2\325\25\0\4\325\55\0\1\325\15\0\2\325"+
"\10\0\2\325\1\0\1\325\1\0\1\325\11\0\1\325"+
"\11\0\2\325\6\0\1\325\2\0\4\325\3\0\1\325"+
"\2\0\2\325\1\0\3\325\1\0\2\325\1\0\1\325"+
"\10\0\1\325\1\0\2\325\2\0\2\325\1\0\4\325"+
"\23\0\1\325\27\0\1\231\4\0\1\231\11\0\1\231"+
"\22\0\1\231\3\0\1\231\13\0\1\326\2\0\1\326"+
"\10\0\1\231\22\0\4\326\35\0\1\231\26\0\1\231"+
"\26\0\2\231\23\0\1\232\1\231\40\0\1\232\13\0"+
"\1\326\65\0\1\232\11\0\1\326\15\0\4\231\2\0"+
"\2\231\14\0\3\231\1\326\1\0\2\326\11\0\3\231"+
"\3\0\1\231\1\0\1\326\4\0\1\326\2\231\1\0"+
"\4\232\1\0\2\231\5\0\4\326\2\0\1\231\1\326"+
"\12\0\1\326\7\0\1\231\30\0\1\231\4\0\1\231"+
"\6\0\1\231\3\0\1\231\6\0\1\231\5\0\1\231"+
"\2\0\2\231\1\0\17\231\2\0\1\231\13\0\7\231"+
"\2\0\1\231\1\0\1\231\1\0\2\231\2\0\1\231"+
"\1\0\3\231\2\0\1\231\1\0\1\231\1\0\1\231"+
"\1\0\1\231\4\0\1\326\1\0\2\231\6\0\1\231"+
"\7\0\1\231\1\0\1\231\33\0\1\231\6\0\1\231"+
"\3\0\1\231\3\0\1\231\7\0\1\231\31\0\20\231"+
"\5\0\3\231\4\0\1\231\6\0\1\231\3\0\2\231"+
"\2\0\2\231\4\0\1\231\4\326\1\0\1\231\2\0"+
"\1\231\4\0\1\231\1\0\1\231\1\0\1\231\134\0"+
"\2\326\25\0\4\326\55\0\1\326\15\0\2\326\10\0"+
"\2\326\1\0\1\326\1\0\1\326\11\0\1\326\11\0"+
"\2\326\6\0\1\326\2\0\4\326\3\0\1\326\2\0"+
"\2\326\1\0\3\326\1\0\2\326\1\0\1\326\10\0"+
"\1\326\1\0\2\326\2\0\2\326\1\0\4\326\23\0"+
"\1\326\111\0\1\336\2\0\1\336\33\0\4\336\102\0"+
"\1\232\104\0\1\232\146\0\1\232\41\0\1\232\13\0"+
"\1\336\65\0\1\232\11\0\1\336\44\0\1\336\1\0"+
"\2\336\21\0\1\336\4\0\1\336\3\0\4\232\10\0"+
"\4\336\3\0\1\336\12\0\1\336\164\0\2\232\233\0"+
"\1\336\222\0\4\336\152\0\2\336\25\0\4\336\55\0"+
"\1\336\15\0\2\336\10\0\2\336\1\0\1\336\1\0"+
"\1\336\11\0\1\336\11\0\2\336\6\0\1\336\2\0"+
"\4\336\3\0\1\336\2\0\2\336\1\0\3\336\1\0"+
"\2\336\1\0\1\336\10\0\1\336\1\0\2\336\2\0"+
"\2\336\1\0\4\336\23\0\1\336\27\0\1\231\4\0"+
"\1\231\11\0\1\231\22\0\1\231\3\0\1\231\13\0"+
"\1\337\2\0\1\337\10\0\1\231\22\0\4\337\35\0"+
"\1\231\26\0\1\231\26\0\2\231\23\0\1\232\1\231"+
"\40\0\1\232\13\0\1\337\65\0\1\232\11\0\1\337"+
"\15\0\4\231\2\0\2\231\14\0\3\231\1\337\1\0"+
"\2\337\11\0\3\231\3\0\1\231\1\0\1\337\4\0"+
"\1\337\2\231\1\0\4\232\1\0\2\231\5\0\4\337"+
"\2\0\1\231\1\337\12\0\1\337\7\0\1\231\30\0"+
"\1\231\4\0\1\231\6\0\1\231\3\0\1\231\6\0"+
"\1\231\5\0\1\231\2\0\2\231\1\0\17\231\2\0"+
"\1\231\13\0\7\231\2\0\1\231\1\0\1\231\1\0"+
"\2\231\2\0\1\231\1\0\3\231\2\0\1\231\1\0"+
"\1\231\1\0\1\231\1\0\1\231\4\0\1\337\1\0"+
"\2\231\6\0\1\231\7\0\1\231\1\0\1\231\33\0"+
"\1\231\6\0\1\231\3\0\1\231\3\0\1\231\7\0"+
"\1\231\31\0\20\231\5\0\3\231\4\0\1\231\6\0"+
"\1\231\3\0\2\231\2\0\2\231\4\0\1\231\4\337"+
"\1\0\1\231\2\0\1\231\4\0\1\231\1\0\1\231"+
"\1\0\1\231\134\0\2\337\25\0\4\337\55\0\1\337"+
"\15\0\2\337\10\0\2\337\1\0\1\337\1\0\1\337"+
"\11\0\1\337\11\0\2\337\6\0\1\337\2\0\4\337"+
"\3\0\1\337\2\0\2\337\1\0\3\337\1\0\2\337"+
"\1\0\1\337\10\0\1\337\1\0\2\337\2\0\2\337"+
"\1\0\4\337\23\0\1\337\111\0\1\347\2\0\1\347"+
"\33\0\4\347\216\0\1\347\77\0\1\347\44\0\1\347"+
"\1\0\2\347\21\0\1\347\4\0\1\347\17\0\4\347"+
"\3\0\1\347\12\0\1\347\203\0\1\347\222\0\4\347"+
"\152\0\2\347\25\0\4\347\55\0\1\347\15\0\2\347"+
"\10\0\2\347\1\0\1\347\1\0\1\347\11\0\1\347"+
"\11\0\2\347\6\0\1\347\2\0\4\347\3\0\1\347"+
"\2\0\2\347\1\0\3\347\1\0\2\347\1\0\1\347"+
"\10\0\1\347\1\0\2\347\2\0\2\347\1\0\4\347"+
"\23\0\1\347\21\0\1\211\1\0\1\212\2\0\1\u0130"+
"\1\0\1\214\4\0\1\215\1\0\1\216\1\0\1\217"+
"\2\0\1\220\3\0\1\u0131\2\0\1\u0132\4\0\1\223"+
"\3\0\1\u0133\17\0\1\225\2\0\1\u0134\21\0\1\u0135"+
"\2\0\1\u0136\61\0\1\231\1\u011f\1\232\4\0\1\64"+
"\1\0\1\u011f\4\0\1\233\1\231\71\0\1\357\2\0"+
"\1\357\33\0\4\357\102\0\1\256\104\0\1\256\146\0"+
"\1\256\41\0\1\256\13\0\1\357\65\0\1\256\11\0"+
"\1\357\44\0\1\357\1\0\2\357\21\0\1\357\4\0"+
"\1\357\3\0\4\256\10\0\4\357\3\0\1\357\12\0"+
"\1\357\164\0\2\256\233\0\1\357\222\0\4\357\152\0"+
"\2\357\25\0\4\357\55\0\1\357\15\0\2\357\10\0"+
"\2\357\1\0\1\357\1\0\1\357\11\0\1\357\11\0"+
"\2\357\6\0\1\357\2\0\4\357\3\0\1\357\2\0"+
"\2\357\1\0\3\357\1\0\2\357\1\0\1\357\10\0"+
"\1\357\1\0\2\357\2\0\2\357\1\0\4\357\23\0"+
"\1\357\27\0\1\231\4\0\1\231\11\0\1\231\22\0"+
"\1\231\3\0\1\231\13\0\1\360\2\0\1\360\10\0"+
"\1\231\22\0\4\360\35\0\1\231\26\0\1\231\26\0"+
"\2\231\23\0\1\256\1\231\40\0\1\256\13\0\1\360"+
"\65\0\1\256\11\0\1\360\15\0\4\231\2\0\2\231"+
"\14\0\3\231\1\360\1\0\2\360\11\0\3\231\3\0"+
"\1\231\1\0\1\360\4\0\1\360\2\231\1\0\4\256"+
"\1\0\2\231\5\0\4\360\2\0\1\231\1\360\12\0"+
"\1\360\7\0\1\231\30\0\1\231\4\0\1\231\6\0"+
"\1\231\3\0\1\231\6\0\1\231\5\0\1\231\2\0"+
"\2\231\1\0\17\231\2\0\1\231\13\0\7\231\2\0"+
"\1\231\1\0\1\231\1\0\2\231\2\0\1\231\1\0"+
"\3\231\2\0\1\231\1\0\1\231\1\0\1\231\1\0"+
"\1\231\4\0\1\360\1\0\2\231\6\0\1\231\7\0"+
"\1\231\1\0\1\231\33\0\1\231\6\0\1\231\3\0"+
"\1\231\3\0\1\231\7\0\1\231\31\0\20\231\5\0"+
"\3\231\4\0\1\231\6\0\1\231\3\0\2\231\2\0"+
"\2\231\4\0\1\231\4\360\1\0\1\231\2\0\1\231"+
"\4\0\1\231\1\0\1\231\1\0\1\231\134\0\2\360"+
"\25\0\4\360\55\0\1\360\15\0\2\360\10\0\2\360"+
"\1\0\1\360\1\0\1\360\11\0\1\360\11\0\2\360"+
"\6\0\1\360\2\0\4\360\3\0\1\360\2\0\2\360"+
"\1\0\3\360\1\0\2\360\1\0\1\360\10\0\1\360"+
"\1\0\2\360\2\0\2\360\1\0\4\360\23\0\1\360"+
"\27\0\1\231\4\0\1\231\11\0\1\231\22\0\1\231"+
"\3\0\1\231\13\0\1\u011f\2\0\1\u011f\10\0\1\231"+
"\22\0\4\u011f\35\0\1\231\26\0\1\231\26\0\2\231"+
"\23\0\1\232\1\231\40\0\1\232\13\0\1\u011f\65\0"+
"\1\232\11\0\1\u011f\15\0\4\231\2\0\2\231\14\0"+
"\3\231\1\u011f\1\0\2\u011f\11\0\3\231\3\0\1\231"+
"\1\0\1\u011f\4\0\1\u011f\2\231\1\0\4\232\1\0"+
"\2\231\5\0\4\u011f\2\0\1\231\1\u011f\12\0\1\u011f"+
"\7\0\1\231\30\0\1\231\4\0\1\231\6\0\1\231"+
"\3\0\1\231\6\0\1\231\5\0\1\231\2\0\2\231"+
"\1\0\17\231\2\0\1\231\13\0\7\231\2\0\1\231"+
"\1\0\1\231\1\0\2\231\2\0\1\231\1\0\3\231"+
"\2\0\1\231\1\0\1\231\1\0\1\231\1\0\1\231"+
"\4\0\1\u011f\1\0\2\231\6\0\1\231\7\0\1\231"+
"\1\0\1\231\33\0\1\231\6\0\1\231\3\0\1\231"+
"\3\0\1\231\7\0\1\231\31\0\20\231\5\0\3\231"+
"\4\0\1\231\6\0\1\231\3\0\2\231\2\0\2\231"+
"\4\0\1\231\4\u011f\1\0\1\231\2\0\1\231\4\0"+
"\1\231\1\0\1\231\1\0\1\231\134\0\2\u011f\25\0"+
"\4\u011f\55\0\1\u011f\15\0\2\u011f\10\0\2\u011f\1\0"+
"\1\u011f\1\0\1\u011f\11\0\1\u011f\11\0\2\u011f\6\0"+
"\1\u011f\2\0\4\u011f\3\0\1\u011f\2\0\2\u011f\1\0"+
"\3\u011f\1\0\2\u011f\1\0\1\u011f\10\0\1\u011f\1\0"+
"\2\u011f\2\0\2\u011f\1\0\4\u011f\23\0\1\u011f\20\0";
private static int [] zzUnpackTrans() { private static int [] zzUnpackTrans() {
int [] result = new int[42600]; int [] result = new int[26554];
int offset = 0; int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result; return result;
@ -1235,12 +852,10 @@ public final class StandardTokenizerImpl implements StandardTokenizerInterface {
private static final String ZZ_ATTRIBUTE_PACKED_0 = private static final String ZZ_ATTRIBUTE_PACKED_0 =
"\1\0\1\11\36\1\21\0\1\1\1\0\1\1\12\0"+ "\1\0\1\11\36\1\21\0\1\1\1\0\1\1\12\0"+
"\1\1\21\0\1\1\25\0\1\1\61\0\3\1\22\0"+ "\1\1\21\0\1\1\25\0\1\1\115\0\1\1\20\0";
"\1\1\25\0\1\1\21\0\1\1\10\0\1\1\20\0"+
"\1\1\56\0\1\1\27\0";
private static int [] zzUnpackAttribute() { private static int [] zzUnpackAttribute() {
int [] result = new int[310]; int [] result = new int[197];
int offset = 0; int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result; return result;

View File

@ -163,10 +163,10 @@ RegionalIndicatorEx = {RegionalIndicator}
| {HebrewOrALetterEx} ( ( {ExtendNumLetEx}* | {MidLetterEx} ) {HebrewOrALetterEx} )* | {HebrewOrALetterEx} ( ( {ExtendNumLetEx}* | {MidLetterEx} ) {HebrewOrALetterEx} )*
)+ )+
) )
({ExtendNumLetEx}+ ( {KatakanaEx} ( {ExtendNumLetEx}* {KatakanaEx} )* ({ExtendNumLetEx}+ ( {KatakanaEx} ( {ExtendNumLetEx}* {KatakanaEx} )*
| ( {HebrewLetterEx} ( {SingleQuoteEx} | {DoubleQuoteEx} {HebrewLetterEx} ) | ( {HebrewLetterEx} ( {SingleQuoteEx} | {DoubleQuoteEx} {HebrewLetterEx} )
| {NumericEx} ( ( {ExtendNumLetEx}* | {MidNumericEx} )* {NumericEx} )* | {NumericEx} ( ( {ExtendNumLetEx}* | {MidNumericEx} ) {NumericEx} )*
| {HebrewOrALetterEx} ( ( {ExtendNumLetEx}* | {MidLetterEx} )* {HebrewOrALetterEx} )* | {HebrewOrALetterEx} ( ( {ExtendNumLetEx}* | {MidLetterEx} ) {HebrewOrALetterEx} )*
)+ )+
) )
)* )*

View File

@ -257,6 +257,25 @@ public class TestStandardAnalyzer extends BaseTokenStreamTestCase {
// Mixed consecutive \p{WB:MidNum} and \p{WB:MidNumLet} should trigger a split // Mixed consecutive \p{WB:MidNum} and \p{WB:MidNumLet} should trigger a split
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,.2", new String[] { "1", "2" }); BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,.2", new String[] { "1", "2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.,2", new String[] { "1", "2" }); BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.,2", new String[] { "1", "2" });
// '_' is in \p{WB:ExtendNumLet}
BaseTokenStreamTestCase.assertAnalyzesTo(a, "A:B_A:B", new String[] { "A:B_A:B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "A:B_A::B", new String[] { "A:B_A", "B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.2_1.2", new String[] { "1.2_1.2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "A.B_A.B", new String[] { "A.B_A.B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.2_1..2", new String[] { "1.2_1", "2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "A.B_A..B", new String[] { "A.B_A", "B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,2_1,2", new String[] { "1,2_1,2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,2_1,,2", new String[] { "1,2_1", "2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "C_A.:B", new String[] { "C_A", "B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "C_A:.B", new String[] { "C_A", "B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "3_1,.2", new String[] { "3_1", "2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "3_1.,2", new String[] { "3_1", "2" });
} }

View File

@ -480,6 +480,25 @@ public class TestUAX29URLEmailTokenizer extends BaseTokenStreamTestCase {
// Mixed consecutive \p{WB:MidNum} and \p{WB:MidNumLet} should trigger a split // Mixed consecutive \p{WB:MidNum} and \p{WB:MidNumLet} should trigger a split
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,.2", new String[] { "1", "2" }); BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,.2", new String[] { "1", "2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.,2", new String[] { "1", "2" }); BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.,2", new String[] { "1", "2" });
// '_' is in \p{WB:ExtendNumLet}
BaseTokenStreamTestCase.assertAnalyzesTo(a, "A:B_A:B", new String[] { "A:B_A:B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "A:B_A::B", new String[] { "A:B_A", "B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.2_1.2", new String[] { "1.2_1.2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "A.B_A.B", new String[] { "A.B_A.B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.2_1..2", new String[] { "1.2_1", "2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "A.B_A..B", new String[] { "A.B_A", "B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,2_1,2", new String[] { "1,2_1,2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,2_1,,2", new String[] { "1,2_1", "2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "C_A.:B", new String[] { "C_A", "B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "C_A:.B", new String[] { "C_A", "B" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "3_1,.2", new String[] { "3_1", "2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "3_1.,2", new String[] { "3_1", "2" });
} }