2 * Copyright 2000-2009 JetBrains s.r.o.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 /* The following code was generated by JFlex 1.4.1 on 20.08.07 15:46 */
19 /* It's an automatically generated code. Do not modify it. */
20 package org
.intellij
.lang
.xpath
;
22 import com
.intellij
.lexer
.FlexLexer
;
23 import com
.intellij
.psi
.tree
.IElementType
;
25 @SuppressWarnings({"ALL"})
28 * This class is a scanner generated by
29 * <a href="http://www.jflex.de/">JFlex</a> 1.4.1
30 * on 20.08.07 15:46 from the specification file
31 * <tt>C:/work/java/idea-plugins/XPathView/xpath-lang/src/org/intellij/lang/xpath/xpath-lexer.flex</tt>
33 class _XPathLexer
implements FlexLexer
{
34 /** initial size of the lookahead buffer */
35 private static final int ZZ_BUFFERSIZE
= 16384;
38 public static final int VAR
= 3;
39 public static final int FUNC
= 2;
40 public static final int YYINITIAL
= 0;
41 public static final int S1
= 1;
44 * Translates characters to character classes
46 private static final String ZZ_CMAP_PACKED
=
47 "\11\0\1\1\1\1\2\0\1\1\22\0\1\1\1\47\1\7\1\0"+
48 "\1\35\1\0\1\51\1\10\1\36\1\54\1\37\1\45\1\42\1\5"+
49 "\1\4\1\43\12\3\1\6\1\52\1\50\1\46\1\53\1\0\1\41"+
50 "\32\2\1\55\1\0\1\56\1\0\1\2\1\0\1\11\1\24\1\13"+
51 "\1\27\1\14\1\22\1\31\1\26\1\23\2\2\1\21\1\32\1\12"+
52 "\1\17\1\33\1\2\1\20\1\15\1\16\1\25\1\40\1\30\1\34"+
53 "\2\2\1\57\1\44\1\60\54\0\1\2\12\0\1\2\4\0\1\2"+
54 "\5\0\27\2\1\0\37\2\1\0\u013f\2\31\0\162\2\4\0\14\2"+
55 "\16\0\5\2\11\0\1\2\213\0\1\2\13\0\1\2\1\0\3\2"+
56 "\1\0\1\2\1\0\24\2\1\0\54\2\1\0\46\2\1\0\5\2"+
57 "\4\0\202\2\10\0\105\2\1\0\46\2\2\0\2\2\6\0\20\2"+
58 "\41\0\46\2\2\0\1\2\7\0\47\2\110\0\33\2\5\0\3\2"+
59 "\56\0\32\2\5\0\13\2\25\0\12\3\4\0\2\2\1\0\143\2"+
60 "\1\0\1\2\17\0\2\2\7\0\2\2\12\3\3\2\2\0\1\2"+
61 "\20\0\1\2\1\0\36\2\35\0\3\2\60\0\46\2\13\0\1\2"+
62 "\u0152\0\66\2\3\0\1\2\22\0\1\2\7\0\12\2\4\0\12\3"+
63 "\25\0\10\2\2\0\2\2\2\0\26\2\1\0\7\2\1\0\1\2"+
64 "\3\0\4\2\3\0\1\2\36\0\2\2\1\0\3\2\4\0\12\3"+
65 "\2\2\23\0\6\2\4\0\2\2\2\0\26\2\1\0\7\2\1\0"+
66 "\2\2\1\0\2\2\1\0\2\2\37\0\4\2\1\0\1\2\7\0"+
67 "\12\3\2\0\3\2\20\0\11\2\1\0\3\2\1\0\26\2\1\0"+
68 "\7\2\1\0\2\2\1\0\5\2\3\0\1\2\22\0\1\2\17\0"+
69 "\2\2\4\0\12\3\25\0\10\2\2\0\2\2\2\0\26\2\1\0"+
70 "\7\2\1\0\2\2\1\0\5\2\3\0\1\2\36\0\2\2\1\0"+
71 "\3\2\4\0\12\3\1\0\1\2\21\0\1\2\1\0\6\2\3\0"+
72 "\3\2\1\0\4\2\3\0\2\2\1\0\1\2\1\0\2\2\3\0"+
73 "\2\2\3\0\3\2\3\0\10\2\1\0\3\2\55\0\11\3\25\0"+
74 "\10\2\1\0\3\2\1\0\27\2\1\0\12\2\1\0\5\2\46\0"+
75 "\2\2\4\0\12\3\25\0\10\2\1\0\3\2\1\0\27\2\1\0"+
76 "\12\2\1\0\5\2\3\0\1\2\40\0\1\2\1\0\2\2\4\0"+
77 "\12\3\25\0\10\2\1\0\3\2\1\0\27\2\1\0\20\2\46\0"+
78 "\2\2\4\0\12\3\25\0\22\2\3\0\30\2\1\0\11\2\1\0"+
79 "\1\2\2\0\7\2\72\0\60\2\1\0\2\2\14\0\7\2\11\0"+
80 "\12\3\47\0\2\2\1\0\1\2\2\0\2\2\1\0\1\2\2\0"+
81 "\1\2\6\0\4\2\1\0\7\2\1\0\3\2\1\0\1\2\1\0"+
82 "\1\2\2\0\2\2\1\0\4\2\1\0\2\2\11\0\1\2\2\0"+
83 "\5\2\1\0\1\2\11\0\12\3\2\0\2\2\42\0\1\2\37\0"+
84 "\12\3\26\0\10\2\1\0\42\2\35\0\4\2\164\0\42\2\1\0"+
85 "\5\2\1\0\2\2\25\0\12\3\6\0\6\2\112\0\46\2\12\0"+
86 "\51\2\7\0\132\2\5\0\104\2\5\0\122\2\6\0\7\2\1\0"+
87 "\77\2\1\0\1\2\1\0\4\2\2\0\7\2\1\0\1\2\1\0"+
88 "\4\2\2\0\47\2\1\0\1\2\1\0\4\2\2\0\37\2\1\0"+
89 "\1\2\1\0\4\2\2\0\7\2\1\0\1\2\1\0\4\2\2\0"+
90 "\7\2\1\0\7\2\1\0\27\2\1\0\37\2\1\0\1\2\1\0"+
91 "\4\2\2\0\7\2\1\0\47\2\1\0\23\2\16\0\11\3\56\0"+
92 "\125\2\14\0\u026c\2\2\0\10\2\12\0\32\2\5\0\113\2\25\0"+
93 "\15\2\1\0\4\2\16\0\22\2\16\0\22\2\16\0\15\2\1\0"+
94 "\3\2\17\0\64\2\43\0\1\2\4\0\1\2\3\0\12\3\46\0"+
95 "\12\3\6\0\130\2\10\0\51\2\127\0\35\2\51\0\12\3\36\2"+
96 "\2\0\5\2\u038b\0\154\2\224\0\234\2\4\0\132\2\6\0\26\2"+
97 "\2\0\6\2\2\0\46\2\2\0\6\2\2\0\10\2\1\0\1\2"+
98 "\1\0\1\2\1\0\1\2\1\0\37\2\2\0\65\2\1\0\7\2"+
99 "\1\0\1\2\3\0\3\2\1\0\7\2\3\0\4\2\2\0\6\2"+
100 "\4\0\15\2\5\0\3\2\1\0\7\2\164\0\1\2\15\0\1\2"+
101 "\202\0\1\2\4\0\1\2\2\0\12\2\1\0\1\2\3\0\5\2"+
102 "\6\0\1\2\1\0\1\2\1\0\1\2\1\0\4\2\1\0\3\2"+
103 "\1\0\7\2\3\0\3\2\5\0\5\2\u0ebb\0\2\2\52\0\5\2"+
104 "\5\0\2\2\4\0\126\2\6\0\3\2\1\0\132\2\1\0\4\2"+
105 "\5\0\50\2\4\0\136\2\21\0\30\2\70\0\20\2\u0200\0\u19b6\2"+
106 "\112\0\u51a6\2\132\0\u048d\2\u0773\0\u2ba4\2\u215c\0\u012e\2\2\0\73\2"+
107 "\225\0\7\2\14\0\5\2\5\0\1\2\1\0\12\2\1\0\15\2"+
108 "\1\0\5\2\1\0\1\2\1\0\2\2\1\0\2\2\1\0\154\2"+
109 "\41\0\u016b\2\22\0\100\2\2\0\66\2\50\0\14\2\164\0\5\2"+
110 "\1\0\207\2\23\0\12\3\7\0\32\2\6\0\32\2\13\0\131\2"+
111 "\3\0\6\2\2\0\6\2\2\0\6\2\2\0\3\2\43\0";
114 * Translates characters to character classes
116 private static final char [] ZZ_CMAP
= zzUnpackCMap(ZZ_CMAP_PACKED
);
119 * Translates DFA states to action switch labels.
121 private static final int [] ZZ_ACTION
= zzUnpackAction();
123 private static final String ZZ_ACTION_PACKED_0
=
124 "\4\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7"+
125 "\2\10\10\3\1\11\1\12\1\13\1\14\1\15\1\16"+
126 "\1\17\1\20\1\21\1\1\1\22\1\1\1\23\1\24"+
127 "\1\25\1\26\1\27\1\30\13\3\1\31\1\32\1\33"+
128 "\10\32\11\34\2\0\1\32\1\4\1\35\1\36\1\10"+
129 "\14\3\1\37\1\40\1\41\2\0\1\42\2\0\10\3"+
130 "\1\43\6\3\14\32\1\0\1\44\14\34\1\0\1\45"+
131 "\15\3\2\0\1\3\1\46\11\3\1\47\1\50\3\3"+
132 "\15\32\15\34\1\0\1\51\30\3\14\32\14\34\3\3"+
133 "\1\0\1\52\1\3\2\0\10\3\1\0\1\3\2\0"+
134 "\5\3\11\32\3\34\1\0\1\34\1\0\1\44\5\34"+
135 "\3\3\1\53\11\3\6\32\6\34\14\3\6\32\6\34"+
136 "\12\3\5\32\5\34\10\3\4\32\4\34\6\3\3\32"+
137 "\3\34\6\3\3\32\3\34\6\3\3\32\3\34\4\3"+
138 "\2\32\2\34\4\3\2\32\2\34\4\3\2\32\2\34"+
139 "\4\3\2\32\2\34\2\3\1\32\1\34\2\3\1\32"+
140 "\1\34\2\3\1\32\1\34\2\3\1\32\1\34\2\3"+
143 private static int [] zzUnpackAction() {
144 int [] result
= new int[466];
146 offset
= zzUnpackAction(ZZ_ACTION_PACKED_0
, offset
, result
);
150 private static int zzUnpackAction(String packed
, int offset
, int [] result
) {
151 int i
= 0; /* index in packed string */
152 int j
= offset
; /* index in unpacked array */
153 int l
= packed
.length();
155 int count
= packed
.charAt(i
++);
156 int value
= packed
.charAt(i
++);
157 do result
[j
++] = value
; while (--count
> 0);
164 * Translates a state to a row index in the transition table
166 private static final int [] ZZ_ROWMAP
= zzUnpackRowMap();
168 private static final String ZZ_ROWMAP_PACKED_0
=
169 "\0\0\0\61\0\142\0\223\0\304\0\365\0\u0126\0\u0157"+
170 "\0\u0188\0\304\0\u01b9\0\u01ea\0\u021b\0\u024c\0\u027d\0\u02ae"+
171 "\0\u02df\0\u0310\0\u0341\0\u0372\0\u03a3\0\304\0\304\0\304"+
172 "\0\304\0\304\0\u03d4\0\304\0\304\0\304\0\u0405\0\u0436"+
173 "\0\u0467\0\u0498\0\304\0\304\0\304\0\304\0\304\0\u04c9"+
174 "\0\u04fa\0\u052b\0\u055c\0\u058d\0\u05be\0\u05ef\0\u0620\0\u0651"+
175 "\0\u0682\0\u06b3\0\304\0\u06e4\0\u01b9\0\u0715\0\u0746\0\u0777"+
176 "\0\u07a8\0\u07d9\0\u080a\0\u083b\0\u086c\0\u089d\0\u08ce\0\u08ff"+
177 "\0\u0930\0\u0961\0\u0992\0\u09c3\0\u09f4\0\u0a25\0\u0a56\0\u0a87"+
178 "\0\304\0\u0ab8\0\304\0\304\0\304\0\u0ae9\0\u0b1a\0\u0b4b"+
179 "\0\u0b7c\0\u0bad\0\u0bde\0\u0c0f\0\u0c40\0\u0c71\0\u0ca2\0\u0cd3"+
180 "\0\u0d04\0\304\0\304\0\304\0\u0d35\0\u0d66\0\304\0\u0d97"+
181 "\0\u0dc8\0\u0df9\0\u0e2a\0\u0e5b\0\u0e8c\0\u0ebd\0\u0eee\0\u0f1f"+
182 "\0\u0f50\0\u04c9\0\u0f81\0\u0fb2\0\u0fe3\0\u1014\0\u1045\0\u1076"+
183 "\0\u10a7\0\u10d8\0\u1109\0\u113a\0\u116b\0\u119c\0\u11cd\0\u11fe"+
184 "\0\u122f\0\u1260\0\u1291\0\u12c2\0\u12f3\0\u0dc8\0\u1324\0\u1355"+
185 "\0\u1386\0\u13b7\0\u13e8\0\u1419\0\u144a\0\u147b\0\u14ac\0\u14dd"+
186 "\0\u150e\0\u153f\0\u1570\0\304\0\u15a1\0\u15d2\0\u1603\0\u1634"+
187 "\0\u1665\0\u1696\0\u16c7\0\u16f8\0\u1729\0\u175a\0\u178b\0\u17bc"+
188 "\0\u17ed\0\u181e\0\u184f\0\u1880\0\u04c9\0\u18b1\0\u18e2\0\u1913"+
189 "\0\u1944\0\u1975\0\u19a6\0\u19d7\0\u1a08\0\u1a39\0\u04c9\0\u04c9"+
190 "\0\u1a6a\0\u1a9b\0\u1acc\0\u1afd\0\u1b2e\0\u1b5f\0\u1b90\0\u1bc1"+
191 "\0\u1bf2\0\u1c23\0\u1c54\0\u1c85\0\u1cb6\0\u1ce7\0\u1d18\0\u1d49"+
192 "\0\u1d7a\0\u1dab\0\u1ddc\0\u1e0d\0\u1e3e\0\u1e6f\0\u1ea0\0\u1ed1"+
193 "\0\u1f02\0\u1f33\0\u1f64\0\u1f95\0\u1fc6\0\u1ff7\0\304\0\u2028"+
194 "\0\u2059\0\u208a\0\u20bb\0\u20ec\0\u211d\0\u214e\0\u217f\0\u21b0"+
195 "\0\u21e1\0\u2212\0\u2243\0\u2274\0\u22a5\0\u22d6\0\u2307\0\u2338"+
196 "\0\u2369\0\u239a\0\u23cb\0\u23fc\0\u242d\0\u245e\0\u248f\0\u24c0"+
197 "\0\u24f1\0\u2522\0\u2553\0\u2584\0\u25b5\0\u25e6\0\u2617\0\u2648"+
198 "\0\u2679\0\u26aa\0\u26db\0\u270c\0\u273d\0\u276e\0\u279f\0\u27d0"+
199 "\0\u2801\0\u2832\0\u2863\0\u2894\0\u28c5\0\u28f6\0\u2927\0\u2958"+
200 "\0\u2989\0\u29ba\0\u29eb\0\304\0\u2a1c\0\u2a4d\0\u2a7e\0\u2aaf"+
201 "\0\u2ae0\0\u2b11\0\u2b42\0\u2b73\0\u2ba4\0\u2bd5\0\u2c06\0\u2c37"+
202 "\0\u2c68\0\u2c99\0\u2cca\0\u2cfb\0\u2d2c\0\u2d5d\0\u2d8e\0\u2dbf"+
203 "\0\u2df0\0\u2e21\0\u2e52\0\u2e83\0\u2eb4\0\u2ee5\0\u2f16\0\u2f47"+
204 "\0\u2f78\0\u2fa9\0\u2fda\0\u300b\0\u303c\0\u306d\0\u309e\0\u2cca"+
205 "\0\u30cf\0\u3100\0\u3131\0\u3162\0\u3193\0\u31c4\0\u31f5\0\u3226"+
206 "\0\304\0\u3257\0\u3288\0\u32b9\0\u32ea\0\u331b\0\u334c\0\u337d"+
207 "\0\u33ae\0\u33df\0\u3410\0\u3441\0\u3472\0\u34a3\0\u34d4\0\u3505"+
208 "\0\u3536\0\u3567\0\u3598\0\u35c9\0\u35fa\0\u362b\0\u365c\0\u368d"+
209 "\0\u36be\0\u36ef\0\u3720\0\u3751\0\u3782\0\u37b3\0\u37e4\0\u3815"+
210 "\0\u3846\0\u3877\0\u38a8\0\u38d9\0\u390a\0\u393b\0\u396c\0\u399d"+
211 "\0\u39ce\0\u39ff\0\u3a30\0\u3a61\0\u3a92\0\u3ac3\0\u3af4\0\u3b25"+
212 "\0\u3b56\0\u3b87\0\u3bb8\0\u3be9\0\u3c1a\0\u3c4b\0\u3c7c\0\u3cad"+
213 "\0\u3cde\0\u3d0f\0\u3d40\0\u3d71\0\u3da2\0\u3dd3\0\u3e04\0\u3e35"+
214 "\0\u3e66\0\u3e97\0\u3ec8\0\u3ef9\0\u3f2a\0\u3f5b\0\u3f8c\0\u3fbd"+
215 "\0\u3fee\0\u401f\0\u4050\0\u4081\0\u40b2\0\u40e3\0\u4114\0\u4145"+
216 "\0\u4176\0\u41a7\0\u41d8\0\u4209\0\u423a\0\u426b\0\u429c\0\u42cd"+
217 "\0\u42fe\0\u432f\0\u4360\0\u4391\0\u43c2\0\u43f3\0\u4424\0\u4455"+
218 "\0\u4486\0\u44b7\0\u44e8\0\u4519\0\u454a\0\u457b\0\u45ac\0\u45dd"+
219 "\0\u460e\0\u463f\0\u4670\0\u46a1\0\u46d2\0\u4703\0\u4734\0\u4765"+
220 "\0\u4796\0\u47c7\0\u47f8\0\u4829\0\u485a\0\u488b\0\u48bc\0\u48ed"+
221 "\0\u491e\0\u494f\0\u4980\0\u49b1\0\u49e2\0\u4a13\0\u4a44\0\u4a75"+
222 "\0\u4aa6\0\u4ad7\0\u4b08\0\u4b39\0\u4b6a\0\u4b9b\0\u4bcc\0\u4bfd"+
223 "\0\u4c2e\0\u4c5f\0\u4c90\0\u4cc1\0\u4cf2\0\u4d23\0\u4d54\0\u4d85"+
224 "\0\u4db6\0\u4de7\0\u4e18\0\u4e49\0\u4e7a\0\u4eab\0\u4edc\0\u4f0d"+
225 "\0\u4f3e\0\u4f6f\0\u4fa0\0\u4fd1\0\u5002\0\u5033\0\u5064\0\u5095"+
226 "\0\u50c6\0\u50f7\0\u5128\0\u5159\0\u518a\0\u51bb\0\u51ec\0\u521d"+
229 private static int [] zzUnpackRowMap() {
230 int [] result
= new int[466];
232 offset
= zzUnpackRowMap(ZZ_ROWMAP_PACKED_0
, offset
, result
);
236 private static int zzUnpackRowMap(String packed
, int offset
, int [] result
) {
237 int i
= 0; /* index in packed string */
238 int j
= offset
; /* index in unpacked array */
239 int l
= packed
.length();
241 int high
= packed
.charAt(i
++) << 16;
242 result
[j
++] = high
| packed
.charAt(i
++);
248 * The transition table of the DFA
250 private static final int [] ZZ_TRANS
= zzUnpackTrans();
252 private static final String ZZ_TRANS_PACKED_0
=
253 "\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14"+
254 "\1\15\1\16\1\17\1\20\1\7\1\21\1\22\3\7"+
255 "\1\23\4\7\1\24\3\7\1\25\1\7\1\26\1\27"+
256 "\1\30\1\7\1\31\1\32\1\33\1\34\1\35\1\36"+
257 "\1\37\1\40\1\41\1\5\1\42\1\43\1\44\1\45"+
258 "\1\46\1\47\1\5\1\6\1\50\1\10\1\11\1\12"+
259 "\1\13\1\14\1\15\1\51\1\52\1\53\1\50\1\54"+
260 "\1\55\1\56\2\50\1\57\4\50\1\60\2\50\1\61"+
261 "\1\62\1\50\1\26\1\27\1\63\1\50\1\31\1\32"+
262 "\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\5"+
263 "\1\42\1\43\1\44\1\45\1\46\1\47\1\5\1\6"+
264 "\1\64\1\10\1\11\1\12\1\65\1\14\1\15\1\66"+
265 "\1\67\1\70\1\64\1\71\1\72\3\64\1\73\4\64"+
266 "\1\74\3\64\1\75\1\64\1\26\1\27\1\5\1\64"+
267 "\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40"+
268 "\1\41\1\5\1\42\1\43\1\44\1\45\1\46\1\47"+
269 "\1\5\1\6\1\76\1\10\1\11\1\12\1\65\1\14"+
270 "\1\15\1\77\1\100\1\101\1\76\1\102\1\103\3\76"+
271 "\1\104\4\76\1\105\3\76\1\106\1\76\1\26\1\27"+
272 "\1\5\1\76\1\31\1\32\1\33\1\34\1\35\1\36"+
273 "\1\37\1\40\1\41\1\5\1\42\1\43\1\44\1\45"+
274 "\1\46\1\47\62\0\1\6\60\0\1\107\4\7\1\110"+
275 "\2\0\24\7\1\0\1\111\1\0\1\7\23\0\1\10"+
276 "\1\112\57\0\1\112\1\113\62\0\1\114\52\0\7\14"+
277 "\1\115\51\14\10\15\1\115\50\15\1\0\1\107\4\7"+
278 "\1\110\2\0\1\7\1\116\3\7\1\117\16\7\1\0"+
279 "\1\111\1\0\1\7\21\0\1\107\4\7\1\110\2\0"+
280 "\1\120\5\7\1\121\15\7\1\0\1\111\1\0\1\7"+
281 "\21\0\1\107\4\7\1\110\2\0\6\7\1\122\6\7"+
282 "\1\123\6\7\1\0\1\111\1\0\1\7\21\0\1\107"+
283 "\4\7\1\110\2\0\3\7\1\124\20\7\1\0\1\111"+
284 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\3\7"+
285 "\1\125\20\7\1\0\1\111\1\0\1\7\21\0\1\107"+
286 "\4\7\1\110\2\0\6\7\1\126\15\7\1\0\1\111"+
287 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\3\7"+
288 "\1\127\20\7\1\0\1\111\1\0\1\7\21\0\1\107"+
289 "\4\7\1\110\2\0\1\130\6\7\1\131\14\7\1\0"+
290 "\1\111\1\0\1\7\63\0\1\132\63\0\1\133\60\0"+
291 "\1\134\33\0\1\135\7\0\1\136\75\0\1\137\13\0"+
292 "\1\140\4\50\1\141\2\0\24\50\3\0\1\50\21\0"+
293 "\1\140\4\50\1\141\2\0\1\50\1\142\3\50\1\143"+
294 "\16\50\3\0\1\50\21\0\1\140\4\50\1\141\2\0"+
295 "\1\144\5\50\1\145\15\50\3\0\1\50\21\0\1\140"+
296 "\4\50\1\141\2\0\6\50\1\146\6\50\1\147\6\50"+
297 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\3\50"+
298 "\1\150\20\50\3\0\1\50\21\0\1\140\4\50\1\141"+
299 "\2\0\3\50\1\151\20\50\3\0\1\50\21\0\1\140"+
300 "\4\50\1\141\2\0\7\50\1\152\14\50\3\0\1\50"+
301 "\21\0\1\140\4\50\1\141\2\0\6\50\1\153\15\50"+
302 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\3\50"+
303 "\1\154\6\50\1\155\11\50\3\0\1\50\21\0\1\140"+
304 "\4\50\1\141\2\0\6\50\1\156\15\50\3\0\1\50"+
305 "\21\0\1\140\4\50\1\141\2\0\1\157\6\50\1\160"+
306 "\14\50\3\0\1\50\21\0\1\140\4\64\1\141\2\0"+
307 "\24\64\3\0\1\64\21\0\1\140\4\64\1\141\2\0"+
308 "\1\64\1\161\3\64\1\162\16\64\3\0\1\64\21\0"+
309 "\1\140\4\64\1\141\2\0\1\163\5\64\1\164\15\64"+
310 "\3\0\1\64\21\0\1\140\4\64\1\141\2\0\6\64"+
311 "\1\165\6\64\1\166\6\64\3\0\1\64\21\0\1\140"+
312 "\4\64\1\141\2\0\3\64\1\167\20\64\3\0\1\64"+
313 "\21\0\1\140\4\64\1\141\2\0\3\64\1\170\20\64"+
314 "\3\0\1\64\21\0\1\140\4\64\1\141\2\0\6\64"+
315 "\1\171\15\64\3\0\1\64\21\0\1\140\4\64\1\141"+
316 "\2\0\3\64\1\172\20\64\3\0\1\64\21\0\1\140"+
317 "\4\64\1\141\2\0\1\173\6\64\1\174\14\64\3\0"+
318 "\1\64\21\0\1\175\4\76\1\176\2\0\24\76\3\0"+
319 "\1\76\21\0\1\175\4\76\1\176\2\0\1\76\1\177"+
320 "\3\76\1\200\16\76\3\0\1\76\21\0\1\175\4\76"+
321 "\1\176\2\0\1\201\5\76\1\202\15\76\3\0\1\76"+
322 "\21\0\1\175\4\76\1\176\2\0\6\76\1\203\6\76"+
323 "\1\204\6\76\3\0\1\76\21\0\1\175\4\76\1\176"+
324 "\2\0\3\76\1\205\20\76\3\0\1\76\21\0\1\175"+
325 "\4\76\1\176\2\0\3\76\1\206\20\76\3\0\1\76"+
326 "\21\0\1\175\4\76\1\176\2\0\6\76\1\207\15\76"+
327 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\3\76"+
328 "\1\210\20\76\3\0\1\76\21\0\1\175\4\76\1\176"+
329 "\2\0\1\211\6\76\1\212\14\76\3\0\1\76\21\0"+
330 "\1\107\4\0\1\110\27\0\1\111\24\0\1\213\3\0"+
331 "\1\214\2\0\24\213\3\0\1\213\23\0\1\112\56\0"+
332 "\1\107\4\7\1\110\2\0\2\7\1\215\21\7\1\0"+
333 "\1\111\1\0\1\7\21\0\1\107\4\7\1\110\2\0"+
334 "\5\7\1\216\16\7\1\0\1\111\1\0\1\7\21\0"+
335 "\1\107\4\7\1\110\2\0\21\7\1\217\2\7\1\0"+
336 "\1\111\1\0\1\7\21\0\1\107\4\7\1\110\2\0"+
337 "\16\7\1\220\5\7\1\0\1\111\1\0\1\7\21\0"+
338 "\1\107\4\7\1\110\2\0\21\7\1\221\2\7\1\0"+
339 "\1\111\1\0\1\7\21\0\1\107\4\7\1\110\2\0"+
340 "\12\7\1\222\11\7\1\0\1\111\1\0\1\7\21\0"+
341 "\1\107\4\7\1\110\2\0\10\7\1\223\13\7\1\0"+
342 "\1\111\1\0\1\7\21\0\1\107\4\7\1\110\2\0"+
343 "\23\7\1\224\1\0\1\111\1\0\1\7\21\0\1\107"+
344 "\4\7\1\110\2\0\10\7\1\225\13\7\1\0\1\111"+
345 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\4\7"+
346 "\1\226\17\7\1\0\1\111\1\0\1\7\21\0\1\107"+
347 "\4\7\1\110\2\0\7\7\1\227\14\7\1\0\1\111"+
348 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\3\7"+
349 "\1\230\2\7\1\231\15\7\1\0\1\111\1\0\1\7"+
350 "\36\0\1\232\60\0\1\233\43\0\1\140\4\0\1\141"+
351 "\60\0\1\214\53\0\1\140\4\50\1\141\2\0\2\50"+
352 "\1\234\13\50\1\235\5\50\3\0\1\50\21\0\1\140"+
353 "\4\50\1\141\2\0\5\50\1\236\16\50\3\0\1\50"+
354 "\21\0\1\140\4\50\1\141\2\0\21\50\1\237\2\50"+
355 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\16\50"+
356 "\1\240\5\50\3\0\1\50\21\0\1\140\4\50\1\141"+
357 "\2\0\21\50\1\241\2\50\3\0\1\50\21\0\1\140"+
358 "\4\50\1\141\2\0\12\50\1\242\11\50\3\0\1\50"+
359 "\21\0\1\140\4\50\1\141\2\0\10\50\1\243\13\50"+
360 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\23\50"+
361 "\1\244\3\0\1\50\21\0\1\140\4\50\1\141\2\0"+
362 "\10\50\1\245\13\50\3\0\1\50\21\0\1\140\4\50"+
363 "\1\141\2\0\4\50\1\246\17\50\3\0\1\50\21\0"+
364 "\1\140\4\50\1\141\2\0\24\50\3\0\1\247\21\0"+
365 "\1\140\4\50\1\141\2\0\16\50\1\250\5\50\3\0"+
366 "\1\50\21\0\1\140\4\50\1\141\2\0\7\50\1\251"+
367 "\14\50\3\0\1\50\21\0\1\140\4\50\1\141\2\0"+
368 "\3\50\1\252\2\50\1\253\15\50\3\0\1\50\21\0"+
369 "\1\140\4\64\1\141\2\0\2\64\1\254\21\64\3\0"+
370 "\1\64\21\0\1\140\4\64\1\141\2\0\5\64\1\255"+
371 "\16\64\3\0\1\64\21\0\1\140\4\64\1\141\2\0"+
372 "\21\64\1\256\2\64\3\0\1\64\21\0\1\140\4\64"+
373 "\1\141\2\0\16\64\1\257\5\64\3\0\1\64\21\0"+
374 "\1\140\4\64\1\141\2\0\21\64\1\260\2\64\3\0"+
375 "\1\64\21\0\1\140\4\64\1\141\2\0\12\64\1\261"+
376 "\11\64\3\0\1\64\21\0\1\140\4\64\1\141\2\0"+
377 "\10\64\1\262\13\64\3\0\1\64\21\0\1\140\4\64"+
378 "\1\141\2\0\23\64\1\263\3\0\1\64\21\0\1\140"+
379 "\4\64\1\141\2\0\10\64\1\264\13\64\3\0\1\64"+
380 "\21\0\1\140\4\64\1\141\2\0\4\64\1\265\17\64"+
381 "\3\0\1\64\21\0\1\140\4\64\1\141\2\0\7\64"+
382 "\1\266\14\64\3\0\1\64\21\0\1\140\4\64\1\141"+
383 "\2\0\3\64\1\267\2\64\1\270\15\64\3\0\1\64"+
384 "\21\0\1\175\4\0\1\176\53\0\1\175\4\76\1\176"+
385 "\2\0\2\76\1\271\21\76\3\0\1\76\21\0\1\175"+
386 "\4\76\1\176\2\0\5\76\1\272\16\76\3\0\1\76"+
387 "\21\0\1\175\4\76\1\176\2\0\21\76\1\273\2\76"+
388 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\16\76"+
389 "\1\274\5\76\3\0\1\76\21\0\1\175\4\76\1\176"+
390 "\2\0\21\76\1\275\2\76\3\0\1\76\21\0\1\175"+
391 "\4\76\1\176\2\0\12\76\1\276\11\76\3\0\1\76"+
392 "\21\0\1\175\4\76\1\176\2\0\10\76\1\277\13\76"+
393 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\23\76"+
394 "\1\300\3\0\1\76\21\0\1\175\4\76\1\176\2\0"+
395 "\10\76\1\301\13\76\3\0\1\76\21\0\1\175\4\76"+
396 "\1\176\2\0\4\76\1\302\17\76\3\0\1\76\21\0"+
397 "\1\175\4\76\1\176\2\0\7\76\1\303\14\76\3\0"+
398 "\1\76\21\0\1\175\4\76\1\176\2\0\3\76\1\304"+
399 "\2\76\1\305\15\76\3\0\1\76\21\0\1\306\4\213"+
400 "\3\0\24\213\1\0\1\307\1\0\1\213\21\0\1\107"+
401 "\4\7\1\110\2\0\3\7\1\310\20\7\1\0\1\111"+
402 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\7\7"+
403 "\1\311\14\7\1\0\1\111\1\0\1\7\21\0\1\107"+
404 "\4\7\1\110\2\0\3\7\1\312\20\7\1\0\1\111"+
405 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\3\7"+
406 "\1\313\20\7\1\0\1\111\1\0\1\7\21\0\1\107"+
407 "\4\7\1\110\2\0\21\7\1\314\2\7\1\0\1\111"+
408 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\10\7"+
409 "\1\315\13\7\1\0\1\111\1\0\1\7\21\0\1\107"+
410 "\4\7\1\110\2\0\11\7\1\316\12\7\1\0\1\111"+
411 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\5\7"+
412 "\1\313\16\7\1\0\1\111\1\0\1\7\21\0\1\107"+
413 "\4\7\1\110\2\0\10\7\1\317\13\7\1\0\1\111"+
414 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\2\7"+
415 "\1\320\21\7\1\0\1\111\1\0\1\7\21\0\1\107"+
416 "\4\7\1\110\2\0\3\7\1\321\20\7\1\0\1\111"+
417 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\2\7"+
418 "\1\322\21\7\1\0\1\111\1\0\1\7\21\0\1\107"+
419 "\4\7\1\110\2\0\2\7\1\323\21\7\1\0\1\111"+
420 "\1\0\1\7\72\0\1\40\60\0\1\42\7\0\1\140"+
421 "\4\50\1\141\2\0\3\50\1\324\20\50\3\0\1\50"+
422 "\21\0\1\140\4\50\1\141\2\0\7\50\1\325\14\50"+
423 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\3\50"+
424 "\1\326\20\50\3\0\1\50\21\0\1\140\4\50\1\141"+
425 "\2\0\3\50\1\327\20\50\3\0\1\50\21\0\1\140"+
426 "\4\50\1\141\2\0\21\50\1\330\2\50\3\0\1\50"+
427 "\21\0\1\140\4\50\1\141\2\0\10\50\1\331\13\50"+
428 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\11\50"+
429 "\1\332\12\50\3\0\1\50\21\0\1\140\4\50\1\141"+
430 "\2\0\5\50\1\327\16\50\3\0\1\50\21\0\1\140"+
431 "\4\50\1\141\2\0\10\50\1\333\13\50\3\0\1\50"+
432 "\21\0\1\140\4\50\1\141\2\0\2\50\1\334\21\50"+
433 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\3\50"+
434 "\1\335\20\50\3\0\1\50\21\0\1\140\4\50\1\141"+
435 "\2\0\2\50\1\336\21\50\3\0\1\50\21\0\1\140"+
436 "\4\50\1\141\2\0\2\50\1\337\21\50\3\0\1\50"+
437 "\21\0\1\140\4\64\1\141\2\0\3\64\1\340\20\64"+
438 "\3\0\1\64\21\0\1\140\4\64\1\141\2\0\7\64"+
439 "\1\341\14\64\3\0\1\64\21\0\1\140\4\64\1\141"+
440 "\2\0\3\64\1\342\20\64\3\0\1\64\21\0\1\140"+
441 "\4\64\1\141\2\0\3\64\1\343\20\64\3\0\1\64"+
442 "\21\0\1\140\4\64\1\141\2\0\21\64\1\344\2\64"+
443 "\3\0\1\64\21\0\1\140\4\64\1\141\2\0\10\64"+
444 "\1\345\13\64\3\0\1\64\21\0\1\140\4\64\1\141"+
445 "\2\0\11\64\1\346\12\64\3\0\1\64\21\0\1\140"+
446 "\4\64\1\141\2\0\5\64\1\343\16\64\3\0\1\64"+
447 "\21\0\1\140\4\64\1\141\2\0\10\64\1\347\13\64"+
448 "\3\0\1\64\21\0\1\140\4\64\1\141\2\0\2\64"+
449 "\1\350\21\64\3\0\1\64\21\0\1\140\4\64\1\141"+
450 "\2\0\3\64\1\351\20\64\3\0\1\64\21\0\1\140"+
451 "\4\64\1\141\2\0\2\64\1\352\21\64\3\0\1\64"+
452 "\21\0\1\140\4\64\1\141\2\0\2\64\1\353\21\64"+
453 "\3\0\1\64\21\0\1\175\4\76\1\176\2\0\3\76"+
454 "\1\354\20\76\3\0\1\76\21\0\1\175\4\76\1\176"+
455 "\2\0\7\76\1\355\14\76\3\0\1\76\21\0\1\175"+
456 "\4\76\1\176\2\0\3\76\1\356\20\76\3\0\1\76"+
457 "\21\0\1\175\4\76\1\176\2\0\3\76\1\357\20\76"+
458 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\21\76"+
459 "\1\360\2\76\3\0\1\76\21\0\1\175\4\76\1\176"+
460 "\2\0\10\76\1\361\13\76\3\0\1\76\21\0\1\175"+
461 "\4\76\1\176\2\0\11\76\1\362\12\76\3\0\1\76"+
462 "\21\0\1\175\4\76\1\176\2\0\5\76\1\357\16\76"+
463 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\10\76"+
464 "\1\363\13\76\3\0\1\76\21\0\1\175\4\76\1\176"+
465 "\2\0\2\76\1\364\21\76\3\0\1\76\21\0\1\175"+
466 "\4\76\1\176\2\0\3\76\1\365\20\76\3\0\1\76"+
467 "\21\0\1\175\4\76\1\176\2\0\2\76\1\366\21\76"+
468 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\2\76"+
469 "\1\367\21\76\3\0\1\76\21\0\1\306\34\0\1\307"+
470 "\23\0\1\107\4\7\1\110\2\0\4\7\1\370\17\7"+
471 "\1\0\1\111\1\0\1\7\21\0\1\107\4\7\1\110"+
472 "\2\0\12\7\1\371\11\7\1\0\1\111\1\0\1\7"+
473 "\21\0\1\107\4\7\1\110\2\0\4\7\1\372\17\7"+
474 "\1\0\1\111\1\0\1\7\21\0\1\373\4\7\1\110"+
475 "\2\0\24\7\1\0\1\374\1\0\1\7\21\0\1\107"+
476 "\4\7\1\110\2\0\3\7\1\375\20\7\1\0\1\111"+
477 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\16\7"+
478 "\1\316\5\7\1\0\1\111\1\0\1\7\21\0\1\376"+
479 "\4\7\1\377\2\0\24\7\1\0\1\111\1\0\1\7"+
480 "\21\0\1\107\4\7\1\110\2\0\6\7\1\u0100\15\7"+
481 "\1\0\1\111\1\0\1\7\21\0\1\107\4\7\1\110"+
482 "\2\0\3\7\1\u0101\20\7\1\0\1\111\1\0\1\7"+
483 "\21\0\1\107\4\7\1\110\2\0\1\7\1\u0102\22\7"+
484 "\1\0\1\111\1\0\1\7\21\0\1\107\4\7\1\110"+
485 "\2\0\3\7\1\u0103\20\7\1\0\1\111\1\0\1\7"+
486 "\21\0\1\107\4\7\1\110\2\0\3\7\1\u0104\20\7"+
487 "\1\0\1\111\1\0\1\7\21\0\1\140\4\50\1\141"+
488 "\2\0\4\50\1\u0105\17\50\3\0\1\50\21\0\1\140"+
489 "\4\50\1\141\2\0\12\50\1\u0106\11\50\3\0\1\50"+
490 "\21\0\1\140\4\50\1\141\2\0\4\50\1\u0107\17\50"+
491 "\3\0\1\50\21\0\1\u0108\4\50\1\141\2\0\24\50"+
492 "\1\0\1\374\1\0\1\50\21\0\1\140\4\50\1\141"+
493 "\2\0\3\50\1\u0109\20\50\3\0\1\50\21\0\1\140"+
494 "\4\50\1\141\2\0\16\50\1\332\5\50\3\0\1\50"+
495 "\21\0\1\u010a\4\50\1\u010b\2\0\24\50\3\0\1\50"+
496 "\21\0\1\140\4\50\1\141\2\0\6\50\1\u010c\15\50"+
497 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\3\50"+
498 "\1\u010d\20\50\3\0\1\50\21\0\1\140\4\50\1\141"+
499 "\2\0\1\50\1\u010e\22\50\3\0\1\50\21\0\1\140"+
500 "\4\50\1\141\2\0\3\50\1\u010f\20\50\3\0\1\50"+
501 "\21\0\1\140\4\50\1\141\2\0\3\50\1\u0110\20\50"+
502 "\3\0\1\50\21\0\1\140\4\64\1\141\2\0\4\64"+
503 "\1\u0111\17\64\3\0\1\64\21\0\1\140\4\64\1\141"+
504 "\2\0\12\64\1\u0112\11\64\3\0\1\64\21\0\1\140"+
505 "\4\64\1\141\2\0\4\64\1\u0113\17\64\3\0\1\64"+
506 "\21\0\1\u0108\4\64\1\141\2\0\24\64\1\0\1\374"+
507 "\1\0\1\64\21\0\1\140\4\64\1\141\2\0\3\64"+
508 "\1\u0114\20\64\3\0\1\64\21\0\1\140\4\64\1\141"+
509 "\2\0\16\64\1\346\5\64\3\0\1\64\21\0\1\u010a"+
510 "\4\64\1\u010b\2\0\24\64\3\0\1\64\21\0\1\140"+
511 "\4\64\1\141\2\0\6\64\1\u0115\15\64\3\0\1\64"+
512 "\21\0\1\140\4\64\1\141\2\0\3\64\1\u0116\20\64"+
513 "\3\0\1\64\21\0\1\140\4\64\1\141\2\0\1\64"+
514 "\1\u0117\22\64\3\0\1\64\21\0\1\140\4\64\1\141"+
515 "\2\0\3\64\1\u0118\20\64\3\0\1\64\21\0\1\140"+
516 "\4\64\1\141\2\0\3\64\1\u0119\20\64\3\0\1\64"+
517 "\21\0\1\175\4\76\1\176\2\0\4\76\1\u011a\17\76"+
518 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\12\76"+
519 "\1\u011b\11\76\3\0\1\76\21\0\1\175\4\76\1\176"+
520 "\2\0\4\76\1\u011c\17\76\3\0\1\76\21\0\1\u011d"+
521 "\4\76\1\176\2\0\24\76\1\0\1\374\1\0\1\76"+
522 "\21\0\1\175\4\76\1\176\2\0\3\76\1\u011e\20\76"+
523 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\16\76"+
524 "\1\362\5\76\3\0\1\76\21\0\1\u011f\4\76\1\u0120"+
525 "\2\0\24\76\3\0\1\76\21\0\1\175\4\76\1\176"+
526 "\2\0\6\76\1\u0121\15\76\3\0\1\76\21\0\1\175"+
527 "\4\76\1\176\2\0\3\76\1\u0122\20\76\3\0\1\76"+
528 "\21\0\1\175\4\76\1\176\2\0\1\76\1\u0123\22\76"+
529 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\3\76"+
530 "\1\u0124\20\76\3\0\1\76\21\0\1\175\4\76\1\176"+
531 "\2\0\3\76\1\u0125\20\76\3\0\1\76\21\0\1\107"+
532 "\4\7\1\110\2\0\5\7\1\u0126\16\7\1\0\1\111"+
533 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\13\7"+
534 "\1\u0127\10\7\1\0\1\111\1\0\1\7\21\0\1\107"+
535 "\4\7\1\110\2\0\22\7\1\u0128\1\7\1\0\1\111"+
536 "\1\0\1\7\21\0\1\373\4\0\1\110\27\0\1\374"+
537 "\23\0\1\107\4\7\1\110\2\0\1\7\1\224\22\7"+
538 "\1\0\1\111\1\0\1\7\21\0\1\376\4\0\1\377"+
539 "\27\0\1\111\24\0\1\213\3\0\1\u0129\2\0\24\213"+
540 "\3\0\1\213\21\0\1\107\4\7\1\110\2\0\17\7"+
541 "\1\u012a\4\7\1\0\1\111\1\0\1\7\21\0\1\107"+
542 "\4\7\1\110\2\0\1\7\1\u012b\22\7\1\0\1\111"+
543 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\5\7"+
544 "\1\316\16\7\1\0\1\111\1\0\1\7\21\0\1\107"+
545 "\4\7\1\110\2\0\16\7\1\u012a\5\7\1\0\1\111"+
546 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\4\7"+
547 "\1\u012c\17\7\1\0\1\111\1\0\1\7\21\0\1\140"+
548 "\4\50\1\141\2\0\5\50\1\u012d\16\50\3\0\1\50"+
549 "\21\0\1\140\4\50\1\141\2\0\13\50\1\u012e\10\50"+
550 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\22\50"+
551 "\1\u012f\1\50\3\0\1\50\21\0\1\u0108\4\0\1\141"+
552 "\27\0\1\374\23\0\1\140\4\50\1\141\2\0\1\50"+
553 "\1\244\22\50\3\0\1\50\21\0\1\u010a\4\0\1\u010b"+
554 "\60\0\1\u0129\53\0\1\140\4\50\1\141\2\0\17\50"+
555 "\1\u0130\4\50\3\0\1\50\21\0\1\140\4\50\1\141"+
556 "\2\0\1\50\1\u0131\22\50\3\0\1\50\21\0\1\140"+
557 "\4\50\1\141\2\0\5\50\1\332\16\50\3\0\1\50"+
558 "\21\0\1\140\4\50\1\141\2\0\16\50\1\u0130\5\50"+
559 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\4\50"+
560 "\1\u0132\17\50\3\0\1\50\21\0\1\140\4\64\1\141"+
561 "\2\0\5\64\1\u0133\16\64\3\0\1\64\21\0\1\140"+
562 "\4\64\1\141\2\0\13\64\1\u0134\10\64\3\0\1\64"+
563 "\21\0\1\140\4\64\1\141\2\0\22\64\1\u0135\1\64"+
564 "\3\0\1\64\21\0\1\140\4\64\1\141\2\0\1\64"+
565 "\1\263\22\64\3\0\1\64\21\0\1\140\4\64\1\141"+
566 "\2\0\17\64\1\u0136\4\64\3\0\1\64\21\0\1\140"+
567 "\4\64\1\141\2\0\1\64\1\u0137\22\64\3\0\1\64"+
568 "\21\0\1\140\4\64\1\141\2\0\5\64\1\346\16\64"+
569 "\3\0\1\64\21\0\1\140\4\64\1\141\2\0\16\64"+
570 "\1\u0136\5\64\3\0\1\64\21\0\1\140\4\64\1\141"+
571 "\2\0\4\64\1\u0138\17\64\3\0\1\64\21\0\1\175"+
572 "\4\76\1\176\2\0\5\76\1\u0139\16\76\3\0\1\76"+
573 "\21\0\1\175\4\76\1\176\2\0\13\76\1\u013a\10\76"+
574 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\22\76"+
575 "\1\u013b\1\76\3\0\1\76\21\0\1\u011d\4\0\1\176"+
576 "\27\0\1\374\23\0\1\175\4\76\1\176\2\0\1\76"+
577 "\1\300\22\76\3\0\1\76\21\0\1\u011f\4\0\1\u0120"+
578 "\53\0\1\175\4\76\1\176\2\0\17\76\1\u013c\4\76"+
579 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\1\76"+
580 "\1\u013d\22\76\3\0\1\76\21\0\1\175\4\76\1\176"+
581 "\2\0\5\76\1\362\16\76\3\0\1\76\21\0\1\175"+
582 "\4\76\1\176\2\0\16\76\1\u013c\5\76\3\0\1\76"+
583 "\21\0\1\175\4\76\1\176\2\0\4\76\1\u013e\17\76"+
584 "\3\0\1\76\21\0\1\107\4\7\1\110\2\0\6\7"+
585 "\1\u013f\15\7\1\0\1\111\1\0\1\7\21\0\1\107"+
586 "\4\7\1\110\2\0\14\7\1\u0140\7\7\1\0\1\111"+
587 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\1\u0141"+
588 "\23\7\1\0\1\111\1\0\1\7\21\0\1\107\4\7"+
589 "\1\110\2\0\12\7\1\u0142\11\7\1\0\1\111\1\0"+
590 "\1\7\21\0\1\107\4\7\1\110\2\0\16\7\1\u0143"+
591 "\5\7\1\0\1\111\1\0\1\7\21\0\1\107\4\7"+
592 "\1\110\2\0\4\7\1\u0144\17\7\1\0\1\111\1\0"+
593 "\1\7\21\0\1\140\4\50\1\141\2\0\6\50\1\u0145"+
594 "\15\50\3\0\1\50\21\0\1\140\4\50\1\141\2\0"+
595 "\14\50\1\u0146\7\50\3\0\1\50\21\0\1\140\4\50"+
596 "\1\141\2\0\1\u0147\23\50\3\0\1\50\21\0\1\140"+
597 "\4\50\1\141\2\0\12\50\1\u0148\11\50\3\0\1\50"+
598 "\21\0\1\140\4\50\1\141\2\0\16\50\1\u0149\5\50"+
599 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\4\50"+
600 "\1\u014a\17\50\3\0\1\50\21\0\1\140\4\64\1\141"+
601 "\2\0\6\64\1\u014b\15\64\3\0\1\64\21\0\1\140"+
602 "\4\64\1\141\2\0\14\64\1\u014c\7\64\3\0\1\64"+
603 "\21\0\1\140\4\64\1\141\2\0\1\u014d\23\64\3\0"+
604 "\1\64\21\0\1\140\4\64\1\141\2\0\12\64\1\u014e"+
605 "\11\64\3\0\1\64\21\0\1\140\4\64\1\141\2\0"+
606 "\16\64\1\u014f\5\64\3\0\1\64\21\0\1\140\4\64"+
607 "\1\141\2\0\4\64\1\u0150\17\64\3\0\1\64\21\0"+
608 "\1\175\4\76\1\176\2\0\6\76\1\u0151\15\76\3\0"+
609 "\1\76\21\0\1\175\4\76\1\176\2\0\14\76\1\u0152"+
610 "\7\76\3\0\1\76\21\0\1\175\4\76\1\176\2\0"+
611 "\1\u0153\23\76\3\0\1\76\21\0\1\175\4\76\1\176"+
612 "\2\0\12\76\1\u0154\11\76\3\0\1\76\21\0\1\175"+
613 "\4\76\1\176\2\0\16\76\1\u0155\5\76\3\0\1\76"+
614 "\21\0\1\175\4\76\1\176\2\0\4\76\1\u0156\17\76"+
615 "\3\0\1\76\21\0\1\107\4\7\1\110\2\0\7\7"+
616 "\1\u0157\14\7\1\0\1\111\1\0\1\7\21\0\1\107"+
617 "\4\7\1\110\2\0\5\7\1\u0158\16\7\1\0\1\111"+
618 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\2\7"+
619 "\1\u0158\21\7\1\0\1\111\1\0\1\7\21\0\1\107"+
620 "\4\7\1\110\2\0\1\7\1\u0159\22\7\1\0\1\111"+
621 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\1\u015a"+
622 "\23\7\1\0\1\111\1\0\1\7\21\0\1\107\4\7"+
623 "\1\110\2\0\12\7\1\u015b\11\7\1\0\1\111\1\0"+
624 "\1\7\21\0\1\140\4\50\1\141\2\0\7\50\1\u015c"+
625 "\14\50\3\0\1\50\21\0\1\140\4\50\1\141\2\0"+
626 "\5\50\1\u015d\16\50\3\0\1\50\21\0\1\140\4\50"+
627 "\1\141\2\0\2\50\1\u015d\21\50\3\0\1\50\21\0"+
628 "\1\140\4\50\1\141\2\0\1\50\1\u015e\22\50\3\0"+
629 "\1\50\21\0\1\140\4\50\1\141\2\0\1\u015f\23\50"+
630 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\12\50"+
631 "\1\u0160\11\50\3\0\1\50\21\0\1\140\4\64\1\141"+
632 "\2\0\7\64\1\u0161\14\64\3\0\1\64\21\0\1\140"+
633 "\4\64\1\141\2\0\5\64\1\u0162\16\64\3\0\1\64"+
634 "\21\0\1\140\4\64\1\141\2\0\2\64\1\u0162\21\64"+
635 "\3\0\1\64\21\0\1\140\4\64\1\141\2\0\1\64"+
636 "\1\u0163\22\64\3\0\1\64\21\0\1\140\4\64\1\141"+
637 "\2\0\1\u0164\23\64\3\0\1\64\21\0\1\140\4\64"+
638 "\1\141\2\0\12\64\1\u0165\11\64\3\0\1\64\21\0"+
639 "\1\175\4\76\1\176\2\0\7\76\1\u0166\14\76\3\0"+
640 "\1\76\21\0\1\175\4\76\1\176\2\0\5\76\1\u0167"+
641 "\16\76\3\0\1\76\21\0\1\175\4\76\1\176\2\0"+
642 "\2\76\1\u0167\21\76\3\0\1\76\21\0\1\175\4\76"+
643 "\1\176\2\0\1\76\1\u0168\22\76\3\0\1\76\21\0"+
644 "\1\175\4\76\1\176\2\0\1\u0169\23\76\3\0\1\76"+
645 "\21\0\1\175\4\76\1\176\2\0\12\76\1\u016a\11\76"+
646 "\3\0\1\76\21\0\1\376\3\7\1\u016b\1\377\2\0"+
647 "\24\7\1\0\1\111\1\0\1\7\21\0\1\107\4\7"+
648 "\1\110\2\0\3\7\1\316\20\7\1\0\1\111\1\0"+
649 "\1\7\21\0\1\107\4\7\1\110\2\0\20\7\1\u016c"+
650 "\3\7\1\0\1\111\1\0\1\7\21\0\1\107\4\7"+
651 "\1\110\2\0\1\7\1\u016d\22\7\1\0\1\111\1\0"+
652 "\1\7\21\0\1\107\4\7\1\110\2\0\1\7\1\u016e"+
653 "\22\7\1\0\1\111\1\0\1\7\21\0\1\u010a\3\50"+
654 "\1\u016f\1\u010b\2\0\24\50\3\0\1\50\21\0\1\140"+
655 "\4\50\1\141\2\0\3\50\1\332\20\50\3\0\1\50"+
656 "\21\0\1\140\4\50\1\141\2\0\20\50\1\u0170\3\50"+
657 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\1\50"+
658 "\1\u0171\22\50\3\0\1\50\21\0\1\140\4\50\1\141"+
659 "\2\0\1\50\1\u0172\22\50\3\0\1\50\21\0\1\u010a"+
660 "\3\64\1\u0173\1\u010b\2\0\24\64\3\0\1\64\21\0"+
661 "\1\140\4\64\1\141\2\0\3\64\1\346\20\64\3\0"+
662 "\1\64\21\0\1\140\4\64\1\141\2\0\20\64\1\u0174"+
663 "\3\64\3\0\1\64\21\0\1\140\4\64\1\141\2\0"+
664 "\1\64\1\u0175\22\64\3\0\1\64\21\0\1\140\4\64"+
665 "\1\141\2\0\1\64\1\u0176\22\64\3\0\1\64\21\0"+
666 "\1\u011f\3\76\1\u0177\1\u0120\2\0\24\76\3\0\1\76"+
667 "\21\0\1\175\4\76\1\176\2\0\3\76\1\362\20\76"+
668 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\20\76"+
669 "\1\u0178\3\76\3\0\1\76\21\0\1\175\4\76\1\176"+
670 "\2\0\1\76\1\u0179\22\76\3\0\1\76\21\0\1\175"+
671 "\4\76\1\176\2\0\1\76\1\u017a\22\76\3\0\1\76"+
672 "\21\0\1\107\4\7\1\110\2\0\6\7\1\u017b\15\7"+
673 "\1\0\1\111\1\0\1\7\21\0\1\376\3\7\1\u017c"+
674 "\1\377\2\0\24\7\1\0\1\111\1\0\1\7\21\0"+
675 "\1\107\4\7\1\110\2\0\5\7\1\u0157\16\7\1\0"+
676 "\1\111\1\0\1\7\21\0\1\107\4\7\1\110\2\0"+
677 "\20\7\1\u017d\3\7\1\0\1\111\1\0\1\7\21\0"+
678 "\1\140\4\50\1\141\2\0\6\50\1\u017e\15\50\3\0"+
679 "\1\50\21\0\1\u010a\3\50\1\u017f\1\u010b\2\0\24\50"+
680 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\5\50"+
681 "\1\u015c\16\50\3\0\1\50\21\0\1\140\4\50\1\141"+
682 "\2\0\20\50\1\u0180\3\50\3\0\1\50\21\0\1\140"+
683 "\4\64\1\141\2\0\6\64\1\u0181\15\64\3\0\1\64"+
684 "\21\0\1\u010a\3\64\1\u0182\1\u010b\2\0\24\64\3\0"+
685 "\1\64\21\0\1\140\4\64\1\141\2\0\5\64\1\u0161"+
686 "\16\64\3\0\1\64\21\0\1\140\4\64\1\141\2\0"+
687 "\20\64\1\u0183\3\64\3\0\1\64\21\0\1\175\4\76"+
688 "\1\176\2\0\6\76\1\u0184\15\76\3\0\1\76\21\0"+
689 "\1\u011f\3\76\1\u0185\1\u0120\2\0\24\76\3\0\1\76"+
690 "\21\0\1\175\4\76\1\176\2\0\5\76\1\u0166\16\76"+
691 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\20\76"+
692 "\1\u0186\3\76\3\0\1\76\21\0\1\107\4\7\1\110"+
693 "\2\0\7\7\1\u0187\14\7\1\0\1\111\1\0\1\7"+
694 "\21\0\1\107\4\7\1\110\2\0\4\7\1\u0188\17\7"+
695 "\1\0\1\111\1\0\1\7\21\0\1\107\3\7\1\u0189"+
696 "\1\110\2\0\24\7\1\0\1\111\1\0\1\7\21\0"+
697 "\1\140\4\50\1\141\2\0\7\50\1\u018a\14\50\3\0"+
698 "\1\50\21\0\1\140\4\50\1\141\2\0\4\50\1\u018b"+
699 "\17\50\3\0\1\50\21\0\1\140\3\50\1\u018c\1\141"+
700 "\2\0\24\50\3\0\1\50\21\0\1\140\4\64\1\141"+
701 "\2\0\7\64\1\u018d\14\64\3\0\1\64\21\0\1\140"+
702 "\4\64\1\141\2\0\4\64\1\u018e\17\64\3\0\1\64"+
703 "\21\0\1\140\3\64\1\u018f\1\141\2\0\24\64\3\0"+
704 "\1\64\21\0\1\175\4\76\1\176\2\0\7\76\1\u0190"+
705 "\14\76\3\0\1\76\21\0\1\175\4\76\1\176\2\0"+
706 "\4\76\1\u0191\17\76\3\0\1\76\21\0\1\175\3\76"+
707 "\1\u0192\1\176\2\0\24\76\3\0\1\76\21\0\1\107"+
708 "\3\7\1\u0193\1\110\2\0\24\7\1\0\1\111\1\0"+
709 "\1\7\21\0\1\107\4\7\1\110\2\0\12\7\1\u0194"+
710 "\11\7\1\0\1\111\1\0\1\7\21\0\1\107\4\7"+
711 "\1\110\2\0\12\7\1\u0195\11\7\1\0\1\111\1\0"+
712 "\1\7\21\0\1\140\3\50\1\u0196\1\141\2\0\24\50"+
713 "\3\0\1\50\21\0\1\140\4\50\1\141\2\0\12\50"+
714 "\1\u0197\11\50\3\0\1\50\21\0\1\140\4\50\1\141"+
715 "\2\0\12\50\1\u0198\11\50\3\0\1\50\21\0\1\140"+
716 "\3\64\1\u0199\1\141\2\0\24\64\3\0\1\64\21\0"+
717 "\1\140\4\64\1\141\2\0\12\64\1\u019a\11\64\3\0"+
718 "\1\64\21\0\1\140\4\64\1\141\2\0\12\64\1\u019b"+
719 "\11\64\3\0\1\64\21\0\1\175\3\76\1\u019c\1\176"+
720 "\2\0\24\76\3\0\1\76\21\0\1\175\4\76\1\176"+
721 "\2\0\12\76\1\u019d\11\76\3\0\1\76\21\0\1\175"+
722 "\4\76\1\176\2\0\12\76\1\u019e\11\76\3\0\1\76"+
723 "\21\0\1\107\4\7\1\110\2\0\4\7\1\21\17\7"+
724 "\1\0\1\111\1\0\1\7\21\0\1\107\4\7\1\110"+
725 "\2\0\13\7\1\u019f\10\7\1\0\1\111\1\0\1\7"+
726 "\21\0\1\107\4\7\1\110\2\0\1\7\1\u01a0\22\7"+
727 "\1\0\1\111\1\0\1\7\21\0\1\140\4\50\1\141"+
728 "\2\0\4\50\1\54\17\50\3\0\1\50\21\0\1\140"+
729 "\4\50\1\141\2\0\13\50\1\u01a1\10\50\3\0\1\50"+
730 "\21\0\1\140\4\50\1\141\2\0\1\50\1\u01a2\22\50"+
731 "\3\0\1\50\21\0\1\140\4\64\1\141\2\0\4\64"+
732 "\1\71\17\64\3\0\1\64\21\0\1\140\4\64\1\141"+
733 "\2\0\13\64\1\u01a3\10\64\3\0\1\64\21\0\1\140"+
734 "\4\64\1\141\2\0\1\64\1\u01a4\22\64\3\0\1\64"+
735 "\21\0\1\175\4\76\1\176\2\0\4\76\1\102\17\76"+
736 "\3\0\1\76\21\0\1\175\4\76\1\176\2\0\13\76"+
737 "\1\u01a5\10\76\3\0\1\76\21\0\1\175\4\76\1\176"+
738 "\2\0\1\76\1\u01a6\22\76\3\0\1\76\21\0\1\107"+
739 "\4\7\1\110\2\0\10\7\1\u01a7\13\7\1\0\1\111"+
740 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\4\7"+
741 "\1\u01a8\17\7\1\0\1\111\1\0\1\7\21\0\1\140"+
742 "\4\50\1\141\2\0\10\50\1\u01a9\13\50\3\0\1\50"+
743 "\21\0\1\140\4\50\1\141\2\0\4\50\1\u01aa\17\50"+
744 "\3\0\1\50\21\0\1\140\4\64\1\141\2\0\10\64"+
745 "\1\u01ab\13\64\3\0\1\64\21\0\1\140\4\64\1\141"+
746 "\2\0\4\64\1\u01ac\17\64\3\0\1\64\21\0\1\175"+
747 "\4\76\1\176\2\0\10\76\1\u01ad\13\76\3\0\1\76"+
748 "\21\0\1\175\4\76\1\176\2\0\4\76\1\u01ae\17\76"+
749 "\3\0\1\76\21\0\1\107\4\7\1\110\2\0\12\7"+
750 "\1\u01af\11\7\1\0\1\111\1\0\1\7\21\0\1\107"+
751 "\4\7\1\110\2\0\5\7\1\u01b0\16\7\1\0\1\111"+
752 "\1\0\1\7\21\0\1\140\4\50\1\141\2\0\12\50"+
753 "\1\u01b1\11\50\3\0\1\50\21\0\1\140\4\50\1\141"+
754 "\2\0\5\50\1\u01b2\16\50\3\0\1\50\21\0\1\140"+
755 "\4\64\1\141\2\0\12\64\1\u01b3\11\64\3\0\1\64"+
756 "\21\0\1\140\4\64\1\141\2\0\5\64\1\u01b4\16\64"+
757 "\3\0\1\64\21\0\1\175\4\76\1\176\2\0\12\76"+
758 "\1\u01b5\11\76\3\0\1\76\21\0\1\175\4\76\1\176"+
759 "\2\0\5\76\1\u01b6\16\76\3\0\1\76\21\0\1\107"+
760 "\4\7\1\110\2\0\1\7\1\u01b7\22\7\1\0\1\111"+
761 "\1\0\1\7\21\0\1\107\4\7\1\110\2\0\7\7"+
762 "\1\u01b8\14\7\1\0\1\111\1\0\1\7\21\0\1\140"+
763 "\4\50\1\141\2\0\1\50\1\u01b9\22\50\3\0\1\50"+
764 "\21\0\1\140\4\50\1\141\2\0\7\50\1\u01ba\14\50"+
765 "\3\0\1\50\21\0\1\140\4\64\1\141\2\0\1\64"+
766 "\1\u01bb\22\64\3\0\1\64\21\0\1\140\4\64\1\141"+
767 "\2\0\7\64\1\u01bc\14\64\3\0\1\64\21\0\1\175"+
768 "\4\76\1\176\2\0\1\76\1\u01bd\22\76\3\0\1\76"+
769 "\21\0\1\175\4\76\1\176\2\0\7\76\1\u01be\14\76"+
770 "\3\0\1\76\21\0\1\107\4\7\1\110\2\0\20\7"+
771 "\1\316\3\7\1\0\1\111\1\0\1\7\21\0\1\107"+
772 "\4\7\1\110\2\0\14\7\1\u01bf\7\7\1\0\1\111"+
773 "\1\0\1\7\21\0\1\140\4\50\1\141\2\0\20\50"+
774 "\1\332\3\50\3\0\1\50\21\0\1\140\4\50\1\141"+
775 "\2\0\14\50\1\u01c0\7\50\3\0\1\50\21\0\1\140"+
776 "\4\64\1\141\2\0\20\64\1\346\3\64\3\0\1\64"+
777 "\21\0\1\140\4\64\1\141\2\0\14\64\1\u01c1\7\64"+
778 "\3\0\1\64\21\0\1\175\4\76\1\176\2\0\20\76"+
779 "\1\362\3\76\3\0\1\76\21\0\1\175\4\76\1\176"+
780 "\2\0\14\76\1\u01c2\7\76\3\0\1\76\21\0\1\107"+
781 "\4\7\1\110\2\0\2\7\1\u01c3\21\7\1\0\1\111"+
782 "\1\0\1\7\21\0\1\140\4\50\1\141\2\0\2\50"+
783 "\1\u01c4\21\50\3\0\1\50\21\0\1\140\4\64\1\141"+
784 "\2\0\2\64\1\u01c5\21\64\3\0\1\64\21\0\1\175"+
785 "\4\76\1\176\2\0\2\76\1\u01c6\21\76\3\0\1\76"+
786 "\21\0\1\107\4\7\1\110\2\0\5\7\1\u01c7\16\7"+
787 "\1\0\1\111\1\0\1\7\21\0\1\140\4\50\1\141"+
788 "\2\0\5\50\1\u01c8\16\50\3\0\1\50\21\0\1\140"+
789 "\4\64\1\141\2\0\5\64\1\u01c9\16\64\3\0\1\64"+
790 "\21\0\1\175\4\76\1\176\2\0\5\76\1\u01ca\16\76"+
791 "\3\0\1\76\21\0\1\107\4\7\1\110\2\0\12\7"+
792 "\1\u01cb\11\7\1\0\1\111\1\0\1\7\21\0\1\140"+
793 "\4\50\1\141\2\0\12\50\1\u01cc\11\50\3\0\1\50"+
794 "\21\0\1\140\4\64\1\141\2\0\12\64\1\u01cd\11\64"+
795 "\3\0\1\64\21\0\1\175\4\76\1\176\2\0\12\76"+
796 "\1\u01ce\11\76\3\0\1\76\21\0\1\107\4\7\1\110"+
797 "\2\0\6\7\1\u01cf\15\7\1\0\1\111\1\0\1\7"+
798 "\21\0\1\140\4\50\1\141\2\0\6\50\1\u01d0\15\50"+
799 "\3\0\1\50\21\0\1\140\4\64\1\141\2\0\6\64"+
800 "\1\u01d1\15\64\3\0\1\64\21\0\1\175\4\76\1\176"+
801 "\2\0\6\76\1\u01d2\15\76\3\0\1\76\21\0\1\107"+
802 "\4\7\1\110\2\0\1\7\1\313\22\7\1\0\1\111"+
803 "\1\0\1\7\21\0\1\140\4\50\1\141\2\0\1\50"+
804 "\1\327\22\50\3\0\1\50\21\0\1\140\4\64\1\141"+
805 "\2\0\1\64\1\343\22\64\3\0\1\64\21\0\1\175"+
806 "\4\76\1\176\2\0\1\76\1\357\22\76\3\0\1\76"+
809 private static int [] zzUnpackTrans() {
810 int [] result
= new int[21168];
812 offset
= zzUnpackTrans(ZZ_TRANS_PACKED_0
, offset
, result
);
816 private static int zzUnpackTrans(String packed
, int offset
, int [] result
) {
817 int i
= 0; /* index in packed string */
818 int j
= offset
; /* index in unpacked array */
819 int l
= packed
.length();
821 int count
= packed
.charAt(i
++);
822 int value
= packed
.charAt(i
++);
824 do result
[j
++] = value
; while (--count
> 0);
831 private static final int ZZ_UNKNOWN_ERROR
= 0;
832 private static final int ZZ_NO_MATCH
= 1;
833 private static final int ZZ_PUSHBACK_2BIG
= 2;
834 private static final char[] EMPTY_BUFFER
= new char[0];
835 private static final int YYEOF
= -1;
836 private static java
.io
.Reader zzReader
= null; // Fake
838 /* error messages for the codes above */
839 private static final String ZZ_ERROR_MSG
[] = {
840 "Unkown internal scanner error",
841 "Error: could not match input",
842 "Error: pushback value was too large"
846 * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
848 private static final int [] ZZ_ATTRIBUTE
= zzUnpackAttribute();
850 private static final String ZZ_ATTRIBUTE_PACKED_0
=
851 "\4\0\1\11\1\1\1\3\2\1\1\11\3\1\10\3"+
852 "\5\11\1\1\3\11\4\1\5\11\13\3\1\11\1\3"+
853 "\1\1\21\3\2\0\1\15\1\1\3\11\14\3\3\11"+
854 "\2\0\1\11\2\0\33\3\1\0\1\5\14\3\1\0"+
855 "\1\15\15\3\2\0\52\3\1\0\1\15\63\3\1\0"+
856 "\1\15\1\3\2\0\10\3\1\0\1\3\2\0\21\3"+
857 "\1\0\1\3\1\0\1\5\10\3\1\15\251\3";
859 private static int [] zzUnpackAttribute() {
860 int [] result
= new int[466];
862 offset
= zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0
, offset
, result
);
866 private static int zzUnpackAttribute(String packed
, int offset
, int [] result
) {
867 int i
= 0; /* index in packed string */
868 int j
= offset
; /* index in unpacked array */
869 int l
= packed
.length();
871 int count
= packed
.charAt(i
++);
872 int value
= packed
.charAt(i
++);
873 do result
[j
++] = value
; while (--count
> 0);
878 /** the current state of the DFA */
881 /** the current lexical state */
882 private int zzLexicalState
= YYINITIAL
;
884 /** this buffer contains the current text to be matched and is
885 the source of the yytext() string */
886 private CharSequence zzBuffer
= "";
888 /** this buffer may contains the current text array to be matched when it is cheap to acquire it */
889 private char[] zzBufferArray
;
891 /** the textposition at the last accepting state */
892 private int zzMarkedPos
;
894 /** the textposition at the last state to be included in yytext */
895 private int zzPushbackPos
;
897 /** the current text position in the buffer */
898 private int zzCurrentPos
;
900 /** startRead marks the beginning of the yytext() string in the buffer */
901 private int zzStartRead
;
903 /** endRead marks the last character in the buffer, that has been read
905 private int zzEndRead
;
908 * zzAtBOL == true <=> the scanner is currently at the beginning of a line
910 private boolean zzAtBOL
= true;
912 /** zzAtEOF == true <=> the scanner is at the EOF */
913 private boolean zzAtEOF
;
915 /** denotes if the user-EOF-code has already been executed */
916 private boolean zzEOFDone
;
919 _XPathLexer(java
.io
.Reader in
) {
924 * Creates a new scanner.
925 * There is also java.io.Reader version of this constructor.
927 * @param in the java.io.Inputstream to read input from.
929 _XPathLexer(java
.io
.InputStream in
) {
930 this(new java
.io
.InputStreamReader(in
));
934 * Unpacks the compressed character translation table.
936 * @param packed the packed character translation table
937 * @return the unpacked character translation table
939 private static char [] zzUnpackCMap(String packed
) {
940 char [] map
= new char[0x10000];
941 int i
= 0; /* index in packed string */
942 int j
= 0; /* index in unpacked array */
944 int count
= packed
.charAt(i
++);
945 char value
= packed
.charAt(i
++);
946 do map
[j
++] = value
; while (--count
> 0);
951 public final int getTokenStart(){
955 public final int getTokenEnd(){
956 return getTokenStart() + yylength();
959 public void reset(CharSequence buffer
, int start
, int end
,int initialState
){
961 zzBufferArray
= com
.intellij
.util
.text
.CharArrayUtil
.fromSequenceWithoutCopying(buffer
);
962 zzCurrentPos
= zzMarkedPos
= zzStartRead
= start
;
967 yybegin(initialState
);
970 // For Demetra compatibility
971 public void reset(CharSequence buffer
, int initialState
){
972 reset(buffer
, 0, buffer
.length(), initialState
);
976 * Refills the input buffer.
978 * @return <code>false</code>, iff there was new input.
980 * @exception java.io.IOException if any I/O-Error occurs
982 private boolean zzRefill() throws java
.io
.IOException
{
988 * Returns the current lexical state.
990 public final int yystate() {
991 return zzLexicalState
;
996 * Enters a new lexical state
998 * @param newState the new lexical state
1000 public final void yybegin(int newState
) {
1001 zzLexicalState
= newState
;
1006 * Returns the text matched by the current regular expression.
1008 public final CharSequence
yytext() {
1009 return zzBuffer
.subSequence(zzStartRead
, zzMarkedPos
);
1014 * Returns the character at position <tt>pos</tt> from the
1017 * It is equivalent to yytext().charAt(pos), but faster
1019 * @param pos the position of the character to fetch.
1020 * A value from 0 to yylength()-1.
1022 * @return the character at position pos
1024 public final char yycharat(int pos
) {
1025 return zzBufferArray
!= null ? zzBufferArray
[zzStartRead
+pos
]:zzBuffer
.charAt(zzStartRead
+pos
);
1030 * Returns the length of the matched text region.
1032 public final int yylength() {
1033 return zzMarkedPos
-zzStartRead
;
1038 * Reports an error that occured while scanning.
1040 * In a wellformed scanner (no or only correct usage of
1041 * yypushback(int) and a match-all fallback rule) this method
1042 * will only be called with things that "Can't Possibly Happen".
1043 * If this method is called, something is seriously wrong
1044 * (e.g. a JFlex bug producing a faulty scanner etc.).
1046 * Usual syntax/scanner level error handling should be done
1047 * in error fallback rules.
1049 * @param errorCode the code of the errormessage to display
1051 private void zzScanError(int errorCode
) {
1054 message
= ZZ_ERROR_MSG
[errorCode
];
1056 catch (ArrayIndexOutOfBoundsException e
) {
1057 message
= ZZ_ERROR_MSG
[ZZ_UNKNOWN_ERROR
];
1060 throw new Error(message
);
1065 * Pushes the specified amount of characters back into the input stream.
1067 * They will be read again by then next call of the scanning method
1069 * @param number the number of characters to be read again.
1070 * This number must not be greater than yylength()!
1072 public void yypushback(int number
) {
1073 if ( number
> yylength() )
1074 zzScanError(ZZ_PUSHBACK_2BIG
);
1076 zzMarkedPos
-= number
;
1081 * Contains user EOF-code, which will be executed exactly once,
1082 * when the end of file is reached
1084 private void zzDoEOF() {
1093 * Resumes scanning until the next regular expression is matched,
1094 * the end of input is encountered or an I/O-Error occurs.
1096 * @return the next token
1097 * @exception java.io.IOException if any I/O-Error occurs
1099 public IElementType
advance() throws java
.io
.IOException
{
1106 int zzEndReadL
= zzEndRead
;
1107 CharSequence zzBufferL
= zzBuffer
;
1108 char[] zzBufferArrayL
= zzBufferArray
;
1109 char [] zzCMapL
= ZZ_CMAP
;
1111 int [] zzTransL
= ZZ_TRANS
;
1112 int [] zzRowMapL
= ZZ_ROWMAP
;
1113 int [] zzAttrL
= ZZ_ATTRIBUTE
;
1114 int zzPushbackPosL
= zzPushbackPos
= -1;
1115 boolean zzWasPushback
;
1118 zzMarkedPosL
= zzMarkedPos
;
1122 zzCurrentPosL
= zzCurrentPos
= zzStartRead
= zzMarkedPosL
;
1124 zzState
= zzLexicalState
;
1126 zzWasPushback
= false;
1131 if (zzCurrentPosL
< zzEndReadL
)
1132 zzInput
= zzBufferL
.charAt(zzCurrentPosL
++);
1138 // store back cached positions
1139 zzCurrentPos
= zzCurrentPosL
;
1140 zzMarkedPos
= zzMarkedPosL
;
1141 zzPushbackPos
= zzPushbackPosL
;
1142 boolean eof
= zzRefill();
1143 // get translated positions and possibly new buffer
1144 zzCurrentPosL
= zzCurrentPos
;
1145 zzMarkedPosL
= zzMarkedPos
;
1146 zzBufferL
= zzBuffer
;
1147 zzEndReadL
= zzEndRead
;
1148 zzPushbackPosL
= zzPushbackPos
;
1154 zzInput
= zzBufferL
.charAt(zzCurrentPosL
++);
1157 int zzNext
= zzTransL
[ zzRowMapL
[zzState
] + zzCMapL
[zzInput
] ];
1158 if (zzNext
== -1) break zzForAction
;
1161 int zzAttributes
= zzAttrL
[zzState
];
1162 if ( (zzAttributes
& 2) == 2 )
1163 zzPushbackPosL
= zzCurrentPosL
;
1165 if ( (zzAttributes
& 1) == 1 ) {
1166 zzWasPushback
= (zzAttributes
& 4) == 4;
1168 zzMarkedPosL
= zzCurrentPosL
;
1169 if ( (zzAttributes
& 8) == 8 ) break zzForAction
;
1175 // store back cached position
1176 zzMarkedPos
= zzMarkedPosL
;
1178 zzMarkedPos
= zzPushbackPosL
;
1180 switch (zzAction
< 0 ? zzAction
: ZZ_ACTION
[zzAction
]) {
1182 { yybegin(YYINITIAL
); return XPathTokenTypes
.AND
;
1186 { yybegin(S1
); return XPathTokenTypes
.NUMBER
;
1190 { yybegin(YYINITIAL
); return XPathTokenTypes
.MINUS
;
1194 { yybegin(YYINITIAL
); return XPathTokenTypes
.LBRACKET
;
1198 { yybegin(YYINITIAL
); return XPathTokenTypes
.EQ
;
1202 { yybegin(S1
); return XPathTokenTypes
.DOT
;
1206 { yybegin(YYINITIAL
); return XPathTokenTypes
.UNION
;
1210 { return XPathTokenTypes
.FUNCTION_NAME
;
1214 { yybegin(YYINITIAL
); return XPathTokenTypes
.PLUS
;
1218 { yybegin(YYINITIAL
); return XPathTokenTypes
.COL
;
1222 { yybegin(YYINITIAL
); return XPathTokenTypes
.LE
;
1226 { yybegin(S1
); return XPathTokenTypes
.STAR
;
1230 { yybegin(YYINITIAL
); return XPathTokenTypes
.BAD_CHARACTER
;
1234 { return XPathTokenTypes
.COL
;
1238 { yybegin(YYINITIAL
); return XPathTokenTypes
.COLCOL
;
1242 { yybegin(YYINITIAL
); return XPathTokenTypes
.LT
;
1246 { yybegin(YYINITIAL
); return XPathTokenTypes
.PATH
;
1250 { yybegin(YYINITIAL
); return XPathTokenTypes
.ANY_PATH
;
1254 { yybegin(YYINITIAL
); return XPathTokenTypes
.MULT
;
1258 { yybegin(VAR
); return XPathTokenTypes
.DOLLAR
;
1262 { yybegin(S1
); return XPathTokenTypes
.VARIABLE_NAME
;
1266 { yybegin(S1
); return XPathTokenTypes
.NCNAME
;
1270 { yybegin(S1
); return XPathTokenTypes
.STRING_LITERAL
;
1274 { return XPathTokenTypes
.WHITESPACE
;
1278 { yybegin(S1
); return XPathTokenTypes
.BAD_AXIS_NAME
;
1282 { yybegin(YYINITIAL
); return XPathTokenTypes
.LPAREN
;
1286 { yybegin(S1
); return XPathTokenTypes
.AXIS_NAME
;
1290 { yybegin(YYINITIAL
); return XPathTokenTypes
.AT
;
1294 { yybegin(YYINITIAL
); return XPathTokenTypes
.OR
;
1298 { yybegin(S1
); return XPathTokenTypes
.RBRACKET
;
1302 { yybegin(S1
); return XPathTokenTypes
.RPAREN
;
1306 { yybegin(YYINITIAL
); return XPathTokenTypes
.COMMA
;
1310 { yybegin(YYINITIAL
); return XPathTokenTypes
.GE
;
1314 { return XPathTokenTypes
.VARIABLE_PREFIX
;
1318 { yybegin(FUNC
); return XPathTokenTypes
.EXT_PREFIX
;
1322 { yybegin(YYINITIAL
); return XPathTokenTypes
.MOD
;
1326 { yybegin(YYINITIAL
); return XPathTokenTypes
.GT
;
1330 { yybegin(S1
); return XPathTokenTypes
.NODE_TYPE
;
1334 { return XPathTokenTypes
.LBRACE
;
1338 { return XPathTokenTypes
.RBRACE
;
1342 { yybegin(YYINITIAL
); return XPathTokenTypes
.NE
;
1346 { yybegin(YYINITIAL
); return XPathTokenTypes
.DIV
;
1350 { yybegin(S1
); return XPathTokenTypes
.DOTDOT
;
1354 if (zzInput
== YYEOF
&& zzStartRead
== zzCurrentPos
) {
1360 zzScanError(ZZ_NO_MATCH
);