Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavid_williams2006-11-23 04:41:56 +0000
committerdavid_williams2006-11-23 04:41:56 +0000
commitbee4584906a0f912c2d821fbc6356cf6974a9637 (patch)
tree411f3d85a0e7047b2f927a778b4918e01af0636d
parent9575f8b4b318d7f1d0678bf4b33068a54b3b4359 (diff)
downloadwebtools.sourceediting-bee4584906a0f912c2d821fbc6356cf6974a9637.tar.gz
webtools.sourceediting-bee4584906a0f912c2d821fbc6356cf6974a9637.tar.xz
webtools.sourceediting-bee4584906a0f912c2d821fbc6356cf6974a9637.zip
removed unused import, applied standard "cleanup" profile
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java2741
1 files changed, 1021 insertions, 1720 deletions
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java
index a83b17f978..37d7302d0d 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java
@@ -25,1058 +25,187 @@ import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
/**
- * This class is a scanner generated by
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
+ * This class is a scanner generated by <a
+ * href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
* on 6/7/06 5:23 PM from the specification file
* <tt>file:/D:/builds/Workspaces/pureHeadWTP/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex</tt>
*/
public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
- /** this character denotes the end of file */
- final public static int YYEOF = -1;
-
- /** lexical states */
- final public static int ST_SELECTOR_ATTRIBUTE_NAME = 11;
- final public static int ST_IMPORT_DELIMITER = 5;
- final public static int ST_DECLARATION_PRE_VALUE = 17;
- final public static int ST_SELECTOR = 0;
- final public static int ST_CHARSET_DELIMITER = 2;
- final public static int ST_DECLARATION_VALUE = 18;
- final public static int ST_PAGE_PSEUDO_PAGE = 8;
- final public static int ST_IMPORT_URI = 3;
- final public static int ST_SELECTOR_ATTRIBUTE_END = 14;
- final public static int ST_SELECTOR_ATTRIBUTE_OPERATOR = 12;
- final public static int ST_DECLARATION = 15;
- final public static int ST_PAGE_DELIMITER = 9;
- final public static int ST_SELECTOR_ATTRIBUTE_VALUE = 13;
- final public static int ST_MEDIA_MEDIUM = 6;
- final public static int ST_CHARSET_NAME = 1;
- final public static int ST_IMPORT_MEDIUM = 4;
- final public static int ST_DECLARATION_SEPARATOR = 16;
- final public static int ST_FONT_FACE_DELIMITER = 9;
- final public static int ST_MEDIA_DELIMITER = 7;
- final public static int ST_SELECTOR_MODIFIER = 10;
- final public static int YYINITIAL = 0;
-
- /**
- * Translates characters to character classes
- */
- final private static String yycmap_packed =
- "\11\0\1\12\1\17\1\0\1\4\1\20\22\0\1\6\1\31\1\11"+
- "\1\21\1\16\1\72\1\16\1\5\1\25\1\13\1\35\1\14\1\55"+
- "\1\10\1\15\1\34\12\1\1\62\1\50\1\30\1\67\1\32\1\27"+
- "\1\36\1\43\1\26\1\40\1\57\1\46\1\64\1\61\1\41\1\51"+
- "\2\2\1\24\1\52\1\65\1\54\1\53\1\2\1\23\1\44\1\47"+
- "\1\22\5\2\1\66\1\3\1\71\1\16\1\2\1\16\1\42\1\7"+
- "\1\37\1\56\1\45\1\63\1\61\1\41\1\51\2\2\1\24\1\52"+
- "\1\65\1\54\1\53\1\2\1\23\1\44\1\47\1\22\5\2\1\60"+
- "\1\70\1\33\1\70\1\0\uff80\2";
-
- /**
- * Translates characters to character classes
- */
- final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
- /**
- * Translates a state to a row index in the transition table
- */
- final private static int yy_rowMap [] = {
- 0, 59, 118, 177, 236, 295, 354, 413, 472, 531,
- 590, 649, 708, 767, 826, 885, 944, 1003, 1062, 1121,
- 1180, 1239, 1298, 1357, 1416, 1475, 1534, 1121, 1593, 1121,
- 1652, 1711, 1121, 1770, 1829, 1888, 1121, 1947, 2006, 2065,
- 2124, 2183, 2242, 1121, 2301, 2360, 2419, 1121, 1121, 2478,
- 2537, 2596, 1121, 2655, 2714, 1121, 1121, 2773, 2832, 2891,
- 1121, 2950, 1121, 3009, 3068, 3127, 3186, 3245, 3304, 3363,
- 3422, 1121, 1121, 3481, 3540, 3599, 3658, 3717, 3776, 1121,
- 3835, 3894, 3953, 4012, 4071, 1593, 1121, 4130, 1239, 4189,
- 4248, 1416, 4307, 1475, 4366, 4425, 4484, 4543, 4602, 4661,
- 4720, 4779, 4838, 4897, 4956, 1770, 5015, 1121, 1888, 5074,
- 1947, 5133, 1121, 2006, 5192, 5251, 2183, 5310, 2360, 5369,
- 2537, 5428, 5487, 1121, 2714, 2832, 5546, 3068, 5605, 3127,
- 5664, 1121, 3245, 5723, 3363, 5782, 5841, 5900, 5959, 3894,
- 1121, 3599, 1121, 6018, 3658, 6077, 1121, 3776, 6136, 6195,
- 3953, 6254, 6313, 6372, 4071, 6431, 1121, 4130, 6490, 1121,
- 6549, 6608, 6667, 6726, 6785, 6844, 6903, 6962, 7021, 7080,
- 7139, 7198, 1770, 7257, 7316, 1888, 7375, 7434, 1947, 7493,
- 7552, 2006, 7611, 7670, 7729, 7788, 7847, 7906, 7965, 8024,
- 3127, 8083, 8142, 3245, 8201, 8260, 8319, 8378, 8437, 3658,
- 8496, 8555, 3776, 8614, 8673, 8732, 8791, 8850, 8909, 8968,
- 9027, 1121, 1121, 9086, 9145, 9204, 9263, 9322, 9381, 9440,
- 9499, 9558, 9617, 9676, 9735, 9794, 9853, 9912, 9971, 10030,
- 10089, 10148, 10207, 10266, 10325, 10384, 10443, 10502, 10561, 10620,
- 10679, 10738, 10797, 10856, 10915, 10974, 11033, 11092, 11151, 11210,
- 1121, 11269, 11328, 1121, 11387, 11446, 11505, 11564, 11623, 11682,
- 11741, 11800, 11859, 11918, 1121, 11977, 12036, 12095, 12154, 12213,
- 12272, 12331, 12390, 12449, 12508, 12567, 12626, 12685, 12744, 12803,
- 12862, 12921, 10797, 12980, 13039, 1121, 13098, 13157, 13216, 13275,
- 13334, 13393, 1121, 13452, 13511, 13570, 13629, 13688, 13747, 13806,
- 13865, 13924, 11741, 13983, 14042, 14101, 14160, 14219, 14278, 14337,
- 14396, 14455, 14514, 14573, 14632, 14691, 14750, 14809, 14868, 14927,
- 14986, 15045, 12862, 15104, 15163, 15222, 15281, 15340, 15399, 15458,
- 1121, 15517, 15576, 15635, 15694, 15753, 15812, 15871, 15930, 15989,
- 16048, 16107, 16166, 16225, 16284, 16343, 16402, 16461, 16520, 16579,
- 16638, 16697, 16756, 16815, 16874, 16933, 16992, 17051, 17110, 17169,
- 17228, 17287, 17346, 17405, 17464, 17523, 17582, 17641, 17700, 17759,
- 1121, 17818, 17877, 17936, 17995, 18054, 18113, 18172, 18231, 18290,
- 11859, 18349, 11918, 18408, 18467, 18526, 18585, 18644, 18703, 18762,
- 18821, 18880, 18939, 12980, 18998, 13039, 19057, 19116, 19175, 19234,
- 19293, 19352, 19411, 19470, 19529, 19588, 19647, 1121, 19706, 19765,
- 19824, 19883, 1121, 19942, 20001, 20060, 1121, 20119, 20178, 20237,
- 20296, 20355, 20414, 20473, 20532, 20591, 20650
- };
-
- /**
- * The packed transition table of the DFA
- */
- final private static String yy_packed =
- "\2\24\1\25\1\26\1\27\1\24\1\27\1\25\1\30"+
- "\1\24\1\27\2\24\1\31\1\24\2\27\1\32\3\25"+
- "\1\24\1\25\1\24\1\33\2\24\1\34\1\35\1\36"+
- "\1\37\11\25\1\24\4\25\1\24\2\25\1\24\1\25"+
- "\1\40\3\25\1\41\10\24\1\27\1\42\1\27\1\24"+
- "\1\43\1\44\1\27\4\24\2\27\7\24\1\33\2\24"+
- "\1\34\1\35\1\24\1\37\40\24\1\27\1\24\1\27"+
- "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+
- "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\26\24"+
- "\1\27\1\46\1\27\1\24\1\43\1\47\1\27\4\24"+
- "\2\27\1\24\1\50\5\24\1\33\2\24\1\34\1\35"+
- "\1\24\1\37\11\24\1\45\24\24\1\51\1\52\1\27"+
- "\1\24\1\27\1\51\1\53\1\24\1\27\4\24\2\27"+
- "\1\24\3\51\1\24\1\51\1\24\1\33\2\24\1\34"+
- "\1\35\1\24\1\37\11\51\1\45\4\51\1\24\2\51"+
- "\1\24\1\51\1\24\3\51\11\24\1\27\1\24\1\27"+
- "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+
- "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\4\24"+
- "\1\54\17\24\1\55\1\56\1\27\1\24\1\27\1\55"+
- "\1\57\1\24\1\27\4\24\2\27\1\24\3\55\1\24"+
- "\1\55\1\24\1\33\2\24\1\34\1\35\1\24\1\37"+
- "\11\55\1\24\4\55\1\24\2\55\1\24\1\55\1\24"+
- "\3\55\11\24\1\27\1\24\1\27\1\24\1\43\1\24"+
- "\1\27\4\24\2\27\7\24\1\33\2\24\1\34\1\35"+
- "\1\24\1\37\16\24\1\60\2\24\1\61\14\24\1\62"+
- "\1\63\1\27\1\24\1\27\1\62\1\64\1\24\1\27"+
- "\4\24\2\27\1\24\3\62\1\24\1\62\1\24\1\33"+
- "\2\24\1\34\1\35\1\24\1\37\11\62\1\24\4\62"+
- "\1\24\2\62\1\65\1\62\1\66\3\62\11\24\1\27"+
- "\1\24\1\27\1\24\1\43\1\24\1\27\4\24\2\27"+
- "\7\24\1\33\2\24\1\34\1\35\1\24\1\37\21\24"+
- "\1\65\16\24\1\67\1\24\1\67\1\24\1\43\1\24"+
- "\1\67\1\24\1\70\1\31\1\24\2\67\1\32\6\24"+
- "\1\33\1\24\1\70\1\34\1\35\1\36\1\37\16\24"+
- "\1\71\2\24\1\65\1\24\1\40\3\24\1\41\6\24"+
- "\1\72\1\73\1\27\1\24\1\27\1\72\1\74\1\24"+
- "\1\27\4\24\2\27\1\24\3\72\1\24\1\72\1\24"+
- "\1\33\2\24\1\34\1\35\1\24\1\37\11\72\1\24"+
- "\4\72\1\24\2\72\1\24\1\72\1\24\3\72\11\24"+
- "\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24"+
- "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37"+
- "\30\24\1\75\1\76\1\77\3\24\1\100\1\101\1\27"+
- "\1\102\1\27\1\100\1\103\1\104\1\27\4\24\2\27"+
- "\1\24\3\100\1\24\1\100\1\24\1\33\2\24\1\34"+
- "\1\35\1\24\1\37\11\100\1\24\4\100\1\24\2\100"+
- "\1\24\1\100\1\24\3\100\11\24\1\27\1\24\1\27"+
- "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+
- "\2\24\1\34\1\35\1\24\1\37\32\24\1\77\3\24"+
- "\1\105\1\106\1\27\1\24\1\27\1\105\1\107\1\24"+
- "\1\27\4\24\2\27\1\24\3\105\1\24\1\105\1\24"+
- "\1\33\2\24\1\34\1\35\1\24\1\37\11\105\1\110"+
- "\4\105\1\24\2\105\1\24\1\105\1\24\3\105\11\24"+
- "\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24"+
- "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37"+
- "\11\24\1\110\11\24\1\111\11\24\1\112\1\113\1\114"+
- "\1\27\1\115\1\27\1\113\1\116\1\117\1\27\1\120"+
- "\1\121\1\122\1\24\2\27\1\123\1\124\2\113\1\24"+
- "\1\113\1\24\1\33\1\125\1\24\1\34\1\126\1\24"+
- "\1\37\11\113\1\110\4\113\1\127\2\113\1\24\1\113"+
- "\1\24\3\113\6\24\1\112\1\113\1\114\1\130\1\115"+
- "\1\130\1\113\1\116\1\117\1\130\1\120\1\121\1\122"+
- "\1\24\2\130\1\123\1\124\2\113\1\24\1\113\1\24"+
- "\1\33\1\125\1\24\1\34\1\126\1\24\1\37\11\113"+
- "\1\110\4\113\1\127\2\113\1\24\1\113\1\24\3\113"+
- "\5\24\74\0\2\25\1\131\3\0\2\25\11\0\3\25"+
- "\1\0\1\25\10\0\11\25\1\0\4\25\1\0\2\25"+
- "\1\0\1\25\1\0\3\25\6\0\1\132\2\25\1\0"+
- "\2\25\1\132\2\25\1\0\4\25\2\0\16\25\1\132"+
- "\2\25\1\132\2\25\1\132\10\25\1\132\4\25\1\132"+
- "\7\25\4\0\1\27\1\0\1\27\3\0\1\27\4\0"+
- "\2\27\54\0\1\25\1\131\3\0\1\25\1\133\11\0"+
- "\3\25\1\0\1\25\10\0\11\25\1\0\4\25\1\0"+
- "\2\25\1\0\1\25\1\0\3\25\6\0\2\134\1\135"+
- "\3\0\2\134\11\0\3\134\1\0\1\134\10\0\11\134"+
- "\1\0\4\134\1\0\2\134\1\0\1\134\1\0\3\134"+
- "\6\0\2\136\1\137\3\0\2\136\11\0\3\136\1\0"+
- "\1\136\10\0\11\136\1\0\4\136\1\0\2\136\1\0"+
- "\1\136\1\0\3\136\36\0\1\140\76\0\1\141\74\0"+
- "\2\142\10\0\1\143\1\144\1\145\7\0\2\146\10\0"+
- "\1\147\1\150\3\0\1\147\1\151\11\0\3\147\1\0"+
- "\1\147\10\0\11\147\1\0\4\147\1\0\2\147\1\0"+
- "\1\147\1\0\3\147\6\0\2\152\1\153\1\0\1\154"+
- "\11\152\2\0\52\152\10\0\1\133\63\0\2\155\1\156"+
- "\1\0\4\155\1\154\5\155\2\0\52\155\1\0\2\157"+
- "\1\160\1\0\1\161\11\157\2\0\52\157\1\0\2\162"+
- "\1\163\1\0\4\162\1\161\5\162\2\0\52\162\23\0"+
- "\1\164\50\0\2\51\1\165\3\0\2\51\11\0\3\51"+
- "\1\0\1\51\10\0\11\51\1\0\4\51\1\0\2\51"+
- "\1\0\1\51\1\0\3\51\6\0\1\166\2\51\1\0"+
- "\2\51\1\166\2\51\1\0\4\51\2\0\16\51\1\166"+
- "\2\51\1\166\2\51\1\166\10\51\1\166\4\51\1\166"+
- "\7\51\2\0\1\51\1\165\3\0\1\51\1\133\11\0"+
- "\3\51\1\0\1\51\10\0\11\51\1\0\4\51\1\0"+
- "\2\51\1\0\1\51\1\0\3\51\6\0\2\55\1\167"+
- "\3\0\2\55\11\0\3\55\1\0\1\55\10\0\11\55"+
- "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\3\55"+
- "\6\0\1\170\2\55\1\0\2\55\1\170\2\55\1\0"+
- "\4\55\2\0\16\55\1\170\2\55\1\170\2\55\1\170"+
- "\10\55\1\170\4\55\1\170\7\55\2\0\1\55\1\167"+
- "\3\0\1\55\1\133\11\0\3\55\1\0\1\55\10\0"+
- "\11\55\1\0\4\55\1\0\2\55\1\0\1\55\1\0"+
- "\3\55\6\0\2\62\1\171\3\0\2\62\11\0\3\62"+
- "\1\0\1\62\10\0\11\62\1\0\4\62\1\0\2\62"+
- "\1\0\1\62\1\0\3\62\6\0\1\172\2\62\1\0"+
- "\2\62\1\172\2\62\1\0\4\62\2\0\16\62\1\172"+
- "\2\62\1\172\2\62\1\172\10\62\1\172\4\62\1\172"+
- "\7\62\2\0\1\62\1\171\3\0\1\62\1\133\11\0"+
- "\3\62\1\0\1\62\10\0\11\62\1\0\4\62\1\0"+
- "\2\62\1\0\1\62\1\0\3\62\7\0\1\62\1\171"+
- "\3\0\1\62\1\173\11\0\3\62\1\0\1\62\10\0"+
- "\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0"+
- "\3\62\5\0\4\174\1\175\1\174\1\175\3\174\1\175"+
- "\1\174\1\0\2\174\2\175\11\174\1\0\25\174\1\0"+
- "\12\174\1\0\2\72\1\176\3\0\2\72\11\0\3\72"+
- "\1\0\1\72\10\0\11\72\1\0\4\72\1\0\2\72"+
- "\1\0\1\72\1\0\3\72\6\0\1\177\2\72\1\0"+
- "\2\72\1\177\2\72\1\0\4\72\2\0\16\72\1\177"+
- "\2\72\1\177\2\72\1\177\10\72\1\177\4\72\1\177"+
- "\7\72\2\0\1\72\1\176\3\0\1\72\1\133\11\0"+
- "\3\72\1\0\1\72\10\0\11\72\1\0\4\72\1\0"+
- "\2\72\1\0\1\72\1\0\3\72\74\0\1\75\4\0"+
- "\2\100\1\200\3\0\2\100\11\0\3\100\1\0\1\100"+
- "\10\0\11\100\1\0\4\100\1\0\2\100\1\0\1\100"+
- "\1\0\3\100\6\0\1\201\2\100\1\0\2\100\1\201"+
- "\2\100\1\0\4\100\2\0\16\100\1\201\2\100\1\201"+
- "\2\100\1\201\10\100\1\201\4\100\1\201\7\100\1\0"+
- "\2\202\1\203\1\0\1\204\11\202\2\0\52\202\2\0"+
- "\1\100\1\200\3\0\1\100\1\133\11\0\3\100\1\0"+
- "\1\100\10\0\11\100\1\0\4\100\1\0\2\100\1\0"+
- "\1\100\1\0\3\100\6\0\2\205\1\206\1\0\4\205"+
- "\1\204\5\205\2\0\52\205\1\0\2\105\1\207\3\0"+
- "\2\105\11\0\3\105\1\0\1\105\10\0\11\105\1\0"+
- "\4\105\1\0\2\105\1\0\1\105\1\0\3\105\6\0"+
- "\1\210\2\105\1\0\2\105\1\210\2\105\1\0\4\105"+
- "\2\0\16\105\1\210\2\105\1\210\2\105\1\210\10\105"+
- "\1\210\4\105\1\210\7\105\2\0\1\105\1\207\3\0"+
- "\1\105\1\133\11\0\3\105\1\0\1\105\10\0\11\105"+
- "\1\0\4\105\1\0\2\105\1\0\1\105\1\0\3\105"+
- "\6\0\1\112\1\211\1\212\3\0\1\211\1\213\4\0"+
- "\1\214\4\0\3\211\1\0\1\211\10\0\11\211\1\0"+
- "\4\211\1\0\2\211\1\0\1\211\1\0\3\211\4\0"+
- "\1\215\1\0\2\113\1\216\3\0\2\113\11\0\3\113"+
- "\1\217\1\113\10\0\11\113\1\0\4\113\1\0\2\113"+
- "\1\0\1\113\1\0\3\113\6\0\1\220\2\113\1\0"+
- "\2\113\1\220\2\113\1\0\4\113\2\0\16\113\1\220"+
- "\2\113\1\220\2\113\1\220\10\113\1\220\4\113\1\220"+
- "\7\113\1\0\2\221\1\222\1\0\1\223\11\221\2\0"+
- "\52\221\1\0\1\112\1\113\1\216\3\0\1\113\1\133"+
- "\4\0\1\214\4\0\3\113\1\0\1\113\10\0\11\113"+
- "\1\0\4\113\1\0\2\113\1\0\1\113\1\0\3\113"+
- "\6\0\2\224\1\225\1\0\4\224\1\223\5\224\2\0"+
- "\52\224\1\0\1\112\13\0\1\214\56\0\1\226\72\0"+
- "\2\227\1\230\3\0\2\227\11\0\3\227\1\0\1\227"+
- "\10\0\11\227\1\0\4\227\1\0\2\227\1\0\1\227"+
- "\1\0\3\227\6\0\2\113\1\216\3\0\2\113\3\0"+
- "\1\231\5\0\1\113\1\232\1\113\1\217\1\113\10\0"+
- "\11\113\1\0\4\113\1\0\2\113\1\0\1\113\1\0"+
- "\3\113\11\0\1\233\1\0\1\233\3\0\1\233\4\0"+
- "\2\233\30\0\1\234\21\0\4\235\1\236\1\235\1\236"+
- "\3\235\1\236\4\235\2\236\12\235\1\0\14\235\1\0"+
- "\22\235\1\0\1\237\1\25\1\131\1\25\1\0\1\25"+
- "\1\237\1\25\1\0\1\25\4\0\2\25\1\0\3\25"+
- "\1\0\1\25\10\0\1\237\2\25\1\237\2\25\1\237"+
- "\2\25\1\0\4\25\1\0\1\237\1\25\1\0\1\25"+
- "\1\0\1\237\2\25\37\0\1\240\41\0\1\241\2\134"+
- "\1\0\2\134\1\241\2\134\1\0\4\134\2\0\16\134"+
- "\1\241\2\134\1\241\2\134\1\241\10\134\1\241\4\134"+
- "\1\241\7\134\1\0\1\242\2\136\1\0\2\136\1\242"+
- "\2\136\1\0\4\136\2\0\16\136\1\242\2\136\1\242"+
- "\2\136\1\242\10\136\1\242\4\136\1\242\7\136\10\0"+
- "\1\243\62\0\35\141\1\244\35\141\41\0\1\245\103\0"+
- "\1\246\65\0\2\247\66\0\2\250\103\0\1\251\17\0"+
- "\2\147\1\150\3\0\2\147\11\0\3\147\1\252\1\147"+
- "\10\0\11\147\1\0\4\147\1\0\2\147\1\0\1\147"+
- "\1\0\3\147\6\0\1\253\2\147\1\0\2\147\1\253"+
- "\2\147\1\0\4\147\2\0\16\147\1\253\2\147\1\253"+
- "\2\147\1\253\10\147\1\253\4\147\1\253\7\147\2\0"+
- "\1\147\1\150\3\0\1\147\12\0\3\147\1\0\1\147"+
- "\10\0\11\147\1\0\4\147\1\0\2\147\1\0\1\147"+
- "\1\0\3\147\6\0\1\254\1\152\1\153\1\152\1\255"+
- "\1\152\1\254\10\152\1\256\16\152\1\254\2\152\1\254"+
- "\2\152\1\254\10\152\1\254\4\152\1\254\7\152\1\0"+
- "\1\257\1\155\1\156\3\155\1\257\1\155\1\260\6\155"+
- "\1\261\16\155\1\257\2\155\1\257\2\155\1\257\10\155"+
- "\1\257\4\155\1\257\7\155\1\0\1\262\1\157\1\160"+
- "\1\157\1\263\1\157\1\262\10\157\1\264\16\157\1\262"+
- "\2\157\1\262\2\157\1\262\10\157\1\262\4\157\1\262"+
- "\7\157\1\0\1\265\1\162\1\163\3\162\1\265\1\162"+
- "\1\266\6\162\1\267\16\162\1\265\2\162\1\265\2\162"+
- "\1\265\10\162\1\265\4\162\1\265\7\162\24\0\1\270"+
- "\47\0\1\271\1\51\1\165\1\51\1\0\1\51\1\271"+
- "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0"+
- "\1\51\10\0\1\271\2\51\1\271\2\51\1\271\2\51"+
- "\1\0\4\51\1\0\1\271\1\51\1\0\1\51\1\0"+
- "\1\271\2\51\6\0\1\272\1\55\1\167\1\55\1\0"+
- "\1\55\1\272\1\55\1\0\1\55\4\0\2\55\1\0"+
- "\3\55\1\0\1\55\10\0\1\272\2\55\1\272\2\55"+
- "\1\272\2\55\1\0\4\55\1\0\1\272\1\55\1\0"+
- "\1\55\1\0\1\272\2\55\6\0\1\273\1\62\1\171"+
- "\1\62\1\0\1\62\1\273\1\62\1\0\1\62\4\0"+
- "\2\62\1\0\3\62\1\0\1\62\10\0\1\273\2\62"+
- "\1\273\2\62\1\273\2\62\1\0\4\62\1\0\1\273"+
- "\1\62\1\0\1\62\1\0\1\273\2\62\7\0\1\62"+
- "\1\171\3\0\1\62\12\0\3\62\1\0\1\62\10\0"+
- "\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0"+
- "\3\62\6\0\1\274\1\72\1\176\1\72\1\0\1\72"+
- "\1\274\1\72\1\0\1\72\4\0\2\72\1\0\3\72"+
- "\1\0\1\72\10\0\1\274\2\72\1\274\2\72\1\274"+
- "\2\72\1\0\4\72\1\0\1\274\1\72\1\0\1\72"+
- "\1\0\1\274\2\72\6\0\1\275\1\100\1\200\1\100"+
- "\1\0\1\100\1\275\1\100\1\0\1\100\4\0\2\100"+
- "\1\0\3\100\1\0\1\100\10\0\1\275\2\100\1\275"+
- "\2\100\1\275\2\100\1\0\4\100\1\0\1\275\1\100"+
- "\1\0\1\100\1\0\1\275\2\100\6\0\1\276\1\202"+
- "\1\203\1\202\1\277\1\202\1\276\10\202\1\300\16\202"+
- "\1\276\2\202\1\276\2\202\1\276\10\202\1\276\4\202"+
- "\1\276\7\202\1\0\1\301\1\205\1\206\3\205\1\301"+
- "\1\205\1\302\6\205\1\303\16\205\1\301\2\205\1\301"+
- "\2\205\1\301\10\205\1\301\4\205\1\301\7\205\1\0"+
- "\1\304\1\105\1\207\1\105\1\0\1\105\1\304\1\105"+
- "\1\0\1\105\4\0\2\105\1\0\3\105\1\0\1\105"+
- "\10\0\1\304\2\105\1\304\2\105\1\304\2\105\1\0"+
- "\4\105\1\0\1\304\1\105\1\0\1\105\1\0\1\304"+
- "\2\105\6\0\2\211\1\212\3\0\2\211\11\0\3\211"+
- "\1\0\1\211\10\0\11\211\1\0\4\211\1\0\2\211"+
- "\1\0\1\211\1\0\3\211\6\0\1\305\2\211\1\0"+
- "\2\211\1\305\2\211\1\0\4\211\2\0\16\211\1\305"+
- "\2\211\1\305\2\211\1\305\10\211\1\305\4\211\1\305"+
- "\7\211\2\0\1\211\1\212\3\0\1\211\12\0\3\211"+
- "\1\0\1\211\10\0\11\211\1\0\4\211\1\0\2\211"+
- "\1\0\1\211\1\0\3\211\6\0\1\306\1\113\1\216"+
- "\1\113\1\0\1\113\1\306\1\113\1\0\1\113\4\0"+
- "\2\113\1\0\3\113\1\217\1\113\10\0\1\306\2\113"+
- "\1\306\2\113\1\306\2\113\1\0\4\113\1\0\1\306"+
- "\1\113\1\0\1\113\1\0\1\306\2\113\6\0\1\307"+
- "\1\221\1\222\1\221\1\310\1\221\1\307\10\221\1\311"+
- "\16\221\1\307\2\221\1\307\2\221\1\307\10\221\1\307"+
- "\4\221\1\307\7\221\1\0\1\312\1\224\1\225\3\224"+
- "\1\312\1\224\1\313\6\224\1\314\16\224\1\312\2\224"+
- "\1\312\2\224\1\312\10\224\1\312\4\224\1\312\7\224"+
- "\1\0\1\226\1\211\1\212\3\0\1\211\1\213\11\0"+
- "\3\211\1\0\1\211\10\0\11\211\1\0\4\211\1\0"+
- "\2\211\1\0\1\211\1\0\3\211\4\0\1\215\1\0"+
- "\1\315\2\227\1\0\2\227\1\315\2\227\1\0\4\227"+
- "\2\0\16\227\1\315\2\227\1\315\2\227\1\315\10\227"+
- "\1\315\4\227\1\315\7\227\1\0\1\316\5\0\1\316"+
- "\16\0\2\316\7\0\2\316\1\0\2\316\1\0\2\316"+
- "\7\0\2\316\3\0\2\316\7\0\2\113\1\216\3\0"+
- "\2\113\11\0\2\113\1\317\1\217\1\113\10\0\11\113"+
- "\1\0\4\113\1\0\2\113\1\0\1\113\1\0\3\113"+
- "\57\0\1\320\21\0\1\321\1\25\1\131\1\25\1\0"+
- "\1\25\1\321\1\25\1\0\1\25\4\0\2\25\1\0"+
- "\3\25\1\0\1\25\10\0\1\321\2\25\1\321\2\25"+
- "\1\321\2\25\1\0\4\25\1\0\1\321\1\25\1\0"+
- "\1\25\1\0\1\321\2\25\6\0\1\322\1\134\1\135"+
- "\1\134\1\0\1\134\1\322\1\134\1\0\1\134\4\0"+
- "\2\134\1\0\3\134\1\0\1\134\10\0\1\322\2\134"+
- "\1\322\2\134\1\322\2\134\1\0\4\134\1\0\1\322"+
- "\1\134\1\0\1\134\1\0\1\322\2\134\6\0\1\323"+
- "\1\136\1\137\1\136\1\0\1\136\1\323\1\136\1\0"+
- "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0"+
- "\1\323\2\136\1\323\2\136\1\323\2\136\1\0\4\136"+
- "\1\0\1\323\1\136\1\0\1\136\1\0\1\323\2\136"+
- "\15\0\1\324\62\0\34\141\1\325\1\244\35\141\42\0"+
- "\2\326\102\0\1\327\75\0\2\330\74\0\1\331\76\0"+
- "\1\332\7\0\1\333\1\334\1\252\1\0\1\252\1\333"+
- "\1\335\1\0\1\252\4\0\2\252\1\0\3\333\1\0"+
- "\1\333\10\0\11\333\1\0\4\333\1\0\2\333\1\0"+
- "\1\333\1\0\3\333\6\0\1\336\1\147\1\150\1\147"+
- "\1\0\1\147\1\336\1\147\1\0\1\147\4\0\2\147"+
- "\1\0\3\147\1\252\1\147\10\0\1\336\2\147\1\336"+
- "\2\147\1\336\2\147\1\0\4\147\1\0\1\336\1\147"+
- "\1\0\1\147\1\0\1\336\2\147\6\0\1\337\1\152"+
- "\1\153\1\152\1\154\1\152\1\337\27\152\1\337\2\152"+
- "\1\337\2\152\1\337\10\152\1\337\4\152\1\337\7\152"+
- "\1\0\2\152\1\153\1\0\1\154\12\152\1\0\52\152"+
- "\1\0\1\340\1\155\1\156\3\155\1\340\1\155\1\154"+
- "\25\155\1\340\2\155\1\340\2\155\1\340\10\155\1\340"+
- "\4\155\1\340\7\155\1\0\2\155\1\156\1\0\4\155"+
- "\1\154\6\155\1\0\52\155\1\0\1\341\1\157\1\160"+
- "\1\157\1\161\1\157\1\341\27\157\1\341\2\157\1\341"+
- "\2\157\1\341\10\157\1\341\4\157\1\341\7\157\1\0"+
- "\2\157\1\160\1\0\1\161\12\157\1\0\52\157\1\0"+
- "\1\342\1\162\1\163\3\162\1\342\1\162\1\161\25\162"+
- "\1\342\2\162\1\342\2\162\1\342\10\162\1\342\4\162"+
- "\1\342\7\162\1\0\2\162\1\163\1\0\4\162\1\161"+
- "\6\162\1\0\52\162\25\0\1\343\46\0\1\344\1\51"+
- "\1\165\1\51\1\0\1\51\1\344\1\51\1\0\1\51"+
- "\4\0\2\51\1\0\3\51\1\0\1\51\10\0\1\344"+
- "\2\51\1\344\2\51\1\344\2\51\1\0\4\51\1\0"+
- "\1\344\1\51\1\0\1\51\1\0\1\344\2\51\6\0"+
- "\1\345\1\55\1\167\1\55\1\0\1\55\1\345\1\55"+
- "\1\0\1\55\4\0\2\55\1\0\3\55\1\0\1\55"+
- "\10\0\1\345\2\55\1\345\2\55\1\345\2\55\1\0"+
- "\4\55\1\0\1\345\1\55\1\0\1\55\1\0\1\345"+
- "\2\55\6\0\1\346\1\62\1\171\1\62\1\0\1\62"+
- "\1\346\1\62\1\0\1\62\4\0\2\62\1\0\3\62"+
- "\1\0\1\62\10\0\1\346\2\62\1\346\2\62\1\346"+
- "\2\62\1\0\4\62\1\0\1\346\1\62\1\0\1\62"+
- "\1\0\1\346\2\62\6\0\1\347\1\72\1\176\1\72"+
- "\1\0\1\72\1\347\1\72\1\0\1\72\4\0\2\72"+
- "\1\0\3\72\1\0\1\72\10\0\1\347\2\72\1\347"+
- "\2\72\1\347\2\72\1\0\4\72\1\0\1\347\1\72"+
- "\1\0\1\72\1\0\1\347\2\72\6\0\1\350\1\100"+
- "\1\200\1\100\1\0\1\100\1\350\1\100\1\0\1\100"+
- "\4\0\2\100\1\0\3\100\1\0\1\100\10\0\1\350"+
- "\2\100\1\350\2\100\1\350\2\100\1\0\4\100\1\0"+
- "\1\350\1\100\1\0\1\100\1\0\1\350\2\100\6\0"+
- "\1\351\1\202\1\203\1\202\1\204\1\202\1\351\27\202"+
- "\1\351\2\202\1\351\2\202\1\351\10\202\1\351\4\202"+
- "\1\351\7\202\1\0\2\202\1\203\1\0\1\204\12\202"+
- "\1\0\52\202\1\0\1\352\1\205\1\206\3\205\1\352"+
- "\1\205\1\204\25\205\1\352\2\205\1\352\2\205\1\352"+
- "\10\205\1\352\4\205\1\352\7\205\1\0\2\205\1\206"+
- "\1\0\4\205\1\204\6\205\1\0\52\205\1\0\1\353"+
- "\1\105\1\207\1\105\1\0\1\105\1\353\1\105\1\0"+
- "\1\105\4\0\2\105\1\0\3\105\1\0\1\105\10\0"+
- "\1\353\2\105\1\353\2\105\1\353\2\105\1\0\4\105"+
- "\1\0\1\353\1\105\1\0\1\105\1\0\1\353\2\105"+
- "\6\0\1\354\1\211\1\212\1\211\1\0\1\211\1\354"+
- "\1\211\1\0\1\211\4\0\2\211\1\0\3\211\1\0"+
- "\1\211\10\0\1\354\2\211\1\354\2\211\1\354\2\211"+
- "\1\0\4\211\1\0\1\354\1\211\1\0\1\211\1\0"+
- "\1\354\2\211\6\0\1\355\1\113\1\216\1\113\1\0"+
- "\1\113\1\355\1\113\1\0\1\113\4\0\2\113\1\0"+
- "\3\113\1\217\1\113\10\0\1\355\2\113\1\355\2\113"+
- "\1\355\2\113\1\0\4\113\1\0\1\355\1\113\1\0"+
- "\1\113\1\0\1\355\2\113\6\0\1\356\1\221\1\222"+
- "\1\221\1\223\1\221\1\356\27\221\1\356\2\221\1\356"+
- "\2\221\1\356\10\221\1\356\4\221\1\356\7\221\1\0"+
- "\2\221\1\222\1\0\1\223\12\221\1\0\52\221\1\0"+
- "\1\357\1\224\1\225\3\224\1\357\1\224\1\223\25\224"+
- "\1\357\2\224\1\357\2\224\1\357\10\224\1\357\4\224"+
- "\1\357\7\224\1\0\2\224\1\225\1\0\4\224\1\223"+
- "\6\224\1\0\52\224\1\0\1\360\1\227\1\230\1\227"+
- "\1\0\1\227\1\360\1\227\1\0\1\227\4\0\2\227"+
- "\1\0\3\227\1\0\1\227\10\0\1\360\2\227\1\360"+
- "\2\227\1\360\2\227\1\0\4\227\1\0\1\360\1\227"+
- "\1\0\1\227\1\0\1\360\2\227\6\0\1\361\5\0"+
- "\1\361\1\362\15\0\2\361\7\0\2\361\1\0\2\361"+
- "\1\0\2\361\7\0\2\361\3\0\2\361\7\0\2\113"+
- "\1\216\3\0\2\113\11\0\3\113\1\363\1\113\10\0"+
- "\11\113\1\0\4\113\1\0\2\113\1\0\1\113\1\0"+
- "\3\113\60\0\1\364\20\0\1\365\1\25\1\131\1\25"+
- "\1\0\1\25\1\365\1\25\1\0\1\25\4\0\2\25"+
- "\1\0\3\25\1\0\1\25\10\0\1\365\2\25\1\365"+
- "\2\25\1\365\2\25\1\0\4\25\1\0\1\365\1\25"+
- "\1\0\1\25\1\0\1\365\2\25\6\0\1\366\1\134"+
- "\1\135\1\134\1\0\1\134\1\366\1\134\1\0\1\134"+
- "\4\0\2\134\1\0\3\134\1\0\1\134\10\0\1\366"+
- "\2\134\1\366\2\134\1\366\2\134\1\0\4\134\1\0"+
- "\1\366\1\134\1\0\1\134\1\0\1\366\2\134\6\0"+
- "\1\367\1\136\1\137\1\136\1\0\1\136\1\367\1\136"+
- "\1\0\1\136\4\0\2\136\1\0\3\136\1\0\1\136"+
- "\10\0\1\367\2\136\1\367\2\136\1\367\2\136\1\0"+
- "\4\136\1\0\1\367\1\136\1\0\1\136\1\0\1\367"+
- "\2\136\30\0\1\370\123\0\1\371\67\0\1\372\66\0"+
- "\2\373\73\0\1\374\24\0\2\333\1\334\1\375\1\0"+
- "\1\375\2\333\1\0\1\375\1\376\3\0\2\375\1\0"+
- "\3\333\1\0\1\333\10\0\11\333\1\0\4\333\1\0"+
- "\2\333\1\0\1\333\1\0\3\333\6\0\1\377\2\333"+
- "\1\0\2\333\1\377\2\333\1\0\4\333\2\0\16\333"+
- "\1\377\2\333\1\377\2\333\1\377\10\333\1\377\4\333"+
- "\1\377\7\333\2\0\1\333\1\334\3\0\1\333\12\0"+
- "\3\333\1\0\1\333\10\0\11\333\1\0\4\333\1\0"+
- "\2\333\1\0\1\333\1\0\3\333\6\0\1\u0100\1\147"+
- "\1\150\1\147\1\0\1\147\1\u0100\1\147\1\0\1\147"+
- "\4\0\2\147\1\0\3\147\1\252\1\147\10\0\1\u0100"+
- "\2\147\1\u0100\2\147\1\u0100\2\147\1\0\4\147\1\0"+
- "\1\u0100\1\147\1\0\1\147\1\0\1\u0100\2\147\6\0"+
- "\1\u0101\1\152\1\153\1\152\1\154\1\152\1\u0101\27\152"+
- "\1\u0101\2\152\1\u0101\2\152\1\u0101\10\152\1\u0101\4\152"+
- "\1\u0101\7\152\1\0\1\u0102\1\155\1\156\3\155\1\u0102"+
- "\1\155\1\154\25\155\1\u0102\2\155\1\u0102\2\155\1\u0102"+
- "\10\155\1\u0102\4\155\1\u0102\7\155\1\0\1\u0103\1\157"+
- "\1\160\1\157\1\161\1\157\1\u0103\27\157\1\u0103\2\157"+
- "\1\u0103\2\157\1\u0103\10\157\1\u0103\4\157\1\u0103\7\157"+
- "\1\0\1\u0104\1\162\1\163\3\162\1\u0104\1\162\1\161"+
- "\25\162\1\u0104\2\162\1\u0104\2\162\1\u0104\10\162\1\u0104"+
- "\4\162\1\u0104\7\162\1\0\2\u0105\1\u0106\1\343\1\u0107"+
- "\1\343\2\u0105\1\u0108\1\343\1\u0109\3\u0105\2\343\4\u0105"+
- "\1\0\45\u0105\1\0\1\u010a\1\51\1\165\1\51\1\0"+
- "\1\51\1\u010a\1\51\1\0\1\51\4\0\2\51\1\0"+
- "\3\51\1\0\1\51\10\0\1\u010a\2\51\1\u010a\2\51"+
- "\1\u010a\2\51\1\0\4\51\1\0\1\u010a\1\51\1\0"+
- "\1\51\1\0\1\u010a\2\51\6\0\1\u010b\1\55\1\167"+
- "\1\55\1\0\1\55\1\u010b\1\55\1\0\1\55\4\0"+
- "\2\55\1\0\3\55\1\0\1\55\10\0\1\u010b\2\55"+
- "\1\u010b\2\55\1\u010b\2\55\1\0\4\55\1\0\1\u010b"+
- "\1\55\1\0\1\55\1\0\1\u010b\2\55\6\0\1\u010c"+
- "\1\62\1\171\1\62\1\0\1\62\1\u010c\1\62\1\0"+
- "\1\62\4\0\2\62\1\0\3\62\1\0\1\62\10\0"+
- "\1\u010c\2\62\1\u010c\2\62\1\u010c\2\62\1\0\4\62"+
- "\1\0\1\u010c\1\62\1\0\1\62\1\0\1\u010c\2\62"+
- "\6\0\1\u010d\1\72\1\176\1\72\1\0\1\72\1\u010d"+
- "\1\72\1\0\1\72\4\0\2\72\1\0\3\72\1\0"+
- "\1\72\10\0\1\u010d\2\72\1\u010d\2\72\1\u010d\2\72"+
- "\1\0\4\72\1\0\1\u010d\1\72\1\0\1\72\1\0"+
- "\1\u010d\2\72\6\0\1\u010e\1\100\1\200\1\100\1\0"+
- "\1\100\1\u010e\1\100\1\0\1\100\4\0\2\100\1\0"+
- "\3\100\1\0\1\100\10\0\1\u010e\2\100\1\u010e\2\100"+
- "\1\u010e\2\100\1\0\4\100\1\0\1\u010e\1\100\1\0"+
- "\1\100\1\0\1\u010e\2\100\6\0\1\u010f\1\202\1\203"+
- "\1\202\1\204\1\202\1\u010f\27\202\1\u010f\2\202\1\u010f"+
- "\2\202\1\u010f\10\202\1\u010f\4\202\1\u010f\7\202\1\0"+
- "\1\u0110\1\205\1\206\3\205\1\u0110\1\205\1\204\25\205"+
- "\1\u0110\2\205\1\u0110\2\205\1\u0110\10\205\1\u0110\4\205"+
- "\1\u0110\7\205\1\0\1\u0111\1\105\1\207\1\105\1\0"+
- "\1\105\1\u0111\1\105\1\0\1\105\4\0\2\105\1\0"+
- "\3\105\1\0\1\105\10\0\1\u0111\2\105\1\u0111\2\105"+
- "\1\u0111\2\105\1\0\4\105\1\0\1\u0111\1\105\1\0"+
- "\1\105\1\0\1\u0111\2\105\6\0\1\u0112\1\211\1\212"+
- "\1\211\1\0\1\211\1\u0112\1\211\1\0\1\211\4\0"+
- "\2\211\1\0\3\211\1\0\1\211\10\0\1\u0112\2\211"+
- "\1\u0112\2\211\1\u0112\2\211\1\0\4\211\1\0\1\u0112"+
- "\1\211\1\0\1\211\1\0\1\u0112\2\211\6\0\1\u0113"+
- "\1\113\1\216\1\113\1\0\1\113\1\u0113\1\113\1\0"+
- "\1\113\4\0\2\113\1\0\3\113\1\217\1\113\10\0"+
- "\1\u0113\2\113\1\u0113\2\113\1\u0113\2\113\1\0\4\113"+
- "\1\0\1\u0113\1\113\1\0\1\113\1\0\1\u0113\2\113"+
- "\6\0\1\u0114\1\221\1\222\1\221\1\223\1\221\1\u0114"+
- "\27\221\1\u0114\2\221\1\u0114\2\221\1\u0114\10\221\1\u0114"+
- "\4\221\1\u0114\7\221\1\0\1\u0115\1\224\1\225\3\224"+
- "\1\u0115\1\224\1\223\25\224\1\u0115\2\224\1\u0115\2\224"+
- "\1\u0115\10\224\1\u0115\4\224\1\u0115\7\224\1\0\1\u0116"+
- "\1\227\1\230\1\227\1\0\1\227\1\u0116\1\227\1\0"+
- "\1\227\4\0\2\227\1\0\3\227\1\0\1\227\10\0"+
- "\1\u0116\2\227\1\u0116\2\227\1\u0116\2\227\1\0\4\227"+
- "\1\0\1\u0116\1\227\1\0\1\227\1\0\1\u0116\2\227"+
- "\6\0\1\u0117\5\0\1\u0117\1\362\15\0\2\u0117\7\0"+
- "\2\u0117\1\0\2\u0117\1\0\2\u0117\7\0\2\u0117\3\0"+
- "\2\u0117\7\0\1\u0118\5\0\1\u0118\16\0\2\u0118\7\0"+
- "\2\u0118\1\0\2\u0118\1\0\2\u0118\7\0\2\u0118\3\0"+
- "\2\u0118\7\0\2\u0119\1\u011a\1\u011b\1\u011c\1\u011b\2\u0119"+
- "\1\u011d\1\u011b\1\u011e\3\u0119\2\u011b\4\u0119\1\0\45\u0119"+
- "\54\0\1\u011f\17\0\1\u0120\1\25\1\131\1\25\1\0"+
- "\1\25\1\u0120\1\25\1\0\1\25\4\0\2\25\1\0"+
- "\3\25\1\0\1\25\10\0\1\u0120\2\25\1\u0120\2\25"+
- "\1\u0120\2\25\1\0\4\25\1\0\1\u0120\1\25\1\0"+
- "\1\25\1\0\1\u0120\2\25\6\0\1\u0121\1\134\1\135"+
- "\1\134\1\0\1\134\1\u0121\1\134\1\0\1\134\4\0"+
- "\2\134\1\0\3\134\1\0\1\134\10\0\1\u0121\2\134"+
- "\1\u0121\2\134\1\u0121\2\134\1\0\4\134\1\0\1\u0121"+
- "\1\134\1\0\1\134\1\0\1\u0121\2\134\6\0\1\u0122"+
- "\1\136\1\137\1\136\1\0\1\136\1\u0122\1\136\1\0"+
- "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0"+
- "\1\u0122\2\136\1\u0122\2\136\1\u0122\2\136\1\0\4\136"+
- "\1\0\1\u0122\1\136\1\0\1\136\1\0\1\u0122\2\136"+
- "\51\0\1\u0123\51\0\1\u0124\111\0\2\u0125\37\0\1\u0126"+
- "\66\0\1\375\1\0\1\375\3\0\1\375\1\376\3\0"+
- "\2\375\53\0\1\u0127\1\333\1\334\1\333\1\0\1\333"+
- "\1\u0127\1\333\1\0\1\333\1\376\3\0\2\333\1\0"+
- "\3\333\1\0\1\333\10\0\1\u0127\2\333\1\u0127\2\333"+
- "\1\u0127\2\333\1\0\4\333\1\0\1\u0127\1\333\1\0"+
- "\1\333\1\0\1\u0127\2\333\6\0\1\u0128\1\147\1\150"+
- "\1\147\1\0\1\147\1\u0128\1\147\1\0\1\147\4\0"+
- "\2\147\1\0\3\147\1\252\1\147\10\0\1\u0128\2\147"+
- "\1\u0128\2\147\1\u0128\2\147\1\0\4\147\1\0\1\u0128"+
- "\1\147\1\0\1\147\1\0\1\u0128\2\147\6\0\1\u0129"+
- "\1\152\1\153\1\152\1\154\1\152\1\u0129\27\152\1\u0129"+
- "\2\152\1\u0129\2\152\1\u0129\10\152\1\u0129\4\152\1\u0129"+
- "\7\152\1\0\1\u012a\1\155\1\156\3\155\1\u012a\1\155"+
- "\1\154\25\155\1\u012a\2\155\1\u012a\2\155\1\u012a\10\155"+
- "\1\u012a\4\155\1\u012a\7\155\1\0\1\u012b\1\157\1\160"+
- "\1\157\1\161\1\157\1\u012b\27\157\1\u012b\2\157\1\u012b"+
- "\2\157\1\u012b\10\157\1\u012b\4\157\1\u012b\7\157\1\0"+
- "\1\u012c\1\162\1\163\3\162\1\u012c\1\162\1\161\25\162"+
- "\1\u012c\2\162\1\u012c\2\162\1\u012c\10\162\1\u012c\4\162"+
- "\1\u012c\7\162\1\0\2\u0105\1\u0106\1\u012d\1\0\3\u0105"+
- "\1\0\1\u012d\1\u0109\3\u0105\2\u012d\4\u0105\1\0\45\u0105"+
- "\1\0\1\u012e\1\u0105\1\u0106\1\u012d\2\u0105\1\u012e\2\u0105"+
- "\1\u012d\1\u012f\3\u0105\2\u012d\16\u0105\1\u012e\2\u0105\1\u012e"+
- "\2\u0105\1\u012e\10\u0105\1\u012e\4\u0105\1\u012e\7\u0105\1\0"+
- "\2\u0107\1\u0130\1\0\1\u012d\11\u0107\2\0\52\u0107\1\0"+
- "\2\u0108\1\u0131\1\0\4\u0108\1\u012d\5\u0108\2\0\52\u0108"+
- "\1\0\1\u0132\1\51\1\165\1\51\1\0\1\51\1\u0132"+
- "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0"+
- "\1\51\10\0\1\u0132\2\51\1\u0132\2\51\1\u0132\2\51"+
- "\1\0\4\51\1\0\1\u0132\1\51\1\0\1\51\1\0"+
- "\1\u0132\2\51\6\0\1\u0133\1\55\1\167\1\55\1\0"+
- "\1\55\1\u0133\1\55\1\0\1\55\4\0\2\55\1\0"+
- "\3\55\1\0\1\55\10\0\1\u0133\2\55\1\u0133\2\55"+
- "\1\u0133\2\55\1\0\4\55\1\0\1\u0133\1\55\1\0"+
- "\1\55\1\0\1\u0133\2\55\6\0\1\u0134\1\62\1\171"+
- "\1\62\1\0\1\62\1\u0134\1\62\1\0\1\62\4\0"+
- "\2\62\1\0\3\62\1\0\1\62\10\0\1\u0134\2\62"+
- "\1\u0134\2\62\1\u0134\2\62\1\0\4\62\1\0\1\u0134"+
- "\1\62\1\0\1\62\1\0\1\u0134\2\62\6\0\1\u0135"+
- "\1\72\1\176\1\72\1\0\1\72\1\u0135\1\72\1\0"+
- "\1\72\4\0\2\72\1\0\3\72\1\0\1\72\10\0"+
- "\1\u0135\2\72\1\u0135\2\72\1\u0135\2\72\1\0\4\72"+
- "\1\0\1\u0135\1\72\1\0\1\72\1\0\1\u0135\2\72"+
- "\6\0\1\u0136\1\100\1\200\1\100\1\0\1\100\1\u0136"+
- "\1\100\1\0\1\100\4\0\2\100\1\0\3\100\1\0"+
- "\1\100\10\0\1\u0136\2\100\1\u0136\2\100\1\u0136\2\100"+
- "\1\0\4\100\1\0\1\u0136\1\100\1\0\1\100\1\0"+
- "\1\u0136\2\100\6\0\1\u0137\1\202\1\203\1\202\1\204"+
- "\1\202\1\u0137\27\202\1\u0137\2\202\1\u0137\2\202\1\u0137"+
- "\10\202\1\u0137\4\202\1\u0137\7\202\1\0\1\u0138\1\205"+
- "\1\206\3\205\1\u0138\1\205\1\204\25\205\1\u0138\2\205"+
- "\1\u0138\2\205\1\u0138\10\205\1\u0138\4\205\1\u0138\7\205"+
- "\1\0\1\u0139\1\105\1\207\1\105\1\0\1\105\1\u0139"+
- "\1\105\1\0\1\105\4\0\2\105\1\0\3\105\1\0"+
- "\1\105\10\0\1\u0139\2\105\1\u0139\2\105\1\u0139\2\105"+
- "\1\0\4\105\1\0\1\u0139\1\105\1\0\1\105\1\0"+
- "\1\u0139\2\105\6\0\1\u013a\1\211\1\212\1\211\1\0"+
- "\1\211\1\u013a\1\211\1\0\1\211\4\0\2\211\1\0"+
- "\3\211\1\0\1\211\10\0\1\u013a\2\211\1\u013a\2\211"+
- "\1\u013a\2\211\1\0\4\211\1\0\1\u013a\1\211\1\0"+
- "\1\211\1\0\1\u013a\2\211\6\0\1\u013b\1\113\1\216"+
- "\1\113\1\0\1\113\1\u013b\1\113\1\0\1\113\4\0"+
- "\2\113\1\0\3\113\1\217\1\113\10\0\1\u013b\2\113"+
- "\1\u013b\2\113\1\u013b\2\113\1\0\4\113\1\0\1\u013b"+
- "\1\113\1\0\1\113\1\0\1\u013b\2\113\6\0\1\u013c"+
- "\1\221\1\222\1\221\1\223\1\221\1\u013c\27\221\1\u013c"+
- "\2\221\1\u013c\2\221\1\u013c\10\221\1\u013c\4\221\1\u013c"+
- "\7\221\1\0\1\u013d\1\224\1\225\3\224\1\u013d\1\224"+
- "\1\223\25\224\1\u013d\2\224\1\u013d\2\224\1\u013d\10\224"+
- "\1\u013d\4\224\1\u013d\7\224\1\0\1\u013e\1\227\1\230"+
- "\1\227\1\0\1\227\1\u013e\1\227\1\0\1\227\4\0"+
- "\2\227\1\0\3\227\1\0\1\227\10\0\1\u013e\2\227"+
- "\1\u013e\2\227\1\u013e\2\227\1\0\4\227\1\0\1\u013e"+
- "\1\227\1\0\1\227\1\0\1\u013e\2\227\6\0\1\u013f"+
- "\5\0\1\u013f\1\362\15\0\2\u013f\7\0\2\u013f\1\0"+
- "\2\u013f\1\0\2\u013f\7\0\2\u013f\3\0\2\u013f\7\0"+
- "\1\u0140\5\0\1\u0140\16\0\2\u0140\7\0\2\u0140\1\0"+
- "\2\u0140\1\0\2\u0140\7\0\2\u0140\3\0\2\u0140\7\0"+
- "\2\u0119\1\u011a\1\u0141\1\0\3\u0119\1\0\1\u0141\1\u011e"+
- "\3\u0119\2\u0141\4\u0119\1\0\45\u0119\1\0\1\u0142\1\u0119"+
- "\1\u011a\1\u0141\2\u0119\1\u0142\2\u0119\1\u0141\1\u0143\3\u0119"+
- "\2\u0141\16\u0119\1\u0142\2\u0119\1\u0142\2\u0119\1\u0142\10\u0119"+
- "\1\u0142\4\u0119\1\u0142\7\u0119\1\0\2\u011c\1\u0144\1\0"+
- "\1\u0141\11\u011c\2\0\52\u011c\1\0\2\u011d\1\u0145\1\0"+
- "\4\u011d\1\u0141\5\u011d\2\0\52\u011d\23\0\1\u0146\50\0"+
- "\1\u0147\1\25\1\131\1\25\1\0\1\25\1\u0147\1\25"+
- "\1\0\1\25\4\0\2\25\1\0\3\25\1\0\1\25"+
- "\10\0\1\u0147\2\25\1\u0147\2\25\1\u0147\2\25\1\0"+
- "\4\25\1\0\1\u0147\1\25\1\0\1\25\1\0\1\u0147"+
- "\2\25\6\0\1\u0148\1\134\1\135\1\134\1\0\1\134"+
- "\1\u0148\1\134\1\0\1\134\4\0\2\134\1\0\3\134"+
- "\1\0\1\134\10\0\1\u0148\2\134\1\u0148\2\134\1\u0148"+
- "\2\134\1\0\4\134\1\0\1\u0148\1\134\1\0\1\134"+
- "\1\0\1\u0148\2\134\6\0\1\u0149\1\136\1\137\1\136"+
- "\1\0\1\136\1\u0149\1\136\1\0\1\136\4\0\2\136"+
- "\1\0\3\136\1\0\1\136\10\0\1\u0149\2\136\1\u0149"+
- "\2\136\1\u0149\2\136\1\0\4\136\1\0\1\u0149\1\136"+
- "\1\0\1\136\1\0\1\u0149\2\136\52\0\2\u014a\73\0"+
- "\1\u014b\106\0\2\u014c\7\0\1\u014d\1\333\1\334\1\333"+
- "\1\0\1\333\1\u014d\1\333\1\0\1\333\1\376\3\0"+
- "\2\333\1\0\3\333\1\0\1\333\10\0\1\u014d\2\333"+
- "\1\u014d\2\333\1\u014d\2\333\1\0\4\333\1\0\1\u014d"+
- "\1\333\1\0\1\333\1\0\1\u014d\2\333\6\0\1\u014e"+
- "\1\147\1\150\1\147\1\0\1\147\1\u014e\1\147\1\0"+
- "\1\147\4\0\2\147\1\0\3\147\1\252\1\147\10\0"+
- "\1\u014e\2\147\1\u014e\2\147\1\u014e\2\147\1\0\4\147"+
- "\1\0\1\u014e\1\147\1\0\1\147\1\0\1\u014e\2\147"+
- "\6\0\1\u014f\1\152\1\153\1\152\1\154\1\152\1\u014f"+
- "\27\152\1\u014f\2\152\1\u014f\2\152\1\u014f\10\152\1\u014f"+
- "\4\152\1\u014f\7\152\1\0\1\u0150\1\155\1\156\3\155"+
- "\1\u0150\1\155\1\154\25\155\1\u0150\2\155\1\u0150\2\155"+
- "\1\u0150\10\155\1\u0150\4\155\1\u0150\7\155\1\0\1\u0151"+
- "\1\157\1\160\1\157\1\161\1\157\1\u0151\27\157\1\u0151"+
- "\2\157\1\u0151\2\157\1\u0151\10\157\1\u0151\4\157\1\u0151"+
- "\7\157\1\0\1\u0152\1\162\1\163\3\162\1\u0152\1\162"+
- "\1\161\25\162\1\u0152\2\162\1\u0152\2\162\1\u0152\10\162"+
- "\1\u0152\4\162\1\u0152\7\162\4\0\1\u012d\1\0\1\u012d"+
- "\3\0\1\u012d\1\u0109\3\0\2\u012d\53\0\1\u0153\1\u0105"+
- "\1\u0106\1\u0105\1\0\1\u0105\1\u0153\1\u0105\1\0\1\u0105"+
- "\1\u0109\11\u0105\1\0\11\u0105\1\u0153\2\u0105\1\u0153\2\u0105"+
- "\1\u0153\10\u0105\1\u0153\4\u0105\1\u0153\7\u0105\1\0\1\u0154"+
- "\1\u0107\1\u0130\1\u0107\1\u0155\1\u0107\1\u0154\10\u0107\1\u0156"+
- "\16\u0107\1\u0154\2\u0107\1\u0154\2\u0107\1\u0154\10\u0107\1\u0154"+
- "\4\u0107\1\u0154\7\u0107\1\0\1\u0157\1\u0108\1\u0131\3\u0108"+
- "\1\u0157\1\u0108\1\u0158\6\u0108\1\u0159\16\u0108\1\u0157\2\u0108"+
- "\1\u0157\2\u0108\1\u0157\10\u0108\1\u0157\4\u0108\1\u0157\7\u0108"+
- "\1\0\1\u015a\1\51\1\165\1\51\1\0\1\51\1\u015a"+
- "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0"+
- "\1\51\10\0\1\u015a\2\51\1\u015a\2\51\1\u015a\2\51"+
- "\1\0\4\51\1\0\1\u015a\1\51\1\0\1\51\1\0"+
- "\1\u015a\2\51\6\0\1\u015b\1\55\1\167\1\55\1\0"+
- "\1\55\1\u015b\1\55\1\0\1\55\4\0\2\55\1\0"+
- "\3\55\1\0\1\55\10\0\1\u015b\2\55\1\u015b\2\55"+
- "\1\u015b\2\55\1\0\4\55\1\0\1\u015b\1\55\1\0"+
- "\1\55\1\0\1\u015b\2\55\6\0\1\u015c\1\62\1\171"+
- "\1\62\1\0\1\62\1\u015c\1\62\1\0\1\62\4\0"+
- "\2\62\1\0\3\62\1\0\1\62\10\0\1\u015c\2\62"+
- "\1\u015c\2\62\1\u015c\2\62\1\0\4\62\1\0\1\u015c"+
- "\1\62\1\0\1\62\1\0\1\u015c\2\62\6\0\1\u015d"+
- "\1\72\1\176\1\72\1\0\1\72\1\u015d\1\72\1\0"+
- "\1\72\4\0\2\72\1\0\3\72\1\0\1\72\10\0"+
- "\1\u015d\2\72\1\u015d\2\72\1\u015d\2\72\1\0\4\72"+
- "\1\0\1\u015d\1\72\1\0\1\72\1\0\1\u015d\2\72"+
- "\6\0\1\u015e\1\100\1\200\1\100\1\0\1\100\1\u015e"+
- "\1\100\1\0\1\100\4\0\2\100\1\0\3\100\1\0"+
- "\1\100\10\0\1\u015e\2\100\1\u015e\2\100\1\u015e\2\100"+
- "\1\0\4\100\1\0\1\u015e\1\100\1\0\1\100\1\0"+
- "\1\u015e\2\100\6\0\1\u015f\1\202\1\203\1\202\1\204"+
- "\1\202\1\u015f\27\202\1\u015f\2\202\1\u015f\2\202\1\u015f"+
- "\10\202\1\u015f\4\202\1\u015f\7\202\1\0\1\u0160\1\205"+
- "\1\206\3\205\1\u0160\1\205\1\204\25\205\1\u0160\2\205"+
- "\1\u0160\2\205\1\u0160\10\205\1\u0160\4\205\1\u0160\7\205"+
- "\1\0\1\u0161\1\105\1\207\1\105\1\0\1\105\1\u0161"+
- "\1\105\1\0\1\105\4\0\2\105\1\0\3\105\1\0"+
- "\1\105\10\0\1\u0161\2\105\1\u0161\2\105\1\u0161\2\105"+
- "\1\0\4\105\1\0\1\u0161\1\105\1\0\1\105\1\0"+
- "\1\u0161\2\105\6\0\1\u0162\1\211\1\212\1\211\1\0"+
- "\1\211\1\u0162\1\211\1\0\1\211\4\0\2\211\1\0"+
- "\3\211\1\0\1\211\10\0\1\u0162\2\211\1\u0162\2\211"+
- "\1\u0162\2\211\1\0\4\211\1\0\1\u0162\1\211\1\0"+
- "\1\211\1\0\1\u0162\2\211\6\0\1\u0163\1\113\1\216"+
- "\1\113\1\0\1\113\1\u0163\1\113\1\0\1\113\4\0"+
- "\2\113\1\0\3\113\1\217\1\113\10\0\1\u0163\2\113"+
- "\1\u0163\2\113\1\u0163\2\113\1\0\4\113\1\0\1\u0163"+
- "\1\113\1\0\1\113\1\0\1\u0163\2\113\6\0\1\u0164"+
- "\1\221\1\222\1\221\1\223\1\221\1\u0164\27\221\1\u0164"+
- "\2\221\1\u0164\2\221\1\u0164\10\221\1\u0164\4\221\1\u0164"+
- "\7\221\1\0\1\u0165\1\224\1\225\3\224\1\u0165\1\224"+
- "\1\223\25\224\1\u0165\2\224\1\u0165\2\224\1\u0165\10\224"+
- "\1\u0165\4\224\1\u0165\7\224\1\0\1\u0166\1\227\1\230"+
- "\1\227\1\0\1\227\1\u0166\1\227\1\0\1\227\4\0"+
- "\2\227\1\0\3\227\1\0\1\227\10\0\1\u0166\2\227"+
- "\1\u0166\2\227\1\u0166\2\227\1\0\4\227\1\0\1\u0166"+
- "\1\227\1\0\1\227\1\0\1\u0166\2\227\6\0\1\u0167"+
- "\5\0\1\u0167\1\362\15\0\2\u0167\7\0\2\u0167\1\0"+
- "\2\u0167\1\0\2\u0167\7\0\2\u0167\3\0\2\u0167\7\0"+
- "\1\u0168\5\0\1\u0168\16\0\2\u0168\7\0\2\u0168\1\0"+
- "\2\u0168\1\0\2\u0168\7\0\2\u0168\3\0\2\u0168\12\0"+
- "\1\u0141\1\0\1\u0141\3\0\1\u0141\1\u011e\3\0\2\u0141"+
- "\53\0\1\u0169\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0169"+
- "\1\u0119\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0169"+
- "\2\u0119\1\u0169\2\u0119\1\u0169\10\u0119\1\u0169\4\u0119\1\u0169"+
- "\7\u0119\1\0\1\u016a\1\u011c\1\u0144\1\u011c\1\u016b\1\u011c"+
- "\1\u016a\10\u011c\1\u016c\16\u011c\1\u016a\2\u011c\1\u016a\2\u011c"+
- "\1\u016a\10\u011c\1\u016a\4\u011c\1\u016a\7\u011c\1\0\1\u016d"+
- "\1\u011d\1\u0145\3\u011d\1\u016d\1\u011d\1\u016e\6\u011d\1\u016f"+
- "\16\u011d\1\u016d\2\u011d\1\u016d\2\u011d\1\u016d\10\u011d\1\u016d"+
- "\4\u011d\1\u016d\7\u011d\47\0\1\u0170\24\0\2\25\1\131"+
- "\1\25\1\0\3\25\1\0\1\25\4\0\2\25\1\0"+
- "\3\25\1\0\1\25\10\0\11\25\1\0\4\25\1\0"+
- "\2\25\1\0\1\25\1\0\3\25\6\0\1\u0171\1\134"+
- "\1\135\1\134\1\0\1\134\1\u0171\1\134\1\0\1\134"+
- "\4\0\2\134\1\0\3\134\1\0\1\134\10\0\1\u0171"+
- "\2\134\1\u0171\2\134\1\u0171\2\134\1\0\4\134\1\0"+
- "\1\u0171\1\134\1\0\1\134\1\0\1\u0171\2\134\6\0"+
- "\1\u0172\1\136\1\137\1\136\1\0\1\136\1\u0172\1\136"+
- "\1\0\1\136\4\0\2\136\1\0\3\136\1\0\1\136"+
- "\10\0\1\u0172\2\136\1\u0172\2\136\1\u0172\2\136\1\0"+
- "\4\136\1\0\1\u0172\1\136\1\0\1\136\1\0\1\u0172"+
- "\2\136\54\0\1\u0173\65\0\2\u0174\30\0\1\u0175\1\333"+
- "\1\334\1\333\1\0\1\333\1\u0175\1\333\1\0\1\333"+
- "\1\376\3\0\2\333\1\0\3\333\1\0\1\333\10\0"+
- "\1\u0175\2\333\1\u0175\2\333\1\u0175\2\333\1\0\4\333"+
- "\1\0\1\u0175\1\333\1\0\1\333\1\0\1\u0175\2\333"+
- "\6\0\1\u0176\1\147\1\150\1\147\1\0\1\147\1\u0176"+
- "\1\147\1\0\1\147\4\0\2\147\1\0\3\147\1\252"+
- "\1\147\10\0\1\u0176\2\147\1\u0176\2\147\1\u0176\2\147"+
- "\1\0\4\147\1\0\1\u0176\1\147\1\0\1\147\1\0"+
- "\1\u0176\2\147\6\0\1\u0177\1\152\1\153\1\152\1\154"+
- "\1\152\1\u0177\27\152\1\u0177\2\152\1\u0177\2\152\1\u0177"+
- "\10\152\1\u0177\4\152\1\u0177\7\152\1\0\1\u0178\1\155"+
- "\1\156\3\155\1\u0178\1\155\1\154\25\155\1\u0178\2\155"+
- "\1\u0178\2\155\1\u0178\10\155\1\u0178\4\155\1\u0178\7\155"+
- "\1\0\1\u0179\1\157\1\160\1\157\1\161\1\157\1\u0179"+
- "\27\157\1\u0179\2\157\1\u0179\2\157\1\u0179\10\157\1\u0179"+
- "\4\157\1\u0179\7\157\1\0\1\u017a\1\162\1\163\3\162"+
- "\1\u017a\1\162\1\161\25\162\1\u017a\2\162\1\u017a\2\162"+
- "\1\u017a\10\162\1\u017a\4\162\1\u017a\7\162\1\0\1\u017b"+
- "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u017b\1\u0105\1\0"+
- "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u017b\2\u0105\1\u017b"+
- "\2\u0105\1\u017b\10\u0105\1\u017b\4\u0105\1\u017b\7\u0105\1\0"+
- "\1\u017c\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u017c\27\u0107"+
- "\1\u017c\2\u0107\1\u017c\2\u0107\1\u017c\10\u0107\1\u017c\4\u0107"+
- "\1\u017c\7\u0107\1\0\2\u0107\1\u0130\2\u012d\1\u0155\3\u0107"+
- "\1\u0155\1\u017d\3\u0107\2\u012d\52\u0107\1\0\2\u0107\1\u0130"+
- "\1\0\1\u012d\12\u0107\1\0\52\u0107\1\0\1\u017e\1\u0108"+
- "\1\u0131\3\u0108\1\u017e\1\u0108\1\u012d\25\u0108\1\u017e\2\u0108"+
- "\1\u017e\2\u0108\1\u017e\10\u0108\1\u017e\4\u0108\1\u017e\7\u0108"+
- "\1\0\2\u0108\1\u0131\1\u012d\1\u0108\1\u0158\2\u0108\1\u012d"+
- "\1\u0158\1\u017f\3\u0108\2\u012d\52\u0108\1\0\2\u0108\1\u0131"+
- "\1\0\4\u0108\1\u012d\6\u0108\1\0\52\u0108\1\0\2\51"+
- "\1\165\1\51\1\0\3\51\1\0\1\51\4\0\2\51"+
- "\1\0\3\51\1\0\1\51\10\0\11\51\1\0\4\51"+
- "\1\0\2\51\1\0\1\51\1\0\3\51\6\0\2\55"+
- "\1\167\1\55\1\0\3\55\1\0\1\55\4\0\2\55"+
- "\1\0\3\55\1\0\1\55\10\0\11\55\1\0\4\55"+
- "\1\0\2\55\1\0\1\55\1\0\3\55\6\0\2\62"+
- "\1\171\1\62\1\0\3\62\1\0\1\62\4\0\2\62"+
- "\1\0\3\62\1\0\1\62\10\0\11\62\1\0\4\62"+
- "\1\0\2\62\1\0\1\62\1\0\3\62\6\0\2\72"+
- "\1\176\1\72\1\0\3\72\1\0\1\72\4\0\2\72"+
- "\1\0\3\72\1\0\1\72\10\0\11\72\1\0\4\72"+
- "\1\0\2\72\1\0\1\72\1\0\3\72\6\0\2\100"+
- "\1\200\1\100\1\0\3\100\1\0\1\100\4\0\2\100"+
- "\1\0\3\100\1\0\1\100\10\0\11\100\1\0\4\100"+
- "\1\0\2\100\1\0\1\100\1\0\3\100\6\0\1\u0180"+
- "\1\202\1\203\1\202\1\204\1\202\1\u0180\27\202\1\u0180"+
- "\2\202\1\u0180\2\202\1\u0180\10\202\1\u0180\4\202\1\u0180"+
- "\7\202\1\0\1\u0181\1\205\1\206\3\205\1\u0181\1\205"+
- "\1\204\25\205\1\u0181\2\205\1\u0181\2\205\1\u0181\10\205"+
- "\1\u0181\4\205\1\u0181\7\205\1\0\2\105\1\207\1\105"+
- "\1\0\3\105\1\0\1\105\4\0\2\105\1\0\3\105"+
- "\1\0\1\105\10\0\11\105\1\0\4\105\1\0\2\105"+
- "\1\0\1\105\1\0\3\105\6\0\1\u0182\1\211\1\212"+
- "\1\211\1\0\1\211\1\u0182\1\211\1\0\1\211\4\0"+
- "\2\211\1\0\3\211\1\0\1\211\10\0\1\u0182\2\211"+
- "\1\u0182\2\211\1\u0182\2\211\1\0\4\211\1\0\1\u0182"+
- "\1\211\1\0\1\211\1\0\1\u0182\2\211\6\0\2\113"+
- "\1\216\1\113\1\0\3\113\1\0\1\113\4\0\2\113"+
- "\1\0\3\113\1\217\1\113\10\0\11\113\1\0\4\113"+
- "\1\0\2\113\1\0\1\113\1\0\3\113\6\0\1\u0183"+
- "\1\221\1\222\1\221\1\223\1\221\1\u0183\27\221\1\u0183"+
- "\2\221\1\u0183\2\221\1\u0183\10\221\1\u0183\4\221\1\u0183"+
- "\7\221\1\0\1\u0184\1\224\1\225\3\224\1\u0184\1\224"+
- "\1\223\25\224\1\u0184\2\224\1\u0184\2\224\1\u0184\10\224"+
- "\1\u0184\4\224\1\u0184\7\224\1\0\1\u0185\1\227\1\230"+
- "\1\227\1\0\1\227\1\u0185\1\227\1\0\1\227\4\0"+
- "\2\227\1\0\3\227\1\0\1\227\10\0\1\u0185\2\227"+
- "\1\u0185\2\227\1\u0185\2\227\1\0\4\227\1\0\1\u0185"+
- "\1\227\1\0\1\227\1\0\1\u0185\2\227\6\0\1\u0186"+
- "\5\0\1\u0186\1\362\15\0\2\u0186\7\0\2\u0186\1\0"+
- "\2\u0186\1\0\2\u0186\7\0\2\u0186\3\0\2\u0186\7\0"+
- "\1\u0187\5\0\1\u0187\16\0\2\u0187\7\0\2\u0187\1\0"+
- "\2\u0187\1\0\2\u0187\7\0\2\u0187\3\0\2\u0187\7\0"+
- "\1\u0188\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0188\1\u0119"+
- "\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0188\2\u0119"+
- "\1\u0188\2\u0119\1\u0188\10\u0119\1\u0188\4\u0119\1\u0188\7\u0119"+
- "\1\0\1\u0189\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u0189"+
- "\27\u011c\1\u0189\2\u011c\1\u0189\2\u011c\1\u0189\10\u011c\1\u0189"+
- "\4\u011c\1\u0189\7\u011c\1\0\2\u011c\1\u0144\2\u0141\1\u016b"+
- "\3\u011c\1\u016b\1\u018a\3\u011c\2\u0141\52\u011c\1\0\2\u011c"+
- "\1\u0144\1\0\1\u0141\12\u011c\1\0\52\u011c\1\0\1\u018b"+
- "\1\u011d\1\u0145\3\u011d\1\u018b\1\u011d\1\u0141\25\u011d\1\u018b"+
- "\2\u011d\1\u018b\2\u011d\1\u018b\10\u011d\1\u018b\4\u011d\1\u018b"+
- "\7\u011d\1\0\2\u011d\1\u0145\1\u0141\1\u011d\1\u016e\2\u011d"+
- "\1\u0141\1\u016e\1\u018c\3\u011d\2\u0141\52\u011d\1\0\2\u011d"+
- "\1\u0145\1\0\4\u011d\1\u0141\6\u011d\1\0\52\u011d\42\0"+
- "\2\u018d\30\0\2\134\1\135\1\134\1\0\3\134\1\0"+
- "\1\134\4\0\2\134\1\0\3\134\1\0\1\134\10\0"+
- "\11\134\1\0\4\134\1\0\2\134\1\0\1\134\1\0"+
- "\3\134\6\0\2\136\1\137\1\136\1\0\3\136\1\0"+
- "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0"+
- "\11\136\1\0\4\136\1\0\2\136\1\0\1\136\1\0"+
- "\3\136\44\0\2\u018e\33\0\1\u018f\1\333\1\334\1\333"+
- "\1\0\1\333\1\u018f\1\333\1\0\1\333\1\376\3\0"+
- "\2\333\1\0\3\333\1\0\1\333\10\0\1\u018f\2\333"+
- "\1\u018f\2\333\1\u018f\2\333\1\0\4\333\1\0\1\u018f"+
- "\1\333\1\0\1\333\1\0\1\u018f\2\333\6\0\2\147"+
- "\1\150\1\147\1\0\3\147\1\0\1\147\4\0\2\147"+
- "\1\0\3\147\1\252\1\147\10\0\11\147\1\0\4\147"+
- "\1\0\2\147\1\0\1\147\1\0\3\147\6\0\2\152"+
- "\1\153\1\152\1\154\65\152\1\0\2\155\1\156\5\155"+
- "\1\154\61\155\1\0\2\157\1\160\1\157\1\161\65\157"+
- "\1\0\2\162\1\163\5\162\1\161\61\162\1\0\1\u0190"+
- "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u0190\1\u0105\1\0"+
- "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u0190\2\u0105\1\u0190"+
- "\2\u0105\1\u0190\10\u0105\1\u0190\4\u0105\1\u0190\7\u0105\1\0"+
- "\1\u0191\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u0191\27\u0107"+
- "\1\u0191\2\u0107\1\u0191\2\u0107\1\u0191\10\u0107\1\u0191\4\u0107"+
- "\1\u0191\7\u0107\1\0\1\u0192\1\u0108\1\u0131\3\u0108\1\u0192"+
- "\1\u0108\1\u012d\25\u0108\1\u0192\2\u0108\1\u0192\2\u0108\1\u0192"+
- "\10\u0108\1\u0192\4\u0108\1\u0192\7\u0108\1\0\2\202\1\203"+
- "\1\202\1\204\65\202\1\0\2\205\1\206\5\205\1\204"+
- "\61\205\1\0\2\211\1\212\1\211\1\0\3\211\1\0"+
- "\1\211\4\0\2\211\1\0\3\211\1\0\1\211\10\0"+
- "\11\211\1\0\4\211\1\0\2\211\1\0\1\211\1\0"+
- "\3\211\6\0\2\221\1\222\1\221\1\223\65\221\1\0"+
- "\2\224\1\225\5\224\1\223\61\224\1\0\2\227\1\230"+
- "\1\227\1\0\3\227\1\0\1\227\4\0\2\227\1\0"+
- "\3\227\1\0\1\227\10\0\11\227\1\0\4\227\1\0"+
- "\2\227\1\0\1\227\1\0\3\227\15\0\1\362\63\0"+
- "\1\u0193\5\0\1\u0193\16\0\2\u0193\7\0\2\u0193\1\0"+
- "\2\u0193\1\0\2\u0193\7\0\2\u0193\3\0\2\u0193\7\0"+
- "\1\u0194\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0194\1\u0119"+
- "\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0194\2\u0119"+
- "\1\u0194\2\u0119\1\u0194\10\u0119\1\u0194\4\u0119\1\u0194\7\u0119"+
- "\1\0\1\u0195\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u0195"+
- "\27\u011c\1\u0195\2\u011c\1\u0195\2\u011c\1\u0195\10\u011c\1\u0195"+
- "\4\u011c\1\u0195\7\u011c\1\0\1\u0196\1\u011d\1\u0145\3\u011d"+
- "\1\u0196\1\u011d\1\u0141\25\u011d\1\u0196\2\u011d\1\u0196\2\u011d"+
- "\1\u0196\10\u011d\1\u0196\4\u011d\1\u0196\7\u011d\65\0\1\u0197"+
- "\52\0\2\u0198\25\0\1\u0199\1\333\1\334\1\333\1\0"+
- "\1\333\1\u0199\1\333\1\0\1\333\1\376\3\0\2\333"+
- "\1\0\3\333\1\0\1\333\10\0\1\u0199\2\333\1\u0199"+
- "\2\333\1\u0199\2\333\1\0\4\333\1\0\1\u0199\1\333"+
- "\1\0\1\333\1\0\1\u0199\2\333\6\0\1\u019a\1\u0105"+
- "\1\u0106\1\u0105\1\0\1\u0105\1\u019a\1\u0105\1\0\1\u0105"+
- "\1\u0109\11\u0105\1\0\11\u0105\1\u019a\2\u0105\1\u019a\2\u0105"+
- "\1\u019a\10\u0105\1\u019a\4\u0105\1\u019a\7\u0105\1\0\1\u019b"+
- "\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u019b\27\u0107\1\u019b"+
- "\2\u0107\1\u019b\2\u0107\1\u019b\10\u0107\1\u019b\4\u0107\1\u019b"+
- "\7\u0107\1\0\1\u019c\1\u0108\1\u0131\3\u0108\1\u019c\1\u0108"+
- "\1\u012d\25\u0108\1\u019c\2\u0108\1\u019c\2\u0108\1\u019c\10\u0108"+
- "\1\u019c\4\u0108\1\u019c\7\u0108\1\0\1\u019d\5\0\1\u019d"+
- "\16\0\2\u019d\7\0\2\u019d\1\0\2\u019d\1\0\2\u019d"+
- "\7\0\2\u019d\3\0\2\u019d\7\0\1\u019e\1\u0119\1\u011a"+
- "\1\u0119\1\0\1\u0119\1\u019e\1\u0119\1\0\1\u0119\1\u011e"+
- "\11\u0119\1\0\11\u0119\1\u019e\2\u0119\1\u019e\2\u0119\1\u019e"+
- "\10\u0119\1\u019e\4\u0119\1\u019e\7\u0119\1\0\1\u019f\1\u011c"+
- "\1\u0144\1\u011c\1\u0141\1\u011c\1\u019f\27\u011c\1\u019f\2\u011c"+
- "\1\u019f\2\u011c\1\u019f\10\u011c\1\u019f\4\u011c\1\u019f\7\u011c"+
- "\1\0\1\u01a0\1\u011d\1\u0145\3\u011d\1\u01a0\1\u011d\1\u0141"+
- "\25\u011d\1\u01a0\2\u011d\1\u01a0\2\u011d\1\u01a0\10\u011d\1\u01a0"+
- "\4\u011d\1\u01a0\7\u011d\47\0\1\u01a1\24\0\2\333\1\334"+
- "\1\333\1\0\3\333\1\0\1\333\1\376\3\0\2\333"+
- "\1\0\3\333\1\0\1\333\10\0\11\333\1\0\4\333"+
- "\1\0\2\333\1\0\1\333\1\0\3\333\6\0\1\u01a2"+
- "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u01a2\1\u0105\1\0"+
- "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u01a2\2\u0105\1\u01a2"+
- "\2\u0105\1\u01a2\10\u0105\1\u01a2\4\u0105\1\u01a2\7\u0105\1\0"+
- "\1\u01a3\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u01a3\27\u0107"+
- "\1\u01a3\2\u0107\1\u01a3\2\u0107\1\u01a3\10\u0107\1\u01a3\4\u0107"+
- "\1\u01a3\7\u0107\1\0\1\u01a4\1\u0108\1\u0131\3\u0108\1\u01a4"+
- "\1\u0108\1\u012d\25\u0108\1\u01a4\2\u0108\1\u01a4\2\u0108\1\u01a4"+
- "\10\u0108\1\u01a4\4\u0108\1\u01a4\7\u0108\1\0\1\u01a5\1\u0119"+
- "\1\u011a\1\u0119\1\0\1\u0119\1\u01a5\1\u0119\1\0\1\u0119"+
- "\1\u011e\11\u0119\1\0\11\u0119\1\u01a5\2\u0119\1\u01a5\2\u0119"+
- "\1\u01a5\10\u0119\1\u01a5\4\u0119\1\u01a5\7\u0119\1\0\1\u01a6"+
- "\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u01a6\27\u011c\1\u01a6"+
- "\2\u011c\1\u01a6\2\u011c\1\u01a6\10\u011c\1\u01a6\4\u011c\1\u01a6"+
- "\7\u011c\1\0\1\u01a7\1\u011d\1\u0145\3\u011d\1\u01a7\1\u011d"+
- "\1\u0141\25\u011d\1\u01a7\2\u011d\1\u01a7\2\u011d\1\u01a7\10\u011d"+
- "\1\u01a7\4\u011d\1\u01a7\7\u011d\1\0\2\u0105\1\u0106\1\u0105"+
- "\1\0\3\u0105\1\0\1\u0105\1\u0109\11\u0105\1\0\45\u0105"+
- "\1\0\1\u01a8\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u01a8"+
- "\27\u0107\1\u01a8\2\u0107\1\u01a8\2\u0107\1\u01a8\10\u0107\1\u01a8"+
- "\4\u0107\1\u01a8\7\u0107\1\0\1\u01a9\1\u0108\1\u0131\3\u0108"+
- "\1\u01a9\1\u0108\1\u012d\25\u0108\1\u01a9\2\u0108\1\u01a9\2\u0108"+
- "\1\u01a9\10\u0108\1\u01a9\4\u0108\1\u01a9\7\u0108\1\0\2\u0119"+
- "\1\u011a\1\u0119\1\0\3\u0119\1\0\1\u0119\1\u011e\11\u0119"+
- "\1\0\45\u0119\1\0\1\u01aa\1\u011c\1\u0144\1\u011c\1\u0141"+
- "\1\u011c\1\u01aa\27\u011c\1\u01aa\2\u011c\1\u01aa\2\u011c\1\u01aa"+
- "\10\u011c\1\u01aa\4\u011c\1\u01aa\7\u011c\1\0\1\u01ab\1\u011d"+
- "\1\u0145\3\u011d\1\u01ab\1\u011d\1\u0141\25\u011d\1\u01ab\2\u011d"+
- "\1\u01ab\2\u011d\1\u01ab\10\u011d\1\u01ab\4\u011d\1\u01ab\7\u011d"+
- "\1\0\2\u0107\1\u0130\1\u0107\1\u012d\65\u0107\1\0\2\u0108"+
- "\1\u0131\5\u0108\1\u012d\61\u0108\1\0\2\u011c\1\u0144\1\u011c"+
- "\1\u0141\65\u011c\1\0\2\u011d\1\u0145\5\u011d\1\u0141\61\u011d";
-
- /**
- * The transition table of the DFA
- */
- final private static int yytrans [] = yy_unpack(yy_packed);
-
-
- /* error codes */
- final private static int YY_UNKNOWN_ERROR = 0;
-// final private static int YY_ILLEGAL_STATE = 1;
- final private static int YY_NO_MATCH = 2;
-// final private static int YY_PUSHBACK_2BIG = 3;
-
- /* error messages for the codes above */
- final private static String YY_ERROR_MSG[] = {
- "Unkown internal scanner error",
- "Internal error: unknown state",
- "Error: could not match input",
- "Error: pushback value was too large"
- };
-
- /**
- * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
- */
- private final static byte YY_ATTRIBUTE[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 9, 1, 1, 1, 1, 1, 1, 1, 9, 1, 9, 1, 1,
- 9, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 9,
- 9, 1, 1, 1, 9, 1, 3, 9, 9, 1, 1, 1, 9, 1, 9, 1,
- 1, 1, 1, 1, 1, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 9,
- 1, 1, 1, 1, 1, 1, 9, 3, 0, 1, 0, 1, 0, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 13, 7, 0, 1, 0,
- 1, 0, 0, 9, 0, 0, 0, 1, 1, 0, 0, 0, 9, 0, 9, 1,
- 0, 0, 9, 0, 0, 1, 1, 0, 0, 1, 0, 0, 13, 7, 1, 9,
- 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1,
- 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0,
- 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0,
- 1, 1, 1, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1,
- 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 9, 0, 0, 9, 0, 1,
- 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0,
- 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 9, 0, 1,
- 1, 1, 0, 0, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1,
- 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 9, 0, 0, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0,
- 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
-
- /** the input device */
- private java.io.Reader yy_reader;
-
- /** the current state of the DFA */
- private int yy_state;
-
- /** the current lexical state */
- private int yy_lexical_state = YYINITIAL;
-
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
- private char yy_buffer[] = new char[16384];
-
- /** the textposition at the last accepting state */
- private int yy_markedPos;
-
- /** the textposition at the last state to be included in yytext */
- private int yy_pushbackPos;
-
- /** the current text position in the buffer */
- private int yy_currentPos;
-
- /** startRead marks the beginning of the yytext() string in the buffer */
- private int yy_startRead;
-
- /** endRead marks the last character in the buffer, that has been read
- from input */
- private int yy_endRead;
-
- /** number of newlines encountered up to the start of the matched text */
- private int yyline;
-
- /** the number of characters up to the start of the matched text */
- private int yychar;
-
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
-// private int yycolumn;
-
- /**
- * yy_atBOL == true <=> the scanner is currently at the beginning of a line
- */
-// private boolean yy_atBOL;
-
- /** yy_atEOF == true <=> the scanner has returned a value for EOF */
- private boolean yy_atEOF;
-
- /* user code: */
+ /** this character denotes the end of file */
+ final public static int YYEOF = -1;
+
+ /** lexical states */
+ final public static int ST_SELECTOR_ATTRIBUTE_NAME = 11;
+ final public static int ST_IMPORT_DELIMITER = 5;
+ final public static int ST_DECLARATION_PRE_VALUE = 17;
+ final public static int ST_SELECTOR = 0;
+ final public static int ST_CHARSET_DELIMITER = 2;
+ final public static int ST_DECLARATION_VALUE = 18;
+ final public static int ST_PAGE_PSEUDO_PAGE = 8;
+ final public static int ST_IMPORT_URI = 3;
+ final public static int ST_SELECTOR_ATTRIBUTE_END = 14;
+ final public static int ST_SELECTOR_ATTRIBUTE_OPERATOR = 12;
+ final public static int ST_DECLARATION = 15;
+ final public static int ST_PAGE_DELIMITER = 9;
+ final public static int ST_SELECTOR_ATTRIBUTE_VALUE = 13;
+ final public static int ST_MEDIA_MEDIUM = 6;
+ final public static int ST_CHARSET_NAME = 1;
+ final public static int ST_IMPORT_MEDIUM = 4;
+ final public static int ST_DECLARATION_SEPARATOR = 16;
+ final public static int ST_FONT_FACE_DELIMITER = 9;
+ final public static int ST_MEDIA_DELIMITER = 7;
+ final public static int ST_SELECTOR_MODIFIER = 10;
+ final public static int YYINITIAL = 0;
+
+ /**
+ * Translates characters to character classes
+ */
+ final private static String yycmap_packed = "\11\0\1\12\1\17\1\0\1\4\1\20\22\0\1\6\1\31\1\11" + "\1\21\1\16\1\72\1\16\1\5\1\25\1\13\1\35\1\14\1\55" + "\1\10\1\15\1\34\12\1\1\62\1\50\1\30\1\67\1\32\1\27" + "\1\36\1\43\1\26\1\40\1\57\1\46\1\64\1\61\1\41\1\51" + "\2\2\1\24\1\52\1\65\1\54\1\53\1\2\1\23\1\44\1\47" + "\1\22\5\2\1\66\1\3\1\71\1\16\1\2\1\16\1\42\1\7" + "\1\37\1\56\1\45\1\63\1\61\1\41\1\51\2\2\1\24\1\52" + "\1\65\1\54\1\53\1\2\1\23\1\44\1\47\1\22\5\2\1\60" + "\1\70\1\33\1\70\1\0\uff80\2";
+
+ /**
+ * Translates characters to character classes
+ */
+ final private static char[] yycmap = yy_unpack_cmap(yycmap_packed);
+
+ /**
+ * Translates a state to a row index in the transition table
+ */
+ final private static int yy_rowMap[] = {0, 59, 118, 177, 236, 295, 354, 413, 472, 531, 590, 649, 708, 767, 826, 885, 944, 1003, 1062, 1121, 1180, 1239, 1298, 1357, 1416, 1475, 1534, 1121, 1593, 1121, 1652, 1711, 1121, 1770, 1829, 1888, 1121, 1947, 2006, 2065, 2124, 2183, 2242, 1121, 2301, 2360, 2419, 1121, 1121, 2478, 2537, 2596, 1121, 2655, 2714, 1121, 1121, 2773, 2832, 2891, 1121, 2950, 1121, 3009, 3068, 3127, 3186, 3245, 3304, 3363, 3422, 1121, 1121, 3481, 3540, 3599, 3658, 3717, 3776, 1121, 3835, 3894, 3953, 4012, 4071, 1593, 1121, 4130, 1239, 4189, 4248, 1416, 4307, 1475, 4366, 4425, 4484, 4543, 4602, 4661, 4720, 4779, 4838, 4897, 4956, 1770, 5015, 1121, 1888, 5074, 1947, 5133, 1121, 2006, 5192, 5251, 2183, 5310, 2360, 5369, 2537, 5428, 5487, 1121, 2714, 2832, 5546, 3068, 5605, 3127, 5664, 1121, 3245, 5723, 3363, 5782, 5841, 5900, 5959, 3894, 1121, 3599, 1121, 6018, 3658, 6077, 1121, 3776, 6136, 6195, 3953, 6254, 6313, 6372, 4071, 6431, 1121, 4130, 6490, 1121, 6549, 6608,
+ 6667, 6726, 6785, 6844, 6903, 6962, 7021, 7080, 7139, 7198, 1770, 7257, 7316, 1888, 7375, 7434, 1947, 7493, 7552, 2006, 7611, 7670, 7729, 7788, 7847, 7906, 7965, 8024, 3127, 8083, 8142, 3245, 8201, 8260, 8319, 8378, 8437, 3658, 8496, 8555, 3776, 8614, 8673, 8732, 8791, 8850, 8909, 8968, 9027, 1121, 1121, 9086, 9145, 9204, 9263, 9322, 9381, 9440, 9499, 9558, 9617, 9676, 9735, 9794, 9853, 9912, 9971, 10030, 10089, 10148, 10207, 10266, 10325, 10384, 10443, 10502, 10561, 10620, 10679, 10738, 10797, 10856, 10915, 10974, 11033, 11092, 11151, 11210, 1121, 11269, 11328, 1121, 11387, 11446, 11505, 11564, 11623, 11682, 11741, 11800, 11859, 11918, 1121, 11977, 12036, 12095, 12154, 12213, 12272, 12331, 12390, 12449, 12508, 12567, 12626, 12685, 12744, 12803, 12862, 12921, 10797, 12980, 13039, 1121, 13098, 13157, 13216, 13275, 13334, 13393, 1121, 13452, 13511, 13570, 13629, 13688, 13747, 13806, 13865, 13924, 11741, 13983, 14042, 14101, 14160, 14219, 14278, 14337, 14396, 14455,
+ 14514, 14573, 14632, 14691, 14750, 14809, 14868, 14927, 14986, 15045, 12862, 15104, 15163, 15222, 15281, 15340, 15399, 15458, 1121, 15517, 15576, 15635, 15694, 15753, 15812, 15871, 15930, 15989, 16048, 16107, 16166, 16225, 16284, 16343, 16402, 16461, 16520, 16579, 16638, 16697, 16756, 16815, 16874, 16933, 16992, 17051, 17110, 17169, 17228, 17287, 17346, 17405, 17464, 17523, 17582, 17641, 17700, 17759, 1121, 17818, 17877, 17936, 17995, 18054, 18113, 18172, 18231, 18290, 11859, 18349, 11918, 18408, 18467, 18526, 18585, 18644, 18703, 18762, 18821, 18880, 18939, 12980, 18998, 13039, 19057, 19116, 19175, 19234, 19293, 19352, 19411, 19470, 19529, 19588, 19647, 1121, 19706, 19765, 19824, 19883, 1121, 19942, 20001, 20060, 1121, 20119, 20178, 20237, 20296, 20355, 20414, 20473, 20532, 20591, 20650};
+
+ /**
+ * The packed transition table of the DFA
+ */
+ final private static String yy_packed = "\2\24\1\25\1\26\1\27\1\24\1\27\1\25\1\30" + "\1\24\1\27\2\24\1\31\1\24\2\27\1\32\3\25" + "\1\24\1\25\1\24\1\33\2\24\1\34\1\35\1\36" + "\1\37\11\25\1\24\4\25\1\24\2\25\1\24\1\25" + "\1\40\3\25\1\41\10\24\1\27\1\42\1\27\1\24" + "\1\43\1\44\1\27\4\24\2\27\7\24\1\33\2\24" + "\1\34\1\35\1\24\1\37\40\24\1\27\1\24\1\27" + "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33" + "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\26\24" + "\1\27\1\46\1\27\1\24\1\43\1\47\1\27\4\24" + "\2\27\1\24\1\50\5\24\1\33\2\24\1\34\1\35" + "\1\24\1\37\11\24\1\45\24\24\1\51\1\52\1\27" + "\1\24\1\27\1\51\1\53\1\24\1\27\4\24\2\27" + "\1\24\3\51\1\24\1\51\1\24\1\33\2\24\1\34" + "\1\35\1\24\1\37\11\51\1\45\4\51\1\24\2\51" + "\1\24\1\51\1\24\3\51\11\24\1\27\1\24\1\27" + "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33" + "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\4\24" + "\1\54\17\24\1\55\1\56\1\27\1\24\1\27\1\55" + "\1\57\1\24\1\27\4\24\2\27\1\24\3\55\1\24" + "\1\55\1\24\1\33\2\24\1\34\1\35\1\24\1\37"
+ + "\11\55\1\24\4\55\1\24\2\55\1\24\1\55\1\24" + "\3\55\11\24\1\27\1\24\1\27\1\24\1\43\1\24" + "\1\27\4\24\2\27\7\24\1\33\2\24\1\34\1\35" + "\1\24\1\37\16\24\1\60\2\24\1\61\14\24\1\62" + "\1\63\1\27\1\24\1\27\1\62\1\64\1\24\1\27" + "\4\24\2\27\1\24\3\62\1\24\1\62\1\24\1\33" + "\2\24\1\34\1\35\1\24\1\37\11\62\1\24\4\62" + "\1\24\2\62\1\65\1\62\1\66\3\62\11\24\1\27" + "\1\24\1\27\1\24\1\43\1\24\1\27\4\24\2\27" + "\7\24\1\33\2\24\1\34\1\35\1\24\1\37\21\24" + "\1\65\16\24\1\67\1\24\1\67\1\24\1\43\1\24" + "\1\67\1\24\1\70\1\31\1\24\2\67\1\32\6\24" + "\1\33\1\24\1\70\1\34\1\35\1\36\1\37\16\24" + "\1\71\2\24\1\65\1\24\1\40\3\24\1\41\6\24" + "\1\72\1\73\1\27\1\24\1\27\1\72\1\74\1\24" + "\1\27\4\24\2\27\1\24\3\72\1\24\1\72\1\24" + "\1\33\2\24\1\34\1\35\1\24\1\37\11\72\1\24" + "\4\72\1\24\2\72\1\24\1\72\1\24\3\72\11\24" + "\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24" + "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37" + "\30\24\1\75\1\76\1\77\3\24\1\100\1\101\1\27"
+ + "\1\102\1\27\1\100\1\103\1\104\1\27\4\24\2\27" + "\1\24\3\100\1\24\1\100\1\24\1\33\2\24\1\34" + "\1\35\1\24\1\37\11\100\1\24\4\100\1\24\2\100" + "\1\24\1\100\1\24\3\100\11\24\1\27\1\24\1\27" + "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33" + "\2\24\1\34\1\35\1\24\1\37\32\24\1\77\3\24" + "\1\105\1\106\1\27\1\24\1\27\1\105\1\107\1\24" + "\1\27\4\24\2\27\1\24\3\105\1\24\1\105\1\24" + "\1\33\2\24\1\34\1\35\1\24\1\37\11\105\1\110" + "\4\105\1\24\2\105\1\24\1\105\1\24\3\105\11\24" + "\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24" + "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37" + "\11\24\1\110\11\24\1\111\11\24\1\112\1\113\1\114" + "\1\27\1\115\1\27\1\113\1\116\1\117\1\27\1\120" + "\1\121\1\122\1\24\2\27\1\123\1\124\2\113\1\24" + "\1\113\1\24\1\33\1\125\1\24\1\34\1\126\1\24" + "\1\37\11\113\1\110\4\113\1\127\2\113\1\24\1\113" + "\1\24\3\113\6\24\1\112\1\113\1\114\1\130\1\115" + "\1\130\1\113\1\116\1\117\1\130\1\120\1\121\1\122" + "\1\24\2\130\1\123\1\124\2\113\1\24\1\113\1\24"
+ + "\1\33\1\125\1\24\1\34\1\126\1\24\1\37\11\113" + "\1\110\4\113\1\127\2\113\1\24\1\113\1\24\3\113" + "\5\24\74\0\2\25\1\131\3\0\2\25\11\0\3\25" + "\1\0\1\25\10\0\11\25\1\0\4\25\1\0\2\25" + "\1\0\1\25\1\0\3\25\6\0\1\132\2\25\1\0" + "\2\25\1\132\2\25\1\0\4\25\2\0\16\25\1\132" + "\2\25\1\132\2\25\1\132\10\25\1\132\4\25\1\132" + "\7\25\4\0\1\27\1\0\1\27\3\0\1\27\4\0" + "\2\27\54\0\1\25\1\131\3\0\1\25\1\133\11\0" + "\3\25\1\0\1\25\10\0\11\25\1\0\4\25\1\0" + "\2\25\1\0\1\25\1\0\3\25\6\0\2\134\1\135" + "\3\0\2\134\11\0\3\134\1\0\1\134\10\0\11\134" + "\1\0\4\134\1\0\2\134\1\0\1\134\1\0\3\134" + "\6\0\2\136\1\137\3\0\2\136\11\0\3\136\1\0" + "\1\136\10\0\11\136\1\0\4\136\1\0\2\136\1\0" + "\1\136\1\0\3\136\36\0\1\140\76\0\1\141\74\0" + "\2\142\10\0\1\143\1\144\1\145\7\0\2\146\10\0" + "\1\147\1\150\3\0\1\147\1\151\11\0\3\147\1\0" + "\1\147\10\0\11\147\1\0\4\147\1\0\2\147\1\0" + "\1\147\1\0\3\147\6\0\2\152\1\153\1\0\1\154" + "\11\152\2\0\52\152\10\0\1\133\63\0\2\155\1\156"
+ + "\1\0\4\155\1\154\5\155\2\0\52\155\1\0\2\157" + "\1\160\1\0\1\161\11\157\2\0\52\157\1\0\2\162" + "\1\163\1\0\4\162\1\161\5\162\2\0\52\162\23\0" + "\1\164\50\0\2\51\1\165\3\0\2\51\11\0\3\51" + "\1\0\1\51\10\0\11\51\1\0\4\51\1\0\2\51" + "\1\0\1\51\1\0\3\51\6\0\1\166\2\51\1\0" + "\2\51\1\166\2\51\1\0\4\51\2\0\16\51\1\166" + "\2\51\1\166\2\51\1\166\10\51\1\166\4\51\1\166" + "\7\51\2\0\1\51\1\165\3\0\1\51\1\133\11\0" + "\3\51\1\0\1\51\10\0\11\51\1\0\4\51\1\0" + "\2\51\1\0\1\51\1\0\3\51\6\0\2\55\1\167" + "\3\0\2\55\11\0\3\55\1\0\1\55\10\0\11\55" + "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\3\55" + "\6\0\1\170\2\55\1\0\2\55\1\170\2\55\1\0" + "\4\55\2\0\16\55\1\170\2\55\1\170\2\55\1\170" + "\10\55\1\170\4\55\1\170\7\55\2\0\1\55\1\167" + "\3\0\1\55\1\133\11\0\3\55\1\0\1\55\10\0" + "\11\55\1\0\4\55\1\0\2\55\1\0\1\55\1\0" + "\3\55\6\0\2\62\1\171\3\0\2\62\11\0\3\62" + "\1\0\1\62\10\0\11\62\1\0\4\62\1\0\2\62" + "\1\0\1\62\1\0\3\62\6\0\1\172\2\62\1\0"
+ + "\2\62\1\172\2\62\1\0\4\62\2\0\16\62\1\172" + "\2\62\1\172\2\62\1\172\10\62\1\172\4\62\1\172" + "\7\62\2\0\1\62\1\171\3\0\1\62\1\133\11\0" + "\3\62\1\0\1\62\10\0\11\62\1\0\4\62\1\0" + "\2\62\1\0\1\62\1\0\3\62\7\0\1\62\1\171" + "\3\0\1\62\1\173\11\0\3\62\1\0\1\62\10\0" + "\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0" + "\3\62\5\0\4\174\1\175\1\174\1\175\3\174\1\175" + "\1\174\1\0\2\174\2\175\11\174\1\0\25\174\1\0" + "\12\174\1\0\2\72\1\176\3\0\2\72\11\0\3\72" + "\1\0\1\72\10\0\11\72\1\0\4\72\1\0\2\72" + "\1\0\1\72\1\0\3\72\6\0\1\177\2\72\1\0" + "\2\72\1\177\2\72\1\0\4\72\2\0\16\72\1\177" + "\2\72\1\177\2\72\1\177\10\72\1\177\4\72\1\177" + "\7\72\2\0\1\72\1\176\3\0\1\72\1\133\11\0" + "\3\72\1\0\1\72\10\0\11\72\1\0\4\72\1\0" + "\2\72\1\0\1\72\1\0\3\72\74\0\1\75\4\0" + "\2\100\1\200\3\0\2\100\11\0\3\100\1\0\1\100" + "\10\0\11\100\1\0\4\100\1\0\2\100\1\0\1\100" + "\1\0\3\100\6\0\1\201\2\100\1\0\2\100\1\201" + "\2\100\1\0\4\100\2\0\16\100\1\201\2\100\1\201"
+ + "\2\100\1\201\10\100\1\201\4\100\1\201\7\100\1\0" + "\2\202\1\203\1\0\1\204\11\202\2\0\52\202\2\0" + "\1\100\1\200\3\0\1\100\1\133\11\0\3\100\1\0" + "\1\100\10\0\11\100\1\0\4\100\1\0\2\100\1\0" + "\1\100\1\0\3\100\6\0\2\205\1\206\1\0\4\205" + "\1\204\5\205\2\0\52\205\1\0\2\105\1\207\3\0" + "\2\105\11\0\3\105\1\0\1\105\10\0\11\105\1\0" + "\4\105\1\0\2\105\1\0\1\105\1\0\3\105\6\0" + "\1\210\2\105\1\0\2\105\1\210\2\105\1\0\4\105" + "\2\0\16\105\1\210\2\105\1\210\2\105\1\210\10\105" + "\1\210\4\105\1\210\7\105\2\0\1\105\1\207\3\0" + "\1\105\1\133\11\0\3\105\1\0\1\105\10\0\11\105" + "\1\0\4\105\1\0\2\105\1\0\1\105\1\0\3\105" + "\6\0\1\112\1\211\1\212\3\0\1\211\1\213\4\0" + "\1\214\4\0\3\211\1\0\1\211\10\0\11\211\1\0" + "\4\211\1\0\2\211\1\0\1\211\1\0\3\211\4\0" + "\1\215\1\0\2\113\1\216\3\0\2\113\11\0\3\113" + "\1\217\1\113\10\0\11\113\1\0\4\113\1\0\2\113" + "\1\0\1\113\1\0\3\113\6\0\1\220\2\113\1\0" + "\2\113\1\220\2\113\1\0\4\113\2\0\16\113\1\220"
+ + "\2\113\1\220\2\113\1\220\10\113\1\220\4\113\1\220" + "\7\113\1\0\2\221\1\222\1\0\1\223\11\221\2\0" + "\52\221\1\0\1\112\1\113\1\216\3\0\1\113\1\133" + "\4\0\1\214\4\0\3\113\1\0\1\113\10\0\11\113" + "\1\0\4\113\1\0\2\113\1\0\1\113\1\0\3\113" + "\6\0\2\224\1\225\1\0\4\224\1\223\5\224\2\0" + "\52\224\1\0\1\112\13\0\1\214\56\0\1\226\72\0" + "\2\227\1\230\3\0\2\227\11\0\3\227\1\0\1\227" + "\10\0\11\227\1\0\4\227\1\0\2\227\1\0\1\227" + "\1\0\3\227\6\0\2\113\1\216\3\0\2\113\3\0" + "\1\231\5\0\1\113\1\232\1\113\1\217\1\113\10\0" + "\11\113\1\0\4\113\1\0\2\113\1\0\1\113\1\0" + "\3\113\11\0\1\233\1\0\1\233\3\0\1\233\4\0" + "\2\233\30\0\1\234\21\0\4\235\1\236\1\235\1\236" + "\3\235\1\236\4\235\2\236\12\235\1\0\14\235\1\0" + "\22\235\1\0\1\237\1\25\1\131\1\25\1\0\1\25" + "\1\237\1\25\1\0\1\25\4\0\2\25\1\0\3\25" + "\1\0\1\25\10\0\1\237\2\25\1\237\2\25\1\237" + "\2\25\1\0\4\25\1\0\1\237\1\25\1\0\1\25" + "\1\0\1\237\2\25\37\0\1\240\41\0\1\241\2\134"
+ + "\1\0\2\134\1\241\2\134\1\0\4\134\2\0\16\134" + "\1\241\2\134\1\241\2\134\1\241\10\134\1\241\4\134" + "\1\241\7\134\1\0\1\242\2\136\1\0\2\136\1\242" + "\2\136\1\0\4\136\2\0\16\136\1\242\2\136\1\242" + "\2\136\1\242\10\136\1\242\4\136\1\242\7\136\10\0" + "\1\243\62\0\35\141\1\244\35\141\41\0\1\245\103\0" + "\1\246\65\0\2\247\66\0\2\250\103\0\1\251\17\0" + "\2\147\1\150\3\0\2\147\11\0\3\147\1\252\1\147" + "\10\0\11\147\1\0\4\147\1\0\2\147\1\0\1\147" + "\1\0\3\147\6\0\1\253\2\147\1\0\2\147\1\253" + "\2\147\1\0\4\147\2\0\16\147\1\253\2\147\1\253" + "\2\147\1\253\10\147\1\253\4\147\1\253\7\147\2\0" + "\1\147\1\150\3\0\1\147\12\0\3\147\1\0\1\147" + "\10\0\11\147\1\0\4\147\1\0\2\147\1\0\1\147" + "\1\0\3\147\6\0\1\254\1\152\1\153\1\152\1\255" + "\1\152\1\254\10\152\1\256\16\152\1\254\2\152\1\254" + "\2\152\1\254\10\152\1\254\4\152\1\254\7\152\1\0" + "\1\257\1\155\1\156\3\155\1\257\1\155\1\260\6\155" + "\1\261\16\155\1\257\2\155\1\257\2\155\1\257\10\155"
+ + "\1\257\4\155\1\257\7\155\1\0\1\262\1\157\1\160" + "\1\157\1\263\1\157\1\262\10\157\1\264\16\157\1\262" + "\2\157\1\262\2\157\1\262\10\157\1\262\4\157\1\262" + "\7\157\1\0\1\265\1\162\1\163\3\162\1\265\1\162" + "\1\266\6\162\1\267\16\162\1\265\2\162\1\265\2\162" + "\1\265\10\162\1\265\4\162\1\265\7\162\24\0\1\270" + "\47\0\1\271\1\51\1\165\1\51\1\0\1\51\1\271" + "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0" + "\1\51\10\0\1\271\2\51\1\271\2\51\1\271\2\51" + "\1\0\4\51\1\0\1\271\1\51\1\0\1\51\1\0" + "\1\271\2\51\6\0\1\272\1\55\1\167\1\55\1\0" + "\1\55\1\272\1\55\1\0\1\55\4\0\2\55\1\0" + "\3\55\1\0\1\55\10\0\1\272\2\55\1\272\2\55" + "\1\272\2\55\1\0\4\55\1\0\1\272\1\55\1\0" + "\1\55\1\0\1\272\2\55\6\0\1\273\1\62\1\171" + "\1\62\1\0\1\62\1\273\1\62\1\0\1\62\4\0" + "\2\62\1\0\3\62\1\0\1\62\10\0\1\273\2\62" + "\1\273\2\62\1\273\2\62\1\0\4\62\1\0\1\273" + "\1\62\1\0\1\62\1\0\1\273\2\62\7\0\1\62" + "\1\171\3\0\1\62\12\0\3\62\1\0\1\62\10\0" + "\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0"
+ + "\3\62\6\0\1\274\1\72\1\176\1\72\1\0\1\72" + "\1\274\1\72\1\0\1\72\4\0\2\72\1\0\3\72" + "\1\0\1\72\10\0\1\274\2\72\1\274\2\72\1\274" + "\2\72\1\0\4\72\1\0\1\274\1\72\1\0\1\72" + "\1\0\1\274\2\72\6\0\1\275\1\100\1\200\1\100" + "\1\0\1\100\1\275\1\100\1\0\1\100\4\0\2\100" + "\1\0\3\100\1\0\1\100\10\0\1\275\2\100\1\275" + "\2\100\1\275\2\100\1\0\4\100\1\0\1\275\1\100" + "\1\0\1\100\1\0\1\275\2\100\6\0\1\276\1\202" + "\1\203\1\202\1\277\1\202\1\276\10\202\1\300\16\202" + "\1\276\2\202\1\276\2\202\1\276\10\202\1\276\4\202" + "\1\276\7\202\1\0\1\301\1\205\1\206\3\205\1\301" + "\1\205\1\302\6\205\1\303\16\205\1\301\2\205\1\301" + "\2\205\1\301\10\205\1\301\4\205\1\301\7\205\1\0" + "\1\304\1\105\1\207\1\105\1\0\1\105\1\304\1\105" + "\1\0\1\105\4\0\2\105\1\0\3\105\1\0\1\105" + "\10\0\1\304\2\105\1\304\2\105\1\304\2\105\1\0" + "\4\105\1\0\1\304\1\105\1\0\1\105\1\0\1\304" + "\2\105\6\0\2\211\1\212\3\0\2\211\11\0\3\211" + "\1\0\1\211\10\0\11\211\1\0\4\211\1\0\2\211"
+ + "\1\0\1\211\1\0\3\211\6\0\1\305\2\211\1\0" + "\2\211\1\305\2\211\1\0\4\211\2\0\16\211\1\305" + "\2\211\1\305\2\211\1\305\10\211\1\305\4\211\1\305" + "\7\211\2\0\1\211\1\212\3\0\1\211\12\0\3\211" + "\1\0\1\211\10\0\11\211\1\0\4\211\1\0\2\211" + "\1\0\1\211\1\0\3\211\6\0\1\306\1\113\1\216" + "\1\113\1\0\1\113\1\306\1\113\1\0\1\113\4\0" + "\2\113\1\0\3\113\1\217\1\113\10\0\1\306\2\113" + "\1\306\2\113\1\306\2\113\1\0\4\113\1\0\1\306" + "\1\113\1\0\1\113\1\0\1\306\2\113\6\0\1\307" + "\1\221\1\222\1\221\1\310\1\221\1\307\10\221\1\311" + "\16\221\1\307\2\221\1\307\2\221\1\307\10\221\1\307" + "\4\221\1\307\7\221\1\0\1\312\1\224\1\225\3\224" + "\1\312\1\224\1\313\6\224\1\314\16\224\1\312\2\224" + "\1\312\2\224\1\312\10\224\1\312\4\224\1\312\7\224" + "\1\0\1\226\1\211\1\212\3\0\1\211\1\213\11\0" + "\3\211\1\0\1\211\10\0\11\211\1\0\4\211\1\0" + "\2\211\1\0\1\211\1\0\3\211\4\0\1\215\1\0" + "\1\315\2\227\1\0\2\227\1\315\2\227\1\0\4\227"
+ + "\2\0\16\227\1\315\2\227\1\315\2\227\1\315\10\227" + "\1\315\4\227\1\315\7\227\1\0\1\316\5\0\1\316" + "\16\0\2\316\7\0\2\316\1\0\2\316\1\0\2\316" + "\7\0\2\316\3\0\2\316\7\0\2\113\1\216\3\0" + "\2\113\11\0\2\113\1\317\1\217\1\113\10\0\11\113" + "\1\0\4\113\1\0\2\113\1\0\1\113\1\0\3\113" + "\57\0\1\320\21\0\1\321\1\25\1\131\1\25\1\0" + "\1\25\1\321\1\25\1\0\1\25\4\0\2\25\1\0" + "\3\25\1\0\1\25\10\0\1\321\2\25\1\321\2\25" + "\1\321\2\25\1\0\4\25\1\0\1\321\1\25\1\0" + "\1\25\1\0\1\321\2\25\6\0\1\322\1\134\1\135" + "\1\134\1\0\1\134\1\322\1\134\1\0\1\134\4\0" + "\2\134\1\0\3\134\1\0\1\134\10\0\1\322\2\134" + "\1\322\2\134\1\322\2\134\1\0\4\134\1\0\1\322" + "\1\134\1\0\1\134\1\0\1\322\2\134\6\0\1\323" + "\1\136\1\137\1\136\1\0\1\136\1\323\1\136\1\0" + "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0" + "\1\323\2\136\1\323\2\136\1\323\2\136\1\0\4\136" + "\1\0\1\323\1\136\1\0\1\136\1\0\1\323\2\136" + "\15\0\1\324\62\0\34\141\1\325\1\244\35\141\42\0"
+ + "\2\326\102\0\1\327\75\0\2\330\74\0\1\331\76\0" + "\1\332\7\0\1\333\1\334\1\252\1\0\1\252\1\333" + "\1\335\1\0\1\252\4\0\2\252\1\0\3\333\1\0" + "\1\333\10\0\11\333\1\0\4\333\1\0\2\333\1\0" + "\1\333\1\0\3\333\6\0\1\336\1\147\1\150\1\147" + "\1\0\1\147\1\336\1\147\1\0\1\147\4\0\2\147" + "\1\0\3\147\1\252\1\147\10\0\1\336\2\147\1\336" + "\2\147\1\336\2\147\1\0\4\147\1\0\1\336\1\147" + "\1\0\1\147\1\0\1\336\2\147\6\0\1\337\1\152" + "\1\153\1\152\1\154\1\152\1\337\27\152\1\337\2\152" + "\1\337\2\152\1\337\10\152\1\337\4\152\1\337\7\152" + "\1\0\2\152\1\153\1\0\1\154\12\152\1\0\52\152" + "\1\0\1\340\1\155\1\156\3\155\1\340\1\155\1\154" + "\25\155\1\340\2\155\1\340\2\155\1\340\10\155\1\340" + "\4\155\1\340\7\155\1\0\2\155\1\156\1\0\4\155" + "\1\154\6\155\1\0\52\155\1\0\1\341\1\157\1\160" + "\1\157\1\161\1\157\1\341\27\157\1\341\2\157\1\341" + "\2\157\1\341\10\157\1\341\4\157\1\341\7\157\1\0" + "\2\157\1\160\1\0\1\161\12\157\1\0\52\157\1\0"
+ + "\1\342\1\162\1\163\3\162\1\342\1\162\1\161\25\162" + "\1\342\2\162\1\342\2\162\1\342\10\162\1\342\4\162" + "\1\342\7\162\1\0\2\162\1\163\1\0\4\162\1\161" + "\6\162\1\0\52\162\25\0\1\343\46\0\1\344\1\51" + "\1\165\1\51\1\0\1\51\1\344\1\51\1\0\1\51" + "\4\0\2\51\1\0\3\51\1\0\1\51\10\0\1\344" + "\2\51\1\344\2\51\1\344\2\51\1\0\4\51\1\0" + "\1\344\1\51\1\0\1\51\1\0\1\344\2\51\6\0" + "\1\345\1\55\1\167\1\55\1\0\1\55\1\345\1\55" + "\1\0\1\55\4\0\2\55\1\0\3\55\1\0\1\55" + "\10\0\1\345\2\55\1\345\2\55\1\345\2\55\1\0" + "\4\55\1\0\1\345\1\55\1\0\1\55\1\0\1\345" + "\2\55\6\0\1\346\1\62\1\171\1\62\1\0\1\62" + "\1\346\1\62\1\0\1\62\4\0\2\62\1\0\3\62" + "\1\0\1\62\10\0\1\346\2\62\1\346\2\62\1\346" + "\2\62\1\0\4\62\1\0\1\346\1\62\1\0\1\62" + "\1\0\1\346\2\62\6\0\1\347\1\72\1\176\1\72" + "\1\0\1\72\1\347\1\72\1\0\1\72\4\0\2\72" + "\1\0\3\72\1\0\1\72\10\0\1\347\2\72\1\347" + "\2\72\1\347\2\72\1\0\4\72\1\0\1\347\1\72" + "\1\0\1\72\1\0\1\347\2\72\6\0\1\350\1\100"
+ + "\1\200\1\100\1\0\1\100\1\350\1\100\1\0\1\100" + "\4\0\2\100\1\0\3\100\1\0\1\100\10\0\1\350" + "\2\100\1\350\2\100\1\350\2\100\1\0\4\100\1\0" + "\1\350\1\100\1\0\1\100\1\0\1\350\2\100\6\0" + "\1\351\1\202\1\203\1\202\1\204\1\202\1\351\27\202" + "\1\351\2\202\1\351\2\202\1\351\10\202\1\351\4\202" + "\1\351\7\202\1\0\2\202\1\203\1\0\1\204\12\202" + "\1\0\52\202\1\0\1\352\1\205\1\206\3\205\1\352" + "\1\205\1\204\25\205\1\352\2\205\1\352\2\205\1\352" + "\10\205\1\352\4\205\1\352\7\205\1\0\2\205\1\206" + "\1\0\4\205\1\204\6\205\1\0\52\205\1\0\1\353" + "\1\105\1\207\1\105\1\0\1\105\1\353\1\105\1\0" + "\1\105\4\0\2\105\1\0\3\105\1\0\1\105\10\0" + "\1\353\2\105\1\353\2\105\1\353\2\105\1\0\4\105" + "\1\0\1\353\1\105\1\0\1\105\1\0\1\353\2\105" + "\6\0\1\354\1\211\1\212\1\211\1\0\1\211\1\354" + "\1\211\1\0\1\211\4\0\2\211\1\0\3\211\1\0" + "\1\211\10\0\1\354\2\211\1\354\2\211\1\354\2\211" + "\1\0\4\211\1\0\1\354\1\211\1\0\1\211\1\0"
+ + "\1\354\2\211\6\0\1\355\1\113\1\216\1\113\1\0" + "\1\113\1\355\1\113\1\0\1\113\4\0\2\113\1\0" + "\3\113\1\217\1\113\10\0\1\355\2\113\1\355\2\113" + "\1\355\2\113\1\0\4\113\1\0\1\355\1\113\1\0" + "\1\113\1\0\1\355\2\113\6\0\1\356\1\221\1\222" + "\1\221\1\223\1\221\1\356\27\221\1\356\2\221\1\356" + "\2\221\1\356\10\221\1\356\4\221\1\356\7\221\1\0" + "\2\221\1\222\1\0\1\223\12\221\1\0\52\221\1\0" + "\1\357\1\224\1\225\3\224\1\357\1\224\1\223\25\224" + "\1\357\2\224\1\357\2\224\1\357\10\224\1\357\4\224" + "\1\357\7\224\1\0\2\224\1\225\1\0\4\224\1\223" + "\6\224\1\0\52\224\1\0\1\360\1\227\1\230\1\227" + "\1\0\1\227\1\360\1\227\1\0\1\227\4\0\2\227" + "\1\0\3\227\1\0\1\227\10\0\1\360\2\227\1\360" + "\2\227\1\360\2\227\1\0\4\227\1\0\1\360\1\227" + "\1\0\1\227\1\0\1\360\2\227\6\0\1\361\5\0" + "\1\361\1\362\15\0\2\361\7\0\2\361\1\0\2\361" + "\1\0\2\361\7\0\2\361\3\0\2\361\7\0\2\113" + "\1\216\3\0\2\113\11\0\3\113\1\363\1\113\10\0" + "\11\113\1\0\4\113\1\0\2\113\1\0\1\113\1\0"
+ + "\3\113\60\0\1\364\20\0\1\365\1\25\1\131\1\25" + "\1\0\1\25\1\365\1\25\1\0\1\25\4\0\2\25" + "\1\0\3\25\1\0\1\25\10\0\1\365\2\25\1\365" + "\2\25\1\365\2\25\1\0\4\25\1\0\1\365\1\25" + "\1\0\1\25\1\0\1\365\2\25\6\0\1\366\1\134" + "\1\135\1\134\1\0\1\134\1\366\1\134\1\0\1\134" + "\4\0\2\134\1\0\3\134\1\0\1\134\10\0\1\366" + "\2\134\1\366\2\134\1\366\2\134\1\0\4\134\1\0" + "\1\366\1\134\1\0\1\134\1\0\1\366\2\134\6\0" + "\1\367\1\136\1\137\1\136\1\0\1\136\1\367\1\136" + "\1\0\1\136\4\0\2\136\1\0\3\136\1\0\1\136" + "\10\0\1\367\2\136\1\367\2\136\1\367\2\136\1\0" + "\4\136\1\0\1\367\1\136\1\0\1\136\1\0\1\367" + "\2\136\30\0\1\370\123\0\1\371\67\0\1\372\66\0" + "\2\373\73\0\1\374\24\0\2\333\1\334\1\375\1\0" + "\1\375\2\333\1\0\1\375\1\376\3\0\2\375\1\0" + "\3\333\1\0\1\333\10\0\11\333\1\0\4\333\1\0" + "\2\333\1\0\1\333\1\0\3\333\6\0\1\377\2\333" + "\1\0\2\333\1\377\2\333\1\0\4\333\2\0\16\333" + "\1\377\2\333\1\377\2\333\1\377\10\333\1\377\4\333"
+ + "\1\377\7\333\2\0\1\333\1\334\3\0\1\333\12\0" + "\3\333\1\0\1\333\10\0\11\333\1\0\4\333\1\0" + "\2\333\1\0\1\333\1\0\3\333\6\0\1\u0100\1\147" + "\1\150\1\147\1\0\1\147\1\u0100\1\147\1\0\1\147" + "\4\0\2\147\1\0\3\147\1\252\1\147\10\0\1\u0100" + "\2\147\1\u0100\2\147\1\u0100\2\147\1\0\4\147\1\0" + "\1\u0100\1\147\1\0\1\147\1\0\1\u0100\2\147\6\0" + "\1\u0101\1\152\1\153\1\152\1\154\1\152\1\u0101\27\152" + "\1\u0101\2\152\1\u0101\2\152\1\u0101\10\152\1\u0101\4\152" + "\1\u0101\7\152\1\0\1\u0102\1\155\1\156\3\155\1\u0102" + "\1\155\1\154\25\155\1\u0102\2\155\1\u0102\2\155\1\u0102" + "\10\155\1\u0102\4\155\1\u0102\7\155\1\0\1\u0103\1\157" + "\1\160\1\157\1\161\1\157\1\u0103\27\157\1\u0103\2\157" + "\1\u0103\2\157\1\u0103\10\157\1\u0103\4\157\1\u0103\7\157" + "\1\0\1\u0104\1\162\1\163\3\162\1\u0104\1\162\1\161" + "\25\162\1\u0104\2\162\1\u0104\2\162\1\u0104\10\162\1\u0104" + "\4\162\1\u0104\7\162\1\0\2\u0105\1\u0106\1\343\1\u0107"
+ + "\1\343\2\u0105\1\u0108\1\343\1\u0109\3\u0105\2\343\4\u0105" + "\1\0\45\u0105\1\0\1\u010a\1\51\1\165\1\51\1\0" + "\1\51\1\u010a\1\51\1\0\1\51\4\0\2\51\1\0" + "\3\51\1\0\1\51\10\0\1\u010a\2\51\1\u010a\2\51" + "\1\u010a\2\51\1\0\4\51\1\0\1\u010a\1\51\1\0" + "\1\51\1\0\1\u010a\2\51\6\0\1\u010b\1\55\1\167" + "\1\55\1\0\1\55\1\u010b\1\55\1\0\1\55\4\0" + "\2\55\1\0\3\55\1\0\1\55\10\0\1\u010b\2\55" + "\1\u010b\2\55\1\u010b\2\55\1\0\4\55\1\0\1\u010b" + "\1\55\1\0\1\55\1\0\1\u010b\2\55\6\0\1\u010c" + "\1\62\1\171\1\62\1\0\1\62\1\u010c\1\62\1\0" + "\1\62\4\0\2\62\1\0\3\62\1\0\1\62\10\0" + "\1\u010c\2\62\1\u010c\2\62\1\u010c\2\62\1\0\4\62" + "\1\0\1\u010c\1\62\1\0\1\62\1\0\1\u010c\2\62" + "\6\0\1\u010d\1\72\1\176\1\72\1\0\1\72\1\u010d" + "\1\72\1\0\1\72\4\0\2\72\1\0\3\72\1\0" + "\1\72\10\0\1\u010d\2\72\1\u010d\2\72\1\u010d\2\72" + "\1\0\4\72\1\0\1\u010d\1\72\1\0\1\72\1\0" + "\1\u010d\2\72\6\0\1\u010e\1\100\1\200\1\100\1\0" + "\1\100\1\u010e\1\100\1\0\1\100\4\0\2\100\1\0"
+ + "\3\100\1\0\1\100\10\0\1\u010e\2\100\1\u010e\2\100" + "\1\u010e\2\100\1\0\4\100\1\0\1\u010e\1\100\1\0" + "\1\100\1\0\1\u010e\2\100\6\0\1\u010f\1\202\1\203" + "\1\202\1\204\1\202\1\u010f\27\202\1\u010f\2\202\1\u010f" + "\2\202\1\u010f\10\202\1\u010f\4\202\1\u010f\7\202\1\0" + "\1\u0110\1\205\1\206\3\205\1\u0110\1\205\1\204\25\205" + "\1\u0110\2\205\1\u0110\2\205\1\u0110\10\205\1\u0110\4\205" + "\1\u0110\7\205\1\0\1\u0111\1\105\1\207\1\105\1\0" + "\1\105\1\u0111\1\105\1\0\1\105\4\0\2\105\1\0" + "\3\105\1\0\1\105\10\0\1\u0111\2\105\1\u0111\2\105" + "\1\u0111\2\105\1\0\4\105\1\0\1\u0111\1\105\1\0" + "\1\105\1\0\1\u0111\2\105\6\0\1\u0112\1\211\1\212" + "\1\211\1\0\1\211\1\u0112\1\211\1\0\1\211\4\0" + "\2\211\1\0\3\211\1\0\1\211\10\0\1\u0112\2\211" + "\1\u0112\2\211\1\u0112\2\211\1\0\4\211\1\0\1\u0112" + "\1\211\1\0\1\211\1\0\1\u0112\2\211\6\0\1\u0113" + "\1\113\1\216\1\113\1\0\1\113\1\u0113\1\113\1\0" + "\1\113\4\0\2\113\1\0\3\113\1\217\1\113\10\0"
+ + "\1\u0113\2\113\1\u0113\2\113\1\u0113\2\113\1\0\4\113" + "\1\0\1\u0113\1\113\1\0\1\113\1\0\1\u0113\2\113" + "\6\0\1\u0114\1\221\1\222\1\221\1\223\1\221\1\u0114" + "\27\221\1\u0114\2\221\1\u0114\2\221\1\u0114\10\221\1\u0114" + "\4\221\1\u0114\7\221\1\0\1\u0115\1\224\1\225\3\224" + "\1\u0115\1\224\1\223\25\224\1\u0115\2\224\1\u0115\2\224" + "\1\u0115\10\224\1\u0115\4\224\1\u0115\7\224\1\0\1\u0116" + "\1\227\1\230\1\227\1\0\1\227\1\u0116\1\227\1\0" + "\1\227\4\0\2\227\1\0\3\227\1\0\1\227\10\0" + "\1\u0116\2\227\1\u0116\2\227\1\u0116\2\227\1\0\4\227" + "\1\0\1\u0116\1\227\1\0\1\227\1\0\1\u0116\2\227" + "\6\0\1\u0117\5\0\1\u0117\1\362\15\0\2\u0117\7\0" + "\2\u0117\1\0\2\u0117\1\0\2\u0117\7\0\2\u0117\3\0" + "\2\u0117\7\0\1\u0118\5\0\1\u0118\16\0\2\u0118\7\0" + "\2\u0118\1\0\2\u0118\1\0\2\u0118\7\0\2\u0118\3\0" + "\2\u0118\7\0\2\u0119\1\u011a\1\u011b\1\u011c\1\u011b\2\u0119" + "\1\u011d\1\u011b\1\u011e\3\u0119\2\u011b\4\u0119\1\0\45\u0119"
+ + "\54\0\1\u011f\17\0\1\u0120\1\25\1\131\1\25\1\0" + "\1\25\1\u0120\1\25\1\0\1\25\4\0\2\25\1\0" + "\3\25\1\0\1\25\10\0\1\u0120\2\25\1\u0120\2\25" + "\1\u0120\2\25\1\0\4\25\1\0\1\u0120\1\25\1\0" + "\1\25\1\0\1\u0120\2\25\6\0\1\u0121\1\134\1\135" + "\1\134\1\0\1\134\1\u0121\1\134\1\0\1\134\4\0" + "\2\134\1\0\3\134\1\0\1\134\10\0\1\u0121\2\134" + "\1\u0121\2\134\1\u0121\2\134\1\0\4\134\1\0\1\u0121" + "\1\134\1\0\1\134\1\0\1\u0121\2\134\6\0\1\u0122" + "\1\136\1\137\1\136\1\0\1\136\1\u0122\1\136\1\0" + "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0" + "\1\u0122\2\136\1\u0122\2\136\1\u0122\2\136\1\0\4\136" + "\1\0\1\u0122\1\136\1\0\1\136\1\0\1\u0122\2\136" + "\51\0\1\u0123\51\0\1\u0124\111\0\2\u0125\37\0\1\u0126" + "\66\0\1\375\1\0\1\375\3\0\1\375\1\376\3\0" + "\2\375\53\0\1\u0127\1\333\1\334\1\333\1\0\1\333" + "\1\u0127\1\333\1\0\1\333\1\376\3\0\2\333\1\0" + "\3\333\1\0\1\333\10\0\1\u0127\2\333\1\u0127\2\333" + "\1\u0127\2\333\1\0\4\333\1\0\1\u0127\1\333\1\0"
+ + "\1\333\1\0\1\u0127\2\333\6\0\1\u0128\1\147\1\150" + "\1\147\1\0\1\147\1\u0128\1\147\1\0\1\147\4\0" + "\2\147\1\0\3\147\1\252\1\147\10\0\1\u0128\2\147" + "\1\u0128\2\147\1\u0128\2\147\1\0\4\147\1\0\1\u0128" + "\1\147\1\0\1\147\1\0\1\u0128\2\147\6\0\1\u0129" + "\1\152\1\153\1\152\1\154\1\152\1\u0129\27\152\1\u0129" + "\2\152\1\u0129\2\152\1\u0129\10\152\1\u0129\4\152\1\u0129" + "\7\152\1\0\1\u012a\1\155\1\156\3\155\1\u012a\1\155" + "\1\154\25\155\1\u012a\2\155\1\u012a\2\155\1\u012a\10\155" + "\1\u012a\4\155\1\u012a\7\155\1\0\1\u012b\1\157\1\160" + "\1\157\1\161\1\157\1\u012b\27\157\1\u012b\2\157\1\u012b" + "\2\157\1\u012b\10\157\1\u012b\4\157\1\u012b\7\157\1\0" + "\1\u012c\1\162\1\163\3\162\1\u012c\1\162\1\161\25\162" + "\1\u012c\2\162\1\u012c\2\162\1\u012c\10\162\1\u012c\4\162" + "\1\u012c\7\162\1\0\2\u0105\1\u0106\1\u012d\1\0\3\u0105" + "\1\0\1\u012d\1\u0109\3\u0105\2\u012d\4\u0105\1\0\45\u0105" + "\1\0\1\u012e\1\u0105\1\u0106\1\u012d\2\u0105\1\u012e\2\u0105"
+ + "\1\u012d\1\u012f\3\u0105\2\u012d\16\u0105\1\u012e\2\u0105\1\u012e" + "\2\u0105\1\u012e\10\u0105\1\u012e\4\u0105\1\u012e\7\u0105\1\0" + "\2\u0107\1\u0130\1\0\1\u012d\11\u0107\2\0\52\u0107\1\0" + "\2\u0108\1\u0131\1\0\4\u0108\1\u012d\5\u0108\2\0\52\u0108" + "\1\0\1\u0132\1\51\1\165\1\51\1\0\1\51\1\u0132" + "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0" + "\1\51\10\0\1\u0132\2\51\1\u0132\2\51\1\u0132\2\51" + "\1\0\4\51\1\0\1\u0132\1\51\1\0\1\51\1\0" + "\1\u0132\2\51\6\0\1\u0133\1\55\1\167\1\55\1\0" + "\1\55\1\u0133\1\55\1\0\1\55\4\0\2\55\1\0" + "\3\55\1\0\1\55\10\0\1\u0133\2\55\1\u0133\2\55" + "\1\u0133\2\55\1\0\4\55\1\0\1\u0133\1\55\1\0" + "\1\55\1\0\1\u0133\2\55\6\0\1\u0134\1\62\1\171" + "\1\62\1\0\1\62\1\u0134\1\62\1\0\1\62\4\0" + "\2\62\1\0\3\62\1\0\1\62\10\0\1\u0134\2\62" + "\1\u0134\2\62\1\u0134\2\62\1\0\4\62\1\0\1\u0134" + "\1\62\1\0\1\62\1\0\1\u0134\2\62\6\0\1\u0135" + "\1\72\1\176\1\72\1\0\1\72\1\u0135\1\72\1\0" + "\1\72\4\0\2\72\1\0\3\72\1\0\1\72\10\0"
+ + "\1\u0135\2\72\1\u0135\2\72\1\u0135\2\72\1\0\4\72" + "\1\0\1\u0135\1\72\1\0\1\72\1\0\1\u0135\2\72" + "\6\0\1\u0136\1\100\1\200\1\100\1\0\1\100\1\u0136" + "\1\100\1\0\1\100\4\0\2\100\1\0\3\100\1\0" + "\1\100\10\0\1\u0136\2\100\1\u0136\2\100\1\u0136\2\100" + "\1\0\4\100\1\0\1\u0136\1\100\1\0\1\100\1\0" + "\1\u0136\2\100\6\0\1\u0137\1\202\1\203\1\202\1\204" + "\1\202\1\u0137\27\202\1\u0137\2\202\1\u0137\2\202\1\u0137" + "\10\202\1\u0137\4\202\1\u0137\7\202\1\0\1\u0138\1\205" + "\1\206\3\205\1\u0138\1\205\1\204\25\205\1\u0138\2\205" + "\1\u0138\2\205\1\u0138\10\205\1\u0138\4\205\1\u0138\7\205" + "\1\0\1\u0139\1\105\1\207\1\105\1\0\1\105\1\u0139" + "\1\105\1\0\1\105\4\0\2\105\1\0\3\105\1\0" + "\1\105\10\0\1\u0139\2\105\1\u0139\2\105\1\u0139\2\105" + "\1\0\4\105\1\0\1\u0139\1\105\1\0\1\105\1\0" + "\1\u0139\2\105\6\0\1\u013a\1\211\1\212\1\211\1\0" + "\1\211\1\u013a\1\211\1\0\1\211\4\0\2\211\1\0" + "\3\211\1\0\1\211\10\0\1\u013a\2\211\1\u013a\2\211"
+ + "\1\u013a\2\211\1\0\4\211\1\0\1\u013a\1\211\1\0" + "\1\211\1\0\1\u013a\2\211\6\0\1\u013b\1\113\1\216" + "\1\113\1\0\1\113\1\u013b\1\113\1\0\1\113\4\0" + "\2\113\1\0\3\113\1\217\1\113\10\0\1\u013b\2\113" + "\1\u013b\2\113\1\u013b\2\113\1\0\4\113\1\0\1\u013b" + "\1\113\1\0\1\113\1\0\1\u013b\2\113\6\0\1\u013c" + "\1\221\1\222\1\221\1\223\1\221\1\u013c\27\221\1\u013c" + "\2\221\1\u013c\2\221\1\u013c\10\221\1\u013c\4\221\1\u013c" + "\7\221\1\0\1\u013d\1\224\1\225\3\224\1\u013d\1\224" + "\1\223\25\224\1\u013d\2\224\1\u013d\2\224\1\u013d\10\224" + "\1\u013d\4\224\1\u013d\7\224\1\0\1\u013e\1\227\1\230" + "\1\227\1\0\1\227\1\u013e\1\227\1\0\1\227\4\0" + "\2\227\1\0\3\227\1\0\1\227\10\0\1\u013e\2\227" + "\1\u013e\2\227\1\u013e\2\227\1\0\4\227\1\0\1\u013e" + "\1\227\1\0\1\227\1\0\1\u013e\2\227\6\0\1\u013f" + "\5\0\1\u013f\1\362\15\0\2\u013f\7\0\2\u013f\1\0" + "\2\u013f\1\0\2\u013f\7\0\2\u013f\3\0\2\u013f\7\0" + "\1\u0140\5\0\1\u0140\16\0\2\u0140\7\0\2\u0140\1\0"
+ + "\2\u0140\1\0\2\u0140\7\0\2\u0140\3\0\2\u0140\7\0" + "\2\u0119\1\u011a\1\u0141\1\0\3\u0119\1\0\1\u0141\1\u011e" + "\3\u0119\2\u0141\4\u0119\1\0\45\u0119\1\0\1\u0142\1\u0119" + "\1\u011a\1\u0141\2\u0119\1\u0142\2\u0119\1\u0141\1\u0143\3\u0119" + "\2\u0141\16\u0119\1\u0142\2\u0119\1\u0142\2\u0119\1\u0142\10\u0119" + "\1\u0142\4\u0119\1\u0142\7\u0119\1\0\2\u011c\1\u0144\1\0" + "\1\u0141\11\u011c\2\0\52\u011c\1\0\2\u011d\1\u0145\1\0" + "\4\u011d\1\u0141\5\u011d\2\0\52\u011d\23\0\1\u0146\50\0" + "\1\u0147\1\25\1\131\1\25\1\0\1\25\1\u0147\1\25" + "\1\0\1\25\4\0\2\25\1\0\3\25\1\0\1\25" + "\10\0\1\u0147\2\25\1\u0147\2\25\1\u0147\2\25\1\0" + "\4\25\1\0\1\u0147\1\25\1\0\1\25\1\0\1\u0147" + "\2\25\6\0\1\u0148\1\134\1\135\1\134\1\0\1\134" + "\1\u0148\1\134\1\0\1\134\4\0\2\134\1\0\3\134" + "\1\0\1\134\10\0\1\u0148\2\134\1\u0148\2\134\1\u0148" + "\2\134\1\0\4\134\1\0\1\u0148\1\134\1\0\1\134" + "\1\0\1\u0148\2\134\6\0\1\u0149\1\136\1\137\1\136"
+ + "\1\0\1\136\1\u0149\1\136\1\0\1\136\4\0\2\136" + "\1\0\3\136\1\0\1\136\10\0\1\u0149\2\136\1\u0149" + "\2\136\1\u0149\2\136\1\0\4\136\1\0\1\u0149\1\136" + "\1\0\1\136\1\0\1\u0149\2\136\52\0\2\u014a\73\0" + "\1\u014b\106\0\2\u014c\7\0\1\u014d\1\333\1\334\1\333" + "\1\0\1\333\1\u014d\1\333\1\0\1\333\1\376\3\0" + "\2\333\1\0\3\333\1\0\1\333\10\0\1\u014d\2\333" + "\1\u014d\2\333\1\u014d\2\333\1\0\4\333\1\0\1\u014d" + "\1\333\1\0\1\333\1\0\1\u014d\2\333\6\0\1\u014e" + "\1\147\1\150\1\147\1\0\1\147\1\u014e\1\147\1\0" + "\1\147\4\0\2\147\1\0\3\147\1\252\1\147\10\0" + "\1\u014e\2\147\1\u014e\2\147\1\u014e\2\147\1\0\4\147" + "\1\0\1\u014e\1\147\1\0\1\147\1\0\1\u014e\2\147" + "\6\0\1\u014f\1\152\1\153\1\152\1\154\1\152\1\u014f" + "\27\152\1\u014f\2\152\1\u014f\2\152\1\u014f\10\152\1\u014f" + "\4\152\1\u014f\7\152\1\0\1\u0150\1\155\1\156\3\155" + "\1\u0150\1\155\1\154\25\155\1\u0150\2\155\1\u0150\2\155" + "\1\u0150\10\155\1\u0150\4\155\1\u0150\7\155\1\0\1\u0151"
+ + "\1\157\1\160\1\157\1\161\1\157\1\u0151\27\157\1\u0151" + "\2\157\1\u0151\2\157\1\u0151\10\157\1\u0151\4\157\1\u0151" + "\7\157\1\0\1\u0152\1\162\1\163\3\162\1\u0152\1\162" + "\1\161\25\162\1\u0152\2\162\1\u0152\2\162\1\u0152\10\162" + "\1\u0152\4\162\1\u0152\7\162\4\0\1\u012d\1\0\1\u012d" + "\3\0\1\u012d\1\u0109\3\0\2\u012d\53\0\1\u0153\1\u0105" + "\1\u0106\1\u0105\1\0\1\u0105\1\u0153\1\u0105\1\0\1\u0105" + "\1\u0109\11\u0105\1\0\11\u0105\1\u0153\2\u0105\1\u0153\2\u0105" + "\1\u0153\10\u0105\1\u0153\4\u0105\1\u0153\7\u0105\1\0\1\u0154" + "\1\u0107\1\u0130\1\u0107\1\u0155\1\u0107\1\u0154\10\u0107\1\u0156" + "\16\u0107\1\u0154\2\u0107\1\u0154\2\u0107\1\u0154\10\u0107\1\u0154" + "\4\u0107\1\u0154\7\u0107\1\0\1\u0157\1\u0108\1\u0131\3\u0108" + "\1\u0157\1\u0108\1\u0158\6\u0108\1\u0159\16\u0108\1\u0157\2\u0108" + "\1\u0157\2\u0108\1\u0157\10\u0108\1\u0157\4\u0108\1\u0157\7\u0108" + "\1\0\1\u015a\1\51\1\165\1\51\1\0\1\51\1\u015a" + "\1\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0"
+ + "\1\51\10\0\1\u015a\2\51\1\u015a\2\51\1\u015a\2\51" + "\1\0\4\51\1\0\1\u015a\1\51\1\0\1\51\1\0" + "\1\u015a\2\51\6\0\1\u015b\1\55\1\167\1\55\1\0" + "\1\55\1\u015b\1\55\1\0\1\55\4\0\2\55\1\0" + "\3\55\1\0\1\55\10\0\1\u015b\2\55\1\u015b\2\55" + "\1\u015b\2\55\1\0\4\55\1\0\1\u015b\1\55\1\0" + "\1\55\1\0\1\u015b\2\55\6\0\1\u015c\1\62\1\171" + "\1\62\1\0\1\62\1\u015c\1\62\1\0\1\62\4\0" + "\2\62\1\0\3\62\1\0\1\62\10\0\1\u015c\2\62" + "\1\u015c\2\62\1\u015c\2\62\1\0\4\62\1\0\1\u015c" + "\1\62\1\0\1\62\1\0\1\u015c\2\62\6\0\1\u015d" + "\1\72\1\176\1\72\1\0\1\72\1\u015d\1\72\1\0" + "\1\72\4\0\2\72\1\0\3\72\1\0\1\72\10\0" + "\1\u015d\2\72\1\u015d\2\72\1\u015d\2\72\1\0\4\72" + "\1\0\1\u015d\1\72\1\0\1\72\1\0\1\u015d\2\72" + "\6\0\1\u015e\1\100\1\200\1\100\1\0\1\100\1\u015e" + "\1\100\1\0\1\100\4\0\2\100\1\0\3\100\1\0" + "\1\100\10\0\1\u015e\2\100\1\u015e\2\100\1\u015e\2\100" + "\1\0\4\100\1\0\1\u015e\1\100\1\0\1\100\1\0" + "\1\u015e\2\100\6\0\1\u015f\1\202\1\203\1\202\1\204"
+ + "\1\202\1\u015f\27\202\1\u015f\2\202\1\u015f\2\202\1\u015f" + "\10\202\1\u015f\4\202\1\u015f\7\202\1\0\1\u0160\1\205" + "\1\206\3\205\1\u0160\1\205\1\204\25\205\1\u0160\2\205" + "\1\u0160\2\205\1\u0160\10\205\1\u0160\4\205\1\u0160\7\205" + "\1\0\1\u0161\1\105\1\207\1\105\1\0\1\105\1\u0161" + "\1\105\1\0\1\105\4\0\2\105\1\0\3\105\1\0" + "\1\105\10\0\1\u0161\2\105\1\u0161\2\105\1\u0161\2\105" + "\1\0\4\105\1\0\1\u0161\1\105\1\0\1\105\1\0" + "\1\u0161\2\105\6\0\1\u0162\1\211\1\212\1\211\1\0" + "\1\211\1\u0162\1\211\1\0\1\211\4\0\2\211\1\0" + "\3\211\1\0\1\211\10\0\1\u0162\2\211\1\u0162\2\211" + "\1\u0162\2\211\1\0\4\211\1\0\1\u0162\1\211\1\0" + "\1\211\1\0\1\u0162\2\211\6\0\1\u0163\1\113\1\216" + "\1\113\1\0\1\113\1\u0163\1\113\1\0\1\113\4\0" + "\2\113\1\0\3\113\1\217\1\113\10\0\1\u0163\2\113" + "\1\u0163\2\113\1\u0163\2\113\1\0\4\113\1\0\1\u0163" + "\1\113\1\0\1\113\1\0\1\u0163\2\113\6\0\1\u0164" + "\1\221\1\222\1\221\1\223\1\221\1\u0164\27\221\1\u0164"
+ + "\2\221\1\u0164\2\221\1\u0164\10\221\1\u0164\4\221\1\u0164" + "\7\221\1\0\1\u0165\1\224\1\225\3\224\1\u0165\1\224" + "\1\223\25\224\1\u0165\2\224\1\u0165\2\224\1\u0165\10\224" + "\1\u0165\4\224\1\u0165\7\224\1\0\1\u0166\1\227\1\230" + "\1\227\1\0\1\227\1\u0166\1\227\1\0\1\227\4\0" + "\2\227\1\0\3\227\1\0\1\227\10\0\1\u0166\2\227" + "\1\u0166\2\227\1\u0166\2\227\1\0\4\227\1\0\1\u0166" + "\1\227\1\0\1\227\1\0\1\u0166\2\227\6\0\1\u0167" + "\5\0\1\u0167\1\362\15\0\2\u0167\7\0\2\u0167\1\0" + "\2\u0167\1\0\2\u0167\7\0\2\u0167\3\0\2\u0167\7\0" + "\1\u0168\5\0\1\u0168\16\0\2\u0168\7\0\2\u0168\1\0" + "\2\u0168\1\0\2\u0168\7\0\2\u0168\3\0\2\u0168\12\0" + "\1\u0141\1\0\1\u0141\3\0\1\u0141\1\u011e\3\0\2\u0141" + "\53\0\1\u0169\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0169" + "\1\u0119\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0169" + "\2\u0119\1\u0169\2\u0119\1\u0169\10\u0119\1\u0169\4\u0119\1\u0169" + "\7\u0119\1\0\1\u016a\1\u011c\1\u0144\1\u011c\1\u016b\1\u011c"
+ + "\1\u016a\10\u011c\1\u016c\16\u011c\1\u016a\2\u011c\1\u016a\2\u011c" + "\1\u016a\10\u011c\1\u016a\4\u011c\1\u016a\7\u011c\1\0\1\u016d" + "\1\u011d\1\u0145\3\u011d\1\u016d\1\u011d\1\u016e\6\u011d\1\u016f" + "\16\u011d\1\u016d\2\u011d\1\u016d\2\u011d\1\u016d\10\u011d\1\u016d" + "\4\u011d\1\u016d\7\u011d\47\0\1\u0170\24\0\2\25\1\131" + "\1\25\1\0\3\25\1\0\1\25\4\0\2\25\1\0" + "\3\25\1\0\1\25\10\0\11\25\1\0\4\25\1\0" + "\2\25\1\0\1\25\1\0\3\25\6\0\1\u0171\1\134" + "\1\135\1\134\1\0\1\134\1\u0171\1\134\1\0\1\134" + "\4\0\2\134\1\0\3\134\1\0\1\134\10\0\1\u0171" + "\2\134\1\u0171\2\134\1\u0171\2\134\1\0\4\134\1\0" + "\1\u0171\1\134\1\0\1\134\1\0\1\u0171\2\134\6\0" + "\1\u0172\1\136\1\137\1\136\1\0\1\136\1\u0172\1\136" + "\1\0\1\136\4\0\2\136\1\0\3\136\1\0\1\136" + "\10\0\1\u0172\2\136\1\u0172\2\136\1\u0172\2\136\1\0" + "\4\136\1\0\1\u0172\1\136\1\0\1\136\1\0\1\u0172" + "\2\136\54\0\1\u0173\65\0\2\u0174\30\0\1\u0175\1\333" + "\1\334\1\333\1\0\1\333\1\u0175\1\333\1\0\1\333"
+ + "\1\376\3\0\2\333\1\0\3\333\1\0\1\333\10\0" + "\1\u0175\2\333\1\u0175\2\333\1\u0175\2\333\1\0\4\333" + "\1\0\1\u0175\1\333\1\0\1\333\1\0\1\u0175\2\333" + "\6\0\1\u0176\1\147\1\150\1\147\1\0\1\147\1\u0176" + "\1\147\1\0\1\147\4\0\2\147\1\0\3\147\1\252" + "\1\147\10\0\1\u0176\2\147\1\u0176\2\147\1\u0176\2\147" + "\1\0\4\147\1\0\1\u0176\1\147\1\0\1\147\1\0" + "\1\u0176\2\147\6\0\1\u0177\1\152\1\153\1\152\1\154" + "\1\152\1\u0177\27\152\1\u0177\2\152\1\u0177\2\152\1\u0177" + "\10\152\1\u0177\4\152\1\u0177\7\152\1\0\1\u0178\1\155" + "\1\156\3\155\1\u0178\1\155\1\154\25\155\1\u0178\2\155" + "\1\u0178\2\155\1\u0178\10\155\1\u0178\4\155\1\u0178\7\155" + "\1\0\1\u0179\1\157\1\160\1\157\1\161\1\157\1\u0179" + "\27\157\1\u0179\2\157\1\u0179\2\157\1\u0179\10\157\1\u0179" + "\4\157\1\u0179\7\157\1\0\1\u017a\1\162\1\163\3\162" + "\1\u017a\1\162\1\161\25\162\1\u017a\2\162\1\u017a\2\162" + "\1\u017a\10\162\1\u017a\4\162\1\u017a\7\162\1\0\1\u017b"
+ + "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u017b\1\u0105\1\0" + "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u017b\2\u0105\1\u017b" + "\2\u0105\1\u017b\10\u0105\1\u017b\4\u0105\1\u017b\7\u0105\1\0" + "\1\u017c\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u017c\27\u0107" + "\1\u017c\2\u0107\1\u017c\2\u0107\1\u017c\10\u0107\1\u017c\4\u0107" + "\1\u017c\7\u0107\1\0\2\u0107\1\u0130\2\u012d\1\u0155\3\u0107" + "\1\u0155\1\u017d\3\u0107\2\u012d\52\u0107\1\0\2\u0107\1\u0130" + "\1\0\1\u012d\12\u0107\1\0\52\u0107\1\0\1\u017e\1\u0108" + "\1\u0131\3\u0108\1\u017e\1\u0108\1\u012d\25\u0108\1\u017e\2\u0108" + "\1\u017e\2\u0108\1\u017e\10\u0108\1\u017e\4\u0108\1\u017e\7\u0108" + "\1\0\2\u0108\1\u0131\1\u012d\1\u0108\1\u0158\2\u0108\1\u012d" + "\1\u0158\1\u017f\3\u0108\2\u012d\52\u0108\1\0\2\u0108\1\u0131" + "\1\0\4\u0108\1\u012d\6\u0108\1\0\52\u0108\1\0\2\51" + "\1\165\1\51\1\0\3\51\1\0\1\51\4\0\2\51" + "\1\0\3\51\1\0\1\51\10\0\11\51\1\0\4\51" + "\1\0\2\51\1\0\1\51\1\0\3\51\6\0\2\55"
+ + "\1\167\1\55\1\0\3\55\1\0\1\55\4\0\2\55" + "\1\0\3\55\1\0\1\55\10\0\11\55\1\0\4\55" + "\1\0\2\55\1\0\1\55\1\0\3\55\6\0\2\62" + "\1\171\1\62\1\0\3\62\1\0\1\62\4\0\2\62" + "\1\0\3\62\1\0\1\62\10\0\11\62\1\0\4\62" + "\1\0\2\62\1\0\1\62\1\0\3\62\6\0\2\72" + "\1\176\1\72\1\0\3\72\1\0\1\72\4\0\2\72" + "\1\0\3\72\1\0\1\72\10\0\11\72\1\0\4\72" + "\1\0\2\72\1\0\1\72\1\0\3\72\6\0\2\100" + "\1\200\1\100\1\0\3\100\1\0\1\100\4\0\2\100" + "\1\0\3\100\1\0\1\100\10\0\11\100\1\0\4\100" + "\1\0\2\100\1\0\1\100\1\0\3\100\6\0\1\u0180" + "\1\202\1\203\1\202\1\204\1\202\1\u0180\27\202\1\u0180" + "\2\202\1\u0180\2\202\1\u0180\10\202\1\u0180\4\202\1\u0180" + "\7\202\1\0\1\u0181\1\205\1\206\3\205\1\u0181\1\205" + "\1\204\25\205\1\u0181\2\205\1\u0181\2\205\1\u0181\10\205" + "\1\u0181\4\205\1\u0181\7\205\1\0\2\105\1\207\1\105" + "\1\0\3\105\1\0\1\105\4\0\2\105\1\0\3\105" + "\1\0\1\105\10\0\11\105\1\0\4\105\1\0\2\105" + "\1\0\1\105\1\0\3\105\6\0\1\u0182\1\211\1\212"
+ + "\1\211\1\0\1\211\1\u0182\1\211\1\0\1\211\4\0" + "\2\211\1\0\3\211\1\0\1\211\10\0\1\u0182\2\211" + "\1\u0182\2\211\1\u0182\2\211\1\0\4\211\1\0\1\u0182" + "\1\211\1\0\1\211\1\0\1\u0182\2\211\6\0\2\113" + "\1\216\1\113\1\0\3\113\1\0\1\113\4\0\2\113" + "\1\0\3\113\1\217\1\113\10\0\11\113\1\0\4\113" + "\1\0\2\113\1\0\1\113\1\0\3\113\6\0\1\u0183" + "\1\221\1\222\1\221\1\223\1\221\1\u0183\27\221\1\u0183" + "\2\221\1\u0183\2\221\1\u0183\10\221\1\u0183\4\221\1\u0183" + "\7\221\1\0\1\u0184\1\224\1\225\3\224\1\u0184\1\224" + "\1\223\25\224\1\u0184\2\224\1\u0184\2\224\1\u0184\10\224" + "\1\u0184\4\224\1\u0184\7\224\1\0\1\u0185\1\227\1\230" + "\1\227\1\0\1\227\1\u0185\1\227\1\0\1\227\4\0" + "\2\227\1\0\3\227\1\0\1\227\10\0\1\u0185\2\227" + "\1\u0185\2\227\1\u0185\2\227\1\0\4\227\1\0\1\u0185" + "\1\227\1\0\1\227\1\0\1\u0185\2\227\6\0\1\u0186" + "\5\0\1\u0186\1\362\15\0\2\u0186\7\0\2\u0186\1\0" + "\2\u0186\1\0\2\u0186\7\0\2\u0186\3\0\2\u0186\7\0"
+ + "\1\u0187\5\0\1\u0187\16\0\2\u0187\7\0\2\u0187\1\0" + "\2\u0187\1\0\2\u0187\7\0\2\u0187\3\0\2\u0187\7\0" + "\1\u0188\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0188\1\u0119" + "\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0188\2\u0119" + "\1\u0188\2\u0119\1\u0188\10\u0119\1\u0188\4\u0119\1\u0188\7\u0119" + "\1\0\1\u0189\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u0189" + "\27\u011c\1\u0189\2\u011c\1\u0189\2\u011c\1\u0189\10\u011c\1\u0189" + "\4\u011c\1\u0189\7\u011c\1\0\2\u011c\1\u0144\2\u0141\1\u016b" + "\3\u011c\1\u016b\1\u018a\3\u011c\2\u0141\52\u011c\1\0\2\u011c" + "\1\u0144\1\0\1\u0141\12\u011c\1\0\52\u011c\1\0\1\u018b" + "\1\u011d\1\u0145\3\u011d\1\u018b\1\u011d\1\u0141\25\u011d\1\u018b" + "\2\u011d\1\u018b\2\u011d\1\u018b\10\u011d\1\u018b\4\u011d\1\u018b" + "\7\u011d\1\0\2\u011d\1\u0145\1\u0141\1\u011d\1\u016e\2\u011d" + "\1\u0141\1\u016e\1\u018c\3\u011d\2\u0141\52\u011d\1\0\2\u011d" + "\1\u0145\1\0\4\u011d\1\u0141\6\u011d\1\0\52\u011d\42\0"
+ + "\2\u018d\30\0\2\134\1\135\1\134\1\0\3\134\1\0" + "\1\134\4\0\2\134\1\0\3\134\1\0\1\134\10\0" + "\11\134\1\0\4\134\1\0\2\134\1\0\1\134\1\0" + "\3\134\6\0\2\136\1\137\1\136\1\0\3\136\1\0" + "\1\136\4\0\2\136\1\0\3\136\1\0\1\136\10\0" + "\11\136\1\0\4\136\1\0\2\136\1\0\1\136\1\0" + "\3\136\44\0\2\u018e\33\0\1\u018f\1\333\1\334\1\333" + "\1\0\1\333\1\u018f\1\333\1\0\1\333\1\376\3\0" + "\2\333\1\0\3\333\1\0\1\333\10\0\1\u018f\2\333" + "\1\u018f\2\333\1\u018f\2\333\1\0\4\333\1\0\1\u018f" + "\1\333\1\0\1\333\1\0\1\u018f\2\333\6\0\2\147" + "\1\150\1\147\1\0\3\147\1\0\1\147\4\0\2\147" + "\1\0\3\147\1\252\1\147\10\0\11\147\1\0\4\147" + "\1\0\2\147\1\0\1\147\1\0\3\147\6\0\2\152" + "\1\153\1\152\1\154\65\152\1\0\2\155\1\156\5\155" + "\1\154\61\155\1\0\2\157\1\160\1\157\1\161\65\157" + "\1\0\2\162\1\163\5\162\1\161\61\162\1\0\1\u0190" + "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u0190\1\u0105\1\0" + "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u0190\2\u0105\1\u0190"
+ + "\2\u0105\1\u0190\10\u0105\1\u0190\4\u0105\1\u0190\7\u0105\1\0" + "\1\u0191\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u0191\27\u0107" + "\1\u0191\2\u0107\1\u0191\2\u0107\1\u0191\10\u0107\1\u0191\4\u0107" + "\1\u0191\7\u0107\1\0\1\u0192\1\u0108\1\u0131\3\u0108\1\u0192" + "\1\u0108\1\u012d\25\u0108\1\u0192\2\u0108\1\u0192\2\u0108\1\u0192" + "\10\u0108\1\u0192\4\u0108\1\u0192\7\u0108\1\0\2\202\1\203" + "\1\202\1\204\65\202\1\0\2\205\1\206\5\205\1\204" + "\61\205\1\0\2\211\1\212\1\211\1\0\3\211\1\0" + "\1\211\4\0\2\211\1\0\3\211\1\0\1\211\10\0" + "\11\211\1\0\4\211\1\0\2\211\1\0\1\211\1\0" + "\3\211\6\0\2\221\1\222\1\221\1\223\65\221\1\0" + "\2\224\1\225\5\224\1\223\61\224\1\0\2\227\1\230" + "\1\227\1\0\3\227\1\0\1\227\4\0\2\227\1\0" + "\3\227\1\0\1\227\10\0\11\227\1\0\4\227\1\0" + "\2\227\1\0\1\227\1\0\3\227\15\0\1\362\63\0" + "\1\u0193\5\0\1\u0193\16\0\2\u0193\7\0\2\u0193\1\0" + "\2\u0193\1\0\2\u0193\7\0\2\u0193\3\0\2\u0193\7\0"
+ + "\1\u0194\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0194\1\u0119" + "\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0194\2\u0119" + "\1\u0194\2\u0119\1\u0194\10\u0119\1\u0194\4\u0119\1\u0194\7\u0119" + "\1\0\1\u0195\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u0195" + "\27\u011c\1\u0195\2\u011c\1\u0195\2\u011c\1\u0195\10\u011c\1\u0195" + "\4\u011c\1\u0195\7\u011c\1\0\1\u0196\1\u011d\1\u0145\3\u011d" + "\1\u0196\1\u011d\1\u0141\25\u011d\1\u0196\2\u011d\1\u0196\2\u011d" + "\1\u0196\10\u011d\1\u0196\4\u011d\1\u0196\7\u011d\65\0\1\u0197" + "\52\0\2\u0198\25\0\1\u0199\1\333\1\334\1\333\1\0" + "\1\333\1\u0199\1\333\1\0\1\333\1\376\3\0\2\333" + "\1\0\3\333\1\0\1\333\10\0\1\u0199\2\333\1\u0199" + "\2\333\1\u0199\2\333\1\0\4\333\1\0\1\u0199\1\333" + "\1\0\1\333\1\0\1\u0199\2\333\6\0\1\u019a\1\u0105" + "\1\u0106\1\u0105\1\0\1\u0105\1\u019a\1\u0105\1\0\1\u0105" + "\1\u0109\11\u0105\1\0\11\u0105\1\u019a\2\u0105\1\u019a\2\u0105"
+ + "\1\u019a\10\u0105\1\u019a\4\u0105\1\u019a\7\u0105\1\0\1\u019b" + "\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u019b\27\u0107\1\u019b" + "\2\u0107\1\u019b\2\u0107\1\u019b\10\u0107\1\u019b\4\u0107\1\u019b" + "\7\u0107\1\0\1\u019c\1\u0108\1\u0131\3\u0108\1\u019c\1\u0108" + "\1\u012d\25\u0108\1\u019c\2\u0108\1\u019c\2\u0108\1\u019c\10\u0108" + "\1\u019c\4\u0108\1\u019c\7\u0108\1\0\1\u019d\5\0\1\u019d" + "\16\0\2\u019d\7\0\2\u019d\1\0\2\u019d\1\0\2\u019d" + "\7\0\2\u019d\3\0\2\u019d\7\0\1\u019e\1\u0119\1\u011a" + "\1\u0119\1\0\1\u0119\1\u019e\1\u0119\1\0\1\u0119\1\u011e" + "\11\u0119\1\0\11\u0119\1\u019e\2\u0119\1\u019e\2\u0119\1\u019e" + "\10\u0119\1\u019e\4\u0119\1\u019e\7\u0119\1\0\1\u019f\1\u011c" + "\1\u0144\1\u011c\1\u0141\1\u011c\1\u019f\27\u011c\1\u019f\2\u011c" + "\1\u019f\2\u011c\1\u019f\10\u011c\1\u019f\4\u011c\1\u019f\7\u011c" + "\1\0\1\u01a0\1\u011d\1\u0145\3\u011d\1\u01a0\1\u011d\1\u0141"
+ + "\25\u011d\1\u01a0\2\u011d\1\u01a0\2\u011d\1\u01a0\10\u011d\1\u01a0" + "\4\u011d\1\u01a0\7\u011d\47\0\1\u01a1\24\0\2\333\1\334" + "\1\333\1\0\3\333\1\0\1\333\1\376\3\0\2\333" + "\1\0\3\333\1\0\1\333\10\0\11\333\1\0\4\333" + "\1\0\2\333\1\0\1\333\1\0\3\333\6\0\1\u01a2" + "\1\u0105\1\u0106\1\u0105\1\0\1\u0105\1\u01a2\1\u0105\1\0" + "\1\u0105\1\u0109\11\u0105\1\0\11\u0105\1\u01a2\2\u0105\1\u01a2" + "\2\u0105\1\u01a2\10\u0105\1\u01a2\4\u0105\1\u01a2\7\u0105\1\0" + "\1\u01a3\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u01a3\27\u0107" + "\1\u01a3\2\u0107\1\u01a3\2\u0107\1\u01a3\10\u0107\1\u01a3\4\u0107" + "\1\u01a3\7\u0107\1\0\1\u01a4\1\u0108\1\u0131\3\u0108\1\u01a4" + "\1\u0108\1\u012d\25\u0108\1\u01a4\2\u0108\1\u01a4\2\u0108\1\u01a4" + "\10\u0108\1\u01a4\4\u0108\1\u01a4\7\u0108\1\0\1\u01a5\1\u0119" + "\1\u011a\1\u0119\1\0\1\u0119\1\u01a5\1\u0119\1\0\1\u0119" + "\1\u011e\11\u0119\1\0\11\u0119\1\u01a5\2\u0119\1\u01a5\2\u0119"
+ + "\1\u01a5\10\u0119\1\u01a5\4\u0119\1\u01a5\7\u0119\1\0\1\u01a6" + "\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u01a6\27\u011c\1\u01a6" + "\2\u011c\1\u01a6\2\u011c\1\u01a6\10\u011c\1\u01a6\4\u011c\1\u01a6" + "\7\u011c\1\0\1\u01a7\1\u011d\1\u0145\3\u011d\1\u01a7\1\u011d" + "\1\u0141\25\u011d\1\u01a7\2\u011d\1\u01a7\2\u011d\1\u01a7\10\u011d" + "\1\u01a7\4\u011d\1\u01a7\7\u011d\1\0\2\u0105\1\u0106\1\u0105" + "\1\0\3\u0105\1\0\1\u0105\1\u0109\11\u0105\1\0\45\u0105" + "\1\0\1\u01a8\1\u0107\1\u0130\1\u0107\1\u012d\1\u0107\1\u01a8" + "\27\u0107\1\u01a8\2\u0107\1\u01a8\2\u0107\1\u01a8\10\u0107\1\u01a8" + "\4\u0107\1\u01a8\7\u0107\1\0\1\u01a9\1\u0108\1\u0131\3\u0108" + "\1\u01a9\1\u0108\1\u012d\25\u0108\1\u01a9\2\u0108\1\u01a9\2\u0108" + "\1\u01a9\10\u0108\1\u01a9\4\u0108\1\u01a9\7\u0108\1\0\2\u0119" + "\1\u011a\1\u0119\1\0\3\u0119\1\0\1\u0119\1\u011e\11\u0119" + "\1\0\45\u0119\1\0\1\u01aa\1\u011c\1\u0144\1\u011c\1\u0141"
+ + "\1\u011c\1\u01aa\27\u011c\1\u01aa\2\u011c\1\u01aa\2\u011c\1\u01aa" + "\10\u011c\1\u01aa\4\u011c\1\u01aa\7\u011c\1\0\1\u01ab\1\u011d" + "\1\u0145\3\u011d\1\u01ab\1\u011d\1\u0141\25\u011d\1\u01ab\2\u011d" + "\1\u01ab\2\u011d\1\u01ab\10\u011d\1\u01ab\4\u011d\1\u01ab\7\u011d" + "\1\0\2\u0107\1\u0130\1\u0107\1\u012d\65\u0107\1\0\2\u0108" + "\1\u0131\5\u0108\1\u012d\61\u0108\1\0\2\u011c\1\u0144\1\u011c" + "\1\u0141\65\u011c\1\0\2\u011d\1\u0145\5\u011d\1\u0141\61\u011d";
+
+ /**
+ * The transition table of the DFA
+ */
+ final private static int yytrans[] = yy_unpack(yy_packed);
+
+
+ /* error codes */
+ final private static int YY_UNKNOWN_ERROR = 0;
+ // final private static int YY_ILLEGAL_STATE = 1;
+ final private static int YY_NO_MATCH = 2;
+ // final private static int YY_PUSHBACK_2BIG = 3;
+
+ /* error messages for the codes above */
+ final private static String YY_ERROR_MSG[] = {"Unkown internal scanner error", "Internal error: unknown state", "Error: could not match input", "Error: pushback value was too large"};
+
+ /**
+ * YY_ATTRIBUTE[aState] contains the attributes of state
+ * <code>aState</code>
+ */
+ private final static byte YY_ATTRIBUTE[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 1, 1, 9, 1, 9, 1, 1, 9, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 9, 9, 1, 1, 1, 9, 1, 3, 9, 9, 1, 1, 1, 9, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 3, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 13, 7, 0, 1, 0, 1, 0, 0, 9, 0, 0, 0, 1, 1, 0, 0, 0, 9, 0, 9, 1, 0, 0, 9, 0, 0, 1, 1, 0, 0, 1, 0, 0, 13, 7, 1, 9, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 9, 0, 0, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 9, 0, 1, 1, 1, 0, 0, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0,
+ 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+
+ /** the input device */
+ private java.io.Reader yy_reader;
+
+ /** the current state of the DFA */
+ private int yy_state;
+
+ /** the current lexical state */
+ private int yy_lexical_state = YYINITIAL;
+
+ /**
+ * this buffer contains the current text to be matched and is the source
+ * of the yytext() string
+ */
+ private char yy_buffer[] = new char[16384];
+
+ /** the textposition at the last accepting state */
+ private int yy_markedPos;
+
+ /** the textposition at the last state to be included in yytext */
+ private int yy_pushbackPos;
+
+ /** the current text position in the buffer */
+ private int yy_currentPos;
+
+ /** startRead marks the beginning of the yytext() string in the buffer */
+ private int yy_startRead;
+
+ /**
+ * endRead marks the last character in the buffer, that has been read from
+ * input
+ */
+ private int yy_endRead;
+
+ /** number of newlines encountered up to the start of the matched text */
+ private int yyline;
+
+ /** the number of characters up to the start of the matched text */
+ private int yychar;
+
+ /**
+ * the number of characters from the last newline up to the start of the
+ * matched text
+ */
+ // private int yycolumn;
+ /**
+ * yy_atBOL == true <=> the scanner is currently at the beginning of a
+ * line
+ */
+ // private boolean yy_atBOL;
+ /** yy_atEOF == true <=> the scanner has returned a value for EOF */
+ private boolean yy_atEOF;
+
+ /* user code: */
private final static String UNDEFINED = "undefined";
private String fBufferedContext = null;
private int fBufferedStart;
-// private int fBufferedTextLength;
+ // private int fBufferedTextLength;
private int fBufferedLength;
-// private StringBuffer fBufferedText = null;
+ // private StringBuffer fBufferedText = null;
private CSSTextRegionFactory fRegionFactory = CSSTextRegionFactory.getInstance();
private int fInitialState = YYINITIAL;
public final static int BUFFER_SIZE_NORMAL = 16384;
@@ -1086,30 +215,31 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
public void setInitialState(int state) {
fInitialState = state;
}
-
+
public void setInitialBufferSize(int size) {
fInitialBufferSize = size;
}
/* user method */
- public final ITextRegion getNextToken() throws IOException {
+ public final ITextRegion getNextToken() throws IOException {
String context;
String nextTokenType;
boolean spaceFollows;
-// StringBuffer text;
+ // StringBuffer text;
int start;
int textLength;
int length;
if (fBufferedContext != null) {
context = fBufferedContext;
-// text = fBufferedText;
+ // text = fBufferedText;
start = fBufferedStart;
textLength = length = fBufferedLength;
fBufferedContext = null;
- } else {
+ }
+ else {
context = primGetNextToken();
-// text = new StringBuffer(yytext());
+ // text = new StringBuffer(yytext());
start = yychar;
textLength = length = yylength();
}
@@ -1119,34 +249,42 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
// undef -> concatenate undef's
nextTokenType = primGetNextToken();
while (nextTokenType == UNDEFINED) {
-// text.append(yytext());
+ // text.append(yytext());
textLength += yylength();
length = textLength;
nextTokenType = primGetNextToken();
}
fBufferedContext = nextTokenType;
-// fBufferedText = new StringBuffer(yytext());
+ // fBufferedText = new StringBuffer(yytext());
fBufferedStart = yychar;
fBufferedLength = yylength();
- } else {
+ }
+ else {
nextTokenType = null;
spaceFollows = false;
- if (CSSRegionUtil.isDeclarationValueType(context)) { // declaration value can contain VALUE_S
+ if (CSSRegionUtil.isDeclarationValueType(context)) { // declaration
+ // value
+ // can
+ // contain
+ // VALUE_S
nextTokenType = primGetNextToken();
spaceFollows = (nextTokenType == CSS_DECLARATION_VALUE_S);
- } else if (canContainSpace(context)) {
+ }
+ else if (canContainSpace(context)) {
nextTokenType = primGetNextToken();
spaceFollows = (nextTokenType == CSS_S);
}
if (nextTokenType != null) { // nextToken is retrieved
if (spaceFollows) {
// next is space -> append
-// text.append(yytext());
+ // text.append(yytext());
length += yylength();
- } else {
- // next is NOT space -> push this for next time, return itself
+ }
+ else {
+ // next is NOT space -> push this for next time,
+ // return itself
fBufferedContext = nextTokenType;
-// fBufferedText = new StringBuffer(yytext());
+ // fBufferedText = new StringBuffer(yytext());
fBufferedStart = yychar;
fBufferedLength = yylength();
}
@@ -1159,43 +297,45 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
context = CSS_UNKNOWN;
}
return fRegionFactory.createRegion(context, start, textLength, length);
- } else {
+ }
+ else {
return null;
}
- }
+ }
/* user method */
/* for standalone use */
- public final List parseText() throws IOException {
- List tokens = new ArrayList();
+ public final List parseText() throws IOException {
+ List tokens = new ArrayList();
- CSSTextToken token;
+ CSSTextToken token;
for (String kind = primGetNextToken(); kind != null; kind = primGetNextToken()) {
token = new CSSTextToken();
- token.kind = kind;
+ token.kind = kind;
token.start = yychar;
token.length = yylength();
token.image = yytext();
tokens.add(token);
}
- return tokens;
- }
-
- /* user method */
- private boolean canContainSpace(String type) {
- if (type == CSS_DELIMITER || type == CSS_RBRACE || type == CSS_DECLARATION_DELIMITER) {
- return false;
- } else {
- return true;
- }
- }
+ return tokens;
+ }
+
+ /* user method */
+ private boolean canContainSpace(String type) {
+ if (type == CSS_DELIMITER || type == CSS_RBRACE || type == CSS_DECLARATION_DELIMITER) {
+ return false;
+ }
+ else {
+ return true;
+ }
+ }
/* user method */
public final int getOffset() {
return yychar;
}
-
+
/* user method */
public final boolean isEOF() {
return yy_atEOF;
@@ -1215,14 +355,16 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
yy_state = 0;
/** the current lexical state */
- yy_lexical_state = fInitialState; //YYINITIAL;
+ yy_lexical_state = fInitialState; // YYINITIAL;
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
+ /**
+ * this buffer contains the current text to be matched and is the
+ * source of the yytext() string
+ */
if (yy_buffer.length != fInitialBufferSize) {
yy_buffer = new char[fInitialBufferSize];
}
- java.util.Arrays.fill(yy_buffer, (char)0);
+ java.util.Arrays.fill(yy_buffer, (char) 0);
/** the textposition at the last accepting state */
yy_markedPos = 0;
@@ -1236,8 +378,10 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
/** startRead marks the beginning of the yytext() string in the buffer */
yy_startRead = 0;
- /** endRead marks the last character in the buffer, that has been read
- from input */
+ /**
+ * endRead marks the last character in the buffer, that has been read
+ * from input
+ */
yy_endRead = 0;
/** number of newlines encountered up to the start of the matched text */
@@ -1247,21 +391,20 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
yychar = 0;
/**
- * the number of characters from the last newline up to the start of the
- * matched text
+ * the number of characters from the last newline up to the start of
+ * the matched text
*/
-// yycolumn = 0;
-
- /**
- * yy_atBOL == true <=> the scanner is currently at the beginning of a line
+ // yycolumn = 0;
+ /**
+ * yy_atBOL == true <=> the scanner is currently at the beginning of a
+ * line
*/
-// yy_atBOL = false;
-
+ // yy_atBOL = false;
/** yy_atEOF == true <=> the scanner has returned a value for EOF */
yy_atEOF = false;
/* user variables */
- // fUndefined.delete(0, fUndefined.length());
+ // fUndefined.delete(0, fUndefined.length());
}
/* user method */
@@ -1271,635 +414,793 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
- /**
- * Creates a new scanner
- * There is also a java.io.InputStream version of this constructor.
- *
- * @param in the java.io.Reader to read input from.
- */
- public CSSTokenizer(java.io.Reader in) {
- this.yy_reader = in;
- }
-
- /**
- * Creates a new scanner.
- * There is also java.io.Reader version of this constructor.
- *
- * @param in the java.io.Inputstream to read input from.
- */
- public CSSTokenizer(java.io.InputStream in) {
- this(new java.io.InputStreamReader(in));
- }
-
- /**
- * Unpacks the compressed DFA transition table.
- *
- * @param packed the packed transition table
- * @return the unpacked transition table
- */
- private static int [] yy_unpack(String packed) {
- int [] trans = new int[20709];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 13392) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- value--;
- do trans[j++] = value; while (--count > 0);
- }
- return trans;
- }
-
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char [] yy_unpack_cmap(String packed) {
- char [] map = new char[0x10000];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 170) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
- }
-
-
- /**
- * Gets the next input character.
- *
- * @return the next character of the input stream, EOF if the
- * end of the stream is reached.
- * @exception IOException if any I/O-Error occurs
- */
- private int yy_advance() throws java.io.IOException {
-
- /* standard case */
- if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
- /* if the eof is reached, we don't need to work hard */
- if (yy_atEOF) return YYEOF;
-
- /* otherwise: need to refill the buffer */
-
- /* first: make room (if you can) */
- if (yy_startRead > 0) {
- System.arraycopy(yy_buffer, yy_startRead,
- yy_buffer, 0,
- yy_endRead-yy_startRead);
-
- /* translate stored positions */
- yy_endRead-= yy_startRead;
- yy_currentPos-= yy_startRead;
- yy_markedPos-= yy_startRead;
- yy_pushbackPos-= yy_startRead;
- yy_startRead = 0;
- }
-
- /* is the buffer big enough? */
- if (yy_currentPos >= yy_buffer.length) {
- /* if not: blow it up */
- char newBuffer[] = new char[yy_currentPos*2];
- System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
- yy_buffer = newBuffer;
- }
-
- /* finally: fill the buffer with new input */
- int numRead = yy_reader.read(yy_buffer, yy_endRead,
- yy_buffer.length-yy_endRead);
-
- if ( numRead == -1 ) return YYEOF;
-
- yy_endRead+= numRead;
-
- return yy_buffer[yy_currentPos++];
- }
-
-
- /**
- * Closes the input stream.
- */
- final public void yyclose() throws java.io.IOException {
- yy_atEOF = true; /* indicate end of file */
- yy_endRead = yy_startRead; /* invalidate buffer */
- yy_reader.close();
- }
-
-
- /**
- * Returns the current lexical state.
- */
- final public int yystate() {
- return yy_lexical_state;
- }
-
- /**
- * Enters a new lexical state
- *
- * @param newState the new lexical state
- */
- final public void yybegin(int newState) {
- yy_lexical_state = newState;
- }
-
-
- /**
- * Returns the text matched by the current regular expression.
- */
- final public String yytext() {
- return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
- }
-
- /**
- * Returns the length of the matched text region.
- */
- final public int yylength() {
- return yy_markedPos-yy_startRead;
- }
-
-
- /**
- * Reports an error that occured while scanning.
- *
- * @param errorCode the code of the errormessage to display
- */
- private void yy_ScanError(int errorCode) {
- try {
- System.out.println(YY_ERROR_MSG[errorCode]);
- }
- catch (ArrayIndexOutOfBoundsException e) {
- System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
- }
-
- System.exit(1);
- }
-
-
- /**
- * Pushes the specified amount of characters back into the input stream.
- *
- * They will be read again by then next call of the scanning method
- *
- * @param number the number of characters to be read again.
- * This number must not be greater than yylength()!
- */
-// private void yypushback(int number) {
-// if ( number > yylength() )
-// yy_ScanError(YY_PUSHBACK_2BIG);
-//
-// yy_markedPos -= number;
-// }
-
-
- /**
- * Resumes scanning until the next regular expression is matched,
- * the end of input is encountered or an I/O-Error occurs.
- *
- * @return the next token
- * @exception IOException if any I/O-Error occurs
- */
- public String primGetNextToken() throws java.io.IOException {
- int yy_input;
- int yy_action;
-
- yy_pushbackPos = -1;
- boolean yy_was_pushback;
-
- while (true) {
-
- yychar+= yylength();
-
- boolean yy_counted = false;
- for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
- yy_currentPos++) {
- switch (yy_buffer[yy_currentPos]) {
- case '\r':
- yyline++;
- yy_counted = true;
- break;
- case '\n':
- if (yy_counted)
- yy_counted = false;
- else {
- yyline++;
- }
- break;
- default:
- yy_counted = false;
- }
- }
-
- if (yy_counted) {
- if ( yy_advance() == '\n' ) yyline--;
- if ( !yy_atEOF ) yy_currentPos--;
- }
-
- yy_action = -1;
-
- yy_currentPos = yy_startRead = yy_markedPos;
-
- yy_state = yy_lexical_state;
-
- yy_was_pushback = false;
-
- yy_forAction: {
- while (true) {
-
- yy_input = yy_advance();
-
- if ( yy_input == YYEOF ) break yy_forAction;
-
- int yy_next = yytrans[ yy_rowMap[yy_state] + yycmap[yy_input] ];
- if (yy_next == -1) break yy_forAction;
- yy_state = yy_next;
-
- int yy_attributes = YY_ATTRIBUTE[yy_state];
- if ( (yy_attributes & 2) > 0 )
- yy_pushbackPos = yy_currentPos;
-
- if ( (yy_attributes & 1) > 0 ) {
- yy_was_pushback = (yy_attributes & 4) > 0;
- yy_action = yy_state;
- yy_markedPos = yy_currentPos;
- if ( (yy_attributes & 8) > 0 ) break yy_forAction;
- }
-
- }
- }
-
- if (yy_was_pushback)
- yy_markedPos = yy_pushbackPos;
-
- switch (yy_action) {
-
- case 416:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_IMPORTANT; }
- case 428: break;
- case 407:
- { yybegin(ST_FONT_FACE_DELIMITER); return CSS_FONT_FACE; }
- case 429: break;
- case 370:
- { yybegin(ST_CHARSET_NAME); return CSS_CHARSET; }
- case 430: break;
- case 330:
- { yybegin(ST_IMPORT_URI); return CSS_IMPORT; }
- case 431: break;
- case 292:
- { yybegin(ST_MEDIA_MEDIUM); return CSS_MEDIA; }
- case 432: break;
- case 285:
- case 322:
- case 393:
- case 395:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_URI; }
- case 433: break;
- case 264:
- case 302:
- case 380:
- case 382:
- { yybegin(ST_IMPORT_MEDIUM); return CSS_URI; }
- case 434: break;
- case 250:
- { yybegin(ST_PAGE_PSEUDO_PAGE); return CSS_PAGE; }
- case 435: break;
- case 212:
- { return CSS_COMMENT; }
- case 436: break;
- case 211:
- { return CSS_CDO; }
- case 437: break;
- case 205:
- case 240:
- case 278:
- case 279:
- case 318:
- case 319:
- case 358:
- case 359:
- case 389:
- case 390:
- case 402:
- case 412:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_UNICODE_RANGE; }
- case 438: break;
- case 159:
- { return CSS_CDC; }
- case 439: break;
- case 156:
- { return CSS_DECLARATION_VALUE_S; }
- case 440: break;
- case 150:
- case 204:
- case 239:
- case 277:
- case 317:
- case 357:
- case 388:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_HASH; }
- case 441: break;
- case 146:
- case 199:
- case 202:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_STRING; }
- case 442: break;
- case 57:
- case 126:
- case 187:
- case 230:
- case 268:
- case 308:
- case 348:
- { yybegin(ST_SELECTOR_ATTRIBUTE_OPERATOR); return CSS_SELECTOR_ATTRIBUTE_NAME; }
- case 443: break;
- case 56:
- { yybegin(ST_SELECTOR); return CSS_SELECTOR_SEPARATOR; }
- case 444: break;
- case 55:
- case 123:
- { yybegin(ST_SELECTOR); return CSS_SELECTOR_COMBINATOR; }
- case 445: break;
- case 52:
- { yybegin(ST_DECLARATION); return CSS_LBRACE; }
- case 446: break;
- case 49:
- case 121:
- case 186:
- case 229:
- case 267:
- case 307:
- case 347:
- { yybegin(ST_PAGE_DELIMITER); return CSS_PAGE_SELECTOR; }
- case 447: break;
- case 48:
- { yybegin(YYINITIAL); return CSS_LBRACE; }
- case 448: break;
- case 47:
- { yybegin(ST_MEDIA_MEDIUM); return CSS_MEDIA_SEPARATOR; }
- case 449: break;
- case 44:
- case 119:
- case 185:
- case 228:
- case 266:
- case 306:
- case 346:
- { yybegin(ST_MEDIA_DELIMITER); return CSS_MEDIUM; }
- case 450: break;
- case 43:
- { yybegin(ST_IMPORT_MEDIUM); return CSS_MEDIA_SEPARATOR; }
- case 451: break;
- case 20:
- case 89:
- case 158:
- case 208:
- case 244:
- case 287:
- case 326:
- { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ELEMENT_NAME; }
- case 452: break;
- case 22:
- case 54:
- case 87:
- case 124:
- case 157:
- { return CSS_S; }
- case 453: break;
- case 27:
- { yybegin(YYINITIAL); return CSS_RBRACE; }
- case 454: break;
- case 29:
- { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_UNIVERSAL; }
- case 455: break;
- case 32:
- { yybegin(ST_SELECTOR_ATTRIBUTE_NAME); return CSS_SELECTOR_ATTRIBUTE_START; }
- case 456: break;
- case 36:
- { yybegin(YYINITIAL); return CSS_DELIMITER; }
- case 457: break;
- case 40:
- case 117:
- case 184:
- case 227:
- case 265:
- case 305:
- case 345:
- { yybegin(ST_IMPORT_DELIMITER); return CSS_MEDIUM; }
- case 458: break;
- case 60:
- { yybegin(ST_SELECTOR_ATTRIBUTE_VALUE); return CSS_SELECTOR_ATTRIBUTE_OPERATOR; }
- case 459: break;
- case 62:
- { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ATTRIBUTE_END; }
- case 460: break;
- case 63:
- case 128:
- case 131:
- case 188:
- case 190:
- case 193:
- case 231:
- case 269:
- case 309:
- case 349:
- { yybegin(ST_SELECTOR_ATTRIBUTE_END); return CSS_SELECTOR_ATTRIBUTE_VALUE; }
- case 461: break;
- case 68:
- case 135:
- case 195:
- case 234:
- case 272:
- case 312:
- case 352:
- { yybegin(ST_DECLARATION_SEPARATOR); return CSS_DECLARATION_PROPERTY; }
- case 462: break;
- case 71:
- { yybegin(ST_DECLARATION); return CSS_DECLARATION_DELIMITER; }
- case 463: break;
- case 72:
- { yybegin(ST_DECLARATION_PRE_VALUE); return CSS_DECLARATION_SEPARATOR; }
- case 464: break;
- case 73:
- case 149:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_NUMBER; }
- case 465: break;
- case 74:
- case 83:
- case 143:
- case 153:
- case 197:
- case 206:
- case 236:
- case 274:
- case 314:
- case 354:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_IDENT; }
- case 466: break;
- case 79:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE; }
- case 467: break;
- case 85:
- case 86:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_OPERATOR; }
- case 468: break;
- case 91:
- case 160:
- case 209:
- case 245:
- case 288:
- case 327:
- case 368:
- { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_CLASS; }
- case 469: break;
- case 93:
- case 161:
- case 210:
- case 246:
- case 289:
- case 328:
- case 369:
- { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ID; }
- case 470: break;
- case 102:
- case 170:
- case 221:
- case 253:
- case 255:
- case 295:
- case 333:
- case 373:
- { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }
- case 471: break;
- case 107:
- case 172:
- case 175:
- { yybegin(ST_CHARSET_DELIMITER); return CSS_STRING; }
- case 472: break;
- case 112:
- case 178:
- case 181:
- { yybegin(ST_IMPORT_MEDIUM); return CSS_STRING; }
- case 473: break;
- case 136:
- case 196:
- case 235:
- case 273:
- case 313:
- case 353:
- case 385:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_DIMENSION; }
- case 474: break;
- case 140:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_PERCENTAGE; }
- case 475: break;
- case 142:
- case 242:
- { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_FUNCTION; }
- case 476: break;
- case 19:
- case 21:
- case 23:
- case 24:
- case 25:
- case 26:
- case 28:
- case 30:
- case 31:
- case 33:
- case 34:
- case 35:
- case 37:
- case 38:
- case 39:
- case 41:
- case 42:
- case 45:
- case 46:
- case 50:
- case 51:
- case 53:
- case 58:
- case 59:
- case 61:
- case 64:
- case 65:
- case 66:
- case 67:
- case 69:
- case 70:
- case 75:
- case 76:
- case 77:
- case 78:
- case 80:
- case 81:
- case 82:
- case 84:
- {
- return UNDEFINED;
- }
- case 477: break;
- default:
- if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
- yy_atEOF = true;
- return null;
- }
- else {
- yy_ScanError(YY_NO_MATCH);
- }
- }
- }
- }
-
- /**
- * Runs the scanner on input files.
- *
- * This main method is the debugging routine for the scanner.
- * It prints each returned token to System.out until the end of
- * file is reached, or an error occured.
- *
- * @param argv the command line, contains the filenames to run
- * the scanner on.
- */
- public static void main(String argv[]) {
- for (int i = 0; i < argv.length; i++) {
- CSSTokenizer scanner = null;
- try {
- scanner = new CSSTokenizer( new java.io.FileReader(argv[i]) );
- }
- catch (java.io.FileNotFoundException e) {
- System.out.println("File not found : \""+argv[i]+"\"");
- System.exit(1);
- }
- catch (java.io.IOException e) {
- System.out.println("Error opening file \""+argv[i]+"\"");
- System.exit(1);
- }
- catch (ArrayIndexOutOfBoundsException e) {
- System.out.println("Usage : java CSSTokenizer <inputfile>");
- System.exit(1);
- }
-
- try {
- do {
- System.out.println(scanner.primGetNextToken());
- } while (!scanner.yy_atEOF);
-
- }
- catch (java.io.IOException e) {
- System.out.println("An I/O error occured while scanning :");
- System.out.println(e);
- System.exit(1);
- }
- catch (Exception e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
- }
+ /**
+ * Creates a new scanner There is also a java.io.InputStream version of
+ * this constructor.
+ *
+ * @param in
+ * the java.io.Reader to read input from.
+ */
+ public CSSTokenizer(java.io.Reader in) {
+ this.yy_reader = in;
+ }
+
+ /**
+ * Creates a new scanner. There is also java.io.Reader version of this
+ * constructor.
+ *
+ * @param in
+ * the java.io.Inputstream to read input from.
+ */
+ public CSSTokenizer(java.io.InputStream in) {
+ this(new java.io.InputStreamReader(in));
+ }
+
+ /**
+ * Unpacks the compressed DFA transition table.
+ *
+ * @param packed
+ * the packed transition table
+ * @return the unpacked transition table
+ */
+ private static int[] yy_unpack(String packed) {
+ int[] trans = new int[20709];
+ int i = 0; /* index in packed string */
+ int j = 0; /* index in unpacked array */
+ while (i < 13392) {
+ int count = packed.charAt(i++);
+ int value = packed.charAt(i++);
+ value--;
+ do
+ trans[j++] = value;
+ while (--count > 0);
+ }
+ return trans;
+ }
+
+ /**
+ * Unpacks the compressed character translation table.
+ *
+ * @param packed
+ * the packed character translation table
+ * @return the unpacked character translation table
+ */
+ private static char[] yy_unpack_cmap(String packed) {
+ char[] map = new char[0x10000];
+ int i = 0; /* index in packed string */
+ int j = 0; /* index in unpacked array */
+ while (i < 170) {
+ int count = packed.charAt(i++);
+ char value = packed.charAt(i++);
+ do
+ map[j++] = value;
+ while (--count > 0);
+ }
+ return map;
+ }
+
+
+ /**
+ * Gets the next input character.
+ *
+ * @return the next character of the input stream, EOF if the end of the
+ * stream is reached.
+ * @exception IOException
+ * if any I/O-Error occurs
+ */
+ private int yy_advance() throws java.io.IOException {
+
+ /* standard case */
+ if (yy_currentPos < yy_endRead)
+ return yy_buffer[yy_currentPos++];
+
+ /* if the eof is reached, we don't need to work hard */
+ if (yy_atEOF)
+ return YYEOF;
+
+ /* otherwise: need to refill the buffer */
+
+ /* first: make room (if you can) */
+ if (yy_startRead > 0) {
+ System.arraycopy(yy_buffer, yy_startRead, yy_buffer, 0, yy_endRead - yy_startRead);
+
+ /* translate stored positions */
+ yy_endRead -= yy_startRead;
+ yy_currentPos -= yy_startRead;
+ yy_markedPos -= yy_startRead;
+ yy_pushbackPos -= yy_startRead;
+ yy_startRead = 0;
+ }
+
+ /* is the buffer big enough? */
+ if (yy_currentPos >= yy_buffer.length) {
+ /* if not: blow it up */
+ char newBuffer[] = new char[yy_currentPos * 2];
+ System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
+ yy_buffer = newBuffer;
+ }
+
+ /* finally: fill the buffer with new input */
+ int numRead = yy_reader.read(yy_buffer, yy_endRead, yy_buffer.length - yy_endRead);
+
+ if (numRead == -1)
+ return YYEOF;
+
+ yy_endRead += numRead;
+
+ return yy_buffer[yy_currentPos++];
+ }
+
+
+ /**
+ * Closes the input stream.
+ */
+ final public void yyclose() throws java.io.IOException {
+ yy_atEOF = true; /* indicate end of file */
+ yy_endRead = yy_startRead; /* invalidate buffer */
+ yy_reader.close();
+ }
+
+
+ /**
+ * Returns the current lexical state.
+ */
+ final public int yystate() {
+ return yy_lexical_state;
+ }
+
+ /**
+ * Enters a new lexical state
+ *
+ * @param newState
+ * the new lexical state
+ */
+ final public void yybegin(int newState) {
+ yy_lexical_state = newState;
+ }
+
+
+ /**
+ * Returns the text matched by the current regular expression.
+ */
+ final public String yytext() {
+ return new String(yy_buffer, yy_startRead, yy_markedPos - yy_startRead);
+ }
+
+ /**
+ * Returns the length of the matched text region.
+ */
+ final public int yylength() {
+ return yy_markedPos - yy_startRead;
+ }
+
+
+ /**
+ * Reports an error that occured while scanning.
+ *
+ * @param errorCode
+ * the code of the errormessage to display
+ */
+ private void yy_ScanError(int errorCode) {
+ try {
+ System.out.println(YY_ERROR_MSG[errorCode]);
+ }
+ catch (ArrayIndexOutOfBoundsException e) {
+ System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
+ }
+
+
+ }
+
+
+ /**
+ * Pushes the specified amount of characters back into the input stream.
+ *
+ * They will be read again by then next call of the scanning method
+ *
+ * @param number
+ * the number of characters to be read again. This number must
+ * not be greater than yylength()!
+ */
+ // private void yypushback(int number) {
+ // if ( number > yylength() )
+ // yy_ScanError(YY_PUSHBACK_2BIG);
+ //
+ // yy_markedPos -= number;
+ // }
+
+ /**
+ * Resumes scanning until the next regular expression is matched, the end
+ * of input is encountered or an I/O-Error occurs.
+ *
+ * @return the next token
+ * @exception IOException
+ * if any I/O-Error occurs
+ */
+ public String primGetNextToken() throws java.io.IOException {
+ int yy_input;
+ int yy_action;
+
+ yy_pushbackPos = -1;
+ boolean yy_was_pushback;
+
+ while (true) {
+
+ yychar += yylength();
+
+ boolean yy_counted = false;
+ for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos; yy_currentPos++) {
+ switch (yy_buffer[yy_currentPos]) {
+ case '\r' :
+ yyline++;
+ yy_counted = true;
+ break;
+ case '\n' :
+ if (yy_counted)
+ yy_counted = false;
+ else {
+ yyline++;
+ }
+ break;
+ default :
+ yy_counted = false;
+ }
+ }
+
+ if (yy_counted) {
+ if (yy_advance() == '\n')
+ yyline--;
+ if (!yy_atEOF)
+ yy_currentPos--;
+ }
+
+ yy_action = -1;
+
+ yy_currentPos = yy_startRead = yy_markedPos;
+
+ yy_state = yy_lexical_state;
+
+ yy_was_pushback = false;
+
+ yy_forAction : {
+ while (true) {
+
+ yy_input = yy_advance();
+
+ if (yy_input == YYEOF)
+ break yy_forAction;
+
+ int yy_next = yytrans[yy_rowMap[yy_state] + yycmap[yy_input]];
+ if (yy_next == -1)
+ break yy_forAction;
+ yy_state = yy_next;
+
+ int yy_attributes = YY_ATTRIBUTE[yy_state];
+ if ((yy_attributes & 2) > 0)
+ yy_pushbackPos = yy_currentPos;
+
+ if ((yy_attributes & 1) > 0) {
+ yy_was_pushback = (yy_attributes & 4) > 0;
+ yy_action = yy_state;
+ yy_markedPos = yy_currentPos;
+ if ((yy_attributes & 8) > 0)
+ break yy_forAction;
+ }
+
+ }
+ }
+
+ if (yy_was_pushback)
+ yy_markedPos = yy_pushbackPos;
+
+ switch (yy_action) {
+
+ case 416 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_IMPORTANT;
+ }
+ case 428 :
+ break;
+ case 407 : {
+ yybegin(ST_FONT_FACE_DELIMITER);
+ return CSS_FONT_FACE;
+ }
+ case 429 :
+ break;
+ case 370 : {
+ yybegin(ST_CHARSET_NAME);
+ return CSS_CHARSET;
+ }
+ case 430 :
+ break;
+ case 330 : {
+ yybegin(ST_IMPORT_URI);
+ return CSS_IMPORT;
+ }
+ case 431 :
+ break;
+ case 292 : {
+ yybegin(ST_MEDIA_MEDIUM);
+ return CSS_MEDIA;
+ }
+ case 432 :
+ break;
+ case 285 :
+ case 322 :
+ case 393 :
+ case 395 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_URI;
+ }
+ case 433 :
+ break;
+ case 264 :
+ case 302 :
+ case 380 :
+ case 382 : {
+ yybegin(ST_IMPORT_MEDIUM);
+ return CSS_URI;
+ }
+ case 434 :
+ break;
+ case 250 : {
+ yybegin(ST_PAGE_PSEUDO_PAGE);
+ return CSS_PAGE;
+ }
+ case 435 :
+ break;
+ case 212 : {
+ return CSS_COMMENT;
+ }
+ case 436 :
+ break;
+ case 211 : {
+ return CSS_CDO;
+ }
+ case 437 :
+ break;
+ case 205 :
+ case 240 :
+ case 278 :
+ case 279 :
+ case 318 :
+ case 319 :
+ case 358 :
+ case 359 :
+ case 389 :
+ case 390 :
+ case 402 :
+ case 412 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_UNICODE_RANGE;
+ }
+ case 438 :
+ break;
+ case 159 : {
+ return CSS_CDC;
+ }
+ case 439 :
+ break;
+ case 156 : {
+ return CSS_DECLARATION_VALUE_S;
+ }
+ case 440 :
+ break;
+ case 150 :
+ case 204 :
+ case 239 :
+ case 277 :
+ case 317 :
+ case 357 :
+ case 388 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_HASH;
+ }
+ case 441 :
+ break;
+ case 146 :
+ case 199 :
+ case 202 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_STRING;
+ }
+ case 442 :
+ break;
+ case 57 :
+ case 126 :
+ case 187 :
+ case 230 :
+ case 268 :
+ case 308 :
+ case 348 : {
+ yybegin(ST_SELECTOR_ATTRIBUTE_OPERATOR);
+ return CSS_SELECTOR_ATTRIBUTE_NAME;
+ }
+ case 443 :
+ break;
+ case 56 : {
+ yybegin(ST_SELECTOR);
+ return CSS_SELECTOR_SEPARATOR;
+ }
+ case 444 :
+ break;
+ case 55 :
+ case 123 : {
+ yybegin(ST_SELECTOR);
+ return CSS_SELECTOR_COMBINATOR;
+ }
+ case 445 :
+ break;
+ case 52 : {
+ yybegin(ST_DECLARATION);
+ return CSS_LBRACE;
+ }
+ case 446 :
+ break;
+ case 49 :
+ case 121 :
+ case 186 :
+ case 229 :
+ case 267 :
+ case 307 :
+ case 347 : {
+ yybegin(ST_PAGE_DELIMITER);
+ return CSS_PAGE_SELECTOR;
+ }
+ case 447 :
+ break;
+ case 48 : {
+ yybegin(YYINITIAL);
+ return CSS_LBRACE;
+ }
+ case 448 :
+ break;
+ case 47 : {
+ yybegin(ST_MEDIA_MEDIUM);
+ return CSS_MEDIA_SEPARATOR;
+ }
+ case 449 :
+ break;
+ case 44 :
+ case 119 :
+ case 185 :
+ case 228 :
+ case 266 :
+ case 306 :
+ case 346 : {
+ yybegin(ST_MEDIA_DELIMITER);
+ return CSS_MEDIUM;
+ }
+ case 450 :
+ break;
+ case 43 : {
+ yybegin(ST_IMPORT_MEDIUM);
+ return CSS_MEDIA_SEPARATOR;
+ }
+ case 451 :
+ break;
+ case 20 :
+ case 89 :
+ case 158 :
+ case 208 :
+ case 244 :
+ case 287 :
+ case 326 : {
+ yybegin(ST_SELECTOR_MODIFIER);
+ return CSS_SELECTOR_ELEMENT_NAME;
+ }
+ case 452 :
+ break;
+ case 22 :
+ case 54 :
+ case 87 :
+ case 124 :
+ case 157 : {
+ return CSS_S;
+ }
+ case 453 :
+ break;
+ case 27 : {
+ yybegin(YYINITIAL);
+ return CSS_RBRACE;
+ }
+ case 454 :
+ break;
+ case 29 : {
+ yybegin(ST_SELECTOR_MODIFIER);
+ return CSS_SELECTOR_UNIVERSAL;
+ }
+ case 455 :
+ break;
+ case 32 : {
+ yybegin(ST_SELECTOR_ATTRIBUTE_NAME);
+ return CSS_SELECTOR_ATTRIBUTE_START;
+ }
+ case 456 :
+ break;
+ case 36 : {
+ yybegin(YYINITIAL);
+ return CSS_DELIMITER;
+ }
+ case 457 :
+ break;
+ case 40 :
+ case 117 :
+ case 184 :
+ case 227 :
+ case 265 :
+ case 305 :
+ case 345 : {
+ yybegin(ST_IMPORT_DELIMITER);
+ return CSS_MEDIUM;
+ }
+ case 458 :
+ break;
+ case 60 : {
+ yybegin(ST_SELECTOR_ATTRIBUTE_VALUE);
+ return CSS_SELECTOR_ATTRIBUTE_OPERATOR;
+ }
+ case 459 :
+ break;
+ case 62 : {
+ yybegin(ST_SELECTOR_MODIFIER);
+ return CSS_SELECTOR_ATTRIBUTE_END;
+ }
+ case 460 :
+ break;
+ case 63 :
+ case 128 :
+ case 131 :
+ case 188 :
+ case 190 :
+ case 193 :
+ case 231 :
+ case 269 :
+ case 309 :
+ case 349 : {
+ yybegin(ST_SELECTOR_ATTRIBUTE_END);
+ return CSS_SELECTOR_ATTRIBUTE_VALUE;
+ }
+ case 461 :
+ break;
+ case 68 :
+ case 135 :
+ case 195 :
+ case 234 :
+ case 272 :
+ case 312 :
+ case 352 : {
+ yybegin(ST_DECLARATION_SEPARATOR);
+ return CSS_DECLARATION_PROPERTY;
+ }
+ case 462 :
+ break;
+ case 71 : {
+ yybegin(ST_DECLARATION);
+ return CSS_DECLARATION_DELIMITER;
+ }
+ case 463 :
+ break;
+ case 72 : {
+ yybegin(ST_DECLARATION_PRE_VALUE);
+ return CSS_DECLARATION_SEPARATOR;
+ }
+ case 464 :
+ break;
+ case 73 :
+ case 149 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_NUMBER;
+ }
+ case 465 :
+ break;
+ case 74 :
+ case 83 :
+ case 143 :
+ case 153 :
+ case 197 :
+ case 206 :
+ case 236 :
+ case 274 :
+ case 314 :
+ case 354 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_IDENT;
+ }
+ case 466 :
+ break;
+ case 79 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE;
+ }
+ case 467 :
+ break;
+ case 85 :
+ case 86 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_OPERATOR;
+ }
+ case 468 :
+ break;
+ case 91 :
+ case 160 :
+ case 209 :
+ case 245 :
+ case 288 :
+ case 327 :
+ case 368 : {
+ yybegin(ST_SELECTOR_MODIFIER);
+ return CSS_SELECTOR_CLASS;
+ }
+ case 469 :
+ break;
+ case 93 :
+ case 161 :
+ case 210 :
+ case 246 :
+ case 289 :
+ case 328 :
+ case 369 : {
+ yybegin(ST_SELECTOR_MODIFIER);
+ return CSS_SELECTOR_ID;
+ }
+ case 470 :
+ break;
+ case 102 :
+ case 170 :
+ case 221 :
+ case 253 :
+ case 255 :
+ case 295 :
+ case 333 :
+ case 373 : {
+ yybegin(ST_SELECTOR_MODIFIER);
+ return CSS_SELECTOR_PSEUDO;
+ }
+ case 471 :
+ break;
+ case 107 :
+ case 172 :
+ case 175 : {
+ yybegin(ST_CHARSET_DELIMITER);
+ return CSS_STRING;
+ }
+ case 472 :
+ break;
+ case 112 :
+ case 178 :
+ case 181 : {
+ yybegin(ST_IMPORT_MEDIUM);
+ return CSS_STRING;
+ }
+ case 473 :
+ break;
+ case 136 :
+ case 196 :
+ case 235 :
+ case 273 :
+ case 313 :
+ case 353 :
+ case 385 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_DIMENSION;
+ }
+ case 474 :
+ break;
+ case 140 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_PERCENTAGE;
+ }
+ case 475 :
+ break;
+ case 142 :
+ case 242 : {
+ yybegin(ST_DECLARATION_VALUE);
+ return CSS_DECLARATION_VALUE_FUNCTION;
+ }
+ case 476 :
+ break;
+ case 19 :
+ case 21 :
+ case 23 :
+ case 24 :
+ case 25 :
+ case 26 :
+ case 28 :
+ case 30 :
+ case 31 :
+ case 33 :
+ case 34 :
+ case 35 :
+ case 37 :
+ case 38 :
+ case 39 :
+ case 41 :
+ case 42 :
+ case 45 :
+ case 46 :
+ case 50 :
+ case 51 :
+ case 53 :
+ case 58 :
+ case 59 :
+ case 61 :
+ case 64 :
+ case 65 :
+ case 66 :
+ case 67 :
+ case 69 :
+ case 70 :
+ case 75 :
+ case 76 :
+ case 77 :
+ case 78 :
+ case 80 :
+ case 81 :
+ case 82 :
+ case 84 : {
+ return UNDEFINED;
+ }
+ case 477 :
+ break;
+ default :
+ if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
+ yy_atEOF = true;
+ return null;
+ }
+ else {
+ yy_ScanError(YY_NO_MATCH);
+ }
+ }
+ }
+ }
+
+ /**
+ * Runs the scanner on input files.
+ *
+ * This main method is the debugging routine for the scanner. It prints
+ * each returned token to System.out until the end of file is reached, or
+ * an error occured.
+ *
+ * @param argv
+ * the command line, contains the filenames to run the scanner
+ * on.
+ */
+ public static void main(String argv[]) {
+ for (int i = 0; i < argv.length; i++) {
+ CSSTokenizer scanner = null;
+ try {
+ scanner = new CSSTokenizer(new java.io.FileReader(argv[i]));
+ }
+ catch (java.io.FileNotFoundException e) {
+ System.out.println("File not found : \"" + argv[i] + "\"");
+ }
+ // catch (java.io.IOException e) {
+ // System.out.println("Error opening file \""+argv[i]+"\"");
+ //
+ // }
+ catch (ArrayIndexOutOfBoundsException e) {
+ System.out.println("Usage : java CSSTokenizer <inputfile>");
+ }
+
+ try {
+ do {
+ System.out.println(scanner.primGetNextToken());
+ }
+ while (!scanner.yy_atEOF);
+
+ }
+ catch (java.io.IOException e) {
+ System.out.println("An I/O error occured while scanning :");
+ System.out.println(e);
+
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+
+ }
+ }
+ }
}

Back to the top