xref: /PHP-7.1/ext/date/lib/parse_date.c (revision a7815e63)
1 /* Generated by re2c 0.15.3 on Tue Oct 24 13:42:24 2017 */
2 #line 1 "ext/date/lib/parse_date.re"
3 /*
4  * The MIT License (MIT)
5  *
6  * Copyright (c) 2015 Derick Rethans
7  *
8  * Permission is hereby granted, free of charge, to any person obtaining a copy
9  * of this software and associated documentation files (the "Software"), to deal
10  * in the Software without restriction, including without limitation the rights
11  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12  * copies of the Software, and to permit persons to whom the Software is
13  * furnished to do so, subject to the following conditions:
14  *
15  * The above copyright notice and this permission notice shall be included in
16  * all copies or substantial portions of the Software.
17  *
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24  * THE SOFTWARE.
25  */
26 
27 /* $Id$ */
28 
29 #include "timelib.h"
30 
31 #include <stdio.h>
32 #include <ctype.h>
33 #include <math.h>
34 #include <assert.h>
35 
36 #ifdef HAVE_STDLIB_H
37 #include <stdlib.h>
38 #endif
39 #ifdef HAVE_STRING_H
40 #include <string.h>
41 #else
42 #include <strings.h>
43 #endif
44 
45 #if defined(_MSC_VER)
46 # define strtoll(s, f, b) _atoi64(s)
47 #elif !defined(HAVE_STRTOLL)
48 # if defined(HAVE_ATOLL)
49 #  define strtoll(s, f, b) atoll(s)
50 # else
51 #  define strtoll(s, f, b) strtol(s, f, b)
52 # endif
53 #endif
54 
55 #define TIMELIB_UNSET   -99999
56 
57 #define TIMELIB_SECOND   1
58 #define TIMELIB_MINUTE   2
59 #define TIMELIB_HOUR     3
60 #define TIMELIB_DAY      4
61 #define TIMELIB_MONTH    5
62 #define TIMELIB_YEAR     6
63 #define TIMELIB_WEEKDAY  7
64 #define TIMELIB_SPECIAL  8
65 #define TIMELIB_MICROSEC 9
66 
67 #define EOI      257
68 #define TIME     258
69 #define DATE     259
70 
71 #define TIMELIB_XMLRPC_SOAP    260
72 #define TIMELIB_TIME12         261
73 #define TIMELIB_TIME24         262
74 #define TIMELIB_GNU_NOCOLON    263
75 #define TIMELIB_GNU_NOCOLON_TZ 264
76 #define TIMELIB_ISO_NOCOLON    265
77 
78 #define TIMELIB_AMERICAN       266
79 #define TIMELIB_ISO_DATE       267
80 #define TIMELIB_DATE_FULL      268
81 #define TIMELIB_DATE_TEXT      269
82 #define TIMELIB_DATE_NOCOLON   270
83 #define TIMELIB_PG_YEARDAY     271
84 #define TIMELIB_PG_TEXT        272
85 #define TIMELIB_PG_REVERSE     273
86 #define TIMELIB_CLF            274
87 #define TIMELIB_DATE_NO_DAY    275
88 #define TIMELIB_SHORTDATE_WITH_TIME 276
89 #define TIMELIB_DATE_FULL_POINTED 277
90 #define TIMELIB_TIME24_WITH_ZONE 278
91 #define TIMELIB_ISO_WEEK       279
92 #define TIMELIB_LF_DAY_OF_MONTH 280
93 #define TIMELIB_WEEK_DAY_OF_MONTH 281
94 
95 #define TIMELIB_TIMEZONE       300
96 #define TIMELIB_AGO            301
97 
98 #define TIMELIB_RELATIVE       310
99 
100 #define TIMELIB_ERROR          999
101 
102 /* Some compilers like AIX, defines uchar in sys/types.h */
103 #undef uchar
104 typedef unsigned char uchar;
105 
106 #define   BSIZE	   8192
107 
108 #define   YYCTYPE      uchar
109 #define   YYCURSOR     cursor
110 #define   YYLIMIT      s->lim
111 #define   YYMARKER     s->ptr
112 #define   YYFILL(n)    return EOI;
113 
114 #define   RET(i)       {s->cur = cursor; return i;}
115 
116 #define timelib_string_free timelib_free
117 
118 #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } }
119 #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; }
120 #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } }
121 #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
122 #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
123 #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
124 #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
125 #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : add_warning(s, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }
126 
127 #define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
128 #define TIMELIB_DEINIT timelib_string_free(str)
129 #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
130 
131 #define TIMELIB_PROCESS_YEAR(x, l) { \
132 	if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
133 	/*	(x) = 0; */          \
134 	} else if ((x) < 100) {  \
135 		if ((x) < 70) {      \
136 			(x) += 2000;     \
137 		} else {             \
138 			(x) += 1900;     \
139 		}                    \
140 	}                        \
141 }
142 
143 #ifdef DEBUG_PARSER
144 #define DEBUG_OUTPUT(s) printf("%s\n", s);
145 #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
146 #else
147 #define DEBUG_OUTPUT(s)
148 #define YYDEBUG(s,c)
149 #endif
150 
151 #include "timelib_structs.h"
152 
153 typedef struct timelib_elems {
154 	unsigned int   c; /* Number of elements */
155 	char         **v; /* Values */
156 } timelib_elems;
157 
158 typedef struct Scanner {
159 	int           fd;
160 	uchar        *lim, *str, *ptr, *cur, *tok, *pos;
161 	unsigned int  line, len;
162 	struct timelib_error_container *errors;
163 
164 	struct timelib_time *time;
165 	const timelib_tzdb  *tzdb;
166 } Scanner;
167 
168 typedef struct _timelib_lookup_table {
169     const char *name;
170     int         type;
171     int         value;
172 } timelib_lookup_table;
173 
174 typedef struct _timelib_relunit {
175 	const char *name;
176 	int         unit;
177 	int         multiplier;
178 } timelib_relunit;
179 
180 /* The timezone table. */
181 const static timelib_tz_lookup_table timelib_timezone_lookup[] = {
182 #include "timezonemap.h"
183 	{ NULL, 0, 0, NULL },
184 };
185 
186 const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
187 #include "fallbackmap.h"
188 	{ NULL, 0, 0, NULL },
189 };
190 
191 const static timelib_tz_lookup_table timelib_timezone_utc[] = {
192 	{ "utc", 0, 0, "UTC" },
193 };
194 
195 static timelib_relunit const timelib_relunit_lookup[] = {
196 	{ "ms",           TIMELIB_MICROSEC, 1000 },
197 	{ "msec",         TIMELIB_MICROSEC, 1000 },
198 	{ "msecs",        TIMELIB_MICROSEC, 1000 },
199 	{ "millisecond",  TIMELIB_MICROSEC, 1000 },
200 	{ "milliseconds", TIMELIB_MICROSEC, 1000 },
201 	{ "µs",           TIMELIB_MICROSEC,    1 },
202 	{ "usec",         TIMELIB_MICROSEC,    1 },
203 	{ "usecs",        TIMELIB_MICROSEC,    1 },
204 	{ "µsec",         TIMELIB_MICROSEC,    1 },
205 	{ "µsecs",        TIMELIB_MICROSEC,    1 },
206 	{ "microsecond",  TIMELIB_MICROSEC,    1 },
207 	{ "microseconds", TIMELIB_MICROSEC,    1 },
208 	{ "sec",         TIMELIB_SECOND,  1 },
209 	{ "secs",        TIMELIB_SECOND,  1 },
210 	{ "second",      TIMELIB_SECOND,  1 },
211 	{ "seconds",     TIMELIB_SECOND,  1 },
212 	{ "min",         TIMELIB_MINUTE,  1 },
213 	{ "mins",        TIMELIB_MINUTE,  1 },
214 	{ "minute",      TIMELIB_MINUTE,  1 },
215 	{ "minutes",     TIMELIB_MINUTE,  1 },
216 	{ "hour",        TIMELIB_HOUR,    1 },
217 	{ "hours",       TIMELIB_HOUR,    1 },
218 	{ "day",         TIMELIB_DAY,     1 },
219 	{ "days",        TIMELIB_DAY,     1 },
220 	{ "week",        TIMELIB_DAY,     7 },
221 	{ "weeks",       TIMELIB_DAY,     7 },
222 	{ "fortnight",   TIMELIB_DAY,    14 },
223 	{ "fortnights",  TIMELIB_DAY,    14 },
224 	{ "forthnight",  TIMELIB_DAY,    14 },
225 	{ "forthnights", TIMELIB_DAY,    14 },
226 	{ "month",       TIMELIB_MONTH,   1 },
227 	{ "months",      TIMELIB_MONTH,   1 },
228 	{ "year",        TIMELIB_YEAR,    1 },
229 	{ "years",       TIMELIB_YEAR,    1 },
230 
231 	{ "monday",      TIMELIB_WEEKDAY, 1 },
232 	{ "mon",         TIMELIB_WEEKDAY, 1 },
233 	{ "tuesday",     TIMELIB_WEEKDAY, 2 },
234 	{ "tue",         TIMELIB_WEEKDAY, 2 },
235 	{ "wednesday",   TIMELIB_WEEKDAY, 3 },
236 	{ "wed",         TIMELIB_WEEKDAY, 3 },
237 	{ "thursday",    TIMELIB_WEEKDAY, 4 },
238 	{ "thu",         TIMELIB_WEEKDAY, 4 },
239 	{ "friday",      TIMELIB_WEEKDAY, 5 },
240 	{ "fri",         TIMELIB_WEEKDAY, 5 },
241 	{ "saturday",    TIMELIB_WEEKDAY, 6 },
242 	{ "sat",         TIMELIB_WEEKDAY, 6 },
243 	{ "sunday",      TIMELIB_WEEKDAY, 0 },
244 	{ "sun",         TIMELIB_WEEKDAY, 0 },
245 
246 	{ "weekday",     TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
247 	{ "weekdays",    TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
248 	{ NULL,          0,          0 }
249 };
250 
251 /* The relative text table. */
252 static timelib_lookup_table const timelib_reltext_lookup[] = {
253 	{ "first",    0,  1 },
254 	{ "next",     0,  1 },
255 	{ "second",   0,  2 },
256 	{ "third",    0,  3 },
257 	{ "fourth",   0,  4 },
258 	{ "fifth",    0,  5 },
259 	{ "sixth",    0,  6 },
260 	{ "seventh",  0,  7 },
261 	{ "eight",    0,  8 },
262 	{ "eighth",   0,  8 },
263 	{ "ninth",    0,  9 },
264 	{ "tenth",    0, 10 },
265 	{ "eleventh", 0, 11 },
266 	{ "twelfth",  0, 12 },
267 	{ "last",     0, -1 },
268 	{ "previous", 0, -1 },
269 	{ "this",     1,  0 },
270 	{ NULL,       1,  0 }
271 };
272 
273 /* The month table. */
274 static timelib_lookup_table const timelib_month_lookup[] = {
275 	{ "jan",  0,  1 },
276 	{ "feb",  0,  2 },
277 	{ "mar",  0,  3 },
278 	{ "apr",  0,  4 },
279 	{ "may",  0,  5 },
280 	{ "jun",  0,  6 },
281 	{ "jul",  0,  7 },
282 	{ "aug",  0,  8 },
283 	{ "sep",  0,  9 },
284 	{ "sept", 0,  9 },
285 	{ "oct",  0, 10 },
286 	{ "nov",  0, 11 },
287 	{ "dec",  0, 12 },
288 	{ "i",    0,  1 },
289 	{ "ii",   0,  2 },
290 	{ "iii",  0,  3 },
291 	{ "iv",   0,  4 },
292 	{ "v",    0,  5 },
293 	{ "vi",   0,  6 },
294 	{ "vii",  0,  7 },
295 	{ "viii", 0,  8 },
296 	{ "ix",   0,  9 },
297 	{ "x",    0, 10 },
298 	{ "xi",   0, 11 },
299 	{ "xii",  0, 12 },
300 
301 	{ "january",   0,  1 },
302 	{ "february",  0,  2 },
303 	{ "march",     0,  3 },
304 	{ "april",     0,  4 },
305 	{ "may",       0,  5 },
306 	{ "june",      0,  6 },
307 	{ "july",      0,  7 },
308 	{ "august",    0,  8 },
309 	{ "september", 0,  9 },
310 	{ "october",   0, 10 },
311 	{ "november",  0, 11 },
312 	{ "december",  0, 12 },
313 	{  NULL,       0,  0 }
314 };
315 
316 #if 0
317 static char* timelib_ltrim(char *s)
318 {
319 	char *ptr = s;
320 	while (ptr[0] == ' ' || ptr[0] == '\t') {
321 		ptr++;
322 	}
323 	return ptr;
324 }
325 #endif
326 
327 #if 0
328 uchar *fill(Scanner *s, uchar *cursor){
329 	if(!s->eof){
330 		unsigned int cnt = s->tok - s->bot;
331 		if(cnt){
332 			memcpy(s->bot, s->tok, s->lim - s->tok);
333 			s->tok = s->bot;
334 			s->ptr -= cnt;
335 			cursor -= cnt;
336 			s->pos -= cnt;
337 			s->lim -= cnt;
338 		}
339 		if((s->top - s->lim) < BSIZE){
340 			uchar *buf = (uchar*) timelib_malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
341 			memcpy(buf, s->tok, s->lim - s->tok);
342 			s->tok = buf;
343 			s->ptr = &buf[s->ptr - s->bot];
344 			cursor = &buf[cursor - s->bot];
345 			s->pos = &buf[s->pos - s->bot];
346 			s->lim = &buf[s->lim - s->bot];
347 			s->top = &s->lim[BSIZE];
348 			timelib_free(s->bot);
349 			s->bot = buf;
350 		}
351 		if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
352 			s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
353 		}
354 		s->lim += cnt;
355 	}
356 	return cursor;
357 }
358 #endif
359 
add_warning(Scanner * s,char * error)360 static void add_warning(Scanner *s, char *error)
361 {
362 	s->errors->warning_count++;
363 	s->errors->warning_messages = timelib_realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
364 	s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0;
365 	s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0;
366 	s->errors->warning_messages[s->errors->warning_count - 1].message = timelib_strdup(error);
367 }
368 
add_error(Scanner * s,char * error)369 static void add_error(Scanner *s, char *error)
370 {
371 	s->errors->error_count++;
372 	s->errors->error_messages = timelib_realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
373 	s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0;
374 	s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0;
375 	s->errors->error_messages[s->errors->error_count - 1].message = timelib_strdup(error);
376 }
377 
add_pbf_warning(Scanner * s,char * error,char * sptr,char * cptr)378 static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr)
379 {
380 	s->errors->warning_count++;
381 	s->errors->warning_messages = timelib_realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
382 	s->errors->warning_messages[s->errors->warning_count - 1].position = cptr - sptr;
383 	s->errors->warning_messages[s->errors->warning_count - 1].character = *cptr;
384 	s->errors->warning_messages[s->errors->warning_count - 1].message = timelib_strdup(error);
385 }
386 
add_pbf_error(Scanner * s,char * error,char * sptr,char * cptr)387 static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr)
388 {
389 	s->errors->error_count++;
390 	s->errors->error_messages = timelib_realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
391 	s->errors->error_messages[s->errors->error_count - 1].position = cptr - sptr;
392 	s->errors->error_messages[s->errors->error_count - 1].character = *cptr;
393 	s->errors->error_messages[s->errors->error_count - 1].message = timelib_strdup(error);
394 }
395 
timelib_meridian(char ** ptr,timelib_sll h)396 static timelib_sll timelib_meridian(char **ptr, timelib_sll h)
397 {
398 	timelib_sll retval = 0;
399 
400 	while (!strchr("AaPp", **ptr)) {
401 		++*ptr;
402 	}
403 	if (**ptr == 'a' || **ptr == 'A') {
404 		if (h == 12) {
405 			retval = -12;
406 		}
407 	} else if (h != 12) {
408 		retval = 12;
409 	}
410 	++*ptr;
411 	if (**ptr == '.') {
412 		++*ptr;
413 	}
414 	if (**ptr == 'M' || **ptr == 'm') {
415 		++*ptr;
416 	}
417 	if (**ptr == '.') {
418 		++*ptr;
419 	}
420 	return retval;
421 }
422 
timelib_meridian_with_check(char ** ptr,timelib_sll h)423 static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h)
424 {
425 	timelib_sll retval = 0;
426 
427 	while (**ptr && !strchr("AaPp", **ptr)) {
428 		++*ptr;
429 	}
430 	if(!**ptr) {
431 		return TIMELIB_UNSET;
432 	}
433 	if (**ptr == 'a' || **ptr == 'A') {
434 		if (h == 12) {
435 			retval = -12;
436 		}
437 	} else if (h != 12) {
438 		retval = 12;
439 	}
440 	++*ptr;
441 	if (**ptr == '.') {
442 		++*ptr;
443 		if (**ptr != 'm' && **ptr != 'M') {
444 			return TIMELIB_UNSET;
445 		}
446 		++*ptr;
447 		if (**ptr != '.' ) {
448 			return TIMELIB_UNSET;
449 		}
450 		++*ptr;
451 	} else if (**ptr == 'm' || **ptr == 'M') {
452 		++*ptr;
453 	} else {
454 		return TIMELIB_UNSET;
455 	}
456 	return retval;
457 }
458 
timelib_string(Scanner * s)459 static char *timelib_string(Scanner *s)
460 {
461 	char *tmp = timelib_calloc(1, s->cur - s->tok + 1);
462 	memcpy(tmp, s->tok, s->cur - s->tok);
463 
464 	return tmp;
465 }
466 
timelib_get_nr_ex(char ** ptr,int max_length,int * scanned_length)467 static timelib_sll timelib_get_nr_ex(char **ptr, int max_length, int *scanned_length)
468 {
469 	char *begin, *end, *str;
470 	timelib_sll tmp_nr = TIMELIB_UNSET;
471 	int len = 0;
472 
473 	while ((**ptr < '0') || (**ptr > '9')) {
474 		if (**ptr == '\0') {
475 			return TIMELIB_UNSET;
476 		}
477 		++*ptr;
478 	}
479 	begin = *ptr;
480 	while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
481 		++*ptr;
482 		++len;
483 	}
484 	end = *ptr;
485 	if (scanned_length) {
486 		*scanned_length = end - begin;
487 	}
488 	str = timelib_calloc(1, end - begin + 1);
489 	memcpy(str, begin, end - begin);
490 	tmp_nr = strtoll(str, NULL, 10);
491 	timelib_free(str);
492 	return tmp_nr;
493 }
494 
timelib_get_nr(char ** ptr,int max_length)495 static timelib_sll timelib_get_nr(char **ptr, int max_length)
496 {
497 	return timelib_get_nr_ex(ptr, max_length, NULL);
498 }
499 
timelib_skip_day_suffix(char ** ptr)500 static void timelib_skip_day_suffix(char **ptr)
501 {
502 	if (isspace(**ptr)) {
503 		return;
504 	}
505 	if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) {
506 		*ptr += 2;
507 	}
508 }
509 
timelib_get_frac_nr(char ** ptr,int max_length)510 static double timelib_get_frac_nr(char **ptr, int max_length)
511 {
512 	char *begin, *end, *str;
513 	double tmp_nr = TIMELIB_UNSET;
514 	int len = 0;
515 
516 	while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
517 		if (**ptr == '\0') {
518 			return TIMELIB_UNSET;
519 		}
520 		++*ptr;
521 	}
522 	begin = *ptr;
523 	while (((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) {
524 		++*ptr;
525 		++len;
526 	}
527 	end = *ptr;
528 	str = timelib_calloc(1, end - begin + 1);
529 	memcpy(str, begin, end - begin);
530 	if (str[0] == ':') {
531 		str[0] = '.';
532 	}
533 	tmp_nr = strtod(str, NULL);
534 	timelib_free(str);
535 	return tmp_nr;
536 }
537 
timelib_get_unsigned_nr(char ** ptr,int max_length)538 static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length)
539 {
540 	timelib_ull dir = 1;
541 
542 	while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
543 		if (**ptr == '\0') {
544 			return TIMELIB_UNSET;
545 		}
546 		++*ptr;
547 	}
548 
549 	while (**ptr == '+' || **ptr == '-')
550 	{
551 		if (**ptr == '-') {
552 			dir *= -1;
553 		}
554 		++*ptr;
555 	}
556 	return dir * timelib_get_nr(ptr, max_length);
557 }
558 
timelib_lookup_relative_text(char ** ptr,int * behavior)559 static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior)
560 {
561 	char *word;
562 	char *begin = *ptr, *end;
563 	timelib_sll  value = 0;
564 	const timelib_lookup_table *tp;
565 
566 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
567 		++*ptr;
568 	}
569 	end = *ptr;
570 	word = timelib_calloc(1, end - begin + 1);
571 	memcpy(word, begin, end - begin);
572 
573 	for (tp = timelib_reltext_lookup; tp->name; tp++) {
574 		if (strcasecmp(word, tp->name) == 0) {
575 			value = tp->value;
576 			*behavior = tp->type;
577 		}
578 	}
579 
580 	timelib_free(word);
581 	return value;
582 }
583 
timelib_get_relative_text(char ** ptr,int * behavior)584 static timelib_sll timelib_get_relative_text(char **ptr, int *behavior)
585 {
586 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
587 		++*ptr;
588 	}
589 	return timelib_lookup_relative_text(ptr, behavior);
590 }
591 
timelib_lookup_month(char ** ptr)592 static timelib_long timelib_lookup_month(char **ptr)
593 {
594 	char *word;
595 	char *begin = *ptr, *end;
596 	timelib_long  value = 0;
597 	const timelib_lookup_table *tp;
598 
599 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
600 		++*ptr;
601 	}
602 	end = *ptr;
603 	word = timelib_calloc(1, end - begin + 1);
604 	memcpy(word, begin, end - begin);
605 
606 	for (tp = timelib_month_lookup; tp->name; tp++) {
607 		if (strcasecmp(word, tp->name) == 0) {
608 			value = tp->value;
609 		}
610 	}
611 
612 	timelib_free(word);
613 	return value;
614 }
615 
timelib_get_month(char ** ptr)616 static timelib_long timelib_get_month(char **ptr)
617 {
618 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
619 		++*ptr;
620 	}
621 	return timelib_lookup_month(ptr);
622 }
623 
timelib_eat_spaces(char ** ptr)624 static void timelib_eat_spaces(char **ptr)
625 {
626 	while (**ptr == ' ' || **ptr == '\t') {
627 		++*ptr;
628 	}
629 }
630 
timelib_eat_until_separator(char ** ptr)631 static void timelib_eat_until_separator(char **ptr)
632 {
633 	++*ptr;
634 	while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
635 		++*ptr;
636 	}
637 }
638 
timelib_lookup_relunit(char ** ptr)639 static const timelib_relunit* timelib_lookup_relunit(char **ptr)
640 {
641 	char *word;
642 	char *begin = *ptr, *end;
643 	const timelib_relunit *tp, *value = NULL;
644 
645 	while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' &&
646            **ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) {
647 		++*ptr;
648 	}
649 	end = *ptr;
650 	word = timelib_calloc(1, end - begin + 1);
651 	memcpy(word, begin, end - begin);
652 
653 	for (tp = timelib_relunit_lookup; tp->name; tp++) {
654 		if (strcasecmp(word, tp->name) == 0) {
655 			value = tp;
656 			break;
657 		}
658 	}
659 
660 	timelib_free(word);
661 	return value;
662 }
663 
timelib_set_relative(char ** ptr,timelib_sll amount,int behavior,Scanner * s)664 static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s)
665 {
666 	const timelib_relunit* relunit;
667 
668 	if (!(relunit = timelib_lookup_relunit(ptr))) {
669 		return;
670 	}
671 
672 	switch (relunit->unit) {
673 		case TIMELIB_MICROSEC: s->time->relative.f += (((double) amount * (double) relunit->multiplier) / 1000000); break;
674 		case TIMELIB_SECOND:   s->time->relative.s += amount * relunit->multiplier; break;
675 		case TIMELIB_MINUTE:   s->time->relative.i += amount * relunit->multiplier; break;
676 		case TIMELIB_HOUR:     s->time->relative.h += amount * relunit->multiplier; break;
677 		case TIMELIB_DAY:      s->time->relative.d += amount * relunit->multiplier; break;
678 		case TIMELIB_MONTH:    s->time->relative.m += amount * relunit->multiplier; break;
679 		case TIMELIB_YEAR:     s->time->relative.y += amount * relunit->multiplier; break;
680 
681 		case TIMELIB_WEEKDAY:
682 			TIMELIB_HAVE_WEEKDAY_RELATIVE();
683 			TIMELIB_UNHAVE_TIME();
684 			s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
685 			s->time->relative.weekday = relunit->multiplier;
686 			s->time->relative.weekday_behavior = behavior;
687 			break;
688 
689 		case TIMELIB_SPECIAL:
690 			TIMELIB_HAVE_SPECIAL_RELATIVE();
691 			TIMELIB_UNHAVE_TIME();
692 			s->time->relative.special.type = relunit->multiplier;
693 			s->time->relative.special.amount = amount;
694 	}
695 }
696 
abbr_search(const char * word,timelib_long gmtoffset,int isdst)697 const static timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst)
698 {
699 	int first_found = 0;
700 	const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
701 	const timelib_tz_lookup_table  *fmp;
702 
703 	if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) {
704 		return timelib_timezone_utc;
705 	}
706 
707 	for (tp = timelib_timezone_lookup; tp->name; tp++) {
708 		if (strcasecmp(word, tp->name) == 0) {
709 			if (!first_found) {
710 				first_found = 1;
711 				first_found_elem = tp;
712 				if (gmtoffset == -1) {
713 					return tp;
714 				}
715 			}
716 			if (tp->gmtoffset == gmtoffset) {
717 				return tp;
718 			}
719 		}
720 	}
721 	if (first_found) {
722 		return first_found_elem;
723 	}
724 
725 	/* Still didn't find anything, let's find the zone solely based on
726 	 * offset/isdst then */
727 	for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
728 		if ((fmp->gmtoffset * 60) == gmtoffset && fmp->type == isdst) {
729 			return fmp;
730 		}
731 	}
732 	return NULL;
733 }
734 
timelib_lookup_abbr(char ** ptr,int * dst,char ** tz_abbr,int * found)735 static timelib_long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, int *found)
736 {
737 	char *word;
738 	char *begin = *ptr, *end;
739 	timelib_long  value = 0;
740 	const timelib_tz_lookup_table *tp;
741 
742 	while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') {
743 		++*ptr;
744 	}
745 	end = *ptr;
746 	word = timelib_calloc(1, end - begin + 1);
747 	memcpy(word, begin, end - begin);
748 
749 	if ((tp = abbr_search(word, -1, 0))) {
750 		value = -tp->gmtoffset / 60;
751 		*dst = tp->type;
752 		value += tp->type * 60;
753 		*found = 1;
754 	} else {
755 		*found = 0;
756 	}
757 
758 	*tz_abbr = word;
759 	return value;
760 }
761 
timelib_parse_zone(char ** ptr,int * dst,timelib_time * t,int * tz_not_found,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_wrapper)762 timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper)
763 {
764 	timelib_tzinfo *res;
765 	timelib_long            retval = 0;
766 
767 	*tz_not_found = 0;
768 
769 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
770 		++*ptr;
771 	}
772 	if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
773 		*ptr += 3;
774 	}
775 	if (**ptr == '+') {
776 		++*ptr;
777 		t->is_localtime = 1;
778 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
779 		*tz_not_found = 0;
780 		t->dst = 0;
781 
782 		retval = -1 * timelib_parse_tz_cor(ptr);
783 	} else if (**ptr == '-') {
784 		++*ptr;
785 		t->is_localtime = 1;
786 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
787 		*tz_not_found = 0;
788 		t->dst = 0;
789 
790 		retval = timelib_parse_tz_cor(ptr);
791 	} else {
792 		int found = 0;
793 		timelib_long offset = 0;
794 		char *tz_abbr;
795 
796 		t->is_localtime = 1;
797 
798 		/* First, we lookup by abbreviation only */
799 		offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
800 		if (found) {
801 			t->zone_type = TIMELIB_ZONETYPE_ABBR;
802 			timelib_time_tz_abbr_update(t, tz_abbr);
803 		}
804 
805 		/* Otherwise, we look if we have a TimeZone identifier */
806 		if (!found || strcmp("UTC", tz_abbr) == 0) {
807 			if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) {
808 				t->tz_info = res;
809 				t->zone_type = TIMELIB_ZONETYPE_ID;
810 				found++;
811 			}
812 		}
813 		timelib_free(tz_abbr);
814 		*tz_not_found = (found == 0);
815 		retval = offset;
816 	}
817 	while (**ptr == ')') {
818 		++*ptr;
819 	}
820 	return retval;
821 }
822 
823 #define timelib_split_free(arg) {       \
824 	int i;                         \
825 	for (i = 0; i < arg.c; i++) {  \
826 		timelib_free(arg.v[i]);    \
827 	}                              \
828 	if (arg.v) {                   \
829 		timelib_free(arg.v);       \
830 	}                              \
831 }
832 
scan(Scanner * s,timelib_tz_get_wrapper tz_get_wrapper)833 static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
834 {
835 	uchar *cursor = s->cur;
836 	char *str, *ptr = NULL;
837 
838 std:
839 	s->tok = cursor;
840 	s->len = 0;
841 #line 965 "ext/date/lib/parse_date.re"
842 
843 
844 
845 #line 846 "<stdout>"
846 {
847 	YYCTYPE yych;
848 	unsigned int yyaccept = 0;
849 	static const unsigned char yybm[] = {
850 		  0,   0,   0,   0,   0,   0,   0,   0,
851 		  0, 100,   0,   0,   0,   0,   0,   0,
852 		  0,   0,   0,   0,   0,   0,   0,   0,
853 		  0,   0,   0,   0,   0,   0,   0,   0,
854 		100,   0,   0,   0,   0,   0,   0,   0,
855 		  0,   0,   0, 128,  64, 160,  96,   0,
856 		  2,   2,   2,   2,   2,   2,   2,   2,
857 		  2,   2,   0,   0,   0,   0,   0,   0,
858 		  0,   8,   8,   8,   8,   8,   8,   8,
859 		  8,   8,   8,   8,   8,   8,   8,   8,
860 		  8,   8,   8,   8,   8,   8,   8,   8,
861 		  8,   8,   8,   0,   0,   0,   0,   0,
862 		  0,  24,  24,  24,  88,  24,  24,  24,
863 		 88,  24,  24,  24,  24,  24,  88,  24,
864 		 24,  24,  88,  88,  88,  24,  24,  24,
865 		 24,  24,  24,   0,   0,   0,   0,   0,
866 		  0,   0,   0,   0,   0,   0,   0,   0,
867 		  0,   0,   0,   0,   0,   0,   0,   0,
868 		  0,   0,   0,   0,   0,   0,   0,   0,
869 		  0,   0,   0,   0,   0,   0,   0,   0,
870 		  0,   0,   0,   0,   0,   0,   0,   0,
871 		  0,   0,   0,   0,   0,   0,   0,   0,
872 		  0,   0,   0,   0,   0,   0,   0,   0,
873 		  0,   0,   0,   0,   0,   0,   0,   0,
874 		  0,   0,   0,   0,   0,   0,   0,   0,
875 		  0,   0,   0,   0,   0,   0,   0,   0,
876 		  0,   0,   0,   0,   0,   0,   0,   0,
877 		  0,   0,   0,   0,   0,   0,   0,   0,
878 		  0,   0,   0,   0,   0,   0,   0,   0,
879 		  0,   0,   0,   0,   0,   0,   0,   0,
880 		  0,   0,   0,   0,   0,   0,   0,   0,
881 		  0,   0,   0,   0,   0,   0,   0,   0,
882 	};
883 	YYDEBUG(0, *YYCURSOR);
884 	if ((YYLIMIT - YYCURSOR) < 33) YYFILL(33);
885 	yych = *YYCURSOR;
886 	switch (yych) {
887 	case 0x00:
888 	case '\n':	goto yy51;
889 	case '\t':
890 	case ' ':	goto yy48;
891 	case '(':	goto yy45;
892 	case '+':
893 	case '-':	goto yy30;
894 	case ',':
895 	case '.':	goto yy50;
896 	case '0':	goto yy25;
897 	case '1':	goto yy26;
898 	case '2':	goto yy27;
899 	case '3':	goto yy28;
900 	case '4':
901 	case '5':
902 	case '6':
903 	case '7':
904 	case '8':
905 	case '9':	goto yy29;
906 	case '@':	goto yy11;
907 	case 'A':	goto yy36;
908 	case 'B':	goto yy17;
909 	case 'C':
910 	case 'H':
911 	case 'K':
912 	case 'Q':
913 	case 'R':
914 	case 'U':
915 	case 'Z':	goto yy46;
916 	case 'D':	goto yy40;
917 	case 'E':	goto yy21;
918 	case 'F':	goto yy13;
919 	case 'G':	goto yy44;
920 	case 'I':	goto yy31;
921 	case 'J':	goto yy34;
922 	case 'L':	goto yy15;
923 	case 'M':	goto yy7;
924 	case 'N':	goto yy5;
925 	case 'O':	goto yy38;
926 	case 'P':	goto yy23;
927 	case 'S':	goto yy19;
928 	case 'T':	goto yy9;
929 	case 'V':	goto yy32;
930 	case 'W':	goto yy42;
931 	case 'X':	goto yy33;
932 	case 'Y':	goto yy2;
933 	case 'a':	goto yy37;
934 	case 'b':	goto yy18;
935 	case 'c':
936 	case 'g':
937 	case 'h':
938 	case 'i':
939 	case 'k':
940 	case 'q':
941 	case 'r':
942 	case 'u':
943 	case 'v':
944 	case 'x':
945 	case 'z':	goto yy47;
946 	case 'd':	goto yy41;
947 	case 'e':	goto yy22;
948 	case 'f':	goto yy14;
949 	case 'j':	goto yy35;
950 	case 'l':	goto yy16;
951 	case 'm':	goto yy8;
952 	case 'n':	goto yy6;
953 	case 'o':	goto yy39;
954 	case 'p':	goto yy24;
955 	case 's':	goto yy20;
956 	case 't':	goto yy10;
957 	case 'w':	goto yy43;
958 	case 'y':	goto yy4;
959 	default:	goto yy53;
960 	}
961 yy2:
962 	YYDEBUG(2, *YYCURSOR);
963 	++YYCURSOR;
964 	if ((yych = *YYCURSOR) <= 'E') {
965 		if (yych <= ')') {
966 			if (yych >= ')') goto yy164;
967 		} else {
968 			if (yych <= '@') goto yy3;
969 			if (yych <= 'D') goto yy165;
970 			goto yy1523;
971 		}
972 	} else {
973 		if (yych <= 'd') {
974 			if (yych <= 'Z') goto yy165;
975 			if (yych >= 'a') goto yy170;
976 		} else {
977 			if (yych <= 'e') goto yy1532;
978 			if (yych <= 'z') goto yy170;
979 		}
980 	}
981 yy3:
982 	YYDEBUG(3, *YYCURSOR);
983 #line 1673 "ext/date/lib/parse_date.re"
984 	{
985 		int tz_not_found;
986 		DEBUG_OUTPUT("tzcorrection | tz");
987 		TIMELIB_INIT;
988 		TIMELIB_HAVE_TZ();
989 		s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
990 		if (tz_not_found) {
991 			add_error(s, "The timezone could not be found in the database");
992 		}
993 		TIMELIB_DEINIT;
994 		return TIMELIB_TIMEZONE;
995 	}
996 #line 997 "<stdout>"
997 yy4:
998 	YYDEBUG(4, *YYCURSOR);
999 	yych = *++YYCURSOR;
1000 	if (yych <= 'E') {
1001 		if (yych <= ')') {
1002 			if (yych <= '(') goto yy3;
1003 			goto yy164;
1004 		} else {
1005 			if (yych <= '@') goto yy3;
1006 			if (yych <= 'D') goto yy165;
1007 			goto yy1523;
1008 		}
1009 	} else {
1010 		if (yych <= 'd') {
1011 			if (yych <= 'Z') goto yy165;
1012 			if (yych <= '`') goto yy3;
1013 			goto yy165;
1014 		} else {
1015 			if (yych <= 'e') goto yy1523;
1016 			if (yych <= 'z') goto yy165;
1017 			goto yy3;
1018 		}
1019 	}
1020 yy5:
1021 	YYDEBUG(5, *YYCURSOR);
1022 	yych = *++YYCURSOR;
1023 	if (yych <= 'O') {
1024 		if (yych <= 'D') {
1025 			if (yych == ')') goto yy164;
1026 			if (yych <= '@') goto yy3;
1027 			goto yy165;
1028 		} else {
1029 			if (yych <= 'H') {
1030 				if (yych <= 'E') goto yy1494;
1031 				goto yy165;
1032 			} else {
1033 				if (yych <= 'I') goto yy1495;
1034 				if (yych <= 'N') goto yy165;
1035 				goto yy1493;
1036 			}
1037 		}
1038 	} else {
1039 		if (yych <= 'h') {
1040 			if (yych <= '`') {
1041 				if (yych <= 'Z') goto yy165;
1042 				goto yy3;
1043 			} else {
1044 				if (yych == 'e') goto yy1510;
1045 				goto yy170;
1046 			}
1047 		} else {
1048 			if (yych <= 'n') {
1049 				if (yych <= 'i') goto yy1511;
1050 				goto yy170;
1051 			} else {
1052 				if (yych <= 'o') goto yy1509;
1053 				if (yych <= 'z') goto yy170;
1054 				goto yy3;
1055 			}
1056 		}
1057 	}
1058 yy6:
1059 	YYDEBUG(6, *YYCURSOR);
1060 	yych = *++YYCURSOR;
1061 	if (yych <= 'O') {
1062 		if (yych <= 'D') {
1063 			if (yych == ')') goto yy164;
1064 			if (yych <= '@') goto yy3;
1065 			goto yy165;
1066 		} else {
1067 			if (yych <= 'H') {
1068 				if (yych <= 'E') goto yy1494;
1069 				goto yy165;
1070 			} else {
1071 				if (yych <= 'I') goto yy1495;
1072 				if (yych <= 'N') goto yy165;
1073 				goto yy1493;
1074 			}
1075 		}
1076 	} else {
1077 		if (yych <= 'h') {
1078 			if (yych <= '`') {
1079 				if (yych <= 'Z') goto yy165;
1080 				goto yy3;
1081 			} else {
1082 				if (yych == 'e') goto yy1494;
1083 				goto yy165;
1084 			}
1085 		} else {
1086 			if (yych <= 'n') {
1087 				if (yych <= 'i') goto yy1495;
1088 				goto yy165;
1089 			} else {
1090 				if (yych <= 'o') goto yy1493;
1091 				if (yych <= 'z') goto yy165;
1092 				goto yy3;
1093 			}
1094 		}
1095 	}
1096 yy7:
1097 	YYDEBUG(7, *YYCURSOR);
1098 	yych = *++YYCURSOR;
1099 	if (yych <= 'O') {
1100 		if (yych <= 'A') {
1101 			if (yych == ')') goto yy164;
1102 			if (yych <= '@') goto yy3;
1103 			goto yy1463;
1104 		} else {
1105 			if (yych == 'I') goto yy1464;
1106 			if (yych <= 'N') goto yy165;
1107 			goto yy1465;
1108 		}
1109 	} else {
1110 		if (yych <= 'h') {
1111 			if (yych <= 'Z') goto yy165;
1112 			if (yych <= '`') goto yy3;
1113 			if (yych <= 'a') goto yy1478;
1114 			goto yy170;
1115 		} else {
1116 			if (yych <= 'n') {
1117 				if (yych <= 'i') goto yy1479;
1118 				goto yy170;
1119 			} else {
1120 				if (yych <= 'o') goto yy1480;
1121 				if (yych <= 'z') goto yy170;
1122 				goto yy3;
1123 			}
1124 		}
1125 	}
1126 yy8:
1127 	YYDEBUG(8, *YYCURSOR);
1128 	yych = *++YYCURSOR;
1129 	if (yych <= 'O') {
1130 		if (yych <= 'A') {
1131 			if (yych == ')') goto yy164;
1132 			if (yych <= '@') goto yy3;
1133 			goto yy1463;
1134 		} else {
1135 			if (yych == 'I') goto yy1464;
1136 			if (yych <= 'N') goto yy165;
1137 			goto yy1465;
1138 		}
1139 	} else {
1140 		if (yych <= 'h') {
1141 			if (yych <= 'Z') goto yy165;
1142 			if (yych <= '`') goto yy3;
1143 			if (yych <= 'a') goto yy1463;
1144 			goto yy165;
1145 		} else {
1146 			if (yych <= 'n') {
1147 				if (yych <= 'i') goto yy1464;
1148 				goto yy165;
1149 			} else {
1150 				if (yych <= 'o') goto yy1465;
1151 				if (yych <= 'z') goto yy165;
1152 				goto yy3;
1153 			}
1154 		}
1155 	}
1156 yy9:
1157 	YYDEBUG(9, *YYCURSOR);
1158 	yyaccept = 0;
1159 	yych = *(YYMARKER = ++YYCURSOR);
1160 	switch (yych) {
1161 	case ')':	goto yy164;
1162 	case '0':
1163 	case '1':	goto yy1393;
1164 	case '2':	goto yy1394;
1165 	case '3':
1166 	case '4':
1167 	case '5':
1168 	case '6':
1169 	case '7':
1170 	case '8':
1171 	case '9':	goto yy1395;
1172 	case 'A':
1173 	case 'B':
1174 	case 'C':
1175 	case 'D':
1176 	case 'F':
1177 	case 'G':
1178 	case 'I':
1179 	case 'J':
1180 	case 'K':
1181 	case 'L':
1182 	case 'M':
1183 	case 'N':
1184 	case 'P':
1185 	case 'Q':
1186 	case 'R':
1187 	case 'S':
1188 	case 'T':
1189 	case 'V':
1190 	case 'X':
1191 	case 'Y':
1192 	case 'Z':	goto yy165;
1193 	case 'E':	goto yy1388;
1194 	case 'H':	goto yy1389;
1195 	case 'O':	goto yy1390;
1196 	case 'U':	goto yy1391;
1197 	case 'W':	goto yy1392;
1198 	case 'a':
1199 	case 'b':
1200 	case 'c':
1201 	case 'd':
1202 	case 'f':
1203 	case 'g':
1204 	case 'i':
1205 	case 'j':
1206 	case 'k':
1207 	case 'l':
1208 	case 'm':
1209 	case 'n':
1210 	case 'p':
1211 	case 'q':
1212 	case 'r':
1213 	case 's':
1214 	case 't':
1215 	case 'v':
1216 	case 'x':
1217 	case 'y':
1218 	case 'z':	goto yy170;
1219 	case 'e':	goto yy1431;
1220 	case 'h':	goto yy1432;
1221 	case 'o':	goto yy1433;
1222 	case 'u':	goto yy1434;
1223 	case 'w':	goto yy1435;
1224 	default:	goto yy3;
1225 	}
1226 yy10:
1227 	YYDEBUG(10, *YYCURSOR);
1228 	yyaccept = 0;
1229 	yych = *(YYMARKER = ++YYCURSOR);
1230 	switch (yych) {
1231 	case ')':	goto yy164;
1232 	case '0':
1233 	case '1':	goto yy1393;
1234 	case '2':	goto yy1394;
1235 	case '3':
1236 	case '4':
1237 	case '5':
1238 	case '6':
1239 	case '7':
1240 	case '8':
1241 	case '9':	goto yy1395;
1242 	case 'A':
1243 	case 'B':
1244 	case 'C':
1245 	case 'D':
1246 	case 'F':
1247 	case 'G':
1248 	case 'I':
1249 	case 'J':
1250 	case 'K':
1251 	case 'L':
1252 	case 'M':
1253 	case 'N':
1254 	case 'P':
1255 	case 'Q':
1256 	case 'R':
1257 	case 'S':
1258 	case 'T':
1259 	case 'V':
1260 	case 'X':
1261 	case 'Y':
1262 	case 'Z':
1263 	case 'a':
1264 	case 'b':
1265 	case 'c':
1266 	case 'd':
1267 	case 'f':
1268 	case 'g':
1269 	case 'i':
1270 	case 'j':
1271 	case 'k':
1272 	case 'l':
1273 	case 'm':
1274 	case 'n':
1275 	case 'p':
1276 	case 'q':
1277 	case 'r':
1278 	case 's':
1279 	case 't':
1280 	case 'v':
1281 	case 'x':
1282 	case 'y':
1283 	case 'z':	goto yy165;
1284 	case 'E':
1285 	case 'e':	goto yy1388;
1286 	case 'H':
1287 	case 'h':	goto yy1389;
1288 	case 'O':
1289 	case 'o':	goto yy1390;
1290 	case 'U':
1291 	case 'u':	goto yy1391;
1292 	case 'W':
1293 	case 'w':	goto yy1392;
1294 	default:	goto yy3;
1295 	}
1296 yy11:
1297 	YYDEBUG(11, *YYCURSOR);
1298 	yyaccept = 1;
1299 	yych = *(YYMARKER = ++YYCURSOR);
1300 	if (yych == '-') goto yy1376;
1301 	if (yych <= '/') goto yy12;
1302 	if (yych <= '9') goto yy1377;
1303 yy12:
1304 	YYDEBUG(12, *YYCURSOR);
1305 #line 1768 "ext/date/lib/parse_date.re"
1306 	{
1307 		add_error(s, "Unexpected character");
1308 		goto std;
1309 	}
1310 #line 1311 "<stdout>"
1311 yy13:
1312 	YYDEBUG(13, *YYCURSOR);
1313 	yych = *++YYCURSOR;
1314 	if (yych <= 'R') {
1315 		if (yych <= 'E') {
1316 			if (yych <= ')') {
1317 				if (yych <= '(') goto yy3;
1318 				goto yy164;
1319 			} else {
1320 				if (yych <= '@') goto yy3;
1321 				if (yych <= 'D') goto yy165;
1322 				goto yy1311;
1323 			}
1324 		} else {
1325 			if (yych <= 'N') {
1326 				if (yych == 'I') goto yy1312;
1327 				goto yy165;
1328 			} else {
1329 				if (yych <= 'O') goto yy1313;
1330 				if (yych <= 'Q') goto yy165;
1331 				goto yy1314;
1332 			}
1333 		}
1334 	} else {
1335 		if (yych <= 'i') {
1336 			if (yych <= 'd') {
1337 				if (yych <= 'Z') goto yy165;
1338 				if (yych <= '`') goto yy3;
1339 				goto yy170;
1340 			} else {
1341 				if (yych <= 'e') goto yy1353;
1342 				if (yych <= 'h') goto yy170;
1343 				goto yy1354;
1344 			}
1345 		} else {
1346 			if (yych <= 'q') {
1347 				if (yych == 'o') goto yy1355;
1348 				goto yy170;
1349 			} else {
1350 				if (yych <= 'r') goto yy1356;
1351 				if (yych <= 'z') goto yy170;
1352 				goto yy3;
1353 			}
1354 		}
1355 	}
1356 yy14:
1357 	YYDEBUG(14, *YYCURSOR);
1358 	yych = *++YYCURSOR;
1359 	if (yych <= 'R') {
1360 		if (yych <= 'E') {
1361 			if (yych <= ')') {
1362 				if (yych <= '(') goto yy3;
1363 				goto yy164;
1364 			} else {
1365 				if (yych <= '@') goto yy3;
1366 				if (yych <= 'D') goto yy165;
1367 				goto yy1311;
1368 			}
1369 		} else {
1370 			if (yych <= 'N') {
1371 				if (yych == 'I') goto yy1312;
1372 				goto yy165;
1373 			} else {
1374 				if (yych <= 'O') goto yy1313;
1375 				if (yych <= 'Q') goto yy165;
1376 				goto yy1314;
1377 			}
1378 		}
1379 	} else {
1380 		if (yych <= 'i') {
1381 			if (yych <= 'd') {
1382 				if (yych <= 'Z') goto yy165;
1383 				if (yych <= '`') goto yy3;
1384 				goto yy165;
1385 			} else {
1386 				if (yych <= 'e') goto yy1311;
1387 				if (yych <= 'h') goto yy165;
1388 				goto yy1312;
1389 			}
1390 		} else {
1391 			if (yych <= 'q') {
1392 				if (yych == 'o') goto yy1313;
1393 				goto yy165;
1394 			} else {
1395 				if (yych <= 'r') goto yy1314;
1396 				if (yych <= 'z') goto yy165;
1397 				goto yy3;
1398 			}
1399 		}
1400 	}
1401 yy15:
1402 	YYDEBUG(15, *YYCURSOR);
1403 	yych = *++YYCURSOR;
1404 	if (yych <= 'A') {
1405 		if (yych == ')') goto yy164;
1406 		if (yych <= '@') goto yy3;
1407 		goto yy1297;
1408 	} else {
1409 		if (yych <= '`') {
1410 			if (yych <= 'Z') goto yy165;
1411 			goto yy3;
1412 		} else {
1413 			if (yych <= 'a') goto yy1308;
1414 			if (yych <= 'z') goto yy170;
1415 			goto yy3;
1416 		}
1417 	}
1418 yy16:
1419 	YYDEBUG(16, *YYCURSOR);
1420 	yych = *++YYCURSOR;
1421 	if (yych <= 'A') {
1422 		if (yych == ')') goto yy164;
1423 		if (yych <= '@') goto yy3;
1424 		goto yy1297;
1425 	} else {
1426 		if (yych <= '`') {
1427 			if (yych <= 'Z') goto yy165;
1428 			goto yy3;
1429 		} else {
1430 			if (yych <= 'a') goto yy1297;
1431 			if (yych <= 'z') goto yy165;
1432 			goto yy3;
1433 		}
1434 	}
1435 yy17:
1436 	YYDEBUG(17, *YYCURSOR);
1437 	yych = *++YYCURSOR;
1438 	if (yych <= 'A') {
1439 		if (yych == ')') goto yy164;
1440 		if (yych <= '@') goto yy3;
1441 		goto yy1276;
1442 	} else {
1443 		if (yych <= '`') {
1444 			if (yych <= 'Z') goto yy165;
1445 			goto yy3;
1446 		} else {
1447 			if (yych <= 'a') goto yy1294;
1448 			if (yych <= 'z') goto yy170;
1449 			goto yy3;
1450 		}
1451 	}
1452 yy18:
1453 	YYDEBUG(18, *YYCURSOR);
1454 	yych = *++YYCURSOR;
1455 	if (yych <= 'A') {
1456 		if (yych == ')') goto yy164;
1457 		if (yych <= '@') goto yy3;
1458 		goto yy1276;
1459 	} else {
1460 		if (yych <= '`') {
1461 			if (yych <= 'Z') goto yy165;
1462 			goto yy3;
1463 		} else {
1464 			if (yych <= 'a') goto yy1276;
1465 			if (yych <= 'z') goto yy165;
1466 			goto yy3;
1467 		}
1468 	}
1469 yy19:
1470 	YYDEBUG(19, *YYCURSOR);
1471 	yych = *++YYCURSOR;
1472 	if (yych <= 'U') {
1473 		if (yych <= 'D') {
1474 			if (yych <= ')') {
1475 				if (yych <= '(') goto yy3;
1476 				goto yy164;
1477 			} else {
1478 				if (yych <= '@') goto yy3;
1479 				if (yych <= 'A') goto yy1219;
1480 				goto yy165;
1481 			}
1482 		} else {
1483 			if (yych <= 'H') {
1484 				if (yych <= 'E') goto yy1218;
1485 				goto yy165;
1486 			} else {
1487 				if (yych <= 'I') goto yy1220;
1488 				if (yych <= 'T') goto yy165;
1489 				goto yy1221;
1490 			}
1491 		}
1492 	} else {
1493 		if (yych <= 'e') {
1494 			if (yych <= '`') {
1495 				if (yych <= 'Z') goto yy165;
1496 				goto yy3;
1497 			} else {
1498 				if (yych <= 'a') goto yy1248;
1499 				if (yych <= 'd') goto yy170;
1500 				goto yy1247;
1501 			}
1502 		} else {
1503 			if (yych <= 't') {
1504 				if (yych == 'i') goto yy1249;
1505 				goto yy170;
1506 			} else {
1507 				if (yych <= 'u') goto yy1250;
1508 				if (yych <= 'z') goto yy170;
1509 				goto yy3;
1510 			}
1511 		}
1512 	}
1513 yy20:
1514 	YYDEBUG(20, *YYCURSOR);
1515 	yych = *++YYCURSOR;
1516 	if (yych <= 'U') {
1517 		if (yych <= 'D') {
1518 			if (yych <= ')') {
1519 				if (yych <= '(') goto yy3;
1520 				goto yy164;
1521 			} else {
1522 				if (yych <= '@') goto yy3;
1523 				if (yych <= 'A') goto yy1219;
1524 				goto yy165;
1525 			}
1526 		} else {
1527 			if (yych <= 'H') {
1528 				if (yych <= 'E') goto yy1218;
1529 				goto yy165;
1530 			} else {
1531 				if (yych <= 'I') goto yy1220;
1532 				if (yych <= 'T') goto yy165;
1533 				goto yy1221;
1534 			}
1535 		}
1536 	} else {
1537 		if (yych <= 'e') {
1538 			if (yych <= '`') {
1539 				if (yych <= 'Z') goto yy165;
1540 				goto yy3;
1541 			} else {
1542 				if (yych <= 'a') goto yy1219;
1543 				if (yych <= 'd') goto yy165;
1544 				goto yy1218;
1545 			}
1546 		} else {
1547 			if (yych <= 't') {
1548 				if (yych == 'i') goto yy1220;
1549 				goto yy165;
1550 			} else {
1551 				if (yych <= 'u') goto yy1221;
1552 				if (yych <= 'z') goto yy165;
1553 				goto yy3;
1554 			}
1555 		}
1556 	}
1557 yy21:
1558 	YYDEBUG(21, *YYCURSOR);
1559 	yych = *++YYCURSOR;
1560 	if (yych <= 'L') {
1561 		if (yych <= '@') {
1562 			if (yych == ')') goto yy164;
1563 			goto yy3;
1564 		} else {
1565 			if (yych == 'I') goto yy1188;
1566 			if (yych <= 'K') goto yy165;
1567 			goto yy1189;
1568 		}
1569 	} else {
1570 		if (yych <= 'i') {
1571 			if (yych <= 'Z') goto yy165;
1572 			if (yych <= '`') goto yy3;
1573 			if (yych <= 'h') goto yy170;
1574 			goto yy1206;
1575 		} else {
1576 			if (yych == 'l') goto yy1207;
1577 			if (yych <= 'z') goto yy170;
1578 			goto yy3;
1579 		}
1580 	}
1581 yy22:
1582 	YYDEBUG(22, *YYCURSOR);
1583 	yych = *++YYCURSOR;
1584 	if (yych <= 'L') {
1585 		if (yych <= '@') {
1586 			if (yych == ')') goto yy164;
1587 			goto yy3;
1588 		} else {
1589 			if (yych == 'I') goto yy1188;
1590 			if (yych <= 'K') goto yy165;
1591 			goto yy1189;
1592 		}
1593 	} else {
1594 		if (yych <= 'i') {
1595 			if (yych <= 'Z') goto yy165;
1596 			if (yych <= '`') goto yy3;
1597 			if (yych <= 'h') goto yy165;
1598 			goto yy1188;
1599 		} else {
1600 			if (yych == 'l') goto yy1189;
1601 			if (yych <= 'z') goto yy165;
1602 			goto yy3;
1603 		}
1604 	}
1605 yy23:
1606 	YYDEBUG(23, *YYCURSOR);
1607 	yych = *++YYCURSOR;
1608 	if (yych <= 'R') {
1609 		if (yych <= ')') {
1610 			if (yych <= '(') goto yy3;
1611 			goto yy164;
1612 		} else {
1613 			if (yych <= '@') goto yy3;
1614 			if (yych <= 'Q') goto yy165;
1615 			goto yy1062;
1616 		}
1617 	} else {
1618 		if (yych <= 'q') {
1619 			if (yych <= 'Z') goto yy165;
1620 			if (yych <= '`') goto yy3;
1621 			goto yy170;
1622 		} else {
1623 			if (yych <= 'r') goto yy1181;
1624 			if (yych <= 'z') goto yy170;
1625 			goto yy3;
1626 		}
1627 	}
1628 yy24:
1629 	YYDEBUG(24, *YYCURSOR);
1630 	yych = *++YYCURSOR;
1631 	if (yych <= 'R') {
1632 		if (yych <= ')') {
1633 			if (yych <= '(') goto yy3;
1634 			goto yy164;
1635 		} else {
1636 			if (yych <= '@') goto yy3;
1637 			if (yych <= 'Q') goto yy165;
1638 			goto yy1062;
1639 		}
1640 	} else {
1641 		if (yych <= 'q') {
1642 			if (yych <= 'Z') goto yy165;
1643 			if (yych <= '`') goto yy3;
1644 			goto yy165;
1645 		} else {
1646 			if (yych <= 'r') goto yy1062;
1647 			if (yych <= 'z') goto yy165;
1648 			goto yy3;
1649 		}
1650 	}
1651 yy25:
1652 	YYDEBUG(25, *YYCURSOR);
1653 	yyaccept = 1;
1654 	yych = *(YYMARKER = ++YYCURSOR);
1655 	if (yych <= '`') {
1656 		if (yych <= '@') {
1657 			if (yych <= '-') {
1658 				if (yych <= 0x1F) {
1659 					if (yych == '\t') goto yy1016;
1660 					goto yy12;
1661 				} else {
1662 					if (yych <= ' ') goto yy1018;
1663 					if (yych <= ',') goto yy12;
1664 					goto yy437;
1665 				}
1666 			} else {
1667 				if (yych <= '0') {
1668 					if (yych <= '.') goto yy1028;
1669 					if (yych <= '/') goto yy436;
1670 					goto yy1061;
1671 				} else {
1672 					if (yych <= '9') goto yy1060;
1673 					if (yych <= ':') goto yy1029;
1674 					goto yy12;
1675 				}
1676 			}
1677 		} else {
1678 			if (yych <= 'G') {
1679 				if (yych <= 'D') {
1680 					if (yych <= 'A') goto yy1018;
1681 					if (yych <= 'C') goto yy12;
1682 					goto yy1018;
1683 				} else {
1684 					if (yych == 'F') goto yy1018;
1685 					goto yy12;
1686 				}
1687 			} else {
1688 				if (yych <= 'O') {
1689 					if (yych <= 'J') goto yy1018;
1690 					if (yych <= 'L') goto yy12;
1691 					goto yy1018;
1692 				} else {
1693 					if (yych <= 'R') goto yy12;
1694 					if (yych <= 'Y') goto yy1018;
1695 					goto yy12;
1696 				}
1697 			}
1698 		}
1699 	} else {
1700 		if (yych <= 'n') {
1701 			if (yych <= 'g') {
1702 				if (yych <= 'd') {
1703 					if (yych <= 'a') goto yy1018;
1704 					if (yych <= 'c') goto yy12;
1705 					goto yy1018;
1706 				} else {
1707 					if (yych == 'f') goto yy1018;
1708 					goto yy12;
1709 				}
1710 			} else {
1711 				if (yych <= 'j') {
1712 					if (yych == 'i') goto yy12;
1713 					goto yy1018;
1714 				} else {
1715 					if (yych <= 'l') goto yy12;
1716 					if (yych <= 'm') goto yy1018;
1717 					goto yy434;
1718 				}
1719 			}
1720 		} else {
1721 			if (yych <= 'u') {
1722 				if (yych <= 'r') {
1723 					if (yych <= 'o') goto yy1018;
1724 					if (yych <= 'q') goto yy12;
1725 					goto yy435;
1726 				} else {
1727 					if (yych <= 's') goto yy429;
1728 					if (yych <= 't') goto yy432;
1729 					goto yy1018;
1730 				}
1731 			} else {
1732 				if (yych <= 'x') {
1733 					if (yych == 'w') goto yy1018;
1734 					goto yy12;
1735 				} else {
1736 					if (yych <= 'y') goto yy1018;
1737 					if (yych == 0xC2) goto yy1018;
1738 					goto yy12;
1739 				}
1740 			}
1741 		}
1742 	}
1743 yy26:
1744 	YYDEBUG(26, *YYCURSOR);
1745 	yyaccept = 1;
1746 	yych = *(YYMARKER = ++YYCURSOR);
1747 	if (yych <= '`') {
1748 		if (yych <= '@') {
1749 			if (yych <= '-') {
1750 				if (yych <= 0x1F) {
1751 					if (yych == '\t') goto yy424;
1752 					goto yy12;
1753 				} else {
1754 					if (yych <= ' ') goto yy426;
1755 					if (yych <= ',') goto yy12;
1756 					goto yy437;
1757 				}
1758 			} else {
1759 				if (yych <= '2') {
1760 					if (yych <= '.') goto yy438;
1761 					if (yych <= '/') goto yy436;
1762 					goto yy1060;
1763 				} else {
1764 					if (yych <= '9') goto yy1027;
1765 					if (yych <= ':') goto yy447;
1766 					goto yy12;
1767 				}
1768 			}
1769 		} else {
1770 			if (yych <= 'G') {
1771 				if (yych <= 'D') {
1772 					if (yych <= 'A') goto yy426;
1773 					if (yych <= 'C') goto yy12;
1774 					goto yy426;
1775 				} else {
1776 					if (yych == 'F') goto yy426;
1777 					goto yy12;
1778 				}
1779 			} else {
1780 				if (yych <= 'P') {
1781 					if (yych <= 'J') goto yy426;
1782 					if (yych <= 'L') goto yy12;
1783 					goto yy426;
1784 				} else {
1785 					if (yych <= 'R') goto yy12;
1786 					if (yych <= 'Y') goto yy426;
1787 					goto yy12;
1788 				}
1789 			}
1790 		}
1791 	} else {
1792 		if (yych <= 'n') {
1793 			if (yych <= 'g') {
1794 				if (yych <= 'd') {
1795 					if (yych <= 'a') goto yy426;
1796 					if (yych <= 'c') goto yy12;
1797 					goto yy426;
1798 				} else {
1799 					if (yych == 'f') goto yy426;
1800 					goto yy12;
1801 				}
1802 			} else {
1803 				if (yych <= 'j') {
1804 					if (yych == 'i') goto yy12;
1805 					goto yy426;
1806 				} else {
1807 					if (yych <= 'l') goto yy12;
1808 					if (yych <= 'm') goto yy426;
1809 					goto yy434;
1810 				}
1811 			}
1812 		} else {
1813 			if (yych <= 'u') {
1814 				if (yych <= 'r') {
1815 					if (yych <= 'p') goto yy426;
1816 					if (yych <= 'q') goto yy12;
1817 					goto yy435;
1818 				} else {
1819 					if (yych <= 's') goto yy429;
1820 					if (yych <= 't') goto yy432;
1821 					goto yy426;
1822 				}
1823 			} else {
1824 				if (yych <= 'x') {
1825 					if (yych == 'w') goto yy426;
1826 					goto yy12;
1827 				} else {
1828 					if (yych <= 'y') goto yy426;
1829 					if (yych == 0xC2) goto yy426;
1830 					goto yy12;
1831 				}
1832 			}
1833 		}
1834 	}
1835 yy27:
1836 	YYDEBUG(27, *YYCURSOR);
1837 	yyaccept = 1;
1838 	yych = *(YYMARKER = ++YYCURSOR);
1839 	if (yych <= '`') {
1840 		if (yych <= '@') {
1841 			if (yych <= '-') {
1842 				if (yych <= 0x1F) {
1843 					if (yych == '\t') goto yy424;
1844 					goto yy12;
1845 				} else {
1846 					if (yych <= ' ') goto yy426;
1847 					if (yych <= ',') goto yy12;
1848 					goto yy437;
1849 				}
1850 			} else {
1851 				if (yych <= '4') {
1852 					if (yych <= '.') goto yy438;
1853 					if (yych <= '/') goto yy436;
1854 					goto yy1027;
1855 				} else {
1856 					if (yych <= '9') goto yy1014;
1857 					if (yych <= ':') goto yy447;
1858 					goto yy12;
1859 				}
1860 			}
1861 		} else {
1862 			if (yych <= 'G') {
1863 				if (yych <= 'D') {
1864 					if (yych <= 'A') goto yy426;
1865 					if (yych <= 'C') goto yy12;
1866 					goto yy426;
1867 				} else {
1868 					if (yych == 'F') goto yy426;
1869 					goto yy12;
1870 				}
1871 			} else {
1872 				if (yych <= 'P') {
1873 					if (yych <= 'J') goto yy426;
1874 					if (yych <= 'L') goto yy12;
1875 					goto yy426;
1876 				} else {
1877 					if (yych <= 'R') goto yy12;
1878 					if (yych <= 'Y') goto yy426;
1879 					goto yy12;
1880 				}
1881 			}
1882 		}
1883 	} else {
1884 		if (yych <= 'n') {
1885 			if (yych <= 'g') {
1886 				if (yych <= 'd') {
1887 					if (yych <= 'a') goto yy426;
1888 					if (yych <= 'c') goto yy12;
1889 					goto yy426;
1890 				} else {
1891 					if (yych == 'f') goto yy426;
1892 					goto yy12;
1893 				}
1894 			} else {
1895 				if (yych <= 'j') {
1896 					if (yych == 'i') goto yy12;
1897 					goto yy426;
1898 				} else {
1899 					if (yych <= 'l') goto yy12;
1900 					if (yych <= 'm') goto yy426;
1901 					goto yy434;
1902 				}
1903 			}
1904 		} else {
1905 			if (yych <= 'u') {
1906 				if (yych <= 'r') {
1907 					if (yych <= 'p') goto yy426;
1908 					if (yych <= 'q') goto yy12;
1909 					goto yy435;
1910 				} else {
1911 					if (yych <= 's') goto yy429;
1912 					if (yych <= 't') goto yy432;
1913 					goto yy426;
1914 				}
1915 			} else {
1916 				if (yych <= 'x') {
1917 					if (yych == 'w') goto yy426;
1918 					goto yy12;
1919 				} else {
1920 					if (yych <= 'y') goto yy426;
1921 					if (yych == 0xC2) goto yy426;
1922 					goto yy12;
1923 				}
1924 			}
1925 		}
1926 	}
1927 yy28:
1928 	YYDEBUG(28, *YYCURSOR);
1929 	yyaccept = 1;
1930 	yych = *(YYMARKER = ++YYCURSOR);
1931 	if (yych <= '`') {
1932 		if (yych <= '@') {
1933 			if (yych <= '-') {
1934 				if (yych <= 0x1F) {
1935 					if (yych == '\t') goto yy424;
1936 					goto yy12;
1937 				} else {
1938 					if (yych <= ' ') goto yy426;
1939 					if (yych <= ',') goto yy12;
1940 					goto yy437;
1941 				}
1942 			} else {
1943 				if (yych <= '1') {
1944 					if (yych <= '.') goto yy438;
1945 					if (yych <= '/') goto yy436;
1946 					goto yy1014;
1947 				} else {
1948 					if (yych <= '9') goto yy433;
1949 					if (yych <= ':') goto yy447;
1950 					goto yy12;
1951 				}
1952 			}
1953 		} else {
1954 			if (yych <= 'G') {
1955 				if (yych <= 'D') {
1956 					if (yych <= 'A') goto yy426;
1957 					if (yych <= 'C') goto yy12;
1958 					goto yy426;
1959 				} else {
1960 					if (yych == 'F') goto yy426;
1961 					goto yy12;
1962 				}
1963 			} else {
1964 				if (yych <= 'P') {
1965 					if (yych <= 'J') goto yy426;
1966 					if (yych <= 'L') goto yy12;
1967 					goto yy426;
1968 				} else {
1969 					if (yych <= 'R') goto yy12;
1970 					if (yych <= 'Y') goto yy426;
1971 					goto yy12;
1972 				}
1973 			}
1974 		}
1975 	} else {
1976 		if (yych <= 'n') {
1977 			if (yych <= 'g') {
1978 				if (yych <= 'd') {
1979 					if (yych <= 'a') goto yy426;
1980 					if (yych <= 'c') goto yy12;
1981 					goto yy426;
1982 				} else {
1983 					if (yych == 'f') goto yy426;
1984 					goto yy12;
1985 				}
1986 			} else {
1987 				if (yych <= 'j') {
1988 					if (yych == 'i') goto yy12;
1989 					goto yy426;
1990 				} else {
1991 					if (yych <= 'l') goto yy12;
1992 					if (yych <= 'm') goto yy426;
1993 					goto yy434;
1994 				}
1995 			}
1996 		} else {
1997 			if (yych <= 'u') {
1998 				if (yych <= 'r') {
1999 					if (yych <= 'p') goto yy426;
2000 					if (yych <= 'q') goto yy12;
2001 					goto yy435;
2002 				} else {
2003 					if (yych <= 's') goto yy429;
2004 					if (yych <= 't') goto yy432;
2005 					goto yy426;
2006 				}
2007 			} else {
2008 				if (yych <= 'x') {
2009 					if (yych == 'w') goto yy426;
2010 					goto yy12;
2011 				} else {
2012 					if (yych <= 'y') goto yy426;
2013 					if (yych == 0xC2) goto yy426;
2014 					goto yy12;
2015 				}
2016 			}
2017 		}
2018 	}
2019 yy29:
2020 	YYDEBUG(29, *YYCURSOR);
2021 	yyaccept = 1;
2022 	yych = *(YYMARKER = ++YYCURSOR);
2023 	if (yych <= 'a') {
2024 		if (yych <= 'A') {
2025 			if (yych <= '-') {
2026 				if (yych <= 0x1F) {
2027 					if (yych == '\t') goto yy424;
2028 					goto yy12;
2029 				} else {
2030 					if (yych <= ' ') goto yy426;
2031 					if (yych <= ',') goto yy12;
2032 					goto yy437;
2033 				}
2034 			} else {
2035 				if (yych <= '9') {
2036 					if (yych <= '.') goto yy438;
2037 					if (yych <= '/') goto yy436;
2038 					goto yy433;
2039 				} else {
2040 					if (yych <= ':') goto yy447;
2041 					if (yych <= '@') goto yy12;
2042 					goto yy426;
2043 				}
2044 			}
2045 		} else {
2046 			if (yych <= 'J') {
2047 				if (yych <= 'E') {
2048 					if (yych == 'D') goto yy426;
2049 					goto yy12;
2050 				} else {
2051 					if (yych == 'G') goto yy12;
2052 					goto yy426;
2053 				}
2054 			} else {
2055 				if (yych <= 'R') {
2056 					if (yych <= 'L') goto yy12;
2057 					if (yych <= 'P') goto yy426;
2058 					goto yy12;
2059 				} else {
2060 					if (yych <= 'Y') goto yy426;
2061 					if (yych <= '`') goto yy12;
2062 					goto yy426;
2063 				}
2064 			}
2065 		}
2066 	} else {
2067 		if (yych <= 'p') {
2068 			if (yych <= 'h') {
2069 				if (yych <= 'e') {
2070 					if (yych == 'd') goto yy426;
2071 					goto yy12;
2072 				} else {
2073 					if (yych == 'g') goto yy12;
2074 					goto yy426;
2075 				}
2076 			} else {
2077 				if (yych <= 'l') {
2078 					if (yych == 'j') goto yy426;
2079 					goto yy12;
2080 				} else {
2081 					if (yych == 'n') goto yy434;
2082 					goto yy426;
2083 				}
2084 			}
2085 		} else {
2086 			if (yych <= 'v') {
2087 				if (yych <= 's') {
2088 					if (yych <= 'q') goto yy12;
2089 					if (yych <= 'r') goto yy435;
2090 					goto yy429;
2091 				} else {
2092 					if (yych <= 't') goto yy432;
2093 					if (yych <= 'u') goto yy426;
2094 					goto yy12;
2095 				}
2096 			} else {
2097 				if (yych <= 'y') {
2098 					if (yych == 'x') goto yy12;
2099 					goto yy426;
2100 				} else {
2101 					if (yych == 0xC2) goto yy426;
2102 					goto yy12;
2103 				}
2104 			}
2105 		}
2106 	}
2107 yy30:
2108 	YYDEBUG(30, *YYCURSOR);
2109 	yyaccept = 1;
2110 	yych = *(YYMARKER = ++YYCURSOR);
2111 	if (yybm[0+yych] & 4) {
2112 		goto yy57;
2113 	}
2114 	switch (yych) {
2115 	case '+':
2116 	case '-':	goto yy404;
2117 	case '0':
2118 	case '1':	goto yy401;
2119 	case '2':	goto yy402;
2120 	case '3':
2121 	case '4':
2122 	case '5':
2123 	case '6':
2124 	case '7':
2125 	case '8':
2126 	case '9':	goto yy403;
2127 	default:	goto yy12;
2128 	}
2129 yy31:
2130 	YYDEBUG(31, *YYCURSOR);
2131 	yyaccept = 0;
2132 	yych = *(YYMARKER = ++YYCURSOR);
2133 	if (yych <= '9') {
2134 		if (yych <= '(') {
2135 			if (yych <= '\t') {
2136 				if (yych <= 0x08) goto yy3;
2137 				goto yy220;
2138 			} else {
2139 				if (yych == ' ') goto yy220;
2140 				goto yy3;
2141 			}
2142 		} else {
2143 			if (yych <= ',') {
2144 				if (yych <= ')') goto yy164;
2145 				goto yy3;
2146 			} else {
2147 				if (yych == '/') goto yy3;
2148 				goto yy220;
2149 			}
2150 		}
2151 	} else {
2152 		if (yych <= 'V') {
2153 			if (yych <= 'H') {
2154 				if (yych <= '@') goto yy3;
2155 				goto yy165;
2156 			} else {
2157 				if (yych <= 'I') goto yy400;
2158 				if (yych <= 'U') goto yy165;
2159 				goto yy399;
2160 			}
2161 		} else {
2162 			if (yych <= 'Z') {
2163 				if (yych == 'X') goto yy399;
2164 				goto yy165;
2165 			} else {
2166 				if (yych <= '`') goto yy3;
2167 				if (yych <= 'z') goto yy170;
2168 				goto yy3;
2169 			}
2170 		}
2171 	}
2172 yy32:
2173 	YYDEBUG(32, *YYCURSOR);
2174 	yyaccept = 0;
2175 	yych = *(YYMARKER = ++YYCURSOR);
2176 	if (yych <= '.') {
2177 		if (yych <= ' ') {
2178 			if (yych == '\t') goto yy220;
2179 			if (yych <= 0x1F) goto yy3;
2180 			goto yy220;
2181 		} else {
2182 			if (yych == ')') goto yy164;
2183 			if (yych <= ',') goto yy3;
2184 			goto yy220;
2185 		}
2186 	} else {
2187 		if (yych <= 'H') {
2188 			if (yych <= '/') goto yy3;
2189 			if (yych <= '9') goto yy220;
2190 			if (yych <= '@') goto yy3;
2191 			goto yy165;
2192 		} else {
2193 			if (yych <= 'Z') {
2194 				if (yych <= 'I') goto yy396;
2195 				goto yy165;
2196 			} else {
2197 				if (yych <= '`') goto yy3;
2198 				if (yych <= 'z') goto yy170;
2199 				goto yy3;
2200 			}
2201 		}
2202 	}
2203 yy33:
2204 	YYDEBUG(33, *YYCURSOR);
2205 	yyaccept = 0;
2206 	yych = *(YYMARKER = ++YYCURSOR);
2207 	if (yych <= '.') {
2208 		if (yych <= ' ') {
2209 			if (yych == '\t') goto yy220;
2210 			if (yych <= 0x1F) goto yy3;
2211 			goto yy220;
2212 		} else {
2213 			if (yych == ')') goto yy164;
2214 			if (yych <= ',') goto yy3;
2215 			goto yy220;
2216 		}
2217 	} else {
2218 		if (yych <= 'H') {
2219 			if (yych <= '/') goto yy3;
2220 			if (yych <= '9') goto yy220;
2221 			if (yych <= '@') goto yy3;
2222 			goto yy165;
2223 		} else {
2224 			if (yych <= 'Z') {
2225 				if (yych <= 'I') goto yy394;
2226 				goto yy165;
2227 			} else {
2228 				if (yych <= '`') goto yy3;
2229 				if (yych <= 'z') goto yy170;
2230 				goto yy3;
2231 			}
2232 		}
2233 	}
2234 yy34:
2235 	YYDEBUG(34, *YYCURSOR);
2236 	yych = *++YYCURSOR;
2237 	if (yych <= 'U') {
2238 		if (yych <= '@') {
2239 			if (yych == ')') goto yy164;
2240 			goto yy3;
2241 		} else {
2242 			if (yych <= 'A') goto yy377;
2243 			if (yych <= 'T') goto yy165;
2244 			goto yy376;
2245 		}
2246 	} else {
2247 		if (yych <= 'a') {
2248 			if (yych <= 'Z') goto yy165;
2249 			if (yych <= '`') goto yy3;
2250 			goto yy386;
2251 		} else {
2252 			if (yych == 'u') goto yy385;
2253 			if (yych <= 'z') goto yy170;
2254 			goto yy3;
2255 		}
2256 	}
2257 yy35:
2258 	YYDEBUG(35, *YYCURSOR);
2259 	yych = *++YYCURSOR;
2260 	if (yych <= 'U') {
2261 		if (yych <= '@') {
2262 			if (yych == ')') goto yy164;
2263 			goto yy3;
2264 		} else {
2265 			if (yych <= 'A') goto yy377;
2266 			if (yych <= 'T') goto yy165;
2267 			goto yy376;
2268 		}
2269 	} else {
2270 		if (yych <= 'a') {
2271 			if (yych <= 'Z') goto yy165;
2272 			if (yych <= '`') goto yy3;
2273 			goto yy377;
2274 		} else {
2275 			if (yych == 'u') goto yy376;
2276 			if (yych <= 'z') goto yy165;
2277 			goto yy3;
2278 		}
2279 	}
2280 yy36:
2281 	YYDEBUG(36, *YYCURSOR);
2282 	yych = *++YYCURSOR;
2283 	if (yych <= 'U') {
2284 		if (yych <= 'F') {
2285 			if (yych == ')') goto yy164;
2286 			if (yych <= '@') goto yy3;
2287 			goto yy165;
2288 		} else {
2289 			if (yych <= 'O') {
2290 				if (yych <= 'G') goto yy355;
2291 				goto yy165;
2292 			} else {
2293 				if (yych <= 'P') goto yy354;
2294 				if (yych <= 'T') goto yy165;
2295 				goto yy353;
2296 			}
2297 		}
2298 	} else {
2299 		if (yych <= 'o') {
2300 			if (yych <= '`') {
2301 				if (yych <= 'Z') goto yy165;
2302 				goto yy3;
2303 			} else {
2304 				if (yych == 'g') goto yy367;
2305 				goto yy170;
2306 			}
2307 		} else {
2308 			if (yych <= 't') {
2309 				if (yych <= 'p') goto yy366;
2310 				goto yy170;
2311 			} else {
2312 				if (yych <= 'u') goto yy365;
2313 				if (yych <= 'z') goto yy170;
2314 				goto yy3;
2315 			}
2316 		}
2317 	}
2318 yy37:
2319 	YYDEBUG(37, *YYCURSOR);
2320 	yych = *++YYCURSOR;
2321 	if (yych <= 'U') {
2322 		if (yych <= 'F') {
2323 			if (yych == ')') goto yy164;
2324 			if (yych <= '@') goto yy3;
2325 			goto yy165;
2326 		} else {
2327 			if (yych <= 'O') {
2328 				if (yych <= 'G') goto yy355;
2329 				goto yy165;
2330 			} else {
2331 				if (yych <= 'P') goto yy354;
2332 				if (yych <= 'T') goto yy165;
2333 				goto yy353;
2334 			}
2335 		}
2336 	} else {
2337 		if (yych <= 'o') {
2338 			if (yych <= '`') {
2339 				if (yych <= 'Z') goto yy165;
2340 				goto yy3;
2341 			} else {
2342 				if (yych == 'g') goto yy355;
2343 				goto yy165;
2344 			}
2345 		} else {
2346 			if (yych <= 't') {
2347 				if (yych <= 'p') goto yy354;
2348 				goto yy165;
2349 			} else {
2350 				if (yych <= 'u') goto yy353;
2351 				if (yych <= 'z') goto yy165;
2352 				goto yy3;
2353 			}
2354 		}
2355 	}
2356 yy38:
2357 	YYDEBUG(38, *YYCURSOR);
2358 	yych = *++YYCURSOR;
2359 	if (yych <= 'C') {
2360 		if (yych <= ')') {
2361 			if (yych <= '(') goto yy3;
2362 			goto yy164;
2363 		} else {
2364 			if (yych <= '@') goto yy3;
2365 			if (yych <= 'B') goto yy165;
2366 			goto yy343;
2367 		}
2368 	} else {
2369 		if (yych <= 'b') {
2370 			if (yych <= 'Z') goto yy165;
2371 			if (yych <= '`') goto yy3;
2372 			goto yy170;
2373 		} else {
2374 			if (yych <= 'c') goto yy348;
2375 			if (yych <= 'z') goto yy170;
2376 			goto yy3;
2377 		}
2378 	}
2379 yy39:
2380 	YYDEBUG(39, *YYCURSOR);
2381 	yych = *++YYCURSOR;
2382 	if (yych <= 'C') {
2383 		if (yych <= ')') {
2384 			if (yych <= '(') goto yy3;
2385 			goto yy164;
2386 		} else {
2387 			if (yych <= '@') goto yy3;
2388 			if (yych <= 'B') goto yy165;
2389 			goto yy343;
2390 		}
2391 	} else {
2392 		if (yych <= 'b') {
2393 			if (yych <= 'Z') goto yy165;
2394 			if (yych <= '`') goto yy3;
2395 			goto yy165;
2396 		} else {
2397 			if (yych <= 'c') goto yy343;
2398 			if (yych <= 'z') goto yy165;
2399 			goto yy3;
2400 		}
2401 	}
2402 yy40:
2403 	YYDEBUG(40, *YYCURSOR);
2404 	yych = *++YYCURSOR;
2405 	if (yych <= 'E') {
2406 		if (yych <= ')') {
2407 			if (yych <= '(') goto yy3;
2408 			goto yy164;
2409 		} else {
2410 			if (yych <= '@') goto yy3;
2411 			if (yych <= 'D') goto yy165;
2412 			goto yy216;
2413 		}
2414 	} else {
2415 		if (yych <= 'd') {
2416 			if (yych <= 'Z') goto yy165;
2417 			if (yych <= '`') goto yy3;
2418 			goto yy170;
2419 		} else {
2420 			if (yych <= 'e') goto yy334;
2421 			if (yych <= 'z') goto yy170;
2422 			goto yy3;
2423 		}
2424 	}
2425 yy41:
2426 	YYDEBUG(41, *YYCURSOR);
2427 	yych = *++YYCURSOR;
2428 	if (yych <= 'E') {
2429 		if (yych <= ')') {
2430 			if (yych <= '(') goto yy3;
2431 			goto yy164;
2432 		} else {
2433 			if (yych <= '@') goto yy3;
2434 			if (yych <= 'D') goto yy165;
2435 			goto yy216;
2436 		}
2437 	} else {
2438 		if (yych <= 'd') {
2439 			if (yych <= 'Z') goto yy165;
2440 			if (yych <= '`') goto yy3;
2441 			goto yy165;
2442 		} else {
2443 			if (yych <= 'e') goto yy216;
2444 			if (yych <= 'z') goto yy165;
2445 			goto yy3;
2446 		}
2447 	}
2448 yy42:
2449 	YYDEBUG(42, *YYCURSOR);
2450 	yych = *++YYCURSOR;
2451 	if (yych <= 'E') {
2452 		if (yych <= ')') {
2453 			if (yych <= '(') goto yy3;
2454 			goto yy164;
2455 		} else {
2456 			if (yych <= '@') goto yy3;
2457 			if (yych <= 'D') goto yy165;
2458 			goto yy189;
2459 		}
2460 	} else {
2461 		if (yych <= 'd') {
2462 			if (yych <= 'Z') goto yy165;
2463 			if (yych <= '`') goto yy3;
2464 			goto yy170;
2465 		} else {
2466 			if (yych <= 'e') goto yy203;
2467 			if (yych <= 'z') goto yy170;
2468 			goto yy3;
2469 		}
2470 	}
2471 yy43:
2472 	YYDEBUG(43, *YYCURSOR);
2473 	yych = *++YYCURSOR;
2474 	if (yych <= 'E') {
2475 		if (yych <= ')') {
2476 			if (yych <= '(') goto yy3;
2477 			goto yy164;
2478 		} else {
2479 			if (yych <= '@') goto yy3;
2480 			if (yych <= 'D') goto yy165;
2481 			goto yy189;
2482 		}
2483 	} else {
2484 		if (yych <= 'd') {
2485 			if (yych <= 'Z') goto yy165;
2486 			if (yych <= '`') goto yy3;
2487 			goto yy165;
2488 		} else {
2489 			if (yych <= 'e') goto yy189;
2490 			if (yych <= 'z') goto yy165;
2491 			goto yy3;
2492 		}
2493 	}
2494 yy44:
2495 	YYDEBUG(44, *YYCURSOR);
2496 	yych = *++YYCURSOR;
2497 	if (yych <= 'L') {
2498 		if (yych == ')') goto yy164;
2499 		if (yych <= '@') goto yy3;
2500 		goto yy165;
2501 	} else {
2502 		if (yych <= 'Z') {
2503 			if (yych <= 'M') goto yy181;
2504 			goto yy165;
2505 		} else {
2506 			if (yych <= '`') goto yy3;
2507 			if (yych <= 'z') goto yy170;
2508 			goto yy3;
2509 		}
2510 	}
2511 yy45:
2512 	YYDEBUG(45, *YYCURSOR);
2513 	yych = *++YYCURSOR;
2514 	if (yych <= '@') goto yy12;
2515 	if (yych <= 'Z') goto yy180;
2516 	if (yych <= '`') goto yy12;
2517 	if (yych <= 'z') goto yy180;
2518 	goto yy12;
2519 yy46:
2520 	YYDEBUG(46, *YYCURSOR);
2521 	yych = *++YYCURSOR;
2522 	if (yych <= '@') {
2523 		if (yych == ')') goto yy164;
2524 		goto yy3;
2525 	} else {
2526 		if (yych <= 'Z') goto yy165;
2527 		if (yych <= '`') goto yy3;
2528 		if (yych <= 'z') goto yy170;
2529 		goto yy3;
2530 	}
2531 yy47:
2532 	YYDEBUG(47, *YYCURSOR);
2533 	yych = *++YYCURSOR;
2534 	if (yych <= '@') {
2535 		if (yych == ')') goto yy164;
2536 		goto yy3;
2537 	} else {
2538 		if (yych <= 'Z') goto yy165;
2539 		if (yych <= '`') goto yy3;
2540 		if (yych <= 'z') goto yy165;
2541 		goto yy3;
2542 	}
2543 yy48:
2544 	YYDEBUG(48, *YYCURSOR);
2545 	yyaccept = 2;
2546 	yych = *(YYMARKER = ++YYCURSOR);
2547 	if (yybm[0+yych] & 4) {
2548 		goto yy57;
2549 	}
2550 	if (yych <= '/') goto yy49;
2551 	if (yych <= '9') goto yy54;
2552 yy49:
2553 	YYDEBUG(49, *YYCURSOR);
2554 #line 1757 "ext/date/lib/parse_date.re"
2555 	{
2556 		goto std;
2557 	}
2558 #line 2559 "<stdout>"
2559 yy50:
2560 	YYDEBUG(50, *YYCURSOR);
2561 	yych = *++YYCURSOR;
2562 	goto yy49;
2563 yy51:
2564 	YYDEBUG(51, *YYCURSOR);
2565 	++YYCURSOR;
2566 	YYDEBUG(52, *YYCURSOR);
2567 #line 1762 "ext/date/lib/parse_date.re"
2568 	{
2569 		s->pos = cursor; s->line++;
2570 		goto std;
2571 	}
2572 #line 2573 "<stdout>"
2573 yy53:
2574 	YYDEBUG(53, *YYCURSOR);
2575 	yych = *++YYCURSOR;
2576 	goto yy12;
2577 yy54:
2578 	YYDEBUG(54, *YYCURSOR);
2579 	++YYCURSOR;
2580 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
2581 	yych = *YYCURSOR;
2582 	YYDEBUG(55, *YYCURSOR);
2583 	if (yybm[0+yych] & 2) {
2584 		goto yy54;
2585 	}
2586 	if (yych <= 'X') {
2587 		if (yych <= 'G') {
2588 			if (yych <= ' ') {
2589 				if (yych == '\t') goto yy59;
2590 				if (yych >= ' ') goto yy59;
2591 			} else {
2592 				if (yych <= 'D') {
2593 					if (yych >= 'D') goto yy66;
2594 				} else {
2595 					if (yych == 'F') goto yy67;
2596 				}
2597 			}
2598 		} else {
2599 			if (yych <= 'S') {
2600 				if (yych <= 'L') {
2601 					if (yych <= 'H') goto yy65;
2602 				} else {
2603 					if (yych <= 'M') goto yy61;
2604 					if (yych >= 'S') goto yy64;
2605 				}
2606 			} else {
2607 				if (yych <= 'U') {
2608 					if (yych <= 'T') goto yy70;
2609 					goto yy63;
2610 				} else {
2611 					if (yych == 'W') goto yy69;
2612 				}
2613 			}
2614 		}
2615 	} else {
2616 		if (yych <= 'r') {
2617 			if (yych <= 'f') {
2618 				if (yych <= 'c') {
2619 					if (yych <= 'Y') goto yy68;
2620 				} else {
2621 					if (yych <= 'd') goto yy66;
2622 					if (yych >= 'f') goto yy67;
2623 				}
2624 			} else {
2625 				if (yych <= 'h') {
2626 					if (yych >= 'h') goto yy65;
2627 				} else {
2628 					if (yych == 'm') goto yy61;
2629 				}
2630 			}
2631 		} else {
2632 			if (yych <= 'w') {
2633 				if (yych <= 't') {
2634 					if (yych <= 's') goto yy64;
2635 					goto yy70;
2636 				} else {
2637 					if (yych <= 'u') goto yy63;
2638 					if (yych >= 'w') goto yy69;
2639 				}
2640 			} else {
2641 				if (yych <= 'y') {
2642 					if (yych >= 'y') goto yy68;
2643 				} else {
2644 					if (yych == 0xC2) goto yy62;
2645 				}
2646 			}
2647 		}
2648 	}
2649 yy56:
2650 	YYDEBUG(56, *YYCURSOR);
2651 	YYCURSOR = YYMARKER;
2652 	if (yyaccept <= 16) {
2653 		if (yyaccept <= 8) {
2654 			if (yyaccept <= 4) {
2655 				if (yyaccept <= 2) {
2656 					if (yyaccept <= 1) {
2657 						if (yyaccept == 0) {
2658 							goto yy3;
2659 						} else {
2660 							goto yy12;
2661 						}
2662 					} else {
2663 						goto yy49;
2664 					}
2665 				} else {
2666 					if (yyaccept == 3) {
2667 						goto yy74;
2668 					} else {
2669 						goto yy191;
2670 					}
2671 				}
2672 			} else {
2673 				if (yyaccept <= 6) {
2674 					if (yyaccept == 5) {
2675 						goto yy218;
2676 					} else {
2677 						goto yy232;
2678 					}
2679 				} else {
2680 					if (yyaccept == 7) {
2681 						goto yy246;
2682 					} else {
2683 						goto yy357;
2684 					}
2685 				}
2686 			}
2687 		} else {
2688 			if (yyaccept <= 12) {
2689 				if (yyaccept <= 10) {
2690 					if (yyaccept == 9) {
2691 						goto yy440;
2692 					} else {
2693 						goto yy455;
2694 					}
2695 				} else {
2696 					if (yyaccept == 11) {
2697 						goto yy576;
2698 					} else {
2699 						goto yy621;
2700 					}
2701 				}
2702 			} else {
2703 				if (yyaccept <= 14) {
2704 					if (yyaccept == 13) {
2705 						goto yy631;
2706 					} else {
2707 						goto yy728;
2708 					}
2709 				} else {
2710 					if (yyaccept == 15) {
2711 						goto yy748;
2712 					} else {
2713 						goto yy779;
2714 					}
2715 				}
2716 			}
2717 		}
2718 	} else {
2719 		if (yyaccept <= 25) {
2720 			if (yyaccept <= 21) {
2721 				if (yyaccept <= 19) {
2722 					if (yyaccept <= 18) {
2723 						if (yyaccept == 17) {
2724 							goto yy786;
2725 						} else {
2726 							goto yy813;
2727 						}
2728 					} else {
2729 						goto yy758;
2730 					}
2731 				} else {
2732 					if (yyaccept == 20) {
2733 						goto yy419;
2734 					} else {
2735 						goto yy938;
2736 					}
2737 				}
2738 			} else {
2739 				if (yyaccept <= 23) {
2740 					if (yyaccept == 22) {
2741 						goto yy807;
2742 					} else {
2743 						goto yy1032;
2744 					}
2745 				} else {
2746 					if (yyaccept == 24) {
2747 						goto yy1040;
2748 					} else {
2749 						goto yy1084;
2750 					}
2751 				}
2752 			}
2753 		} else {
2754 			if (yyaccept <= 29) {
2755 				if (yyaccept <= 27) {
2756 					if (yyaccept == 26) {
2757 						goto yy1108;
2758 					} else {
2759 						goto yy1284;
2760 					}
2761 				} else {
2762 					if (yyaccept == 28) {
2763 						goto yy1379;
2764 					} else {
2765 						goto yy1417;
2766 					}
2767 				}
2768 			} else {
2769 				if (yyaccept <= 31) {
2770 					if (yyaccept == 30) {
2771 						goto yy1420;
2772 					} else {
2773 						goto yy1500;
2774 					}
2775 				} else {
2776 					if (yyaccept == 32) {
2777 						goto yy1508;
2778 					} else {
2779 						goto yy1531;
2780 					}
2781 				}
2782 			}
2783 		}
2784 	}
2785 yy57:
2786 	YYDEBUG(57, *YYCURSOR);
2787 	++YYCURSOR;
2788 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
2789 	yych = *YYCURSOR;
2790 	YYDEBUG(58, *YYCURSOR);
2791 	if (yybm[0+yych] & 4) {
2792 		goto yy57;
2793 	}
2794 	if (yych <= '/') goto yy56;
2795 	if (yych <= '9') goto yy54;
2796 	goto yy56;
2797 yy59:
2798 	YYDEBUG(59, *YYCURSOR);
2799 	++YYCURSOR;
2800 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
2801 	yych = *YYCURSOR;
2802 yy60:
2803 	YYDEBUG(60, *YYCURSOR);
2804 	if (yych <= 'X') {
2805 		if (yych <= 'G') {
2806 			if (yych <= ' ') {
2807 				if (yych == '\t') goto yy59;
2808 				if (yych <= 0x1F) goto yy56;
2809 				goto yy59;
2810 			} else {
2811 				if (yych <= 'D') {
2812 					if (yych <= 'C') goto yy56;
2813 					goto yy66;
2814 				} else {
2815 					if (yych == 'F') goto yy67;
2816 					goto yy56;
2817 				}
2818 			}
2819 		} else {
2820 			if (yych <= 'S') {
2821 				if (yych <= 'L') {
2822 					if (yych <= 'H') goto yy65;
2823 					goto yy56;
2824 				} else {
2825 					if (yych <= 'M') goto yy61;
2826 					if (yych <= 'R') goto yy56;
2827 					goto yy64;
2828 				}
2829 			} else {
2830 				if (yych <= 'U') {
2831 					if (yych <= 'T') goto yy70;
2832 					goto yy63;
2833 				} else {
2834 					if (yych == 'W') goto yy69;
2835 					goto yy56;
2836 				}
2837 			}
2838 		}
2839 	} else {
2840 		if (yych <= 'r') {
2841 			if (yych <= 'f') {
2842 				if (yych <= 'c') {
2843 					if (yych <= 'Y') goto yy68;
2844 					goto yy56;
2845 				} else {
2846 					if (yych <= 'd') goto yy66;
2847 					if (yych <= 'e') goto yy56;
2848 					goto yy67;
2849 				}
2850 			} else {
2851 				if (yych <= 'h') {
2852 					if (yych <= 'g') goto yy56;
2853 					goto yy65;
2854 				} else {
2855 					if (yych != 'm') goto yy56;
2856 				}
2857 			}
2858 		} else {
2859 			if (yych <= 'w') {
2860 				if (yych <= 't') {
2861 					if (yych <= 's') goto yy64;
2862 					goto yy70;
2863 				} else {
2864 					if (yych <= 'u') goto yy63;
2865 					if (yych <= 'v') goto yy56;
2866 					goto yy69;
2867 				}
2868 			} else {
2869 				if (yych <= 'y') {
2870 					if (yych <= 'x') goto yy56;
2871 					goto yy68;
2872 				} else {
2873 					if (yych == 0xC2) goto yy62;
2874 					goto yy56;
2875 				}
2876 			}
2877 		}
2878 	}
2879 yy61:
2880 	YYDEBUG(61, *YYCURSOR);
2881 	yych = *++YYCURSOR;
2882 	if (yych <= 'S') {
2883 		if (yych <= 'N') {
2884 			if (yych == 'I') goto yy138;
2885 			goto yy56;
2886 		} else {
2887 			if (yych <= 'O') goto yy137;
2888 			if (yych <= 'R') goto yy56;
2889 			goto yy139;
2890 		}
2891 	} else {
2892 		if (yych <= 'n') {
2893 			if (yych == 'i') goto yy138;
2894 			goto yy56;
2895 		} else {
2896 			if (yych <= 'o') goto yy137;
2897 			if (yych == 's') goto yy139;
2898 			goto yy56;
2899 		}
2900 	}
2901 yy62:
2902 	YYDEBUG(62, *YYCURSOR);
2903 	yych = *++YYCURSOR;
2904 	if (yych == 0xB5) goto yy134;
2905 	goto yy56;
2906 yy63:
2907 	YYDEBUG(63, *YYCURSOR);
2908 	yych = *++YYCURSOR;
2909 	if (yych == 'S') goto yy132;
2910 	if (yych == 's') goto yy132;
2911 	goto yy56;
2912 yy64:
2913 	YYDEBUG(64, *YYCURSOR);
2914 	yych = *++YYCURSOR;
2915 	if (yych <= 'U') {
2916 		if (yych <= 'D') {
2917 			if (yych == 'A') goto yy119;
2918 			goto yy56;
2919 		} else {
2920 			if (yych <= 'E') goto yy120;
2921 			if (yych <= 'T') goto yy56;
2922 			goto yy118;
2923 		}
2924 	} else {
2925 		if (yych <= 'd') {
2926 			if (yych == 'a') goto yy119;
2927 			goto yy56;
2928 		} else {
2929 			if (yych <= 'e') goto yy120;
2930 			if (yych == 'u') goto yy118;
2931 			goto yy56;
2932 		}
2933 	}
2934 yy65:
2935 	YYDEBUG(65, *YYCURSOR);
2936 	yych = *++YYCURSOR;
2937 	if (yych == 'O') goto yy116;
2938 	if (yych == 'o') goto yy116;
2939 	goto yy56;
2940 yy66:
2941 	YYDEBUG(66, *YYCURSOR);
2942 	yych = *++YYCURSOR;
2943 	if (yych == 'A') goto yy115;
2944 	if (yych == 'a') goto yy115;
2945 	goto yy56;
2946 yy67:
2947 	YYDEBUG(67, *YYCURSOR);
2948 	yych = *++YYCURSOR;
2949 	if (yych <= 'R') {
2950 		if (yych == 'O') goto yy100;
2951 		if (yych <= 'Q') goto yy56;
2952 		goto yy99;
2953 	} else {
2954 		if (yych <= 'o') {
2955 			if (yych <= 'n') goto yy56;
2956 			goto yy100;
2957 		} else {
2958 			if (yych == 'r') goto yy99;
2959 			goto yy56;
2960 		}
2961 	}
2962 yy68:
2963 	YYDEBUG(68, *YYCURSOR);
2964 	yych = *++YYCURSOR;
2965 	if (yych == 'E') goto yy96;
2966 	if (yych == 'e') goto yy96;
2967 	goto yy56;
2968 yy69:
2969 	YYDEBUG(69, *YYCURSOR);
2970 	yych = *++YYCURSOR;
2971 	if (yych == 'E') goto yy84;
2972 	if (yych == 'e') goto yy84;
2973 	goto yy56;
2974 yy70:
2975 	YYDEBUG(70, *YYCURSOR);
2976 	yych = *++YYCURSOR;
2977 	if (yych <= 'U') {
2978 		if (yych == 'H') goto yy71;
2979 		if (yych <= 'T') goto yy56;
2980 		goto yy72;
2981 	} else {
2982 		if (yych <= 'h') {
2983 			if (yych <= 'g') goto yy56;
2984 		} else {
2985 			if (yych == 'u') goto yy72;
2986 			goto yy56;
2987 		}
2988 	}
2989 yy71:
2990 	YYDEBUG(71, *YYCURSOR);
2991 	yych = *++YYCURSOR;
2992 	if (yych == 'U') goto yy79;
2993 	if (yych == 'u') goto yy79;
2994 	goto yy56;
2995 yy72:
2996 	YYDEBUG(72, *YYCURSOR);
2997 	yych = *++YYCURSOR;
2998 	if (yych == 'E') goto yy73;
2999 	if (yych != 'e') goto yy56;
3000 yy73:
3001 	YYDEBUG(73, *YYCURSOR);
3002 	yyaccept = 3;
3003 	yych = *(YYMARKER = ++YYCURSOR);
3004 	if (yych == 'S') goto yy75;
3005 	if (yych == 's') goto yy75;
3006 yy74:
3007 	YYDEBUG(74, *YYCURSOR);
3008 #line 1741 "ext/date/lib/parse_date.re"
3009 	{
3010 		timelib_ull i;
3011 		DEBUG_OUTPUT("relative");
3012 		TIMELIB_INIT;
3013 		TIMELIB_HAVE_RELATIVE();
3014 
3015 		while(*ptr) {
3016 			i = timelib_get_unsigned_nr((char **) &ptr, 24);
3017 			timelib_eat_spaces((char **) &ptr);
3018 			timelib_set_relative((char **) &ptr, i, 1, s);
3019 		}
3020 		TIMELIB_DEINIT;
3021 		return TIMELIB_RELATIVE;
3022 	}
3023 #line 3024 "<stdout>"
3024 yy75:
3025 	YYDEBUG(75, *YYCURSOR);
3026 	yych = *++YYCURSOR;
3027 	if (yych == 'D') goto yy76;
3028 	if (yych != 'd') goto yy56;
3029 yy76:
3030 	YYDEBUG(76, *YYCURSOR);
3031 	yych = *++YYCURSOR;
3032 	if (yych == 'A') goto yy77;
3033 	if (yych != 'a') goto yy56;
3034 yy77:
3035 	YYDEBUG(77, *YYCURSOR);
3036 	yych = *++YYCURSOR;
3037 	if (yych == 'Y') goto yy78;
3038 	if (yych != 'y') goto yy56;
3039 yy78:
3040 	YYDEBUG(78, *YYCURSOR);
3041 	yych = *++YYCURSOR;
3042 	goto yy74;
3043 yy79:
3044 	YYDEBUG(79, *YYCURSOR);
3045 	yyaccept = 3;
3046 	yych = *(YYMARKER = ++YYCURSOR);
3047 	if (yych == 'R') goto yy80;
3048 	if (yych != 'r') goto yy74;
3049 yy80:
3050 	YYDEBUG(80, *YYCURSOR);
3051 	yych = *++YYCURSOR;
3052 	if (yych == 'S') goto yy81;
3053 	if (yych != 's') goto yy56;
3054 yy81:
3055 	YYDEBUG(81, *YYCURSOR);
3056 	yych = *++YYCURSOR;
3057 	if (yych == 'D') goto yy82;
3058 	if (yych != 'd') goto yy56;
3059 yy82:
3060 	YYDEBUG(82, *YYCURSOR);
3061 	yych = *++YYCURSOR;
3062 	if (yych == 'A') goto yy83;
3063 	if (yych != 'a') goto yy56;
3064 yy83:
3065 	YYDEBUG(83, *YYCURSOR);
3066 	yych = *++YYCURSOR;
3067 	if (yych == 'Y') goto yy78;
3068 	if (yych == 'y') goto yy78;
3069 	goto yy56;
3070 yy84:
3071 	YYDEBUG(84, *YYCURSOR);
3072 	yych = *++YYCURSOR;
3073 	if (yych <= 'E') {
3074 		if (yych <= 'C') goto yy56;
3075 		if (yych <= 'D') goto yy86;
3076 	} else {
3077 		if (yych <= 'c') goto yy56;
3078 		if (yych <= 'd') goto yy86;
3079 		if (yych >= 'f') goto yy56;
3080 	}
3081 	YYDEBUG(85, *YYCURSOR);
3082 	yych = *++YYCURSOR;
3083 	if (yych == 'K') goto yy92;
3084 	if (yych == 'k') goto yy92;
3085 	goto yy56;
3086 yy86:
3087 	YYDEBUG(86, *YYCURSOR);
3088 	yyaccept = 3;
3089 	yych = *(YYMARKER = ++YYCURSOR);
3090 	if (yych == 'N') goto yy87;
3091 	if (yych != 'n') goto yy74;
3092 yy87:
3093 	YYDEBUG(87, *YYCURSOR);
3094 	yych = *++YYCURSOR;
3095 	if (yych == 'E') goto yy88;
3096 	if (yych != 'e') goto yy56;
3097 yy88:
3098 	YYDEBUG(88, *YYCURSOR);
3099 	yych = *++YYCURSOR;
3100 	if (yych == 'S') goto yy89;
3101 	if (yych != 's') goto yy56;
3102 yy89:
3103 	YYDEBUG(89, *YYCURSOR);
3104 	yych = *++YYCURSOR;
3105 	if (yych == 'D') goto yy90;
3106 	if (yych != 'd') goto yy56;
3107 yy90:
3108 	YYDEBUG(90, *YYCURSOR);
3109 	yych = *++YYCURSOR;
3110 	if (yych == 'A') goto yy91;
3111 	if (yych != 'a') goto yy56;
3112 yy91:
3113 	YYDEBUG(91, *YYCURSOR);
3114 	yych = *++YYCURSOR;
3115 	if (yych == 'Y') goto yy78;
3116 	if (yych == 'y') goto yy78;
3117 	goto yy56;
3118 yy92:
3119 	YYDEBUG(92, *YYCURSOR);
3120 	yyaccept = 3;
3121 	yych = *(YYMARKER = ++YYCURSOR);
3122 	if (yych <= 'S') {
3123 		if (yych == 'D') goto yy93;
3124 		if (yych <= 'R') goto yy74;
3125 		goto yy78;
3126 	} else {
3127 		if (yych <= 'd') {
3128 			if (yych <= 'c') goto yy74;
3129 		} else {
3130 			if (yych == 's') goto yy78;
3131 			goto yy74;
3132 		}
3133 	}
3134 yy93:
3135 	YYDEBUG(93, *YYCURSOR);
3136 	yych = *++YYCURSOR;
3137 	if (yych == 'A') goto yy94;
3138 	if (yych != 'a') goto yy56;
3139 yy94:
3140 	YYDEBUG(94, *YYCURSOR);
3141 	yych = *++YYCURSOR;
3142 	if (yych == 'Y') goto yy95;
3143 	if (yych != 'y') goto yy56;
3144 yy95:
3145 	YYDEBUG(95, *YYCURSOR);
3146 	yych = *++YYCURSOR;
3147 	if (yych == 'S') goto yy78;
3148 	if (yych == 's') goto yy78;
3149 	goto yy74;
3150 yy96:
3151 	YYDEBUG(96, *YYCURSOR);
3152 	yych = *++YYCURSOR;
3153 	if (yych == 'A') goto yy97;
3154 	if (yych != 'a') goto yy56;
3155 yy97:
3156 	YYDEBUG(97, *YYCURSOR);
3157 	yych = *++YYCURSOR;
3158 	if (yych == 'R') goto yy98;
3159 	if (yych != 'r') goto yy56;
3160 yy98:
3161 	YYDEBUG(98, *YYCURSOR);
3162 	yych = *++YYCURSOR;
3163 	if (yych == 'S') goto yy78;
3164 	if (yych == 's') goto yy78;
3165 	goto yy74;
3166 yy99:
3167 	YYDEBUG(99, *YYCURSOR);
3168 	yych = *++YYCURSOR;
3169 	if (yych == 'I') goto yy112;
3170 	if (yych == 'i') goto yy112;
3171 	goto yy56;
3172 yy100:
3173 	YYDEBUG(100, *YYCURSOR);
3174 	yych = *++YYCURSOR;
3175 	if (yych == 'R') goto yy101;
3176 	if (yych != 'r') goto yy56;
3177 yy101:
3178 	YYDEBUG(101, *YYCURSOR);
3179 	yych = *++YYCURSOR;
3180 	if (yych == 'T') goto yy102;
3181 	if (yych != 't') goto yy56;
3182 yy102:
3183 	YYDEBUG(102, *YYCURSOR);
3184 	yych = *++YYCURSOR;
3185 	if (yych <= 'N') {
3186 		if (yych == 'H') goto yy104;
3187 		if (yych <= 'M') goto yy56;
3188 	} else {
3189 		if (yych <= 'h') {
3190 			if (yych <= 'g') goto yy56;
3191 			goto yy104;
3192 		} else {
3193 			if (yych != 'n') goto yy56;
3194 		}
3195 	}
3196 	YYDEBUG(103, *YYCURSOR);
3197 	yych = *++YYCURSOR;
3198 	if (yych == 'I') goto yy109;
3199 	if (yych == 'i') goto yy109;
3200 	goto yy56;
3201 yy104:
3202 	YYDEBUG(104, *YYCURSOR);
3203 	yych = *++YYCURSOR;
3204 	if (yych == 'N') goto yy105;
3205 	if (yych != 'n') goto yy56;
3206 yy105:
3207 	YYDEBUG(105, *YYCURSOR);
3208 	yych = *++YYCURSOR;
3209 	if (yych == 'I') goto yy106;
3210 	if (yych != 'i') goto yy56;
3211 yy106:
3212 	YYDEBUG(106, *YYCURSOR);
3213 	yych = *++YYCURSOR;
3214 	if (yych == 'G') goto yy107;
3215 	if (yych != 'g') goto yy56;
3216 yy107:
3217 	YYDEBUG(107, *YYCURSOR);
3218 	yych = *++YYCURSOR;
3219 	if (yych == 'H') goto yy108;
3220 	if (yych != 'h') goto yy56;
3221 yy108:
3222 	YYDEBUG(108, *YYCURSOR);
3223 	yych = *++YYCURSOR;
3224 	if (yych == 'T') goto yy98;
3225 	if (yych == 't') goto yy98;
3226 	goto yy56;
3227 yy109:
3228 	YYDEBUG(109, *YYCURSOR);
3229 	yych = *++YYCURSOR;
3230 	if (yych == 'G') goto yy110;
3231 	if (yych != 'g') goto yy56;
3232 yy110:
3233 	YYDEBUG(110, *YYCURSOR);
3234 	yych = *++YYCURSOR;
3235 	if (yych == 'H') goto yy111;
3236 	if (yych != 'h') goto yy56;
3237 yy111:
3238 	YYDEBUG(111, *YYCURSOR);
3239 	yych = *++YYCURSOR;
3240 	if (yych == 'T') goto yy98;
3241 	if (yych == 't') goto yy98;
3242 	goto yy56;
3243 yy112:
3244 	YYDEBUG(112, *YYCURSOR);
3245 	yyaccept = 3;
3246 	yych = *(YYMARKER = ++YYCURSOR);
3247 	if (yych == 'D') goto yy113;
3248 	if (yych != 'd') goto yy74;
3249 yy113:
3250 	YYDEBUG(113, *YYCURSOR);
3251 	yych = *++YYCURSOR;
3252 	if (yych == 'A') goto yy114;
3253 	if (yych != 'a') goto yy56;
3254 yy114:
3255 	YYDEBUG(114, *YYCURSOR);
3256 	yych = *++YYCURSOR;
3257 	if (yych == 'Y') goto yy78;
3258 	if (yych == 'y') goto yy78;
3259 	goto yy56;
3260 yy115:
3261 	YYDEBUG(115, *YYCURSOR);
3262 	yych = *++YYCURSOR;
3263 	if (yych == 'Y') goto yy98;
3264 	if (yych == 'y') goto yy98;
3265 	goto yy56;
3266 yy116:
3267 	YYDEBUG(116, *YYCURSOR);
3268 	yych = *++YYCURSOR;
3269 	if (yych == 'U') goto yy117;
3270 	if (yych != 'u') goto yy56;
3271 yy117:
3272 	YYDEBUG(117, *YYCURSOR);
3273 	yych = *++YYCURSOR;
3274 	if (yych == 'R') goto yy98;
3275 	if (yych == 'r') goto yy98;
3276 	goto yy56;
3277 yy118:
3278 	YYDEBUG(118, *YYCURSOR);
3279 	yych = *++YYCURSOR;
3280 	if (yych == 'N') goto yy129;
3281 	if (yych == 'n') goto yy129;
3282 	goto yy56;
3283 yy119:
3284 	YYDEBUG(119, *YYCURSOR);
3285 	yych = *++YYCURSOR;
3286 	if (yych == 'T') goto yy124;
3287 	if (yych == 't') goto yy124;
3288 	goto yy56;
3289 yy120:
3290 	YYDEBUG(120, *YYCURSOR);
3291 	yych = *++YYCURSOR;
3292 	if (yych == 'C') goto yy121;
3293 	if (yych != 'c') goto yy56;
3294 yy121:
3295 	YYDEBUG(121, *YYCURSOR);
3296 	yyaccept = 3;
3297 	yych = *(YYMARKER = ++YYCURSOR);
3298 	if (yych <= 'S') {
3299 		if (yych == 'O') goto yy122;
3300 		if (yych <= 'R') goto yy74;
3301 		goto yy78;
3302 	} else {
3303 		if (yych <= 'o') {
3304 			if (yych <= 'n') goto yy74;
3305 		} else {
3306 			if (yych == 's') goto yy78;
3307 			goto yy74;
3308 		}
3309 	}
3310 yy122:
3311 	YYDEBUG(122, *YYCURSOR);
3312 	yych = *++YYCURSOR;
3313 	if (yych == 'N') goto yy123;
3314 	if (yych != 'n') goto yy56;
3315 yy123:
3316 	YYDEBUG(123, *YYCURSOR);
3317 	yych = *++YYCURSOR;
3318 	if (yych == 'D') goto yy98;
3319 	if (yych == 'd') goto yy98;
3320 	goto yy56;
3321 yy124:
3322 	YYDEBUG(124, *YYCURSOR);
3323 	yyaccept = 3;
3324 	yych = *(YYMARKER = ++YYCURSOR);
3325 	if (yych == 'U') goto yy125;
3326 	if (yych != 'u') goto yy74;
3327 yy125:
3328 	YYDEBUG(125, *YYCURSOR);
3329 	yych = *++YYCURSOR;
3330 	if (yych == 'R') goto yy126;
3331 	if (yych != 'r') goto yy56;
3332 yy126:
3333 	YYDEBUG(126, *YYCURSOR);
3334 	yych = *++YYCURSOR;
3335 	if (yych == 'D') goto yy127;
3336 	if (yych != 'd') goto yy56;
3337 yy127:
3338 	YYDEBUG(127, *YYCURSOR);
3339 	yych = *++YYCURSOR;
3340 	if (yych == 'A') goto yy128;
3341 	if (yych != 'a') goto yy56;
3342 yy128:
3343 	YYDEBUG(128, *YYCURSOR);
3344 	yych = *++YYCURSOR;
3345 	if (yych == 'Y') goto yy78;
3346 	if (yych == 'y') goto yy78;
3347 	goto yy56;
3348 yy129:
3349 	YYDEBUG(129, *YYCURSOR);
3350 	yyaccept = 3;
3351 	yych = *(YYMARKER = ++YYCURSOR);
3352 	if (yych == 'D') goto yy130;
3353 	if (yych != 'd') goto yy74;
3354 yy130:
3355 	YYDEBUG(130, *YYCURSOR);
3356 	yych = *++YYCURSOR;
3357 	if (yych == 'A') goto yy131;
3358 	if (yych != 'a') goto yy56;
3359 yy131:
3360 	YYDEBUG(131, *YYCURSOR);
3361 	yych = *++YYCURSOR;
3362 	if (yych == 'Y') goto yy78;
3363 	if (yych == 'y') goto yy78;
3364 	goto yy56;
3365 yy132:
3366 	YYDEBUG(132, *YYCURSOR);
3367 	yych = *++YYCURSOR;
3368 	if (yych == 'E') goto yy133;
3369 	if (yych != 'e') goto yy56;
3370 yy133:
3371 	YYDEBUG(133, *YYCURSOR);
3372 	yych = *++YYCURSOR;
3373 	if (yych == 'C') goto yy98;
3374 	if (yych == 'c') goto yy98;
3375 	goto yy56;
3376 yy134:
3377 	YYDEBUG(134, *YYCURSOR);
3378 	yych = *++YYCURSOR;
3379 	if (yych == 'S') goto yy135;
3380 	if (yych != 's') goto yy56;
3381 yy135:
3382 	YYDEBUG(135, *YYCURSOR);
3383 	yyaccept = 3;
3384 	yych = *(YYMARKER = ++YYCURSOR);
3385 	if (yych == 'E') goto yy136;
3386 	if (yych != 'e') goto yy74;
3387 yy136:
3388 	YYDEBUG(136, *YYCURSOR);
3389 	yych = *++YYCURSOR;
3390 	if (yych == 'C') goto yy98;
3391 	if (yych == 'c') goto yy98;
3392 	goto yy56;
3393 yy137:
3394 	YYDEBUG(137, *YYCURSOR);
3395 	yych = *++YYCURSOR;
3396 	if (yych == 'N') goto yy160;
3397 	if (yych == 'n') goto yy160;
3398 	goto yy56;
3399 yy138:
3400 	YYDEBUG(138, *YYCURSOR);
3401 	yych = *++YYCURSOR;
3402 	if (yych <= 'N') {
3403 		if (yych <= 'K') {
3404 			if (yych == 'C') goto yy142;
3405 			goto yy56;
3406 		} else {
3407 			if (yych <= 'L') goto yy141;
3408 			if (yych <= 'M') goto yy56;
3409 			goto yy143;
3410 		}
3411 	} else {
3412 		if (yych <= 'k') {
3413 			if (yych == 'c') goto yy142;
3414 			goto yy56;
3415 		} else {
3416 			if (yych <= 'l') goto yy141;
3417 			if (yych == 'n') goto yy143;
3418 			goto yy56;
3419 		}
3420 	}
3421 yy139:
3422 	YYDEBUG(139, *YYCURSOR);
3423 	yyaccept = 3;
3424 	yych = *(YYMARKER = ++YYCURSOR);
3425 	if (yych == 'E') goto yy140;
3426 	if (yych != 'e') goto yy74;
3427 yy140:
3428 	YYDEBUG(140, *YYCURSOR);
3429 	yych = *++YYCURSOR;
3430 	if (yych == 'C') goto yy98;
3431 	if (yych == 'c') goto yy98;
3432 	goto yy56;
3433 yy141:
3434 	YYDEBUG(141, *YYCURSOR);
3435 	yych = *++YYCURSOR;
3436 	if (yych == 'L') goto yy153;
3437 	if (yych == 'l') goto yy153;
3438 	goto yy56;
3439 yy142:
3440 	YYDEBUG(142, *YYCURSOR);
3441 	yych = *++YYCURSOR;
3442 	if (yych == 'R') goto yy146;
3443 	if (yych == 'r') goto yy146;
3444 	goto yy56;
3445 yy143:
3446 	YYDEBUG(143, *YYCURSOR);
3447 	yyaccept = 3;
3448 	yych = *(YYMARKER = ++YYCURSOR);
3449 	if (yych <= 'U') {
3450 		if (yych == 'S') goto yy78;
3451 		if (yych <= 'T') goto yy74;
3452 	} else {
3453 		if (yych <= 's') {
3454 			if (yych <= 'r') goto yy74;
3455 			goto yy78;
3456 		} else {
3457 			if (yych != 'u') goto yy74;
3458 		}
3459 	}
3460 	YYDEBUG(144, *YYCURSOR);
3461 	yych = *++YYCURSOR;
3462 	if (yych == 'T') goto yy145;
3463 	if (yych != 't') goto yy56;
3464 yy145:
3465 	YYDEBUG(145, *YYCURSOR);
3466 	yych = *++YYCURSOR;
3467 	if (yych == 'E') goto yy98;
3468 	if (yych == 'e') goto yy98;
3469 	goto yy56;
3470 yy146:
3471 	YYDEBUG(146, *YYCURSOR);
3472 	yych = *++YYCURSOR;
3473 	if (yych == 'O') goto yy147;
3474 	if (yych != 'o') goto yy56;
3475 yy147:
3476 	YYDEBUG(147, *YYCURSOR);
3477 	yych = *++YYCURSOR;
3478 	if (yych == 'S') goto yy148;
3479 	if (yych != 's') goto yy56;
3480 yy148:
3481 	YYDEBUG(148, *YYCURSOR);
3482 	yych = *++YYCURSOR;
3483 	if (yych == 'E') goto yy149;
3484 	if (yych != 'e') goto yy56;
3485 yy149:
3486 	YYDEBUG(149, *YYCURSOR);
3487 	yych = *++YYCURSOR;
3488 	if (yych == 'C') goto yy150;
3489 	if (yych != 'c') goto yy56;
3490 yy150:
3491 	YYDEBUG(150, *YYCURSOR);
3492 	yych = *++YYCURSOR;
3493 	if (yych == 'O') goto yy151;
3494 	if (yych != 'o') goto yy56;
3495 yy151:
3496 	YYDEBUG(151, *YYCURSOR);
3497 	yych = *++YYCURSOR;
3498 	if (yych == 'N') goto yy152;
3499 	if (yych != 'n') goto yy56;
3500 yy152:
3501 	YYDEBUG(152, *YYCURSOR);
3502 	yych = *++YYCURSOR;
3503 	if (yych == 'D') goto yy98;
3504 	if (yych == 'd') goto yy98;
3505 	goto yy56;
3506 yy153:
3507 	YYDEBUG(153, *YYCURSOR);
3508 	yych = *++YYCURSOR;
3509 	if (yych == 'I') goto yy154;
3510 	if (yych != 'i') goto yy56;
3511 yy154:
3512 	YYDEBUG(154, *YYCURSOR);
3513 	yych = *++YYCURSOR;
3514 	if (yych == 'S') goto yy155;
3515 	if (yych != 's') goto yy56;
3516 yy155:
3517 	YYDEBUG(155, *YYCURSOR);
3518 	yych = *++YYCURSOR;
3519 	if (yych == 'E') goto yy156;
3520 	if (yych != 'e') goto yy56;
3521 yy156:
3522 	YYDEBUG(156, *YYCURSOR);
3523 	yych = *++YYCURSOR;
3524 	if (yych == 'C') goto yy157;
3525 	if (yych != 'c') goto yy56;
3526 yy157:
3527 	YYDEBUG(157, *YYCURSOR);
3528 	yych = *++YYCURSOR;
3529 	if (yych == 'O') goto yy158;
3530 	if (yych != 'o') goto yy56;
3531 yy158:
3532 	YYDEBUG(158, *YYCURSOR);
3533 	yych = *++YYCURSOR;
3534 	if (yych == 'N') goto yy159;
3535 	if (yych != 'n') goto yy56;
3536 yy159:
3537 	YYDEBUG(159, *YYCURSOR);
3538 	yych = *++YYCURSOR;
3539 	if (yych == 'D') goto yy98;
3540 	if (yych == 'd') goto yy98;
3541 	goto yy56;
3542 yy160:
3543 	YYDEBUG(160, *YYCURSOR);
3544 	yyaccept = 3;
3545 	yych = *(YYMARKER = ++YYCURSOR);
3546 	if (yych <= 'T') {
3547 		if (yych == 'D') goto yy161;
3548 		if (yych <= 'S') goto yy74;
3549 		goto yy162;
3550 	} else {
3551 		if (yych <= 'd') {
3552 			if (yych <= 'c') goto yy74;
3553 		} else {
3554 			if (yych == 't') goto yy162;
3555 			goto yy74;
3556 		}
3557 	}
3558 yy161:
3559 	YYDEBUG(161, *YYCURSOR);
3560 	yych = *++YYCURSOR;
3561 	if (yych == 'A') goto yy163;
3562 	if (yych == 'a') goto yy163;
3563 	goto yy56;
3564 yy162:
3565 	YYDEBUG(162, *YYCURSOR);
3566 	yych = *++YYCURSOR;
3567 	if (yych == 'H') goto yy98;
3568 	if (yych == 'h') goto yy98;
3569 	goto yy56;
3570 yy163:
3571 	YYDEBUG(163, *YYCURSOR);
3572 	yych = *++YYCURSOR;
3573 	if (yych == 'Y') goto yy78;
3574 	if (yych == 'y') goto yy78;
3575 	goto yy56;
3576 yy164:
3577 	YYDEBUG(164, *YYCURSOR);
3578 	yych = *++YYCURSOR;
3579 	goto yy3;
3580 yy165:
3581 	YYDEBUG(165, *YYCURSOR);
3582 	yych = *++YYCURSOR;
3583 	if (yych <= '@') {
3584 		if (yych == ')') goto yy164;
3585 		goto yy3;
3586 	} else {
3587 		if (yych <= 'Z') goto yy166;
3588 		if (yych <= '`') goto yy3;
3589 		if (yych >= '{') goto yy3;
3590 	}
3591 yy166:
3592 	YYDEBUG(166, *YYCURSOR);
3593 	yych = *++YYCURSOR;
3594 	if (yych <= '@') {
3595 		if (yych == ')') goto yy164;
3596 		goto yy3;
3597 	} else {
3598 		if (yych <= 'Z') goto yy167;
3599 		if (yych <= '`') goto yy3;
3600 		if (yych >= '{') goto yy3;
3601 	}
3602 yy167:
3603 	YYDEBUG(167, *YYCURSOR);
3604 	yych = *++YYCURSOR;
3605 	if (yych <= '@') {
3606 		if (yych == ')') goto yy164;
3607 		goto yy3;
3608 	} else {
3609 		if (yych <= 'Z') goto yy168;
3610 		if (yych <= '`') goto yy3;
3611 		if (yych >= '{') goto yy3;
3612 	}
3613 yy168:
3614 	YYDEBUG(168, *YYCURSOR);
3615 	yych = *++YYCURSOR;
3616 	if (yych <= '@') {
3617 		if (yych == ')') goto yy164;
3618 		goto yy3;
3619 	} else {
3620 		if (yych <= 'Z') goto yy169;
3621 		if (yych <= '`') goto yy3;
3622 		if (yych >= '{') goto yy3;
3623 	}
3624 yy169:
3625 	YYDEBUG(169, *YYCURSOR);
3626 	yych = *++YYCURSOR;
3627 	if (yych == ')') goto yy164;
3628 	goto yy3;
3629 yy170:
3630 	YYDEBUG(170, *YYCURSOR);
3631 	yyaccept = 0;
3632 	yych = *(YYMARKER = ++YYCURSOR);
3633 	if (yych <= '/') {
3634 		if (yych <= ',') {
3635 			if (yych == ')') goto yy164;
3636 			goto yy3;
3637 		} else {
3638 			if (yych == '.') goto yy3;
3639 			goto yy172;
3640 		}
3641 	} else {
3642 		if (yych <= '^') {
3643 			if (yych <= '@') goto yy3;
3644 			if (yych <= 'Z') goto yy166;
3645 			goto yy3;
3646 		} else {
3647 			if (yych <= '_') goto yy172;
3648 			if (yych <= '`') goto yy3;
3649 			if (yych >= '{') goto yy3;
3650 		}
3651 	}
3652 yy171:
3653 	YYDEBUG(171, *YYCURSOR);
3654 	yyaccept = 0;
3655 	yych = *(YYMARKER = ++YYCURSOR);
3656 	if (yych <= '/') {
3657 		if (yych <= ',') {
3658 			if (yych == ')') goto yy164;
3659 			goto yy3;
3660 		} else {
3661 			if (yych == '.') goto yy3;
3662 		}
3663 	} else {
3664 		if (yych <= '^') {
3665 			if (yych <= '@') goto yy3;
3666 			if (yych <= 'Z') goto yy167;
3667 			goto yy3;
3668 		} else {
3669 			if (yych <= '_') goto yy172;
3670 			if (yych <= '`') goto yy3;
3671 			if (yych <= 'z') goto yy175;
3672 			goto yy3;
3673 		}
3674 	}
3675 yy172:
3676 	YYDEBUG(172, *YYCURSOR);
3677 	++YYCURSOR;
3678 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3679 	yych = *YYCURSOR;
3680 	if (yybm[0+yych] & 8) {
3681 		goto yy173;
3682 	}
3683 	goto yy56;
3684 yy173:
3685 	YYDEBUG(173, *YYCURSOR);
3686 	yyaccept = 0;
3687 	YYMARKER = ++YYCURSOR;
3688 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3689 	yych = *YYCURSOR;
3690 	YYDEBUG(174, *YYCURSOR);
3691 	if (yybm[0+yych] & 8) {
3692 		goto yy173;
3693 	}
3694 	if (yych <= '.') {
3695 		if (yych == '-') goto yy172;
3696 		goto yy3;
3697 	} else {
3698 		if (yych <= '/') goto yy172;
3699 		if (yych == '_') goto yy172;
3700 		goto yy3;
3701 	}
3702 yy175:
3703 	YYDEBUG(175, *YYCURSOR);
3704 	yyaccept = 0;
3705 	yych = *(YYMARKER = ++YYCURSOR);
3706 	if (yych <= '/') {
3707 		if (yych <= ',') {
3708 			if (yych == ')') goto yy164;
3709 			goto yy3;
3710 		} else {
3711 			if (yych == '.') goto yy3;
3712 			goto yy172;
3713 		}
3714 	} else {
3715 		if (yych <= '^') {
3716 			if (yych <= '@') goto yy3;
3717 			if (yych <= 'Z') goto yy168;
3718 			goto yy3;
3719 		} else {
3720 			if (yych <= '_') goto yy172;
3721 			if (yych <= '`') goto yy3;
3722 			if (yych >= '{') goto yy3;
3723 		}
3724 	}
3725 yy176:
3726 	YYDEBUG(176, *YYCURSOR);
3727 	yyaccept = 0;
3728 	yych = *(YYMARKER = ++YYCURSOR);
3729 	if (yych <= '/') {
3730 		if (yych <= ',') {
3731 			if (yych == ')') goto yy164;
3732 			goto yy3;
3733 		} else {
3734 			if (yych == '.') goto yy3;
3735 			goto yy172;
3736 		}
3737 	} else {
3738 		if (yych <= '^') {
3739 			if (yych <= '@') goto yy3;
3740 			if (yych <= 'Z') goto yy169;
3741 			goto yy3;
3742 		} else {
3743 			if (yych <= '_') goto yy172;
3744 			if (yych <= '`') goto yy3;
3745 			if (yych >= '{') goto yy3;
3746 		}
3747 	}
3748 yy177:
3749 	YYDEBUG(177, *YYCURSOR);
3750 	yyaccept = 0;
3751 	yych = *(YYMARKER = ++YYCURSOR);
3752 	if (yybm[0+yych] & 16) {
3753 		goto yy178;
3754 	}
3755 	if (yych <= '-') {
3756 		if (yych == ')') goto yy164;
3757 		if (yych <= ',') goto yy3;
3758 		goto yy172;
3759 	} else {
3760 		if (yych <= '/') {
3761 			if (yych <= '.') goto yy3;
3762 			goto yy172;
3763 		} else {
3764 			if (yych == '_') goto yy172;
3765 			goto yy3;
3766 		}
3767 	}
3768 yy178:
3769 	YYDEBUG(178, *YYCURSOR);
3770 	++YYCURSOR;
3771 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3772 	yych = *YYCURSOR;
3773 yy179:
3774 	YYDEBUG(179, *YYCURSOR);
3775 	if (yybm[0+yych] & 16) {
3776 		goto yy178;
3777 	}
3778 	if (yych <= '.') {
3779 		if (yych == '-') goto yy172;
3780 		goto yy56;
3781 	} else {
3782 		if (yych <= '/') goto yy172;
3783 		if (yych == '_') goto yy172;
3784 		goto yy56;
3785 	}
3786 yy180:
3787 	YYDEBUG(180, *YYCURSOR);
3788 	yych = *++YYCURSOR;
3789 	if (yych <= '@') {
3790 		if (yych == ')') goto yy164;
3791 		goto yy3;
3792 	} else {
3793 		if (yych <= 'Z') goto yy165;
3794 		if (yych <= '`') goto yy3;
3795 		if (yych <= 'z') goto yy165;
3796 		goto yy3;
3797 	}
3798 yy181:
3799 	YYDEBUG(181, *YYCURSOR);
3800 	yych = *++YYCURSOR;
3801 	if (yych <= 'S') {
3802 		if (yych == ')') goto yy164;
3803 		if (yych <= '@') goto yy3;
3804 		goto yy166;
3805 	} else {
3806 		if (yych <= 'Z') {
3807 			if (yych >= 'U') goto yy166;
3808 		} else {
3809 			if (yych <= '`') goto yy3;
3810 			if (yych <= 'z') goto yy166;
3811 			goto yy3;
3812 		}
3813 	}
3814 	YYDEBUG(182, *YYCURSOR);
3815 	yyaccept = 0;
3816 	yych = *(YYMARKER = ++YYCURSOR);
3817 	if (yych <= ',') {
3818 		if (yych <= ')') {
3819 			if (yych <= '(') goto yy3;
3820 			goto yy164;
3821 		} else {
3822 			if (yych != '+') goto yy3;
3823 		}
3824 	} else {
3825 		if (yych <= 'Z') {
3826 			if (yych <= '-') goto yy183;
3827 			if (yych <= '@') goto yy3;
3828 			goto yy167;
3829 		} else {
3830 			if (yych <= '`') goto yy3;
3831 			if (yych <= 'z') goto yy167;
3832 			goto yy3;
3833 		}
3834 	}
3835 yy183:
3836 	YYDEBUG(183, *YYCURSOR);
3837 	yych = *++YYCURSOR;
3838 	if (yych <= '/') goto yy56;
3839 	if (yych <= '1') goto yy184;
3840 	if (yych <= '2') goto yy185;
3841 	if (yych <= '9') goto yy186;
3842 	goto yy56;
3843 yy184:
3844 	YYDEBUG(184, *YYCURSOR);
3845 	yych = *++YYCURSOR;
3846 	if (yych <= '/') goto yy3;
3847 	if (yych <= '9') goto yy186;
3848 	if (yych <= ':') goto yy187;
3849 	goto yy3;
3850 yy185:
3851 	YYDEBUG(185, *YYCURSOR);
3852 	yych = *++YYCURSOR;
3853 	if (yych <= '5') {
3854 		if (yych <= '/') goto yy3;
3855 		if (yych >= '5') goto yy188;
3856 	} else {
3857 		if (yych <= '9') goto yy164;
3858 		if (yych <= ':') goto yy187;
3859 		goto yy3;
3860 	}
3861 yy186:
3862 	YYDEBUG(186, *YYCURSOR);
3863 	yych = *++YYCURSOR;
3864 	if (yych <= '/') goto yy3;
3865 	if (yych <= '5') goto yy188;
3866 	if (yych <= '9') goto yy164;
3867 	if (yych >= ';') goto yy3;
3868 yy187:
3869 	YYDEBUG(187, *YYCURSOR);
3870 	yych = *++YYCURSOR;
3871 	if (yych <= '/') goto yy3;
3872 	if (yych <= '5') goto yy188;
3873 	if (yych <= '9') goto yy164;
3874 	goto yy3;
3875 yy188:
3876 	YYDEBUG(188, *YYCURSOR);
3877 	yych = *++YYCURSOR;
3878 	if (yych <= '/') goto yy3;
3879 	if (yych <= '9') goto yy164;
3880 	goto yy3;
3881 yy189:
3882 	YYDEBUG(189, *YYCURSOR);
3883 	yych = *++YYCURSOR;
3884 	if (yych <= 'E') {
3885 		if (yych <= '@') {
3886 			if (yych == ')') goto yy164;
3887 			goto yy3;
3888 		} else {
3889 			if (yych <= 'C') goto yy166;
3890 			if (yych >= 'E') goto yy192;
3891 		}
3892 	} else {
3893 		if (yych <= 'c') {
3894 			if (yych <= 'Z') goto yy166;
3895 			if (yych <= '`') goto yy3;
3896 			goto yy166;
3897 		} else {
3898 			if (yych <= 'd') goto yy190;
3899 			if (yych <= 'e') goto yy192;
3900 			if (yych <= 'z') goto yy166;
3901 			goto yy3;
3902 		}
3903 	}
3904 yy190:
3905 	YYDEBUG(190, *YYCURSOR);
3906 	++YYCURSOR;
3907 	if ((yych = *YYCURSOR) <= 'N') {
3908 		if (yych <= ')') {
3909 			if (yych >= ')') goto yy164;
3910 		} else {
3911 			if (yych <= '@') goto yy191;
3912 			if (yych <= 'M') goto yy167;
3913 			goto yy198;
3914 		}
3915 	} else {
3916 		if (yych <= 'm') {
3917 			if (yych <= 'Z') goto yy167;
3918 			if (yych >= 'a') goto yy167;
3919 		} else {
3920 			if (yych <= 'n') goto yy198;
3921 			if (yych <= 'z') goto yy167;
3922 		}
3923 	}
3924 yy191:
3925 	YYDEBUG(191, *YYCURSOR);
3926 #line 1604 "ext/date/lib/parse_date.re"
3927 	{
3928 		const timelib_relunit* relunit;
3929 		DEBUG_OUTPUT("daytext");
3930 		TIMELIB_INIT;
3931 		TIMELIB_HAVE_RELATIVE();
3932 		TIMELIB_HAVE_WEEKDAY_RELATIVE();
3933 		TIMELIB_UNHAVE_TIME();
3934 		relunit = timelib_lookup_relunit((char**) &ptr);
3935 		s->time->relative.weekday = relunit->multiplier;
3936 		if (s->time->relative.weekday_behavior != 2) {
3937 			s->time->relative.weekday_behavior = 1;
3938 		}
3939 
3940 		TIMELIB_DEINIT;
3941 		return TIMELIB_WEEKDAY;
3942 	}
3943 #line 3944 "<stdout>"
3944 yy192:
3945 	YYDEBUG(192, *YYCURSOR);
3946 	yych = *++YYCURSOR;
3947 	if (yych <= 'K') {
3948 		if (yych <= ')') {
3949 			if (yych <= '(') goto yy3;
3950 			goto yy164;
3951 		} else {
3952 			if (yych <= '@') goto yy3;
3953 			if (yych <= 'J') goto yy167;
3954 		}
3955 	} else {
3956 		if (yych <= 'j') {
3957 			if (yych <= 'Z') goto yy167;
3958 			if (yych <= '`') goto yy3;
3959 			goto yy167;
3960 		} else {
3961 			if (yych <= 'k') goto yy193;
3962 			if (yych <= 'z') goto yy167;
3963 			goto yy3;
3964 		}
3965 	}
3966 yy193:
3967 	YYDEBUG(193, *YYCURSOR);
3968 	yych = *++YYCURSOR;
3969 	if (yych <= 'D') {
3970 		if (yych <= ')') {
3971 			if (yych <= '(') goto yy3;
3972 			goto yy164;
3973 		} else {
3974 			if (yych <= '@') goto yy3;
3975 			if (yych <= 'C') goto yy168;
3976 		}
3977 	} else {
3978 		if (yych <= 'c') {
3979 			if (yych <= 'Z') goto yy168;
3980 			if (yych <= '`') goto yy3;
3981 			goto yy168;
3982 		} else {
3983 			if (yych <= 'd') goto yy194;
3984 			if (yych <= 'z') goto yy168;
3985 			goto yy3;
3986 		}
3987 	}
3988 yy194:
3989 	YYDEBUG(194, *YYCURSOR);
3990 	yych = *++YYCURSOR;
3991 	if (yych <= 'A') {
3992 		if (yych == ')') goto yy164;
3993 		if (yych <= '@') goto yy3;
3994 	} else {
3995 		if (yych <= '`') {
3996 			if (yych <= 'Z') goto yy169;
3997 			goto yy3;
3998 		} else {
3999 			if (yych <= 'a') goto yy195;
4000 			if (yych <= 'z') goto yy169;
4001 			goto yy3;
4002 		}
4003 	}
4004 yy195:
4005 	YYDEBUG(195, *YYCURSOR);
4006 	yych = *++YYCURSOR;
4007 	if (yych <= 'X') {
4008 		if (yych == ')') goto yy164;
4009 		goto yy3;
4010 	} else {
4011 		if (yych <= 'Y') goto yy196;
4012 		if (yych != 'y') goto yy3;
4013 	}
4014 yy196:
4015 	YYDEBUG(196, *YYCURSOR);
4016 	yych = *++YYCURSOR;
4017 	if (yych == 'S') goto yy197;
4018 	if (yych != 's') goto yy191;
4019 yy197:
4020 	YYDEBUG(197, *YYCURSOR);
4021 	yych = *++YYCURSOR;
4022 	goto yy191;
4023 yy198:
4024 	YYDEBUG(198, *YYCURSOR);
4025 	yych = *++YYCURSOR;
4026 	if (yych <= 'E') {
4027 		if (yych <= ')') {
4028 			if (yych <= '(') goto yy3;
4029 			goto yy164;
4030 		} else {
4031 			if (yych <= '@') goto yy3;
4032 			if (yych <= 'D') goto yy168;
4033 		}
4034 	} else {
4035 		if (yych <= 'd') {
4036 			if (yych <= 'Z') goto yy168;
4037 			if (yych <= '`') goto yy3;
4038 			goto yy168;
4039 		} else {
4040 			if (yych <= 'e') goto yy199;
4041 			if (yych <= 'z') goto yy168;
4042 			goto yy3;
4043 		}
4044 	}
4045 yy199:
4046 	YYDEBUG(199, *YYCURSOR);
4047 	yych = *++YYCURSOR;
4048 	if (yych <= 'S') {
4049 		if (yych <= ')') {
4050 			if (yych <= '(') goto yy3;
4051 			goto yy164;
4052 		} else {
4053 			if (yych <= '@') goto yy3;
4054 			if (yych <= 'R') goto yy169;
4055 		}
4056 	} else {
4057 		if (yych <= 'r') {
4058 			if (yych <= 'Z') goto yy169;
4059 			if (yych <= '`') goto yy3;
4060 			goto yy169;
4061 		} else {
4062 			if (yych <= 's') goto yy200;
4063 			if (yych <= 'z') goto yy169;
4064 			goto yy3;
4065 		}
4066 	}
4067 yy200:
4068 	YYDEBUG(200, *YYCURSOR);
4069 	yyaccept = 0;
4070 	yych = *(YYMARKER = ++YYCURSOR);
4071 	if (yych <= 'C') {
4072 		if (yych == ')') goto yy164;
4073 		goto yy3;
4074 	} else {
4075 		if (yych <= 'D') goto yy201;
4076 		if (yych != 'd') goto yy3;
4077 	}
4078 yy201:
4079 	YYDEBUG(201, *YYCURSOR);
4080 	yych = *++YYCURSOR;
4081 	if (yych == 'A') goto yy202;
4082 	if (yych != 'a') goto yy56;
4083 yy202:
4084 	YYDEBUG(202, *YYCURSOR);
4085 	yych = *++YYCURSOR;
4086 	if (yych == 'Y') goto yy197;
4087 	if (yych == 'y') goto yy197;
4088 	goto yy56;
4089 yy203:
4090 	YYDEBUG(203, *YYCURSOR);
4091 	yyaccept = 0;
4092 	yych = *(YYMARKER = ++YYCURSOR);
4093 	if (yych <= 'D') {
4094 		if (yych <= '-') {
4095 			if (yych == ')') goto yy164;
4096 			if (yych <= ',') goto yy3;
4097 			goto yy172;
4098 		} else {
4099 			if (yych <= '/') {
4100 				if (yych <= '.') goto yy3;
4101 				goto yy172;
4102 			} else {
4103 				if (yych <= '@') goto yy3;
4104 				if (yych <= 'C') goto yy166;
4105 				goto yy190;
4106 			}
4107 		}
4108 	} else {
4109 		if (yych <= '`') {
4110 			if (yych <= 'Z') {
4111 				if (yych <= 'E') goto yy192;
4112 				goto yy166;
4113 			} else {
4114 				if (yych == '_') goto yy172;
4115 				goto yy3;
4116 			}
4117 		} else {
4118 			if (yych <= 'd') {
4119 				if (yych <= 'c') goto yy171;
4120 			} else {
4121 				if (yych <= 'e') goto yy205;
4122 				if (yych <= 'z') goto yy171;
4123 				goto yy3;
4124 			}
4125 		}
4126 	}
4127 	YYDEBUG(204, *YYCURSOR);
4128 	yyaccept = 4;
4129 	yych = *(YYMARKER = ++YYCURSOR);
4130 	if (yych <= 'M') {
4131 		if (yych <= '-') {
4132 			if (yych == ')') goto yy164;
4133 			if (yych <= ',') goto yy191;
4134 			goto yy172;
4135 		} else {
4136 			if (yych == '/') goto yy172;
4137 			if (yych <= '@') goto yy191;
4138 			goto yy167;
4139 		}
4140 	} else {
4141 		if (yych <= '_') {
4142 			if (yych <= 'N') goto yy198;
4143 			if (yych <= 'Z') goto yy167;
4144 			if (yych <= '^') goto yy191;
4145 			goto yy172;
4146 		} else {
4147 			if (yych <= 'm') {
4148 				if (yych <= '`') goto yy191;
4149 				goto yy175;
4150 			} else {
4151 				if (yych <= 'n') goto yy211;
4152 				if (yych <= 'z') goto yy175;
4153 				goto yy191;
4154 			}
4155 		}
4156 	}
4157 yy205:
4158 	YYDEBUG(205, *YYCURSOR);
4159 	yyaccept = 0;
4160 	yych = *(YYMARKER = ++YYCURSOR);
4161 	if (yych <= 'J') {
4162 		if (yych <= '-') {
4163 			if (yych == ')') goto yy164;
4164 			if (yych <= ',') goto yy3;
4165 			goto yy172;
4166 		} else {
4167 			if (yych == '/') goto yy172;
4168 			if (yych <= '@') goto yy3;
4169 			goto yy167;
4170 		}
4171 	} else {
4172 		if (yych <= '_') {
4173 			if (yych <= 'K') goto yy193;
4174 			if (yych <= 'Z') goto yy167;
4175 			if (yych <= '^') goto yy3;
4176 			goto yy172;
4177 		} else {
4178 			if (yych <= 'j') {
4179 				if (yych <= '`') goto yy3;
4180 				goto yy175;
4181 			} else {
4182 				if (yych <= 'k') goto yy206;
4183 				if (yych <= 'z') goto yy175;
4184 				goto yy3;
4185 			}
4186 		}
4187 	}
4188 yy206:
4189 	YYDEBUG(206, *YYCURSOR);
4190 	yyaccept = 0;
4191 	yych = *(YYMARKER = ++YYCURSOR);
4192 	if (yych <= 'C') {
4193 		if (yych <= '-') {
4194 			if (yych == ')') goto yy164;
4195 			if (yych <= ',') goto yy3;
4196 			goto yy172;
4197 		} else {
4198 			if (yych == '/') goto yy172;
4199 			if (yych <= '@') goto yy3;
4200 			goto yy168;
4201 		}
4202 	} else {
4203 		if (yych <= '_') {
4204 			if (yych <= 'D') goto yy194;
4205 			if (yych <= 'Z') goto yy168;
4206 			if (yych <= '^') goto yy3;
4207 			goto yy172;
4208 		} else {
4209 			if (yych <= 'c') {
4210 				if (yych <= '`') goto yy3;
4211 				goto yy176;
4212 			} else {
4213 				if (yych <= 'd') goto yy207;
4214 				if (yych <= 'z') goto yy176;
4215 				goto yy3;
4216 			}
4217 		}
4218 	}
4219 yy207:
4220 	YYDEBUG(207, *YYCURSOR);
4221 	yyaccept = 0;
4222 	yych = *(YYMARKER = ++YYCURSOR);
4223 	if (yych <= '@') {
4224 		if (yych <= ',') {
4225 			if (yych == ')') goto yy164;
4226 			goto yy3;
4227 		} else {
4228 			if (yych == '.') goto yy3;
4229 			if (yych <= '/') goto yy172;
4230 			goto yy3;
4231 		}
4232 	} else {
4233 		if (yych <= '_') {
4234 			if (yych <= 'A') goto yy195;
4235 			if (yych <= 'Z') goto yy169;
4236 			if (yych <= '^') goto yy3;
4237 			goto yy172;
4238 		} else {
4239 			if (yych <= '`') goto yy3;
4240 			if (yych <= 'a') goto yy208;
4241 			if (yych <= 'z') goto yy177;
4242 			goto yy3;
4243 		}
4244 	}
4245 yy208:
4246 	YYDEBUG(208, *YYCURSOR);
4247 	yyaccept = 0;
4248 	yych = *(YYMARKER = ++YYCURSOR);
4249 	if (yych <= 'X') {
4250 		if (yych <= ',') {
4251 			if (yych == ')') goto yy164;
4252 			goto yy3;
4253 		} else {
4254 			if (yych == '.') goto yy3;
4255 			if (yych <= '/') goto yy172;
4256 			goto yy3;
4257 		}
4258 	} else {
4259 		if (yych <= '`') {
4260 			if (yych <= 'Y') goto yy196;
4261 			if (yych == '_') goto yy172;
4262 			goto yy3;
4263 		} else {
4264 			if (yych == 'y') goto yy209;
4265 			if (yych <= 'z') goto yy178;
4266 			goto yy3;
4267 		}
4268 	}
4269 yy209:
4270 	YYDEBUG(209, *YYCURSOR);
4271 	yyaccept = 4;
4272 	yych = *(YYMARKER = ++YYCURSOR);
4273 	if (yych <= 'S') {
4274 		if (yych <= '.') {
4275 			if (yych == '-') goto yy172;
4276 			goto yy191;
4277 		} else {
4278 			if (yych <= '/') goto yy172;
4279 			if (yych <= 'R') goto yy191;
4280 			goto yy197;
4281 		}
4282 	} else {
4283 		if (yych <= '`') {
4284 			if (yych == '_') goto yy172;
4285 			goto yy191;
4286 		} else {
4287 			if (yych == 's') goto yy210;
4288 			if (yych <= 'z') goto yy178;
4289 			goto yy191;
4290 		}
4291 	}
4292 yy210:
4293 	YYDEBUG(210, *YYCURSOR);
4294 	yyaccept = 4;
4295 	yych = *(YYMARKER = ++YYCURSOR);
4296 	if (yybm[0+yych] & 16) {
4297 		goto yy178;
4298 	}
4299 	if (yych <= '.') {
4300 		if (yych == '-') goto yy172;
4301 		goto yy191;
4302 	} else {
4303 		if (yych <= '/') goto yy172;
4304 		if (yych == '_') goto yy172;
4305 		goto yy191;
4306 	}
4307 yy211:
4308 	YYDEBUG(211, *YYCURSOR);
4309 	yyaccept = 0;
4310 	yych = *(YYMARKER = ++YYCURSOR);
4311 	if (yych <= 'D') {
4312 		if (yych <= '-') {
4313 			if (yych == ')') goto yy164;
4314 			if (yych <= ',') goto yy3;
4315 			goto yy172;
4316 		} else {
4317 			if (yych == '/') goto yy172;
4318 			if (yych <= '@') goto yy3;
4319 			goto yy168;
4320 		}
4321 	} else {
4322 		if (yych <= '_') {
4323 			if (yych <= 'E') goto yy199;
4324 			if (yych <= 'Z') goto yy168;
4325 			if (yych <= '^') goto yy3;
4326 			goto yy172;
4327 		} else {
4328 			if (yych <= 'd') {
4329 				if (yych <= '`') goto yy3;
4330 				goto yy176;
4331 			} else {
4332 				if (yych <= 'e') goto yy212;
4333 				if (yych <= 'z') goto yy176;
4334 				goto yy3;
4335 			}
4336 		}
4337 	}
4338 yy212:
4339 	YYDEBUG(212, *YYCURSOR);
4340 	yyaccept = 0;
4341 	yych = *(YYMARKER = ++YYCURSOR);
4342 	if (yych <= 'R') {
4343 		if (yych <= '-') {
4344 			if (yych == ')') goto yy164;
4345 			if (yych <= ',') goto yy3;
4346 			goto yy172;
4347 		} else {
4348 			if (yych == '/') goto yy172;
4349 			if (yych <= '@') goto yy3;
4350 			goto yy169;
4351 		}
4352 	} else {
4353 		if (yych <= '_') {
4354 			if (yych <= 'S') goto yy200;
4355 			if (yych <= 'Z') goto yy169;
4356 			if (yych <= '^') goto yy3;
4357 			goto yy172;
4358 		} else {
4359 			if (yych <= 'r') {
4360 				if (yych <= '`') goto yy3;
4361 				goto yy177;
4362 			} else {
4363 				if (yych <= 's') goto yy213;
4364 				if (yych <= 'z') goto yy177;
4365 				goto yy3;
4366 			}
4367 		}
4368 	}
4369 yy213:
4370 	YYDEBUG(213, *YYCURSOR);
4371 	yyaccept = 0;
4372 	yych = *(YYMARKER = ++YYCURSOR);
4373 	if (yych <= 'C') {
4374 		if (yych <= ',') {
4375 			if (yych == ')') goto yy164;
4376 			goto yy3;
4377 		} else {
4378 			if (yych == '.') goto yy3;
4379 			if (yych <= '/') goto yy172;
4380 			goto yy3;
4381 		}
4382 	} else {
4383 		if (yych <= '`') {
4384 			if (yych <= 'D') goto yy201;
4385 			if (yych == '_') goto yy172;
4386 			goto yy3;
4387 		} else {
4388 			if (yych == 'd') goto yy214;
4389 			if (yych <= 'z') goto yy178;
4390 			goto yy3;
4391 		}
4392 	}
4393 yy214:
4394 	YYDEBUG(214, *YYCURSOR);
4395 	yych = *++YYCURSOR;
4396 	if (yych == 'A') goto yy202;
4397 	if (yych != 'a') goto yy179;
4398 	YYDEBUG(215, *YYCURSOR);
4399 	yych = *++YYCURSOR;
4400 	if (yych == 'Y') goto yy197;
4401 	if (yych == 'y') goto yy210;
4402 	goto yy179;
4403 yy216:
4404 	YYDEBUG(216, *YYCURSOR);
4405 	yych = *++YYCURSOR;
4406 	if (yych <= 'C') {
4407 		if (yych <= ')') {
4408 			if (yych <= '(') goto yy3;
4409 			goto yy164;
4410 		} else {
4411 			if (yych <= '@') goto yy3;
4412 			if (yych <= 'B') goto yy166;
4413 		}
4414 	} else {
4415 		if (yych <= 'b') {
4416 			if (yych <= 'Z') goto yy166;
4417 			if (yych <= '`') goto yy3;
4418 			goto yy166;
4419 		} else {
4420 			if (yych <= 'c') goto yy217;
4421 			if (yych <= 'z') goto yy166;
4422 			goto yy3;
4423 		}
4424 	}
4425 yy217:
4426 	YYDEBUG(217, *YYCURSOR);
4427 	yyaccept = 5;
4428 	yych = *(YYMARKER = ++YYCURSOR);
4429 	if (yych <= '/') {
4430 		if (yych <= '(') {
4431 			if (yych <= '\t') {
4432 				if (yych >= '\t') goto yy220;
4433 			} else {
4434 				if (yych == ' ') goto yy220;
4435 			}
4436 		} else {
4437 			if (yych <= ',') {
4438 				if (yych <= ')') goto yy164;
4439 			} else {
4440 				if (yych <= '-') goto yy221;
4441 				if (yych <= '.') goto yy220;
4442 			}
4443 		}
4444 	} else {
4445 		if (yych <= 'Z') {
4446 			if (yych <= '@') {
4447 				if (yych <= '9') goto yy220;
4448 			} else {
4449 				if (yych == 'E') goto yy225;
4450 				goto yy167;
4451 			}
4452 		} else {
4453 			if (yych <= 'd') {
4454 				if (yych >= 'a') goto yy167;
4455 			} else {
4456 				if (yych <= 'e') goto yy225;
4457 				if (yych <= 'z') goto yy167;
4458 			}
4459 		}
4460 	}
4461 yy218:
4462 	YYDEBUG(218, *YYCURSOR);
4463 #line 1663 "ext/date/lib/parse_date.re"
4464 	{
4465 		DEBUG_OUTPUT("monthtext");
4466 		TIMELIB_INIT;
4467 		TIMELIB_HAVE_DATE();
4468 		s->time->m = timelib_lookup_month((char **) &ptr);
4469 		TIMELIB_DEINIT;
4470 		return TIMELIB_DATE_TEXT;
4471 	}
4472 #line 4473 "<stdout>"
4473 yy219:
4474 	YYDEBUG(219, *YYCURSOR);
4475 	++YYCURSOR;
4476 	if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23);
4477 	yych = *YYCURSOR;
4478 yy220:
4479 	YYDEBUG(220, *YYCURSOR);
4480 	if (yybm[0+yych] & 32) {
4481 		goto yy219;
4482 	}
4483 	if (yych <= '/') goto yy56;
4484 	if (yych <= '2') goto yy222;
4485 	if (yych <= '3') goto yy223;
4486 	if (yych <= '9') goto yy224;
4487 	goto yy56;
4488 yy221:
4489 	YYDEBUG(221, *YYCURSOR);
4490 	yych = *++YYCURSOR;
4491 	if (yych <= '/') goto yy220;
4492 	if (yych <= '0') goto yy324;
4493 	if (yych <= '2') goto yy325;
4494 	if (yych <= '3') goto yy326;
4495 	goto yy220;
4496 yy222:
4497 	YYDEBUG(222, *YYCURSOR);
4498 	yych = *++YYCURSOR;
4499 	if (yych <= '9') {
4500 		if (yych <= ' ') {
4501 			if (yych <= 0x08) {
4502 				if (yych <= 0x00) goto yy238;
4503 				goto yy56;
4504 			} else {
4505 				if (yych <= '\t') goto yy236;
4506 				if (yych <= 0x1F) goto yy56;
4507 				goto yy236;
4508 			}
4509 		} else {
4510 			if (yych <= '-') {
4511 				if (yych == ',') goto yy236;
4512 				goto yy56;
4513 			} else {
4514 				if (yych <= '.') goto yy236;
4515 				if (yych <= '/') goto yy56;
4516 				goto yy323;
4517 			}
4518 		}
4519 	} else {
4520 		if (yych <= 'm') {
4521 			if (yych <= 'd') {
4522 				if (yych <= 'c') goto yy56;
4523 				goto yy236;
4524 			} else {
4525 				if (yych == 'h') goto yy236;
4526 				goto yy56;
4527 			}
4528 		} else {
4529 			if (yych <= 'r') {
4530 				if (yych <= 'n') goto yy233;
4531 				if (yych <= 'q') goto yy56;
4532 				goto yy234;
4533 			} else {
4534 				if (yych <= 's') goto yy231;
4535 				if (yych <= 't') goto yy235;
4536 				goto yy56;
4537 			}
4538 		}
4539 	}
4540 yy223:
4541 	YYDEBUG(223, *YYCURSOR);
4542 	yych = *++YYCURSOR;
4543 	if (yych <= '1') {
4544 		if (yych <= ' ') {
4545 			if (yych <= 0x08) {
4546 				if (yych <= 0x00) goto yy238;
4547 				goto yy56;
4548 			} else {
4549 				if (yych <= '\t') goto yy236;
4550 				if (yych <= 0x1F) goto yy56;
4551 				goto yy236;
4552 			}
4553 		} else {
4554 			if (yych <= '-') {
4555 				if (yych == ',') goto yy236;
4556 				goto yy56;
4557 			} else {
4558 				if (yych <= '.') goto yy236;
4559 				if (yych <= '/') goto yy56;
4560 				goto yy323;
4561 			}
4562 		}
4563 	} else {
4564 		if (yych <= 'm') {
4565 			if (yych <= 'd') {
4566 				if (yych <= '9') goto yy230;
4567 				if (yych <= 'c') goto yy56;
4568 				goto yy236;
4569 			} else {
4570 				if (yych == 'h') goto yy236;
4571 				goto yy56;
4572 			}
4573 		} else {
4574 			if (yych <= 'r') {
4575 				if (yych <= 'n') goto yy233;
4576 				if (yych <= 'q') goto yy56;
4577 				goto yy234;
4578 			} else {
4579 				if (yych <= 's') goto yy231;
4580 				if (yych <= 't') goto yy235;
4581 				goto yy56;
4582 			}
4583 		}
4584 	}
4585 yy224:
4586 	YYDEBUG(224, *YYCURSOR);
4587 	yych = *++YYCURSOR;
4588 	if (yych <= '9') {
4589 		if (yych <= ' ') {
4590 			if (yych <= 0x08) {
4591 				if (yych <= 0x00) goto yy238;
4592 				goto yy56;
4593 			} else {
4594 				if (yych <= '\t') goto yy236;
4595 				if (yych <= 0x1F) goto yy56;
4596 				goto yy236;
4597 			}
4598 		} else {
4599 			if (yych <= '-') {
4600 				if (yych == ',') goto yy236;
4601 				goto yy56;
4602 			} else {
4603 				if (yych <= '.') goto yy236;
4604 				if (yych <= '/') goto yy56;
4605 				goto yy230;
4606 			}
4607 		}
4608 	} else {
4609 		if (yych <= 'm') {
4610 			if (yych <= 'd') {
4611 				if (yych <= 'c') goto yy56;
4612 				goto yy236;
4613 			} else {
4614 				if (yych == 'h') goto yy236;
4615 				goto yy56;
4616 			}
4617 		} else {
4618 			if (yych <= 'r') {
4619 				if (yych <= 'n') goto yy233;
4620 				if (yych <= 'q') goto yy56;
4621 				goto yy234;
4622 			} else {
4623 				if (yych <= 's') goto yy231;
4624 				if (yych <= 't') goto yy235;
4625 				goto yy56;
4626 			}
4627 		}
4628 	}
4629 yy225:
4630 	YYDEBUG(225, *YYCURSOR);
4631 	yych = *++YYCURSOR;
4632 	if (yych <= 'M') {
4633 		if (yych <= ')') {
4634 			if (yych <= '(') goto yy3;
4635 			goto yy164;
4636 		} else {
4637 			if (yych <= '@') goto yy3;
4638 			if (yych <= 'L') goto yy168;
4639 		}
4640 	} else {
4641 		if (yych <= 'l') {
4642 			if (yych <= 'Z') goto yy168;
4643 			if (yych <= '`') goto yy3;
4644 			goto yy168;
4645 		} else {
4646 			if (yych <= 'm') goto yy226;
4647 			if (yych <= 'z') goto yy168;
4648 			goto yy3;
4649 		}
4650 	}
4651 yy226:
4652 	YYDEBUG(226, *YYCURSOR);
4653 	yych = *++YYCURSOR;
4654 	if (yych <= 'B') {
4655 		if (yych <= ')') {
4656 			if (yych <= '(') goto yy3;
4657 			goto yy164;
4658 		} else {
4659 			if (yych <= '@') goto yy3;
4660 			if (yych <= 'A') goto yy169;
4661 		}
4662 	} else {
4663 		if (yych <= 'a') {
4664 			if (yych <= 'Z') goto yy169;
4665 			if (yych <= '`') goto yy3;
4666 			goto yy169;
4667 		} else {
4668 			if (yych <= 'b') goto yy227;
4669 			if (yych <= 'z') goto yy169;
4670 			goto yy3;
4671 		}
4672 	}
4673 yy227:
4674 	YYDEBUG(227, *YYCURSOR);
4675 	yyaccept = 0;
4676 	yych = *(YYMARKER = ++YYCURSOR);
4677 	if (yych <= 'D') {
4678 		if (yych == ')') goto yy164;
4679 		goto yy3;
4680 	} else {
4681 		if (yych <= 'E') goto yy228;
4682 		if (yych != 'e') goto yy3;
4683 	}
4684 yy228:
4685 	YYDEBUG(228, *YYCURSOR);
4686 	yych = *++YYCURSOR;
4687 	if (yych == 'R') goto yy229;
4688 	if (yych != 'r') goto yy56;
4689 yy229:
4690 	YYDEBUG(229, *YYCURSOR);
4691 	yyaccept = 5;
4692 	yych = *(YYMARKER = ++YYCURSOR);
4693 	if (yych <= ' ') {
4694 		if (yych == '\t') goto yy220;
4695 		if (yych <= 0x1F) goto yy218;
4696 		goto yy220;
4697 	} else {
4698 		if (yych <= '.') {
4699 			if (yych <= ',') goto yy218;
4700 			goto yy220;
4701 		} else {
4702 			if (yych <= '/') goto yy218;
4703 			if (yych <= '9') goto yy220;
4704 			goto yy218;
4705 		}
4706 	}
4707 yy230:
4708 	YYDEBUG(230, *YYCURSOR);
4709 	yych = *++YYCURSOR;
4710 	if (yych <= '/') goto yy56;
4711 	if (yych <= '9') goto yy320;
4712 	goto yy56;
4713 yy231:
4714 	YYDEBUG(231, *YYCURSOR);
4715 	yyaccept = 6;
4716 	yych = *(YYMARKER = ++YYCURSOR);
4717 	if (yych == 't') goto yy319;
4718 	goto yy237;
4719 yy232:
4720 	YYDEBUG(232, *YYCURSOR);
4721 #line 1409 "ext/date/lib/parse_date.re"
4722 	{
4723 		int length = 0;
4724 		DEBUG_OUTPUT("datetextual | datenoyear");
4725 		TIMELIB_INIT;
4726 		TIMELIB_HAVE_DATE();
4727 		s->time->m = timelib_get_month((char **) &ptr);
4728 		s->time->d = timelib_get_nr((char **) &ptr, 2);
4729 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
4730 		TIMELIB_PROCESS_YEAR(s->time->y, length);
4731 		TIMELIB_DEINIT;
4732 		return TIMELIB_DATE_TEXT;
4733 	}
4734 #line 4735 "<stdout>"
4735 yy233:
4736 	YYDEBUG(233, *YYCURSOR);
4737 	yyaccept = 6;
4738 	yych = *(YYMARKER = ++YYCURSOR);
4739 	if (yych == 'd') goto yy319;
4740 	goto yy237;
4741 yy234:
4742 	YYDEBUG(234, *YYCURSOR);
4743 	yyaccept = 6;
4744 	yych = *(YYMARKER = ++YYCURSOR);
4745 	if (yych == 'd') goto yy319;
4746 	goto yy237;
4747 yy235:
4748 	YYDEBUG(235, *YYCURSOR);
4749 	yyaccept = 6;
4750 	yych = *(YYMARKER = ++YYCURSOR);
4751 	if (yych == 'h') goto yy319;
4752 	goto yy237;
4753 yy236:
4754 	YYDEBUG(236, *YYCURSOR);
4755 	yyaccept = 6;
4756 	YYMARKER = ++YYCURSOR;
4757 	if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18);
4758 	yych = *YYCURSOR;
4759 yy237:
4760 	YYDEBUG(237, *YYCURSOR);
4761 	if (yybm[0+yych] & 64) {
4762 		goto yy236;
4763 	}
4764 	if (yych <= '2') {
4765 		if (yych <= '/') goto yy232;
4766 		if (yych <= '0') goto yy310;
4767 		if (yych <= '1') goto yy311;
4768 		goto yy312;
4769 	} else {
4770 		if (yych <= '9') goto yy313;
4771 		if (yych == 'T') goto yy239;
4772 		goto yy232;
4773 	}
4774 yy238:
4775 	YYDEBUG(238, *YYCURSOR);
4776 	yyaccept = 6;
4777 	yych = *(YYMARKER = ++YYCURSOR);
4778 	if (yych <= '9') {
4779 		if (yych <= '0') {
4780 			if (yych <= '/') goto yy232;
4781 			goto yy240;
4782 		} else {
4783 			if (yych <= '1') goto yy241;
4784 			if (yych <= '2') goto yy242;
4785 			goto yy243;
4786 		}
4787 	} else {
4788 		if (yych <= 'T') {
4789 			if (yych <= 'S') goto yy232;
4790 		} else {
4791 			if (yych != 't') goto yy232;
4792 		}
4793 	}
4794 yy239:
4795 	YYDEBUG(239, *YYCURSOR);
4796 	yych = *++YYCURSOR;
4797 	if (yych <= '/') goto yy56;
4798 	if (yych <= '1') goto yy308;
4799 	if (yych <= '2') goto yy309;
4800 	if (yych <= '9') goto yy298;
4801 	goto yy56;
4802 yy240:
4803 	YYDEBUG(240, *YYCURSOR);
4804 	yych = *++YYCURSOR;
4805 	if (yych <= '/') {
4806 		if (yych == '.') goto yy299;
4807 		goto yy56;
4808 	} else {
4809 		if (yych <= '0') goto yy298;
4810 		if (yych <= '9') goto yy243;
4811 		if (yych <= ':') goto yy299;
4812 		goto yy56;
4813 	}
4814 yy241:
4815 	YYDEBUG(241, *YYCURSOR);
4816 	yych = *++YYCURSOR;
4817 	if (yych <= '/') {
4818 		if (yych == '.') goto yy244;
4819 		goto yy56;
4820 	} else {
4821 		if (yych <= '2') goto yy243;
4822 		if (yych <= '9') goto yy298;
4823 		if (yych <= ':') goto yy244;
4824 		goto yy56;
4825 	}
4826 yy242:
4827 	YYDEBUG(242, *YYCURSOR);
4828 	yych = *++YYCURSOR;
4829 	if (yych <= '/') {
4830 		if (yych == '.') goto yy244;
4831 		goto yy56;
4832 	} else {
4833 		if (yych <= '4') goto yy298;
4834 		if (yych == ':') goto yy244;
4835 		goto yy56;
4836 	}
4837 yy243:
4838 	YYDEBUG(243, *YYCURSOR);
4839 	yych = *++YYCURSOR;
4840 	if (yych == '.') goto yy244;
4841 	if (yych != ':') goto yy56;
4842 yy244:
4843 	YYDEBUG(244, *YYCURSOR);
4844 	yych = *++YYCURSOR;
4845 	if (yych <= '/') goto yy56;
4846 	if (yych <= '5') goto yy245;
4847 	if (yych <= '9') goto yy247;
4848 	goto yy56;
4849 yy245:
4850 	YYDEBUG(245, *YYCURSOR);
4851 	yyaccept = 7;
4852 	yych = *(YYMARKER = ++YYCURSOR);
4853 	if (yych <= '/') {
4854 		if (yych == '.') goto yy248;
4855 	} else {
4856 		if (yych <= '9') goto yy291;
4857 		if (yych <= ':') goto yy248;
4858 	}
4859 yy246:
4860 	YYDEBUG(246, *YYCURSOR);
4861 #line 1711 "ext/date/lib/parse_date.re"
4862 	{
4863 		int tz_not_found;
4864 		DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
4865 		TIMELIB_INIT;
4866 		TIMELIB_HAVE_DATE();
4867 		s->time->m = timelib_get_month((char **) &ptr);
4868 		s->time->d = timelib_get_nr((char **) &ptr, 2);
4869 
4870 		TIMELIB_HAVE_TIME();
4871 		s->time->h = timelib_get_nr((char **) &ptr, 2);
4872 		s->time->i = timelib_get_nr((char **) &ptr, 2);
4873 		if (*ptr == ':') {
4874 			s->time->s = timelib_get_nr((char **) &ptr, 2);
4875 
4876 			if (*ptr == '.') {
4877 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
4878 			}
4879 		}
4880 
4881 		if (*ptr != '\0') {
4882 			s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
4883 			if (tz_not_found) {
4884 				add_error(s, "The timezone could not be found in the database");
4885 			}
4886 		}
4887 		TIMELIB_DEINIT;
4888 		return TIMELIB_SHORTDATE_WITH_TIME;
4889 	}
4890 #line 4891 "<stdout>"
4891 yy247:
4892 	YYDEBUG(247, *YYCURSOR);
4893 	yyaccept = 7;
4894 	yych = *(YYMARKER = ++YYCURSOR);
4895 	if (yych == '.') goto yy248;
4896 	if (yych != ':') goto yy246;
4897 yy248:
4898 	YYDEBUG(248, *YYCURSOR);
4899 	yych = *++YYCURSOR;
4900 	if (yych <= '/') goto yy56;
4901 	if (yych <= '5') goto yy249;
4902 	if (yych <= '6') goto yy250;
4903 	if (yych <= '9') goto yy251;
4904 	goto yy56;
4905 yy249:
4906 	YYDEBUG(249, *YYCURSOR);
4907 	yych = *++YYCURSOR;
4908 	if (yych <= '/') goto yy246;
4909 	if (yych <= '9') goto yy252;
4910 	goto yy246;
4911 yy250:
4912 	YYDEBUG(250, *YYCURSOR);
4913 	yych = *++YYCURSOR;
4914 	if (yych == '0') goto yy252;
4915 	goto yy246;
4916 yy251:
4917 	YYDEBUG(251, *YYCURSOR);
4918 	yych = *++YYCURSOR;
4919 	goto yy246;
4920 yy252:
4921 	YYDEBUG(252, *YYCURSOR);
4922 	yyaccept = 7;
4923 	yych = *(YYMARKER = ++YYCURSOR);
4924 	if (yych <= '*') {
4925 		if (yych <= 0x1F) {
4926 			if (yych == '\t') goto yy254;
4927 			goto yy246;
4928 		} else {
4929 			if (yych <= ' ') goto yy254;
4930 			if (yych == '(') goto yy254;
4931 			goto yy246;
4932 		}
4933 	} else {
4934 		if (yych <= '@') {
4935 			if (yych == ',') goto yy246;
4936 			if (yych <= '-') goto yy254;
4937 			goto yy246;
4938 		} else {
4939 			if (yych <= 'Z') goto yy254;
4940 			if (yych <= '`') goto yy246;
4941 			if (yych <= 'z') goto yy254;
4942 			goto yy246;
4943 		}
4944 	}
4945 yy253:
4946 	YYDEBUG(253, *YYCURSOR);
4947 	++YYCURSOR;
4948 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
4949 	yych = *YYCURSOR;
4950 yy254:
4951 	YYDEBUG(254, *YYCURSOR);
4952 	if (yych <= '@') {
4953 		if (yych <= '\'') {
4954 			if (yych <= '\t') {
4955 				if (yych <= 0x08) goto yy56;
4956 				goto yy253;
4957 			} else {
4958 				if (yych == ' ') goto yy253;
4959 				goto yy56;
4960 			}
4961 		} else {
4962 			if (yych <= '+') {
4963 				if (yych <= '(') goto yy257;
4964 				if (yych <= '*') goto yy56;
4965 				goto yy256;
4966 			} else {
4967 				if (yych == '-') goto yy256;
4968 				goto yy56;
4969 			}
4970 		}
4971 	} else {
4972 		if (yych <= 'Z') {
4973 			if (yych <= 'G') {
4974 				if (yych <= 'A') goto yy258;
4975 				if (yych <= 'F') goto yy259;
4976 			} else {
4977 				if (yych == 'P') goto yy258;
4978 				goto yy259;
4979 			}
4980 		} else {
4981 			if (yych <= 'o') {
4982 				if (yych <= '`') goto yy56;
4983 				if (yych <= 'a') goto yy260;
4984 				goto yy261;
4985 			} else {
4986 				if (yych <= 'p') goto yy260;
4987 				if (yych <= 'z') goto yy261;
4988 				goto yy56;
4989 			}
4990 		}
4991 	}
4992 yy255:
4993 	YYDEBUG(255, *YYCURSOR);
4994 	yych = *++YYCURSOR;
4995 	if (yych <= 'L') {
4996 		if (yych == ')') goto yy251;
4997 		if (yych <= '@') goto yy246;
4998 		goto yy262;
4999 	} else {
5000 		if (yych <= 'Z') {
5001 			if (yych <= 'M') goto yy289;
5002 			goto yy262;
5003 		} else {
5004 			if (yych <= '`') goto yy246;
5005 			if (yych <= 'z') goto yy273;
5006 			goto yy246;
5007 		}
5008 	}
5009 yy256:
5010 	YYDEBUG(256, *YYCURSOR);
5011 	yych = *++YYCURSOR;
5012 	if (yych <= '/') goto yy56;
5013 	if (yych <= '1') goto yy284;
5014 	if (yych <= '2') goto yy285;
5015 	if (yych <= '9') goto yy286;
5016 	goto yy56;
5017 yy257:
5018 	YYDEBUG(257, *YYCURSOR);
5019 	yych = *++YYCURSOR;
5020 	if (yych <= '@') goto yy56;
5021 	if (yych <= 'Z') goto yy261;
5022 	if (yych <= '`') goto yy56;
5023 	if (yych <= 'z') goto yy261;
5024 	goto yy56;
5025 yy258:
5026 	YYDEBUG(258, *YYCURSOR);
5027 	yyaccept = 7;
5028 	yych = *(YYMARKER = ++YYCURSOR);
5029 	if (yych <= 'L') {
5030 		if (yych <= '-') {
5031 			if (yych == ')') goto yy251;
5032 			goto yy246;
5033 		} else {
5034 			if (yych <= '.') goto yy267;
5035 			if (yych <= '@') goto yy246;
5036 			goto yy262;
5037 		}
5038 	} else {
5039 		if (yych <= '`') {
5040 			if (yych <= 'M') goto yy268;
5041 			if (yych <= 'Z') goto yy262;
5042 			goto yy246;
5043 		} else {
5044 			if (yych == 'm') goto yy283;
5045 			if (yych <= 'z') goto yy273;
5046 			goto yy246;
5047 		}
5048 	}
5049 yy259:
5050 	YYDEBUG(259, *YYCURSOR);
5051 	yych = *++YYCURSOR;
5052 	if (yych <= '@') {
5053 		if (yych == ')') goto yy251;
5054 		goto yy246;
5055 	} else {
5056 		if (yych <= 'Z') goto yy262;
5057 		if (yych <= '`') goto yy246;
5058 		if (yych <= 'z') goto yy273;
5059 		goto yy246;
5060 	}
5061 yy260:
5062 	YYDEBUG(260, *YYCURSOR);
5063 	yyaccept = 7;
5064 	yych = *(YYMARKER = ++YYCURSOR);
5065 	if (yych <= 'L') {
5066 		if (yych <= '-') {
5067 			if (yych == ')') goto yy251;
5068 			goto yy246;
5069 		} else {
5070 			if (yych <= '.') goto yy267;
5071 			if (yych <= '@') goto yy246;
5072 			goto yy262;
5073 		}
5074 	} else {
5075 		if (yych <= '`') {
5076 			if (yych <= 'M') goto yy268;
5077 			if (yych <= 'Z') goto yy262;
5078 			goto yy246;
5079 		} else {
5080 			if (yych == 'm') goto yy268;
5081 			if (yych <= 'z') goto yy262;
5082 			goto yy246;
5083 		}
5084 	}
5085 yy261:
5086 	YYDEBUG(261, *YYCURSOR);
5087 	yych = *++YYCURSOR;
5088 	if (yych <= '@') {
5089 		if (yych == ')') goto yy251;
5090 		goto yy246;
5091 	} else {
5092 		if (yych <= 'Z') goto yy262;
5093 		if (yych <= '`') goto yy246;
5094 		if (yych >= '{') goto yy246;
5095 	}
5096 yy262:
5097 	YYDEBUG(262, *YYCURSOR);
5098 	yych = *++YYCURSOR;
5099 	if (yych <= '@') {
5100 		if (yych == ')') goto yy251;
5101 		goto yy246;
5102 	} else {
5103 		if (yych <= 'Z') goto yy263;
5104 		if (yych <= '`') goto yy246;
5105 		if (yych >= '{') goto yy246;
5106 	}
5107 yy263:
5108 	YYDEBUG(263, *YYCURSOR);
5109 	yych = *++YYCURSOR;
5110 	if (yych <= '@') {
5111 		if (yych == ')') goto yy251;
5112 		goto yy246;
5113 	} else {
5114 		if (yych <= 'Z') goto yy264;
5115 		if (yych <= '`') goto yy246;
5116 		if (yych >= '{') goto yy246;
5117 	}
5118 yy264:
5119 	YYDEBUG(264, *YYCURSOR);
5120 	yych = *++YYCURSOR;
5121 	if (yych <= '@') {
5122 		if (yych == ')') goto yy251;
5123 		goto yy246;
5124 	} else {
5125 		if (yych <= 'Z') goto yy265;
5126 		if (yych <= '`') goto yy246;
5127 		if (yych >= '{') goto yy246;
5128 	}
5129 yy265:
5130 	YYDEBUG(265, *YYCURSOR);
5131 	yych = *++YYCURSOR;
5132 	if (yych <= '@') {
5133 		if (yych == ')') goto yy251;
5134 		goto yy246;
5135 	} else {
5136 		if (yych <= 'Z') goto yy266;
5137 		if (yych <= '`') goto yy246;
5138 		if (yych >= '{') goto yy246;
5139 	}
5140 yy266:
5141 	YYDEBUG(266, *YYCURSOR);
5142 	yych = *++YYCURSOR;
5143 	if (yych == ')') goto yy251;
5144 	goto yy246;
5145 yy267:
5146 	YYDEBUG(267, *YYCURSOR);
5147 	yych = *++YYCURSOR;
5148 	if (yych == 'M') goto yy272;
5149 	if (yych == 'm') goto yy272;
5150 	goto yy56;
5151 yy268:
5152 	YYDEBUG(268, *YYCURSOR);
5153 	yyaccept = 7;
5154 	yych = *(YYMARKER = ++YYCURSOR);
5155 	if (yych <= ')') {
5156 		if (yych <= '\t') {
5157 			if (yych <= 0x00) goto yy270;
5158 			if (yych <= 0x08) goto yy246;
5159 			goto yy270;
5160 		} else {
5161 			if (yych == ' ') goto yy270;
5162 			if (yych <= '(') goto yy246;
5163 			goto yy251;
5164 		}
5165 	} else {
5166 		if (yych <= '@') {
5167 			if (yych != '.') goto yy246;
5168 		} else {
5169 			if (yych <= 'Z') goto yy263;
5170 			if (yych <= '`') goto yy246;
5171 			if (yych <= 'z') goto yy263;
5172 			goto yy246;
5173 		}
5174 	}
5175 yy269:
5176 	YYDEBUG(269, *YYCURSOR);
5177 	yych = *++YYCURSOR;
5178 	if (yych <= '\t') {
5179 		if (yych <= 0x00) goto yy270;
5180 		if (yych <= 0x08) goto yy56;
5181 	} else {
5182 		if (yych != ' ') goto yy56;
5183 	}
5184 yy270:
5185 	YYDEBUG(270, *YYCURSOR);
5186 	++YYCURSOR;
5187 	YYDEBUG(271, *YYCURSOR);
5188 #line 1687 "ext/date/lib/parse_date.re"
5189 	{
5190 		DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
5191 		TIMELIB_INIT;
5192 		TIMELIB_HAVE_DATE();
5193 		s->time->m = timelib_get_month((char **) &ptr);
5194 		s->time->d = timelib_get_nr((char **) &ptr, 2);
5195 
5196 		TIMELIB_HAVE_TIME();
5197 		s->time->h = timelib_get_nr((char **) &ptr, 2);
5198 		s->time->i = timelib_get_nr((char **) &ptr, 2);
5199 		if (*ptr == ':' || *ptr == '.') {
5200 			s->time->s = timelib_get_nr((char **) &ptr, 2);
5201 
5202 			if (*ptr == '.') {
5203 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
5204 			}
5205 		}
5206 
5207 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
5208 		TIMELIB_DEINIT;
5209 		return TIMELIB_SHORTDATE_WITH_TIME;
5210 	}
5211 #line 5212 "<stdout>"
5212 yy272:
5213 	YYDEBUG(272, *YYCURSOR);
5214 	yych = *++YYCURSOR;
5215 	if (yych <= 0x1F) {
5216 		if (yych <= 0x00) goto yy270;
5217 		if (yych == '\t') goto yy270;
5218 		goto yy56;
5219 	} else {
5220 		if (yych <= ' ') goto yy270;
5221 		if (yych == '.') goto yy269;
5222 		goto yy56;
5223 	}
5224 yy273:
5225 	YYDEBUG(273, *YYCURSOR);
5226 	yyaccept = 7;
5227 	yych = *(YYMARKER = ++YYCURSOR);
5228 	if (yych <= '/') {
5229 		if (yych <= ',') {
5230 			if (yych == ')') goto yy251;
5231 			goto yy246;
5232 		} else {
5233 			if (yych == '.') goto yy246;
5234 			goto yy275;
5235 		}
5236 	} else {
5237 		if (yych <= '^') {
5238 			if (yych <= '@') goto yy246;
5239 			if (yych <= 'Z') goto yy263;
5240 			goto yy246;
5241 		} else {
5242 			if (yych <= '_') goto yy275;
5243 			if (yych <= '`') goto yy246;
5244 			if (yych >= '{') goto yy246;
5245 		}
5246 	}
5247 yy274:
5248 	YYDEBUG(274, *YYCURSOR);
5249 	yyaccept = 7;
5250 	yych = *(YYMARKER = ++YYCURSOR);
5251 	if (yych <= '/') {
5252 		if (yych <= ',') {
5253 			if (yych == ')') goto yy251;
5254 			goto yy246;
5255 		} else {
5256 			if (yych == '.') goto yy246;
5257 		}
5258 	} else {
5259 		if (yych <= '^') {
5260 			if (yych <= '@') goto yy246;
5261 			if (yych <= 'Z') goto yy264;
5262 			goto yy246;
5263 		} else {
5264 			if (yych <= '_') goto yy275;
5265 			if (yych <= '`') goto yy246;
5266 			if (yych <= 'z') goto yy278;
5267 			goto yy246;
5268 		}
5269 	}
5270 yy275:
5271 	YYDEBUG(275, *YYCURSOR);
5272 	++YYCURSOR;
5273 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
5274 	yych = *YYCURSOR;
5275 	if (yych <= '@') goto yy56;
5276 	if (yych <= 'Z') goto yy276;
5277 	if (yych <= '`') goto yy56;
5278 	if (yych >= '{') goto yy56;
5279 yy276:
5280 	YYDEBUG(276, *YYCURSOR);
5281 	yyaccept = 7;
5282 	YYMARKER = ++YYCURSOR;
5283 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
5284 	yych = *YYCURSOR;
5285 	YYDEBUG(277, *YYCURSOR);
5286 	if (yych <= '@') {
5287 		if (yych <= '-') {
5288 			if (yych <= ',') goto yy246;
5289 			goto yy275;
5290 		} else {
5291 			if (yych == '/') goto yy275;
5292 			goto yy246;
5293 		}
5294 	} else {
5295 		if (yych <= '_') {
5296 			if (yych <= 'Z') goto yy276;
5297 			if (yych <= '^') goto yy246;
5298 			goto yy275;
5299 		} else {
5300 			if (yych <= '`') goto yy246;
5301 			if (yych <= 'z') goto yy276;
5302 			goto yy246;
5303 		}
5304 	}
5305 yy278:
5306 	YYDEBUG(278, *YYCURSOR);
5307 	yyaccept = 7;
5308 	yych = *(YYMARKER = ++YYCURSOR);
5309 	if (yych <= '/') {
5310 		if (yych <= ',') {
5311 			if (yych == ')') goto yy251;
5312 			goto yy246;
5313 		} else {
5314 			if (yych == '.') goto yy246;
5315 			goto yy275;
5316 		}
5317 	} else {
5318 		if (yych <= '^') {
5319 			if (yych <= '@') goto yy246;
5320 			if (yych <= 'Z') goto yy265;
5321 			goto yy246;
5322 		} else {
5323 			if (yych <= '_') goto yy275;
5324 			if (yych <= '`') goto yy246;
5325 			if (yych >= '{') goto yy246;
5326 		}
5327 	}
5328 	YYDEBUG(279, *YYCURSOR);
5329 	yyaccept = 7;
5330 	yych = *(YYMARKER = ++YYCURSOR);
5331 	if (yych <= '/') {
5332 		if (yych <= ',') {
5333 			if (yych == ')') goto yy251;
5334 			goto yy246;
5335 		} else {
5336 			if (yych == '.') goto yy246;
5337 			goto yy275;
5338 		}
5339 	} else {
5340 		if (yych <= '^') {
5341 			if (yych <= '@') goto yy246;
5342 			if (yych <= 'Z') goto yy266;
5343 			goto yy246;
5344 		} else {
5345 			if (yych <= '_') goto yy275;
5346 			if (yych <= '`') goto yy246;
5347 			if (yych >= '{') goto yy246;
5348 		}
5349 	}
5350 	YYDEBUG(280, *YYCURSOR);
5351 	yyaccept = 7;
5352 	yych = *(YYMARKER = ++YYCURSOR);
5353 	if (yych <= '.') {
5354 		if (yych <= ')') {
5355 			if (yych <= '(') goto yy246;
5356 			goto yy251;
5357 		} else {
5358 			if (yych == '-') goto yy275;
5359 			goto yy246;
5360 		}
5361 	} else {
5362 		if (yych <= '_') {
5363 			if (yych <= '/') goto yy275;
5364 			if (yych <= '^') goto yy246;
5365 			goto yy275;
5366 		} else {
5367 			if (yych <= '`') goto yy246;
5368 			if (yych >= '{') goto yy246;
5369 		}
5370 	}
5371 yy281:
5372 	YYDEBUG(281, *YYCURSOR);
5373 	++YYCURSOR;
5374 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
5375 	yych = *YYCURSOR;
5376 	YYDEBUG(282, *YYCURSOR);
5377 	if (yych <= '/') {
5378 		if (yych == '-') goto yy275;
5379 		if (yych <= '.') goto yy56;
5380 		goto yy275;
5381 	} else {
5382 		if (yych <= '_') {
5383 			if (yych <= '^') goto yy56;
5384 			goto yy275;
5385 		} else {
5386 			if (yych <= '`') goto yy56;
5387 			if (yych <= 'z') goto yy281;
5388 			goto yy56;
5389 		}
5390 	}
5391 yy283:
5392 	YYDEBUG(283, *YYCURSOR);
5393 	yyaccept = 7;
5394 	yych = *(YYMARKER = ++YYCURSOR);
5395 	if (yych <= '-') {
5396 		if (yych <= 0x1F) {
5397 			if (yych <= 0x00) goto yy270;
5398 			if (yych == '\t') goto yy270;
5399 			goto yy246;
5400 		} else {
5401 			if (yych <= '(') {
5402 				if (yych <= ' ') goto yy270;
5403 				goto yy246;
5404 			} else {
5405 				if (yych <= ')') goto yy251;
5406 				if (yych <= ',') goto yy246;
5407 				goto yy275;
5408 			}
5409 		}
5410 	} else {
5411 		if (yych <= 'Z') {
5412 			if (yych <= '.') goto yy269;
5413 			if (yych <= '/') goto yy275;
5414 			if (yych <= '@') goto yy246;
5415 			goto yy263;
5416 		} else {
5417 			if (yych <= '_') {
5418 				if (yych <= '^') goto yy246;
5419 				goto yy275;
5420 			} else {
5421 				if (yych <= '`') goto yy246;
5422 				if (yych <= 'z') goto yy274;
5423 				goto yy246;
5424 			}
5425 		}
5426 	}
5427 yy284:
5428 	YYDEBUG(284, *YYCURSOR);
5429 	yych = *++YYCURSOR;
5430 	if (yych <= '/') goto yy246;
5431 	if (yych <= '9') goto yy286;
5432 	if (yych <= ':') goto yy287;
5433 	goto yy246;
5434 yy285:
5435 	YYDEBUG(285, *YYCURSOR);
5436 	yych = *++YYCURSOR;
5437 	if (yych <= '5') {
5438 		if (yych <= '/') goto yy246;
5439 		if (yych >= '5') goto yy288;
5440 	} else {
5441 		if (yych <= '9') goto yy251;
5442 		if (yych <= ':') goto yy287;
5443 		goto yy246;
5444 	}
5445 yy286:
5446 	YYDEBUG(286, *YYCURSOR);
5447 	yych = *++YYCURSOR;
5448 	if (yych <= '/') goto yy246;
5449 	if (yych <= '5') goto yy288;
5450 	if (yych <= '9') goto yy251;
5451 	if (yych >= ';') goto yy246;
5452 yy287:
5453 	YYDEBUG(287, *YYCURSOR);
5454 	yych = *++YYCURSOR;
5455 	if (yych <= '/') goto yy246;
5456 	if (yych <= '5') goto yy288;
5457 	if (yych <= '9') goto yy251;
5458 	goto yy246;
5459 yy288:
5460 	YYDEBUG(288, *YYCURSOR);
5461 	yych = *++YYCURSOR;
5462 	if (yych <= '/') goto yy246;
5463 	if (yych <= '9') goto yy251;
5464 	goto yy246;
5465 yy289:
5466 	YYDEBUG(289, *YYCURSOR);
5467 	yych = *++YYCURSOR;
5468 	if (yych <= 'S') {
5469 		if (yych == ')') goto yy251;
5470 		if (yych <= '@') goto yy246;
5471 		goto yy263;
5472 	} else {
5473 		if (yych <= 'Z') {
5474 			if (yych >= 'U') goto yy263;
5475 		} else {
5476 			if (yych <= '`') goto yy246;
5477 			if (yych <= 'z') goto yy263;
5478 			goto yy246;
5479 		}
5480 	}
5481 	YYDEBUG(290, *YYCURSOR);
5482 	yyaccept = 7;
5483 	yych = *(YYMARKER = ++YYCURSOR);
5484 	if (yych <= ',') {
5485 		if (yych <= ')') {
5486 			if (yych <= '(') goto yy246;
5487 			goto yy251;
5488 		} else {
5489 			if (yych == '+') goto yy256;
5490 			goto yy246;
5491 		}
5492 	} else {
5493 		if (yych <= 'Z') {
5494 			if (yych <= '-') goto yy256;
5495 			if (yych <= '@') goto yy246;
5496 			goto yy264;
5497 		} else {
5498 			if (yych <= '`') goto yy246;
5499 			if (yych <= 'z') goto yy264;
5500 			goto yy246;
5501 		}
5502 	}
5503 yy291:
5504 	YYDEBUG(291, *YYCURSOR);
5505 	yyaccept = 7;
5506 	yych = *(YYMARKER = ++YYCURSOR);
5507 	if (yych <= ':') {
5508 		if (yych <= ' ') {
5509 			if (yych == '\t') goto yy292;
5510 			if (yych <= 0x1F) goto yy246;
5511 		} else {
5512 			if (yych == '.') goto yy248;
5513 			if (yych <= '9') goto yy246;
5514 			goto yy248;
5515 		}
5516 	} else {
5517 		if (yych <= 'P') {
5518 			if (yych == 'A') goto yy294;
5519 			if (yych <= 'O') goto yy246;
5520 			goto yy294;
5521 		} else {
5522 			if (yych <= 'a') {
5523 				if (yych <= '`') goto yy246;
5524 				goto yy294;
5525 			} else {
5526 				if (yych == 'p') goto yy294;
5527 				goto yy246;
5528 			}
5529 		}
5530 	}
5531 yy292:
5532 	YYDEBUG(292, *YYCURSOR);
5533 	++YYCURSOR;
5534 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
5535 	yych = *YYCURSOR;
5536 	YYDEBUG(293, *YYCURSOR);
5537 	if (yych <= 'A') {
5538 		if (yych <= 0x1F) {
5539 			if (yych == '\t') goto yy292;
5540 			goto yy56;
5541 		} else {
5542 			if (yych <= ' ') goto yy292;
5543 			if (yych <= '@') goto yy56;
5544 		}
5545 	} else {
5546 		if (yych <= '`') {
5547 			if (yych != 'P') goto yy56;
5548 		} else {
5549 			if (yych <= 'a') goto yy294;
5550 			if (yych != 'p') goto yy56;
5551 		}
5552 	}
5553 yy294:
5554 	YYDEBUG(294, *YYCURSOR);
5555 	yych = *++YYCURSOR;
5556 	if (yych <= 'L') {
5557 		if (yych != '.') goto yy56;
5558 	} else {
5559 		if (yych <= 'M') goto yy296;
5560 		if (yych == 'm') goto yy296;
5561 		goto yy56;
5562 	}
5563 	YYDEBUG(295, *YYCURSOR);
5564 	yych = *++YYCURSOR;
5565 	if (yych == 'M') goto yy296;
5566 	if (yych != 'm') goto yy56;
5567 yy296:
5568 	YYDEBUG(296, *YYCURSOR);
5569 	yych = *++YYCURSOR;
5570 	if (yych <= 0x1F) {
5571 		if (yych <= 0x00) goto yy270;
5572 		if (yych == '\t') goto yy270;
5573 		goto yy56;
5574 	} else {
5575 		if (yych <= ' ') goto yy270;
5576 		if (yych != '.') goto yy56;
5577 	}
5578 	YYDEBUG(297, *YYCURSOR);
5579 	yych = *++YYCURSOR;
5580 	if (yych <= '\t') {
5581 		if (yych <= 0x00) goto yy270;
5582 		if (yych <= 0x08) goto yy56;
5583 		goto yy270;
5584 	} else {
5585 		if (yych == ' ') goto yy270;
5586 		goto yy56;
5587 	}
5588 yy298:
5589 	YYDEBUG(298, *YYCURSOR);
5590 	yych = *++YYCURSOR;
5591 	if (yych == '.') goto yy299;
5592 	if (yych != ':') goto yy56;
5593 yy299:
5594 	YYDEBUG(299, *YYCURSOR);
5595 	yych = *++YYCURSOR;
5596 	if (yych <= '/') goto yy56;
5597 	if (yych <= '5') goto yy300;
5598 	if (yych <= '9') goto yy301;
5599 	goto yy56;
5600 yy300:
5601 	YYDEBUG(300, *YYCURSOR);
5602 	yyaccept = 7;
5603 	yych = *(YYMARKER = ++YYCURSOR);
5604 	if (yych <= '/') {
5605 		if (yych == '.') goto yy302;
5606 		goto yy246;
5607 	} else {
5608 		if (yych <= '9') goto yy301;
5609 		if (yych <= ':') goto yy302;
5610 		goto yy246;
5611 	}
5612 yy301:
5613 	YYDEBUG(301, *YYCURSOR);
5614 	yyaccept = 7;
5615 	yych = *(YYMARKER = ++YYCURSOR);
5616 	if (yych == '.') goto yy302;
5617 	if (yych != ':') goto yy246;
5618 yy302:
5619 	YYDEBUG(302, *YYCURSOR);
5620 	yych = *++YYCURSOR;
5621 	if (yych <= '/') goto yy56;
5622 	if (yych <= '5') goto yy303;
5623 	if (yych <= '6') goto yy304;
5624 	if (yych <= '9') goto yy251;
5625 	goto yy56;
5626 yy303:
5627 	YYDEBUG(303, *YYCURSOR);
5628 	yych = *++YYCURSOR;
5629 	if (yych <= '/') goto yy246;
5630 	if (yych <= '9') goto yy305;
5631 	goto yy246;
5632 yy304:
5633 	YYDEBUG(304, *YYCURSOR);
5634 	yych = *++YYCURSOR;
5635 	if (yych != '0') goto yy246;
5636 yy305:
5637 	YYDEBUG(305, *YYCURSOR);
5638 	yyaccept = 7;
5639 	yych = *(YYMARKER = ++YYCURSOR);
5640 	if (yych <= '*') {
5641 		if (yych <= 0x1F) {
5642 			if (yych == '\t') goto yy307;
5643 			goto yy246;
5644 		} else {
5645 			if (yych <= ' ') goto yy307;
5646 			if (yych == '(') goto yy307;
5647 			goto yy246;
5648 		}
5649 	} else {
5650 		if (yych <= '@') {
5651 			if (yych == ',') goto yy246;
5652 			if (yych <= '-') goto yy307;
5653 			goto yy246;
5654 		} else {
5655 			if (yych <= 'Z') goto yy307;
5656 			if (yych <= '`') goto yy246;
5657 			if (yych <= 'z') goto yy307;
5658 			goto yy246;
5659 		}
5660 	}
5661 yy306:
5662 	YYDEBUG(306, *YYCURSOR);
5663 	++YYCURSOR;
5664 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
5665 	yych = *YYCURSOR;
5666 yy307:
5667 	YYDEBUG(307, *YYCURSOR);
5668 	if (yych <= '+') {
5669 		if (yych <= ' ') {
5670 			if (yych == '\t') goto yy306;
5671 			if (yych <= 0x1F) goto yy56;
5672 			goto yy306;
5673 		} else {
5674 			if (yych == '(') goto yy257;
5675 			if (yych <= '*') goto yy56;
5676 			goto yy256;
5677 		}
5678 	} else {
5679 		if (yych <= 'F') {
5680 			if (yych == '-') goto yy256;
5681 			if (yych <= '@') goto yy56;
5682 			goto yy259;
5683 		} else {
5684 			if (yych <= 'Z') {
5685 				if (yych <= 'G') goto yy255;
5686 				goto yy259;
5687 			} else {
5688 				if (yych <= '`') goto yy56;
5689 				if (yych <= 'z') goto yy261;
5690 				goto yy56;
5691 			}
5692 		}
5693 	}
5694 yy308:
5695 	YYDEBUG(308, *YYCURSOR);
5696 	yych = *++YYCURSOR;
5697 	if (yych <= '/') {
5698 		if (yych == '.') goto yy299;
5699 		goto yy56;
5700 	} else {
5701 		if (yych <= '9') goto yy298;
5702 		if (yych <= ':') goto yy299;
5703 		goto yy56;
5704 	}
5705 yy309:
5706 	YYDEBUG(309, *YYCURSOR);
5707 	yych = *++YYCURSOR;
5708 	if (yych <= '/') {
5709 		if (yych == '.') goto yy299;
5710 		goto yy56;
5711 	} else {
5712 		if (yych <= '4') goto yy298;
5713 		if (yych == ':') goto yy299;
5714 		goto yy56;
5715 	}
5716 yy310:
5717 	YYDEBUG(310, *YYCURSOR);
5718 	yyaccept = 6;
5719 	yych = *(YYMARKER = ++YYCURSOR);
5720 	if (yych <= '/') {
5721 		if (yych == '.') goto yy299;
5722 		goto yy232;
5723 	} else {
5724 		if (yych <= '0') goto yy317;
5725 		if (yych <= '9') goto yy318;
5726 		if (yych <= ':') goto yy299;
5727 		goto yy232;
5728 	}
5729 yy311:
5730 	YYDEBUG(311, *YYCURSOR);
5731 	yyaccept = 6;
5732 	yych = *(YYMARKER = ++YYCURSOR);
5733 	if (yych <= '/') {
5734 		if (yych == '.') goto yy244;
5735 		goto yy232;
5736 	} else {
5737 		if (yych <= '2') goto yy318;
5738 		if (yych <= '9') goto yy317;
5739 		if (yych <= ':') goto yy244;
5740 		goto yy232;
5741 	}
5742 yy312:
5743 	YYDEBUG(312, *YYCURSOR);
5744 	yyaccept = 6;
5745 	yych = *(YYMARKER = ++YYCURSOR);
5746 	if (yych <= '/') {
5747 		if (yych == '.') goto yy244;
5748 		goto yy232;
5749 	} else {
5750 		if (yych <= '4') goto yy317;
5751 		if (yych <= '9') goto yy314;
5752 		if (yych <= ':') goto yy244;
5753 		goto yy232;
5754 	}
5755 yy313:
5756 	YYDEBUG(313, *YYCURSOR);
5757 	yyaccept = 6;
5758 	yych = *(YYMARKER = ++YYCURSOR);
5759 	if (yych <= '/') {
5760 		if (yych == '.') goto yy244;
5761 		goto yy232;
5762 	} else {
5763 		if (yych <= '9') goto yy314;
5764 		if (yych <= ':') goto yy244;
5765 		goto yy232;
5766 	}
5767 yy314:
5768 	YYDEBUG(314, *YYCURSOR);
5769 	yych = *++YYCURSOR;
5770 	if (yych <= '/') goto yy232;
5771 	if (yych >= ':') goto yy232;
5772 yy315:
5773 	YYDEBUG(315, *YYCURSOR);
5774 	yych = *++YYCURSOR;
5775 	if (yych <= '/') goto yy232;
5776 	if (yych >= ':') goto yy232;
5777 	YYDEBUG(316, *YYCURSOR);
5778 	yych = *++YYCURSOR;
5779 	goto yy232;
5780 yy317:
5781 	YYDEBUG(317, *YYCURSOR);
5782 	yyaccept = 6;
5783 	yych = *(YYMARKER = ++YYCURSOR);
5784 	if (yych <= '/') {
5785 		if (yych == '.') goto yy299;
5786 		goto yy232;
5787 	} else {
5788 		if (yych <= '9') goto yy315;
5789 		if (yych <= ':') goto yy299;
5790 		goto yy232;
5791 	}
5792 yy318:
5793 	YYDEBUG(318, *YYCURSOR);
5794 	yyaccept = 6;
5795 	yych = *(YYMARKER = ++YYCURSOR);
5796 	if (yych <= '/') {
5797 		if (yych == '.') goto yy244;
5798 		goto yy232;
5799 	} else {
5800 		if (yych <= '9') goto yy315;
5801 		if (yych <= ':') goto yy244;
5802 		goto yy232;
5803 	}
5804 yy319:
5805 	YYDEBUG(319, *YYCURSOR);
5806 	yyaccept = 6;
5807 	yych = *(YYMARKER = ++YYCURSOR);
5808 	if (yych <= 0x00) goto yy238;
5809 	goto yy237;
5810 yy320:
5811 	YYDEBUG(320, *YYCURSOR);
5812 	yych = *++YYCURSOR;
5813 	if (yych <= '/') goto yy56;
5814 	if (yych >= ':') goto yy56;
5815 	YYDEBUG(321, *YYCURSOR);
5816 	++YYCURSOR;
5817 	YYDEBUG(322, *YYCURSOR);
5818 #line 1381 "ext/date/lib/parse_date.re"
5819 	{
5820 		int length = 0;
5821 		DEBUG_OUTPUT("datenoday");
5822 		TIMELIB_INIT;
5823 		TIMELIB_HAVE_DATE();
5824 		s->time->m = timelib_get_month((char **) &ptr);
5825 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
5826 		s->time->d = 1;
5827 		TIMELIB_PROCESS_YEAR(s->time->y, length);
5828 		TIMELIB_DEINIT;
5829 		return TIMELIB_DATE_NO_DAY;
5830 	}
5831 #line 5832 "<stdout>"
5832 yy323:
5833 	YYDEBUG(323, *YYCURSOR);
5834 	yych = *++YYCURSOR;
5835 	if (yych <= '9') {
5836 		if (yych <= ' ') {
5837 			if (yych <= 0x08) {
5838 				if (yych <= 0x00) goto yy238;
5839 				goto yy56;
5840 			} else {
5841 				if (yych <= '\t') goto yy236;
5842 				if (yych <= 0x1F) goto yy56;
5843 				goto yy236;
5844 			}
5845 		} else {
5846 			if (yych <= '-') {
5847 				if (yych == ',') goto yy236;
5848 				goto yy56;
5849 			} else {
5850 				if (yych <= '.') goto yy236;
5851 				if (yych <= '/') goto yy56;
5852 				goto yy320;
5853 			}
5854 		}
5855 	} else {
5856 		if (yych <= 'm') {
5857 			if (yych <= 'd') {
5858 				if (yych <= 'c') goto yy56;
5859 				goto yy236;
5860 			} else {
5861 				if (yych == 'h') goto yy236;
5862 				goto yy56;
5863 			}
5864 		} else {
5865 			if (yych <= 'r') {
5866 				if (yych <= 'n') goto yy233;
5867 				if (yych <= 'q') goto yy56;
5868 				goto yy234;
5869 			} else {
5870 				if (yych <= 's') goto yy231;
5871 				if (yych <= 't') goto yy235;
5872 				goto yy56;
5873 			}
5874 		}
5875 	}
5876 yy324:
5877 	YYDEBUG(324, *YYCURSOR);
5878 	yych = *++YYCURSOR;
5879 	if (yych <= '9') {
5880 		if (yych <= ' ') {
5881 			if (yych <= 0x08) {
5882 				if (yych <= 0x00) goto yy238;
5883 				goto yy56;
5884 			} else {
5885 				if (yych <= '\t') goto yy236;
5886 				if (yych <= 0x1F) goto yy56;
5887 				goto yy236;
5888 			}
5889 		} else {
5890 			if (yych <= '-') {
5891 				if (yych == ',') goto yy236;
5892 				goto yy56;
5893 			} else {
5894 				if (yych <= '.') goto yy236;
5895 				if (yych <= '/') goto yy56;
5896 				goto yy327;
5897 			}
5898 		}
5899 	} else {
5900 		if (yych <= 'm') {
5901 			if (yych <= 'd') {
5902 				if (yych <= 'c') goto yy56;
5903 				goto yy236;
5904 			} else {
5905 				if (yych == 'h') goto yy236;
5906 				goto yy56;
5907 			}
5908 		} else {
5909 			if (yych <= 'r') {
5910 				if (yych <= 'n') goto yy233;
5911 				if (yych <= 'q') goto yy56;
5912 				goto yy234;
5913 			} else {
5914 				if (yych <= 's') goto yy231;
5915 				if (yych <= 't') goto yy235;
5916 				goto yy56;
5917 			}
5918 		}
5919 	}
5920 yy325:
5921 	YYDEBUG(325, *YYCURSOR);
5922 	yych = *++YYCURSOR;
5923 	if (yych <= '9') {
5924 		if (yych <= ' ') {
5925 			if (yych <= 0x08) {
5926 				if (yych <= 0x00) goto yy238;
5927 				goto yy56;
5928 			} else {
5929 				if (yych <= '\t') goto yy236;
5930 				if (yych <= 0x1F) goto yy56;
5931 				goto yy236;
5932 			}
5933 		} else {
5934 			if (yych <= '-') {
5935 				if (yych == ',') goto yy236;
5936 				goto yy56;
5937 			} else {
5938 				if (yych <= '.') goto yy236;
5939 				if (yych <= '/') goto yy56;
5940 				goto yy327;
5941 			}
5942 		}
5943 	} else {
5944 		if (yych <= 'm') {
5945 			if (yych <= 'd') {
5946 				if (yych <= 'c') goto yy56;
5947 				goto yy236;
5948 			} else {
5949 				if (yych == 'h') goto yy236;
5950 				goto yy56;
5951 			}
5952 		} else {
5953 			if (yych <= 'r') {
5954 				if (yych <= 'n') goto yy233;
5955 				if (yych <= 'q') goto yy56;
5956 				goto yy234;
5957 			} else {
5958 				if (yych <= 's') goto yy231;
5959 				if (yych <= 't') goto yy235;
5960 				goto yy56;
5961 			}
5962 		}
5963 	}
5964 yy326:
5965 	YYDEBUG(326, *YYCURSOR);
5966 	yych = *++YYCURSOR;
5967 	if (yych <= '1') {
5968 		if (yych <= ' ') {
5969 			if (yych <= 0x08) {
5970 				if (yych <= 0x00) goto yy238;
5971 				goto yy56;
5972 			} else {
5973 				if (yych <= '\t') goto yy236;
5974 				if (yych <= 0x1F) goto yy56;
5975 				goto yy236;
5976 			}
5977 		} else {
5978 			if (yych <= '-') {
5979 				if (yych == ',') goto yy236;
5980 				goto yy56;
5981 			} else {
5982 				if (yych <= '.') goto yy236;
5983 				if (yych <= '/') goto yy56;
5984 			}
5985 		}
5986 	} else {
5987 		if (yych <= 'm') {
5988 			if (yych <= 'd') {
5989 				if (yych <= '9') goto yy230;
5990 				if (yych <= 'c') goto yy56;
5991 				goto yy236;
5992 			} else {
5993 				if (yych == 'h') goto yy236;
5994 				goto yy56;
5995 			}
5996 		} else {
5997 			if (yych <= 'r') {
5998 				if (yych <= 'n') goto yy233;
5999 				if (yych <= 'q') goto yy56;
6000 				goto yy234;
6001 			} else {
6002 				if (yych <= 's') goto yy231;
6003 				if (yych <= 't') goto yy235;
6004 				goto yy56;
6005 			}
6006 		}
6007 	}
6008 yy327:
6009 	YYDEBUG(327, *YYCURSOR);
6010 	yych = *++YYCURSOR;
6011 	if (yych <= '9') {
6012 		if (yych <= ' ') {
6013 			if (yych <= 0x08) {
6014 				if (yych <= 0x00) goto yy238;
6015 				goto yy56;
6016 			} else {
6017 				if (yych <= '\t') goto yy236;
6018 				if (yych <= 0x1F) goto yy56;
6019 				goto yy236;
6020 			}
6021 		} else {
6022 			if (yych <= '-') {
6023 				if (yych <= '+') goto yy56;
6024 				if (yych <= ',') goto yy236;
6025 			} else {
6026 				if (yych <= '.') goto yy236;
6027 				if (yych <= '/') goto yy56;
6028 				goto yy320;
6029 			}
6030 		}
6031 	} else {
6032 		if (yych <= 'm') {
6033 			if (yych <= 'd') {
6034 				if (yych <= 'c') goto yy56;
6035 				goto yy236;
6036 			} else {
6037 				if (yych == 'h') goto yy236;
6038 				goto yy56;
6039 			}
6040 		} else {
6041 			if (yych <= 'r') {
6042 				if (yych <= 'n') goto yy233;
6043 				if (yych <= 'q') goto yy56;
6044 				goto yy234;
6045 			} else {
6046 				if (yych <= 's') goto yy231;
6047 				if (yych <= 't') goto yy235;
6048 				goto yy56;
6049 			}
6050 		}
6051 	}
6052 	YYDEBUG(328, *YYCURSOR);
6053 	yych = *++YYCURSOR;
6054 	if (yych <= '/') goto yy56;
6055 	if (yych >= ':') goto yy56;
6056 	YYDEBUG(329, *YYCURSOR);
6057 	++YYCURSOR;
6058 	if ((yych = *YYCURSOR) <= '/') goto yy330;
6059 	if (yych <= '9') goto yy331;
6060 yy330:
6061 	YYDEBUG(330, *YYCURSOR);
6062 #line 1525 "ext/date/lib/parse_date.re"
6063 	{
6064 		int length = 0;
6065 		DEBUG_OUTPUT("pgtextshort");
6066 		TIMELIB_INIT;
6067 		TIMELIB_HAVE_DATE();
6068 		s->time->m = timelib_get_month((char **) &ptr);
6069 		s->time->d = timelib_get_nr((char **) &ptr, 2);
6070 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
6071 		TIMELIB_PROCESS_YEAR(s->time->y, length);
6072 		TIMELIB_DEINIT;
6073 		return TIMELIB_PG_TEXT;
6074 	}
6075 #line 6076 "<stdout>"
6076 yy331:
6077 	YYDEBUG(331, *YYCURSOR);
6078 	yych = *++YYCURSOR;
6079 	if (yych <= '/') goto yy330;
6080 	if (yych >= ':') goto yy330;
6081 	YYDEBUG(332, *YYCURSOR);
6082 	yych = *++YYCURSOR;
6083 	if (yych <= '/') goto yy330;
6084 	if (yych >= ':') goto yy330;
6085 	YYDEBUG(333, *YYCURSOR);
6086 	yych = *++YYCURSOR;
6087 	goto yy330;
6088 yy334:
6089 	YYDEBUG(334, *YYCURSOR);
6090 	yyaccept = 0;
6091 	yych = *(YYMARKER = ++YYCURSOR);
6092 	if (yych <= 'B') {
6093 		if (yych <= '-') {
6094 			if (yych == ')') goto yy164;
6095 			if (yych <= ',') goto yy3;
6096 			goto yy172;
6097 		} else {
6098 			if (yych == '/') goto yy172;
6099 			if (yych <= '@') goto yy3;
6100 			goto yy166;
6101 		}
6102 	} else {
6103 		if (yych <= '_') {
6104 			if (yych <= 'C') goto yy217;
6105 			if (yych <= 'Z') goto yy166;
6106 			if (yych <= '^') goto yy3;
6107 			goto yy172;
6108 		} else {
6109 			if (yych <= 'b') {
6110 				if (yych <= '`') goto yy3;
6111 				goto yy171;
6112 			} else {
6113 				if (yych <= 'c') goto yy335;
6114 				if (yych <= 'z') goto yy171;
6115 				goto yy3;
6116 			}
6117 		}
6118 	}
6119 yy335:
6120 	YYDEBUG(335, *YYCURSOR);
6121 	yyaccept = 5;
6122 	yych = *(YYMARKER = ++YYCURSOR);
6123 	if (yych <= '9') {
6124 		if (yych <= '(') {
6125 			if (yych <= '\t') {
6126 				if (yych <= 0x08) goto yy218;
6127 				goto yy220;
6128 			} else {
6129 				if (yych == ' ') goto yy220;
6130 				goto yy218;
6131 			}
6132 		} else {
6133 			if (yych <= '-') {
6134 				if (yych <= ')') goto yy164;
6135 				if (yych <= ',') goto yy218;
6136 			} else {
6137 				if (yych == '/') goto yy172;
6138 				goto yy220;
6139 			}
6140 		}
6141 	} else {
6142 		if (yych <= '^') {
6143 			if (yych <= 'D') {
6144 				if (yych <= '@') goto yy218;
6145 				goto yy167;
6146 			} else {
6147 				if (yych <= 'E') goto yy225;
6148 				if (yych <= 'Z') goto yy167;
6149 				goto yy218;
6150 			}
6151 		} else {
6152 			if (yych <= 'd') {
6153 				if (yych <= '_') goto yy172;
6154 				if (yych <= '`') goto yy218;
6155 				goto yy175;
6156 			} else {
6157 				if (yych <= 'e') goto yy337;
6158 				if (yych <= 'z') goto yy175;
6159 				goto yy218;
6160 			}
6161 		}
6162 	}
6163 yy336:
6164 	YYDEBUG(336, *YYCURSOR);
6165 	yych = *++YYCURSOR;
6166 	if (yybm[0+yych] & 8) {
6167 		goto yy173;
6168 	}
6169 	if (yych <= '/') goto yy220;
6170 	if (yych <= '0') goto yy324;
6171 	if (yych <= '2') goto yy325;
6172 	if (yych <= '3') goto yy326;
6173 	goto yy220;
6174 yy337:
6175 	YYDEBUG(337, *YYCURSOR);
6176 	yyaccept = 0;
6177 	yych = *(YYMARKER = ++YYCURSOR);
6178 	if (yych <= 'L') {
6179 		if (yych <= '-') {
6180 			if (yych == ')') goto yy164;
6181 			if (yych <= ',') goto yy3;
6182 			goto yy172;
6183 		} else {
6184 			if (yych == '/') goto yy172;
6185 			if (yych <= '@') goto yy3;
6186 			goto yy168;
6187 		}
6188 	} else {
6189 		if (yych <= '_') {
6190 			if (yych <= 'M') goto yy226;
6191 			if (yych <= 'Z') goto yy168;
6192 			if (yych <= '^') goto yy3;
6193 			goto yy172;
6194 		} else {
6195 			if (yych <= 'l') {
6196 				if (yych <= '`') goto yy3;
6197 				goto yy176;
6198 			} else {
6199 				if (yych <= 'm') goto yy338;
6200 				if (yych <= 'z') goto yy176;
6201 				goto yy3;
6202 			}
6203 		}
6204 	}
6205 yy338:
6206 	YYDEBUG(338, *YYCURSOR);
6207 	yyaccept = 0;
6208 	yych = *(YYMARKER = ++YYCURSOR);
6209 	if (yych <= 'A') {
6210 		if (yych <= '-') {
6211 			if (yych == ')') goto yy164;
6212 			if (yych <= ',') goto yy3;
6213 			goto yy172;
6214 		} else {
6215 			if (yych == '/') goto yy172;
6216 			if (yych <= '@') goto yy3;
6217 			goto yy169;
6218 		}
6219 	} else {
6220 		if (yych <= '_') {
6221 			if (yych <= 'B') goto yy227;
6222 			if (yych <= 'Z') goto yy169;
6223 			if (yych <= '^') goto yy3;
6224 			goto yy172;
6225 		} else {
6226 			if (yych <= 'a') {
6227 				if (yych <= '`') goto yy3;
6228 				goto yy177;
6229 			} else {
6230 				if (yych <= 'b') goto yy339;
6231 				if (yych <= 'z') goto yy177;
6232 				goto yy3;
6233 			}
6234 		}
6235 	}
6236 yy339:
6237 	YYDEBUG(339, *YYCURSOR);
6238 	yyaccept = 0;
6239 	yych = *(YYMARKER = ++YYCURSOR);
6240 	if (yych <= 'D') {
6241 		if (yych <= ',') {
6242 			if (yych == ')') goto yy164;
6243 			goto yy3;
6244 		} else {
6245 			if (yych == '.') goto yy3;
6246 			if (yych <= '/') goto yy172;
6247 			goto yy3;
6248 		}
6249 	} else {
6250 		if (yych <= '`') {
6251 			if (yych <= 'E') goto yy228;
6252 			if (yych == '_') goto yy172;
6253 			goto yy3;
6254 		} else {
6255 			if (yych == 'e') goto yy340;
6256 			if (yych <= 'z') goto yy178;
6257 			goto yy3;
6258 		}
6259 	}
6260 yy340:
6261 	YYDEBUG(340, *YYCURSOR);
6262 	yych = *++YYCURSOR;
6263 	if (yych == 'R') goto yy229;
6264 	if (yych != 'r') goto yy179;
6265 yy341:
6266 	YYDEBUG(341, *YYCURSOR);
6267 	yyaccept = 5;
6268 	yych = *(YYMARKER = ++YYCURSOR);
6269 	if (yybm[0+yych] & 16) {
6270 		goto yy178;
6271 	}
6272 	if (yych <= '-') {
6273 		if (yych <= 0x1F) {
6274 			if (yych == '\t') goto yy220;
6275 			goto yy218;
6276 		} else {
6277 			if (yych <= ' ') goto yy220;
6278 			if (yych <= ',') goto yy218;
6279 		}
6280 	} else {
6281 		if (yych <= '9') {
6282 			if (yych == '/') goto yy172;
6283 			goto yy220;
6284 		} else {
6285 			if (yych == '_') goto yy172;
6286 			goto yy218;
6287 		}
6288 	}
6289 yy342:
6290 	YYDEBUG(342, *YYCURSOR);
6291 	yych = *++YYCURSOR;
6292 	if (yybm[0+yych] & 8) {
6293 		goto yy173;
6294 	}
6295 	goto yy220;
6296 yy343:
6297 	YYDEBUG(343, *YYCURSOR);
6298 	yych = *++YYCURSOR;
6299 	if (yych <= 'T') {
6300 		if (yych <= ')') {
6301 			if (yych <= '(') goto yy3;
6302 			goto yy164;
6303 		} else {
6304 			if (yych <= '@') goto yy3;
6305 			if (yych <= 'S') goto yy166;
6306 		}
6307 	} else {
6308 		if (yych <= 's') {
6309 			if (yych <= 'Z') goto yy166;
6310 			if (yych <= '`') goto yy3;
6311 			goto yy166;
6312 		} else {
6313 			if (yych <= 't') goto yy344;
6314 			if (yych <= 'z') goto yy166;
6315 			goto yy3;
6316 		}
6317 	}
6318 yy344:
6319 	YYDEBUG(344, *YYCURSOR);
6320 	yyaccept = 5;
6321 	yych = *(YYMARKER = ++YYCURSOR);
6322 	if (yych <= '/') {
6323 		if (yych <= '(') {
6324 			if (yych <= '\t') {
6325 				if (yych <= 0x08) goto yy218;
6326 				goto yy220;
6327 			} else {
6328 				if (yych == ' ') goto yy220;
6329 				goto yy218;
6330 			}
6331 		} else {
6332 			if (yych <= ',') {
6333 				if (yych <= ')') goto yy164;
6334 				goto yy218;
6335 			} else {
6336 				if (yych <= '-') goto yy221;
6337 				if (yych <= '.') goto yy220;
6338 				goto yy218;
6339 			}
6340 		}
6341 	} else {
6342 		if (yych <= 'Z') {
6343 			if (yych <= '@') {
6344 				if (yych <= '9') goto yy220;
6345 				goto yy218;
6346 			} else {
6347 				if (yych != 'O') goto yy167;
6348 			}
6349 		} else {
6350 			if (yych <= 'n') {
6351 				if (yych <= '`') goto yy218;
6352 				goto yy167;
6353 			} else {
6354 				if (yych <= 'o') goto yy345;
6355 				if (yych <= 'z') goto yy167;
6356 				goto yy218;
6357 			}
6358 		}
6359 	}
6360 yy345:
6361 	YYDEBUG(345, *YYCURSOR);
6362 	yych = *++YYCURSOR;
6363 	if (yych <= 'B') {
6364 		if (yych <= ')') {
6365 			if (yych <= '(') goto yy3;
6366 			goto yy164;
6367 		} else {
6368 			if (yych <= '@') goto yy3;
6369 			if (yych <= 'A') goto yy168;
6370 		}
6371 	} else {
6372 		if (yych <= 'a') {
6373 			if (yych <= 'Z') goto yy168;
6374 			if (yych <= '`') goto yy3;
6375 			goto yy168;
6376 		} else {
6377 			if (yych <= 'b') goto yy346;
6378 			if (yych <= 'z') goto yy168;
6379 			goto yy3;
6380 		}
6381 	}
6382 yy346:
6383 	YYDEBUG(346, *YYCURSOR);
6384 	yych = *++YYCURSOR;
6385 	if (yych <= 'E') {
6386 		if (yych <= ')') {
6387 			if (yych <= '(') goto yy3;
6388 			goto yy164;
6389 		} else {
6390 			if (yych <= '@') goto yy3;
6391 			if (yych <= 'D') goto yy169;
6392 		}
6393 	} else {
6394 		if (yych <= 'd') {
6395 			if (yych <= 'Z') goto yy169;
6396 			if (yych <= '`') goto yy3;
6397 			goto yy169;
6398 		} else {
6399 			if (yych <= 'e') goto yy347;
6400 			if (yych <= 'z') goto yy169;
6401 			goto yy3;
6402 		}
6403 	}
6404 yy347:
6405 	YYDEBUG(347, *YYCURSOR);
6406 	yych = *++YYCURSOR;
6407 	if (yych <= 'Q') {
6408 		if (yych == ')') goto yy164;
6409 		goto yy3;
6410 	} else {
6411 		if (yych <= 'R') goto yy229;
6412 		if (yych == 'r') goto yy229;
6413 		goto yy3;
6414 	}
6415 yy348:
6416 	YYDEBUG(348, *YYCURSOR);
6417 	yyaccept = 0;
6418 	yych = *(YYMARKER = ++YYCURSOR);
6419 	if (yych <= 'S') {
6420 		if (yych <= '-') {
6421 			if (yych == ')') goto yy164;
6422 			if (yych <= ',') goto yy3;
6423 			goto yy172;
6424 		} else {
6425 			if (yych == '/') goto yy172;
6426 			if (yych <= '@') goto yy3;
6427 			goto yy166;
6428 		}
6429 	} else {
6430 		if (yych <= '_') {
6431 			if (yych <= 'T') goto yy344;
6432 			if (yych <= 'Z') goto yy166;
6433 			if (yych <= '^') goto yy3;
6434 			goto yy172;
6435 		} else {
6436 			if (yych <= 's') {
6437 				if (yych <= '`') goto yy3;
6438 				goto yy171;
6439 			} else {
6440 				if (yych <= 't') goto yy349;
6441 				if (yych <= 'z') goto yy171;
6442 				goto yy3;
6443 			}
6444 		}
6445 	}
6446 yy349:
6447 	YYDEBUG(349, *YYCURSOR);
6448 	yyaccept = 5;
6449 	yych = *(YYMARKER = ++YYCURSOR);
6450 	if (yych <= '9') {
6451 		if (yych <= '(') {
6452 			if (yych <= '\t') {
6453 				if (yych <= 0x08) goto yy218;
6454 				goto yy220;
6455 			} else {
6456 				if (yych == ' ') goto yy220;
6457 				goto yy218;
6458 			}
6459 		} else {
6460 			if (yych <= '-') {
6461 				if (yych <= ')') goto yy164;
6462 				if (yych <= ',') goto yy218;
6463 				goto yy336;
6464 			} else {
6465 				if (yych == '/') goto yy172;
6466 				goto yy220;
6467 			}
6468 		}
6469 	} else {
6470 		if (yych <= '^') {
6471 			if (yych <= 'N') {
6472 				if (yych <= '@') goto yy218;
6473 				goto yy167;
6474 			} else {
6475 				if (yych <= 'O') goto yy345;
6476 				if (yych <= 'Z') goto yy167;
6477 				goto yy218;
6478 			}
6479 		} else {
6480 			if (yych <= 'n') {
6481 				if (yych <= '_') goto yy172;
6482 				if (yych <= '`') goto yy218;
6483 				goto yy175;
6484 			} else {
6485 				if (yych <= 'o') goto yy350;
6486 				if (yych <= 'z') goto yy175;
6487 				goto yy218;
6488 			}
6489 		}
6490 	}
6491 yy350:
6492 	YYDEBUG(350, *YYCURSOR);
6493 	yyaccept = 0;
6494 	yych = *(YYMARKER = ++YYCURSOR);
6495 	if (yych <= 'A') {
6496 		if (yych <= '-') {
6497 			if (yych == ')') goto yy164;
6498 			if (yych <= ',') goto yy3;
6499 			goto yy172;
6500 		} else {
6501 			if (yych == '/') goto yy172;
6502 			if (yych <= '@') goto yy3;
6503 			goto yy168;
6504 		}
6505 	} else {
6506 		if (yych <= '_') {
6507 			if (yych <= 'B') goto yy346;
6508 			if (yych <= 'Z') goto yy168;
6509 			if (yych <= '^') goto yy3;
6510 			goto yy172;
6511 		} else {
6512 			if (yych <= 'a') {
6513 				if (yych <= '`') goto yy3;
6514 				goto yy176;
6515 			} else {
6516 				if (yych <= 'b') goto yy351;
6517 				if (yych <= 'z') goto yy176;
6518 				goto yy3;
6519 			}
6520 		}
6521 	}
6522 yy351:
6523 	YYDEBUG(351, *YYCURSOR);
6524 	yyaccept = 0;
6525 	yych = *(YYMARKER = ++YYCURSOR);
6526 	if (yych <= 'D') {
6527 		if (yych <= '-') {
6528 			if (yych == ')') goto yy164;
6529 			if (yych <= ',') goto yy3;
6530 			goto yy172;
6531 		} else {
6532 			if (yych == '/') goto yy172;
6533 			if (yych <= '@') goto yy3;
6534 			goto yy169;
6535 		}
6536 	} else {
6537 		if (yych <= '_') {
6538 			if (yych <= 'E') goto yy347;
6539 			if (yych <= 'Z') goto yy169;
6540 			if (yych <= '^') goto yy3;
6541 			goto yy172;
6542 		} else {
6543 			if (yych <= 'd') {
6544 				if (yych <= '`') goto yy3;
6545 				goto yy177;
6546 			} else {
6547 				if (yych <= 'e') goto yy352;
6548 				if (yych <= 'z') goto yy177;
6549 				goto yy3;
6550 			}
6551 		}
6552 	}
6553 yy352:
6554 	YYDEBUG(352, *YYCURSOR);
6555 	yyaccept = 0;
6556 	yych = *(YYMARKER = ++YYCURSOR);
6557 	if (yych <= 'Q') {
6558 		if (yych <= ',') {
6559 			if (yych == ')') goto yy164;
6560 			goto yy3;
6561 		} else {
6562 			if (yych == '.') goto yy3;
6563 			if (yych <= '/') goto yy172;
6564 			goto yy3;
6565 		}
6566 	} else {
6567 		if (yych <= '`') {
6568 			if (yych <= 'R') goto yy229;
6569 			if (yych == '_') goto yy172;
6570 			goto yy3;
6571 		} else {
6572 			if (yych == 'r') goto yy341;
6573 			if (yych <= 'z') goto yy178;
6574 			goto yy3;
6575 		}
6576 	}
6577 yy353:
6578 	YYDEBUG(353, *YYCURSOR);
6579 	yych = *++YYCURSOR;
6580 	if (yych <= 'G') {
6581 		if (yych <= ')') {
6582 			if (yych <= '(') goto yy3;
6583 			goto yy164;
6584 		} else {
6585 			if (yych <= '@') goto yy3;
6586 			if (yych <= 'F') goto yy166;
6587 			goto yy361;
6588 		}
6589 	} else {
6590 		if (yych <= 'f') {
6591 			if (yych <= 'Z') goto yy166;
6592 			if (yych <= '`') goto yy3;
6593 			goto yy166;
6594 		} else {
6595 			if (yych <= 'g') goto yy361;
6596 			if (yych <= 'z') goto yy166;
6597 			goto yy3;
6598 		}
6599 	}
6600 yy354:
6601 	YYDEBUG(354, *YYCURSOR);
6602 	yych = *++YYCURSOR;
6603 	if (yych <= 'R') {
6604 		if (yych <= ')') {
6605 			if (yych <= '(') goto yy3;
6606 			goto yy164;
6607 		} else {
6608 			if (yych <= '@') goto yy3;
6609 			if (yych <= 'Q') goto yy166;
6610 			goto yy358;
6611 		}
6612 	} else {
6613 		if (yych <= 'q') {
6614 			if (yych <= 'Z') goto yy166;
6615 			if (yych <= '`') goto yy3;
6616 			goto yy166;
6617 		} else {
6618 			if (yych <= 'r') goto yy358;
6619 			if (yych <= 'z') goto yy166;
6620 			goto yy3;
6621 		}
6622 	}
6623 yy355:
6624 	YYDEBUG(355, *YYCURSOR);
6625 	yych = *++YYCURSOR;
6626 	if (yych <= 'O') {
6627 		if (yych <= ')') {
6628 			if (yych <= '(') goto yy3;
6629 			goto yy164;
6630 		} else {
6631 			if (yych <= '@') goto yy3;
6632 			if (yych <= 'N') goto yy166;
6633 		}
6634 	} else {
6635 		if (yych <= 'n') {
6636 			if (yych <= 'Z') goto yy166;
6637 			if (yych <= '`') goto yy3;
6638 			goto yy166;
6639 		} else {
6640 			if (yych <= 'o') goto yy356;
6641 			if (yych <= 'z') goto yy166;
6642 			goto yy3;
6643 		}
6644 	}
6645 yy356:
6646 	YYDEBUG(356, *YYCURSOR);
6647 	++YYCURSOR;
6648 	if ((yych = *YYCURSOR) <= '@') {
6649 		if (yych == ')') goto yy164;
6650 	} else {
6651 		if (yych <= 'Z') goto yy167;
6652 		if (yych <= '`') goto yy357;
6653 		if (yych <= 'z') goto yy167;
6654 	}
6655 yy357:
6656 	YYDEBUG(357, *YYCURSOR);
6657 #line 1583 "ext/date/lib/parse_date.re"
6658 	{
6659 		DEBUG_OUTPUT("ago");
6660 		TIMELIB_INIT;
6661 		s->time->relative.y = 0 - s->time->relative.y;
6662 		s->time->relative.m = 0 - s->time->relative.m;
6663 		s->time->relative.d = 0 - s->time->relative.d;
6664 		s->time->relative.h = 0 - s->time->relative.h;
6665 		s->time->relative.i = 0 - s->time->relative.i;
6666 		s->time->relative.s = 0 - s->time->relative.s;
6667 		s->time->relative.weekday = 0 - s->time->relative.weekday;
6668 		if (s->time->relative.weekday == 0) {
6669 			s->time->relative.weekday = -7;
6670 		}
6671 		if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
6672 			s->time->relative.special.amount = 0 - s->time->relative.special.amount;
6673 		}
6674 		TIMELIB_DEINIT;
6675 		return TIMELIB_AGO;
6676 	}
6677 #line 6678 "<stdout>"
6678 yy358:
6679 	YYDEBUG(358, *YYCURSOR);
6680 	yyaccept = 5;
6681 	yych = *(YYMARKER = ++YYCURSOR);
6682 	if (yych <= '/') {
6683 		if (yych <= '(') {
6684 			if (yych <= '\t') {
6685 				if (yych <= 0x08) goto yy218;
6686 				goto yy220;
6687 			} else {
6688 				if (yych == ' ') goto yy220;
6689 				goto yy218;
6690 			}
6691 		} else {
6692 			if (yych <= ',') {
6693 				if (yych <= ')') goto yy164;
6694 				goto yy218;
6695 			} else {
6696 				if (yych <= '-') goto yy221;
6697 				if (yych <= '.') goto yy220;
6698 				goto yy218;
6699 			}
6700 		}
6701 	} else {
6702 		if (yych <= 'Z') {
6703 			if (yych <= '@') {
6704 				if (yych <= '9') goto yy220;
6705 				goto yy218;
6706 			} else {
6707 				if (yych != 'I') goto yy167;
6708 			}
6709 		} else {
6710 			if (yych <= 'h') {
6711 				if (yych <= '`') goto yy218;
6712 				goto yy167;
6713 			} else {
6714 				if (yych <= 'i') goto yy359;
6715 				if (yych <= 'z') goto yy167;
6716 				goto yy218;
6717 			}
6718 		}
6719 	}
6720 yy359:
6721 	YYDEBUG(359, *YYCURSOR);
6722 	yych = *++YYCURSOR;
6723 	if (yych <= 'L') {
6724 		if (yych <= ')') {
6725 			if (yych <= '(') goto yy3;
6726 			goto yy164;
6727 		} else {
6728 			if (yych <= '@') goto yy3;
6729 			if (yych <= 'K') goto yy168;
6730 		}
6731 	} else {
6732 		if (yych <= 'k') {
6733 			if (yych <= 'Z') goto yy168;
6734 			if (yych <= '`') goto yy3;
6735 			goto yy168;
6736 		} else {
6737 			if (yych <= 'l') goto yy360;
6738 			if (yych <= 'z') goto yy168;
6739 			goto yy3;
6740 		}
6741 	}
6742 yy360:
6743 	YYDEBUG(360, *YYCURSOR);
6744 	yyaccept = 5;
6745 	yych = *(YYMARKER = ++YYCURSOR);
6746 	if (yych <= ',') {
6747 		if (yych <= 0x1F) {
6748 			if (yych == '\t') goto yy220;
6749 			goto yy218;
6750 		} else {
6751 			if (yych <= ' ') goto yy220;
6752 			if (yych == ')') goto yy164;
6753 			goto yy218;
6754 		}
6755 	} else {
6756 		if (yych <= '@') {
6757 			if (yych == '/') goto yy218;
6758 			if (yych <= '9') goto yy220;
6759 			goto yy218;
6760 		} else {
6761 			if (yych <= 'Z') goto yy169;
6762 			if (yych <= '`') goto yy218;
6763 			if (yych <= 'z') goto yy169;
6764 			goto yy218;
6765 		}
6766 	}
6767 yy361:
6768 	YYDEBUG(361, *YYCURSOR);
6769 	yyaccept = 5;
6770 	yych = *(YYMARKER = ++YYCURSOR);
6771 	if (yych <= '/') {
6772 		if (yych <= '(') {
6773 			if (yych <= '\t') {
6774 				if (yych <= 0x08) goto yy218;
6775 				goto yy220;
6776 			} else {
6777 				if (yych == ' ') goto yy220;
6778 				goto yy218;
6779 			}
6780 		} else {
6781 			if (yych <= ',') {
6782 				if (yych <= ')') goto yy164;
6783 				goto yy218;
6784 			} else {
6785 				if (yych <= '-') goto yy221;
6786 				if (yych <= '.') goto yy220;
6787 				goto yy218;
6788 			}
6789 		}
6790 	} else {
6791 		if (yych <= 'Z') {
6792 			if (yych <= '@') {
6793 				if (yych <= '9') goto yy220;
6794 				goto yy218;
6795 			} else {
6796 				if (yych != 'U') goto yy167;
6797 			}
6798 		} else {
6799 			if (yych <= 't') {
6800 				if (yych <= '`') goto yy218;
6801 				goto yy167;
6802 			} else {
6803 				if (yych <= 'u') goto yy362;
6804 				if (yych <= 'z') goto yy167;
6805 				goto yy218;
6806 			}
6807 		}
6808 	}
6809 yy362:
6810 	YYDEBUG(362, *YYCURSOR);
6811 	yych = *++YYCURSOR;
6812 	if (yych <= 'S') {
6813 		if (yych <= ')') {
6814 			if (yych <= '(') goto yy3;
6815 			goto yy164;
6816 		} else {
6817 			if (yych <= '@') goto yy3;
6818 			if (yych <= 'R') goto yy168;
6819 		}
6820 	} else {
6821 		if (yych <= 'r') {
6822 			if (yych <= 'Z') goto yy168;
6823 			if (yych <= '`') goto yy3;
6824 			goto yy168;
6825 		} else {
6826 			if (yych <= 's') goto yy363;
6827 			if (yych <= 'z') goto yy168;
6828 			goto yy3;
6829 		}
6830 	}
6831 yy363:
6832 	YYDEBUG(363, *YYCURSOR);
6833 	yych = *++YYCURSOR;
6834 	if (yych <= 'T') {
6835 		if (yych <= ')') {
6836 			if (yych <= '(') goto yy3;
6837 			goto yy164;
6838 		} else {
6839 			if (yych <= '@') goto yy3;
6840 			if (yych <= 'S') goto yy169;
6841 		}
6842 	} else {
6843 		if (yych <= 's') {
6844 			if (yych <= 'Z') goto yy169;
6845 			if (yych <= '`') goto yy3;
6846 			goto yy169;
6847 		} else {
6848 			if (yych <= 't') goto yy364;
6849 			if (yych <= 'z') goto yy169;
6850 			goto yy3;
6851 		}
6852 	}
6853 yy364:
6854 	YYDEBUG(364, *YYCURSOR);
6855 	yyaccept = 5;
6856 	yych = *(YYMARKER = ++YYCURSOR);
6857 	if (yych <= '(') {
6858 		if (yych <= '\t') {
6859 			if (yych <= 0x08) goto yy218;
6860 			goto yy220;
6861 		} else {
6862 			if (yych == ' ') goto yy220;
6863 			goto yy218;
6864 		}
6865 	} else {
6866 		if (yych <= '.') {
6867 			if (yych <= ')') goto yy164;
6868 			if (yych <= ',') goto yy218;
6869 			goto yy220;
6870 		} else {
6871 			if (yych <= '/') goto yy218;
6872 			if (yych <= '9') goto yy220;
6873 			goto yy218;
6874 		}
6875 	}
6876 yy365:
6877 	YYDEBUG(365, *YYCURSOR);
6878 	yyaccept = 0;
6879 	yych = *(YYMARKER = ++YYCURSOR);
6880 	if (yych <= 'F') {
6881 		if (yych <= '-') {
6882 			if (yych == ')') goto yy164;
6883 			if (yych <= ',') goto yy3;
6884 			goto yy172;
6885 		} else {
6886 			if (yych == '/') goto yy172;
6887 			if (yych <= '@') goto yy3;
6888 			goto yy166;
6889 		}
6890 	} else {
6891 		if (yych <= '_') {
6892 			if (yych <= 'G') goto yy361;
6893 			if (yych <= 'Z') goto yy166;
6894 			if (yych <= '^') goto yy3;
6895 			goto yy172;
6896 		} else {
6897 			if (yych <= 'f') {
6898 				if (yych <= '`') goto yy3;
6899 				goto yy171;
6900 			} else {
6901 				if (yych <= 'g') goto yy372;
6902 				if (yych <= 'z') goto yy171;
6903 				goto yy3;
6904 			}
6905 		}
6906 	}
6907 yy366:
6908 	YYDEBUG(366, *YYCURSOR);
6909 	yyaccept = 0;
6910 	yych = *(YYMARKER = ++YYCURSOR);
6911 	if (yych <= 'Q') {
6912 		if (yych <= '-') {
6913 			if (yych == ')') goto yy164;
6914 			if (yych <= ',') goto yy3;
6915 			goto yy172;
6916 		} else {
6917 			if (yych == '/') goto yy172;
6918 			if (yych <= '@') goto yy3;
6919 			goto yy166;
6920 		}
6921 	} else {
6922 		if (yych <= '_') {
6923 			if (yych <= 'R') goto yy358;
6924 			if (yych <= 'Z') goto yy166;
6925 			if (yych <= '^') goto yy3;
6926 			goto yy172;
6927 		} else {
6928 			if (yych <= 'q') {
6929 				if (yych <= '`') goto yy3;
6930 				goto yy171;
6931 			} else {
6932 				if (yych <= 'r') goto yy369;
6933 				if (yych <= 'z') goto yy171;
6934 				goto yy3;
6935 			}
6936 		}
6937 	}
6938 yy367:
6939 	YYDEBUG(367, *YYCURSOR);
6940 	yyaccept = 0;
6941 	yych = *(YYMARKER = ++YYCURSOR);
6942 	if (yych <= 'N') {
6943 		if (yych <= '-') {
6944 			if (yych == ')') goto yy164;
6945 			if (yych <= ',') goto yy3;
6946 			goto yy172;
6947 		} else {
6948 			if (yych == '/') goto yy172;
6949 			if (yych <= '@') goto yy3;
6950 			goto yy166;
6951 		}
6952 	} else {
6953 		if (yych <= '_') {
6954 			if (yych <= 'O') goto yy356;
6955 			if (yych <= 'Z') goto yy166;
6956 			if (yych <= '^') goto yy3;
6957 			goto yy172;
6958 		} else {
6959 			if (yych <= 'n') {
6960 				if (yych <= '`') goto yy3;
6961 				goto yy171;
6962 			} else {
6963 				if (yych <= 'o') goto yy368;
6964 				if (yych <= 'z') goto yy171;
6965 				goto yy3;
6966 			}
6967 		}
6968 	}
6969 yy368:
6970 	YYDEBUG(368, *YYCURSOR);
6971 	yyaccept = 8;
6972 	yych = *(YYMARKER = ++YYCURSOR);
6973 	if (yych <= '/') {
6974 		if (yych <= ',') {
6975 			if (yych == ')') goto yy164;
6976 			goto yy357;
6977 		} else {
6978 			if (yych == '.') goto yy357;
6979 			goto yy172;
6980 		}
6981 	} else {
6982 		if (yych <= '^') {
6983 			if (yych <= '@') goto yy357;
6984 			if (yych <= 'Z') goto yy167;
6985 			goto yy357;
6986 		} else {
6987 			if (yych <= '_') goto yy172;
6988 			if (yych <= '`') goto yy357;
6989 			if (yych <= 'z') goto yy175;
6990 			goto yy357;
6991 		}
6992 	}
6993 yy369:
6994 	YYDEBUG(369, *YYCURSOR);
6995 	yyaccept = 5;
6996 	yych = *(YYMARKER = ++YYCURSOR);
6997 	if (yych <= '9') {
6998 		if (yych <= '(') {
6999 			if (yych <= '\t') {
7000 				if (yych <= 0x08) goto yy218;
7001 				goto yy220;
7002 			} else {
7003 				if (yych == ' ') goto yy220;
7004 				goto yy218;
7005 			}
7006 		} else {
7007 			if (yych <= '-') {
7008 				if (yych <= ')') goto yy164;
7009 				if (yych <= ',') goto yy218;
7010 				goto yy336;
7011 			} else {
7012 				if (yych == '/') goto yy172;
7013 				goto yy220;
7014 			}
7015 		}
7016 	} else {
7017 		if (yych <= '^') {
7018 			if (yych <= 'H') {
7019 				if (yych <= '@') goto yy218;
7020 				goto yy167;
7021 			} else {
7022 				if (yych <= 'I') goto yy359;
7023 				if (yych <= 'Z') goto yy167;
7024 				goto yy218;
7025 			}
7026 		} else {
7027 			if (yych <= 'h') {
7028 				if (yych <= '_') goto yy172;
7029 				if (yych <= '`') goto yy218;
7030 				goto yy175;
7031 			} else {
7032 				if (yych <= 'i') goto yy370;
7033 				if (yych <= 'z') goto yy175;
7034 				goto yy218;
7035 			}
7036 		}
7037 	}
7038 yy370:
7039 	YYDEBUG(370, *YYCURSOR);
7040 	yyaccept = 0;
7041 	yych = *(YYMARKER = ++YYCURSOR);
7042 	if (yych <= 'K') {
7043 		if (yych <= '-') {
7044 			if (yych == ')') goto yy164;
7045 			if (yych <= ',') goto yy3;
7046 			goto yy172;
7047 		} else {
7048 			if (yych == '/') goto yy172;
7049 			if (yych <= '@') goto yy3;
7050 			goto yy168;
7051 		}
7052 	} else {
7053 		if (yych <= '_') {
7054 			if (yych <= 'L') goto yy360;
7055 			if (yych <= 'Z') goto yy168;
7056 			if (yych <= '^') goto yy3;
7057 			goto yy172;
7058 		} else {
7059 			if (yych <= 'k') {
7060 				if (yych <= '`') goto yy3;
7061 				goto yy176;
7062 			} else {
7063 				if (yych <= 'l') goto yy371;
7064 				if (yych <= 'z') goto yy176;
7065 				goto yy3;
7066 			}
7067 		}
7068 	}
7069 yy371:
7070 	YYDEBUG(371, *YYCURSOR);
7071 	yyaccept = 5;
7072 	yych = *(YYMARKER = ++YYCURSOR);
7073 	if (yych <= '.') {
7074 		if (yych <= ' ') {
7075 			if (yych == '\t') goto yy220;
7076 			if (yych <= 0x1F) goto yy218;
7077 			goto yy220;
7078 		} else {
7079 			if (yych <= ')') {
7080 				if (yych <= '(') goto yy218;
7081 				goto yy164;
7082 			} else {
7083 				if (yych <= ',') goto yy218;
7084 				if (yych <= '-') goto yy342;
7085 				goto yy220;
7086 			}
7087 		}
7088 	} else {
7089 		if (yych <= 'Z') {
7090 			if (yych <= '/') goto yy172;
7091 			if (yych <= '9') goto yy220;
7092 			if (yych <= '@') goto yy218;
7093 			goto yy169;
7094 		} else {
7095 			if (yych <= '_') {
7096 				if (yych <= '^') goto yy218;
7097 				goto yy172;
7098 			} else {
7099 				if (yych <= '`') goto yy218;
7100 				if (yych <= 'z') goto yy177;
7101 				goto yy218;
7102 			}
7103 		}
7104 	}
7105 yy372:
7106 	YYDEBUG(372, *YYCURSOR);
7107 	yyaccept = 5;
7108 	yych = *(YYMARKER = ++YYCURSOR);
7109 	if (yych <= '9') {
7110 		if (yych <= '(') {
7111 			if (yych <= '\t') {
7112 				if (yych <= 0x08) goto yy218;
7113 				goto yy220;
7114 			} else {
7115 				if (yych == ' ') goto yy220;
7116 				goto yy218;
7117 			}
7118 		} else {
7119 			if (yych <= '-') {
7120 				if (yych <= ')') goto yy164;
7121 				if (yych <= ',') goto yy218;
7122 				goto yy336;
7123 			} else {
7124 				if (yych == '/') goto yy172;
7125 				goto yy220;
7126 			}
7127 		}
7128 	} else {
7129 		if (yych <= '^') {
7130 			if (yych <= 'T') {
7131 				if (yych <= '@') goto yy218;
7132 				goto yy167;
7133 			} else {
7134 				if (yych <= 'U') goto yy362;
7135 				if (yych <= 'Z') goto yy167;
7136 				goto yy218;
7137 			}
7138 		} else {
7139 			if (yych <= 't') {
7140 				if (yych <= '_') goto yy172;
7141 				if (yych <= '`') goto yy218;
7142 				goto yy175;
7143 			} else {
7144 				if (yych <= 'u') goto yy373;
7145 				if (yych <= 'z') goto yy175;
7146 				goto yy218;
7147 			}
7148 		}
7149 	}
7150 yy373:
7151 	YYDEBUG(373, *YYCURSOR);
7152 	yyaccept = 0;
7153 	yych = *(YYMARKER = ++YYCURSOR);
7154 	if (yych <= 'R') {
7155 		if (yych <= '-') {
7156 			if (yych == ')') goto yy164;
7157 			if (yych <= ',') goto yy3;
7158 			goto yy172;
7159 		} else {
7160 			if (yych == '/') goto yy172;
7161 			if (yych <= '@') goto yy3;
7162 			goto yy168;
7163 		}
7164 	} else {
7165 		if (yych <= '_') {
7166 			if (yych <= 'S') goto yy363;
7167 			if (yych <= 'Z') goto yy168;
7168 			if (yych <= '^') goto yy3;
7169 			goto yy172;
7170 		} else {
7171 			if (yych <= 'r') {
7172 				if (yych <= '`') goto yy3;
7173 				goto yy176;
7174 			} else {
7175 				if (yych <= 's') goto yy374;
7176 				if (yych <= 'z') goto yy176;
7177 				goto yy3;
7178 			}
7179 		}
7180 	}
7181 yy374:
7182 	YYDEBUG(374, *YYCURSOR);
7183 	yyaccept = 0;
7184 	yych = *(YYMARKER = ++YYCURSOR);
7185 	if (yych <= 'S') {
7186 		if (yych <= '-') {
7187 			if (yych == ')') goto yy164;
7188 			if (yych <= ',') goto yy3;
7189 			goto yy172;
7190 		} else {
7191 			if (yych == '/') goto yy172;
7192 			if (yych <= '@') goto yy3;
7193 			goto yy169;
7194 		}
7195 	} else {
7196 		if (yych <= '_') {
7197 			if (yych <= 'T') goto yy364;
7198 			if (yych <= 'Z') goto yy169;
7199 			if (yych <= '^') goto yy3;
7200 			goto yy172;
7201 		} else {
7202 			if (yych <= 's') {
7203 				if (yych <= '`') goto yy3;
7204 				goto yy177;
7205 			} else {
7206 				if (yych <= 't') goto yy375;
7207 				if (yych <= 'z') goto yy177;
7208 				goto yy3;
7209 			}
7210 		}
7211 	}
7212 yy375:
7213 	YYDEBUG(375, *YYCURSOR);
7214 	yyaccept = 5;
7215 	yych = *(YYMARKER = ++YYCURSOR);
7216 	if (yybm[0+yych] & 16) {
7217 		goto yy178;
7218 	}
7219 	if (yych <= ',') {
7220 		if (yych <= 0x1F) {
7221 			if (yych == '\t') goto yy220;
7222 			goto yy218;
7223 		} else {
7224 			if (yych <= ' ') goto yy220;
7225 			if (yych == ')') goto yy164;
7226 			goto yy218;
7227 		}
7228 	} else {
7229 		if (yych <= '/') {
7230 			if (yych <= '-') goto yy342;
7231 			if (yych <= '.') goto yy220;
7232 			goto yy172;
7233 		} else {
7234 			if (yych <= '9') goto yy220;
7235 			if (yych == '_') goto yy172;
7236 			goto yy218;
7237 		}
7238 	}
7239 yy376:
7240 	YYDEBUG(376, *YYCURSOR);
7241 	yych = *++YYCURSOR;
7242 	if (yych <= 'N') {
7243 		if (yych <= '@') {
7244 			if (yych == ')') goto yy164;
7245 			goto yy3;
7246 		} else {
7247 			if (yych == 'L') goto yy383;
7248 			if (yych <= 'M') goto yy166;
7249 			goto yy382;
7250 		}
7251 	} else {
7252 		if (yych <= 'l') {
7253 			if (yych <= 'Z') goto yy166;
7254 			if (yych <= '`') goto yy3;
7255 			if (yych <= 'k') goto yy166;
7256 			goto yy383;
7257 		} else {
7258 			if (yych == 'n') goto yy382;
7259 			if (yych <= 'z') goto yy166;
7260 			goto yy3;
7261 		}
7262 	}
7263 yy377:
7264 	YYDEBUG(377, *YYCURSOR);
7265 	yych = *++YYCURSOR;
7266 	if (yych <= 'N') {
7267 		if (yych <= ')') {
7268 			if (yych <= '(') goto yy3;
7269 			goto yy164;
7270 		} else {
7271 			if (yych <= '@') goto yy3;
7272 			if (yych <= 'M') goto yy166;
7273 		}
7274 	} else {
7275 		if (yych <= 'm') {
7276 			if (yych <= 'Z') goto yy166;
7277 			if (yych <= '`') goto yy3;
7278 			goto yy166;
7279 		} else {
7280 			if (yych <= 'n') goto yy378;
7281 			if (yych <= 'z') goto yy166;
7282 			goto yy3;
7283 		}
7284 	}
7285 yy378:
7286 	YYDEBUG(378, *YYCURSOR);
7287 	yyaccept = 5;
7288 	yych = *(YYMARKER = ++YYCURSOR);
7289 	if (yych <= '/') {
7290 		if (yych <= '(') {
7291 			if (yych <= '\t') {
7292 				if (yych <= 0x08) goto yy218;
7293 				goto yy220;
7294 			} else {
7295 				if (yych == ' ') goto yy220;
7296 				goto yy218;
7297 			}
7298 		} else {
7299 			if (yych <= ',') {
7300 				if (yych <= ')') goto yy164;
7301 				goto yy218;
7302 			} else {
7303 				if (yych <= '-') goto yy221;
7304 				if (yych <= '.') goto yy220;
7305 				goto yy218;
7306 			}
7307 		}
7308 	} else {
7309 		if (yych <= 'Z') {
7310 			if (yych <= '@') {
7311 				if (yych <= '9') goto yy220;
7312 				goto yy218;
7313 			} else {
7314 				if (yych != 'U') goto yy167;
7315 			}
7316 		} else {
7317 			if (yych <= 't') {
7318 				if (yych <= '`') goto yy218;
7319 				goto yy167;
7320 			} else {
7321 				if (yych <= 'u') goto yy379;
7322 				if (yych <= 'z') goto yy167;
7323 				goto yy218;
7324 			}
7325 		}
7326 	}
7327 yy379:
7328 	YYDEBUG(379, *YYCURSOR);
7329 	yych = *++YYCURSOR;
7330 	if (yych <= 'A') {
7331 		if (yych == ')') goto yy164;
7332 		if (yych <= '@') goto yy3;
7333 	} else {
7334 		if (yych <= '`') {
7335 			if (yych <= 'Z') goto yy168;
7336 			goto yy3;
7337 		} else {
7338 			if (yych <= 'a') goto yy380;
7339 			if (yych <= 'z') goto yy168;
7340 			goto yy3;
7341 		}
7342 	}
7343 yy380:
7344 	YYDEBUG(380, *YYCURSOR);
7345 	yych = *++YYCURSOR;
7346 	if (yych <= 'R') {
7347 		if (yych <= ')') {
7348 			if (yych <= '(') goto yy3;
7349 			goto yy164;
7350 		} else {
7351 			if (yych <= '@') goto yy3;
7352 			if (yych <= 'Q') goto yy169;
7353 		}
7354 	} else {
7355 		if (yych <= 'q') {
7356 			if (yych <= 'Z') goto yy169;
7357 			if (yych <= '`') goto yy3;
7358 			goto yy169;
7359 		} else {
7360 			if (yych <= 'r') goto yy381;
7361 			if (yych <= 'z') goto yy169;
7362 			goto yy3;
7363 		}
7364 	}
7365 yy381:
7366 	YYDEBUG(381, *YYCURSOR);
7367 	yych = *++YYCURSOR;
7368 	if (yych <= 'X') {
7369 		if (yych == ')') goto yy164;
7370 		goto yy3;
7371 	} else {
7372 		if (yych <= 'Y') goto yy229;
7373 		if (yych == 'y') goto yy229;
7374 		goto yy3;
7375 	}
7376 yy382:
7377 	YYDEBUG(382, *YYCURSOR);
7378 	yyaccept = 5;
7379 	yych = *(YYMARKER = ++YYCURSOR);
7380 	if (yych <= '/') {
7381 		if (yych <= '(') {
7382 			if (yych <= '\t') {
7383 				if (yych <= 0x08) goto yy218;
7384 				goto yy220;
7385 			} else {
7386 				if (yych == ' ') goto yy220;
7387 				goto yy218;
7388 			}
7389 		} else {
7390 			if (yych <= ',') {
7391 				if (yych <= ')') goto yy164;
7392 				goto yy218;
7393 			} else {
7394 				if (yych <= '-') goto yy221;
7395 				if (yych <= '.') goto yy220;
7396 				goto yy218;
7397 			}
7398 		}
7399 	} else {
7400 		if (yych <= 'Z') {
7401 			if (yych <= '@') {
7402 				if (yych <= '9') goto yy220;
7403 				goto yy218;
7404 			} else {
7405 				if (yych == 'E') goto yy384;
7406 				goto yy167;
7407 			}
7408 		} else {
7409 			if (yych <= 'd') {
7410 				if (yych <= '`') goto yy218;
7411 				goto yy167;
7412 			} else {
7413 				if (yych <= 'e') goto yy384;
7414 				if (yych <= 'z') goto yy167;
7415 				goto yy218;
7416 			}
7417 		}
7418 	}
7419 yy383:
7420 	YYDEBUG(383, *YYCURSOR);
7421 	yyaccept = 5;
7422 	yych = *(YYMARKER = ++YYCURSOR);
7423 	if (yych <= '/') {
7424 		if (yych <= '(') {
7425 			if (yych <= '\t') {
7426 				if (yych <= 0x08) goto yy218;
7427 				goto yy220;
7428 			} else {
7429 				if (yych == ' ') goto yy220;
7430 				goto yy218;
7431 			}
7432 		} else {
7433 			if (yych <= ',') {
7434 				if (yych <= ')') goto yy164;
7435 				goto yy218;
7436 			} else {
7437 				if (yych <= '-') goto yy221;
7438 				if (yych <= '.') goto yy220;
7439 				goto yy218;
7440 			}
7441 		}
7442 	} else {
7443 		if (yych <= 'Z') {
7444 			if (yych <= '@') {
7445 				if (yych <= '9') goto yy220;
7446 				goto yy218;
7447 			} else {
7448 				if (yych != 'Y') goto yy167;
7449 			}
7450 		} else {
7451 			if (yych <= 'x') {
7452 				if (yych <= '`') goto yy218;
7453 				goto yy167;
7454 			} else {
7455 				if (yych <= 'y') goto yy384;
7456 				if (yych <= 'z') goto yy167;
7457 				goto yy218;
7458 			}
7459 		}
7460 	}
7461 yy384:
7462 	YYDEBUG(384, *YYCURSOR);
7463 	yyaccept = 5;
7464 	yych = *(YYMARKER = ++YYCURSOR);
7465 	if (yych <= ',') {
7466 		if (yych <= 0x1F) {
7467 			if (yych == '\t') goto yy220;
7468 			goto yy218;
7469 		} else {
7470 			if (yych <= ' ') goto yy220;
7471 			if (yych == ')') goto yy164;
7472 			goto yy218;
7473 		}
7474 	} else {
7475 		if (yych <= '@') {
7476 			if (yych == '/') goto yy218;
7477 			if (yych <= '9') goto yy220;
7478 			goto yy218;
7479 		} else {
7480 			if (yych <= 'Z') goto yy168;
7481 			if (yych <= '`') goto yy218;
7482 			if (yych <= 'z') goto yy168;
7483 			goto yy218;
7484 		}
7485 	}
7486 yy385:
7487 	YYDEBUG(385, *YYCURSOR);
7488 	yyaccept = 0;
7489 	yych = *(YYMARKER = ++YYCURSOR);
7490 	if (yych <= 'M') {
7491 		if (yych <= '.') {
7492 			if (yych <= ')') {
7493 				if (yych <= '(') goto yy3;
7494 				goto yy164;
7495 			} else {
7496 				if (yych == '-') goto yy172;
7497 				goto yy3;
7498 			}
7499 		} else {
7500 			if (yych <= '@') {
7501 				if (yych <= '/') goto yy172;
7502 				goto yy3;
7503 			} else {
7504 				if (yych == 'L') goto yy383;
7505 				goto yy166;
7506 			}
7507 		}
7508 	} else {
7509 		if (yych <= '`') {
7510 			if (yych <= 'Z') {
7511 				if (yych <= 'N') goto yy382;
7512 				goto yy166;
7513 			} else {
7514 				if (yych == '_') goto yy172;
7515 				goto yy3;
7516 			}
7517 		} else {
7518 			if (yych <= 'm') {
7519 				if (yych == 'l') goto yy392;
7520 				goto yy171;
7521 			} else {
7522 				if (yych <= 'n') goto yy391;
7523 				if (yych <= 'z') goto yy171;
7524 				goto yy3;
7525 			}
7526 		}
7527 	}
7528 yy386:
7529 	YYDEBUG(386, *YYCURSOR);
7530 	yyaccept = 0;
7531 	yych = *(YYMARKER = ++YYCURSOR);
7532 	if (yych <= 'M') {
7533 		if (yych <= '-') {
7534 			if (yych == ')') goto yy164;
7535 			if (yych <= ',') goto yy3;
7536 			goto yy172;
7537 		} else {
7538 			if (yych == '/') goto yy172;
7539 			if (yych <= '@') goto yy3;
7540 			goto yy166;
7541 		}
7542 	} else {
7543 		if (yych <= '_') {
7544 			if (yych <= 'N') goto yy378;
7545 			if (yych <= 'Z') goto yy166;
7546 			if (yych <= '^') goto yy3;
7547 			goto yy172;
7548 		} else {
7549 			if (yych <= 'm') {
7550 				if (yych <= '`') goto yy3;
7551 				goto yy171;
7552 			} else {
7553 				if (yych <= 'n') goto yy387;
7554 				if (yych <= 'z') goto yy171;
7555 				goto yy3;
7556 			}
7557 		}
7558 	}
7559 yy387:
7560 	YYDEBUG(387, *YYCURSOR);
7561 	yyaccept = 5;
7562 	yych = *(YYMARKER = ++YYCURSOR);
7563 	if (yych <= '9') {
7564 		if (yych <= '(') {
7565 			if (yych <= '\t') {
7566 				if (yych <= 0x08) goto yy218;
7567 				goto yy220;
7568 			} else {
7569 				if (yych == ' ') goto yy220;
7570 				goto yy218;
7571 			}
7572 		} else {
7573 			if (yych <= '-') {
7574 				if (yych <= ')') goto yy164;
7575 				if (yych <= ',') goto yy218;
7576 				goto yy336;
7577 			} else {
7578 				if (yych == '/') goto yy172;
7579 				goto yy220;
7580 			}
7581 		}
7582 	} else {
7583 		if (yych <= '^') {
7584 			if (yych <= 'T') {
7585 				if (yych <= '@') goto yy218;
7586 				goto yy167;
7587 			} else {
7588 				if (yych <= 'U') goto yy379;
7589 				if (yych <= 'Z') goto yy167;
7590 				goto yy218;
7591 			}
7592 		} else {
7593 			if (yych <= 't') {
7594 				if (yych <= '_') goto yy172;
7595 				if (yych <= '`') goto yy218;
7596 				goto yy175;
7597 			} else {
7598 				if (yych <= 'u') goto yy388;
7599 				if (yych <= 'z') goto yy175;
7600 				goto yy218;
7601 			}
7602 		}
7603 	}
7604 yy388:
7605 	YYDEBUG(388, *YYCURSOR);
7606 	yyaccept = 0;
7607 	yych = *(YYMARKER = ++YYCURSOR);
7608 	if (yych <= '@') {
7609 		if (yych <= ',') {
7610 			if (yych == ')') goto yy164;
7611 			goto yy3;
7612 		} else {
7613 			if (yych == '.') goto yy3;
7614 			if (yych <= '/') goto yy172;
7615 			goto yy3;
7616 		}
7617 	} else {
7618 		if (yych <= '_') {
7619 			if (yych <= 'A') goto yy380;
7620 			if (yych <= 'Z') goto yy168;
7621 			if (yych <= '^') goto yy3;
7622 			goto yy172;
7623 		} else {
7624 			if (yych <= '`') goto yy3;
7625 			if (yych <= 'a') goto yy389;
7626 			if (yych <= 'z') goto yy176;
7627 			goto yy3;
7628 		}
7629 	}
7630 yy389:
7631 	YYDEBUG(389, *YYCURSOR);
7632 	yyaccept = 0;
7633 	yych = *(YYMARKER = ++YYCURSOR);
7634 	if (yych <= 'Q') {
7635 		if (yych <= '-') {
7636 			if (yych == ')') goto yy164;
7637 			if (yych <= ',') goto yy3;
7638 			goto yy172;
7639 		} else {
7640 			if (yych == '/') goto yy172;
7641 			if (yych <= '@') goto yy3;
7642 			goto yy169;
7643 		}
7644 	} else {
7645 		if (yych <= '_') {
7646 			if (yych <= 'R') goto yy381;
7647 			if (yych <= 'Z') goto yy169;
7648 			if (yych <= '^') goto yy3;
7649 			goto yy172;
7650 		} else {
7651 			if (yych <= 'q') {
7652 				if (yych <= '`') goto yy3;
7653 				goto yy177;
7654 			} else {
7655 				if (yych <= 'r') goto yy390;
7656 				if (yych <= 'z') goto yy177;
7657 				goto yy3;
7658 			}
7659 		}
7660 	}
7661 yy390:
7662 	YYDEBUG(390, *YYCURSOR);
7663 	yyaccept = 0;
7664 	yych = *(YYMARKER = ++YYCURSOR);
7665 	if (yych <= 'X') {
7666 		if (yych <= ',') {
7667 			if (yych == ')') goto yy164;
7668 			goto yy3;
7669 		} else {
7670 			if (yych == '.') goto yy3;
7671 			if (yych <= '/') goto yy172;
7672 			goto yy3;
7673 		}
7674 	} else {
7675 		if (yych <= '`') {
7676 			if (yych <= 'Y') goto yy229;
7677 			if (yych == '_') goto yy172;
7678 			goto yy3;
7679 		} else {
7680 			if (yych == 'y') goto yy341;
7681 			if (yych <= 'z') goto yy178;
7682 			goto yy3;
7683 		}
7684 	}
7685 yy391:
7686 	YYDEBUG(391, *YYCURSOR);
7687 	yyaccept = 5;
7688 	yych = *(YYMARKER = ++YYCURSOR);
7689 	if (yych <= '9') {
7690 		if (yych <= '(') {
7691 			if (yych <= '\t') {
7692 				if (yych <= 0x08) goto yy218;
7693 				goto yy220;
7694 			} else {
7695 				if (yych == ' ') goto yy220;
7696 				goto yy218;
7697 			}
7698 		} else {
7699 			if (yych <= '-') {
7700 				if (yych <= ')') goto yy164;
7701 				if (yych <= ',') goto yy218;
7702 				goto yy336;
7703 			} else {
7704 				if (yych == '/') goto yy172;
7705 				goto yy220;
7706 			}
7707 		}
7708 	} else {
7709 		if (yych <= '^') {
7710 			if (yych <= 'D') {
7711 				if (yych <= '@') goto yy218;
7712 				goto yy167;
7713 			} else {
7714 				if (yych <= 'E') goto yy384;
7715 				if (yych <= 'Z') goto yy167;
7716 				goto yy218;
7717 			}
7718 		} else {
7719 			if (yych <= 'd') {
7720 				if (yych <= '_') goto yy172;
7721 				if (yych <= '`') goto yy218;
7722 				goto yy175;
7723 			} else {
7724 				if (yych <= 'e') goto yy393;
7725 				if (yych <= 'z') goto yy175;
7726 				goto yy218;
7727 			}
7728 		}
7729 	}
7730 yy392:
7731 	YYDEBUG(392, *YYCURSOR);
7732 	yyaccept = 5;
7733 	yych = *(YYMARKER = ++YYCURSOR);
7734 	if (yych <= '9') {
7735 		if (yych <= '(') {
7736 			if (yych <= '\t') {
7737 				if (yych <= 0x08) goto yy218;
7738 				goto yy220;
7739 			} else {
7740 				if (yych == ' ') goto yy220;
7741 				goto yy218;
7742 			}
7743 		} else {
7744 			if (yych <= '-') {
7745 				if (yych <= ')') goto yy164;
7746 				if (yych <= ',') goto yy218;
7747 				goto yy336;
7748 			} else {
7749 				if (yych == '/') goto yy172;
7750 				goto yy220;
7751 			}
7752 		}
7753 	} else {
7754 		if (yych <= '^') {
7755 			if (yych <= 'X') {
7756 				if (yych <= '@') goto yy218;
7757 				goto yy167;
7758 			} else {
7759 				if (yych <= 'Y') goto yy384;
7760 				if (yych <= 'Z') goto yy167;
7761 				goto yy218;
7762 			}
7763 		} else {
7764 			if (yych <= 'x') {
7765 				if (yych <= '_') goto yy172;
7766 				if (yych <= '`') goto yy218;
7767 				goto yy175;
7768 			} else {
7769 				if (yych <= 'y') goto yy393;
7770 				if (yych <= 'z') goto yy175;
7771 				goto yy218;
7772 			}
7773 		}
7774 	}
7775 yy393:
7776 	YYDEBUG(393, *YYCURSOR);
7777 	yyaccept = 5;
7778 	yych = *(YYMARKER = ++YYCURSOR);
7779 	if (yych <= '.') {
7780 		if (yych <= ' ') {
7781 			if (yych == '\t') goto yy220;
7782 			if (yych <= 0x1F) goto yy218;
7783 			goto yy220;
7784 		} else {
7785 			if (yych <= ')') {
7786 				if (yych <= '(') goto yy218;
7787 				goto yy164;
7788 			} else {
7789 				if (yych <= ',') goto yy218;
7790 				if (yych <= '-') goto yy342;
7791 				goto yy220;
7792 			}
7793 		}
7794 	} else {
7795 		if (yych <= 'Z') {
7796 			if (yych <= '/') goto yy172;
7797 			if (yych <= '9') goto yy220;
7798 			if (yych <= '@') goto yy218;
7799 			goto yy168;
7800 		} else {
7801 			if (yych <= '_') {
7802 				if (yych <= '^') goto yy218;
7803 				goto yy172;
7804 			} else {
7805 				if (yych <= '`') goto yy218;
7806 				if (yych <= 'z') goto yy176;
7807 				goto yy218;
7808 			}
7809 		}
7810 	}
7811 yy394:
7812 	YYDEBUG(394, *YYCURSOR);
7813 	yyaccept = 0;
7814 	yych = *(YYMARKER = ++YYCURSOR);
7815 	if (yych <= '.') {
7816 		if (yych <= ' ') {
7817 			if (yych == '\t') goto yy220;
7818 			if (yych <= 0x1F) goto yy3;
7819 			goto yy220;
7820 		} else {
7821 			if (yych == ')') goto yy164;
7822 			if (yych <= ',') goto yy3;
7823 			goto yy220;
7824 		}
7825 	} else {
7826 		if (yych <= 'H') {
7827 			if (yych <= '/') goto yy3;
7828 			if (yych <= '9') goto yy220;
7829 			if (yych <= '@') goto yy3;
7830 			goto yy166;
7831 		} else {
7832 			if (yych <= 'Z') {
7833 				if (yych >= 'J') goto yy166;
7834 			} else {
7835 				if (yych <= '`') goto yy3;
7836 				if (yych <= 'z') goto yy166;
7837 				goto yy3;
7838 			}
7839 		}
7840 	}
7841 yy395:
7842 	YYDEBUG(395, *YYCURSOR);
7843 	yyaccept = 0;
7844 	yych = *(YYMARKER = ++YYCURSOR);
7845 	if (yych <= ',') {
7846 		if (yych <= 0x1F) {
7847 			if (yych == '\t') goto yy220;
7848 			goto yy3;
7849 		} else {
7850 			if (yych <= ' ') goto yy220;
7851 			if (yych == ')') goto yy164;
7852 			goto yy3;
7853 		}
7854 	} else {
7855 		if (yych <= '@') {
7856 			if (yych == '/') goto yy3;
7857 			if (yych <= '9') goto yy220;
7858 			goto yy3;
7859 		} else {
7860 			if (yych <= 'Z') goto yy167;
7861 			if (yych <= '`') goto yy3;
7862 			if (yych <= 'z') goto yy167;
7863 			goto yy3;
7864 		}
7865 	}
7866 yy396:
7867 	YYDEBUG(396, *YYCURSOR);
7868 	yyaccept = 0;
7869 	yych = *(YYMARKER = ++YYCURSOR);
7870 	if (yych <= '.') {
7871 		if (yych <= ' ') {
7872 			if (yych == '\t') goto yy220;
7873 			if (yych <= 0x1F) goto yy3;
7874 			goto yy220;
7875 		} else {
7876 			if (yych == ')') goto yy164;
7877 			if (yych <= ',') goto yy3;
7878 			goto yy220;
7879 		}
7880 	} else {
7881 		if (yych <= 'H') {
7882 			if (yych <= '/') goto yy3;
7883 			if (yych <= '9') goto yy220;
7884 			if (yych <= '@') goto yy3;
7885 			goto yy166;
7886 		} else {
7887 			if (yych <= 'Z') {
7888 				if (yych >= 'J') goto yy166;
7889 			} else {
7890 				if (yych <= '`') goto yy3;
7891 				if (yych <= 'z') goto yy166;
7892 				goto yy3;
7893 			}
7894 		}
7895 	}
7896 	YYDEBUG(397, *YYCURSOR);
7897 	yyaccept = 0;
7898 	yych = *(YYMARKER = ++YYCURSOR);
7899 	if (yych <= '.') {
7900 		if (yych <= ' ') {
7901 			if (yych == '\t') goto yy220;
7902 			if (yych <= 0x1F) goto yy3;
7903 			goto yy220;
7904 		} else {
7905 			if (yych == ')') goto yy164;
7906 			if (yych <= ',') goto yy3;
7907 			goto yy220;
7908 		}
7909 	} else {
7910 		if (yych <= 'H') {
7911 			if (yych <= '/') goto yy3;
7912 			if (yych <= '9') goto yy220;
7913 			if (yych <= '@') goto yy3;
7914 			goto yy167;
7915 		} else {
7916 			if (yych <= 'Z') {
7917 				if (yych >= 'J') goto yy167;
7918 			} else {
7919 				if (yych <= '`') goto yy3;
7920 				if (yych <= 'z') goto yy167;
7921 				goto yy3;
7922 			}
7923 		}
7924 	}
7925 	YYDEBUG(398, *YYCURSOR);
7926 	yyaccept = 0;
7927 	yych = *(YYMARKER = ++YYCURSOR);
7928 	if (yych <= ',') {
7929 		if (yych <= 0x1F) {
7930 			if (yych == '\t') goto yy220;
7931 			goto yy3;
7932 		} else {
7933 			if (yych <= ' ') goto yy220;
7934 			if (yych == ')') goto yy164;
7935 			goto yy3;
7936 		}
7937 	} else {
7938 		if (yych <= '@') {
7939 			if (yych == '/') goto yy3;
7940 			if (yych <= '9') goto yy220;
7941 			goto yy3;
7942 		} else {
7943 			if (yych <= 'Z') goto yy168;
7944 			if (yych <= '`') goto yy3;
7945 			if (yych <= 'z') goto yy168;
7946 			goto yy3;
7947 		}
7948 	}
7949 yy399:
7950 	YYDEBUG(399, *YYCURSOR);
7951 	yyaccept = 0;
7952 	yych = *(YYMARKER = ++YYCURSOR);
7953 	if (yych <= ',') {
7954 		if (yych <= 0x1F) {
7955 			if (yych == '\t') goto yy220;
7956 			goto yy3;
7957 		} else {
7958 			if (yych <= ' ') goto yy220;
7959 			if (yych == ')') goto yy164;
7960 			goto yy3;
7961 		}
7962 	} else {
7963 		if (yych <= '@') {
7964 			if (yych == '/') goto yy3;
7965 			if (yych <= '9') goto yy220;
7966 			goto yy3;
7967 		} else {
7968 			if (yych <= 'Z') goto yy166;
7969 			if (yych <= '`') goto yy3;
7970 			if (yych <= 'z') goto yy166;
7971 			goto yy3;
7972 		}
7973 	}
7974 yy400:
7975 	YYDEBUG(400, *YYCURSOR);
7976 	yyaccept = 0;
7977 	yych = *(YYMARKER = ++YYCURSOR);
7978 	if (yych <= '.') {
7979 		if (yych <= ' ') {
7980 			if (yych == '\t') goto yy220;
7981 			if (yych <= 0x1F) goto yy3;
7982 			goto yy220;
7983 		} else {
7984 			if (yych == ')') goto yy164;
7985 			if (yych <= ',') goto yy3;
7986 			goto yy220;
7987 		}
7988 	} else {
7989 		if (yych <= 'H') {
7990 			if (yych <= '/') goto yy3;
7991 			if (yych <= '9') goto yy220;
7992 			if (yych <= '@') goto yy3;
7993 			goto yy166;
7994 		} else {
7995 			if (yych <= 'Z') {
7996 				if (yych <= 'I') goto yy395;
7997 				goto yy166;
7998 			} else {
7999 				if (yych <= '`') goto yy3;
8000 				if (yych <= 'z') goto yy166;
8001 				goto yy3;
8002 			}
8003 		}
8004 	}
8005 yy401:
8006 	YYDEBUG(401, *YYCURSOR);
8007 	yyaccept = 0;
8008 	yych = *(YYMARKER = ++YYCURSOR);
8009 	if (yych <= 'W') {
8010 		if (yych <= 'D') {
8011 			if (yych <= ' ') {
8012 				if (yych == '\t') goto yy60;
8013 				if (yych <= 0x1F) goto yy3;
8014 				goto yy60;
8015 			} else {
8016 				if (yych <= '9') {
8017 					if (yych <= '/') goto yy3;
8018 					goto yy421;
8019 				} else {
8020 					if (yych <= ':') goto yy187;
8021 					if (yych <= 'C') goto yy3;
8022 					goto yy60;
8023 				}
8024 			}
8025 		} else {
8026 			if (yych <= 'L') {
8027 				if (yych <= 'F') {
8028 					if (yych <= 'E') goto yy3;
8029 					goto yy60;
8030 				} else {
8031 					if (yych == 'H') goto yy60;
8032 					goto yy3;
8033 				}
8034 			} else {
8035 				if (yych <= 'R') {
8036 					if (yych <= 'M') goto yy60;
8037 					goto yy3;
8038 				} else {
8039 					if (yych == 'V') goto yy3;
8040 					goto yy60;
8041 				}
8042 			}
8043 		}
8044 	} else {
8045 		if (yych <= 'l') {
8046 			if (yych <= 'd') {
8047 				if (yych == 'Y') goto yy60;
8048 				if (yych <= 'c') goto yy3;
8049 				goto yy60;
8050 			} else {
8051 				if (yych <= 'f') {
8052 					if (yych <= 'e') goto yy3;
8053 					goto yy60;
8054 				} else {
8055 					if (yych == 'h') goto yy60;
8056 					goto yy3;
8057 				}
8058 			}
8059 		} else {
8060 			if (yych <= 'w') {
8061 				if (yych <= 'r') {
8062 					if (yych <= 'm') goto yy60;
8063 					goto yy3;
8064 				} else {
8065 					if (yych == 'v') goto yy3;
8066 					goto yy60;
8067 				}
8068 			} else {
8069 				if (yych <= 'y') {
8070 					if (yych <= 'x') goto yy3;
8071 					goto yy60;
8072 				} else {
8073 					if (yych == 0xC2) goto yy60;
8074 					goto yy3;
8075 				}
8076 			}
8077 		}
8078 	}
8079 yy402:
8080 	YYDEBUG(402, *YYCURSOR);
8081 	yyaccept = 0;
8082 	yych = *(YYMARKER = ++YYCURSOR);
8083 	if (yych <= 'V') {
8084 		if (yych <= 'C') {
8085 			if (yych <= '/') {
8086 				if (yych <= '\t') {
8087 					if (yych <= 0x08) goto yy3;
8088 					goto yy60;
8089 				} else {
8090 					if (yych == ' ') goto yy60;
8091 					goto yy3;
8092 				}
8093 			} else {
8094 				if (yych <= '5') {
8095 					if (yych <= '4') goto yy421;
8096 					goto yy406;
8097 				} else {
8098 					if (yych <= '9') goto yy407;
8099 					if (yych <= ':') goto yy187;
8100 					goto yy3;
8101 				}
8102 			}
8103 		} else {
8104 			if (yych <= 'H') {
8105 				if (yych <= 'E') {
8106 					if (yych <= 'D') goto yy60;
8107 					goto yy3;
8108 				} else {
8109 					if (yych == 'G') goto yy3;
8110 					goto yy60;
8111 				}
8112 			} else {
8113 				if (yych <= 'M') {
8114 					if (yych <= 'L') goto yy3;
8115 					goto yy60;
8116 				} else {
8117 					if (yych <= 'R') goto yy3;
8118 					if (yych <= 'U') goto yy60;
8119 					goto yy3;
8120 				}
8121 			}
8122 		}
8123 	} else {
8124 		if (yych <= 'l') {
8125 			if (yych <= 'd') {
8126 				if (yych <= 'X') {
8127 					if (yych <= 'W') goto yy60;
8128 					goto yy3;
8129 				} else {
8130 					if (yych <= 'Y') goto yy60;
8131 					if (yych <= 'c') goto yy3;
8132 					goto yy60;
8133 				}
8134 			} else {
8135 				if (yych <= 'f') {
8136 					if (yych <= 'e') goto yy3;
8137 					goto yy60;
8138 				} else {
8139 					if (yych == 'h') goto yy60;
8140 					goto yy3;
8141 				}
8142 			}
8143 		} else {
8144 			if (yych <= 'w') {
8145 				if (yych <= 'r') {
8146 					if (yych <= 'm') goto yy60;
8147 					goto yy3;
8148 				} else {
8149 					if (yych == 'v') goto yy3;
8150 					goto yy60;
8151 				}
8152 			} else {
8153 				if (yych <= 'y') {
8154 					if (yych <= 'x') goto yy3;
8155 					goto yy60;
8156 				} else {
8157 					if (yych == 0xC2) goto yy60;
8158 					goto yy3;
8159 				}
8160 			}
8161 		}
8162 	}
8163 yy403:
8164 	YYDEBUG(403, *YYCURSOR);
8165 	yyaccept = 0;
8166 	yych = *(YYMARKER = ++YYCURSOR);
8167 	if (yych <= 'V') {
8168 		if (yych <= 'C') {
8169 			if (yych <= ' ') {
8170 				if (yych == '\t') goto yy60;
8171 				if (yych <= 0x1F) goto yy3;
8172 				goto yy60;
8173 			} else {
8174 				if (yych <= '5') {
8175 					if (yych <= '/') goto yy3;
8176 					goto yy406;
8177 				} else {
8178 					if (yych <= '9') goto yy407;
8179 					if (yych <= ':') goto yy187;
8180 					goto yy3;
8181 				}
8182 			}
8183 		} else {
8184 			if (yych <= 'H') {
8185 				if (yych <= 'E') {
8186 					if (yych <= 'D') goto yy60;
8187 					goto yy3;
8188 				} else {
8189 					if (yych == 'G') goto yy3;
8190 					goto yy60;
8191 				}
8192 			} else {
8193 				if (yych <= 'M') {
8194 					if (yych <= 'L') goto yy3;
8195 					goto yy60;
8196 				} else {
8197 					if (yych <= 'R') goto yy3;
8198 					if (yych <= 'U') goto yy60;
8199 					goto yy3;
8200 				}
8201 			}
8202 		}
8203 	} else {
8204 		if (yych <= 'l') {
8205 			if (yych <= 'd') {
8206 				if (yych <= 'X') {
8207 					if (yych <= 'W') goto yy60;
8208 					goto yy3;
8209 				} else {
8210 					if (yych <= 'Y') goto yy60;
8211 					if (yych <= 'c') goto yy3;
8212 					goto yy60;
8213 				}
8214 			} else {
8215 				if (yych <= 'f') {
8216 					if (yych <= 'e') goto yy3;
8217 					goto yy60;
8218 				} else {
8219 					if (yych == 'h') goto yy60;
8220 					goto yy3;
8221 				}
8222 			}
8223 		} else {
8224 			if (yych <= 'w') {
8225 				if (yych <= 'r') {
8226 					if (yych <= 'm') goto yy60;
8227 					goto yy3;
8228 				} else {
8229 					if (yych == 'v') goto yy3;
8230 					goto yy60;
8231 				}
8232 			} else {
8233 				if (yych <= 'y') {
8234 					if (yych <= 'x') goto yy3;
8235 					goto yy60;
8236 				} else {
8237 					if (yych == 0xC2) goto yy60;
8238 					goto yy3;
8239 				}
8240 			}
8241 		}
8242 	}
8243 yy404:
8244 	YYDEBUG(404, *YYCURSOR);
8245 	++YYCURSOR;
8246 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
8247 	yych = *YYCURSOR;
8248 	YYDEBUG(405, *YYCURSOR);
8249 	if (yybm[0+yych] & 4) {
8250 		goto yy57;
8251 	}
8252 	if (yych <= ',') {
8253 		if (yych == '+') goto yy404;
8254 		goto yy56;
8255 	} else {
8256 		if (yych <= '-') goto yy404;
8257 		if (yych <= '/') goto yy56;
8258 		if (yych <= '9') goto yy54;
8259 		goto yy56;
8260 	}
8261 yy406:
8262 	YYDEBUG(406, *YYCURSOR);
8263 	yyaccept = 0;
8264 	yych = *(YYMARKER = ++YYCURSOR);
8265 	if (yych <= 'W') {
8266 		if (yych <= 'E') {
8267 			if (yych <= ' ') {
8268 				if (yych == '\t') goto yy60;
8269 				if (yych <= 0x1F) goto yy3;
8270 				goto yy60;
8271 			} else {
8272 				if (yych <= '9') {
8273 					if (yych <= '/') goto yy3;
8274 					goto yy420;
8275 				} else {
8276 					if (yych == 'D') goto yy60;
8277 					goto yy3;
8278 				}
8279 			}
8280 		} else {
8281 			if (yych <= 'L') {
8282 				if (yych == 'G') goto yy3;
8283 				if (yych <= 'H') goto yy60;
8284 				goto yy3;
8285 			} else {
8286 				if (yych <= 'R') {
8287 					if (yych <= 'M') goto yy60;
8288 					goto yy3;
8289 				} else {
8290 					if (yych == 'V') goto yy3;
8291 					goto yy60;
8292 				}
8293 			}
8294 		}
8295 	} else {
8296 		if (yych <= 'l') {
8297 			if (yych <= 'd') {
8298 				if (yych == 'Y') goto yy60;
8299 				if (yych <= 'c') goto yy3;
8300 				goto yy60;
8301 			} else {
8302 				if (yych <= 'f') {
8303 					if (yych <= 'e') goto yy3;
8304 					goto yy60;
8305 				} else {
8306 					if (yych == 'h') goto yy60;
8307 					goto yy3;
8308 				}
8309 			}
8310 		} else {
8311 			if (yych <= 'w') {
8312 				if (yych <= 'r') {
8313 					if (yych <= 'm') goto yy60;
8314 					goto yy3;
8315 				} else {
8316 					if (yych == 'v') goto yy3;
8317 					goto yy60;
8318 				}
8319 			} else {
8320 				if (yych <= 'y') {
8321 					if (yych <= 'x') goto yy3;
8322 					goto yy60;
8323 				} else {
8324 					if (yych == 0xC2) goto yy60;
8325 					goto yy3;
8326 				}
8327 			}
8328 		}
8329 	}
8330 yy407:
8331 	YYDEBUG(407, *YYCURSOR);
8332 	yyaccept = 0;
8333 	yych = *(YYMARKER = ++YYCURSOR);
8334 	if (yych <= 'W') {
8335 		if (yych <= 'E') {
8336 			if (yych <= ' ') {
8337 				if (yych == '\t') goto yy60;
8338 				if (yych <= 0x1F) goto yy3;
8339 				goto yy60;
8340 			} else {
8341 				if (yych <= '9') {
8342 					if (yych <= '/') goto yy3;
8343 				} else {
8344 					if (yych == 'D') goto yy60;
8345 					goto yy3;
8346 				}
8347 			}
8348 		} else {
8349 			if (yych <= 'L') {
8350 				if (yych == 'G') goto yy3;
8351 				if (yych <= 'H') goto yy60;
8352 				goto yy3;
8353 			} else {
8354 				if (yych <= 'R') {
8355 					if (yych <= 'M') goto yy60;
8356 					goto yy3;
8357 				} else {
8358 					if (yych == 'V') goto yy3;
8359 					goto yy60;
8360 				}
8361 			}
8362 		}
8363 	} else {
8364 		if (yych <= 'l') {
8365 			if (yych <= 'd') {
8366 				if (yych == 'Y') goto yy60;
8367 				if (yych <= 'c') goto yy3;
8368 				goto yy60;
8369 			} else {
8370 				if (yych <= 'f') {
8371 					if (yych <= 'e') goto yy3;
8372 					goto yy60;
8373 				} else {
8374 					if (yych == 'h') goto yy60;
8375 					goto yy3;
8376 				}
8377 			}
8378 		} else {
8379 			if (yych <= 'w') {
8380 				if (yych <= 'r') {
8381 					if (yych <= 'm') goto yy60;
8382 					goto yy3;
8383 				} else {
8384 					if (yych == 'v') goto yy3;
8385 					goto yy60;
8386 				}
8387 			} else {
8388 				if (yych <= 'y') {
8389 					if (yych <= 'x') goto yy3;
8390 					goto yy60;
8391 				} else {
8392 					if (yych == 0xC2) goto yy60;
8393 					goto yy3;
8394 				}
8395 			}
8396 		}
8397 	}
8398 	YYDEBUG(408, *YYCURSOR);
8399 	yych = *++YYCURSOR;
8400 	if (yych <= '/') goto yy60;
8401 	if (yych >= ':') goto yy60;
8402 yy409:
8403 	YYDEBUG(409, *YYCURSOR);
8404 	yych = *++YYCURSOR;
8405 	if (yybm[0+yych] & 2) {
8406 		goto yy54;
8407 	}
8408 	if (yych != '-') goto yy60;
8409 yy410:
8410 	YYDEBUG(410, *YYCURSOR);
8411 	yych = *++YYCURSOR;
8412 	if (yych <= '/') goto yy56;
8413 	if (yych <= '0') goto yy411;
8414 	if (yych <= '1') goto yy412;
8415 	goto yy56;
8416 yy411:
8417 	YYDEBUG(411, *YYCURSOR);
8418 	yych = *++YYCURSOR;
8419 	if (yych <= '/') goto yy56;
8420 	if (yych <= '9') goto yy413;
8421 	goto yy56;
8422 yy412:
8423 	YYDEBUG(412, *YYCURSOR);
8424 	yych = *++YYCURSOR;
8425 	if (yych <= '/') goto yy56;
8426 	if (yych >= '3') goto yy56;
8427 yy413:
8428 	YYDEBUG(413, *YYCURSOR);
8429 	yych = *++YYCURSOR;
8430 	if (yych != '-') goto yy56;
8431 	YYDEBUG(414, *YYCURSOR);
8432 	yych = *++YYCURSOR;
8433 	if (yych <= '/') goto yy56;
8434 	if (yych <= '0') goto yy415;
8435 	if (yych <= '2') goto yy416;
8436 	if (yych <= '3') goto yy417;
8437 	goto yy56;
8438 yy415:
8439 	YYDEBUG(415, *YYCURSOR);
8440 	yych = *++YYCURSOR;
8441 	if (yych <= '/') goto yy56;
8442 	if (yych <= '9') goto yy418;
8443 	goto yy56;
8444 yy416:
8445 	YYDEBUG(416, *YYCURSOR);
8446 	yych = *++YYCURSOR;
8447 	if (yych <= '/') goto yy56;
8448 	if (yych <= '9') goto yy418;
8449 	goto yy56;
8450 yy417:
8451 	YYDEBUG(417, *YYCURSOR);
8452 	yych = *++YYCURSOR;
8453 	if (yych <= '/') goto yy56;
8454 	if (yych >= '2') goto yy56;
8455 yy418:
8456 	YYDEBUG(418, *YYCURSOR);
8457 	++YYCURSOR;
8458 yy419:
8459 	YYDEBUG(419, *YYCURSOR);
8460 #line 1286 "ext/date/lib/parse_date.re"
8461 	{
8462 		DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
8463 		TIMELIB_INIT;
8464 		TIMELIB_HAVE_DATE();
8465 		s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4);
8466 		s->time->m = timelib_get_nr((char **) &ptr, 2);
8467 		s->time->d = timelib_get_nr((char **) &ptr, 2);
8468 		TIMELIB_DEINIT;
8469 		return TIMELIB_ISO_DATE;
8470 	}
8471 #line 8472 "<stdout>"
8472 yy420:
8473 	YYDEBUG(420, *YYCURSOR);
8474 	yyaccept = 0;
8475 	yych = *(YYMARKER = ++YYCURSOR);
8476 	if (yych <= 'W') {
8477 		if (yych <= 'E') {
8478 			if (yych <= ' ') {
8479 				if (yych == '\t') goto yy60;
8480 				if (yych <= 0x1F) goto yy3;
8481 				goto yy60;
8482 			} else {
8483 				if (yych <= '9') {
8484 					if (yych <= '/') goto yy3;
8485 					goto yy409;
8486 				} else {
8487 					if (yych == 'D') goto yy60;
8488 					goto yy3;
8489 				}
8490 			}
8491 		} else {
8492 			if (yych <= 'L') {
8493 				if (yych == 'G') goto yy3;
8494 				if (yych <= 'H') goto yy60;
8495 				goto yy3;
8496 			} else {
8497 				if (yych <= 'R') {
8498 					if (yych <= 'M') goto yy60;
8499 					goto yy3;
8500 				} else {
8501 					if (yych == 'V') goto yy3;
8502 					goto yy60;
8503 				}
8504 			}
8505 		}
8506 	} else {
8507 		if (yych <= 'l') {
8508 			if (yych <= 'd') {
8509 				if (yych == 'Y') goto yy60;
8510 				if (yych <= 'c') goto yy3;
8511 				goto yy60;
8512 			} else {
8513 				if (yych <= 'f') {
8514 					if (yych <= 'e') goto yy3;
8515 					goto yy60;
8516 				} else {
8517 					if (yych == 'h') goto yy60;
8518 					goto yy3;
8519 				}
8520 			}
8521 		} else {
8522 			if (yych <= 'w') {
8523 				if (yych <= 'r') {
8524 					if (yych <= 'm') goto yy60;
8525 					goto yy3;
8526 				} else {
8527 					if (yych == 'v') goto yy3;
8528 					goto yy60;
8529 				}
8530 			} else {
8531 				if (yych <= 'y') {
8532 					if (yych <= 'x') goto yy3;
8533 					goto yy60;
8534 				} else {
8535 					if (yych == 0xC2) goto yy60;
8536 					goto yy3;
8537 				}
8538 			}
8539 		}
8540 	}
8541 yy421:
8542 	YYDEBUG(421, *YYCURSOR);
8543 	yyaccept = 0;
8544 	yych = *(YYMARKER = ++YYCURSOR);
8545 	if (yych <= 'V') {
8546 		if (yych <= 'C') {
8547 			if (yych <= ' ') {
8548 				if (yych == '\t') goto yy60;
8549 				if (yych <= 0x1F) goto yy3;
8550 				goto yy60;
8551 			} else {
8552 				if (yych <= '5') {
8553 					if (yych <= '/') goto yy3;
8554 				} else {
8555 					if (yych <= '9') goto yy420;
8556 					if (yych <= ':') goto yy187;
8557 					goto yy3;
8558 				}
8559 			}
8560 		} else {
8561 			if (yych <= 'H') {
8562 				if (yych <= 'E') {
8563 					if (yych <= 'D') goto yy60;
8564 					goto yy3;
8565 				} else {
8566 					if (yych == 'G') goto yy3;
8567 					goto yy60;
8568 				}
8569 			} else {
8570 				if (yych <= 'M') {
8571 					if (yych <= 'L') goto yy3;
8572 					goto yy60;
8573 				} else {
8574 					if (yych <= 'R') goto yy3;
8575 					if (yych <= 'U') goto yy60;
8576 					goto yy3;
8577 				}
8578 			}
8579 		}
8580 	} else {
8581 		if (yych <= 'l') {
8582 			if (yych <= 'd') {
8583 				if (yych <= 'X') {
8584 					if (yych <= 'W') goto yy60;
8585 					goto yy3;
8586 				} else {
8587 					if (yych <= 'Y') goto yy60;
8588 					if (yych <= 'c') goto yy3;
8589 					goto yy60;
8590 				}
8591 			} else {
8592 				if (yych <= 'f') {
8593 					if (yych <= 'e') goto yy3;
8594 					goto yy60;
8595 				} else {
8596 					if (yych == 'h') goto yy60;
8597 					goto yy3;
8598 				}
8599 			}
8600 		} else {
8601 			if (yych <= 'w') {
8602 				if (yych <= 'r') {
8603 					if (yych <= 'm') goto yy60;
8604 					goto yy3;
8605 				} else {
8606 					if (yych == 'v') goto yy3;
8607 					goto yy60;
8608 				}
8609 			} else {
8610 				if (yych <= 'y') {
8611 					if (yych <= 'x') goto yy3;
8612 					goto yy60;
8613 				} else {
8614 					if (yych == 0xC2) goto yy60;
8615 					goto yy3;
8616 				}
8617 			}
8618 		}
8619 	}
8620 	YYDEBUG(422, *YYCURSOR);
8621 	yyaccept = 0;
8622 	yych = *(YYMARKER = ++YYCURSOR);
8623 	if (yych <= 'W') {
8624 		if (yych <= 'E') {
8625 			if (yych <= ' ') {
8626 				if (yych == '\t') goto yy60;
8627 				if (yych <= 0x1F) goto yy3;
8628 				goto yy60;
8629 			} else {
8630 				if (yych <= '9') {
8631 					if (yych <= '/') goto yy3;
8632 				} else {
8633 					if (yych == 'D') goto yy60;
8634 					goto yy3;
8635 				}
8636 			}
8637 		} else {
8638 			if (yych <= 'L') {
8639 				if (yych == 'G') goto yy3;
8640 				if (yych <= 'H') goto yy60;
8641 				goto yy3;
8642 			} else {
8643 				if (yych <= 'R') {
8644 					if (yych <= 'M') goto yy60;
8645 					goto yy3;
8646 				} else {
8647 					if (yych == 'V') goto yy3;
8648 					goto yy60;
8649 				}
8650 			}
8651 		}
8652 	} else {
8653 		if (yych <= 'l') {
8654 			if (yych <= 'd') {
8655 				if (yych == 'Y') goto yy60;
8656 				if (yych <= 'c') goto yy3;
8657 				goto yy60;
8658 			} else {
8659 				if (yych <= 'f') {
8660 					if (yych <= 'e') goto yy3;
8661 					goto yy60;
8662 				} else {
8663 					if (yych == 'h') goto yy60;
8664 					goto yy3;
8665 				}
8666 			}
8667 		} else {
8668 			if (yych <= 'w') {
8669 				if (yych <= 'r') {
8670 					if (yych <= 'm') goto yy60;
8671 					goto yy3;
8672 				} else {
8673 					if (yych == 'v') goto yy3;
8674 					goto yy60;
8675 				}
8676 			} else {
8677 				if (yych <= 'y') {
8678 					if (yych <= 'x') goto yy3;
8679 					goto yy60;
8680 				} else {
8681 					if (yych == 0xC2) goto yy60;
8682 					goto yy3;
8683 				}
8684 			}
8685 		}
8686 	}
8687 	YYDEBUG(423, *YYCURSOR);
8688 	yyaccept = 0;
8689 	yych = *(YYMARKER = ++YYCURSOR);
8690 	if (yybm[0+yych] & 2) {
8691 		goto yy54;
8692 	}
8693 	if (yych <= 'W') {
8694 		if (yych <= 'E') {
8695 			if (yych <= ' ') {
8696 				if (yych == '\t') goto yy60;
8697 				if (yych <= 0x1F) goto yy3;
8698 				goto yy60;
8699 			} else {
8700 				if (yych <= '-') {
8701 					if (yych <= ',') goto yy3;
8702 					goto yy410;
8703 				} else {
8704 					if (yych == 'D') goto yy60;
8705 					goto yy3;
8706 				}
8707 			}
8708 		} else {
8709 			if (yych <= 'L') {
8710 				if (yych == 'G') goto yy3;
8711 				if (yych <= 'H') goto yy60;
8712 				goto yy3;
8713 			} else {
8714 				if (yych <= 'R') {
8715 					if (yych <= 'M') goto yy60;
8716 					goto yy3;
8717 				} else {
8718 					if (yych == 'V') goto yy3;
8719 					goto yy60;
8720 				}
8721 			}
8722 		}
8723 	} else {
8724 		if (yych <= 'l') {
8725 			if (yych <= 'd') {
8726 				if (yych == 'Y') goto yy60;
8727 				if (yych <= 'c') goto yy3;
8728 				goto yy60;
8729 			} else {
8730 				if (yych <= 'f') {
8731 					if (yych <= 'e') goto yy3;
8732 					goto yy60;
8733 				} else {
8734 					if (yych == 'h') goto yy60;
8735 					goto yy3;
8736 				}
8737 			}
8738 		} else {
8739 			if (yych <= 'w') {
8740 				if (yych <= 'r') {
8741 					if (yych <= 'm') goto yy60;
8742 					goto yy3;
8743 				} else {
8744 					if (yych == 'v') goto yy3;
8745 					goto yy60;
8746 				}
8747 			} else {
8748 				if (yych <= 'y') {
8749 					if (yych <= 'x') goto yy3;
8750 					goto yy60;
8751 				} else {
8752 					if (yych == 0xC2) goto yy60;
8753 					goto yy3;
8754 				}
8755 			}
8756 		}
8757 	}
8758 yy424:
8759 	YYDEBUG(424, *YYCURSOR);
8760 	yych = *++YYCURSOR;
8761 	if (yych <= '/') goto yy426;
8762 	if (yych <= '0') goto yy700;
8763 	if (yych <= '1') goto yy701;
8764 	if (yych <= '9') goto yy702;
8765 	goto yy426;
8766 yy425:
8767 	YYDEBUG(425, *YYCURSOR);
8768 	++YYCURSOR;
8769 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
8770 	yych = *YYCURSOR;
8771 yy426:
8772 	YYDEBUG(426, *YYCURSOR);
8773 	if (yych <= 'W') {
8774 		if (yych <= 'G') {
8775 			if (yych <= '.') {
8776 				if (yych <= 0x1F) {
8777 					if (yych == '\t') goto yy425;
8778 					goto yy56;
8779 				} else {
8780 					if (yych <= ' ') goto yy425;
8781 					if (yych <= ',') goto yy56;
8782 					goto yy541;
8783 				}
8784 			} else {
8785 				if (yych <= 'C') {
8786 					if (yych == 'A') goto yy444;
8787 					goto yy56;
8788 				} else {
8789 					if (yych <= 'D') goto yy430;
8790 					if (yych == 'F') goto yy431;
8791 					goto yy56;
8792 				}
8793 			}
8794 		} else {
8795 			if (yych <= 'O') {
8796 				if (yych <= 'J') {
8797 					if (yych <= 'H') goto yy65;
8798 					if (yych <= 'I') goto yy439;
8799 					goto yy443;
8800 				} else {
8801 					if (yych <= 'L') goto yy56;
8802 					if (yych <= 'M') goto yy427;
8803 					if (yych <= 'N') goto yy446;
8804 					goto yy445;
8805 				}
8806 			} else {
8807 				if (yych <= 'S') {
8808 					if (yych <= 'P') goto yy448;
8809 					if (yych <= 'R') goto yy56;
8810 					goto yy428;
8811 				} else {
8812 					if (yych <= 'T') goto yy70;
8813 					if (yych <= 'U') goto yy63;
8814 					if (yych <= 'V') goto yy441;
8815 					goto yy69;
8816 				}
8817 			}
8818 		}
8819 	} else {
8820 		if (yych <= 'm') {
8821 			if (yych <= 'e') {
8822 				if (yych <= '`') {
8823 					if (yych <= 'X') goto yy442;
8824 					if (yych <= 'Y') goto yy68;
8825 					goto yy56;
8826 				} else {
8827 					if (yych <= 'a') goto yy444;
8828 					if (yych == 'd') goto yy430;
8829 					goto yy56;
8830 				}
8831 			} else {
8832 				if (yych <= 'h') {
8833 					if (yych <= 'f') goto yy431;
8834 					if (yych <= 'g') goto yy56;
8835 					goto yy65;
8836 				} else {
8837 					if (yych == 'j') goto yy443;
8838 					if (yych <= 'l') goto yy56;
8839 				}
8840 			}
8841 		} else {
8842 			if (yych <= 'u') {
8843 				if (yych <= 'p') {
8844 					if (yych <= 'n') goto yy446;
8845 					if (yych <= 'o') goto yy445;
8846 					goto yy448;
8847 				} else {
8848 					if (yych <= 'r') goto yy56;
8849 					if (yych <= 's') goto yy428;
8850 					if (yych <= 't') goto yy70;
8851 					goto yy63;
8852 				}
8853 			} else {
8854 				if (yych <= 'x') {
8855 					if (yych == 'w') goto yy69;
8856 					goto yy56;
8857 				} else {
8858 					if (yych <= 'y') goto yy68;
8859 					if (yych == 0xC2) goto yy62;
8860 					goto yy56;
8861 				}
8862 			}
8863 		}
8864 	}
8865 yy427:
8866 	YYDEBUG(427, *YYCURSOR);
8867 	yych = *++YYCURSOR;
8868 	if (yych <= 'S') {
8869 		if (yych <= 'I') {
8870 			if (yych == 'A') goto yy556;
8871 			if (yych <= 'H') goto yy56;
8872 			goto yy138;
8873 		} else {
8874 			if (yych == 'O') goto yy137;
8875 			if (yych <= 'R') goto yy56;
8876 			goto yy139;
8877 		}
8878 	} else {
8879 		if (yych <= 'i') {
8880 			if (yych == 'a') goto yy556;
8881 			if (yych <= 'h') goto yy56;
8882 			goto yy138;
8883 		} else {
8884 			if (yych <= 'o') {
8885 				if (yych <= 'n') goto yy56;
8886 				goto yy137;
8887 			} else {
8888 				if (yych == 's') goto yy139;
8889 				goto yy56;
8890 			}
8891 		}
8892 	}
8893 yy428:
8894 	YYDEBUG(428, *YYCURSOR);
8895 	yych = *++YYCURSOR;
8896 	if (yych <= 'U') {
8897 		if (yych <= 'D') {
8898 			if (yych == 'A') goto yy119;
8899 			goto yy56;
8900 		} else {
8901 			if (yych <= 'E') goto yy1013;
8902 			if (yych <= 'T') goto yy56;
8903 			goto yy118;
8904 		}
8905 	} else {
8906 		if (yych <= 'd') {
8907 			if (yych == 'a') goto yy119;
8908 			goto yy56;
8909 		} else {
8910 			if (yych <= 'e') goto yy1013;
8911 			if (yych == 'u') goto yy118;
8912 			goto yy56;
8913 		}
8914 	}
8915 yy429:
8916 	YYDEBUG(429, *YYCURSOR);
8917 	yych = *++YYCURSOR;
8918 	if (yych <= '`') {
8919 		if (yych <= 'D') {
8920 			if (yych == 'A') goto yy119;
8921 			goto yy56;
8922 		} else {
8923 			if (yych <= 'E') goto yy1013;
8924 			if (yych == 'U') goto yy118;
8925 			goto yy56;
8926 		}
8927 	} else {
8928 		if (yych <= 'e') {
8929 			if (yych <= 'a') goto yy119;
8930 			if (yych <= 'd') goto yy56;
8931 			goto yy1013;
8932 		} else {
8933 			if (yych <= 's') goto yy56;
8934 			if (yych <= 't') goto yy693;
8935 			if (yych <= 'u') goto yy118;
8936 			goto yy56;
8937 		}
8938 	}
8939 yy430:
8940 	YYDEBUG(430, *YYCURSOR);
8941 	yych = *++YYCURSOR;
8942 	if (yych <= 'E') {
8943 		if (yych == 'A') goto yy115;
8944 		if (yych <= 'D') goto yy56;
8945 		goto yy543;
8946 	} else {
8947 		if (yych <= 'a') {
8948 			if (yych <= '`') goto yy56;
8949 			goto yy115;
8950 		} else {
8951 			if (yych == 'e') goto yy543;
8952 			goto yy56;
8953 		}
8954 	}
8955 yy431:
8956 	YYDEBUG(431, *YYCURSOR);
8957 	yych = *++YYCURSOR;
8958 	if (yych <= 'R') {
8959 		if (yych <= 'N') {
8960 			if (yych == 'E') goto yy559;
8961 			goto yy56;
8962 		} else {
8963 			if (yych <= 'O') goto yy100;
8964 			if (yych <= 'Q') goto yy56;
8965 			goto yy99;
8966 		}
8967 	} else {
8968 		if (yych <= 'n') {
8969 			if (yych == 'e') goto yy559;
8970 			goto yy56;
8971 		} else {
8972 			if (yych <= 'o') goto yy100;
8973 			if (yych == 'r') goto yy99;
8974 			goto yy56;
8975 		}
8976 	}
8977 yy432:
8978 	YYDEBUG(432, *YYCURSOR);
8979 	yych = *++YYCURSOR;
8980 	if (yych <= 'U') {
8981 		if (yych == 'H') goto yy71;
8982 		if (yych <= 'T') goto yy56;
8983 		goto yy72;
8984 	} else {
8985 		if (yych <= 'h') {
8986 			if (yych <= 'g') goto yy56;
8987 			goto yy1012;
8988 		} else {
8989 			if (yych == 'u') goto yy72;
8990 			goto yy56;
8991 		}
8992 	}
8993 yy433:
8994 	YYDEBUG(433, *YYCURSOR);
8995 	yych = *++YYCURSOR;
8996 	if (yych == '-') goto yy706;
8997 	if (yych <= '/') goto yy60;
8998 	if (yych <= '9') goto yy705;
8999 	goto yy60;
9000 yy434:
9001 	YYDEBUG(434, *YYCURSOR);
9002 	yych = *++YYCURSOR;
9003 	if (yych <= 'c') {
9004 		if (yych == 'O') goto yy494;
9005 		goto yy56;
9006 	} else {
9007 		if (yych <= 'd') goto yy693;
9008 		if (yych == 'o') goto yy494;
9009 		goto yy56;
9010 	}
9011 yy435:
9012 	YYDEBUG(435, *YYCURSOR);
9013 	yych = *++YYCURSOR;
9014 	if (yych == 'd') goto yy693;
9015 	goto yy56;
9016 yy436:
9017 	YYDEBUG(436, *YYCURSOR);
9018 	yych = *++YYCURSOR;
9019 	switch (yych) {
9020 	case '0':
9021 	case '1':
9022 	case '2':	goto yy630;
9023 	case '3':	goto yy632;
9024 	case '4':
9025 	case '5':
9026 	case '6':
9027 	case '7':
9028 	case '8':
9029 	case '9':	goto yy633;
9030 	case 'A':
9031 	case 'a':	goto yy637;
9032 	case 'D':
9033 	case 'd':	goto yy641;
9034 	case 'F':
9035 	case 'f':	goto yy635;
9036 	case 'J':
9037 	case 'j':	goto yy634;
9038 	case 'M':
9039 	case 'm':	goto yy636;
9040 	case 'N':
9041 	case 'n':	goto yy640;
9042 	case 'O':
9043 	case 'o':	goto yy639;
9044 	case 'S':
9045 	case 's':	goto yy638;
9046 	default:	goto yy56;
9047 	}
9048 yy437:
9049 	YYDEBUG(437, *YYCURSOR);
9050 	yych = *++YYCURSOR;
9051 	switch (yych) {
9052 	case '0':	goto yy580;
9053 	case '1':	goto yy581;
9054 	case '2':
9055 	case '3':
9056 	case '4':
9057 	case '5':
9058 	case '6':
9059 	case '7':
9060 	case '8':
9061 	case '9':	goto yy582;
9062 	case 'A':
9063 	case 'a':	goto yy586;
9064 	case 'D':
9065 	case 'd':	goto yy590;
9066 	case 'F':
9067 	case 'f':	goto yy584;
9068 	case 'J':
9069 	case 'j':	goto yy583;
9070 	case 'M':
9071 	case 'm':	goto yy585;
9072 	case 'N':
9073 	case 'n':	goto yy589;
9074 	case 'O':
9075 	case 'o':	goto yy588;
9076 	case 'S':
9077 	case 's':	goto yy587;
9078 	default:	goto yy542;
9079 	}
9080 yy438:
9081 	YYDEBUG(438, *YYCURSOR);
9082 	yych = *++YYCURSOR;
9083 	if (yych <= '1') {
9084 		if (yych <= '/') goto yy542;
9085 		if (yych <= '0') goto yy532;
9086 		goto yy533;
9087 	} else {
9088 		if (yych <= '5') goto yy534;
9089 		if (yych <= '9') goto yy535;
9090 		goto yy542;
9091 	}
9092 yy439:
9093 	YYDEBUG(439, *YYCURSOR);
9094 	yyaccept = 9;
9095 	yych = *(YYMARKER = ++YYCURSOR);
9096 	if (yych <= '/') {
9097 		if (yych <= 0x1F) {
9098 			if (yych == '\t') goto yy496;
9099 		} else {
9100 			if (yych <= ' ') goto yy496;
9101 			if (yych <= ',') goto yy440;
9102 			if (yych <= '.') goto yy496;
9103 		}
9104 	} else {
9105 		if (yych <= 'U') {
9106 			if (yych <= '9') goto yy498;
9107 			if (yych == 'I') goto yy531;
9108 		} else {
9109 			if (yych == 'W') goto yy440;
9110 			if (yych <= 'X') goto yy504;
9111 		}
9112 	}
9113 yy440:
9114 	YYDEBUG(440, *YYCURSOR);
9115 #line 1423 "ext/date/lib/parse_date.re"
9116 	{
9117 		DEBUG_OUTPUT("datenoyearrev");
9118 		TIMELIB_INIT;
9119 		TIMELIB_HAVE_DATE();
9120 		s->time->d = timelib_get_nr((char **) &ptr, 2);
9121 		timelib_skip_day_suffix((char **) &ptr);
9122 		s->time->m = timelib_get_month((char **) &ptr);
9123 		TIMELIB_DEINIT;
9124 		return TIMELIB_DATE_TEXT;
9125 	}
9126 #line 9127 "<stdout>"
9127 yy441:
9128 	YYDEBUG(441, *YYCURSOR);
9129 	yyaccept = 9;
9130 	yych = *(YYMARKER = ++YYCURSOR);
9131 	if (yych <= ',') {
9132 		if (yych <= '\t') {
9133 			if (yych <= 0x08) goto yy440;
9134 			goto yy496;
9135 		} else {
9136 			if (yych == ' ') goto yy496;
9137 			goto yy440;
9138 		}
9139 	} else {
9140 		if (yych <= '9') {
9141 			if (yych <= '.') goto yy496;
9142 			if (yych <= '/') goto yy440;
9143 			goto yy498;
9144 		} else {
9145 			if (yych == 'I') goto yy529;
9146 			goto yy440;
9147 		}
9148 	}
9149 yy442:
9150 	YYDEBUG(442, *YYCURSOR);
9151 	yyaccept = 9;
9152 	yych = *(YYMARKER = ++YYCURSOR);
9153 	if (yych <= ',') {
9154 		if (yych <= '\t') {
9155 			if (yych <= 0x08) goto yy440;
9156 			goto yy496;
9157 		} else {
9158 			if (yych == ' ') goto yy496;
9159 			goto yy440;
9160 		}
9161 	} else {
9162 		if (yych <= '9') {
9163 			if (yych <= '.') goto yy496;
9164 			if (yych <= '/') goto yy440;
9165 			goto yy498;
9166 		} else {
9167 			if (yych == 'I') goto yy528;
9168 			goto yy440;
9169 		}
9170 	}
9171 yy443:
9172 	YYDEBUG(443, *YYCURSOR);
9173 	yych = *++YYCURSOR;
9174 	if (yych <= 'U') {
9175 		if (yych == 'A') goto yy521;
9176 		if (yych <= 'T') goto yy56;
9177 		goto yy520;
9178 	} else {
9179 		if (yych <= 'a') {
9180 			if (yych <= '`') goto yy56;
9181 			goto yy521;
9182 		} else {
9183 			if (yych == 'u') goto yy520;
9184 			goto yy56;
9185 		}
9186 	}
9187 yy444:
9188 	YYDEBUG(444, *YYCURSOR);
9189 	yych = *++YYCURSOR;
9190 	if (yych <= 'T') {
9191 		if (yych <= 'L') {
9192 			if (yych == '.') goto yy449;
9193 			goto yy56;
9194 		} else {
9195 			if (yych <= 'M') goto yy450;
9196 			if (yych == 'P') goto yy514;
9197 			goto yy56;
9198 		}
9199 	} else {
9200 		if (yych <= 'o') {
9201 			if (yych <= 'U') goto yy513;
9202 			if (yych == 'm') goto yy450;
9203 			goto yy56;
9204 		} else {
9205 			if (yych <= 'p') goto yy514;
9206 			if (yych == 'u') goto yy513;
9207 			goto yy56;
9208 		}
9209 	}
9210 yy445:
9211 	YYDEBUG(445, *YYCURSOR);
9212 	yych = *++YYCURSOR;
9213 	if (yych == 'C') goto yy508;
9214 	if (yych == 'c') goto yy508;
9215 	goto yy56;
9216 yy446:
9217 	YYDEBUG(446, *YYCURSOR);
9218 	yych = *++YYCURSOR;
9219 	if (yych == 'O') goto yy494;
9220 	if (yych == 'o') goto yy494;
9221 	goto yy56;
9222 yy447:
9223 	YYDEBUG(447, *YYCURSOR);
9224 	yych = *++YYCURSOR;
9225 	if (yych <= '/') goto yy56;
9226 	if (yych <= '5') goto yy454;
9227 	if (yych <= '9') goto yy456;
9228 	goto yy56;
9229 yy448:
9230 	YYDEBUG(448, *YYCURSOR);
9231 	yych = *++YYCURSOR;
9232 	if (yych <= 'L') {
9233 		if (yych != '.') goto yy56;
9234 	} else {
9235 		if (yych <= 'M') goto yy450;
9236 		if (yych == 'm') goto yy450;
9237 		goto yy56;
9238 	}
9239 yy449:
9240 	YYDEBUG(449, *YYCURSOR);
9241 	yych = *++YYCURSOR;
9242 	if (yych == 'M') goto yy450;
9243 	if (yych != 'm') goto yy56;
9244 yy450:
9245 	YYDEBUG(450, *YYCURSOR);
9246 	yych = *++YYCURSOR;
9247 	if (yych <= 0x1F) {
9248 		if (yych <= 0x00) goto yy452;
9249 		if (yych == '\t') goto yy452;
9250 		goto yy56;
9251 	} else {
9252 		if (yych <= ' ') goto yy452;
9253 		if (yych != '.') goto yy56;
9254 	}
9255 	YYDEBUG(451, *YYCURSOR);
9256 	yych = *++YYCURSOR;
9257 	if (yych <= '\t') {
9258 		if (yych <= 0x00) goto yy452;
9259 		if (yych <= 0x08) goto yy56;
9260 	} else {
9261 		if (yych != ' ') goto yy56;
9262 	}
9263 yy452:
9264 	YYDEBUG(452, *YYCURSOR);
9265 	++YYCURSOR;
9266 	YYDEBUG(453, *YYCURSOR);
9267 #line 1141 "ext/date/lib/parse_date.re"
9268 	{
9269 		DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
9270 		TIMELIB_INIT;
9271 		TIMELIB_HAVE_TIME();
9272 		s->time->h = timelib_get_nr((char **) &ptr, 2);
9273 		if (*ptr == ':' || *ptr == '.') {
9274 			s->time->i = timelib_get_nr((char **) &ptr, 2);
9275 			if (*ptr == ':' || *ptr == '.') {
9276 				s->time->s = timelib_get_nr((char **) &ptr, 2);
9277 			}
9278 		}
9279 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
9280 		TIMELIB_DEINIT;
9281 		return TIMELIB_TIME12;
9282 	}
9283 #line 9284 "<stdout>"
9284 yy454:
9285 	YYDEBUG(454, *YYCURSOR);
9286 	yyaccept = 10;
9287 	yych = *(YYMARKER = ++YYCURSOR);
9288 	if (yych <= '/') {
9289 		if (yych == '.') goto yy457;
9290 	} else {
9291 		if (yych <= '9') goto yy471;
9292 		if (yych <= ':') goto yy457;
9293 	}
9294 yy455:
9295 	YYDEBUG(455, *YYCURSOR);
9296 #line 1178 "ext/date/lib/parse_date.re"
9297 	{
9298 		int tz_not_found;
9299 		DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
9300 		TIMELIB_INIT;
9301 		TIMELIB_HAVE_TIME();
9302 		s->time->h = timelib_get_nr((char **) &ptr, 2);
9303 		s->time->i = timelib_get_nr((char **) &ptr, 2);
9304 		if (*ptr == ':' || *ptr == '.') {
9305 			s->time->s = timelib_get_nr((char **) &ptr, 2);
9306 
9307 			if (*ptr == '.') {
9308 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
9309 			}
9310 		}
9311 
9312 		if (*ptr != '\0') {
9313 			s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
9314 			if (tz_not_found) {
9315 				add_error(s, "The timezone could not be found in the database");
9316 			}
9317 		}
9318 		TIMELIB_DEINIT;
9319 		return TIMELIB_TIME24_WITH_ZONE;
9320 	}
9321 #line 9322 "<stdout>"
9322 yy456:
9323 	YYDEBUG(456, *YYCURSOR);
9324 	yyaccept = 10;
9325 	yych = *(YYMARKER = ++YYCURSOR);
9326 	if (yych == '.') goto yy457;
9327 	if (yych != ':') goto yy455;
9328 yy457:
9329 	YYDEBUG(457, *YYCURSOR);
9330 	yych = *++YYCURSOR;
9331 	if (yych <= '/') goto yy56;
9332 	if (yych <= '5') goto yy458;
9333 	if (yych <= '6') goto yy459;
9334 	if (yych <= '9') goto yy460;
9335 	goto yy56;
9336 yy458:
9337 	YYDEBUG(458, *YYCURSOR);
9338 	yyaccept = 10;
9339 	yych = *(YYMARKER = ++YYCURSOR);
9340 	if (yych == '.') goto yy461;
9341 	if (yych <= '/') goto yy455;
9342 	if (yych <= '9') goto yy464;
9343 	goto yy455;
9344 yy459:
9345 	YYDEBUG(459, *YYCURSOR);
9346 	yyaccept = 10;
9347 	yych = *(YYMARKER = ++YYCURSOR);
9348 	if (yych == '.') goto yy461;
9349 	if (yych == '0') goto yy464;
9350 	goto yy455;
9351 yy460:
9352 	YYDEBUG(460, *YYCURSOR);
9353 	yyaccept = 10;
9354 	yych = *(YYMARKER = ++YYCURSOR);
9355 	if (yych != '.') goto yy455;
9356 yy461:
9357 	YYDEBUG(461, *YYCURSOR);
9358 	yych = *++YYCURSOR;
9359 	if (yych <= '/') goto yy56;
9360 	if (yych >= ':') goto yy56;
9361 yy462:
9362 	YYDEBUG(462, *YYCURSOR);
9363 	++YYCURSOR;
9364 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
9365 	yych = *YYCURSOR;
9366 	YYDEBUG(463, *YYCURSOR);
9367 	if (yych <= '/') goto yy455;
9368 	if (yych <= '9') goto yy462;
9369 	goto yy455;
9370 yy464:
9371 	YYDEBUG(464, *YYCURSOR);
9372 	yyaccept = 10;
9373 	yych = *(YYMARKER = ++YYCURSOR);
9374 	if (yych <= '@') {
9375 		if (yych <= 0x1F) {
9376 			if (yych != '\t') goto yy455;
9377 		} else {
9378 			if (yych <= ' ') goto yy465;
9379 			if (yych == '.') goto yy461;
9380 			goto yy455;
9381 		}
9382 	} else {
9383 		if (yych <= '`') {
9384 			if (yych <= 'A') goto yy467;
9385 			if (yych == 'P') goto yy467;
9386 			goto yy455;
9387 		} else {
9388 			if (yych <= 'a') goto yy467;
9389 			if (yych == 'p') goto yy467;
9390 			goto yy455;
9391 		}
9392 	}
9393 yy465:
9394 	YYDEBUG(465, *YYCURSOR);
9395 	++YYCURSOR;
9396 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
9397 	yych = *YYCURSOR;
9398 	YYDEBUG(466, *YYCURSOR);
9399 	if (yych <= 'A') {
9400 		if (yych <= 0x1F) {
9401 			if (yych == '\t') goto yy465;
9402 			goto yy56;
9403 		} else {
9404 			if (yych <= ' ') goto yy465;
9405 			if (yych <= '@') goto yy56;
9406 		}
9407 	} else {
9408 		if (yych <= '`') {
9409 			if (yych != 'P') goto yy56;
9410 		} else {
9411 			if (yych <= 'a') goto yy467;
9412 			if (yych != 'p') goto yy56;
9413 		}
9414 	}
9415 yy467:
9416 	YYDEBUG(467, *YYCURSOR);
9417 	yych = *++YYCURSOR;
9418 	if (yych <= 'L') {
9419 		if (yych != '.') goto yy56;
9420 	} else {
9421 		if (yych <= 'M') goto yy469;
9422 		if (yych == 'm') goto yy469;
9423 		goto yy56;
9424 	}
9425 	YYDEBUG(468, *YYCURSOR);
9426 	yych = *++YYCURSOR;
9427 	if (yych == 'M') goto yy469;
9428 	if (yych != 'm') goto yy56;
9429 yy469:
9430 	YYDEBUG(469, *YYCURSOR);
9431 	yych = *++YYCURSOR;
9432 	if (yych <= 0x1F) {
9433 		if (yych <= 0x00) goto yy452;
9434 		if (yych == '\t') goto yy452;
9435 		goto yy56;
9436 	} else {
9437 		if (yych <= ' ') goto yy452;
9438 		if (yych != '.') goto yy56;
9439 	}
9440 	YYDEBUG(470, *YYCURSOR);
9441 	yych = *++YYCURSOR;
9442 	if (yych <= '\t') {
9443 		if (yych <= 0x00) goto yy452;
9444 		if (yych <= 0x08) goto yy56;
9445 		goto yy452;
9446 	} else {
9447 		if (yych == ' ') goto yy452;
9448 		goto yy56;
9449 	}
9450 yy471:
9451 	YYDEBUG(471, *YYCURSOR);
9452 	yyaccept = 10;
9453 	yych = *(YYMARKER = ++YYCURSOR);
9454 	if (yych <= ':') {
9455 		if (yych <= ' ') {
9456 			if (yych == '\t') goto yy472;
9457 			if (yych <= 0x1F) goto yy455;
9458 		} else {
9459 			if (yych == '.') goto yy457;
9460 			if (yych <= '9') goto yy455;
9461 			goto yy475;
9462 		}
9463 	} else {
9464 		if (yych <= 'P') {
9465 			if (yych == 'A') goto yy474;
9466 			if (yych <= 'O') goto yy455;
9467 			goto yy474;
9468 		} else {
9469 			if (yych <= 'a') {
9470 				if (yych <= '`') goto yy455;
9471 				goto yy474;
9472 			} else {
9473 				if (yych == 'p') goto yy474;
9474 				goto yy455;
9475 			}
9476 		}
9477 	}
9478 yy472:
9479 	YYDEBUG(472, *YYCURSOR);
9480 	++YYCURSOR;
9481 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
9482 	yych = *YYCURSOR;
9483 	YYDEBUG(473, *YYCURSOR);
9484 	if (yych <= 'A') {
9485 		if (yych <= 0x1F) {
9486 			if (yych == '\t') goto yy472;
9487 			goto yy56;
9488 		} else {
9489 			if (yych <= ' ') goto yy472;
9490 			if (yych <= '@') goto yy56;
9491 		}
9492 	} else {
9493 		if (yych <= '`') {
9494 			if (yych != 'P') goto yy56;
9495 		} else {
9496 			if (yych <= 'a') goto yy474;
9497 			if (yych != 'p') goto yy56;
9498 		}
9499 	}
9500 yy474:
9501 	YYDEBUG(474, *YYCURSOR);
9502 	yych = *++YYCURSOR;
9503 	if (yych <= 'L') {
9504 		if (yych == '.') goto yy491;
9505 		goto yy56;
9506 	} else {
9507 		if (yych <= 'M') goto yy492;
9508 		if (yych == 'm') goto yy492;
9509 		goto yy56;
9510 	}
9511 yy475:
9512 	YYDEBUG(475, *YYCURSOR);
9513 	yych = *++YYCURSOR;
9514 	if (yych <= '/') goto yy56;
9515 	if (yych <= '5') goto yy476;
9516 	if (yych <= '6') goto yy477;
9517 	if (yych <= '9') goto yy460;
9518 	goto yy56;
9519 yy476:
9520 	YYDEBUG(476, *YYCURSOR);
9521 	yyaccept = 10;
9522 	yych = *(YYMARKER = ++YYCURSOR);
9523 	if (yych == '.') goto yy461;
9524 	if (yych <= '/') goto yy455;
9525 	if (yych <= '9') goto yy478;
9526 	goto yy455;
9527 yy477:
9528 	YYDEBUG(477, *YYCURSOR);
9529 	yyaccept = 10;
9530 	yych = *(YYMARKER = ++YYCURSOR);
9531 	if (yych == '.') goto yy461;
9532 	if (yych != '0') goto yy455;
9533 yy478:
9534 	YYDEBUG(478, *YYCURSOR);
9535 	yyaccept = 10;
9536 	yych = *(YYMARKER = ++YYCURSOR);
9537 	if (yych <= ':') {
9538 		if (yych <= ' ') {
9539 			if (yych == '\t') goto yy465;
9540 			if (yych <= 0x1F) goto yy455;
9541 			goto yy465;
9542 		} else {
9543 			if (yych == '.') goto yy479;
9544 			if (yych <= '9') goto yy455;
9545 			goto yy480;
9546 		}
9547 	} else {
9548 		if (yych <= 'P') {
9549 			if (yych == 'A') goto yy467;
9550 			if (yych <= 'O') goto yy455;
9551 			goto yy467;
9552 		} else {
9553 			if (yych <= 'a') {
9554 				if (yych <= '`') goto yy455;
9555 				goto yy467;
9556 			} else {
9557 				if (yych == 'p') goto yy467;
9558 				goto yy455;
9559 			}
9560 		}
9561 	}
9562 yy479:
9563 	YYDEBUG(479, *YYCURSOR);
9564 	yych = *++YYCURSOR;
9565 	if (yych <= '/') goto yy56;
9566 	if (yych <= '9') goto yy489;
9567 	goto yy56;
9568 yy480:
9569 	YYDEBUG(480, *YYCURSOR);
9570 	yych = *++YYCURSOR;
9571 	if (yych <= '/') goto yy56;
9572 	if (yych >= ':') goto yy56;
9573 yy481:
9574 	YYDEBUG(481, *YYCURSOR);
9575 	++YYCURSOR;
9576 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
9577 	yych = *YYCURSOR;
9578 	YYDEBUG(482, *YYCURSOR);
9579 	if (yych <= 'O') {
9580 		if (yych <= '9') {
9581 			if (yych <= '/') goto yy56;
9582 			goto yy481;
9583 		} else {
9584 			if (yych != 'A') goto yy56;
9585 		}
9586 	} else {
9587 		if (yych <= 'a') {
9588 			if (yych <= 'P') goto yy483;
9589 			if (yych <= '`') goto yy56;
9590 		} else {
9591 			if (yych != 'p') goto yy56;
9592 		}
9593 	}
9594 yy483:
9595 	YYDEBUG(483, *YYCURSOR);
9596 	yych = *++YYCURSOR;
9597 	if (yych <= 'L') {
9598 		if (yych != '.') goto yy56;
9599 	} else {
9600 		if (yych <= 'M') goto yy485;
9601 		if (yych == 'm') goto yy485;
9602 		goto yy56;
9603 	}
9604 	YYDEBUG(484, *YYCURSOR);
9605 	yych = *++YYCURSOR;
9606 	if (yych == 'M') goto yy485;
9607 	if (yych != 'm') goto yy56;
9608 yy485:
9609 	YYDEBUG(485, *YYCURSOR);
9610 	yych = *++YYCURSOR;
9611 	if (yych <= 0x1F) {
9612 		if (yych <= 0x00) goto yy487;
9613 		if (yych == '\t') goto yy487;
9614 		goto yy56;
9615 	} else {
9616 		if (yych <= ' ') goto yy487;
9617 		if (yych != '.') goto yy56;
9618 	}
9619 	YYDEBUG(486, *YYCURSOR);
9620 	yych = *++YYCURSOR;
9621 	if (yych <= '\t') {
9622 		if (yych <= 0x00) goto yy487;
9623 		if (yych <= 0x08) goto yy56;
9624 	} else {
9625 		if (yych != ' ') goto yy56;
9626 	}
9627 yy487:
9628 	YYDEBUG(487, *YYCURSOR);
9629 	++YYCURSOR;
9630 	YYDEBUG(488, *YYCURSOR);
9631 #line 1158 "ext/date/lib/parse_date.re"
9632 	{
9633 		DEBUG_OUTPUT("mssqltime");
9634 		TIMELIB_INIT;
9635 		TIMELIB_HAVE_TIME();
9636 		s->time->h = timelib_get_nr((char **) &ptr, 2);
9637 		s->time->i = timelib_get_nr((char **) &ptr, 2);
9638 		if (*ptr == ':' || *ptr == '.') {
9639 			s->time->s = timelib_get_nr((char **) &ptr, 2);
9640 
9641 			if (*ptr == ':' || *ptr == '.') {
9642 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
9643 			}
9644 		}
9645 		timelib_eat_spaces((char **) &ptr);
9646 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
9647 		TIMELIB_DEINIT;
9648 		return TIMELIB_TIME24_WITH_ZONE;
9649 	}
9650 #line 9651 "<stdout>"
9651 yy489:
9652 	YYDEBUG(489, *YYCURSOR);
9653 	yyaccept = 10;
9654 	YYMARKER = ++YYCURSOR;
9655 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
9656 	yych = *YYCURSOR;
9657 	YYDEBUG(490, *YYCURSOR);
9658 	if (yych <= 'O') {
9659 		if (yych <= '9') {
9660 			if (yych <= '/') goto yy455;
9661 			goto yy489;
9662 		} else {
9663 			if (yych == 'A') goto yy483;
9664 			goto yy455;
9665 		}
9666 	} else {
9667 		if (yych <= 'a') {
9668 			if (yych <= 'P') goto yy483;
9669 			if (yych <= '`') goto yy455;
9670 			goto yy483;
9671 		} else {
9672 			if (yych == 'p') goto yy483;
9673 			goto yy455;
9674 		}
9675 	}
9676 yy491:
9677 	YYDEBUG(491, *YYCURSOR);
9678 	yych = *++YYCURSOR;
9679 	if (yych == 'M') goto yy492;
9680 	if (yych != 'm') goto yy56;
9681 yy492:
9682 	YYDEBUG(492, *YYCURSOR);
9683 	yych = *++YYCURSOR;
9684 	if (yych <= 0x1F) {
9685 		if (yych <= 0x00) goto yy452;
9686 		if (yych == '\t') goto yy452;
9687 		goto yy56;
9688 	} else {
9689 		if (yych <= ' ') goto yy452;
9690 		if (yych != '.') goto yy56;
9691 	}
9692 	YYDEBUG(493, *YYCURSOR);
9693 	yych = *++YYCURSOR;
9694 	if (yych <= '\t') {
9695 		if (yych <= 0x00) goto yy452;
9696 		if (yych <= 0x08) goto yy56;
9697 		goto yy452;
9698 	} else {
9699 		if (yych == ' ') goto yy452;
9700 		goto yy56;
9701 	}
9702 yy494:
9703 	YYDEBUG(494, *YYCURSOR);
9704 	yych = *++YYCURSOR;
9705 	if (yych == 'V') goto yy495;
9706 	if (yych != 'v') goto yy56;
9707 yy495:
9708 	YYDEBUG(495, *YYCURSOR);
9709 	yyaccept = 9;
9710 	yych = *(YYMARKER = ++YYCURSOR);
9711 	if (yych <= '.') {
9712 		if (yych <= 0x1F) {
9713 			if (yych != '\t') goto yy440;
9714 		} else {
9715 			if (yych <= ' ') goto yy496;
9716 			if (yych <= ',') goto yy440;
9717 		}
9718 	} else {
9719 		if (yych <= 'D') {
9720 			if (yych <= '/') goto yy440;
9721 			if (yych <= '9') goto yy498;
9722 			goto yy440;
9723 		} else {
9724 			if (yych <= 'E') goto yy500;
9725 			if (yych == 'e') goto yy500;
9726 			goto yy440;
9727 		}
9728 	}
9729 yy496:
9730 	YYDEBUG(496, *YYCURSOR);
9731 	++YYCURSOR;
9732 	if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
9733 	yych = *YYCURSOR;
9734 yy497:
9735 	YYDEBUG(497, *YYCURSOR);
9736 	if (yych <= ' ') {
9737 		if (yych == '\t') goto yy496;
9738 		if (yych <= 0x1F) goto yy56;
9739 		goto yy496;
9740 	} else {
9741 		if (yych <= '.') {
9742 			if (yych <= ',') goto yy56;
9743 			goto yy496;
9744 		} else {
9745 			if (yych <= '/') goto yy56;
9746 			if (yych >= ':') goto yy56;
9747 		}
9748 	}
9749 yy498:
9750 	YYDEBUG(498, *YYCURSOR);
9751 	++YYCURSOR;
9752 	if ((yych = *YYCURSOR) <= '/') goto yy499;
9753 	if (yych <= '9') goto yy505;
9754 yy499:
9755 	YYDEBUG(499, *YYCURSOR);
9756 #line 1340 "ext/date/lib/parse_date.re"
9757 	{
9758 		int length = 0;
9759 		DEBUG_OUTPUT("datefull");
9760 		TIMELIB_INIT;
9761 		TIMELIB_HAVE_DATE();
9762 		s->time->d = timelib_get_nr((char **) &ptr, 2);
9763 		timelib_skip_day_suffix((char **) &ptr);
9764 		s->time->m = timelib_get_month((char **) &ptr);
9765 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
9766 		TIMELIB_PROCESS_YEAR(s->time->y, length);
9767 		TIMELIB_DEINIT;
9768 		return TIMELIB_DATE_FULL;
9769 	}
9770 #line 9771 "<stdout>"
9771 yy500:
9772 	YYDEBUG(500, *YYCURSOR);
9773 	yych = *++YYCURSOR;
9774 	if (yych == 'M') goto yy501;
9775 	if (yych != 'm') goto yy56;
9776 yy501:
9777 	YYDEBUG(501, *YYCURSOR);
9778 	yych = *++YYCURSOR;
9779 	if (yych == 'B') goto yy502;
9780 	if (yych != 'b') goto yy56;
9781 yy502:
9782 	YYDEBUG(502, *YYCURSOR);
9783 	yych = *++YYCURSOR;
9784 	if (yych == 'E') goto yy503;
9785 	if (yych != 'e') goto yy56;
9786 yy503:
9787 	YYDEBUG(503, *YYCURSOR);
9788 	yych = *++YYCURSOR;
9789 	if (yych == 'R') goto yy504;
9790 	if (yych != 'r') goto yy56;
9791 yy504:
9792 	YYDEBUG(504, *YYCURSOR);
9793 	yyaccept = 9;
9794 	yych = *(YYMARKER = ++YYCURSOR);
9795 	if (yych <= ' ') {
9796 		if (yych == '\t') goto yy496;
9797 		if (yych <= 0x1F) goto yy440;
9798 		goto yy496;
9799 	} else {
9800 		if (yych <= '.') {
9801 			if (yych <= ',') goto yy440;
9802 			goto yy496;
9803 		} else {
9804 			if (yych <= '/') goto yy440;
9805 			if (yych <= '9') goto yy498;
9806 			goto yy440;
9807 		}
9808 	}
9809 yy505:
9810 	YYDEBUG(505, *YYCURSOR);
9811 	yych = *++YYCURSOR;
9812 	if (yych <= '/') goto yy499;
9813 	if (yych >= ':') goto yy499;
9814 yy506:
9815 	YYDEBUG(506, *YYCURSOR);
9816 	yych = *++YYCURSOR;
9817 	if (yych <= '/') goto yy499;
9818 	if (yych >= ':') goto yy499;
9819 	YYDEBUG(507, *YYCURSOR);
9820 	yych = *++YYCURSOR;
9821 	goto yy499;
9822 yy508:
9823 	YYDEBUG(508, *YYCURSOR);
9824 	yych = *++YYCURSOR;
9825 	if (yych == 'T') goto yy509;
9826 	if (yych != 't') goto yy56;
9827 yy509:
9828 	YYDEBUG(509, *YYCURSOR);
9829 	yyaccept = 9;
9830 	yych = *(YYMARKER = ++YYCURSOR);
9831 	if (yych <= '.') {
9832 		if (yych <= 0x1F) {
9833 			if (yych == '\t') goto yy496;
9834 			goto yy440;
9835 		} else {
9836 			if (yych <= ' ') goto yy496;
9837 			if (yych <= ',') goto yy440;
9838 			goto yy496;
9839 		}
9840 	} else {
9841 		if (yych <= 'N') {
9842 			if (yych <= '/') goto yy440;
9843 			if (yych <= '9') goto yy498;
9844 			goto yy440;
9845 		} else {
9846 			if (yych <= 'O') goto yy510;
9847 			if (yych != 'o') goto yy440;
9848 		}
9849 	}
9850 yy510:
9851 	YYDEBUG(510, *YYCURSOR);
9852 	yych = *++YYCURSOR;
9853 	if (yych == 'B') goto yy511;
9854 	if (yych != 'b') goto yy56;
9855 yy511:
9856 	YYDEBUG(511, *YYCURSOR);
9857 	yych = *++YYCURSOR;
9858 	if (yych == 'E') goto yy512;
9859 	if (yych != 'e') goto yy56;
9860 yy512:
9861 	YYDEBUG(512, *YYCURSOR);
9862 	yych = *++YYCURSOR;
9863 	if (yych == 'R') goto yy504;
9864 	if (yych == 'r') goto yy504;
9865 	goto yy56;
9866 yy513:
9867 	YYDEBUG(513, *YYCURSOR);
9868 	yych = *++YYCURSOR;
9869 	if (yych == 'G') goto yy517;
9870 	if (yych == 'g') goto yy517;
9871 	goto yy56;
9872 yy514:
9873 	YYDEBUG(514, *YYCURSOR);
9874 	yych = *++YYCURSOR;
9875 	if (yych == 'R') goto yy515;
9876 	if (yych != 'r') goto yy56;
9877 yy515:
9878 	YYDEBUG(515, *YYCURSOR);
9879 	yyaccept = 9;
9880 	yych = *(YYMARKER = ++YYCURSOR);
9881 	if (yych <= '.') {
9882 		if (yych <= 0x1F) {
9883 			if (yych == '\t') goto yy496;
9884 			goto yy440;
9885 		} else {
9886 			if (yych <= ' ') goto yy496;
9887 			if (yych <= ',') goto yy440;
9888 			goto yy496;
9889 		}
9890 	} else {
9891 		if (yych <= 'H') {
9892 			if (yych <= '/') goto yy440;
9893 			if (yych <= '9') goto yy498;
9894 			goto yy440;
9895 		} else {
9896 			if (yych <= 'I') goto yy516;
9897 			if (yych != 'i') goto yy440;
9898 		}
9899 	}
9900 yy516:
9901 	YYDEBUG(516, *YYCURSOR);
9902 	yych = *++YYCURSOR;
9903 	if (yych == 'L') goto yy504;
9904 	if (yych == 'l') goto yy504;
9905 	goto yy56;
9906 yy517:
9907 	YYDEBUG(517, *YYCURSOR);
9908 	yyaccept = 9;
9909 	yych = *(YYMARKER = ++YYCURSOR);
9910 	if (yych <= '.') {
9911 		if (yych <= 0x1F) {
9912 			if (yych == '\t') goto yy496;
9913 			goto yy440;
9914 		} else {
9915 			if (yych <= ' ') goto yy496;
9916 			if (yych <= ',') goto yy440;
9917 			goto yy496;
9918 		}
9919 	} else {
9920 		if (yych <= 'T') {
9921 			if (yych <= '/') goto yy440;
9922 			if (yych <= '9') goto yy498;
9923 			goto yy440;
9924 		} else {
9925 			if (yych <= 'U') goto yy518;
9926 			if (yych != 'u') goto yy440;
9927 		}
9928 	}
9929 yy518:
9930 	YYDEBUG(518, *YYCURSOR);
9931 	yych = *++YYCURSOR;
9932 	if (yych == 'S') goto yy519;
9933 	if (yych != 's') goto yy56;
9934 yy519:
9935 	YYDEBUG(519, *YYCURSOR);
9936 	yych = *++YYCURSOR;
9937 	if (yych == 'T') goto yy504;
9938 	if (yych == 't') goto yy504;
9939 	goto yy56;
9940 yy520:
9941 	YYDEBUG(520, *YYCURSOR);
9942 	yych = *++YYCURSOR;
9943 	if (yych <= 'N') {
9944 		if (yych == 'L') goto yy527;
9945 		if (yych <= 'M') goto yy56;
9946 		goto yy526;
9947 	} else {
9948 		if (yych <= 'l') {
9949 			if (yych <= 'k') goto yy56;
9950 			goto yy527;
9951 		} else {
9952 			if (yych == 'n') goto yy526;
9953 			goto yy56;
9954 		}
9955 	}
9956 yy521:
9957 	YYDEBUG(521, *YYCURSOR);
9958 	yych = *++YYCURSOR;
9959 	if (yych == 'N') goto yy522;
9960 	if (yych != 'n') goto yy56;
9961 yy522:
9962 	YYDEBUG(522, *YYCURSOR);
9963 	yyaccept = 9;
9964 	yych = *(YYMARKER = ++YYCURSOR);
9965 	if (yych <= '.') {
9966 		if (yych <= 0x1F) {
9967 			if (yych == '\t') goto yy496;
9968 			goto yy440;
9969 		} else {
9970 			if (yych <= ' ') goto yy496;
9971 			if (yych <= ',') goto yy440;
9972 			goto yy496;
9973 		}
9974 	} else {
9975 		if (yych <= 'T') {
9976 			if (yych <= '/') goto yy440;
9977 			if (yych <= '9') goto yy498;
9978 			goto yy440;
9979 		} else {
9980 			if (yych <= 'U') goto yy523;
9981 			if (yych != 'u') goto yy440;
9982 		}
9983 	}
9984 yy523:
9985 	YYDEBUG(523, *YYCURSOR);
9986 	yych = *++YYCURSOR;
9987 	if (yych == 'A') goto yy524;
9988 	if (yych != 'a') goto yy56;
9989 yy524:
9990 	YYDEBUG(524, *YYCURSOR);
9991 	yych = *++YYCURSOR;
9992 	if (yych == 'R') goto yy525;
9993 	if (yych != 'r') goto yy56;
9994 yy525:
9995 	YYDEBUG(525, *YYCURSOR);
9996 	yych = *++YYCURSOR;
9997 	if (yych == 'Y') goto yy504;
9998 	if (yych == 'y') goto yy504;
9999 	goto yy56;
10000 yy526:
10001 	YYDEBUG(526, *YYCURSOR);
10002 	yyaccept = 9;
10003 	yych = *(YYMARKER = ++YYCURSOR);
10004 	if (yych <= '.') {
10005 		if (yych <= 0x1F) {
10006 			if (yych == '\t') goto yy496;
10007 			goto yy440;
10008 		} else {
10009 			if (yych <= ' ') goto yy496;
10010 			if (yych <= ',') goto yy440;
10011 			goto yy496;
10012 		}
10013 	} else {
10014 		if (yych <= 'D') {
10015 			if (yych <= '/') goto yy440;
10016 			if (yych <= '9') goto yy498;
10017 			goto yy440;
10018 		} else {
10019 			if (yych <= 'E') goto yy504;
10020 			if (yych == 'e') goto yy504;
10021 			goto yy440;
10022 		}
10023 	}
10024 yy527:
10025 	YYDEBUG(527, *YYCURSOR);
10026 	yyaccept = 9;
10027 	yych = *(YYMARKER = ++YYCURSOR);
10028 	if (yych <= '.') {
10029 		if (yych <= 0x1F) {
10030 			if (yych == '\t') goto yy496;
10031 			goto yy440;
10032 		} else {
10033 			if (yych <= ' ') goto yy496;
10034 			if (yych <= ',') goto yy440;
10035 			goto yy496;
10036 		}
10037 	} else {
10038 		if (yych <= 'X') {
10039 			if (yych <= '/') goto yy440;
10040 			if (yych <= '9') goto yy498;
10041 			goto yy440;
10042 		} else {
10043 			if (yych <= 'Y') goto yy504;
10044 			if (yych == 'y') goto yy504;
10045 			goto yy440;
10046 		}
10047 	}
10048 yy528:
10049 	YYDEBUG(528, *YYCURSOR);
10050 	yyaccept = 9;
10051 	yych = *(YYMARKER = ++YYCURSOR);
10052 	if (yych <= ',') {
10053 		if (yych <= '\t') {
10054 			if (yych <= 0x08) goto yy440;
10055 			goto yy496;
10056 		} else {
10057 			if (yych == ' ') goto yy496;
10058 			goto yy440;
10059 		}
10060 	} else {
10061 		if (yych <= '9') {
10062 			if (yych <= '.') goto yy496;
10063 			if (yych <= '/') goto yy440;
10064 			goto yy498;
10065 		} else {
10066 			if (yych == 'I') goto yy504;
10067 			goto yy440;
10068 		}
10069 	}
10070 yy529:
10071 	YYDEBUG(529, *YYCURSOR);
10072 	yyaccept = 9;
10073 	yych = *(YYMARKER = ++YYCURSOR);
10074 	if (yych <= ',') {
10075 		if (yych <= '\t') {
10076 			if (yych <= 0x08) goto yy440;
10077 			goto yy496;
10078 		} else {
10079 			if (yych == ' ') goto yy496;
10080 			goto yy440;
10081 		}
10082 	} else {
10083 		if (yych <= '9') {
10084 			if (yych <= '.') goto yy496;
10085 			if (yych <= '/') goto yy440;
10086 			goto yy498;
10087 		} else {
10088 			if (yych != 'I') goto yy440;
10089 		}
10090 	}
10091 	YYDEBUG(530, *YYCURSOR);
10092 	yyaccept = 9;
10093 	yych = *(YYMARKER = ++YYCURSOR);
10094 	if (yych <= ',') {
10095 		if (yych <= '\t') {
10096 			if (yych <= 0x08) goto yy440;
10097 			goto yy496;
10098 		} else {
10099 			if (yych == ' ') goto yy496;
10100 			goto yy440;
10101 		}
10102 	} else {
10103 		if (yych <= '9') {
10104 			if (yych <= '.') goto yy496;
10105 			if (yych <= '/') goto yy440;
10106 			goto yy498;
10107 		} else {
10108 			if (yych == 'I') goto yy504;
10109 			goto yy440;
10110 		}
10111 	}
10112 yy531:
10113 	YYDEBUG(531, *YYCURSOR);
10114 	yyaccept = 9;
10115 	yych = *(YYMARKER = ++YYCURSOR);
10116 	if (yych <= ',') {
10117 		if (yych <= '\t') {
10118 			if (yych <= 0x08) goto yy440;
10119 			goto yy496;
10120 		} else {
10121 			if (yych == ' ') goto yy496;
10122 			goto yy440;
10123 		}
10124 	} else {
10125 		if (yych <= '9') {
10126 			if (yych <= '.') goto yy496;
10127 			if (yych <= '/') goto yy440;
10128 			goto yy498;
10129 		} else {
10130 			if (yych == 'I') goto yy504;
10131 			goto yy440;
10132 		}
10133 	}
10134 yy532:
10135 	YYDEBUG(532, *YYCURSOR);
10136 	yyaccept = 10;
10137 	yych = *(YYMARKER = ++YYCURSOR);
10138 	if (yych <= '.') {
10139 		if (yych <= ',') goto yy455;
10140 		if (yych <= '-') goto yy566;
10141 		goto yy565;
10142 	} else {
10143 		if (yych <= '/') goto yy455;
10144 		if (yych <= '9') goto yy579;
10145 		if (yych <= ':') goto yy457;
10146 		goto yy455;
10147 	}
10148 yy533:
10149 	YYDEBUG(533, *YYCURSOR);
10150 	yyaccept = 10;
10151 	yych = *(YYMARKER = ++YYCURSOR);
10152 	if (yych <= '/') {
10153 		if (yych <= ',') goto yy455;
10154 		if (yych <= '-') goto yy566;
10155 		if (yych <= '.') goto yy565;
10156 		goto yy455;
10157 	} else {
10158 		if (yych <= '2') goto yy579;
10159 		if (yych <= '9') goto yy578;
10160 		if (yych <= ':') goto yy457;
10161 		goto yy455;
10162 	}
10163 yy534:
10164 	YYDEBUG(534, *YYCURSOR);
10165 	yyaccept = 10;
10166 	yych = *(YYMARKER = ++YYCURSOR);
10167 	if (yych <= '.') {
10168 		if (yych <= ',') goto yy455;
10169 		if (yych <= '-') goto yy566;
10170 		goto yy565;
10171 	} else {
10172 		if (yych <= '/') goto yy455;
10173 		if (yych <= '9') goto yy578;
10174 		if (yych <= ':') goto yy457;
10175 		goto yy455;
10176 	}
10177 yy535:
10178 	YYDEBUG(535, *YYCURSOR);
10179 	yyaccept = 10;
10180 	yych = *(YYMARKER = ++YYCURSOR);
10181 	if (yych <= '.') {
10182 		if (yych <= ',') goto yy455;
10183 		if (yych <= '-') goto yy566;
10184 		goto yy565;
10185 	} else {
10186 		if (yych == ':') goto yy457;
10187 		goto yy455;
10188 	}
10189 yy536:
10190 	YYDEBUG(536, *YYCURSOR);
10191 	yych = *++YYCURSOR;
10192 	if (yych == 'E') goto yy559;
10193 	if (yych == 'e') goto yy559;
10194 	goto yy56;
10195 yy537:
10196 	YYDEBUG(537, *YYCURSOR);
10197 	yych = *++YYCURSOR;
10198 	if (yych == 'A') goto yy556;
10199 	if (yych == 'a') goto yy556;
10200 	goto yy56;
10201 yy538:
10202 	YYDEBUG(538, *YYCURSOR);
10203 	yych = *++YYCURSOR;
10204 	if (yych <= 'U') {
10205 		if (yych == 'P') goto yy514;
10206 		if (yych <= 'T') goto yy56;
10207 		goto yy513;
10208 	} else {
10209 		if (yych <= 'p') {
10210 			if (yych <= 'o') goto yy56;
10211 			goto yy514;
10212 		} else {
10213 			if (yych == 'u') goto yy513;
10214 			goto yy56;
10215 		}
10216 	}
10217 yy539:
10218 	YYDEBUG(539, *YYCURSOR);
10219 	yych = *++YYCURSOR;
10220 	if (yych == 'E') goto yy549;
10221 	if (yych == 'e') goto yy549;
10222 	goto yy56;
10223 yy540:
10224 	YYDEBUG(540, *YYCURSOR);
10225 	yych = *++YYCURSOR;
10226 	if (yych == 'E') goto yy543;
10227 	if (yych == 'e') goto yy543;
10228 	goto yy56;
10229 yy541:
10230 	YYDEBUG(541, *YYCURSOR);
10231 	++YYCURSOR;
10232 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
10233 	yych = *YYCURSOR;
10234 yy542:
10235 	YYDEBUG(542, *YYCURSOR);
10236 	switch (yych) {
10237 	case '\t':
10238 	case ' ':
10239 	case '-':
10240 	case '.':	goto yy541;
10241 	case 'A':
10242 	case 'a':	goto yy538;
10243 	case 'D':
10244 	case 'd':	goto yy540;
10245 	case 'F':
10246 	case 'f':	goto yy536;
10247 	case 'I':	goto yy439;
10248 	case 'J':
10249 	case 'j':	goto yy443;
10250 	case 'M':
10251 	case 'm':	goto yy537;
10252 	case 'N':
10253 	case 'n':	goto yy446;
10254 	case 'O':
10255 	case 'o':	goto yy445;
10256 	case 'S':
10257 	case 's':	goto yy539;
10258 	case 'V':	goto yy441;
10259 	case 'X':	goto yy442;
10260 	default:	goto yy56;
10261 	}
10262 yy543:
10263 	YYDEBUG(543, *YYCURSOR);
10264 	yych = *++YYCURSOR;
10265 	if (yych == 'C') goto yy544;
10266 	if (yych != 'c') goto yy56;
10267 yy544:
10268 	YYDEBUG(544, *YYCURSOR);
10269 	yyaccept = 9;
10270 	yych = *(YYMARKER = ++YYCURSOR);
10271 	if (yych <= '.') {
10272 		if (yych <= 0x1F) {
10273 			if (yych == '\t') goto yy496;
10274 			goto yy440;
10275 		} else {
10276 			if (yych <= ' ') goto yy496;
10277 			if (yych <= ',') goto yy440;
10278 			goto yy496;
10279 		}
10280 	} else {
10281 		if (yych <= 'D') {
10282 			if (yych <= '/') goto yy440;
10283 			if (yych <= '9') goto yy498;
10284 			goto yy440;
10285 		} else {
10286 			if (yych <= 'E') goto yy545;
10287 			if (yych != 'e') goto yy440;
10288 		}
10289 	}
10290 yy545:
10291 	YYDEBUG(545, *YYCURSOR);
10292 	yych = *++YYCURSOR;
10293 	if (yych == 'M') goto yy546;
10294 	if (yych != 'm') goto yy56;
10295 yy546:
10296 	YYDEBUG(546, *YYCURSOR);
10297 	yych = *++YYCURSOR;
10298 	if (yych == 'B') goto yy547;
10299 	if (yych != 'b') goto yy56;
10300 yy547:
10301 	YYDEBUG(547, *YYCURSOR);
10302 	yych = *++YYCURSOR;
10303 	if (yych == 'E') goto yy548;
10304 	if (yych != 'e') goto yy56;
10305 yy548:
10306 	YYDEBUG(548, *YYCURSOR);
10307 	yych = *++YYCURSOR;
10308 	if (yych == 'R') goto yy504;
10309 	if (yych == 'r') goto yy504;
10310 	goto yy56;
10311 yy549:
10312 	YYDEBUG(549, *YYCURSOR);
10313 	yych = *++YYCURSOR;
10314 	if (yych == 'P') goto yy550;
10315 	if (yych != 'p') goto yy56;
10316 yy550:
10317 	YYDEBUG(550, *YYCURSOR);
10318 	yyaccept = 9;
10319 	yych = *(YYMARKER = ++YYCURSOR);
10320 	if (yych <= '.') {
10321 		if (yych <= 0x1F) {
10322 			if (yych == '\t') goto yy496;
10323 			goto yy440;
10324 		} else {
10325 			if (yych <= ' ') goto yy496;
10326 			if (yych <= ',') goto yy440;
10327 			goto yy496;
10328 		}
10329 	} else {
10330 		if (yych <= 'S') {
10331 			if (yych <= '/') goto yy440;
10332 			if (yych <= '9') goto yy498;
10333 			goto yy440;
10334 		} else {
10335 			if (yych <= 'T') goto yy551;
10336 			if (yych != 't') goto yy440;
10337 		}
10338 	}
10339 yy551:
10340 	YYDEBUG(551, *YYCURSOR);
10341 	yyaccept = 9;
10342 	yych = *(YYMARKER = ++YYCURSOR);
10343 	if (yych <= '.') {
10344 		if (yych <= 0x1F) {
10345 			if (yych == '\t') goto yy496;
10346 			goto yy440;
10347 		} else {
10348 			if (yych <= ' ') goto yy496;
10349 			if (yych <= ',') goto yy440;
10350 			goto yy496;
10351 		}
10352 	} else {
10353 		if (yych <= 'D') {
10354 			if (yych <= '/') goto yy440;
10355 			if (yych <= '9') goto yy498;
10356 			goto yy440;
10357 		} else {
10358 			if (yych <= 'E') goto yy552;
10359 			if (yych != 'e') goto yy440;
10360 		}
10361 	}
10362 yy552:
10363 	YYDEBUG(552, *YYCURSOR);
10364 	yych = *++YYCURSOR;
10365 	if (yych == 'M') goto yy553;
10366 	if (yych != 'm') goto yy56;
10367 yy553:
10368 	YYDEBUG(553, *YYCURSOR);
10369 	yych = *++YYCURSOR;
10370 	if (yych == 'B') goto yy554;
10371 	if (yych != 'b') goto yy56;
10372 yy554:
10373 	YYDEBUG(554, *YYCURSOR);
10374 	yych = *++YYCURSOR;
10375 	if (yych == 'E') goto yy555;
10376 	if (yych != 'e') goto yy56;
10377 yy555:
10378 	YYDEBUG(555, *YYCURSOR);
10379 	yych = *++YYCURSOR;
10380 	if (yych == 'R') goto yy504;
10381 	if (yych == 'r') goto yy504;
10382 	goto yy56;
10383 yy556:
10384 	YYDEBUG(556, *YYCURSOR);
10385 	yych = *++YYCURSOR;
10386 	if (yych <= 'Y') {
10387 		if (yych == 'R') goto yy557;
10388 		if (yych <= 'X') goto yy56;
10389 		goto yy504;
10390 	} else {
10391 		if (yych <= 'r') {
10392 			if (yych <= 'q') goto yy56;
10393 		} else {
10394 			if (yych == 'y') goto yy504;
10395 			goto yy56;
10396 		}
10397 	}
10398 yy557:
10399 	YYDEBUG(557, *YYCURSOR);
10400 	yyaccept = 9;
10401 	yych = *(YYMARKER = ++YYCURSOR);
10402 	if (yych <= '.') {
10403 		if (yych <= 0x1F) {
10404 			if (yych == '\t') goto yy496;
10405 			goto yy440;
10406 		} else {
10407 			if (yych <= ' ') goto yy496;
10408 			if (yych <= ',') goto yy440;
10409 			goto yy496;
10410 		}
10411 	} else {
10412 		if (yych <= 'B') {
10413 			if (yych <= '/') goto yy440;
10414 			if (yych <= '9') goto yy498;
10415 			goto yy440;
10416 		} else {
10417 			if (yych <= 'C') goto yy558;
10418 			if (yych != 'c') goto yy440;
10419 		}
10420 	}
10421 yy558:
10422 	YYDEBUG(558, *YYCURSOR);
10423 	yych = *++YYCURSOR;
10424 	if (yych == 'H') goto yy504;
10425 	if (yych == 'h') goto yy504;
10426 	goto yy56;
10427 yy559:
10428 	YYDEBUG(559, *YYCURSOR);
10429 	yych = *++YYCURSOR;
10430 	if (yych == 'B') goto yy560;
10431 	if (yych != 'b') goto yy56;
10432 yy560:
10433 	YYDEBUG(560, *YYCURSOR);
10434 	yyaccept = 9;
10435 	yych = *(YYMARKER = ++YYCURSOR);
10436 	if (yych <= '.') {
10437 		if (yych <= 0x1F) {
10438 			if (yych == '\t') goto yy496;
10439 			goto yy440;
10440 		} else {
10441 			if (yych <= ' ') goto yy496;
10442 			if (yych <= ',') goto yy440;
10443 			goto yy496;
10444 		}
10445 	} else {
10446 		if (yych <= 'Q') {
10447 			if (yych <= '/') goto yy440;
10448 			if (yych <= '9') goto yy498;
10449 			goto yy440;
10450 		} else {
10451 			if (yych <= 'R') goto yy561;
10452 			if (yych != 'r') goto yy440;
10453 		}
10454 	}
10455 yy561:
10456 	YYDEBUG(561, *YYCURSOR);
10457 	yych = *++YYCURSOR;
10458 	if (yych == 'U') goto yy562;
10459 	if (yych != 'u') goto yy56;
10460 yy562:
10461 	YYDEBUG(562, *YYCURSOR);
10462 	yych = *++YYCURSOR;
10463 	if (yych == 'A') goto yy563;
10464 	if (yych != 'a') goto yy56;
10465 yy563:
10466 	YYDEBUG(563, *YYCURSOR);
10467 	yych = *++YYCURSOR;
10468 	if (yych == 'R') goto yy564;
10469 	if (yych != 'r') goto yy56;
10470 yy564:
10471 	YYDEBUG(564, *YYCURSOR);
10472 	yych = *++YYCURSOR;
10473 	if (yych == 'Y') goto yy504;
10474 	if (yych == 'y') goto yy504;
10475 	goto yy56;
10476 yy565:
10477 	YYDEBUG(565, *YYCURSOR);
10478 	yych = *++YYCURSOR;
10479 	if (yych <= '/') goto yy56;
10480 	if (yych <= '5') goto yy572;
10481 	if (yych <= '6') goto yy573;
10482 	if (yych <= '9') goto yy574;
10483 	goto yy56;
10484 yy566:
10485 	YYDEBUG(566, *YYCURSOR);
10486 	yych = *++YYCURSOR;
10487 	if (yych <= '/') goto yy56;
10488 	if (yych >= ':') goto yy56;
10489 	YYDEBUG(567, *YYCURSOR);
10490 	yych = *++YYCURSOR;
10491 	if (yych <= '/') goto yy56;
10492 	if (yych >= ':') goto yy56;
10493 yy568:
10494 	YYDEBUG(568, *YYCURSOR);
10495 	yych = *++YYCURSOR;
10496 	if (yych <= '/') goto yy56;
10497 	if (yych >= ':') goto yy56;
10498 yy569:
10499 	YYDEBUG(569, *YYCURSOR);
10500 	yych = *++YYCURSOR;
10501 	if (yych <= '/') goto yy56;
10502 	if (yych >= ':') goto yy56;
10503 	YYDEBUG(570, *YYCURSOR);
10504 	++YYCURSOR;
10505 	YYDEBUG(571, *YYCURSOR);
10506 #line 1355 "ext/date/lib/parse_date.re"
10507 	{
10508 		DEBUG_OUTPUT("pointed date YYYY");
10509 		TIMELIB_INIT;
10510 		TIMELIB_HAVE_DATE();
10511 		s->time->d = timelib_get_nr((char **) &ptr, 2);
10512 		s->time->m = timelib_get_nr((char **) &ptr, 2);
10513 		s->time->y = timelib_get_nr((char **) &ptr, 4);
10514 		TIMELIB_DEINIT;
10515 		return TIMELIB_DATE_FULL_POINTED;
10516 	}
10517 #line 10518 "<stdout>"
10518 yy572:
10519 	YYDEBUG(572, *YYCURSOR);
10520 	yyaccept = 10;
10521 	yych = *(YYMARKER = ++YYCURSOR);
10522 	if (yych == '.') goto yy461;
10523 	if (yych <= '/') goto yy455;
10524 	if (yych <= '9') goto yy577;
10525 	goto yy455;
10526 yy573:
10527 	YYDEBUG(573, *YYCURSOR);
10528 	yyaccept = 10;
10529 	yych = *(YYMARKER = ++YYCURSOR);
10530 	if (yych <= '/') {
10531 		if (yych == '.') goto yy461;
10532 		goto yy455;
10533 	} else {
10534 		if (yych <= '0') goto yy577;
10535 		if (yych <= '9') goto yy575;
10536 		goto yy455;
10537 	}
10538 yy574:
10539 	YYDEBUG(574, *YYCURSOR);
10540 	yyaccept = 10;
10541 	yych = *(YYMARKER = ++YYCURSOR);
10542 	if (yych == '.') goto yy461;
10543 	if (yych <= '/') goto yy455;
10544 	if (yych >= ':') goto yy455;
10545 yy575:
10546 	YYDEBUG(575, *YYCURSOR);
10547 	yyaccept = 11;
10548 	yych = *(YYMARKER = ++YYCURSOR);
10549 	if (yych <= '/') goto yy576;
10550 	if (yych <= '9') goto yy569;
10551 yy576:
10552 	YYDEBUG(576, *YYCURSOR);
10553 #line 1367 "ext/date/lib/parse_date.re"
10554 	{
10555 		int length = 0;
10556 		DEBUG_OUTPUT("pointed date YY");
10557 		TIMELIB_INIT;
10558 		TIMELIB_HAVE_DATE();
10559 		s->time->d = timelib_get_nr((char **) &ptr, 2);
10560 		s->time->m = timelib_get_nr((char **) &ptr, 2);
10561 		s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length);
10562 		TIMELIB_PROCESS_YEAR(s->time->y, length);
10563 		TIMELIB_DEINIT;
10564 		return TIMELIB_DATE_FULL_POINTED;
10565 	}
10566 #line 10567 "<stdout>"
10567 yy577:
10568 	YYDEBUG(577, *YYCURSOR);
10569 	yyaccept = 10;
10570 	yych = *(YYMARKER = ++YYCURSOR);
10571 	if (yych <= '9') {
10572 		if (yych <= ' ') {
10573 			if (yych == '\t') goto yy465;
10574 			if (yych <= 0x1F) goto yy455;
10575 			goto yy465;
10576 		} else {
10577 			if (yych == '.') goto yy461;
10578 			if (yych <= '/') goto yy455;
10579 			goto yy569;
10580 		}
10581 	} else {
10582 		if (yych <= 'P') {
10583 			if (yych == 'A') goto yy467;
10584 			if (yych <= 'O') goto yy455;
10585 			goto yy467;
10586 		} else {
10587 			if (yych <= 'a') {
10588 				if (yych <= '`') goto yy455;
10589 				goto yy467;
10590 			} else {
10591 				if (yych == 'p') goto yy467;
10592 				goto yy455;
10593 			}
10594 		}
10595 	}
10596 yy578:
10597 	YYDEBUG(578, *YYCURSOR);
10598 	yyaccept = 10;
10599 	yych = *(YYMARKER = ++YYCURSOR);
10600 	if (yych <= ':') {
10601 		if (yych <= ' ') {
10602 			if (yych == '\t') goto yy472;
10603 			if (yych <= 0x1F) goto yy455;
10604 			goto yy472;
10605 		} else {
10606 			if (yych == '.') goto yy457;
10607 			if (yych <= '9') goto yy455;
10608 			goto yy457;
10609 		}
10610 	} else {
10611 		if (yych <= 'P') {
10612 			if (yych == 'A') goto yy474;
10613 			if (yych <= 'O') goto yy455;
10614 			goto yy474;
10615 		} else {
10616 			if (yych <= 'a') {
10617 				if (yych <= '`') goto yy455;
10618 				goto yy474;
10619 			} else {
10620 				if (yych == 'p') goto yy474;
10621 				goto yy455;
10622 			}
10623 		}
10624 	}
10625 yy579:
10626 	YYDEBUG(579, *YYCURSOR);
10627 	yyaccept = 10;
10628 	yych = *(YYMARKER = ++YYCURSOR);
10629 	if (yych <= ':') {
10630 		if (yych <= ' ') {
10631 			if (yych == '\t') goto yy472;
10632 			if (yych <= 0x1F) goto yy455;
10633 			goto yy472;
10634 		} else {
10635 			if (yych <= '-') {
10636 				if (yych <= ',') goto yy455;
10637 				goto yy566;
10638 			} else {
10639 				if (yych <= '.') goto yy565;
10640 				if (yych <= '9') goto yy455;
10641 				goto yy457;
10642 			}
10643 		}
10644 	} else {
10645 		if (yych <= 'P') {
10646 			if (yych == 'A') goto yy474;
10647 			if (yych <= 'O') goto yy455;
10648 			goto yy474;
10649 		} else {
10650 			if (yych <= 'a') {
10651 				if (yych <= '`') goto yy455;
10652 				goto yy474;
10653 			} else {
10654 				if (yych == 'p') goto yy474;
10655 				goto yy455;
10656 			}
10657 		}
10658 	}
10659 yy580:
10660 	YYDEBUG(580, *YYCURSOR);
10661 	yych = *++YYCURSOR;
10662 	if (yych <= '.') {
10663 		if (yych <= ',') goto yy56;
10664 		if (yych <= '-') goto yy619;
10665 		goto yy566;
10666 	} else {
10667 		if (yych <= '/') goto yy56;
10668 		if (yych <= '9') goto yy582;
10669 		goto yy56;
10670 	}
10671 yy581:
10672 	YYDEBUG(581, *YYCURSOR);
10673 	yych = *++YYCURSOR;
10674 	if (yych <= '.') {
10675 		if (yych <= ',') goto yy56;
10676 		if (yych <= '-') goto yy619;
10677 		goto yy566;
10678 	} else {
10679 		if (yych <= '/') goto yy56;
10680 		if (yych >= '3') goto yy56;
10681 	}
10682 yy582:
10683 	YYDEBUG(582, *YYCURSOR);
10684 	yych = *++YYCURSOR;
10685 	if (yych <= ',') goto yy56;
10686 	if (yych <= '-') goto yy619;
10687 	if (yych <= '.') goto yy566;
10688 	goto yy56;
10689 yy583:
10690 	YYDEBUG(583, *YYCURSOR);
10691 	yych = *++YYCURSOR;
10692 	if (yych <= 'U') {
10693 		if (yych == 'A') goto yy615;
10694 		if (yych <= 'T') goto yy56;
10695 		goto yy614;
10696 	} else {
10697 		if (yych <= 'a') {
10698 			if (yych <= '`') goto yy56;
10699 			goto yy615;
10700 		} else {
10701 			if (yych == 'u') goto yy614;
10702 			goto yy56;
10703 		}
10704 	}
10705 yy584:
10706 	YYDEBUG(584, *YYCURSOR);
10707 	yych = *++YYCURSOR;
10708 	if (yych == 'E') goto yy612;
10709 	if (yych == 'e') goto yy612;
10710 	goto yy56;
10711 yy585:
10712 	YYDEBUG(585, *YYCURSOR);
10713 	yych = *++YYCURSOR;
10714 	if (yych == 'A') goto yy609;
10715 	if (yych == 'a') goto yy609;
10716 	goto yy56;
10717 yy586:
10718 	YYDEBUG(586, *YYCURSOR);
10719 	yych = *++YYCURSOR;
10720 	if (yych <= 'U') {
10721 		if (yych == 'P') goto yy606;
10722 		if (yych <= 'T') goto yy56;
10723 		goto yy605;
10724 	} else {
10725 		if (yych <= 'p') {
10726 			if (yych <= 'o') goto yy56;
10727 			goto yy606;
10728 		} else {
10729 			if (yych == 'u') goto yy605;
10730 			goto yy56;
10731 		}
10732 	}
10733 yy587:
10734 	YYDEBUG(587, *YYCURSOR);
10735 	yych = *++YYCURSOR;
10736 	if (yych == 'E') goto yy602;
10737 	if (yych == 'e') goto yy602;
10738 	goto yy56;
10739 yy588:
10740 	YYDEBUG(588, *YYCURSOR);
10741 	yych = *++YYCURSOR;
10742 	if (yych == 'C') goto yy600;
10743 	if (yych == 'c') goto yy600;
10744 	goto yy56;
10745 yy589:
10746 	YYDEBUG(589, *YYCURSOR);
10747 	yych = *++YYCURSOR;
10748 	if (yych == 'O') goto yy598;
10749 	if (yych == 'o') goto yy598;
10750 	goto yy56;
10751 yy590:
10752 	YYDEBUG(590, *YYCURSOR);
10753 	yych = *++YYCURSOR;
10754 	if (yych == 'E') goto yy591;
10755 	if (yych != 'e') goto yy56;
10756 yy591:
10757 	YYDEBUG(591, *YYCURSOR);
10758 	yych = *++YYCURSOR;
10759 	if (yych == 'C') goto yy592;
10760 	if (yych != 'c') goto yy56;
10761 yy592:
10762 	YYDEBUG(592, *YYCURSOR);
10763 	yyaccept = 9;
10764 	yych = *(YYMARKER = ++YYCURSOR);
10765 	if (yych <= '.') {
10766 		if (yych <= 0x1F) {
10767 			if (yych == '\t') goto yy496;
10768 			goto yy440;
10769 		} else {
10770 			if (yych <= ' ') goto yy496;
10771 			if (yych <= ',') goto yy440;
10772 			if (yych >= '.') goto yy496;
10773 		}
10774 	} else {
10775 		if (yych <= 'D') {
10776 			if (yych <= '/') goto yy440;
10777 			if (yych <= '9') goto yy498;
10778 			goto yy440;
10779 		} else {
10780 			if (yych <= 'E') goto yy545;
10781 			if (yych == 'e') goto yy545;
10782 			goto yy440;
10783 		}
10784 	}
10785 yy593:
10786 	YYDEBUG(593, *YYCURSOR);
10787 	yych = *++YYCURSOR;
10788 	if (yych <= '/') goto yy497;
10789 	if (yych <= '0') goto yy594;
10790 	if (yych <= '2') goto yy595;
10791 	if (yych <= '3') goto yy596;
10792 	goto yy497;
10793 yy594:
10794 	YYDEBUG(594, *YYCURSOR);
10795 	yych = *++YYCURSOR;
10796 	if (yych <= '/') goto yy499;
10797 	if (yych <= '9') goto yy597;
10798 	goto yy499;
10799 yy595:
10800 	YYDEBUG(595, *YYCURSOR);
10801 	yych = *++YYCURSOR;
10802 	if (yych <= '/') goto yy499;
10803 	if (yych <= '9') goto yy597;
10804 	goto yy499;
10805 yy596:
10806 	YYDEBUG(596, *YYCURSOR);
10807 	yych = *++YYCURSOR;
10808 	if (yych <= '/') goto yy499;
10809 	if (yych <= '1') goto yy597;
10810 	if (yych <= '9') goto yy505;
10811 	goto yy499;
10812 yy597:
10813 	YYDEBUG(597, *YYCURSOR);
10814 	yych = *++YYCURSOR;
10815 	if (yych <= '/') goto yy499;
10816 	if (yych <= '9') goto yy506;
10817 	goto yy499;
10818 yy598:
10819 	YYDEBUG(598, *YYCURSOR);
10820 	yych = *++YYCURSOR;
10821 	if (yych == 'V') goto yy599;
10822 	if (yych != 'v') goto yy56;
10823 yy599:
10824 	YYDEBUG(599, *YYCURSOR);
10825 	yyaccept = 9;
10826 	yych = *(YYMARKER = ++YYCURSOR);
10827 	if (yych <= '.') {
10828 		if (yych <= 0x1F) {
10829 			if (yych == '\t') goto yy496;
10830 			goto yy440;
10831 		} else {
10832 			if (yych <= ' ') goto yy496;
10833 			if (yych <= ',') goto yy440;
10834 			if (yych <= '-') goto yy593;
10835 			goto yy496;
10836 		}
10837 	} else {
10838 		if (yych <= 'D') {
10839 			if (yych <= '/') goto yy440;
10840 			if (yych <= '9') goto yy498;
10841 			goto yy440;
10842 		} else {
10843 			if (yych <= 'E') goto yy500;
10844 			if (yych == 'e') goto yy500;
10845 			goto yy440;
10846 		}
10847 	}
10848 yy600:
10849 	YYDEBUG(600, *YYCURSOR);
10850 	yych = *++YYCURSOR;
10851 	if (yych == 'T') goto yy601;
10852 	if (yych != 't') goto yy56;
10853 yy601:
10854 	YYDEBUG(601, *YYCURSOR);
10855 	yyaccept = 9;
10856 	yych = *(YYMARKER = ++YYCURSOR);
10857 	if (yych <= '.') {
10858 		if (yych <= 0x1F) {
10859 			if (yych == '\t') goto yy496;
10860 			goto yy440;
10861 		} else {
10862 			if (yych <= ' ') goto yy496;
10863 			if (yych <= ',') goto yy440;
10864 			if (yych <= '-') goto yy593;
10865 			goto yy496;
10866 		}
10867 	} else {
10868 		if (yych <= 'N') {
10869 			if (yych <= '/') goto yy440;
10870 			if (yych <= '9') goto yy498;
10871 			goto yy440;
10872 		} else {
10873 			if (yych <= 'O') goto yy510;
10874 			if (yych == 'o') goto yy510;
10875 			goto yy440;
10876 		}
10877 	}
10878 yy602:
10879 	YYDEBUG(602, *YYCURSOR);
10880 	yych = *++YYCURSOR;
10881 	if (yych == 'P') goto yy603;
10882 	if (yych != 'p') goto yy56;
10883 yy603:
10884 	YYDEBUG(603, *YYCURSOR);
10885 	yyaccept = 9;
10886 	yych = *(YYMARKER = ++YYCURSOR);
10887 	if (yych <= '.') {
10888 		if (yych <= 0x1F) {
10889 			if (yych == '\t') goto yy496;
10890 			goto yy440;
10891 		} else {
10892 			if (yych <= ' ') goto yy496;
10893 			if (yych <= ',') goto yy440;
10894 			if (yych <= '-') goto yy593;
10895 			goto yy496;
10896 		}
10897 	} else {
10898 		if (yych <= 'S') {
10899 			if (yych <= '/') goto yy440;
10900 			if (yych <= '9') goto yy498;
10901 			goto yy440;
10902 		} else {
10903 			if (yych <= 'T') goto yy604;
10904 			if (yych != 't') goto yy440;
10905 		}
10906 	}
10907 yy604:
10908 	YYDEBUG(604, *YYCURSOR);
10909 	yyaccept = 9;
10910 	yych = *(YYMARKER = ++YYCURSOR);
10911 	if (yych <= '.') {
10912 		if (yych <= 0x1F) {
10913 			if (yych == '\t') goto yy496;
10914 			goto yy440;
10915 		} else {
10916 			if (yych <= ' ') goto yy496;
10917 			if (yych <= ',') goto yy440;
10918 			if (yych <= '-') goto yy593;
10919 			goto yy496;
10920 		}
10921 	} else {
10922 		if (yych <= 'D') {
10923 			if (yych <= '/') goto yy440;
10924 			if (yych <= '9') goto yy498;
10925 			goto yy440;
10926 		} else {
10927 			if (yych <= 'E') goto yy552;
10928 			if (yych == 'e') goto yy552;
10929 			goto yy440;
10930 		}
10931 	}
10932 yy605:
10933 	YYDEBUG(605, *YYCURSOR);
10934 	yych = *++YYCURSOR;
10935 	if (yych == 'G') goto yy608;
10936 	if (yych == 'g') goto yy608;
10937 	goto yy56;
10938 yy606:
10939 	YYDEBUG(606, *YYCURSOR);
10940 	yych = *++YYCURSOR;
10941 	if (yych == 'R') goto yy607;
10942 	if (yych != 'r') goto yy56;
10943 yy607:
10944 	YYDEBUG(607, *YYCURSOR);
10945 	yyaccept = 9;
10946 	yych = *(YYMARKER = ++YYCURSOR);
10947 	if (yych <= '.') {
10948 		if (yych <= 0x1F) {
10949 			if (yych == '\t') goto yy496;
10950 			goto yy440;
10951 		} else {
10952 			if (yych <= ' ') goto yy496;
10953 			if (yych <= ',') goto yy440;
10954 			if (yych <= '-') goto yy593;
10955 			goto yy496;
10956 		}
10957 	} else {
10958 		if (yych <= 'H') {
10959 			if (yych <= '/') goto yy440;
10960 			if (yych <= '9') goto yy498;
10961 			goto yy440;
10962 		} else {
10963 			if (yych <= 'I') goto yy516;
10964 			if (yych == 'i') goto yy516;
10965 			goto yy440;
10966 		}
10967 	}
10968 yy608:
10969 	YYDEBUG(608, *YYCURSOR);
10970 	yyaccept = 9;
10971 	yych = *(YYMARKER = ++YYCURSOR);
10972 	if (yych <= '.') {
10973 		if (yych <= 0x1F) {
10974 			if (yych == '\t') goto yy496;
10975 			goto yy440;
10976 		} else {
10977 			if (yych <= ' ') goto yy496;
10978 			if (yych <= ',') goto yy440;
10979 			if (yych <= '-') goto yy593;
10980 			goto yy496;
10981 		}
10982 	} else {
10983 		if (yych <= 'T') {
10984 			if (yych <= '/') goto yy440;
10985 			if (yych <= '9') goto yy498;
10986 			goto yy440;
10987 		} else {
10988 			if (yych <= 'U') goto yy518;
10989 			if (yych == 'u') goto yy518;
10990 			goto yy440;
10991 		}
10992 	}
10993 yy609:
10994 	YYDEBUG(609, *YYCURSOR);
10995 	yych = *++YYCURSOR;
10996 	if (yych <= 'Y') {
10997 		if (yych == 'R') goto yy610;
10998 		if (yych <= 'X') goto yy56;
10999 		goto yy611;
11000 	} else {
11001 		if (yych <= 'r') {
11002 			if (yych <= 'q') goto yy56;
11003 		} else {
11004 			if (yych == 'y') goto yy611;
11005 			goto yy56;
11006 		}
11007 	}
11008 yy610:
11009 	YYDEBUG(610, *YYCURSOR);
11010 	yyaccept = 9;
11011 	yych = *(YYMARKER = ++YYCURSOR);
11012 	if (yych <= '.') {
11013 		if (yych <= 0x1F) {
11014 			if (yych == '\t') goto yy496;
11015 			goto yy440;
11016 		} else {
11017 			if (yych <= ' ') goto yy496;
11018 			if (yych <= ',') goto yy440;
11019 			if (yych <= '-') goto yy593;
11020 			goto yy496;
11021 		}
11022 	} else {
11023 		if (yych <= 'B') {
11024 			if (yych <= '/') goto yy440;
11025 			if (yych <= '9') goto yy498;
11026 			goto yy440;
11027 		} else {
11028 			if (yych <= 'C') goto yy558;
11029 			if (yych == 'c') goto yy558;
11030 			goto yy440;
11031 		}
11032 	}
11033 yy611:
11034 	YYDEBUG(611, *YYCURSOR);
11035 	yyaccept = 9;
11036 	yych = *(YYMARKER = ++YYCURSOR);
11037 	if (yych <= ',') {
11038 		if (yych <= '\t') {
11039 			if (yych <= 0x08) goto yy440;
11040 			goto yy496;
11041 		} else {
11042 			if (yych == ' ') goto yy496;
11043 			goto yy440;
11044 		}
11045 	} else {
11046 		if (yych <= '.') {
11047 			if (yych <= '-') goto yy593;
11048 			goto yy496;
11049 		} else {
11050 			if (yych <= '/') goto yy440;
11051 			if (yych <= '9') goto yy498;
11052 			goto yy440;
11053 		}
11054 	}
11055 yy612:
11056 	YYDEBUG(612, *YYCURSOR);
11057 	yych = *++YYCURSOR;
11058 	if (yych == 'B') goto yy613;
11059 	if (yych != 'b') goto yy56;
11060 yy613:
11061 	YYDEBUG(613, *YYCURSOR);
11062 	yyaccept = 9;
11063 	yych = *(YYMARKER = ++YYCURSOR);
11064 	if (yych <= '.') {
11065 		if (yych <= 0x1F) {
11066 			if (yych == '\t') goto yy496;
11067 			goto yy440;
11068 		} else {
11069 			if (yych <= ' ') goto yy496;
11070 			if (yych <= ',') goto yy440;
11071 			if (yych <= '-') goto yy593;
11072 			goto yy496;
11073 		}
11074 	} else {
11075 		if (yych <= 'Q') {
11076 			if (yych <= '/') goto yy440;
11077 			if (yych <= '9') goto yy498;
11078 			goto yy440;
11079 		} else {
11080 			if (yych <= 'R') goto yy561;
11081 			if (yych == 'r') goto yy561;
11082 			goto yy440;
11083 		}
11084 	}
11085 yy614:
11086 	YYDEBUG(614, *YYCURSOR);
11087 	yych = *++YYCURSOR;
11088 	if (yych <= 'N') {
11089 		if (yych == 'L') goto yy618;
11090 		if (yych <= 'M') goto yy56;
11091 		goto yy617;
11092 	} else {
11093 		if (yych <= 'l') {
11094 			if (yych <= 'k') goto yy56;
11095 			goto yy618;
11096 		} else {
11097 			if (yych == 'n') goto yy617;
11098 			goto yy56;
11099 		}
11100 	}
11101 yy615:
11102 	YYDEBUG(615, *YYCURSOR);
11103 	yych = *++YYCURSOR;
11104 	if (yych == 'N') goto yy616;
11105 	if (yych != 'n') goto yy56;
11106 yy616:
11107 	YYDEBUG(616, *YYCURSOR);
11108 	yyaccept = 9;
11109 	yych = *(YYMARKER = ++YYCURSOR);
11110 	if (yych <= '.') {
11111 		if (yych <= 0x1F) {
11112 			if (yych == '\t') goto yy496;
11113 			goto yy440;
11114 		} else {
11115 			if (yych <= ' ') goto yy496;
11116 			if (yych <= ',') goto yy440;
11117 			if (yych <= '-') goto yy593;
11118 			goto yy496;
11119 		}
11120 	} else {
11121 		if (yych <= 'T') {
11122 			if (yych <= '/') goto yy440;
11123 			if (yych <= '9') goto yy498;
11124 			goto yy440;
11125 		} else {
11126 			if (yych <= 'U') goto yy523;
11127 			if (yych == 'u') goto yy523;
11128 			goto yy440;
11129 		}
11130 	}
11131 yy617:
11132 	YYDEBUG(617, *YYCURSOR);
11133 	yyaccept = 9;
11134 	yych = *(YYMARKER = ++YYCURSOR);
11135 	if (yych <= '.') {
11136 		if (yych <= 0x1F) {
11137 			if (yych == '\t') goto yy496;
11138 			goto yy440;
11139 		} else {
11140 			if (yych <= ' ') goto yy496;
11141 			if (yych <= ',') goto yy440;
11142 			if (yych <= '-') goto yy593;
11143 			goto yy496;
11144 		}
11145 	} else {
11146 		if (yych <= 'D') {
11147 			if (yych <= '/') goto yy440;
11148 			if (yych <= '9') goto yy498;
11149 			goto yy440;
11150 		} else {
11151 			if (yych <= 'E') goto yy504;
11152 			if (yych == 'e') goto yy504;
11153 			goto yy440;
11154 		}
11155 	}
11156 yy618:
11157 	YYDEBUG(618, *YYCURSOR);
11158 	yyaccept = 9;
11159 	yych = *(YYMARKER = ++YYCURSOR);
11160 	if (yych <= '.') {
11161 		if (yych <= 0x1F) {
11162 			if (yych == '\t') goto yy496;
11163 			goto yy440;
11164 		} else {
11165 			if (yych <= ' ') goto yy496;
11166 			if (yych <= ',') goto yy440;
11167 			if (yych <= '-') goto yy593;
11168 			goto yy496;
11169 		}
11170 	} else {
11171 		if (yych <= 'X') {
11172 			if (yych <= '/') goto yy440;
11173 			if (yych <= '9') goto yy498;
11174 			goto yy440;
11175 		} else {
11176 			if (yych <= 'Y') goto yy504;
11177 			if (yych == 'y') goto yy504;
11178 			goto yy440;
11179 		}
11180 	}
11181 yy619:
11182 	YYDEBUG(619, *YYCURSOR);
11183 	yych = *++YYCURSOR;
11184 	if (yych <= '/') goto yy56;
11185 	if (yych <= '2') goto yy620;
11186 	if (yych <= '3') goto yy622;
11187 	if (yych <= '9') goto yy623;
11188 	goto yy56;
11189 yy620:
11190 	YYDEBUG(620, *YYCURSOR);
11191 	yyaccept = 12;
11192 	yych = *(YYMARKER = ++YYCURSOR);
11193 	if (yych <= 'n') {
11194 		if (yych <= '/') goto yy621;
11195 		if (yych <= '9') goto yy629;
11196 		if (yych >= 'n') goto yy625;
11197 	} else {
11198 		if (yych <= 'r') {
11199 			if (yych >= 'r') goto yy626;
11200 		} else {
11201 			if (yych <= 's') goto yy624;
11202 			if (yych <= 't') goto yy627;
11203 		}
11204 	}
11205 yy621:
11206 	YYDEBUG(621, *YYCURSOR);
11207 #line 1326 "ext/date/lib/parse_date.re"
11208 	{
11209 		int length = 0;
11210 		DEBUG_OUTPUT("gnudateshort");
11211 		TIMELIB_INIT;
11212 		TIMELIB_HAVE_DATE();
11213 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
11214 		s->time->m = timelib_get_nr((char **) &ptr, 2);
11215 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11216 		TIMELIB_PROCESS_YEAR(s->time->y, length);
11217 		TIMELIB_DEINIT;
11218 		return TIMELIB_ISO_DATE;
11219 	}
11220 #line 11221 "<stdout>"
11221 yy622:
11222 	YYDEBUG(622, *YYCURSOR);
11223 	yyaccept = 12;
11224 	yych = *(YYMARKER = ++YYCURSOR);
11225 	if (yych <= 'n') {
11226 		if (yych <= '1') {
11227 			if (yych <= '/') goto yy621;
11228 			goto yy629;
11229 		} else {
11230 			if (yych <= '9') goto yy568;
11231 			if (yych <= 'm') goto yy621;
11232 			goto yy625;
11233 		}
11234 	} else {
11235 		if (yych <= 'r') {
11236 			if (yych <= 'q') goto yy621;
11237 			goto yy626;
11238 		} else {
11239 			if (yych <= 's') goto yy624;
11240 			if (yych <= 't') goto yy627;
11241 			goto yy621;
11242 		}
11243 	}
11244 yy623:
11245 	YYDEBUG(623, *YYCURSOR);
11246 	yyaccept = 12;
11247 	yych = *(YYMARKER = ++YYCURSOR);
11248 	if (yych <= 'n') {
11249 		if (yych <= '/') goto yy621;
11250 		if (yych <= '9') goto yy568;
11251 		if (yych <= 'm') goto yy621;
11252 		goto yy625;
11253 	} else {
11254 		if (yych <= 'r') {
11255 			if (yych <= 'q') goto yy621;
11256 			goto yy626;
11257 		} else {
11258 			if (yych <= 's') goto yy624;
11259 			if (yych <= 't') goto yy627;
11260 			goto yy621;
11261 		}
11262 	}
11263 yy624:
11264 	YYDEBUG(624, *YYCURSOR);
11265 	yych = *++YYCURSOR;
11266 	if (yych == 't') goto yy628;
11267 	goto yy56;
11268 yy625:
11269 	YYDEBUG(625, *YYCURSOR);
11270 	yych = *++YYCURSOR;
11271 	if (yych == 'd') goto yy628;
11272 	goto yy56;
11273 yy626:
11274 	YYDEBUG(626, *YYCURSOR);
11275 	yych = *++YYCURSOR;
11276 	if (yych == 'd') goto yy628;
11277 	goto yy56;
11278 yy627:
11279 	YYDEBUG(627, *YYCURSOR);
11280 	yych = *++YYCURSOR;
11281 	if (yych != 'h') goto yy56;
11282 yy628:
11283 	YYDEBUG(628, *YYCURSOR);
11284 	yych = *++YYCURSOR;
11285 	goto yy621;
11286 yy629:
11287 	YYDEBUG(629, *YYCURSOR);
11288 	yyaccept = 12;
11289 	yych = *(YYMARKER = ++YYCURSOR);
11290 	if (yych <= 'n') {
11291 		if (yych <= '/') goto yy621;
11292 		if (yych <= '9') goto yy569;
11293 		if (yych <= 'm') goto yy621;
11294 		goto yy625;
11295 	} else {
11296 		if (yych <= 'r') {
11297 			if (yych <= 'q') goto yy621;
11298 			goto yy626;
11299 		} else {
11300 			if (yych <= 's') goto yy624;
11301 			if (yych <= 't') goto yy627;
11302 			goto yy621;
11303 		}
11304 	}
11305 yy630:
11306 	YYDEBUG(630, *YYCURSOR);
11307 	yyaccept = 13;
11308 	yych = *(YYMARKER = ++YYCURSOR);
11309 	if (yych <= 'n') {
11310 		if (yych <= '/') {
11311 			if (yych >= '/') goto yy687;
11312 		} else {
11313 			if (yych <= '9') goto yy633;
11314 			if (yych >= 'n') goto yy684;
11315 		}
11316 	} else {
11317 		if (yych <= 'r') {
11318 			if (yych >= 'r') goto yy685;
11319 		} else {
11320 			if (yych <= 's') goto yy683;
11321 			if (yych <= 't') goto yy686;
11322 		}
11323 	}
11324 yy631:
11325 	YYDEBUG(631, *YYCURSOR);
11326 #line 1270 "ext/date/lib/parse_date.re"
11327 	{
11328 		int length = 0;
11329 		DEBUG_OUTPUT("americanshort | american");
11330 		TIMELIB_INIT;
11331 		TIMELIB_HAVE_DATE();
11332 		s->time->m = timelib_get_nr((char **) &ptr, 2);
11333 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11334 		if (*ptr == '/') {
11335 			s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
11336 			TIMELIB_PROCESS_YEAR(s->time->y, length);
11337 		}
11338 		TIMELIB_DEINIT;
11339 		return TIMELIB_AMERICAN;
11340 	}
11341 #line 11342 "<stdout>"
11342 yy632:
11343 	YYDEBUG(632, *YYCURSOR);
11344 	yyaccept = 13;
11345 	yych = *(YYMARKER = ++YYCURSOR);
11346 	if (yych <= 'n') {
11347 		if (yych <= '/') {
11348 			if (yych <= '.') goto yy631;
11349 			goto yy687;
11350 		} else {
11351 			if (yych <= '1') goto yy633;
11352 			if (yych <= 'm') goto yy631;
11353 			goto yy684;
11354 		}
11355 	} else {
11356 		if (yych <= 'r') {
11357 			if (yych <= 'q') goto yy631;
11358 			goto yy685;
11359 		} else {
11360 			if (yych <= 's') goto yy683;
11361 			if (yych <= 't') goto yy686;
11362 			goto yy631;
11363 		}
11364 	}
11365 yy633:
11366 	YYDEBUG(633, *YYCURSOR);
11367 	yyaccept = 13;
11368 	yych = *(YYMARKER = ++YYCURSOR);
11369 	if (yych <= 'n') {
11370 		if (yych == '/') goto yy687;
11371 		if (yych <= 'm') goto yy631;
11372 		goto yy684;
11373 	} else {
11374 		if (yych <= 'r') {
11375 			if (yych <= 'q') goto yy631;
11376 			goto yy685;
11377 		} else {
11378 			if (yych <= 's') goto yy683;
11379 			if (yych <= 't') goto yy686;
11380 			goto yy631;
11381 		}
11382 	}
11383 yy634:
11384 	YYDEBUG(634, *YYCURSOR);
11385 	yych = *++YYCURSOR;
11386 	if (yych <= 'U') {
11387 		if (yych == 'A') goto yy682;
11388 		if (yych <= 'T') goto yy56;
11389 		goto yy681;
11390 	} else {
11391 		if (yych <= 'a') {
11392 			if (yych <= '`') goto yy56;
11393 			goto yy682;
11394 		} else {
11395 			if (yych == 'u') goto yy681;
11396 			goto yy56;
11397 		}
11398 	}
11399 yy635:
11400 	YYDEBUG(635, *YYCURSOR);
11401 	yych = *++YYCURSOR;
11402 	if (yych == 'E') goto yy680;
11403 	if (yych == 'e') goto yy680;
11404 	goto yy56;
11405 yy636:
11406 	YYDEBUG(636, *YYCURSOR);
11407 	yych = *++YYCURSOR;
11408 	if (yych == 'A') goto yy679;
11409 	if (yych == 'a') goto yy679;
11410 	goto yy56;
11411 yy637:
11412 	YYDEBUG(637, *YYCURSOR);
11413 	yych = *++YYCURSOR;
11414 	if (yych <= 'U') {
11415 		if (yych == 'P') goto yy678;
11416 		if (yych <= 'T') goto yy56;
11417 		goto yy677;
11418 	} else {
11419 		if (yych <= 'p') {
11420 			if (yych <= 'o') goto yy56;
11421 			goto yy678;
11422 		} else {
11423 			if (yych == 'u') goto yy677;
11424 			goto yy56;
11425 		}
11426 	}
11427 yy638:
11428 	YYDEBUG(638, *YYCURSOR);
11429 	yych = *++YYCURSOR;
11430 	if (yych == 'E') goto yy675;
11431 	if (yych == 'e') goto yy675;
11432 	goto yy56;
11433 yy639:
11434 	YYDEBUG(639, *YYCURSOR);
11435 	yych = *++YYCURSOR;
11436 	if (yych == 'C') goto yy674;
11437 	if (yych == 'c') goto yy674;
11438 	goto yy56;
11439 yy640:
11440 	YYDEBUG(640, *YYCURSOR);
11441 	yych = *++YYCURSOR;
11442 	if (yych == 'O') goto yy673;
11443 	if (yych == 'o') goto yy673;
11444 	goto yy56;
11445 yy641:
11446 	YYDEBUG(641, *YYCURSOR);
11447 	yych = *++YYCURSOR;
11448 	if (yych == 'E') goto yy642;
11449 	if (yych != 'e') goto yy56;
11450 yy642:
11451 	YYDEBUG(642, *YYCURSOR);
11452 	yych = *++YYCURSOR;
11453 	if (yych == 'C') goto yy643;
11454 	if (yych != 'c') goto yy56;
11455 yy643:
11456 	YYDEBUG(643, *YYCURSOR);
11457 	yych = *++YYCURSOR;
11458 	if (yych != '/') goto yy56;
11459 yy644:
11460 	YYDEBUG(644, *YYCURSOR);
11461 	yych = *++YYCURSOR;
11462 	if (yych <= '/') goto yy56;
11463 	if (yych >= ':') goto yy56;
11464 	YYDEBUG(645, *YYCURSOR);
11465 	yych = *++YYCURSOR;
11466 	if (yych <= '/') goto yy56;
11467 	if (yych >= ':') goto yy56;
11468 	YYDEBUG(646, *YYCURSOR);
11469 	yych = *++YYCURSOR;
11470 	if (yych <= '/') goto yy56;
11471 	if (yych >= ':') goto yy56;
11472 	YYDEBUG(647, *YYCURSOR);
11473 	yych = *++YYCURSOR;
11474 	if (yych <= '/') goto yy56;
11475 	if (yych >= ':') goto yy56;
11476 	YYDEBUG(648, *YYCURSOR);
11477 	yych = *++YYCURSOR;
11478 	if (yych != ':') goto yy56;
11479 	YYDEBUG(649, *YYCURSOR);
11480 	yych = *++YYCURSOR;
11481 	if (yych <= '/') goto yy56;
11482 	if (yych <= '1') goto yy650;
11483 	if (yych <= '2') goto yy651;
11484 	goto yy56;
11485 yy650:
11486 	YYDEBUG(650, *YYCURSOR);
11487 	yych = *++YYCURSOR;
11488 	if (yych <= '/') goto yy56;
11489 	if (yych <= '9') goto yy652;
11490 	goto yy56;
11491 yy651:
11492 	YYDEBUG(651, *YYCURSOR);
11493 	yych = *++YYCURSOR;
11494 	if (yych <= '/') goto yy56;
11495 	if (yych >= '5') goto yy56;
11496 yy652:
11497 	YYDEBUG(652, *YYCURSOR);
11498 	yych = *++YYCURSOR;
11499 	if (yych != ':') goto yy56;
11500 	YYDEBUG(653, *YYCURSOR);
11501 	yych = *++YYCURSOR;
11502 	if (yych <= '/') goto yy56;
11503 	if (yych >= '6') goto yy56;
11504 	YYDEBUG(654, *YYCURSOR);
11505 	yych = *++YYCURSOR;
11506 	if (yych <= '/') goto yy56;
11507 	if (yych >= ':') goto yy56;
11508 	YYDEBUG(655, *YYCURSOR);
11509 	yych = *++YYCURSOR;
11510 	if (yych != ':') goto yy56;
11511 	YYDEBUG(656, *YYCURSOR);
11512 	yych = *++YYCURSOR;
11513 	if (yych <= '/') goto yy56;
11514 	if (yych <= '5') goto yy657;
11515 	if (yych <= '6') goto yy658;
11516 	goto yy56;
11517 yy657:
11518 	YYDEBUG(657, *YYCURSOR);
11519 	yych = *++YYCURSOR;
11520 	if (yych <= '/') goto yy56;
11521 	if (yych <= '9') goto yy659;
11522 	goto yy56;
11523 yy658:
11524 	YYDEBUG(658, *YYCURSOR);
11525 	yych = *++YYCURSOR;
11526 	if (yych != '0') goto yy56;
11527 yy659:
11528 	YYDEBUG(659, *YYCURSOR);
11529 	yych = *++YYCURSOR;
11530 	if (yych == '\t') goto yy660;
11531 	if (yych != ' ') goto yy56;
11532 yy660:
11533 	YYDEBUG(660, *YYCURSOR);
11534 	++YYCURSOR;
11535 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
11536 	yych = *YYCURSOR;
11537 	YYDEBUG(661, *YYCURSOR);
11538 	if (yych <= '*') {
11539 		if (yych <= '\t') {
11540 			if (yych <= 0x08) goto yy56;
11541 			goto yy660;
11542 		} else {
11543 			if (yych == ' ') goto yy660;
11544 			goto yy56;
11545 		}
11546 	} else {
11547 		if (yych <= '-') {
11548 			if (yych == ',') goto yy56;
11549 			goto yy663;
11550 		} else {
11551 			if (yych != 'G') goto yy56;
11552 		}
11553 	}
11554 	YYDEBUG(662, *YYCURSOR);
11555 	yych = *++YYCURSOR;
11556 	if (yych == 'M') goto yy671;
11557 	goto yy56;
11558 yy663:
11559 	YYDEBUG(663, *YYCURSOR);
11560 	yych = *++YYCURSOR;
11561 	if (yych <= '/') goto yy56;
11562 	if (yych <= '1') goto yy664;
11563 	if (yych <= '2') goto yy666;
11564 	if (yych <= '9') goto yy667;
11565 	goto yy56;
11566 yy664:
11567 	YYDEBUG(664, *YYCURSOR);
11568 	++YYCURSOR;
11569 	if ((yych = *YYCURSOR) <= '/') goto yy665;
11570 	if (yych <= '9') goto yy667;
11571 	if (yych <= ':') goto yy668;
11572 yy665:
11573 	YYDEBUG(665, *YYCURSOR);
11574 #line 1553 "ext/date/lib/parse_date.re"
11575 	{
11576 		int tz_not_found;
11577 		DEBUG_OUTPUT("clf");
11578 		TIMELIB_INIT;
11579 		TIMELIB_HAVE_TIME();
11580 		TIMELIB_HAVE_DATE();
11581 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11582 		s->time->m = timelib_get_month((char **) &ptr);
11583 		s->time->y = timelib_get_nr((char **) &ptr, 4);
11584 		s->time->h = timelib_get_nr((char **) &ptr, 2);
11585 		s->time->i = timelib_get_nr((char **) &ptr, 2);
11586 		s->time->s = timelib_get_nr((char **) &ptr, 2);
11587 		s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
11588 		if (tz_not_found) {
11589 			add_error(s, "The timezone could not be found in the database");
11590 		}
11591 		TIMELIB_DEINIT;
11592 		return TIMELIB_CLF;
11593 	}
11594 #line 11595 "<stdout>"
11595 yy666:
11596 	YYDEBUG(666, *YYCURSOR);
11597 	yych = *++YYCURSOR;
11598 	if (yych <= '5') {
11599 		if (yych <= '/') goto yy665;
11600 		if (yych >= '5') goto yy669;
11601 	} else {
11602 		if (yych <= '9') goto yy670;
11603 		if (yych <= ':') goto yy668;
11604 		goto yy665;
11605 	}
11606 yy667:
11607 	YYDEBUG(667, *YYCURSOR);
11608 	yych = *++YYCURSOR;
11609 	if (yych <= '/') goto yy665;
11610 	if (yych <= '5') goto yy669;
11611 	if (yych <= '9') goto yy670;
11612 	if (yych >= ';') goto yy665;
11613 yy668:
11614 	YYDEBUG(668, *YYCURSOR);
11615 	yych = *++YYCURSOR;
11616 	if (yych <= '/') goto yy665;
11617 	if (yych <= '5') goto yy669;
11618 	if (yych <= '9') goto yy670;
11619 	goto yy665;
11620 yy669:
11621 	YYDEBUG(669, *YYCURSOR);
11622 	yych = *++YYCURSOR;
11623 	if (yych <= '/') goto yy665;
11624 	if (yych >= ':') goto yy665;
11625 yy670:
11626 	YYDEBUG(670, *YYCURSOR);
11627 	yych = *++YYCURSOR;
11628 	goto yy665;
11629 yy671:
11630 	YYDEBUG(671, *YYCURSOR);
11631 	yych = *++YYCURSOR;
11632 	if (yych != 'T') goto yy56;
11633 	YYDEBUG(672, *YYCURSOR);
11634 	yych = *++YYCURSOR;
11635 	if (yych == '+') goto yy663;
11636 	if (yych == '-') goto yy663;
11637 	goto yy56;
11638 yy673:
11639 	YYDEBUG(673, *YYCURSOR);
11640 	yych = *++YYCURSOR;
11641 	if (yych == 'V') goto yy643;
11642 	if (yych == 'v') goto yy643;
11643 	goto yy56;
11644 yy674:
11645 	YYDEBUG(674, *YYCURSOR);
11646 	yych = *++YYCURSOR;
11647 	if (yych == 'T') goto yy643;
11648 	if (yych == 't') goto yy643;
11649 	goto yy56;
11650 yy675:
11651 	YYDEBUG(675, *YYCURSOR);
11652 	yych = *++YYCURSOR;
11653 	if (yych == 'P') goto yy676;
11654 	if (yych != 'p') goto yy56;
11655 yy676:
11656 	YYDEBUG(676, *YYCURSOR);
11657 	yych = *++YYCURSOR;
11658 	if (yych <= 'S') {
11659 		if (yych == '/') goto yy644;
11660 		goto yy56;
11661 	} else {
11662 		if (yych <= 'T') goto yy643;
11663 		if (yych == 't') goto yy643;
11664 		goto yy56;
11665 	}
11666 yy677:
11667 	YYDEBUG(677, *YYCURSOR);
11668 	yych = *++YYCURSOR;
11669 	if (yych == 'G') goto yy643;
11670 	if (yych == 'g') goto yy643;
11671 	goto yy56;
11672 yy678:
11673 	YYDEBUG(678, *YYCURSOR);
11674 	yych = *++YYCURSOR;
11675 	if (yych == 'R') goto yy643;
11676 	if (yych == 'r') goto yy643;
11677 	goto yy56;
11678 yy679:
11679 	YYDEBUG(679, *YYCURSOR);
11680 	yych = *++YYCURSOR;
11681 	if (yych <= 'Y') {
11682 		if (yych == 'R') goto yy643;
11683 		if (yych <= 'X') goto yy56;
11684 		goto yy643;
11685 	} else {
11686 		if (yych <= 'r') {
11687 			if (yych <= 'q') goto yy56;
11688 			goto yy643;
11689 		} else {
11690 			if (yych == 'y') goto yy643;
11691 			goto yy56;
11692 		}
11693 	}
11694 yy680:
11695 	YYDEBUG(680, *YYCURSOR);
11696 	yych = *++YYCURSOR;
11697 	if (yych == 'B') goto yy643;
11698 	if (yych == 'b') goto yy643;
11699 	goto yy56;
11700 yy681:
11701 	YYDEBUG(681, *YYCURSOR);
11702 	yych = *++YYCURSOR;
11703 	if (yych <= 'N') {
11704 		if (yych == 'L') goto yy643;
11705 		if (yych <= 'M') goto yy56;
11706 		goto yy643;
11707 	} else {
11708 		if (yych <= 'l') {
11709 			if (yych <= 'k') goto yy56;
11710 			goto yy643;
11711 		} else {
11712 			if (yych == 'n') goto yy643;
11713 			goto yy56;
11714 		}
11715 	}
11716 yy682:
11717 	YYDEBUG(682, *YYCURSOR);
11718 	yych = *++YYCURSOR;
11719 	if (yych == 'N') goto yy643;
11720 	if (yych == 'n') goto yy643;
11721 	goto yy56;
11722 yy683:
11723 	YYDEBUG(683, *YYCURSOR);
11724 	yych = *++YYCURSOR;
11725 	if (yych == 't') goto yy692;
11726 	goto yy56;
11727 yy684:
11728 	YYDEBUG(684, *YYCURSOR);
11729 	yych = *++YYCURSOR;
11730 	if (yych == 'd') goto yy692;
11731 	goto yy56;
11732 yy685:
11733 	YYDEBUG(685, *YYCURSOR);
11734 	yych = *++YYCURSOR;
11735 	if (yych == 'd') goto yy692;
11736 	goto yy56;
11737 yy686:
11738 	YYDEBUG(686, *YYCURSOR);
11739 	yych = *++YYCURSOR;
11740 	if (yych == 'h') goto yy692;
11741 	goto yy56;
11742 yy687:
11743 	YYDEBUG(687, *YYCURSOR);
11744 	yych = *++YYCURSOR;
11745 	if (yych <= '/') goto yy56;
11746 	if (yych >= ':') goto yy56;
11747 	YYDEBUG(688, *YYCURSOR);
11748 	yych = *++YYCURSOR;
11749 	if (yych <= '/') goto yy631;
11750 	if (yych >= ':') goto yy631;
11751 	YYDEBUG(689, *YYCURSOR);
11752 	yych = *++YYCURSOR;
11753 	if (yych <= '/') goto yy631;
11754 	if (yych >= ':') goto yy631;
11755 	YYDEBUG(690, *YYCURSOR);
11756 	yych = *++YYCURSOR;
11757 	if (yych <= '/') goto yy631;
11758 	if (yych >= ':') goto yy631;
11759 	YYDEBUG(691, *YYCURSOR);
11760 	yych = *++YYCURSOR;
11761 	goto yy631;
11762 yy692:
11763 	YYDEBUG(692, *YYCURSOR);
11764 	yyaccept = 13;
11765 	yych = *(YYMARKER = ++YYCURSOR);
11766 	if (yych == '/') goto yy687;
11767 	goto yy631;
11768 yy693:
11769 	YYDEBUG(693, *YYCURSOR);
11770 	yych = *++YYCURSOR;
11771 	if (yych <= ',') {
11772 		if (yych == '\t') goto yy695;
11773 		goto yy542;
11774 	} else {
11775 		if (yych <= '-') goto yy696;
11776 		if (yych <= '.') goto yy695;
11777 		if (yych >= '0') goto yy542;
11778 	}
11779 yy694:
11780 	YYDEBUG(694, *YYCURSOR);
11781 	yych = *++YYCURSOR;
11782 	switch (yych) {
11783 	case 'A':
11784 	case 'a':	goto yy637;
11785 	case 'D':
11786 	case 'd':	goto yy641;
11787 	case 'F':
11788 	case 'f':	goto yy635;
11789 	case 'J':
11790 	case 'j':	goto yy634;
11791 	case 'M':
11792 	case 'm':	goto yy636;
11793 	case 'N':
11794 	case 'n':	goto yy640;
11795 	case 'O':
11796 	case 'o':	goto yy639;
11797 	case 'S':
11798 	case 's':	goto yy638;
11799 	default:	goto yy56;
11800 	}
11801 yy695:
11802 	YYDEBUG(695, *YYCURSOR);
11803 	yych = *++YYCURSOR;
11804 	if (yych <= '/') goto yy542;
11805 	if (yych <= '0') goto yy700;
11806 	if (yych <= '1') goto yy701;
11807 	if (yych <= '9') goto yy702;
11808 	goto yy542;
11809 yy696:
11810 	YYDEBUG(696, *YYCURSOR);
11811 	yych = *++YYCURSOR;
11812 	if (yych <= '/') goto yy542;
11813 	if (yych <= '0') goto yy697;
11814 	if (yych <= '1') goto yy698;
11815 	if (yych <= '9') goto yy699;
11816 	goto yy542;
11817 yy697:
11818 	YYDEBUG(697, *YYCURSOR);
11819 	yych = *++YYCURSOR;
11820 	if (yych <= ',') goto yy56;
11821 	if (yych <= '.') goto yy566;
11822 	if (yych <= '/') goto yy56;
11823 	if (yych <= '9') goto yy699;
11824 	goto yy56;
11825 yy698:
11826 	YYDEBUG(698, *YYCURSOR);
11827 	yych = *++YYCURSOR;
11828 	if (yych <= ',') goto yy56;
11829 	if (yych <= '.') goto yy566;
11830 	if (yych <= '/') goto yy56;
11831 	if (yych >= '3') goto yy56;
11832 yy699:
11833 	YYDEBUG(699, *YYCURSOR);
11834 	yych = *++YYCURSOR;
11835 	if (yych <= ',') goto yy56;
11836 	if (yych <= '.') goto yy566;
11837 	goto yy56;
11838 yy700:
11839 	YYDEBUG(700, *YYCURSOR);
11840 	yych = *++YYCURSOR;
11841 	if (yych <= '.') {
11842 		if (yych <= ',') goto yy56;
11843 		if (yych <= '-') goto yy566;
11844 		goto yy703;
11845 	} else {
11846 		if (yych <= '/') goto yy56;
11847 		if (yych <= '9') goto yy702;
11848 		goto yy56;
11849 	}
11850 yy701:
11851 	YYDEBUG(701, *YYCURSOR);
11852 	yych = *++YYCURSOR;
11853 	if (yych <= '.') {
11854 		if (yych <= ',') goto yy56;
11855 		if (yych <= '-') goto yy566;
11856 		goto yy703;
11857 	} else {
11858 		if (yych <= '/') goto yy56;
11859 		if (yych >= '3') goto yy56;
11860 	}
11861 yy702:
11862 	YYDEBUG(702, *YYCURSOR);
11863 	yych = *++YYCURSOR;
11864 	if (yych <= ',') goto yy56;
11865 	if (yych <= '-') goto yy566;
11866 	if (yych >= '/') goto yy56;
11867 yy703:
11868 	YYDEBUG(703, *YYCURSOR);
11869 	yych = *++YYCURSOR;
11870 	if (yych <= '/') goto yy56;
11871 	if (yych >= ':') goto yy56;
11872 	YYDEBUG(704, *YYCURSOR);
11873 	yych = *++YYCURSOR;
11874 	if (yych <= '/') goto yy56;
11875 	if (yych <= '9') goto yy575;
11876 	goto yy56;
11877 yy705:
11878 	YYDEBUG(705, *YYCURSOR);
11879 	yych = *++YYCURSOR;
11880 	if (yych == '-') goto yy749;
11881 	if (yych <= '/') goto yy60;
11882 	if (yych <= '9') goto yy747;
11883 	goto yy60;
11884 yy706:
11885 	YYDEBUG(706, *YYCURSOR);
11886 	yych = *++YYCURSOR;
11887 	switch (yych) {
11888 	case '0':	goto yy715;
11889 	case '1':	goto yy716;
11890 	case '2':
11891 	case '3':
11892 	case '4':
11893 	case '5':
11894 	case '6':
11895 	case '7':
11896 	case '8':
11897 	case '9':	goto yy717;
11898 	case 'A':
11899 	case 'a':	goto yy710;
11900 	case 'D':
11901 	case 'd':	goto yy714;
11902 	case 'F':
11903 	case 'f':	goto yy708;
11904 	case 'J':
11905 	case 'j':	goto yy707;
11906 	case 'M':
11907 	case 'm':	goto yy709;
11908 	case 'N':
11909 	case 'n':	goto yy713;
11910 	case 'O':
11911 	case 'o':	goto yy712;
11912 	case 'S':
11913 	case 's':	goto yy711;
11914 	default:	goto yy56;
11915 	}
11916 yy707:
11917 	YYDEBUG(707, *YYCURSOR);
11918 	yych = *++YYCURSOR;
11919 	if (yych <= 'U') {
11920 		if (yych == 'A') goto yy746;
11921 		if (yych <= 'T') goto yy56;
11922 		goto yy745;
11923 	} else {
11924 		if (yych <= 'a') {
11925 			if (yych <= '`') goto yy56;
11926 			goto yy746;
11927 		} else {
11928 			if (yych == 'u') goto yy745;
11929 			goto yy56;
11930 		}
11931 	}
11932 yy708:
11933 	YYDEBUG(708, *YYCURSOR);
11934 	yych = *++YYCURSOR;
11935 	if (yych == 'E') goto yy744;
11936 	if (yych == 'e') goto yy744;
11937 	goto yy56;
11938 yy709:
11939 	YYDEBUG(709, *YYCURSOR);
11940 	yych = *++YYCURSOR;
11941 	if (yych == 'A') goto yy743;
11942 	if (yych == 'a') goto yy743;
11943 	goto yy56;
11944 yy710:
11945 	YYDEBUG(710, *YYCURSOR);
11946 	yych = *++YYCURSOR;
11947 	if (yych <= 'U') {
11948 		if (yych == 'P') goto yy742;
11949 		if (yych <= 'T') goto yy56;
11950 		goto yy741;
11951 	} else {
11952 		if (yych <= 'p') {
11953 			if (yych <= 'o') goto yy56;
11954 			goto yy742;
11955 		} else {
11956 			if (yych == 'u') goto yy741;
11957 			goto yy56;
11958 		}
11959 	}
11960 yy711:
11961 	YYDEBUG(711, *YYCURSOR);
11962 	yych = *++YYCURSOR;
11963 	if (yych == 'E') goto yy739;
11964 	if (yych == 'e') goto yy739;
11965 	goto yy56;
11966 yy712:
11967 	YYDEBUG(712, *YYCURSOR);
11968 	yych = *++YYCURSOR;
11969 	if (yych == 'C') goto yy738;
11970 	if (yych == 'c') goto yy738;
11971 	goto yy56;
11972 yy713:
11973 	YYDEBUG(713, *YYCURSOR);
11974 	yych = *++YYCURSOR;
11975 	if (yych == 'O') goto yy737;
11976 	if (yych == 'o') goto yy737;
11977 	goto yy56;
11978 yy714:
11979 	YYDEBUG(714, *YYCURSOR);
11980 	yych = *++YYCURSOR;
11981 	if (yych == 'E') goto yy729;
11982 	if (yych == 'e') goto yy729;
11983 	goto yy56;
11984 yy715:
11985 	YYDEBUG(715, *YYCURSOR);
11986 	yych = *++YYCURSOR;
11987 	if (yych == '-') goto yy718;
11988 	if (yych <= '/') goto yy56;
11989 	if (yych <= '9') goto yy722;
11990 	goto yy56;
11991 yy716:
11992 	YYDEBUG(716, *YYCURSOR);
11993 	yych = *++YYCURSOR;
11994 	if (yych == '-') goto yy718;
11995 	if (yych <= '/') goto yy56;
11996 	if (yych <= '2') goto yy722;
11997 	goto yy56;
11998 yy717:
11999 	YYDEBUG(717, *YYCURSOR);
12000 	yych = *++YYCURSOR;
12001 	if (yych != '-') goto yy56;
12002 yy718:
12003 	YYDEBUG(718, *YYCURSOR);
12004 	yych = *++YYCURSOR;
12005 	if (yych <= '/') goto yy56;
12006 	if (yych <= '2') goto yy719;
12007 	if (yych <= '3') goto yy720;
12008 	if (yych <= '9') goto yy721;
12009 	goto yy56;
12010 yy719:
12011 	YYDEBUG(719, *YYCURSOR);
12012 	yyaccept = 12;
12013 	yych = *(YYMARKER = ++YYCURSOR);
12014 	if (yych <= 'n') {
12015 		if (yych <= '/') goto yy621;
12016 		if (yych <= '9') goto yy721;
12017 		if (yych <= 'm') goto yy621;
12018 		goto yy625;
12019 	} else {
12020 		if (yych <= 'r') {
12021 			if (yych <= 'q') goto yy621;
12022 			goto yy626;
12023 		} else {
12024 			if (yych <= 's') goto yy624;
12025 			if (yych <= 't') goto yy627;
12026 			goto yy621;
12027 		}
12028 	}
12029 yy720:
12030 	YYDEBUG(720, *YYCURSOR);
12031 	yyaccept = 12;
12032 	yych = *(YYMARKER = ++YYCURSOR);
12033 	if (yych <= 'n') {
12034 		if (yych <= '/') goto yy621;
12035 		if (yych <= '1') goto yy721;
12036 		if (yych <= 'm') goto yy621;
12037 		goto yy625;
12038 	} else {
12039 		if (yych <= 'r') {
12040 			if (yych <= 'q') goto yy621;
12041 			goto yy626;
12042 		} else {
12043 			if (yych <= 's') goto yy624;
12044 			if (yych <= 't') goto yy627;
12045 			goto yy621;
12046 		}
12047 	}
12048 yy721:
12049 	YYDEBUG(721, *YYCURSOR);
12050 	yyaccept = 12;
12051 	yych = *(YYMARKER = ++YYCURSOR);
12052 	if (yych <= 'q') {
12053 		if (yych == 'n') goto yy625;
12054 		goto yy621;
12055 	} else {
12056 		if (yych <= 'r') goto yy626;
12057 		if (yych <= 's') goto yy624;
12058 		if (yych <= 't') goto yy627;
12059 		goto yy621;
12060 	}
12061 yy722:
12062 	YYDEBUG(722, *YYCURSOR);
12063 	yych = *++YYCURSOR;
12064 	if (yych != '-') goto yy56;
12065 	YYDEBUG(723, *YYCURSOR);
12066 	yych = *++YYCURSOR;
12067 	if (yych <= '2') {
12068 		if (yych <= '/') goto yy56;
12069 		if (yych >= '1') goto yy725;
12070 	} else {
12071 		if (yych <= '3') goto yy726;
12072 		if (yych <= '9') goto yy721;
12073 		goto yy56;
12074 	}
12075 	YYDEBUG(724, *YYCURSOR);
12076 	yyaccept = 12;
12077 	yych = *(YYMARKER = ++YYCURSOR);
12078 	if (yych <= 'n') {
12079 		if (yych <= '/') goto yy621;
12080 		if (yych <= '9') goto yy727;
12081 		if (yych <= 'm') goto yy621;
12082 		goto yy625;
12083 	} else {
12084 		if (yych <= 'r') {
12085 			if (yych <= 'q') goto yy621;
12086 			goto yy626;
12087 		} else {
12088 			if (yych <= 's') goto yy624;
12089 			if (yych <= 't') goto yy627;
12090 			goto yy621;
12091 		}
12092 	}
12093 yy725:
12094 	YYDEBUG(725, *YYCURSOR);
12095 	yyaccept = 12;
12096 	yych = *(YYMARKER = ++YYCURSOR);
12097 	if (yych <= 'n') {
12098 		if (yych <= '/') goto yy621;
12099 		if (yych <= '9') goto yy727;
12100 		if (yych <= 'm') goto yy621;
12101 		goto yy625;
12102 	} else {
12103 		if (yych <= 'r') {
12104 			if (yych <= 'q') goto yy621;
12105 			goto yy626;
12106 		} else {
12107 			if (yych <= 's') goto yy624;
12108 			if (yych <= 't') goto yy627;
12109 			goto yy621;
12110 		}
12111 	}
12112 yy726:
12113 	YYDEBUG(726, *YYCURSOR);
12114 	yyaccept = 12;
12115 	yych = *(YYMARKER = ++YYCURSOR);
12116 	if (yych <= 'n') {
12117 		if (yych <= '/') goto yy621;
12118 		if (yych <= '1') goto yy727;
12119 		if (yych <= 'm') goto yy621;
12120 		goto yy625;
12121 	} else {
12122 		if (yych <= 'r') {
12123 			if (yych <= 'q') goto yy621;
12124 			goto yy626;
12125 		} else {
12126 			if (yych <= 's') goto yy624;
12127 			if (yych <= 't') goto yy627;
12128 			goto yy621;
12129 		}
12130 	}
12131 yy727:
12132 	YYDEBUG(727, *YYCURSOR);
12133 	yyaccept = 14;
12134 	yych = *(YYMARKER = ++YYCURSOR);
12135 	if (yych <= 'q') {
12136 		if (yych == 'n') goto yy625;
12137 	} else {
12138 		if (yych <= 'r') goto yy626;
12139 		if (yych <= 's') goto yy624;
12140 		if (yych <= 't') goto yy627;
12141 	}
12142 yy728:
12143 	YYDEBUG(728, *YYCURSOR);
12144 #line 1298 "ext/date/lib/parse_date.re"
12145 	{
12146 		int length = 0;
12147 		DEBUG_OUTPUT("iso8601date2");
12148 		TIMELIB_INIT;
12149 		TIMELIB_HAVE_DATE();
12150 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
12151 		s->time->m = timelib_get_nr((char **) &ptr, 2);
12152 		s->time->d = timelib_get_nr((char **) &ptr, 2);
12153 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12154 		TIMELIB_DEINIT;
12155 		return TIMELIB_ISO_DATE;
12156 	}
12157 #line 12158 "<stdout>"
12158 yy729:
12159 	YYDEBUG(729, *YYCURSOR);
12160 	yych = *++YYCURSOR;
12161 	if (yych == 'C') goto yy730;
12162 	if (yych != 'c') goto yy56;
12163 yy730:
12164 	YYDEBUG(730, *YYCURSOR);
12165 	yych = *++YYCURSOR;
12166 	if (yych != '-') goto yy56;
12167 yy731:
12168 	YYDEBUG(731, *YYCURSOR);
12169 	yych = *++YYCURSOR;
12170 	if (yych <= '/') goto yy56;
12171 	if (yych <= '0') goto yy732;
12172 	if (yych <= '2') goto yy733;
12173 	if (yych <= '3') goto yy734;
12174 	goto yy56;
12175 yy732:
12176 	YYDEBUG(732, *YYCURSOR);
12177 	yych = *++YYCURSOR;
12178 	if (yych <= '/') goto yy56;
12179 	if (yych <= '9') goto yy735;
12180 	goto yy56;
12181 yy733:
12182 	YYDEBUG(733, *YYCURSOR);
12183 	yych = *++YYCURSOR;
12184 	if (yych <= '/') goto yy56;
12185 	if (yych <= '9') goto yy735;
12186 	goto yy56;
12187 yy734:
12188 	YYDEBUG(734, *YYCURSOR);
12189 	yych = *++YYCURSOR;
12190 	if (yych <= '/') goto yy56;
12191 	if (yych >= '2') goto yy56;
12192 yy735:
12193 	YYDEBUG(735, *YYCURSOR);
12194 	++YYCURSOR;
12195 	YYDEBUG(736, *YYCURSOR);
12196 #line 1539 "ext/date/lib/parse_date.re"
12197 	{
12198 		int length = 0;
12199 		DEBUG_OUTPUT("pgtextreverse");
12200 		TIMELIB_INIT;
12201 		TIMELIB_HAVE_DATE();
12202 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
12203 		s->time->m = timelib_get_month((char **) &ptr);
12204 		s->time->d = timelib_get_nr((char **) &ptr, 2);
12205 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12206 		TIMELIB_DEINIT;
12207 		return TIMELIB_PG_TEXT;
12208 	}
12209 #line 12210 "<stdout>"
12210 yy737:
12211 	YYDEBUG(737, *YYCURSOR);
12212 	yych = *++YYCURSOR;
12213 	if (yych == 'V') goto yy730;
12214 	if (yych == 'v') goto yy730;
12215 	goto yy56;
12216 yy738:
12217 	YYDEBUG(738, *YYCURSOR);
12218 	yych = *++YYCURSOR;
12219 	if (yych == 'T') goto yy730;
12220 	if (yych == 't') goto yy730;
12221 	goto yy56;
12222 yy739:
12223 	YYDEBUG(739, *YYCURSOR);
12224 	yych = *++YYCURSOR;
12225 	if (yych == 'P') goto yy740;
12226 	if (yych != 'p') goto yy56;
12227 yy740:
12228 	YYDEBUG(740, *YYCURSOR);
12229 	yych = *++YYCURSOR;
12230 	if (yych <= 'S') {
12231 		if (yych == '-') goto yy731;
12232 		goto yy56;
12233 	} else {
12234 		if (yych <= 'T') goto yy730;
12235 		if (yych == 't') goto yy730;
12236 		goto yy56;
12237 	}
12238 yy741:
12239 	YYDEBUG(741, *YYCURSOR);
12240 	yych = *++YYCURSOR;
12241 	if (yych == 'G') goto yy730;
12242 	if (yych == 'g') goto yy730;
12243 	goto yy56;
12244 yy742:
12245 	YYDEBUG(742, *YYCURSOR);
12246 	yych = *++YYCURSOR;
12247 	if (yych == 'R') goto yy730;
12248 	if (yych == 'r') goto yy730;
12249 	goto yy56;
12250 yy743:
12251 	YYDEBUG(743, *YYCURSOR);
12252 	yych = *++YYCURSOR;
12253 	if (yych <= 'Y') {
12254 		if (yych == 'R') goto yy730;
12255 		if (yych <= 'X') goto yy56;
12256 		goto yy730;
12257 	} else {
12258 		if (yych <= 'r') {
12259 			if (yych <= 'q') goto yy56;
12260 			goto yy730;
12261 		} else {
12262 			if (yych == 'y') goto yy730;
12263 			goto yy56;
12264 		}
12265 	}
12266 yy744:
12267 	YYDEBUG(744, *YYCURSOR);
12268 	yych = *++YYCURSOR;
12269 	if (yych == 'B') goto yy730;
12270 	if (yych == 'b') goto yy730;
12271 	goto yy56;
12272 yy745:
12273 	YYDEBUG(745, *YYCURSOR);
12274 	yych = *++YYCURSOR;
12275 	if (yych <= 'N') {
12276 		if (yych == 'L') goto yy730;
12277 		if (yych <= 'M') goto yy56;
12278 		goto yy730;
12279 	} else {
12280 		if (yych <= 'l') {
12281 			if (yych <= 'k') goto yy56;
12282 			goto yy730;
12283 		} else {
12284 			if (yych == 'n') goto yy730;
12285 			goto yy56;
12286 		}
12287 	}
12288 yy746:
12289 	YYDEBUG(746, *YYCURSOR);
12290 	yych = *++YYCURSOR;
12291 	if (yych == 'N') goto yy730;
12292 	if (yych == 'n') goto yy730;
12293 	goto yy56;
12294 yy747:
12295 	YYDEBUG(747, *YYCURSOR);
12296 	yyaccept = 15;
12297 	yych = *(YYMARKER = ++YYCURSOR);
12298 	if (yych <= 'O') {
12299 		if (yych <= '3') {
12300 			if (yych <= '-') {
12301 				if (yych <= 0x1F) {
12302 					if (yych == '\t') goto yy755;
12303 				} else {
12304 					if (yych <= ' ') goto yy755;
12305 					if (yych >= '-') goto yy752;
12306 				}
12307 			} else {
12308 				if (yych <= '0') {
12309 					if (yych <= '.') goto yy756;
12310 					if (yych <= '/') goto yy753;
12311 					goto yy769;
12312 				} else {
12313 					if (yych <= '1') goto yy770;
12314 					if (yych <= '2') goto yy772;
12315 					goto yy773;
12316 				}
12317 			}
12318 		} else {
12319 			if (yych <= 'D') {
12320 				if (yych <= '@') {
12321 					if (yych <= '9') goto yy54;
12322 					if (yych <= ':') goto yy771;
12323 				} else {
12324 					if (yych <= 'A') goto yy755;
12325 					if (yych >= 'D') goto yy755;
12326 				}
12327 			} else {
12328 				if (yych <= 'G') {
12329 					if (yych == 'F') goto yy755;
12330 				} else {
12331 					if (yych <= 'J') goto yy755;
12332 					if (yych >= 'M') goto yy755;
12333 				}
12334 			}
12335 		}
12336 	} else {
12337 		if (yych <= 'h') {
12338 			if (yych <= 'a') {
12339 				if (yych <= 'W') {
12340 					if (yych <= 'R') goto yy748;
12341 					if (yych <= 'V') goto yy755;
12342 					goto yy774;
12343 				} else {
12344 					if (yych <= 'Y') goto yy755;
12345 					if (yych >= 'a') goto yy755;
12346 				}
12347 			} else {
12348 				if (yych <= 'e') {
12349 					if (yych == 'd') goto yy755;
12350 				} else {
12351 					if (yych != 'g') goto yy755;
12352 				}
12353 			}
12354 		} else {
12355 			if (yych <= 'u') {
12356 				if (yych <= 'l') {
12357 					if (yych == 'j') goto yy755;
12358 				} else {
12359 					if (yych <= 'o') goto yy755;
12360 					if (yych >= 's') goto yy755;
12361 				}
12362 			} else {
12363 				if (yych <= 'x') {
12364 					if (yych == 'w') goto yy755;
12365 				} else {
12366 					if (yych <= 'y') goto yy755;
12367 					if (yych == 0xC2) goto yy755;
12368 				}
12369 			}
12370 		}
12371 	}
12372 yy748:
12373 	YYDEBUG(748, *YYCURSOR);
12374 #line 1574 "ext/date/lib/parse_date.re"
12375 	{
12376 		DEBUG_OUTPUT("year4");
12377 		TIMELIB_INIT;
12378 		s->time->y = timelib_get_nr((char **) &ptr, 4);
12379 		TIMELIB_DEINIT;
12380 		return TIMELIB_CLF;
12381 	}
12382 #line 12383 "<stdout>"
12383 yy749:
12384 	YYDEBUG(749, *YYCURSOR);
12385 	yych = *++YYCURSOR;
12386 	switch (yych) {
12387 	case '0':	goto yy750;
12388 	case '1':	goto yy751;
12389 	case '2':
12390 	case '3':
12391 	case '4':
12392 	case '5':
12393 	case '6':
12394 	case '7':
12395 	case '8':
12396 	case '9':	goto yy717;
12397 	case 'A':
12398 	case 'a':	goto yy710;
12399 	case 'D':
12400 	case 'd':	goto yy714;
12401 	case 'F':
12402 	case 'f':	goto yy708;
12403 	case 'J':
12404 	case 'j':	goto yy707;
12405 	case 'M':
12406 	case 'm':	goto yy709;
12407 	case 'N':
12408 	case 'n':	goto yy713;
12409 	case 'O':
12410 	case 'o':	goto yy712;
12411 	case 'S':
12412 	case 's':	goto yy711;
12413 	default:	goto yy56;
12414 	}
12415 yy750:
12416 	YYDEBUG(750, *YYCURSOR);
12417 	yych = *++YYCURSOR;
12418 	if (yych == '-') goto yy718;
12419 	if (yych <= '/') goto yy56;
12420 	if (yych <= '9') goto yy717;
12421 	goto yy56;
12422 yy751:
12423 	YYDEBUG(751, *YYCURSOR);
12424 	yych = *++YYCURSOR;
12425 	if (yych == '-') goto yy718;
12426 	if (yych <= '/') goto yy56;
12427 	if (yych <= '2') goto yy717;
12428 	goto yy56;
12429 yy752:
12430 	YYDEBUG(752, *YYCURSOR);
12431 	yych = *++YYCURSOR;
12432 	switch (yych) {
12433 	case '0':	goto yy937;
12434 	case '1':	goto yy939;
12435 	case '2':
12436 	case '3':
12437 	case '4':
12438 	case '5':
12439 	case '6':
12440 	case '7':
12441 	case '8':
12442 	case '9':	goto yy940;
12443 	case 'A':
12444 	case 'a':	goto yy931;
12445 	case 'D':
12446 	case 'd':	goto yy935;
12447 	case 'F':
12448 	case 'f':	goto yy929;
12449 	case 'J':
12450 	case 'j':	goto yy928;
12451 	case 'M':
12452 	case 'm':	goto yy930;
12453 	case 'N':
12454 	case 'n':	goto yy934;
12455 	case 'O':
12456 	case 'o':	goto yy933;
12457 	case 'S':
12458 	case 's':	goto yy932;
12459 	case 'W':	goto yy936;
12460 	default:	goto yy903;
12461 	}
12462 yy753:
12463 	YYDEBUG(753, *YYCURSOR);
12464 	yych = *++YYCURSOR;
12465 	if (yych <= '/') goto yy56;
12466 	if (yych <= '0') goto yy911;
12467 	if (yych <= '1') goto yy912;
12468 	if (yych <= '9') goto yy913;
12469 	goto yy56;
12470 yy754:
12471 	YYDEBUG(754, *YYCURSOR);
12472 	++YYCURSOR;
12473 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
12474 	yych = *YYCURSOR;
12475 yy755:
12476 	YYDEBUG(755, *YYCURSOR);
12477 	if (yych <= 'W') {
12478 		if (yych <= 'G') {
12479 			if (yych <= '.') {
12480 				if (yych <= 0x1F) {
12481 					if (yych == '\t') goto yy754;
12482 					goto yy56;
12483 				} else {
12484 					if (yych <= ' ') goto yy754;
12485 					if (yych <= ',') goto yy56;
12486 					goto yy902;
12487 				}
12488 			} else {
12489 				if (yych <= 'C') {
12490 					if (yych == 'A') goto yy764;
12491 					goto yy56;
12492 				} else {
12493 					if (yych <= 'D') goto yy768;
12494 					if (yych == 'F') goto yy762;
12495 					goto yy56;
12496 				}
12497 			}
12498 		} else {
12499 			if (yych <= 'N') {
12500 				if (yych <= 'J') {
12501 					if (yych <= 'H') goto yy65;
12502 					if (yych <= 'I') goto yy757;
12503 					goto yy761;
12504 				} else {
12505 					if (yych <= 'L') goto yy56;
12506 					if (yych <= 'M') goto yy763;
12507 					goto yy767;
12508 				}
12509 			} else {
12510 				if (yych <= 'S') {
12511 					if (yych <= 'O') goto yy766;
12512 					if (yych <= 'R') goto yy56;
12513 					goto yy765;
12514 				} else {
12515 					if (yych <= 'T') goto yy70;
12516 					if (yych <= 'U') goto yy63;
12517 					if (yych <= 'V') goto yy759;
12518 					goto yy69;
12519 				}
12520 			}
12521 		}
12522 	} else {
12523 		if (yych <= 'l') {
12524 			if (yych <= 'd') {
12525 				if (yych <= '`') {
12526 					if (yych <= 'X') goto yy760;
12527 					if (yych <= 'Y') goto yy68;
12528 					goto yy56;
12529 				} else {
12530 					if (yych <= 'a') goto yy764;
12531 					if (yych <= 'c') goto yy56;
12532 					goto yy768;
12533 				}
12534 			} else {
12535 				if (yych <= 'g') {
12536 					if (yych == 'f') goto yy762;
12537 					goto yy56;
12538 				} else {
12539 					if (yych <= 'h') goto yy65;
12540 					if (yych == 'j') goto yy761;
12541 					goto yy56;
12542 				}
12543 			}
12544 		} else {
12545 			if (yych <= 'u') {
12546 				if (yych <= 'o') {
12547 					if (yych <= 'm') goto yy763;
12548 					if (yych <= 'n') goto yy767;
12549 					goto yy766;
12550 				} else {
12551 					if (yych <= 'r') goto yy56;
12552 					if (yych <= 's') goto yy765;
12553 					if (yych <= 't') goto yy70;
12554 					goto yy63;
12555 				}
12556 			} else {
12557 				if (yych <= 'x') {
12558 					if (yych == 'w') goto yy69;
12559 					goto yy56;
12560 				} else {
12561 					if (yych <= 'y') goto yy68;
12562 					if (yych == 0xC2) goto yy62;
12563 					goto yy56;
12564 				}
12565 			}
12566 		}
12567 	}
12568 yy756:
12569 	YYDEBUG(756, *YYCURSOR);
12570 	yych = *++YYCURSOR;
12571 	if (yych <= '/') goto yy903;
12572 	if (yych <= '0') goto yy895;
12573 	if (yych <= '2') goto yy896;
12574 	if (yych <= '3') goto yy897;
12575 	goto yy903;
12576 yy757:
12577 	YYDEBUG(757, *YYCURSOR);
12578 	++YYCURSOR;
12579 	if ((yych = *YYCURSOR) <= 'U') {
12580 		if (yych == 'I') goto yy894;
12581 	} else {
12582 		if (yych == 'W') goto yy758;
12583 		if (yych <= 'X') goto yy848;
12584 	}
12585 yy758:
12586 	YYDEBUG(758, *YYCURSOR);
12587 #line 1395 "ext/date/lib/parse_date.re"
12588 	{
12589 		int length = 0;
12590 		DEBUG_OUTPUT("datenodayrev");
12591 		TIMELIB_INIT;
12592 		TIMELIB_HAVE_DATE();
12593 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
12594 		s->time->m = timelib_get_month((char **) &ptr);
12595 		s->time->d = 1;
12596 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12597 		TIMELIB_DEINIT;
12598 		return TIMELIB_DATE_NO_DAY;
12599 	}
12600 #line 12601 "<stdout>"
12601 yy759:
12602 	YYDEBUG(759, *YYCURSOR);
12603 	yych = *++YYCURSOR;
12604 	if (yych == 'I') goto yy892;
12605 	goto yy758;
12606 yy760:
12607 	YYDEBUG(760, *YYCURSOR);
12608 	yych = *++YYCURSOR;
12609 	if (yych == 'I') goto yy891;
12610 	goto yy758;
12611 yy761:
12612 	YYDEBUG(761, *YYCURSOR);
12613 	yych = *++YYCURSOR;
12614 	if (yych <= 'U') {
12615 		if (yych == 'A') goto yy884;
12616 		if (yych <= 'T') goto yy56;
12617 		goto yy883;
12618 	} else {
12619 		if (yych <= 'a') {
12620 			if (yych <= '`') goto yy56;
12621 			goto yy884;
12622 		} else {
12623 			if (yych == 'u') goto yy883;
12624 			goto yy56;
12625 		}
12626 	}
12627 yy762:
12628 	YYDEBUG(762, *YYCURSOR);
12629 	yych = *++YYCURSOR;
12630 	if (yych <= 'R') {
12631 		if (yych <= 'N') {
12632 			if (yych == 'E') goto yy877;
12633 			goto yy56;
12634 		} else {
12635 			if (yych <= 'O') goto yy100;
12636 			if (yych <= 'Q') goto yy56;
12637 			goto yy99;
12638 		}
12639 	} else {
12640 		if (yych <= 'n') {
12641 			if (yych == 'e') goto yy877;
12642 			goto yy56;
12643 		} else {
12644 			if (yych <= 'o') goto yy100;
12645 			if (yych == 'r') goto yy99;
12646 			goto yy56;
12647 		}
12648 	}
12649 yy763:
12650 	YYDEBUG(763, *YYCURSOR);
12651 	yych = *++YYCURSOR;
12652 	if (yych <= 'S') {
12653 		if (yych <= 'I') {
12654 			if (yych == 'A') goto yy874;
12655 			if (yych <= 'H') goto yy56;
12656 			goto yy138;
12657 		} else {
12658 			if (yych == 'O') goto yy137;
12659 			if (yych <= 'R') goto yy56;
12660 			goto yy139;
12661 		}
12662 	} else {
12663 		if (yych <= 'i') {
12664 			if (yych == 'a') goto yy874;
12665 			if (yych <= 'h') goto yy56;
12666 			goto yy138;
12667 		} else {
12668 			if (yych <= 'o') {
12669 				if (yych <= 'n') goto yy56;
12670 				goto yy137;
12671 			} else {
12672 				if (yych == 's') goto yy139;
12673 				goto yy56;
12674 			}
12675 		}
12676 	}
12677 yy764:
12678 	YYDEBUG(764, *YYCURSOR);
12679 	yych = *++YYCURSOR;
12680 	if (yych <= 'U') {
12681 		if (yych == 'P') goto yy868;
12682 		if (yych <= 'T') goto yy56;
12683 		goto yy867;
12684 	} else {
12685 		if (yych <= 'p') {
12686 			if (yych <= 'o') goto yy56;
12687 			goto yy868;
12688 		} else {
12689 			if (yych == 'u') goto yy867;
12690 			goto yy56;
12691 		}
12692 	}
12693 yy765:
12694 	YYDEBUG(765, *YYCURSOR);
12695 	yych = *++YYCURSOR;
12696 	if (yych <= 'U') {
12697 		if (yych <= 'D') {
12698 			if (yych == 'A') goto yy119;
12699 			goto yy56;
12700 		} else {
12701 			if (yych <= 'E') goto yy860;
12702 			if (yych <= 'T') goto yy56;
12703 			goto yy118;
12704 		}
12705 	} else {
12706 		if (yych <= 'd') {
12707 			if (yych == 'a') goto yy119;
12708 			goto yy56;
12709 		} else {
12710 			if (yych <= 'e') goto yy860;
12711 			if (yych == 'u') goto yy118;
12712 			goto yy56;
12713 		}
12714 	}
12715 yy766:
12716 	YYDEBUG(766, *YYCURSOR);
12717 	yych = *++YYCURSOR;
12718 	if (yych == 'C') goto yy855;
12719 	if (yych == 'c') goto yy855;
12720 	goto yy56;
12721 yy767:
12722 	YYDEBUG(767, *YYCURSOR);
12723 	yych = *++YYCURSOR;
12724 	if (yych == 'O') goto yy849;
12725 	if (yych == 'o') goto yy849;
12726 	goto yy56;
12727 yy768:
12728 	YYDEBUG(768, *YYCURSOR);
12729 	yych = *++YYCURSOR;
12730 	if (yych <= 'E') {
12731 		if (yych == 'A') goto yy115;
12732 		if (yych <= 'D') goto yy56;
12733 		goto yy842;
12734 	} else {
12735 		if (yych <= 'a') {
12736 			if (yych <= '`') goto yy56;
12737 			goto yy115;
12738 		} else {
12739 			if (yych == 'e') goto yy842;
12740 			goto yy56;
12741 		}
12742 	}
12743 yy769:
12744 	YYDEBUG(769, *YYCURSOR);
12745 	yych = *++YYCURSOR;
12746 	if (yych <= '/') goto yy60;
12747 	if (yych <= '0') goto yy839;
12748 	if (yych <= '9') goto yy840;
12749 	goto yy60;
12750 yy770:
12751 	YYDEBUG(770, *YYCURSOR);
12752 	yych = *++YYCURSOR;
12753 	if (yych <= '/') goto yy60;
12754 	if (yych <= '2') goto yy808;
12755 	if (yych <= '9') goto yy787;
12756 	goto yy60;
12757 yy771:
12758 	YYDEBUG(771, *YYCURSOR);
12759 	yych = *++YYCURSOR;
12760 	if (yych <= '/') goto yy56;
12761 	if (yych <= '0') goto yy788;
12762 	if (yych <= '1') goto yy789;
12763 	goto yy56;
12764 yy772:
12765 	YYDEBUG(772, *YYCURSOR);
12766 	yych = *++YYCURSOR;
12767 	if (yych <= '/') goto yy60;
12768 	if (yych <= '9') goto yy787;
12769 	goto yy60;
12770 yy773:
12771 	YYDEBUG(773, *YYCURSOR);
12772 	yych = *++YYCURSOR;
12773 	if (yych <= '/') goto yy60;
12774 	if (yych <= '5') goto yy783;
12775 	if (yych <= '6') goto yy784;
12776 	if (yych <= '9') goto yy54;
12777 	goto yy60;
12778 yy774:
12779 	YYDEBUG(774, *YYCURSOR);
12780 	yych = *++YYCURSOR;
12781 	if (yych <= '5') {
12782 		if (yych <= '/') goto yy56;
12783 		if (yych <= '0') goto yy775;
12784 		if (yych <= '4') goto yy776;
12785 		goto yy777;
12786 	} else {
12787 		if (yych <= 'E') {
12788 			if (yych <= 'D') goto yy56;
12789 			goto yy84;
12790 		} else {
12791 			if (yych == 'e') goto yy84;
12792 			goto yy56;
12793 		}
12794 	}
12795 yy775:
12796 	YYDEBUG(775, *YYCURSOR);
12797 	yych = *++YYCURSOR;
12798 	if (yych <= '0') goto yy56;
12799 	if (yych <= '9') goto yy778;
12800 	goto yy56;
12801 yy776:
12802 	YYDEBUG(776, *YYCURSOR);
12803 	yych = *++YYCURSOR;
12804 	if (yych <= '/') goto yy56;
12805 	if (yych <= '9') goto yy778;
12806 	goto yy56;
12807 yy777:
12808 	YYDEBUG(777, *YYCURSOR);
12809 	yych = *++YYCURSOR;
12810 	if (yych <= '/') goto yy56;
12811 	if (yych >= '4') goto yy56;
12812 yy778:
12813 	YYDEBUG(778, *YYCURSOR);
12814 	yyaccept = 16;
12815 	yych = *(YYMARKER = ++YYCURSOR);
12816 	if (yych == '-') goto yy780;
12817 	if (yych <= '/') goto yy779;
12818 	if (yych <= '7') goto yy781;
12819 yy779:
12820 	YYDEBUG(779, *YYCURSOR);
12821 #line 1506 "ext/date/lib/parse_date.re"
12822 	{
12823 		timelib_sll w, d;
12824 		DEBUG_OUTPUT("isoweek");
12825 		TIMELIB_INIT;
12826 		TIMELIB_HAVE_DATE();
12827 		TIMELIB_HAVE_RELATIVE();
12828 
12829 		s->time->y = timelib_get_nr((char **) &ptr, 4);
12830 		w = timelib_get_nr((char **) &ptr, 2);
12831 		d = 1;
12832 		s->time->m = 1;
12833 		s->time->d = 1;
12834 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
12835 
12836 		TIMELIB_DEINIT;
12837 		return TIMELIB_ISO_WEEK;
12838 	}
12839 #line 12840 "<stdout>"
12840 yy780:
12841 	YYDEBUG(780, *YYCURSOR);
12842 	yych = *++YYCURSOR;
12843 	if (yych <= '/') goto yy56;
12844 	if (yych >= '8') goto yy56;
12845 yy781:
12846 	YYDEBUG(781, *YYCURSOR);
12847 	++YYCURSOR;
12848 	YYDEBUG(782, *YYCURSOR);
12849 #line 1487 "ext/date/lib/parse_date.re"
12850 	{
12851 		timelib_sll w, d;
12852 		DEBUG_OUTPUT("isoweekday");
12853 		TIMELIB_INIT;
12854 		TIMELIB_HAVE_DATE();
12855 		TIMELIB_HAVE_RELATIVE();
12856 
12857 		s->time->y = timelib_get_nr((char **) &ptr, 4);
12858 		w = timelib_get_nr((char **) &ptr, 2);
12859 		d = timelib_get_nr((char **) &ptr, 1);
12860 		s->time->m = 1;
12861 		s->time->d = 1;
12862 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
12863 
12864 		TIMELIB_DEINIT;
12865 		return TIMELIB_ISO_WEEK;
12866 	}
12867 #line 12868 "<stdout>"
12868 yy783:
12869 	YYDEBUG(783, *YYCURSOR);
12870 	yych = *++YYCURSOR;
12871 	if (yych <= '/') goto yy60;
12872 	if (yych <= '9') goto yy785;
12873 	goto yy60;
12874 yy784:
12875 	YYDEBUG(784, *YYCURSOR);
12876 	yych = *++YYCURSOR;
12877 	if (yych <= '/') goto yy60;
12878 	if (yych <= '6') goto yy785;
12879 	if (yych <= '9') goto yy54;
12880 	goto yy60;
12881 yy785:
12882 	YYDEBUG(785, *YYCURSOR);
12883 	yyaccept = 17;
12884 	yych = *(YYMARKER = ++YYCURSOR);
12885 	if (yybm[0+yych] & 2) {
12886 		goto yy54;
12887 	}
12888 	if (yych <= 'X') {
12889 		if (yych <= 'F') {
12890 			if (yych <= ' ') {
12891 				if (yych == '\t') goto yy60;
12892 				if (yych >= ' ') goto yy60;
12893 			} else {
12894 				if (yych == 'D') goto yy60;
12895 				if (yych >= 'F') goto yy60;
12896 			}
12897 		} else {
12898 			if (yych <= 'M') {
12899 				if (yych == 'H') goto yy60;
12900 				if (yych >= 'M') goto yy60;
12901 			} else {
12902 				if (yych <= 'U') {
12903 					if (yych >= 'S') goto yy60;
12904 				} else {
12905 					if (yych == 'W') goto yy60;
12906 				}
12907 			}
12908 		}
12909 	} else {
12910 		if (yych <= 'm') {
12911 			if (yych <= 'e') {
12912 				if (yych <= 'Y') goto yy60;
12913 				if (yych == 'd') goto yy60;
12914 			} else {
12915 				if (yych <= 'g') {
12916 					if (yych <= 'f') goto yy60;
12917 				} else {
12918 					if (yych <= 'h') goto yy60;
12919 					if (yych >= 'm') goto yy60;
12920 				}
12921 			}
12922 		} else {
12923 			if (yych <= 'w') {
12924 				if (yych <= 'r') goto yy786;
12925 				if (yych != 'v') goto yy60;
12926 			} else {
12927 				if (yych <= 'y') {
12928 					if (yych >= 'y') goto yy60;
12929 				} else {
12930 					if (yych == 0xC2) goto yy60;
12931 				}
12932 			}
12933 		}
12934 	}
12935 yy786:
12936 	YYDEBUG(786, *YYCURSOR);
12937 #line 1473 "ext/date/lib/parse_date.re"
12938 	{
12939 		int length = 0;
12940 		DEBUG_OUTPUT("pgydotd");
12941 		TIMELIB_INIT;
12942 		TIMELIB_HAVE_DATE();
12943 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
12944 		s->time->d = timelib_get_nr((char **) &ptr, 3);
12945 		s->time->m = 1;
12946 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12947 		TIMELIB_DEINIT;
12948 		return TIMELIB_PG_YEARDAY;
12949 	}
12950 #line 12951 "<stdout>"
12951 yy787:
12952 	YYDEBUG(787, *YYCURSOR);
12953 	yych = *++YYCURSOR;
12954 	if (yych <= '/') goto yy60;
12955 	if (yych <= '9') goto yy785;
12956 	goto yy60;
12957 yy788:
12958 	YYDEBUG(788, *YYCURSOR);
12959 	yych = *++YYCURSOR;
12960 	if (yych <= '/') goto yy56;
12961 	if (yych <= '9') goto yy790;
12962 	goto yy56;
12963 yy789:
12964 	YYDEBUG(789, *YYCURSOR);
12965 	yych = *++YYCURSOR;
12966 	if (yych <= '/') goto yy56;
12967 	if (yych >= '3') goto yy56;
12968 yy790:
12969 	YYDEBUG(790, *YYCURSOR);
12970 	yych = *++YYCURSOR;
12971 	if (yych != ':') goto yy56;
12972 	YYDEBUG(791, *YYCURSOR);
12973 	yych = *++YYCURSOR;
12974 	if (yych <= '/') goto yy56;
12975 	if (yych <= '0') goto yy792;
12976 	if (yych <= '2') goto yy793;
12977 	if (yych <= '3') goto yy794;
12978 	goto yy56;
12979 yy792:
12980 	YYDEBUG(792, *YYCURSOR);
12981 	yych = *++YYCURSOR;
12982 	if (yych <= '/') goto yy56;
12983 	if (yych <= '9') goto yy795;
12984 	goto yy56;
12985 yy793:
12986 	YYDEBUG(793, *YYCURSOR);
12987 	yych = *++YYCURSOR;
12988 	if (yych <= '/') goto yy56;
12989 	if (yych <= '9') goto yy795;
12990 	goto yy56;
12991 yy794:
12992 	YYDEBUG(794, *YYCURSOR);
12993 	yych = *++YYCURSOR;
12994 	if (yych <= '/') goto yy56;
12995 	if (yych >= '2') goto yy56;
12996 yy795:
12997 	YYDEBUG(795, *YYCURSOR);
12998 	yych = *++YYCURSOR;
12999 	if (yych != ' ') goto yy56;
13000 	YYDEBUG(796, *YYCURSOR);
13001 	yych = *++YYCURSOR;
13002 	if (yych <= '/') goto yy56;
13003 	if (yych <= '1') goto yy797;
13004 	if (yych <= '2') goto yy798;
13005 	goto yy56;
13006 yy797:
13007 	YYDEBUG(797, *YYCURSOR);
13008 	yych = *++YYCURSOR;
13009 	if (yych <= '/') goto yy56;
13010 	if (yych <= '9') goto yy799;
13011 	goto yy56;
13012 yy798:
13013 	YYDEBUG(798, *YYCURSOR);
13014 	yych = *++YYCURSOR;
13015 	if (yych <= '/') goto yy56;
13016 	if (yych >= '5') goto yy56;
13017 yy799:
13018 	YYDEBUG(799, *YYCURSOR);
13019 	yych = *++YYCURSOR;
13020 	if (yych != ':') goto yy56;
13021 	YYDEBUG(800, *YYCURSOR);
13022 	yych = *++YYCURSOR;
13023 	if (yych <= '/') goto yy56;
13024 	if (yych >= '6') goto yy56;
13025 	YYDEBUG(801, *YYCURSOR);
13026 	yych = *++YYCURSOR;
13027 	if (yych <= '/') goto yy56;
13028 	if (yych >= ':') goto yy56;
13029 	YYDEBUG(802, *YYCURSOR);
13030 	yych = *++YYCURSOR;
13031 	if (yych != ':') goto yy56;
13032 	YYDEBUG(803, *YYCURSOR);
13033 	yych = *++YYCURSOR;
13034 	if (yych <= '/') goto yy56;
13035 	if (yych <= '5') goto yy804;
13036 	if (yych <= '6') goto yy805;
13037 	goto yy56;
13038 yy804:
13039 	YYDEBUG(804, *YYCURSOR);
13040 	yych = *++YYCURSOR;
13041 	if (yych <= '/') goto yy56;
13042 	if (yych <= '9') goto yy806;
13043 	goto yy56;
13044 yy805:
13045 	YYDEBUG(805, *YYCURSOR);
13046 	yych = *++YYCURSOR;
13047 	if (yych != '0') goto yy56;
13048 yy806:
13049 	YYDEBUG(806, *YYCURSOR);
13050 	++YYCURSOR;
13051 yy807:
13052 	YYDEBUG(807, *YYCURSOR);
13053 #line 1447 "ext/date/lib/parse_date.re"
13054 	{
13055 		int tz_not_found;
13056 		DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
13057 		TIMELIB_INIT;
13058 		TIMELIB_HAVE_TIME();
13059 		TIMELIB_HAVE_DATE();
13060 		s->time->y = timelib_get_nr((char **) &ptr, 4);
13061 		s->time->m = timelib_get_nr((char **) &ptr, 2);
13062 		s->time->d = timelib_get_nr((char **) &ptr, 2);
13063 		s->time->h = timelib_get_nr((char **) &ptr, 2);
13064 		s->time->i = timelib_get_nr((char **) &ptr, 2);
13065 		s->time->s = timelib_get_nr((char **) &ptr, 2);
13066 		if (*ptr == '.') {
13067 			s->time->f = timelib_get_frac_nr((char **) &ptr, 9);
13068 			if (*ptr) { /* timezone is optional */
13069 				s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
13070 				if (tz_not_found) {
13071 					add_error(s, "The timezone could not be found in the database");
13072 				}
13073 			}
13074 		}
13075 		TIMELIB_DEINIT;
13076 		return TIMELIB_XMLRPC_SOAP;
13077 	}
13078 #line 13079 "<stdout>"
13079 yy808:
13080 	YYDEBUG(808, *YYCURSOR);
13081 	yych = *++YYCURSOR;
13082 	if (yych <= '2') {
13083 		if (yych <= '/') goto yy60;
13084 		if (yych >= '1') goto yy810;
13085 	} else {
13086 		if (yych <= '3') goto yy811;
13087 		if (yych <= '9') goto yy785;
13088 		goto yy60;
13089 	}
13090 yy809:
13091 	YYDEBUG(809, *YYCURSOR);
13092 	yyaccept = 17;
13093 	yych = *(YYMARKER = ++YYCURSOR);
13094 	if (yych <= 'W') {
13095 		if (yych <= 'E') {
13096 			if (yych <= ' ') {
13097 				if (yych == '\t') goto yy60;
13098 				if (yych <= 0x1F) goto yy786;
13099 				goto yy60;
13100 			} else {
13101 				if (yych <= '9') {
13102 					if (yych <= '/') goto yy786;
13103 					goto yy812;
13104 				} else {
13105 					if (yych == 'D') goto yy60;
13106 					goto yy786;
13107 				}
13108 			}
13109 		} else {
13110 			if (yych <= 'L') {
13111 				if (yych == 'G') goto yy786;
13112 				if (yych <= 'H') goto yy60;
13113 				goto yy786;
13114 			} else {
13115 				if (yych <= 'R') {
13116 					if (yych <= 'M') goto yy60;
13117 					goto yy786;
13118 				} else {
13119 					if (yych == 'V') goto yy786;
13120 					goto yy60;
13121 				}
13122 			}
13123 		}
13124 	} else {
13125 		if (yych <= 'l') {
13126 			if (yych <= 'd') {
13127 				if (yych == 'Y') goto yy60;
13128 				if (yych <= 'c') goto yy786;
13129 				goto yy60;
13130 			} else {
13131 				if (yych <= 'f') {
13132 					if (yych <= 'e') goto yy786;
13133 					goto yy60;
13134 				} else {
13135 					if (yych == 'h') goto yy60;
13136 					goto yy786;
13137 				}
13138 			}
13139 		} else {
13140 			if (yych <= 'w') {
13141 				if (yych <= 'r') {
13142 					if (yych <= 'm') goto yy60;
13143 					goto yy786;
13144 				} else {
13145 					if (yych == 'v') goto yy786;
13146 					goto yy60;
13147 				}
13148 			} else {
13149 				if (yych <= 'y') {
13150 					if (yych <= 'x') goto yy786;
13151 					goto yy60;
13152 				} else {
13153 					if (yych == 0xC2) goto yy60;
13154 					goto yy786;
13155 				}
13156 			}
13157 		}
13158 	}
13159 yy810:
13160 	YYDEBUG(810, *YYCURSOR);
13161 	yyaccept = 17;
13162 	yych = *(YYMARKER = ++YYCURSOR);
13163 	if (yych <= 'W') {
13164 		if (yych <= 'E') {
13165 			if (yych <= ' ') {
13166 				if (yych == '\t') goto yy60;
13167 				if (yych <= 0x1F) goto yy786;
13168 				goto yy60;
13169 			} else {
13170 				if (yych <= '9') {
13171 					if (yych <= '/') goto yy786;
13172 					goto yy812;
13173 				} else {
13174 					if (yych == 'D') goto yy60;
13175 					goto yy786;
13176 				}
13177 			}
13178 		} else {
13179 			if (yych <= 'L') {
13180 				if (yych == 'G') goto yy786;
13181 				if (yych <= 'H') goto yy60;
13182 				goto yy786;
13183 			} else {
13184 				if (yych <= 'R') {
13185 					if (yych <= 'M') goto yy60;
13186 					goto yy786;
13187 				} else {
13188 					if (yych == 'V') goto yy786;
13189 					goto yy60;
13190 				}
13191 			}
13192 		}
13193 	} else {
13194 		if (yych <= 'l') {
13195 			if (yych <= 'd') {
13196 				if (yych == 'Y') goto yy60;
13197 				if (yych <= 'c') goto yy786;
13198 				goto yy60;
13199 			} else {
13200 				if (yych <= 'f') {
13201 					if (yych <= 'e') goto yy786;
13202 					goto yy60;
13203 				} else {
13204 					if (yych == 'h') goto yy60;
13205 					goto yy786;
13206 				}
13207 			}
13208 		} else {
13209 			if (yych <= 'w') {
13210 				if (yych <= 'r') {
13211 					if (yych <= 'm') goto yy60;
13212 					goto yy786;
13213 				} else {
13214 					if (yych == 'v') goto yy786;
13215 					goto yy60;
13216 				}
13217 			} else {
13218 				if (yych <= 'y') {
13219 					if (yych <= 'x') goto yy786;
13220 					goto yy60;
13221 				} else {
13222 					if (yych == 0xC2) goto yy60;
13223 					goto yy786;
13224 				}
13225 			}
13226 		}
13227 	}
13228 yy811:
13229 	YYDEBUG(811, *YYCURSOR);
13230 	yyaccept = 17;
13231 	yych = *(YYMARKER = ++YYCURSOR);
13232 	if (yych <= 'W') {
13233 		if (yych <= 'D') {
13234 			if (yych <= ' ') {
13235 				if (yych == '\t') goto yy60;
13236 				if (yych <= 0x1F) goto yy786;
13237 				goto yy60;
13238 			} else {
13239 				if (yych <= '1') {
13240 					if (yych <= '/') goto yy786;
13241 				} else {
13242 					if (yych <= '9') goto yy54;
13243 					if (yych <= 'C') goto yy786;
13244 					goto yy60;
13245 				}
13246 			}
13247 		} else {
13248 			if (yych <= 'L') {
13249 				if (yych <= 'F') {
13250 					if (yych <= 'E') goto yy786;
13251 					goto yy60;
13252 				} else {
13253 					if (yych == 'H') goto yy60;
13254 					goto yy786;
13255 				}
13256 			} else {
13257 				if (yych <= 'R') {
13258 					if (yych <= 'M') goto yy60;
13259 					goto yy786;
13260 				} else {
13261 					if (yych == 'V') goto yy786;
13262 					goto yy60;
13263 				}
13264 			}
13265 		}
13266 	} else {
13267 		if (yych <= 'l') {
13268 			if (yych <= 'd') {
13269 				if (yych == 'Y') goto yy60;
13270 				if (yych <= 'c') goto yy786;
13271 				goto yy60;
13272 			} else {
13273 				if (yych <= 'f') {
13274 					if (yych <= 'e') goto yy786;
13275 					goto yy60;
13276 				} else {
13277 					if (yych == 'h') goto yy60;
13278 					goto yy786;
13279 				}
13280 			}
13281 		} else {
13282 			if (yych <= 'w') {
13283 				if (yych <= 'r') {
13284 					if (yych <= 'm') goto yy60;
13285 					goto yy786;
13286 				} else {
13287 					if (yych == 'v') goto yy786;
13288 					goto yy60;
13289 				}
13290 			} else {
13291 				if (yych <= 'y') {
13292 					if (yych <= 'x') goto yy786;
13293 					goto yy60;
13294 				} else {
13295 					if (yych == 0xC2) goto yy60;
13296 					goto yy786;
13297 				}
13298 			}
13299 		}
13300 	}
13301 yy812:
13302 	YYDEBUG(812, *YYCURSOR);
13303 	yyaccept = 18;
13304 	yych = *(YYMARKER = ++YYCURSOR);
13305 	if (yybm[0+yych] & 2) {
13306 		goto yy54;
13307 	}
13308 	if (yych <= 'X') {
13309 		if (yych <= 'G') {
13310 			if (yych <= ' ') {
13311 				if (yych == '\t') goto yy59;
13312 				if (yych >= ' ') goto yy59;
13313 			} else {
13314 				if (yych <= 'D') {
13315 					if (yych >= 'D') goto yy66;
13316 				} else {
13317 					if (yych == 'F') goto yy67;
13318 				}
13319 			}
13320 		} else {
13321 			if (yych <= 'S') {
13322 				if (yych <= 'L') {
13323 					if (yych <= 'H') goto yy65;
13324 				} else {
13325 					if (yych <= 'M') goto yy61;
13326 					if (yych >= 'S') goto yy64;
13327 				}
13328 			} else {
13329 				if (yych <= 'U') {
13330 					if (yych <= 'T') goto yy814;
13331 					goto yy63;
13332 				} else {
13333 					if (yych == 'W') goto yy69;
13334 				}
13335 			}
13336 		}
13337 	} else {
13338 		if (yych <= 'r') {
13339 			if (yych <= 'f') {
13340 				if (yych <= 'c') {
13341 					if (yych <= 'Y') goto yy68;
13342 				} else {
13343 					if (yych <= 'd') goto yy66;
13344 					if (yych >= 'f') goto yy67;
13345 				}
13346 			} else {
13347 				if (yych <= 'h') {
13348 					if (yych >= 'h') goto yy65;
13349 				} else {
13350 					if (yych == 'm') goto yy61;
13351 				}
13352 			}
13353 		} else {
13354 			if (yych <= 'w') {
13355 				if (yych <= 't') {
13356 					if (yych <= 's') goto yy64;
13357 					goto yy815;
13358 				} else {
13359 					if (yych <= 'u') goto yy63;
13360 					if (yych >= 'w') goto yy69;
13361 				}
13362 			} else {
13363 				if (yych <= 'y') {
13364 					if (yych >= 'y') goto yy68;
13365 				} else {
13366 					if (yych == 0xC2) goto yy62;
13367 				}
13368 			}
13369 		}
13370 	}
13371 yy813:
13372 	YYDEBUG(813, *YYCURSOR);
13373 #line 1435 "ext/date/lib/parse_date.re"
13374 	{
13375 		DEBUG_OUTPUT("datenocolon");
13376 		TIMELIB_INIT;
13377 		TIMELIB_HAVE_DATE();
13378 		s->time->y = timelib_get_nr((char **) &ptr, 4);
13379 		s->time->m = timelib_get_nr((char **) &ptr, 2);
13380 		s->time->d = timelib_get_nr((char **) &ptr, 2);
13381 		TIMELIB_DEINIT;
13382 		return TIMELIB_DATE_NOCOLON;
13383 	}
13384 #line 13385 "<stdout>"
13385 yy814:
13386 	YYDEBUG(814, *YYCURSOR);
13387 	yych = *++YYCURSOR;
13388 	if (yych <= 'H') {
13389 		if (yych <= '2') {
13390 			if (yych <= '/') goto yy56;
13391 			if (yych <= '1') goto yy829;
13392 			goto yy830;
13393 		} else {
13394 			if (yych <= '9') goto yy831;
13395 			if (yych <= 'G') goto yy56;
13396 			goto yy71;
13397 		}
13398 	} else {
13399 		if (yych <= 'g') {
13400 			if (yych == 'U') goto yy72;
13401 			goto yy56;
13402 		} else {
13403 			if (yych <= 'h') goto yy71;
13404 			if (yych == 'u') goto yy72;
13405 			goto yy56;
13406 		}
13407 	}
13408 yy815:
13409 	YYDEBUG(815, *YYCURSOR);
13410 	yych = *++YYCURSOR;
13411 	if (yych <= 'H') {
13412 		if (yych <= '2') {
13413 			if (yych <= '/') goto yy56;
13414 			if (yych >= '2') goto yy817;
13415 		} else {
13416 			if (yych <= '9') goto yy818;
13417 			if (yych <= 'G') goto yy56;
13418 			goto yy71;
13419 		}
13420 	} else {
13421 		if (yych <= 'g') {
13422 			if (yych == 'U') goto yy72;
13423 			goto yy56;
13424 		} else {
13425 			if (yych <= 'h') goto yy71;
13426 			if (yych == 'u') goto yy72;
13427 			goto yy56;
13428 		}
13429 	}
13430 	YYDEBUG(816, *YYCURSOR);
13431 	yych = *++YYCURSOR;
13432 	if (yych <= '/') goto yy56;
13433 	if (yych <= '5') goto yy823;
13434 	if (yych <= '9') goto yy818;
13435 	goto yy56;
13436 yy817:
13437 	YYDEBUG(817, *YYCURSOR);
13438 	yych = *++YYCURSOR;
13439 	if (yych <= '/') goto yy56;
13440 	if (yych <= '4') goto yy823;
13441 	if (yych <= '5') goto yy819;
13442 	goto yy56;
13443 yy818:
13444 	YYDEBUG(818, *YYCURSOR);
13445 	yych = *++YYCURSOR;
13446 	if (yych <= '/') goto yy56;
13447 	if (yych >= '6') goto yy56;
13448 yy819:
13449 	YYDEBUG(819, *YYCURSOR);
13450 	yych = *++YYCURSOR;
13451 	if (yych <= '/') goto yy56;
13452 	if (yych >= ':') goto yy56;
13453 yy820:
13454 	YYDEBUG(820, *YYCURSOR);
13455 	yych = *++YYCURSOR;
13456 	if (yych <= '/') goto yy56;
13457 	if (yych <= '5') goto yy821;
13458 	if (yych <= '6') goto yy822;
13459 	goto yy56;
13460 yy821:
13461 	YYDEBUG(821, *YYCURSOR);
13462 	yych = *++YYCURSOR;
13463 	if (yych <= '/') goto yy56;
13464 	if (yych <= '9') goto yy806;
13465 	goto yy56;
13466 yy822:
13467 	YYDEBUG(822, *YYCURSOR);
13468 	yych = *++YYCURSOR;
13469 	if (yych == '0') goto yy806;
13470 	goto yy56;
13471 yy823:
13472 	YYDEBUG(823, *YYCURSOR);
13473 	yych = *++YYCURSOR;
13474 	if (yych <= '/') goto yy56;
13475 	if (yych <= '5') goto yy824;
13476 	if (yych <= '9') goto yy820;
13477 	goto yy56;
13478 yy824:
13479 	YYDEBUG(824, *YYCURSOR);
13480 	yych = *++YYCURSOR;
13481 	if (yych <= '/') goto yy56;
13482 	if (yych <= '5') goto yy825;
13483 	if (yych <= '6') goto yy826;
13484 	if (yych <= '9') goto yy820;
13485 	goto yy56;
13486 yy825:
13487 	YYDEBUG(825, *YYCURSOR);
13488 	yych = *++YYCURSOR;
13489 	if (yych <= '/') goto yy56;
13490 	if (yych <= '5') goto yy827;
13491 	if (yych <= '6') goto yy828;
13492 	if (yych <= '9') goto yy806;
13493 	goto yy56;
13494 yy826:
13495 	YYDEBUG(826, *YYCURSOR);
13496 	yych = *++YYCURSOR;
13497 	if (yych <= '/') goto yy56;
13498 	if (yych <= '0') goto yy827;
13499 	if (yych <= '5') goto yy821;
13500 	if (yych <= '6') goto yy822;
13501 	goto yy56;
13502 yy827:
13503 	YYDEBUG(827, *YYCURSOR);
13504 	yych = *++YYCURSOR;
13505 	if (yych <= '/') goto yy807;
13506 	if (yych <= '9') goto yy806;
13507 	goto yy807;
13508 yy828:
13509 	YYDEBUG(828, *YYCURSOR);
13510 	yych = *++YYCURSOR;
13511 	if (yych == '0') goto yy806;
13512 	goto yy807;
13513 yy829:
13514 	YYDEBUG(829, *YYCURSOR);
13515 	yych = *++YYCURSOR;
13516 	if (yych <= '/') goto yy56;
13517 	if (yych <= '5') goto yy838;
13518 	if (yych <= '9') goto yy831;
13519 	if (yych <= ':') goto yy832;
13520 	goto yy56;
13521 yy830:
13522 	YYDEBUG(830, *YYCURSOR);
13523 	yych = *++YYCURSOR;
13524 	if (yych <= '5') {
13525 		if (yych <= '/') goto yy56;
13526 		if (yych <= '4') goto yy838;
13527 		goto yy819;
13528 	} else {
13529 		if (yych == ':') goto yy832;
13530 		goto yy56;
13531 	}
13532 yy831:
13533 	YYDEBUG(831, *YYCURSOR);
13534 	yych = *++YYCURSOR;
13535 	if (yych <= '/') goto yy56;
13536 	if (yych <= '5') goto yy819;
13537 	if (yych != ':') goto yy56;
13538 yy832:
13539 	YYDEBUG(832, *YYCURSOR);
13540 	yych = *++YYCURSOR;
13541 	if (yych <= '/') goto yy56;
13542 	if (yych >= '6') goto yy56;
13543 	YYDEBUG(833, *YYCURSOR);
13544 	yych = *++YYCURSOR;
13545 	if (yych <= '/') goto yy56;
13546 	if (yych >= ':') goto yy56;
13547 	YYDEBUG(834, *YYCURSOR);
13548 	yych = *++YYCURSOR;
13549 	if (yych != ':') goto yy56;
13550 	YYDEBUG(835, *YYCURSOR);
13551 	yych = *++YYCURSOR;
13552 	if (yych <= '/') goto yy56;
13553 	if (yych <= '5') goto yy836;
13554 	if (yych <= '6') goto yy837;
13555 	goto yy56;
13556 yy836:
13557 	YYDEBUG(836, *YYCURSOR);
13558 	yych = *++YYCURSOR;
13559 	if (yych <= '/') goto yy56;
13560 	if (yych <= '9') goto yy806;
13561 	goto yy56;
13562 yy837:
13563 	YYDEBUG(837, *YYCURSOR);
13564 	yych = *++YYCURSOR;
13565 	if (yych == '0') goto yy806;
13566 	goto yy56;
13567 yy838:
13568 	YYDEBUG(838, *YYCURSOR);
13569 	yych = *++YYCURSOR;
13570 	if (yych <= '/') goto yy56;
13571 	if (yych <= '5') goto yy824;
13572 	if (yych <= '9') goto yy820;
13573 	if (yych <= ':') goto yy832;
13574 	goto yy56;
13575 yy839:
13576 	YYDEBUG(839, *YYCURSOR);
13577 	yych = *++YYCURSOR;
13578 	if (yych <= '2') {
13579 		if (yych <= '/') goto yy60;
13580 		if (yych <= '0') goto yy841;
13581 		goto yy810;
13582 	} else {
13583 		if (yych <= '3') goto yy811;
13584 		if (yych <= '9') goto yy785;
13585 		goto yy60;
13586 	}
13587 yy840:
13588 	YYDEBUG(840, *YYCURSOR);
13589 	yych = *++YYCURSOR;
13590 	if (yych <= '2') {
13591 		if (yych <= '/') goto yy60;
13592 		if (yych <= '0') goto yy809;
13593 		goto yy810;
13594 	} else {
13595 		if (yych <= '3') goto yy811;
13596 		if (yych <= '9') goto yy785;
13597 		goto yy60;
13598 	}
13599 yy841:
13600 	YYDEBUG(841, *YYCURSOR);
13601 	yych = *++YYCURSOR;
13602 	if (yych <= '/') goto yy60;
13603 	if (yych <= '9') goto yy812;
13604 	goto yy60;
13605 yy842:
13606 	YYDEBUG(842, *YYCURSOR);
13607 	yych = *++YYCURSOR;
13608 	if (yych == 'C') goto yy843;
13609 	if (yych != 'c') goto yy56;
13610 yy843:
13611 	YYDEBUG(843, *YYCURSOR);
13612 	yyaccept = 19;
13613 	yych = *(YYMARKER = ++YYCURSOR);
13614 	if (yych == 'E') goto yy844;
13615 	if (yych != 'e') goto yy758;
13616 yy844:
13617 	YYDEBUG(844, *YYCURSOR);
13618 	yych = *++YYCURSOR;
13619 	if (yych == 'M') goto yy845;
13620 	if (yych != 'm') goto yy56;
13621 yy845:
13622 	YYDEBUG(845, *YYCURSOR);
13623 	yych = *++YYCURSOR;
13624 	if (yych == 'B') goto yy846;
13625 	if (yych != 'b') goto yy56;
13626 yy846:
13627 	YYDEBUG(846, *YYCURSOR);
13628 	yych = *++YYCURSOR;
13629 	if (yych == 'E') goto yy847;
13630 	if (yych != 'e') goto yy56;
13631 yy847:
13632 	YYDEBUG(847, *YYCURSOR);
13633 	yych = *++YYCURSOR;
13634 	if (yych == 'R') goto yy848;
13635 	if (yych != 'r') goto yy56;
13636 yy848:
13637 	YYDEBUG(848, *YYCURSOR);
13638 	yych = *++YYCURSOR;
13639 	goto yy758;
13640 yy849:
13641 	YYDEBUG(849, *YYCURSOR);
13642 	yych = *++YYCURSOR;
13643 	if (yych == 'V') goto yy850;
13644 	if (yych != 'v') goto yy56;
13645 yy850:
13646 	YYDEBUG(850, *YYCURSOR);
13647 	yyaccept = 19;
13648 	yych = *(YYMARKER = ++YYCURSOR);
13649 	if (yych == 'E') goto yy851;
13650 	if (yych != 'e') goto yy758;
13651 yy851:
13652 	YYDEBUG(851, *YYCURSOR);
13653 	yych = *++YYCURSOR;
13654 	if (yych == 'M') goto yy852;
13655 	if (yych != 'm') goto yy56;
13656 yy852:
13657 	YYDEBUG(852, *YYCURSOR);
13658 	yych = *++YYCURSOR;
13659 	if (yych == 'B') goto yy853;
13660 	if (yych != 'b') goto yy56;
13661 yy853:
13662 	YYDEBUG(853, *YYCURSOR);
13663 	yych = *++YYCURSOR;
13664 	if (yych == 'E') goto yy854;
13665 	if (yych != 'e') goto yy56;
13666 yy854:
13667 	YYDEBUG(854, *YYCURSOR);
13668 	yych = *++YYCURSOR;
13669 	if (yych == 'R') goto yy848;
13670 	if (yych == 'r') goto yy848;
13671 	goto yy56;
13672 yy855:
13673 	YYDEBUG(855, *YYCURSOR);
13674 	yych = *++YYCURSOR;
13675 	if (yych == 'T') goto yy856;
13676 	if (yych != 't') goto yy56;
13677 yy856:
13678 	YYDEBUG(856, *YYCURSOR);
13679 	yyaccept = 19;
13680 	yych = *(YYMARKER = ++YYCURSOR);
13681 	if (yych == 'O') goto yy857;
13682 	if (yych != 'o') goto yy758;
13683 yy857:
13684 	YYDEBUG(857, *YYCURSOR);
13685 	yych = *++YYCURSOR;
13686 	if (yych == 'B') goto yy858;
13687 	if (yych != 'b') goto yy56;
13688 yy858:
13689 	YYDEBUG(858, *YYCURSOR);
13690 	yych = *++YYCURSOR;
13691 	if (yych == 'E') goto yy859;
13692 	if (yych != 'e') goto yy56;
13693 yy859:
13694 	YYDEBUG(859, *YYCURSOR);
13695 	yych = *++YYCURSOR;
13696 	if (yych == 'R') goto yy848;
13697 	if (yych == 'r') goto yy848;
13698 	goto yy56;
13699 yy860:
13700 	YYDEBUG(860, *YYCURSOR);
13701 	yych = *++YYCURSOR;
13702 	if (yych <= 'P') {
13703 		if (yych == 'C') goto yy121;
13704 		if (yych <= 'O') goto yy56;
13705 	} else {
13706 		if (yych <= 'c') {
13707 			if (yych <= 'b') goto yy56;
13708 			goto yy121;
13709 		} else {
13710 			if (yych != 'p') goto yy56;
13711 		}
13712 	}
13713 yy861:
13714 	YYDEBUG(861, *YYCURSOR);
13715 	yych = *++YYCURSOR;
13716 	if (yych == 'T') goto yy862;
13717 	if (yych != 't') goto yy758;
13718 yy862:
13719 	YYDEBUG(862, *YYCURSOR);
13720 	yyaccept = 19;
13721 	yych = *(YYMARKER = ++YYCURSOR);
13722 	if (yych == 'E') goto yy863;
13723 	if (yych != 'e') goto yy758;
13724 yy863:
13725 	YYDEBUG(863, *YYCURSOR);
13726 	yych = *++YYCURSOR;
13727 	if (yych == 'M') goto yy864;
13728 	if (yych != 'm') goto yy56;
13729 yy864:
13730 	YYDEBUG(864, *YYCURSOR);
13731 	yych = *++YYCURSOR;
13732 	if (yych == 'B') goto yy865;
13733 	if (yych != 'b') goto yy56;
13734 yy865:
13735 	YYDEBUG(865, *YYCURSOR);
13736 	yych = *++YYCURSOR;
13737 	if (yych == 'E') goto yy866;
13738 	if (yych != 'e') goto yy56;
13739 yy866:
13740 	YYDEBUG(866, *YYCURSOR);
13741 	yych = *++YYCURSOR;
13742 	if (yych == 'R') goto yy848;
13743 	if (yych == 'r') goto yy848;
13744 	goto yy56;
13745 yy867:
13746 	YYDEBUG(867, *YYCURSOR);
13747 	yych = *++YYCURSOR;
13748 	if (yych == 'G') goto yy871;
13749 	if (yych == 'g') goto yy871;
13750 	goto yy56;
13751 yy868:
13752 	YYDEBUG(868, *YYCURSOR);
13753 	yych = *++YYCURSOR;
13754 	if (yych == 'R') goto yy869;
13755 	if (yych != 'r') goto yy56;
13756 yy869:
13757 	YYDEBUG(869, *YYCURSOR);
13758 	yyaccept = 19;
13759 	yych = *(YYMARKER = ++YYCURSOR);
13760 	if (yych == 'I') goto yy870;
13761 	if (yych != 'i') goto yy758;
13762 yy870:
13763 	YYDEBUG(870, *YYCURSOR);
13764 	yych = *++YYCURSOR;
13765 	if (yych == 'L') goto yy848;
13766 	if (yych == 'l') goto yy848;
13767 	goto yy56;
13768 yy871:
13769 	YYDEBUG(871, *YYCURSOR);
13770 	yyaccept = 19;
13771 	yych = *(YYMARKER = ++YYCURSOR);
13772 	if (yych == 'U') goto yy872;
13773 	if (yych != 'u') goto yy758;
13774 yy872:
13775 	YYDEBUG(872, *YYCURSOR);
13776 	yych = *++YYCURSOR;
13777 	if (yych == 'S') goto yy873;
13778 	if (yych != 's') goto yy56;
13779 yy873:
13780 	YYDEBUG(873, *YYCURSOR);
13781 	yych = *++YYCURSOR;
13782 	if (yych == 'T') goto yy848;
13783 	if (yych == 't') goto yy848;
13784 	goto yy56;
13785 yy874:
13786 	YYDEBUG(874, *YYCURSOR);
13787 	yych = *++YYCURSOR;
13788 	if (yych <= 'Y') {
13789 		if (yych == 'R') goto yy875;
13790 		if (yych <= 'X') goto yy56;
13791 		goto yy848;
13792 	} else {
13793 		if (yych <= 'r') {
13794 			if (yych <= 'q') goto yy56;
13795 		} else {
13796 			if (yych == 'y') goto yy848;
13797 			goto yy56;
13798 		}
13799 	}
13800 yy875:
13801 	YYDEBUG(875, *YYCURSOR);
13802 	yyaccept = 19;
13803 	yych = *(YYMARKER = ++YYCURSOR);
13804 	if (yych == 'C') goto yy876;
13805 	if (yych != 'c') goto yy758;
13806 yy876:
13807 	YYDEBUG(876, *YYCURSOR);
13808 	yych = *++YYCURSOR;
13809 	if (yych == 'H') goto yy848;
13810 	if (yych == 'h') goto yy848;
13811 	goto yy56;
13812 yy877:
13813 	YYDEBUG(877, *YYCURSOR);
13814 	yych = *++YYCURSOR;
13815 	if (yych == 'B') goto yy878;
13816 	if (yych != 'b') goto yy56;
13817 yy878:
13818 	YYDEBUG(878, *YYCURSOR);
13819 	yyaccept = 19;
13820 	yych = *(YYMARKER = ++YYCURSOR);
13821 	if (yych == 'R') goto yy879;
13822 	if (yych != 'r') goto yy758;
13823 yy879:
13824 	YYDEBUG(879, *YYCURSOR);
13825 	yych = *++YYCURSOR;
13826 	if (yych == 'U') goto yy880;
13827 	if (yych != 'u') goto yy56;
13828 yy880:
13829 	YYDEBUG(880, *YYCURSOR);
13830 	yych = *++YYCURSOR;
13831 	if (yych == 'A') goto yy881;
13832 	if (yych != 'a') goto yy56;
13833 yy881:
13834 	YYDEBUG(881, *YYCURSOR);
13835 	yych = *++YYCURSOR;
13836 	if (yych == 'R') goto yy882;
13837 	if (yych != 'r') goto yy56;
13838 yy882:
13839 	YYDEBUG(882, *YYCURSOR);
13840 	yych = *++YYCURSOR;
13841 	if (yych == 'Y') goto yy848;
13842 	if (yych == 'y') goto yy848;
13843 	goto yy56;
13844 yy883:
13845 	YYDEBUG(883, *YYCURSOR);
13846 	yych = *++YYCURSOR;
13847 	if (yych <= 'N') {
13848 		if (yych == 'L') goto yy890;
13849 		if (yych <= 'M') goto yy56;
13850 		goto yy889;
13851 	} else {
13852 		if (yych <= 'l') {
13853 			if (yych <= 'k') goto yy56;
13854 			goto yy890;
13855 		} else {
13856 			if (yych == 'n') goto yy889;
13857 			goto yy56;
13858 		}
13859 	}
13860 yy884:
13861 	YYDEBUG(884, *YYCURSOR);
13862 	yych = *++YYCURSOR;
13863 	if (yych == 'N') goto yy885;
13864 	if (yych != 'n') goto yy56;
13865 yy885:
13866 	YYDEBUG(885, *YYCURSOR);
13867 	yyaccept = 19;
13868 	yych = *(YYMARKER = ++YYCURSOR);
13869 	if (yych == 'U') goto yy886;
13870 	if (yych != 'u') goto yy758;
13871 yy886:
13872 	YYDEBUG(886, *YYCURSOR);
13873 	yych = *++YYCURSOR;
13874 	if (yych == 'A') goto yy887;
13875 	if (yych != 'a') goto yy56;
13876 yy887:
13877 	YYDEBUG(887, *YYCURSOR);
13878 	yych = *++YYCURSOR;
13879 	if (yych == 'R') goto yy888;
13880 	if (yych != 'r') goto yy56;
13881 yy888:
13882 	YYDEBUG(888, *YYCURSOR);
13883 	yych = *++YYCURSOR;
13884 	if (yych == 'Y') goto yy848;
13885 	if (yych == 'y') goto yy848;
13886 	goto yy56;
13887 yy889:
13888 	YYDEBUG(889, *YYCURSOR);
13889 	yych = *++YYCURSOR;
13890 	if (yych == 'E') goto yy848;
13891 	if (yych == 'e') goto yy848;
13892 	goto yy758;
13893 yy890:
13894 	YYDEBUG(890, *YYCURSOR);
13895 	yych = *++YYCURSOR;
13896 	if (yych == 'Y') goto yy848;
13897 	if (yych == 'y') goto yy848;
13898 	goto yy758;
13899 yy891:
13900 	YYDEBUG(891, *YYCURSOR);
13901 	yych = *++YYCURSOR;
13902 	if (yych == 'I') goto yy848;
13903 	goto yy758;
13904 yy892:
13905 	YYDEBUG(892, *YYCURSOR);
13906 	yych = *++YYCURSOR;
13907 	if (yych != 'I') goto yy758;
13908 	YYDEBUG(893, *YYCURSOR);
13909 	yych = *++YYCURSOR;
13910 	if (yych == 'I') goto yy848;
13911 	goto yy758;
13912 yy894:
13913 	YYDEBUG(894, *YYCURSOR);
13914 	yych = *++YYCURSOR;
13915 	if (yych == 'I') goto yy848;
13916 	goto yy758;
13917 yy895:
13918 	YYDEBUG(895, *YYCURSOR);
13919 	yych = *++YYCURSOR;
13920 	if (yych <= '/') goto yy56;
13921 	if (yych <= '0') goto yy910;
13922 	if (yych <= '9') goto yy909;
13923 	goto yy56;
13924 yy896:
13925 	YYDEBUG(896, *YYCURSOR);
13926 	yych = *++YYCURSOR;
13927 	if (yych <= '/') goto yy56;
13928 	if (yych <= '9') goto yy908;
13929 	goto yy56;
13930 yy897:
13931 	YYDEBUG(897, *YYCURSOR);
13932 	yych = *++YYCURSOR;
13933 	if (yych <= '/') goto yy56;
13934 	if (yych <= '5') goto yy906;
13935 	if (yych <= '6') goto yy905;
13936 	goto yy56;
13937 yy898:
13938 	YYDEBUG(898, *YYCURSOR);
13939 	yych = *++YYCURSOR;
13940 	if (yych == 'E') goto yy877;
13941 	if (yych == 'e') goto yy877;
13942 	goto yy56;
13943 yy899:
13944 	YYDEBUG(899, *YYCURSOR);
13945 	yych = *++YYCURSOR;
13946 	if (yych == 'A') goto yy874;
13947 	if (yych == 'a') goto yy874;
13948 	goto yy56;
13949 yy900:
13950 	YYDEBUG(900, *YYCURSOR);
13951 	yych = *++YYCURSOR;
13952 	if (yych == 'E') goto yy904;
13953 	if (yych == 'e') goto yy904;
13954 	goto yy56;
13955 yy901:
13956 	YYDEBUG(901, *YYCURSOR);
13957 	yych = *++YYCURSOR;
13958 	if (yych == 'E') goto yy842;
13959 	if (yych == 'e') goto yy842;
13960 	goto yy56;
13961 yy902:
13962 	YYDEBUG(902, *YYCURSOR);
13963 	++YYCURSOR;
13964 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
13965 	yych = *YYCURSOR;
13966 yy903:
13967 	YYDEBUG(903, *YYCURSOR);
13968 	switch (yych) {
13969 	case '\t':
13970 	case ' ':
13971 	case '-':
13972 	case '.':	goto yy902;
13973 	case 'A':
13974 	case 'a':	goto yy764;
13975 	case 'D':
13976 	case 'd':	goto yy901;
13977 	case 'F':
13978 	case 'f':	goto yy898;
13979 	case 'I':	goto yy757;
13980 	case 'J':
13981 	case 'j':	goto yy761;
13982 	case 'M':
13983 	case 'm':	goto yy899;
13984 	case 'N':
13985 	case 'n':	goto yy767;
13986 	case 'O':
13987 	case 'o':	goto yy766;
13988 	case 'S':
13989 	case 's':	goto yy900;
13990 	case 'V':	goto yy759;
13991 	case 'X':	goto yy760;
13992 	default:	goto yy56;
13993 	}
13994 yy904:
13995 	YYDEBUG(904, *YYCURSOR);
13996 	yych = *++YYCURSOR;
13997 	if (yych == 'P') goto yy861;
13998 	if (yych == 'p') goto yy861;
13999 	goto yy56;
14000 yy905:
14001 	YYDEBUG(905, *YYCURSOR);
14002 	yych = *++YYCURSOR;
14003 	if (yych <= '/') goto yy56;
14004 	if (yych <= '6') goto yy907;
14005 	goto yy56;
14006 yy906:
14007 	YYDEBUG(906, *YYCURSOR);
14008 	yych = *++YYCURSOR;
14009 	if (yych <= '/') goto yy56;
14010 	if (yych >= ':') goto yy56;
14011 yy907:
14012 	YYDEBUG(907, *YYCURSOR);
14013 	yych = *++YYCURSOR;
14014 	goto yy786;
14015 yy908:
14016 	YYDEBUG(908, *YYCURSOR);
14017 	yych = *++YYCURSOR;
14018 	if (yych <= '/') goto yy56;
14019 	if (yych <= '9') goto yy907;
14020 	goto yy56;
14021 yy909:
14022 	YYDEBUG(909, *YYCURSOR);
14023 	yych = *++YYCURSOR;
14024 	if (yych <= '/') goto yy56;
14025 	if (yych <= '9') goto yy907;
14026 	goto yy56;
14027 yy910:
14028 	YYDEBUG(910, *YYCURSOR);
14029 	yych = *++YYCURSOR;
14030 	if (yych <= '0') goto yy56;
14031 	if (yych <= '9') goto yy907;
14032 	goto yy56;
14033 yy911:
14034 	YYDEBUG(911, *YYCURSOR);
14035 	yych = *++YYCURSOR;
14036 	if (yych <= '.') goto yy56;
14037 	if (yych <= '/') goto yy914;
14038 	if (yych <= '9') goto yy922;
14039 	goto yy56;
14040 yy912:
14041 	YYDEBUG(912, *YYCURSOR);
14042 	yych = *++YYCURSOR;
14043 	if (yych <= '.') goto yy56;
14044 	if (yych <= '/') goto yy914;
14045 	if (yych <= '2') goto yy922;
14046 	goto yy56;
14047 yy913:
14048 	YYDEBUG(913, *YYCURSOR);
14049 	yych = *++YYCURSOR;
14050 	if (yych != '/') goto yy56;
14051 yy914:
14052 	YYDEBUG(914, *YYCURSOR);
14053 	yych = *++YYCURSOR;
14054 	if (yych <= '/') goto yy56;
14055 	if (yych <= '2') goto yy915;
14056 	if (yych <= '3') goto yy916;
14057 	if (yych <= '9') goto yy917;
14058 	goto yy56;
14059 yy915:
14060 	YYDEBUG(915, *YYCURSOR);
14061 	yyaccept = 20;
14062 	yych = *(YYMARKER = ++YYCURSOR);
14063 	if (yych <= 'n') {
14064 		if (yych <= '/') goto yy419;
14065 		if (yych <= '9') goto yy917;
14066 		if (yych <= 'm') goto yy419;
14067 		goto yy919;
14068 	} else {
14069 		if (yych <= 'r') {
14070 			if (yych <= 'q') goto yy419;
14071 			goto yy920;
14072 		} else {
14073 			if (yych <= 's') goto yy918;
14074 			if (yych <= 't') goto yy921;
14075 			goto yy419;
14076 		}
14077 	}
14078 yy916:
14079 	YYDEBUG(916, *YYCURSOR);
14080 	yyaccept = 20;
14081 	yych = *(YYMARKER = ++YYCURSOR);
14082 	if (yych <= 'n') {
14083 		if (yych <= '/') goto yy419;
14084 		if (yych <= '1') goto yy917;
14085 		if (yych <= 'm') goto yy419;
14086 		goto yy919;
14087 	} else {
14088 		if (yych <= 'r') {
14089 			if (yych <= 'q') goto yy419;
14090 			goto yy920;
14091 		} else {
14092 			if (yych <= 's') goto yy918;
14093 			if (yych <= 't') goto yy921;
14094 			goto yy419;
14095 		}
14096 	}
14097 yy917:
14098 	YYDEBUG(917, *YYCURSOR);
14099 	yyaccept = 20;
14100 	yych = *(YYMARKER = ++YYCURSOR);
14101 	if (yych <= 'q') {
14102 		if (yych == 'n') goto yy919;
14103 		goto yy419;
14104 	} else {
14105 		if (yych <= 'r') goto yy920;
14106 		if (yych <= 's') goto yy918;
14107 		if (yych <= 't') goto yy921;
14108 		goto yy419;
14109 	}
14110 yy918:
14111 	YYDEBUG(918, *YYCURSOR);
14112 	yych = *++YYCURSOR;
14113 	if (yych == 't') goto yy418;
14114 	goto yy56;
14115 yy919:
14116 	YYDEBUG(919, *YYCURSOR);
14117 	yych = *++YYCURSOR;
14118 	if (yych == 'd') goto yy418;
14119 	goto yy56;
14120 yy920:
14121 	YYDEBUG(920, *YYCURSOR);
14122 	yych = *++YYCURSOR;
14123 	if (yych == 'd') goto yy418;
14124 	goto yy56;
14125 yy921:
14126 	YYDEBUG(921, *YYCURSOR);
14127 	yych = *++YYCURSOR;
14128 	if (yych == 'h') goto yy418;
14129 	goto yy56;
14130 yy922:
14131 	YYDEBUG(922, *YYCURSOR);
14132 	yych = *++YYCURSOR;
14133 	if (yych != '/') goto yy56;
14134 	YYDEBUG(923, *YYCURSOR);
14135 	yych = *++YYCURSOR;
14136 	if (yych <= '2') {
14137 		if (yych <= '/') goto yy56;
14138 		if (yych >= '1') goto yy925;
14139 	} else {
14140 		if (yych <= '3') goto yy926;
14141 		if (yych <= '9') goto yy917;
14142 		goto yy56;
14143 	}
14144 	YYDEBUG(924, *YYCURSOR);
14145 	yyaccept = 20;
14146 	yych = *(YYMARKER = ++YYCURSOR);
14147 	if (yych <= 'n') {
14148 		if (yych <= '/') goto yy419;
14149 		if (yych <= '9') goto yy927;
14150 		if (yych <= 'm') goto yy419;
14151 		goto yy919;
14152 	} else {
14153 		if (yych <= 'r') {
14154 			if (yych <= 'q') goto yy419;
14155 			goto yy920;
14156 		} else {
14157 			if (yych <= 's') goto yy918;
14158 			if (yych <= 't') goto yy921;
14159 			goto yy419;
14160 		}
14161 	}
14162 yy925:
14163 	YYDEBUG(925, *YYCURSOR);
14164 	yyaccept = 20;
14165 	yych = *(YYMARKER = ++YYCURSOR);
14166 	if (yych <= 'n') {
14167 		if (yych <= '/') goto yy419;
14168 		if (yych <= '9') goto yy927;
14169 		if (yych <= 'm') goto yy419;
14170 		goto yy919;
14171 	} else {
14172 		if (yych <= 'r') {
14173 			if (yych <= 'q') goto yy419;
14174 			goto yy920;
14175 		} else {
14176 			if (yych <= 's') goto yy918;
14177 			if (yych <= 't') goto yy921;
14178 			goto yy419;
14179 		}
14180 	}
14181 yy926:
14182 	YYDEBUG(926, *YYCURSOR);
14183 	yyaccept = 20;
14184 	yych = *(YYMARKER = ++YYCURSOR);
14185 	if (yych <= 'n') {
14186 		if (yych <= '/') goto yy419;
14187 		if (yych <= '1') goto yy927;
14188 		if (yych <= 'm') goto yy419;
14189 		goto yy919;
14190 	} else {
14191 		if (yych <= 'r') {
14192 			if (yych <= 'q') goto yy419;
14193 			goto yy920;
14194 		} else {
14195 			if (yych <= 's') goto yy918;
14196 			if (yych <= 't') goto yy921;
14197 			goto yy419;
14198 		}
14199 	}
14200 yy927:
14201 	YYDEBUG(927, *YYCURSOR);
14202 	yyaccept = 20;
14203 	yych = *(YYMARKER = ++YYCURSOR);
14204 	if (yych <= 'n') {
14205 		if (yych == '/') goto yy418;
14206 		if (yych <= 'm') goto yy419;
14207 		goto yy919;
14208 	} else {
14209 		if (yych <= 'r') {
14210 			if (yych <= 'q') goto yy419;
14211 			goto yy920;
14212 		} else {
14213 			if (yych <= 's') goto yy918;
14214 			if (yych <= 't') goto yy921;
14215 			goto yy419;
14216 		}
14217 	}
14218 yy928:
14219 	YYDEBUG(928, *YYCURSOR);
14220 	yych = *++YYCURSOR;
14221 	if (yych <= 'U') {
14222 		if (yych == 'A') goto yy1008;
14223 		if (yych <= 'T') goto yy56;
14224 		goto yy1007;
14225 	} else {
14226 		if (yych <= 'a') {
14227 			if (yych <= '`') goto yy56;
14228 			goto yy1008;
14229 		} else {
14230 			if (yych == 'u') goto yy1007;
14231 			goto yy56;
14232 		}
14233 	}
14234 yy929:
14235 	YYDEBUG(929, *YYCURSOR);
14236 	yych = *++YYCURSOR;
14237 	if (yych == 'E') goto yy1005;
14238 	if (yych == 'e') goto yy1005;
14239 	goto yy56;
14240 yy930:
14241 	YYDEBUG(930, *YYCURSOR);
14242 	yych = *++YYCURSOR;
14243 	if (yych == 'A') goto yy1002;
14244 	if (yych == 'a') goto yy1002;
14245 	goto yy56;
14246 yy931:
14247 	YYDEBUG(931, *YYCURSOR);
14248 	yych = *++YYCURSOR;
14249 	if (yych <= 'U') {
14250 		if (yych == 'P') goto yy999;
14251 		if (yych <= 'T') goto yy56;
14252 		goto yy998;
14253 	} else {
14254 		if (yych <= 'p') {
14255 			if (yych <= 'o') goto yy56;
14256 			goto yy999;
14257 		} else {
14258 			if (yych == 'u') goto yy998;
14259 			goto yy56;
14260 		}
14261 	}
14262 yy932:
14263 	YYDEBUG(932, *YYCURSOR);
14264 	yych = *++YYCURSOR;
14265 	if (yych == 'E') goto yy995;
14266 	if (yych == 'e') goto yy995;
14267 	goto yy56;
14268 yy933:
14269 	YYDEBUG(933, *YYCURSOR);
14270 	yych = *++YYCURSOR;
14271 	if (yych == 'C') goto yy993;
14272 	if (yych == 'c') goto yy993;
14273 	goto yy56;
14274 yy934:
14275 	YYDEBUG(934, *YYCURSOR);
14276 	yych = *++YYCURSOR;
14277 	if (yych == 'O') goto yy991;
14278 	if (yych == 'o') goto yy991;
14279 	goto yy56;
14280 yy935:
14281 	YYDEBUG(935, *YYCURSOR);
14282 	yych = *++YYCURSOR;
14283 	if (yych == 'E') goto yy989;
14284 	if (yych == 'e') goto yy989;
14285 	goto yy56;
14286 yy936:
14287 	YYDEBUG(936, *YYCURSOR);
14288 	yych = *++YYCURSOR;
14289 	if (yych <= '/') goto yy56;
14290 	if (yych <= '0') goto yy775;
14291 	if (yych <= '4') goto yy776;
14292 	if (yych <= '5') goto yy777;
14293 	goto yy56;
14294 yy937:
14295 	YYDEBUG(937, *YYCURSOR);
14296 	yyaccept = 21;
14297 	yych = *(YYMARKER = ++YYCURSOR);
14298 	if (yych == '-') goto yy941;
14299 	if (yych <= '/') goto yy938;
14300 	if (yych <= '9') goto yy960;
14301 yy938:
14302 	YYDEBUG(938, *YYCURSOR);
14303 #line 1312 "ext/date/lib/parse_date.re"
14304 	{
14305 		int length = 0;
14306 		DEBUG_OUTPUT("gnudateshorter");
14307 		TIMELIB_INIT;
14308 		TIMELIB_HAVE_DATE();
14309 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
14310 		s->time->m = timelib_get_nr((char **) &ptr, 2);
14311 		s->time->d = 1;
14312 		TIMELIB_PROCESS_YEAR(s->time->y, length);
14313 		TIMELIB_DEINIT;
14314 		return TIMELIB_ISO_DATE;
14315 	}
14316 #line 14317 "<stdout>"
14317 yy939:
14318 	YYDEBUG(939, *YYCURSOR);
14319 	yyaccept = 21;
14320 	yych = *(YYMARKER = ++YYCURSOR);
14321 	if (yych == '-') goto yy941;
14322 	if (yych <= '/') goto yy938;
14323 	if (yych <= '2') goto yy960;
14324 	goto yy938;
14325 yy940:
14326 	YYDEBUG(940, *YYCURSOR);
14327 	yyaccept = 21;
14328 	yych = *(YYMARKER = ++YYCURSOR);
14329 	if (yych != '-') goto yy938;
14330 yy941:
14331 	YYDEBUG(941, *YYCURSOR);
14332 	yych = *++YYCURSOR;
14333 	if (yych <= '/') goto yy56;
14334 	if (yych <= '2') goto yy942;
14335 	if (yych <= '3') goto yy943;
14336 	if (yych <= '9') goto yy944;
14337 	goto yy56;
14338 yy942:
14339 	YYDEBUG(942, *YYCURSOR);
14340 	yyaccept = 12;
14341 	yych = *(YYMARKER = ++YYCURSOR);
14342 	if (yych <= 'm') {
14343 		if (yych <= '9') {
14344 			if (yych <= '/') goto yy621;
14345 			goto yy944;
14346 		} else {
14347 			if (yych == 'T') goto yy949;
14348 			goto yy621;
14349 		}
14350 	} else {
14351 		if (yych <= 'r') {
14352 			if (yych <= 'n') goto yy946;
14353 			if (yych <= 'q') goto yy621;
14354 			goto yy947;
14355 		} else {
14356 			if (yych <= 's') goto yy945;
14357 			if (yych <= 't') goto yy948;
14358 			goto yy621;
14359 		}
14360 	}
14361 yy943:
14362 	YYDEBUG(943, *YYCURSOR);
14363 	yyaccept = 12;
14364 	yych = *(YYMARKER = ++YYCURSOR);
14365 	if (yych <= 'm') {
14366 		if (yych <= '1') {
14367 			if (yych <= '/') goto yy621;
14368 		} else {
14369 			if (yych == 'T') goto yy949;
14370 			goto yy621;
14371 		}
14372 	} else {
14373 		if (yych <= 'r') {
14374 			if (yych <= 'n') goto yy946;
14375 			if (yych <= 'q') goto yy621;
14376 			goto yy947;
14377 		} else {
14378 			if (yych <= 's') goto yy945;
14379 			if (yych <= 't') goto yy948;
14380 			goto yy621;
14381 		}
14382 	}
14383 yy944:
14384 	YYDEBUG(944, *YYCURSOR);
14385 	yyaccept = 12;
14386 	yych = *(YYMARKER = ++YYCURSOR);
14387 	if (yych <= 'n') {
14388 		if (yych == 'T') goto yy949;
14389 		if (yych <= 'm') goto yy621;
14390 		goto yy946;
14391 	} else {
14392 		if (yych <= 'r') {
14393 			if (yych <= 'q') goto yy621;
14394 			goto yy947;
14395 		} else {
14396 			if (yych <= 's') goto yy945;
14397 			if (yych <= 't') goto yy948;
14398 			goto yy621;
14399 		}
14400 	}
14401 yy945:
14402 	YYDEBUG(945, *YYCURSOR);
14403 	yych = *++YYCURSOR;
14404 	if (yych == 't') goto yy959;
14405 	goto yy56;
14406 yy946:
14407 	YYDEBUG(946, *YYCURSOR);
14408 	yych = *++YYCURSOR;
14409 	if (yych == 'd') goto yy959;
14410 	goto yy56;
14411 yy947:
14412 	YYDEBUG(947, *YYCURSOR);
14413 	yych = *++YYCURSOR;
14414 	if (yych == 'd') goto yy959;
14415 	goto yy56;
14416 yy948:
14417 	YYDEBUG(948, *YYCURSOR);
14418 	yych = *++YYCURSOR;
14419 	if (yych == 'h') goto yy959;
14420 	goto yy56;
14421 yy949:
14422 	YYDEBUG(949, *YYCURSOR);
14423 	yych = *++YYCURSOR;
14424 	if (yych <= '/') goto yy56;
14425 	if (yych <= '1') goto yy950;
14426 	if (yych <= '2') goto yy951;
14427 	if (yych <= '9') goto yy952;
14428 	goto yy56;
14429 yy950:
14430 	YYDEBUG(950, *YYCURSOR);
14431 	yych = *++YYCURSOR;
14432 	if (yych <= '/') goto yy56;
14433 	if (yych <= '9') goto yy952;
14434 	if (yych <= ':') goto yy953;
14435 	goto yy56;
14436 yy951:
14437 	YYDEBUG(951, *YYCURSOR);
14438 	yych = *++YYCURSOR;
14439 	if (yych <= '/') goto yy56;
14440 	if (yych <= '4') goto yy952;
14441 	if (yych == ':') goto yy953;
14442 	goto yy56;
14443 yy952:
14444 	YYDEBUG(952, *YYCURSOR);
14445 	yych = *++YYCURSOR;
14446 	if (yych != ':') goto yy56;
14447 yy953:
14448 	YYDEBUG(953, *YYCURSOR);
14449 	yych = *++YYCURSOR;
14450 	if (yych <= '/') goto yy56;
14451 	if (yych <= '5') goto yy954;
14452 	if (yych <= '9') goto yy955;
14453 	goto yy56;
14454 yy954:
14455 	YYDEBUG(954, *YYCURSOR);
14456 	yych = *++YYCURSOR;
14457 	if (yych <= '/') goto yy56;
14458 	if (yych <= '9') goto yy955;
14459 	if (yych <= ':') goto yy956;
14460 	goto yy56;
14461 yy955:
14462 	YYDEBUG(955, *YYCURSOR);
14463 	yych = *++YYCURSOR;
14464 	if (yych != ':') goto yy56;
14465 yy956:
14466 	YYDEBUG(956, *YYCURSOR);
14467 	yych = *++YYCURSOR;
14468 	if (yych <= '/') goto yy56;
14469 	if (yych <= '5') goto yy957;
14470 	if (yych <= '6') goto yy958;
14471 	if (yych <= '9') goto yy806;
14472 	goto yy56;
14473 yy957:
14474 	YYDEBUG(957, *YYCURSOR);
14475 	yych = *++YYCURSOR;
14476 	if (yych <= '/') goto yy807;
14477 	if (yych <= '9') goto yy806;
14478 	goto yy807;
14479 yy958:
14480 	YYDEBUG(958, *YYCURSOR);
14481 	yych = *++YYCURSOR;
14482 	if (yych == '0') goto yy806;
14483 	goto yy807;
14484 yy959:
14485 	YYDEBUG(959, *YYCURSOR);
14486 	yyaccept = 12;
14487 	yych = *(YYMARKER = ++YYCURSOR);
14488 	if (yych == 'T') goto yy949;
14489 	goto yy621;
14490 yy960:
14491 	YYDEBUG(960, *YYCURSOR);
14492 	yyaccept = 21;
14493 	yych = *(YYMARKER = ++YYCURSOR);
14494 	if (yych != '-') goto yy938;
14495 	YYDEBUG(961, *YYCURSOR);
14496 	yych = *++YYCURSOR;
14497 	if (yych <= '2') {
14498 		if (yych <= '/') goto yy56;
14499 		if (yych >= '1') goto yy963;
14500 	} else {
14501 		if (yych <= '3') goto yy964;
14502 		if (yych <= '9') goto yy944;
14503 		goto yy56;
14504 	}
14505 	YYDEBUG(962, *YYCURSOR);
14506 	yyaccept = 12;
14507 	yych = *(YYMARKER = ++YYCURSOR);
14508 	if (yych <= 'm') {
14509 		if (yych <= '9') {
14510 			if (yych <= '/') goto yy621;
14511 			goto yy965;
14512 		} else {
14513 			if (yych == 'T') goto yy949;
14514 			goto yy621;
14515 		}
14516 	} else {
14517 		if (yych <= 'r') {
14518 			if (yych <= 'n') goto yy946;
14519 			if (yych <= 'q') goto yy621;
14520 			goto yy947;
14521 		} else {
14522 			if (yych <= 's') goto yy945;
14523 			if (yych <= 't') goto yy948;
14524 			goto yy621;
14525 		}
14526 	}
14527 yy963:
14528 	YYDEBUG(963, *YYCURSOR);
14529 	yyaccept = 12;
14530 	yych = *(YYMARKER = ++YYCURSOR);
14531 	if (yych <= 'm') {
14532 		if (yych <= '9') {
14533 			if (yych <= '/') goto yy621;
14534 			goto yy965;
14535 		} else {
14536 			if (yych == 'T') goto yy949;
14537 			goto yy621;
14538 		}
14539 	} else {
14540 		if (yych <= 'r') {
14541 			if (yych <= 'n') goto yy946;
14542 			if (yych <= 'q') goto yy621;
14543 			goto yy947;
14544 		} else {
14545 			if (yych <= 's') goto yy945;
14546 			if (yych <= 't') goto yy948;
14547 			goto yy621;
14548 		}
14549 	}
14550 yy964:
14551 	YYDEBUG(964, *YYCURSOR);
14552 	yyaccept = 12;
14553 	yych = *(YYMARKER = ++YYCURSOR);
14554 	if (yych <= 'm') {
14555 		if (yych <= '1') {
14556 			if (yych <= '/') goto yy621;
14557 		} else {
14558 			if (yych == 'T') goto yy949;
14559 			goto yy621;
14560 		}
14561 	} else {
14562 		if (yych <= 'r') {
14563 			if (yych <= 'n') goto yy946;
14564 			if (yych <= 'q') goto yy621;
14565 			goto yy947;
14566 		} else {
14567 			if (yych <= 's') goto yy945;
14568 			if (yych <= 't') goto yy948;
14569 			goto yy621;
14570 		}
14571 	}
14572 yy965:
14573 	YYDEBUG(965, *YYCURSOR);
14574 	yyaccept = 20;
14575 	yych = *(YYMARKER = ++YYCURSOR);
14576 	if (yych <= 'n') {
14577 		if (yych == 'T') goto yy966;
14578 		if (yych <= 'm') goto yy419;
14579 		goto yy946;
14580 	} else {
14581 		if (yych <= 'r') {
14582 			if (yych <= 'q') goto yy419;
14583 			goto yy947;
14584 		} else {
14585 			if (yych <= 's') goto yy945;
14586 			if (yych <= 't') goto yy948;
14587 			goto yy419;
14588 		}
14589 	}
14590 yy966:
14591 	YYDEBUG(966, *YYCURSOR);
14592 	yych = *++YYCURSOR;
14593 	if (yych <= '/') goto yy56;
14594 	if (yych <= '1') goto yy967;
14595 	if (yych <= '2') goto yy968;
14596 	if (yych <= '9') goto yy952;
14597 	goto yy56;
14598 yy967:
14599 	YYDEBUG(967, *YYCURSOR);
14600 	yych = *++YYCURSOR;
14601 	if (yych <= '/') goto yy56;
14602 	if (yych <= '9') goto yy969;
14603 	if (yych <= ':') goto yy953;
14604 	goto yy56;
14605 yy968:
14606 	YYDEBUG(968, *YYCURSOR);
14607 	yych = *++YYCURSOR;
14608 	if (yych <= '/') goto yy56;
14609 	if (yych <= '4') goto yy969;
14610 	if (yych == ':') goto yy953;
14611 	goto yy56;
14612 yy969:
14613 	YYDEBUG(969, *YYCURSOR);
14614 	yych = *++YYCURSOR;
14615 	if (yych != ':') goto yy56;
14616 	YYDEBUG(970, *YYCURSOR);
14617 	yych = *++YYCURSOR;
14618 	if (yych <= '/') goto yy56;
14619 	if (yych <= '5') goto yy971;
14620 	if (yych <= '9') goto yy955;
14621 	goto yy56;
14622 yy971:
14623 	YYDEBUG(971, *YYCURSOR);
14624 	yych = *++YYCURSOR;
14625 	if (yych <= '/') goto yy56;
14626 	if (yych <= '9') goto yy972;
14627 	if (yych <= ':') goto yy956;
14628 	goto yy56;
14629 yy972:
14630 	YYDEBUG(972, *YYCURSOR);
14631 	yych = *++YYCURSOR;
14632 	if (yych != ':') goto yy56;
14633 	YYDEBUG(973, *YYCURSOR);
14634 	yych = *++YYCURSOR;
14635 	if (yych <= '/') goto yy56;
14636 	if (yych <= '5') goto yy974;
14637 	if (yych <= '6') goto yy975;
14638 	if (yych <= '9') goto yy806;
14639 	goto yy56;
14640 yy974:
14641 	YYDEBUG(974, *YYCURSOR);
14642 	yych = *++YYCURSOR;
14643 	if (yych <= '/') goto yy807;
14644 	if (yych <= '9') goto yy976;
14645 	goto yy807;
14646 yy975:
14647 	YYDEBUG(975, *YYCURSOR);
14648 	yych = *++YYCURSOR;
14649 	if (yych != '0') goto yy807;
14650 yy976:
14651 	YYDEBUG(976, *YYCURSOR);
14652 	yyaccept = 22;
14653 	yych = *(YYMARKER = ++YYCURSOR);
14654 	if (yych != '.') goto yy807;
14655 	YYDEBUG(977, *YYCURSOR);
14656 	yych = *++YYCURSOR;
14657 	if (yych <= '/') goto yy56;
14658 	if (yych >= ':') goto yy56;
14659 yy978:
14660 	YYDEBUG(978, *YYCURSOR);
14661 	yyaccept = 22;
14662 	YYMARKER = ++YYCURSOR;
14663 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
14664 	yych = *YYCURSOR;
14665 	YYDEBUG(979, *YYCURSOR);
14666 	if (yych <= '-') {
14667 		if (yych == '+') goto yy981;
14668 		if (yych <= ',') goto yy807;
14669 		goto yy981;
14670 	} else {
14671 		if (yych <= '9') {
14672 			if (yych <= '/') goto yy807;
14673 			goto yy978;
14674 		} else {
14675 			if (yych != 'G') goto yy807;
14676 		}
14677 	}
14678 	YYDEBUG(980, *YYCURSOR);
14679 	yych = *++YYCURSOR;
14680 	if (yych == 'M') goto yy987;
14681 	goto yy56;
14682 yy981:
14683 	YYDEBUG(981, *YYCURSOR);
14684 	yych = *++YYCURSOR;
14685 	if (yych <= '/') goto yy56;
14686 	if (yych <= '1') goto yy982;
14687 	if (yych <= '2') goto yy983;
14688 	if (yych <= '9') goto yy984;
14689 	goto yy56;
14690 yy982:
14691 	YYDEBUG(982, *YYCURSOR);
14692 	yych = *++YYCURSOR;
14693 	if (yych <= '/') goto yy807;
14694 	if (yych <= '9') goto yy984;
14695 	if (yych <= ':') goto yy985;
14696 	goto yy807;
14697 yy983:
14698 	YYDEBUG(983, *YYCURSOR);
14699 	yych = *++YYCURSOR;
14700 	if (yych <= '5') {
14701 		if (yych <= '/') goto yy807;
14702 		if (yych >= '5') goto yy986;
14703 	} else {
14704 		if (yych <= '9') goto yy806;
14705 		if (yych <= ':') goto yy985;
14706 		goto yy807;
14707 	}
14708 yy984:
14709 	YYDEBUG(984, *YYCURSOR);
14710 	yych = *++YYCURSOR;
14711 	if (yych <= '/') goto yy807;
14712 	if (yych <= '5') goto yy986;
14713 	if (yych <= '9') goto yy806;
14714 	if (yych >= ';') goto yy807;
14715 yy985:
14716 	YYDEBUG(985, *YYCURSOR);
14717 	yych = *++YYCURSOR;
14718 	if (yych <= '/') goto yy807;
14719 	if (yych <= '5') goto yy986;
14720 	if (yych <= '9') goto yy806;
14721 	goto yy807;
14722 yy986:
14723 	YYDEBUG(986, *YYCURSOR);
14724 	yych = *++YYCURSOR;
14725 	if (yych <= '/') goto yy807;
14726 	if (yych <= '9') goto yy806;
14727 	goto yy807;
14728 yy987:
14729 	YYDEBUG(987, *YYCURSOR);
14730 	yych = *++YYCURSOR;
14731 	if (yych != 'T') goto yy56;
14732 	YYDEBUG(988, *YYCURSOR);
14733 	yych = *++YYCURSOR;
14734 	if (yych == '+') goto yy981;
14735 	if (yych == '-') goto yy981;
14736 	goto yy56;
14737 yy989:
14738 	YYDEBUG(989, *YYCURSOR);
14739 	yych = *++YYCURSOR;
14740 	if (yych == 'C') goto yy990;
14741 	if (yych != 'c') goto yy56;
14742 yy990:
14743 	YYDEBUG(990, *YYCURSOR);
14744 	yyaccept = 19;
14745 	yych = *(YYMARKER = ++YYCURSOR);
14746 	if (yych <= 'D') {
14747 		if (yych == '-') goto yy731;
14748 		goto yy758;
14749 	} else {
14750 		if (yych <= 'E') goto yy844;
14751 		if (yych == 'e') goto yy844;
14752 		goto yy758;
14753 	}
14754 yy991:
14755 	YYDEBUG(991, *YYCURSOR);
14756 	yych = *++YYCURSOR;
14757 	if (yych == 'V') goto yy992;
14758 	if (yych != 'v') goto yy56;
14759 yy992:
14760 	YYDEBUG(992, *YYCURSOR);
14761 	yyaccept = 19;
14762 	yych = *(YYMARKER = ++YYCURSOR);
14763 	if (yych <= 'D') {
14764 		if (yych == '-') goto yy731;
14765 		goto yy758;
14766 	} else {
14767 		if (yych <= 'E') goto yy851;
14768 		if (yych == 'e') goto yy851;
14769 		goto yy758;
14770 	}
14771 yy993:
14772 	YYDEBUG(993, *YYCURSOR);
14773 	yych = *++YYCURSOR;
14774 	if (yych == 'T') goto yy994;
14775 	if (yych != 't') goto yy56;
14776 yy994:
14777 	YYDEBUG(994, *YYCURSOR);
14778 	yyaccept = 19;
14779 	yych = *(YYMARKER = ++YYCURSOR);
14780 	if (yych <= 'N') {
14781 		if (yych == '-') goto yy731;
14782 		goto yy758;
14783 	} else {
14784 		if (yych <= 'O') goto yy857;
14785 		if (yych == 'o') goto yy857;
14786 		goto yy758;
14787 	}
14788 yy995:
14789 	YYDEBUG(995, *YYCURSOR);
14790 	yych = *++YYCURSOR;
14791 	if (yych == 'P') goto yy996;
14792 	if (yych != 'p') goto yy56;
14793 yy996:
14794 	YYDEBUG(996, *YYCURSOR);
14795 	yyaccept = 19;
14796 	yych = *(YYMARKER = ++YYCURSOR);
14797 	if (yych <= 'S') {
14798 		if (yych == '-') goto yy731;
14799 		goto yy758;
14800 	} else {
14801 		if (yych <= 'T') goto yy997;
14802 		if (yych != 't') goto yy758;
14803 	}
14804 yy997:
14805 	YYDEBUG(997, *YYCURSOR);
14806 	yyaccept = 19;
14807 	yych = *(YYMARKER = ++YYCURSOR);
14808 	if (yych <= 'D') {
14809 		if (yych == '-') goto yy731;
14810 		goto yy758;
14811 	} else {
14812 		if (yych <= 'E') goto yy863;
14813 		if (yych == 'e') goto yy863;
14814 		goto yy758;
14815 	}
14816 yy998:
14817 	YYDEBUG(998, *YYCURSOR);
14818 	yych = *++YYCURSOR;
14819 	if (yych == 'G') goto yy1001;
14820 	if (yych == 'g') goto yy1001;
14821 	goto yy56;
14822 yy999:
14823 	YYDEBUG(999, *YYCURSOR);
14824 	yych = *++YYCURSOR;
14825 	if (yych == 'R') goto yy1000;
14826 	if (yych != 'r') goto yy56;
14827 yy1000:
14828 	YYDEBUG(1000, *YYCURSOR);
14829 	yyaccept = 19;
14830 	yych = *(YYMARKER = ++YYCURSOR);
14831 	if (yych <= 'H') {
14832 		if (yych == '-') goto yy731;
14833 		goto yy758;
14834 	} else {
14835 		if (yych <= 'I') goto yy870;
14836 		if (yych == 'i') goto yy870;
14837 		goto yy758;
14838 	}
14839 yy1001:
14840 	YYDEBUG(1001, *YYCURSOR);
14841 	yyaccept = 19;
14842 	yych = *(YYMARKER = ++YYCURSOR);
14843 	if (yych <= 'T') {
14844 		if (yych == '-') goto yy731;
14845 		goto yy758;
14846 	} else {
14847 		if (yych <= 'U') goto yy872;
14848 		if (yych == 'u') goto yy872;
14849 		goto yy758;
14850 	}
14851 yy1002:
14852 	YYDEBUG(1002, *YYCURSOR);
14853 	yych = *++YYCURSOR;
14854 	if (yych <= 'Y') {
14855 		if (yych == 'R') goto yy1003;
14856 		if (yych <= 'X') goto yy56;
14857 		goto yy1004;
14858 	} else {
14859 		if (yych <= 'r') {
14860 			if (yych <= 'q') goto yy56;
14861 		} else {
14862 			if (yych == 'y') goto yy1004;
14863 			goto yy56;
14864 		}
14865 	}
14866 yy1003:
14867 	YYDEBUG(1003, *YYCURSOR);
14868 	yyaccept = 19;
14869 	yych = *(YYMARKER = ++YYCURSOR);
14870 	if (yych <= 'B') {
14871 		if (yych == '-') goto yy731;
14872 		goto yy758;
14873 	} else {
14874 		if (yych <= 'C') goto yy876;
14875 		if (yych == 'c') goto yy876;
14876 		goto yy758;
14877 	}
14878 yy1004:
14879 	YYDEBUG(1004, *YYCURSOR);
14880 	yyaccept = 19;
14881 	yych = *(YYMARKER = ++YYCURSOR);
14882 	if (yych == '-') goto yy731;
14883 	goto yy758;
14884 yy1005:
14885 	YYDEBUG(1005, *YYCURSOR);
14886 	yych = *++YYCURSOR;
14887 	if (yych == 'B') goto yy1006;
14888 	if (yych != 'b') goto yy56;
14889 yy1006:
14890 	YYDEBUG(1006, *YYCURSOR);
14891 	yyaccept = 19;
14892 	yych = *(YYMARKER = ++YYCURSOR);
14893 	if (yych <= 'Q') {
14894 		if (yych == '-') goto yy731;
14895 		goto yy758;
14896 	} else {
14897 		if (yych <= 'R') goto yy879;
14898 		if (yych == 'r') goto yy879;
14899 		goto yy758;
14900 	}
14901 yy1007:
14902 	YYDEBUG(1007, *YYCURSOR);
14903 	yych = *++YYCURSOR;
14904 	if (yych <= 'N') {
14905 		if (yych == 'L') goto yy1011;
14906 		if (yych <= 'M') goto yy56;
14907 		goto yy1010;
14908 	} else {
14909 		if (yych <= 'l') {
14910 			if (yych <= 'k') goto yy56;
14911 			goto yy1011;
14912 		} else {
14913 			if (yych == 'n') goto yy1010;
14914 			goto yy56;
14915 		}
14916 	}
14917 yy1008:
14918 	YYDEBUG(1008, *YYCURSOR);
14919 	yych = *++YYCURSOR;
14920 	if (yych == 'N') goto yy1009;
14921 	if (yych != 'n') goto yy56;
14922 yy1009:
14923 	YYDEBUG(1009, *YYCURSOR);
14924 	yyaccept = 19;
14925 	yych = *(YYMARKER = ++YYCURSOR);
14926 	if (yych <= 'T') {
14927 		if (yych == '-') goto yy731;
14928 		goto yy758;
14929 	} else {
14930 		if (yych <= 'U') goto yy886;
14931 		if (yych == 'u') goto yy886;
14932 		goto yy758;
14933 	}
14934 yy1010:
14935 	YYDEBUG(1010, *YYCURSOR);
14936 	yyaccept = 19;
14937 	yych = *(YYMARKER = ++YYCURSOR);
14938 	if (yych <= 'D') {
14939 		if (yych == '-') goto yy731;
14940 		goto yy758;
14941 	} else {
14942 		if (yych <= 'E') goto yy848;
14943 		if (yych == 'e') goto yy848;
14944 		goto yy758;
14945 	}
14946 yy1011:
14947 	YYDEBUG(1011, *YYCURSOR);
14948 	yyaccept = 19;
14949 	yych = *(YYMARKER = ++YYCURSOR);
14950 	if (yych <= 'X') {
14951 		if (yych == '-') goto yy731;
14952 		goto yy758;
14953 	} else {
14954 		if (yych <= 'Y') goto yy848;
14955 		if (yych == 'y') goto yy848;
14956 		goto yy758;
14957 	}
14958 yy1012:
14959 	YYDEBUG(1012, *YYCURSOR);
14960 	yych = *++YYCURSOR;
14961 	if (yych <= '.') {
14962 		if (yych <= '\t') {
14963 			if (yych <= 0x08) goto yy542;
14964 			goto yy695;
14965 		} else {
14966 			if (yych <= ',') goto yy542;
14967 			if (yych <= '-') goto yy696;
14968 			goto yy695;
14969 		}
14970 	} else {
14971 		if (yych <= 'U') {
14972 			if (yych <= '/') goto yy694;
14973 			if (yych <= 'T') goto yy542;
14974 			goto yy79;
14975 		} else {
14976 			if (yych == 'u') goto yy79;
14977 			goto yy542;
14978 		}
14979 	}
14980 yy1013:
14981 	YYDEBUG(1013, *YYCURSOR);
14982 	yych = *++YYCURSOR;
14983 	if (yych <= 'P') {
14984 		if (yych == 'C') goto yy121;
14985 		if (yych <= 'O') goto yy56;
14986 		goto yy550;
14987 	} else {
14988 		if (yych <= 'c') {
14989 			if (yych <= 'b') goto yy56;
14990 			goto yy121;
14991 		} else {
14992 			if (yych == 'p') goto yy550;
14993 			goto yy56;
14994 		}
14995 	}
14996 yy1014:
14997 	YYDEBUG(1014, *YYCURSOR);
14998 	yych = *++YYCURSOR;
14999 	if (yych <= '9') {
15000 		if (yych <= ',') {
15001 			if (yych == '\t') goto yy1016;
15002 			goto yy1018;
15003 		} else {
15004 			if (yych <= '-') goto yy1015;
15005 			if (yych <= '.') goto yy695;
15006 			if (yych <= '/') goto yy694;
15007 			goto yy705;
15008 		}
15009 	} else {
15010 		if (yych <= 'q') {
15011 			if (yych == 'n') goto yy434;
15012 			goto yy1018;
15013 		} else {
15014 			if (yych <= 'r') goto yy435;
15015 			if (yych <= 's') goto yy429;
15016 			if (yych <= 't') goto yy432;
15017 			goto yy1018;
15018 		}
15019 	}
15020 yy1015:
15021 	YYDEBUG(1015, *YYCURSOR);
15022 	yych = *++YYCURSOR;
15023 	switch (yych) {
15024 	case '0':	goto yy1019;
15025 	case '1':	goto yy1020;
15026 	case '2':
15027 	case '3':
15028 	case '4':
15029 	case '5':
15030 	case '6':
15031 	case '7':
15032 	case '8':
15033 	case '9':	goto yy582;
15034 	case 'A':
15035 	case 'a':	goto yy586;
15036 	case 'D':
15037 	case 'd':	goto yy590;
15038 	case 'F':
15039 	case 'f':	goto yy584;
15040 	case 'J':
15041 	case 'j':	goto yy583;
15042 	case 'M':
15043 	case 'm':	goto yy585;
15044 	case 'N':
15045 	case 'n':	goto yy589;
15046 	case 'O':
15047 	case 'o':	goto yy588;
15048 	case 'S':
15049 	case 's':	goto yy587;
15050 	default:	goto yy542;
15051 	}
15052 yy1016:
15053 	YYDEBUG(1016, *YYCURSOR);
15054 	yych = *++YYCURSOR;
15055 	if (yych <= '/') goto yy1018;
15056 	if (yych <= '0') goto yy700;
15057 	if (yych <= '1') goto yy701;
15058 	if (yych <= '9') goto yy702;
15059 	goto yy1018;
15060 yy1017:
15061 	YYDEBUG(1017, *YYCURSOR);
15062 	++YYCURSOR;
15063 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
15064 	yych = *YYCURSOR;
15065 yy1018:
15066 	YYDEBUG(1018, *YYCURSOR);
15067 	if (yych <= 'W') {
15068 		if (yych <= 'G') {
15069 			if (yych <= '.') {
15070 				if (yych <= 0x1F) {
15071 					if (yych == '\t') goto yy1017;
15072 					goto yy56;
15073 				} else {
15074 					if (yych <= ' ') goto yy1017;
15075 					if (yych <= ',') goto yy56;
15076 					goto yy541;
15077 				}
15078 			} else {
15079 				if (yych <= 'C') {
15080 					if (yych == 'A') goto yy538;
15081 					goto yy56;
15082 				} else {
15083 					if (yych <= 'D') goto yy430;
15084 					if (yych == 'F') goto yy431;
15085 					goto yy56;
15086 				}
15087 			}
15088 		} else {
15089 			if (yych <= 'N') {
15090 				if (yych <= 'J') {
15091 					if (yych <= 'H') goto yy65;
15092 					if (yych <= 'I') goto yy439;
15093 					goto yy443;
15094 				} else {
15095 					if (yych <= 'L') goto yy56;
15096 					if (yych <= 'M') goto yy427;
15097 					goto yy446;
15098 				}
15099 			} else {
15100 				if (yych <= 'S') {
15101 					if (yych <= 'O') goto yy445;
15102 					if (yych <= 'R') goto yy56;
15103 					goto yy428;
15104 				} else {
15105 					if (yych <= 'T') goto yy70;
15106 					if (yych <= 'U') goto yy63;
15107 					if (yych <= 'V') goto yy441;
15108 					goto yy69;
15109 				}
15110 			}
15111 		}
15112 	} else {
15113 		if (yych <= 'l') {
15114 			if (yych <= 'd') {
15115 				if (yych <= '`') {
15116 					if (yych <= 'X') goto yy442;
15117 					if (yych <= 'Y') goto yy68;
15118 					goto yy56;
15119 				} else {
15120 					if (yych <= 'a') goto yy538;
15121 					if (yych <= 'c') goto yy56;
15122 					goto yy430;
15123 				}
15124 			} else {
15125 				if (yych <= 'g') {
15126 					if (yych == 'f') goto yy431;
15127 					goto yy56;
15128 				} else {
15129 					if (yych <= 'h') goto yy65;
15130 					if (yych == 'j') goto yy443;
15131 					goto yy56;
15132 				}
15133 			}
15134 		} else {
15135 			if (yych <= 'u') {
15136 				if (yych <= 'o') {
15137 					if (yych <= 'm') goto yy427;
15138 					if (yych <= 'n') goto yy446;
15139 					goto yy445;
15140 				} else {
15141 					if (yych <= 'r') goto yy56;
15142 					if (yych <= 's') goto yy428;
15143 					if (yych <= 't') goto yy70;
15144 					goto yy63;
15145 				}
15146 			} else {
15147 				if (yych <= 'x') {
15148 					if (yych == 'w') goto yy69;
15149 					goto yy56;
15150 				} else {
15151 					if (yych <= 'y') goto yy68;
15152 					if (yych == 0xC2) goto yy62;
15153 					goto yy56;
15154 				}
15155 			}
15156 		}
15157 	}
15158 yy1019:
15159 	YYDEBUG(1019, *YYCURSOR);
15160 	yych = *++YYCURSOR;
15161 	if (yych <= '.') {
15162 		if (yych <= ',') goto yy56;
15163 		if (yych <= '-') goto yy619;
15164 		goto yy566;
15165 	} else {
15166 		if (yych <= '/') goto yy56;
15167 		if (yych <= '9') goto yy1021;
15168 		goto yy56;
15169 	}
15170 yy1020:
15171 	YYDEBUG(1020, *YYCURSOR);
15172 	yych = *++YYCURSOR;
15173 	if (yych <= '.') {
15174 		if (yych <= ',') goto yy56;
15175 		if (yych <= '-') goto yy619;
15176 		goto yy566;
15177 	} else {
15178 		if (yych <= '/') goto yy56;
15179 		if (yych >= '3') goto yy56;
15180 	}
15181 yy1021:
15182 	YYDEBUG(1021, *YYCURSOR);
15183 	yych = *++YYCURSOR;
15184 	if (yych <= ',') goto yy56;
15185 	if (yych <= '-') goto yy1022;
15186 	if (yych <= '.') goto yy566;
15187 	goto yy56;
15188 yy1022:
15189 	YYDEBUG(1022, *YYCURSOR);
15190 	yych = *++YYCURSOR;
15191 	if (yych <= '2') {
15192 		if (yych <= '/') goto yy56;
15193 		if (yych >= '1') goto yy1024;
15194 	} else {
15195 		if (yych <= '3') goto yy1025;
15196 		if (yych <= '9') goto yy623;
15197 		goto yy56;
15198 	}
15199 	YYDEBUG(1023, *YYCURSOR);
15200 	yyaccept = 12;
15201 	yych = *(YYMARKER = ++YYCURSOR);
15202 	if (yych <= 'n') {
15203 		if (yych <= '/') goto yy621;
15204 		if (yych <= '9') goto yy1026;
15205 		if (yych <= 'm') goto yy621;
15206 		goto yy625;
15207 	} else {
15208 		if (yych <= 'r') {
15209 			if (yych <= 'q') goto yy621;
15210 			goto yy626;
15211 		} else {
15212 			if (yych <= 's') goto yy624;
15213 			if (yych <= 't') goto yy627;
15214 			goto yy621;
15215 		}
15216 	}
15217 yy1024:
15218 	YYDEBUG(1024, *YYCURSOR);
15219 	yyaccept = 12;
15220 	yych = *(YYMARKER = ++YYCURSOR);
15221 	if (yych <= 'n') {
15222 		if (yych <= '/') goto yy621;
15223 		if (yych <= '9') goto yy1026;
15224 		if (yych <= 'm') goto yy621;
15225 		goto yy625;
15226 	} else {
15227 		if (yych <= 'r') {
15228 			if (yych <= 'q') goto yy621;
15229 			goto yy626;
15230 		} else {
15231 			if (yych <= 's') goto yy624;
15232 			if (yych <= 't') goto yy627;
15233 			goto yy621;
15234 		}
15235 	}
15236 yy1025:
15237 	YYDEBUG(1025, *YYCURSOR);
15238 	yyaccept = 12;
15239 	yych = *(YYMARKER = ++YYCURSOR);
15240 	if (yych <= 'n') {
15241 		if (yych <= '1') {
15242 			if (yych <= '/') goto yy621;
15243 		} else {
15244 			if (yych <= '9') goto yy568;
15245 			if (yych <= 'm') goto yy621;
15246 			goto yy625;
15247 		}
15248 	} else {
15249 		if (yych <= 'r') {
15250 			if (yych <= 'q') goto yy621;
15251 			goto yy626;
15252 		} else {
15253 			if (yych <= 's') goto yy624;
15254 			if (yych <= 't') goto yy627;
15255 			goto yy621;
15256 		}
15257 	}
15258 yy1026:
15259 	YYDEBUG(1026, *YYCURSOR);
15260 	yyaccept = 14;
15261 	yych = *(YYMARKER = ++YYCURSOR);
15262 	if (yych <= 'n') {
15263 		if (yych <= '/') goto yy728;
15264 		if (yych <= '9') goto yy569;
15265 		if (yych <= 'm') goto yy728;
15266 		goto yy625;
15267 	} else {
15268 		if (yych <= 'r') {
15269 			if (yych <= 'q') goto yy728;
15270 			goto yy626;
15271 		} else {
15272 			if (yych <= 's') goto yy624;
15273 			if (yych <= 't') goto yy627;
15274 			goto yy728;
15275 		}
15276 	}
15277 yy1027:
15278 	YYDEBUG(1027, *YYCURSOR);
15279 	yych = *++YYCURSOR;
15280 	if (yych <= '9') {
15281 		if (yych <= '-') {
15282 			if (yych == '\t') goto yy1016;
15283 			if (yych <= ',') goto yy1018;
15284 			goto yy1015;
15285 		} else {
15286 			if (yych <= '.') goto yy1028;
15287 			if (yych <= '/') goto yy694;
15288 			if (yych <= '5') goto yy1030;
15289 			goto yy705;
15290 		}
15291 	} else {
15292 		if (yych <= 'q') {
15293 			if (yych <= ':') goto yy1029;
15294 			if (yych == 'n') goto yy434;
15295 			goto yy1018;
15296 		} else {
15297 			if (yych <= 'r') goto yy435;
15298 			if (yych <= 's') goto yy429;
15299 			if (yych <= 't') goto yy432;
15300 			goto yy1018;
15301 		}
15302 	}
15303 yy1028:
15304 	YYDEBUG(1028, *YYCURSOR);
15305 	yych = *++YYCURSOR;
15306 	if (yych <= '1') {
15307 		if (yych <= '/') goto yy542;
15308 		if (yych <= '0') goto yy1052;
15309 		goto yy1053;
15310 	} else {
15311 		if (yych <= '5') goto yy1054;
15312 		if (yych <= '9') goto yy1055;
15313 		goto yy542;
15314 	}
15315 yy1029:
15316 	YYDEBUG(1029, *YYCURSOR);
15317 	yych = *++YYCURSOR;
15318 	if (yych <= '/') goto yy56;
15319 	if (yych <= '5') goto yy1047;
15320 	if (yych <= '9') goto yy1048;
15321 	goto yy56;
15322 yy1030:
15323 	YYDEBUG(1030, *YYCURSOR);
15324 	yych = *++YYCURSOR;
15325 	if (yych == '-') goto yy749;
15326 	if (yych <= '/') goto yy60;
15327 	if (yych >= ':') goto yy60;
15328 	YYDEBUG(1031, *YYCURSOR);
15329 	yyaccept = 23;
15330 	yych = *(YYMARKER = ++YYCURSOR);
15331 	if (yych <= 'L') {
15332 		if (yych <= '3') {
15333 			if (yych <= '-') {
15334 				if (yych <= 0x1F) {
15335 					if (yych == '\t') goto yy755;
15336 				} else {
15337 					if (yych <= ' ') goto yy755;
15338 					if (yych >= '-') goto yy752;
15339 				}
15340 			} else {
15341 				if (yych <= '0') {
15342 					if (yych <= '.') goto yy756;
15343 					if (yych <= '/') goto yy753;
15344 					goto yy1033;
15345 				} else {
15346 					if (yych <= '1') goto yy1034;
15347 					if (yych <= '2') goto yy1035;
15348 					goto yy1036;
15349 				}
15350 			}
15351 		} else {
15352 			if (yych <= 'A') {
15353 				if (yych <= '9') {
15354 					if (yych <= '5') goto yy1037;
15355 					if (yych <= '6') goto yy1038;
15356 					goto yy54;
15357 				} else {
15358 					if (yych <= ':') goto yy771;
15359 					if (yych >= 'A') goto yy755;
15360 				}
15361 			} else {
15362 				if (yych <= 'E') {
15363 					if (yych == 'D') goto yy755;
15364 				} else {
15365 					if (yych == 'G') goto yy1032;
15366 					if (yych <= 'J') goto yy755;
15367 				}
15368 			}
15369 		}
15370 	} else {
15371 		if (yych <= 'h') {
15372 			if (yych <= '`') {
15373 				if (yych <= 'V') {
15374 					if (yych <= 'O') goto yy755;
15375 					if (yych >= 'S') goto yy755;
15376 				} else {
15377 					if (yych <= 'W') goto yy774;
15378 					if (yych <= 'Y') goto yy755;
15379 				}
15380 			} else {
15381 				if (yych <= 'd') {
15382 					if (yych <= 'a') goto yy755;
15383 					if (yych >= 'd') goto yy755;
15384 				} else {
15385 					if (yych == 'f') goto yy755;
15386 					if (yych >= 'h') goto yy755;
15387 				}
15388 			}
15389 		} else {
15390 			if (yych <= 'u') {
15391 				if (yych <= 'l') {
15392 					if (yych == 'j') goto yy755;
15393 				} else {
15394 					if (yych <= 'o') goto yy755;
15395 					if (yych >= 's') goto yy755;
15396 				}
15397 			} else {
15398 				if (yych <= 'x') {
15399 					if (yych == 'w') goto yy755;
15400 				} else {
15401 					if (yych <= 'y') goto yy755;
15402 					if (yych == 0xC2) goto yy755;
15403 				}
15404 			}
15405 		}
15406 	}
15407 yy1032:
15408 	YYDEBUG(1032, *YYCURSOR);
15409 #line 1204 "ext/date/lib/parse_date.re"
15410 	{
15411 		DEBUG_OUTPUT("gnunocolon");
15412 		TIMELIB_INIT;
15413 		switch (s->time->have_time) {
15414 			case 0:
15415 				s->time->h = timelib_get_nr((char **) &ptr, 2);
15416 				s->time->i = timelib_get_nr((char **) &ptr, 2);
15417 				s->time->s = 0;
15418 				break;
15419 			case 1:
15420 				s->time->y = timelib_get_nr((char **) &ptr, 4);
15421 				break;
15422 			default:
15423 				TIMELIB_DEINIT;
15424 				add_error(s, "Double time specification");
15425 				return TIMELIB_ERROR;
15426 		}
15427 		s->time->have_time++;
15428 		TIMELIB_DEINIT;
15429 		return TIMELIB_GNU_NOCOLON;
15430 	}
15431 #line 15432 "<stdout>"
15432 yy1033:
15433 	YYDEBUG(1033, *YYCURSOR);
15434 	yych = *++YYCURSOR;
15435 	if (yych <= '/') goto yy60;
15436 	if (yych <= '0') goto yy1045;
15437 	if (yych <= '9') goto yy1046;
15438 	goto yy60;
15439 yy1034:
15440 	YYDEBUG(1034, *YYCURSOR);
15441 	yych = *++YYCURSOR;
15442 	if (yych <= '/') goto yy60;
15443 	if (yych <= '2') goto yy1044;
15444 	if (yych <= '9') goto yy1043;
15445 	goto yy60;
15446 yy1035:
15447 	YYDEBUG(1035, *YYCURSOR);
15448 	yych = *++YYCURSOR;
15449 	if (yych <= '/') goto yy60;
15450 	if (yych <= '9') goto yy1043;
15451 	goto yy60;
15452 yy1036:
15453 	YYDEBUG(1036, *YYCURSOR);
15454 	yych = *++YYCURSOR;
15455 	if (yych <= '/') goto yy60;
15456 	if (yych <= '5') goto yy1041;
15457 	if (yych <= '6') goto yy1042;
15458 	if (yych <= '9') goto yy1039;
15459 	goto yy60;
15460 yy1037:
15461 	YYDEBUG(1037, *YYCURSOR);
15462 	yych = *++YYCURSOR;
15463 	if (yych <= '/') goto yy60;
15464 	if (yych <= '9') goto yy1039;
15465 	goto yy60;
15466 yy1038:
15467 	YYDEBUG(1038, *YYCURSOR);
15468 	yych = *++YYCURSOR;
15469 	if (yych <= '/') goto yy60;
15470 	if (yych <= '0') goto yy1039;
15471 	if (yych <= '9') goto yy54;
15472 	goto yy60;
15473 yy1039:
15474 	YYDEBUG(1039, *YYCURSOR);
15475 	yyaccept = 24;
15476 	yych = *(YYMARKER = ++YYCURSOR);
15477 	if (yybm[0+yych] & 2) {
15478 		goto yy54;
15479 	}
15480 	if (yych <= 'X') {
15481 		if (yych <= 'F') {
15482 			if (yych <= ' ') {
15483 				if (yych == '\t') goto yy60;
15484 				if (yych >= ' ') goto yy60;
15485 			} else {
15486 				if (yych == 'D') goto yy60;
15487 				if (yych >= 'F') goto yy60;
15488 			}
15489 		} else {
15490 			if (yych <= 'M') {
15491 				if (yych == 'H') goto yy60;
15492 				if (yych >= 'M') goto yy60;
15493 			} else {
15494 				if (yych <= 'U') {
15495 					if (yych >= 'S') goto yy60;
15496 				} else {
15497 					if (yych == 'W') goto yy60;
15498 				}
15499 			}
15500 		}
15501 	} else {
15502 		if (yych <= 'm') {
15503 			if (yych <= 'e') {
15504 				if (yych <= 'Y') goto yy60;
15505 				if (yych == 'd') goto yy60;
15506 			} else {
15507 				if (yych <= 'g') {
15508 					if (yych <= 'f') goto yy60;
15509 				} else {
15510 					if (yych <= 'h') goto yy60;
15511 					if (yych >= 'm') goto yy60;
15512 				}
15513 			}
15514 		} else {
15515 			if (yych <= 'w') {
15516 				if (yych <= 'r') goto yy1040;
15517 				if (yych != 'v') goto yy60;
15518 			} else {
15519 				if (yych <= 'y') {
15520 					if (yych >= 'y') goto yy60;
15521 				} else {
15522 					if (yych == 0xC2) goto yy60;
15523 				}
15524 			}
15525 		}
15526 	}
15527 yy1040:
15528 	YYDEBUG(1040, *YYCURSOR);
15529 #line 1250 "ext/date/lib/parse_date.re"
15530 	{
15531 		int tz_not_found;
15532 		DEBUG_OUTPUT("iso8601nocolon");
15533 		TIMELIB_INIT;
15534 		TIMELIB_HAVE_TIME();
15535 		s->time->h = timelib_get_nr((char **) &ptr, 2);
15536 		s->time->i = timelib_get_nr((char **) &ptr, 2);
15537 		s->time->s = timelib_get_nr((char **) &ptr, 2);
15538 
15539 		if (*ptr != '\0') {
15540 			s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
15541 			if (tz_not_found) {
15542 				add_error(s, "The timezone could not be found in the database");
15543 			}
15544 		}
15545 		TIMELIB_DEINIT;
15546 		return TIMELIB_ISO_NOCOLON;
15547 	}
15548 #line 15549 "<stdout>"
15549 yy1041:
15550 	YYDEBUG(1041, *YYCURSOR);
15551 	yyaccept = 24;
15552 	yych = *(YYMARKER = ++YYCURSOR);
15553 	if (yych <= 'W') {
15554 		if (yych <= 'E') {
15555 			if (yych <= ' ') {
15556 				if (yych == '\t') goto yy60;
15557 				if (yych <= 0x1F) goto yy1040;
15558 				goto yy60;
15559 			} else {
15560 				if (yych <= '9') {
15561 					if (yych <= '/') goto yy1040;
15562 					goto yy785;
15563 				} else {
15564 					if (yych == 'D') goto yy60;
15565 					goto yy1040;
15566 				}
15567 			}
15568 		} else {
15569 			if (yych <= 'L') {
15570 				if (yych == 'G') goto yy1040;
15571 				if (yych <= 'H') goto yy60;
15572 				goto yy1040;
15573 			} else {
15574 				if (yych <= 'R') {
15575 					if (yych <= 'M') goto yy60;
15576 					goto yy1040;
15577 				} else {
15578 					if (yych == 'V') goto yy1040;
15579 					goto yy60;
15580 				}
15581 			}
15582 		}
15583 	} else {
15584 		if (yych <= 'l') {
15585 			if (yych <= 'd') {
15586 				if (yych == 'Y') goto yy60;
15587 				if (yych <= 'c') goto yy1040;
15588 				goto yy60;
15589 			} else {
15590 				if (yych <= 'f') {
15591 					if (yych <= 'e') goto yy1040;
15592 					goto yy60;
15593 				} else {
15594 					if (yych == 'h') goto yy60;
15595 					goto yy1040;
15596 				}
15597 			}
15598 		} else {
15599 			if (yych <= 'w') {
15600 				if (yych <= 'r') {
15601 					if (yych <= 'm') goto yy60;
15602 					goto yy1040;
15603 				} else {
15604 					if (yych == 'v') goto yy1040;
15605 					goto yy60;
15606 				}
15607 			} else {
15608 				if (yych <= 'y') {
15609 					if (yych <= 'x') goto yy1040;
15610 					goto yy60;
15611 				} else {
15612 					if (yych == 0xC2) goto yy60;
15613 					goto yy1040;
15614 				}
15615 			}
15616 		}
15617 	}
15618 yy1042:
15619 	YYDEBUG(1042, *YYCURSOR);
15620 	yyaccept = 24;
15621 	yych = *(YYMARKER = ++YYCURSOR);
15622 	if (yych <= 'W') {
15623 		if (yych <= 'D') {
15624 			if (yych <= ' ') {
15625 				if (yych == '\t') goto yy60;
15626 				if (yych <= 0x1F) goto yy1040;
15627 				goto yy60;
15628 			} else {
15629 				if (yych <= '6') {
15630 					if (yych <= '/') goto yy1040;
15631 					goto yy785;
15632 				} else {
15633 					if (yych <= '9') goto yy54;
15634 					if (yych <= 'C') goto yy1040;
15635 					goto yy60;
15636 				}
15637 			}
15638 		} else {
15639 			if (yych <= 'L') {
15640 				if (yych <= 'F') {
15641 					if (yych <= 'E') goto yy1040;
15642 					goto yy60;
15643 				} else {
15644 					if (yych == 'H') goto yy60;
15645 					goto yy1040;
15646 				}
15647 			} else {
15648 				if (yych <= 'R') {
15649 					if (yych <= 'M') goto yy60;
15650 					goto yy1040;
15651 				} else {
15652 					if (yych == 'V') goto yy1040;
15653 					goto yy60;
15654 				}
15655 			}
15656 		}
15657 	} else {
15658 		if (yych <= 'l') {
15659 			if (yych <= 'd') {
15660 				if (yych == 'Y') goto yy60;
15661 				if (yych <= 'c') goto yy1040;
15662 				goto yy60;
15663 			} else {
15664 				if (yych <= 'f') {
15665 					if (yych <= 'e') goto yy1040;
15666 					goto yy60;
15667 				} else {
15668 					if (yych == 'h') goto yy60;
15669 					goto yy1040;
15670 				}
15671 			}
15672 		} else {
15673 			if (yych <= 'w') {
15674 				if (yych <= 'r') {
15675 					if (yych <= 'm') goto yy60;
15676 					goto yy1040;
15677 				} else {
15678 					if (yych == 'v') goto yy1040;
15679 					goto yy60;
15680 				}
15681 			} else {
15682 				if (yych <= 'y') {
15683 					if (yych <= 'x') goto yy1040;
15684 					goto yy60;
15685 				} else {
15686 					if (yych == 0xC2) goto yy60;
15687 					goto yy1040;
15688 				}
15689 			}
15690 		}
15691 	}
15692 yy1043:
15693 	YYDEBUG(1043, *YYCURSOR);
15694 	yyaccept = 24;
15695 	yych = *(YYMARKER = ++YYCURSOR);
15696 	if (yych <= 'W') {
15697 		if (yych <= 'E') {
15698 			if (yych <= ' ') {
15699 				if (yych == '\t') goto yy60;
15700 				if (yych <= 0x1F) goto yy1040;
15701 				goto yy60;
15702 			} else {
15703 				if (yych <= '9') {
15704 					if (yych <= '/') goto yy1040;
15705 					goto yy785;
15706 				} else {
15707 					if (yych == 'D') goto yy60;
15708 					goto yy1040;
15709 				}
15710 			}
15711 		} else {
15712 			if (yych <= 'L') {
15713 				if (yych == 'G') goto yy1040;
15714 				if (yych <= 'H') goto yy60;
15715 				goto yy1040;
15716 			} else {
15717 				if (yych <= 'R') {
15718 					if (yych <= 'M') goto yy60;
15719 					goto yy1040;
15720 				} else {
15721 					if (yych == 'V') goto yy1040;
15722 					goto yy60;
15723 				}
15724 			}
15725 		}
15726 	} else {
15727 		if (yych <= 'l') {
15728 			if (yych <= 'd') {
15729 				if (yych == 'Y') goto yy60;
15730 				if (yych <= 'c') goto yy1040;
15731 				goto yy60;
15732 			} else {
15733 				if (yych <= 'f') {
15734 					if (yych <= 'e') goto yy1040;
15735 					goto yy60;
15736 				} else {
15737 					if (yych == 'h') goto yy60;
15738 					goto yy1040;
15739 				}
15740 			}
15741 		} else {
15742 			if (yych <= 'w') {
15743 				if (yych <= 'r') {
15744 					if (yych <= 'm') goto yy60;
15745 					goto yy1040;
15746 				} else {
15747 					if (yych == 'v') goto yy1040;
15748 					goto yy60;
15749 				}
15750 			} else {
15751 				if (yych <= 'y') {
15752 					if (yych <= 'x') goto yy1040;
15753 					goto yy60;
15754 				} else {
15755 					if (yych == 0xC2) goto yy60;
15756 					goto yy1040;
15757 				}
15758 			}
15759 		}
15760 	}
15761 yy1044:
15762 	YYDEBUG(1044, *YYCURSOR);
15763 	yyaccept = 24;
15764 	yych = *(YYMARKER = ++YYCURSOR);
15765 	if (yych <= 'V') {
15766 		if (yych <= 'C') {
15767 			if (yych <= '/') {
15768 				if (yych <= '\t') {
15769 					if (yych <= 0x08) goto yy1040;
15770 					goto yy60;
15771 				} else {
15772 					if (yych == ' ') goto yy60;
15773 					goto yy1040;
15774 				}
15775 			} else {
15776 				if (yych <= '2') {
15777 					if (yych <= '0') goto yy809;
15778 					goto yy810;
15779 				} else {
15780 					if (yych <= '3') goto yy811;
15781 					if (yych <= '9') goto yy785;
15782 					goto yy1040;
15783 				}
15784 			}
15785 		} else {
15786 			if (yych <= 'H') {
15787 				if (yych <= 'E') {
15788 					if (yych <= 'D') goto yy60;
15789 					goto yy1040;
15790 				} else {
15791 					if (yych == 'G') goto yy1040;
15792 					goto yy60;
15793 				}
15794 			} else {
15795 				if (yych <= 'M') {
15796 					if (yych <= 'L') goto yy1040;
15797 					goto yy60;
15798 				} else {
15799 					if (yych <= 'R') goto yy1040;
15800 					if (yych <= 'U') goto yy60;
15801 					goto yy1040;
15802 				}
15803 			}
15804 		}
15805 	} else {
15806 		if (yych <= 'l') {
15807 			if (yych <= 'd') {
15808 				if (yych <= 'X') {
15809 					if (yych <= 'W') goto yy60;
15810 					goto yy1040;
15811 				} else {
15812 					if (yych <= 'Y') goto yy60;
15813 					if (yych <= 'c') goto yy1040;
15814 					goto yy60;
15815 				}
15816 			} else {
15817 				if (yych <= 'f') {
15818 					if (yych <= 'e') goto yy1040;
15819 					goto yy60;
15820 				} else {
15821 					if (yych == 'h') goto yy60;
15822 					goto yy1040;
15823 				}
15824 			}
15825 		} else {
15826 			if (yych <= 'w') {
15827 				if (yych <= 'r') {
15828 					if (yych <= 'm') goto yy60;
15829 					goto yy1040;
15830 				} else {
15831 					if (yych == 'v') goto yy1040;
15832 					goto yy60;
15833 				}
15834 			} else {
15835 				if (yych <= 'y') {
15836 					if (yych <= 'x') goto yy1040;
15837 					goto yy60;
15838 				} else {
15839 					if (yych == 0xC2) goto yy60;
15840 					goto yy1040;
15841 				}
15842 			}
15843 		}
15844 	}
15845 yy1045:
15846 	YYDEBUG(1045, *YYCURSOR);
15847 	yyaccept = 24;
15848 	yych = *(YYMARKER = ++YYCURSOR);
15849 	if (yych <= 'V') {
15850 		if (yych <= 'C') {
15851 			if (yych <= '/') {
15852 				if (yych <= '\t') {
15853 					if (yych <= 0x08) goto yy1040;
15854 					goto yy60;
15855 				} else {
15856 					if (yych == ' ') goto yy60;
15857 					goto yy1040;
15858 				}
15859 			} else {
15860 				if (yych <= '2') {
15861 					if (yych <= '0') goto yy841;
15862 					goto yy810;
15863 				} else {
15864 					if (yych <= '3') goto yy811;
15865 					if (yych <= '9') goto yy785;
15866 					goto yy1040;
15867 				}
15868 			}
15869 		} else {
15870 			if (yych <= 'H') {
15871 				if (yych <= 'E') {
15872 					if (yych <= 'D') goto yy60;
15873 					goto yy1040;
15874 				} else {
15875 					if (yych == 'G') goto yy1040;
15876 					goto yy60;
15877 				}
15878 			} else {
15879 				if (yych <= 'M') {
15880 					if (yych <= 'L') goto yy1040;
15881 					goto yy60;
15882 				} else {
15883 					if (yych <= 'R') goto yy1040;
15884 					if (yych <= 'U') goto yy60;
15885 					goto yy1040;
15886 				}
15887 			}
15888 		}
15889 	} else {
15890 		if (yych <= 'l') {
15891 			if (yych <= 'd') {
15892 				if (yych <= 'X') {
15893 					if (yych <= 'W') goto yy60;
15894 					goto yy1040;
15895 				} else {
15896 					if (yych <= 'Y') goto yy60;
15897 					if (yych <= 'c') goto yy1040;
15898 					goto yy60;
15899 				}
15900 			} else {
15901 				if (yych <= 'f') {
15902 					if (yych <= 'e') goto yy1040;
15903 					goto yy60;
15904 				} else {
15905 					if (yych == 'h') goto yy60;
15906 					goto yy1040;
15907 				}
15908 			}
15909 		} else {
15910 			if (yych <= 'w') {
15911 				if (yych <= 'r') {
15912 					if (yych <= 'm') goto yy60;
15913 					goto yy1040;
15914 				} else {
15915 					if (yych == 'v') goto yy1040;
15916 					goto yy60;
15917 				}
15918 			} else {
15919 				if (yych <= 'y') {
15920 					if (yych <= 'x') goto yy1040;
15921 					goto yy60;
15922 				} else {
15923 					if (yych == 0xC2) goto yy60;
15924 					goto yy1040;
15925 				}
15926 			}
15927 		}
15928 	}
15929 yy1046:
15930 	YYDEBUG(1046, *YYCURSOR);
15931 	yyaccept = 24;
15932 	yych = *(YYMARKER = ++YYCURSOR);
15933 	if (yych <= 'V') {
15934 		if (yych <= 'C') {
15935 			if (yych <= '/') {
15936 				if (yych <= '\t') {
15937 					if (yych <= 0x08) goto yy1040;
15938 					goto yy60;
15939 				} else {
15940 					if (yych == ' ') goto yy60;
15941 					goto yy1040;
15942 				}
15943 			} else {
15944 				if (yych <= '2') {
15945 					if (yych <= '0') goto yy809;
15946 					goto yy810;
15947 				} else {
15948 					if (yych <= '3') goto yy811;
15949 					if (yych <= '9') goto yy785;
15950 					goto yy1040;
15951 				}
15952 			}
15953 		} else {
15954 			if (yych <= 'H') {
15955 				if (yych <= 'E') {
15956 					if (yych <= 'D') goto yy60;
15957 					goto yy1040;
15958 				} else {
15959 					if (yych == 'G') goto yy1040;
15960 					goto yy60;
15961 				}
15962 			} else {
15963 				if (yych <= 'M') {
15964 					if (yych <= 'L') goto yy1040;
15965 					goto yy60;
15966 				} else {
15967 					if (yych <= 'R') goto yy1040;
15968 					if (yych <= 'U') goto yy60;
15969 					goto yy1040;
15970 				}
15971 			}
15972 		}
15973 	} else {
15974 		if (yych <= 'l') {
15975 			if (yych <= 'd') {
15976 				if (yych <= 'X') {
15977 					if (yych <= 'W') goto yy60;
15978 					goto yy1040;
15979 				} else {
15980 					if (yych <= 'Y') goto yy60;
15981 					if (yych <= 'c') goto yy1040;
15982 					goto yy60;
15983 				}
15984 			} else {
15985 				if (yych <= 'f') {
15986 					if (yych <= 'e') goto yy1040;
15987 					goto yy60;
15988 				} else {
15989 					if (yych == 'h') goto yy60;
15990 					goto yy1040;
15991 				}
15992 			}
15993 		} else {
15994 			if (yych <= 'w') {
15995 				if (yych <= 'r') {
15996 					if (yych <= 'm') goto yy60;
15997 					goto yy1040;
15998 				} else {
15999 					if (yych == 'v') goto yy1040;
16000 					goto yy60;
16001 				}
16002 			} else {
16003 				if (yych <= 'y') {
16004 					if (yych <= 'x') goto yy1040;
16005 					goto yy60;
16006 				} else {
16007 					if (yych == 0xC2) goto yy60;
16008 					goto yy1040;
16009 				}
16010 			}
16011 		}
16012 	}
16013 yy1047:
16014 	YYDEBUG(1047, *YYCURSOR);
16015 	yyaccept = 10;
16016 	yych = *(YYMARKER = ++YYCURSOR);
16017 	if (yych <= '/') {
16018 		if (yych == '.') goto yy1049;
16019 		goto yy455;
16020 	} else {
16021 		if (yych <= '9') goto yy1048;
16022 		if (yych <= ':') goto yy1049;
16023 		goto yy455;
16024 	}
16025 yy1048:
16026 	YYDEBUG(1048, *YYCURSOR);
16027 	yyaccept = 10;
16028 	yych = *(YYMARKER = ++YYCURSOR);
16029 	if (yych == '.') goto yy1049;
16030 	if (yych != ':') goto yy455;
16031 yy1049:
16032 	YYDEBUG(1049, *YYCURSOR);
16033 	yych = *++YYCURSOR;
16034 	if (yych <= '/') goto yy56;
16035 	if (yych <= '5') goto yy1050;
16036 	if (yych <= '6') goto yy1051;
16037 	if (yych <= '9') goto yy460;
16038 	goto yy56;
16039 yy1050:
16040 	YYDEBUG(1050, *YYCURSOR);
16041 	yyaccept = 10;
16042 	yych = *(YYMARKER = ++YYCURSOR);
16043 	if (yych == '.') goto yy461;
16044 	if (yych <= '/') goto yy455;
16045 	if (yych <= '9') goto yy460;
16046 	goto yy455;
16047 yy1051:
16048 	YYDEBUG(1051, *YYCURSOR);
16049 	yyaccept = 10;
16050 	yych = *(YYMARKER = ++YYCURSOR);
16051 	if (yych == '.') goto yy461;
16052 	if (yych == '0') goto yy460;
16053 	goto yy455;
16054 yy1052:
16055 	YYDEBUG(1052, *YYCURSOR);
16056 	yyaccept = 10;
16057 	yych = *(YYMARKER = ++YYCURSOR);
16058 	if (yych <= '.') {
16059 		if (yych <= ',') goto yy455;
16060 		if (yych <= '-') goto yy566;
16061 		goto yy1056;
16062 	} else {
16063 		if (yych <= '/') goto yy455;
16064 		if (yych <= '9') goto yy1055;
16065 		if (yych <= ':') goto yy1049;
16066 		goto yy455;
16067 	}
16068 yy1053:
16069 	YYDEBUG(1053, *YYCURSOR);
16070 	yyaccept = 10;
16071 	yych = *(YYMARKER = ++YYCURSOR);
16072 	if (yych <= '/') {
16073 		if (yych <= ',') goto yy455;
16074 		if (yych <= '-') goto yy566;
16075 		if (yych <= '.') goto yy1056;
16076 		goto yy455;
16077 	} else {
16078 		if (yych <= '2') goto yy1055;
16079 		if (yych <= '9') goto yy1048;
16080 		if (yych <= ':') goto yy1049;
16081 		goto yy455;
16082 	}
16083 yy1054:
16084 	YYDEBUG(1054, *YYCURSOR);
16085 	yyaccept = 10;
16086 	yych = *(YYMARKER = ++YYCURSOR);
16087 	if (yych <= '.') {
16088 		if (yych <= ',') goto yy455;
16089 		if (yych <= '-') goto yy566;
16090 		goto yy1056;
16091 	} else {
16092 		if (yych <= '/') goto yy455;
16093 		if (yych <= '9') goto yy1048;
16094 		if (yych <= ':') goto yy1049;
16095 		goto yy455;
16096 	}
16097 yy1055:
16098 	YYDEBUG(1055, *YYCURSOR);
16099 	yyaccept = 10;
16100 	yych = *(YYMARKER = ++YYCURSOR);
16101 	if (yych <= '.') {
16102 		if (yych <= ',') goto yy455;
16103 		if (yych <= '-') goto yy566;
16104 	} else {
16105 		if (yych == ':') goto yy1049;
16106 		goto yy455;
16107 	}
16108 yy1056:
16109 	YYDEBUG(1056, *YYCURSOR);
16110 	yych = *++YYCURSOR;
16111 	if (yych <= '/') goto yy56;
16112 	if (yych <= '5') goto yy1057;
16113 	if (yych <= '6') goto yy1058;
16114 	if (yych <= '9') goto yy574;
16115 	goto yy56;
16116 yy1057:
16117 	YYDEBUG(1057, *YYCURSOR);
16118 	yyaccept = 10;
16119 	yych = *(YYMARKER = ++YYCURSOR);
16120 	if (yych == '.') goto yy461;
16121 	if (yych <= '/') goto yy455;
16122 	if (yych <= '9') goto yy1059;
16123 	goto yy455;
16124 yy1058:
16125 	YYDEBUG(1058, *YYCURSOR);
16126 	yyaccept = 10;
16127 	yych = *(YYMARKER = ++YYCURSOR);
16128 	if (yych <= '/') {
16129 		if (yych == '.') goto yy461;
16130 		goto yy455;
16131 	} else {
16132 		if (yych <= '0') goto yy1059;
16133 		if (yych <= '9') goto yy575;
16134 		goto yy455;
16135 	}
16136 yy1059:
16137 	YYDEBUG(1059, *YYCURSOR);
16138 	yyaccept = 10;
16139 	yych = *(YYMARKER = ++YYCURSOR);
16140 	if (yych == '.') goto yy461;
16141 	if (yych <= '/') goto yy455;
16142 	if (yych <= '9') goto yy569;
16143 	goto yy455;
16144 yy1060:
16145 	YYDEBUG(1060, *YYCURSOR);
16146 	yych = *++YYCURSOR;
16147 	if (yych <= '9') {
16148 		if (yych <= '-') {
16149 			if (yych == '\t') goto yy424;
16150 			if (yych <= ',') goto yy426;
16151 			goto yy1015;
16152 		} else {
16153 			if (yych <= '.') goto yy438;
16154 			if (yych <= '/') goto yy436;
16155 			if (yych <= '5') goto yy1030;
16156 			goto yy705;
16157 		}
16158 	} else {
16159 		if (yych <= 'q') {
16160 			if (yych <= ':') goto yy447;
16161 			if (yych == 'n') goto yy434;
16162 			goto yy426;
16163 		} else {
16164 			if (yych <= 'r') goto yy435;
16165 			if (yych <= 's') goto yy429;
16166 			if (yych <= 't') goto yy432;
16167 			goto yy426;
16168 		}
16169 	}
16170 yy1061:
16171 	YYDEBUG(1061, *YYCURSOR);
16172 	yych = *++YYCURSOR;
16173 	if (yych <= '9') {
16174 		if (yych <= '-') {
16175 			if (yych == '\t') goto yy1016;
16176 			if (yych <= ',') goto yy1018;
16177 			goto yy1015;
16178 		} else {
16179 			if (yych <= '.') goto yy1028;
16180 			if (yych <= '/') goto yy436;
16181 			if (yych <= '5') goto yy1030;
16182 			goto yy705;
16183 		}
16184 	} else {
16185 		if (yych <= 'q') {
16186 			if (yych <= ':') goto yy1029;
16187 			if (yych == 'n') goto yy434;
16188 			goto yy1018;
16189 		} else {
16190 			if (yych <= 'r') goto yy435;
16191 			if (yych <= 's') goto yy429;
16192 			if (yych <= 't') goto yy432;
16193 			goto yy1018;
16194 		}
16195 	}
16196 yy1062:
16197 	YYDEBUG(1062, *YYCURSOR);
16198 	yych = *++YYCURSOR;
16199 	if (yych <= 'E') {
16200 		if (yych <= ')') {
16201 			if (yych <= '(') goto yy3;
16202 			goto yy164;
16203 		} else {
16204 			if (yych <= '@') goto yy3;
16205 			if (yych <= 'D') goto yy166;
16206 		}
16207 	} else {
16208 		if (yych <= 'd') {
16209 			if (yych <= 'Z') goto yy166;
16210 			if (yych <= '`') goto yy3;
16211 			goto yy166;
16212 		} else {
16213 			if (yych <= 'e') goto yy1063;
16214 			if (yych <= 'z') goto yy166;
16215 			goto yy3;
16216 		}
16217 	}
16218 yy1063:
16219 	YYDEBUG(1063, *YYCURSOR);
16220 	yych = *++YYCURSOR;
16221 	if (yych <= 'V') {
16222 		if (yych <= ')') {
16223 			if (yych <= '(') goto yy3;
16224 			goto yy164;
16225 		} else {
16226 			if (yych <= '@') goto yy3;
16227 			if (yych <= 'U') goto yy167;
16228 		}
16229 	} else {
16230 		if (yych <= 'u') {
16231 			if (yych <= 'Z') goto yy167;
16232 			if (yych <= '`') goto yy3;
16233 			goto yy167;
16234 		} else {
16235 			if (yych <= 'v') goto yy1064;
16236 			if (yych <= 'z') goto yy167;
16237 			goto yy3;
16238 		}
16239 	}
16240 yy1064:
16241 	YYDEBUG(1064, *YYCURSOR);
16242 	yych = *++YYCURSOR;
16243 	if (yych <= 'I') {
16244 		if (yych <= ')') {
16245 			if (yych <= '(') goto yy3;
16246 			goto yy164;
16247 		} else {
16248 			if (yych <= '@') goto yy3;
16249 			if (yych <= 'H') goto yy168;
16250 		}
16251 	} else {
16252 		if (yych <= 'h') {
16253 			if (yych <= 'Z') goto yy168;
16254 			if (yych <= '`') goto yy3;
16255 			goto yy168;
16256 		} else {
16257 			if (yych <= 'i') goto yy1065;
16258 			if (yych <= 'z') goto yy168;
16259 			goto yy3;
16260 		}
16261 	}
16262 yy1065:
16263 	YYDEBUG(1065, *YYCURSOR);
16264 	yych = *++YYCURSOR;
16265 	if (yych <= 'O') {
16266 		if (yych <= ')') {
16267 			if (yych <= '(') goto yy3;
16268 			goto yy164;
16269 		} else {
16270 			if (yych <= '@') goto yy3;
16271 			if (yych <= 'N') goto yy169;
16272 		}
16273 	} else {
16274 		if (yych <= 'n') {
16275 			if (yych <= 'Z') goto yy169;
16276 			if (yych <= '`') goto yy3;
16277 			goto yy169;
16278 		} else {
16279 			if (yych <= 'o') goto yy1066;
16280 			if (yych <= 'z') goto yy169;
16281 			goto yy3;
16282 		}
16283 	}
16284 yy1066:
16285 	YYDEBUG(1066, *YYCURSOR);
16286 	yyaccept = 0;
16287 	yych = *(YYMARKER = ++YYCURSOR);
16288 	if (yych <= 'T') {
16289 		if (yych == ')') goto yy164;
16290 		goto yy3;
16291 	} else {
16292 		if (yych <= 'U') goto yy1067;
16293 		if (yych != 'u') goto yy3;
16294 	}
16295 yy1067:
16296 	YYDEBUG(1067, *YYCURSOR);
16297 	yych = *++YYCURSOR;
16298 	if (yych == 'S') goto yy1068;
16299 	if (yych != 's') goto yy56;
16300 yy1068:
16301 	YYDEBUG(1068, *YYCURSOR);
16302 	yych = *++YYCURSOR;
16303 	if (yych == '\t') goto yy1069;
16304 	if (yych != ' ') goto yy56;
16305 yy1069:
16306 	YYDEBUG(1069, *YYCURSOR);
16307 	++YYCURSOR;
16308 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
16309 	yych = *YYCURSOR;
16310 yy1070:
16311 	YYDEBUG(1070, *YYCURSOR);
16312 	if (yych <= 'X') {
16313 		if (yych <= 'G') {
16314 			if (yych <= ' ') {
16315 				if (yych == '\t') goto yy1069;
16316 				if (yych <= 0x1F) goto yy56;
16317 				goto yy1069;
16318 			} else {
16319 				if (yych <= 'D') {
16320 					if (yych <= 'C') goto yy56;
16321 					goto yy1076;
16322 				} else {
16323 					if (yych == 'F') goto yy1077;
16324 					goto yy56;
16325 				}
16326 			}
16327 		} else {
16328 			if (yych <= 'S') {
16329 				if (yych <= 'L') {
16330 					if (yych <= 'H') goto yy1075;
16331 					goto yy56;
16332 				} else {
16333 					if (yych <= 'M') goto yy1071;
16334 					if (yych <= 'R') goto yy56;
16335 					goto yy1074;
16336 				}
16337 			} else {
16338 				if (yych <= 'U') {
16339 					if (yych <= 'T') goto yy1080;
16340 					goto yy1073;
16341 				} else {
16342 					if (yych == 'W') goto yy1079;
16343 					goto yy56;
16344 				}
16345 			}
16346 		}
16347 	} else {
16348 		if (yych <= 'r') {
16349 			if (yych <= 'f') {
16350 				if (yych <= 'c') {
16351 					if (yych <= 'Y') goto yy1078;
16352 					goto yy56;
16353 				} else {
16354 					if (yych <= 'd') goto yy1076;
16355 					if (yych <= 'e') goto yy56;
16356 					goto yy1077;
16357 				}
16358 			} else {
16359 				if (yych <= 'h') {
16360 					if (yych <= 'g') goto yy56;
16361 					goto yy1075;
16362 				} else {
16363 					if (yych != 'm') goto yy56;
16364 				}
16365 			}
16366 		} else {
16367 			if (yych <= 'w') {
16368 				if (yych <= 't') {
16369 					if (yych <= 's') goto yy1074;
16370 					goto yy1080;
16371 				} else {
16372 					if (yych <= 'u') goto yy1073;
16373 					if (yych <= 'v') goto yy56;
16374 					goto yy1079;
16375 				}
16376 			} else {
16377 				if (yych <= 'y') {
16378 					if (yych <= 'x') goto yy56;
16379 					goto yy1078;
16380 				} else {
16381 					if (yych == 0xC2) goto yy1072;
16382 					goto yy56;
16383 				}
16384 			}
16385 		}
16386 	}
16387 yy1071:
16388 	YYDEBUG(1071, *YYCURSOR);
16389 	yych = *++YYCURSOR;
16390 	if (yych <= 'S') {
16391 		if (yych <= 'N') {
16392 			if (yych == 'I') goto yy1155;
16393 			goto yy56;
16394 		} else {
16395 			if (yych <= 'O') goto yy1154;
16396 			if (yych <= 'R') goto yy56;
16397 			goto yy1156;
16398 		}
16399 	} else {
16400 		if (yych <= 'n') {
16401 			if (yych == 'i') goto yy1155;
16402 			goto yy56;
16403 		} else {
16404 			if (yych <= 'o') goto yy1154;
16405 			if (yych == 's') goto yy1156;
16406 			goto yy56;
16407 		}
16408 	}
16409 yy1072:
16410 	YYDEBUG(1072, *YYCURSOR);
16411 	yych = *++YYCURSOR;
16412 	if (yych == 0xB5) goto yy1151;
16413 	goto yy56;
16414 yy1073:
16415 	YYDEBUG(1073, *YYCURSOR);
16416 	yych = *++YYCURSOR;
16417 	if (yych == 'S') goto yy1149;
16418 	if (yych == 's') goto yy1149;
16419 	goto yy56;
16420 yy1074:
16421 	YYDEBUG(1074, *YYCURSOR);
16422 	yych = *++YYCURSOR;
16423 	if (yych <= 'U') {
16424 		if (yych <= 'D') {
16425 			if (yych == 'A') goto yy1136;
16426 			goto yy56;
16427 		} else {
16428 			if (yych <= 'E') goto yy1137;
16429 			if (yych <= 'T') goto yy56;
16430 			goto yy1135;
16431 		}
16432 	} else {
16433 		if (yych <= 'd') {
16434 			if (yych == 'a') goto yy1136;
16435 			goto yy56;
16436 		} else {
16437 			if (yych <= 'e') goto yy1137;
16438 			if (yych == 'u') goto yy1135;
16439 			goto yy56;
16440 		}
16441 	}
16442 yy1075:
16443 	YYDEBUG(1075, *YYCURSOR);
16444 	yych = *++YYCURSOR;
16445 	if (yych == 'O') goto yy1133;
16446 	if (yych == 'o') goto yy1133;
16447 	goto yy56;
16448 yy1076:
16449 	YYDEBUG(1076, *YYCURSOR);
16450 	yych = *++YYCURSOR;
16451 	if (yych == 'A') goto yy1132;
16452 	if (yych == 'a') goto yy1132;
16453 	goto yy56;
16454 yy1077:
16455 	YYDEBUG(1077, *YYCURSOR);
16456 	yych = *++YYCURSOR;
16457 	if (yych <= 'R') {
16458 		if (yych == 'O') goto yy1117;
16459 		if (yych <= 'Q') goto yy56;
16460 		goto yy1116;
16461 	} else {
16462 		if (yych <= 'o') {
16463 			if (yych <= 'n') goto yy56;
16464 			goto yy1117;
16465 		} else {
16466 			if (yych == 'r') goto yy1116;
16467 			goto yy56;
16468 		}
16469 	}
16470 yy1078:
16471 	YYDEBUG(1078, *YYCURSOR);
16472 	yych = *++YYCURSOR;
16473 	if (yych == 'E') goto yy1113;
16474 	if (yych == 'e') goto yy1113;
16475 	goto yy56;
16476 yy1079:
16477 	YYDEBUG(1079, *YYCURSOR);
16478 	yych = *++YYCURSOR;
16479 	if (yych == 'E') goto yy1099;
16480 	if (yych == 'e') goto yy1099;
16481 	goto yy56;
16482 yy1080:
16483 	YYDEBUG(1080, *YYCURSOR);
16484 	yych = *++YYCURSOR;
16485 	if (yych <= 'U') {
16486 		if (yych == 'H') goto yy1081;
16487 		if (yych <= 'T') goto yy56;
16488 		goto yy1082;
16489 	} else {
16490 		if (yych <= 'h') {
16491 			if (yych <= 'g') goto yy56;
16492 		} else {
16493 			if (yych == 'u') goto yy1082;
16494 			goto yy56;
16495 		}
16496 	}
16497 yy1081:
16498 	YYDEBUG(1081, *YYCURSOR);
16499 	yych = *++YYCURSOR;
16500 	if (yych == 'U') goto yy1094;
16501 	if (yych == 'u') goto yy1094;
16502 	goto yy56;
16503 yy1082:
16504 	YYDEBUG(1082, *YYCURSOR);
16505 	yych = *++YYCURSOR;
16506 	if (yych == 'E') goto yy1083;
16507 	if (yych != 'e') goto yy56;
16508 yy1083:
16509 	YYDEBUG(1083, *YYCURSOR);
16510 	yyaccept = 25;
16511 	yych = *(YYMARKER = ++YYCURSOR);
16512 	if (yych <= ' ') {
16513 		if (yych == '\t') goto yy1085;
16514 		if (yych >= ' ') goto yy1085;
16515 	} else {
16516 		if (yych <= 'S') {
16517 			if (yych >= 'S') goto yy1087;
16518 		} else {
16519 			if (yych == 's') goto yy1087;
16520 		}
16521 	}
16522 yy1084:
16523 	YYDEBUG(1084, *YYCURSOR);
16524 #line 1646 "ext/date/lib/parse_date.re"
16525 	{
16526 		timelib_sll i;
16527 		int         behavior = 0;
16528 		DEBUG_OUTPUT("relativetext");
16529 		TIMELIB_INIT;
16530 		TIMELIB_HAVE_RELATIVE();
16531 
16532 		while(*ptr) {
16533 			i = timelib_get_relative_text((char **) &ptr, &behavior);
16534 			timelib_eat_spaces((char **) &ptr);
16535 			timelib_set_relative((char **) &ptr, i, behavior, s);
16536 		}
16537 		TIMELIB_DEINIT;
16538 		return TIMELIB_RELATIVE;
16539 	}
16540 #line 16541 "<stdout>"
16541 yy1085:
16542 	YYDEBUG(1085, *YYCURSOR);
16543 	++YYCURSOR;
16544 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
16545 	yych = *YYCURSOR;
16546 	YYDEBUG(1086, *YYCURSOR);
16547 	if (yych <= ' ') {
16548 		if (yych == '\t') goto yy1085;
16549 		if (yych <= 0x1F) goto yy56;
16550 		goto yy1085;
16551 	} else {
16552 		if (yych <= 'O') {
16553 			if (yych <= 'N') goto yy56;
16554 			goto yy1091;
16555 		} else {
16556 			if (yych == 'o') goto yy1091;
16557 			goto yy56;
16558 		}
16559 	}
16560 yy1087:
16561 	YYDEBUG(1087, *YYCURSOR);
16562 	yych = *++YYCURSOR;
16563 	if (yych == 'D') goto yy1088;
16564 	if (yych != 'd') goto yy56;
16565 yy1088:
16566 	YYDEBUG(1088, *YYCURSOR);
16567 	yych = *++YYCURSOR;
16568 	if (yych == 'A') goto yy1089;
16569 	if (yych != 'a') goto yy56;
16570 yy1089:
16571 	YYDEBUG(1089, *YYCURSOR);
16572 	yych = *++YYCURSOR;
16573 	if (yych == 'Y') goto yy1090;
16574 	if (yych != 'y') goto yy56;
16575 yy1090:
16576 	YYDEBUG(1090, *YYCURSOR);
16577 	yyaccept = 25;
16578 	yych = *(YYMARKER = ++YYCURSOR);
16579 	if (yych == '\t') goto yy1085;
16580 	if (yych == ' ') goto yy1085;
16581 	goto yy1084;
16582 yy1091:
16583 	YYDEBUG(1091, *YYCURSOR);
16584 	yych = *++YYCURSOR;
16585 	if (yych == 'F') goto yy1092;
16586 	if (yych != 'f') goto yy56;
16587 yy1092:
16588 	YYDEBUG(1092, *YYCURSOR);
16589 	++YYCURSOR;
16590 	YYDEBUG(1093, *YYCURSOR);
16591 #line 1119 "ext/date/lib/parse_date.re"
16592 	{
16593 		timelib_sll i;
16594 		int         behavior = 0;
16595 		DEBUG_OUTPUT("weekdayof");
16596 		TIMELIB_INIT;
16597 		TIMELIB_HAVE_RELATIVE();
16598 		TIMELIB_HAVE_SPECIAL_RELATIVE();
16599 
16600 		i = timelib_get_relative_text((char **) &ptr, &behavior);
16601 		timelib_eat_spaces((char **) &ptr);
16602 		if (i > 0) { /* first, second... etc */
16603 			s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
16604 			timelib_set_relative((char **) &ptr, i, 1, s);
16605 		} else { /* last */
16606 			s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
16607 			timelib_set_relative((char **) &ptr, i, behavior, s);
16608 		}
16609 		TIMELIB_DEINIT;
16610 		return TIMELIB_WEEK_DAY_OF_MONTH;
16611 	}
16612 #line 16613 "<stdout>"
16613 yy1094:
16614 	YYDEBUG(1094, *YYCURSOR);
16615 	yyaccept = 25;
16616 	yych = *(YYMARKER = ++YYCURSOR);
16617 	if (yych <= ' ') {
16618 		if (yych == '\t') goto yy1085;
16619 		if (yych <= 0x1F) goto yy1084;
16620 		goto yy1085;
16621 	} else {
16622 		if (yych <= 'R') {
16623 			if (yych <= 'Q') goto yy1084;
16624 		} else {
16625 			if (yych != 'r') goto yy1084;
16626 		}
16627 	}
16628 	YYDEBUG(1095, *YYCURSOR);
16629 	yych = *++YYCURSOR;
16630 	if (yych == 'S') goto yy1096;
16631 	if (yych != 's') goto yy56;
16632 yy1096:
16633 	YYDEBUG(1096, *YYCURSOR);
16634 	yych = *++YYCURSOR;
16635 	if (yych == 'D') goto yy1097;
16636 	if (yych != 'd') goto yy56;
16637 yy1097:
16638 	YYDEBUG(1097, *YYCURSOR);
16639 	yych = *++YYCURSOR;
16640 	if (yych == 'A') goto yy1098;
16641 	if (yych != 'a') goto yy56;
16642 yy1098:
16643 	YYDEBUG(1098, *YYCURSOR);
16644 	yych = *++YYCURSOR;
16645 	if (yych == 'Y') goto yy1090;
16646 	if (yych == 'y') goto yy1090;
16647 	goto yy56;
16648 yy1099:
16649 	YYDEBUG(1099, *YYCURSOR);
16650 	yych = *++YYCURSOR;
16651 	if (yych <= 'E') {
16652 		if (yych <= 'C') goto yy56;
16653 		if (yych <= 'D') goto yy1101;
16654 	} else {
16655 		if (yych <= 'c') goto yy56;
16656 		if (yych <= 'd') goto yy1101;
16657 		if (yych >= 'f') goto yy56;
16658 	}
16659 	YYDEBUG(1100, *YYCURSOR);
16660 	yych = *++YYCURSOR;
16661 	if (yych == 'K') goto yy1107;
16662 	if (yych == 'k') goto yy1107;
16663 	goto yy56;
16664 yy1101:
16665 	YYDEBUG(1101, *YYCURSOR);
16666 	yyaccept = 25;
16667 	yych = *(YYMARKER = ++YYCURSOR);
16668 	if (yych <= ' ') {
16669 		if (yych == '\t') goto yy1085;
16670 		if (yych <= 0x1F) goto yy1084;
16671 		goto yy1085;
16672 	} else {
16673 		if (yych <= 'N') {
16674 			if (yych <= 'M') goto yy1084;
16675 		} else {
16676 			if (yych != 'n') goto yy1084;
16677 		}
16678 	}
16679 	YYDEBUG(1102, *YYCURSOR);
16680 	yych = *++YYCURSOR;
16681 	if (yych == 'E') goto yy1103;
16682 	if (yych != 'e') goto yy56;
16683 yy1103:
16684 	YYDEBUG(1103, *YYCURSOR);
16685 	yych = *++YYCURSOR;
16686 	if (yych == 'S') goto yy1104;
16687 	if (yych != 's') goto yy56;
16688 yy1104:
16689 	YYDEBUG(1104, *YYCURSOR);
16690 	yych = *++YYCURSOR;
16691 	if (yych == 'D') goto yy1105;
16692 	if (yych != 'd') goto yy56;
16693 yy1105:
16694 	YYDEBUG(1105, *YYCURSOR);
16695 	yych = *++YYCURSOR;
16696 	if (yych == 'A') goto yy1106;
16697 	if (yych != 'a') goto yy56;
16698 yy1106:
16699 	YYDEBUG(1106, *YYCURSOR);
16700 	yych = *++YYCURSOR;
16701 	if (yych == 'Y') goto yy1090;
16702 	if (yych == 'y') goto yy1090;
16703 	goto yy56;
16704 yy1107:
16705 	YYDEBUG(1107, *YYCURSOR);
16706 	yyaccept = 26;
16707 	yych = *(YYMARKER = ++YYCURSOR);
16708 	if (yych <= 'S') {
16709 		if (yych == 'D') goto yy1110;
16710 		if (yych >= 'S') goto yy1109;
16711 	} else {
16712 		if (yych <= 'd') {
16713 			if (yych >= 'd') goto yy1110;
16714 		} else {
16715 			if (yych == 's') goto yy1109;
16716 		}
16717 	}
16718 yy1108:
16719 	YYDEBUG(1108, *YYCURSOR);
16720 #line 1622 "ext/date/lib/parse_date.re"
16721 	{
16722 		timelib_sll i;
16723 		int         behavior = 0;
16724 		DEBUG_OUTPUT("relativetextweek");
16725 		TIMELIB_INIT;
16726 		TIMELIB_HAVE_RELATIVE();
16727 
16728 		while(*ptr) {
16729 			i = timelib_get_relative_text((char **) &ptr, &behavior);
16730 			timelib_eat_spaces((char **) &ptr);
16731 			timelib_set_relative((char **) &ptr, i, behavior, s);
16732 			s->time->relative.weekday_behavior = 2;
16733 
16734 			/* to handle the format weekday + last/this/next week */
16735 			if (s->time->relative.have_weekday_relative == 0) {
16736 				TIMELIB_HAVE_WEEKDAY_RELATIVE();
16737 				s->time->relative.weekday = 1;
16738 			}
16739 		}
16740 		TIMELIB_DEINIT;
16741 		return TIMELIB_RELATIVE;
16742 	}
16743 #line 16744 "<stdout>"
16744 yy1109:
16745 	YYDEBUG(1109, *YYCURSOR);
16746 	yych = *++YYCURSOR;
16747 	goto yy1084;
16748 yy1110:
16749 	YYDEBUG(1110, *YYCURSOR);
16750 	yych = *++YYCURSOR;
16751 	if (yych == 'A') goto yy1111;
16752 	if (yych != 'a') goto yy56;
16753 yy1111:
16754 	YYDEBUG(1111, *YYCURSOR);
16755 	yych = *++YYCURSOR;
16756 	if (yych == 'Y') goto yy1112;
16757 	if (yych != 'y') goto yy56;
16758 yy1112:
16759 	YYDEBUG(1112, *YYCURSOR);
16760 	yych = *++YYCURSOR;
16761 	if (yych == 'S') goto yy1109;
16762 	if (yych == 's') goto yy1109;
16763 	goto yy1084;
16764 yy1113:
16765 	YYDEBUG(1113, *YYCURSOR);
16766 	yych = *++YYCURSOR;
16767 	if (yych == 'A') goto yy1114;
16768 	if (yych != 'a') goto yy56;
16769 yy1114:
16770 	YYDEBUG(1114, *YYCURSOR);
16771 	yych = *++YYCURSOR;
16772 	if (yych == 'R') goto yy1115;
16773 	if (yych != 'r') goto yy56;
16774 yy1115:
16775 	YYDEBUG(1115, *YYCURSOR);
16776 	yych = *++YYCURSOR;
16777 	if (yych == 'S') goto yy1109;
16778 	if (yych == 's') goto yy1109;
16779 	goto yy1084;
16780 yy1116:
16781 	YYDEBUG(1116, *YYCURSOR);
16782 	yych = *++YYCURSOR;
16783 	if (yych == 'I') goto yy1129;
16784 	if (yych == 'i') goto yy1129;
16785 	goto yy56;
16786 yy1117:
16787 	YYDEBUG(1117, *YYCURSOR);
16788 	yych = *++YYCURSOR;
16789 	if (yych == 'R') goto yy1118;
16790 	if (yych != 'r') goto yy56;
16791 yy1118:
16792 	YYDEBUG(1118, *YYCURSOR);
16793 	yych = *++YYCURSOR;
16794 	if (yych == 'T') goto yy1119;
16795 	if (yych != 't') goto yy56;
16796 yy1119:
16797 	YYDEBUG(1119, *YYCURSOR);
16798 	yych = *++YYCURSOR;
16799 	if (yych <= 'N') {
16800 		if (yych == 'H') goto yy1121;
16801 		if (yych <= 'M') goto yy56;
16802 	} else {
16803 		if (yych <= 'h') {
16804 			if (yych <= 'g') goto yy56;
16805 			goto yy1121;
16806 		} else {
16807 			if (yych != 'n') goto yy56;
16808 		}
16809 	}
16810 	YYDEBUG(1120, *YYCURSOR);
16811 	yych = *++YYCURSOR;
16812 	if (yych == 'I') goto yy1126;
16813 	if (yych == 'i') goto yy1126;
16814 	goto yy56;
16815 yy1121:
16816 	YYDEBUG(1121, *YYCURSOR);
16817 	yych = *++YYCURSOR;
16818 	if (yych == 'N') goto yy1122;
16819 	if (yych != 'n') goto yy56;
16820 yy1122:
16821 	YYDEBUG(1122, *YYCURSOR);
16822 	yych = *++YYCURSOR;
16823 	if (yych == 'I') goto yy1123;
16824 	if (yych != 'i') goto yy56;
16825 yy1123:
16826 	YYDEBUG(1123, *YYCURSOR);
16827 	yych = *++YYCURSOR;
16828 	if (yych == 'G') goto yy1124;
16829 	if (yych != 'g') goto yy56;
16830 yy1124:
16831 	YYDEBUG(1124, *YYCURSOR);
16832 	yych = *++YYCURSOR;
16833 	if (yych == 'H') goto yy1125;
16834 	if (yych != 'h') goto yy56;
16835 yy1125:
16836 	YYDEBUG(1125, *YYCURSOR);
16837 	yych = *++YYCURSOR;
16838 	if (yych == 'T') goto yy1115;
16839 	if (yych == 't') goto yy1115;
16840 	goto yy56;
16841 yy1126:
16842 	YYDEBUG(1126, *YYCURSOR);
16843 	yych = *++YYCURSOR;
16844 	if (yych == 'G') goto yy1127;
16845 	if (yych != 'g') goto yy56;
16846 yy1127:
16847 	YYDEBUG(1127, *YYCURSOR);
16848 	yych = *++YYCURSOR;
16849 	if (yych == 'H') goto yy1128;
16850 	if (yych != 'h') goto yy56;
16851 yy1128:
16852 	YYDEBUG(1128, *YYCURSOR);
16853 	yych = *++YYCURSOR;
16854 	if (yych == 'T') goto yy1115;
16855 	if (yych == 't') goto yy1115;
16856 	goto yy56;
16857 yy1129:
16858 	YYDEBUG(1129, *YYCURSOR);
16859 	yyaccept = 25;
16860 	yych = *(YYMARKER = ++YYCURSOR);
16861 	if (yych <= ' ') {
16862 		if (yych == '\t') goto yy1085;
16863 		if (yych <= 0x1F) goto yy1084;
16864 		goto yy1085;
16865 	} else {
16866 		if (yych <= 'D') {
16867 			if (yych <= 'C') goto yy1084;
16868 		} else {
16869 			if (yych != 'd') goto yy1084;
16870 		}
16871 	}
16872 	YYDEBUG(1130, *YYCURSOR);
16873 	yych = *++YYCURSOR;
16874 	if (yych == 'A') goto yy1131;
16875 	if (yych != 'a') goto yy56;
16876 yy1131:
16877 	YYDEBUG(1131, *YYCURSOR);
16878 	yych = *++YYCURSOR;
16879 	if (yych == 'Y') goto yy1090;
16880 	if (yych == 'y') goto yy1090;
16881 	goto yy56;
16882 yy1132:
16883 	YYDEBUG(1132, *YYCURSOR);
16884 	yych = *++YYCURSOR;
16885 	if (yych == 'Y') goto yy1115;
16886 	if (yych == 'y') goto yy1115;
16887 	goto yy56;
16888 yy1133:
16889 	YYDEBUG(1133, *YYCURSOR);
16890 	yych = *++YYCURSOR;
16891 	if (yych == 'U') goto yy1134;
16892 	if (yych != 'u') goto yy56;
16893 yy1134:
16894 	YYDEBUG(1134, *YYCURSOR);
16895 	yych = *++YYCURSOR;
16896 	if (yych == 'R') goto yy1115;
16897 	if (yych == 'r') goto yy1115;
16898 	goto yy56;
16899 yy1135:
16900 	YYDEBUG(1135, *YYCURSOR);
16901 	yych = *++YYCURSOR;
16902 	if (yych == 'N') goto yy1146;
16903 	if (yych == 'n') goto yy1146;
16904 	goto yy56;
16905 yy1136:
16906 	YYDEBUG(1136, *YYCURSOR);
16907 	yych = *++YYCURSOR;
16908 	if (yych == 'T') goto yy1141;
16909 	if (yych == 't') goto yy1141;
16910 	goto yy56;
16911 yy1137:
16912 	YYDEBUG(1137, *YYCURSOR);
16913 	yych = *++YYCURSOR;
16914 	if (yych == 'C') goto yy1138;
16915 	if (yych != 'c') goto yy56;
16916 yy1138:
16917 	YYDEBUG(1138, *YYCURSOR);
16918 	yyaccept = 25;
16919 	yych = *(YYMARKER = ++YYCURSOR);
16920 	if (yych <= 'S') {
16921 		if (yych == 'O') goto yy1139;
16922 		if (yych <= 'R') goto yy1084;
16923 		goto yy1109;
16924 	} else {
16925 		if (yych <= 'o') {
16926 			if (yych <= 'n') goto yy1084;
16927 		} else {
16928 			if (yych == 's') goto yy1109;
16929 			goto yy1084;
16930 		}
16931 	}
16932 yy1139:
16933 	YYDEBUG(1139, *YYCURSOR);
16934 	yych = *++YYCURSOR;
16935 	if (yych == 'N') goto yy1140;
16936 	if (yych != 'n') goto yy56;
16937 yy1140:
16938 	YYDEBUG(1140, *YYCURSOR);
16939 	yych = *++YYCURSOR;
16940 	if (yych == 'D') goto yy1115;
16941 	if (yych == 'd') goto yy1115;
16942 	goto yy56;
16943 yy1141:
16944 	YYDEBUG(1141, *YYCURSOR);
16945 	yyaccept = 25;
16946 	yych = *(YYMARKER = ++YYCURSOR);
16947 	if (yych <= ' ') {
16948 		if (yych == '\t') goto yy1085;
16949 		if (yych <= 0x1F) goto yy1084;
16950 		goto yy1085;
16951 	} else {
16952 		if (yych <= 'U') {
16953 			if (yych <= 'T') goto yy1084;
16954 		} else {
16955 			if (yych != 'u') goto yy1084;
16956 		}
16957 	}
16958 	YYDEBUG(1142, *YYCURSOR);
16959 	yych = *++YYCURSOR;
16960 	if (yych == 'R') goto yy1143;
16961 	if (yych != 'r') goto yy56;
16962 yy1143:
16963 	YYDEBUG(1143, *YYCURSOR);
16964 	yych = *++YYCURSOR;
16965 	if (yych == 'D') goto yy1144;
16966 	if (yych != 'd') goto yy56;
16967 yy1144:
16968 	YYDEBUG(1144, *YYCURSOR);
16969 	yych = *++YYCURSOR;
16970 	if (yych == 'A') goto yy1145;
16971 	if (yych != 'a') goto yy56;
16972 yy1145:
16973 	YYDEBUG(1145, *YYCURSOR);
16974 	yych = *++YYCURSOR;
16975 	if (yych == 'Y') goto yy1090;
16976 	if (yych == 'y') goto yy1090;
16977 	goto yy56;
16978 yy1146:
16979 	YYDEBUG(1146, *YYCURSOR);
16980 	yyaccept = 25;
16981 	yych = *(YYMARKER = ++YYCURSOR);
16982 	if (yych <= ' ') {
16983 		if (yych == '\t') goto yy1085;
16984 		if (yych <= 0x1F) goto yy1084;
16985 		goto yy1085;
16986 	} else {
16987 		if (yych <= 'D') {
16988 			if (yych <= 'C') goto yy1084;
16989 		} else {
16990 			if (yych != 'd') goto yy1084;
16991 		}
16992 	}
16993 	YYDEBUG(1147, *YYCURSOR);
16994 	yych = *++YYCURSOR;
16995 	if (yych == 'A') goto yy1148;
16996 	if (yych != 'a') goto yy56;
16997 yy1148:
16998 	YYDEBUG(1148, *YYCURSOR);
16999 	yych = *++YYCURSOR;
17000 	if (yych == 'Y') goto yy1090;
17001 	if (yych == 'y') goto yy1090;
17002 	goto yy56;
17003 yy1149:
17004 	YYDEBUG(1149, *YYCURSOR);
17005 	yych = *++YYCURSOR;
17006 	if (yych == 'E') goto yy1150;
17007 	if (yych != 'e') goto yy56;
17008 yy1150:
17009 	YYDEBUG(1150, *YYCURSOR);
17010 	yych = *++YYCURSOR;
17011 	if (yych == 'C') goto yy1115;
17012 	if (yych == 'c') goto yy1115;
17013 	goto yy56;
17014 yy1151:
17015 	YYDEBUG(1151, *YYCURSOR);
17016 	yych = *++YYCURSOR;
17017 	if (yych == 'S') goto yy1152;
17018 	if (yych != 's') goto yy56;
17019 yy1152:
17020 	YYDEBUG(1152, *YYCURSOR);
17021 	yyaccept = 25;
17022 	yych = *(YYMARKER = ++YYCURSOR);
17023 	if (yych == 'E') goto yy1153;
17024 	if (yych != 'e') goto yy1084;
17025 yy1153:
17026 	YYDEBUG(1153, *YYCURSOR);
17027 	yych = *++YYCURSOR;
17028 	if (yych == 'C') goto yy1115;
17029 	if (yych == 'c') goto yy1115;
17030 	goto yy56;
17031 yy1154:
17032 	YYDEBUG(1154, *YYCURSOR);
17033 	yych = *++YYCURSOR;
17034 	if (yych == 'N') goto yy1177;
17035 	if (yych == 'n') goto yy1177;
17036 	goto yy56;
17037 yy1155:
17038 	YYDEBUG(1155, *YYCURSOR);
17039 	yych = *++YYCURSOR;
17040 	if (yych <= 'N') {
17041 		if (yych <= 'K') {
17042 			if (yych == 'C') goto yy1159;
17043 			goto yy56;
17044 		} else {
17045 			if (yych <= 'L') goto yy1158;
17046 			if (yych <= 'M') goto yy56;
17047 			goto yy1160;
17048 		}
17049 	} else {
17050 		if (yych <= 'k') {
17051 			if (yych == 'c') goto yy1159;
17052 			goto yy56;
17053 		} else {
17054 			if (yych <= 'l') goto yy1158;
17055 			if (yych == 'n') goto yy1160;
17056 			goto yy56;
17057 		}
17058 	}
17059 yy1156:
17060 	YYDEBUG(1156, *YYCURSOR);
17061 	yyaccept = 25;
17062 	yych = *(YYMARKER = ++YYCURSOR);
17063 	if (yych == 'E') goto yy1157;
17064 	if (yych != 'e') goto yy1084;
17065 yy1157:
17066 	YYDEBUG(1157, *YYCURSOR);
17067 	yych = *++YYCURSOR;
17068 	if (yych == 'C') goto yy1115;
17069 	if (yych == 'c') goto yy1115;
17070 	goto yy56;
17071 yy1158:
17072 	YYDEBUG(1158, *YYCURSOR);
17073 	yych = *++YYCURSOR;
17074 	if (yych == 'L') goto yy1170;
17075 	if (yych == 'l') goto yy1170;
17076 	goto yy56;
17077 yy1159:
17078 	YYDEBUG(1159, *YYCURSOR);
17079 	yych = *++YYCURSOR;
17080 	if (yych == 'R') goto yy1163;
17081 	if (yych == 'r') goto yy1163;
17082 	goto yy56;
17083 yy1160:
17084 	YYDEBUG(1160, *YYCURSOR);
17085 	yyaccept = 25;
17086 	yych = *(YYMARKER = ++YYCURSOR);
17087 	if (yych <= 'U') {
17088 		if (yych == 'S') goto yy1109;
17089 		if (yych <= 'T') goto yy1084;
17090 	} else {
17091 		if (yych <= 's') {
17092 			if (yych <= 'r') goto yy1084;
17093 			goto yy1109;
17094 		} else {
17095 			if (yych != 'u') goto yy1084;
17096 		}
17097 	}
17098 	YYDEBUG(1161, *YYCURSOR);
17099 	yych = *++YYCURSOR;
17100 	if (yych == 'T') goto yy1162;
17101 	if (yych != 't') goto yy56;
17102 yy1162:
17103 	YYDEBUG(1162, *YYCURSOR);
17104 	yych = *++YYCURSOR;
17105 	if (yych == 'E') goto yy1115;
17106 	if (yych == 'e') goto yy1115;
17107 	goto yy56;
17108 yy1163:
17109 	YYDEBUG(1163, *YYCURSOR);
17110 	yych = *++YYCURSOR;
17111 	if (yych == 'O') goto yy1164;
17112 	if (yych != 'o') goto yy56;
17113 yy1164:
17114 	YYDEBUG(1164, *YYCURSOR);
17115 	yych = *++YYCURSOR;
17116 	if (yych == 'S') goto yy1165;
17117 	if (yych != 's') goto yy56;
17118 yy1165:
17119 	YYDEBUG(1165, *YYCURSOR);
17120 	yych = *++YYCURSOR;
17121 	if (yych == 'E') goto yy1166;
17122 	if (yych != 'e') goto yy56;
17123 yy1166:
17124 	YYDEBUG(1166, *YYCURSOR);
17125 	yych = *++YYCURSOR;
17126 	if (yych == 'C') goto yy1167;
17127 	if (yych != 'c') goto yy56;
17128 yy1167:
17129 	YYDEBUG(1167, *YYCURSOR);
17130 	yych = *++YYCURSOR;
17131 	if (yych == 'O') goto yy1168;
17132 	if (yych != 'o') goto yy56;
17133 yy1168:
17134 	YYDEBUG(1168, *YYCURSOR);
17135 	yych = *++YYCURSOR;
17136 	if (yych == 'N') goto yy1169;
17137 	if (yych != 'n') goto yy56;
17138 yy1169:
17139 	YYDEBUG(1169, *YYCURSOR);
17140 	yych = *++YYCURSOR;
17141 	if (yych == 'D') goto yy1115;
17142 	if (yych == 'd') goto yy1115;
17143 	goto yy56;
17144 yy1170:
17145 	YYDEBUG(1170, *YYCURSOR);
17146 	yych = *++YYCURSOR;
17147 	if (yych == 'I') goto yy1171;
17148 	if (yych != 'i') goto yy56;
17149 yy1171:
17150 	YYDEBUG(1171, *YYCURSOR);
17151 	yych = *++YYCURSOR;
17152 	if (yych == 'S') goto yy1172;
17153 	if (yych != 's') goto yy56;
17154 yy1172:
17155 	YYDEBUG(1172, *YYCURSOR);
17156 	yych = *++YYCURSOR;
17157 	if (yych == 'E') goto yy1173;
17158 	if (yych != 'e') goto yy56;
17159 yy1173:
17160 	YYDEBUG(1173, *YYCURSOR);
17161 	yych = *++YYCURSOR;
17162 	if (yych == 'C') goto yy1174;
17163 	if (yych != 'c') goto yy56;
17164 yy1174:
17165 	YYDEBUG(1174, *YYCURSOR);
17166 	yych = *++YYCURSOR;
17167 	if (yych == 'O') goto yy1175;
17168 	if (yych != 'o') goto yy56;
17169 yy1175:
17170 	YYDEBUG(1175, *YYCURSOR);
17171 	yych = *++YYCURSOR;
17172 	if (yych == 'N') goto yy1176;
17173 	if (yych != 'n') goto yy56;
17174 yy1176:
17175 	YYDEBUG(1176, *YYCURSOR);
17176 	yych = *++YYCURSOR;
17177 	if (yych == 'D') goto yy1115;
17178 	if (yych == 'd') goto yy1115;
17179 	goto yy56;
17180 yy1177:
17181 	YYDEBUG(1177, *YYCURSOR);
17182 	yyaccept = 25;
17183 	yych = *(YYMARKER = ++YYCURSOR);
17184 	if (yych <= 'D') {
17185 		if (yych <= 0x1F) {
17186 			if (yych == '\t') goto yy1085;
17187 			goto yy1084;
17188 		} else {
17189 			if (yych <= ' ') goto yy1085;
17190 			if (yych <= 'C') goto yy1084;
17191 		}
17192 	} else {
17193 		if (yych <= 'c') {
17194 			if (yych == 'T') goto yy1179;
17195 			goto yy1084;
17196 		} else {
17197 			if (yych <= 'd') goto yy1178;
17198 			if (yych == 't') goto yy1179;
17199 			goto yy1084;
17200 		}
17201 	}
17202 yy1178:
17203 	YYDEBUG(1178, *YYCURSOR);
17204 	yych = *++YYCURSOR;
17205 	if (yych == 'A') goto yy1180;
17206 	if (yych == 'a') goto yy1180;
17207 	goto yy56;
17208 yy1179:
17209 	YYDEBUG(1179, *YYCURSOR);
17210 	yych = *++YYCURSOR;
17211 	if (yych == 'H') goto yy1115;
17212 	if (yych == 'h') goto yy1115;
17213 	goto yy56;
17214 yy1180:
17215 	YYDEBUG(1180, *YYCURSOR);
17216 	yych = *++YYCURSOR;
17217 	if (yych == 'Y') goto yy1090;
17218 	if (yych == 'y') goto yy1090;
17219 	goto yy56;
17220 yy1181:
17221 	YYDEBUG(1181, *YYCURSOR);
17222 	yyaccept = 0;
17223 	yych = *(YYMARKER = ++YYCURSOR);
17224 	if (yych <= 'D') {
17225 		if (yych <= '-') {
17226 			if (yych == ')') goto yy164;
17227 			if (yych <= ',') goto yy3;
17228 			goto yy172;
17229 		} else {
17230 			if (yych == '/') goto yy172;
17231 			if (yych <= '@') goto yy3;
17232 			goto yy166;
17233 		}
17234 	} else {
17235 		if (yych <= '_') {
17236 			if (yych <= 'E') goto yy1063;
17237 			if (yych <= 'Z') goto yy166;
17238 			if (yych <= '^') goto yy3;
17239 			goto yy172;
17240 		} else {
17241 			if (yych <= 'd') {
17242 				if (yych <= '`') goto yy3;
17243 				goto yy171;
17244 			} else {
17245 				if (yych <= 'e') goto yy1182;
17246 				if (yych <= 'z') goto yy171;
17247 				goto yy3;
17248 			}
17249 		}
17250 	}
17251 yy1182:
17252 	YYDEBUG(1182, *YYCURSOR);
17253 	yyaccept = 0;
17254 	yych = *(YYMARKER = ++YYCURSOR);
17255 	if (yych <= 'U') {
17256 		if (yych <= '-') {
17257 			if (yych == ')') goto yy164;
17258 			if (yych <= ',') goto yy3;
17259 			goto yy172;
17260 		} else {
17261 			if (yych == '/') goto yy172;
17262 			if (yych <= '@') goto yy3;
17263 			goto yy167;
17264 		}
17265 	} else {
17266 		if (yych <= '_') {
17267 			if (yych <= 'V') goto yy1064;
17268 			if (yych <= 'Z') goto yy167;
17269 			if (yych <= '^') goto yy3;
17270 			goto yy172;
17271 		} else {
17272 			if (yych <= 'u') {
17273 				if (yych <= '`') goto yy3;
17274 				goto yy175;
17275 			} else {
17276 				if (yych <= 'v') goto yy1183;
17277 				if (yych <= 'z') goto yy175;
17278 				goto yy3;
17279 			}
17280 		}
17281 	}
17282 yy1183:
17283 	YYDEBUG(1183, *YYCURSOR);
17284 	yyaccept = 0;
17285 	yych = *(YYMARKER = ++YYCURSOR);
17286 	if (yych <= 'H') {
17287 		if (yych <= '-') {
17288 			if (yych == ')') goto yy164;
17289 			if (yych <= ',') goto yy3;
17290 			goto yy172;
17291 		} else {
17292 			if (yych == '/') goto yy172;
17293 			if (yych <= '@') goto yy3;
17294 			goto yy168;
17295 		}
17296 	} else {
17297 		if (yych <= '_') {
17298 			if (yych <= 'I') goto yy1065;
17299 			if (yych <= 'Z') goto yy168;
17300 			if (yych <= '^') goto yy3;
17301 			goto yy172;
17302 		} else {
17303 			if (yych <= 'h') {
17304 				if (yych <= '`') goto yy3;
17305 				goto yy176;
17306 			} else {
17307 				if (yych <= 'i') goto yy1184;
17308 				if (yych <= 'z') goto yy176;
17309 				goto yy3;
17310 			}
17311 		}
17312 	}
17313 yy1184:
17314 	YYDEBUG(1184, *YYCURSOR);
17315 	yyaccept = 0;
17316 	yych = *(YYMARKER = ++YYCURSOR);
17317 	if (yych <= 'N') {
17318 		if (yych <= '-') {
17319 			if (yych == ')') goto yy164;
17320 			if (yych <= ',') goto yy3;
17321 			goto yy172;
17322 		} else {
17323 			if (yych == '/') goto yy172;
17324 			if (yych <= '@') goto yy3;
17325 			goto yy169;
17326 		}
17327 	} else {
17328 		if (yych <= '_') {
17329 			if (yych <= 'O') goto yy1066;
17330 			if (yych <= 'Z') goto yy169;
17331 			if (yych <= '^') goto yy3;
17332 			goto yy172;
17333 		} else {
17334 			if (yych <= 'n') {
17335 				if (yych <= '`') goto yy3;
17336 				goto yy177;
17337 			} else {
17338 				if (yych <= 'o') goto yy1185;
17339 				if (yych <= 'z') goto yy177;
17340 				goto yy3;
17341 			}
17342 		}
17343 	}
17344 yy1185:
17345 	YYDEBUG(1185, *YYCURSOR);
17346 	yyaccept = 0;
17347 	yych = *(YYMARKER = ++YYCURSOR);
17348 	if (yych <= 'T') {
17349 		if (yych <= ',') {
17350 			if (yych == ')') goto yy164;
17351 			goto yy3;
17352 		} else {
17353 			if (yych == '.') goto yy3;
17354 			if (yych <= '/') goto yy172;
17355 			goto yy3;
17356 		}
17357 	} else {
17358 		if (yych <= '`') {
17359 			if (yych <= 'U') goto yy1067;
17360 			if (yych == '_') goto yy172;
17361 			goto yy3;
17362 		} else {
17363 			if (yych == 'u') goto yy1186;
17364 			if (yych <= 'z') goto yy178;
17365 			goto yy3;
17366 		}
17367 	}
17368 yy1186:
17369 	YYDEBUG(1186, *YYCURSOR);
17370 	yych = *++YYCURSOR;
17371 	if (yych == 'S') goto yy1068;
17372 	if (yych != 's') goto yy179;
17373 	YYDEBUG(1187, *YYCURSOR);
17374 	yych = *++YYCURSOR;
17375 	if (yybm[0+yych] & 16) {
17376 		goto yy178;
17377 	}
17378 	if (yych <= ',') {
17379 		if (yych <= '\t') {
17380 			if (yych <= 0x08) goto yy56;
17381 			goto yy1069;
17382 		} else {
17383 			if (yych == ' ') goto yy1069;
17384 			goto yy56;
17385 		}
17386 	} else {
17387 		if (yych <= '/') {
17388 			if (yych == '.') goto yy56;
17389 			goto yy172;
17390 		} else {
17391 			if (yych == '_') goto yy172;
17392 			goto yy56;
17393 		}
17394 	}
17395 yy1188:
17396 	YYDEBUG(1188, *YYCURSOR);
17397 	yych = *++YYCURSOR;
17398 	if (yych <= 'G') {
17399 		if (yych <= ')') {
17400 			if (yych <= '(') goto yy3;
17401 			goto yy164;
17402 		} else {
17403 			if (yych <= '@') goto yy3;
17404 			if (yych <= 'F') goto yy166;
17405 			goto yy1202;
17406 		}
17407 	} else {
17408 		if (yych <= 'f') {
17409 			if (yych <= 'Z') goto yy166;
17410 			if (yych <= '`') goto yy3;
17411 			goto yy166;
17412 		} else {
17413 			if (yych <= 'g') goto yy1202;
17414 			if (yych <= 'z') goto yy166;
17415 			goto yy3;
17416 		}
17417 	}
17418 yy1189:
17419 	YYDEBUG(1189, *YYCURSOR);
17420 	yych = *++YYCURSOR;
17421 	if (yych <= 'E') {
17422 		if (yych <= ')') {
17423 			if (yych <= '(') goto yy3;
17424 			goto yy164;
17425 		} else {
17426 			if (yych <= '@') goto yy3;
17427 			if (yych <= 'D') goto yy166;
17428 		}
17429 	} else {
17430 		if (yych <= 'd') {
17431 			if (yych <= 'Z') goto yy166;
17432 			if (yych <= '`') goto yy3;
17433 			goto yy166;
17434 		} else {
17435 			if (yych <= 'e') goto yy1190;
17436 			if (yych <= 'z') goto yy166;
17437 			goto yy3;
17438 		}
17439 	}
17440 yy1190:
17441 	YYDEBUG(1190, *YYCURSOR);
17442 	yych = *++YYCURSOR;
17443 	if (yych <= 'V') {
17444 		if (yych <= ')') {
17445 			if (yych <= '(') goto yy3;
17446 			goto yy164;
17447 		} else {
17448 			if (yych <= '@') goto yy3;
17449 			if (yych <= 'U') goto yy167;
17450 		}
17451 	} else {
17452 		if (yych <= 'u') {
17453 			if (yych <= 'Z') goto yy167;
17454 			if (yych <= '`') goto yy3;
17455 			goto yy167;
17456 		} else {
17457 			if (yych <= 'v') goto yy1191;
17458 			if (yych <= 'z') goto yy167;
17459 			goto yy3;
17460 		}
17461 	}
17462 yy1191:
17463 	YYDEBUG(1191, *YYCURSOR);
17464 	yych = *++YYCURSOR;
17465 	if (yych <= 'E') {
17466 		if (yych <= ')') {
17467 			if (yych <= '(') goto yy3;
17468 			goto yy164;
17469 		} else {
17470 			if (yych <= '@') goto yy3;
17471 			if (yych <= 'D') goto yy168;
17472 		}
17473 	} else {
17474 		if (yych <= 'd') {
17475 			if (yych <= 'Z') goto yy168;
17476 			if (yych <= '`') goto yy3;
17477 			goto yy168;
17478 		} else {
17479 			if (yych <= 'e') goto yy1192;
17480 			if (yych <= 'z') goto yy168;
17481 			goto yy3;
17482 		}
17483 	}
17484 yy1192:
17485 	YYDEBUG(1192, *YYCURSOR);
17486 	yych = *++YYCURSOR;
17487 	if (yych <= 'N') {
17488 		if (yych <= ')') {
17489 			if (yych <= '(') goto yy3;
17490 			goto yy164;
17491 		} else {
17492 			if (yych <= '@') goto yy3;
17493 			if (yych <= 'M') goto yy169;
17494 		}
17495 	} else {
17496 		if (yych <= 'm') {
17497 			if (yych <= 'Z') goto yy169;
17498 			if (yych <= '`') goto yy3;
17499 			goto yy169;
17500 		} else {
17501 			if (yych <= 'n') goto yy1193;
17502 			if (yych <= 'z') goto yy169;
17503 			goto yy3;
17504 		}
17505 	}
17506 yy1193:
17507 	YYDEBUG(1193, *YYCURSOR);
17508 	yyaccept = 0;
17509 	yych = *(YYMARKER = ++YYCURSOR);
17510 	if (yych <= 'S') {
17511 		if (yych == ')') goto yy164;
17512 		goto yy3;
17513 	} else {
17514 		if (yych <= 'T') goto yy1194;
17515 		if (yych != 't') goto yy3;
17516 	}
17517 yy1194:
17518 	YYDEBUG(1194, *YYCURSOR);
17519 	yych = *++YYCURSOR;
17520 	if (yych == 'H') goto yy1195;
17521 	if (yych != 'h') goto yy56;
17522 yy1195:
17523 	YYDEBUG(1195, *YYCURSOR);
17524 	yych = *++YYCURSOR;
17525 	if (yych == '\t') goto yy1196;
17526 	if (yych != ' ') goto yy56;
17527 yy1196:
17528 	YYDEBUG(1196, *YYCURSOR);
17529 	++YYCURSOR;
17530 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
17531 	yych = *YYCURSOR;
17532 yy1197:
17533 	YYDEBUG(1197, *YYCURSOR);
17534 	if (yych <= 'X') {
17535 		if (yych <= 'G') {
17536 			if (yych <= ' ') {
17537 				if (yych == '\t') goto yy1196;
17538 				if (yych <= 0x1F) goto yy56;
17539 				goto yy1196;
17540 			} else {
17541 				if (yych <= 'D') {
17542 					if (yych <= 'C') goto yy56;
17543 					goto yy1076;
17544 				} else {
17545 					if (yych == 'F') goto yy1077;
17546 					goto yy56;
17547 				}
17548 			}
17549 		} else {
17550 			if (yych <= 'S') {
17551 				if (yych <= 'L') {
17552 					if (yych <= 'H') goto yy1075;
17553 					goto yy56;
17554 				} else {
17555 					if (yych <= 'M') goto yy1071;
17556 					if (yych <= 'R') goto yy56;
17557 					goto yy1074;
17558 				}
17559 			} else {
17560 				if (yych <= 'U') {
17561 					if (yych <= 'T') goto yy1080;
17562 					goto yy1073;
17563 				} else {
17564 					if (yych != 'W') goto yy56;
17565 				}
17566 			}
17567 		}
17568 	} else {
17569 		if (yych <= 'r') {
17570 			if (yych <= 'f') {
17571 				if (yych <= 'c') {
17572 					if (yych <= 'Y') goto yy1078;
17573 					goto yy56;
17574 				} else {
17575 					if (yych <= 'd') goto yy1076;
17576 					if (yych <= 'e') goto yy56;
17577 					goto yy1077;
17578 				}
17579 			} else {
17580 				if (yych <= 'h') {
17581 					if (yych <= 'g') goto yy56;
17582 					goto yy1075;
17583 				} else {
17584 					if (yych == 'm') goto yy1071;
17585 					goto yy56;
17586 				}
17587 			}
17588 		} else {
17589 			if (yych <= 'w') {
17590 				if (yych <= 't') {
17591 					if (yych <= 's') goto yy1074;
17592 					goto yy1080;
17593 				} else {
17594 					if (yych <= 'u') goto yy1073;
17595 					if (yych <= 'v') goto yy56;
17596 				}
17597 			} else {
17598 				if (yych <= 'y') {
17599 					if (yych <= 'x') goto yy56;
17600 					goto yy1078;
17601 				} else {
17602 					if (yych == 0xC2) goto yy1072;
17603 					goto yy56;
17604 				}
17605 			}
17606 		}
17607 	}
17608 	YYDEBUG(1198, *YYCURSOR);
17609 	yych = *++YYCURSOR;
17610 	if (yych == 'E') goto yy1199;
17611 	if (yych != 'e') goto yy56;
17612 yy1199:
17613 	YYDEBUG(1199, *YYCURSOR);
17614 	yych = *++YYCURSOR;
17615 	if (yych <= 'E') {
17616 		if (yych <= 'C') goto yy56;
17617 		if (yych <= 'D') goto yy1101;
17618 	} else {
17619 		if (yych <= 'c') goto yy56;
17620 		if (yych <= 'd') goto yy1101;
17621 		if (yych >= 'f') goto yy56;
17622 	}
17623 	YYDEBUG(1200, *YYCURSOR);
17624 	yych = *++YYCURSOR;
17625 	if (yych == 'K') goto yy1201;
17626 	if (yych != 'k') goto yy56;
17627 yy1201:
17628 	YYDEBUG(1201, *YYCURSOR);
17629 	yych = *++YYCURSOR;
17630 	if (yych <= 'S') {
17631 		if (yych == 'D') goto yy1110;
17632 		if (yych <= 'R') goto yy56;
17633 		goto yy1109;
17634 	} else {
17635 		if (yych <= 'd') {
17636 			if (yych <= 'c') goto yy56;
17637 			goto yy1110;
17638 		} else {
17639 			if (yych == 's') goto yy1109;
17640 			goto yy56;
17641 		}
17642 	}
17643 yy1202:
17644 	YYDEBUG(1202, *YYCURSOR);
17645 	yych = *++YYCURSOR;
17646 	if (yych <= 'H') {
17647 		if (yych <= ')') {
17648 			if (yych <= '(') goto yy3;
17649 			goto yy164;
17650 		} else {
17651 			if (yych <= '@') goto yy3;
17652 			if (yych <= 'G') goto yy167;
17653 		}
17654 	} else {
17655 		if (yych <= 'g') {
17656 			if (yych <= 'Z') goto yy167;
17657 			if (yych <= '`') goto yy3;
17658 			goto yy167;
17659 		} else {
17660 			if (yych <= 'h') goto yy1203;
17661 			if (yych <= 'z') goto yy167;
17662 			goto yy3;
17663 		}
17664 	}
17665 yy1203:
17666 	YYDEBUG(1203, *YYCURSOR);
17667 	yych = *++YYCURSOR;
17668 	if (yych <= 'T') {
17669 		if (yych <= ')') {
17670 			if (yych <= '(') goto yy3;
17671 			goto yy164;
17672 		} else {
17673 			if (yych <= '@') goto yy3;
17674 			if (yych <= 'S') goto yy168;
17675 		}
17676 	} else {
17677 		if (yych <= 's') {
17678 			if (yych <= 'Z') goto yy168;
17679 			if (yych <= '`') goto yy3;
17680 			goto yy168;
17681 		} else {
17682 			if (yych <= 't') goto yy1204;
17683 			if (yych <= 'z') goto yy168;
17684 			goto yy3;
17685 		}
17686 	}
17687 yy1204:
17688 	YYDEBUG(1204, *YYCURSOR);
17689 	yyaccept = 0;
17690 	yych = *(YYMARKER = ++YYCURSOR);
17691 	if (yych <= '@') {
17692 		if (yych <= 0x1F) {
17693 			if (yych == '\t') goto yy1196;
17694 			goto yy3;
17695 		} else {
17696 			if (yych <= ' ') goto yy1196;
17697 			if (yych == ')') goto yy164;
17698 			goto yy3;
17699 		}
17700 	} else {
17701 		if (yych <= '`') {
17702 			if (yych == 'H') goto yy1205;
17703 			if (yych <= 'Z') goto yy169;
17704 			goto yy3;
17705 		} else {
17706 			if (yych == 'h') goto yy1205;
17707 			if (yych <= 'z') goto yy169;
17708 			goto yy3;
17709 		}
17710 	}
17711 yy1205:
17712 	YYDEBUG(1205, *YYCURSOR);
17713 	yyaccept = 0;
17714 	yych = *(YYMARKER = ++YYCURSOR);
17715 	if (yych <= 0x1F) {
17716 		if (yych == '\t') goto yy1196;
17717 		goto yy3;
17718 	} else {
17719 		if (yych <= ' ') goto yy1196;
17720 		if (yych == ')') goto yy164;
17721 		goto yy3;
17722 	}
17723 yy1206:
17724 	YYDEBUG(1206, *YYCURSOR);
17725 	yyaccept = 0;
17726 	yych = *(YYMARKER = ++YYCURSOR);
17727 	if (yych <= 'F') {
17728 		if (yych <= '-') {
17729 			if (yych == ')') goto yy164;
17730 			if (yych <= ',') goto yy3;
17731 			goto yy172;
17732 		} else {
17733 			if (yych == '/') goto yy172;
17734 			if (yych <= '@') goto yy3;
17735 			goto yy166;
17736 		}
17737 	} else {
17738 		if (yych <= '_') {
17739 			if (yych <= 'G') goto yy1202;
17740 			if (yych <= 'Z') goto yy166;
17741 			if (yych <= '^') goto yy3;
17742 			goto yy172;
17743 		} else {
17744 			if (yych <= 'f') {
17745 				if (yych <= '`') goto yy3;
17746 				goto yy171;
17747 			} else {
17748 				if (yych <= 'g') goto yy1214;
17749 				if (yych <= 'z') goto yy171;
17750 				goto yy3;
17751 			}
17752 		}
17753 	}
17754 yy1207:
17755 	YYDEBUG(1207, *YYCURSOR);
17756 	yyaccept = 0;
17757 	yych = *(YYMARKER = ++YYCURSOR);
17758 	if (yych <= 'D') {
17759 		if (yych <= '-') {
17760 			if (yych == ')') goto yy164;
17761 			if (yych <= ',') goto yy3;
17762 			goto yy172;
17763 		} else {
17764 			if (yych == '/') goto yy172;
17765 			if (yych <= '@') goto yy3;
17766 			goto yy166;
17767 		}
17768 	} else {
17769 		if (yych <= '_') {
17770 			if (yych <= 'E') goto yy1190;
17771 			if (yych <= 'Z') goto yy166;
17772 			if (yych <= '^') goto yy3;
17773 			goto yy172;
17774 		} else {
17775 			if (yych <= 'd') {
17776 				if (yych <= '`') goto yy3;
17777 				goto yy171;
17778 			} else {
17779 				if (yych <= 'e') goto yy1208;
17780 				if (yych <= 'z') goto yy171;
17781 				goto yy3;
17782 			}
17783 		}
17784 	}
17785 yy1208:
17786 	YYDEBUG(1208, *YYCURSOR);
17787 	yyaccept = 0;
17788 	yych = *(YYMARKER = ++YYCURSOR);
17789 	if (yych <= 'U') {
17790 		if (yych <= '-') {
17791 			if (yych == ')') goto yy164;
17792 			if (yych <= ',') goto yy3;
17793 			goto yy172;
17794 		} else {
17795 			if (yych == '/') goto yy172;
17796 			if (yych <= '@') goto yy3;
17797 			goto yy167;
17798 		}
17799 	} else {
17800 		if (yych <= '_') {
17801 			if (yych <= 'V') goto yy1191;
17802 			if (yych <= 'Z') goto yy167;
17803 			if (yych <= '^') goto yy3;
17804 			goto yy172;
17805 		} else {
17806 			if (yych <= 'u') {
17807 				if (yych <= '`') goto yy3;
17808 				goto yy175;
17809 			} else {
17810 				if (yych <= 'v') goto yy1209;
17811 				if (yych <= 'z') goto yy175;
17812 				goto yy3;
17813 			}
17814 		}
17815 	}
17816 yy1209:
17817 	YYDEBUG(1209, *YYCURSOR);
17818 	yyaccept = 0;
17819 	yych = *(YYMARKER = ++YYCURSOR);
17820 	if (yych <= 'D') {
17821 		if (yych <= '-') {
17822 			if (yych == ')') goto yy164;
17823 			if (yych <= ',') goto yy3;
17824 			goto yy172;
17825 		} else {
17826 			if (yych == '/') goto yy172;
17827 			if (yych <= '@') goto yy3;
17828 			goto yy168;
17829 		}
17830 	} else {
17831 		if (yych <= '_') {
17832 			if (yych <= 'E') goto yy1192;
17833 			if (yych <= 'Z') goto yy168;
17834 			if (yych <= '^') goto yy3;
17835 			goto yy172;
17836 		} else {
17837 			if (yych <= 'd') {
17838 				if (yych <= '`') goto yy3;
17839 				goto yy176;
17840 			} else {
17841 				if (yych <= 'e') goto yy1210;
17842 				if (yych <= 'z') goto yy176;
17843 				goto yy3;
17844 			}
17845 		}
17846 	}
17847 yy1210:
17848 	YYDEBUG(1210, *YYCURSOR);
17849 	yyaccept = 0;
17850 	yych = *(YYMARKER = ++YYCURSOR);
17851 	if (yych <= 'M') {
17852 		if (yych <= '-') {
17853 			if (yych == ')') goto yy164;
17854 			if (yych <= ',') goto yy3;
17855 			goto yy172;
17856 		} else {
17857 			if (yych == '/') goto yy172;
17858 			if (yych <= '@') goto yy3;
17859 			goto yy169;
17860 		}
17861 	} else {
17862 		if (yych <= '_') {
17863 			if (yych <= 'N') goto yy1193;
17864 			if (yych <= 'Z') goto yy169;
17865 			if (yych <= '^') goto yy3;
17866 			goto yy172;
17867 		} else {
17868 			if (yych <= 'm') {
17869 				if (yych <= '`') goto yy3;
17870 				goto yy177;
17871 			} else {
17872 				if (yych <= 'n') goto yy1211;
17873 				if (yych <= 'z') goto yy177;
17874 				goto yy3;
17875 			}
17876 		}
17877 	}
17878 yy1211:
17879 	YYDEBUG(1211, *YYCURSOR);
17880 	yyaccept = 0;
17881 	yych = *(YYMARKER = ++YYCURSOR);
17882 	if (yych <= 'S') {
17883 		if (yych <= ',') {
17884 			if (yych == ')') goto yy164;
17885 			goto yy3;
17886 		} else {
17887 			if (yych == '.') goto yy3;
17888 			if (yych <= '/') goto yy172;
17889 			goto yy3;
17890 		}
17891 	} else {
17892 		if (yych <= '`') {
17893 			if (yych <= 'T') goto yy1194;
17894 			if (yych == '_') goto yy172;
17895 			goto yy3;
17896 		} else {
17897 			if (yych == 't') goto yy1212;
17898 			if (yych <= 'z') goto yy178;
17899 			goto yy3;
17900 		}
17901 	}
17902 yy1212:
17903 	YYDEBUG(1212, *YYCURSOR);
17904 	yych = *++YYCURSOR;
17905 	if (yych == 'H') goto yy1195;
17906 	if (yych != 'h') goto yy179;
17907 yy1213:
17908 	YYDEBUG(1213, *YYCURSOR);
17909 	yych = *++YYCURSOR;
17910 	if (yybm[0+yych] & 16) {
17911 		goto yy178;
17912 	}
17913 	if (yych <= ',') {
17914 		if (yych <= '\t') {
17915 			if (yych <= 0x08) goto yy56;
17916 			goto yy1196;
17917 		} else {
17918 			if (yych == ' ') goto yy1196;
17919 			goto yy56;
17920 		}
17921 	} else {
17922 		if (yych <= '/') {
17923 			if (yych == '.') goto yy56;
17924 			goto yy172;
17925 		} else {
17926 			if (yych == '_') goto yy172;
17927 			goto yy56;
17928 		}
17929 	}
17930 yy1214:
17931 	YYDEBUG(1214, *YYCURSOR);
17932 	yyaccept = 0;
17933 	yych = *(YYMARKER = ++YYCURSOR);
17934 	if (yych <= 'G') {
17935 		if (yych <= '-') {
17936 			if (yych == ')') goto yy164;
17937 			if (yych <= ',') goto yy3;
17938 			goto yy172;
17939 		} else {
17940 			if (yych == '/') goto yy172;
17941 			if (yych <= '@') goto yy3;
17942 			goto yy167;
17943 		}
17944 	} else {
17945 		if (yych <= '_') {
17946 			if (yych <= 'H') goto yy1203;
17947 			if (yych <= 'Z') goto yy167;
17948 			if (yych <= '^') goto yy3;
17949 			goto yy172;
17950 		} else {
17951 			if (yych <= 'g') {
17952 				if (yych <= '`') goto yy3;
17953 				goto yy175;
17954 			} else {
17955 				if (yych <= 'h') goto yy1215;
17956 				if (yych <= 'z') goto yy175;
17957 				goto yy3;
17958 			}
17959 		}
17960 	}
17961 yy1215:
17962 	YYDEBUG(1215, *YYCURSOR);
17963 	yyaccept = 0;
17964 	yych = *(YYMARKER = ++YYCURSOR);
17965 	if (yych <= 'S') {
17966 		if (yych <= '-') {
17967 			if (yych == ')') goto yy164;
17968 			if (yych <= ',') goto yy3;
17969 			goto yy172;
17970 		} else {
17971 			if (yych == '/') goto yy172;
17972 			if (yych <= '@') goto yy3;
17973 			goto yy168;
17974 		}
17975 	} else {
17976 		if (yych <= '_') {
17977 			if (yych <= 'T') goto yy1204;
17978 			if (yych <= 'Z') goto yy168;
17979 			if (yych <= '^') goto yy3;
17980 			goto yy172;
17981 		} else {
17982 			if (yych <= 's') {
17983 				if (yych <= '`') goto yy3;
17984 				goto yy176;
17985 			} else {
17986 				if (yych <= 't') goto yy1216;
17987 				if (yych <= 'z') goto yy176;
17988 				goto yy3;
17989 			}
17990 		}
17991 	}
17992 yy1216:
17993 	YYDEBUG(1216, *YYCURSOR);
17994 	yyaccept = 0;
17995 	yych = *(YYMARKER = ++YYCURSOR);
17996 	if (yych <= '/') {
17997 		if (yych <= '(') {
17998 			if (yych <= '\t') {
17999 				if (yych <= 0x08) goto yy3;
18000 				goto yy1196;
18001 			} else {
18002 				if (yych == ' ') goto yy1196;
18003 				goto yy3;
18004 			}
18005 		} else {
18006 			if (yych <= ',') {
18007 				if (yych <= ')') goto yy164;
18008 				goto yy3;
18009 			} else {
18010 				if (yych == '.') goto yy3;
18011 				goto yy172;
18012 			}
18013 		}
18014 	} else {
18015 		if (yych <= '^') {
18016 			if (yych <= 'G') {
18017 				if (yych <= '@') goto yy3;
18018 				goto yy169;
18019 			} else {
18020 				if (yych <= 'H') goto yy1205;
18021 				if (yych <= 'Z') goto yy169;
18022 				goto yy3;
18023 			}
18024 		} else {
18025 			if (yych <= 'g') {
18026 				if (yych <= '_') goto yy172;
18027 				if (yych <= '`') goto yy3;
18028 				goto yy177;
18029 			} else {
18030 				if (yych <= 'h') goto yy1217;
18031 				if (yych <= 'z') goto yy177;
18032 				goto yy3;
18033 			}
18034 		}
18035 	}
18036 yy1217:
18037 	YYDEBUG(1217, *YYCURSOR);
18038 	yyaccept = 0;
18039 	yych = *(YYMARKER = ++YYCURSOR);
18040 	if (yybm[0+yych] & 16) {
18041 		goto yy178;
18042 	}
18043 	if (yych <= ')') {
18044 		if (yych <= 0x1F) {
18045 			if (yych == '\t') goto yy1196;
18046 			goto yy3;
18047 		} else {
18048 			if (yych <= ' ') goto yy1196;
18049 			if (yych <= '(') goto yy3;
18050 			goto yy164;
18051 		}
18052 	} else {
18053 		if (yych <= '.') {
18054 			if (yych == '-') goto yy172;
18055 			goto yy3;
18056 		} else {
18057 			if (yych <= '/') goto yy172;
18058 			if (yych == '_') goto yy172;
18059 			goto yy3;
18060 		}
18061 	}
18062 yy1218:
18063 	YYDEBUG(1218, *YYCURSOR);
18064 	yych = *++YYCURSOR;
18065 	if (yych <= 'V') {
18066 		if (yych <= 'B') {
18067 			if (yych == ')') goto yy164;
18068 			if (yych <= '@') goto yy3;
18069 			goto yy166;
18070 		} else {
18071 			if (yych <= 'O') {
18072 				if (yych <= 'C') goto yy1234;
18073 				goto yy166;
18074 			} else {
18075 				if (yych <= 'P') goto yy1236;
18076 				if (yych <= 'U') goto yy166;
18077 				goto yy1235;
18078 			}
18079 		}
18080 	} else {
18081 		if (yych <= 'o') {
18082 			if (yych <= '`') {
18083 				if (yych <= 'Z') goto yy166;
18084 				goto yy3;
18085 			} else {
18086 				if (yych == 'c') goto yy1234;
18087 				goto yy166;
18088 			}
18089 		} else {
18090 			if (yych <= 'u') {
18091 				if (yych <= 'p') goto yy1236;
18092 				goto yy166;
18093 			} else {
18094 				if (yych <= 'v') goto yy1235;
18095 				if (yych <= 'z') goto yy166;
18096 				goto yy3;
18097 			}
18098 		}
18099 	}
18100 yy1219:
18101 	YYDEBUG(1219, *YYCURSOR);
18102 	yych = *++YYCURSOR;
18103 	if (yych <= 'T') {
18104 		if (yych <= ')') {
18105 			if (yych <= '(') goto yy3;
18106 			goto yy164;
18107 		} else {
18108 			if (yych <= '@') goto yy3;
18109 			if (yych <= 'S') goto yy166;
18110 			goto yy1229;
18111 		}
18112 	} else {
18113 		if (yych <= 's') {
18114 			if (yych <= 'Z') goto yy166;
18115 			if (yych <= '`') goto yy3;
18116 			goto yy166;
18117 		} else {
18118 			if (yych <= 't') goto yy1229;
18119 			if (yych <= 'z') goto yy166;
18120 			goto yy3;
18121 		}
18122 	}
18123 yy1220:
18124 	YYDEBUG(1220, *YYCURSOR);
18125 	yych = *++YYCURSOR;
18126 	if (yych <= 'X') {
18127 		if (yych <= ')') {
18128 			if (yych <= '(') goto yy3;
18129 			goto yy164;
18130 		} else {
18131 			if (yych <= '@') goto yy3;
18132 			if (yych <= 'W') goto yy166;
18133 			goto yy1226;
18134 		}
18135 	} else {
18136 		if (yych <= 'w') {
18137 			if (yych <= 'Z') goto yy166;
18138 			if (yych <= '`') goto yy3;
18139 			goto yy166;
18140 		} else {
18141 			if (yych <= 'x') goto yy1226;
18142 			if (yych <= 'z') goto yy166;
18143 			goto yy3;
18144 		}
18145 	}
18146 yy1221:
18147 	YYDEBUG(1221, *YYCURSOR);
18148 	yych = *++YYCURSOR;
18149 	if (yych <= 'N') {
18150 		if (yych <= ')') {
18151 			if (yych <= '(') goto yy3;
18152 			goto yy164;
18153 		} else {
18154 			if (yych <= '@') goto yy3;
18155 			if (yych <= 'M') goto yy166;
18156 		}
18157 	} else {
18158 		if (yych <= 'm') {
18159 			if (yych <= 'Z') goto yy166;
18160 			if (yych <= '`') goto yy3;
18161 			goto yy166;
18162 		} else {
18163 			if (yych <= 'n') goto yy1222;
18164 			if (yych <= 'z') goto yy166;
18165 			goto yy3;
18166 		}
18167 	}
18168 yy1222:
18169 	YYDEBUG(1222, *YYCURSOR);
18170 	yych = *++YYCURSOR;
18171 	if (yych <= 'D') {
18172 		if (yych <= ')') {
18173 			if (yych <= '(') goto yy191;
18174 			goto yy164;
18175 		} else {
18176 			if (yych <= '@') goto yy191;
18177 			if (yych <= 'C') goto yy167;
18178 		}
18179 	} else {
18180 		if (yych <= 'c') {
18181 			if (yych <= 'Z') goto yy167;
18182 			if (yych <= '`') goto yy191;
18183 			goto yy167;
18184 		} else {
18185 			if (yych <= 'd') goto yy1223;
18186 			if (yych <= 'z') goto yy167;
18187 			goto yy191;
18188 		}
18189 	}
18190 yy1223:
18191 	YYDEBUG(1223, *YYCURSOR);
18192 	yych = *++YYCURSOR;
18193 	if (yych <= 'A') {
18194 		if (yych == ')') goto yy164;
18195 		if (yych <= '@') goto yy3;
18196 	} else {
18197 		if (yych <= '`') {
18198 			if (yych <= 'Z') goto yy168;
18199 			goto yy3;
18200 		} else {
18201 			if (yych <= 'a') goto yy1224;
18202 			if (yych <= 'z') goto yy168;
18203 			goto yy3;
18204 		}
18205 	}
18206 yy1224:
18207 	YYDEBUG(1224, *YYCURSOR);
18208 	yych = *++YYCURSOR;
18209 	if (yych <= 'Y') {
18210 		if (yych <= ')') {
18211 			if (yych <= '(') goto yy3;
18212 			goto yy164;
18213 		} else {
18214 			if (yych <= '@') goto yy3;
18215 			if (yych <= 'X') goto yy169;
18216 		}
18217 	} else {
18218 		if (yych <= 'x') {
18219 			if (yych <= 'Z') goto yy169;
18220 			if (yych <= '`') goto yy3;
18221 			goto yy169;
18222 		} else {
18223 			if (yych <= 'y') goto yy1225;
18224 			if (yych <= 'z') goto yy169;
18225 			goto yy3;
18226 		}
18227 	}
18228 yy1225:
18229 	YYDEBUG(1225, *YYCURSOR);
18230 	yych = *++YYCURSOR;
18231 	if (yych == ')') goto yy164;
18232 	goto yy191;
18233 yy1226:
18234 	YYDEBUG(1226, *YYCURSOR);
18235 	yych = *++YYCURSOR;
18236 	if (yych <= 'T') {
18237 		if (yych <= ')') {
18238 			if (yych <= '(') goto yy3;
18239 			goto yy164;
18240 		} else {
18241 			if (yych <= '@') goto yy3;
18242 			if (yych <= 'S') goto yy167;
18243 		}
18244 	} else {
18245 		if (yych <= 's') {
18246 			if (yych <= 'Z') goto yy167;
18247 			if (yych <= '`') goto yy3;
18248 			goto yy167;
18249 		} else {
18250 			if (yych <= 't') goto yy1227;
18251 			if (yych <= 'z') goto yy167;
18252 			goto yy3;
18253 		}
18254 	}
18255 yy1227:
18256 	YYDEBUG(1227, *YYCURSOR);
18257 	yych = *++YYCURSOR;
18258 	if (yych <= 'H') {
18259 		if (yych <= ')') {
18260 			if (yych <= '(') goto yy3;
18261 			goto yy164;
18262 		} else {
18263 			if (yych <= '@') goto yy3;
18264 			if (yych <= 'G') goto yy168;
18265 		}
18266 	} else {
18267 		if (yych <= 'g') {
18268 			if (yych <= 'Z') goto yy168;
18269 			if (yych <= '`') goto yy3;
18270 			goto yy168;
18271 		} else {
18272 			if (yych <= 'h') goto yy1228;
18273 			if (yych <= 'z') goto yy168;
18274 			goto yy3;
18275 		}
18276 	}
18277 yy1228:
18278 	YYDEBUG(1228, *YYCURSOR);
18279 	yyaccept = 0;
18280 	yych = *(YYMARKER = ++YYCURSOR);
18281 	if (yych <= '(') {
18282 		if (yych <= '\t') {
18283 			if (yych <= 0x08) goto yy3;
18284 			goto yy1196;
18285 		} else {
18286 			if (yych == ' ') goto yy1196;
18287 			goto yy3;
18288 		}
18289 	} else {
18290 		if (yych <= 'Z') {
18291 			if (yych <= ')') goto yy164;
18292 			if (yych <= '@') goto yy3;
18293 			goto yy169;
18294 		} else {
18295 			if (yych <= '`') goto yy3;
18296 			if (yych <= 'z') goto yy169;
18297 			goto yy3;
18298 		}
18299 	}
18300 yy1229:
18301 	YYDEBUG(1229, *YYCURSOR);
18302 	yych = *++YYCURSOR;
18303 	if (yych <= 'U') {
18304 		if (yych <= ')') {
18305 			if (yych <= '(') goto yy191;
18306 			goto yy164;
18307 		} else {
18308 			if (yych <= '@') goto yy191;
18309 			if (yych <= 'T') goto yy167;
18310 		}
18311 	} else {
18312 		if (yych <= 't') {
18313 			if (yych <= 'Z') goto yy167;
18314 			if (yych <= '`') goto yy191;
18315 			goto yy167;
18316 		} else {
18317 			if (yych <= 'u') goto yy1230;
18318 			if (yych <= 'z') goto yy167;
18319 			goto yy191;
18320 		}
18321 	}
18322 yy1230:
18323 	YYDEBUG(1230, *YYCURSOR);
18324 	yych = *++YYCURSOR;
18325 	if (yych <= 'R') {
18326 		if (yych <= ')') {
18327 			if (yych <= '(') goto yy3;
18328 			goto yy164;
18329 		} else {
18330 			if (yych <= '@') goto yy3;
18331 			if (yych <= 'Q') goto yy168;
18332 		}
18333 	} else {
18334 		if (yych <= 'q') {
18335 			if (yych <= 'Z') goto yy168;
18336 			if (yych <= '`') goto yy3;
18337 			goto yy168;
18338 		} else {
18339 			if (yych <= 'r') goto yy1231;
18340 			if (yych <= 'z') goto yy168;
18341 			goto yy3;
18342 		}
18343 	}
18344 yy1231:
18345 	YYDEBUG(1231, *YYCURSOR);
18346 	yych = *++YYCURSOR;
18347 	if (yych <= 'D') {
18348 		if (yych <= ')') {
18349 			if (yych <= '(') goto yy3;
18350 			goto yy164;
18351 		} else {
18352 			if (yych <= '@') goto yy3;
18353 			if (yych <= 'C') goto yy169;
18354 		}
18355 	} else {
18356 		if (yych <= 'c') {
18357 			if (yych <= 'Z') goto yy169;
18358 			if (yych <= '`') goto yy3;
18359 			goto yy169;
18360 		} else {
18361 			if (yych <= 'd') goto yy1232;
18362 			if (yych <= 'z') goto yy169;
18363 			goto yy3;
18364 		}
18365 	}
18366 yy1232:
18367 	YYDEBUG(1232, *YYCURSOR);
18368 	yyaccept = 0;
18369 	yych = *(YYMARKER = ++YYCURSOR);
18370 	if (yych <= '@') {
18371 		if (yych == ')') goto yy164;
18372 		goto yy3;
18373 	} else {
18374 		if (yych <= 'A') goto yy1233;
18375 		if (yych != 'a') goto yy3;
18376 	}
18377 yy1233:
18378 	YYDEBUG(1233, *YYCURSOR);
18379 	yych = *++YYCURSOR;
18380 	if (yych == 'Y') goto yy197;
18381 	if (yych == 'y') goto yy197;
18382 	goto yy56;
18383 yy1234:
18384 	YYDEBUG(1234, *YYCURSOR);
18385 	yych = *++YYCURSOR;
18386 	if (yych <= 'O') {
18387 		if (yych <= ')') {
18388 			if (yych <= '(') goto yy3;
18389 			goto yy164;
18390 		} else {
18391 			if (yych <= '@') goto yy3;
18392 			if (yych <= 'N') goto yy167;
18393 			goto yy1245;
18394 		}
18395 	} else {
18396 		if (yych <= 'n') {
18397 			if (yych <= 'Z') goto yy167;
18398 			if (yych <= '`') goto yy3;
18399 			goto yy167;
18400 		} else {
18401 			if (yych <= 'o') goto yy1245;
18402 			if (yych <= 'z') goto yy167;
18403 			goto yy3;
18404 		}
18405 	}
18406 yy1235:
18407 	YYDEBUG(1235, *YYCURSOR);
18408 	yych = *++YYCURSOR;
18409 	if (yych <= 'E') {
18410 		if (yych <= ')') {
18411 			if (yych <= '(') goto yy3;
18412 			goto yy164;
18413 		} else {
18414 			if (yych <= '@') goto yy3;
18415 			if (yych <= 'D') goto yy167;
18416 			goto yy1242;
18417 		}
18418 	} else {
18419 		if (yych <= 'd') {
18420 			if (yych <= 'Z') goto yy167;
18421 			if (yych <= '`') goto yy3;
18422 			goto yy167;
18423 		} else {
18424 			if (yych <= 'e') goto yy1242;
18425 			if (yych <= 'z') goto yy167;
18426 			goto yy3;
18427 		}
18428 	}
18429 yy1236:
18430 	YYDEBUG(1236, *YYCURSOR);
18431 	yyaccept = 5;
18432 	yych = *(YYMARKER = ++YYCURSOR);
18433 	if (yych <= '/') {
18434 		if (yych <= '(') {
18435 			if (yych <= '\t') {
18436 				if (yych <= 0x08) goto yy218;
18437 				goto yy220;
18438 			} else {
18439 				if (yych == ' ') goto yy220;
18440 				goto yy218;
18441 			}
18442 		} else {
18443 			if (yych <= ',') {
18444 				if (yych <= ')') goto yy164;
18445 				goto yy218;
18446 			} else {
18447 				if (yych <= '-') goto yy221;
18448 				if (yych <= '.') goto yy220;
18449 				goto yy218;
18450 			}
18451 		}
18452 	} else {
18453 		if (yych <= 'Z') {
18454 			if (yych <= '@') {
18455 				if (yych <= '9') goto yy220;
18456 				goto yy218;
18457 			} else {
18458 				if (yych != 'T') goto yy167;
18459 			}
18460 		} else {
18461 			if (yych <= 's') {
18462 				if (yych <= '`') goto yy218;
18463 				goto yy167;
18464 			} else {
18465 				if (yych <= 't') goto yy1237;
18466 				if (yych <= 'z') goto yy167;
18467 				goto yy218;
18468 			}
18469 		}
18470 	}
18471 yy1237:
18472 	YYDEBUG(1237, *YYCURSOR);
18473 	yyaccept = 5;
18474 	yych = *(YYMARKER = ++YYCURSOR);
18475 	if (yych <= '/') {
18476 		if (yych <= '(') {
18477 			if (yych <= '\t') {
18478 				if (yych <= 0x08) goto yy218;
18479 				goto yy220;
18480 			} else {
18481 				if (yych == ' ') goto yy220;
18482 				goto yy218;
18483 			}
18484 		} else {
18485 			if (yych <= ',') {
18486 				if (yych <= ')') goto yy164;
18487 				goto yy218;
18488 			} else {
18489 				if (yych <= '-') goto yy221;
18490 				if (yych <= '.') goto yy220;
18491 				goto yy218;
18492 			}
18493 		}
18494 	} else {
18495 		if (yych <= 'Z') {
18496 			if (yych <= '@') {
18497 				if (yych <= '9') goto yy220;
18498 				goto yy218;
18499 			} else {
18500 				if (yych != 'E') goto yy168;
18501 			}
18502 		} else {
18503 			if (yych <= 'd') {
18504 				if (yych <= '`') goto yy218;
18505 				goto yy168;
18506 			} else {
18507 				if (yych <= 'e') goto yy1238;
18508 				if (yych <= 'z') goto yy168;
18509 				goto yy218;
18510 			}
18511 		}
18512 	}
18513 yy1238:
18514 	YYDEBUG(1238, *YYCURSOR);
18515 	yych = *++YYCURSOR;
18516 	if (yych <= 'M') {
18517 		if (yych <= ')') {
18518 			if (yych <= '(') goto yy3;
18519 			goto yy164;
18520 		} else {
18521 			if (yych <= '@') goto yy3;
18522 			if (yych <= 'L') goto yy169;
18523 		}
18524 	} else {
18525 		if (yych <= 'l') {
18526 			if (yych <= 'Z') goto yy169;
18527 			if (yych <= '`') goto yy3;
18528 			goto yy169;
18529 		} else {
18530 			if (yych <= 'm') goto yy1239;
18531 			if (yych <= 'z') goto yy169;
18532 			goto yy3;
18533 		}
18534 	}
18535 yy1239:
18536 	YYDEBUG(1239, *YYCURSOR);
18537 	yyaccept = 0;
18538 	yych = *(YYMARKER = ++YYCURSOR);
18539 	if (yych <= 'A') {
18540 		if (yych == ')') goto yy164;
18541 		goto yy3;
18542 	} else {
18543 		if (yych <= 'B') goto yy1240;
18544 		if (yych != 'b') goto yy3;
18545 	}
18546 yy1240:
18547 	YYDEBUG(1240, *YYCURSOR);
18548 	yych = *++YYCURSOR;
18549 	if (yych == 'E') goto yy1241;
18550 	if (yych != 'e') goto yy56;
18551 yy1241:
18552 	YYDEBUG(1241, *YYCURSOR);
18553 	yych = *++YYCURSOR;
18554 	if (yych == 'R') goto yy229;
18555 	if (yych == 'r') goto yy229;
18556 	goto yy56;
18557 yy1242:
18558 	YYDEBUG(1242, *YYCURSOR);
18559 	yych = *++YYCURSOR;
18560 	if (yych <= 'N') {
18561 		if (yych <= ')') {
18562 			if (yych <= '(') goto yy3;
18563 			goto yy164;
18564 		} else {
18565 			if (yych <= '@') goto yy3;
18566 			if (yych <= 'M') goto yy168;
18567 		}
18568 	} else {
18569 		if (yych <= 'm') {
18570 			if (yych <= 'Z') goto yy168;
18571 			if (yych <= '`') goto yy3;
18572 			goto yy168;
18573 		} else {
18574 			if (yych <= 'n') goto yy1243;
18575 			if (yych <= 'z') goto yy168;
18576 			goto yy3;
18577 		}
18578 	}
18579 yy1243:
18580 	YYDEBUG(1243, *YYCURSOR);
18581 	yych = *++YYCURSOR;
18582 	if (yych <= 'T') {
18583 		if (yych <= ')') {
18584 			if (yych <= '(') goto yy3;
18585 			goto yy164;
18586 		} else {
18587 			if (yych <= '@') goto yy3;
18588 			if (yych <= 'S') goto yy169;
18589 		}
18590 	} else {
18591 		if (yych <= 's') {
18592 			if (yych <= 'Z') goto yy169;
18593 			if (yych <= '`') goto yy3;
18594 			goto yy169;
18595 		} else {
18596 			if (yych <= 't') goto yy1244;
18597 			if (yych <= 'z') goto yy169;
18598 			goto yy3;
18599 		}
18600 	}
18601 yy1244:
18602 	YYDEBUG(1244, *YYCURSOR);
18603 	yyaccept = 0;
18604 	yych = *(YYMARKER = ++YYCURSOR);
18605 	if (yych <= 'G') {
18606 		if (yych == ')') goto yy164;
18607 		goto yy3;
18608 	} else {
18609 		if (yych <= 'H') goto yy1195;
18610 		if (yych == 'h') goto yy1195;
18611 		goto yy3;
18612 	}
18613 yy1245:
18614 	YYDEBUG(1245, *YYCURSOR);
18615 	yych = *++YYCURSOR;
18616 	if (yych <= 'N') {
18617 		if (yych <= ')') {
18618 			if (yych <= '(') goto yy3;
18619 			goto yy164;
18620 		} else {
18621 			if (yych <= '@') goto yy3;
18622 			if (yych <= 'M') goto yy168;
18623 		}
18624 	} else {
18625 		if (yych <= 'm') {
18626 			if (yych <= 'Z') goto yy168;
18627 			if (yych <= '`') goto yy3;
18628 			goto yy168;
18629 		} else {
18630 			if (yych <= 'n') goto yy1246;
18631 			if (yych <= 'z') goto yy168;
18632 			goto yy3;
18633 		}
18634 	}
18635 yy1246:
18636 	YYDEBUG(1246, *YYCURSOR);
18637 	yych = *++YYCURSOR;
18638 	if (yych <= 'D') {
18639 		if (yych <= ')') {
18640 			if (yych <= '(') goto yy3;
18641 			goto yy164;
18642 		} else {
18643 			if (yych <= '@') goto yy3;
18644 			if (yych <= 'C') goto yy169;
18645 			goto yy1205;
18646 		}
18647 	} else {
18648 		if (yych <= 'c') {
18649 			if (yych <= 'Z') goto yy169;
18650 			if (yych <= '`') goto yy3;
18651 			goto yy169;
18652 		} else {
18653 			if (yych <= 'd') goto yy1205;
18654 			if (yych <= 'z') goto yy169;
18655 			goto yy3;
18656 		}
18657 	}
18658 yy1247:
18659 	YYDEBUG(1247, *YYCURSOR);
18660 	yyaccept = 0;
18661 	yych = *(YYMARKER = ++YYCURSOR);
18662 	if (yych <= 'U') {
18663 		if (yych <= '/') {
18664 			if (yych <= ',') {
18665 				if (yych == ')') goto yy164;
18666 				goto yy3;
18667 			} else {
18668 				if (yych == '.') goto yy3;
18669 				goto yy172;
18670 			}
18671 		} else {
18672 			if (yych <= 'C') {
18673 				if (yych <= '@') goto yy3;
18674 				if (yych <= 'B') goto yy166;
18675 				goto yy1234;
18676 			} else {
18677 				if (yych == 'P') goto yy1236;
18678 				goto yy166;
18679 			}
18680 		}
18681 	} else {
18682 		if (yych <= 'b') {
18683 			if (yych <= '^') {
18684 				if (yych <= 'V') goto yy1235;
18685 				if (yych <= 'Z') goto yy166;
18686 				goto yy3;
18687 			} else {
18688 				if (yych <= '_') goto yy172;
18689 				if (yych <= '`') goto yy3;
18690 				goto yy171;
18691 			}
18692 		} else {
18693 			if (yych <= 'p') {
18694 				if (yych <= 'c') goto yy1263;
18695 				if (yych <= 'o') goto yy171;
18696 				goto yy1265;
18697 			} else {
18698 				if (yych == 'v') goto yy1264;
18699 				if (yych <= 'z') goto yy171;
18700 				goto yy3;
18701 			}
18702 		}
18703 	}
18704 yy1248:
18705 	YYDEBUG(1248, *YYCURSOR);
18706 	yyaccept = 0;
18707 	yych = *(YYMARKER = ++YYCURSOR);
18708 	if (yych <= 'S') {
18709 		if (yych <= '-') {
18710 			if (yych == ')') goto yy164;
18711 			if (yych <= ',') goto yy3;
18712 			goto yy172;
18713 		} else {
18714 			if (yych == '/') goto yy172;
18715 			if (yych <= '@') goto yy3;
18716 			goto yy166;
18717 		}
18718 	} else {
18719 		if (yych <= '_') {
18720 			if (yych <= 'T') goto yy1229;
18721 			if (yych <= 'Z') goto yy166;
18722 			if (yych <= '^') goto yy3;
18723 			goto yy172;
18724 		} else {
18725 			if (yych <= 's') {
18726 				if (yych <= '`') goto yy3;
18727 				goto yy171;
18728 			} else {
18729 				if (yych <= 't') goto yy1258;
18730 				if (yych <= 'z') goto yy171;
18731 				goto yy3;
18732 			}
18733 		}
18734 	}
18735 yy1249:
18736 	YYDEBUG(1249, *YYCURSOR);
18737 	yyaccept = 0;
18738 	yych = *(YYMARKER = ++YYCURSOR);
18739 	if (yych <= 'W') {
18740 		if (yych <= '-') {
18741 			if (yych == ')') goto yy164;
18742 			if (yych <= ',') goto yy3;
18743 			goto yy172;
18744 		} else {
18745 			if (yych == '/') goto yy172;
18746 			if (yych <= '@') goto yy3;
18747 			goto yy166;
18748 		}
18749 	} else {
18750 		if (yych <= '_') {
18751 			if (yych <= 'X') goto yy1226;
18752 			if (yych <= 'Z') goto yy166;
18753 			if (yych <= '^') goto yy3;
18754 			goto yy172;
18755 		} else {
18756 			if (yych <= 'w') {
18757 				if (yych <= '`') goto yy3;
18758 				goto yy171;
18759 			} else {
18760 				if (yych <= 'x') goto yy1255;
18761 				if (yych <= 'z') goto yy171;
18762 				goto yy3;
18763 			}
18764 		}
18765 	}
18766 yy1250:
18767 	YYDEBUG(1250, *YYCURSOR);
18768 	yyaccept = 0;
18769 	yych = *(YYMARKER = ++YYCURSOR);
18770 	if (yych <= 'M') {
18771 		if (yych <= '-') {
18772 			if (yych == ')') goto yy164;
18773 			if (yych <= ',') goto yy3;
18774 			goto yy172;
18775 		} else {
18776 			if (yych == '/') goto yy172;
18777 			if (yych <= '@') goto yy3;
18778 			goto yy166;
18779 		}
18780 	} else {
18781 		if (yych <= '_') {
18782 			if (yych <= 'N') goto yy1222;
18783 			if (yych <= 'Z') goto yy166;
18784 			if (yych <= '^') goto yy3;
18785 			goto yy172;
18786 		} else {
18787 			if (yych <= 'm') {
18788 				if (yych <= '`') goto yy3;
18789 				goto yy171;
18790 			} else {
18791 				if (yych <= 'n') goto yy1251;
18792 				if (yych <= 'z') goto yy171;
18793 				goto yy3;
18794 			}
18795 		}
18796 	}
18797 yy1251:
18798 	YYDEBUG(1251, *YYCURSOR);
18799 	yyaccept = 4;
18800 	yych = *(YYMARKER = ++YYCURSOR);
18801 	if (yych <= 'C') {
18802 		if (yych <= '-') {
18803 			if (yych == ')') goto yy164;
18804 			if (yych <= ',') goto yy191;
18805 			goto yy172;
18806 		} else {
18807 			if (yych == '/') goto yy172;
18808 			if (yych <= '@') goto yy191;
18809 			goto yy167;
18810 		}
18811 	} else {
18812 		if (yych <= '_') {
18813 			if (yych <= 'D') goto yy1223;
18814 			if (yych <= 'Z') goto yy167;
18815 			if (yych <= '^') goto yy191;
18816 			goto yy172;
18817 		} else {
18818 			if (yych <= 'c') {
18819 				if (yych <= '`') goto yy191;
18820 				goto yy175;
18821 			} else {
18822 				if (yych <= 'd') goto yy1252;
18823 				if (yych <= 'z') goto yy175;
18824 				goto yy191;
18825 			}
18826 		}
18827 	}
18828 yy1252:
18829 	YYDEBUG(1252, *YYCURSOR);
18830 	yyaccept = 0;
18831 	yych = *(YYMARKER = ++YYCURSOR);
18832 	if (yych <= '@') {
18833 		if (yych <= ',') {
18834 			if (yych == ')') goto yy164;
18835 			goto yy3;
18836 		} else {
18837 			if (yych == '.') goto yy3;
18838 			if (yych <= '/') goto yy172;
18839 			goto yy3;
18840 		}
18841 	} else {
18842 		if (yych <= '_') {
18843 			if (yych <= 'A') goto yy1224;
18844 			if (yych <= 'Z') goto yy168;
18845 			if (yych <= '^') goto yy3;
18846 			goto yy172;
18847 		} else {
18848 			if (yych <= '`') goto yy3;
18849 			if (yych <= 'a') goto yy1253;
18850 			if (yych <= 'z') goto yy176;
18851 			goto yy3;
18852 		}
18853 	}
18854 yy1253:
18855 	YYDEBUG(1253, *YYCURSOR);
18856 	yyaccept = 0;
18857 	yych = *(YYMARKER = ++YYCURSOR);
18858 	if (yych <= 'X') {
18859 		if (yych <= '-') {
18860 			if (yych == ')') goto yy164;
18861 			if (yych <= ',') goto yy3;
18862 			goto yy172;
18863 		} else {
18864 			if (yych == '/') goto yy172;
18865 			if (yych <= '@') goto yy3;
18866 			goto yy169;
18867 		}
18868 	} else {
18869 		if (yych <= '_') {
18870 			if (yych <= 'Y') goto yy1225;
18871 			if (yych <= 'Z') goto yy169;
18872 			if (yych <= '^') goto yy3;
18873 			goto yy172;
18874 		} else {
18875 			if (yych <= 'x') {
18876 				if (yych <= '`') goto yy3;
18877 				goto yy177;
18878 			} else {
18879 				if (yych <= 'y') goto yy1254;
18880 				if (yych <= 'z') goto yy177;
18881 				goto yy3;
18882 			}
18883 		}
18884 	}
18885 yy1254:
18886 	YYDEBUG(1254, *YYCURSOR);
18887 	yyaccept = 4;
18888 	yych = *(YYMARKER = ++YYCURSOR);
18889 	if (yybm[0+yych] & 16) {
18890 		goto yy178;
18891 	}
18892 	if (yych <= '-') {
18893 		if (yych == ')') goto yy164;
18894 		if (yych <= ',') goto yy191;
18895 		goto yy172;
18896 	} else {
18897 		if (yych <= '/') {
18898 			if (yych <= '.') goto yy191;
18899 			goto yy172;
18900 		} else {
18901 			if (yych == '_') goto yy172;
18902 			goto yy191;
18903 		}
18904 	}
18905 yy1255:
18906 	YYDEBUG(1255, *YYCURSOR);
18907 	yyaccept = 0;
18908 	yych = *(YYMARKER = ++YYCURSOR);
18909 	if (yych <= 'S') {
18910 		if (yych <= '-') {
18911 			if (yych == ')') goto yy164;
18912 			if (yych <= ',') goto yy3;
18913 			goto yy172;
18914 		} else {
18915 			if (yych == '/') goto yy172;
18916 			if (yych <= '@') goto yy3;
18917 			goto yy167;
18918 		}
18919 	} else {
18920 		if (yych <= '_') {
18921 			if (yych <= 'T') goto yy1227;
18922 			if (yych <= 'Z') goto yy167;
18923 			if (yych <= '^') goto yy3;
18924 			goto yy172;
18925 		} else {
18926 			if (yych <= 's') {
18927 				if (yych <= '`') goto yy3;
18928 				goto yy175;
18929 			} else {
18930 				if (yych <= 't') goto yy1256;
18931 				if (yych <= 'z') goto yy175;
18932 				goto yy3;
18933 			}
18934 		}
18935 	}
18936 yy1256:
18937 	YYDEBUG(1256, *YYCURSOR);
18938 	yyaccept = 0;
18939 	yych = *(YYMARKER = ++YYCURSOR);
18940 	if (yych <= 'G') {
18941 		if (yych <= '-') {
18942 			if (yych == ')') goto yy164;
18943 			if (yych <= ',') goto yy3;
18944 			goto yy172;
18945 		} else {
18946 			if (yych == '/') goto yy172;
18947 			if (yych <= '@') goto yy3;
18948 			goto yy168;
18949 		}
18950 	} else {
18951 		if (yych <= '_') {
18952 			if (yych <= 'H') goto yy1228;
18953 			if (yych <= 'Z') goto yy168;
18954 			if (yych <= '^') goto yy3;
18955 			goto yy172;
18956 		} else {
18957 			if (yych <= 'g') {
18958 				if (yych <= '`') goto yy3;
18959 				goto yy176;
18960 			} else {
18961 				if (yych <= 'h') goto yy1257;
18962 				if (yych <= 'z') goto yy176;
18963 				goto yy3;
18964 			}
18965 		}
18966 	}
18967 yy1257:
18968 	YYDEBUG(1257, *YYCURSOR);
18969 	yyaccept = 0;
18970 	yych = *(YYMARKER = ++YYCURSOR);
18971 	if (yych <= '-') {
18972 		if (yych <= ' ') {
18973 			if (yych == '\t') goto yy1196;
18974 			if (yych <= 0x1F) goto yy3;
18975 			goto yy1196;
18976 		} else {
18977 			if (yych == ')') goto yy164;
18978 			if (yych <= ',') goto yy3;
18979 			goto yy172;
18980 		}
18981 	} else {
18982 		if (yych <= 'Z') {
18983 			if (yych == '/') goto yy172;
18984 			if (yych <= '@') goto yy3;
18985 			goto yy169;
18986 		} else {
18987 			if (yych <= '_') {
18988 				if (yych <= '^') goto yy3;
18989 				goto yy172;
18990 			} else {
18991 				if (yych <= '`') goto yy3;
18992 				if (yych <= 'z') goto yy177;
18993 				goto yy3;
18994 			}
18995 		}
18996 	}
18997 yy1258:
18998 	YYDEBUG(1258, *YYCURSOR);
18999 	yyaccept = 4;
19000 	yych = *(YYMARKER = ++YYCURSOR);
19001 	if (yych <= 'T') {
19002 		if (yych <= '-') {
19003 			if (yych == ')') goto yy164;
19004 			if (yych <= ',') goto yy191;
19005 			goto yy172;
19006 		} else {
19007 			if (yych == '/') goto yy172;
19008 			if (yych <= '@') goto yy191;
19009 			goto yy167;
19010 		}
19011 	} else {
19012 		if (yych <= '_') {
19013 			if (yych <= 'U') goto yy1230;
19014 			if (yych <= 'Z') goto yy167;
19015 			if (yych <= '^') goto yy191;
19016 			goto yy172;
19017 		} else {
19018 			if (yych <= 't') {
19019 				if (yych <= '`') goto yy191;
19020 				goto yy175;
19021 			} else {
19022 				if (yych <= 'u') goto yy1259;
19023 				if (yych <= 'z') goto yy175;
19024 				goto yy191;
19025 			}
19026 		}
19027 	}
19028 yy1259:
19029 	YYDEBUG(1259, *YYCURSOR);
19030 	yyaccept = 0;
19031 	yych = *(YYMARKER = ++YYCURSOR);
19032 	if (yych <= 'Q') {
19033 		if (yych <= '-') {
19034 			if (yych == ')') goto yy164;
19035 			if (yych <= ',') goto yy3;
19036 			goto yy172;
19037 		} else {
19038 			if (yych == '/') goto yy172;
19039 			if (yych <= '@') goto yy3;
19040 			goto yy168;
19041 		}
19042 	} else {
19043 		if (yych <= '_') {
19044 			if (yych <= 'R') goto yy1231;
19045 			if (yych <= 'Z') goto yy168;
19046 			if (yych <= '^') goto yy3;
19047 			goto yy172;
19048 		} else {
19049 			if (yych <= 'q') {
19050 				if (yych <= '`') goto yy3;
19051 				goto yy176;
19052 			} else {
19053 				if (yych <= 'r') goto yy1260;
19054 				if (yych <= 'z') goto yy176;
19055 				goto yy3;
19056 			}
19057 		}
19058 	}
19059 yy1260:
19060 	YYDEBUG(1260, *YYCURSOR);
19061 	yyaccept = 0;
19062 	yych = *(YYMARKER = ++YYCURSOR);
19063 	if (yych <= 'C') {
19064 		if (yych <= '-') {
19065 			if (yych == ')') goto yy164;
19066 			if (yych <= ',') goto yy3;
19067 			goto yy172;
19068 		} else {
19069 			if (yych == '/') goto yy172;
19070 			if (yych <= '@') goto yy3;
19071 			goto yy169;
19072 		}
19073 	} else {
19074 		if (yych <= '_') {
19075 			if (yych <= 'D') goto yy1232;
19076 			if (yych <= 'Z') goto yy169;
19077 			if (yych <= '^') goto yy3;
19078 			goto yy172;
19079 		} else {
19080 			if (yych <= 'c') {
19081 				if (yych <= '`') goto yy3;
19082 				goto yy177;
19083 			} else {
19084 				if (yych <= 'd') goto yy1261;
19085 				if (yych <= 'z') goto yy177;
19086 				goto yy3;
19087 			}
19088 		}
19089 	}
19090 yy1261:
19091 	YYDEBUG(1261, *YYCURSOR);
19092 	yyaccept = 0;
19093 	yych = *(YYMARKER = ++YYCURSOR);
19094 	if (yych <= '@') {
19095 		if (yych <= ',') {
19096 			if (yych == ')') goto yy164;
19097 			goto yy3;
19098 		} else {
19099 			if (yych == '.') goto yy3;
19100 			if (yych <= '/') goto yy172;
19101 			goto yy3;
19102 		}
19103 	} else {
19104 		if (yych <= '_') {
19105 			if (yych <= 'A') goto yy1233;
19106 			if (yych <= '^') goto yy3;
19107 			goto yy172;
19108 		} else {
19109 			if (yych <= '`') goto yy3;
19110 			if (yych <= 'a') goto yy1262;
19111 			if (yych <= 'z') goto yy178;
19112 			goto yy3;
19113 		}
19114 	}
19115 yy1262:
19116 	YYDEBUG(1262, *YYCURSOR);
19117 	yych = *++YYCURSOR;
19118 	if (yych == 'Y') goto yy197;
19119 	if (yych == 'y') goto yy210;
19120 	goto yy179;
19121 yy1263:
19122 	YYDEBUG(1263, *YYCURSOR);
19123 	yyaccept = 0;
19124 	yych = *(YYMARKER = ++YYCURSOR);
19125 	if (yych <= 'N') {
19126 		if (yych <= '-') {
19127 			if (yych == ')') goto yy164;
19128 			if (yych <= ',') goto yy3;
19129 			goto yy172;
19130 		} else {
19131 			if (yych == '/') goto yy172;
19132 			if (yych <= '@') goto yy3;
19133 			goto yy167;
19134 		}
19135 	} else {
19136 		if (yych <= '_') {
19137 			if (yych <= 'O') goto yy1245;
19138 			if (yych <= 'Z') goto yy167;
19139 			if (yych <= '^') goto yy3;
19140 			goto yy172;
19141 		} else {
19142 			if (yych <= 'n') {
19143 				if (yych <= '`') goto yy3;
19144 				goto yy175;
19145 			} else {
19146 				if (yych <= 'o') goto yy1274;
19147 				if (yych <= 'z') goto yy175;
19148 				goto yy3;
19149 			}
19150 		}
19151 	}
19152 yy1264:
19153 	YYDEBUG(1264, *YYCURSOR);
19154 	yyaccept = 0;
19155 	yych = *(YYMARKER = ++YYCURSOR);
19156 	if (yych <= 'D') {
19157 		if (yych <= '-') {
19158 			if (yych == ')') goto yy164;
19159 			if (yych <= ',') goto yy3;
19160 			goto yy172;
19161 		} else {
19162 			if (yych == '/') goto yy172;
19163 			if (yych <= '@') goto yy3;
19164 			goto yy167;
19165 		}
19166 	} else {
19167 		if (yych <= '_') {
19168 			if (yych <= 'E') goto yy1242;
19169 			if (yych <= 'Z') goto yy167;
19170 			if (yych <= '^') goto yy3;
19171 			goto yy172;
19172 		} else {
19173 			if (yych <= 'd') {
19174 				if (yych <= '`') goto yy3;
19175 				goto yy175;
19176 			} else {
19177 				if (yych <= 'e') goto yy1271;
19178 				if (yych <= 'z') goto yy175;
19179 				goto yy3;
19180 			}
19181 		}
19182 	}
19183 yy1265:
19184 	YYDEBUG(1265, *YYCURSOR);
19185 	yyaccept = 5;
19186 	yych = *(YYMARKER = ++YYCURSOR);
19187 	if (yych <= '9') {
19188 		if (yych <= '(') {
19189 			if (yych <= '\t') {
19190 				if (yych <= 0x08) goto yy218;
19191 				goto yy220;
19192 			} else {
19193 				if (yych == ' ') goto yy220;
19194 				goto yy218;
19195 			}
19196 		} else {
19197 			if (yych <= '-') {
19198 				if (yych <= ')') goto yy164;
19199 				if (yych <= ',') goto yy218;
19200 				goto yy336;
19201 			} else {
19202 				if (yych == '/') goto yy172;
19203 				goto yy220;
19204 			}
19205 		}
19206 	} else {
19207 		if (yych <= '^') {
19208 			if (yych <= 'S') {
19209 				if (yych <= '@') goto yy218;
19210 				goto yy167;
19211 			} else {
19212 				if (yych <= 'T') goto yy1237;
19213 				if (yych <= 'Z') goto yy167;
19214 				goto yy218;
19215 			}
19216 		} else {
19217 			if (yych <= 's') {
19218 				if (yych <= '_') goto yy172;
19219 				if (yych <= '`') goto yy218;
19220 				goto yy175;
19221 			} else {
19222 				if (yych <= 't') goto yy1266;
19223 				if (yych <= 'z') goto yy175;
19224 				goto yy218;
19225 			}
19226 		}
19227 	}
19228 yy1266:
19229 	YYDEBUG(1266, *YYCURSOR);
19230 	yyaccept = 5;
19231 	yych = *(YYMARKER = ++YYCURSOR);
19232 	if (yych <= '9') {
19233 		if (yych <= '(') {
19234 			if (yych <= '\t') {
19235 				if (yych <= 0x08) goto yy218;
19236 				goto yy220;
19237 			} else {
19238 				if (yych == ' ') goto yy220;
19239 				goto yy218;
19240 			}
19241 		} else {
19242 			if (yych <= '-') {
19243 				if (yych <= ')') goto yy164;
19244 				if (yych <= ',') goto yy218;
19245 				goto yy336;
19246 			} else {
19247 				if (yych == '/') goto yy172;
19248 				goto yy220;
19249 			}
19250 		}
19251 	} else {
19252 		if (yych <= '^') {
19253 			if (yych <= 'D') {
19254 				if (yych <= '@') goto yy218;
19255 				goto yy168;
19256 			} else {
19257 				if (yych <= 'E') goto yy1238;
19258 				if (yych <= 'Z') goto yy168;
19259 				goto yy218;
19260 			}
19261 		} else {
19262 			if (yych <= 'd') {
19263 				if (yych <= '_') goto yy172;
19264 				if (yych <= '`') goto yy218;
19265 				goto yy176;
19266 			} else {
19267 				if (yych <= 'e') goto yy1267;
19268 				if (yych <= 'z') goto yy176;
19269 				goto yy218;
19270 			}
19271 		}
19272 	}
19273 yy1267:
19274 	YYDEBUG(1267, *YYCURSOR);
19275 	yyaccept = 0;
19276 	yych = *(YYMARKER = ++YYCURSOR);
19277 	if (yych <= 'L') {
19278 		if (yych <= '-') {
19279 			if (yych == ')') goto yy164;
19280 			if (yych <= ',') goto yy3;
19281 			goto yy172;
19282 		} else {
19283 			if (yych == '/') goto yy172;
19284 			if (yych <= '@') goto yy3;
19285 			goto yy169;
19286 		}
19287 	} else {
19288 		if (yych <= '_') {
19289 			if (yych <= 'M') goto yy1239;
19290 			if (yych <= 'Z') goto yy169;
19291 			if (yych <= '^') goto yy3;
19292 			goto yy172;
19293 		} else {
19294 			if (yych <= 'l') {
19295 				if (yych <= '`') goto yy3;
19296 				goto yy177;
19297 			} else {
19298 				if (yych <= 'm') goto yy1268;
19299 				if (yych <= 'z') goto yy177;
19300 				goto yy3;
19301 			}
19302 		}
19303 	}
19304 yy1268:
19305 	YYDEBUG(1268, *YYCURSOR);
19306 	yyaccept = 0;
19307 	yych = *(YYMARKER = ++YYCURSOR);
19308 	if (yych <= 'A') {
19309 		if (yych <= ',') {
19310 			if (yych == ')') goto yy164;
19311 			goto yy3;
19312 		} else {
19313 			if (yych == '.') goto yy3;
19314 			if (yych <= '/') goto yy172;
19315 			goto yy3;
19316 		}
19317 	} else {
19318 		if (yych <= '`') {
19319 			if (yych <= 'B') goto yy1240;
19320 			if (yych == '_') goto yy172;
19321 			goto yy3;
19322 		} else {
19323 			if (yych == 'b') goto yy1269;
19324 			if (yych <= 'z') goto yy178;
19325 			goto yy3;
19326 		}
19327 	}
19328 yy1269:
19329 	YYDEBUG(1269, *YYCURSOR);
19330 	yych = *++YYCURSOR;
19331 	if (yych == 'E') goto yy1241;
19332 	if (yych != 'e') goto yy179;
19333 	YYDEBUG(1270, *YYCURSOR);
19334 	yych = *++YYCURSOR;
19335 	if (yych == 'R') goto yy229;
19336 	if (yych == 'r') goto yy341;
19337 	goto yy179;
19338 yy1271:
19339 	YYDEBUG(1271, *YYCURSOR);
19340 	yyaccept = 0;
19341 	yych = *(YYMARKER = ++YYCURSOR);
19342 	if (yych <= 'M') {
19343 		if (yych <= '-') {
19344 			if (yych == ')') goto yy164;
19345 			if (yych <= ',') goto yy3;
19346 			goto yy172;
19347 		} else {
19348 			if (yych == '/') goto yy172;
19349 			if (yych <= '@') goto yy3;
19350 			goto yy168;
19351 		}
19352 	} else {
19353 		if (yych <= '_') {
19354 			if (yych <= 'N') goto yy1243;
19355 			if (yych <= 'Z') goto yy168;
19356 			if (yych <= '^') goto yy3;
19357 			goto yy172;
19358 		} else {
19359 			if (yych <= 'm') {
19360 				if (yych <= '`') goto yy3;
19361 				goto yy176;
19362 			} else {
19363 				if (yych <= 'n') goto yy1272;
19364 				if (yych <= 'z') goto yy176;
19365 				goto yy3;
19366 			}
19367 		}
19368 	}
19369 yy1272:
19370 	YYDEBUG(1272, *YYCURSOR);
19371 	yyaccept = 0;
19372 	yych = *(YYMARKER = ++YYCURSOR);
19373 	if (yych <= 'S') {
19374 		if (yych <= '-') {
19375 			if (yych == ')') goto yy164;
19376 			if (yych <= ',') goto yy3;
19377 			goto yy172;
19378 		} else {
19379 			if (yych == '/') goto yy172;
19380 			if (yych <= '@') goto yy3;
19381 			goto yy169;
19382 		}
19383 	} else {
19384 		if (yych <= '_') {
19385 			if (yych <= 'T') goto yy1244;
19386 			if (yych <= 'Z') goto yy169;
19387 			if (yych <= '^') goto yy3;
19388 			goto yy172;
19389 		} else {
19390 			if (yych <= 's') {
19391 				if (yych <= '`') goto yy3;
19392 				goto yy177;
19393 			} else {
19394 				if (yych <= 't') goto yy1273;
19395 				if (yych <= 'z') goto yy177;
19396 				goto yy3;
19397 			}
19398 		}
19399 	}
19400 yy1273:
19401 	YYDEBUG(1273, *YYCURSOR);
19402 	yyaccept = 0;
19403 	yych = *(YYMARKER = ++YYCURSOR);
19404 	if (yych <= 'G') {
19405 		if (yych <= ',') {
19406 			if (yych == ')') goto yy164;
19407 			goto yy3;
19408 		} else {
19409 			if (yych == '.') goto yy3;
19410 			if (yych <= '/') goto yy172;
19411 			goto yy3;
19412 		}
19413 	} else {
19414 		if (yych <= '`') {
19415 			if (yych <= 'H') goto yy1195;
19416 			if (yych == '_') goto yy172;
19417 			goto yy3;
19418 		} else {
19419 			if (yych == 'h') goto yy1213;
19420 			if (yych <= 'z') goto yy178;
19421 			goto yy3;
19422 		}
19423 	}
19424 yy1274:
19425 	YYDEBUG(1274, *YYCURSOR);
19426 	yyaccept = 0;
19427 	yych = *(YYMARKER = ++YYCURSOR);
19428 	if (yych <= 'M') {
19429 		if (yych <= '-') {
19430 			if (yych == ')') goto yy164;
19431 			if (yych <= ',') goto yy3;
19432 			goto yy172;
19433 		} else {
19434 			if (yych == '/') goto yy172;
19435 			if (yych <= '@') goto yy3;
19436 			goto yy168;
19437 		}
19438 	} else {
19439 		if (yych <= '_') {
19440 			if (yych <= 'N') goto yy1246;
19441 			if (yych <= 'Z') goto yy168;
19442 			if (yych <= '^') goto yy3;
19443 			goto yy172;
19444 		} else {
19445 			if (yych <= 'm') {
19446 				if (yych <= '`') goto yy3;
19447 				goto yy176;
19448 			} else {
19449 				if (yych <= 'n') goto yy1275;
19450 				if (yych <= 'z') goto yy176;
19451 				goto yy3;
19452 			}
19453 		}
19454 	}
19455 yy1275:
19456 	YYDEBUG(1275, *YYCURSOR);
19457 	yyaccept = 0;
19458 	yych = *(YYMARKER = ++YYCURSOR);
19459 	if (yych <= 'C') {
19460 		if (yych <= '-') {
19461 			if (yych == ')') goto yy164;
19462 			if (yych <= ',') goto yy3;
19463 			goto yy172;
19464 		} else {
19465 			if (yych == '/') goto yy172;
19466 			if (yych <= '@') goto yy3;
19467 			goto yy169;
19468 		}
19469 	} else {
19470 		if (yych <= '_') {
19471 			if (yych <= 'D') goto yy1205;
19472 			if (yych <= 'Z') goto yy169;
19473 			if (yych <= '^') goto yy3;
19474 			goto yy172;
19475 		} else {
19476 			if (yych <= 'c') {
19477 				if (yych <= '`') goto yy3;
19478 				goto yy177;
19479 			} else {
19480 				if (yych <= 'd') goto yy1217;
19481 				if (yych <= 'z') goto yy177;
19482 				goto yy3;
19483 			}
19484 		}
19485 	}
19486 yy1276:
19487 	YYDEBUG(1276, *YYCURSOR);
19488 	yych = *++YYCURSOR;
19489 	if (yych <= 'C') {
19490 		if (yych <= ')') {
19491 			if (yych <= '(') goto yy3;
19492 			goto yy164;
19493 		} else {
19494 			if (yych <= '@') goto yy3;
19495 			if (yych <= 'B') goto yy166;
19496 		}
19497 	} else {
19498 		if (yych <= 'b') {
19499 			if (yych <= 'Z') goto yy166;
19500 			if (yych <= '`') goto yy3;
19501 			goto yy166;
19502 		} else {
19503 			if (yych <= 'c') goto yy1277;
19504 			if (yych <= 'z') goto yy166;
19505 			goto yy3;
19506 		}
19507 	}
19508 yy1277:
19509 	YYDEBUG(1277, *YYCURSOR);
19510 	yych = *++YYCURSOR;
19511 	if (yych <= 'K') {
19512 		if (yych <= ')') {
19513 			if (yych <= '(') goto yy3;
19514 			goto yy164;
19515 		} else {
19516 			if (yych <= '@') goto yy3;
19517 			if (yych <= 'J') goto yy167;
19518 		}
19519 	} else {
19520 		if (yych <= 'j') {
19521 			if (yych <= 'Z') goto yy167;
19522 			if (yych <= '`') goto yy3;
19523 			goto yy167;
19524 		} else {
19525 			if (yych <= 'k') goto yy1278;
19526 			if (yych <= 'z') goto yy167;
19527 			goto yy3;
19528 		}
19529 	}
19530 yy1278:
19531 	YYDEBUG(1278, *YYCURSOR);
19532 	yyaccept = 0;
19533 	yych = *(YYMARKER = ++YYCURSOR);
19534 	if (yych <= ')') {
19535 		if (yych == ' ') goto yy1279;
19536 		if (yych <= '(') goto yy3;
19537 		goto yy164;
19538 	} else {
19539 		if (yych <= 'Z') {
19540 			if (yych <= '@') goto yy3;
19541 			goto yy168;
19542 		} else {
19543 			if (yych <= '`') goto yy3;
19544 			if (yych <= 'z') goto yy168;
19545 			goto yy3;
19546 		}
19547 	}
19548 yy1279:
19549 	YYDEBUG(1279, *YYCURSOR);
19550 	yych = *++YYCURSOR;
19551 	if (yych == 'O') goto yy1280;
19552 	if (yych != 'o') goto yy56;
19553 yy1280:
19554 	YYDEBUG(1280, *YYCURSOR);
19555 	yych = *++YYCURSOR;
19556 	if (yych == 'F') goto yy1281;
19557 	if (yych != 'f') goto yy56;
19558 yy1281:
19559 	YYDEBUG(1281, *YYCURSOR);
19560 	yych = *++YYCURSOR;
19561 	if (yych != ' ') goto yy56;
19562 	YYDEBUG(1282, *YYCURSOR);
19563 	yych = *++YYCURSOR;
19564 	if (yych <= '/') goto yy56;
19565 	if (yych <= '1') goto yy1283;
19566 	if (yych <= '2') goto yy1285;
19567 	if (yych <= '9') goto yy1286;
19568 	goto yy56;
19569 yy1283:
19570 	YYDEBUG(1283, *YYCURSOR);
19571 	yyaccept = 27;
19572 	yych = *(YYMARKER = ++YYCURSOR);
19573 	if (yych <= '@') {
19574 		if (yych <= 0x1F) {
19575 			if (yych == '\t') goto yy1287;
19576 		} else {
19577 			if (yych <= ' ') goto yy1287;
19578 			if (yych <= '/') goto yy1284;
19579 			if (yych <= '9') goto yy1286;
19580 		}
19581 	} else {
19582 		if (yych <= '`') {
19583 			if (yych <= 'A') goto yy1289;
19584 			if (yych == 'P') goto yy1289;
19585 		} else {
19586 			if (yych <= 'a') goto yy1289;
19587 			if (yych == 'p') goto yy1289;
19588 		}
19589 	}
19590 yy1284:
19591 	YYDEBUG(1284, *YYCURSOR);
19592 #line 1096 "ext/date/lib/parse_date.re"
19593 	{
19594 		DEBUG_OUTPUT("backof | frontof");
19595 		TIMELIB_INIT;
19596 		TIMELIB_UNHAVE_TIME();
19597 		TIMELIB_HAVE_TIME();
19598 
19599 		if (*ptr == 'b') {
19600 			s->time->h = timelib_get_nr((char **) &ptr, 2);
19601 			s->time->i = 15;
19602 		} else {
19603 			s->time->h = timelib_get_nr((char **) &ptr, 2) - 1;
19604 			s->time->i = 45;
19605 		}
19606 		if (*ptr != '\0' ) {
19607 			timelib_eat_spaces((char **) &ptr);
19608 			s->time->h += timelib_meridian((char **) &ptr, s->time->h);
19609 		}
19610 
19611 		TIMELIB_DEINIT;
19612 		return TIMELIB_LF_DAY_OF_MONTH;
19613 	}
19614 #line 19615 "<stdout>"
19615 yy1285:
19616 	YYDEBUG(1285, *YYCURSOR);
19617 	yyaccept = 27;
19618 	yych = *(YYMARKER = ++YYCURSOR);
19619 	if (yych <= '@') {
19620 		if (yych <= 0x1F) {
19621 			if (yych == '\t') goto yy1287;
19622 			goto yy1284;
19623 		} else {
19624 			if (yych <= ' ') goto yy1287;
19625 			if (yych <= '/') goto yy1284;
19626 			if (yych >= '5') goto yy1284;
19627 		}
19628 	} else {
19629 		if (yych <= '`') {
19630 			if (yych <= 'A') goto yy1289;
19631 			if (yych == 'P') goto yy1289;
19632 			goto yy1284;
19633 		} else {
19634 			if (yych <= 'a') goto yy1289;
19635 			if (yych == 'p') goto yy1289;
19636 			goto yy1284;
19637 		}
19638 	}
19639 yy1286:
19640 	YYDEBUG(1286, *YYCURSOR);
19641 	yyaccept = 27;
19642 	yych = *(YYMARKER = ++YYCURSOR);
19643 	if (yych <= 'A') {
19644 		if (yych <= 0x1F) {
19645 			if (yych != '\t') goto yy1284;
19646 		} else {
19647 			if (yych <= ' ') goto yy1287;
19648 			if (yych <= '@') goto yy1284;
19649 			goto yy1289;
19650 		}
19651 	} else {
19652 		if (yych <= '`') {
19653 			if (yych == 'P') goto yy1289;
19654 			goto yy1284;
19655 		} else {
19656 			if (yych <= 'a') goto yy1289;
19657 			if (yych == 'p') goto yy1289;
19658 			goto yy1284;
19659 		}
19660 	}
19661 yy1287:
19662 	YYDEBUG(1287, *YYCURSOR);
19663 	++YYCURSOR;
19664 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
19665 	yych = *YYCURSOR;
19666 	YYDEBUG(1288, *YYCURSOR);
19667 	if (yych <= 'A') {
19668 		if (yych <= 0x1F) {
19669 			if (yych == '\t') goto yy1287;
19670 			goto yy56;
19671 		} else {
19672 			if (yych <= ' ') goto yy1287;
19673 			if (yych <= '@') goto yy56;
19674 		}
19675 	} else {
19676 		if (yych <= '`') {
19677 			if (yych != 'P') goto yy56;
19678 		} else {
19679 			if (yych <= 'a') goto yy1289;
19680 			if (yych != 'p') goto yy56;
19681 		}
19682 	}
19683 yy1289:
19684 	YYDEBUG(1289, *YYCURSOR);
19685 	yych = *++YYCURSOR;
19686 	if (yych <= 'L') {
19687 		if (yych != '.') goto yy56;
19688 	} else {
19689 		if (yych <= 'M') goto yy1291;
19690 		if (yych == 'm') goto yy1291;
19691 		goto yy56;
19692 	}
19693 	YYDEBUG(1290, *YYCURSOR);
19694 	yych = *++YYCURSOR;
19695 	if (yych == 'M') goto yy1291;
19696 	if (yych != 'm') goto yy56;
19697 yy1291:
19698 	YYDEBUG(1291, *YYCURSOR);
19699 	yych = *++YYCURSOR;
19700 	if (yych <= 0x1F) {
19701 		if (yych <= 0x00) goto yy1293;
19702 		if (yych == '\t') goto yy1293;
19703 		goto yy56;
19704 	} else {
19705 		if (yych <= ' ') goto yy1293;
19706 		if (yych != '.') goto yy56;
19707 	}
19708 	YYDEBUG(1292, *YYCURSOR);
19709 	yych = *++YYCURSOR;
19710 	if (yych <= '\t') {
19711 		if (yych <= 0x00) goto yy1293;
19712 		if (yych <= 0x08) goto yy56;
19713 	} else {
19714 		if (yych != ' ') goto yy56;
19715 	}
19716 yy1293:
19717 	YYDEBUG(1293, *YYCURSOR);
19718 	yych = *++YYCURSOR;
19719 	goto yy1284;
19720 yy1294:
19721 	YYDEBUG(1294, *YYCURSOR);
19722 	yyaccept = 0;
19723 	yych = *(YYMARKER = ++YYCURSOR);
19724 	if (yych <= 'B') {
19725 		if (yych <= '-') {
19726 			if (yych == ')') goto yy164;
19727 			if (yych <= ',') goto yy3;
19728 			goto yy172;
19729 		} else {
19730 			if (yych == '/') goto yy172;
19731 			if (yych <= '@') goto yy3;
19732 			goto yy166;
19733 		}
19734 	} else {
19735 		if (yych <= '_') {
19736 			if (yych <= 'C') goto yy1277;
19737 			if (yych <= 'Z') goto yy166;
19738 			if (yych <= '^') goto yy3;
19739 			goto yy172;
19740 		} else {
19741 			if (yych <= 'b') {
19742 				if (yych <= '`') goto yy3;
19743 				goto yy171;
19744 			} else {
19745 				if (yych <= 'c') goto yy1295;
19746 				if (yych <= 'z') goto yy171;
19747 				goto yy3;
19748 			}
19749 		}
19750 	}
19751 yy1295:
19752 	YYDEBUG(1295, *YYCURSOR);
19753 	yyaccept = 0;
19754 	yych = *(YYMARKER = ++YYCURSOR);
19755 	if (yych <= 'J') {
19756 		if (yych <= '-') {
19757 			if (yych == ')') goto yy164;
19758 			if (yych <= ',') goto yy3;
19759 			goto yy172;
19760 		} else {
19761 			if (yych == '/') goto yy172;
19762 			if (yych <= '@') goto yy3;
19763 			goto yy167;
19764 		}
19765 	} else {
19766 		if (yych <= '_') {
19767 			if (yych <= 'K') goto yy1278;
19768 			if (yych <= 'Z') goto yy167;
19769 			if (yych <= '^') goto yy3;
19770 			goto yy172;
19771 		} else {
19772 			if (yych <= 'j') {
19773 				if (yych <= '`') goto yy3;
19774 				goto yy175;
19775 			} else {
19776 				if (yych <= 'k') goto yy1296;
19777 				if (yych <= 'z') goto yy175;
19778 				goto yy3;
19779 			}
19780 		}
19781 	}
19782 yy1296:
19783 	YYDEBUG(1296, *YYCURSOR);
19784 	yyaccept = 0;
19785 	yych = *(YYMARKER = ++YYCURSOR);
19786 	if (yych <= '.') {
19787 		if (yych <= '(') {
19788 			if (yych == ' ') goto yy1279;
19789 			goto yy3;
19790 		} else {
19791 			if (yych <= ')') goto yy164;
19792 			if (yych == '-') goto yy172;
19793 			goto yy3;
19794 		}
19795 	} else {
19796 		if (yych <= '^') {
19797 			if (yych <= '/') goto yy172;
19798 			if (yych <= '@') goto yy3;
19799 			if (yych <= 'Z') goto yy168;
19800 			goto yy3;
19801 		} else {
19802 			if (yych <= '_') goto yy172;
19803 			if (yych <= '`') goto yy3;
19804 			if (yych <= 'z') goto yy176;
19805 			goto yy3;
19806 		}
19807 	}
19808 yy1297:
19809 	YYDEBUG(1297, *YYCURSOR);
19810 	yych = *++YYCURSOR;
19811 	if (yych <= 'S') {
19812 		if (yych <= ')') {
19813 			if (yych <= '(') goto yy3;
19814 			goto yy164;
19815 		} else {
19816 			if (yych <= '@') goto yy3;
19817 			if (yych <= 'R') goto yy166;
19818 		}
19819 	} else {
19820 		if (yych <= 'r') {
19821 			if (yych <= 'Z') goto yy166;
19822 			if (yych <= '`') goto yy3;
19823 			goto yy166;
19824 		} else {
19825 			if (yych <= 's') goto yy1298;
19826 			if (yych <= 'z') goto yy166;
19827 			goto yy3;
19828 		}
19829 	}
19830 yy1298:
19831 	YYDEBUG(1298, *YYCURSOR);
19832 	yych = *++YYCURSOR;
19833 	if (yych <= 'T') {
19834 		if (yych <= ')') {
19835 			if (yych <= '(') goto yy3;
19836 			goto yy164;
19837 		} else {
19838 			if (yych <= '@') goto yy3;
19839 			if (yych <= 'S') goto yy167;
19840 		}
19841 	} else {
19842 		if (yych <= 's') {
19843 			if (yych <= 'Z') goto yy167;
19844 			if (yych <= '`') goto yy3;
19845 			goto yy167;
19846 		} else {
19847 			if (yych <= 't') goto yy1299;
19848 			if (yych <= 'z') goto yy167;
19849 			goto yy3;
19850 		}
19851 	}
19852 yy1299:
19853 	YYDEBUG(1299, *YYCURSOR);
19854 	yyaccept = 0;
19855 	yych = *(YYMARKER = ++YYCURSOR);
19856 	if (yych <= '(') {
19857 		if (yych <= '\t') {
19858 			if (yych <= 0x08) goto yy3;
19859 			goto yy1069;
19860 		} else {
19861 			if (yych != ' ') goto yy3;
19862 		}
19863 	} else {
19864 		if (yych <= 'Z') {
19865 			if (yych <= ')') goto yy164;
19866 			if (yych <= '@') goto yy3;
19867 			goto yy168;
19868 		} else {
19869 			if (yych <= '`') goto yy3;
19870 			if (yych <= 'z') goto yy168;
19871 			goto yy3;
19872 		}
19873 	}
19874 yy1300:
19875 	YYDEBUG(1300, *YYCURSOR);
19876 	yych = *++YYCURSOR;
19877 	if (yych == 'D') goto yy1301;
19878 	if (yych != 'd') goto yy1070;
19879 yy1301:
19880 	YYDEBUG(1301, *YYCURSOR);
19881 	yych = *++YYCURSOR;
19882 	if (yych == 'A') goto yy1302;
19883 	if (yych != 'a') goto yy56;
19884 yy1302:
19885 	YYDEBUG(1302, *YYCURSOR);
19886 	yych = *++YYCURSOR;
19887 	if (yych == 'Y') goto yy1303;
19888 	if (yych != 'y') goto yy56;
19889 yy1303:
19890 	YYDEBUG(1303, *YYCURSOR);
19891 	yyaccept = 25;
19892 	yych = *(YYMARKER = ++YYCURSOR);
19893 	if (yych <= 'R') {
19894 		if (yych != ' ') goto yy1084;
19895 	} else {
19896 		if (yych <= 'S') goto yy1109;
19897 		if (yych == 's') goto yy1109;
19898 		goto yy1084;
19899 	}
19900 	YYDEBUG(1304, *YYCURSOR);
19901 	yych = *++YYCURSOR;
19902 	if (yych == 'O') goto yy1305;
19903 	if (yych != 'o') goto yy56;
19904 yy1305:
19905 	YYDEBUG(1305, *YYCURSOR);
19906 	yych = *++YYCURSOR;
19907 	if (yych == 'F') goto yy1306;
19908 	if (yych != 'f') goto yy56;
19909 yy1306:
19910 	YYDEBUG(1306, *YYCURSOR);
19911 	++YYCURSOR;
19912 	YYDEBUG(1307, *YYCURSOR);
19913 #line 1079 "ext/date/lib/parse_date.re"
19914 	{
19915 		DEBUG_OUTPUT("firstdayof | lastdayof");
19916 		TIMELIB_INIT;
19917 		TIMELIB_HAVE_RELATIVE();
19918 
19919 		/* skip "last day of" or "first day of" */
19920 		if (*ptr == 'l' || *ptr == 'L') {
19921 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
19922 		} else {
19923 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
19924 		}
19925 
19926 		TIMELIB_DEINIT;
19927 		return TIMELIB_LF_DAY_OF_MONTH;
19928 	}
19929 #line 19930 "<stdout>"
19930 yy1308:
19931 	YYDEBUG(1308, *YYCURSOR);
19932 	yyaccept = 0;
19933 	yych = *(YYMARKER = ++YYCURSOR);
19934 	if (yych <= 'R') {
19935 		if (yych <= '-') {
19936 			if (yych == ')') goto yy164;
19937 			if (yych <= ',') goto yy3;
19938 			goto yy172;
19939 		} else {
19940 			if (yych == '/') goto yy172;
19941 			if (yych <= '@') goto yy3;
19942 			goto yy166;
19943 		}
19944 	} else {
19945 		if (yych <= '_') {
19946 			if (yych <= 'S') goto yy1298;
19947 			if (yych <= 'Z') goto yy166;
19948 			if (yych <= '^') goto yy3;
19949 			goto yy172;
19950 		} else {
19951 			if (yych <= 'r') {
19952 				if (yych <= '`') goto yy3;
19953 				goto yy171;
19954 			} else {
19955 				if (yych <= 's') goto yy1309;
19956 				if (yych <= 'z') goto yy171;
19957 				goto yy3;
19958 			}
19959 		}
19960 	}
19961 yy1309:
19962 	YYDEBUG(1309, *YYCURSOR);
19963 	yyaccept = 0;
19964 	yych = *(YYMARKER = ++YYCURSOR);
19965 	if (yych <= 'S') {
19966 		if (yych <= '-') {
19967 			if (yych == ')') goto yy164;
19968 			if (yych <= ',') goto yy3;
19969 			goto yy172;
19970 		} else {
19971 			if (yych == '/') goto yy172;
19972 			if (yych <= '@') goto yy3;
19973 			goto yy167;
19974 		}
19975 	} else {
19976 		if (yych <= '_') {
19977 			if (yych <= 'T') goto yy1299;
19978 			if (yych <= 'Z') goto yy167;
19979 			if (yych <= '^') goto yy3;
19980 			goto yy172;
19981 		} else {
19982 			if (yych <= 's') {
19983 				if (yych <= '`') goto yy3;
19984 				goto yy175;
19985 			} else {
19986 				if (yych <= 't') goto yy1310;
19987 				if (yych <= 'z') goto yy175;
19988 				goto yy3;
19989 			}
19990 		}
19991 	}
19992 yy1310:
19993 	YYDEBUG(1310, *YYCURSOR);
19994 	yyaccept = 0;
19995 	yych = *(YYMARKER = ++YYCURSOR);
19996 	if (yych <= '-') {
19997 		if (yych <= ' ') {
19998 			if (yych == '\t') goto yy1069;
19999 			if (yych <= 0x1F) goto yy3;
20000 			goto yy1300;
20001 		} else {
20002 			if (yych == ')') goto yy164;
20003 			if (yych <= ',') goto yy3;
20004 			goto yy172;
20005 		}
20006 	} else {
20007 		if (yych <= 'Z') {
20008 			if (yych == '/') goto yy172;
20009 			if (yych <= '@') goto yy3;
20010 			goto yy168;
20011 		} else {
20012 			if (yych <= '_') {
20013 				if (yych <= '^') goto yy3;
20014 				goto yy172;
20015 			} else {
20016 				if (yych <= '`') goto yy3;
20017 				if (yych <= 'z') goto yy176;
20018 				goto yy3;
20019 			}
20020 		}
20021 	}
20022 yy1311:
20023 	YYDEBUG(1311, *YYCURSOR);
20024 	yych = *++YYCURSOR;
20025 	if (yych <= 'B') {
20026 		if (yych <= ')') {
20027 			if (yych <= '(') goto yy3;
20028 			goto yy164;
20029 		} else {
20030 			if (yych <= '@') goto yy3;
20031 			if (yych <= 'A') goto yy166;
20032 			goto yy1348;
20033 		}
20034 	} else {
20035 		if (yych <= 'a') {
20036 			if (yych <= 'Z') goto yy166;
20037 			if (yych <= '`') goto yy3;
20038 			goto yy166;
20039 		} else {
20040 			if (yych <= 'b') goto yy1348;
20041 			if (yych <= 'z') goto yy166;
20042 			goto yy3;
20043 		}
20044 	}
20045 yy1312:
20046 	YYDEBUG(1312, *YYCURSOR);
20047 	yych = *++YYCURSOR;
20048 	if (yych <= 'R') {
20049 		if (yych <= '@') {
20050 			if (yych == ')') goto yy164;
20051 			goto yy3;
20052 		} else {
20053 			if (yych == 'F') goto yy1338;
20054 			if (yych <= 'Q') goto yy166;
20055 			goto yy1337;
20056 		}
20057 	} else {
20058 		if (yych <= 'f') {
20059 			if (yych <= 'Z') goto yy166;
20060 			if (yych <= '`') goto yy3;
20061 			if (yych <= 'e') goto yy166;
20062 			goto yy1338;
20063 		} else {
20064 			if (yych == 'r') goto yy1337;
20065 			if (yych <= 'z') goto yy166;
20066 			goto yy3;
20067 		}
20068 	}
20069 yy1313:
20070 	YYDEBUG(1313, *YYCURSOR);
20071 	yych = *++YYCURSOR;
20072 	if (yych <= 'U') {
20073 		if (yych <= ')') {
20074 			if (yych <= '(') goto yy3;
20075 			goto yy164;
20076 		} else {
20077 			if (yych <= '@') goto yy3;
20078 			if (yych <= 'T') goto yy166;
20079 			goto yy1334;
20080 		}
20081 	} else {
20082 		if (yych <= 't') {
20083 			if (yych <= 'Z') goto yy166;
20084 			if (yych <= '`') goto yy3;
20085 			goto yy166;
20086 		} else {
20087 			if (yych <= 'u') goto yy1334;
20088 			if (yych <= 'z') goto yy166;
20089 			goto yy3;
20090 		}
20091 	}
20092 yy1314:
20093 	YYDEBUG(1314, *YYCURSOR);
20094 	yych = *++YYCURSOR;
20095 	if (yych <= 'O') {
20096 		if (yych <= '@') {
20097 			if (yych == ')') goto yy164;
20098 			goto yy3;
20099 		} else {
20100 			if (yych == 'I') goto yy1316;
20101 			if (yych <= 'N') goto yy166;
20102 		}
20103 	} else {
20104 		if (yych <= 'i') {
20105 			if (yych <= 'Z') goto yy166;
20106 			if (yych <= '`') goto yy3;
20107 			if (yych <= 'h') goto yy166;
20108 			goto yy1316;
20109 		} else {
20110 			if (yych == 'o') goto yy1315;
20111 			if (yych <= 'z') goto yy166;
20112 			goto yy3;
20113 		}
20114 	}
20115 yy1315:
20116 	YYDEBUG(1315, *YYCURSOR);
20117 	yych = *++YYCURSOR;
20118 	if (yych <= 'N') {
20119 		if (yych <= ')') {
20120 			if (yych <= '(') goto yy3;
20121 			goto yy164;
20122 		} else {
20123 			if (yych <= '@') goto yy3;
20124 			if (yych <= 'M') goto yy167;
20125 			goto yy1319;
20126 		}
20127 	} else {
20128 		if (yych <= 'm') {
20129 			if (yych <= 'Z') goto yy167;
20130 			if (yych <= '`') goto yy3;
20131 			goto yy167;
20132 		} else {
20133 			if (yych <= 'n') goto yy1319;
20134 			if (yych <= 'z') goto yy167;
20135 			goto yy3;
20136 		}
20137 	}
20138 yy1316:
20139 	YYDEBUG(1316, *YYCURSOR);
20140 	yych = *++YYCURSOR;
20141 	if (yych <= 'D') {
20142 		if (yych <= ')') {
20143 			if (yych <= '(') goto yy191;
20144 			goto yy164;
20145 		} else {
20146 			if (yych <= '@') goto yy191;
20147 			if (yych <= 'C') goto yy167;
20148 		}
20149 	} else {
20150 		if (yych <= 'c') {
20151 			if (yych <= 'Z') goto yy167;
20152 			if (yych <= '`') goto yy191;
20153 			goto yy167;
20154 		} else {
20155 			if (yych <= 'd') goto yy1317;
20156 			if (yych <= 'z') goto yy167;
20157 			goto yy191;
20158 		}
20159 	}
20160 yy1317:
20161 	YYDEBUG(1317, *YYCURSOR);
20162 	yych = *++YYCURSOR;
20163 	if (yych <= 'A') {
20164 		if (yych == ')') goto yy164;
20165 		if (yych <= '@') goto yy3;
20166 	} else {
20167 		if (yych <= '`') {
20168 			if (yych <= 'Z') goto yy168;
20169 			goto yy3;
20170 		} else {
20171 			if (yych <= 'a') goto yy1318;
20172 			if (yych <= 'z') goto yy168;
20173 			goto yy3;
20174 		}
20175 	}
20176 yy1318:
20177 	YYDEBUG(1318, *YYCURSOR);
20178 	yych = *++YYCURSOR;
20179 	if (yych <= 'Y') {
20180 		if (yych <= ')') {
20181 			if (yych <= '(') goto yy3;
20182 			goto yy164;
20183 		} else {
20184 			if (yych <= '@') goto yy3;
20185 			if (yych <= 'X') goto yy169;
20186 			goto yy1225;
20187 		}
20188 	} else {
20189 		if (yych <= 'x') {
20190 			if (yych <= 'Z') goto yy169;
20191 			if (yych <= '`') goto yy3;
20192 			goto yy169;
20193 		} else {
20194 			if (yych <= 'y') goto yy1225;
20195 			if (yych <= 'z') goto yy169;
20196 			goto yy3;
20197 		}
20198 	}
20199 yy1319:
20200 	YYDEBUG(1319, *YYCURSOR);
20201 	yych = *++YYCURSOR;
20202 	if (yych <= 'T') {
20203 		if (yych <= ')') {
20204 			if (yych <= '(') goto yy3;
20205 			goto yy164;
20206 		} else {
20207 			if (yych <= '@') goto yy3;
20208 			if (yych <= 'S') goto yy168;
20209 		}
20210 	} else {
20211 		if (yych <= 's') {
20212 			if (yych <= 'Z') goto yy168;
20213 			if (yych <= '`') goto yy3;
20214 			goto yy168;
20215 		} else {
20216 			if (yych <= 't') goto yy1320;
20217 			if (yych <= 'z') goto yy168;
20218 			goto yy3;
20219 		}
20220 	}
20221 yy1320:
20222 	YYDEBUG(1320, *YYCURSOR);
20223 	yyaccept = 0;
20224 	yych = *(YYMARKER = ++YYCURSOR);
20225 	if (yych <= ')') {
20226 		if (yych == ' ') goto yy1321;
20227 		if (yych <= '(') goto yy3;
20228 		goto yy164;
20229 	} else {
20230 		if (yych <= 'Z') {
20231 			if (yych <= '@') goto yy3;
20232 			goto yy169;
20233 		} else {
20234 			if (yych <= '`') goto yy3;
20235 			if (yych <= 'z') goto yy169;
20236 			goto yy3;
20237 		}
20238 	}
20239 yy1321:
20240 	YYDEBUG(1321, *YYCURSOR);
20241 	yych = *++YYCURSOR;
20242 	if (yych == 'O') goto yy1322;
20243 	if (yych != 'o') goto yy56;
20244 yy1322:
20245 	YYDEBUG(1322, *YYCURSOR);
20246 	yych = *++YYCURSOR;
20247 	if (yych == 'F') goto yy1323;
20248 	if (yych != 'f') goto yy56;
20249 yy1323:
20250 	YYDEBUG(1323, *YYCURSOR);
20251 	yych = *++YYCURSOR;
20252 	if (yych != ' ') goto yy56;
20253 	YYDEBUG(1324, *YYCURSOR);
20254 	yych = *++YYCURSOR;
20255 	if (yych <= '/') goto yy56;
20256 	if (yych <= '1') goto yy1325;
20257 	if (yych <= '2') goto yy1326;
20258 	if (yych <= '9') goto yy1327;
20259 	goto yy56;
20260 yy1325:
20261 	YYDEBUG(1325, *YYCURSOR);
20262 	yyaccept = 27;
20263 	yych = *(YYMARKER = ++YYCURSOR);
20264 	if (yych <= '@') {
20265 		if (yych <= 0x1F) {
20266 			if (yych == '\t') goto yy1328;
20267 			goto yy1284;
20268 		} else {
20269 			if (yych <= ' ') goto yy1328;
20270 			if (yych <= '/') goto yy1284;
20271 			if (yych <= '9') goto yy1327;
20272 			goto yy1284;
20273 		}
20274 	} else {
20275 		if (yych <= '`') {
20276 			if (yych <= 'A') goto yy1330;
20277 			if (yych == 'P') goto yy1330;
20278 			goto yy1284;
20279 		} else {
20280 			if (yych <= 'a') goto yy1330;
20281 			if (yych == 'p') goto yy1330;
20282 			goto yy1284;
20283 		}
20284 	}
20285 yy1326:
20286 	YYDEBUG(1326, *YYCURSOR);
20287 	yyaccept = 27;
20288 	yych = *(YYMARKER = ++YYCURSOR);
20289 	if (yych <= '@') {
20290 		if (yych <= 0x1F) {
20291 			if (yych == '\t') goto yy1328;
20292 			goto yy1284;
20293 		} else {
20294 			if (yych <= ' ') goto yy1328;
20295 			if (yych <= '/') goto yy1284;
20296 			if (yych >= '5') goto yy1284;
20297 		}
20298 	} else {
20299 		if (yych <= '`') {
20300 			if (yych <= 'A') goto yy1330;
20301 			if (yych == 'P') goto yy1330;
20302 			goto yy1284;
20303 		} else {
20304 			if (yych <= 'a') goto yy1330;
20305 			if (yych == 'p') goto yy1330;
20306 			goto yy1284;
20307 		}
20308 	}
20309 yy1327:
20310 	YYDEBUG(1327, *YYCURSOR);
20311 	yyaccept = 27;
20312 	yych = *(YYMARKER = ++YYCURSOR);
20313 	if (yych <= 'A') {
20314 		if (yych <= 0x1F) {
20315 			if (yych != '\t') goto yy1284;
20316 		} else {
20317 			if (yych <= ' ') goto yy1328;
20318 			if (yych <= '@') goto yy1284;
20319 			goto yy1330;
20320 		}
20321 	} else {
20322 		if (yych <= '`') {
20323 			if (yych == 'P') goto yy1330;
20324 			goto yy1284;
20325 		} else {
20326 			if (yych <= 'a') goto yy1330;
20327 			if (yych == 'p') goto yy1330;
20328 			goto yy1284;
20329 		}
20330 	}
20331 yy1328:
20332 	YYDEBUG(1328, *YYCURSOR);
20333 	++YYCURSOR;
20334 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
20335 	yych = *YYCURSOR;
20336 	YYDEBUG(1329, *YYCURSOR);
20337 	if (yych <= 'A') {
20338 		if (yych <= 0x1F) {
20339 			if (yych == '\t') goto yy1328;
20340 			goto yy56;
20341 		} else {
20342 			if (yych <= ' ') goto yy1328;
20343 			if (yych <= '@') goto yy56;
20344 		}
20345 	} else {
20346 		if (yych <= '`') {
20347 			if (yych != 'P') goto yy56;
20348 		} else {
20349 			if (yych <= 'a') goto yy1330;
20350 			if (yych != 'p') goto yy56;
20351 		}
20352 	}
20353 yy1330:
20354 	YYDEBUG(1330, *YYCURSOR);
20355 	yych = *++YYCURSOR;
20356 	if (yych <= 'L') {
20357 		if (yych != '.') goto yy56;
20358 	} else {
20359 		if (yych <= 'M') goto yy1332;
20360 		if (yych == 'm') goto yy1332;
20361 		goto yy56;
20362 	}
20363 	YYDEBUG(1331, *YYCURSOR);
20364 	yych = *++YYCURSOR;
20365 	if (yych == 'M') goto yy1332;
20366 	if (yych != 'm') goto yy56;
20367 yy1332:
20368 	YYDEBUG(1332, *YYCURSOR);
20369 	yych = *++YYCURSOR;
20370 	if (yych <= 0x1F) {
20371 		if (yych <= 0x00) goto yy1293;
20372 		if (yych == '\t') goto yy1293;
20373 		goto yy56;
20374 	} else {
20375 		if (yych <= ' ') goto yy1293;
20376 		if (yych != '.') goto yy56;
20377 	}
20378 	YYDEBUG(1333, *YYCURSOR);
20379 	yych = *++YYCURSOR;
20380 	if (yych <= '\t') {
20381 		if (yych <= 0x00) goto yy1293;
20382 		if (yych <= 0x08) goto yy56;
20383 		goto yy1293;
20384 	} else {
20385 		if (yych == ' ') goto yy1293;
20386 		goto yy56;
20387 	}
20388 yy1334:
20389 	YYDEBUG(1334, *YYCURSOR);
20390 	yych = *++YYCURSOR;
20391 	if (yych <= 'R') {
20392 		if (yych <= ')') {
20393 			if (yych <= '(') goto yy3;
20394 			goto yy164;
20395 		} else {
20396 			if (yych <= '@') goto yy3;
20397 			if (yych <= 'Q') goto yy167;
20398 		}
20399 	} else {
20400 		if (yych <= 'q') {
20401 			if (yych <= 'Z') goto yy167;
20402 			if (yych <= '`') goto yy3;
20403 			goto yy167;
20404 		} else {
20405 			if (yych <= 'r') goto yy1335;
20406 			if (yych <= 'z') goto yy167;
20407 			goto yy3;
20408 		}
20409 	}
20410 yy1335:
20411 	YYDEBUG(1335, *YYCURSOR);
20412 	yych = *++YYCURSOR;
20413 	if (yych <= 'T') {
20414 		if (yych <= ')') {
20415 			if (yych <= '(') goto yy3;
20416 			goto yy164;
20417 		} else {
20418 			if (yych <= '@') goto yy3;
20419 			if (yych <= 'S') goto yy168;
20420 		}
20421 	} else {
20422 		if (yych <= 's') {
20423 			if (yych <= 'Z') goto yy168;
20424 			if (yych <= '`') goto yy3;
20425 			goto yy168;
20426 		} else {
20427 			if (yych <= 't') goto yy1336;
20428 			if (yych <= 'z') goto yy168;
20429 			goto yy3;
20430 		}
20431 	}
20432 yy1336:
20433 	YYDEBUG(1336, *YYCURSOR);
20434 	yych = *++YYCURSOR;
20435 	if (yych <= 'H') {
20436 		if (yych <= ')') {
20437 			if (yych <= '(') goto yy3;
20438 			goto yy164;
20439 		} else {
20440 			if (yych <= '@') goto yy3;
20441 			if (yych <= 'G') goto yy169;
20442 			goto yy1205;
20443 		}
20444 	} else {
20445 		if (yych <= 'g') {
20446 			if (yych <= 'Z') goto yy169;
20447 			if (yych <= '`') goto yy3;
20448 			goto yy169;
20449 		} else {
20450 			if (yych <= 'h') goto yy1205;
20451 			if (yych <= 'z') goto yy169;
20452 			goto yy3;
20453 		}
20454 	}
20455 yy1337:
20456 	YYDEBUG(1337, *YYCURSOR);
20457 	yych = *++YYCURSOR;
20458 	if (yych <= 'S') {
20459 		if (yych <= ')') {
20460 			if (yych <= '(') goto yy3;
20461 			goto yy164;
20462 		} else {
20463 			if (yych <= '@') goto yy3;
20464 			if (yych <= 'R') goto yy167;
20465 			goto yy1340;
20466 		}
20467 	} else {
20468 		if (yych <= 'r') {
20469 			if (yych <= 'Z') goto yy167;
20470 			if (yych <= '`') goto yy3;
20471 			goto yy167;
20472 		} else {
20473 			if (yych <= 's') goto yy1340;
20474 			if (yych <= 'z') goto yy167;
20475 			goto yy3;
20476 		}
20477 	}
20478 yy1338:
20479 	YYDEBUG(1338, *YYCURSOR);
20480 	yych = *++YYCURSOR;
20481 	if (yych <= 'T') {
20482 		if (yych <= ')') {
20483 			if (yych <= '(') goto yy3;
20484 			goto yy164;
20485 		} else {
20486 			if (yych <= '@') goto yy3;
20487 			if (yych <= 'S') goto yy167;
20488 		}
20489 	} else {
20490 		if (yych <= 's') {
20491 			if (yych <= 'Z') goto yy167;
20492 			if (yych <= '`') goto yy3;
20493 			goto yy167;
20494 		} else {
20495 			if (yych <= 't') goto yy1339;
20496 			if (yych <= 'z') goto yy167;
20497 			goto yy3;
20498 		}
20499 	}
20500 yy1339:
20501 	YYDEBUG(1339, *YYCURSOR);
20502 	yych = *++YYCURSOR;
20503 	if (yych <= 'H') {
20504 		if (yych <= ')') {
20505 			if (yych <= '(') goto yy3;
20506 			goto yy164;
20507 		} else {
20508 			if (yych <= '@') goto yy3;
20509 			if (yych <= 'G') goto yy168;
20510 			goto yy1228;
20511 		}
20512 	} else {
20513 		if (yych <= 'g') {
20514 			if (yych <= 'Z') goto yy168;
20515 			if (yych <= '`') goto yy3;
20516 			goto yy168;
20517 		} else {
20518 			if (yych <= 'h') goto yy1228;
20519 			if (yych <= 'z') goto yy168;
20520 			goto yy3;
20521 		}
20522 	}
20523 yy1340:
20524 	YYDEBUG(1340, *YYCURSOR);
20525 	yych = *++YYCURSOR;
20526 	if (yych <= 'T') {
20527 		if (yych <= ')') {
20528 			if (yych <= '(') goto yy3;
20529 			goto yy164;
20530 		} else {
20531 			if (yych <= '@') goto yy3;
20532 			if (yych <= 'S') goto yy168;
20533 		}
20534 	} else {
20535 		if (yych <= 's') {
20536 			if (yych <= 'Z') goto yy168;
20537 			if (yych <= '`') goto yy3;
20538 			goto yy168;
20539 		} else {
20540 			if (yych <= 't') goto yy1341;
20541 			if (yych <= 'z') goto yy168;
20542 			goto yy3;
20543 		}
20544 	}
20545 yy1341:
20546 	YYDEBUG(1341, *YYCURSOR);
20547 	yyaccept = 0;
20548 	yych = *(YYMARKER = ++YYCURSOR);
20549 	if (yych <= '(') {
20550 		if (yych <= '\t') {
20551 			if (yych <= 0x08) goto yy3;
20552 			goto yy1196;
20553 		} else {
20554 			if (yych != ' ') goto yy3;
20555 		}
20556 	} else {
20557 		if (yych <= 'Z') {
20558 			if (yych <= ')') goto yy164;
20559 			if (yych <= '@') goto yy3;
20560 			goto yy169;
20561 		} else {
20562 			if (yych <= '`') goto yy3;
20563 			if (yych <= 'z') goto yy169;
20564 			goto yy3;
20565 		}
20566 	}
20567 yy1342:
20568 	YYDEBUG(1342, *YYCURSOR);
20569 	yych = *++YYCURSOR;
20570 	if (yych == 'D') goto yy1343;
20571 	if (yych != 'd') goto yy1197;
20572 yy1343:
20573 	YYDEBUG(1343, *YYCURSOR);
20574 	yych = *++YYCURSOR;
20575 	if (yych == 'A') goto yy1344;
20576 	if (yych != 'a') goto yy56;
20577 yy1344:
20578 	YYDEBUG(1344, *YYCURSOR);
20579 	yych = *++YYCURSOR;
20580 	if (yych == 'Y') goto yy1345;
20581 	if (yych != 'y') goto yy56;
20582 yy1345:
20583 	YYDEBUG(1345, *YYCURSOR);
20584 	yyaccept = 25;
20585 	yych = *(YYMARKER = ++YYCURSOR);
20586 	if (yych <= 'R') {
20587 		if (yych != ' ') goto yy1084;
20588 	} else {
20589 		if (yych <= 'S') goto yy1109;
20590 		if (yych == 's') goto yy1109;
20591 		goto yy1084;
20592 	}
20593 	YYDEBUG(1346, *YYCURSOR);
20594 	yych = *++YYCURSOR;
20595 	if (yych == 'O') goto yy1347;
20596 	if (yych != 'o') goto yy56;
20597 yy1347:
20598 	YYDEBUG(1347, *YYCURSOR);
20599 	yych = *++YYCURSOR;
20600 	if (yych == 'F') goto yy1306;
20601 	if (yych == 'f') goto yy1306;
20602 	goto yy56;
20603 yy1348:
20604 	YYDEBUG(1348, *YYCURSOR);
20605 	yyaccept = 5;
20606 	yych = *(YYMARKER = ++YYCURSOR);
20607 	if (yych <= '/') {
20608 		if (yych <= '(') {
20609 			if (yych <= '\t') {
20610 				if (yych <= 0x08) goto yy218;
20611 				goto yy220;
20612 			} else {
20613 				if (yych == ' ') goto yy220;
20614 				goto yy218;
20615 			}
20616 		} else {
20617 			if (yych <= ',') {
20618 				if (yych <= ')') goto yy164;
20619 				goto yy218;
20620 			} else {
20621 				if (yych <= '-') goto yy221;
20622 				if (yych <= '.') goto yy220;
20623 				goto yy218;
20624 			}
20625 		}
20626 	} else {
20627 		if (yych <= 'Z') {
20628 			if (yych <= '@') {
20629 				if (yych <= '9') goto yy220;
20630 				goto yy218;
20631 			} else {
20632 				if (yych != 'R') goto yy167;
20633 			}
20634 		} else {
20635 			if (yych <= 'q') {
20636 				if (yych <= '`') goto yy218;
20637 				goto yy167;
20638 			} else {
20639 				if (yych <= 'r') goto yy1349;
20640 				if (yych <= 'z') goto yy167;
20641 				goto yy218;
20642 			}
20643 		}
20644 	}
20645 yy1349:
20646 	YYDEBUG(1349, *YYCURSOR);
20647 	yych = *++YYCURSOR;
20648 	if (yych <= 'U') {
20649 		if (yych <= ')') {
20650 			if (yych <= '(') goto yy3;
20651 			goto yy164;
20652 		} else {
20653 			if (yych <= '@') goto yy3;
20654 			if (yych <= 'T') goto yy168;
20655 		}
20656 	} else {
20657 		if (yych <= 't') {
20658 			if (yych <= 'Z') goto yy168;
20659 			if (yych <= '`') goto yy3;
20660 			goto yy168;
20661 		} else {
20662 			if (yych <= 'u') goto yy1350;
20663 			if (yych <= 'z') goto yy168;
20664 			goto yy3;
20665 		}
20666 	}
20667 yy1350:
20668 	YYDEBUG(1350, *YYCURSOR);
20669 	yych = *++YYCURSOR;
20670 	if (yych <= 'A') {
20671 		if (yych == ')') goto yy164;
20672 		if (yych <= '@') goto yy3;
20673 	} else {
20674 		if (yych <= '`') {
20675 			if (yych <= 'Z') goto yy169;
20676 			goto yy3;
20677 		} else {
20678 			if (yych <= 'a') goto yy1351;
20679 			if (yych <= 'z') goto yy169;
20680 			goto yy3;
20681 		}
20682 	}
20683 yy1351:
20684 	YYDEBUG(1351, *YYCURSOR);
20685 	yyaccept = 0;
20686 	yych = *(YYMARKER = ++YYCURSOR);
20687 	if (yych <= 'Q') {
20688 		if (yych == ')') goto yy164;
20689 		goto yy3;
20690 	} else {
20691 		if (yych <= 'R') goto yy1352;
20692 		if (yych != 'r') goto yy3;
20693 	}
20694 yy1352:
20695 	YYDEBUG(1352, *YYCURSOR);
20696 	yych = *++YYCURSOR;
20697 	if (yych == 'Y') goto yy229;
20698 	if (yych == 'y') goto yy229;
20699 	goto yy56;
20700 yy1353:
20701 	YYDEBUG(1353, *YYCURSOR);
20702 	yyaccept = 0;
20703 	yych = *(YYMARKER = ++YYCURSOR);
20704 	if (yych <= 'A') {
20705 		if (yych <= '-') {
20706 			if (yych == ')') goto yy164;
20707 			if (yych <= ',') goto yy3;
20708 			goto yy172;
20709 		} else {
20710 			if (yych == '/') goto yy172;
20711 			if (yych <= '@') goto yy3;
20712 			goto yy166;
20713 		}
20714 	} else {
20715 		if (yych <= '_') {
20716 			if (yych <= 'B') goto yy1348;
20717 			if (yych <= 'Z') goto yy166;
20718 			if (yych <= '^') goto yy3;
20719 			goto yy172;
20720 		} else {
20721 			if (yych <= 'a') {
20722 				if (yych <= '`') goto yy3;
20723 				goto yy171;
20724 			} else {
20725 				if (yych <= 'b') goto yy1371;
20726 				if (yych <= 'z') goto yy171;
20727 				goto yy3;
20728 			}
20729 		}
20730 	}
20731 yy1354:
20732 	YYDEBUG(1354, *YYCURSOR);
20733 	yyaccept = 0;
20734 	yych = *(YYMARKER = ++YYCURSOR);
20735 	if (yych <= 'Q') {
20736 		if (yych <= '.') {
20737 			if (yych <= ')') {
20738 				if (yych <= '(') goto yy3;
20739 				goto yy164;
20740 			} else {
20741 				if (yych == '-') goto yy172;
20742 				goto yy3;
20743 			}
20744 		} else {
20745 			if (yych <= '@') {
20746 				if (yych <= '/') goto yy172;
20747 				goto yy3;
20748 			} else {
20749 				if (yych == 'F') goto yy1338;
20750 				goto yy166;
20751 			}
20752 		}
20753 	} else {
20754 		if (yych <= '`') {
20755 			if (yych <= 'Z') {
20756 				if (yych <= 'R') goto yy1337;
20757 				goto yy166;
20758 			} else {
20759 				if (yych == '_') goto yy172;
20760 				goto yy3;
20761 			}
20762 		} else {
20763 			if (yych <= 'q') {
20764 				if (yych == 'f') goto yy1367;
20765 				goto yy171;
20766 			} else {
20767 				if (yych <= 'r') goto yy1366;
20768 				if (yych <= 'z') goto yy171;
20769 				goto yy3;
20770 			}
20771 		}
20772 	}
20773 yy1355:
20774 	YYDEBUG(1355, *YYCURSOR);
20775 	yyaccept = 0;
20776 	yych = *(YYMARKER = ++YYCURSOR);
20777 	if (yych <= 'T') {
20778 		if (yych <= '-') {
20779 			if (yych == ')') goto yy164;
20780 			if (yych <= ',') goto yy3;
20781 			goto yy172;
20782 		} else {
20783 			if (yych == '/') goto yy172;
20784 			if (yych <= '@') goto yy3;
20785 			goto yy166;
20786 		}
20787 	} else {
20788 		if (yych <= '_') {
20789 			if (yych <= 'U') goto yy1334;
20790 			if (yych <= 'Z') goto yy166;
20791 			if (yych <= '^') goto yy3;
20792 			goto yy172;
20793 		} else {
20794 			if (yych <= 't') {
20795 				if (yych <= '`') goto yy3;
20796 				goto yy171;
20797 			} else {
20798 				if (yych <= 'u') goto yy1363;
20799 				if (yych <= 'z') goto yy171;
20800 				goto yy3;
20801 			}
20802 		}
20803 	}
20804 yy1356:
20805 	YYDEBUG(1356, *YYCURSOR);
20806 	yyaccept = 0;
20807 	yych = *(YYMARKER = ++YYCURSOR);
20808 	if (yych <= 'N') {
20809 		if (yych <= '.') {
20810 			if (yych <= ')') {
20811 				if (yych <= '(') goto yy3;
20812 				goto yy164;
20813 			} else {
20814 				if (yych == '-') goto yy172;
20815 				goto yy3;
20816 			}
20817 		} else {
20818 			if (yych <= '@') {
20819 				if (yych <= '/') goto yy172;
20820 				goto yy3;
20821 			} else {
20822 				if (yych == 'I') goto yy1316;
20823 				goto yy166;
20824 			}
20825 		}
20826 	} else {
20827 		if (yych <= '`') {
20828 			if (yych <= 'Z') {
20829 				if (yych <= 'O') goto yy1315;
20830 				goto yy166;
20831 			} else {
20832 				if (yych == '_') goto yy172;
20833 				goto yy3;
20834 			}
20835 		} else {
20836 			if (yych <= 'n') {
20837 				if (yych == 'i') goto yy1358;
20838 				goto yy171;
20839 			} else {
20840 				if (yych <= 'o') goto yy1357;
20841 				if (yych <= 'z') goto yy171;
20842 				goto yy3;
20843 			}
20844 		}
20845 	}
20846 yy1357:
20847 	YYDEBUG(1357, *YYCURSOR);
20848 	yyaccept = 0;
20849 	yych = *(YYMARKER = ++YYCURSOR);
20850 	if (yych <= 'M') {
20851 		if (yych <= '-') {
20852 			if (yych == ')') goto yy164;
20853 			if (yych <= ',') goto yy3;
20854 			goto yy172;
20855 		} else {
20856 			if (yych == '/') goto yy172;
20857 			if (yych <= '@') goto yy3;
20858 			goto yy167;
20859 		}
20860 	} else {
20861 		if (yych <= '_') {
20862 			if (yych <= 'N') goto yy1319;
20863 			if (yych <= 'Z') goto yy167;
20864 			if (yych <= '^') goto yy3;
20865 			goto yy172;
20866 		} else {
20867 			if (yych <= 'm') {
20868 				if (yych <= '`') goto yy3;
20869 				goto yy175;
20870 			} else {
20871 				if (yych <= 'n') goto yy1361;
20872 				if (yych <= 'z') goto yy175;
20873 				goto yy3;
20874 			}
20875 		}
20876 	}
20877 yy1358:
20878 	YYDEBUG(1358, *YYCURSOR);
20879 	yyaccept = 4;
20880 	yych = *(YYMARKER = ++YYCURSOR);
20881 	if (yych <= 'C') {
20882 		if (yych <= '-') {
20883 			if (yych == ')') goto yy164;
20884 			if (yych <= ',') goto yy191;
20885 			goto yy172;
20886 		} else {
20887 			if (yych == '/') goto yy172;
20888 			if (yych <= '@') goto yy191;
20889 			goto yy167;
20890 		}
20891 	} else {
20892 		if (yych <= '_') {
20893 			if (yych <= 'D') goto yy1317;
20894 			if (yych <= 'Z') goto yy167;
20895 			if (yych <= '^') goto yy191;
20896 			goto yy172;
20897 		} else {
20898 			if (yych <= 'c') {
20899 				if (yych <= '`') goto yy191;
20900 				goto yy175;
20901 			} else {
20902 				if (yych <= 'd') goto yy1359;
20903 				if (yych <= 'z') goto yy175;
20904 				goto yy191;
20905 			}
20906 		}
20907 	}
20908 yy1359:
20909 	YYDEBUG(1359, *YYCURSOR);
20910 	yyaccept = 0;
20911 	yych = *(YYMARKER = ++YYCURSOR);
20912 	if (yych <= '@') {
20913 		if (yych <= ',') {
20914 			if (yych == ')') goto yy164;
20915 			goto yy3;
20916 		} else {
20917 			if (yych == '.') goto yy3;
20918 			if (yych <= '/') goto yy172;
20919 			goto yy3;
20920 		}
20921 	} else {
20922 		if (yych <= '_') {
20923 			if (yych <= 'A') goto yy1318;
20924 			if (yych <= 'Z') goto yy168;
20925 			if (yych <= '^') goto yy3;
20926 			goto yy172;
20927 		} else {
20928 			if (yych <= '`') goto yy3;
20929 			if (yych <= 'a') goto yy1360;
20930 			if (yych <= 'z') goto yy176;
20931 			goto yy3;
20932 		}
20933 	}
20934 yy1360:
20935 	YYDEBUG(1360, *YYCURSOR);
20936 	yyaccept = 0;
20937 	yych = *(YYMARKER = ++YYCURSOR);
20938 	if (yych <= 'X') {
20939 		if (yych <= '-') {
20940 			if (yych == ')') goto yy164;
20941 			if (yych <= ',') goto yy3;
20942 			goto yy172;
20943 		} else {
20944 			if (yych == '/') goto yy172;
20945 			if (yych <= '@') goto yy3;
20946 			goto yy169;
20947 		}
20948 	} else {
20949 		if (yych <= '_') {
20950 			if (yych <= 'Y') goto yy1225;
20951 			if (yych <= 'Z') goto yy169;
20952 			if (yych <= '^') goto yy3;
20953 			goto yy172;
20954 		} else {
20955 			if (yych <= 'x') {
20956 				if (yych <= '`') goto yy3;
20957 				goto yy177;
20958 			} else {
20959 				if (yych <= 'y') goto yy1254;
20960 				if (yych <= 'z') goto yy177;
20961 				goto yy3;
20962 			}
20963 		}
20964 	}
20965 yy1361:
20966 	YYDEBUG(1361, *YYCURSOR);
20967 	yyaccept = 0;
20968 	yych = *(YYMARKER = ++YYCURSOR);
20969 	if (yych <= 'S') {
20970 		if (yych <= '-') {
20971 			if (yych == ')') goto yy164;
20972 			if (yych <= ',') goto yy3;
20973 			goto yy172;
20974 		} else {
20975 			if (yych == '/') goto yy172;
20976 			if (yych <= '@') goto yy3;
20977 			goto yy168;
20978 		}
20979 	} else {
20980 		if (yych <= '_') {
20981 			if (yych <= 'T') goto yy1320;
20982 			if (yych <= 'Z') goto yy168;
20983 			if (yych <= '^') goto yy3;
20984 			goto yy172;
20985 		} else {
20986 			if (yych <= 's') {
20987 				if (yych <= '`') goto yy3;
20988 				goto yy176;
20989 			} else {
20990 				if (yych <= 't') goto yy1362;
20991 				if (yych <= 'z') goto yy176;
20992 				goto yy3;
20993 			}
20994 		}
20995 	}
20996 yy1362:
20997 	YYDEBUG(1362, *YYCURSOR);
20998 	yyaccept = 0;
20999 	yych = *(YYMARKER = ++YYCURSOR);
21000 	if (yych <= '.') {
21001 		if (yych <= '(') {
21002 			if (yych == ' ') goto yy1321;
21003 			goto yy3;
21004 		} else {
21005 			if (yych <= ')') goto yy164;
21006 			if (yych == '-') goto yy172;
21007 			goto yy3;
21008 		}
21009 	} else {
21010 		if (yych <= '^') {
21011 			if (yych <= '/') goto yy172;
21012 			if (yych <= '@') goto yy3;
21013 			if (yych <= 'Z') goto yy169;
21014 			goto yy3;
21015 		} else {
21016 			if (yych <= '_') goto yy172;
21017 			if (yych <= '`') goto yy3;
21018 			if (yych <= 'z') goto yy177;
21019 			goto yy3;
21020 		}
21021 	}
21022 yy1363:
21023 	YYDEBUG(1363, *YYCURSOR);
21024 	yyaccept = 0;
21025 	yych = *(YYMARKER = ++YYCURSOR);
21026 	if (yych <= 'Q') {
21027 		if (yych <= '-') {
21028 			if (yych == ')') goto yy164;
21029 			if (yych <= ',') goto yy3;
21030 			goto yy172;
21031 		} else {
21032 			if (yych == '/') goto yy172;
21033 			if (yych <= '@') goto yy3;
21034 			goto yy167;
21035 		}
21036 	} else {
21037 		if (yych <= '_') {
21038 			if (yych <= 'R') goto yy1335;
21039 			if (yych <= 'Z') goto yy167;
21040 			if (yych <= '^') goto yy3;
21041 			goto yy172;
21042 		} else {
21043 			if (yych <= 'q') {
21044 				if (yych <= '`') goto yy3;
21045 				goto yy175;
21046 			} else {
21047 				if (yych <= 'r') goto yy1364;
21048 				if (yych <= 'z') goto yy175;
21049 				goto yy3;
21050 			}
21051 		}
21052 	}
21053 yy1364:
21054 	YYDEBUG(1364, *YYCURSOR);
21055 	yyaccept = 0;
21056 	yych = *(YYMARKER = ++YYCURSOR);
21057 	if (yych <= 'S') {
21058 		if (yych <= '-') {
21059 			if (yych == ')') goto yy164;
21060 			if (yych <= ',') goto yy3;
21061 			goto yy172;
21062 		} else {
21063 			if (yych == '/') goto yy172;
21064 			if (yych <= '@') goto yy3;
21065 			goto yy168;
21066 		}
21067 	} else {
21068 		if (yych <= '_') {
21069 			if (yych <= 'T') goto yy1336;
21070 			if (yych <= 'Z') goto yy168;
21071 			if (yych <= '^') goto yy3;
21072 			goto yy172;
21073 		} else {
21074 			if (yych <= 's') {
21075 				if (yych <= '`') goto yy3;
21076 				goto yy176;
21077 			} else {
21078 				if (yych <= 't') goto yy1365;
21079 				if (yych <= 'z') goto yy176;
21080 				goto yy3;
21081 			}
21082 		}
21083 	}
21084 yy1365:
21085 	YYDEBUG(1365, *YYCURSOR);
21086 	yyaccept = 0;
21087 	yych = *(YYMARKER = ++YYCURSOR);
21088 	if (yych <= 'G') {
21089 		if (yych <= '-') {
21090 			if (yych == ')') goto yy164;
21091 			if (yych <= ',') goto yy3;
21092 			goto yy172;
21093 		} else {
21094 			if (yych == '/') goto yy172;
21095 			if (yych <= '@') goto yy3;
21096 			goto yy169;
21097 		}
21098 	} else {
21099 		if (yych <= '_') {
21100 			if (yych <= 'H') goto yy1205;
21101 			if (yych <= 'Z') goto yy169;
21102 			if (yych <= '^') goto yy3;
21103 			goto yy172;
21104 		} else {
21105 			if (yych <= 'g') {
21106 				if (yych <= '`') goto yy3;
21107 				goto yy177;
21108 			} else {
21109 				if (yych <= 'h') goto yy1217;
21110 				if (yych <= 'z') goto yy177;
21111 				goto yy3;
21112 			}
21113 		}
21114 	}
21115 yy1366:
21116 	YYDEBUG(1366, *YYCURSOR);
21117 	yyaccept = 0;
21118 	yych = *(YYMARKER = ++YYCURSOR);
21119 	if (yych <= 'R') {
21120 		if (yych <= '-') {
21121 			if (yych == ')') goto yy164;
21122 			if (yych <= ',') goto yy3;
21123 			goto yy172;
21124 		} else {
21125 			if (yych == '/') goto yy172;
21126 			if (yych <= '@') goto yy3;
21127 			goto yy167;
21128 		}
21129 	} else {
21130 		if (yych <= '_') {
21131 			if (yych <= 'S') goto yy1340;
21132 			if (yych <= 'Z') goto yy167;
21133 			if (yych <= '^') goto yy3;
21134 			goto yy172;
21135 		} else {
21136 			if (yych <= 'r') {
21137 				if (yych <= '`') goto yy3;
21138 				goto yy175;
21139 			} else {
21140 				if (yych <= 's') goto yy1369;
21141 				if (yych <= 'z') goto yy175;
21142 				goto yy3;
21143 			}
21144 		}
21145 	}
21146 yy1367:
21147 	YYDEBUG(1367, *YYCURSOR);
21148 	yyaccept = 0;
21149 	yych = *(YYMARKER = ++YYCURSOR);
21150 	if (yych <= 'S') {
21151 		if (yych <= '-') {
21152 			if (yych == ')') goto yy164;
21153 			if (yych <= ',') goto yy3;
21154 			goto yy172;
21155 		} else {
21156 			if (yych == '/') goto yy172;
21157 			if (yych <= '@') goto yy3;
21158 			goto yy167;
21159 		}
21160 	} else {
21161 		if (yych <= '_') {
21162 			if (yych <= 'T') goto yy1339;
21163 			if (yych <= 'Z') goto yy167;
21164 			if (yych <= '^') goto yy3;
21165 			goto yy172;
21166 		} else {
21167 			if (yych <= 's') {
21168 				if (yych <= '`') goto yy3;
21169 				goto yy175;
21170 			} else {
21171 				if (yych <= 't') goto yy1368;
21172 				if (yych <= 'z') goto yy175;
21173 				goto yy3;
21174 			}
21175 		}
21176 	}
21177 yy1368:
21178 	YYDEBUG(1368, *YYCURSOR);
21179 	yyaccept = 0;
21180 	yych = *(YYMARKER = ++YYCURSOR);
21181 	if (yych <= 'G') {
21182 		if (yych <= '-') {
21183 			if (yych == ')') goto yy164;
21184 			if (yych <= ',') goto yy3;
21185 			goto yy172;
21186 		} else {
21187 			if (yych == '/') goto yy172;
21188 			if (yych <= '@') goto yy3;
21189 			goto yy168;
21190 		}
21191 	} else {
21192 		if (yych <= '_') {
21193 			if (yych <= 'H') goto yy1228;
21194 			if (yych <= 'Z') goto yy168;
21195 			if (yych <= '^') goto yy3;
21196 			goto yy172;
21197 		} else {
21198 			if (yych <= 'g') {
21199 				if (yych <= '`') goto yy3;
21200 				goto yy176;
21201 			} else {
21202 				if (yych <= 'h') goto yy1257;
21203 				if (yych <= 'z') goto yy176;
21204 				goto yy3;
21205 			}
21206 		}
21207 	}
21208 yy1369:
21209 	YYDEBUG(1369, *YYCURSOR);
21210 	yyaccept = 0;
21211 	yych = *(YYMARKER = ++YYCURSOR);
21212 	if (yych <= 'S') {
21213 		if (yych <= '-') {
21214 			if (yych == ')') goto yy164;
21215 			if (yych <= ',') goto yy3;
21216 			goto yy172;
21217 		} else {
21218 			if (yych == '/') goto yy172;
21219 			if (yych <= '@') goto yy3;
21220 			goto yy168;
21221 		}
21222 	} else {
21223 		if (yych <= '_') {
21224 			if (yych <= 'T') goto yy1341;
21225 			if (yych <= 'Z') goto yy168;
21226 			if (yych <= '^') goto yy3;
21227 			goto yy172;
21228 		} else {
21229 			if (yych <= 's') {
21230 				if (yych <= '`') goto yy3;
21231 				goto yy176;
21232 			} else {
21233 				if (yych <= 't') goto yy1370;
21234 				if (yych <= 'z') goto yy176;
21235 				goto yy3;
21236 			}
21237 		}
21238 	}
21239 yy1370:
21240 	YYDEBUG(1370, *YYCURSOR);
21241 	yyaccept = 0;
21242 	yych = *(YYMARKER = ++YYCURSOR);
21243 	if (yych <= '-') {
21244 		if (yych <= ' ') {
21245 			if (yych == '\t') goto yy1196;
21246 			if (yych <= 0x1F) goto yy3;
21247 			goto yy1342;
21248 		} else {
21249 			if (yych == ')') goto yy164;
21250 			if (yych <= ',') goto yy3;
21251 			goto yy172;
21252 		}
21253 	} else {
21254 		if (yych <= 'Z') {
21255 			if (yych == '/') goto yy172;
21256 			if (yych <= '@') goto yy3;
21257 			goto yy169;
21258 		} else {
21259 			if (yych <= '_') {
21260 				if (yych <= '^') goto yy3;
21261 				goto yy172;
21262 			} else {
21263 				if (yych <= '`') goto yy3;
21264 				if (yych <= 'z') goto yy177;
21265 				goto yy3;
21266 			}
21267 		}
21268 	}
21269 yy1371:
21270 	YYDEBUG(1371, *YYCURSOR);
21271 	yyaccept = 5;
21272 	yych = *(YYMARKER = ++YYCURSOR);
21273 	if (yych <= '9') {
21274 		if (yych <= '(') {
21275 			if (yych <= '\t') {
21276 				if (yych <= 0x08) goto yy218;
21277 				goto yy220;
21278 			} else {
21279 				if (yych == ' ') goto yy220;
21280 				goto yy218;
21281 			}
21282 		} else {
21283 			if (yych <= '-') {
21284 				if (yych <= ')') goto yy164;
21285 				if (yych <= ',') goto yy218;
21286 				goto yy336;
21287 			} else {
21288 				if (yych == '/') goto yy172;
21289 				goto yy220;
21290 			}
21291 		}
21292 	} else {
21293 		if (yych <= '^') {
21294 			if (yych <= 'Q') {
21295 				if (yych <= '@') goto yy218;
21296 				goto yy167;
21297 			} else {
21298 				if (yych <= 'R') goto yy1349;
21299 				if (yych <= 'Z') goto yy167;
21300 				goto yy218;
21301 			}
21302 		} else {
21303 			if (yych <= 'q') {
21304 				if (yych <= '_') goto yy172;
21305 				if (yych <= '`') goto yy218;
21306 				goto yy175;
21307 			} else {
21308 				if (yych <= 'r') goto yy1372;
21309 				if (yych <= 'z') goto yy175;
21310 				goto yy218;
21311 			}
21312 		}
21313 	}
21314 yy1372:
21315 	YYDEBUG(1372, *YYCURSOR);
21316 	yyaccept = 0;
21317 	yych = *(YYMARKER = ++YYCURSOR);
21318 	if (yych <= 'T') {
21319 		if (yych <= '-') {
21320 			if (yych == ')') goto yy164;
21321 			if (yych <= ',') goto yy3;
21322 			goto yy172;
21323 		} else {
21324 			if (yych == '/') goto yy172;
21325 			if (yych <= '@') goto yy3;
21326 			goto yy168;
21327 		}
21328 	} else {
21329 		if (yych <= '_') {
21330 			if (yych <= 'U') goto yy1350;
21331 			if (yych <= 'Z') goto yy168;
21332 			if (yych <= '^') goto yy3;
21333 			goto yy172;
21334 		} else {
21335 			if (yych <= 't') {
21336 				if (yych <= '`') goto yy3;
21337 				goto yy176;
21338 			} else {
21339 				if (yych <= 'u') goto yy1373;
21340 				if (yych <= 'z') goto yy176;
21341 				goto yy3;
21342 			}
21343 		}
21344 	}
21345 yy1373:
21346 	YYDEBUG(1373, *YYCURSOR);
21347 	yyaccept = 0;
21348 	yych = *(YYMARKER = ++YYCURSOR);
21349 	if (yych <= '@') {
21350 		if (yych <= ',') {
21351 			if (yych == ')') goto yy164;
21352 			goto yy3;
21353 		} else {
21354 			if (yych == '.') goto yy3;
21355 			if (yych <= '/') goto yy172;
21356 			goto yy3;
21357 		}
21358 	} else {
21359 		if (yych <= '_') {
21360 			if (yych <= 'A') goto yy1351;
21361 			if (yych <= 'Z') goto yy169;
21362 			if (yych <= '^') goto yy3;
21363 			goto yy172;
21364 		} else {
21365 			if (yych <= '`') goto yy3;
21366 			if (yych <= 'a') goto yy1374;
21367 			if (yych <= 'z') goto yy177;
21368 			goto yy3;
21369 		}
21370 	}
21371 yy1374:
21372 	YYDEBUG(1374, *YYCURSOR);
21373 	yyaccept = 0;
21374 	yych = *(YYMARKER = ++YYCURSOR);
21375 	if (yych <= 'Q') {
21376 		if (yych <= ',') {
21377 			if (yych == ')') goto yy164;
21378 			goto yy3;
21379 		} else {
21380 			if (yych == '.') goto yy3;
21381 			if (yych <= '/') goto yy172;
21382 			goto yy3;
21383 		}
21384 	} else {
21385 		if (yych <= '`') {
21386 			if (yych <= 'R') goto yy1352;
21387 			if (yych == '_') goto yy172;
21388 			goto yy3;
21389 		} else {
21390 			if (yych == 'r') goto yy1375;
21391 			if (yych <= 'z') goto yy178;
21392 			goto yy3;
21393 		}
21394 	}
21395 yy1375:
21396 	YYDEBUG(1375, *YYCURSOR);
21397 	yych = *++YYCURSOR;
21398 	if (yych == 'Y') goto yy229;
21399 	if (yych == 'y') goto yy341;
21400 	goto yy179;
21401 yy1376:
21402 	YYDEBUG(1376, *YYCURSOR);
21403 	yych = *++YYCURSOR;
21404 	if (yych <= '/') goto yy56;
21405 	if (yych >= ':') goto yy56;
21406 yy1377:
21407 	YYDEBUG(1377, *YYCURSOR);
21408 	yyaccept = 28;
21409 	YYMARKER = ++YYCURSOR;
21410 	if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
21411 	yych = *YYCURSOR;
21412 	YYDEBUG(1378, *YYCURSOR);
21413 	if (yych == '.') goto yy1380;
21414 	if (yych <= '/') goto yy1379;
21415 	if (yych <= '9') goto yy1377;
21416 yy1379:
21417 	YYDEBUG(1379, *YYCURSOR);
21418 #line 1025 "ext/date/lib/parse_date.re"
21419 	{
21420 		timelib_ull i;
21421 
21422 		TIMELIB_INIT;
21423 		TIMELIB_HAVE_RELATIVE();
21424 		TIMELIB_UNHAVE_DATE();
21425 		TIMELIB_UNHAVE_TIME();
21426 		TIMELIB_HAVE_TZ();
21427 
21428 		i = timelib_get_unsigned_nr((char **) &ptr, 24);
21429 		s->time->y = 1970;
21430 		s->time->m = 1;
21431 		s->time->d = 1;
21432 		s->time->h = s->time->i = s->time->s = 0;
21433 		s->time->f = 0.0;
21434 		s->time->relative.s += i;
21435 		s->time->is_localtime = 1;
21436 		s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
21437 		s->time->z = 0;
21438 		s->time->dst = 0;
21439 
21440 		TIMELIB_DEINIT;
21441 		return TIMELIB_RELATIVE;
21442 	}
21443 #line 21444 "<stdout>"
21444 yy1380:
21445 	YYDEBUG(1380, *YYCURSOR);
21446 	yych = *++YYCURSOR;
21447 	if (yych <= '/') goto yy56;
21448 	if (yych >= ':') goto yy56;
21449 	YYDEBUG(1381, *YYCURSOR);
21450 	yych = *++YYCURSOR;
21451 	if (yych <= '/') goto yy56;
21452 	if (yych >= ':') goto yy56;
21453 	YYDEBUG(1382, *YYCURSOR);
21454 	yych = *++YYCURSOR;
21455 	if (yych <= '/') goto yy56;
21456 	if (yych >= ':') goto yy56;
21457 	YYDEBUG(1383, *YYCURSOR);
21458 	yych = *++YYCURSOR;
21459 	if (yych <= '/') goto yy56;
21460 	if (yych >= ':') goto yy56;
21461 	YYDEBUG(1384, *YYCURSOR);
21462 	yych = *++YYCURSOR;
21463 	if (yych <= '/') goto yy56;
21464 	if (yych >= ':') goto yy56;
21465 	YYDEBUG(1385, *YYCURSOR);
21466 	yych = *++YYCURSOR;
21467 	if (yych <= '/') goto yy56;
21468 	if (yych >= ':') goto yy56;
21469 	YYDEBUG(1386, *YYCURSOR);
21470 	++YYCURSOR;
21471 	YYDEBUG(1387, *YYCURSOR);
21472 #line 1051 "ext/date/lib/parse_date.re"
21473 	{
21474 		timelib_ull i, ms;
21475 
21476 		TIMELIB_INIT;
21477 		TIMELIB_HAVE_RELATIVE();
21478 		TIMELIB_UNHAVE_DATE();
21479 		TIMELIB_UNHAVE_TIME();
21480 		TIMELIB_HAVE_TZ();
21481 
21482 		i = timelib_get_unsigned_nr((char **) &ptr, 24);
21483 		ms = timelib_get_unsigned_nr((char **) &ptr, 24);
21484 		s->time->y = 1970;
21485 		s->time->m = 1;
21486 		s->time->d = 1;
21487 		s->time->h = s->time->i = s->time->s = 0;
21488 		s->time->f = 0.0;
21489 		s->time->relative.s += i;
21490 		s->time->relative.f = ((double) ms) / 1000000.0;
21491 		s->time->is_localtime = 1;
21492 		s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
21493 		s->time->z = 0;
21494 		s->time->dst = 0;
21495 
21496 		TIMELIB_DEINIT;
21497 		return TIMELIB_RELATIVE;
21498 	}
21499 #line 21500 "<stdout>"
21500 yy1388:
21501 	YYDEBUG(1388, *YYCURSOR);
21502 	yych = *++YYCURSOR;
21503 	if (yych <= 'N') {
21504 		if (yych <= ')') {
21505 			if (yych <= '(') goto yy3;
21506 			goto yy164;
21507 		} else {
21508 			if (yych <= '@') goto yy3;
21509 			if (yych <= 'M') goto yy166;
21510 			goto yy1429;
21511 		}
21512 	} else {
21513 		if (yych <= 'm') {
21514 			if (yych <= 'Z') goto yy166;
21515 			if (yych <= '`') goto yy3;
21516 			goto yy166;
21517 		} else {
21518 			if (yych <= 'n') goto yy1429;
21519 			if (yych <= 'z') goto yy166;
21520 			goto yy3;
21521 		}
21522 	}
21523 yy1389:
21524 	YYDEBUG(1389, *YYCURSOR);
21525 	yych = *++YYCURSOR;
21526 	if (yych <= 'U') {
21527 		if (yych <= '@') {
21528 			if (yych == ')') goto yy164;
21529 			goto yy3;
21530 		} else {
21531 			if (yych == 'I') goto yy1421;
21532 			if (yych <= 'T') goto yy166;
21533 			goto yy1422;
21534 		}
21535 	} else {
21536 		if (yych <= 'i') {
21537 			if (yych <= 'Z') goto yy166;
21538 			if (yych <= '`') goto yy3;
21539 			if (yych <= 'h') goto yy166;
21540 			goto yy1421;
21541 		} else {
21542 			if (yych == 'u') goto yy1422;
21543 			if (yych <= 'z') goto yy166;
21544 			goto yy3;
21545 		}
21546 	}
21547 yy1390:
21548 	YYDEBUG(1390, *YYCURSOR);
21549 	yych = *++YYCURSOR;
21550 	if (yych <= 'M') {
21551 		if (yych <= '@') {
21552 			if (yych == ')') goto yy164;
21553 			goto yy3;
21554 		} else {
21555 			if (yych == 'D') goto yy1410;
21556 			if (yych <= 'L') goto yy166;
21557 			goto yy1411;
21558 		}
21559 	} else {
21560 		if (yych <= 'd') {
21561 			if (yych <= 'Z') goto yy166;
21562 			if (yych <= '`') goto yy3;
21563 			if (yych <= 'c') goto yy166;
21564 			goto yy1410;
21565 		} else {
21566 			if (yych == 'm') goto yy1411;
21567 			if (yych <= 'z') goto yy166;
21568 			goto yy3;
21569 		}
21570 	}
21571 yy1391:
21572 	YYDEBUG(1391, *YYCURSOR);
21573 	yych = *++YYCURSOR;
21574 	if (yych <= 'E') {
21575 		if (yych <= ')') {
21576 			if (yych <= '(') goto yy3;
21577 			goto yy164;
21578 		} else {
21579 			if (yych <= '@') goto yy3;
21580 			if (yych <= 'D') goto yy166;
21581 			goto yy1406;
21582 		}
21583 	} else {
21584 		if (yych <= 'd') {
21585 			if (yych <= 'Z') goto yy166;
21586 			if (yych <= '`') goto yy3;
21587 			goto yy166;
21588 		} else {
21589 			if (yych <= 'e') goto yy1406;
21590 			if (yych <= 'z') goto yy166;
21591 			goto yy3;
21592 		}
21593 	}
21594 yy1392:
21595 	YYDEBUG(1392, *YYCURSOR);
21596 	yych = *++YYCURSOR;
21597 	if (yych <= 'E') {
21598 		if (yych <= ')') {
21599 			if (yych <= '(') goto yy3;
21600 			goto yy164;
21601 		} else {
21602 			if (yych <= '@') goto yy3;
21603 			if (yych <= 'D') goto yy166;
21604 			goto yy1402;
21605 		}
21606 	} else {
21607 		if (yych <= 'd') {
21608 			if (yych <= 'Z') goto yy166;
21609 			if (yych <= '`') goto yy3;
21610 			goto yy166;
21611 		} else {
21612 			if (yych <= 'e') goto yy1402;
21613 			if (yych <= 'z') goto yy166;
21614 			goto yy3;
21615 		}
21616 	}
21617 yy1393:
21618 	YYDEBUG(1393, *YYCURSOR);
21619 	yych = *++YYCURSOR;
21620 	if (yych <= '/') {
21621 		if (yych == '.') goto yy1029;
21622 		goto yy56;
21623 	} else {
21624 		if (yych <= '9') goto yy1396;
21625 		if (yych <= ':') goto yy1029;
21626 		goto yy56;
21627 	}
21628 yy1394:
21629 	YYDEBUG(1394, *YYCURSOR);
21630 	yych = *++YYCURSOR;
21631 	if (yych <= '/') {
21632 		if (yych == '.') goto yy1029;
21633 		goto yy56;
21634 	} else {
21635 		if (yych <= '4') goto yy1396;
21636 		if (yych == ':') goto yy1029;
21637 		goto yy56;
21638 	}
21639 yy1395:
21640 	YYDEBUG(1395, *YYCURSOR);
21641 	yych = *++YYCURSOR;
21642 	if (yych == '.') goto yy1029;
21643 	if (yych == ':') goto yy1029;
21644 	goto yy56;
21645 yy1396:
21646 	YYDEBUG(1396, *YYCURSOR);
21647 	yych = *++YYCURSOR;
21648 	if (yych <= '/') {
21649 		if (yych == '.') goto yy1029;
21650 		goto yy56;
21651 	} else {
21652 		if (yych <= '5') goto yy1397;
21653 		if (yych == ':') goto yy1029;
21654 		goto yy56;
21655 	}
21656 yy1397:
21657 	YYDEBUG(1397, *YYCURSOR);
21658 	yych = *++YYCURSOR;
21659 	if (yych <= '/') goto yy56;
21660 	if (yych >= ':') goto yy56;
21661 	YYDEBUG(1398, *YYCURSOR);
21662 	yyaccept = 23;
21663 	yych = *(YYMARKER = ++YYCURSOR);
21664 	if (yych <= '/') goto yy1032;
21665 	if (yych <= '5') goto yy1399;
21666 	if (yych <= '6') goto yy1400;
21667 	goto yy1032;
21668 yy1399:
21669 	YYDEBUG(1399, *YYCURSOR);
21670 	yych = *++YYCURSOR;
21671 	if (yych <= '/') goto yy56;
21672 	if (yych <= '9') goto yy1401;
21673 	goto yy56;
21674 yy1400:
21675 	YYDEBUG(1400, *YYCURSOR);
21676 	yych = *++YYCURSOR;
21677 	if (yych != '0') goto yy56;
21678 yy1401:
21679 	YYDEBUG(1401, *YYCURSOR);
21680 	yych = *++YYCURSOR;
21681 	goto yy1040;
21682 yy1402:
21683 	YYDEBUG(1402, *YYCURSOR);
21684 	yych = *++YYCURSOR;
21685 	if (yych <= 'L') {
21686 		if (yych <= ')') {
21687 			if (yych <= '(') goto yy3;
21688 			goto yy164;
21689 		} else {
21690 			if (yych <= '@') goto yy3;
21691 			if (yych <= 'K') goto yy167;
21692 		}
21693 	} else {
21694 		if (yych <= 'k') {
21695 			if (yych <= 'Z') goto yy167;
21696 			if (yych <= '`') goto yy3;
21697 			goto yy167;
21698 		} else {
21699 			if (yych <= 'l') goto yy1403;
21700 			if (yych <= 'z') goto yy167;
21701 			goto yy3;
21702 		}
21703 	}
21704 yy1403:
21705 	YYDEBUG(1403, *YYCURSOR);
21706 	yych = *++YYCURSOR;
21707 	if (yych <= 'F') {
21708 		if (yych <= ')') {
21709 			if (yych <= '(') goto yy3;
21710 			goto yy164;
21711 		} else {
21712 			if (yych <= '@') goto yy3;
21713 			if (yych <= 'E') goto yy168;
21714 		}
21715 	} else {
21716 		if (yych <= 'e') {
21717 			if (yych <= 'Z') goto yy168;
21718 			if (yych <= '`') goto yy3;
21719 			goto yy168;
21720 		} else {
21721 			if (yych <= 'f') goto yy1404;
21722 			if (yych <= 'z') goto yy168;
21723 			goto yy3;
21724 		}
21725 	}
21726 yy1404:
21727 	YYDEBUG(1404, *YYCURSOR);
21728 	yych = *++YYCURSOR;
21729 	if (yych <= 'T') {
21730 		if (yych <= ')') {
21731 			if (yych <= '(') goto yy3;
21732 			goto yy164;
21733 		} else {
21734 			if (yych <= '@') goto yy3;
21735 			if (yych <= 'S') goto yy169;
21736 		}
21737 	} else {
21738 		if (yych <= 's') {
21739 			if (yych <= 'Z') goto yy169;
21740 			if (yych <= '`') goto yy3;
21741 			goto yy169;
21742 		} else {
21743 			if (yych <= 't') goto yy1405;
21744 			if (yych <= 'z') goto yy169;
21745 			goto yy3;
21746 		}
21747 	}
21748 yy1405:
21749 	YYDEBUG(1405, *YYCURSOR);
21750 	yyaccept = 0;
21751 	yych = *(YYMARKER = ++YYCURSOR);
21752 	if (yych <= 'G') {
21753 		if (yych == ')') goto yy164;
21754 		goto yy3;
21755 	} else {
21756 		if (yych <= 'H') goto yy1195;
21757 		if (yych == 'h') goto yy1195;
21758 		goto yy3;
21759 	}
21760 yy1406:
21761 	YYDEBUG(1406, *YYCURSOR);
21762 	yych = *++YYCURSOR;
21763 	if (yych <= 'S') {
21764 		if (yych <= ')') {
21765 			if (yych <= '(') goto yy191;
21766 			goto yy164;
21767 		} else {
21768 			if (yych <= '@') goto yy191;
21769 			if (yych <= 'R') goto yy167;
21770 		}
21771 	} else {
21772 		if (yych <= 'r') {
21773 			if (yych <= 'Z') goto yy167;
21774 			if (yych <= '`') goto yy191;
21775 			goto yy167;
21776 		} else {
21777 			if (yych <= 's') goto yy1407;
21778 			if (yych <= 'z') goto yy167;
21779 			goto yy191;
21780 		}
21781 	}
21782 yy1407:
21783 	YYDEBUG(1407, *YYCURSOR);
21784 	yych = *++YYCURSOR;
21785 	if (yych <= 'D') {
21786 		if (yych <= ')') {
21787 			if (yych <= '(') goto yy3;
21788 			goto yy164;
21789 		} else {
21790 			if (yych <= '@') goto yy3;
21791 			if (yych <= 'C') goto yy168;
21792 		}
21793 	} else {
21794 		if (yych <= 'c') {
21795 			if (yych <= 'Z') goto yy168;
21796 			if (yych <= '`') goto yy3;
21797 			goto yy168;
21798 		} else {
21799 			if (yych <= 'd') goto yy1408;
21800 			if (yych <= 'z') goto yy168;
21801 			goto yy3;
21802 		}
21803 	}
21804 yy1408:
21805 	YYDEBUG(1408, *YYCURSOR);
21806 	yych = *++YYCURSOR;
21807 	if (yych <= 'A') {
21808 		if (yych == ')') goto yy164;
21809 		if (yych <= '@') goto yy3;
21810 	} else {
21811 		if (yych <= '`') {
21812 			if (yych <= 'Z') goto yy169;
21813 			goto yy3;
21814 		} else {
21815 			if (yych <= 'a') goto yy1409;
21816 			if (yych <= 'z') goto yy169;
21817 			goto yy3;
21818 		}
21819 	}
21820 yy1409:
21821 	YYDEBUG(1409, *YYCURSOR);
21822 	yych = *++YYCURSOR;
21823 	if (yych <= 'X') {
21824 		if (yych == ')') goto yy164;
21825 		goto yy3;
21826 	} else {
21827 		if (yych <= 'Y') goto yy197;
21828 		if (yych == 'y') goto yy197;
21829 		goto yy3;
21830 	}
21831 yy1410:
21832 	YYDEBUG(1410, *YYCURSOR);
21833 	yych = *++YYCURSOR;
21834 	if (yych <= 'A') {
21835 		if (yych == ')') goto yy164;
21836 		if (yych <= '@') goto yy3;
21837 		goto yy1418;
21838 	} else {
21839 		if (yych <= '`') {
21840 			if (yych <= 'Z') goto yy167;
21841 			goto yy3;
21842 		} else {
21843 			if (yych <= 'a') goto yy1418;
21844 			if (yych <= 'z') goto yy167;
21845 			goto yy3;
21846 		}
21847 	}
21848 yy1411:
21849 	YYDEBUG(1411, *YYCURSOR);
21850 	yych = *++YYCURSOR;
21851 	if (yych <= 'O') {
21852 		if (yych <= ')') {
21853 			if (yych <= '(') goto yy3;
21854 			goto yy164;
21855 		} else {
21856 			if (yych <= '@') goto yy3;
21857 			if (yych <= 'N') goto yy167;
21858 		}
21859 	} else {
21860 		if (yych <= 'n') {
21861 			if (yych <= 'Z') goto yy167;
21862 			if (yych <= '`') goto yy3;
21863 			goto yy167;
21864 		} else {
21865 			if (yych <= 'o') goto yy1412;
21866 			if (yych <= 'z') goto yy167;
21867 			goto yy3;
21868 		}
21869 	}
21870 yy1412:
21871 	YYDEBUG(1412, *YYCURSOR);
21872 	yych = *++YYCURSOR;
21873 	if (yych <= 'R') {
21874 		if (yych <= ')') {
21875 			if (yych <= '(') goto yy3;
21876 			goto yy164;
21877 		} else {
21878 			if (yych <= '@') goto yy3;
21879 			if (yych <= 'Q') goto yy168;
21880 		}
21881 	} else {
21882 		if (yych <= 'q') {
21883 			if (yych <= 'Z') goto yy168;
21884 			if (yych <= '`') goto yy3;
21885 			goto yy168;
21886 		} else {
21887 			if (yych <= 'r') goto yy1413;
21888 			if (yych <= 'z') goto yy168;
21889 			goto yy3;
21890 		}
21891 	}
21892 yy1413:
21893 	YYDEBUG(1413, *YYCURSOR);
21894 	yych = *++YYCURSOR;
21895 	if (yych <= 'R') {
21896 		if (yych <= ')') {
21897 			if (yych <= '(') goto yy3;
21898 			goto yy164;
21899 		} else {
21900 			if (yych <= '@') goto yy3;
21901 			if (yych <= 'Q') goto yy169;
21902 		}
21903 	} else {
21904 		if (yych <= 'q') {
21905 			if (yych <= 'Z') goto yy169;
21906 			if (yych <= '`') goto yy3;
21907 			goto yy169;
21908 		} else {
21909 			if (yych <= 'r') goto yy1414;
21910 			if (yych <= 'z') goto yy169;
21911 			goto yy3;
21912 		}
21913 	}
21914 yy1414:
21915 	YYDEBUG(1414, *YYCURSOR);
21916 	yyaccept = 0;
21917 	yych = *(YYMARKER = ++YYCURSOR);
21918 	if (yych <= 'N') {
21919 		if (yych == ')') goto yy164;
21920 		goto yy3;
21921 	} else {
21922 		if (yych <= 'O') goto yy1415;
21923 		if (yych != 'o') goto yy3;
21924 	}
21925 yy1415:
21926 	YYDEBUG(1415, *YYCURSOR);
21927 	yych = *++YYCURSOR;
21928 	if (yych == 'W') goto yy1416;
21929 	if (yych != 'w') goto yy56;
21930 yy1416:
21931 	YYDEBUG(1416, *YYCURSOR);
21932 	++YYCURSOR;
21933 yy1417:
21934 	YYDEBUG(1417, *YYCURSOR);
21935 #line 1013 "ext/date/lib/parse_date.re"
21936 	{
21937 		DEBUG_OUTPUT("tomorrow");
21938 		TIMELIB_INIT;
21939 		TIMELIB_HAVE_RELATIVE();
21940 		TIMELIB_UNHAVE_TIME();
21941 
21942 		s->time->relative.d = 1;
21943 		TIMELIB_DEINIT;
21944 		return TIMELIB_RELATIVE;
21945 	}
21946 #line 21947 "<stdout>"
21947 yy1418:
21948 	YYDEBUG(1418, *YYCURSOR);
21949 	yych = *++YYCURSOR;
21950 	if (yych <= 'Y') {
21951 		if (yych <= ')') {
21952 			if (yych <= '(') goto yy3;
21953 			goto yy164;
21954 		} else {
21955 			if (yych <= '@') goto yy3;
21956 			if (yych <= 'X') goto yy168;
21957 		}
21958 	} else {
21959 		if (yych <= 'x') {
21960 			if (yych <= 'Z') goto yy168;
21961 			if (yych <= '`') goto yy3;
21962 			goto yy168;
21963 		} else {
21964 			if (yych <= 'y') goto yy1419;
21965 			if (yych <= 'z') goto yy168;
21966 			goto yy3;
21967 		}
21968 	}
21969 yy1419:
21970 	YYDEBUG(1419, *YYCURSOR);
21971 	++YYCURSOR;
21972 	if ((yych = *YYCURSOR) <= '@') {
21973 		if (yych == ')') goto yy164;
21974 	} else {
21975 		if (yych <= 'Z') goto yy169;
21976 		if (yych <= '`') goto yy1420;
21977 		if (yych <= 'z') goto yy169;
21978 	}
21979 yy1420:
21980 	YYDEBUG(1420, *YYCURSOR);
21981 #line 1003 "ext/date/lib/parse_date.re"
21982 	{
21983 		DEBUG_OUTPUT("midnight | today");
21984 		TIMELIB_INIT;
21985 		TIMELIB_UNHAVE_TIME();
21986 
21987 		TIMELIB_DEINIT;
21988 		return TIMELIB_RELATIVE;
21989 	}
21990 #line 21991 "<stdout>"
21991 yy1421:
21992 	YYDEBUG(1421, *YYCURSOR);
21993 	yych = *++YYCURSOR;
21994 	if (yych <= 'S') {
21995 		if (yych <= '@') {
21996 			if (yych == ')') goto yy164;
21997 			goto yy3;
21998 		} else {
21999 			if (yych <= 'Q') goto yy167;
22000 			if (yych <= 'R') goto yy1427;
22001 			goto yy1428;
22002 		}
22003 	} else {
22004 		if (yych <= 'q') {
22005 			if (yych <= 'Z') goto yy167;
22006 			if (yych <= '`') goto yy3;
22007 			goto yy167;
22008 		} else {
22009 			if (yych <= 'r') goto yy1427;
22010 			if (yych <= 's') goto yy1428;
22011 			if (yych <= 'z') goto yy167;
22012 			goto yy3;
22013 		}
22014 	}
22015 yy1422:
22016 	YYDEBUG(1422, *YYCURSOR);
22017 	yych = *++YYCURSOR;
22018 	if (yych <= 'R') {
22019 		if (yych <= ')') {
22020 			if (yych <= '(') goto yy191;
22021 			goto yy164;
22022 		} else {
22023 			if (yych <= '@') goto yy191;
22024 			if (yych <= 'Q') goto yy167;
22025 		}
22026 	} else {
22027 		if (yych <= 'q') {
22028 			if (yych <= 'Z') goto yy167;
22029 			if (yych <= '`') goto yy191;
22030 			goto yy167;
22031 		} else {
22032 			if (yych <= 'r') goto yy1423;
22033 			if (yych <= 'z') goto yy167;
22034 			goto yy191;
22035 		}
22036 	}
22037 yy1423:
22038 	YYDEBUG(1423, *YYCURSOR);
22039 	yych = *++YYCURSOR;
22040 	if (yych <= 'S') {
22041 		if (yych <= ')') {
22042 			if (yych <= '(') goto yy3;
22043 			goto yy164;
22044 		} else {
22045 			if (yych <= '@') goto yy3;
22046 			if (yych <= 'R') goto yy168;
22047 		}
22048 	} else {
22049 		if (yych <= 'r') {
22050 			if (yych <= 'Z') goto yy168;
22051 			if (yych <= '`') goto yy3;
22052 			goto yy168;
22053 		} else {
22054 			if (yych <= 's') goto yy1424;
22055 			if (yych <= 'z') goto yy168;
22056 			goto yy3;
22057 		}
22058 	}
22059 yy1424:
22060 	YYDEBUG(1424, *YYCURSOR);
22061 	yych = *++YYCURSOR;
22062 	if (yych <= 'D') {
22063 		if (yych <= ')') {
22064 			if (yych <= '(') goto yy3;
22065 			goto yy164;
22066 		} else {
22067 			if (yych <= '@') goto yy3;
22068 			if (yych <= 'C') goto yy169;
22069 		}
22070 	} else {
22071 		if (yych <= 'c') {
22072 			if (yych <= 'Z') goto yy169;
22073 			if (yych <= '`') goto yy3;
22074 			goto yy169;
22075 		} else {
22076 			if (yych <= 'd') goto yy1425;
22077 			if (yych <= 'z') goto yy169;
22078 			goto yy3;
22079 		}
22080 	}
22081 yy1425:
22082 	YYDEBUG(1425, *YYCURSOR);
22083 	yyaccept = 0;
22084 	yych = *(YYMARKER = ++YYCURSOR);
22085 	if (yych <= '@') {
22086 		if (yych == ')') goto yy164;
22087 		goto yy3;
22088 	} else {
22089 		if (yych <= 'A') goto yy1426;
22090 		if (yych != 'a') goto yy3;
22091 	}
22092 yy1426:
22093 	YYDEBUG(1426, *YYCURSOR);
22094 	yych = *++YYCURSOR;
22095 	if (yych == 'Y') goto yy197;
22096 	if (yych == 'y') goto yy197;
22097 	goto yy56;
22098 yy1427:
22099 	YYDEBUG(1427, *YYCURSOR);
22100 	yych = *++YYCURSOR;
22101 	if (yych <= 'D') {
22102 		if (yych <= ')') {
22103 			if (yych <= '(') goto yy3;
22104 			goto yy164;
22105 		} else {
22106 			if (yych <= '@') goto yy3;
22107 			if (yych <= 'C') goto yy168;
22108 			goto yy1228;
22109 		}
22110 	} else {
22111 		if (yych <= 'c') {
22112 			if (yych <= 'Z') goto yy168;
22113 			if (yych <= '`') goto yy3;
22114 			goto yy168;
22115 		} else {
22116 			if (yych <= 'd') goto yy1228;
22117 			if (yych <= 'z') goto yy168;
22118 			goto yy3;
22119 		}
22120 	}
22121 yy1428:
22122 	YYDEBUG(1428, *YYCURSOR);
22123 	yyaccept = 0;
22124 	yych = *(YYMARKER = ++YYCURSOR);
22125 	if (yych <= '(') {
22126 		if (yych <= '\t') {
22127 			if (yych <= 0x08) goto yy3;
22128 			goto yy1069;
22129 		} else {
22130 			if (yych == ' ') goto yy1069;
22131 			goto yy3;
22132 		}
22133 	} else {
22134 		if (yych <= 'Z') {
22135 			if (yych <= ')') goto yy164;
22136 			if (yych <= '@') goto yy3;
22137 			goto yy168;
22138 		} else {
22139 			if (yych <= '`') goto yy3;
22140 			if (yych <= 'z') goto yy168;
22141 			goto yy3;
22142 		}
22143 	}
22144 yy1429:
22145 	YYDEBUG(1429, *YYCURSOR);
22146 	yych = *++YYCURSOR;
22147 	if (yych <= 'T') {
22148 		if (yych <= ')') {
22149 			if (yych <= '(') goto yy3;
22150 			goto yy164;
22151 		} else {
22152 			if (yych <= '@') goto yy3;
22153 			if (yych <= 'S') goto yy167;
22154 		}
22155 	} else {
22156 		if (yych <= 's') {
22157 			if (yych <= 'Z') goto yy167;
22158 			if (yych <= '`') goto yy3;
22159 			goto yy167;
22160 		} else {
22161 			if (yych <= 't') goto yy1430;
22162 			if (yych <= 'z') goto yy167;
22163 			goto yy3;
22164 		}
22165 	}
22166 yy1430:
22167 	YYDEBUG(1430, *YYCURSOR);
22168 	yych = *++YYCURSOR;
22169 	if (yych <= 'H') {
22170 		if (yych <= ')') {
22171 			if (yych <= '(') goto yy3;
22172 			goto yy164;
22173 		} else {
22174 			if (yych <= '@') goto yy3;
22175 			if (yych <= 'G') goto yy168;
22176 			goto yy1228;
22177 		}
22178 	} else {
22179 		if (yych <= 'g') {
22180 			if (yych <= 'Z') goto yy168;
22181 			if (yych <= '`') goto yy3;
22182 			goto yy168;
22183 		} else {
22184 			if (yych <= 'h') goto yy1228;
22185 			if (yych <= 'z') goto yy168;
22186 			goto yy3;
22187 		}
22188 	}
22189 yy1431:
22190 	YYDEBUG(1431, *YYCURSOR);
22191 	yyaccept = 0;
22192 	yych = *(YYMARKER = ++YYCURSOR);
22193 	if (yych <= 'M') {
22194 		if (yych <= '-') {
22195 			if (yych == ')') goto yy164;
22196 			if (yych <= ',') goto yy3;
22197 			goto yy172;
22198 		} else {
22199 			if (yych == '/') goto yy172;
22200 			if (yych <= '@') goto yy3;
22201 			goto yy166;
22202 		}
22203 	} else {
22204 		if (yych <= '_') {
22205 			if (yych <= 'N') goto yy1429;
22206 			if (yych <= 'Z') goto yy166;
22207 			if (yych <= '^') goto yy3;
22208 			goto yy172;
22209 		} else {
22210 			if (yych <= 'm') {
22211 				if (yych <= '`') goto yy3;
22212 				goto yy171;
22213 			} else {
22214 				if (yych <= 'n') goto yy1461;
22215 				if (yych <= 'z') goto yy171;
22216 				goto yy3;
22217 			}
22218 		}
22219 	}
22220 yy1432:
22221 	YYDEBUG(1432, *YYCURSOR);
22222 	yyaccept = 0;
22223 	yych = *(YYMARKER = ++YYCURSOR);
22224 	if (yych <= 'T') {
22225 		if (yych <= '.') {
22226 			if (yych <= ')') {
22227 				if (yych <= '(') goto yy3;
22228 				goto yy164;
22229 			} else {
22230 				if (yych == '-') goto yy172;
22231 				goto yy3;
22232 			}
22233 		} else {
22234 			if (yych <= '@') {
22235 				if (yych <= '/') goto yy172;
22236 				goto yy3;
22237 			} else {
22238 				if (yych == 'I') goto yy1421;
22239 				goto yy166;
22240 			}
22241 		}
22242 	} else {
22243 		if (yych <= '`') {
22244 			if (yych <= 'Z') {
22245 				if (yych <= 'U') goto yy1422;
22246 				goto yy166;
22247 			} else {
22248 				if (yych == '_') goto yy172;
22249 				goto yy3;
22250 			}
22251 		} else {
22252 			if (yych <= 't') {
22253 				if (yych == 'i') goto yy1453;
22254 				goto yy171;
22255 			} else {
22256 				if (yych <= 'u') goto yy1454;
22257 				if (yych <= 'z') goto yy171;
22258 				goto yy3;
22259 			}
22260 		}
22261 	}
22262 yy1433:
22263 	YYDEBUG(1433, *YYCURSOR);
22264 	yyaccept = 0;
22265 	yych = *(YYMARKER = ++YYCURSOR);
22266 	if (yych <= 'L') {
22267 		if (yych <= '.') {
22268 			if (yych <= ')') {
22269 				if (yych <= '(') goto yy3;
22270 				goto yy164;
22271 			} else {
22272 				if (yych == '-') goto yy172;
22273 				goto yy3;
22274 			}
22275 		} else {
22276 			if (yych <= '@') {
22277 				if (yych <= '/') goto yy172;
22278 				goto yy3;
22279 			} else {
22280 				if (yych == 'D') goto yy1410;
22281 				goto yy166;
22282 			}
22283 		}
22284 	} else {
22285 		if (yych <= '`') {
22286 			if (yych <= 'Z') {
22287 				if (yych <= 'M') goto yy1411;
22288 				goto yy166;
22289 			} else {
22290 				if (yych == '_') goto yy172;
22291 				goto yy3;
22292 			}
22293 		} else {
22294 			if (yych <= 'l') {
22295 				if (yych == 'd') goto yy1444;
22296 				goto yy171;
22297 			} else {
22298 				if (yych <= 'm') goto yy1445;
22299 				if (yych <= 'z') goto yy171;
22300 				goto yy3;
22301 			}
22302 		}
22303 	}
22304 yy1434:
22305 	YYDEBUG(1434, *YYCURSOR);
22306 	yyaccept = 0;
22307 	yych = *(YYMARKER = ++YYCURSOR);
22308 	if (yych <= 'D') {
22309 		if (yych <= '-') {
22310 			if (yych == ')') goto yy164;
22311 			if (yych <= ',') goto yy3;
22312 			goto yy172;
22313 		} else {
22314 			if (yych == '/') goto yy172;
22315 			if (yych <= '@') goto yy3;
22316 			goto yy166;
22317 		}
22318 	} else {
22319 		if (yych <= '_') {
22320 			if (yych <= 'E') goto yy1406;
22321 			if (yych <= 'Z') goto yy166;
22322 			if (yych <= '^') goto yy3;
22323 			goto yy172;
22324 		} else {
22325 			if (yych <= 'd') {
22326 				if (yych <= '`') goto yy3;
22327 				goto yy171;
22328 			} else {
22329 				if (yych <= 'e') goto yy1440;
22330 				if (yych <= 'z') goto yy171;
22331 				goto yy3;
22332 			}
22333 		}
22334 	}
22335 yy1435:
22336 	YYDEBUG(1435, *YYCURSOR);
22337 	yyaccept = 0;
22338 	yych = *(YYMARKER = ++YYCURSOR);
22339 	if (yych <= 'D') {
22340 		if (yych <= '-') {
22341 			if (yych == ')') goto yy164;
22342 			if (yych <= ',') goto yy3;
22343 			goto yy172;
22344 		} else {
22345 			if (yych == '/') goto yy172;
22346 			if (yych <= '@') goto yy3;
22347 			goto yy166;
22348 		}
22349 	} else {
22350 		if (yych <= '_') {
22351 			if (yych <= 'E') goto yy1402;
22352 			if (yych <= 'Z') goto yy166;
22353 			if (yych <= '^') goto yy3;
22354 			goto yy172;
22355 		} else {
22356 			if (yych <= 'd') {
22357 				if (yych <= '`') goto yy3;
22358 				goto yy171;
22359 			} else {
22360 				if (yych <= 'e') goto yy1436;
22361 				if (yych <= 'z') goto yy171;
22362 				goto yy3;
22363 			}
22364 		}
22365 	}
22366 yy1436:
22367 	YYDEBUG(1436, *YYCURSOR);
22368 	yyaccept = 0;
22369 	yych = *(YYMARKER = ++YYCURSOR);
22370 	if (yych <= 'K') {
22371 		if (yych <= '-') {
22372 			if (yych == ')') goto yy164;
22373 			if (yych <= ',') goto yy3;
22374 			goto yy172;
22375 		} else {
22376 			if (yych == '/') goto yy172;
22377 			if (yych <= '@') goto yy3;
22378 			goto yy167;
22379 		}
22380 	} else {
22381 		if (yych <= '_') {
22382 			if (yych <= 'L') goto yy1403;
22383 			if (yych <= 'Z') goto yy167;
22384 			if (yych <= '^') goto yy3;
22385 			goto yy172;
22386 		} else {
22387 			if (yych <= 'k') {
22388 				if (yych <= '`') goto yy3;
22389 				goto yy175;
22390 			} else {
22391 				if (yych <= 'l') goto yy1437;
22392 				if (yych <= 'z') goto yy175;
22393 				goto yy3;
22394 			}
22395 		}
22396 	}
22397 yy1437:
22398 	YYDEBUG(1437, *YYCURSOR);
22399 	yyaccept = 0;
22400 	yych = *(YYMARKER = ++YYCURSOR);
22401 	if (yych <= 'E') {
22402 		if (yych <= '-') {
22403 			if (yych == ')') goto yy164;
22404 			if (yych <= ',') goto yy3;
22405 			goto yy172;
22406 		} else {
22407 			if (yych == '/') goto yy172;
22408 			if (yych <= '@') goto yy3;
22409 			goto yy168;
22410 		}
22411 	} else {
22412 		if (yych <= '_') {
22413 			if (yych <= 'F') goto yy1404;
22414 			if (yych <= 'Z') goto yy168;
22415 			if (yych <= '^') goto yy3;
22416 			goto yy172;
22417 		} else {
22418 			if (yych <= 'e') {
22419 				if (yych <= '`') goto yy3;
22420 				goto yy176;
22421 			} else {
22422 				if (yych <= 'f') goto yy1438;
22423 				if (yych <= 'z') goto yy176;
22424 				goto yy3;
22425 			}
22426 		}
22427 	}
22428 yy1438:
22429 	YYDEBUG(1438, *YYCURSOR);
22430 	yyaccept = 0;
22431 	yych = *(YYMARKER = ++YYCURSOR);
22432 	if (yych <= 'S') {
22433 		if (yych <= '-') {
22434 			if (yych == ')') goto yy164;
22435 			if (yych <= ',') goto yy3;
22436 			goto yy172;
22437 		} else {
22438 			if (yych == '/') goto yy172;
22439 			if (yych <= '@') goto yy3;
22440 			goto yy169;
22441 		}
22442 	} else {
22443 		if (yych <= '_') {
22444 			if (yych <= 'T') goto yy1405;
22445 			if (yych <= 'Z') goto yy169;
22446 			if (yych <= '^') goto yy3;
22447 			goto yy172;
22448 		} else {
22449 			if (yych <= 's') {
22450 				if (yych <= '`') goto yy3;
22451 				goto yy177;
22452 			} else {
22453 				if (yych <= 't') goto yy1439;
22454 				if (yych <= 'z') goto yy177;
22455 				goto yy3;
22456 			}
22457 		}
22458 	}
22459 yy1439:
22460 	YYDEBUG(1439, *YYCURSOR);
22461 	yyaccept = 0;
22462 	yych = *(YYMARKER = ++YYCURSOR);
22463 	if (yych <= 'G') {
22464 		if (yych <= ',') {
22465 			if (yych == ')') goto yy164;
22466 			goto yy3;
22467 		} else {
22468 			if (yych == '.') goto yy3;
22469 			if (yych <= '/') goto yy172;
22470 			goto yy3;
22471 		}
22472 	} else {
22473 		if (yych <= '`') {
22474 			if (yych <= 'H') goto yy1195;
22475 			if (yych == '_') goto yy172;
22476 			goto yy3;
22477 		} else {
22478 			if (yych == 'h') goto yy1213;
22479 			if (yych <= 'z') goto yy178;
22480 			goto yy3;
22481 		}
22482 	}
22483 yy1440:
22484 	YYDEBUG(1440, *YYCURSOR);
22485 	yyaccept = 4;
22486 	yych = *(YYMARKER = ++YYCURSOR);
22487 	if (yych <= 'R') {
22488 		if (yych <= '-') {
22489 			if (yych == ')') goto yy164;
22490 			if (yych <= ',') goto yy191;
22491 			goto yy172;
22492 		} else {
22493 			if (yych == '/') goto yy172;
22494 			if (yych <= '@') goto yy191;
22495 			goto yy167;
22496 		}
22497 	} else {
22498 		if (yych <= '_') {
22499 			if (yych <= 'S') goto yy1407;
22500 			if (yych <= 'Z') goto yy167;
22501 			if (yych <= '^') goto yy191;
22502 			goto yy172;
22503 		} else {
22504 			if (yych <= 'r') {
22505 				if (yych <= '`') goto yy191;
22506 				goto yy175;
22507 			} else {
22508 				if (yych <= 's') goto yy1441;
22509 				if (yych <= 'z') goto yy175;
22510 				goto yy191;
22511 			}
22512 		}
22513 	}
22514 yy1441:
22515 	YYDEBUG(1441, *YYCURSOR);
22516 	yyaccept = 0;
22517 	yych = *(YYMARKER = ++YYCURSOR);
22518 	if (yych <= 'C') {
22519 		if (yych <= '-') {
22520 			if (yych == ')') goto yy164;
22521 			if (yych <= ',') goto yy3;
22522 			goto yy172;
22523 		} else {
22524 			if (yych == '/') goto yy172;
22525 			if (yych <= '@') goto yy3;
22526 			goto yy168;
22527 		}
22528 	} else {
22529 		if (yych <= '_') {
22530 			if (yych <= 'D') goto yy1408;
22531 			if (yych <= 'Z') goto yy168;
22532 			if (yych <= '^') goto yy3;
22533 			goto yy172;
22534 		} else {
22535 			if (yych <= 'c') {
22536 				if (yych <= '`') goto yy3;
22537 				goto yy176;
22538 			} else {
22539 				if (yych <= 'd') goto yy1442;
22540 				if (yych <= 'z') goto yy176;
22541 				goto yy3;
22542 			}
22543 		}
22544 	}
22545 yy1442:
22546 	YYDEBUG(1442, *YYCURSOR);
22547 	yyaccept = 0;
22548 	yych = *(YYMARKER = ++YYCURSOR);
22549 	if (yych <= '@') {
22550 		if (yych <= ',') {
22551 			if (yych == ')') goto yy164;
22552 			goto yy3;
22553 		} else {
22554 			if (yych == '.') goto yy3;
22555 			if (yych <= '/') goto yy172;
22556 			goto yy3;
22557 		}
22558 	} else {
22559 		if (yych <= '_') {
22560 			if (yych <= 'A') goto yy1409;
22561 			if (yych <= 'Z') goto yy169;
22562 			if (yych <= '^') goto yy3;
22563 			goto yy172;
22564 		} else {
22565 			if (yych <= '`') goto yy3;
22566 			if (yych <= 'a') goto yy1443;
22567 			if (yych <= 'z') goto yy177;
22568 			goto yy3;
22569 		}
22570 	}
22571 yy1443:
22572 	YYDEBUG(1443, *YYCURSOR);
22573 	yyaccept = 0;
22574 	yych = *(YYMARKER = ++YYCURSOR);
22575 	if (yych <= 'X') {
22576 		if (yych <= ',') {
22577 			if (yych == ')') goto yy164;
22578 			goto yy3;
22579 		} else {
22580 			if (yych == '.') goto yy3;
22581 			if (yych <= '/') goto yy172;
22582 			goto yy3;
22583 		}
22584 	} else {
22585 		if (yych <= '`') {
22586 			if (yych <= 'Y') goto yy197;
22587 			if (yych == '_') goto yy172;
22588 			goto yy3;
22589 		} else {
22590 			if (yych == 'y') goto yy210;
22591 			if (yych <= 'z') goto yy178;
22592 			goto yy3;
22593 		}
22594 	}
22595 yy1444:
22596 	YYDEBUG(1444, *YYCURSOR);
22597 	yyaccept = 0;
22598 	yych = *(YYMARKER = ++YYCURSOR);
22599 	if (yych <= '@') {
22600 		if (yych <= ',') {
22601 			if (yych == ')') goto yy164;
22602 			goto yy3;
22603 		} else {
22604 			if (yych == '.') goto yy3;
22605 			if (yych <= '/') goto yy172;
22606 			goto yy3;
22607 		}
22608 	} else {
22609 		if (yych <= '_') {
22610 			if (yych <= 'A') goto yy1418;
22611 			if (yych <= 'Z') goto yy167;
22612 			if (yych <= '^') goto yy3;
22613 			goto yy172;
22614 		} else {
22615 			if (yych <= '`') goto yy3;
22616 			if (yych <= 'a') goto yy1451;
22617 			if (yych <= 'z') goto yy175;
22618 			goto yy3;
22619 		}
22620 	}
22621 yy1445:
22622 	YYDEBUG(1445, *YYCURSOR);
22623 	yyaccept = 0;
22624 	yych = *(YYMARKER = ++YYCURSOR);
22625 	if (yych <= 'N') {
22626 		if (yych <= '-') {
22627 			if (yych == ')') goto yy164;
22628 			if (yych <= ',') goto yy3;
22629 			goto yy172;
22630 		} else {
22631 			if (yych == '/') goto yy172;
22632 			if (yych <= '@') goto yy3;
22633 			goto yy167;
22634 		}
22635 	} else {
22636 		if (yych <= '_') {
22637 			if (yych <= 'O') goto yy1412;
22638 			if (yych <= 'Z') goto yy167;
22639 			if (yych <= '^') goto yy3;
22640 			goto yy172;
22641 		} else {
22642 			if (yych <= 'n') {
22643 				if (yych <= '`') goto yy3;
22644 				goto yy175;
22645 			} else {
22646 				if (yych <= 'o') goto yy1446;
22647 				if (yych <= 'z') goto yy175;
22648 				goto yy3;
22649 			}
22650 		}
22651 	}
22652 yy1446:
22653 	YYDEBUG(1446, *YYCURSOR);
22654 	yyaccept = 0;
22655 	yych = *(YYMARKER = ++YYCURSOR);
22656 	if (yych <= 'Q') {
22657 		if (yych <= '-') {
22658 			if (yych == ')') goto yy164;
22659 			if (yych <= ',') goto yy3;
22660 			goto yy172;
22661 		} else {
22662 			if (yych == '/') goto yy172;
22663 			if (yych <= '@') goto yy3;
22664 			goto yy168;
22665 		}
22666 	} else {
22667 		if (yych <= '_') {
22668 			if (yych <= 'R') goto yy1413;
22669 			if (yych <= 'Z') goto yy168;
22670 			if (yych <= '^') goto yy3;
22671 			goto yy172;
22672 		} else {
22673 			if (yych <= 'q') {
22674 				if (yych <= '`') goto yy3;
22675 				goto yy176;
22676 			} else {
22677 				if (yych <= 'r') goto yy1447;
22678 				if (yych <= 'z') goto yy176;
22679 				goto yy3;
22680 			}
22681 		}
22682 	}
22683 yy1447:
22684 	YYDEBUG(1447, *YYCURSOR);
22685 	yyaccept = 0;
22686 	yych = *(YYMARKER = ++YYCURSOR);
22687 	if (yych <= 'Q') {
22688 		if (yych <= '-') {
22689 			if (yych == ')') goto yy164;
22690 			if (yych <= ',') goto yy3;
22691 			goto yy172;
22692 		} else {
22693 			if (yych == '/') goto yy172;
22694 			if (yych <= '@') goto yy3;
22695 			goto yy169;
22696 		}
22697 	} else {
22698 		if (yych <= '_') {
22699 			if (yych <= 'R') goto yy1414;
22700 			if (yych <= 'Z') goto yy169;
22701 			if (yych <= '^') goto yy3;
22702 			goto yy172;
22703 		} else {
22704 			if (yych <= 'q') {
22705 				if (yych <= '`') goto yy3;
22706 				goto yy177;
22707 			} else {
22708 				if (yych <= 'r') goto yy1448;
22709 				if (yych <= 'z') goto yy177;
22710 				goto yy3;
22711 			}
22712 		}
22713 	}
22714 yy1448:
22715 	YYDEBUG(1448, *YYCURSOR);
22716 	yyaccept = 0;
22717 	yych = *(YYMARKER = ++YYCURSOR);
22718 	if (yych <= 'N') {
22719 		if (yych <= ',') {
22720 			if (yych == ')') goto yy164;
22721 			goto yy3;
22722 		} else {
22723 			if (yych == '.') goto yy3;
22724 			if (yych <= '/') goto yy172;
22725 			goto yy3;
22726 		}
22727 	} else {
22728 		if (yych <= '`') {
22729 			if (yych <= 'O') goto yy1415;
22730 			if (yych == '_') goto yy172;
22731 			goto yy3;
22732 		} else {
22733 			if (yych == 'o') goto yy1449;
22734 			if (yych <= 'z') goto yy178;
22735 			goto yy3;
22736 		}
22737 	}
22738 yy1449:
22739 	YYDEBUG(1449, *YYCURSOR);
22740 	yych = *++YYCURSOR;
22741 	if (yych == 'W') goto yy1416;
22742 	if (yych != 'w') goto yy179;
22743 	YYDEBUG(1450, *YYCURSOR);
22744 	yyaccept = 29;
22745 	yych = *(YYMARKER = ++YYCURSOR);
22746 	if (yybm[0+yych] & 16) {
22747 		goto yy178;
22748 	}
22749 	if (yych <= '.') {
22750 		if (yych == '-') goto yy172;
22751 		goto yy1417;
22752 	} else {
22753 		if (yych <= '/') goto yy172;
22754 		if (yych == '_') goto yy172;
22755 		goto yy1417;
22756 	}
22757 yy1451:
22758 	YYDEBUG(1451, *YYCURSOR);
22759 	yyaccept = 0;
22760 	yych = *(YYMARKER = ++YYCURSOR);
22761 	if (yych <= 'X') {
22762 		if (yych <= '-') {
22763 			if (yych == ')') goto yy164;
22764 			if (yych <= ',') goto yy3;
22765 			goto yy172;
22766 		} else {
22767 			if (yych == '/') goto yy172;
22768 			if (yych <= '@') goto yy3;
22769 			goto yy168;
22770 		}
22771 	} else {
22772 		if (yych <= '_') {
22773 			if (yych <= 'Y') goto yy1419;
22774 			if (yych <= 'Z') goto yy168;
22775 			if (yych <= '^') goto yy3;
22776 			goto yy172;
22777 		} else {
22778 			if (yych <= 'x') {
22779 				if (yych <= '`') goto yy3;
22780 				goto yy176;
22781 			} else {
22782 				if (yych <= 'y') goto yy1452;
22783 				if (yych <= 'z') goto yy176;
22784 				goto yy3;
22785 			}
22786 		}
22787 	}
22788 yy1452:
22789 	YYDEBUG(1452, *YYCURSOR);
22790 	yyaccept = 30;
22791 	yych = *(YYMARKER = ++YYCURSOR);
22792 	if (yych <= '/') {
22793 		if (yych <= ',') {
22794 			if (yych == ')') goto yy164;
22795 			goto yy1420;
22796 		} else {
22797 			if (yych == '.') goto yy1420;
22798 			goto yy172;
22799 		}
22800 	} else {
22801 		if (yych <= '^') {
22802 			if (yych <= '@') goto yy1420;
22803 			if (yych <= 'Z') goto yy169;
22804 			goto yy1420;
22805 		} else {
22806 			if (yych <= '_') goto yy172;
22807 			if (yych <= '`') goto yy1420;
22808 			if (yych <= 'z') goto yy177;
22809 			goto yy1420;
22810 		}
22811 	}
22812 yy1453:
22813 	YYDEBUG(1453, *YYCURSOR);
22814 	yyaccept = 0;
22815 	yych = *(YYMARKER = ++YYCURSOR);
22816 	if (yych <= 'R') {
22817 		if (yych <= '-') {
22818 			if (yych == ')') goto yy164;
22819 			if (yych <= ',') goto yy3;
22820 			goto yy172;
22821 		} else {
22822 			if (yych <= '/') {
22823 				if (yych <= '.') goto yy3;
22824 				goto yy172;
22825 			} else {
22826 				if (yych <= '@') goto yy3;
22827 				if (yych <= 'Q') goto yy167;
22828 				goto yy1427;
22829 			}
22830 		}
22831 	} else {
22832 		if (yych <= '`') {
22833 			if (yych <= 'Z') {
22834 				if (yych <= 'S') goto yy1428;
22835 				goto yy167;
22836 			} else {
22837 				if (yych == '_') goto yy172;
22838 				goto yy3;
22839 			}
22840 		} else {
22841 			if (yych <= 'r') {
22842 				if (yych <= 'q') goto yy175;
22843 				goto yy1459;
22844 			} else {
22845 				if (yych <= 's') goto yy1460;
22846 				if (yych <= 'z') goto yy175;
22847 				goto yy3;
22848 			}
22849 		}
22850 	}
22851 yy1454:
22852 	YYDEBUG(1454, *YYCURSOR);
22853 	yyaccept = 4;
22854 	yych = *(YYMARKER = ++YYCURSOR);
22855 	if (yych <= 'Q') {
22856 		if (yych <= '-') {
22857 			if (yych == ')') goto yy164;
22858 			if (yych <= ',') goto yy191;
22859 			goto yy172;
22860 		} else {
22861 			if (yych == '/') goto yy172;
22862 			if (yych <= '@') goto yy191;
22863 			goto yy167;
22864 		}
22865 	} else {
22866 		if (yych <= '_') {
22867 			if (yych <= 'R') goto yy1423;
22868 			if (yych <= 'Z') goto yy167;
22869 			if (yych <= '^') goto yy191;
22870 			goto yy172;
22871 		} else {
22872 			if (yych <= 'q') {
22873 				if (yych <= '`') goto yy191;
22874 				goto yy175;
22875 			} else {
22876 				if (yych <= 'r') goto yy1455;
22877 				if (yych <= 'z') goto yy175;
22878 				goto yy191;
22879 			}
22880 		}
22881 	}
22882 yy1455:
22883 	YYDEBUG(1455, *YYCURSOR);
22884 	yyaccept = 0;
22885 	yych = *(YYMARKER = ++YYCURSOR);
22886 	if (yych <= 'R') {
22887 		if (yych <= '-') {
22888 			if (yych == ')') goto yy164;
22889 			if (yych <= ',') goto yy3;
22890 			goto yy172;
22891 		} else {
22892 			if (yych == '/') goto yy172;
22893 			if (yych <= '@') goto yy3;
22894 			goto yy168;
22895 		}
22896 	} else {
22897 		if (yych <= '_') {
22898 			if (yych <= 'S') goto yy1424;
22899 			if (yych <= 'Z') goto yy168;
22900 			if (yych <= '^') goto yy3;
22901 			goto yy172;
22902 		} else {
22903 			if (yych <= 'r') {
22904 				if (yych <= '`') goto yy3;
22905 				goto yy176;
22906 			} else {
22907 				if (yych <= 's') goto yy1456;
22908 				if (yych <= 'z') goto yy176;
22909 				goto yy3;
22910 			}
22911 		}
22912 	}
22913 yy1456:
22914 	YYDEBUG(1456, *YYCURSOR);
22915 	yyaccept = 0;
22916 	yych = *(YYMARKER = ++YYCURSOR);
22917 	if (yych <= 'C') {
22918 		if (yych <= '-') {
22919 			if (yych == ')') goto yy164;
22920 			if (yych <= ',') goto yy3;
22921 			goto yy172;
22922 		} else {
22923 			if (yych == '/') goto yy172;
22924 			if (yych <= '@') goto yy3;
22925 			goto yy169;
22926 		}
22927 	} else {
22928 		if (yych <= '_') {
22929 			if (yych <= 'D') goto yy1425;
22930 			if (yych <= 'Z') goto yy169;
22931 			if (yych <= '^') goto yy3;
22932 			goto yy172;
22933 		} else {
22934 			if (yych <= 'c') {
22935 				if (yych <= '`') goto yy3;
22936 				goto yy177;
22937 			} else {
22938 				if (yych <= 'd') goto yy1457;
22939 				if (yych <= 'z') goto yy177;
22940 				goto yy3;
22941 			}
22942 		}
22943 	}
22944 yy1457:
22945 	YYDEBUG(1457, *YYCURSOR);
22946 	yyaccept = 0;
22947 	yych = *(YYMARKER = ++YYCURSOR);
22948 	if (yych <= '@') {
22949 		if (yych <= ',') {
22950 			if (yych == ')') goto yy164;
22951 			goto yy3;
22952 		} else {
22953 			if (yych == '.') goto yy3;
22954 			if (yych <= '/') goto yy172;
22955 			goto yy3;
22956 		}
22957 	} else {
22958 		if (yych <= '_') {
22959 			if (yych <= 'A') goto yy1426;
22960 			if (yych <= '^') goto yy3;
22961 			goto yy172;
22962 		} else {
22963 			if (yych <= '`') goto yy3;
22964 			if (yych <= 'a') goto yy1458;
22965 			if (yych <= 'z') goto yy178;
22966 			goto yy3;
22967 		}
22968 	}
22969 yy1458:
22970 	YYDEBUG(1458, *YYCURSOR);
22971 	yych = *++YYCURSOR;
22972 	if (yych == 'Y') goto yy197;
22973 	if (yych == 'y') goto yy210;
22974 	goto yy179;
22975 yy1459:
22976 	YYDEBUG(1459, *YYCURSOR);
22977 	yyaccept = 0;
22978 	yych = *(YYMARKER = ++YYCURSOR);
22979 	if (yych <= 'C') {
22980 		if (yych <= '-') {
22981 			if (yych == ')') goto yy164;
22982 			if (yych <= ',') goto yy3;
22983 			goto yy172;
22984 		} else {
22985 			if (yych == '/') goto yy172;
22986 			if (yych <= '@') goto yy3;
22987 			goto yy168;
22988 		}
22989 	} else {
22990 		if (yych <= '_') {
22991 			if (yych <= 'D') goto yy1228;
22992 			if (yych <= 'Z') goto yy168;
22993 			if (yych <= '^') goto yy3;
22994 			goto yy172;
22995 		} else {
22996 			if (yych <= 'c') {
22997 				if (yych <= '`') goto yy3;
22998 				goto yy176;
22999 			} else {
23000 				if (yych <= 'd') goto yy1257;
23001 				if (yych <= 'z') goto yy176;
23002 				goto yy3;
23003 			}
23004 		}
23005 	}
23006 yy1460:
23007 	YYDEBUG(1460, *YYCURSOR);
23008 	yyaccept = 0;
23009 	yych = *(YYMARKER = ++YYCURSOR);
23010 	if (yych <= '-') {
23011 		if (yych <= ' ') {
23012 			if (yych == '\t') goto yy1069;
23013 			if (yych <= 0x1F) goto yy3;
23014 			goto yy1069;
23015 		} else {
23016 			if (yych == ')') goto yy164;
23017 			if (yych <= ',') goto yy3;
23018 			goto yy172;
23019 		}
23020 	} else {
23021 		if (yych <= 'Z') {
23022 			if (yych == '/') goto yy172;
23023 			if (yych <= '@') goto yy3;
23024 			goto yy168;
23025 		} else {
23026 			if (yych <= '_') {
23027 				if (yych <= '^') goto yy3;
23028 				goto yy172;
23029 			} else {
23030 				if (yych <= '`') goto yy3;
23031 				if (yych <= 'z') goto yy176;
23032 				goto yy3;
23033 			}
23034 		}
23035 	}
23036 yy1461:
23037 	YYDEBUG(1461, *YYCURSOR);
23038 	yyaccept = 0;
23039 	yych = *(YYMARKER = ++YYCURSOR);
23040 	if (yych <= 'S') {
23041 		if (yych <= '-') {
23042 			if (yych == ')') goto yy164;
23043 			if (yych <= ',') goto yy3;
23044 			goto yy172;
23045 		} else {
23046 			if (yych == '/') goto yy172;
23047 			if (yych <= '@') goto yy3;
23048 			goto yy167;
23049 		}
23050 	} else {
23051 		if (yych <= '_') {
23052 			if (yych <= 'T') goto yy1430;
23053 			if (yych <= 'Z') goto yy167;
23054 			if (yych <= '^') goto yy3;
23055 			goto yy172;
23056 		} else {
23057 			if (yych <= 's') {
23058 				if (yych <= '`') goto yy3;
23059 				goto yy175;
23060 			} else {
23061 				if (yych <= 't') goto yy1462;
23062 				if (yych <= 'z') goto yy175;
23063 				goto yy3;
23064 			}
23065 		}
23066 	}
23067 yy1462:
23068 	YYDEBUG(1462, *YYCURSOR);
23069 	yyaccept = 0;
23070 	yych = *(YYMARKER = ++YYCURSOR);
23071 	if (yych <= 'G') {
23072 		if (yych <= '-') {
23073 			if (yych == ')') goto yy164;
23074 			if (yych <= ',') goto yy3;
23075 			goto yy172;
23076 		} else {
23077 			if (yych == '/') goto yy172;
23078 			if (yych <= '@') goto yy3;
23079 			goto yy168;
23080 		}
23081 	} else {
23082 		if (yych <= '_') {
23083 			if (yych <= 'H') goto yy1228;
23084 			if (yych <= 'Z') goto yy168;
23085 			if (yych <= '^') goto yy3;
23086 			goto yy172;
23087 		} else {
23088 			if (yych <= 'g') {
23089 				if (yych <= '`') goto yy3;
23090 				goto yy176;
23091 			} else {
23092 				if (yych <= 'h') goto yy1257;
23093 				if (yych <= 'z') goto yy176;
23094 				goto yy3;
23095 			}
23096 		}
23097 	}
23098 yy1463:
23099 	YYDEBUG(1463, *YYCURSOR);
23100 	yych = *++YYCURSOR;
23101 	if (yych <= 'Y') {
23102 		if (yych <= '@') {
23103 			if (yych == ')') goto yy164;
23104 			goto yy3;
23105 		} else {
23106 			if (yych == 'R') goto yy1475;
23107 			if (yych <= 'X') goto yy166;
23108 			goto yy1476;
23109 		}
23110 	} else {
23111 		if (yych <= 'r') {
23112 			if (yych <= 'Z') goto yy166;
23113 			if (yych <= '`') goto yy3;
23114 			if (yych <= 'q') goto yy166;
23115 			goto yy1475;
23116 		} else {
23117 			if (yych == 'y') goto yy1476;
23118 			if (yych <= 'z') goto yy166;
23119 			goto yy3;
23120 		}
23121 	}
23122 yy1464:
23123 	YYDEBUG(1464, *YYCURSOR);
23124 	yych = *++YYCURSOR;
23125 	if (yych <= 'D') {
23126 		if (yych <= ')') {
23127 			if (yych <= '(') goto yy3;
23128 			goto yy164;
23129 		} else {
23130 			if (yych <= '@') goto yy3;
23131 			if (yych <= 'C') goto yy166;
23132 			goto yy1469;
23133 		}
23134 	} else {
23135 		if (yych <= 'c') {
23136 			if (yych <= 'Z') goto yy166;
23137 			if (yych <= '`') goto yy3;
23138 			goto yy166;
23139 		} else {
23140 			if (yych <= 'd') goto yy1469;
23141 			if (yych <= 'z') goto yy166;
23142 			goto yy3;
23143 		}
23144 	}
23145 yy1465:
23146 	YYDEBUG(1465, *YYCURSOR);
23147 	yych = *++YYCURSOR;
23148 	if (yych <= 'N') {
23149 		if (yych <= ')') {
23150 			if (yych <= '(') goto yy3;
23151 			goto yy164;
23152 		} else {
23153 			if (yych <= '@') goto yy3;
23154 			if (yych <= 'M') goto yy166;
23155 		}
23156 	} else {
23157 		if (yych <= 'm') {
23158 			if (yych <= 'Z') goto yy166;
23159 			if (yych <= '`') goto yy3;
23160 			goto yy166;
23161 		} else {
23162 			if (yych <= 'n') goto yy1466;
23163 			if (yych <= 'z') goto yy166;
23164 			goto yy3;
23165 		}
23166 	}
23167 yy1466:
23168 	YYDEBUG(1466, *YYCURSOR);
23169 	yych = *++YYCURSOR;
23170 	if (yych <= 'D') {
23171 		if (yych <= ')') {
23172 			if (yych <= '(') goto yy191;
23173 			goto yy164;
23174 		} else {
23175 			if (yych <= '@') goto yy191;
23176 			if (yych <= 'C') goto yy167;
23177 		}
23178 	} else {
23179 		if (yych <= 'c') {
23180 			if (yych <= 'Z') goto yy167;
23181 			if (yych <= '`') goto yy191;
23182 			goto yy167;
23183 		} else {
23184 			if (yych <= 'd') goto yy1467;
23185 			if (yych <= 'z') goto yy167;
23186 			goto yy191;
23187 		}
23188 	}
23189 yy1467:
23190 	YYDEBUG(1467, *YYCURSOR);
23191 	yych = *++YYCURSOR;
23192 	if (yych <= 'A') {
23193 		if (yych == ')') goto yy164;
23194 		if (yych <= '@') goto yy3;
23195 	} else {
23196 		if (yych <= '`') {
23197 			if (yych <= 'Z') goto yy168;
23198 			goto yy3;
23199 		} else {
23200 			if (yych <= 'a') goto yy1468;
23201 			if (yych <= 'z') goto yy168;
23202 			goto yy3;
23203 		}
23204 	}
23205 yy1468:
23206 	YYDEBUG(1468, *YYCURSOR);
23207 	yych = *++YYCURSOR;
23208 	if (yych <= 'Y') {
23209 		if (yych <= ')') {
23210 			if (yych <= '(') goto yy3;
23211 			goto yy164;
23212 		} else {
23213 			if (yych <= '@') goto yy3;
23214 			if (yych <= 'X') goto yy169;
23215 			goto yy1225;
23216 		}
23217 	} else {
23218 		if (yych <= 'x') {
23219 			if (yych <= 'Z') goto yy169;
23220 			if (yych <= '`') goto yy3;
23221 			goto yy169;
23222 		} else {
23223 			if (yych <= 'y') goto yy1225;
23224 			if (yych <= 'z') goto yy169;
23225 			goto yy3;
23226 		}
23227 	}
23228 yy1469:
23229 	YYDEBUG(1469, *YYCURSOR);
23230 	yych = *++YYCURSOR;
23231 	if (yych <= 'N') {
23232 		if (yych <= ')') {
23233 			if (yych <= '(') goto yy3;
23234 			goto yy164;
23235 		} else {
23236 			if (yych <= '@') goto yy3;
23237 			if (yych <= 'M') goto yy167;
23238 		}
23239 	} else {
23240 		if (yych <= 'm') {
23241 			if (yych <= 'Z') goto yy167;
23242 			if (yych <= '`') goto yy3;
23243 			goto yy167;
23244 		} else {
23245 			if (yych <= 'n') goto yy1470;
23246 			if (yych <= 'z') goto yy167;
23247 			goto yy3;
23248 		}
23249 	}
23250 yy1470:
23251 	YYDEBUG(1470, *YYCURSOR);
23252 	yych = *++YYCURSOR;
23253 	if (yych <= 'I') {
23254 		if (yych <= ')') {
23255 			if (yych <= '(') goto yy3;
23256 			goto yy164;
23257 		} else {
23258 			if (yych <= '@') goto yy3;
23259 			if (yych <= 'H') goto yy168;
23260 		}
23261 	} else {
23262 		if (yych <= 'h') {
23263 			if (yych <= 'Z') goto yy168;
23264 			if (yych <= '`') goto yy3;
23265 			goto yy168;
23266 		} else {
23267 			if (yych <= 'i') goto yy1471;
23268 			if (yych <= 'z') goto yy168;
23269 			goto yy3;
23270 		}
23271 	}
23272 yy1471:
23273 	YYDEBUG(1471, *YYCURSOR);
23274 	yych = *++YYCURSOR;
23275 	if (yych <= 'G') {
23276 		if (yych <= ')') {
23277 			if (yych <= '(') goto yy3;
23278 			goto yy164;
23279 		} else {
23280 			if (yych <= '@') goto yy3;
23281 			if (yych <= 'F') goto yy169;
23282 		}
23283 	} else {
23284 		if (yych <= 'f') {
23285 			if (yych <= 'Z') goto yy169;
23286 			if (yych <= '`') goto yy3;
23287 			goto yy169;
23288 		} else {
23289 			if (yych <= 'g') goto yy1472;
23290 			if (yych <= 'z') goto yy169;
23291 			goto yy3;
23292 		}
23293 	}
23294 yy1472:
23295 	YYDEBUG(1472, *YYCURSOR);
23296 	yyaccept = 0;
23297 	yych = *(YYMARKER = ++YYCURSOR);
23298 	if (yych <= 'G') {
23299 		if (yych == ')') goto yy164;
23300 		goto yy3;
23301 	} else {
23302 		if (yych <= 'H') goto yy1473;
23303 		if (yych != 'h') goto yy3;
23304 	}
23305 yy1473:
23306 	YYDEBUG(1473, *YYCURSOR);
23307 	yych = *++YYCURSOR;
23308 	if (yych == 'T') goto yy1474;
23309 	if (yych != 't') goto yy56;
23310 yy1474:
23311 	YYDEBUG(1474, *YYCURSOR);
23312 	yych = *++YYCURSOR;
23313 	goto yy1420;
23314 yy1475:
23315 	YYDEBUG(1475, *YYCURSOR);
23316 	yyaccept = 5;
23317 	yych = *(YYMARKER = ++YYCURSOR);
23318 	if (yych <= '/') {
23319 		if (yych <= '(') {
23320 			if (yych <= '\t') {
23321 				if (yych <= 0x08) goto yy218;
23322 				goto yy220;
23323 			} else {
23324 				if (yych == ' ') goto yy220;
23325 				goto yy218;
23326 			}
23327 		} else {
23328 			if (yych <= ',') {
23329 				if (yych <= ')') goto yy164;
23330 				goto yy218;
23331 			} else {
23332 				if (yych <= '-') goto yy221;
23333 				if (yych <= '.') goto yy220;
23334 				goto yy218;
23335 			}
23336 		}
23337 	} else {
23338 		if (yych <= 'Z') {
23339 			if (yych <= '@') {
23340 				if (yych <= '9') goto yy220;
23341 				goto yy218;
23342 			} else {
23343 				if (yych == 'C') goto yy1477;
23344 				goto yy167;
23345 			}
23346 		} else {
23347 			if (yych <= 'b') {
23348 				if (yych <= '`') goto yy218;
23349 				goto yy167;
23350 			} else {
23351 				if (yych <= 'c') goto yy1477;
23352 				if (yych <= 'z') goto yy167;
23353 				goto yy218;
23354 			}
23355 		}
23356 	}
23357 yy1476:
23358 	YYDEBUG(1476, *YYCURSOR);
23359 	yyaccept = 5;
23360 	yych = *(YYMARKER = ++YYCURSOR);
23361 	if (yych <= '-') {
23362 		if (yych <= ' ') {
23363 			if (yych == '\t') goto yy220;
23364 			if (yych <= 0x1F) goto yy218;
23365 			goto yy220;
23366 		} else {
23367 			if (yych == ')') goto yy164;
23368 			if (yych <= ',') goto yy218;
23369 			goto yy221;
23370 		}
23371 	} else {
23372 		if (yych <= '@') {
23373 			if (yych == '/') goto yy218;
23374 			if (yych <= '9') goto yy220;
23375 			goto yy218;
23376 		} else {
23377 			if (yych <= 'Z') goto yy167;
23378 			if (yych <= '`') goto yy218;
23379 			if (yych <= 'z') goto yy167;
23380 			goto yy218;
23381 		}
23382 	}
23383 yy1477:
23384 	YYDEBUG(1477, *YYCURSOR);
23385 	yych = *++YYCURSOR;
23386 	if (yych <= 'H') {
23387 		if (yych <= ')') {
23388 			if (yych <= '(') goto yy3;
23389 			goto yy164;
23390 		} else {
23391 			if (yych <= '@') goto yy3;
23392 			if (yych <= 'G') goto yy168;
23393 			goto yy360;
23394 		}
23395 	} else {
23396 		if (yych <= 'g') {
23397 			if (yych <= 'Z') goto yy168;
23398 			if (yych <= '`') goto yy3;
23399 			goto yy168;
23400 		} else {
23401 			if (yych <= 'h') goto yy360;
23402 			if (yych <= 'z') goto yy168;
23403 			goto yy3;
23404 		}
23405 	}
23406 yy1478:
23407 	YYDEBUG(1478, *YYCURSOR);
23408 	yyaccept = 0;
23409 	yych = *(YYMARKER = ++YYCURSOR);
23410 	if (yych <= 'X') {
23411 		if (yych <= '.') {
23412 			if (yych <= ')') {
23413 				if (yych <= '(') goto yy3;
23414 				goto yy164;
23415 			} else {
23416 				if (yych == '-') goto yy172;
23417 				goto yy3;
23418 			}
23419 		} else {
23420 			if (yych <= '@') {
23421 				if (yych <= '/') goto yy172;
23422 				goto yy3;
23423 			} else {
23424 				if (yych == 'R') goto yy1475;
23425 				goto yy166;
23426 			}
23427 		}
23428 	} else {
23429 		if (yych <= '`') {
23430 			if (yych <= 'Z') {
23431 				if (yych <= 'Y') goto yy1476;
23432 				goto yy166;
23433 			} else {
23434 				if (yych == '_') goto yy172;
23435 				goto yy3;
23436 			}
23437 		} else {
23438 			if (yych <= 'x') {
23439 				if (yych == 'r') goto yy1490;
23440 				goto yy171;
23441 			} else {
23442 				if (yych <= 'y') goto yy1491;
23443 				if (yych <= 'z') goto yy171;
23444 				goto yy3;
23445 			}
23446 		}
23447 	}
23448 yy1479:
23449 	YYDEBUG(1479, *YYCURSOR);
23450 	yyaccept = 0;
23451 	yych = *(YYMARKER = ++YYCURSOR);
23452 	if (yych <= 'C') {
23453 		if (yych <= '-') {
23454 			if (yych == ')') goto yy164;
23455 			if (yych <= ',') goto yy3;
23456 			goto yy172;
23457 		} else {
23458 			if (yych == '/') goto yy172;
23459 			if (yych <= '@') goto yy3;
23460 			goto yy166;
23461 		}
23462 	} else {
23463 		if (yych <= '_') {
23464 			if (yych <= 'D') goto yy1469;
23465 			if (yych <= 'Z') goto yy166;
23466 			if (yych <= '^') goto yy3;
23467 			goto yy172;
23468 		} else {
23469 			if (yych <= 'c') {
23470 				if (yych <= '`') goto yy3;
23471 				goto yy171;
23472 			} else {
23473 				if (yych <= 'd') goto yy1484;
23474 				if (yych <= 'z') goto yy171;
23475 				goto yy3;
23476 			}
23477 		}
23478 	}
23479 yy1480:
23480 	YYDEBUG(1480, *YYCURSOR);
23481 	yyaccept = 0;
23482 	yych = *(YYMARKER = ++YYCURSOR);
23483 	if (yych <= 'M') {
23484 		if (yych <= '-') {
23485 			if (yych == ')') goto yy164;
23486 			if (yych <= ',') goto yy3;
23487 			goto yy172;
23488 		} else {
23489 			if (yych == '/') goto yy172;
23490 			if (yych <= '@') goto yy3;
23491 			goto yy166;
23492 		}
23493 	} else {
23494 		if (yych <= '_') {
23495 			if (yych <= 'N') goto yy1466;
23496 			if (yych <= 'Z') goto yy166;
23497 			if (yych <= '^') goto yy3;
23498 			goto yy172;
23499 		} else {
23500 			if (yych <= 'm') {
23501 				if (yych <= '`') goto yy3;
23502 				goto yy171;
23503 			} else {
23504 				if (yych <= 'n') goto yy1481;
23505 				if (yych <= 'z') goto yy171;
23506 				goto yy3;
23507 			}
23508 		}
23509 	}
23510 yy1481:
23511 	YYDEBUG(1481, *YYCURSOR);
23512 	yyaccept = 4;
23513 	yych = *(YYMARKER = ++YYCURSOR);
23514 	if (yych <= 'C') {
23515 		if (yych <= '-') {
23516 			if (yych == ')') goto yy164;
23517 			if (yych <= ',') goto yy191;
23518 			goto yy172;
23519 		} else {
23520 			if (yych == '/') goto yy172;
23521 			if (yych <= '@') goto yy191;
23522 			goto yy167;
23523 		}
23524 	} else {
23525 		if (yych <= '_') {
23526 			if (yych <= 'D') goto yy1467;
23527 			if (yych <= 'Z') goto yy167;
23528 			if (yych <= '^') goto yy191;
23529 			goto yy172;
23530 		} else {
23531 			if (yych <= 'c') {
23532 				if (yych <= '`') goto yy191;
23533 				goto yy175;
23534 			} else {
23535 				if (yych <= 'd') goto yy1482;
23536 				if (yych <= 'z') goto yy175;
23537 				goto yy191;
23538 			}
23539 		}
23540 	}
23541 yy1482:
23542 	YYDEBUG(1482, *YYCURSOR);
23543 	yyaccept = 0;
23544 	yych = *(YYMARKER = ++YYCURSOR);
23545 	if (yych <= '@') {
23546 		if (yych <= ',') {
23547 			if (yych == ')') goto yy164;
23548 			goto yy3;
23549 		} else {
23550 			if (yych == '.') goto yy3;
23551 			if (yych <= '/') goto yy172;
23552 			goto yy3;
23553 		}
23554 	} else {
23555 		if (yych <= '_') {
23556 			if (yych <= 'A') goto yy1468;
23557 			if (yych <= 'Z') goto yy168;
23558 			if (yych <= '^') goto yy3;
23559 			goto yy172;
23560 		} else {
23561 			if (yych <= '`') goto yy3;
23562 			if (yych <= 'a') goto yy1483;
23563 			if (yych <= 'z') goto yy176;
23564 			goto yy3;
23565 		}
23566 	}
23567 yy1483:
23568 	YYDEBUG(1483, *YYCURSOR);
23569 	yyaccept = 0;
23570 	yych = *(YYMARKER = ++YYCURSOR);
23571 	if (yych <= 'X') {
23572 		if (yych <= '-') {
23573 			if (yych == ')') goto yy164;
23574 			if (yych <= ',') goto yy3;
23575 			goto yy172;
23576 		} else {
23577 			if (yych == '/') goto yy172;
23578 			if (yych <= '@') goto yy3;
23579 			goto yy169;
23580 		}
23581 	} else {
23582 		if (yych <= '_') {
23583 			if (yych <= 'Y') goto yy1225;
23584 			if (yych <= 'Z') goto yy169;
23585 			if (yych <= '^') goto yy3;
23586 			goto yy172;
23587 		} else {
23588 			if (yych <= 'x') {
23589 				if (yych <= '`') goto yy3;
23590 				goto yy177;
23591 			} else {
23592 				if (yych <= 'y') goto yy1254;
23593 				if (yych <= 'z') goto yy177;
23594 				goto yy3;
23595 			}
23596 		}
23597 	}
23598 yy1484:
23599 	YYDEBUG(1484, *YYCURSOR);
23600 	yyaccept = 0;
23601 	yych = *(YYMARKER = ++YYCURSOR);
23602 	if (yych <= 'M') {
23603 		if (yych <= '-') {
23604 			if (yych == ')') goto yy164;
23605 			if (yych <= ',') goto yy3;
23606 			goto yy172;
23607 		} else {
23608 			if (yych == '/') goto yy172;
23609 			if (yych <= '@') goto yy3;
23610 			goto yy167;
23611 		}
23612 	} else {
23613 		if (yych <= '_') {
23614 			if (yych <= 'N') goto yy1470;
23615 			if (yych <= 'Z') goto yy167;
23616 			if (yych <= '^') goto yy3;
23617 			goto yy172;
23618 		} else {
23619 			if (yych <= 'm') {
23620 				if (yych <= '`') goto yy3;
23621 				goto yy175;
23622 			} else {
23623 				if (yych <= 'n') goto yy1485;
23624 				if (yych <= 'z') goto yy175;
23625 				goto yy3;
23626 			}
23627 		}
23628 	}
23629 yy1485:
23630 	YYDEBUG(1485, *YYCURSOR);
23631 	yyaccept = 0;
23632 	yych = *(YYMARKER = ++YYCURSOR);
23633 	if (yych <= 'H') {
23634 		if (yych <= '-') {
23635 			if (yych == ')') goto yy164;
23636 			if (yych <= ',') goto yy3;
23637 			goto yy172;
23638 		} else {
23639 			if (yych == '/') goto yy172;
23640 			if (yych <= '@') goto yy3;
23641 			goto yy168;
23642 		}
23643 	} else {
23644 		if (yych <= '_') {
23645 			if (yych <= 'I') goto yy1471;
23646 			if (yych <= 'Z') goto yy168;
23647 			if (yych <= '^') goto yy3;
23648 			goto yy172;
23649 		} else {
23650 			if (yych <= 'h') {
23651 				if (yych <= '`') goto yy3;
23652 				goto yy176;
23653 			} else {
23654 				if (yych <= 'i') goto yy1486;
23655 				if (yych <= 'z') goto yy176;
23656 				goto yy3;
23657 			}
23658 		}
23659 	}
23660 yy1486:
23661 	YYDEBUG(1486, *YYCURSOR);
23662 	yyaccept = 0;
23663 	yych = *(YYMARKER = ++YYCURSOR);
23664 	if (yych <= 'F') {
23665 		if (yych <= '-') {
23666 			if (yych == ')') goto yy164;
23667 			if (yych <= ',') goto yy3;
23668 			goto yy172;
23669 		} else {
23670 			if (yych == '/') goto yy172;
23671 			if (yych <= '@') goto yy3;
23672 			goto yy169;
23673 		}
23674 	} else {
23675 		if (yych <= '_') {
23676 			if (yych <= 'G') goto yy1472;
23677 			if (yych <= 'Z') goto yy169;
23678 			if (yych <= '^') goto yy3;
23679 			goto yy172;
23680 		} else {
23681 			if (yych <= 'f') {
23682 				if (yych <= '`') goto yy3;
23683 				goto yy177;
23684 			} else {
23685 				if (yych <= 'g') goto yy1487;
23686 				if (yych <= 'z') goto yy177;
23687 				goto yy3;
23688 			}
23689 		}
23690 	}
23691 yy1487:
23692 	YYDEBUG(1487, *YYCURSOR);
23693 	yyaccept = 0;
23694 	yych = *(YYMARKER = ++YYCURSOR);
23695 	if (yych <= 'G') {
23696 		if (yych <= ',') {
23697 			if (yych == ')') goto yy164;
23698 			goto yy3;
23699 		} else {
23700 			if (yych == '.') goto yy3;
23701 			if (yych <= '/') goto yy172;
23702 			goto yy3;
23703 		}
23704 	} else {
23705 		if (yych <= '`') {
23706 			if (yych <= 'H') goto yy1473;
23707 			if (yych == '_') goto yy172;
23708 			goto yy3;
23709 		} else {
23710 			if (yych == 'h') goto yy1488;
23711 			if (yych <= 'z') goto yy178;
23712 			goto yy3;
23713 		}
23714 	}
23715 yy1488:
23716 	YYDEBUG(1488, *YYCURSOR);
23717 	yych = *++YYCURSOR;
23718 	if (yych == 'T') goto yy1474;
23719 	if (yych != 't') goto yy179;
23720 	YYDEBUG(1489, *YYCURSOR);
23721 	yyaccept = 30;
23722 	yych = *(YYMARKER = ++YYCURSOR);
23723 	if (yybm[0+yych] & 16) {
23724 		goto yy178;
23725 	}
23726 	if (yych <= '.') {
23727 		if (yych == '-') goto yy172;
23728 		goto yy1420;
23729 	} else {
23730 		if (yych <= '/') goto yy172;
23731 		if (yych == '_') goto yy172;
23732 		goto yy1420;
23733 	}
23734 yy1490:
23735 	YYDEBUG(1490, *YYCURSOR);
23736 	yyaccept = 5;
23737 	yych = *(YYMARKER = ++YYCURSOR);
23738 	if (yych <= '9') {
23739 		if (yych <= '(') {
23740 			if (yych <= '\t') {
23741 				if (yych <= 0x08) goto yy218;
23742 				goto yy220;
23743 			} else {
23744 				if (yych == ' ') goto yy220;
23745 				goto yy218;
23746 			}
23747 		} else {
23748 			if (yych <= '-') {
23749 				if (yych <= ')') goto yy164;
23750 				if (yych <= ',') goto yy218;
23751 				goto yy336;
23752 			} else {
23753 				if (yych == '/') goto yy172;
23754 				goto yy220;
23755 			}
23756 		}
23757 	} else {
23758 		if (yych <= '^') {
23759 			if (yych <= 'B') {
23760 				if (yych <= '@') goto yy218;
23761 				goto yy167;
23762 			} else {
23763 				if (yych <= 'C') goto yy1477;
23764 				if (yych <= 'Z') goto yy167;
23765 				goto yy218;
23766 			}
23767 		} else {
23768 			if (yych <= 'b') {
23769 				if (yych <= '_') goto yy172;
23770 				if (yych <= '`') goto yy218;
23771 				goto yy175;
23772 			} else {
23773 				if (yych <= 'c') goto yy1492;
23774 				if (yych <= 'z') goto yy175;
23775 				goto yy218;
23776 			}
23777 		}
23778 	}
23779 yy1491:
23780 	YYDEBUG(1491, *YYCURSOR);
23781 	yyaccept = 5;
23782 	yych = *(YYMARKER = ++YYCURSOR);
23783 	if (yych <= '.') {
23784 		if (yych <= ' ') {
23785 			if (yych == '\t') goto yy220;
23786 			if (yych <= 0x1F) goto yy218;
23787 			goto yy220;
23788 		} else {
23789 			if (yych <= ')') {
23790 				if (yych <= '(') goto yy218;
23791 				goto yy164;
23792 			} else {
23793 				if (yych <= ',') goto yy218;
23794 				if (yych <= '-') goto yy336;
23795 				goto yy220;
23796 			}
23797 		}
23798 	} else {
23799 		if (yych <= 'Z') {
23800 			if (yych <= '/') goto yy172;
23801 			if (yych <= '9') goto yy220;
23802 			if (yych <= '@') goto yy218;
23803 			goto yy167;
23804 		} else {
23805 			if (yych <= '_') {
23806 				if (yych <= '^') goto yy218;
23807 				goto yy172;
23808 			} else {
23809 				if (yych <= '`') goto yy218;
23810 				if (yych <= 'z') goto yy175;
23811 				goto yy218;
23812 			}
23813 		}
23814 	}
23815 yy1492:
23816 	YYDEBUG(1492, *YYCURSOR);
23817 	yyaccept = 0;
23818 	yych = *(YYMARKER = ++YYCURSOR);
23819 	if (yych <= 'G') {
23820 		if (yych <= '-') {
23821 			if (yych == ')') goto yy164;
23822 			if (yych <= ',') goto yy3;
23823 			goto yy172;
23824 		} else {
23825 			if (yych == '/') goto yy172;
23826 			if (yych <= '@') goto yy3;
23827 			goto yy168;
23828 		}
23829 	} else {
23830 		if (yych <= '_') {
23831 			if (yych <= 'H') goto yy360;
23832 			if (yych <= 'Z') goto yy168;
23833 			if (yych <= '^') goto yy3;
23834 			goto yy172;
23835 		} else {
23836 			if (yych <= 'g') {
23837 				if (yych <= '`') goto yy3;
23838 				goto yy176;
23839 			} else {
23840 				if (yych <= 'h') goto yy371;
23841 				if (yych <= 'z') goto yy176;
23842 				goto yy3;
23843 			}
23844 		}
23845 	}
23846 yy1493:
23847 	YYDEBUG(1493, *YYCURSOR);
23848 	yych = *++YYCURSOR;
23849 	if (yych <= 'W') {
23850 		if (yych <= 'N') {
23851 			if (yych == ')') goto yy164;
23852 			if (yych <= '@') goto yy3;
23853 			goto yy166;
23854 		} else {
23855 			if (yych <= 'O') goto yy1501;
23856 			if (yych <= 'U') goto yy166;
23857 			if (yych <= 'V') goto yy1502;
23858 			goto yy1499;
23859 		}
23860 	} else {
23861 		if (yych <= 'o') {
23862 			if (yych <= 'Z') goto yy166;
23863 			if (yych <= '`') goto yy3;
23864 			if (yych <= 'n') goto yy166;
23865 			goto yy1501;
23866 		} else {
23867 			if (yych <= 'v') {
23868 				if (yych <= 'u') goto yy166;
23869 				goto yy1502;
23870 			} else {
23871 				if (yych <= 'w') goto yy1499;
23872 				if (yych <= 'z') goto yy166;
23873 				goto yy3;
23874 			}
23875 		}
23876 	}
23877 yy1494:
23878 	YYDEBUG(1494, *YYCURSOR);
23879 	yych = *++YYCURSOR;
23880 	if (yych <= 'X') {
23881 		if (yych <= ')') {
23882 			if (yych <= '(') goto yy3;
23883 			goto yy164;
23884 		} else {
23885 			if (yych <= '@') goto yy3;
23886 			if (yych <= 'W') goto yy166;
23887 			goto yy1498;
23888 		}
23889 	} else {
23890 		if (yych <= 'w') {
23891 			if (yych <= 'Z') goto yy166;
23892 			if (yych <= '`') goto yy3;
23893 			goto yy166;
23894 		} else {
23895 			if (yych <= 'x') goto yy1498;
23896 			if (yych <= 'z') goto yy166;
23897 			goto yy3;
23898 		}
23899 	}
23900 yy1495:
23901 	YYDEBUG(1495, *YYCURSOR);
23902 	yych = *++YYCURSOR;
23903 	if (yych <= 'N') {
23904 		if (yych <= ')') {
23905 			if (yych <= '(') goto yy3;
23906 			goto yy164;
23907 		} else {
23908 			if (yych <= '@') goto yy3;
23909 			if (yych <= 'M') goto yy166;
23910 		}
23911 	} else {
23912 		if (yych <= 'm') {
23913 			if (yych <= 'Z') goto yy166;
23914 			if (yych <= '`') goto yy3;
23915 			goto yy166;
23916 		} else {
23917 			if (yych <= 'n') goto yy1496;
23918 			if (yych <= 'z') goto yy166;
23919 			goto yy3;
23920 		}
23921 	}
23922 yy1496:
23923 	YYDEBUG(1496, *YYCURSOR);
23924 	yych = *++YYCURSOR;
23925 	if (yych <= 'T') {
23926 		if (yych <= ')') {
23927 			if (yych <= '(') goto yy3;
23928 			goto yy164;
23929 		} else {
23930 			if (yych <= '@') goto yy3;
23931 			if (yych <= 'S') goto yy167;
23932 		}
23933 	} else {
23934 		if (yych <= 's') {
23935 			if (yych <= 'Z') goto yy167;
23936 			if (yych <= '`') goto yy3;
23937 			goto yy167;
23938 		} else {
23939 			if (yych <= 't') goto yy1497;
23940 			if (yych <= 'z') goto yy167;
23941 			goto yy3;
23942 		}
23943 	}
23944 yy1497:
23945 	YYDEBUG(1497, *YYCURSOR);
23946 	yych = *++YYCURSOR;
23947 	if (yych <= 'H') {
23948 		if (yych <= ')') {
23949 			if (yych <= '(') goto yy3;
23950 			goto yy164;
23951 		} else {
23952 			if (yych <= '@') goto yy3;
23953 			if (yych <= 'G') goto yy168;
23954 			goto yy1228;
23955 		}
23956 	} else {
23957 		if (yych <= 'g') {
23958 			if (yych <= 'Z') goto yy168;
23959 			if (yych <= '`') goto yy3;
23960 			goto yy168;
23961 		} else {
23962 			if (yych <= 'h') goto yy1228;
23963 			if (yych <= 'z') goto yy168;
23964 			goto yy3;
23965 		}
23966 	}
23967 yy1498:
23968 	YYDEBUG(1498, *YYCURSOR);
23969 	yych = *++YYCURSOR;
23970 	if (yych <= 'T') {
23971 		if (yych <= ')') {
23972 			if (yych <= '(') goto yy3;
23973 			goto yy164;
23974 		} else {
23975 			if (yych <= '@') goto yy3;
23976 			if (yych <= 'S') goto yy167;
23977 			goto yy1428;
23978 		}
23979 	} else {
23980 		if (yych <= 's') {
23981 			if (yych <= 'Z') goto yy167;
23982 			if (yych <= '`') goto yy3;
23983 			goto yy167;
23984 		} else {
23985 			if (yych <= 't') goto yy1428;
23986 			if (yych <= 'z') goto yy167;
23987 			goto yy3;
23988 		}
23989 	}
23990 yy1499:
23991 	YYDEBUG(1499, *YYCURSOR);
23992 	++YYCURSOR;
23993 	if ((yych = *YYCURSOR) <= '@') {
23994 		if (yych == ')') goto yy164;
23995 	} else {
23996 		if (yych <= 'Z') goto yy167;
23997 		if (yych <= '`') goto yy1500;
23998 		if (yych <= 'z') goto yy167;
23999 	}
24000 yy1500:
24001 	YYDEBUG(1500, *YYCURSOR);
24002 #line 982 "ext/date/lib/parse_date.re"
24003 	{
24004 		DEBUG_OUTPUT("now");
24005 		TIMELIB_INIT;
24006 
24007 		TIMELIB_DEINIT;
24008 		return TIMELIB_RELATIVE;
24009 	}
24010 #line 24011 "<stdout>"
24011 yy1501:
24012 	YYDEBUG(1501, *YYCURSOR);
24013 	yych = *++YYCURSOR;
24014 	if (yych <= 'N') {
24015 		if (yych <= ')') {
24016 			if (yych <= '(') goto yy3;
24017 			goto yy164;
24018 		} else {
24019 			if (yych <= '@') goto yy3;
24020 			if (yych <= 'M') goto yy167;
24021 			goto yy1507;
24022 		}
24023 	} else {
24024 		if (yych <= 'm') {
24025 			if (yych <= 'Z') goto yy167;
24026 			if (yych <= '`') goto yy3;
24027 			goto yy167;
24028 		} else {
24029 			if (yych <= 'n') goto yy1507;
24030 			if (yych <= 'z') goto yy167;
24031 			goto yy3;
24032 		}
24033 	}
24034 yy1502:
24035 	YYDEBUG(1502, *YYCURSOR);
24036 	yyaccept = 5;
24037 	yych = *(YYMARKER = ++YYCURSOR);
24038 	if (yych <= '/') {
24039 		if (yych <= '(') {
24040 			if (yych <= '\t') {
24041 				if (yych <= 0x08) goto yy218;
24042 				goto yy220;
24043 			} else {
24044 				if (yych == ' ') goto yy220;
24045 				goto yy218;
24046 			}
24047 		} else {
24048 			if (yych <= ',') {
24049 				if (yych <= ')') goto yy164;
24050 				goto yy218;
24051 			} else {
24052 				if (yych <= '-') goto yy221;
24053 				if (yych <= '.') goto yy220;
24054 				goto yy218;
24055 			}
24056 		}
24057 	} else {
24058 		if (yych <= 'Z') {
24059 			if (yych <= '@') {
24060 				if (yych <= '9') goto yy220;
24061 				goto yy218;
24062 			} else {
24063 				if (yych != 'E') goto yy167;
24064 			}
24065 		} else {
24066 			if (yych <= 'd') {
24067 				if (yych <= '`') goto yy218;
24068 				goto yy167;
24069 			} else {
24070 				if (yych <= 'e') goto yy1503;
24071 				if (yych <= 'z') goto yy167;
24072 				goto yy218;
24073 			}
24074 		}
24075 	}
24076 yy1503:
24077 	YYDEBUG(1503, *YYCURSOR);
24078 	yych = *++YYCURSOR;
24079 	if (yych <= 'M') {
24080 		if (yych <= ')') {
24081 			if (yych <= '(') goto yy3;
24082 			goto yy164;
24083 		} else {
24084 			if (yych <= '@') goto yy3;
24085 			if (yych <= 'L') goto yy168;
24086 		}
24087 	} else {
24088 		if (yych <= 'l') {
24089 			if (yych <= 'Z') goto yy168;
24090 			if (yych <= '`') goto yy3;
24091 			goto yy168;
24092 		} else {
24093 			if (yych <= 'm') goto yy1504;
24094 			if (yych <= 'z') goto yy168;
24095 			goto yy3;
24096 		}
24097 	}
24098 yy1504:
24099 	YYDEBUG(1504, *YYCURSOR);
24100 	yych = *++YYCURSOR;
24101 	if (yych <= 'B') {
24102 		if (yych <= ')') {
24103 			if (yych <= '(') goto yy3;
24104 			goto yy164;
24105 		} else {
24106 			if (yych <= '@') goto yy3;
24107 			if (yych <= 'A') goto yy169;
24108 		}
24109 	} else {
24110 		if (yych <= 'a') {
24111 			if (yych <= 'Z') goto yy169;
24112 			if (yych <= '`') goto yy3;
24113 			goto yy169;
24114 		} else {
24115 			if (yych <= 'b') goto yy1505;
24116 			if (yych <= 'z') goto yy169;
24117 			goto yy3;
24118 		}
24119 	}
24120 yy1505:
24121 	YYDEBUG(1505, *YYCURSOR);
24122 	yyaccept = 0;
24123 	yych = *(YYMARKER = ++YYCURSOR);
24124 	if (yych <= 'D') {
24125 		if (yych == ')') goto yy164;
24126 		goto yy3;
24127 	} else {
24128 		if (yych <= 'E') goto yy1506;
24129 		if (yych != 'e') goto yy3;
24130 	}
24131 yy1506:
24132 	YYDEBUG(1506, *YYCURSOR);
24133 	yych = *++YYCURSOR;
24134 	if (yych == 'R') goto yy229;
24135 	if (yych == 'r') goto yy229;
24136 	goto yy56;
24137 yy1507:
24138 	YYDEBUG(1507, *YYCURSOR);
24139 	++YYCURSOR;
24140 	if ((yych = *YYCURSOR) <= '@') {
24141 		if (yych == ')') goto yy164;
24142 	} else {
24143 		if (yych <= 'Z') goto yy168;
24144 		if (yych <= '`') goto yy1508;
24145 		if (yych <= 'z') goto yy168;
24146 	}
24147 yy1508:
24148 	YYDEBUG(1508, *YYCURSOR);
24149 #line 991 "ext/date/lib/parse_date.re"
24150 	{
24151 		DEBUG_OUTPUT("noon");
24152 		TIMELIB_INIT;
24153 		TIMELIB_UNHAVE_TIME();
24154 		TIMELIB_HAVE_TIME();
24155 		s->time->h = 12;
24156 
24157 		TIMELIB_DEINIT;
24158 		return TIMELIB_RELATIVE;
24159 	}
24160 #line 24161 "<stdout>"
24161 yy1509:
24162 	YYDEBUG(1509, *YYCURSOR);
24163 	yyaccept = 0;
24164 	yych = *(YYMARKER = ++YYCURSOR);
24165 	if (yych <= 'V') {
24166 		if (yych <= '.') {
24167 			if (yych <= ')') {
24168 				if (yych <= '(') goto yy3;
24169 				goto yy164;
24170 			} else {
24171 				if (yych == '-') goto yy172;
24172 				goto yy3;
24173 			}
24174 		} else {
24175 			if (yych <= 'N') {
24176 				if (yych <= '/') goto yy172;
24177 				if (yych <= '@') goto yy3;
24178 				goto yy166;
24179 			} else {
24180 				if (yych <= 'O') goto yy1501;
24181 				if (yych <= 'U') goto yy166;
24182 				goto yy1502;
24183 			}
24184 		}
24185 	} else {
24186 		if (yych <= 'n') {
24187 			if (yych <= '^') {
24188 				if (yych <= 'W') goto yy1499;
24189 				if (yych <= 'Z') goto yy166;
24190 				goto yy3;
24191 			} else {
24192 				if (yych <= '_') goto yy172;
24193 				if (yych <= '`') goto yy3;
24194 				goto yy171;
24195 			}
24196 		} else {
24197 			if (yych <= 'v') {
24198 				if (yych <= 'o') goto yy1516;
24199 				if (yych <= 'u') goto yy171;
24200 				goto yy1517;
24201 			} else {
24202 				if (yych <= 'w') goto yy1515;
24203 				if (yych <= 'z') goto yy171;
24204 				goto yy3;
24205 			}
24206 		}
24207 	}
24208 yy1510:
24209 	YYDEBUG(1510, *YYCURSOR);
24210 	yyaccept = 0;
24211 	yych = *(YYMARKER = ++YYCURSOR);
24212 	if (yych <= 'W') {
24213 		if (yych <= '-') {
24214 			if (yych == ')') goto yy164;
24215 			if (yych <= ',') goto yy3;
24216 			goto yy172;
24217 		} else {
24218 			if (yych == '/') goto yy172;
24219 			if (yych <= '@') goto yy3;
24220 			goto yy166;
24221 		}
24222 	} else {
24223 		if (yych <= '_') {
24224 			if (yych <= 'X') goto yy1498;
24225 			if (yych <= 'Z') goto yy166;
24226 			if (yych <= '^') goto yy3;
24227 			goto yy172;
24228 		} else {
24229 			if (yych <= 'w') {
24230 				if (yych <= '`') goto yy3;
24231 				goto yy171;
24232 			} else {
24233 				if (yych <= 'x') goto yy1514;
24234 				if (yych <= 'z') goto yy171;
24235 				goto yy3;
24236 			}
24237 		}
24238 	}
24239 yy1511:
24240 	YYDEBUG(1511, *YYCURSOR);
24241 	yyaccept = 0;
24242 	yych = *(YYMARKER = ++YYCURSOR);
24243 	if (yych <= 'M') {
24244 		if (yych <= '-') {
24245 			if (yych == ')') goto yy164;
24246 			if (yych <= ',') goto yy3;
24247 			goto yy172;
24248 		} else {
24249 			if (yych == '/') goto yy172;
24250 			if (yych <= '@') goto yy3;
24251 			goto yy166;
24252 		}
24253 	} else {
24254 		if (yych <= '_') {
24255 			if (yych <= 'N') goto yy1496;
24256 			if (yych <= 'Z') goto yy166;
24257 			if (yych <= '^') goto yy3;
24258 			goto yy172;
24259 		} else {
24260 			if (yych <= 'm') {
24261 				if (yych <= '`') goto yy3;
24262 				goto yy171;
24263 			} else {
24264 				if (yych <= 'n') goto yy1512;
24265 				if (yych <= 'z') goto yy171;
24266 				goto yy3;
24267 			}
24268 		}
24269 	}
24270 yy1512:
24271 	YYDEBUG(1512, *YYCURSOR);
24272 	yyaccept = 0;
24273 	yych = *(YYMARKER = ++YYCURSOR);
24274 	if (yych <= 'S') {
24275 		if (yych <= '-') {
24276 			if (yych == ')') goto yy164;
24277 			if (yych <= ',') goto yy3;
24278 			goto yy172;
24279 		} else {
24280 			if (yych == '/') goto yy172;
24281 			if (yych <= '@') goto yy3;
24282 			goto yy167;
24283 		}
24284 	} else {
24285 		if (yych <= '_') {
24286 			if (yych <= 'T') goto yy1497;
24287 			if (yych <= 'Z') goto yy167;
24288 			if (yych <= '^') goto yy3;
24289 			goto yy172;
24290 		} else {
24291 			if (yych <= 's') {
24292 				if (yych <= '`') goto yy3;
24293 				goto yy175;
24294 			} else {
24295 				if (yych <= 't') goto yy1513;
24296 				if (yych <= 'z') goto yy175;
24297 				goto yy3;
24298 			}
24299 		}
24300 	}
24301 yy1513:
24302 	YYDEBUG(1513, *YYCURSOR);
24303 	yyaccept = 0;
24304 	yych = *(YYMARKER = ++YYCURSOR);
24305 	if (yych <= 'G') {
24306 		if (yych <= '-') {
24307 			if (yych == ')') goto yy164;
24308 			if (yych <= ',') goto yy3;
24309 			goto yy172;
24310 		} else {
24311 			if (yych == '/') goto yy172;
24312 			if (yych <= '@') goto yy3;
24313 			goto yy168;
24314 		}
24315 	} else {
24316 		if (yych <= '_') {
24317 			if (yych <= 'H') goto yy1228;
24318 			if (yych <= 'Z') goto yy168;
24319 			if (yych <= '^') goto yy3;
24320 			goto yy172;
24321 		} else {
24322 			if (yych <= 'g') {
24323 				if (yych <= '`') goto yy3;
24324 				goto yy176;
24325 			} else {
24326 				if (yych <= 'h') goto yy1257;
24327 				if (yych <= 'z') goto yy176;
24328 				goto yy3;
24329 			}
24330 		}
24331 	}
24332 yy1514:
24333 	YYDEBUG(1514, *YYCURSOR);
24334 	yyaccept = 0;
24335 	yych = *(YYMARKER = ++YYCURSOR);
24336 	if (yych <= 'S') {
24337 		if (yych <= '-') {
24338 			if (yych == ')') goto yy164;
24339 			if (yych <= ',') goto yy3;
24340 			goto yy172;
24341 		} else {
24342 			if (yych == '/') goto yy172;
24343 			if (yych <= '@') goto yy3;
24344 			goto yy167;
24345 		}
24346 	} else {
24347 		if (yych <= '_') {
24348 			if (yych <= 'T') goto yy1428;
24349 			if (yych <= 'Z') goto yy167;
24350 			if (yych <= '^') goto yy3;
24351 			goto yy172;
24352 		} else {
24353 			if (yych <= 's') {
24354 				if (yych <= '`') goto yy3;
24355 				goto yy175;
24356 			} else {
24357 				if (yych <= 't') goto yy1460;
24358 				if (yych <= 'z') goto yy175;
24359 				goto yy3;
24360 			}
24361 		}
24362 	}
24363 yy1515:
24364 	YYDEBUG(1515, *YYCURSOR);
24365 	yyaccept = 31;
24366 	yych = *(YYMARKER = ++YYCURSOR);
24367 	if (yych <= '/') {
24368 		if (yych <= ',') {
24369 			if (yych == ')') goto yy164;
24370 			goto yy1500;
24371 		} else {
24372 			if (yych == '.') goto yy1500;
24373 			goto yy172;
24374 		}
24375 	} else {
24376 		if (yych <= '^') {
24377 			if (yych <= '@') goto yy1500;
24378 			if (yych <= 'Z') goto yy167;
24379 			goto yy1500;
24380 		} else {
24381 			if (yych <= '_') goto yy172;
24382 			if (yych <= '`') goto yy1500;
24383 			if (yych <= 'z') goto yy175;
24384 			goto yy1500;
24385 		}
24386 	}
24387 yy1516:
24388 	YYDEBUG(1516, *YYCURSOR);
24389 	yyaccept = 0;
24390 	yych = *(YYMARKER = ++YYCURSOR);
24391 	if (yych <= 'M') {
24392 		if (yych <= '-') {
24393 			if (yych == ')') goto yy164;
24394 			if (yych <= ',') goto yy3;
24395 			goto yy172;
24396 		} else {
24397 			if (yych == '/') goto yy172;
24398 			if (yych <= '@') goto yy3;
24399 			goto yy167;
24400 		}
24401 	} else {
24402 		if (yych <= '_') {
24403 			if (yych <= 'N') goto yy1507;
24404 			if (yych <= 'Z') goto yy167;
24405 			if (yych <= '^') goto yy3;
24406 			goto yy172;
24407 		} else {
24408 			if (yych <= 'm') {
24409 				if (yych <= '`') goto yy3;
24410 				goto yy175;
24411 			} else {
24412 				if (yych <= 'n') goto yy1522;
24413 				if (yych <= 'z') goto yy175;
24414 				goto yy3;
24415 			}
24416 		}
24417 	}
24418 yy1517:
24419 	YYDEBUG(1517, *YYCURSOR);
24420 	yyaccept = 5;
24421 	yych = *(YYMARKER = ++YYCURSOR);
24422 	if (yych <= '9') {
24423 		if (yych <= '(') {
24424 			if (yych <= '\t') {
24425 				if (yych <= 0x08) goto yy218;
24426 				goto yy220;
24427 			} else {
24428 				if (yych == ' ') goto yy220;
24429 				goto yy218;
24430 			}
24431 		} else {
24432 			if (yych <= '-') {
24433 				if (yych <= ')') goto yy164;
24434 				if (yych <= ',') goto yy218;
24435 				goto yy336;
24436 			} else {
24437 				if (yych == '/') goto yy172;
24438 				goto yy220;
24439 			}
24440 		}
24441 	} else {
24442 		if (yych <= '^') {
24443 			if (yych <= 'D') {
24444 				if (yych <= '@') goto yy218;
24445 				goto yy167;
24446 			} else {
24447 				if (yych <= 'E') goto yy1503;
24448 				if (yych <= 'Z') goto yy167;
24449 				goto yy218;
24450 			}
24451 		} else {
24452 			if (yych <= 'd') {
24453 				if (yych <= '_') goto yy172;
24454 				if (yych <= '`') goto yy218;
24455 				goto yy175;
24456 			} else {
24457 				if (yych <= 'e') goto yy1518;
24458 				if (yych <= 'z') goto yy175;
24459 				goto yy218;
24460 			}
24461 		}
24462 	}
24463 yy1518:
24464 	YYDEBUG(1518, *YYCURSOR);
24465 	yyaccept = 0;
24466 	yych = *(YYMARKER = ++YYCURSOR);
24467 	if (yych <= 'L') {
24468 		if (yych <= '-') {
24469 			if (yych == ')') goto yy164;
24470 			if (yych <= ',') goto yy3;
24471 			goto yy172;
24472 		} else {
24473 			if (yych == '/') goto yy172;
24474 			if (yych <= '@') goto yy3;
24475 			goto yy168;
24476 		}
24477 	} else {
24478 		if (yych <= '_') {
24479 			if (yych <= 'M') goto yy1504;
24480 			if (yych <= 'Z') goto yy168;
24481 			if (yych <= '^') goto yy3;
24482 			goto yy172;
24483 		} else {
24484 			if (yych <= 'l') {
24485 				if (yych <= '`') goto yy3;
24486 				goto yy176;
24487 			} else {
24488 				if (yych <= 'm') goto yy1519;
24489 				if (yych <= 'z') goto yy176;
24490 				goto yy3;
24491 			}
24492 		}
24493 	}
24494 yy1519:
24495 	YYDEBUG(1519, *YYCURSOR);
24496 	yyaccept = 0;
24497 	yych = *(YYMARKER = ++YYCURSOR);
24498 	if (yych <= 'A') {
24499 		if (yych <= '-') {
24500 			if (yych == ')') goto yy164;
24501 			if (yych <= ',') goto yy3;
24502 			goto yy172;
24503 		} else {
24504 			if (yych == '/') goto yy172;
24505 			if (yych <= '@') goto yy3;
24506 			goto yy169;
24507 		}
24508 	} else {
24509 		if (yych <= '_') {
24510 			if (yych <= 'B') goto yy1505;
24511 			if (yych <= 'Z') goto yy169;
24512 			if (yych <= '^') goto yy3;
24513 			goto yy172;
24514 		} else {
24515 			if (yych <= 'a') {
24516 				if (yych <= '`') goto yy3;
24517 				goto yy177;
24518 			} else {
24519 				if (yych <= 'b') goto yy1520;
24520 				if (yych <= 'z') goto yy177;
24521 				goto yy3;
24522 			}
24523 		}
24524 	}
24525 yy1520:
24526 	YYDEBUG(1520, *YYCURSOR);
24527 	yyaccept = 0;
24528 	yych = *(YYMARKER = ++YYCURSOR);
24529 	if (yych <= 'D') {
24530 		if (yych <= ',') {
24531 			if (yych == ')') goto yy164;
24532 			goto yy3;
24533 		} else {
24534 			if (yych == '.') goto yy3;
24535 			if (yych <= '/') goto yy172;
24536 			goto yy3;
24537 		}
24538 	} else {
24539 		if (yych <= '`') {
24540 			if (yych <= 'E') goto yy1506;
24541 			if (yych == '_') goto yy172;
24542 			goto yy3;
24543 		} else {
24544 			if (yych == 'e') goto yy1521;
24545 			if (yych <= 'z') goto yy178;
24546 			goto yy3;
24547 		}
24548 	}
24549 yy1521:
24550 	YYDEBUG(1521, *YYCURSOR);
24551 	yych = *++YYCURSOR;
24552 	if (yych == 'R') goto yy229;
24553 	if (yych == 'r') goto yy341;
24554 	goto yy179;
24555 yy1522:
24556 	YYDEBUG(1522, *YYCURSOR);
24557 	yyaccept = 32;
24558 	yych = *(YYMARKER = ++YYCURSOR);
24559 	if (yych <= '/') {
24560 		if (yych <= ',') {
24561 			if (yych == ')') goto yy164;
24562 			goto yy1508;
24563 		} else {
24564 			if (yych == '.') goto yy1508;
24565 			goto yy172;
24566 		}
24567 	} else {
24568 		if (yych <= '^') {
24569 			if (yych <= '@') goto yy1508;
24570 			if (yych <= 'Z') goto yy168;
24571 			goto yy1508;
24572 		} else {
24573 			if (yych <= '_') goto yy172;
24574 			if (yych <= '`') goto yy1508;
24575 			if (yych <= 'z') goto yy176;
24576 			goto yy1508;
24577 		}
24578 	}
24579 yy1523:
24580 	YYDEBUG(1523, *YYCURSOR);
24581 	yych = *++YYCURSOR;
24582 	if (yych <= 'S') {
24583 		if (yych <= ')') {
24584 			if (yych <= '(') goto yy3;
24585 			goto yy164;
24586 		} else {
24587 			if (yych <= '@') goto yy3;
24588 			if (yych <= 'R') goto yy166;
24589 		}
24590 	} else {
24591 		if (yych <= 'r') {
24592 			if (yych <= 'Z') goto yy166;
24593 			if (yych <= '`') goto yy3;
24594 			goto yy166;
24595 		} else {
24596 			if (yych <= 's') goto yy1524;
24597 			if (yych <= 'z') goto yy166;
24598 			goto yy3;
24599 		}
24600 	}
24601 yy1524:
24602 	YYDEBUG(1524, *YYCURSOR);
24603 	yych = *++YYCURSOR;
24604 	if (yych <= 'T') {
24605 		if (yych <= ')') {
24606 			if (yych <= '(') goto yy3;
24607 			goto yy164;
24608 		} else {
24609 			if (yych <= '@') goto yy3;
24610 			if (yych <= 'S') goto yy167;
24611 		}
24612 	} else {
24613 		if (yych <= 's') {
24614 			if (yych <= 'Z') goto yy167;
24615 			if (yych <= '`') goto yy3;
24616 			goto yy167;
24617 		} else {
24618 			if (yych <= 't') goto yy1525;
24619 			if (yych <= 'z') goto yy167;
24620 			goto yy3;
24621 		}
24622 	}
24623 yy1525:
24624 	YYDEBUG(1525, *YYCURSOR);
24625 	yych = *++YYCURSOR;
24626 	if (yych <= 'E') {
24627 		if (yych <= ')') {
24628 			if (yych <= '(') goto yy3;
24629 			goto yy164;
24630 		} else {
24631 			if (yych <= '@') goto yy3;
24632 			if (yych <= 'D') goto yy168;
24633 		}
24634 	} else {
24635 		if (yych <= 'd') {
24636 			if (yych <= 'Z') goto yy168;
24637 			if (yych <= '`') goto yy3;
24638 			goto yy168;
24639 		} else {
24640 			if (yych <= 'e') goto yy1526;
24641 			if (yych <= 'z') goto yy168;
24642 			goto yy3;
24643 		}
24644 	}
24645 yy1526:
24646 	YYDEBUG(1526, *YYCURSOR);
24647 	yych = *++YYCURSOR;
24648 	if (yych <= 'R') {
24649 		if (yych <= ')') {
24650 			if (yych <= '(') goto yy3;
24651 			goto yy164;
24652 		} else {
24653 			if (yych <= '@') goto yy3;
24654 			if (yych <= 'Q') goto yy169;
24655 		}
24656 	} else {
24657 		if (yych <= 'q') {
24658 			if (yych <= 'Z') goto yy169;
24659 			if (yych <= '`') goto yy3;
24660 			goto yy169;
24661 		} else {
24662 			if (yych <= 'r') goto yy1527;
24663 			if (yych <= 'z') goto yy169;
24664 			goto yy3;
24665 		}
24666 	}
24667 yy1527:
24668 	YYDEBUG(1527, *YYCURSOR);
24669 	yyaccept = 0;
24670 	yych = *(YYMARKER = ++YYCURSOR);
24671 	if (yych <= 'C') {
24672 		if (yych == ')') goto yy164;
24673 		goto yy3;
24674 	} else {
24675 		if (yych <= 'D') goto yy1528;
24676 		if (yych != 'd') goto yy3;
24677 	}
24678 yy1528:
24679 	YYDEBUG(1528, *YYCURSOR);
24680 	yych = *++YYCURSOR;
24681 	if (yych == 'A') goto yy1529;
24682 	if (yych != 'a') goto yy56;
24683 yy1529:
24684 	YYDEBUG(1529, *YYCURSOR);
24685 	yych = *++YYCURSOR;
24686 	if (yych == 'Y') goto yy1530;
24687 	if (yych != 'y') goto yy56;
24688 yy1530:
24689 	YYDEBUG(1530, *YYCURSOR);
24690 	++YYCURSOR;
24691 yy1531:
24692 	YYDEBUG(1531, *YYCURSOR);
24693 #line 970 "ext/date/lib/parse_date.re"
24694 	{
24695 		DEBUG_OUTPUT("yesterday");
24696 		TIMELIB_INIT;
24697 		TIMELIB_HAVE_RELATIVE();
24698 		TIMELIB_UNHAVE_TIME();
24699 
24700 		s->time->relative.d = -1;
24701 		TIMELIB_DEINIT;
24702 		return TIMELIB_RELATIVE;
24703 	}
24704 #line 24705 "<stdout>"
24705 yy1532:
24706 	YYDEBUG(1532, *YYCURSOR);
24707 	yyaccept = 0;
24708 	yych = *(YYMARKER = ++YYCURSOR);
24709 	if (yych <= 'R') {
24710 		if (yych <= '-') {
24711 			if (yych == ')') goto yy164;
24712 			if (yych <= ',') goto yy3;
24713 			goto yy172;
24714 		} else {
24715 			if (yych == '/') goto yy172;
24716 			if (yych <= '@') goto yy3;
24717 			goto yy166;
24718 		}
24719 	} else {
24720 		if (yych <= '_') {
24721 			if (yych <= 'S') goto yy1524;
24722 			if (yych <= 'Z') goto yy166;
24723 			if (yych <= '^') goto yy3;
24724 			goto yy172;
24725 		} else {
24726 			if (yych <= 'r') {
24727 				if (yych <= '`') goto yy3;
24728 				goto yy171;
24729 			} else {
24730 				if (yych <= 's') goto yy1533;
24731 				if (yych <= 'z') goto yy171;
24732 				goto yy3;
24733 			}
24734 		}
24735 	}
24736 yy1533:
24737 	YYDEBUG(1533, *YYCURSOR);
24738 	yyaccept = 0;
24739 	yych = *(YYMARKER = ++YYCURSOR);
24740 	if (yych <= 'S') {
24741 		if (yych <= '-') {
24742 			if (yych == ')') goto yy164;
24743 			if (yych <= ',') goto yy3;
24744 			goto yy172;
24745 		} else {
24746 			if (yych == '/') goto yy172;
24747 			if (yych <= '@') goto yy3;
24748 			goto yy167;
24749 		}
24750 	} else {
24751 		if (yych <= '_') {
24752 			if (yych <= 'T') goto yy1525;
24753 			if (yych <= 'Z') goto yy167;
24754 			if (yych <= '^') goto yy3;
24755 			goto yy172;
24756 		} else {
24757 			if (yych <= 's') {
24758 				if (yych <= '`') goto yy3;
24759 				goto yy175;
24760 			} else {
24761 				if (yych <= 't') goto yy1534;
24762 				if (yych <= 'z') goto yy175;
24763 				goto yy3;
24764 			}
24765 		}
24766 	}
24767 yy1534:
24768 	YYDEBUG(1534, *YYCURSOR);
24769 	yyaccept = 0;
24770 	yych = *(YYMARKER = ++YYCURSOR);
24771 	if (yych <= 'D') {
24772 		if (yych <= '-') {
24773 			if (yych == ')') goto yy164;
24774 			if (yych <= ',') goto yy3;
24775 			goto yy172;
24776 		} else {
24777 			if (yych == '/') goto yy172;
24778 			if (yych <= '@') goto yy3;
24779 			goto yy168;
24780 		}
24781 	} else {
24782 		if (yych <= '_') {
24783 			if (yych <= 'E') goto yy1526;
24784 			if (yych <= 'Z') goto yy168;
24785 			if (yych <= '^') goto yy3;
24786 			goto yy172;
24787 		} else {
24788 			if (yych <= 'd') {
24789 				if (yych <= '`') goto yy3;
24790 				goto yy176;
24791 			} else {
24792 				if (yych <= 'e') goto yy1535;
24793 				if (yych <= 'z') goto yy176;
24794 				goto yy3;
24795 			}
24796 		}
24797 	}
24798 yy1535:
24799 	YYDEBUG(1535, *YYCURSOR);
24800 	yyaccept = 0;
24801 	yych = *(YYMARKER = ++YYCURSOR);
24802 	if (yych <= 'Q') {
24803 		if (yych <= '-') {
24804 			if (yych == ')') goto yy164;
24805 			if (yych <= ',') goto yy3;
24806 			goto yy172;
24807 		} else {
24808 			if (yych == '/') goto yy172;
24809 			if (yych <= '@') goto yy3;
24810 			goto yy169;
24811 		}
24812 	} else {
24813 		if (yych <= '_') {
24814 			if (yych <= 'R') goto yy1527;
24815 			if (yych <= 'Z') goto yy169;
24816 			if (yych <= '^') goto yy3;
24817 			goto yy172;
24818 		} else {
24819 			if (yych <= 'q') {
24820 				if (yych <= '`') goto yy3;
24821 				goto yy177;
24822 			} else {
24823 				if (yych <= 'r') goto yy1536;
24824 				if (yych <= 'z') goto yy177;
24825 				goto yy3;
24826 			}
24827 		}
24828 	}
24829 yy1536:
24830 	YYDEBUG(1536, *YYCURSOR);
24831 	yyaccept = 0;
24832 	yych = *(YYMARKER = ++YYCURSOR);
24833 	if (yych <= 'C') {
24834 		if (yych <= ',') {
24835 			if (yych == ')') goto yy164;
24836 			goto yy3;
24837 		} else {
24838 			if (yych == '.') goto yy3;
24839 			if (yych <= '/') goto yy172;
24840 			goto yy3;
24841 		}
24842 	} else {
24843 		if (yych <= '`') {
24844 			if (yych <= 'D') goto yy1528;
24845 			if (yych == '_') goto yy172;
24846 			goto yy3;
24847 		} else {
24848 			if (yych == 'd') goto yy1537;
24849 			if (yych <= 'z') goto yy178;
24850 			goto yy3;
24851 		}
24852 	}
24853 yy1537:
24854 	YYDEBUG(1537, *YYCURSOR);
24855 	yych = *++YYCURSOR;
24856 	if (yych == 'A') goto yy1529;
24857 	if (yych != 'a') goto yy179;
24858 	YYDEBUG(1538, *YYCURSOR);
24859 	yych = *++YYCURSOR;
24860 	if (yych == 'Y') goto yy1530;
24861 	if (yych != 'y') goto yy179;
24862 	YYDEBUG(1539, *YYCURSOR);
24863 	yyaccept = 33;
24864 	yych = *(YYMARKER = ++YYCURSOR);
24865 	if (yybm[0+yych] & 16) {
24866 		goto yy178;
24867 	}
24868 	if (yych <= '.') {
24869 		if (yych == '-') goto yy172;
24870 		goto yy1531;
24871 	} else {
24872 		if (yych <= '/') goto yy172;
24873 		if (yych == '_') goto yy172;
24874 		goto yy1531;
24875 	}
24876 }
24877 #line 1772 "ext/date/lib/parse_date.re"
24878 
24879 }
24880 
24881 #define YYMAXFILL 33
24882 
timelib_strtotime(char * s,size_t len,struct timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)24883 timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
24884 {
24885 	Scanner in;
24886 	int t;
24887 	char *e = s + len - 1;
24888 
24889 	memset(&in, 0, sizeof(in));
24890 	in.errors = timelib_malloc(sizeof(struct timelib_error_container));
24891 	in.errors->warning_count = 0;
24892 	in.errors->warning_messages = NULL;
24893 	in.errors->error_count = 0;
24894 	in.errors->error_messages = NULL;
24895 
24896 	if (len > 0) {
24897 		while (isspace(*s) && s < e) {
24898 			s++;
24899 		}
24900 		while (isspace(*e) && e > s) {
24901 			e--;
24902 		}
24903 	}
24904 	if (e - s < 0) {
24905 		in.time = timelib_time_ctor();
24906 		add_error(&in, "Empty string");
24907 		if (errors) {
24908 			*errors = in.errors;
24909 		} else {
24910 			timelib_error_container_dtor(in.errors);
24911 		}
24912 		in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->dst = in.time->z = TIMELIB_UNSET;
24913 		in.time->is_localtime = in.time->zone_type = 0;
24914 		return in.time;
24915 	}
24916 	e++;
24917 
24918 	in.str = timelib_malloc((e - s) + YYMAXFILL);
24919 	memset(in.str, 0, (e - s) + YYMAXFILL);
24920 	memcpy(in.str, s, (e - s));
24921 	in.lim = in.str + (e - s) + YYMAXFILL;
24922 	in.cur = in.str;
24923 	in.time = timelib_time_ctor();
24924 	in.time->y = TIMELIB_UNSET;
24925 	in.time->d = TIMELIB_UNSET;
24926 	in.time->m = TIMELIB_UNSET;
24927 	in.time->h = TIMELIB_UNSET;
24928 	in.time->i = TIMELIB_UNSET;
24929 	in.time->s = TIMELIB_UNSET;
24930 	in.time->f = TIMELIB_UNSET;
24931 	in.time->z = TIMELIB_UNSET;
24932 	in.time->dst = TIMELIB_UNSET;
24933 	in.tzdb = tzdb;
24934 	in.time->is_localtime = 0;
24935 	in.time->zone_type = 0;
24936 	in.time->relative.days = TIMELIB_UNSET;
24937 
24938 	do {
24939 		t = scan(&in, tz_get_wrapper);
24940 #ifdef DEBUG_PARSER
24941 		printf("%d\n", t);
24942 #endif
24943 	} while(t != EOI);
24944 
24945 	/* do funky checking whether the parsed time was valid time */
24946 	if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
24947 		add_warning(&in, "The parsed time was invalid");
24948 	}
24949 	/* do funky checking whether the parsed date was valid date */
24950 	if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
24951 		add_warning(&in, "The parsed date was invalid");
24952 	}
24953 
24954 	timelib_free(in.str);
24955 	if (errors) {
24956 		*errors = in.errors;
24957 	} else {
24958 		timelib_error_container_dtor(in.errors);
24959 	}
24960 	return in.time;
24961 }
24962 
24963 #define TIMELIB_CHECK_NUMBER                                           \
24964 		if (strchr("0123456789", *ptr) == NULL)                        \
24965 		{                                                              \
24966 			add_pbf_error(s, "Unexpected data found.", string, begin); \
24967 		}
24968 #define TIMELIB_CHECK_SIGNED_NUMBER                                    \
24969 		if (strchr("-0123456789", *ptr) == NULL)                       \
24970 		{                                                              \
24971 			add_pbf_error(s, "Unexpected data found.", string, begin); \
24972 		}
24973 
timelib_time_reset_fields(timelib_time * time)24974 static void timelib_time_reset_fields(timelib_time *time)
24975 {
24976 	assert(time != NULL);
24977 
24978 	time->y = 1970;
24979 	time->m = 1;
24980 	time->d = 1;
24981 	time->h = time->i = time->s = 0;
24982 	time->f = 0.0;
24983 	time->tz_info = NULL;
24984 }
24985 
timelib_time_reset_unset_fields(timelib_time * time)24986 static void timelib_time_reset_unset_fields(timelib_time *time)
24987 {
24988 	assert(time != NULL);
24989 
24990 	if (time->y == TIMELIB_UNSET ) time->y = 1970;
24991 	if (time->m == TIMELIB_UNSET ) time->m = 1;
24992 	if (time->d == TIMELIB_UNSET ) time->d = 1;
24993 	if (time->h == TIMELIB_UNSET ) time->h = 0;
24994 	if (time->i == TIMELIB_UNSET ) time->i = 0;
24995 	if (time->s == TIMELIB_UNSET ) time->s = 0;
24996 	if (time->f == TIMELIB_UNSET ) time->f = 0.0;
24997 }
24998 
timelib_parse_from_format(char * format,char * string,size_t len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)24999 timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
25000 {
25001 	char       *fptr = format;
25002 	char       *ptr = string;
25003 	char       *begin;
25004 	timelib_sll tmp;
25005 	Scanner in;
25006 	Scanner *s = &in;
25007 	int allow_extra = 0;
25008 
25009 	memset(&in, 0, sizeof(in));
25010 	in.errors = timelib_malloc(sizeof(struct timelib_error_container));
25011 	in.errors->warning_count = 0;
25012 	in.errors->warning_messages = NULL;
25013 	in.errors->error_count = 0;
25014 	in.errors->error_messages = NULL;
25015 
25016 	in.time = timelib_time_ctor();
25017 	in.time->y = TIMELIB_UNSET;
25018 	in.time->d = TIMELIB_UNSET;
25019 	in.time->m = TIMELIB_UNSET;
25020 	in.time->h = TIMELIB_UNSET;
25021 	in.time->i = TIMELIB_UNSET;
25022 	in.time->s = TIMELIB_UNSET;
25023 	in.time->f = TIMELIB_UNSET;
25024 	in.time->z = TIMELIB_UNSET;
25025 	in.time->dst = TIMELIB_UNSET;
25026 	in.tzdb = tzdb;
25027 	in.time->is_localtime = 0;
25028 	in.time->zone_type = 0;
25029 
25030 	/* Loop over the format string */
25031 	while (*fptr && *ptr) {
25032 		begin = ptr;
25033 		switch (*fptr) {
25034 			case 'D': /* three letter day */
25035 			case 'l': /* full day */
25036 				{
25037 					const timelib_relunit* tmprel = 0;
25038 
25039 					tmprel = timelib_lookup_relunit((char **) &ptr);
25040 					if (!tmprel) {
25041 						add_pbf_error(s, "A textual day could not be found", string, begin);
25042 						break;
25043 					} else {
25044 						in.time->have_relative = 1;
25045 						in.time->relative.have_weekday_relative = 1;
25046 						in.time->relative.weekday = tmprel->multiplier;
25047 						in.time->relative.weekday_behavior = 1;
25048 					}
25049 				}
25050 				break;
25051 			case 'd': /* two digit day, with leading zero */
25052 			case 'j': /* two digit day, without leading zero */
25053 				TIMELIB_CHECK_NUMBER;
25054 				if ((s->time->d = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
25055 					add_pbf_error(s, "A two digit day could not be found", string, begin);
25056 				}
25057 				break;
25058 			case 'S': /* day suffix, ignored, nor checked */
25059 				timelib_skip_day_suffix((char **) &ptr);
25060 				break;
25061 			case 'z': /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */
25062 				TIMELIB_CHECK_NUMBER;
25063 				if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) {
25064 					add_pbf_error(s, "A three digit day-of-year could not be found", string, begin);
25065 				} else {
25066 					s->time->m = 1;
25067 					s->time->d = tmp + 1;
25068 					timelib_do_normalize(s->time);
25069 				}
25070 				break;
25071 
25072 			case 'm': /* two digit month, with leading zero */
25073 			case 'n': /* two digit month, without leading zero */
25074 				TIMELIB_CHECK_NUMBER;
25075 				if ((s->time->m = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
25076 					add_pbf_error(s, "A two digit month could not be found", string, begin);
25077 				}
25078 				break;
25079 			case 'M': /* three letter month */
25080 			case 'F': /* full month */
25081 				tmp = timelib_lookup_month((char **) &ptr);
25082 				if (!tmp) {
25083 					add_pbf_error(s, "A textual month could not be found", string, begin);
25084 				} else {
25085 					s->time->m = tmp;
25086 				}
25087 				break;
25088 			case 'y': /* two digit year */
25089 				{
25090 					int length = 0;
25091 					TIMELIB_CHECK_NUMBER;
25092 					if ((s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length)) == TIMELIB_UNSET) {
25093 						add_pbf_error(s, "A two digit year could not be found", string, begin);
25094 					}
25095 					TIMELIB_PROCESS_YEAR(s->time->y, length);
25096 				}
25097 				break;
25098 			case 'Y': /* four digit year */
25099 				TIMELIB_CHECK_NUMBER;
25100 				if ((s->time->y = timelib_get_nr((char **) &ptr, 4)) == TIMELIB_UNSET) {
25101 					add_pbf_error(s, "A four digit year could not be found", string, begin);
25102 				}
25103 				break;
25104 			case 'g': /* two digit hour, with leading zero */
25105 			case 'h': /* two digit hour, without leading zero */
25106 				TIMELIB_CHECK_NUMBER;
25107 				if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
25108 					add_pbf_error(s, "A two digit hour could not be found", string, begin);
25109 				}
25110 				if (s->time->h > 12) {
25111 					add_pbf_error(s, "Hour can not be higher than 12", string, begin);
25112 				}
25113 				break;
25114 			case 'G': /* two digit hour, with leading zero */
25115 			case 'H': /* two digit hour, without leading zero */
25116 				TIMELIB_CHECK_NUMBER;
25117 				if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
25118 					add_pbf_error(s, "A two digit hour could not be found", string, begin);
25119 				}
25120 				break;
25121 			case 'a': /* am/pm/a.m./p.m. */
25122 			case 'A': /* AM/PM/A.M./P.M. */
25123 				if (s->time->h == TIMELIB_UNSET) {
25124 					add_pbf_error(s, "Meridian can only come after an hour has been found", string, begin);
25125 				} else if ((tmp = timelib_meridian_with_check((char **) &ptr, s->time->h)) == TIMELIB_UNSET) {
25126 					add_pbf_error(s, "A meridian could not be found", string, begin);
25127 				} else {
25128 					s->time->h += tmp;
25129 				}
25130 				break;
25131 			case 'i': /* two digit minute, with leading zero */
25132 				{
25133 					int length;
25134 					timelib_sll min;
25135 
25136 					TIMELIB_CHECK_NUMBER;
25137 					min = timelib_get_nr_ex((char **) &ptr, 2, &length);
25138 					if (min == TIMELIB_UNSET || length != 2) {
25139 						add_pbf_error(s, "A two digit minute could not be found", string, begin);
25140 					} else {
25141 						s->time->i = min;
25142 					}
25143 				}
25144 				break;
25145 			case 's': /* two digit second, with leading zero */
25146 				{
25147 					int length;
25148 					timelib_sll sec;
25149 
25150 					TIMELIB_CHECK_NUMBER;
25151 					sec = timelib_get_nr_ex((char **) &ptr, 2, &length);
25152 					if (sec == TIMELIB_UNSET || length != 2) {
25153 						add_pbf_error(s, "A two digit second could not be found", string, begin);
25154 					} else {
25155 						s->time->s = sec;
25156 					}
25157 				}
25158 				break;
25159 			case 'u': /* up to six digit millisecond */
25160 				{
25161 					double f;
25162 					char *tptr;
25163 
25164 					TIMELIB_CHECK_NUMBER;
25165 					tptr = ptr;
25166 					if ((f = timelib_get_nr((char **) &ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
25167 						add_pbf_error(s, "A six digit millisecond could not be found", string, begin);
25168 					} else {
25169 						s->time->f = (f / pow(10, (ptr - tptr)));
25170 					}
25171 				}
25172 				break;
25173 			case ' ': /* any sort of whitespace (' ' and \t) */
25174 				timelib_eat_spaces((char **) &ptr);
25175 				break;
25176 			case 'U': /* epoch seconds */
25177 				TIMELIB_CHECK_SIGNED_NUMBER;
25178 				TIMELIB_HAVE_RELATIVE();
25179 				tmp = timelib_get_unsigned_nr((char **) &ptr, 24);
25180 				s->time->y = 1970;
25181 				s->time->m = 1;
25182 				s->time->d = 1;
25183 				s->time->h = s->time->i = s->time->s = 0;
25184 				s->time->relative.s += tmp;
25185 				s->time->is_localtime = 1;
25186 				s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
25187 				s->time->z = 0;
25188 				s->time->dst = 0;
25189 				break;
25190 
25191 			case 'e': /* timezone */
25192 			case 'P': /* timezone */
25193 			case 'T': /* timezone */
25194 			case 'O': /* timezone */
25195 				{
25196 					int tz_not_found;
25197 					s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
25198 					if (tz_not_found) {
25199 						add_pbf_error(s, "The timezone could not be found in the database", string, begin);
25200 					}
25201 				}
25202 				break;
25203 
25204 			case '#': /* separation symbol */
25205 				if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-' || *ptr == '(' || *ptr == ')') {
25206 					++ptr;
25207 				} else {
25208 					add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin);
25209 				}
25210 				break;
25211 
25212 			case ';':
25213 			case ':':
25214 			case '/':
25215 			case '.':
25216 			case ',':
25217 			case '-':
25218 			case '(':
25219 			case ')':
25220 				if (*ptr == *fptr) {
25221 					++ptr;
25222 				} else {
25223 					add_pbf_error(s, "The separation symbol could not be found", string, begin);
25224 				}
25225 				break;
25226 
25227 			case '!': /* reset all fields to default */
25228 				timelib_time_reset_fields(s->time);
25229 				break; /* break intentionally not missing */
25230 
25231 			case '|': /* reset all fields to default when not set */
25232 				timelib_time_reset_unset_fields(s->time);
25233 				break; /* break intentionally not missing */
25234 
25235 			case '?': /* random char */
25236 				++ptr;
25237 				break;
25238 
25239 			case '\\': /* escaped char */
25240 				if(!fptr[1]) {
25241 					add_pbf_error(s, "Escaped character expected", string, begin);
25242 					break;
25243 				}
25244 				fptr++;
25245 				if (*ptr == *fptr) {
25246 					++ptr;
25247 				} else {
25248 					add_pbf_error(s, "The escaped character could not be found", string, begin);
25249 				}
25250 				break;
25251 
25252 			case '*': /* random chars until a separator or number ([ \t.,:;/-0123456789]) */
25253 				timelib_eat_until_separator((char **) &ptr);
25254 				break;
25255 
25256 			case '+': /* allow extra chars in the format */
25257 				allow_extra = 1;
25258 				break;
25259 
25260 			default:
25261 				if (*fptr != *ptr) {
25262 					add_pbf_error(s, "The format separator does not match", string, begin);
25263 				}
25264 				ptr++;
25265 		}
25266 		fptr++;
25267 	}
25268 	if (*ptr) {
25269 		if (allow_extra) {
25270 			add_pbf_warning(s, "Trailing data", string, ptr);
25271 		} else {
25272 			add_pbf_error(s, "Trailing data", string, ptr);
25273 		}
25274 	}
25275 	/* ignore trailing +'s */
25276 	while (*fptr == '+') {
25277 		fptr++;
25278 	}
25279 	if (*fptr) {
25280 		/* Trailing | and ! specifiers are valid. */
25281 		int done = 0;
25282 		while (*fptr && !done) {
25283 			switch (*fptr++) {
25284 				case '!': /* reset all fields to default */
25285 					timelib_time_reset_fields(s->time);
25286 					break;
25287 
25288 				case '|': /* reset all fields to default when not set */
25289 					timelib_time_reset_unset_fields(s->time);
25290 					break;
25291 
25292 				default:
25293 					add_pbf_error(s, "Data missing", string, ptr);
25294 					done = 1;
25295 			}
25296 		}
25297 	}
25298 
25299 	/* clean up a bit */
25300 	if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET) {
25301 		if (s->time->h == TIMELIB_UNSET ) {
25302 			s->time->h = 0;
25303 		}
25304 		if (s->time->i == TIMELIB_UNSET ) {
25305 			s->time->i = 0;
25306 		}
25307 		if (s->time->s == TIMELIB_UNSET ) {
25308 			s->time->s = 0;
25309 		}
25310 	}
25311 
25312 	/* do funky checking whether the parsed time was valid time */
25313 	if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
25314 		s->time->s != TIMELIB_UNSET &&
25315 		!timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
25316 		add_pbf_warning(s, "The parsed time was invalid", string, ptr);
25317 	}
25318 	/* do funky checking whether the parsed date was valid date */
25319 	if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
25320 		s->time->d != TIMELIB_UNSET &&
25321 		!timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
25322 		add_pbf_warning(s, "The parsed date was invalid", string, ptr);
25323 	}
25324 
25325 	if (errors) {
25326 		*errors = in.errors;
25327 	} else {
25328 		timelib_error_container_dtor(in.errors);
25329 	}
25330 	return in.time;
25331 }
25332 
timelib_fill_holes(timelib_time * parsed,timelib_time * now,int options)25333 void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
25334 {
25335 	if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
25336 		parsed->h = 0;
25337 		parsed->i = 0;
25338 		parsed->s = 0;
25339 		parsed->f = 0;
25340 	}
25341 	if (
25342 		parsed->y != TIMELIB_UNSET || parsed->m != TIMELIB_UNSET || parsed->d != TIMELIB_UNSET ||
25343 		parsed->h != TIMELIB_UNSET || parsed->i != TIMELIB_UNSET || parsed->s != TIMELIB_UNSET
25344 	) {
25345 		if (parsed->f == TIMELIB_UNSET) parsed->f = 0;
25346 	} else {
25347 		if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0;
25348 	}
25349 	if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
25350 	if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
25351 	if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
25352 	if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
25353 	if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
25354 	if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
25355 	if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
25356 	if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
25357 
25358 	if (!parsed->tz_abbr) {
25359 		parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
25360 	}
25361 	if (!parsed->tz_info) {
25362 		parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
25363 	}
25364 	if (parsed->zone_type == 0 && now->zone_type != 0) {
25365 		parsed->zone_type = now->zone_type;
25366 /*		parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
25367 		parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
25368 */		parsed->is_localtime = 1;
25369 	}
25370 /*	timelib_dump_date(parsed, 2);
25371 	timelib_dump_date(now, 2);
25372 */
25373 }
25374 
timelib_timezone_id_from_abbr(const char * abbr,timelib_long gmtoffset,int isdst)25375 char *timelib_timezone_id_from_abbr(const char *abbr, timelib_long gmtoffset, int isdst)
25376 {
25377 	const timelib_tz_lookup_table *tp;
25378 
25379 	tp = abbr_search(abbr, gmtoffset, isdst);
25380 	if (tp) {
25381 		return (tp->full_tz_name);
25382 	} else {
25383 		return NULL;
25384 	}
25385 }
25386 
timelib_timezone_abbreviations_list(void)25387 const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void)
25388 {
25389 	return timelib_timezone_lookup;
25390 }
25391 
25392 #ifdef DEBUG_PARSER_STUB
main(void)25393 int main(void)
25394 {
25395 	timelib_time time = timelib_strtotime("May 12");
25396 
25397 	printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d",
25398 		time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
25399 	if (time.have_relative) {
25400 		printf ("%3dY %3dM %3dD / %3dH %3dM %3dS",
25401 			time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s);
25402 	}
25403 	if (time.have_weekday_relative) {
25404 		printf (" / %d", time.relative.weekday);
25405 	}
25406 	if (time.have_weeknr_day) {
25407 		printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);
25408 	}
25409 	return 0;
25410 }
25411 #endif
25412 
25413 /*
25414  * vim: syntax=c
25415  */
25416