xref: /PHP-5.5/ext/date/lib/parse_date.c (revision 30123005)
1 /* Generated by re2c 0.13.5 on Tue Mar 31 16:32:03 2015 */
2 #line 1 "ext/date/lib/parse_date.re"
3 /*
4    +----------------------------------------------------------------------+
5    | PHP Version 5                                                        |
6    +----------------------------------------------------------------------+
7    | Copyright (c) 1997-2015 The PHP Group                                |
8    +----------------------------------------------------------------------+
9    | This source file is subject to version 3.01 of the PHP license,      |
10    | that is bundled with this package in the file LICENSE, and is        |
11    | available through the world-wide-web at the following url:           |
12    | http://www.php.net/license/3_01.txt                                  |
13    | If you did not receive a copy of the PHP license and are unable to   |
14    | obtain it through the world-wide-web, please send a note to          |
15    | license@php.net so we can mail you a copy immediately.               |
16    +----------------------------------------------------------------------+
17    | Authors: Derick Rethans <derick@derickrethans.nl>                    |
18    +----------------------------------------------------------------------+
19  */
20 
21 /* $Id$ */
22 
23 #include "timelib.h"
24 
25 #include <stdio.h>
26 #include <ctype.h>
27 #include <math.h>
28 #include <assert.h>
29 
30 #ifdef HAVE_STDLIB_H
31 #include <stdlib.h>
32 #endif
33 #ifdef HAVE_STRING_H
34 #include <string.h>
35 #else
36 #include <strings.h>
37 #endif
38 
39 #if defined(_MSC_VER)
40 # define strtoll(s, f, b) _atoi64(s)
41 #elif !defined(HAVE_STRTOLL)
42 # if defined(HAVE_ATOLL)
43 #  define strtoll(s, f, b) atoll(s)
44 # else
45 #  define strtoll(s, f, b) strtol(s, f, b)
46 # endif
47 #endif
48 
49 #define TIMELIB_UNSET   -99999
50 
51 #define TIMELIB_SECOND  1
52 #define TIMELIB_MINUTE  2
53 #define TIMELIB_HOUR    3
54 #define TIMELIB_DAY     4
55 #define TIMELIB_MONTH   5
56 #define TIMELIB_YEAR    6
57 #define TIMELIB_WEEKDAY 7
58 #define TIMELIB_SPECIAL 8
59 
60 #define EOI      257
61 #define TIME     258
62 #define DATE     259
63 
64 #define TIMELIB_XMLRPC_SOAP    260
65 #define TIMELIB_TIME12         261
66 #define TIMELIB_TIME24         262
67 #define TIMELIB_GNU_NOCOLON    263
68 #define TIMELIB_GNU_NOCOLON_TZ 264
69 #define TIMELIB_ISO_NOCOLON    265
70 
71 #define TIMELIB_AMERICAN       266
72 #define TIMELIB_ISO_DATE       267
73 #define TIMELIB_DATE_FULL      268
74 #define TIMELIB_DATE_TEXT      269
75 #define TIMELIB_DATE_NOCOLON   270
76 #define TIMELIB_PG_YEARDAY     271
77 #define TIMELIB_PG_TEXT        272
78 #define TIMELIB_PG_REVERSE     273
79 #define TIMELIB_CLF            274
80 #define TIMELIB_DATE_NO_DAY    275
81 #define TIMELIB_SHORTDATE_WITH_TIME 276
82 #define TIMELIB_DATE_FULL_POINTED 277
83 #define TIMELIB_TIME24_WITH_ZONE 278
84 #define TIMELIB_ISO_WEEK       279
85 #define TIMELIB_LF_DAY_OF_MONTH 280
86 #define TIMELIB_WEEK_DAY_OF_MONTH 281
87 
88 #define TIMELIB_TIMEZONE       300
89 #define TIMELIB_AGO            301
90 
91 #define TIMELIB_RELATIVE       310
92 
93 #define TIMELIB_ERROR          999
94 
95 /* Some compilers like AIX, defines uchar in sys/types.h */
96 #undef uchar
97 typedef unsigned char uchar;
98 
99 #define   BSIZE	   8192
100 
101 #define   YYCTYPE      uchar
102 #define   YYCURSOR     cursor
103 #define   YYLIMIT      s->lim
104 #define   YYMARKER     s->ptr
105 #define   YYFILL(n)    return EOI;
106 
107 #define   RET(i)       {s->cur = cursor; return i;}
108 
109 #define timelib_string_free free
110 
111 #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; } }
112 #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; }
113 #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; } }
114 #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
115 #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
116 #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
117 #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
118 #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++; } }
119 
120 #define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
121 #define TIMELIB_DEINIT timelib_string_free(str)
122 #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
123 
124 #define TIMELIB_PROCESS_YEAR(x, l) { \
125 	if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
126 	/*	(x) = 0; */          \
127 	} else if ((x) < 100) {  \
128 		if ((x) < 70) {      \
129 			(x) += 2000;     \
130 		} else {             \
131 			(x) += 1900;     \
132 		}                    \
133 	}                        \
134 }
135 
136 #ifdef DEBUG_PARSER
137 #define DEBUG_OUTPUT(s) printf("%s\n", s);
138 #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
139 #else
140 #define DEBUG_OUTPUT(s)
141 #define YYDEBUG(s,c)
142 #endif
143 
144 #include "timelib_structs.h"
145 
146 typedef struct timelib_elems {
147 	unsigned int   c; /* Number of elements */
148 	char         **v; /* Values */
149 } timelib_elems;
150 
151 typedef struct Scanner {
152 	int           fd;
153 	uchar        *lim, *str, *ptr, *cur, *tok, *pos;
154 	unsigned int  line, len;
155 	struct timelib_error_container *errors;
156 
157 	struct timelib_time *time;
158 	const timelib_tzdb  *tzdb;
159 } Scanner;
160 
161 typedef struct _timelib_lookup_table {
162     const char *name;
163     int         type;
164     int         value;
165 } timelib_lookup_table;
166 
167 typedef struct _timelib_relunit {
168 	const char *name;
169 	int         unit;
170 	int         multiplier;
171 } timelib_relunit;
172 
173 /* The timezone table. */
174 const static timelib_tz_lookup_table timelib_timezone_lookup[] = {
175 #include "timezonemap.h"
176 	{ NULL, 0, 0, NULL },
177 };
178 
179 const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
180 #include "fallbackmap.h"
181 	{ NULL, 0, 0, NULL },
182 };
183 
184 const static timelib_tz_lookup_table timelib_timezone_utc[] = {
185 	{ "utc", 0, 0, "UTC" },
186 };
187 
188 static timelib_relunit const timelib_relunit_lookup[] = {
189 	{ "sec",         TIMELIB_SECOND,  1 },
190 	{ "secs",        TIMELIB_SECOND,  1 },
191 	{ "second",      TIMELIB_SECOND,  1 },
192 	{ "seconds",     TIMELIB_SECOND,  1 },
193 	{ "min",         TIMELIB_MINUTE,  1 },
194 	{ "mins",        TIMELIB_MINUTE,  1 },
195 	{ "minute",      TIMELIB_MINUTE,  1 },
196 	{ "minutes",     TIMELIB_MINUTE,  1 },
197 	{ "hour",        TIMELIB_HOUR,    1 },
198 	{ "hours",       TIMELIB_HOUR,    1 },
199 	{ "day",         TIMELIB_DAY,     1 },
200 	{ "days",        TIMELIB_DAY,     1 },
201 	{ "week",        TIMELIB_DAY,     7 },
202 	{ "weeks",       TIMELIB_DAY,     7 },
203 	{ "fortnight",   TIMELIB_DAY,    14 },
204 	{ "fortnights",  TIMELIB_DAY,    14 },
205 	{ "forthnight",  TIMELIB_DAY,    14 },
206 	{ "forthnights", TIMELIB_DAY,    14 },
207 	{ "month",       TIMELIB_MONTH,   1 },
208 	{ "months",      TIMELIB_MONTH,   1 },
209 	{ "year",        TIMELIB_YEAR,    1 },
210 	{ "years",       TIMELIB_YEAR,    1 },
211 
212 	{ "monday",      TIMELIB_WEEKDAY, 1 },
213 	{ "mon",         TIMELIB_WEEKDAY, 1 },
214 	{ "tuesday",     TIMELIB_WEEKDAY, 2 },
215 	{ "tue",         TIMELIB_WEEKDAY, 2 },
216 	{ "wednesday",   TIMELIB_WEEKDAY, 3 },
217 	{ "wed",         TIMELIB_WEEKDAY, 3 },
218 	{ "thursday",    TIMELIB_WEEKDAY, 4 },
219 	{ "thu",         TIMELIB_WEEKDAY, 4 },
220 	{ "friday",      TIMELIB_WEEKDAY, 5 },
221 	{ "fri",         TIMELIB_WEEKDAY, 5 },
222 	{ "saturday",    TIMELIB_WEEKDAY, 6 },
223 	{ "sat",         TIMELIB_WEEKDAY, 6 },
224 	{ "sunday",      TIMELIB_WEEKDAY, 0 },
225 	{ "sun",         TIMELIB_WEEKDAY, 0 },
226 
227 	{ "weekday",     TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
228 	{ "weekdays",    TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
229 	{ NULL,          0,          0 }
230 };
231 
232 /* The relative text table. */
233 static timelib_lookup_table const timelib_reltext_lookup[] = {
234 	{ "first",    0,  1 },
235 	{ "next",     0,  1 },
236 	{ "second",   0,  2 },
237 	{ "third",    0,  3 },
238 	{ "fourth",   0,  4 },
239 	{ "fifth",    0,  5 },
240 	{ "sixth",    0,  6 },
241 	{ "seventh",  0,  7 },
242 	{ "eight",    0,  8 },
243 	{ "eighth",   0,  8 },
244 	{ "ninth",    0,  9 },
245 	{ "tenth",    0, 10 },
246 	{ "eleventh", 0, 11 },
247 	{ "twelfth",  0, 12 },
248 	{ "last",     0, -1 },
249 	{ "previous", 0, -1 },
250 	{ "this",     1,  0 },
251 	{ NULL,       1,  0 }
252 };
253 
254 /* The month table. */
255 static timelib_lookup_table const timelib_month_lookup[] = {
256 	{ "jan",  0,  1 },
257 	{ "feb",  0,  2 },
258 	{ "mar",  0,  3 },
259 	{ "apr",  0,  4 },
260 	{ "may",  0,  5 },
261 	{ "jun",  0,  6 },
262 	{ "jul",  0,  7 },
263 	{ "aug",  0,  8 },
264 	{ "sep",  0,  9 },
265 	{ "sept", 0,  9 },
266 	{ "oct",  0, 10 },
267 	{ "nov",  0, 11 },
268 	{ "dec",  0, 12 },
269 	{ "i",    0,  1 },
270 	{ "ii",   0,  2 },
271 	{ "iii",  0,  3 },
272 	{ "iv",   0,  4 },
273 	{ "v",    0,  5 },
274 	{ "vi",   0,  6 },
275 	{ "vii",  0,  7 },
276 	{ "viii", 0,  8 },
277 	{ "ix",   0,  9 },
278 	{ "x",    0, 10 },
279 	{ "xi",   0, 11 },
280 	{ "xii",  0, 12 },
281 
282 	{ "january",   0,  1 },
283 	{ "february",  0,  2 },
284 	{ "march",     0,  3 },
285 	{ "april",     0,  4 },
286 	{ "may",       0,  5 },
287 	{ "june",      0,  6 },
288 	{ "july",      0,  7 },
289 	{ "august",    0,  8 },
290 	{ "september", 0,  9 },
291 	{ "october",   0, 10 },
292 	{ "november",  0, 11 },
293 	{ "december",  0, 12 },
294 	{  NULL,       0,  0 }
295 };
296 
297 #if 0
298 static char* timelib_ltrim(char *s)
299 {
300 	char *ptr = s;
301 	while (ptr[0] == ' ' || ptr[0] == '\t') {
302 		ptr++;
303 	}
304 	return ptr;
305 }
306 #endif
307 
308 #if 0
309 uchar *fill(Scanner *s, uchar *cursor){
310 	if(!s->eof){
311 		unsigned int cnt = s->tok - s->bot;
312 		if(cnt){
313 			memcpy(s->bot, s->tok, s->lim - s->tok);
314 			s->tok = s->bot;
315 			s->ptr -= cnt;
316 			cursor -= cnt;
317 			s->pos -= cnt;
318 			s->lim -= cnt;
319 		}
320 		if((s->top - s->lim) < BSIZE){
321 			uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
322 			memcpy(buf, s->tok, s->lim - s->tok);
323 			s->tok = buf;
324 			s->ptr = &buf[s->ptr - s->bot];
325 			cursor = &buf[cursor - s->bot];
326 			s->pos = &buf[s->pos - s->bot];
327 			s->lim = &buf[s->lim - s->bot];
328 			s->top = &s->lim[BSIZE];
329 			free(s->bot);
330 			s->bot = buf;
331 		}
332 		if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
333 			s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
334 		}
335 		s->lim += cnt;
336 	}
337 	return cursor;
338 }
339 #endif
340 
add_warning(Scanner * s,char * error)341 static void add_warning(Scanner *s, char *error)
342 {
343 	s->errors->warning_count++;
344 	s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
345 	s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0;
346 	s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0;
347 	s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error);
348 }
349 
add_error(Scanner * s,char * error)350 static void add_error(Scanner *s, char *error)
351 {
352 	s->errors->error_count++;
353 	s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
354 	s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0;
355 	s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0;
356 	s->errors->error_messages[s->errors->error_count - 1].message = strdup(error);
357 }
358 
add_pbf_warning(Scanner * s,char * error,char * sptr,char * cptr)359 static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr)
360 {
361 	s->errors->warning_count++;
362 	s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
363 	s->errors->warning_messages[s->errors->warning_count - 1].position = cptr - sptr;
364 	s->errors->warning_messages[s->errors->warning_count - 1].character = *cptr;
365 	s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error);
366 }
367 
add_pbf_error(Scanner * s,char * error,char * sptr,char * cptr)368 static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr)
369 {
370 	s->errors->error_count++;
371 	s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
372 	s->errors->error_messages[s->errors->error_count - 1].position = cptr - sptr;
373 	s->errors->error_messages[s->errors->error_count - 1].character = *cptr;
374 	s->errors->error_messages[s->errors->error_count - 1].message = strdup(error);
375 }
376 
timelib_meridian(char ** ptr,timelib_sll h)377 static timelib_sll timelib_meridian(char **ptr, timelib_sll h)
378 {
379 	timelib_sll retval = 0;
380 
381 	while (!strchr("AaPp", **ptr)) {
382 		++*ptr;
383 	}
384 	if (**ptr == 'a' || **ptr == 'A') {
385 		if (h == 12) {
386 			retval = -12;
387 		}
388 	} else if (h != 12) {
389 		retval = 12;
390 	}
391 	++*ptr;
392 	if (**ptr == '.') {
393 		*ptr += 3;
394 	} else {
395 		++*ptr;
396 	}
397 	return retval;
398 }
399 
timelib_meridian_with_check(char ** ptr,timelib_sll h)400 static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h)
401 {
402 	timelib_sll retval = 0;
403 
404 	while (**ptr && !strchr("AaPp", **ptr)) {
405 		++*ptr;
406 	}
407 	if(!**ptr) {
408 		return TIMELIB_UNSET;
409 	}
410 	if (**ptr == 'a' || **ptr == 'A') {
411 		if (h == 12) {
412 			retval = -12;
413 		}
414 	} else if (h != 12) {
415 		retval = 12;
416 	}
417 	++*ptr;
418 	if (**ptr == '.') {
419 		++*ptr;
420 		if (**ptr != 'm' && **ptr != 'M') {
421 			return TIMELIB_UNSET;
422 		}
423 		++*ptr;
424 		if (**ptr != '.' ) {
425 			return TIMELIB_UNSET;
426 		}
427 		++*ptr;
428 	} else if (**ptr == 'm' || **ptr == 'M') {
429 		++*ptr;
430 	} else {
431 		return TIMELIB_UNSET;
432 	}
433 	return retval;
434 }
435 
timelib_string(Scanner * s)436 static char *timelib_string(Scanner *s)
437 {
438 	char *tmp = calloc(1, s->cur - s->tok + 1);
439 	memcpy(tmp, s->tok, s->cur - s->tok);
440 
441 	return tmp;
442 }
443 
timelib_get_nr_ex(char ** ptr,int max_length,int * scanned_length)444 static timelib_sll timelib_get_nr_ex(char **ptr, int max_length, int *scanned_length)
445 {
446 	char *begin, *end, *str;
447 	timelib_sll tmp_nr = TIMELIB_UNSET;
448 	int len = 0;
449 
450 	while ((**ptr < '0') || (**ptr > '9')) {
451 		if (**ptr == '\0') {
452 			return TIMELIB_UNSET;
453 		}
454 		++*ptr;
455 	}
456 	begin = *ptr;
457 	while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
458 		++*ptr;
459 		++len;
460 	}
461 	end = *ptr;
462 	if (scanned_length) {
463 		*scanned_length = end - begin;
464 	}
465 	str = calloc(1, end - begin + 1);
466 	memcpy(str, begin, end - begin);
467 	tmp_nr = strtoll(str, NULL, 10);
468 	free(str);
469 	return tmp_nr;
470 }
471 
timelib_get_nr(char ** ptr,int max_length)472 static timelib_sll timelib_get_nr(char **ptr, int max_length)
473 {
474 	return timelib_get_nr_ex(ptr, max_length, NULL);
475 }
476 
timelib_skip_day_suffix(char ** ptr)477 static void timelib_skip_day_suffix(char **ptr)
478 {
479 	if (isspace(**ptr)) {
480 		return;
481 	}
482 	if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) {
483 		*ptr += 2;
484 	}
485 }
486 
timelib_get_frac_nr(char ** ptr,int max_length)487 static double timelib_get_frac_nr(char **ptr, int max_length)
488 {
489 	char *begin, *end, *str;
490 	double tmp_nr = TIMELIB_UNSET;
491 	int len = 0;
492 
493 	while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
494 		if (**ptr == '\0') {
495 			return TIMELIB_UNSET;
496 		}
497 		++*ptr;
498 	}
499 	begin = *ptr;
500 	while (((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) {
501 		++*ptr;
502 		++len;
503 	}
504 	end = *ptr;
505 	str = calloc(1, end - begin + 1);
506 	memcpy(str, begin, end - begin);
507 	if (str[0] == ':') {
508 		str[0] = '.';
509 	}
510 	tmp_nr = strtod(str, NULL);
511 	free(str);
512 	return tmp_nr;
513 }
514 
timelib_get_unsigned_nr(char ** ptr,int max_length)515 static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length)
516 {
517 	timelib_ull dir = 1;
518 
519 	while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
520 		if (**ptr == '\0') {
521 			return TIMELIB_UNSET;
522 		}
523 		++*ptr;
524 	}
525 
526 	while (**ptr == '+' || **ptr == '-')
527 	{
528 		if (**ptr == '-') {
529 			dir *= -1;
530 		}
531 		++*ptr;
532 	}
533 	return dir * timelib_get_nr(ptr, max_length);
534 }
535 
timelib_lookup_relative_text(char ** ptr,int * behavior)536 static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior)
537 {
538 	char *word;
539 	char *begin = *ptr, *end;
540 	timelib_sll  value = 0;
541 	const timelib_lookup_table *tp;
542 
543 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
544 		++*ptr;
545 	}
546 	end = *ptr;
547 	word = calloc(1, end - begin + 1);
548 	memcpy(word, begin, end - begin);
549 
550 	for (tp = timelib_reltext_lookup; tp->name; tp++) {
551 		if (strcasecmp(word, tp->name) == 0) {
552 			value = tp->value;
553 			*behavior = tp->type;
554 		}
555 	}
556 
557 	free(word);
558 	return value;
559 }
560 
timelib_get_relative_text(char ** ptr,int * behavior)561 static timelib_sll timelib_get_relative_text(char **ptr, int *behavior)
562 {
563 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
564 		++*ptr;
565 	}
566 	return timelib_lookup_relative_text(ptr, behavior);
567 }
568 
timelib_lookup_month(char ** ptr)569 static long timelib_lookup_month(char **ptr)
570 {
571 	char *word;
572 	char *begin = *ptr, *end;
573 	long  value = 0;
574 	const timelib_lookup_table *tp;
575 
576 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
577 		++*ptr;
578 	}
579 	end = *ptr;
580 	word = calloc(1, end - begin + 1);
581 	memcpy(word, begin, end - begin);
582 
583 	for (tp = timelib_month_lookup; tp->name; tp++) {
584 		if (strcasecmp(word, tp->name) == 0) {
585 			value = tp->value;
586 		}
587 	}
588 
589 	free(word);
590 	return value;
591 }
592 
timelib_get_month(char ** ptr)593 static long timelib_get_month(char **ptr)
594 {
595 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
596 		++*ptr;
597 	}
598 	return timelib_lookup_month(ptr);
599 }
600 
timelib_eat_spaces(char ** ptr)601 static void timelib_eat_spaces(char **ptr)
602 {
603 	while (**ptr == ' ' || **ptr == '\t') {
604 		++*ptr;
605 	}
606 }
607 
timelib_eat_until_separator(char ** ptr)608 static void timelib_eat_until_separator(char **ptr)
609 {
610 	++*ptr;
611 	while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
612 		++*ptr;
613 	}
614 }
615 
timelib_lookup_relunit(char ** ptr)616 static const timelib_relunit* timelib_lookup_relunit(char **ptr)
617 {
618 	char *word;
619 	char *begin = *ptr, *end;
620 	const timelib_relunit *tp, *value = NULL;
621 
622 	while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' &&
623            **ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) {
624 		++*ptr;
625 	}
626 	end = *ptr;
627 	word = calloc(1, end - begin + 1);
628 	memcpy(word, begin, end - begin);
629 
630 	for (tp = timelib_relunit_lookup; tp->name; tp++) {
631 		if (strcasecmp(word, tp->name) == 0) {
632 			value = tp;
633 			break;
634 		}
635 	}
636 
637 	free(word);
638 	return value;
639 }
640 
timelib_set_relative(char ** ptr,timelib_sll amount,int behavior,Scanner * s)641 static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s)
642 {
643 	const timelib_relunit* relunit;
644 
645 	if (!(relunit = timelib_lookup_relunit(ptr))) {
646 		return;
647 	}
648 
649 	switch (relunit->unit) {
650 		case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break;
651 		case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break;
652 		case TIMELIB_HOUR:   s->time->relative.h += amount * relunit->multiplier; break;
653 		case TIMELIB_DAY:    s->time->relative.d += amount * relunit->multiplier; break;
654 		case TIMELIB_MONTH:  s->time->relative.m += amount * relunit->multiplier; break;
655 		case TIMELIB_YEAR:   s->time->relative.y += amount * relunit->multiplier; break;
656 
657 		case TIMELIB_WEEKDAY:
658 			TIMELIB_HAVE_WEEKDAY_RELATIVE();
659 			TIMELIB_UNHAVE_TIME();
660 			s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
661 			s->time->relative.weekday = relunit->multiplier;
662 			s->time->relative.weekday_behavior = behavior;
663 			break;
664 
665 		case TIMELIB_SPECIAL:
666 			TIMELIB_HAVE_SPECIAL_RELATIVE();
667 			TIMELIB_UNHAVE_TIME();
668 			s->time->relative.special.type = relunit->multiplier;
669 			s->time->relative.special.amount = amount;
670 	}
671 }
672 
abbr_search(const char * word,long gmtoffset,int isdst)673 const static timelib_tz_lookup_table* abbr_search(const char *word, long gmtoffset, int isdst)
674 {
675 	int first_found = 0;
676 	const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
677 	const timelib_tz_lookup_table  *fmp;
678 
679 	if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) {
680 		return timelib_timezone_utc;
681 	}
682 
683 	for (tp = timelib_timezone_lookup; tp->name; tp++) {
684 		if (strcasecmp(word, tp->name) == 0) {
685 			if (!first_found) {
686 				first_found = 1;
687 				first_found_elem = tp;
688 				if (gmtoffset == -1) {
689 					return tp;
690 				}
691 			}
692 			if (tp->gmtoffset == gmtoffset) {
693 				return tp;
694 			}
695 		}
696 	}
697 	if (first_found) {
698 		return first_found_elem;
699 	}
700 
701 	/* Still didn't find anything, let's find the zone solely based on
702 	 * offset/isdst then */
703 	for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
704 		if ((fmp->gmtoffset * 60) == gmtoffset && fmp->type == isdst) {
705 			return fmp;
706 		}
707 	}
708 	return NULL;
709 }
710 
timelib_lookup_abbr(char ** ptr,int * dst,char ** tz_abbr,int * found)711 static long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, int *found)
712 {
713 	char *word;
714 	char *begin = *ptr, *end;
715 	long  value = 0;
716 	const timelib_tz_lookup_table *tp;
717 
718 	while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') {
719 		++*ptr;
720 	}
721 	end = *ptr;
722 	word = calloc(1, end - begin + 1);
723 	memcpy(word, begin, end - begin);
724 
725 	if ((tp = abbr_search(word, -1, 0))) {
726 		value = -tp->gmtoffset / 60;
727 		*dst = tp->type;
728 		value += tp->type * 60;
729 		*found = 1;
730 	} else {
731 		*found = 0;
732 	}
733 
734 	*tz_abbr = word;
735 	return value;
736 }
737 
timelib_parse_zone(char ** ptr,int * dst,timelib_time * t,int * tz_not_found,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_wrapper)738 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)
739 {
740 	timelib_tzinfo *res;
741 	long            retval = 0;
742 
743 	*tz_not_found = 0;
744 
745 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
746 		++*ptr;
747 	}
748 	if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
749 		*ptr += 3;
750 	}
751 	if (**ptr == '+') {
752 		++*ptr;
753 		t->is_localtime = 1;
754 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
755 		*tz_not_found = 0;
756 		t->dst = 0;
757 
758 		retval = -1 * timelib_parse_tz_cor(ptr);
759 	} else if (**ptr == '-') {
760 		++*ptr;
761 		t->is_localtime = 1;
762 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
763 		*tz_not_found = 0;
764 		t->dst = 0;
765 
766 		retval = timelib_parse_tz_cor(ptr);
767 	} else {
768 		int found = 0;
769 		long offset = 0;
770 		char *tz_abbr;
771 
772 		t->is_localtime = 1;
773 
774 		/* First, we lookup by abbreviation only */
775 		offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
776 		if (found) {
777 			t->zone_type = TIMELIB_ZONETYPE_ABBR;
778 			timelib_time_tz_abbr_update(t, tz_abbr);
779 		}
780 
781 		/* Otherwise, we look if we have a TimeZone identifier */
782 		if (!found || strcmp("UTC", tz_abbr) == 0) {
783 			if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) {
784 				t->tz_info = res;
785 				t->zone_type = TIMELIB_ZONETYPE_ID;
786 				found++;
787 			}
788 		}
789 		free(tz_abbr);
790 		*tz_not_found = (found == 0);
791 		retval = offset;
792 	}
793 	while (**ptr == ')') {
794 		++*ptr;
795 	}
796 	return retval;
797 }
798 
799 #define timelib_split_free(arg) {       \
800 	int i;                         \
801 	for (i = 0; i < arg.c; i++) {  \
802 		free(arg.v[i]);            \
803 	}                              \
804 	if (arg.v) {                   \
805 		free(arg.v);               \
806 	}                              \
807 }
808 
scan(Scanner * s,timelib_tz_get_wrapper tz_get_wrapper)809 static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
810 {
811 	uchar *cursor = s->cur;
812 	char *str, *ptr = NULL;
813 
814 std:
815 	s->tok = cursor;
816 	s->len = 0;
817 #line 940 "ext/date/lib/parse_date.re"
818 
819 
820 
821 #line 822 "ext/date/lib/parse_date.c"
822 {
823 	YYCTYPE yych;
824 	unsigned int yyaccept = 0;
825 	static const unsigned char yybm[] = {
826 		  0,   0,   0,   0,   0,   0,   0,   0,
827 		  0, 100,   0,   0,   0,   0,   0,   0,
828 		  0,   0,   0,   0,   0,   0,   0,   0,
829 		  0,   0,   0,   0,   0,   0,   0,   0,
830 		100,   0,   0,   0,   0,   0,   0,   0,
831 		  0,   0,   0, 128,  64, 160,  96,   0,
832 		  2,   2,   2,   2,   2,   2,   2,   2,
833 		  2,   2,   0,   0,   0,   0,   0,   0,
834 		  0,   8,   8,   8,   8,   8,   8,   8,
835 		  8,   8,   8,   8,   8,   8,   8,   8,
836 		  8,   8,   8,   8,   8,   8,   8,   8,
837 		  8,   8,   8,   0,   0,   0,   0,   0,
838 		  0,  24,  24,  24,  88,  24,  24,  24,
839 		 88,  24,  24,  24,  24,  24,  88,  24,
840 		 24,  24,  88,  88,  88,  24,  24,  24,
841 		 24,  24,  24,   0,   0,   0,   0,   0,
842 		  0,   0,   0,   0,   0,   0,   0,   0,
843 		  0,   0,   0,   0,   0,   0,   0,   0,
844 		  0,   0,   0,   0,   0,   0,   0,   0,
845 		  0,   0,   0,   0,   0,   0,   0,   0,
846 		  0,   0,   0,   0,   0,   0,   0,   0,
847 		  0,   0,   0,   0,   0,   0,   0,   0,
848 		  0,   0,   0,   0,   0,   0,   0,   0,
849 		  0,   0,   0,   0,   0,   0,   0,   0,
850 		  0,   0,   0,   0,   0,   0,   0,   0,
851 		  0,   0,   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 		  0,   0,   0,   0,   0,   0,   0,   0,
855 		  0,   0,   0,   0,   0,   0,   0,   0,
856 		  0,   0,   0,   0,   0,   0,   0,   0,
857 		  0,   0,   0,   0,   0,   0,   0,   0,
858 	};
859 
860 	YYDEBUG(0, *YYCURSOR);
861 	if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
862 	yych = *YYCURSOR;
863 	YYDEBUG(-1, yych);
864 	switch (yych) {
865 	case 0x00:
866 	case '\n':	goto yy51;
867 	case '\t':
868 	case ' ':	goto yy48;
869 	case '(':	goto yy45;
870 	case '+':
871 	case '-':	goto yy30;
872 	case ',':
873 	case '.':	goto yy50;
874 	case '0':	goto yy25;
875 	case '1':	goto yy26;
876 	case '2':	goto yy27;
877 	case '3':	goto yy28;
878 	case '4':
879 	case '5':
880 	case '6':
881 	case '7':
882 	case '8':
883 	case '9':	goto yy29;
884 	case '@':	goto yy11;
885 	case 'A':	goto yy36;
886 	case 'B':	goto yy17;
887 	case 'C':
888 	case 'H':
889 	case 'K':
890 	case 'Q':
891 	case 'R':
892 	case 'U':
893 	case 'Z':	goto yy46;
894 	case 'D':	goto yy40;
895 	case 'E':	goto yy21;
896 	case 'F':	goto yy13;
897 	case 'G':	goto yy44;
898 	case 'I':	goto yy31;
899 	case 'J':	goto yy34;
900 	case 'L':	goto yy15;
901 	case 'M':	goto yy7;
902 	case 'N':	goto yy5;
903 	case 'O':	goto yy38;
904 	case 'P':	goto yy23;
905 	case 'S':	goto yy19;
906 	case 'T':	goto yy9;
907 	case 'V':	goto yy32;
908 	case 'W':	goto yy42;
909 	case 'X':	goto yy33;
910 	case 'Y':	goto yy2;
911 	case 'a':	goto yy37;
912 	case 'b':	goto yy18;
913 	case 'c':
914 	case 'g':
915 	case 'h':
916 	case 'i':
917 	case 'k':
918 	case 'q':
919 	case 'r':
920 	case 'u':
921 	case 'v':
922 	case 'x':
923 	case 'z':	goto yy47;
924 	case 'd':	goto yy41;
925 	case 'e':	goto yy22;
926 	case 'f':	goto yy14;
927 	case 'j':	goto yy35;
928 	case 'l':	goto yy16;
929 	case 'm':	goto yy8;
930 	case 'n':	goto yy6;
931 	case 'o':	goto yy39;
932 	case 'p':	goto yy24;
933 	case 's':	goto yy20;
934 	case 't':	goto yy10;
935 	case 'w':	goto yy43;
936 	case 'y':	goto yy4;
937 	default:	goto yy53;
938 	}
939 yy2:
940 	YYDEBUG(2, *YYCURSOR);
941 	++YYCURSOR;
942 	if ((yych = *YYCURSOR) <= 'E') {
943 		if (yych <= ')') {
944 			if (yych >= ')') goto yy139;
945 		} else {
946 			if (yych <= '@') goto yy3;
947 			if (yych <= 'D') goto yy140;
948 			goto yy1523;
949 		}
950 	} else {
951 		if (yych <= 'd') {
952 			if (yych <= 'Z') goto yy140;
953 			if (yych >= 'a') goto yy145;
954 		} else {
955 			if (yych <= 'e') goto yy1532;
956 			if (yych <= 'z') goto yy145;
957 		}
958 	}
959 yy3:
960 	YYDEBUG(3, *YYCURSOR);
961 #line 1620 "ext/date/lib/parse_date.re"
962 	{
963 		int tz_not_found;
964 		DEBUG_OUTPUT("tzcorrection | tz");
965 		TIMELIB_INIT;
966 		TIMELIB_HAVE_TZ();
967 		s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
968 		if (tz_not_found) {
969 			add_error(s, "The timezone could not be found in the database");
970 		}
971 		TIMELIB_DEINIT;
972 		return TIMELIB_TIMEZONE;
973 	}
974 #line 975 "ext/date/lib/parse_date.c"
975 yy4:
976 	YYDEBUG(4, *YYCURSOR);
977 	yych = *++YYCURSOR;
978 	if (yych <= 'E') {
979 		if (yych <= ')') {
980 			if (yych <= '(') goto yy3;
981 			goto yy139;
982 		} else {
983 			if (yych <= '@') goto yy3;
984 			if (yych <= 'D') goto yy140;
985 			goto yy1523;
986 		}
987 	} else {
988 		if (yych <= 'd') {
989 			if (yych <= 'Z') goto yy140;
990 			if (yych <= '`') goto yy3;
991 			goto yy140;
992 		} else {
993 			if (yych <= 'e') goto yy1523;
994 			if (yych <= 'z') goto yy140;
995 			goto yy3;
996 		}
997 	}
998 yy5:
999 	YYDEBUG(5, *YYCURSOR);
1000 	yych = *++YYCURSOR;
1001 	if (yych <= 'O') {
1002 		if (yych <= 'D') {
1003 			if (yych == ')') goto yy139;
1004 			if (yych <= '@') goto yy3;
1005 			goto yy140;
1006 		} else {
1007 			if (yych <= 'H') {
1008 				if (yych <= 'E') goto yy1494;
1009 				goto yy140;
1010 			} else {
1011 				if (yych <= 'I') goto yy1495;
1012 				if (yych <= 'N') goto yy140;
1013 				goto yy1493;
1014 			}
1015 		}
1016 	} else {
1017 		if (yych <= 'h') {
1018 			if (yych <= '`') {
1019 				if (yych <= 'Z') goto yy140;
1020 				goto yy3;
1021 			} else {
1022 				if (yych == 'e') goto yy1510;
1023 				goto yy145;
1024 			}
1025 		} else {
1026 			if (yych <= 'n') {
1027 				if (yych <= 'i') goto yy1511;
1028 				goto yy145;
1029 			} else {
1030 				if (yych <= 'o') goto yy1509;
1031 				if (yych <= 'z') goto yy145;
1032 				goto yy3;
1033 			}
1034 		}
1035 	}
1036 yy6:
1037 	YYDEBUG(6, *YYCURSOR);
1038 	yych = *++YYCURSOR;
1039 	if (yych <= 'O') {
1040 		if (yych <= 'D') {
1041 			if (yych == ')') goto yy139;
1042 			if (yych <= '@') goto yy3;
1043 			goto yy140;
1044 		} else {
1045 			if (yych <= 'H') {
1046 				if (yych <= 'E') goto yy1494;
1047 				goto yy140;
1048 			} else {
1049 				if (yych <= 'I') goto yy1495;
1050 				if (yych <= 'N') goto yy140;
1051 				goto yy1493;
1052 			}
1053 		}
1054 	} else {
1055 		if (yych <= 'h') {
1056 			if (yych <= '`') {
1057 				if (yych <= 'Z') goto yy140;
1058 				goto yy3;
1059 			} else {
1060 				if (yych == 'e') goto yy1494;
1061 				goto yy140;
1062 			}
1063 		} else {
1064 			if (yych <= 'n') {
1065 				if (yych <= 'i') goto yy1495;
1066 				goto yy140;
1067 			} else {
1068 				if (yych <= 'o') goto yy1493;
1069 				if (yych <= 'z') goto yy140;
1070 				goto yy3;
1071 			}
1072 		}
1073 	}
1074 yy7:
1075 	YYDEBUG(7, *YYCURSOR);
1076 	yych = *++YYCURSOR;
1077 	if (yych <= 'O') {
1078 		if (yych <= 'A') {
1079 			if (yych == ')') goto yy139;
1080 			if (yych <= '@') goto yy3;
1081 			goto yy1463;
1082 		} else {
1083 			if (yych == 'I') goto yy1464;
1084 			if (yych <= 'N') goto yy140;
1085 			goto yy1465;
1086 		}
1087 	} else {
1088 		if (yych <= 'h') {
1089 			if (yych <= 'Z') goto yy140;
1090 			if (yych <= '`') goto yy3;
1091 			if (yych <= 'a') goto yy1478;
1092 			goto yy145;
1093 		} else {
1094 			if (yych <= 'n') {
1095 				if (yych <= 'i') goto yy1479;
1096 				goto yy145;
1097 			} else {
1098 				if (yych <= 'o') goto yy1480;
1099 				if (yych <= 'z') goto yy145;
1100 				goto yy3;
1101 			}
1102 		}
1103 	}
1104 yy8:
1105 	YYDEBUG(8, *YYCURSOR);
1106 	yych = *++YYCURSOR;
1107 	if (yych <= 'O') {
1108 		if (yych <= 'A') {
1109 			if (yych == ')') goto yy139;
1110 			if (yych <= '@') goto yy3;
1111 			goto yy1463;
1112 		} else {
1113 			if (yych == 'I') goto yy1464;
1114 			if (yych <= 'N') goto yy140;
1115 			goto yy1465;
1116 		}
1117 	} else {
1118 		if (yych <= 'h') {
1119 			if (yych <= 'Z') goto yy140;
1120 			if (yych <= '`') goto yy3;
1121 			if (yych <= 'a') goto yy1463;
1122 			goto yy140;
1123 		} else {
1124 			if (yych <= 'n') {
1125 				if (yych <= 'i') goto yy1464;
1126 				goto yy140;
1127 			} else {
1128 				if (yych <= 'o') goto yy1465;
1129 				if (yych <= 'z') goto yy140;
1130 				goto yy3;
1131 			}
1132 		}
1133 	}
1134 yy9:
1135 	YYDEBUG(9, *YYCURSOR);
1136 	yyaccept = 0;
1137 	yych = *(YYMARKER = ++YYCURSOR);
1138 	YYDEBUG(-1, yych);
1139 	switch (yych) {
1140 	case ')':	goto yy139;
1141 	case '0':
1142 	case '1':	goto yy1393;
1143 	case '2':	goto yy1394;
1144 	case '3':
1145 	case '4':
1146 	case '5':
1147 	case '6':
1148 	case '7':
1149 	case '8':
1150 	case '9':	goto yy1395;
1151 	case 'A':
1152 	case 'B':
1153 	case 'C':
1154 	case 'D':
1155 	case 'F':
1156 	case 'G':
1157 	case 'I':
1158 	case 'J':
1159 	case 'K':
1160 	case 'L':
1161 	case 'M':
1162 	case 'N':
1163 	case 'P':
1164 	case 'Q':
1165 	case 'R':
1166 	case 'S':
1167 	case 'T':
1168 	case 'V':
1169 	case 'X':
1170 	case 'Y':
1171 	case 'Z':	goto yy140;
1172 	case 'E':	goto yy1388;
1173 	case 'H':	goto yy1389;
1174 	case 'O':	goto yy1390;
1175 	case 'U':	goto yy1391;
1176 	case 'W':	goto yy1392;
1177 	case 'a':
1178 	case 'b':
1179 	case 'c':
1180 	case 'd':
1181 	case 'f':
1182 	case 'g':
1183 	case 'i':
1184 	case 'j':
1185 	case 'k':
1186 	case 'l':
1187 	case 'm':
1188 	case 'n':
1189 	case 'p':
1190 	case 'q':
1191 	case 'r':
1192 	case 's':
1193 	case 't':
1194 	case 'v':
1195 	case 'x':
1196 	case 'y':
1197 	case 'z':	goto yy145;
1198 	case 'e':	goto yy1431;
1199 	case 'h':	goto yy1432;
1200 	case 'o':	goto yy1433;
1201 	case 'u':	goto yy1434;
1202 	case 'w':	goto yy1435;
1203 	default:	goto yy3;
1204 	}
1205 yy10:
1206 	YYDEBUG(10, *YYCURSOR);
1207 	yyaccept = 0;
1208 	yych = *(YYMARKER = ++YYCURSOR);
1209 	YYDEBUG(-1, yych);
1210 	switch (yych) {
1211 	case ')':	goto yy139;
1212 	case '0':
1213 	case '1':	goto yy1393;
1214 	case '2':	goto yy1394;
1215 	case '3':
1216 	case '4':
1217 	case '5':
1218 	case '6':
1219 	case '7':
1220 	case '8':
1221 	case '9':	goto yy1395;
1222 	case 'A':
1223 	case 'B':
1224 	case 'C':
1225 	case 'D':
1226 	case 'F':
1227 	case 'G':
1228 	case 'I':
1229 	case 'J':
1230 	case 'K':
1231 	case 'L':
1232 	case 'M':
1233 	case 'N':
1234 	case 'P':
1235 	case 'Q':
1236 	case 'R':
1237 	case 'S':
1238 	case 'T':
1239 	case 'V':
1240 	case 'X':
1241 	case 'Y':
1242 	case 'Z':
1243 	case 'a':
1244 	case 'b':
1245 	case 'c':
1246 	case 'd':
1247 	case 'f':
1248 	case 'g':
1249 	case 'i':
1250 	case 'j':
1251 	case 'k':
1252 	case 'l':
1253 	case 'm':
1254 	case 'n':
1255 	case 'p':
1256 	case 'q':
1257 	case 'r':
1258 	case 's':
1259 	case 't':
1260 	case 'v':
1261 	case 'x':
1262 	case 'y':
1263 	case 'z':	goto yy140;
1264 	case 'E':
1265 	case 'e':	goto yy1388;
1266 	case 'H':
1267 	case 'h':	goto yy1389;
1268 	case 'O':
1269 	case 'o':	goto yy1390;
1270 	case 'U':
1271 	case 'u':	goto yy1391;
1272 	case 'W':
1273 	case 'w':	goto yy1392;
1274 	default:	goto yy3;
1275 	}
1276 yy11:
1277 	YYDEBUG(11, *YYCURSOR);
1278 	yyaccept = 1;
1279 	yych = *(YYMARKER = ++YYCURSOR);
1280 	if (yych == '-') goto yy1384;
1281 	if (yych <= '/') goto yy12;
1282 	if (yych <= '9') goto yy1385;
1283 yy12:
1284 	YYDEBUG(12, *YYCURSOR);
1285 #line 1715 "ext/date/lib/parse_date.re"
1286 	{
1287 		add_error(s, "Unexpected character");
1288 		goto std;
1289 	}
1290 #line 1291 "ext/date/lib/parse_date.c"
1291 yy13:
1292 	YYDEBUG(13, *YYCURSOR);
1293 	yych = *++YYCURSOR;
1294 	if (yych <= 'R') {
1295 		if (yych <= 'E') {
1296 			if (yych <= ')') {
1297 				if (yych <= '(') goto yy3;
1298 				goto yy139;
1299 			} else {
1300 				if (yych <= '@') goto yy3;
1301 				if (yych <= 'D') goto yy140;
1302 				goto yy1320;
1303 			}
1304 		} else {
1305 			if (yych <= 'N') {
1306 				if (yych == 'I') goto yy1321;
1307 				goto yy140;
1308 			} else {
1309 				if (yych <= 'O') goto yy1322;
1310 				if (yych <= 'Q') goto yy140;
1311 				goto yy1323;
1312 			}
1313 		}
1314 	} else {
1315 		if (yych <= 'i') {
1316 			if (yych <= 'd') {
1317 				if (yych <= 'Z') goto yy140;
1318 				if (yych <= '`') goto yy3;
1319 				goto yy145;
1320 			} else {
1321 				if (yych <= 'e') goto yy1361;
1322 				if (yych <= 'h') goto yy145;
1323 				goto yy1362;
1324 			}
1325 		} else {
1326 			if (yych <= 'q') {
1327 				if (yych == 'o') goto yy1363;
1328 				goto yy145;
1329 			} else {
1330 				if (yych <= 'r') goto yy1364;
1331 				if (yych <= 'z') goto yy145;
1332 				goto yy3;
1333 			}
1334 		}
1335 	}
1336 yy14:
1337 	YYDEBUG(14, *YYCURSOR);
1338 	yych = *++YYCURSOR;
1339 	if (yych <= 'R') {
1340 		if (yych <= 'E') {
1341 			if (yych <= ')') {
1342 				if (yych <= '(') goto yy3;
1343 				goto yy139;
1344 			} else {
1345 				if (yych <= '@') goto yy3;
1346 				if (yych <= 'D') goto yy140;
1347 				goto yy1320;
1348 			}
1349 		} else {
1350 			if (yych <= 'N') {
1351 				if (yych == 'I') goto yy1321;
1352 				goto yy140;
1353 			} else {
1354 				if (yych <= 'O') goto yy1322;
1355 				if (yych <= 'Q') goto yy140;
1356 				goto yy1323;
1357 			}
1358 		}
1359 	} else {
1360 		if (yych <= 'i') {
1361 			if (yych <= 'd') {
1362 				if (yych <= 'Z') goto yy140;
1363 				if (yych <= '`') goto yy3;
1364 				goto yy140;
1365 			} else {
1366 				if (yych <= 'e') goto yy1320;
1367 				if (yych <= 'h') goto yy140;
1368 				goto yy1321;
1369 			}
1370 		} else {
1371 			if (yych <= 'q') {
1372 				if (yych == 'o') goto yy1322;
1373 				goto yy140;
1374 			} else {
1375 				if (yych <= 'r') goto yy1323;
1376 				if (yych <= 'z') goto yy140;
1377 				goto yy3;
1378 			}
1379 		}
1380 	}
1381 yy15:
1382 	YYDEBUG(15, *YYCURSOR);
1383 	yych = *++YYCURSOR;
1384 	if (yych <= 'A') {
1385 		if (yych == ')') goto yy139;
1386 		if (yych <= '@') goto yy3;
1387 		goto yy1306;
1388 	} else {
1389 		if (yych <= '`') {
1390 			if (yych <= 'Z') goto yy140;
1391 			goto yy3;
1392 		} else {
1393 			if (yych <= 'a') goto yy1317;
1394 			if (yych <= 'z') goto yy145;
1395 			goto yy3;
1396 		}
1397 	}
1398 yy16:
1399 	YYDEBUG(16, *YYCURSOR);
1400 	yych = *++YYCURSOR;
1401 	if (yych <= 'A') {
1402 		if (yych == ')') goto yy139;
1403 		if (yych <= '@') goto yy3;
1404 		goto yy1306;
1405 	} else {
1406 		if (yych <= '`') {
1407 			if (yych <= 'Z') goto yy140;
1408 			goto yy3;
1409 		} else {
1410 			if (yych <= 'a') goto yy1306;
1411 			if (yych <= 'z') goto yy140;
1412 			goto yy3;
1413 		}
1414 	}
1415 yy17:
1416 	YYDEBUG(17, *YYCURSOR);
1417 	yych = *++YYCURSOR;
1418 	if (yych <= 'A') {
1419 		if (yych == ')') goto yy139;
1420 		if (yych <= '@') goto yy3;
1421 		goto yy1286;
1422 	} else {
1423 		if (yych <= '`') {
1424 			if (yych <= 'Z') goto yy140;
1425 			goto yy3;
1426 		} else {
1427 			if (yych <= 'a') goto yy1303;
1428 			if (yych <= 'z') goto yy145;
1429 			goto yy3;
1430 		}
1431 	}
1432 yy18:
1433 	YYDEBUG(18, *YYCURSOR);
1434 	yych = *++YYCURSOR;
1435 	if (yych <= 'A') {
1436 		if (yych == ')') goto yy139;
1437 		if (yych <= '@') goto yy3;
1438 		goto yy1286;
1439 	} else {
1440 		if (yych <= '`') {
1441 			if (yych <= 'Z') goto yy140;
1442 			goto yy3;
1443 		} else {
1444 			if (yych <= 'a') goto yy1286;
1445 			if (yych <= 'z') goto yy140;
1446 			goto yy3;
1447 		}
1448 	}
1449 yy19:
1450 	YYDEBUG(19, *YYCURSOR);
1451 	yych = *++YYCURSOR;
1452 	if (yych <= 'U') {
1453 		if (yych <= 'D') {
1454 			if (yych <= ')') {
1455 				if (yych <= '(') goto yy3;
1456 				goto yy139;
1457 			} else {
1458 				if (yych <= '@') goto yy3;
1459 				if (yych <= 'A') goto yy1229;
1460 				goto yy140;
1461 			}
1462 		} else {
1463 			if (yych <= 'H') {
1464 				if (yych <= 'E') goto yy1228;
1465 				goto yy140;
1466 			} else {
1467 				if (yych <= 'I') goto yy1230;
1468 				if (yych <= 'T') goto yy140;
1469 				goto yy1231;
1470 			}
1471 		}
1472 	} else {
1473 		if (yych <= 'e') {
1474 			if (yych <= '`') {
1475 				if (yych <= 'Z') goto yy140;
1476 				goto yy3;
1477 			} else {
1478 				if (yych <= 'a') goto yy1258;
1479 				if (yych <= 'd') goto yy145;
1480 				goto yy1257;
1481 			}
1482 		} else {
1483 			if (yych <= 't') {
1484 				if (yych == 'i') goto yy1259;
1485 				goto yy145;
1486 			} else {
1487 				if (yych <= 'u') goto yy1260;
1488 				if (yych <= 'z') goto yy145;
1489 				goto yy3;
1490 			}
1491 		}
1492 	}
1493 yy20:
1494 	YYDEBUG(20, *YYCURSOR);
1495 	yych = *++YYCURSOR;
1496 	if (yych <= 'U') {
1497 		if (yych <= 'D') {
1498 			if (yych <= ')') {
1499 				if (yych <= '(') goto yy3;
1500 				goto yy139;
1501 			} else {
1502 				if (yych <= '@') goto yy3;
1503 				if (yych <= 'A') goto yy1229;
1504 				goto yy140;
1505 			}
1506 		} else {
1507 			if (yych <= 'H') {
1508 				if (yych <= 'E') goto yy1228;
1509 				goto yy140;
1510 			} else {
1511 				if (yych <= 'I') goto yy1230;
1512 				if (yych <= 'T') goto yy140;
1513 				goto yy1231;
1514 			}
1515 		}
1516 	} else {
1517 		if (yych <= 'e') {
1518 			if (yych <= '`') {
1519 				if (yych <= 'Z') goto yy140;
1520 				goto yy3;
1521 			} else {
1522 				if (yych <= 'a') goto yy1229;
1523 				if (yych <= 'd') goto yy140;
1524 				goto yy1228;
1525 			}
1526 		} else {
1527 			if (yych <= 't') {
1528 				if (yych == 'i') goto yy1230;
1529 				goto yy140;
1530 			} else {
1531 				if (yych <= 'u') goto yy1231;
1532 				if (yych <= 'z') goto yy140;
1533 				goto yy3;
1534 			}
1535 		}
1536 	}
1537 yy21:
1538 	YYDEBUG(21, *YYCURSOR);
1539 	yych = *++YYCURSOR;
1540 	if (yych <= 'L') {
1541 		if (yych <= '@') {
1542 			if (yych == ')') goto yy139;
1543 			goto yy3;
1544 		} else {
1545 			if (yych == 'I') goto yy1198;
1546 			if (yych <= 'K') goto yy140;
1547 			goto yy1199;
1548 		}
1549 	} else {
1550 		if (yych <= 'i') {
1551 			if (yych <= 'Z') goto yy140;
1552 			if (yych <= '`') goto yy3;
1553 			if (yych <= 'h') goto yy145;
1554 			goto yy1216;
1555 		} else {
1556 			if (yych == 'l') goto yy1217;
1557 			if (yych <= 'z') goto yy145;
1558 			goto yy3;
1559 		}
1560 	}
1561 yy22:
1562 	YYDEBUG(22, *YYCURSOR);
1563 	yych = *++YYCURSOR;
1564 	if (yych <= 'L') {
1565 		if (yych <= '@') {
1566 			if (yych == ')') goto yy139;
1567 			goto yy3;
1568 		} else {
1569 			if (yych == 'I') goto yy1198;
1570 			if (yych <= 'K') goto yy140;
1571 			goto yy1199;
1572 		}
1573 	} else {
1574 		if (yych <= 'i') {
1575 			if (yych <= 'Z') goto yy140;
1576 			if (yych <= '`') goto yy3;
1577 			if (yych <= 'h') goto yy140;
1578 			goto yy1198;
1579 		} else {
1580 			if (yych == 'l') goto yy1199;
1581 			if (yych <= 'z') goto yy140;
1582 			goto yy3;
1583 		}
1584 	}
1585 yy23:
1586 	YYDEBUG(23, *YYCURSOR);
1587 	yych = *++YYCURSOR;
1588 	if (yych <= 'R') {
1589 		if (yych <= ')') {
1590 			if (yych <= '(') goto yy3;
1591 			goto yy139;
1592 		} else {
1593 			if (yych <= '@') goto yy3;
1594 			if (yych <= 'Q') goto yy140;
1595 			goto yy1097;
1596 		}
1597 	} else {
1598 		if (yych <= 'q') {
1599 			if (yych <= 'Z') goto yy140;
1600 			if (yych <= '`') goto yy3;
1601 			goto yy145;
1602 		} else {
1603 			if (yych <= 'r') goto yy1191;
1604 			if (yych <= 'z') goto yy145;
1605 			goto yy3;
1606 		}
1607 	}
1608 yy24:
1609 	YYDEBUG(24, *YYCURSOR);
1610 	yych = *++YYCURSOR;
1611 	if (yych <= 'R') {
1612 		if (yych <= ')') {
1613 			if (yych <= '(') goto yy3;
1614 			goto yy139;
1615 		} else {
1616 			if (yych <= '@') goto yy3;
1617 			if (yych <= 'Q') goto yy140;
1618 			goto yy1097;
1619 		}
1620 	} else {
1621 		if (yych <= 'q') {
1622 			if (yych <= 'Z') goto yy140;
1623 			if (yych <= '`') goto yy3;
1624 			goto yy140;
1625 		} else {
1626 			if (yych <= 'r') goto yy1097;
1627 			if (yych <= 'z') goto yy140;
1628 			goto yy3;
1629 		}
1630 	}
1631 yy25:
1632 	YYDEBUG(25, *YYCURSOR);
1633 	yyaccept = 1;
1634 	yych = *(YYMARKER = ++YYCURSOR);
1635 	YYDEBUG(-1, yych);
1636 	switch (yych) {
1637 	case '\t':	goto yy1051;
1638 	case ' ':
1639 	case 'A':
1640 	case 'D':
1641 	case 'F':
1642 	case 'H':
1643 	case 'I':
1644 	case 'J':
1645 	case 'M':
1646 	case 'N':
1647 	case 'O':
1648 	case 'S':
1649 	case 'T':
1650 	case 'V':
1651 	case 'W':
1652 	case 'X':
1653 	case 'Y':
1654 	case 'a':
1655 	case 'd':
1656 	case 'f':
1657 	case 'h':
1658 	case 'j':
1659 	case 'm':
1660 	case 'o':
1661 	case 'w':
1662 	case 'y':	goto yy1053;
1663 	case '-':	goto yy472;
1664 	case '.':	goto yy1063;
1665 	case '/':	goto yy471;
1666 	case '0':	goto yy1096;
1667 	case '1':
1668 	case '2':
1669 	case '3':
1670 	case '4':
1671 	case '5':
1672 	case '6':
1673 	case '7':
1674 	case '8':
1675 	case '9':	goto yy1095;
1676 	case ':':	goto yy1064;
1677 	case 'n':	goto yy469;
1678 	case 'r':	goto yy470;
1679 	case 's':	goto yy463;
1680 	case 't':	goto yy467;
1681 	default:	goto yy12;
1682 	}
1683 yy26:
1684 	YYDEBUG(26, *YYCURSOR);
1685 	yyaccept = 1;
1686 	yych = *(YYMARKER = ++YYCURSOR);
1687 	YYDEBUG(-1, yych);
1688 	switch (yych) {
1689 	case '\t':	goto yy459;
1690 	case ' ':
1691 	case 'A':
1692 	case 'D':
1693 	case 'F':
1694 	case 'H':
1695 	case 'I':
1696 	case 'J':
1697 	case 'M':
1698 	case 'N':
1699 	case 'O':
1700 	case 'P':
1701 	case 'S':
1702 	case 'T':
1703 	case 'V':
1704 	case 'W':
1705 	case 'X':
1706 	case 'Y':
1707 	case 'a':
1708 	case 'd':
1709 	case 'f':
1710 	case 'h':
1711 	case 'j':
1712 	case 'm':
1713 	case 'o':
1714 	case 'p':
1715 	case 'w':
1716 	case 'y':	goto yy461;
1717 	case '-':	goto yy472;
1718 	case '.':	goto yy473;
1719 	case '/':	goto yy471;
1720 	case '0':
1721 	case '1':
1722 	case '2':	goto yy1095;
1723 	case '3':
1724 	case '4':
1725 	case '5':
1726 	case '6':
1727 	case '7':
1728 	case '8':
1729 	case '9':	goto yy1062;
1730 	case ':':	goto yy482;
1731 	case 'n':	goto yy469;
1732 	case 'r':	goto yy470;
1733 	case 's':	goto yy463;
1734 	case 't':	goto yy467;
1735 	default:	goto yy12;
1736 	}
1737 yy27:
1738 	YYDEBUG(27, *YYCURSOR);
1739 	yyaccept = 1;
1740 	yych = *(YYMARKER = ++YYCURSOR);
1741 	YYDEBUG(-1, yych);
1742 	switch (yych) {
1743 	case '\t':	goto yy459;
1744 	case ' ':
1745 	case 'A':
1746 	case 'D':
1747 	case 'F':
1748 	case 'H':
1749 	case 'I':
1750 	case 'J':
1751 	case 'M':
1752 	case 'N':
1753 	case 'O':
1754 	case 'P':
1755 	case 'S':
1756 	case 'T':
1757 	case 'V':
1758 	case 'W':
1759 	case 'X':
1760 	case 'Y':
1761 	case 'a':
1762 	case 'd':
1763 	case 'f':
1764 	case 'h':
1765 	case 'j':
1766 	case 'm':
1767 	case 'o':
1768 	case 'p':
1769 	case 'w':
1770 	case 'y':	goto yy461;
1771 	case '-':	goto yy472;
1772 	case '.':	goto yy473;
1773 	case '/':	goto yy471;
1774 	case '0':
1775 	case '1':
1776 	case '2':
1777 	case '3':
1778 	case '4':	goto yy1062;
1779 	case '5':
1780 	case '6':
1781 	case '7':
1782 	case '8':
1783 	case '9':	goto yy1049;
1784 	case ':':	goto yy482;
1785 	case 'n':	goto yy469;
1786 	case 'r':	goto yy470;
1787 	case 's':	goto yy463;
1788 	case 't':	goto yy467;
1789 	default:	goto yy12;
1790 	}
1791 yy28:
1792 	YYDEBUG(28, *YYCURSOR);
1793 	yyaccept = 1;
1794 	yych = *(YYMARKER = ++YYCURSOR);
1795 	YYDEBUG(-1, yych);
1796 	switch (yych) {
1797 	case '\t':	goto yy459;
1798 	case ' ':
1799 	case 'A':
1800 	case 'D':
1801 	case 'F':
1802 	case 'H':
1803 	case 'I':
1804 	case 'J':
1805 	case 'M':
1806 	case 'N':
1807 	case 'O':
1808 	case 'P':
1809 	case 'S':
1810 	case 'T':
1811 	case 'V':
1812 	case 'W':
1813 	case 'X':
1814 	case 'Y':
1815 	case 'a':
1816 	case 'd':
1817 	case 'f':
1818 	case 'h':
1819 	case 'j':
1820 	case 'm':
1821 	case 'o':
1822 	case 'p':
1823 	case 'w':
1824 	case 'y':	goto yy461;
1825 	case '-':	goto yy472;
1826 	case '.':	goto yy473;
1827 	case '/':	goto yy471;
1828 	case '0':
1829 	case '1':	goto yy1049;
1830 	case '2':
1831 	case '3':
1832 	case '4':
1833 	case '5':
1834 	case '6':
1835 	case '7':
1836 	case '8':
1837 	case '9':	goto yy468;
1838 	case ':':	goto yy482;
1839 	case 'n':	goto yy469;
1840 	case 'r':	goto yy470;
1841 	case 's':	goto yy463;
1842 	case 't':	goto yy467;
1843 	default:	goto yy12;
1844 	}
1845 yy29:
1846 	YYDEBUG(29, *YYCURSOR);
1847 	yyaccept = 1;
1848 	yych = *(YYMARKER = ++YYCURSOR);
1849 	YYDEBUG(-1, yych);
1850 	switch (yych) {
1851 	case '\t':	goto yy459;
1852 	case ' ':
1853 	case 'A':
1854 	case 'D':
1855 	case 'F':
1856 	case 'H':
1857 	case 'I':
1858 	case 'J':
1859 	case 'M':
1860 	case 'N':
1861 	case 'O':
1862 	case 'P':
1863 	case 'S':
1864 	case 'T':
1865 	case 'V':
1866 	case 'W':
1867 	case 'X':
1868 	case 'Y':
1869 	case 'a':
1870 	case 'd':
1871 	case 'f':
1872 	case 'h':
1873 	case 'j':
1874 	case 'm':
1875 	case 'o':
1876 	case 'p':
1877 	case 'w':
1878 	case 'y':	goto yy461;
1879 	case '-':	goto yy472;
1880 	case '.':	goto yy473;
1881 	case '/':	goto yy471;
1882 	case '0':
1883 	case '1':
1884 	case '2':
1885 	case '3':
1886 	case '4':
1887 	case '5':
1888 	case '6':
1889 	case '7':
1890 	case '8':
1891 	case '9':	goto yy468;
1892 	case ':':	goto yy482;
1893 	case 'n':	goto yy469;
1894 	case 'r':	goto yy470;
1895 	case 's':	goto yy463;
1896 	case 't':	goto yy467;
1897 	default:	goto yy12;
1898 	}
1899 yy30:
1900 	YYDEBUG(30, *YYCURSOR);
1901 	yyaccept = 1;
1902 	yych = *(YYMARKER = ++YYCURSOR);
1903 	if (yybm[0+yych] & 4) {
1904 		goto yy57;
1905 	}
1906 	YYDEBUG(-1, yych);
1907 	switch (yych) {
1908 	case '+':
1909 	case '-':	goto yy439;
1910 	case '0':
1911 	case '1':	goto yy436;
1912 	case '2':	goto yy437;
1913 	case '3':
1914 	case '4':
1915 	case '5':
1916 	case '6':
1917 	case '7':
1918 	case '8':
1919 	case '9':	goto yy438;
1920 	default:	goto yy12;
1921 	}
1922 yy31:
1923 	YYDEBUG(31, *YYCURSOR);
1924 	yyaccept = 0;
1925 	yych = *(YYMARKER = ++YYCURSOR);
1926 	if (yych <= '9') {
1927 		if (yych <= '(') {
1928 			if (yych <= '\t') {
1929 				if (yych <= 0x08) goto yy3;
1930 				goto yy195;
1931 			} else {
1932 				if (yych == ' ') goto yy195;
1933 				goto yy3;
1934 			}
1935 		} else {
1936 			if (yych <= ',') {
1937 				if (yych <= ')') goto yy139;
1938 				goto yy3;
1939 			} else {
1940 				if (yych == '/') goto yy3;
1941 				goto yy195;
1942 			}
1943 		}
1944 	} else {
1945 		if (yych <= 'V') {
1946 			if (yych <= 'H') {
1947 				if (yych <= '@') goto yy3;
1948 				goto yy140;
1949 			} else {
1950 				if (yych <= 'I') goto yy435;
1951 				if (yych <= 'U') goto yy140;
1952 				goto yy434;
1953 			}
1954 		} else {
1955 			if (yych <= 'Z') {
1956 				if (yych == 'X') goto yy434;
1957 				goto yy140;
1958 			} else {
1959 				if (yych <= '`') goto yy3;
1960 				if (yych <= 'z') goto yy145;
1961 				goto yy3;
1962 			}
1963 		}
1964 	}
1965 yy32:
1966 	YYDEBUG(32, *YYCURSOR);
1967 	yyaccept = 0;
1968 	yych = *(YYMARKER = ++YYCURSOR);
1969 	if (yych <= '.') {
1970 		if (yych <= ' ') {
1971 			if (yych == '\t') goto yy195;
1972 			if (yych <= 0x1F) goto yy3;
1973 			goto yy195;
1974 		} else {
1975 			if (yych == ')') goto yy139;
1976 			if (yych <= ',') goto yy3;
1977 			goto yy195;
1978 		}
1979 	} else {
1980 		if (yych <= 'H') {
1981 			if (yych <= '/') goto yy3;
1982 			if (yych <= '9') goto yy195;
1983 			if (yych <= '@') goto yy3;
1984 			goto yy140;
1985 		} else {
1986 			if (yych <= 'Z') {
1987 				if (yych <= 'I') goto yy431;
1988 				goto yy140;
1989 			} else {
1990 				if (yych <= '`') goto yy3;
1991 				if (yych <= 'z') goto yy145;
1992 				goto yy3;
1993 			}
1994 		}
1995 	}
1996 yy33:
1997 	YYDEBUG(33, *YYCURSOR);
1998 	yyaccept = 0;
1999 	yych = *(YYMARKER = ++YYCURSOR);
2000 	if (yych <= '.') {
2001 		if (yych <= ' ') {
2002 			if (yych == '\t') goto yy195;
2003 			if (yych <= 0x1F) goto yy3;
2004 			goto yy195;
2005 		} else {
2006 			if (yych == ')') goto yy139;
2007 			if (yych <= ',') goto yy3;
2008 			goto yy195;
2009 		}
2010 	} else {
2011 		if (yych <= 'H') {
2012 			if (yych <= '/') goto yy3;
2013 			if (yych <= '9') goto yy195;
2014 			if (yych <= '@') goto yy3;
2015 			goto yy140;
2016 		} else {
2017 			if (yych <= 'Z') {
2018 				if (yych <= 'I') goto yy429;
2019 				goto yy140;
2020 			} else {
2021 				if (yych <= '`') goto yy3;
2022 				if (yych <= 'z') goto yy145;
2023 				goto yy3;
2024 			}
2025 		}
2026 	}
2027 yy34:
2028 	YYDEBUG(34, *YYCURSOR);
2029 	yych = *++YYCURSOR;
2030 	if (yych <= 'U') {
2031 		if (yych <= '@') {
2032 			if (yych == ')') goto yy139;
2033 			goto yy3;
2034 		} else {
2035 			if (yych <= 'A') goto yy412;
2036 			if (yych <= 'T') goto yy140;
2037 			goto yy411;
2038 		}
2039 	} else {
2040 		if (yych <= 'a') {
2041 			if (yych <= 'Z') goto yy140;
2042 			if (yych <= '`') goto yy3;
2043 			goto yy421;
2044 		} else {
2045 			if (yych == 'u') goto yy420;
2046 			if (yych <= 'z') goto yy145;
2047 			goto yy3;
2048 		}
2049 	}
2050 yy35:
2051 	YYDEBUG(35, *YYCURSOR);
2052 	yych = *++YYCURSOR;
2053 	if (yych <= 'U') {
2054 		if (yych <= '@') {
2055 			if (yych == ')') goto yy139;
2056 			goto yy3;
2057 		} else {
2058 			if (yych <= 'A') goto yy412;
2059 			if (yych <= 'T') goto yy140;
2060 			goto yy411;
2061 		}
2062 	} else {
2063 		if (yych <= 'a') {
2064 			if (yych <= 'Z') goto yy140;
2065 			if (yych <= '`') goto yy3;
2066 			goto yy412;
2067 		} else {
2068 			if (yych == 'u') goto yy411;
2069 			if (yych <= 'z') goto yy140;
2070 			goto yy3;
2071 		}
2072 	}
2073 yy36:
2074 	YYDEBUG(36, *YYCURSOR);
2075 	yych = *++YYCURSOR;
2076 	if (yych <= 'U') {
2077 		if (yych <= 'F') {
2078 			if (yych == ')') goto yy139;
2079 			if (yych <= '@') goto yy3;
2080 			goto yy140;
2081 		} else {
2082 			if (yych <= 'O') {
2083 				if (yych <= 'G') goto yy390;
2084 				goto yy140;
2085 			} else {
2086 				if (yych <= 'P') goto yy389;
2087 				if (yych <= 'T') goto yy140;
2088 				goto yy388;
2089 			}
2090 		}
2091 	} else {
2092 		if (yych <= 'o') {
2093 			if (yych <= '`') {
2094 				if (yych <= 'Z') goto yy140;
2095 				goto yy3;
2096 			} else {
2097 				if (yych == 'g') goto yy402;
2098 				goto yy145;
2099 			}
2100 		} else {
2101 			if (yych <= 't') {
2102 				if (yych <= 'p') goto yy401;
2103 				goto yy145;
2104 			} else {
2105 				if (yych <= 'u') goto yy400;
2106 				if (yych <= 'z') goto yy145;
2107 				goto yy3;
2108 			}
2109 		}
2110 	}
2111 yy37:
2112 	YYDEBUG(37, *YYCURSOR);
2113 	yych = *++YYCURSOR;
2114 	if (yych <= 'U') {
2115 		if (yych <= 'F') {
2116 			if (yych == ')') goto yy139;
2117 			if (yych <= '@') goto yy3;
2118 			goto yy140;
2119 		} else {
2120 			if (yych <= 'O') {
2121 				if (yych <= 'G') goto yy390;
2122 				goto yy140;
2123 			} else {
2124 				if (yych <= 'P') goto yy389;
2125 				if (yych <= 'T') goto yy140;
2126 				goto yy388;
2127 			}
2128 		}
2129 	} else {
2130 		if (yych <= 'o') {
2131 			if (yych <= '`') {
2132 				if (yych <= 'Z') goto yy140;
2133 				goto yy3;
2134 			} else {
2135 				if (yych == 'g') goto yy390;
2136 				goto yy140;
2137 			}
2138 		} else {
2139 			if (yych <= 't') {
2140 				if (yych <= 'p') goto yy389;
2141 				goto yy140;
2142 			} else {
2143 				if (yych <= 'u') goto yy388;
2144 				if (yych <= 'z') goto yy140;
2145 				goto yy3;
2146 			}
2147 		}
2148 	}
2149 yy38:
2150 	YYDEBUG(38, *YYCURSOR);
2151 	yych = *++YYCURSOR;
2152 	if (yych <= 'C') {
2153 		if (yych <= ')') {
2154 			if (yych <= '(') goto yy3;
2155 			goto yy139;
2156 		} else {
2157 			if (yych <= '@') goto yy3;
2158 			if (yych <= 'B') goto yy140;
2159 			goto yy378;
2160 		}
2161 	} else {
2162 		if (yych <= 'b') {
2163 			if (yych <= 'Z') goto yy140;
2164 			if (yych <= '`') goto yy3;
2165 			goto yy145;
2166 		} else {
2167 			if (yych <= 'c') goto yy383;
2168 			if (yych <= 'z') goto yy145;
2169 			goto yy3;
2170 		}
2171 	}
2172 yy39:
2173 	YYDEBUG(39, *YYCURSOR);
2174 	yych = *++YYCURSOR;
2175 	if (yych <= 'C') {
2176 		if (yych <= ')') {
2177 			if (yych <= '(') goto yy3;
2178 			goto yy139;
2179 		} else {
2180 			if (yych <= '@') goto yy3;
2181 			if (yych <= 'B') goto yy140;
2182 			goto yy378;
2183 		}
2184 	} else {
2185 		if (yych <= 'b') {
2186 			if (yych <= 'Z') goto yy140;
2187 			if (yych <= '`') goto yy3;
2188 			goto yy140;
2189 		} else {
2190 			if (yych <= 'c') goto yy378;
2191 			if (yych <= 'z') goto yy140;
2192 			goto yy3;
2193 		}
2194 	}
2195 yy40:
2196 	YYDEBUG(40, *YYCURSOR);
2197 	yych = *++YYCURSOR;
2198 	if (yych <= 'E') {
2199 		if (yych <= ')') {
2200 			if (yych <= '(') goto yy3;
2201 			goto yy139;
2202 		} else {
2203 			if (yych <= '@') goto yy3;
2204 			if (yych <= 'D') goto yy140;
2205 			goto yy191;
2206 		}
2207 	} else {
2208 		if (yych <= 'd') {
2209 			if (yych <= 'Z') goto yy140;
2210 			if (yych <= '`') goto yy3;
2211 			goto yy145;
2212 		} else {
2213 			if (yych <= 'e') goto yy369;
2214 			if (yych <= 'z') goto yy145;
2215 			goto yy3;
2216 		}
2217 	}
2218 yy41:
2219 	YYDEBUG(41, *YYCURSOR);
2220 	yych = *++YYCURSOR;
2221 	if (yych <= 'E') {
2222 		if (yych <= ')') {
2223 			if (yych <= '(') goto yy3;
2224 			goto yy139;
2225 		} else {
2226 			if (yych <= '@') goto yy3;
2227 			if (yych <= 'D') goto yy140;
2228 			goto yy191;
2229 		}
2230 	} else {
2231 		if (yych <= 'd') {
2232 			if (yych <= 'Z') goto yy140;
2233 			if (yych <= '`') goto yy3;
2234 			goto yy140;
2235 		} else {
2236 			if (yych <= 'e') goto yy191;
2237 			if (yych <= 'z') goto yy140;
2238 			goto yy3;
2239 		}
2240 	}
2241 yy42:
2242 	YYDEBUG(42, *YYCURSOR);
2243 	yych = *++YYCURSOR;
2244 	if (yych <= 'E') {
2245 		if (yych <= ')') {
2246 			if (yych <= '(') goto yy3;
2247 			goto yy139;
2248 		} else {
2249 			if (yych <= '@') goto yy3;
2250 			if (yych <= 'D') goto yy140;
2251 			goto yy164;
2252 		}
2253 	} else {
2254 		if (yych <= 'd') {
2255 			if (yych <= 'Z') goto yy140;
2256 			if (yych <= '`') goto yy3;
2257 			goto yy145;
2258 		} else {
2259 			if (yych <= 'e') goto yy178;
2260 			if (yych <= 'z') goto yy145;
2261 			goto yy3;
2262 		}
2263 	}
2264 yy43:
2265 	YYDEBUG(43, *YYCURSOR);
2266 	yych = *++YYCURSOR;
2267 	if (yych <= 'E') {
2268 		if (yych <= ')') {
2269 			if (yych <= '(') goto yy3;
2270 			goto yy139;
2271 		} else {
2272 			if (yych <= '@') goto yy3;
2273 			if (yych <= 'D') goto yy140;
2274 			goto yy164;
2275 		}
2276 	} else {
2277 		if (yych <= 'd') {
2278 			if (yych <= 'Z') goto yy140;
2279 			if (yych <= '`') goto yy3;
2280 			goto yy140;
2281 		} else {
2282 			if (yych <= 'e') goto yy164;
2283 			if (yych <= 'z') goto yy140;
2284 			goto yy3;
2285 		}
2286 	}
2287 yy44:
2288 	YYDEBUG(44, *YYCURSOR);
2289 	yych = *++YYCURSOR;
2290 	if (yych <= 'L') {
2291 		if (yych == ')') goto yy139;
2292 		if (yych <= '@') goto yy3;
2293 		goto yy140;
2294 	} else {
2295 		if (yych <= 'Z') {
2296 			if (yych <= 'M') goto yy156;
2297 			goto yy140;
2298 		} else {
2299 			if (yych <= '`') goto yy3;
2300 			if (yych <= 'z') goto yy145;
2301 			goto yy3;
2302 		}
2303 	}
2304 yy45:
2305 	YYDEBUG(45, *YYCURSOR);
2306 	yych = *++YYCURSOR;
2307 	if (yych <= '@') goto yy12;
2308 	if (yych <= 'Z') goto yy155;
2309 	if (yych <= '`') goto yy12;
2310 	if (yych <= 'z') goto yy155;
2311 	goto yy12;
2312 yy46:
2313 	YYDEBUG(46, *YYCURSOR);
2314 	yych = *++YYCURSOR;
2315 	if (yych <= '@') {
2316 		if (yych == ')') goto yy139;
2317 		goto yy3;
2318 	} else {
2319 		if (yych <= 'Z') goto yy140;
2320 		if (yych <= '`') goto yy3;
2321 		if (yych <= 'z') goto yy145;
2322 		goto yy3;
2323 	}
2324 yy47:
2325 	YYDEBUG(47, *YYCURSOR);
2326 	yych = *++YYCURSOR;
2327 	if (yych <= '@') {
2328 		if (yych == ')') goto yy139;
2329 		goto yy3;
2330 	} else {
2331 		if (yych <= 'Z') goto yy140;
2332 		if (yych <= '`') goto yy3;
2333 		if (yych <= 'z') goto yy140;
2334 		goto yy3;
2335 	}
2336 yy48:
2337 	YYDEBUG(48, *YYCURSOR);
2338 	yyaccept = 2;
2339 	yych = *(YYMARKER = ++YYCURSOR);
2340 	if (yybm[0+yych] & 4) {
2341 		goto yy57;
2342 	}
2343 	if (yych <= '/') goto yy49;
2344 	if (yych <= '9') goto yy54;
2345 yy49:
2346 	YYDEBUG(49, *YYCURSOR);
2347 #line 1704 "ext/date/lib/parse_date.re"
2348 	{
2349 		goto std;
2350 	}
2351 #line 2352 "ext/date/lib/parse_date.c"
2352 yy50:
2353 	YYDEBUG(50, *YYCURSOR);
2354 	yych = *++YYCURSOR;
2355 	goto yy49;
2356 yy51:
2357 	YYDEBUG(51, *YYCURSOR);
2358 	++YYCURSOR;
2359 	YYDEBUG(52, *YYCURSOR);
2360 #line 1709 "ext/date/lib/parse_date.re"
2361 	{
2362 		s->pos = cursor; s->line++;
2363 		goto std;
2364 	}
2365 #line 2366 "ext/date/lib/parse_date.c"
2366 yy53:
2367 	YYDEBUG(53, *YYCURSOR);
2368 	yych = *++YYCURSOR;
2369 	goto yy12;
2370 yy54:
2371 	YYDEBUG(54, *YYCURSOR);
2372 	++YYCURSOR;
2373 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
2374 	yych = *YYCURSOR;
2375 	YYDEBUG(55, *YYCURSOR);
2376 	if (yybm[0+yych] & 2) {
2377 		goto yy54;
2378 	}
2379 	if (yych <= 'W') {
2380 		if (yych <= 'F') {
2381 			if (yych <= ' ') {
2382 				if (yych == '\t') goto yy59;
2383 				if (yych >= ' ') goto yy59;
2384 			} else {
2385 				if (yych == 'D') goto yy64;
2386 				if (yych >= 'F') goto yy65;
2387 			}
2388 		} else {
2389 			if (yych <= 'M') {
2390 				if (yych == 'H') goto yy63;
2391 				if (yych >= 'M') goto yy62;
2392 			} else {
2393 				if (yych <= 'S') {
2394 					if (yych >= 'S') goto yy61;
2395 				} else {
2396 					if (yych <= 'T') goto yy68;
2397 					if (yych >= 'W') goto yy67;
2398 				}
2399 			}
2400 		}
2401 	} else {
2402 		if (yych <= 'l') {
2403 			if (yych <= 'd') {
2404 				if (yych == 'Y') goto yy66;
2405 				if (yych >= 'd') goto yy64;
2406 			} else {
2407 				if (yych <= 'f') {
2408 					if (yych >= 'f') goto yy65;
2409 				} else {
2410 					if (yych == 'h') goto yy63;
2411 				}
2412 			}
2413 		} else {
2414 			if (yych <= 't') {
2415 				if (yych <= 'm') goto yy62;
2416 				if (yych <= 'r') goto yy56;
2417 				if (yych <= 's') goto yy61;
2418 				goto yy68;
2419 			} else {
2420 				if (yych <= 'w') {
2421 					if (yych >= 'w') goto yy67;
2422 				} else {
2423 					if (yych == 'y') goto yy66;
2424 				}
2425 			}
2426 		}
2427 	}
2428 yy56:
2429 	YYDEBUG(56, *YYCURSOR);
2430 	YYCURSOR = YYMARKER;
2431 	if (yyaccept <= 16) {
2432 		if (yyaccept <= 8) {
2433 			if (yyaccept <= 4) {
2434 				if (yyaccept <= 2) {
2435 					if (yyaccept <= 1) {
2436 						if (yyaccept <= 0) {
2437 							goto yy3;
2438 						} else {
2439 							goto yy12;
2440 						}
2441 					} else {
2442 						goto yy49;
2443 					}
2444 				} else {
2445 					if (yyaccept <= 3) {
2446 						goto yy72;
2447 					} else {
2448 						goto yy166;
2449 					}
2450 				}
2451 			} else {
2452 				if (yyaccept <= 6) {
2453 					if (yyaccept <= 5) {
2454 						goto yy193;
2455 					} else {
2456 						goto yy198;
2457 					}
2458 				} else {
2459 					if (yyaccept <= 7) {
2460 						goto yy222;
2461 					} else {
2462 						goto yy294;
2463 					}
2464 				}
2465 			}
2466 		} else {
2467 			if (yyaccept <= 12) {
2468 				if (yyaccept <= 10) {
2469 					if (yyaccept <= 9) {
2470 						goto yy392;
2471 					} else {
2472 						goto yy475;
2473 					}
2474 				} else {
2475 					if (yyaccept <= 11) {
2476 						goto yy490;
2477 					} else {
2478 						goto yy611;
2479 					}
2480 				}
2481 			} else {
2482 				if (yyaccept <= 14) {
2483 					if (yyaccept <= 13) {
2484 						goto yy656;
2485 					} else {
2486 						goto yy666;
2487 					}
2488 				} else {
2489 					if (yyaccept <= 15) {
2490 						goto yy763;
2491 					} else {
2492 						goto yy783;
2493 					}
2494 				}
2495 			}
2496 		}
2497 	} else {
2498 		if (yyaccept <= 25) {
2499 			if (yyaccept <= 21) {
2500 				if (yyaccept <= 19) {
2501 					if (yyaccept <= 18) {
2502 						if (yyaccept <= 17) {
2503 							goto yy814;
2504 						} else {
2505 							goto yy821;
2506 						}
2507 					} else {
2508 						goto yy848;
2509 					}
2510 				} else {
2511 					if (yyaccept <= 20) {
2512 						goto yy793;
2513 					} else {
2514 						goto yy454;
2515 					}
2516 				}
2517 			} else {
2518 				if (yyaccept <= 23) {
2519 					if (yyaccept <= 22) {
2520 						goto yy973;
2521 					} else {
2522 						goto yy842;
2523 					}
2524 				} else {
2525 					if (yyaccept <= 24) {
2526 						goto yy1067;
2527 					} else {
2528 						goto yy1075;
2529 					}
2530 				}
2531 			}
2532 		} else {
2533 			if (yyaccept <= 29) {
2534 				if (yyaccept <= 27) {
2535 					if (yyaccept <= 26) {
2536 						goto yy1117;
2537 					} else {
2538 						goto yy1141;
2539 					}
2540 				} else {
2541 					if (yyaccept <= 28) {
2542 						goto yy1294;
2543 					} else {
2544 						goto yy1417;
2545 					}
2546 				}
2547 			} else {
2548 				if (yyaccept <= 31) {
2549 					if (yyaccept <= 30) {
2550 						goto yy1420;
2551 					} else {
2552 						goto yy1500;
2553 					}
2554 				} else {
2555 					if (yyaccept <= 32) {
2556 						goto yy1508;
2557 					} else {
2558 						goto yy1531;
2559 					}
2560 				}
2561 			}
2562 		}
2563 	}
2564 yy57:
2565 	YYDEBUG(57, *YYCURSOR);
2566 	++YYCURSOR;
2567 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
2568 	yych = *YYCURSOR;
2569 	YYDEBUG(58, *YYCURSOR);
2570 	if (yybm[0+yych] & 4) {
2571 		goto yy57;
2572 	}
2573 	if (yych <= '/') goto yy56;
2574 	if (yych <= '9') goto yy54;
2575 	goto yy56;
2576 yy59:
2577 	YYDEBUG(59, *YYCURSOR);
2578 	++YYCURSOR;
2579 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
2580 	yych = *YYCURSOR;
2581 yy60:
2582 	YYDEBUG(60, *YYCURSOR);
2583 	if (yych <= 'W') {
2584 		if (yych <= 'F') {
2585 			if (yych <= ' ') {
2586 				if (yych == '\t') goto yy59;
2587 				if (yych <= 0x1F) goto yy56;
2588 				goto yy59;
2589 			} else {
2590 				if (yych == 'D') goto yy64;
2591 				if (yych <= 'E') goto yy56;
2592 				goto yy65;
2593 			}
2594 		} else {
2595 			if (yych <= 'M') {
2596 				if (yych == 'H') goto yy63;
2597 				if (yych <= 'L') goto yy56;
2598 				goto yy62;
2599 			} else {
2600 				if (yych <= 'S') {
2601 					if (yych <= 'R') goto yy56;
2602 				} else {
2603 					if (yych <= 'T') goto yy68;
2604 					if (yych <= 'V') goto yy56;
2605 					goto yy67;
2606 				}
2607 			}
2608 		}
2609 	} else {
2610 		if (yych <= 'l') {
2611 			if (yych <= 'd') {
2612 				if (yych == 'Y') goto yy66;
2613 				if (yych <= 'c') goto yy56;
2614 				goto yy64;
2615 			} else {
2616 				if (yych <= 'f') {
2617 					if (yych <= 'e') goto yy56;
2618 					goto yy65;
2619 				} else {
2620 					if (yych == 'h') goto yy63;
2621 					goto yy56;
2622 				}
2623 			}
2624 		} else {
2625 			if (yych <= 't') {
2626 				if (yych <= 'm') goto yy62;
2627 				if (yych <= 'r') goto yy56;
2628 				if (yych >= 't') goto yy68;
2629 			} else {
2630 				if (yych <= 'w') {
2631 					if (yych <= 'v') goto yy56;
2632 					goto yy67;
2633 				} else {
2634 					if (yych == 'y') goto yy66;
2635 					goto yy56;
2636 				}
2637 			}
2638 		}
2639 	}
2640 yy61:
2641 	YYDEBUG(61, *YYCURSOR);
2642 	yych = *++YYCURSOR;
2643 	if (yych <= 'U') {
2644 		if (yych <= 'D') {
2645 			if (yych == 'A') goto yy126;
2646 			goto yy56;
2647 		} else {
2648 			if (yych <= 'E') goto yy127;
2649 			if (yych <= 'T') goto yy56;
2650 			goto yy125;
2651 		}
2652 	} else {
2653 		if (yych <= 'd') {
2654 			if (yych == 'a') goto yy126;
2655 			goto yy56;
2656 		} else {
2657 			if (yych <= 'e') goto yy127;
2658 			if (yych == 'u') goto yy125;
2659 			goto yy56;
2660 		}
2661 	}
2662 yy62:
2663 	YYDEBUG(62, *YYCURSOR);
2664 	yych = *++YYCURSOR;
2665 	if (yych <= 'O') {
2666 		if (yych == 'I') goto yy117;
2667 		if (yych <= 'N') goto yy56;
2668 		goto yy116;
2669 	} else {
2670 		if (yych <= 'i') {
2671 			if (yych <= 'h') goto yy56;
2672 			goto yy117;
2673 		} else {
2674 			if (yych == 'o') goto yy116;
2675 			goto yy56;
2676 		}
2677 	}
2678 yy63:
2679 	YYDEBUG(63, *YYCURSOR);
2680 	yych = *++YYCURSOR;
2681 	if (yych == 'O') goto yy114;
2682 	if (yych == 'o') goto yy114;
2683 	goto yy56;
2684 yy64:
2685 	YYDEBUG(64, *YYCURSOR);
2686 	yych = *++YYCURSOR;
2687 	if (yych == 'A') goto yy113;
2688 	if (yych == 'a') goto yy113;
2689 	goto yy56;
2690 yy65:
2691 	YYDEBUG(65, *YYCURSOR);
2692 	yych = *++YYCURSOR;
2693 	if (yych <= 'R') {
2694 		if (yych == 'O') goto yy98;
2695 		if (yych <= 'Q') goto yy56;
2696 		goto yy97;
2697 	} else {
2698 		if (yych <= 'o') {
2699 			if (yych <= 'n') goto yy56;
2700 			goto yy98;
2701 		} else {
2702 			if (yych == 'r') goto yy97;
2703 			goto yy56;
2704 		}
2705 	}
2706 yy66:
2707 	YYDEBUG(66, *YYCURSOR);
2708 	yych = *++YYCURSOR;
2709 	if (yych == 'E') goto yy94;
2710 	if (yych == 'e') goto yy94;
2711 	goto yy56;
2712 yy67:
2713 	YYDEBUG(67, *YYCURSOR);
2714 	yych = *++YYCURSOR;
2715 	if (yych == 'E') goto yy82;
2716 	if (yych == 'e') goto yy82;
2717 	goto yy56;
2718 yy68:
2719 	YYDEBUG(68, *YYCURSOR);
2720 	yych = *++YYCURSOR;
2721 	if (yych <= 'U') {
2722 		if (yych == 'H') goto yy69;
2723 		if (yych <= 'T') goto yy56;
2724 		goto yy70;
2725 	} else {
2726 		if (yych <= 'h') {
2727 			if (yych <= 'g') goto yy56;
2728 		} else {
2729 			if (yych == 'u') goto yy70;
2730 			goto yy56;
2731 		}
2732 	}
2733 yy69:
2734 	YYDEBUG(69, *YYCURSOR);
2735 	yych = *++YYCURSOR;
2736 	if (yych == 'U') goto yy77;
2737 	if (yych == 'u') goto yy77;
2738 	goto yy56;
2739 yy70:
2740 	YYDEBUG(70, *YYCURSOR);
2741 	yych = *++YYCURSOR;
2742 	if (yych == 'E') goto yy71;
2743 	if (yych != 'e') goto yy56;
2744 yy71:
2745 	YYDEBUG(71, *YYCURSOR);
2746 	yyaccept = 3;
2747 	yych = *(YYMARKER = ++YYCURSOR);
2748 	if (yych == 'S') goto yy73;
2749 	if (yych == 's') goto yy73;
2750 yy72:
2751 	YYDEBUG(72, *YYCURSOR);
2752 #line 1688 "ext/date/lib/parse_date.re"
2753 	{
2754 		timelib_ull i;
2755 		DEBUG_OUTPUT("relative");
2756 		TIMELIB_INIT;
2757 		TIMELIB_HAVE_RELATIVE();
2758 
2759 		while(*ptr) {
2760 			i = timelib_get_unsigned_nr((char **) &ptr, 24);
2761 			timelib_eat_spaces((char **) &ptr);
2762 			timelib_set_relative((char **) &ptr, i, 1, s);
2763 		}
2764 		TIMELIB_DEINIT;
2765 		return TIMELIB_RELATIVE;
2766 	}
2767 #line 2768 "ext/date/lib/parse_date.c"
2768 yy73:
2769 	YYDEBUG(73, *YYCURSOR);
2770 	yych = *++YYCURSOR;
2771 	if (yych == 'D') goto yy74;
2772 	if (yych != 'd') goto yy56;
2773 yy74:
2774 	YYDEBUG(74, *YYCURSOR);
2775 	yych = *++YYCURSOR;
2776 	if (yych == 'A') goto yy75;
2777 	if (yych != 'a') goto yy56;
2778 yy75:
2779 	YYDEBUG(75, *YYCURSOR);
2780 	yych = *++YYCURSOR;
2781 	if (yych == 'Y') goto yy76;
2782 	if (yych != 'y') goto yy56;
2783 yy76:
2784 	YYDEBUG(76, *YYCURSOR);
2785 	yych = *++YYCURSOR;
2786 	goto yy72;
2787 yy77:
2788 	YYDEBUG(77, *YYCURSOR);
2789 	yyaccept = 3;
2790 	yych = *(YYMARKER = ++YYCURSOR);
2791 	if (yych == 'R') goto yy78;
2792 	if (yych != 'r') goto yy72;
2793 yy78:
2794 	YYDEBUG(78, *YYCURSOR);
2795 	yych = *++YYCURSOR;
2796 	if (yych == 'S') goto yy79;
2797 	if (yych != 's') goto yy56;
2798 yy79:
2799 	YYDEBUG(79, *YYCURSOR);
2800 	yych = *++YYCURSOR;
2801 	if (yych == 'D') goto yy80;
2802 	if (yych != 'd') goto yy56;
2803 yy80:
2804 	YYDEBUG(80, *YYCURSOR);
2805 	yych = *++YYCURSOR;
2806 	if (yych == 'A') goto yy81;
2807 	if (yych != 'a') goto yy56;
2808 yy81:
2809 	YYDEBUG(81, *YYCURSOR);
2810 	yych = *++YYCURSOR;
2811 	if (yych == 'Y') goto yy76;
2812 	if (yych == 'y') goto yy76;
2813 	goto yy56;
2814 yy82:
2815 	YYDEBUG(82, *YYCURSOR);
2816 	yych = *++YYCURSOR;
2817 	if (yych <= 'E') {
2818 		if (yych <= 'C') goto yy56;
2819 		if (yych <= 'D') goto yy84;
2820 	} else {
2821 		if (yych <= 'c') goto yy56;
2822 		if (yych <= 'd') goto yy84;
2823 		if (yych >= 'f') goto yy56;
2824 	}
2825 	YYDEBUG(83, *YYCURSOR);
2826 	yych = *++YYCURSOR;
2827 	if (yych == 'K') goto yy90;
2828 	if (yych == 'k') goto yy90;
2829 	goto yy56;
2830 yy84:
2831 	YYDEBUG(84, *YYCURSOR);
2832 	yyaccept = 3;
2833 	yych = *(YYMARKER = ++YYCURSOR);
2834 	if (yych == 'N') goto yy85;
2835 	if (yych != 'n') goto yy72;
2836 yy85:
2837 	YYDEBUG(85, *YYCURSOR);
2838 	yych = *++YYCURSOR;
2839 	if (yych == 'E') goto yy86;
2840 	if (yych != 'e') goto yy56;
2841 yy86:
2842 	YYDEBUG(86, *YYCURSOR);
2843 	yych = *++YYCURSOR;
2844 	if (yych == 'S') goto yy87;
2845 	if (yych != 's') goto yy56;
2846 yy87:
2847 	YYDEBUG(87, *YYCURSOR);
2848 	yych = *++YYCURSOR;
2849 	if (yych == 'D') goto yy88;
2850 	if (yych != 'd') goto yy56;
2851 yy88:
2852 	YYDEBUG(88, *YYCURSOR);
2853 	yych = *++YYCURSOR;
2854 	if (yych == 'A') goto yy89;
2855 	if (yych != 'a') goto yy56;
2856 yy89:
2857 	YYDEBUG(89, *YYCURSOR);
2858 	yych = *++YYCURSOR;
2859 	if (yych == 'Y') goto yy76;
2860 	if (yych == 'y') goto yy76;
2861 	goto yy56;
2862 yy90:
2863 	YYDEBUG(90, *YYCURSOR);
2864 	yyaccept = 3;
2865 	yych = *(YYMARKER = ++YYCURSOR);
2866 	if (yych <= 'S') {
2867 		if (yych == 'D') goto yy91;
2868 		if (yych <= 'R') goto yy72;
2869 		goto yy76;
2870 	} else {
2871 		if (yych <= 'd') {
2872 			if (yych <= 'c') goto yy72;
2873 		} else {
2874 			if (yych == 's') goto yy76;
2875 			goto yy72;
2876 		}
2877 	}
2878 yy91:
2879 	YYDEBUG(91, *YYCURSOR);
2880 	yych = *++YYCURSOR;
2881 	if (yych == 'A') goto yy92;
2882 	if (yych != 'a') goto yy56;
2883 yy92:
2884 	YYDEBUG(92, *YYCURSOR);
2885 	yych = *++YYCURSOR;
2886 	if (yych == 'Y') goto yy93;
2887 	if (yych != 'y') goto yy56;
2888 yy93:
2889 	YYDEBUG(93, *YYCURSOR);
2890 	yych = *++YYCURSOR;
2891 	if (yych == 'S') goto yy76;
2892 	if (yych == 's') goto yy76;
2893 	goto yy72;
2894 yy94:
2895 	YYDEBUG(94, *YYCURSOR);
2896 	yych = *++YYCURSOR;
2897 	if (yych == 'A') goto yy95;
2898 	if (yych != 'a') goto yy56;
2899 yy95:
2900 	YYDEBUG(95, *YYCURSOR);
2901 	yych = *++YYCURSOR;
2902 	if (yych == 'R') goto yy96;
2903 	if (yych != 'r') goto yy56;
2904 yy96:
2905 	YYDEBUG(96, *YYCURSOR);
2906 	yych = *++YYCURSOR;
2907 	if (yych == 'S') goto yy76;
2908 	if (yych == 's') goto yy76;
2909 	goto yy72;
2910 yy97:
2911 	YYDEBUG(97, *YYCURSOR);
2912 	yych = *++YYCURSOR;
2913 	if (yych == 'I') goto yy110;
2914 	if (yych == 'i') goto yy110;
2915 	goto yy56;
2916 yy98:
2917 	YYDEBUG(98, *YYCURSOR);
2918 	yych = *++YYCURSOR;
2919 	if (yych == 'R') goto yy99;
2920 	if (yych != 'r') goto yy56;
2921 yy99:
2922 	YYDEBUG(99, *YYCURSOR);
2923 	yych = *++YYCURSOR;
2924 	if (yych == 'T') goto yy100;
2925 	if (yych != 't') goto yy56;
2926 yy100:
2927 	YYDEBUG(100, *YYCURSOR);
2928 	yych = *++YYCURSOR;
2929 	if (yych <= 'N') {
2930 		if (yych == 'H') goto yy102;
2931 		if (yych <= 'M') goto yy56;
2932 	} else {
2933 		if (yych <= 'h') {
2934 			if (yych <= 'g') goto yy56;
2935 			goto yy102;
2936 		} else {
2937 			if (yych != 'n') goto yy56;
2938 		}
2939 	}
2940 	YYDEBUG(101, *YYCURSOR);
2941 	yych = *++YYCURSOR;
2942 	if (yych == 'I') goto yy107;
2943 	if (yych == 'i') goto yy107;
2944 	goto yy56;
2945 yy102:
2946 	YYDEBUG(102, *YYCURSOR);
2947 	yych = *++YYCURSOR;
2948 	if (yych == 'N') goto yy103;
2949 	if (yych != 'n') goto yy56;
2950 yy103:
2951 	YYDEBUG(103, *YYCURSOR);
2952 	yych = *++YYCURSOR;
2953 	if (yych == 'I') goto yy104;
2954 	if (yych != 'i') goto yy56;
2955 yy104:
2956 	YYDEBUG(104, *YYCURSOR);
2957 	yych = *++YYCURSOR;
2958 	if (yych == 'G') goto yy105;
2959 	if (yych != 'g') goto yy56;
2960 yy105:
2961 	YYDEBUG(105, *YYCURSOR);
2962 	yych = *++YYCURSOR;
2963 	if (yych == 'H') goto yy106;
2964 	if (yych != 'h') goto yy56;
2965 yy106:
2966 	YYDEBUG(106, *YYCURSOR);
2967 	yych = *++YYCURSOR;
2968 	if (yych == 'T') goto yy96;
2969 	if (yych == 't') goto yy96;
2970 	goto yy56;
2971 yy107:
2972 	YYDEBUG(107, *YYCURSOR);
2973 	yych = *++YYCURSOR;
2974 	if (yych == 'G') goto yy108;
2975 	if (yych != 'g') goto yy56;
2976 yy108:
2977 	YYDEBUG(108, *YYCURSOR);
2978 	yych = *++YYCURSOR;
2979 	if (yych == 'H') goto yy109;
2980 	if (yych != 'h') goto yy56;
2981 yy109:
2982 	YYDEBUG(109, *YYCURSOR);
2983 	yych = *++YYCURSOR;
2984 	if (yych == 'T') goto yy96;
2985 	if (yych == 't') goto yy96;
2986 	goto yy56;
2987 yy110:
2988 	YYDEBUG(110, *YYCURSOR);
2989 	yyaccept = 3;
2990 	yych = *(YYMARKER = ++YYCURSOR);
2991 	if (yych == 'D') goto yy111;
2992 	if (yych != 'd') goto yy72;
2993 yy111:
2994 	YYDEBUG(111, *YYCURSOR);
2995 	yych = *++YYCURSOR;
2996 	if (yych == 'A') goto yy112;
2997 	if (yych != 'a') goto yy56;
2998 yy112:
2999 	YYDEBUG(112, *YYCURSOR);
3000 	yych = *++YYCURSOR;
3001 	if (yych == 'Y') goto yy76;
3002 	if (yych == 'y') goto yy76;
3003 	goto yy56;
3004 yy113:
3005 	YYDEBUG(113, *YYCURSOR);
3006 	yych = *++YYCURSOR;
3007 	if (yych == 'Y') goto yy96;
3008 	if (yych == 'y') goto yy96;
3009 	goto yy56;
3010 yy114:
3011 	YYDEBUG(114, *YYCURSOR);
3012 	yych = *++YYCURSOR;
3013 	if (yych == 'U') goto yy115;
3014 	if (yych != 'u') goto yy56;
3015 yy115:
3016 	YYDEBUG(115, *YYCURSOR);
3017 	yych = *++YYCURSOR;
3018 	if (yych == 'R') goto yy96;
3019 	if (yych == 'r') goto yy96;
3020 	goto yy56;
3021 yy116:
3022 	YYDEBUG(116, *YYCURSOR);
3023 	yych = *++YYCURSOR;
3024 	if (yych == 'N') goto yy121;
3025 	if (yych == 'n') goto yy121;
3026 	goto yy56;
3027 yy117:
3028 	YYDEBUG(117, *YYCURSOR);
3029 	yych = *++YYCURSOR;
3030 	if (yych == 'N') goto yy118;
3031 	if (yych != 'n') goto yy56;
3032 yy118:
3033 	YYDEBUG(118, *YYCURSOR);
3034 	yyaccept = 3;
3035 	yych = *(YYMARKER = ++YYCURSOR);
3036 	if (yych <= 'U') {
3037 		if (yych == 'S') goto yy76;
3038 		if (yych <= 'T') goto yy72;
3039 	} else {
3040 		if (yych <= 's') {
3041 			if (yych <= 'r') goto yy72;
3042 			goto yy76;
3043 		} else {
3044 			if (yych != 'u') goto yy72;
3045 		}
3046 	}
3047 	YYDEBUG(119, *YYCURSOR);
3048 	yych = *++YYCURSOR;
3049 	if (yych == 'T') goto yy120;
3050 	if (yych != 't') goto yy56;
3051 yy120:
3052 	YYDEBUG(120, *YYCURSOR);
3053 	yych = *++YYCURSOR;
3054 	if (yych == 'E') goto yy96;
3055 	if (yych == 'e') goto yy96;
3056 	goto yy56;
3057 yy121:
3058 	YYDEBUG(121, *YYCURSOR);
3059 	yyaccept = 3;
3060 	yych = *(YYMARKER = ++YYCURSOR);
3061 	if (yych <= 'T') {
3062 		if (yych == 'D') goto yy122;
3063 		if (yych <= 'S') goto yy72;
3064 		goto yy123;
3065 	} else {
3066 		if (yych <= 'd') {
3067 			if (yych <= 'c') goto yy72;
3068 		} else {
3069 			if (yych == 't') goto yy123;
3070 			goto yy72;
3071 		}
3072 	}
3073 yy122:
3074 	YYDEBUG(122, *YYCURSOR);
3075 	yych = *++YYCURSOR;
3076 	if (yych == 'A') goto yy124;
3077 	if (yych == 'a') goto yy124;
3078 	goto yy56;
3079 yy123:
3080 	YYDEBUG(123, *YYCURSOR);
3081 	yych = *++YYCURSOR;
3082 	if (yych == 'H') goto yy96;
3083 	if (yych == 'h') goto yy96;
3084 	goto yy56;
3085 yy124:
3086 	YYDEBUG(124, *YYCURSOR);
3087 	yych = *++YYCURSOR;
3088 	if (yych == 'Y') goto yy76;
3089 	if (yych == 'y') goto yy76;
3090 	goto yy56;
3091 yy125:
3092 	YYDEBUG(125, *YYCURSOR);
3093 	yych = *++YYCURSOR;
3094 	if (yych == 'N') goto yy136;
3095 	if (yych == 'n') goto yy136;
3096 	goto yy56;
3097 yy126:
3098 	YYDEBUG(126, *YYCURSOR);
3099 	yych = *++YYCURSOR;
3100 	if (yych == 'T') goto yy131;
3101 	if (yych == 't') goto yy131;
3102 	goto yy56;
3103 yy127:
3104 	YYDEBUG(127, *YYCURSOR);
3105 	yych = *++YYCURSOR;
3106 	if (yych == 'C') goto yy128;
3107 	if (yych != 'c') goto yy56;
3108 yy128:
3109 	YYDEBUG(128, *YYCURSOR);
3110 	yyaccept = 3;
3111 	yych = *(YYMARKER = ++YYCURSOR);
3112 	if (yych <= 'S') {
3113 		if (yych == 'O') goto yy129;
3114 		if (yych <= 'R') goto yy72;
3115 		goto yy76;
3116 	} else {
3117 		if (yych <= 'o') {
3118 			if (yych <= 'n') goto yy72;
3119 		} else {
3120 			if (yych == 's') goto yy76;
3121 			goto yy72;
3122 		}
3123 	}
3124 yy129:
3125 	YYDEBUG(129, *YYCURSOR);
3126 	yych = *++YYCURSOR;
3127 	if (yych == 'N') goto yy130;
3128 	if (yych != 'n') goto yy56;
3129 yy130:
3130 	YYDEBUG(130, *YYCURSOR);
3131 	yych = *++YYCURSOR;
3132 	if (yych == 'D') goto yy96;
3133 	if (yych == 'd') goto yy96;
3134 	goto yy56;
3135 yy131:
3136 	YYDEBUG(131, *YYCURSOR);
3137 	yyaccept = 3;
3138 	yych = *(YYMARKER = ++YYCURSOR);
3139 	if (yych == 'U') goto yy132;
3140 	if (yych != 'u') goto yy72;
3141 yy132:
3142 	YYDEBUG(132, *YYCURSOR);
3143 	yych = *++YYCURSOR;
3144 	if (yych == 'R') goto yy133;
3145 	if (yych != 'r') goto yy56;
3146 yy133:
3147 	YYDEBUG(133, *YYCURSOR);
3148 	yych = *++YYCURSOR;
3149 	if (yych == 'D') goto yy134;
3150 	if (yych != 'd') goto yy56;
3151 yy134:
3152 	YYDEBUG(134, *YYCURSOR);
3153 	yych = *++YYCURSOR;
3154 	if (yych == 'A') goto yy135;
3155 	if (yych != 'a') goto yy56;
3156 yy135:
3157 	YYDEBUG(135, *YYCURSOR);
3158 	yych = *++YYCURSOR;
3159 	if (yych == 'Y') goto yy76;
3160 	if (yych == 'y') goto yy76;
3161 	goto yy56;
3162 yy136:
3163 	YYDEBUG(136, *YYCURSOR);
3164 	yyaccept = 3;
3165 	yych = *(YYMARKER = ++YYCURSOR);
3166 	if (yych == 'D') goto yy137;
3167 	if (yych != 'd') goto yy72;
3168 yy137:
3169 	YYDEBUG(137, *YYCURSOR);
3170 	yych = *++YYCURSOR;
3171 	if (yych == 'A') goto yy138;
3172 	if (yych != 'a') goto yy56;
3173 yy138:
3174 	YYDEBUG(138, *YYCURSOR);
3175 	yych = *++YYCURSOR;
3176 	if (yych == 'Y') goto yy76;
3177 	if (yych == 'y') goto yy76;
3178 	goto yy56;
3179 yy139:
3180 	YYDEBUG(139, *YYCURSOR);
3181 	yych = *++YYCURSOR;
3182 	goto yy3;
3183 yy140:
3184 	YYDEBUG(140, *YYCURSOR);
3185 	yych = *++YYCURSOR;
3186 	if (yych <= '@') {
3187 		if (yych == ')') goto yy139;
3188 		goto yy3;
3189 	} else {
3190 		if (yych <= 'Z') goto yy141;
3191 		if (yych <= '`') goto yy3;
3192 		if (yych >= '{') goto yy3;
3193 	}
3194 yy141:
3195 	YYDEBUG(141, *YYCURSOR);
3196 	yych = *++YYCURSOR;
3197 	if (yych <= '@') {
3198 		if (yych == ')') goto yy139;
3199 		goto yy3;
3200 	} else {
3201 		if (yych <= 'Z') goto yy142;
3202 		if (yych <= '`') goto yy3;
3203 		if (yych >= '{') goto yy3;
3204 	}
3205 yy142:
3206 	YYDEBUG(142, *YYCURSOR);
3207 	yych = *++YYCURSOR;
3208 	if (yych <= '@') {
3209 		if (yych == ')') goto yy139;
3210 		goto yy3;
3211 	} else {
3212 		if (yych <= 'Z') goto yy143;
3213 		if (yych <= '`') goto yy3;
3214 		if (yych >= '{') goto yy3;
3215 	}
3216 yy143:
3217 	YYDEBUG(143, *YYCURSOR);
3218 	yych = *++YYCURSOR;
3219 	if (yych <= '@') {
3220 		if (yych == ')') goto yy139;
3221 		goto yy3;
3222 	} else {
3223 		if (yych <= 'Z') goto yy144;
3224 		if (yych <= '`') goto yy3;
3225 		if (yych >= '{') goto yy3;
3226 	}
3227 yy144:
3228 	YYDEBUG(144, *YYCURSOR);
3229 	yych = *++YYCURSOR;
3230 	if (yych == ')') goto yy139;
3231 	goto yy3;
3232 yy145:
3233 	YYDEBUG(145, *YYCURSOR);
3234 	yyaccept = 0;
3235 	yych = *(YYMARKER = ++YYCURSOR);
3236 	if (yych <= '/') {
3237 		if (yych <= ',') {
3238 			if (yych == ')') goto yy139;
3239 			goto yy3;
3240 		} else {
3241 			if (yych == '.') goto yy3;
3242 			goto yy147;
3243 		}
3244 	} else {
3245 		if (yych <= '^') {
3246 			if (yych <= '@') goto yy3;
3247 			if (yych <= 'Z') goto yy141;
3248 			goto yy3;
3249 		} else {
3250 			if (yych <= '_') goto yy147;
3251 			if (yych <= '`') goto yy3;
3252 			if (yych >= '{') goto yy3;
3253 		}
3254 	}
3255 yy146:
3256 	YYDEBUG(146, *YYCURSOR);
3257 	yyaccept = 0;
3258 	yych = *(YYMARKER = ++YYCURSOR);
3259 	if (yych <= '/') {
3260 		if (yych <= ',') {
3261 			if (yych == ')') goto yy139;
3262 			goto yy3;
3263 		} else {
3264 			if (yych == '.') goto yy3;
3265 		}
3266 	} else {
3267 		if (yych <= '^') {
3268 			if (yych <= '@') goto yy3;
3269 			if (yych <= 'Z') goto yy142;
3270 			goto yy3;
3271 		} else {
3272 			if (yych <= '_') goto yy147;
3273 			if (yych <= '`') goto yy3;
3274 			if (yych <= 'z') goto yy150;
3275 			goto yy3;
3276 		}
3277 	}
3278 yy147:
3279 	YYDEBUG(147, *YYCURSOR);
3280 	++YYCURSOR;
3281 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3282 	yych = *YYCURSOR;
3283 	if (yybm[0+yych] & 8) {
3284 		goto yy148;
3285 	}
3286 	goto yy56;
3287 yy148:
3288 	YYDEBUG(148, *YYCURSOR);
3289 	yyaccept = 0;
3290 	YYMARKER = ++YYCURSOR;
3291 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3292 	yych = *YYCURSOR;
3293 	YYDEBUG(149, *YYCURSOR);
3294 	if (yybm[0+yych] & 8) {
3295 		goto yy148;
3296 	}
3297 	if (yych <= '.') {
3298 		if (yych == '-') goto yy147;
3299 		goto yy3;
3300 	} else {
3301 		if (yych <= '/') goto yy147;
3302 		if (yych == '_') goto yy147;
3303 		goto yy3;
3304 	}
3305 yy150:
3306 	YYDEBUG(150, *YYCURSOR);
3307 	yyaccept = 0;
3308 	yych = *(YYMARKER = ++YYCURSOR);
3309 	if (yych <= '/') {
3310 		if (yych <= ',') {
3311 			if (yych == ')') goto yy139;
3312 			goto yy3;
3313 		} else {
3314 			if (yych == '.') goto yy3;
3315 			goto yy147;
3316 		}
3317 	} else {
3318 		if (yych <= '^') {
3319 			if (yych <= '@') goto yy3;
3320 			if (yych <= 'Z') goto yy143;
3321 			goto yy3;
3322 		} else {
3323 			if (yych <= '_') goto yy147;
3324 			if (yych <= '`') goto yy3;
3325 			if (yych >= '{') goto yy3;
3326 		}
3327 	}
3328 yy151:
3329 	YYDEBUG(151, *YYCURSOR);
3330 	yyaccept = 0;
3331 	yych = *(YYMARKER = ++YYCURSOR);
3332 	if (yych <= '/') {
3333 		if (yych <= ',') {
3334 			if (yych == ')') goto yy139;
3335 			goto yy3;
3336 		} else {
3337 			if (yych == '.') goto yy3;
3338 			goto yy147;
3339 		}
3340 	} else {
3341 		if (yych <= '^') {
3342 			if (yych <= '@') goto yy3;
3343 			if (yych <= 'Z') goto yy144;
3344 			goto yy3;
3345 		} else {
3346 			if (yych <= '_') goto yy147;
3347 			if (yych <= '`') goto yy3;
3348 			if (yych >= '{') goto yy3;
3349 		}
3350 	}
3351 yy152:
3352 	YYDEBUG(152, *YYCURSOR);
3353 	yyaccept = 0;
3354 	yych = *(YYMARKER = ++YYCURSOR);
3355 	if (yybm[0+yych] & 16) {
3356 		goto yy153;
3357 	}
3358 	if (yych <= '-') {
3359 		if (yych == ')') goto yy139;
3360 		if (yych <= ',') goto yy3;
3361 		goto yy147;
3362 	} else {
3363 		if (yych <= '/') {
3364 			if (yych <= '.') goto yy3;
3365 			goto yy147;
3366 		} else {
3367 			if (yych == '_') goto yy147;
3368 			goto yy3;
3369 		}
3370 	}
3371 yy153:
3372 	YYDEBUG(153, *YYCURSOR);
3373 	++YYCURSOR;
3374 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3375 	yych = *YYCURSOR;
3376 yy154:
3377 	YYDEBUG(154, *YYCURSOR);
3378 	if (yybm[0+yych] & 16) {
3379 		goto yy153;
3380 	}
3381 	if (yych <= '.') {
3382 		if (yych == '-') goto yy147;
3383 		goto yy56;
3384 	} else {
3385 		if (yych <= '/') goto yy147;
3386 		if (yych == '_') goto yy147;
3387 		goto yy56;
3388 	}
3389 yy155:
3390 	YYDEBUG(155, *YYCURSOR);
3391 	yych = *++YYCURSOR;
3392 	if (yych <= '@') {
3393 		if (yych == ')') goto yy139;
3394 		goto yy3;
3395 	} else {
3396 		if (yych <= 'Z') goto yy140;
3397 		if (yych <= '`') goto yy3;
3398 		if (yych <= 'z') goto yy140;
3399 		goto yy3;
3400 	}
3401 yy156:
3402 	YYDEBUG(156, *YYCURSOR);
3403 	yych = *++YYCURSOR;
3404 	if (yych <= 'S') {
3405 		if (yych == ')') goto yy139;
3406 		if (yych <= '@') goto yy3;
3407 		goto yy141;
3408 	} else {
3409 		if (yych <= 'Z') {
3410 			if (yych >= 'U') goto yy141;
3411 		} else {
3412 			if (yych <= '`') goto yy3;
3413 			if (yych <= 'z') goto yy141;
3414 			goto yy3;
3415 		}
3416 	}
3417 	YYDEBUG(157, *YYCURSOR);
3418 	yyaccept = 0;
3419 	yych = *(YYMARKER = ++YYCURSOR);
3420 	if (yych <= ',') {
3421 		if (yych <= ')') {
3422 			if (yych <= '(') goto yy3;
3423 			goto yy139;
3424 		} else {
3425 			if (yych != '+') goto yy3;
3426 		}
3427 	} else {
3428 		if (yych <= 'Z') {
3429 			if (yych <= '-') goto yy158;
3430 			if (yych <= '@') goto yy3;
3431 			goto yy142;
3432 		} else {
3433 			if (yych <= '`') goto yy3;
3434 			if (yych <= 'z') goto yy142;
3435 			goto yy3;
3436 		}
3437 	}
3438 yy158:
3439 	YYDEBUG(158, *YYCURSOR);
3440 	yych = *++YYCURSOR;
3441 	if (yych <= '/') goto yy56;
3442 	if (yych <= '1') goto yy159;
3443 	if (yych <= '2') goto yy160;
3444 	if (yych <= '9') goto yy161;
3445 	goto yy56;
3446 yy159:
3447 	YYDEBUG(159, *YYCURSOR);
3448 	yych = *++YYCURSOR;
3449 	if (yych <= '/') goto yy3;
3450 	if (yych <= '9') goto yy161;
3451 	if (yych <= ':') goto yy162;
3452 	goto yy3;
3453 yy160:
3454 	YYDEBUG(160, *YYCURSOR);
3455 	yych = *++YYCURSOR;
3456 	if (yych <= '5') {
3457 		if (yych <= '/') goto yy3;
3458 		if (yych >= '5') goto yy163;
3459 	} else {
3460 		if (yych <= '9') goto yy139;
3461 		if (yych <= ':') goto yy162;
3462 		goto yy3;
3463 	}
3464 yy161:
3465 	YYDEBUG(161, *YYCURSOR);
3466 	yych = *++YYCURSOR;
3467 	if (yych <= '/') goto yy3;
3468 	if (yych <= '5') goto yy163;
3469 	if (yych <= '9') goto yy139;
3470 	if (yych >= ';') goto yy3;
3471 yy162:
3472 	YYDEBUG(162, *YYCURSOR);
3473 	yych = *++YYCURSOR;
3474 	if (yych <= '/') goto yy3;
3475 	if (yych <= '5') goto yy163;
3476 	if (yych <= '9') goto yy139;
3477 	goto yy3;
3478 yy163:
3479 	YYDEBUG(163, *YYCURSOR);
3480 	yych = *++YYCURSOR;
3481 	if (yych <= '/') goto yy3;
3482 	if (yych <= '9') goto yy139;
3483 	goto yy3;
3484 yy164:
3485 	YYDEBUG(164, *YYCURSOR);
3486 	yych = *++YYCURSOR;
3487 	if (yych <= 'E') {
3488 		if (yych <= '@') {
3489 			if (yych == ')') goto yy139;
3490 			goto yy3;
3491 		} else {
3492 			if (yych <= 'C') goto yy141;
3493 			if (yych >= 'E') goto yy167;
3494 		}
3495 	} else {
3496 		if (yych <= 'c') {
3497 			if (yych <= 'Z') goto yy141;
3498 			if (yych <= '`') goto yy3;
3499 			goto yy141;
3500 		} else {
3501 			if (yych <= 'd') goto yy165;
3502 			if (yych <= 'e') goto yy167;
3503 			if (yych <= 'z') goto yy141;
3504 			goto yy3;
3505 		}
3506 	}
3507 yy165:
3508 	YYDEBUG(165, *YYCURSOR);
3509 	++YYCURSOR;
3510 	if ((yych = *YYCURSOR) <= 'N') {
3511 		if (yych <= ')') {
3512 			if (yych >= ')') goto yy139;
3513 		} else {
3514 			if (yych <= '@') goto yy166;
3515 			if (yych <= 'M') goto yy142;
3516 			goto yy173;
3517 		}
3518 	} else {
3519 		if (yych <= 'm') {
3520 			if (yych <= 'Z') goto yy142;
3521 			if (yych >= 'a') goto yy142;
3522 		} else {
3523 			if (yych <= 'n') goto yy173;
3524 			if (yych <= 'z') goto yy142;
3525 		}
3526 	}
3527 yy166:
3528 	YYDEBUG(166, *YYCURSOR);
3529 #line 1551 "ext/date/lib/parse_date.re"
3530 	{
3531 		const timelib_relunit* relunit;
3532 		DEBUG_OUTPUT("daytext");
3533 		TIMELIB_INIT;
3534 		TIMELIB_HAVE_RELATIVE();
3535 		TIMELIB_HAVE_WEEKDAY_RELATIVE();
3536 		TIMELIB_UNHAVE_TIME();
3537 		relunit = timelib_lookup_relunit((char**) &ptr);
3538 		s->time->relative.weekday = relunit->multiplier;
3539 		if (s->time->relative.weekday_behavior != 2) {
3540 			s->time->relative.weekday_behavior = 1;
3541 		}
3542 
3543 		TIMELIB_DEINIT;
3544 		return TIMELIB_WEEKDAY;
3545 	}
3546 #line 3547 "ext/date/lib/parse_date.c"
3547 yy167:
3548 	YYDEBUG(167, *YYCURSOR);
3549 	yych = *++YYCURSOR;
3550 	if (yych <= 'K') {
3551 		if (yych <= ')') {
3552 			if (yych <= '(') goto yy3;
3553 			goto yy139;
3554 		} else {
3555 			if (yych <= '@') goto yy3;
3556 			if (yych <= 'J') goto yy142;
3557 		}
3558 	} else {
3559 		if (yych <= 'j') {
3560 			if (yych <= 'Z') goto yy142;
3561 			if (yych <= '`') goto yy3;
3562 			goto yy142;
3563 		} else {
3564 			if (yych <= 'k') goto yy168;
3565 			if (yych <= 'z') goto yy142;
3566 			goto yy3;
3567 		}
3568 	}
3569 yy168:
3570 	YYDEBUG(168, *YYCURSOR);
3571 	yych = *++YYCURSOR;
3572 	if (yych <= 'D') {
3573 		if (yych <= ')') {
3574 			if (yych <= '(') goto yy3;
3575 			goto yy139;
3576 		} else {
3577 			if (yych <= '@') goto yy3;
3578 			if (yych <= 'C') goto yy143;
3579 		}
3580 	} else {
3581 		if (yych <= 'c') {
3582 			if (yych <= 'Z') goto yy143;
3583 			if (yych <= '`') goto yy3;
3584 			goto yy143;
3585 		} else {
3586 			if (yych <= 'd') goto yy169;
3587 			if (yych <= 'z') goto yy143;
3588 			goto yy3;
3589 		}
3590 	}
3591 yy169:
3592 	YYDEBUG(169, *YYCURSOR);
3593 	yych = *++YYCURSOR;
3594 	if (yych <= 'A') {
3595 		if (yych == ')') goto yy139;
3596 		if (yych <= '@') goto yy3;
3597 	} else {
3598 		if (yych <= '`') {
3599 			if (yych <= 'Z') goto yy144;
3600 			goto yy3;
3601 		} else {
3602 			if (yych <= 'a') goto yy170;
3603 			if (yych <= 'z') goto yy144;
3604 			goto yy3;
3605 		}
3606 	}
3607 yy170:
3608 	YYDEBUG(170, *YYCURSOR);
3609 	yych = *++YYCURSOR;
3610 	if (yych <= 'X') {
3611 		if (yych == ')') goto yy139;
3612 		goto yy3;
3613 	} else {
3614 		if (yych <= 'Y') goto yy171;
3615 		if (yych != 'y') goto yy3;
3616 	}
3617 yy171:
3618 	YYDEBUG(171, *YYCURSOR);
3619 	yych = *++YYCURSOR;
3620 	if (yych == 'S') goto yy172;
3621 	if (yych != 's') goto yy166;
3622 yy172:
3623 	YYDEBUG(172, *YYCURSOR);
3624 	yych = *++YYCURSOR;
3625 	goto yy166;
3626 yy173:
3627 	YYDEBUG(173, *YYCURSOR);
3628 	yych = *++YYCURSOR;
3629 	if (yych <= 'E') {
3630 		if (yych <= ')') {
3631 			if (yych <= '(') goto yy3;
3632 			goto yy139;
3633 		} else {
3634 			if (yych <= '@') goto yy3;
3635 			if (yych <= 'D') goto yy143;
3636 		}
3637 	} else {
3638 		if (yych <= 'd') {
3639 			if (yych <= 'Z') goto yy143;
3640 			if (yych <= '`') goto yy3;
3641 			goto yy143;
3642 		} else {
3643 			if (yych <= 'e') goto yy174;
3644 			if (yych <= 'z') goto yy143;
3645 			goto yy3;
3646 		}
3647 	}
3648 yy174:
3649 	YYDEBUG(174, *YYCURSOR);
3650 	yych = *++YYCURSOR;
3651 	if (yych <= 'S') {
3652 		if (yych <= ')') {
3653 			if (yych <= '(') goto yy3;
3654 			goto yy139;
3655 		} else {
3656 			if (yych <= '@') goto yy3;
3657 			if (yych <= 'R') goto yy144;
3658 		}
3659 	} else {
3660 		if (yych <= 'r') {
3661 			if (yych <= 'Z') goto yy144;
3662 			if (yych <= '`') goto yy3;
3663 			goto yy144;
3664 		} else {
3665 			if (yych <= 's') goto yy175;
3666 			if (yych <= 'z') goto yy144;
3667 			goto yy3;
3668 		}
3669 	}
3670 yy175:
3671 	YYDEBUG(175, *YYCURSOR);
3672 	yyaccept = 0;
3673 	yych = *(YYMARKER = ++YYCURSOR);
3674 	if (yych <= 'C') {
3675 		if (yych == ')') goto yy139;
3676 		goto yy3;
3677 	} else {
3678 		if (yych <= 'D') goto yy176;
3679 		if (yych != 'd') goto yy3;
3680 	}
3681 yy176:
3682 	YYDEBUG(176, *YYCURSOR);
3683 	yych = *++YYCURSOR;
3684 	if (yych == 'A') goto yy177;
3685 	if (yych != 'a') goto yy56;
3686 yy177:
3687 	YYDEBUG(177, *YYCURSOR);
3688 	yych = *++YYCURSOR;
3689 	if (yych == 'Y') goto yy172;
3690 	if (yych == 'y') goto yy172;
3691 	goto yy56;
3692 yy178:
3693 	YYDEBUG(178, *YYCURSOR);
3694 	yyaccept = 0;
3695 	yych = *(YYMARKER = ++YYCURSOR);
3696 	if (yych <= 'D') {
3697 		if (yych <= '-') {
3698 			if (yych == ')') goto yy139;
3699 			if (yych <= ',') goto yy3;
3700 			goto yy147;
3701 		} else {
3702 			if (yych <= '/') {
3703 				if (yych <= '.') goto yy3;
3704 				goto yy147;
3705 			} else {
3706 				if (yych <= '@') goto yy3;
3707 				if (yych <= 'C') goto yy141;
3708 				goto yy165;
3709 			}
3710 		}
3711 	} else {
3712 		if (yych <= '`') {
3713 			if (yych <= 'Z') {
3714 				if (yych <= 'E') goto yy167;
3715 				goto yy141;
3716 			} else {
3717 				if (yych == '_') goto yy147;
3718 				goto yy3;
3719 			}
3720 		} else {
3721 			if (yych <= 'd') {
3722 				if (yych <= 'c') goto yy146;
3723 			} else {
3724 				if (yych <= 'e') goto yy180;
3725 				if (yych <= 'z') goto yy146;
3726 				goto yy3;
3727 			}
3728 		}
3729 	}
3730 	YYDEBUG(179, *YYCURSOR);
3731 	yyaccept = 4;
3732 	yych = *(YYMARKER = ++YYCURSOR);
3733 	if (yych <= 'M') {
3734 		if (yych <= '-') {
3735 			if (yych == ')') goto yy139;
3736 			if (yych <= ',') goto yy166;
3737 			goto yy147;
3738 		} else {
3739 			if (yych == '/') goto yy147;
3740 			if (yych <= '@') goto yy166;
3741 			goto yy142;
3742 		}
3743 	} else {
3744 		if (yych <= '_') {
3745 			if (yych <= 'N') goto yy173;
3746 			if (yych <= 'Z') goto yy142;
3747 			if (yych <= '^') goto yy166;
3748 			goto yy147;
3749 		} else {
3750 			if (yych <= 'm') {
3751 				if (yych <= '`') goto yy166;
3752 				goto yy150;
3753 			} else {
3754 				if (yych <= 'n') goto yy186;
3755 				if (yych <= 'z') goto yy150;
3756 				goto yy166;
3757 			}
3758 		}
3759 	}
3760 yy180:
3761 	YYDEBUG(180, *YYCURSOR);
3762 	yyaccept = 0;
3763 	yych = *(YYMARKER = ++YYCURSOR);
3764 	if (yych <= 'J') {
3765 		if (yych <= '-') {
3766 			if (yych == ')') goto yy139;
3767 			if (yych <= ',') goto yy3;
3768 			goto yy147;
3769 		} else {
3770 			if (yych == '/') goto yy147;
3771 			if (yych <= '@') goto yy3;
3772 			goto yy142;
3773 		}
3774 	} else {
3775 		if (yych <= '_') {
3776 			if (yych <= 'K') goto yy168;
3777 			if (yych <= 'Z') goto yy142;
3778 			if (yych <= '^') goto yy3;
3779 			goto yy147;
3780 		} else {
3781 			if (yych <= 'j') {
3782 				if (yych <= '`') goto yy3;
3783 				goto yy150;
3784 			} else {
3785 				if (yych <= 'k') goto yy181;
3786 				if (yych <= 'z') goto yy150;
3787 				goto yy3;
3788 			}
3789 		}
3790 	}
3791 yy181:
3792 	YYDEBUG(181, *YYCURSOR);
3793 	yyaccept = 0;
3794 	yych = *(YYMARKER = ++YYCURSOR);
3795 	if (yych <= 'C') {
3796 		if (yych <= '-') {
3797 			if (yych == ')') goto yy139;
3798 			if (yych <= ',') goto yy3;
3799 			goto yy147;
3800 		} else {
3801 			if (yych == '/') goto yy147;
3802 			if (yych <= '@') goto yy3;
3803 			goto yy143;
3804 		}
3805 	} else {
3806 		if (yych <= '_') {
3807 			if (yych <= 'D') goto yy169;
3808 			if (yych <= 'Z') goto yy143;
3809 			if (yych <= '^') goto yy3;
3810 			goto yy147;
3811 		} else {
3812 			if (yych <= 'c') {
3813 				if (yych <= '`') goto yy3;
3814 				goto yy151;
3815 			} else {
3816 				if (yych <= 'd') goto yy182;
3817 				if (yych <= 'z') goto yy151;
3818 				goto yy3;
3819 			}
3820 		}
3821 	}
3822 yy182:
3823 	YYDEBUG(182, *YYCURSOR);
3824 	yyaccept = 0;
3825 	yych = *(YYMARKER = ++YYCURSOR);
3826 	if (yych <= '@') {
3827 		if (yych <= ',') {
3828 			if (yych == ')') goto yy139;
3829 			goto yy3;
3830 		} else {
3831 			if (yych == '.') goto yy3;
3832 			if (yych <= '/') goto yy147;
3833 			goto yy3;
3834 		}
3835 	} else {
3836 		if (yych <= '_') {
3837 			if (yych <= 'A') goto yy170;
3838 			if (yych <= 'Z') goto yy144;
3839 			if (yych <= '^') goto yy3;
3840 			goto yy147;
3841 		} else {
3842 			if (yych <= '`') goto yy3;
3843 			if (yych <= 'a') goto yy183;
3844 			if (yych <= 'z') goto yy152;
3845 			goto yy3;
3846 		}
3847 	}
3848 yy183:
3849 	YYDEBUG(183, *YYCURSOR);
3850 	yyaccept = 0;
3851 	yych = *(YYMARKER = ++YYCURSOR);
3852 	if (yych <= 'X') {
3853 		if (yych <= ',') {
3854 			if (yych == ')') goto yy139;
3855 			goto yy3;
3856 		} else {
3857 			if (yych == '.') goto yy3;
3858 			if (yych <= '/') goto yy147;
3859 			goto yy3;
3860 		}
3861 	} else {
3862 		if (yych <= '`') {
3863 			if (yych <= 'Y') goto yy171;
3864 			if (yych == '_') goto yy147;
3865 			goto yy3;
3866 		} else {
3867 			if (yych == 'y') goto yy184;
3868 			if (yych <= 'z') goto yy153;
3869 			goto yy3;
3870 		}
3871 	}
3872 yy184:
3873 	YYDEBUG(184, *YYCURSOR);
3874 	yyaccept = 4;
3875 	yych = *(YYMARKER = ++YYCURSOR);
3876 	if (yych <= 'S') {
3877 		if (yych <= '.') {
3878 			if (yych == '-') goto yy147;
3879 			goto yy166;
3880 		} else {
3881 			if (yych <= '/') goto yy147;
3882 			if (yych <= 'R') goto yy166;
3883 			goto yy172;
3884 		}
3885 	} else {
3886 		if (yych <= '`') {
3887 			if (yych == '_') goto yy147;
3888 			goto yy166;
3889 		} else {
3890 			if (yych == 's') goto yy185;
3891 			if (yych <= 'z') goto yy153;
3892 			goto yy166;
3893 		}
3894 	}
3895 yy185:
3896 	YYDEBUG(185, *YYCURSOR);
3897 	yyaccept = 4;
3898 	yych = *(YYMARKER = ++YYCURSOR);
3899 	if (yybm[0+yych] & 16) {
3900 		goto yy153;
3901 	}
3902 	if (yych <= '.') {
3903 		if (yych == '-') goto yy147;
3904 		goto yy166;
3905 	} else {
3906 		if (yych <= '/') goto yy147;
3907 		if (yych == '_') goto yy147;
3908 		goto yy166;
3909 	}
3910 yy186:
3911 	YYDEBUG(186, *YYCURSOR);
3912 	yyaccept = 0;
3913 	yych = *(YYMARKER = ++YYCURSOR);
3914 	if (yych <= 'D') {
3915 		if (yych <= '-') {
3916 			if (yych == ')') goto yy139;
3917 			if (yych <= ',') goto yy3;
3918 			goto yy147;
3919 		} else {
3920 			if (yych == '/') goto yy147;
3921 			if (yych <= '@') goto yy3;
3922 			goto yy143;
3923 		}
3924 	} else {
3925 		if (yych <= '_') {
3926 			if (yych <= 'E') goto yy174;
3927 			if (yych <= 'Z') goto yy143;
3928 			if (yych <= '^') goto yy3;
3929 			goto yy147;
3930 		} else {
3931 			if (yych <= 'd') {
3932 				if (yych <= '`') goto yy3;
3933 				goto yy151;
3934 			} else {
3935 				if (yych <= 'e') goto yy187;
3936 				if (yych <= 'z') goto yy151;
3937 				goto yy3;
3938 			}
3939 		}
3940 	}
3941 yy187:
3942 	YYDEBUG(187, *YYCURSOR);
3943 	yyaccept = 0;
3944 	yych = *(YYMARKER = ++YYCURSOR);
3945 	if (yych <= 'R') {
3946 		if (yych <= '-') {
3947 			if (yych == ')') goto yy139;
3948 			if (yych <= ',') goto yy3;
3949 			goto yy147;
3950 		} else {
3951 			if (yych == '/') goto yy147;
3952 			if (yych <= '@') goto yy3;
3953 			goto yy144;
3954 		}
3955 	} else {
3956 		if (yych <= '_') {
3957 			if (yych <= 'S') goto yy175;
3958 			if (yych <= 'Z') goto yy144;
3959 			if (yych <= '^') goto yy3;
3960 			goto yy147;
3961 		} else {
3962 			if (yych <= 'r') {
3963 				if (yych <= '`') goto yy3;
3964 				goto yy152;
3965 			} else {
3966 				if (yych <= 's') goto yy188;
3967 				if (yych <= 'z') goto yy152;
3968 				goto yy3;
3969 			}
3970 		}
3971 	}
3972 yy188:
3973 	YYDEBUG(188, *YYCURSOR);
3974 	yyaccept = 0;
3975 	yych = *(YYMARKER = ++YYCURSOR);
3976 	if (yych <= 'C') {
3977 		if (yych <= ',') {
3978 			if (yych == ')') goto yy139;
3979 			goto yy3;
3980 		} else {
3981 			if (yych == '.') goto yy3;
3982 			if (yych <= '/') goto yy147;
3983 			goto yy3;
3984 		}
3985 	} else {
3986 		if (yych <= '`') {
3987 			if (yych <= 'D') goto yy176;
3988 			if (yych == '_') goto yy147;
3989 			goto yy3;
3990 		} else {
3991 			if (yych == 'd') goto yy189;
3992 			if (yych <= 'z') goto yy153;
3993 			goto yy3;
3994 		}
3995 	}
3996 yy189:
3997 	YYDEBUG(189, *YYCURSOR);
3998 	yych = *++YYCURSOR;
3999 	if (yych == 'A') goto yy177;
4000 	if (yych != 'a') goto yy154;
4001 	YYDEBUG(190, *YYCURSOR);
4002 	yych = *++YYCURSOR;
4003 	if (yych == 'Y') goto yy172;
4004 	if (yych == 'y') goto yy185;
4005 	goto yy154;
4006 yy191:
4007 	YYDEBUG(191, *YYCURSOR);
4008 	yych = *++YYCURSOR;
4009 	if (yych <= 'C') {
4010 		if (yych <= ')') {
4011 			if (yych <= '(') goto yy3;
4012 			goto yy139;
4013 		} else {
4014 			if (yych <= '@') goto yy3;
4015 			if (yych <= 'B') goto yy141;
4016 		}
4017 	} else {
4018 		if (yych <= 'b') {
4019 			if (yych <= 'Z') goto yy141;
4020 			if (yych <= '`') goto yy3;
4021 			goto yy141;
4022 		} else {
4023 			if (yych <= 'c') goto yy192;
4024 			if (yych <= 'z') goto yy141;
4025 			goto yy3;
4026 		}
4027 	}
4028 yy192:
4029 	YYDEBUG(192, *YYCURSOR);
4030 	yyaccept = 5;
4031 	yych = *(YYMARKER = ++YYCURSOR);
4032 	if (yych <= '/') {
4033 		if (yych <= '(') {
4034 			if (yych <= '\t') {
4035 				if (yych >= '\t') goto yy195;
4036 			} else {
4037 				if (yych == ' ') goto yy195;
4038 			}
4039 		} else {
4040 			if (yych <= ',') {
4041 				if (yych <= ')') goto yy139;
4042 			} else {
4043 				if (yych <= '-') goto yy196;
4044 				if (yych <= '.') goto yy195;
4045 			}
4046 		}
4047 	} else {
4048 		if (yych <= 'Z') {
4049 			if (yych <= '@') {
4050 				if (yych <= '9') goto yy195;
4051 			} else {
4052 				if (yych == 'E') goto yy201;
4053 				goto yy142;
4054 			}
4055 		} else {
4056 			if (yych <= 'd') {
4057 				if (yych >= 'a') goto yy142;
4058 			} else {
4059 				if (yych <= 'e') goto yy201;
4060 				if (yych <= 'z') goto yy142;
4061 			}
4062 		}
4063 	}
4064 yy193:
4065 	YYDEBUG(193, *YYCURSOR);
4066 #line 1610 "ext/date/lib/parse_date.re"
4067 	{
4068 		DEBUG_OUTPUT("monthtext");
4069 		TIMELIB_INIT;
4070 		TIMELIB_HAVE_DATE();
4071 		s->time->m = timelib_lookup_month((char **) &ptr);
4072 		TIMELIB_DEINIT;
4073 		return TIMELIB_DATE_TEXT;
4074 	}
4075 #line 4076 "ext/date/lib/parse_date.c"
4076 yy194:
4077 	YYDEBUG(194, *YYCURSOR);
4078 	++YYCURSOR;
4079 	if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
4080 	yych = *YYCURSOR;
4081 yy195:
4082 	YYDEBUG(195, *YYCURSOR);
4083 	if (yybm[0+yych] & 32) {
4084 		goto yy194;
4085 	}
4086 	if (yych <= '/') goto yy56;
4087 	if (yych <= '2') goto yy197;
4088 	if (yych <= '3') goto yy199;
4089 	if (yych <= '9') goto yy200;
4090 	goto yy56;
4091 yy196:
4092 	YYDEBUG(196, *YYCURSOR);
4093 	yych = *++YYCURSOR;
4094 	if (yych <= '/') goto yy195;
4095 	if (yych <= '0') goto yy356;
4096 	if (yych <= '2') goto yy357;
4097 	if (yych <= '3') goto yy358;
4098 	goto yy195;
4099 yy197:
4100 	YYDEBUG(197, *YYCURSOR);
4101 	yyaccept = 6;
4102 	yych = *(YYMARKER = ++YYCURSOR);
4103 	if (yych <= 'm') {
4104 		if (yych <= '1') {
4105 			if (yych <= '/') goto yy215;
4106 			if (yych <= '0') goto yy297;
4107 			goto yy298;
4108 		} else {
4109 			if (yych <= '2') goto yy354;
4110 			if (yych <= '9') goto yy355;
4111 			goto yy215;
4112 		}
4113 	} else {
4114 		if (yych <= 'r') {
4115 			if (yych <= 'n') goto yy211;
4116 			if (yych <= 'q') goto yy215;
4117 			goto yy212;
4118 		} else {
4119 			if (yych <= 's') goto yy210;
4120 			if (yych <= 't') goto yy213;
4121 			goto yy215;
4122 		}
4123 	}
4124 yy198:
4125 	YYDEBUG(198, *YYCURSOR);
4126 #line 1356 "ext/date/lib/parse_date.re"
4127 	{
4128 		int length = 0;
4129 		DEBUG_OUTPUT("datetextual | datenoyear");
4130 		TIMELIB_INIT;
4131 		TIMELIB_HAVE_DATE();
4132 		s->time->m = timelib_get_month((char **) &ptr);
4133 		s->time->d = timelib_get_nr((char **) &ptr, 2);
4134 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
4135 		TIMELIB_PROCESS_YEAR(s->time->y, length);
4136 		TIMELIB_DEINIT;
4137 		return TIMELIB_DATE_TEXT;
4138 	}
4139 #line 4140 "ext/date/lib/parse_date.c"
4140 yy199:
4141 	YYDEBUG(199, *YYCURSOR);
4142 	yyaccept = 6;
4143 	yych = *(YYMARKER = ++YYCURSOR);
4144 	if (yych <= 'm') {
4145 		if (yych <= '1') {
4146 			if (yych <= '/') goto yy215;
4147 			if (yych <= '0') goto yy297;
4148 			goto yy298;
4149 		} else {
4150 			if (yych <= '2') goto yy208;
4151 			if (yych <= '9') goto yy209;
4152 			goto yy215;
4153 		}
4154 	} else {
4155 		if (yych <= 'r') {
4156 			if (yych <= 'n') goto yy211;
4157 			if (yych <= 'q') goto yy215;
4158 			goto yy212;
4159 		} else {
4160 			if (yych <= 's') goto yy210;
4161 			if (yych <= 't') goto yy213;
4162 			goto yy215;
4163 		}
4164 	}
4165 yy200:
4166 	YYDEBUG(200, *YYCURSOR);
4167 	yyaccept = 6;
4168 	yych = *(YYMARKER = ++YYCURSOR);
4169 	if (yych <= 'm') {
4170 		if (yych <= '1') {
4171 			if (yych <= '/') goto yy215;
4172 			if (yych <= '0') goto yy206;
4173 			goto yy207;
4174 		} else {
4175 			if (yych <= '2') goto yy208;
4176 			if (yych <= '9') goto yy209;
4177 			goto yy215;
4178 		}
4179 	} else {
4180 		if (yych <= 'r') {
4181 			if (yych <= 'n') goto yy211;
4182 			if (yych <= 'q') goto yy215;
4183 			goto yy212;
4184 		} else {
4185 			if (yych <= 's') goto yy210;
4186 			if (yych <= 't') goto yy213;
4187 			goto yy215;
4188 		}
4189 	}
4190 yy201:
4191 	YYDEBUG(201, *YYCURSOR);
4192 	yych = *++YYCURSOR;
4193 	if (yych <= 'M') {
4194 		if (yych <= ')') {
4195 			if (yych <= '(') goto yy3;
4196 			goto yy139;
4197 		} else {
4198 			if (yych <= '@') goto yy3;
4199 			if (yych <= 'L') goto yy143;
4200 		}
4201 	} else {
4202 		if (yych <= 'l') {
4203 			if (yych <= 'Z') goto yy143;
4204 			if (yych <= '`') goto yy3;
4205 			goto yy143;
4206 		} else {
4207 			if (yych <= 'm') goto yy202;
4208 			if (yych <= 'z') goto yy143;
4209 			goto yy3;
4210 		}
4211 	}
4212 yy202:
4213 	YYDEBUG(202, *YYCURSOR);
4214 	yych = *++YYCURSOR;
4215 	if (yych <= 'B') {
4216 		if (yych <= ')') {
4217 			if (yych <= '(') goto yy3;
4218 			goto yy139;
4219 		} else {
4220 			if (yych <= '@') goto yy3;
4221 			if (yych <= 'A') goto yy144;
4222 		}
4223 	} else {
4224 		if (yych <= 'a') {
4225 			if (yych <= 'Z') goto yy144;
4226 			if (yych <= '`') goto yy3;
4227 			goto yy144;
4228 		} else {
4229 			if (yych <= 'b') goto yy203;
4230 			if (yych <= 'z') goto yy144;
4231 			goto yy3;
4232 		}
4233 	}
4234 yy203:
4235 	YYDEBUG(203, *YYCURSOR);
4236 	yyaccept = 0;
4237 	yych = *(YYMARKER = ++YYCURSOR);
4238 	if (yych <= 'D') {
4239 		if (yych == ')') goto yy139;
4240 		goto yy3;
4241 	} else {
4242 		if (yych <= 'E') goto yy204;
4243 		if (yych != 'e') goto yy3;
4244 	}
4245 yy204:
4246 	YYDEBUG(204, *YYCURSOR);
4247 	yych = *++YYCURSOR;
4248 	if (yych == 'R') goto yy205;
4249 	if (yych != 'r') goto yy56;
4250 yy205:
4251 	YYDEBUG(205, *YYCURSOR);
4252 	yyaccept = 5;
4253 	yych = *(YYMARKER = ++YYCURSOR);
4254 	if (yych <= ' ') {
4255 		if (yych == '\t') goto yy195;
4256 		if (yych <= 0x1F) goto yy193;
4257 		goto yy195;
4258 	} else {
4259 		if (yych <= '.') {
4260 			if (yych <= ',') goto yy193;
4261 			goto yy195;
4262 		} else {
4263 			if (yych <= '/') goto yy193;
4264 			if (yych <= '9') goto yy195;
4265 			goto yy193;
4266 		}
4267 	}
4268 yy206:
4269 	YYDEBUG(206, *YYCURSOR);
4270 	yych = *++YYCURSOR;
4271 	if (yych <= '/') {
4272 		if (yych == '.') goto yy220;
4273 		goto yy56;
4274 	} else {
4275 		if (yych <= '0') goto yy295;
4276 		if (yych <= '9') goto yy296;
4277 		if (yych <= ':') goto yy220;
4278 		goto yy56;
4279 	}
4280 yy207:
4281 	YYDEBUG(207, *YYCURSOR);
4282 	yych = *++YYCURSOR;
4283 	if (yych <= '/') {
4284 		if (yych == '.') goto yy263;
4285 		goto yy56;
4286 	} else {
4287 		if (yych <= '2') goto yy296;
4288 		if (yych <= '9') goto yy295;
4289 		if (yych <= ':') goto yy263;
4290 		goto yy56;
4291 	}
4292 yy208:
4293 	YYDEBUG(208, *YYCURSOR);
4294 	yych = *++YYCURSOR;
4295 	if (yych <= '/') {
4296 		if (yych == '.') goto yy263;
4297 		goto yy56;
4298 	} else {
4299 		if (yych <= '4') goto yy295;
4300 		if (yych <= '9') goto yy292;
4301 		if (yych <= ':') goto yy263;
4302 		goto yy56;
4303 	}
4304 yy209:
4305 	YYDEBUG(209, *YYCURSOR);
4306 	yych = *++YYCURSOR;
4307 	if (yych <= '/') {
4308 		if (yych == '.') goto yy263;
4309 		goto yy56;
4310 	} else {
4311 		if (yych <= '9') goto yy292;
4312 		if (yych <= ':') goto yy263;
4313 		goto yy56;
4314 	}
4315 yy210:
4316 	YYDEBUG(210, *YYCURSOR);
4317 	yyaccept = 6;
4318 	yych = *(YYMARKER = ++YYCURSOR);
4319 	goto yy215;
4320 yy211:
4321 	YYDEBUG(211, *YYCURSOR);
4322 	yyaccept = 6;
4323 	yych = *(YYMARKER = ++YYCURSOR);
4324 	goto yy215;
4325 yy212:
4326 	YYDEBUG(212, *YYCURSOR);
4327 	yyaccept = 6;
4328 	yych = *(YYMARKER = ++YYCURSOR);
4329 	goto yy215;
4330 yy213:
4331 	YYDEBUG(213, *YYCURSOR);
4332 	yyaccept = 6;
4333 	yych = *(YYMARKER = ++YYCURSOR);
4334 	goto yy215;
4335 yy214:
4336 	YYDEBUG(214, *YYCURSOR);
4337 	yyaccept = 6;
4338 	YYMARKER = ++YYCURSOR;
4339 	if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18);
4340 	yych = *YYCURSOR;
4341 yy215:
4342 	YYDEBUG(215, *YYCURSOR);
4343 	if (yybm[0+yych] & 64) {
4344 		goto yy214;
4345 	}
4346 	if (yych <= '2') {
4347 		if (yych <= '/') goto yy198;
4348 		if (yych <= '0') goto yy258;
4349 		if (yych <= '1') goto yy259;
4350 		goto yy260;
4351 	} else {
4352 		if (yych <= '9') goto yy261;
4353 		if (yych != 'T') goto yy198;
4354 	}
4355 	YYDEBUG(216, *YYCURSOR);
4356 	yych = *++YYCURSOR;
4357 	if (yych <= '/') goto yy56;
4358 	if (yych <= '1') goto yy217;
4359 	if (yych <= '2') goto yy218;
4360 	if (yych <= '9') goto yy219;
4361 	goto yy56;
4362 yy217:
4363 	YYDEBUG(217, *YYCURSOR);
4364 	yych = *++YYCURSOR;
4365 	if (yych <= '/') {
4366 		if (yych == '.') goto yy220;
4367 		goto yy56;
4368 	} else {
4369 		if (yych <= '9') goto yy219;
4370 		if (yych <= ':') goto yy220;
4371 		goto yy56;
4372 	}
4373 yy218:
4374 	YYDEBUG(218, *YYCURSOR);
4375 	yych = *++YYCURSOR;
4376 	if (yych <= '/') {
4377 		if (yych == '.') goto yy220;
4378 		goto yy56;
4379 	} else {
4380 		if (yych <= '4') goto yy219;
4381 		if (yych == ':') goto yy220;
4382 		goto yy56;
4383 	}
4384 yy219:
4385 	YYDEBUG(219, *YYCURSOR);
4386 	yych = *++YYCURSOR;
4387 	if (yych == '.') goto yy220;
4388 	if (yych != ':') goto yy56;
4389 yy220:
4390 	YYDEBUG(220, *YYCURSOR);
4391 	yych = *++YYCURSOR;
4392 	if (yych <= '/') goto yy56;
4393 	if (yych <= '5') goto yy221;
4394 	if (yych <= '9') goto yy223;
4395 	goto yy56;
4396 yy221:
4397 	YYDEBUG(221, *YYCURSOR);
4398 	yyaccept = 7;
4399 	yych = *(YYMARKER = ++YYCURSOR);
4400 	if (yych <= '/') {
4401 		if (yych == '.') goto yy224;
4402 	} else {
4403 		if (yych <= '9') goto yy223;
4404 		if (yych <= ':') goto yy224;
4405 	}
4406 yy222:
4407 	YYDEBUG(222, *YYCURSOR);
4408 #line 1658 "ext/date/lib/parse_date.re"
4409 	{
4410 		int tz_not_found;
4411 		DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
4412 		TIMELIB_INIT;
4413 		TIMELIB_HAVE_DATE();
4414 		s->time->m = timelib_get_month((char **) &ptr);
4415 		s->time->d = timelib_get_nr((char **) &ptr, 2);
4416 
4417 		TIMELIB_HAVE_TIME();
4418 		s->time->h = timelib_get_nr((char **) &ptr, 2);
4419 		s->time->i = timelib_get_nr((char **) &ptr, 2);
4420 		if (*ptr == ':') {
4421 			s->time->s = timelib_get_nr((char **) &ptr, 2);
4422 
4423 			if (*ptr == '.') {
4424 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
4425 			}
4426 		}
4427 
4428 		if (*ptr != '\0') {
4429 			s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
4430 			if (tz_not_found) {
4431 				add_error(s, "The timezone could not be found in the database");
4432 			}
4433 		}
4434 		TIMELIB_DEINIT;
4435 		return TIMELIB_SHORTDATE_WITH_TIME;
4436 	}
4437 #line 4438 "ext/date/lib/parse_date.c"
4438 yy223:
4439 	YYDEBUG(223, *YYCURSOR);
4440 	yyaccept = 7;
4441 	yych = *(YYMARKER = ++YYCURSOR);
4442 	if (yych == '.') goto yy224;
4443 	if (yych != ':') goto yy222;
4444 yy224:
4445 	YYDEBUG(224, *YYCURSOR);
4446 	yych = *++YYCURSOR;
4447 	if (yych <= '/') goto yy56;
4448 	if (yych <= '5') goto yy225;
4449 	if (yych <= '6') goto yy226;
4450 	if (yych <= '9') goto yy227;
4451 	goto yy56;
4452 yy225:
4453 	YYDEBUG(225, *YYCURSOR);
4454 	yych = *++YYCURSOR;
4455 	if (yych <= '/') goto yy222;
4456 	if (yych <= '9') goto yy228;
4457 	goto yy222;
4458 yy226:
4459 	YYDEBUG(226, *YYCURSOR);
4460 	yych = *++YYCURSOR;
4461 	if (yych == '0') goto yy228;
4462 	goto yy222;
4463 yy227:
4464 	YYDEBUG(227, *YYCURSOR);
4465 	yych = *++YYCURSOR;
4466 	goto yy222;
4467 yy228:
4468 	YYDEBUG(228, *YYCURSOR);
4469 	yyaccept = 7;
4470 	yych = *(YYMARKER = ++YYCURSOR);
4471 	if (yych <= '*') {
4472 		if (yych <= 0x1F) {
4473 			if (yych == '\t') goto yy230;
4474 			goto yy222;
4475 		} else {
4476 			if (yych <= ' ') goto yy230;
4477 			if (yych == '(') goto yy230;
4478 			goto yy222;
4479 		}
4480 	} else {
4481 		if (yych <= '@') {
4482 			if (yych == ',') goto yy222;
4483 			if (yych <= '-') goto yy230;
4484 			goto yy222;
4485 		} else {
4486 			if (yych <= 'Z') goto yy230;
4487 			if (yych <= '`') goto yy222;
4488 			if (yych <= 'z') goto yy230;
4489 			goto yy222;
4490 		}
4491 	}
4492 yy229:
4493 	YYDEBUG(229, *YYCURSOR);
4494 	++YYCURSOR;
4495 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
4496 	yych = *YYCURSOR;
4497 yy230:
4498 	YYDEBUG(230, *YYCURSOR);
4499 	if (yych <= '+') {
4500 		if (yych <= ' ') {
4501 			if (yych == '\t') goto yy229;
4502 			if (yych <= 0x1F) goto yy56;
4503 			goto yy229;
4504 		} else {
4505 			if (yych == '(') goto yy233;
4506 			if (yych <= '*') goto yy56;
4507 			goto yy232;
4508 		}
4509 	} else {
4510 		if (yych <= 'F') {
4511 			if (yych == '-') goto yy232;
4512 			if (yych <= '@') goto yy56;
4513 			goto yy234;
4514 		} else {
4515 			if (yych <= 'Z') {
4516 				if (yych >= 'H') goto yy234;
4517 			} else {
4518 				if (yych <= '`') goto yy56;
4519 				if (yych <= 'z') goto yy235;
4520 				goto yy56;
4521 			}
4522 		}
4523 	}
4524 yy231:
4525 	YYDEBUG(231, *YYCURSOR);
4526 	yych = *++YYCURSOR;
4527 	if (yych <= 'L') {
4528 		if (yych == ')') goto yy227;
4529 		if (yych <= '@') goto yy222;
4530 		goto yy236;
4531 	} else {
4532 		if (yych <= 'Z') {
4533 			if (yych <= 'M') goto yy256;
4534 			goto yy236;
4535 		} else {
4536 			if (yych <= '`') goto yy222;
4537 			if (yych <= 'z') goto yy241;
4538 			goto yy222;
4539 		}
4540 	}
4541 yy232:
4542 	YYDEBUG(232, *YYCURSOR);
4543 	yych = *++YYCURSOR;
4544 	if (yych <= '/') goto yy56;
4545 	if (yych <= '1') goto yy251;
4546 	if (yych <= '2') goto yy252;
4547 	if (yych <= '9') goto yy253;
4548 	goto yy56;
4549 yy233:
4550 	YYDEBUG(233, *YYCURSOR);
4551 	yych = *++YYCURSOR;
4552 	if (yych <= '@') goto yy56;
4553 	if (yych <= 'Z') goto yy235;
4554 	if (yych <= '`') goto yy56;
4555 	if (yych <= 'z') goto yy235;
4556 	goto yy56;
4557 yy234:
4558 	YYDEBUG(234, *YYCURSOR);
4559 	yych = *++YYCURSOR;
4560 	if (yych <= '@') {
4561 		if (yych == ')') goto yy227;
4562 		goto yy222;
4563 	} else {
4564 		if (yych <= 'Z') goto yy236;
4565 		if (yych <= '`') goto yy222;
4566 		if (yych <= 'z') goto yy241;
4567 		goto yy222;
4568 	}
4569 yy235:
4570 	YYDEBUG(235, *YYCURSOR);
4571 	yych = *++YYCURSOR;
4572 	if (yych <= '@') {
4573 		if (yych == ')') goto yy227;
4574 		goto yy222;
4575 	} else {
4576 		if (yych <= 'Z') goto yy236;
4577 		if (yych <= '`') goto yy222;
4578 		if (yych >= '{') goto yy222;
4579 	}
4580 yy236:
4581 	YYDEBUG(236, *YYCURSOR);
4582 	yych = *++YYCURSOR;
4583 	if (yych <= '@') {
4584 		if (yych == ')') goto yy227;
4585 		goto yy222;
4586 	} else {
4587 		if (yych <= 'Z') goto yy237;
4588 		if (yych <= '`') goto yy222;
4589 		if (yych >= '{') goto yy222;
4590 	}
4591 yy237:
4592 	YYDEBUG(237, *YYCURSOR);
4593 	yych = *++YYCURSOR;
4594 	if (yych <= '@') {
4595 		if (yych == ')') goto yy227;
4596 		goto yy222;
4597 	} else {
4598 		if (yych <= 'Z') goto yy238;
4599 		if (yych <= '`') goto yy222;
4600 		if (yych >= '{') goto yy222;
4601 	}
4602 yy238:
4603 	YYDEBUG(238, *YYCURSOR);
4604 	yych = *++YYCURSOR;
4605 	if (yych <= '@') {
4606 		if (yych == ')') goto yy227;
4607 		goto yy222;
4608 	} else {
4609 		if (yych <= 'Z') goto yy239;
4610 		if (yych <= '`') goto yy222;
4611 		if (yych >= '{') goto yy222;
4612 	}
4613 yy239:
4614 	YYDEBUG(239, *YYCURSOR);
4615 	yych = *++YYCURSOR;
4616 	if (yych <= '@') {
4617 		if (yych == ')') goto yy227;
4618 		goto yy222;
4619 	} else {
4620 		if (yych <= 'Z') goto yy240;
4621 		if (yych <= '`') goto yy222;
4622 		if (yych >= '{') goto yy222;
4623 	}
4624 yy240:
4625 	YYDEBUG(240, *YYCURSOR);
4626 	yych = *++YYCURSOR;
4627 	if (yych == ')') goto yy227;
4628 	goto yy222;
4629 yy241:
4630 	YYDEBUG(241, *YYCURSOR);
4631 	yyaccept = 7;
4632 	yych = *(YYMARKER = ++YYCURSOR);
4633 	if (yych <= '/') {
4634 		if (yych <= ',') {
4635 			if (yych == ')') goto yy227;
4636 			goto yy222;
4637 		} else {
4638 			if (yych == '.') goto yy222;
4639 			goto yy243;
4640 		}
4641 	} else {
4642 		if (yych <= '^') {
4643 			if (yych <= '@') goto yy222;
4644 			if (yych <= 'Z') goto yy237;
4645 			goto yy222;
4646 		} else {
4647 			if (yych <= '_') goto yy243;
4648 			if (yych <= '`') goto yy222;
4649 			if (yych >= '{') goto yy222;
4650 		}
4651 	}
4652 yy242:
4653 	YYDEBUG(242, *YYCURSOR);
4654 	yyaccept = 7;
4655 	yych = *(YYMARKER = ++YYCURSOR);
4656 	if (yych <= '/') {
4657 		if (yych <= ',') {
4658 			if (yych == ')') goto yy227;
4659 			goto yy222;
4660 		} else {
4661 			if (yych == '.') goto yy222;
4662 		}
4663 	} else {
4664 		if (yych <= '^') {
4665 			if (yych <= '@') goto yy222;
4666 			if (yych <= 'Z') goto yy238;
4667 			goto yy222;
4668 		} else {
4669 			if (yych <= '_') goto yy243;
4670 			if (yych <= '`') goto yy222;
4671 			if (yych <= 'z') goto yy246;
4672 			goto yy222;
4673 		}
4674 	}
4675 yy243:
4676 	YYDEBUG(243, *YYCURSOR);
4677 	++YYCURSOR;
4678 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
4679 	yych = *YYCURSOR;
4680 	if (yych <= '@') goto yy56;
4681 	if (yych <= 'Z') goto yy244;
4682 	if (yych <= '`') goto yy56;
4683 	if (yych >= '{') goto yy56;
4684 yy244:
4685 	YYDEBUG(244, *YYCURSOR);
4686 	yyaccept = 7;
4687 	YYMARKER = ++YYCURSOR;
4688 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
4689 	yych = *YYCURSOR;
4690 	YYDEBUG(245, *YYCURSOR);
4691 	if (yych <= '@') {
4692 		if (yych <= '-') {
4693 			if (yych <= ',') goto yy222;
4694 			goto yy243;
4695 		} else {
4696 			if (yych == '/') goto yy243;
4697 			goto yy222;
4698 		}
4699 	} else {
4700 		if (yych <= '_') {
4701 			if (yych <= 'Z') goto yy244;
4702 			if (yych <= '^') goto yy222;
4703 			goto yy243;
4704 		} else {
4705 			if (yych <= '`') goto yy222;
4706 			if (yych <= 'z') goto yy244;
4707 			goto yy222;
4708 		}
4709 	}
4710 yy246:
4711 	YYDEBUG(246, *YYCURSOR);
4712 	yyaccept = 7;
4713 	yych = *(YYMARKER = ++YYCURSOR);
4714 	if (yych <= '/') {
4715 		if (yych <= ',') {
4716 			if (yych == ')') goto yy227;
4717 			goto yy222;
4718 		} else {
4719 			if (yych == '.') goto yy222;
4720 			goto yy243;
4721 		}
4722 	} else {
4723 		if (yych <= '^') {
4724 			if (yych <= '@') goto yy222;
4725 			if (yych <= 'Z') goto yy239;
4726 			goto yy222;
4727 		} else {
4728 			if (yych <= '_') goto yy243;
4729 			if (yych <= '`') goto yy222;
4730 			if (yych >= '{') goto yy222;
4731 		}
4732 	}
4733 	YYDEBUG(247, *YYCURSOR);
4734 	yyaccept = 7;
4735 	yych = *(YYMARKER = ++YYCURSOR);
4736 	if (yych <= '/') {
4737 		if (yych <= ',') {
4738 			if (yych == ')') goto yy227;
4739 			goto yy222;
4740 		} else {
4741 			if (yych == '.') goto yy222;
4742 			goto yy243;
4743 		}
4744 	} else {
4745 		if (yych <= '^') {
4746 			if (yych <= '@') goto yy222;
4747 			if (yych <= 'Z') goto yy240;
4748 			goto yy222;
4749 		} else {
4750 			if (yych <= '_') goto yy243;
4751 			if (yych <= '`') goto yy222;
4752 			if (yych >= '{') goto yy222;
4753 		}
4754 	}
4755 	YYDEBUG(248, *YYCURSOR);
4756 	yyaccept = 7;
4757 	yych = *(YYMARKER = ++YYCURSOR);
4758 	if (yych <= '.') {
4759 		if (yych <= ')') {
4760 			if (yych <= '(') goto yy222;
4761 			goto yy227;
4762 		} else {
4763 			if (yych == '-') goto yy243;
4764 			goto yy222;
4765 		}
4766 	} else {
4767 		if (yych <= '_') {
4768 			if (yych <= '/') goto yy243;
4769 			if (yych <= '^') goto yy222;
4770 			goto yy243;
4771 		} else {
4772 			if (yych <= '`') goto yy222;
4773 			if (yych >= '{') goto yy222;
4774 		}
4775 	}
4776 yy249:
4777 	YYDEBUG(249, *YYCURSOR);
4778 	++YYCURSOR;
4779 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
4780 	yych = *YYCURSOR;
4781 	YYDEBUG(250, *YYCURSOR);
4782 	if (yych <= '/') {
4783 		if (yych == '-') goto yy243;
4784 		if (yych <= '.') goto yy56;
4785 		goto yy243;
4786 	} else {
4787 		if (yych <= '_') {
4788 			if (yych <= '^') goto yy56;
4789 			goto yy243;
4790 		} else {
4791 			if (yych <= '`') goto yy56;
4792 			if (yych <= 'z') goto yy249;
4793 			goto yy56;
4794 		}
4795 	}
4796 yy251:
4797 	YYDEBUG(251, *YYCURSOR);
4798 	yych = *++YYCURSOR;
4799 	if (yych <= '/') goto yy222;
4800 	if (yych <= '9') goto yy253;
4801 	if (yych <= ':') goto yy254;
4802 	goto yy222;
4803 yy252:
4804 	YYDEBUG(252, *YYCURSOR);
4805 	yych = *++YYCURSOR;
4806 	if (yych <= '5') {
4807 		if (yych <= '/') goto yy222;
4808 		if (yych >= '5') goto yy255;
4809 	} else {
4810 		if (yych <= '9') goto yy227;
4811 		if (yych <= ':') goto yy254;
4812 		goto yy222;
4813 	}
4814 yy253:
4815 	YYDEBUG(253, *YYCURSOR);
4816 	yych = *++YYCURSOR;
4817 	if (yych <= '/') goto yy222;
4818 	if (yych <= '5') goto yy255;
4819 	if (yych <= '9') goto yy227;
4820 	if (yych >= ';') goto yy222;
4821 yy254:
4822 	YYDEBUG(254, *YYCURSOR);
4823 	yych = *++YYCURSOR;
4824 	if (yych <= '/') goto yy222;
4825 	if (yych <= '5') goto yy255;
4826 	if (yych <= '9') goto yy227;
4827 	goto yy222;
4828 yy255:
4829 	YYDEBUG(255, *YYCURSOR);
4830 	yych = *++YYCURSOR;
4831 	if (yych <= '/') goto yy222;
4832 	if (yych <= '9') goto yy227;
4833 	goto yy222;
4834 yy256:
4835 	YYDEBUG(256, *YYCURSOR);
4836 	yych = *++YYCURSOR;
4837 	if (yych <= 'S') {
4838 		if (yych == ')') goto yy227;
4839 		if (yych <= '@') goto yy222;
4840 		goto yy237;
4841 	} else {
4842 		if (yych <= 'Z') {
4843 			if (yych >= 'U') goto yy237;
4844 		} else {
4845 			if (yych <= '`') goto yy222;
4846 			if (yych <= 'z') goto yy237;
4847 			goto yy222;
4848 		}
4849 	}
4850 	YYDEBUG(257, *YYCURSOR);
4851 	yyaccept = 7;
4852 	yych = *(YYMARKER = ++YYCURSOR);
4853 	if (yych <= ',') {
4854 		if (yych <= ')') {
4855 			if (yych <= '(') goto yy222;
4856 			goto yy227;
4857 		} else {
4858 			if (yych == '+') goto yy232;
4859 			goto yy222;
4860 		}
4861 	} else {
4862 		if (yych <= 'Z') {
4863 			if (yych <= '-') goto yy232;
4864 			if (yych <= '@') goto yy222;
4865 			goto yy238;
4866 		} else {
4867 			if (yych <= '`') goto yy222;
4868 			if (yych <= 'z') goto yy238;
4869 			goto yy222;
4870 		}
4871 	}
4872 yy258:
4873 	YYDEBUG(258, *YYCURSOR);
4874 	yyaccept = 6;
4875 	yych = *(YYMARKER = ++YYCURSOR);
4876 	if (yych <= '/') {
4877 		if (yych == '.') goto yy220;
4878 		goto yy198;
4879 	} else {
4880 		if (yych <= '0') goto yy290;
4881 		if (yych <= '9') goto yy291;
4882 		if (yych <= ':') goto yy220;
4883 		goto yy198;
4884 	}
4885 yy259:
4886 	YYDEBUG(259, *YYCURSOR);
4887 	yyaccept = 6;
4888 	yych = *(YYMARKER = ++YYCURSOR);
4889 	if (yych <= '/') {
4890 		if (yych == '.') goto yy263;
4891 		goto yy198;
4892 	} else {
4893 		if (yych <= '2') goto yy291;
4894 		if (yych <= '9') goto yy290;
4895 		if (yych <= ':') goto yy263;
4896 		goto yy198;
4897 	}
4898 yy260:
4899 	YYDEBUG(260, *YYCURSOR);
4900 	yyaccept = 6;
4901 	yych = *(YYMARKER = ++YYCURSOR);
4902 	if (yych <= '/') {
4903 		if (yych == '.') goto yy263;
4904 		goto yy198;
4905 	} else {
4906 		if (yych <= '4') goto yy290;
4907 		if (yych <= '9') goto yy262;
4908 		if (yych <= ':') goto yy263;
4909 		goto yy198;
4910 	}
4911 yy261:
4912 	YYDEBUG(261, *YYCURSOR);
4913 	yyaccept = 6;
4914 	yych = *(YYMARKER = ++YYCURSOR);
4915 	if (yych <= '/') {
4916 		if (yych == '.') goto yy263;
4917 		goto yy198;
4918 	} else {
4919 		if (yych <= '9') goto yy262;
4920 		if (yych <= ':') goto yy263;
4921 		goto yy198;
4922 	}
4923 yy262:
4924 	YYDEBUG(262, *YYCURSOR);
4925 	yych = *++YYCURSOR;
4926 	if (yych <= '/') goto yy198;
4927 	if (yych <= '9') goto yy288;
4928 	goto yy198;
4929 yy263:
4930 	YYDEBUG(263, *YYCURSOR);
4931 	yych = *++YYCURSOR;
4932 	if (yych <= '/') goto yy56;
4933 	if (yych <= '5') goto yy264;
4934 	if (yych <= '9') goto yy265;
4935 	goto yy56;
4936 yy264:
4937 	YYDEBUG(264, *YYCURSOR);
4938 	yyaccept = 7;
4939 	yych = *(YYMARKER = ++YYCURSOR);
4940 	if (yych <= '/') {
4941 		if (yych == '.') goto yy266;
4942 		goto yy222;
4943 	} else {
4944 		if (yych <= '9') goto yy281;
4945 		if (yych <= ':') goto yy266;
4946 		goto yy222;
4947 	}
4948 yy265:
4949 	YYDEBUG(265, *YYCURSOR);
4950 	yyaccept = 7;
4951 	yych = *(YYMARKER = ++YYCURSOR);
4952 	if (yych == '.') goto yy266;
4953 	if (yych != ':') goto yy222;
4954 yy266:
4955 	YYDEBUG(266, *YYCURSOR);
4956 	yych = *++YYCURSOR;
4957 	if (yych <= '/') goto yy56;
4958 	if (yych <= '5') goto yy267;
4959 	if (yych <= '6') goto yy268;
4960 	if (yych <= '9') goto yy227;
4961 	goto yy56;
4962 yy267:
4963 	YYDEBUG(267, *YYCURSOR);
4964 	yych = *++YYCURSOR;
4965 	if (yych <= '/') goto yy222;
4966 	if (yych <= '9') goto yy269;
4967 	goto yy222;
4968 yy268:
4969 	YYDEBUG(268, *YYCURSOR);
4970 	yych = *++YYCURSOR;
4971 	if (yych != '0') goto yy222;
4972 yy269:
4973 	YYDEBUG(269, *YYCURSOR);
4974 	yyaccept = 7;
4975 	yych = *(YYMARKER = ++YYCURSOR);
4976 	if (yych <= '*') {
4977 		if (yych <= 0x1F) {
4978 			if (yych == '\t') goto yy271;
4979 			goto yy222;
4980 		} else {
4981 			if (yych <= ' ') goto yy271;
4982 			if (yych == '(') goto yy271;
4983 			goto yy222;
4984 		}
4985 	} else {
4986 		if (yych <= '@') {
4987 			if (yych == ',') goto yy222;
4988 			if (yych <= '-') goto yy271;
4989 			goto yy222;
4990 		} else {
4991 			if (yych <= 'Z') goto yy271;
4992 			if (yych <= '`') goto yy222;
4993 			if (yych <= 'z') goto yy271;
4994 			goto yy222;
4995 		}
4996 	}
4997 yy270:
4998 	YYDEBUG(270, *YYCURSOR);
4999 	++YYCURSOR;
5000 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
5001 	yych = *YYCURSOR;
5002 yy271:
5003 	YYDEBUG(271, *YYCURSOR);
5004 	if (yych <= '@') {
5005 		if (yych <= '\'') {
5006 			if (yych <= '\t') {
5007 				if (yych <= 0x08) goto yy56;
5008 				goto yy270;
5009 			} else {
5010 				if (yych == ' ') goto yy270;
5011 				goto yy56;
5012 			}
5013 		} else {
5014 			if (yych <= '+') {
5015 				if (yych <= '(') goto yy233;
5016 				if (yych <= '*') goto yy56;
5017 				goto yy232;
5018 			} else {
5019 				if (yych == '-') goto yy232;
5020 				goto yy56;
5021 			}
5022 		}
5023 	} else {
5024 		if (yych <= 'Z') {
5025 			if (yych <= 'G') {
5026 				if (yych <= 'A') goto yy272;
5027 				if (yych <= 'F') goto yy234;
5028 				goto yy231;
5029 			} else {
5030 				if (yych != 'P') goto yy234;
5031 			}
5032 		} else {
5033 			if (yych <= 'o') {
5034 				if (yych <= '`') goto yy56;
5035 				if (yych <= 'a') goto yy273;
5036 				goto yy235;
5037 			} else {
5038 				if (yych <= 'p') goto yy273;
5039 				if (yych <= 'z') goto yy235;
5040 				goto yy56;
5041 			}
5042 		}
5043 	}
5044 yy272:
5045 	YYDEBUG(272, *YYCURSOR);
5046 	yyaccept = 7;
5047 	yych = *(YYMARKER = ++YYCURSOR);
5048 	if (yych <= 'L') {
5049 		if (yych <= '-') {
5050 			if (yych == ')') goto yy227;
5051 			goto yy222;
5052 		} else {
5053 			if (yych <= '.') goto yy274;
5054 			if (yych <= '@') goto yy222;
5055 			goto yy236;
5056 		}
5057 	} else {
5058 		if (yych <= '`') {
5059 			if (yych <= 'M') goto yy275;
5060 			if (yych <= 'Z') goto yy236;
5061 			goto yy222;
5062 		} else {
5063 			if (yych == 'm') goto yy280;
5064 			if (yych <= 'z') goto yy241;
5065 			goto yy222;
5066 		}
5067 	}
5068 yy273:
5069 	YYDEBUG(273, *YYCURSOR);
5070 	yyaccept = 7;
5071 	yych = *(YYMARKER = ++YYCURSOR);
5072 	if (yych <= 'L') {
5073 		if (yych <= '-') {
5074 			if (yych == ')') goto yy227;
5075 			goto yy222;
5076 		} else {
5077 			if (yych <= '.') goto yy274;
5078 			if (yych <= '@') goto yy222;
5079 			goto yy236;
5080 		}
5081 	} else {
5082 		if (yych <= '`') {
5083 			if (yych <= 'M') goto yy275;
5084 			if (yych <= 'Z') goto yy236;
5085 			goto yy222;
5086 		} else {
5087 			if (yych == 'm') goto yy275;
5088 			if (yych <= 'z') goto yy236;
5089 			goto yy222;
5090 		}
5091 	}
5092 yy274:
5093 	YYDEBUG(274, *YYCURSOR);
5094 	yych = *++YYCURSOR;
5095 	if (yych == 'M') goto yy279;
5096 	if (yych == 'm') goto yy279;
5097 	goto yy56;
5098 yy275:
5099 	YYDEBUG(275, *YYCURSOR);
5100 	yyaccept = 7;
5101 	yych = *(YYMARKER = ++YYCURSOR);
5102 	if (yych <= ')') {
5103 		if (yych <= '\t') {
5104 			if (yych <= 0x00) goto yy277;
5105 			if (yych <= 0x08) goto yy222;
5106 			goto yy277;
5107 		} else {
5108 			if (yych == ' ') goto yy277;
5109 			if (yych <= '(') goto yy222;
5110 			goto yy227;
5111 		}
5112 	} else {
5113 		if (yych <= '@') {
5114 			if (yych != '.') goto yy222;
5115 		} else {
5116 			if (yych <= 'Z') goto yy237;
5117 			if (yych <= '`') goto yy222;
5118 			if (yych <= 'z') goto yy237;
5119 			goto yy222;
5120 		}
5121 	}
5122 yy276:
5123 	YYDEBUG(276, *YYCURSOR);
5124 	yych = *++YYCURSOR;
5125 	if (yych <= '\t') {
5126 		if (yych <= 0x00) goto yy277;
5127 		if (yych <= 0x08) goto yy56;
5128 	} else {
5129 		if (yych != ' ') goto yy56;
5130 	}
5131 yy277:
5132 	YYDEBUG(277, *YYCURSOR);
5133 	++YYCURSOR;
5134 	YYDEBUG(278, *YYCURSOR);
5135 #line 1634 "ext/date/lib/parse_date.re"
5136 	{
5137 		DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
5138 		TIMELIB_INIT;
5139 		TIMELIB_HAVE_DATE();
5140 		s->time->m = timelib_get_month((char **) &ptr);
5141 		s->time->d = timelib_get_nr((char **) &ptr, 2);
5142 
5143 		TIMELIB_HAVE_TIME();
5144 		s->time->h = timelib_get_nr((char **) &ptr, 2);
5145 		s->time->i = timelib_get_nr((char **) &ptr, 2);
5146 		if (*ptr == ':' || *ptr == '.') {
5147 			s->time->s = timelib_get_nr((char **) &ptr, 2);
5148 
5149 			if (*ptr == '.') {
5150 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
5151 			}
5152 		}
5153 
5154 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
5155 		TIMELIB_DEINIT;
5156 		return TIMELIB_SHORTDATE_WITH_TIME;
5157 	}
5158 #line 5159 "ext/date/lib/parse_date.c"
5159 yy279:
5160 	YYDEBUG(279, *YYCURSOR);
5161 	yych = *++YYCURSOR;
5162 	if (yych <= 0x1F) {
5163 		if (yych <= 0x00) goto yy277;
5164 		if (yych == '\t') goto yy277;
5165 		goto yy56;
5166 	} else {
5167 		if (yych <= ' ') goto yy277;
5168 		if (yych == '.') goto yy276;
5169 		goto yy56;
5170 	}
5171 yy280:
5172 	YYDEBUG(280, *YYCURSOR);
5173 	yyaccept = 7;
5174 	yych = *(YYMARKER = ++YYCURSOR);
5175 	if (yych <= '-') {
5176 		if (yych <= 0x1F) {
5177 			if (yych <= 0x00) goto yy277;
5178 			if (yych == '\t') goto yy277;
5179 			goto yy222;
5180 		} else {
5181 			if (yych <= '(') {
5182 				if (yych <= ' ') goto yy277;
5183 				goto yy222;
5184 			} else {
5185 				if (yych <= ')') goto yy227;
5186 				if (yych <= ',') goto yy222;
5187 				goto yy243;
5188 			}
5189 		}
5190 	} else {
5191 		if (yych <= 'Z') {
5192 			if (yych <= '.') goto yy276;
5193 			if (yych <= '/') goto yy243;
5194 			if (yych <= '@') goto yy222;
5195 			goto yy237;
5196 		} else {
5197 			if (yych <= '_') {
5198 				if (yych <= '^') goto yy222;
5199 				goto yy243;
5200 			} else {
5201 				if (yych <= '`') goto yy222;
5202 				if (yych <= 'z') goto yy242;
5203 				goto yy222;
5204 			}
5205 		}
5206 	}
5207 yy281:
5208 	YYDEBUG(281, *YYCURSOR);
5209 	yyaccept = 7;
5210 	yych = *(YYMARKER = ++YYCURSOR);
5211 	if (yych <= ':') {
5212 		if (yych <= ' ') {
5213 			if (yych == '\t') goto yy282;
5214 			if (yych <= 0x1F) goto yy222;
5215 		} else {
5216 			if (yych == '.') goto yy266;
5217 			if (yych <= '9') goto yy222;
5218 			goto yy266;
5219 		}
5220 	} else {
5221 		if (yych <= 'P') {
5222 			if (yych == 'A') goto yy284;
5223 			if (yych <= 'O') goto yy222;
5224 			goto yy284;
5225 		} else {
5226 			if (yych <= 'a') {
5227 				if (yych <= '`') goto yy222;
5228 				goto yy284;
5229 			} else {
5230 				if (yych == 'p') goto yy284;
5231 				goto yy222;
5232 			}
5233 		}
5234 	}
5235 yy282:
5236 	YYDEBUG(282, *YYCURSOR);
5237 	++YYCURSOR;
5238 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
5239 	yych = *YYCURSOR;
5240 	YYDEBUG(283, *YYCURSOR);
5241 	if (yych <= 'A') {
5242 		if (yych <= 0x1F) {
5243 			if (yych == '\t') goto yy282;
5244 			goto yy56;
5245 		} else {
5246 			if (yych <= ' ') goto yy282;
5247 			if (yych <= '@') goto yy56;
5248 		}
5249 	} else {
5250 		if (yych <= '`') {
5251 			if (yych != 'P') goto yy56;
5252 		} else {
5253 			if (yych <= 'a') goto yy284;
5254 			if (yych != 'p') goto yy56;
5255 		}
5256 	}
5257 yy284:
5258 	YYDEBUG(284, *YYCURSOR);
5259 	yych = *++YYCURSOR;
5260 	if (yych <= 'L') {
5261 		if (yych != '.') goto yy56;
5262 	} else {
5263 		if (yych <= 'M') goto yy286;
5264 		if (yych == 'm') goto yy286;
5265 		goto yy56;
5266 	}
5267 yy285:
5268 	YYDEBUG(285, *YYCURSOR);
5269 	yych = *++YYCURSOR;
5270 	if (yych == 'M') goto yy286;
5271 	if (yych != 'm') goto yy56;
5272 yy286:
5273 	YYDEBUG(286, *YYCURSOR);
5274 	yych = *++YYCURSOR;
5275 	if (yych <= 0x1F) {
5276 		if (yych <= 0x00) goto yy277;
5277 		if (yych == '\t') goto yy277;
5278 		goto yy56;
5279 	} else {
5280 		if (yych <= ' ') goto yy277;
5281 		if (yych != '.') goto yy56;
5282 	}
5283 yy287:
5284 	YYDEBUG(287, *YYCURSOR);
5285 	yych = *++YYCURSOR;
5286 	if (yych <= '\t') {
5287 		if (yych <= 0x00) goto yy277;
5288 		if (yych <= 0x08) goto yy56;
5289 		goto yy277;
5290 	} else {
5291 		if (yych == ' ') goto yy277;
5292 		goto yy56;
5293 	}
5294 yy288:
5295 	YYDEBUG(288, *YYCURSOR);
5296 	yych = *++YYCURSOR;
5297 	if (yych <= '/') goto yy198;
5298 	if (yych >= ':') goto yy198;
5299 	YYDEBUG(289, *YYCURSOR);
5300 	yych = *++YYCURSOR;
5301 	goto yy198;
5302 yy290:
5303 	YYDEBUG(290, *YYCURSOR);
5304 	yyaccept = 6;
5305 	yych = *(YYMARKER = ++YYCURSOR);
5306 	if (yych <= '/') {
5307 		if (yych == '.') goto yy220;
5308 		goto yy198;
5309 	} else {
5310 		if (yych <= '9') goto yy288;
5311 		if (yych <= ':') goto yy220;
5312 		goto yy198;
5313 	}
5314 yy291:
5315 	YYDEBUG(291, *YYCURSOR);
5316 	yyaccept = 6;
5317 	yych = *(YYMARKER = ++YYCURSOR);
5318 	if (yych <= '/') {
5319 		if (yych == '.') goto yy263;
5320 		goto yy198;
5321 	} else {
5322 		if (yych <= '9') goto yy288;
5323 		if (yych <= ':') goto yy263;
5324 		goto yy198;
5325 	}
5326 yy292:
5327 	YYDEBUG(292, *YYCURSOR);
5328 	yych = *++YYCURSOR;
5329 	if (yych <= '/') goto yy56;
5330 	if (yych >= ':') goto yy56;
5331 yy293:
5332 	YYDEBUG(293, *YYCURSOR);
5333 	++YYCURSOR;
5334 yy294:
5335 	YYDEBUG(294, *YYCURSOR);
5336 #line 1328 "ext/date/lib/parse_date.re"
5337 	{
5338 		int length = 0;
5339 		DEBUG_OUTPUT("datenoday");
5340 		TIMELIB_INIT;
5341 		TIMELIB_HAVE_DATE();
5342 		s->time->m = timelib_get_month((char **) &ptr);
5343 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
5344 		s->time->d = 1;
5345 		TIMELIB_PROCESS_YEAR(s->time->y, length);
5346 		TIMELIB_DEINIT;
5347 		return TIMELIB_DATE_NO_DAY;
5348 	}
5349 #line 5350 "ext/date/lib/parse_date.c"
5350 yy295:
5351 	YYDEBUG(295, *YYCURSOR);
5352 	yych = *++YYCURSOR;
5353 	if (yych <= '/') {
5354 		if (yych == '.') goto yy220;
5355 		goto yy56;
5356 	} else {
5357 		if (yych <= '9') goto yy293;
5358 		if (yych <= ':') goto yy220;
5359 		goto yy56;
5360 	}
5361 yy296:
5362 	YYDEBUG(296, *YYCURSOR);
5363 	yych = *++YYCURSOR;
5364 	if (yych <= '/') {
5365 		if (yych == '.') goto yy263;
5366 		goto yy56;
5367 	} else {
5368 		if (yych <= '9') goto yy293;
5369 		if (yych <= ':') goto yy263;
5370 		goto yy56;
5371 	}
5372 yy297:
5373 	YYDEBUG(297, *YYCURSOR);
5374 	yyaccept = 6;
5375 	yych = *(YYMARKER = ++YYCURSOR);
5376 	if (yych <= '9') {
5377 		if (yych <= '/') {
5378 			if (yych == '.') goto yy330;
5379 			goto yy215;
5380 		} else {
5381 			if (yych <= '0') goto yy331;
5382 			if (yych <= '1') goto yy301;
5383 			if (yych <= '2') goto yy302;
5384 			goto yy296;
5385 		}
5386 	} else {
5387 		if (yych <= 'q') {
5388 			if (yych <= ':') goto yy220;
5389 			if (yych == 'n') goto yy211;
5390 			goto yy215;
5391 		} else {
5392 			if (yych <= 'r') goto yy212;
5393 			if (yych <= 's') goto yy210;
5394 			if (yych <= 't') goto yy213;
5395 			goto yy215;
5396 		}
5397 	}
5398 yy298:
5399 	YYDEBUG(298, *YYCURSOR);
5400 	yyaccept = 6;
5401 	yych = *(YYMARKER = ++YYCURSOR);
5402 	if (yych <= '9') {
5403 		if (yych <= '/') {
5404 			if (yych != '.') goto yy215;
5405 		} else {
5406 			if (yych <= '0') goto yy300;
5407 			if (yych <= '1') goto yy301;
5408 			if (yych <= '2') goto yy302;
5409 			goto yy296;
5410 		}
5411 	} else {
5412 		if (yych <= 'q') {
5413 			if (yych <= ':') goto yy263;
5414 			if (yych == 'n') goto yy211;
5415 			goto yy215;
5416 		} else {
5417 			if (yych <= 'r') goto yy212;
5418 			if (yych <= 's') goto yy210;
5419 			if (yych <= 't') goto yy213;
5420 			goto yy215;
5421 		}
5422 	}
5423 yy299:
5424 	YYDEBUG(299, *YYCURSOR);
5425 	yyaccept = 6;
5426 	yych = *(YYMARKER = ++YYCURSOR);
5427 	if (yych <= '1') {
5428 		if (yych <= '/') goto yy215;
5429 		if (yych <= '0') goto yy305;
5430 		goto yy306;
5431 	} else {
5432 		if (yych <= '2') goto yy307;
5433 		if (yych <= '5') goto yy308;
5434 		if (yych <= '9') goto yy309;
5435 		goto yy215;
5436 	}
5437 yy300:
5438 	YYDEBUG(300, *YYCURSOR);
5439 	yych = *++YYCURSOR;
5440 	if (yych <= '/') {
5441 		if (yych == '.') goto yy263;
5442 		goto yy56;
5443 	} else {
5444 		if (yych <= '0') goto yy303;
5445 		if (yych <= '9') goto yy304;
5446 		if (yych <= ':') goto yy263;
5447 		goto yy56;
5448 	}
5449 yy301:
5450 	YYDEBUG(301, *YYCURSOR);
5451 	yych = *++YYCURSOR;
5452 	if (yych <= '/') {
5453 		if (yych == '.') goto yy263;
5454 		goto yy56;
5455 	} else {
5456 		if (yych <= '2') goto yy304;
5457 		if (yych <= '9') goto yy303;
5458 		if (yych <= ':') goto yy263;
5459 		goto yy56;
5460 	}
5461 yy302:
5462 	YYDEBUG(302, *YYCURSOR);
5463 	yych = *++YYCURSOR;
5464 	if (yych <= '/') {
5465 		if (yych == '.') goto yy263;
5466 		goto yy56;
5467 	} else {
5468 		if (yych <= '4') goto yy303;
5469 		if (yych <= '9') goto yy293;
5470 		if (yych <= ':') goto yy263;
5471 		goto yy56;
5472 	}
5473 yy303:
5474 	YYDEBUG(303, *YYCURSOR);
5475 	yyaccept = 8;
5476 	yych = *(YYMARKER = ++YYCURSOR);
5477 	if (yych == '.') goto yy220;
5478 	if (yych == ':') goto yy220;
5479 	goto yy294;
5480 yy304:
5481 	YYDEBUG(304, *YYCURSOR);
5482 	yyaccept = 8;
5483 	yych = *(YYMARKER = ++YYCURSOR);
5484 	if (yych == '.') goto yy263;
5485 	if (yych == ':') goto yy263;
5486 	goto yy294;
5487 yy305:
5488 	YYDEBUG(305, *YYCURSOR);
5489 	yyaccept = 6;
5490 	yych = *(YYMARKER = ++YYCURSOR);
5491 	if (yych <= '/') {
5492 		if (yych == '.') goto yy325;
5493 		goto yy198;
5494 	} else {
5495 		if (yych <= '0') goto yy324;
5496 		if (yych <= '9') goto yy329;
5497 		if (yych <= ':') goto yy325;
5498 		goto yy198;
5499 	}
5500 yy306:
5501 	YYDEBUG(306, *YYCURSOR);
5502 	yyaccept = 6;
5503 	yych = *(YYMARKER = ++YYCURSOR);
5504 	if (yych <= '/') {
5505 		if (yych == '.') goto yy310;
5506 		goto yy198;
5507 	} else {
5508 		if (yych <= '2') goto yy329;
5509 		if (yych <= '9') goto yy324;
5510 		if (yych <= ':') goto yy310;
5511 		goto yy198;
5512 	}
5513 yy307:
5514 	YYDEBUG(307, *YYCURSOR);
5515 	yyaccept = 6;
5516 	yych = *(YYMARKER = ++YYCURSOR);
5517 	if (yych <= '/') {
5518 		if (yych == '.') goto yy310;
5519 		goto yy198;
5520 	} else {
5521 		if (yych <= '4') goto yy324;
5522 		if (yych <= '9') goto yy323;
5523 		if (yych <= ':') goto yy310;
5524 		goto yy198;
5525 	}
5526 yy308:
5527 	YYDEBUG(308, *YYCURSOR);
5528 	yyaccept = 6;
5529 	yych = *(YYMARKER = ++YYCURSOR);
5530 	if (yych <= '/') {
5531 		if (yych == '.') goto yy310;
5532 		goto yy198;
5533 	} else {
5534 		if (yych <= '9') goto yy323;
5535 		if (yych <= ':') goto yy310;
5536 		goto yy198;
5537 	}
5538 yy309:
5539 	YYDEBUG(309, *YYCURSOR);
5540 	yyaccept = 6;
5541 	yych = *(YYMARKER = ++YYCURSOR);
5542 	if (yych <= '/') {
5543 		if (yych != '.') goto yy198;
5544 	} else {
5545 		if (yych <= '9') goto yy262;
5546 		if (yych >= ';') goto yy198;
5547 	}
5548 yy310:
5549 	YYDEBUG(310, *YYCURSOR);
5550 	yych = *++YYCURSOR;
5551 	if (yych <= '/') goto yy56;
5552 	if (yych <= '5') goto yy311;
5553 	if (yych <= '6') goto yy312;
5554 	if (yych <= '9') goto yy265;
5555 	goto yy56;
5556 yy311:
5557 	YYDEBUG(311, *YYCURSOR);
5558 	yyaccept = 7;
5559 	yych = *(YYMARKER = ++YYCURSOR);
5560 	if (yych <= '/') {
5561 		if (yych == '.') goto yy266;
5562 		goto yy222;
5563 	} else {
5564 		if (yych <= '9') goto yy313;
5565 		if (yych <= ':') goto yy266;
5566 		goto yy222;
5567 	}
5568 yy312:
5569 	YYDEBUG(312, *YYCURSOR);
5570 	yyaccept = 7;
5571 	yych = *(YYMARKER = ++YYCURSOR);
5572 	if (yych <= '/') {
5573 		if (yych == '.') goto yy266;
5574 		goto yy222;
5575 	} else {
5576 		if (yych <= '0') goto yy269;
5577 		if (yych == ':') goto yy266;
5578 		goto yy222;
5579 	}
5580 yy313:
5581 	YYDEBUG(313, *YYCURSOR);
5582 	yyaccept = 7;
5583 	yych = *(YYMARKER = ++YYCURSOR);
5584 	if (yych <= ',') {
5585 		if (yych <= ' ') {
5586 			if (yych == '\t') goto yy315;
5587 			if (yych <= 0x1F) goto yy222;
5588 			goto yy315;
5589 		} else {
5590 			if (yych <= '(') {
5591 				if (yych <= '\'') goto yy222;
5592 				goto yy315;
5593 			} else {
5594 				if (yych == '+') goto yy315;
5595 				goto yy222;
5596 			}
5597 		}
5598 	} else {
5599 		if (yych <= ':') {
5600 			if (yych <= '-') goto yy315;
5601 			if (yych <= '.') goto yy266;
5602 			if (yych <= '9') goto yy222;
5603 			goto yy266;
5604 		} else {
5605 			if (yych <= 'Z') {
5606 				if (yych <= '@') goto yy222;
5607 				goto yy315;
5608 			} else {
5609 				if (yych <= '`') goto yy222;
5610 				if (yych <= 'z') goto yy315;
5611 				goto yy222;
5612 			}
5613 		}
5614 	}
5615 yy314:
5616 	YYDEBUG(314, *YYCURSOR);
5617 	++YYCURSOR;
5618 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
5619 	yych = *YYCURSOR;
5620 yy315:
5621 	YYDEBUG(315, *YYCURSOR);
5622 	if (yych <= '@') {
5623 		if (yych <= '\'') {
5624 			if (yych <= '\t') {
5625 				if (yych <= 0x08) goto yy56;
5626 				goto yy314;
5627 			} else {
5628 				if (yych == ' ') goto yy314;
5629 				goto yy56;
5630 			}
5631 		} else {
5632 			if (yych <= '+') {
5633 				if (yych <= '(') goto yy233;
5634 				if (yych <= '*') goto yy56;
5635 				goto yy232;
5636 			} else {
5637 				if (yych == '-') goto yy232;
5638 				goto yy56;
5639 			}
5640 		}
5641 	} else {
5642 		if (yych <= 'Z') {
5643 			if (yych <= 'G') {
5644 				if (yych <= 'A') goto yy316;
5645 				if (yych <= 'F') goto yy234;
5646 				goto yy231;
5647 			} else {
5648 				if (yych != 'P') goto yy234;
5649 			}
5650 		} else {
5651 			if (yych <= 'o') {
5652 				if (yych <= '`') goto yy56;
5653 				if (yych <= 'a') goto yy317;
5654 				goto yy235;
5655 			} else {
5656 				if (yych <= 'p') goto yy317;
5657 				if (yych <= 'z') goto yy235;
5658 				goto yy56;
5659 			}
5660 		}
5661 	}
5662 yy316:
5663 	YYDEBUG(316, *YYCURSOR);
5664 	yyaccept = 7;
5665 	yych = *(YYMARKER = ++YYCURSOR);
5666 	if (yych <= 'L') {
5667 		if (yych <= '-') {
5668 			if (yych == ')') goto yy227;
5669 			goto yy222;
5670 		} else {
5671 			if (yych <= '.') goto yy319;
5672 			if (yych <= '@') goto yy222;
5673 			goto yy236;
5674 		}
5675 	} else {
5676 		if (yych <= '`') {
5677 			if (yych <= 'M') goto yy318;
5678 			if (yych <= 'Z') goto yy236;
5679 			goto yy222;
5680 		} else {
5681 			if (yych == 'm') goto yy322;
5682 			if (yych <= 'z') goto yy241;
5683 			goto yy222;
5684 		}
5685 	}
5686 yy317:
5687 	YYDEBUG(317, *YYCURSOR);
5688 	yyaccept = 7;
5689 	yych = *(YYMARKER = ++YYCURSOR);
5690 	if (yych <= 'L') {
5691 		if (yych <= '-') {
5692 			if (yych == ')') goto yy227;
5693 			goto yy222;
5694 		} else {
5695 			if (yych <= '.') goto yy319;
5696 			if (yych <= '@') goto yy222;
5697 			goto yy236;
5698 		}
5699 	} else {
5700 		if (yych <= '`') {
5701 			if (yych <= 'M') goto yy318;
5702 			if (yych <= 'Z') goto yy236;
5703 			goto yy222;
5704 		} else {
5705 			if (yych == 'm') goto yy318;
5706 			if (yych <= 'z') goto yy236;
5707 			goto yy222;
5708 		}
5709 	}
5710 yy318:
5711 	YYDEBUG(318, *YYCURSOR);
5712 	yyaccept = 7;
5713 	yych = *(YYMARKER = ++YYCURSOR);
5714 	if (yych <= ')') {
5715 		if (yych <= '\t') {
5716 			if (yych <= 0x00) goto yy277;
5717 			if (yych <= 0x08) goto yy222;
5718 			goto yy277;
5719 		} else {
5720 			if (yych == ' ') goto yy277;
5721 			if (yych <= '(') goto yy222;
5722 			goto yy227;
5723 		}
5724 	} else {
5725 		if (yych <= '@') {
5726 			if (yych == '.') goto yy321;
5727 			goto yy222;
5728 		} else {
5729 			if (yych <= 'Z') goto yy237;
5730 			if (yych <= '`') goto yy222;
5731 			if (yych <= 'z') goto yy237;
5732 			goto yy222;
5733 		}
5734 	}
5735 yy319:
5736 	YYDEBUG(319, *YYCURSOR);
5737 	yych = *++YYCURSOR;
5738 	if (yych == 'M') goto yy320;
5739 	if (yych != 'm') goto yy56;
5740 yy320:
5741 	YYDEBUG(320, *YYCURSOR);
5742 	yych = *++YYCURSOR;
5743 	if (yych <= 0x1F) {
5744 		if (yych <= 0x00) goto yy277;
5745 		if (yych == '\t') goto yy277;
5746 		goto yy56;
5747 	} else {
5748 		if (yych <= ' ') goto yy277;
5749 		if (yych != '.') goto yy56;
5750 	}
5751 yy321:
5752 	YYDEBUG(321, *YYCURSOR);
5753 	yych = *++YYCURSOR;
5754 	if (yych <= '\t') {
5755 		if (yych <= 0x00) goto yy277;
5756 		if (yych <= 0x08) goto yy56;
5757 		goto yy277;
5758 	} else {
5759 		if (yych == ' ') goto yy277;
5760 		goto yy56;
5761 	}
5762 yy322:
5763 	YYDEBUG(322, *YYCURSOR);
5764 	yyaccept = 7;
5765 	yych = *(YYMARKER = ++YYCURSOR);
5766 	if (yych <= '-') {
5767 		if (yych <= 0x1F) {
5768 			if (yych <= 0x00) goto yy277;
5769 			if (yych == '\t') goto yy277;
5770 			goto yy222;
5771 		} else {
5772 			if (yych <= '(') {
5773 				if (yych <= ' ') goto yy277;
5774 				goto yy222;
5775 			} else {
5776 				if (yych <= ')') goto yy227;
5777 				if (yych <= ',') goto yy222;
5778 				goto yy243;
5779 			}
5780 		}
5781 	} else {
5782 		if (yych <= 'Z') {
5783 			if (yych <= '.') goto yy321;
5784 			if (yych <= '/') goto yy243;
5785 			if (yych <= '@') goto yy222;
5786 			goto yy237;
5787 		} else {
5788 			if (yych <= '_') {
5789 				if (yych <= '^') goto yy222;
5790 				goto yy243;
5791 			} else {
5792 				if (yych <= '`') goto yy222;
5793 				if (yych <= 'z') goto yy242;
5794 				goto yy222;
5795 			}
5796 		}
5797 	}
5798 yy323:
5799 	YYDEBUG(323, *YYCURSOR);
5800 	yyaccept = 6;
5801 	yych = *(YYMARKER = ++YYCURSOR);
5802 	if (yych <= ':') {
5803 		if (yych <= ' ') {
5804 			if (yych == '\t') goto yy282;
5805 			if (yych <= 0x1F) goto yy198;
5806 			goto yy282;
5807 		} else {
5808 			if (yych <= '.') {
5809 				if (yych <= '-') goto yy198;
5810 				goto yy266;
5811 			} else {
5812 				if (yych <= '/') goto yy198;
5813 				if (yych <= '9') goto yy288;
5814 				goto yy266;
5815 			}
5816 		}
5817 	} else {
5818 		if (yych <= 'P') {
5819 			if (yych == 'A') goto yy284;
5820 			if (yych <= 'O') goto yy198;
5821 			goto yy284;
5822 		} else {
5823 			if (yych <= 'a') {
5824 				if (yych <= '`') goto yy198;
5825 				goto yy284;
5826 			} else {
5827 				if (yych == 'p') goto yy284;
5828 				goto yy198;
5829 			}
5830 		}
5831 	}
5832 yy324:
5833 	YYDEBUG(324, *YYCURSOR);
5834 	yyaccept = 6;
5835 	yych = *(YYMARKER = ++YYCURSOR);
5836 	if (yych <= ':') {
5837 		if (yych <= ' ') {
5838 			if (yych == '\t') goto yy282;
5839 			if (yych <= 0x1F) goto yy198;
5840 			goto yy282;
5841 		} else {
5842 			if (yych <= '.') {
5843 				if (yych <= '-') goto yy198;
5844 			} else {
5845 				if (yych <= '/') goto yy198;
5846 				if (yych <= '9') goto yy288;
5847 			}
5848 		}
5849 	} else {
5850 		if (yych <= 'P') {
5851 			if (yych == 'A') goto yy284;
5852 			if (yych <= 'O') goto yy198;
5853 			goto yy284;
5854 		} else {
5855 			if (yych <= 'a') {
5856 				if (yych <= '`') goto yy198;
5857 				goto yy284;
5858 			} else {
5859 				if (yych == 'p') goto yy284;
5860 				goto yy198;
5861 			}
5862 		}
5863 	}
5864 yy325:
5865 	YYDEBUG(325, *YYCURSOR);
5866 	yych = *++YYCURSOR;
5867 	if (yych <= '/') goto yy56;
5868 	if (yych <= '5') goto yy326;
5869 	if (yych <= '6') goto yy327;
5870 	if (yych <= '9') goto yy223;
5871 	goto yy56;
5872 yy326:
5873 	YYDEBUG(326, *YYCURSOR);
5874 	yyaccept = 7;
5875 	yych = *(YYMARKER = ++YYCURSOR);
5876 	if (yych <= '/') {
5877 		if (yych == '.') goto yy224;
5878 		goto yy222;
5879 	} else {
5880 		if (yych <= '9') goto yy328;
5881 		if (yych <= ':') goto yy224;
5882 		goto yy222;
5883 	}
5884 yy327:
5885 	YYDEBUG(327, *YYCURSOR);
5886 	yyaccept = 7;
5887 	yych = *(YYMARKER = ++YYCURSOR);
5888 	if (yych <= '/') {
5889 		if (yych == '.') goto yy224;
5890 		goto yy222;
5891 	} else {
5892 		if (yych <= '0') goto yy269;
5893 		if (yych == ':') goto yy224;
5894 		goto yy222;
5895 	}
5896 yy328:
5897 	YYDEBUG(328, *YYCURSOR);
5898 	yyaccept = 7;
5899 	yych = *(YYMARKER = ++YYCURSOR);
5900 	if (yych <= ',') {
5901 		if (yych <= ' ') {
5902 			if (yych == '\t') goto yy271;
5903 			if (yych <= 0x1F) goto yy222;
5904 			goto yy271;
5905 		} else {
5906 			if (yych <= '(') {
5907 				if (yych <= '\'') goto yy222;
5908 				goto yy271;
5909 			} else {
5910 				if (yych == '+') goto yy271;
5911 				goto yy222;
5912 			}
5913 		}
5914 	} else {
5915 		if (yych <= ':') {
5916 			if (yych <= '-') goto yy271;
5917 			if (yych <= '.') goto yy224;
5918 			if (yych <= '9') goto yy222;
5919 			goto yy224;
5920 		} else {
5921 			if (yych <= 'Z') {
5922 				if (yych <= '@') goto yy222;
5923 				goto yy271;
5924 			} else {
5925 				if (yych <= '`') goto yy222;
5926 				if (yych <= 'z') goto yy271;
5927 				goto yy222;
5928 			}
5929 		}
5930 	}
5931 yy329:
5932 	YYDEBUG(329, *YYCURSOR);
5933 	yyaccept = 6;
5934 	yych = *(YYMARKER = ++YYCURSOR);
5935 	if (yych <= ':') {
5936 		if (yych <= ' ') {
5937 			if (yych == '\t') goto yy282;
5938 			if (yych <= 0x1F) goto yy198;
5939 			goto yy282;
5940 		} else {
5941 			if (yych <= '.') {
5942 				if (yych <= '-') goto yy198;
5943 				goto yy310;
5944 			} else {
5945 				if (yych <= '/') goto yy198;
5946 				if (yych <= '9') goto yy288;
5947 				goto yy310;
5948 			}
5949 		}
5950 	} else {
5951 		if (yych <= 'P') {
5952 			if (yych == 'A') goto yy284;
5953 			if (yych <= 'O') goto yy198;
5954 			goto yy284;
5955 		} else {
5956 			if (yych <= 'a') {
5957 				if (yych <= '`') goto yy198;
5958 				goto yy284;
5959 			} else {
5960 				if (yych == 'p') goto yy284;
5961 				goto yy198;
5962 			}
5963 		}
5964 	}
5965 yy330:
5966 	YYDEBUG(330, *YYCURSOR);
5967 	yyaccept = 6;
5968 	yych = *(YYMARKER = ++YYCURSOR);
5969 	if (yych <= '1') {
5970 		if (yych <= '/') goto yy215;
5971 		if (yych <= '0') goto yy332;
5972 		goto yy333;
5973 	} else {
5974 		if (yych <= '2') goto yy334;
5975 		if (yych <= '5') goto yy335;
5976 		if (yych <= '9') goto yy336;
5977 		goto yy215;
5978 	}
5979 yy331:
5980 	YYDEBUG(331, *YYCURSOR);
5981 	yych = *++YYCURSOR;
5982 	if (yych <= '/') {
5983 		if (yych == '.') goto yy220;
5984 		goto yy56;
5985 	} else {
5986 		if (yych <= '0') goto yy303;
5987 		if (yych <= '9') goto yy304;
5988 		if (yych <= ':') goto yy220;
5989 		goto yy56;
5990 	}
5991 yy332:
5992 	YYDEBUG(332, *YYCURSOR);
5993 	yyaccept = 6;
5994 	yych = *(YYMARKER = ++YYCURSOR);
5995 	if (yych <= '/') {
5996 		if (yych == '.') goto yy349;
5997 		goto yy198;
5998 	} else {
5999 		if (yych <= '0') goto yy348;
6000 		if (yych <= '9') goto yy353;
6001 		if (yych <= ':') goto yy349;
6002 		goto yy198;
6003 	}
6004 yy333:
6005 	YYDEBUG(333, *YYCURSOR);
6006 	yyaccept = 6;
6007 	yych = *(YYMARKER = ++YYCURSOR);
6008 	if (yych <= '/') {
6009 		if (yych == '.') goto yy337;
6010 		goto yy198;
6011 	} else {
6012 		if (yych <= '2') goto yy353;
6013 		if (yych <= '9') goto yy348;
6014 		if (yych <= ':') goto yy337;
6015 		goto yy198;
6016 	}
6017 yy334:
6018 	YYDEBUG(334, *YYCURSOR);
6019 	yyaccept = 6;
6020 	yych = *(YYMARKER = ++YYCURSOR);
6021 	if (yych <= '/') {
6022 		if (yych == '.') goto yy337;
6023 		goto yy198;
6024 	} else {
6025 		if (yych <= '4') goto yy348;
6026 		if (yych <= '9') goto yy347;
6027 		if (yych <= ':') goto yy337;
6028 		goto yy198;
6029 	}
6030 yy335:
6031 	YYDEBUG(335, *YYCURSOR);
6032 	yyaccept = 6;
6033 	yych = *(YYMARKER = ++YYCURSOR);
6034 	if (yych <= '/') {
6035 		if (yych == '.') goto yy337;
6036 		goto yy198;
6037 	} else {
6038 		if (yych <= '9') goto yy347;
6039 		if (yych <= ':') goto yy337;
6040 		goto yy198;
6041 	}
6042 yy336:
6043 	YYDEBUG(336, *YYCURSOR);
6044 	yyaccept = 6;
6045 	yych = *(YYMARKER = ++YYCURSOR);
6046 	if (yych <= '/') {
6047 		if (yych != '.') goto yy198;
6048 	} else {
6049 		if (yych <= '9') goto yy262;
6050 		if (yych >= ';') goto yy198;
6051 	}
6052 yy337:
6053 	YYDEBUG(337, *YYCURSOR);
6054 	yych = *++YYCURSOR;
6055 	if (yych <= '/') goto yy56;
6056 	if (yych <= '5') goto yy338;
6057 	if (yych <= '6') goto yy339;
6058 	if (yych <= '9') goto yy265;
6059 	goto yy56;
6060 yy338:
6061 	YYDEBUG(338, *YYCURSOR);
6062 	yyaccept = 7;
6063 	yych = *(YYMARKER = ++YYCURSOR);
6064 	if (yych <= '/') {
6065 		if (yych == '.') goto yy266;
6066 		goto yy222;
6067 	} else {
6068 		if (yych <= '9') goto yy340;
6069 		if (yych <= ':') goto yy266;
6070 		goto yy222;
6071 	}
6072 yy339:
6073 	YYDEBUG(339, *YYCURSOR);
6074 	yyaccept = 7;
6075 	yych = *(YYMARKER = ++YYCURSOR);
6076 	if (yych <= '/') {
6077 		if (yych == '.') goto yy266;
6078 		goto yy222;
6079 	} else {
6080 		if (yych <= '0') goto yy228;
6081 		if (yych == ':') goto yy266;
6082 		goto yy222;
6083 	}
6084 yy340:
6085 	YYDEBUG(340, *YYCURSOR);
6086 	yyaccept = 7;
6087 	yych = *(YYMARKER = ++YYCURSOR);
6088 	if (yych <= ',') {
6089 		if (yych <= ' ') {
6090 			if (yych == '\t') goto yy342;
6091 			if (yych <= 0x1F) goto yy222;
6092 			goto yy342;
6093 		} else {
6094 			if (yych <= '(') {
6095 				if (yych <= '\'') goto yy222;
6096 				goto yy342;
6097 			} else {
6098 				if (yych == '+') goto yy342;
6099 				goto yy222;
6100 			}
6101 		}
6102 	} else {
6103 		if (yych <= ':') {
6104 			if (yych <= '-') goto yy342;
6105 			if (yych <= '.') goto yy266;
6106 			if (yych <= '9') goto yy222;
6107 			goto yy266;
6108 		} else {
6109 			if (yych <= 'Z') {
6110 				if (yych <= '@') goto yy222;
6111 				goto yy342;
6112 			} else {
6113 				if (yych <= '`') goto yy222;
6114 				if (yych <= 'z') goto yy342;
6115 				goto yy222;
6116 			}
6117 		}
6118 	}
6119 yy341:
6120 	YYDEBUG(341, *YYCURSOR);
6121 	++YYCURSOR;
6122 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
6123 	yych = *YYCURSOR;
6124 yy342:
6125 	YYDEBUG(342, *YYCURSOR);
6126 	if (yych <= '@') {
6127 		if (yych <= '\'') {
6128 			if (yych <= '\t') {
6129 				if (yych <= 0x08) goto yy56;
6130 				goto yy341;
6131 			} else {
6132 				if (yych == ' ') goto yy341;
6133 				goto yy56;
6134 			}
6135 		} else {
6136 			if (yych <= '+') {
6137 				if (yych <= '(') goto yy233;
6138 				if (yych <= '*') goto yy56;
6139 				goto yy232;
6140 			} else {
6141 				if (yych == '-') goto yy232;
6142 				goto yy56;
6143 			}
6144 		}
6145 	} else {
6146 		if (yych <= 'Z') {
6147 			if (yych <= 'G') {
6148 				if (yych <= 'A') goto yy343;
6149 				if (yych <= 'F') goto yy234;
6150 				goto yy231;
6151 			} else {
6152 				if (yych != 'P') goto yy234;
6153 			}
6154 		} else {
6155 			if (yych <= 'o') {
6156 				if (yych <= '`') goto yy56;
6157 				if (yych <= 'a') goto yy344;
6158 				goto yy235;
6159 			} else {
6160 				if (yych <= 'p') goto yy344;
6161 				if (yych <= 'z') goto yy235;
6162 				goto yy56;
6163 			}
6164 		}
6165 	}
6166 yy343:
6167 	YYDEBUG(343, *YYCURSOR);
6168 	yyaccept = 7;
6169 	yych = *(YYMARKER = ++YYCURSOR);
6170 	if (yych <= 'L') {
6171 		if (yych <= '-') {
6172 			if (yych == ')') goto yy227;
6173 			goto yy222;
6174 		} else {
6175 			if (yych <= '.') goto yy285;
6176 			if (yych <= '@') goto yy222;
6177 			goto yy236;
6178 		}
6179 	} else {
6180 		if (yych <= '`') {
6181 			if (yych <= 'M') goto yy345;
6182 			if (yych <= 'Z') goto yy236;
6183 			goto yy222;
6184 		} else {
6185 			if (yych == 'm') goto yy346;
6186 			if (yych <= 'z') goto yy241;
6187 			goto yy222;
6188 		}
6189 	}
6190 yy344:
6191 	YYDEBUG(344, *YYCURSOR);
6192 	yyaccept = 7;
6193 	yych = *(YYMARKER = ++YYCURSOR);
6194 	if (yych <= 'L') {
6195 		if (yych <= '-') {
6196 			if (yych == ')') goto yy227;
6197 			goto yy222;
6198 		} else {
6199 			if (yych <= '.') goto yy285;
6200 			if (yych <= '@') goto yy222;
6201 			goto yy236;
6202 		}
6203 	} else {
6204 		if (yych <= '`') {
6205 			if (yych <= 'M') goto yy345;
6206 			if (yych <= 'Z') goto yy236;
6207 			goto yy222;
6208 		} else {
6209 			if (yych == 'm') goto yy345;
6210 			if (yych <= 'z') goto yy236;
6211 			goto yy222;
6212 		}
6213 	}
6214 yy345:
6215 	YYDEBUG(345, *YYCURSOR);
6216 	yyaccept = 7;
6217 	yych = *(YYMARKER = ++YYCURSOR);
6218 	if (yych <= ')') {
6219 		if (yych <= '\t') {
6220 			if (yych <= 0x00) goto yy277;
6221 			if (yych <= 0x08) goto yy222;
6222 			goto yy277;
6223 		} else {
6224 			if (yych == ' ') goto yy277;
6225 			if (yych <= '(') goto yy222;
6226 			goto yy227;
6227 		}
6228 	} else {
6229 		if (yych <= '@') {
6230 			if (yych == '.') goto yy287;
6231 			goto yy222;
6232 		} else {
6233 			if (yych <= 'Z') goto yy237;
6234 			if (yych <= '`') goto yy222;
6235 			if (yych <= 'z') goto yy237;
6236 			goto yy222;
6237 		}
6238 	}
6239 yy346:
6240 	YYDEBUG(346, *YYCURSOR);
6241 	yyaccept = 7;
6242 	yych = *(YYMARKER = ++YYCURSOR);
6243 	if (yych <= '-') {
6244 		if (yych <= 0x1F) {
6245 			if (yych <= 0x00) goto yy277;
6246 			if (yych == '\t') goto yy277;
6247 			goto yy222;
6248 		} else {
6249 			if (yych <= '(') {
6250 				if (yych <= ' ') goto yy277;
6251 				goto yy222;
6252 			} else {
6253 				if (yych <= ')') goto yy227;
6254 				if (yych <= ',') goto yy222;
6255 				goto yy243;
6256 			}
6257 		}
6258 	} else {
6259 		if (yych <= 'Z') {
6260 			if (yych <= '.') goto yy287;
6261 			if (yych <= '/') goto yy243;
6262 			if (yych <= '@') goto yy222;
6263 			goto yy237;
6264 		} else {
6265 			if (yych <= '_') {
6266 				if (yych <= '^') goto yy222;
6267 				goto yy243;
6268 			} else {
6269 				if (yych <= '`') goto yy222;
6270 				if (yych <= 'z') goto yy242;
6271 				goto yy222;
6272 			}
6273 		}
6274 	}
6275 yy347:
6276 	YYDEBUG(347, *YYCURSOR);
6277 	yyaccept = 6;
6278 	yych = *(YYMARKER = ++YYCURSOR);
6279 	if (yych <= '/') {
6280 		if (yych == '.') goto yy224;
6281 		goto yy198;
6282 	} else {
6283 		if (yych <= '9') goto yy288;
6284 		if (yych <= ':') goto yy224;
6285 		goto yy198;
6286 	}
6287 yy348:
6288 	YYDEBUG(348, *YYCURSOR);
6289 	yyaccept = 6;
6290 	yych = *(YYMARKER = ++YYCURSOR);
6291 	if (yych <= '/') {
6292 		if (yych != '.') goto yy198;
6293 	} else {
6294 		if (yych <= '9') goto yy288;
6295 		if (yych >= ';') goto yy198;
6296 	}
6297 yy349:
6298 	YYDEBUG(349, *YYCURSOR);
6299 	yych = *++YYCURSOR;
6300 	if (yych <= '/') goto yy56;
6301 	if (yych <= '5') goto yy350;
6302 	if (yych <= '6') goto yy351;
6303 	if (yych <= '9') goto yy223;
6304 	goto yy56;
6305 yy350:
6306 	YYDEBUG(350, *YYCURSOR);
6307 	yyaccept = 7;
6308 	yych = *(YYMARKER = ++YYCURSOR);
6309 	if (yych <= '/') {
6310 		if (yych == '.') goto yy224;
6311 		goto yy222;
6312 	} else {
6313 		if (yych <= '9') goto yy352;
6314 		if (yych <= ':') goto yy224;
6315 		goto yy222;
6316 	}
6317 yy351:
6318 	YYDEBUG(351, *YYCURSOR);
6319 	yyaccept = 7;
6320 	yych = *(YYMARKER = ++YYCURSOR);
6321 	if (yych <= '/') {
6322 		if (yych == '.') goto yy224;
6323 		goto yy222;
6324 	} else {
6325 		if (yych <= '0') goto yy228;
6326 		if (yych == ':') goto yy224;
6327 		goto yy222;
6328 	}
6329 yy352:
6330 	YYDEBUG(352, *YYCURSOR);
6331 	yyaccept = 7;
6332 	yych = *(YYMARKER = ++YYCURSOR);
6333 	if (yych <= ',') {
6334 		if (yych <= ' ') {
6335 			if (yych == '\t') goto yy230;
6336 			if (yych <= 0x1F) goto yy222;
6337 			goto yy230;
6338 		} else {
6339 			if (yych <= '(') {
6340 				if (yych <= '\'') goto yy222;
6341 				goto yy230;
6342 			} else {
6343 				if (yych == '+') goto yy230;
6344 				goto yy222;
6345 			}
6346 		}
6347 	} else {
6348 		if (yych <= ':') {
6349 			if (yych <= '-') goto yy230;
6350 			if (yych <= '.') goto yy224;
6351 			if (yych <= '9') goto yy222;
6352 			goto yy224;
6353 		} else {
6354 			if (yych <= 'Z') {
6355 				if (yych <= '@') goto yy222;
6356 				goto yy230;
6357 			} else {
6358 				if (yych <= '`') goto yy222;
6359 				if (yych <= 'z') goto yy230;
6360 				goto yy222;
6361 			}
6362 		}
6363 	}
6364 yy353:
6365 	YYDEBUG(353, *YYCURSOR);
6366 	yyaccept = 6;
6367 	yych = *(YYMARKER = ++YYCURSOR);
6368 	if (yych <= '/') {
6369 		if (yych == '.') goto yy337;
6370 		goto yy198;
6371 	} else {
6372 		if (yych <= '9') goto yy288;
6373 		if (yych <= ':') goto yy337;
6374 		goto yy198;
6375 	}
6376 yy354:
6377 	YYDEBUG(354, *YYCURSOR);
6378 	yyaccept = 6;
6379 	yych = *(YYMARKER = ++YYCURSOR);
6380 	if (yych <= '9') {
6381 		if (yych <= '/') {
6382 			if (yych == '.') goto yy299;
6383 			goto yy215;
6384 		} else {
6385 			if (yych <= '0') goto yy331;
6386 			if (yych <= '1') goto yy301;
6387 			if (yych <= '2') goto yy302;
6388 			goto yy296;
6389 		}
6390 	} else {
6391 		if (yych <= 'q') {
6392 			if (yych <= ':') goto yy263;
6393 			if (yych == 'n') goto yy211;
6394 			goto yy215;
6395 		} else {
6396 			if (yych <= 'r') goto yy212;
6397 			if (yych <= 's') goto yy210;
6398 			if (yych <= 't') goto yy213;
6399 			goto yy215;
6400 		}
6401 	}
6402 yy355:
6403 	YYDEBUG(355, *YYCURSOR);
6404 	yyaccept = 6;
6405 	yych = *(YYMARKER = ++YYCURSOR);
6406 	if (yych <= '9') {
6407 		if (yych <= '/') {
6408 			if (yych == '.') goto yy299;
6409 			goto yy215;
6410 		} else {
6411 			if (yych <= '0') goto yy331;
6412 			if (yych <= '1') goto yy301;
6413 			if (yych <= '2') goto yy302;
6414 			goto yy296;
6415 		}
6416 	} else {
6417 		if (yych <= 'q') {
6418 			if (yych <= ':') goto yy263;
6419 			if (yych == 'n') goto yy211;
6420 			goto yy215;
6421 		} else {
6422 			if (yych <= 'r') goto yy212;
6423 			if (yych <= 's') goto yy210;
6424 			if (yych <= 't') goto yy213;
6425 			goto yy215;
6426 		}
6427 	}
6428 yy356:
6429 	YYDEBUG(356, *YYCURSOR);
6430 	yyaccept = 6;
6431 	yych = *(YYMARKER = ++YYCURSOR);
6432 	if (yych <= 'm') {
6433 		if (yych <= '1') {
6434 			if (yych <= '/') goto yy215;
6435 			if (yych <= '0') goto yy359;
6436 			goto yy360;
6437 		} else {
6438 			if (yych <= '2') goto yy367;
6439 			if (yych <= '9') goto yy368;
6440 			goto yy215;
6441 		}
6442 	} else {
6443 		if (yych <= 'r') {
6444 			if (yych <= 'n') goto yy211;
6445 			if (yych <= 'q') goto yy215;
6446 			goto yy212;
6447 		} else {
6448 			if (yych <= 's') goto yy210;
6449 			if (yych <= 't') goto yy213;
6450 			goto yy215;
6451 		}
6452 	}
6453 yy357:
6454 	YYDEBUG(357, *YYCURSOR);
6455 	yyaccept = 6;
6456 	yych = *(YYMARKER = ++YYCURSOR);
6457 	if (yych <= 'm') {
6458 		if (yych <= '1') {
6459 			if (yych <= '/') goto yy215;
6460 			if (yych <= '0') goto yy359;
6461 			goto yy360;
6462 		} else {
6463 			if (yych <= '2') goto yy367;
6464 			if (yych <= '9') goto yy368;
6465 			goto yy215;
6466 		}
6467 	} else {
6468 		if (yych <= 'r') {
6469 			if (yych <= 'n') goto yy211;
6470 			if (yych <= 'q') goto yy215;
6471 			goto yy212;
6472 		} else {
6473 			if (yych <= 's') goto yy210;
6474 			if (yych <= 't') goto yy213;
6475 			goto yy215;
6476 		}
6477 	}
6478 yy358:
6479 	YYDEBUG(358, *YYCURSOR);
6480 	yyaccept = 6;
6481 	yych = *(YYMARKER = ++YYCURSOR);
6482 	if (yych <= 'm') {
6483 		if (yych <= '1') {
6484 			if (yych <= '/') goto yy215;
6485 			if (yych >= '1') goto yy360;
6486 		} else {
6487 			if (yych <= '2') goto yy208;
6488 			if (yych <= '9') goto yy209;
6489 			goto yy215;
6490 		}
6491 	} else {
6492 		if (yych <= 'r') {
6493 			if (yych <= 'n') goto yy211;
6494 			if (yych <= 'q') goto yy215;
6495 			goto yy212;
6496 		} else {
6497 			if (yych <= 's') goto yy210;
6498 			if (yych <= 't') goto yy213;
6499 			goto yy215;
6500 		}
6501 	}
6502 yy359:
6503 	YYDEBUG(359, *YYCURSOR);
6504 	yyaccept = 6;
6505 	yych = *(YYMARKER = ++YYCURSOR);
6506 	if (yych <= '9') {
6507 		if (yych <= '/') {
6508 			if (yych <= ',') goto yy215;
6509 			if (yych <= '-') goto yy361;
6510 			if (yych <= '.') goto yy330;
6511 			goto yy215;
6512 		} else {
6513 			if (yych <= '0') goto yy331;
6514 			if (yych <= '1') goto yy301;
6515 			if (yych <= '2') goto yy302;
6516 			goto yy296;
6517 		}
6518 	} else {
6519 		if (yych <= 'q') {
6520 			if (yych <= ':') goto yy220;
6521 			if (yych == 'n') goto yy211;
6522 			goto yy215;
6523 		} else {
6524 			if (yych <= 'r') goto yy212;
6525 			if (yych <= 's') goto yy210;
6526 			if (yych <= 't') goto yy213;
6527 			goto yy215;
6528 		}
6529 	}
6530 yy360:
6531 	YYDEBUG(360, *YYCURSOR);
6532 	yyaccept = 6;
6533 	yych = *(YYMARKER = ++YYCURSOR);
6534 	if (yych <= '9') {
6535 		if (yych <= '/') {
6536 			if (yych <= ',') goto yy215;
6537 			if (yych <= '-') goto yy361;
6538 			if (yych <= '.') goto yy299;
6539 			goto yy215;
6540 		} else {
6541 			if (yych <= '0') goto yy300;
6542 			if (yych <= '1') goto yy301;
6543 			if (yych <= '2') goto yy302;
6544 			goto yy296;
6545 		}
6546 	} else {
6547 		if (yych <= 'q') {
6548 			if (yych <= ':') goto yy263;
6549 			if (yych == 'n') goto yy211;
6550 			goto yy215;
6551 		} else {
6552 			if (yych <= 'r') goto yy212;
6553 			if (yych <= 's') goto yy210;
6554 			if (yych <= 't') goto yy213;
6555 			goto yy215;
6556 		}
6557 	}
6558 yy361:
6559 	YYDEBUG(361, *YYCURSOR);
6560 	yych = *++YYCURSOR;
6561 	if (yych <= '/') goto yy56;
6562 	if (yych >= ':') goto yy56;
6563 	YYDEBUG(362, *YYCURSOR);
6564 	++YYCURSOR;
6565 	if ((yych = *YYCURSOR) <= '/') goto yy363;
6566 	if (yych <= '9') goto yy364;
6567 yy363:
6568 	YYDEBUG(363, *YYCURSOR);
6569 #line 1472 "ext/date/lib/parse_date.re"
6570 	{
6571 		int length = 0;
6572 		DEBUG_OUTPUT("pgtextshort");
6573 		TIMELIB_INIT;
6574 		TIMELIB_HAVE_DATE();
6575 		s->time->m = timelib_get_month((char **) &ptr);
6576 		s->time->d = timelib_get_nr((char **) &ptr, 2);
6577 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
6578 		TIMELIB_PROCESS_YEAR(s->time->y, length);
6579 		TIMELIB_DEINIT;
6580 		return TIMELIB_PG_TEXT;
6581 	}
6582 #line 6583 "ext/date/lib/parse_date.c"
6583 yy364:
6584 	YYDEBUG(364, *YYCURSOR);
6585 	yych = *++YYCURSOR;
6586 	if (yych <= '/') goto yy363;
6587 	if (yych >= ':') goto yy363;
6588 	YYDEBUG(365, *YYCURSOR);
6589 	yych = *++YYCURSOR;
6590 	if (yych <= '/') goto yy363;
6591 	if (yych >= ':') goto yy363;
6592 	YYDEBUG(366, *YYCURSOR);
6593 	yych = *++YYCURSOR;
6594 	goto yy363;
6595 yy367:
6596 	YYDEBUG(367, *YYCURSOR);
6597 	yyaccept = 6;
6598 	yych = *(YYMARKER = ++YYCURSOR);
6599 	if (yych <= '9') {
6600 		if (yych <= '/') {
6601 			if (yych <= ',') goto yy215;
6602 			if (yych <= '-') goto yy361;
6603 			if (yych <= '.') goto yy299;
6604 			goto yy215;
6605 		} else {
6606 			if (yych <= '0') goto yy331;
6607 			if (yych <= '1') goto yy301;
6608 			if (yych <= '2') goto yy302;
6609 			goto yy296;
6610 		}
6611 	} else {
6612 		if (yych <= 'q') {
6613 			if (yych <= ':') goto yy263;
6614 			if (yych == 'n') goto yy211;
6615 			goto yy215;
6616 		} else {
6617 			if (yych <= 'r') goto yy212;
6618 			if (yych <= 's') goto yy210;
6619 			if (yych <= 't') goto yy213;
6620 			goto yy215;
6621 		}
6622 	}
6623 yy368:
6624 	YYDEBUG(368, *YYCURSOR);
6625 	yyaccept = 6;
6626 	yych = *(YYMARKER = ++YYCURSOR);
6627 	if (yych <= '9') {
6628 		if (yych <= '/') {
6629 			if (yych <= ',') goto yy215;
6630 			if (yych <= '-') goto yy361;
6631 			if (yych <= '.') goto yy299;
6632 			goto yy215;
6633 		} else {
6634 			if (yych <= '0') goto yy331;
6635 			if (yych <= '1') goto yy301;
6636 			if (yych <= '2') goto yy302;
6637 			goto yy296;
6638 		}
6639 	} else {
6640 		if (yych <= 'q') {
6641 			if (yych <= ':') goto yy263;
6642 			if (yych == 'n') goto yy211;
6643 			goto yy215;
6644 		} else {
6645 			if (yych <= 'r') goto yy212;
6646 			if (yych <= 's') goto yy210;
6647 			if (yych <= 't') goto yy213;
6648 			goto yy215;
6649 		}
6650 	}
6651 yy369:
6652 	YYDEBUG(369, *YYCURSOR);
6653 	yyaccept = 0;
6654 	yych = *(YYMARKER = ++YYCURSOR);
6655 	if (yych <= 'B') {
6656 		if (yych <= '-') {
6657 			if (yych == ')') goto yy139;
6658 			if (yych <= ',') goto yy3;
6659 			goto yy147;
6660 		} else {
6661 			if (yych == '/') goto yy147;
6662 			if (yych <= '@') goto yy3;
6663 			goto yy141;
6664 		}
6665 	} else {
6666 		if (yych <= '_') {
6667 			if (yych <= 'C') goto yy192;
6668 			if (yych <= 'Z') goto yy141;
6669 			if (yych <= '^') goto yy3;
6670 			goto yy147;
6671 		} else {
6672 			if (yych <= 'b') {
6673 				if (yych <= '`') goto yy3;
6674 				goto yy146;
6675 			} else {
6676 				if (yych <= 'c') goto yy370;
6677 				if (yych <= 'z') goto yy146;
6678 				goto yy3;
6679 			}
6680 		}
6681 	}
6682 yy370:
6683 	YYDEBUG(370, *YYCURSOR);
6684 	yyaccept = 5;
6685 	yych = *(YYMARKER = ++YYCURSOR);
6686 	if (yych <= '9') {
6687 		if (yych <= '(') {
6688 			if (yych <= '\t') {
6689 				if (yych <= 0x08) goto yy193;
6690 				goto yy195;
6691 			} else {
6692 				if (yych == ' ') goto yy195;
6693 				goto yy193;
6694 			}
6695 		} else {
6696 			if (yych <= '-') {
6697 				if (yych <= ')') goto yy139;
6698 				if (yych <= ',') goto yy193;
6699 			} else {
6700 				if (yych == '/') goto yy147;
6701 				goto yy195;
6702 			}
6703 		}
6704 	} else {
6705 		if (yych <= '^') {
6706 			if (yych <= 'D') {
6707 				if (yych <= '@') goto yy193;
6708 				goto yy142;
6709 			} else {
6710 				if (yych <= 'E') goto yy201;
6711 				if (yych <= 'Z') goto yy142;
6712 				goto yy193;
6713 			}
6714 		} else {
6715 			if (yych <= 'd') {
6716 				if (yych <= '_') goto yy147;
6717 				if (yych <= '`') goto yy193;
6718 				goto yy150;
6719 			} else {
6720 				if (yych <= 'e') goto yy372;
6721 				if (yych <= 'z') goto yy150;
6722 				goto yy193;
6723 			}
6724 		}
6725 	}
6726 yy371:
6727 	YYDEBUG(371, *YYCURSOR);
6728 	yych = *++YYCURSOR;
6729 	if (yybm[0+yych] & 8) {
6730 		goto yy148;
6731 	}
6732 	if (yych <= '/') goto yy195;
6733 	if (yych <= '0') goto yy356;
6734 	if (yych <= '2') goto yy357;
6735 	if (yych <= '3') goto yy358;
6736 	goto yy195;
6737 yy372:
6738 	YYDEBUG(372, *YYCURSOR);
6739 	yyaccept = 0;
6740 	yych = *(YYMARKER = ++YYCURSOR);
6741 	if (yych <= 'L') {
6742 		if (yych <= '-') {
6743 			if (yych == ')') goto yy139;
6744 			if (yych <= ',') goto yy3;
6745 			goto yy147;
6746 		} else {
6747 			if (yych == '/') goto yy147;
6748 			if (yych <= '@') goto yy3;
6749 			goto yy143;
6750 		}
6751 	} else {
6752 		if (yych <= '_') {
6753 			if (yych <= 'M') goto yy202;
6754 			if (yych <= 'Z') goto yy143;
6755 			if (yych <= '^') goto yy3;
6756 			goto yy147;
6757 		} else {
6758 			if (yych <= 'l') {
6759 				if (yych <= '`') goto yy3;
6760 				goto yy151;
6761 			} else {
6762 				if (yych <= 'm') goto yy373;
6763 				if (yych <= 'z') goto yy151;
6764 				goto yy3;
6765 			}
6766 		}
6767 	}
6768 yy373:
6769 	YYDEBUG(373, *YYCURSOR);
6770 	yyaccept = 0;
6771 	yych = *(YYMARKER = ++YYCURSOR);
6772 	if (yych <= 'A') {
6773 		if (yych <= '-') {
6774 			if (yych == ')') goto yy139;
6775 			if (yych <= ',') goto yy3;
6776 			goto yy147;
6777 		} else {
6778 			if (yych == '/') goto yy147;
6779 			if (yych <= '@') goto yy3;
6780 			goto yy144;
6781 		}
6782 	} else {
6783 		if (yych <= '_') {
6784 			if (yych <= 'B') goto yy203;
6785 			if (yych <= 'Z') goto yy144;
6786 			if (yych <= '^') goto yy3;
6787 			goto yy147;
6788 		} else {
6789 			if (yych <= 'a') {
6790 				if (yych <= '`') goto yy3;
6791 				goto yy152;
6792 			} else {
6793 				if (yych <= 'b') goto yy374;
6794 				if (yych <= 'z') goto yy152;
6795 				goto yy3;
6796 			}
6797 		}
6798 	}
6799 yy374:
6800 	YYDEBUG(374, *YYCURSOR);
6801 	yyaccept = 0;
6802 	yych = *(YYMARKER = ++YYCURSOR);
6803 	if (yych <= 'D') {
6804 		if (yych <= ',') {
6805 			if (yych == ')') goto yy139;
6806 			goto yy3;
6807 		} else {
6808 			if (yych == '.') goto yy3;
6809 			if (yych <= '/') goto yy147;
6810 			goto yy3;
6811 		}
6812 	} else {
6813 		if (yych <= '`') {
6814 			if (yych <= 'E') goto yy204;
6815 			if (yych == '_') goto yy147;
6816 			goto yy3;
6817 		} else {
6818 			if (yych == 'e') goto yy375;
6819 			if (yych <= 'z') goto yy153;
6820 			goto yy3;
6821 		}
6822 	}
6823 yy375:
6824 	YYDEBUG(375, *YYCURSOR);
6825 	yych = *++YYCURSOR;
6826 	if (yych == 'R') goto yy205;
6827 	if (yych != 'r') goto yy154;
6828 yy376:
6829 	YYDEBUG(376, *YYCURSOR);
6830 	yyaccept = 5;
6831 	yych = *(YYMARKER = ++YYCURSOR);
6832 	if (yybm[0+yych] & 16) {
6833 		goto yy153;
6834 	}
6835 	if (yych <= '-') {
6836 		if (yych <= 0x1F) {
6837 			if (yych == '\t') goto yy195;
6838 			goto yy193;
6839 		} else {
6840 			if (yych <= ' ') goto yy195;
6841 			if (yych <= ',') goto yy193;
6842 		}
6843 	} else {
6844 		if (yych <= '9') {
6845 			if (yych == '/') goto yy147;
6846 			goto yy195;
6847 		} else {
6848 			if (yych == '_') goto yy147;
6849 			goto yy193;
6850 		}
6851 	}
6852 yy377:
6853 	YYDEBUG(377, *YYCURSOR);
6854 	yych = *++YYCURSOR;
6855 	if (yybm[0+yych] & 8) {
6856 		goto yy148;
6857 	}
6858 	goto yy195;
6859 yy378:
6860 	YYDEBUG(378, *YYCURSOR);
6861 	yych = *++YYCURSOR;
6862 	if (yych <= 'T') {
6863 		if (yych <= ')') {
6864 			if (yych <= '(') goto yy3;
6865 			goto yy139;
6866 		} else {
6867 			if (yych <= '@') goto yy3;
6868 			if (yych <= 'S') goto yy141;
6869 		}
6870 	} else {
6871 		if (yych <= 's') {
6872 			if (yych <= 'Z') goto yy141;
6873 			if (yych <= '`') goto yy3;
6874 			goto yy141;
6875 		} else {
6876 			if (yych <= 't') goto yy379;
6877 			if (yych <= 'z') goto yy141;
6878 			goto yy3;
6879 		}
6880 	}
6881 yy379:
6882 	YYDEBUG(379, *YYCURSOR);
6883 	yyaccept = 5;
6884 	yych = *(YYMARKER = ++YYCURSOR);
6885 	if (yych <= '/') {
6886 		if (yych <= '(') {
6887 			if (yych <= '\t') {
6888 				if (yych <= 0x08) goto yy193;
6889 				goto yy195;
6890 			} else {
6891 				if (yych == ' ') goto yy195;
6892 				goto yy193;
6893 			}
6894 		} else {
6895 			if (yych <= ',') {
6896 				if (yych <= ')') goto yy139;
6897 				goto yy193;
6898 			} else {
6899 				if (yych <= '-') goto yy196;
6900 				if (yych <= '.') goto yy195;
6901 				goto yy193;
6902 			}
6903 		}
6904 	} else {
6905 		if (yych <= 'Z') {
6906 			if (yych <= '@') {
6907 				if (yych <= '9') goto yy195;
6908 				goto yy193;
6909 			} else {
6910 				if (yych != 'O') goto yy142;
6911 			}
6912 		} else {
6913 			if (yych <= 'n') {
6914 				if (yych <= '`') goto yy193;
6915 				goto yy142;
6916 			} else {
6917 				if (yych <= 'o') goto yy380;
6918 				if (yych <= 'z') goto yy142;
6919 				goto yy193;
6920 			}
6921 		}
6922 	}
6923 yy380:
6924 	YYDEBUG(380, *YYCURSOR);
6925 	yych = *++YYCURSOR;
6926 	if (yych <= 'B') {
6927 		if (yych <= ')') {
6928 			if (yych <= '(') goto yy3;
6929 			goto yy139;
6930 		} else {
6931 			if (yych <= '@') goto yy3;
6932 			if (yych <= 'A') goto yy143;
6933 		}
6934 	} else {
6935 		if (yych <= 'a') {
6936 			if (yych <= 'Z') goto yy143;
6937 			if (yych <= '`') goto yy3;
6938 			goto yy143;
6939 		} else {
6940 			if (yych <= 'b') goto yy381;
6941 			if (yych <= 'z') goto yy143;
6942 			goto yy3;
6943 		}
6944 	}
6945 yy381:
6946 	YYDEBUG(381, *YYCURSOR);
6947 	yych = *++YYCURSOR;
6948 	if (yych <= 'E') {
6949 		if (yych <= ')') {
6950 			if (yych <= '(') goto yy3;
6951 			goto yy139;
6952 		} else {
6953 			if (yych <= '@') goto yy3;
6954 			if (yych <= 'D') goto yy144;
6955 		}
6956 	} else {
6957 		if (yych <= 'd') {
6958 			if (yych <= 'Z') goto yy144;
6959 			if (yych <= '`') goto yy3;
6960 			goto yy144;
6961 		} else {
6962 			if (yych <= 'e') goto yy382;
6963 			if (yych <= 'z') goto yy144;
6964 			goto yy3;
6965 		}
6966 	}
6967 yy382:
6968 	YYDEBUG(382, *YYCURSOR);
6969 	yych = *++YYCURSOR;
6970 	if (yych <= 'Q') {
6971 		if (yych == ')') goto yy139;
6972 		goto yy3;
6973 	} else {
6974 		if (yych <= 'R') goto yy205;
6975 		if (yych == 'r') goto yy205;
6976 		goto yy3;
6977 	}
6978 yy383:
6979 	YYDEBUG(383, *YYCURSOR);
6980 	yyaccept = 0;
6981 	yych = *(YYMARKER = ++YYCURSOR);
6982 	if (yych <= 'S') {
6983 		if (yych <= '-') {
6984 			if (yych == ')') goto yy139;
6985 			if (yych <= ',') goto yy3;
6986 			goto yy147;
6987 		} else {
6988 			if (yych == '/') goto yy147;
6989 			if (yych <= '@') goto yy3;
6990 			goto yy141;
6991 		}
6992 	} else {
6993 		if (yych <= '_') {
6994 			if (yych <= 'T') goto yy379;
6995 			if (yych <= 'Z') goto yy141;
6996 			if (yych <= '^') goto yy3;
6997 			goto yy147;
6998 		} else {
6999 			if (yych <= 's') {
7000 				if (yych <= '`') goto yy3;
7001 				goto yy146;
7002 			} else {
7003 				if (yych <= 't') goto yy384;
7004 				if (yych <= 'z') goto yy146;
7005 				goto yy3;
7006 			}
7007 		}
7008 	}
7009 yy384:
7010 	YYDEBUG(384, *YYCURSOR);
7011 	yyaccept = 5;
7012 	yych = *(YYMARKER = ++YYCURSOR);
7013 	if (yych <= '9') {
7014 		if (yych <= '(') {
7015 			if (yych <= '\t') {
7016 				if (yych <= 0x08) goto yy193;
7017 				goto yy195;
7018 			} else {
7019 				if (yych == ' ') goto yy195;
7020 				goto yy193;
7021 			}
7022 		} else {
7023 			if (yych <= '-') {
7024 				if (yych <= ')') goto yy139;
7025 				if (yych <= ',') goto yy193;
7026 				goto yy371;
7027 			} else {
7028 				if (yych == '/') goto yy147;
7029 				goto yy195;
7030 			}
7031 		}
7032 	} else {
7033 		if (yych <= '^') {
7034 			if (yych <= 'N') {
7035 				if (yych <= '@') goto yy193;
7036 				goto yy142;
7037 			} else {
7038 				if (yych <= 'O') goto yy380;
7039 				if (yych <= 'Z') goto yy142;
7040 				goto yy193;
7041 			}
7042 		} else {
7043 			if (yych <= 'n') {
7044 				if (yych <= '_') goto yy147;
7045 				if (yych <= '`') goto yy193;
7046 				goto yy150;
7047 			} else {
7048 				if (yych <= 'o') goto yy385;
7049 				if (yych <= 'z') goto yy150;
7050 				goto yy193;
7051 			}
7052 		}
7053 	}
7054 yy385:
7055 	YYDEBUG(385, *YYCURSOR);
7056 	yyaccept = 0;
7057 	yych = *(YYMARKER = ++YYCURSOR);
7058 	if (yych <= 'A') {
7059 		if (yych <= '-') {
7060 			if (yych == ')') goto yy139;
7061 			if (yych <= ',') goto yy3;
7062 			goto yy147;
7063 		} else {
7064 			if (yych == '/') goto yy147;
7065 			if (yych <= '@') goto yy3;
7066 			goto yy143;
7067 		}
7068 	} else {
7069 		if (yych <= '_') {
7070 			if (yych <= 'B') goto yy381;
7071 			if (yych <= 'Z') goto yy143;
7072 			if (yych <= '^') goto yy3;
7073 			goto yy147;
7074 		} else {
7075 			if (yych <= 'a') {
7076 				if (yych <= '`') goto yy3;
7077 				goto yy151;
7078 			} else {
7079 				if (yych <= 'b') goto yy386;
7080 				if (yych <= 'z') goto yy151;
7081 				goto yy3;
7082 			}
7083 		}
7084 	}
7085 yy386:
7086 	YYDEBUG(386, *YYCURSOR);
7087 	yyaccept = 0;
7088 	yych = *(YYMARKER = ++YYCURSOR);
7089 	if (yych <= 'D') {
7090 		if (yych <= '-') {
7091 			if (yych == ')') goto yy139;
7092 			if (yych <= ',') goto yy3;
7093 			goto yy147;
7094 		} else {
7095 			if (yych == '/') goto yy147;
7096 			if (yych <= '@') goto yy3;
7097 			goto yy144;
7098 		}
7099 	} else {
7100 		if (yych <= '_') {
7101 			if (yych <= 'E') goto yy382;
7102 			if (yych <= 'Z') goto yy144;
7103 			if (yych <= '^') goto yy3;
7104 			goto yy147;
7105 		} else {
7106 			if (yych <= 'd') {
7107 				if (yych <= '`') goto yy3;
7108 				goto yy152;
7109 			} else {
7110 				if (yych <= 'e') goto yy387;
7111 				if (yych <= 'z') goto yy152;
7112 				goto yy3;
7113 			}
7114 		}
7115 	}
7116 yy387:
7117 	YYDEBUG(387, *YYCURSOR);
7118 	yyaccept = 0;
7119 	yych = *(YYMARKER = ++YYCURSOR);
7120 	if (yych <= 'Q') {
7121 		if (yych <= ',') {
7122 			if (yych == ')') goto yy139;
7123 			goto yy3;
7124 		} else {
7125 			if (yych == '.') goto yy3;
7126 			if (yych <= '/') goto yy147;
7127 			goto yy3;
7128 		}
7129 	} else {
7130 		if (yych <= '`') {
7131 			if (yych <= 'R') goto yy205;
7132 			if (yych == '_') goto yy147;
7133 			goto yy3;
7134 		} else {
7135 			if (yych == 'r') goto yy376;
7136 			if (yych <= 'z') goto yy153;
7137 			goto yy3;
7138 		}
7139 	}
7140 yy388:
7141 	YYDEBUG(388, *YYCURSOR);
7142 	yych = *++YYCURSOR;
7143 	if (yych <= 'G') {
7144 		if (yych <= ')') {
7145 			if (yych <= '(') goto yy3;
7146 			goto yy139;
7147 		} else {
7148 			if (yych <= '@') goto yy3;
7149 			if (yych <= 'F') goto yy141;
7150 			goto yy396;
7151 		}
7152 	} else {
7153 		if (yych <= 'f') {
7154 			if (yych <= 'Z') goto yy141;
7155 			if (yych <= '`') goto yy3;
7156 			goto yy141;
7157 		} else {
7158 			if (yych <= 'g') goto yy396;
7159 			if (yych <= 'z') goto yy141;
7160 			goto yy3;
7161 		}
7162 	}
7163 yy389:
7164 	YYDEBUG(389, *YYCURSOR);
7165 	yych = *++YYCURSOR;
7166 	if (yych <= 'R') {
7167 		if (yych <= ')') {
7168 			if (yych <= '(') goto yy3;
7169 			goto yy139;
7170 		} else {
7171 			if (yych <= '@') goto yy3;
7172 			if (yych <= 'Q') goto yy141;
7173 			goto yy393;
7174 		}
7175 	} else {
7176 		if (yych <= 'q') {
7177 			if (yych <= 'Z') goto yy141;
7178 			if (yych <= '`') goto yy3;
7179 			goto yy141;
7180 		} else {
7181 			if (yych <= 'r') goto yy393;
7182 			if (yych <= 'z') goto yy141;
7183 			goto yy3;
7184 		}
7185 	}
7186 yy390:
7187 	YYDEBUG(390, *YYCURSOR);
7188 	yych = *++YYCURSOR;
7189 	if (yych <= 'O') {
7190 		if (yych <= ')') {
7191 			if (yych <= '(') goto yy3;
7192 			goto yy139;
7193 		} else {
7194 			if (yych <= '@') goto yy3;
7195 			if (yych <= 'N') goto yy141;
7196 		}
7197 	} else {
7198 		if (yych <= 'n') {
7199 			if (yych <= 'Z') goto yy141;
7200 			if (yych <= '`') goto yy3;
7201 			goto yy141;
7202 		} else {
7203 			if (yych <= 'o') goto yy391;
7204 			if (yych <= 'z') goto yy141;
7205 			goto yy3;
7206 		}
7207 	}
7208 yy391:
7209 	YYDEBUG(391, *YYCURSOR);
7210 	++YYCURSOR;
7211 	if ((yych = *YYCURSOR) <= '@') {
7212 		if (yych == ')') goto yy139;
7213 	} else {
7214 		if (yych <= 'Z') goto yy142;
7215 		if (yych <= '`') goto yy392;
7216 		if (yych <= 'z') goto yy142;
7217 	}
7218 yy392:
7219 	YYDEBUG(392, *YYCURSOR);
7220 #line 1530 "ext/date/lib/parse_date.re"
7221 	{
7222 		DEBUG_OUTPUT("ago");
7223 		TIMELIB_INIT;
7224 		s->time->relative.y = 0 - s->time->relative.y;
7225 		s->time->relative.m = 0 - s->time->relative.m;
7226 		s->time->relative.d = 0 - s->time->relative.d;
7227 		s->time->relative.h = 0 - s->time->relative.h;
7228 		s->time->relative.i = 0 - s->time->relative.i;
7229 		s->time->relative.s = 0 - s->time->relative.s;
7230 		s->time->relative.weekday = 0 - s->time->relative.weekday;
7231 		if (s->time->relative.weekday == 0) {
7232 			s->time->relative.weekday = -7;
7233 		}
7234 		if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
7235 			s->time->relative.special.amount = 0 - s->time->relative.special.amount;
7236 		}
7237 		TIMELIB_DEINIT;
7238 		return TIMELIB_AGO;
7239 	}
7240 #line 7241 "ext/date/lib/parse_date.c"
7241 yy393:
7242 	YYDEBUG(393, *YYCURSOR);
7243 	yyaccept = 5;
7244 	yych = *(YYMARKER = ++YYCURSOR);
7245 	if (yych <= '/') {
7246 		if (yych <= '(') {
7247 			if (yych <= '\t') {
7248 				if (yych <= 0x08) goto yy193;
7249 				goto yy195;
7250 			} else {
7251 				if (yych == ' ') goto yy195;
7252 				goto yy193;
7253 			}
7254 		} else {
7255 			if (yych <= ',') {
7256 				if (yych <= ')') goto yy139;
7257 				goto yy193;
7258 			} else {
7259 				if (yych <= '-') goto yy196;
7260 				if (yych <= '.') goto yy195;
7261 				goto yy193;
7262 			}
7263 		}
7264 	} else {
7265 		if (yych <= 'Z') {
7266 			if (yych <= '@') {
7267 				if (yych <= '9') goto yy195;
7268 				goto yy193;
7269 			} else {
7270 				if (yych != 'I') goto yy142;
7271 			}
7272 		} else {
7273 			if (yych <= 'h') {
7274 				if (yych <= '`') goto yy193;
7275 				goto yy142;
7276 			} else {
7277 				if (yych <= 'i') goto yy394;
7278 				if (yych <= 'z') goto yy142;
7279 				goto yy193;
7280 			}
7281 		}
7282 	}
7283 yy394:
7284 	YYDEBUG(394, *YYCURSOR);
7285 	yych = *++YYCURSOR;
7286 	if (yych <= 'L') {
7287 		if (yych <= ')') {
7288 			if (yych <= '(') goto yy3;
7289 			goto yy139;
7290 		} else {
7291 			if (yych <= '@') goto yy3;
7292 			if (yych <= 'K') goto yy143;
7293 		}
7294 	} else {
7295 		if (yych <= 'k') {
7296 			if (yych <= 'Z') goto yy143;
7297 			if (yych <= '`') goto yy3;
7298 			goto yy143;
7299 		} else {
7300 			if (yych <= 'l') goto yy395;
7301 			if (yych <= 'z') goto yy143;
7302 			goto yy3;
7303 		}
7304 	}
7305 yy395:
7306 	YYDEBUG(395, *YYCURSOR);
7307 	yyaccept = 5;
7308 	yych = *(YYMARKER = ++YYCURSOR);
7309 	if (yych <= ',') {
7310 		if (yych <= 0x1F) {
7311 			if (yych == '\t') goto yy195;
7312 			goto yy193;
7313 		} else {
7314 			if (yych <= ' ') goto yy195;
7315 			if (yych == ')') goto yy139;
7316 			goto yy193;
7317 		}
7318 	} else {
7319 		if (yych <= '@') {
7320 			if (yych == '/') goto yy193;
7321 			if (yych <= '9') goto yy195;
7322 			goto yy193;
7323 		} else {
7324 			if (yych <= 'Z') goto yy144;
7325 			if (yych <= '`') goto yy193;
7326 			if (yych <= 'z') goto yy144;
7327 			goto yy193;
7328 		}
7329 	}
7330 yy396:
7331 	YYDEBUG(396, *YYCURSOR);
7332 	yyaccept = 5;
7333 	yych = *(YYMARKER = ++YYCURSOR);
7334 	if (yych <= '/') {
7335 		if (yych <= '(') {
7336 			if (yych <= '\t') {
7337 				if (yych <= 0x08) goto yy193;
7338 				goto yy195;
7339 			} else {
7340 				if (yych == ' ') goto yy195;
7341 				goto yy193;
7342 			}
7343 		} else {
7344 			if (yych <= ',') {
7345 				if (yych <= ')') goto yy139;
7346 				goto yy193;
7347 			} else {
7348 				if (yych <= '-') goto yy196;
7349 				if (yych <= '.') goto yy195;
7350 				goto yy193;
7351 			}
7352 		}
7353 	} else {
7354 		if (yych <= 'Z') {
7355 			if (yych <= '@') {
7356 				if (yych <= '9') goto yy195;
7357 				goto yy193;
7358 			} else {
7359 				if (yych != 'U') goto yy142;
7360 			}
7361 		} else {
7362 			if (yych <= 't') {
7363 				if (yych <= '`') goto yy193;
7364 				goto yy142;
7365 			} else {
7366 				if (yych <= 'u') goto yy397;
7367 				if (yych <= 'z') goto yy142;
7368 				goto yy193;
7369 			}
7370 		}
7371 	}
7372 yy397:
7373 	YYDEBUG(397, *YYCURSOR);
7374 	yych = *++YYCURSOR;
7375 	if (yych <= 'S') {
7376 		if (yych <= ')') {
7377 			if (yych <= '(') goto yy3;
7378 			goto yy139;
7379 		} else {
7380 			if (yych <= '@') goto yy3;
7381 			if (yych <= 'R') goto yy143;
7382 		}
7383 	} else {
7384 		if (yych <= 'r') {
7385 			if (yych <= 'Z') goto yy143;
7386 			if (yych <= '`') goto yy3;
7387 			goto yy143;
7388 		} else {
7389 			if (yych <= 's') goto yy398;
7390 			if (yych <= 'z') goto yy143;
7391 			goto yy3;
7392 		}
7393 	}
7394 yy398:
7395 	YYDEBUG(398, *YYCURSOR);
7396 	yych = *++YYCURSOR;
7397 	if (yych <= 'T') {
7398 		if (yych <= ')') {
7399 			if (yych <= '(') goto yy3;
7400 			goto yy139;
7401 		} else {
7402 			if (yych <= '@') goto yy3;
7403 			if (yych <= 'S') goto yy144;
7404 		}
7405 	} else {
7406 		if (yych <= 's') {
7407 			if (yych <= 'Z') goto yy144;
7408 			if (yych <= '`') goto yy3;
7409 			goto yy144;
7410 		} else {
7411 			if (yych <= 't') goto yy399;
7412 			if (yych <= 'z') goto yy144;
7413 			goto yy3;
7414 		}
7415 	}
7416 yy399:
7417 	YYDEBUG(399, *YYCURSOR);
7418 	yyaccept = 5;
7419 	yych = *(YYMARKER = ++YYCURSOR);
7420 	if (yych <= '(') {
7421 		if (yych <= '\t') {
7422 			if (yych <= 0x08) goto yy193;
7423 			goto yy195;
7424 		} else {
7425 			if (yych == ' ') goto yy195;
7426 			goto yy193;
7427 		}
7428 	} else {
7429 		if (yych <= '.') {
7430 			if (yych <= ')') goto yy139;
7431 			if (yych <= ',') goto yy193;
7432 			goto yy195;
7433 		} else {
7434 			if (yych <= '/') goto yy193;
7435 			if (yych <= '9') goto yy195;
7436 			goto yy193;
7437 		}
7438 	}
7439 yy400:
7440 	YYDEBUG(400, *YYCURSOR);
7441 	yyaccept = 0;
7442 	yych = *(YYMARKER = ++YYCURSOR);
7443 	if (yych <= 'F') {
7444 		if (yych <= '-') {
7445 			if (yych == ')') goto yy139;
7446 			if (yych <= ',') goto yy3;
7447 			goto yy147;
7448 		} else {
7449 			if (yych == '/') goto yy147;
7450 			if (yych <= '@') goto yy3;
7451 			goto yy141;
7452 		}
7453 	} else {
7454 		if (yych <= '_') {
7455 			if (yych <= 'G') goto yy396;
7456 			if (yych <= 'Z') goto yy141;
7457 			if (yych <= '^') goto yy3;
7458 			goto yy147;
7459 		} else {
7460 			if (yych <= 'f') {
7461 				if (yych <= '`') goto yy3;
7462 				goto yy146;
7463 			} else {
7464 				if (yych <= 'g') goto yy407;
7465 				if (yych <= 'z') goto yy146;
7466 				goto yy3;
7467 			}
7468 		}
7469 	}
7470 yy401:
7471 	YYDEBUG(401, *YYCURSOR);
7472 	yyaccept = 0;
7473 	yych = *(YYMARKER = ++YYCURSOR);
7474 	if (yych <= 'Q') {
7475 		if (yych <= '-') {
7476 			if (yych == ')') goto yy139;
7477 			if (yych <= ',') goto yy3;
7478 			goto yy147;
7479 		} else {
7480 			if (yych == '/') goto yy147;
7481 			if (yych <= '@') goto yy3;
7482 			goto yy141;
7483 		}
7484 	} else {
7485 		if (yych <= '_') {
7486 			if (yych <= 'R') goto yy393;
7487 			if (yych <= 'Z') goto yy141;
7488 			if (yych <= '^') goto yy3;
7489 			goto yy147;
7490 		} else {
7491 			if (yych <= 'q') {
7492 				if (yych <= '`') goto yy3;
7493 				goto yy146;
7494 			} else {
7495 				if (yych <= 'r') goto yy404;
7496 				if (yych <= 'z') goto yy146;
7497 				goto yy3;
7498 			}
7499 		}
7500 	}
7501 yy402:
7502 	YYDEBUG(402, *YYCURSOR);
7503 	yyaccept = 0;
7504 	yych = *(YYMARKER = ++YYCURSOR);
7505 	if (yych <= 'N') {
7506 		if (yych <= '-') {
7507 			if (yych == ')') goto yy139;
7508 			if (yych <= ',') goto yy3;
7509 			goto yy147;
7510 		} else {
7511 			if (yych == '/') goto yy147;
7512 			if (yych <= '@') goto yy3;
7513 			goto yy141;
7514 		}
7515 	} else {
7516 		if (yych <= '_') {
7517 			if (yych <= 'O') goto yy391;
7518 			if (yych <= 'Z') goto yy141;
7519 			if (yych <= '^') goto yy3;
7520 			goto yy147;
7521 		} else {
7522 			if (yych <= 'n') {
7523 				if (yych <= '`') goto yy3;
7524 				goto yy146;
7525 			} else {
7526 				if (yych <= 'o') goto yy403;
7527 				if (yych <= 'z') goto yy146;
7528 				goto yy3;
7529 			}
7530 		}
7531 	}
7532 yy403:
7533 	YYDEBUG(403, *YYCURSOR);
7534 	yyaccept = 9;
7535 	yych = *(YYMARKER = ++YYCURSOR);
7536 	if (yych <= '/') {
7537 		if (yych <= ',') {
7538 			if (yych == ')') goto yy139;
7539 			goto yy392;
7540 		} else {
7541 			if (yych == '.') goto yy392;
7542 			goto yy147;
7543 		}
7544 	} else {
7545 		if (yych <= '^') {
7546 			if (yych <= '@') goto yy392;
7547 			if (yych <= 'Z') goto yy142;
7548 			goto yy392;
7549 		} else {
7550 			if (yych <= '_') goto yy147;
7551 			if (yych <= '`') goto yy392;
7552 			if (yych <= 'z') goto yy150;
7553 			goto yy392;
7554 		}
7555 	}
7556 yy404:
7557 	YYDEBUG(404, *YYCURSOR);
7558 	yyaccept = 5;
7559 	yych = *(YYMARKER = ++YYCURSOR);
7560 	if (yych <= '9') {
7561 		if (yych <= '(') {
7562 			if (yych <= '\t') {
7563 				if (yych <= 0x08) goto yy193;
7564 				goto yy195;
7565 			} else {
7566 				if (yych == ' ') goto yy195;
7567 				goto yy193;
7568 			}
7569 		} else {
7570 			if (yych <= '-') {
7571 				if (yych <= ')') goto yy139;
7572 				if (yych <= ',') goto yy193;
7573 				goto yy371;
7574 			} else {
7575 				if (yych == '/') goto yy147;
7576 				goto yy195;
7577 			}
7578 		}
7579 	} else {
7580 		if (yych <= '^') {
7581 			if (yych <= 'H') {
7582 				if (yych <= '@') goto yy193;
7583 				goto yy142;
7584 			} else {
7585 				if (yych <= 'I') goto yy394;
7586 				if (yych <= 'Z') goto yy142;
7587 				goto yy193;
7588 			}
7589 		} else {
7590 			if (yych <= 'h') {
7591 				if (yych <= '_') goto yy147;
7592 				if (yych <= '`') goto yy193;
7593 				goto yy150;
7594 			} else {
7595 				if (yych <= 'i') goto yy405;
7596 				if (yych <= 'z') goto yy150;
7597 				goto yy193;
7598 			}
7599 		}
7600 	}
7601 yy405:
7602 	YYDEBUG(405, *YYCURSOR);
7603 	yyaccept = 0;
7604 	yych = *(YYMARKER = ++YYCURSOR);
7605 	if (yych <= 'K') {
7606 		if (yych <= '-') {
7607 			if (yych == ')') goto yy139;
7608 			if (yych <= ',') goto yy3;
7609 			goto yy147;
7610 		} else {
7611 			if (yych == '/') goto yy147;
7612 			if (yych <= '@') goto yy3;
7613 			goto yy143;
7614 		}
7615 	} else {
7616 		if (yych <= '_') {
7617 			if (yych <= 'L') goto yy395;
7618 			if (yych <= 'Z') goto yy143;
7619 			if (yych <= '^') goto yy3;
7620 			goto yy147;
7621 		} else {
7622 			if (yych <= 'k') {
7623 				if (yych <= '`') goto yy3;
7624 				goto yy151;
7625 			} else {
7626 				if (yych <= 'l') goto yy406;
7627 				if (yych <= 'z') goto yy151;
7628 				goto yy3;
7629 			}
7630 		}
7631 	}
7632 yy406:
7633 	YYDEBUG(406, *YYCURSOR);
7634 	yyaccept = 5;
7635 	yych = *(YYMARKER = ++YYCURSOR);
7636 	if (yych <= '.') {
7637 		if (yych <= ' ') {
7638 			if (yych == '\t') goto yy195;
7639 			if (yych <= 0x1F) goto yy193;
7640 			goto yy195;
7641 		} else {
7642 			if (yych <= ')') {
7643 				if (yych <= '(') goto yy193;
7644 				goto yy139;
7645 			} else {
7646 				if (yych <= ',') goto yy193;
7647 				if (yych <= '-') goto yy377;
7648 				goto yy195;
7649 			}
7650 		}
7651 	} else {
7652 		if (yych <= 'Z') {
7653 			if (yych <= '/') goto yy147;
7654 			if (yych <= '9') goto yy195;
7655 			if (yych <= '@') goto yy193;
7656 			goto yy144;
7657 		} else {
7658 			if (yych <= '_') {
7659 				if (yych <= '^') goto yy193;
7660 				goto yy147;
7661 			} else {
7662 				if (yych <= '`') goto yy193;
7663 				if (yych <= 'z') goto yy152;
7664 				goto yy193;
7665 			}
7666 		}
7667 	}
7668 yy407:
7669 	YYDEBUG(407, *YYCURSOR);
7670 	yyaccept = 5;
7671 	yych = *(YYMARKER = ++YYCURSOR);
7672 	if (yych <= '9') {
7673 		if (yych <= '(') {
7674 			if (yych <= '\t') {
7675 				if (yych <= 0x08) goto yy193;
7676 				goto yy195;
7677 			} else {
7678 				if (yych == ' ') goto yy195;
7679 				goto yy193;
7680 			}
7681 		} else {
7682 			if (yych <= '-') {
7683 				if (yych <= ')') goto yy139;
7684 				if (yych <= ',') goto yy193;
7685 				goto yy371;
7686 			} else {
7687 				if (yych == '/') goto yy147;
7688 				goto yy195;
7689 			}
7690 		}
7691 	} else {
7692 		if (yych <= '^') {
7693 			if (yych <= 'T') {
7694 				if (yych <= '@') goto yy193;
7695 				goto yy142;
7696 			} else {
7697 				if (yych <= 'U') goto yy397;
7698 				if (yych <= 'Z') goto yy142;
7699 				goto yy193;
7700 			}
7701 		} else {
7702 			if (yych <= 't') {
7703 				if (yych <= '_') goto yy147;
7704 				if (yych <= '`') goto yy193;
7705 				goto yy150;
7706 			} else {
7707 				if (yych <= 'u') goto yy408;
7708 				if (yych <= 'z') goto yy150;
7709 				goto yy193;
7710 			}
7711 		}
7712 	}
7713 yy408:
7714 	YYDEBUG(408, *YYCURSOR);
7715 	yyaccept = 0;
7716 	yych = *(YYMARKER = ++YYCURSOR);
7717 	if (yych <= 'R') {
7718 		if (yych <= '-') {
7719 			if (yych == ')') goto yy139;
7720 			if (yych <= ',') goto yy3;
7721 			goto yy147;
7722 		} else {
7723 			if (yych == '/') goto yy147;
7724 			if (yych <= '@') goto yy3;
7725 			goto yy143;
7726 		}
7727 	} else {
7728 		if (yych <= '_') {
7729 			if (yych <= 'S') goto yy398;
7730 			if (yych <= 'Z') goto yy143;
7731 			if (yych <= '^') goto yy3;
7732 			goto yy147;
7733 		} else {
7734 			if (yych <= 'r') {
7735 				if (yych <= '`') goto yy3;
7736 				goto yy151;
7737 			} else {
7738 				if (yych <= 's') goto yy409;
7739 				if (yych <= 'z') goto yy151;
7740 				goto yy3;
7741 			}
7742 		}
7743 	}
7744 yy409:
7745 	YYDEBUG(409, *YYCURSOR);
7746 	yyaccept = 0;
7747 	yych = *(YYMARKER = ++YYCURSOR);
7748 	if (yych <= 'S') {
7749 		if (yych <= '-') {
7750 			if (yych == ')') goto yy139;
7751 			if (yych <= ',') goto yy3;
7752 			goto yy147;
7753 		} else {
7754 			if (yych == '/') goto yy147;
7755 			if (yych <= '@') goto yy3;
7756 			goto yy144;
7757 		}
7758 	} else {
7759 		if (yych <= '_') {
7760 			if (yych <= 'T') goto yy399;
7761 			if (yych <= 'Z') goto yy144;
7762 			if (yych <= '^') goto yy3;
7763 			goto yy147;
7764 		} else {
7765 			if (yych <= 's') {
7766 				if (yych <= '`') goto yy3;
7767 				goto yy152;
7768 			} else {
7769 				if (yych <= 't') goto yy410;
7770 				if (yych <= 'z') goto yy152;
7771 				goto yy3;
7772 			}
7773 		}
7774 	}
7775 yy410:
7776 	YYDEBUG(410, *YYCURSOR);
7777 	yyaccept = 5;
7778 	yych = *(YYMARKER = ++YYCURSOR);
7779 	if (yybm[0+yych] & 16) {
7780 		goto yy153;
7781 	}
7782 	if (yych <= ',') {
7783 		if (yych <= 0x1F) {
7784 			if (yych == '\t') goto yy195;
7785 			goto yy193;
7786 		} else {
7787 			if (yych <= ' ') goto yy195;
7788 			if (yych == ')') goto yy139;
7789 			goto yy193;
7790 		}
7791 	} else {
7792 		if (yych <= '/') {
7793 			if (yych <= '-') goto yy377;
7794 			if (yych <= '.') goto yy195;
7795 			goto yy147;
7796 		} else {
7797 			if (yych <= '9') goto yy195;
7798 			if (yych == '_') goto yy147;
7799 			goto yy193;
7800 		}
7801 	}
7802 yy411:
7803 	YYDEBUG(411, *YYCURSOR);
7804 	yych = *++YYCURSOR;
7805 	if (yych <= 'N') {
7806 		if (yych <= '@') {
7807 			if (yych == ')') goto yy139;
7808 			goto yy3;
7809 		} else {
7810 			if (yych == 'L') goto yy418;
7811 			if (yych <= 'M') goto yy141;
7812 			goto yy417;
7813 		}
7814 	} else {
7815 		if (yych <= 'l') {
7816 			if (yych <= 'Z') goto yy141;
7817 			if (yych <= '`') goto yy3;
7818 			if (yych <= 'k') goto yy141;
7819 			goto yy418;
7820 		} else {
7821 			if (yych == 'n') goto yy417;
7822 			if (yych <= 'z') goto yy141;
7823 			goto yy3;
7824 		}
7825 	}
7826 yy412:
7827 	YYDEBUG(412, *YYCURSOR);
7828 	yych = *++YYCURSOR;
7829 	if (yych <= 'N') {
7830 		if (yych <= ')') {
7831 			if (yych <= '(') goto yy3;
7832 			goto yy139;
7833 		} else {
7834 			if (yych <= '@') goto yy3;
7835 			if (yych <= 'M') goto yy141;
7836 		}
7837 	} else {
7838 		if (yych <= 'm') {
7839 			if (yych <= 'Z') goto yy141;
7840 			if (yych <= '`') goto yy3;
7841 			goto yy141;
7842 		} else {
7843 			if (yych <= 'n') goto yy413;
7844 			if (yych <= 'z') goto yy141;
7845 			goto yy3;
7846 		}
7847 	}
7848 yy413:
7849 	YYDEBUG(413, *YYCURSOR);
7850 	yyaccept = 5;
7851 	yych = *(YYMARKER = ++YYCURSOR);
7852 	if (yych <= '/') {
7853 		if (yych <= '(') {
7854 			if (yych <= '\t') {
7855 				if (yych <= 0x08) goto yy193;
7856 				goto yy195;
7857 			} else {
7858 				if (yych == ' ') goto yy195;
7859 				goto yy193;
7860 			}
7861 		} else {
7862 			if (yych <= ',') {
7863 				if (yych <= ')') goto yy139;
7864 				goto yy193;
7865 			} else {
7866 				if (yych <= '-') goto yy196;
7867 				if (yych <= '.') goto yy195;
7868 				goto yy193;
7869 			}
7870 		}
7871 	} else {
7872 		if (yych <= 'Z') {
7873 			if (yych <= '@') {
7874 				if (yych <= '9') goto yy195;
7875 				goto yy193;
7876 			} else {
7877 				if (yych != 'U') goto yy142;
7878 			}
7879 		} else {
7880 			if (yych <= 't') {
7881 				if (yych <= '`') goto yy193;
7882 				goto yy142;
7883 			} else {
7884 				if (yych <= 'u') goto yy414;
7885 				if (yych <= 'z') goto yy142;
7886 				goto yy193;
7887 			}
7888 		}
7889 	}
7890 yy414:
7891 	YYDEBUG(414, *YYCURSOR);
7892 	yych = *++YYCURSOR;
7893 	if (yych <= 'A') {
7894 		if (yych == ')') goto yy139;
7895 		if (yych <= '@') goto yy3;
7896 	} else {
7897 		if (yych <= '`') {
7898 			if (yych <= 'Z') goto yy143;
7899 			goto yy3;
7900 		} else {
7901 			if (yych <= 'a') goto yy415;
7902 			if (yych <= 'z') goto yy143;
7903 			goto yy3;
7904 		}
7905 	}
7906 yy415:
7907 	YYDEBUG(415, *YYCURSOR);
7908 	yych = *++YYCURSOR;
7909 	if (yych <= 'R') {
7910 		if (yych <= ')') {
7911 			if (yych <= '(') goto yy3;
7912 			goto yy139;
7913 		} else {
7914 			if (yych <= '@') goto yy3;
7915 			if (yych <= 'Q') goto yy144;
7916 		}
7917 	} else {
7918 		if (yych <= 'q') {
7919 			if (yych <= 'Z') goto yy144;
7920 			if (yych <= '`') goto yy3;
7921 			goto yy144;
7922 		} else {
7923 			if (yych <= 'r') goto yy416;
7924 			if (yych <= 'z') goto yy144;
7925 			goto yy3;
7926 		}
7927 	}
7928 yy416:
7929 	YYDEBUG(416, *YYCURSOR);
7930 	yych = *++YYCURSOR;
7931 	if (yych <= 'X') {
7932 		if (yych == ')') goto yy139;
7933 		goto yy3;
7934 	} else {
7935 		if (yych <= 'Y') goto yy205;
7936 		if (yych == 'y') goto yy205;
7937 		goto yy3;
7938 	}
7939 yy417:
7940 	YYDEBUG(417, *YYCURSOR);
7941 	yyaccept = 5;
7942 	yych = *(YYMARKER = ++YYCURSOR);
7943 	if (yych <= '/') {
7944 		if (yych <= '(') {
7945 			if (yych <= '\t') {
7946 				if (yych <= 0x08) goto yy193;
7947 				goto yy195;
7948 			} else {
7949 				if (yych == ' ') goto yy195;
7950 				goto yy193;
7951 			}
7952 		} else {
7953 			if (yych <= ',') {
7954 				if (yych <= ')') goto yy139;
7955 				goto yy193;
7956 			} else {
7957 				if (yych <= '-') goto yy196;
7958 				if (yych <= '.') goto yy195;
7959 				goto yy193;
7960 			}
7961 		}
7962 	} else {
7963 		if (yych <= 'Z') {
7964 			if (yych <= '@') {
7965 				if (yych <= '9') goto yy195;
7966 				goto yy193;
7967 			} else {
7968 				if (yych == 'E') goto yy419;
7969 				goto yy142;
7970 			}
7971 		} else {
7972 			if (yych <= 'd') {
7973 				if (yych <= '`') goto yy193;
7974 				goto yy142;
7975 			} else {
7976 				if (yych <= 'e') goto yy419;
7977 				if (yych <= 'z') goto yy142;
7978 				goto yy193;
7979 			}
7980 		}
7981 	}
7982 yy418:
7983 	YYDEBUG(418, *YYCURSOR);
7984 	yyaccept = 5;
7985 	yych = *(YYMARKER = ++YYCURSOR);
7986 	if (yych <= '/') {
7987 		if (yych <= '(') {
7988 			if (yych <= '\t') {
7989 				if (yych <= 0x08) goto yy193;
7990 				goto yy195;
7991 			} else {
7992 				if (yych == ' ') goto yy195;
7993 				goto yy193;
7994 			}
7995 		} else {
7996 			if (yych <= ',') {
7997 				if (yych <= ')') goto yy139;
7998 				goto yy193;
7999 			} else {
8000 				if (yych <= '-') goto yy196;
8001 				if (yych <= '.') goto yy195;
8002 				goto yy193;
8003 			}
8004 		}
8005 	} else {
8006 		if (yych <= 'Z') {
8007 			if (yych <= '@') {
8008 				if (yych <= '9') goto yy195;
8009 				goto yy193;
8010 			} else {
8011 				if (yych != 'Y') goto yy142;
8012 			}
8013 		} else {
8014 			if (yych <= 'x') {
8015 				if (yych <= '`') goto yy193;
8016 				goto yy142;
8017 			} else {
8018 				if (yych <= 'y') goto yy419;
8019 				if (yych <= 'z') goto yy142;
8020 				goto yy193;
8021 			}
8022 		}
8023 	}
8024 yy419:
8025 	YYDEBUG(419, *YYCURSOR);
8026 	yyaccept = 5;
8027 	yych = *(YYMARKER = ++YYCURSOR);
8028 	if (yych <= ',') {
8029 		if (yych <= 0x1F) {
8030 			if (yych == '\t') goto yy195;
8031 			goto yy193;
8032 		} else {
8033 			if (yych <= ' ') goto yy195;
8034 			if (yych == ')') goto yy139;
8035 			goto yy193;
8036 		}
8037 	} else {
8038 		if (yych <= '@') {
8039 			if (yych == '/') goto yy193;
8040 			if (yych <= '9') goto yy195;
8041 			goto yy193;
8042 		} else {
8043 			if (yych <= 'Z') goto yy143;
8044 			if (yych <= '`') goto yy193;
8045 			if (yych <= 'z') goto yy143;
8046 			goto yy193;
8047 		}
8048 	}
8049 yy420:
8050 	YYDEBUG(420, *YYCURSOR);
8051 	yyaccept = 0;
8052 	yych = *(YYMARKER = ++YYCURSOR);
8053 	if (yych <= 'M') {
8054 		if (yych <= '.') {
8055 			if (yych <= ')') {
8056 				if (yych <= '(') goto yy3;
8057 				goto yy139;
8058 			} else {
8059 				if (yych == '-') goto yy147;
8060 				goto yy3;
8061 			}
8062 		} else {
8063 			if (yych <= '@') {
8064 				if (yych <= '/') goto yy147;
8065 				goto yy3;
8066 			} else {
8067 				if (yych == 'L') goto yy418;
8068 				goto yy141;
8069 			}
8070 		}
8071 	} else {
8072 		if (yych <= '`') {
8073 			if (yych <= 'Z') {
8074 				if (yych <= 'N') goto yy417;
8075 				goto yy141;
8076 			} else {
8077 				if (yych == '_') goto yy147;
8078 				goto yy3;
8079 			}
8080 		} else {
8081 			if (yych <= 'm') {
8082 				if (yych == 'l') goto yy427;
8083 				goto yy146;
8084 			} else {
8085 				if (yych <= 'n') goto yy426;
8086 				if (yych <= 'z') goto yy146;
8087 				goto yy3;
8088 			}
8089 		}
8090 	}
8091 yy421:
8092 	YYDEBUG(421, *YYCURSOR);
8093 	yyaccept = 0;
8094 	yych = *(YYMARKER = ++YYCURSOR);
8095 	if (yych <= 'M') {
8096 		if (yych <= '-') {
8097 			if (yych == ')') goto yy139;
8098 			if (yych <= ',') goto yy3;
8099 			goto yy147;
8100 		} else {
8101 			if (yych == '/') goto yy147;
8102 			if (yych <= '@') goto yy3;
8103 			goto yy141;
8104 		}
8105 	} else {
8106 		if (yych <= '_') {
8107 			if (yych <= 'N') goto yy413;
8108 			if (yych <= 'Z') goto yy141;
8109 			if (yych <= '^') goto yy3;
8110 			goto yy147;
8111 		} else {
8112 			if (yych <= 'm') {
8113 				if (yych <= '`') goto yy3;
8114 				goto yy146;
8115 			} else {
8116 				if (yych <= 'n') goto yy422;
8117 				if (yych <= 'z') goto yy146;
8118 				goto yy3;
8119 			}
8120 		}
8121 	}
8122 yy422:
8123 	YYDEBUG(422, *YYCURSOR);
8124 	yyaccept = 5;
8125 	yych = *(YYMARKER = ++YYCURSOR);
8126 	if (yych <= '9') {
8127 		if (yych <= '(') {
8128 			if (yych <= '\t') {
8129 				if (yych <= 0x08) goto yy193;
8130 				goto yy195;
8131 			} else {
8132 				if (yych == ' ') goto yy195;
8133 				goto yy193;
8134 			}
8135 		} else {
8136 			if (yych <= '-') {
8137 				if (yych <= ')') goto yy139;
8138 				if (yych <= ',') goto yy193;
8139 				goto yy371;
8140 			} else {
8141 				if (yych == '/') goto yy147;
8142 				goto yy195;
8143 			}
8144 		}
8145 	} else {
8146 		if (yych <= '^') {
8147 			if (yych <= 'T') {
8148 				if (yych <= '@') goto yy193;
8149 				goto yy142;
8150 			} else {
8151 				if (yych <= 'U') goto yy414;
8152 				if (yych <= 'Z') goto yy142;
8153 				goto yy193;
8154 			}
8155 		} else {
8156 			if (yych <= 't') {
8157 				if (yych <= '_') goto yy147;
8158 				if (yych <= '`') goto yy193;
8159 				goto yy150;
8160 			} else {
8161 				if (yych <= 'u') goto yy423;
8162 				if (yych <= 'z') goto yy150;
8163 				goto yy193;
8164 			}
8165 		}
8166 	}
8167 yy423:
8168 	YYDEBUG(423, *YYCURSOR);
8169 	yyaccept = 0;
8170 	yych = *(YYMARKER = ++YYCURSOR);
8171 	if (yych <= '@') {
8172 		if (yych <= ',') {
8173 			if (yych == ')') goto yy139;
8174 			goto yy3;
8175 		} else {
8176 			if (yych == '.') goto yy3;
8177 			if (yych <= '/') goto yy147;
8178 			goto yy3;
8179 		}
8180 	} else {
8181 		if (yych <= '_') {
8182 			if (yych <= 'A') goto yy415;
8183 			if (yych <= 'Z') goto yy143;
8184 			if (yych <= '^') goto yy3;
8185 			goto yy147;
8186 		} else {
8187 			if (yych <= '`') goto yy3;
8188 			if (yych <= 'a') goto yy424;
8189 			if (yych <= 'z') goto yy151;
8190 			goto yy3;
8191 		}
8192 	}
8193 yy424:
8194 	YYDEBUG(424, *YYCURSOR);
8195 	yyaccept = 0;
8196 	yych = *(YYMARKER = ++YYCURSOR);
8197 	if (yych <= 'Q') {
8198 		if (yych <= '-') {
8199 			if (yych == ')') goto yy139;
8200 			if (yych <= ',') goto yy3;
8201 			goto yy147;
8202 		} else {
8203 			if (yych == '/') goto yy147;
8204 			if (yych <= '@') goto yy3;
8205 			goto yy144;
8206 		}
8207 	} else {
8208 		if (yych <= '_') {
8209 			if (yych <= 'R') goto yy416;
8210 			if (yych <= 'Z') goto yy144;
8211 			if (yych <= '^') goto yy3;
8212 			goto yy147;
8213 		} else {
8214 			if (yych <= 'q') {
8215 				if (yych <= '`') goto yy3;
8216 				goto yy152;
8217 			} else {
8218 				if (yych <= 'r') goto yy425;
8219 				if (yych <= 'z') goto yy152;
8220 				goto yy3;
8221 			}
8222 		}
8223 	}
8224 yy425:
8225 	YYDEBUG(425, *YYCURSOR);
8226 	yyaccept = 0;
8227 	yych = *(YYMARKER = ++YYCURSOR);
8228 	if (yych <= 'X') {
8229 		if (yych <= ',') {
8230 			if (yych == ')') goto yy139;
8231 			goto yy3;
8232 		} else {
8233 			if (yych == '.') goto yy3;
8234 			if (yych <= '/') goto yy147;
8235 			goto yy3;
8236 		}
8237 	} else {
8238 		if (yych <= '`') {
8239 			if (yych <= 'Y') goto yy205;
8240 			if (yych == '_') goto yy147;
8241 			goto yy3;
8242 		} else {
8243 			if (yych == 'y') goto yy376;
8244 			if (yych <= 'z') goto yy153;
8245 			goto yy3;
8246 		}
8247 	}
8248 yy426:
8249 	YYDEBUG(426, *YYCURSOR);
8250 	yyaccept = 5;
8251 	yych = *(YYMARKER = ++YYCURSOR);
8252 	if (yych <= '9') {
8253 		if (yych <= '(') {
8254 			if (yych <= '\t') {
8255 				if (yych <= 0x08) goto yy193;
8256 				goto yy195;
8257 			} else {
8258 				if (yych == ' ') goto yy195;
8259 				goto yy193;
8260 			}
8261 		} else {
8262 			if (yych <= '-') {
8263 				if (yych <= ')') goto yy139;
8264 				if (yych <= ',') goto yy193;
8265 				goto yy371;
8266 			} else {
8267 				if (yych == '/') goto yy147;
8268 				goto yy195;
8269 			}
8270 		}
8271 	} else {
8272 		if (yych <= '^') {
8273 			if (yych <= 'D') {
8274 				if (yych <= '@') goto yy193;
8275 				goto yy142;
8276 			} else {
8277 				if (yych <= 'E') goto yy419;
8278 				if (yych <= 'Z') goto yy142;
8279 				goto yy193;
8280 			}
8281 		} else {
8282 			if (yych <= 'd') {
8283 				if (yych <= '_') goto yy147;
8284 				if (yych <= '`') goto yy193;
8285 				goto yy150;
8286 			} else {
8287 				if (yych <= 'e') goto yy428;
8288 				if (yych <= 'z') goto yy150;
8289 				goto yy193;
8290 			}
8291 		}
8292 	}
8293 yy427:
8294 	YYDEBUG(427, *YYCURSOR);
8295 	yyaccept = 5;
8296 	yych = *(YYMARKER = ++YYCURSOR);
8297 	if (yych <= '9') {
8298 		if (yych <= '(') {
8299 			if (yych <= '\t') {
8300 				if (yych <= 0x08) goto yy193;
8301 				goto yy195;
8302 			} else {
8303 				if (yych == ' ') goto yy195;
8304 				goto yy193;
8305 			}
8306 		} else {
8307 			if (yych <= '-') {
8308 				if (yych <= ')') goto yy139;
8309 				if (yych <= ',') goto yy193;
8310 				goto yy371;
8311 			} else {
8312 				if (yych == '/') goto yy147;
8313 				goto yy195;
8314 			}
8315 		}
8316 	} else {
8317 		if (yych <= '^') {
8318 			if (yych <= 'X') {
8319 				if (yych <= '@') goto yy193;
8320 				goto yy142;
8321 			} else {
8322 				if (yych <= 'Y') goto yy419;
8323 				if (yych <= 'Z') goto yy142;
8324 				goto yy193;
8325 			}
8326 		} else {
8327 			if (yych <= 'x') {
8328 				if (yych <= '_') goto yy147;
8329 				if (yych <= '`') goto yy193;
8330 				goto yy150;
8331 			} else {
8332 				if (yych <= 'y') goto yy428;
8333 				if (yych <= 'z') goto yy150;
8334 				goto yy193;
8335 			}
8336 		}
8337 	}
8338 yy428:
8339 	YYDEBUG(428, *YYCURSOR);
8340 	yyaccept = 5;
8341 	yych = *(YYMARKER = ++YYCURSOR);
8342 	if (yych <= '.') {
8343 		if (yych <= ' ') {
8344 			if (yych == '\t') goto yy195;
8345 			if (yych <= 0x1F) goto yy193;
8346 			goto yy195;
8347 		} else {
8348 			if (yych <= ')') {
8349 				if (yych <= '(') goto yy193;
8350 				goto yy139;
8351 			} else {
8352 				if (yych <= ',') goto yy193;
8353 				if (yych <= '-') goto yy377;
8354 				goto yy195;
8355 			}
8356 		}
8357 	} else {
8358 		if (yych <= 'Z') {
8359 			if (yych <= '/') goto yy147;
8360 			if (yych <= '9') goto yy195;
8361 			if (yych <= '@') goto yy193;
8362 			goto yy143;
8363 		} else {
8364 			if (yych <= '_') {
8365 				if (yych <= '^') goto yy193;
8366 				goto yy147;
8367 			} else {
8368 				if (yych <= '`') goto yy193;
8369 				if (yych <= 'z') goto yy151;
8370 				goto yy193;
8371 			}
8372 		}
8373 	}
8374 yy429:
8375 	YYDEBUG(429, *YYCURSOR);
8376 	yyaccept = 0;
8377 	yych = *(YYMARKER = ++YYCURSOR);
8378 	if (yych <= '.') {
8379 		if (yych <= ' ') {
8380 			if (yych == '\t') goto yy195;
8381 			if (yych <= 0x1F) goto yy3;
8382 			goto yy195;
8383 		} else {
8384 			if (yych == ')') goto yy139;
8385 			if (yych <= ',') goto yy3;
8386 			goto yy195;
8387 		}
8388 	} else {
8389 		if (yych <= 'H') {
8390 			if (yych <= '/') goto yy3;
8391 			if (yych <= '9') goto yy195;
8392 			if (yych <= '@') goto yy3;
8393 			goto yy141;
8394 		} else {
8395 			if (yych <= 'Z') {
8396 				if (yych >= 'J') goto yy141;
8397 			} else {
8398 				if (yych <= '`') goto yy3;
8399 				if (yych <= 'z') goto yy141;
8400 				goto yy3;
8401 			}
8402 		}
8403 	}
8404 yy430:
8405 	YYDEBUG(430, *YYCURSOR);
8406 	yyaccept = 0;
8407 	yych = *(YYMARKER = ++YYCURSOR);
8408 	if (yych <= ',') {
8409 		if (yych <= 0x1F) {
8410 			if (yych == '\t') goto yy195;
8411 			goto yy3;
8412 		} else {
8413 			if (yych <= ' ') goto yy195;
8414 			if (yych == ')') goto yy139;
8415 			goto yy3;
8416 		}
8417 	} else {
8418 		if (yych <= '@') {
8419 			if (yych == '/') goto yy3;
8420 			if (yych <= '9') goto yy195;
8421 			goto yy3;
8422 		} else {
8423 			if (yych <= 'Z') goto yy142;
8424 			if (yych <= '`') goto yy3;
8425 			if (yych <= 'z') goto yy142;
8426 			goto yy3;
8427 		}
8428 	}
8429 yy431:
8430 	YYDEBUG(431, *YYCURSOR);
8431 	yyaccept = 0;
8432 	yych = *(YYMARKER = ++YYCURSOR);
8433 	if (yych <= '.') {
8434 		if (yych <= ' ') {
8435 			if (yych == '\t') goto yy195;
8436 			if (yych <= 0x1F) goto yy3;
8437 			goto yy195;
8438 		} else {
8439 			if (yych == ')') goto yy139;
8440 			if (yych <= ',') goto yy3;
8441 			goto yy195;
8442 		}
8443 	} else {
8444 		if (yych <= 'H') {
8445 			if (yych <= '/') goto yy3;
8446 			if (yych <= '9') goto yy195;
8447 			if (yych <= '@') goto yy3;
8448 			goto yy141;
8449 		} else {
8450 			if (yych <= 'Z') {
8451 				if (yych >= 'J') goto yy141;
8452 			} else {
8453 				if (yych <= '`') goto yy3;
8454 				if (yych <= 'z') goto yy141;
8455 				goto yy3;
8456 			}
8457 		}
8458 	}
8459 	YYDEBUG(432, *YYCURSOR);
8460 	yyaccept = 0;
8461 	yych = *(YYMARKER = ++YYCURSOR);
8462 	if (yych <= '.') {
8463 		if (yych <= ' ') {
8464 			if (yych == '\t') goto yy195;
8465 			if (yych <= 0x1F) goto yy3;
8466 			goto yy195;
8467 		} else {
8468 			if (yych == ')') goto yy139;
8469 			if (yych <= ',') goto yy3;
8470 			goto yy195;
8471 		}
8472 	} else {
8473 		if (yych <= 'H') {
8474 			if (yych <= '/') goto yy3;
8475 			if (yych <= '9') goto yy195;
8476 			if (yych <= '@') goto yy3;
8477 			goto yy142;
8478 		} else {
8479 			if (yych <= 'Z') {
8480 				if (yych >= 'J') goto yy142;
8481 			} else {
8482 				if (yych <= '`') goto yy3;
8483 				if (yych <= 'z') goto yy142;
8484 				goto yy3;
8485 			}
8486 		}
8487 	}
8488 	YYDEBUG(433, *YYCURSOR);
8489 	yyaccept = 0;
8490 	yych = *(YYMARKER = ++YYCURSOR);
8491 	if (yych <= ',') {
8492 		if (yych <= 0x1F) {
8493 			if (yych == '\t') goto yy195;
8494 			goto yy3;
8495 		} else {
8496 			if (yych <= ' ') goto yy195;
8497 			if (yych == ')') goto yy139;
8498 			goto yy3;
8499 		}
8500 	} else {
8501 		if (yych <= '@') {
8502 			if (yych == '/') goto yy3;
8503 			if (yych <= '9') goto yy195;
8504 			goto yy3;
8505 		} else {
8506 			if (yych <= 'Z') goto yy143;
8507 			if (yych <= '`') goto yy3;
8508 			if (yych <= 'z') goto yy143;
8509 			goto yy3;
8510 		}
8511 	}
8512 yy434:
8513 	YYDEBUG(434, *YYCURSOR);
8514 	yyaccept = 0;
8515 	yych = *(YYMARKER = ++YYCURSOR);
8516 	if (yych <= ',') {
8517 		if (yych <= 0x1F) {
8518 			if (yych == '\t') goto yy195;
8519 			goto yy3;
8520 		} else {
8521 			if (yych <= ' ') goto yy195;
8522 			if (yych == ')') goto yy139;
8523 			goto yy3;
8524 		}
8525 	} else {
8526 		if (yych <= '@') {
8527 			if (yych == '/') goto yy3;
8528 			if (yych <= '9') goto yy195;
8529 			goto yy3;
8530 		} else {
8531 			if (yych <= 'Z') goto yy141;
8532 			if (yych <= '`') goto yy3;
8533 			if (yych <= 'z') goto yy141;
8534 			goto yy3;
8535 		}
8536 	}
8537 yy435:
8538 	YYDEBUG(435, *YYCURSOR);
8539 	yyaccept = 0;
8540 	yych = *(YYMARKER = ++YYCURSOR);
8541 	if (yych <= '.') {
8542 		if (yych <= ' ') {
8543 			if (yych == '\t') goto yy195;
8544 			if (yych <= 0x1F) goto yy3;
8545 			goto yy195;
8546 		} else {
8547 			if (yych == ')') goto yy139;
8548 			if (yych <= ',') goto yy3;
8549 			goto yy195;
8550 		}
8551 	} else {
8552 		if (yych <= 'H') {
8553 			if (yych <= '/') goto yy3;
8554 			if (yych <= '9') goto yy195;
8555 			if (yych <= '@') goto yy3;
8556 			goto yy141;
8557 		} else {
8558 			if (yych <= 'Z') {
8559 				if (yych <= 'I') goto yy430;
8560 				goto yy141;
8561 			} else {
8562 				if (yych <= '`') goto yy3;
8563 				if (yych <= 'z') goto yy141;
8564 				goto yy3;
8565 			}
8566 		}
8567 	}
8568 yy436:
8569 	YYDEBUG(436, *YYCURSOR);
8570 	yyaccept = 0;
8571 	yych = *(YYMARKER = ++YYCURSOR);
8572 	if (yych <= 'V') {
8573 		if (yych <= 'D') {
8574 			if (yych <= ' ') {
8575 				if (yych == '\t') goto yy60;
8576 				if (yych <= 0x1F) goto yy3;
8577 				goto yy60;
8578 			} else {
8579 				if (yych <= '9') {
8580 					if (yych <= '/') goto yy3;
8581 					goto yy456;
8582 				} else {
8583 					if (yych <= ':') goto yy162;
8584 					if (yych <= 'C') goto yy3;
8585 					goto yy60;
8586 				}
8587 			}
8588 		} else {
8589 			if (yych <= 'H') {
8590 				if (yych == 'F') goto yy60;
8591 				if (yych <= 'G') goto yy3;
8592 				goto yy60;
8593 			} else {
8594 				if (yych <= 'M') {
8595 					if (yych <= 'L') goto yy3;
8596 					goto yy60;
8597 				} else {
8598 					if (yych <= 'R') goto yy3;
8599 					if (yych <= 'T') goto yy60;
8600 					goto yy3;
8601 				}
8602 			}
8603 		}
8604 	} else {
8605 		if (yych <= 'h') {
8606 			if (yych <= 'c') {
8607 				if (yych == 'X') goto yy3;
8608 				if (yych <= 'Y') goto yy60;
8609 				goto yy3;
8610 			} else {
8611 				if (yych <= 'e') {
8612 					if (yych <= 'd') goto yy60;
8613 					goto yy3;
8614 				} else {
8615 					if (yych == 'g') goto yy3;
8616 					goto yy60;
8617 				}
8618 			}
8619 		} else {
8620 			if (yych <= 't') {
8621 				if (yych == 'm') goto yy60;
8622 				if (yych <= 'r') goto yy3;
8623 				goto yy60;
8624 			} else {
8625 				if (yych <= 'w') {
8626 					if (yych <= 'v') goto yy3;
8627 					goto yy60;
8628 				} else {
8629 					if (yych == 'y') goto yy60;
8630 					goto yy3;
8631 				}
8632 			}
8633 		}
8634 	}
8635 yy437:
8636 	YYDEBUG(437, *YYCURSOR);
8637 	yyaccept = 0;
8638 	yych = *(YYMARKER = ++YYCURSOR);
8639 	if (yych <= 'T') {
8640 		if (yych <= ':') {
8641 			if (yych <= ' ') {
8642 				if (yych == '\t') goto yy60;
8643 				if (yych <= 0x1F) goto yy3;
8644 				goto yy60;
8645 			} else {
8646 				if (yych <= '4') {
8647 					if (yych <= '/') goto yy3;
8648 					goto yy456;
8649 				} else {
8650 					if (yych <= '5') goto yy441;
8651 					if (yych <= '9') goto yy442;
8652 					goto yy162;
8653 				}
8654 			}
8655 		} else {
8656 			if (yych <= 'G') {
8657 				if (yych <= 'D') {
8658 					if (yych <= 'C') goto yy3;
8659 					goto yy60;
8660 				} else {
8661 					if (yych == 'F') goto yy60;
8662 					goto yy3;
8663 				}
8664 			} else {
8665 				if (yych <= 'L') {
8666 					if (yych <= 'H') goto yy60;
8667 					goto yy3;
8668 				} else {
8669 					if (yych <= 'M') goto yy60;
8670 					if (yych <= 'R') goto yy3;
8671 					goto yy60;
8672 				}
8673 			}
8674 		}
8675 	} else {
8676 		if (yych <= 'g') {
8677 			if (yych <= 'Y') {
8678 				if (yych == 'W') goto yy60;
8679 				if (yych <= 'X') goto yy3;
8680 				goto yy60;
8681 			} else {
8682 				if (yych <= 'd') {
8683 					if (yych <= 'c') goto yy3;
8684 					goto yy60;
8685 				} else {
8686 					if (yych == 'f') goto yy60;
8687 					goto yy3;
8688 				}
8689 			}
8690 		} else {
8691 			if (yych <= 't') {
8692 				if (yych <= 'l') {
8693 					if (yych <= 'h') goto yy60;
8694 					goto yy3;
8695 				} else {
8696 					if (yych <= 'm') goto yy60;
8697 					if (yych <= 'r') goto yy3;
8698 					goto yy60;
8699 				}
8700 			} else {
8701 				if (yych <= 'w') {
8702 					if (yych <= 'v') goto yy3;
8703 					goto yy60;
8704 				} else {
8705 					if (yych == 'y') goto yy60;
8706 					goto yy3;
8707 				}
8708 			}
8709 		}
8710 	}
8711 yy438:
8712 	YYDEBUG(438, *YYCURSOR);
8713 	yyaccept = 0;
8714 	yych = *(YYMARKER = ++YYCURSOR);
8715 	if (yych <= 'T') {
8716 		if (yych <= 'C') {
8717 			if (yych <= ' ') {
8718 				if (yych == '\t') goto yy60;
8719 				if (yych <= 0x1F) goto yy3;
8720 				goto yy60;
8721 			} else {
8722 				if (yych <= '5') {
8723 					if (yych <= '/') goto yy3;
8724 					goto yy441;
8725 				} else {
8726 					if (yych <= '9') goto yy442;
8727 					if (yych <= ':') goto yy162;
8728 					goto yy3;
8729 				}
8730 			}
8731 		} else {
8732 			if (yych <= 'G') {
8733 				if (yych == 'E') goto yy3;
8734 				if (yych <= 'F') goto yy60;
8735 				goto yy3;
8736 			} else {
8737 				if (yych <= 'L') {
8738 					if (yych <= 'H') goto yy60;
8739 					goto yy3;
8740 				} else {
8741 					if (yych <= 'M') goto yy60;
8742 					if (yych <= 'R') goto yy3;
8743 					goto yy60;
8744 				}
8745 			}
8746 		}
8747 	} else {
8748 		if (yych <= 'g') {
8749 			if (yych <= 'Y') {
8750 				if (yych == 'W') goto yy60;
8751 				if (yych <= 'X') goto yy3;
8752 				goto yy60;
8753 			} else {
8754 				if (yych <= 'd') {
8755 					if (yych <= 'c') goto yy3;
8756 					goto yy60;
8757 				} else {
8758 					if (yych == 'f') goto yy60;
8759 					goto yy3;
8760 				}
8761 			}
8762 		} else {
8763 			if (yych <= 't') {
8764 				if (yych <= 'l') {
8765 					if (yych <= 'h') goto yy60;
8766 					goto yy3;
8767 				} else {
8768 					if (yych <= 'm') goto yy60;
8769 					if (yych <= 'r') goto yy3;
8770 					goto yy60;
8771 				}
8772 			} else {
8773 				if (yych <= 'w') {
8774 					if (yych <= 'v') goto yy3;
8775 					goto yy60;
8776 				} else {
8777 					if (yych == 'y') goto yy60;
8778 					goto yy3;
8779 				}
8780 			}
8781 		}
8782 	}
8783 yy439:
8784 	YYDEBUG(439, *YYCURSOR);
8785 	++YYCURSOR;
8786 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
8787 	yych = *YYCURSOR;
8788 	YYDEBUG(440, *YYCURSOR);
8789 	if (yybm[0+yych] & 4) {
8790 		goto yy57;
8791 	}
8792 	if (yych <= ',') {
8793 		if (yych == '+') goto yy439;
8794 		goto yy56;
8795 	} else {
8796 		if (yych <= '-') goto yy439;
8797 		if (yych <= '/') goto yy56;
8798 		if (yych <= '9') goto yy54;
8799 		goto yy56;
8800 	}
8801 yy441:
8802 	YYDEBUG(441, *YYCURSOR);
8803 	yyaccept = 0;
8804 	yych = *(YYMARKER = ++YYCURSOR);
8805 	if (yych <= 'V') {
8806 		if (yych <= 'D') {
8807 			if (yych <= ' ') {
8808 				if (yych == '\t') goto yy60;
8809 				if (yych <= 0x1F) goto yy3;
8810 				goto yy60;
8811 			} else {
8812 				if (yych <= '/') goto yy3;
8813 				if (yych <= '9') goto yy455;
8814 				if (yych <= 'C') goto yy3;
8815 				goto yy60;
8816 			}
8817 		} else {
8818 			if (yych <= 'H') {
8819 				if (yych == 'F') goto yy60;
8820 				if (yych <= 'G') goto yy3;
8821 				goto yy60;
8822 			} else {
8823 				if (yych <= 'M') {
8824 					if (yych <= 'L') goto yy3;
8825 					goto yy60;
8826 				} else {
8827 					if (yych <= 'R') goto yy3;
8828 					if (yych <= 'T') goto yy60;
8829 					goto yy3;
8830 				}
8831 			}
8832 		}
8833 	} else {
8834 		if (yych <= 'h') {
8835 			if (yych <= 'c') {
8836 				if (yych == 'X') goto yy3;
8837 				if (yych <= 'Y') goto yy60;
8838 				goto yy3;
8839 			} else {
8840 				if (yych <= 'e') {
8841 					if (yych <= 'd') goto yy60;
8842 					goto yy3;
8843 				} else {
8844 					if (yych == 'g') goto yy3;
8845 					goto yy60;
8846 				}
8847 			}
8848 		} else {
8849 			if (yych <= 't') {
8850 				if (yych == 'm') goto yy60;
8851 				if (yych <= 'r') goto yy3;
8852 				goto yy60;
8853 			} else {
8854 				if (yych <= 'w') {
8855 					if (yych <= 'v') goto yy3;
8856 					goto yy60;
8857 				} else {
8858 					if (yych == 'y') goto yy60;
8859 					goto yy3;
8860 				}
8861 			}
8862 		}
8863 	}
8864 yy442:
8865 	YYDEBUG(442, *YYCURSOR);
8866 	yyaccept = 0;
8867 	yych = *(YYMARKER = ++YYCURSOR);
8868 	if (yych <= 'V') {
8869 		if (yych <= 'D') {
8870 			if (yych <= ' ') {
8871 				if (yych == '\t') goto yy60;
8872 				if (yych <= 0x1F) goto yy3;
8873 				goto yy60;
8874 			} else {
8875 				if (yych <= '/') goto yy3;
8876 				if (yych <= '9') goto yy443;
8877 				if (yych <= 'C') goto yy3;
8878 				goto yy60;
8879 			}
8880 		} else {
8881 			if (yych <= 'H') {
8882 				if (yych == 'F') goto yy60;
8883 				if (yych <= 'G') goto yy3;
8884 				goto yy60;
8885 			} else {
8886 				if (yych <= 'M') {
8887 					if (yych <= 'L') goto yy3;
8888 					goto yy60;
8889 				} else {
8890 					if (yych <= 'R') goto yy3;
8891 					if (yych <= 'T') goto yy60;
8892 					goto yy3;
8893 				}
8894 			}
8895 		}
8896 	} else {
8897 		if (yych <= 'h') {
8898 			if (yych <= 'c') {
8899 				if (yych == 'X') goto yy3;
8900 				if (yych <= 'Y') goto yy60;
8901 				goto yy3;
8902 			} else {
8903 				if (yych <= 'e') {
8904 					if (yych <= 'd') goto yy60;
8905 					goto yy3;
8906 				} else {
8907 					if (yych == 'g') goto yy3;
8908 					goto yy60;
8909 				}
8910 			}
8911 		} else {
8912 			if (yych <= 't') {
8913 				if (yych == 'm') goto yy60;
8914 				if (yych <= 'r') goto yy3;
8915 				goto yy60;
8916 			} else {
8917 				if (yych <= 'w') {
8918 					if (yych <= 'v') goto yy3;
8919 					goto yy60;
8920 				} else {
8921 					if (yych == 'y') goto yy60;
8922 					goto yy3;
8923 				}
8924 			}
8925 		}
8926 	}
8927 yy443:
8928 	YYDEBUG(443, *YYCURSOR);
8929 	yych = *++YYCURSOR;
8930 	if (yych <= '/') goto yy60;
8931 	if (yych >= ':') goto yy60;
8932 yy444:
8933 	YYDEBUG(444, *YYCURSOR);
8934 	yych = *++YYCURSOR;
8935 	if (yybm[0+yych] & 2) {
8936 		goto yy54;
8937 	}
8938 	if (yych != '-') goto yy60;
8939 yy445:
8940 	YYDEBUG(445, *YYCURSOR);
8941 	yych = *++YYCURSOR;
8942 	if (yych <= '/') goto yy56;
8943 	if (yych <= '0') goto yy446;
8944 	if (yych <= '1') goto yy447;
8945 	goto yy56;
8946 yy446:
8947 	YYDEBUG(446, *YYCURSOR);
8948 	yych = *++YYCURSOR;
8949 	if (yych <= '/') goto yy56;
8950 	if (yych <= '9') goto yy448;
8951 	goto yy56;
8952 yy447:
8953 	YYDEBUG(447, *YYCURSOR);
8954 	yych = *++YYCURSOR;
8955 	if (yych <= '/') goto yy56;
8956 	if (yych >= '3') goto yy56;
8957 yy448:
8958 	YYDEBUG(448, *YYCURSOR);
8959 	yych = *++YYCURSOR;
8960 	if (yych != '-') goto yy56;
8961 	YYDEBUG(449, *YYCURSOR);
8962 	yych = *++YYCURSOR;
8963 	if (yych <= '/') goto yy56;
8964 	if (yych <= '0') goto yy450;
8965 	if (yych <= '2') goto yy451;
8966 	if (yych <= '3') goto yy452;
8967 	goto yy56;
8968 yy450:
8969 	YYDEBUG(450, *YYCURSOR);
8970 	yych = *++YYCURSOR;
8971 	if (yych <= '/') goto yy56;
8972 	if (yych <= '9') goto yy453;
8973 	goto yy56;
8974 yy451:
8975 	YYDEBUG(451, *YYCURSOR);
8976 	yych = *++YYCURSOR;
8977 	if (yych <= '/') goto yy56;
8978 	if (yych <= '9') goto yy453;
8979 	goto yy56;
8980 yy452:
8981 	YYDEBUG(452, *YYCURSOR);
8982 	yych = *++YYCURSOR;
8983 	if (yych <= '/') goto yy56;
8984 	if (yych >= '2') goto yy56;
8985 yy453:
8986 	YYDEBUG(453, *YYCURSOR);
8987 	++YYCURSOR;
8988 yy454:
8989 	YYDEBUG(454, *YYCURSOR);
8990 #line 1233 "ext/date/lib/parse_date.re"
8991 	{
8992 		DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
8993 		TIMELIB_INIT;
8994 		TIMELIB_HAVE_DATE();
8995 		s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4);
8996 		s->time->m = timelib_get_nr((char **) &ptr, 2);
8997 		s->time->d = timelib_get_nr((char **) &ptr, 2);
8998 		TIMELIB_DEINIT;
8999 		return TIMELIB_ISO_DATE;
9000 	}
9001 #line 9002 "ext/date/lib/parse_date.c"
9002 yy455:
9003 	YYDEBUG(455, *YYCURSOR);
9004 	yyaccept = 0;
9005 	yych = *(YYMARKER = ++YYCURSOR);
9006 	if (yych <= 'V') {
9007 		if (yych <= 'D') {
9008 			if (yych <= ' ') {
9009 				if (yych == '\t') goto yy60;
9010 				if (yych <= 0x1F) goto yy3;
9011 				goto yy60;
9012 			} else {
9013 				if (yych <= '/') goto yy3;
9014 				if (yych <= '9') goto yy444;
9015 				if (yych <= 'C') goto yy3;
9016 				goto yy60;
9017 			}
9018 		} else {
9019 			if (yych <= 'H') {
9020 				if (yych == 'F') goto yy60;
9021 				if (yych <= 'G') goto yy3;
9022 				goto yy60;
9023 			} else {
9024 				if (yych <= 'M') {
9025 					if (yych <= 'L') goto yy3;
9026 					goto yy60;
9027 				} else {
9028 					if (yych <= 'R') goto yy3;
9029 					if (yych <= 'T') goto yy60;
9030 					goto yy3;
9031 				}
9032 			}
9033 		}
9034 	} else {
9035 		if (yych <= 'h') {
9036 			if (yych <= 'c') {
9037 				if (yych == 'X') goto yy3;
9038 				if (yych <= 'Y') goto yy60;
9039 				goto yy3;
9040 			} else {
9041 				if (yych <= 'e') {
9042 					if (yych <= 'd') goto yy60;
9043 					goto yy3;
9044 				} else {
9045 					if (yych == 'g') goto yy3;
9046 					goto yy60;
9047 				}
9048 			}
9049 		} else {
9050 			if (yych <= 't') {
9051 				if (yych == 'm') goto yy60;
9052 				if (yych <= 'r') goto yy3;
9053 				goto yy60;
9054 			} else {
9055 				if (yych <= 'w') {
9056 					if (yych <= 'v') goto yy3;
9057 					goto yy60;
9058 				} else {
9059 					if (yych == 'y') goto yy60;
9060 					goto yy3;
9061 				}
9062 			}
9063 		}
9064 	}
9065 yy456:
9066 	YYDEBUG(456, *YYCURSOR);
9067 	yyaccept = 0;
9068 	yych = *(YYMARKER = ++YYCURSOR);
9069 	if (yych <= 'T') {
9070 		if (yych <= 'C') {
9071 			if (yych <= ' ') {
9072 				if (yych == '\t') goto yy60;
9073 				if (yych <= 0x1F) goto yy3;
9074 				goto yy60;
9075 			} else {
9076 				if (yych <= '5') {
9077 					if (yych <= '/') goto yy3;
9078 				} else {
9079 					if (yych <= '9') goto yy455;
9080 					if (yych <= ':') goto yy162;
9081 					goto yy3;
9082 				}
9083 			}
9084 		} else {
9085 			if (yych <= 'G') {
9086 				if (yych == 'E') goto yy3;
9087 				if (yych <= 'F') goto yy60;
9088 				goto yy3;
9089 			} else {
9090 				if (yych <= 'L') {
9091 					if (yych <= 'H') goto yy60;
9092 					goto yy3;
9093 				} else {
9094 					if (yych <= 'M') goto yy60;
9095 					if (yych <= 'R') goto yy3;
9096 					goto yy60;
9097 				}
9098 			}
9099 		}
9100 	} else {
9101 		if (yych <= 'g') {
9102 			if (yych <= 'Y') {
9103 				if (yych == 'W') goto yy60;
9104 				if (yych <= 'X') goto yy3;
9105 				goto yy60;
9106 			} else {
9107 				if (yych <= 'd') {
9108 					if (yych <= 'c') goto yy3;
9109 					goto yy60;
9110 				} else {
9111 					if (yych == 'f') goto yy60;
9112 					goto yy3;
9113 				}
9114 			}
9115 		} else {
9116 			if (yych <= 't') {
9117 				if (yych <= 'l') {
9118 					if (yych <= 'h') goto yy60;
9119 					goto yy3;
9120 				} else {
9121 					if (yych <= 'm') goto yy60;
9122 					if (yych <= 'r') goto yy3;
9123 					goto yy60;
9124 				}
9125 			} else {
9126 				if (yych <= 'w') {
9127 					if (yych <= 'v') goto yy3;
9128 					goto yy60;
9129 				} else {
9130 					if (yych == 'y') goto yy60;
9131 					goto yy3;
9132 				}
9133 			}
9134 		}
9135 	}
9136 	YYDEBUG(457, *YYCURSOR);
9137 	yyaccept = 0;
9138 	yych = *(YYMARKER = ++YYCURSOR);
9139 	if (yych <= 'V') {
9140 		if (yych <= 'D') {
9141 			if (yych <= ' ') {
9142 				if (yych == '\t') goto yy60;
9143 				if (yych <= 0x1F) goto yy3;
9144 				goto yy60;
9145 			} else {
9146 				if (yych <= '/') goto yy3;
9147 				if (yych <= '9') goto yy458;
9148 				if (yych <= 'C') goto yy3;
9149 				goto yy60;
9150 			}
9151 		} else {
9152 			if (yych <= 'H') {
9153 				if (yych == 'F') goto yy60;
9154 				if (yych <= 'G') goto yy3;
9155 				goto yy60;
9156 			} else {
9157 				if (yych <= 'M') {
9158 					if (yych <= 'L') goto yy3;
9159 					goto yy60;
9160 				} else {
9161 					if (yych <= 'R') goto yy3;
9162 					if (yych <= 'T') goto yy60;
9163 					goto yy3;
9164 				}
9165 			}
9166 		}
9167 	} else {
9168 		if (yych <= 'h') {
9169 			if (yych <= 'c') {
9170 				if (yych == 'X') goto yy3;
9171 				if (yych <= 'Y') goto yy60;
9172 				goto yy3;
9173 			} else {
9174 				if (yych <= 'e') {
9175 					if (yych <= 'd') goto yy60;
9176 					goto yy3;
9177 				} else {
9178 					if (yych == 'g') goto yy3;
9179 					goto yy60;
9180 				}
9181 			}
9182 		} else {
9183 			if (yych <= 't') {
9184 				if (yych == 'm') goto yy60;
9185 				if (yych <= 'r') goto yy3;
9186 				goto yy60;
9187 			} else {
9188 				if (yych <= 'w') {
9189 					if (yych <= 'v') goto yy3;
9190 					goto yy60;
9191 				} else {
9192 					if (yych == 'y') goto yy60;
9193 					goto yy3;
9194 				}
9195 			}
9196 		}
9197 	}
9198 yy458:
9199 	YYDEBUG(458, *YYCURSOR);
9200 	yyaccept = 0;
9201 	yych = *(YYMARKER = ++YYCURSOR);
9202 	if (yybm[0+yych] & 2) {
9203 		goto yy54;
9204 	}
9205 	if (yych <= 'V') {
9206 		if (yych <= 'D') {
9207 			if (yych <= ' ') {
9208 				if (yych == '\t') goto yy60;
9209 				if (yych <= 0x1F) goto yy3;
9210 				goto yy60;
9211 			} else {
9212 				if (yych == '-') goto yy445;
9213 				if (yych <= 'C') goto yy3;
9214 				goto yy60;
9215 			}
9216 		} else {
9217 			if (yych <= 'H') {
9218 				if (yych == 'F') goto yy60;
9219 				if (yych <= 'G') goto yy3;
9220 				goto yy60;
9221 			} else {
9222 				if (yych <= 'M') {
9223 					if (yych <= 'L') goto yy3;
9224 					goto yy60;
9225 				} else {
9226 					if (yych <= 'R') goto yy3;
9227 					if (yych <= 'T') goto yy60;
9228 					goto yy3;
9229 				}
9230 			}
9231 		}
9232 	} else {
9233 		if (yych <= 'h') {
9234 			if (yych <= 'c') {
9235 				if (yych == 'X') goto yy3;
9236 				if (yych <= 'Y') goto yy60;
9237 				goto yy3;
9238 			} else {
9239 				if (yych <= 'e') {
9240 					if (yych <= 'd') goto yy60;
9241 					goto yy3;
9242 				} else {
9243 					if (yych == 'g') goto yy3;
9244 					goto yy60;
9245 				}
9246 			}
9247 		} else {
9248 			if (yych <= 't') {
9249 				if (yych == 'm') goto yy60;
9250 				if (yych <= 'r') goto yy3;
9251 				goto yy60;
9252 			} else {
9253 				if (yych <= 'w') {
9254 					if (yych <= 'v') goto yy3;
9255 					goto yy60;
9256 				} else {
9257 					if (yych == 'y') goto yy60;
9258 					goto yy3;
9259 				}
9260 			}
9261 		}
9262 	}
9263 yy459:
9264 	YYDEBUG(459, *YYCURSOR);
9265 	yych = *++YYCURSOR;
9266 	if (yych <= '/') goto yy461;
9267 	if (yych <= '0') goto yy735;
9268 	if (yych <= '1') goto yy736;
9269 	if (yych <= '9') goto yy737;
9270 	goto yy461;
9271 yy460:
9272 	YYDEBUG(460, *YYCURSOR);
9273 	++YYCURSOR;
9274 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
9275 	yych = *YYCURSOR;
9276 yy461:
9277 	YYDEBUG(461, *YYCURSOR);
9278 	YYDEBUG(-1, yych);
9279 	switch (yych) {
9280 	case '\t':
9281 	case ' ':	goto yy460;
9282 	case '-':
9283 	case '.':	goto yy576;
9284 	case 'A':
9285 	case 'a':	goto yy479;
9286 	case 'D':
9287 	case 'd':	goto yy465;
9288 	case 'F':
9289 	case 'f':	goto yy466;
9290 	case 'H':
9291 	case 'h':	goto yy63;
9292 	case 'I':	goto yy474;
9293 	case 'J':
9294 	case 'j':	goto yy478;
9295 	case 'M':
9296 	case 'm':	goto yy464;
9297 	case 'N':
9298 	case 'n':	goto yy481;
9299 	case 'O':
9300 	case 'o':	goto yy480;
9301 	case 'P':
9302 	case 'p':	goto yy483;
9303 	case 'S':
9304 	case 's':	goto yy462;
9305 	case 'T':
9306 	case 't':	goto yy68;
9307 	case 'V':	goto yy476;
9308 	case 'W':
9309 	case 'w':	goto yy67;
9310 	case 'X':	goto yy477;
9311 	case 'Y':
9312 	case 'y':	goto yy66;
9313 	default:	goto yy56;
9314 	}
9315 yy462:
9316 	YYDEBUG(462, *YYCURSOR);
9317 	yych = *++YYCURSOR;
9318 	if (yych <= 'U') {
9319 		if (yych <= 'D') {
9320 			if (yych == 'A') goto yy126;
9321 			goto yy56;
9322 		} else {
9323 			if (yych <= 'E') goto yy1048;
9324 			if (yych <= 'T') goto yy56;
9325 			goto yy125;
9326 		}
9327 	} else {
9328 		if (yych <= 'd') {
9329 			if (yych == 'a') goto yy126;
9330 			goto yy56;
9331 		} else {
9332 			if (yych <= 'e') goto yy1048;
9333 			if (yych == 'u') goto yy125;
9334 			goto yy56;
9335 		}
9336 	}
9337 yy463:
9338 	YYDEBUG(463, *YYCURSOR);
9339 	yych = *++YYCURSOR;
9340 	if (yych <= '`') {
9341 		if (yych <= 'D') {
9342 			if (yych == 'A') goto yy126;
9343 			goto yy56;
9344 		} else {
9345 			if (yych <= 'E') goto yy1048;
9346 			if (yych == 'U') goto yy125;
9347 			goto yy56;
9348 		}
9349 	} else {
9350 		if (yych <= 'e') {
9351 			if (yych <= 'a') goto yy126;
9352 			if (yych <= 'd') goto yy56;
9353 			goto yy1048;
9354 		} else {
9355 			if (yych <= 's') goto yy56;
9356 			if (yych <= 't') goto yy728;
9357 			if (yych <= 'u') goto yy125;
9358 			goto yy56;
9359 		}
9360 	}
9361 yy464:
9362 	YYDEBUG(464, *YYCURSOR);
9363 	yych = *++YYCURSOR;
9364 	if (yych <= 'O') {
9365 		if (yych <= 'H') {
9366 			if (yych == 'A') goto yy591;
9367 			goto yy56;
9368 		} else {
9369 			if (yych <= 'I') goto yy117;
9370 			if (yych <= 'N') goto yy56;
9371 			goto yy116;
9372 		}
9373 	} else {
9374 		if (yych <= 'h') {
9375 			if (yych == 'a') goto yy591;
9376 			goto yy56;
9377 		} else {
9378 			if (yych <= 'i') goto yy117;
9379 			if (yych == 'o') goto yy116;
9380 			goto yy56;
9381 		}
9382 	}
9383 yy465:
9384 	YYDEBUG(465, *YYCURSOR);
9385 	yych = *++YYCURSOR;
9386 	if (yych <= 'E') {
9387 		if (yych == 'A') goto yy113;
9388 		if (yych <= 'D') goto yy56;
9389 		goto yy578;
9390 	} else {
9391 		if (yych <= 'a') {
9392 			if (yych <= '`') goto yy56;
9393 			goto yy113;
9394 		} else {
9395 			if (yych == 'e') goto yy578;
9396 			goto yy56;
9397 		}
9398 	}
9399 yy466:
9400 	YYDEBUG(466, *YYCURSOR);
9401 	yych = *++YYCURSOR;
9402 	if (yych <= 'R') {
9403 		if (yych <= 'N') {
9404 			if (yych == 'E') goto yy594;
9405 			goto yy56;
9406 		} else {
9407 			if (yych <= 'O') goto yy98;
9408 			if (yych <= 'Q') goto yy56;
9409 			goto yy97;
9410 		}
9411 	} else {
9412 		if (yych <= 'n') {
9413 			if (yych == 'e') goto yy594;
9414 			goto yy56;
9415 		} else {
9416 			if (yych <= 'o') goto yy98;
9417 			if (yych == 'r') goto yy97;
9418 			goto yy56;
9419 		}
9420 	}
9421 yy467:
9422 	YYDEBUG(467, *YYCURSOR);
9423 	yych = *++YYCURSOR;
9424 	if (yych <= 'U') {
9425 		if (yych == 'H') goto yy69;
9426 		if (yych <= 'T') goto yy56;
9427 		goto yy70;
9428 	} else {
9429 		if (yych <= 'h') {
9430 			if (yych <= 'g') goto yy56;
9431 			goto yy1047;
9432 		} else {
9433 			if (yych == 'u') goto yy70;
9434 			goto yy56;
9435 		}
9436 	}
9437 yy468:
9438 	YYDEBUG(468, *YYCURSOR);
9439 	yych = *++YYCURSOR;
9440 	if (yych == '-') goto yy741;
9441 	if (yych <= '/') goto yy60;
9442 	if (yych <= '9') goto yy740;
9443 	goto yy60;
9444 yy469:
9445 	YYDEBUG(469, *YYCURSOR);
9446 	yych = *++YYCURSOR;
9447 	if (yych <= 'c') {
9448 		if (yych == 'O') goto yy529;
9449 		goto yy56;
9450 	} else {
9451 		if (yych <= 'd') goto yy728;
9452 		if (yych == 'o') goto yy529;
9453 		goto yy56;
9454 	}
9455 yy470:
9456 	YYDEBUG(470, *YYCURSOR);
9457 	yych = *++YYCURSOR;
9458 	if (yych == 'd') goto yy728;
9459 	goto yy56;
9460 yy471:
9461 	YYDEBUG(471, *YYCURSOR);
9462 	yych = *++YYCURSOR;
9463 	YYDEBUG(-1, yych);
9464 	switch (yych) {
9465 	case '0':
9466 	case '1':
9467 	case '2':	goto yy665;
9468 	case '3':	goto yy667;
9469 	case '4':
9470 	case '5':
9471 	case '6':
9472 	case '7':
9473 	case '8':
9474 	case '9':	goto yy668;
9475 	case 'A':
9476 	case 'a':	goto yy672;
9477 	case 'D':
9478 	case 'd':	goto yy676;
9479 	case 'F':
9480 	case 'f':	goto yy670;
9481 	case 'J':
9482 	case 'j':	goto yy669;
9483 	case 'M':
9484 	case 'm':	goto yy671;
9485 	case 'N':
9486 	case 'n':	goto yy675;
9487 	case 'O':
9488 	case 'o':	goto yy674;
9489 	case 'S':
9490 	case 's':	goto yy673;
9491 	default:	goto yy56;
9492 	}
9493 yy472:
9494 	YYDEBUG(472, *YYCURSOR);
9495 	yych = *++YYCURSOR;
9496 	YYDEBUG(-1, yych);
9497 	switch (yych) {
9498 	case '0':	goto yy615;
9499 	case '1':	goto yy616;
9500 	case '2':
9501 	case '3':
9502 	case '4':
9503 	case '5':
9504 	case '6':
9505 	case '7':
9506 	case '8':
9507 	case '9':	goto yy617;
9508 	case 'A':
9509 	case 'a':	goto yy621;
9510 	case 'D':
9511 	case 'd':	goto yy625;
9512 	case 'F':
9513 	case 'f':	goto yy619;
9514 	case 'J':
9515 	case 'j':	goto yy618;
9516 	case 'M':
9517 	case 'm':	goto yy620;
9518 	case 'N':
9519 	case 'n':	goto yy624;
9520 	case 'O':
9521 	case 'o':	goto yy623;
9522 	case 'S':
9523 	case 's':	goto yy622;
9524 	default:	goto yy577;
9525 	}
9526 yy473:
9527 	YYDEBUG(473, *YYCURSOR);
9528 	yych = *++YYCURSOR;
9529 	if (yych <= '1') {
9530 		if (yych <= '/') goto yy577;
9531 		if (yych <= '0') goto yy567;
9532 		goto yy568;
9533 	} else {
9534 		if (yych <= '5') goto yy569;
9535 		if (yych <= '9') goto yy570;
9536 		goto yy577;
9537 	}
9538 yy474:
9539 	YYDEBUG(474, *YYCURSOR);
9540 	yyaccept = 10;
9541 	yych = *(YYMARKER = ++YYCURSOR);
9542 	if (yych <= '/') {
9543 		if (yych <= 0x1F) {
9544 			if (yych == '\t') goto yy531;
9545 		} else {
9546 			if (yych <= ' ') goto yy531;
9547 			if (yych <= ',') goto yy475;
9548 			if (yych <= '.') goto yy531;
9549 		}
9550 	} else {
9551 		if (yych <= 'U') {
9552 			if (yych <= '9') goto yy533;
9553 			if (yych == 'I') goto yy566;
9554 		} else {
9555 			if (yych == 'W') goto yy475;
9556 			if (yych <= 'X') goto yy539;
9557 		}
9558 	}
9559 yy475:
9560 	YYDEBUG(475, *YYCURSOR);
9561 #line 1370 "ext/date/lib/parse_date.re"
9562 	{
9563 		DEBUG_OUTPUT("datenoyearrev");
9564 		TIMELIB_INIT;
9565 		TIMELIB_HAVE_DATE();
9566 		s->time->d = timelib_get_nr((char **) &ptr, 2);
9567 		timelib_skip_day_suffix((char **) &ptr);
9568 		s->time->m = timelib_get_month((char **) &ptr);
9569 		TIMELIB_DEINIT;
9570 		return TIMELIB_DATE_TEXT;
9571 	}
9572 #line 9573 "ext/date/lib/parse_date.c"
9573 yy476:
9574 	YYDEBUG(476, *YYCURSOR);
9575 	yyaccept = 10;
9576 	yych = *(YYMARKER = ++YYCURSOR);
9577 	if (yych <= ',') {
9578 		if (yych <= '\t') {
9579 			if (yych <= 0x08) goto yy475;
9580 			goto yy531;
9581 		} else {
9582 			if (yych == ' ') goto yy531;
9583 			goto yy475;
9584 		}
9585 	} else {
9586 		if (yych <= '9') {
9587 			if (yych <= '.') goto yy531;
9588 			if (yych <= '/') goto yy475;
9589 			goto yy533;
9590 		} else {
9591 			if (yych == 'I') goto yy564;
9592 			goto yy475;
9593 		}
9594 	}
9595 yy477:
9596 	YYDEBUG(477, *YYCURSOR);
9597 	yyaccept = 10;
9598 	yych = *(YYMARKER = ++YYCURSOR);
9599 	if (yych <= ',') {
9600 		if (yych <= '\t') {
9601 			if (yych <= 0x08) goto yy475;
9602 			goto yy531;
9603 		} else {
9604 			if (yych == ' ') goto yy531;
9605 			goto yy475;
9606 		}
9607 	} else {
9608 		if (yych <= '9') {
9609 			if (yych <= '.') goto yy531;
9610 			if (yych <= '/') goto yy475;
9611 			goto yy533;
9612 		} else {
9613 			if (yych == 'I') goto yy563;
9614 			goto yy475;
9615 		}
9616 	}
9617 yy478:
9618 	YYDEBUG(478, *YYCURSOR);
9619 	yych = *++YYCURSOR;
9620 	if (yych <= 'U') {
9621 		if (yych == 'A') goto yy556;
9622 		if (yych <= 'T') goto yy56;
9623 		goto yy555;
9624 	} else {
9625 		if (yych <= 'a') {
9626 			if (yych <= '`') goto yy56;
9627 			goto yy556;
9628 		} else {
9629 			if (yych == 'u') goto yy555;
9630 			goto yy56;
9631 		}
9632 	}
9633 yy479:
9634 	YYDEBUG(479, *YYCURSOR);
9635 	yych = *++YYCURSOR;
9636 	if (yych <= 'T') {
9637 		if (yych <= 'L') {
9638 			if (yych == '.') goto yy484;
9639 			goto yy56;
9640 		} else {
9641 			if (yych <= 'M') goto yy485;
9642 			if (yych == 'P') goto yy549;
9643 			goto yy56;
9644 		}
9645 	} else {
9646 		if (yych <= 'o') {
9647 			if (yych <= 'U') goto yy548;
9648 			if (yych == 'm') goto yy485;
9649 			goto yy56;
9650 		} else {
9651 			if (yych <= 'p') goto yy549;
9652 			if (yych == 'u') goto yy548;
9653 			goto yy56;
9654 		}
9655 	}
9656 yy480:
9657 	YYDEBUG(480, *YYCURSOR);
9658 	yych = *++YYCURSOR;
9659 	if (yych == 'C') goto yy543;
9660 	if (yych == 'c') goto yy543;
9661 	goto yy56;
9662 yy481:
9663 	YYDEBUG(481, *YYCURSOR);
9664 	yych = *++YYCURSOR;
9665 	if (yych == 'O') goto yy529;
9666 	if (yych == 'o') goto yy529;
9667 	goto yy56;
9668 yy482:
9669 	YYDEBUG(482, *YYCURSOR);
9670 	yych = *++YYCURSOR;
9671 	if (yych <= '/') goto yy56;
9672 	if (yych <= '5') goto yy489;
9673 	if (yych <= '9') goto yy491;
9674 	goto yy56;
9675 yy483:
9676 	YYDEBUG(483, *YYCURSOR);
9677 	yych = *++YYCURSOR;
9678 	if (yych <= 'L') {
9679 		if (yych != '.') goto yy56;
9680 	} else {
9681 		if (yych <= 'M') goto yy485;
9682 		if (yych == 'm') goto yy485;
9683 		goto yy56;
9684 	}
9685 yy484:
9686 	YYDEBUG(484, *YYCURSOR);
9687 	yych = *++YYCURSOR;
9688 	if (yych == 'M') goto yy485;
9689 	if (yych != 'm') goto yy56;
9690 yy485:
9691 	YYDEBUG(485, *YYCURSOR);
9692 	yych = *++YYCURSOR;
9693 	if (yych <= 0x1F) {
9694 		if (yych <= 0x00) goto yy487;
9695 		if (yych == '\t') goto yy487;
9696 		goto yy56;
9697 	} else {
9698 		if (yych <= ' ') goto yy487;
9699 		if (yych != '.') goto yy56;
9700 	}
9701 	YYDEBUG(486, *YYCURSOR);
9702 	yych = *++YYCURSOR;
9703 	if (yych <= '\t') {
9704 		if (yych <= 0x00) goto yy487;
9705 		if (yych <= 0x08) goto yy56;
9706 	} else {
9707 		if (yych != ' ') goto yy56;
9708 	}
9709 yy487:
9710 	YYDEBUG(487, *YYCURSOR);
9711 	++YYCURSOR;
9712 	YYDEBUG(488, *YYCURSOR);
9713 #line 1088 "ext/date/lib/parse_date.re"
9714 	{
9715 		DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
9716 		TIMELIB_INIT;
9717 		TIMELIB_HAVE_TIME();
9718 		s->time->h = timelib_get_nr((char **) &ptr, 2);
9719 		if (*ptr == ':' || *ptr == '.') {
9720 			s->time->i = timelib_get_nr((char **) &ptr, 2);
9721 			if (*ptr == ':' || *ptr == '.') {
9722 				s->time->s = timelib_get_nr((char **) &ptr, 2);
9723 			}
9724 		}
9725 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
9726 		TIMELIB_DEINIT;
9727 		return TIMELIB_TIME12;
9728 	}
9729 #line 9730 "ext/date/lib/parse_date.c"
9730 yy489:
9731 	YYDEBUG(489, *YYCURSOR);
9732 	yyaccept = 11;
9733 	yych = *(YYMARKER = ++YYCURSOR);
9734 	if (yych <= '/') {
9735 		if (yych == '.') goto yy492;
9736 	} else {
9737 		if (yych <= '9') goto yy506;
9738 		if (yych <= ':') goto yy492;
9739 	}
9740 yy490:
9741 	YYDEBUG(490, *YYCURSOR);
9742 #line 1125 "ext/date/lib/parse_date.re"
9743 	{
9744 		int tz_not_found;
9745 		DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
9746 		TIMELIB_INIT;
9747 		TIMELIB_HAVE_TIME();
9748 		s->time->h = timelib_get_nr((char **) &ptr, 2);
9749 		s->time->i = timelib_get_nr((char **) &ptr, 2);
9750 		if (*ptr == ':' || *ptr == '.') {
9751 			s->time->s = timelib_get_nr((char **) &ptr, 2);
9752 
9753 			if (*ptr == '.') {
9754 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
9755 			}
9756 		}
9757 
9758 		if (*ptr != '\0') {
9759 			s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
9760 			if (tz_not_found) {
9761 				add_error(s, "The timezone could not be found in the database");
9762 			}
9763 		}
9764 		TIMELIB_DEINIT;
9765 		return TIMELIB_TIME24_WITH_ZONE;
9766 	}
9767 #line 9768 "ext/date/lib/parse_date.c"
9768 yy491:
9769 	YYDEBUG(491, *YYCURSOR);
9770 	yyaccept = 11;
9771 	yych = *(YYMARKER = ++YYCURSOR);
9772 	if (yych == '.') goto yy492;
9773 	if (yych != ':') goto yy490;
9774 yy492:
9775 	YYDEBUG(492, *YYCURSOR);
9776 	yych = *++YYCURSOR;
9777 	if (yych <= '/') goto yy56;
9778 	if (yych <= '5') goto yy493;
9779 	if (yych <= '6') goto yy494;
9780 	if (yych <= '9') goto yy495;
9781 	goto yy56;
9782 yy493:
9783 	YYDEBUG(493, *YYCURSOR);
9784 	yyaccept = 11;
9785 	yych = *(YYMARKER = ++YYCURSOR);
9786 	if (yych == '.') goto yy496;
9787 	if (yych <= '/') goto yy490;
9788 	if (yych <= '9') goto yy499;
9789 	goto yy490;
9790 yy494:
9791 	YYDEBUG(494, *YYCURSOR);
9792 	yyaccept = 11;
9793 	yych = *(YYMARKER = ++YYCURSOR);
9794 	if (yych == '.') goto yy496;
9795 	if (yych == '0') goto yy499;
9796 	goto yy490;
9797 yy495:
9798 	YYDEBUG(495, *YYCURSOR);
9799 	yyaccept = 11;
9800 	yych = *(YYMARKER = ++YYCURSOR);
9801 	if (yych != '.') goto yy490;
9802 yy496:
9803 	YYDEBUG(496, *YYCURSOR);
9804 	yych = *++YYCURSOR;
9805 	if (yych <= '/') goto yy56;
9806 	if (yych >= ':') goto yy56;
9807 yy497:
9808 	YYDEBUG(497, *YYCURSOR);
9809 	++YYCURSOR;
9810 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
9811 	yych = *YYCURSOR;
9812 	YYDEBUG(498, *YYCURSOR);
9813 	if (yych <= '/') goto yy490;
9814 	if (yych <= '9') goto yy497;
9815 	goto yy490;
9816 yy499:
9817 	YYDEBUG(499, *YYCURSOR);
9818 	yyaccept = 11;
9819 	yych = *(YYMARKER = ++YYCURSOR);
9820 	if (yych <= '@') {
9821 		if (yych <= 0x1F) {
9822 			if (yych != '\t') goto yy490;
9823 		} else {
9824 			if (yych <= ' ') goto yy500;
9825 			if (yych == '.') goto yy496;
9826 			goto yy490;
9827 		}
9828 	} else {
9829 		if (yych <= '`') {
9830 			if (yych <= 'A') goto yy502;
9831 			if (yych == 'P') goto yy502;
9832 			goto yy490;
9833 		} else {
9834 			if (yych <= 'a') goto yy502;
9835 			if (yych == 'p') goto yy502;
9836 			goto yy490;
9837 		}
9838 	}
9839 yy500:
9840 	YYDEBUG(500, *YYCURSOR);
9841 	++YYCURSOR;
9842 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
9843 	yych = *YYCURSOR;
9844 	YYDEBUG(501, *YYCURSOR);
9845 	if (yych <= 'A') {
9846 		if (yych <= 0x1F) {
9847 			if (yych == '\t') goto yy500;
9848 			goto yy56;
9849 		} else {
9850 			if (yych <= ' ') goto yy500;
9851 			if (yych <= '@') goto yy56;
9852 		}
9853 	} else {
9854 		if (yych <= '`') {
9855 			if (yych != 'P') goto yy56;
9856 		} else {
9857 			if (yych <= 'a') goto yy502;
9858 			if (yych != 'p') goto yy56;
9859 		}
9860 	}
9861 yy502:
9862 	YYDEBUG(502, *YYCURSOR);
9863 	yych = *++YYCURSOR;
9864 	if (yych <= 'L') {
9865 		if (yych != '.') goto yy56;
9866 	} else {
9867 		if (yych <= 'M') goto yy504;
9868 		if (yych == 'm') goto yy504;
9869 		goto yy56;
9870 	}
9871 	YYDEBUG(503, *YYCURSOR);
9872 	yych = *++YYCURSOR;
9873 	if (yych == 'M') goto yy504;
9874 	if (yych != 'm') goto yy56;
9875 yy504:
9876 	YYDEBUG(504, *YYCURSOR);
9877 	yych = *++YYCURSOR;
9878 	if (yych <= 0x1F) {
9879 		if (yych <= 0x00) goto yy487;
9880 		if (yych == '\t') goto yy487;
9881 		goto yy56;
9882 	} else {
9883 		if (yych <= ' ') goto yy487;
9884 		if (yych != '.') goto yy56;
9885 	}
9886 	YYDEBUG(505, *YYCURSOR);
9887 	yych = *++YYCURSOR;
9888 	if (yych <= '\t') {
9889 		if (yych <= 0x00) goto yy487;
9890 		if (yych <= 0x08) goto yy56;
9891 		goto yy487;
9892 	} else {
9893 		if (yych == ' ') goto yy487;
9894 		goto yy56;
9895 	}
9896 yy506:
9897 	YYDEBUG(506, *YYCURSOR);
9898 	yyaccept = 11;
9899 	yych = *(YYMARKER = ++YYCURSOR);
9900 	if (yych <= ':') {
9901 		if (yych <= ' ') {
9902 			if (yych == '\t') goto yy507;
9903 			if (yych <= 0x1F) goto yy490;
9904 		} else {
9905 			if (yych == '.') goto yy492;
9906 			if (yych <= '9') goto yy490;
9907 			goto yy510;
9908 		}
9909 	} else {
9910 		if (yych <= 'P') {
9911 			if (yych == 'A') goto yy509;
9912 			if (yych <= 'O') goto yy490;
9913 			goto yy509;
9914 		} else {
9915 			if (yych <= 'a') {
9916 				if (yych <= '`') goto yy490;
9917 				goto yy509;
9918 			} else {
9919 				if (yych == 'p') goto yy509;
9920 				goto yy490;
9921 			}
9922 		}
9923 	}
9924 yy507:
9925 	YYDEBUG(507, *YYCURSOR);
9926 	++YYCURSOR;
9927 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
9928 	yych = *YYCURSOR;
9929 	YYDEBUG(508, *YYCURSOR);
9930 	if (yych <= 'A') {
9931 		if (yych <= 0x1F) {
9932 			if (yych == '\t') goto yy507;
9933 			goto yy56;
9934 		} else {
9935 			if (yych <= ' ') goto yy507;
9936 			if (yych <= '@') goto yy56;
9937 		}
9938 	} else {
9939 		if (yych <= '`') {
9940 			if (yych != 'P') goto yy56;
9941 		} else {
9942 			if (yych <= 'a') goto yy509;
9943 			if (yych != 'p') goto yy56;
9944 		}
9945 	}
9946 yy509:
9947 	YYDEBUG(509, *YYCURSOR);
9948 	yych = *++YYCURSOR;
9949 	if (yych <= 'L') {
9950 		if (yych == '.') goto yy526;
9951 		goto yy56;
9952 	} else {
9953 		if (yych <= 'M') goto yy527;
9954 		if (yych == 'm') goto yy527;
9955 		goto yy56;
9956 	}
9957 yy510:
9958 	YYDEBUG(510, *YYCURSOR);
9959 	yych = *++YYCURSOR;
9960 	if (yych <= '/') goto yy56;
9961 	if (yych <= '5') goto yy511;
9962 	if (yych <= '6') goto yy512;
9963 	if (yych <= '9') goto yy495;
9964 	goto yy56;
9965 yy511:
9966 	YYDEBUG(511, *YYCURSOR);
9967 	yyaccept = 11;
9968 	yych = *(YYMARKER = ++YYCURSOR);
9969 	if (yych == '.') goto yy496;
9970 	if (yych <= '/') goto yy490;
9971 	if (yych <= '9') goto yy513;
9972 	goto yy490;
9973 yy512:
9974 	YYDEBUG(512, *YYCURSOR);
9975 	yyaccept = 11;
9976 	yych = *(YYMARKER = ++YYCURSOR);
9977 	if (yych == '.') goto yy496;
9978 	if (yych != '0') goto yy490;
9979 yy513:
9980 	YYDEBUG(513, *YYCURSOR);
9981 	yyaccept = 11;
9982 	yych = *(YYMARKER = ++YYCURSOR);
9983 	if (yych <= ':') {
9984 		if (yych <= ' ') {
9985 			if (yych == '\t') goto yy500;
9986 			if (yych <= 0x1F) goto yy490;
9987 			goto yy500;
9988 		} else {
9989 			if (yych == '.') goto yy514;
9990 			if (yych <= '9') goto yy490;
9991 			goto yy515;
9992 		}
9993 	} else {
9994 		if (yych <= 'P') {
9995 			if (yych == 'A') goto yy502;
9996 			if (yych <= 'O') goto yy490;
9997 			goto yy502;
9998 		} else {
9999 			if (yych <= 'a') {
10000 				if (yych <= '`') goto yy490;
10001 				goto yy502;
10002 			} else {
10003 				if (yych == 'p') goto yy502;
10004 				goto yy490;
10005 			}
10006 		}
10007 	}
10008 yy514:
10009 	YYDEBUG(514, *YYCURSOR);
10010 	yych = *++YYCURSOR;
10011 	if (yych <= '/') goto yy56;
10012 	if (yych <= '9') goto yy524;
10013 	goto yy56;
10014 yy515:
10015 	YYDEBUG(515, *YYCURSOR);
10016 	yych = *++YYCURSOR;
10017 	if (yych <= '/') goto yy56;
10018 	if (yych >= ':') goto yy56;
10019 yy516:
10020 	YYDEBUG(516, *YYCURSOR);
10021 	++YYCURSOR;
10022 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
10023 	yych = *YYCURSOR;
10024 	YYDEBUG(517, *YYCURSOR);
10025 	if (yych <= 'O') {
10026 		if (yych <= '9') {
10027 			if (yych <= '/') goto yy56;
10028 			goto yy516;
10029 		} else {
10030 			if (yych != 'A') goto yy56;
10031 		}
10032 	} else {
10033 		if (yych <= 'a') {
10034 			if (yych <= 'P') goto yy518;
10035 			if (yych <= '`') goto yy56;
10036 		} else {
10037 			if (yych != 'p') goto yy56;
10038 		}
10039 	}
10040 yy518:
10041 	YYDEBUG(518, *YYCURSOR);
10042 	yych = *++YYCURSOR;
10043 	if (yych <= 'L') {
10044 		if (yych != '.') goto yy56;
10045 	} else {
10046 		if (yych <= 'M') goto yy520;
10047 		if (yych == 'm') goto yy520;
10048 		goto yy56;
10049 	}
10050 	YYDEBUG(519, *YYCURSOR);
10051 	yych = *++YYCURSOR;
10052 	if (yych == 'M') goto yy520;
10053 	if (yych != 'm') goto yy56;
10054 yy520:
10055 	YYDEBUG(520, *YYCURSOR);
10056 	yych = *++YYCURSOR;
10057 	if (yych <= 0x1F) {
10058 		if (yych <= 0x00) goto yy522;
10059 		if (yych == '\t') goto yy522;
10060 		goto yy56;
10061 	} else {
10062 		if (yych <= ' ') goto yy522;
10063 		if (yych != '.') goto yy56;
10064 	}
10065 	YYDEBUG(521, *YYCURSOR);
10066 	yych = *++YYCURSOR;
10067 	if (yych <= '\t') {
10068 		if (yych <= 0x00) goto yy522;
10069 		if (yych <= 0x08) goto yy56;
10070 	} else {
10071 		if (yych != ' ') goto yy56;
10072 	}
10073 yy522:
10074 	YYDEBUG(522, *YYCURSOR);
10075 	++YYCURSOR;
10076 	YYDEBUG(523, *YYCURSOR);
10077 #line 1105 "ext/date/lib/parse_date.re"
10078 	{
10079 		DEBUG_OUTPUT("mssqltime");
10080 		TIMELIB_INIT;
10081 		TIMELIB_HAVE_TIME();
10082 		s->time->h = timelib_get_nr((char **) &ptr, 2);
10083 		s->time->i = timelib_get_nr((char **) &ptr, 2);
10084 		if (*ptr == ':' || *ptr == '.') {
10085 			s->time->s = timelib_get_nr((char **) &ptr, 2);
10086 
10087 			if (*ptr == ':' || *ptr == '.') {
10088 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
10089 			}
10090 		}
10091 		timelib_eat_spaces((char **) &ptr);
10092 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
10093 		TIMELIB_DEINIT;
10094 		return TIMELIB_TIME24_WITH_ZONE;
10095 	}
10096 #line 10097 "ext/date/lib/parse_date.c"
10097 yy524:
10098 	YYDEBUG(524, *YYCURSOR);
10099 	yyaccept = 11;
10100 	YYMARKER = ++YYCURSOR;
10101 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
10102 	yych = *YYCURSOR;
10103 	YYDEBUG(525, *YYCURSOR);
10104 	if (yych <= 'O') {
10105 		if (yych <= '9') {
10106 			if (yych <= '/') goto yy490;
10107 			goto yy524;
10108 		} else {
10109 			if (yych == 'A') goto yy518;
10110 			goto yy490;
10111 		}
10112 	} else {
10113 		if (yych <= 'a') {
10114 			if (yych <= 'P') goto yy518;
10115 			if (yych <= '`') goto yy490;
10116 			goto yy518;
10117 		} else {
10118 			if (yych == 'p') goto yy518;
10119 			goto yy490;
10120 		}
10121 	}
10122 yy526:
10123 	YYDEBUG(526, *YYCURSOR);
10124 	yych = *++YYCURSOR;
10125 	if (yych == 'M') goto yy527;
10126 	if (yych != 'm') goto yy56;
10127 yy527:
10128 	YYDEBUG(527, *YYCURSOR);
10129 	yych = *++YYCURSOR;
10130 	if (yych <= 0x1F) {
10131 		if (yych <= 0x00) goto yy487;
10132 		if (yych == '\t') goto yy487;
10133 		goto yy56;
10134 	} else {
10135 		if (yych <= ' ') goto yy487;
10136 		if (yych != '.') goto yy56;
10137 	}
10138 	YYDEBUG(528, *YYCURSOR);
10139 	yych = *++YYCURSOR;
10140 	if (yych <= '\t') {
10141 		if (yych <= 0x00) goto yy487;
10142 		if (yych <= 0x08) goto yy56;
10143 		goto yy487;
10144 	} else {
10145 		if (yych == ' ') goto yy487;
10146 		goto yy56;
10147 	}
10148 yy529:
10149 	YYDEBUG(529, *YYCURSOR);
10150 	yych = *++YYCURSOR;
10151 	if (yych == 'V') goto yy530;
10152 	if (yych != 'v') goto yy56;
10153 yy530:
10154 	YYDEBUG(530, *YYCURSOR);
10155 	yyaccept = 10;
10156 	yych = *(YYMARKER = ++YYCURSOR);
10157 	if (yych <= '.') {
10158 		if (yych <= 0x1F) {
10159 			if (yych != '\t') goto yy475;
10160 		} else {
10161 			if (yych <= ' ') goto yy531;
10162 			if (yych <= ',') goto yy475;
10163 		}
10164 	} else {
10165 		if (yych <= 'D') {
10166 			if (yych <= '/') goto yy475;
10167 			if (yych <= '9') goto yy533;
10168 			goto yy475;
10169 		} else {
10170 			if (yych <= 'E') goto yy535;
10171 			if (yych == 'e') goto yy535;
10172 			goto yy475;
10173 		}
10174 	}
10175 yy531:
10176 	YYDEBUG(531, *YYCURSOR);
10177 	++YYCURSOR;
10178 	if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
10179 	yych = *YYCURSOR;
10180 yy532:
10181 	YYDEBUG(532, *YYCURSOR);
10182 	if (yych <= ' ') {
10183 		if (yych == '\t') goto yy531;
10184 		if (yych <= 0x1F) goto yy56;
10185 		goto yy531;
10186 	} else {
10187 		if (yych <= '.') {
10188 			if (yych <= ',') goto yy56;
10189 			goto yy531;
10190 		} else {
10191 			if (yych <= '/') goto yy56;
10192 			if (yych >= ':') goto yy56;
10193 		}
10194 	}
10195 yy533:
10196 	YYDEBUG(533, *YYCURSOR);
10197 	++YYCURSOR;
10198 	if ((yych = *YYCURSOR) <= '/') goto yy534;
10199 	if (yych <= '9') goto yy540;
10200 yy534:
10201 	YYDEBUG(534, *YYCURSOR);
10202 #line 1287 "ext/date/lib/parse_date.re"
10203 	{
10204 		int length = 0;
10205 		DEBUG_OUTPUT("datefull");
10206 		TIMELIB_INIT;
10207 		TIMELIB_HAVE_DATE();
10208 		s->time->d = timelib_get_nr((char **) &ptr, 2);
10209 		timelib_skip_day_suffix((char **) &ptr);
10210 		s->time->m = timelib_get_month((char **) &ptr);
10211 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
10212 		TIMELIB_PROCESS_YEAR(s->time->y, length);
10213 		TIMELIB_DEINIT;
10214 		return TIMELIB_DATE_FULL;
10215 	}
10216 #line 10217 "ext/date/lib/parse_date.c"
10217 yy535:
10218 	YYDEBUG(535, *YYCURSOR);
10219 	yych = *++YYCURSOR;
10220 	if (yych == 'M') goto yy536;
10221 	if (yych != 'm') goto yy56;
10222 yy536:
10223 	YYDEBUG(536, *YYCURSOR);
10224 	yych = *++YYCURSOR;
10225 	if (yych == 'B') goto yy537;
10226 	if (yych != 'b') goto yy56;
10227 yy537:
10228 	YYDEBUG(537, *YYCURSOR);
10229 	yych = *++YYCURSOR;
10230 	if (yych == 'E') goto yy538;
10231 	if (yych != 'e') goto yy56;
10232 yy538:
10233 	YYDEBUG(538, *YYCURSOR);
10234 	yych = *++YYCURSOR;
10235 	if (yych == 'R') goto yy539;
10236 	if (yych != 'r') goto yy56;
10237 yy539:
10238 	YYDEBUG(539, *YYCURSOR);
10239 	yyaccept = 10;
10240 	yych = *(YYMARKER = ++YYCURSOR);
10241 	if (yych <= ' ') {
10242 		if (yych == '\t') goto yy531;
10243 		if (yych <= 0x1F) goto yy475;
10244 		goto yy531;
10245 	} else {
10246 		if (yych <= '.') {
10247 			if (yych <= ',') goto yy475;
10248 			goto yy531;
10249 		} else {
10250 			if (yych <= '/') goto yy475;
10251 			if (yych <= '9') goto yy533;
10252 			goto yy475;
10253 		}
10254 	}
10255 yy540:
10256 	YYDEBUG(540, *YYCURSOR);
10257 	yych = *++YYCURSOR;
10258 	if (yych <= '/') goto yy534;
10259 	if (yych >= ':') goto yy534;
10260 yy541:
10261 	YYDEBUG(541, *YYCURSOR);
10262 	yych = *++YYCURSOR;
10263 	if (yych <= '/') goto yy534;
10264 	if (yych >= ':') goto yy534;
10265 	YYDEBUG(542, *YYCURSOR);
10266 	yych = *++YYCURSOR;
10267 	goto yy534;
10268 yy543:
10269 	YYDEBUG(543, *YYCURSOR);
10270 	yych = *++YYCURSOR;
10271 	if (yych == 'T') goto yy544;
10272 	if (yych != 't') goto yy56;
10273 yy544:
10274 	YYDEBUG(544, *YYCURSOR);
10275 	yyaccept = 10;
10276 	yych = *(YYMARKER = ++YYCURSOR);
10277 	if (yych <= '.') {
10278 		if (yych <= 0x1F) {
10279 			if (yych == '\t') goto yy531;
10280 			goto yy475;
10281 		} else {
10282 			if (yych <= ' ') goto yy531;
10283 			if (yych <= ',') goto yy475;
10284 			goto yy531;
10285 		}
10286 	} else {
10287 		if (yych <= 'N') {
10288 			if (yych <= '/') goto yy475;
10289 			if (yych <= '9') goto yy533;
10290 			goto yy475;
10291 		} else {
10292 			if (yych <= 'O') goto yy545;
10293 			if (yych != 'o') goto yy475;
10294 		}
10295 	}
10296 yy545:
10297 	YYDEBUG(545, *YYCURSOR);
10298 	yych = *++YYCURSOR;
10299 	if (yych == 'B') goto yy546;
10300 	if (yych != 'b') goto yy56;
10301 yy546:
10302 	YYDEBUG(546, *YYCURSOR);
10303 	yych = *++YYCURSOR;
10304 	if (yych == 'E') goto yy547;
10305 	if (yych != 'e') goto yy56;
10306 yy547:
10307 	YYDEBUG(547, *YYCURSOR);
10308 	yych = *++YYCURSOR;
10309 	if (yych == 'R') goto yy539;
10310 	if (yych == 'r') goto yy539;
10311 	goto yy56;
10312 yy548:
10313 	YYDEBUG(548, *YYCURSOR);
10314 	yych = *++YYCURSOR;
10315 	if (yych == 'G') goto yy552;
10316 	if (yych == 'g') goto yy552;
10317 	goto yy56;
10318 yy549:
10319 	YYDEBUG(549, *YYCURSOR);
10320 	yych = *++YYCURSOR;
10321 	if (yych == 'R') goto yy550;
10322 	if (yych != 'r') goto yy56;
10323 yy550:
10324 	YYDEBUG(550, *YYCURSOR);
10325 	yyaccept = 10;
10326 	yych = *(YYMARKER = ++YYCURSOR);
10327 	if (yych <= '.') {
10328 		if (yych <= 0x1F) {
10329 			if (yych == '\t') goto yy531;
10330 			goto yy475;
10331 		} else {
10332 			if (yych <= ' ') goto yy531;
10333 			if (yych <= ',') goto yy475;
10334 			goto yy531;
10335 		}
10336 	} else {
10337 		if (yych <= 'H') {
10338 			if (yych <= '/') goto yy475;
10339 			if (yych <= '9') goto yy533;
10340 			goto yy475;
10341 		} else {
10342 			if (yych <= 'I') goto yy551;
10343 			if (yych != 'i') goto yy475;
10344 		}
10345 	}
10346 yy551:
10347 	YYDEBUG(551, *YYCURSOR);
10348 	yych = *++YYCURSOR;
10349 	if (yych == 'L') goto yy539;
10350 	if (yych == 'l') goto yy539;
10351 	goto yy56;
10352 yy552:
10353 	YYDEBUG(552, *YYCURSOR);
10354 	yyaccept = 10;
10355 	yych = *(YYMARKER = ++YYCURSOR);
10356 	if (yych <= '.') {
10357 		if (yych <= 0x1F) {
10358 			if (yych == '\t') goto yy531;
10359 			goto yy475;
10360 		} else {
10361 			if (yych <= ' ') goto yy531;
10362 			if (yych <= ',') goto yy475;
10363 			goto yy531;
10364 		}
10365 	} else {
10366 		if (yych <= 'T') {
10367 			if (yych <= '/') goto yy475;
10368 			if (yych <= '9') goto yy533;
10369 			goto yy475;
10370 		} else {
10371 			if (yych <= 'U') goto yy553;
10372 			if (yych != 'u') goto yy475;
10373 		}
10374 	}
10375 yy553:
10376 	YYDEBUG(553, *YYCURSOR);
10377 	yych = *++YYCURSOR;
10378 	if (yych == 'S') goto yy554;
10379 	if (yych != 's') goto yy56;
10380 yy554:
10381 	YYDEBUG(554, *YYCURSOR);
10382 	yych = *++YYCURSOR;
10383 	if (yych == 'T') goto yy539;
10384 	if (yych == 't') goto yy539;
10385 	goto yy56;
10386 yy555:
10387 	YYDEBUG(555, *YYCURSOR);
10388 	yych = *++YYCURSOR;
10389 	if (yych <= 'N') {
10390 		if (yych == 'L') goto yy562;
10391 		if (yych <= 'M') goto yy56;
10392 		goto yy561;
10393 	} else {
10394 		if (yych <= 'l') {
10395 			if (yych <= 'k') goto yy56;
10396 			goto yy562;
10397 		} else {
10398 			if (yych == 'n') goto yy561;
10399 			goto yy56;
10400 		}
10401 	}
10402 yy556:
10403 	YYDEBUG(556, *YYCURSOR);
10404 	yych = *++YYCURSOR;
10405 	if (yych == 'N') goto yy557;
10406 	if (yych != 'n') goto yy56;
10407 yy557:
10408 	YYDEBUG(557, *YYCURSOR);
10409 	yyaccept = 10;
10410 	yych = *(YYMARKER = ++YYCURSOR);
10411 	if (yych <= '.') {
10412 		if (yych <= 0x1F) {
10413 			if (yych == '\t') goto yy531;
10414 			goto yy475;
10415 		} else {
10416 			if (yych <= ' ') goto yy531;
10417 			if (yych <= ',') goto yy475;
10418 			goto yy531;
10419 		}
10420 	} else {
10421 		if (yych <= 'T') {
10422 			if (yych <= '/') goto yy475;
10423 			if (yych <= '9') goto yy533;
10424 			goto yy475;
10425 		} else {
10426 			if (yych <= 'U') goto yy558;
10427 			if (yych != 'u') goto yy475;
10428 		}
10429 	}
10430 yy558:
10431 	YYDEBUG(558, *YYCURSOR);
10432 	yych = *++YYCURSOR;
10433 	if (yych == 'A') goto yy559;
10434 	if (yych != 'a') goto yy56;
10435 yy559:
10436 	YYDEBUG(559, *YYCURSOR);
10437 	yych = *++YYCURSOR;
10438 	if (yych == 'R') goto yy560;
10439 	if (yych != 'r') goto yy56;
10440 yy560:
10441 	YYDEBUG(560, *YYCURSOR);
10442 	yych = *++YYCURSOR;
10443 	if (yych == 'Y') goto yy539;
10444 	if (yych == 'y') goto yy539;
10445 	goto yy56;
10446 yy561:
10447 	YYDEBUG(561, *YYCURSOR);
10448 	yyaccept = 10;
10449 	yych = *(YYMARKER = ++YYCURSOR);
10450 	if (yych <= '.') {
10451 		if (yych <= 0x1F) {
10452 			if (yych == '\t') goto yy531;
10453 			goto yy475;
10454 		} else {
10455 			if (yych <= ' ') goto yy531;
10456 			if (yych <= ',') goto yy475;
10457 			goto yy531;
10458 		}
10459 	} else {
10460 		if (yych <= 'D') {
10461 			if (yych <= '/') goto yy475;
10462 			if (yych <= '9') goto yy533;
10463 			goto yy475;
10464 		} else {
10465 			if (yych <= 'E') goto yy539;
10466 			if (yych == 'e') goto yy539;
10467 			goto yy475;
10468 		}
10469 	}
10470 yy562:
10471 	YYDEBUG(562, *YYCURSOR);
10472 	yyaccept = 10;
10473 	yych = *(YYMARKER = ++YYCURSOR);
10474 	if (yych <= '.') {
10475 		if (yych <= 0x1F) {
10476 			if (yych == '\t') goto yy531;
10477 			goto yy475;
10478 		} else {
10479 			if (yych <= ' ') goto yy531;
10480 			if (yych <= ',') goto yy475;
10481 			goto yy531;
10482 		}
10483 	} else {
10484 		if (yych <= 'X') {
10485 			if (yych <= '/') goto yy475;
10486 			if (yych <= '9') goto yy533;
10487 			goto yy475;
10488 		} else {
10489 			if (yych <= 'Y') goto yy539;
10490 			if (yych == 'y') goto yy539;
10491 			goto yy475;
10492 		}
10493 	}
10494 yy563:
10495 	YYDEBUG(563, *YYCURSOR);
10496 	yyaccept = 10;
10497 	yych = *(YYMARKER = ++YYCURSOR);
10498 	if (yych <= ',') {
10499 		if (yych <= '\t') {
10500 			if (yych <= 0x08) goto yy475;
10501 			goto yy531;
10502 		} else {
10503 			if (yych == ' ') goto yy531;
10504 			goto yy475;
10505 		}
10506 	} else {
10507 		if (yych <= '9') {
10508 			if (yych <= '.') goto yy531;
10509 			if (yych <= '/') goto yy475;
10510 			goto yy533;
10511 		} else {
10512 			if (yych == 'I') goto yy539;
10513 			goto yy475;
10514 		}
10515 	}
10516 yy564:
10517 	YYDEBUG(564, *YYCURSOR);
10518 	yyaccept = 10;
10519 	yych = *(YYMARKER = ++YYCURSOR);
10520 	if (yych <= ',') {
10521 		if (yych <= '\t') {
10522 			if (yych <= 0x08) goto yy475;
10523 			goto yy531;
10524 		} else {
10525 			if (yych == ' ') goto yy531;
10526 			goto yy475;
10527 		}
10528 	} else {
10529 		if (yych <= '9') {
10530 			if (yych <= '.') goto yy531;
10531 			if (yych <= '/') goto yy475;
10532 			goto yy533;
10533 		} else {
10534 			if (yych != 'I') goto yy475;
10535 		}
10536 	}
10537 	YYDEBUG(565, *YYCURSOR);
10538 	yyaccept = 10;
10539 	yych = *(YYMARKER = ++YYCURSOR);
10540 	if (yych <= ',') {
10541 		if (yych <= '\t') {
10542 			if (yych <= 0x08) goto yy475;
10543 			goto yy531;
10544 		} else {
10545 			if (yych == ' ') goto yy531;
10546 			goto yy475;
10547 		}
10548 	} else {
10549 		if (yych <= '9') {
10550 			if (yych <= '.') goto yy531;
10551 			if (yych <= '/') goto yy475;
10552 			goto yy533;
10553 		} else {
10554 			if (yych == 'I') goto yy539;
10555 			goto yy475;
10556 		}
10557 	}
10558 yy566:
10559 	YYDEBUG(566, *YYCURSOR);
10560 	yyaccept = 10;
10561 	yych = *(YYMARKER = ++YYCURSOR);
10562 	if (yych <= ',') {
10563 		if (yych <= '\t') {
10564 			if (yych <= 0x08) goto yy475;
10565 			goto yy531;
10566 		} else {
10567 			if (yych == ' ') goto yy531;
10568 			goto yy475;
10569 		}
10570 	} else {
10571 		if (yych <= '9') {
10572 			if (yych <= '.') goto yy531;
10573 			if (yych <= '/') goto yy475;
10574 			goto yy533;
10575 		} else {
10576 			if (yych == 'I') goto yy539;
10577 			goto yy475;
10578 		}
10579 	}
10580 yy567:
10581 	YYDEBUG(567, *YYCURSOR);
10582 	yyaccept = 11;
10583 	yych = *(YYMARKER = ++YYCURSOR);
10584 	if (yych <= '.') {
10585 		if (yych <= ',') goto yy490;
10586 		if (yych <= '-') goto yy601;
10587 		goto yy600;
10588 	} else {
10589 		if (yych <= '/') goto yy490;
10590 		if (yych <= '9') goto yy614;
10591 		if (yych <= ':') goto yy492;
10592 		goto yy490;
10593 	}
10594 yy568:
10595 	YYDEBUG(568, *YYCURSOR);
10596 	yyaccept = 11;
10597 	yych = *(YYMARKER = ++YYCURSOR);
10598 	if (yych <= '/') {
10599 		if (yych <= ',') goto yy490;
10600 		if (yych <= '-') goto yy601;
10601 		if (yych <= '.') goto yy600;
10602 		goto yy490;
10603 	} else {
10604 		if (yych <= '2') goto yy614;
10605 		if (yych <= '9') goto yy613;
10606 		if (yych <= ':') goto yy492;
10607 		goto yy490;
10608 	}
10609 yy569:
10610 	YYDEBUG(569, *YYCURSOR);
10611 	yyaccept = 11;
10612 	yych = *(YYMARKER = ++YYCURSOR);
10613 	if (yych <= '.') {
10614 		if (yych <= ',') goto yy490;
10615 		if (yych <= '-') goto yy601;
10616 		goto yy600;
10617 	} else {
10618 		if (yych <= '/') goto yy490;
10619 		if (yych <= '9') goto yy613;
10620 		if (yych <= ':') goto yy492;
10621 		goto yy490;
10622 	}
10623 yy570:
10624 	YYDEBUG(570, *YYCURSOR);
10625 	yyaccept = 11;
10626 	yych = *(YYMARKER = ++YYCURSOR);
10627 	if (yych <= '.') {
10628 		if (yych <= ',') goto yy490;
10629 		if (yych <= '-') goto yy601;
10630 		goto yy600;
10631 	} else {
10632 		if (yych == ':') goto yy492;
10633 		goto yy490;
10634 	}
10635 yy571:
10636 	YYDEBUG(571, *YYCURSOR);
10637 	yych = *++YYCURSOR;
10638 	if (yych == 'E') goto yy594;
10639 	if (yych == 'e') goto yy594;
10640 	goto yy56;
10641 yy572:
10642 	YYDEBUG(572, *YYCURSOR);
10643 	yych = *++YYCURSOR;
10644 	if (yych == 'A') goto yy591;
10645 	if (yych == 'a') goto yy591;
10646 	goto yy56;
10647 yy573:
10648 	YYDEBUG(573, *YYCURSOR);
10649 	yych = *++YYCURSOR;
10650 	if (yych <= 'U') {
10651 		if (yych == 'P') goto yy549;
10652 		if (yych <= 'T') goto yy56;
10653 		goto yy548;
10654 	} else {
10655 		if (yych <= 'p') {
10656 			if (yych <= 'o') goto yy56;
10657 			goto yy549;
10658 		} else {
10659 			if (yych == 'u') goto yy548;
10660 			goto yy56;
10661 		}
10662 	}
10663 yy574:
10664 	YYDEBUG(574, *YYCURSOR);
10665 	yych = *++YYCURSOR;
10666 	if (yych == 'E') goto yy584;
10667 	if (yych == 'e') goto yy584;
10668 	goto yy56;
10669 yy575:
10670 	YYDEBUG(575, *YYCURSOR);
10671 	yych = *++YYCURSOR;
10672 	if (yych == 'E') goto yy578;
10673 	if (yych == 'e') goto yy578;
10674 	goto yy56;
10675 yy576:
10676 	YYDEBUG(576, *YYCURSOR);
10677 	++YYCURSOR;
10678 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
10679 	yych = *YYCURSOR;
10680 yy577:
10681 	YYDEBUG(577, *YYCURSOR);
10682 	YYDEBUG(-1, yych);
10683 	switch (yych) {
10684 	case '\t':
10685 	case ' ':
10686 	case '-':
10687 	case '.':	goto yy576;
10688 	case 'A':
10689 	case 'a':	goto yy573;
10690 	case 'D':
10691 	case 'd':	goto yy575;
10692 	case 'F':
10693 	case 'f':	goto yy571;
10694 	case 'I':	goto yy474;
10695 	case 'J':
10696 	case 'j':	goto yy478;
10697 	case 'M':
10698 	case 'm':	goto yy572;
10699 	case 'N':
10700 	case 'n':	goto yy481;
10701 	case 'O':
10702 	case 'o':	goto yy480;
10703 	case 'S':
10704 	case 's':	goto yy574;
10705 	case 'V':	goto yy476;
10706 	case 'X':	goto yy477;
10707 	default:	goto yy56;
10708 	}
10709 yy578:
10710 	YYDEBUG(578, *YYCURSOR);
10711 	yych = *++YYCURSOR;
10712 	if (yych == 'C') goto yy579;
10713 	if (yych != 'c') goto yy56;
10714 yy579:
10715 	YYDEBUG(579, *YYCURSOR);
10716 	yyaccept = 10;
10717 	yych = *(YYMARKER = ++YYCURSOR);
10718 	if (yych <= '.') {
10719 		if (yych <= 0x1F) {
10720 			if (yych == '\t') goto yy531;
10721 			goto yy475;
10722 		} else {
10723 			if (yych <= ' ') goto yy531;
10724 			if (yych <= ',') goto yy475;
10725 			goto yy531;
10726 		}
10727 	} else {
10728 		if (yych <= 'D') {
10729 			if (yych <= '/') goto yy475;
10730 			if (yych <= '9') goto yy533;
10731 			goto yy475;
10732 		} else {
10733 			if (yych <= 'E') goto yy580;
10734 			if (yych != 'e') goto yy475;
10735 		}
10736 	}
10737 yy580:
10738 	YYDEBUG(580, *YYCURSOR);
10739 	yych = *++YYCURSOR;
10740 	if (yych == 'M') goto yy581;
10741 	if (yych != 'm') goto yy56;
10742 yy581:
10743 	YYDEBUG(581, *YYCURSOR);
10744 	yych = *++YYCURSOR;
10745 	if (yych == 'B') goto yy582;
10746 	if (yych != 'b') goto yy56;
10747 yy582:
10748 	YYDEBUG(582, *YYCURSOR);
10749 	yych = *++YYCURSOR;
10750 	if (yych == 'E') goto yy583;
10751 	if (yych != 'e') goto yy56;
10752 yy583:
10753 	YYDEBUG(583, *YYCURSOR);
10754 	yych = *++YYCURSOR;
10755 	if (yych == 'R') goto yy539;
10756 	if (yych == 'r') goto yy539;
10757 	goto yy56;
10758 yy584:
10759 	YYDEBUG(584, *YYCURSOR);
10760 	yych = *++YYCURSOR;
10761 	if (yych == 'P') goto yy585;
10762 	if (yych != 'p') goto yy56;
10763 yy585:
10764 	YYDEBUG(585, *YYCURSOR);
10765 	yyaccept = 10;
10766 	yych = *(YYMARKER = ++YYCURSOR);
10767 	if (yych <= '.') {
10768 		if (yych <= 0x1F) {
10769 			if (yych == '\t') goto yy531;
10770 			goto yy475;
10771 		} else {
10772 			if (yych <= ' ') goto yy531;
10773 			if (yych <= ',') goto yy475;
10774 			goto yy531;
10775 		}
10776 	} else {
10777 		if (yych <= 'S') {
10778 			if (yych <= '/') goto yy475;
10779 			if (yych <= '9') goto yy533;
10780 			goto yy475;
10781 		} else {
10782 			if (yych <= 'T') goto yy586;
10783 			if (yych != 't') goto yy475;
10784 		}
10785 	}
10786 yy586:
10787 	YYDEBUG(586, *YYCURSOR);
10788 	yyaccept = 10;
10789 	yych = *(YYMARKER = ++YYCURSOR);
10790 	if (yych <= '.') {
10791 		if (yych <= 0x1F) {
10792 			if (yych == '\t') goto yy531;
10793 			goto yy475;
10794 		} else {
10795 			if (yych <= ' ') goto yy531;
10796 			if (yych <= ',') goto yy475;
10797 			goto yy531;
10798 		}
10799 	} else {
10800 		if (yych <= 'D') {
10801 			if (yych <= '/') goto yy475;
10802 			if (yych <= '9') goto yy533;
10803 			goto yy475;
10804 		} else {
10805 			if (yych <= 'E') goto yy587;
10806 			if (yych != 'e') goto yy475;
10807 		}
10808 	}
10809 yy587:
10810 	YYDEBUG(587, *YYCURSOR);
10811 	yych = *++YYCURSOR;
10812 	if (yych == 'M') goto yy588;
10813 	if (yych != 'm') goto yy56;
10814 yy588:
10815 	YYDEBUG(588, *YYCURSOR);
10816 	yych = *++YYCURSOR;
10817 	if (yych == 'B') goto yy589;
10818 	if (yych != 'b') goto yy56;
10819 yy589:
10820 	YYDEBUG(589, *YYCURSOR);
10821 	yych = *++YYCURSOR;
10822 	if (yych == 'E') goto yy590;
10823 	if (yych != 'e') goto yy56;
10824 yy590:
10825 	YYDEBUG(590, *YYCURSOR);
10826 	yych = *++YYCURSOR;
10827 	if (yych == 'R') goto yy539;
10828 	if (yych == 'r') goto yy539;
10829 	goto yy56;
10830 yy591:
10831 	YYDEBUG(591, *YYCURSOR);
10832 	yych = *++YYCURSOR;
10833 	if (yych <= 'Y') {
10834 		if (yych == 'R') goto yy592;
10835 		if (yych <= 'X') goto yy56;
10836 		goto yy539;
10837 	} else {
10838 		if (yych <= 'r') {
10839 			if (yych <= 'q') goto yy56;
10840 		} else {
10841 			if (yych == 'y') goto yy539;
10842 			goto yy56;
10843 		}
10844 	}
10845 yy592:
10846 	YYDEBUG(592, *YYCURSOR);
10847 	yyaccept = 10;
10848 	yych = *(YYMARKER = ++YYCURSOR);
10849 	if (yych <= '.') {
10850 		if (yych <= 0x1F) {
10851 			if (yych == '\t') goto yy531;
10852 			goto yy475;
10853 		} else {
10854 			if (yych <= ' ') goto yy531;
10855 			if (yych <= ',') goto yy475;
10856 			goto yy531;
10857 		}
10858 	} else {
10859 		if (yych <= 'B') {
10860 			if (yych <= '/') goto yy475;
10861 			if (yych <= '9') goto yy533;
10862 			goto yy475;
10863 		} else {
10864 			if (yych <= 'C') goto yy593;
10865 			if (yych != 'c') goto yy475;
10866 		}
10867 	}
10868 yy593:
10869 	YYDEBUG(593, *YYCURSOR);
10870 	yych = *++YYCURSOR;
10871 	if (yych == 'H') goto yy539;
10872 	if (yych == 'h') goto yy539;
10873 	goto yy56;
10874 yy594:
10875 	YYDEBUG(594, *YYCURSOR);
10876 	yych = *++YYCURSOR;
10877 	if (yych == 'B') goto yy595;
10878 	if (yych != 'b') goto yy56;
10879 yy595:
10880 	YYDEBUG(595, *YYCURSOR);
10881 	yyaccept = 10;
10882 	yych = *(YYMARKER = ++YYCURSOR);
10883 	if (yych <= '.') {
10884 		if (yych <= 0x1F) {
10885 			if (yych == '\t') goto yy531;
10886 			goto yy475;
10887 		} else {
10888 			if (yych <= ' ') goto yy531;
10889 			if (yych <= ',') goto yy475;
10890 			goto yy531;
10891 		}
10892 	} else {
10893 		if (yych <= 'Q') {
10894 			if (yych <= '/') goto yy475;
10895 			if (yych <= '9') goto yy533;
10896 			goto yy475;
10897 		} else {
10898 			if (yych <= 'R') goto yy596;
10899 			if (yych != 'r') goto yy475;
10900 		}
10901 	}
10902 yy596:
10903 	YYDEBUG(596, *YYCURSOR);
10904 	yych = *++YYCURSOR;
10905 	if (yych == 'U') goto yy597;
10906 	if (yych != 'u') goto yy56;
10907 yy597:
10908 	YYDEBUG(597, *YYCURSOR);
10909 	yych = *++YYCURSOR;
10910 	if (yych == 'A') goto yy598;
10911 	if (yych != 'a') goto yy56;
10912 yy598:
10913 	YYDEBUG(598, *YYCURSOR);
10914 	yych = *++YYCURSOR;
10915 	if (yych == 'R') goto yy599;
10916 	if (yych != 'r') goto yy56;
10917 yy599:
10918 	YYDEBUG(599, *YYCURSOR);
10919 	yych = *++YYCURSOR;
10920 	if (yych == 'Y') goto yy539;
10921 	if (yych == 'y') goto yy539;
10922 	goto yy56;
10923 yy600:
10924 	YYDEBUG(600, *YYCURSOR);
10925 	yych = *++YYCURSOR;
10926 	if (yych <= '/') goto yy56;
10927 	if (yych <= '5') goto yy607;
10928 	if (yych <= '6') goto yy608;
10929 	if (yych <= '9') goto yy609;
10930 	goto yy56;
10931 yy601:
10932 	YYDEBUG(601, *YYCURSOR);
10933 	yych = *++YYCURSOR;
10934 	if (yych <= '/') goto yy56;
10935 	if (yych >= ':') goto yy56;
10936 	YYDEBUG(602, *YYCURSOR);
10937 	yych = *++YYCURSOR;
10938 	if (yych <= '/') goto yy56;
10939 	if (yych >= ':') goto yy56;
10940 yy603:
10941 	YYDEBUG(603, *YYCURSOR);
10942 	yych = *++YYCURSOR;
10943 	if (yych <= '/') goto yy56;
10944 	if (yych >= ':') goto yy56;
10945 yy604:
10946 	YYDEBUG(604, *YYCURSOR);
10947 	yych = *++YYCURSOR;
10948 	if (yych <= '/') goto yy56;
10949 	if (yych >= ':') goto yy56;
10950 	YYDEBUG(605, *YYCURSOR);
10951 	++YYCURSOR;
10952 	YYDEBUG(606, *YYCURSOR);
10953 #line 1302 "ext/date/lib/parse_date.re"
10954 	{
10955 		DEBUG_OUTPUT("pointed date YYYY");
10956 		TIMELIB_INIT;
10957 		TIMELIB_HAVE_DATE();
10958 		s->time->d = timelib_get_nr((char **) &ptr, 2);
10959 		s->time->m = timelib_get_nr((char **) &ptr, 2);
10960 		s->time->y = timelib_get_nr((char **) &ptr, 4);
10961 		TIMELIB_DEINIT;
10962 		return TIMELIB_DATE_FULL_POINTED;
10963 	}
10964 #line 10965 "ext/date/lib/parse_date.c"
10965 yy607:
10966 	YYDEBUG(607, *YYCURSOR);
10967 	yyaccept = 11;
10968 	yych = *(YYMARKER = ++YYCURSOR);
10969 	if (yych == '.') goto yy496;
10970 	if (yych <= '/') goto yy490;
10971 	if (yych <= '9') goto yy612;
10972 	goto yy490;
10973 yy608:
10974 	YYDEBUG(608, *YYCURSOR);
10975 	yyaccept = 11;
10976 	yych = *(YYMARKER = ++YYCURSOR);
10977 	if (yych <= '/') {
10978 		if (yych == '.') goto yy496;
10979 		goto yy490;
10980 	} else {
10981 		if (yych <= '0') goto yy612;
10982 		if (yych <= '9') goto yy610;
10983 		goto yy490;
10984 	}
10985 yy609:
10986 	YYDEBUG(609, *YYCURSOR);
10987 	yyaccept = 11;
10988 	yych = *(YYMARKER = ++YYCURSOR);
10989 	if (yych == '.') goto yy496;
10990 	if (yych <= '/') goto yy490;
10991 	if (yych >= ':') goto yy490;
10992 yy610:
10993 	YYDEBUG(610, *YYCURSOR);
10994 	yyaccept = 12;
10995 	yych = *(YYMARKER = ++YYCURSOR);
10996 	if (yych <= '/') goto yy611;
10997 	if (yych <= '9') goto yy604;
10998 yy611:
10999 	YYDEBUG(611, *YYCURSOR);
11000 #line 1314 "ext/date/lib/parse_date.re"
11001 	{
11002 		int length = 0;
11003 		DEBUG_OUTPUT("pointed date YY");
11004 		TIMELIB_INIT;
11005 		TIMELIB_HAVE_DATE();
11006 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11007 		s->time->m = timelib_get_nr((char **) &ptr, 2);
11008 		s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length);
11009 		TIMELIB_PROCESS_YEAR(s->time->y, length);
11010 		TIMELIB_DEINIT;
11011 		return TIMELIB_DATE_FULL_POINTED;
11012 	}
11013 #line 11014 "ext/date/lib/parse_date.c"
11014 yy612:
11015 	YYDEBUG(612, *YYCURSOR);
11016 	yyaccept = 11;
11017 	yych = *(YYMARKER = ++YYCURSOR);
11018 	if (yych <= '9') {
11019 		if (yych <= ' ') {
11020 			if (yych == '\t') goto yy500;
11021 			if (yych <= 0x1F) goto yy490;
11022 			goto yy500;
11023 		} else {
11024 			if (yych == '.') goto yy496;
11025 			if (yych <= '/') goto yy490;
11026 			goto yy604;
11027 		}
11028 	} else {
11029 		if (yych <= 'P') {
11030 			if (yych == 'A') goto yy502;
11031 			if (yych <= 'O') goto yy490;
11032 			goto yy502;
11033 		} else {
11034 			if (yych <= 'a') {
11035 				if (yych <= '`') goto yy490;
11036 				goto yy502;
11037 			} else {
11038 				if (yych == 'p') goto yy502;
11039 				goto yy490;
11040 			}
11041 		}
11042 	}
11043 yy613:
11044 	YYDEBUG(613, *YYCURSOR);
11045 	yyaccept = 11;
11046 	yych = *(YYMARKER = ++YYCURSOR);
11047 	if (yych <= ':') {
11048 		if (yych <= ' ') {
11049 			if (yych == '\t') goto yy507;
11050 			if (yych <= 0x1F) goto yy490;
11051 			goto yy507;
11052 		} else {
11053 			if (yych == '.') goto yy492;
11054 			if (yych <= '9') goto yy490;
11055 			goto yy492;
11056 		}
11057 	} else {
11058 		if (yych <= 'P') {
11059 			if (yych == 'A') goto yy509;
11060 			if (yych <= 'O') goto yy490;
11061 			goto yy509;
11062 		} else {
11063 			if (yych <= 'a') {
11064 				if (yych <= '`') goto yy490;
11065 				goto yy509;
11066 			} else {
11067 				if (yych == 'p') goto yy509;
11068 				goto yy490;
11069 			}
11070 		}
11071 	}
11072 yy614:
11073 	YYDEBUG(614, *YYCURSOR);
11074 	yyaccept = 11;
11075 	yych = *(YYMARKER = ++YYCURSOR);
11076 	if (yych <= ':') {
11077 		if (yych <= ' ') {
11078 			if (yych == '\t') goto yy507;
11079 			if (yych <= 0x1F) goto yy490;
11080 			goto yy507;
11081 		} else {
11082 			if (yych <= '-') {
11083 				if (yych <= ',') goto yy490;
11084 				goto yy601;
11085 			} else {
11086 				if (yych <= '.') goto yy600;
11087 				if (yych <= '9') goto yy490;
11088 				goto yy492;
11089 			}
11090 		}
11091 	} else {
11092 		if (yych <= 'P') {
11093 			if (yych == 'A') goto yy509;
11094 			if (yych <= 'O') goto yy490;
11095 			goto yy509;
11096 		} else {
11097 			if (yych <= 'a') {
11098 				if (yych <= '`') goto yy490;
11099 				goto yy509;
11100 			} else {
11101 				if (yych == 'p') goto yy509;
11102 				goto yy490;
11103 			}
11104 		}
11105 	}
11106 yy615:
11107 	YYDEBUG(615, *YYCURSOR);
11108 	yych = *++YYCURSOR;
11109 	if (yych <= '.') {
11110 		if (yych <= ',') goto yy56;
11111 		if (yych <= '-') goto yy654;
11112 		goto yy601;
11113 	} else {
11114 		if (yych <= '/') goto yy56;
11115 		if (yych <= '9') goto yy617;
11116 		goto yy56;
11117 	}
11118 yy616:
11119 	YYDEBUG(616, *YYCURSOR);
11120 	yych = *++YYCURSOR;
11121 	if (yych <= '.') {
11122 		if (yych <= ',') goto yy56;
11123 		if (yych <= '-') goto yy654;
11124 		goto yy601;
11125 	} else {
11126 		if (yych <= '/') goto yy56;
11127 		if (yych >= '3') goto yy56;
11128 	}
11129 yy617:
11130 	YYDEBUG(617, *YYCURSOR);
11131 	yych = *++YYCURSOR;
11132 	if (yych <= ',') goto yy56;
11133 	if (yych <= '-') goto yy654;
11134 	if (yych <= '.') goto yy601;
11135 	goto yy56;
11136 yy618:
11137 	YYDEBUG(618, *YYCURSOR);
11138 	yych = *++YYCURSOR;
11139 	if (yych <= 'U') {
11140 		if (yych == 'A') goto yy650;
11141 		if (yych <= 'T') goto yy56;
11142 		goto yy649;
11143 	} else {
11144 		if (yych <= 'a') {
11145 			if (yych <= '`') goto yy56;
11146 			goto yy650;
11147 		} else {
11148 			if (yych == 'u') goto yy649;
11149 			goto yy56;
11150 		}
11151 	}
11152 yy619:
11153 	YYDEBUG(619, *YYCURSOR);
11154 	yych = *++YYCURSOR;
11155 	if (yych == 'E') goto yy647;
11156 	if (yych == 'e') goto yy647;
11157 	goto yy56;
11158 yy620:
11159 	YYDEBUG(620, *YYCURSOR);
11160 	yych = *++YYCURSOR;
11161 	if (yych == 'A') goto yy644;
11162 	if (yych == 'a') goto yy644;
11163 	goto yy56;
11164 yy621:
11165 	YYDEBUG(621, *YYCURSOR);
11166 	yych = *++YYCURSOR;
11167 	if (yych <= 'U') {
11168 		if (yych == 'P') goto yy641;
11169 		if (yych <= 'T') goto yy56;
11170 		goto yy640;
11171 	} else {
11172 		if (yych <= 'p') {
11173 			if (yych <= 'o') goto yy56;
11174 			goto yy641;
11175 		} else {
11176 			if (yych == 'u') goto yy640;
11177 			goto yy56;
11178 		}
11179 	}
11180 yy622:
11181 	YYDEBUG(622, *YYCURSOR);
11182 	yych = *++YYCURSOR;
11183 	if (yych == 'E') goto yy637;
11184 	if (yych == 'e') goto yy637;
11185 	goto yy56;
11186 yy623:
11187 	YYDEBUG(623, *YYCURSOR);
11188 	yych = *++YYCURSOR;
11189 	if (yych == 'C') goto yy635;
11190 	if (yych == 'c') goto yy635;
11191 	goto yy56;
11192 yy624:
11193 	YYDEBUG(624, *YYCURSOR);
11194 	yych = *++YYCURSOR;
11195 	if (yych == 'O') goto yy633;
11196 	if (yych == 'o') goto yy633;
11197 	goto yy56;
11198 yy625:
11199 	YYDEBUG(625, *YYCURSOR);
11200 	yych = *++YYCURSOR;
11201 	if (yych == 'E') goto yy626;
11202 	if (yych != 'e') goto yy56;
11203 yy626:
11204 	YYDEBUG(626, *YYCURSOR);
11205 	yych = *++YYCURSOR;
11206 	if (yych == 'C') goto yy627;
11207 	if (yych != 'c') goto yy56;
11208 yy627:
11209 	YYDEBUG(627, *YYCURSOR);
11210 	yyaccept = 10;
11211 	yych = *(YYMARKER = ++YYCURSOR);
11212 	if (yych <= '.') {
11213 		if (yych <= 0x1F) {
11214 			if (yych == '\t') goto yy531;
11215 			goto yy475;
11216 		} else {
11217 			if (yych <= ' ') goto yy531;
11218 			if (yych <= ',') goto yy475;
11219 			if (yych >= '.') goto yy531;
11220 		}
11221 	} else {
11222 		if (yych <= 'D') {
11223 			if (yych <= '/') goto yy475;
11224 			if (yych <= '9') goto yy533;
11225 			goto yy475;
11226 		} else {
11227 			if (yych <= 'E') goto yy580;
11228 			if (yych == 'e') goto yy580;
11229 			goto yy475;
11230 		}
11231 	}
11232 yy628:
11233 	YYDEBUG(628, *YYCURSOR);
11234 	yych = *++YYCURSOR;
11235 	if (yych <= '/') goto yy532;
11236 	if (yych <= '0') goto yy629;
11237 	if (yych <= '2') goto yy630;
11238 	if (yych <= '3') goto yy631;
11239 	goto yy532;
11240 yy629:
11241 	YYDEBUG(629, *YYCURSOR);
11242 	yych = *++YYCURSOR;
11243 	if (yych <= '/') goto yy534;
11244 	if (yych <= '9') goto yy632;
11245 	goto yy534;
11246 yy630:
11247 	YYDEBUG(630, *YYCURSOR);
11248 	yych = *++YYCURSOR;
11249 	if (yych <= '/') goto yy534;
11250 	if (yych <= '9') goto yy632;
11251 	goto yy534;
11252 yy631:
11253 	YYDEBUG(631, *YYCURSOR);
11254 	yych = *++YYCURSOR;
11255 	if (yych <= '/') goto yy534;
11256 	if (yych <= '1') goto yy632;
11257 	if (yych <= '9') goto yy540;
11258 	goto yy534;
11259 yy632:
11260 	YYDEBUG(632, *YYCURSOR);
11261 	yych = *++YYCURSOR;
11262 	if (yych <= '/') goto yy534;
11263 	if (yych <= '9') goto yy541;
11264 	goto yy534;
11265 yy633:
11266 	YYDEBUG(633, *YYCURSOR);
11267 	yych = *++YYCURSOR;
11268 	if (yych == 'V') goto yy634;
11269 	if (yych != 'v') goto yy56;
11270 yy634:
11271 	YYDEBUG(634, *YYCURSOR);
11272 	yyaccept = 10;
11273 	yych = *(YYMARKER = ++YYCURSOR);
11274 	if (yych <= '.') {
11275 		if (yych <= 0x1F) {
11276 			if (yych == '\t') goto yy531;
11277 			goto yy475;
11278 		} else {
11279 			if (yych <= ' ') goto yy531;
11280 			if (yych <= ',') goto yy475;
11281 			if (yych <= '-') goto yy628;
11282 			goto yy531;
11283 		}
11284 	} else {
11285 		if (yych <= 'D') {
11286 			if (yych <= '/') goto yy475;
11287 			if (yych <= '9') goto yy533;
11288 			goto yy475;
11289 		} else {
11290 			if (yych <= 'E') goto yy535;
11291 			if (yych == 'e') goto yy535;
11292 			goto yy475;
11293 		}
11294 	}
11295 yy635:
11296 	YYDEBUG(635, *YYCURSOR);
11297 	yych = *++YYCURSOR;
11298 	if (yych == 'T') goto yy636;
11299 	if (yych != 't') goto yy56;
11300 yy636:
11301 	YYDEBUG(636, *YYCURSOR);
11302 	yyaccept = 10;
11303 	yych = *(YYMARKER = ++YYCURSOR);
11304 	if (yych <= '.') {
11305 		if (yych <= 0x1F) {
11306 			if (yych == '\t') goto yy531;
11307 			goto yy475;
11308 		} else {
11309 			if (yych <= ' ') goto yy531;
11310 			if (yych <= ',') goto yy475;
11311 			if (yych <= '-') goto yy628;
11312 			goto yy531;
11313 		}
11314 	} else {
11315 		if (yych <= 'N') {
11316 			if (yych <= '/') goto yy475;
11317 			if (yych <= '9') goto yy533;
11318 			goto yy475;
11319 		} else {
11320 			if (yych <= 'O') goto yy545;
11321 			if (yych == 'o') goto yy545;
11322 			goto yy475;
11323 		}
11324 	}
11325 yy637:
11326 	YYDEBUG(637, *YYCURSOR);
11327 	yych = *++YYCURSOR;
11328 	if (yych == 'P') goto yy638;
11329 	if (yych != 'p') goto yy56;
11330 yy638:
11331 	YYDEBUG(638, *YYCURSOR);
11332 	yyaccept = 10;
11333 	yych = *(YYMARKER = ++YYCURSOR);
11334 	if (yych <= '.') {
11335 		if (yych <= 0x1F) {
11336 			if (yych == '\t') goto yy531;
11337 			goto yy475;
11338 		} else {
11339 			if (yych <= ' ') goto yy531;
11340 			if (yych <= ',') goto yy475;
11341 			if (yych <= '-') goto yy628;
11342 			goto yy531;
11343 		}
11344 	} else {
11345 		if (yych <= 'S') {
11346 			if (yych <= '/') goto yy475;
11347 			if (yych <= '9') goto yy533;
11348 			goto yy475;
11349 		} else {
11350 			if (yych <= 'T') goto yy639;
11351 			if (yych != 't') goto yy475;
11352 		}
11353 	}
11354 yy639:
11355 	YYDEBUG(639, *YYCURSOR);
11356 	yyaccept = 10;
11357 	yych = *(YYMARKER = ++YYCURSOR);
11358 	if (yych <= '.') {
11359 		if (yych <= 0x1F) {
11360 			if (yych == '\t') goto yy531;
11361 			goto yy475;
11362 		} else {
11363 			if (yych <= ' ') goto yy531;
11364 			if (yych <= ',') goto yy475;
11365 			if (yych <= '-') goto yy628;
11366 			goto yy531;
11367 		}
11368 	} else {
11369 		if (yych <= 'D') {
11370 			if (yych <= '/') goto yy475;
11371 			if (yych <= '9') goto yy533;
11372 			goto yy475;
11373 		} else {
11374 			if (yych <= 'E') goto yy587;
11375 			if (yych == 'e') goto yy587;
11376 			goto yy475;
11377 		}
11378 	}
11379 yy640:
11380 	YYDEBUG(640, *YYCURSOR);
11381 	yych = *++YYCURSOR;
11382 	if (yych == 'G') goto yy643;
11383 	if (yych == 'g') goto yy643;
11384 	goto yy56;
11385 yy641:
11386 	YYDEBUG(641, *YYCURSOR);
11387 	yych = *++YYCURSOR;
11388 	if (yych == 'R') goto yy642;
11389 	if (yych != 'r') goto yy56;
11390 yy642:
11391 	YYDEBUG(642, *YYCURSOR);
11392 	yyaccept = 10;
11393 	yych = *(YYMARKER = ++YYCURSOR);
11394 	if (yych <= '.') {
11395 		if (yych <= 0x1F) {
11396 			if (yych == '\t') goto yy531;
11397 			goto yy475;
11398 		} else {
11399 			if (yych <= ' ') goto yy531;
11400 			if (yych <= ',') goto yy475;
11401 			if (yych <= '-') goto yy628;
11402 			goto yy531;
11403 		}
11404 	} else {
11405 		if (yych <= 'H') {
11406 			if (yych <= '/') goto yy475;
11407 			if (yych <= '9') goto yy533;
11408 			goto yy475;
11409 		} else {
11410 			if (yych <= 'I') goto yy551;
11411 			if (yych == 'i') goto yy551;
11412 			goto yy475;
11413 		}
11414 	}
11415 yy643:
11416 	YYDEBUG(643, *YYCURSOR);
11417 	yyaccept = 10;
11418 	yych = *(YYMARKER = ++YYCURSOR);
11419 	if (yych <= '.') {
11420 		if (yych <= 0x1F) {
11421 			if (yych == '\t') goto yy531;
11422 			goto yy475;
11423 		} else {
11424 			if (yych <= ' ') goto yy531;
11425 			if (yych <= ',') goto yy475;
11426 			if (yych <= '-') goto yy628;
11427 			goto yy531;
11428 		}
11429 	} else {
11430 		if (yych <= 'T') {
11431 			if (yych <= '/') goto yy475;
11432 			if (yych <= '9') goto yy533;
11433 			goto yy475;
11434 		} else {
11435 			if (yych <= 'U') goto yy553;
11436 			if (yych == 'u') goto yy553;
11437 			goto yy475;
11438 		}
11439 	}
11440 yy644:
11441 	YYDEBUG(644, *YYCURSOR);
11442 	yych = *++YYCURSOR;
11443 	if (yych <= 'Y') {
11444 		if (yych == 'R') goto yy645;
11445 		if (yych <= 'X') goto yy56;
11446 		goto yy646;
11447 	} else {
11448 		if (yych <= 'r') {
11449 			if (yych <= 'q') goto yy56;
11450 		} else {
11451 			if (yych == 'y') goto yy646;
11452 			goto yy56;
11453 		}
11454 	}
11455 yy645:
11456 	YYDEBUG(645, *YYCURSOR);
11457 	yyaccept = 10;
11458 	yych = *(YYMARKER = ++YYCURSOR);
11459 	if (yych <= '.') {
11460 		if (yych <= 0x1F) {
11461 			if (yych == '\t') goto yy531;
11462 			goto yy475;
11463 		} else {
11464 			if (yych <= ' ') goto yy531;
11465 			if (yych <= ',') goto yy475;
11466 			if (yych <= '-') goto yy628;
11467 			goto yy531;
11468 		}
11469 	} else {
11470 		if (yych <= 'B') {
11471 			if (yych <= '/') goto yy475;
11472 			if (yych <= '9') goto yy533;
11473 			goto yy475;
11474 		} else {
11475 			if (yych <= 'C') goto yy593;
11476 			if (yych == 'c') goto yy593;
11477 			goto yy475;
11478 		}
11479 	}
11480 yy646:
11481 	YYDEBUG(646, *YYCURSOR);
11482 	yyaccept = 10;
11483 	yych = *(YYMARKER = ++YYCURSOR);
11484 	if (yych <= ',') {
11485 		if (yych <= '\t') {
11486 			if (yych <= 0x08) goto yy475;
11487 			goto yy531;
11488 		} else {
11489 			if (yych == ' ') goto yy531;
11490 			goto yy475;
11491 		}
11492 	} else {
11493 		if (yych <= '.') {
11494 			if (yych <= '-') goto yy628;
11495 			goto yy531;
11496 		} else {
11497 			if (yych <= '/') goto yy475;
11498 			if (yych <= '9') goto yy533;
11499 			goto yy475;
11500 		}
11501 	}
11502 yy647:
11503 	YYDEBUG(647, *YYCURSOR);
11504 	yych = *++YYCURSOR;
11505 	if (yych == 'B') goto yy648;
11506 	if (yych != 'b') goto yy56;
11507 yy648:
11508 	YYDEBUG(648, *YYCURSOR);
11509 	yyaccept = 10;
11510 	yych = *(YYMARKER = ++YYCURSOR);
11511 	if (yych <= '.') {
11512 		if (yych <= 0x1F) {
11513 			if (yych == '\t') goto yy531;
11514 			goto yy475;
11515 		} else {
11516 			if (yych <= ' ') goto yy531;
11517 			if (yych <= ',') goto yy475;
11518 			if (yych <= '-') goto yy628;
11519 			goto yy531;
11520 		}
11521 	} else {
11522 		if (yych <= 'Q') {
11523 			if (yych <= '/') goto yy475;
11524 			if (yych <= '9') goto yy533;
11525 			goto yy475;
11526 		} else {
11527 			if (yych <= 'R') goto yy596;
11528 			if (yych == 'r') goto yy596;
11529 			goto yy475;
11530 		}
11531 	}
11532 yy649:
11533 	YYDEBUG(649, *YYCURSOR);
11534 	yych = *++YYCURSOR;
11535 	if (yych <= 'N') {
11536 		if (yych == 'L') goto yy653;
11537 		if (yych <= 'M') goto yy56;
11538 		goto yy652;
11539 	} else {
11540 		if (yych <= 'l') {
11541 			if (yych <= 'k') goto yy56;
11542 			goto yy653;
11543 		} else {
11544 			if (yych == 'n') goto yy652;
11545 			goto yy56;
11546 		}
11547 	}
11548 yy650:
11549 	YYDEBUG(650, *YYCURSOR);
11550 	yych = *++YYCURSOR;
11551 	if (yych == 'N') goto yy651;
11552 	if (yych != 'n') goto yy56;
11553 yy651:
11554 	YYDEBUG(651, *YYCURSOR);
11555 	yyaccept = 10;
11556 	yych = *(YYMARKER = ++YYCURSOR);
11557 	if (yych <= '.') {
11558 		if (yych <= 0x1F) {
11559 			if (yych == '\t') goto yy531;
11560 			goto yy475;
11561 		} else {
11562 			if (yych <= ' ') goto yy531;
11563 			if (yych <= ',') goto yy475;
11564 			if (yych <= '-') goto yy628;
11565 			goto yy531;
11566 		}
11567 	} else {
11568 		if (yych <= 'T') {
11569 			if (yych <= '/') goto yy475;
11570 			if (yych <= '9') goto yy533;
11571 			goto yy475;
11572 		} else {
11573 			if (yych <= 'U') goto yy558;
11574 			if (yych == 'u') goto yy558;
11575 			goto yy475;
11576 		}
11577 	}
11578 yy652:
11579 	YYDEBUG(652, *YYCURSOR);
11580 	yyaccept = 10;
11581 	yych = *(YYMARKER = ++YYCURSOR);
11582 	if (yych <= '.') {
11583 		if (yych <= 0x1F) {
11584 			if (yych == '\t') goto yy531;
11585 			goto yy475;
11586 		} else {
11587 			if (yych <= ' ') goto yy531;
11588 			if (yych <= ',') goto yy475;
11589 			if (yych <= '-') goto yy628;
11590 			goto yy531;
11591 		}
11592 	} else {
11593 		if (yych <= 'D') {
11594 			if (yych <= '/') goto yy475;
11595 			if (yych <= '9') goto yy533;
11596 			goto yy475;
11597 		} else {
11598 			if (yych <= 'E') goto yy539;
11599 			if (yych == 'e') goto yy539;
11600 			goto yy475;
11601 		}
11602 	}
11603 yy653:
11604 	YYDEBUG(653, *YYCURSOR);
11605 	yyaccept = 10;
11606 	yych = *(YYMARKER = ++YYCURSOR);
11607 	if (yych <= '.') {
11608 		if (yych <= 0x1F) {
11609 			if (yych == '\t') goto yy531;
11610 			goto yy475;
11611 		} else {
11612 			if (yych <= ' ') goto yy531;
11613 			if (yych <= ',') goto yy475;
11614 			if (yych <= '-') goto yy628;
11615 			goto yy531;
11616 		}
11617 	} else {
11618 		if (yych <= 'X') {
11619 			if (yych <= '/') goto yy475;
11620 			if (yych <= '9') goto yy533;
11621 			goto yy475;
11622 		} else {
11623 			if (yych <= 'Y') goto yy539;
11624 			if (yych == 'y') goto yy539;
11625 			goto yy475;
11626 		}
11627 	}
11628 yy654:
11629 	YYDEBUG(654, *YYCURSOR);
11630 	yych = *++YYCURSOR;
11631 	if (yych <= '/') goto yy56;
11632 	if (yych <= '2') goto yy655;
11633 	if (yych <= '3') goto yy657;
11634 	if (yych <= '9') goto yy658;
11635 	goto yy56;
11636 yy655:
11637 	YYDEBUG(655, *YYCURSOR);
11638 	yyaccept = 13;
11639 	yych = *(YYMARKER = ++YYCURSOR);
11640 	if (yych <= 'n') {
11641 		if (yych <= '/') goto yy656;
11642 		if (yych <= '9') goto yy664;
11643 		if (yych >= 'n') goto yy660;
11644 	} else {
11645 		if (yych <= 'r') {
11646 			if (yych >= 'r') goto yy661;
11647 		} else {
11648 			if (yych <= 's') goto yy659;
11649 			if (yych <= 't') goto yy662;
11650 		}
11651 	}
11652 yy656:
11653 	YYDEBUG(656, *YYCURSOR);
11654 #line 1273 "ext/date/lib/parse_date.re"
11655 	{
11656 		int length = 0;
11657 		DEBUG_OUTPUT("gnudateshort");
11658 		TIMELIB_INIT;
11659 		TIMELIB_HAVE_DATE();
11660 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
11661 		s->time->m = timelib_get_nr((char **) &ptr, 2);
11662 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11663 		TIMELIB_PROCESS_YEAR(s->time->y, length);
11664 		TIMELIB_DEINIT;
11665 		return TIMELIB_ISO_DATE;
11666 	}
11667 #line 11668 "ext/date/lib/parse_date.c"
11668 yy657:
11669 	YYDEBUG(657, *YYCURSOR);
11670 	yyaccept = 13;
11671 	yych = *(YYMARKER = ++YYCURSOR);
11672 	if (yych <= 'n') {
11673 		if (yych <= '1') {
11674 			if (yych <= '/') goto yy656;
11675 			goto yy664;
11676 		} else {
11677 			if (yych <= '9') goto yy603;
11678 			if (yych <= 'm') goto yy656;
11679 			goto yy660;
11680 		}
11681 	} else {
11682 		if (yych <= 'r') {
11683 			if (yych <= 'q') goto yy656;
11684 			goto yy661;
11685 		} else {
11686 			if (yych <= 's') goto yy659;
11687 			if (yych <= 't') goto yy662;
11688 			goto yy656;
11689 		}
11690 	}
11691 yy658:
11692 	YYDEBUG(658, *YYCURSOR);
11693 	yyaccept = 13;
11694 	yych = *(YYMARKER = ++YYCURSOR);
11695 	if (yych <= 'n') {
11696 		if (yych <= '/') goto yy656;
11697 		if (yych <= '9') goto yy603;
11698 		if (yych <= 'm') goto yy656;
11699 		goto yy660;
11700 	} else {
11701 		if (yych <= 'r') {
11702 			if (yych <= 'q') goto yy656;
11703 			goto yy661;
11704 		} else {
11705 			if (yych <= 's') goto yy659;
11706 			if (yych <= 't') goto yy662;
11707 			goto yy656;
11708 		}
11709 	}
11710 yy659:
11711 	YYDEBUG(659, *YYCURSOR);
11712 	yych = *++YYCURSOR;
11713 	if (yych == 't') goto yy663;
11714 	goto yy56;
11715 yy660:
11716 	YYDEBUG(660, *YYCURSOR);
11717 	yych = *++YYCURSOR;
11718 	if (yych == 'd') goto yy663;
11719 	goto yy56;
11720 yy661:
11721 	YYDEBUG(661, *YYCURSOR);
11722 	yych = *++YYCURSOR;
11723 	if (yych == 'd') goto yy663;
11724 	goto yy56;
11725 yy662:
11726 	YYDEBUG(662, *YYCURSOR);
11727 	yych = *++YYCURSOR;
11728 	if (yych != 'h') goto yy56;
11729 yy663:
11730 	YYDEBUG(663, *YYCURSOR);
11731 	yych = *++YYCURSOR;
11732 	goto yy656;
11733 yy664:
11734 	YYDEBUG(664, *YYCURSOR);
11735 	yyaccept = 13;
11736 	yych = *(YYMARKER = ++YYCURSOR);
11737 	if (yych <= 'n') {
11738 		if (yych <= '/') goto yy656;
11739 		if (yych <= '9') goto yy604;
11740 		if (yych <= 'm') goto yy656;
11741 		goto yy660;
11742 	} else {
11743 		if (yych <= 'r') {
11744 			if (yych <= 'q') goto yy656;
11745 			goto yy661;
11746 		} else {
11747 			if (yych <= 's') goto yy659;
11748 			if (yych <= 't') goto yy662;
11749 			goto yy656;
11750 		}
11751 	}
11752 yy665:
11753 	YYDEBUG(665, *YYCURSOR);
11754 	yyaccept = 14;
11755 	yych = *(YYMARKER = ++YYCURSOR);
11756 	if (yych <= 'n') {
11757 		if (yych <= '/') {
11758 			if (yych >= '/') goto yy722;
11759 		} else {
11760 			if (yych <= '9') goto yy668;
11761 			if (yych >= 'n') goto yy719;
11762 		}
11763 	} else {
11764 		if (yych <= 'r') {
11765 			if (yych >= 'r') goto yy720;
11766 		} else {
11767 			if (yych <= 's') goto yy718;
11768 			if (yych <= 't') goto yy721;
11769 		}
11770 	}
11771 yy666:
11772 	YYDEBUG(666, *YYCURSOR);
11773 #line 1217 "ext/date/lib/parse_date.re"
11774 	{
11775 		int length = 0;
11776 		DEBUG_OUTPUT("americanshort | american");
11777 		TIMELIB_INIT;
11778 		TIMELIB_HAVE_DATE();
11779 		s->time->m = timelib_get_nr((char **) &ptr, 2);
11780 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11781 		if (*ptr == '/') {
11782 			s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
11783 			TIMELIB_PROCESS_YEAR(s->time->y, length);
11784 		}
11785 		TIMELIB_DEINIT;
11786 		return TIMELIB_AMERICAN;
11787 	}
11788 #line 11789 "ext/date/lib/parse_date.c"
11789 yy667:
11790 	YYDEBUG(667, *YYCURSOR);
11791 	yyaccept = 14;
11792 	yych = *(YYMARKER = ++YYCURSOR);
11793 	if (yych <= 'n') {
11794 		if (yych <= '/') {
11795 			if (yych <= '.') goto yy666;
11796 			goto yy722;
11797 		} else {
11798 			if (yych <= '1') goto yy668;
11799 			if (yych <= 'm') goto yy666;
11800 			goto yy719;
11801 		}
11802 	} else {
11803 		if (yych <= 'r') {
11804 			if (yych <= 'q') goto yy666;
11805 			goto yy720;
11806 		} else {
11807 			if (yych <= 's') goto yy718;
11808 			if (yych <= 't') goto yy721;
11809 			goto yy666;
11810 		}
11811 	}
11812 yy668:
11813 	YYDEBUG(668, *YYCURSOR);
11814 	yyaccept = 14;
11815 	yych = *(YYMARKER = ++YYCURSOR);
11816 	if (yych <= 'n') {
11817 		if (yych == '/') goto yy722;
11818 		if (yych <= 'm') goto yy666;
11819 		goto yy719;
11820 	} else {
11821 		if (yych <= 'r') {
11822 			if (yych <= 'q') goto yy666;
11823 			goto yy720;
11824 		} else {
11825 			if (yych <= 's') goto yy718;
11826 			if (yych <= 't') goto yy721;
11827 			goto yy666;
11828 		}
11829 	}
11830 yy669:
11831 	YYDEBUG(669, *YYCURSOR);
11832 	yych = *++YYCURSOR;
11833 	if (yych <= 'U') {
11834 		if (yych == 'A') goto yy717;
11835 		if (yych <= 'T') goto yy56;
11836 		goto yy716;
11837 	} else {
11838 		if (yych <= 'a') {
11839 			if (yych <= '`') goto yy56;
11840 			goto yy717;
11841 		} else {
11842 			if (yych == 'u') goto yy716;
11843 			goto yy56;
11844 		}
11845 	}
11846 yy670:
11847 	YYDEBUG(670, *YYCURSOR);
11848 	yych = *++YYCURSOR;
11849 	if (yych == 'E') goto yy715;
11850 	if (yych == 'e') goto yy715;
11851 	goto yy56;
11852 yy671:
11853 	YYDEBUG(671, *YYCURSOR);
11854 	yych = *++YYCURSOR;
11855 	if (yych == 'A') goto yy714;
11856 	if (yych == 'a') goto yy714;
11857 	goto yy56;
11858 yy672:
11859 	YYDEBUG(672, *YYCURSOR);
11860 	yych = *++YYCURSOR;
11861 	if (yych <= 'U') {
11862 		if (yych == 'P') goto yy713;
11863 		if (yych <= 'T') goto yy56;
11864 		goto yy712;
11865 	} else {
11866 		if (yych <= 'p') {
11867 			if (yych <= 'o') goto yy56;
11868 			goto yy713;
11869 		} else {
11870 			if (yych == 'u') goto yy712;
11871 			goto yy56;
11872 		}
11873 	}
11874 yy673:
11875 	YYDEBUG(673, *YYCURSOR);
11876 	yych = *++YYCURSOR;
11877 	if (yych == 'E') goto yy710;
11878 	if (yych == 'e') goto yy710;
11879 	goto yy56;
11880 yy674:
11881 	YYDEBUG(674, *YYCURSOR);
11882 	yych = *++YYCURSOR;
11883 	if (yych == 'C') goto yy709;
11884 	if (yych == 'c') goto yy709;
11885 	goto yy56;
11886 yy675:
11887 	YYDEBUG(675, *YYCURSOR);
11888 	yych = *++YYCURSOR;
11889 	if (yych == 'O') goto yy708;
11890 	if (yych == 'o') goto yy708;
11891 	goto yy56;
11892 yy676:
11893 	YYDEBUG(676, *YYCURSOR);
11894 	yych = *++YYCURSOR;
11895 	if (yych == 'E') goto yy677;
11896 	if (yych != 'e') goto yy56;
11897 yy677:
11898 	YYDEBUG(677, *YYCURSOR);
11899 	yych = *++YYCURSOR;
11900 	if (yych == 'C') goto yy678;
11901 	if (yych != 'c') goto yy56;
11902 yy678:
11903 	YYDEBUG(678, *YYCURSOR);
11904 	yych = *++YYCURSOR;
11905 	if (yych != '/') goto yy56;
11906 yy679:
11907 	YYDEBUG(679, *YYCURSOR);
11908 	yych = *++YYCURSOR;
11909 	if (yych <= '/') goto yy56;
11910 	if (yych >= ':') goto yy56;
11911 	YYDEBUG(680, *YYCURSOR);
11912 	yych = *++YYCURSOR;
11913 	if (yych <= '/') goto yy56;
11914 	if (yych >= ':') goto yy56;
11915 	YYDEBUG(681, *YYCURSOR);
11916 	yych = *++YYCURSOR;
11917 	if (yych <= '/') goto yy56;
11918 	if (yych >= ':') goto yy56;
11919 	YYDEBUG(682, *YYCURSOR);
11920 	yych = *++YYCURSOR;
11921 	if (yych <= '/') goto yy56;
11922 	if (yych >= ':') goto yy56;
11923 	YYDEBUG(683, *YYCURSOR);
11924 	yych = *++YYCURSOR;
11925 	if (yych != ':') goto yy56;
11926 	YYDEBUG(684, *YYCURSOR);
11927 	yych = *++YYCURSOR;
11928 	if (yych <= '/') goto yy56;
11929 	if (yych <= '1') goto yy685;
11930 	if (yych <= '2') goto yy686;
11931 	goto yy56;
11932 yy685:
11933 	YYDEBUG(685, *YYCURSOR);
11934 	yych = *++YYCURSOR;
11935 	if (yych <= '/') goto yy56;
11936 	if (yych <= '9') goto yy687;
11937 	goto yy56;
11938 yy686:
11939 	YYDEBUG(686, *YYCURSOR);
11940 	yych = *++YYCURSOR;
11941 	if (yych <= '/') goto yy56;
11942 	if (yych >= '5') goto yy56;
11943 yy687:
11944 	YYDEBUG(687, *YYCURSOR);
11945 	yych = *++YYCURSOR;
11946 	if (yych != ':') goto yy56;
11947 	YYDEBUG(688, *YYCURSOR);
11948 	yych = *++YYCURSOR;
11949 	if (yych <= '/') goto yy56;
11950 	if (yych >= '6') goto yy56;
11951 	YYDEBUG(689, *YYCURSOR);
11952 	yych = *++YYCURSOR;
11953 	if (yych <= '/') goto yy56;
11954 	if (yych >= ':') goto yy56;
11955 	YYDEBUG(690, *YYCURSOR);
11956 	yych = *++YYCURSOR;
11957 	if (yych != ':') goto yy56;
11958 	YYDEBUG(691, *YYCURSOR);
11959 	yych = *++YYCURSOR;
11960 	if (yych <= '/') goto yy56;
11961 	if (yych <= '5') goto yy692;
11962 	if (yych <= '6') goto yy693;
11963 	goto yy56;
11964 yy692:
11965 	YYDEBUG(692, *YYCURSOR);
11966 	yych = *++YYCURSOR;
11967 	if (yych <= '/') goto yy56;
11968 	if (yych <= '9') goto yy694;
11969 	goto yy56;
11970 yy693:
11971 	YYDEBUG(693, *YYCURSOR);
11972 	yych = *++YYCURSOR;
11973 	if (yych != '0') goto yy56;
11974 yy694:
11975 	YYDEBUG(694, *YYCURSOR);
11976 	yych = *++YYCURSOR;
11977 	if (yych == '\t') goto yy695;
11978 	if (yych != ' ') goto yy56;
11979 yy695:
11980 	YYDEBUG(695, *YYCURSOR);
11981 	++YYCURSOR;
11982 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
11983 	yych = *YYCURSOR;
11984 	YYDEBUG(696, *YYCURSOR);
11985 	if (yych <= '*') {
11986 		if (yych <= '\t') {
11987 			if (yych <= 0x08) goto yy56;
11988 			goto yy695;
11989 		} else {
11990 			if (yych == ' ') goto yy695;
11991 			goto yy56;
11992 		}
11993 	} else {
11994 		if (yych <= '-') {
11995 			if (yych == ',') goto yy56;
11996 			goto yy698;
11997 		} else {
11998 			if (yych != 'G') goto yy56;
11999 		}
12000 	}
12001 	YYDEBUG(697, *YYCURSOR);
12002 	yych = *++YYCURSOR;
12003 	if (yych == 'M') goto yy706;
12004 	goto yy56;
12005 yy698:
12006 	YYDEBUG(698, *YYCURSOR);
12007 	yych = *++YYCURSOR;
12008 	if (yych <= '/') goto yy56;
12009 	if (yych <= '1') goto yy699;
12010 	if (yych <= '2') goto yy701;
12011 	if (yych <= '9') goto yy702;
12012 	goto yy56;
12013 yy699:
12014 	YYDEBUG(699, *YYCURSOR);
12015 	++YYCURSOR;
12016 	if ((yych = *YYCURSOR) <= '/') goto yy700;
12017 	if (yych <= '9') goto yy702;
12018 	if (yych <= ':') goto yy703;
12019 yy700:
12020 	YYDEBUG(700, *YYCURSOR);
12021 #line 1500 "ext/date/lib/parse_date.re"
12022 	{
12023 		int tz_not_found;
12024 		DEBUG_OUTPUT("clf");
12025 		TIMELIB_INIT;
12026 		TIMELIB_HAVE_TIME();
12027 		TIMELIB_HAVE_DATE();
12028 		s->time->d = timelib_get_nr((char **) &ptr, 2);
12029 		s->time->m = timelib_get_month((char **) &ptr);
12030 		s->time->y = timelib_get_nr((char **) &ptr, 4);
12031 		s->time->h = timelib_get_nr((char **) &ptr, 2);
12032 		s->time->i = timelib_get_nr((char **) &ptr, 2);
12033 		s->time->s = timelib_get_nr((char **) &ptr, 2);
12034 		s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
12035 		if (tz_not_found) {
12036 			add_error(s, "The timezone could not be found in the database");
12037 		}
12038 		TIMELIB_DEINIT;
12039 		return TIMELIB_CLF;
12040 	}
12041 #line 12042 "ext/date/lib/parse_date.c"
12042 yy701:
12043 	YYDEBUG(701, *YYCURSOR);
12044 	yych = *++YYCURSOR;
12045 	if (yych <= '5') {
12046 		if (yych <= '/') goto yy700;
12047 		if (yych >= '5') goto yy704;
12048 	} else {
12049 		if (yych <= '9') goto yy705;
12050 		if (yych <= ':') goto yy703;
12051 		goto yy700;
12052 	}
12053 yy702:
12054 	YYDEBUG(702, *YYCURSOR);
12055 	yych = *++YYCURSOR;
12056 	if (yych <= '/') goto yy700;
12057 	if (yych <= '5') goto yy704;
12058 	if (yych <= '9') goto yy705;
12059 	if (yych >= ';') goto yy700;
12060 yy703:
12061 	YYDEBUG(703, *YYCURSOR);
12062 	yych = *++YYCURSOR;
12063 	if (yych <= '/') goto yy700;
12064 	if (yych <= '5') goto yy704;
12065 	if (yych <= '9') goto yy705;
12066 	goto yy700;
12067 yy704:
12068 	YYDEBUG(704, *YYCURSOR);
12069 	yych = *++YYCURSOR;
12070 	if (yych <= '/') goto yy700;
12071 	if (yych >= ':') goto yy700;
12072 yy705:
12073 	YYDEBUG(705, *YYCURSOR);
12074 	yych = *++YYCURSOR;
12075 	goto yy700;
12076 yy706:
12077 	YYDEBUG(706, *YYCURSOR);
12078 	yych = *++YYCURSOR;
12079 	if (yych != 'T') goto yy56;
12080 	YYDEBUG(707, *YYCURSOR);
12081 	yych = *++YYCURSOR;
12082 	if (yych == '+') goto yy698;
12083 	if (yych == '-') goto yy698;
12084 	goto yy56;
12085 yy708:
12086 	YYDEBUG(708, *YYCURSOR);
12087 	yych = *++YYCURSOR;
12088 	if (yych == 'V') goto yy678;
12089 	if (yych == 'v') goto yy678;
12090 	goto yy56;
12091 yy709:
12092 	YYDEBUG(709, *YYCURSOR);
12093 	yych = *++YYCURSOR;
12094 	if (yych == 'T') goto yy678;
12095 	if (yych == 't') goto yy678;
12096 	goto yy56;
12097 yy710:
12098 	YYDEBUG(710, *YYCURSOR);
12099 	yych = *++YYCURSOR;
12100 	if (yych == 'P') goto yy711;
12101 	if (yych != 'p') goto yy56;
12102 yy711:
12103 	YYDEBUG(711, *YYCURSOR);
12104 	yych = *++YYCURSOR;
12105 	if (yych <= 'S') {
12106 		if (yych == '/') goto yy679;
12107 		goto yy56;
12108 	} else {
12109 		if (yych <= 'T') goto yy678;
12110 		if (yych == 't') goto yy678;
12111 		goto yy56;
12112 	}
12113 yy712:
12114 	YYDEBUG(712, *YYCURSOR);
12115 	yych = *++YYCURSOR;
12116 	if (yych == 'G') goto yy678;
12117 	if (yych == 'g') goto yy678;
12118 	goto yy56;
12119 yy713:
12120 	YYDEBUG(713, *YYCURSOR);
12121 	yych = *++YYCURSOR;
12122 	if (yych == 'R') goto yy678;
12123 	if (yych == 'r') goto yy678;
12124 	goto yy56;
12125 yy714:
12126 	YYDEBUG(714, *YYCURSOR);
12127 	yych = *++YYCURSOR;
12128 	if (yych <= 'Y') {
12129 		if (yych == 'R') goto yy678;
12130 		if (yych <= 'X') goto yy56;
12131 		goto yy678;
12132 	} else {
12133 		if (yych <= 'r') {
12134 			if (yych <= 'q') goto yy56;
12135 			goto yy678;
12136 		} else {
12137 			if (yych == 'y') goto yy678;
12138 			goto yy56;
12139 		}
12140 	}
12141 yy715:
12142 	YYDEBUG(715, *YYCURSOR);
12143 	yych = *++YYCURSOR;
12144 	if (yych == 'B') goto yy678;
12145 	if (yych == 'b') goto yy678;
12146 	goto yy56;
12147 yy716:
12148 	YYDEBUG(716, *YYCURSOR);
12149 	yych = *++YYCURSOR;
12150 	if (yych <= 'N') {
12151 		if (yych == 'L') goto yy678;
12152 		if (yych <= 'M') goto yy56;
12153 		goto yy678;
12154 	} else {
12155 		if (yych <= 'l') {
12156 			if (yych <= 'k') goto yy56;
12157 			goto yy678;
12158 		} else {
12159 			if (yych == 'n') goto yy678;
12160 			goto yy56;
12161 		}
12162 	}
12163 yy717:
12164 	YYDEBUG(717, *YYCURSOR);
12165 	yych = *++YYCURSOR;
12166 	if (yych == 'N') goto yy678;
12167 	if (yych == 'n') goto yy678;
12168 	goto yy56;
12169 yy718:
12170 	YYDEBUG(718, *YYCURSOR);
12171 	yych = *++YYCURSOR;
12172 	if (yych == 't') goto yy727;
12173 	goto yy56;
12174 yy719:
12175 	YYDEBUG(719, *YYCURSOR);
12176 	yych = *++YYCURSOR;
12177 	if (yych == 'd') goto yy727;
12178 	goto yy56;
12179 yy720:
12180 	YYDEBUG(720, *YYCURSOR);
12181 	yych = *++YYCURSOR;
12182 	if (yych == 'd') goto yy727;
12183 	goto yy56;
12184 yy721:
12185 	YYDEBUG(721, *YYCURSOR);
12186 	yych = *++YYCURSOR;
12187 	if (yych == 'h') goto yy727;
12188 	goto yy56;
12189 yy722:
12190 	YYDEBUG(722, *YYCURSOR);
12191 	yych = *++YYCURSOR;
12192 	if (yych <= '/') goto yy56;
12193 	if (yych >= ':') goto yy56;
12194 	YYDEBUG(723, *YYCURSOR);
12195 	yych = *++YYCURSOR;
12196 	if (yych <= '/') goto yy666;
12197 	if (yych >= ':') goto yy666;
12198 	YYDEBUG(724, *YYCURSOR);
12199 	yych = *++YYCURSOR;
12200 	if (yych <= '/') goto yy666;
12201 	if (yych >= ':') goto yy666;
12202 	YYDEBUG(725, *YYCURSOR);
12203 	yych = *++YYCURSOR;
12204 	if (yych <= '/') goto yy666;
12205 	if (yych >= ':') goto yy666;
12206 	YYDEBUG(726, *YYCURSOR);
12207 	yych = *++YYCURSOR;
12208 	goto yy666;
12209 yy727:
12210 	YYDEBUG(727, *YYCURSOR);
12211 	yyaccept = 14;
12212 	yych = *(YYMARKER = ++YYCURSOR);
12213 	if (yych == '/') goto yy722;
12214 	goto yy666;
12215 yy728:
12216 	YYDEBUG(728, *YYCURSOR);
12217 	yych = *++YYCURSOR;
12218 	if (yych <= ',') {
12219 		if (yych == '\t') goto yy730;
12220 		goto yy577;
12221 	} else {
12222 		if (yych <= '-') goto yy731;
12223 		if (yych <= '.') goto yy730;
12224 		if (yych >= '0') goto yy577;
12225 	}
12226 yy729:
12227 	YYDEBUG(729, *YYCURSOR);
12228 	yych = *++YYCURSOR;
12229 	YYDEBUG(-1, yych);
12230 	switch (yych) {
12231 	case 'A':
12232 	case 'a':	goto yy672;
12233 	case 'D':
12234 	case 'd':	goto yy676;
12235 	case 'F':
12236 	case 'f':	goto yy670;
12237 	case 'J':
12238 	case 'j':	goto yy669;
12239 	case 'M':
12240 	case 'm':	goto yy671;
12241 	case 'N':
12242 	case 'n':	goto yy675;
12243 	case 'O':
12244 	case 'o':	goto yy674;
12245 	case 'S':
12246 	case 's':	goto yy673;
12247 	default:	goto yy56;
12248 	}
12249 yy730:
12250 	YYDEBUG(730, *YYCURSOR);
12251 	yych = *++YYCURSOR;
12252 	if (yych <= '/') goto yy577;
12253 	if (yych <= '0') goto yy735;
12254 	if (yych <= '1') goto yy736;
12255 	if (yych <= '9') goto yy737;
12256 	goto yy577;
12257 yy731:
12258 	YYDEBUG(731, *YYCURSOR);
12259 	yych = *++YYCURSOR;
12260 	if (yych <= '/') goto yy577;
12261 	if (yych <= '0') goto yy732;
12262 	if (yych <= '1') goto yy733;
12263 	if (yych <= '9') goto yy734;
12264 	goto yy577;
12265 yy732:
12266 	YYDEBUG(732, *YYCURSOR);
12267 	yych = *++YYCURSOR;
12268 	if (yych <= ',') goto yy56;
12269 	if (yych <= '.') goto yy601;
12270 	if (yych <= '/') goto yy56;
12271 	if (yych <= '9') goto yy734;
12272 	goto yy56;
12273 yy733:
12274 	YYDEBUG(733, *YYCURSOR);
12275 	yych = *++YYCURSOR;
12276 	if (yych <= ',') goto yy56;
12277 	if (yych <= '.') goto yy601;
12278 	if (yych <= '/') goto yy56;
12279 	if (yych >= '3') goto yy56;
12280 yy734:
12281 	YYDEBUG(734, *YYCURSOR);
12282 	yych = *++YYCURSOR;
12283 	if (yych <= ',') goto yy56;
12284 	if (yych <= '.') goto yy601;
12285 	goto yy56;
12286 yy735:
12287 	YYDEBUG(735, *YYCURSOR);
12288 	yych = *++YYCURSOR;
12289 	if (yych <= '.') {
12290 		if (yych <= ',') goto yy56;
12291 		if (yych <= '-') goto yy601;
12292 		goto yy738;
12293 	} else {
12294 		if (yych <= '/') goto yy56;
12295 		if (yych <= '9') goto yy737;
12296 		goto yy56;
12297 	}
12298 yy736:
12299 	YYDEBUG(736, *YYCURSOR);
12300 	yych = *++YYCURSOR;
12301 	if (yych <= '.') {
12302 		if (yych <= ',') goto yy56;
12303 		if (yych <= '-') goto yy601;
12304 		goto yy738;
12305 	} else {
12306 		if (yych <= '/') goto yy56;
12307 		if (yych >= '3') goto yy56;
12308 	}
12309 yy737:
12310 	YYDEBUG(737, *YYCURSOR);
12311 	yych = *++YYCURSOR;
12312 	if (yych <= ',') goto yy56;
12313 	if (yych <= '-') goto yy601;
12314 	if (yych >= '/') goto yy56;
12315 yy738:
12316 	YYDEBUG(738, *YYCURSOR);
12317 	yych = *++YYCURSOR;
12318 	if (yych <= '/') goto yy56;
12319 	if (yych >= ':') goto yy56;
12320 	YYDEBUG(739, *YYCURSOR);
12321 	yych = *++YYCURSOR;
12322 	if (yych <= '/') goto yy56;
12323 	if (yych <= '9') goto yy610;
12324 	goto yy56;
12325 yy740:
12326 	YYDEBUG(740, *YYCURSOR);
12327 	yych = *++YYCURSOR;
12328 	if (yych == '-') goto yy784;
12329 	if (yych <= '/') goto yy60;
12330 	if (yych <= '9') goto yy782;
12331 	goto yy60;
12332 yy741:
12333 	YYDEBUG(741, *YYCURSOR);
12334 	yych = *++YYCURSOR;
12335 	YYDEBUG(-1, yych);
12336 	switch (yych) {
12337 	case '0':	goto yy750;
12338 	case '1':	goto yy751;
12339 	case '2':
12340 	case '3':
12341 	case '4':
12342 	case '5':
12343 	case '6':
12344 	case '7':
12345 	case '8':
12346 	case '9':	goto yy752;
12347 	case 'A':
12348 	case 'a':	goto yy745;
12349 	case 'D':
12350 	case 'd':	goto yy749;
12351 	case 'F':
12352 	case 'f':	goto yy743;
12353 	case 'J':
12354 	case 'j':	goto yy742;
12355 	case 'M':
12356 	case 'm':	goto yy744;
12357 	case 'N':
12358 	case 'n':	goto yy748;
12359 	case 'O':
12360 	case 'o':	goto yy747;
12361 	case 'S':
12362 	case 's':	goto yy746;
12363 	default:	goto yy56;
12364 	}
12365 yy742:
12366 	YYDEBUG(742, *YYCURSOR);
12367 	yych = *++YYCURSOR;
12368 	if (yych <= 'U') {
12369 		if (yych == 'A') goto yy781;
12370 		if (yych <= 'T') goto yy56;
12371 		goto yy780;
12372 	} else {
12373 		if (yych <= 'a') {
12374 			if (yych <= '`') goto yy56;
12375 			goto yy781;
12376 		} else {
12377 			if (yych == 'u') goto yy780;
12378 			goto yy56;
12379 		}
12380 	}
12381 yy743:
12382 	YYDEBUG(743, *YYCURSOR);
12383 	yych = *++YYCURSOR;
12384 	if (yych == 'E') goto yy779;
12385 	if (yych == 'e') goto yy779;
12386 	goto yy56;
12387 yy744:
12388 	YYDEBUG(744, *YYCURSOR);
12389 	yych = *++YYCURSOR;
12390 	if (yych == 'A') goto yy778;
12391 	if (yych == 'a') goto yy778;
12392 	goto yy56;
12393 yy745:
12394 	YYDEBUG(745, *YYCURSOR);
12395 	yych = *++YYCURSOR;
12396 	if (yych <= 'U') {
12397 		if (yych == 'P') goto yy777;
12398 		if (yych <= 'T') goto yy56;
12399 		goto yy776;
12400 	} else {
12401 		if (yych <= 'p') {
12402 			if (yych <= 'o') goto yy56;
12403 			goto yy777;
12404 		} else {
12405 			if (yych == 'u') goto yy776;
12406 			goto yy56;
12407 		}
12408 	}
12409 yy746:
12410 	YYDEBUG(746, *YYCURSOR);
12411 	yych = *++YYCURSOR;
12412 	if (yych == 'E') goto yy774;
12413 	if (yych == 'e') goto yy774;
12414 	goto yy56;
12415 yy747:
12416 	YYDEBUG(747, *YYCURSOR);
12417 	yych = *++YYCURSOR;
12418 	if (yych == 'C') goto yy773;
12419 	if (yych == 'c') goto yy773;
12420 	goto yy56;
12421 yy748:
12422 	YYDEBUG(748, *YYCURSOR);
12423 	yych = *++YYCURSOR;
12424 	if (yych == 'O') goto yy772;
12425 	if (yych == 'o') goto yy772;
12426 	goto yy56;
12427 yy749:
12428 	YYDEBUG(749, *YYCURSOR);
12429 	yych = *++YYCURSOR;
12430 	if (yych == 'E') goto yy764;
12431 	if (yych == 'e') goto yy764;
12432 	goto yy56;
12433 yy750:
12434 	YYDEBUG(750, *YYCURSOR);
12435 	yych = *++YYCURSOR;
12436 	if (yych == '-') goto yy753;
12437 	if (yych <= '/') goto yy56;
12438 	if (yych <= '9') goto yy757;
12439 	goto yy56;
12440 yy751:
12441 	YYDEBUG(751, *YYCURSOR);
12442 	yych = *++YYCURSOR;
12443 	if (yych == '-') goto yy753;
12444 	if (yych <= '/') goto yy56;
12445 	if (yych <= '2') goto yy757;
12446 	goto yy56;
12447 yy752:
12448 	YYDEBUG(752, *YYCURSOR);
12449 	yych = *++YYCURSOR;
12450 	if (yych != '-') goto yy56;
12451 yy753:
12452 	YYDEBUG(753, *YYCURSOR);
12453 	yych = *++YYCURSOR;
12454 	if (yych <= '/') goto yy56;
12455 	if (yych <= '2') goto yy754;
12456 	if (yych <= '3') goto yy755;
12457 	if (yych <= '9') goto yy756;
12458 	goto yy56;
12459 yy754:
12460 	YYDEBUG(754, *YYCURSOR);
12461 	yyaccept = 13;
12462 	yych = *(YYMARKER = ++YYCURSOR);
12463 	if (yych <= 'n') {
12464 		if (yych <= '/') goto yy656;
12465 		if (yych <= '9') goto yy756;
12466 		if (yych <= 'm') goto yy656;
12467 		goto yy660;
12468 	} else {
12469 		if (yych <= 'r') {
12470 			if (yych <= 'q') goto yy656;
12471 			goto yy661;
12472 		} else {
12473 			if (yych <= 's') goto yy659;
12474 			if (yych <= 't') goto yy662;
12475 			goto yy656;
12476 		}
12477 	}
12478 yy755:
12479 	YYDEBUG(755, *YYCURSOR);
12480 	yyaccept = 13;
12481 	yych = *(YYMARKER = ++YYCURSOR);
12482 	if (yych <= 'n') {
12483 		if (yych <= '/') goto yy656;
12484 		if (yych <= '1') goto yy756;
12485 		if (yych <= 'm') goto yy656;
12486 		goto yy660;
12487 	} else {
12488 		if (yych <= 'r') {
12489 			if (yych <= 'q') goto yy656;
12490 			goto yy661;
12491 		} else {
12492 			if (yych <= 's') goto yy659;
12493 			if (yych <= 't') goto yy662;
12494 			goto yy656;
12495 		}
12496 	}
12497 yy756:
12498 	YYDEBUG(756, *YYCURSOR);
12499 	yyaccept = 13;
12500 	yych = *(YYMARKER = ++YYCURSOR);
12501 	if (yych <= 'q') {
12502 		if (yych == 'n') goto yy660;
12503 		goto yy656;
12504 	} else {
12505 		if (yych <= 'r') goto yy661;
12506 		if (yych <= 's') goto yy659;
12507 		if (yych <= 't') goto yy662;
12508 		goto yy656;
12509 	}
12510 yy757:
12511 	YYDEBUG(757, *YYCURSOR);
12512 	yych = *++YYCURSOR;
12513 	if (yych != '-') goto yy56;
12514 	YYDEBUG(758, *YYCURSOR);
12515 	yych = *++YYCURSOR;
12516 	if (yych <= '2') {
12517 		if (yych <= '/') goto yy56;
12518 		if (yych >= '1') goto yy760;
12519 	} else {
12520 		if (yych <= '3') goto yy761;
12521 		if (yych <= '9') goto yy756;
12522 		goto yy56;
12523 	}
12524 	YYDEBUG(759, *YYCURSOR);
12525 	yyaccept = 13;
12526 	yych = *(YYMARKER = ++YYCURSOR);
12527 	if (yych <= 'n') {
12528 		if (yych <= '/') goto yy656;
12529 		if (yych <= '9') goto yy762;
12530 		if (yych <= 'm') goto yy656;
12531 		goto yy660;
12532 	} else {
12533 		if (yych <= 'r') {
12534 			if (yych <= 'q') goto yy656;
12535 			goto yy661;
12536 		} else {
12537 			if (yych <= 's') goto yy659;
12538 			if (yych <= 't') goto yy662;
12539 			goto yy656;
12540 		}
12541 	}
12542 yy760:
12543 	YYDEBUG(760, *YYCURSOR);
12544 	yyaccept = 13;
12545 	yych = *(YYMARKER = ++YYCURSOR);
12546 	if (yych <= 'n') {
12547 		if (yych <= '/') goto yy656;
12548 		if (yych <= '9') goto yy762;
12549 		if (yych <= 'm') goto yy656;
12550 		goto yy660;
12551 	} else {
12552 		if (yych <= 'r') {
12553 			if (yych <= 'q') goto yy656;
12554 			goto yy661;
12555 		} else {
12556 			if (yych <= 's') goto yy659;
12557 			if (yych <= 't') goto yy662;
12558 			goto yy656;
12559 		}
12560 	}
12561 yy761:
12562 	YYDEBUG(761, *YYCURSOR);
12563 	yyaccept = 13;
12564 	yych = *(YYMARKER = ++YYCURSOR);
12565 	if (yych <= 'n') {
12566 		if (yych <= '/') goto yy656;
12567 		if (yych <= '1') goto yy762;
12568 		if (yych <= 'm') goto yy656;
12569 		goto yy660;
12570 	} else {
12571 		if (yych <= 'r') {
12572 			if (yych <= 'q') goto yy656;
12573 			goto yy661;
12574 		} else {
12575 			if (yych <= 's') goto yy659;
12576 			if (yych <= 't') goto yy662;
12577 			goto yy656;
12578 		}
12579 	}
12580 yy762:
12581 	YYDEBUG(762, *YYCURSOR);
12582 	yyaccept = 15;
12583 	yych = *(YYMARKER = ++YYCURSOR);
12584 	if (yych <= 'q') {
12585 		if (yych == 'n') goto yy660;
12586 	} else {
12587 		if (yych <= 'r') goto yy661;
12588 		if (yych <= 's') goto yy659;
12589 		if (yych <= 't') goto yy662;
12590 	}
12591 yy763:
12592 	YYDEBUG(763, *YYCURSOR);
12593 #line 1245 "ext/date/lib/parse_date.re"
12594 	{
12595 		int length = 0;
12596 		DEBUG_OUTPUT("iso8601date2");
12597 		TIMELIB_INIT;
12598 		TIMELIB_HAVE_DATE();
12599 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
12600 		s->time->m = timelib_get_nr((char **) &ptr, 2);
12601 		s->time->d = timelib_get_nr((char **) &ptr, 2);
12602 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12603 		TIMELIB_DEINIT;
12604 		return TIMELIB_ISO_DATE;
12605 	}
12606 #line 12607 "ext/date/lib/parse_date.c"
12607 yy764:
12608 	YYDEBUG(764, *YYCURSOR);
12609 	yych = *++YYCURSOR;
12610 	if (yych == 'C') goto yy765;
12611 	if (yych != 'c') goto yy56;
12612 yy765:
12613 	YYDEBUG(765, *YYCURSOR);
12614 	yych = *++YYCURSOR;
12615 	if (yych != '-') goto yy56;
12616 yy766:
12617 	YYDEBUG(766, *YYCURSOR);
12618 	yych = *++YYCURSOR;
12619 	if (yych <= '/') goto yy56;
12620 	if (yych <= '0') goto yy767;
12621 	if (yych <= '2') goto yy768;
12622 	if (yych <= '3') goto yy769;
12623 	goto yy56;
12624 yy767:
12625 	YYDEBUG(767, *YYCURSOR);
12626 	yych = *++YYCURSOR;
12627 	if (yych <= '/') goto yy56;
12628 	if (yych <= '9') goto yy770;
12629 	goto yy56;
12630 yy768:
12631 	YYDEBUG(768, *YYCURSOR);
12632 	yych = *++YYCURSOR;
12633 	if (yych <= '/') goto yy56;
12634 	if (yych <= '9') goto yy770;
12635 	goto yy56;
12636 yy769:
12637 	YYDEBUG(769, *YYCURSOR);
12638 	yych = *++YYCURSOR;
12639 	if (yych <= '/') goto yy56;
12640 	if (yych >= '2') goto yy56;
12641 yy770:
12642 	YYDEBUG(770, *YYCURSOR);
12643 	++YYCURSOR;
12644 	YYDEBUG(771, *YYCURSOR);
12645 #line 1486 "ext/date/lib/parse_date.re"
12646 	{
12647 		int length = 0;
12648 		DEBUG_OUTPUT("pgtextreverse");
12649 		TIMELIB_INIT;
12650 		TIMELIB_HAVE_DATE();
12651 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
12652 		s->time->m = timelib_get_month((char **) &ptr);
12653 		s->time->d = timelib_get_nr((char **) &ptr, 2);
12654 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12655 		TIMELIB_DEINIT;
12656 		return TIMELIB_PG_TEXT;
12657 	}
12658 #line 12659 "ext/date/lib/parse_date.c"
12659 yy772:
12660 	YYDEBUG(772, *YYCURSOR);
12661 	yych = *++YYCURSOR;
12662 	if (yych == 'V') goto yy765;
12663 	if (yych == 'v') goto yy765;
12664 	goto yy56;
12665 yy773:
12666 	YYDEBUG(773, *YYCURSOR);
12667 	yych = *++YYCURSOR;
12668 	if (yych == 'T') goto yy765;
12669 	if (yych == 't') goto yy765;
12670 	goto yy56;
12671 yy774:
12672 	YYDEBUG(774, *YYCURSOR);
12673 	yych = *++YYCURSOR;
12674 	if (yych == 'P') goto yy775;
12675 	if (yych != 'p') goto yy56;
12676 yy775:
12677 	YYDEBUG(775, *YYCURSOR);
12678 	yych = *++YYCURSOR;
12679 	if (yych <= 'S') {
12680 		if (yych == '-') goto yy766;
12681 		goto yy56;
12682 	} else {
12683 		if (yych <= 'T') goto yy765;
12684 		if (yych == 't') goto yy765;
12685 		goto yy56;
12686 	}
12687 yy776:
12688 	YYDEBUG(776, *YYCURSOR);
12689 	yych = *++YYCURSOR;
12690 	if (yych == 'G') goto yy765;
12691 	if (yych == 'g') goto yy765;
12692 	goto yy56;
12693 yy777:
12694 	YYDEBUG(777, *YYCURSOR);
12695 	yych = *++YYCURSOR;
12696 	if (yych == 'R') goto yy765;
12697 	if (yych == 'r') goto yy765;
12698 	goto yy56;
12699 yy778:
12700 	YYDEBUG(778, *YYCURSOR);
12701 	yych = *++YYCURSOR;
12702 	if (yych <= 'Y') {
12703 		if (yych == 'R') goto yy765;
12704 		if (yych <= 'X') goto yy56;
12705 		goto yy765;
12706 	} else {
12707 		if (yych <= 'r') {
12708 			if (yych <= 'q') goto yy56;
12709 			goto yy765;
12710 		} else {
12711 			if (yych == 'y') goto yy765;
12712 			goto yy56;
12713 		}
12714 	}
12715 yy779:
12716 	YYDEBUG(779, *YYCURSOR);
12717 	yych = *++YYCURSOR;
12718 	if (yych == 'B') goto yy765;
12719 	if (yych == 'b') goto yy765;
12720 	goto yy56;
12721 yy780:
12722 	YYDEBUG(780, *YYCURSOR);
12723 	yych = *++YYCURSOR;
12724 	if (yych <= 'N') {
12725 		if (yych == 'L') goto yy765;
12726 		if (yych <= 'M') goto yy56;
12727 		goto yy765;
12728 	} else {
12729 		if (yych <= 'l') {
12730 			if (yych <= 'k') goto yy56;
12731 			goto yy765;
12732 		} else {
12733 			if (yych == 'n') goto yy765;
12734 			goto yy56;
12735 		}
12736 	}
12737 yy781:
12738 	YYDEBUG(781, *YYCURSOR);
12739 	yych = *++YYCURSOR;
12740 	if (yych == 'N') goto yy765;
12741 	if (yych == 'n') goto yy765;
12742 	goto yy56;
12743 yy782:
12744 	YYDEBUG(782, *YYCURSOR);
12745 	yyaccept = 16;
12746 	yych = *(YYMARKER = ++YYCURSOR);
12747 	YYDEBUG(-1, yych);
12748 	switch (yych) {
12749 	case '\t':
12750 	case ' ':
12751 	case 'A':
12752 	case 'D':
12753 	case 'F':
12754 	case 'H':
12755 	case 'I':
12756 	case 'J':
12757 	case 'M':
12758 	case 'N':
12759 	case 'O':
12760 	case 'S':
12761 	case 'T':
12762 	case 'V':
12763 	case 'X':
12764 	case 'Y':
12765 	case 'a':
12766 	case 'd':
12767 	case 'f':
12768 	case 'h':
12769 	case 'j':
12770 	case 'm':
12771 	case 'n':
12772 	case 'o':
12773 	case 's':
12774 	case 't':
12775 	case 'w':
12776 	case 'y':	goto yy790;
12777 	case '-':	goto yy787;
12778 	case '.':	goto yy791;
12779 	case '/':	goto yy788;
12780 	case '0':	goto yy804;
12781 	case '1':	goto yy805;
12782 	case '2':	goto yy807;
12783 	case '3':	goto yy808;
12784 	case '4':
12785 	case '5':
12786 	case '6':
12787 	case '7':
12788 	case '8':
12789 	case '9':	goto yy54;
12790 	case ':':	goto yy806;
12791 	case 'W':	goto yy809;
12792 	default:	goto yy783;
12793 	}
12794 yy783:
12795 	YYDEBUG(783, *YYCURSOR);
12796 #line 1521 "ext/date/lib/parse_date.re"
12797 	{
12798 		DEBUG_OUTPUT("year4");
12799 		TIMELIB_INIT;
12800 		s->time->y = timelib_get_nr((char **) &ptr, 4);
12801 		TIMELIB_DEINIT;
12802 		return TIMELIB_CLF;
12803 	}
12804 #line 12805 "ext/date/lib/parse_date.c"
12805 yy784:
12806 	YYDEBUG(784, *YYCURSOR);
12807 	yych = *++YYCURSOR;
12808 	YYDEBUG(-1, yych);
12809 	switch (yych) {
12810 	case '0':	goto yy785;
12811 	case '1':	goto yy786;
12812 	case '2':
12813 	case '3':
12814 	case '4':
12815 	case '5':
12816 	case '6':
12817 	case '7':
12818 	case '8':
12819 	case '9':	goto yy752;
12820 	case 'A':
12821 	case 'a':	goto yy745;
12822 	case 'D':
12823 	case 'd':	goto yy749;
12824 	case 'F':
12825 	case 'f':	goto yy743;
12826 	case 'J':
12827 	case 'j':	goto yy742;
12828 	case 'M':
12829 	case 'm':	goto yy744;
12830 	case 'N':
12831 	case 'n':	goto yy748;
12832 	case 'O':
12833 	case 'o':	goto yy747;
12834 	case 'S':
12835 	case 's':	goto yy746;
12836 	default:	goto yy56;
12837 	}
12838 yy785:
12839 	YYDEBUG(785, *YYCURSOR);
12840 	yych = *++YYCURSOR;
12841 	if (yych == '-') goto yy753;
12842 	if (yych <= '/') goto yy56;
12843 	if (yych <= '9') goto yy752;
12844 	goto yy56;
12845 yy786:
12846 	YYDEBUG(786, *YYCURSOR);
12847 	yych = *++YYCURSOR;
12848 	if (yych == '-') goto yy753;
12849 	if (yych <= '/') goto yy56;
12850 	if (yych <= '2') goto yy752;
12851 	goto yy56;
12852 yy787:
12853 	YYDEBUG(787, *YYCURSOR);
12854 	yych = *++YYCURSOR;
12855 	YYDEBUG(-1, yych);
12856 	switch (yych) {
12857 	case '0':	goto yy972;
12858 	case '1':	goto yy974;
12859 	case '2':
12860 	case '3':
12861 	case '4':
12862 	case '5':
12863 	case '6':
12864 	case '7':
12865 	case '8':
12866 	case '9':	goto yy975;
12867 	case 'A':
12868 	case 'a':	goto yy966;
12869 	case 'D':
12870 	case 'd':	goto yy970;
12871 	case 'F':
12872 	case 'f':	goto yy964;
12873 	case 'J':
12874 	case 'j':	goto yy963;
12875 	case 'M':
12876 	case 'm':	goto yy965;
12877 	case 'N':
12878 	case 'n':	goto yy969;
12879 	case 'O':
12880 	case 'o':	goto yy968;
12881 	case 'S':
12882 	case 's':	goto yy967;
12883 	case 'W':	goto yy971;
12884 	default:	goto yy938;
12885 	}
12886 yy788:
12887 	YYDEBUG(788, *YYCURSOR);
12888 	yych = *++YYCURSOR;
12889 	if (yych <= '/') goto yy56;
12890 	if (yych <= '0') goto yy946;
12891 	if (yych <= '1') goto yy947;
12892 	if (yych <= '9') goto yy948;
12893 	goto yy56;
12894 yy789:
12895 	YYDEBUG(789, *YYCURSOR);
12896 	++YYCURSOR;
12897 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
12898 	yych = *YYCURSOR;
12899 yy790:
12900 	YYDEBUG(790, *YYCURSOR);
12901 	YYDEBUG(-1, yych);
12902 	switch (yych) {
12903 	case '\t':
12904 	case ' ':	goto yy789;
12905 	case '-':
12906 	case '.':	goto yy937;
12907 	case 'A':
12908 	case 'a':	goto yy799;
12909 	case 'D':
12910 	case 'd':	goto yy803;
12911 	case 'F':
12912 	case 'f':	goto yy797;
12913 	case 'H':
12914 	case 'h':	goto yy63;
12915 	case 'I':	goto yy792;
12916 	case 'J':
12917 	case 'j':	goto yy796;
12918 	case 'M':
12919 	case 'm':	goto yy798;
12920 	case 'N':
12921 	case 'n':	goto yy802;
12922 	case 'O':
12923 	case 'o':	goto yy801;
12924 	case 'S':
12925 	case 's':	goto yy800;
12926 	case 'T':
12927 	case 't':	goto yy68;
12928 	case 'V':	goto yy794;
12929 	case 'W':
12930 	case 'w':	goto yy67;
12931 	case 'X':	goto yy795;
12932 	case 'Y':
12933 	case 'y':	goto yy66;
12934 	default:	goto yy56;
12935 	}
12936 yy791:
12937 	YYDEBUG(791, *YYCURSOR);
12938 	yych = *++YYCURSOR;
12939 	if (yych <= '/') goto yy938;
12940 	if (yych <= '0') goto yy930;
12941 	if (yych <= '2') goto yy931;
12942 	if (yych <= '3') goto yy932;
12943 	goto yy938;
12944 yy792:
12945 	YYDEBUG(792, *YYCURSOR);
12946 	++YYCURSOR;
12947 	if ((yych = *YYCURSOR) <= 'U') {
12948 		if (yych == 'I') goto yy929;
12949 	} else {
12950 		if (yych == 'W') goto yy793;
12951 		if (yych <= 'X') goto yy883;
12952 	}
12953 yy793:
12954 	YYDEBUG(793, *YYCURSOR);
12955 #line 1342 "ext/date/lib/parse_date.re"
12956 	{
12957 		int length = 0;
12958 		DEBUG_OUTPUT("datenodayrev");
12959 		TIMELIB_INIT;
12960 		TIMELIB_HAVE_DATE();
12961 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
12962 		s->time->m = timelib_get_month((char **) &ptr);
12963 		s->time->d = 1;
12964 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12965 		TIMELIB_DEINIT;
12966 		return TIMELIB_DATE_NO_DAY;
12967 	}
12968 #line 12969 "ext/date/lib/parse_date.c"
12969 yy794:
12970 	YYDEBUG(794, *YYCURSOR);
12971 	yych = *++YYCURSOR;
12972 	if (yych == 'I') goto yy927;
12973 	goto yy793;
12974 yy795:
12975 	YYDEBUG(795, *YYCURSOR);
12976 	yych = *++YYCURSOR;
12977 	if (yych == 'I') goto yy926;
12978 	goto yy793;
12979 yy796:
12980 	YYDEBUG(796, *YYCURSOR);
12981 	yych = *++YYCURSOR;
12982 	if (yych <= 'U') {
12983 		if (yych == 'A') goto yy919;
12984 		if (yych <= 'T') goto yy56;
12985 		goto yy918;
12986 	} else {
12987 		if (yych <= 'a') {
12988 			if (yych <= '`') goto yy56;
12989 			goto yy919;
12990 		} else {
12991 			if (yych == 'u') goto yy918;
12992 			goto yy56;
12993 		}
12994 	}
12995 yy797:
12996 	YYDEBUG(797, *YYCURSOR);
12997 	yych = *++YYCURSOR;
12998 	if (yych <= 'R') {
12999 		if (yych <= 'N') {
13000 			if (yych == 'E') goto yy912;
13001 			goto yy56;
13002 		} else {
13003 			if (yych <= 'O') goto yy98;
13004 			if (yych <= 'Q') goto yy56;
13005 			goto yy97;
13006 		}
13007 	} else {
13008 		if (yych <= 'n') {
13009 			if (yych == 'e') goto yy912;
13010 			goto yy56;
13011 		} else {
13012 			if (yych <= 'o') goto yy98;
13013 			if (yych == 'r') goto yy97;
13014 			goto yy56;
13015 		}
13016 	}
13017 yy798:
13018 	YYDEBUG(798, *YYCURSOR);
13019 	yych = *++YYCURSOR;
13020 	if (yych <= 'O') {
13021 		if (yych <= 'H') {
13022 			if (yych == 'A') goto yy909;
13023 			goto yy56;
13024 		} else {
13025 			if (yych <= 'I') goto yy117;
13026 			if (yych <= 'N') goto yy56;
13027 			goto yy116;
13028 		}
13029 	} else {
13030 		if (yych <= 'h') {
13031 			if (yych == 'a') goto yy909;
13032 			goto yy56;
13033 		} else {
13034 			if (yych <= 'i') goto yy117;
13035 			if (yych == 'o') goto yy116;
13036 			goto yy56;
13037 		}
13038 	}
13039 yy799:
13040 	YYDEBUG(799, *YYCURSOR);
13041 	yych = *++YYCURSOR;
13042 	if (yych <= 'U') {
13043 		if (yych == 'P') goto yy903;
13044 		if (yych <= 'T') goto yy56;
13045 		goto yy902;
13046 	} else {
13047 		if (yych <= 'p') {
13048 			if (yych <= 'o') goto yy56;
13049 			goto yy903;
13050 		} else {
13051 			if (yych == 'u') goto yy902;
13052 			goto yy56;
13053 		}
13054 	}
13055 yy800:
13056 	YYDEBUG(800, *YYCURSOR);
13057 	yych = *++YYCURSOR;
13058 	if (yych <= 'U') {
13059 		if (yych <= 'D') {
13060 			if (yych == 'A') goto yy126;
13061 			goto yy56;
13062 		} else {
13063 			if (yych <= 'E') goto yy895;
13064 			if (yych <= 'T') goto yy56;
13065 			goto yy125;
13066 		}
13067 	} else {
13068 		if (yych <= 'd') {
13069 			if (yych == 'a') goto yy126;
13070 			goto yy56;
13071 		} else {
13072 			if (yych <= 'e') goto yy895;
13073 			if (yych == 'u') goto yy125;
13074 			goto yy56;
13075 		}
13076 	}
13077 yy801:
13078 	YYDEBUG(801, *YYCURSOR);
13079 	yych = *++YYCURSOR;
13080 	if (yych == 'C') goto yy890;
13081 	if (yych == 'c') goto yy890;
13082 	goto yy56;
13083 yy802:
13084 	YYDEBUG(802, *YYCURSOR);
13085 	yych = *++YYCURSOR;
13086 	if (yych == 'O') goto yy884;
13087 	if (yych == 'o') goto yy884;
13088 	goto yy56;
13089 yy803:
13090 	YYDEBUG(803, *YYCURSOR);
13091 	yych = *++YYCURSOR;
13092 	if (yych <= 'E') {
13093 		if (yych == 'A') goto yy113;
13094 		if (yych <= 'D') goto yy56;
13095 		goto yy877;
13096 	} else {
13097 		if (yych <= 'a') {
13098 			if (yych <= '`') goto yy56;
13099 			goto yy113;
13100 		} else {
13101 			if (yych == 'e') goto yy877;
13102 			goto yy56;
13103 		}
13104 	}
13105 yy804:
13106 	YYDEBUG(804, *YYCURSOR);
13107 	yych = *++YYCURSOR;
13108 	if (yych <= '/') goto yy60;
13109 	if (yych <= '0') goto yy874;
13110 	if (yych <= '9') goto yy875;
13111 	goto yy60;
13112 yy805:
13113 	YYDEBUG(805, *YYCURSOR);
13114 	yych = *++YYCURSOR;
13115 	if (yych <= '/') goto yy60;
13116 	if (yych <= '2') goto yy843;
13117 	if (yych <= '9') goto yy822;
13118 	goto yy60;
13119 yy806:
13120 	YYDEBUG(806, *YYCURSOR);
13121 	yych = *++YYCURSOR;
13122 	if (yych <= '/') goto yy56;
13123 	if (yych <= '0') goto yy823;
13124 	if (yych <= '1') goto yy824;
13125 	goto yy56;
13126 yy807:
13127 	YYDEBUG(807, *YYCURSOR);
13128 	yych = *++YYCURSOR;
13129 	if (yych <= '/') goto yy60;
13130 	if (yych <= '9') goto yy822;
13131 	goto yy60;
13132 yy808:
13133 	YYDEBUG(808, *YYCURSOR);
13134 	yych = *++YYCURSOR;
13135 	if (yych <= '/') goto yy60;
13136 	if (yych <= '5') goto yy818;
13137 	if (yych <= '6') goto yy819;
13138 	if (yych <= '9') goto yy54;
13139 	goto yy60;
13140 yy809:
13141 	YYDEBUG(809, *YYCURSOR);
13142 	yych = *++YYCURSOR;
13143 	if (yych <= '5') {
13144 		if (yych <= '/') goto yy56;
13145 		if (yych <= '0') goto yy810;
13146 		if (yych <= '4') goto yy811;
13147 		goto yy812;
13148 	} else {
13149 		if (yych <= 'E') {
13150 			if (yych <= 'D') goto yy56;
13151 			goto yy82;
13152 		} else {
13153 			if (yych == 'e') goto yy82;
13154 			goto yy56;
13155 		}
13156 	}
13157 yy810:
13158 	YYDEBUG(810, *YYCURSOR);
13159 	yych = *++YYCURSOR;
13160 	if (yych <= '0') goto yy56;
13161 	if (yych <= '9') goto yy813;
13162 	goto yy56;
13163 yy811:
13164 	YYDEBUG(811, *YYCURSOR);
13165 	yych = *++YYCURSOR;
13166 	if (yych <= '/') goto yy56;
13167 	if (yych <= '9') goto yy813;
13168 	goto yy56;
13169 yy812:
13170 	YYDEBUG(812, *YYCURSOR);
13171 	yych = *++YYCURSOR;
13172 	if (yych <= '/') goto yy56;
13173 	if (yych >= '4') goto yy56;
13174 yy813:
13175 	YYDEBUG(813, *YYCURSOR);
13176 	yyaccept = 17;
13177 	yych = *(YYMARKER = ++YYCURSOR);
13178 	if (yych == '-') goto yy815;
13179 	if (yych <= '/') goto yy814;
13180 	if (yych <= '7') goto yy816;
13181 yy814:
13182 	YYDEBUG(814, *YYCURSOR);
13183 #line 1453 "ext/date/lib/parse_date.re"
13184 	{
13185 		timelib_sll w, d;
13186 		DEBUG_OUTPUT("isoweek");
13187 		TIMELIB_INIT;
13188 		TIMELIB_HAVE_DATE();
13189 		TIMELIB_HAVE_RELATIVE();
13190 
13191 		s->time->y = timelib_get_nr((char **) &ptr, 4);
13192 		w = timelib_get_nr((char **) &ptr, 2);
13193 		d = 1;
13194 		s->time->m = 1;
13195 		s->time->d = 1;
13196 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
13197 
13198 		TIMELIB_DEINIT;
13199 		return TIMELIB_ISO_WEEK;
13200 	}
13201 #line 13202 "ext/date/lib/parse_date.c"
13202 yy815:
13203 	YYDEBUG(815, *YYCURSOR);
13204 	yych = *++YYCURSOR;
13205 	if (yych <= '/') goto yy56;
13206 	if (yych >= '8') goto yy56;
13207 yy816:
13208 	YYDEBUG(816, *YYCURSOR);
13209 	++YYCURSOR;
13210 	YYDEBUG(817, *YYCURSOR);
13211 #line 1434 "ext/date/lib/parse_date.re"
13212 	{
13213 		timelib_sll w, d;
13214 		DEBUG_OUTPUT("isoweekday");
13215 		TIMELIB_INIT;
13216 		TIMELIB_HAVE_DATE();
13217 		TIMELIB_HAVE_RELATIVE();
13218 
13219 		s->time->y = timelib_get_nr((char **) &ptr, 4);
13220 		w = timelib_get_nr((char **) &ptr, 2);
13221 		d = timelib_get_nr((char **) &ptr, 1);
13222 		s->time->m = 1;
13223 		s->time->d = 1;
13224 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
13225 
13226 		TIMELIB_DEINIT;
13227 		return TIMELIB_ISO_WEEK;
13228 	}
13229 #line 13230 "ext/date/lib/parse_date.c"
13230 yy818:
13231 	YYDEBUG(818, *YYCURSOR);
13232 	yych = *++YYCURSOR;
13233 	if (yych <= '/') goto yy60;
13234 	if (yych <= '9') goto yy820;
13235 	goto yy60;
13236 yy819:
13237 	YYDEBUG(819, *YYCURSOR);
13238 	yych = *++YYCURSOR;
13239 	if (yych <= '/') goto yy60;
13240 	if (yych <= '6') goto yy820;
13241 	if (yych <= '9') goto yy54;
13242 	goto yy60;
13243 yy820:
13244 	YYDEBUG(820, *YYCURSOR);
13245 	yyaccept = 18;
13246 	yych = *(YYMARKER = ++YYCURSOR);
13247 	if (yybm[0+yych] & 2) {
13248 		goto yy54;
13249 	}
13250 	if (yych <= 'W') {
13251 		if (yych <= 'F') {
13252 			if (yych <= ' ') {
13253 				if (yych == '\t') goto yy60;
13254 				if (yych >= ' ') goto yy60;
13255 			} else {
13256 				if (yych == 'D') goto yy60;
13257 				if (yych >= 'F') goto yy60;
13258 			}
13259 		} else {
13260 			if (yych <= 'M') {
13261 				if (yych == 'H') goto yy60;
13262 				if (yych >= 'M') goto yy60;
13263 			} else {
13264 				if (yych <= 'R') goto yy821;
13265 				if (yych <= 'T') goto yy60;
13266 				if (yych >= 'W') goto yy60;
13267 			}
13268 		}
13269 	} else {
13270 		if (yych <= 'h') {
13271 			if (yych <= 'd') {
13272 				if (yych == 'Y') goto yy60;
13273 				if (yych >= 'd') goto yy60;
13274 			} else {
13275 				if (yych == 'f') goto yy60;
13276 				if (yych >= 'h') goto yy60;
13277 			}
13278 		} else {
13279 			if (yych <= 't') {
13280 				if (yych == 'm') goto yy60;
13281 				if (yych >= 's') goto yy60;
13282 			} else {
13283 				if (yych <= 'w') {
13284 					if (yych >= 'w') goto yy60;
13285 				} else {
13286 					if (yych == 'y') goto yy60;
13287 				}
13288 			}
13289 		}
13290 	}
13291 yy821:
13292 	YYDEBUG(821, *YYCURSOR);
13293 #line 1420 "ext/date/lib/parse_date.re"
13294 	{
13295 		int length = 0;
13296 		DEBUG_OUTPUT("pgydotd");
13297 		TIMELIB_INIT;
13298 		TIMELIB_HAVE_DATE();
13299 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
13300 		s->time->d = timelib_get_nr((char **) &ptr, 3);
13301 		s->time->m = 1;
13302 		TIMELIB_PROCESS_YEAR(s->time->y, length);
13303 		TIMELIB_DEINIT;
13304 		return TIMELIB_PG_YEARDAY;
13305 	}
13306 #line 13307 "ext/date/lib/parse_date.c"
13307 yy822:
13308 	YYDEBUG(822, *YYCURSOR);
13309 	yych = *++YYCURSOR;
13310 	if (yych <= '/') goto yy60;
13311 	if (yych <= '9') goto yy820;
13312 	goto yy60;
13313 yy823:
13314 	YYDEBUG(823, *YYCURSOR);
13315 	yych = *++YYCURSOR;
13316 	if (yych <= '/') goto yy56;
13317 	if (yych <= '9') goto yy825;
13318 	goto yy56;
13319 yy824:
13320 	YYDEBUG(824, *YYCURSOR);
13321 	yych = *++YYCURSOR;
13322 	if (yych <= '/') goto yy56;
13323 	if (yych >= '3') goto yy56;
13324 yy825:
13325 	YYDEBUG(825, *YYCURSOR);
13326 	yych = *++YYCURSOR;
13327 	if (yych != ':') goto yy56;
13328 	YYDEBUG(826, *YYCURSOR);
13329 	yych = *++YYCURSOR;
13330 	if (yych <= '/') goto yy56;
13331 	if (yych <= '0') goto yy827;
13332 	if (yych <= '2') goto yy828;
13333 	if (yych <= '3') goto yy829;
13334 	goto yy56;
13335 yy827:
13336 	YYDEBUG(827, *YYCURSOR);
13337 	yych = *++YYCURSOR;
13338 	if (yych <= '/') goto yy56;
13339 	if (yych <= '9') goto yy830;
13340 	goto yy56;
13341 yy828:
13342 	YYDEBUG(828, *YYCURSOR);
13343 	yych = *++YYCURSOR;
13344 	if (yych <= '/') goto yy56;
13345 	if (yych <= '9') goto yy830;
13346 	goto yy56;
13347 yy829:
13348 	YYDEBUG(829, *YYCURSOR);
13349 	yych = *++YYCURSOR;
13350 	if (yych <= '/') goto yy56;
13351 	if (yych >= '2') goto yy56;
13352 yy830:
13353 	YYDEBUG(830, *YYCURSOR);
13354 	yych = *++YYCURSOR;
13355 	if (yych != ' ') goto yy56;
13356 	YYDEBUG(831, *YYCURSOR);
13357 	yych = *++YYCURSOR;
13358 	if (yych <= '/') goto yy56;
13359 	if (yych <= '1') goto yy832;
13360 	if (yych <= '2') goto yy833;
13361 	goto yy56;
13362 yy832:
13363 	YYDEBUG(832, *YYCURSOR);
13364 	yych = *++YYCURSOR;
13365 	if (yych <= '/') goto yy56;
13366 	if (yych <= '9') goto yy834;
13367 	goto yy56;
13368 yy833:
13369 	YYDEBUG(833, *YYCURSOR);
13370 	yych = *++YYCURSOR;
13371 	if (yych <= '/') goto yy56;
13372 	if (yych >= '5') goto yy56;
13373 yy834:
13374 	YYDEBUG(834, *YYCURSOR);
13375 	yych = *++YYCURSOR;
13376 	if (yych != ':') goto yy56;
13377 	YYDEBUG(835, *YYCURSOR);
13378 	yych = *++YYCURSOR;
13379 	if (yych <= '/') goto yy56;
13380 	if (yych >= '6') goto yy56;
13381 	YYDEBUG(836, *YYCURSOR);
13382 	yych = *++YYCURSOR;
13383 	if (yych <= '/') goto yy56;
13384 	if (yych >= ':') goto yy56;
13385 	YYDEBUG(837, *YYCURSOR);
13386 	yych = *++YYCURSOR;
13387 	if (yych != ':') goto yy56;
13388 	YYDEBUG(838, *YYCURSOR);
13389 	yych = *++YYCURSOR;
13390 	if (yych <= '/') goto yy56;
13391 	if (yych <= '5') goto yy839;
13392 	if (yych <= '6') goto yy840;
13393 	goto yy56;
13394 yy839:
13395 	YYDEBUG(839, *YYCURSOR);
13396 	yych = *++YYCURSOR;
13397 	if (yych <= '/') goto yy56;
13398 	if (yych <= '9') goto yy841;
13399 	goto yy56;
13400 yy840:
13401 	YYDEBUG(840, *YYCURSOR);
13402 	yych = *++YYCURSOR;
13403 	if (yych != '0') goto yy56;
13404 yy841:
13405 	YYDEBUG(841, *YYCURSOR);
13406 	++YYCURSOR;
13407 yy842:
13408 	YYDEBUG(842, *YYCURSOR);
13409 #line 1394 "ext/date/lib/parse_date.re"
13410 	{
13411 		int tz_not_found;
13412 		DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
13413 		TIMELIB_INIT;
13414 		TIMELIB_HAVE_TIME();
13415 		TIMELIB_HAVE_DATE();
13416 		s->time->y = timelib_get_nr((char **) &ptr, 4);
13417 		s->time->m = timelib_get_nr((char **) &ptr, 2);
13418 		s->time->d = timelib_get_nr((char **) &ptr, 2);
13419 		s->time->h = timelib_get_nr((char **) &ptr, 2);
13420 		s->time->i = timelib_get_nr((char **) &ptr, 2);
13421 		s->time->s = timelib_get_nr((char **) &ptr, 2);
13422 		if (*ptr == '.') {
13423 			s->time->f = timelib_get_frac_nr((char **) &ptr, 9);
13424 			if (*ptr) { /* timezone is optional */
13425 				s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
13426 				if (tz_not_found) {
13427 					add_error(s, "The timezone could not be found in the database");
13428 				}
13429 			}
13430 		}
13431 		TIMELIB_DEINIT;
13432 		return TIMELIB_XMLRPC_SOAP;
13433 	}
13434 #line 13435 "ext/date/lib/parse_date.c"
13435 yy843:
13436 	YYDEBUG(843, *YYCURSOR);
13437 	yych = *++YYCURSOR;
13438 	if (yych <= '2') {
13439 		if (yych <= '/') goto yy60;
13440 		if (yych >= '1') goto yy845;
13441 	} else {
13442 		if (yych <= '3') goto yy846;
13443 		if (yych <= '9') goto yy820;
13444 		goto yy60;
13445 	}
13446 yy844:
13447 	YYDEBUG(844, *YYCURSOR);
13448 	yyaccept = 18;
13449 	yych = *(YYMARKER = ++YYCURSOR);
13450 	if (yych <= 'V') {
13451 		if (yych <= 'D') {
13452 			if (yych <= ' ') {
13453 				if (yych == '\t') goto yy60;
13454 				if (yych <= 0x1F) goto yy821;
13455 				goto yy60;
13456 			} else {
13457 				if (yych <= '/') goto yy821;
13458 				if (yych <= '9') goto yy847;
13459 				if (yych <= 'C') goto yy821;
13460 				goto yy60;
13461 			}
13462 		} else {
13463 			if (yych <= 'H') {
13464 				if (yych == 'F') goto yy60;
13465 				if (yych <= 'G') goto yy821;
13466 				goto yy60;
13467 			} else {
13468 				if (yych <= 'M') {
13469 					if (yych <= 'L') goto yy821;
13470 					goto yy60;
13471 				} else {
13472 					if (yych <= 'R') goto yy821;
13473 					if (yych <= 'T') goto yy60;
13474 					goto yy821;
13475 				}
13476 			}
13477 		}
13478 	} else {
13479 		if (yych <= 'h') {
13480 			if (yych <= 'c') {
13481 				if (yych == 'X') goto yy821;
13482 				if (yych <= 'Y') goto yy60;
13483 				goto yy821;
13484 			} else {
13485 				if (yych <= 'e') {
13486 					if (yych <= 'd') goto yy60;
13487 					goto yy821;
13488 				} else {
13489 					if (yych == 'g') goto yy821;
13490 					goto yy60;
13491 				}
13492 			}
13493 		} else {
13494 			if (yych <= 't') {
13495 				if (yych == 'm') goto yy60;
13496 				if (yych <= 'r') goto yy821;
13497 				goto yy60;
13498 			} else {
13499 				if (yych <= 'w') {
13500 					if (yych <= 'v') goto yy821;
13501 					goto yy60;
13502 				} else {
13503 					if (yych == 'y') goto yy60;
13504 					goto yy821;
13505 				}
13506 			}
13507 		}
13508 	}
13509 yy845:
13510 	YYDEBUG(845, *YYCURSOR);
13511 	yyaccept = 18;
13512 	yych = *(YYMARKER = ++YYCURSOR);
13513 	if (yych <= 'V') {
13514 		if (yych <= 'D') {
13515 			if (yych <= ' ') {
13516 				if (yych == '\t') goto yy60;
13517 				if (yych <= 0x1F) goto yy821;
13518 				goto yy60;
13519 			} else {
13520 				if (yych <= '/') goto yy821;
13521 				if (yych <= '9') goto yy847;
13522 				if (yych <= 'C') goto yy821;
13523 				goto yy60;
13524 			}
13525 		} else {
13526 			if (yych <= 'H') {
13527 				if (yych == 'F') goto yy60;
13528 				if (yych <= 'G') goto yy821;
13529 				goto yy60;
13530 			} else {
13531 				if (yych <= 'M') {
13532 					if (yych <= 'L') goto yy821;
13533 					goto yy60;
13534 				} else {
13535 					if (yych <= 'R') goto yy821;
13536 					if (yych <= 'T') goto yy60;
13537 					goto yy821;
13538 				}
13539 			}
13540 		}
13541 	} else {
13542 		if (yych <= 'h') {
13543 			if (yych <= 'c') {
13544 				if (yych == 'X') goto yy821;
13545 				if (yych <= 'Y') goto yy60;
13546 				goto yy821;
13547 			} else {
13548 				if (yych <= 'e') {
13549 					if (yych <= 'd') goto yy60;
13550 					goto yy821;
13551 				} else {
13552 					if (yych == 'g') goto yy821;
13553 					goto yy60;
13554 				}
13555 			}
13556 		} else {
13557 			if (yych <= 't') {
13558 				if (yych == 'm') goto yy60;
13559 				if (yych <= 'r') goto yy821;
13560 				goto yy60;
13561 			} else {
13562 				if (yych <= 'w') {
13563 					if (yych <= 'v') goto yy821;
13564 					goto yy60;
13565 				} else {
13566 					if (yych == 'y') goto yy60;
13567 					goto yy821;
13568 				}
13569 			}
13570 		}
13571 	}
13572 yy846:
13573 	YYDEBUG(846, *YYCURSOR);
13574 	yyaccept = 18;
13575 	yych = *(YYMARKER = ++YYCURSOR);
13576 	if (yych <= 'V') {
13577 		if (yych <= 'D') {
13578 			if (yych <= ' ') {
13579 				if (yych == '\t') goto yy60;
13580 				if (yych <= 0x1F) goto yy821;
13581 				goto yy60;
13582 			} else {
13583 				if (yych <= '1') {
13584 					if (yych <= '/') goto yy821;
13585 				} else {
13586 					if (yych <= '9') goto yy54;
13587 					if (yych <= 'C') goto yy821;
13588 					goto yy60;
13589 				}
13590 			}
13591 		} else {
13592 			if (yych <= 'H') {
13593 				if (yych == 'F') goto yy60;
13594 				if (yych <= 'G') goto yy821;
13595 				goto yy60;
13596 			} else {
13597 				if (yych <= 'M') {
13598 					if (yych <= 'L') goto yy821;
13599 					goto yy60;
13600 				} else {
13601 					if (yych <= 'R') goto yy821;
13602 					if (yych <= 'T') goto yy60;
13603 					goto yy821;
13604 				}
13605 			}
13606 		}
13607 	} else {
13608 		if (yych <= 'h') {
13609 			if (yych <= 'c') {
13610 				if (yych == 'X') goto yy821;
13611 				if (yych <= 'Y') goto yy60;
13612 				goto yy821;
13613 			} else {
13614 				if (yych <= 'e') {
13615 					if (yych <= 'd') goto yy60;
13616 					goto yy821;
13617 				} else {
13618 					if (yych == 'g') goto yy821;
13619 					goto yy60;
13620 				}
13621 			}
13622 		} else {
13623 			if (yych <= 't') {
13624 				if (yych == 'm') goto yy60;
13625 				if (yych <= 'r') goto yy821;
13626 				goto yy60;
13627 			} else {
13628 				if (yych <= 'w') {
13629 					if (yych <= 'v') goto yy821;
13630 					goto yy60;
13631 				} else {
13632 					if (yych == 'y') goto yy60;
13633 					goto yy821;
13634 				}
13635 			}
13636 		}
13637 	}
13638 yy847:
13639 	YYDEBUG(847, *YYCURSOR);
13640 	yyaccept = 19;
13641 	yych = *(YYMARKER = ++YYCURSOR);
13642 	if (yybm[0+yych] & 2) {
13643 		goto yy54;
13644 	}
13645 	if (yych <= 'W') {
13646 		if (yych <= 'F') {
13647 			if (yych <= ' ') {
13648 				if (yych == '\t') goto yy59;
13649 				if (yych >= ' ') goto yy59;
13650 			} else {
13651 				if (yych == 'D') goto yy64;
13652 				if (yych >= 'F') goto yy65;
13653 			}
13654 		} else {
13655 			if (yych <= 'M') {
13656 				if (yych == 'H') goto yy63;
13657 				if (yych >= 'M') goto yy62;
13658 			} else {
13659 				if (yych <= 'S') {
13660 					if (yych >= 'S') goto yy61;
13661 				} else {
13662 					if (yych <= 'T') goto yy849;
13663 					if (yych >= 'W') goto yy67;
13664 				}
13665 			}
13666 		}
13667 	} else {
13668 		if (yych <= 'l') {
13669 			if (yych <= 'd') {
13670 				if (yych == 'Y') goto yy66;
13671 				if (yych >= 'd') goto yy64;
13672 			} else {
13673 				if (yych <= 'f') {
13674 					if (yych >= 'f') goto yy65;
13675 				} else {
13676 					if (yych == 'h') goto yy63;
13677 				}
13678 			}
13679 		} else {
13680 			if (yych <= 't') {
13681 				if (yych <= 'm') goto yy62;
13682 				if (yych <= 'r') goto yy848;
13683 				if (yych <= 's') goto yy61;
13684 				goto yy850;
13685 			} else {
13686 				if (yych <= 'w') {
13687 					if (yych >= 'w') goto yy67;
13688 				} else {
13689 					if (yych == 'y') goto yy66;
13690 				}
13691 			}
13692 		}
13693 	}
13694 yy848:
13695 	YYDEBUG(848, *YYCURSOR);
13696 #line 1382 "ext/date/lib/parse_date.re"
13697 	{
13698 		DEBUG_OUTPUT("datenocolon");
13699 		TIMELIB_INIT;
13700 		TIMELIB_HAVE_DATE();
13701 		s->time->y = timelib_get_nr((char **) &ptr, 4);
13702 		s->time->m = timelib_get_nr((char **) &ptr, 2);
13703 		s->time->d = timelib_get_nr((char **) &ptr, 2);
13704 		TIMELIB_DEINIT;
13705 		return TIMELIB_DATE_NOCOLON;
13706 	}
13707 #line 13708 "ext/date/lib/parse_date.c"
13708 yy849:
13709 	YYDEBUG(849, *YYCURSOR);
13710 	yych = *++YYCURSOR;
13711 	if (yych <= 'H') {
13712 		if (yych <= '2') {
13713 			if (yych <= '/') goto yy56;
13714 			if (yych <= '1') goto yy864;
13715 			goto yy865;
13716 		} else {
13717 			if (yych <= '9') goto yy866;
13718 			if (yych <= 'G') goto yy56;
13719 			goto yy69;
13720 		}
13721 	} else {
13722 		if (yych <= 'g') {
13723 			if (yych == 'U') goto yy70;
13724 			goto yy56;
13725 		} else {
13726 			if (yych <= 'h') goto yy69;
13727 			if (yych == 'u') goto yy70;
13728 			goto yy56;
13729 		}
13730 	}
13731 yy850:
13732 	YYDEBUG(850, *YYCURSOR);
13733 	yych = *++YYCURSOR;
13734 	if (yych <= 'H') {
13735 		if (yych <= '2') {
13736 			if (yych <= '/') goto yy56;
13737 			if (yych >= '2') goto yy852;
13738 		} else {
13739 			if (yych <= '9') goto yy853;
13740 			if (yych <= 'G') goto yy56;
13741 			goto yy69;
13742 		}
13743 	} else {
13744 		if (yych <= 'g') {
13745 			if (yych == 'U') goto yy70;
13746 			goto yy56;
13747 		} else {
13748 			if (yych <= 'h') goto yy69;
13749 			if (yych == 'u') goto yy70;
13750 			goto yy56;
13751 		}
13752 	}
13753 	YYDEBUG(851, *YYCURSOR);
13754 	yych = *++YYCURSOR;
13755 	if (yych <= '/') goto yy56;
13756 	if (yych <= '5') goto yy858;
13757 	if (yych <= '9') goto yy853;
13758 	goto yy56;
13759 yy852:
13760 	YYDEBUG(852, *YYCURSOR);
13761 	yych = *++YYCURSOR;
13762 	if (yych <= '/') goto yy56;
13763 	if (yych <= '4') goto yy858;
13764 	if (yych <= '5') goto yy854;
13765 	goto yy56;
13766 yy853:
13767 	YYDEBUG(853, *YYCURSOR);
13768 	yych = *++YYCURSOR;
13769 	if (yych <= '/') goto yy56;
13770 	if (yych >= '6') goto yy56;
13771 yy854:
13772 	YYDEBUG(854, *YYCURSOR);
13773 	yych = *++YYCURSOR;
13774 	if (yych <= '/') goto yy56;
13775 	if (yych >= ':') goto yy56;
13776 yy855:
13777 	YYDEBUG(855, *YYCURSOR);
13778 	yych = *++YYCURSOR;
13779 	if (yych <= '/') goto yy56;
13780 	if (yych <= '5') goto yy856;
13781 	if (yych <= '6') goto yy857;
13782 	goto yy56;
13783 yy856:
13784 	YYDEBUG(856, *YYCURSOR);
13785 	yych = *++YYCURSOR;
13786 	if (yych <= '/') goto yy56;
13787 	if (yych <= '9') goto yy841;
13788 	goto yy56;
13789 yy857:
13790 	YYDEBUG(857, *YYCURSOR);
13791 	yych = *++YYCURSOR;
13792 	if (yych == '0') goto yy841;
13793 	goto yy56;
13794 yy858:
13795 	YYDEBUG(858, *YYCURSOR);
13796 	yych = *++YYCURSOR;
13797 	if (yych <= '/') goto yy56;
13798 	if (yych <= '5') goto yy859;
13799 	if (yych <= '9') goto yy855;
13800 	goto yy56;
13801 yy859:
13802 	YYDEBUG(859, *YYCURSOR);
13803 	yych = *++YYCURSOR;
13804 	if (yych <= '/') goto yy56;
13805 	if (yych <= '5') goto yy860;
13806 	if (yych <= '6') goto yy861;
13807 	if (yych <= '9') goto yy855;
13808 	goto yy56;
13809 yy860:
13810 	YYDEBUG(860, *YYCURSOR);
13811 	yych = *++YYCURSOR;
13812 	if (yych <= '/') goto yy56;
13813 	if (yych <= '5') goto yy862;
13814 	if (yych <= '6') goto yy863;
13815 	if (yych <= '9') goto yy841;
13816 	goto yy56;
13817 yy861:
13818 	YYDEBUG(861, *YYCURSOR);
13819 	yych = *++YYCURSOR;
13820 	if (yych <= '/') goto yy56;
13821 	if (yych <= '0') goto yy862;
13822 	if (yych <= '5') goto yy856;
13823 	if (yych <= '6') goto yy857;
13824 	goto yy56;
13825 yy862:
13826 	YYDEBUG(862, *YYCURSOR);
13827 	yych = *++YYCURSOR;
13828 	if (yych <= '/') goto yy842;
13829 	if (yych <= '9') goto yy841;
13830 	goto yy842;
13831 yy863:
13832 	YYDEBUG(863, *YYCURSOR);
13833 	yych = *++YYCURSOR;
13834 	if (yych == '0') goto yy841;
13835 	goto yy842;
13836 yy864:
13837 	YYDEBUG(864, *YYCURSOR);
13838 	yych = *++YYCURSOR;
13839 	if (yych <= '/') goto yy56;
13840 	if (yych <= '5') goto yy873;
13841 	if (yych <= '9') goto yy866;
13842 	if (yych <= ':') goto yy867;
13843 	goto yy56;
13844 yy865:
13845 	YYDEBUG(865, *YYCURSOR);
13846 	yych = *++YYCURSOR;
13847 	if (yych <= '5') {
13848 		if (yych <= '/') goto yy56;
13849 		if (yych <= '4') goto yy873;
13850 		goto yy854;
13851 	} else {
13852 		if (yych == ':') goto yy867;
13853 		goto yy56;
13854 	}
13855 yy866:
13856 	YYDEBUG(866, *YYCURSOR);
13857 	yych = *++YYCURSOR;
13858 	if (yych <= '/') goto yy56;
13859 	if (yych <= '5') goto yy854;
13860 	if (yych != ':') goto yy56;
13861 yy867:
13862 	YYDEBUG(867, *YYCURSOR);
13863 	yych = *++YYCURSOR;
13864 	if (yych <= '/') goto yy56;
13865 	if (yych >= '6') goto yy56;
13866 	YYDEBUG(868, *YYCURSOR);
13867 	yych = *++YYCURSOR;
13868 	if (yych <= '/') goto yy56;
13869 	if (yych >= ':') goto yy56;
13870 	YYDEBUG(869, *YYCURSOR);
13871 	yych = *++YYCURSOR;
13872 	if (yych != ':') goto yy56;
13873 	YYDEBUG(870, *YYCURSOR);
13874 	yych = *++YYCURSOR;
13875 	if (yych <= '/') goto yy56;
13876 	if (yych <= '5') goto yy871;
13877 	if (yych <= '6') goto yy872;
13878 	goto yy56;
13879 yy871:
13880 	YYDEBUG(871, *YYCURSOR);
13881 	yych = *++YYCURSOR;
13882 	if (yych <= '/') goto yy56;
13883 	if (yych <= '9') goto yy841;
13884 	goto yy56;
13885 yy872:
13886 	YYDEBUG(872, *YYCURSOR);
13887 	yych = *++YYCURSOR;
13888 	if (yych == '0') goto yy841;
13889 	goto yy56;
13890 yy873:
13891 	YYDEBUG(873, *YYCURSOR);
13892 	yych = *++YYCURSOR;
13893 	if (yych <= '/') goto yy56;
13894 	if (yych <= '5') goto yy859;
13895 	if (yych <= '9') goto yy855;
13896 	if (yych <= ':') goto yy867;
13897 	goto yy56;
13898 yy874:
13899 	YYDEBUG(874, *YYCURSOR);
13900 	yych = *++YYCURSOR;
13901 	if (yych <= '2') {
13902 		if (yych <= '/') goto yy60;
13903 		if (yych <= '0') goto yy876;
13904 		goto yy845;
13905 	} else {
13906 		if (yych <= '3') goto yy846;
13907 		if (yych <= '9') goto yy820;
13908 		goto yy60;
13909 	}
13910 yy875:
13911 	YYDEBUG(875, *YYCURSOR);
13912 	yych = *++YYCURSOR;
13913 	if (yych <= '2') {
13914 		if (yych <= '/') goto yy60;
13915 		if (yych <= '0') goto yy844;
13916 		goto yy845;
13917 	} else {
13918 		if (yych <= '3') goto yy846;
13919 		if (yych <= '9') goto yy820;
13920 		goto yy60;
13921 	}
13922 yy876:
13923 	YYDEBUG(876, *YYCURSOR);
13924 	yych = *++YYCURSOR;
13925 	if (yych <= '/') goto yy60;
13926 	if (yych <= '9') goto yy847;
13927 	goto yy60;
13928 yy877:
13929 	YYDEBUG(877, *YYCURSOR);
13930 	yych = *++YYCURSOR;
13931 	if (yych == 'C') goto yy878;
13932 	if (yych != 'c') goto yy56;
13933 yy878:
13934 	YYDEBUG(878, *YYCURSOR);
13935 	yyaccept = 20;
13936 	yych = *(YYMARKER = ++YYCURSOR);
13937 	if (yych == 'E') goto yy879;
13938 	if (yych != 'e') goto yy793;
13939 yy879:
13940 	YYDEBUG(879, *YYCURSOR);
13941 	yych = *++YYCURSOR;
13942 	if (yych == 'M') goto yy880;
13943 	if (yych != 'm') goto yy56;
13944 yy880:
13945 	YYDEBUG(880, *YYCURSOR);
13946 	yych = *++YYCURSOR;
13947 	if (yych == 'B') goto yy881;
13948 	if (yych != 'b') goto yy56;
13949 yy881:
13950 	YYDEBUG(881, *YYCURSOR);
13951 	yych = *++YYCURSOR;
13952 	if (yych == 'E') goto yy882;
13953 	if (yych != 'e') goto yy56;
13954 yy882:
13955 	YYDEBUG(882, *YYCURSOR);
13956 	yych = *++YYCURSOR;
13957 	if (yych == 'R') goto yy883;
13958 	if (yych != 'r') goto yy56;
13959 yy883:
13960 	YYDEBUG(883, *YYCURSOR);
13961 	yych = *++YYCURSOR;
13962 	goto yy793;
13963 yy884:
13964 	YYDEBUG(884, *YYCURSOR);
13965 	yych = *++YYCURSOR;
13966 	if (yych == 'V') goto yy885;
13967 	if (yych != 'v') goto yy56;
13968 yy885:
13969 	YYDEBUG(885, *YYCURSOR);
13970 	yyaccept = 20;
13971 	yych = *(YYMARKER = ++YYCURSOR);
13972 	if (yych == 'E') goto yy886;
13973 	if (yych != 'e') goto yy793;
13974 yy886:
13975 	YYDEBUG(886, *YYCURSOR);
13976 	yych = *++YYCURSOR;
13977 	if (yych == 'M') goto yy887;
13978 	if (yych != 'm') goto yy56;
13979 yy887:
13980 	YYDEBUG(887, *YYCURSOR);
13981 	yych = *++YYCURSOR;
13982 	if (yych == 'B') goto yy888;
13983 	if (yych != 'b') goto yy56;
13984 yy888:
13985 	YYDEBUG(888, *YYCURSOR);
13986 	yych = *++YYCURSOR;
13987 	if (yych == 'E') goto yy889;
13988 	if (yych != 'e') goto yy56;
13989 yy889:
13990 	YYDEBUG(889, *YYCURSOR);
13991 	yych = *++YYCURSOR;
13992 	if (yych == 'R') goto yy883;
13993 	if (yych == 'r') goto yy883;
13994 	goto yy56;
13995 yy890:
13996 	YYDEBUG(890, *YYCURSOR);
13997 	yych = *++YYCURSOR;
13998 	if (yych == 'T') goto yy891;
13999 	if (yych != 't') goto yy56;
14000 yy891:
14001 	YYDEBUG(891, *YYCURSOR);
14002 	yyaccept = 20;
14003 	yych = *(YYMARKER = ++YYCURSOR);
14004 	if (yych == 'O') goto yy892;
14005 	if (yych != 'o') goto yy793;
14006 yy892:
14007 	YYDEBUG(892, *YYCURSOR);
14008 	yych = *++YYCURSOR;
14009 	if (yych == 'B') goto yy893;
14010 	if (yych != 'b') goto yy56;
14011 yy893:
14012 	YYDEBUG(893, *YYCURSOR);
14013 	yych = *++YYCURSOR;
14014 	if (yych == 'E') goto yy894;
14015 	if (yych != 'e') goto yy56;
14016 yy894:
14017 	YYDEBUG(894, *YYCURSOR);
14018 	yych = *++YYCURSOR;
14019 	if (yych == 'R') goto yy883;
14020 	if (yych == 'r') goto yy883;
14021 	goto yy56;
14022 yy895:
14023 	YYDEBUG(895, *YYCURSOR);
14024 	yych = *++YYCURSOR;
14025 	if (yych <= 'P') {
14026 		if (yych == 'C') goto yy128;
14027 		if (yych <= 'O') goto yy56;
14028 	} else {
14029 		if (yych <= 'c') {
14030 			if (yych <= 'b') goto yy56;
14031 			goto yy128;
14032 		} else {
14033 			if (yych != 'p') goto yy56;
14034 		}
14035 	}
14036 yy896:
14037 	YYDEBUG(896, *YYCURSOR);
14038 	yych = *++YYCURSOR;
14039 	if (yych == 'T') goto yy897;
14040 	if (yych != 't') goto yy793;
14041 yy897:
14042 	YYDEBUG(897, *YYCURSOR);
14043 	yyaccept = 20;
14044 	yych = *(YYMARKER = ++YYCURSOR);
14045 	if (yych == 'E') goto yy898;
14046 	if (yych != 'e') goto yy793;
14047 yy898:
14048 	YYDEBUG(898, *YYCURSOR);
14049 	yych = *++YYCURSOR;
14050 	if (yych == 'M') goto yy899;
14051 	if (yych != 'm') goto yy56;
14052 yy899:
14053 	YYDEBUG(899, *YYCURSOR);
14054 	yych = *++YYCURSOR;
14055 	if (yych == 'B') goto yy900;
14056 	if (yych != 'b') goto yy56;
14057 yy900:
14058 	YYDEBUG(900, *YYCURSOR);
14059 	yych = *++YYCURSOR;
14060 	if (yych == 'E') goto yy901;
14061 	if (yych != 'e') goto yy56;
14062 yy901:
14063 	YYDEBUG(901, *YYCURSOR);
14064 	yych = *++YYCURSOR;
14065 	if (yych == 'R') goto yy883;
14066 	if (yych == 'r') goto yy883;
14067 	goto yy56;
14068 yy902:
14069 	YYDEBUG(902, *YYCURSOR);
14070 	yych = *++YYCURSOR;
14071 	if (yych == 'G') goto yy906;
14072 	if (yych == 'g') goto yy906;
14073 	goto yy56;
14074 yy903:
14075 	YYDEBUG(903, *YYCURSOR);
14076 	yych = *++YYCURSOR;
14077 	if (yych == 'R') goto yy904;
14078 	if (yych != 'r') goto yy56;
14079 yy904:
14080 	YYDEBUG(904, *YYCURSOR);
14081 	yyaccept = 20;
14082 	yych = *(YYMARKER = ++YYCURSOR);
14083 	if (yych == 'I') goto yy905;
14084 	if (yych != 'i') goto yy793;
14085 yy905:
14086 	YYDEBUG(905, *YYCURSOR);
14087 	yych = *++YYCURSOR;
14088 	if (yych == 'L') goto yy883;
14089 	if (yych == 'l') goto yy883;
14090 	goto yy56;
14091 yy906:
14092 	YYDEBUG(906, *YYCURSOR);
14093 	yyaccept = 20;
14094 	yych = *(YYMARKER = ++YYCURSOR);
14095 	if (yych == 'U') goto yy907;
14096 	if (yych != 'u') goto yy793;
14097 yy907:
14098 	YYDEBUG(907, *YYCURSOR);
14099 	yych = *++YYCURSOR;
14100 	if (yych == 'S') goto yy908;
14101 	if (yych != 's') goto yy56;
14102 yy908:
14103 	YYDEBUG(908, *YYCURSOR);
14104 	yych = *++YYCURSOR;
14105 	if (yych == 'T') goto yy883;
14106 	if (yych == 't') goto yy883;
14107 	goto yy56;
14108 yy909:
14109 	YYDEBUG(909, *YYCURSOR);
14110 	yych = *++YYCURSOR;
14111 	if (yych <= 'Y') {
14112 		if (yych == 'R') goto yy910;
14113 		if (yych <= 'X') goto yy56;
14114 		goto yy883;
14115 	} else {
14116 		if (yych <= 'r') {
14117 			if (yych <= 'q') goto yy56;
14118 		} else {
14119 			if (yych == 'y') goto yy883;
14120 			goto yy56;
14121 		}
14122 	}
14123 yy910:
14124 	YYDEBUG(910, *YYCURSOR);
14125 	yyaccept = 20;
14126 	yych = *(YYMARKER = ++YYCURSOR);
14127 	if (yych == 'C') goto yy911;
14128 	if (yych != 'c') goto yy793;
14129 yy911:
14130 	YYDEBUG(911, *YYCURSOR);
14131 	yych = *++YYCURSOR;
14132 	if (yych == 'H') goto yy883;
14133 	if (yych == 'h') goto yy883;
14134 	goto yy56;
14135 yy912:
14136 	YYDEBUG(912, *YYCURSOR);
14137 	yych = *++YYCURSOR;
14138 	if (yych == 'B') goto yy913;
14139 	if (yych != 'b') goto yy56;
14140 yy913:
14141 	YYDEBUG(913, *YYCURSOR);
14142 	yyaccept = 20;
14143 	yych = *(YYMARKER = ++YYCURSOR);
14144 	if (yych == 'R') goto yy914;
14145 	if (yych != 'r') goto yy793;
14146 yy914:
14147 	YYDEBUG(914, *YYCURSOR);
14148 	yych = *++YYCURSOR;
14149 	if (yych == 'U') goto yy915;
14150 	if (yych != 'u') goto yy56;
14151 yy915:
14152 	YYDEBUG(915, *YYCURSOR);
14153 	yych = *++YYCURSOR;
14154 	if (yych == 'A') goto yy916;
14155 	if (yych != 'a') goto yy56;
14156 yy916:
14157 	YYDEBUG(916, *YYCURSOR);
14158 	yych = *++YYCURSOR;
14159 	if (yych == 'R') goto yy917;
14160 	if (yych != 'r') goto yy56;
14161 yy917:
14162 	YYDEBUG(917, *YYCURSOR);
14163 	yych = *++YYCURSOR;
14164 	if (yych == 'Y') goto yy883;
14165 	if (yych == 'y') goto yy883;
14166 	goto yy56;
14167 yy918:
14168 	YYDEBUG(918, *YYCURSOR);
14169 	yych = *++YYCURSOR;
14170 	if (yych <= 'N') {
14171 		if (yych == 'L') goto yy925;
14172 		if (yych <= 'M') goto yy56;
14173 		goto yy924;
14174 	} else {
14175 		if (yych <= 'l') {
14176 			if (yych <= 'k') goto yy56;
14177 			goto yy925;
14178 		} else {
14179 			if (yych == 'n') goto yy924;
14180 			goto yy56;
14181 		}
14182 	}
14183 yy919:
14184 	YYDEBUG(919, *YYCURSOR);
14185 	yych = *++YYCURSOR;
14186 	if (yych == 'N') goto yy920;
14187 	if (yych != 'n') goto yy56;
14188 yy920:
14189 	YYDEBUG(920, *YYCURSOR);
14190 	yyaccept = 20;
14191 	yych = *(YYMARKER = ++YYCURSOR);
14192 	if (yych == 'U') goto yy921;
14193 	if (yych != 'u') goto yy793;
14194 yy921:
14195 	YYDEBUG(921, *YYCURSOR);
14196 	yych = *++YYCURSOR;
14197 	if (yych == 'A') goto yy922;
14198 	if (yych != 'a') goto yy56;
14199 yy922:
14200 	YYDEBUG(922, *YYCURSOR);
14201 	yych = *++YYCURSOR;
14202 	if (yych == 'R') goto yy923;
14203 	if (yych != 'r') goto yy56;
14204 yy923:
14205 	YYDEBUG(923, *YYCURSOR);
14206 	yych = *++YYCURSOR;
14207 	if (yych == 'Y') goto yy883;
14208 	if (yych == 'y') goto yy883;
14209 	goto yy56;
14210 yy924:
14211 	YYDEBUG(924, *YYCURSOR);
14212 	yych = *++YYCURSOR;
14213 	if (yych == 'E') goto yy883;
14214 	if (yych == 'e') goto yy883;
14215 	goto yy793;
14216 yy925:
14217 	YYDEBUG(925, *YYCURSOR);
14218 	yych = *++YYCURSOR;
14219 	if (yych == 'Y') goto yy883;
14220 	if (yych == 'y') goto yy883;
14221 	goto yy793;
14222 yy926:
14223 	YYDEBUG(926, *YYCURSOR);
14224 	yych = *++YYCURSOR;
14225 	if (yych == 'I') goto yy883;
14226 	goto yy793;
14227 yy927:
14228 	YYDEBUG(927, *YYCURSOR);
14229 	yych = *++YYCURSOR;
14230 	if (yych != 'I') goto yy793;
14231 	YYDEBUG(928, *YYCURSOR);
14232 	yych = *++YYCURSOR;
14233 	if (yych == 'I') goto yy883;
14234 	goto yy793;
14235 yy929:
14236 	YYDEBUG(929, *YYCURSOR);
14237 	yych = *++YYCURSOR;
14238 	if (yych == 'I') goto yy883;
14239 	goto yy793;
14240 yy930:
14241 	YYDEBUG(930, *YYCURSOR);
14242 	yych = *++YYCURSOR;
14243 	if (yych <= '/') goto yy56;
14244 	if (yych <= '0') goto yy945;
14245 	if (yych <= '9') goto yy944;
14246 	goto yy56;
14247 yy931:
14248 	YYDEBUG(931, *YYCURSOR);
14249 	yych = *++YYCURSOR;
14250 	if (yych <= '/') goto yy56;
14251 	if (yych <= '9') goto yy943;
14252 	goto yy56;
14253 yy932:
14254 	YYDEBUG(932, *YYCURSOR);
14255 	yych = *++YYCURSOR;
14256 	if (yych <= '/') goto yy56;
14257 	if (yych <= '5') goto yy941;
14258 	if (yych <= '6') goto yy940;
14259 	goto yy56;
14260 yy933:
14261 	YYDEBUG(933, *YYCURSOR);
14262 	yych = *++YYCURSOR;
14263 	if (yych == 'E') goto yy912;
14264 	if (yych == 'e') goto yy912;
14265 	goto yy56;
14266 yy934:
14267 	YYDEBUG(934, *YYCURSOR);
14268 	yych = *++YYCURSOR;
14269 	if (yych == 'A') goto yy909;
14270 	if (yych == 'a') goto yy909;
14271 	goto yy56;
14272 yy935:
14273 	YYDEBUG(935, *YYCURSOR);
14274 	yych = *++YYCURSOR;
14275 	if (yych == 'E') goto yy939;
14276 	if (yych == 'e') goto yy939;
14277 	goto yy56;
14278 yy936:
14279 	YYDEBUG(936, *YYCURSOR);
14280 	yych = *++YYCURSOR;
14281 	if (yych == 'E') goto yy877;
14282 	if (yych == 'e') goto yy877;
14283 	goto yy56;
14284 yy937:
14285 	YYDEBUG(937, *YYCURSOR);
14286 	++YYCURSOR;
14287 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
14288 	yych = *YYCURSOR;
14289 yy938:
14290 	YYDEBUG(938, *YYCURSOR);
14291 	YYDEBUG(-1, yych);
14292 	switch (yych) {
14293 	case '\t':
14294 	case ' ':
14295 	case '-':
14296 	case '.':	goto yy937;
14297 	case 'A':
14298 	case 'a':	goto yy799;
14299 	case 'D':
14300 	case 'd':	goto yy936;
14301 	case 'F':
14302 	case 'f':	goto yy933;
14303 	case 'I':	goto yy792;
14304 	case 'J':
14305 	case 'j':	goto yy796;
14306 	case 'M':
14307 	case 'm':	goto yy934;
14308 	case 'N':
14309 	case 'n':	goto yy802;
14310 	case 'O':
14311 	case 'o':	goto yy801;
14312 	case 'S':
14313 	case 's':	goto yy935;
14314 	case 'V':	goto yy794;
14315 	case 'X':	goto yy795;
14316 	default:	goto yy56;
14317 	}
14318 yy939:
14319 	YYDEBUG(939, *YYCURSOR);
14320 	yych = *++YYCURSOR;
14321 	if (yych == 'P') goto yy896;
14322 	if (yych == 'p') goto yy896;
14323 	goto yy56;
14324 yy940:
14325 	YYDEBUG(940, *YYCURSOR);
14326 	yych = *++YYCURSOR;
14327 	if (yych <= '/') goto yy56;
14328 	if (yych <= '6') goto yy942;
14329 	goto yy56;
14330 yy941:
14331 	YYDEBUG(941, *YYCURSOR);
14332 	yych = *++YYCURSOR;
14333 	if (yych <= '/') goto yy56;
14334 	if (yych >= ':') goto yy56;
14335 yy942:
14336 	YYDEBUG(942, *YYCURSOR);
14337 	yych = *++YYCURSOR;
14338 	goto yy821;
14339 yy943:
14340 	YYDEBUG(943, *YYCURSOR);
14341 	yych = *++YYCURSOR;
14342 	if (yych <= '/') goto yy56;
14343 	if (yych <= '9') goto yy942;
14344 	goto yy56;
14345 yy944:
14346 	YYDEBUG(944, *YYCURSOR);
14347 	yych = *++YYCURSOR;
14348 	if (yych <= '/') goto yy56;
14349 	if (yych <= '9') goto yy942;
14350 	goto yy56;
14351 yy945:
14352 	YYDEBUG(945, *YYCURSOR);
14353 	yych = *++YYCURSOR;
14354 	if (yych <= '0') goto yy56;
14355 	if (yych <= '9') goto yy942;
14356 	goto yy56;
14357 yy946:
14358 	YYDEBUG(946, *YYCURSOR);
14359 	yych = *++YYCURSOR;
14360 	if (yych <= '.') goto yy56;
14361 	if (yych <= '/') goto yy949;
14362 	if (yych <= '9') goto yy957;
14363 	goto yy56;
14364 yy947:
14365 	YYDEBUG(947, *YYCURSOR);
14366 	yych = *++YYCURSOR;
14367 	if (yych <= '.') goto yy56;
14368 	if (yych <= '/') goto yy949;
14369 	if (yych <= '2') goto yy957;
14370 	goto yy56;
14371 yy948:
14372 	YYDEBUG(948, *YYCURSOR);
14373 	yych = *++YYCURSOR;
14374 	if (yych != '/') goto yy56;
14375 yy949:
14376 	YYDEBUG(949, *YYCURSOR);
14377 	yych = *++YYCURSOR;
14378 	if (yych <= '/') goto yy56;
14379 	if (yych <= '2') goto yy950;
14380 	if (yych <= '3') goto yy951;
14381 	if (yych <= '9') goto yy952;
14382 	goto yy56;
14383 yy950:
14384 	YYDEBUG(950, *YYCURSOR);
14385 	yyaccept = 21;
14386 	yych = *(YYMARKER = ++YYCURSOR);
14387 	if (yych <= 'n') {
14388 		if (yych <= '/') goto yy454;
14389 		if (yych <= '9') goto yy952;
14390 		if (yych <= 'm') goto yy454;
14391 		goto yy954;
14392 	} else {
14393 		if (yych <= 'r') {
14394 			if (yych <= 'q') goto yy454;
14395 			goto yy955;
14396 		} else {
14397 			if (yych <= 's') goto yy953;
14398 			if (yych <= 't') goto yy956;
14399 			goto yy454;
14400 		}
14401 	}
14402 yy951:
14403 	YYDEBUG(951, *YYCURSOR);
14404 	yyaccept = 21;
14405 	yych = *(YYMARKER = ++YYCURSOR);
14406 	if (yych <= 'n') {
14407 		if (yych <= '/') goto yy454;
14408 		if (yych <= '1') goto yy952;
14409 		if (yych <= 'm') goto yy454;
14410 		goto yy954;
14411 	} else {
14412 		if (yych <= 'r') {
14413 			if (yych <= 'q') goto yy454;
14414 			goto yy955;
14415 		} else {
14416 			if (yych <= 's') goto yy953;
14417 			if (yych <= 't') goto yy956;
14418 			goto yy454;
14419 		}
14420 	}
14421 yy952:
14422 	YYDEBUG(952, *YYCURSOR);
14423 	yyaccept = 21;
14424 	yych = *(YYMARKER = ++YYCURSOR);
14425 	if (yych <= 'q') {
14426 		if (yych == 'n') goto yy954;
14427 		goto yy454;
14428 	} else {
14429 		if (yych <= 'r') goto yy955;
14430 		if (yych <= 's') goto yy953;
14431 		if (yych <= 't') goto yy956;
14432 		goto yy454;
14433 	}
14434 yy953:
14435 	YYDEBUG(953, *YYCURSOR);
14436 	yych = *++YYCURSOR;
14437 	if (yych == 't') goto yy453;
14438 	goto yy56;
14439 yy954:
14440 	YYDEBUG(954, *YYCURSOR);
14441 	yych = *++YYCURSOR;
14442 	if (yych == 'd') goto yy453;
14443 	goto yy56;
14444 yy955:
14445 	YYDEBUG(955, *YYCURSOR);
14446 	yych = *++YYCURSOR;
14447 	if (yych == 'd') goto yy453;
14448 	goto yy56;
14449 yy956:
14450 	YYDEBUG(956, *YYCURSOR);
14451 	yych = *++YYCURSOR;
14452 	if (yych == 'h') goto yy453;
14453 	goto yy56;
14454 yy957:
14455 	YYDEBUG(957, *YYCURSOR);
14456 	yych = *++YYCURSOR;
14457 	if (yych != '/') goto yy56;
14458 	YYDEBUG(958, *YYCURSOR);
14459 	yych = *++YYCURSOR;
14460 	if (yych <= '2') {
14461 		if (yych <= '/') goto yy56;
14462 		if (yych >= '1') goto yy960;
14463 	} else {
14464 		if (yych <= '3') goto yy961;
14465 		if (yych <= '9') goto yy952;
14466 		goto yy56;
14467 	}
14468 	YYDEBUG(959, *YYCURSOR);
14469 	yyaccept = 21;
14470 	yych = *(YYMARKER = ++YYCURSOR);
14471 	if (yych <= 'n') {
14472 		if (yych <= '/') goto yy454;
14473 		if (yych <= '9') goto yy962;
14474 		if (yych <= 'm') goto yy454;
14475 		goto yy954;
14476 	} else {
14477 		if (yych <= 'r') {
14478 			if (yych <= 'q') goto yy454;
14479 			goto yy955;
14480 		} else {
14481 			if (yych <= 's') goto yy953;
14482 			if (yych <= 't') goto yy956;
14483 			goto yy454;
14484 		}
14485 	}
14486 yy960:
14487 	YYDEBUG(960, *YYCURSOR);
14488 	yyaccept = 21;
14489 	yych = *(YYMARKER = ++YYCURSOR);
14490 	if (yych <= 'n') {
14491 		if (yych <= '/') goto yy454;
14492 		if (yych <= '9') goto yy962;
14493 		if (yych <= 'm') goto yy454;
14494 		goto yy954;
14495 	} else {
14496 		if (yych <= 'r') {
14497 			if (yych <= 'q') goto yy454;
14498 			goto yy955;
14499 		} else {
14500 			if (yych <= 's') goto yy953;
14501 			if (yych <= 't') goto yy956;
14502 			goto yy454;
14503 		}
14504 	}
14505 yy961:
14506 	YYDEBUG(961, *YYCURSOR);
14507 	yyaccept = 21;
14508 	yych = *(YYMARKER = ++YYCURSOR);
14509 	if (yych <= 'n') {
14510 		if (yych <= '/') goto yy454;
14511 		if (yych <= '1') goto yy962;
14512 		if (yych <= 'm') goto yy454;
14513 		goto yy954;
14514 	} else {
14515 		if (yych <= 'r') {
14516 			if (yych <= 'q') goto yy454;
14517 			goto yy955;
14518 		} else {
14519 			if (yych <= 's') goto yy953;
14520 			if (yych <= 't') goto yy956;
14521 			goto yy454;
14522 		}
14523 	}
14524 yy962:
14525 	YYDEBUG(962, *YYCURSOR);
14526 	yyaccept = 21;
14527 	yych = *(YYMARKER = ++YYCURSOR);
14528 	if (yych <= 'n') {
14529 		if (yych == '/') goto yy453;
14530 		if (yych <= 'm') goto yy454;
14531 		goto yy954;
14532 	} else {
14533 		if (yych <= 'r') {
14534 			if (yych <= 'q') goto yy454;
14535 			goto yy955;
14536 		} else {
14537 			if (yych <= 's') goto yy953;
14538 			if (yych <= 't') goto yy956;
14539 			goto yy454;
14540 		}
14541 	}
14542 yy963:
14543 	YYDEBUG(963, *YYCURSOR);
14544 	yych = *++YYCURSOR;
14545 	if (yych <= 'U') {
14546 		if (yych == 'A') goto yy1043;
14547 		if (yych <= 'T') goto yy56;
14548 		goto yy1042;
14549 	} else {
14550 		if (yych <= 'a') {
14551 			if (yych <= '`') goto yy56;
14552 			goto yy1043;
14553 		} else {
14554 			if (yych == 'u') goto yy1042;
14555 			goto yy56;
14556 		}
14557 	}
14558 yy964:
14559 	YYDEBUG(964, *YYCURSOR);
14560 	yych = *++YYCURSOR;
14561 	if (yych == 'E') goto yy1040;
14562 	if (yych == 'e') goto yy1040;
14563 	goto yy56;
14564 yy965:
14565 	YYDEBUG(965, *YYCURSOR);
14566 	yych = *++YYCURSOR;
14567 	if (yych == 'A') goto yy1037;
14568 	if (yych == 'a') goto yy1037;
14569 	goto yy56;
14570 yy966:
14571 	YYDEBUG(966, *YYCURSOR);
14572 	yych = *++YYCURSOR;
14573 	if (yych <= 'U') {
14574 		if (yych == 'P') goto yy1034;
14575 		if (yych <= 'T') goto yy56;
14576 		goto yy1033;
14577 	} else {
14578 		if (yych <= 'p') {
14579 			if (yych <= 'o') goto yy56;
14580 			goto yy1034;
14581 		} else {
14582 			if (yych == 'u') goto yy1033;
14583 			goto yy56;
14584 		}
14585 	}
14586 yy967:
14587 	YYDEBUG(967, *YYCURSOR);
14588 	yych = *++YYCURSOR;
14589 	if (yych == 'E') goto yy1030;
14590 	if (yych == 'e') goto yy1030;
14591 	goto yy56;
14592 yy968:
14593 	YYDEBUG(968, *YYCURSOR);
14594 	yych = *++YYCURSOR;
14595 	if (yych == 'C') goto yy1028;
14596 	if (yych == 'c') goto yy1028;
14597 	goto yy56;
14598 yy969:
14599 	YYDEBUG(969, *YYCURSOR);
14600 	yych = *++YYCURSOR;
14601 	if (yych == 'O') goto yy1026;
14602 	if (yych == 'o') goto yy1026;
14603 	goto yy56;
14604 yy970:
14605 	YYDEBUG(970, *YYCURSOR);
14606 	yych = *++YYCURSOR;
14607 	if (yych == 'E') goto yy1024;
14608 	if (yych == 'e') goto yy1024;
14609 	goto yy56;
14610 yy971:
14611 	YYDEBUG(971, *YYCURSOR);
14612 	yych = *++YYCURSOR;
14613 	if (yych <= '/') goto yy56;
14614 	if (yych <= '0') goto yy810;
14615 	if (yych <= '4') goto yy811;
14616 	if (yych <= '5') goto yy812;
14617 	goto yy56;
14618 yy972:
14619 	YYDEBUG(972, *YYCURSOR);
14620 	yyaccept = 22;
14621 	yych = *(YYMARKER = ++YYCURSOR);
14622 	if (yych == '-') goto yy976;
14623 	if (yych <= '/') goto yy973;
14624 	if (yych <= '9') goto yy995;
14625 yy973:
14626 	YYDEBUG(973, *YYCURSOR);
14627 #line 1259 "ext/date/lib/parse_date.re"
14628 	{
14629 		int length = 0;
14630 		DEBUG_OUTPUT("gnudateshorter");
14631 		TIMELIB_INIT;
14632 		TIMELIB_HAVE_DATE();
14633 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
14634 		s->time->m = timelib_get_nr((char **) &ptr, 2);
14635 		s->time->d = 1;
14636 		TIMELIB_PROCESS_YEAR(s->time->y, length);
14637 		TIMELIB_DEINIT;
14638 		return TIMELIB_ISO_DATE;
14639 	}
14640 #line 14641 "ext/date/lib/parse_date.c"
14641 yy974:
14642 	YYDEBUG(974, *YYCURSOR);
14643 	yyaccept = 22;
14644 	yych = *(YYMARKER = ++YYCURSOR);
14645 	if (yych == '-') goto yy976;
14646 	if (yych <= '/') goto yy973;
14647 	if (yych <= '2') goto yy995;
14648 	goto yy973;
14649 yy975:
14650 	YYDEBUG(975, *YYCURSOR);
14651 	yyaccept = 22;
14652 	yych = *(YYMARKER = ++YYCURSOR);
14653 	if (yych != '-') goto yy973;
14654 yy976:
14655 	YYDEBUG(976, *YYCURSOR);
14656 	yych = *++YYCURSOR;
14657 	if (yych <= '/') goto yy56;
14658 	if (yych <= '2') goto yy977;
14659 	if (yych <= '3') goto yy978;
14660 	if (yych <= '9') goto yy979;
14661 	goto yy56;
14662 yy977:
14663 	YYDEBUG(977, *YYCURSOR);
14664 	yyaccept = 13;
14665 	yych = *(YYMARKER = ++YYCURSOR);
14666 	if (yych <= 'm') {
14667 		if (yych <= '9') {
14668 			if (yych <= '/') goto yy656;
14669 			goto yy979;
14670 		} else {
14671 			if (yych == 'T') goto yy984;
14672 			goto yy656;
14673 		}
14674 	} else {
14675 		if (yych <= 'r') {
14676 			if (yych <= 'n') goto yy981;
14677 			if (yych <= 'q') goto yy656;
14678 			goto yy982;
14679 		} else {
14680 			if (yych <= 's') goto yy980;
14681 			if (yych <= 't') goto yy983;
14682 			goto yy656;
14683 		}
14684 	}
14685 yy978:
14686 	YYDEBUG(978, *YYCURSOR);
14687 	yyaccept = 13;
14688 	yych = *(YYMARKER = ++YYCURSOR);
14689 	if (yych <= 'm') {
14690 		if (yych <= '1') {
14691 			if (yych <= '/') goto yy656;
14692 		} else {
14693 			if (yych == 'T') goto yy984;
14694 			goto yy656;
14695 		}
14696 	} else {
14697 		if (yych <= 'r') {
14698 			if (yych <= 'n') goto yy981;
14699 			if (yych <= 'q') goto yy656;
14700 			goto yy982;
14701 		} else {
14702 			if (yych <= 's') goto yy980;
14703 			if (yych <= 't') goto yy983;
14704 			goto yy656;
14705 		}
14706 	}
14707 yy979:
14708 	YYDEBUG(979, *YYCURSOR);
14709 	yyaccept = 13;
14710 	yych = *(YYMARKER = ++YYCURSOR);
14711 	if (yych <= 'n') {
14712 		if (yych == 'T') goto yy984;
14713 		if (yych <= 'm') goto yy656;
14714 		goto yy981;
14715 	} else {
14716 		if (yych <= 'r') {
14717 			if (yych <= 'q') goto yy656;
14718 			goto yy982;
14719 		} else {
14720 			if (yych <= 's') goto yy980;
14721 			if (yych <= 't') goto yy983;
14722 			goto yy656;
14723 		}
14724 	}
14725 yy980:
14726 	YYDEBUG(980, *YYCURSOR);
14727 	yych = *++YYCURSOR;
14728 	if (yych == 't') goto yy994;
14729 	goto yy56;
14730 yy981:
14731 	YYDEBUG(981, *YYCURSOR);
14732 	yych = *++YYCURSOR;
14733 	if (yych == 'd') goto yy994;
14734 	goto yy56;
14735 yy982:
14736 	YYDEBUG(982, *YYCURSOR);
14737 	yych = *++YYCURSOR;
14738 	if (yych == 'd') goto yy994;
14739 	goto yy56;
14740 yy983:
14741 	YYDEBUG(983, *YYCURSOR);
14742 	yych = *++YYCURSOR;
14743 	if (yych == 'h') goto yy994;
14744 	goto yy56;
14745 yy984:
14746 	YYDEBUG(984, *YYCURSOR);
14747 	yych = *++YYCURSOR;
14748 	if (yych <= '/') goto yy56;
14749 	if (yych <= '1') goto yy985;
14750 	if (yych <= '2') goto yy986;
14751 	if (yych <= '9') goto yy987;
14752 	goto yy56;
14753 yy985:
14754 	YYDEBUG(985, *YYCURSOR);
14755 	yych = *++YYCURSOR;
14756 	if (yych <= '/') goto yy56;
14757 	if (yych <= '9') goto yy987;
14758 	if (yych <= ':') goto yy988;
14759 	goto yy56;
14760 yy986:
14761 	YYDEBUG(986, *YYCURSOR);
14762 	yych = *++YYCURSOR;
14763 	if (yych <= '/') goto yy56;
14764 	if (yych <= '4') goto yy987;
14765 	if (yych == ':') goto yy988;
14766 	goto yy56;
14767 yy987:
14768 	YYDEBUG(987, *YYCURSOR);
14769 	yych = *++YYCURSOR;
14770 	if (yych != ':') goto yy56;
14771 yy988:
14772 	YYDEBUG(988, *YYCURSOR);
14773 	yych = *++YYCURSOR;
14774 	if (yych <= '/') goto yy56;
14775 	if (yych <= '5') goto yy989;
14776 	if (yych <= '9') goto yy990;
14777 	goto yy56;
14778 yy989:
14779 	YYDEBUG(989, *YYCURSOR);
14780 	yych = *++YYCURSOR;
14781 	if (yych <= '/') goto yy56;
14782 	if (yych <= '9') goto yy990;
14783 	if (yych <= ':') goto yy991;
14784 	goto yy56;
14785 yy990:
14786 	YYDEBUG(990, *YYCURSOR);
14787 	yych = *++YYCURSOR;
14788 	if (yych != ':') goto yy56;
14789 yy991:
14790 	YYDEBUG(991, *YYCURSOR);
14791 	yych = *++YYCURSOR;
14792 	if (yych <= '/') goto yy56;
14793 	if (yych <= '5') goto yy992;
14794 	if (yych <= '6') goto yy993;
14795 	if (yych <= '9') goto yy841;
14796 	goto yy56;
14797 yy992:
14798 	YYDEBUG(992, *YYCURSOR);
14799 	yych = *++YYCURSOR;
14800 	if (yych <= '/') goto yy842;
14801 	if (yych <= '9') goto yy841;
14802 	goto yy842;
14803 yy993:
14804 	YYDEBUG(993, *YYCURSOR);
14805 	yych = *++YYCURSOR;
14806 	if (yych == '0') goto yy841;
14807 	goto yy842;
14808 yy994:
14809 	YYDEBUG(994, *YYCURSOR);
14810 	yyaccept = 13;
14811 	yych = *(YYMARKER = ++YYCURSOR);
14812 	if (yych == 'T') goto yy984;
14813 	goto yy656;
14814 yy995:
14815 	YYDEBUG(995, *YYCURSOR);
14816 	yyaccept = 22;
14817 	yych = *(YYMARKER = ++YYCURSOR);
14818 	if (yych != '-') goto yy973;
14819 	YYDEBUG(996, *YYCURSOR);
14820 	yych = *++YYCURSOR;
14821 	if (yych <= '2') {
14822 		if (yych <= '/') goto yy56;
14823 		if (yych >= '1') goto yy998;
14824 	} else {
14825 		if (yych <= '3') goto yy999;
14826 		if (yych <= '9') goto yy979;
14827 		goto yy56;
14828 	}
14829 	YYDEBUG(997, *YYCURSOR);
14830 	yyaccept = 13;
14831 	yych = *(YYMARKER = ++YYCURSOR);
14832 	if (yych <= 'm') {
14833 		if (yych <= '9') {
14834 			if (yych <= '/') goto yy656;
14835 			goto yy1000;
14836 		} else {
14837 			if (yych == 'T') goto yy984;
14838 			goto yy656;
14839 		}
14840 	} else {
14841 		if (yych <= 'r') {
14842 			if (yych <= 'n') goto yy981;
14843 			if (yych <= 'q') goto yy656;
14844 			goto yy982;
14845 		} else {
14846 			if (yych <= 's') goto yy980;
14847 			if (yych <= 't') goto yy983;
14848 			goto yy656;
14849 		}
14850 	}
14851 yy998:
14852 	YYDEBUG(998, *YYCURSOR);
14853 	yyaccept = 13;
14854 	yych = *(YYMARKER = ++YYCURSOR);
14855 	if (yych <= 'm') {
14856 		if (yych <= '9') {
14857 			if (yych <= '/') goto yy656;
14858 			goto yy1000;
14859 		} else {
14860 			if (yych == 'T') goto yy984;
14861 			goto yy656;
14862 		}
14863 	} else {
14864 		if (yych <= 'r') {
14865 			if (yych <= 'n') goto yy981;
14866 			if (yych <= 'q') goto yy656;
14867 			goto yy982;
14868 		} else {
14869 			if (yych <= 's') goto yy980;
14870 			if (yych <= 't') goto yy983;
14871 			goto yy656;
14872 		}
14873 	}
14874 yy999:
14875 	YYDEBUG(999, *YYCURSOR);
14876 	yyaccept = 13;
14877 	yych = *(YYMARKER = ++YYCURSOR);
14878 	if (yych <= 'm') {
14879 		if (yych <= '1') {
14880 			if (yych <= '/') goto yy656;
14881 		} else {
14882 			if (yych == 'T') goto yy984;
14883 			goto yy656;
14884 		}
14885 	} else {
14886 		if (yych <= 'r') {
14887 			if (yych <= 'n') goto yy981;
14888 			if (yych <= 'q') goto yy656;
14889 			goto yy982;
14890 		} else {
14891 			if (yych <= 's') goto yy980;
14892 			if (yych <= 't') goto yy983;
14893 			goto yy656;
14894 		}
14895 	}
14896 yy1000:
14897 	YYDEBUG(1000, *YYCURSOR);
14898 	yyaccept = 21;
14899 	yych = *(YYMARKER = ++YYCURSOR);
14900 	if (yych <= 'n') {
14901 		if (yych == 'T') goto yy1001;
14902 		if (yych <= 'm') goto yy454;
14903 		goto yy981;
14904 	} else {
14905 		if (yych <= 'r') {
14906 			if (yych <= 'q') goto yy454;
14907 			goto yy982;
14908 		} else {
14909 			if (yych <= 's') goto yy980;
14910 			if (yych <= 't') goto yy983;
14911 			goto yy454;
14912 		}
14913 	}
14914 yy1001:
14915 	YYDEBUG(1001, *YYCURSOR);
14916 	yych = *++YYCURSOR;
14917 	if (yych <= '/') goto yy56;
14918 	if (yych <= '1') goto yy1002;
14919 	if (yych <= '2') goto yy1003;
14920 	if (yych <= '9') goto yy987;
14921 	goto yy56;
14922 yy1002:
14923 	YYDEBUG(1002, *YYCURSOR);
14924 	yych = *++YYCURSOR;
14925 	if (yych <= '/') goto yy56;
14926 	if (yych <= '9') goto yy1004;
14927 	if (yych <= ':') goto yy988;
14928 	goto yy56;
14929 yy1003:
14930 	YYDEBUG(1003, *YYCURSOR);
14931 	yych = *++YYCURSOR;
14932 	if (yych <= '/') goto yy56;
14933 	if (yych <= '4') goto yy1004;
14934 	if (yych == ':') goto yy988;
14935 	goto yy56;
14936 yy1004:
14937 	YYDEBUG(1004, *YYCURSOR);
14938 	yych = *++YYCURSOR;
14939 	if (yych != ':') goto yy56;
14940 	YYDEBUG(1005, *YYCURSOR);
14941 	yych = *++YYCURSOR;
14942 	if (yych <= '/') goto yy56;
14943 	if (yych <= '5') goto yy1006;
14944 	if (yych <= '9') goto yy990;
14945 	goto yy56;
14946 yy1006:
14947 	YYDEBUG(1006, *YYCURSOR);
14948 	yych = *++YYCURSOR;
14949 	if (yych <= '/') goto yy56;
14950 	if (yych <= '9') goto yy1007;
14951 	if (yych <= ':') goto yy991;
14952 	goto yy56;
14953 yy1007:
14954 	YYDEBUG(1007, *YYCURSOR);
14955 	yych = *++YYCURSOR;
14956 	if (yych != ':') goto yy56;
14957 	YYDEBUG(1008, *YYCURSOR);
14958 	yych = *++YYCURSOR;
14959 	if (yych <= '/') goto yy56;
14960 	if (yych <= '5') goto yy1009;
14961 	if (yych <= '6') goto yy1010;
14962 	if (yych <= '9') goto yy841;
14963 	goto yy56;
14964 yy1009:
14965 	YYDEBUG(1009, *YYCURSOR);
14966 	yych = *++YYCURSOR;
14967 	if (yych <= '/') goto yy842;
14968 	if (yych <= '9') goto yy1011;
14969 	goto yy842;
14970 yy1010:
14971 	YYDEBUG(1010, *YYCURSOR);
14972 	yych = *++YYCURSOR;
14973 	if (yych != '0') goto yy842;
14974 yy1011:
14975 	YYDEBUG(1011, *YYCURSOR);
14976 	yyaccept = 23;
14977 	yych = *(YYMARKER = ++YYCURSOR);
14978 	if (yych != '.') goto yy842;
14979 	YYDEBUG(1012, *YYCURSOR);
14980 	yych = *++YYCURSOR;
14981 	if (yych <= '/') goto yy56;
14982 	if (yych >= ':') goto yy56;
14983 yy1013:
14984 	YYDEBUG(1013, *YYCURSOR);
14985 	yyaccept = 23;
14986 	YYMARKER = ++YYCURSOR;
14987 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
14988 	yych = *YYCURSOR;
14989 	YYDEBUG(1014, *YYCURSOR);
14990 	if (yych <= '-') {
14991 		if (yych == '+') goto yy1016;
14992 		if (yych <= ',') goto yy842;
14993 		goto yy1016;
14994 	} else {
14995 		if (yych <= '9') {
14996 			if (yych <= '/') goto yy842;
14997 			goto yy1013;
14998 		} else {
14999 			if (yych != 'G') goto yy842;
15000 		}
15001 	}
15002 	YYDEBUG(1015, *YYCURSOR);
15003 	yych = *++YYCURSOR;
15004 	if (yych == 'M') goto yy1022;
15005 	goto yy56;
15006 yy1016:
15007 	YYDEBUG(1016, *YYCURSOR);
15008 	yych = *++YYCURSOR;
15009 	if (yych <= '/') goto yy56;
15010 	if (yych <= '1') goto yy1017;
15011 	if (yych <= '2') goto yy1018;
15012 	if (yych <= '9') goto yy1019;
15013 	goto yy56;
15014 yy1017:
15015 	YYDEBUG(1017, *YYCURSOR);
15016 	yych = *++YYCURSOR;
15017 	if (yych <= '/') goto yy842;
15018 	if (yych <= '9') goto yy1019;
15019 	if (yych <= ':') goto yy1020;
15020 	goto yy842;
15021 yy1018:
15022 	YYDEBUG(1018, *YYCURSOR);
15023 	yych = *++YYCURSOR;
15024 	if (yych <= '5') {
15025 		if (yych <= '/') goto yy842;
15026 		if (yych >= '5') goto yy1021;
15027 	} else {
15028 		if (yych <= '9') goto yy841;
15029 		if (yych <= ':') goto yy1020;
15030 		goto yy842;
15031 	}
15032 yy1019:
15033 	YYDEBUG(1019, *YYCURSOR);
15034 	yych = *++YYCURSOR;
15035 	if (yych <= '/') goto yy842;
15036 	if (yych <= '5') goto yy1021;
15037 	if (yych <= '9') goto yy841;
15038 	if (yych >= ';') goto yy842;
15039 yy1020:
15040 	YYDEBUG(1020, *YYCURSOR);
15041 	yych = *++YYCURSOR;
15042 	if (yych <= '/') goto yy842;
15043 	if (yych <= '5') goto yy1021;
15044 	if (yych <= '9') goto yy841;
15045 	goto yy842;
15046 yy1021:
15047 	YYDEBUG(1021, *YYCURSOR);
15048 	yych = *++YYCURSOR;
15049 	if (yych <= '/') goto yy842;
15050 	if (yych <= '9') goto yy841;
15051 	goto yy842;
15052 yy1022:
15053 	YYDEBUG(1022, *YYCURSOR);
15054 	yych = *++YYCURSOR;
15055 	if (yych != 'T') goto yy56;
15056 	YYDEBUG(1023, *YYCURSOR);
15057 	yych = *++YYCURSOR;
15058 	if (yych == '+') goto yy1016;
15059 	if (yych == '-') goto yy1016;
15060 	goto yy56;
15061 yy1024:
15062 	YYDEBUG(1024, *YYCURSOR);
15063 	yych = *++YYCURSOR;
15064 	if (yych == 'C') goto yy1025;
15065 	if (yych != 'c') goto yy56;
15066 yy1025:
15067 	YYDEBUG(1025, *YYCURSOR);
15068 	yyaccept = 20;
15069 	yych = *(YYMARKER = ++YYCURSOR);
15070 	if (yych <= 'D') {
15071 		if (yych == '-') goto yy766;
15072 		goto yy793;
15073 	} else {
15074 		if (yych <= 'E') goto yy879;
15075 		if (yych == 'e') goto yy879;
15076 		goto yy793;
15077 	}
15078 yy1026:
15079 	YYDEBUG(1026, *YYCURSOR);
15080 	yych = *++YYCURSOR;
15081 	if (yych == 'V') goto yy1027;
15082 	if (yych != 'v') goto yy56;
15083 yy1027:
15084 	YYDEBUG(1027, *YYCURSOR);
15085 	yyaccept = 20;
15086 	yych = *(YYMARKER = ++YYCURSOR);
15087 	if (yych <= 'D') {
15088 		if (yych == '-') goto yy766;
15089 		goto yy793;
15090 	} else {
15091 		if (yych <= 'E') goto yy886;
15092 		if (yych == 'e') goto yy886;
15093 		goto yy793;
15094 	}
15095 yy1028:
15096 	YYDEBUG(1028, *YYCURSOR);
15097 	yych = *++YYCURSOR;
15098 	if (yych == 'T') goto yy1029;
15099 	if (yych != 't') goto yy56;
15100 yy1029:
15101 	YYDEBUG(1029, *YYCURSOR);
15102 	yyaccept = 20;
15103 	yych = *(YYMARKER = ++YYCURSOR);
15104 	if (yych <= 'N') {
15105 		if (yych == '-') goto yy766;
15106 		goto yy793;
15107 	} else {
15108 		if (yych <= 'O') goto yy892;
15109 		if (yych == 'o') goto yy892;
15110 		goto yy793;
15111 	}
15112 yy1030:
15113 	YYDEBUG(1030, *YYCURSOR);
15114 	yych = *++YYCURSOR;
15115 	if (yych == 'P') goto yy1031;
15116 	if (yych != 'p') goto yy56;
15117 yy1031:
15118 	YYDEBUG(1031, *YYCURSOR);
15119 	yyaccept = 20;
15120 	yych = *(YYMARKER = ++YYCURSOR);
15121 	if (yych <= 'S') {
15122 		if (yych == '-') goto yy766;
15123 		goto yy793;
15124 	} else {
15125 		if (yych <= 'T') goto yy1032;
15126 		if (yych != 't') goto yy793;
15127 	}
15128 yy1032:
15129 	YYDEBUG(1032, *YYCURSOR);
15130 	yyaccept = 20;
15131 	yych = *(YYMARKER = ++YYCURSOR);
15132 	if (yych <= 'D') {
15133 		if (yych == '-') goto yy766;
15134 		goto yy793;
15135 	} else {
15136 		if (yych <= 'E') goto yy898;
15137 		if (yych == 'e') goto yy898;
15138 		goto yy793;
15139 	}
15140 yy1033:
15141 	YYDEBUG(1033, *YYCURSOR);
15142 	yych = *++YYCURSOR;
15143 	if (yych == 'G') goto yy1036;
15144 	if (yych == 'g') goto yy1036;
15145 	goto yy56;
15146 yy1034:
15147 	YYDEBUG(1034, *YYCURSOR);
15148 	yych = *++YYCURSOR;
15149 	if (yych == 'R') goto yy1035;
15150 	if (yych != 'r') goto yy56;
15151 yy1035:
15152 	YYDEBUG(1035, *YYCURSOR);
15153 	yyaccept = 20;
15154 	yych = *(YYMARKER = ++YYCURSOR);
15155 	if (yych <= 'H') {
15156 		if (yych == '-') goto yy766;
15157 		goto yy793;
15158 	} else {
15159 		if (yych <= 'I') goto yy905;
15160 		if (yych == 'i') goto yy905;
15161 		goto yy793;
15162 	}
15163 yy1036:
15164 	YYDEBUG(1036, *YYCURSOR);
15165 	yyaccept = 20;
15166 	yych = *(YYMARKER = ++YYCURSOR);
15167 	if (yych <= 'T') {
15168 		if (yych == '-') goto yy766;
15169 		goto yy793;
15170 	} else {
15171 		if (yych <= 'U') goto yy907;
15172 		if (yych == 'u') goto yy907;
15173 		goto yy793;
15174 	}
15175 yy1037:
15176 	YYDEBUG(1037, *YYCURSOR);
15177 	yych = *++YYCURSOR;
15178 	if (yych <= 'Y') {
15179 		if (yych == 'R') goto yy1038;
15180 		if (yych <= 'X') goto yy56;
15181 		goto yy1039;
15182 	} else {
15183 		if (yych <= 'r') {
15184 			if (yych <= 'q') goto yy56;
15185 		} else {
15186 			if (yych == 'y') goto yy1039;
15187 			goto yy56;
15188 		}
15189 	}
15190 yy1038:
15191 	YYDEBUG(1038, *YYCURSOR);
15192 	yyaccept = 20;
15193 	yych = *(YYMARKER = ++YYCURSOR);
15194 	if (yych <= 'B') {
15195 		if (yych == '-') goto yy766;
15196 		goto yy793;
15197 	} else {
15198 		if (yych <= 'C') goto yy911;
15199 		if (yych == 'c') goto yy911;
15200 		goto yy793;
15201 	}
15202 yy1039:
15203 	YYDEBUG(1039, *YYCURSOR);
15204 	yyaccept = 20;
15205 	yych = *(YYMARKER = ++YYCURSOR);
15206 	if (yych == '-') goto yy766;
15207 	goto yy793;
15208 yy1040:
15209 	YYDEBUG(1040, *YYCURSOR);
15210 	yych = *++YYCURSOR;
15211 	if (yych == 'B') goto yy1041;
15212 	if (yych != 'b') goto yy56;
15213 yy1041:
15214 	YYDEBUG(1041, *YYCURSOR);
15215 	yyaccept = 20;
15216 	yych = *(YYMARKER = ++YYCURSOR);
15217 	if (yych <= 'Q') {
15218 		if (yych == '-') goto yy766;
15219 		goto yy793;
15220 	} else {
15221 		if (yych <= 'R') goto yy914;
15222 		if (yych == 'r') goto yy914;
15223 		goto yy793;
15224 	}
15225 yy1042:
15226 	YYDEBUG(1042, *YYCURSOR);
15227 	yych = *++YYCURSOR;
15228 	if (yych <= 'N') {
15229 		if (yych == 'L') goto yy1046;
15230 		if (yych <= 'M') goto yy56;
15231 		goto yy1045;
15232 	} else {
15233 		if (yych <= 'l') {
15234 			if (yych <= 'k') goto yy56;
15235 			goto yy1046;
15236 		} else {
15237 			if (yych == 'n') goto yy1045;
15238 			goto yy56;
15239 		}
15240 	}
15241 yy1043:
15242 	YYDEBUG(1043, *YYCURSOR);
15243 	yych = *++YYCURSOR;
15244 	if (yych == 'N') goto yy1044;
15245 	if (yych != 'n') goto yy56;
15246 yy1044:
15247 	YYDEBUG(1044, *YYCURSOR);
15248 	yyaccept = 20;
15249 	yych = *(YYMARKER = ++YYCURSOR);
15250 	if (yych <= 'T') {
15251 		if (yych == '-') goto yy766;
15252 		goto yy793;
15253 	} else {
15254 		if (yych <= 'U') goto yy921;
15255 		if (yych == 'u') goto yy921;
15256 		goto yy793;
15257 	}
15258 yy1045:
15259 	YYDEBUG(1045, *YYCURSOR);
15260 	yyaccept = 20;
15261 	yych = *(YYMARKER = ++YYCURSOR);
15262 	if (yych <= 'D') {
15263 		if (yych == '-') goto yy766;
15264 		goto yy793;
15265 	} else {
15266 		if (yych <= 'E') goto yy883;
15267 		if (yych == 'e') goto yy883;
15268 		goto yy793;
15269 	}
15270 yy1046:
15271 	YYDEBUG(1046, *YYCURSOR);
15272 	yyaccept = 20;
15273 	yych = *(YYMARKER = ++YYCURSOR);
15274 	if (yych <= 'X') {
15275 		if (yych == '-') goto yy766;
15276 		goto yy793;
15277 	} else {
15278 		if (yych <= 'Y') goto yy883;
15279 		if (yych == 'y') goto yy883;
15280 		goto yy793;
15281 	}
15282 yy1047:
15283 	YYDEBUG(1047, *YYCURSOR);
15284 	yych = *++YYCURSOR;
15285 	if (yych <= '.') {
15286 		if (yych <= '\t') {
15287 			if (yych <= 0x08) goto yy577;
15288 			goto yy730;
15289 		} else {
15290 			if (yych <= ',') goto yy577;
15291 			if (yych <= '-') goto yy731;
15292 			goto yy730;
15293 		}
15294 	} else {
15295 		if (yych <= 'U') {
15296 			if (yych <= '/') goto yy729;
15297 			if (yych <= 'T') goto yy577;
15298 			goto yy77;
15299 		} else {
15300 			if (yych == 'u') goto yy77;
15301 			goto yy577;
15302 		}
15303 	}
15304 yy1048:
15305 	YYDEBUG(1048, *YYCURSOR);
15306 	yych = *++YYCURSOR;
15307 	if (yych <= 'P') {
15308 		if (yych == 'C') goto yy128;
15309 		if (yych <= 'O') goto yy56;
15310 		goto yy585;
15311 	} else {
15312 		if (yych <= 'c') {
15313 			if (yych <= 'b') goto yy56;
15314 			goto yy128;
15315 		} else {
15316 			if (yych == 'p') goto yy585;
15317 			goto yy56;
15318 		}
15319 	}
15320 yy1049:
15321 	YYDEBUG(1049, *YYCURSOR);
15322 	yych = *++YYCURSOR;
15323 	if (yych <= '9') {
15324 		if (yych <= ',') {
15325 			if (yych == '\t') goto yy1051;
15326 			goto yy1053;
15327 		} else {
15328 			if (yych <= '-') goto yy1050;
15329 			if (yych <= '.') goto yy730;
15330 			if (yych <= '/') goto yy729;
15331 			goto yy740;
15332 		}
15333 	} else {
15334 		if (yych <= 'q') {
15335 			if (yych == 'n') goto yy469;
15336 			goto yy1053;
15337 		} else {
15338 			if (yych <= 'r') goto yy470;
15339 			if (yych <= 's') goto yy463;
15340 			if (yych <= 't') goto yy467;
15341 			goto yy1053;
15342 		}
15343 	}
15344 yy1050:
15345 	YYDEBUG(1050, *YYCURSOR);
15346 	yych = *++YYCURSOR;
15347 	YYDEBUG(-1, yych);
15348 	switch (yych) {
15349 	case '0':	goto yy1054;
15350 	case '1':	goto yy1055;
15351 	case '2':
15352 	case '3':
15353 	case '4':
15354 	case '5':
15355 	case '6':
15356 	case '7':
15357 	case '8':
15358 	case '9':	goto yy617;
15359 	case 'A':
15360 	case 'a':	goto yy621;
15361 	case 'D':
15362 	case 'd':	goto yy625;
15363 	case 'F':
15364 	case 'f':	goto yy619;
15365 	case 'J':
15366 	case 'j':	goto yy618;
15367 	case 'M':
15368 	case 'm':	goto yy620;
15369 	case 'N':
15370 	case 'n':	goto yy624;
15371 	case 'O':
15372 	case 'o':	goto yy623;
15373 	case 'S':
15374 	case 's':	goto yy622;
15375 	default:	goto yy577;
15376 	}
15377 yy1051:
15378 	YYDEBUG(1051, *YYCURSOR);
15379 	yych = *++YYCURSOR;
15380 	if (yych <= '/') goto yy1053;
15381 	if (yych <= '0') goto yy735;
15382 	if (yych <= '1') goto yy736;
15383 	if (yych <= '9') goto yy737;
15384 	goto yy1053;
15385 yy1052:
15386 	YYDEBUG(1052, *YYCURSOR);
15387 	++YYCURSOR;
15388 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
15389 	yych = *YYCURSOR;
15390 yy1053:
15391 	YYDEBUG(1053, *YYCURSOR);
15392 	YYDEBUG(-1, yych);
15393 	switch (yych) {
15394 	case '\t':
15395 	case ' ':	goto yy1052;
15396 	case '-':
15397 	case '.':	goto yy576;
15398 	case 'A':
15399 	case 'a':	goto yy573;
15400 	case 'D':
15401 	case 'd':	goto yy465;
15402 	case 'F':
15403 	case 'f':	goto yy466;
15404 	case 'H':
15405 	case 'h':	goto yy63;
15406 	case 'I':	goto yy474;
15407 	case 'J':
15408 	case 'j':	goto yy478;
15409 	case 'M':
15410 	case 'm':	goto yy464;
15411 	case 'N':
15412 	case 'n':	goto yy481;
15413 	case 'O':
15414 	case 'o':	goto yy480;
15415 	case 'S':
15416 	case 's':	goto yy462;
15417 	case 'T':
15418 	case 't':	goto yy68;
15419 	case 'V':	goto yy476;
15420 	case 'W':
15421 	case 'w':	goto yy67;
15422 	case 'X':	goto yy477;
15423 	case 'Y':
15424 	case 'y':	goto yy66;
15425 	default:	goto yy56;
15426 	}
15427 yy1054:
15428 	YYDEBUG(1054, *YYCURSOR);
15429 	yych = *++YYCURSOR;
15430 	if (yych <= '.') {
15431 		if (yych <= ',') goto yy56;
15432 		if (yych <= '-') goto yy654;
15433 		goto yy601;
15434 	} else {
15435 		if (yych <= '/') goto yy56;
15436 		if (yych <= '9') goto yy1056;
15437 		goto yy56;
15438 	}
15439 yy1055:
15440 	YYDEBUG(1055, *YYCURSOR);
15441 	yych = *++YYCURSOR;
15442 	if (yych <= '.') {
15443 		if (yych <= ',') goto yy56;
15444 		if (yych <= '-') goto yy654;
15445 		goto yy601;
15446 	} else {
15447 		if (yych <= '/') goto yy56;
15448 		if (yych >= '3') goto yy56;
15449 	}
15450 yy1056:
15451 	YYDEBUG(1056, *YYCURSOR);
15452 	yych = *++YYCURSOR;
15453 	if (yych <= ',') goto yy56;
15454 	if (yych <= '-') goto yy1057;
15455 	if (yych <= '.') goto yy601;
15456 	goto yy56;
15457 yy1057:
15458 	YYDEBUG(1057, *YYCURSOR);
15459 	yych = *++YYCURSOR;
15460 	if (yych <= '2') {
15461 		if (yych <= '/') goto yy56;
15462 		if (yych >= '1') goto yy1059;
15463 	} else {
15464 		if (yych <= '3') goto yy1060;
15465 		if (yych <= '9') goto yy658;
15466 		goto yy56;
15467 	}
15468 	YYDEBUG(1058, *YYCURSOR);
15469 	yyaccept = 13;
15470 	yych = *(YYMARKER = ++YYCURSOR);
15471 	if (yych <= 'n') {
15472 		if (yych <= '/') goto yy656;
15473 		if (yych <= '9') goto yy1061;
15474 		if (yych <= 'm') goto yy656;
15475 		goto yy660;
15476 	} else {
15477 		if (yych <= 'r') {
15478 			if (yych <= 'q') goto yy656;
15479 			goto yy661;
15480 		} else {
15481 			if (yych <= 's') goto yy659;
15482 			if (yych <= 't') goto yy662;
15483 			goto yy656;
15484 		}
15485 	}
15486 yy1059:
15487 	YYDEBUG(1059, *YYCURSOR);
15488 	yyaccept = 13;
15489 	yych = *(YYMARKER = ++YYCURSOR);
15490 	if (yych <= 'n') {
15491 		if (yych <= '/') goto yy656;
15492 		if (yych <= '9') goto yy1061;
15493 		if (yych <= 'm') goto yy656;
15494 		goto yy660;
15495 	} else {
15496 		if (yych <= 'r') {
15497 			if (yych <= 'q') goto yy656;
15498 			goto yy661;
15499 		} else {
15500 			if (yych <= 's') goto yy659;
15501 			if (yych <= 't') goto yy662;
15502 			goto yy656;
15503 		}
15504 	}
15505 yy1060:
15506 	YYDEBUG(1060, *YYCURSOR);
15507 	yyaccept = 13;
15508 	yych = *(YYMARKER = ++YYCURSOR);
15509 	if (yych <= 'n') {
15510 		if (yych <= '1') {
15511 			if (yych <= '/') goto yy656;
15512 		} else {
15513 			if (yych <= '9') goto yy603;
15514 			if (yych <= 'm') goto yy656;
15515 			goto yy660;
15516 		}
15517 	} else {
15518 		if (yych <= 'r') {
15519 			if (yych <= 'q') goto yy656;
15520 			goto yy661;
15521 		} else {
15522 			if (yych <= 's') goto yy659;
15523 			if (yych <= 't') goto yy662;
15524 			goto yy656;
15525 		}
15526 	}
15527 yy1061:
15528 	YYDEBUG(1061, *YYCURSOR);
15529 	yyaccept = 15;
15530 	yych = *(YYMARKER = ++YYCURSOR);
15531 	if (yych <= 'n') {
15532 		if (yych <= '/') goto yy763;
15533 		if (yych <= '9') goto yy604;
15534 		if (yych <= 'm') goto yy763;
15535 		goto yy660;
15536 	} else {
15537 		if (yych <= 'r') {
15538 			if (yych <= 'q') goto yy763;
15539 			goto yy661;
15540 		} else {
15541 			if (yych <= 's') goto yy659;
15542 			if (yych <= 't') goto yy662;
15543 			goto yy763;
15544 		}
15545 	}
15546 yy1062:
15547 	YYDEBUG(1062, *YYCURSOR);
15548 	yych = *++YYCURSOR;
15549 	if (yych <= '9') {
15550 		if (yych <= '-') {
15551 			if (yych == '\t') goto yy1051;
15552 			if (yych <= ',') goto yy1053;
15553 			goto yy1050;
15554 		} else {
15555 			if (yych <= '.') goto yy1063;
15556 			if (yych <= '/') goto yy729;
15557 			if (yych <= '5') goto yy1065;
15558 			goto yy740;
15559 		}
15560 	} else {
15561 		if (yych <= 'q') {
15562 			if (yych <= ':') goto yy1064;
15563 			if (yych == 'n') goto yy469;
15564 			goto yy1053;
15565 		} else {
15566 			if (yych <= 'r') goto yy470;
15567 			if (yych <= 's') goto yy463;
15568 			if (yych <= 't') goto yy467;
15569 			goto yy1053;
15570 		}
15571 	}
15572 yy1063:
15573 	YYDEBUG(1063, *YYCURSOR);
15574 	yych = *++YYCURSOR;
15575 	if (yych <= '1') {
15576 		if (yych <= '/') goto yy577;
15577 		if (yych <= '0') goto yy1087;
15578 		goto yy1088;
15579 	} else {
15580 		if (yych <= '5') goto yy1089;
15581 		if (yych <= '9') goto yy1090;
15582 		goto yy577;
15583 	}
15584 yy1064:
15585 	YYDEBUG(1064, *YYCURSOR);
15586 	yych = *++YYCURSOR;
15587 	if (yych <= '/') goto yy56;
15588 	if (yych <= '5') goto yy1082;
15589 	if (yych <= '9') goto yy1083;
15590 	goto yy56;
15591 yy1065:
15592 	YYDEBUG(1065, *YYCURSOR);
15593 	yych = *++YYCURSOR;
15594 	if (yych == '-') goto yy784;
15595 	if (yych <= '/') goto yy60;
15596 	if (yych >= ':') goto yy60;
15597 	YYDEBUG(1066, *YYCURSOR);
15598 	yyaccept = 24;
15599 	yych = *(YYMARKER = ++YYCURSOR);
15600 	YYDEBUG(-1, yych);
15601 	switch (yych) {
15602 	case '\t':
15603 	case ' ':
15604 	case 'A':
15605 	case 'D':
15606 	case 'F':
15607 	case 'H':
15608 	case 'I':
15609 	case 'J':
15610 	case 'M':
15611 	case 'N':
15612 	case 'O':
15613 	case 'S':
15614 	case 'T':
15615 	case 'V':
15616 	case 'X':
15617 	case 'Y':
15618 	case 'a':
15619 	case 'd':
15620 	case 'f':
15621 	case 'h':
15622 	case 'j':
15623 	case 'm':
15624 	case 'n':
15625 	case 'o':
15626 	case 's':
15627 	case 't':
15628 	case 'w':
15629 	case 'y':	goto yy790;
15630 	case '-':	goto yy787;
15631 	case '.':	goto yy791;
15632 	case '/':	goto yy788;
15633 	case '0':	goto yy1068;
15634 	case '1':	goto yy1069;
15635 	case '2':	goto yy1070;
15636 	case '3':	goto yy1071;
15637 	case '4':
15638 	case '5':	goto yy1072;
15639 	case '6':	goto yy1073;
15640 	case '7':
15641 	case '8':
15642 	case '9':	goto yy54;
15643 	case ':':	goto yy806;
15644 	case 'W':	goto yy809;
15645 	default:	goto yy1067;
15646 	}
15647 yy1067:
15648 	YYDEBUG(1067, *YYCURSOR);
15649 #line 1151 "ext/date/lib/parse_date.re"
15650 	{
15651 		DEBUG_OUTPUT("gnunocolon");
15652 		TIMELIB_INIT;
15653 		switch (s->time->have_time) {
15654 			case 0:
15655 				s->time->h = timelib_get_nr((char **) &ptr, 2);
15656 				s->time->i = timelib_get_nr((char **) &ptr, 2);
15657 				s->time->s = 0;
15658 				break;
15659 			case 1:
15660 				s->time->y = timelib_get_nr((char **) &ptr, 4);
15661 				break;
15662 			default:
15663 				TIMELIB_DEINIT;
15664 				add_error(s, "Double time specification");
15665 				return TIMELIB_ERROR;
15666 		}
15667 		s->time->have_time++;
15668 		TIMELIB_DEINIT;
15669 		return TIMELIB_GNU_NOCOLON;
15670 	}
15671 #line 15672 "ext/date/lib/parse_date.c"
15672 yy1068:
15673 	YYDEBUG(1068, *YYCURSOR);
15674 	yych = *++YYCURSOR;
15675 	if (yych <= '/') goto yy60;
15676 	if (yych <= '0') goto yy1080;
15677 	if (yych <= '9') goto yy1081;
15678 	goto yy60;
15679 yy1069:
15680 	YYDEBUG(1069, *YYCURSOR);
15681 	yych = *++YYCURSOR;
15682 	if (yych <= '/') goto yy60;
15683 	if (yych <= '2') goto yy1079;
15684 	if (yych <= '9') goto yy1078;
15685 	goto yy60;
15686 yy1070:
15687 	YYDEBUG(1070, *YYCURSOR);
15688 	yych = *++YYCURSOR;
15689 	if (yych <= '/') goto yy60;
15690 	if (yych <= '9') goto yy1078;
15691 	goto yy60;
15692 yy1071:
15693 	YYDEBUG(1071, *YYCURSOR);
15694 	yych = *++YYCURSOR;
15695 	if (yych <= '/') goto yy60;
15696 	if (yych <= '5') goto yy1076;
15697 	if (yych <= '6') goto yy1077;
15698 	if (yych <= '9') goto yy1074;
15699 	goto yy60;
15700 yy1072:
15701 	YYDEBUG(1072, *YYCURSOR);
15702 	yych = *++YYCURSOR;
15703 	if (yych <= '/') goto yy60;
15704 	if (yych <= '9') goto yy1074;
15705 	goto yy60;
15706 yy1073:
15707 	YYDEBUG(1073, *YYCURSOR);
15708 	yych = *++YYCURSOR;
15709 	if (yych <= '/') goto yy60;
15710 	if (yych <= '0') goto yy1074;
15711 	if (yych <= '9') goto yy54;
15712 	goto yy60;
15713 yy1074:
15714 	YYDEBUG(1074, *YYCURSOR);
15715 	yyaccept = 25;
15716 	yych = *(YYMARKER = ++YYCURSOR);
15717 	if (yybm[0+yych] & 2) {
15718 		goto yy54;
15719 	}
15720 	if (yych <= 'W') {
15721 		if (yych <= 'F') {
15722 			if (yych <= ' ') {
15723 				if (yych == '\t') goto yy60;
15724 				if (yych >= ' ') goto yy60;
15725 			} else {
15726 				if (yych == 'D') goto yy60;
15727 				if (yych >= 'F') goto yy60;
15728 			}
15729 		} else {
15730 			if (yych <= 'M') {
15731 				if (yych == 'H') goto yy60;
15732 				if (yych >= 'M') goto yy60;
15733 			} else {
15734 				if (yych <= 'R') goto yy1075;
15735 				if (yych <= 'T') goto yy60;
15736 				if (yych >= 'W') goto yy60;
15737 			}
15738 		}
15739 	} else {
15740 		if (yych <= 'h') {
15741 			if (yych <= 'd') {
15742 				if (yych == 'Y') goto yy60;
15743 				if (yych >= 'd') goto yy60;
15744 			} else {
15745 				if (yych == 'f') goto yy60;
15746 				if (yych >= 'h') goto yy60;
15747 			}
15748 		} else {
15749 			if (yych <= 't') {
15750 				if (yych == 'm') goto yy60;
15751 				if (yych >= 's') goto yy60;
15752 			} else {
15753 				if (yych <= 'w') {
15754 					if (yych >= 'w') goto yy60;
15755 				} else {
15756 					if (yych == 'y') goto yy60;
15757 				}
15758 			}
15759 		}
15760 	}
15761 yy1075:
15762 	YYDEBUG(1075, *YYCURSOR);
15763 #line 1197 "ext/date/lib/parse_date.re"
15764 	{
15765 		int tz_not_found;
15766 		DEBUG_OUTPUT("iso8601nocolon");
15767 		TIMELIB_INIT;
15768 		TIMELIB_HAVE_TIME();
15769 		s->time->h = timelib_get_nr((char **) &ptr, 2);
15770 		s->time->i = timelib_get_nr((char **) &ptr, 2);
15771 		s->time->s = timelib_get_nr((char **) &ptr, 2);
15772 
15773 		if (*ptr != '\0') {
15774 			s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
15775 			if (tz_not_found) {
15776 				add_error(s, "The timezone could not be found in the database");
15777 			}
15778 		}
15779 		TIMELIB_DEINIT;
15780 		return TIMELIB_ISO_NOCOLON;
15781 	}
15782 #line 15783 "ext/date/lib/parse_date.c"
15783 yy1076:
15784 	YYDEBUG(1076, *YYCURSOR);
15785 	yyaccept = 25;
15786 	yych = *(YYMARKER = ++YYCURSOR);
15787 	if (yych <= 'V') {
15788 		if (yych <= 'D') {
15789 			if (yych <= ' ') {
15790 				if (yych == '\t') goto yy60;
15791 				if (yych <= 0x1F) goto yy1075;
15792 				goto yy60;
15793 			} else {
15794 				if (yych <= '/') goto yy1075;
15795 				if (yych <= '9') goto yy820;
15796 				if (yych <= 'C') goto yy1075;
15797 				goto yy60;
15798 			}
15799 		} else {
15800 			if (yych <= 'H') {
15801 				if (yych == 'F') goto yy60;
15802 				if (yych <= 'G') goto yy1075;
15803 				goto yy60;
15804 			} else {
15805 				if (yych <= 'M') {
15806 					if (yych <= 'L') goto yy1075;
15807 					goto yy60;
15808 				} else {
15809 					if (yych <= 'R') goto yy1075;
15810 					if (yych <= 'T') goto yy60;
15811 					goto yy1075;
15812 				}
15813 			}
15814 		}
15815 	} else {
15816 		if (yych <= 'h') {
15817 			if (yych <= 'c') {
15818 				if (yych == 'X') goto yy1075;
15819 				if (yych <= 'Y') goto yy60;
15820 				goto yy1075;
15821 			} else {
15822 				if (yych <= 'e') {
15823 					if (yych <= 'd') goto yy60;
15824 					goto yy1075;
15825 				} else {
15826 					if (yych == 'g') goto yy1075;
15827 					goto yy60;
15828 				}
15829 			}
15830 		} else {
15831 			if (yych <= 't') {
15832 				if (yych == 'm') goto yy60;
15833 				if (yych <= 'r') goto yy1075;
15834 				goto yy60;
15835 			} else {
15836 				if (yych <= 'w') {
15837 					if (yych <= 'v') goto yy1075;
15838 					goto yy60;
15839 				} else {
15840 					if (yych == 'y') goto yy60;
15841 					goto yy1075;
15842 				}
15843 			}
15844 		}
15845 	}
15846 yy1077:
15847 	YYDEBUG(1077, *YYCURSOR);
15848 	yyaccept = 25;
15849 	yych = *(YYMARKER = ++YYCURSOR);
15850 	if (yych <= 'V') {
15851 		if (yych <= 'D') {
15852 			if (yych <= ' ') {
15853 				if (yych == '\t') goto yy60;
15854 				if (yych <= 0x1F) goto yy1075;
15855 				goto yy60;
15856 			} else {
15857 				if (yych <= '6') {
15858 					if (yych <= '/') goto yy1075;
15859 					goto yy820;
15860 				} else {
15861 					if (yych <= '9') goto yy54;
15862 					if (yych <= 'C') goto yy1075;
15863 					goto yy60;
15864 				}
15865 			}
15866 		} else {
15867 			if (yych <= 'H') {
15868 				if (yych == 'F') goto yy60;
15869 				if (yych <= 'G') goto yy1075;
15870 				goto yy60;
15871 			} else {
15872 				if (yych <= 'M') {
15873 					if (yych <= 'L') goto yy1075;
15874 					goto yy60;
15875 				} else {
15876 					if (yych <= 'R') goto yy1075;
15877 					if (yych <= 'T') goto yy60;
15878 					goto yy1075;
15879 				}
15880 			}
15881 		}
15882 	} else {
15883 		if (yych <= 'h') {
15884 			if (yych <= 'c') {
15885 				if (yych == 'X') goto yy1075;
15886 				if (yych <= 'Y') goto yy60;
15887 				goto yy1075;
15888 			} else {
15889 				if (yych <= 'e') {
15890 					if (yych <= 'd') goto yy60;
15891 					goto yy1075;
15892 				} else {
15893 					if (yych == 'g') goto yy1075;
15894 					goto yy60;
15895 				}
15896 			}
15897 		} else {
15898 			if (yych <= 't') {
15899 				if (yych == 'm') goto yy60;
15900 				if (yych <= 'r') goto yy1075;
15901 				goto yy60;
15902 			} else {
15903 				if (yych <= 'w') {
15904 					if (yych <= 'v') goto yy1075;
15905 					goto yy60;
15906 				} else {
15907 					if (yych == 'y') goto yy60;
15908 					goto yy1075;
15909 				}
15910 			}
15911 		}
15912 	}
15913 yy1078:
15914 	YYDEBUG(1078, *YYCURSOR);
15915 	yyaccept = 25;
15916 	yych = *(YYMARKER = ++YYCURSOR);
15917 	if (yych <= 'V') {
15918 		if (yych <= 'D') {
15919 			if (yych <= ' ') {
15920 				if (yych == '\t') goto yy60;
15921 				if (yych <= 0x1F) goto yy1075;
15922 				goto yy60;
15923 			} else {
15924 				if (yych <= '/') goto yy1075;
15925 				if (yych <= '9') goto yy820;
15926 				if (yych <= 'C') goto yy1075;
15927 				goto yy60;
15928 			}
15929 		} else {
15930 			if (yych <= 'H') {
15931 				if (yych == 'F') goto yy60;
15932 				if (yych <= 'G') goto yy1075;
15933 				goto yy60;
15934 			} else {
15935 				if (yych <= 'M') {
15936 					if (yych <= 'L') goto yy1075;
15937 					goto yy60;
15938 				} else {
15939 					if (yych <= 'R') goto yy1075;
15940 					if (yych <= 'T') goto yy60;
15941 					goto yy1075;
15942 				}
15943 			}
15944 		}
15945 	} else {
15946 		if (yych <= 'h') {
15947 			if (yych <= 'c') {
15948 				if (yych == 'X') goto yy1075;
15949 				if (yych <= 'Y') goto yy60;
15950 				goto yy1075;
15951 			} else {
15952 				if (yych <= 'e') {
15953 					if (yych <= 'd') goto yy60;
15954 					goto yy1075;
15955 				} else {
15956 					if (yych == 'g') goto yy1075;
15957 					goto yy60;
15958 				}
15959 			}
15960 		} else {
15961 			if (yych <= 't') {
15962 				if (yych == 'm') goto yy60;
15963 				if (yych <= 'r') goto yy1075;
15964 				goto yy60;
15965 			} else {
15966 				if (yych <= 'w') {
15967 					if (yych <= 'v') goto yy1075;
15968 					goto yy60;
15969 				} else {
15970 					if (yych == 'y') goto yy60;
15971 					goto yy1075;
15972 				}
15973 			}
15974 		}
15975 	}
15976 yy1079:
15977 	YYDEBUG(1079, *YYCURSOR);
15978 	yyaccept = 25;
15979 	yych = *(YYMARKER = ++YYCURSOR);
15980 	if (yych <= 'T') {
15981 		if (yych <= '9') {
15982 			if (yych <= ' ') {
15983 				if (yych == '\t') goto yy60;
15984 				if (yych <= 0x1F) goto yy1075;
15985 				goto yy60;
15986 			} else {
15987 				if (yych <= '0') {
15988 					if (yych <= '/') goto yy1075;
15989 					goto yy844;
15990 				} else {
15991 					if (yych <= '2') goto yy845;
15992 					if (yych <= '3') goto yy846;
15993 					goto yy820;
15994 				}
15995 			}
15996 		} else {
15997 			if (yych <= 'G') {
15998 				if (yych <= 'D') {
15999 					if (yych <= 'C') goto yy1075;
16000 					goto yy60;
16001 				} else {
16002 					if (yych == 'F') goto yy60;
16003 					goto yy1075;
16004 				}
16005 			} else {
16006 				if (yych <= 'L') {
16007 					if (yych <= 'H') goto yy60;
16008 					goto yy1075;
16009 				} else {
16010 					if (yych <= 'M') goto yy60;
16011 					if (yych <= 'R') goto yy1075;
16012 					goto yy60;
16013 				}
16014 			}
16015 		}
16016 	} else {
16017 		if (yych <= 'g') {
16018 			if (yych <= 'Y') {
16019 				if (yych == 'W') goto yy60;
16020 				if (yych <= 'X') goto yy1075;
16021 				goto yy60;
16022 			} else {
16023 				if (yych <= 'd') {
16024 					if (yych <= 'c') goto yy1075;
16025 					goto yy60;
16026 				} else {
16027 					if (yych == 'f') goto yy60;
16028 					goto yy1075;
16029 				}
16030 			}
16031 		} else {
16032 			if (yych <= 't') {
16033 				if (yych <= 'l') {
16034 					if (yych <= 'h') goto yy60;
16035 					goto yy1075;
16036 				} else {
16037 					if (yych <= 'm') goto yy60;
16038 					if (yych <= 'r') goto yy1075;
16039 					goto yy60;
16040 				}
16041 			} else {
16042 				if (yych <= 'w') {
16043 					if (yych <= 'v') goto yy1075;
16044 					goto yy60;
16045 				} else {
16046 					if (yych == 'y') goto yy60;
16047 					goto yy1075;
16048 				}
16049 			}
16050 		}
16051 	}
16052 yy1080:
16053 	YYDEBUG(1080, *YYCURSOR);
16054 	yyaccept = 25;
16055 	yych = *(YYMARKER = ++YYCURSOR);
16056 	if (yych <= 'T') {
16057 		if (yych <= '9') {
16058 			if (yych <= ' ') {
16059 				if (yych == '\t') goto yy60;
16060 				if (yych <= 0x1F) goto yy1075;
16061 				goto yy60;
16062 			} else {
16063 				if (yych <= '0') {
16064 					if (yych <= '/') goto yy1075;
16065 					goto yy876;
16066 				} else {
16067 					if (yych <= '2') goto yy845;
16068 					if (yych <= '3') goto yy846;
16069 					goto yy820;
16070 				}
16071 			}
16072 		} else {
16073 			if (yych <= 'G') {
16074 				if (yych <= 'D') {
16075 					if (yych <= 'C') goto yy1075;
16076 					goto yy60;
16077 				} else {
16078 					if (yych == 'F') goto yy60;
16079 					goto yy1075;
16080 				}
16081 			} else {
16082 				if (yych <= 'L') {
16083 					if (yych <= 'H') goto yy60;
16084 					goto yy1075;
16085 				} else {
16086 					if (yych <= 'M') goto yy60;
16087 					if (yych <= 'R') goto yy1075;
16088 					goto yy60;
16089 				}
16090 			}
16091 		}
16092 	} else {
16093 		if (yych <= 'g') {
16094 			if (yych <= 'Y') {
16095 				if (yych == 'W') goto yy60;
16096 				if (yych <= 'X') goto yy1075;
16097 				goto yy60;
16098 			} else {
16099 				if (yych <= 'd') {
16100 					if (yych <= 'c') goto yy1075;
16101 					goto yy60;
16102 				} else {
16103 					if (yych == 'f') goto yy60;
16104 					goto yy1075;
16105 				}
16106 			}
16107 		} else {
16108 			if (yych <= 't') {
16109 				if (yych <= 'l') {
16110 					if (yych <= 'h') goto yy60;
16111 					goto yy1075;
16112 				} else {
16113 					if (yych <= 'm') goto yy60;
16114 					if (yych <= 'r') goto yy1075;
16115 					goto yy60;
16116 				}
16117 			} else {
16118 				if (yych <= 'w') {
16119 					if (yych <= 'v') goto yy1075;
16120 					goto yy60;
16121 				} else {
16122 					if (yych == 'y') goto yy60;
16123 					goto yy1075;
16124 				}
16125 			}
16126 		}
16127 	}
16128 yy1081:
16129 	YYDEBUG(1081, *YYCURSOR);
16130 	yyaccept = 25;
16131 	yych = *(YYMARKER = ++YYCURSOR);
16132 	if (yych <= 'T') {
16133 		if (yych <= '9') {
16134 			if (yych <= ' ') {
16135 				if (yych == '\t') goto yy60;
16136 				if (yych <= 0x1F) goto yy1075;
16137 				goto yy60;
16138 			} else {
16139 				if (yych <= '0') {
16140 					if (yych <= '/') goto yy1075;
16141 					goto yy844;
16142 				} else {
16143 					if (yych <= '2') goto yy845;
16144 					if (yych <= '3') goto yy846;
16145 					goto yy820;
16146 				}
16147 			}
16148 		} else {
16149 			if (yych <= 'G') {
16150 				if (yych <= 'D') {
16151 					if (yych <= 'C') goto yy1075;
16152 					goto yy60;
16153 				} else {
16154 					if (yych == 'F') goto yy60;
16155 					goto yy1075;
16156 				}
16157 			} else {
16158 				if (yych <= 'L') {
16159 					if (yych <= 'H') goto yy60;
16160 					goto yy1075;
16161 				} else {
16162 					if (yych <= 'M') goto yy60;
16163 					if (yych <= 'R') goto yy1075;
16164 					goto yy60;
16165 				}
16166 			}
16167 		}
16168 	} else {
16169 		if (yych <= 'g') {
16170 			if (yych <= 'Y') {
16171 				if (yych == 'W') goto yy60;
16172 				if (yych <= 'X') goto yy1075;
16173 				goto yy60;
16174 			} else {
16175 				if (yych <= 'd') {
16176 					if (yych <= 'c') goto yy1075;
16177 					goto yy60;
16178 				} else {
16179 					if (yych == 'f') goto yy60;
16180 					goto yy1075;
16181 				}
16182 			}
16183 		} else {
16184 			if (yych <= 't') {
16185 				if (yych <= 'l') {
16186 					if (yych <= 'h') goto yy60;
16187 					goto yy1075;
16188 				} else {
16189 					if (yych <= 'm') goto yy60;
16190 					if (yych <= 'r') goto yy1075;
16191 					goto yy60;
16192 				}
16193 			} else {
16194 				if (yych <= 'w') {
16195 					if (yych <= 'v') goto yy1075;
16196 					goto yy60;
16197 				} else {
16198 					if (yych == 'y') goto yy60;
16199 					goto yy1075;
16200 				}
16201 			}
16202 		}
16203 	}
16204 yy1082:
16205 	YYDEBUG(1082, *YYCURSOR);
16206 	yyaccept = 11;
16207 	yych = *(YYMARKER = ++YYCURSOR);
16208 	if (yych <= '/') {
16209 		if (yych == '.') goto yy1084;
16210 		goto yy490;
16211 	} else {
16212 		if (yych <= '9') goto yy1083;
16213 		if (yych <= ':') goto yy1084;
16214 		goto yy490;
16215 	}
16216 yy1083:
16217 	YYDEBUG(1083, *YYCURSOR);
16218 	yyaccept = 11;
16219 	yych = *(YYMARKER = ++YYCURSOR);
16220 	if (yych == '.') goto yy1084;
16221 	if (yych != ':') goto yy490;
16222 yy1084:
16223 	YYDEBUG(1084, *YYCURSOR);
16224 	yych = *++YYCURSOR;
16225 	if (yych <= '/') goto yy56;
16226 	if (yych <= '5') goto yy1085;
16227 	if (yych <= '6') goto yy1086;
16228 	if (yych <= '9') goto yy495;
16229 	goto yy56;
16230 yy1085:
16231 	YYDEBUG(1085, *YYCURSOR);
16232 	yyaccept = 11;
16233 	yych = *(YYMARKER = ++YYCURSOR);
16234 	if (yych == '.') goto yy496;
16235 	if (yych <= '/') goto yy490;
16236 	if (yych <= '9') goto yy495;
16237 	goto yy490;
16238 yy1086:
16239 	YYDEBUG(1086, *YYCURSOR);
16240 	yyaccept = 11;
16241 	yych = *(YYMARKER = ++YYCURSOR);
16242 	if (yych == '.') goto yy496;
16243 	if (yych == '0') goto yy495;
16244 	goto yy490;
16245 yy1087:
16246 	YYDEBUG(1087, *YYCURSOR);
16247 	yyaccept = 11;
16248 	yych = *(YYMARKER = ++YYCURSOR);
16249 	if (yych <= '.') {
16250 		if (yych <= ',') goto yy490;
16251 		if (yych <= '-') goto yy601;
16252 		goto yy1091;
16253 	} else {
16254 		if (yych <= '/') goto yy490;
16255 		if (yych <= '9') goto yy1090;
16256 		if (yych <= ':') goto yy1084;
16257 		goto yy490;
16258 	}
16259 yy1088:
16260 	YYDEBUG(1088, *YYCURSOR);
16261 	yyaccept = 11;
16262 	yych = *(YYMARKER = ++YYCURSOR);
16263 	if (yych <= '/') {
16264 		if (yych <= ',') goto yy490;
16265 		if (yych <= '-') goto yy601;
16266 		if (yych <= '.') goto yy1091;
16267 		goto yy490;
16268 	} else {
16269 		if (yych <= '2') goto yy1090;
16270 		if (yych <= '9') goto yy1083;
16271 		if (yych <= ':') goto yy1084;
16272 		goto yy490;
16273 	}
16274 yy1089:
16275 	YYDEBUG(1089, *YYCURSOR);
16276 	yyaccept = 11;
16277 	yych = *(YYMARKER = ++YYCURSOR);
16278 	if (yych <= '.') {
16279 		if (yych <= ',') goto yy490;
16280 		if (yych <= '-') goto yy601;
16281 		goto yy1091;
16282 	} else {
16283 		if (yych <= '/') goto yy490;
16284 		if (yych <= '9') goto yy1083;
16285 		if (yych <= ':') goto yy1084;
16286 		goto yy490;
16287 	}
16288 yy1090:
16289 	YYDEBUG(1090, *YYCURSOR);
16290 	yyaccept = 11;
16291 	yych = *(YYMARKER = ++YYCURSOR);
16292 	if (yych <= '.') {
16293 		if (yych <= ',') goto yy490;
16294 		if (yych <= '-') goto yy601;
16295 	} else {
16296 		if (yych == ':') goto yy1084;
16297 		goto yy490;
16298 	}
16299 yy1091:
16300 	YYDEBUG(1091, *YYCURSOR);
16301 	yych = *++YYCURSOR;
16302 	if (yych <= '/') goto yy56;
16303 	if (yych <= '5') goto yy1092;
16304 	if (yych <= '6') goto yy1093;
16305 	if (yych <= '9') goto yy609;
16306 	goto yy56;
16307 yy1092:
16308 	YYDEBUG(1092, *YYCURSOR);
16309 	yyaccept = 11;
16310 	yych = *(YYMARKER = ++YYCURSOR);
16311 	if (yych == '.') goto yy496;
16312 	if (yych <= '/') goto yy490;
16313 	if (yych <= '9') goto yy1094;
16314 	goto yy490;
16315 yy1093:
16316 	YYDEBUG(1093, *YYCURSOR);
16317 	yyaccept = 11;
16318 	yych = *(YYMARKER = ++YYCURSOR);
16319 	if (yych <= '/') {
16320 		if (yych == '.') goto yy496;
16321 		goto yy490;
16322 	} else {
16323 		if (yych <= '0') goto yy1094;
16324 		if (yych <= '9') goto yy610;
16325 		goto yy490;
16326 	}
16327 yy1094:
16328 	YYDEBUG(1094, *YYCURSOR);
16329 	yyaccept = 11;
16330 	yych = *(YYMARKER = ++YYCURSOR);
16331 	if (yych == '.') goto yy496;
16332 	if (yych <= '/') goto yy490;
16333 	if (yych <= '9') goto yy604;
16334 	goto yy490;
16335 yy1095:
16336 	YYDEBUG(1095, *YYCURSOR);
16337 	yych = *++YYCURSOR;
16338 	if (yych <= '9') {
16339 		if (yych <= '-') {
16340 			if (yych == '\t') goto yy459;
16341 			if (yych <= ',') goto yy461;
16342 			goto yy1050;
16343 		} else {
16344 			if (yych <= '.') goto yy473;
16345 			if (yych <= '/') goto yy471;
16346 			if (yych <= '5') goto yy1065;
16347 			goto yy740;
16348 		}
16349 	} else {
16350 		if (yych <= 'q') {
16351 			if (yych <= ':') goto yy482;
16352 			if (yych == 'n') goto yy469;
16353 			goto yy461;
16354 		} else {
16355 			if (yych <= 'r') goto yy470;
16356 			if (yych <= 's') goto yy463;
16357 			if (yych <= 't') goto yy467;
16358 			goto yy461;
16359 		}
16360 	}
16361 yy1096:
16362 	YYDEBUG(1096, *YYCURSOR);
16363 	yych = *++YYCURSOR;
16364 	if (yych <= '9') {
16365 		if (yych <= '-') {
16366 			if (yych == '\t') goto yy1051;
16367 			if (yych <= ',') goto yy1053;
16368 			goto yy1050;
16369 		} else {
16370 			if (yych <= '.') goto yy1063;
16371 			if (yych <= '/') goto yy471;
16372 			if (yych <= '5') goto yy1065;
16373 			goto yy740;
16374 		}
16375 	} else {
16376 		if (yych <= 'q') {
16377 			if (yych <= ':') goto yy1064;
16378 			if (yych == 'n') goto yy469;
16379 			goto yy1053;
16380 		} else {
16381 			if (yych <= 'r') goto yy470;
16382 			if (yych <= 's') goto yy463;
16383 			if (yych <= 't') goto yy467;
16384 			goto yy1053;
16385 		}
16386 	}
16387 yy1097:
16388 	YYDEBUG(1097, *YYCURSOR);
16389 	yych = *++YYCURSOR;
16390 	if (yych <= 'E') {
16391 		if (yych <= ')') {
16392 			if (yych <= '(') goto yy3;
16393 			goto yy139;
16394 		} else {
16395 			if (yych <= '@') goto yy3;
16396 			if (yych <= 'D') goto yy141;
16397 		}
16398 	} else {
16399 		if (yych <= 'd') {
16400 			if (yych <= 'Z') goto yy141;
16401 			if (yych <= '`') goto yy3;
16402 			goto yy141;
16403 		} else {
16404 			if (yych <= 'e') goto yy1098;
16405 			if (yych <= 'z') goto yy141;
16406 			goto yy3;
16407 		}
16408 	}
16409 yy1098:
16410 	YYDEBUG(1098, *YYCURSOR);
16411 	yych = *++YYCURSOR;
16412 	if (yych <= 'V') {
16413 		if (yych <= ')') {
16414 			if (yych <= '(') goto yy3;
16415 			goto yy139;
16416 		} else {
16417 			if (yych <= '@') goto yy3;
16418 			if (yych <= 'U') goto yy142;
16419 		}
16420 	} else {
16421 		if (yych <= 'u') {
16422 			if (yych <= 'Z') goto yy142;
16423 			if (yych <= '`') goto yy3;
16424 			goto yy142;
16425 		} else {
16426 			if (yych <= 'v') goto yy1099;
16427 			if (yych <= 'z') goto yy142;
16428 			goto yy3;
16429 		}
16430 	}
16431 yy1099:
16432 	YYDEBUG(1099, *YYCURSOR);
16433 	yych = *++YYCURSOR;
16434 	if (yych <= 'I') {
16435 		if (yych <= ')') {
16436 			if (yych <= '(') goto yy3;
16437 			goto yy139;
16438 		} else {
16439 			if (yych <= '@') goto yy3;
16440 			if (yych <= 'H') goto yy143;
16441 		}
16442 	} else {
16443 		if (yych <= 'h') {
16444 			if (yych <= 'Z') goto yy143;
16445 			if (yych <= '`') goto yy3;
16446 			goto yy143;
16447 		} else {
16448 			if (yych <= 'i') goto yy1100;
16449 			if (yych <= 'z') goto yy143;
16450 			goto yy3;
16451 		}
16452 	}
16453 yy1100:
16454 	YYDEBUG(1100, *YYCURSOR);
16455 	yych = *++YYCURSOR;
16456 	if (yych <= 'O') {
16457 		if (yych <= ')') {
16458 			if (yych <= '(') goto yy3;
16459 			goto yy139;
16460 		} else {
16461 			if (yych <= '@') goto yy3;
16462 			if (yych <= 'N') goto yy144;
16463 		}
16464 	} else {
16465 		if (yych <= 'n') {
16466 			if (yych <= 'Z') goto yy144;
16467 			if (yych <= '`') goto yy3;
16468 			goto yy144;
16469 		} else {
16470 			if (yych <= 'o') goto yy1101;
16471 			if (yych <= 'z') goto yy144;
16472 			goto yy3;
16473 		}
16474 	}
16475 yy1101:
16476 	YYDEBUG(1101, *YYCURSOR);
16477 	yyaccept = 0;
16478 	yych = *(YYMARKER = ++YYCURSOR);
16479 	if (yych <= 'T') {
16480 		if (yych == ')') goto yy139;
16481 		goto yy3;
16482 	} else {
16483 		if (yych <= 'U') goto yy1102;
16484 		if (yych != 'u') goto yy3;
16485 	}
16486 yy1102:
16487 	YYDEBUG(1102, *YYCURSOR);
16488 	yych = *++YYCURSOR;
16489 	if (yych == 'S') goto yy1103;
16490 	if (yych != 's') goto yy56;
16491 yy1103:
16492 	YYDEBUG(1103, *YYCURSOR);
16493 	yych = *++YYCURSOR;
16494 	if (yych == '\t') goto yy1104;
16495 	if (yych != ' ') goto yy56;
16496 yy1104:
16497 	YYDEBUG(1104, *YYCURSOR);
16498 	++YYCURSOR;
16499 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
16500 	yych = *YYCURSOR;
16501 yy1105:
16502 	YYDEBUG(1105, *YYCURSOR);
16503 	if (yych <= 'W') {
16504 		if (yych <= 'F') {
16505 			if (yych <= ' ') {
16506 				if (yych == '\t') goto yy1104;
16507 				if (yych <= 0x1F) goto yy56;
16508 				goto yy1104;
16509 			} else {
16510 				if (yych == 'D') goto yy1109;
16511 				if (yych <= 'E') goto yy56;
16512 				goto yy1110;
16513 			}
16514 		} else {
16515 			if (yych <= 'M') {
16516 				if (yych == 'H') goto yy1108;
16517 				if (yych <= 'L') goto yy56;
16518 				goto yy1107;
16519 			} else {
16520 				if (yych <= 'S') {
16521 					if (yych <= 'R') goto yy56;
16522 				} else {
16523 					if (yych <= 'T') goto yy1113;
16524 					if (yych <= 'V') goto yy56;
16525 					goto yy1112;
16526 				}
16527 			}
16528 		}
16529 	} else {
16530 		if (yych <= 'l') {
16531 			if (yych <= 'd') {
16532 				if (yych == 'Y') goto yy1111;
16533 				if (yych <= 'c') goto yy56;
16534 				goto yy1109;
16535 			} else {
16536 				if (yych <= 'f') {
16537 					if (yych <= 'e') goto yy56;
16538 					goto yy1110;
16539 				} else {
16540 					if (yych == 'h') goto yy1108;
16541 					goto yy56;
16542 				}
16543 			}
16544 		} else {
16545 			if (yych <= 't') {
16546 				if (yych <= 'm') goto yy1107;
16547 				if (yych <= 'r') goto yy56;
16548 				if (yych >= 't') goto yy1113;
16549 			} else {
16550 				if (yych <= 'w') {
16551 					if (yych <= 'v') goto yy56;
16552 					goto yy1112;
16553 				} else {
16554 					if (yych == 'y') goto yy1111;
16555 					goto yy56;
16556 				}
16557 			}
16558 		}
16559 	}
16560 yy1106:
16561 	YYDEBUG(1106, *YYCURSOR);
16562 	yych = *++YYCURSOR;
16563 	if (yych <= 'U') {
16564 		if (yych <= 'D') {
16565 			if (yych == 'A') goto yy1178;
16566 			goto yy56;
16567 		} else {
16568 			if (yych <= 'E') goto yy1179;
16569 			if (yych <= 'T') goto yy56;
16570 			goto yy1177;
16571 		}
16572 	} else {
16573 		if (yych <= 'd') {
16574 			if (yych == 'a') goto yy1178;
16575 			goto yy56;
16576 		} else {
16577 			if (yych <= 'e') goto yy1179;
16578 			if (yych == 'u') goto yy1177;
16579 			goto yy56;
16580 		}
16581 	}
16582 yy1107:
16583 	YYDEBUG(1107, *YYCURSOR);
16584 	yych = *++YYCURSOR;
16585 	if (yych <= 'O') {
16586 		if (yych == 'I') goto yy1169;
16587 		if (yych <= 'N') goto yy56;
16588 		goto yy1168;
16589 	} else {
16590 		if (yych <= 'i') {
16591 			if (yych <= 'h') goto yy56;
16592 			goto yy1169;
16593 		} else {
16594 			if (yych == 'o') goto yy1168;
16595 			goto yy56;
16596 		}
16597 	}
16598 yy1108:
16599 	YYDEBUG(1108, *YYCURSOR);
16600 	yych = *++YYCURSOR;
16601 	if (yych == 'O') goto yy1166;
16602 	if (yych == 'o') goto yy1166;
16603 	goto yy56;
16604 yy1109:
16605 	YYDEBUG(1109, *YYCURSOR);
16606 	yych = *++YYCURSOR;
16607 	if (yych == 'A') goto yy1165;
16608 	if (yych == 'a') goto yy1165;
16609 	goto yy56;
16610 yy1110:
16611 	YYDEBUG(1110, *YYCURSOR);
16612 	yych = *++YYCURSOR;
16613 	if (yych <= 'R') {
16614 		if (yych == 'O') goto yy1150;
16615 		if (yych <= 'Q') goto yy56;
16616 		goto yy1149;
16617 	} else {
16618 		if (yych <= 'o') {
16619 			if (yych <= 'n') goto yy56;
16620 			goto yy1150;
16621 		} else {
16622 			if (yych == 'r') goto yy1149;
16623 			goto yy56;
16624 		}
16625 	}
16626 yy1111:
16627 	YYDEBUG(1111, *YYCURSOR);
16628 	yych = *++YYCURSOR;
16629 	if (yych == 'E') goto yy1146;
16630 	if (yych == 'e') goto yy1146;
16631 	goto yy56;
16632 yy1112:
16633 	YYDEBUG(1112, *YYCURSOR);
16634 	yych = *++YYCURSOR;
16635 	if (yych == 'E') goto yy1132;
16636 	if (yych == 'e') goto yy1132;
16637 	goto yy56;
16638 yy1113:
16639 	YYDEBUG(1113, *YYCURSOR);
16640 	yych = *++YYCURSOR;
16641 	if (yych <= 'U') {
16642 		if (yych == 'H') goto yy1114;
16643 		if (yych <= 'T') goto yy56;
16644 		goto yy1115;
16645 	} else {
16646 		if (yych <= 'h') {
16647 			if (yych <= 'g') goto yy56;
16648 		} else {
16649 			if (yych == 'u') goto yy1115;
16650 			goto yy56;
16651 		}
16652 	}
16653 yy1114:
16654 	YYDEBUG(1114, *YYCURSOR);
16655 	yych = *++YYCURSOR;
16656 	if (yych == 'U') goto yy1127;
16657 	if (yych == 'u') goto yy1127;
16658 	goto yy56;
16659 yy1115:
16660 	YYDEBUG(1115, *YYCURSOR);
16661 	yych = *++YYCURSOR;
16662 	if (yych == 'E') goto yy1116;
16663 	if (yych != 'e') goto yy56;
16664 yy1116:
16665 	YYDEBUG(1116, *YYCURSOR);
16666 	yyaccept = 26;
16667 	yych = *(YYMARKER = ++YYCURSOR);
16668 	if (yych <= ' ') {
16669 		if (yych == '\t') goto yy1118;
16670 		if (yych >= ' ') goto yy1118;
16671 	} else {
16672 		if (yych <= 'S') {
16673 			if (yych >= 'S') goto yy1120;
16674 		} else {
16675 			if (yych == 's') goto yy1120;
16676 		}
16677 	}
16678 yy1117:
16679 	YYDEBUG(1117, *YYCURSOR);
16680 #line 1593 "ext/date/lib/parse_date.re"
16681 	{
16682 		timelib_sll i;
16683 		int         behavior = 0;
16684 		DEBUG_OUTPUT("relativetext");
16685 		TIMELIB_INIT;
16686 		TIMELIB_HAVE_RELATIVE();
16687 
16688 		while(*ptr) {
16689 			i = timelib_get_relative_text((char **) &ptr, &behavior);
16690 			timelib_eat_spaces((char **) &ptr);
16691 			timelib_set_relative((char **) &ptr, i, behavior, s);
16692 		}
16693 		TIMELIB_DEINIT;
16694 		return TIMELIB_RELATIVE;
16695 	}
16696 #line 16697 "ext/date/lib/parse_date.c"
16697 yy1118:
16698 	YYDEBUG(1118, *YYCURSOR);
16699 	++YYCURSOR;
16700 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
16701 	yych = *YYCURSOR;
16702 	YYDEBUG(1119, *YYCURSOR);
16703 	if (yych <= ' ') {
16704 		if (yych == '\t') goto yy1118;
16705 		if (yych <= 0x1F) goto yy56;
16706 		goto yy1118;
16707 	} else {
16708 		if (yych <= 'O') {
16709 			if (yych <= 'N') goto yy56;
16710 			goto yy1124;
16711 		} else {
16712 			if (yych == 'o') goto yy1124;
16713 			goto yy56;
16714 		}
16715 	}
16716 yy1120:
16717 	YYDEBUG(1120, *YYCURSOR);
16718 	yych = *++YYCURSOR;
16719 	if (yych == 'D') goto yy1121;
16720 	if (yych != 'd') goto yy56;
16721 yy1121:
16722 	YYDEBUG(1121, *YYCURSOR);
16723 	yych = *++YYCURSOR;
16724 	if (yych == 'A') goto yy1122;
16725 	if (yych != 'a') goto yy56;
16726 yy1122:
16727 	YYDEBUG(1122, *YYCURSOR);
16728 	yych = *++YYCURSOR;
16729 	if (yych == 'Y') goto yy1123;
16730 	if (yych != 'y') goto yy56;
16731 yy1123:
16732 	YYDEBUG(1123, *YYCURSOR);
16733 	yyaccept = 26;
16734 	yych = *(YYMARKER = ++YYCURSOR);
16735 	if (yych == '\t') goto yy1118;
16736 	if (yych == ' ') goto yy1118;
16737 	goto yy1117;
16738 yy1124:
16739 	YYDEBUG(1124, *YYCURSOR);
16740 	yych = *++YYCURSOR;
16741 	if (yych == 'F') goto yy1125;
16742 	if (yych != 'f') goto yy56;
16743 yy1125:
16744 	YYDEBUG(1125, *YYCURSOR);
16745 	++YYCURSOR;
16746 	YYDEBUG(1126, *YYCURSOR);
16747 #line 1066 "ext/date/lib/parse_date.re"
16748 	{
16749 		timelib_sll i;
16750 		int         behavior = 0;
16751 		DEBUG_OUTPUT("weekdayof");
16752 		TIMELIB_INIT;
16753 		TIMELIB_HAVE_RELATIVE();
16754 		TIMELIB_HAVE_SPECIAL_RELATIVE();
16755 
16756 		i = timelib_get_relative_text((char **) &ptr, &behavior);
16757 		timelib_eat_spaces((char **) &ptr);
16758 		if (i > 0) { /* first, second... etc */
16759 			s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
16760 			timelib_set_relative((char **) &ptr, i, 1, s);
16761 		} else { /* last */
16762 			s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
16763 			timelib_set_relative((char **) &ptr, i, behavior, s);
16764 		}
16765 		TIMELIB_DEINIT;
16766 		return TIMELIB_WEEK_DAY_OF_MONTH;
16767 	}
16768 #line 16769 "ext/date/lib/parse_date.c"
16769 yy1127:
16770 	YYDEBUG(1127, *YYCURSOR);
16771 	yyaccept = 26;
16772 	yych = *(YYMARKER = ++YYCURSOR);
16773 	if (yych <= ' ') {
16774 		if (yych == '\t') goto yy1118;
16775 		if (yych <= 0x1F) goto yy1117;
16776 		goto yy1118;
16777 	} else {
16778 		if (yych <= 'R') {
16779 			if (yych <= 'Q') goto yy1117;
16780 		} else {
16781 			if (yych != 'r') goto yy1117;
16782 		}
16783 	}
16784 	YYDEBUG(1128, *YYCURSOR);
16785 	yych = *++YYCURSOR;
16786 	if (yych == 'S') goto yy1129;
16787 	if (yych != 's') goto yy56;
16788 yy1129:
16789 	YYDEBUG(1129, *YYCURSOR);
16790 	yych = *++YYCURSOR;
16791 	if (yych == 'D') goto yy1130;
16792 	if (yych != 'd') goto yy56;
16793 yy1130:
16794 	YYDEBUG(1130, *YYCURSOR);
16795 	yych = *++YYCURSOR;
16796 	if (yych == 'A') goto yy1131;
16797 	if (yych != 'a') goto yy56;
16798 yy1131:
16799 	YYDEBUG(1131, *YYCURSOR);
16800 	yych = *++YYCURSOR;
16801 	if (yych == 'Y') goto yy1123;
16802 	if (yych == 'y') goto yy1123;
16803 	goto yy56;
16804 yy1132:
16805 	YYDEBUG(1132, *YYCURSOR);
16806 	yych = *++YYCURSOR;
16807 	if (yych <= 'E') {
16808 		if (yych <= 'C') goto yy56;
16809 		if (yych <= 'D') goto yy1134;
16810 	} else {
16811 		if (yych <= 'c') goto yy56;
16812 		if (yych <= 'd') goto yy1134;
16813 		if (yych >= 'f') goto yy56;
16814 	}
16815 	YYDEBUG(1133, *YYCURSOR);
16816 	yych = *++YYCURSOR;
16817 	if (yych == 'K') goto yy1140;
16818 	if (yych == 'k') goto yy1140;
16819 	goto yy56;
16820 yy1134:
16821 	YYDEBUG(1134, *YYCURSOR);
16822 	yyaccept = 26;
16823 	yych = *(YYMARKER = ++YYCURSOR);
16824 	if (yych <= ' ') {
16825 		if (yych == '\t') goto yy1118;
16826 		if (yych <= 0x1F) goto yy1117;
16827 		goto yy1118;
16828 	} else {
16829 		if (yych <= 'N') {
16830 			if (yych <= 'M') goto yy1117;
16831 		} else {
16832 			if (yych != 'n') goto yy1117;
16833 		}
16834 	}
16835 	YYDEBUG(1135, *YYCURSOR);
16836 	yych = *++YYCURSOR;
16837 	if (yych == 'E') goto yy1136;
16838 	if (yych != 'e') goto yy56;
16839 yy1136:
16840 	YYDEBUG(1136, *YYCURSOR);
16841 	yych = *++YYCURSOR;
16842 	if (yych == 'S') goto yy1137;
16843 	if (yych != 's') goto yy56;
16844 yy1137:
16845 	YYDEBUG(1137, *YYCURSOR);
16846 	yych = *++YYCURSOR;
16847 	if (yych == 'D') goto yy1138;
16848 	if (yych != 'd') goto yy56;
16849 yy1138:
16850 	YYDEBUG(1138, *YYCURSOR);
16851 	yych = *++YYCURSOR;
16852 	if (yych == 'A') goto yy1139;
16853 	if (yych != 'a') goto yy56;
16854 yy1139:
16855 	YYDEBUG(1139, *YYCURSOR);
16856 	yych = *++YYCURSOR;
16857 	if (yych == 'Y') goto yy1123;
16858 	if (yych == 'y') goto yy1123;
16859 	goto yy56;
16860 yy1140:
16861 	YYDEBUG(1140, *YYCURSOR);
16862 	yyaccept = 27;
16863 	yych = *(YYMARKER = ++YYCURSOR);
16864 	if (yych <= 'S') {
16865 		if (yych == 'D') goto yy1143;
16866 		if (yych >= 'S') goto yy1142;
16867 	} else {
16868 		if (yych <= 'd') {
16869 			if (yych >= 'd') goto yy1143;
16870 		} else {
16871 			if (yych == 's') goto yy1142;
16872 		}
16873 	}
16874 yy1141:
16875 	YYDEBUG(1141, *YYCURSOR);
16876 #line 1569 "ext/date/lib/parse_date.re"
16877 	{
16878 		timelib_sll i;
16879 		int         behavior = 0;
16880 		DEBUG_OUTPUT("relativetextweek");
16881 		TIMELIB_INIT;
16882 		TIMELIB_HAVE_RELATIVE();
16883 
16884 		while(*ptr) {
16885 			i = timelib_get_relative_text((char **) &ptr, &behavior);
16886 			timelib_eat_spaces((char **) &ptr);
16887 			timelib_set_relative((char **) &ptr, i, behavior, s);
16888 			s->time->relative.weekday_behavior = 2;
16889 
16890 			/* to handle the format weekday + last/this/next week */
16891 			if (s->time->relative.have_weekday_relative == 0) {
16892 				TIMELIB_HAVE_WEEKDAY_RELATIVE();
16893 				s->time->relative.weekday = 1;
16894 			}
16895 		}
16896 		TIMELIB_DEINIT;
16897 		return TIMELIB_RELATIVE;
16898 	}
16899 #line 16900 "ext/date/lib/parse_date.c"
16900 yy1142:
16901 	YYDEBUG(1142, *YYCURSOR);
16902 	yych = *++YYCURSOR;
16903 	goto yy1117;
16904 yy1143:
16905 	YYDEBUG(1143, *YYCURSOR);
16906 	yych = *++YYCURSOR;
16907 	if (yych == 'A') goto yy1144;
16908 	if (yych != 'a') goto yy56;
16909 yy1144:
16910 	YYDEBUG(1144, *YYCURSOR);
16911 	yych = *++YYCURSOR;
16912 	if (yych == 'Y') goto yy1145;
16913 	if (yych != 'y') goto yy56;
16914 yy1145:
16915 	YYDEBUG(1145, *YYCURSOR);
16916 	yych = *++YYCURSOR;
16917 	if (yych == 'S') goto yy1142;
16918 	if (yych == 's') goto yy1142;
16919 	goto yy1117;
16920 yy1146:
16921 	YYDEBUG(1146, *YYCURSOR);
16922 	yych = *++YYCURSOR;
16923 	if (yych == 'A') goto yy1147;
16924 	if (yych != 'a') goto yy56;
16925 yy1147:
16926 	YYDEBUG(1147, *YYCURSOR);
16927 	yych = *++YYCURSOR;
16928 	if (yych == 'R') goto yy1148;
16929 	if (yych != 'r') goto yy56;
16930 yy1148:
16931 	YYDEBUG(1148, *YYCURSOR);
16932 	yych = *++YYCURSOR;
16933 	if (yych == 'S') goto yy1142;
16934 	if (yych == 's') goto yy1142;
16935 	goto yy1117;
16936 yy1149:
16937 	YYDEBUG(1149, *YYCURSOR);
16938 	yych = *++YYCURSOR;
16939 	if (yych == 'I') goto yy1162;
16940 	if (yych == 'i') goto yy1162;
16941 	goto yy56;
16942 yy1150:
16943 	YYDEBUG(1150, *YYCURSOR);
16944 	yych = *++YYCURSOR;
16945 	if (yych == 'R') goto yy1151;
16946 	if (yych != 'r') goto yy56;
16947 yy1151:
16948 	YYDEBUG(1151, *YYCURSOR);
16949 	yych = *++YYCURSOR;
16950 	if (yych == 'T') goto yy1152;
16951 	if (yych != 't') goto yy56;
16952 yy1152:
16953 	YYDEBUG(1152, *YYCURSOR);
16954 	yych = *++YYCURSOR;
16955 	if (yych <= 'N') {
16956 		if (yych == 'H') goto yy1154;
16957 		if (yych <= 'M') goto yy56;
16958 	} else {
16959 		if (yych <= 'h') {
16960 			if (yych <= 'g') goto yy56;
16961 			goto yy1154;
16962 		} else {
16963 			if (yych != 'n') goto yy56;
16964 		}
16965 	}
16966 	YYDEBUG(1153, *YYCURSOR);
16967 	yych = *++YYCURSOR;
16968 	if (yych == 'I') goto yy1159;
16969 	if (yych == 'i') goto yy1159;
16970 	goto yy56;
16971 yy1154:
16972 	YYDEBUG(1154, *YYCURSOR);
16973 	yych = *++YYCURSOR;
16974 	if (yych == 'N') goto yy1155;
16975 	if (yych != 'n') goto yy56;
16976 yy1155:
16977 	YYDEBUG(1155, *YYCURSOR);
16978 	yych = *++YYCURSOR;
16979 	if (yych == 'I') goto yy1156;
16980 	if (yych != 'i') goto yy56;
16981 yy1156:
16982 	YYDEBUG(1156, *YYCURSOR);
16983 	yych = *++YYCURSOR;
16984 	if (yych == 'G') goto yy1157;
16985 	if (yych != 'g') goto yy56;
16986 yy1157:
16987 	YYDEBUG(1157, *YYCURSOR);
16988 	yych = *++YYCURSOR;
16989 	if (yych == 'H') goto yy1158;
16990 	if (yych != 'h') goto yy56;
16991 yy1158:
16992 	YYDEBUG(1158, *YYCURSOR);
16993 	yych = *++YYCURSOR;
16994 	if (yych == 'T') goto yy1148;
16995 	if (yych == 't') goto yy1148;
16996 	goto yy56;
16997 yy1159:
16998 	YYDEBUG(1159, *YYCURSOR);
16999 	yych = *++YYCURSOR;
17000 	if (yych == 'G') goto yy1160;
17001 	if (yych != 'g') goto yy56;
17002 yy1160:
17003 	YYDEBUG(1160, *YYCURSOR);
17004 	yych = *++YYCURSOR;
17005 	if (yych == 'H') goto yy1161;
17006 	if (yych != 'h') goto yy56;
17007 yy1161:
17008 	YYDEBUG(1161, *YYCURSOR);
17009 	yych = *++YYCURSOR;
17010 	if (yych == 'T') goto yy1148;
17011 	if (yych == 't') goto yy1148;
17012 	goto yy56;
17013 yy1162:
17014 	YYDEBUG(1162, *YYCURSOR);
17015 	yyaccept = 26;
17016 	yych = *(YYMARKER = ++YYCURSOR);
17017 	if (yych <= ' ') {
17018 		if (yych == '\t') goto yy1118;
17019 		if (yych <= 0x1F) goto yy1117;
17020 		goto yy1118;
17021 	} else {
17022 		if (yych <= 'D') {
17023 			if (yych <= 'C') goto yy1117;
17024 		} else {
17025 			if (yych != 'd') goto yy1117;
17026 		}
17027 	}
17028 	YYDEBUG(1163, *YYCURSOR);
17029 	yych = *++YYCURSOR;
17030 	if (yych == 'A') goto yy1164;
17031 	if (yych != 'a') goto yy56;
17032 yy1164:
17033 	YYDEBUG(1164, *YYCURSOR);
17034 	yych = *++YYCURSOR;
17035 	if (yych == 'Y') goto yy1123;
17036 	if (yych == 'y') goto yy1123;
17037 	goto yy56;
17038 yy1165:
17039 	YYDEBUG(1165, *YYCURSOR);
17040 	yych = *++YYCURSOR;
17041 	if (yych == 'Y') goto yy1148;
17042 	if (yych == 'y') goto yy1148;
17043 	goto yy56;
17044 yy1166:
17045 	YYDEBUG(1166, *YYCURSOR);
17046 	yych = *++YYCURSOR;
17047 	if (yych == 'U') goto yy1167;
17048 	if (yych != 'u') goto yy56;
17049 yy1167:
17050 	YYDEBUG(1167, *YYCURSOR);
17051 	yych = *++YYCURSOR;
17052 	if (yych == 'R') goto yy1148;
17053 	if (yych == 'r') goto yy1148;
17054 	goto yy56;
17055 yy1168:
17056 	YYDEBUG(1168, *YYCURSOR);
17057 	yych = *++YYCURSOR;
17058 	if (yych == 'N') goto yy1173;
17059 	if (yych == 'n') goto yy1173;
17060 	goto yy56;
17061 yy1169:
17062 	YYDEBUG(1169, *YYCURSOR);
17063 	yych = *++YYCURSOR;
17064 	if (yych == 'N') goto yy1170;
17065 	if (yych != 'n') goto yy56;
17066 yy1170:
17067 	YYDEBUG(1170, *YYCURSOR);
17068 	yyaccept = 26;
17069 	yych = *(YYMARKER = ++YYCURSOR);
17070 	if (yych <= 'U') {
17071 		if (yych == 'S') goto yy1142;
17072 		if (yych <= 'T') goto yy1117;
17073 	} else {
17074 		if (yych <= 's') {
17075 			if (yych <= 'r') goto yy1117;
17076 			goto yy1142;
17077 		} else {
17078 			if (yych != 'u') goto yy1117;
17079 		}
17080 	}
17081 	YYDEBUG(1171, *YYCURSOR);
17082 	yych = *++YYCURSOR;
17083 	if (yych == 'T') goto yy1172;
17084 	if (yych != 't') goto yy56;
17085 yy1172:
17086 	YYDEBUG(1172, *YYCURSOR);
17087 	yych = *++YYCURSOR;
17088 	if (yych == 'E') goto yy1148;
17089 	if (yych == 'e') goto yy1148;
17090 	goto yy56;
17091 yy1173:
17092 	YYDEBUG(1173, *YYCURSOR);
17093 	yyaccept = 26;
17094 	yych = *(YYMARKER = ++YYCURSOR);
17095 	if (yych <= 'D') {
17096 		if (yych <= 0x1F) {
17097 			if (yych == '\t') goto yy1118;
17098 			goto yy1117;
17099 		} else {
17100 			if (yych <= ' ') goto yy1118;
17101 			if (yych <= 'C') goto yy1117;
17102 		}
17103 	} else {
17104 		if (yych <= 'c') {
17105 			if (yych == 'T') goto yy1175;
17106 			goto yy1117;
17107 		} else {
17108 			if (yych <= 'd') goto yy1174;
17109 			if (yych == 't') goto yy1175;
17110 			goto yy1117;
17111 		}
17112 	}
17113 yy1174:
17114 	YYDEBUG(1174, *YYCURSOR);
17115 	yych = *++YYCURSOR;
17116 	if (yych == 'A') goto yy1176;
17117 	if (yych == 'a') goto yy1176;
17118 	goto yy56;
17119 yy1175:
17120 	YYDEBUG(1175, *YYCURSOR);
17121 	yych = *++YYCURSOR;
17122 	if (yych == 'H') goto yy1148;
17123 	if (yych == 'h') goto yy1148;
17124 	goto yy56;
17125 yy1176:
17126 	YYDEBUG(1176, *YYCURSOR);
17127 	yych = *++YYCURSOR;
17128 	if (yych == 'Y') goto yy1123;
17129 	if (yych == 'y') goto yy1123;
17130 	goto yy56;
17131 yy1177:
17132 	YYDEBUG(1177, *YYCURSOR);
17133 	yych = *++YYCURSOR;
17134 	if (yych == 'N') goto yy1188;
17135 	if (yych == 'n') goto yy1188;
17136 	goto yy56;
17137 yy1178:
17138 	YYDEBUG(1178, *YYCURSOR);
17139 	yych = *++YYCURSOR;
17140 	if (yych == 'T') goto yy1183;
17141 	if (yych == 't') goto yy1183;
17142 	goto yy56;
17143 yy1179:
17144 	YYDEBUG(1179, *YYCURSOR);
17145 	yych = *++YYCURSOR;
17146 	if (yych == 'C') goto yy1180;
17147 	if (yych != 'c') goto yy56;
17148 yy1180:
17149 	YYDEBUG(1180, *YYCURSOR);
17150 	yyaccept = 26;
17151 	yych = *(YYMARKER = ++YYCURSOR);
17152 	if (yych <= 'S') {
17153 		if (yych == 'O') goto yy1181;
17154 		if (yych <= 'R') goto yy1117;
17155 		goto yy1142;
17156 	} else {
17157 		if (yych <= 'o') {
17158 			if (yych <= 'n') goto yy1117;
17159 		} else {
17160 			if (yych == 's') goto yy1142;
17161 			goto yy1117;
17162 		}
17163 	}
17164 yy1181:
17165 	YYDEBUG(1181, *YYCURSOR);
17166 	yych = *++YYCURSOR;
17167 	if (yych == 'N') goto yy1182;
17168 	if (yych != 'n') goto yy56;
17169 yy1182:
17170 	YYDEBUG(1182, *YYCURSOR);
17171 	yych = *++YYCURSOR;
17172 	if (yych == 'D') goto yy1148;
17173 	if (yych == 'd') goto yy1148;
17174 	goto yy56;
17175 yy1183:
17176 	YYDEBUG(1183, *YYCURSOR);
17177 	yyaccept = 26;
17178 	yych = *(YYMARKER = ++YYCURSOR);
17179 	if (yych <= ' ') {
17180 		if (yych == '\t') goto yy1118;
17181 		if (yych <= 0x1F) goto yy1117;
17182 		goto yy1118;
17183 	} else {
17184 		if (yych <= 'U') {
17185 			if (yych <= 'T') goto yy1117;
17186 		} else {
17187 			if (yych != 'u') goto yy1117;
17188 		}
17189 	}
17190 	YYDEBUG(1184, *YYCURSOR);
17191 	yych = *++YYCURSOR;
17192 	if (yych == 'R') goto yy1185;
17193 	if (yych != 'r') goto yy56;
17194 yy1185:
17195 	YYDEBUG(1185, *YYCURSOR);
17196 	yych = *++YYCURSOR;
17197 	if (yych == 'D') goto yy1186;
17198 	if (yych != 'd') goto yy56;
17199 yy1186:
17200 	YYDEBUG(1186, *YYCURSOR);
17201 	yych = *++YYCURSOR;
17202 	if (yych == 'A') goto yy1187;
17203 	if (yych != 'a') goto yy56;
17204 yy1187:
17205 	YYDEBUG(1187, *YYCURSOR);
17206 	yych = *++YYCURSOR;
17207 	if (yych == 'Y') goto yy1123;
17208 	if (yych == 'y') goto yy1123;
17209 	goto yy56;
17210 yy1188:
17211 	YYDEBUG(1188, *YYCURSOR);
17212 	yyaccept = 26;
17213 	yych = *(YYMARKER = ++YYCURSOR);
17214 	if (yych <= ' ') {
17215 		if (yych == '\t') goto yy1118;
17216 		if (yych <= 0x1F) goto yy1117;
17217 		goto yy1118;
17218 	} else {
17219 		if (yych <= 'D') {
17220 			if (yych <= 'C') goto yy1117;
17221 		} else {
17222 			if (yych != 'd') goto yy1117;
17223 		}
17224 	}
17225 	YYDEBUG(1189, *YYCURSOR);
17226 	yych = *++YYCURSOR;
17227 	if (yych == 'A') goto yy1190;
17228 	if (yych != 'a') goto yy56;
17229 yy1190:
17230 	YYDEBUG(1190, *YYCURSOR);
17231 	yych = *++YYCURSOR;
17232 	if (yych == 'Y') goto yy1123;
17233 	if (yych == 'y') goto yy1123;
17234 	goto yy56;
17235 yy1191:
17236 	YYDEBUG(1191, *YYCURSOR);
17237 	yyaccept = 0;
17238 	yych = *(YYMARKER = ++YYCURSOR);
17239 	if (yych <= 'D') {
17240 		if (yych <= '-') {
17241 			if (yych == ')') goto yy139;
17242 			if (yych <= ',') goto yy3;
17243 			goto yy147;
17244 		} else {
17245 			if (yych == '/') goto yy147;
17246 			if (yych <= '@') goto yy3;
17247 			goto yy141;
17248 		}
17249 	} else {
17250 		if (yych <= '_') {
17251 			if (yych <= 'E') goto yy1098;
17252 			if (yych <= 'Z') goto yy141;
17253 			if (yych <= '^') goto yy3;
17254 			goto yy147;
17255 		} else {
17256 			if (yych <= 'd') {
17257 				if (yych <= '`') goto yy3;
17258 				goto yy146;
17259 			} else {
17260 				if (yych <= 'e') goto yy1192;
17261 				if (yych <= 'z') goto yy146;
17262 				goto yy3;
17263 			}
17264 		}
17265 	}
17266 yy1192:
17267 	YYDEBUG(1192, *YYCURSOR);
17268 	yyaccept = 0;
17269 	yych = *(YYMARKER = ++YYCURSOR);
17270 	if (yych <= 'U') {
17271 		if (yych <= '-') {
17272 			if (yych == ')') goto yy139;
17273 			if (yych <= ',') goto yy3;
17274 			goto yy147;
17275 		} else {
17276 			if (yych == '/') goto yy147;
17277 			if (yych <= '@') goto yy3;
17278 			goto yy142;
17279 		}
17280 	} else {
17281 		if (yych <= '_') {
17282 			if (yych <= 'V') goto yy1099;
17283 			if (yych <= 'Z') goto yy142;
17284 			if (yych <= '^') goto yy3;
17285 			goto yy147;
17286 		} else {
17287 			if (yych <= 'u') {
17288 				if (yych <= '`') goto yy3;
17289 				goto yy150;
17290 			} else {
17291 				if (yych <= 'v') goto yy1193;
17292 				if (yych <= 'z') goto yy150;
17293 				goto yy3;
17294 			}
17295 		}
17296 	}
17297 yy1193:
17298 	YYDEBUG(1193, *YYCURSOR);
17299 	yyaccept = 0;
17300 	yych = *(YYMARKER = ++YYCURSOR);
17301 	if (yych <= 'H') {
17302 		if (yych <= '-') {
17303 			if (yych == ')') goto yy139;
17304 			if (yych <= ',') goto yy3;
17305 			goto yy147;
17306 		} else {
17307 			if (yych == '/') goto yy147;
17308 			if (yych <= '@') goto yy3;
17309 			goto yy143;
17310 		}
17311 	} else {
17312 		if (yych <= '_') {
17313 			if (yych <= 'I') goto yy1100;
17314 			if (yych <= 'Z') goto yy143;
17315 			if (yych <= '^') goto yy3;
17316 			goto yy147;
17317 		} else {
17318 			if (yych <= 'h') {
17319 				if (yych <= '`') goto yy3;
17320 				goto yy151;
17321 			} else {
17322 				if (yych <= 'i') goto yy1194;
17323 				if (yych <= 'z') goto yy151;
17324 				goto yy3;
17325 			}
17326 		}
17327 	}
17328 yy1194:
17329 	YYDEBUG(1194, *YYCURSOR);
17330 	yyaccept = 0;
17331 	yych = *(YYMARKER = ++YYCURSOR);
17332 	if (yych <= 'N') {
17333 		if (yych <= '-') {
17334 			if (yych == ')') goto yy139;
17335 			if (yych <= ',') goto yy3;
17336 			goto yy147;
17337 		} else {
17338 			if (yych == '/') goto yy147;
17339 			if (yych <= '@') goto yy3;
17340 			goto yy144;
17341 		}
17342 	} else {
17343 		if (yych <= '_') {
17344 			if (yych <= 'O') goto yy1101;
17345 			if (yych <= 'Z') goto yy144;
17346 			if (yych <= '^') goto yy3;
17347 			goto yy147;
17348 		} else {
17349 			if (yych <= 'n') {
17350 				if (yych <= '`') goto yy3;
17351 				goto yy152;
17352 			} else {
17353 				if (yych <= 'o') goto yy1195;
17354 				if (yych <= 'z') goto yy152;
17355 				goto yy3;
17356 			}
17357 		}
17358 	}
17359 yy1195:
17360 	YYDEBUG(1195, *YYCURSOR);
17361 	yyaccept = 0;
17362 	yych = *(YYMARKER = ++YYCURSOR);
17363 	if (yych <= 'T') {
17364 		if (yych <= ',') {
17365 			if (yych == ')') goto yy139;
17366 			goto yy3;
17367 		} else {
17368 			if (yych == '.') goto yy3;
17369 			if (yych <= '/') goto yy147;
17370 			goto yy3;
17371 		}
17372 	} else {
17373 		if (yych <= '`') {
17374 			if (yych <= 'U') goto yy1102;
17375 			if (yych == '_') goto yy147;
17376 			goto yy3;
17377 		} else {
17378 			if (yych == 'u') goto yy1196;
17379 			if (yych <= 'z') goto yy153;
17380 			goto yy3;
17381 		}
17382 	}
17383 yy1196:
17384 	YYDEBUG(1196, *YYCURSOR);
17385 	yych = *++YYCURSOR;
17386 	if (yych == 'S') goto yy1103;
17387 	if (yych != 's') goto yy154;
17388 	YYDEBUG(1197, *YYCURSOR);
17389 	yych = *++YYCURSOR;
17390 	if (yybm[0+yych] & 16) {
17391 		goto yy153;
17392 	}
17393 	if (yych <= ',') {
17394 		if (yych <= '\t') {
17395 			if (yych <= 0x08) goto yy56;
17396 			goto yy1104;
17397 		} else {
17398 			if (yych == ' ') goto yy1104;
17399 			goto yy56;
17400 		}
17401 	} else {
17402 		if (yych <= '/') {
17403 			if (yych == '.') goto yy56;
17404 			goto yy147;
17405 		} else {
17406 			if (yych == '_') goto yy147;
17407 			goto yy56;
17408 		}
17409 	}
17410 yy1198:
17411 	YYDEBUG(1198, *YYCURSOR);
17412 	yych = *++YYCURSOR;
17413 	if (yych <= 'G') {
17414 		if (yych <= ')') {
17415 			if (yych <= '(') goto yy3;
17416 			goto yy139;
17417 		} else {
17418 			if (yych <= '@') goto yy3;
17419 			if (yych <= 'F') goto yy141;
17420 			goto yy1212;
17421 		}
17422 	} else {
17423 		if (yych <= 'f') {
17424 			if (yych <= 'Z') goto yy141;
17425 			if (yych <= '`') goto yy3;
17426 			goto yy141;
17427 		} else {
17428 			if (yych <= 'g') goto yy1212;
17429 			if (yych <= 'z') goto yy141;
17430 			goto yy3;
17431 		}
17432 	}
17433 yy1199:
17434 	YYDEBUG(1199, *YYCURSOR);
17435 	yych = *++YYCURSOR;
17436 	if (yych <= 'E') {
17437 		if (yych <= ')') {
17438 			if (yych <= '(') goto yy3;
17439 			goto yy139;
17440 		} else {
17441 			if (yych <= '@') goto yy3;
17442 			if (yych <= 'D') goto yy141;
17443 		}
17444 	} else {
17445 		if (yych <= 'd') {
17446 			if (yych <= 'Z') goto yy141;
17447 			if (yych <= '`') goto yy3;
17448 			goto yy141;
17449 		} else {
17450 			if (yych <= 'e') goto yy1200;
17451 			if (yych <= 'z') goto yy141;
17452 			goto yy3;
17453 		}
17454 	}
17455 yy1200:
17456 	YYDEBUG(1200, *YYCURSOR);
17457 	yych = *++YYCURSOR;
17458 	if (yych <= 'V') {
17459 		if (yych <= ')') {
17460 			if (yych <= '(') goto yy3;
17461 			goto yy139;
17462 		} else {
17463 			if (yych <= '@') goto yy3;
17464 			if (yych <= 'U') goto yy142;
17465 		}
17466 	} else {
17467 		if (yych <= 'u') {
17468 			if (yych <= 'Z') goto yy142;
17469 			if (yych <= '`') goto yy3;
17470 			goto yy142;
17471 		} else {
17472 			if (yych <= 'v') goto yy1201;
17473 			if (yych <= 'z') goto yy142;
17474 			goto yy3;
17475 		}
17476 	}
17477 yy1201:
17478 	YYDEBUG(1201, *YYCURSOR);
17479 	yych = *++YYCURSOR;
17480 	if (yych <= 'E') {
17481 		if (yych <= ')') {
17482 			if (yych <= '(') goto yy3;
17483 			goto yy139;
17484 		} else {
17485 			if (yych <= '@') goto yy3;
17486 			if (yych <= 'D') goto yy143;
17487 		}
17488 	} else {
17489 		if (yych <= 'd') {
17490 			if (yych <= 'Z') goto yy143;
17491 			if (yych <= '`') goto yy3;
17492 			goto yy143;
17493 		} else {
17494 			if (yych <= 'e') goto yy1202;
17495 			if (yych <= 'z') goto yy143;
17496 			goto yy3;
17497 		}
17498 	}
17499 yy1202:
17500 	YYDEBUG(1202, *YYCURSOR);
17501 	yych = *++YYCURSOR;
17502 	if (yych <= 'N') {
17503 		if (yych <= ')') {
17504 			if (yych <= '(') goto yy3;
17505 			goto yy139;
17506 		} else {
17507 			if (yych <= '@') goto yy3;
17508 			if (yych <= 'M') goto yy144;
17509 		}
17510 	} else {
17511 		if (yych <= 'm') {
17512 			if (yych <= 'Z') goto yy144;
17513 			if (yych <= '`') goto yy3;
17514 			goto yy144;
17515 		} else {
17516 			if (yych <= 'n') goto yy1203;
17517 			if (yych <= 'z') goto yy144;
17518 			goto yy3;
17519 		}
17520 	}
17521 yy1203:
17522 	YYDEBUG(1203, *YYCURSOR);
17523 	yyaccept = 0;
17524 	yych = *(YYMARKER = ++YYCURSOR);
17525 	if (yych <= 'S') {
17526 		if (yych == ')') goto yy139;
17527 		goto yy3;
17528 	} else {
17529 		if (yych <= 'T') goto yy1204;
17530 		if (yych != 't') goto yy3;
17531 	}
17532 yy1204:
17533 	YYDEBUG(1204, *YYCURSOR);
17534 	yych = *++YYCURSOR;
17535 	if (yych == 'H') goto yy1205;
17536 	if (yych != 'h') goto yy56;
17537 yy1205:
17538 	YYDEBUG(1205, *YYCURSOR);
17539 	yych = *++YYCURSOR;
17540 	if (yych == '\t') goto yy1206;
17541 	if (yych != ' ') goto yy56;
17542 yy1206:
17543 	YYDEBUG(1206, *YYCURSOR);
17544 	++YYCURSOR;
17545 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
17546 	yych = *YYCURSOR;
17547 yy1207:
17548 	YYDEBUG(1207, *YYCURSOR);
17549 	if (yych <= 'W') {
17550 		if (yych <= 'F') {
17551 			if (yych <= ' ') {
17552 				if (yych == '\t') goto yy1206;
17553 				if (yych <= 0x1F) goto yy56;
17554 				goto yy1206;
17555 			} else {
17556 				if (yych == 'D') goto yy1109;
17557 				if (yych <= 'E') goto yy56;
17558 				goto yy1110;
17559 			}
17560 		} else {
17561 			if (yych <= 'M') {
17562 				if (yych == 'H') goto yy1108;
17563 				if (yych <= 'L') goto yy56;
17564 				goto yy1107;
17565 			} else {
17566 				if (yych <= 'S') {
17567 					if (yych <= 'R') goto yy56;
17568 					goto yy1106;
17569 				} else {
17570 					if (yych <= 'T') goto yy1113;
17571 					if (yych <= 'V') goto yy56;
17572 				}
17573 			}
17574 		}
17575 	} else {
17576 		if (yych <= 'l') {
17577 			if (yych <= 'd') {
17578 				if (yych == 'Y') goto yy1111;
17579 				if (yych <= 'c') goto yy56;
17580 				goto yy1109;
17581 			} else {
17582 				if (yych <= 'f') {
17583 					if (yych <= 'e') goto yy56;
17584 					goto yy1110;
17585 				} else {
17586 					if (yych == 'h') goto yy1108;
17587 					goto yy56;
17588 				}
17589 			}
17590 		} else {
17591 			if (yych <= 't') {
17592 				if (yych <= 'm') goto yy1107;
17593 				if (yych <= 'r') goto yy56;
17594 				if (yych <= 's') goto yy1106;
17595 				goto yy1113;
17596 			} else {
17597 				if (yych <= 'w') {
17598 					if (yych <= 'v') goto yy56;
17599 				} else {
17600 					if (yych == 'y') goto yy1111;
17601 					goto yy56;
17602 				}
17603 			}
17604 		}
17605 	}
17606 	YYDEBUG(1208, *YYCURSOR);
17607 	yych = *++YYCURSOR;
17608 	if (yych == 'E') goto yy1209;
17609 	if (yych != 'e') goto yy56;
17610 yy1209:
17611 	YYDEBUG(1209, *YYCURSOR);
17612 	yych = *++YYCURSOR;
17613 	if (yych <= 'E') {
17614 		if (yych <= 'C') goto yy56;
17615 		if (yych <= 'D') goto yy1134;
17616 	} else {
17617 		if (yych <= 'c') goto yy56;
17618 		if (yych <= 'd') goto yy1134;
17619 		if (yych >= 'f') goto yy56;
17620 	}
17621 	YYDEBUG(1210, *YYCURSOR);
17622 	yych = *++YYCURSOR;
17623 	if (yych == 'K') goto yy1211;
17624 	if (yych != 'k') goto yy56;
17625 yy1211:
17626 	YYDEBUG(1211, *YYCURSOR);
17627 	yych = *++YYCURSOR;
17628 	if (yych <= 'S') {
17629 		if (yych == 'D') goto yy1143;
17630 		if (yych <= 'R') goto yy56;
17631 		goto yy1142;
17632 	} else {
17633 		if (yych <= 'd') {
17634 			if (yych <= 'c') goto yy56;
17635 			goto yy1143;
17636 		} else {
17637 			if (yych == 's') goto yy1142;
17638 			goto yy56;
17639 		}
17640 	}
17641 yy1212:
17642 	YYDEBUG(1212, *YYCURSOR);
17643 	yych = *++YYCURSOR;
17644 	if (yych <= 'H') {
17645 		if (yych <= ')') {
17646 			if (yych <= '(') goto yy3;
17647 			goto yy139;
17648 		} else {
17649 			if (yych <= '@') goto yy3;
17650 			if (yych <= 'G') goto yy142;
17651 		}
17652 	} else {
17653 		if (yych <= 'g') {
17654 			if (yych <= 'Z') goto yy142;
17655 			if (yych <= '`') goto yy3;
17656 			goto yy142;
17657 		} else {
17658 			if (yych <= 'h') goto yy1213;
17659 			if (yych <= 'z') goto yy142;
17660 			goto yy3;
17661 		}
17662 	}
17663 yy1213:
17664 	YYDEBUG(1213, *YYCURSOR);
17665 	yych = *++YYCURSOR;
17666 	if (yych <= 'T') {
17667 		if (yych <= ')') {
17668 			if (yych <= '(') goto yy3;
17669 			goto yy139;
17670 		} else {
17671 			if (yych <= '@') goto yy3;
17672 			if (yych <= 'S') goto yy143;
17673 		}
17674 	} else {
17675 		if (yych <= 's') {
17676 			if (yych <= 'Z') goto yy143;
17677 			if (yych <= '`') goto yy3;
17678 			goto yy143;
17679 		} else {
17680 			if (yych <= 't') goto yy1214;
17681 			if (yych <= 'z') goto yy143;
17682 			goto yy3;
17683 		}
17684 	}
17685 yy1214:
17686 	YYDEBUG(1214, *YYCURSOR);
17687 	yyaccept = 0;
17688 	yych = *(YYMARKER = ++YYCURSOR);
17689 	if (yych <= '@') {
17690 		if (yych <= 0x1F) {
17691 			if (yych == '\t') goto yy1206;
17692 			goto yy3;
17693 		} else {
17694 			if (yych <= ' ') goto yy1206;
17695 			if (yych == ')') goto yy139;
17696 			goto yy3;
17697 		}
17698 	} else {
17699 		if (yych <= '`') {
17700 			if (yych == 'H') goto yy1215;
17701 			if (yych <= 'Z') goto yy144;
17702 			goto yy3;
17703 		} else {
17704 			if (yych == 'h') goto yy1215;
17705 			if (yych <= 'z') goto yy144;
17706 			goto yy3;
17707 		}
17708 	}
17709 yy1215:
17710 	YYDEBUG(1215, *YYCURSOR);
17711 	yyaccept = 0;
17712 	yych = *(YYMARKER = ++YYCURSOR);
17713 	if (yych <= 0x1F) {
17714 		if (yych == '\t') goto yy1206;
17715 		goto yy3;
17716 	} else {
17717 		if (yych <= ' ') goto yy1206;
17718 		if (yych == ')') goto yy139;
17719 		goto yy3;
17720 	}
17721 yy1216:
17722 	YYDEBUG(1216, *YYCURSOR);
17723 	yyaccept = 0;
17724 	yych = *(YYMARKER = ++YYCURSOR);
17725 	if (yych <= 'F') {
17726 		if (yych <= '-') {
17727 			if (yych == ')') goto yy139;
17728 			if (yych <= ',') goto yy3;
17729 			goto yy147;
17730 		} else {
17731 			if (yych == '/') goto yy147;
17732 			if (yych <= '@') goto yy3;
17733 			goto yy141;
17734 		}
17735 	} else {
17736 		if (yych <= '_') {
17737 			if (yych <= 'G') goto yy1212;
17738 			if (yych <= 'Z') goto yy141;
17739 			if (yych <= '^') goto yy3;
17740 			goto yy147;
17741 		} else {
17742 			if (yych <= 'f') {
17743 				if (yych <= '`') goto yy3;
17744 				goto yy146;
17745 			} else {
17746 				if (yych <= 'g') goto yy1224;
17747 				if (yych <= 'z') goto yy146;
17748 				goto yy3;
17749 			}
17750 		}
17751 	}
17752 yy1217:
17753 	YYDEBUG(1217, *YYCURSOR);
17754 	yyaccept = 0;
17755 	yych = *(YYMARKER = ++YYCURSOR);
17756 	if (yych <= 'D') {
17757 		if (yych <= '-') {
17758 			if (yych == ')') goto yy139;
17759 			if (yych <= ',') goto yy3;
17760 			goto yy147;
17761 		} else {
17762 			if (yych == '/') goto yy147;
17763 			if (yych <= '@') goto yy3;
17764 			goto yy141;
17765 		}
17766 	} else {
17767 		if (yych <= '_') {
17768 			if (yych <= 'E') goto yy1200;
17769 			if (yych <= 'Z') goto yy141;
17770 			if (yych <= '^') goto yy3;
17771 			goto yy147;
17772 		} else {
17773 			if (yych <= 'd') {
17774 				if (yych <= '`') goto yy3;
17775 				goto yy146;
17776 			} else {
17777 				if (yych <= 'e') goto yy1218;
17778 				if (yych <= 'z') goto yy146;
17779 				goto yy3;
17780 			}
17781 		}
17782 	}
17783 yy1218:
17784 	YYDEBUG(1218, *YYCURSOR);
17785 	yyaccept = 0;
17786 	yych = *(YYMARKER = ++YYCURSOR);
17787 	if (yych <= 'U') {
17788 		if (yych <= '-') {
17789 			if (yych == ')') goto yy139;
17790 			if (yych <= ',') goto yy3;
17791 			goto yy147;
17792 		} else {
17793 			if (yych == '/') goto yy147;
17794 			if (yych <= '@') goto yy3;
17795 			goto yy142;
17796 		}
17797 	} else {
17798 		if (yych <= '_') {
17799 			if (yych <= 'V') goto yy1201;
17800 			if (yych <= 'Z') goto yy142;
17801 			if (yych <= '^') goto yy3;
17802 			goto yy147;
17803 		} else {
17804 			if (yych <= 'u') {
17805 				if (yych <= '`') goto yy3;
17806 				goto yy150;
17807 			} else {
17808 				if (yych <= 'v') goto yy1219;
17809 				if (yych <= 'z') goto yy150;
17810 				goto yy3;
17811 			}
17812 		}
17813 	}
17814 yy1219:
17815 	YYDEBUG(1219, *YYCURSOR);
17816 	yyaccept = 0;
17817 	yych = *(YYMARKER = ++YYCURSOR);
17818 	if (yych <= 'D') {
17819 		if (yych <= '-') {
17820 			if (yych == ')') goto yy139;
17821 			if (yych <= ',') goto yy3;
17822 			goto yy147;
17823 		} else {
17824 			if (yych == '/') goto yy147;
17825 			if (yych <= '@') goto yy3;
17826 			goto yy143;
17827 		}
17828 	} else {
17829 		if (yych <= '_') {
17830 			if (yych <= 'E') goto yy1202;
17831 			if (yych <= 'Z') goto yy143;
17832 			if (yych <= '^') goto yy3;
17833 			goto yy147;
17834 		} else {
17835 			if (yych <= 'd') {
17836 				if (yych <= '`') goto yy3;
17837 				goto yy151;
17838 			} else {
17839 				if (yych <= 'e') goto yy1220;
17840 				if (yych <= 'z') goto yy151;
17841 				goto yy3;
17842 			}
17843 		}
17844 	}
17845 yy1220:
17846 	YYDEBUG(1220, *YYCURSOR);
17847 	yyaccept = 0;
17848 	yych = *(YYMARKER = ++YYCURSOR);
17849 	if (yych <= 'M') {
17850 		if (yych <= '-') {
17851 			if (yych == ')') goto yy139;
17852 			if (yych <= ',') goto yy3;
17853 			goto yy147;
17854 		} else {
17855 			if (yych == '/') goto yy147;
17856 			if (yych <= '@') goto yy3;
17857 			goto yy144;
17858 		}
17859 	} else {
17860 		if (yych <= '_') {
17861 			if (yych <= 'N') goto yy1203;
17862 			if (yych <= 'Z') goto yy144;
17863 			if (yych <= '^') goto yy3;
17864 			goto yy147;
17865 		} else {
17866 			if (yych <= 'm') {
17867 				if (yych <= '`') goto yy3;
17868 				goto yy152;
17869 			} else {
17870 				if (yych <= 'n') goto yy1221;
17871 				if (yych <= 'z') goto yy152;
17872 				goto yy3;
17873 			}
17874 		}
17875 	}
17876 yy1221:
17877 	YYDEBUG(1221, *YYCURSOR);
17878 	yyaccept = 0;
17879 	yych = *(YYMARKER = ++YYCURSOR);
17880 	if (yych <= 'S') {
17881 		if (yych <= ',') {
17882 			if (yych == ')') goto yy139;
17883 			goto yy3;
17884 		} else {
17885 			if (yych == '.') goto yy3;
17886 			if (yych <= '/') goto yy147;
17887 			goto yy3;
17888 		}
17889 	} else {
17890 		if (yych <= '`') {
17891 			if (yych <= 'T') goto yy1204;
17892 			if (yych == '_') goto yy147;
17893 			goto yy3;
17894 		} else {
17895 			if (yych == 't') goto yy1222;
17896 			if (yych <= 'z') goto yy153;
17897 			goto yy3;
17898 		}
17899 	}
17900 yy1222:
17901 	YYDEBUG(1222, *YYCURSOR);
17902 	yych = *++YYCURSOR;
17903 	if (yych == 'H') goto yy1205;
17904 	if (yych != 'h') goto yy154;
17905 yy1223:
17906 	YYDEBUG(1223, *YYCURSOR);
17907 	yych = *++YYCURSOR;
17908 	if (yybm[0+yych] & 16) {
17909 		goto yy153;
17910 	}
17911 	if (yych <= ',') {
17912 		if (yych <= '\t') {
17913 			if (yych <= 0x08) goto yy56;
17914 			goto yy1206;
17915 		} else {
17916 			if (yych == ' ') goto yy1206;
17917 			goto yy56;
17918 		}
17919 	} else {
17920 		if (yych <= '/') {
17921 			if (yych == '.') goto yy56;
17922 			goto yy147;
17923 		} else {
17924 			if (yych == '_') goto yy147;
17925 			goto yy56;
17926 		}
17927 	}
17928 yy1224:
17929 	YYDEBUG(1224, *YYCURSOR);
17930 	yyaccept = 0;
17931 	yych = *(YYMARKER = ++YYCURSOR);
17932 	if (yych <= 'G') {
17933 		if (yych <= '-') {
17934 			if (yych == ')') goto yy139;
17935 			if (yych <= ',') goto yy3;
17936 			goto yy147;
17937 		} else {
17938 			if (yych == '/') goto yy147;
17939 			if (yych <= '@') goto yy3;
17940 			goto yy142;
17941 		}
17942 	} else {
17943 		if (yych <= '_') {
17944 			if (yych <= 'H') goto yy1213;
17945 			if (yych <= 'Z') goto yy142;
17946 			if (yych <= '^') goto yy3;
17947 			goto yy147;
17948 		} else {
17949 			if (yych <= 'g') {
17950 				if (yych <= '`') goto yy3;
17951 				goto yy150;
17952 			} else {
17953 				if (yych <= 'h') goto yy1225;
17954 				if (yych <= 'z') goto yy150;
17955 				goto yy3;
17956 			}
17957 		}
17958 	}
17959 yy1225:
17960 	YYDEBUG(1225, *YYCURSOR);
17961 	yyaccept = 0;
17962 	yych = *(YYMARKER = ++YYCURSOR);
17963 	if (yych <= 'S') {
17964 		if (yych <= '-') {
17965 			if (yych == ')') goto yy139;
17966 			if (yych <= ',') goto yy3;
17967 			goto yy147;
17968 		} else {
17969 			if (yych == '/') goto yy147;
17970 			if (yych <= '@') goto yy3;
17971 			goto yy143;
17972 		}
17973 	} else {
17974 		if (yych <= '_') {
17975 			if (yych <= 'T') goto yy1214;
17976 			if (yych <= 'Z') goto yy143;
17977 			if (yych <= '^') goto yy3;
17978 			goto yy147;
17979 		} else {
17980 			if (yych <= 's') {
17981 				if (yych <= '`') goto yy3;
17982 				goto yy151;
17983 			} else {
17984 				if (yych <= 't') goto yy1226;
17985 				if (yych <= 'z') goto yy151;
17986 				goto yy3;
17987 			}
17988 		}
17989 	}
17990 yy1226:
17991 	YYDEBUG(1226, *YYCURSOR);
17992 	yyaccept = 0;
17993 	yych = *(YYMARKER = ++YYCURSOR);
17994 	if (yych <= '/') {
17995 		if (yych <= '(') {
17996 			if (yych <= '\t') {
17997 				if (yych <= 0x08) goto yy3;
17998 				goto yy1206;
17999 			} else {
18000 				if (yych == ' ') goto yy1206;
18001 				goto yy3;
18002 			}
18003 		} else {
18004 			if (yych <= ',') {
18005 				if (yych <= ')') goto yy139;
18006 				goto yy3;
18007 			} else {
18008 				if (yych == '.') goto yy3;
18009 				goto yy147;
18010 			}
18011 		}
18012 	} else {
18013 		if (yych <= '^') {
18014 			if (yych <= 'G') {
18015 				if (yych <= '@') goto yy3;
18016 				goto yy144;
18017 			} else {
18018 				if (yych <= 'H') goto yy1215;
18019 				if (yych <= 'Z') goto yy144;
18020 				goto yy3;
18021 			}
18022 		} else {
18023 			if (yych <= 'g') {
18024 				if (yych <= '_') goto yy147;
18025 				if (yych <= '`') goto yy3;
18026 				goto yy152;
18027 			} else {
18028 				if (yych <= 'h') goto yy1227;
18029 				if (yych <= 'z') goto yy152;
18030 				goto yy3;
18031 			}
18032 		}
18033 	}
18034 yy1227:
18035 	YYDEBUG(1227, *YYCURSOR);
18036 	yyaccept = 0;
18037 	yych = *(YYMARKER = ++YYCURSOR);
18038 	if (yybm[0+yych] & 16) {
18039 		goto yy153;
18040 	}
18041 	if (yych <= ')') {
18042 		if (yych <= 0x1F) {
18043 			if (yych == '\t') goto yy1206;
18044 			goto yy3;
18045 		} else {
18046 			if (yych <= ' ') goto yy1206;
18047 			if (yych <= '(') goto yy3;
18048 			goto yy139;
18049 		}
18050 	} else {
18051 		if (yych <= '.') {
18052 			if (yych == '-') goto yy147;
18053 			goto yy3;
18054 		} else {
18055 			if (yych <= '/') goto yy147;
18056 			if (yych == '_') goto yy147;
18057 			goto yy3;
18058 		}
18059 	}
18060 yy1228:
18061 	YYDEBUG(1228, *YYCURSOR);
18062 	yych = *++YYCURSOR;
18063 	if (yych <= 'V') {
18064 		if (yych <= 'B') {
18065 			if (yych == ')') goto yy139;
18066 			if (yych <= '@') goto yy3;
18067 			goto yy141;
18068 		} else {
18069 			if (yych <= 'O') {
18070 				if (yych <= 'C') goto yy1244;
18071 				goto yy141;
18072 			} else {
18073 				if (yych <= 'P') goto yy1246;
18074 				if (yych <= 'U') goto yy141;
18075 				goto yy1245;
18076 			}
18077 		}
18078 	} else {
18079 		if (yych <= 'o') {
18080 			if (yych <= '`') {
18081 				if (yych <= 'Z') goto yy141;
18082 				goto yy3;
18083 			} else {
18084 				if (yych == 'c') goto yy1244;
18085 				goto yy141;
18086 			}
18087 		} else {
18088 			if (yych <= 'u') {
18089 				if (yych <= 'p') goto yy1246;
18090 				goto yy141;
18091 			} else {
18092 				if (yych <= 'v') goto yy1245;
18093 				if (yych <= 'z') goto yy141;
18094 				goto yy3;
18095 			}
18096 		}
18097 	}
18098 yy1229:
18099 	YYDEBUG(1229, *YYCURSOR);
18100 	yych = *++YYCURSOR;
18101 	if (yych <= 'T') {
18102 		if (yych <= ')') {
18103 			if (yych <= '(') goto yy3;
18104 			goto yy139;
18105 		} else {
18106 			if (yych <= '@') goto yy3;
18107 			if (yych <= 'S') goto yy141;
18108 			goto yy1239;
18109 		}
18110 	} else {
18111 		if (yych <= 's') {
18112 			if (yych <= 'Z') goto yy141;
18113 			if (yych <= '`') goto yy3;
18114 			goto yy141;
18115 		} else {
18116 			if (yych <= 't') goto yy1239;
18117 			if (yych <= 'z') goto yy141;
18118 			goto yy3;
18119 		}
18120 	}
18121 yy1230:
18122 	YYDEBUG(1230, *YYCURSOR);
18123 	yych = *++YYCURSOR;
18124 	if (yych <= 'X') {
18125 		if (yych <= ')') {
18126 			if (yych <= '(') goto yy3;
18127 			goto yy139;
18128 		} else {
18129 			if (yych <= '@') goto yy3;
18130 			if (yych <= 'W') goto yy141;
18131 			goto yy1236;
18132 		}
18133 	} else {
18134 		if (yych <= 'w') {
18135 			if (yych <= 'Z') goto yy141;
18136 			if (yych <= '`') goto yy3;
18137 			goto yy141;
18138 		} else {
18139 			if (yych <= 'x') goto yy1236;
18140 			if (yych <= 'z') goto yy141;
18141 			goto yy3;
18142 		}
18143 	}
18144 yy1231:
18145 	YYDEBUG(1231, *YYCURSOR);
18146 	yych = *++YYCURSOR;
18147 	if (yych <= 'N') {
18148 		if (yych <= ')') {
18149 			if (yych <= '(') goto yy3;
18150 			goto yy139;
18151 		} else {
18152 			if (yych <= '@') goto yy3;
18153 			if (yych <= 'M') goto yy141;
18154 		}
18155 	} else {
18156 		if (yych <= 'm') {
18157 			if (yych <= 'Z') goto yy141;
18158 			if (yych <= '`') goto yy3;
18159 			goto yy141;
18160 		} else {
18161 			if (yych <= 'n') goto yy1232;
18162 			if (yych <= 'z') goto yy141;
18163 			goto yy3;
18164 		}
18165 	}
18166 yy1232:
18167 	YYDEBUG(1232, *YYCURSOR);
18168 	yych = *++YYCURSOR;
18169 	if (yych <= 'D') {
18170 		if (yych <= ')') {
18171 			if (yych <= '(') goto yy166;
18172 			goto yy139;
18173 		} else {
18174 			if (yych <= '@') goto yy166;
18175 			if (yych <= 'C') goto yy142;
18176 		}
18177 	} else {
18178 		if (yych <= 'c') {
18179 			if (yych <= 'Z') goto yy142;
18180 			if (yych <= '`') goto yy166;
18181 			goto yy142;
18182 		} else {
18183 			if (yych <= 'd') goto yy1233;
18184 			if (yych <= 'z') goto yy142;
18185 			goto yy166;
18186 		}
18187 	}
18188 yy1233:
18189 	YYDEBUG(1233, *YYCURSOR);
18190 	yych = *++YYCURSOR;
18191 	if (yych <= 'A') {
18192 		if (yych == ')') goto yy139;
18193 		if (yych <= '@') goto yy3;
18194 	} else {
18195 		if (yych <= '`') {
18196 			if (yych <= 'Z') goto yy143;
18197 			goto yy3;
18198 		} else {
18199 			if (yych <= 'a') goto yy1234;
18200 			if (yych <= 'z') goto yy143;
18201 			goto yy3;
18202 		}
18203 	}
18204 yy1234:
18205 	YYDEBUG(1234, *YYCURSOR);
18206 	yych = *++YYCURSOR;
18207 	if (yych <= 'Y') {
18208 		if (yych <= ')') {
18209 			if (yych <= '(') goto yy3;
18210 			goto yy139;
18211 		} else {
18212 			if (yych <= '@') goto yy3;
18213 			if (yych <= 'X') goto yy144;
18214 		}
18215 	} else {
18216 		if (yych <= 'x') {
18217 			if (yych <= 'Z') goto yy144;
18218 			if (yych <= '`') goto yy3;
18219 			goto yy144;
18220 		} else {
18221 			if (yych <= 'y') goto yy1235;
18222 			if (yych <= 'z') goto yy144;
18223 			goto yy3;
18224 		}
18225 	}
18226 yy1235:
18227 	YYDEBUG(1235, *YYCURSOR);
18228 	yych = *++YYCURSOR;
18229 	if (yych == ')') goto yy139;
18230 	goto yy166;
18231 yy1236:
18232 	YYDEBUG(1236, *YYCURSOR);
18233 	yych = *++YYCURSOR;
18234 	if (yych <= 'T') {
18235 		if (yych <= ')') {
18236 			if (yych <= '(') goto yy3;
18237 			goto yy139;
18238 		} else {
18239 			if (yych <= '@') goto yy3;
18240 			if (yych <= 'S') goto yy142;
18241 		}
18242 	} else {
18243 		if (yych <= 's') {
18244 			if (yych <= 'Z') goto yy142;
18245 			if (yych <= '`') goto yy3;
18246 			goto yy142;
18247 		} else {
18248 			if (yych <= 't') goto yy1237;
18249 			if (yych <= 'z') goto yy142;
18250 			goto yy3;
18251 		}
18252 	}
18253 yy1237:
18254 	YYDEBUG(1237, *YYCURSOR);
18255 	yych = *++YYCURSOR;
18256 	if (yych <= 'H') {
18257 		if (yych <= ')') {
18258 			if (yych <= '(') goto yy3;
18259 			goto yy139;
18260 		} else {
18261 			if (yych <= '@') goto yy3;
18262 			if (yych <= 'G') goto yy143;
18263 		}
18264 	} else {
18265 		if (yych <= 'g') {
18266 			if (yych <= 'Z') goto yy143;
18267 			if (yych <= '`') goto yy3;
18268 			goto yy143;
18269 		} else {
18270 			if (yych <= 'h') goto yy1238;
18271 			if (yych <= 'z') goto yy143;
18272 			goto yy3;
18273 		}
18274 	}
18275 yy1238:
18276 	YYDEBUG(1238, *YYCURSOR);
18277 	yyaccept = 0;
18278 	yych = *(YYMARKER = ++YYCURSOR);
18279 	if (yych <= '(') {
18280 		if (yych <= '\t') {
18281 			if (yych <= 0x08) goto yy3;
18282 			goto yy1206;
18283 		} else {
18284 			if (yych == ' ') goto yy1206;
18285 			goto yy3;
18286 		}
18287 	} else {
18288 		if (yych <= 'Z') {
18289 			if (yych <= ')') goto yy139;
18290 			if (yych <= '@') goto yy3;
18291 			goto yy144;
18292 		} else {
18293 			if (yych <= '`') goto yy3;
18294 			if (yych <= 'z') goto yy144;
18295 			goto yy3;
18296 		}
18297 	}
18298 yy1239:
18299 	YYDEBUG(1239, *YYCURSOR);
18300 	yych = *++YYCURSOR;
18301 	if (yych <= 'U') {
18302 		if (yych <= ')') {
18303 			if (yych <= '(') goto yy166;
18304 			goto yy139;
18305 		} else {
18306 			if (yych <= '@') goto yy166;
18307 			if (yych <= 'T') goto yy142;
18308 		}
18309 	} else {
18310 		if (yych <= 't') {
18311 			if (yych <= 'Z') goto yy142;
18312 			if (yych <= '`') goto yy166;
18313 			goto yy142;
18314 		} else {
18315 			if (yych <= 'u') goto yy1240;
18316 			if (yych <= 'z') goto yy142;
18317 			goto yy166;
18318 		}
18319 	}
18320 yy1240:
18321 	YYDEBUG(1240, *YYCURSOR);
18322 	yych = *++YYCURSOR;
18323 	if (yych <= 'R') {
18324 		if (yych <= ')') {
18325 			if (yych <= '(') goto yy3;
18326 			goto yy139;
18327 		} else {
18328 			if (yych <= '@') goto yy3;
18329 			if (yych <= 'Q') goto yy143;
18330 		}
18331 	} else {
18332 		if (yych <= 'q') {
18333 			if (yych <= 'Z') goto yy143;
18334 			if (yych <= '`') goto yy3;
18335 			goto yy143;
18336 		} else {
18337 			if (yych <= 'r') goto yy1241;
18338 			if (yych <= 'z') goto yy143;
18339 			goto yy3;
18340 		}
18341 	}
18342 yy1241:
18343 	YYDEBUG(1241, *YYCURSOR);
18344 	yych = *++YYCURSOR;
18345 	if (yych <= 'D') {
18346 		if (yych <= ')') {
18347 			if (yych <= '(') goto yy3;
18348 			goto yy139;
18349 		} else {
18350 			if (yych <= '@') goto yy3;
18351 			if (yych <= 'C') goto yy144;
18352 		}
18353 	} else {
18354 		if (yych <= 'c') {
18355 			if (yych <= 'Z') goto yy144;
18356 			if (yych <= '`') goto yy3;
18357 			goto yy144;
18358 		} else {
18359 			if (yych <= 'd') goto yy1242;
18360 			if (yych <= 'z') goto yy144;
18361 			goto yy3;
18362 		}
18363 	}
18364 yy1242:
18365 	YYDEBUG(1242, *YYCURSOR);
18366 	yyaccept = 0;
18367 	yych = *(YYMARKER = ++YYCURSOR);
18368 	if (yych <= '@') {
18369 		if (yych == ')') goto yy139;
18370 		goto yy3;
18371 	} else {
18372 		if (yych <= 'A') goto yy1243;
18373 		if (yych != 'a') goto yy3;
18374 	}
18375 yy1243:
18376 	YYDEBUG(1243, *YYCURSOR);
18377 	yych = *++YYCURSOR;
18378 	if (yych == 'Y') goto yy172;
18379 	if (yych == 'y') goto yy172;
18380 	goto yy56;
18381 yy1244:
18382 	YYDEBUG(1244, *YYCURSOR);
18383 	yych = *++YYCURSOR;
18384 	if (yych <= 'O') {
18385 		if (yych <= ')') {
18386 			if (yych <= '(') goto yy3;
18387 			goto yy139;
18388 		} else {
18389 			if (yych <= '@') goto yy3;
18390 			if (yych <= 'N') goto yy142;
18391 			goto yy1255;
18392 		}
18393 	} else {
18394 		if (yych <= 'n') {
18395 			if (yych <= 'Z') goto yy142;
18396 			if (yych <= '`') goto yy3;
18397 			goto yy142;
18398 		} else {
18399 			if (yych <= 'o') goto yy1255;
18400 			if (yych <= 'z') goto yy142;
18401 			goto yy3;
18402 		}
18403 	}
18404 yy1245:
18405 	YYDEBUG(1245, *YYCURSOR);
18406 	yych = *++YYCURSOR;
18407 	if (yych <= 'E') {
18408 		if (yych <= ')') {
18409 			if (yych <= '(') goto yy3;
18410 			goto yy139;
18411 		} else {
18412 			if (yych <= '@') goto yy3;
18413 			if (yych <= 'D') goto yy142;
18414 			goto yy1252;
18415 		}
18416 	} else {
18417 		if (yych <= 'd') {
18418 			if (yych <= 'Z') goto yy142;
18419 			if (yych <= '`') goto yy3;
18420 			goto yy142;
18421 		} else {
18422 			if (yych <= 'e') goto yy1252;
18423 			if (yych <= 'z') goto yy142;
18424 			goto yy3;
18425 		}
18426 	}
18427 yy1246:
18428 	YYDEBUG(1246, *YYCURSOR);
18429 	yyaccept = 5;
18430 	yych = *(YYMARKER = ++YYCURSOR);
18431 	if (yych <= '/') {
18432 		if (yych <= '(') {
18433 			if (yych <= '\t') {
18434 				if (yych <= 0x08) goto yy193;
18435 				goto yy195;
18436 			} else {
18437 				if (yych == ' ') goto yy195;
18438 				goto yy193;
18439 			}
18440 		} else {
18441 			if (yych <= ',') {
18442 				if (yych <= ')') goto yy139;
18443 				goto yy193;
18444 			} else {
18445 				if (yych <= '-') goto yy196;
18446 				if (yych <= '.') goto yy195;
18447 				goto yy193;
18448 			}
18449 		}
18450 	} else {
18451 		if (yych <= 'Z') {
18452 			if (yych <= '@') {
18453 				if (yych <= '9') goto yy195;
18454 				goto yy193;
18455 			} else {
18456 				if (yych != 'T') goto yy142;
18457 			}
18458 		} else {
18459 			if (yych <= 's') {
18460 				if (yych <= '`') goto yy193;
18461 				goto yy142;
18462 			} else {
18463 				if (yych <= 't') goto yy1247;
18464 				if (yych <= 'z') goto yy142;
18465 				goto yy193;
18466 			}
18467 		}
18468 	}
18469 yy1247:
18470 	YYDEBUG(1247, *YYCURSOR);
18471 	yyaccept = 5;
18472 	yych = *(YYMARKER = ++YYCURSOR);
18473 	if (yych <= '/') {
18474 		if (yych <= '(') {
18475 			if (yych <= '\t') {
18476 				if (yych <= 0x08) goto yy193;
18477 				goto yy195;
18478 			} else {
18479 				if (yych == ' ') goto yy195;
18480 				goto yy193;
18481 			}
18482 		} else {
18483 			if (yych <= ',') {
18484 				if (yych <= ')') goto yy139;
18485 				goto yy193;
18486 			} else {
18487 				if (yych <= '-') goto yy196;
18488 				if (yych <= '.') goto yy195;
18489 				goto yy193;
18490 			}
18491 		}
18492 	} else {
18493 		if (yych <= 'Z') {
18494 			if (yych <= '@') {
18495 				if (yych <= '9') goto yy195;
18496 				goto yy193;
18497 			} else {
18498 				if (yych != 'E') goto yy143;
18499 			}
18500 		} else {
18501 			if (yych <= 'd') {
18502 				if (yych <= '`') goto yy193;
18503 				goto yy143;
18504 			} else {
18505 				if (yych <= 'e') goto yy1248;
18506 				if (yych <= 'z') goto yy143;
18507 				goto yy193;
18508 			}
18509 		}
18510 	}
18511 yy1248:
18512 	YYDEBUG(1248, *YYCURSOR);
18513 	yych = *++YYCURSOR;
18514 	if (yych <= 'M') {
18515 		if (yych <= ')') {
18516 			if (yych <= '(') goto yy3;
18517 			goto yy139;
18518 		} else {
18519 			if (yych <= '@') goto yy3;
18520 			if (yych <= 'L') goto yy144;
18521 		}
18522 	} else {
18523 		if (yych <= 'l') {
18524 			if (yych <= 'Z') goto yy144;
18525 			if (yych <= '`') goto yy3;
18526 			goto yy144;
18527 		} else {
18528 			if (yych <= 'm') goto yy1249;
18529 			if (yych <= 'z') goto yy144;
18530 			goto yy3;
18531 		}
18532 	}
18533 yy1249:
18534 	YYDEBUG(1249, *YYCURSOR);
18535 	yyaccept = 0;
18536 	yych = *(YYMARKER = ++YYCURSOR);
18537 	if (yych <= 'A') {
18538 		if (yych == ')') goto yy139;
18539 		goto yy3;
18540 	} else {
18541 		if (yych <= 'B') goto yy1250;
18542 		if (yych != 'b') goto yy3;
18543 	}
18544 yy1250:
18545 	YYDEBUG(1250, *YYCURSOR);
18546 	yych = *++YYCURSOR;
18547 	if (yych == 'E') goto yy1251;
18548 	if (yych != 'e') goto yy56;
18549 yy1251:
18550 	YYDEBUG(1251, *YYCURSOR);
18551 	yych = *++YYCURSOR;
18552 	if (yych == 'R') goto yy205;
18553 	if (yych == 'r') goto yy205;
18554 	goto yy56;
18555 yy1252:
18556 	YYDEBUG(1252, *YYCURSOR);
18557 	yych = *++YYCURSOR;
18558 	if (yych <= 'N') {
18559 		if (yych <= ')') {
18560 			if (yych <= '(') goto yy3;
18561 			goto yy139;
18562 		} else {
18563 			if (yych <= '@') goto yy3;
18564 			if (yych <= 'M') goto yy143;
18565 		}
18566 	} else {
18567 		if (yych <= 'm') {
18568 			if (yych <= 'Z') goto yy143;
18569 			if (yych <= '`') goto yy3;
18570 			goto yy143;
18571 		} else {
18572 			if (yych <= 'n') goto yy1253;
18573 			if (yych <= 'z') goto yy143;
18574 			goto yy3;
18575 		}
18576 	}
18577 yy1253:
18578 	YYDEBUG(1253, *YYCURSOR);
18579 	yych = *++YYCURSOR;
18580 	if (yych <= 'T') {
18581 		if (yych <= ')') {
18582 			if (yych <= '(') goto yy3;
18583 			goto yy139;
18584 		} else {
18585 			if (yych <= '@') goto yy3;
18586 			if (yych <= 'S') goto yy144;
18587 		}
18588 	} else {
18589 		if (yych <= 's') {
18590 			if (yych <= 'Z') goto yy144;
18591 			if (yych <= '`') goto yy3;
18592 			goto yy144;
18593 		} else {
18594 			if (yych <= 't') goto yy1254;
18595 			if (yych <= 'z') goto yy144;
18596 			goto yy3;
18597 		}
18598 	}
18599 yy1254:
18600 	YYDEBUG(1254, *YYCURSOR);
18601 	yyaccept = 0;
18602 	yych = *(YYMARKER = ++YYCURSOR);
18603 	if (yych <= 'G') {
18604 		if (yych == ')') goto yy139;
18605 		goto yy3;
18606 	} else {
18607 		if (yych <= 'H') goto yy1205;
18608 		if (yych == 'h') goto yy1205;
18609 		goto yy3;
18610 	}
18611 yy1255:
18612 	YYDEBUG(1255, *YYCURSOR);
18613 	yych = *++YYCURSOR;
18614 	if (yych <= 'N') {
18615 		if (yych <= ')') {
18616 			if (yych <= '(') goto yy3;
18617 			goto yy139;
18618 		} else {
18619 			if (yych <= '@') goto yy3;
18620 			if (yych <= 'M') goto yy143;
18621 		}
18622 	} else {
18623 		if (yych <= 'm') {
18624 			if (yych <= 'Z') goto yy143;
18625 			if (yych <= '`') goto yy3;
18626 			goto yy143;
18627 		} else {
18628 			if (yych <= 'n') goto yy1256;
18629 			if (yych <= 'z') goto yy143;
18630 			goto yy3;
18631 		}
18632 	}
18633 yy1256:
18634 	YYDEBUG(1256, *YYCURSOR);
18635 	yych = *++YYCURSOR;
18636 	if (yych <= 'D') {
18637 		if (yych <= ')') {
18638 			if (yych <= '(') goto yy3;
18639 			goto yy139;
18640 		} else {
18641 			if (yych <= '@') goto yy3;
18642 			if (yych <= 'C') goto yy144;
18643 			goto yy1215;
18644 		}
18645 	} else {
18646 		if (yych <= 'c') {
18647 			if (yych <= 'Z') goto yy144;
18648 			if (yych <= '`') goto yy3;
18649 			goto yy144;
18650 		} else {
18651 			if (yych <= 'd') goto yy1215;
18652 			if (yych <= 'z') goto yy144;
18653 			goto yy3;
18654 		}
18655 	}
18656 yy1257:
18657 	YYDEBUG(1257, *YYCURSOR);
18658 	yyaccept = 0;
18659 	yych = *(YYMARKER = ++YYCURSOR);
18660 	if (yych <= 'U') {
18661 		if (yych <= '/') {
18662 			if (yych <= ',') {
18663 				if (yych == ')') goto yy139;
18664 				goto yy3;
18665 			} else {
18666 				if (yych == '.') goto yy3;
18667 				goto yy147;
18668 			}
18669 		} else {
18670 			if (yych <= 'C') {
18671 				if (yych <= '@') goto yy3;
18672 				if (yych <= 'B') goto yy141;
18673 				goto yy1244;
18674 			} else {
18675 				if (yych == 'P') goto yy1246;
18676 				goto yy141;
18677 			}
18678 		}
18679 	} else {
18680 		if (yych <= 'b') {
18681 			if (yych <= '^') {
18682 				if (yych <= 'V') goto yy1245;
18683 				if (yych <= 'Z') goto yy141;
18684 				goto yy3;
18685 			} else {
18686 				if (yych <= '_') goto yy147;
18687 				if (yych <= '`') goto yy3;
18688 				goto yy146;
18689 			}
18690 		} else {
18691 			if (yych <= 'p') {
18692 				if (yych <= 'c') goto yy1273;
18693 				if (yych <= 'o') goto yy146;
18694 				goto yy1275;
18695 			} else {
18696 				if (yych == 'v') goto yy1274;
18697 				if (yych <= 'z') goto yy146;
18698 				goto yy3;
18699 			}
18700 		}
18701 	}
18702 yy1258:
18703 	YYDEBUG(1258, *YYCURSOR);
18704 	yyaccept = 0;
18705 	yych = *(YYMARKER = ++YYCURSOR);
18706 	if (yych <= 'S') {
18707 		if (yych <= '-') {
18708 			if (yych == ')') goto yy139;
18709 			if (yych <= ',') goto yy3;
18710 			goto yy147;
18711 		} else {
18712 			if (yych == '/') goto yy147;
18713 			if (yych <= '@') goto yy3;
18714 			goto yy141;
18715 		}
18716 	} else {
18717 		if (yych <= '_') {
18718 			if (yych <= 'T') goto yy1239;
18719 			if (yych <= 'Z') goto yy141;
18720 			if (yych <= '^') goto yy3;
18721 			goto yy147;
18722 		} else {
18723 			if (yych <= 's') {
18724 				if (yych <= '`') goto yy3;
18725 				goto yy146;
18726 			} else {
18727 				if (yych <= 't') goto yy1268;
18728 				if (yych <= 'z') goto yy146;
18729 				goto yy3;
18730 			}
18731 		}
18732 	}
18733 yy1259:
18734 	YYDEBUG(1259, *YYCURSOR);
18735 	yyaccept = 0;
18736 	yych = *(YYMARKER = ++YYCURSOR);
18737 	if (yych <= 'W') {
18738 		if (yych <= '-') {
18739 			if (yych == ')') goto yy139;
18740 			if (yych <= ',') goto yy3;
18741 			goto yy147;
18742 		} else {
18743 			if (yych == '/') goto yy147;
18744 			if (yych <= '@') goto yy3;
18745 			goto yy141;
18746 		}
18747 	} else {
18748 		if (yych <= '_') {
18749 			if (yych <= 'X') goto yy1236;
18750 			if (yych <= 'Z') goto yy141;
18751 			if (yych <= '^') goto yy3;
18752 			goto yy147;
18753 		} else {
18754 			if (yych <= 'w') {
18755 				if (yych <= '`') goto yy3;
18756 				goto yy146;
18757 			} else {
18758 				if (yych <= 'x') goto yy1265;
18759 				if (yych <= 'z') goto yy146;
18760 				goto yy3;
18761 			}
18762 		}
18763 	}
18764 yy1260:
18765 	YYDEBUG(1260, *YYCURSOR);
18766 	yyaccept = 0;
18767 	yych = *(YYMARKER = ++YYCURSOR);
18768 	if (yych <= 'M') {
18769 		if (yych <= '-') {
18770 			if (yych == ')') goto yy139;
18771 			if (yych <= ',') goto yy3;
18772 			goto yy147;
18773 		} else {
18774 			if (yych == '/') goto yy147;
18775 			if (yych <= '@') goto yy3;
18776 			goto yy141;
18777 		}
18778 	} else {
18779 		if (yych <= '_') {
18780 			if (yych <= 'N') goto yy1232;
18781 			if (yych <= 'Z') goto yy141;
18782 			if (yych <= '^') goto yy3;
18783 			goto yy147;
18784 		} else {
18785 			if (yych <= 'm') {
18786 				if (yych <= '`') goto yy3;
18787 				goto yy146;
18788 			} else {
18789 				if (yych <= 'n') goto yy1261;
18790 				if (yych <= 'z') goto yy146;
18791 				goto yy3;
18792 			}
18793 		}
18794 	}
18795 yy1261:
18796 	YYDEBUG(1261, *YYCURSOR);
18797 	yyaccept = 4;
18798 	yych = *(YYMARKER = ++YYCURSOR);
18799 	if (yych <= 'C') {
18800 		if (yych <= '-') {
18801 			if (yych == ')') goto yy139;
18802 			if (yych <= ',') goto yy166;
18803 			goto yy147;
18804 		} else {
18805 			if (yych == '/') goto yy147;
18806 			if (yych <= '@') goto yy166;
18807 			goto yy142;
18808 		}
18809 	} else {
18810 		if (yych <= '_') {
18811 			if (yych <= 'D') goto yy1233;
18812 			if (yych <= 'Z') goto yy142;
18813 			if (yych <= '^') goto yy166;
18814 			goto yy147;
18815 		} else {
18816 			if (yych <= 'c') {
18817 				if (yych <= '`') goto yy166;
18818 				goto yy150;
18819 			} else {
18820 				if (yych <= 'd') goto yy1262;
18821 				if (yych <= 'z') goto yy150;
18822 				goto yy166;
18823 			}
18824 		}
18825 	}
18826 yy1262:
18827 	YYDEBUG(1262, *YYCURSOR);
18828 	yyaccept = 0;
18829 	yych = *(YYMARKER = ++YYCURSOR);
18830 	if (yych <= '@') {
18831 		if (yych <= ',') {
18832 			if (yych == ')') goto yy139;
18833 			goto yy3;
18834 		} else {
18835 			if (yych == '.') goto yy3;
18836 			if (yych <= '/') goto yy147;
18837 			goto yy3;
18838 		}
18839 	} else {
18840 		if (yych <= '_') {
18841 			if (yych <= 'A') goto yy1234;
18842 			if (yych <= 'Z') goto yy143;
18843 			if (yych <= '^') goto yy3;
18844 			goto yy147;
18845 		} else {
18846 			if (yych <= '`') goto yy3;
18847 			if (yych <= 'a') goto yy1263;
18848 			if (yych <= 'z') goto yy151;
18849 			goto yy3;
18850 		}
18851 	}
18852 yy1263:
18853 	YYDEBUG(1263, *YYCURSOR);
18854 	yyaccept = 0;
18855 	yych = *(YYMARKER = ++YYCURSOR);
18856 	if (yych <= 'X') {
18857 		if (yych <= '-') {
18858 			if (yych == ')') goto yy139;
18859 			if (yych <= ',') goto yy3;
18860 			goto yy147;
18861 		} else {
18862 			if (yych == '/') goto yy147;
18863 			if (yych <= '@') goto yy3;
18864 			goto yy144;
18865 		}
18866 	} else {
18867 		if (yych <= '_') {
18868 			if (yych <= 'Y') goto yy1235;
18869 			if (yych <= 'Z') goto yy144;
18870 			if (yych <= '^') goto yy3;
18871 			goto yy147;
18872 		} else {
18873 			if (yych <= 'x') {
18874 				if (yych <= '`') goto yy3;
18875 				goto yy152;
18876 			} else {
18877 				if (yych <= 'y') goto yy1264;
18878 				if (yych <= 'z') goto yy152;
18879 				goto yy3;
18880 			}
18881 		}
18882 	}
18883 yy1264:
18884 	YYDEBUG(1264, *YYCURSOR);
18885 	yyaccept = 4;
18886 	yych = *(YYMARKER = ++YYCURSOR);
18887 	if (yybm[0+yych] & 16) {
18888 		goto yy153;
18889 	}
18890 	if (yych <= '-') {
18891 		if (yych == ')') goto yy139;
18892 		if (yych <= ',') goto yy166;
18893 		goto yy147;
18894 	} else {
18895 		if (yych <= '/') {
18896 			if (yych <= '.') goto yy166;
18897 			goto yy147;
18898 		} else {
18899 			if (yych == '_') goto yy147;
18900 			goto yy166;
18901 		}
18902 	}
18903 yy1265:
18904 	YYDEBUG(1265, *YYCURSOR);
18905 	yyaccept = 0;
18906 	yych = *(YYMARKER = ++YYCURSOR);
18907 	if (yych <= 'S') {
18908 		if (yych <= '-') {
18909 			if (yych == ')') goto yy139;
18910 			if (yych <= ',') goto yy3;
18911 			goto yy147;
18912 		} else {
18913 			if (yych == '/') goto yy147;
18914 			if (yych <= '@') goto yy3;
18915 			goto yy142;
18916 		}
18917 	} else {
18918 		if (yych <= '_') {
18919 			if (yych <= 'T') goto yy1237;
18920 			if (yych <= 'Z') goto yy142;
18921 			if (yych <= '^') goto yy3;
18922 			goto yy147;
18923 		} else {
18924 			if (yych <= 's') {
18925 				if (yych <= '`') goto yy3;
18926 				goto yy150;
18927 			} else {
18928 				if (yych <= 't') goto yy1266;
18929 				if (yych <= 'z') goto yy150;
18930 				goto yy3;
18931 			}
18932 		}
18933 	}
18934 yy1266:
18935 	YYDEBUG(1266, *YYCURSOR);
18936 	yyaccept = 0;
18937 	yych = *(YYMARKER = ++YYCURSOR);
18938 	if (yych <= 'G') {
18939 		if (yych <= '-') {
18940 			if (yych == ')') goto yy139;
18941 			if (yych <= ',') goto yy3;
18942 			goto yy147;
18943 		} else {
18944 			if (yych == '/') goto yy147;
18945 			if (yych <= '@') goto yy3;
18946 			goto yy143;
18947 		}
18948 	} else {
18949 		if (yych <= '_') {
18950 			if (yych <= 'H') goto yy1238;
18951 			if (yych <= 'Z') goto yy143;
18952 			if (yych <= '^') goto yy3;
18953 			goto yy147;
18954 		} else {
18955 			if (yych <= 'g') {
18956 				if (yych <= '`') goto yy3;
18957 				goto yy151;
18958 			} else {
18959 				if (yych <= 'h') goto yy1267;
18960 				if (yych <= 'z') goto yy151;
18961 				goto yy3;
18962 			}
18963 		}
18964 	}
18965 yy1267:
18966 	YYDEBUG(1267, *YYCURSOR);
18967 	yyaccept = 0;
18968 	yych = *(YYMARKER = ++YYCURSOR);
18969 	if (yych <= '-') {
18970 		if (yych <= ' ') {
18971 			if (yych == '\t') goto yy1206;
18972 			if (yych <= 0x1F) goto yy3;
18973 			goto yy1206;
18974 		} else {
18975 			if (yych == ')') goto yy139;
18976 			if (yych <= ',') goto yy3;
18977 			goto yy147;
18978 		}
18979 	} else {
18980 		if (yych <= 'Z') {
18981 			if (yych == '/') goto yy147;
18982 			if (yych <= '@') goto yy3;
18983 			goto yy144;
18984 		} else {
18985 			if (yych <= '_') {
18986 				if (yych <= '^') goto yy3;
18987 				goto yy147;
18988 			} else {
18989 				if (yych <= '`') goto yy3;
18990 				if (yych <= 'z') goto yy152;
18991 				goto yy3;
18992 			}
18993 		}
18994 	}
18995 yy1268:
18996 	YYDEBUG(1268, *YYCURSOR);
18997 	yyaccept = 4;
18998 	yych = *(YYMARKER = ++YYCURSOR);
18999 	if (yych <= 'T') {
19000 		if (yych <= '-') {
19001 			if (yych == ')') goto yy139;
19002 			if (yych <= ',') goto yy166;
19003 			goto yy147;
19004 		} else {
19005 			if (yych == '/') goto yy147;
19006 			if (yych <= '@') goto yy166;
19007 			goto yy142;
19008 		}
19009 	} else {
19010 		if (yych <= '_') {
19011 			if (yych <= 'U') goto yy1240;
19012 			if (yych <= 'Z') goto yy142;
19013 			if (yych <= '^') goto yy166;
19014 			goto yy147;
19015 		} else {
19016 			if (yych <= 't') {
19017 				if (yych <= '`') goto yy166;
19018 				goto yy150;
19019 			} else {
19020 				if (yych <= 'u') goto yy1269;
19021 				if (yych <= 'z') goto yy150;
19022 				goto yy166;
19023 			}
19024 		}
19025 	}
19026 yy1269:
19027 	YYDEBUG(1269, *YYCURSOR);
19028 	yyaccept = 0;
19029 	yych = *(YYMARKER = ++YYCURSOR);
19030 	if (yych <= 'Q') {
19031 		if (yych <= '-') {
19032 			if (yych == ')') goto yy139;
19033 			if (yych <= ',') goto yy3;
19034 			goto yy147;
19035 		} else {
19036 			if (yych == '/') goto yy147;
19037 			if (yych <= '@') goto yy3;
19038 			goto yy143;
19039 		}
19040 	} else {
19041 		if (yych <= '_') {
19042 			if (yych <= 'R') goto yy1241;
19043 			if (yych <= 'Z') goto yy143;
19044 			if (yych <= '^') goto yy3;
19045 			goto yy147;
19046 		} else {
19047 			if (yych <= 'q') {
19048 				if (yych <= '`') goto yy3;
19049 				goto yy151;
19050 			} else {
19051 				if (yych <= 'r') goto yy1270;
19052 				if (yych <= 'z') goto yy151;
19053 				goto yy3;
19054 			}
19055 		}
19056 	}
19057 yy1270:
19058 	YYDEBUG(1270, *YYCURSOR);
19059 	yyaccept = 0;
19060 	yych = *(YYMARKER = ++YYCURSOR);
19061 	if (yych <= 'C') {
19062 		if (yych <= '-') {
19063 			if (yych == ')') goto yy139;
19064 			if (yych <= ',') goto yy3;
19065 			goto yy147;
19066 		} else {
19067 			if (yych == '/') goto yy147;
19068 			if (yych <= '@') goto yy3;
19069 			goto yy144;
19070 		}
19071 	} else {
19072 		if (yych <= '_') {
19073 			if (yych <= 'D') goto yy1242;
19074 			if (yych <= 'Z') goto yy144;
19075 			if (yych <= '^') goto yy3;
19076 			goto yy147;
19077 		} else {
19078 			if (yych <= 'c') {
19079 				if (yych <= '`') goto yy3;
19080 				goto yy152;
19081 			} else {
19082 				if (yych <= 'd') goto yy1271;
19083 				if (yych <= 'z') goto yy152;
19084 				goto yy3;
19085 			}
19086 		}
19087 	}
19088 yy1271:
19089 	YYDEBUG(1271, *YYCURSOR);
19090 	yyaccept = 0;
19091 	yych = *(YYMARKER = ++YYCURSOR);
19092 	if (yych <= '@') {
19093 		if (yych <= ',') {
19094 			if (yych == ')') goto yy139;
19095 			goto yy3;
19096 		} else {
19097 			if (yych == '.') goto yy3;
19098 			if (yych <= '/') goto yy147;
19099 			goto yy3;
19100 		}
19101 	} else {
19102 		if (yych <= '_') {
19103 			if (yych <= 'A') goto yy1243;
19104 			if (yych <= '^') goto yy3;
19105 			goto yy147;
19106 		} else {
19107 			if (yych <= '`') goto yy3;
19108 			if (yych <= 'a') goto yy1272;
19109 			if (yych <= 'z') goto yy153;
19110 			goto yy3;
19111 		}
19112 	}
19113 yy1272:
19114 	YYDEBUG(1272, *YYCURSOR);
19115 	yych = *++YYCURSOR;
19116 	if (yych == 'Y') goto yy172;
19117 	if (yych == 'y') goto yy185;
19118 	goto yy154;
19119 yy1273:
19120 	YYDEBUG(1273, *YYCURSOR);
19121 	yyaccept = 0;
19122 	yych = *(YYMARKER = ++YYCURSOR);
19123 	if (yych <= 'N') {
19124 		if (yych <= '-') {
19125 			if (yych == ')') goto yy139;
19126 			if (yych <= ',') goto yy3;
19127 			goto yy147;
19128 		} else {
19129 			if (yych == '/') goto yy147;
19130 			if (yych <= '@') goto yy3;
19131 			goto yy142;
19132 		}
19133 	} else {
19134 		if (yych <= '_') {
19135 			if (yych <= 'O') goto yy1255;
19136 			if (yych <= 'Z') goto yy142;
19137 			if (yych <= '^') goto yy3;
19138 			goto yy147;
19139 		} else {
19140 			if (yych <= 'n') {
19141 				if (yych <= '`') goto yy3;
19142 				goto yy150;
19143 			} else {
19144 				if (yych <= 'o') goto yy1284;
19145 				if (yych <= 'z') goto yy150;
19146 				goto yy3;
19147 			}
19148 		}
19149 	}
19150 yy1274:
19151 	YYDEBUG(1274, *YYCURSOR);
19152 	yyaccept = 0;
19153 	yych = *(YYMARKER = ++YYCURSOR);
19154 	if (yych <= 'D') {
19155 		if (yych <= '-') {
19156 			if (yych == ')') goto yy139;
19157 			if (yych <= ',') goto yy3;
19158 			goto yy147;
19159 		} else {
19160 			if (yych == '/') goto yy147;
19161 			if (yych <= '@') goto yy3;
19162 			goto yy142;
19163 		}
19164 	} else {
19165 		if (yych <= '_') {
19166 			if (yych <= 'E') goto yy1252;
19167 			if (yych <= 'Z') goto yy142;
19168 			if (yych <= '^') goto yy3;
19169 			goto yy147;
19170 		} else {
19171 			if (yych <= 'd') {
19172 				if (yych <= '`') goto yy3;
19173 				goto yy150;
19174 			} else {
19175 				if (yych <= 'e') goto yy1281;
19176 				if (yych <= 'z') goto yy150;
19177 				goto yy3;
19178 			}
19179 		}
19180 	}
19181 yy1275:
19182 	YYDEBUG(1275, *YYCURSOR);
19183 	yyaccept = 5;
19184 	yych = *(YYMARKER = ++YYCURSOR);
19185 	if (yych <= '9') {
19186 		if (yych <= '(') {
19187 			if (yych <= '\t') {
19188 				if (yych <= 0x08) goto yy193;
19189 				goto yy195;
19190 			} else {
19191 				if (yych == ' ') goto yy195;
19192 				goto yy193;
19193 			}
19194 		} else {
19195 			if (yych <= '-') {
19196 				if (yych <= ')') goto yy139;
19197 				if (yych <= ',') goto yy193;
19198 				goto yy371;
19199 			} else {
19200 				if (yych == '/') goto yy147;
19201 				goto yy195;
19202 			}
19203 		}
19204 	} else {
19205 		if (yych <= '^') {
19206 			if (yych <= 'S') {
19207 				if (yych <= '@') goto yy193;
19208 				goto yy142;
19209 			} else {
19210 				if (yych <= 'T') goto yy1247;
19211 				if (yych <= 'Z') goto yy142;
19212 				goto yy193;
19213 			}
19214 		} else {
19215 			if (yych <= 's') {
19216 				if (yych <= '_') goto yy147;
19217 				if (yych <= '`') goto yy193;
19218 				goto yy150;
19219 			} else {
19220 				if (yych <= 't') goto yy1276;
19221 				if (yych <= 'z') goto yy150;
19222 				goto yy193;
19223 			}
19224 		}
19225 	}
19226 yy1276:
19227 	YYDEBUG(1276, *YYCURSOR);
19228 	yyaccept = 5;
19229 	yych = *(YYMARKER = ++YYCURSOR);
19230 	if (yych <= '9') {
19231 		if (yych <= '(') {
19232 			if (yych <= '\t') {
19233 				if (yych <= 0x08) goto yy193;
19234 				goto yy195;
19235 			} else {
19236 				if (yych == ' ') goto yy195;
19237 				goto yy193;
19238 			}
19239 		} else {
19240 			if (yych <= '-') {
19241 				if (yych <= ')') goto yy139;
19242 				if (yych <= ',') goto yy193;
19243 				goto yy371;
19244 			} else {
19245 				if (yych == '/') goto yy147;
19246 				goto yy195;
19247 			}
19248 		}
19249 	} else {
19250 		if (yych <= '^') {
19251 			if (yych <= 'D') {
19252 				if (yych <= '@') goto yy193;
19253 				goto yy143;
19254 			} else {
19255 				if (yych <= 'E') goto yy1248;
19256 				if (yych <= 'Z') goto yy143;
19257 				goto yy193;
19258 			}
19259 		} else {
19260 			if (yych <= 'd') {
19261 				if (yych <= '_') goto yy147;
19262 				if (yych <= '`') goto yy193;
19263 				goto yy151;
19264 			} else {
19265 				if (yych <= 'e') goto yy1277;
19266 				if (yych <= 'z') goto yy151;
19267 				goto yy193;
19268 			}
19269 		}
19270 	}
19271 yy1277:
19272 	YYDEBUG(1277, *YYCURSOR);
19273 	yyaccept = 0;
19274 	yych = *(YYMARKER = ++YYCURSOR);
19275 	if (yych <= 'L') {
19276 		if (yych <= '-') {
19277 			if (yych == ')') goto yy139;
19278 			if (yych <= ',') goto yy3;
19279 			goto yy147;
19280 		} else {
19281 			if (yych == '/') goto yy147;
19282 			if (yych <= '@') goto yy3;
19283 			goto yy144;
19284 		}
19285 	} else {
19286 		if (yych <= '_') {
19287 			if (yych <= 'M') goto yy1249;
19288 			if (yych <= 'Z') goto yy144;
19289 			if (yych <= '^') goto yy3;
19290 			goto yy147;
19291 		} else {
19292 			if (yych <= 'l') {
19293 				if (yych <= '`') goto yy3;
19294 				goto yy152;
19295 			} else {
19296 				if (yych <= 'm') goto yy1278;
19297 				if (yych <= 'z') goto yy152;
19298 				goto yy3;
19299 			}
19300 		}
19301 	}
19302 yy1278:
19303 	YYDEBUG(1278, *YYCURSOR);
19304 	yyaccept = 0;
19305 	yych = *(YYMARKER = ++YYCURSOR);
19306 	if (yych <= 'A') {
19307 		if (yych <= ',') {
19308 			if (yych == ')') goto yy139;
19309 			goto yy3;
19310 		} else {
19311 			if (yych == '.') goto yy3;
19312 			if (yych <= '/') goto yy147;
19313 			goto yy3;
19314 		}
19315 	} else {
19316 		if (yych <= '`') {
19317 			if (yych <= 'B') goto yy1250;
19318 			if (yych == '_') goto yy147;
19319 			goto yy3;
19320 		} else {
19321 			if (yych == 'b') goto yy1279;
19322 			if (yych <= 'z') goto yy153;
19323 			goto yy3;
19324 		}
19325 	}
19326 yy1279:
19327 	YYDEBUG(1279, *YYCURSOR);
19328 	yych = *++YYCURSOR;
19329 	if (yych == 'E') goto yy1251;
19330 	if (yych != 'e') goto yy154;
19331 	YYDEBUG(1280, *YYCURSOR);
19332 	yych = *++YYCURSOR;
19333 	if (yych == 'R') goto yy205;
19334 	if (yych == 'r') goto yy376;
19335 	goto yy154;
19336 yy1281:
19337 	YYDEBUG(1281, *YYCURSOR);
19338 	yyaccept = 0;
19339 	yych = *(YYMARKER = ++YYCURSOR);
19340 	if (yych <= 'M') {
19341 		if (yych <= '-') {
19342 			if (yych == ')') goto yy139;
19343 			if (yych <= ',') goto yy3;
19344 			goto yy147;
19345 		} else {
19346 			if (yych == '/') goto yy147;
19347 			if (yych <= '@') goto yy3;
19348 			goto yy143;
19349 		}
19350 	} else {
19351 		if (yych <= '_') {
19352 			if (yych <= 'N') goto yy1253;
19353 			if (yych <= 'Z') goto yy143;
19354 			if (yych <= '^') goto yy3;
19355 			goto yy147;
19356 		} else {
19357 			if (yych <= 'm') {
19358 				if (yych <= '`') goto yy3;
19359 				goto yy151;
19360 			} else {
19361 				if (yych <= 'n') goto yy1282;
19362 				if (yych <= 'z') goto yy151;
19363 				goto yy3;
19364 			}
19365 		}
19366 	}
19367 yy1282:
19368 	YYDEBUG(1282, *YYCURSOR);
19369 	yyaccept = 0;
19370 	yych = *(YYMARKER = ++YYCURSOR);
19371 	if (yych <= 'S') {
19372 		if (yych <= '-') {
19373 			if (yych == ')') goto yy139;
19374 			if (yych <= ',') goto yy3;
19375 			goto yy147;
19376 		} else {
19377 			if (yych == '/') goto yy147;
19378 			if (yych <= '@') goto yy3;
19379 			goto yy144;
19380 		}
19381 	} else {
19382 		if (yych <= '_') {
19383 			if (yych <= 'T') goto yy1254;
19384 			if (yych <= 'Z') goto yy144;
19385 			if (yych <= '^') goto yy3;
19386 			goto yy147;
19387 		} else {
19388 			if (yych <= 's') {
19389 				if (yych <= '`') goto yy3;
19390 				goto yy152;
19391 			} else {
19392 				if (yych <= 't') goto yy1283;
19393 				if (yych <= 'z') goto yy152;
19394 				goto yy3;
19395 			}
19396 		}
19397 	}
19398 yy1283:
19399 	YYDEBUG(1283, *YYCURSOR);
19400 	yyaccept = 0;
19401 	yych = *(YYMARKER = ++YYCURSOR);
19402 	if (yych <= 'G') {
19403 		if (yych <= ',') {
19404 			if (yych == ')') goto yy139;
19405 			goto yy3;
19406 		} else {
19407 			if (yych == '.') goto yy3;
19408 			if (yych <= '/') goto yy147;
19409 			goto yy3;
19410 		}
19411 	} else {
19412 		if (yych <= '`') {
19413 			if (yych <= 'H') goto yy1205;
19414 			if (yych == '_') goto yy147;
19415 			goto yy3;
19416 		} else {
19417 			if (yych == 'h') goto yy1223;
19418 			if (yych <= 'z') goto yy153;
19419 			goto yy3;
19420 		}
19421 	}
19422 yy1284:
19423 	YYDEBUG(1284, *YYCURSOR);
19424 	yyaccept = 0;
19425 	yych = *(YYMARKER = ++YYCURSOR);
19426 	if (yych <= 'M') {
19427 		if (yych <= '-') {
19428 			if (yych == ')') goto yy139;
19429 			if (yych <= ',') goto yy3;
19430 			goto yy147;
19431 		} else {
19432 			if (yych == '/') goto yy147;
19433 			if (yych <= '@') goto yy3;
19434 			goto yy143;
19435 		}
19436 	} else {
19437 		if (yych <= '_') {
19438 			if (yych <= 'N') goto yy1256;
19439 			if (yych <= 'Z') goto yy143;
19440 			if (yych <= '^') goto yy3;
19441 			goto yy147;
19442 		} else {
19443 			if (yych <= 'm') {
19444 				if (yych <= '`') goto yy3;
19445 				goto yy151;
19446 			} else {
19447 				if (yych <= 'n') goto yy1285;
19448 				if (yych <= 'z') goto yy151;
19449 				goto yy3;
19450 			}
19451 		}
19452 	}
19453 yy1285:
19454 	YYDEBUG(1285, *YYCURSOR);
19455 	yyaccept = 0;
19456 	yych = *(YYMARKER = ++YYCURSOR);
19457 	if (yych <= 'C') {
19458 		if (yych <= '-') {
19459 			if (yych == ')') goto yy139;
19460 			if (yych <= ',') goto yy3;
19461 			goto yy147;
19462 		} else {
19463 			if (yych == '/') goto yy147;
19464 			if (yych <= '@') goto yy3;
19465 			goto yy144;
19466 		}
19467 	} else {
19468 		if (yych <= '_') {
19469 			if (yych <= 'D') goto yy1215;
19470 			if (yych <= 'Z') goto yy144;
19471 			if (yych <= '^') goto yy3;
19472 			goto yy147;
19473 		} else {
19474 			if (yych <= 'c') {
19475 				if (yych <= '`') goto yy3;
19476 				goto yy152;
19477 			} else {
19478 				if (yych <= 'd') goto yy1227;
19479 				if (yych <= 'z') goto yy152;
19480 				goto yy3;
19481 			}
19482 		}
19483 	}
19484 yy1286:
19485 	YYDEBUG(1286, *YYCURSOR);
19486 	yych = *++YYCURSOR;
19487 	if (yych <= 'C') {
19488 		if (yych <= ')') {
19489 			if (yych <= '(') goto yy3;
19490 			goto yy139;
19491 		} else {
19492 			if (yych <= '@') goto yy3;
19493 			if (yych <= 'B') goto yy141;
19494 		}
19495 	} else {
19496 		if (yych <= 'b') {
19497 			if (yych <= 'Z') goto yy141;
19498 			if (yych <= '`') goto yy3;
19499 			goto yy141;
19500 		} else {
19501 			if (yych <= 'c') goto yy1287;
19502 			if (yych <= 'z') goto yy141;
19503 			goto yy3;
19504 		}
19505 	}
19506 yy1287:
19507 	YYDEBUG(1287, *YYCURSOR);
19508 	yych = *++YYCURSOR;
19509 	if (yych <= 'K') {
19510 		if (yych <= ')') {
19511 			if (yych <= '(') goto yy3;
19512 			goto yy139;
19513 		} else {
19514 			if (yych <= '@') goto yy3;
19515 			if (yych <= 'J') goto yy142;
19516 		}
19517 	} else {
19518 		if (yych <= 'j') {
19519 			if (yych <= 'Z') goto yy142;
19520 			if (yych <= '`') goto yy3;
19521 			goto yy142;
19522 		} else {
19523 			if (yych <= 'k') goto yy1288;
19524 			if (yych <= 'z') goto yy142;
19525 			goto yy3;
19526 		}
19527 	}
19528 yy1288:
19529 	YYDEBUG(1288, *YYCURSOR);
19530 	yyaccept = 0;
19531 	yych = *(YYMARKER = ++YYCURSOR);
19532 	if (yych <= ')') {
19533 		if (yych == ' ') goto yy1289;
19534 		if (yych <= '(') goto yy3;
19535 		goto yy139;
19536 	} else {
19537 		if (yych <= 'Z') {
19538 			if (yych <= '@') goto yy3;
19539 			goto yy143;
19540 		} else {
19541 			if (yych <= '`') goto yy3;
19542 			if (yych <= 'z') goto yy143;
19543 			goto yy3;
19544 		}
19545 	}
19546 yy1289:
19547 	YYDEBUG(1289, *YYCURSOR);
19548 	yych = *++YYCURSOR;
19549 	if (yych == 'O') goto yy1290;
19550 	if (yych != 'o') goto yy56;
19551 yy1290:
19552 	YYDEBUG(1290, *YYCURSOR);
19553 	yych = *++YYCURSOR;
19554 	if (yych == 'F') goto yy1291;
19555 	if (yych != 'f') goto yy56;
19556 yy1291:
19557 	YYDEBUG(1291, *YYCURSOR);
19558 	yych = *++YYCURSOR;
19559 	if (yych != ' ') goto yy56;
19560 	YYDEBUG(1292, *YYCURSOR);
19561 	yych = *++YYCURSOR;
19562 	if (yych <= '/') goto yy56;
19563 	if (yych <= '1') goto yy1293;
19564 	if (yych <= '2') goto yy1295;
19565 	if (yych <= '9') goto yy1296;
19566 	goto yy56;
19567 yy1293:
19568 	YYDEBUG(1293, *YYCURSOR);
19569 	yyaccept = 28;
19570 	yych = *(YYMARKER = ++YYCURSOR);
19571 	if (yych <= '/') goto yy1297;
19572 	if (yych <= '9') goto yy1296;
19573 	goto yy1297;
19574 yy1294:
19575 	YYDEBUG(1294, *YYCURSOR);
19576 #line 1043 "ext/date/lib/parse_date.re"
19577 	{
19578 		DEBUG_OUTPUT("backof | frontof");
19579 		TIMELIB_INIT;
19580 		TIMELIB_UNHAVE_TIME();
19581 		TIMELIB_HAVE_TIME();
19582 
19583 		if (*ptr == 'b') {
19584 			s->time->h = timelib_get_nr((char **) &ptr, 2);
19585 			s->time->i = 15;
19586 		} else {
19587 			s->time->h = timelib_get_nr((char **) &ptr, 2) - 1;
19588 			s->time->i = 45;
19589 		}
19590 		if (*ptr != '\0' ) {
19591 			timelib_eat_spaces((char **) &ptr);
19592 			s->time->h += timelib_meridian((char **) &ptr, s->time->h);
19593 		}
19594 
19595 		TIMELIB_DEINIT;
19596 		return TIMELIB_LF_DAY_OF_MONTH;
19597 	}
19598 #line 19599 "ext/date/lib/parse_date.c"
19599 yy1295:
19600 	YYDEBUG(1295, *YYCURSOR);
19601 	yyaccept = 28;
19602 	yych = *(YYMARKER = ++YYCURSOR);
19603 	if (yych <= '/') goto yy1297;
19604 	if (yych >= '5') goto yy1297;
19605 yy1296:
19606 	YYDEBUG(1296, *YYCURSOR);
19607 	yyaccept = 28;
19608 	YYMARKER = ++YYCURSOR;
19609 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
19610 	yych = *YYCURSOR;
19611 yy1297:
19612 	YYDEBUG(1297, *YYCURSOR);
19613 	if (yych <= 'A') {
19614 		if (yych <= 0x1F) {
19615 			if (yych == '\t') goto yy1296;
19616 			goto yy1294;
19617 		} else {
19618 			if (yych <= ' ') goto yy1296;
19619 			if (yych <= '@') goto yy1294;
19620 		}
19621 	} else {
19622 		if (yych <= '`') {
19623 			if (yych != 'P') goto yy1294;
19624 		} else {
19625 			if (yych <= 'a') goto yy1298;
19626 			if (yych != 'p') goto yy1294;
19627 		}
19628 	}
19629 yy1298:
19630 	YYDEBUG(1298, *YYCURSOR);
19631 	yych = *++YYCURSOR;
19632 	if (yych <= 'L') {
19633 		if (yych != '.') goto yy56;
19634 	} else {
19635 		if (yych <= 'M') goto yy1300;
19636 		if (yych == 'm') goto yy1300;
19637 		goto yy56;
19638 	}
19639 	YYDEBUG(1299, *YYCURSOR);
19640 	yych = *++YYCURSOR;
19641 	if (yych == 'M') goto yy1300;
19642 	if (yych != 'm') goto yy56;
19643 yy1300:
19644 	YYDEBUG(1300, *YYCURSOR);
19645 	yych = *++YYCURSOR;
19646 	if (yych <= 0x1F) {
19647 		if (yych <= 0x00) goto yy1302;
19648 		if (yych == '\t') goto yy1302;
19649 		goto yy56;
19650 	} else {
19651 		if (yych <= ' ') goto yy1302;
19652 		if (yych != '.') goto yy56;
19653 	}
19654 	YYDEBUG(1301, *YYCURSOR);
19655 	yych = *++YYCURSOR;
19656 	if (yych <= '\t') {
19657 		if (yych <= 0x00) goto yy1302;
19658 		if (yych <= 0x08) goto yy56;
19659 	} else {
19660 		if (yych != ' ') goto yy56;
19661 	}
19662 yy1302:
19663 	YYDEBUG(1302, *YYCURSOR);
19664 	yych = *++YYCURSOR;
19665 	goto yy1294;
19666 yy1303:
19667 	YYDEBUG(1303, *YYCURSOR);
19668 	yyaccept = 0;
19669 	yych = *(YYMARKER = ++YYCURSOR);
19670 	if (yych <= 'B') {
19671 		if (yych <= '-') {
19672 			if (yych == ')') goto yy139;
19673 			if (yych <= ',') goto yy3;
19674 			goto yy147;
19675 		} else {
19676 			if (yych == '/') goto yy147;
19677 			if (yych <= '@') goto yy3;
19678 			goto yy141;
19679 		}
19680 	} else {
19681 		if (yych <= '_') {
19682 			if (yych <= 'C') goto yy1287;
19683 			if (yych <= 'Z') goto yy141;
19684 			if (yych <= '^') goto yy3;
19685 			goto yy147;
19686 		} else {
19687 			if (yych <= 'b') {
19688 				if (yych <= '`') goto yy3;
19689 				goto yy146;
19690 			} else {
19691 				if (yych <= 'c') goto yy1304;
19692 				if (yych <= 'z') goto yy146;
19693 				goto yy3;
19694 			}
19695 		}
19696 	}
19697 yy1304:
19698 	YYDEBUG(1304, *YYCURSOR);
19699 	yyaccept = 0;
19700 	yych = *(YYMARKER = ++YYCURSOR);
19701 	if (yych <= 'J') {
19702 		if (yych <= '-') {
19703 			if (yych == ')') goto yy139;
19704 			if (yych <= ',') goto yy3;
19705 			goto yy147;
19706 		} else {
19707 			if (yych == '/') goto yy147;
19708 			if (yych <= '@') goto yy3;
19709 			goto yy142;
19710 		}
19711 	} else {
19712 		if (yych <= '_') {
19713 			if (yych <= 'K') goto yy1288;
19714 			if (yych <= 'Z') goto yy142;
19715 			if (yych <= '^') goto yy3;
19716 			goto yy147;
19717 		} else {
19718 			if (yych <= 'j') {
19719 				if (yych <= '`') goto yy3;
19720 				goto yy150;
19721 			} else {
19722 				if (yych <= 'k') goto yy1305;
19723 				if (yych <= 'z') goto yy150;
19724 				goto yy3;
19725 			}
19726 		}
19727 	}
19728 yy1305:
19729 	YYDEBUG(1305, *YYCURSOR);
19730 	yyaccept = 0;
19731 	yych = *(YYMARKER = ++YYCURSOR);
19732 	if (yych <= '.') {
19733 		if (yych <= '(') {
19734 			if (yych == ' ') goto yy1289;
19735 			goto yy3;
19736 		} else {
19737 			if (yych <= ')') goto yy139;
19738 			if (yych == '-') goto yy147;
19739 			goto yy3;
19740 		}
19741 	} else {
19742 		if (yych <= '^') {
19743 			if (yych <= '/') goto yy147;
19744 			if (yych <= '@') goto yy3;
19745 			if (yych <= 'Z') goto yy143;
19746 			goto yy3;
19747 		} else {
19748 			if (yych <= '_') goto yy147;
19749 			if (yych <= '`') goto yy3;
19750 			if (yych <= 'z') goto yy151;
19751 			goto yy3;
19752 		}
19753 	}
19754 yy1306:
19755 	YYDEBUG(1306, *YYCURSOR);
19756 	yych = *++YYCURSOR;
19757 	if (yych <= 'S') {
19758 		if (yych <= ')') {
19759 			if (yych <= '(') goto yy3;
19760 			goto yy139;
19761 		} else {
19762 			if (yych <= '@') goto yy3;
19763 			if (yych <= 'R') goto yy141;
19764 		}
19765 	} else {
19766 		if (yych <= 'r') {
19767 			if (yych <= 'Z') goto yy141;
19768 			if (yych <= '`') goto yy3;
19769 			goto yy141;
19770 		} else {
19771 			if (yych <= 's') goto yy1307;
19772 			if (yych <= 'z') goto yy141;
19773 			goto yy3;
19774 		}
19775 	}
19776 yy1307:
19777 	YYDEBUG(1307, *YYCURSOR);
19778 	yych = *++YYCURSOR;
19779 	if (yych <= 'T') {
19780 		if (yych <= ')') {
19781 			if (yych <= '(') goto yy3;
19782 			goto yy139;
19783 		} else {
19784 			if (yych <= '@') goto yy3;
19785 			if (yych <= 'S') goto yy142;
19786 		}
19787 	} else {
19788 		if (yych <= 's') {
19789 			if (yych <= 'Z') goto yy142;
19790 			if (yych <= '`') goto yy3;
19791 			goto yy142;
19792 		} else {
19793 			if (yych <= 't') goto yy1308;
19794 			if (yych <= 'z') goto yy142;
19795 			goto yy3;
19796 		}
19797 	}
19798 yy1308:
19799 	YYDEBUG(1308, *YYCURSOR);
19800 	yyaccept = 0;
19801 	yych = *(YYMARKER = ++YYCURSOR);
19802 	if (yych <= '(') {
19803 		if (yych <= '\t') {
19804 			if (yych <= 0x08) goto yy3;
19805 			goto yy1104;
19806 		} else {
19807 			if (yych != ' ') goto yy3;
19808 		}
19809 	} else {
19810 		if (yych <= 'Z') {
19811 			if (yych <= ')') goto yy139;
19812 			if (yych <= '@') goto yy3;
19813 			goto yy143;
19814 		} else {
19815 			if (yych <= '`') goto yy3;
19816 			if (yych <= 'z') goto yy143;
19817 			goto yy3;
19818 		}
19819 	}
19820 yy1309:
19821 	YYDEBUG(1309, *YYCURSOR);
19822 	yych = *++YYCURSOR;
19823 	if (yych == 'D') goto yy1310;
19824 	if (yych != 'd') goto yy1105;
19825 yy1310:
19826 	YYDEBUG(1310, *YYCURSOR);
19827 	yych = *++YYCURSOR;
19828 	if (yych == 'A') goto yy1311;
19829 	if (yych != 'a') goto yy56;
19830 yy1311:
19831 	YYDEBUG(1311, *YYCURSOR);
19832 	yych = *++YYCURSOR;
19833 	if (yych == 'Y') goto yy1312;
19834 	if (yych != 'y') goto yy56;
19835 yy1312:
19836 	YYDEBUG(1312, *YYCURSOR);
19837 	yyaccept = 26;
19838 	yych = *(YYMARKER = ++YYCURSOR);
19839 	if (yych <= 'R') {
19840 		if (yych != ' ') goto yy1117;
19841 	} else {
19842 		if (yych <= 'S') goto yy1142;
19843 		if (yych == 's') goto yy1142;
19844 		goto yy1117;
19845 	}
19846 	YYDEBUG(1313, *YYCURSOR);
19847 	yych = *++YYCURSOR;
19848 	if (yych == 'O') goto yy1314;
19849 	if (yych != 'o') goto yy56;
19850 yy1314:
19851 	YYDEBUG(1314, *YYCURSOR);
19852 	yych = *++YYCURSOR;
19853 	if (yych == 'F') goto yy1315;
19854 	if (yych != 'f') goto yy56;
19855 yy1315:
19856 	YYDEBUG(1315, *YYCURSOR);
19857 	++YYCURSOR;
19858 	YYDEBUG(1316, *YYCURSOR);
19859 #line 1026 "ext/date/lib/parse_date.re"
19860 	{
19861 		DEBUG_OUTPUT("firstdayof | lastdayof");
19862 		TIMELIB_INIT;
19863 		TIMELIB_HAVE_RELATIVE();
19864 
19865 		/* skip "last day of" or "first day of" */
19866 		if (*ptr == 'l' || *ptr == 'L') {
19867 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
19868 		} else {
19869 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
19870 		}
19871 
19872 		TIMELIB_DEINIT;
19873 		return TIMELIB_LF_DAY_OF_MONTH;
19874 	}
19875 #line 19876 "ext/date/lib/parse_date.c"
19876 yy1317:
19877 	YYDEBUG(1317, *YYCURSOR);
19878 	yyaccept = 0;
19879 	yych = *(YYMARKER = ++YYCURSOR);
19880 	if (yych <= 'R') {
19881 		if (yych <= '-') {
19882 			if (yych == ')') goto yy139;
19883 			if (yych <= ',') goto yy3;
19884 			goto yy147;
19885 		} else {
19886 			if (yych == '/') goto yy147;
19887 			if (yych <= '@') goto yy3;
19888 			goto yy141;
19889 		}
19890 	} else {
19891 		if (yych <= '_') {
19892 			if (yych <= 'S') goto yy1307;
19893 			if (yych <= 'Z') goto yy141;
19894 			if (yych <= '^') goto yy3;
19895 			goto yy147;
19896 		} else {
19897 			if (yych <= 'r') {
19898 				if (yych <= '`') goto yy3;
19899 				goto yy146;
19900 			} else {
19901 				if (yych <= 's') goto yy1318;
19902 				if (yych <= 'z') goto yy146;
19903 				goto yy3;
19904 			}
19905 		}
19906 	}
19907 yy1318:
19908 	YYDEBUG(1318, *YYCURSOR);
19909 	yyaccept = 0;
19910 	yych = *(YYMARKER = ++YYCURSOR);
19911 	if (yych <= 'S') {
19912 		if (yych <= '-') {
19913 			if (yych == ')') goto yy139;
19914 			if (yych <= ',') goto yy3;
19915 			goto yy147;
19916 		} else {
19917 			if (yych == '/') goto yy147;
19918 			if (yych <= '@') goto yy3;
19919 			goto yy142;
19920 		}
19921 	} else {
19922 		if (yych <= '_') {
19923 			if (yych <= 'T') goto yy1308;
19924 			if (yych <= 'Z') goto yy142;
19925 			if (yych <= '^') goto yy3;
19926 			goto yy147;
19927 		} else {
19928 			if (yych <= 's') {
19929 				if (yych <= '`') goto yy3;
19930 				goto yy150;
19931 			} else {
19932 				if (yych <= 't') goto yy1319;
19933 				if (yych <= 'z') goto yy150;
19934 				goto yy3;
19935 			}
19936 		}
19937 	}
19938 yy1319:
19939 	YYDEBUG(1319, *YYCURSOR);
19940 	yyaccept = 0;
19941 	yych = *(YYMARKER = ++YYCURSOR);
19942 	if (yych <= '-') {
19943 		if (yych <= ' ') {
19944 			if (yych == '\t') goto yy1104;
19945 			if (yych <= 0x1F) goto yy3;
19946 			goto yy1309;
19947 		} else {
19948 			if (yych == ')') goto yy139;
19949 			if (yych <= ',') goto yy3;
19950 			goto yy147;
19951 		}
19952 	} else {
19953 		if (yych <= 'Z') {
19954 			if (yych == '/') goto yy147;
19955 			if (yych <= '@') goto yy3;
19956 			goto yy143;
19957 		} else {
19958 			if (yych <= '_') {
19959 				if (yych <= '^') goto yy3;
19960 				goto yy147;
19961 			} else {
19962 				if (yych <= '`') goto yy3;
19963 				if (yych <= 'z') goto yy151;
19964 				goto yy3;
19965 			}
19966 		}
19967 	}
19968 yy1320:
19969 	YYDEBUG(1320, *YYCURSOR);
19970 	yych = *++YYCURSOR;
19971 	if (yych <= 'B') {
19972 		if (yych <= ')') {
19973 			if (yych <= '(') goto yy3;
19974 			goto yy139;
19975 		} else {
19976 			if (yych <= '@') goto yy3;
19977 			if (yych <= 'A') goto yy141;
19978 			goto yy1356;
19979 		}
19980 	} else {
19981 		if (yych <= 'a') {
19982 			if (yych <= 'Z') goto yy141;
19983 			if (yych <= '`') goto yy3;
19984 			goto yy141;
19985 		} else {
19986 			if (yych <= 'b') goto yy1356;
19987 			if (yych <= 'z') goto yy141;
19988 			goto yy3;
19989 		}
19990 	}
19991 yy1321:
19992 	YYDEBUG(1321, *YYCURSOR);
19993 	yych = *++YYCURSOR;
19994 	if (yych <= 'R') {
19995 		if (yych <= '@') {
19996 			if (yych == ')') goto yy139;
19997 			goto yy3;
19998 		} else {
19999 			if (yych == 'F') goto yy1346;
20000 			if (yych <= 'Q') goto yy141;
20001 			goto yy1345;
20002 		}
20003 	} else {
20004 		if (yych <= 'f') {
20005 			if (yych <= 'Z') goto yy141;
20006 			if (yych <= '`') goto yy3;
20007 			if (yych <= 'e') goto yy141;
20008 			goto yy1346;
20009 		} else {
20010 			if (yych == 'r') goto yy1345;
20011 			if (yych <= 'z') goto yy141;
20012 			goto yy3;
20013 		}
20014 	}
20015 yy1322:
20016 	YYDEBUG(1322, *YYCURSOR);
20017 	yych = *++YYCURSOR;
20018 	if (yych <= 'U') {
20019 		if (yych <= ')') {
20020 			if (yych <= '(') goto yy3;
20021 			goto yy139;
20022 		} else {
20023 			if (yych <= '@') goto yy3;
20024 			if (yych <= 'T') goto yy141;
20025 			goto yy1342;
20026 		}
20027 	} else {
20028 		if (yych <= 't') {
20029 			if (yych <= 'Z') goto yy141;
20030 			if (yych <= '`') goto yy3;
20031 			goto yy141;
20032 		} else {
20033 			if (yych <= 'u') goto yy1342;
20034 			if (yych <= 'z') goto yy141;
20035 			goto yy3;
20036 		}
20037 	}
20038 yy1323:
20039 	YYDEBUG(1323, *YYCURSOR);
20040 	yych = *++YYCURSOR;
20041 	if (yych <= 'O') {
20042 		if (yych <= '@') {
20043 			if (yych == ')') goto yy139;
20044 			goto yy3;
20045 		} else {
20046 			if (yych == 'I') goto yy1325;
20047 			if (yych <= 'N') goto yy141;
20048 		}
20049 	} else {
20050 		if (yych <= 'i') {
20051 			if (yych <= 'Z') goto yy141;
20052 			if (yych <= '`') goto yy3;
20053 			if (yych <= 'h') goto yy141;
20054 			goto yy1325;
20055 		} else {
20056 			if (yych == 'o') goto yy1324;
20057 			if (yych <= 'z') goto yy141;
20058 			goto yy3;
20059 		}
20060 	}
20061 yy1324:
20062 	YYDEBUG(1324, *YYCURSOR);
20063 	yych = *++YYCURSOR;
20064 	if (yych <= 'N') {
20065 		if (yych <= ')') {
20066 			if (yych <= '(') goto yy3;
20067 			goto yy139;
20068 		} else {
20069 			if (yych <= '@') goto yy3;
20070 			if (yych <= 'M') goto yy142;
20071 			goto yy1328;
20072 		}
20073 	} else {
20074 		if (yych <= 'm') {
20075 			if (yych <= 'Z') goto yy142;
20076 			if (yych <= '`') goto yy3;
20077 			goto yy142;
20078 		} else {
20079 			if (yych <= 'n') goto yy1328;
20080 			if (yych <= 'z') goto yy142;
20081 			goto yy3;
20082 		}
20083 	}
20084 yy1325:
20085 	YYDEBUG(1325, *YYCURSOR);
20086 	yych = *++YYCURSOR;
20087 	if (yych <= 'D') {
20088 		if (yych <= ')') {
20089 			if (yych <= '(') goto yy166;
20090 			goto yy139;
20091 		} else {
20092 			if (yych <= '@') goto yy166;
20093 			if (yych <= 'C') goto yy142;
20094 		}
20095 	} else {
20096 		if (yych <= 'c') {
20097 			if (yych <= 'Z') goto yy142;
20098 			if (yych <= '`') goto yy166;
20099 			goto yy142;
20100 		} else {
20101 			if (yych <= 'd') goto yy1326;
20102 			if (yych <= 'z') goto yy142;
20103 			goto yy166;
20104 		}
20105 	}
20106 yy1326:
20107 	YYDEBUG(1326, *YYCURSOR);
20108 	yych = *++YYCURSOR;
20109 	if (yych <= 'A') {
20110 		if (yych == ')') goto yy139;
20111 		if (yych <= '@') goto yy3;
20112 	} else {
20113 		if (yych <= '`') {
20114 			if (yych <= 'Z') goto yy143;
20115 			goto yy3;
20116 		} else {
20117 			if (yych <= 'a') goto yy1327;
20118 			if (yych <= 'z') goto yy143;
20119 			goto yy3;
20120 		}
20121 	}
20122 yy1327:
20123 	YYDEBUG(1327, *YYCURSOR);
20124 	yych = *++YYCURSOR;
20125 	if (yych <= 'Y') {
20126 		if (yych <= ')') {
20127 			if (yych <= '(') goto yy3;
20128 			goto yy139;
20129 		} else {
20130 			if (yych <= '@') goto yy3;
20131 			if (yych <= 'X') goto yy144;
20132 			goto yy1235;
20133 		}
20134 	} else {
20135 		if (yych <= 'x') {
20136 			if (yych <= 'Z') goto yy144;
20137 			if (yych <= '`') goto yy3;
20138 			goto yy144;
20139 		} else {
20140 			if (yych <= 'y') goto yy1235;
20141 			if (yych <= 'z') goto yy144;
20142 			goto yy3;
20143 		}
20144 	}
20145 yy1328:
20146 	YYDEBUG(1328, *YYCURSOR);
20147 	yych = *++YYCURSOR;
20148 	if (yych <= 'T') {
20149 		if (yych <= ')') {
20150 			if (yych <= '(') goto yy3;
20151 			goto yy139;
20152 		} else {
20153 			if (yych <= '@') goto yy3;
20154 			if (yych <= 'S') goto yy143;
20155 		}
20156 	} else {
20157 		if (yych <= 's') {
20158 			if (yych <= 'Z') goto yy143;
20159 			if (yych <= '`') goto yy3;
20160 			goto yy143;
20161 		} else {
20162 			if (yych <= 't') goto yy1329;
20163 			if (yych <= 'z') goto yy143;
20164 			goto yy3;
20165 		}
20166 	}
20167 yy1329:
20168 	YYDEBUG(1329, *YYCURSOR);
20169 	yyaccept = 0;
20170 	yych = *(YYMARKER = ++YYCURSOR);
20171 	if (yych <= ')') {
20172 		if (yych == ' ') goto yy1330;
20173 		if (yych <= '(') goto yy3;
20174 		goto yy139;
20175 	} else {
20176 		if (yych <= 'Z') {
20177 			if (yych <= '@') goto yy3;
20178 			goto yy144;
20179 		} else {
20180 			if (yych <= '`') goto yy3;
20181 			if (yych <= 'z') goto yy144;
20182 			goto yy3;
20183 		}
20184 	}
20185 yy1330:
20186 	YYDEBUG(1330, *YYCURSOR);
20187 	yych = *++YYCURSOR;
20188 	if (yych == 'O') goto yy1331;
20189 	if (yych != 'o') goto yy56;
20190 yy1331:
20191 	YYDEBUG(1331, *YYCURSOR);
20192 	yych = *++YYCURSOR;
20193 	if (yych == 'F') goto yy1332;
20194 	if (yych != 'f') goto yy56;
20195 yy1332:
20196 	YYDEBUG(1332, *YYCURSOR);
20197 	yych = *++YYCURSOR;
20198 	if (yych != ' ') goto yy56;
20199 	YYDEBUG(1333, *YYCURSOR);
20200 	yych = *++YYCURSOR;
20201 	if (yych <= '/') goto yy56;
20202 	if (yych <= '1') goto yy1334;
20203 	if (yych <= '2') goto yy1335;
20204 	if (yych <= '9') goto yy1336;
20205 	goto yy56;
20206 yy1334:
20207 	YYDEBUG(1334, *YYCURSOR);
20208 	yyaccept = 28;
20209 	yych = *(YYMARKER = ++YYCURSOR);
20210 	if (yych <= '/') goto yy1337;
20211 	if (yych <= '9') goto yy1336;
20212 	goto yy1337;
20213 yy1335:
20214 	YYDEBUG(1335, *YYCURSOR);
20215 	yyaccept = 28;
20216 	yych = *(YYMARKER = ++YYCURSOR);
20217 	if (yych <= '/') goto yy1337;
20218 	if (yych >= '5') goto yy1337;
20219 yy1336:
20220 	YYDEBUG(1336, *YYCURSOR);
20221 	yyaccept = 28;
20222 	YYMARKER = ++YYCURSOR;
20223 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
20224 	yych = *YYCURSOR;
20225 yy1337:
20226 	YYDEBUG(1337, *YYCURSOR);
20227 	if (yych <= 'A') {
20228 		if (yych <= 0x1F) {
20229 			if (yych == '\t') goto yy1336;
20230 			goto yy1294;
20231 		} else {
20232 			if (yych <= ' ') goto yy1336;
20233 			if (yych <= '@') goto yy1294;
20234 		}
20235 	} else {
20236 		if (yych <= '`') {
20237 			if (yych != 'P') goto yy1294;
20238 		} else {
20239 			if (yych <= 'a') goto yy1338;
20240 			if (yych != 'p') goto yy1294;
20241 		}
20242 	}
20243 yy1338:
20244 	YYDEBUG(1338, *YYCURSOR);
20245 	yych = *++YYCURSOR;
20246 	if (yych <= 'L') {
20247 		if (yych != '.') goto yy56;
20248 	} else {
20249 		if (yych <= 'M') goto yy1340;
20250 		if (yych == 'm') goto yy1340;
20251 		goto yy56;
20252 	}
20253 	YYDEBUG(1339, *YYCURSOR);
20254 	yych = *++YYCURSOR;
20255 	if (yych == 'M') goto yy1340;
20256 	if (yych != 'm') goto yy56;
20257 yy1340:
20258 	YYDEBUG(1340, *YYCURSOR);
20259 	yych = *++YYCURSOR;
20260 	if (yych <= 0x1F) {
20261 		if (yych <= 0x00) goto yy1302;
20262 		if (yych == '\t') goto yy1302;
20263 		goto yy56;
20264 	} else {
20265 		if (yych <= ' ') goto yy1302;
20266 		if (yych != '.') goto yy56;
20267 	}
20268 	YYDEBUG(1341, *YYCURSOR);
20269 	yych = *++YYCURSOR;
20270 	if (yych <= '\t') {
20271 		if (yych <= 0x00) goto yy1302;
20272 		if (yych <= 0x08) goto yy56;
20273 		goto yy1302;
20274 	} else {
20275 		if (yych == ' ') goto yy1302;
20276 		goto yy56;
20277 	}
20278 yy1342:
20279 	YYDEBUG(1342, *YYCURSOR);
20280 	yych = *++YYCURSOR;
20281 	if (yych <= 'R') {
20282 		if (yych <= ')') {
20283 			if (yych <= '(') goto yy3;
20284 			goto yy139;
20285 		} else {
20286 			if (yych <= '@') goto yy3;
20287 			if (yych <= 'Q') goto yy142;
20288 		}
20289 	} else {
20290 		if (yych <= 'q') {
20291 			if (yych <= 'Z') goto yy142;
20292 			if (yych <= '`') goto yy3;
20293 			goto yy142;
20294 		} else {
20295 			if (yych <= 'r') goto yy1343;
20296 			if (yych <= 'z') goto yy142;
20297 			goto yy3;
20298 		}
20299 	}
20300 yy1343:
20301 	YYDEBUG(1343, *YYCURSOR);
20302 	yych = *++YYCURSOR;
20303 	if (yych <= 'T') {
20304 		if (yych <= ')') {
20305 			if (yych <= '(') goto yy3;
20306 			goto yy139;
20307 		} else {
20308 			if (yych <= '@') goto yy3;
20309 			if (yych <= 'S') goto yy143;
20310 		}
20311 	} else {
20312 		if (yych <= 's') {
20313 			if (yych <= 'Z') goto yy143;
20314 			if (yych <= '`') goto yy3;
20315 			goto yy143;
20316 		} else {
20317 			if (yych <= 't') goto yy1344;
20318 			if (yych <= 'z') goto yy143;
20319 			goto yy3;
20320 		}
20321 	}
20322 yy1344:
20323 	YYDEBUG(1344, *YYCURSOR);
20324 	yych = *++YYCURSOR;
20325 	if (yych <= 'H') {
20326 		if (yych <= ')') {
20327 			if (yych <= '(') goto yy3;
20328 			goto yy139;
20329 		} else {
20330 			if (yych <= '@') goto yy3;
20331 			if (yych <= 'G') goto yy144;
20332 			goto yy1215;
20333 		}
20334 	} else {
20335 		if (yych <= 'g') {
20336 			if (yych <= 'Z') goto yy144;
20337 			if (yych <= '`') goto yy3;
20338 			goto yy144;
20339 		} else {
20340 			if (yych <= 'h') goto yy1215;
20341 			if (yych <= 'z') goto yy144;
20342 			goto yy3;
20343 		}
20344 	}
20345 yy1345:
20346 	YYDEBUG(1345, *YYCURSOR);
20347 	yych = *++YYCURSOR;
20348 	if (yych <= 'S') {
20349 		if (yych <= ')') {
20350 			if (yych <= '(') goto yy3;
20351 			goto yy139;
20352 		} else {
20353 			if (yych <= '@') goto yy3;
20354 			if (yych <= 'R') goto yy142;
20355 			goto yy1348;
20356 		}
20357 	} else {
20358 		if (yych <= 'r') {
20359 			if (yych <= 'Z') goto yy142;
20360 			if (yych <= '`') goto yy3;
20361 			goto yy142;
20362 		} else {
20363 			if (yych <= 's') goto yy1348;
20364 			if (yych <= 'z') goto yy142;
20365 			goto yy3;
20366 		}
20367 	}
20368 yy1346:
20369 	YYDEBUG(1346, *YYCURSOR);
20370 	yych = *++YYCURSOR;
20371 	if (yych <= 'T') {
20372 		if (yych <= ')') {
20373 			if (yych <= '(') goto yy3;
20374 			goto yy139;
20375 		} else {
20376 			if (yych <= '@') goto yy3;
20377 			if (yych <= 'S') goto yy142;
20378 		}
20379 	} else {
20380 		if (yych <= 's') {
20381 			if (yych <= 'Z') goto yy142;
20382 			if (yych <= '`') goto yy3;
20383 			goto yy142;
20384 		} else {
20385 			if (yych <= 't') goto yy1347;
20386 			if (yych <= 'z') goto yy142;
20387 			goto yy3;
20388 		}
20389 	}
20390 yy1347:
20391 	YYDEBUG(1347, *YYCURSOR);
20392 	yych = *++YYCURSOR;
20393 	if (yych <= 'H') {
20394 		if (yych <= ')') {
20395 			if (yych <= '(') goto yy3;
20396 			goto yy139;
20397 		} else {
20398 			if (yych <= '@') goto yy3;
20399 			if (yych <= 'G') goto yy143;
20400 			goto yy1238;
20401 		}
20402 	} else {
20403 		if (yych <= 'g') {
20404 			if (yych <= 'Z') goto yy143;
20405 			if (yych <= '`') goto yy3;
20406 			goto yy143;
20407 		} else {
20408 			if (yych <= 'h') goto yy1238;
20409 			if (yych <= 'z') goto yy143;
20410 			goto yy3;
20411 		}
20412 	}
20413 yy1348:
20414 	YYDEBUG(1348, *YYCURSOR);
20415 	yych = *++YYCURSOR;
20416 	if (yych <= 'T') {
20417 		if (yych <= ')') {
20418 			if (yych <= '(') goto yy3;
20419 			goto yy139;
20420 		} else {
20421 			if (yych <= '@') goto yy3;
20422 			if (yych <= 'S') goto yy143;
20423 		}
20424 	} else {
20425 		if (yych <= 's') {
20426 			if (yych <= 'Z') goto yy143;
20427 			if (yych <= '`') goto yy3;
20428 			goto yy143;
20429 		} else {
20430 			if (yych <= 't') goto yy1349;
20431 			if (yych <= 'z') goto yy143;
20432 			goto yy3;
20433 		}
20434 	}
20435 yy1349:
20436 	YYDEBUG(1349, *YYCURSOR);
20437 	yyaccept = 0;
20438 	yych = *(YYMARKER = ++YYCURSOR);
20439 	if (yych <= '(') {
20440 		if (yych <= '\t') {
20441 			if (yych <= 0x08) goto yy3;
20442 			goto yy1206;
20443 		} else {
20444 			if (yych != ' ') goto yy3;
20445 		}
20446 	} else {
20447 		if (yych <= 'Z') {
20448 			if (yych <= ')') goto yy139;
20449 			if (yych <= '@') goto yy3;
20450 			goto yy144;
20451 		} else {
20452 			if (yych <= '`') goto yy3;
20453 			if (yych <= 'z') goto yy144;
20454 			goto yy3;
20455 		}
20456 	}
20457 yy1350:
20458 	YYDEBUG(1350, *YYCURSOR);
20459 	yych = *++YYCURSOR;
20460 	if (yych == 'D') goto yy1351;
20461 	if (yych != 'd') goto yy1207;
20462 yy1351:
20463 	YYDEBUG(1351, *YYCURSOR);
20464 	yych = *++YYCURSOR;
20465 	if (yych == 'A') goto yy1352;
20466 	if (yych != 'a') goto yy56;
20467 yy1352:
20468 	YYDEBUG(1352, *YYCURSOR);
20469 	yych = *++YYCURSOR;
20470 	if (yych == 'Y') goto yy1353;
20471 	if (yych != 'y') goto yy56;
20472 yy1353:
20473 	YYDEBUG(1353, *YYCURSOR);
20474 	yyaccept = 26;
20475 	yych = *(YYMARKER = ++YYCURSOR);
20476 	if (yych <= 'R') {
20477 		if (yych != ' ') goto yy1117;
20478 	} else {
20479 		if (yych <= 'S') goto yy1142;
20480 		if (yych == 's') goto yy1142;
20481 		goto yy1117;
20482 	}
20483 	YYDEBUG(1354, *YYCURSOR);
20484 	yych = *++YYCURSOR;
20485 	if (yych == 'O') goto yy1355;
20486 	if (yych != 'o') goto yy56;
20487 yy1355:
20488 	YYDEBUG(1355, *YYCURSOR);
20489 	yych = *++YYCURSOR;
20490 	if (yych == 'F') goto yy1315;
20491 	if (yych == 'f') goto yy1315;
20492 	goto yy56;
20493 yy1356:
20494 	YYDEBUG(1356, *YYCURSOR);
20495 	yyaccept = 5;
20496 	yych = *(YYMARKER = ++YYCURSOR);
20497 	if (yych <= '/') {
20498 		if (yych <= '(') {
20499 			if (yych <= '\t') {
20500 				if (yych <= 0x08) goto yy193;
20501 				goto yy195;
20502 			} else {
20503 				if (yych == ' ') goto yy195;
20504 				goto yy193;
20505 			}
20506 		} else {
20507 			if (yych <= ',') {
20508 				if (yych <= ')') goto yy139;
20509 				goto yy193;
20510 			} else {
20511 				if (yych <= '-') goto yy196;
20512 				if (yych <= '.') goto yy195;
20513 				goto yy193;
20514 			}
20515 		}
20516 	} else {
20517 		if (yych <= 'Z') {
20518 			if (yych <= '@') {
20519 				if (yych <= '9') goto yy195;
20520 				goto yy193;
20521 			} else {
20522 				if (yych != 'R') goto yy142;
20523 			}
20524 		} else {
20525 			if (yych <= 'q') {
20526 				if (yych <= '`') goto yy193;
20527 				goto yy142;
20528 			} else {
20529 				if (yych <= 'r') goto yy1357;
20530 				if (yych <= 'z') goto yy142;
20531 				goto yy193;
20532 			}
20533 		}
20534 	}
20535 yy1357:
20536 	YYDEBUG(1357, *YYCURSOR);
20537 	yych = *++YYCURSOR;
20538 	if (yych <= 'U') {
20539 		if (yych <= ')') {
20540 			if (yych <= '(') goto yy3;
20541 			goto yy139;
20542 		} else {
20543 			if (yych <= '@') goto yy3;
20544 			if (yych <= 'T') goto yy143;
20545 		}
20546 	} else {
20547 		if (yych <= 't') {
20548 			if (yych <= 'Z') goto yy143;
20549 			if (yych <= '`') goto yy3;
20550 			goto yy143;
20551 		} else {
20552 			if (yych <= 'u') goto yy1358;
20553 			if (yych <= 'z') goto yy143;
20554 			goto yy3;
20555 		}
20556 	}
20557 yy1358:
20558 	YYDEBUG(1358, *YYCURSOR);
20559 	yych = *++YYCURSOR;
20560 	if (yych <= 'A') {
20561 		if (yych == ')') goto yy139;
20562 		if (yych <= '@') goto yy3;
20563 	} else {
20564 		if (yych <= '`') {
20565 			if (yych <= 'Z') goto yy144;
20566 			goto yy3;
20567 		} else {
20568 			if (yych <= 'a') goto yy1359;
20569 			if (yych <= 'z') goto yy144;
20570 			goto yy3;
20571 		}
20572 	}
20573 yy1359:
20574 	YYDEBUG(1359, *YYCURSOR);
20575 	yyaccept = 0;
20576 	yych = *(YYMARKER = ++YYCURSOR);
20577 	if (yych <= 'Q') {
20578 		if (yych == ')') goto yy139;
20579 		goto yy3;
20580 	} else {
20581 		if (yych <= 'R') goto yy1360;
20582 		if (yych != 'r') goto yy3;
20583 	}
20584 yy1360:
20585 	YYDEBUG(1360, *YYCURSOR);
20586 	yych = *++YYCURSOR;
20587 	if (yych == 'Y') goto yy205;
20588 	if (yych == 'y') goto yy205;
20589 	goto yy56;
20590 yy1361:
20591 	YYDEBUG(1361, *YYCURSOR);
20592 	yyaccept = 0;
20593 	yych = *(YYMARKER = ++YYCURSOR);
20594 	if (yych <= 'A') {
20595 		if (yych <= '-') {
20596 			if (yych == ')') goto yy139;
20597 			if (yych <= ',') goto yy3;
20598 			goto yy147;
20599 		} else {
20600 			if (yych == '/') goto yy147;
20601 			if (yych <= '@') goto yy3;
20602 			goto yy141;
20603 		}
20604 	} else {
20605 		if (yych <= '_') {
20606 			if (yych <= 'B') goto yy1356;
20607 			if (yych <= 'Z') goto yy141;
20608 			if (yych <= '^') goto yy3;
20609 			goto yy147;
20610 		} else {
20611 			if (yych <= 'a') {
20612 				if (yych <= '`') goto yy3;
20613 				goto yy146;
20614 			} else {
20615 				if (yych <= 'b') goto yy1379;
20616 				if (yych <= 'z') goto yy146;
20617 				goto yy3;
20618 			}
20619 		}
20620 	}
20621 yy1362:
20622 	YYDEBUG(1362, *YYCURSOR);
20623 	yyaccept = 0;
20624 	yych = *(YYMARKER = ++YYCURSOR);
20625 	if (yych <= 'Q') {
20626 		if (yych <= '.') {
20627 			if (yych <= ')') {
20628 				if (yych <= '(') goto yy3;
20629 				goto yy139;
20630 			} else {
20631 				if (yych == '-') goto yy147;
20632 				goto yy3;
20633 			}
20634 		} else {
20635 			if (yych <= '@') {
20636 				if (yych <= '/') goto yy147;
20637 				goto yy3;
20638 			} else {
20639 				if (yych == 'F') goto yy1346;
20640 				goto yy141;
20641 			}
20642 		}
20643 	} else {
20644 		if (yych <= '`') {
20645 			if (yych <= 'Z') {
20646 				if (yych <= 'R') goto yy1345;
20647 				goto yy141;
20648 			} else {
20649 				if (yych == '_') goto yy147;
20650 				goto yy3;
20651 			}
20652 		} else {
20653 			if (yych <= 'q') {
20654 				if (yych == 'f') goto yy1375;
20655 				goto yy146;
20656 			} else {
20657 				if (yych <= 'r') goto yy1374;
20658 				if (yych <= 'z') goto yy146;
20659 				goto yy3;
20660 			}
20661 		}
20662 	}
20663 yy1363:
20664 	YYDEBUG(1363, *YYCURSOR);
20665 	yyaccept = 0;
20666 	yych = *(YYMARKER = ++YYCURSOR);
20667 	if (yych <= 'T') {
20668 		if (yych <= '-') {
20669 			if (yych == ')') goto yy139;
20670 			if (yych <= ',') goto yy3;
20671 			goto yy147;
20672 		} else {
20673 			if (yych == '/') goto yy147;
20674 			if (yych <= '@') goto yy3;
20675 			goto yy141;
20676 		}
20677 	} else {
20678 		if (yych <= '_') {
20679 			if (yych <= 'U') goto yy1342;
20680 			if (yych <= 'Z') goto yy141;
20681 			if (yych <= '^') goto yy3;
20682 			goto yy147;
20683 		} else {
20684 			if (yych <= 't') {
20685 				if (yych <= '`') goto yy3;
20686 				goto yy146;
20687 			} else {
20688 				if (yych <= 'u') goto yy1371;
20689 				if (yych <= 'z') goto yy146;
20690 				goto yy3;
20691 			}
20692 		}
20693 	}
20694 yy1364:
20695 	YYDEBUG(1364, *YYCURSOR);
20696 	yyaccept = 0;
20697 	yych = *(YYMARKER = ++YYCURSOR);
20698 	if (yych <= 'N') {
20699 		if (yych <= '.') {
20700 			if (yych <= ')') {
20701 				if (yych <= '(') goto yy3;
20702 				goto yy139;
20703 			} else {
20704 				if (yych == '-') goto yy147;
20705 				goto yy3;
20706 			}
20707 		} else {
20708 			if (yych <= '@') {
20709 				if (yych <= '/') goto yy147;
20710 				goto yy3;
20711 			} else {
20712 				if (yych == 'I') goto yy1325;
20713 				goto yy141;
20714 			}
20715 		}
20716 	} else {
20717 		if (yych <= '`') {
20718 			if (yych <= 'Z') {
20719 				if (yych <= 'O') goto yy1324;
20720 				goto yy141;
20721 			} else {
20722 				if (yych == '_') goto yy147;
20723 				goto yy3;
20724 			}
20725 		} else {
20726 			if (yych <= 'n') {
20727 				if (yych == 'i') goto yy1366;
20728 				goto yy146;
20729 			} else {
20730 				if (yych <= 'o') goto yy1365;
20731 				if (yych <= 'z') goto yy146;
20732 				goto yy3;
20733 			}
20734 		}
20735 	}
20736 yy1365:
20737 	YYDEBUG(1365, *YYCURSOR);
20738 	yyaccept = 0;
20739 	yych = *(YYMARKER = ++YYCURSOR);
20740 	if (yych <= 'M') {
20741 		if (yych <= '-') {
20742 			if (yych == ')') goto yy139;
20743 			if (yych <= ',') goto yy3;
20744 			goto yy147;
20745 		} else {
20746 			if (yych == '/') goto yy147;
20747 			if (yych <= '@') goto yy3;
20748 			goto yy142;
20749 		}
20750 	} else {
20751 		if (yych <= '_') {
20752 			if (yych <= 'N') goto yy1328;
20753 			if (yych <= 'Z') goto yy142;
20754 			if (yych <= '^') goto yy3;
20755 			goto yy147;
20756 		} else {
20757 			if (yych <= 'm') {
20758 				if (yych <= '`') goto yy3;
20759 				goto yy150;
20760 			} else {
20761 				if (yych <= 'n') goto yy1369;
20762 				if (yych <= 'z') goto yy150;
20763 				goto yy3;
20764 			}
20765 		}
20766 	}
20767 yy1366:
20768 	YYDEBUG(1366, *YYCURSOR);
20769 	yyaccept = 4;
20770 	yych = *(YYMARKER = ++YYCURSOR);
20771 	if (yych <= 'C') {
20772 		if (yych <= '-') {
20773 			if (yych == ')') goto yy139;
20774 			if (yych <= ',') goto yy166;
20775 			goto yy147;
20776 		} else {
20777 			if (yych == '/') goto yy147;
20778 			if (yych <= '@') goto yy166;
20779 			goto yy142;
20780 		}
20781 	} else {
20782 		if (yych <= '_') {
20783 			if (yych <= 'D') goto yy1326;
20784 			if (yych <= 'Z') goto yy142;
20785 			if (yych <= '^') goto yy166;
20786 			goto yy147;
20787 		} else {
20788 			if (yych <= 'c') {
20789 				if (yych <= '`') goto yy166;
20790 				goto yy150;
20791 			} else {
20792 				if (yych <= 'd') goto yy1367;
20793 				if (yych <= 'z') goto yy150;
20794 				goto yy166;
20795 			}
20796 		}
20797 	}
20798 yy1367:
20799 	YYDEBUG(1367, *YYCURSOR);
20800 	yyaccept = 0;
20801 	yych = *(YYMARKER = ++YYCURSOR);
20802 	if (yych <= '@') {
20803 		if (yych <= ',') {
20804 			if (yych == ')') goto yy139;
20805 			goto yy3;
20806 		} else {
20807 			if (yych == '.') goto yy3;
20808 			if (yych <= '/') goto yy147;
20809 			goto yy3;
20810 		}
20811 	} else {
20812 		if (yych <= '_') {
20813 			if (yych <= 'A') goto yy1327;
20814 			if (yych <= 'Z') goto yy143;
20815 			if (yych <= '^') goto yy3;
20816 			goto yy147;
20817 		} else {
20818 			if (yych <= '`') goto yy3;
20819 			if (yych <= 'a') goto yy1368;
20820 			if (yych <= 'z') goto yy151;
20821 			goto yy3;
20822 		}
20823 	}
20824 yy1368:
20825 	YYDEBUG(1368, *YYCURSOR);
20826 	yyaccept = 0;
20827 	yych = *(YYMARKER = ++YYCURSOR);
20828 	if (yych <= 'X') {
20829 		if (yych <= '-') {
20830 			if (yych == ')') goto yy139;
20831 			if (yych <= ',') goto yy3;
20832 			goto yy147;
20833 		} else {
20834 			if (yych == '/') goto yy147;
20835 			if (yych <= '@') goto yy3;
20836 			goto yy144;
20837 		}
20838 	} else {
20839 		if (yych <= '_') {
20840 			if (yych <= 'Y') goto yy1235;
20841 			if (yych <= 'Z') goto yy144;
20842 			if (yych <= '^') goto yy3;
20843 			goto yy147;
20844 		} else {
20845 			if (yych <= 'x') {
20846 				if (yych <= '`') goto yy3;
20847 				goto yy152;
20848 			} else {
20849 				if (yych <= 'y') goto yy1264;
20850 				if (yych <= 'z') goto yy152;
20851 				goto yy3;
20852 			}
20853 		}
20854 	}
20855 yy1369:
20856 	YYDEBUG(1369, *YYCURSOR);
20857 	yyaccept = 0;
20858 	yych = *(YYMARKER = ++YYCURSOR);
20859 	if (yych <= 'S') {
20860 		if (yych <= '-') {
20861 			if (yych == ')') goto yy139;
20862 			if (yych <= ',') goto yy3;
20863 			goto yy147;
20864 		} else {
20865 			if (yych == '/') goto yy147;
20866 			if (yych <= '@') goto yy3;
20867 			goto yy143;
20868 		}
20869 	} else {
20870 		if (yych <= '_') {
20871 			if (yych <= 'T') goto yy1329;
20872 			if (yych <= 'Z') goto yy143;
20873 			if (yych <= '^') goto yy3;
20874 			goto yy147;
20875 		} else {
20876 			if (yych <= 's') {
20877 				if (yych <= '`') goto yy3;
20878 				goto yy151;
20879 			} else {
20880 				if (yych <= 't') goto yy1370;
20881 				if (yych <= 'z') goto yy151;
20882 				goto yy3;
20883 			}
20884 		}
20885 	}
20886 yy1370:
20887 	YYDEBUG(1370, *YYCURSOR);
20888 	yyaccept = 0;
20889 	yych = *(YYMARKER = ++YYCURSOR);
20890 	if (yych <= '.') {
20891 		if (yych <= '(') {
20892 			if (yych == ' ') goto yy1330;
20893 			goto yy3;
20894 		} else {
20895 			if (yych <= ')') goto yy139;
20896 			if (yych == '-') goto yy147;
20897 			goto yy3;
20898 		}
20899 	} else {
20900 		if (yych <= '^') {
20901 			if (yych <= '/') goto yy147;
20902 			if (yych <= '@') goto yy3;
20903 			if (yych <= 'Z') goto yy144;
20904 			goto yy3;
20905 		} else {
20906 			if (yych <= '_') goto yy147;
20907 			if (yych <= '`') goto yy3;
20908 			if (yych <= 'z') goto yy152;
20909 			goto yy3;
20910 		}
20911 	}
20912 yy1371:
20913 	YYDEBUG(1371, *YYCURSOR);
20914 	yyaccept = 0;
20915 	yych = *(YYMARKER = ++YYCURSOR);
20916 	if (yych <= 'Q') {
20917 		if (yych <= '-') {
20918 			if (yych == ')') goto yy139;
20919 			if (yych <= ',') goto yy3;
20920 			goto yy147;
20921 		} else {
20922 			if (yych == '/') goto yy147;
20923 			if (yych <= '@') goto yy3;
20924 			goto yy142;
20925 		}
20926 	} else {
20927 		if (yych <= '_') {
20928 			if (yych <= 'R') goto yy1343;
20929 			if (yych <= 'Z') goto yy142;
20930 			if (yych <= '^') goto yy3;
20931 			goto yy147;
20932 		} else {
20933 			if (yych <= 'q') {
20934 				if (yych <= '`') goto yy3;
20935 				goto yy150;
20936 			} else {
20937 				if (yych <= 'r') goto yy1372;
20938 				if (yych <= 'z') goto yy150;
20939 				goto yy3;
20940 			}
20941 		}
20942 	}
20943 yy1372:
20944 	YYDEBUG(1372, *YYCURSOR);
20945 	yyaccept = 0;
20946 	yych = *(YYMARKER = ++YYCURSOR);
20947 	if (yych <= 'S') {
20948 		if (yych <= '-') {
20949 			if (yych == ')') goto yy139;
20950 			if (yych <= ',') goto yy3;
20951 			goto yy147;
20952 		} else {
20953 			if (yych == '/') goto yy147;
20954 			if (yych <= '@') goto yy3;
20955 			goto yy143;
20956 		}
20957 	} else {
20958 		if (yych <= '_') {
20959 			if (yych <= 'T') goto yy1344;
20960 			if (yych <= 'Z') goto yy143;
20961 			if (yych <= '^') goto yy3;
20962 			goto yy147;
20963 		} else {
20964 			if (yych <= 's') {
20965 				if (yych <= '`') goto yy3;
20966 				goto yy151;
20967 			} else {
20968 				if (yych <= 't') goto yy1373;
20969 				if (yych <= 'z') goto yy151;
20970 				goto yy3;
20971 			}
20972 		}
20973 	}
20974 yy1373:
20975 	YYDEBUG(1373, *YYCURSOR);
20976 	yyaccept = 0;
20977 	yych = *(YYMARKER = ++YYCURSOR);
20978 	if (yych <= 'G') {
20979 		if (yych <= '-') {
20980 			if (yych == ')') goto yy139;
20981 			if (yych <= ',') goto yy3;
20982 			goto yy147;
20983 		} else {
20984 			if (yych == '/') goto yy147;
20985 			if (yych <= '@') goto yy3;
20986 			goto yy144;
20987 		}
20988 	} else {
20989 		if (yych <= '_') {
20990 			if (yych <= 'H') goto yy1215;
20991 			if (yych <= 'Z') goto yy144;
20992 			if (yych <= '^') goto yy3;
20993 			goto yy147;
20994 		} else {
20995 			if (yych <= 'g') {
20996 				if (yych <= '`') goto yy3;
20997 				goto yy152;
20998 			} else {
20999 				if (yych <= 'h') goto yy1227;
21000 				if (yych <= 'z') goto yy152;
21001 				goto yy3;
21002 			}
21003 		}
21004 	}
21005 yy1374:
21006 	YYDEBUG(1374, *YYCURSOR);
21007 	yyaccept = 0;
21008 	yych = *(YYMARKER = ++YYCURSOR);
21009 	if (yych <= 'R') {
21010 		if (yych <= '-') {
21011 			if (yych == ')') goto yy139;
21012 			if (yych <= ',') goto yy3;
21013 			goto yy147;
21014 		} else {
21015 			if (yych == '/') goto yy147;
21016 			if (yych <= '@') goto yy3;
21017 			goto yy142;
21018 		}
21019 	} else {
21020 		if (yych <= '_') {
21021 			if (yych <= 'S') goto yy1348;
21022 			if (yych <= 'Z') goto yy142;
21023 			if (yych <= '^') goto yy3;
21024 			goto yy147;
21025 		} else {
21026 			if (yych <= 'r') {
21027 				if (yych <= '`') goto yy3;
21028 				goto yy150;
21029 			} else {
21030 				if (yych <= 's') goto yy1377;
21031 				if (yych <= 'z') goto yy150;
21032 				goto yy3;
21033 			}
21034 		}
21035 	}
21036 yy1375:
21037 	YYDEBUG(1375, *YYCURSOR);
21038 	yyaccept = 0;
21039 	yych = *(YYMARKER = ++YYCURSOR);
21040 	if (yych <= 'S') {
21041 		if (yych <= '-') {
21042 			if (yych == ')') goto yy139;
21043 			if (yych <= ',') goto yy3;
21044 			goto yy147;
21045 		} else {
21046 			if (yych == '/') goto yy147;
21047 			if (yych <= '@') goto yy3;
21048 			goto yy142;
21049 		}
21050 	} else {
21051 		if (yych <= '_') {
21052 			if (yych <= 'T') goto yy1347;
21053 			if (yych <= 'Z') goto yy142;
21054 			if (yych <= '^') goto yy3;
21055 			goto yy147;
21056 		} else {
21057 			if (yych <= 's') {
21058 				if (yych <= '`') goto yy3;
21059 				goto yy150;
21060 			} else {
21061 				if (yych <= 't') goto yy1376;
21062 				if (yych <= 'z') goto yy150;
21063 				goto yy3;
21064 			}
21065 		}
21066 	}
21067 yy1376:
21068 	YYDEBUG(1376, *YYCURSOR);
21069 	yyaccept = 0;
21070 	yych = *(YYMARKER = ++YYCURSOR);
21071 	if (yych <= 'G') {
21072 		if (yych <= '-') {
21073 			if (yych == ')') goto yy139;
21074 			if (yych <= ',') goto yy3;
21075 			goto yy147;
21076 		} else {
21077 			if (yych == '/') goto yy147;
21078 			if (yych <= '@') goto yy3;
21079 			goto yy143;
21080 		}
21081 	} else {
21082 		if (yych <= '_') {
21083 			if (yych <= 'H') goto yy1238;
21084 			if (yych <= 'Z') goto yy143;
21085 			if (yych <= '^') goto yy3;
21086 			goto yy147;
21087 		} else {
21088 			if (yych <= 'g') {
21089 				if (yych <= '`') goto yy3;
21090 				goto yy151;
21091 			} else {
21092 				if (yych <= 'h') goto yy1267;
21093 				if (yych <= 'z') goto yy151;
21094 				goto yy3;
21095 			}
21096 		}
21097 	}
21098 yy1377:
21099 	YYDEBUG(1377, *YYCURSOR);
21100 	yyaccept = 0;
21101 	yych = *(YYMARKER = ++YYCURSOR);
21102 	if (yych <= 'S') {
21103 		if (yych <= '-') {
21104 			if (yych == ')') goto yy139;
21105 			if (yych <= ',') goto yy3;
21106 			goto yy147;
21107 		} else {
21108 			if (yych == '/') goto yy147;
21109 			if (yych <= '@') goto yy3;
21110 			goto yy143;
21111 		}
21112 	} else {
21113 		if (yych <= '_') {
21114 			if (yych <= 'T') goto yy1349;
21115 			if (yych <= 'Z') goto yy143;
21116 			if (yych <= '^') goto yy3;
21117 			goto yy147;
21118 		} else {
21119 			if (yych <= 's') {
21120 				if (yych <= '`') goto yy3;
21121 				goto yy151;
21122 			} else {
21123 				if (yych <= 't') goto yy1378;
21124 				if (yych <= 'z') goto yy151;
21125 				goto yy3;
21126 			}
21127 		}
21128 	}
21129 yy1378:
21130 	YYDEBUG(1378, *YYCURSOR);
21131 	yyaccept = 0;
21132 	yych = *(YYMARKER = ++YYCURSOR);
21133 	if (yych <= '-') {
21134 		if (yych <= ' ') {
21135 			if (yych == '\t') goto yy1206;
21136 			if (yych <= 0x1F) goto yy3;
21137 			goto yy1350;
21138 		} else {
21139 			if (yych == ')') goto yy139;
21140 			if (yych <= ',') goto yy3;
21141 			goto yy147;
21142 		}
21143 	} else {
21144 		if (yych <= 'Z') {
21145 			if (yych == '/') goto yy147;
21146 			if (yych <= '@') goto yy3;
21147 			goto yy144;
21148 		} else {
21149 			if (yych <= '_') {
21150 				if (yych <= '^') goto yy3;
21151 				goto yy147;
21152 			} else {
21153 				if (yych <= '`') goto yy3;
21154 				if (yych <= 'z') goto yy152;
21155 				goto yy3;
21156 			}
21157 		}
21158 	}
21159 yy1379:
21160 	YYDEBUG(1379, *YYCURSOR);
21161 	yyaccept = 5;
21162 	yych = *(YYMARKER = ++YYCURSOR);
21163 	if (yych <= '9') {
21164 		if (yych <= '(') {
21165 			if (yych <= '\t') {
21166 				if (yych <= 0x08) goto yy193;
21167 				goto yy195;
21168 			} else {
21169 				if (yych == ' ') goto yy195;
21170 				goto yy193;
21171 			}
21172 		} else {
21173 			if (yych <= '-') {
21174 				if (yych <= ')') goto yy139;
21175 				if (yych <= ',') goto yy193;
21176 				goto yy371;
21177 			} else {
21178 				if (yych == '/') goto yy147;
21179 				goto yy195;
21180 			}
21181 		}
21182 	} else {
21183 		if (yych <= '^') {
21184 			if (yych <= 'Q') {
21185 				if (yych <= '@') goto yy193;
21186 				goto yy142;
21187 			} else {
21188 				if (yych <= 'R') goto yy1357;
21189 				if (yych <= 'Z') goto yy142;
21190 				goto yy193;
21191 			}
21192 		} else {
21193 			if (yych <= 'q') {
21194 				if (yych <= '_') goto yy147;
21195 				if (yych <= '`') goto yy193;
21196 				goto yy150;
21197 			} else {
21198 				if (yych <= 'r') goto yy1380;
21199 				if (yych <= 'z') goto yy150;
21200 				goto yy193;
21201 			}
21202 		}
21203 	}
21204 yy1380:
21205 	YYDEBUG(1380, *YYCURSOR);
21206 	yyaccept = 0;
21207 	yych = *(YYMARKER = ++YYCURSOR);
21208 	if (yych <= 'T') {
21209 		if (yych <= '-') {
21210 			if (yych == ')') goto yy139;
21211 			if (yych <= ',') goto yy3;
21212 			goto yy147;
21213 		} else {
21214 			if (yych == '/') goto yy147;
21215 			if (yych <= '@') goto yy3;
21216 			goto yy143;
21217 		}
21218 	} else {
21219 		if (yych <= '_') {
21220 			if (yych <= 'U') goto yy1358;
21221 			if (yych <= 'Z') goto yy143;
21222 			if (yych <= '^') goto yy3;
21223 			goto yy147;
21224 		} else {
21225 			if (yych <= 't') {
21226 				if (yych <= '`') goto yy3;
21227 				goto yy151;
21228 			} else {
21229 				if (yych <= 'u') goto yy1381;
21230 				if (yych <= 'z') goto yy151;
21231 				goto yy3;
21232 			}
21233 		}
21234 	}
21235 yy1381:
21236 	YYDEBUG(1381, *YYCURSOR);
21237 	yyaccept = 0;
21238 	yych = *(YYMARKER = ++YYCURSOR);
21239 	if (yych <= '@') {
21240 		if (yych <= ',') {
21241 			if (yych == ')') goto yy139;
21242 			goto yy3;
21243 		} else {
21244 			if (yych == '.') goto yy3;
21245 			if (yych <= '/') goto yy147;
21246 			goto yy3;
21247 		}
21248 	} else {
21249 		if (yych <= '_') {
21250 			if (yych <= 'A') goto yy1359;
21251 			if (yych <= 'Z') goto yy144;
21252 			if (yych <= '^') goto yy3;
21253 			goto yy147;
21254 		} else {
21255 			if (yych <= '`') goto yy3;
21256 			if (yych <= 'a') goto yy1382;
21257 			if (yych <= 'z') goto yy152;
21258 			goto yy3;
21259 		}
21260 	}
21261 yy1382:
21262 	YYDEBUG(1382, *YYCURSOR);
21263 	yyaccept = 0;
21264 	yych = *(YYMARKER = ++YYCURSOR);
21265 	if (yych <= 'Q') {
21266 		if (yych <= ',') {
21267 			if (yych == ')') goto yy139;
21268 			goto yy3;
21269 		} else {
21270 			if (yych == '.') goto yy3;
21271 			if (yych <= '/') goto yy147;
21272 			goto yy3;
21273 		}
21274 	} else {
21275 		if (yych <= '`') {
21276 			if (yych <= 'R') goto yy1360;
21277 			if (yych == '_') goto yy147;
21278 			goto yy3;
21279 		} else {
21280 			if (yych == 'r') goto yy1383;
21281 			if (yych <= 'z') goto yy153;
21282 			goto yy3;
21283 		}
21284 	}
21285 yy1383:
21286 	YYDEBUG(1383, *YYCURSOR);
21287 	yych = *++YYCURSOR;
21288 	if (yych == 'Y') goto yy205;
21289 	if (yych == 'y') goto yy376;
21290 	goto yy154;
21291 yy1384:
21292 	YYDEBUG(1384, *YYCURSOR);
21293 	yych = *++YYCURSOR;
21294 	if (yych <= '/') goto yy56;
21295 	if (yych >= ':') goto yy56;
21296 yy1385:
21297 	YYDEBUG(1385, *YYCURSOR);
21298 	++YYCURSOR;
21299 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
21300 	yych = *YYCURSOR;
21301 	YYDEBUG(1386, *YYCURSOR);
21302 	if (yych <= '/') goto yy1387;
21303 	if (yych <= '9') goto yy1385;
21304 yy1387:
21305 	YYDEBUG(1387, *YYCURSOR);
21306 #line 1000 "ext/date/lib/parse_date.re"
21307 	{
21308 		timelib_ull i;
21309 
21310 		TIMELIB_INIT;
21311 		TIMELIB_HAVE_RELATIVE();
21312 		TIMELIB_UNHAVE_DATE();
21313 		TIMELIB_UNHAVE_TIME();
21314 		TIMELIB_HAVE_TZ();
21315 
21316 		i = timelib_get_unsigned_nr((char **) &ptr, 24);
21317 		s->time->y = 1970;
21318 		s->time->m = 1;
21319 		s->time->d = 1;
21320 		s->time->h = s->time->i = s->time->s = 0;
21321 		s->time->f = 0.0;
21322 		s->time->relative.s += i;
21323 		s->time->is_localtime = 1;
21324 		s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
21325 		s->time->z = 0;
21326 		s->time->dst = 0;
21327 
21328 		TIMELIB_DEINIT;
21329 		return TIMELIB_RELATIVE;
21330 	}
21331 #line 21332 "ext/date/lib/parse_date.c"
21332 yy1388:
21333 	YYDEBUG(1388, *YYCURSOR);
21334 	yych = *++YYCURSOR;
21335 	if (yych <= 'N') {
21336 		if (yych <= ')') {
21337 			if (yych <= '(') goto yy3;
21338 			goto yy139;
21339 		} else {
21340 			if (yych <= '@') goto yy3;
21341 			if (yych <= 'M') goto yy141;
21342 			goto yy1429;
21343 		}
21344 	} else {
21345 		if (yych <= 'm') {
21346 			if (yych <= 'Z') goto yy141;
21347 			if (yych <= '`') goto yy3;
21348 			goto yy141;
21349 		} else {
21350 			if (yych <= 'n') goto yy1429;
21351 			if (yych <= 'z') goto yy141;
21352 			goto yy3;
21353 		}
21354 	}
21355 yy1389:
21356 	YYDEBUG(1389, *YYCURSOR);
21357 	yych = *++YYCURSOR;
21358 	if (yych <= 'U') {
21359 		if (yych <= '@') {
21360 			if (yych == ')') goto yy139;
21361 			goto yy3;
21362 		} else {
21363 			if (yych == 'I') goto yy1421;
21364 			if (yych <= 'T') goto yy141;
21365 			goto yy1422;
21366 		}
21367 	} else {
21368 		if (yych <= 'i') {
21369 			if (yych <= 'Z') goto yy141;
21370 			if (yych <= '`') goto yy3;
21371 			if (yych <= 'h') goto yy141;
21372 			goto yy1421;
21373 		} else {
21374 			if (yych == 'u') goto yy1422;
21375 			if (yych <= 'z') goto yy141;
21376 			goto yy3;
21377 		}
21378 	}
21379 yy1390:
21380 	YYDEBUG(1390, *YYCURSOR);
21381 	yych = *++YYCURSOR;
21382 	if (yych <= 'M') {
21383 		if (yych <= '@') {
21384 			if (yych == ')') goto yy139;
21385 			goto yy3;
21386 		} else {
21387 			if (yych == 'D') goto yy1410;
21388 			if (yych <= 'L') goto yy141;
21389 			goto yy1411;
21390 		}
21391 	} else {
21392 		if (yych <= 'd') {
21393 			if (yych <= 'Z') goto yy141;
21394 			if (yych <= '`') goto yy3;
21395 			if (yych <= 'c') goto yy141;
21396 			goto yy1410;
21397 		} else {
21398 			if (yych == 'm') goto yy1411;
21399 			if (yych <= 'z') goto yy141;
21400 			goto yy3;
21401 		}
21402 	}
21403 yy1391:
21404 	YYDEBUG(1391, *YYCURSOR);
21405 	yych = *++YYCURSOR;
21406 	if (yych <= 'E') {
21407 		if (yych <= ')') {
21408 			if (yych <= '(') goto yy3;
21409 			goto yy139;
21410 		} else {
21411 			if (yych <= '@') goto yy3;
21412 			if (yych <= 'D') goto yy141;
21413 			goto yy1406;
21414 		}
21415 	} else {
21416 		if (yych <= 'd') {
21417 			if (yych <= 'Z') goto yy141;
21418 			if (yych <= '`') goto yy3;
21419 			goto yy141;
21420 		} else {
21421 			if (yych <= 'e') goto yy1406;
21422 			if (yych <= 'z') goto yy141;
21423 			goto yy3;
21424 		}
21425 	}
21426 yy1392:
21427 	YYDEBUG(1392, *YYCURSOR);
21428 	yych = *++YYCURSOR;
21429 	if (yych <= 'E') {
21430 		if (yych <= ')') {
21431 			if (yych <= '(') goto yy3;
21432 			goto yy139;
21433 		} else {
21434 			if (yych <= '@') goto yy3;
21435 			if (yych <= 'D') goto yy141;
21436 			goto yy1402;
21437 		}
21438 	} else {
21439 		if (yych <= 'd') {
21440 			if (yych <= 'Z') goto yy141;
21441 			if (yych <= '`') goto yy3;
21442 			goto yy141;
21443 		} else {
21444 			if (yych <= 'e') goto yy1402;
21445 			if (yych <= 'z') goto yy141;
21446 			goto yy3;
21447 		}
21448 	}
21449 yy1393:
21450 	YYDEBUG(1393, *YYCURSOR);
21451 	yych = *++YYCURSOR;
21452 	if (yych <= '/') {
21453 		if (yych == '.') goto yy1064;
21454 		goto yy56;
21455 	} else {
21456 		if (yych <= '9') goto yy1396;
21457 		if (yych <= ':') goto yy1064;
21458 		goto yy56;
21459 	}
21460 yy1394:
21461 	YYDEBUG(1394, *YYCURSOR);
21462 	yych = *++YYCURSOR;
21463 	if (yych <= '/') {
21464 		if (yych == '.') goto yy1064;
21465 		goto yy56;
21466 	} else {
21467 		if (yych <= '4') goto yy1396;
21468 		if (yych == ':') goto yy1064;
21469 		goto yy56;
21470 	}
21471 yy1395:
21472 	YYDEBUG(1395, *YYCURSOR);
21473 	yych = *++YYCURSOR;
21474 	if (yych == '.') goto yy1064;
21475 	if (yych == ':') goto yy1064;
21476 	goto yy56;
21477 yy1396:
21478 	YYDEBUG(1396, *YYCURSOR);
21479 	yych = *++YYCURSOR;
21480 	if (yych <= '/') {
21481 		if (yych == '.') goto yy1064;
21482 		goto yy56;
21483 	} else {
21484 		if (yych <= '5') goto yy1397;
21485 		if (yych == ':') goto yy1064;
21486 		goto yy56;
21487 	}
21488 yy1397:
21489 	YYDEBUG(1397, *YYCURSOR);
21490 	yych = *++YYCURSOR;
21491 	if (yych <= '/') goto yy56;
21492 	if (yych >= ':') goto yy56;
21493 	YYDEBUG(1398, *YYCURSOR);
21494 	yyaccept = 24;
21495 	yych = *(YYMARKER = ++YYCURSOR);
21496 	if (yych <= '/') goto yy1067;
21497 	if (yych <= '5') goto yy1399;
21498 	if (yych <= '6') goto yy1400;
21499 	goto yy1067;
21500 yy1399:
21501 	YYDEBUG(1399, *YYCURSOR);
21502 	yych = *++YYCURSOR;
21503 	if (yych <= '/') goto yy56;
21504 	if (yych <= '9') goto yy1401;
21505 	goto yy56;
21506 yy1400:
21507 	YYDEBUG(1400, *YYCURSOR);
21508 	yych = *++YYCURSOR;
21509 	if (yych != '0') goto yy56;
21510 yy1401:
21511 	YYDEBUG(1401, *YYCURSOR);
21512 	yych = *++YYCURSOR;
21513 	goto yy1075;
21514 yy1402:
21515 	YYDEBUG(1402, *YYCURSOR);
21516 	yych = *++YYCURSOR;
21517 	if (yych <= 'L') {
21518 		if (yych <= ')') {
21519 			if (yych <= '(') goto yy3;
21520 			goto yy139;
21521 		} else {
21522 			if (yych <= '@') goto yy3;
21523 			if (yych <= 'K') goto yy142;
21524 		}
21525 	} else {
21526 		if (yych <= 'k') {
21527 			if (yych <= 'Z') goto yy142;
21528 			if (yych <= '`') goto yy3;
21529 			goto yy142;
21530 		} else {
21531 			if (yych <= 'l') goto yy1403;
21532 			if (yych <= 'z') goto yy142;
21533 			goto yy3;
21534 		}
21535 	}
21536 yy1403:
21537 	YYDEBUG(1403, *YYCURSOR);
21538 	yych = *++YYCURSOR;
21539 	if (yych <= 'F') {
21540 		if (yych <= ')') {
21541 			if (yych <= '(') goto yy3;
21542 			goto yy139;
21543 		} else {
21544 			if (yych <= '@') goto yy3;
21545 			if (yych <= 'E') goto yy143;
21546 		}
21547 	} else {
21548 		if (yych <= 'e') {
21549 			if (yych <= 'Z') goto yy143;
21550 			if (yych <= '`') goto yy3;
21551 			goto yy143;
21552 		} else {
21553 			if (yych <= 'f') goto yy1404;
21554 			if (yych <= 'z') goto yy143;
21555 			goto yy3;
21556 		}
21557 	}
21558 yy1404:
21559 	YYDEBUG(1404, *YYCURSOR);
21560 	yych = *++YYCURSOR;
21561 	if (yych <= 'T') {
21562 		if (yych <= ')') {
21563 			if (yych <= '(') goto yy3;
21564 			goto yy139;
21565 		} else {
21566 			if (yych <= '@') goto yy3;
21567 			if (yych <= 'S') goto yy144;
21568 		}
21569 	} else {
21570 		if (yych <= 's') {
21571 			if (yych <= 'Z') goto yy144;
21572 			if (yych <= '`') goto yy3;
21573 			goto yy144;
21574 		} else {
21575 			if (yych <= 't') goto yy1405;
21576 			if (yych <= 'z') goto yy144;
21577 			goto yy3;
21578 		}
21579 	}
21580 yy1405:
21581 	YYDEBUG(1405, *YYCURSOR);
21582 	yyaccept = 0;
21583 	yych = *(YYMARKER = ++YYCURSOR);
21584 	if (yych <= 'G') {
21585 		if (yych == ')') goto yy139;
21586 		goto yy3;
21587 	} else {
21588 		if (yych <= 'H') goto yy1205;
21589 		if (yych == 'h') goto yy1205;
21590 		goto yy3;
21591 	}
21592 yy1406:
21593 	YYDEBUG(1406, *YYCURSOR);
21594 	yych = *++YYCURSOR;
21595 	if (yych <= 'S') {
21596 		if (yych <= ')') {
21597 			if (yych <= '(') goto yy166;
21598 			goto yy139;
21599 		} else {
21600 			if (yych <= '@') goto yy166;
21601 			if (yych <= 'R') goto yy142;
21602 		}
21603 	} else {
21604 		if (yych <= 'r') {
21605 			if (yych <= 'Z') goto yy142;
21606 			if (yych <= '`') goto yy166;
21607 			goto yy142;
21608 		} else {
21609 			if (yych <= 's') goto yy1407;
21610 			if (yych <= 'z') goto yy142;
21611 			goto yy166;
21612 		}
21613 	}
21614 yy1407:
21615 	YYDEBUG(1407, *YYCURSOR);
21616 	yych = *++YYCURSOR;
21617 	if (yych <= 'D') {
21618 		if (yych <= ')') {
21619 			if (yych <= '(') goto yy3;
21620 			goto yy139;
21621 		} else {
21622 			if (yych <= '@') goto yy3;
21623 			if (yych <= 'C') goto yy143;
21624 		}
21625 	} else {
21626 		if (yych <= 'c') {
21627 			if (yych <= 'Z') goto yy143;
21628 			if (yych <= '`') goto yy3;
21629 			goto yy143;
21630 		} else {
21631 			if (yych <= 'd') goto yy1408;
21632 			if (yych <= 'z') goto yy143;
21633 			goto yy3;
21634 		}
21635 	}
21636 yy1408:
21637 	YYDEBUG(1408, *YYCURSOR);
21638 	yych = *++YYCURSOR;
21639 	if (yych <= 'A') {
21640 		if (yych == ')') goto yy139;
21641 		if (yych <= '@') goto yy3;
21642 	} else {
21643 		if (yych <= '`') {
21644 			if (yych <= 'Z') goto yy144;
21645 			goto yy3;
21646 		} else {
21647 			if (yych <= 'a') goto yy1409;
21648 			if (yych <= 'z') goto yy144;
21649 			goto yy3;
21650 		}
21651 	}
21652 yy1409:
21653 	YYDEBUG(1409, *YYCURSOR);
21654 	yych = *++YYCURSOR;
21655 	if (yych <= 'X') {
21656 		if (yych == ')') goto yy139;
21657 		goto yy3;
21658 	} else {
21659 		if (yych <= 'Y') goto yy172;
21660 		if (yych == 'y') goto yy172;
21661 		goto yy3;
21662 	}
21663 yy1410:
21664 	YYDEBUG(1410, *YYCURSOR);
21665 	yych = *++YYCURSOR;
21666 	if (yych <= 'A') {
21667 		if (yych == ')') goto yy139;
21668 		if (yych <= '@') goto yy3;
21669 		goto yy1418;
21670 	} else {
21671 		if (yych <= '`') {
21672 			if (yych <= 'Z') goto yy142;
21673 			goto yy3;
21674 		} else {
21675 			if (yych <= 'a') goto yy1418;
21676 			if (yych <= 'z') goto yy142;
21677 			goto yy3;
21678 		}
21679 	}
21680 yy1411:
21681 	YYDEBUG(1411, *YYCURSOR);
21682 	yych = *++YYCURSOR;
21683 	if (yych <= 'O') {
21684 		if (yych <= ')') {
21685 			if (yych <= '(') goto yy3;
21686 			goto yy139;
21687 		} else {
21688 			if (yych <= '@') goto yy3;
21689 			if (yych <= 'N') goto yy142;
21690 		}
21691 	} else {
21692 		if (yych <= 'n') {
21693 			if (yych <= 'Z') goto yy142;
21694 			if (yych <= '`') goto yy3;
21695 			goto yy142;
21696 		} else {
21697 			if (yych <= 'o') goto yy1412;
21698 			if (yych <= 'z') goto yy142;
21699 			goto yy3;
21700 		}
21701 	}
21702 yy1412:
21703 	YYDEBUG(1412, *YYCURSOR);
21704 	yych = *++YYCURSOR;
21705 	if (yych <= 'R') {
21706 		if (yych <= ')') {
21707 			if (yych <= '(') goto yy3;
21708 			goto yy139;
21709 		} else {
21710 			if (yych <= '@') goto yy3;
21711 			if (yych <= 'Q') goto yy143;
21712 		}
21713 	} else {
21714 		if (yych <= 'q') {
21715 			if (yych <= 'Z') goto yy143;
21716 			if (yych <= '`') goto yy3;
21717 			goto yy143;
21718 		} else {
21719 			if (yych <= 'r') goto yy1413;
21720 			if (yych <= 'z') goto yy143;
21721 			goto yy3;
21722 		}
21723 	}
21724 yy1413:
21725 	YYDEBUG(1413, *YYCURSOR);
21726 	yych = *++YYCURSOR;
21727 	if (yych <= 'R') {
21728 		if (yych <= ')') {
21729 			if (yych <= '(') goto yy3;
21730 			goto yy139;
21731 		} else {
21732 			if (yych <= '@') goto yy3;
21733 			if (yych <= 'Q') goto yy144;
21734 		}
21735 	} else {
21736 		if (yych <= 'q') {
21737 			if (yych <= 'Z') goto yy144;
21738 			if (yych <= '`') goto yy3;
21739 			goto yy144;
21740 		} else {
21741 			if (yych <= 'r') goto yy1414;
21742 			if (yych <= 'z') goto yy144;
21743 			goto yy3;
21744 		}
21745 	}
21746 yy1414:
21747 	YYDEBUG(1414, *YYCURSOR);
21748 	yyaccept = 0;
21749 	yych = *(YYMARKER = ++YYCURSOR);
21750 	if (yych <= 'N') {
21751 		if (yych == ')') goto yy139;
21752 		goto yy3;
21753 	} else {
21754 		if (yych <= 'O') goto yy1415;
21755 		if (yych != 'o') goto yy3;
21756 	}
21757 yy1415:
21758 	YYDEBUG(1415, *YYCURSOR);
21759 	yych = *++YYCURSOR;
21760 	if (yych == 'W') goto yy1416;
21761 	if (yych != 'w') goto yy56;
21762 yy1416:
21763 	YYDEBUG(1416, *YYCURSOR);
21764 	++YYCURSOR;
21765 yy1417:
21766 	YYDEBUG(1417, *YYCURSOR);
21767 #line 988 "ext/date/lib/parse_date.re"
21768 	{
21769 		DEBUG_OUTPUT("tomorrow");
21770 		TIMELIB_INIT;
21771 		TIMELIB_HAVE_RELATIVE();
21772 		TIMELIB_UNHAVE_TIME();
21773 
21774 		s->time->relative.d = 1;
21775 		TIMELIB_DEINIT;
21776 		return TIMELIB_RELATIVE;
21777 	}
21778 #line 21779 "ext/date/lib/parse_date.c"
21779 yy1418:
21780 	YYDEBUG(1418, *YYCURSOR);
21781 	yych = *++YYCURSOR;
21782 	if (yych <= 'Y') {
21783 		if (yych <= ')') {
21784 			if (yych <= '(') goto yy3;
21785 			goto yy139;
21786 		} else {
21787 			if (yych <= '@') goto yy3;
21788 			if (yych <= 'X') goto yy143;
21789 		}
21790 	} else {
21791 		if (yych <= 'x') {
21792 			if (yych <= 'Z') goto yy143;
21793 			if (yych <= '`') goto yy3;
21794 			goto yy143;
21795 		} else {
21796 			if (yych <= 'y') goto yy1419;
21797 			if (yych <= 'z') goto yy143;
21798 			goto yy3;
21799 		}
21800 	}
21801 yy1419:
21802 	YYDEBUG(1419, *YYCURSOR);
21803 	++YYCURSOR;
21804 	if ((yych = *YYCURSOR) <= '@') {
21805 		if (yych == ')') goto yy139;
21806 	} else {
21807 		if (yych <= 'Z') goto yy144;
21808 		if (yych <= '`') goto yy1420;
21809 		if (yych <= 'z') goto yy144;
21810 	}
21811 yy1420:
21812 	YYDEBUG(1420, *YYCURSOR);
21813 #line 978 "ext/date/lib/parse_date.re"
21814 	{
21815 		DEBUG_OUTPUT("midnight | today");
21816 		TIMELIB_INIT;
21817 		TIMELIB_UNHAVE_TIME();
21818 
21819 		TIMELIB_DEINIT;
21820 		return TIMELIB_RELATIVE;
21821 	}
21822 #line 21823 "ext/date/lib/parse_date.c"
21823 yy1421:
21824 	YYDEBUG(1421, *YYCURSOR);
21825 	yych = *++YYCURSOR;
21826 	if (yych <= 'S') {
21827 		if (yych <= '@') {
21828 			if (yych == ')') goto yy139;
21829 			goto yy3;
21830 		} else {
21831 			if (yych <= 'Q') goto yy142;
21832 			if (yych <= 'R') goto yy1427;
21833 			goto yy1428;
21834 		}
21835 	} else {
21836 		if (yych <= 'q') {
21837 			if (yych <= 'Z') goto yy142;
21838 			if (yych <= '`') goto yy3;
21839 			goto yy142;
21840 		} else {
21841 			if (yych <= 'r') goto yy1427;
21842 			if (yych <= 's') goto yy1428;
21843 			if (yych <= 'z') goto yy142;
21844 			goto yy3;
21845 		}
21846 	}
21847 yy1422:
21848 	YYDEBUG(1422, *YYCURSOR);
21849 	yych = *++YYCURSOR;
21850 	if (yych <= 'R') {
21851 		if (yych <= ')') {
21852 			if (yych <= '(') goto yy166;
21853 			goto yy139;
21854 		} else {
21855 			if (yych <= '@') goto yy166;
21856 			if (yych <= 'Q') goto yy142;
21857 		}
21858 	} else {
21859 		if (yych <= 'q') {
21860 			if (yych <= 'Z') goto yy142;
21861 			if (yych <= '`') goto yy166;
21862 			goto yy142;
21863 		} else {
21864 			if (yych <= 'r') goto yy1423;
21865 			if (yych <= 'z') goto yy142;
21866 			goto yy166;
21867 		}
21868 	}
21869 yy1423:
21870 	YYDEBUG(1423, *YYCURSOR);
21871 	yych = *++YYCURSOR;
21872 	if (yych <= 'S') {
21873 		if (yych <= ')') {
21874 			if (yych <= '(') goto yy3;
21875 			goto yy139;
21876 		} else {
21877 			if (yych <= '@') goto yy3;
21878 			if (yych <= 'R') goto yy143;
21879 		}
21880 	} else {
21881 		if (yych <= 'r') {
21882 			if (yych <= 'Z') goto yy143;
21883 			if (yych <= '`') goto yy3;
21884 			goto yy143;
21885 		} else {
21886 			if (yych <= 's') goto yy1424;
21887 			if (yych <= 'z') goto yy143;
21888 			goto yy3;
21889 		}
21890 	}
21891 yy1424:
21892 	YYDEBUG(1424, *YYCURSOR);
21893 	yych = *++YYCURSOR;
21894 	if (yych <= 'D') {
21895 		if (yych <= ')') {
21896 			if (yych <= '(') goto yy3;
21897 			goto yy139;
21898 		} else {
21899 			if (yych <= '@') goto yy3;
21900 			if (yych <= 'C') goto yy144;
21901 		}
21902 	} else {
21903 		if (yych <= 'c') {
21904 			if (yych <= 'Z') goto yy144;
21905 			if (yych <= '`') goto yy3;
21906 			goto yy144;
21907 		} else {
21908 			if (yych <= 'd') goto yy1425;
21909 			if (yych <= 'z') goto yy144;
21910 			goto yy3;
21911 		}
21912 	}
21913 yy1425:
21914 	YYDEBUG(1425, *YYCURSOR);
21915 	yyaccept = 0;
21916 	yych = *(YYMARKER = ++YYCURSOR);
21917 	if (yych <= '@') {
21918 		if (yych == ')') goto yy139;
21919 		goto yy3;
21920 	} else {
21921 		if (yych <= 'A') goto yy1426;
21922 		if (yych != 'a') goto yy3;
21923 	}
21924 yy1426:
21925 	YYDEBUG(1426, *YYCURSOR);
21926 	yych = *++YYCURSOR;
21927 	if (yych == 'Y') goto yy172;
21928 	if (yych == 'y') goto yy172;
21929 	goto yy56;
21930 yy1427:
21931 	YYDEBUG(1427, *YYCURSOR);
21932 	yych = *++YYCURSOR;
21933 	if (yych <= 'D') {
21934 		if (yych <= ')') {
21935 			if (yych <= '(') goto yy3;
21936 			goto yy139;
21937 		} else {
21938 			if (yych <= '@') goto yy3;
21939 			if (yych <= 'C') goto yy143;
21940 			goto yy1238;
21941 		}
21942 	} else {
21943 		if (yych <= 'c') {
21944 			if (yych <= 'Z') goto yy143;
21945 			if (yych <= '`') goto yy3;
21946 			goto yy143;
21947 		} else {
21948 			if (yych <= 'd') goto yy1238;
21949 			if (yych <= 'z') goto yy143;
21950 			goto yy3;
21951 		}
21952 	}
21953 yy1428:
21954 	YYDEBUG(1428, *YYCURSOR);
21955 	yyaccept = 0;
21956 	yych = *(YYMARKER = ++YYCURSOR);
21957 	if (yych <= '(') {
21958 		if (yych <= '\t') {
21959 			if (yych <= 0x08) goto yy3;
21960 			goto yy1104;
21961 		} else {
21962 			if (yych == ' ') goto yy1104;
21963 			goto yy3;
21964 		}
21965 	} else {
21966 		if (yych <= 'Z') {
21967 			if (yych <= ')') goto yy139;
21968 			if (yych <= '@') goto yy3;
21969 			goto yy143;
21970 		} else {
21971 			if (yych <= '`') goto yy3;
21972 			if (yych <= 'z') goto yy143;
21973 			goto yy3;
21974 		}
21975 	}
21976 yy1429:
21977 	YYDEBUG(1429, *YYCURSOR);
21978 	yych = *++YYCURSOR;
21979 	if (yych <= 'T') {
21980 		if (yych <= ')') {
21981 			if (yych <= '(') goto yy3;
21982 			goto yy139;
21983 		} else {
21984 			if (yych <= '@') goto yy3;
21985 			if (yych <= 'S') goto yy142;
21986 		}
21987 	} else {
21988 		if (yych <= 's') {
21989 			if (yych <= 'Z') goto yy142;
21990 			if (yych <= '`') goto yy3;
21991 			goto yy142;
21992 		} else {
21993 			if (yych <= 't') goto yy1430;
21994 			if (yych <= 'z') goto yy142;
21995 			goto yy3;
21996 		}
21997 	}
21998 yy1430:
21999 	YYDEBUG(1430, *YYCURSOR);
22000 	yych = *++YYCURSOR;
22001 	if (yych <= 'H') {
22002 		if (yych <= ')') {
22003 			if (yych <= '(') goto yy3;
22004 			goto yy139;
22005 		} else {
22006 			if (yych <= '@') goto yy3;
22007 			if (yych <= 'G') goto yy143;
22008 			goto yy1238;
22009 		}
22010 	} else {
22011 		if (yych <= 'g') {
22012 			if (yych <= 'Z') goto yy143;
22013 			if (yych <= '`') goto yy3;
22014 			goto yy143;
22015 		} else {
22016 			if (yych <= 'h') goto yy1238;
22017 			if (yych <= 'z') goto yy143;
22018 			goto yy3;
22019 		}
22020 	}
22021 yy1431:
22022 	YYDEBUG(1431, *YYCURSOR);
22023 	yyaccept = 0;
22024 	yych = *(YYMARKER = ++YYCURSOR);
22025 	if (yych <= 'M') {
22026 		if (yych <= '-') {
22027 			if (yych == ')') goto yy139;
22028 			if (yych <= ',') goto yy3;
22029 			goto yy147;
22030 		} else {
22031 			if (yych == '/') goto yy147;
22032 			if (yych <= '@') goto yy3;
22033 			goto yy141;
22034 		}
22035 	} else {
22036 		if (yych <= '_') {
22037 			if (yych <= 'N') goto yy1429;
22038 			if (yych <= 'Z') goto yy141;
22039 			if (yych <= '^') goto yy3;
22040 			goto yy147;
22041 		} else {
22042 			if (yych <= 'm') {
22043 				if (yych <= '`') goto yy3;
22044 				goto yy146;
22045 			} else {
22046 				if (yych <= 'n') goto yy1461;
22047 				if (yych <= 'z') goto yy146;
22048 				goto yy3;
22049 			}
22050 		}
22051 	}
22052 yy1432:
22053 	YYDEBUG(1432, *YYCURSOR);
22054 	yyaccept = 0;
22055 	yych = *(YYMARKER = ++YYCURSOR);
22056 	if (yych <= 'T') {
22057 		if (yych <= '.') {
22058 			if (yych <= ')') {
22059 				if (yych <= '(') goto yy3;
22060 				goto yy139;
22061 			} else {
22062 				if (yych == '-') goto yy147;
22063 				goto yy3;
22064 			}
22065 		} else {
22066 			if (yych <= '@') {
22067 				if (yych <= '/') goto yy147;
22068 				goto yy3;
22069 			} else {
22070 				if (yych == 'I') goto yy1421;
22071 				goto yy141;
22072 			}
22073 		}
22074 	} else {
22075 		if (yych <= '`') {
22076 			if (yych <= 'Z') {
22077 				if (yych <= 'U') goto yy1422;
22078 				goto yy141;
22079 			} else {
22080 				if (yych == '_') goto yy147;
22081 				goto yy3;
22082 			}
22083 		} else {
22084 			if (yych <= 't') {
22085 				if (yych == 'i') goto yy1453;
22086 				goto yy146;
22087 			} else {
22088 				if (yych <= 'u') goto yy1454;
22089 				if (yych <= 'z') goto yy146;
22090 				goto yy3;
22091 			}
22092 		}
22093 	}
22094 yy1433:
22095 	YYDEBUG(1433, *YYCURSOR);
22096 	yyaccept = 0;
22097 	yych = *(YYMARKER = ++YYCURSOR);
22098 	if (yych <= 'L') {
22099 		if (yych <= '.') {
22100 			if (yych <= ')') {
22101 				if (yych <= '(') goto yy3;
22102 				goto yy139;
22103 			} else {
22104 				if (yych == '-') goto yy147;
22105 				goto yy3;
22106 			}
22107 		} else {
22108 			if (yych <= '@') {
22109 				if (yych <= '/') goto yy147;
22110 				goto yy3;
22111 			} else {
22112 				if (yych == 'D') goto yy1410;
22113 				goto yy141;
22114 			}
22115 		}
22116 	} else {
22117 		if (yych <= '`') {
22118 			if (yych <= 'Z') {
22119 				if (yych <= 'M') goto yy1411;
22120 				goto yy141;
22121 			} else {
22122 				if (yych == '_') goto yy147;
22123 				goto yy3;
22124 			}
22125 		} else {
22126 			if (yych <= 'l') {
22127 				if (yych == 'd') goto yy1444;
22128 				goto yy146;
22129 			} else {
22130 				if (yych <= 'm') goto yy1445;
22131 				if (yych <= 'z') goto yy146;
22132 				goto yy3;
22133 			}
22134 		}
22135 	}
22136 yy1434:
22137 	YYDEBUG(1434, *YYCURSOR);
22138 	yyaccept = 0;
22139 	yych = *(YYMARKER = ++YYCURSOR);
22140 	if (yych <= 'D') {
22141 		if (yych <= '-') {
22142 			if (yych == ')') goto yy139;
22143 			if (yych <= ',') goto yy3;
22144 			goto yy147;
22145 		} else {
22146 			if (yych == '/') goto yy147;
22147 			if (yych <= '@') goto yy3;
22148 			goto yy141;
22149 		}
22150 	} else {
22151 		if (yych <= '_') {
22152 			if (yych <= 'E') goto yy1406;
22153 			if (yych <= 'Z') goto yy141;
22154 			if (yych <= '^') goto yy3;
22155 			goto yy147;
22156 		} else {
22157 			if (yych <= 'd') {
22158 				if (yych <= '`') goto yy3;
22159 				goto yy146;
22160 			} else {
22161 				if (yych <= 'e') goto yy1440;
22162 				if (yych <= 'z') goto yy146;
22163 				goto yy3;
22164 			}
22165 		}
22166 	}
22167 yy1435:
22168 	YYDEBUG(1435, *YYCURSOR);
22169 	yyaccept = 0;
22170 	yych = *(YYMARKER = ++YYCURSOR);
22171 	if (yych <= 'D') {
22172 		if (yych <= '-') {
22173 			if (yych == ')') goto yy139;
22174 			if (yych <= ',') goto yy3;
22175 			goto yy147;
22176 		} else {
22177 			if (yych == '/') goto yy147;
22178 			if (yych <= '@') goto yy3;
22179 			goto yy141;
22180 		}
22181 	} else {
22182 		if (yych <= '_') {
22183 			if (yych <= 'E') goto yy1402;
22184 			if (yych <= 'Z') goto yy141;
22185 			if (yych <= '^') goto yy3;
22186 			goto yy147;
22187 		} else {
22188 			if (yych <= 'd') {
22189 				if (yych <= '`') goto yy3;
22190 				goto yy146;
22191 			} else {
22192 				if (yych <= 'e') goto yy1436;
22193 				if (yych <= 'z') goto yy146;
22194 				goto yy3;
22195 			}
22196 		}
22197 	}
22198 yy1436:
22199 	YYDEBUG(1436, *YYCURSOR);
22200 	yyaccept = 0;
22201 	yych = *(YYMARKER = ++YYCURSOR);
22202 	if (yych <= 'K') {
22203 		if (yych <= '-') {
22204 			if (yych == ')') goto yy139;
22205 			if (yych <= ',') goto yy3;
22206 			goto yy147;
22207 		} else {
22208 			if (yych == '/') goto yy147;
22209 			if (yych <= '@') goto yy3;
22210 			goto yy142;
22211 		}
22212 	} else {
22213 		if (yych <= '_') {
22214 			if (yych <= 'L') goto yy1403;
22215 			if (yych <= 'Z') goto yy142;
22216 			if (yych <= '^') goto yy3;
22217 			goto yy147;
22218 		} else {
22219 			if (yych <= 'k') {
22220 				if (yych <= '`') goto yy3;
22221 				goto yy150;
22222 			} else {
22223 				if (yych <= 'l') goto yy1437;
22224 				if (yych <= 'z') goto yy150;
22225 				goto yy3;
22226 			}
22227 		}
22228 	}
22229 yy1437:
22230 	YYDEBUG(1437, *YYCURSOR);
22231 	yyaccept = 0;
22232 	yych = *(YYMARKER = ++YYCURSOR);
22233 	if (yych <= 'E') {
22234 		if (yych <= '-') {
22235 			if (yych == ')') goto yy139;
22236 			if (yych <= ',') goto yy3;
22237 			goto yy147;
22238 		} else {
22239 			if (yych == '/') goto yy147;
22240 			if (yych <= '@') goto yy3;
22241 			goto yy143;
22242 		}
22243 	} else {
22244 		if (yych <= '_') {
22245 			if (yych <= 'F') goto yy1404;
22246 			if (yych <= 'Z') goto yy143;
22247 			if (yych <= '^') goto yy3;
22248 			goto yy147;
22249 		} else {
22250 			if (yych <= 'e') {
22251 				if (yych <= '`') goto yy3;
22252 				goto yy151;
22253 			} else {
22254 				if (yych <= 'f') goto yy1438;
22255 				if (yych <= 'z') goto yy151;
22256 				goto yy3;
22257 			}
22258 		}
22259 	}
22260 yy1438:
22261 	YYDEBUG(1438, *YYCURSOR);
22262 	yyaccept = 0;
22263 	yych = *(YYMARKER = ++YYCURSOR);
22264 	if (yych <= 'S') {
22265 		if (yych <= '-') {
22266 			if (yych == ')') goto yy139;
22267 			if (yych <= ',') goto yy3;
22268 			goto yy147;
22269 		} else {
22270 			if (yych == '/') goto yy147;
22271 			if (yych <= '@') goto yy3;
22272 			goto yy144;
22273 		}
22274 	} else {
22275 		if (yych <= '_') {
22276 			if (yych <= 'T') goto yy1405;
22277 			if (yych <= 'Z') goto yy144;
22278 			if (yych <= '^') goto yy3;
22279 			goto yy147;
22280 		} else {
22281 			if (yych <= 's') {
22282 				if (yych <= '`') goto yy3;
22283 				goto yy152;
22284 			} else {
22285 				if (yych <= 't') goto yy1439;
22286 				if (yych <= 'z') goto yy152;
22287 				goto yy3;
22288 			}
22289 		}
22290 	}
22291 yy1439:
22292 	YYDEBUG(1439, *YYCURSOR);
22293 	yyaccept = 0;
22294 	yych = *(YYMARKER = ++YYCURSOR);
22295 	if (yych <= 'G') {
22296 		if (yych <= ',') {
22297 			if (yych == ')') goto yy139;
22298 			goto yy3;
22299 		} else {
22300 			if (yych == '.') goto yy3;
22301 			if (yych <= '/') goto yy147;
22302 			goto yy3;
22303 		}
22304 	} else {
22305 		if (yych <= '`') {
22306 			if (yych <= 'H') goto yy1205;
22307 			if (yych == '_') goto yy147;
22308 			goto yy3;
22309 		} else {
22310 			if (yych == 'h') goto yy1223;
22311 			if (yych <= 'z') goto yy153;
22312 			goto yy3;
22313 		}
22314 	}
22315 yy1440:
22316 	YYDEBUG(1440, *YYCURSOR);
22317 	yyaccept = 4;
22318 	yych = *(YYMARKER = ++YYCURSOR);
22319 	if (yych <= 'R') {
22320 		if (yych <= '-') {
22321 			if (yych == ')') goto yy139;
22322 			if (yych <= ',') goto yy166;
22323 			goto yy147;
22324 		} else {
22325 			if (yych == '/') goto yy147;
22326 			if (yych <= '@') goto yy166;
22327 			goto yy142;
22328 		}
22329 	} else {
22330 		if (yych <= '_') {
22331 			if (yych <= 'S') goto yy1407;
22332 			if (yych <= 'Z') goto yy142;
22333 			if (yych <= '^') goto yy166;
22334 			goto yy147;
22335 		} else {
22336 			if (yych <= 'r') {
22337 				if (yych <= '`') goto yy166;
22338 				goto yy150;
22339 			} else {
22340 				if (yych <= 's') goto yy1441;
22341 				if (yych <= 'z') goto yy150;
22342 				goto yy166;
22343 			}
22344 		}
22345 	}
22346 yy1441:
22347 	YYDEBUG(1441, *YYCURSOR);
22348 	yyaccept = 0;
22349 	yych = *(YYMARKER = ++YYCURSOR);
22350 	if (yych <= 'C') {
22351 		if (yych <= '-') {
22352 			if (yych == ')') goto yy139;
22353 			if (yych <= ',') goto yy3;
22354 			goto yy147;
22355 		} else {
22356 			if (yych == '/') goto yy147;
22357 			if (yych <= '@') goto yy3;
22358 			goto yy143;
22359 		}
22360 	} else {
22361 		if (yych <= '_') {
22362 			if (yych <= 'D') goto yy1408;
22363 			if (yych <= 'Z') goto yy143;
22364 			if (yych <= '^') goto yy3;
22365 			goto yy147;
22366 		} else {
22367 			if (yych <= 'c') {
22368 				if (yych <= '`') goto yy3;
22369 				goto yy151;
22370 			} else {
22371 				if (yych <= 'd') goto yy1442;
22372 				if (yych <= 'z') goto yy151;
22373 				goto yy3;
22374 			}
22375 		}
22376 	}
22377 yy1442:
22378 	YYDEBUG(1442, *YYCURSOR);
22379 	yyaccept = 0;
22380 	yych = *(YYMARKER = ++YYCURSOR);
22381 	if (yych <= '@') {
22382 		if (yych <= ',') {
22383 			if (yych == ')') goto yy139;
22384 			goto yy3;
22385 		} else {
22386 			if (yych == '.') goto yy3;
22387 			if (yych <= '/') goto yy147;
22388 			goto yy3;
22389 		}
22390 	} else {
22391 		if (yych <= '_') {
22392 			if (yych <= 'A') goto yy1409;
22393 			if (yych <= 'Z') goto yy144;
22394 			if (yych <= '^') goto yy3;
22395 			goto yy147;
22396 		} else {
22397 			if (yych <= '`') goto yy3;
22398 			if (yych <= 'a') goto yy1443;
22399 			if (yych <= 'z') goto yy152;
22400 			goto yy3;
22401 		}
22402 	}
22403 yy1443:
22404 	YYDEBUG(1443, *YYCURSOR);
22405 	yyaccept = 0;
22406 	yych = *(YYMARKER = ++YYCURSOR);
22407 	if (yych <= 'X') {
22408 		if (yych <= ',') {
22409 			if (yych == ')') goto yy139;
22410 			goto yy3;
22411 		} else {
22412 			if (yych == '.') goto yy3;
22413 			if (yych <= '/') goto yy147;
22414 			goto yy3;
22415 		}
22416 	} else {
22417 		if (yych <= '`') {
22418 			if (yych <= 'Y') goto yy172;
22419 			if (yych == '_') goto yy147;
22420 			goto yy3;
22421 		} else {
22422 			if (yych == 'y') goto yy185;
22423 			if (yych <= 'z') goto yy153;
22424 			goto yy3;
22425 		}
22426 	}
22427 yy1444:
22428 	YYDEBUG(1444, *YYCURSOR);
22429 	yyaccept = 0;
22430 	yych = *(YYMARKER = ++YYCURSOR);
22431 	if (yych <= '@') {
22432 		if (yych <= ',') {
22433 			if (yych == ')') goto yy139;
22434 			goto yy3;
22435 		} else {
22436 			if (yych == '.') goto yy3;
22437 			if (yych <= '/') goto yy147;
22438 			goto yy3;
22439 		}
22440 	} else {
22441 		if (yych <= '_') {
22442 			if (yych <= 'A') goto yy1418;
22443 			if (yych <= 'Z') goto yy142;
22444 			if (yych <= '^') goto yy3;
22445 			goto yy147;
22446 		} else {
22447 			if (yych <= '`') goto yy3;
22448 			if (yych <= 'a') goto yy1451;
22449 			if (yych <= 'z') goto yy150;
22450 			goto yy3;
22451 		}
22452 	}
22453 yy1445:
22454 	YYDEBUG(1445, *YYCURSOR);
22455 	yyaccept = 0;
22456 	yych = *(YYMARKER = ++YYCURSOR);
22457 	if (yych <= 'N') {
22458 		if (yych <= '-') {
22459 			if (yych == ')') goto yy139;
22460 			if (yych <= ',') goto yy3;
22461 			goto yy147;
22462 		} else {
22463 			if (yych == '/') goto yy147;
22464 			if (yych <= '@') goto yy3;
22465 			goto yy142;
22466 		}
22467 	} else {
22468 		if (yych <= '_') {
22469 			if (yych <= 'O') goto yy1412;
22470 			if (yych <= 'Z') goto yy142;
22471 			if (yych <= '^') goto yy3;
22472 			goto yy147;
22473 		} else {
22474 			if (yych <= 'n') {
22475 				if (yych <= '`') goto yy3;
22476 				goto yy150;
22477 			} else {
22478 				if (yych <= 'o') goto yy1446;
22479 				if (yych <= 'z') goto yy150;
22480 				goto yy3;
22481 			}
22482 		}
22483 	}
22484 yy1446:
22485 	YYDEBUG(1446, *YYCURSOR);
22486 	yyaccept = 0;
22487 	yych = *(YYMARKER = ++YYCURSOR);
22488 	if (yych <= 'Q') {
22489 		if (yych <= '-') {
22490 			if (yych == ')') goto yy139;
22491 			if (yych <= ',') goto yy3;
22492 			goto yy147;
22493 		} else {
22494 			if (yych == '/') goto yy147;
22495 			if (yych <= '@') goto yy3;
22496 			goto yy143;
22497 		}
22498 	} else {
22499 		if (yych <= '_') {
22500 			if (yych <= 'R') goto yy1413;
22501 			if (yych <= 'Z') goto yy143;
22502 			if (yych <= '^') goto yy3;
22503 			goto yy147;
22504 		} else {
22505 			if (yych <= 'q') {
22506 				if (yych <= '`') goto yy3;
22507 				goto yy151;
22508 			} else {
22509 				if (yych <= 'r') goto yy1447;
22510 				if (yych <= 'z') goto yy151;
22511 				goto yy3;
22512 			}
22513 		}
22514 	}
22515 yy1447:
22516 	YYDEBUG(1447, *YYCURSOR);
22517 	yyaccept = 0;
22518 	yych = *(YYMARKER = ++YYCURSOR);
22519 	if (yych <= 'Q') {
22520 		if (yych <= '-') {
22521 			if (yych == ')') goto yy139;
22522 			if (yych <= ',') goto yy3;
22523 			goto yy147;
22524 		} else {
22525 			if (yych == '/') goto yy147;
22526 			if (yych <= '@') goto yy3;
22527 			goto yy144;
22528 		}
22529 	} else {
22530 		if (yych <= '_') {
22531 			if (yych <= 'R') goto yy1414;
22532 			if (yych <= 'Z') goto yy144;
22533 			if (yych <= '^') goto yy3;
22534 			goto yy147;
22535 		} else {
22536 			if (yych <= 'q') {
22537 				if (yych <= '`') goto yy3;
22538 				goto yy152;
22539 			} else {
22540 				if (yych <= 'r') goto yy1448;
22541 				if (yych <= 'z') goto yy152;
22542 				goto yy3;
22543 			}
22544 		}
22545 	}
22546 yy1448:
22547 	YYDEBUG(1448, *YYCURSOR);
22548 	yyaccept = 0;
22549 	yych = *(YYMARKER = ++YYCURSOR);
22550 	if (yych <= 'N') {
22551 		if (yych <= ',') {
22552 			if (yych == ')') goto yy139;
22553 			goto yy3;
22554 		} else {
22555 			if (yych == '.') goto yy3;
22556 			if (yych <= '/') goto yy147;
22557 			goto yy3;
22558 		}
22559 	} else {
22560 		if (yych <= '`') {
22561 			if (yych <= 'O') goto yy1415;
22562 			if (yych == '_') goto yy147;
22563 			goto yy3;
22564 		} else {
22565 			if (yych == 'o') goto yy1449;
22566 			if (yych <= 'z') goto yy153;
22567 			goto yy3;
22568 		}
22569 	}
22570 yy1449:
22571 	YYDEBUG(1449, *YYCURSOR);
22572 	yych = *++YYCURSOR;
22573 	if (yych == 'W') goto yy1416;
22574 	if (yych != 'w') goto yy154;
22575 	YYDEBUG(1450, *YYCURSOR);
22576 	yyaccept = 29;
22577 	yych = *(YYMARKER = ++YYCURSOR);
22578 	if (yybm[0+yych] & 16) {
22579 		goto yy153;
22580 	}
22581 	if (yych <= '.') {
22582 		if (yych == '-') goto yy147;
22583 		goto yy1417;
22584 	} else {
22585 		if (yych <= '/') goto yy147;
22586 		if (yych == '_') goto yy147;
22587 		goto yy1417;
22588 	}
22589 yy1451:
22590 	YYDEBUG(1451, *YYCURSOR);
22591 	yyaccept = 0;
22592 	yych = *(YYMARKER = ++YYCURSOR);
22593 	if (yych <= 'X') {
22594 		if (yych <= '-') {
22595 			if (yych == ')') goto yy139;
22596 			if (yych <= ',') goto yy3;
22597 			goto yy147;
22598 		} else {
22599 			if (yych == '/') goto yy147;
22600 			if (yych <= '@') goto yy3;
22601 			goto yy143;
22602 		}
22603 	} else {
22604 		if (yych <= '_') {
22605 			if (yych <= 'Y') goto yy1419;
22606 			if (yych <= 'Z') goto yy143;
22607 			if (yych <= '^') goto yy3;
22608 			goto yy147;
22609 		} else {
22610 			if (yych <= 'x') {
22611 				if (yych <= '`') goto yy3;
22612 				goto yy151;
22613 			} else {
22614 				if (yych <= 'y') goto yy1452;
22615 				if (yych <= 'z') goto yy151;
22616 				goto yy3;
22617 			}
22618 		}
22619 	}
22620 yy1452:
22621 	YYDEBUG(1452, *YYCURSOR);
22622 	yyaccept = 30;
22623 	yych = *(YYMARKER = ++YYCURSOR);
22624 	if (yych <= '/') {
22625 		if (yych <= ',') {
22626 			if (yych == ')') goto yy139;
22627 			goto yy1420;
22628 		} else {
22629 			if (yych == '.') goto yy1420;
22630 			goto yy147;
22631 		}
22632 	} else {
22633 		if (yych <= '^') {
22634 			if (yych <= '@') goto yy1420;
22635 			if (yych <= 'Z') goto yy144;
22636 			goto yy1420;
22637 		} else {
22638 			if (yych <= '_') goto yy147;
22639 			if (yych <= '`') goto yy1420;
22640 			if (yych <= 'z') goto yy152;
22641 			goto yy1420;
22642 		}
22643 	}
22644 yy1453:
22645 	YYDEBUG(1453, *YYCURSOR);
22646 	yyaccept = 0;
22647 	yych = *(YYMARKER = ++YYCURSOR);
22648 	if (yych <= 'R') {
22649 		if (yych <= '-') {
22650 			if (yych == ')') goto yy139;
22651 			if (yych <= ',') goto yy3;
22652 			goto yy147;
22653 		} else {
22654 			if (yych <= '/') {
22655 				if (yych <= '.') goto yy3;
22656 				goto yy147;
22657 			} else {
22658 				if (yych <= '@') goto yy3;
22659 				if (yych <= 'Q') goto yy142;
22660 				goto yy1427;
22661 			}
22662 		}
22663 	} else {
22664 		if (yych <= '`') {
22665 			if (yych <= 'Z') {
22666 				if (yych <= 'S') goto yy1428;
22667 				goto yy142;
22668 			} else {
22669 				if (yych == '_') goto yy147;
22670 				goto yy3;
22671 			}
22672 		} else {
22673 			if (yych <= 'r') {
22674 				if (yych <= 'q') goto yy150;
22675 				goto yy1459;
22676 			} else {
22677 				if (yych <= 's') goto yy1460;
22678 				if (yych <= 'z') goto yy150;
22679 				goto yy3;
22680 			}
22681 		}
22682 	}
22683 yy1454:
22684 	YYDEBUG(1454, *YYCURSOR);
22685 	yyaccept = 4;
22686 	yych = *(YYMARKER = ++YYCURSOR);
22687 	if (yych <= 'Q') {
22688 		if (yych <= '-') {
22689 			if (yych == ')') goto yy139;
22690 			if (yych <= ',') goto yy166;
22691 			goto yy147;
22692 		} else {
22693 			if (yych == '/') goto yy147;
22694 			if (yych <= '@') goto yy166;
22695 			goto yy142;
22696 		}
22697 	} else {
22698 		if (yych <= '_') {
22699 			if (yych <= 'R') goto yy1423;
22700 			if (yych <= 'Z') goto yy142;
22701 			if (yych <= '^') goto yy166;
22702 			goto yy147;
22703 		} else {
22704 			if (yych <= 'q') {
22705 				if (yych <= '`') goto yy166;
22706 				goto yy150;
22707 			} else {
22708 				if (yych <= 'r') goto yy1455;
22709 				if (yych <= 'z') goto yy150;
22710 				goto yy166;
22711 			}
22712 		}
22713 	}
22714 yy1455:
22715 	YYDEBUG(1455, *YYCURSOR);
22716 	yyaccept = 0;
22717 	yych = *(YYMARKER = ++YYCURSOR);
22718 	if (yych <= 'R') {
22719 		if (yych <= '-') {
22720 			if (yych == ')') goto yy139;
22721 			if (yych <= ',') goto yy3;
22722 			goto yy147;
22723 		} else {
22724 			if (yych == '/') goto yy147;
22725 			if (yych <= '@') goto yy3;
22726 			goto yy143;
22727 		}
22728 	} else {
22729 		if (yych <= '_') {
22730 			if (yych <= 'S') goto yy1424;
22731 			if (yych <= 'Z') goto yy143;
22732 			if (yych <= '^') goto yy3;
22733 			goto yy147;
22734 		} else {
22735 			if (yych <= 'r') {
22736 				if (yych <= '`') goto yy3;
22737 				goto yy151;
22738 			} else {
22739 				if (yych <= 's') goto yy1456;
22740 				if (yych <= 'z') goto yy151;
22741 				goto yy3;
22742 			}
22743 		}
22744 	}
22745 yy1456:
22746 	YYDEBUG(1456, *YYCURSOR);
22747 	yyaccept = 0;
22748 	yych = *(YYMARKER = ++YYCURSOR);
22749 	if (yych <= 'C') {
22750 		if (yych <= '-') {
22751 			if (yych == ')') goto yy139;
22752 			if (yych <= ',') goto yy3;
22753 			goto yy147;
22754 		} else {
22755 			if (yych == '/') goto yy147;
22756 			if (yych <= '@') goto yy3;
22757 			goto yy144;
22758 		}
22759 	} else {
22760 		if (yych <= '_') {
22761 			if (yych <= 'D') goto yy1425;
22762 			if (yych <= 'Z') goto yy144;
22763 			if (yych <= '^') goto yy3;
22764 			goto yy147;
22765 		} else {
22766 			if (yych <= 'c') {
22767 				if (yych <= '`') goto yy3;
22768 				goto yy152;
22769 			} else {
22770 				if (yych <= 'd') goto yy1457;
22771 				if (yych <= 'z') goto yy152;
22772 				goto yy3;
22773 			}
22774 		}
22775 	}
22776 yy1457:
22777 	YYDEBUG(1457, *YYCURSOR);
22778 	yyaccept = 0;
22779 	yych = *(YYMARKER = ++YYCURSOR);
22780 	if (yych <= '@') {
22781 		if (yych <= ',') {
22782 			if (yych == ')') goto yy139;
22783 			goto yy3;
22784 		} else {
22785 			if (yych == '.') goto yy3;
22786 			if (yych <= '/') goto yy147;
22787 			goto yy3;
22788 		}
22789 	} else {
22790 		if (yych <= '_') {
22791 			if (yych <= 'A') goto yy1426;
22792 			if (yych <= '^') goto yy3;
22793 			goto yy147;
22794 		} else {
22795 			if (yych <= '`') goto yy3;
22796 			if (yych <= 'a') goto yy1458;
22797 			if (yych <= 'z') goto yy153;
22798 			goto yy3;
22799 		}
22800 	}
22801 yy1458:
22802 	YYDEBUG(1458, *YYCURSOR);
22803 	yych = *++YYCURSOR;
22804 	if (yych == 'Y') goto yy172;
22805 	if (yych == 'y') goto yy185;
22806 	goto yy154;
22807 yy1459:
22808 	YYDEBUG(1459, *YYCURSOR);
22809 	yyaccept = 0;
22810 	yych = *(YYMARKER = ++YYCURSOR);
22811 	if (yych <= 'C') {
22812 		if (yych <= '-') {
22813 			if (yych == ')') goto yy139;
22814 			if (yych <= ',') goto yy3;
22815 			goto yy147;
22816 		} else {
22817 			if (yych == '/') goto yy147;
22818 			if (yych <= '@') goto yy3;
22819 			goto yy143;
22820 		}
22821 	} else {
22822 		if (yych <= '_') {
22823 			if (yych <= 'D') goto yy1238;
22824 			if (yych <= 'Z') goto yy143;
22825 			if (yych <= '^') goto yy3;
22826 			goto yy147;
22827 		} else {
22828 			if (yych <= 'c') {
22829 				if (yych <= '`') goto yy3;
22830 				goto yy151;
22831 			} else {
22832 				if (yych <= 'd') goto yy1267;
22833 				if (yych <= 'z') goto yy151;
22834 				goto yy3;
22835 			}
22836 		}
22837 	}
22838 yy1460:
22839 	YYDEBUG(1460, *YYCURSOR);
22840 	yyaccept = 0;
22841 	yych = *(YYMARKER = ++YYCURSOR);
22842 	if (yych <= '-') {
22843 		if (yych <= ' ') {
22844 			if (yych == '\t') goto yy1104;
22845 			if (yych <= 0x1F) goto yy3;
22846 			goto yy1104;
22847 		} else {
22848 			if (yych == ')') goto yy139;
22849 			if (yych <= ',') goto yy3;
22850 			goto yy147;
22851 		}
22852 	} else {
22853 		if (yych <= 'Z') {
22854 			if (yych == '/') goto yy147;
22855 			if (yych <= '@') goto yy3;
22856 			goto yy143;
22857 		} else {
22858 			if (yych <= '_') {
22859 				if (yych <= '^') goto yy3;
22860 				goto yy147;
22861 			} else {
22862 				if (yych <= '`') goto yy3;
22863 				if (yych <= 'z') goto yy151;
22864 				goto yy3;
22865 			}
22866 		}
22867 	}
22868 yy1461:
22869 	YYDEBUG(1461, *YYCURSOR);
22870 	yyaccept = 0;
22871 	yych = *(YYMARKER = ++YYCURSOR);
22872 	if (yych <= 'S') {
22873 		if (yych <= '-') {
22874 			if (yych == ')') goto yy139;
22875 			if (yych <= ',') goto yy3;
22876 			goto yy147;
22877 		} else {
22878 			if (yych == '/') goto yy147;
22879 			if (yych <= '@') goto yy3;
22880 			goto yy142;
22881 		}
22882 	} else {
22883 		if (yych <= '_') {
22884 			if (yych <= 'T') goto yy1430;
22885 			if (yych <= 'Z') goto yy142;
22886 			if (yych <= '^') goto yy3;
22887 			goto yy147;
22888 		} else {
22889 			if (yych <= 's') {
22890 				if (yych <= '`') goto yy3;
22891 				goto yy150;
22892 			} else {
22893 				if (yych <= 't') goto yy1462;
22894 				if (yych <= 'z') goto yy150;
22895 				goto yy3;
22896 			}
22897 		}
22898 	}
22899 yy1462:
22900 	YYDEBUG(1462, *YYCURSOR);
22901 	yyaccept = 0;
22902 	yych = *(YYMARKER = ++YYCURSOR);
22903 	if (yych <= 'G') {
22904 		if (yych <= '-') {
22905 			if (yych == ')') goto yy139;
22906 			if (yych <= ',') goto yy3;
22907 			goto yy147;
22908 		} else {
22909 			if (yych == '/') goto yy147;
22910 			if (yych <= '@') goto yy3;
22911 			goto yy143;
22912 		}
22913 	} else {
22914 		if (yych <= '_') {
22915 			if (yych <= 'H') goto yy1238;
22916 			if (yych <= 'Z') goto yy143;
22917 			if (yych <= '^') goto yy3;
22918 			goto yy147;
22919 		} else {
22920 			if (yych <= 'g') {
22921 				if (yych <= '`') goto yy3;
22922 				goto yy151;
22923 			} else {
22924 				if (yych <= 'h') goto yy1267;
22925 				if (yych <= 'z') goto yy151;
22926 				goto yy3;
22927 			}
22928 		}
22929 	}
22930 yy1463:
22931 	YYDEBUG(1463, *YYCURSOR);
22932 	yych = *++YYCURSOR;
22933 	if (yych <= 'Y') {
22934 		if (yych <= '@') {
22935 			if (yych == ')') goto yy139;
22936 			goto yy3;
22937 		} else {
22938 			if (yych == 'R') goto yy1475;
22939 			if (yych <= 'X') goto yy141;
22940 			goto yy1476;
22941 		}
22942 	} else {
22943 		if (yych <= 'r') {
22944 			if (yych <= 'Z') goto yy141;
22945 			if (yych <= '`') goto yy3;
22946 			if (yych <= 'q') goto yy141;
22947 			goto yy1475;
22948 		} else {
22949 			if (yych == 'y') goto yy1476;
22950 			if (yych <= 'z') goto yy141;
22951 			goto yy3;
22952 		}
22953 	}
22954 yy1464:
22955 	YYDEBUG(1464, *YYCURSOR);
22956 	yych = *++YYCURSOR;
22957 	if (yych <= 'D') {
22958 		if (yych <= ')') {
22959 			if (yych <= '(') goto yy3;
22960 			goto yy139;
22961 		} else {
22962 			if (yych <= '@') goto yy3;
22963 			if (yych <= 'C') goto yy141;
22964 			goto yy1469;
22965 		}
22966 	} else {
22967 		if (yych <= 'c') {
22968 			if (yych <= 'Z') goto yy141;
22969 			if (yych <= '`') goto yy3;
22970 			goto yy141;
22971 		} else {
22972 			if (yych <= 'd') goto yy1469;
22973 			if (yych <= 'z') goto yy141;
22974 			goto yy3;
22975 		}
22976 	}
22977 yy1465:
22978 	YYDEBUG(1465, *YYCURSOR);
22979 	yych = *++YYCURSOR;
22980 	if (yych <= 'N') {
22981 		if (yych <= ')') {
22982 			if (yych <= '(') goto yy3;
22983 			goto yy139;
22984 		} else {
22985 			if (yych <= '@') goto yy3;
22986 			if (yych <= 'M') goto yy141;
22987 		}
22988 	} else {
22989 		if (yych <= 'm') {
22990 			if (yych <= 'Z') goto yy141;
22991 			if (yych <= '`') goto yy3;
22992 			goto yy141;
22993 		} else {
22994 			if (yych <= 'n') goto yy1466;
22995 			if (yych <= 'z') goto yy141;
22996 			goto yy3;
22997 		}
22998 	}
22999 yy1466:
23000 	YYDEBUG(1466, *YYCURSOR);
23001 	yych = *++YYCURSOR;
23002 	if (yych <= 'D') {
23003 		if (yych <= ')') {
23004 			if (yych <= '(') goto yy166;
23005 			goto yy139;
23006 		} else {
23007 			if (yych <= '@') goto yy166;
23008 			if (yych <= 'C') goto yy142;
23009 		}
23010 	} else {
23011 		if (yych <= 'c') {
23012 			if (yych <= 'Z') goto yy142;
23013 			if (yych <= '`') goto yy166;
23014 			goto yy142;
23015 		} else {
23016 			if (yych <= 'd') goto yy1467;
23017 			if (yych <= 'z') goto yy142;
23018 			goto yy166;
23019 		}
23020 	}
23021 yy1467:
23022 	YYDEBUG(1467, *YYCURSOR);
23023 	yych = *++YYCURSOR;
23024 	if (yych <= 'A') {
23025 		if (yych == ')') goto yy139;
23026 		if (yych <= '@') goto yy3;
23027 	} else {
23028 		if (yych <= '`') {
23029 			if (yych <= 'Z') goto yy143;
23030 			goto yy3;
23031 		} else {
23032 			if (yych <= 'a') goto yy1468;
23033 			if (yych <= 'z') goto yy143;
23034 			goto yy3;
23035 		}
23036 	}
23037 yy1468:
23038 	YYDEBUG(1468, *YYCURSOR);
23039 	yych = *++YYCURSOR;
23040 	if (yych <= 'Y') {
23041 		if (yych <= ')') {
23042 			if (yych <= '(') goto yy3;
23043 			goto yy139;
23044 		} else {
23045 			if (yych <= '@') goto yy3;
23046 			if (yych <= 'X') goto yy144;
23047 			goto yy1235;
23048 		}
23049 	} else {
23050 		if (yych <= 'x') {
23051 			if (yych <= 'Z') goto yy144;
23052 			if (yych <= '`') goto yy3;
23053 			goto yy144;
23054 		} else {
23055 			if (yych <= 'y') goto yy1235;
23056 			if (yych <= 'z') goto yy144;
23057 			goto yy3;
23058 		}
23059 	}
23060 yy1469:
23061 	YYDEBUG(1469, *YYCURSOR);
23062 	yych = *++YYCURSOR;
23063 	if (yych <= 'N') {
23064 		if (yych <= ')') {
23065 			if (yych <= '(') goto yy3;
23066 			goto yy139;
23067 		} else {
23068 			if (yych <= '@') goto yy3;
23069 			if (yych <= 'M') goto yy142;
23070 		}
23071 	} else {
23072 		if (yych <= 'm') {
23073 			if (yych <= 'Z') goto yy142;
23074 			if (yych <= '`') goto yy3;
23075 			goto yy142;
23076 		} else {
23077 			if (yych <= 'n') goto yy1470;
23078 			if (yych <= 'z') goto yy142;
23079 			goto yy3;
23080 		}
23081 	}
23082 yy1470:
23083 	YYDEBUG(1470, *YYCURSOR);
23084 	yych = *++YYCURSOR;
23085 	if (yych <= 'I') {
23086 		if (yych <= ')') {
23087 			if (yych <= '(') goto yy3;
23088 			goto yy139;
23089 		} else {
23090 			if (yych <= '@') goto yy3;
23091 			if (yych <= 'H') goto yy143;
23092 		}
23093 	} else {
23094 		if (yych <= 'h') {
23095 			if (yych <= 'Z') goto yy143;
23096 			if (yych <= '`') goto yy3;
23097 			goto yy143;
23098 		} else {
23099 			if (yych <= 'i') goto yy1471;
23100 			if (yych <= 'z') goto yy143;
23101 			goto yy3;
23102 		}
23103 	}
23104 yy1471:
23105 	YYDEBUG(1471, *YYCURSOR);
23106 	yych = *++YYCURSOR;
23107 	if (yych <= 'G') {
23108 		if (yych <= ')') {
23109 			if (yych <= '(') goto yy3;
23110 			goto yy139;
23111 		} else {
23112 			if (yych <= '@') goto yy3;
23113 			if (yych <= 'F') goto yy144;
23114 		}
23115 	} else {
23116 		if (yych <= 'f') {
23117 			if (yych <= 'Z') goto yy144;
23118 			if (yych <= '`') goto yy3;
23119 			goto yy144;
23120 		} else {
23121 			if (yych <= 'g') goto yy1472;
23122 			if (yych <= 'z') goto yy144;
23123 			goto yy3;
23124 		}
23125 	}
23126 yy1472:
23127 	YYDEBUG(1472, *YYCURSOR);
23128 	yyaccept = 0;
23129 	yych = *(YYMARKER = ++YYCURSOR);
23130 	if (yych <= 'G') {
23131 		if (yych == ')') goto yy139;
23132 		goto yy3;
23133 	} else {
23134 		if (yych <= 'H') goto yy1473;
23135 		if (yych != 'h') goto yy3;
23136 	}
23137 yy1473:
23138 	YYDEBUG(1473, *YYCURSOR);
23139 	yych = *++YYCURSOR;
23140 	if (yych == 'T') goto yy1474;
23141 	if (yych != 't') goto yy56;
23142 yy1474:
23143 	YYDEBUG(1474, *YYCURSOR);
23144 	yych = *++YYCURSOR;
23145 	goto yy1420;
23146 yy1475:
23147 	YYDEBUG(1475, *YYCURSOR);
23148 	yyaccept = 5;
23149 	yych = *(YYMARKER = ++YYCURSOR);
23150 	if (yych <= '/') {
23151 		if (yych <= '(') {
23152 			if (yych <= '\t') {
23153 				if (yych <= 0x08) goto yy193;
23154 				goto yy195;
23155 			} else {
23156 				if (yych == ' ') goto yy195;
23157 				goto yy193;
23158 			}
23159 		} else {
23160 			if (yych <= ',') {
23161 				if (yych <= ')') goto yy139;
23162 				goto yy193;
23163 			} else {
23164 				if (yych <= '-') goto yy196;
23165 				if (yych <= '.') goto yy195;
23166 				goto yy193;
23167 			}
23168 		}
23169 	} else {
23170 		if (yych <= 'Z') {
23171 			if (yych <= '@') {
23172 				if (yych <= '9') goto yy195;
23173 				goto yy193;
23174 			} else {
23175 				if (yych == 'C') goto yy1477;
23176 				goto yy142;
23177 			}
23178 		} else {
23179 			if (yych <= 'b') {
23180 				if (yych <= '`') goto yy193;
23181 				goto yy142;
23182 			} else {
23183 				if (yych <= 'c') goto yy1477;
23184 				if (yych <= 'z') goto yy142;
23185 				goto yy193;
23186 			}
23187 		}
23188 	}
23189 yy1476:
23190 	YYDEBUG(1476, *YYCURSOR);
23191 	yyaccept = 5;
23192 	yych = *(YYMARKER = ++YYCURSOR);
23193 	if (yych <= '-') {
23194 		if (yych <= ' ') {
23195 			if (yych == '\t') goto yy195;
23196 			if (yych <= 0x1F) goto yy193;
23197 			goto yy195;
23198 		} else {
23199 			if (yych == ')') goto yy139;
23200 			if (yych <= ',') goto yy193;
23201 			goto yy196;
23202 		}
23203 	} else {
23204 		if (yych <= '@') {
23205 			if (yych == '/') goto yy193;
23206 			if (yych <= '9') goto yy195;
23207 			goto yy193;
23208 		} else {
23209 			if (yych <= 'Z') goto yy142;
23210 			if (yych <= '`') goto yy193;
23211 			if (yych <= 'z') goto yy142;
23212 			goto yy193;
23213 		}
23214 	}
23215 yy1477:
23216 	YYDEBUG(1477, *YYCURSOR);
23217 	yych = *++YYCURSOR;
23218 	if (yych <= 'H') {
23219 		if (yych <= ')') {
23220 			if (yych <= '(') goto yy3;
23221 			goto yy139;
23222 		} else {
23223 			if (yych <= '@') goto yy3;
23224 			if (yych <= 'G') goto yy143;
23225 			goto yy395;
23226 		}
23227 	} else {
23228 		if (yych <= 'g') {
23229 			if (yych <= 'Z') goto yy143;
23230 			if (yych <= '`') goto yy3;
23231 			goto yy143;
23232 		} else {
23233 			if (yych <= 'h') goto yy395;
23234 			if (yych <= 'z') goto yy143;
23235 			goto yy3;
23236 		}
23237 	}
23238 yy1478:
23239 	YYDEBUG(1478, *YYCURSOR);
23240 	yyaccept = 0;
23241 	yych = *(YYMARKER = ++YYCURSOR);
23242 	if (yych <= 'X') {
23243 		if (yych <= '.') {
23244 			if (yych <= ')') {
23245 				if (yych <= '(') goto yy3;
23246 				goto yy139;
23247 			} else {
23248 				if (yych == '-') goto yy147;
23249 				goto yy3;
23250 			}
23251 		} else {
23252 			if (yych <= '@') {
23253 				if (yych <= '/') goto yy147;
23254 				goto yy3;
23255 			} else {
23256 				if (yych == 'R') goto yy1475;
23257 				goto yy141;
23258 			}
23259 		}
23260 	} else {
23261 		if (yych <= '`') {
23262 			if (yych <= 'Z') {
23263 				if (yych <= 'Y') goto yy1476;
23264 				goto yy141;
23265 			} else {
23266 				if (yych == '_') goto yy147;
23267 				goto yy3;
23268 			}
23269 		} else {
23270 			if (yych <= 'x') {
23271 				if (yych == 'r') goto yy1490;
23272 				goto yy146;
23273 			} else {
23274 				if (yych <= 'y') goto yy1491;
23275 				if (yych <= 'z') goto yy146;
23276 				goto yy3;
23277 			}
23278 		}
23279 	}
23280 yy1479:
23281 	YYDEBUG(1479, *YYCURSOR);
23282 	yyaccept = 0;
23283 	yych = *(YYMARKER = ++YYCURSOR);
23284 	if (yych <= 'C') {
23285 		if (yych <= '-') {
23286 			if (yych == ')') goto yy139;
23287 			if (yych <= ',') goto yy3;
23288 			goto yy147;
23289 		} else {
23290 			if (yych == '/') goto yy147;
23291 			if (yych <= '@') goto yy3;
23292 			goto yy141;
23293 		}
23294 	} else {
23295 		if (yych <= '_') {
23296 			if (yych <= 'D') goto yy1469;
23297 			if (yych <= 'Z') goto yy141;
23298 			if (yych <= '^') goto yy3;
23299 			goto yy147;
23300 		} else {
23301 			if (yych <= 'c') {
23302 				if (yych <= '`') goto yy3;
23303 				goto yy146;
23304 			} else {
23305 				if (yych <= 'd') goto yy1484;
23306 				if (yych <= 'z') goto yy146;
23307 				goto yy3;
23308 			}
23309 		}
23310 	}
23311 yy1480:
23312 	YYDEBUG(1480, *YYCURSOR);
23313 	yyaccept = 0;
23314 	yych = *(YYMARKER = ++YYCURSOR);
23315 	if (yych <= 'M') {
23316 		if (yych <= '-') {
23317 			if (yych == ')') goto yy139;
23318 			if (yych <= ',') goto yy3;
23319 			goto yy147;
23320 		} else {
23321 			if (yych == '/') goto yy147;
23322 			if (yych <= '@') goto yy3;
23323 			goto yy141;
23324 		}
23325 	} else {
23326 		if (yych <= '_') {
23327 			if (yych <= 'N') goto yy1466;
23328 			if (yych <= 'Z') goto yy141;
23329 			if (yych <= '^') goto yy3;
23330 			goto yy147;
23331 		} else {
23332 			if (yych <= 'm') {
23333 				if (yych <= '`') goto yy3;
23334 				goto yy146;
23335 			} else {
23336 				if (yych <= 'n') goto yy1481;
23337 				if (yych <= 'z') goto yy146;
23338 				goto yy3;
23339 			}
23340 		}
23341 	}
23342 yy1481:
23343 	YYDEBUG(1481, *YYCURSOR);
23344 	yyaccept = 4;
23345 	yych = *(YYMARKER = ++YYCURSOR);
23346 	if (yych <= 'C') {
23347 		if (yych <= '-') {
23348 			if (yych == ')') goto yy139;
23349 			if (yych <= ',') goto yy166;
23350 			goto yy147;
23351 		} else {
23352 			if (yych == '/') goto yy147;
23353 			if (yych <= '@') goto yy166;
23354 			goto yy142;
23355 		}
23356 	} else {
23357 		if (yych <= '_') {
23358 			if (yych <= 'D') goto yy1467;
23359 			if (yych <= 'Z') goto yy142;
23360 			if (yych <= '^') goto yy166;
23361 			goto yy147;
23362 		} else {
23363 			if (yych <= 'c') {
23364 				if (yych <= '`') goto yy166;
23365 				goto yy150;
23366 			} else {
23367 				if (yych <= 'd') goto yy1482;
23368 				if (yych <= 'z') goto yy150;
23369 				goto yy166;
23370 			}
23371 		}
23372 	}
23373 yy1482:
23374 	YYDEBUG(1482, *YYCURSOR);
23375 	yyaccept = 0;
23376 	yych = *(YYMARKER = ++YYCURSOR);
23377 	if (yych <= '@') {
23378 		if (yych <= ',') {
23379 			if (yych == ')') goto yy139;
23380 			goto yy3;
23381 		} else {
23382 			if (yych == '.') goto yy3;
23383 			if (yych <= '/') goto yy147;
23384 			goto yy3;
23385 		}
23386 	} else {
23387 		if (yych <= '_') {
23388 			if (yych <= 'A') goto yy1468;
23389 			if (yych <= 'Z') goto yy143;
23390 			if (yych <= '^') goto yy3;
23391 			goto yy147;
23392 		} else {
23393 			if (yych <= '`') goto yy3;
23394 			if (yych <= 'a') goto yy1483;
23395 			if (yych <= 'z') goto yy151;
23396 			goto yy3;
23397 		}
23398 	}
23399 yy1483:
23400 	YYDEBUG(1483, *YYCURSOR);
23401 	yyaccept = 0;
23402 	yych = *(YYMARKER = ++YYCURSOR);
23403 	if (yych <= 'X') {
23404 		if (yych <= '-') {
23405 			if (yych == ')') goto yy139;
23406 			if (yych <= ',') goto yy3;
23407 			goto yy147;
23408 		} else {
23409 			if (yych == '/') goto yy147;
23410 			if (yych <= '@') goto yy3;
23411 			goto yy144;
23412 		}
23413 	} else {
23414 		if (yych <= '_') {
23415 			if (yych <= 'Y') goto yy1235;
23416 			if (yych <= 'Z') goto yy144;
23417 			if (yych <= '^') goto yy3;
23418 			goto yy147;
23419 		} else {
23420 			if (yych <= 'x') {
23421 				if (yych <= '`') goto yy3;
23422 				goto yy152;
23423 			} else {
23424 				if (yych <= 'y') goto yy1264;
23425 				if (yych <= 'z') goto yy152;
23426 				goto yy3;
23427 			}
23428 		}
23429 	}
23430 yy1484:
23431 	YYDEBUG(1484, *YYCURSOR);
23432 	yyaccept = 0;
23433 	yych = *(YYMARKER = ++YYCURSOR);
23434 	if (yych <= 'M') {
23435 		if (yych <= '-') {
23436 			if (yych == ')') goto yy139;
23437 			if (yych <= ',') goto yy3;
23438 			goto yy147;
23439 		} else {
23440 			if (yych == '/') goto yy147;
23441 			if (yych <= '@') goto yy3;
23442 			goto yy142;
23443 		}
23444 	} else {
23445 		if (yych <= '_') {
23446 			if (yych <= 'N') goto yy1470;
23447 			if (yych <= 'Z') goto yy142;
23448 			if (yych <= '^') goto yy3;
23449 			goto yy147;
23450 		} else {
23451 			if (yych <= 'm') {
23452 				if (yych <= '`') goto yy3;
23453 				goto yy150;
23454 			} else {
23455 				if (yych <= 'n') goto yy1485;
23456 				if (yych <= 'z') goto yy150;
23457 				goto yy3;
23458 			}
23459 		}
23460 	}
23461 yy1485:
23462 	YYDEBUG(1485, *YYCURSOR);
23463 	yyaccept = 0;
23464 	yych = *(YYMARKER = ++YYCURSOR);
23465 	if (yych <= 'H') {
23466 		if (yych <= '-') {
23467 			if (yych == ')') goto yy139;
23468 			if (yych <= ',') goto yy3;
23469 			goto yy147;
23470 		} else {
23471 			if (yych == '/') goto yy147;
23472 			if (yych <= '@') goto yy3;
23473 			goto yy143;
23474 		}
23475 	} else {
23476 		if (yych <= '_') {
23477 			if (yych <= 'I') goto yy1471;
23478 			if (yych <= 'Z') goto yy143;
23479 			if (yych <= '^') goto yy3;
23480 			goto yy147;
23481 		} else {
23482 			if (yych <= 'h') {
23483 				if (yych <= '`') goto yy3;
23484 				goto yy151;
23485 			} else {
23486 				if (yych <= 'i') goto yy1486;
23487 				if (yych <= 'z') goto yy151;
23488 				goto yy3;
23489 			}
23490 		}
23491 	}
23492 yy1486:
23493 	YYDEBUG(1486, *YYCURSOR);
23494 	yyaccept = 0;
23495 	yych = *(YYMARKER = ++YYCURSOR);
23496 	if (yych <= 'F') {
23497 		if (yych <= '-') {
23498 			if (yych == ')') goto yy139;
23499 			if (yych <= ',') goto yy3;
23500 			goto yy147;
23501 		} else {
23502 			if (yych == '/') goto yy147;
23503 			if (yych <= '@') goto yy3;
23504 			goto yy144;
23505 		}
23506 	} else {
23507 		if (yych <= '_') {
23508 			if (yych <= 'G') goto yy1472;
23509 			if (yych <= 'Z') goto yy144;
23510 			if (yych <= '^') goto yy3;
23511 			goto yy147;
23512 		} else {
23513 			if (yych <= 'f') {
23514 				if (yych <= '`') goto yy3;
23515 				goto yy152;
23516 			} else {
23517 				if (yych <= 'g') goto yy1487;
23518 				if (yych <= 'z') goto yy152;
23519 				goto yy3;
23520 			}
23521 		}
23522 	}
23523 yy1487:
23524 	YYDEBUG(1487, *YYCURSOR);
23525 	yyaccept = 0;
23526 	yych = *(YYMARKER = ++YYCURSOR);
23527 	if (yych <= 'G') {
23528 		if (yych <= ',') {
23529 			if (yych == ')') goto yy139;
23530 			goto yy3;
23531 		} else {
23532 			if (yych == '.') goto yy3;
23533 			if (yych <= '/') goto yy147;
23534 			goto yy3;
23535 		}
23536 	} else {
23537 		if (yych <= '`') {
23538 			if (yych <= 'H') goto yy1473;
23539 			if (yych == '_') goto yy147;
23540 			goto yy3;
23541 		} else {
23542 			if (yych == 'h') goto yy1488;
23543 			if (yych <= 'z') goto yy153;
23544 			goto yy3;
23545 		}
23546 	}
23547 yy1488:
23548 	YYDEBUG(1488, *YYCURSOR);
23549 	yych = *++YYCURSOR;
23550 	if (yych == 'T') goto yy1474;
23551 	if (yych != 't') goto yy154;
23552 	YYDEBUG(1489, *YYCURSOR);
23553 	yyaccept = 30;
23554 	yych = *(YYMARKER = ++YYCURSOR);
23555 	if (yybm[0+yych] & 16) {
23556 		goto yy153;
23557 	}
23558 	if (yych <= '.') {
23559 		if (yych == '-') goto yy147;
23560 		goto yy1420;
23561 	} else {
23562 		if (yych <= '/') goto yy147;
23563 		if (yych == '_') goto yy147;
23564 		goto yy1420;
23565 	}
23566 yy1490:
23567 	YYDEBUG(1490, *YYCURSOR);
23568 	yyaccept = 5;
23569 	yych = *(YYMARKER = ++YYCURSOR);
23570 	if (yych <= '9') {
23571 		if (yych <= '(') {
23572 			if (yych <= '\t') {
23573 				if (yych <= 0x08) goto yy193;
23574 				goto yy195;
23575 			} else {
23576 				if (yych == ' ') goto yy195;
23577 				goto yy193;
23578 			}
23579 		} else {
23580 			if (yych <= '-') {
23581 				if (yych <= ')') goto yy139;
23582 				if (yych <= ',') goto yy193;
23583 				goto yy371;
23584 			} else {
23585 				if (yych == '/') goto yy147;
23586 				goto yy195;
23587 			}
23588 		}
23589 	} else {
23590 		if (yych <= '^') {
23591 			if (yych <= 'B') {
23592 				if (yych <= '@') goto yy193;
23593 				goto yy142;
23594 			} else {
23595 				if (yych <= 'C') goto yy1477;
23596 				if (yych <= 'Z') goto yy142;
23597 				goto yy193;
23598 			}
23599 		} else {
23600 			if (yych <= 'b') {
23601 				if (yych <= '_') goto yy147;
23602 				if (yych <= '`') goto yy193;
23603 				goto yy150;
23604 			} else {
23605 				if (yych <= 'c') goto yy1492;
23606 				if (yych <= 'z') goto yy150;
23607 				goto yy193;
23608 			}
23609 		}
23610 	}
23611 yy1491:
23612 	YYDEBUG(1491, *YYCURSOR);
23613 	yyaccept = 5;
23614 	yych = *(YYMARKER = ++YYCURSOR);
23615 	if (yych <= '.') {
23616 		if (yych <= ' ') {
23617 			if (yych == '\t') goto yy195;
23618 			if (yych <= 0x1F) goto yy193;
23619 			goto yy195;
23620 		} else {
23621 			if (yych <= ')') {
23622 				if (yych <= '(') goto yy193;
23623 				goto yy139;
23624 			} else {
23625 				if (yych <= ',') goto yy193;
23626 				if (yych <= '-') goto yy371;
23627 				goto yy195;
23628 			}
23629 		}
23630 	} else {
23631 		if (yych <= 'Z') {
23632 			if (yych <= '/') goto yy147;
23633 			if (yych <= '9') goto yy195;
23634 			if (yych <= '@') goto yy193;
23635 			goto yy142;
23636 		} else {
23637 			if (yych <= '_') {
23638 				if (yych <= '^') goto yy193;
23639 				goto yy147;
23640 			} else {
23641 				if (yych <= '`') goto yy193;
23642 				if (yych <= 'z') goto yy150;
23643 				goto yy193;
23644 			}
23645 		}
23646 	}
23647 yy1492:
23648 	YYDEBUG(1492, *YYCURSOR);
23649 	yyaccept = 0;
23650 	yych = *(YYMARKER = ++YYCURSOR);
23651 	if (yych <= 'G') {
23652 		if (yych <= '-') {
23653 			if (yych == ')') goto yy139;
23654 			if (yych <= ',') goto yy3;
23655 			goto yy147;
23656 		} else {
23657 			if (yych == '/') goto yy147;
23658 			if (yych <= '@') goto yy3;
23659 			goto yy143;
23660 		}
23661 	} else {
23662 		if (yych <= '_') {
23663 			if (yych <= 'H') goto yy395;
23664 			if (yych <= 'Z') goto yy143;
23665 			if (yych <= '^') goto yy3;
23666 			goto yy147;
23667 		} else {
23668 			if (yych <= 'g') {
23669 				if (yych <= '`') goto yy3;
23670 				goto yy151;
23671 			} else {
23672 				if (yych <= 'h') goto yy406;
23673 				if (yych <= 'z') goto yy151;
23674 				goto yy3;
23675 			}
23676 		}
23677 	}
23678 yy1493:
23679 	YYDEBUG(1493, *YYCURSOR);
23680 	yych = *++YYCURSOR;
23681 	if (yych <= 'W') {
23682 		if (yych <= 'N') {
23683 			if (yych == ')') goto yy139;
23684 			if (yych <= '@') goto yy3;
23685 			goto yy141;
23686 		} else {
23687 			if (yych <= 'O') goto yy1501;
23688 			if (yych <= 'U') goto yy141;
23689 			if (yych <= 'V') goto yy1502;
23690 			goto yy1499;
23691 		}
23692 	} else {
23693 		if (yych <= 'o') {
23694 			if (yych <= 'Z') goto yy141;
23695 			if (yych <= '`') goto yy3;
23696 			if (yych <= 'n') goto yy141;
23697 			goto yy1501;
23698 		} else {
23699 			if (yych <= 'v') {
23700 				if (yych <= 'u') goto yy141;
23701 				goto yy1502;
23702 			} else {
23703 				if (yych <= 'w') goto yy1499;
23704 				if (yych <= 'z') goto yy141;
23705 				goto yy3;
23706 			}
23707 		}
23708 	}
23709 yy1494:
23710 	YYDEBUG(1494, *YYCURSOR);
23711 	yych = *++YYCURSOR;
23712 	if (yych <= 'X') {
23713 		if (yych <= ')') {
23714 			if (yych <= '(') goto yy3;
23715 			goto yy139;
23716 		} else {
23717 			if (yych <= '@') goto yy3;
23718 			if (yych <= 'W') goto yy141;
23719 			goto yy1498;
23720 		}
23721 	} else {
23722 		if (yych <= 'w') {
23723 			if (yych <= 'Z') goto yy141;
23724 			if (yych <= '`') goto yy3;
23725 			goto yy141;
23726 		} else {
23727 			if (yych <= 'x') goto yy1498;
23728 			if (yych <= 'z') goto yy141;
23729 			goto yy3;
23730 		}
23731 	}
23732 yy1495:
23733 	YYDEBUG(1495, *YYCURSOR);
23734 	yych = *++YYCURSOR;
23735 	if (yych <= 'N') {
23736 		if (yych <= ')') {
23737 			if (yych <= '(') goto yy3;
23738 			goto yy139;
23739 		} else {
23740 			if (yych <= '@') goto yy3;
23741 			if (yych <= 'M') goto yy141;
23742 		}
23743 	} else {
23744 		if (yych <= 'm') {
23745 			if (yych <= 'Z') goto yy141;
23746 			if (yych <= '`') goto yy3;
23747 			goto yy141;
23748 		} else {
23749 			if (yych <= 'n') goto yy1496;
23750 			if (yych <= 'z') goto yy141;
23751 			goto yy3;
23752 		}
23753 	}
23754 yy1496:
23755 	YYDEBUG(1496, *YYCURSOR);
23756 	yych = *++YYCURSOR;
23757 	if (yych <= 'T') {
23758 		if (yych <= ')') {
23759 			if (yych <= '(') goto yy3;
23760 			goto yy139;
23761 		} else {
23762 			if (yych <= '@') goto yy3;
23763 			if (yych <= 'S') goto yy142;
23764 		}
23765 	} else {
23766 		if (yych <= 's') {
23767 			if (yych <= 'Z') goto yy142;
23768 			if (yych <= '`') goto yy3;
23769 			goto yy142;
23770 		} else {
23771 			if (yych <= 't') goto yy1497;
23772 			if (yych <= 'z') goto yy142;
23773 			goto yy3;
23774 		}
23775 	}
23776 yy1497:
23777 	YYDEBUG(1497, *YYCURSOR);
23778 	yych = *++YYCURSOR;
23779 	if (yych <= 'H') {
23780 		if (yych <= ')') {
23781 			if (yych <= '(') goto yy3;
23782 			goto yy139;
23783 		} else {
23784 			if (yych <= '@') goto yy3;
23785 			if (yych <= 'G') goto yy143;
23786 			goto yy1238;
23787 		}
23788 	} else {
23789 		if (yych <= 'g') {
23790 			if (yych <= 'Z') goto yy143;
23791 			if (yych <= '`') goto yy3;
23792 			goto yy143;
23793 		} else {
23794 			if (yych <= 'h') goto yy1238;
23795 			if (yych <= 'z') goto yy143;
23796 			goto yy3;
23797 		}
23798 	}
23799 yy1498:
23800 	YYDEBUG(1498, *YYCURSOR);
23801 	yych = *++YYCURSOR;
23802 	if (yych <= 'T') {
23803 		if (yych <= ')') {
23804 			if (yych <= '(') goto yy3;
23805 			goto yy139;
23806 		} else {
23807 			if (yych <= '@') goto yy3;
23808 			if (yych <= 'S') goto yy142;
23809 			goto yy1428;
23810 		}
23811 	} else {
23812 		if (yych <= 's') {
23813 			if (yych <= 'Z') goto yy142;
23814 			if (yych <= '`') goto yy3;
23815 			goto yy142;
23816 		} else {
23817 			if (yych <= 't') goto yy1428;
23818 			if (yych <= 'z') goto yy142;
23819 			goto yy3;
23820 		}
23821 	}
23822 yy1499:
23823 	YYDEBUG(1499, *YYCURSOR);
23824 	++YYCURSOR;
23825 	if ((yych = *YYCURSOR) <= '@') {
23826 		if (yych == ')') goto yy139;
23827 	} else {
23828 		if (yych <= 'Z') goto yy142;
23829 		if (yych <= '`') goto yy1500;
23830 		if (yych <= 'z') goto yy142;
23831 	}
23832 yy1500:
23833 	YYDEBUG(1500, *YYCURSOR);
23834 #line 957 "ext/date/lib/parse_date.re"
23835 	{
23836 		DEBUG_OUTPUT("now");
23837 		TIMELIB_INIT;
23838 
23839 		TIMELIB_DEINIT;
23840 		return TIMELIB_RELATIVE;
23841 	}
23842 #line 23843 "ext/date/lib/parse_date.c"
23843 yy1501:
23844 	YYDEBUG(1501, *YYCURSOR);
23845 	yych = *++YYCURSOR;
23846 	if (yych <= 'N') {
23847 		if (yych <= ')') {
23848 			if (yych <= '(') goto yy3;
23849 			goto yy139;
23850 		} else {
23851 			if (yych <= '@') goto yy3;
23852 			if (yych <= 'M') goto yy142;
23853 			goto yy1507;
23854 		}
23855 	} else {
23856 		if (yych <= 'm') {
23857 			if (yych <= 'Z') goto yy142;
23858 			if (yych <= '`') goto yy3;
23859 			goto yy142;
23860 		} else {
23861 			if (yych <= 'n') goto yy1507;
23862 			if (yych <= 'z') goto yy142;
23863 			goto yy3;
23864 		}
23865 	}
23866 yy1502:
23867 	YYDEBUG(1502, *YYCURSOR);
23868 	yyaccept = 5;
23869 	yych = *(YYMARKER = ++YYCURSOR);
23870 	if (yych <= '/') {
23871 		if (yych <= '(') {
23872 			if (yych <= '\t') {
23873 				if (yych <= 0x08) goto yy193;
23874 				goto yy195;
23875 			} else {
23876 				if (yych == ' ') goto yy195;
23877 				goto yy193;
23878 			}
23879 		} else {
23880 			if (yych <= ',') {
23881 				if (yych <= ')') goto yy139;
23882 				goto yy193;
23883 			} else {
23884 				if (yych <= '-') goto yy196;
23885 				if (yych <= '.') goto yy195;
23886 				goto yy193;
23887 			}
23888 		}
23889 	} else {
23890 		if (yych <= 'Z') {
23891 			if (yych <= '@') {
23892 				if (yych <= '9') goto yy195;
23893 				goto yy193;
23894 			} else {
23895 				if (yych != 'E') goto yy142;
23896 			}
23897 		} else {
23898 			if (yych <= 'd') {
23899 				if (yych <= '`') goto yy193;
23900 				goto yy142;
23901 			} else {
23902 				if (yych <= 'e') goto yy1503;
23903 				if (yych <= 'z') goto yy142;
23904 				goto yy193;
23905 			}
23906 		}
23907 	}
23908 yy1503:
23909 	YYDEBUG(1503, *YYCURSOR);
23910 	yych = *++YYCURSOR;
23911 	if (yych <= 'M') {
23912 		if (yych <= ')') {
23913 			if (yych <= '(') goto yy3;
23914 			goto yy139;
23915 		} else {
23916 			if (yych <= '@') goto yy3;
23917 			if (yych <= 'L') goto yy143;
23918 		}
23919 	} else {
23920 		if (yych <= 'l') {
23921 			if (yych <= 'Z') goto yy143;
23922 			if (yych <= '`') goto yy3;
23923 			goto yy143;
23924 		} else {
23925 			if (yych <= 'm') goto yy1504;
23926 			if (yych <= 'z') goto yy143;
23927 			goto yy3;
23928 		}
23929 	}
23930 yy1504:
23931 	YYDEBUG(1504, *YYCURSOR);
23932 	yych = *++YYCURSOR;
23933 	if (yych <= 'B') {
23934 		if (yych <= ')') {
23935 			if (yych <= '(') goto yy3;
23936 			goto yy139;
23937 		} else {
23938 			if (yych <= '@') goto yy3;
23939 			if (yych <= 'A') goto yy144;
23940 		}
23941 	} else {
23942 		if (yych <= 'a') {
23943 			if (yych <= 'Z') goto yy144;
23944 			if (yych <= '`') goto yy3;
23945 			goto yy144;
23946 		} else {
23947 			if (yych <= 'b') goto yy1505;
23948 			if (yych <= 'z') goto yy144;
23949 			goto yy3;
23950 		}
23951 	}
23952 yy1505:
23953 	YYDEBUG(1505, *YYCURSOR);
23954 	yyaccept = 0;
23955 	yych = *(YYMARKER = ++YYCURSOR);
23956 	if (yych <= 'D') {
23957 		if (yych == ')') goto yy139;
23958 		goto yy3;
23959 	} else {
23960 		if (yych <= 'E') goto yy1506;
23961 		if (yych != 'e') goto yy3;
23962 	}
23963 yy1506:
23964 	YYDEBUG(1506, *YYCURSOR);
23965 	yych = *++YYCURSOR;
23966 	if (yych == 'R') goto yy205;
23967 	if (yych == 'r') goto yy205;
23968 	goto yy56;
23969 yy1507:
23970 	YYDEBUG(1507, *YYCURSOR);
23971 	++YYCURSOR;
23972 	if ((yych = *YYCURSOR) <= '@') {
23973 		if (yych == ')') goto yy139;
23974 	} else {
23975 		if (yych <= 'Z') goto yy143;
23976 		if (yych <= '`') goto yy1508;
23977 		if (yych <= 'z') goto yy143;
23978 	}
23979 yy1508:
23980 	YYDEBUG(1508, *YYCURSOR);
23981 #line 966 "ext/date/lib/parse_date.re"
23982 	{
23983 		DEBUG_OUTPUT("noon");
23984 		TIMELIB_INIT;
23985 		TIMELIB_UNHAVE_TIME();
23986 		TIMELIB_HAVE_TIME();
23987 		s->time->h = 12;
23988 
23989 		TIMELIB_DEINIT;
23990 		return TIMELIB_RELATIVE;
23991 	}
23992 #line 23993 "ext/date/lib/parse_date.c"
23993 yy1509:
23994 	YYDEBUG(1509, *YYCURSOR);
23995 	yyaccept = 0;
23996 	yych = *(YYMARKER = ++YYCURSOR);
23997 	if (yych <= 'V') {
23998 		if (yych <= '.') {
23999 			if (yych <= ')') {
24000 				if (yych <= '(') goto yy3;
24001 				goto yy139;
24002 			} else {
24003 				if (yych == '-') goto yy147;
24004 				goto yy3;
24005 			}
24006 		} else {
24007 			if (yych <= 'N') {
24008 				if (yych <= '/') goto yy147;
24009 				if (yych <= '@') goto yy3;
24010 				goto yy141;
24011 			} else {
24012 				if (yych <= 'O') goto yy1501;
24013 				if (yych <= 'U') goto yy141;
24014 				goto yy1502;
24015 			}
24016 		}
24017 	} else {
24018 		if (yych <= 'n') {
24019 			if (yych <= '^') {
24020 				if (yych <= 'W') goto yy1499;
24021 				if (yych <= 'Z') goto yy141;
24022 				goto yy3;
24023 			} else {
24024 				if (yych <= '_') goto yy147;
24025 				if (yych <= '`') goto yy3;
24026 				goto yy146;
24027 			}
24028 		} else {
24029 			if (yych <= 'v') {
24030 				if (yych <= 'o') goto yy1516;
24031 				if (yych <= 'u') goto yy146;
24032 				goto yy1517;
24033 			} else {
24034 				if (yych <= 'w') goto yy1515;
24035 				if (yych <= 'z') goto yy146;
24036 				goto yy3;
24037 			}
24038 		}
24039 	}
24040 yy1510:
24041 	YYDEBUG(1510, *YYCURSOR);
24042 	yyaccept = 0;
24043 	yych = *(YYMARKER = ++YYCURSOR);
24044 	if (yych <= 'W') {
24045 		if (yych <= '-') {
24046 			if (yych == ')') goto yy139;
24047 			if (yych <= ',') goto yy3;
24048 			goto yy147;
24049 		} else {
24050 			if (yych == '/') goto yy147;
24051 			if (yych <= '@') goto yy3;
24052 			goto yy141;
24053 		}
24054 	} else {
24055 		if (yych <= '_') {
24056 			if (yych <= 'X') goto yy1498;
24057 			if (yych <= 'Z') goto yy141;
24058 			if (yych <= '^') goto yy3;
24059 			goto yy147;
24060 		} else {
24061 			if (yych <= 'w') {
24062 				if (yych <= '`') goto yy3;
24063 				goto yy146;
24064 			} else {
24065 				if (yych <= 'x') goto yy1514;
24066 				if (yych <= 'z') goto yy146;
24067 				goto yy3;
24068 			}
24069 		}
24070 	}
24071 yy1511:
24072 	YYDEBUG(1511, *YYCURSOR);
24073 	yyaccept = 0;
24074 	yych = *(YYMARKER = ++YYCURSOR);
24075 	if (yych <= 'M') {
24076 		if (yych <= '-') {
24077 			if (yych == ')') goto yy139;
24078 			if (yych <= ',') goto yy3;
24079 			goto yy147;
24080 		} else {
24081 			if (yych == '/') goto yy147;
24082 			if (yych <= '@') goto yy3;
24083 			goto yy141;
24084 		}
24085 	} else {
24086 		if (yych <= '_') {
24087 			if (yych <= 'N') goto yy1496;
24088 			if (yych <= 'Z') goto yy141;
24089 			if (yych <= '^') goto yy3;
24090 			goto yy147;
24091 		} else {
24092 			if (yych <= 'm') {
24093 				if (yych <= '`') goto yy3;
24094 				goto yy146;
24095 			} else {
24096 				if (yych <= 'n') goto yy1512;
24097 				if (yych <= 'z') goto yy146;
24098 				goto yy3;
24099 			}
24100 		}
24101 	}
24102 yy1512:
24103 	YYDEBUG(1512, *YYCURSOR);
24104 	yyaccept = 0;
24105 	yych = *(YYMARKER = ++YYCURSOR);
24106 	if (yych <= 'S') {
24107 		if (yych <= '-') {
24108 			if (yych == ')') goto yy139;
24109 			if (yych <= ',') goto yy3;
24110 			goto yy147;
24111 		} else {
24112 			if (yych == '/') goto yy147;
24113 			if (yych <= '@') goto yy3;
24114 			goto yy142;
24115 		}
24116 	} else {
24117 		if (yych <= '_') {
24118 			if (yych <= 'T') goto yy1497;
24119 			if (yych <= 'Z') goto yy142;
24120 			if (yych <= '^') goto yy3;
24121 			goto yy147;
24122 		} else {
24123 			if (yych <= 's') {
24124 				if (yych <= '`') goto yy3;
24125 				goto yy150;
24126 			} else {
24127 				if (yych <= 't') goto yy1513;
24128 				if (yych <= 'z') goto yy150;
24129 				goto yy3;
24130 			}
24131 		}
24132 	}
24133 yy1513:
24134 	YYDEBUG(1513, *YYCURSOR);
24135 	yyaccept = 0;
24136 	yych = *(YYMARKER = ++YYCURSOR);
24137 	if (yych <= 'G') {
24138 		if (yych <= '-') {
24139 			if (yych == ')') goto yy139;
24140 			if (yych <= ',') goto yy3;
24141 			goto yy147;
24142 		} else {
24143 			if (yych == '/') goto yy147;
24144 			if (yych <= '@') goto yy3;
24145 			goto yy143;
24146 		}
24147 	} else {
24148 		if (yych <= '_') {
24149 			if (yych <= 'H') goto yy1238;
24150 			if (yych <= 'Z') goto yy143;
24151 			if (yych <= '^') goto yy3;
24152 			goto yy147;
24153 		} else {
24154 			if (yych <= 'g') {
24155 				if (yych <= '`') goto yy3;
24156 				goto yy151;
24157 			} else {
24158 				if (yych <= 'h') goto yy1267;
24159 				if (yych <= 'z') goto yy151;
24160 				goto yy3;
24161 			}
24162 		}
24163 	}
24164 yy1514:
24165 	YYDEBUG(1514, *YYCURSOR);
24166 	yyaccept = 0;
24167 	yych = *(YYMARKER = ++YYCURSOR);
24168 	if (yych <= 'S') {
24169 		if (yych <= '-') {
24170 			if (yych == ')') goto yy139;
24171 			if (yych <= ',') goto yy3;
24172 			goto yy147;
24173 		} else {
24174 			if (yych == '/') goto yy147;
24175 			if (yych <= '@') goto yy3;
24176 			goto yy142;
24177 		}
24178 	} else {
24179 		if (yych <= '_') {
24180 			if (yych <= 'T') goto yy1428;
24181 			if (yych <= 'Z') goto yy142;
24182 			if (yych <= '^') goto yy3;
24183 			goto yy147;
24184 		} else {
24185 			if (yych <= 's') {
24186 				if (yych <= '`') goto yy3;
24187 				goto yy150;
24188 			} else {
24189 				if (yych <= 't') goto yy1460;
24190 				if (yych <= 'z') goto yy150;
24191 				goto yy3;
24192 			}
24193 		}
24194 	}
24195 yy1515:
24196 	YYDEBUG(1515, *YYCURSOR);
24197 	yyaccept = 31;
24198 	yych = *(YYMARKER = ++YYCURSOR);
24199 	if (yych <= '/') {
24200 		if (yych <= ',') {
24201 			if (yych == ')') goto yy139;
24202 			goto yy1500;
24203 		} else {
24204 			if (yych == '.') goto yy1500;
24205 			goto yy147;
24206 		}
24207 	} else {
24208 		if (yych <= '^') {
24209 			if (yych <= '@') goto yy1500;
24210 			if (yych <= 'Z') goto yy142;
24211 			goto yy1500;
24212 		} else {
24213 			if (yych <= '_') goto yy147;
24214 			if (yych <= '`') goto yy1500;
24215 			if (yych <= 'z') goto yy150;
24216 			goto yy1500;
24217 		}
24218 	}
24219 yy1516:
24220 	YYDEBUG(1516, *YYCURSOR);
24221 	yyaccept = 0;
24222 	yych = *(YYMARKER = ++YYCURSOR);
24223 	if (yych <= 'M') {
24224 		if (yych <= '-') {
24225 			if (yych == ')') goto yy139;
24226 			if (yych <= ',') goto yy3;
24227 			goto yy147;
24228 		} else {
24229 			if (yych == '/') goto yy147;
24230 			if (yych <= '@') goto yy3;
24231 			goto yy142;
24232 		}
24233 	} else {
24234 		if (yych <= '_') {
24235 			if (yych <= 'N') goto yy1507;
24236 			if (yych <= 'Z') goto yy142;
24237 			if (yych <= '^') goto yy3;
24238 			goto yy147;
24239 		} else {
24240 			if (yych <= 'm') {
24241 				if (yych <= '`') goto yy3;
24242 				goto yy150;
24243 			} else {
24244 				if (yych <= 'n') goto yy1522;
24245 				if (yych <= 'z') goto yy150;
24246 				goto yy3;
24247 			}
24248 		}
24249 	}
24250 yy1517:
24251 	YYDEBUG(1517, *YYCURSOR);
24252 	yyaccept = 5;
24253 	yych = *(YYMARKER = ++YYCURSOR);
24254 	if (yych <= '9') {
24255 		if (yych <= '(') {
24256 			if (yych <= '\t') {
24257 				if (yych <= 0x08) goto yy193;
24258 				goto yy195;
24259 			} else {
24260 				if (yych == ' ') goto yy195;
24261 				goto yy193;
24262 			}
24263 		} else {
24264 			if (yych <= '-') {
24265 				if (yych <= ')') goto yy139;
24266 				if (yych <= ',') goto yy193;
24267 				goto yy371;
24268 			} else {
24269 				if (yych == '/') goto yy147;
24270 				goto yy195;
24271 			}
24272 		}
24273 	} else {
24274 		if (yych <= '^') {
24275 			if (yych <= 'D') {
24276 				if (yych <= '@') goto yy193;
24277 				goto yy142;
24278 			} else {
24279 				if (yych <= 'E') goto yy1503;
24280 				if (yych <= 'Z') goto yy142;
24281 				goto yy193;
24282 			}
24283 		} else {
24284 			if (yych <= 'd') {
24285 				if (yych <= '_') goto yy147;
24286 				if (yych <= '`') goto yy193;
24287 				goto yy150;
24288 			} else {
24289 				if (yych <= 'e') goto yy1518;
24290 				if (yych <= 'z') goto yy150;
24291 				goto yy193;
24292 			}
24293 		}
24294 	}
24295 yy1518:
24296 	YYDEBUG(1518, *YYCURSOR);
24297 	yyaccept = 0;
24298 	yych = *(YYMARKER = ++YYCURSOR);
24299 	if (yych <= 'L') {
24300 		if (yych <= '-') {
24301 			if (yych == ')') goto yy139;
24302 			if (yych <= ',') goto yy3;
24303 			goto yy147;
24304 		} else {
24305 			if (yych == '/') goto yy147;
24306 			if (yych <= '@') goto yy3;
24307 			goto yy143;
24308 		}
24309 	} else {
24310 		if (yych <= '_') {
24311 			if (yych <= 'M') goto yy1504;
24312 			if (yych <= 'Z') goto yy143;
24313 			if (yych <= '^') goto yy3;
24314 			goto yy147;
24315 		} else {
24316 			if (yych <= 'l') {
24317 				if (yych <= '`') goto yy3;
24318 				goto yy151;
24319 			} else {
24320 				if (yych <= 'm') goto yy1519;
24321 				if (yych <= 'z') goto yy151;
24322 				goto yy3;
24323 			}
24324 		}
24325 	}
24326 yy1519:
24327 	YYDEBUG(1519, *YYCURSOR);
24328 	yyaccept = 0;
24329 	yych = *(YYMARKER = ++YYCURSOR);
24330 	if (yych <= 'A') {
24331 		if (yych <= '-') {
24332 			if (yych == ')') goto yy139;
24333 			if (yych <= ',') goto yy3;
24334 			goto yy147;
24335 		} else {
24336 			if (yych == '/') goto yy147;
24337 			if (yych <= '@') goto yy3;
24338 			goto yy144;
24339 		}
24340 	} else {
24341 		if (yych <= '_') {
24342 			if (yych <= 'B') goto yy1505;
24343 			if (yych <= 'Z') goto yy144;
24344 			if (yych <= '^') goto yy3;
24345 			goto yy147;
24346 		} else {
24347 			if (yych <= 'a') {
24348 				if (yych <= '`') goto yy3;
24349 				goto yy152;
24350 			} else {
24351 				if (yych <= 'b') goto yy1520;
24352 				if (yych <= 'z') goto yy152;
24353 				goto yy3;
24354 			}
24355 		}
24356 	}
24357 yy1520:
24358 	YYDEBUG(1520, *YYCURSOR);
24359 	yyaccept = 0;
24360 	yych = *(YYMARKER = ++YYCURSOR);
24361 	if (yych <= 'D') {
24362 		if (yych <= ',') {
24363 			if (yych == ')') goto yy139;
24364 			goto yy3;
24365 		} else {
24366 			if (yych == '.') goto yy3;
24367 			if (yych <= '/') goto yy147;
24368 			goto yy3;
24369 		}
24370 	} else {
24371 		if (yych <= '`') {
24372 			if (yych <= 'E') goto yy1506;
24373 			if (yych == '_') goto yy147;
24374 			goto yy3;
24375 		} else {
24376 			if (yych == 'e') goto yy1521;
24377 			if (yych <= 'z') goto yy153;
24378 			goto yy3;
24379 		}
24380 	}
24381 yy1521:
24382 	YYDEBUG(1521, *YYCURSOR);
24383 	yych = *++YYCURSOR;
24384 	if (yych == 'R') goto yy205;
24385 	if (yych == 'r') goto yy376;
24386 	goto yy154;
24387 yy1522:
24388 	YYDEBUG(1522, *YYCURSOR);
24389 	yyaccept = 32;
24390 	yych = *(YYMARKER = ++YYCURSOR);
24391 	if (yych <= '/') {
24392 		if (yych <= ',') {
24393 			if (yych == ')') goto yy139;
24394 			goto yy1508;
24395 		} else {
24396 			if (yych == '.') goto yy1508;
24397 			goto yy147;
24398 		}
24399 	} else {
24400 		if (yych <= '^') {
24401 			if (yych <= '@') goto yy1508;
24402 			if (yych <= 'Z') goto yy143;
24403 			goto yy1508;
24404 		} else {
24405 			if (yych <= '_') goto yy147;
24406 			if (yych <= '`') goto yy1508;
24407 			if (yych <= 'z') goto yy151;
24408 			goto yy1508;
24409 		}
24410 	}
24411 yy1523:
24412 	YYDEBUG(1523, *YYCURSOR);
24413 	yych = *++YYCURSOR;
24414 	if (yych <= 'S') {
24415 		if (yych <= ')') {
24416 			if (yych <= '(') goto yy3;
24417 			goto yy139;
24418 		} else {
24419 			if (yych <= '@') goto yy3;
24420 			if (yych <= 'R') goto yy141;
24421 		}
24422 	} else {
24423 		if (yych <= 'r') {
24424 			if (yych <= 'Z') goto yy141;
24425 			if (yych <= '`') goto yy3;
24426 			goto yy141;
24427 		} else {
24428 			if (yych <= 's') goto yy1524;
24429 			if (yych <= 'z') goto yy141;
24430 			goto yy3;
24431 		}
24432 	}
24433 yy1524:
24434 	YYDEBUG(1524, *YYCURSOR);
24435 	yych = *++YYCURSOR;
24436 	if (yych <= 'T') {
24437 		if (yych <= ')') {
24438 			if (yych <= '(') goto yy3;
24439 			goto yy139;
24440 		} else {
24441 			if (yych <= '@') goto yy3;
24442 			if (yych <= 'S') goto yy142;
24443 		}
24444 	} else {
24445 		if (yych <= 's') {
24446 			if (yych <= 'Z') goto yy142;
24447 			if (yych <= '`') goto yy3;
24448 			goto yy142;
24449 		} else {
24450 			if (yych <= 't') goto yy1525;
24451 			if (yych <= 'z') goto yy142;
24452 			goto yy3;
24453 		}
24454 	}
24455 yy1525:
24456 	YYDEBUG(1525, *YYCURSOR);
24457 	yych = *++YYCURSOR;
24458 	if (yych <= 'E') {
24459 		if (yych <= ')') {
24460 			if (yych <= '(') goto yy3;
24461 			goto yy139;
24462 		} else {
24463 			if (yych <= '@') goto yy3;
24464 			if (yych <= 'D') goto yy143;
24465 		}
24466 	} else {
24467 		if (yych <= 'd') {
24468 			if (yych <= 'Z') goto yy143;
24469 			if (yych <= '`') goto yy3;
24470 			goto yy143;
24471 		} else {
24472 			if (yych <= 'e') goto yy1526;
24473 			if (yych <= 'z') goto yy143;
24474 			goto yy3;
24475 		}
24476 	}
24477 yy1526:
24478 	YYDEBUG(1526, *YYCURSOR);
24479 	yych = *++YYCURSOR;
24480 	if (yych <= 'R') {
24481 		if (yych <= ')') {
24482 			if (yych <= '(') goto yy3;
24483 			goto yy139;
24484 		} else {
24485 			if (yych <= '@') goto yy3;
24486 			if (yych <= 'Q') goto yy144;
24487 		}
24488 	} else {
24489 		if (yych <= 'q') {
24490 			if (yych <= 'Z') goto yy144;
24491 			if (yych <= '`') goto yy3;
24492 			goto yy144;
24493 		} else {
24494 			if (yych <= 'r') goto yy1527;
24495 			if (yych <= 'z') goto yy144;
24496 			goto yy3;
24497 		}
24498 	}
24499 yy1527:
24500 	YYDEBUG(1527, *YYCURSOR);
24501 	yyaccept = 0;
24502 	yych = *(YYMARKER = ++YYCURSOR);
24503 	if (yych <= 'C') {
24504 		if (yych == ')') goto yy139;
24505 		goto yy3;
24506 	} else {
24507 		if (yych <= 'D') goto yy1528;
24508 		if (yych != 'd') goto yy3;
24509 	}
24510 yy1528:
24511 	YYDEBUG(1528, *YYCURSOR);
24512 	yych = *++YYCURSOR;
24513 	if (yych == 'A') goto yy1529;
24514 	if (yych != 'a') goto yy56;
24515 yy1529:
24516 	YYDEBUG(1529, *YYCURSOR);
24517 	yych = *++YYCURSOR;
24518 	if (yych == 'Y') goto yy1530;
24519 	if (yych != 'y') goto yy56;
24520 yy1530:
24521 	YYDEBUG(1530, *YYCURSOR);
24522 	++YYCURSOR;
24523 yy1531:
24524 	YYDEBUG(1531, *YYCURSOR);
24525 #line 945 "ext/date/lib/parse_date.re"
24526 	{
24527 		DEBUG_OUTPUT("yesterday");
24528 		TIMELIB_INIT;
24529 		TIMELIB_HAVE_RELATIVE();
24530 		TIMELIB_UNHAVE_TIME();
24531 
24532 		s->time->relative.d = -1;
24533 		TIMELIB_DEINIT;
24534 		return TIMELIB_RELATIVE;
24535 	}
24536 #line 24537 "ext/date/lib/parse_date.c"
24537 yy1532:
24538 	YYDEBUG(1532, *YYCURSOR);
24539 	yyaccept = 0;
24540 	yych = *(YYMARKER = ++YYCURSOR);
24541 	if (yych <= 'R') {
24542 		if (yych <= '-') {
24543 			if (yych == ')') goto yy139;
24544 			if (yych <= ',') goto yy3;
24545 			goto yy147;
24546 		} else {
24547 			if (yych == '/') goto yy147;
24548 			if (yych <= '@') goto yy3;
24549 			goto yy141;
24550 		}
24551 	} else {
24552 		if (yych <= '_') {
24553 			if (yych <= 'S') goto yy1524;
24554 			if (yych <= 'Z') goto yy141;
24555 			if (yych <= '^') goto yy3;
24556 			goto yy147;
24557 		} else {
24558 			if (yych <= 'r') {
24559 				if (yych <= '`') goto yy3;
24560 				goto yy146;
24561 			} else {
24562 				if (yych <= 's') goto yy1533;
24563 				if (yych <= 'z') goto yy146;
24564 				goto yy3;
24565 			}
24566 		}
24567 	}
24568 yy1533:
24569 	YYDEBUG(1533, *YYCURSOR);
24570 	yyaccept = 0;
24571 	yych = *(YYMARKER = ++YYCURSOR);
24572 	if (yych <= 'S') {
24573 		if (yych <= '-') {
24574 			if (yych == ')') goto yy139;
24575 			if (yych <= ',') goto yy3;
24576 			goto yy147;
24577 		} else {
24578 			if (yych == '/') goto yy147;
24579 			if (yych <= '@') goto yy3;
24580 			goto yy142;
24581 		}
24582 	} else {
24583 		if (yych <= '_') {
24584 			if (yych <= 'T') goto yy1525;
24585 			if (yych <= 'Z') goto yy142;
24586 			if (yych <= '^') goto yy3;
24587 			goto yy147;
24588 		} else {
24589 			if (yych <= 's') {
24590 				if (yych <= '`') goto yy3;
24591 				goto yy150;
24592 			} else {
24593 				if (yych <= 't') goto yy1534;
24594 				if (yych <= 'z') goto yy150;
24595 				goto yy3;
24596 			}
24597 		}
24598 	}
24599 yy1534:
24600 	YYDEBUG(1534, *YYCURSOR);
24601 	yyaccept = 0;
24602 	yych = *(YYMARKER = ++YYCURSOR);
24603 	if (yych <= 'D') {
24604 		if (yych <= '-') {
24605 			if (yych == ')') goto yy139;
24606 			if (yych <= ',') goto yy3;
24607 			goto yy147;
24608 		} else {
24609 			if (yych == '/') goto yy147;
24610 			if (yych <= '@') goto yy3;
24611 			goto yy143;
24612 		}
24613 	} else {
24614 		if (yych <= '_') {
24615 			if (yych <= 'E') goto yy1526;
24616 			if (yych <= 'Z') goto yy143;
24617 			if (yych <= '^') goto yy3;
24618 			goto yy147;
24619 		} else {
24620 			if (yych <= 'd') {
24621 				if (yych <= '`') goto yy3;
24622 				goto yy151;
24623 			} else {
24624 				if (yych <= 'e') goto yy1535;
24625 				if (yych <= 'z') goto yy151;
24626 				goto yy3;
24627 			}
24628 		}
24629 	}
24630 yy1535:
24631 	YYDEBUG(1535, *YYCURSOR);
24632 	yyaccept = 0;
24633 	yych = *(YYMARKER = ++YYCURSOR);
24634 	if (yych <= 'Q') {
24635 		if (yych <= '-') {
24636 			if (yych == ')') goto yy139;
24637 			if (yych <= ',') goto yy3;
24638 			goto yy147;
24639 		} else {
24640 			if (yych == '/') goto yy147;
24641 			if (yych <= '@') goto yy3;
24642 			goto yy144;
24643 		}
24644 	} else {
24645 		if (yych <= '_') {
24646 			if (yych <= 'R') goto yy1527;
24647 			if (yych <= 'Z') goto yy144;
24648 			if (yych <= '^') goto yy3;
24649 			goto yy147;
24650 		} else {
24651 			if (yych <= 'q') {
24652 				if (yych <= '`') goto yy3;
24653 				goto yy152;
24654 			} else {
24655 				if (yych <= 'r') goto yy1536;
24656 				if (yych <= 'z') goto yy152;
24657 				goto yy3;
24658 			}
24659 		}
24660 	}
24661 yy1536:
24662 	YYDEBUG(1536, *YYCURSOR);
24663 	yyaccept = 0;
24664 	yych = *(YYMARKER = ++YYCURSOR);
24665 	if (yych <= 'C') {
24666 		if (yych <= ',') {
24667 			if (yych == ')') goto yy139;
24668 			goto yy3;
24669 		} else {
24670 			if (yych == '.') goto yy3;
24671 			if (yych <= '/') goto yy147;
24672 			goto yy3;
24673 		}
24674 	} else {
24675 		if (yych <= '`') {
24676 			if (yych <= 'D') goto yy1528;
24677 			if (yych == '_') goto yy147;
24678 			goto yy3;
24679 		} else {
24680 			if (yych == 'd') goto yy1537;
24681 			if (yych <= 'z') goto yy153;
24682 			goto yy3;
24683 		}
24684 	}
24685 yy1537:
24686 	YYDEBUG(1537, *YYCURSOR);
24687 	yych = *++YYCURSOR;
24688 	if (yych == 'A') goto yy1529;
24689 	if (yych != 'a') goto yy154;
24690 	YYDEBUG(1538, *YYCURSOR);
24691 	yych = *++YYCURSOR;
24692 	if (yych == 'Y') goto yy1530;
24693 	if (yych != 'y') goto yy154;
24694 	YYDEBUG(1539, *YYCURSOR);
24695 	yyaccept = 33;
24696 	yych = *(YYMARKER = ++YYCURSOR);
24697 	if (yybm[0+yych] & 16) {
24698 		goto yy153;
24699 	}
24700 	if (yych <= '.') {
24701 		if (yych == '-') goto yy147;
24702 		goto yy1531;
24703 	} else {
24704 		if (yych <= '/') goto yy147;
24705 		if (yych == '_') goto yy147;
24706 		goto yy1531;
24707 	}
24708 }
24709 #line 1719 "ext/date/lib/parse_date.re"
24710 
24711 }
24712 
24713 #define YYMAXFILL 31
24714 
timelib_strtotime(char * s,int len,struct timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)24715 timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
24716 {
24717 	Scanner in;
24718 	int t;
24719 	char *e = s + len - 1;
24720 
24721 	memset(&in, 0, sizeof(in));
24722 	in.errors = malloc(sizeof(struct timelib_error_container));
24723 	in.errors->warning_count = 0;
24724 	in.errors->warning_messages = NULL;
24725 	in.errors->error_count = 0;
24726 	in.errors->error_messages = NULL;
24727 
24728 	if (len > 0) {
24729 		while (isspace(*s) && s < e) {
24730 			s++;
24731 		}
24732 		while (isspace(*e) && e > s) {
24733 			e--;
24734 		}
24735 	}
24736 	if (e - s < 0) {
24737 		in.time = timelib_time_ctor();
24738 		add_error(&in, "Empty string");
24739 		if (errors) {
24740 			*errors = in.errors;
24741 		} else {
24742 			timelib_error_container_dtor(in.errors);
24743 		}
24744 		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;
24745 		in.time->is_localtime = in.time->zone_type = 0;
24746 		return in.time;
24747 	}
24748 	e++;
24749 
24750 	in.str = malloc((e - s) + YYMAXFILL);
24751 	memset(in.str, 0, (e - s) + YYMAXFILL);
24752 	memcpy(in.str, s, (e - s));
24753 	in.lim = in.str + (e - s) + YYMAXFILL;
24754 	in.cur = in.str;
24755 	in.time = timelib_time_ctor();
24756 	in.time->y = TIMELIB_UNSET;
24757 	in.time->d = TIMELIB_UNSET;
24758 	in.time->m = TIMELIB_UNSET;
24759 	in.time->h = TIMELIB_UNSET;
24760 	in.time->i = TIMELIB_UNSET;
24761 	in.time->s = TIMELIB_UNSET;
24762 	in.time->f = TIMELIB_UNSET;
24763 	in.time->z = TIMELIB_UNSET;
24764 	in.time->dst = TIMELIB_UNSET;
24765 	in.tzdb = tzdb;
24766 	in.time->is_localtime = 0;
24767 	in.time->zone_type = 0;
24768 	in.time->relative.days = TIMELIB_UNSET;
24769 
24770 	do {
24771 		t = scan(&in, tz_get_wrapper);
24772 #ifdef DEBUG_PARSER
24773 		printf("%d\n", t);
24774 #endif
24775 	} while(t != EOI);
24776 
24777 	/* do funky checking whether the parsed time was valid time */
24778 	if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
24779 		add_warning(&in, "The parsed time was invalid");
24780 	}
24781 	/* do funky checking whether the parsed date was valid date */
24782 	if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
24783 		add_warning(&in, "The parsed date was invalid");
24784 	}
24785 
24786 	free(in.str);
24787 	if (errors) {
24788 		*errors = in.errors;
24789 	} else {
24790 		timelib_error_container_dtor(in.errors);
24791 	}
24792 	return in.time;
24793 }
24794 
24795 #define TIMELIB_CHECK_NUMBER                                           \
24796 		if (strchr("0123456789", *ptr) == NULL)                        \
24797 		{                                                              \
24798 			add_pbf_error(s, "Unexpected data found.", string, begin); \
24799 		}
24800 
timelib_time_reset_fields(timelib_time * time)24801 static void timelib_time_reset_fields(timelib_time *time)
24802 {
24803 	assert(time != NULL);
24804 
24805 	time->y = 1970;
24806 	time->m = 1;
24807 	time->d = 1;
24808 	time->h = time->i = time->s = 0;
24809 	time->f = 0.0;
24810 	time->tz_info = NULL;
24811 }
24812 
timelib_time_reset_unset_fields(timelib_time * time)24813 static void timelib_time_reset_unset_fields(timelib_time *time)
24814 {
24815 	assert(time != NULL);
24816 
24817 	if (time->y == TIMELIB_UNSET ) time->y = 1970;
24818 	if (time->m == TIMELIB_UNSET ) time->m = 1;
24819 	if (time->d == TIMELIB_UNSET ) time->d = 1;
24820 	if (time->h == TIMELIB_UNSET ) time->h = 0;
24821 	if (time->i == TIMELIB_UNSET ) time->i = 0;
24822 	if (time->s == TIMELIB_UNSET ) time->s = 0;
24823 	if (time->f == TIMELIB_UNSET ) time->f = 0.0;
24824 }
24825 
timelib_parse_from_format(char * format,char * string,int len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)24826 timelib_time *timelib_parse_from_format(char *format, char *string, int len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
24827 {
24828 	char       *fptr = format;
24829 	char       *ptr = string;
24830 	char       *begin;
24831 	timelib_sll tmp;
24832 	Scanner in;
24833 	Scanner *s = &in;
24834 	int allow_extra = 0;
24835 
24836 	memset(&in, 0, sizeof(in));
24837 	in.errors = malloc(sizeof(struct timelib_error_container));
24838 	in.errors->warning_count = 0;
24839 	in.errors->warning_messages = NULL;
24840 	in.errors->error_count = 0;
24841 	in.errors->error_messages = NULL;
24842 
24843 	in.time = timelib_time_ctor();
24844 	in.time->y = TIMELIB_UNSET;
24845 	in.time->d = TIMELIB_UNSET;
24846 	in.time->m = TIMELIB_UNSET;
24847 	in.time->h = TIMELIB_UNSET;
24848 	in.time->i = TIMELIB_UNSET;
24849 	in.time->s = TIMELIB_UNSET;
24850 	in.time->f = TIMELIB_UNSET;
24851 	in.time->z = TIMELIB_UNSET;
24852 	in.time->dst = TIMELIB_UNSET;
24853 	in.tzdb = tzdb;
24854 	in.time->is_localtime = 0;
24855 	in.time->zone_type = 0;
24856 
24857 	/* Loop over the format string */
24858 	while (*fptr && *ptr) {
24859 		begin = ptr;
24860 		switch (*fptr) {
24861 			case 'D': /* three letter day */
24862 			case 'l': /* full day */
24863 				{
24864 					const timelib_relunit* tmprel = 0;
24865 
24866 					tmprel = timelib_lookup_relunit((char **) &ptr);
24867 					if (!tmprel) {
24868 						add_pbf_error(s, "A textual day could not be found", string, begin);
24869 						break;
24870 					} else {
24871 						in.time->have_relative = 1;
24872 						in.time->relative.have_weekday_relative = 1;
24873 						in.time->relative.weekday = tmprel->multiplier;
24874 						in.time->relative.weekday_behavior = 1;
24875 					}
24876 				}
24877 				break;
24878 			case 'd': /* two digit day, with leading zero */
24879 			case 'j': /* two digit day, without leading zero */
24880 				TIMELIB_CHECK_NUMBER;
24881 				if ((s->time->d = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
24882 					add_pbf_error(s, "A two digit day could not be found", string, begin);
24883 				}
24884 				break;
24885 			case 'S': /* day suffix, ignored, nor checked */
24886 				timelib_skip_day_suffix((char **) &ptr);
24887 				break;
24888 			case 'z': /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */
24889 				TIMELIB_CHECK_NUMBER;
24890 				if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) {
24891 					add_pbf_error(s, "A three digit day-of-year could not be found", string, begin);
24892 				} else {
24893 					s->time->m = 1;
24894 					s->time->d = tmp + 1;
24895 					timelib_do_normalize(s->time);
24896 				}
24897 				break;
24898 
24899 			case 'm': /* two digit month, with leading zero */
24900 			case 'n': /* two digit month, without leading zero */
24901 				TIMELIB_CHECK_NUMBER;
24902 				if ((s->time->m = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
24903 					add_pbf_error(s, "A two digit month could not be found", string, begin);
24904 				}
24905 				break;
24906 			case 'M': /* three letter month */
24907 			case 'F': /* full month */
24908 				tmp = timelib_lookup_month((char **) &ptr);
24909 				if (!tmp) {
24910 					add_pbf_error(s, "A textual month could not be found", string, begin);
24911 				} else {
24912 					s->time->m = tmp;
24913 				}
24914 				break;
24915 			case 'y': /* two digit year */
24916 				{
24917 					int length = 0;
24918 					TIMELIB_CHECK_NUMBER;
24919 					if ((s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length)) == TIMELIB_UNSET) {
24920 						add_pbf_error(s, "A two digit year could not be found", string, begin);
24921 					}
24922 					TIMELIB_PROCESS_YEAR(s->time->y, length);
24923 				}
24924 				break;
24925 			case 'Y': /* four digit year */
24926 				TIMELIB_CHECK_NUMBER;
24927 				if ((s->time->y = timelib_get_nr((char **) &ptr, 4)) == TIMELIB_UNSET) {
24928 					add_pbf_error(s, "A four digit year could not be found", string, begin);
24929 				}
24930 				break;
24931 			case 'g': /* two digit hour, with leading zero */
24932 			case 'h': /* two digit hour, without leading zero */
24933 				TIMELIB_CHECK_NUMBER;
24934 				if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
24935 					add_pbf_error(s, "A two digit hour could not be found", string, begin);
24936 				}
24937 				if (s->time->h > 12) {
24938 					add_pbf_error(s, "Hour can not be higher than 12", string, begin);
24939 				}
24940 				break;
24941 			case 'G': /* two digit hour, with leading zero */
24942 			case 'H': /* two digit hour, without leading zero */
24943 				TIMELIB_CHECK_NUMBER;
24944 				if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
24945 					add_pbf_error(s, "A two digit hour could not be found", string, begin);
24946 				}
24947 				break;
24948 			case 'a': /* am/pm/a.m./p.m. */
24949 			case 'A': /* AM/PM/A.M./P.M. */
24950 				if (s->time->h == TIMELIB_UNSET) {
24951 					add_pbf_error(s, "Meridian can only come after an hour has been found", string, begin);
24952 				} else if ((tmp = timelib_meridian_with_check((char **) &ptr, s->time->h)) == TIMELIB_UNSET) {
24953 					add_pbf_error(s, "A meridian could not be found", string, begin);
24954 				} else {
24955 					s->time->h += tmp;
24956 				}
24957 				break;
24958 			case 'i': /* two digit minute, with leading zero */
24959 				{
24960 					int length;
24961 					timelib_sll min;
24962 
24963 					TIMELIB_CHECK_NUMBER;
24964 					min = timelib_get_nr_ex((char **) &ptr, 2, &length);
24965 					if (min == TIMELIB_UNSET || length != 2) {
24966 						add_pbf_error(s, "A two digit minute could not be found", string, begin);
24967 					} else {
24968 						s->time->i = min;
24969 					}
24970 				}
24971 				break;
24972 			case 's': /* two digit second, with leading zero */
24973 				{
24974 					int length;
24975 					timelib_sll sec;
24976 
24977 					TIMELIB_CHECK_NUMBER;
24978 					sec = timelib_get_nr_ex((char **) &ptr, 2, &length);
24979 					if (sec == TIMELIB_UNSET || length != 2) {
24980 						add_pbf_error(s, "A two digit second could not be found", string, begin);
24981 					} else {
24982 						s->time->s = sec;
24983 					}
24984 				}
24985 				break;
24986 			case 'u': /* up to six digit millisecond */
24987 				{
24988 					double f;
24989 					char *tptr;
24990 
24991 					TIMELIB_CHECK_NUMBER;
24992 					tptr = ptr;
24993 					if ((f = timelib_get_nr((char **) &ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
24994 						add_pbf_error(s, "A six digit millisecond could not be found", string, begin);
24995 					} else {
24996 						s->time->f = (f / pow(10, (ptr - tptr)));
24997 					}
24998 				}
24999 				break;
25000 			case ' ': /* any sort of whitespace (' ' and \t) */
25001 				timelib_eat_spaces((char **) &ptr);
25002 				break;
25003 			case 'U': /* epoch seconds */
25004 				TIMELIB_CHECK_NUMBER;
25005 				TIMELIB_HAVE_RELATIVE();
25006 				tmp = timelib_get_unsigned_nr((char **) &ptr, 24);
25007 				s->time->y = 1970;
25008 				s->time->m = 1;
25009 				s->time->d = 1;
25010 				s->time->h = s->time->i = s->time->s = 0;
25011 				s->time->f = 0.0;
25012 				s->time->relative.s += tmp;
25013 				s->time->is_localtime = 1;
25014 				s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
25015 				s->time->z = 0;
25016 				s->time->dst = 0;
25017 				break;
25018 
25019 			case 'e': /* timezone */
25020 			case 'P': /* timezone */
25021 			case 'T': /* timezone */
25022 			case 'O': /* timezone */
25023 				{
25024 					int tz_not_found;
25025 					s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
25026 					if (tz_not_found) {
25027 						add_pbf_error(s, "The timezone could not be found in the database", string, begin);
25028 					}
25029 				}
25030 				break;
25031 
25032 			case '#': /* separation symbol */
25033 				if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-' || *ptr == '(' || *ptr == ')') {
25034 					++ptr;
25035 				} else {
25036 					add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin);
25037 				}
25038 				break;
25039 
25040 			case ';':
25041 			case ':':
25042 			case '/':
25043 			case '.':
25044 			case ',':
25045 			case '-':
25046 			case '(':
25047 			case ')':
25048 				if (*ptr == *fptr) {
25049 					++ptr;
25050 				} else {
25051 					add_pbf_error(s, "The separation symbol could not be found", string, begin);
25052 				}
25053 				break;
25054 
25055 			case '!': /* reset all fields to default */
25056 				timelib_time_reset_fields(s->time);
25057 				break; /* break intentionally not missing */
25058 
25059 			case '|': /* reset all fields to default when not set */
25060 				timelib_time_reset_unset_fields(s->time);
25061 				break; /* break intentionally not missing */
25062 
25063 			case '?': /* random char */
25064 				++ptr;
25065 				break;
25066 
25067 			case '\\': /* escaped char */
25068 				if(!fptr[1]) {
25069 					add_pbf_error(s, "Escaped character expected", string, begin);
25070 					break;
25071 				}
25072 				fptr++;
25073 				if (*ptr == *fptr) {
25074 					++ptr;
25075 				} else {
25076 					add_pbf_error(s, "The escaped character could not be found", string, begin);
25077 				}
25078 				break;
25079 
25080 			case '*': /* random chars until a separator or number ([ \t.,:;/-0123456789]) */
25081 				timelib_eat_until_separator((char **) &ptr);
25082 				break;
25083 
25084 			case '+': /* allow extra chars in the format */
25085 				allow_extra = 1;
25086 				break;
25087 
25088 			default:
25089 				if (*fptr != *ptr) {
25090 					add_pbf_error(s, "The format separator does not match", string, begin);
25091 				}
25092 				ptr++;
25093 		}
25094 		fptr++;
25095 	}
25096 	if (*ptr) {
25097 		if (allow_extra) {
25098 			add_pbf_warning(s, "Trailing data", string, ptr);
25099 		} else {
25100 			add_pbf_error(s, "Trailing data", string, ptr);
25101 		}
25102 	}
25103 	/* ignore trailing +'s */
25104 	while (*fptr == '+') {
25105 		fptr++;
25106 	}
25107 	if (*fptr) {
25108 		/* Trailing | and ! specifiers are valid. */
25109 		int done = 0;
25110 		while (*fptr && !done) {
25111 			switch (*fptr++) {
25112 				case '!': /* reset all fields to default */
25113 					timelib_time_reset_fields(s->time);
25114 					break;
25115 
25116 				case '|': /* reset all fields to default when not set */
25117 					timelib_time_reset_unset_fields(s->time);
25118 					break;
25119 
25120 				default:
25121 					add_pbf_error(s, "Data missing", string, ptr);
25122 					done = 1;
25123 			}
25124 		}
25125 	}
25126 
25127 	/* clean up a bit */
25128 	if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET) {
25129 		if (s->time->h == TIMELIB_UNSET ) {
25130 			s->time->h = 0;
25131 		}
25132 		if (s->time->i == TIMELIB_UNSET ) {
25133 			s->time->i = 0;
25134 		}
25135 		if (s->time->s == TIMELIB_UNSET ) {
25136 			s->time->s = 0;
25137 		}
25138 	}
25139 
25140 	/* do funky checking whether the parsed time was valid time */
25141 	if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
25142 		s->time->s != TIMELIB_UNSET &&
25143 		!timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
25144 		add_pbf_warning(s, "The parsed time was invalid", string, ptr);
25145 	}
25146 	/* do funky checking whether the parsed date was valid date */
25147 	if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
25148 		s->time->d != TIMELIB_UNSET &&
25149 		!timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
25150 		add_pbf_warning(s, "The parsed date was invalid", string, ptr);
25151 	}
25152 
25153 	if (errors) {
25154 		*errors = in.errors;
25155 	} else {
25156 		timelib_error_container_dtor(in.errors);
25157 	}
25158 	return in.time;
25159 }
25160 
timelib_fill_holes(timelib_time * parsed,timelib_time * now,int options)25161 void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
25162 {
25163 	if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
25164 		parsed->h = 0;
25165 		parsed->i = 0;
25166 		parsed->s = 0;
25167 		parsed->f = 0;
25168 	}
25169 	if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
25170 	if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
25171 	if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
25172 	if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
25173 	if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
25174 	if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
25175 	if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0;
25176 	if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
25177 	if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
25178 
25179 	if (!parsed->tz_abbr) {
25180 		parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL;
25181 	}
25182 	if (!parsed->tz_info) {
25183 		parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
25184 	}
25185 	if (parsed->zone_type == 0 && now->zone_type != 0) {
25186 		parsed->zone_type = now->zone_type;
25187 /*		parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL;
25188 		parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
25189 */		parsed->is_localtime = 1;
25190 	}
25191 /*	timelib_dump_date(parsed, 2);
25192 	timelib_dump_date(now, 2);
25193 */
25194 }
25195 
timelib_timezone_id_from_abbr(const char * abbr,long gmtoffset,int isdst)25196 char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst)
25197 {
25198 	const timelib_tz_lookup_table *tp;
25199 
25200 	tp = abbr_search(abbr, gmtoffset, isdst);
25201 	if (tp) {
25202 		return (tp->full_tz_name);
25203 	} else {
25204 		return NULL;
25205 	}
25206 }
25207 
timelib_timezone_abbreviations_list(void)25208 const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void)
25209 {
25210 	return timelib_timezone_lookup;
25211 }
25212 
25213 #ifdef DEBUG_PARSER_STUB
main(void)25214 int main(void)
25215 {
25216 	timelib_time time = timelib_strtotime("May 12");
25217 
25218 	printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d",
25219 		time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
25220 	if (time.have_relative) {
25221 		printf ("%3dY %3dM %3dD / %3dH %3dM %3dS",
25222 			time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s);
25223 	}
25224 	if (time.have_weekday_relative) {
25225 		printf (" / %d", time.relative.weekday);
25226 	}
25227 	if (time.have_weeknr_day) {
25228 		printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);
25229 	}
25230 	return 0;
25231 }
25232 #endif
25233 
25234 /*
25235  * vim: syntax=c
25236  */
25237